@x-plat/design-system 0.1.1
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 +123 -0
- package/dist/attributes-DJIWir_0.d.cts +7 -0
- package/dist/attributes-DJIWir_0.d.ts +7 -0
- package/dist/breakpoints-DsXkJgdl.d.cts +35 -0
- package/dist/breakpoints-DsXkJgdl.d.ts +35 -0
- package/dist/colors-BG91q_uV.d.cts +133 -0
- package/dist/colors-BG91q_uV.d.ts +133 -0
- package/dist/components/Button/index.cjs +203 -0
- package/dist/components/Button/index.css +1231 -0
- package/dist/components/Button/index.d.cts +132 -0
- package/dist/components/Button/index.d.ts +132 -0
- package/dist/components/Button/index.js +176 -0
- package/dist/components/Card/index.cjs +56 -0
- package/dist/components/Card/index.css +27 -0
- package/dist/components/Card/index.d.cts +13 -0
- package/dist/components/Card/index.d.ts +13 -0
- package/dist/components/Card/index.js +29 -0
- package/dist/components/Chart/index.cjs +393 -0
- package/dist/components/Chart/index.css +4 -0
- package/dist/components/Chart/index.d.cts +10 -0
- package/dist/components/Chart/index.d.ts +10 -0
- package/dist/components/Chart/index.js +367 -0
- package/dist/components/CheckBox/index.cjs +1116 -0
- package/dist/components/CheckBox/index.css +598 -0
- package/dist/components/CheckBox/index.d.cts +132 -0
- package/dist/components/CheckBox/index.d.ts +132 -0
- package/dist/components/CheckBox/index.js +1089 -0
- package/dist/components/Chip/index.cjs +193 -0
- package/dist/components/Chip/index.css +1227 -0
- package/dist/components/Chip/index.d.cts +132 -0
- package/dist/components/Chip/index.d.ts +132 -0
- package/dist/components/Chip/index.js +166 -0
- package/dist/components/DatePicker/index.cjs +1653 -0
- package/dist/components/DatePicker/index.css +1417 -0
- package/dist/components/DatePicker/index.d.cts +56 -0
- package/dist/components/DatePicker/index.d.ts +56 -0
- package/dist/components/DatePicker/index.js +1613 -0
- package/dist/components/HtmlTypeWriter/index.cjs +172 -0
- package/dist/components/HtmlTypeWriter/index.css +23 -0
- package/dist/components/HtmlTypeWriter/index.d.cts +14 -0
- package/dist/components/HtmlTypeWriter/index.d.ts +14 -0
- package/dist/components/HtmlTypeWriter/index.js +135 -0
- package/dist/components/ImageSelector/index.cjs +1063 -0
- package/dist/components/ImageSelector/index.css +85 -0
- package/dist/components/ImageSelector/index.d.cts +10 -0
- package/dist/components/ImageSelector/index.d.ts +10 -0
- package/dist/components/ImageSelector/index.js +1026 -0
- package/dist/components/Input/index.cjs +410 -0
- package/dist/components/Input/index.css +74 -0
- package/dist/components/Input/index.d.cts +23 -0
- package/dist/components/Input/index.d.ts +23 -0
- package/dist/components/Input/index.js +372 -0
- package/dist/components/Modal/index.cjs +101 -0
- package/dist/components/Modal/index.css +39 -0
- package/dist/components/Modal/index.d.cts +16 -0
- package/dist/components/Modal/index.d.ts +16 -0
- package/dist/components/Modal/index.js +64 -0
- package/dist/components/PopOver/index.cjs +176 -0
- package/dist/components/PopOver/index.css +27 -0
- package/dist/components/PopOver/index.d.cts +15 -0
- package/dist/components/PopOver/index.d.ts +15 -0
- package/dist/components/PopOver/index.js +139 -0
- package/dist/components/Radio/index.cjs +257 -0
- package/dist/components/Radio/index.css +777 -0
- package/dist/components/Radio/index.d.cts +154 -0
- package/dist/components/Radio/index.d.ts +154 -0
- package/dist/components/Radio/index.js +219 -0
- package/dist/components/Select/index.cjs +1203 -0
- package/dist/components/Select/index.css +136 -0
- package/dist/components/Select/index.d.cts +44 -0
- package/dist/components/Select/index.d.ts +44 -0
- package/dist/components/Select/index.js +1165 -0
- package/dist/components/Swiper/index.cjs +144 -0
- package/dist/components/Swiper/index.d.cts +24 -0
- package/dist/components/Swiper/index.d.ts +24 -0
- package/dist/components/Swiper/index.js +128 -0
- package/dist/components/Switch/index.cjs +240 -0
- package/dist/components/Switch/index.css +780 -0
- package/dist/components/Switch/index.d.cts +131 -0
- package/dist/components/Switch/index.d.ts +131 -0
- package/dist/components/Switch/index.js +203 -0
- package/dist/components/Tab/index.cjs +122 -0
- package/dist/components/Tab/index.css +59 -0
- package/dist/components/Tab/index.d.cts +18 -0
- package/dist/components/Tab/index.d.ts +18 -0
- package/dist/components/Tab/index.js +85 -0
- package/dist/components/Table/index.cjs +384 -0
- package/dist/components/Table/index.css +4093 -0
- package/dist/components/Table/index.d.cts +174 -0
- package/dist/components/Table/index.d.ts +174 -0
- package/dist/components/Table/index.js +343 -0
- package/dist/components/TextArea/index.cjs +114 -0
- package/dist/components/TextArea/index.css +34 -0
- package/dist/components/TextArea/index.d.cts +6 -0
- package/dist/components/TextArea/index.d.ts +6 -0
- package/dist/components/TextArea/index.js +77 -0
- package/dist/components/Tooltip/index.cjs +210 -0
- package/dist/components/Tooltip/index.css +599 -0
- package/dist/components/Tooltip/index.d.cts +134 -0
- package/dist/components/Tooltip/index.d.ts +134 -0
- package/dist/components/Tooltip/index.js +173 -0
- package/dist/components/Video/index.cjs +269 -0
- package/dist/components/Video/index.css +71 -0
- package/dist/components/Video/index.d.cts +15 -0
- package/dist/components/Video/index.d.ts +15 -0
- package/dist/components/Video/index.js +232 -0
- package/dist/components/index.cjs +3221 -0
- package/dist/components/index.css +9972 -0
- package/dist/components/index.d.cts +23 -0
- package/dist/components/index.d.ts +23 -0
- package/dist/components/index.js +3167 -0
- package/dist/index.cjs +8216 -0
- package/dist/index.css +10087 -0
- package/dist/index.d.cts +31 -0
- package/dist/index.d.ts +31 -0
- package/dist/index.js +7855 -0
- package/dist/layout/Grid/FullGrid/index.cjs +54 -0
- package/dist/layout/Grid/FullGrid/index.css +21 -0
- package/dist/layout/Grid/FullGrid/index.d.cts +9 -0
- package/dist/layout/Grid/FullGrid/index.d.ts +9 -0
- package/dist/layout/Grid/FullGrid/index.js +27 -0
- package/dist/layout/Grid/FullScreen/index.cjs +54 -0
- package/dist/layout/Grid/FullScreen/index.css +23 -0
- package/dist/layout/Grid/FullScreen/index.d.cts +9 -0
- package/dist/layout/Grid/FullScreen/index.d.ts +9 -0
- package/dist/layout/Grid/FullScreen/index.js +27 -0
- package/dist/layout/Grid/GapGrid/index.cjs +32 -0
- package/dist/layout/Grid/GapGrid/index.d.cts +12 -0
- package/dist/layout/Grid/GapGrid/index.d.ts +12 -0
- package/dist/layout/Grid/GapGrid/index.js +11 -0
- package/dist/layout/Grid/Item/index.cjs +71 -0
- package/dist/layout/Grid/Item/index.css +19 -0
- package/dist/layout/Grid/Item/index.d.cts +20 -0
- package/dist/layout/Grid/Item/index.d.ts +20 -0
- package/dist/layout/Grid/Item/index.js +44 -0
- package/dist/layout/Grid/index.cjs +95 -0
- package/dist/layout/Grid/index.css +65 -0
- package/dist/layout/Grid/index.d.cts +5 -0
- package/dist/layout/Grid/index.d.ts +5 -0
- package/dist/layout/Grid/index.js +65 -0
- package/dist/layout/Header/index.cjs +45 -0
- package/dist/layout/Header/index.css +11 -0
- package/dist/layout/Header/index.d.cts +10 -0
- package/dist/layout/Header/index.d.ts +10 -0
- package/dist/layout/Header/index.js +18 -0
- package/dist/layout/Layout/index.cjs +44 -0
- package/dist/layout/Layout/index.css +23 -0
- package/dist/layout/Layout/index.d.cts +15 -0
- package/dist/layout/Layout/index.d.ts +15 -0
- package/dist/layout/Layout/index.js +17 -0
- package/dist/layout/SideBar/index.cjs +101 -0
- package/dist/layout/SideBar/index.css +10 -0
- package/dist/layout/SideBar/index.d.cts +16 -0
- package/dist/layout/SideBar/index.d.ts +16 -0
- package/dist/layout/SideBar/index.js +62 -0
- package/dist/layout/index.cjs +188 -0
- package/dist/layout/index.css +112 -0
- package/dist/layout/index.d.cts +8 -0
- package/dist/layout/index.d.ts +8 -0
- package/dist/layout/index.js +143 -0
- package/dist/tokens/index.cjs +6225 -0
- package/dist/tokens/index.d.cts +593 -0
- package/dist/tokens/index.d.ts +593 -0
- package/dist/tokens/index.js +5900 -0
- package/package.json +86 -0
|
@@ -0,0 +1,269 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
+
};
|
|
12
|
+
var __copyProps = (to, from, except, desc) => {
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
+
mod
|
|
27
|
+
));
|
|
28
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
+
|
|
30
|
+
// src/components/Video/index.ts
|
|
31
|
+
var Video_exports = {};
|
|
32
|
+
__export(Video_exports, {
|
|
33
|
+
Video: () => Video_default
|
|
34
|
+
});
|
|
35
|
+
module.exports = __toCommonJS(Video_exports);
|
|
36
|
+
|
|
37
|
+
// src/components/Video/Video.tsx
|
|
38
|
+
var import_react = __toESM(require("react"), 1);
|
|
39
|
+
|
|
40
|
+
// src/tokens/svg/media/AirplayIcon.tsx
|
|
41
|
+
var import_jsx_runtime = require("react/jsx-runtime");
|
|
42
|
+
|
|
43
|
+
// src/tokens/svg/media/CameraIcon.tsx
|
|
44
|
+
var import_jsx_runtime2 = require("react/jsx-runtime");
|
|
45
|
+
|
|
46
|
+
// src/tokens/svg/media/CameraOffIcon.tsx
|
|
47
|
+
var import_jsx_runtime3 = require("react/jsx-runtime");
|
|
48
|
+
|
|
49
|
+
// src/tokens/svg/media/CastIcon.tsx
|
|
50
|
+
var import_jsx_runtime4 = require("react/jsx-runtime");
|
|
51
|
+
|
|
52
|
+
// src/tokens/svg/media/DiscIcon.tsx
|
|
53
|
+
var import_jsx_runtime5 = require("react/jsx-runtime");
|
|
54
|
+
|
|
55
|
+
// src/tokens/svg/media/FastForwardIcon.tsx
|
|
56
|
+
var import_jsx_runtime6 = require("react/jsx-runtime");
|
|
57
|
+
|
|
58
|
+
// src/tokens/svg/media/FilmIcon.tsx
|
|
59
|
+
var import_jsx_runtime7 = require("react/jsx-runtime");
|
|
60
|
+
|
|
61
|
+
// src/tokens/svg/media/HeadphonesIcon.tsx
|
|
62
|
+
var import_jsx_runtime8 = require("react/jsx-runtime");
|
|
63
|
+
|
|
64
|
+
// src/tokens/svg/media/ImageIcon.tsx
|
|
65
|
+
var import_jsx_runtime9 = require("react/jsx-runtime");
|
|
66
|
+
|
|
67
|
+
// src/tokens/svg/media/MicIcon.tsx
|
|
68
|
+
var import_jsx_runtime10 = require("react/jsx-runtime");
|
|
69
|
+
|
|
70
|
+
// src/tokens/svg/media/MicOffIcon.tsx
|
|
71
|
+
var import_jsx_runtime11 = require("react/jsx-runtime");
|
|
72
|
+
|
|
73
|
+
// src/tokens/svg/media/MusicIcon.tsx
|
|
74
|
+
var import_jsx_runtime12 = require("react/jsx-runtime");
|
|
75
|
+
|
|
76
|
+
// src/tokens/svg/media/PauseCircleIcon.tsx
|
|
77
|
+
var import_jsx_runtime13 = require("react/jsx-runtime");
|
|
78
|
+
|
|
79
|
+
// src/tokens/svg/media/PauseIcon.tsx
|
|
80
|
+
var import_jsx_runtime14 = require("react/jsx-runtime");
|
|
81
|
+
var PauseIcon = () => /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)(
|
|
82
|
+
"svg",
|
|
83
|
+
{
|
|
84
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
85
|
+
width: "1em",
|
|
86
|
+
height: "1em",
|
|
87
|
+
viewBox: "0 0 20 20",
|
|
88
|
+
fill: "none",
|
|
89
|
+
children: [
|
|
90
|
+
/* @__PURE__ */ (0, import_jsx_runtime14.jsx)("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M8.33301 2.58301C8.74714 2.58301 9.08288 2.91891 9.08301 3.33301V16.666C9.08301 17.0802 8.74722 17.416 8.33301 17.416H5C4.58579 17.416 4.25 17.0802 4.25 16.666V3.33301C4.25013 2.91891 4.58587 2.58301 5 2.58301H8.33301ZM5.75 15.916H7.58301V4.08301H5.75V15.916Z", fill: "currentColor" }),
|
|
91
|
+
/* @__PURE__ */ (0, import_jsx_runtime14.jsx)("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M15 2.58301C15.4139 2.58327 15.7499 2.91907 15.75 3.33301V16.666C15.75 17.0801 15.414 17.4158 15 17.416H11.667C11.2528 17.416 10.917 17.0802 10.917 16.666V3.33301C10.9171 2.91891 11.2529 2.58301 11.667 2.58301H15ZM12.417 15.916H14.25V4.08301H12.417V15.916Z", fill: "currentColor" })
|
|
92
|
+
]
|
|
93
|
+
}
|
|
94
|
+
);
|
|
95
|
+
var PauseIcon_default = PauseIcon;
|
|
96
|
+
|
|
97
|
+
// src/tokens/svg/media/PlayCircleIcon.tsx
|
|
98
|
+
var import_jsx_runtime15 = require("react/jsx-runtime");
|
|
99
|
+
var PlayCircleIcon = () => /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(
|
|
100
|
+
"svg",
|
|
101
|
+
{
|
|
102
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
103
|
+
width: "1em",
|
|
104
|
+
height: "1em",
|
|
105
|
+
viewBox: "0 0 20 20",
|
|
106
|
+
fill: "none",
|
|
107
|
+
children: [
|
|
108
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("g", { clipPath: "url(#playcircle-clip)", children: [
|
|
109
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M7.98047 6.00586C8.22424 5.87564 8.52002 5.88965 8.75 6.04297L13.75 9.37598C13.9583 9.51505 14.0839 9.74954 14.084 10C14.0839 10.2505 13.9584 10.4849 13.75 10.624L8.75 13.958C8.52015 14.1112 8.22412 14.1251 7.98047 13.9951C7.73677 13.8647 7.58419 13.6104 7.58398 13.334V6.66699L7.59082 6.56445C7.6233 6.32874 7.7671 6.12005 7.98047 6.00586ZM9.08398 11.9316L11.9814 10L9.08398 8.06738V11.9316Z", fill: "currentColor" }),
|
|
110
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M10 0.916992C15.0163 0.917256 19.0838 4.98373 19.084 10C19.0839 15.0163 15.0163 19.0837 10 19.084C4.98364 19.0838 0.916148 15.0164 0.916016 10C0.916191 4.98367 4.98367 0.917168 10 0.916992ZM10 2.41699C5.8121 2.41717 2.41717 5.8121 2.41699 10C2.41712 14.1879 5.81207 17.5838 10 17.584C14.1879 17.5837 17.5839 14.1879 17.584 10C17.5838 5.81215 14.1878 2.41726 10 2.41699Z", fill: "currentColor" })
|
|
111
|
+
] }),
|
|
112
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)("defs", { children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("clipPath", { id: "playcircle-clip", children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("rect", { width: "20", height: "20", fill: "currentColor" }) }) })
|
|
113
|
+
]
|
|
114
|
+
}
|
|
115
|
+
);
|
|
116
|
+
var PlayCircleIcon_default = PlayCircleIcon;
|
|
117
|
+
|
|
118
|
+
// src/tokens/svg/media/PlayIcon.tsx
|
|
119
|
+
var import_jsx_runtime16 = require("react/jsx-runtime");
|
|
120
|
+
|
|
121
|
+
// src/tokens/svg/media/RepeatIcon.tsx
|
|
122
|
+
var import_jsx_runtime17 = require("react/jsx-runtime");
|
|
123
|
+
|
|
124
|
+
// src/tokens/svg/media/RewindIcon.tsx
|
|
125
|
+
var import_jsx_runtime18 = require("react/jsx-runtime");
|
|
126
|
+
|
|
127
|
+
// src/tokens/svg/media/SkipBackIcon.tsx
|
|
128
|
+
var import_jsx_runtime19 = require("react/jsx-runtime");
|
|
129
|
+
|
|
130
|
+
// src/tokens/svg/media/SkipForwardIcon.tsx
|
|
131
|
+
var import_jsx_runtime20 = require("react/jsx-runtime");
|
|
132
|
+
|
|
133
|
+
// src/tokens/svg/media/SpeakerIcon.tsx
|
|
134
|
+
var import_jsx_runtime21 = require("react/jsx-runtime");
|
|
135
|
+
|
|
136
|
+
// src/tokens/svg/media/StopCircleIcon.tsx
|
|
137
|
+
var import_jsx_runtime22 = require("react/jsx-runtime");
|
|
138
|
+
|
|
139
|
+
// src/tokens/svg/media/VideoIcon.tsx
|
|
140
|
+
var import_jsx_runtime23 = require("react/jsx-runtime");
|
|
141
|
+
|
|
142
|
+
// src/tokens/svg/media/VideoOffIcon.tsx
|
|
143
|
+
var import_jsx_runtime24 = require("react/jsx-runtime");
|
|
144
|
+
|
|
145
|
+
// src/tokens/svg/media/Volume1Icon.tsx
|
|
146
|
+
var import_jsx_runtime25 = require("react/jsx-runtime");
|
|
147
|
+
|
|
148
|
+
// src/tokens/svg/media/Volume2Icon.tsx
|
|
149
|
+
var import_jsx_runtime26 = require("react/jsx-runtime");
|
|
150
|
+
|
|
151
|
+
// src/tokens/svg/media/VolumeIcon.tsx
|
|
152
|
+
var import_jsx_runtime27 = require("react/jsx-runtime");
|
|
153
|
+
|
|
154
|
+
// src/tokens/svg/media/VolumeXIcon.tsx
|
|
155
|
+
var import_jsx_runtime28 = require("react/jsx-runtime");
|
|
156
|
+
|
|
157
|
+
// node_modules/clsx/dist/clsx.mjs
|
|
158
|
+
function r(e) {
|
|
159
|
+
var t, f, n = "";
|
|
160
|
+
if ("string" == typeof e || "number" == typeof e) n += e;
|
|
161
|
+
else if ("object" == typeof e) if (Array.isArray(e)) {
|
|
162
|
+
var o = e.length;
|
|
163
|
+
for (t = 0; t < o; t++) e[t] && (f = r(e[t])) && (n && (n += " "), n += f);
|
|
164
|
+
} else for (f in e) e[f] && (n && (n += " "), n += f);
|
|
165
|
+
return n;
|
|
166
|
+
}
|
|
167
|
+
function clsx() {
|
|
168
|
+
for (var e, t, f = 0, n = "", o = arguments.length; f < o; f++) (e = arguments[f]) && (t = r(e)) && (n && (n += " "), n += t);
|
|
169
|
+
return n;
|
|
170
|
+
}
|
|
171
|
+
var clsx_default = clsx;
|
|
172
|
+
|
|
173
|
+
// src/components/Video/Video.tsx
|
|
174
|
+
var import_jsx_runtime29 = require("react/jsx-runtime");
|
|
175
|
+
var Video = import_react.default.forwardRef((props, ref) => {
|
|
176
|
+
const {
|
|
177
|
+
src,
|
|
178
|
+
poster,
|
|
179
|
+
controls = true,
|
|
180
|
+
autoPlay,
|
|
181
|
+
muted,
|
|
182
|
+
loop,
|
|
183
|
+
playsInline,
|
|
184
|
+
className,
|
|
185
|
+
onPlay,
|
|
186
|
+
onPause,
|
|
187
|
+
...rest
|
|
188
|
+
} = props;
|
|
189
|
+
const videoRef = import_react.default.useRef(null);
|
|
190
|
+
const [isPlaying, setIsPlaying] = import_react.default.useState(Boolean(autoPlay));
|
|
191
|
+
const [isLoaded, setIsLoaded] = import_react.default.useState(false);
|
|
192
|
+
const setRefs = import_react.default.useCallback(
|
|
193
|
+
(el) => {
|
|
194
|
+
videoRef.current = el;
|
|
195
|
+
if (typeof ref === "function") ref(el);
|
|
196
|
+
else if (ref) ref.current = el;
|
|
197
|
+
},
|
|
198
|
+
[ref]
|
|
199
|
+
);
|
|
200
|
+
const handlePlay = (e) => {
|
|
201
|
+
setIsPlaying(true);
|
|
202
|
+
onPlay?.(e);
|
|
203
|
+
};
|
|
204
|
+
const handlePause = (e) => {
|
|
205
|
+
setIsPlaying(false);
|
|
206
|
+
onPause?.(e);
|
|
207
|
+
};
|
|
208
|
+
const handleLoadedData = () => {
|
|
209
|
+
setIsLoaded(true);
|
|
210
|
+
};
|
|
211
|
+
const togglePlay = () => {
|
|
212
|
+
if (!videoRef.current) return;
|
|
213
|
+
if (isPlaying) {
|
|
214
|
+
videoRef.current.pause();
|
|
215
|
+
} else {
|
|
216
|
+
videoRef.current.play();
|
|
217
|
+
}
|
|
218
|
+
};
|
|
219
|
+
const showCustomOverlay = !controls;
|
|
220
|
+
return /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(
|
|
221
|
+
"div",
|
|
222
|
+
{
|
|
223
|
+
className: clsx_default(
|
|
224
|
+
"lib-xplat-video",
|
|
225
|
+
showCustomOverlay && "custom-overlay",
|
|
226
|
+
className
|
|
227
|
+
),
|
|
228
|
+
children: [
|
|
229
|
+
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
|
|
230
|
+
"video",
|
|
231
|
+
{
|
|
232
|
+
ref: setRefs,
|
|
233
|
+
src,
|
|
234
|
+
poster,
|
|
235
|
+
controls,
|
|
236
|
+
autoPlay,
|
|
237
|
+
muted,
|
|
238
|
+
loop,
|
|
239
|
+
playsInline: playsInline ?? true,
|
|
240
|
+
onPlay: handlePlay,
|
|
241
|
+
onPause: handlePause,
|
|
242
|
+
onLoadedData: handleLoadedData,
|
|
243
|
+
...rest
|
|
244
|
+
}
|
|
245
|
+
),
|
|
246
|
+
showCustomOverlay && /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
|
|
247
|
+
"button",
|
|
248
|
+
{
|
|
249
|
+
type: "button",
|
|
250
|
+
className: clsx_default(
|
|
251
|
+
"play-overlay",
|
|
252
|
+
isPlaying && "is-playing",
|
|
253
|
+
!isLoaded && "is-loading"
|
|
254
|
+
),
|
|
255
|
+
onClick: togglePlay,
|
|
256
|
+
"aria-label": isPlaying ? "\uC77C\uC2DC\uC815\uC9C0" : "\uC7AC\uC0DD",
|
|
257
|
+
children: isPlaying ? /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(PauseIcon_default, {}) : /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("span", { className: "play-icon", children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(PlayCircleIcon_default, {}) })
|
|
258
|
+
}
|
|
259
|
+
)
|
|
260
|
+
]
|
|
261
|
+
}
|
|
262
|
+
);
|
|
263
|
+
});
|
|
264
|
+
Video.displayName = "Video";
|
|
265
|
+
var Video_default = Video;
|
|
266
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
267
|
+
0 && (module.exports = {
|
|
268
|
+
Video
|
|
269
|
+
});
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
/* src/components/Video/video.scss */
|
|
2
|
+
.lib-xplat-video {
|
|
3
|
+
position: relative;
|
|
4
|
+
width: 100%;
|
|
5
|
+
border-radius: 0.25rem;
|
|
6
|
+
overflow: hidden;
|
|
7
|
+
background-color: #171717;
|
|
8
|
+
}
|
|
9
|
+
.lib-xplat-video > video {
|
|
10
|
+
display: block;
|
|
11
|
+
width: 100%;
|
|
12
|
+
height: 100%;
|
|
13
|
+
max-height: 100%;
|
|
14
|
+
object-fit: contain;
|
|
15
|
+
vertical-align: middle;
|
|
16
|
+
}
|
|
17
|
+
.lib-xplat-video.custom-overlay > video {
|
|
18
|
+
cursor: pointer;
|
|
19
|
+
}
|
|
20
|
+
.lib-xplat-video.custom-overlay > .play-overlay {
|
|
21
|
+
position: absolute;
|
|
22
|
+
top: 0;
|
|
23
|
+
left: 0;
|
|
24
|
+
right: 0;
|
|
25
|
+
bottom: 0;
|
|
26
|
+
display: flex;
|
|
27
|
+
align-items: center;
|
|
28
|
+
justify-content: center;
|
|
29
|
+
border: none;
|
|
30
|
+
background: transparent;
|
|
31
|
+
cursor: pointer;
|
|
32
|
+
padding: 0;
|
|
33
|
+
color: #FFFFFF;
|
|
34
|
+
transition: opacity 0.2s ease, background-color 0.2s ease;
|
|
35
|
+
}
|
|
36
|
+
.lib-xplat-video.custom-overlay > .play-overlay::before {
|
|
37
|
+
content: "";
|
|
38
|
+
position: absolute;
|
|
39
|
+
inset: 0;
|
|
40
|
+
background-color: rgba(0, 0, 0, 0.2);
|
|
41
|
+
opacity: 0;
|
|
42
|
+
transition: opacity 0.2s ease;
|
|
43
|
+
}
|
|
44
|
+
.lib-xplat-video.custom-overlay > .play-overlay:hover::before,
|
|
45
|
+
.lib-xplat-video.custom-overlay > .play-overlay:focus-visible::before {
|
|
46
|
+
opacity: 1;
|
|
47
|
+
}
|
|
48
|
+
.lib-xplat-video.custom-overlay > .play-overlay:focus-visible {
|
|
49
|
+
outline: 2px solid #4D6DE3;
|
|
50
|
+
outline-offset: 2px;
|
|
51
|
+
}
|
|
52
|
+
.lib-xplat-video.custom-overlay > .play-overlay > .play-icon {
|
|
53
|
+
position: relative;
|
|
54
|
+
z-index: 1;
|
|
55
|
+
display: flex;
|
|
56
|
+
align-items: center;
|
|
57
|
+
justify-content: center;
|
|
58
|
+
font-size: 4rem;
|
|
59
|
+
filter: drop-shadow(0 2px 8px rgba(0, 0, 0, 0.4));
|
|
60
|
+
}
|
|
61
|
+
.lib-xplat-video.custom-overlay > .play-overlay.is-playing {
|
|
62
|
+
opacity: 0;
|
|
63
|
+
pointer-events: none;
|
|
64
|
+
}
|
|
65
|
+
.lib-xplat-video.custom-overlay > .play-overlay.is-playing:hover {
|
|
66
|
+
opacity: 1;
|
|
67
|
+
pointer-events: auto;
|
|
68
|
+
}
|
|
69
|
+
.lib-xplat-video.custom-overlay > .play-overlay.is-loading .play-icon {
|
|
70
|
+
opacity: 0.6;
|
|
71
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
|
|
3
|
+
interface VideoProps extends Omit<React.VideoHTMLAttributes<HTMLVideoElement>, "children" | "className"> {
|
|
4
|
+
/** 비디오 소스 URL */
|
|
5
|
+
src: string;
|
|
6
|
+
/** 재생 전 썸네일 이미지 URL */
|
|
7
|
+
poster?: string;
|
|
8
|
+
/** 네이티브 컨트롤 표시 여부. false면 커스텀 재생/일시정지 오버레이만 표시 */
|
|
9
|
+
controls?: boolean;
|
|
10
|
+
/** 추가 스타일링용 클래스 */
|
|
11
|
+
className?: string;
|
|
12
|
+
}
|
|
13
|
+
declare const Video: React.ForwardRefExoticComponent<VideoProps & React.RefAttributes<HTMLVideoElement>>;
|
|
14
|
+
|
|
15
|
+
export { Video, type VideoProps };
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
|
|
3
|
+
interface VideoProps extends Omit<React.VideoHTMLAttributes<HTMLVideoElement>, "children" | "className"> {
|
|
4
|
+
/** 비디오 소스 URL */
|
|
5
|
+
src: string;
|
|
6
|
+
/** 재생 전 썸네일 이미지 URL */
|
|
7
|
+
poster?: string;
|
|
8
|
+
/** 네이티브 컨트롤 표시 여부. false면 커스텀 재생/일시정지 오버레이만 표시 */
|
|
9
|
+
controls?: boolean;
|
|
10
|
+
/** 추가 스타일링용 클래스 */
|
|
11
|
+
className?: string;
|
|
12
|
+
}
|
|
13
|
+
declare const Video: React.ForwardRefExoticComponent<VideoProps & React.RefAttributes<HTMLVideoElement>>;
|
|
14
|
+
|
|
15
|
+
export { Video, type VideoProps };
|
|
@@ -0,0 +1,232 @@
|
|
|
1
|
+
// src/components/Video/Video.tsx
|
|
2
|
+
import React from "react";
|
|
3
|
+
|
|
4
|
+
// src/tokens/svg/media/AirplayIcon.tsx
|
|
5
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
6
|
+
|
|
7
|
+
// src/tokens/svg/media/CameraIcon.tsx
|
|
8
|
+
import { jsx as jsx2, jsxs as jsxs2 } from "react/jsx-runtime";
|
|
9
|
+
|
|
10
|
+
// src/tokens/svg/media/CameraOffIcon.tsx
|
|
11
|
+
import { jsx as jsx3, jsxs as jsxs3 } from "react/jsx-runtime";
|
|
12
|
+
|
|
13
|
+
// src/tokens/svg/media/CastIcon.tsx
|
|
14
|
+
import { jsx as jsx4, jsxs as jsxs4 } from "react/jsx-runtime";
|
|
15
|
+
|
|
16
|
+
// src/tokens/svg/media/DiscIcon.tsx
|
|
17
|
+
import { jsx as jsx5, jsxs as jsxs5 } from "react/jsx-runtime";
|
|
18
|
+
|
|
19
|
+
// src/tokens/svg/media/FastForwardIcon.tsx
|
|
20
|
+
import { jsx as jsx6, jsxs as jsxs6 } from "react/jsx-runtime";
|
|
21
|
+
|
|
22
|
+
// src/tokens/svg/media/FilmIcon.tsx
|
|
23
|
+
import { jsx as jsx7, jsxs as jsxs7 } from "react/jsx-runtime";
|
|
24
|
+
|
|
25
|
+
// src/tokens/svg/media/HeadphonesIcon.tsx
|
|
26
|
+
import { jsx as jsx8 } from "react/jsx-runtime";
|
|
27
|
+
|
|
28
|
+
// src/tokens/svg/media/ImageIcon.tsx
|
|
29
|
+
import { jsx as jsx9, jsxs as jsxs8 } from "react/jsx-runtime";
|
|
30
|
+
|
|
31
|
+
// src/tokens/svg/media/MicIcon.tsx
|
|
32
|
+
import { jsx as jsx10, jsxs as jsxs9 } from "react/jsx-runtime";
|
|
33
|
+
|
|
34
|
+
// src/tokens/svg/media/MicOffIcon.tsx
|
|
35
|
+
import { jsx as jsx11, jsxs as jsxs10 } from "react/jsx-runtime";
|
|
36
|
+
|
|
37
|
+
// src/tokens/svg/media/MusicIcon.tsx
|
|
38
|
+
import { jsx as jsx12 } from "react/jsx-runtime";
|
|
39
|
+
|
|
40
|
+
// src/tokens/svg/media/PauseCircleIcon.tsx
|
|
41
|
+
import { jsx as jsx13, jsxs as jsxs11 } from "react/jsx-runtime";
|
|
42
|
+
|
|
43
|
+
// src/tokens/svg/media/PauseIcon.tsx
|
|
44
|
+
import { jsx as jsx14, jsxs as jsxs12 } from "react/jsx-runtime";
|
|
45
|
+
var PauseIcon = () => /* @__PURE__ */ jsxs12(
|
|
46
|
+
"svg",
|
|
47
|
+
{
|
|
48
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
49
|
+
width: "1em",
|
|
50
|
+
height: "1em",
|
|
51
|
+
viewBox: "0 0 20 20",
|
|
52
|
+
fill: "none",
|
|
53
|
+
children: [
|
|
54
|
+
/* @__PURE__ */ jsx14("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M8.33301 2.58301C8.74714 2.58301 9.08288 2.91891 9.08301 3.33301V16.666C9.08301 17.0802 8.74722 17.416 8.33301 17.416H5C4.58579 17.416 4.25 17.0802 4.25 16.666V3.33301C4.25013 2.91891 4.58587 2.58301 5 2.58301H8.33301ZM5.75 15.916H7.58301V4.08301H5.75V15.916Z", fill: "currentColor" }),
|
|
55
|
+
/* @__PURE__ */ jsx14("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M15 2.58301C15.4139 2.58327 15.7499 2.91907 15.75 3.33301V16.666C15.75 17.0801 15.414 17.4158 15 17.416H11.667C11.2528 17.416 10.917 17.0802 10.917 16.666V3.33301C10.9171 2.91891 11.2529 2.58301 11.667 2.58301H15ZM12.417 15.916H14.25V4.08301H12.417V15.916Z", fill: "currentColor" })
|
|
56
|
+
]
|
|
57
|
+
}
|
|
58
|
+
);
|
|
59
|
+
var PauseIcon_default = PauseIcon;
|
|
60
|
+
|
|
61
|
+
// src/tokens/svg/media/PlayCircleIcon.tsx
|
|
62
|
+
import { jsx as jsx15, jsxs as jsxs13 } from "react/jsx-runtime";
|
|
63
|
+
var PlayCircleIcon = () => /* @__PURE__ */ jsxs13(
|
|
64
|
+
"svg",
|
|
65
|
+
{
|
|
66
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
67
|
+
width: "1em",
|
|
68
|
+
height: "1em",
|
|
69
|
+
viewBox: "0 0 20 20",
|
|
70
|
+
fill: "none",
|
|
71
|
+
children: [
|
|
72
|
+
/* @__PURE__ */ jsxs13("g", { clipPath: "url(#playcircle-clip)", children: [
|
|
73
|
+
/* @__PURE__ */ jsx15("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M7.98047 6.00586C8.22424 5.87564 8.52002 5.88965 8.75 6.04297L13.75 9.37598C13.9583 9.51505 14.0839 9.74954 14.084 10C14.0839 10.2505 13.9584 10.4849 13.75 10.624L8.75 13.958C8.52015 14.1112 8.22412 14.1251 7.98047 13.9951C7.73677 13.8647 7.58419 13.6104 7.58398 13.334V6.66699L7.59082 6.56445C7.6233 6.32874 7.7671 6.12005 7.98047 6.00586ZM9.08398 11.9316L11.9814 10L9.08398 8.06738V11.9316Z", fill: "currentColor" }),
|
|
74
|
+
/* @__PURE__ */ jsx15("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M10 0.916992C15.0163 0.917256 19.0838 4.98373 19.084 10C19.0839 15.0163 15.0163 19.0837 10 19.084C4.98364 19.0838 0.916148 15.0164 0.916016 10C0.916191 4.98367 4.98367 0.917168 10 0.916992ZM10 2.41699C5.8121 2.41717 2.41717 5.8121 2.41699 10C2.41712 14.1879 5.81207 17.5838 10 17.584C14.1879 17.5837 17.5839 14.1879 17.584 10C17.5838 5.81215 14.1878 2.41726 10 2.41699Z", fill: "currentColor" })
|
|
75
|
+
] }),
|
|
76
|
+
/* @__PURE__ */ jsx15("defs", { children: /* @__PURE__ */ jsx15("clipPath", { id: "playcircle-clip", children: /* @__PURE__ */ jsx15("rect", { width: "20", height: "20", fill: "currentColor" }) }) })
|
|
77
|
+
]
|
|
78
|
+
}
|
|
79
|
+
);
|
|
80
|
+
var PlayCircleIcon_default = PlayCircleIcon;
|
|
81
|
+
|
|
82
|
+
// src/tokens/svg/media/PlayIcon.tsx
|
|
83
|
+
import { jsx as jsx16 } from "react/jsx-runtime";
|
|
84
|
+
|
|
85
|
+
// src/tokens/svg/media/RepeatIcon.tsx
|
|
86
|
+
import { jsx as jsx17, jsxs as jsxs14 } from "react/jsx-runtime";
|
|
87
|
+
|
|
88
|
+
// src/tokens/svg/media/RewindIcon.tsx
|
|
89
|
+
import { jsx as jsx18, jsxs as jsxs15 } from "react/jsx-runtime";
|
|
90
|
+
|
|
91
|
+
// src/tokens/svg/media/SkipBackIcon.tsx
|
|
92
|
+
import { jsx as jsx19, jsxs as jsxs16 } from "react/jsx-runtime";
|
|
93
|
+
|
|
94
|
+
// src/tokens/svg/media/SkipForwardIcon.tsx
|
|
95
|
+
import { jsx as jsx20, jsxs as jsxs17 } from "react/jsx-runtime";
|
|
96
|
+
|
|
97
|
+
// src/tokens/svg/media/SpeakerIcon.tsx
|
|
98
|
+
import { jsx as jsx21, jsxs as jsxs18 } from "react/jsx-runtime";
|
|
99
|
+
|
|
100
|
+
// src/tokens/svg/media/StopCircleIcon.tsx
|
|
101
|
+
import { jsx as jsx22, jsxs as jsxs19 } from "react/jsx-runtime";
|
|
102
|
+
|
|
103
|
+
// src/tokens/svg/media/VideoIcon.tsx
|
|
104
|
+
import { jsx as jsx23 } from "react/jsx-runtime";
|
|
105
|
+
|
|
106
|
+
// src/tokens/svg/media/VideoOffIcon.tsx
|
|
107
|
+
import { jsx as jsx24, jsxs as jsxs20 } from "react/jsx-runtime";
|
|
108
|
+
|
|
109
|
+
// src/tokens/svg/media/Volume1Icon.tsx
|
|
110
|
+
import { jsx as jsx25, jsxs as jsxs21 } from "react/jsx-runtime";
|
|
111
|
+
|
|
112
|
+
// src/tokens/svg/media/Volume2Icon.tsx
|
|
113
|
+
import { jsx as jsx26, jsxs as jsxs22 } from "react/jsx-runtime";
|
|
114
|
+
|
|
115
|
+
// src/tokens/svg/media/VolumeIcon.tsx
|
|
116
|
+
import { jsx as jsx27 } from "react/jsx-runtime";
|
|
117
|
+
|
|
118
|
+
// src/tokens/svg/media/VolumeXIcon.tsx
|
|
119
|
+
import { jsx as jsx28, jsxs as jsxs23 } from "react/jsx-runtime";
|
|
120
|
+
|
|
121
|
+
// node_modules/clsx/dist/clsx.mjs
|
|
122
|
+
function r(e) {
|
|
123
|
+
var t, f, n = "";
|
|
124
|
+
if ("string" == typeof e || "number" == typeof e) n += e;
|
|
125
|
+
else if ("object" == typeof e) if (Array.isArray(e)) {
|
|
126
|
+
var o = e.length;
|
|
127
|
+
for (t = 0; t < o; t++) e[t] && (f = r(e[t])) && (n && (n += " "), n += f);
|
|
128
|
+
} else for (f in e) e[f] && (n && (n += " "), n += f);
|
|
129
|
+
return n;
|
|
130
|
+
}
|
|
131
|
+
function clsx() {
|
|
132
|
+
for (var e, t, f = 0, n = "", o = arguments.length; f < o; f++) (e = arguments[f]) && (t = r(e)) && (n && (n += " "), n += t);
|
|
133
|
+
return n;
|
|
134
|
+
}
|
|
135
|
+
var clsx_default = clsx;
|
|
136
|
+
|
|
137
|
+
// src/components/Video/Video.tsx
|
|
138
|
+
import { jsx as jsx29, jsxs as jsxs24 } from "react/jsx-runtime";
|
|
139
|
+
var Video = React.forwardRef((props, ref) => {
|
|
140
|
+
const {
|
|
141
|
+
src,
|
|
142
|
+
poster,
|
|
143
|
+
controls = true,
|
|
144
|
+
autoPlay,
|
|
145
|
+
muted,
|
|
146
|
+
loop,
|
|
147
|
+
playsInline,
|
|
148
|
+
className,
|
|
149
|
+
onPlay,
|
|
150
|
+
onPause,
|
|
151
|
+
...rest
|
|
152
|
+
} = props;
|
|
153
|
+
const videoRef = React.useRef(null);
|
|
154
|
+
const [isPlaying, setIsPlaying] = React.useState(Boolean(autoPlay));
|
|
155
|
+
const [isLoaded, setIsLoaded] = React.useState(false);
|
|
156
|
+
const setRefs = React.useCallback(
|
|
157
|
+
(el) => {
|
|
158
|
+
videoRef.current = el;
|
|
159
|
+
if (typeof ref === "function") ref(el);
|
|
160
|
+
else if (ref) ref.current = el;
|
|
161
|
+
},
|
|
162
|
+
[ref]
|
|
163
|
+
);
|
|
164
|
+
const handlePlay = (e) => {
|
|
165
|
+
setIsPlaying(true);
|
|
166
|
+
onPlay?.(e);
|
|
167
|
+
};
|
|
168
|
+
const handlePause = (e) => {
|
|
169
|
+
setIsPlaying(false);
|
|
170
|
+
onPause?.(e);
|
|
171
|
+
};
|
|
172
|
+
const handleLoadedData = () => {
|
|
173
|
+
setIsLoaded(true);
|
|
174
|
+
};
|
|
175
|
+
const togglePlay = () => {
|
|
176
|
+
if (!videoRef.current) return;
|
|
177
|
+
if (isPlaying) {
|
|
178
|
+
videoRef.current.pause();
|
|
179
|
+
} else {
|
|
180
|
+
videoRef.current.play();
|
|
181
|
+
}
|
|
182
|
+
};
|
|
183
|
+
const showCustomOverlay = !controls;
|
|
184
|
+
return /* @__PURE__ */ jsxs24(
|
|
185
|
+
"div",
|
|
186
|
+
{
|
|
187
|
+
className: clsx_default(
|
|
188
|
+
"lib-xplat-video",
|
|
189
|
+
showCustomOverlay && "custom-overlay",
|
|
190
|
+
className
|
|
191
|
+
),
|
|
192
|
+
children: [
|
|
193
|
+
/* @__PURE__ */ jsx29(
|
|
194
|
+
"video",
|
|
195
|
+
{
|
|
196
|
+
ref: setRefs,
|
|
197
|
+
src,
|
|
198
|
+
poster,
|
|
199
|
+
controls,
|
|
200
|
+
autoPlay,
|
|
201
|
+
muted,
|
|
202
|
+
loop,
|
|
203
|
+
playsInline: playsInline ?? true,
|
|
204
|
+
onPlay: handlePlay,
|
|
205
|
+
onPause: handlePause,
|
|
206
|
+
onLoadedData: handleLoadedData,
|
|
207
|
+
...rest
|
|
208
|
+
}
|
|
209
|
+
),
|
|
210
|
+
showCustomOverlay && /* @__PURE__ */ jsx29(
|
|
211
|
+
"button",
|
|
212
|
+
{
|
|
213
|
+
type: "button",
|
|
214
|
+
className: clsx_default(
|
|
215
|
+
"play-overlay",
|
|
216
|
+
isPlaying && "is-playing",
|
|
217
|
+
!isLoaded && "is-loading"
|
|
218
|
+
),
|
|
219
|
+
onClick: togglePlay,
|
|
220
|
+
"aria-label": isPlaying ? "\uC77C\uC2DC\uC815\uC9C0" : "\uC7AC\uC0DD",
|
|
221
|
+
children: isPlaying ? /* @__PURE__ */ jsx29(PauseIcon_default, {}) : /* @__PURE__ */ jsx29("span", { className: "play-icon", children: /* @__PURE__ */ jsx29(PlayCircleIcon_default, {}) })
|
|
222
|
+
}
|
|
223
|
+
)
|
|
224
|
+
]
|
|
225
|
+
}
|
|
226
|
+
);
|
|
227
|
+
});
|
|
228
|
+
Video.displayName = "Video";
|
|
229
|
+
var Video_default = Video;
|
|
230
|
+
export {
|
|
231
|
+
Video_default as Video
|
|
232
|
+
};
|