@solid-design-system/components 3.22.18 → 3.23.1
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/components/es/combobox.js +11 -0
- package/dist/components/es/dropdown.js +1 -1
- package/dist/components/es/map-marker.js +1 -1
- package/dist/components/es/navigation-item.js +1 -1
- package/dist/components/es/optgroup.js +1 -0
- package/dist/components/es/option-renderer.js +1 -0
- package/dist/components/es/select.js +7 -3
- package/dist/components/es/solid-components2.js +7 -7
- package/dist/components/es/tabbable.js +1 -1
- package/dist/components/es/utils.js +1 -0
- package/dist/components/umd/solid-components.js +37 -23
- package/dist/custom-elements.json +1 -1
- package/dist/package/components/combobox/combobox.d.ts +129 -0
- package/dist/package/components/combobox/combobox.js +958 -0
- package/dist/package/components/combobox/option-renderer.d.ts +5 -0
- package/dist/package/components/combobox/option-renderer.js +4 -0
- package/dist/package/components/combobox/utils.d.ts +8 -0
- package/dist/package/components/combobox/utils.js +14 -0
- package/dist/package/components/dropdown/dropdown.d.ts +2 -1
- package/dist/package/components/dropdown/dropdown.js +37 -28
- package/dist/package/components/navigation-item/navigation-item.d.ts +1 -0
- package/dist/package/components/navigation-item/navigation-item.js +4 -1
- package/dist/package/components/optgroup/optgroup.d.ts +20 -0
- package/dist/package/components/optgroup/optgroup.js +68 -0
- package/dist/package/components/select/select.d.ts +5 -1
- package/dist/package/components/select/select.js +94 -29
- package/dist/package/internal/tabbable.js +1 -1
- package/dist/package/solid-components.d.ts +2 -0
- package/dist/package/solid-components.js +74 -70
- package/dist/package/styles/tailwind.css.js +1 -1
- package/dist/package/translations/de.js +7 -4
- package/dist/package/translations/en.js +7 -4
- package/dist/package/utilities/localize.d.ts +3 -0
- package/dist/versioned-components/es/accordion-group.js +1 -1
- package/dist/versioned-components/es/accordion.js +1 -1
- package/dist/versioned-components/es/audio.js +1 -1
- package/dist/versioned-components/es/badge.js +1 -1
- package/dist/versioned-components/es/brandshape.js +1 -1
- package/dist/versioned-components/es/button.js +1 -1
- package/dist/versioned-components/es/carousel-item.js +1 -1
- package/dist/versioned-components/es/carousel.js +3 -3
- package/dist/versioned-components/es/checkbox-group.js +1 -1
- package/dist/versioned-components/es/checkbox.js +1 -1
- package/dist/versioned-components/es/combobox.js +11 -0
- package/dist/versioned-components/es/dialog.js +1 -1
- package/dist/versioned-components/es/divider.js +1 -1
- package/dist/versioned-components/es/drawer.js +1 -1
- package/dist/versioned-components/es/dropdown.js +1 -1
- package/dist/versioned-components/es/expandable.js +1 -1
- package/dist/versioned-components/es/flipcard.js +1 -1
- package/dist/versioned-components/es/form.js +1 -1
- package/dist/versioned-components/es/header.js +1 -1
- package/dist/versioned-components/es/icon.js +1 -1
- package/dist/versioned-components/es/include.js +1 -1
- package/dist/versioned-components/es/input.js +1 -1
- package/dist/versioned-components/es/link.js +1 -1
- package/dist/versioned-components/es/map-marker.js +1 -1
- package/dist/versioned-components/es/navigation-item.js +1 -1
- package/dist/versioned-components/es/notification.js +1 -1
- package/dist/versioned-components/es/optgroup.js +1 -0
- package/dist/versioned-components/es/option-renderer.js +1 -0
- package/dist/versioned-components/es/option.js +1 -1
- package/dist/versioned-components/es/quickfact.js +1 -1
- package/dist/versioned-components/es/radio-button.js +1 -1
- package/dist/versioned-components/es/radio-group.js +1 -1
- package/dist/versioned-components/es/radio.js +1 -1
- package/dist/versioned-components/es/scrollable.js +1 -1
- package/dist/versioned-components/es/select.js +7 -3
- package/dist/versioned-components/es/solid-components2.js +7 -7
- package/dist/versioned-components/es/spinner.js +1 -1
- package/dist/versioned-components/es/step-group.js +1 -1
- package/dist/versioned-components/es/step.js +1 -1
- package/dist/versioned-components/es/switch.js +1 -1
- package/dist/versioned-components/es/tab-group.js +1 -1
- package/dist/versioned-components/es/tab-panel.js +1 -1
- package/dist/versioned-components/es/tab.js +1 -1
- package/dist/versioned-components/es/tabbable.js +1 -1
- package/dist/versioned-components/es/tag.js +1 -1
- package/dist/versioned-components/es/teaser-media.js +1 -1
- package/dist/versioned-components/es/teaser.js +1 -1
- package/dist/versioned-components/es/textarea.js +1 -1
- package/dist/versioned-components/es/tooltip.js +2 -2
- package/dist/versioned-components/es/utils.js +1 -0
- package/dist/versioned-components/es/video.js +1 -1
- package/dist/versioned-package/_components/button-group/button-group.d.ts +1 -1
- package/dist/versioned-package/_components/button-group/button-group.js +11 -11
- package/dist/versioned-package/components/accordion/accordion.d.ts +1 -1
- package/dist/versioned-package/components/accordion/accordion.js +2 -2
- package/dist/versioned-package/components/accordion-group/accordion-group.d.ts +1 -1
- package/dist/versioned-package/components/accordion-group/accordion-group.js +3 -3
- package/dist/versioned-package/components/audio/audio.d.ts +1 -1
- package/dist/versioned-package/components/audio/audio.js +6 -6
- package/dist/versioned-package/components/badge/badge.d.ts +1 -1
- package/dist/versioned-package/components/badge/badge.js +1 -1
- package/dist/versioned-package/components/brandshape/brandshape.d.ts +1 -1
- package/dist/versioned-package/components/brandshape/brandshape.js +1 -1
- package/dist/versioned-package/components/button/button.d.ts +1 -1
- package/dist/versioned-package/components/button/button.js +4 -4
- package/dist/versioned-package/components/carousel/carousel.d.ts +1 -1
- package/dist/versioned-package/components/carousel/carousel.js +6 -6
- package/dist/versioned-package/components/carousel-item/carousel-item.d.ts +1 -1
- package/dist/versioned-package/components/carousel-item/carousel-item.js +1 -1
- package/dist/versioned-package/components/checkbox/checkbox.d.ts +1 -1
- package/dist/versioned-package/components/checkbox/checkbox.js +3 -3
- package/dist/versioned-package/components/checkbox-group/checkbox-group.d.ts +1 -1
- package/dist/versioned-package/components/checkbox-group/checkbox-group.js +5 -5
- package/dist/versioned-package/components/combobox/combobox.d.ts +129 -0
- package/dist/versioned-package/components/combobox/combobox.js +958 -0
- package/dist/versioned-package/components/combobox/option-renderer.d.ts +5 -0
- package/dist/versioned-package/components/combobox/option-renderer.js +4 -0
- package/dist/versioned-package/components/combobox/utils.d.ts +8 -0
- package/dist/versioned-package/components/combobox/utils.js +14 -0
- package/dist/versioned-package/components/dialog/dialog.d.ts +1 -1
- package/dist/versioned-package/components/dialog/dialog.js +2 -2
- package/dist/versioned-package/components/divider/divider.d.ts +1 -1
- package/dist/versioned-package/components/divider/divider.js +2 -2
- package/dist/versioned-package/components/drawer/drawer.d.ts +1 -1
- package/dist/versioned-package/components/drawer/drawer.js +2 -2
- package/dist/versioned-package/components/dropdown/dropdown.d.ts +3 -2
- package/dist/versioned-package/components/dropdown/dropdown.js +42 -33
- package/dist/versioned-package/components/expandable/expandable.d.ts +1 -1
- package/dist/versioned-package/components/expandable/expandable.js +2 -2
- package/dist/versioned-package/components/flipcard/flipcard.d.ts +1 -1
- package/dist/versioned-package/components/flipcard/flipcard.js +1 -1
- package/dist/versioned-package/components/header/header.d.ts +1 -1
- package/dist/versioned-package/components/header/header.js +4 -4
- package/dist/versioned-package/components/icon/icon.d.ts +1 -1
- package/dist/versioned-package/components/icon/icon.js +1 -1
- package/dist/versioned-package/components/include/include.d.ts +1 -1
- package/dist/versioned-package/components/include/include.js +1 -1
- package/dist/versioned-package/components/input/input.d.ts +1 -1
- package/dist/versioned-package/components/input/input.js +3 -3
- package/dist/versioned-package/components/link/link.d.ts +1 -1
- package/dist/versioned-package/components/link/link.js +2 -2
- package/dist/versioned-package/components/map-marker/map-marker.d.ts +1 -1
- package/dist/versioned-package/components/map-marker/map-marker.js +1 -1
- package/dist/versioned-package/components/navigation-item/navigation-item.d.ts +2 -1
- package/dist/versioned-package/components/navigation-item/navigation-item.js +9 -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/optgroup/optgroup.d.ts +20 -0
- package/dist/versioned-package/components/optgroup/optgroup.js +68 -0
- package/dist/versioned-package/components/option/option.d.ts +1 -1
- package/dist/versioned-package/components/option/option.js +2 -2
- package/dist/versioned-package/components/popup/popup.d.ts +1 -1
- package/dist/versioned-package/components/popup/popup.js +1 -1
- package/dist/versioned-package/components/quickfact/quickfact.d.ts +1 -1
- package/dist/versioned-package/components/quickfact/quickfact.js +2 -2
- package/dist/versioned-package/components/radio/radio.d.ts +1 -1
- package/dist/versioned-package/components/radio/radio.js +2 -2
- package/dist/versioned-package/components/radio-button/radio-button.d.ts +1 -1
- package/dist/versioned-package/components/radio-button/radio-button.js +2 -2
- package/dist/versioned-package/components/radio-group/radio-group.d.ts +2 -2
- package/dist/versioned-package/components/radio-group/radio-group.js +13 -13
- package/dist/versioned-package/components/scrollable/scrollable.d.ts +1 -1
- package/dist/versioned-package/components/scrollable/scrollable.js +3 -3
- package/dist/versioned-package/components/select/select.d.ts +9 -5
- package/dist/versioned-package/components/select/select.js +115 -50
- package/dist/versioned-package/components/spinner/spinner.d.ts +1 -1
- package/dist/versioned-package/components/spinner/spinner.js +1 -1
- package/dist/versioned-package/components/step/step.d.ts +1 -1
- package/dist/versioned-package/components/step/step.js +2 -2
- package/dist/versioned-package/components/step-group/step-group.d.ts +1 -1
- package/dist/versioned-package/components/step-group/step-group.js +2 -2
- package/dist/versioned-package/components/switch/switch.d.ts +1 -1
- package/dist/versioned-package/components/switch/switch.js +1 -1
- package/dist/versioned-package/components/tab/tab.d.ts +1 -1
- package/dist/versioned-package/components/tab/tab.js +2 -2
- package/dist/versioned-package/components/tab-group/tab-group.d.ts +1 -1
- package/dist/versioned-package/components/tab-group/tab-group.js +13 -13
- package/dist/versioned-package/components/tab-panel/tab-panel.d.ts +1 -1
- package/dist/versioned-package/components/tab-panel/tab-panel.js +2 -2
- package/dist/versioned-package/components/tag/tag.d.ts +1 -1
- package/dist/versioned-package/components/tag/tag.js +2 -2
- package/dist/versioned-package/components/teaser/teaser.js +1 -1
- package/dist/versioned-package/components/teaser-media/teaser-media.js +1 -1
- package/dist/versioned-package/components/textarea/textarea.d.ts +1 -1
- package/dist/versioned-package/components/textarea/textarea.js +2 -2
- package/dist/versioned-package/components/tooltip/tooltip.d.ts +1 -1
- package/dist/versioned-package/components/tooltip/tooltip.js +5 -5
- package/dist/versioned-package/components/video/video.d.ts +1 -1
- package/dist/versioned-package/components/video/video.js +2 -2
- package/dist/versioned-package/internal/form.js +3 -3
- package/dist/versioned-package/internal/tabbable.js +1 -1
- package/dist/versioned-package/solid-components.d.ts +2 -0
- package/dist/versioned-package/solid-components.js +74 -70
- package/dist/versioned-package/styles/headline/headline.css.js +1 -1
- package/dist/versioned-package/styles/tailwind.css.js +1 -1
- package/dist/versioned-package/translations/de.js +7 -4
- package/dist/versioned-package/translations/en.js +7 -4
- package/dist/versioned-package/utilities/autocomplete-config.js +4 -4
- package/dist/versioned-package/utilities/localize.d.ts +3 -0
- package/dist/versioned-styles/solid-styles.css +1 -1
- package/dist/vscode.html-custom-data.json +373 -47
- package/dist/web-types.json +3335 -1813
- package/package.json +3 -3
@@ -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-
|
131
|
+
if (toastStack.querySelector("sd-3-23-1-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-
|
148
|
+
)}"><sd-3-23-1-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-
|
153
|
+
}[this.variant] || ""}" library="system" class="h-6 w-6 text-white"></sd-3-23-1-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-
|
156
|
+
)}"><slot part="message" class="block w-full pl-3 py-2" aria-live="polite"></slot>${this.closable ? html`<sd-3-23-1-button size="md" variant="tertiary" part="close-button" class="ml-auto flex flex-[0_0_auto] items-stretch" @click="${this.handleCloseClick}"><sd-3-23-1-icon label="${this.localize.term("close")}" name="close" library="system" color="currentColor"></sd-3-23-1-icon></sd-3-23-1-button>` : ""}</div>${this.durationIndicator ? html`<div part="duration-indicator__elapsed" id="duration-indicator__elapsed" style="${`animation-duration: ${this.duration}ms`}" class="${cx(`absolute w-0 h-[2px] bottom-0 bg-primary z-10 animate-grow`)}"></div><div part="duration-indicator__total" class="w-full h-[2px] bottom-0 absolute border border-neutral-400"></div>` : ""}</div>`;
|
157
157
|
}
|
158
158
|
};
|
159
159
|
SdNotification.styles = [
|
@@ -189,7 +189,7 @@ __decorateClass([
|
|
189
189
|
watch("duration")
|
190
190
|
], SdNotification.prototype, "handleDurationChange", 1);
|
191
191
|
SdNotification = __decorateClass([
|
192
|
-
customElement("sd-3-
|
192
|
+
customElement("sd-3-23-1-notification")
|
193
193
|
], SdNotification);
|
194
194
|
setDefaultAnimation("notification.show", {
|
195
195
|
keyframes: [
|
@@ -0,0 +1,20 @@
|
|
1
|
+
import SdDivider from '../divider/divider';
|
2
|
+
import SolidElement from '../../internal/solid-element';
|
3
|
+
import type { CSSResultGroup } from 'lit';
|
4
|
+
export default class SdOptgroup extends SolidElement {
|
5
|
+
static dependencies: {
|
6
|
+
'sd-3-23-1-divider': typeof SdDivider;
|
7
|
+
};
|
8
|
+
defaultSlot: HTMLSlotElement;
|
9
|
+
private handleDisableOptions;
|
10
|
+
disabled: boolean;
|
11
|
+
label: string;
|
12
|
+
handleDisabledChange(): void;
|
13
|
+
render(): import("lit").TemplateResult;
|
14
|
+
static styles: CSSResultGroup;
|
15
|
+
}
|
16
|
+
declare global {
|
17
|
+
interface HTMLElementTagNameMap {
|
18
|
+
'sd-3-23-1-optgroup': SdOptgroup;
|
19
|
+
}
|
20
|
+
}
|
@@ -0,0 +1,68 @@
|
|
1
|
+
import { css } from "lit";
|
2
|
+
import { customElement } from "../../internal/register-custom-element.js";
|
3
|
+
import { html } from "lit/static-html.js";
|
4
|
+
import { query, property } from "lit/decorators.js";
|
5
|
+
import { watch } from "../../internal/watch.js";
|
6
|
+
import componentStyles from "../../styles/component.styles.js";
|
7
|
+
import cx from "classix";
|
8
|
+
import SdDivider from "../divider/divider.js";
|
9
|
+
import SolidElement from "../../internal/solid-element.js";
|
10
|
+
var __defProp = Object.defineProperty;
|
11
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
12
|
+
var __decorateClass = (decorators, target, key, kind) => {
|
13
|
+
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
|
14
|
+
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
15
|
+
if (decorator = decorators[i])
|
16
|
+
result = (kind ? decorator(target, key, result) : decorator(result)) || result;
|
17
|
+
if (kind && result) __defProp(target, key, result);
|
18
|
+
return result;
|
19
|
+
};
|
20
|
+
let SdOptgroup = class extends SolidElement {
|
21
|
+
constructor() {
|
22
|
+
super(...arguments);
|
23
|
+
this.disabled = false;
|
24
|
+
this.label = "";
|
25
|
+
}
|
26
|
+
/**
|
27
|
+
* Syncs the disabled prop for all slotted sd-3-23-1-options when it is triggered
|
28
|
+
*/
|
29
|
+
handleDisableOptions() {
|
30
|
+
const { disabled } = this;
|
31
|
+
this.defaultSlot.assignedElements().filter((opt) => opt.tagName.toLowerCase() === "sd-3-23-1-option").forEach((opt) => {
|
32
|
+
opt.disabled = disabled;
|
33
|
+
});
|
34
|
+
}
|
35
|
+
handleDisabledChange() {
|
36
|
+
this.handleDisableOptions();
|
37
|
+
}
|
38
|
+
render() {
|
39
|
+
const { disabled } = this;
|
40
|
+
return html`<div role="${disabled ? "presentation" : "group"}" class="${cx(this.disabled ? "text-neutral-500" : "")}" part="base" aria-labelledby="group-label"><sd-3-23-1-divider id="divider" class="pt-2 pb-4" part="divider"></sd-3-23-1-divider><div part="label-container" class="${cx(this.disabled ? "text-neutral-500" : "text-black")} px-4 font-bold text-left" role="presentation" id="group-label"><slot name="label"><span>${this.label}</span></slot></div><div role="group" part="options"><slot @slotchange="${this.handleDisableOptions}"></slot></div></div>`;
|
41
|
+
}
|
42
|
+
};
|
43
|
+
SdOptgroup.dependencies = {
|
44
|
+
"sd-3-23-1-divider": SdDivider
|
45
|
+
};
|
46
|
+
SdOptgroup.styles = [
|
47
|
+
componentStyles,
|
48
|
+
SolidElement.styles,
|
49
|
+
css`:host{--display-divider:block}#divider{display:var(--display-divider)}`
|
50
|
+
];
|
51
|
+
__decorateClass([
|
52
|
+
query("slot:not([name])")
|
53
|
+
], SdOptgroup.prototype, "defaultSlot", 2);
|
54
|
+
__decorateClass([
|
55
|
+
property({ reflect: true, type: Boolean })
|
56
|
+
], SdOptgroup.prototype, "disabled", 2);
|
57
|
+
__decorateClass([
|
58
|
+
property()
|
59
|
+
], SdOptgroup.prototype, "label", 2);
|
60
|
+
__decorateClass([
|
61
|
+
watch("disabled", { waitUntilFirstUpdate: true })
|
62
|
+
], SdOptgroup.prototype, "handleDisabledChange", 1);
|
63
|
+
SdOptgroup = __decorateClass([
|
64
|
+
customElement("sd-3-23-1-optgroup")
|
65
|
+
], SdOptgroup);
|
66
|
+
export {
|
67
|
+
SdOptgroup as default
|
68
|
+
};
|
@@ -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-
|
94
|
+
)}">${this.selected ? html`<sd-3-23-1-icon part="checked-icon" class="text-white w-3 h-3" library="system" name="status-check"></sd-3-23-1-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-
|
136
|
+
customElement("sd-3-23-1-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-
|
331
|
+
customElement("sd-3-23-1-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-
|
35
|
+
)}"><slot name="expand-icon" class="${cx(this.open && "hidden")}"><sd-3-23-1-icon library="system" name="chevron-down"></sd-3-23-1-icon></slot><slot name="collapse-icon" class="${cx(!this.open && "hidden")}"><sd-3-23-1-icon library="system" name="chevron-down"></sd-3-23-1-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-
|
46
|
+
customElement("sd-3-23-1-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-
|
75
|
+
"sd-3-23-1-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-
|
124
|
+
customElement("sd-3-23-1-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-
|
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-23-1-button-group__button--first:not(.sd-3-23-1-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-23-1-button-group__button--inner) button{border-radius:var(--sd-border-radius-none,0)}:host(.sd-3-23-1-button-group__button--last:not(.sd-3-23-1-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-23-1-button-group__button:not(.sd-3-23-1-button-group__button--first)){margin-inline-start:-1px}:host(.sd-3-23-1-button-group__button--hover){z-index:10}:host(.sd-3-23-1-button-group__button--focus),:host(.sd-3-23-1-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-
|
113
|
+
customElement("sd-3-23-1-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-
|
7
|
+
'sd-3-23-1-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-
|
51
|
+
'sd-3-23-1-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-
|
70
|
+
return [...this.querySelectorAll("sd-3-23-1-radio, sd-3-23-1-radio-button")];
|
71
71
|
}
|
72
72
|
handleRadioClick(event) {
|
73
|
-
const target = event.target.closest("sd-3-
|
73
|
+
const target = event.target.closest("sd-3-23-1-radio, sd-3-23-1-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-
|
149
|
+
this.hasButtonGroup = radios.some((radio) => radio.tagName.toLowerCase() === "sd-3-23-1-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-
|
161
|
+
const buttonGroup = (_b = this.shadowRoot) == null ? void 0 : _b.querySelector("sd-3-23-1-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-
|
168
|
+
if (customElements.get("sd-3-23-1-radio") && customElements.get("sd-3-23-1-radio-button")) {
|
169
169
|
this.syncRadioElements();
|
170
170
|
return;
|
171
171
|
}
|
172
|
-
if (customElements.get("sd-3-
|
172
|
+
if (customElements.get("sd-3-23-1-radio")) {
|
173
173
|
this.syncRadioElements();
|
174
174
|
} else {
|
175
|
-
customElements.whenDefined("sd-3-
|
175
|
+
customElements.whenDefined("sd-3-23-1-radio").then(() => this.syncRadios());
|
176
176
|
}
|
177
|
-
if (customElements.get("sd-3-
|
177
|
+
if (customElements.get("sd-3-23-1-radio-button")) {
|
178
178
|
this.syncRadioElements();
|
179
179
|
} else {
|
180
|
-
customElements.whenDefined("sd-3-
|
180
|
+
customElements.whenDefined("sd-3-23-1-radio-button").then(() => this.syncRadios());
|
181
181
|
}
|
182
182
|
}
|
183
183
|
updateCheckedRadio() {
|
@@ -249,14 +249,14 @@ let SdRadioGroup = class extends SolidElement {
|
|
249
249
|
vertical: "flex-col",
|
250
250
|
horizontal: "flex-row"
|
251
251
|
}[this.orientation]
|
252
|
-
)}"><div class="sr-only"><label><input id="validation-input" type="text" ?required="${this.required}" tabindex="-1" hidden @invalid="${this.handleInvalid}"></label></div>${this.hasButtonGroup ? html`<sd-3-
|
252
|
+
)}"><div class="sr-only"><label><input id="validation-input" type="text" ?required="${this.required}" tabindex="-1" hidden @invalid="${this.handleInvalid}"></label></div>${this.hasButtonGroup ? html`<sd-3-23-1-button-group part="button-group" exportparts="base:button-group__base" role="presentation">${defaultSlot}</sd-3-23-1-button-group>` : defaultSlot}</div></fieldset>${this.formControlController.renderInvalidMessage()}`;
|
253
253
|
}
|
254
254
|
};
|
255
|
-
SdRadioGroup.dependencies = { "sd-3-
|
255
|
+
SdRadioGroup.dependencies = { "sd-3-23-1-button-group": SdButtonGroup };
|
256
256
|
SdRadioGroup.styles = [
|
257
257
|
componentStyles,
|
258
258
|
SolidElement.styles,
|
259
|
-
css`:host{display:block}:host([orientation=vertical]) ::slotted(sd-3-
|
259
|
+
css`:host{display:block}:host([orientation=vertical]) ::slotted(sd-3-23-1-radio){margin-bottom:var(--sd-spacing-2,.5rem);display:flex}:host([orientation=vertical]) ::slotted(sd-3-23-1-radio:last-of-type){margin-bottom:var(--sd-spacing-0,0)}:host([orientation=horizontal]) ::slotted(sd-3-23-1-radio){margin-right:var(--sd-spacing-6,1.5rem)}:host([orientation=horizontal]) ::slotted(sd-3-23-1-radio:last-of-type){margin-right:var(--sd-spacing-0,0)}:host([orientation=horizontal]):host([size=sm]) ::slotted(sd-3-23-1-radio){margin-right:var(--sd-spacing-4,1rem)}:host([orientation=horizontal]):host([size=sm]) ::slotted(sd-3-23-1-radio:last-of-type){margin-right:var(--sd-spacing-0,0)}:host([required]) #label::after{content:' *'}`
|
260
260
|
];
|
261
261
|
__decorateClass([
|
262
262
|
query("slot:not([name])")
|
@@ -310,7 +310,7 @@ __decorateClass([
|
|
310
310
|
watch("value")
|
311
311
|
], SdRadioGroup.prototype, "handleValueChange", 1);
|
312
312
|
SdRadioGroup = __decorateClass([
|
313
|
-
customElement("sd-3-
|
313
|
+
customElement("sd-3-23-1-radio-group")
|
314
314
|
], SdRadioGroup);
|
315
315
|
export {
|
316
316
|
SdRadioGroup as default
|
@@ -134,14 +134,14 @@ let SdScrollable = class extends SolidElement {
|
|
134
134
|
this.orientation === "auto" && "scroll-auto overflow-auto",
|
135
135
|
this.scrollbars ? "show-scrollbars" : "hide-scrollbars",
|
136
136
|
this.inset ? "p-4" : ""
|
137
|
-
)}" @scroll="${this.updateScrollIndicatorVisibility}" tabindex="0"><div part="scroll-content" class="flex-1"><slot></slot></div></div>${this.buttons ? html`${this.isScrollHorizontalEnabled ? html`${this.canScroll.left ? html`<div part="button-left" class="absolute z-10 flex items-center justify-center top-0 left-0 h-full w-8"><button part="button-start" class="${cx(scrollButtonClasses)}" @click="${(e) => this.handleScroll("left", e)}"><slot name="icon-start"><sd-3-
|
137
|
+
)}" @scroll="${this.updateScrollIndicatorVisibility}" tabindex="0"><div part="scroll-content" class="flex-1"><slot></slot></div></div>${this.buttons ? html`${this.isScrollHorizontalEnabled ? html`${this.canScroll.left ? html`<div part="button-left" class="absolute z-10 flex items-center justify-center top-0 left-0 h-full w-8"><button part="button-start" class="${cx(scrollButtonClasses)}" @click="${(e) => this.handleScroll("left", e)}"><slot name="icon-start"><sd-3-23-1-icon library="system" name="chevron-up" class="rotate-[-90deg]" label="${this.localize.term("scrollToStart")}"></sd-3-23-1-icon></slot></button></div>` : null} ${this.canScroll.right ? html`<div part="button-right" class="absolute z-10 flex items-center justify-center top-0 right-0 h-full w-8"><button part="button-end" class="${cx(scrollButtonClasses)}" @click="${(e) => this.handleScroll("right", e)}"><slot name="icon-end"><sd-3-23-1-icon library="system" name="chevron-down" class="rotate-[-90deg]" label="${this.localize.term("scrollToEnd")}"></sd-3-23-1-icon></slot></button></div>` : null}` : null} ${this.isScrollVerticalEnabled ? html`${this.canScroll.up ? html`<div part="button-top" class="absolute z-10 flex items-center justify-center top-0 left-0 w-full h-8"><button part="button-start" class="${cx(scrollButtonClasses)}" @click="${(e) => this.handleScroll("up", e)}"><slot name="icon-start"><sd-3-23-1-icon library="system" name="chevron-up" label="${this.localize.term("scrollToStart")}"></sd-3-23-1-icon></slot></button></div>` : null} ${this.canScroll.down ? html`<div part="button-bottom" class="absolute z-10 flex items-center justify-center bottom-0 left-0 w-full h-8"><button part="button-end" class="${cx(scrollButtonClasses)}" @click="${(e) => this.handleScroll("down", e)}"><slot name="icon-end"><sd-3-23-1-icon library="system" name="chevron-down" label="${this.localize.term("scrollToEnd")}"></sd-3-23-1-icon></slot></button></div>` : null}` : null}` : null} ${this.shadows ? html`${this.isScrollHorizontalEnabled ? html`${this.canScroll.left ? html`<div part="shadow-left" class="${scrollShadowClasses} left top-0 left-0 w-[6px] h-full"></div>` : null} ${this.canScroll.right ? html`<div part="shadow-right" class="${scrollShadowClasses} right top-0 right-0 w-[6px] h-full"></div>` : null}` : null} ${this.isScrollVerticalEnabled ? html`${this.canScroll.up ? html`<div part="shadow-top" class="${scrollShadowClasses} top top-0 left-0 w-full h-[6px]"></div>` : null} ${this.canScroll.down ? html`<div part="shadow-bottom" class="${scrollShadowClasses} bottom bottom-0 left-0 w-full h-[6px]"></div>` : null}` : null}` : null}`;
|
138
138
|
}
|
139
139
|
};
|
140
140
|
SdScrollable.styles = [
|
141
141
|
SolidElement.styles,
|
142
142
|
unsafeCSS(InteractiveStyles),
|
143
143
|
componentStyles,
|
144
|
-
css`:host{--gradient-color:rgba(255, 255, 255, 0);--gradient:var(--gradient-color) 0%,#fff 80%,#fff 100%;position:relative;display:flex;overflow:hidden}.hide-scrollbars{scrollbar-width:none;-ms-overflow-style:none}.hide-scrollbars::-webkit-scrollbar{display:none}.scroll-container::-webkit-scrollbar-thumb{background-color:transparent}.scroll-container:hover::-webkit-scrollbar-thumb{background:var(--background-neutral-400,#c3c3c3);border-radius:var(--sd-border-radius-sm,.125rem)}.scroll-container::-webkit-scrollbar{height:var(--sd-spacing-1,.25rem);width:var(--sd-spacing-1,.25rem)}.scroll-auto{overflow:auto}[part=button-left]{background:linear-gradient(270deg,var(--gradient))}[part=button-right]{background:linear-gradient(90deg,var(--gradient))}[part=button-top]{background:linear-gradient(0deg,var(--gradient))}[part=button-bottom]{background:linear-gradient(180deg,var(--gradient))}[part=shadow-left]{background:linear-gradient(270deg,rgba(24,24,24,0) 50%,rgba(24,24,24,.4) 100%)}[part=shadow-right]{background:linear-gradient(90deg,rgba(24,24,24,0) 50%,rgba(24,24,24,.4) 100%)}[part=shadow-top]{background:linear-gradient(0deg,rgba(24,24,24,0) 50%,rgba(24,24,24,.4) 100%)}[part=shadow-bottom]{background:linear-gradient(180deg,rgba(24,24,24,0) 50%,rgba(24,24,24,.4) 100%)}.sd-3-
|
144
|
+
css`:host{--gradient-color:rgba(255, 255, 255, 0);--gradient:var(--gradient-color) 0%,#fff 80%,#fff 100%;position:relative;display:flex;overflow:hidden}.hide-scrollbars{scrollbar-width:none;-ms-overflow-style:none}.hide-scrollbars::-webkit-scrollbar{display:none}.scroll-container::-webkit-scrollbar-thumb{background-color:transparent}.scroll-container:hover::-webkit-scrollbar-thumb{background:var(--background-neutral-400,#c3c3c3);border-radius:var(--sd-border-radius-sm,.125rem)}.scroll-container::-webkit-scrollbar{height:var(--sd-spacing-1,.25rem);width:var(--sd-spacing-1,.25rem)}.scroll-auto{overflow:auto}[part=button-left]{background:linear-gradient(270deg,var(--gradient))}[part=button-right]{background:linear-gradient(90deg,var(--gradient))}[part=button-top]{background:linear-gradient(0deg,var(--gradient))}[part=button-bottom]{background:linear-gradient(180deg,var(--gradient))}[part=shadow-left]{background:linear-gradient(270deg,rgba(24,24,24,0) 50%,rgba(24,24,24,.4) 100%)}[part=shadow-right]{background:linear-gradient(90deg,rgba(24,24,24,0) 50%,rgba(24,24,24,.4) 100%)}[part=shadow-top]{background:linear-gradient(0deg,rgba(24,24,24,0) 50%,rgba(24,24,24,.4) 100%)}[part=shadow-bottom]{background:linear-gradient(180deg,rgba(24,24,24,0) 50%,rgba(24,24,24,.4) 100%)}.sd-3-23-1-icon--top{align-self:flex-start}.sd-3-23-1-icon--down{align-self:flex-end}`
|
145
145
|
];
|
146
146
|
__decorateClass([
|
147
147
|
property({ type: String, reflect: true })
|
@@ -174,7 +174,7 @@ __decorateClass([
|
|
174
174
|
state()
|
175
175
|
], SdScrollable.prototype, "isKeyboardNavigation", 2);
|
176
176
|
SdScrollable = __decorateClass([
|
177
|
-
customElement("sd-3-
|
177
|
+
customElement("sd-3-23-1-scrollable")
|
178
178
|
], SdScrollable);
|
179
179
|
export {
|
180
180
|
SdScrollable as default
|
@@ -8,9 +8,9 @@ import type { TemplateResult } from 'lit';
|
|
8
8
|
import type SdOption from '../option/option';
|
9
9
|
export default class SdSelect extends SolidElement implements SolidFormControl {
|
10
10
|
static dependencies: {
|
11
|
-
'sd-3-
|
12
|
-
'sd-3-
|
13
|
-
'sd-3-
|
11
|
+
'sd-3-23-1-icon': typeof SdIcon;
|
12
|
+
'sd-3-23-1-popup': typeof SdPopup;
|
13
|
+
'sd-3-23-1-tag': typeof SdTag;
|
14
14
|
};
|
15
15
|
private readonly formControlController;
|
16
16
|
private readonly hasSlotController;
|
@@ -55,6 +55,7 @@ export default class SdSelect extends SolidElement implements SolidFormControl {
|
|
55
55
|
get validity(): ValidityState;
|
56
56
|
get validationMessage(): string;
|
57
57
|
connectedCallback(): void;
|
58
|
+
firstUpdated(): void;
|
58
59
|
private addOpenListeners;
|
59
60
|
private removeOpenListeners;
|
60
61
|
private handleFocus;
|
@@ -62,10 +63,13 @@ export default class SdSelect extends SolidElement implements SolidFormControl {
|
|
62
63
|
private handleDocumentFocusIn;
|
63
64
|
private handleDocumentKeyDown;
|
64
65
|
private handleDocumentMouseDown;
|
66
|
+
private handleTagKeyDown;
|
67
|
+
private handleTagMaxOptionsKeyDown;
|
65
68
|
private handleLabelClick;
|
66
69
|
private handleComboboxMouseDown;
|
67
70
|
private handleComboboxKeyDown;
|
68
71
|
private handleClearClick;
|
72
|
+
private clearSelect;
|
69
73
|
private handleClearMouseDown;
|
70
74
|
private handleOptionClick;
|
71
75
|
private handleDefaultSlotChange;
|
@@ -76,7 +80,7 @@ export default class SdSelect extends SolidElement implements SolidFormControl {
|
|
76
80
|
private setSelectedOptions;
|
77
81
|
private toggleOptionSelection;
|
78
82
|
private selectionChanged;
|
79
|
-
protected get tags(): TemplateResult<1>[];
|
83
|
+
protected get tags(): (TemplateResult<1> | TemplateResult<1>[])[];
|
80
84
|
private handleInvalid;
|
81
85
|
private handleMouseEnter;
|
82
86
|
private handleMouseLeave;
|
@@ -99,6 +103,6 @@ export default class SdSelect extends SolidElement implements SolidFormControl {
|
|
99
103
|
}
|
100
104
|
declare global {
|
101
105
|
interface HTMLElementTagNameMap {
|
102
|
-
'sd-3-
|
106
|
+
'sd-3-23-1-select': SdSelect;
|
103
107
|
}
|
104
108
|
}
|