@solid-design-system/components 3.20.2 → 3.20.4
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/base64Audio.js +1 -0
- package/dist/components/es/carousel.js +1 -1
- package/dist/components/es/navigation-item.js +1 -1
- package/dist/components/es/solid-components2.js +1 -1
- package/dist/components/umd/solid-components.js +22 -22
- package/dist/custom-elements.json +1 -1
- package/dist/package/components/carousel/carousel.js +2 -2
- package/dist/package/components/navigation-item/navigation-item.js +2 -2
- 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/base64Audio.js +1 -0
- 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 +1 -1
- 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 +8 -8
- 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/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 +2 -2
- 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 +6 -6
- 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 +4 -4
- package/dist/versioned-package/components/select/select.js +25 -25
- 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/utilities/autocomplete-config.js +4 -4
- package/dist/versioned-styles/solid-styles.css +1 -1
- package/dist/vscode.html-custom-data.json +45 -45
- package/dist/web-types.json +54 -46
- package/package.json +3 -3
|
@@ -115,23 +115,23 @@ 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-20-
|
|
118
|
+
)}">${this.divider && this.vertical ? html`<sd-3-20-4-divider part="divider" class="${cx("w-full transition-all absolute -top-0.25 left-0", this.calculatePaddingX)}"></sd-3-20-4-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="
|
|
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-20-4-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-20-
|
|
124
|
+
)}"></sd-3-20-4-icon></button>` : html`<sd-3-20-4-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-20-
|
|
127
|
+
)}"></sd-3-20-4-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,
|
|
131
131
|
horizontalPaddingBottom
|
|
132
132
|
)}"></slot>` : ""}</${tag}>`;
|
|
133
133
|
if (isAccordion) {
|
|
134
|
-
return html`<details part="details" id="navigation-item-details" ?open="${this.open}" class="relative flex">${root}<slot name="children"></slot></details>`;
|
|
134
|
+
return html`<details aria-expanded="${this.open}" part="details" id="navigation-item-details" ?open="${this.open}" class="relative flex">${root}<slot name="children"></slot></details>`;
|
|
135
135
|
}
|
|
136
136
|
if (this.separated) {
|
|
137
137
|
return html`<div part="details" id="navigation-item-details" class="relative flex flex-col">${root}${this.open ? html`<slot name="children"></slot>` : ""}</div>`;
|
|
@@ -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-20-
|
|
188
|
+
customElement("sd-3-20-4-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-20-
|
|
131
|
+
if (toastStack.querySelector("sd-3-20-4-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-20-
|
|
148
|
+
)}"><sd-3-20-4-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-20-
|
|
153
|
+
}[this.variant] || ""}" library="system" class="h-6 w-6 text-white"></sd-3-20-4-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-20-
|
|
156
|
+
)}"><slot part="message" class="block w-full pl-3 py-2" aria-live="polite"></slot>${this.closable ? html`<sd-3-20-4-button size="md" variant="tertiary" part="close-button" class="ml-auto flex flex-[0_0_auto] items-stretch" @click="${this.handleCloseClick}"><sd-3-20-4-icon label="${this.localize.term("close")}" name="close" library="system" color="currentColor"></sd-3-20-4-icon></sd-3-20-4-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 bg-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-20-
|
|
192
|
+
customElement("sd-3-20-4-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-20-
|
|
94
|
+
)}">${this.selected ? html`<sd-3-20-4-icon part="checked-icon" class="text-white w-3 h-3" library="system" name="status-check"></sd-3-20-4-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-20-
|
|
136
|
+
customElement("sd-3-20-4-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-20-
|
|
331
|
+
customElement("sd-3-20-4-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-20-
|
|
35
|
+
)}"><slot name="expand-icon" class="${cx(this.open && "hidden")}"><sd-3-20-4-icon library="system" name="chevron-down"></sd-3-20-4-icon></slot><slot name="collapse-icon" class="${cx(!this.open && "hidden")}"><sd-3-20-4-icon library="system" name="chevron-down"></sd-3-20-4-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-20-
|
|
46
|
+
customElement("sd-3-20-4-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-20-
|
|
75
|
+
"sd-3-20-4-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-20-
|
|
124
|
+
customElement("sd-3-20-4-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-20-
|
|
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-20-4-button-group__button--first:not(.sd-3-20-4-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-20-4-button-group__button--inner) button{border-radius:var(--sd-border-radius-none,0)}:host(.sd-3-20-4-button-group__button--last:not(.sd-3-20-4-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-20-4-button-group__button:not(.sd-3-20-4-button-group__button--first)){margin-inline-start:-1px}:host(.sd-3-20-4-button-group__button--hover){z-index:10}:host(.sd-3-20-4-button-group__button--focus),:host(.sd-3-20-4-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-20-
|
|
113
|
+
customElement("sd-3-20-4-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-20-
|
|
7
|
+
'sd-3-20-4-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-20-
|
|
51
|
+
'sd-3-20-4-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-20-
|
|
70
|
+
return [...this.querySelectorAll("sd-3-20-4-radio, sd-3-20-4-radio-button")];
|
|
71
71
|
}
|
|
72
72
|
handleRadioClick(event) {
|
|
73
|
-
const target = event.target.closest("sd-3-20-
|
|
73
|
+
const target = event.target.closest("sd-3-20-4-radio, sd-3-20-4-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-20-
|
|
149
|
+
this.hasButtonGroup = radios.some((radio) => radio.tagName.toLowerCase() === "sd-3-20-4-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-20-
|
|
161
|
+
const buttonGroup = (_b = this.shadowRoot) == null ? void 0 : _b.querySelector("sd-3-20-4-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-20-
|
|
168
|
+
if (customElements.get("sd-3-20-4-radio") && customElements.get("sd-3-20-4-radio-button")) {
|
|
169
169
|
this.syncRadioElements();
|
|
170
170
|
return;
|
|
171
171
|
}
|
|
172
|
-
if (customElements.get("sd-3-20-
|
|
172
|
+
if (customElements.get("sd-3-20-4-radio")) {
|
|
173
173
|
this.syncRadioElements();
|
|
174
174
|
} else {
|
|
175
|
-
customElements.whenDefined("sd-3-20-
|
|
175
|
+
customElements.whenDefined("sd-3-20-4-radio").then(() => this.syncRadios());
|
|
176
176
|
}
|
|
177
|
-
if (customElements.get("sd-3-20-
|
|
177
|
+
if (customElements.get("sd-3-20-4-radio-button")) {
|
|
178
178
|
this.syncRadioElements();
|
|
179
179
|
} else {
|
|
180
|
-
customElements.whenDefined("sd-3-20-
|
|
180
|
+
customElements.whenDefined("sd-3-20-4-radio-button").then(() => this.syncRadios());
|
|
181
181
|
}
|
|
182
182
|
}
|
|
183
183
|
updateCheckedRadio() {
|
|
@@ -253,14 +253,14 @@ let SdRadioGroup = class extends SolidElement {
|
|
|
253
253
|
vertical: "flex-col",
|
|
254
254
|
horizontal: "flex-row"
|
|
255
255
|
}[this.orientation]
|
|
256
|
-
)}"><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-20-
|
|
256
|
+
)}"><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-20-4-button-group part="button-group" exportparts="base:button-group__base" role="presentation">${defaultSlot}</sd-3-20-4-button-group>` : defaultSlot}</div></fieldset>${this.formControlController.renderInvalidMessage()}`;
|
|
257
257
|
}
|
|
258
258
|
};
|
|
259
|
-
SdRadioGroup.dependencies = { "sd-3-20-
|
|
259
|
+
SdRadioGroup.dependencies = { "sd-3-20-4-button-group": SdButtonGroup };
|
|
260
260
|
SdRadioGroup.styles = [
|
|
261
261
|
componentStyles,
|
|
262
262
|
SolidElement.styles,
|
|
263
|
-
css`:host{display:block}:host([orientation=vertical]) ::slotted(sd-3-20-
|
|
263
|
+
css`:host{display:block}:host([orientation=vertical]) ::slotted(sd-3-20-4-radio){margin-bottom:var(--sd-spacing-2,.5rem);display:flex}:host([orientation=vertical]) ::slotted(sd-3-20-4-radio:last-of-type){margin-bottom:var(--sd-spacing-0,0)}:host([orientation=horizontal]) ::slotted(sd-3-20-4-radio){margin-right:var(--sd-spacing-6,1.5rem)}:host([orientation=horizontal]) ::slotted(sd-3-20-4-radio:last-of-type){margin-right:var(--sd-spacing-0,0)}:host([orientation=horizontal]):host([size=sm]) ::slotted(sd-3-20-4-radio){margin-right:var(--sd-spacing-4,1rem)}:host([orientation=horizontal]):host([size=sm]) ::slotted(sd-3-20-4-radio:last-of-type){margin-right:var(--sd-spacing-0,0)}:host([required]) #label::after{content:' *'}`
|
|
264
264
|
];
|
|
265
265
|
__decorateClass([
|
|
266
266
|
query("slot:not([name])")
|
|
@@ -314,7 +314,7 @@ __decorateClass([
|
|
|
314
314
|
watch("value")
|
|
315
315
|
], SdRadioGroup.prototype, "handleValueChange", 1);
|
|
316
316
|
SdRadioGroup = __decorateClass([
|
|
317
|
-
customElement("sd-3-20-
|
|
317
|
+
customElement("sd-3-20-4-radio-group")
|
|
318
318
|
], SdRadioGroup);
|
|
319
319
|
export {
|
|
320
320
|
SdRadioGroup as default
|
|
@@ -111,14 +111,14 @@ let SdScrollable = class extends SolidElement {
|
|
|
111
111
|
this.orientation === "auto" && "scroll-auto overflow-auto",
|
|
112
112
|
this.scrollbars ? "show-scrollbars" : "hide-scrollbars",
|
|
113
113
|
this.inset ? "p-4" : ""
|
|
114
|
-
)}" @scroll="${this.updateScrollIndicatorVisibility}"><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="${() => this.handleScroll("left")}"><slot name="icon-start"><sd-3-20-
|
|
114
|
+
)}" @scroll="${this.updateScrollIndicatorVisibility}"><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="${() => this.handleScroll("left")}"><slot name="icon-start"><sd-3-20-4-icon library="system" name="chevron-up" class="rotate-[-90deg]"></sd-3-20-4-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="${() => this.handleScroll("right")}"><slot name="icon-end"><sd-3-20-4-icon library="system" name="chevron-down" class="rotate-[-90deg]"></sd-3-20-4-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="${() => this.handleScroll("up")}"><slot name="icon-start"><sd-3-20-4-icon library="system" name="chevron-up"></sd-3-20-4-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="${() => this.handleScroll("down")}"><slot name="icon-end"><sd-3-20-4-icon library="system" name="chevron-down"></sd-3-20-4-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}`;
|
|
115
115
|
}
|
|
116
116
|
};
|
|
117
117
|
SdScrollable.styles = [
|
|
118
118
|
SolidElement.styles,
|
|
119
119
|
unsafeCSS(InteractiveStyles),
|
|
120
120
|
componentStyles,
|
|
121
|
-
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-20-
|
|
121
|
+
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-20-4-icon--top{align-self:flex-start}.sd-3-20-4-icon--down{align-self:flex-end}`
|
|
122
122
|
];
|
|
123
123
|
__decorateClass([
|
|
124
124
|
property({ type: String, reflect: true })
|
|
@@ -148,7 +148,7 @@ __decorateClass([
|
|
|
148
148
|
state()
|
|
149
149
|
], SdScrollable.prototype, "isScrollVerticalEnabled", 2);
|
|
150
150
|
SdScrollable = __decorateClass([
|
|
151
|
-
customElement("sd-3-20-
|
|
151
|
+
customElement("sd-3-20-4-scrollable")
|
|
152
152
|
], SdScrollable);
|
|
153
153
|
export {
|
|
154
154
|
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-20-
|
|
12
|
-
'sd-3-20-
|
|
13
|
-
'sd-3-20-
|
|
11
|
+
'sd-3-20-4-icon': typeof SdIcon;
|
|
12
|
+
'sd-3-20-4-popup': typeof SdPopup;
|
|
13
|
+
'sd-3-20-4-tag': typeof SdTag;
|
|
14
14
|
};
|
|
15
15
|
private readonly formControlController;
|
|
16
16
|
private readonly hasSlotController;
|
|
@@ -98,6 +98,6 @@ export default class SdSelect extends SolidElement implements SolidFormControl {
|
|
|
98
98
|
}
|
|
99
99
|
declare global {
|
|
100
100
|
interface HTMLElementTagNameMap {
|
|
101
|
-
'sd-3-20-
|
|
101
|
+
'sd-3-20-4-select': SdSelect;
|
|
102
102
|
}
|
|
103
103
|
}
|
|
@@ -31,7 +31,7 @@ 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-20-
|
|
34
|
+
assumeInteractionOn: ["sd-blur", "sd-3-20-4-input"]
|
|
35
35
|
});
|
|
36
36
|
this.hasSlotController = new HasSlotController(this, "help-text", "label");
|
|
37
37
|
this.localize = new LocalizeController(this);
|
|
@@ -62,11 +62,11 @@ let SdSelect = class extends SolidElement {
|
|
|
62
62
|
this.styleOnValid = false;
|
|
63
63
|
this.hoist = false;
|
|
64
64
|
this.getTag = (option) => {
|
|
65
|
-
return html`<sd-3-20-
|
|
65
|
+
return html`<sd-3-20-4-tag ?disabled="${this.disabled}" part="tag" exportparts="
|
|
66
66
|
base:tag__base,
|
|
67
67
|
content:tag__content,
|
|
68
68
|
removable-indicator:tag__removable-indicator,
|
|
69
|
-
" size="${this.size === "sm" ? "sm" : "lg"}" removable @sd-remove="${(event) => this.handleTagRemove(event, option)}">${option.getTextLabel()}</sd-3-20-
|
|
69
|
+
" size="${this.size === "sm" ? "sm" : "lg"}" removable @sd-remove="${(event) => this.handleTagRemove(event, option)}">${option.getTextLabel()}</sd-3-20-4-tag>`;
|
|
70
70
|
};
|
|
71
71
|
this.handleDocumentFocusIn = (event) => {
|
|
72
72
|
const path = event.composedPath();
|
|
@@ -77,7 +77,7 @@ let SdSelect = class extends SolidElement {
|
|
|
77
77
|
this.handleDocumentKeyDown = (event) => {
|
|
78
78
|
const target = event.target;
|
|
79
79
|
const isClearButton = target.closest(".select__clear") !== null;
|
|
80
|
-
const isIconButton = target.closest("sd-3-20-
|
|
80
|
+
const isIconButton = target.closest("sd-3-20-4-icon-button") !== null;
|
|
81
81
|
if (isClearButton || isIconButton) {
|
|
82
82
|
return;
|
|
83
83
|
}
|
|
@@ -238,7 +238,7 @@ let SdSelect = class extends SolidElement {
|
|
|
238
238
|
}
|
|
239
239
|
handleOptionClick(event) {
|
|
240
240
|
const target = event.target;
|
|
241
|
-
const option = target.closest("sd-3-20-
|
|
241
|
+
const option = target.closest("sd-3-20-4-option");
|
|
242
242
|
const oldValue = this.value;
|
|
243
243
|
if (option && !option.disabled) {
|
|
244
244
|
if (this.multiple) {
|
|
@@ -263,7 +263,7 @@ let SdSelect = class extends SolidElement {
|
|
|
263
263
|
const allOptions = this.getAllOptions();
|
|
264
264
|
const value = Array.isArray(this.value) ? this.value : [this.value];
|
|
265
265
|
const values = [];
|
|
266
|
-
if (customElements.get("sd-3-20-
|
|
266
|
+
if (customElements.get("sd-3-20-4-option")) {
|
|
267
267
|
allOptions.forEach((option) => {
|
|
268
268
|
if (this.multiple) {
|
|
269
269
|
option.checkbox = true;
|
|
@@ -272,7 +272,7 @@ let SdSelect = class extends SolidElement {
|
|
|
272
272
|
});
|
|
273
273
|
this.setSelectedOptions(allOptions.filter((el) => value.includes(el.value)));
|
|
274
274
|
} else {
|
|
275
|
-
customElements.whenDefined("sd-3-20-
|
|
275
|
+
customElements.whenDefined("sd-3-20-4-option").then(() => this.handleDefaultSlotChange());
|
|
276
276
|
}
|
|
277
277
|
}
|
|
278
278
|
handleTagRemove(event, option) {
|
|
@@ -285,13 +285,13 @@ let SdSelect = class extends SolidElement {
|
|
|
285
285
|
});
|
|
286
286
|
}
|
|
287
287
|
}
|
|
288
|
-
// Gets an array of all <sd-3-20-
|
|
288
|
+
// Gets an array of all <sd-3-20-4-option> elements
|
|
289
289
|
getAllOptions() {
|
|
290
|
-
return [...this.querySelectorAll("sd-3-20-
|
|
290
|
+
return [...this.querySelectorAll("sd-3-20-4-option")];
|
|
291
291
|
}
|
|
292
|
-
// Gets the first <sd-3-20-
|
|
292
|
+
// Gets the first <sd-3-20-4-option> element
|
|
293
293
|
getFirstOption() {
|
|
294
|
-
return this.querySelector("sd-3-20-
|
|
294
|
+
return this.querySelector("sd-3-20-4-option");
|
|
295
295
|
}
|
|
296
296
|
// Sets the current option, which is the option the user is currently interacting with (e.g. via keyboard). Only one
|
|
297
297
|
// option may be "current" at a time.
|
|
@@ -353,7 +353,7 @@ let SdSelect = class extends SolidElement {
|
|
|
353
353
|
const tag = this.getTag(option, index);
|
|
354
354
|
return html`<div @sd-remove="${(e) => this.handleTagRemove(e, option)}">${typeof tag === "string" ? unsafeHTML(tag) : tag}</div>`;
|
|
355
355
|
} else if (index === this.maxOptionsVisible) {
|
|
356
|
-
return html`<sd-3-20-
|
|
356
|
+
return html`<sd-3-20-4-tag size="${this.size === "sm" ? "sm" : "lg"}" ?disabled="${this.disabled}">+${this.selectedOptions.length - index}</sd-3-20-4-tag>`;
|
|
357
357
|
}
|
|
358
358
|
return html``;
|
|
359
359
|
});
|
|
@@ -369,7 +369,7 @@ let SdSelect = class extends SolidElement {
|
|
|
369
369
|
handleMouseLeave() {
|
|
370
370
|
this.hasHover = false;
|
|
371
371
|
}
|
|
372
|
-
/** Receives incoming event detail from sd-3-20-
|
|
372
|
+
/** Receives incoming event detail from sd-3-20-4-popup and updates local state for conditional styling. */
|
|
373
373
|
handleCurrentPlacement(e) {
|
|
374
374
|
const incomingPlacement = e.detail;
|
|
375
375
|
if (incomingPlacement) {
|
|
@@ -378,7 +378,7 @@ let SdSelect = class extends SolidElement {
|
|
|
378
378
|
}
|
|
379
379
|
handleUseTagsChange() {
|
|
380
380
|
const allOptions = this.getAllOptions();
|
|
381
|
-
if (customElements.get("sd-3-20-
|
|
381
|
+
if (customElements.get("sd-3-20-4-option")) {
|
|
382
382
|
allOptions.forEach((option) => {
|
|
383
383
|
option.checkbox = this.multiple;
|
|
384
384
|
});
|
|
@@ -511,7 +511,7 @@ let SdSelect = class extends SolidElement {
|
|
|
511
511
|
default: "border-neutral-800"
|
|
512
512
|
}[selectState],
|
|
513
513
|
this.open && (this.currentPlacement === "bottom" ? "rounded-bl-none rounded-br-none" : "rounded-tl-none rounded-tr-none")
|
|
514
|
-
)}"></div><sd-3-20-
|
|
514
|
+
)}"></div><sd-3-20-4-popup @sd-current-placement="${this.handleCurrentPlacement}" class="${cx(
|
|
515
515
|
"inline-flex relative w-full",
|
|
516
516
|
this.currentPlacement === "bottom" ? "origin-top" : "origin-bottom"
|
|
517
517
|
)}" placement="${this.placement}" strategy="${this.hoist ? "fixed" : "absolute"}" flip shift sync="width" auto-size="vertical" auto-size-padding="10" exportparts="
|
|
@@ -528,33 +528,33 @@ let SdSelect = class extends SolidElement {
|
|
|
528
528
|
"appearance-none outline-none flex-grow bg-transparent w-full",
|
|
529
529
|
cursorStyles,
|
|
530
530
|
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" 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-20-
|
|
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" 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-20-4-icon class="${cx("text-icon-fill-neutral-800", iconSize)}" library="system" name="closing-round"></sd-3-20-4-icon></slot></button>` : ""} ${this.showInvalidStyle ? html`<sd-3-20-4-icon part="invalid-icon" class="${cx(iconMarginLeft, iconSize, "text-error")}" library="system" name="risk"></sd-3-20-4-icon>` : ""} ${this.styleOnValid && this.showValidStyle ? html`<sd-3-20-4-icon part="valid-icon" class="${cx("flex-shrink-0 text-success", iconMarginLeft, iconSize)}" library="system" name="status-check"></sd-3-20-4-icon>` : ""}<slot name="expand-icon" part="expand-icon" class="${cx(
|
|
532
532
|
"inline-flex ml-2 transition-all",
|
|
533
533
|
this.open ? "rotate-180" : "rotate-0",
|
|
534
534
|
this.disabled ? "text-neutral-500" : "text-primary",
|
|
535
535
|
iconSize
|
|
536
|
-
)}"><sd-3-20-
|
|
536
|
+
)}"><sd-3-20-4-icon name="chevron-down" part="chevron" library="system" color="currentColor"></sd-3-20-4-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
537
|
"bg-white px-2 py-3 relative border-primary overflow-y-auto",
|
|
538
538
|
this.open && "shadow",
|
|
539
539
|
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-20-
|
|
540
|
+
)}" tabindex="-1" @mouseup="${this.handleOptionClick}" @slotchange="${this.handleDefaultSlotChange}"><slot></slot></div></sd-3-20-4-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
541
|
}
|
|
542
542
|
};
|
|
543
543
|
SdSelect.dependencies = {
|
|
544
|
-
"sd-3-20-
|
|
545
|
-
"sd-3-20-
|
|
546
|
-
"sd-3-20-
|
|
544
|
+
"sd-3-20-4-icon": SdIcon,
|
|
545
|
+
"sd-3-20-4-popup": SdPopup,
|
|
546
|
+
"sd-3-20-4-tag": SdTag
|
|
547
547
|
};
|
|
548
548
|
SdSelect.styles = [
|
|
549
549
|
componentStyles,
|
|
550
550
|
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-20-
|
|
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-20-4-popup::part(popup){z-index:var(--sd-z-index-dropdown,900);overflow-y:scroll}sd-3-20-4-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-20-4-tag[size=lg]::part(base){padding-left:var(--sd-spacing-2,.5rem);padding-right:var(--sd-spacing-2,.5rem)}sd-3-20-4-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
552
|
];
|
|
553
553
|
__decorateClass([
|
|
554
|
-
queryAssignedElements({ selector: "sd-3-20-
|
|
554
|
+
queryAssignedElements({ selector: "sd-3-20-4-option" })
|
|
555
555
|
], SdSelect.prototype, "_optionsInDefaultSlot", 2);
|
|
556
556
|
__decorateClass([
|
|
557
|
-
query("sd-3-20-
|
|
557
|
+
query("sd-3-20-4-popup")
|
|
558
558
|
], SdSelect.prototype, "popup", 2);
|
|
559
559
|
__decorateClass([
|
|
560
560
|
query('[part="combobox"]')
|
|
@@ -673,7 +673,7 @@ __decorateClass([
|
|
|
673
673
|
watch("value", { waitUntilFirstUpdate: true })
|
|
674
674
|
], SdSelect.prototype, "handleValueChange", 1);
|
|
675
675
|
SdSelect = __decorateClass([
|
|
676
|
-
customElement("sd-3-20-
|
|
676
|
+
customElement("sd-3-20-4-select")
|
|
677
677
|
], SdSelect);
|
|
678
678
|
setDefaultAnimation("select.show", {
|
|
679
679
|
keyframes: [
|