@sapia-ai/chatbot-v3 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/EmbeddedVideoPlayer-SaMMfDIW.js +1277 -0
- package/dist/EmbeddedVideoPlayer-SaMMfDIW.js.map +1 -0
- package/dist/Preview-Db-hgkTh.js +83 -0
- package/dist/Preview-Db-hgkTh.js.map +1 -0
- package/dist/api/client.d.ts +60 -0
- package/dist/api/config.d.ts +18 -0
- package/dist/api/constants.d.ts +5 -0
- package/dist/api/index.d.ts +5 -0
- package/dist/api/sse.d.ts +12 -0
- package/dist/api/types/branding.d.ts +17 -0
- package/dist/api/types/messages.d.ts +148 -0
- package/dist/api/types/responses.d.ts +106 -0
- package/dist/api.js +2 -0
- package/dist/classPrivateFieldSet2-DtQPURVD.js +32 -0
- package/dist/core/bubbles/convert.d.ts +18 -0
- package/dist/core/bubbles/types.d.ts +55 -0
- package/dist/core/constants.d.ts +14 -0
- package/dist/core/events.d.ts +44 -0
- package/dist/core/i18n/fallback.d.ts +2 -0
- package/dist/core/i18n/languages.d.ts +11 -0
- package/dist/core/i18n/translator.d.ts +13 -0
- package/dist/core/interview.d.ts +207 -0
- package/dist/core/media/mimeTypes.d.ts +10 -0
- package/dist/core/media/recorder.d.ts +61 -0
- package/dist/core/persistence.d.ts +4 -0
- package/dist/core/store.d.ts +49 -0
- package/dist/core/theme/branding.d.ts +6 -0
- package/dist/core/theme/cssVariables.d.ts +16 -0
- package/dist/core/theme/types.d.ts +11 -0
- package/dist/core/validation/phoneCountries.d.ts +21 -0
- package/dist/core/validation/pii.d.ts +30 -0
- package/dist/dash.all.min-DZ1yEcJk.js +27302 -0
- package/dist/dash.all.min-DZ1yEcJk.js.map +1 -0
- package/dist/defineProperty-DiFpLzd2.js +39 -0
- package/dist/dist-BSi28_cP.js +702 -0
- package/dist/dist-BSi28_cP.js.map +1 -0
- package/dist/dist-DGBYKC8c.js +14327 -0
- package/dist/dist-DGBYKC8c.js.map +1 -0
- package/dist/dist-FvHBWiRa.js +76 -0
- package/dist/dist-FvHBWiRa.js.map +1 -0
- package/dist/embed/compat.d.ts +82 -0
- package/dist/embed/constants.d.ts +2 -0
- package/dist/embed/createChatbot.d.ts +22 -0
- package/dist/fix-webm-duration-BW9Fbdzt.js +1057 -0
- package/dist/fix-webm-duration-BW9Fbdzt.js.map +1 -0
- package/dist/hls-mBncGwsE.js +18657 -0
- package/dist/hls-mBncGwsE.js.map +1 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.js +4428 -0
- package/dist/index.js.map +1 -0
- package/dist/max-Btet1snX.js +12212 -0
- package/dist/max-Btet1snX.js.map +1 -0
- package/dist/messages-C4jqrtSG.js +187 -0
- package/dist/messages-C4jqrtSG.js.map +1 -0
- package/dist/react/AnswerInput.d.ts +21 -0
- package/dist/react/SapiaChatbot.d.ts +23 -0
- package/dist/react/bubbleViewModel.d.ts +50 -0
- package/dist/react/strings.d.ts +98 -0
- package/dist/react/useBeforeUnload.d.ts +5 -0
- package/dist/react/useVideoRecorder.d.ts +24 -0
- package/dist/react-BGJ7Szvq.js +216 -0
- package/dist/react-BGJ7Szvq.js.map +1 -0
- package/dist/react-BMxM8TWJ.js +192 -0
- package/dist/react-BMxM8TWJ.js.map +1 -0
- package/dist/react-BVzcquey.js +457 -0
- package/dist/react-BVzcquey.js.map +1 -0
- package/dist/react-BrCGR7Ca.js +2208 -0
- package/dist/react-BrCGR7Ca.js.map +1 -0
- package/dist/react-Bujo1aK5.js +334 -0
- package/dist/react-Bujo1aK5.js.map +1 -0
- package/dist/react-CRTg4gz8.js +367 -0
- package/dist/react-CRTg4gz8.js.map +1 -0
- package/dist/react-GXf8sbzf.js +311 -0
- package/dist/react-GXf8sbzf.js.map +1 -0
- package/dist/react-lp7yfM94.js +371 -0
- package/dist/react-lp7yfM94.js.map +1 -0
- package/dist/sapia-chatbot.css +3 -0
- package/dist/sapia.d.ts +4 -0
- package/dist/ui/chat/ChatBubble/ChatBubble.d.ts +47 -0
- package/dist/ui/chat/ChatLog/ChatLog.d.ts +33 -0
- package/dist/ui/chat/TypingIndicator/TypingIndicator.d.ts +17 -0
- package/dist/ui/chat/types.d.ts +71 -0
- package/dist/ui/constants.d.ts +2 -0
- package/dist/ui/inputs/DropdownInput/DropdownInput.d.ts +18 -0
- package/dist/ui/inputs/OptionList/OptionList.d.ts +18 -0
- package/dist/ui/inputs/PhoneAnswerInput/PhoneAnswerInput.d.ts +19 -0
- package/dist/ui/inputs/SliderInput/SliderInput.d.ts +19 -0
- package/dist/ui/inputs/TextAnswerInput/TextAnswerInput.d.ts +32 -0
- package/dist/ui/inputs/VideoRecorder/VideoRecorder.d.ts +54 -0
- package/dist/ui/media/EmbeddedVideo/EmbeddedVideo.d.ts +11 -0
- package/dist/ui/media/EmbeddedVideo/EmbeddedVideoPlayer.d.ts +16 -0
- package/dist/ui/media/EmbeddedVideo/VimeoPlayer.d.ts +20 -0
- package/dist/ui/media/UploadProgress/UploadProgress.d.ts +7 -0
- package/dist/ui/media/VideoPlayer/VideoPlayer.d.ts +13 -0
- package/dist/ui/primitives/Button/Button.d.ts +6 -0
- package/dist/ui/primitives/Dialog/Dialog.d.ts +16 -0
- package/dist/ui/richText.d.ts +6 -0
- package/dist/ui/shell/AccessVerificationForm/AccessVerificationForm.d.ts +21 -0
- package/dist/ui/shell/CopyLinkButton/CopyLinkButton.d.ts +11 -0
- package/dist/ui/shell/DoneScreen/DoneScreen.d.ts +15 -0
- package/dist/ui/shell/Header/Header.d.ts +13 -0
- package/dist/ui/shell/PreparingScreen/PreparingScreen.d.ts +9 -0
- package/dist/ui/shell/ProgressBar/ProgressBar.d.ts +9 -0
- package/dist/ui/shell/WelcomeScreen/WelcomeScreen.d.ts +22 -0
- package/dist/ui/shell/WidgetRoot/WidgetRoot.d.ts +12 -0
- package/dist-umd/sapia-chatbot.umd.js +3655 -0
- package/dist-umd/sapia-chatbot.umd.js.map +1 -0
- package/package.json +94 -0
|
@@ -0,0 +1,216 @@
|
|
|
1
|
+
import { n as e } from "./hls-mBncGwsE.js";
|
|
2
|
+
import { a as t, i as n, n as r, r as i, t as a } from "./classPrivateFieldSet2-DtQPURVD.js";
|
|
3
|
+
import { t as o } from "./defineProperty-DiFpLzd2.js";
|
|
4
|
+
import { n as s, t as c } from "./dist-BSi28_cP.js";
|
|
5
|
+
import l from "react";
|
|
6
|
+
var u = ((s) => {
|
|
7
|
+
var c, l, u, d, f;
|
|
8
|
+
return l = /* @__PURE__ */ new WeakMap(), u = /* @__PURE__ */ new WeakMap(), d = /* @__PURE__ */ new WeakSet(), f = /* @__PURE__ */ new WeakMap(), c = class extends s {
|
|
9
|
+
constructor() {
|
|
10
|
+
super(), t(this, d), n(this, l, null), n(this, u, null), n(this, f, () => {
|
|
11
|
+
var e, t, n;
|
|
12
|
+
(e = this.nativeEl) != null && e.webkitCurrentPlaybackTargetIsWireless ? (t = this.api) == null || t.stopLoad() : (n = this.api) == null || n.startLoad();
|
|
13
|
+
}), i(d, this, m).call(this, "config");
|
|
14
|
+
}
|
|
15
|
+
get config() {
|
|
16
|
+
return r(u, this);
|
|
17
|
+
}
|
|
18
|
+
set config(e) {
|
|
19
|
+
a(u, this, e);
|
|
20
|
+
}
|
|
21
|
+
attributeChangedCallback(e, t, n) {
|
|
22
|
+
e !== "src" && super.attributeChangedCallback(e, t, n), e === "src" && t != n && this.load();
|
|
23
|
+
}
|
|
24
|
+
async load() {
|
|
25
|
+
var t, n;
|
|
26
|
+
let o = !this.api;
|
|
27
|
+
if (i(d, this, p).call(this), this.src) {
|
|
28
|
+
if (o && !r(u, this) && a(u, this, JSON.parse(((t = this.shadowRoot.getElementById("config")) == null ? void 0 : t.textContent) || "{}")), e.isSupported()) {
|
|
29
|
+
switch (await Promise.resolve(), this.api = new e({
|
|
30
|
+
liveDurationInfinity: !0,
|
|
31
|
+
autoStartLoad: !1,
|
|
32
|
+
...this.config
|
|
33
|
+
}), this.api.loadSource(this.src), this.api.attachMedia(this.nativeEl), this.nativeEl.preload) {
|
|
34
|
+
case "none": {
|
|
35
|
+
let t = () => this.api.startLoad();
|
|
36
|
+
this.nativeEl.addEventListener("play", t, { once: !0 }), this.api.on(e.Events.DESTROYING, () => {
|
|
37
|
+
this.nativeEl.removeEventListener("play", t);
|
|
38
|
+
});
|
|
39
|
+
break;
|
|
40
|
+
}
|
|
41
|
+
case "metadata": {
|
|
42
|
+
let t = this.api.config.maxBufferLength, n = this.api.config.maxBufferSize;
|
|
43
|
+
this.api.config.maxBufferLength = 1, this.api.config.maxBufferSize = 1;
|
|
44
|
+
let r = () => {
|
|
45
|
+
this.api.config.maxBufferLength = t, this.api.config.maxBufferSize = n;
|
|
46
|
+
};
|
|
47
|
+
this.nativeEl.addEventListener("play", r, { once: !0 }), this.api.on(e.Events.DESTROYING, () => {
|
|
48
|
+
this.nativeEl.removeEventListener("play", r);
|
|
49
|
+
}), this.api.startLoad();
|
|
50
|
+
break;
|
|
51
|
+
}
|
|
52
|
+
default: this.api.startLoad();
|
|
53
|
+
}
|
|
54
|
+
this.nativeEl.webkitCurrentPlaybackTargetIsWireless && this.api.stopLoad(), this.nativeEl.addEventListener("webkitcurrentplaybacktargetiswirelesschanged", r(f, this)), a(l, this, document.createElement("source")), r(l, this).setAttribute("type", "application/x-mpegURL"), r(l, this).setAttribute("src", this.src), this.nativeEl.disableRemotePlayback = !1, this.nativeEl.append(r(l, this));
|
|
55
|
+
let t = /* @__PURE__ */ new WeakMap();
|
|
56
|
+
this.api.on(e.Events.MANIFEST_PARSED, (e, n) => {
|
|
57
|
+
this.nativeEl.autoplay && this.nativeEl.paused && this.nativeEl.play().catch((e) => {
|
|
58
|
+
console.warn("Autoplay failed:", e);
|
|
59
|
+
}), o();
|
|
60
|
+
let r = this.videoTracks.getTrackById("main");
|
|
61
|
+
r || (r = this.addVideoTrack("main"), r.id = "main", r.selected = !0);
|
|
62
|
+
for (let [e, i] of n.levels.entries()) {
|
|
63
|
+
let n = r.addRendition(i.url[0], i.width, i.height, i.videoCodec, i.bitrate);
|
|
64
|
+
t.set(i, `${e}`), n.id = `${e}`;
|
|
65
|
+
}
|
|
66
|
+
for (let [e, t] of n.audioTracks.entries()) {
|
|
67
|
+
let n = t.default ? "main" : "alternative", r = this.addAudioTrack(n, t.name, t.lang);
|
|
68
|
+
r.id = `${e}`, t.default && (r.enabled = !0);
|
|
69
|
+
}
|
|
70
|
+
}), this.audioTracks.addEventListener("change", () => {
|
|
71
|
+
var e;
|
|
72
|
+
let t = +((e = [...this.audioTracks].find((e) => e.enabled)) == null ? void 0 : e.id), n = this.api.audioTracks.map((e) => e.id);
|
|
73
|
+
t != this.api.audioTrack && n.includes(t) && (this.api.audioTrack = t);
|
|
74
|
+
}), this.api.on(e.Events.LEVELS_UPDATED, (e, n) => {
|
|
75
|
+
var r;
|
|
76
|
+
let i = this.videoTracks[(r = this.videoTracks.selectedIndex) == null ? 0 : r];
|
|
77
|
+
if (!i) return;
|
|
78
|
+
let a = n.levels.map((e) => t.get(e));
|
|
79
|
+
for (let e of this.videoRenditions) e.id && !a.includes(e.id) && i.removeRendition(e);
|
|
80
|
+
});
|
|
81
|
+
let i = null;
|
|
82
|
+
this.api.on(e.Events.ERROR, (t, n) => {
|
|
83
|
+
n.type === e.ErrorTypes.NETWORK_ERROR && n.details === e.ErrorDetails.FRAG_LOAD_ERROR && (i = n.frag.level);
|
|
84
|
+
}), this.api.on(e.Events.LEVEL_SWITCHED, (e, t) => {
|
|
85
|
+
let n = t.level;
|
|
86
|
+
i !== null && n < i && (console.warn(`\u26A0\uFE0F hls.js downgraded quality from level ${i} to ${n} due to fragment load failure.`), this.videoRenditions.selectedIndex = n, i = null);
|
|
87
|
+
}), (n = this.videoRenditions) == null || n.addEventListener("change", (e) => {
|
|
88
|
+
let t = e.target.selectedIndex;
|
|
89
|
+
t != this.api.nextLevel && (this.api.nextLevel = t);
|
|
90
|
+
});
|
|
91
|
+
let o = () => {
|
|
92
|
+
for (let e of this.videoTracks) this.removeVideoTrack(e);
|
|
93
|
+
for (let e of this.audioTracks) this.removeAudioTrack(e);
|
|
94
|
+
};
|
|
95
|
+
this.api.once(e.Events.DESTROYING, o);
|
|
96
|
+
return;
|
|
97
|
+
}
|
|
98
|
+
await Promise.resolve(), this.nativeEl.canPlayType("application/vnd.apple.mpegurl") && (this.nativeEl.src = this.src);
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
}, o(c, "shadowRootOptions", { ...s.shadowRootOptions }), o(c, "getTemplateHTML", (e, t = {}) => {
|
|
102
|
+
let { src: n, ...r } = e;
|
|
103
|
+
return `
|
|
104
|
+
<script type="application/json" id="config">
|
|
105
|
+
${JSON.stringify(t.config || {})}
|
|
106
|
+
<\/script>
|
|
107
|
+
${s.getTemplateHTML(r)}
|
|
108
|
+
`;
|
|
109
|
+
}), c;
|
|
110
|
+
function p() {
|
|
111
|
+
var e, t;
|
|
112
|
+
(e = r(l, this)) == null || e.remove(), (t = this.nativeEl) == null || t.removeEventListener("webkitcurrentplaybacktargetiswirelesschanged", r(f, this)), this.api && (this.api.detachMedia(), this.api.destroy(), this.api = null);
|
|
113
|
+
}
|
|
114
|
+
function m(e) {
|
|
115
|
+
if (Object.prototype.hasOwnProperty.call(this, e)) {
|
|
116
|
+
let t = this[e];
|
|
117
|
+
delete this[e], this[e] = t;
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
})(c(s));
|
|
121
|
+
globalThis.customElements && !globalThis.customElements.get("hls-video") && globalThis.customElements.define("hls-video", u);
|
|
122
|
+
var d = u, f = /* @__PURE__ */ new Set([
|
|
123
|
+
"style",
|
|
124
|
+
"children",
|
|
125
|
+
"ref",
|
|
126
|
+
"key",
|
|
127
|
+
"suppressContentEditableWarning",
|
|
128
|
+
"suppressHydrationWarning",
|
|
129
|
+
"dangerouslySetInnerHTML"
|
|
130
|
+
]), p = {
|
|
131
|
+
className: "class",
|
|
132
|
+
htmlFor: "for"
|
|
133
|
+
};
|
|
134
|
+
function m(e) {
|
|
135
|
+
return e.toLowerCase();
|
|
136
|
+
}
|
|
137
|
+
function h(e) {
|
|
138
|
+
if (typeof e == "boolean") return e ? "" : void 0;
|
|
139
|
+
if (typeof e != "function" && !(typeof e == "object" && e)) return e;
|
|
140
|
+
}
|
|
141
|
+
function g({ react: e, tagName: t, elementClass: n, events: r, displayName: i, defaultProps: a, toAttributeName: o = m, toAttributeValue: s = h }) {
|
|
142
|
+
let c = Number.parseInt(e.version) >= 19, l = e.forwardRef((i, l) => {
|
|
143
|
+
var u, d;
|
|
144
|
+
let m = e.useRef(null), g = e.useRef(/* @__PURE__ */ new Map()), v = {}, y = {}, b = {}, x = {};
|
|
145
|
+
for (let [e, t] of Object.entries(i)) {
|
|
146
|
+
var S, C;
|
|
147
|
+
if (f.has(e)) {
|
|
148
|
+
b[e] = t;
|
|
149
|
+
continue;
|
|
150
|
+
}
|
|
151
|
+
let r = o((S = p[e]) == null ? e : S);
|
|
152
|
+
if (n.prototype && e in n.prototype && !(e in ((C = (u = globalThis.HTMLElement) == null ? void 0 : u.prototype) == null ? {} : C)) && !((d = n.observedAttributes) != null && d.some((e) => e === r))) {
|
|
153
|
+
x[e] = t;
|
|
154
|
+
continue;
|
|
155
|
+
}
|
|
156
|
+
if (e.startsWith("on")) {
|
|
157
|
+
v[e] = t;
|
|
158
|
+
continue;
|
|
159
|
+
}
|
|
160
|
+
let i = s(t);
|
|
161
|
+
r && i != null && (y[r] = String(i), c || (b[r] = i)), r && c && (i === h(t) ? b[r] = t : b[r] = i);
|
|
162
|
+
}
|
|
163
|
+
if (typeof window < "u") {
|
|
164
|
+
for (let t in v) {
|
|
165
|
+
var w;
|
|
166
|
+
let n = v[t], i = t.endsWith("Capture"), a = ((w = r == null ? void 0 : r[t]) == null ? t.slice(2).toLowerCase() : w).slice(0, i ? -7 : void 0);
|
|
167
|
+
e.useLayoutEffect(() => {
|
|
168
|
+
let e = m == null ? void 0 : m.current;
|
|
169
|
+
if (!(!e || typeof n != "function")) return e.addEventListener(a, n, i), () => {
|
|
170
|
+
e.removeEventListener(a, n, i);
|
|
171
|
+
};
|
|
172
|
+
}, [m == null ? void 0 : m.current, n]);
|
|
173
|
+
}
|
|
174
|
+
e.useLayoutEffect(() => {
|
|
175
|
+
if (m.current === null) return;
|
|
176
|
+
let e = /* @__PURE__ */ new Map();
|
|
177
|
+
for (let t in x) _(m.current, t, x[t]), g.current.delete(t), e.set(t, x[t]);
|
|
178
|
+
for (let [e, t] of g.current) _(m.current, e, void 0);
|
|
179
|
+
g.current = e;
|
|
180
|
+
});
|
|
181
|
+
}
|
|
182
|
+
if (typeof window > "u" && n != null && n.getTemplateHTML && n != null && n.shadowRootOptions) {
|
|
183
|
+
let { mode: t, delegatesFocus: r } = n.shadowRootOptions;
|
|
184
|
+
b.children = [e.createElement("template", {
|
|
185
|
+
shadowrootmode: t,
|
|
186
|
+
shadowrootdelegatesfocus: r,
|
|
187
|
+
dangerouslySetInnerHTML: { __html: n.getTemplateHTML(y, i) },
|
|
188
|
+
key: "ce-la-react-ssr-template-shadow-root"
|
|
189
|
+
}), b.children];
|
|
190
|
+
}
|
|
191
|
+
return e.createElement(t, {
|
|
192
|
+
...a,
|
|
193
|
+
...b,
|
|
194
|
+
ref: e.useCallback((e) => {
|
|
195
|
+
m.current = e, typeof l == "function" ? l(e) : l !== null && (l.current = e);
|
|
196
|
+
}, [l])
|
|
197
|
+
}, b.children);
|
|
198
|
+
});
|
|
199
|
+
return l.displayName = i == null ? n.name : i, l;
|
|
200
|
+
}
|
|
201
|
+
function _(e, t, n) {
|
|
202
|
+
var r, i;
|
|
203
|
+
e[t] = n, n == null && t in ((r = (i = globalThis.HTMLElement) == null ? void 0 : i.prototype) == null ? {} : r) && e.removeAttribute(t);
|
|
204
|
+
}
|
|
205
|
+
var v = g({
|
|
206
|
+
react: l,
|
|
207
|
+
tagName: "hls-video",
|
|
208
|
+
elementClass: d,
|
|
209
|
+
toAttributeName(e) {
|
|
210
|
+
return e === "muted" ? "" : e === "defaultMuted" ? "muted" : m(e);
|
|
211
|
+
}
|
|
212
|
+
});
|
|
213
|
+
//#endregion
|
|
214
|
+
export { v as default };
|
|
215
|
+
|
|
216
|
+
//# sourceMappingURL=react-BGJ7Szvq.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"react-BGJ7Szvq.js","names":["CustomMediaElement"],"sources":["../../../node_modules/.pnpm/hls-video-element@1.5.11/node_modules/hls-video-element/dist/hls-video-element.js","../../../node_modules/.pnpm/hls-video-element@1.5.11/node_modules/hls-video-element/dist/react.js"],"sourcesContent":["import { CustomVideoElement } from \"custom-media-element\";\nimport { MediaTracksMixin } from \"media-tracks\";\nimport Hls from \"hls.js/dist/hls.mjs\";\nconst HlsVideoMixin = (superclass) => {\n return class HlsVideo extends superclass {\n static shadowRootOptions = { ...superclass.shadowRootOptions };\n static getTemplateHTML = (attrs, props = {}) => {\n const { src, ...rest } = attrs;\n return `\n <script type=\"application/json\" id=\"config\">\n ${JSON.stringify(props.config || {})}\n </script>\n ${superclass.getTemplateHTML(rest)}\n `;\n };\n #airplaySourceEl = null;\n #config = null;\n constructor() {\n super();\n this.#upgradeProperty(\"config\");\n }\n get config() {\n return this.#config;\n }\n set config(value) {\n this.#config = value;\n }\n attributeChangedCallback(attrName, oldValue, newValue) {\n if (attrName !== \"src\") {\n super.attributeChangedCallback(attrName, oldValue, newValue);\n }\n if (attrName === \"src\" && oldValue != newValue) {\n this.load();\n }\n }\n #destroy() {\n var _a, _b;\n (_a = this.#airplaySourceEl) == null ? void 0 : _a.remove();\n (_b = this.nativeEl) == null ? void 0 : _b.removeEventListener(\n \"webkitcurrentplaybacktargetiswirelesschanged\",\n this.#toggleHlsLoad\n );\n if (this.api) {\n this.api.detachMedia();\n this.api.destroy();\n this.api = null;\n }\n }\n async load() {\n var _a, _b;\n const isFirstLoad = !this.api;\n this.#destroy();\n if (!this.src) {\n return;\n }\n if (isFirstLoad && !this.#config) {\n this.#config = JSON.parse(((_a = this.shadowRoot.getElementById(\"config\")) == null ? void 0 : _a.textContent) || \"{}\");\n }\n if (Hls.isSupported()) {\n await Promise.resolve();\n this.api = new Hls({\n // Mimic the media element with an Infinity duration for live streams.\n liveDurationInfinity: true,\n // Disable auto quality level/fragment loading.\n autoStartLoad: false,\n // Custom configuration for hls.js.\n ...this.config\n });\n this.api.loadSource(this.src);\n this.api.attachMedia(this.nativeEl);\n switch (this.nativeEl.preload) {\n case \"none\": {\n const loadSourceOnPlay = () => this.api.startLoad();\n this.nativeEl.addEventListener(\"play\", loadSourceOnPlay, {\n once: true\n });\n this.api.on(Hls.Events.DESTROYING, () => {\n this.nativeEl.removeEventListener(\"play\", loadSourceOnPlay);\n });\n break;\n }\n case \"metadata\": {\n const originalLength = this.api.config.maxBufferLength;\n const originalSize = this.api.config.maxBufferSize;\n this.api.config.maxBufferLength = 1;\n this.api.config.maxBufferSize = 1;\n const increaseBufferOnPlay = () => {\n this.api.config.maxBufferLength = originalLength;\n this.api.config.maxBufferSize = originalSize;\n };\n this.nativeEl.addEventListener(\"play\", increaseBufferOnPlay, {\n once: true\n });\n this.api.on(Hls.Events.DESTROYING, () => {\n this.nativeEl.removeEventListener(\"play\", increaseBufferOnPlay);\n });\n this.api.startLoad();\n break;\n }\n default:\n this.api.startLoad();\n }\n if (this.nativeEl.webkitCurrentPlaybackTargetIsWireless) {\n this.api.stopLoad();\n }\n this.nativeEl.addEventListener(\n \"webkitcurrentplaybacktargetiswirelesschanged\",\n this.#toggleHlsLoad\n );\n this.#airplaySourceEl = document.createElement(\"source\");\n this.#airplaySourceEl.setAttribute(\"type\", \"application/x-mpegURL\");\n this.#airplaySourceEl.setAttribute(\"src\", this.src);\n this.nativeEl.disableRemotePlayback = false;\n this.nativeEl.append(this.#airplaySourceEl);\n const levelIdMap = /* @__PURE__ */ new WeakMap();\n this.api.on(Hls.Events.MANIFEST_PARSED, (event, data) => {\n if (this.nativeEl.autoplay && this.nativeEl.paused) {\n this.nativeEl.play().catch((err) => {\n console.warn(\"Autoplay failed:\", err);\n });\n }\n removeAllMediaTracks();\n let videoTrack = this.videoTracks.getTrackById(\"main\");\n if (!videoTrack) {\n videoTrack = this.addVideoTrack(\"main\");\n videoTrack.id = \"main\";\n videoTrack.selected = true;\n }\n for (const [id, level] of data.levels.entries()) {\n const videoRendition = videoTrack.addRendition(\n level.url[0],\n level.width,\n level.height,\n level.videoCodec,\n level.bitrate\n );\n levelIdMap.set(level, `${id}`);\n videoRendition.id = `${id}`;\n }\n for (let [id, a] of data.audioTracks.entries()) {\n const kind = a.default ? \"main\" : \"alternative\";\n const audioTrack = this.addAudioTrack(kind, a.name, a.lang);\n audioTrack.id = `${id}`;\n if (a.default) {\n audioTrack.enabled = true;\n }\n }\n });\n this.audioTracks.addEventListener(\"change\", () => {\n var _a2;\n const audioTrackId = +((_a2 = [...this.audioTracks].find((t) => t.enabled)) == null ? void 0 : _a2.id);\n const availableIds = this.api.audioTracks.map((t) => t.id);\n if (audioTrackId != this.api.audioTrack && availableIds.includes(audioTrackId)) {\n this.api.audioTrack = audioTrackId;\n }\n });\n this.api.on(Hls.Events.LEVELS_UPDATED, (event, data) => {\n const videoTrack = this.videoTracks[this.videoTracks.selectedIndex ?? 0];\n if (!videoTrack) return;\n const levelIds = data.levels.map((l) => levelIdMap.get(l));\n for (const rendition of this.videoRenditions) {\n if (rendition.id && !levelIds.includes(rendition.id)) {\n videoTrack.removeRendition(rendition);\n }\n }\n });\n let lastFailedLevel = null;\n this.api.on(Hls.Events.ERROR, (event, data) => {\n if (data.type === Hls.ErrorTypes.NETWORK_ERROR && data.details === Hls.ErrorDetails.FRAG_LOAD_ERROR) {\n lastFailedLevel = data.frag.level;\n }\n });\n this.api.on(Hls.Events.LEVEL_SWITCHED, (event, data) => {\n const newLevel = data.level;\n if (lastFailedLevel !== null && newLevel < lastFailedLevel) {\n console.warn(\n `\\u26A0\\uFE0F hls.js downgraded quality from level ${lastFailedLevel} to ${newLevel} due to fragment load failure.`\n );\n this.videoRenditions.selectedIndex = newLevel;\n lastFailedLevel = null;\n }\n });\n const switchRendition = (event) => {\n const level = event.target.selectedIndex;\n if (level != this.api.nextLevel) {\n this.api.nextLevel = level;\n }\n };\n (_b = this.videoRenditions) == null ? void 0 : _b.addEventListener(\"change\", switchRendition);\n const removeAllMediaTracks = () => {\n for (const videoTrack of this.videoTracks) {\n this.removeVideoTrack(videoTrack);\n }\n for (const audioTrack of this.audioTracks) {\n this.removeAudioTrack(audioTrack);\n }\n };\n this.api.once(Hls.Events.DESTROYING, removeAllMediaTracks);\n return;\n }\n await Promise.resolve();\n if (this.nativeEl.canPlayType(\"application/vnd.apple.mpegurl\")) {\n this.nativeEl.src = this.src;\n }\n }\n #toggleHlsLoad = () => {\n var _a, _b, _c;\n if ((_a = this.nativeEl) == null ? void 0 : _a.webkitCurrentPlaybackTargetIsWireless) {\n (_b = this.api) == null ? void 0 : _b.stopLoad();\n } else {\n (_c = this.api) == null ? void 0 : _c.startLoad();\n }\n };\n // This is a pattern to update property values that are set before\n // the custom element is upgraded.\n // https://web.dev/custom-elements-best-practices/#make-properties-lazy\n #upgradeProperty(prop) {\n if (Object.prototype.hasOwnProperty.call(this, prop)) {\n const value = this[prop];\n delete this[prop];\n this[prop] = value;\n }\n }\n };\n};\nconst HlsVideoElement = HlsVideoMixin(MediaTracksMixin(CustomVideoElement));\nif (globalThis.customElements && !globalThis.customElements.get(\"hls-video\")) {\n globalThis.customElements.define(\"hls-video\", HlsVideoElement);\n}\nvar hls_video_element_default = HlsVideoElement;\nexport {\n Hls,\n HlsVideoElement,\n HlsVideoMixin,\n hls_video_element_default as default\n};\n","\"use client\";\n\n// dist/react.ts\nimport React from \"react\";\nimport CustomMediaElement from \"./hls-video-element.js\";\n\n// ../../node_modules/ce-la-react/dist/ce-la-react.js\nvar reservedReactProps = /* @__PURE__ */ new Set([\n \"style\",\n \"children\",\n \"ref\",\n \"key\",\n \"suppressContentEditableWarning\",\n \"suppressHydrationWarning\",\n \"dangerouslySetInnerHTML\"\n]);\nvar reactPropToAttrNameMap = {\n className: \"class\",\n htmlFor: \"for\"\n};\nfunction defaultToAttributeName(propName) {\n return propName.toLowerCase();\n}\nfunction defaultToAttributeValue(propValue) {\n if (typeof propValue === \"boolean\") return propValue ? \"\" : void 0;\n if (typeof propValue === \"function\") return void 0;\n if (typeof propValue === \"object\" && propValue !== null) return void 0;\n return propValue;\n}\nfunction createComponent({\n react: React2,\n tagName,\n elementClass,\n events,\n displayName,\n defaultProps,\n toAttributeName = defaultToAttributeName,\n toAttributeValue = defaultToAttributeValue\n}) {\n const IS_REACT_19_OR_NEWER = Number.parseInt(React2.version) >= 19;\n const ReactComponent = React2.forwardRef((props, ref) => {\n var _a, _b;\n const elementRef = React2.useRef(null);\n const prevElemPropsRef = React2.useRef(/* @__PURE__ */ new Map());\n const eventProps = {};\n const attrs = {};\n const reactProps = {};\n const elementProps = {};\n for (const [k, v] of Object.entries(props)) {\n if (reservedReactProps.has(k)) {\n reactProps[k] = v;\n continue;\n }\n const attrName = toAttributeName(reactPropToAttrNameMap[k] ?? k);\n if (elementClass.prototype && k in elementClass.prototype && !(k in (((_a = globalThis.HTMLElement) == null ? void 0 : _a.prototype) ?? {})) && !((_b = elementClass.observedAttributes) == null ? void 0 : _b.some((attr) => attr === attrName))) {\n elementProps[k] = v;\n continue;\n }\n if (k.startsWith(\"on\")) {\n eventProps[k] = v;\n continue;\n }\n const attrValue = toAttributeValue(v);\n if (attrName && attrValue != null) {\n attrs[attrName] = String(attrValue);\n if (!IS_REACT_19_OR_NEWER) {\n reactProps[attrName] = attrValue;\n }\n }\n if (attrName && IS_REACT_19_OR_NEWER) {\n const attrValueFromDefault = defaultToAttributeValue(v);\n if (attrValue !== attrValueFromDefault) {\n reactProps[attrName] = attrValue;\n } else {\n reactProps[attrName] = v;\n }\n }\n }\n if (typeof window !== \"undefined\") {\n for (const propName in eventProps) {\n const callback = eventProps[propName];\n const useCapture = propName.endsWith(\"Capture\");\n const eventName = ((events == null ? void 0 : events[propName]) ?? propName.slice(2).toLowerCase()).slice(\n 0,\n useCapture ? -7 : void 0\n );\n React2.useLayoutEffect(() => {\n const eventTarget = elementRef == null ? void 0 : elementRef.current;\n if (!eventTarget || typeof callback !== \"function\") return;\n eventTarget.addEventListener(eventName, callback, useCapture);\n return () => {\n eventTarget.removeEventListener(eventName, callback, useCapture);\n };\n }, [elementRef == null ? void 0 : elementRef.current, callback]);\n }\n React2.useLayoutEffect(() => {\n if (elementRef.current === null) return;\n const newElemProps = /* @__PURE__ */ new Map();\n for (const key in elementProps) {\n setProperty(elementRef.current, key, elementProps[key]);\n prevElemPropsRef.current.delete(key);\n newElemProps.set(key, elementProps[key]);\n }\n for (const [key, _value] of prevElemPropsRef.current) {\n setProperty(elementRef.current, key, void 0);\n }\n prevElemPropsRef.current = newElemProps;\n });\n }\n if (typeof window === \"undefined\" && (elementClass == null ? void 0 : elementClass.getTemplateHTML) && (elementClass == null ? void 0 : elementClass.shadowRootOptions)) {\n const { mode, delegatesFocus } = elementClass.shadowRootOptions;\n const templateShadowRoot = React2.createElement(\"template\", {\n shadowrootmode: mode,\n shadowrootdelegatesfocus: delegatesFocus,\n dangerouslySetInnerHTML: {\n __html: elementClass.getTemplateHTML(attrs, props)\n },\n key: \"ce-la-react-ssr-template-shadow-root\"\n });\n reactProps.children = [templateShadowRoot, reactProps.children];\n }\n return React2.createElement(tagName, {\n ...defaultProps,\n ...reactProps,\n ref: React2.useCallback(\n (node) => {\n elementRef.current = node;\n if (typeof ref === \"function\") {\n ref(node);\n } else if (ref !== null) {\n ref.current = node;\n }\n },\n [ref]\n )\n }, reactProps.children);\n });\n ReactComponent.displayName = displayName ?? elementClass.name;\n return ReactComponent;\n}\nfunction setProperty(node, name, value) {\n var _a;\n node[name] = value;\n if (value == null && name in (((_a = globalThis.HTMLElement) == null ? void 0 : _a.prototype) ?? {})) {\n node.removeAttribute(name);\n }\n}\n\n// dist/react.ts\nvar react_default = createComponent({\n react: React,\n tagName: \"hls-video\",\n elementClass: CustomMediaElement,\n toAttributeName(propName) {\n if (propName === \"muted\") return \"\";\n if (propName === \"defaultMuted\") return \"muted\";\n return defaultToAttributeName(propName);\n }\n});\nexport {\n react_default as default\n};\n/*! Bundled license information:\n\nce-la-react/dist/ce-la-react.js:\n (**\n * @license\n * Copyright 2018 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n *\n * Modified version of `@lit/react` for vanilla custom elements with support for SSR.\n *)\n*/\n"],"x_google_ignoreList":[0,1],"mappings":"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"}
|
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
import { i as e, n as t, t as n } from "./classPrivateFieldSet2-DtQPURVD.js";
|
|
2
|
+
import { t as r } from "./defineProperty-DiFpLzd2.js";
|
|
3
|
+
import { n as i, t as a } from "./dist-BSi28_cP.js";
|
|
4
|
+
import o from "react";
|
|
5
|
+
//#region ../../node_modules/.pnpm/dash-video-element@0.3.2_@svta+cml-cta@1.0.6_@svta+cml-structured-field-values@1.1.3_@s_1d417b19612eff304477e3f6272644a6/node_modules/dash-video-element/dist/dash-video-element.js
|
|
6
|
+
var s = /* @__PURE__ */ new WeakMap(), c = class extends a(i) {
|
|
7
|
+
constructor(...t) {
|
|
8
|
+
super(...t), e(this, s, void 0);
|
|
9
|
+
}
|
|
10
|
+
attributeChangedCallback(e, t, n) {
|
|
11
|
+
e !== "src" && super.attributeChangedCallback(e, t, n), e === "src" && t != n && this.load();
|
|
12
|
+
}
|
|
13
|
+
async _initThumbnails(e) {
|
|
14
|
+
let t = async (t, n) => {
|
|
15
|
+
let r = [], i = e.timescale || 1, a = e.startNumber || 1, o = e.presentationTimeOffset ? e.presentationTimeOffset / i : 0, s = e.segmentDuration;
|
|
16
|
+
for (let e = 0; e < t; e++) {
|
|
17
|
+
let i = u({
|
|
18
|
+
thIndex: e,
|
|
19
|
+
thduration: n,
|
|
20
|
+
ttiles: t,
|
|
21
|
+
tduration: s,
|
|
22
|
+
startNumber: a,
|
|
23
|
+
pto: o
|
|
24
|
+
}), c = i + n, l = new Promise((e, t) => {
|
|
25
|
+
this.api.provideThumbnail(i, ({ url: n, width: r, height: a, x: o, y: s }) => {
|
|
26
|
+
try {
|
|
27
|
+
e(new VTTCue(i, c, `${n}#xywh=${o},${s},${r},${a}`));
|
|
28
|
+
} catch (e) {
|
|
29
|
+
t(e);
|
|
30
|
+
}
|
|
31
|
+
});
|
|
32
|
+
});
|
|
33
|
+
r.push(l);
|
|
34
|
+
}
|
|
35
|
+
return await Promise.all(r).catch((e) => console.error("Error processing thumbnails", e));
|
|
36
|
+
}, { totalThumbnails: n, thumbnailDuration: r } = l(e), i = await t(n, r), a = this.nativeEl.querySelector("track[label=\"thumbnails\"]");
|
|
37
|
+
if (!a) {
|
|
38
|
+
a = d(), this.nativeEl.appendChild(a);
|
|
39
|
+
let e = f(i);
|
|
40
|
+
a.src = e, a.dispatchEvent(new Event("change"));
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
async load() {
|
|
44
|
+
if (t(s, this)) {
|
|
45
|
+
this.api.attachSource(this.src);
|
|
46
|
+
return;
|
|
47
|
+
}
|
|
48
|
+
n(s, this, !0);
|
|
49
|
+
let e = await import("./dash.all.min-DZ1yEcJk.js");
|
|
50
|
+
this.api = e.MediaPlayer().create(), this.api.initialize(this.nativeEl, this.src, this.autoplay), this.api.on(e.MediaPlayer.events.STREAM_INITIALIZED, () => {
|
|
51
|
+
let e = this.api.getRepresentationsByType("video"), t = this.videoTracks.getTrackById("main");
|
|
52
|
+
t || (t = this.addVideoTrack("main"), t.id = "main", t.selected = !0), e.forEach((e) => {
|
|
53
|
+
var n, r, i;
|
|
54
|
+
let a = (n = (r = e.bandwidth) == null ? e.bitrate : r) == null ? Number.isFinite(e.bitrateInKbit) ? e.bitrateInKbit * 1e3 : void 0 : n, o = t.addRendition(e.id, e.width, e.height, (i = e.mimeType) == null ? e.codec : i, a);
|
|
55
|
+
o.id = e.id;
|
|
56
|
+
}), this.videoRenditions.addEventListener("change", () => {
|
|
57
|
+
let e = this.videoRenditions[this.videoRenditions.selectedIndex];
|
|
58
|
+
e != null && e.id ? (this.api.updateSettings({ streaming: { abr: { autoSwitchBitrate: { video: !1 } } } }), this.api.setRepresentationForTypeById("video", e.id, !0)) : this.api.updateSettings({ streaming: { abr: { autoSwitchBitrate: { video: !0 } } } });
|
|
59
|
+
}), this.api.isDynamic() || this.api.getRepresentationsByType("image").forEach(async (e, t) => {
|
|
60
|
+
t > 0 || this._initThumbnails(e);
|
|
61
|
+
});
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
};
|
|
65
|
+
r(c, "shadowRootOptions", { ...i.shadowRootOptions }), r(c, "getTemplateHTML", (e) => {
|
|
66
|
+
let { src: t, ...n } = e;
|
|
67
|
+
return i.getTemplateHTML(n);
|
|
68
|
+
});
|
|
69
|
+
function l(e) {
|
|
70
|
+
var t, n;
|
|
71
|
+
let [r, i] = e.essentialProperties[0].value.split("x").map(Number), a = r * i, o = ((n = (t = e.adaptation) == null ? void 0 : t.period) == null ? void 0 : n.duration) || null, s = e.segmentDuration, c = s / (e.timescale || 1) / a;
|
|
72
|
+
return {
|
|
73
|
+
totalThumbnails: Math.ceil(o == null ? s / c : o / c),
|
|
74
|
+
thumbnailDuration: c
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
function u({ thIndex: e, tduration: t, thduration: n, ttiles: r, startNumber: i, pto: a }) {
|
|
78
|
+
let o = Math.floor(e / r) + i, s = e % r + 1;
|
|
79
|
+
return (o - 1) * t - a + (s - 1) * n;
|
|
80
|
+
}
|
|
81
|
+
function d() {
|
|
82
|
+
let e = document.createElement("track");
|
|
83
|
+
return e.kind = "metadata", e.label = "thumbnails", e.srclang = "en", e.mode = "hidden", e.default = !0, e;
|
|
84
|
+
}
|
|
85
|
+
function f(e) {
|
|
86
|
+
let t = "WEBVTT\n\n";
|
|
87
|
+
for (let n of e) t += `${r(n.startTime)} --> ${r(n.endTime)}
|
|
88
|
+
`, t += `${n.text}
|
|
89
|
+
|
|
90
|
+
`;
|
|
91
|
+
let n = new Blob([t], { type: "text/vtt" });
|
|
92
|
+
return URL.createObjectURL(n);
|
|
93
|
+
function r(e) {
|
|
94
|
+
return `${String(Math.floor(e / 3600)).padStart(2, "0")}:${String(Math.floor(e % 3600 / 60)).padStart(2, "0")}:${(e % 60).toFixed(3).padStart(6, "0")}`;
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
globalThis.customElements && !globalThis.customElements.get("dash-video") && globalThis.customElements.define("dash-video", c);
|
|
98
|
+
var p = c, m = /* @__PURE__ */ new Set([
|
|
99
|
+
"style",
|
|
100
|
+
"children",
|
|
101
|
+
"ref",
|
|
102
|
+
"key",
|
|
103
|
+
"suppressContentEditableWarning",
|
|
104
|
+
"suppressHydrationWarning",
|
|
105
|
+
"dangerouslySetInnerHTML"
|
|
106
|
+
]), h = {
|
|
107
|
+
className: "class",
|
|
108
|
+
htmlFor: "for"
|
|
109
|
+
};
|
|
110
|
+
function g(e) {
|
|
111
|
+
return e.toLowerCase();
|
|
112
|
+
}
|
|
113
|
+
function _(e) {
|
|
114
|
+
if (typeof e == "boolean") return e ? "" : void 0;
|
|
115
|
+
if (typeof e != "function" && !(typeof e == "object" && e)) return e;
|
|
116
|
+
}
|
|
117
|
+
function v({ react: e, tagName: t, elementClass: n, events: r, displayName: i, defaultProps: a, toAttributeName: o = g, toAttributeValue: s = _ }) {
|
|
118
|
+
let c = Number.parseInt(e.version) >= 19, l = e.forwardRef((i, l) => {
|
|
119
|
+
var u, d;
|
|
120
|
+
let f = e.useRef(null), p = e.useRef(/* @__PURE__ */ new Map()), g = {}, v = {}, b = {}, x = {};
|
|
121
|
+
for (let [e, t] of Object.entries(i)) {
|
|
122
|
+
var S, C;
|
|
123
|
+
if (m.has(e)) {
|
|
124
|
+
b[e] = t;
|
|
125
|
+
continue;
|
|
126
|
+
}
|
|
127
|
+
let r = o((S = h[e]) == null ? e : S);
|
|
128
|
+
if (n.prototype && e in n.prototype && !(e in ((C = (u = globalThis.HTMLElement) == null ? void 0 : u.prototype) == null ? {} : C)) && !((d = n.observedAttributes) != null && d.some((e) => e === r))) {
|
|
129
|
+
x[e] = t;
|
|
130
|
+
continue;
|
|
131
|
+
}
|
|
132
|
+
if (e.startsWith("on")) {
|
|
133
|
+
g[e] = t;
|
|
134
|
+
continue;
|
|
135
|
+
}
|
|
136
|
+
let i = s(t);
|
|
137
|
+
r && i != null && (v[r] = String(i), c || (b[r] = i)), r && c && (i === _(t) ? b[r] = t : b[r] = i);
|
|
138
|
+
}
|
|
139
|
+
if (typeof window < "u") {
|
|
140
|
+
for (let t in g) {
|
|
141
|
+
var w;
|
|
142
|
+
let n = g[t], i = t.endsWith("Capture"), a = ((w = r == null ? void 0 : r[t]) == null ? t.slice(2).toLowerCase() : w).slice(0, i ? -7 : void 0);
|
|
143
|
+
e.useLayoutEffect(() => {
|
|
144
|
+
let e = f == null ? void 0 : f.current;
|
|
145
|
+
if (!(!e || typeof n != "function")) return e.addEventListener(a, n, i), () => {
|
|
146
|
+
e.removeEventListener(a, n, i);
|
|
147
|
+
};
|
|
148
|
+
}, [f == null ? void 0 : f.current, n]);
|
|
149
|
+
}
|
|
150
|
+
e.useLayoutEffect(() => {
|
|
151
|
+
if (f.current === null) return;
|
|
152
|
+
let e = /* @__PURE__ */ new Map();
|
|
153
|
+
for (let t in x) y(f.current, t, x[t]), p.current.delete(t), e.set(t, x[t]);
|
|
154
|
+
for (let [e, t] of p.current) y(f.current, e, void 0);
|
|
155
|
+
p.current = e;
|
|
156
|
+
});
|
|
157
|
+
}
|
|
158
|
+
if (typeof window > "u" && n != null && n.getTemplateHTML && n != null && n.shadowRootOptions) {
|
|
159
|
+
let { mode: t, delegatesFocus: r } = n.shadowRootOptions;
|
|
160
|
+
b.children = [e.createElement("template", {
|
|
161
|
+
shadowrootmode: t,
|
|
162
|
+
shadowrootdelegatesfocus: r,
|
|
163
|
+
dangerouslySetInnerHTML: { __html: n.getTemplateHTML(v, i) },
|
|
164
|
+
key: "ce-la-react-ssr-template-shadow-root"
|
|
165
|
+
}), b.children];
|
|
166
|
+
}
|
|
167
|
+
return e.createElement(t, {
|
|
168
|
+
...a,
|
|
169
|
+
...b,
|
|
170
|
+
ref: e.useCallback((e) => {
|
|
171
|
+
f.current = e, typeof l == "function" ? l(e) : l !== null && (l.current = e);
|
|
172
|
+
}, [l])
|
|
173
|
+
}, b.children);
|
|
174
|
+
});
|
|
175
|
+
return l.displayName = i == null ? n.name : i, l;
|
|
176
|
+
}
|
|
177
|
+
function y(e, t, n) {
|
|
178
|
+
var r, i;
|
|
179
|
+
e[t] = n, n == null && t in ((r = (i = globalThis.HTMLElement) == null ? void 0 : i.prototype) == null ? {} : r) && e.removeAttribute(t);
|
|
180
|
+
}
|
|
181
|
+
var b = v({
|
|
182
|
+
react: o,
|
|
183
|
+
tagName: "dash-video",
|
|
184
|
+
elementClass: p,
|
|
185
|
+
toAttributeName(e) {
|
|
186
|
+
return e === "muted" ? "" : e === "defaultMuted" ? "muted" : g(e);
|
|
187
|
+
}
|
|
188
|
+
});
|
|
189
|
+
//#endregion
|
|
190
|
+
export { b as default };
|
|
191
|
+
|
|
192
|
+
//# sourceMappingURL=react-BMxM8TWJ.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"react-BMxM8TWJ.js","names":["CustomMediaElement"],"sources":["../../../node_modules/.pnpm/dash-video-element@0.3.2_@svta+cml-cta@1.0.6_@svta+cml-structured-field-values@1.1.3_@s_1d417b19612eff304477e3f6272644a6/node_modules/dash-video-element/dist/dash-video-element.js","../../../node_modules/.pnpm/dash-video-element@0.3.2_@svta+cml-cta@1.0.6_@svta+cml-structured-field-values@1.1.3_@s_1d417b19612eff304477e3f6272644a6/node_modules/dash-video-element/dist/react.js"],"sourcesContent":["import { CustomVideoElement } from \"custom-media-element\";\nimport { MediaTracksMixin } from \"media-tracks\";\nclass DashVideoElement extends MediaTracksMixin(CustomVideoElement) {\n static shadowRootOptions = { ...CustomVideoElement.shadowRootOptions };\n static getTemplateHTML = (attrs) => {\n const { src, ...rest } = attrs;\n return CustomVideoElement.getTemplateHTML(rest);\n };\n #apiInit;\n attributeChangedCallback(attrName, oldValue, newValue) {\n if (attrName !== \"src\") {\n super.attributeChangedCallback(attrName, oldValue, newValue);\n }\n if (attrName === \"src\" && oldValue != newValue) {\n this.load();\n }\n }\n async _initThumbnails(representation) {\n const generateAllCues = async (totalThumbnails2, thumbnailDuration2) => {\n const promises = [];\n const timescale = representation.timescale || 1;\n const startNumber = representation.startNumber || 1;\n const pto = representation.presentationTimeOffset ? representation.presentationTimeOffset / timescale : 0;\n const tduration = representation.segmentDuration;\n for (let thIndex = 0; thIndex < totalThumbnails2; thIndex++) {\n const startTime = calculateThumbnailStartTime({\n thIndex,\n thduration: thumbnailDuration2,\n ttiles: totalThumbnails2,\n tduration,\n startNumber,\n pto\n });\n const endTime = startTime + thumbnailDuration2;\n const promise = new Promise((resolve, reject) => {\n this.api.provideThumbnail(startTime, ({ url, width, height, x, y }) => {\n try {\n const cue = new VTTCue(\n startTime,\n endTime,\n `${url}#xywh=${x},${y},${width},${height}`\n );\n resolve(cue);\n } catch (err) {\n reject(err);\n }\n });\n });\n promises.push(promise);\n }\n return await Promise.all(promises).catch((e) => console.error(\"Error processing thumbnails\", e));\n };\n const { totalThumbnails, thumbnailDuration } = calculateThumbnailTimes(representation);\n const cues = await generateAllCues(totalThumbnails, thumbnailDuration);\n let track = this.nativeEl.querySelector('track[label=\"thumbnails\"]');\n if (!track) {\n track = createThumbnailTrack();\n this.nativeEl.appendChild(track);\n const vttUrl = cuesToVttBlobUrl(cues);\n track.src = vttUrl;\n track.dispatchEvent(new Event(\"change\"));\n }\n }\n async load() {\n if (this.#apiInit) {\n this.api.attachSource(this.src);\n return;\n }\n this.#apiInit = true;\n const Dash = await import(\"dashjs\");\n this.api = Dash.MediaPlayer().create();\n this.api.initialize(this.nativeEl, this.src, this.autoplay);\n this.api.on(Dash.MediaPlayer.events.STREAM_INITIALIZED, () => {\n const bitrateList = this.api.getRepresentationsByType(\"video\");\n let videoTrack = this.videoTracks.getTrackById(\"main\");\n if (!videoTrack) {\n videoTrack = this.addVideoTrack(\"main\");\n videoTrack.id = \"main\";\n videoTrack.selected = true;\n }\n bitrateList.forEach((rep) => {\n const bitrate = rep.bandwidth ?? rep.bitrate ?? (Number.isFinite(rep.bitrateInKbit) ? rep.bitrateInKbit * 1e3 : void 0);\n const rendition = videoTrack.addRendition(rep.id, rep.width, rep.height, rep.mimeType ?? rep.codec, bitrate);\n rendition.id = rep.id;\n });\n this.videoRenditions.addEventListener(\"change\", () => {\n const selected = this.videoRenditions[this.videoRenditions.selectedIndex];\n if (selected == null ? void 0 : selected.id) {\n this.api.updateSettings({ streaming: { abr: { autoSwitchBitrate: { video: false } } } });\n this.api.setRepresentationForTypeById(\"video\", selected.id, true);\n } else {\n this.api.updateSettings({ streaming: { abr: { autoSwitchBitrate: { video: true } } } });\n }\n });\n if (!this.api.isDynamic()) {\n const imageReps = this.api.getRepresentationsByType(\"image\");\n imageReps.forEach(async (rep, idx) => {\n if (idx > 0) return;\n this._initThumbnails(rep);\n });\n }\n });\n }\n}\nfunction calculateThumbnailTimes(representation) {\n var _a, _b;\n const essentialProp = representation.essentialProperties[0];\n const [htiles, vtiles] = essentialProp.value.split(\"x\").map(Number);\n const ttiles = htiles * vtiles;\n const periodDuration = ((_b = (_a = representation.adaptation) == null ? void 0 : _a.period) == null ? void 0 : _b.duration) || null;\n const tileDuration = representation.segmentDuration;\n const timescale = representation.timescale || 1;\n const tduration = tileDuration / timescale;\n const thduration = tduration / ttiles;\n const totalThumbnails = periodDuration != null ? Math.ceil(periodDuration / thduration) : Math.ceil(tileDuration / thduration);\n return { totalThumbnails, thumbnailDuration: thduration };\n}\nfunction calculateThumbnailStartTime({ thIndex, tduration, thduration, ttiles, startNumber, pto }) {\n const tnumber = Math.floor(thIndex / ttiles) + startNumber;\n const thnumber = thIndex % ttiles + 1;\n const tileStartTime = (tnumber - 1) * tduration - pto;\n const thumbnailStartTime = (thnumber - 1) * thduration;\n return tileStartTime + thumbnailStartTime;\n}\nfunction createThumbnailTrack() {\n const track = document.createElement(\"track\");\n track.kind = \"metadata\";\n track.label = \"thumbnails\";\n track.srclang = \"en\";\n track.mode = \"hidden\";\n track.default = true;\n return track;\n}\nfunction cuesToVttBlobUrl(cues) {\n let vtt = \"WEBVTT\\n\\n\";\n for (const cue of cues) {\n vtt += `${formatTime(cue.startTime)} --> ${formatTime(cue.endTime)}\n`;\n vtt += `${cue.text}\n\n`;\n }\n const blob = new Blob([vtt], { type: \"text/vtt\" });\n return URL.createObjectURL(blob);\n function formatTime(t) {\n const h = String(Math.floor(t / 3600)).padStart(2, \"0\");\n const m = String(Math.floor(t % 3600 / 60)).padStart(2, \"0\");\n const s = (t % 60).toFixed(3).padStart(6, \"0\");\n return `${h}:${m}:${s}`;\n }\n}\nif (globalThis.customElements && !globalThis.customElements.get(\"dash-video\")) {\n globalThis.customElements.define(\"dash-video\", DashVideoElement);\n}\nvar dash_video_element_default = DashVideoElement;\nexport {\n dash_video_element_default as default\n};\n","\"use client\";\n\n// dist/react.ts\nimport React from \"react\";\nimport CustomMediaElement from \"./dash-video-element.js\";\n\n// ../../node_modules/ce-la-react/dist/ce-la-react.js\nvar reservedReactProps = /* @__PURE__ */ new Set([\n \"style\",\n \"children\",\n \"ref\",\n \"key\",\n \"suppressContentEditableWarning\",\n \"suppressHydrationWarning\",\n \"dangerouslySetInnerHTML\"\n]);\nvar reactPropToAttrNameMap = {\n className: \"class\",\n htmlFor: \"for\"\n};\nfunction defaultToAttributeName(propName) {\n return propName.toLowerCase();\n}\nfunction defaultToAttributeValue(propValue) {\n if (typeof propValue === \"boolean\") return propValue ? \"\" : void 0;\n if (typeof propValue === \"function\") return void 0;\n if (typeof propValue === \"object\" && propValue !== null) return void 0;\n return propValue;\n}\nfunction createComponent({\n react: React2,\n tagName,\n elementClass,\n events,\n displayName,\n defaultProps,\n toAttributeName = defaultToAttributeName,\n toAttributeValue = defaultToAttributeValue\n}) {\n const IS_REACT_19_OR_NEWER = Number.parseInt(React2.version) >= 19;\n const ReactComponent = React2.forwardRef((props, ref) => {\n var _a, _b;\n const elementRef = React2.useRef(null);\n const prevElemPropsRef = React2.useRef(/* @__PURE__ */ new Map());\n const eventProps = {};\n const attrs = {};\n const reactProps = {};\n const elementProps = {};\n for (const [k, v] of Object.entries(props)) {\n if (reservedReactProps.has(k)) {\n reactProps[k] = v;\n continue;\n }\n const attrName = toAttributeName(reactPropToAttrNameMap[k] ?? k);\n if (elementClass.prototype && k in elementClass.prototype && !(k in (((_a = globalThis.HTMLElement) == null ? void 0 : _a.prototype) ?? {})) && !((_b = elementClass.observedAttributes) == null ? void 0 : _b.some((attr) => attr === attrName))) {\n elementProps[k] = v;\n continue;\n }\n if (k.startsWith(\"on\")) {\n eventProps[k] = v;\n continue;\n }\n const attrValue = toAttributeValue(v);\n if (attrName && attrValue != null) {\n attrs[attrName] = String(attrValue);\n if (!IS_REACT_19_OR_NEWER) {\n reactProps[attrName] = attrValue;\n }\n }\n if (attrName && IS_REACT_19_OR_NEWER) {\n const attrValueFromDefault = defaultToAttributeValue(v);\n if (attrValue !== attrValueFromDefault) {\n reactProps[attrName] = attrValue;\n } else {\n reactProps[attrName] = v;\n }\n }\n }\n if (typeof window !== \"undefined\") {\n for (const propName in eventProps) {\n const callback = eventProps[propName];\n const useCapture = propName.endsWith(\"Capture\");\n const eventName = ((events == null ? void 0 : events[propName]) ?? propName.slice(2).toLowerCase()).slice(\n 0,\n useCapture ? -7 : void 0\n );\n React2.useLayoutEffect(() => {\n const eventTarget = elementRef == null ? void 0 : elementRef.current;\n if (!eventTarget || typeof callback !== \"function\") return;\n eventTarget.addEventListener(eventName, callback, useCapture);\n return () => {\n eventTarget.removeEventListener(eventName, callback, useCapture);\n };\n }, [elementRef == null ? void 0 : elementRef.current, callback]);\n }\n React2.useLayoutEffect(() => {\n if (elementRef.current === null) return;\n const newElemProps = /* @__PURE__ */ new Map();\n for (const key in elementProps) {\n setProperty(elementRef.current, key, elementProps[key]);\n prevElemPropsRef.current.delete(key);\n newElemProps.set(key, elementProps[key]);\n }\n for (const [key, _value] of prevElemPropsRef.current) {\n setProperty(elementRef.current, key, void 0);\n }\n prevElemPropsRef.current = newElemProps;\n });\n }\n if (typeof window === \"undefined\" && (elementClass == null ? void 0 : elementClass.getTemplateHTML) && (elementClass == null ? void 0 : elementClass.shadowRootOptions)) {\n const { mode, delegatesFocus } = elementClass.shadowRootOptions;\n const templateShadowRoot = React2.createElement(\"template\", {\n shadowrootmode: mode,\n shadowrootdelegatesfocus: delegatesFocus,\n dangerouslySetInnerHTML: {\n __html: elementClass.getTemplateHTML(attrs, props)\n },\n key: \"ce-la-react-ssr-template-shadow-root\"\n });\n reactProps.children = [templateShadowRoot, reactProps.children];\n }\n return React2.createElement(tagName, {\n ...defaultProps,\n ...reactProps,\n ref: React2.useCallback(\n (node) => {\n elementRef.current = node;\n if (typeof ref === \"function\") {\n ref(node);\n } else if (ref !== null) {\n ref.current = node;\n }\n },\n [ref]\n )\n }, reactProps.children);\n });\n ReactComponent.displayName = displayName ?? elementClass.name;\n return ReactComponent;\n}\nfunction setProperty(node, name, value) {\n var _a;\n node[name] = value;\n if (value == null && name in (((_a = globalThis.HTMLElement) == null ? void 0 : _a.prototype) ?? {})) {\n node.removeAttribute(name);\n }\n}\n\n// dist/react.ts\nvar react_default = createComponent({\n react: React,\n tagName: \"dash-video\",\n elementClass: CustomMediaElement,\n toAttributeName(propName) {\n if (propName === \"muted\") return \"\";\n if (propName === \"defaultMuted\") return \"muted\";\n return defaultToAttributeName(propName);\n }\n});\nexport {\n react_default as default\n};\n/*! Bundled license information:\n\nce-la-react/dist/ce-la-react.js:\n (**\n * @license\n * Copyright 2018 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n *\n * Modified version of `@lit/react` for vanilla custom elements with support for SSR.\n *)\n*/\n"],"x_google_ignoreList":[0,1],"mappings":"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"}
|