@draftbit/core 47.3.1-a89017.2 → 47.3.1-ae664b.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.
Files changed (32) hide show
  1. package/lib/src/components/AudioPlayer/AudioPlayerCommon.d.ts +39 -0
  2. package/lib/src/components/AudioPlayer/AudioPlayerCommon.js +2 -0
  3. package/lib/src/components/AudioPlayer/AudioPlayerCommon.js.map +1 -0
  4. package/lib/src/components/AudioPlayer/AudioPlayerWithInterface.d.ts +6 -0
  5. package/lib/src/components/AudioPlayer/AudioPlayerWithInterface.js +126 -0
  6. package/lib/src/components/AudioPlayer/AudioPlayerWithInterface.js.map +1 -0
  7. package/lib/src/components/AudioPlayer/HeadlessAudioPlayer.d.ts +8 -0
  8. package/lib/src/components/AudioPlayer/HeadlessAudioPlayer.js +132 -0
  9. package/lib/src/components/AudioPlayer/HeadlessAudioPlayer.js.map +1 -0
  10. package/lib/src/components/AudioPlayer/index.d.ts +10 -0
  11. package/lib/src/components/AudioPlayer/index.js +15 -0
  12. package/lib/src/components/AudioPlayer/index.js.map +1 -0
  13. package/lib/src/index.d.ts +1 -0
  14. package/lib/src/index.js +1 -0
  15. package/lib/src/index.js.map +1 -1
  16. package/lib/tsconfig.tsbuildinfo +1 -1
  17. package/package.json +5 -3
  18. package/src/components/AudioPlayer/AudioPlayerCommon.js +2 -0
  19. package/src/components/AudioPlayer/AudioPlayerCommon.js.map +1 -0
  20. package/src/components/AudioPlayer/AudioPlayerCommon.ts +44 -0
  21. package/src/components/AudioPlayer/AudioPlayerWithInterface.js +126 -0
  22. package/src/components/AudioPlayer/AudioPlayerWithInterface.js.map +1 -0
  23. package/src/components/AudioPlayer/AudioPlayerWithInterface.tsx +217 -0
  24. package/src/components/AudioPlayer/HeadlessAudioPlayer.js +132 -0
  25. package/src/components/AudioPlayer/HeadlessAudioPlayer.js.map +1 -0
  26. package/src/components/AudioPlayer/HeadlessAudioPlayer.tsx +187 -0
  27. package/src/components/AudioPlayer/index.js +15 -0
  28. package/src/components/AudioPlayer/index.js.map +1 -0
  29. package/src/components/AudioPlayer/index.tsx +30 -0
  30. package/src/index.js +1 -0
  31. package/src/index.js.map +1 -1
  32. package/src/index.tsx +5 -0
@@ -0,0 +1,187 @@
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
+ try {
38
+ await Audio.setAudioModeAsync({
39
+ staysActiveInBackground: playsInBackground,
40
+ interruptionModeIOS:
41
+ interruptionMode === "lower volume"
42
+ ? InterruptionModeIOS.DuckOthers
43
+ : InterruptionModeIOS.DoNotMix,
44
+ interruptionModeAndroid:
45
+ interruptionMode === "lower volume"
46
+ ? InterruptionModeAndroid.DuckOthers
47
+ : InterruptionModeAndroid.DoNotMix,
48
+ playsInSilentModeIOS,
49
+ playThroughEarpieceAndroid,
50
+ });
51
+ } catch (e) {
52
+ console.error(
53
+ "Failed to set audio mode. interruptionMode, playsInBackground, playsInSilentModeIOS, playThroughEarpieceAndroid might not be set. Failed with",
54
+ e
55
+ );
56
+ }
57
+ }, [
58
+ interruptionMode,
59
+ playsInBackground,
60
+ playsInSilentModeIOS,
61
+ playThroughEarpieceAndroid,
62
+ ]);
63
+
64
+ const onPlaybackStatusUpdate = (status: AVPlaybackStatus) => {
65
+ if (status.isLoaded) {
66
+ onPlaybackStatusUpdateProp?.({
67
+ isPlaying: status.isPlaying,
68
+ isLoading: false,
69
+ isBuffering: status.isBuffering,
70
+ currentPositionMillis: status.positionMillis || 0,
71
+ durationMillis: status.durationMillis || 0,
72
+ bufferedDurationMillis: status.playableDurationMillis || 0,
73
+ isError: false,
74
+ });
75
+
76
+ if (status.didJustFinish) {
77
+ onPlaybackFinish?.();
78
+ }
79
+
80
+ setIsPlaying(status.isPlaying);
81
+ } else if (status.error) {
82
+ onPlaybackStatusUpdateProp?.({
83
+ isPlaying: false,
84
+ isLoading: false,
85
+ isBuffering: false,
86
+ currentPositionMillis: 0,
87
+ durationMillis: 0,
88
+ bufferedDurationMillis: 0,
89
+ isError: true,
90
+ error: status.error,
91
+ });
92
+ }
93
+ };
94
+
95
+ const loadAudio = async () => {
96
+ onPlaybackStatusUpdateProp?.({
97
+ isPlaying: false,
98
+ isLoading: true,
99
+ isBuffering: false,
100
+ currentPositionMillis: 0,
101
+ durationMillis: 0,
102
+ bufferedDurationMillis: 0,
103
+ isError: false,
104
+ });
105
+
106
+ const { sound } = await Audio.Sound.createAsync(source);
107
+ setCurrentSound(sound);
108
+ sound.setOnPlaybackStatusUpdate(onPlaybackStatusUpdate);
109
+ };
110
+
111
+ const togglePlayback = React.useCallback(async () => {
112
+ //Has to be called everytime a player is played to reconfigure the global Audio config based on each player's configuration
113
+ await updateAudioMode();
114
+
115
+ if (isPlaying) {
116
+ await currentSound?.pauseAsync();
117
+ } else {
118
+ await currentSound?.playAsync();
119
+ }
120
+ }, [currentSound, updateAudioMode, isPlaying]);
121
+
122
+ const seekToPosition = React.useCallback(
123
+ async (positionMillis: number) => {
124
+ await currentSound?.setPositionAsync(positionMillis);
125
+ },
126
+ [currentSound]
127
+ );
128
+
129
+ useSourceDeepCompareEffect(() => {
130
+ loadAudio();
131
+
132
+ // Ignore dependency of loadAudio
133
+ }, [source]);
134
+
135
+ React.useEffect(() => {
136
+ return currentSound
137
+ ? () => {
138
+ currentSound.unloadAsync();
139
+ }
140
+ : undefined;
141
+ }, [currentSound]);
142
+
143
+ React.useImperativeHandle(
144
+ ref,
145
+ () => {
146
+ return {
147
+ seekToPosition,
148
+ togglePlayback,
149
+ };
150
+ },
151
+ [seekToPosition, togglePlayback]
152
+ );
153
+
154
+ return null;
155
+ }
156
+ );
157
+
158
+ // The source provided into the AudioPlayer can be of type {uri: "some uri"}
159
+ // In the case that this object is created inline, each rerender provides a new source object because a new object is initialized everytime
160
+ // This creates an issue with being a useEffect dependency
161
+ //
162
+ // This creates variants of useEffect that checks deep equality of 'uri' to determine if dependency changed or not
163
+ // Follows: https://stackoverflow.com/a/54096391
164
+ function sourceDeepCompareEquals(a: any, b: any) {
165
+ if (a?.uri && b?.uri) {
166
+ return a.uri === b.uri;
167
+ }
168
+ return a === b;
169
+ }
170
+
171
+ function useSourceDeepCompareMemoize(value: any) {
172
+ const ref = React.useRef();
173
+ if (!sourceDeepCompareEquals(value, ref.current)) {
174
+ ref.current = value;
175
+ }
176
+ return ref.current;
177
+ }
178
+
179
+ function useSourceDeepCompareEffect(
180
+ callback: React.EffectCallback,
181
+ dependencies: React.DependencyList
182
+ ) {
183
+ // eslint-disable-next-line react-hooks/exhaustive-deps
184
+ React.useEffect(callback, dependencies.map(useSourceDeepCompareMemoize));
185
+ }
186
+
187
+ 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";