@folklore/hooks 0.0.67 → 0.0.69

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 (3) hide show
  1. package/dist/cjs.js +15 -4
  2. package/dist/es.js +15 -4
  3. package/package.json +2 -2
package/dist/cjs.js CHANGED
@@ -934,7 +934,7 @@ function useNativeVideoPlayer(url) {
934
934
  const debug = react.useMemo(() => createDebug('folklore:video:native'), []);
935
935
  const elementRef = react.useRef(null);
936
936
  const [loaded, setLoaded] = react.useState(false);
937
- const [volume, setVolumeState] = react.useState(initialMuted ? 0 : 1);
937
+ const [muted, setMuted] = react.useState(initialMuted);
938
938
  const [playState, setPlayState] = react.useState({
939
939
  playing: false,
940
940
  paused: false,
@@ -1019,6 +1019,12 @@ function useNativeVideoPlayer(url) {
1019
1019
  }
1020
1020
  const onCanPlay = () => {
1021
1021
  setLoaded(true);
1022
+ const newMetadata = {
1023
+ duration: player.duration,
1024
+ width: player.videoWidth,
1025
+ height: player.videoHeight
1026
+ };
1027
+ setMetadata(newMetadata);
1022
1028
  debug('onCanPlay [URL: %s]', url);
1023
1029
  };
1024
1030
  const onMetadataLoaded = () => {
@@ -1048,6 +1054,10 @@ function useNativeVideoPlayer(url) {
1048
1054
  });
1049
1055
  debug('onPause [URL: %s]', url);
1050
1056
  };
1057
+ const onVolumeChange = () => {
1058
+ setMuted(player.muted);
1059
+ debug('onVolumeChange [URL: %s]', url);
1060
+ };
1051
1061
  const onEnded = () => {
1052
1062
  setPlayState({
1053
1063
  playing: false,
@@ -1061,6 +1071,7 @@ function useNativeVideoPlayer(url) {
1061
1071
  player.addEventListener('canplay', onCanPlay);
1062
1072
  player.addEventListener('metadataloaded', onMetadataLoaded);
1063
1073
  player.addEventListener('play', onPlay);
1074
+ player.addEventListener('volumechange', onVolumeChange);
1064
1075
  player.addEventListener('pause', onPause);
1065
1076
  player.addEventListener('ended', onEnded);
1066
1077
  return () => {
@@ -1068,10 +1079,11 @@ function useNativeVideoPlayer(url) {
1068
1079
  player.removeEventListener('canplay', onCanPlay);
1069
1080
  player.removeEventListener('metadataloaded', onMetadataLoaded);
1070
1081
  player.removeEventListener('play', onPlay);
1082
+ player.removeEventListener('volumechange', onVolumeChange);
1071
1083
  player.removeEventListener('pause', onPause);
1072
1084
  player.removeEventListener('ended', onEnded);
1073
1085
  };
1074
- }, [url, elementRef.current, setPlayState, setMetadata, setVolumeState, setLoaded]);
1086
+ }, [url, elementRef.current, setPlayState, setMetadata, setMuted, setLoaded]);
1075
1087
  const {
1076
1088
  playing
1077
1089
  } = playState;
@@ -1094,8 +1106,7 @@ function useNativeVideoPlayer(url) {
1094
1106
  ready: true,
1095
1107
  currentTime,
1096
1108
  loaded,
1097
- muted: volume === 0,
1098
- volume,
1109
+ muted,
1099
1110
  ...metadata,
1100
1111
  ...playState
1101
1112
  };
package/dist/es.js CHANGED
@@ -932,7 +932,7 @@ function useNativeVideoPlayer(url) {
932
932
  const debug = useMemo(() => createDebug('folklore:video:native'), []);
933
933
  const elementRef = useRef(null);
934
934
  const [loaded, setLoaded] = useState(false);
935
- const [volume, setVolumeState] = useState(initialMuted ? 0 : 1);
935
+ const [muted, setMuted] = useState(initialMuted);
936
936
  const [playState, setPlayState] = useState({
937
937
  playing: false,
938
938
  paused: false,
@@ -1017,6 +1017,12 @@ function useNativeVideoPlayer(url) {
1017
1017
  }
1018
1018
  const onCanPlay = () => {
1019
1019
  setLoaded(true);
1020
+ const newMetadata = {
1021
+ duration: player.duration,
1022
+ width: player.videoWidth,
1023
+ height: player.videoHeight
1024
+ };
1025
+ setMetadata(newMetadata);
1020
1026
  debug('onCanPlay [URL: %s]', url);
1021
1027
  };
1022
1028
  const onMetadataLoaded = () => {
@@ -1046,6 +1052,10 @@ function useNativeVideoPlayer(url) {
1046
1052
  });
1047
1053
  debug('onPause [URL: %s]', url);
1048
1054
  };
1055
+ const onVolumeChange = () => {
1056
+ setMuted(player.muted);
1057
+ debug('onVolumeChange [URL: %s]', url);
1058
+ };
1049
1059
  const onEnded = () => {
1050
1060
  setPlayState({
1051
1061
  playing: false,
@@ -1059,6 +1069,7 @@ function useNativeVideoPlayer(url) {
1059
1069
  player.addEventListener('canplay', onCanPlay);
1060
1070
  player.addEventListener('metadataloaded', onMetadataLoaded);
1061
1071
  player.addEventListener('play', onPlay);
1072
+ player.addEventListener('volumechange', onVolumeChange);
1062
1073
  player.addEventListener('pause', onPause);
1063
1074
  player.addEventListener('ended', onEnded);
1064
1075
  return () => {
@@ -1066,10 +1077,11 @@ function useNativeVideoPlayer(url) {
1066
1077
  player.removeEventListener('canplay', onCanPlay);
1067
1078
  player.removeEventListener('metadataloaded', onMetadataLoaded);
1068
1079
  player.removeEventListener('play', onPlay);
1080
+ player.removeEventListener('volumechange', onVolumeChange);
1069
1081
  player.removeEventListener('pause', onPause);
1070
1082
  player.removeEventListener('ended', onEnded);
1071
1083
  };
1072
- }, [url, elementRef.current, setPlayState, setMetadata, setVolumeState, setLoaded]);
1084
+ }, [url, elementRef.current, setPlayState, setMetadata, setMuted, setLoaded]);
1073
1085
  const {
1074
1086
  playing
1075
1087
  } = playState;
@@ -1092,8 +1104,7 @@ function useNativeVideoPlayer(url) {
1092
1104
  ready: true,
1093
1105
  currentTime,
1094
1106
  loaded,
1095
- muted: volume === 0,
1096
- volume,
1107
+ muted,
1097
1108
  ...metadata,
1098
1109
  ...playState
1099
1110
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@folklore/hooks",
3
- "version": "0.0.67",
3
+ "version": "0.0.69",
4
4
  "description": "React hooks",
5
5
  "keywords": [
6
6
  "javascript",
@@ -49,7 +49,7 @@
49
49
  "publishConfig": {
50
50
  "access": "public"
51
51
  },
52
- "gitHead": "58ad8e7c69736f6dd94da4ce63068f8764f51870",
52
+ "gitHead": "5f0e6b9760d6238e7eb4313a261cd85efe0ec349",
53
53
  "dependencies": {
54
54
  "@folklore/events": "^0.0.6",
55
55
  "@folklore/services": "^0.1.43",