@solid-design-system/components 3.22.6 → 3.22.8
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/components/es/button.js +1 -1
- package/dist/components/es/carousel.js +8 -3
- package/dist/components/es/map-marker.js +1 -1
- package/dist/components/es/query-assigned-elements.js +1 -1
- package/dist/components/es/solid-components2.js +5 -5
- package/dist/components/umd/solid-components.js +22 -16
- package/dist/custom-elements.json +1 -1
- package/dist/package/components/button/button.js +2 -2
- package/dist/package/components/carousel/carousel.d.ts +5 -1
- package/dist/package/components/carousel/carousel.js +63 -23
- package/dist/package/translations/de.js +3 -2
- package/dist/package/translations/en.js +3 -2
- package/dist/package/utilities/localize.d.ts +2 -1
- 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 +8 -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/query-assigned-elements.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 +5 -5
- 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 +6 -6
- package/dist/versioned-package/components/carousel/carousel.d.ts +6 -2
- package/dist/versioned-package/components/carousel/carousel.js +67 -27
- 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 +3 -3
- package/dist/versioned-package/components/link/link.d.ts +1 -1
- package/dist/versioned-package/components/link/link.js +2 -2
- package/dist/versioned-package/components/map-marker/map-marker.d.ts +1 -1
- package/dist/versioned-package/components/map-marker/map-marker.js +1 -1
- package/dist/versioned-package/components/navigation-item/navigation-item.d.ts +1 -1
- package/dist/versioned-package/components/navigation-item/navigation-item.js +5 -5
- package/dist/versioned-package/components/notification/notification.d.ts +1 -1
- package/dist/versioned-package/components/notification/notification.js +5 -5
- package/dist/versioned-package/components/option/option.d.ts +1 -1
- package/dist/versioned-package/components/option/option.js +2 -2
- package/dist/versioned-package/components/popup/popup.d.ts +1 -1
- package/dist/versioned-package/components/popup/popup.js +1 -1
- package/dist/versioned-package/components/quickfact/quickfact.d.ts +1 -1
- package/dist/versioned-package/components/quickfact/quickfact.js +2 -2
- package/dist/versioned-package/components/radio/radio.d.ts +1 -1
- package/dist/versioned-package/components/radio/radio.js +2 -2
- package/dist/versioned-package/components/radio-button/radio-button.d.ts +1 -1
- package/dist/versioned-package/components/radio-button/radio-button.js +2 -2
- package/dist/versioned-package/components/radio-group/radio-group.d.ts +2 -2
- package/dist/versioned-package/components/radio-group/radio-group.js +13 -13
- package/dist/versioned-package/components/scrollable/scrollable.d.ts +1 -1
- package/dist/versioned-package/components/scrollable/scrollable.js +3 -3
- package/dist/versioned-package/components/select/select.d.ts +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/translations/de.js +3 -2
- package/dist/versioned-package/translations/en.js +3 -2
- package/dist/versioned-package/utilities/autocomplete-config.js +4 -4
- package/dist/versioned-package/utilities/localize.d.ts +2 -1
- package/dist/versioned-styles/solid-styles.css +1 -1
- package/dist/vscode.html-custom-data.json +47 -47
- package/dist/web-types.json +76 -48
- package/package.json +2 -2
@@ -191,7 +191,7 @@ let SdButton = class extends SolidElement {
|
|
191
191
|
active:bg-accent-700
|
192
192
|
${!this.inverted ? "disabled:bg-neutral-500" : "disabled:bg-neutral-600"} disabled:text-white`
|
193
193
|
}[this.variant]
|
194
|
-
)}" ?disabled="${ifDefined(isLink ? void 0 : this.disabled)}" type="${ifDefined(isLink ? void 0 : this.type)}" title="${this.title}" name="${ifDefined(isLink ? void 0 : this.name)}" value="${ifDefined(isLink ? void 0 : this.value)}" href="${ifDefined(isLink ? this.href : void 0)}" target="${ifDefined(isLink ? this.target : void 0)}" download="${ifDefined(isLink ? this.download : void 0)}" rel="${ifDefined(isLink && this.target ? "noreferrer noopener" : void 0)}" role="${ifDefined(isLink ? void 0 : "button")}" aria-disabled="${this.disabled ? "true" : "false"}" tabindex="${this.disabled ? "-1" : "0"}" @blur="${this.handleBlur}" @focus="${this.handleFocus}" @invalid="${this.isButton() ? this.handleInvalid : null}" @click="${this.handleClick}"><slot name="icon-left" part="icon-left" class="${cx(
|
194
|
+
)}" ?disabled="${ifDefined(isLink ? void 0 : this.disabled)}" type="${ifDefined(isLink ? void 0 : this.type)}" title="${this.title}" name="${ifDefined(isLink ? void 0 : this.name)}" value="${ifDefined(isLink ? void 0 : this.value)}" href="${ifDefined(isLink ? this.href : void 0)}" target="${ifDefined(isLink ? this.target : void 0)}" download="${ifDefined(isLink ? this.download : void 0)}" rel="${ifDefined(isLink && this.target ? "noreferrer noopener" : void 0)}" role="${ifDefined(isLink ? void 0 : "button")}" aria-disabled="${this.disabled ? "true" : "false"}" aria-labelledby="content" tabindex="${this.disabled ? "-1" : "0"}" @blur="${this.handleBlur}" @focus="${this.handleFocus}" @invalid="${this.isButton() ? this.handleInvalid : null}" @click="${this.handleClick}"><slot name="icon-left" part="icon-left" class="${cx(
|
195
195
|
"flex flex-auto items-center pointer-events-none",
|
196
196
|
slots["icon-only"] && "hidden",
|
197
197
|
this.loading && "invisible",
|
@@ -200,7 +200,7 @@ let SdButton = class extends SolidElement {
|
|
200
200
|
md: "mr-2",
|
201
201
|
lg: "mr-2"
|
202
202
|
}[this.size]
|
203
|
-
)}"></slot><slot part="label" class="${cx(
|
203
|
+
)}"></slot><slot part="label" id="content" class="${cx(
|
204
204
|
slots["icon-only"] ? "flex flex-auto items-center pointer-events-none" : "inline-block",
|
205
205
|
this.loading && "invisible"
|
206
206
|
)}"></slot><slot name="icon-right" part="icon-right" class="${cx(
|
@@ -212,19 +212,19 @@ let SdButton = class extends SolidElement {
|
|
212
212
|
md: "ml-2",
|
213
213
|
lg: "ml-2"
|
214
214
|
}[this.size]
|
215
|
-
)}"></slot>${this.loading ? html`<sd-3-22-
|
215
|
+
)}"></slot>${this.loading ? html`<sd-3-22-8-spinner class="${cx("absolute top-1/2 left-1/2 transform -translate-x-1/2 -translate-y-1/2")}"></sd-3-22-8-spinner>` : ""}</${tag}>`;
|
216
216
|
}
|
217
217
|
};
|
218
218
|
SdButton.styles = [
|
219
219
|
componentStyles,
|
220
220
|
SolidElement.styles,
|
221
|
-
css`:host{position:relative;display:inline-block;width:var(--sd-spacing-auto,auto);cursor:pointer}sd-3-22-
|
221
|
+
css`:host{position:relative;display:inline-block;width:var(--sd-spacing-auto,auto);cursor:pointer}sd-3-22-8-spinner{--indicator-color:currentColor;--track-color:var(--tw-varcolor-200)}::slotted(sd-3-22-8-badge){pointer-events:none;position:absolute;top:var(--sd-spacing-0,0);right:var(--sd-spacing-0,0);--tw-translate-x:50%!important;--tw-translate-y:-50%!important;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}::slotted(sd-3-22-8-icon),sd-3-22-8-spinner{font-size:calc(var(--tw-varspacing)/ 2)}`
|
222
222
|
];
|
223
223
|
__decorateClass([
|
224
224
|
query("a, button")
|
225
225
|
], SdButton.prototype, "button", 2);
|
226
226
|
__decorateClass([
|
227
|
-
queryAssignedElements({ selector: "sd-3-22-
|
227
|
+
queryAssignedElements({ selector: "sd-3-22-8-icon" })
|
228
228
|
], SdButton.prototype, "_iconsInDefaultSlot", 2);
|
229
229
|
__decorateClass([
|
230
230
|
state()
|
@@ -287,7 +287,7 @@ __decorateClass([
|
|
287
287
|
watch("disabled", { waitUntilFirstUpdate: true })
|
288
288
|
], SdButton.prototype, "handleDisabledChange", 1);
|
289
289
|
SdButton = __decorateClass([
|
290
|
-
customElement("sd-3-22-
|
290
|
+
customElement("sd-3-22-8-button")
|
291
291
|
], SdButton);
|
292
292
|
export {
|
293
293
|
SdButton as default
|
@@ -5,6 +5,7 @@ export default class SdCarousel extends SolidElement {
|
|
5
5
|
autoplayControls: HTMLElement;
|
6
6
|
previousButton: HTMLButtonElement;
|
7
7
|
nextButton: HTMLButtonElement;
|
8
|
+
paginationItems: HTMLButtonElement[];
|
8
9
|
variant: 'dot' | 'number';
|
9
10
|
inverted: boolean;
|
10
11
|
loop: boolean;
|
@@ -33,9 +34,12 @@ export default class SdCarousel extends SolidElement {
|
|
33
34
|
private handleKeyDown;
|
34
35
|
private handleScrollEnd;
|
35
36
|
private handleSlotChange;
|
37
|
+
private unblockAutoplay;
|
38
|
+
pause(): void;
|
39
|
+
resume(): void;
|
36
40
|
handlePausedAutoplay(): void;
|
37
41
|
initializeSlides(): void;
|
38
|
-
|
42
|
+
handleSlideChange(): void;
|
39
43
|
handleSlidesPerMoveChange(): void;
|
40
44
|
handleAutoplayChange(): void;
|
41
45
|
previous(behavior?: ScrollBehavior): void;
|
@@ -47,6 +51,6 @@ export default class SdCarousel extends SolidElement {
|
|
47
51
|
}
|
48
52
|
declare global {
|
49
53
|
interface HTMLElementTagNameMap {
|
50
|
-
'sd-3-22-
|
54
|
+
'sd-3-22-8-carousel': SdCarousel;
|
51
55
|
}
|
52
56
|
}
|
@@ -6,7 +6,7 @@ import { customElement } from "../../internal/register-custom-element.js";
|
|
6
6
|
import { LocalizeController } from "../../utilities/localize.js";
|
7
7
|
import { map } from "lit/directives/map.js";
|
8
8
|
import { prefersReducedMotion } from "../../internal/animate.js";
|
9
|
-
import { query, property, state } from "lit/decorators.js";
|
9
|
+
import { query, queryAll, property, state } from "lit/decorators.js";
|
10
10
|
import { range } from "lit/directives/range.js";
|
11
11
|
import { ScrollController } from "./scroll-controller.js";
|
12
12
|
import { watch } from "../../internal/watch.js";
|
@@ -39,7 +39,7 @@ let SdCarousel = class extends SolidElement {
|
|
39
39
|
this.pausedAutoplay = false;
|
40
40
|
this.autoplayController = new AutoplayController(this, () => this.next());
|
41
41
|
this.scrollController = new ScrollController(this);
|
42
|
-
this.slides = this.getElementsByTagName("sd-3-22-
|
42
|
+
this.slides = this.getElementsByTagName("sd-3-22-8-carousel-item");
|
43
43
|
this.intersectionObserverEntries = /* @__PURE__ */ new Map();
|
44
44
|
this.localize = new LocalizeController(this);
|
45
45
|
this.handleSlotChange = (mutations) => {
|
@@ -53,6 +53,11 @@ let SdCarousel = class extends SolidElement {
|
|
53
53
|
}
|
54
54
|
this.requestUpdate();
|
55
55
|
};
|
56
|
+
this.unblockAutoplay = (e, button) => {
|
57
|
+
if (e.detail) {
|
58
|
+
button.blur();
|
59
|
+
}
|
60
|
+
};
|
56
61
|
}
|
57
62
|
connectedCallback() {
|
58
63
|
super.connectedCallback();
|
@@ -146,14 +151,27 @@ let SdCarousel = class extends SolidElement {
|
|
146
151
|
this.activeSlide = slides.indexOf(firstIntersecting.target);
|
147
152
|
}
|
148
153
|
}
|
154
|
+
/**
|
155
|
+
* Pause the autoplay.
|
156
|
+
*/
|
157
|
+
pause() {
|
158
|
+
this.pausedAutoplay = true;
|
159
|
+
}
|
160
|
+
/**
|
161
|
+
* Resume the autoplay
|
162
|
+
*/
|
163
|
+
resume() {
|
164
|
+
this.pausedAutoplay = false;
|
165
|
+
}
|
149
166
|
handlePausedAutoplay() {
|
150
|
-
var _a;
|
167
|
+
var _a, _b;
|
151
168
|
if (this.pausedAutoplay) {
|
152
169
|
this.autoplayController.stop();
|
170
|
+
(_a = this.autoplayControls) == null ? void 0 : _a.setAttribute("aria-pressed", "false");
|
153
171
|
} else if (this.autoplay) {
|
154
172
|
this.autoplayController.start(3e3);
|
173
|
+
(_b = this.autoplayControls) == null ? void 0 : _b.setAttribute("aria-pressed", "true");
|
155
174
|
}
|
156
|
-
(_a = this.autoplayControls) == null ? void 0 : _a.blur();
|
157
175
|
}
|
158
176
|
initializeSlides() {
|
159
177
|
const slides = this.getSlides();
|
@@ -163,7 +181,7 @@ let SdCarousel = class extends SolidElement {
|
|
163
181
|
intersectionObserver.unobserve(slide);
|
164
182
|
slide.classList.remove("--in-view");
|
165
183
|
slide.classList.remove("--is-active");
|
166
|
-
slide.setAttribute("aria-label", this.localize.term("slideNum", index + 1));
|
184
|
+
slide.setAttribute("aria-label", this.localize.term("slideNum", index + 1, slides.length));
|
167
185
|
if (slide.hasAttribute("data-clone")) {
|
168
186
|
slide.remove();
|
169
187
|
}
|
@@ -188,17 +206,20 @@ let SdCarousel = class extends SolidElement {
|
|
188
206
|
});
|
189
207
|
this.goToSlide(this.activeSlide, "auto");
|
190
208
|
}
|
191
|
-
|
192
|
-
this.currentPage = SdCarousel.getCurrentPage(
|
193
|
-
this.getSlides().length,
|
194
|
-
this.activeSlide,
|
195
|
-
this.slidesPerPage,
|
196
|
-
this.slidesPerMove
|
197
|
-
);
|
209
|
+
handleSlideChange() {
|
198
210
|
const slides = this.getSlides();
|
199
211
|
slides.forEach((slide, i) => {
|
200
212
|
slide.classList.toggle("--is-active", i === this.activeSlide);
|
201
213
|
});
|
214
|
+
const newCurrentPage = SdCarousel.getCurrentPage(
|
215
|
+
slides.length,
|
216
|
+
this.activeSlide,
|
217
|
+
this.slidesPerPage,
|
218
|
+
this.slidesPerMove
|
219
|
+
);
|
220
|
+
if (this.currentPage !== newCurrentPage) {
|
221
|
+
this.currentPage = newCurrentPage;
|
222
|
+
}
|
202
223
|
if (this.hasUpdated) {
|
203
224
|
this.emit("sd-slide-change", {
|
204
225
|
detail: {
|
@@ -207,8 +228,11 @@ let SdCarousel = class extends SolidElement {
|
|
207
228
|
}
|
208
229
|
});
|
209
230
|
}
|
210
|
-
|
211
|
-
|
231
|
+
const pageCount = SdCarousel.getPageCount(slides.length, this.slidesPerPage, this.slidesPerMove);
|
232
|
+
if (this.currentPage > pageCount) {
|
233
|
+
requestAnimationFrame(() => {
|
234
|
+
this.nextTillFirst();
|
235
|
+
});
|
212
236
|
}
|
213
237
|
}
|
214
238
|
handleSlidesPerMoveChange() {
|
@@ -235,7 +259,6 @@ let SdCarousel = class extends SolidElement {
|
|
235
259
|
* @param behavior - The behavior used for scrolling.
|
236
260
|
*/
|
237
261
|
previous(behavior = "smooth") {
|
238
|
-
var _a;
|
239
262
|
let previousIndex = this.activeSlide || this.activeSlide - this.slidesPerMove;
|
240
263
|
let canSnap = false;
|
241
264
|
while (!canSnap && previousIndex > 0) {
|
@@ -247,7 +270,6 @@ let SdCarousel = class extends SolidElement {
|
|
247
270
|
} else {
|
248
271
|
this.goToSlide(previousIndex, behavior);
|
249
272
|
}
|
250
|
-
(_a = this.previousButton) == null ? void 0 : _a.blur();
|
251
273
|
}
|
252
274
|
/**
|
253
275
|
* Move the carousel forward by `slides-per-move` slides.
|
@@ -255,7 +277,6 @@ let SdCarousel = class extends SolidElement {
|
|
255
277
|
* @param behavior - The behavior used for scrolling.
|
256
278
|
*/
|
257
279
|
next(behavior = "smooth") {
|
258
|
-
var _a;
|
259
280
|
if (this.currentPage + 1 <= SdCarousel.getPageCount(this.getSlides().length, this.slidesPerPage, this.slidesPerMove)) {
|
260
281
|
this.goToSlide(this.activeSlide + this.slidesPerMove, behavior);
|
261
282
|
} else {
|
@@ -263,7 +284,6 @@ let SdCarousel = class extends SolidElement {
|
|
263
284
|
this.nextTillFirst(behavior);
|
264
285
|
}
|
265
286
|
}
|
266
|
-
(_a = this.nextButton) == null ? void 0 : _a.blur();
|
267
287
|
}
|
268
288
|
nextTillFirst(behavior = "smooth") {
|
269
289
|
while (this.activeSlide !== 0) {
|
@@ -297,6 +317,11 @@ let SdCarousel = class extends SolidElement {
|
|
297
317
|
top: nextSlideRect.top - scrollContainerRect.top + scrollContainer.scrollTop,
|
298
318
|
behavior: prefersReducedMotion() ? "auto" : behavior
|
299
319
|
});
|
320
|
+
if (this.activeSlide === slides.length - 1 && !this.loop) {
|
321
|
+
this.previousButton.focus({ preventScroll: true });
|
322
|
+
} else if (this.activeSlide === 0 && !this.loop) {
|
323
|
+
this.nextButton.focus({ preventScroll: true });
|
324
|
+
}
|
300
325
|
}
|
301
326
|
render() {
|
302
327
|
const { scrollController, slidesPerMove } = this;
|
@@ -316,18 +341,24 @@ let SdCarousel = class extends SolidElement {
|
|
316
341
|
this.inverted ? "focus-visible:focus-outline-inverted" : "focus-visible:focus-outline",
|
317
342
|
`overscroll-x-contain grid-flow-col auto-rows-[100%]
|
318
343
|
snap-x snap-mandatory overflow-y-hidden`
|
319
|
-
)}" style="--slides-per-page:${this.slidesPerPage}" aria-busy="${scrollController.scrolling ? "true" : "false"}"
|
344
|
+
)}" style="--slides-per-page:${this.slidesPerPage}" aria-busy="${scrollController.scrolling ? "true" : "false"}" role="status" tabindex="0" @keydown="${this.handleKeyDown}" @scrollend="${this.handleScrollEnd}"><slot></slot></div><div part="controls" class="${cx("w-full flex items-center justify-center relative")}"><div part="navigation" class="${cx("carousel__navigation flex items-center justify-center")}"><button part="navigation-button navigation-button--previous" id="carousel__navigation-button--previous" ?disabled="${!prevEnabled ? true : false}" class="${cx(
|
320
345
|
"!mr-6 !rounded-sm sd-interactive",
|
321
346
|
!prevEnabled && "sd-interactive--disabled",
|
322
347
|
this.inverted ? "sd-interactive--inverted" : "sd-interactive--reset"
|
323
|
-
)}" aria-label="${this.localize.term("previousSlide")}" aria-controls="scroll-container" aria-disabled="${prevEnabled ? "false" : "true"}" @click="${prevEnabled ? () =>
|
348
|
+
)}" aria-label="${this.localize.term("previousSlide")}" aria-controls="scroll-container" aria-disabled="${prevEnabled ? "false" : "true"}" @click="${prevEnabled ? (e) => {
|
349
|
+
this.previous();
|
350
|
+
this.unblockAutoplay(e, this.previousButton);
|
351
|
+
} : null}"><slot name="previous-icon"><sd-3-22-8-icon class="${cx("h-6 w-6 rotate-90 grid place-items-center")}" library="system" name="${isLtr ? "chevron-down" : "chevron-up"}"></sd-3-22-8-icon></slot></button> ${this.variant === "dot" ? html`<div part="pagination-dot" role="tablist" class="${cx("carousel__pagination dot flex wrap items-center gap-2")}" aria-controls="scroll-container">${map(range(pagesCount), (index) => {
|
324
352
|
const isActive = index + 1 === currentPage;
|
325
353
|
return html`<button part="pagination-item ${isActive ? "pagination-item--active" : ""}" class="${cx(
|
326
354
|
"carousel__pagination-item",
|
327
355
|
"block cursor-pointer bg-none border-0 rounded-full",
|
328
356
|
isActive ? "bg-accent" : "",
|
329
357
|
this.inverted ? "focus-within:focus-outline-inverted" : "focus-within:focus-outline"
|
330
|
-
)}" role="tab" tabindex="0" aria-selected="${isActive ? "true" : "false"}" aria-label="${this.localize.term("goToSlide", index + 1, pagesCount)}" @click="${() =>
|
358
|
+
)}" role="tab" tabindex="0" aria-selected="${isActive ? "true" : "false"}" aria-label="${this.localize.term("goToSlide", index + 1, pagesCount)}" @click="${(e) => {
|
359
|
+
this.goToSlide(index * slidesPerMove);
|
360
|
+
this.unblockAutoplay(e, this.paginationItems[index]);
|
361
|
+
}}" @keydown="${this.handleKeyDown}"><span class="${cx(
|
331
362
|
"h-4 w-4 block border hover:border-primary-500 rounded-full",
|
332
363
|
this.inverted ? "border-white hover:border-primary-500" : "border-primary",
|
333
364
|
isActive && "bg-accent border-none",
|
@@ -337,21 +368,27 @@ let SdCarousel = class extends SolidElement {
|
|
337
368
|
"!ml-6 !rounded-sm sd-interactive ",
|
338
369
|
!nextEnabled && "sd-interactive--disabled",
|
339
370
|
this.inverted ? "sd-interactive--inverted" : "sd-interactive--reset"
|
340
|
-
)}" aria-label="${this.localize.term("nextSlide")}" aria-controls="scroll-container" aria-disabled="${nextEnabled ? "false" : "true"}" @click="${nextEnabled ? () => {
|
371
|
+
)}" aria-label="${this.localize.term("nextSlide")}" aria-controls="scroll-container" aria-disabled="${nextEnabled ? "false" : "true"}" @click="${nextEnabled ? (e) => {
|
341
372
|
this.next();
|
342
|
-
|
373
|
+
this.unblockAutoplay(e, this.nextButton);
|
374
|
+
} : null}"><slot name="next-icon"><sd-3-22-8-icon class="${cx("h-6 w-6 rotate-90 grid place-items-center")}" library="system" name="${isLtr ? "chevron-up" : "chevron-down"}"></sd-3-22-8-icon></slot></button></div><button class="${cx(
|
343
375
|
"ml-6 !rounded-sm",
|
344
376
|
"!absolute !right-0 sd-interactive",
|
345
377
|
this.inverted ? "sd-interactive--inverted" : "sd-interactive--reset",
|
346
378
|
!this.autoplay && "!hidden"
|
347
|
-
)}" part="autoplay-controls"
|
379
|
+
)}" part="autoplay-controls" aria-label="${this.localize.term("autoplay")}" aria-pressed="true" @click="${(e) => {
|
380
|
+
this.pausedAutoplay = !this.pausedAutoplay;
|
381
|
+
if (e.detail) {
|
382
|
+
this.autoplayControls.blur();
|
383
|
+
}
|
384
|
+
}}"><slot name="autoplay-start" class="${cx(!this.pausedAutoplay ? "hidden" : "")}"><sd-3-22-8-icon class="h-6 w-6 grid place-items-center" library="system" name="start"></sd-3-22-8-icon></slot><slot name="autoplay-pause" class="${cx(this.pausedAutoplay ? "hidden" : "")}"><sd-3-22-8-icon class="h-6 w-6 grid place-items-center" library="system" name="pause"></sd-3-22-8-icon></slot></button></div></div>`;
|
348
385
|
}
|
349
386
|
};
|
350
387
|
SdCarousel.styles = [
|
351
388
|
SolidElement.styles,
|
352
389
|
unsafeCSS(InteractiveStyles),
|
353
390
|
componentStyles,
|
354
|
-
css`:host{--slide-gap:var(--sl-spacing-medium, 1rem);--scroll-hint:0px;display:flex}.carousel{grid-template-areas:'. slides .' '. pagination .'}.carousel__pagination{grid-area:pagination}.carousel__slides{grid-area:slides;scrollbar-width:none;--slide-size:calc((100% - (var(--slides-per-page) - 1) * var(--slide-gap)) / var(--slides-per-page));grid-auto-columns:var(--slide-size);-moz-column-gap:var(--slide-gap);column-gap:var(--slide-gap);scroll-padding-inline:var(--scroll-hint);padding-inline:var(--scroll-hint)}.carousel__slides::-webkit-scrollbar{display:none}@media (prefers-reduced-motion){:where(.carousel__slides){scroll-behavior:auto}}.carousel__navigation{grid-area:navigation}sd-3-22-
|
391
|
+
css`:host{--slide-gap:var(--sl-spacing-medium, 1rem);--scroll-hint:0px;display:flex}.carousel{grid-template-areas:'. slides .' '. pagination .'}.carousel__pagination{grid-area:pagination}.carousel__slides{grid-area:slides;scrollbar-width:none;--slide-size:calc((100% - (var(--slides-per-page) - 1) * var(--slide-gap)) / var(--slides-per-page));grid-auto-columns:var(--slide-size);-moz-column-gap:var(--slide-gap);column-gap:var(--slide-gap);scroll-padding-inline:var(--scroll-hint);padding-inline:var(--scroll-hint)}.carousel__slides::-webkit-scrollbar{display:none}@media (prefers-reduced-motion){:where(.carousel__slides){scroll-behavior:auto}}.carousel__navigation{grid-area:navigation}sd-3-22-8-button::part(label){pointer-events:none;display:flex;flex:1 1 auto;align-items:center}`
|
355
392
|
];
|
356
393
|
__decorateClass([
|
357
394
|
query('[part~="autoplay-controls"]')
|
@@ -362,6 +399,9 @@ __decorateClass([
|
|
362
399
|
__decorateClass([
|
363
400
|
query('[part~="navigation-button--next"]')
|
364
401
|
], SdCarousel.prototype, "nextButton", 2);
|
402
|
+
__decorateClass([
|
403
|
+
queryAll('[part~="pagination-item"]')
|
404
|
+
], SdCarousel.prototype, "paginationItems", 2);
|
365
405
|
__decorateClass([
|
366
406
|
property({ type: String, reflect: true })
|
367
407
|
], SdCarousel.prototype, "variant", 2);
|
@@ -407,7 +447,7 @@ __decorateClass([
|
|
407
447
|
], SdCarousel.prototype, "initializeSlides", 1);
|
408
448
|
__decorateClass([
|
409
449
|
watch("activeSlide")
|
410
|
-
], SdCarousel.prototype, "
|
450
|
+
], SdCarousel.prototype, "handleSlideChange", 1);
|
411
451
|
__decorateClass([
|
412
452
|
watch("slidesPerMove")
|
413
453
|
], SdCarousel.prototype, "handleSlidesPerMoveChange", 1);
|
@@ -415,7 +455,7 @@ __decorateClass([
|
|
415
455
|
watch("autoplay")
|
416
456
|
], SdCarousel.prototype, "handleAutoplayChange", 1);
|
417
457
|
SdCarousel = __decorateClass([
|
418
|
-
customElement("sd-3-22-
|
458
|
+
customElement("sd-3-22-8-carousel")
|
419
459
|
], SdCarousel);
|
420
460
|
export {
|
421
461
|
SdCarousel as default
|
@@ -30,7 +30,7 @@ SdCarouselItem.styles = [
|
|
30
30
|
css`:host{aspect-ratio:var(--aspect-ratio);scroll-snap-align:start;scroll-snap-stop:always;display:flex;height:100%;width:100%;flex-direction:column;align-items:center;justify-content:center}::slotted(img){height:100%;width:100%;-o-object-fit:cover;object-fit:cover}`
|
31
31
|
];
|
32
32
|
SdCarouselItem = __decorateClass([
|
33
|
-
customElement("sd-3-22-
|
33
|
+
customElement("sd-3-22-8-carousel-item")
|
34
34
|
], SdCarouselItem);
|
35
35
|
export {
|
36
36
|
SdCarouselItem as default
|
@@ -109,7 +109,7 @@ let SdCheckbox = class extends SolidElement {
|
|
109
109
|
render() {
|
110
110
|
const checkboxState = this.disabled && this.indeterminate ? "disabledIndeterminate" : this.disabled && this.checked ? "disabledChecked" : this.disabled ? "disabled" : this.showInvalidStyle && this.indeterminate ? "invalidIndeterminate" : this.showInvalidStyle ? "invalid" : this.checked || this.indeterminate ? "filled" : "default";
|
111
111
|
return html`<label part="base" class="${cx(
|
112
|
-
"sd-3-22-
|
112
|
+
"sd-3-22-8-checkbox group flex items-start text-base leading-normal text-black cursor-pointer",
|
113
113
|
this.disabled && "hover:cursor-not-allowed",
|
114
114
|
{
|
115
115
|
/* sizes, fonts */
|
@@ -135,7 +135,7 @@ let SdCheckbox = class extends SolidElement {
|
|
135
135
|
filled: "border-accent hover:border-accent-550 group-hover:border-accent-550 bg-accent group-hover:bg-accent-550",
|
136
136
|
default: "border-neutral-800 hover:bg-neutral-200 group-hover:bg-neutral-200 bg-white"
|
137
137
|
}[checkboxState]
|
138
|
-
)}">${this.checked ? html`<sd-3-22-
|
138
|
+
)}">${this.checked ? html`<sd-3-22-8-icon part="checked-icon" class="text-white w-3 h-3" library="system" name="status-check"></sd-3-22-8-icon>` : ""} ${!this.checked && this.indeterminate ? html`<sd-3-22-8-icon part="indeterminate-icon" class="text-white w-3 h-3" library="system" name="status-minus"></sd-3-22-8-icon>` : ""} </span><span part="label" id="label" class="${cx(
|
139
139
|
"select-none inline-block ml-2",
|
140
140
|
this.disabled ? "text-neutral-500" : this.showInvalidStyle ? "text-error" : "text-black"
|
141
141
|
)}"><slot></slot></span></label> ${this.formControlController.renderInvalidMessage()}`;
|
@@ -191,7 +191,7 @@ __decorateClass([
|
|
191
191
|
watch(["checked", "indeterminate"], { waitUntilFirstUpdate: true })
|
192
192
|
], SdCheckbox.prototype, "handleStateChange", 1);
|
193
193
|
SdCheckbox = __decorateClass([
|
194
|
-
customElement("sd-3-22-
|
194
|
+
customElement("sd-3-22-8-checkbox")
|
195
195
|
], SdCheckbox);
|
196
196
|
export {
|
197
197
|
SdCheckbox as default
|
@@ -26,7 +26,7 @@ let SdCheckboxGroup = class extends SolidElement {
|
|
26
26
|
this.label = "";
|
27
27
|
}
|
28
28
|
getAllCheckboxes() {
|
29
|
-
return [...this.querySelectorAll("sd-3-22-
|
29
|
+
return [...this.querySelectorAll("sd-3-22-8-checkbox")];
|
30
30
|
}
|
31
31
|
async syncCheckboxElements() {
|
32
32
|
const checkboxes = this.getAllCheckboxes();
|
@@ -42,10 +42,10 @@ let SdCheckboxGroup = class extends SolidElement {
|
|
42
42
|
}
|
43
43
|
}
|
44
44
|
syncCheckboxes() {
|
45
|
-
if (customElements.get("sd-3-22-
|
45
|
+
if (customElements.get("sd-3-22-8-checkbox")) {
|
46
46
|
this.syncCheckboxElements();
|
47
47
|
} else {
|
48
|
-
customElements.whenDefined("sd-3-22-
|
48
|
+
customElements.whenDefined("sd-3-22-8-checkbox").then(() => this.syncCheckboxes());
|
49
49
|
}
|
50
50
|
}
|
51
51
|
handleSizeChange() {
|
@@ -77,7 +77,7 @@ let SdCheckboxGroup = class extends SolidElement {
|
|
77
77
|
SdCheckboxGroup.styles = [
|
78
78
|
componentStyles,
|
79
79
|
SolidElement.styles,
|
80
|
-
css`:host{display:block}:host([orientation=vertical]) ::slotted(sd-3-22-
|
80
|
+
css`:host{display:block}:host([orientation=vertical]) ::slotted(sd-3-22-8-checkbox){margin-bottom:var(--sd-spacing-2,.5rem);display:flex}:host([orientation=vertical]) ::slotted(sd-3-22-8-checkbox:last-of-type){margin-bottom:var(--sd-spacing-0,0)}:host([orientation=horizontal]) ::slotted(sd-3-22-8-checkbox){margin-right:var(--sd-spacing-6,1.5rem)}:host([orientation=horizontal]) ::slotted(sd-3-22-8-checkbox:last-of-type){margin-right:var(--sd-spacing-0,0)}:host([orientation=horizontal]):host([size=sm]) ::slotted(sd-3-22-8-checkbox){margin-right:var(--sd-spacing-4,1rem)}:host([orientation=horizontal]):host([size=sm]) ::slotted(sd-3-22-8-checkbox:last-of-type){margin-right:var(--sd-spacing-0,0)}`
|
81
81
|
];
|
82
82
|
__decorateClass([
|
83
83
|
property({ reflect: true })
|
@@ -95,7 +95,7 @@ __decorateClass([
|
|
95
95
|
watch("invalid", { waitUntilFirstUpdate: true })
|
96
96
|
], SdCheckboxGroup.prototype, "handleInvalid", 1);
|
97
97
|
SdCheckboxGroup = __decorateClass([
|
98
|
-
customElement("sd-3-22-
|
98
|
+
customElement("sd-3-22-8-checkbox-group")
|
99
99
|
], SdCheckboxGroup);
|
100
100
|
export {
|
101
101
|
SdCheckboxGroup as default
|
@@ -157,7 +157,7 @@ let SdDialog = class extends SolidElement {
|
|
157
157
|
)}"><div part="overlay" class="fixed inset-0 bg-primary-800 opacity-90" @click="${() => this.requestClose("overlay")}" tabindex="-1"></div><div part="panel" class="${cx(
|
158
158
|
"flex flex-col z-20 bg-white focus:outline-none py-4 sm:py-8 relative gap-6",
|
159
159
|
this.open && "flex opacity-100"
|
160
|
-
)}" role="dialog" aria-modal="true" aria-hidden="${this.open ? "false" : "true"}" aria-label="${this.headline}" aria-labelledby="title" tabindex="0"><header part="header" class="flex flex-grow-0 flex-shrink-0 basis-auto px-6 sm:px-10"><h2 part="title" class="flex-auto m-0" id="title">${this.headline.length > 0 ? html`<h4 class="sd-headline sd-headline--size-3xl leading-tight">${this.headline}</h4>` : html`<slot name="headline"></slot>`}</h2>${!this.noCloseButton ? html`<sd-3-22-
|
160
|
+
)}" role="dialog" aria-modal="true" aria-hidden="${this.open ? "false" : "true"}" aria-label="${this.headline}" aria-labelledby="title" tabindex="0"><header part="header" class="flex flex-grow-0 flex-shrink-0 basis-auto px-6 sm:px-10"><h2 part="title" class="flex-auto m-0" id="title">${this.headline.length > 0 ? html`<h4 class="sd-headline sd-headline--size-3xl leading-tight">${this.headline}</h4>` : html`<slot name="headline"></slot>`}</h2>${!this.noCloseButton ? html`<sd-3-22-8-button part="close-button" variant="tertiary" exportparts="base:close-button__base" class="${cx("absolute top-2 right-2")}" name="x-lg" @click="${() => this.requestClose("close-button")}" type="button"><sd-3-22-8-icon label="${this.localize.term("close")}" name="close" library="system" color="currentColor"></sd-3-22-8-icon></sd-3-22-8-button>` : ""}</header><main part="body" class="flex flex-auto overflow-auto w-full px-6 sm:px-10"><slot></slot></main><footer part="footer" class="flex flex-grow-0 flex-shrink-0 basis-auto ml-auto gap-4 px-6 sm:px-10"><slot name="footer"></slot></footer></div></div>`;
|
161
161
|
}
|
162
162
|
};
|
163
163
|
SdDialog.styles = [
|
@@ -188,7 +188,7 @@ __decorateClass([
|
|
188
188
|
watch("open", { waitUntilFirstUpdate: true })
|
189
189
|
], SdDialog.prototype, "handleOpenChange", 1);
|
190
190
|
SdDialog = __decorateClass([
|
191
|
-
customElement("sd-3-22-
|
191
|
+
customElement("sd-3-22-8-dialog")
|
192
192
|
], SdDialog);
|
193
193
|
setDefaultAnimation("dialog.show", {
|
194
194
|
keyframes: [
|
@@ -34,7 +34,7 @@ let SdDivider = class extends SolidElement {
|
|
34
34
|
SdDivider.styles = [
|
35
35
|
componentStyles,
|
36
36
|
SolidElement.styles,
|
37
|
-
css`:host{margin:var(--sd-spacing-0,0)}:host(sd-3-22-
|
37
|
+
css`:host{margin:var(--sd-spacing-0,0)}:host(sd-3-22-8-divider[orientation=horizontal]){display:block}:host(sd-3-22-8-divider[orientation=vertical]){display:inline-block}`
|
38
38
|
];
|
39
39
|
__decorateClass([
|
40
40
|
property({ reflect: true })
|
@@ -43,7 +43,7 @@ __decorateClass([
|
|
43
43
|
property({ type: Boolean, reflect: true })
|
44
44
|
], SdDivider.prototype, "inverted", 2);
|
45
45
|
SdDivider = __decorateClass([
|
46
|
-
customElement("sd-3-22-
|
46
|
+
customElement("sd-3-22-8-divider")
|
47
47
|
], SdDivider);
|
48
48
|
export {
|
49
49
|
SdDivider as default
|
@@ -182,7 +182,7 @@ let SdDrawer = class extends SolidElement {
|
|
182
182
|
end: "top-0 end-0 bottom-auto start-auto w-[--width] h-full",
|
183
183
|
start: "top-0 end-auto bottom-auto start-0 w-[--width] h-full"
|
184
184
|
}[this.placement]
|
185
|
-
)}" role="dialog" aria-modal="true" aria-hidden="${this.open ? "false" : "true"}" aria-label="${this.label}" aria-labelledby="${ifDefined(!this.noHeader ? "title" : void 0)}" tabindex="0">${!this.noHeader ? html`<header part="header" class="flex justify-between py-2 px-4 items-center flex-shrink-0" style="min-height:56px"><div part="title"><slot name="header" part="title" class="flex-auto text-xl m-0" id="title"></slot></div><div class="shrink-0 flex flex-wrap justify-end gap-1 ml-4 absolute top-2 right-2"><sd-3-22-
|
185
|
+
)}" role="dialog" aria-modal="true" aria-hidden="${this.open ? "false" : "true"}" aria-label="${this.label}" aria-labelledby="${ifDefined(!this.noHeader ? "title" : void 0)}" tabindex="0">${!this.noHeader ? html`<header part="header" class="flex justify-between py-2 px-4 items-center flex-shrink-0" style="min-height:56px"><div part="title"><slot name="header" part="title" class="flex-auto text-xl m-0" id="title"></slot></div><div class="shrink-0 flex flex-wrap justify-end gap-1 ml-4 absolute top-2 right-2"><sd-3-22-8-button variant="tertiary" size="lg" part="close-button" @click="${() => this.requestClose("close-button")}"><sd-3-22-8-icon label="${this.localize.term("close")}" name="close" library="system"></sd-3-22-8-icon></sd-3-22-8-button></div></header>` : ""}<div part="body" class="flex-auto block px-4"><slot></slot></div><footer part="footer" class="${cx(this.hasSlotController.test("footer") ? "text-left p-4" : "hidden")}"><slot name="footer"></slot></footer></div></div>`;
|
186
186
|
}
|
187
187
|
};
|
188
188
|
SdDrawer.styles = [
|
@@ -221,7 +221,7 @@ __decorateClass([
|
|
221
221
|
watch("contained", { waitUntilFirstUpdate: true })
|
222
222
|
], SdDrawer.prototype, "handleNoModalChange", 1);
|
223
223
|
SdDrawer = __decorateClass([
|
224
|
-
customElement("sd-3-22-
|
224
|
+
customElement("sd-3-22-8-drawer")
|
225
225
|
], SdDrawer);
|
226
226
|
setDefaultAnimation("drawer.showStart", {
|
227
227
|
keyframes: [
|
@@ -169,7 +169,7 @@ let SdDropdown = class extends SolidElement {
|
|
169
169
|
// that gets slotted in) so screen readers will understand them. The accessible trigger could be the slotted element,
|
170
170
|
// a child of the slotted element, or an element in the slotted element's shadow root.
|
171
171
|
//
|
172
|
-
// For example, the accessible trigger of an <sd-3-22-
|
172
|
+
// For example, the accessible trigger of an <sd-3-22-8-button> is a <button> located inside its shadow root.
|
173
173
|
//
|
174
174
|
// To determine this, we assume the first tabbable element in the trigger slot is the "accessible trigger."
|
175
175
|
//
|
@@ -179,8 +179,8 @@ let SdDropdown = class extends SolidElement {
|
|
179
179
|
let target;
|
180
180
|
if (accessibleTrigger) {
|
181
181
|
switch (accessibleTrigger.tagName.toLowerCase()) {
|
182
|
-
case "sd-3-22-
|
183
|
-
case "sd-3-22-
|
182
|
+
case "sd-3-22-8-button":
|
183
|
+
case "sd-3-22-8-icon-button":
|
184
184
|
target = accessibleTrigger.button;
|
185
185
|
break;
|
186
186
|
default:
|
@@ -215,7 +215,7 @@ let SdDropdown = class extends SolidElement {
|
|
215
215
|
}
|
216
216
|
addOpenListeners() {
|
217
217
|
this.panel.addEventListener("sd-activate", this.handleMenuItemActivate);
|
218
|
-
this.panel.addEventListener("sd-3-22-
|
218
|
+
this.panel.addEventListener("sd-3-22-8-select", this.handlePanelSelect);
|
219
219
|
this.panel.addEventListener("keydown", this.handleKeyDown);
|
220
220
|
document.addEventListener("keydown", this.handleDocumentKeyDown);
|
221
221
|
document.addEventListener("mousedown", this.handleDocumentMouseDown);
|
@@ -223,7 +223,7 @@ let SdDropdown = class extends SolidElement {
|
|
223
223
|
removeOpenListeners() {
|
224
224
|
if (this.panel) {
|
225
225
|
this.panel.removeEventListener("sd-activate", this.handleMenuItemActivate);
|
226
|
-
this.panel.removeEventListener("sd-3-22-
|
226
|
+
this.panel.removeEventListener("sd-3-22-8-select", this.handlePanelSelect);
|
227
227
|
this.panel.removeEventListener("keydown", this.handleKeyDown);
|
228
228
|
}
|
229
229
|
document.removeEventListener("keydown", this.handleDocumentKeyDown);
|
@@ -256,11 +256,11 @@ let SdDropdown = class extends SolidElement {
|
|
256
256
|
}
|
257
257
|
}
|
258
258
|
render() {
|
259
|
-
return html`<sd-3-22-
|
259
|
+
return html`<sd-3-22-8-popup part="base" id="dropdown" placement="${this.placement}" distance="${this.rounded && this.distance < 1 ? 1 : this.distance}" skidding="${this.skidding}" strategy="${this.hoist ? "fixed" : "absolute"}" ?flip="${!this.noFlip}" shift auto-size="vertical" auto-size-padding="10" ?active="${this.open}"><slot name="trigger" slot="anchor" part="trigger" class="block" @click="${this.handleTriggerClick}" @keydown="${this.handleTriggerKeyDown}" @keyup="${this.handleTriggerKeyUp}" @slotchange="${this.handleTriggerSlotChange}"></slot><slot part="panel" class="${cx(
|
260
260
|
"shadow bg-white",
|
261
261
|
this.open ? "block pointer-events-auto" : "pointer-events-none",
|
262
262
|
this.rounded && "rounded-md"
|
263
|
-
)}" aria-hidden="${this.open ? "false" : "true"}" aria-labelledby="dropdown"></slot></sd-3-22-
|
263
|
+
)}" aria-hidden="${this.open ? "false" : "true"}" aria-labelledby="dropdown"></slot></sd-3-22-8-popup>`;
|
264
264
|
}
|
265
265
|
};
|
266
266
|
SdDropdown.styles = [
|
@@ -314,7 +314,7 @@ __decorateClass([
|
|
314
314
|
watch("open", { waitUntilFirstUpdate: true })
|
315
315
|
], SdDropdown.prototype, "handleOpenChange", 1);
|
316
316
|
SdDropdown = __decorateClass([
|
317
|
-
customElement("sd-3-22-
|
317
|
+
customElement("sd-3-22-8-dropdown")
|
318
318
|
], SdDropdown);
|
319
319
|
setDefaultAnimation("dropdown.show", {
|
320
320
|
keyframes: [
|
@@ -70,7 +70,7 @@ let SdExpandable = class extends SolidElement {
|
|
70
70
|
"sd-interactive sd-interactive--reset !h-full !justify-center !w-full !text-base !flex !items-center !underline !underline-offset-2 !toggle",
|
71
71
|
this.inverted && "sd-interactive--inverted",
|
72
72
|
!this.inverted ? "!focus-visible:focus-outline" : "!focus-visible:focus-outline-inverted"
|
73
|
-
)}" @click="${this.onToggleClick}">${this.open ? html`<slot name="toggle-open"><sd-3-22-
|
73
|
+
)}" @click="${this.onToggleClick}">${this.open ? html`<slot name="toggle-open"><sd-3-22-8-icon class="mr-2 text-xl" library="system" name="chevron-up"></sd-3-22-8-icon>${this.localize.term("showLess")}</slot>` : html`<slot name="toggle-closed"><sd-3-22-8-icon class="mr-2 text-xl" library="system" name="chevron-down"></sd-3-22-8-icon>${this.localize.term("showMore")}</slot>`}</button>`;
|
74
74
|
}
|
75
75
|
firstUpdated() {
|
76
76
|
this.cloneContentToLightDOM();
|
@@ -109,7 +109,7 @@ __decorateClass([
|
|
109
109
|
watch("open", { waitUntilFirstUpdate: true })
|
110
110
|
], SdExpandable.prototype, "onOpenChange", 1);
|
111
111
|
SdExpandable = __decorateClass([
|
112
|
-
customElement("sd-3-22-
|
112
|
+
customElement("sd-3-22-8-expandable")
|
113
113
|
], SdExpandable);
|
114
114
|
export {
|
115
115
|
SdExpandable as default
|