@folklore/hooks 0.0.20 → 0.0.21
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/dist/cjs.js +18 -13
- package/dist/es.js +18 -13
- package/package.json +2 -2
package/dist/cjs.js
CHANGED
|
@@ -148,12 +148,14 @@ var useDailymotionPlayer = function useDailymotionPlayer() {
|
|
|
148
148
|
setLoaded = _useState6[1];
|
|
149
149
|
|
|
150
150
|
var apiRef = react.useRef(typeof window.DM !== 'undefined' ? window.DM : null);
|
|
151
|
-
var elementRef = react.useRef(null);
|
|
152
|
-
var playerRef = react.useRef(null);
|
|
153
151
|
var ready = apiLoaded && playerReady;
|
|
154
152
|
var videoId = react.useMemo(function () {
|
|
155
153
|
return getVideoId(id);
|
|
156
154
|
}, [id]);
|
|
155
|
+
var elementRef = react.useRef(null);
|
|
156
|
+
var playerRef = react.useRef(null);
|
|
157
|
+
var playerElementRef = react.useRef(elementRef.current);
|
|
158
|
+
var elementHasChanged = elementRef.current !== playerElementRef.current;
|
|
157
159
|
|
|
158
160
|
var _useState7 = react.useState(initialMuted),
|
|
159
161
|
_useState8 = _slicedToArray__default["default"](_useState7, 2),
|
|
@@ -240,13 +242,15 @@ var useDailymotionPlayer = function useDailymotionPlayer() {
|
|
|
240
242
|
height: height,
|
|
241
243
|
params: playerParams
|
|
242
244
|
});
|
|
243
|
-
playerRef.current = player;
|
|
244
245
|
}
|
|
245
246
|
|
|
246
247
|
if (!playerReady) {
|
|
247
248
|
setPlayerReady(true);
|
|
248
249
|
}
|
|
249
|
-
|
|
250
|
+
|
|
251
|
+
playerRef.current = player;
|
|
252
|
+
playerElementRef.current = element;
|
|
253
|
+
}, [apiLoaded, elementHasChanged, videoId, width, height, autoplay, muted, start, controls, queueAutoplayNext, queueEnable, sharingEnable, uiLogo, uiStartScreenInfo]);
|
|
250
254
|
react.useEffect(function () {
|
|
251
255
|
var _playerRef$current2 = playerRef.current,
|
|
252
256
|
player = _playerRef$current2 === void 0 ? null : _playerRef$current2;
|
|
@@ -952,6 +956,7 @@ function useYouTubePlayer(id) {
|
|
|
952
956
|
var elementRef = react.useRef(null);
|
|
953
957
|
var playerRef = react.useRef(null);
|
|
954
958
|
var playerElementRef = react.useRef(elementRef.current);
|
|
959
|
+
var elementHasChanged = elementRef.current !== playerElementRef.current;
|
|
955
960
|
var videoId = react.useMemo(function () {
|
|
956
961
|
return getVideoId(id);
|
|
957
962
|
}, [id]);
|
|
@@ -1054,7 +1059,7 @@ function useYouTubePlayer(id) {
|
|
|
1054
1059
|
debug$1('iFrame switched');
|
|
1055
1060
|
destroyPlayer();
|
|
1056
1061
|
}
|
|
1057
|
-
}, [
|
|
1062
|
+
}, [elementHasChanged]); // Create player
|
|
1058
1063
|
|
|
1059
1064
|
react.useEffect(function () {
|
|
1060
1065
|
var _apiRef$current = apiRef.current,
|
|
@@ -1076,7 +1081,6 @@ function useYouTubePlayer(id) {
|
|
|
1076
1081
|
player.loadVideoById(videoId);
|
|
1077
1082
|
} else {
|
|
1078
1083
|
debug$1('Create player [ID: %s]', videoId);
|
|
1079
|
-
var iframe = elementRef.current;
|
|
1080
1084
|
|
|
1081
1085
|
var onReady = function onReady(_ref2) {
|
|
1082
1086
|
var target = _ref2.target;
|
|
@@ -1122,7 +1126,7 @@ function useYouTubePlayer(id) {
|
|
|
1122
1126
|
debug$1('onStateChange %s [ID: %s]', stateLabel, videoId);
|
|
1123
1127
|
};
|
|
1124
1128
|
|
|
1125
|
-
player = new YT.Player(
|
|
1129
|
+
player = new YT.Player(element, {
|
|
1126
1130
|
videoId: videoId,
|
|
1127
1131
|
playerVars: {
|
|
1128
1132
|
controls: controls,
|
|
@@ -1138,11 +1142,11 @@ function useYouTubePlayer(id) {
|
|
|
1138
1142
|
onStateChange: onStateChange
|
|
1139
1143
|
}
|
|
1140
1144
|
});
|
|
1141
|
-
playerElementRef.current = iframe;
|
|
1142
1145
|
}
|
|
1143
1146
|
|
|
1144
1147
|
playerRef.current = player;
|
|
1145
|
-
|
|
1148
|
+
playerElementRef.current = element;
|
|
1149
|
+
}, [apiLoaded, videoId, elementHasChanged, setPlayState, setReady, setMetadata, destroyPlayer]);
|
|
1146
1150
|
var playing = playState.playing;
|
|
1147
1151
|
var getCurrentTime = react.useCallback(function (p) {
|
|
1148
1152
|
return p.getCurrentTime();
|
|
@@ -1217,6 +1221,8 @@ var useVimeoPlayer = function useVimeoPlayer(id) {
|
|
|
1217
1221
|
var apiRef = react.useRef(null);
|
|
1218
1222
|
var elementRef = react.useRef(null);
|
|
1219
1223
|
var playerRef = react.useRef(null);
|
|
1224
|
+
var playerElementRef = react.useRef(elementRef.current);
|
|
1225
|
+
var elementHasChanged = elementRef.current !== playerElementRef.current;
|
|
1220
1226
|
var videoId = react.useMemo(function () {
|
|
1221
1227
|
return getVideoId(id);
|
|
1222
1228
|
}, [id]);
|
|
@@ -1314,7 +1320,6 @@ var useVimeoPlayer = function useVimeoPlayer(id) {
|
|
|
1314
1320
|
playerRef.current = null;
|
|
1315
1321
|
}
|
|
1316
1322
|
}, []);
|
|
1317
|
-
var playerElementRef = react.useRef(elementRef.current);
|
|
1318
1323
|
react.useEffect(function () {
|
|
1319
1324
|
var currentPlayer = playerRef.current;
|
|
1320
1325
|
|
|
@@ -1322,7 +1327,7 @@ var useVimeoPlayer = function useVimeoPlayer(id) {
|
|
|
1322
1327
|
debug('iFrame switched');
|
|
1323
1328
|
destroyVideo();
|
|
1324
1329
|
}
|
|
1325
|
-
}); // Create player
|
|
1330
|
+
}, [elementHasChanged]); // Create player
|
|
1326
1331
|
|
|
1327
1332
|
react.useEffect(function () {
|
|
1328
1333
|
var _apiRef$current = apiRef.current,
|
|
@@ -1355,7 +1360,6 @@ var useVimeoPlayer = function useVimeoPlayer(id) {
|
|
|
1355
1360
|
}).catch(function (e) {
|
|
1356
1361
|
debug('ERROR: %o', e);
|
|
1357
1362
|
});
|
|
1358
|
-
playerElementRef.current = element;
|
|
1359
1363
|
} else {
|
|
1360
1364
|
debug('Load video [ID: %s]', videoId);
|
|
1361
1365
|
player.loadVideo(videoId).catch(function (e) {
|
|
@@ -1364,7 +1368,8 @@ var useVimeoPlayer = function useVimeoPlayer(id) {
|
|
|
1364
1368
|
}
|
|
1365
1369
|
|
|
1366
1370
|
playerRef.current = player;
|
|
1367
|
-
|
|
1371
|
+
playerElementRef.current = element;
|
|
1372
|
+
}, [apiLoaded, videoId, elementHasChanged, setReady, destroyVideo, setLoaded]); // Bind player events
|
|
1368
1373
|
|
|
1369
1374
|
react.useEffect(function () {
|
|
1370
1375
|
var player = playerRef.current;
|
package/dist/es.js
CHANGED
|
@@ -136,12 +136,14 @@ var useDailymotionPlayer = function useDailymotionPlayer() {
|
|
|
136
136
|
setLoaded = _useState6[1];
|
|
137
137
|
|
|
138
138
|
var apiRef = useRef(typeof window.DM !== 'undefined' ? window.DM : null);
|
|
139
|
-
var elementRef = useRef(null);
|
|
140
|
-
var playerRef = useRef(null);
|
|
141
139
|
var ready = apiLoaded && playerReady;
|
|
142
140
|
var videoId = useMemo(function () {
|
|
143
141
|
return getVideoId(id);
|
|
144
142
|
}, [id]);
|
|
143
|
+
var elementRef = useRef(null);
|
|
144
|
+
var playerRef = useRef(null);
|
|
145
|
+
var playerElementRef = useRef(elementRef.current);
|
|
146
|
+
var elementHasChanged = elementRef.current !== playerElementRef.current;
|
|
145
147
|
|
|
146
148
|
var _useState7 = useState(initialMuted),
|
|
147
149
|
_useState8 = _slicedToArray(_useState7, 2),
|
|
@@ -228,13 +230,15 @@ var useDailymotionPlayer = function useDailymotionPlayer() {
|
|
|
228
230
|
height: height,
|
|
229
231
|
params: playerParams
|
|
230
232
|
});
|
|
231
|
-
playerRef.current = player;
|
|
232
233
|
}
|
|
233
234
|
|
|
234
235
|
if (!playerReady) {
|
|
235
236
|
setPlayerReady(true);
|
|
236
237
|
}
|
|
237
|
-
|
|
238
|
+
|
|
239
|
+
playerRef.current = player;
|
|
240
|
+
playerElementRef.current = element;
|
|
241
|
+
}, [apiLoaded, elementHasChanged, videoId, width, height, autoplay, muted, start, controls, queueAutoplayNext, queueEnable, sharingEnable, uiLogo, uiStartScreenInfo]);
|
|
238
242
|
useEffect(function () {
|
|
239
243
|
var _playerRef$current2 = playerRef.current,
|
|
240
244
|
player = _playerRef$current2 === void 0 ? null : _playerRef$current2;
|
|
@@ -940,6 +944,7 @@ function useYouTubePlayer(id) {
|
|
|
940
944
|
var elementRef = useRef(null);
|
|
941
945
|
var playerRef = useRef(null);
|
|
942
946
|
var playerElementRef = useRef(elementRef.current);
|
|
947
|
+
var elementHasChanged = elementRef.current !== playerElementRef.current;
|
|
943
948
|
var videoId = useMemo(function () {
|
|
944
949
|
return getVideoId(id);
|
|
945
950
|
}, [id]);
|
|
@@ -1042,7 +1047,7 @@ function useYouTubePlayer(id) {
|
|
|
1042
1047
|
debug$1('iFrame switched');
|
|
1043
1048
|
destroyPlayer();
|
|
1044
1049
|
}
|
|
1045
|
-
}, [
|
|
1050
|
+
}, [elementHasChanged]); // Create player
|
|
1046
1051
|
|
|
1047
1052
|
useEffect(function () {
|
|
1048
1053
|
var _apiRef$current = apiRef.current,
|
|
@@ -1064,7 +1069,6 @@ function useYouTubePlayer(id) {
|
|
|
1064
1069
|
player.loadVideoById(videoId);
|
|
1065
1070
|
} else {
|
|
1066
1071
|
debug$1('Create player [ID: %s]', videoId);
|
|
1067
|
-
var iframe = elementRef.current;
|
|
1068
1072
|
|
|
1069
1073
|
var onReady = function onReady(_ref2) {
|
|
1070
1074
|
var target = _ref2.target;
|
|
@@ -1110,7 +1114,7 @@ function useYouTubePlayer(id) {
|
|
|
1110
1114
|
debug$1('onStateChange %s [ID: %s]', stateLabel, videoId);
|
|
1111
1115
|
};
|
|
1112
1116
|
|
|
1113
|
-
player = new YT.Player(
|
|
1117
|
+
player = new YT.Player(element, {
|
|
1114
1118
|
videoId: videoId,
|
|
1115
1119
|
playerVars: {
|
|
1116
1120
|
controls: controls,
|
|
@@ -1126,11 +1130,11 @@ function useYouTubePlayer(id) {
|
|
|
1126
1130
|
onStateChange: onStateChange
|
|
1127
1131
|
}
|
|
1128
1132
|
});
|
|
1129
|
-
playerElementRef.current = iframe;
|
|
1130
1133
|
}
|
|
1131
1134
|
|
|
1132
1135
|
playerRef.current = player;
|
|
1133
|
-
|
|
1136
|
+
playerElementRef.current = element;
|
|
1137
|
+
}, [apiLoaded, videoId, elementHasChanged, setPlayState, setReady, setMetadata, destroyPlayer]);
|
|
1134
1138
|
var playing = playState.playing;
|
|
1135
1139
|
var getCurrentTime = useCallback(function (p) {
|
|
1136
1140
|
return p.getCurrentTime();
|
|
@@ -1205,6 +1209,8 @@ var useVimeoPlayer = function useVimeoPlayer(id) {
|
|
|
1205
1209
|
var apiRef = useRef(null);
|
|
1206
1210
|
var elementRef = useRef(null);
|
|
1207
1211
|
var playerRef = useRef(null);
|
|
1212
|
+
var playerElementRef = useRef(elementRef.current);
|
|
1213
|
+
var elementHasChanged = elementRef.current !== playerElementRef.current;
|
|
1208
1214
|
var videoId = useMemo(function () {
|
|
1209
1215
|
return getVideoId(id);
|
|
1210
1216
|
}, [id]);
|
|
@@ -1302,7 +1308,6 @@ var useVimeoPlayer = function useVimeoPlayer(id) {
|
|
|
1302
1308
|
playerRef.current = null;
|
|
1303
1309
|
}
|
|
1304
1310
|
}, []);
|
|
1305
|
-
var playerElementRef = useRef(elementRef.current);
|
|
1306
1311
|
useEffect(function () {
|
|
1307
1312
|
var currentPlayer = playerRef.current;
|
|
1308
1313
|
|
|
@@ -1310,7 +1315,7 @@ var useVimeoPlayer = function useVimeoPlayer(id) {
|
|
|
1310
1315
|
debug('iFrame switched');
|
|
1311
1316
|
destroyVideo();
|
|
1312
1317
|
}
|
|
1313
|
-
}); // Create player
|
|
1318
|
+
}, [elementHasChanged]); // Create player
|
|
1314
1319
|
|
|
1315
1320
|
useEffect(function () {
|
|
1316
1321
|
var _apiRef$current = apiRef.current,
|
|
@@ -1343,7 +1348,6 @@ var useVimeoPlayer = function useVimeoPlayer(id) {
|
|
|
1343
1348
|
}).catch(function (e) {
|
|
1344
1349
|
debug('ERROR: %o', e);
|
|
1345
1350
|
});
|
|
1346
|
-
playerElementRef.current = element;
|
|
1347
1351
|
} else {
|
|
1348
1352
|
debug('Load video [ID: %s]', videoId);
|
|
1349
1353
|
player.loadVideo(videoId).catch(function (e) {
|
|
@@ -1352,7 +1356,8 @@ var useVimeoPlayer = function useVimeoPlayer(id) {
|
|
|
1352
1356
|
}
|
|
1353
1357
|
|
|
1354
1358
|
playerRef.current = player;
|
|
1355
|
-
|
|
1359
|
+
playerElementRef.current = element;
|
|
1360
|
+
}, [apiLoaded, videoId, elementHasChanged, setReady, destroyVideo, setLoaded]); // Bind player events
|
|
1356
1361
|
|
|
1357
1362
|
useEffect(function () {
|
|
1358
1363
|
var player = playerRef.current;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@folklore/hooks",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.21",
|
|
4
4
|
"description": "React hooks",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"javascript",
|
|
@@ -48,7 +48,7 @@
|
|
|
48
48
|
"publishConfig": {
|
|
49
49
|
"access": "public"
|
|
50
50
|
},
|
|
51
|
-
"gitHead": "
|
|
51
|
+
"gitHead": "6347817aea21fb3239a7a59dcac8af24f1228179",
|
|
52
52
|
"dependencies": {
|
|
53
53
|
"@folklore/events": "^0.0.3",
|
|
54
54
|
"@folklore/services": "^0.1.36",
|