@solid-design-system/components 3.18.0 → 3.19.1
Sign up to get free protection for your applications and to get access to all the features.
- package/LICENSE.md +2 -0
- package/dist/components/es/audio.js +1 -0
- package/dist/components/es/solid-components2.js +8 -8
- package/dist/components/es/wave.js +1 -0
- package/dist/components/umd/solid-components.js +17 -16
- package/dist/custom-elements.json +1 -1
- package/dist/package/components/audio/audio.d.ts +55 -0
- package/dist/package/components/audio/audio.js +353 -0
- package/dist/package/components/audio/wave.d.ts +38 -0
- package/dist/package/components/audio/wave.js +85 -0
- package/dist/package/components/icon/library.system.d.ts +3 -0
- package/dist/package/components/icon/library.system.js +6 -1
- package/dist/package/solid-components.d.ts +1 -0
- package/dist/package/solid-components.js +86 -84
- package/dist/package/styles/tailwind.css.js +1 -1
- package/dist/package/translations/de.js +7 -1
- package/dist/package/translations/en.js +7 -1
- package/dist/package/utilities/localize.d.ts +6 -0
- package/dist/versioned-components/es/accordion-group.js +1 -1
- package/dist/versioned-components/es/accordion.js +1 -1
- package/dist/versioned-components/es/audio.js +1 -0
- package/dist/versioned-components/es/badge.js +1 -1
- package/dist/versioned-components/es/brandshape.js +1 -1
- package/dist/versioned-components/es/button.js +1 -1
- package/dist/versioned-components/es/carousel-item.js +1 -1
- package/dist/versioned-components/es/carousel.js +3 -3
- package/dist/versioned-components/es/checkbox-group.js +1 -1
- package/dist/versioned-components/es/checkbox.js +1 -1
- package/dist/versioned-components/es/dialog.js +1 -1
- package/dist/versioned-components/es/divider.js +1 -1
- package/dist/versioned-components/es/drawer.js +1 -1
- package/dist/versioned-components/es/dropdown.js +1 -1
- package/dist/versioned-components/es/expandable.js +1 -1
- package/dist/versioned-components/es/flipcard.js +1 -1
- package/dist/versioned-components/es/form.js +1 -1
- package/dist/versioned-components/es/header.js +1 -1
- package/dist/versioned-components/es/icon.js +1 -1
- package/dist/versioned-components/es/include.js +1 -1
- package/dist/versioned-components/es/input.js +1 -1
- package/dist/versioned-components/es/link.js +1 -1
- package/dist/versioned-components/es/map-marker.js +1 -1
- package/dist/versioned-components/es/navigation-item.js +1 -1
- package/dist/versioned-components/es/notification.js +1 -1
- package/dist/versioned-components/es/option.js +1 -1
- package/dist/versioned-components/es/quickfact.js +1 -1
- package/dist/versioned-components/es/radio-button.js +1 -1
- package/dist/versioned-components/es/radio-group.js +1 -1
- package/dist/versioned-components/es/radio.js +1 -1
- package/dist/versioned-components/es/scrollable.js +1 -1
- package/dist/versioned-components/es/select.js +3 -3
- package/dist/versioned-components/es/solid-components2.js +8 -8
- 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-components/es/wave.js +1 -0
- 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 +55 -0
- package/dist/versioned-package/components/audio/audio.js +353 -0
- package/dist/versioned-package/components/audio/wave.d.ts +38 -0
- package/dist/versioned-package/components/audio/wave.js +85 -0
- package/dist/versioned-package/components/badge/badge.d.ts +1 -1
- package/dist/versioned-package/components/badge/badge.js +1 -1
- package/dist/versioned-package/components/brandshape/brandshape.d.ts +1 -1
- package/dist/versioned-package/components/brandshape/brandshape.js +1 -1
- package/dist/versioned-package/components/button/button.d.ts +1 -1
- package/dist/versioned-package/components/button/button.js +4 -4
- package/dist/versioned-package/components/carousel/carousel.d.ts +1 -1
- package/dist/versioned-package/components/carousel/carousel.js +6 -6
- package/dist/versioned-package/components/carousel-item/carousel-item.d.ts +1 -1
- package/dist/versioned-package/components/carousel-item/carousel-item.js +1 -1
- package/dist/versioned-package/components/checkbox/checkbox.d.ts +1 -1
- package/dist/versioned-package/components/checkbox/checkbox.js +3 -3
- package/dist/versioned-package/components/checkbox-group/checkbox-group.d.ts +1 -1
- package/dist/versioned-package/components/checkbox-group/checkbox-group.js +5 -5
- package/dist/versioned-package/components/dialog/dialog.d.ts +1 -1
- package/dist/versioned-package/components/dialog/dialog.js +2 -2
- package/dist/versioned-package/components/divider/divider.d.ts +1 -1
- package/dist/versioned-package/components/divider/divider.js +2 -2
- package/dist/versioned-package/components/drawer/drawer.d.ts +1 -1
- package/dist/versioned-package/components/drawer/drawer.js +2 -2
- package/dist/versioned-package/components/dropdown/dropdown.d.ts +1 -1
- package/dist/versioned-package/components/dropdown/dropdown.js +8 -8
- package/dist/versioned-package/components/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/icon/library.system.d.ts +3 -0
- package/dist/versioned-package/components/icon/library.system.js +6 -1
- package/dist/versioned-package/components/include/include.d.ts +1 -1
- package/dist/versioned-package/components/include/include.js +1 -1
- package/dist/versioned-package/components/input/input.d.ts +1 -1
- package/dist/versioned-package/components/input/input.js +2 -2
- package/dist/versioned-package/components/link/link.d.ts +1 -1
- package/dist/versioned-package/components/link/link.js +2 -2
- package/dist/versioned-package/components/map-marker/map-marker.d.ts +1 -1
- package/dist/versioned-package/components/map-marker/map-marker.js +1 -1
- package/dist/versioned-package/components/navigation-item/navigation-item.d.ts +1 -1
- package/dist/versioned-package/components/navigation-item/navigation-item.js +5 -5
- package/dist/versioned-package/components/notification/notification.d.ts +1 -1
- package/dist/versioned-package/components/notification/notification.js +5 -5
- package/dist/versioned-package/components/option/option.d.ts +1 -1
- package/dist/versioned-package/components/option/option.js +2 -2
- package/dist/versioned-package/components/popup/popup.d.ts +1 -1
- package/dist/versioned-package/components/popup/popup.js +1 -1
- package/dist/versioned-package/components/quickfact/quickfact.d.ts +1 -1
- package/dist/versioned-package/components/quickfact/quickfact.js +2 -2
- package/dist/versioned-package/components/radio/radio.d.ts +1 -1
- package/dist/versioned-package/components/radio/radio.js +2 -2
- package/dist/versioned-package/components/radio-button/radio-button.d.ts +1 -1
- package/dist/versioned-package/components/radio-button/radio-button.js +2 -2
- package/dist/versioned-package/components/radio-group/radio-group.d.ts +2 -2
- package/dist/versioned-package/components/radio-group/radio-group.js +13 -13
- package/dist/versioned-package/components/scrollable/scrollable.d.ts +1 -1
- package/dist/versioned-package/components/scrollable/scrollable.js +3 -3
- package/dist/versioned-package/components/select/select.d.ts +4 -4
- package/dist/versioned-package/components/select/select.js +25 -25
- package/dist/versioned-package/components/spinner/spinner.d.ts +1 -1
- package/dist/versioned-package/components/spinner/spinner.js +1 -1
- package/dist/versioned-package/components/step/step.d.ts +1 -1
- package/dist/versioned-package/components/step/step.js +2 -2
- package/dist/versioned-package/components/step-group/step-group.d.ts +1 -1
- package/dist/versioned-package/components/step-group/step-group.js +2 -2
- package/dist/versioned-package/components/switch/switch.d.ts +1 -1
- package/dist/versioned-package/components/switch/switch.js +1 -1
- package/dist/versioned-package/components/tab/tab.d.ts +1 -1
- package/dist/versioned-package/components/tab/tab.js +2 -2
- package/dist/versioned-package/components/tab-group/tab-group.d.ts +1 -1
- package/dist/versioned-package/components/tab-group/tab-group.js +13 -13
- package/dist/versioned-package/components/tab-panel/tab-panel.d.ts +1 -1
- package/dist/versioned-package/components/tab-panel/tab-panel.js +2 -2
- package/dist/versioned-package/components/tag/tag.d.ts +1 -1
- package/dist/versioned-package/components/tag/tag.js +2 -2
- package/dist/versioned-package/components/teaser/teaser.js +1 -1
- package/dist/versioned-package/components/teaser-media/teaser-media.js +1 -1
- package/dist/versioned-package/components/textarea/textarea.d.ts +1 -1
- package/dist/versioned-package/components/textarea/textarea.js +2 -2
- package/dist/versioned-package/components/tooltip/tooltip.d.ts +1 -1
- package/dist/versioned-package/components/tooltip/tooltip.js +5 -5
- package/dist/versioned-package/components/video/video.d.ts +1 -1
- package/dist/versioned-package/components/video/video.js +2 -2
- package/dist/versioned-package/internal/form.js +3 -3
- package/dist/versioned-package/solid-components.d.ts +1 -0
- package/dist/versioned-package/solid-components.js +86 -84
- package/dist/versioned-package/styles/headline/headline.css.js +1 -1
- package/dist/versioned-package/styles/tailwind.css.js +1 -1
- package/dist/versioned-package/translations/de.js +7 -1
- package/dist/versioned-package/translations/en.js +7 -1
- package/dist/versioned-package/utilities/autocomplete-config.js +4 -4
- package/dist/versioned-package/utilities/localize.d.ts +6 -0
- package/dist/versioned-styles/solid-styles.css +1 -1
- package/dist/vscode.html-custom-data.json +108 -44
- package/dist/web-types.json +683 -45
- package/package.json +3 -3
@@ -0,0 +1,353 @@
|
|
1
|
+
import { unsafeCSS, css, html } from "lit";
|
2
|
+
import { customElement } from "../../internal/register-custom-element.js";
|
3
|
+
import { HasSlotController } from "../../internal/slot.js";
|
4
|
+
import { LocalizeController } from "../../utilities/localize.js";
|
5
|
+
import { property, state, query } from "lit/decorators.js";
|
6
|
+
import { Wave } from "./wave.js";
|
7
|
+
import cx from "classix";
|
8
|
+
import InteractiveStyles from "../../styles/interactive/interactive.css.js";
|
9
|
+
import SolidElement from "../../internal/solid-element.js";
|
10
|
+
var __defProp = Object.defineProperty;
|
11
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
12
|
+
var __decorateClass = (decorators, target, key, kind) => {
|
13
|
+
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
|
14
|
+
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
15
|
+
if (decorator = decorators[i])
|
16
|
+
result = (kind ? decorator(target, key, result) : decorator(result)) || result;
|
17
|
+
if (kind && result) __defProp(target, key, result);
|
18
|
+
return result;
|
19
|
+
};
|
20
|
+
let SdAudio = class extends SolidElement {
|
21
|
+
constructor() {
|
22
|
+
super();
|
23
|
+
this.localize = new LocalizeController(this);
|
24
|
+
this.hasSlotController = new HasSlotController(this, "transcript");
|
25
|
+
this.reversedLayout = false;
|
26
|
+
this.hideTimestamps = false;
|
27
|
+
this.animated = false;
|
28
|
+
this.inverted = false;
|
29
|
+
this.speed = 1;
|
30
|
+
this.currentTime = this.formatTime(0);
|
31
|
+
this.duration = "";
|
32
|
+
this.isPlaying = false;
|
33
|
+
this.isMuted = false;
|
34
|
+
this.progress = 0;
|
35
|
+
this.setAudioProgress = () => {
|
36
|
+
this.progressSlider.max = Math.floor(this.audioElement.duration).toString();
|
37
|
+
};
|
38
|
+
this.updateCurrentTime = this.updateCurrentTime.bind(this);
|
39
|
+
this.handleAudioEnd = this.handleAudioEnd.bind(this);
|
40
|
+
this.handleAudioProgress = this.handleAudioProgress.bind(this);
|
41
|
+
this.handleAudioProgressKeydown = this.handleAudioProgressKeydown.bind(this);
|
42
|
+
}
|
43
|
+
firstUpdated() {
|
44
|
+
if (!this.audioElement) return;
|
45
|
+
this.audioElement.addEventListener("timeupdate", this.updateCurrentTime);
|
46
|
+
this.audioElement.addEventListener("ended", this.handleAudioEnd);
|
47
|
+
this.audioElement.setAttribute("controlsList", "nodownload");
|
48
|
+
this.audioElement.playbackRate = this.speed;
|
49
|
+
if (this.animated) {
|
50
|
+
this.initAnimation();
|
51
|
+
}
|
52
|
+
}
|
53
|
+
updated(changedProperties) {
|
54
|
+
if (changedProperties.has("animated")) {
|
55
|
+
const oldValue = changedProperties.get("animated");
|
56
|
+
if (!oldValue && this.animated) {
|
57
|
+
this.initAnimation();
|
58
|
+
} else if (oldValue && !this.animated) {
|
59
|
+
this.clear();
|
60
|
+
}
|
61
|
+
}
|
62
|
+
}
|
63
|
+
get audioElement() {
|
64
|
+
const slot = this.shadowRoot.querySelector("slot");
|
65
|
+
if ((slot == null ? void 0 : slot.assignedElements().length) > 0) {
|
66
|
+
return slot.assignedElements()[0];
|
67
|
+
}
|
68
|
+
return null;
|
69
|
+
}
|
70
|
+
updateCurrentTime() {
|
71
|
+
if (!this.audioElement) return;
|
72
|
+
const currentTime = this.audioElement.currentTime;
|
73
|
+
this.currentTime = this.formatTime(currentTime);
|
74
|
+
this.progress = Math.floor(currentTime);
|
75
|
+
if (this.progressSlider) {
|
76
|
+
this.progressSlider.value = this.progress.toString();
|
77
|
+
}
|
78
|
+
}
|
79
|
+
updateAudioDuration() {
|
80
|
+
if (!this.audioElement) return;
|
81
|
+
if (isNaN(this.audioElement.duration)) {
|
82
|
+
setTimeout(() => {
|
83
|
+
this.updateAudioDuration();
|
84
|
+
}, 100);
|
85
|
+
return;
|
86
|
+
}
|
87
|
+
this.duration = this.formatTime(this.audioElement.duration);
|
88
|
+
this.setAudioProgress();
|
89
|
+
}
|
90
|
+
playAudio() {
|
91
|
+
if (!this.audioElement) return;
|
92
|
+
this.isPlaying = true;
|
93
|
+
this.audioElement.play();
|
94
|
+
this.emit("sd-playback-start");
|
95
|
+
if (this.animated) {
|
96
|
+
this.draw();
|
97
|
+
}
|
98
|
+
}
|
99
|
+
pauseAudio() {
|
100
|
+
if (!this.audioElement) return;
|
101
|
+
this.isPlaying = false;
|
102
|
+
this.audioElement.pause();
|
103
|
+
this.emit("sd-playback-pause");
|
104
|
+
if (this.animated) {
|
105
|
+
this.stopAnimation();
|
106
|
+
}
|
107
|
+
}
|
108
|
+
handleAudioEnd() {
|
109
|
+
this.emit("sd-playback-end");
|
110
|
+
this.isPlaying = false;
|
111
|
+
this.progress = 0;
|
112
|
+
this.progressSlider.value = "0";
|
113
|
+
this.currentTime = this.formatTime(0);
|
114
|
+
if (this.animated) {
|
115
|
+
this.stopAnimation();
|
116
|
+
}
|
117
|
+
}
|
118
|
+
toggleMute() {
|
119
|
+
if (!this.audioElement) return;
|
120
|
+
this.isMuted = !this.isMuted;
|
121
|
+
if (this.isMuted) {
|
122
|
+
this.emit("sd-playback-mute");
|
123
|
+
this.audioElement.muted = true;
|
124
|
+
} else {
|
125
|
+
this.emit("sd-playback-unmute");
|
126
|
+
this.audioElement.muted = false;
|
127
|
+
}
|
128
|
+
}
|
129
|
+
toggleMuteKeydown(event) {
|
130
|
+
if (event.key === "Enter") {
|
131
|
+
event.preventDefault();
|
132
|
+
this.toggleMute();
|
133
|
+
}
|
134
|
+
}
|
135
|
+
togglePlaybackSpeed() {
|
136
|
+
if (!this.audioElement) return;
|
137
|
+
this.emit("sd-playback-speed");
|
138
|
+
this.speed = this.speed === 1.5 ? 1 : this.speed + 0.25;
|
139
|
+
this.audioElement.playbackRate = this.speed;
|
140
|
+
}
|
141
|
+
togglePlaybackSpeedKeydown(event) {
|
142
|
+
if (event.key === "Enter") {
|
143
|
+
event.preventDefault();
|
144
|
+
this.togglePlaybackSpeed();
|
145
|
+
}
|
146
|
+
}
|
147
|
+
formatTime(time) {
|
148
|
+
const minutes = Math.floor(time / 60);
|
149
|
+
const seconds = Math.floor(time % 60);
|
150
|
+
return `${minutes}:${seconds < 10 ? "0" : ""}${seconds}`;
|
151
|
+
}
|
152
|
+
handleAudioProgress() {
|
153
|
+
if (!this.audioElement) return;
|
154
|
+
const newTime = Number(this.progressSlider.value);
|
155
|
+
this.audioElement.currentTime = newTime;
|
156
|
+
this.progress = newTime;
|
157
|
+
this.currentTime = this.formatTime(newTime);
|
158
|
+
}
|
159
|
+
handleAudioProgressKeydown(event) {
|
160
|
+
if (event.key === "ArrowRight") {
|
161
|
+
this.progressSlider.value = (Number(this.progressSlider.value) + 1).toString();
|
162
|
+
this.handleAudioProgress();
|
163
|
+
}
|
164
|
+
if (event.key === "ArrowLeft") {
|
165
|
+
this.progressSlider.value = (Number(this.progressSlider.value) - 1).toString();
|
166
|
+
this.handleAudioProgress();
|
167
|
+
}
|
168
|
+
}
|
169
|
+
showTranscript() {
|
170
|
+
this.emit("sd-transcript-click");
|
171
|
+
this.drawer.open = true;
|
172
|
+
}
|
173
|
+
showTranscriptKeydown(event) {
|
174
|
+
if (event.key === "Enter" || event.key === " ") {
|
175
|
+
this.showTranscript();
|
176
|
+
}
|
177
|
+
}
|
178
|
+
rgbToHex(rgbString) {
|
179
|
+
const result = rgbString.match(/\d+/g);
|
180
|
+
if (result && result.length === 3) {
|
181
|
+
const r = parseInt(result[0]);
|
182
|
+
const g = parseInt(result[1]);
|
183
|
+
const b = parseInt(result[2]);
|
184
|
+
const valueToHex = (value) => value.toString(16).padStart(2, "0");
|
185
|
+
const hex = `#${valueToHex(r)}${valueToHex(g)}${valueToHex(b)}`.toUpperCase();
|
186
|
+
return hex;
|
187
|
+
}
|
188
|
+
return null;
|
189
|
+
}
|
190
|
+
initAnimation() {
|
191
|
+
this.context = this.canvas.getContext("2d");
|
192
|
+
const button = this.audioPlayerContainer.querySelector(".playback-speed");
|
193
|
+
const computedStyles = window.getComputedStyle(button);
|
194
|
+
const color = computedStyles.color;
|
195
|
+
let computedColor;
|
196
|
+
if (this.inverted) {
|
197
|
+
computedColor = `#FFFFFF33`;
|
198
|
+
} else {
|
199
|
+
computedColor = this.rgbToHex(color) + "33";
|
200
|
+
}
|
201
|
+
this.waveList = [
|
202
|
+
new Wave({
|
203
|
+
canvas: this.canvas,
|
204
|
+
color: computedColor,
|
205
|
+
phase: 240,
|
206
|
+
shift: 1.5,
|
207
|
+
amplitude: 230,
|
208
|
+
frequency: 0.012,
|
209
|
+
damping: 1
|
210
|
+
}),
|
211
|
+
new Wave({
|
212
|
+
canvas: this.canvas,
|
213
|
+
color: computedColor,
|
214
|
+
phase: 180,
|
215
|
+
shift: 2.5,
|
216
|
+
amplitude: 250,
|
217
|
+
frequency: 5e-3,
|
218
|
+
damping: 1
|
219
|
+
}),
|
220
|
+
new Wave({
|
221
|
+
canvas: this.canvas,
|
222
|
+
color: computedColor,
|
223
|
+
phase: 180,
|
224
|
+
shift: -2.5,
|
225
|
+
amplitude: 250,
|
226
|
+
frequency: 5e-3,
|
227
|
+
damping: 1
|
228
|
+
}),
|
229
|
+
new Wave({
|
230
|
+
canvas: this.canvas,
|
231
|
+
color: computedColor,
|
232
|
+
phase: 180,
|
233
|
+
shift: -1,
|
234
|
+
amplitude: 200,
|
235
|
+
frequency: 0.018,
|
236
|
+
damping: 1
|
237
|
+
}),
|
238
|
+
new Wave({
|
239
|
+
canvas: this.canvas,
|
240
|
+
color: computedColor,
|
241
|
+
phase: 180,
|
242
|
+
shift: 1.5,
|
243
|
+
amplitude: 150,
|
244
|
+
frequency: 0.01,
|
245
|
+
damping: 1
|
246
|
+
})
|
247
|
+
];
|
248
|
+
if (this.animated) {
|
249
|
+
this.drawStillWaves();
|
250
|
+
}
|
251
|
+
}
|
252
|
+
drawStillWaves() {
|
253
|
+
this.waveList.forEach((wave) => {
|
254
|
+
wave.redraw();
|
255
|
+
});
|
256
|
+
}
|
257
|
+
stopAnimation() {
|
258
|
+
this.isPlaying = false;
|
259
|
+
}
|
260
|
+
clear() {
|
261
|
+
if (!this.context || !this.canvas) return;
|
262
|
+
this.context.clearRect(0, 0, this.canvas.width, this.canvas.height);
|
263
|
+
}
|
264
|
+
async draw() {
|
265
|
+
if (!this.isPlaying || !this.animated) return;
|
266
|
+
this.clear();
|
267
|
+
this.waveList.forEach((wave) => {
|
268
|
+
wave.redraw();
|
269
|
+
});
|
270
|
+
await new Promise((resolve) => {
|
271
|
+
setTimeout(resolve, 1e3 / 30);
|
272
|
+
});
|
273
|
+
await this.draw();
|
274
|
+
}
|
275
|
+
render() {
|
276
|
+
const progressPercentage = this.audioElement ? this.progress / this.audioElement.duration * 100 : 0;
|
277
|
+
const renderAudioControls = html`<div class="${cx(
|
278
|
+
"controls grid grid-cols-3 justify-items-center items-center",
|
279
|
+
!this.animated && "relative",
|
280
|
+
this.animated && !this.reversedLayout && "absolute -top-4 left-0 w-full",
|
281
|
+
this.reversedLayout ? "mt-2" : "mb-2"
|
282
|
+
)}" part="audio-controls"><button class="${cx(
|
283
|
+
"playback-speed justify-self-start text-base font-bold hover:cursor-pointer sd-interactive",
|
284
|
+
this.inverted && "sd-interactive--inverted"
|
285
|
+
)}" aria-label="${this.localize.term("playbackSpeed")}" tabindex="0" @click="${this.togglePlaybackSpeed}" @keydown="${this.togglePlaybackSpeedKeydown}" part="playback-speed">${this.speed}x</button><sd-3-19-1-button ?inverted="${this.inverted ? true : false}" part="play-button" size="lg" @click="${!this.isPlaying ? this.playAudio : this.pauseAudio}" aria-label="${this.isPlaying ? this.localize.term("pauseAudio") : this.localize.term("playAudio")}">${this.isPlaying ? html`<sd-3-19-1-icon name="pause" library="system"></sd-3-19-1-icon>` : html`<sd-3-19-1-icon name="start" library="system"></sd-3-19-1-icon>`}</sd-3-19-1-button><div class="flex items-center justify-self-end">${this.hasSlotController.test("transcript") ? html`<button class="${cx(
|
286
|
+
"mr-6 w-6 h-6 hover:cursor-pointer sd-interactive",
|
287
|
+
this.inverted && "sd-interactive--inverted"
|
288
|
+
)}" @click="${this.showTranscript}" @keydown="${this.showTranscriptKeydown}" tab-index="0"><sd-3-19-1-icon class="w-6 h-6" name="transcript" library="system" label="${this.isMuted ? this.localize.term("unmute") : this.localize.term("mute")}"></sd-3-19-1-icon></button>` : null} <button class="${cx("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-19-1-icon class="w-6 h-6" name="${this.isMuted ? "mute" : "volume"}" library="system"></sd-3-19-1-icon></button></div></div>`;
|
289
|
+
const renderTimestamps = html`<div class="${cx(
|
290
|
+
"w-full flex justify-between",
|
291
|
+
this.reversedLayout ? "mb-2" : "mt-2",
|
292
|
+
this.animated && this.reversedLayout && "absolute bottom-0 left-0 mb-2",
|
293
|
+
this.animated && !this.reversedLayout && "mt-2"
|
294
|
+
)}" part="timestamps"><div class="${cx("current-time text-sm", this.inverted ? "text-primary-400" : "text-neutral-700")}">${this.currentTime}</div><div class="${cx("current-time text-sm", this.inverted ? "text-primary-400" : "text-neutral-700")}">${this.duration}</div></div>`;
|
295
|
+
return html`<div class="${cx("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 ? renderAudioControls : null}<div class="relative">${this.animated && !this.reversedLayout ? html`${renderAudioControls}` : null} ${this.animated ? html`<canvas class="w-full h-16"></canvas>` : null} ${!this.hideTimestamps && this.animated && this.reversedLayout ? renderTimestamps : null} <input class="${cx(
|
296
|
+
"progress-slider bg-primary appearance-none w-full cursor-pointer outline-none h-1 flex items-center sd-interactive",
|
297
|
+
this.inverted && "sd-interactive--inverted"
|
298
|
+
)}" 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)"} ${progressPercentage}%,${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)"} ${progressPercentage}%)"></div>${this.hasSlotController.test("transcript") ? html`<sd-3-19-1-drawer><slot name="transcript"></slot></sd-3-19-1-drawer>` : null} ${!this.hideTimestamps && (!this.animated || !this.reversedLayout) ? renderTimestamps : null}</div>`;
|
299
|
+
}
|
300
|
+
};
|
301
|
+
SdAudio.styles = [
|
302
|
+
SolidElement.styles,
|
303
|
+
unsafeCSS(InteractiveStyles),
|
304
|
+
css`.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-19-1-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-19-1-button::part(label){flex-grow:0}`
|
305
|
+
];
|
306
|
+
__decorateClass([
|
307
|
+
property({ type: Boolean, reflect: true, attribute: "reversed-layout" })
|
308
|
+
], SdAudio.prototype, "reversedLayout", 2);
|
309
|
+
__decorateClass([
|
310
|
+
property({ type: Boolean, reflect: true, attribute: "hide-timestamps" })
|
311
|
+
], SdAudio.prototype, "hideTimestamps", 2);
|
312
|
+
__decorateClass([
|
313
|
+
property({ type: Boolean, reflect: true })
|
314
|
+
], SdAudio.prototype, "animated", 2);
|
315
|
+
__decorateClass([
|
316
|
+
property({ type: Boolean, reflect: true })
|
317
|
+
], SdAudio.prototype, "inverted", 2);
|
318
|
+
__decorateClass([
|
319
|
+
property({ type: Number })
|
320
|
+
], SdAudio.prototype, "speed", 2);
|
321
|
+
__decorateClass([
|
322
|
+
state()
|
323
|
+
], SdAudio.prototype, "currentTime", 2);
|
324
|
+
__decorateClass([
|
325
|
+
state()
|
326
|
+
], SdAudio.prototype, "duration", 2);
|
327
|
+
__decorateClass([
|
328
|
+
state()
|
329
|
+
], SdAudio.prototype, "isPlaying", 2);
|
330
|
+
__decorateClass([
|
331
|
+
state()
|
332
|
+
], SdAudio.prototype, "isMuted", 2);
|
333
|
+
__decorateClass([
|
334
|
+
state()
|
335
|
+
], SdAudio.prototype, "progress", 2);
|
336
|
+
__decorateClass([
|
337
|
+
query('[part="progress-slider"]')
|
338
|
+
], SdAudio.prototype, "progressSlider", 2);
|
339
|
+
__decorateClass([
|
340
|
+
query('[part="audio-player"]')
|
341
|
+
], SdAudio.prototype, "audioPlayerContainer", 2);
|
342
|
+
__decorateClass([
|
343
|
+
query("sd-3-19-1-drawer")
|
344
|
+
], SdAudio.prototype, "drawer", 2);
|
345
|
+
__decorateClass([
|
346
|
+
query("canvas")
|
347
|
+
], SdAudio.prototype, "canvas", 2);
|
348
|
+
SdAudio = __decorateClass([
|
349
|
+
customElement("sd-3-19-1-audio")
|
350
|
+
], SdAudio);
|
351
|
+
export {
|
352
|
+
SdAudio as default
|
353
|
+
};
|
@@ -0,0 +1,38 @@
|
|
1
|
+
export declare class Wave {
|
2
|
+
constructor(config: {
|
3
|
+
phase: number;
|
4
|
+
canvas: HTMLCanvasElement;
|
5
|
+
amplitude: number;
|
6
|
+
frequency: number;
|
7
|
+
color: string;
|
8
|
+
shift: number;
|
9
|
+
damping: number;
|
10
|
+
});
|
11
|
+
canvas: HTMLCanvasElement;
|
12
|
+
context: CanvasRenderingContext2D | null;
|
13
|
+
color: string;
|
14
|
+
origin: {
|
15
|
+
x: number;
|
16
|
+
y: number;
|
17
|
+
};
|
18
|
+
damping: number;
|
19
|
+
lineWidth: number;
|
20
|
+
shift: number;
|
21
|
+
amplitude: number;
|
22
|
+
phase: number;
|
23
|
+
frequency: number;
|
24
|
+
fixedEnd: boolean;
|
25
|
+
fixedStart: boolean;
|
26
|
+
gradient: boolean;
|
27
|
+
outline: boolean;
|
28
|
+
paused: boolean;
|
29
|
+
playbackSpeed: number;
|
30
|
+
map: (num: number, inMin: number, inMax: number, outMin: number, outMax: number) => number;
|
31
|
+
damp: (end: number, x: number, size: number) => number;
|
32
|
+
drawPoint(x: number, y: number, color: string): void;
|
33
|
+
buildSine(wavelength: number, phase: number, color: string, amplitude: number, frequency: number): void;
|
34
|
+
redraw(): void;
|
35
|
+
setPlay(): void;
|
36
|
+
setPause(): void;
|
37
|
+
setPlaybackSpeed(playbackSpeed: number): void;
|
38
|
+
}
|
@@ -0,0 +1,85 @@
|
|
1
|
+
class Wave {
|
2
|
+
constructor(config) {
|
3
|
+
this.fixedEnd = true;
|
4
|
+
this.fixedStart = true;
|
5
|
+
this.gradient = false;
|
6
|
+
this.outline = false;
|
7
|
+
this.map = (num, inMin, inMax, outMin, outMax) => (num - inMin) * (outMax - outMin) / (inMax - inMin) + outMin;
|
8
|
+
this.damp = (end, x, size) => {
|
9
|
+
const effectiveValue = 1 - x / end;
|
10
|
+
return 2 * effectiveValue * (x / end) * size;
|
11
|
+
};
|
12
|
+
this.canvas = config.canvas;
|
13
|
+
this.frequency = config.frequency;
|
14
|
+
this.phase = config.phase;
|
15
|
+
this.amplitude = config.amplitude;
|
16
|
+
this.color = config.color;
|
17
|
+
this.shift = config.shift;
|
18
|
+
this.lineWidth = 2;
|
19
|
+
this.damping = config.damping;
|
20
|
+
this.context = this.canvas.getContext("2d");
|
21
|
+
this.paused = true;
|
22
|
+
this.playbackSpeed = 1;
|
23
|
+
this.origin = {
|
24
|
+
x: 0,
|
25
|
+
y: this.canvas.height
|
26
|
+
};
|
27
|
+
}
|
28
|
+
/**
|
29
|
+
* Draw a single point on the canvas
|
30
|
+
* Uses arc() method of the context with radius 2
|
31
|
+
* Depending on the values of outline, fill and graient flags , it will draw a point on the wave
|
32
|
+
* */
|
33
|
+
drawPoint(x, y, color) {
|
34
|
+
if (!this.context) {
|
35
|
+
return;
|
36
|
+
}
|
37
|
+
const r = this.lineWidth / 2;
|
38
|
+
this.context.beginPath();
|
39
|
+
if (this.outline) {
|
40
|
+
this.context.fillStyle = color;
|
41
|
+
this.context.lineWidth = 2;
|
42
|
+
this.context.arc(x, y, r, 0, 2 * Math.PI);
|
43
|
+
this.context.fill();
|
44
|
+
}
|
45
|
+
if (this.gradient) {
|
46
|
+
const linearGradient = this.context.createLinearGradient(0, 0, 0, this.canvas.height);
|
47
|
+
linearGradient.addColorStop(0.1, color);
|
48
|
+
linearGradient.addColorStop(1, "transparent");
|
49
|
+
this.context.fillStyle = linearGradient;
|
50
|
+
} else {
|
51
|
+
this.context.fillStyle = color;
|
52
|
+
}
|
53
|
+
this.context.fillRect(x - r, y - r, r, this.canvas.height - y + r);
|
54
|
+
}
|
55
|
+
buildSine(wavelength, phase, color, amplitude, frequency) {
|
56
|
+
for (let i = this.origin.x, n = this.origin.x + wavelength; i < n; i += 1) {
|
57
|
+
const y = amplitude * Math.sin(frequency * (i + phase));
|
58
|
+
if (this.fixedStart && this.fixedEnd) {
|
59
|
+
this.drawPoint(i, this.origin.y + this.damp(n, i, this.damping) * y, color);
|
60
|
+
} else if (this.fixedStart) {
|
61
|
+
this.drawPoint(i, this.origin.y + this.map(i, this.origin.x, n, 0, this.damping) * y, color);
|
62
|
+
} else if (this.fixedEnd) {
|
63
|
+
this.drawPoint(i, this.origin.y + (this.damping - this.map(i, this.origin.x, n, 0, this.damping)) * y, color);
|
64
|
+
} else {
|
65
|
+
this.drawPoint(i, this.origin.y + y, color);
|
66
|
+
}
|
67
|
+
}
|
68
|
+
}
|
69
|
+
redraw() {
|
70
|
+
this.phase += this.shift * (this.paused ? 1 : 2 * this.playbackSpeed);
|
71
|
+
this.buildSine(this.canvas.width, this.phase, this.color, this.amplitude, this.frequency);
|
72
|
+
}
|
73
|
+
setPlay() {
|
74
|
+
this.paused = false;
|
75
|
+
}
|
76
|
+
setPause() {
|
77
|
+
this.paused = true;
|
78
|
+
}
|
79
|
+
setPlaybackSpeed(playbackSpeed) {
|
80
|
+
this.playbackSpeed = playbackSpeed;
|
81
|
+
}
|
82
|
+
}
|
83
|
+
export {
|
84
|
+
Wave
|
85
|
+
};
|
@@ -146,7 +146,7 @@ __decorateClass([
|
|
146
146
|
state()
|
147
147
|
], SdBrandshape.prototype, "componentBreakpoint", 2);
|
148
148
|
SdBrandshape = __decorateClass([
|
149
|
-
customElement("sd-3-
|
149
|
+
customElement("sd-3-19-1-brandshape")
|
150
150
|
], SdBrandshape);
|
151
151
|
export {
|
152
152
|
SdBrandshape as default
|
@@ -212,19 +212,19 @@ let SdButton = class extends SolidElement {
|
|
212
212
|
md: "ml-2",
|
213
213
|
lg: "ml-2"
|
214
214
|
}[this.size]
|
215
|
-
)}"></slot>${this.loading ? html`<sd-3-
|
215
|
+
)}"></slot>${this.loading ? html`<sd-3-19-1-spinner class="${cx("absolute top-1/2 left-1/2 transform -translate-x-1/2 -translate-y-1/2")}"></sd-3-19-1-spinner>` : ""}</${tag}>`;
|
216
216
|
}
|
217
217
|
};
|
218
218
|
SdButton.styles = [
|
219
219
|
componentStyles,
|
220
220
|
SolidElement.styles,
|
221
|
-
css`:host{position:relative;display:inline-block;width:var(--sd-spacing-auto,auto);cursor:pointer}sd-3-
|
221
|
+
css`:host{position:relative;display:inline-block;width:var(--sd-spacing-auto,auto);cursor:pointer}sd-3-19-1-spinner{--indicator-color:currentColor;--track-color:var(--tw-varcolor-200)}::slotted(sd-3-19-1-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-19-1-icon),sd-3-19-1-spinner{font-size:calc(var(--tw-varspacing)/ 2)}`
|
222
222
|
];
|
223
223
|
__decorateClass([
|
224
224
|
query("a, button")
|
225
225
|
], SdButton.prototype, "button", 2);
|
226
226
|
__decorateClass([
|
227
|
-
queryAssignedElements({ selector: "sd-3-
|
227
|
+
queryAssignedElements({ selector: "sd-3-19-1-icon" })
|
228
228
|
], SdButton.prototype, "_iconsInDefaultSlot", 2);
|
229
229
|
__decorateClass([
|
230
230
|
state()
|
@@ -287,7 +287,7 @@ __decorateClass([
|
|
287
287
|
watch("disabled", { waitUntilFirstUpdate: true })
|
288
288
|
], SdButton.prototype, "handleDisabledChange", 1);
|
289
289
|
SdButton = __decorateClass([
|
290
|
-
customElement("sd-3-
|
290
|
+
customElement("sd-3-19-1-button")
|
291
291
|
], SdButton);
|
292
292
|
export {
|
293
293
|
SdButton as default
|
@@ -39,7 +39,7 @@ let SdCarousel = class extends SolidElement {
|
|
39
39
|
this.pausedAutoplay = false;
|
40
40
|
this.autoplayController = new AutoplayController(this, () => this.next());
|
41
41
|
this.scrollController = new ScrollController(this);
|
42
|
-
this.slides = this.getElementsByTagName("sd-3-
|
42
|
+
this.slides = this.getElementsByTagName("sd-3-19-1-carousel-item");
|
43
43
|
this.intersectionObserverEntries = /* @__PURE__ */ new Map();
|
44
44
|
this.localize = new LocalizeController(this);
|
45
45
|
this.handleSlotChange = (mutations) => {
|
@@ -312,7 +312,7 @@ let SdCarousel = class extends SolidElement {
|
|
312
312
|
"!mr-6 !rounded-sm sd-interactive",
|
313
313
|
!prevEnabled && "sd-interactive--disabled",
|
314
314
|
this.inverted ? "sd-interactive--inverted" : "sd-interactive--reset"
|
315
|
-
)}" aria-label="${this.localize.term("previousSlide")}" aria-controls="scroll-container" aria-disabled="${prevEnabled ? "false" : "true"}" @click="${prevEnabled ? () => this.previous() : null}"><slot name="previous-icon"><sd-3-
|
315
|
+
)}" aria-label="${this.localize.term("previousSlide")}" aria-controls="scroll-container" aria-disabled="${prevEnabled ? "false" : "true"}" @click="${prevEnabled ? () => this.previous() : null}"><slot name="previous-icon"><sd-3-19-1-icon class="${cx("h-6 w-6 rotate-90 grid place-items-center")}" library="system" name="${isLtr ? "chevron-down" : "chevron-up"}"></sd-3-19-1-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) => {
|
316
316
|
const isActive = index + 1 === currentPage;
|
317
317
|
return html`<button part="pagination-item ${isActive ? "pagination-item--active" : ""}" class="${cx(
|
318
318
|
"carousel__pagination-item",
|
@@ -331,19 +331,19 @@ let SdCarousel = class extends SolidElement {
|
|
331
331
|
this.inverted ? "sd-interactive--inverted" : "sd-interactive--reset"
|
332
332
|
)}" aria-label="${this.localize.term("nextSlide")}" aria-controls="scroll-container" aria-disabled="${nextEnabled ? "false" : "true"}" @click="${nextEnabled ? () => {
|
333
333
|
this.next();
|
334
|
-
} : null}"><slot name="next-icon"><sd-3-
|
334
|
+
} : null}"><slot name="next-icon"><sd-3-19-1-icon class="${cx("h-6 w-6 rotate-90 grid place-items-center")}" library="system" name="${isLtr ? "chevron-up" : "chevron-down"}"></sd-3-19-1-icon></slot></button></div><button class="${cx(
|
335
335
|
"ml-6 !rounded-sm",
|
336
336
|
"!absolute !right-0 sd-interactive",
|
337
337
|
this.inverted ? "sd-interactive--inverted" : "sd-interactive--reset",
|
338
338
|
!this.autoplay && "!hidden"
|
339
|
-
)}" part="autoplay-controls" @click="${() => this.pausedAutoplay = !this.pausedAutoplay}"><slot name="autoplay-start" class="${cx(!this.pausedAutoplay ? "hidden" : "")}"><sd-3-
|
339
|
+
)}" part="autoplay-controls" @click="${() => this.pausedAutoplay = !this.pausedAutoplay}"><slot name="autoplay-start" class="${cx(!this.pausedAutoplay ? "hidden" : "")}"><sd-3-19-1-icon class="h-6 w-6 grid place-items-center" library="system" name="start"></sd-3-19-1-icon></slot><slot name="autoplay-pause" class="${cx(this.pausedAutoplay ? "hidden" : "")}"><sd-3-19-1-icon class="h-6 w-6 grid place-items-center" library="system" name="pause"></sd-3-19-1-icon></slot></button></div></div>`;
|
340
340
|
}
|
341
341
|
};
|
342
342
|
SdCarousel.styles = [
|
343
343
|
SolidElement.styles,
|
344
344
|
unsafeCSS(InteractiveStyles),
|
345
345
|
componentStyles,
|
346
|
-
css`:host{--slide-gap:var(--sl-spacing-medium, 1rem);--scroll-hint:0px;display:flex}.carousel{grid-template-areas:'. slides .' '. pagination .'}.carousel__pagination{grid-area:pagination}.carousel__slides{grid-area:slides;scrollbar-width:none;--slide-size:calc((100% - (var(--slides-per-page) - 1) * var(--slide-gap)) / var(--slides-per-page));grid-auto-columns:var(--slide-size);-moz-column-gap:var(--slide-gap);column-gap:var(--slide-gap);scroll-padding-inline:var(--scroll-hint);padding-inline:var(--scroll-hint)}.carousel__slides::-webkit-scrollbar{display:none}@media (prefers-reduced-motion){:where(.carousel__slides){scroll-behavior:auto}}.carousel__navigation{grid-area:navigation}sd-3-
|
346
|
+
css`:host{--slide-gap:var(--sl-spacing-medium, 1rem);--scroll-hint:0px;display:flex}.carousel{grid-template-areas:'. slides .' '. pagination .'}.carousel__pagination{grid-area:pagination}.carousel__slides{grid-area:slides;scrollbar-width:none;--slide-size:calc((100% - (var(--slides-per-page) - 1) * var(--slide-gap)) / var(--slides-per-page));grid-auto-columns:var(--slide-size);-moz-column-gap:var(--slide-gap);column-gap:var(--slide-gap);scroll-padding-inline:var(--scroll-hint);padding-inline:var(--scroll-hint)}.carousel__slides::-webkit-scrollbar{display:none}@media (prefers-reduced-motion){:where(.carousel__slides){scroll-behavior:auto}}.carousel__navigation{grid-area:navigation}sd-3-19-1-button::part(label){pointer-events:none;display:flex;flex:1 1 auto;align-items:center}`
|
347
347
|
];
|
348
348
|
__decorateClass([
|
349
349
|
property({ type: String, reflect: true })
|
@@ -398,7 +398,7 @@ __decorateClass([
|
|
398
398
|
watch("autoplay")
|
399
399
|
], SdCarousel.prototype, "handleAutoplayChange", 1);
|
400
400
|
SdCarousel = __decorateClass([
|
401
|
-
customElement("sd-3-
|
401
|
+
customElement("sd-3-19-1-carousel")
|
402
402
|
], SdCarousel);
|
403
403
|
export {
|
404
404
|
SdCarousel as default
|
@@ -30,7 +30,7 @@ SdCarouselItem.styles = [
|
|
30
30
|
css`:host{aspect-ratio:var(--aspect-ratio);scroll-snap-align:start;scroll-snap-stop:always;display:flex;height:100%;width:100%;flex-direction:column;align-items:center;justify-content:center}::slotted(img){height:100%;width:100%;-o-object-fit:cover;object-fit:cover}`
|
31
31
|
];
|
32
32
|
SdCarouselItem = __decorateClass([
|
33
|
-
customElement("sd-3-
|
33
|
+
customElement("sd-3-19-1-carousel-item")
|
34
34
|
], SdCarouselItem);
|
35
35
|
export {
|
36
36
|
SdCarouselItem as default
|