@evercam/ui 0.0.19 → 0.0.21

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.
@@ -0,0 +1,66 @@
1
+ import Vue from "vue";
2
+ export type IVideoSources = string | {
3
+ type: string;
4
+ src: string;
5
+ }[];
6
+ export declare const 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
+ isSeeking: boolean;
9
+ playing: boolean;
10
+ percentagePlayed: number;
11
+ videoMuted: boolean;
12
+ videoLength: string;
13
+ duration: number;
14
+ videoDuration: number;
15
+ currentTime: string;
16
+ realtime: number;
17
+ isScrubbing: boolean;
18
+ wasPaused: boolean;
19
+ volume: number;
20
+ isFullscreen: boolean;
21
+ isFinished: boolean;
22
+ isLoading: boolean;
23
+ playbackRate: string;
24
+ isMiniPlayerMode: boolean;
25
+ }, {
26
+ bindEvents(): void;
27
+ bindVideoEvent(which: string): void;
28
+ handleFullscreenChange(): void;
29
+ seeking(): void;
30
+ seeked(): void;
31
+ isLooped(): boolean;
32
+ handleEnded(): void;
33
+ handleLoading(): void;
34
+ play(): void;
35
+ handleVolumeChange(e: InputEvent): void;
36
+ setVolume(state: number): void;
37
+ pause(): void;
38
+ togglePlay(): void;
39
+ setPlaying(state: boolean): void;
40
+ seekToPercentage(percentage: number): void;
41
+ convertTimeToDuration(seconds: number): string;
42
+ mute(): void;
43
+ unmute(): void;
44
+ toggleMute(): void;
45
+ setMuted(state: boolean): void;
46
+ closeFullscreenMode(): void;
47
+ openFullscreenMode(): void;
48
+ toggleFullscreenMode(): void;
49
+ toggleMiniPlayerMode(): void;
50
+ getDuration(): void;
51
+ handleTimeUpdate(): void;
52
+ handleTimelineUpdate(e: MouseEvent): void;
53
+ skip(duration?: number): void;
54
+ toggleScrubbing(e: MouseEvent): Promise<void>;
55
+ changePlaybackSpeed(): void;
56
+ handleKeyDown(e: KeyboardEvent): void;
57
+ }, {
58
+ hasMultipleSources: boolean;
59
+ hasStartedOrFinished: boolean;
60
+ withControls: "" | "hide";
61
+ }, {
62
+ sources: IVideoSources;
63
+ videoListeners: {};
64
+ videoOptions: {};
65
+ }, {}, import("vue/types/v3-component-options").ComponentOptionsMixin, import("vue/types/v3-component-options").ComponentOptionsMixin>;
66
+ export default _default;
@@ -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;
@@ -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>>, {
@@ -109,11 +110,70 @@ export declare const components: {
109
110
  xs: string | number | boolean;
110
111
  xl: string | number | boolean;
111
112
  }, {}, import("vue/types/v3-component-options").ComponentOptionsMixin, import("vue/types/v3-component-options").ComponentOptionsMixin>;
113
+ 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>>, {
114
+ isSeeking: boolean;
115
+ playing: boolean;
116
+ percentagePlayed: number;
117
+ videoMuted: boolean;
118
+ videoLength: string;
119
+ duration: number;
120
+ videoDuration: number;
121
+ currentTime: string;
122
+ realtime: number;
123
+ isScrubbing: boolean;
124
+ wasPaused: boolean;
125
+ volume: number;
126
+ isFullscreen: boolean;
127
+ isFinished: boolean;
128
+ isLoading: boolean;
129
+ playbackRate: string;
130
+ isMiniPlayerMode: boolean;
131
+ }, {
132
+ bindEvents(): void;
133
+ bindVideoEvent(which: string): void;
134
+ handleFullscreenChange(): void;
135
+ seeking(): void;
136
+ seeked(): void;
137
+ isLooped(): boolean;
138
+ handleEnded(): void;
139
+ handleLoading(): void;
140
+ play(): void;
141
+ handleVolumeChange(e: InputEvent): void;
142
+ setVolume(state: number): void;
143
+ pause(): void;
144
+ togglePlay(): void;
145
+ setPlaying(state: boolean): void;
146
+ seekToPercentage(percentage: number): void;
147
+ convertTimeToDuration(seconds: number): string;
148
+ mute(): void;
149
+ unmute(): void;
150
+ toggleMute(): void;
151
+ setMuted(state: boolean): void;
152
+ closeFullscreenMode(): void;
153
+ openFullscreenMode(): void;
154
+ toggleFullscreenMode(): void;
155
+ toggleMiniPlayerMode(): void;
156
+ getDuration(): void;
157
+ handleTimeUpdate(): void;
158
+ handleTimelineUpdate(e: MouseEvent): void;
159
+ skip(duration?: number): void;
160
+ toggleScrubbing(e: MouseEvent): Promise<void>;
161
+ changePlaybackSpeed(): void;
162
+ handleKeyDown(e: KeyboardEvent): void;
163
+ }, {
164
+ hasMultipleSources: boolean;
165
+ hasStartedOrFinished: boolean;
166
+ withControls: "" | "hide";
167
+ }, {
168
+ sources: import('./components/EVideoPlayer.vue').IVideoSources;
169
+ videoListeners: {};
170
+ videoOptions: {};
171
+ }, {}, import("vue/types/v3-component-options").ComponentOptionsMixin, import("vue/types/v3-component-options").ComponentOptionsMixin>;
112
172
  };
113
173
  declare const _default: {
114
174
  install(Vue: VueConstructor): void;
115
175
  };
116
176
  export default _default;
117
- export { EAvatar, EBadge, EIcon, ESpinner, ERow, ECol };
177
+ export { EAvatar, EBadge, EIcon, ESpinner, ERow, ECol, EVideoPlayer };
118
178
  export * from './constants';
119
179
  export * from './types';
@@ -0,0 +1,3 @@
1
+ export declare function isFullScreen(): boolean;
2
+ export declare function makeFullScreen(element: HTMLElement): any;
3
+ export declare function exitFullScreen(): any;
package/dist/style.css CHANGED
@@ -1 +1 @@
1
- .e-spinner[data-v-29711f67]{vertical-align:center}.e-spinner__primary[data-v-29711f67],.e-spinner__secondary[data-v-29711f67]{stroke-width:0;animation:fade-29711f67;animation-iteration-count:infinite}@keyframes fade-29711f67{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}
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-6978f420]{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-6978f420]{position:relative;width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;margin:0 auto}.video-container.theater[data-v-6978f420],.video-container.full-screen[data-v-6978f420]{max-width:initial;width:100%}.video-container.theater[data-v-6978f420]{max-height:90vh}.video-container.full-screen[data-v-6978f420]{max-height:100vh}video[data-v-6978f420]{width:100%;height:inherit}.video-controls-container[data-v-6978f420]{position:absolute;bottom:0;left:0;right:0;color:#fff;z-index:100;opacity:0;transition:opacity .15s ease-in-out}.hide[data-v-6978f420]{display:none}.video-controls-container[data-v-6978f420]: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-6978f420],.video-container:focus-within .video-controls-container[data-v-6978f420],.video-container.paused .video-controls-container[data-v-6978f420]{opacity:1}.video-controls-container .controls[data-v-6978f420]{display:flex;gap:.5rem;padding:.25rem;align-items:center;width:100%}.video-controls-container .controls button[data-v-6978f420]{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-6978f420]:hover{opacity:1}.pause-icon[data-v-6978f420],.play-icon[data-v-6978f420],.picture-on-picture[data-v-6978f420],.open[data-v-6978f420],.close[data-v-6978f420],.speed-btn.wide-btn[data-v-6978f420]{height:24px;width:24px}.video-container.theater .tall[data-v-6978f420]{display:none}.video-container:not(.theater) .wide[data-v-6978f420]{display:none}.volume-container[data-v-6978f420]{display:flex;align-items:center}.volume-slider[data-v-6978f420]{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-6978f420],.volume-slider[data-v-6978f420]:focus-within{width:100px;transform:scaleX(1)}.duration-container[data-v-6978f420]{display:flex;align-items:center;gap:.25rem;flex-grow:1}.video-container.captions .captions-btn[data-v-6978f420]{border-bottom:3px solid red}.video-controls-container .controls button.wide-btn[data-v-6978f420]{width:50px}.timeline-container[data-v-6978f420]{width:100%;height:7px;margin-inline:.5rem;cursor:pointer;display:flex;align-items:center}.timeline[data-v-6978f420]{background-color:#64646480;height:3px;width:100%;position:relative}.timeline[data-v-6978f420]: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-6978f420]: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-6978f420]{--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-6978f420]{display:block}.video-container.scrubbing .timeline[data-v-6978f420]:before,.timeline-container:hover .timeline[data-v-6978f420]:before{display:block}.video-container.scrubbing .thumb-indicator[data-v-6978f420],.timeline-container:hover .thumb-indicator[data-v-6978f420]{--scale: 1}.video-container.scrubbing .timeline[data-v-6978f420],.timeline-container:hover .timeline[data-v-6978f420]{height:100%}