react-native-theoplayer 10.13.0 → 11.1.0
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/CHANGELOG.md +34 -0
- package/android/build.gradle +13 -7
- package/android/local/com/theoplayer/theoplayer-sdk-android/ads-wrapper/11.0.0/ads-wrapper-11.0.0.aar +0 -0
- package/android/local/com/theoplayer/theoplayer-sdk-android/ads-wrapper/{10.12.0/ads-wrapper-10.12.0.pom → 11.0.0/ads-wrapper-11.0.0.pom} +3 -3
- package/android/local/com/theoplayer/theoplayer-sdk-android/ads-wrapper/maven-metadata-local.xml +4 -4
- package/android/src/main/java/com/theoplayer/PlayerConfigAdapter.kt +12 -7
- package/android/src/main/java/com/theoplayer/ads/AdAdapter.kt +7 -12
- package/android/src/main/java/com/theoplayer/cast/CastModule.kt +0 -1
- package/android/src/main/java/com/theoplayer/track/TrackListAdapter.kt +14 -17
- package/ios/.editorconfig +7 -0
- package/ios/THEOplayerRCTBridge.m +1 -1
- package/ios/THEOplayerRCTPlayerAPI.swift +26 -6
- package/ios/THEOplayerRCTSourceDescriptionBuilder.swift +18 -3
- package/ios/ads/THEOplayerRCTAdAdapter.swift +2 -2
- package/ios/ads/THEOplayerRCTAdsNative.swift +1 -1
- package/ios/contentprotection/THEOplayerRCTContentProtectionAggregator.swift +10 -0
- package/lib/commonjs/api/event/PlayerEvent.js +0 -9
- package/lib/commonjs/api/event/PlayerEvent.js.map +1 -1
- package/lib/commonjs/api/player/PlayerEventMap.js +0 -1
- package/lib/commonjs/api/player/PlayerEventMap.js.map +1 -1
- package/lib/commonjs/api/source/SourceDescription.js +0 -80
- package/lib/commonjs/api/source/SourceDescription.js.map +1 -1
- package/lib/commonjs/api/source/ads/Ads.js.map +1 -1
- package/lib/commonjs/api/track/TextTrack.js.map +1 -1
- package/lib/commonjs/internal/THEOplayerView.js +0 -1
- package/lib/commonjs/internal/THEOplayerView.js.map +1 -1
- package/lib/commonjs/internal/THEOplayerView.web.js +5 -3
- package/lib/commonjs/internal/THEOplayerView.web.js.map +1 -1
- package/lib/commonjs/internal/adapter/THEOplayerAdapter.js +0 -3
- package/lib/commonjs/internal/adapter/THEOplayerAdapter.js.map +1 -1
- package/lib/commonjs/internal/adapter/THEOplayerWebAdapter.js +0 -3
- package/lib/commonjs/internal/adapter/THEOplayerWebAdapter.js.map +1 -1
- package/lib/commonjs/internal/adapter/WebEventForwarder.js +0 -1
- package/lib/commonjs/internal/adapter/WebEventForwarder.js.map +1 -1
- package/lib/commonjs/internal/adapter/event/PlayerEvents.js +1 -13
- package/lib/commonjs/internal/adapter/event/PlayerEvents.js.map +1 -1
- package/lib/commonjs/internal/adapter/web/TrackUtils.js +3 -1
- package/lib/commonjs/internal/adapter/web/TrackUtils.js.map +1 -1
- package/lib/commonjs/internal/hooks/useIsAttached.js +48 -0
- package/lib/commonjs/internal/hooks/useIsAttached.js.map +1 -0
- package/lib/commonjs/manifest.json +1 -1
- package/lib/module/api/event/PlayerEvent.js +0 -10
- package/lib/module/api/event/PlayerEvent.js.map +1 -1
- package/lib/module/api/player/PlayerEventMap.js +0 -1
- package/lib/module/api/player/PlayerEventMap.js.map +1 -1
- package/lib/module/api/source/SourceDescription.js +1 -88
- package/lib/module/api/source/SourceDescription.js.map +1 -1
- package/lib/module/api/source/ads/Ads.js.map +1 -1
- package/lib/module/api/track/TextTrack.js.map +1 -1
- package/lib/module/internal/THEOplayerView.js +1 -2
- package/lib/module/internal/THEOplayerView.js.map +1 -1
- package/lib/module/internal/THEOplayerView.web.js +5 -3
- package/lib/module/internal/THEOplayerView.web.js.map +1 -1
- package/lib/module/internal/adapter/THEOplayerAdapter.js +0 -3
- package/lib/module/internal/adapter/THEOplayerAdapter.js.map +1 -1
- package/lib/module/internal/adapter/THEOplayerWebAdapter.js +0 -3
- package/lib/module/internal/adapter/THEOplayerWebAdapter.js.map +1 -1
- package/lib/module/internal/adapter/WebEventForwarder.js +1 -2
- package/lib/module/internal/adapter/WebEventForwarder.js.map +1 -1
- package/lib/module/internal/adapter/event/PlayerEvents.js +0 -11
- package/lib/module/internal/adapter/event/PlayerEvents.js.map +1 -1
- package/lib/module/internal/adapter/web/TrackUtils.js +3 -1
- package/lib/module/internal/adapter/web/TrackUtils.js.map +1 -1
- package/lib/module/internal/hooks/useIsAttached.js +43 -0
- package/lib/module/internal/hooks/useIsAttached.js.map +1 -0
- package/lib/module/manifest.json +1 -1
- package/lib/typescript/api/config/PlayerConfiguration.d.ts +11 -0
- package/lib/typescript/api/config/PlayerConfiguration.d.ts.map +1 -1
- package/lib/typescript/api/event/PlayerEvent.d.ts +0 -19
- package/lib/typescript/api/event/PlayerEvent.d.ts.map +1 -1
- package/lib/typescript/api/player/PlayerEventMap.d.ts +1 -11
- package/lib/typescript/api/player/PlayerEventMap.d.ts.map +1 -1
- package/lib/typescript/api/player/THEOplayer.d.ts +0 -6
- package/lib/typescript/api/player/THEOplayer.d.ts.map +1 -1
- package/lib/typescript/api/source/SourceDescription.d.ts +0 -20
- package/lib/typescript/api/source/SourceDescription.d.ts.map +1 -1
- package/lib/typescript/api/source/ads/Ads.d.ts +3 -2
- package/lib/typescript/api/source/ads/Ads.d.ts.map +1 -1
- package/lib/typescript/api/theolive/TheoLiveSource.d.ts +3 -3
- package/lib/typescript/api/theolive/TheoLiveSource.d.ts.map +1 -1
- package/lib/typescript/api/track/TextTrack.d.ts +11 -0
- package/lib/typescript/api/track/TextTrack.d.ts.map +1 -1
- package/lib/typescript/internal/THEOplayerView.d.ts.map +1 -1
- package/lib/typescript/internal/THEOplayerView.web.d.ts.map +1 -1
- package/lib/typescript/internal/adapter/THEOplayerAdapter.d.ts +0 -1
- package/lib/typescript/internal/adapter/THEOplayerAdapter.d.ts.map +1 -1
- package/lib/typescript/internal/adapter/THEOplayerWebAdapter.d.ts +0 -1
- package/lib/typescript/internal/adapter/THEOplayerWebAdapter.d.ts.map +1 -1
- package/lib/typescript/internal/adapter/WebEventForwarder.d.ts.map +1 -1
- package/lib/typescript/internal/adapter/event/PlayerEvents.d.ts +1 -9
- package/lib/typescript/internal/adapter/event/PlayerEvents.d.ts.map +1 -1
- package/lib/typescript/internal/adapter/web/TrackUtils.d.ts.map +1 -1
- package/lib/typescript/internal/hooks/useIsAttached.d.ts +16 -0
- package/lib/typescript/internal/hooks/useIsAttached.d.ts.map +1 -0
- package/package.json +9 -9
- package/react-native-theoplayer.podspec +8 -8
- package/src/api/config/PlayerConfiguration.ts +12 -0
- package/src/api/event/PlayerEvent.ts +0 -21
- package/src/api/player/PlayerEventMap.ts +0 -12
- package/src/api/player/THEOplayer.ts +0 -7
- package/src/api/source/SourceDescription.ts +0 -22
- package/src/api/source/ads/Ads.ts +3 -2
- package/src/api/theolive/TheoLiveSource.ts +3 -3
- package/src/api/track/TextTrack.ts +12 -0
- package/src/internal/THEOplayerView.tsx +0 -2
- package/src/internal/THEOplayerView.web.tsx +6 -4
- package/src/internal/adapter/THEOplayerAdapter.ts +0 -4
- package/src/internal/adapter/THEOplayerWebAdapter.ts +0 -4
- package/src/internal/adapter/WebEventForwarder.ts +0 -2
- package/src/internal/adapter/event/PlayerEvents.ts +0 -13
- package/src/internal/adapter/track/TextTrackStyleAdapter.ts +4 -4
- package/src/internal/adapter/web/TrackUtils.ts +2 -1
- package/src/internal/hooks/useIsAttached.ts +44 -0
- package/src/manifest.json +1 -1
- package/android/local/com/theoplayer/theoplayer-sdk-android/ads-wrapper/10.12.0/ads-wrapper-10.12.0.aar +0 -0
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* React hook to determine if a referenced HTMLDivElement is currently attached to the document.
|
|
3
|
+
*
|
|
4
|
+
* This hook checks if the provided ref's current element is attached to the DOM (document.body).
|
|
5
|
+
* Returns a boolean indicating the attachment state.
|
|
6
|
+
* Once attached, it will stop observing for changes to optimize performance.
|
|
7
|
+
*
|
|
8
|
+
* @param ref - React ref object pointing to an HTMLDivElement
|
|
9
|
+
* @returns boolean - true if the element is attached to the document, false otherwise
|
|
10
|
+
*/
|
|
11
|
+
import { RefObject, useEffect, useState } from 'react';
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* @param ref
|
|
15
|
+
*/
|
|
16
|
+
export const useIsAttached = (ref: RefObject<HTMLDivElement | null>) => {
|
|
17
|
+
const [isAttached, setIsAttached] = useState<boolean>(false);
|
|
18
|
+
|
|
19
|
+
useEffect(() => {
|
|
20
|
+
if (!ref.current) return;
|
|
21
|
+
|
|
22
|
+
const checkAttached = () => {
|
|
23
|
+
const connected = ref.current?.isConnected ?? false;
|
|
24
|
+
setIsAttached(connected);
|
|
25
|
+
return connected;
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
if (checkAttached()) return;
|
|
29
|
+
|
|
30
|
+
const observer: MutationObserver = new MutationObserver(() => {
|
|
31
|
+
const attached = checkAttached();
|
|
32
|
+
// Once attached, stop observing.
|
|
33
|
+
if (attached) {
|
|
34
|
+
observer.disconnect();
|
|
35
|
+
}
|
|
36
|
+
});
|
|
37
|
+
observer.observe(document.body, {
|
|
38
|
+
childList: true,
|
|
39
|
+
subtree: true,
|
|
40
|
+
});
|
|
41
|
+
return () => observer.disconnect();
|
|
42
|
+
}, [ref]);
|
|
43
|
+
return isAttached;
|
|
44
|
+
};
|
package/src/manifest.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":"
|
|
1
|
+
{"version":"11.1.0","buildDate":"2026-05-27T17:00:02.965Z"}
|