@solid-design-system/components 3.22.5 → 3.22.7
Sign up to get free protection for your applications and to get access to all the features.
- 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/select.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/carousel/carousel.d.ts +5 -1
- package/dist/package/components/carousel/carousel.js +63 -23
- package/dist/package/components/select/select.js +1 -1
- 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 +4 -4
- 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 +26 -26
- package/dist/versioned-package/components/spinner/spinner.d.ts +1 -1
- package/dist/versioned-package/components/spinner/spinner.js +1 -1
- package/dist/versioned-package/components/step/step.d.ts +1 -1
- package/dist/versioned-package/components/step/step.js +2 -2
- package/dist/versioned-package/components/step-group/step-group.d.ts +1 -1
- package/dist/versioned-package/components/step-group/step-group.js +2 -2
- package/dist/versioned-package/components/switch/switch.d.ts +1 -1
- package/dist/versioned-package/components/switch/switch.js +1 -1
- package/dist/versioned-package/components/tab/tab.d.ts +1 -1
- package/dist/versioned-package/components/tab/tab.js +2 -2
- package/dist/versioned-package/components/tab-group/tab-group.d.ts +1 -1
- package/dist/versioned-package/components/tab-group/tab-group.js +13 -13
- package/dist/versioned-package/components/tab-panel/tab-panel.d.ts +1 -1
- package/dist/versioned-package/components/tab-panel/tab-panel.js +2 -2
- package/dist/versioned-package/components/tag/tag.d.ts +1 -1
- package/dist/versioned-package/components/tag/tag.js +2 -2
- package/dist/versioned-package/components/teaser/teaser.js +1 -1
- package/dist/versioned-package/components/teaser-media/teaser-media.js +1 -1
- package/dist/versioned-package/components/textarea/textarea.d.ts +1 -1
- package/dist/versioned-package/components/textarea/textarea.js +2 -2
- package/dist/versioned-package/components/tooltip/tooltip.d.ts +1 -1
- package/dist/versioned-package/components/tooltip/tooltip.js +5 -5
- package/dist/versioned-package/components/video/video.d.ts +1 -1
- package/dist/versioned-package/components/video/video.js +2 -2
- package/dist/versioned-package/internal/form.js +3 -3
- package/dist/versioned-package/styles/headline/headline.css.js +1 -1
- package/dist/versioned-package/translations/de.js +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
@@ -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;
|
@@ -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";
|
@@ -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-icon class="${cx("h-6 w-6 rotate-90 grid place-items-center")}" library="system" name="${isLtr ? "chevron-down" : "chevron-up"}"></sd-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,14 +368,20 @@ 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();
|
373
|
+
this.unblockAutoplay(e, this.nextButton);
|
342
374
|
} : null}"><slot name="next-icon"><sd-icon class="${cx("h-6 w-6 rotate-90 grid place-items-center")}" library="system" name="${isLtr ? "chevron-up" : "chevron-down"}"></sd-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-icon class="h-6 w-6 grid place-items-center" library="system" name="start"></sd-icon></slot><slot name="autoplay-pause" class="${cx(this.pausedAutoplay ? "hidden" : "")}"><sd-icon class="h-6 w-6 grid place-items-center" library="system" name="pause"></sd-icon></slot></button></div></div>`;
|
348
385
|
}
|
349
386
|
};
|
350
387
|
SdCarousel.styles = [
|
@@ -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);
|
@@ -525,7 +525,7 @@ let SdSelect = class extends SolidElement {
|
|
525
525
|
lg: "py-2 min-h-[48px]"
|
526
526
|
}[this.size]
|
527
527
|
)}" slot="anchor" @keydown="${this.handleComboboxKeyDown}" @mousedown="${this.handleComboboxMouseDown}" @mouseenter="${this.handleMouseEnter}" @mouseleave="${this.handleMouseLeave}"><input name="${this.name}" form="${this.form}" part="display-input" class="${cx(
|
528
|
-
"appearance-none outline-none flex-grow bg-transparent w-full",
|
528
|
+
"appearance-none outline-none flex-grow bg-transparent w-full placeholder-neutral-700",
|
529
529
|
cursorStyles,
|
530
530
|
this.multiple && this.useTags && this.value.length > 0 ? "hidden" : ""
|
531
531
|
)}" type="text" placeholder="${this.placeholder}" .disabled="${this.disabled}" .value="${this.displayLabel}" autocomplete="off" spellcheck="false" autocapitalize="off" readonly="readonly" aria-controls="listbox" aria-expanded="${this.open ? "true" : "false"}" aria-haspopup="listbox" aria-labelledby="label" aria-disabled="${this.disabled ? "true" : "false"}" aria-describedby="help-text invalid-message" role="combobox" tabindex="0" @focus="${this.handleFocus}" @blur="${this.handleBlur}"> ${this.multiple && this.useTags ? html`<div part="tags" class="flex-grow flex flex-wrap items-center gap-1">${this.tags}</div>` : ""} <input class="${cx("value-input absolute top-0 left-0 w-full h-full opacity-0 -z-10", cursorStyles)}" type="text" ?disabled="${this.disabled}" ?required="${this.required}" .value="${Array.isArray(this.value) ? this.value.join(", ") : this.value}" tabindex="-1" aria-hidden="true" @focus="${() => this.focus()}" @invalid="${this.handleInvalid}"> ${hasClearIcon ? html`<button part="clear-button" class="${cx("select__clear flex justify-center", iconMarginLeft)}" type="button" aria-label="${this.localize.term("clearEntry")}" @mousedown="${this.handleClearMouseDown}" @click="${this.handleClearClick}" tabindex="-1"><slot name="clear-icon"><sd-icon class="${cx("text-icon-fill-neutral-800", iconSize)}" library="system" name="closing-round"></sd-icon></slot></button>` : ""} ${this.showInvalidStyle ? html`<sd-icon part="invalid-icon" class="${cx(iconMarginLeft, iconSize, "text-error")}" library="system" name="risk"></sd-icon>` : ""} ${this.styleOnValid && this.showValidStyle ? html`<sd-icon part="valid-icon" class="${cx("flex-shrink-0 text-success", iconMarginLeft, iconSize)}" library="system" name="status-check"></sd-icon>` : ""}<slot name="expand-icon" part="expand-icon" class="${cx(
|
@@ -25,7 +25,7 @@ const translation = {
|
|
25
25
|
selectAColorFromTheScreen: "Farbe vom Bildschirm auswählen",
|
26
26
|
selectDefaultPlaceholder: "Bitte auswählen",
|
27
27
|
showPassword: "Passwort anzeigen",
|
28
|
-
slideNum: (slide) => `Folie ${slide}`,
|
28
|
+
slideNum: (slide, count) => `Folie ${slide} von ${count}`,
|
29
29
|
toggleColorFormat: "Farbformat umschalten",
|
30
30
|
audioPlayer: "Audio-Player",
|
31
31
|
playAudio: "Audio abspielen",
|
@@ -34,7 +34,8 @@ const translation = {
|
|
34
34
|
unmute: "Unmute",
|
35
35
|
showMore: "Mehr anzeigen",
|
36
36
|
showLess: "Weniger anzeigen",
|
37
|
-
playbackSpeed: "Wiedergabe Geschwindigkeit"
|
37
|
+
playbackSpeed: "Wiedergabe Geschwindigkeit",
|
38
|
+
autoplay: "Autoplay"
|
38
39
|
};
|
39
40
|
registerTranslation(translation);
|
40
41
|
export {
|
@@ -26,7 +26,7 @@ const translation = {
|
|
26
26
|
nextSlide: "Next slide",
|
27
27
|
previousSlide: "Previous slide",
|
28
28
|
goToSlide: (slide, count) => `Go to slide ${slide} of ${count}`,
|
29
|
-
slideNum: (num) => `Slide ${num}`,
|
29
|
+
slideNum: (num, count) => `Slide ${num} of ${count}`,
|
30
30
|
audioPlayer: "Audio Player",
|
31
31
|
playAudio: "Play Audio",
|
32
32
|
pauseAudio: "Pause Audio",
|
@@ -34,7 +34,8 @@ const translation = {
|
|
34
34
|
unmute: "Unmute",
|
35
35
|
showMore: "Show more",
|
36
36
|
showLess: "Show less",
|
37
|
-
playbackSpeed: "Playback Speed"
|
37
|
+
playbackSpeed: "Playback Speed",
|
38
|
+
autoplay: "Autoplay"
|
38
39
|
};
|
39
40
|
registerTranslation(translation);
|
40
41
|
export {
|
@@ -37,7 +37,7 @@ export interface Translation extends DefaultTranslation {
|
|
37
37
|
selectAColorFromTheScreen: string;
|
38
38
|
selectDefaultPlaceholder: string;
|
39
39
|
showPassword: string;
|
40
|
-
slideNum: (slide: number) => string;
|
40
|
+
slideNum: (slide: number, count: number) => string;
|
41
41
|
toggleColorFormat: string;
|
42
42
|
audioPlayer: string;
|
43
43
|
playAudio: string;
|
@@ -47,4 +47,5 @@ export interface Translation extends DefaultTranslation {
|
|
47
47
|
showMore: string;
|
48
48
|
showLess: string;
|
49
49
|
playbackSpeed: string;
|
50
|
+
autoplay: string;
|
50
51
|
}
|
@@ -1 +1 @@
|
|
1
|
-
import"./accordion.js";import{S as e,x as t,c as o,i as s,n as r,a}from"./solid-components2.js";import{o as c}from"./query-assigned-elements.js";var n=Object.defineProperty,d=Object.getOwnPropertyDescriptor,i=(e,t,o,s)=>{for(var r,a=s>1?void 0:s?d(t,o):t,c=e.length-1;c>=0;c--)(r=e[c])&&(a=(s?r(t,o,a):r(a))||a);return s&&a&&n(t,o,a),a};let l=class extends e{constructor(){super(...arguments),this.closeOthers=!1,this.handleAccordionShow=e=>{this.closeOthers&&this._accordionsInDefaultSlot.forEach((t=>{t!==e.target&&t.parentNode===e.target.parentNode&&t.removeAttribute("open")}))}}connectedCallback(){super.connectedCallback(),this.addEventListener("sd-show",this.handleAccordionShow)}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("sd-show",this.handleAccordionShow)}render(){return t`<div part="base"><slot></slot></div>`}};l.styles=[o,e.styles,s`:host{display:block}::slotted(sd-3-22-
|
1
|
+
import"./accordion.js";import{S as e,x as t,c as o,i as s,n as r,a}from"./solid-components2.js";import{o as c}from"./query-assigned-elements.js";var n=Object.defineProperty,d=Object.getOwnPropertyDescriptor,i=(e,t,o,s)=>{for(var r,a=s>1?void 0:s?d(t,o):t,c=e.length-1;c>=0;c--)(r=e[c])&&(a=(s?r(t,o,a):r(a))||a);return s&&a&&n(t,o,a),a};let l=class extends e{constructor(){super(...arguments),this.closeOthers=!1,this.handleAccordionShow=e=>{this.closeOthers&&this._accordionsInDefaultSlot.forEach((t=>{t!==e.target&&t.parentNode===e.target.parentNode&&t.removeAttribute("open")}))}}connectedCallback(){super.connectedCallback(),this.addEventListener("sd-show",this.handleAccordionShow)}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("sd-show",this.handleAccordionShow)}render(){return t`<div part="base"><slot></slot></div>`}};l.styles=[o,e.styles,s`:host{display:block}::slotted(sd-3-22-7-accordion:not(:first-of-type)){margin-top:-1px}`],i([c({selector:"sd-3-22-7-accordion"})],l.prototype,"_accordionsInDefaultSlot",2),i([r({attribute:"close-others",type:Boolean})],l.prototype,"closeOthers",2),l=i([a("sd-3-22-7-accordion-group")],l);export{l as default};
|
@@ -1 +1 @@
|
|
1
|
-
import"./icon.js";import{s as e,a as t,b as s}from"./animate.js";import{S as o,L as i,x as a,t as r,i as n,e as h,n as d,a as l}from"./solid-components2.js";import{g as p,s as c}from"./animation-registry.js";import{w as y}from"./event.js";import{w as m}from"./watch.js";var u=Object.defineProperty,f=Object.getOwnPropertyDescriptor,b=(e,t,s,o)=>{for(var i,a=o>1?void 0:o?f(t,s):t,r=e.length-1;r>=0;r--)(i=e[r])&&(a=(o?i(t,s,a):i(a))||a);return o&&a&&u(t,s,a),a};let w=class extends o{constructor(){super(...arguments),this.localize=new i(this),this.open=!1}firstUpdated(){this.body.hidden=!this.open,this.body.style.height=this.open?"auto":"0"}handleSummaryClick(){this.open?this.hide():this.show()}handleSummaryKeyDown(e){("Enter"===e.key||" "===e.key)&&(e.preventDefault(),this.open?this.hide():this.show()),("ArrowUp"===e.key||"ArrowLeft"===e.key)&&(e.preventDefault(),this.hide()),("ArrowDown"===e.key||"ArrowRight"===e.key)&&(e.preventDefault(),this.show())}async handleOpenChange(){if(this.open){if(this.emit("sd-show",{cancelable:!0}).defaultPrevented)return void(this.open=!1);await e(this.body),this.body.hidden=!1;const{keyframes:o,options:i}=p(this,"accordion.show",{dir:this.localize.dir()});await t(this.body,s(o,this.body.scrollHeight),i),this.body.style.height="auto",this.emit("sd-after-show")}else{if(this.emit("sd-hide",{cancelable:!0}).defaultPrevented)return void(this.open=!0);await e(this.body);const{keyframes:o,options:i}=p(this,"accordion.hide",{dir:this.localize.dir()});await t(this.body,s(o,this.body.scrollHeight),i),this.body.hidden=!0,this.body.style.height="auto",this.emit("sd-after-hide")}}async show(){if(!this.open)return this.open=!0,y(this,"sd-after-show")}async hide(){if(this.open)return this.open=!1,y(this,"sd-after-hide")}render(){return a`<div part="base" class="border-y border-neutral-400"><header part="header" id="header" class="${r("flex text-base gap-4 font-bold items-center cursor-pointer select-none px-4 py-3 focus-visible:focus-outline text-primary hover:bg-neutral-200 relative group")}" role="button" aria-expanded="${this.open?"true":"false"}" aria-controls="content" tabindex="0" @click="${this.handleSummaryClick}" @keydown="${this.handleSummaryKeyDown}"><div part="summary-border" class="${r(!this.open&&"opacity-0","w-1 bg-accent absolute left-0 transition-all h-[calc(100%-16px)] group-hover:h-full")}"></div><slot name="summary" part="summary" class="flex flex-auto items-center text-left">${this.summary}</slot><span part="summary-icon" class="${r("flex flex-grow-0 flex-shrink-0 flex-auto items-center transition-all ease-in-out duration-300 text-xl",this.open&&"rotate-180")}"><slot name="expand-icon" class="${r(this.open&&"hidden")}"><sd-3-22-
|
1
|
+
import"./icon.js";import{s as e,a as t,b as s}from"./animate.js";import{S as o,L as i,x as a,t as r,i as n,e as h,n as d,a as l}from"./solid-components2.js";import{g as p,s as c}from"./animation-registry.js";import{w as y}from"./event.js";import{w as m}from"./watch.js";var u=Object.defineProperty,f=Object.getOwnPropertyDescriptor,b=(e,t,s,o)=>{for(var i,a=o>1?void 0:o?f(t,s):t,r=e.length-1;r>=0;r--)(i=e[r])&&(a=(o?i(t,s,a):i(a))||a);return o&&a&&u(t,s,a),a};let w=class extends o{constructor(){super(...arguments),this.localize=new i(this),this.open=!1}firstUpdated(){this.body.hidden=!this.open,this.body.style.height=this.open?"auto":"0"}handleSummaryClick(){this.open?this.hide():this.show()}handleSummaryKeyDown(e){("Enter"===e.key||" "===e.key)&&(e.preventDefault(),this.open?this.hide():this.show()),("ArrowUp"===e.key||"ArrowLeft"===e.key)&&(e.preventDefault(),this.hide()),("ArrowDown"===e.key||"ArrowRight"===e.key)&&(e.preventDefault(),this.show())}async handleOpenChange(){if(this.open){if(this.emit("sd-show",{cancelable:!0}).defaultPrevented)return void(this.open=!1);await e(this.body),this.body.hidden=!1;const{keyframes:o,options:i}=p(this,"accordion.show",{dir:this.localize.dir()});await t(this.body,s(o,this.body.scrollHeight),i),this.body.style.height="auto",this.emit("sd-after-show")}else{if(this.emit("sd-hide",{cancelable:!0}).defaultPrevented)return void(this.open=!0);await e(this.body);const{keyframes:o,options:i}=p(this,"accordion.hide",{dir:this.localize.dir()});await t(this.body,s(o,this.body.scrollHeight),i),this.body.hidden=!0,this.body.style.height="auto",this.emit("sd-after-hide")}}async show(){if(!this.open)return this.open=!0,y(this,"sd-after-show")}async hide(){if(this.open)return this.open=!1,y(this,"sd-after-hide")}render(){return a`<div part="base" class="border-y border-neutral-400"><header part="header" id="header" class="${r("flex text-base gap-4 font-bold items-center cursor-pointer select-none px-4 py-3 focus-visible:focus-outline text-primary hover:bg-neutral-200 relative group")}" role="button" aria-expanded="${this.open?"true":"false"}" aria-controls="content" tabindex="0" @click="${this.handleSummaryClick}" @keydown="${this.handleSummaryKeyDown}"><div part="summary-border" class="${r(!this.open&&"opacity-0","w-1 bg-accent absolute left-0 transition-all h-[calc(100%-16px)] group-hover:h-full")}"></div><slot name="summary" part="summary" class="flex flex-auto items-center text-left">${this.summary}</slot><span part="summary-icon" class="${r("flex flex-grow-0 flex-shrink-0 flex-auto items-center transition-all ease-in-out duration-300 text-xl",this.open&&"rotate-180")}"><slot name="expand-icon" class="${r(this.open&&"hidden")}"><sd-3-22-7-icon library="system" name="chevron-down"></sd-3-22-7-icon></slot><slot name="collapse-icon" class="${r(!this.open&&"hidden")}"><sd-3-22-7-icon library="system" name="chevron-down"></sd-3-22-7-icon></slot></span></header><div part="content" id="content" class="overflow-hidden"><slot part="content__slot" class="block px-4 py-6" role="region" aria-labelledby="header"></slot></div></div>`}};w.styles=[o.styles,n`:host{display:block}`],b([h('[part="base"]')],w.prototype,"accordion",2),b([h('[part="header"]')],w.prototype,"header",2),b([h('[part="content"]')],w.prototype,"body",2),b([d({type:Boolean,reflect:!0})],w.prototype,"open",2),b([d()],w.prototype,"summary",2),b([m("open",{waitUntilFirstUpdate:!0})],w.prototype,"handleOpenChange",1),w=b([l("sd-3-22-7-accordion")],w),c("accordion.show",{keyframes:[{height:"0",opacity:"0"},{height:"auto",opacity:"1"}],options:{duration:300,easing:"ease"}}),c("accordion.hide",{keyframes:[{height:"auto",opacity:"1"},{height:"0",opacity:"0"}],options:{duration:300,easing:"ease"}});export{w as default};
|
@@ -1 +1 @@
|
|
1
|
-
import{S as t,L as e,x as i,t as s,r,i as a,n as o,e as n,a as d}from"./solid-components2.js";import{H as l}from"./slot.js";import{r as h}from"./state.js";import{Wave as u}from"./wave.js";import{I as c}from"./interactive.js";var p=Object.defineProperty,m=Object.getOwnPropertyDescriptor,y=(t,e,i,s)=>{for(var r,a=s>1?void 0:s?m(e,i):e,o=t.length-1;o>=0;o--)(r=t[o])&&(a=(s?r(e,i,a):r(a))||a);return s&&a&&p(e,i,a),a};let g=class extends t{constructor(){super(),this.localize=new e(this),this.hasSlotController=new l(this,"transcript"),this.reversedLayout=!1,this.hideTimestamps=!1,this.animated=!1,this.inverted=!1,this.speed=1,this.currentTime=this.formatTime(0),this.duration="",this.isPlaying=!1,this.isMuted=!1,this.progress=0,this.setAudioProgress=()=>{this.progressSlider.max=Math.floor(this.audioElement.duration).toString()},this.updateCurrentTime=this.updateCurrentTime.bind(this),this.handleAudioEnd=this.handleAudioEnd.bind(this),this.handleAudioProgress=this.handleAudioProgress.bind(this),this.handleAudioProgressKeydown=this.handleAudioProgressKeydown.bind(this)}firstUpdated(){this.audioElement&&(this.audioElement.addEventListener("timeupdate",this.updateCurrentTime),this.audioElement.addEventListener("ended",this.handleAudioEnd),this.audioElement.setAttribute("controlsList","nodownload"),this.audioElement.playbackRate=this.speed,this.animated&&this.initAnimation())}updated(t){if(t.has("animated")){const e=t.get("animated");!e&&this.animated?this.initAnimation():e&&!this.animated&&this.clear()}}get audioElement(){const t=this.shadowRoot.querySelector("slot");return(null==t?void 0:t.assignedElements().length)>0?t.assignedElements()[0]:null}updateCurrentTime(){if(!this.audioElement)return;const t=this.audioElement.currentTime;this.currentTime=this.formatTime(t),this.progress=Math.floor(t),this.progressSlider&&(this.progressSlider.value=this.progress.toString())}updateAudioDuration(){if(this.audioElement){if(isNaN(this.audioElement.duration))return void setTimeout((()=>{this.updateAudioDuration()}),100);this.duration=this.formatTime(this.audioElement.duration),this.setAudioProgress()}}playAudio(){this.audioElement&&(this.isPlaying=!0,this.audioElement.play(),this.emit("sd-playback-start"),this.animated&&this.draw())}pauseAudio(){this.audioElement&&(this.isPlaying=!1,this.audioElement.pause(),this.emit("sd-playback-pause"),this.animated&&this.stopAnimation())}handleAudioEnd(){this.emit("sd-playback-end"),this.isPlaying=!1,this.progress=0,this.progressSlider.value="0",this.currentTime=this.formatTime(0),this.animated&&this.stopAnimation()}toggleMute(){this.audioElement&&(this.isMuted=!this.isMuted,this.isMuted?(this.emit("sd-playback-mute"),this.audioElement.muted=!0):(this.emit("sd-playback-unmute"),this.audioElement.muted=!1))}toggleMuteKeydown(t){"Enter"===t.key&&(t.preventDefault(),this.toggleMute())}togglePlaybackSpeed(){this.audioElement&&(this.emit("sd-playback-speed"),this.speed=1.5===this.speed?1:this.speed+.25,this.audioElement.playbackRate=this.speed)}togglePlaybackSpeedKeydown(t){"Enter"===t.key&&(t.preventDefault(),this.togglePlaybackSpeed())}formatTime(t){const e=Math.floor(t/60),i=Math.floor(t%60);return`${e}:${i<10?"0":""}${i}`}handleAudioProgress(){if(!this.audioElement)return;const t=Number(this.progressSlider.value);this.audioElement.currentTime=t,this.progress=t,this.currentTime=this.formatTime(t)}handleAudioProgressKeydown(t){"ArrowRight"===t.key&&(this.progressSlider.value=(Number(this.progressSlider.value)+1).toString(),this.handleAudioProgress()),"ArrowLeft"===t.key&&(this.progressSlider.value=(Number(this.progressSlider.value)-1).toString(),this.handleAudioProgress())}showTranscript(){this.emit("sd-transcript-click"),this.drawer.open=!0}showTranscriptKeydown(t){("Enter"===t.key||" "===t.key)&&this.showTranscript()}rgbToHex(t){const e=t.match(/\d+/g);if(e&&3===e.length){const t=parseInt(e[0]),i=parseInt(e[1]),s=parseInt(e[2]),r=t=>t.toString(16).padStart(2,"0");return`#${r(t)}${r(i)}${r(s)}`.toUpperCase()}return null}initAnimation(){this.context=this.canvas.getContext("2d");const t=this.audioPlayerContainer.querySelector(".playback-speed"),e=window.getComputedStyle(t).color;let i;i=this.inverted?"#FFFFFF33":this.rgbToHex(e)+"33",this.waveList=[new u({canvas:this.canvas,color:i,phase:240,shift:1.5,amplitude:230,frequency:.012,damping:1}),new u({canvas:this.canvas,color:i,phase:180,shift:2.5,amplitude:250,frequency:.005,damping:1}),new u({canvas:this.canvas,color:i,phase:180,shift:-2.5,amplitude:250,frequency:.005,damping:1}),new u({canvas:this.canvas,color:i,phase:180,shift:-1,amplitude:200,frequency:.018,damping:1}),new u({canvas:this.canvas,color:i,phase:180,shift:1.5,amplitude:150,frequency:.01,damping:1})],this.animated&&this.drawStillWaves()}drawStillWaves(){this.waveList.forEach((t=>{t.redraw()}))}stopAnimation(){this.isPlaying=!1}clear(){!this.context||!this.canvas||this.context.clearRect(0,0,this.canvas.width,this.canvas.height)}async draw(){!this.isPlaying||!this.animated||(this.clear(),this.waveList.forEach((t=>{t.redraw()})),await new Promise((t=>{setTimeout(t,1e3/30)})),await this.draw())}render(){const t=this.audioElement?this.progress/this.audioElement.duration*100:0,e=i`<div class="${s("controls grid grid-cols-3 justify-items-center items-center",!this.animated&&"relative",this.animated&&!this.reversedLayout&&"absolute -top-4 left-0 w-full",this.reversedLayout?"mt-2":"mb-2")}" part="audio-controls"><button class="${s("playback-speed justify-self-start text-base font-bold hover:cursor-pointer sd-interactive",this.inverted&&"sd-interactive--inverted")}" aria-label="${this.localize.term("playbackSpeed")}" tabindex="0" @click="${this.togglePlaybackSpeed}" @keydown="${this.togglePlaybackSpeedKeydown}" part="playback-speed">${this.speed}x</button><sd-3-22-5-button ?inverted="${!!this.inverted}" part="play-button" size="lg" @click="${this.isPlaying?this.pauseAudio:this.playAudio}" aria-label="${this.isPlaying?this.localize.term("pauseAudio"):this.localize.term("playAudio")}">${this.isPlaying?i`<sd-3-22-5-icon name="pause" library="system"></sd-3-22-5-icon>`:i`<sd-3-22-5-icon name="start" library="system"></sd-3-22-5-icon>`}</sd-3-22-5-button><div class="flex items-center justify-self-end">${this.hasSlotController.test("transcript")?i`<button class="${s("mr-6 w-6 h-6 hover:cursor-pointer sd-interactive",this.inverted&&"sd-interactive--inverted")}" @click="${this.showTranscript}" @keydown="${this.showTranscriptKeydown}" tab-index="0"><sd-3-22-5-icon class="w-6 h-6" name="transcript" library="system" label="${this.isMuted?this.localize.term("unmute"):this.localize.term("mute")}"></sd-3-22-5-icon></button>`:null} <button class="${s("w-6 h-6 hover:cursor-pointer sd-interactive",this.inverted&&"sd-interactive--inverted")}" part="volume" aria-label="${this.localize.term("mute")}" tabindex="0" @click="${this.toggleMute}" @keydown="${this.toggleMuteKeydown}"><sd-3-22-5-icon class="w-6 h-6" name="${this.isMuted?"mute":"volume"}" library="system"></sd-3-22-5-icon></button></div></div>`,r=i`<div class="${s("w-full flex justify-between",this.reversedLayout?"mb-2":"mt-2",this.animated&&this.reversedLayout&&"absolute bottom-0 left-0 mb-2",this.animated&&!this.reversedLayout&&"mt-2")}" part="timestamps"><div class="${s("current-time text-sm",this.inverted?"text-primary-400":"text-neutral-700")}">${this.currentTime}</div><div class="${s("current-time text-sm",this.inverted?"text-primary-400":"text-neutral-700")}">${this.duration}</div></div>`;return i`<div class="${s("w-full flex relative",this.reversedLayout?"flex-col-reverse":"flex-col")}" aria-label="${this.localize.term("audioPlayer")}" part="audio-player"><slot @slotchange="${this.updateAudioDuration}"></slot>${!this.animated||this.animated&&this.reversedLayout?e:null}<div class="relative">${this.animated&&!this.reversedLayout?i`${e}`:null} ${this.animated?i`<canvas class="w-full h-16"></canvas>`:null} ${!this.hideTimestamps&&this.animated&&this.reversedLayout?r:null} <input class="${s("progress-slider bg-primary appearance-none w-full cursor-pointer outline-none h-1 flex items-center sd-interactive",this.inverted&&"sd-interactive--inverted")}" type="range" max="100" step="0.001" value="${this.progress}" tabindex="0" @input="${this.handleAudioProgress}" @keydown="${this.handleAudioProgressKeydown}" part="progress-slider" style="background:linear-gradient(to right,${this.inverted?"rgb(var(--sd-color-white, 255 255 255) / 1)":"rgb(var(--sd-color-primary, 0 53 142) / 1)"} ${t}%,${this.animated?"transparent":this.inverted?"rgb(var(--sd-color-primary-400, 153 171 208) / 1)":"rgb(var(--sd-color-grey-400, 195 195 195) / 1)"} ${t}%)"></div>${this.hasSlotController.test("transcript")?i`<sd-3-22-5-drawer><slot name="transcript"></slot></sd-3-22-5-drawer>`:null} ${this.hideTimestamps||this.animated&&this.reversedLayout?null:r}</div>`}};g.styles=[t.styles,r(c),a`.progress-slider:focus-visible{outline:2px solid transparent;outline-offset:2px}.progress-slider::-webkit-slider-thumb{background-color:currentColor;height:var(--sd-spacing-4,1rem);width:var(--sd-spacing-4,1rem);-webkit-appearance:none;appearance:none;border-radius:var(--sd-border-radius-full,9999px);border-style:none;-webkit-transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-duration:.2s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.progress-slider:focus-visible::-webkit-slider-thumb{outline-style:solid;outline-offset:2px}.progress-slider::-moz-range-thumb{background-color:currentColor;height:var(--sd-spacing-4,1rem);width:var(--sd-spacing-4,1rem);-moz-appearance:none;appearance:none;border-radius:var(--sd-border-radius-full,9999px);border-style:none;-moz-transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-duration:.2s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.progress-slider:focus-visible::-moz-range-thumb{outline-style:solid;outline-offset:2px}sd-3-22-5-button::part(base){display:flex;height:var(--sd-spacing-16,4rem);width:var(--sd-spacing-16,4rem);align-items:center;justify-content:center;border-radius:var(--sd-border-radius-full,9999px)}sd-3-22-5-button::part(label){flex-grow:0}`],y([o({type:Boolean,reflect:!0,attribute:"reversed-layout"})],g.prototype,"reversedLayout",2),y([o({type:Boolean,reflect:!0,attribute:"hide-timestamps"})],g.prototype,"hideTimestamps",2),y([o({type:Boolean,reflect:!0})],g.prototype,"animated",2),y([o({type:Boolean,reflect:!0})],g.prototype,"inverted",2),y([o({type:Number})],g.prototype,"speed",2),y([h()],g.prototype,"currentTime",2),y([h()],g.prototype,"duration",2),y([h()],g.prototype,"isPlaying",2),y([h()],g.prototype,"isMuted",2),y([h()],g.prototype,"progress",2),y([n('[part="progress-slider"]')],g.prototype,"progressSlider",2),y([n('[part="audio-player"]')],g.prototype,"audioPlayerContainer",2),y([n("sd-3-22-5-drawer")],g.prototype,"drawer",2),y([n("canvas")],g.prototype,"canvas",2),g=y([d("sd-3-22-5-audio")],g);export{g as default};
|
1
|
+
import{S as t,L as e,x as i,t as s,r,i as a,n as o,e as n,a as d}from"./solid-components2.js";import{H as l}from"./slot.js";import{r as h}from"./state.js";import{Wave as u}from"./wave.js";import{I as c}from"./interactive.js";var p=Object.defineProperty,m=Object.getOwnPropertyDescriptor,y=(t,e,i,s)=>{for(var r,a=s>1?void 0:s?m(e,i):e,o=t.length-1;o>=0;o--)(r=t[o])&&(a=(s?r(e,i,a):r(a))||a);return s&&a&&p(e,i,a),a};let g=class extends t{constructor(){super(),this.localize=new e(this),this.hasSlotController=new l(this,"transcript"),this.reversedLayout=!1,this.hideTimestamps=!1,this.animated=!1,this.inverted=!1,this.speed=1,this.currentTime=this.formatTime(0),this.duration="",this.isPlaying=!1,this.isMuted=!1,this.progress=0,this.setAudioProgress=()=>{this.progressSlider.max=Math.floor(this.audioElement.duration).toString()},this.updateCurrentTime=this.updateCurrentTime.bind(this),this.handleAudioEnd=this.handleAudioEnd.bind(this),this.handleAudioProgress=this.handleAudioProgress.bind(this),this.handleAudioProgressKeydown=this.handleAudioProgressKeydown.bind(this)}firstUpdated(){this.audioElement&&(this.audioElement.addEventListener("timeupdate",this.updateCurrentTime),this.audioElement.addEventListener("ended",this.handleAudioEnd),this.audioElement.setAttribute("controlsList","nodownload"),this.audioElement.playbackRate=this.speed,this.animated&&this.initAnimation())}updated(t){if(t.has("animated")){const e=t.get("animated");!e&&this.animated?this.initAnimation():e&&!this.animated&&this.clear()}}get audioElement(){const t=this.shadowRoot.querySelector("slot");return(null==t?void 0:t.assignedElements().length)>0?t.assignedElements()[0]:null}updateCurrentTime(){if(!this.audioElement)return;const t=this.audioElement.currentTime;this.currentTime=this.formatTime(t),this.progress=Math.floor(t),this.progressSlider&&(this.progressSlider.value=this.progress.toString())}updateAudioDuration(){if(this.audioElement){if(isNaN(this.audioElement.duration))return void setTimeout((()=>{this.updateAudioDuration()}),100);this.duration=this.formatTime(this.audioElement.duration),this.setAudioProgress()}}playAudio(){this.audioElement&&(this.isPlaying=!0,this.audioElement.play(),this.emit("sd-playback-start"),this.animated&&this.draw())}pauseAudio(){this.audioElement&&(this.isPlaying=!1,this.audioElement.pause(),this.emit("sd-playback-pause"),this.animated&&this.stopAnimation())}handleAudioEnd(){this.emit("sd-playback-end"),this.isPlaying=!1,this.progress=0,this.progressSlider.value="0",this.currentTime=this.formatTime(0),this.animated&&this.stopAnimation()}toggleMute(){this.audioElement&&(this.isMuted=!this.isMuted,this.isMuted?(this.emit("sd-playback-mute"),this.audioElement.muted=!0):(this.emit("sd-playback-unmute"),this.audioElement.muted=!1))}toggleMuteKeydown(t){"Enter"===t.key&&(t.preventDefault(),this.toggleMute())}togglePlaybackSpeed(){this.audioElement&&(this.emit("sd-playback-speed"),this.speed=1.5===this.speed?1:this.speed+.25,this.audioElement.playbackRate=this.speed)}togglePlaybackSpeedKeydown(t){"Enter"===t.key&&(t.preventDefault(),this.togglePlaybackSpeed())}formatTime(t){const e=Math.floor(t/60),i=Math.floor(t%60);return`${e}:${i<10?"0":""}${i}`}handleAudioProgress(){if(!this.audioElement)return;const t=Number(this.progressSlider.value);this.audioElement.currentTime=t,this.progress=t,this.currentTime=this.formatTime(t)}handleAudioProgressKeydown(t){"ArrowRight"===t.key&&(this.progressSlider.value=(Number(this.progressSlider.value)+1).toString(),this.handleAudioProgress()),"ArrowLeft"===t.key&&(this.progressSlider.value=(Number(this.progressSlider.value)-1).toString(),this.handleAudioProgress())}showTranscript(){this.emit("sd-transcript-click"),this.drawer.open=!0}showTranscriptKeydown(t){("Enter"===t.key||" "===t.key)&&this.showTranscript()}rgbToHex(t){const e=t.match(/\d+/g);if(e&&3===e.length){const t=parseInt(e[0]),i=parseInt(e[1]),s=parseInt(e[2]),r=t=>t.toString(16).padStart(2,"0");return`#${r(t)}${r(i)}${r(s)}`.toUpperCase()}return null}initAnimation(){this.context=this.canvas.getContext("2d");const t=this.audioPlayerContainer.querySelector(".playback-speed"),e=window.getComputedStyle(t).color;let i;i=this.inverted?"#FFFFFF33":this.rgbToHex(e)+"33",this.waveList=[new u({canvas:this.canvas,color:i,phase:240,shift:1.5,amplitude:230,frequency:.012,damping:1}),new u({canvas:this.canvas,color:i,phase:180,shift:2.5,amplitude:250,frequency:.005,damping:1}),new u({canvas:this.canvas,color:i,phase:180,shift:-2.5,amplitude:250,frequency:.005,damping:1}),new u({canvas:this.canvas,color:i,phase:180,shift:-1,amplitude:200,frequency:.018,damping:1}),new u({canvas:this.canvas,color:i,phase:180,shift:1.5,amplitude:150,frequency:.01,damping:1})],this.animated&&this.drawStillWaves()}drawStillWaves(){this.waveList.forEach((t=>{t.redraw()}))}stopAnimation(){this.isPlaying=!1}clear(){!this.context||!this.canvas||this.context.clearRect(0,0,this.canvas.width,this.canvas.height)}async draw(){!this.isPlaying||!this.animated||(this.clear(),this.waveList.forEach((t=>{t.redraw()})),await new Promise((t=>{setTimeout(t,1e3/30)})),await this.draw())}render(){const t=this.audioElement?this.progress/this.audioElement.duration*100:0,e=i`<div class="${s("controls grid grid-cols-3 justify-items-center items-center",!this.animated&&"relative",this.animated&&!this.reversedLayout&&"absolute -top-4 left-0 w-full",this.reversedLayout?"mt-2":"mb-2")}" part="audio-controls"><button class="${s("playback-speed justify-self-start text-base font-bold hover:cursor-pointer sd-interactive",this.inverted&&"sd-interactive--inverted")}" aria-label="${this.localize.term("playbackSpeed")}" tabindex="0" @click="${this.togglePlaybackSpeed}" @keydown="${this.togglePlaybackSpeedKeydown}" part="playback-speed">${this.speed}x</button><sd-3-22-7-button ?inverted="${!!this.inverted}" part="play-button" size="lg" @click="${this.isPlaying?this.pauseAudio:this.playAudio}" aria-label="${this.isPlaying?this.localize.term("pauseAudio"):this.localize.term("playAudio")}">${this.isPlaying?i`<sd-3-22-7-icon name="pause" library="system"></sd-3-22-7-icon>`:i`<sd-3-22-7-icon name="start" library="system"></sd-3-22-7-icon>`}</sd-3-22-7-button><div class="flex items-center justify-self-end">${this.hasSlotController.test("transcript")?i`<button class="${s("mr-6 w-6 h-6 hover:cursor-pointer sd-interactive",this.inverted&&"sd-interactive--inverted")}" @click="${this.showTranscript}" @keydown="${this.showTranscriptKeydown}" tab-index="0"><sd-3-22-7-icon class="w-6 h-6" name="transcript" library="system" label="${this.isMuted?this.localize.term("unmute"):this.localize.term("mute")}"></sd-3-22-7-icon></button>`:null} <button class="${s("w-6 h-6 hover:cursor-pointer sd-interactive",this.inverted&&"sd-interactive--inverted")}" part="volume" aria-label="${this.localize.term("mute")}" tabindex="0" @click="${this.toggleMute}" @keydown="${this.toggleMuteKeydown}"><sd-3-22-7-icon class="w-6 h-6" name="${this.isMuted?"mute":"volume"}" library="system"></sd-3-22-7-icon></button></div></div>`,r=i`<div class="${s("w-full flex justify-between",this.reversedLayout?"mb-2":"mt-2",this.animated&&this.reversedLayout&&"absolute bottom-0 left-0 mb-2",this.animated&&!this.reversedLayout&&"mt-2")}" part="timestamps"><div class="${s("current-time text-sm",this.inverted?"text-primary-400":"text-neutral-700")}">${this.currentTime}</div><div class="${s("current-time text-sm",this.inverted?"text-primary-400":"text-neutral-700")}">${this.duration}</div></div>`;return i`<div class="${s("w-full flex relative",this.reversedLayout?"flex-col-reverse":"flex-col")}" aria-label="${this.localize.term("audioPlayer")}" part="audio-player"><slot @slotchange="${this.updateAudioDuration}"></slot>${!this.animated||this.animated&&this.reversedLayout?e:null}<div class="relative">${this.animated&&!this.reversedLayout?i`${e}`:null} ${this.animated?i`<canvas class="w-full h-16"></canvas>`:null} ${!this.hideTimestamps&&this.animated&&this.reversedLayout?r:null} <input class="${s("progress-slider bg-primary appearance-none w-full cursor-pointer outline-none h-1 flex items-center sd-interactive",this.inverted&&"sd-interactive--inverted")}" type="range" max="100" step="0.001" value="${this.progress}" tabindex="0" @input="${this.handleAudioProgress}" @keydown="${this.handleAudioProgressKeydown}" part="progress-slider" style="background:linear-gradient(to right,${this.inverted?"rgb(var(--sd-color-white, 255 255 255) / 1)":"rgb(var(--sd-color-primary, 0 53 142) / 1)"} ${t}%,${this.animated?"transparent":this.inverted?"rgb(var(--sd-color-primary-400, 153 171 208) / 1)":"rgb(var(--sd-color-grey-400, 195 195 195) / 1)"} ${t}%)"></div>${this.hasSlotController.test("transcript")?i`<sd-3-22-7-drawer><slot name="transcript"></slot></sd-3-22-7-drawer>`:null} ${this.hideTimestamps||this.animated&&this.reversedLayout?null:r}</div>`}};g.styles=[t.styles,r(c),a`.progress-slider:focus-visible{outline:2px solid transparent;outline-offset:2px}.progress-slider::-webkit-slider-thumb{background-color:currentColor;height:var(--sd-spacing-4,1rem);width:var(--sd-spacing-4,1rem);-webkit-appearance:none;appearance:none;border-radius:var(--sd-border-radius-full,9999px);border-style:none;-webkit-transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-duration:.2s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.progress-slider:focus-visible::-webkit-slider-thumb{outline-style:solid;outline-offset:2px}.progress-slider::-moz-range-thumb{background-color:currentColor;height:var(--sd-spacing-4,1rem);width:var(--sd-spacing-4,1rem);-moz-appearance:none;appearance:none;border-radius:var(--sd-border-radius-full,9999px);border-style:none;-moz-transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-duration:.2s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.progress-slider:focus-visible::-moz-range-thumb{outline-style:solid;outline-offset:2px}sd-3-22-7-button::part(base){display:flex;height:var(--sd-spacing-16,4rem);width:var(--sd-spacing-16,4rem);align-items:center;justify-content:center;border-radius:var(--sd-border-radius-full,9999px)}sd-3-22-7-button::part(label){flex-grow:0}`],y([o({type:Boolean,reflect:!0,attribute:"reversed-layout"})],g.prototype,"reversedLayout",2),y([o({type:Boolean,reflect:!0,attribute:"hide-timestamps"})],g.prototype,"hideTimestamps",2),y([o({type:Boolean,reflect:!0})],g.prototype,"animated",2),y([o({type:Boolean,reflect:!0})],g.prototype,"inverted",2),y([o({type:Number})],g.prototype,"speed",2),y([h()],g.prototype,"currentTime",2),y([h()],g.prototype,"duration",2),y([h()],g.prototype,"isPlaying",2),y([h()],g.prototype,"isMuted",2),y([h()],g.prototype,"progress",2),y([n('[part="progress-slider"]')],g.prototype,"progressSlider",2),y([n('[part="audio-player"]')],g.prototype,"audioPlayerContainer",2),y([n("sd-3-22-7-drawer")],g.prototype,"drawer",2),y([n("canvas")],g.prototype,"canvas",2),g=y([d("sd-3-22-7-audio")],g);export{g as default};
|
@@ -1 +1 @@
|
|
1
|
-
import{S as e,x as t,t as r,i as s,n as i,a as n}from"./solid-components2.js";var o=Object.defineProperty,a=Object.getOwnPropertyDescriptor,l=(e,t,r,s)=>{for(var i,n=s>1?void 0:s?a(t,r):t,l=e.length-1;l>=0;l--)(i=e[l])&&(n=(s?i(t,r,n):i(n))||n);return s&&n&&o(t,r,n),n};let p=class extends e{constructor(){super(...arguments),this.size="lg",this.variant="default",this.inverted=!1}render(){return t`<span role="status" part="base" aria-labelledby="content" class="${r("inline-flex items-center justify-center gap-x-[1px] text-center font-bold whitespace-nowrap border rounded-full select-none cursor-[inherit]",{default:this.inverted?"text-primary bg-primary-100 border-primary":"text-white bg-primary-500 border-white",success:this.inverted?"text-white bg-success border-primary":"text-white bg-success border-white",error:this.inverted?"text-white bg-error border-primary":"text-white bg-error border-white"}[this.variant],{sm:"h-2 min-w-2",md:"h-4 px-1 min-w-4",lg:"h-5 min-w-5"}[this.size])}"><span id="content" part="content" class="${r("sm"===this.size&&"sr-only")}"><slot></slot></span></span>`}};p.styles=[e.styles,s`:host{display:inline-flex;align-items:center;justify-content:center}:host([size=md]){font-size:.625rem}:host([size=lg]){font-size:.75rem}:host([size=lg])::part(base){padding-left:.313rem;padding-right:.313rem}`],l([i({reflect:!0})],p.prototype,"size",2),l([i({reflect:!0})],p.prototype,"variant",2),l([i({type:Boolean,reflect:!0})],p.prototype,"inverted",2),p=l([n("sd-3-22-
|
1
|
+
import{S as e,x as t,t as r,i as s,n as i,a as n}from"./solid-components2.js";var o=Object.defineProperty,a=Object.getOwnPropertyDescriptor,l=(e,t,r,s)=>{for(var i,n=s>1?void 0:s?a(t,r):t,l=e.length-1;l>=0;l--)(i=e[l])&&(n=(s?i(t,r,n):i(n))||n);return s&&n&&o(t,r,n),n};let p=class extends e{constructor(){super(...arguments),this.size="lg",this.variant="default",this.inverted=!1}render(){return t`<span role="status" part="base" aria-labelledby="content" class="${r("inline-flex items-center justify-center gap-x-[1px] text-center font-bold whitespace-nowrap border rounded-full select-none cursor-[inherit]",{default:this.inverted?"text-primary bg-primary-100 border-primary":"text-white bg-primary-500 border-white",success:this.inverted?"text-white bg-success border-primary":"text-white bg-success border-white",error:this.inverted?"text-white bg-error border-primary":"text-white bg-error border-white"}[this.variant],{sm:"h-2 min-w-2",md:"h-4 px-1 min-w-4",lg:"h-5 min-w-5"}[this.size])}"><span id="content" part="content" class="${r("sm"===this.size&&"sr-only")}"><slot></slot></span></span>`}};p.styles=[e.styles,s`:host{display:inline-flex;align-items:center;justify-content:center}:host([size=md]){font-size:.625rem}:host([size=lg]){font-size:.75rem}:host([size=lg])::part(base){padding-left:.313rem;padding-right:.313rem}`],l([i({reflect:!0})],p.prototype,"size",2),l([i({reflect:!0})],p.prototype,"variant",2),l([i({type:Boolean,reflect:!0})],p.prototype,"inverted",2),p=l([n("sd-3-22-7-badge")],p);export{p as default};
|
@@ -1,3 +1,3 @@
|
|
1
1
|
import{S as t,x as e,t as r,c as a,i as s,e as i,n as o,a as n}from"./solid-components2.js";import{r as p}from"./state.js";var l=Object.defineProperty,d=Object.getOwnPropertyDescriptor,h=(t,e,r,a)=>{for(var s,i=a>1?void 0:a?d(e,r):e,o=t.length-1;o>=0;o--)(s=t[o])&&(i=(a?s(e,r,i):s(i))||i);return a&&i&&l(e,r,i),i};let v=class extends t{constructor(){super(...arguments),this.variant="primary",this.shapes=["top","middle","bottom"],this.componentBreakpoint=0}getSvg(t,e){return{0:this.smallSvg(e),414:this.mediumSvg(e),640:this.largeSvg(e)}[t]}largeSvg(t){return"top"===t?e`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 700 121"><path d="M610.777 1.393.001 120.146 0 123h700.001V74.79c0-4.797-.462-9.585-1.381-14.294-7.909-40.537-47.237-66.998-87.843-59.103Z"/></svg>`:e`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 700 123"><path d="M89.224 121.607 700 2.854 700.001 0h-700L0 48.21c0 4.797.463 9.584 1.381 14.294 7.909 40.537 47.237 66.998 87.843 59.103Z"/></svg>`}mediumSvg(t){return"top"===t?e`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 700 119"><path d="M597.75 1.6 0 118.046V121h700V85.872c0-5.509-.53-11.006-1.583-16.413-9.063-46.543-54.133-76.924-100.667-67.86Z"/></svg>`:e`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 700 121"><path d="M102.25 119.4 700 2.954V0H0v35.128c0 5.509.53 11.006 1.583 16.413 9.063 46.543 54.134 76.924 100.667 67.859Z"/></svg>`}smallSvg(t){return"top"===t?e`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 700 113"><path d="M566.951 2.08 0 112.466v2.934h700v-3.672c0-7.166-.689-14.314-2.059-21.348-11.789-60.557-70.436-100.09-130.99-88.3Z"/></svg>`:e`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 700 116"><path d="M133.049 113.32 700 2.934V0H0v3.672c0 7.165.69 14.314 2.059 21.348 11.79 60.557 70.436 100.09 130.99 88.3Z"/></svg>`}setBreakpoint(){switch(!0){case this.containerElem.clientWidth<=414:this.componentBreakpoint=0;break;case this.containerElem.clientWidth<640:this.componentBreakpoint=414;break;default:this.componentBreakpoint=640}}connectedCallback(){super.connectedCallback(),this.resizeObserver=new ResizeObserver((()=>this.setBreakpoint())),this.updateComplete.then((()=>{this.setBreakpoint(),this.resizeObserver.observe(this.containerElem)}))}disconnectedCallback(){super.disconnectedCallback(),this.resizeObserver.unobserve(this.containerElem)}renderTopBrandshape(){return e`<div class="relative" part="shape-top">${this.getSvg(this.componentBreakpoint,"top")} ${this.renderWhitespaceFix("top")}</div>`}renderMiddleBrandshape(){return e`<div class="${r({0:"px-6 py-4",414:"px-10 py-8",640:"px-10 py-8"}[this.componentBreakpoint],"w-full block relative")}"><div part="shape-middle" class="${r({"neutral-100":"bg-neutral-100",primary:"bg-primary",white:"bg-white","border-white":"bg-transparent","border-primary":"bg-transparent",image:"bg-transparent"}[this.variant],"w-full block absolute h-full top-0 left-0 z-0")}"></div><div class="z-10 relative" part="content"><slot></slot></div></div>`}renderBottomBrandshape(){return e`<div class="relative" part="shape-bottom">${this.getSvg(this.componentBreakpoint,"bottom")}${this.renderWhitespaceFix("bottom")}</div>`}renderWhitespaceFix(t){return e`<div class="${r({"neutral-100":"bg-neutral-100",primary:"bg-primary",white:"bg-white","border-white":"bg-transparent","border-primary":"bg-transparent",image:"bg-transparent"}[this.variant],{top:"bottom-0",bottom:"top-0"}[t],"block absolute left-0 w-full h-[1px]")}"></div>`}renderStylizedVariant(){return e`<div part="stylized-container" class="w-full overflow-hidden"><slot class="${r("image"!==this.variant&&"hidden")}" name="image"></slot></div>`}renderShapes(){return e`${this.shapes.includes("top")?this.renderTopBrandshape():""} ${this.shapes.includes("middle")?this.renderMiddleBrandshape():""} ${this.shapes.includes("bottom")?this.renderBottomBrandshape():""}`}render(){const t=this.variant.startsWith("border-")||"image"===this.variant;return e`<div class="${r({"neutral-100":"fill-neutral-100",primary:"fill-primary",white:"fill-white","border-white":"fill-transparent","border-primary":"fill-transparent",image:"fill-transparent"}[this.variant],"relative")}" part="base">${t?this.renderStylizedVariant():""} ${this.renderShapes()} ${this.shapes.includes("middle")?e`<slot></slot>`:""}</div>`}};v.styles=[a,t.styles,s`:host{display:block;container-type:inline-size;--angle:11deg;--radius:60px;--tan:tan(var(--angle));--adjacent:100cqw;--opposite:calc(var(--tan) * var(--adjacent));--curve:calc(
|
2
2
|
(var(--opposite) - (var(--radius) / 3)) * 0.5
|
3
|
-
)}@supports not (transform:skewY(11deg)){:host{--tan:0.1943803091}}@media (min-width:415px){:host{--radius:72px}}@media (min-width:640px){:host{--radius:84px}}:host([variant=image]) [part=stylized-container],:host([variant^=border-]) [part=stylized-container]::before{position:absolute;top:var(--sd-spacing-0,0);left:var(--sd-spacing-0,0);transform:skewY(calc(var(--angle) * -1));height:calc(100% - var(--curve) * 2);border-radius:0 var(--radius);margin-top:calc(var(--curve))}slot[name=image]::slotted(img),slot[name=image]::slotted(video){width:100%;-o-object-fit:cover;object-fit:cover;transform:translateY(calc(var(--curve) * -1)) skewY(var(--angle));height:calc(100% + var(--curve) * 2)!important;position:absolute!important}@supports not (height:100cqw){:host([variant=image]) [part=stylized-container],:host([variant^=border-]) [part=stylized-container]::before{transform:unset;height:100%;margin-top:0}slot[name=image]::slotted(img),slot[name=image]::slotted(video){transform:unset;height:100%!important}}:host([variant=border-primary]){--internal-border-color:rgb(var(--sd-color-primary, 0 53 142))}:host([variant=border-white]){--internal-border-color:var(--sd-color-white, white)}:host([variant^=border-]) [part=stylized-container]::before{right:var(--sd-spacing-0,0);border-width:2px;border-style:solid;content:'';border-color:var(--internal-border-color,#000)}`],h([i("[part=base]")],v.prototype,"containerElem",2),h([o({type:String})],v.prototype,"variant",2),h([o({type:Array})],v.prototype,"shapes",2),h([p()],v.prototype,"componentBreakpoint",2),v=h([n("sd-3-22-
|
3
|
+
)}@supports not (transform:skewY(11deg)){:host{--tan:0.1943803091}}@media (min-width:415px){:host{--radius:72px}}@media (min-width:640px){:host{--radius:84px}}:host([variant=image]) [part=stylized-container],:host([variant^=border-]) [part=stylized-container]::before{position:absolute;top:var(--sd-spacing-0,0);left:var(--sd-spacing-0,0);transform:skewY(calc(var(--angle) * -1));height:calc(100% - var(--curve) * 2);border-radius:0 var(--radius);margin-top:calc(var(--curve))}slot[name=image]::slotted(img),slot[name=image]::slotted(video){width:100%;-o-object-fit:cover;object-fit:cover;transform:translateY(calc(var(--curve) * -1)) skewY(var(--angle));height:calc(100% + var(--curve) * 2)!important;position:absolute!important}@supports not (height:100cqw){:host([variant=image]) [part=stylized-container],:host([variant^=border-]) [part=stylized-container]::before{transform:unset;height:100%;margin-top:0}slot[name=image]::slotted(img),slot[name=image]::slotted(video){transform:unset;height:100%!important}}:host([variant=border-primary]){--internal-border-color:rgb(var(--sd-color-primary, 0 53 142))}:host([variant=border-white]){--internal-border-color:var(--sd-color-white, white)}:host([variant^=border-]) [part=stylized-container]::before{right:var(--sd-spacing-0,0);border-width:2px;border-style:solid;content:'';border-color:var(--internal-border-color,#000)}`],h([i("[part=base]")],v.prototype,"containerElem",2),h([o({type:String})],v.prototype,"variant",2),h([o({type:Array})],v.prototype,"shapes",2),h([p()],v.prototype,"componentBreakpoint",2),v=h([n("sd-3-22-7-brandshape")],v);export{v as default};
|
@@ -1 +1 @@
|
|
1
|
-
import"./spinner.js";import{S as t,t as e,c as r,i,e as o,n as a,a as s}from"./solid-components2.js";import{F as n,v as l}from"./form.js";import{H as d}from"./slot.js";import{s as p,n as h}from"./static.js";import{o as c}from"./if-defined.js";import{r as m}from"./state.js";import{o as u}from"./query-assigned-elements.js";import{w as b}from"./watch.js";var v=Object.defineProperty,y=Object.getOwnPropertyDescriptor,f=(t,e,r,i)=>{for(var o,a=i>1?void 0:i?y(e,r):e,s=t.length-1;s>=0;s--)(o=t[s])&&(a=(i?o(e,r,a):o(a))||a);return i&&a&&v(e,r,a),a};let g=class extends t{constructor(){super(...arguments),this.formControlController=new n(this,{form:t=>{if(t.hasAttribute("form")){const e=t.getRootNode(),r=t.getAttribute("form");return e.getElementById(r)}return t.closest("form")}}),this.hasSlotController=new d(this,"[default]","icon-left","icon-right"),this.invalid=!1,this.title="",this.variant="primary",this.inverted=!1,this.size="lg",this.disabled=!1,this.loading=!1,this.type="button",this.name="",this.value="",this.href=""}get validity(){return this.isButton()?this.button.validity:l}get validationMessage(){return this.isButton()?this.button.validationMessage:""}firstUpdated(){this.isButton()&&this.formControlController.updateValidity()}handleBlur(){this.emit("sd-blur")}handleFocus(){this.emit("sd-focus")}handleClick(t){if(this.disabled||this.loading)return t.preventDefault(),void t.stopPropagation();"submit"===this.type&&this.formControlController.submit(this),"reset"===this.type&&this.formControlController.reset(this)}handleInvalid(t){this.formControlController.setValidity(!1),this.formControlController.emitInvalidEvent(t)}isButton(){return!this.href}isLink(){return!!this.href}handleDisabledChange(){this.isButton()&&this.formControlController.setValidity(this.disabled)}click(){this.button.click()}focus(t){this.button.focus(t)}blur(){this.button.blur()}checkValidity(){return!this.isButton()||this.button.checkValidity()}getForm(){return this.formControlController.getForm()}reportValidity(){return!this.isButton()||this.button.reportValidity()}setCustomValidity(t){this.isButton()&&(this.button.setCustomValidity(t),this.formControlController.updateValidity())}render(){const t=this.isLink(),r=t?p`a`:p`button`,i={label:this.hasSlotController.test("[default]"),"icon-left":this.hasSlotController.test("icon-left"),"icon-right":this.hasSlotController.test("icon-right"),"icon-only":this._iconsInDefaultSlot.length>0};return h`<${r} part="base" class="${e("font-md leading-[calc(var(--tw-varspacing)-2px)] no-underline\n w-full h-varspacing whitespace-nowrap align-middle inline-flex items-stretch justify-center\n border transition-colors duration-200 ease-in-out rounded-default\n select-none cursor-[inherit]",this.inverted?"focus-visible:focus-outline-inverted":"focus-visible:focus-outline",this.loading&&"relative cursor-wait",this.disabled&&"cursor-not-allowed",i["icon-only"]&&"px-0 w-varspacing",{sm:"text-sm varspacing-8 px-4",md:"text-base varspacing-10 px-4",lg:"text-base varspacing-12 px-4"}[this.size],{primary:this.inverted?"text-primary bg-white border-transparent\n hover:text-primary-500 hover:bg-primary-100\n active:text-primary-800 active:bg-primary-200\n disabled:bg-neutral-600 disabled:text-white":"text-white bg-primary border-transparent\n hover:text-primary-100 hover:bg-primary-500\n active:text-primary-200 active:bg-primary-800\n disabled:bg-neutral-500",secondary:this.inverted?"text-white border-white\n hover:text-primary-100 hover:bg-primary-500 hover:border-primary-100\n active:text-primary-200 active:bg-primary-800 active:border-primary-200\n disabled:text-neutral-600 disabled:border-neutral-600":"text-primary border-primary\n hover:text-primary-500 hover:border-primary-500 hover:bg-primary-100\n active:text-primary-800 active:border-primary-800 active:bg-primary-200\n disabled:text-neutral-500 disabled:border-neutral-500",tertiary:this.inverted?"text-white border-transparent\n hover:text-primary-100 hover:bg-primary-500\n active:text-primary-200 active:bg-primary-800\n disabled:text-neutral-600":"text-primary border-transparent\n hover:text-primary-500 hover:bg-primary-100\n active:text-primary-800 active:bg-primary-200\n disabled:text-neutral-500",cta:`text-white bg-accent-500 border-transparent\n hover:bg-accent-550\n active:bg-accent-700\n ${this.inverted?"disabled:bg-neutral-600":"disabled:bg-neutral-500"} disabled:text-white`}[this.variant])}" ?disabled="${c(t?void 0:this.disabled)}" type="${c(t?void 0:this.type)}" title="${this.title}" name="${c(t?void 0:this.name)}" value="${c(t?void 0:this.value)}" href="${c(t?this.href:void 0)}" target="${c(t?this.target:void 0)}" download="${c(t?this.download:void 0)}" rel="${c(t&&this.target?"noreferrer noopener":void 0)}" role="${c(t?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="${e("flex flex-auto items-center pointer-events-none",i["icon-only"]&&"hidden",this.loading&&"invisible",i["icon-left"]&&{sm:"mr-1",md:"mr-2",lg:"mr-2"}[this.size])}"></slot><slot part="label" class="${e(i["icon-only"]?"flex flex-auto items-center pointer-events-none":"inline-block",this.loading&&"invisible")}"></slot><slot name="icon-right" part="icon-right" class="${e("flex flex-auto items-center pointer-events-none",this.loading&&"invisible",i["icon-only"]&&"hidden",i["icon-right"]&&{sm:"ml-1",md:"ml-2",lg:"ml-2"}[this.size])}"></slot>${this.loading?h`<sd-3-22-
|
1
|
+
import"./spinner.js";import{S as t,t as e,c as r,i,e as o,n as a,a as s}from"./solid-components2.js";import{F as n,v as l}from"./form.js";import{H as d}from"./slot.js";import{s as p,n as h}from"./static.js";import{o as c}from"./if-defined.js";import{r as m}from"./state.js";import{o as u}from"./query-assigned-elements.js";import{w as b}from"./watch.js";var v=Object.defineProperty,y=Object.getOwnPropertyDescriptor,f=(t,e,r,i)=>{for(var o,a=i>1?void 0:i?y(e,r):e,s=t.length-1;s>=0;s--)(o=t[s])&&(a=(i?o(e,r,a):o(a))||a);return i&&a&&v(e,r,a),a};let g=class extends t{constructor(){super(...arguments),this.formControlController=new n(this,{form:t=>{if(t.hasAttribute("form")){const e=t.getRootNode(),r=t.getAttribute("form");return e.getElementById(r)}return t.closest("form")}}),this.hasSlotController=new d(this,"[default]","icon-left","icon-right"),this.invalid=!1,this.title="",this.variant="primary",this.inverted=!1,this.size="lg",this.disabled=!1,this.loading=!1,this.type="button",this.name="",this.value="",this.href=""}get validity(){return this.isButton()?this.button.validity:l}get validationMessage(){return this.isButton()?this.button.validationMessage:""}firstUpdated(){this.isButton()&&this.formControlController.updateValidity()}handleBlur(){this.emit("sd-blur")}handleFocus(){this.emit("sd-focus")}handleClick(t){if(this.disabled||this.loading)return t.preventDefault(),void t.stopPropagation();"submit"===this.type&&this.formControlController.submit(this),"reset"===this.type&&this.formControlController.reset(this)}handleInvalid(t){this.formControlController.setValidity(!1),this.formControlController.emitInvalidEvent(t)}isButton(){return!this.href}isLink(){return!!this.href}handleDisabledChange(){this.isButton()&&this.formControlController.setValidity(this.disabled)}click(){this.button.click()}focus(t){this.button.focus(t)}blur(){this.button.blur()}checkValidity(){return!this.isButton()||this.button.checkValidity()}getForm(){return this.formControlController.getForm()}reportValidity(){return!this.isButton()||this.button.reportValidity()}setCustomValidity(t){this.isButton()&&(this.button.setCustomValidity(t),this.formControlController.updateValidity())}render(){const t=this.isLink(),r=t?p`a`:p`button`,i={label:this.hasSlotController.test("[default]"),"icon-left":this.hasSlotController.test("icon-left"),"icon-right":this.hasSlotController.test("icon-right"),"icon-only":this._iconsInDefaultSlot.length>0};return h`<${r} part="base" class="${e("font-md leading-[calc(var(--tw-varspacing)-2px)] no-underline\n w-full h-varspacing whitespace-nowrap align-middle inline-flex items-stretch justify-center\n border transition-colors duration-200 ease-in-out rounded-default\n select-none cursor-[inherit]",this.inverted?"focus-visible:focus-outline-inverted":"focus-visible:focus-outline",this.loading&&"relative cursor-wait",this.disabled&&"cursor-not-allowed",i["icon-only"]&&"px-0 w-varspacing",{sm:"text-sm varspacing-8 px-4",md:"text-base varspacing-10 px-4",lg:"text-base varspacing-12 px-4"}[this.size],{primary:this.inverted?"text-primary bg-white border-transparent\n hover:text-primary-500 hover:bg-primary-100\n active:text-primary-800 active:bg-primary-200\n disabled:bg-neutral-600 disabled:text-white":"text-white bg-primary border-transparent\n hover:text-primary-100 hover:bg-primary-500\n active:text-primary-200 active:bg-primary-800\n disabled:bg-neutral-500",secondary:this.inverted?"text-white border-white\n hover:text-primary-100 hover:bg-primary-500 hover:border-primary-100\n active:text-primary-200 active:bg-primary-800 active:border-primary-200\n disabled:text-neutral-600 disabled:border-neutral-600":"text-primary border-primary\n hover:text-primary-500 hover:border-primary-500 hover:bg-primary-100\n active:text-primary-800 active:border-primary-800 active:bg-primary-200\n disabled:text-neutral-500 disabled:border-neutral-500",tertiary:this.inverted?"text-white border-transparent\n hover:text-primary-100 hover:bg-primary-500\n active:text-primary-200 active:bg-primary-800\n disabled:text-neutral-600":"text-primary border-transparent\n hover:text-primary-500 hover:bg-primary-100\n active:text-primary-800 active:bg-primary-200\n disabled:text-neutral-500",cta:`text-white bg-accent-500 border-transparent\n hover:bg-accent-550\n active:bg-accent-700\n ${this.inverted?"disabled:bg-neutral-600":"disabled:bg-neutral-500"} disabled:text-white`}[this.variant])}" ?disabled="${c(t?void 0:this.disabled)}" type="${c(t?void 0:this.type)}" title="${this.title}" name="${c(t?void 0:this.name)}" value="${c(t?void 0:this.value)}" href="${c(t?this.href:void 0)}" target="${c(t?this.target:void 0)}" download="${c(t?this.download:void 0)}" rel="${c(t&&this.target?"noreferrer noopener":void 0)}" role="${c(t?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="${e("flex flex-auto items-center pointer-events-none",i["icon-only"]&&"hidden",this.loading&&"invisible",i["icon-left"]&&{sm:"mr-1",md:"mr-2",lg:"mr-2"}[this.size])}"></slot><slot part="label" class="${e(i["icon-only"]?"flex flex-auto items-center pointer-events-none":"inline-block",this.loading&&"invisible")}"></slot><slot name="icon-right" part="icon-right" class="${e("flex flex-auto items-center pointer-events-none",this.loading&&"invisible",i["icon-only"]&&"hidden",i["icon-right"]&&{sm:"ml-1",md:"ml-2",lg:"ml-2"}[this.size])}"></slot>${this.loading?h`<sd-3-22-7-spinner class="${e("absolute top-1/2 left-1/2 transform -translate-x-1/2 -translate-y-1/2")}"></sd-3-22-7-spinner>`:""}</${r}>`}};g.styles=[r,t.styles,i`:host{position:relative;display:inline-block;width:var(--sd-spacing-auto,auto);cursor:pointer}sd-3-22-7-spinner{--indicator-color:currentColor;--track-color:var(--tw-varcolor-200)}::slotted(sd-3-22-7-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-7-icon),sd-3-22-7-spinner{font-size:calc(var(--tw-varspacing)/ 2)}`],f([o("a, button")],g.prototype,"button",2),f([u({selector:"sd-3-22-7-icon"})],g.prototype,"_iconsInDefaultSlot",2),f([m()],g.prototype,"invalid",2),f([a()],g.prototype,"title",2),f([a({reflect:!0})],g.prototype,"variant",2),f([a({type:Boolean,reflect:!0})],g.prototype,"inverted",2),f([a({reflect:!0})],g.prototype,"size",2),f([a({type:Boolean,reflect:!0})],g.prototype,"disabled",2),f([a({type:Boolean,reflect:!0})],g.prototype,"loading",2),f([a()],g.prototype,"type",2),f([a()],g.prototype,"name",2),f([a()],g.prototype,"value",2),f([a()],g.prototype,"href",2),f([a()],g.prototype,"target",2),f([a()],g.prototype,"download",2),f([a()],g.prototype,"form",2),f([a({attribute:"formaction"})],g.prototype,"formAction",2),f([a({attribute:"formenctype"})],g.prototype,"formEnctype",2),f([a({attribute:"formmethod"})],g.prototype,"formMethod",2),f([a({attribute:"formnovalidate",type:Boolean})],g.prototype,"formNoValidate",2),f([a({attribute:"formtarget"})],g.prototype,"formTarget",2),f([b("disabled",{waitUntilFirstUpdate:!0})],g.prototype,"handleDisabledChange",1),g=f([s("sd-3-22-7-button")],g);export{g as default};
|
@@ -1 +1 @@
|
|
1
|
-
import{S as t,x as e,c as s,i as r,a as o}from"./solid-components2.js";Object.defineProperty,Object.getOwnPropertyDescriptor;let a=class extends t{static isCarouselItem(t){return t instanceof Element&&"slide"===t.getAttribute("aria-roledescription")}connectedCallback(){super.connectedCallback(),this.setAttribute("role","group")}render(){return e`<slot></slot>`}};a.styles=[t.styles,s,r`: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}`],a=((t,e,s,r)=>{for(var o,a=e,i=t.length-1;i>=0;i--)(o=t[i])&&(a=o(a)||a);return a})([o("sd-3-22-
|
1
|
+
import{S as t,x as e,c as s,i as r,a as o}from"./solid-components2.js";Object.defineProperty,Object.getOwnPropertyDescriptor;let a=class extends t{static isCarouselItem(t){return t instanceof Element&&"slide"===t.getAttribute("aria-roledescription")}connectedCallback(){super.connectedCallback(),this.setAttribute("role","group")}render(){return e`<slot></slot>`}};a.styles=[t.styles,s,r`: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}`],a=((t,e,s,r)=>{for(var o,a=e,i=t.length-1;i>=0;i--)(o=t[i])&&(a=o(a)||a);return a})([o("sd-3-22-7-carousel-item")],a);export{a as default};
|
@@ -1,11 +1,16 @@
|
|
1
|
-
import"./icon.js";import{AutoplayController as e}from"./autoplay-controller.js";import{
|
1
|
+
import"./icon.js";import{AutoplayController as e}from"./autoplay-controller.js";import{b as t,S as i,L as s,x as o,t as a,r,c as l,i as n,e as d,n as c,a as h}from"./solid-components2.js";import{p}from"./animate.js";import{r as u}from"./state.js";import{ScrollController as g}from"./scroll-controller.js";import{w as v}from"./watch.js";import{I as b}from"./interactive.js";import m from"./carousel-item.js";
|
2
|
+
/**
|
3
|
+
* @license
|
4
|
+
* Copyright 2017 Google LLC
|
5
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
6
|
+
*/let y;var f=Object.defineProperty,S=Object.getOwnPropertyDescriptor,P=(e,t,i,s)=>{for(var o,a=s>1?void 0:s?S(t,i):t,r=e.length-1;r>=0;r--)(o=e[r])&&(a=(s?o(t,i,a):o(a))||a);return s&&a&&f(t,i,a),a};let w=class extends i{constructor(){super(...arguments),this.variant="number",this.inverted=!1,this.loop=!1,this.autoplay=!1,this.slidesPerPage=1,this.slidesPerMove=1,this.activeSlide=0,this.currentPage=1,this.pausedAutoplay=!1,this.autoplayController=new e(this,(()=>this.next())),this.scrollController=new g(this),this.slides=this.getElementsByTagName("sd-3-22-7-carousel-item"),this.intersectionObserverEntries=new Map,this.localize=new s(this),this.handleSlotChange=e=>{e.some((e=>[...e.addedNodes,...e.removedNodes].some((e=>m.isCarouselItem(e)&&!e.hasAttribute("data-clone")))))&&this.initializeSlides(),this.requestUpdate()},this.unblockAutoplay=(e,t)=>{e.detail&&t.blur()}}connectedCallback(){super.connectedCallback(),this.setAttribute("role","region"),this.setAttribute("aria-label",this.localize.term("carousel"));const e=new IntersectionObserver((e=>{e.forEach((e=>{this.intersectionObserverEntries.set(e.target,e);const t=e.target;t.toggleAttribute("inert",!e.isIntersecting),t.classList.toggle("--in-view",e.isIntersecting),t.setAttribute("aria-hidden",e.isIntersecting?"false":"true")}))}),{root:this,threshold:.6});this.intersectionObserver=e,e.takeRecords().forEach((e=>{this.intersectionObserverEntries.set(e.target,e)}))}disconnectedCallback(){super.disconnectedCallback(),this.intersectionObserver.disconnect(),this.mutationObserver.disconnect()}firstUpdated(){this.initializeSlides(),this.mutationObserver=new MutationObserver(this.handleSlotChange),this.mutationObserver.observe(this,{childList:!0,subtree:!1})}static getPageCount(e,t,i){return Math.ceil((e-t)/i)+1>0?Math.ceil((e-t)/i)+1:1}static getCurrentPage(e,t,i,s){return Math.ceil((e-i)/s)-Math.ceil((e-i-t)/s)+1}getSlides({excludeClones:e=!0}={}){return[...this.slides].filter((t=>!e||!t.hasAttribute("data-clone")))}handleKeyDown(e){if(["ArrowLeft","ArrowRight","ArrowUp","ArrowDown","Home","End"].includes(e.key)){const t=e.target,i="rtl"===this.localize.dir(),s=null!==t.closest('[part~="pagination-item"]'),o="ArrowDown"===e.key||!i&&"ArrowRight"===e.key||i&&"ArrowLeft"===e.key,a="ArrowUp"===e.key||!i&&"ArrowLeft"===e.key||i&&"ArrowRight"===e.key;e.preventDefault(),a&&this.previous(),o&&this.next(),"Home"===e.key&&this.goToSlide(0),"End"===e.key&&this.goToSlide(this.getSlides().length-1),s&&this.updateComplete.then((()=>{var e;const t=null==(e=this.shadowRoot)?void 0:e.querySelector('[part~="pagination-item--active"]');t&&t.focus()}))}}handleScrollEnd(){const e=this.getSlides(),t=[...this.intersectionObserverEntries.values()].find((e=>e.isIntersecting));if(this.loop&&null!=t&&t.target.hasAttribute("data-clone")){const e=Number(t.target.getAttribute("data-clone"));this.goToSlide(e,"auto")}else t&&(this.activeSlide=e.indexOf(t.target))}pause(){this.pausedAutoplay=!0}resume(){this.pausedAutoplay=!1}handlePausedAutoplay(){var e,t;this.pausedAutoplay?(this.autoplayController.stop(),null==(e=this.autoplayControls)||e.setAttribute("aria-pressed","false")):this.autoplay&&(this.autoplayController.start(3e3),null==(t=this.autoplayControls)||t.setAttribute("aria-pressed","true"))}initializeSlides(){const e=this.getSlides(),t=this.intersectionObserver;if(this.intersectionObserverEntries.clear(),this.getSlides({excludeClones:!1}).forEach(((i,s)=>{t.unobserve(i),i.classList.remove("--in-view"),i.classList.remove("--is-active"),i.setAttribute("aria-label",this.localize.term("slideNum",s+1,e.length)),i.hasAttribute("data-clone")&&i.remove()})),this.loop){const t=this.slidesPerPage,i=e.slice(-t),s=e.slice(0,t);i.reverse().forEach(((t,i)=>{const s=t.cloneNode(!0);s.setAttribute("data-clone",String(e.length-i-1)),this.prepend(s)})),s.forEach(((e,t)=>{const i=e.cloneNode(!0);i.setAttribute("data-clone",String(t)),this.append(i)}))}this.getSlides({excludeClones:!1}).forEach((e=>{t.observe(e)})),this.goToSlide(this.activeSlide,"auto")}handleSlideChange(){const e=this.getSlides();e.forEach(((e,t)=>{e.classList.toggle("--is-active",t===this.activeSlide)}));const t=w.getCurrentPage(e.length,this.activeSlide,this.slidesPerPage,this.slidesPerMove);this.currentPage!==t&&(this.currentPage=t),this.hasUpdated&&this.emit("sd-slide-change",{detail:{index:this.activeSlide,slide:e[this.activeSlide]}});const i=w.getPageCount(e.length,this.slidesPerPage,this.slidesPerMove);this.currentPage>i&&requestAnimationFrame((()=>{this.nextTillFirst()}))}handleSlidesPerMoveChange(){const e=this.getSlides({excludeClones:!1}),t=this.slidesPerMove;e.forEach(((e,i)=>{Math.abs(i-t)%t==0?e.style.removeProperty("scroll-snap-align"):e.style.setProperty("scroll-snap-align","none")}))}handleAutoplayChange(){this.autoplayController.stop(),this.autoplay&&!this.pausedAutoplay&&this.autoplayController.start(3e3)}previous(e="smooth"){let t=this.activeSlide||this.activeSlide-this.slidesPerMove,i=!1;for(;!i&&t>0;)t-=1,i=Math.abs(t-this.slidesPerMove)%this.slidesPerMove==0;this.currentPage-1==0&&this.loop?this.goToSlide(this.activeSlide-this.slidesPerPage,e):this.goToSlide(t,e)}next(e="smooth"){this.currentPage+1<=w.getPageCount(this.getSlides().length,this.slidesPerPage,this.slidesPerMove)?this.goToSlide(this.activeSlide+this.slidesPerMove,e):this.loop&&this.nextTillFirst(e)}nextTillFirst(e="smooth"){for(;0!==this.activeSlide;)this.goToSlide(this.activeSlide+1,e);this.currentPage=w.getCurrentPage(this.getSlides().length,this.activeSlide,this.slidesPerPage,this.slidesPerMove)}goToSlide(e,t="smooth"){const{slidesPerPage:i,loop:s,scrollContainer:o}=this,a=this.getSlides(),r=this.getSlides({excludeClones:!1}),l=(e+a.length)%a.length;this.activeSlide=l;const n=function(e,t,i){return(e=>Object.is(e,-0)?0:e)(e<0?0:e>i?i:e)}
|
2
7
|
/**
|
3
8
|
* @license
|
4
9
|
* Copyright 2021 Google LLC
|
5
10
|
* SPDX-License-Identifier: BSD-3-Clause
|
6
|
-
*/(e+(s?i:0),0,
|
11
|
+
*/(e+(s?i:0),0,r.length+1),d=r[n],c=o.getBoundingClientRect(),h=d.getBoundingClientRect();o.scrollTo({left:h.left-c.left+o.scrollLeft,top:h.top-c.top+o.scrollTop,behavior:p()?"auto":t}),this.activeSlide!==a.length-1||this.loop?0===this.activeSlide&&!this.loop&&this.nextButton.focus({preventScroll:!0}):this.previousButton.focus({preventScroll:!0})}render(){const{scrollController:e,slidesPerMove:t}=this,i=w.getPageCount(this.getSlides().length,this.slidesPerPage,this.slidesPerMove),s=w.getCurrentPage(this.getSlides().length,this.activeSlide,this.slidesPerPage,this.slidesPerMove),r=this.loop||s>1,l=this.loop||s<i,n="ltr"===this.localize.dir();return o`<div part="base" class="${a("carousel h-full w-full")}"><div id="scroll-container" part="scroll-container" class="${a("carousel__slides mb-6\n grid max-h-full w-full items-center justify-items-center overflow-auto",this.inverted?"focus-visible:focus-outline-inverted":"focus-visible:focus-outline","overscroll-x-contain grid-flow-col auto-rows-[100%]\n snap-x snap-mandatory overflow-y-hidden")}" style="--slides-per-page:${this.slidesPerPage}" aria-busy="${e.scrolling?"true":"false"}" role="status" tabindex="0" @keydown="${this.handleKeyDown}" @scrollend="${this.handleScrollEnd}"><slot></slot></div><div part="controls" class="${a("w-full flex items-center justify-center relative")}"><div part="navigation" class="${a("carousel__navigation flex items-center justify-center")}"><button part="navigation-button navigation-button--previous" id="carousel__navigation-button--previous" ?disabled="${!r}" class="${a("!mr-6 !rounded-sm sd-interactive",!r&&"sd-interactive--disabled",this.inverted?"sd-interactive--inverted":"sd-interactive--reset")}" aria-label="${this.localize.term("previousSlide")}" aria-controls="scroll-container" aria-disabled="${r?"false":"true"}" @click="${r?e=>{this.previous(),this.unblockAutoplay(e,this.previousButton)}:null}"><slot name="previous-icon"><sd-3-22-7-icon class="${a("h-6 w-6 rotate-90 grid place-items-center")}" library="system" name="${n?"chevron-down":"chevron-up"}"></sd-3-22-7-icon></slot></button> ${"dot"===this.variant?o`<div part="pagination-dot" role="tablist" class="${a("carousel__pagination dot flex wrap items-center gap-2")}" aria-controls="scroll-container">${function*(e,t){if(void 0!==e){let i=0;for(const s of e)yield t(s,i++)}}
|
7
12
|
/**
|
8
13
|
* @license
|
9
14
|
* Copyright 2021 Google LLC
|
10
15
|
* SPDX-License-Identifier: BSD-3-Clause
|
11
|
-
*/(function*(e,t,i=1){const s=void 0===t?0:e;t??(t=e);for(let e=s;i>0?e<t:t<e;e+=i)yield e}(i),(e=>{const
|
16
|
+
*/(function*(e,t,i=1){const s=void 0===t?0:e;t??(t=e);for(let e=s;i>0?e<t:t<e;e+=i)yield e}(i),(e=>{const r=e+1===s;return o`<button part="pagination-item ${r?"pagination-item--active":""}" class="${a("carousel__pagination-item","block cursor-pointer bg-none border-0 rounded-full",r?"bg-accent":"",this.inverted?"focus-within:focus-outline-inverted":"focus-within:focus-outline")}" role="tab" tabindex="0" aria-selected="${r?"true":"false"}" aria-label="${this.localize.term("goToSlide",e+1,i)}" @click="${i=>{this.goToSlide(e*t),this.unblockAutoplay(i,this.paginationItems[e])}}" @keydown="${this.handleKeyDown}"><span class="${a("h-4 w-4 block border hover:border-primary-500 rounded-full",this.inverted?"border-white hover:border-primary-500":"border-primary",r&&"bg-accent border-none",r?this.inverted?"hover:bg-accent-300":"hover:bg-accent-550":"")}"></span></button>`}))}</div>`:o`<span part="pagination-number" class="carousel__pagination number flex gap-0.5 cursor-default select-none" aria-controls="scroll-container"><span part="pagination-item" class="${a("w-5 text-center border-b-2 border-accent",this.inverted?"text-white":"text-black")}">${s}</span> <span part="pagination-divider" class="${a("scale-y-[1.5]","text-center",this.inverted?"text-white":"text-black")}">/</span> <span part="pagination-item" class="${a("w-5 text-center",this.inverted?"text-white":"text-black")}">${i}</span></span>`} <button part="navigation-button navigation-button--next" id="carousel__navigation-button--next" ?disabled="${!l}" class="${a("!ml-6 !rounded-sm sd-interactive ",!l&&"sd-interactive--disabled",this.inverted?"sd-interactive--inverted":"sd-interactive--reset")}" aria-label="${this.localize.term("nextSlide")}" aria-controls="scroll-container" aria-disabled="${l?"false":"true"}" @click="${l?e=>{this.next(),this.unblockAutoplay(e,this.nextButton)}:null}"><slot name="next-icon"><sd-3-22-7-icon class="${a("h-6 w-6 rotate-90 grid place-items-center")}" library="system" name="${n?"chevron-up":"chevron-down"}"></sd-3-22-7-icon></slot></button></div><button class="${a("ml-6 !rounded-sm","!absolute !right-0 sd-interactive",this.inverted?"sd-interactive--inverted":"sd-interactive--reset",!this.autoplay&&"!hidden")}" part="autoplay-controls" aria-label="${this.localize.term("autoplay")}" aria-pressed="true" @click="${e=>{this.pausedAutoplay=!this.pausedAutoplay,e.detail&&this.autoplayControls.blur()}}"><slot name="autoplay-start" class="${a(this.pausedAutoplay?"":"hidden")}"><sd-3-22-7-icon class="h-6 w-6 grid place-items-center" library="system" name="start"></sd-3-22-7-icon></slot><slot name="autoplay-pause" class="${a(this.pausedAutoplay?"hidden":"")}"><sd-3-22-7-icon class="h-6 w-6 grid place-items-center" library="system" name="pause"></sd-3-22-7-icon></slot></button></div></div>`}};w.styles=[i.styles,r(b),l,n`: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-7-button::part(label){pointer-events:none;display:flex;flex:1 1 auto;align-items:center}`],P([d('[part~="autoplay-controls"]')],w.prototype,"autoplayControls",2),P([d('[part~="navigation-button--previous"]')],w.prototype,"previousButton",2),P([d('[part~="navigation-button--next"]')],w.prototype,"nextButton",2),P([(e,i)=>t(e,i,{get(){return(this.renderRoot??y??(y=document.createDocumentFragment())).querySelectorAll('[part~="pagination-item"]')}})],w.prototype,"paginationItems",2),P([c({type:String,reflect:!0})],w.prototype,"variant",2),P([c({type:Boolean,reflect:!0})],w.prototype,"inverted",2),P([c({type:Boolean,reflect:!0})],w.prototype,"loop",2),P([c({type:Boolean,reflect:!0})],w.prototype,"autoplay",2),P([c({type:Number,attribute:"slides-per-page"})],w.prototype,"slidesPerPage",2),P([c({type:Number,attribute:"slides-per-move"})],w.prototype,"slidesPerMove",2),P([d("slot:not([name])")],w.prototype,"defaultSlot",2),P([d(".carousel__slides")],w.prototype,"scrollContainer",2),P([d(".carousel__pagination")],w.prototype,"paginationContainer",2),P([u()],w.prototype,"activeSlide",2),P([u()],w.prototype,"currentPage",2),P([u()],w.prototype,"pausedAutoplay",2),P([v("pausedAutoplay")],w.prototype,"handlePausedAutoplay",1),P([v("loop",{waitUntilFirstUpdate:!0}),v("slidesPerPage",{waitUntilFirstUpdate:!0})],w.prototype,"initializeSlides",1),P([v("activeSlide")],w.prototype,"handleSlideChange",1),P([v("slidesPerMove")],w.prototype,"handleSlidesPerMoveChange",1),P([v("autoplay")],w.prototype,"handleAutoplayChange",1),w=P([h("sd-3-22-7-carousel")],w);export{w as default};
|