@barabel324/react-player 0.0.8 → 0.0.10
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/README.md +22 -7
- package/dist/{index-C8oYhGns.js → index-Bpmt5HjW.js} +2 -2
- package/dist/{index-P3WMQDqC.js → index-C4BbrYIr.js} +13 -13
- package/dist/{index-CczXORYY.js → index-DSFxsWiZ.js} +1 -1
- package/dist/index-DUNavqhH.js +179 -0
- package/dist/{index-Dj9G-CFc.js → index-FsQN9AUJ.js} +1 -1
- package/dist/react-player.css +1 -1
- package/dist/react-player.d.ts +10 -6
- package/dist/react-player.js +1 -1
- package/package.json +1 -1
- package/dist/index-B8sUd3YU.js +0 -175
package/README.md
CHANGED
|
@@ -23,15 +23,23 @@ preview: {
|
|
|
23
23
|
В плеер можно кастомизировать изображение и кнопку, которые будут показываться, если есть превью.
|
|
24
24
|
|
|
25
25
|
```ts
|
|
26
|
-
|
|
27
|
-
button
|
|
28
|
-
|
|
26
|
+
components={
|
|
27
|
+
button: {
|
|
28
|
+
/** компонент */
|
|
29
|
+
component: FCClass;
|
|
30
|
+
/** его пропсы */
|
|
31
|
+
props?: Record<string, any>;
|
|
32
|
+
},
|
|
33
|
+
previewPicture: {
|
|
34
|
+
component: FCClass;
|
|
35
|
+
props?: Record<string, any>;
|
|
36
|
+
},
|
|
29
37
|
}
|
|
30
38
|
```
|
|
31
39
|
|
|
32
40
|
```tsx
|
|
33
|
-
const PlayButton = () => (
|
|
34
|
-
<button>▶ Play</button>
|
|
41
|
+
const PlayButton = (props) => (
|
|
42
|
+
<button {...props}>▶ Play</button>
|
|
35
43
|
);
|
|
36
44
|
|
|
37
45
|
const PreviewImage = () => (
|
|
@@ -41,8 +49,15 @@ const PreviewImage = () => (
|
|
|
41
49
|
<Player
|
|
42
50
|
url={url}
|
|
43
51
|
components={{
|
|
44
|
-
button:
|
|
45
|
-
|
|
52
|
+
button: {
|
|
53
|
+
component: PlayButton,
|
|
54
|
+
props: {
|
|
55
|
+
type: "button"
|
|
56
|
+
}
|
|
57
|
+
},
|
|
58
|
+
previewPicture: {
|
|
59
|
+
component: PreviewImage,
|
|
60
|
+
},
|
|
46
61
|
}}
|
|
47
62
|
/>
|
|
48
63
|
```
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx as d } from "react/jsx-runtime";
|
|
2
2
|
import { useRef as a, useImperativeHandle as l, useEffect as u } from "react";
|
|
3
|
-
import { u as p } from "./index-
|
|
3
|
+
import { u as p } from "./index-DUNavqhH.js";
|
|
4
4
|
const m = async () => new Promise((t, n) => {
|
|
5
5
|
if (window.VK?.VideoPlayer) {
|
|
6
6
|
t(window.VK);
|
|
@@ -54,7 +54,7 @@ const m = async () => new Promise((t, n) => {
|
|
|
54
54
|
}), () => {
|
|
55
55
|
e.current && e.current.destroy();
|
|
56
56
|
};
|
|
57
|
-
}, [
|
|
57
|
+
}, []), /* @__PURE__ */ d(
|
|
58
58
|
"iframe",
|
|
59
59
|
{
|
|
60
60
|
className: t,
|
|
@@ -1,35 +1,35 @@
|
|
|
1
1
|
import { jsx as i } from "react/jsx-runtime";
|
|
2
|
-
import { u as p } from "./index-
|
|
2
|
+
import { u as p } from "./index-DUNavqhH.js";
|
|
3
3
|
import { useRef as c, useImperativeHandle as f, useEffect as l } from "react";
|
|
4
4
|
const w = ({
|
|
5
|
-
className:
|
|
6
|
-
ref:
|
|
7
|
-
url:
|
|
5
|
+
className: t,
|
|
6
|
+
ref: a,
|
|
7
|
+
url: s
|
|
8
8
|
}) => {
|
|
9
|
-
const e = c(null),
|
|
9
|
+
const e = c(null), n = p(), o = () => {
|
|
10
10
|
e.current && e.current.contentWindow?.postMessage(JSON.stringify({
|
|
11
11
|
type: "player:play",
|
|
12
12
|
data: {}
|
|
13
13
|
}), "*");
|
|
14
14
|
};
|
|
15
|
-
return f(
|
|
15
|
+
return f(a, () => ({
|
|
16
16
|
play: o
|
|
17
17
|
})), l(() => {
|
|
18
|
-
const
|
|
18
|
+
const r = (u) => {
|
|
19
19
|
if (!e.current) return;
|
|
20
|
-
JSON.parse(u.data).type === "player:ready" &&
|
|
20
|
+
JSON.parse(u.data).type === "player:ready" && n({ type: "canplay" });
|
|
21
21
|
};
|
|
22
|
-
return window.addEventListener("message",
|
|
23
|
-
window.removeEventListener("message",
|
|
22
|
+
return window.addEventListener("message", r), () => {
|
|
23
|
+
window.removeEventListener("message", r);
|
|
24
24
|
};
|
|
25
|
-
}, [
|
|
25
|
+
}, []), /* @__PURE__ */ i(
|
|
26
26
|
"iframe",
|
|
27
27
|
{
|
|
28
|
-
className:
|
|
28
|
+
className: t,
|
|
29
29
|
ref: e,
|
|
30
30
|
width: "100%",
|
|
31
31
|
height: "100%",
|
|
32
|
-
src:
|
|
32
|
+
src: s,
|
|
33
33
|
allowFullScreen: !0,
|
|
34
34
|
frameBorder: "0"
|
|
35
35
|
}
|
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
import { jsx as a, jsxs as d } from "react/jsx-runtime";
|
|
2
|
+
import { createContext as b, useContext as m, useReducer as g, lazy as _, useMemo as k, useRef as q } from "react";
|
|
3
|
+
function v() {
|
|
4
|
+
let e, r = "", t = 0;
|
|
5
|
+
for (; t < arguments.length; ) (e = arguments[t++]) && typeof e == "string" && (r && (r += " "), r += e);
|
|
6
|
+
return r;
|
|
7
|
+
}
|
|
8
|
+
const c = {
|
|
9
|
+
show: "show",
|
|
10
|
+
hide: "hide",
|
|
11
|
+
showButton: "showButton",
|
|
12
|
+
hideButton: "hideButton",
|
|
13
|
+
canplay: "canplay"
|
|
14
|
+
}, f = {
|
|
15
|
+
showButton: !1,
|
|
16
|
+
showPreview: !0,
|
|
17
|
+
canplay: !1
|
|
18
|
+
}, E = (e, r) => {
|
|
19
|
+
const { type: t } = r;
|
|
20
|
+
switch (t) {
|
|
21
|
+
case c.show:
|
|
22
|
+
return { ...e, showButton: !0, showPreview: !0 };
|
|
23
|
+
case c.hide:
|
|
24
|
+
return { ...e, showButton: !1, showPreview: !1 };
|
|
25
|
+
case c.showButton:
|
|
26
|
+
return { ...e, showButton: !0 };
|
|
27
|
+
case c.hideButton:
|
|
28
|
+
return { ...e, showButton: !1 };
|
|
29
|
+
case c.canplay:
|
|
30
|
+
return { ...e, canplay: !0, showButton: !0 };
|
|
31
|
+
default:
|
|
32
|
+
return e;
|
|
33
|
+
}
|
|
34
|
+
}, B = b(f), x = b(() => {
|
|
35
|
+
}), R = ({ children: e }) => {
|
|
36
|
+
const [r, t] = g(E, f);
|
|
37
|
+
return /* @__PURE__ */ a(B.Provider, { value: r, children: /* @__PURE__ */ a(x.Provider, { value: t, children: e }) });
|
|
38
|
+
}, S = () => {
|
|
39
|
+
const e = m(B);
|
|
40
|
+
if (e === void 0)
|
|
41
|
+
throw new Error("usePlayerState нужно использовать внутри PlayerProvider");
|
|
42
|
+
return e;
|
|
43
|
+
}, T = () => {
|
|
44
|
+
const e = m(x);
|
|
45
|
+
if (e === void 0)
|
|
46
|
+
throw new Error("usePlayerDispatch нужно использовать внутри PlayerProvider");
|
|
47
|
+
return e;
|
|
48
|
+
}, C = "_button_1xali_2", $ = {
|
|
49
|
+
button: C
|
|
50
|
+
}, D = ({
|
|
51
|
+
className: e,
|
|
52
|
+
onClick: r
|
|
53
|
+
}) => /* @__PURE__ */ a(
|
|
54
|
+
"button",
|
|
55
|
+
{
|
|
56
|
+
className: v(
|
|
57
|
+
$.button,
|
|
58
|
+
e
|
|
59
|
+
),
|
|
60
|
+
type: "button",
|
|
61
|
+
onClick: r
|
|
62
|
+
}
|
|
63
|
+
), V = "_playerPreview_lqhcw_1", j = "_playerPreview__wrapper_lqhcw_7", A = "_playerPreview__wrapper_cursor_lqhcw_11", L = "_playerPreview__button_lqhcw_14", O = "_playerPreview__preview_lqhcw_21", Y = "_playerPreview__player_lqhcw_30", o = {
|
|
64
|
+
playerPreview: V,
|
|
65
|
+
playerPreview__wrapper: j,
|
|
66
|
+
playerPreview__wrapper_cursor: A,
|
|
67
|
+
playerPreview__button: L,
|
|
68
|
+
playerPreview__preview: O,
|
|
69
|
+
playerPreview__player: Y
|
|
70
|
+
}, z = ({
|
|
71
|
+
className: e,
|
|
72
|
+
preview: r,
|
|
73
|
+
onPlay: t,
|
|
74
|
+
children: u,
|
|
75
|
+
buttonComponent: n,
|
|
76
|
+
previewPictureComponent: l
|
|
77
|
+
}) => {
|
|
78
|
+
const { showButton: i, showPreview: p, canplay: P } = S(), y = T(), h = () => {
|
|
79
|
+
P && (y({
|
|
80
|
+
type: c.hide
|
|
81
|
+
}), t && t());
|
|
82
|
+
}, w = !!r || !!l;
|
|
83
|
+
return /* @__PURE__ */ d(
|
|
84
|
+
"div",
|
|
85
|
+
{
|
|
86
|
+
className: v(
|
|
87
|
+
o.playerPreview,
|
|
88
|
+
e
|
|
89
|
+
),
|
|
90
|
+
children: [
|
|
91
|
+
(i || w && p) && /* @__PURE__ */ d(
|
|
92
|
+
"div",
|
|
93
|
+
{
|
|
94
|
+
className: v(
|
|
95
|
+
o.playerPreview__wrapper,
|
|
96
|
+
i && o.playerPreview__wrapper_cursor
|
|
97
|
+
),
|
|
98
|
+
onClick: h,
|
|
99
|
+
children: [
|
|
100
|
+
i && (n ? /* @__PURE__ */ a(n.component, { className: o.playerPreview__button, ...n.props }) : /* @__PURE__ */ a(
|
|
101
|
+
D,
|
|
102
|
+
{
|
|
103
|
+
className: o.playerPreview__button
|
|
104
|
+
}
|
|
105
|
+
)),
|
|
106
|
+
w && p && (l ? /* @__PURE__ */ a(l.component, { className: o.playerPreview__preview, ...l.props }) : r && /* @__PURE__ */ a("img", { className: o.playerPreview__preview, src: r.src, alt: r.alt ?? "preview" }))
|
|
107
|
+
]
|
|
108
|
+
}
|
|
109
|
+
),
|
|
110
|
+
/* @__PURE__ */ a("div", { className: o.playerPreview__player, children: u })
|
|
111
|
+
]
|
|
112
|
+
}
|
|
113
|
+
);
|
|
114
|
+
}, s = {
|
|
115
|
+
youtube: "youtube",
|
|
116
|
+
rutube: "rutube",
|
|
117
|
+
video: "video",
|
|
118
|
+
vk: "vk"
|
|
119
|
+
}, I = {
|
|
120
|
+
[s.youtube]: _(async () => await import("./index-FsQN9AUJ.js")),
|
|
121
|
+
[s.rutube]: _(async () => await import("./index-C4BbrYIr.js")),
|
|
122
|
+
[s.video]: _(async () => await import("./index-DSFxsWiZ.js")),
|
|
123
|
+
[s.vk]: _(async () => await import("./index-Bpmt5HjW.js"))
|
|
124
|
+
}, M = (e) => {
|
|
125
|
+
const r = /^(?:https?:\/\/)?(?:m\.|www\.)?(?:youtu\.be\/|youtube\.com\/(?:embed\/|v\/|watch\?v=|watch\?.+&v=))((\w|-){11})(?:\S+)?$/, t = /^(?:https?:\/\/)?(?:rutu\.be\/|rutube\.ru(\/play\/))/, u = /^(?:https?:\/\/)?(?:www\.|m\.)?(?:vk\.com|vkvideo\.ru)\/.+$/;
|
|
126
|
+
return t.test(e) ? s.rutube : r.test(e) ? s.youtube : u.test(e) ? s.vk : s.video;
|
|
127
|
+
}, U = "_player_1afml_1", F = {
|
|
128
|
+
player: U
|
|
129
|
+
}, G = ({
|
|
130
|
+
children: e,
|
|
131
|
+
hasPreview: r,
|
|
132
|
+
...t
|
|
133
|
+
}) => r ? /* @__PURE__ */ a(
|
|
134
|
+
z,
|
|
135
|
+
{
|
|
136
|
+
...t,
|
|
137
|
+
children: e
|
|
138
|
+
}
|
|
139
|
+
) : e, H = ({
|
|
140
|
+
className: e,
|
|
141
|
+
url: r,
|
|
142
|
+
preview: t,
|
|
143
|
+
classNames: u,
|
|
144
|
+
components: n
|
|
145
|
+
}) => {
|
|
146
|
+
const l = u?.player, i = n?.button, p = n?.previewPicture, P = k(() => {
|
|
147
|
+
const N = M(r);
|
|
148
|
+
return I[N];
|
|
149
|
+
}, [r]), y = q(null), h = () => {
|
|
150
|
+
y.current && y.current.play();
|
|
151
|
+
}, w = !!t || !!p;
|
|
152
|
+
return /* @__PURE__ */ a(
|
|
153
|
+
G,
|
|
154
|
+
{
|
|
155
|
+
hasPreview: w,
|
|
156
|
+
className: e,
|
|
157
|
+
preview: t,
|
|
158
|
+
onPlay: h,
|
|
159
|
+
buttonComponent: i,
|
|
160
|
+
previewPictureComponent: p,
|
|
161
|
+
children: /* @__PURE__ */ a(
|
|
162
|
+
P,
|
|
163
|
+
{
|
|
164
|
+
className: v(
|
|
165
|
+
l ?? F.player,
|
|
166
|
+
!w && e
|
|
167
|
+
),
|
|
168
|
+
ref: y,
|
|
169
|
+
url: r
|
|
170
|
+
}
|
|
171
|
+
)
|
|
172
|
+
}
|
|
173
|
+
);
|
|
174
|
+
}, Q = (e) => /* @__PURE__ */ a(R, { children: /* @__PURE__ */ a(H, { ...e }) });
|
|
175
|
+
export {
|
|
176
|
+
c as P,
|
|
177
|
+
Q as a,
|
|
178
|
+
T as u
|
|
179
|
+
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx as l } from "react/jsx-runtime";
|
|
2
2
|
import { useRef as s, useImperativeHandle as p, useEffect as y } from "react";
|
|
3
|
-
import { u as f } from "./index-
|
|
3
|
+
import { u as f } from "./index-DUNavqhH.js";
|
|
4
4
|
const m = (t) => {
|
|
5
5
|
const n = /^.*((youtu.be\/)|(v\/)|(\/u\/\w\/)|(embed\/)|(watch\?))\??v?=?([^#&?]*).*/, o = t.match(n);
|
|
6
6
|
return o && o[7].length === 11 ? o[7] : "";
|
package/dist/react-player.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
._button_1xali_2{--idmrp-button-play-size: 3.375rem;--idmrp-button-play-bg: #2D3C31;--idmrp-button-play-triangle-color: #E3DFD7;position:relative;width:var(--idmrp-button-play-size);min-width:var(--idmrp-button-play-size);height:var(--idmrp-button-play-size);background-color:var(--idmrp-button-play-bg);border-radius:50%}._button_1xali_2:before{content:"";position:absolute;top:50%;left:58%;border:.3125rem solid transparent;border-left:.5625rem solid var(--idmrp-button-play-triangle-color);transform:translate(-50%,-50%)}.
|
|
1
|
+
._button_1xali_2{--idmrp-button-play-size: 3.375rem;--idmrp-button-play-bg: #2D3C31;--idmrp-button-play-triangle-color: #E3DFD7;position:relative;width:var(--idmrp-button-play-size);min-width:var(--idmrp-button-play-size);height:var(--idmrp-button-play-size);background-color:var(--idmrp-button-play-bg);border-radius:50%}._button_1xali_2:before{content:"";position:absolute;top:50%;left:58%;border:.3125rem solid transparent;border-left:.5625rem solid var(--idmrp-button-play-triangle-color);transform:translate(-50%,-50%)}._playerPreview_lqhcw_1{position:relative;width:100%;height:100%;object-fit:cover}._playerPreview__wrapper_lqhcw_7{position:absolute;inset:0}._playerPreview__wrapper_cursor_lqhcw_11{cursor:pointer}._playerPreview__button_lqhcw_14{z-index:2;position:absolute;top:50%;left:50%;transform:translate(-50%) translateY(-50%)}._playerPreview__preview_lqhcw_21{z-index:1;position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover}._playerPreview__player_lqhcw_30{width:100%;height:100%}._player_1afml_1{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
|
package/dist/react-player.d.ts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { ReactNode } from 'react';
|
|
2
1
|
import { RefObject } from 'react';
|
|
3
2
|
|
|
4
3
|
/** Утилитарный дженерик для обозначения функционального компонента с пропсами children и className */
|
|
@@ -14,7 +13,7 @@ declare type KeysWithClassNames = {
|
|
|
14
13
|
|
|
15
14
|
declare type KeysWithComponent = {
|
|
16
15
|
[K in keyof TMapComponents]: TMapComponents[K] extends {
|
|
17
|
-
component:
|
|
16
|
+
component: TComp;
|
|
18
17
|
} ? K : never;
|
|
19
18
|
}[keyof TMapComponents];
|
|
20
19
|
|
|
@@ -24,6 +23,11 @@ declare type TClassNames = {
|
|
|
24
23
|
[K in KeysWithClassNames]?: TMapComponents[K]['className'];
|
|
25
24
|
};
|
|
26
25
|
|
|
26
|
+
declare type TComp = {
|
|
27
|
+
component: any;
|
|
28
|
+
props?: Record<string, any>;
|
|
29
|
+
};
|
|
30
|
+
|
|
27
31
|
declare type TComponents = {
|
|
28
32
|
[K in KeysWithComponent]?: TMapComponents[K]['component'];
|
|
29
33
|
};
|
|
@@ -32,12 +36,12 @@ declare type TMapComponents = {
|
|
|
32
36
|
/** изображение превью */
|
|
33
37
|
previewPicture: {
|
|
34
38
|
/** компонент изображения */
|
|
35
|
-
component:
|
|
39
|
+
component: TComp;
|
|
36
40
|
};
|
|
37
41
|
/** кнопка, которая отображаентся, когда видео загрузилось */
|
|
38
42
|
button: {
|
|
39
43
|
/** компонент кнопки */
|
|
40
|
-
component:
|
|
44
|
+
component: TComp;
|
|
41
45
|
};
|
|
42
46
|
/** Плеер */
|
|
43
47
|
player: {
|
|
@@ -73,8 +77,8 @@ declare type TPlayerPreview = {
|
|
|
73
77
|
/** Альт изображения */
|
|
74
78
|
alt: string;
|
|
75
79
|
};
|
|
76
|
-
|
|
77
|
-
|
|
80
|
+
previewPictureComponent?: TComp;
|
|
81
|
+
buttonComponent?: TComp;
|
|
78
82
|
onPlay?: () => void;
|
|
79
83
|
};
|
|
80
84
|
|
package/dist/react-player.js
CHANGED
package/package.json
CHANGED
package/dist/index-B8sUd3YU.js
DELETED
|
@@ -1,175 +0,0 @@
|
|
|
1
|
-
import { jsx as o, jsxs as d } from "react/jsx-runtime";
|
|
2
|
-
import { createContext as b, useContext as f, useReducer as k, lazy as v, useMemo as C, useRef as N } from "react";
|
|
3
|
-
function h() {
|
|
4
|
-
let e, t = "", r = 0;
|
|
5
|
-
for (; r < arguments.length; ) (e = arguments[r++]) && typeof e == "string" && (t && (t += " "), t += e);
|
|
6
|
-
return t;
|
|
7
|
-
}
|
|
8
|
-
const a = {
|
|
9
|
-
show: "show",
|
|
10
|
-
hide: "hide",
|
|
11
|
-
showButton: "showButton",
|
|
12
|
-
hideButton: "hideButton",
|
|
13
|
-
canplay: "canplay"
|
|
14
|
-
}, m = {
|
|
15
|
-
showButton: !1,
|
|
16
|
-
showPreview: !0,
|
|
17
|
-
canplay: !1
|
|
18
|
-
}, E = (e, t) => {
|
|
19
|
-
const { type: r } = t;
|
|
20
|
-
switch (r) {
|
|
21
|
-
case a.show:
|
|
22
|
-
return { ...e, showButton: !0, showPreview: !0 };
|
|
23
|
-
case a.hide:
|
|
24
|
-
return { ...e, showButton: !1, showPreview: !1 };
|
|
25
|
-
case a.showButton:
|
|
26
|
-
return { ...e, showButton: !0 };
|
|
27
|
-
case a.hideButton:
|
|
28
|
-
return { ...e, showButton: !1 };
|
|
29
|
-
case a.canplay:
|
|
30
|
-
return { ...e, canplay: !0, showButton: !0 };
|
|
31
|
-
default:
|
|
32
|
-
return e;
|
|
33
|
-
}
|
|
34
|
-
}, B = b(m), x = b(() => {
|
|
35
|
-
}), R = ({ children: e }) => {
|
|
36
|
-
const [t, r] = k(E, m);
|
|
37
|
-
return /* @__PURE__ */ o(B.Provider, { value: t, children: /* @__PURE__ */ o(x.Provider, { value: r, children: e }) });
|
|
38
|
-
}, S = () => {
|
|
39
|
-
const e = f(B);
|
|
40
|
-
if (e === void 0)
|
|
41
|
-
throw new Error("usePlayerState нужно использовать внутри PlayerProvider");
|
|
42
|
-
return e;
|
|
43
|
-
}, T = () => {
|
|
44
|
-
const e = f(x);
|
|
45
|
-
if (e === void 0)
|
|
46
|
-
throw new Error("usePlayerDispatch нужно использовать внутри PlayerProvider");
|
|
47
|
-
return e;
|
|
48
|
-
}, $ = "_button_1xali_2", D = {
|
|
49
|
-
button: $
|
|
50
|
-
}, V = ({
|
|
51
|
-
className: e,
|
|
52
|
-
onClick: t
|
|
53
|
-
}) => /* @__PURE__ */ o(
|
|
54
|
-
"button",
|
|
55
|
-
{
|
|
56
|
-
className: h(
|
|
57
|
-
D.button,
|
|
58
|
-
e
|
|
59
|
-
),
|
|
60
|
-
type: "button",
|
|
61
|
-
onClick: t
|
|
62
|
-
}
|
|
63
|
-
), j = "_playerPreview_so1s6_1", A = "_playerPreview__wrapper_so1s6_7", L = "_playerPreview__button_so1s6_12", O = "_playerPreview__preview_so1s6_19", Y = "_playerPreview__player_so1s6_28", y = {
|
|
64
|
-
playerPreview: j,
|
|
65
|
-
playerPreview__wrapper: A,
|
|
66
|
-
playerPreview__button: L,
|
|
67
|
-
playerPreview__preview: O,
|
|
68
|
-
playerPreview__player: Y
|
|
69
|
-
}, z = ({
|
|
70
|
-
className: e,
|
|
71
|
-
preview: t,
|
|
72
|
-
onPlay: r,
|
|
73
|
-
children: n,
|
|
74
|
-
renderButton: u,
|
|
75
|
-
renderPreviewPicture: l
|
|
76
|
-
}) => {
|
|
77
|
-
const { showButton: p, showPreview: c, canplay: _ } = S(), i = T(), P = () => {
|
|
78
|
-
_ && (i({
|
|
79
|
-
type: a.hide
|
|
80
|
-
}), r && r());
|
|
81
|
-
}, w = !!t || !!l;
|
|
82
|
-
return /* @__PURE__ */ d(
|
|
83
|
-
"div",
|
|
84
|
-
{
|
|
85
|
-
className: h(
|
|
86
|
-
y.playerPreview,
|
|
87
|
-
e
|
|
88
|
-
),
|
|
89
|
-
children: [
|
|
90
|
-
(p || t && c) && /* @__PURE__ */ d(
|
|
91
|
-
"div",
|
|
92
|
-
{
|
|
93
|
-
className: y.playerPreview__wrapper,
|
|
94
|
-
onClick: P,
|
|
95
|
-
children: [
|
|
96
|
-
p && (u ? u() : /* @__PURE__ */ o(
|
|
97
|
-
V,
|
|
98
|
-
{
|
|
99
|
-
className: y.playerPreview__button
|
|
100
|
-
}
|
|
101
|
-
)),
|
|
102
|
-
w && c && (l ? l() : t && /* @__PURE__ */ o("img", { className: y.playerPreview__preview, src: t.src, alt: t.alt ?? "preview" }))
|
|
103
|
-
]
|
|
104
|
-
}
|
|
105
|
-
),
|
|
106
|
-
/* @__PURE__ */ o("div", { className: y.playerPreview__player, children: n })
|
|
107
|
-
]
|
|
108
|
-
}
|
|
109
|
-
);
|
|
110
|
-
}, s = {
|
|
111
|
-
youtube: "youtube",
|
|
112
|
-
rutube: "rutube",
|
|
113
|
-
video: "video",
|
|
114
|
-
vk: "vk"
|
|
115
|
-
}, I = {
|
|
116
|
-
[s.youtube]: v(async () => await import("./index-Dj9G-CFc.js")),
|
|
117
|
-
[s.rutube]: v(async () => await import("./index-P3WMQDqC.js")),
|
|
118
|
-
[s.video]: v(async () => await import("./index-CczXORYY.js")),
|
|
119
|
-
[s.vk]: v(async () => await import("./index-C8oYhGns.js"))
|
|
120
|
-
}, M = (e) => {
|
|
121
|
-
const t = /^(?:https?:\/\/)?(?:m\.|www\.)?(?:youtu\.be\/|youtube\.com\/(?:embed\/|v\/|watch\?v=|watch\?.+&v=))((\w|-){11})(?:\S+)?$/, r = /^(?:https?:\/\/)?(?:rutu\.be\/|rutube\.ru(\/play\/))/, n = /^(?:https?:\/\/)?(?:www\.|m\.)?(?:vk\.com|vkvideo\.ru)\/.+$/;
|
|
122
|
-
return r.test(e) ? s.rutube : t.test(e) ? s.youtube : n.test(e) ? s.vk : s.video;
|
|
123
|
-
}, U = "_player_1afml_1", q = {
|
|
124
|
-
player: U
|
|
125
|
-
}, F = ({
|
|
126
|
-
children: e,
|
|
127
|
-
hasPreview: t,
|
|
128
|
-
...r
|
|
129
|
-
}) => t ? /* @__PURE__ */ o(
|
|
130
|
-
z,
|
|
131
|
-
{
|
|
132
|
-
...r,
|
|
133
|
-
children: e
|
|
134
|
-
}
|
|
135
|
-
) : e, G = ({
|
|
136
|
-
className: e,
|
|
137
|
-
url: t,
|
|
138
|
-
preview: r,
|
|
139
|
-
classNames: n,
|
|
140
|
-
components: u
|
|
141
|
-
}) => {
|
|
142
|
-
const l = n?.player, p = u?.button, c = u?.previewPicture, _ = C(() => {
|
|
143
|
-
const g = M(t);
|
|
144
|
-
return I[g];
|
|
145
|
-
}, [t]), i = N(null), P = () => {
|
|
146
|
-
i.current && i.current.play();
|
|
147
|
-
}, w = !!r || !!c;
|
|
148
|
-
return /* @__PURE__ */ o(
|
|
149
|
-
F,
|
|
150
|
-
{
|
|
151
|
-
hasPreview: w,
|
|
152
|
-
className: e,
|
|
153
|
-
preview: r,
|
|
154
|
-
onPlay: P,
|
|
155
|
-
renderButton: p,
|
|
156
|
-
renderPreviewPicture: c,
|
|
157
|
-
children: /* @__PURE__ */ o(
|
|
158
|
-
_,
|
|
159
|
-
{
|
|
160
|
-
className: h(
|
|
161
|
-
l ?? q.player,
|
|
162
|
-
!w && e
|
|
163
|
-
),
|
|
164
|
-
ref: i,
|
|
165
|
-
url: t
|
|
166
|
-
}
|
|
167
|
-
)
|
|
168
|
-
}
|
|
169
|
-
);
|
|
170
|
-
}, K = (e) => /* @__PURE__ */ o(R, { children: /* @__PURE__ */ o(G, { ...e }) });
|
|
171
|
-
export {
|
|
172
|
-
a as P,
|
|
173
|
-
K as a,
|
|
174
|
-
T as u
|
|
175
|
-
};
|