@draftbit/core 48.1.1-8c009b.2 → 48.1.1-bf4ff4.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 (109) hide show
  1. package/lib/src/components/MediaPlayer/AudioPlayer/AudioPlayerCommon.d.ts +22 -0
  2. package/lib/src/components/MediaPlayer/AudioPlayer/AudioPlayerCommon.js.map +1 -0
  3. package/lib/src/components/MediaPlayer/AudioPlayer/AudioPlayerWithInterface.d.ts +7 -0
  4. package/lib/src/components/{AudioPlayer → MediaPlayer/AudioPlayer}/AudioPlayerWithInterface.js +6 -6
  5. package/lib/src/components/MediaPlayer/AudioPlayer/AudioPlayerWithInterface.js.map +1 -0
  6. package/lib/src/components/{AudioPlayer → MediaPlayer/AudioPlayer}/HeadlessAudioPlayer.d.ts +3 -2
  7. package/lib/src/components/{AudioPlayer → MediaPlayer/AudioPlayer}/HeadlessAudioPlayer.js +9 -48
  8. package/lib/src/components/MediaPlayer/AudioPlayer/HeadlessAudioPlayer.js.map +1 -0
  9. package/lib/src/components/{AudioPlayer → MediaPlayer/AudioPlayer}/index.d.ts +5 -4
  10. package/{src/components → lib/src/components/MediaPlayer}/AudioPlayer/index.js +1 -1
  11. package/lib/src/components/MediaPlayer/AudioPlayer/index.js.map +1 -0
  12. package/lib/src/components/MediaPlayer/MediaPlaybackWrapper.d.ts +15 -0
  13. package/lib/src/components/MediaPlayer/MediaPlaybackWrapper.js +32 -0
  14. package/lib/src/components/MediaPlayer/MediaPlaybackWrapper.js.map +1 -0
  15. package/lib/src/components/MediaPlayer/MediaPlayerCommon.d.ts +21 -0
  16. package/lib/src/components/MediaPlayer/MediaPlayerCommon.js +24 -0
  17. package/lib/src/components/MediaPlayer/MediaPlayerCommon.js.map +1 -0
  18. package/lib/src/components/MediaPlayer/VideoPlayer/VideoPlayer.d.ts +15 -0
  19. package/lib/src/components/MediaPlayer/VideoPlayer/VideoPlayer.js +73 -0
  20. package/lib/src/components/MediaPlayer/VideoPlayer/VideoPlayer.js.map +1 -0
  21. package/lib/src/components/MediaPlayer/VideoPlayer/index.d.ts +2 -0
  22. package/lib/src/components/MediaPlayer/VideoPlayer/index.js +2 -0
  23. package/lib/src/components/MediaPlayer/VideoPlayer/index.js.map +1 -0
  24. package/lib/src/components/NumberInput.d.ts +5 -3
  25. package/lib/src/components/NumberInput.js +13 -3
  26. package/lib/src/components/NumberInput.js.map +1 -1
  27. package/lib/src/components/Progress/CircularProgress/CircularProgress.d.ts +3 -0
  28. package/lib/src/components/Progress/CircularProgress/CircularProgress.js +3 -3
  29. package/lib/src/components/Progress/CircularProgress/CircularProgress.js.map +1 -1
  30. package/lib/src/components/Progress/IndeterminateProgress.js +1 -1
  31. package/lib/src/components/Progress/IndeterminateProgress.js.map +1 -1
  32. package/lib/src/components/Progress/LinearProgress/LinearProgress.d.ts +3 -0
  33. package/lib/src/components/Progress/LinearProgress/LinearProgress.js +3 -3
  34. package/lib/src/components/Progress/LinearProgress/LinearProgress.js.map +1 -1
  35. package/lib/src/components/Progress/ProgressCommon.d.ts +1 -0
  36. package/lib/src/components/TextField.d.ts +2 -1
  37. package/lib/src/components/TextField.js +3 -2
  38. package/lib/src/components/TextField.js.map +1 -1
  39. package/lib/src/components/TextInput.d.ts +8 -0
  40. package/lib/src/components/TextInput.js +15 -0
  41. package/lib/src/components/TextInput.js.map +1 -0
  42. package/lib/src/hooks.d.ts +1 -0
  43. package/lib/src/hooks.js +12 -0
  44. package/lib/src/hooks.js.map +1 -1
  45. package/lib/src/index.d.ts +3 -1
  46. package/lib/src/index.js +3 -1
  47. package/lib/src/index.js.map +1 -1
  48. package/lib/tsconfig.tsbuildinfo +1 -1
  49. package/package.json +13 -10
  50. package/src/components/MediaPlayer/AudioPlayer/AudioPlayerCommon.ts +25 -0
  51. package/src/components/{AudioPlayer → MediaPlayer/AudioPlayer}/AudioPlayerWithInterface.js +6 -6
  52. package/src/components/MediaPlayer/AudioPlayer/AudioPlayerWithInterface.js.map +1 -0
  53. package/src/components/{AudioPlayer → MediaPlayer/AudioPlayer}/AudioPlayerWithInterface.tsx +11 -9
  54. package/src/components/{AudioPlayer → MediaPlayer/AudioPlayer}/HeadlessAudioPlayer.js +9 -48
  55. package/src/components/MediaPlayer/AudioPlayer/HeadlessAudioPlayer.js.map +1 -0
  56. package/src/components/{AudioPlayer → MediaPlayer/AudioPlayer}/HeadlessAudioPlayer.tsx +19 -64
  57. package/{lib/src/components → src/components/MediaPlayer}/AudioPlayer/index.js +1 -1
  58. package/src/components/MediaPlayer/AudioPlayer/index.js.map +1 -0
  59. package/src/components/{AudioPlayer → MediaPlayer/AudioPlayer}/index.tsx +4 -4
  60. package/src/components/MediaPlayer/MediaPlaybackWrapper.js +32 -0
  61. package/src/components/MediaPlayer/MediaPlaybackWrapper.js.map +1 -0
  62. package/src/components/MediaPlayer/MediaPlaybackWrapper.tsx +56 -0
  63. package/src/components/MediaPlayer/MediaPlayerCommon.js +24 -0
  64. package/src/components/MediaPlayer/MediaPlayerCommon.js.map +1 -0
  65. package/src/components/MediaPlayer/MediaPlayerCommon.ts +50 -0
  66. package/src/components/MediaPlayer/VideoPlayer/VideoPlayer.js +73 -0
  67. package/src/components/MediaPlayer/VideoPlayer/VideoPlayer.js.map +1 -0
  68. package/src/components/MediaPlayer/VideoPlayer/VideoPlayer.tsx +136 -0
  69. package/src/components/MediaPlayer/VideoPlayer/index.js +2 -0
  70. package/src/components/MediaPlayer/VideoPlayer/index.js.map +1 -0
  71. package/src/components/MediaPlayer/VideoPlayer/index.ts +2 -0
  72. package/src/components/NumberInput.js +13 -3
  73. package/src/components/NumberInput.js.map +1 -1
  74. package/src/components/NumberInput.tsx +34 -5
  75. package/src/components/Progress/CircularProgress/CircularProgress.js +3 -3
  76. package/src/components/Progress/CircularProgress/CircularProgress.js.map +1 -1
  77. package/src/components/Progress/CircularProgress/CircularProgress.tsx +3 -1
  78. package/src/components/Progress/IndeterminateProgress.js +1 -1
  79. package/src/components/Progress/IndeterminateProgress.js.map +1 -1
  80. package/src/components/Progress/IndeterminateProgress.tsx +1 -0
  81. package/src/components/Progress/LinearProgress/LinearProgress.js +3 -3
  82. package/src/components/Progress/LinearProgress/LinearProgress.js.map +1 -1
  83. package/src/components/Progress/LinearProgress/LinearProgress.tsx +3 -1
  84. package/src/components/Progress/ProgressCommon.ts +1 -0
  85. package/src/components/TextField.js +3 -2
  86. package/src/components/TextField.js.map +1 -1
  87. package/src/components/TextField.tsx +2 -2
  88. package/src/components/TextInput.js +15 -0
  89. package/src/components/TextInput.js.map +1 -0
  90. package/src/components/TextInput.tsx +35 -0
  91. package/src/hooks.js +12 -0
  92. package/src/hooks.js.map +1 -1
  93. package/src/hooks.ts +16 -0
  94. package/src/index.js +3 -1
  95. package/src/index.js.map +1 -1
  96. package/src/index.tsx +6 -1
  97. package/lib/src/components/AudioPlayer/AudioPlayerCommon.d.ts +0 -39
  98. package/lib/src/components/AudioPlayer/AudioPlayerCommon.js.map +0 -1
  99. package/lib/src/components/AudioPlayer/AudioPlayerWithInterface.d.ts +0 -6
  100. package/lib/src/components/AudioPlayer/AudioPlayerWithInterface.js.map +0 -1
  101. package/lib/src/components/AudioPlayer/HeadlessAudioPlayer.js.map +0 -1
  102. package/lib/src/components/AudioPlayer/index.js.map +0 -1
  103. package/src/components/AudioPlayer/AudioPlayerCommon.ts +0 -44
  104. package/src/components/AudioPlayer/AudioPlayerWithInterface.js.map +0 -1
  105. package/src/components/AudioPlayer/HeadlessAudioPlayer.js.map +0 -1
  106. package/src/components/AudioPlayer/index.js.map +0 -1
  107. /package/lib/src/components/{AudioPlayer → MediaPlayer/AudioPlayer}/AudioPlayerCommon.js +0 -0
  108. /package/src/components/{AudioPlayer → MediaPlayer/AudioPlayer}/AudioPlayerCommon.js +0 -0
  109. /package/src/components/{AudioPlayer → MediaPlayer/AudioPlayer}/AudioPlayerCommon.js.map +0 -0
@@ -0,0 +1,22 @@
1
+ import { StyleProp, ViewStyle, TextStyle } from "react-native";
2
+ import type { Theme } from "../../../styles/DefaultTheme";
3
+ import { MediaPlayerProps } from "../MediaPlayerCommon";
4
+ export declare type AudioInterruptionMode = "lower volume" | "stop";
5
+ export interface HeadlessAudioPlayerProps extends MediaPlayerProps {
6
+ interruptionMode?: AudioInterruptionMode;
7
+ playsInBackground?: boolean;
8
+ playsInSilentModeIOS?: boolean;
9
+ playThroughEarpieceAndroid?: boolean;
10
+ }
11
+ export interface AudioPlayerInterfaceProps {
12
+ style?: StyleProp<ViewStyle & TextStyle>;
13
+ thumbColor?: string;
14
+ completedTrackColor?: string;
15
+ remainingTrackColor?: string;
16
+ togglePlaybackIconSize?: number;
17
+ togglePlaybackIconColor?: string;
18
+ hidePlaybackIcon?: boolean;
19
+ hideDuration?: boolean;
20
+ hideSlider?: boolean;
21
+ theme: Theme;
22
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AudioPlayerCommon.js","sourceRoot":"","sources":["../../../../../src/components/MediaPlayer/AudioPlayer/AudioPlayerCommon.ts"],"names":[],"mappings":""}
@@ -0,0 +1,7 @@
1
+ import * as React from "react";
2
+ import { AudioPlayerInterfaceProps, HeadlessAudioPlayerProps } from "./AudioPlayerCommon";
3
+ import { MediaPlayerRef } from "../MediaPlayerCommon";
4
+ declare const _default: React.ComponentType<import("@draftbit/react-theme-provider").$Without<AudioPlayerInterfaceProps & HeadlessAudioPlayerProps & React.RefAttributes<MediaPlayerRef>, "theme"> & {
5
+ theme?: import("@draftbit/react-theme-provider").$DeepPartial<any> | undefined;
6
+ }> & import("@draftbit/react-theme-provider/typings/hoist-non-react-statics").NonReactStatics<React.ComponentType<AudioPlayerInterfaceProps & HeadlessAudioPlayerProps & React.RefAttributes<MediaPlayerRef>> & React.ForwardRefExoticComponent<AudioPlayerInterfaceProps & HeadlessAudioPlayerProps & React.RefAttributes<MediaPlayerRef>>, {}>;
7
+ export default _default;
@@ -1,10 +1,10 @@
1
1
  import * as React from "react";
2
2
  import { Text, View, StyleSheet } from "react-native";
3
3
  import { AntDesign } from "@expo/vector-icons";
4
- import { withTheme } from "../../theming";
4
+ import { withTheme } from "../../../theming";
5
5
  import Slider from "@react-native-community/slider";
6
6
  import HeadlessAudioPlayer from "./HeadlessAudioPlayer";
7
- import Pressable from "../Pressable";
7
+ import Pressable from "../../Pressable";
8
8
  /**
9
9
  * Built on top of HeadlessAudioPlayer to provide a simple interface for playing audio
10
10
  */
@@ -72,7 +72,7 @@ const AudioPlayerWithInterface = React.forwardRef(({ style, theme, thumbColor =
72
72
  }
73
73
  return (React.createElement(React.Fragment, null,
74
74
  React.createElement(HeadlessAudioPlayer, { ...rest, ref: headlessAudioPlayerRef, onPlaybackStatusUpdate: onPlaybackStatusUpdate, onPlaybackFinish: onPlaybackFinish }),
75
- React.createElement(View, { style: [
75
+ React.createElement(View, { testID: "audio-player-interface", style: [
76
76
  {
77
77
  backgroundColor: theme.colors.background,
78
78
  borderColor: theme.colors.divider,
@@ -80,9 +80,9 @@ const AudioPlayerWithInterface = React.forwardRef(({ style, theme, thumbColor =
80
80
  styles.container,
81
81
  viewStyles,
82
82
  ] },
83
- !hidePlaybackIcon && (React.createElement(Pressable, { onPress: () => { var _a; return (_a = headlessAudioPlayerRef.current) === null || _a === void 0 ? void 0 : _a.togglePlayback(); }, style: styles.spacingEnd },
83
+ !hidePlaybackIcon && (React.createElement(Pressable, { testID: "audio-player-playback-icon", onPress: () => { var _a; return (_a = headlessAudioPlayerRef.current) === null || _a === void 0 ? void 0 : _a.togglePlayback(); }, style: styles.spacingEnd },
84
84
  React.createElement(AntDesign, { name: iconName, size: togglePlaybackIconSize, color: togglePlaybackIconColor }))),
85
- !hideDuration && (React.createElement(Text, { style: [
85
+ !hideDuration && (React.createElement(Text, { testID: "audio-player-duration", style: [
86
86
  { color: theme.colors.strong },
87
87
  styles.spacingEnd,
88
88
  { ...textStyles },
@@ -91,7 +91,7 @@ const AudioPlayerWithInterface = React.forwardRef(({ style, theme, thumbColor =
91
91
  " /",
92
92
  " ",
93
93
  formatDuration(durationMillis || 0))),
94
- !hideSlider && (React.createElement(Slider, { style: styles.slider, minimumTrackTintColor: completedTrackColor, maximumTrackTintColor: remainingTrackColor, thumbTintColor: thumbColor, minimumValue: 0, value: sliderPositionMillis, maximumValue: durationMillis, onValueChange: onSliderChange, onSlidingComplete: onSlidingComplete })))));
94
+ !hideSlider && (React.createElement(Slider, { testID: "audio-player-slider", style: styles.slider, minimumTrackTintColor: completedTrackColor, maximumTrackTintColor: remainingTrackColor, thumbTintColor: thumbColor, minimumValue: 0, value: sliderPositionMillis, maximumValue: durationMillis, onValueChange: onSliderChange, onSlidingComplete: onSlidingComplete })))));
95
95
  });
96
96
  const styles = StyleSheet.create({
97
97
  container: {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AudioPlayerWithInterface.js","sourceRoot":"","sources":["../../../../../src/components/MediaPlayer/AudioPlayer/AudioPlayerWithInterface.tsx"],"names":[],"mappings":"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"}
@@ -1,8 +1,9 @@
1
1
  import * as React from "react";
2
- import { HeadlessAudioPlayerProps, HeadlessAudioPlayerRef } from "./AudioPlayerCommon";
2
+ import { HeadlessAudioPlayerProps } from "./AudioPlayerCommon";
3
+ import { MediaPlayerRef } from "../MediaPlayerCommon";
3
4
  /**
4
5
  * Audio Player component without an interface (UI).
5
6
  * Only handles playing of the audio and provides callbacks and ref functions
6
7
  */
7
- declare const HeadlessAudioPlayer: React.ForwardRefExoticComponent<HeadlessAudioPlayerProps & React.RefAttributes<HeadlessAudioPlayerRef>>;
8
+ declare const HeadlessAudioPlayer: React.ForwardRefExoticComponent<HeadlessAudioPlayerProps & React.RefAttributes<MediaPlayerRef>>;
8
9
  export default HeadlessAudioPlayer;
@@ -1,5 +1,7 @@
1
1
  import * as React from "react";
2
2
  import { Audio, InterruptionModeIOS, InterruptionModeAndroid, } from "expo-av";
3
+ import { mapToMediaPlayerStatus } from "../MediaPlayerCommon";
4
+ import MediaPlaybackWrapper from "../MediaPlaybackWrapper";
3
5
  /**
4
6
  * Audio Player component without an interface (UI).
5
7
  * Only handles playing of the audio and provides callbacks and ref functions
@@ -31,33 +33,18 @@ const HeadlessAudioPlayer = React.forwardRef(({ source, interruptionMode = "lowe
31
33
  playThroughEarpieceAndroid,
32
34
  ]);
33
35
  const onPlaybackStatusUpdate = (status) => {
36
+ const mappedStatus = mapToMediaPlayerStatus(status);
37
+ onPlaybackStatusUpdateProp === null || onPlaybackStatusUpdateProp === void 0 ? void 0 : onPlaybackStatusUpdateProp(mappedStatus);
34
38
  if (status.isLoaded) {
35
- onPlaybackStatusUpdateProp === null || onPlaybackStatusUpdateProp === void 0 ? void 0 : onPlaybackStatusUpdateProp({
36
- isPlaying: status.isPlaying,
37
- isLoading: false,
38
- isBuffering: status.isBuffering,
39
- currentPositionMillis: status.positionMillis || 0,
40
- durationMillis: status.durationMillis || 0,
41
- bufferedDurationMillis: status.playableDurationMillis || 0,
42
- isError: false,
43
- });
44
39
  if (status.didJustFinish) {
45
40
  onPlaybackFinish === null || onPlaybackFinish === void 0 ? void 0 : onPlaybackFinish();
46
41
  }
47
42
  setIsPlaying(status.isPlaying);
48
43
  }
49
- else if (status.error) {
50
- onPlaybackStatusUpdateProp === null || onPlaybackStatusUpdateProp === void 0 ? void 0 : onPlaybackStatusUpdateProp({
51
- isPlaying: false,
52
- isLoading: false,
53
- isBuffering: false,
54
- currentPositionMillis: 0,
55
- durationMillis: 0,
56
- bufferedDurationMillis: 0,
57
- isError: true,
58
- error: status.error,
59
- });
60
- }
44
+ };
45
+ const onTogglePlayback = () => {
46
+ //Has to be called everytime a player is played to reconfigure the global Audio config based on each player's configuration
47
+ updateAudioMode();
61
48
  };
62
49
  const loadAudio = async () => {
63
50
  onPlaybackStatusUpdateProp === null || onPlaybackStatusUpdateProp === void 0 ? void 0 : onPlaybackStatusUpdateProp({
@@ -73,37 +60,11 @@ const HeadlessAudioPlayer = React.forwardRef(({ source, interruptionMode = "lowe
73
60
  setCurrentSound(sound);
74
61
  sound.setOnPlaybackStatusUpdate(onPlaybackStatusUpdate);
75
62
  };
76
- const togglePlayback = React.useCallback(async () => {
77
- //Has to be called everytime a player is played to reconfigure the global Audio config based on each player's configuration
78
- await updateAudioMode();
79
- if (isPlaying) {
80
- await (currentSound === null || currentSound === void 0 ? void 0 : currentSound.pauseAsync());
81
- }
82
- else {
83
- await (currentSound === null || currentSound === void 0 ? void 0 : currentSound.playAsync());
84
- }
85
- }, [currentSound, updateAudioMode, isPlaying]);
86
- const seekToPosition = React.useCallback(async (positionMillis) => {
87
- await (currentSound === null || currentSound === void 0 ? void 0 : currentSound.setPositionAsync(positionMillis));
88
- }, [currentSound]);
89
63
  useSourceDeepCompareEffect(() => {
90
64
  loadAudio();
91
65
  // Ignore dependency of loadAudio
92
66
  }, [source]);
93
- React.useEffect(() => {
94
- return currentSound
95
- ? () => {
96
- currentSound.unloadAsync();
97
- }
98
- : undefined;
99
- }, [currentSound]);
100
- React.useImperativeHandle(ref, () => {
101
- return {
102
- seekToPosition,
103
- togglePlayback,
104
- };
105
- }, [seekToPosition, togglePlayback]);
106
- return null;
67
+ return (React.createElement(MediaPlaybackWrapper, { ref: ref, isPlaying: isPlaying, media: currentSound, onTogglePlayback: onTogglePlayback }));
107
68
  });
108
69
  // The source provided into the AudioPlayer can be of type {uri: "some uri"}
109
70
  // In the case that this object is created inline, each rerender provides a new source object because a new object is initialized everytime
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HeadlessAudioPlayer.js","sourceRoot":"","sources":["../../../../../src/components/MediaPlayer/AudioPlayer/HeadlessAudioPlayer.tsx"],"names":[],"mappings":"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"}
@@ -1,10 +1,11 @@
1
1
  import * as React from "react";
2
- import { AudioPlayerInterfaceProps, HeadlessAudioPlayerProps, HeadlessAudioPlayerRef } from "./AudioPlayerCommon";
2
+ import { AudioPlayerInterfaceProps, HeadlessAudioPlayerProps } from "./AudioPlayerCommon";
3
+ import { MediaPlayerRef } from "../MediaPlayerCommon";
3
4
  interface AudioPlayerProps {
4
5
  mode?: "interface" | "headless";
5
6
  }
6
- declare const _default: React.ComponentType<import("@draftbit/react-theme-provider").$Without<AudioPlayerProps & AudioPlayerInterfaceProps & HeadlessAudioPlayerProps & React.RefAttributes<HeadlessAudioPlayerRef>, "theme"> & {
7
+ declare const _default: React.ComponentType<import("@draftbit/react-theme-provider").$Without<AudioPlayerProps & AudioPlayerInterfaceProps & HeadlessAudioPlayerProps & React.RefAttributes<MediaPlayerRef>, "theme"> & {
7
8
  theme?: import("@draftbit/react-theme-provider").$DeepPartial<any> | undefined;
8
- }> & import("@draftbit/react-theme-provider/typings/hoist-non-react-statics").NonReactStatics<React.ComponentType<AudioPlayerProps & AudioPlayerInterfaceProps & HeadlessAudioPlayerProps & React.RefAttributes<HeadlessAudioPlayerRef>> & React.ForwardRefExoticComponent<AudioPlayerProps & AudioPlayerInterfaceProps & HeadlessAudioPlayerProps & React.RefAttributes<HeadlessAudioPlayerRef>>, {}>;
9
+ }> & import("@draftbit/react-theme-provider/typings/hoist-non-react-statics").NonReactStatics<React.ComponentType<AudioPlayerProps & AudioPlayerInterfaceProps & HeadlessAudioPlayerProps & React.RefAttributes<MediaPlayerRef>> & React.ForwardRefExoticComponent<AudioPlayerProps & AudioPlayerInterfaceProps & HeadlessAudioPlayerProps & React.RefAttributes<MediaPlayerRef>>, {}>;
9
10
  export default _default;
10
- export { HeadlessAudioPlayerRef as AudioPlayerRef } from "./AudioPlayerCommon";
11
+ export { MediaPlayerRef as AudioPlayerRef } from "../MediaPlayerCommon";
@@ -1,5 +1,5 @@
1
1
  import * as React from "react";
2
- import { withTheme } from "../../theming";
2
+ import { withTheme } from "../../../theming";
3
3
  import HeadlessAudioPlayer from "./HeadlessAudioPlayer";
4
4
  import AudioPlayerWithInterface from "./AudioPlayerWithInterface";
5
5
  const AudioPlayer = React.forwardRef(({ mode = "interface", ...rest }, ref) => {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/components/MediaPlayer/AudioPlayer/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAK7C,OAAO,mBAAmB,MAAM,uBAAuB,CAAC;AACxD,OAAO,wBAAwB,MAAM,4BAA4B,CAAC;AAOlE,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,15 @@
1
+ import * as React from "react";
2
+ import type { Playback } from "expo-av/src/AV";
3
+ import { MediaPlayerRef } from "./MediaPlayerCommon";
4
+ interface MediaPlaybackWrapperProps {
5
+ media?: Playback;
6
+ isPlaying?: boolean;
7
+ onTogglePlayback?: () => void;
8
+ }
9
+ /**
10
+ * Wrapper component that handles common media playback operations that is reusable with audio and video players
11
+ */
12
+ declare const MediaPlaybackWrapper: React.ForwardRefExoticComponent<MediaPlaybackWrapperProps & {
13
+ children?: React.ReactNode;
14
+ } & React.RefAttributes<MediaPlayerRef>>;
15
+ export default MediaPlaybackWrapper;
@@ -0,0 +1,32 @@
1
+ import * as React from "react";
2
+ /**
3
+ * Wrapper component that handles common media playback operations that is reusable with audio and video players
4
+ */
5
+ const MediaPlaybackWrapper = React.forwardRef(({ media, isPlaying, onTogglePlayback, children }, ref) => {
6
+ const togglePlayback = React.useCallback(async () => {
7
+ onTogglePlayback === null || onTogglePlayback === void 0 ? void 0 : onTogglePlayback();
8
+ if (isPlaying) {
9
+ await (media === null || media === void 0 ? void 0 : media.pauseAsync());
10
+ }
11
+ else {
12
+ await (media === null || media === void 0 ? void 0 : media.playAsync());
13
+ }
14
+ }, [media, isPlaying, onTogglePlayback]);
15
+ const seekToPosition = React.useCallback(async (positionMillis) => {
16
+ await (media === null || media === void 0 ? void 0 : media.setPositionAsync(positionMillis));
17
+ }, [media]);
18
+ React.useEffect(() => {
19
+ return media
20
+ ? () => {
21
+ media.unloadAsync();
22
+ }
23
+ : undefined;
24
+ }, [media]);
25
+ React.useImperativeHandle(ref, () => ({
26
+ seekToPosition,
27
+ togglePlayback,
28
+ }), [seekToPosition, togglePlayback]);
29
+ return React.createElement(React.Fragment, null, children);
30
+ });
31
+ export default MediaPlaybackWrapper;
32
+ //# sourceMappingURL=MediaPlaybackWrapper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MediaPlaybackWrapper.js","sourceRoot":"","sources":["../../../../src/components/MediaPlayer/MediaPlaybackWrapper.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAW/B;;GAEG;AACH,MAAM,oBAAoB,GAAG,KAAK,CAAC,UAAU,CAG3C,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,gBAAgB,EAAE,QAAQ,EAAE,EAAE,GAAG,EAAE,EAAE;IAC1D,MAAM,cAAc,GAAG,KAAK,CAAC,WAAW,CAAC,KAAK,IAAI,EAAE;QAClD,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,EAAI,CAAC;QAErB,IAAI,SAAS,EAAE;YACb,MAAM,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,UAAU,EAAE,CAAA,CAAC;SAC3B;aAAM;YACL,MAAM,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,SAAS,EAAE,CAAA,CAAC;SAC1B;IACH,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAEzC,MAAM,cAAc,GAAG,KAAK,CAAC,WAAW,CACtC,KAAK,EAAE,cAAsB,EAAE,EAAE;QAC/B,MAAM,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,gBAAgB,CAAC,cAAc,CAAC,CAAA,CAAC;IAChD,CAAC,EACD,CAAC,KAAK,CAAC,CACR,CAAC;IAEF,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,OAAO,KAAK;YACV,CAAC,CAAC,GAAG,EAAE;gBACH,KAAK,CAAC,WAAW,EAAE,CAAC;YACtB,CAAC;YACH,CAAC,CAAC,SAAS,CAAC;IAChB,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAEZ,KAAK,CAAC,mBAAmB,CACvB,GAAG,EACH,GAAG,EAAE,CAAC,CAAC;QACL,cAAc;QACd,cAAc;KACf,CAAC,EACF,CAAC,cAAc,EAAE,cAAc,CAAC,CACjC,CAAC;IAEF,OAAO,0CAAG,QAAQ,CAAI,CAAC;AACzB,CAAC,CAAC,CAAC;AAEH,eAAe,oBAAoB,CAAC"}
@@ -0,0 +1,21 @@
1
+ import { AVPlaybackSource, AVPlaybackStatus } from "expo-av";
2
+ export interface MediaPlayerStatus {
3
+ isPlaying: boolean;
4
+ isLoading: boolean;
5
+ isBuffering: boolean;
6
+ currentPositionMillis: number;
7
+ durationMillis: number;
8
+ bufferedDurationMillis: number;
9
+ isError: boolean;
10
+ error?: string;
11
+ }
12
+ export interface MediaPlayerRef {
13
+ seekToPosition: (positionMillis: number) => void;
14
+ togglePlayback: () => void;
15
+ }
16
+ export interface MediaPlayerProps {
17
+ onPlaybackStatusUpdate?: (status: MediaPlayerStatus) => void;
18
+ onPlaybackFinish?: () => void;
19
+ source: AVPlaybackSource;
20
+ }
21
+ export declare function mapToMediaPlayerStatus(status: AVPlaybackStatus): MediaPlayerStatus;
@@ -0,0 +1,24 @@
1
+ export function mapToMediaPlayerStatus(status) {
2
+ if (status.isLoaded) {
3
+ return {
4
+ isPlaying: status.isPlaying,
5
+ isLoading: false,
6
+ isBuffering: status.isBuffering,
7
+ currentPositionMillis: status.positionMillis || 0,
8
+ durationMillis: status.durationMillis || 0,
9
+ bufferedDurationMillis: status.playableDurationMillis || 0,
10
+ isError: false,
11
+ };
12
+ }
13
+ return {
14
+ isPlaying: false,
15
+ isLoading: false,
16
+ isBuffering: false,
17
+ currentPositionMillis: 0,
18
+ durationMillis: 0,
19
+ bufferedDurationMillis: 0,
20
+ isError: true,
21
+ error: status.error,
22
+ };
23
+ }
24
+ //# sourceMappingURL=MediaPlayerCommon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MediaPlayerCommon.js","sourceRoot":"","sources":["../../../../src/components/MediaPlayer/MediaPlayerCommon.ts"],"names":[],"mappings":"AAwBA,MAAM,UAAU,sBAAsB,CACpC,MAAwB;IAExB,IAAI,MAAM,CAAC,QAAQ,EAAE;QACnB,OAAO;YACL,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,SAAS,EAAE,KAAK;YAChB,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,qBAAqB,EAAE,MAAM,CAAC,cAAc,IAAI,CAAC;YACjD,cAAc,EAAE,MAAM,CAAC,cAAc,IAAI,CAAC;YAC1C,sBAAsB,EAAE,MAAM,CAAC,sBAAsB,IAAI,CAAC;YAC1D,OAAO,EAAE,KAAK;SACf,CAAC;KACH;IAED,OAAO;QACL,SAAS,EAAE,KAAK;QAChB,SAAS,EAAE,KAAK;QAChB,WAAW,EAAE,KAAK;QAClB,qBAAqB,EAAE,CAAC;QACxB,cAAc,EAAE,CAAC;QACjB,sBAAsB,EAAE,CAAC;QACzB,OAAO,EAAE,IAAI;QACb,KAAK,EAAE,MAAM,CAAC,KAAK;KACpB,CAAC;AACJ,CAAC"}
@@ -0,0 +1,15 @@
1
+ import React from "react";
2
+ import { ImageResizeMode } from "react-native";
3
+ import { VideoProps as ExpoVideoProps } from "expo-av";
4
+ import { MediaPlayerProps, MediaPlayerRef } from "../MediaPlayerCommon";
5
+ declare type ResizeMode = "contain" | "cover" | "stretch";
6
+ declare type ExpoVideoPropsOmitted = Omit<ExpoVideoProps, "videoStyle" | "resizeMode" | "onPlaybackStatusUpdate" | "source">;
7
+ interface VideoPlayerProps extends ExpoVideoPropsOmitted, MediaPlayerProps {
8
+ resizeMode?: ResizeMode;
9
+ posterResizeMode?: ImageResizeMode;
10
+ }
11
+ export interface VideoPlayerRef extends MediaPlayerRef {
12
+ toggleFullscreen: () => void;
13
+ }
14
+ declare const VideoPlayer: React.ForwardRefExoticComponent<VideoPlayerProps & React.RefAttributes<VideoPlayerRef>>;
15
+ export default VideoPlayer;
@@ -0,0 +1,73 @@
1
+ import React from "react";
2
+ import { Video as VideoPlayerComponent, ResizeMode as ExpoResizeMode, VideoFullscreenUpdate, } from "expo-av";
3
+ import { extractSizeStyles } from "../../../utilities";
4
+ import MediaPlaybackWrapper from "../MediaPlaybackWrapper";
5
+ import { mapToMediaPlayerStatus, } from "../MediaPlayerCommon";
6
+ const VideoPlayer = React.forwardRef(({ style, resizeMode = "contain", posterResizeMode = "cover", onPlaybackStatusUpdate: onPlaybackStatusUpdateProp, onPlaybackFinish, ...rest }, ref) => {
7
+ const [videoMediaObject, setVideoMediaObject] = React.useState();
8
+ const [isPlaying, setIsPlaying] = React.useState(false);
9
+ const [isFullscreen, setIsFullscreen] = React.useState(false);
10
+ const mediaPlaybackWrapperRef = React.useRef(null);
11
+ const sizeStyles = extractSizeStyles(style);
12
+ let mappedResizeMode;
13
+ switch (resizeMode) {
14
+ case "contain":
15
+ mappedResizeMode = ExpoResizeMode.CONTAIN;
16
+ break;
17
+ case "cover":
18
+ mappedResizeMode = ExpoResizeMode.COVER;
19
+ break;
20
+ case "stretch":
21
+ mappedResizeMode = ExpoResizeMode.STRETCH;
22
+ break;
23
+ }
24
+ const onPlaybackStatusUpdate = (status) => {
25
+ const mappedStatus = mapToMediaPlayerStatus(status);
26
+ onPlaybackStatusUpdateProp === null || onPlaybackStatusUpdateProp === void 0 ? void 0 : onPlaybackStatusUpdateProp(mappedStatus);
27
+ if (status.isLoaded) {
28
+ if (status.didJustFinish) {
29
+ onPlaybackFinish === null || onPlaybackFinish === void 0 ? void 0 : onPlaybackFinish();
30
+ }
31
+ setIsPlaying(status.isPlaying);
32
+ }
33
+ };
34
+ const onFullscreenUpdate = (fullscreenUpdate) => {
35
+ switch (fullscreenUpdate) {
36
+ case VideoFullscreenUpdate.PLAYER_DID_PRESENT:
37
+ case VideoFullscreenUpdate.PLAYER_WILL_PRESENT:
38
+ setIsFullscreen(true);
39
+ break;
40
+ case VideoFullscreenUpdate.PLAYER_DID_DISMISS:
41
+ case VideoFullscreenUpdate.PLAYER_WILL_DISMISS:
42
+ setIsFullscreen(false);
43
+ break;
44
+ }
45
+ };
46
+ const toggleFullscreen = React.useCallback(async () => {
47
+ if (isFullscreen) {
48
+ await (videoMediaObject === null || videoMediaObject === void 0 ? void 0 : videoMediaObject.dismissFullscreenPlayer());
49
+ }
50
+ else {
51
+ await (videoMediaObject === null || videoMediaObject === void 0 ? void 0 : videoMediaObject.presentFullscreenPlayer());
52
+ }
53
+ }, [isFullscreen, videoMediaObject]);
54
+ React.useImperativeHandle(ref, () => {
55
+ var _a, _b;
56
+ return ({
57
+ toggleFullscreen,
58
+ seekToPosition: ((_a = mediaPlaybackWrapperRef.current) === null || _a === void 0 ? void 0 : _a.seekToPosition) || (() => { }),
59
+ togglePlayback: ((_b = mediaPlaybackWrapperRef.current) === null || _b === void 0 ? void 0 : _b.togglePlayback) || (() => { }),
60
+ });
61
+ },
62
+ // Include 'isPlaying' as dependency because 'togglePlayback' changes when it changes
63
+ // eslint-disable-next-line react-hooks/exhaustive-deps
64
+ [toggleFullscreen, isPlaying]);
65
+ return (React.createElement(MediaPlaybackWrapper, { media: videoMediaObject, isPlaying: isPlaying, ref: mediaPlaybackWrapperRef },
66
+ React.createElement(VideoPlayerComponent
67
+ // https://docs.expo.dev/versions/latest/sdk/av/#example-video to see why ref is handled this way
68
+ , {
69
+ // https://docs.expo.dev/versions/latest/sdk/av/#example-video to see why ref is handled this way
70
+ ref: (component) => setVideoMediaObject(component), style: style, videoStyle: sizeStyles, resizeMode: mappedResizeMode, posterStyle: [sizeStyles, { resizeMode: posterResizeMode }], onPlaybackStatusUpdate: onPlaybackStatusUpdate, onFullscreenUpdate: (e) => onFullscreenUpdate(e.fullscreenUpdate), ...rest })));
71
+ });
72
+ export default VideoPlayer;
73
+ //# sourceMappingURL=VideoPlayer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VideoPlayer.js","sourceRoot":"","sources":["../../../../../src/components/MediaPlayer/VideoPlayer/VideoPlayer.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export { default as default } from "./VideoPlayer";
2
+ export { VideoPlayerRef } from "./VideoPlayer";
@@ -0,0 +1,2 @@
1
+ export { default as default } from "./VideoPlayer";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/components/MediaPlayer/VideoPlayer/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,eAAe,CAAC"}
@@ -1,9 +1,11 @@
1
1
  import React from "react";
2
- import { TextInput } from "react-native";
3
- interface Props {
2
+ import { TextInput as NativeTextInput } from "react-native";
3
+ import { TextInputProps } from "./TextInput";
4
+ interface Props extends Omit<TextInputProps, "value" | "onChangeText" | "defaultValue" | "onChangeTextDelayed"> {
4
5
  value?: number | string;
5
6
  defaultValue?: number | string;
6
7
  onChangeText?: (value?: number) => void;
8
+ onChangeTextDelayed?: (value?: number) => void;
7
9
  }
8
- declare const NumberInput: React.ForwardRefExoticComponent<Props & React.RefAttributes<TextInput>>;
10
+ declare const NumberInput: React.ForwardRefExoticComponent<Props & React.RefAttributes<NativeTextInput>>;
9
11
  export default NumberInput;
@@ -1,8 +1,10 @@
1
1
  import React, { useEffect, useState } from "react";
2
- import { TextInput } from "react-native";
2
+ import { TextInput as NativeTextInput } from "react-native";
3
3
  import { isString, isNumber, isNaN } from "lodash";
4
- const NumberInput = React.forwardRef(({ onChangeText, value, defaultValue, ...props }, ref) => {
4
+ import { useDebounce } from "../hooks";
5
+ const NumberInput = React.forwardRef(({ onChangeText, onChangeTextDelayed, changeTextDelay = 500, value, defaultValue, ...props }, ref) => {
5
6
  const [currentStringNumberValue, setCurrentStringNumberValue] = useState("");
7
+ const delayedValue = useDebounce(value, changeTextDelay);
6
8
  const formatValueToStringNumber = (valueToFormat) => {
7
9
  if (valueToFormat != null) {
8
10
  if (isString(valueToFormat) && valueToFormat !== "") {
@@ -44,7 +46,15 @@ const NumberInput = React.forwardRef(({ onChangeText, value, defaultValue, ...pr
44
46
  }
45
47
  // eslint-disable-next-line react-hooks/exhaustive-deps
46
48
  }, []);
47
- return (React.createElement(TextInput, { ref: ref, keyboardType: "numeric", value: currentStringNumberValue, onChangeText: handleChangeText, ...props }));
49
+ useEffect(() => {
50
+ if (delayedValue !== undefined) {
51
+ const newStringNumberValue = formatValueToStringNumber(delayedValue);
52
+ const number = parseFloat(newStringNumberValue);
53
+ onChangeTextDelayed === null || onChangeTextDelayed === void 0 ? void 0 : onChangeTextDelayed(number);
54
+ }
55
+ // eslint-disable-next-line react-hooks/exhaustive-deps
56
+ }, [delayedValue]);
57
+ return (React.createElement(NativeTextInput, { testID: "native-text-input", ref: ref, keyboardType: "numeric", value: currentStringNumberValue, onChangeText: handleChangeText, ...props }));
48
58
  });
49
59
  export default NumberInput;
50
60
  //# sourceMappingURL=NumberInput.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"NumberInput.js","sourceRoot":"","sources":["../../../src/components/NumberInput.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAQnD,MAAM,WAAW,GAAG,KAAK,CAAC,UAAU,CAClC,CAAC,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE;IACvD,MAAM,CAAC,wBAAwB,EAAE,2BAA2B,CAAC,GAC3D,QAAQ,CAAC,EAAE,CAAC,CAAC;IAEf,MAAM,yBAAyB,GAAG,CAAC,aAA+B,EAAE,EAAE;QACpE,IAAI,aAAa,IAAI,IAAI,EAAE;YACzB,IAAI,QAAQ,CAAC,aAAa,CAAC,IAAI,aAAa,KAAK,EAAE,EAAE;gBACnD,IAAI,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE;oBAClC,OAAO,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;iBAC/B;qBAAM,IAAI,mCAAmC,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE;oBAClE,OAAO,aAAa,CAAC;iBACtB;qBAAM;oBACL,OAAO,wBAAwB,CAAC;iBACjC;aACF;iBAAM,IAAI,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE;gBAC3D,OAAO,aAAa,CAAC,QAAQ,EAAE,CAAC;aACjC;SACF;QAED,OAAO,EAAE,CAAC;IACZ,CAAC,CAAC;IAEF,MAAM,gBAAgB,GAAG,CAAC,QAAgB,EAAE,EAAE;QAC5C,MAAM,oBAAoB,GAAG,yBAAyB,CAAC,QAAQ,CAAC,CAAC;QACjE,MAAM,MAAM,GAAG,UAAU,CAAC,oBAAoB,CAAC,CAAC;QAEhD,2BAA2B,CAAC,oBAAoB,CAAC,CAAC;QAClD,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAG,MAAM,CAAC,CAAC;IACzB,CAAC,CAAC;IAEF,yHAAyH;IACzH,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,qBAAqB,GAAG,yBAAyB,CAAC,KAAK,CAAC,CAAC;QAE/D,IAAI,wBAAwB,KAAK,qBAAqB,EAAE;YACtD,gBAAgB,CAAC,qBAAqB,CAAC,CAAC;SACzC;QACD,uDAAuD;IACzD,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAEZ,iGAAiG;IACjG,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,wBAAwB,GAAG,yBAAyB,CAAC,YAAY,CAAC,CAAC;QAEzE,IAAI,wBAAwB,KAAK,wBAAwB,EAAE;YACzD,2BAA2B,CAAC,wBAAwB,CAAC,CAAC;SACvD;QACD,uDAAuD;IACzD,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,CACL,oBAAC,SAAS,IACR,GAAG,EAAE,GAAG,EACR,YAAY,EAAC,SAAS,EACtB,KAAK,EAAE,wBAAwB,EAC/B,YAAY,EAAE,gBAAgB,KAC1B,KAAK,GACT,CACH,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"NumberInput.js","sourceRoot":"","sources":["../../../src/components/NumberInput.tsx"],"names":[],"mappings":"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"}
@@ -1,3 +1,6 @@
1
1
  import React from "react";
2
+ import { PathProps } from "react-native-svg";
3
+ import Animated from "react-native-reanimated";
2
4
  import { ValueProgressProps, CircularProgressProps } from "../ProgressCommon";
5
+ export declare const AnimatedPath: React.ComponentClass<Animated.AnimateProps<PathProps>, any>;
3
6
  export declare const CircularProgress: React.FC<ValueProgressProps & CircularProgressProps>;
@@ -2,8 +2,8 @@ import React from "react";
2
2
  import Svg, { Path } from "react-native-svg";
3
3
  import Animated, { useAnimatedProps, useSharedValue, withTiming, } from "react-native-reanimated";
4
4
  import { DEFAULT_ANIMATION_DURATION, } from "../ProgressCommon";
5
- const AnimatedPath = Animated.createAnimatedComponent(Path);
6
- export const CircularProgress = ({ theme, minimumValue = 0, maximumValue = 100, value = minimumValue, thickness = 10, trackThickness = thickness, color = theme.colors.primary, trackColor = theme.colors.divider, trackOpacity = 1, showTrack = true, animationDuration = DEFAULT_ANIMATION_DURATION, isAnimated = true, lineCap = "round", trackLineCap = lineCap, dashWidth, trackDashWidth, dashGap, trackDashGap, dashOffset, trackDashOffset, customDashArray, trackCustomDashArray, onFullPathWidth, startPosition = "top", style, }) => {
5
+ export const AnimatedPath = Animated.createAnimatedComponent(Path);
6
+ export const CircularProgress = ({ theme, minimumValue = 0, maximumValue = 100, value = minimumValue, thickness = 10, trackThickness = thickness, color = theme.colors.primary, trackColor = theme.colors.divider, trackOpacity = 1, showTrack = true, animationDuration = DEFAULT_ANIMATION_DURATION, isAnimated = true, lineCap = "round", trackLineCap = lineCap, dashWidth, trackDashWidth, dashGap, trackDashGap, dashOffset, trackDashOffset, customDashArray, trackCustomDashArray, onFullPathWidth, startPosition = "top", style, testID, }) => {
7
7
  const [svgContainerWidth, setSvgContainerWidth] = React.useState(0);
8
8
  const [circumfrence, setCircumefrence] = React.useState(0);
9
9
  const dashArray = dashWidth !== undefined
@@ -58,7 +58,7 @@ export const CircularProgress = ({ theme, minimumValue = 0, maximumValue = 100,
58
58
  React.useEffect(() => {
59
59
  onFullPathWidth === null || onFullPathWidth === void 0 ? void 0 : onFullPathWidth(circumfrence);
60
60
  }, [circumfrence, onFullPathWidth]);
61
- return (React.createElement(Svg, { onLayout: (event) => {
61
+ return (React.createElement(Svg, { testID: testID !== null && testID !== void 0 ? testID : "circular-progress-component", onLayout: (event) => {
62
62
  const width = event.nativeEvent.layout.width;
63
63
  setSvgContainerWidth(width);
64
64
  }, style: [
@@ -1 +1 @@
1
- {"version":3,"file":"CircularProgress.js","sourceRoot":"","sources":["../../../../../src/components/Progress/CircularProgress/CircularProgress.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CircularProgress.js","sourceRoot":"","sources":["../../../../../src/components/Progress/CircularProgress/CircularProgress.tsx"],"names":[],"mappings":"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"}
@@ -29,7 +29,7 @@ const IndeterminateProgress = ({ ProgressComponent, ...rest }) => {
29
29
  }, animationDuration);
30
30
  return () => clearTimeout(timeout);
31
31
  }, [animationDuration, repeatIndeterminateAnimation]);
32
- return (React.createElement(ProgressComponent, { ...rest, onFullPathWidth: (width) => {
32
+ return (React.createElement(ProgressComponent, { ...rest, testID: rest.testID || "indeterminate-progress", onFullPathWidth: (width) => {
33
33
  var _a;
34
34
  setPathWidth(width);
35
35
  (_a = rest.onFullPathWidth) === null || _a === void 0 ? void 0 : _a.call(rest, width);
@@ -1 +1 @@
1
- {"version":3,"file":"IndeterminateProgress.js","sourceRoot":"","sources":["../../../../src/components/Progress/IndeterminateProgress.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EACL,OAAO,EACP,mBAAmB,EACnB,cAAc,EACd,UAAU,GACX,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAEL,0BAA0B,GAE3B,MAAM,kBAAkB,CAAC;AAM1B,MAAM,qBAAqB,GAAyC,CAAC,EACnE,iBAAiB,EACjB,GAAG,IAAI,EACR,EAAE,EAAE;IACH,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IACpD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC5C,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IACtD,MAAM,iBAAiB,GACrB,IAAI,CAAC,iBAAiB,IAAI,0BAA0B,CAAC;IAEvD,MAAM,aAAa,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;IAExC,+HAA+H;IAC/H,mBAAmB,CACjB,GAAG,EAAE,CAAC,aAAa,CAAC,KAAK,EACzB,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,CAC3C,CAAC;IAEF,MAAM,4BAA4B,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QAC1D,IAAI,KAAK,KAAK,CAAC,EAAE;YACf,QAAQ,CAAC,GAAG,CAAC,CAAC;YACd,aAAa,CAAC,KAAK,GAAG,UAAU,CAAC,SAAS,EAAE;gBAC1C,QAAQ,EAAE,iBAAiB;aAC5B,CAAC,CAAC;SACJ;aAAM;YACL,QAAQ,CAAC,CAAC,CAAC,CAAC;YACZ,aAAa,CAAC,KAAK,GAAG,UAAU,CAAC,CAAC,EAAE;gBAClC,QAAQ,EAAE,iBAAiB;aAC5B,CAAC,CAAC;SACJ;IACH,CAAC,EAAE,CAAC,aAAa,EAAE,KAAK,EAAE,iBAAiB,EAAE,SAAS,CAAC,CAAC,CAAC;IAEzD,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;YAC9B,4BAA4B,EAAE,CAAC;QACjC,CAAC,EAAE,iBAAiB,CAAC,CAAC;QACtB,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;IACrC,CAAC,EAAE,CAAC,iBAAiB,EAAE,4BAA4B,CAAC,CAAC,CAAC;IAEtD,OAAO,CACL,oBAAC,iBAAiB,OACZ,IAAI,EACR,eAAe,EAAE,CAAC,KAAK,EAAE,EAAE;;YACzB,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,MAAA,IAAI,CAAC,eAAe,qDAAG,KAAK,CAAC,CAAC;QAChC,CAAC,EACD,UAAU,EAAE,UAAU,EACtB,OAAO,EAAE,SAAS,GAAG,CAAC,EACtB,SAAS,EAAE,SAAS,GAAG,CAAC,EACxB,iBAAiB,EAAE,iBAAiB,EACpC,KAAK,EAAE,GAAG,GACV,CACH,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,qBAAqB,CAAC"}
1
+ {"version":3,"file":"IndeterminateProgress.js","sourceRoot":"","sources":["../../../../src/components/Progress/IndeterminateProgress.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EACL,OAAO,EACP,mBAAmB,EACnB,cAAc,EACd,UAAU,GACX,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAEL,0BAA0B,GAE3B,MAAM,kBAAkB,CAAC;AAM1B,MAAM,qBAAqB,GAAyC,CAAC,EACnE,iBAAiB,EACjB,GAAG,IAAI,EACR,EAAE,EAAE;IACH,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IACpD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC5C,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IACtD,MAAM,iBAAiB,GACrB,IAAI,CAAC,iBAAiB,IAAI,0BAA0B,CAAC;IAEvD,MAAM,aAAa,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;IAExC,+HAA+H;IAC/H,mBAAmB,CACjB,GAAG,EAAE,CAAC,aAAa,CAAC,KAAK,EACzB,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,CAC3C,CAAC;IAEF,MAAM,4BAA4B,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QAC1D,IAAI,KAAK,KAAK,CAAC,EAAE;YACf,QAAQ,CAAC,GAAG,CAAC,CAAC;YACd,aAAa,CAAC,KAAK,GAAG,UAAU,CAAC,SAAS,EAAE;gBAC1C,QAAQ,EAAE,iBAAiB;aAC5B,CAAC,CAAC;SACJ;aAAM;YACL,QAAQ,CAAC,CAAC,CAAC,CAAC;YACZ,aAAa,CAAC,KAAK,GAAG,UAAU,CAAC,CAAC,EAAE;gBAClC,QAAQ,EAAE,iBAAiB;aAC5B,CAAC,CAAC;SACJ;IACH,CAAC,EAAE,CAAC,aAAa,EAAE,KAAK,EAAE,iBAAiB,EAAE,SAAS,CAAC,CAAC,CAAC;IAEzD,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;YAC9B,4BAA4B,EAAE,CAAC;QACjC,CAAC,EAAE,iBAAiB,CAAC,CAAC;QACtB,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;IACrC,CAAC,EAAE,CAAC,iBAAiB,EAAE,4BAA4B,CAAC,CAAC,CAAC;IAEtD,OAAO,CACL,oBAAC,iBAAiB,OACZ,IAAI,EACR,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,wBAAwB,EAC/C,eAAe,EAAE,CAAC,KAAK,EAAE,EAAE;;YACzB,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,MAAA,IAAI,CAAC,eAAe,qDAAG,KAAK,CAAC,CAAC;QAChC,CAAC,EACD,UAAU,EAAE,UAAU,EACtB,OAAO,EAAE,SAAS,GAAG,CAAC,EACtB,SAAS,EAAE,SAAS,GAAG,CAAC,EACxB,iBAAiB,EAAE,iBAAiB,EACpC,KAAK,EAAE,GAAG,GACV,CACH,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,qBAAqB,CAAC"}
@@ -1,3 +1,6 @@
1
1
  import React from "react";
2
+ import { LineProps } from "react-native-svg";
3
+ import Animated from "react-native-reanimated";
2
4
  import { ValueProgressProps } from "../ProgressCommon";
5
+ export declare const AnimatedLine: React.ComponentClass<Animated.AnimateProps<LineProps>, any>;
3
6
  export declare const LinearProgress: React.FC<ValueProgressProps>;