@evercam/ui 0.0.20 → 0.0.22
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 +47 -47
- package/dist/attributes.json +12 -0
- package/dist/index.mjs +1224 -870
- package/dist/index.mjs.map +1 -1
- package/dist/index.umd.js +1 -1
- package/dist/index.umd.js.map +1 -1
- package/dist/src/components/EVideoPlayer.vue.d.ts +63 -0
- package/dist/src/constants.d.ts +1 -0
- package/dist/src/index.d.ts +59 -1
- package/dist/src/utils.d.ts +3 -0
- package/dist/style.css +1 -1
- package/dist/styles.css +3101 -3101
- package/dist/tags.json +8 -0
- package/dist/web-types.json +39 -1
- package/package.json +70 -70
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import Vue from "vue";
|
|
2
|
+
export type IVideoSources = string | {
|
|
3
|
+
type: string;
|
|
4
|
+
src: string;
|
|
5
|
+
}[];
|
|
6
|
+
export declare const VIDEO_PLAYER_EVENTS: string[];
|
|
7
|
+
declare const _default: import("vue/types/vue").ExtendedVue<Vue<Record<string, any>, Record<string, any>, never, never, (event: string, ...args: any[]) => Vue<Record<string, any>, Record<string, any>, never, never, any>>, {
|
|
8
|
+
playing: boolean;
|
|
9
|
+
percentagePlayed: number;
|
|
10
|
+
videoMuted: boolean;
|
|
11
|
+
videoLength: string;
|
|
12
|
+
duration: number;
|
|
13
|
+
videoDuration: number;
|
|
14
|
+
currentTime: string;
|
|
15
|
+
realtime: number;
|
|
16
|
+
isScrubbing: boolean;
|
|
17
|
+
wasPaused: boolean;
|
|
18
|
+
volume: number;
|
|
19
|
+
isFullscreen: boolean;
|
|
20
|
+
isFinished: boolean;
|
|
21
|
+
isLoading: boolean;
|
|
22
|
+
playbackRate: string;
|
|
23
|
+
isMiniPlayerMode: boolean;
|
|
24
|
+
}, {
|
|
25
|
+
bindEvents(): void;
|
|
26
|
+
bindVideoEvent(which: string): void;
|
|
27
|
+
handleFullscreenChange(): void;
|
|
28
|
+
isLooped(): boolean;
|
|
29
|
+
handleEnded(): void;
|
|
30
|
+
handleLoading(): void;
|
|
31
|
+
play(): void;
|
|
32
|
+
handleVolumeChange(e: Event): void;
|
|
33
|
+
setVolume(state: number): void;
|
|
34
|
+
pause(): void;
|
|
35
|
+
togglePlay(): void;
|
|
36
|
+
setPlaying(state: boolean): void;
|
|
37
|
+
seekToPercentage(percentage: number): void;
|
|
38
|
+
convertTimeToDuration(seconds: number): string;
|
|
39
|
+
mute(): void;
|
|
40
|
+
unmute(): void;
|
|
41
|
+
toggleMute(): void;
|
|
42
|
+
setMuted(state: boolean): void;
|
|
43
|
+
closeFullscreenMode(): void;
|
|
44
|
+
openFullscreenMode(): void;
|
|
45
|
+
toggleFullscreenMode(): void;
|
|
46
|
+
toggleMiniPlayerMode(): void;
|
|
47
|
+
getDuration(): void;
|
|
48
|
+
handleTimeUpdate(): void;
|
|
49
|
+
handleTimelineUpdate(e: MouseEvent): void;
|
|
50
|
+
skip(duration?: number): void;
|
|
51
|
+
toggleScrubbing(e: MouseEvent): Promise<void>;
|
|
52
|
+
changePlaybackSpeed(): void;
|
|
53
|
+
handleKeyDown(e: KeyboardEvent): void;
|
|
54
|
+
}, {
|
|
55
|
+
hasMultipleSources: boolean;
|
|
56
|
+
hasStartedOrFinished: boolean;
|
|
57
|
+
withControls: "" | "hide";
|
|
58
|
+
}, {
|
|
59
|
+
sources: IVideoSources;
|
|
60
|
+
videoListeners: {};
|
|
61
|
+
videoOptions: {};
|
|
62
|
+
}, {}, import("vue/types/v3-component-options").ComponentOptionsMixin, import("vue/types/v3-component-options").ComponentOptionsMixin>;
|
|
63
|
+
export default _default;
|
package/dist/src/constants.d.ts
CHANGED
|
@@ -6,5 +6,6 @@ export declare const BadgeSizes: readonly [Size.dot, Size.xs, Size.sm, Size.md,
|
|
|
6
6
|
export declare const AvatarSizes: readonly [Size.xs, Size.sm, Size.md, Size.lg, Size.xl, (typeof Size)["2xl"]];
|
|
7
7
|
export declare const IconSizes: readonly [Size.xs, Size.sm, Size.md, Size.md, Size.lg, Size.xl, (typeof Size)["2xl"], (typeof Size)["3xl"], (typeof Size)["4xl"], (typeof Size)["5xl"], (typeof Size)["6xl"], (typeof Size)["7xl"], (typeof Size)["8xl"], (typeof Size)["9xl"]];
|
|
8
8
|
export declare const BadgeColors: readonly [BaseColor.warning, BaseColor.error, BaseColor.info, BaseColor.success, BaseColor.primary, BaseColor.default];
|
|
9
|
+
export declare const EVENTS: string[];
|
|
9
10
|
declare const _default: {};
|
|
10
11
|
export default _default;
|
package/dist/src/index.d.ts
CHANGED
|
@@ -4,6 +4,7 @@ import EIcon from './components/EIcon.vue';
|
|
|
4
4
|
import ESpinner from './components/ESpinner.vue';
|
|
5
5
|
import ERow from './components/ERow.vue';
|
|
6
6
|
import ECol from './components/ECol.vue';
|
|
7
|
+
import EVideoPlayer from './components/EVideoPlayer.vue';
|
|
7
8
|
import { VueConstructor } from "vue";
|
|
8
9
|
export declare const components: {
|
|
9
10
|
EAvatar: import("vue/types/vue").ExtendedVue<import("vue").default<Record<string, any>, Record<string, any>, never, never, (event: string, ...args: any[]) => import("vue").default<Record<string, any>, Record<string, any>, never, never, any>>, {
|
|
@@ -115,11 +116,68 @@ export declare const components: {
|
|
|
115
116
|
xs: string | number | boolean;
|
|
116
117
|
xl: string | number | boolean;
|
|
117
118
|
}, {}, import("vue/types/v3-component-options").ComponentOptionsMixin, import("vue/types/v3-component-options").ComponentOptionsMixin>;
|
|
119
|
+
EVideoPlayer: import("vue/types/vue").ExtendedVue<import("vue").default<Record<string, any>, Record<string, any>, never, never, (event: string, ...args: any[]) => import("vue").default<Record<string, any>, Record<string, any>, never, never, any>>, {
|
|
120
|
+
playing: boolean;
|
|
121
|
+
percentagePlayed: number;
|
|
122
|
+
videoMuted: boolean;
|
|
123
|
+
videoLength: string;
|
|
124
|
+
duration: number;
|
|
125
|
+
videoDuration: number;
|
|
126
|
+
currentTime: string;
|
|
127
|
+
realtime: number;
|
|
128
|
+
isScrubbing: boolean;
|
|
129
|
+
wasPaused: boolean;
|
|
130
|
+
volume: number;
|
|
131
|
+
isFullscreen: boolean;
|
|
132
|
+
isFinished: boolean;
|
|
133
|
+
isLoading: boolean;
|
|
134
|
+
playbackRate: string;
|
|
135
|
+
isMiniPlayerMode: boolean;
|
|
136
|
+
}, {
|
|
137
|
+
bindEvents(): void;
|
|
138
|
+
bindVideoEvent(which: string): void;
|
|
139
|
+
handleFullscreenChange(): void;
|
|
140
|
+
isLooped(): boolean;
|
|
141
|
+
handleEnded(): void;
|
|
142
|
+
handleLoading(): void;
|
|
143
|
+
play(): void;
|
|
144
|
+
handleVolumeChange(e: Event): void;
|
|
145
|
+
setVolume(state: number): void;
|
|
146
|
+
pause(): void;
|
|
147
|
+
togglePlay(): void;
|
|
148
|
+
setPlaying(state: boolean): void;
|
|
149
|
+
seekToPercentage(percentage: number): void;
|
|
150
|
+
convertTimeToDuration(seconds: number): string;
|
|
151
|
+
mute(): void;
|
|
152
|
+
unmute(): void;
|
|
153
|
+
toggleMute(): void;
|
|
154
|
+
setMuted(state: boolean): void;
|
|
155
|
+
closeFullscreenMode(): void;
|
|
156
|
+
openFullscreenMode(): void;
|
|
157
|
+
toggleFullscreenMode(): void;
|
|
158
|
+
toggleMiniPlayerMode(): void;
|
|
159
|
+
getDuration(): void;
|
|
160
|
+
handleTimeUpdate(): void;
|
|
161
|
+
handleTimelineUpdate(e: MouseEvent): void;
|
|
162
|
+
skip(duration?: number): void;
|
|
163
|
+
toggleScrubbing(e: MouseEvent): Promise<void>;
|
|
164
|
+
changePlaybackSpeed(): void;
|
|
165
|
+
handleKeyDown(e: KeyboardEvent): void;
|
|
166
|
+
}, {
|
|
167
|
+
hasMultipleSources: boolean;
|
|
168
|
+
hasStartedOrFinished: boolean;
|
|
169
|
+
withControls: "" | "hide";
|
|
170
|
+
}, {
|
|
171
|
+
sources: import('./components/EVideoPlayer.vue').IVideoSources;
|
|
172
|
+
videoListeners: {};
|
|
173
|
+
videoOptions: {};
|
|
174
|
+
}, {}, import("vue/types/v3-component-options").ComponentOptionsMixin, import("vue/types/v3-component-options").ComponentOptionsMixin>;
|
|
118
175
|
};
|
|
119
176
|
declare const _default: {
|
|
120
177
|
install(Vue: VueConstructor): void;
|
|
121
178
|
};
|
|
122
179
|
export default _default;
|
|
123
|
-
export { EAvatar, EBadge, EIcon, ESpinner, ERow, ECol };
|
|
180
|
+
export { EAvatar, EBadge, EIcon, ESpinner, ERow, ECol, EVideoPlayer };
|
|
124
181
|
export * from './constants';
|
|
125
182
|
export * from './types';
|
|
183
|
+
export * from './utils';
|
package/dist/style.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.e-spinner[data-v-
|
|
1
|
+
.e-spinner[data-v-f6962f4a]{vertical-align:center}.e-spinner__primary[data-v-f6962f4a],.e-spinner__secondary[data-v-f6962f4a]{stroke-width:0;animation:fade-f6962f4a;animation-iteration-count:infinite}@keyframes fade-f6962f4a{0%{fill-opacity:0}50%{fill-opacity:1}to{fill-opacity:0}}.e-row.e-row--no-gutters{margin:0}.e-row.e-row--no-gutters>.e-col{padding:0}.e-col{padding:.75rem}.spinner-container[data-v-428638d2]{position:absolute;background:linear-gradient(to top,rgba(0,0,0,.65),transparent);inset:0;display:flex;justify-content:center;align-items:center;vertical-align:middle}.video-container[data-v-428638d2]{position:relative;width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;margin:0 auto}.video-container.theater[data-v-428638d2],.video-container.full-screen[data-v-428638d2]{max-width:initial;width:100%}.video-container.theater[data-v-428638d2]{max-height:90vh}.video-container.full-screen[data-v-428638d2]{max-height:100vh}video[data-v-428638d2]{width:100%;height:inherit}.video-controls-container[data-v-428638d2]{position:absolute;bottom:0;left:0;right:0;color:#fff;z-index:100;opacity:0;transition:opacity .15s ease-in-out}.hide[data-v-428638d2]{display:none}.video-controls-container[data-v-428638d2]:before{content:"";position:absolute;bottom:0;background:linear-gradient(to top,rgba(0,0,0,.75),transparent);width:100%;aspect-ratio:6 / 1;z-index:-1;pointer-events:none}.video-container:hover .video-controls-container[data-v-428638d2],.video-container:focus-within .video-controls-container[data-v-428638d2],.video-container.paused .video-controls-container[data-v-428638d2]{opacity:1}.video-controls-container .controls[data-v-428638d2]{display:flex;gap:.5rem;padding:.25rem;align-items:center;width:100%}.video-controls-container .controls button[data-v-428638d2]{background:none;border:none;color:inherit;padding:0;height:24px;width:24px;font-size:1.1rem;cursor:pointer;opacity:.85;transition:opacity .15s ease-in-out}.video-controls-container .controls button[data-v-428638d2]:hover{opacity:1}.pause-icon[data-v-428638d2],.play-icon[data-v-428638d2],.picture-on-picture[data-v-428638d2],.open[data-v-428638d2],.close[data-v-428638d2],.speed-btn.wide-btn[data-v-428638d2]{height:24px;width:24px}.video-container.theater .tall[data-v-428638d2]{display:none}.video-container:not(.theater) .wide[data-v-428638d2]{display:none}.volume-container[data-v-428638d2]{display:flex;align-items:center}.volume-slider[data-v-428638d2]{width:0;transform-origin:left;transform:scaleX(0);transition:width .15s ease-in-out,transform .15s ease-in-out}.volume-container:hover .volume-slider[data-v-428638d2],.volume-slider[data-v-428638d2]:focus-within{width:100px;transform:scaleX(1)}.duration-container[data-v-428638d2]{display:flex;align-items:center;gap:.25rem;flex-grow:1}.video-container.captions .captions-btn[data-v-428638d2]{border-bottom:3px solid red}.video-controls-container .controls button.wide-btn[data-v-428638d2]{width:50px}.timeline-container[data-v-428638d2]{width:100%;height:7px;margin-inline:.5rem;cursor:pointer;display:flex;align-items:center}.timeline[data-v-428638d2]{background-color:#64646480;height:3px;width:100%;position:relative}.timeline[data-v-428638d2]:before{content:"";position:absolute;left:0;top:0;bottom:0;right:calc(100% - var(--preview-position) * 100%);background-color:#969696;display:none}.timeline[data-v-428638d2]:after{content:"";position:absolute;left:0;top:0;bottom:0;right:calc(100% - var(--progress-position) * 100%);background-color:red}.timeline .thumb-indicator[data-v-428638d2]{--scale: 0;position:absolute;transform:translate(-50%) scale(var(--scale));height:200%;top:-50%;left:calc(var(--progress-position) * 100%);background-color:red;border-radius:50%;transition:transform .15s ease-in-out;aspect-ratio:1 / 1}.video-container.scrubbing .thumbnail-img[data-v-428638d2]{display:block}.video-container.scrubbing .timeline[data-v-428638d2]:before,.timeline-container:hover .timeline[data-v-428638d2]:before{display:block}.video-container.scrubbing .thumb-indicator[data-v-428638d2],.timeline-container:hover .thumb-indicator[data-v-428638d2]{--scale: 1}.video-container.scrubbing .timeline[data-v-428638d2],.timeline-container:hover .timeline[data-v-428638d2]{height:100%}
|