@solid-design-system/components 3.22.16 → 3.22.18
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/dist/components/es/checkbox-group.js +1 -1
- package/dist/components/es/select.js +3 -3
- package/dist/components/es/solid-components2.js +1 -1
- package/dist/components/umd/solid-components.js +5 -5
- package/dist/custom-elements.json +1 -1
- package/dist/package/components/checkbox-group/checkbox-group.js +0 -3
- package/dist/package/components/select/select.d.ts +1 -0
- package/dist/package/components/select/select.js +7 -2
- package/dist/package/translations/de.js +1 -0
- package/dist/package/translations/en.js +1 -0
- package/dist/package/utilities/localize.d.ts +1 -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/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/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 +3 -3
- package/dist/versioned-components/es/solid-components2.js +2 -2
- 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/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 -8
- 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/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 +5 -4
- package/dist/versioned-package/components/select/select.js +31 -26
- 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/styles/headline/headline.css.js +1 -1
- package/dist/versioned-package/translations/de.js +1 -0
- package/dist/versioned-package/translations/en.js +1 -0
- package/dist/versioned-package/utilities/autocomplete-config.js +4 -4
- package/dist/versioned-package/utilities/localize.d.ts +1 -0
- package/dist/versioned-styles/solid-styles.css +1 -1
- package/dist/vscode.html-custom-data.json +45 -45
- package/dist/web-types.json +46 -46
- package/package.json +2 -2
|
@@ -115,16 +115,16 @@ let SdNavigationItem = class extends SolidElement {
|
|
|
115
115
|
isAccordion ? "grow" : "w-full",
|
|
116
116
|
slots["description"] || this.separated ? "pb-1" : horizontalPaddingBottom,
|
|
117
117
|
this.calculatePaddingX
|
|
118
|
-
)}">${this.divider && this.vertical ? html`<sd-3-22-
|
|
118
|
+
)}">${this.divider && this.vertical ? html`<sd-3-22-18-divider part="divider" class="${cx("w-full transition-all absolute -top-0.25 left-0", this.calculatePaddingX)}"></sd-3-22-18-divider>` : ""} <span part="content-container" class="inline-flex items-center flex-auto">${this.separated ? html`<a class="${cx(
|
|
119
119
|
"mr-4 w-full inline-flex items-center pl-4 cursor-pointer relative focus-visible:focus-outline hover:bg-neutral-200 group transition-all min-h-[48px]",
|
|
120
120
|
!slots["description"] && "py-4"
|
|
121
|
-
)}" href="${ifDefined(isLink ? this.href : void 0)}" target="${ifDefined(isLink ? this.target : void 0)}" download="${ifDefined(isLink ? this.download : void 0)}"><slot part="content" class="inline"></slot></a>` : html`<slot part="content" class="inline"></slot>`} </span>${(this.chevron || slots["children"]) && this.vertical ? this.separated ? html`<button type="button" title="toggle-details" class="sd-interactive sd-interactive--reset" @click="${this.handleClickSummary}"><sd-3-22-
|
|
121
|
+
)}" href="${ifDefined(isLink ? this.href : void 0)}" target="${ifDefined(isLink ? this.target : void 0)}" download="${ifDefined(isLink ? this.download : void 0)}"><slot part="content" class="inline"></slot></a>` : html`<slot part="content" class="inline"></slot>`} </span>${(this.chevron || slots["children"]) && this.vertical ? this.separated ? html`<button type="button" title="toggle-details" class="sd-interactive sd-interactive--reset" @click="${this.handleClickSummary}"><sd-3-22-18-icon name="chevron-down" part="chevron" library="system" color="currentColor" class="${cx(
|
|
122
122
|
"mr-4 h-6 w-6 transition-all",
|
|
123
123
|
isAccordion || this.separated ? this.open ? "rotate-180" : "rotate-0" : "rotate-[270deg]"
|
|
124
|
-
)}"></sd-3-22-
|
|
124
|
+
)}"></sd-3-22-18-icon></button>` : html`<sd-3-22-18-icon name="chevron-down" part="chevron" library="system" color="currentColor" class="${cx(
|
|
125
125
|
"h-6 w-6 ml-2 transition-all",
|
|
126
126
|
isAccordion ? this.open ? "rotate-180" : "rotate-0" : "rotate-[270deg]"
|
|
127
|
-
)}"></sd-3-22-
|
|
127
|
+
)}"></sd-3-22-18-icon>` : ""} </span>${slots["description"] && this.vertical ? html`<slot name="description" part="description" class="${cx(
|
|
128
128
|
"inline-block text-sm text-left text-black",
|
|
129
129
|
isAccordion || this.separated ? "grow" : "w-full",
|
|
130
130
|
this.separated ? "px-4" : this.calculatePaddingX,
|
|
@@ -185,7 +185,7 @@ __decorateClass([
|
|
|
185
185
|
property({ type: Boolean, reflect: true })
|
|
186
186
|
], SdNavigationItem.prototype, "separated", 2);
|
|
187
187
|
SdNavigationItem = __decorateClass([
|
|
188
|
-
customElement("sd-3-22-
|
|
188
|
+
customElement("sd-3-22-18-navigation-item")
|
|
189
189
|
], SdNavigationItem);
|
|
190
190
|
export {
|
|
191
191
|
SdNavigationItem as default
|
|
@@ -128,7 +128,7 @@ let SdNotification = class extends SolidElement {
|
|
|
128
128
|
() => {
|
|
129
129
|
toastStack.removeChild(this);
|
|
130
130
|
resolve();
|
|
131
|
-
if (toastStack.querySelector("sd-3-22-
|
|
131
|
+
if (toastStack.querySelector("sd-3-22-18-notification") === null) {
|
|
132
132
|
toastStack.remove();
|
|
133
133
|
}
|
|
134
134
|
},
|
|
@@ -145,15 +145,15 @@ let SdNotification = class extends SolidElement {
|
|
|
145
145
|
warning: "bg-warning",
|
|
146
146
|
error: "bg-error"
|
|
147
147
|
}[this.variant]
|
|
148
|
-
)}"><sd-3-22-
|
|
148
|
+
)}"><sd-3-22-18-icon name="${{
|
|
149
149
|
info: "info-circle",
|
|
150
150
|
success: "confirm-circle",
|
|
151
151
|
warning: "exclamation-circle",
|
|
152
152
|
error: "warning"
|
|
153
|
-
}[this.variant] || ""}" library="system" class="h-6 w-6 text-white"></sd-3-22-
|
|
153
|
+
}[this.variant] || ""}" library="system" class="h-6 w-6 text-white"></sd-3-22-18-icon></slot><div part="content" class="${cx(
|
|
154
154
|
"h-full w-full p-1 gap-2 flex items-center justify-stretch bg-white",
|
|
155
155
|
"border-solid border-[1px] border-l-0 border-neutral-400"
|
|
156
|
-
)}"><slot part="message" class="block w-full pl-3 py-2" aria-live="polite"></slot>${this.closable ? html`<sd-3-22-
|
|
156
|
+
)}"><slot part="message" class="block w-full pl-3 py-2" aria-live="polite"></slot>${this.closable ? html`<sd-3-22-18-button size="md" variant="tertiary" part="close-button" class="ml-auto flex flex-[0_0_auto] items-stretch" @click="${this.handleCloseClick}"><sd-3-22-18-icon label="${this.localize.term("close")}" name="close" library="system" color="currentColor"></sd-3-22-18-icon></sd-3-22-18-button>` : ""}</div>${this.durationIndicator ? html`<div part="duration-indicator__elapsed" id="duration-indicator__elapsed" style="${`animation-duration: ${this.duration}ms`}" class="${cx(`absolute w-0 h-[2px] bottom-0 bg-primary z-10 animate-grow`)}"></div><div part="duration-indicator__total" class="w-full h-[2px] bottom-0 absolute border border-neutral-400"></div>` : ""}</div>`;
|
|
157
157
|
}
|
|
158
158
|
};
|
|
159
159
|
SdNotification.styles = [
|
|
@@ -189,7 +189,7 @@ __decorateClass([
|
|
|
189
189
|
watch("duration")
|
|
190
190
|
], SdNotification.prototype, "handleDurationChange", 1);
|
|
191
191
|
SdNotification = __decorateClass([
|
|
192
|
-
customElement("sd-3-22-
|
|
192
|
+
customElement("sd-3-22-18-notification")
|
|
193
193
|
], SdNotification);
|
|
194
194
|
setDefaultAnimation("notification.show", {
|
|
195
195
|
keyframes: [
|
|
@@ -91,7 +91,7 @@ let SdOption = class extends SolidElement {
|
|
|
91
91
|
)}"></span> ${this.checkbox ? html`<span id="control" part="control ${this.selected ? " control--checked" : "control--unchecked"}" class="${cx(
|
|
92
92
|
"relative flex flex-shrink-0 items-center justify-center border rounded-sm h-4 w-4 mr-2",
|
|
93
93
|
this.disabled ? "border-neutral-500" : this.selected ? "bg-accent border-accent" : "border-neutral-800"
|
|
94
|
-
)}">${this.selected ? html`<sd-3-22-
|
|
94
|
+
)}">${this.selected ? html`<sd-3-22-18-icon part="checked-icon" class="text-white w-3 h-3" library="system" name="status-check"></sd-3-22-18-icon>` : ""}</span>` : ""} ${slots["left"] ? html`<slot name="left" part="left" class="inline-flex mr-2"></slot>` : ""}<slot part="label" class="inline-block flex-grow" @slotchange="${this.handleDefaultSlotChange}"></slot>${slots["right"] ? html`<slot name="right" part="right" class="inline-flex ml-2"></slot>` : ""}</div>`;
|
|
95
95
|
}
|
|
96
96
|
};
|
|
97
97
|
SdOption.styles = [
|
|
@@ -133,7 +133,7 @@ __decorateClass([
|
|
|
133
133
|
watch("value")
|
|
134
134
|
], SdOption.prototype, "handleValueChange", 1);
|
|
135
135
|
SdOption = __decorateClass([
|
|
136
|
-
customElement("sd-3-22-
|
|
136
|
+
customElement("sd-3-22-18-option")
|
|
137
137
|
], SdOption);
|
|
138
138
|
export {
|
|
139
139
|
SdOption as default
|
|
@@ -328,7 +328,7 @@ __decorateClass([
|
|
|
328
328
|
property({ attribute: "auto-size-padding", type: Number })
|
|
329
329
|
], SdPopup.prototype, "autoSizePadding", 2);
|
|
330
330
|
SdPopup = __decorateClass([
|
|
331
|
-
customElement("sd-3-22-
|
|
331
|
+
customElement("sd-3-22-18-popup")
|
|
332
332
|
], SdPopup);
|
|
333
333
|
export {
|
|
334
334
|
SdPopup as default
|
|
@@ -32,7 +32,7 @@ let SdQuickfact = class extends SdAccordion {
|
|
|
32
32
|
"flex flex-grow-0 flex-shrink-0 flex-auto self-start sm:self-center transition-all ease-in-out duration-300 text-xl sm:text-4xl sm:mt-2",
|
|
33
33
|
this.open && "rotate-180",
|
|
34
34
|
!this.expandable && "hidden"
|
|
35
|
-
)}"><slot name="expand-icon" class="${cx(this.open && "hidden")}"><sd-3-22-
|
|
35
|
+
)}"><slot name="expand-icon" class="${cx(this.open && "hidden")}"><sd-3-22-18-icon library="system" name="chevron-down"></sd-3-22-18-icon></slot><slot name="collapse-icon" class="${cx(!this.open && "hidden")}"><sd-3-22-18-icon library="system" name="chevron-down"></sd-3-22-18-icon></slot></span></header><div part="content" id="content" class="${cx("overflow-hidden", !this.expandable && "hidden")}"><slot part="content__slot" class="block" role="region" aria-labelledby="header"></slot></div></div>`;
|
|
36
36
|
}
|
|
37
37
|
};
|
|
38
38
|
SdQuickfact.styles = [
|
|
@@ -43,7 +43,7 @@ __decorateClass([
|
|
|
43
43
|
property({ type: Boolean, reflect: true })
|
|
44
44
|
], SdQuickfact.prototype, "expandable", 2);
|
|
45
45
|
SdQuickfact = __decorateClass([
|
|
46
|
-
customElement("sd-3-22-
|
|
46
|
+
customElement("sd-3-22-18-quickfact")
|
|
47
47
|
], SdQuickfact);
|
|
48
48
|
setDefaultAnimation("quickfact.show", {
|
|
49
49
|
keyframes: [
|
|
@@ -72,7 +72,7 @@ let SdRadio = class extends SolidElement {
|
|
|
72
72
|
}
|
|
73
73
|
render() {
|
|
74
74
|
return html`<span part="base" class="${cx(
|
|
75
|
-
"sd-3-22-
|
|
75
|
+
"sd-3-22-18-radio group inline-flex items-start items-center text-base leading-normal text-black cursor-pointer align-middle",
|
|
76
76
|
this.disabled && "hover:cursor-not-allowed",
|
|
77
77
|
{
|
|
78
78
|
/* sizes, fonts */
|
|
@@ -121,7 +121,7 @@ __decorateClass([
|
|
|
121
121
|
watch("disabled", { waitUntilFirstUpdate: true })
|
|
122
122
|
], SdRadio.prototype, "handleDisabledChange", 1);
|
|
123
123
|
SdRadio = __decorateClass([
|
|
124
|
-
customElement("sd-3-22-
|
|
124
|
+
customElement("sd-3-22-18-radio")
|
|
125
125
|
], SdRadio);
|
|
126
126
|
export {
|
|
127
127
|
SdRadio as default
|
|
@@ -83,7 +83,7 @@ let SdRadioButton = class extends SolidElement {
|
|
|
83
83
|
SdRadioButton.styles = [
|
|
84
84
|
SolidElement.styles,
|
|
85
85
|
componentStyles,
|
|
86
|
-
css`:host{display:block;width:-moz-min-content;width:min-content}.hidden-input{all:unset;position:absolute;inset:var(--sd-spacing-0,0);z-index:-10;opacity:var(--sd-opacity-0,0);outline-style:dotted;outline-width:1px;outline-color:rgb(var(--sd-color-error,204 25 55) / 1)}.lg-label{height:var(--sd-spacing-12,3rem)}.lg-no-label{height:var(--sd-spacing-12,3rem);width:var(--sd-spacing-12,3rem)}.md-label{height:var(--sd-spacing-10,2.5rem)}.md-no-label{height:var(--sd-spacing-10,2.5rem);width:var(--sd-spacing-10,2.5rem)}.sm-label{height:var(--sd-spacing-8,2rem)}.sm-no-label{height:var(--sd-spacing-8,2rem);width:var(--sd-spacing-8,2rem)}:host(.sd-3-22-
|
|
86
|
+
css`:host{display:block;width:-moz-min-content;width:min-content}.hidden-input{all:unset;position:absolute;inset:var(--sd-spacing-0,0);z-index:-10;opacity:var(--sd-opacity-0,0);outline-style:dotted;outline-width:1px;outline-color:rgb(var(--sd-color-error,204 25 55) / 1)}.lg-label{height:var(--sd-spacing-12,3rem)}.lg-no-label{height:var(--sd-spacing-12,3rem);width:var(--sd-spacing-12,3rem)}.md-label{height:var(--sd-spacing-10,2.5rem)}.md-no-label{height:var(--sd-spacing-10,2.5rem);width:var(--sd-spacing-10,2.5rem)}.sm-label{height:var(--sd-spacing-8,2rem)}.sm-no-label{height:var(--sd-spacing-8,2rem);width:var(--sd-spacing-8,2rem)}:host(.sd-3-22-18-button-group__button--first:not(.sd-3-22-18-button-group__button--last)) button{border-top-right-radius:var(--sd-border-radius-none,0);border-bottom-right-radius:var(--sd-border-radius-none,0)}:host(.sd-3-22-18-button-group__button--inner) button{border-radius:var(--sd-border-radius-none,0)}:host(.sd-3-22-18-button-group__button--last:not(.sd-3-22-18-button-group__button--first)) button{border-top-left-radius:var(--sd-border-radius-none,0);border-bottom-left-radius:var(--sd-border-radius-none,0)}:host(.sd-3-22-18-button-group__button:not(.sd-3-22-18-button-group__button--first)){margin-inline-start:-1px}:host(.sd-3-22-18-button-group__button--hover){z-index:10}:host(.sd-3-22-18-button-group__button--focus),:host(.sd-3-22-18-button-group__button[checked]){z-index:20}`
|
|
87
87
|
];
|
|
88
88
|
__decorateClass([
|
|
89
89
|
query(".button")
|
|
@@ -110,7 +110,7 @@ __decorateClass([
|
|
|
110
110
|
watch("disabled", { waitUntilFirstUpdate: true })
|
|
111
111
|
], SdRadioButton.prototype, "handleDisabledChange", 1);
|
|
112
112
|
SdRadioButton = __decorateClass([
|
|
113
|
-
customElement("sd-3-22-
|
|
113
|
+
customElement("sd-3-22-18-radio-button")
|
|
114
114
|
], SdRadioButton);
|
|
115
115
|
export {
|
|
116
116
|
SdRadioButton as default
|
|
@@ -4,7 +4,7 @@ import SolidElement from '../../internal/solid-element';
|
|
|
4
4
|
import type { SolidFormControl } from '../../internal/solid-element';
|
|
5
5
|
export default class SdRadioGroup extends SolidElement implements SolidFormControl {
|
|
6
6
|
static dependencies: {
|
|
7
|
-
'sd-3-22-
|
|
7
|
+
'sd-3-22-18-button-group': typeof SdButtonGroup;
|
|
8
8
|
};
|
|
9
9
|
protected readonly formControlController: FormControlController;
|
|
10
10
|
private readonly hasSlotController;
|
|
@@ -48,6 +48,6 @@ export default class SdRadioGroup extends SolidElement implements SolidFormContr
|
|
|
48
48
|
}
|
|
49
49
|
declare global {
|
|
50
50
|
interface HTMLElementTagNameMap {
|
|
51
|
-
'sd-3-22-
|
|
51
|
+
'sd-3-22-18-radio-group': SdRadioGroup;
|
|
52
52
|
}
|
|
53
53
|
}
|
|
@@ -67,10 +67,10 @@ let SdRadioGroup = class extends SolidElement {
|
|
|
67
67
|
this.formControlController.updateValidity();
|
|
68
68
|
}
|
|
69
69
|
getAllRadios() {
|
|
70
|
-
return [...this.querySelectorAll("sd-3-22-
|
|
70
|
+
return [...this.querySelectorAll("sd-3-22-18-radio, sd-3-22-18-radio-button")];
|
|
71
71
|
}
|
|
72
72
|
handleRadioClick(event) {
|
|
73
|
-
const target = event.target.closest("sd-3-22-
|
|
73
|
+
const target = event.target.closest("sd-3-22-18-radio, sd-3-22-18-radio-button");
|
|
74
74
|
const radios = this.getAllRadios();
|
|
75
75
|
const oldValue = this.value;
|
|
76
76
|
if (target.disabled) {
|
|
@@ -146,7 +146,7 @@ let SdRadioGroup = class extends SolidElement {
|
|
|
146
146
|
}
|
|
147
147
|
})
|
|
148
148
|
);
|
|
149
|
-
this.hasButtonGroup = radios.some((radio) => radio.tagName.toLowerCase() === "sd-3-22-
|
|
149
|
+
this.hasButtonGroup = radios.some((radio) => radio.tagName.toLowerCase() === "sd-3-22-18-radio-button");
|
|
150
150
|
if (!radios.some((radio) => radio.checked)) {
|
|
151
151
|
if (this.hasButtonGroup) {
|
|
152
152
|
const buttonRadio = (_a = radios[0].shadowRoot) == null ? void 0 : _a.querySelector("button");
|
|
@@ -158,26 +158,26 @@ let SdRadioGroup = class extends SolidElement {
|
|
|
158
158
|
}
|
|
159
159
|
}
|
|
160
160
|
if (this.hasButtonGroup) {
|
|
161
|
-
const buttonGroup = (_b = this.shadowRoot) == null ? void 0 : _b.querySelector("sd-3-22-
|
|
161
|
+
const buttonGroup = (_b = this.shadowRoot) == null ? void 0 : _b.querySelector("sd-3-22-18-button-group");
|
|
162
162
|
if (buttonGroup) {
|
|
163
163
|
buttonGroup.disableRole = true;
|
|
164
164
|
}
|
|
165
165
|
}
|
|
166
166
|
}
|
|
167
167
|
syncRadios() {
|
|
168
|
-
if (customElements.get("sd-3-22-
|
|
168
|
+
if (customElements.get("sd-3-22-18-radio") && customElements.get("sd-3-22-18-radio-button")) {
|
|
169
169
|
this.syncRadioElements();
|
|
170
170
|
return;
|
|
171
171
|
}
|
|
172
|
-
if (customElements.get("sd-3-22-
|
|
172
|
+
if (customElements.get("sd-3-22-18-radio")) {
|
|
173
173
|
this.syncRadioElements();
|
|
174
174
|
} else {
|
|
175
|
-
customElements.whenDefined("sd-3-22-
|
|
175
|
+
customElements.whenDefined("sd-3-22-18-radio").then(() => this.syncRadios());
|
|
176
176
|
}
|
|
177
|
-
if (customElements.get("sd-3-22-
|
|
177
|
+
if (customElements.get("sd-3-22-18-radio-button")) {
|
|
178
178
|
this.syncRadioElements();
|
|
179
179
|
} else {
|
|
180
|
-
customElements.whenDefined("sd-3-22-
|
|
180
|
+
customElements.whenDefined("sd-3-22-18-radio-button").then(() => this.syncRadios());
|
|
181
181
|
}
|
|
182
182
|
}
|
|
183
183
|
updateCheckedRadio() {
|
|
@@ -249,14 +249,14 @@ let SdRadioGroup = class extends SolidElement {
|
|
|
249
249
|
vertical: "flex-col",
|
|
250
250
|
horizontal: "flex-row"
|
|
251
251
|
}[this.orientation]
|
|
252
|
-
)}"><div class="sr-only"><label><input id="validation-input" type="text" ?required="${this.required}" tabindex="-1" hidden @invalid="${this.handleInvalid}"></label></div>${this.hasButtonGroup ? html`<sd-3-22-
|
|
252
|
+
)}"><div class="sr-only"><label><input id="validation-input" type="text" ?required="${this.required}" tabindex="-1" hidden @invalid="${this.handleInvalid}"></label></div>${this.hasButtonGroup ? html`<sd-3-22-18-button-group part="button-group" exportparts="base:button-group__base" role="presentation">${defaultSlot}</sd-3-22-18-button-group>` : defaultSlot}</div></fieldset>${this.formControlController.renderInvalidMessage()}`;
|
|
253
253
|
}
|
|
254
254
|
};
|
|
255
|
-
SdRadioGroup.dependencies = { "sd-3-22-
|
|
255
|
+
SdRadioGroup.dependencies = { "sd-3-22-18-button-group": SdButtonGroup };
|
|
256
256
|
SdRadioGroup.styles = [
|
|
257
257
|
componentStyles,
|
|
258
258
|
SolidElement.styles,
|
|
259
|
-
css`:host{display:block}:host([orientation=vertical]) ::slotted(sd-3-22-
|
|
259
|
+
css`:host{display:block}:host([orientation=vertical]) ::slotted(sd-3-22-18-radio){margin-bottom:var(--sd-spacing-2,.5rem);display:flex}:host([orientation=vertical]) ::slotted(sd-3-22-18-radio:last-of-type){margin-bottom:var(--sd-spacing-0,0)}:host([orientation=horizontal]) ::slotted(sd-3-22-18-radio){margin-right:var(--sd-spacing-6,1.5rem)}:host([orientation=horizontal]) ::slotted(sd-3-22-18-radio:last-of-type){margin-right:var(--sd-spacing-0,0)}:host([orientation=horizontal]):host([size=sm]) ::slotted(sd-3-22-18-radio){margin-right:var(--sd-spacing-4,1rem)}:host([orientation=horizontal]):host([size=sm]) ::slotted(sd-3-22-18-radio:last-of-type){margin-right:var(--sd-spacing-0,0)}:host([required]) #label::after{content:' *'}`
|
|
260
260
|
];
|
|
261
261
|
__decorateClass([
|
|
262
262
|
query("slot:not([name])")
|
|
@@ -310,7 +310,7 @@ __decorateClass([
|
|
|
310
310
|
watch("value")
|
|
311
311
|
], SdRadioGroup.prototype, "handleValueChange", 1);
|
|
312
312
|
SdRadioGroup = __decorateClass([
|
|
313
|
-
customElement("sd-3-22-
|
|
313
|
+
customElement("sd-3-22-18-radio-group")
|
|
314
314
|
], SdRadioGroup);
|
|
315
315
|
export {
|
|
316
316
|
SdRadioGroup as default
|
|
@@ -134,14 +134,14 @@ let SdScrollable = class extends SolidElement {
|
|
|
134
134
|
this.orientation === "auto" && "scroll-auto overflow-auto",
|
|
135
135
|
this.scrollbars ? "show-scrollbars" : "hide-scrollbars",
|
|
136
136
|
this.inset ? "p-4" : ""
|
|
137
|
-
)}" @scroll="${this.updateScrollIndicatorVisibility}" tabindex="0"><div part="scroll-content" class="flex-1"><slot></slot></div></div>${this.buttons ? html`${this.isScrollHorizontalEnabled ? html`${this.canScroll.left ? html`<div part="button-left" class="absolute z-10 flex items-center justify-center top-0 left-0 h-full w-8"><button part="button-start" class="${cx(scrollButtonClasses)}" @click="${(e) => this.handleScroll("left", e)}"><slot name="icon-start"><sd-3-22-
|
|
137
|
+
)}" @scroll="${this.updateScrollIndicatorVisibility}" tabindex="0"><div part="scroll-content" class="flex-1"><slot></slot></div></div>${this.buttons ? html`${this.isScrollHorizontalEnabled ? html`${this.canScroll.left ? html`<div part="button-left" class="absolute z-10 flex items-center justify-center top-0 left-0 h-full w-8"><button part="button-start" class="${cx(scrollButtonClasses)}" @click="${(e) => this.handleScroll("left", e)}"><slot name="icon-start"><sd-3-22-18-icon library="system" name="chevron-up" class="rotate-[-90deg]" label="${this.localize.term("scrollToStart")}"></sd-3-22-18-icon></slot></button></div>` : null} ${this.canScroll.right ? html`<div part="button-right" class="absolute z-10 flex items-center justify-center top-0 right-0 h-full w-8"><button part="button-end" class="${cx(scrollButtonClasses)}" @click="${(e) => this.handleScroll("right", e)}"><slot name="icon-end"><sd-3-22-18-icon library="system" name="chevron-down" class="rotate-[-90deg]" label="${this.localize.term("scrollToEnd")}"></sd-3-22-18-icon></slot></button></div>` : null}` : null} ${this.isScrollVerticalEnabled ? html`${this.canScroll.up ? html`<div part="button-top" class="absolute z-10 flex items-center justify-center top-0 left-0 w-full h-8"><button part="button-start" class="${cx(scrollButtonClasses)}" @click="${(e) => this.handleScroll("up", e)}"><slot name="icon-start"><sd-3-22-18-icon library="system" name="chevron-up" label="${this.localize.term("scrollToStart")}"></sd-3-22-18-icon></slot></button></div>` : null} ${this.canScroll.down ? html`<div part="button-bottom" class="absolute z-10 flex items-center justify-center bottom-0 left-0 w-full h-8"><button part="button-end" class="${cx(scrollButtonClasses)}" @click="${(e) => this.handleScroll("down", e)}"><slot name="icon-end"><sd-3-22-18-icon library="system" name="chevron-down" label="${this.localize.term("scrollToEnd")}"></sd-3-22-18-icon></slot></button></div>` : null}` : null}` : null} ${this.shadows ? html`${this.isScrollHorizontalEnabled ? html`${this.canScroll.left ? html`<div part="shadow-left" class="${scrollShadowClasses} left top-0 left-0 w-[6px] h-full"></div>` : null} ${this.canScroll.right ? html`<div part="shadow-right" class="${scrollShadowClasses} right top-0 right-0 w-[6px] h-full"></div>` : null}` : null} ${this.isScrollVerticalEnabled ? html`${this.canScroll.up ? html`<div part="shadow-top" class="${scrollShadowClasses} top top-0 left-0 w-full h-[6px]"></div>` : null} ${this.canScroll.down ? html`<div part="shadow-bottom" class="${scrollShadowClasses} bottom bottom-0 left-0 w-full h-[6px]"></div>` : null}` : null}` : null}`;
|
|
138
138
|
}
|
|
139
139
|
};
|
|
140
140
|
SdScrollable.styles = [
|
|
141
141
|
SolidElement.styles,
|
|
142
142
|
unsafeCSS(InteractiveStyles),
|
|
143
143
|
componentStyles,
|
|
144
|
-
css`:host{--gradient-color:rgba(255, 255, 255, 0);--gradient:var(--gradient-color) 0%,#fff 80%,#fff 100%;position:relative;display:flex;overflow:hidden}.hide-scrollbars{scrollbar-width:none;-ms-overflow-style:none}.hide-scrollbars::-webkit-scrollbar{display:none}.scroll-container::-webkit-scrollbar-thumb{background-color:transparent}.scroll-container:hover::-webkit-scrollbar-thumb{background:var(--background-neutral-400,#c3c3c3);border-radius:var(--sd-border-radius-sm,.125rem)}.scroll-container::-webkit-scrollbar{height:var(--sd-spacing-1,.25rem);width:var(--sd-spacing-1,.25rem)}.scroll-auto{overflow:auto}[part=button-left]{background:linear-gradient(270deg,var(--gradient))}[part=button-right]{background:linear-gradient(90deg,var(--gradient))}[part=button-top]{background:linear-gradient(0deg,var(--gradient))}[part=button-bottom]{background:linear-gradient(180deg,var(--gradient))}[part=shadow-left]{background:linear-gradient(270deg,rgba(24,24,24,0) 50%,rgba(24,24,24,.4) 100%)}[part=shadow-right]{background:linear-gradient(90deg,rgba(24,24,24,0) 50%,rgba(24,24,24,.4) 100%)}[part=shadow-top]{background:linear-gradient(0deg,rgba(24,24,24,0) 50%,rgba(24,24,24,.4) 100%)}[part=shadow-bottom]{background:linear-gradient(180deg,rgba(24,24,24,0) 50%,rgba(24,24,24,.4) 100%)}.sd-3-22-
|
|
144
|
+
css`:host{--gradient-color:rgba(255, 255, 255, 0);--gradient:var(--gradient-color) 0%,#fff 80%,#fff 100%;position:relative;display:flex;overflow:hidden}.hide-scrollbars{scrollbar-width:none;-ms-overflow-style:none}.hide-scrollbars::-webkit-scrollbar{display:none}.scroll-container::-webkit-scrollbar-thumb{background-color:transparent}.scroll-container:hover::-webkit-scrollbar-thumb{background:var(--background-neutral-400,#c3c3c3);border-radius:var(--sd-border-radius-sm,.125rem)}.scroll-container::-webkit-scrollbar{height:var(--sd-spacing-1,.25rem);width:var(--sd-spacing-1,.25rem)}.scroll-auto{overflow:auto}[part=button-left]{background:linear-gradient(270deg,var(--gradient))}[part=button-right]{background:linear-gradient(90deg,var(--gradient))}[part=button-top]{background:linear-gradient(0deg,var(--gradient))}[part=button-bottom]{background:linear-gradient(180deg,var(--gradient))}[part=shadow-left]{background:linear-gradient(270deg,rgba(24,24,24,0) 50%,rgba(24,24,24,.4) 100%)}[part=shadow-right]{background:linear-gradient(90deg,rgba(24,24,24,0) 50%,rgba(24,24,24,.4) 100%)}[part=shadow-top]{background:linear-gradient(0deg,rgba(24,24,24,0) 50%,rgba(24,24,24,.4) 100%)}[part=shadow-bottom]{background:linear-gradient(180deg,rgba(24,24,24,0) 50%,rgba(24,24,24,.4) 100%)}.sd-3-22-18-icon--top{align-self:flex-start}.sd-3-22-18-icon--down{align-self:flex-end}`
|
|
145
145
|
];
|
|
146
146
|
__decorateClass([
|
|
147
147
|
property({ type: String, reflect: true })
|
|
@@ -174,7 +174,7 @@ __decorateClass([
|
|
|
174
174
|
state()
|
|
175
175
|
], SdScrollable.prototype, "isKeyboardNavigation", 2);
|
|
176
176
|
SdScrollable = __decorateClass([
|
|
177
|
-
customElement("sd-3-22-
|
|
177
|
+
customElement("sd-3-22-18-scrollable")
|
|
178
178
|
], SdScrollable);
|
|
179
179
|
export {
|
|
180
180
|
SdScrollable as default
|
|
@@ -8,9 +8,9 @@ import type { TemplateResult } from 'lit';
|
|
|
8
8
|
import type SdOption from '../option/option';
|
|
9
9
|
export default class SdSelect extends SolidElement implements SolidFormControl {
|
|
10
10
|
static dependencies: {
|
|
11
|
-
'sd-3-22-
|
|
12
|
-
'sd-3-22-
|
|
13
|
-
'sd-3-22-
|
|
11
|
+
'sd-3-22-18-icon': typeof SdIcon;
|
|
12
|
+
'sd-3-22-18-popup': typeof SdPopup;
|
|
13
|
+
'sd-3-22-18-tag': typeof SdTag;
|
|
14
14
|
};
|
|
15
15
|
private readonly formControlController;
|
|
16
16
|
private readonly hasSlotController;
|
|
@@ -26,6 +26,7 @@ export default class SdSelect extends SolidElement implements SolidFormControl {
|
|
|
26
26
|
invalidMessage: HTMLDivElement;
|
|
27
27
|
hasHover: boolean;
|
|
28
28
|
private displayLabel;
|
|
29
|
+
private deletedTagLabel;
|
|
29
30
|
hasFocus: boolean;
|
|
30
31
|
currentOption: SdOption;
|
|
31
32
|
selectedOptions: SdOption[];
|
|
@@ -98,6 +99,6 @@ export default class SdSelect extends SolidElement implements SolidFormControl {
|
|
|
98
99
|
}
|
|
99
100
|
declare global {
|
|
100
101
|
interface HTMLElementTagNameMap {
|
|
101
|
-
'sd-3-22-
|
|
102
|
+
'sd-3-22-18-select': SdSelect;
|
|
102
103
|
}
|
|
103
104
|
}
|
|
@@ -31,13 +31,14 @@ let SdSelect = class extends SolidElement {
|
|
|
31
31
|
constructor() {
|
|
32
32
|
super(...arguments);
|
|
33
33
|
this.formControlController = new FormControlController(this, {
|
|
34
|
-
assumeInteractionOn: ["sd-blur", "sd-3-22-
|
|
34
|
+
assumeInteractionOn: ["sd-blur", "sd-3-22-18-input"]
|
|
35
35
|
});
|
|
36
36
|
this.hasSlotController = new HasSlotController(this, "help-text", "label");
|
|
37
37
|
this.localize = new LocalizeController(this);
|
|
38
38
|
this.typeToSelectString = "";
|
|
39
39
|
this.hasHover = false;
|
|
40
40
|
this.displayLabel = "";
|
|
41
|
+
this.deletedTagLabel = "";
|
|
41
42
|
this.hasFocus = false;
|
|
42
43
|
this.selectedOptions = [];
|
|
43
44
|
this.showValidStyle = false;
|
|
@@ -62,11 +63,11 @@ let SdSelect = class extends SolidElement {
|
|
|
62
63
|
this.styleOnValid = false;
|
|
63
64
|
this.hoist = false;
|
|
64
65
|
this.getTag = (option) => {
|
|
65
|
-
return html`<sd-3-22-
|
|
66
|
+
return html`<sd-3-22-18-tag ?disabled="${this.disabled}" part="tag" exportparts="
|
|
66
67
|
base:tag__base,
|
|
67
68
|
content:tag__content,
|
|
68
69
|
removable-indicator:tag__removable-indicator,
|
|
69
|
-
" size="${this.size === "sm" ? "sm" : "lg"}" removable @sd-remove="${(event) => this.handleTagRemove(event, option)}">${option.getTextLabel()}</sd-3-22-
|
|
70
|
+
" size="${this.size === "sm" ? "sm" : "lg"}" removable @sd-remove="${(event) => this.handleTagRemove(event, option)}">${option.getTextLabel()}</sd-3-22-18-tag>`;
|
|
70
71
|
};
|
|
71
72
|
this.handleDocumentFocusIn = (event) => {
|
|
72
73
|
const path = event.composedPath();
|
|
@@ -77,7 +78,7 @@ let SdSelect = class extends SolidElement {
|
|
|
77
78
|
this.handleDocumentKeyDown = (event) => {
|
|
78
79
|
const target = event.target;
|
|
79
80
|
const isClearButton = target.closest(".select__clear") !== null;
|
|
80
|
-
const isIconButton = target.closest("sd-3-22-
|
|
81
|
+
const isIconButton = target.closest("sd-3-22-18-icon-button") !== null;
|
|
81
82
|
if (isClearButton || isIconButton) {
|
|
82
83
|
return;
|
|
83
84
|
}
|
|
@@ -238,7 +239,7 @@ let SdSelect = class extends SolidElement {
|
|
|
238
239
|
}
|
|
239
240
|
handleOptionClick(event) {
|
|
240
241
|
const target = event.target;
|
|
241
|
-
const option = target.closest("sd-3-22-
|
|
242
|
+
const option = target.closest("sd-3-22-18-option");
|
|
242
243
|
const oldValue = this.value;
|
|
243
244
|
if (option && !option.disabled) {
|
|
244
245
|
if (this.multiple) {
|
|
@@ -263,7 +264,7 @@ let SdSelect = class extends SolidElement {
|
|
|
263
264
|
const allOptions = this.getAllOptions();
|
|
264
265
|
const value = Array.isArray(this.value) ? this.value : [this.value];
|
|
265
266
|
const values = [];
|
|
266
|
-
if (customElements.get("sd-3-22-
|
|
267
|
+
if (customElements.get("sd-3-22-18-option")) {
|
|
267
268
|
allOptions.forEach((option) => {
|
|
268
269
|
if (this.multiple) {
|
|
269
270
|
option.checkbox = true;
|
|
@@ -272,26 +273,27 @@ let SdSelect = class extends SolidElement {
|
|
|
272
273
|
});
|
|
273
274
|
this.setSelectedOptions(allOptions.filter((el) => value.includes(el.value)));
|
|
274
275
|
} else {
|
|
275
|
-
customElements.whenDefined("sd-3-22-
|
|
276
|
+
customElements.whenDefined("sd-3-22-18-option").then(() => this.handleDefaultSlotChange());
|
|
276
277
|
}
|
|
277
278
|
}
|
|
278
279
|
handleTagRemove(event, option) {
|
|
279
280
|
event.stopPropagation();
|
|
280
281
|
if (!this.disabled) {
|
|
281
282
|
this.toggleOptionSelection(option, false);
|
|
283
|
+
this.deletedTagLabel = this.localize.term("removed", option.textContent);
|
|
282
284
|
this.updateComplete.then(() => {
|
|
283
285
|
this.emit("sd-input");
|
|
284
286
|
this.emit("sd-change");
|
|
285
287
|
});
|
|
286
288
|
}
|
|
287
289
|
}
|
|
288
|
-
// Gets an array of all <sd-3-22-
|
|
290
|
+
// Gets an array of all <sd-3-22-18-option> elements
|
|
289
291
|
getAllOptions() {
|
|
290
|
-
return [...this.querySelectorAll("sd-3-22-
|
|
292
|
+
return [...this.querySelectorAll("sd-3-22-18-option")];
|
|
291
293
|
}
|
|
292
|
-
// Gets the first <sd-3-22-
|
|
294
|
+
// Gets the first <sd-3-22-18-option> element
|
|
293
295
|
getFirstOption() {
|
|
294
|
-
return this.querySelector("sd-3-22-
|
|
296
|
+
return this.querySelector("sd-3-22-18-option");
|
|
295
297
|
}
|
|
296
298
|
// Sets the current option, which is the option the user is currently interacting with (e.g. via keyboard). Only one
|
|
297
299
|
// option may be "current" at a time.
|
|
@@ -353,7 +355,7 @@ let SdSelect = class extends SolidElement {
|
|
|
353
355
|
const tag = this.getTag(option, index);
|
|
354
356
|
return html`<div @sd-remove="${(e) => this.handleTagRemove(e, option)}">${typeof tag === "string" ? unsafeHTML(tag) : tag}</div>`;
|
|
355
357
|
} else if (index === this.maxOptionsVisible) {
|
|
356
|
-
return html`<sd-3-22-
|
|
358
|
+
return html`<sd-3-22-18-tag size="${this.size === "sm" ? "sm" : "lg"}" ?disabled="${this.disabled}">+${this.selectedOptions.length - index}</sd-3-22-18-tag>`;
|
|
357
359
|
}
|
|
358
360
|
return html``;
|
|
359
361
|
});
|
|
@@ -369,7 +371,7 @@ let SdSelect = class extends SolidElement {
|
|
|
369
371
|
handleMouseLeave() {
|
|
370
372
|
this.hasHover = false;
|
|
371
373
|
}
|
|
372
|
-
/** Receives incoming event detail from sd-3-22-
|
|
374
|
+
/** Receives incoming event detail from sd-3-22-18-popup and updates local state for conditional styling. */
|
|
373
375
|
handleCurrentPlacement(e) {
|
|
374
376
|
const incomingPlacement = e.detail;
|
|
375
377
|
if (incomingPlacement) {
|
|
@@ -378,7 +380,7 @@ let SdSelect = class extends SolidElement {
|
|
|
378
380
|
}
|
|
379
381
|
handleUseTagsChange() {
|
|
380
382
|
const allOptions = this.getAllOptions();
|
|
381
|
-
if (customElements.get("sd-3-22-
|
|
383
|
+
if (customElements.get("sd-3-22-18-option")) {
|
|
382
384
|
allOptions.forEach((option) => {
|
|
383
385
|
option.checkbox = this.multiple;
|
|
384
386
|
});
|
|
@@ -497,7 +499,7 @@ let SdSelect = class extends SolidElement {
|
|
|
497
499
|
cursorStyles,
|
|
498
500
|
this.size === "sm" ? "text-sm" : "text-base",
|
|
499
501
|
this.open && "z-50"
|
|
500
|
-
)}"><div class="flex items-center gap-1 mb-2"><label id="label" part="form-control-label" class="${hasLabel && "inline-block"}" aria-hidden="${hasLabel ? "false" : "true"}" @click="${this.handleLabelClick}"><slot name="label">${this.label}</slot></label><slot name="tooltip"></slot></div><div part="form-control-input" class="${cx("relative w-full bg-white", selectState === "disabled" ? "text-neutral-500" : "text-black")}"><div part="border" class="${cx(
|
|
502
|
+
)}"><span class="sr-only" role="alert" aria-live="assertive">${this.deletedTagLabel}</span><div class="flex items-center gap-1 mb-2"><label id="label" part="form-control-label" class="${hasLabel && "inline-block"}" aria-hidden="${hasLabel ? "false" : "true"}" @click="${this.handleLabelClick}"><slot name="label">${this.label}</slot></label><slot name="tooltip"></slot></div><div part="form-control-input" class="${cx("relative w-full bg-white", selectState === "disabled" ? "text-neutral-500" : "text-black")}"><div part="border" class="${cx(
|
|
501
503
|
"absolute top-0 w-full h-full pointer-events-none border rounded-default",
|
|
502
504
|
this.hasHover && "bg-neutral-200",
|
|
503
505
|
{
|
|
@@ -511,7 +513,7 @@ let SdSelect = class extends SolidElement {
|
|
|
511
513
|
default: "border-neutral-800"
|
|
512
514
|
}[selectState],
|
|
513
515
|
this.open && (this.currentPlacement === "bottom" ? "rounded-bl-none rounded-br-none" : "rounded-tl-none rounded-tr-none")
|
|
514
|
-
)}"></div><sd-3-22-
|
|
516
|
+
)}"></div><sd-3-22-18-popup @sd-current-placement="${this.handleCurrentPlacement}" class="${cx(
|
|
515
517
|
"inline-flex relative w-full",
|
|
516
518
|
this.currentPlacement === "bottom" ? "origin-top" : "origin-bottom"
|
|
517
519
|
)}" placement="${this.placement}" strategy="${this.hoist ? "fixed" : "absolute"}" flip shift sync="width" auto-size="vertical" auto-size-padding="10" exportparts="
|
|
@@ -528,33 +530,33 @@ let SdSelect = class extends SolidElement {
|
|
|
528
530
|
"appearance-none outline-none flex-grow bg-transparent w-full placeholder-neutral-700",
|
|
529
531
|
cursorStyles,
|
|
530
532
|
this.multiple && this.useTags && this.value.length > 0 ? "hidden" : ""
|
|
531
|
-
)}" 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-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>` : ""} <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-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-3-22-
|
|
533
|
+
)}" 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>` : ""} <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-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-3-22-18-icon class="${cx("text-icon-fill-neutral-800", iconSize)}" library="system" name="closing-round"></sd-3-22-18-icon></slot></button>` : ""} ${this.showInvalidStyle ? html`<sd-3-22-18-icon part="invalid-icon" class="${cx(iconMarginLeft, iconSize, "text-error")}" library="system" name="risk"></sd-3-22-18-icon>` : ""} ${this.styleOnValid && this.showValidStyle ? html`<sd-3-22-18-icon part="valid-icon" class="${cx("flex-shrink-0 text-success", iconMarginLeft, iconSize)}" library="system" name="status-check"></sd-3-22-18-icon>` : ""}<slot name="expand-icon" part="expand-icon" class="${cx(
|
|
532
534
|
"inline-flex ml-2 transition-all",
|
|
533
535
|
this.open ? "rotate-180" : "rotate-0",
|
|
534
536
|
this.disabled ? "text-neutral-500" : "text-primary",
|
|
535
537
|
iconSize
|
|
536
|
-
)}"><sd-3-22-
|
|
538
|
+
)}"><sd-3-22-18-icon name="chevron-down" part="chevron" library="system" color="currentColor"></sd-3-22-18-icon></slot></div><div id="listbox" role="listbox" aria-expanded="${this.open ? "true" : "false"}" aria-multiselectable="${this.multiple ? "true" : "false"}" aria-labelledby="label" part="listbox" class="${cx(
|
|
537
539
|
"bg-white px-2 py-3 relative border-primary overflow-y-auto",
|
|
538
540
|
this.open && "shadow",
|
|
539
541
|
this.currentPlacement === "bottom" ? "border-r-2 border-b-2 border-l-2 rounded-br-default rounded-bl-default" : "border-r-2 border-t-2 border-l-2 rounded-tr-default rounded-tl-default"
|
|
540
|
-
)}" tabindex="-1" @mouseup="${this.handleOptionClick}" @slotchange="${this.handleDefaultSlotChange}"><slot></slot></div></sd-3-22-
|
|
542
|
+
)}" tabindex="-1" @mouseup="${this.handleOptionClick}" @slotchange="${this.handleDefaultSlotChange}"><slot></slot></div></sd-3-22-18-popup></div><div class="text-sm text-neutral-700" part="form-control-help-text" id="help-text" aria-hidden="${hasHelpText ? "false" : "true"}"><slot name="help-text">${this.helpText}</slot></div></div>${this.formControlController.renderInvalidMessage()}`;
|
|
541
543
|
}
|
|
542
544
|
};
|
|
543
545
|
SdSelect.dependencies = {
|
|
544
|
-
"sd-3-22-
|
|
545
|
-
"sd-3-22-
|
|
546
|
-
"sd-3-22-
|
|
546
|
+
"sd-3-22-18-icon": SdIcon,
|
|
547
|
+
"sd-3-22-18-popup": SdPopup,
|
|
548
|
+
"sd-3-22-18-tag": SdTag
|
|
547
549
|
};
|
|
548
550
|
SdSelect.styles = [
|
|
549
551
|
componentStyles,
|
|
550
552
|
SolidElement.styles,
|
|
551
|
-
css`:host{position:relative;display:block;width:100%}:host([required]) #label::after{content:' *'}[part=listbox]{max-height:var(--auto-size-available-height,auto)}sd-3-22-
|
|
553
|
+
css`:host{position:relative;display:block;width:100%}:host([required]) #label::after{content:' *'}[part=listbox]{max-height:var(--auto-size-available-height,auto)}sd-3-22-18-popup::part(popup){z-index:var(--sd-z-index-dropdown,900);overflow-y:scroll}sd-3-22-18-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-3-22-18-tag[size=lg]::part(base){padding-left:var(--sd-spacing-2,.5rem);padding-right:var(--sd-spacing-2,.5rem)}sd-3-22-18-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))}`
|
|
552
554
|
];
|
|
553
555
|
__decorateClass([
|
|
554
|
-
queryAssignedElements({ selector: "sd-3-22-
|
|
556
|
+
queryAssignedElements({ selector: "sd-3-22-18-option" })
|
|
555
557
|
], SdSelect.prototype, "_optionsInDefaultSlot", 2);
|
|
556
558
|
__decorateClass([
|
|
557
|
-
query("sd-3-22-
|
|
559
|
+
query("sd-3-22-18-popup")
|
|
558
560
|
], SdSelect.prototype, "popup", 2);
|
|
559
561
|
__decorateClass([
|
|
560
562
|
query('[part="combobox"]')
|
|
@@ -577,6 +579,9 @@ __decorateClass([
|
|
|
577
579
|
__decorateClass([
|
|
578
580
|
state()
|
|
579
581
|
], SdSelect.prototype, "displayLabel", 2);
|
|
582
|
+
__decorateClass([
|
|
583
|
+
state()
|
|
584
|
+
], SdSelect.prototype, "deletedTagLabel", 2);
|
|
580
585
|
__decorateClass([
|
|
581
586
|
state()
|
|
582
587
|
], SdSelect.prototype, "hasFocus", 2);
|
|
@@ -673,7 +678,7 @@ __decorateClass([
|
|
|
673
678
|
watch("value", { waitUntilFirstUpdate: true })
|
|
674
679
|
], SdSelect.prototype, "handleValueChange", 1);
|
|
675
680
|
SdSelect = __decorateClass([
|
|
676
|
-
customElement("sd-3-22-
|
|
681
|
+
customElement("sd-3-22-18-select")
|
|
677
682
|
], SdSelect);
|
|
678
683
|
setDefaultAnimation("select.show", {
|
|
679
684
|
keyframes: [
|