@byomakase/omakase-player 0.0.2
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/LICENSE +228 -0
- package/README.md +233 -0
- package/dist/api/api.d.ts +17 -0
- package/dist/api/audio-api.d.ts +24 -0
- package/dist/api/marker-lane-api.d.ts +33 -0
- package/dist/api/omakase-player-api.d.ts +38 -0
- package/dist/api/subtitles-api.d.ts +36 -0
- package/dist/api/timeline-api.d.ts +91 -0
- package/dist/api/video-api.d.ts +68 -0
- package/dist/audio/audio-controller.d.ts +32 -0
- package/dist/common/browser-provider.d.ts +34 -0
- package/dist/common/component.d.ts +56 -0
- package/dist/common/measurement.d.ts +41 -0
- package/dist/common/style-adapter.d.ts +27 -0
- package/dist/common/styles-provider.d.ts +33 -0
- package/dist/constants.d.ts +9 -0
- package/dist/dom/dom-controller.d.ts +53 -0
- package/dist/dom/fullscreen.d.ts +32 -0
- package/dist/events.d.ts +14 -0
- package/dist/http.d.ts +2 -0
- package/dist/images/help.svg +17 -0
- package/dist/images/loading.svg +29 -0
- package/dist/images/pause.svg +19 -0
- package/dist/images/play.svg +18 -0
- package/dist/images/replay.svg +23 -0
- package/dist/index.d.ts +3 -0
- package/dist/omakase-player.cjs.js +71 -0
- package/dist/omakase-player.cjs.js.map +1 -0
- package/dist/omakase-player.d.ts +51 -0
- package/dist/omakase-player.es.js +17439 -0
- package/dist/omakase-player.es.js.map +1 -0
- package/dist/omakase-player.umd.js +71 -0
- package/dist/omakase-player.umd.js.map +1 -0
- package/dist/style.css +1 -0
- package/dist/subtitles/subtitles-controller.d.ts +51 -0
- package/dist/timeline/audio-track/audio-track-lane-item.d.ts +38 -0
- package/dist/timeline/audio-track/audio-track-lane.d.ts +46 -0
- package/dist/timeline/audio-track/index.d.ts +1 -0
- package/dist/timeline/index.d.ts +5 -0
- package/dist/timeline/marker/index.d.ts +4 -0
- package/dist/timeline/marker/marker-handle.d.ts +55 -0
- package/dist/timeline/marker/marker-lane.d.ts +38 -0
- package/dist/timeline/marker/marker.d.ts +64 -0
- package/dist/timeline/marker/moment-marker.d.ts +31 -0
- package/dist/timeline/marker/period-marker.d.ts +43 -0
- package/dist/timeline/playhead-hover.d.ts +36 -0
- package/dist/timeline/playhead.d.ts +40 -0
- package/dist/timeline/scrollbar.d.ts +60 -0
- package/dist/timeline/scrubber-lane.d.ts +44 -0
- package/dist/timeline/subtitles/index.d.ts +1 -0
- package/dist/timeline/subtitles/subtitles-lane-item.d.ts +40 -0
- package/dist/timeline/subtitles/subtitles-lane.d.ts +38 -0
- package/dist/timeline/thumbnail/index.d.ts +1 -0
- package/dist/timeline/thumbnail/thumbnail-lane.d.ts +54 -0
- package/dist/timeline/thumbnail/thumbnail.d.ts +46 -0
- package/dist/timeline/timecode-display.d.ts +32 -0
- package/dist/timeline/timeline-lane.d.ts +70 -0
- package/dist/timeline/timeline.d.ts +222 -0
- package/dist/track/audio-vtt-file.d.ts +8 -0
- package/dist/track/subtitles-vtt-file.d.ts +8 -0
- package/dist/track/subtitles-vtt-track.d.ts +5 -0
- package/dist/track/thumbnail-vtt-file.d.ts +11 -0
- package/dist/track/track.d.ts +12 -0
- package/dist/track/vtt-file.d.ts +32 -0
- package/dist/types/common.d.ts +6 -0
- package/dist/types/events.d.ts +125 -0
- package/dist/types/index.d.ts +5 -0
- package/dist/types/model.d.ts +17 -0
- package/dist/types/track.d.ts +21 -0
- package/dist/types/types.d.ts +3 -0
- package/dist/types/vtt.d.ts +23 -0
- package/dist/util/animation-util.d.ts +11 -0
- package/dist/util/color-util.d.ts +3 -0
- package/dist/util/frame-util.d.ts +18 -0
- package/dist/util/image-util.d.ts +9 -0
- package/dist/util/observable-util.d.ts +2 -0
- package/dist/util/shape-util.d.ts +17 -0
- package/dist/util/time-util.d.ts +6 -0
- package/dist/util/window-util.d.ts +4 -0
- package/dist/validators.d.ts +6 -0
- package/dist/video/playback-state.d.ts +23 -0
- package/dist/video/video-controller.d.ts +139 -0
- package/dist/video/video-hls-controller.d.ts +15 -0
- package/dist/video/video.d.ts +19 -0
- package/package.json +56 -0
- package/style/omakase-player.scss +144 -0
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright 2023 ByOmakase, LLC (https://byomakase.org)
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
import { Api } from "./api";
|
|
17
|
+
import { Observable } from "rxjs";
|
|
18
|
+
import { TimelineScrollEvent, TimelineZoomEvent } from "../types";
|
|
19
|
+
import { AudioTrackLane, MarkerLane, SubtitlesLane, ThumbnailLane } from "../timeline";
|
|
20
|
+
import { GenericTimelaneLane } from "../timeline/timeline-lane";
|
|
21
|
+
import { TimelineStyle } from "../timeline/timeline";
|
|
22
|
+
import { MarkerLaneConfig } from "../timeline/marker/marker-lane";
|
|
23
|
+
import { ThumbnailLaneConfig } from "../timeline/thumbnail/thumbnail-lane";
|
|
24
|
+
import { SubtitlesLaneConfig } from "../timeline/subtitles/subtitles-lane";
|
|
25
|
+
import { ScrubberLane } from "../timeline/scrubber-lane";
|
|
26
|
+
import { Scrollbar } from "../timeline/scrollbar";
|
|
27
|
+
export interface TimelineApi extends Api {
|
|
28
|
+
onScroll$: Observable<TimelineScrollEvent>;
|
|
29
|
+
onZoom$: Observable<TimelineZoomEvent>;
|
|
30
|
+
get style(): TimelineStyle;
|
|
31
|
+
/***
|
|
32
|
+
* Timeline zoom
|
|
33
|
+
* @param percent number between 100 and TimelineConfig.zoomMax
|
|
34
|
+
*/
|
|
35
|
+
zoomTo(percent: number): Observable<number>;
|
|
36
|
+
/***
|
|
37
|
+
* Zoom in. Zoom scale in single method call is defined with TimelineConfig.zoomScale
|
|
38
|
+
*/
|
|
39
|
+
zoomIn(): Observable<number>;
|
|
40
|
+
/***
|
|
41
|
+
* Zoom out. Zoom scale in single method call is defined with TimelineConfig.zoomScale
|
|
42
|
+
*/
|
|
43
|
+
zoomOut(): Observable<number>;
|
|
44
|
+
/***
|
|
45
|
+
* Returns current zoom perent
|
|
46
|
+
*/
|
|
47
|
+
getZoomPercent(): number;
|
|
48
|
+
/***
|
|
49
|
+
* Scrolls timeline
|
|
50
|
+
* @param percent in range from 0 - timeline start or first timestamp, to 100 - timeline end or last timestamop
|
|
51
|
+
*/
|
|
52
|
+
scrollTo(percent: number): Observable<number>;
|
|
53
|
+
/***
|
|
54
|
+
* Scrolls timeline to playhead position
|
|
55
|
+
*/
|
|
56
|
+
scrollToPlayhead(): Observable<number>;
|
|
57
|
+
getScrollbar(): Scrollbar;
|
|
58
|
+
/***
|
|
59
|
+
* Adds instantiated TimelineLane to timeline
|
|
60
|
+
* @param timelineLane
|
|
61
|
+
*/
|
|
62
|
+
addLane(timelineLane: GenericTimelaneLane): void;
|
|
63
|
+
/***
|
|
64
|
+
* Removes TimelineLane by id
|
|
65
|
+
* @param id
|
|
66
|
+
*/
|
|
67
|
+
removeLane(id: string): any;
|
|
68
|
+
/***
|
|
69
|
+
* Adds multiple instantiated TimelineLane-s to timeline
|
|
70
|
+
* @param timelineLanes
|
|
71
|
+
*/
|
|
72
|
+
addLanes(timelineLanes: GenericTimelaneLane[]): void;
|
|
73
|
+
/***
|
|
74
|
+
* Returns all TimelineLane-s
|
|
75
|
+
*/
|
|
76
|
+
getLanes(): GenericTimelaneLane[];
|
|
77
|
+
/***
|
|
78
|
+
* Returns single TimelineLane
|
|
79
|
+
* @param id TimelineLane.id
|
|
80
|
+
*/
|
|
81
|
+
getLane(id: string): GenericTimelaneLane;
|
|
82
|
+
getScrubberLane(): ScrubberLane;
|
|
83
|
+
getMarkerLane(id: string): MarkerLane;
|
|
84
|
+
getThumbnailLane(id: string): ThumbnailLane;
|
|
85
|
+
getSubtitlesLane(id: string): SubtitlesLane;
|
|
86
|
+
getAudioTrackLane(id: string): AudioTrackLane;
|
|
87
|
+
createMarkerLane(config: MarkerLaneConfig): MarkerLane;
|
|
88
|
+
createThumbnailLane(config: ThumbnailLaneConfig): ThumbnailLane;
|
|
89
|
+
createSubtitlesLane(config: SubtitlesLaneConfig): SubtitlesLane;
|
|
90
|
+
toggleLeftPanelVisible(visible: boolean): void;
|
|
91
|
+
}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright 2023 ByOmakase, LLC (https://byomakase.org)
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
import { Api } from "./api";
|
|
17
|
+
import { Observable } from "rxjs";
|
|
18
|
+
import { AudioEvent, VideoEndedEvent, VideoLoadedEvent, VideoPlayEvent, VideoSeekedEvent, VideoSeekingEvent, VideoTimeChangeEvent } from "../types/events";
|
|
19
|
+
import { Video } from "../video/video";
|
|
20
|
+
import Hls from "hls.js";
|
|
21
|
+
import { HelpMenuGroup } from "../types";
|
|
22
|
+
export interface VideoApi extends Api {
|
|
23
|
+
onVideoLoaded$: Observable<VideoLoadedEvent>;
|
|
24
|
+
onVideoTimeChange$: Observable<VideoTimeChangeEvent>;
|
|
25
|
+
onPlay$: Observable<VideoPlayEvent>;
|
|
26
|
+
onPause$: Observable<VideoPlayEvent>;
|
|
27
|
+
onSeeking$: Observable<VideoSeekingEvent>;
|
|
28
|
+
onSeeked$: Observable<VideoSeekedEvent>;
|
|
29
|
+
onEnded$: Observable<VideoEndedEvent>;
|
|
30
|
+
onAudioSwitched$: Observable<AudioEvent>;
|
|
31
|
+
loadVideo(sourceUrl: string, frameRate: number, duration?: number): Observable<Video>;
|
|
32
|
+
isVideoLoaded(): boolean;
|
|
33
|
+
getVideo(): Video;
|
|
34
|
+
getHTMLVideoElement(): HTMLVideoElement;
|
|
35
|
+
getDuration(): number;
|
|
36
|
+
getCurrentTime(): number;
|
|
37
|
+
getPlaybackRate(): number;
|
|
38
|
+
setPlaybackRate(playbackRate: number): any;
|
|
39
|
+
getVolume(): number;
|
|
40
|
+
setVolume(volume: number): any;
|
|
41
|
+
getCurrentFrame(): number;
|
|
42
|
+
getFrameRate(): number;
|
|
43
|
+
getTotalFrames(): number;
|
|
44
|
+
isPlaying(): boolean;
|
|
45
|
+
isPaused(): boolean;
|
|
46
|
+
isSeeking(): boolean;
|
|
47
|
+
play(): void;
|
|
48
|
+
pause(): void;
|
|
49
|
+
togglePlayPause(): void;
|
|
50
|
+
seekToFrame(frame: number): Observable<boolean>;
|
|
51
|
+
seekFromCurrentFrame(framesCount: number): Observable<boolean>;
|
|
52
|
+
seekPreviousFrame(): Observable<boolean>;
|
|
53
|
+
seekNextFrame(): Observable<boolean>;
|
|
54
|
+
seekToTimestamp(currentTime: number): Observable<boolean>;
|
|
55
|
+
formatTimestamp(currentTime: number): string;
|
|
56
|
+
calculateTimeToFrame(time: number): number;
|
|
57
|
+
calculateFrameToTime(framesCount: number): number;
|
|
58
|
+
mute(): any;
|
|
59
|
+
unmute(): any;
|
|
60
|
+
isFullscreen(): boolean;
|
|
61
|
+
toggleFullscreen(): any;
|
|
62
|
+
getAudioTracks(): any[];
|
|
63
|
+
getCurrentAudioTrack(): any;
|
|
64
|
+
setAudioTrack(audioTrackId: number): any;
|
|
65
|
+
getHls(): Hls;
|
|
66
|
+
addHelpMenuGroup(helpMenuGroup: HelpMenuGroup): any;
|
|
67
|
+
getHelpMenuGroups(): HelpMenuGroup[];
|
|
68
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright 2023 ByOmakase, LLC (https://byomakase.org)
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*
|
|
16
|
+
* Includes rxjs <https://github.com/ReactiveX/rxjs>
|
|
17
|
+
* Available under Apache License Version 2.0
|
|
18
|
+
* <https://github.com/ReactiveX/rxjs/blob/master/LICENSE.txt>
|
|
19
|
+
*
|
|
20
|
+
*/
|
|
21
|
+
import { AudioApi } from "../api/audio-api";
|
|
22
|
+
import { VideoController } from "../video/video-controller";
|
|
23
|
+
import { Subject } from "rxjs";
|
|
24
|
+
import { AudioEvent } from "../types";
|
|
25
|
+
export declare class AudioController implements AudioApi {
|
|
26
|
+
protected videoController: VideoController;
|
|
27
|
+
readonly onAudioSwitched$: Subject<AudioEvent>;
|
|
28
|
+
constructor(videoController: VideoController);
|
|
29
|
+
getAudioTracks(): any[];
|
|
30
|
+
getCurrentAudioTrack(): any;
|
|
31
|
+
setAudioTrack(audioTrackId: number): void;
|
|
32
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright 2023 ByOmakase, LLC (https://byomakase.org)
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
export declare class BrowserProvider {
|
|
17
|
+
private static _instance;
|
|
18
|
+
private _userAgent;
|
|
19
|
+
private _isFirefox;
|
|
20
|
+
private _isEdge;
|
|
21
|
+
private _isChromium;
|
|
22
|
+
private _isChrome;
|
|
23
|
+
private _isAndroid;
|
|
24
|
+
private _isSafari;
|
|
25
|
+
private constructor();
|
|
26
|
+
static instance(): BrowserProvider;
|
|
27
|
+
private resolveUserAgent;
|
|
28
|
+
get isSafari(): any;
|
|
29
|
+
get isFirefox(): any;
|
|
30
|
+
get isEdge(): any;
|
|
31
|
+
get isChromium(): any;
|
|
32
|
+
get isChrome(): any;
|
|
33
|
+
get isAndroid(): any;
|
|
34
|
+
}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright 2023 ByOmakase, LLC (https://byomakase.org)
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*
|
|
16
|
+
* Includes rxjs <https://github.com/ReactiveX/rxjs>
|
|
17
|
+
* Available under Apache License Version 2.0
|
|
18
|
+
* <https://github.com/ReactiveX/rxjs/blob/master/LICENSE.txt>
|
|
19
|
+
*/
|
|
20
|
+
import Konva from "konva";
|
|
21
|
+
import { Observable, Subject } from "rxjs";
|
|
22
|
+
import { StyleAdapter } from "./style-adapter";
|
|
23
|
+
import { WithOptionalPartial } from "../types/types";
|
|
24
|
+
export interface ComponentConfig<S> {
|
|
25
|
+
style: S;
|
|
26
|
+
}
|
|
27
|
+
/***
|
|
28
|
+
* Intended to be used in component constructors. 'style' property is made optional, style type 'S' type is made Partial
|
|
29
|
+
*/
|
|
30
|
+
export type ComponentConfigStyleComposed<T extends ComponentConfig<any>> = WithOptionalPartial<T, 'style'>;
|
|
31
|
+
export declare const composeConfigAndDefault: <T extends ComponentConfig<any>>(config: Partial<ComponentConfigStyleComposed<T>>, configDefault: T) => T;
|
|
32
|
+
export interface Component<C extends ComponentConfig<S>, S, T extends Konva.Node> {
|
|
33
|
+
get style(): S;
|
|
34
|
+
set style(value: Partial<S>);
|
|
35
|
+
initCanvasNode(): T;
|
|
36
|
+
getCanvasNode(): T;
|
|
37
|
+
destroy(): any;
|
|
38
|
+
isInitialized(): boolean;
|
|
39
|
+
}
|
|
40
|
+
export declare abstract class BaseComponent<C extends ComponentConfig<S>, S, T extends Konva.Node> implements Component<C, S, T> {
|
|
41
|
+
protected config: C;
|
|
42
|
+
protected styleAdapter: StyleAdapter<S>;
|
|
43
|
+
protected canvasNode: T;
|
|
44
|
+
readonly onDestroy$: Subject<void>;
|
|
45
|
+
protected constructor(config: C);
|
|
46
|
+
protected abstract createCanvasNode(): T;
|
|
47
|
+
initCanvasNode(): T;
|
|
48
|
+
initCanvasNodeAsync(): Observable<T>;
|
|
49
|
+
protected createCanvasNodeAsync(): Observable<T>;
|
|
50
|
+
protected afterCanvasNodeInit(): void;
|
|
51
|
+
destroy(): void;
|
|
52
|
+
getCanvasNode(): T;
|
|
53
|
+
isInitialized(): boolean;
|
|
54
|
+
get style(): S;
|
|
55
|
+
set style(value: Partial<S>);
|
|
56
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright 2023 ByOmakase, LLC (https://byomakase.org)
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
export type Position = {
|
|
17
|
+
x: number;
|
|
18
|
+
y: number;
|
|
19
|
+
};
|
|
20
|
+
export type Dimension = {
|
|
21
|
+
width: number;
|
|
22
|
+
height: number;
|
|
23
|
+
};
|
|
24
|
+
export type RectMeasurement = Position & Dimension;
|
|
25
|
+
export type HorizontalMeasurement = {
|
|
26
|
+
x: number;
|
|
27
|
+
width: number;
|
|
28
|
+
};
|
|
29
|
+
export type VerticalMeasurement = {
|
|
30
|
+
y: number;
|
|
31
|
+
height: number;
|
|
32
|
+
};
|
|
33
|
+
export interface OnMeasurementsChange {
|
|
34
|
+
onMeasurementsChange(): any;
|
|
35
|
+
}
|
|
36
|
+
export interface HasDimension {
|
|
37
|
+
getDimension(): Dimension;
|
|
38
|
+
}
|
|
39
|
+
export interface HasRectMeasurement {
|
|
40
|
+
getRect(): RectMeasurement;
|
|
41
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright 2023 ByOmakase, LLC (https://byomakase.org)
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*
|
|
16
|
+
* Includes rxjs <https://github.com/ReactiveX/rxjs>
|
|
17
|
+
* Available under Apache License Version 2.0
|
|
18
|
+
* <https://github.com/ReactiveX/rxjs/blob/master/LICENSE.txt>
|
|
19
|
+
*/
|
|
20
|
+
import { Subject } from "rxjs";
|
|
21
|
+
export declare class StyleAdapter<T> {
|
|
22
|
+
readonly onChange$: Subject<T>;
|
|
23
|
+
private _style;
|
|
24
|
+
constructor(style: T);
|
|
25
|
+
get style(): T;
|
|
26
|
+
set style(value: Partial<T>);
|
|
27
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright 2023 ByOmakase, LLC (https://byomakase.org)
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*
|
|
16
|
+
* Includes rxjs <https://github.com/ReactiveX/rxjs>
|
|
17
|
+
* Available under Apache License Version 2.0
|
|
18
|
+
* <https://github.com/ReactiveX/rxjs/blob/master/LICENSE.txt>
|
|
19
|
+
*/
|
|
20
|
+
import { Subject } from "rxjs";
|
|
21
|
+
import { OmakasePlayerStyle } from "../omakase-player";
|
|
22
|
+
export interface Styles {
|
|
23
|
+
omakasePlayerStyle: OmakasePlayerStyle;
|
|
24
|
+
}
|
|
25
|
+
export declare class StylesProvider {
|
|
26
|
+
private static _instance;
|
|
27
|
+
readonly onChange$: Subject<Styles>;
|
|
28
|
+
private _styles;
|
|
29
|
+
private constructor();
|
|
30
|
+
static instance(): StylesProvider;
|
|
31
|
+
get styles(): Styles;
|
|
32
|
+
set styles(value: Partial<Styles>);
|
|
33
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Dimension, Position } from "./common/measurement";
|
|
2
|
+
export declare class Constants {
|
|
3
|
+
static POSITION_TOP_LEFT: Position;
|
|
4
|
+
static DIMENSION_ZERO: Dimension;
|
|
5
|
+
static GOLDEN_RATIO: number;
|
|
6
|
+
static TIMELINE_ZOOM_EASED_DURATION_MS: number;
|
|
7
|
+
static TIMELINE_SCROLL_EASED_DURATION_MS: number;
|
|
8
|
+
static MIME_TYPE_VND_APPLE_MPEGURL: string;
|
|
9
|
+
}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright 2023 ByOmakase, LLC (https://byomakase.org)
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*
|
|
16
|
+
* Includes rxjs <https://github.com/ReactiveX/rxjs>
|
|
17
|
+
* Available under Apache License Version 2.0
|
|
18
|
+
* <https://github.com/ReactiveX/rxjs/blob/master/LICENSE.txt>
|
|
19
|
+
*/
|
|
20
|
+
import { VideoController } from "../video/video-controller";
|
|
21
|
+
import { Timeline } from "../timeline/timeline";
|
|
22
|
+
export declare class DomController {
|
|
23
|
+
private readonly _playerHTMLElementId;
|
|
24
|
+
private _videoElement;
|
|
25
|
+
private _timelineElement;
|
|
26
|
+
private _videoController;
|
|
27
|
+
private videoEventBreaker$;
|
|
28
|
+
private showTemporaryOnMouseMoveTimeoutId;
|
|
29
|
+
private readonly divPlayer;
|
|
30
|
+
private divPlayerWrapper;
|
|
31
|
+
private divButtonPlay;
|
|
32
|
+
private divButtonPause;
|
|
33
|
+
private divButtonLoading;
|
|
34
|
+
private divButtonReplay;
|
|
35
|
+
private divButtonHelp;
|
|
36
|
+
private divHelp;
|
|
37
|
+
private divHelpMenu;
|
|
38
|
+
private _timeline;
|
|
39
|
+
constructor(playerHTMLElementId: string);
|
|
40
|
+
private createDom;
|
|
41
|
+
private getElementById;
|
|
42
|
+
private getPlayerElement;
|
|
43
|
+
private getPlayerElements;
|
|
44
|
+
private showElements;
|
|
45
|
+
private isShown;
|
|
46
|
+
private hideElements;
|
|
47
|
+
private helpChangeHandler;
|
|
48
|
+
isFullscreen(): boolean;
|
|
49
|
+
toggleFullscreen(videoElement: HTMLVideoElement): void;
|
|
50
|
+
set videoController(value: VideoController);
|
|
51
|
+
set timeline(value: Timeline);
|
|
52
|
+
get videoElement(): HTMLVideoElement;
|
|
53
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/***
|
|
2
|
+
* https://github.com/imbhargav5/rooks/blob/main/packages/rooks/src/hooks/useFullscreen.ts
|
|
3
|
+
*/
|
|
4
|
+
export interface FullscreenElement {
|
|
5
|
+
requestFullscreen?: Element["requestFullscreen"];
|
|
6
|
+
webkitRequestFullscreen?: Element["requestFullscreen"];
|
|
7
|
+
webkitRequestFullScreen?: Element["requestFullscreen"];
|
|
8
|
+
mozRequestFullScreen?: Element["requestFullscreen"];
|
|
9
|
+
msRequestFullscreen?: Element["requestFullscreen"];
|
|
10
|
+
}
|
|
11
|
+
export interface FullscreenDocument {
|
|
12
|
+
fullscreenEnabled?: Document["fullscreenEnabled"];
|
|
13
|
+
webkitFullscreenEnabled?: Document["fullscreenEnabled"];
|
|
14
|
+
mozFullScreenEnabled?: Document["fullscreenEnabled"];
|
|
15
|
+
msFullscreenEnabled?: Document["fullscreenEnabled"];
|
|
16
|
+
fullscreenElement?: Document["fullscreenElement"];
|
|
17
|
+
webkitFullscreenElement?: Document["fullscreenElement"];
|
|
18
|
+
webkitCurrentFullScreenElement?: Document["fullscreenElement"];
|
|
19
|
+
mozFullScreenElement?: Document["fullscreenElement"];
|
|
20
|
+
msFullscreenElement?: Document["fullscreenElement"];
|
|
21
|
+
exitFullscreen?: Document["exitFullscreen"];
|
|
22
|
+
webkitExitFullscreen?: Document["exitFullscreen"];
|
|
23
|
+
webkitCancelFullScreen?: Document["exitFullscreen"];
|
|
24
|
+
mozCancelFullScreen?: Document["exitFullscreen"];
|
|
25
|
+
msExitFullscreen?: Document["exitFullscreen"];
|
|
26
|
+
}
|
|
27
|
+
export declare class Fullscreen {
|
|
28
|
+
static isFullscreenEnabled(): boolean;
|
|
29
|
+
static isFullscreen(): boolean;
|
|
30
|
+
static requestFullscreen(element: Element | null, options?: FullscreenOptions | undefined): Promise<void>;
|
|
31
|
+
static exitFullscreen(): Promise<void>;
|
|
32
|
+
}
|
package/dist/events.d.ts
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export type OmakaseEventMap<T> = {
|
|
2
|
+
[K in keyof T]: T[K];
|
|
3
|
+
};
|
|
4
|
+
export type OmakaseEventKey<T extends OmakaseEventMap<any>> = keyof T;
|
|
5
|
+
export type OmakaseEventListener<T> = (event: T) => void;
|
|
6
|
+
export interface OmakaseEventEmitter<T extends OmakaseEventMap<any>> {
|
|
7
|
+
on<K extends OmakaseEventKey<T>>(eventKey: K, handler: OmakaseEventListener<T[K]>): void;
|
|
8
|
+
off<K extends OmakaseEventKey<T>>(eventKey: K, handler: OmakaseEventListener<T[K]>): void;
|
|
9
|
+
emit<K extends OmakaseEventKey<T>>(eventKey: K, event: T[K]): void;
|
|
10
|
+
once<K extends OmakaseEventKey<T>>(eventKey: K, handler: OmakaseEventListener<T[K]>): void;
|
|
11
|
+
listeners<K extends OmakaseEventKey<T>>(eventKey: K): OmakaseEventListener<T[K]>[];
|
|
12
|
+
listenerCount<K extends OmakaseEventKey<T>>(eventKey: K): void;
|
|
13
|
+
removeAllListeners<K extends OmakaseEventKey<T>>(eventKey?: K): void;
|
|
14
|
+
}
|
package/dist/http.d.ts
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
<svg width="30" height="30" viewBox="0 0 30 30" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<g filter="url(#filter0_d_313_115)">
|
|
3
|
+
<path d="M25.3001 19.16C27.5701 15.37 27.5701 10.63 25.3001 6.84C25.6501 6.52 25.6801 5.98 25.3601 5.63C25.3601 5.63 25.3401 5.61 25.3301 5.6L22.3901 2.66C22.0601 2.33 21.5201 2.33 21.1801 2.66C21.1801 2.66 21.1601 2.68 21.1501 2.69C17.3701 0.43 12.6301 0.43 8.84006 2.7C8.52006 2.35 7.99006 2.32 7.64006 2.64C7.63006 2.64 7.62006 2.66 7.61006 2.67L4.67006 5.61C4.34006 5.95 4.34006 6.49 4.67006 6.82C4.67006 6.82 4.69006 6.84 4.70006 6.85C2.43006 10.64 2.43006 15.38 4.70006 19.17C4.35006 19.49 4.32006 20.03 4.64006 20.38C4.64006 20.38 4.66006 20.4 4.67006 20.41L7.61006 23.35C7.95006 23.68 8.49006 23.68 8.82006 23.35C8.82006 23.35 8.84006 23.33 8.85006 23.32C12.6401 25.59 17.3801 25.59 21.1701 23.32C21.4901 23.67 22.0301 23.7 22.3801 23.38C22.3801 23.38 22.4001 23.36 22.4101 23.35L25.3501 20.41C25.6801 20.07 25.6801 19.53 25.3501 19.2C25.3501 19.2 25.3301 19.18 25.3201 19.18L25.3001 19.16ZM24.6501 18.58L22.2301 16.44C23.2601 14.27 23.2601 11.74 22.2301 9.57L24.6501 7.43C26.6501 10.88 26.6401 15.14 24.6501 18.59V18.58ZM21.7901 3.27L24.7301 6.2L21.5801 8.99L19.0001 6.42C19.1101 6.29 21.7801 3.28 21.7901 3.26V3.27ZM21.4101 16.16C21.2501 16.19 21.0901 16.27 20.9801 16.39L18.4001 18.97C18.2801 19.09 18.2001 19.24 18.1701 19.4C16.1801 20.38 13.8401 20.38 11.8501 19.4C11.8201 19.24 11.7401 19.08 11.6201 18.97L9.04006 16.39C8.92006 16.27 8.77006 16.19 8.61006 16.16C7.63006 14.17 7.63006 11.83 8.61006 9.84C8.77006 9.81 8.93006 9.73 9.05006 9.61L11.6301 7.03C11.7501 6.91 11.8301 6.76 11.8601 6.6C13.8501 5.62 16.1901 5.62 18.1801 6.6C18.2101 6.76 18.2901 6.92 18.4101 7.03L20.9901 9.61C21.1101 9.73 21.2601 9.81 21.4301 9.84C22.4101 11.83 22.4101 14.17 21.4301 16.16H21.4101ZM20.5801 3.35L18.4401 5.77C16.2701 4.73 13.7401 4.73 11.5701 5.77L9.43006 3.35C12.8801 1.35 17.1401 1.35 20.5901 3.35H20.5801ZM8.20006 3.27L10.9901 6.42L8.42006 9L5.26006 6.21L8.19006 3.27H8.20006ZM5.35006 7.42L7.77006 9.56C6.74006 11.73 6.74006 14.26 7.77006 16.43L5.35006 18.57C3.35006 15.12 3.35006 10.86 5.35006 7.41V7.42ZM8.21006 22.73L5.27006 19.8L8.42006 17.01L11.0001 19.58C11.0001 19.58 8.21006 22.73 8.21006 22.74V22.73ZM9.42006 22.65L11.5601 20.23C13.7301 21.27 16.2601 21.27 18.4301 20.23L20.5701 22.65C17.1201 24.65 12.8601 24.65 9.41006 22.65H9.42006ZM21.8001 22.73L19.0101 19.58L21.5801 17C21.5801 17 24.7301 19.79 24.7401 19.79L21.8101 22.73H21.8001Z" fill="white"/>
|
|
4
|
+
</g>
|
|
5
|
+
<defs>
|
|
6
|
+
<filter id="filter0_d_313_115" x="0.997559" y="0.996248" width="28.0049" height="28.0263" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
|
|
7
|
+
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
|
|
8
|
+
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
|
|
9
|
+
<feOffset dy="2"/>
|
|
10
|
+
<feGaussianBlur stdDeviation="1"/>
|
|
11
|
+
<feComposite in2="hardAlpha" operator="out"/>
|
|
12
|
+
<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.65 0"/>
|
|
13
|
+
<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_313_115"/>
|
|
14
|
+
<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_313_115" result="shape"/>
|
|
15
|
+
</filter>
|
|
16
|
+
</defs>
|
|
17
|
+
</svg>
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
<svg width="113" height="113" viewBox="0 0 113 113" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<g clip-path="url(#clip0_313_105)" filter="url(#filter0_d_313_105)">
|
|
3
|
+
<path d="M56.5001 0C54.7134 0 53.2654 1.44798 53.2654 3.23468V22.9391C53.2654 24.7258 54.7134 26.1738 56.5001 26.1738C58.2868 26.1738 59.7347 24.7258 59.7347 22.9391V3.23468C59.7347 1.44798 58.2868 0 56.5001 0Z" fill="white"/>
|
|
4
|
+
<path d="M93.6225 19.95C94.8842 18.6883 94.8842 16.6391 93.6225 15.3774C92.3608 14.1157 90.3116 14.1157 89.0499 15.3774L75.112 29.3153C73.8503 30.577 73.8503 32.6262 75.112 33.8879C76.3314 35.1073 78.4568 35.1073 79.6846 33.8879L93.6225 19.95Z" fill="white"/>
|
|
5
|
+
<path d="M23.95 15.3774C23.3234 14.7508 22.4936 14.429 21.6637 14.429C20.8339 14.429 20.004 14.7423 19.3774 15.3774C18.1157 16.6391 18.1157 18.6883 19.3774 19.95L33.3153 33.8879C34.5347 35.1073 36.6686 35.1073 37.8879 33.8879C39.1496 32.6262 39.1496 30.577 37.8879 29.3153L23.95 15.3774Z" fill="white"/>
|
|
6
|
+
<path d="M4 52.5C4 54.2867 5.44798 55.7347 7.23468 55.7347H26.9391C28.7258 55.7347 30.1738 54.2867 30.1738 52.5C30.1738 50.7133 28.7258 49.2653 26.9391 49.2653H7.23468C5.44798 49.2653 4 50.7133 4 52.5Z" fill="white"/>
|
|
7
|
+
<path d="M37.8795 75.6847C39.1412 74.423 39.1412 72.3738 37.8795 71.1121C36.6178 69.8504 34.5686 69.8504 33.3069 71.1121L19.369 85.05C18.7594 85.6597 18.4207 86.4726 18.4207 87.3363C18.4207 88.2 18.7594 89.0129 19.369 89.6226C20.5884 90.8419 22.7138 90.8419 23.9416 89.6226L37.8795 75.6847Z" fill="white"/>
|
|
8
|
+
<g opacity="0.3">
|
|
9
|
+
<path d="M105.765 49.2653H86.0609C84.2742 49.2653 82.8262 50.7133 82.8262 52.5C82.8262 54.2867 84.2742 55.7347 86.0609 55.7347H105.765C107.552 55.7347 109 54.2867 109 52.5C109 50.7133 107.552 49.2653 105.765 49.2653Z" fill="white"/>
|
|
10
|
+
<path d="M94.5709 87.3363C94.5709 86.4726 94.2322 85.6597 93.6225 85.05L79.6846 71.1121C79.0749 70.5024 78.262 70.1637 77.3983 70.1637C76.5346 70.1637 75.7217 70.5024 75.112 71.1121C73.8503 72.3738 73.8503 74.423 75.112 75.6847L89.0499 89.6226C90.2693 90.8419 92.3947 90.8419 93.6225 89.6226C94.2322 89.0129 94.5709 88.2 94.5709 87.3363Z" fill="white"/>
|
|
11
|
+
<path d="M56.5001 78.8262C54.7134 78.8262 53.2654 80.2742 53.2654 82.0609V101.765C53.2654 103.552 54.7134 105 56.5001 105C58.2868 105 59.7347 103.552 59.7347 101.765V82.0609C59.7347 80.2742 58.2868 78.8262 56.5001 78.8262Z" fill="white"/>
|
|
12
|
+
</g>
|
|
13
|
+
</g>
|
|
14
|
+
<defs>
|
|
15
|
+
<filter id="filter0_d_313_105" x="0" y="0" width="113" height="113" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
|
|
16
|
+
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
|
|
17
|
+
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
|
|
18
|
+
<feOffset dy="4"/>
|
|
19
|
+
<feGaussianBlur stdDeviation="2"/>
|
|
20
|
+
<feComposite in2="hardAlpha" operator="out"/>
|
|
21
|
+
<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.65 0"/>
|
|
22
|
+
<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_313_105"/>
|
|
23
|
+
<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_313_105" result="shape"/>
|
|
24
|
+
</filter>
|
|
25
|
+
<clipPath id="clip0_313_105">
|
|
26
|
+
<rect width="105" height="105" fill="white" transform="translate(4)"/>
|
|
27
|
+
</clipPath>
|
|
28
|
+
</defs>
|
|
29
|
+
</svg>
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
<svg width="114" height="114" viewBox="0 0 114 114" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<g filter="url(#filter0_d_261_534)">
|
|
3
|
+
<path d="M57.0001 0.320007C27.9526 0.320007 4.32007 23.9525 4.32007 53C4.32007 82.0475 27.9526 105.68 57.0001 105.68C86.0476 105.68 109.68 82.0475 109.68 53C109.68 23.9525 86.0476 0.320007 57.0001 0.320007ZM57.0001 103.18C29.3301 103.18 6.82007 80.67 6.82007 53C6.82007 25.33 29.3301 2.82001 57.0001 2.82001C84.6701 2.82001 107.18 25.33 107.18 53C107.18 80.67 84.6701 103.18 57.0001 103.18Z" fill="white"/>
|
|
4
|
+
<path d="M80.49 28.9H65.425C64.735 28.9 64.175 29.46 64.175 30.15V75.85C64.175 76.54 64.735 77.1 65.425 77.1H80.49C81.18 77.1 81.74 76.54 81.74 75.85V30.15C81.74 29.4575 81.18 28.9 80.49 28.9ZM79.24 74.6H66.675V31.4H79.24V74.6Z" fill="white"/>
|
|
5
|
+
<path d="M48.575 28.9H33.51C32.82 28.9 32.26 29.46 32.26 30.15V75.85C32.26 76.54 32.82 77.1 33.51 77.1H48.575C49.265 77.1 49.825 76.54 49.825 75.85V30.15C49.825 29.4575 49.265 28.9 48.575 28.9ZM47.325 74.6H34.76V31.4H47.325V74.6Z" fill="white"/>
|
|
6
|
+
</g>
|
|
7
|
+
<defs>
|
|
8
|
+
<filter id="filter0_d_261_534" x="0.320068" y="0.320007" width="113.36" height="113.36" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
|
|
9
|
+
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
|
|
10
|
+
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
|
|
11
|
+
<feOffset dy="4"/>
|
|
12
|
+
<feGaussianBlur stdDeviation="2"/>
|
|
13
|
+
<feComposite in2="hardAlpha" operator="out"/>
|
|
14
|
+
<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.65 0"/>
|
|
15
|
+
<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_261_534"/>
|
|
16
|
+
<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_261_534" result="shape"/>
|
|
17
|
+
</filter>
|
|
18
|
+
</defs>
|
|
19
|
+
</svg>
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
<svg width="114" height="114" viewBox="0 0 114 114" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<g filter="url(#filter0_d_261_530)">
|
|
3
|
+
<path d="M57.0001 0.320007C27.9526 0.320007 4.32007 23.9525 4.32007 53C4.32007 82.0475 27.9526 105.68 57.0001 105.68C86.0476 105.68 109.68 82.0475 109.68 53C109.68 23.9525 86.0476 0.320007 57.0001 0.320007ZM57.0001 103.18C29.3301 103.18 6.82007 80.67 6.82007 53C6.82007 25.33 29.3301 2.82001 57.0001 2.82001C84.6701 2.82001 107.18 25.33 107.18 53C107.18 80.67 84.6701 103.18 57.0001 103.18Z" fill="white"/>
|
|
4
|
+
<path d="M81.9476 51.9175L43.6801 29.825C43.2926 29.6025 42.8176 29.6025 42.4301 29.825C42.0426 30.0475 41.8051 30.46 41.8051 30.9075V75.0925C41.8051 75.54 42.0426 75.9525 42.4301 76.175C42.6226 76.2875 42.8401 76.3425 43.0551 76.3425C43.2701 76.3425 43.4876 76.2875 43.6801 76.175L81.9451 54.0825C82.3326 53.86 82.5701 53.4475 82.5701 53C82.5701 52.5525 82.3326 52.14 81.9476 51.9175ZM44.3051 72.9275V33.0725L78.8226 53L44.3051 72.9275Z" fill="white"/>
|
|
5
|
+
</g>
|
|
6
|
+
<defs>
|
|
7
|
+
<filter id="filter0_d_261_530" x="0.320068" y="0.320007" width="113.36" height="113.36" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
|
|
8
|
+
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
|
|
9
|
+
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
|
|
10
|
+
<feOffset dy="4"/>
|
|
11
|
+
<feGaussianBlur stdDeviation="2"/>
|
|
12
|
+
<feComposite in2="hardAlpha" operator="out"/>
|
|
13
|
+
<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.65 0"/>
|
|
14
|
+
<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_261_530"/>
|
|
15
|
+
<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_261_530" result="shape"/>
|
|
16
|
+
</filter>
|
|
17
|
+
</defs>
|
|
18
|
+
</svg>
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
<svg width="105" height="113" viewBox="0 0 105 113" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<g filter="url(#filter0_d_280_117)">
|
|
3
|
+
<g clip-path="url(#clip0_280_117)">
|
|
4
|
+
<path d="M4.11453 53.448C3.64226 60.3193 4.63823 67.1041 7.07672 73.6176C9.41468 79.867 12.938 85.45 17.5461 90.2148C21.9976 94.8159 27.251 98.4444 33.159 100.997C45.3327 106.258 58.7713 106.335 70.9988 101.21C94.0885 91.5357 106.017 65.3366 98.1565 41.5689C93.9926 28.9813 85.1107 18.8954 73.1521 13.1674C67.3469 10.3875 61.163 8.80709 54.7687 8.47042C48.15 8.12207 41.6247 9.13207 35.3754 11.47C32.0835 12.7021 28.9109 14.3036 25.951 16.2301L24.2724 17.3219L27.7817 1.48928C27.8518 1.16898 27.7957 0.84167 27.6203 0.565791C27.445 0.289912 27.1715 0.0981992 26.8512 0.0280605C26.1965 -0.114555 25.5419 0.301602 25.3946 0.958568L21.0858 20.4151C20.9922 20.8335 21.0741 21.2567 21.3149 21.6097C21.558 21.9651 21.9298 22.1966 22.3576 22.2597L42.0736 25.1447C42.7399 25.2429 43.3595 24.78 43.4577 24.1137C43.5068 23.7911 43.4249 23.4684 43.2309 23.2066C43.0345 22.9424 42.7493 22.7717 42.4243 22.725L24.574 20.1181L26.2947 18.9351C29.3832 16.8099 32.7264 15.0681 36.231 13.7589C47.9956 9.35651 60.7352 9.92697 72.0976 15.3697C83.4531 20.8078 91.8814 30.3818 95.8349 42.3311C103.298 64.897 91.9726 89.7706 70.0519 98.9564C64.3286 101.355 58.3224 102.555 52.3209 102.555C46.151 102.555 39.9881 101.287 34.1292 98.7577C22.5633 93.7591 13.768 84.5265 9.36324 72.7619C7.04165 66.557 6.09711 60.0949 6.55535 53.5509C6.57873 53.2096 6.45716 52.8729 6.21869 52.6228C5.98489 52.3773 5.67161 52.244 5.3326 52.244C5.32325 52.244 5.31156 52.244 5.30221 52.244C4.67797 52.2557 4.15661 52.7841 4.11453 53.4457V53.448Z" fill="white"/>
|
|
5
|
+
<path d="M75.5812 57.1701L39.7941 36.5095C39.4317 36.3015 38.9875 36.3015 38.6251 36.5095C38.2628 36.7176 38.0406 37.1034 38.0406 37.5219V78.8429C38.0406 79.2614 38.2628 79.6472 38.6251 79.8553C38.8052 79.9605 39.0086 80.0119 39.2096 80.0119C39.4107 80.0119 39.6141 79.9605 39.7941 79.8553L75.5789 59.1947C75.9413 58.9867 76.1634 58.6009 76.1634 58.1824C76.1634 57.7639 75.9413 57.3782 75.5812 57.1701ZM40.3786 76.8183V39.5465L72.6588 58.1824L40.3786 76.8183Z" fill="white"/>
|
|
6
|
+
</g>
|
|
7
|
+
</g>
|
|
8
|
+
<defs>
|
|
9
|
+
<filter id="filter0_d_280_117" x="0" y="0" width="104.567" height="113" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
|
|
10
|
+
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
|
|
11
|
+
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
|
|
12
|
+
<feOffset dy="4"/>
|
|
13
|
+
<feGaussianBlur stdDeviation="2"/>
|
|
14
|
+
<feComposite in2="hardAlpha" operator="out"/>
|
|
15
|
+
<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.65 0"/>
|
|
16
|
+
<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_280_117"/>
|
|
17
|
+
<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_280_117" result="shape"/>
|
|
18
|
+
</filter>
|
|
19
|
+
<clipPath id="clip0_280_117">
|
|
20
|
+
<rect width="96.567" height="105" fill="white" transform="translate(4)"/>
|
|
21
|
+
</clipPath>
|
|
22
|
+
</defs>
|
|
23
|
+
</svg>
|
package/dist/index.d.ts
ADDED