@solid-design-system/components 3.0.1 → 3.2.0
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/input.js +1 -1
- package/dist/components/es/solid-components.js +1 -1
- package/dist/components/es/solid-components2.js +1 -1
- package/dist/components/umd/solid-components.js +13 -13
- package/dist/custom-elements.json +1 -1
- package/dist/package/components/icon/library.system.d.ts +1 -0
- package/dist/package/components/icon/library.system.js +3 -1
- package/dist/package/components/input/input.js +1 -1
- package/dist/package/solid-components.d.ts +1 -0
- package/dist/package/solid-components.js +2 -0
- package/dist/package/utilities/autocomplete-config.d.ts +12 -0
- package/dist/package/utilities/autocomplete-config.js +60 -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/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/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/popup.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/select.js +3 -3
- package/dist/versioned-components/es/solid-components.js +1 -1
- package/dist/versioned-components/es/solid-components2.js +1 -1
- package/dist/versioned-components/es/spinner.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/badge/badge.d.ts +1 -1
- package/dist/versioned-package/components/badge/badge.js +1 -1
- package/dist/versioned-package/components/brandshape/brandshape.d.ts +1 -1
- package/dist/versioned-package/components/brandshape/brandshape.js +1 -1
- package/dist/versioned-package/components/button/button.d.ts +1 -1
- package/dist/versioned-package/components/button/button.js +4 -4
- package/dist/versioned-package/components/carousel/carousel.d.ts +1 -1
- package/dist/versioned-package/components/carousel/carousel.js +6 -6
- package/dist/versioned-package/components/carousel-item/carousel-item.d.ts +1 -1
- package/dist/versioned-package/components/carousel-item/carousel-item.js +1 -1
- package/dist/versioned-package/components/checkbox/checkbox.d.ts +1 -1
- package/dist/versioned-package/components/checkbox/checkbox.js +3 -3
- package/dist/versioned-package/components/checkbox-group/checkbox-group.d.ts +1 -1
- package/dist/versioned-package/components/checkbox-group/checkbox-group.js +5 -5
- package/dist/versioned-package/components/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/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/icon/library.system.d.ts +1 -0
- package/dist/versioned-package/components/icon/library.system.js +3 -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 +3 -3
- 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/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/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/switch/switch.d.ts +1 -1
- package/dist/versioned-package/components/switch/switch.js +1 -1
- package/dist/versioned-package/components/tab/tab.d.ts +1 -1
- package/dist/versioned-package/components/tab/tab.js +2 -2
- package/dist/versioned-package/components/tab-group/tab-group.d.ts +1 -1
- package/dist/versioned-package/components/tab-group/tab-group.js +13 -13
- package/dist/versioned-package/components/tab-panel/tab-panel.d.ts +1 -1
- package/dist/versioned-package/components/tab-panel/tab-panel.js +2 -2
- package/dist/versioned-package/components/tag/tag.d.ts +1 -1
- package/dist/versioned-package/components/tag/tag.js +2 -2
- package/dist/versioned-package/components/teaser/teaser.js +1 -1
- package/dist/versioned-package/components/teaser-media/teaser-media.js +1 -1
- package/dist/versioned-package/components/textarea/textarea.d.ts +1 -1
- package/dist/versioned-package/components/textarea/textarea.js +2 -2
- package/dist/versioned-package/components/tooltip/tooltip.d.ts +1 -1
- package/dist/versioned-package/components/tooltip/tooltip.js +5 -5
- package/dist/versioned-package/components/video/video.d.ts +1 -1
- package/dist/versioned-package/components/video/video.js +2 -2
- package/dist/versioned-package/internal/form.js +3 -3
- package/dist/versioned-package/solid-components.d.ts +1 -0
- package/dist/versioned-package/solid-components.js +2 -0
- package/dist/versioned-package/styles/headline/headline.css.js +1 -1
- package/dist/versioned-package/utilities/autocomplete-config.d.ts +12 -0
- package/dist/versioned-package/utilities/autocomplete-config.js +60 -0
- package/dist/versioned-styles/solid-styles.css +1 -1
- package/dist/vscode.html-custom-data.json +38 -38
- package/dist/web-types.json +39 -39
- package/package.json +5 -4
|
@@ -81,7 +81,9 @@ const icons = {
|
|
|
81
81
|
warning: `
|
|
82
82
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12.893 2.55295C12.725 2.22395 12.388 2.00195 12 2.00195C11.612 2.00195 11.275 2.22295 11.109 2.54695L2.10598 20.553C2.03998 20.683 2.00098 20.837 2.00098 21C2.00098 21.552 2.44798 21.999 2.99998 22H21C21.552 21.999 21.999 21.552 21.999 21C21.999 20.837 21.96 20.683 21.891 20.548L21.894 20.554L12.893 2.55295ZM4.61698 20L12 5.23695L19.383 20H4.61698Z"/><path d="M11 10.667V15C11 15.552 11.448 16 12 16C12.552 16 13 15.552 13 15V10.667C13 10.115 12.552 9.66695 12 9.66695C11.448 9.66695 11 10.115 11 10.667Z"/><path d="M13 18C13 18.552 12.552 19 12 19C11.448 19 11 18.552 11 18C11 17.448 11.448 17 12 17C12.552 17 13 17.448 13 18Z"/></svg>`,
|
|
83
83
|
"exclamation-circle": `
|
|
84
|
-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M13 17C13 17.552 12.552 18 12 18C11.448 18 11 17.552 11 17C11 16.448 11.448 16 12 16C12.552 16 13 16.448 13 17Z"/><path d="M12 6C11.448 6 11 6.448 11 7V13C11 13.552 11.448 14 12 14C12.552 14 13 13.552 13 13V7C13 6.448 12.552 6 12 6Z"/><path d="M12 2C6.477 2 2 6.477 2 12C2 17.523 6.477 22 12 22C17.523 22 22 17.523 22 12C22 6.477 17.523 2 12 2ZM12 20C7.582 20 4 16.418 4 12C4 7.582 7.582 4 12 4C16.418 4 20 7.582 20 12C20 16.418 16.418 20 12 20Z"/></svg
|
|
84
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M13 17C13 17.552 12.552 18 12 18C11.448 18 11 17.552 11 17C11 16.448 11.448 16 12 16C12.552 16 13 16.448 13 17Z"/><path d="M12 6C11.448 6 11 6.448 11 7V13C11 13.552 11.448 14 12 14C12.552 14 13 13.552 13 13V7C13 6.448 12.552 6 12 6Z"/><path d="M12 2C6.477 2 2 6.477 2 12C2 17.523 6.477 22 12 22C17.523 22 22 17.523 22 12C22 6.477 17.523 2 12 2ZM12 20C7.582 20 4 16.418 4 12C4 7.582 7.582 4 12 4C16.418 4 20 7.582 20 12C20 16.418 16.418 20 12 20Z"/></svg>`,
|
|
85
|
+
"magnifying-glass": `
|
|
86
|
+
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="currentColor" d="M21.707 20.293l-6.967-6.96c-0.046-0.046-0.096-0.087-0.15-0.124l-0.004-0.002c0.882-1.162 1.413-2.632 1.413-4.227 0-3.881-3.146-7.027-7.027-7.027s-7.027 3.146-7.027 7.027c0 3.881 3.146 7.027 7.027 7.027 1.594 0 3.065-0.531 4.244-1.426l-0.017 0.013c0.039 0.057 0.081 0.107 0.127 0.153l6.967 6.967c0.181 0.181 0.431 0.292 0.707 0.292s0.526-0.112 0.707-0.292v0c0.183-0.181 0.296-0.432 0.296-0.71s-0.113-0.529-0.296-0.71l-0-0zM9 14c-2.761 0-5-2.239-5-5s2.239-5 5-5c2.761 0 5 2.239 5 5v0c0 2.761-2.239 5-5 5v0z"></path></svg>`
|
|
85
87
|
};
|
|
86
88
|
const systemLibrary = {
|
|
87
89
|
name: "system",
|
|
@@ -256,7 +256,7 @@ let SdInput = class extends SolidElement {
|
|
|
256
256
|
"min-w-0 flex-grow focus:outline-none bg-transparent placeholder-neutral-700",
|
|
257
257
|
this.size === "sm" ? "h-6" : "h-8",
|
|
258
258
|
textSize
|
|
259
|
-
)}" type="${this.type === "password" && this.passwordVisible ? "text" : this.type}" title="${this.title}" name="${ifDefined(this.name)}" ?disabled="${this.disabled}" ?readonly="${this.readonly}" ?required="${this.required}" placeholder="${ifDefined(this.placeholder)}" minlength="${ifDefined(this.minlength)}" maxlength="${ifDefined(this.maxlength)}" min="${ifDefined(this.min)}" max="${ifDefined(this.max)}" step="${ifDefined(this.step)}" .value="${live(this.value)}" autocapitalize="${ifDefined(this.type === "password" ? "off" : this.autocapitalize)}" autocomplete="${ifDefined(this.type === "password" ? "off" : this.autocomplete)}" autocorrect="${ifDefined(this.type === "password" ? "off" : this.autocorrect)}" ?autofocus="${this.autofocus}" spellcheck="${this.spellcheck}" pattern="${ifDefined(this.pattern)}" enterkeyhint="${ifDefined(this.enterkeyhint)}" inputmode="${ifDefined(this.inputmode)}" aria-describedby="help-text" @change="${this.handleChange}" @input="${this.handleInput}" @invalid="${this.handleInvalid}" @keydown="${this.handleKeyDown}" @focus="${this.handleFocus}" @blur="${this.handleBlur}"> ${hasClearIcon ? html`<button part="clear-button" class="${cx("flex justify-center ", iconMarginLeft)}" type="button" aria-label="${this.localize.term("clearEntry")}" @click="${this.handleClearClick}" tabindex="-1"><slot name="clear-icon"><sd-3-0-
|
|
259
|
+
)}" type="${this.type === "password" && this.passwordVisible ? "text" : this.type}" title="${this.title}" name="${ifDefined(this.name)}" ?disabled="${this.disabled}" ?readonly="${this.readonly}" ?required="${this.required}" placeholder="${ifDefined(this.placeholder)}" minlength="${ifDefined(this.minlength)}" maxlength="${ifDefined(this.maxlength)}" min="${ifDefined(this.min)}" max="${ifDefined(this.max)}" step="${ifDefined(this.step)}" .value="${live(this.value)}" autocapitalize="${ifDefined(this.type === "password" ? "off" : this.autocapitalize)}" autocomplete="${ifDefined(this.type === "password" ? "off" : this.autocomplete)}" autocorrect="${ifDefined(this.type === "password" ? "off" : this.autocorrect)}" ?autofocus="${this.autofocus}" spellcheck="${this.spellcheck}" pattern="${ifDefined(this.pattern)}" enterkeyhint="${ifDefined(this.enterkeyhint)}" inputmode="${ifDefined(this.inputmode)}" aria-describedby="help-text" @change="${this.handleChange}" @input="${this.handleInput}" @invalid="${this.handleInvalid}" @keydown="${this.handleKeyDown}" @focus="${this.handleFocus}" @blur="${this.handleBlur}"> ${hasClearIcon ? html`<button part="clear-button" class="${cx("flex justify-center ", iconMarginLeft)}" type="button" aria-label="${this.localize.term("clearEntry")}" @click="${this.handleClearClick}" tabindex="-1"><slot name="clear-icon"><sd-3-2-0-icon class="${cx("text-neutral-500", iconSize)}" library="system" name="closing-round"></sd-3-2-0-icon></slot></button>` : ""} ${this.passwordToggle && this.type === "password" ? html`<button aria-label="${this.localize.term(this.passwordVisible ? "hidePassword" : "showPassword")}" part="password-toggle-button" class="flex items-center" type="button" @click="${this.handlePasswordToggle}" tabindex="-1">${this.passwordVisible ? html`<slot name="show-password-icon"><sd-3-2-0-icon class="${cx(iconColor, iconMarginLeft, iconSize)}" library="system" name="eye"></sd-3-2-0-icon></slot>` : html`<slot name="hide-password-icon"><sd-3-2-0-icon class="${cx(iconColor, iconMarginLeft, iconSize)}" library="system" name="eye-crossed-out"></sd-3-2-0-icon></slot>`}</button>` : ""} ${(this.type === "date" || this.type === "datetime-local") && !isFirefox ? html`<sd-3-2-0-icon class="${cx(iconColor, iconMarginLeft, iconSize)}" library="system" name="calendar"></sd-3-2-0-icon>` : ""} ${this.type === "time" ? html`<sd-3-2-0-icon class="${cx(iconColor, iconMarginLeft, iconSize)}" library="system" name="clock"></sd-3-2-0-icon>` : ""} ${this.type === "search" ? html`<button class="flex items-center" type="button" tabindex="-1"><sd-3-2-0-icon class="${cx(iconColor, iconMarginLeft, iconSize)}" library="system" name="magnifying-glass"></sd-3-2-0-icon></button>` : ""} ${this.showInvalidStyle ? html`<sd-3-2-0-icon part="invalid-icon" class="${cx("text-error", iconMarginLeft, iconSize)}" library="system" name="risk"></sd-3-2-0-icon>` : ""} ${this.showValidStyle && this.styleOnValid ? html`<sd-3-2-0-icon class="${cx("text-success flex-shrink-0", iconMarginLeft, iconSize)}" library="system" name="confirm" part="valid-icon"></sd-3-2-0-icon>` : ""} ${slots["right"] ? html`<slot name="right" part="right" class="${cx("inline-flex", iconColor, iconMarginLeft, iconSize)}"></slot>` : ""}</div></div><slot name="help-text" part="form-control-help-text" id="help-text" class="${cx("text-sm text-neutral-700", hasHelpText ? "block" : "hidden")}" aria-hidden="${!hasHelpText}">${this.helpText}</slot></div>${this.formControlController.renderInvalidMessage()}`;
|
|
260
260
|
}
|
|
261
261
|
};
|
|
262
262
|
SdInput.styles = [
|
|
@@ -389,7 +389,7 @@ __decorateClass([
|
|
|
389
389
|
watch("value", { waitUntilFirstUpdate: true })
|
|
390
390
|
], SdInput.prototype, "handleValueChange", 1);
|
|
391
391
|
SdInput = __decorateClass([
|
|
392
|
-
customElement("sd-3-0-
|
|
392
|
+
customElement("sd-3-2-0-input")
|
|
393
393
|
], SdInput);
|
|
394
394
|
export {
|
|
395
395
|
SdInput as default
|
|
@@ -77,7 +77,7 @@ let SdLink = class extends SolidElement {
|
|
|
77
77
|
};
|
|
78
78
|
SdLink.styles = [
|
|
79
79
|
SolidElement.styles,
|
|
80
|
-
css`::slotted(sd-3-0-
|
|
80
|
+
css`::slotted(sd-3-2-0-icon){font-size:1.25em;margin-bottom:-.25em}:host([size=sm][standalone]) ::slotted(sd-3-2-0-icon){font-size:var(--sd-font-size-base,1rem)}:host([size=lg][standalone]) ::slotted(sd-3-2-0-icon){font-size:var(--sd-font-size-xl,1.5rem)}`
|
|
81
81
|
];
|
|
82
82
|
__decorateClass([
|
|
83
83
|
query("a")
|
|
@@ -101,7 +101,7 @@ __decorateClass([
|
|
|
101
101
|
property()
|
|
102
102
|
], SdLink.prototype, "download", 2);
|
|
103
103
|
SdLink = __decorateClass([
|
|
104
|
-
customElement("sd-3-0-
|
|
104
|
+
customElement("sd-3-2-0-link")
|
|
105
105
|
], SdLink);
|
|
106
106
|
export {
|
|
107
107
|
SdLink as default
|
|
@@ -64,7 +64,7 @@ __decorateClass([
|
|
|
64
64
|
property({ type: Boolean, reflect: true })
|
|
65
65
|
], SdMapMarker.prototype, "animated", 2);
|
|
66
66
|
SdMapMarker = __decorateClass([
|
|
67
|
-
customElement("sd-3-0-
|
|
67
|
+
customElement("sd-3-2-0-map-marker")
|
|
68
68
|
], SdMapMarker);
|
|
69
69
|
export {
|
|
70
70
|
SdMapMarker as default
|
|
@@ -103,10 +103,10 @@ let SdNavigationItem = class extends SolidElement {
|
|
|
103
103
|
isAccordion ? "grow" : "w-full",
|
|
104
104
|
slots["description"] ? "pb-1" : horizontalPaddingBottom,
|
|
105
105
|
this.calculatePaddingX()
|
|
106
|
-
)}">${this.divider && this.vertical ? html`<sd-3-0-
|
|
106
|
+
)}">${this.divider && this.vertical ? html`<sd-3-2-0-divider part="divider" class="${cx("w-full transition-all absolute -top-[1px] left-0", this.calculatePaddingX())}"></sd-3-2-0-divider>` : ""} <span part="content-container" class="inline-flex items-center flex-auto"><slot part="content" class="inline"></slot></span>${(this.chevron || slots["children"]) && this.vertical ? html`<sd-3-2-0-icon name="chevron-down" part="chevron" library="system" color="currentColor" class="${cx(
|
|
107
107
|
"h-6 w-6 ml-2 transition-all",
|
|
108
108
|
isAccordion ? this.open ? "rotate-180" : "rotate-0" : "rotate-[270deg]"
|
|
109
|
-
)}"></sd-3-0-
|
|
109
|
+
)}"></sd-3-2-0-icon>` : ""} </span>${slots["description"] && this.vertical ? html`<slot name="description" part="description" class="${cx(
|
|
110
110
|
"inline-block text-sm text-left text-black",
|
|
111
111
|
isAccordion ? "grow" : "w-full",
|
|
112
112
|
horizontalPaddingBottom,
|
|
@@ -157,7 +157,7 @@ __decorateClass([
|
|
|
157
157
|
property({ type: Boolean, reflect: true })
|
|
158
158
|
], SdNavigationItem.prototype, "open", 2);
|
|
159
159
|
SdNavigationItem = __decorateClass([
|
|
160
|
-
customElement("sd-3-0-
|
|
160
|
+
customElement("sd-3-2-0-navigation-item")
|
|
161
161
|
], SdNavigationItem);
|
|
162
162
|
export {
|
|
163
163
|
SdNavigationItem as default
|
|
@@ -129,7 +129,7 @@ let SdNotification = class extends SolidElement {
|
|
|
129
129
|
() => {
|
|
130
130
|
toastStack.removeChild(this);
|
|
131
131
|
resolve();
|
|
132
|
-
if (toastStack.querySelector("sd-3-0-
|
|
132
|
+
if (toastStack.querySelector("sd-3-2-0-notification") === null) {
|
|
133
133
|
toastStack.remove();
|
|
134
134
|
}
|
|
135
135
|
},
|
|
@@ -146,15 +146,15 @@ let SdNotification = class extends SolidElement {
|
|
|
146
146
|
warning: "bg-warning",
|
|
147
147
|
error: "bg-error"
|
|
148
148
|
}[this.variant]
|
|
149
|
-
)}"><sd-3-0-
|
|
149
|
+
)}"><sd-3-2-0-icon name="${{
|
|
150
150
|
info: "info-circle",
|
|
151
151
|
success: "confirm-circle",
|
|
152
152
|
warning: "exclamation-circle",
|
|
153
153
|
error: "warning"
|
|
154
|
-
}[this.variant] || ""}" library="system" class="h-6 w-6 text-white"></sd-3-0-
|
|
154
|
+
}[this.variant] || ""}" library="system" class="h-6 w-6 text-white"></sd-3-2-0-icon></slot><div part="content" class="${cx(
|
|
155
155
|
"h-full w-full p-1 gap-2 flex items-center justify-stretch bg-white",
|
|
156
156
|
"border-solid border-[1px] border-l-0 border-neutral-400"
|
|
157
|
-
)}"><slot part="message" class="block w-full pl-3 py-2" aria-live="polite"></slot>${this.closable ? html`<sd-3-0-
|
|
157
|
+
)}"><slot part="message" class="block w-full pl-3 py-2" aria-live="polite"></slot>${this.closable ? html`<sd-3-2-0-button size="md" variant="tertiary" part="close-button" class="ml-auto flex flex-[0_0_auto] items-stretch" label="${this.localize.term("close")}" @click="${this.handleCloseClick}"><sd-3-2-0-icon name="close" library="system" color="currentColor"></sd-3-2-0-icon></sd-3-2-0-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>`;
|
|
158
158
|
}
|
|
159
159
|
};
|
|
160
160
|
SdNotification.styles = [
|
|
@@ -190,7 +190,7 @@ __decorateClass([
|
|
|
190
190
|
watch("duration")
|
|
191
191
|
], SdNotification.prototype, "handleDurationChange", 1);
|
|
192
192
|
SdNotification = __decorateClass([
|
|
193
|
-
customElement("sd-3-0-
|
|
193
|
+
customElement("sd-3-2-0-notification")
|
|
194
194
|
], SdNotification);
|
|
195
195
|
setDefaultAnimation("notification.show", {
|
|
196
196
|
keyframes: [
|
|
@@ -94,7 +94,7 @@ let SdOption = class extends SolidElement {
|
|
|
94
94
|
)}"></span> ${this.checkbox ? html`<span id="control" part="control ${this.selected ? " control--checked" : "control--unchecked"}" class="${cx(
|
|
95
95
|
"relative flex flex-initial items-center justify-center border rounded-sm h-4 w-4 mr-2",
|
|
96
96
|
this.disabled ? "border-neutral-500" : this.selected ? "bg-accent border-accent" : "border-neutral-800"
|
|
97
|
-
)}">${this.selected ? html`<sd-3-0-
|
|
97
|
+
)}">${this.selected ? html`<sd-3-2-0-icon part="checked-icon" class="text-white w-3 h-3" library="system" name="status-hook"></sd-3-2-0-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>`;
|
|
98
98
|
}
|
|
99
99
|
};
|
|
100
100
|
SdOption.styles = [
|
|
@@ -136,7 +136,7 @@ __decorateClass([
|
|
|
136
136
|
watch("value")
|
|
137
137
|
], SdOption.prototype, "handleValueChange", 1);
|
|
138
138
|
SdOption = __decorateClass([
|
|
139
|
-
customElement("sd-3-0-
|
|
139
|
+
customElement("sd-3-2-0-option")
|
|
140
140
|
], SdOption);
|
|
141
141
|
export {
|
|
142
142
|
SdOption as default
|
|
@@ -329,7 +329,7 @@ __decorateClass([
|
|
|
329
329
|
property({ attribute: "auto-size-padding", type: Number })
|
|
330
330
|
], SdPopup.prototype, "autoSizePadding", 2);
|
|
331
331
|
SdPopup = __decorateClass([
|
|
332
|
-
customElement("sd-3-0-
|
|
332
|
+
customElement("sd-3-2-0-popup")
|
|
333
333
|
], SdPopup);
|
|
334
334
|
export {
|
|
335
335
|
SdPopup as default
|
|
@@ -73,7 +73,7 @@ let SdRadio = class extends SolidElement {
|
|
|
73
73
|
}
|
|
74
74
|
render() {
|
|
75
75
|
return html`<span part="base" class="${cx(
|
|
76
|
-
"sd-3-0-
|
|
76
|
+
"sd-3-2-0-radio group inline-flex items-start items-center text-base leading-normal text-black cursor-pointer align-middle",
|
|
77
77
|
this.disabled && "hover:cursor-not-allowed",
|
|
78
78
|
{
|
|
79
79
|
/* 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-0-
|
|
124
|
+
customElement("sd-3-2-0-radio")
|
|
125
125
|
], SdRadio);
|
|
126
126
|
export {
|
|
127
127
|
SdRadio as default
|
|
@@ -84,7 +84,7 @@ let SdRadioButton = class extends SolidElement {
|
|
|
84
84
|
SdRadioButton.styles = [
|
|
85
85
|
SolidElement.styles,
|
|
86
86
|
componentStyles,
|
|
87
|
-
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-0-
|
|
87
|
+
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-2-0-button-group__button--first:not(.sd-3-2-0-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-2-0-button-group__button--inner) button{border-radius:var(--sd-border-radius-none,0)}:host(.sd-3-2-0-button-group__button--last:not(.sd-3-2-0-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-2-0-button-group__button:not(.sd-3-2-0-button-group__button--first)){margin-inline-start:-1px}:host(.sd-3-2-0-button-group__button--hover){z-index:10}:host(.sd-3-2-0-button-group__button--focus),:host(.sd-3-2-0-button-group__button[checked]){z-index:20}`
|
|
88
88
|
];
|
|
89
89
|
__decorateClass([
|
|
90
90
|
query(".button")
|
|
@@ -111,7 +111,7 @@ __decorateClass([
|
|
|
111
111
|
watch("disabled", { waitUntilFirstUpdate: true })
|
|
112
112
|
], SdRadioButton.prototype, "handleDisabledChange", 1);
|
|
113
113
|
SdRadioButton = __decorateClass([
|
|
114
|
-
customElement("sd-3-0-
|
|
114
|
+
customElement("sd-3-2-0-radio-button")
|
|
115
115
|
], SdRadioButton);
|
|
116
116
|
export {
|
|
117
117
|
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-0-
|
|
7
|
+
'sd-3-2-0-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-0-
|
|
51
|
+
'sd-3-2-0-radio-group': SdRadioGroup;
|
|
52
52
|
}
|
|
53
53
|
}
|
|
@@ -68,10 +68,10 @@ let SdRadioGroup = class extends SolidElement {
|
|
|
68
68
|
this.formControlController.updateValidity();
|
|
69
69
|
}
|
|
70
70
|
getAllRadios() {
|
|
71
|
-
return [...this.querySelectorAll("sd-3-0-
|
|
71
|
+
return [...this.querySelectorAll("sd-3-2-0-radio, sd-3-2-0-radio-button")];
|
|
72
72
|
}
|
|
73
73
|
handleRadioClick(event) {
|
|
74
|
-
const target = event.target.closest("sd-3-0-
|
|
74
|
+
const target = event.target.closest("sd-3-2-0-radio, sd-3-2-0-radio-button");
|
|
75
75
|
const radios = this.getAllRadios();
|
|
76
76
|
const oldValue = this.value;
|
|
77
77
|
if (target.disabled) {
|
|
@@ -147,7 +147,7 @@ let SdRadioGroup = class extends SolidElement {
|
|
|
147
147
|
}
|
|
148
148
|
})
|
|
149
149
|
);
|
|
150
|
-
this.hasButtonGroup = radios.some((radio) => radio.tagName.toLowerCase() === "sd-3-0-
|
|
150
|
+
this.hasButtonGroup = radios.some((radio) => radio.tagName.toLowerCase() === "sd-3-2-0-radio-button");
|
|
151
151
|
if (!radios.some((radio) => radio.checked)) {
|
|
152
152
|
if (this.hasButtonGroup) {
|
|
153
153
|
const buttonRadio = (_a = radios[0].shadowRoot) == null ? void 0 : _a.querySelector("button");
|
|
@@ -159,26 +159,26 @@ let SdRadioGroup = class extends SolidElement {
|
|
|
159
159
|
}
|
|
160
160
|
}
|
|
161
161
|
if (this.hasButtonGroup) {
|
|
162
|
-
const buttonGroup = (_b = this.shadowRoot) == null ? void 0 : _b.querySelector("sd-3-0-
|
|
162
|
+
const buttonGroup = (_b = this.shadowRoot) == null ? void 0 : _b.querySelector("sd-3-2-0-button-group");
|
|
163
163
|
if (buttonGroup) {
|
|
164
164
|
buttonGroup.disableRole = true;
|
|
165
165
|
}
|
|
166
166
|
}
|
|
167
167
|
}
|
|
168
168
|
syncRadios() {
|
|
169
|
-
if (customElements.get("sd-3-0-
|
|
169
|
+
if (customElements.get("sd-3-2-0-radio") && customElements.get("sd-3-2-0-radio-button")) {
|
|
170
170
|
this.syncRadioElements();
|
|
171
171
|
return;
|
|
172
172
|
}
|
|
173
|
-
if (customElements.get("sd-3-0-
|
|
173
|
+
if (customElements.get("sd-3-2-0-radio")) {
|
|
174
174
|
this.syncRadioElements();
|
|
175
175
|
} else {
|
|
176
|
-
customElements.whenDefined("sd-3-0-
|
|
176
|
+
customElements.whenDefined("sd-3-2-0-radio").then(() => this.syncRadios());
|
|
177
177
|
}
|
|
178
|
-
if (customElements.get("sd-3-0-
|
|
178
|
+
if (customElements.get("sd-3-2-0-radio-button")) {
|
|
179
179
|
this.syncRadioElements();
|
|
180
180
|
} else {
|
|
181
|
-
customElements.whenDefined("sd-3-0-
|
|
181
|
+
customElements.whenDefined("sd-3-2-0-radio-button").then(() => this.syncRadios());
|
|
182
182
|
}
|
|
183
183
|
}
|
|
184
184
|
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-0-
|
|
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-2-0-button-group part="button-group" exportparts="base:button-group__base" role="presentation">${defaultSlot}</sd-3-2-0-button-group>` : defaultSlot}</div></fieldset>${this.formControlController.renderInvalidMessage()}`;
|
|
257
257
|
}
|
|
258
258
|
};
|
|
259
|
-
SdRadioGroup.dependencies = { "sd-3-0-
|
|
259
|
+
SdRadioGroup.dependencies = { "sd-3-2-0-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-0-
|
|
263
|
+
css`:host{display:block}:host([orientation=vertical]) ::slotted(sd-3-2-0-radio){margin-bottom:var(--sd-spacing-2,.5rem);display:flex}:host([orientation=vertical]) ::slotted(sd-3-2-0-radio:last-of-type){margin-bottom:var(--sd-spacing-0,0)}:host([orientation=horizontal]) ::slotted(sd-3-2-0-radio){margin-right:var(--sd-spacing-6,1.5rem)}:host([orientation=horizontal]) ::slotted(sd-3-2-0-radio:last-of-type){margin-right:var(--sd-spacing-0,0)}:host([orientation=horizontal]):host([size=sm]) ::slotted(sd-3-2-0-radio){margin-right:var(--sd-spacing-4,1rem)}:host([orientation=horizontal]):host([size=sm]) ::slotted(sd-3-2-0-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-0-
|
|
317
|
+
customElement("sd-3-2-0-radio-group")
|
|
318
318
|
], SdRadioGroup);
|
|
319
319
|
export {
|
|
320
320
|
SdRadioGroup as default
|
|
@@ -7,9 +7,9 @@ import type { TemplateResult } from 'lit';
|
|
|
7
7
|
import type SdOption from '../option/option';
|
|
8
8
|
export default class SdSelect extends SolidElement implements SolidFormControl {
|
|
9
9
|
static dependencies: {
|
|
10
|
-
'sd-3-0-
|
|
11
|
-
'sd-3-0-
|
|
12
|
-
'sd-3-0-
|
|
10
|
+
'sd-3-2-0-icon': typeof SdIcon;
|
|
11
|
+
'sd-3-2-0-popup': typeof SdPopup;
|
|
12
|
+
'sd-3-2-0-tag': typeof SdTag;
|
|
13
13
|
};
|
|
14
14
|
private readonly formControlController;
|
|
15
15
|
private readonly hasSlotController;
|
|
@@ -97,6 +97,6 @@ export default class SdSelect extends SolidElement implements SolidFormControl {
|
|
|
97
97
|
}
|
|
98
98
|
declare global {
|
|
99
99
|
interface HTMLElementTagNameMap {
|
|
100
|
-
'sd-3-0-
|
|
100
|
+
'sd-3-2-0-select': SdSelect;
|
|
101
101
|
}
|
|
102
102
|
}
|
|
@@ -32,7 +32,7 @@ let SdSelect = class extends SolidElement {
|
|
|
32
32
|
constructor() {
|
|
33
33
|
super(...arguments);
|
|
34
34
|
this.formControlController = new FormControlController(this, {
|
|
35
|
-
assumeInteractionOn: ["sd-blur", "sd-3-0-
|
|
35
|
+
assumeInteractionOn: ["sd-blur", "sd-3-2-0-input"]
|
|
36
36
|
});
|
|
37
37
|
this.hasSlotController = new HasSlotController(this, "help-text", "label");
|
|
38
38
|
this.localize = new LocalizeController(this);
|
|
@@ -63,11 +63,11 @@ let SdSelect = class extends SolidElement {
|
|
|
63
63
|
this.styleOnValid = false;
|
|
64
64
|
this.hoist = false;
|
|
65
65
|
this.getTag = (option) => {
|
|
66
|
-
return html`<sd-3-0-
|
|
66
|
+
return html`<sd-3-2-0-tag ?disabled="${this.disabled}" part="tag" exportparts="
|
|
67
67
|
base:tag__base,
|
|
68
68
|
content:tag__content,
|
|
69
69
|
removable-indicator:tag__removable-indicator,
|
|
70
|
-
" size="${this.size === "sm" ? "sm" : "lg"}" removable @sd-remove="${(event) => this.handleTagRemove(event, option)}">${option.getTextLabel()}</sd-3-0-
|
|
70
|
+
" size="${this.size === "sm" ? "sm" : "lg"}" removable @sd-remove="${(event) => this.handleTagRemove(event, option)}">${option.getTextLabel()}</sd-3-2-0-tag>`;
|
|
71
71
|
};
|
|
72
72
|
this.handleDocumentFocusIn = (event) => {
|
|
73
73
|
const path = event.composedPath();
|
|
@@ -78,7 +78,7 @@ let SdSelect = class extends SolidElement {
|
|
|
78
78
|
this.handleDocumentKeyDown = (event) => {
|
|
79
79
|
const target = event.target;
|
|
80
80
|
const isClearButton = target.closest(".select__clear") !== null;
|
|
81
|
-
const isIconButton = target.closest("sd-3-0-
|
|
81
|
+
const isIconButton = target.closest("sd-3-2-0-icon-button") !== null;
|
|
82
82
|
if (isClearButton || isIconButton) {
|
|
83
83
|
return;
|
|
84
84
|
}
|
|
@@ -241,7 +241,7 @@ let SdSelect = class extends SolidElement {
|
|
|
241
241
|
}
|
|
242
242
|
handleOptionClick(event) {
|
|
243
243
|
const target = event.target;
|
|
244
|
-
const option = target.closest("sd-3-0-
|
|
244
|
+
const option = target.closest("sd-3-2-0-option");
|
|
245
245
|
const oldValue = this.value;
|
|
246
246
|
if (option && !option.disabled) {
|
|
247
247
|
if (this.multiple) {
|
|
@@ -266,7 +266,7 @@ let SdSelect = class extends SolidElement {
|
|
|
266
266
|
const allOptions = this.getAllOptions();
|
|
267
267
|
const value = Array.isArray(this.value) ? this.value : [this.value];
|
|
268
268
|
const values = [];
|
|
269
|
-
if (customElements.get("sd-3-0-
|
|
269
|
+
if (customElements.get("sd-3-2-0-option")) {
|
|
270
270
|
allOptions.forEach((option) => {
|
|
271
271
|
if (this.multiple) {
|
|
272
272
|
option.checkbox = true;
|
|
@@ -275,7 +275,7 @@ let SdSelect = class extends SolidElement {
|
|
|
275
275
|
});
|
|
276
276
|
this.setSelectedOptions(allOptions.filter((el) => value.includes(el.value)));
|
|
277
277
|
} else {
|
|
278
|
-
customElements.whenDefined("sd-3-0-
|
|
278
|
+
customElements.whenDefined("sd-3-2-0-option").then(() => this.handleDefaultSlotChange());
|
|
279
279
|
}
|
|
280
280
|
}
|
|
281
281
|
handleTagRemove(event, option) {
|
|
@@ -288,13 +288,13 @@ let SdSelect = class extends SolidElement {
|
|
|
288
288
|
});
|
|
289
289
|
}
|
|
290
290
|
}
|
|
291
|
-
// Gets an array of all <sd-3-0-
|
|
291
|
+
// Gets an array of all <sd-3-2-0-option> elements
|
|
292
292
|
getAllOptions() {
|
|
293
|
-
return [...this.querySelectorAll("sd-3-0-
|
|
293
|
+
return [...this.querySelectorAll("sd-3-2-0-option")];
|
|
294
294
|
}
|
|
295
|
-
// Gets the first <sd-3-0-
|
|
295
|
+
// Gets the first <sd-3-2-0-option> element
|
|
296
296
|
getFirstOption() {
|
|
297
|
-
return this.querySelector("sd-3-0-
|
|
297
|
+
return this.querySelector("sd-3-2-0-option");
|
|
298
298
|
}
|
|
299
299
|
// Sets the current option, which is the option the user is currently interacting with (e.g. via keyboard). Only one
|
|
300
300
|
// option may be "current" at a time.
|
|
@@ -356,7 +356,7 @@ let SdSelect = class extends SolidElement {
|
|
|
356
356
|
const tag = this.getTag(option, index);
|
|
357
357
|
return html`<div @sd-remove="${(e) => this.handleTagRemove(e, option)}">${typeof tag === "string" ? unsafeHTML(tag) : tag}</div>`;
|
|
358
358
|
} else if (index === this.maxOptionsVisible) {
|
|
359
|
-
return html`<sd-3-0-
|
|
359
|
+
return html`<sd-3-2-0-tag size="${this.size === "sm" ? "sm" : "lg"}" ?disabled="${this.disabled}">+${this.selectedOptions.length - index}</sd-3-2-0-tag>`;
|
|
360
360
|
}
|
|
361
361
|
return html``;
|
|
362
362
|
});
|
|
@@ -372,7 +372,7 @@ let SdSelect = class extends SolidElement {
|
|
|
372
372
|
handleMouseLeave() {
|
|
373
373
|
this.hasHover = false;
|
|
374
374
|
}
|
|
375
|
-
/** Receives incoming event detail from sd-3-0-
|
|
375
|
+
/** Receives incoming event detail from sd-3-2-0-popup and updates local state for conditional styling. */
|
|
376
376
|
handleCurrentPlacement(e) {
|
|
377
377
|
const incomingPlacement = e.detail;
|
|
378
378
|
if (incomingPlacement) {
|
|
@@ -381,7 +381,7 @@ let SdSelect = class extends SolidElement {
|
|
|
381
381
|
}
|
|
382
382
|
handleUseTagsChange() {
|
|
383
383
|
const allOptions = this.getAllOptions();
|
|
384
|
-
if (customElements.get("sd-3-0-
|
|
384
|
+
if (customElements.get("sd-3-2-0-option")) {
|
|
385
385
|
allOptions.forEach((option) => {
|
|
386
386
|
option.checkbox = this.multiple;
|
|
387
387
|
});
|
|
@@ -526,7 +526,7 @@ let SdSelect = class extends SolidElement {
|
|
|
526
526
|
default: "border-neutral-800"
|
|
527
527
|
}[selectState],
|
|
528
528
|
this.open && (this.currentPlacement === "bottom" ? "rounded-bl-none rounded-br-none" : "rounded-tl-none rounded-tr-none")
|
|
529
|
-
)}"></div><sd-3-0-
|
|
529
|
+
)}"></div><sd-3-2-0-popup @sd-current-placement="${this.handleCurrentPlacement}" class="${cx(
|
|
530
530
|
"inline-flex relative w-full",
|
|
531
531
|
this.currentPlacement === "bottom" ? "origin-top" : "origin-bottom"
|
|
532
532
|
)}" placement="${this.placement}" strategy="${this.hoist ? "fixed" : "absolute"}" flip shift sync="width" auto-size="vertical" auto-size-padding="10" exportparts="
|
|
@@ -543,33 +543,33 @@ let SdSelect = class extends SolidElement {
|
|
|
543
543
|
"appearance-none outline-none flex-grow bg-transparent w-full",
|
|
544
544
|
cursorStyles,
|
|
545
545
|
this.multiple && this.useTags && this.value.length > 0 ? "hidden" : ""
|
|
546
|
-
)}" 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-0-
|
|
546
|
+
)}" 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-2-0-icon class="${cx("text-neutral-500", iconSize)}" library="system" name="closing-round"></sd-3-2-0-icon></slot></button>` : ""} ${this.showInvalidStyle ? html`<sd-3-2-0-icon part="invalid-icon" class="${cx(iconMarginLeft, iconSize)}" library="system" name="risk"></sd-3-2-0-icon>` : ""} ${this.styleOnValid && this.showValidStyle ? html`<sd-3-2-0-icon part="valid-icon" class="${cx("flex-shrink-0", iconMarginLeft, iconSize)}" library="system" name="confirm"></sd-3-2-0-icon>` : ""}<slot name="expand-icon" part="expand-icon" class="${cx(
|
|
547
547
|
"inline-flex ml-2 transition-all",
|
|
548
548
|
this.open ? "rotate-180" : "rotate-0",
|
|
549
549
|
this.disabled ? "text-neutral-500" : "text-primary",
|
|
550
550
|
iconSize
|
|
551
|
-
)}"><sd-3-0-
|
|
551
|
+
)}"><sd-3-2-0-icon name="chevron-down" part="chevron" library="system" color="currentColor"></sd-3-2-0-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(
|
|
552
552
|
"bg-white px-2 py-3 relative border-primary",
|
|
553
553
|
this.open && "shadow",
|
|
554
554
|
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"
|
|
555
|
-
)}" tabindex="-1" @mouseup="${this.handleOptionClick}" @slotchange="${this.handleDefaultSlotChange}"><slot></slot></div></sd-3-0-
|
|
555
|
+
)}" tabindex="-1" @mouseup="${this.handleOptionClick}" @slotchange="${this.handleDefaultSlotChange}"><slot></slot></div></sd-3-2-0-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()}`;
|
|
556
556
|
}
|
|
557
557
|
};
|
|
558
558
|
SdSelect.dependencies = {
|
|
559
|
-
"sd-3-0-
|
|
560
|
-
"sd-3-0-
|
|
561
|
-
"sd-3-0-
|
|
559
|
+
"sd-3-2-0-icon": SdIcon,
|
|
560
|
+
"sd-3-2-0-popup": SdPopup,
|
|
561
|
+
"sd-3-2-0-tag": SdTag
|
|
562
562
|
};
|
|
563
563
|
SdSelect.styles = [
|
|
564
564
|
componentStyles,
|
|
565
565
|
SolidElement.styles,
|
|
566
|
-
css`:host{position:relative;display:block;width:100%}:host([required]) #label::after{content:' *'}sd-3-0-
|
|
566
|
+
css`:host{position:relative;display:block;width:100%}:host([required]) #label::after{content:' *'}sd-3-2-0-popup::part(popup){z-index:var(--sd-z-index-dropdown,900);overflow-y:scroll}sd-3-2-0-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-2-0-tag[size=lg]::part(base){padding-left:var(--sd-spacing-2,.5rem);padding-right:var(--sd-spacing-2,.5rem)}sd-3-2-0-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))}`
|
|
567
567
|
];
|
|
568
568
|
__decorateClass([
|
|
569
|
-
queryAssignedElements({ selector: "sd-3-0-
|
|
569
|
+
queryAssignedElements({ selector: "sd-3-2-0-option" })
|
|
570
570
|
], SdSelect.prototype, "_optionsInDefaultSlot", 2);
|
|
571
571
|
__decorateClass([
|
|
572
|
-
query("sd-3-0-
|
|
572
|
+
query("sd-3-2-0-popup")
|
|
573
573
|
], SdSelect.prototype, "popup", 2);
|
|
574
574
|
__decorateClass([
|
|
575
575
|
query('[part="combobox"]')
|
|
@@ -688,7 +688,7 @@ __decorateClass([
|
|
|
688
688
|
watch("value", { waitUntilFirstUpdate: true })
|
|
689
689
|
], SdSelect.prototype, "handleValueChange", 1);
|
|
690
690
|
SdSelect = __decorateClass([
|
|
691
|
-
customElement("sd-3-0-
|
|
691
|
+
customElement("sd-3-2-0-select")
|
|
692
692
|
], SdSelect);
|
|
693
693
|
setDefaultAnimation("select.show", {
|
|
694
694
|
keyframes: [
|