@draftbit/core 47.3.0 → 47.3.1-11ae91.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/lib/src/components/AudioPlayer/AudioPlayerCommon.d.ts +39 -0
- package/lib/src/components/AudioPlayer/AudioPlayerCommon.js +2 -0
- package/lib/src/components/AudioPlayer/AudioPlayerCommon.js.map +1 -0
- package/lib/src/components/AudioPlayer/AudioPlayerWithInterface.d.ts +6 -0
- package/lib/src/components/AudioPlayer/AudioPlayerWithInterface.js +125 -0
- package/lib/src/components/AudioPlayer/AudioPlayerWithInterface.js.map +1 -0
- package/lib/src/components/AudioPlayer/HeadlessAudioPlayer.d.ts +8 -0
- package/lib/src/components/AudioPlayer/HeadlessAudioPlayer.js +127 -0
- package/lib/src/components/AudioPlayer/HeadlessAudioPlayer.js.map +1 -0
- package/lib/src/components/AudioPlayer/index.d.ts +10 -0
- package/lib/src/components/AudioPlayer/index.js +15 -0
- package/lib/src/components/AudioPlayer/index.js.map +1 -0
- package/lib/src/index.d.ts +1 -0
- package/lib/src/index.js +1 -0
- package/lib/src/index.js.map +1 -1
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/package.json +5 -3
- package/src/components/AudioPlayer/AudioPlayerCommon.js +2 -0
- package/src/components/AudioPlayer/AudioPlayerCommon.js.map +1 -0
- package/src/components/AudioPlayer/AudioPlayerCommon.ts +44 -0
- package/src/components/AudioPlayer/AudioPlayerWithInterface.js +125 -0
- package/src/components/AudioPlayer/AudioPlayerWithInterface.js.map +1 -0
- package/src/components/AudioPlayer/AudioPlayerWithInterface.tsx +216 -0
- package/src/components/AudioPlayer/HeadlessAudioPlayer.js +127 -0
- package/src/components/AudioPlayer/HeadlessAudioPlayer.js.map +1 -0
- package/src/components/AudioPlayer/HeadlessAudioPlayer.tsx +180 -0
- package/src/components/AudioPlayer/index.js +15 -0
- package/src/components/AudioPlayer/index.js.map +1 -0
- package/src/components/AudioPlayer/index.tsx +30 -0
- package/src/index.js +1 -0
- package/src/index.js.map +1 -1
- package/src/index.tsx +5 -0
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import {
|
|
3
|
+
Audio,
|
|
4
|
+
AVPlaybackStatus,
|
|
5
|
+
InterruptionModeIOS,
|
|
6
|
+
InterruptionModeAndroid,
|
|
7
|
+
} from "expo-av";
|
|
8
|
+
import {
|
|
9
|
+
HeadlessAudioPlayerProps,
|
|
10
|
+
HeadlessAudioPlayerRef,
|
|
11
|
+
} from "./AudioPlayerCommon";
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* Audio Player component without an interface (UI).
|
|
15
|
+
* Only handles playing of the audio and provides callbacks and ref functions
|
|
16
|
+
*/
|
|
17
|
+
const HeadlessAudioPlayer = React.forwardRef<
|
|
18
|
+
HeadlessAudioPlayerRef,
|
|
19
|
+
HeadlessAudioPlayerProps
|
|
20
|
+
>(
|
|
21
|
+
(
|
|
22
|
+
{
|
|
23
|
+
source,
|
|
24
|
+
interruptionMode = "lower volume",
|
|
25
|
+
playsInBackground = false,
|
|
26
|
+
playsInSilentModeIOS = false,
|
|
27
|
+
playThroughEarpieceAndroid = false,
|
|
28
|
+
onPlaybackStatusUpdate: onPlaybackStatusUpdateProp,
|
|
29
|
+
onPlaybackFinish,
|
|
30
|
+
},
|
|
31
|
+
ref
|
|
32
|
+
) => {
|
|
33
|
+
const [currentSound, setCurrentSound] = React.useState<Audio.Sound>();
|
|
34
|
+
const [isPlaying, setIsPlaying] = React.useState(false);
|
|
35
|
+
|
|
36
|
+
const updateAudioMode = React.useCallback(async () => {
|
|
37
|
+
await Audio.setAudioModeAsync({
|
|
38
|
+
staysActiveInBackground: playsInBackground,
|
|
39
|
+
interruptionModeIOS:
|
|
40
|
+
interruptionMode === "lower volume"
|
|
41
|
+
? InterruptionModeIOS.DuckOthers
|
|
42
|
+
: InterruptionModeIOS.DoNotMix,
|
|
43
|
+
interruptionModeAndroid:
|
|
44
|
+
interruptionMode === "lower volume"
|
|
45
|
+
? InterruptionModeAndroid.DuckOthers
|
|
46
|
+
: InterruptionModeAndroid.DoNotMix,
|
|
47
|
+
playsInSilentModeIOS,
|
|
48
|
+
playThroughEarpieceAndroid,
|
|
49
|
+
});
|
|
50
|
+
}, [
|
|
51
|
+
interruptionMode,
|
|
52
|
+
playsInBackground,
|
|
53
|
+
playsInSilentModeIOS,
|
|
54
|
+
playThroughEarpieceAndroid,
|
|
55
|
+
]);
|
|
56
|
+
|
|
57
|
+
const onPlaybackStatusUpdate = (status: AVPlaybackStatus) => {
|
|
58
|
+
if (status.isLoaded) {
|
|
59
|
+
onPlaybackStatusUpdateProp?.({
|
|
60
|
+
isPlaying: status.isPlaying,
|
|
61
|
+
isLoading: false,
|
|
62
|
+
isBuffering: status.isBuffering,
|
|
63
|
+
currentPositionMillis: status.positionMillis || 0,
|
|
64
|
+
durationMillis: status.durationMillis || 0,
|
|
65
|
+
bufferedDurationMillis: status.playableDurationMillis || 0,
|
|
66
|
+
isError: false,
|
|
67
|
+
});
|
|
68
|
+
|
|
69
|
+
if (status.didJustFinish) {
|
|
70
|
+
onPlaybackFinish?.();
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
setIsPlaying(status.isPlaying);
|
|
74
|
+
} else if (status.error) {
|
|
75
|
+
onPlaybackStatusUpdateProp?.({
|
|
76
|
+
isPlaying: false,
|
|
77
|
+
isLoading: false,
|
|
78
|
+
isBuffering: false,
|
|
79
|
+
currentPositionMillis: 0,
|
|
80
|
+
durationMillis: 0,
|
|
81
|
+
bufferedDurationMillis: 0,
|
|
82
|
+
isError: true,
|
|
83
|
+
error: status.error,
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
};
|
|
87
|
+
|
|
88
|
+
const loadAudio = async () => {
|
|
89
|
+
onPlaybackStatusUpdateProp?.({
|
|
90
|
+
isPlaying: false,
|
|
91
|
+
isLoading: true,
|
|
92
|
+
isBuffering: false,
|
|
93
|
+
currentPositionMillis: 0,
|
|
94
|
+
durationMillis: 0,
|
|
95
|
+
bufferedDurationMillis: 0,
|
|
96
|
+
isError: false,
|
|
97
|
+
});
|
|
98
|
+
|
|
99
|
+
const { sound } = await Audio.Sound.createAsync(source);
|
|
100
|
+
setCurrentSound(sound);
|
|
101
|
+
sound.setOnPlaybackStatusUpdate(onPlaybackStatusUpdate);
|
|
102
|
+
};
|
|
103
|
+
|
|
104
|
+
const togglePlayback = React.useCallback(async () => {
|
|
105
|
+
//Has to be called everytime a player is played to reconfigure the global Audio config based on each player's configuration
|
|
106
|
+
await updateAudioMode();
|
|
107
|
+
|
|
108
|
+
if (isPlaying) {
|
|
109
|
+
await currentSound?.pauseAsync();
|
|
110
|
+
} else {
|
|
111
|
+
await currentSound?.playAsync();
|
|
112
|
+
}
|
|
113
|
+
}, [currentSound, updateAudioMode, isPlaying]);
|
|
114
|
+
|
|
115
|
+
const seekToPosition = React.useCallback(
|
|
116
|
+
async (positionMillis: number) => {
|
|
117
|
+
await currentSound?.setPositionAsync(positionMillis);
|
|
118
|
+
},
|
|
119
|
+
[currentSound]
|
|
120
|
+
);
|
|
121
|
+
|
|
122
|
+
useSourceDeepCompareEffect(() => {
|
|
123
|
+
loadAudio();
|
|
124
|
+
|
|
125
|
+
// Ignore dependency of loadAudio
|
|
126
|
+
}, [source]);
|
|
127
|
+
|
|
128
|
+
React.useEffect(() => {
|
|
129
|
+
return currentSound
|
|
130
|
+
? () => {
|
|
131
|
+
currentSound.unloadAsync();
|
|
132
|
+
}
|
|
133
|
+
: undefined;
|
|
134
|
+
}, [currentSound]);
|
|
135
|
+
|
|
136
|
+
React.useImperativeHandle(
|
|
137
|
+
ref,
|
|
138
|
+
() => {
|
|
139
|
+
return {
|
|
140
|
+
seekToPosition,
|
|
141
|
+
togglePlayback,
|
|
142
|
+
};
|
|
143
|
+
},
|
|
144
|
+
[seekToPosition, togglePlayback]
|
|
145
|
+
);
|
|
146
|
+
|
|
147
|
+
return null;
|
|
148
|
+
}
|
|
149
|
+
);
|
|
150
|
+
|
|
151
|
+
// The source provided into the AudioPlayer can be of type {uri: "some uri"}
|
|
152
|
+
// In the case that this object is created inline, each rerender provides a new source object because a new object is initialized everytime
|
|
153
|
+
// This creates an issue with being a useEffect dependency
|
|
154
|
+
//
|
|
155
|
+
// This creates variants of useEffect that checks deep equality of 'uri' to determine if dependency changed or not
|
|
156
|
+
// Follows: https://stackoverflow.com/a/54096391
|
|
157
|
+
function sourceDeepCompareEquals(a: any, b: any) {
|
|
158
|
+
if (a?.uri && b?.uri) {
|
|
159
|
+
return a.uri === b.uri;
|
|
160
|
+
}
|
|
161
|
+
return a === b;
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
function useSourceDeepCompareMemoize(value: any) {
|
|
165
|
+
const ref = React.useRef();
|
|
166
|
+
if (!sourceDeepCompareEquals(value, ref.current)) {
|
|
167
|
+
ref.current = value;
|
|
168
|
+
}
|
|
169
|
+
return ref.current;
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
function useSourceDeepCompareEffect(
|
|
173
|
+
callback: React.EffectCallback,
|
|
174
|
+
dependencies: React.DependencyList
|
|
175
|
+
) {
|
|
176
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
177
|
+
React.useEffect(callback, dependencies.map(useSourceDeepCompareMemoize));
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
export default HeadlessAudioPlayer;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import { withTheme } from "../../theming";
|
|
3
|
+
import HeadlessAudioPlayer from "./HeadlessAudioPlayer";
|
|
4
|
+
import AudioPlayerWithInterface from "./AudioPlayerWithInterface";
|
|
5
|
+
const AudioPlayer = React.forwardRef(({ mode = "interface", ...rest }, ref) => {
|
|
6
|
+
switch (mode) {
|
|
7
|
+
case "headless":
|
|
8
|
+
return React.createElement(HeadlessAudioPlayer, { ref: ref, ...rest });
|
|
9
|
+
case "interface":
|
|
10
|
+
//@ts-ignore Typescript unable to handle nested passing of theme
|
|
11
|
+
return React.createElement(AudioPlayerWithInterface, { ref: ref, ...rest });
|
|
12
|
+
}
|
|
13
|
+
});
|
|
14
|
+
export default withTheme(AudioPlayer);
|
|
15
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAM1C,OAAO,mBAAmB,MAAM,uBAAuB,CAAC;AACxD,OAAO,wBAAwB,MAAM,4BAA4B,CAAC;AAMlE,MAAM,WAAW,GAAG,KAAK,CAAC,UAAU,CAGlC,CAAC,EAAE,IAAI,GAAG,WAAW,EAAE,GAAG,IAAI,EAAE,EAAE,GAAG,EAAE,EAAE;IACzC,QAAQ,IAAI,EAAE;QACZ,KAAK,UAAU;YACb,OAAO,oBAAC,mBAAmB,IAAC,GAAG,EAAE,GAAG,KAAM,IAAI,GAAI,CAAC;QACrD,KAAK,WAAW;YACd,gEAAgE;YAChE,OAAO,oBAAC,wBAAwB,IAAC,GAAG,EAAE,GAAG,KAAM,IAAI,GAAI,CAAC;KAC3D;AACH,CAAC,CAAC,CAAC;AAEH,eAAe,SAAS,CAAC,WAAW,CAAC,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import { withTheme } from "../../theming";
|
|
3
|
+
import {
|
|
4
|
+
AudioPlayerInterfaceProps,
|
|
5
|
+
HeadlessAudioPlayerProps,
|
|
6
|
+
HeadlessAudioPlayerRef,
|
|
7
|
+
} from "./AudioPlayerCommon";
|
|
8
|
+
import HeadlessAudioPlayer from "./HeadlessAudioPlayer";
|
|
9
|
+
import AudioPlayerWithInterface from "./AudioPlayerWithInterface";
|
|
10
|
+
|
|
11
|
+
interface AudioPlayerProps {
|
|
12
|
+
mode?: "interface" | "headless";
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
const AudioPlayer = React.forwardRef<
|
|
16
|
+
HeadlessAudioPlayerRef,
|
|
17
|
+
AudioPlayerProps & AudioPlayerInterfaceProps & HeadlessAudioPlayerProps
|
|
18
|
+
>(({ mode = "interface", ...rest }, ref) => {
|
|
19
|
+
switch (mode) {
|
|
20
|
+
case "headless":
|
|
21
|
+
return <HeadlessAudioPlayer ref={ref} {...rest} />;
|
|
22
|
+
case "interface":
|
|
23
|
+
//@ts-ignore Typescript unable to handle nested passing of theme
|
|
24
|
+
return <AudioPlayerWithInterface ref={ref} {...rest} />;
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
|
|
28
|
+
export default withTheme(AudioPlayer);
|
|
29
|
+
|
|
30
|
+
export { HeadlessAudioPlayerRef as AudioPlayerRef } from "./AudioPlayerCommon";
|
package/src/index.js
CHANGED
|
@@ -39,6 +39,7 @@ export { BottomSheet } from "./components/BottomSheet";
|
|
|
39
39
|
export { YoutubePlayer } from "./components/YoutubePlayer";
|
|
40
40
|
export { Table, TableRow, TableCell } from "./components/Table";
|
|
41
41
|
export { SwipeableItem, SwipeableItemButton, SwipeableList, } from "./components/SwipeableItem";
|
|
42
|
+
export { default as AudioPlayer, } from "./components/AudioPlayer";
|
|
42
43
|
/* Deprecated: Fix or Delete! */
|
|
43
44
|
export { default as DatePicker } from "./components/DatePicker/DatePicker";
|
|
44
45
|
export { default as Picker } from "./components/Picker/Picker";
|
package/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["index.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["index.tsx"],"names":[],"mappings":"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"}
|
package/src/index.tsx
CHANGED
|
@@ -70,6 +70,11 @@ export {
|
|
|
70
70
|
SwipeableList,
|
|
71
71
|
} from "./components/SwipeableItem";
|
|
72
72
|
|
|
73
|
+
export {
|
|
74
|
+
default as AudioPlayer,
|
|
75
|
+
AudioPlayerRef,
|
|
76
|
+
} from "./components/AudioPlayer";
|
|
77
|
+
|
|
73
78
|
/* Deprecated: Fix or Delete! */
|
|
74
79
|
export { default as DatePicker } from "./components/DatePicker/DatePicker";
|
|
75
80
|
export { default as Picker } from "./components/Picker/Picker";
|