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.
Files changed (115) hide show
  1. package/CHANGELOG.md +34 -0
  2. package/android/build.gradle +13 -7
  3. package/android/local/com/theoplayer/theoplayer-sdk-android/ads-wrapper/11.0.0/ads-wrapper-11.0.0.aar +0 -0
  4. 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
  5. package/android/local/com/theoplayer/theoplayer-sdk-android/ads-wrapper/maven-metadata-local.xml +4 -4
  6. package/android/src/main/java/com/theoplayer/PlayerConfigAdapter.kt +12 -7
  7. package/android/src/main/java/com/theoplayer/ads/AdAdapter.kt +7 -12
  8. package/android/src/main/java/com/theoplayer/cast/CastModule.kt +0 -1
  9. package/android/src/main/java/com/theoplayer/track/TrackListAdapter.kt +14 -17
  10. package/ios/.editorconfig +7 -0
  11. package/ios/THEOplayerRCTBridge.m +1 -1
  12. package/ios/THEOplayerRCTPlayerAPI.swift +26 -6
  13. package/ios/THEOplayerRCTSourceDescriptionBuilder.swift +18 -3
  14. package/ios/ads/THEOplayerRCTAdAdapter.swift +2 -2
  15. package/ios/ads/THEOplayerRCTAdsNative.swift +1 -1
  16. package/ios/contentprotection/THEOplayerRCTContentProtectionAggregator.swift +10 -0
  17. package/lib/commonjs/api/event/PlayerEvent.js +0 -9
  18. package/lib/commonjs/api/event/PlayerEvent.js.map +1 -1
  19. package/lib/commonjs/api/player/PlayerEventMap.js +0 -1
  20. package/lib/commonjs/api/player/PlayerEventMap.js.map +1 -1
  21. package/lib/commonjs/api/source/SourceDescription.js +0 -80
  22. package/lib/commonjs/api/source/SourceDescription.js.map +1 -1
  23. package/lib/commonjs/api/source/ads/Ads.js.map +1 -1
  24. package/lib/commonjs/api/track/TextTrack.js.map +1 -1
  25. package/lib/commonjs/internal/THEOplayerView.js +0 -1
  26. package/lib/commonjs/internal/THEOplayerView.js.map +1 -1
  27. package/lib/commonjs/internal/THEOplayerView.web.js +5 -3
  28. package/lib/commonjs/internal/THEOplayerView.web.js.map +1 -1
  29. package/lib/commonjs/internal/adapter/THEOplayerAdapter.js +0 -3
  30. package/lib/commonjs/internal/adapter/THEOplayerAdapter.js.map +1 -1
  31. package/lib/commonjs/internal/adapter/THEOplayerWebAdapter.js +0 -3
  32. package/lib/commonjs/internal/adapter/THEOplayerWebAdapter.js.map +1 -1
  33. package/lib/commonjs/internal/adapter/WebEventForwarder.js +0 -1
  34. package/lib/commonjs/internal/adapter/WebEventForwarder.js.map +1 -1
  35. package/lib/commonjs/internal/adapter/event/PlayerEvents.js +1 -13
  36. package/lib/commonjs/internal/adapter/event/PlayerEvents.js.map +1 -1
  37. package/lib/commonjs/internal/adapter/web/TrackUtils.js +3 -1
  38. package/lib/commonjs/internal/adapter/web/TrackUtils.js.map +1 -1
  39. package/lib/commonjs/internal/hooks/useIsAttached.js +48 -0
  40. package/lib/commonjs/internal/hooks/useIsAttached.js.map +1 -0
  41. package/lib/commonjs/manifest.json +1 -1
  42. package/lib/module/api/event/PlayerEvent.js +0 -10
  43. package/lib/module/api/event/PlayerEvent.js.map +1 -1
  44. package/lib/module/api/player/PlayerEventMap.js +0 -1
  45. package/lib/module/api/player/PlayerEventMap.js.map +1 -1
  46. package/lib/module/api/source/SourceDescription.js +1 -88
  47. package/lib/module/api/source/SourceDescription.js.map +1 -1
  48. package/lib/module/api/source/ads/Ads.js.map +1 -1
  49. package/lib/module/api/track/TextTrack.js.map +1 -1
  50. package/lib/module/internal/THEOplayerView.js +1 -2
  51. package/lib/module/internal/THEOplayerView.js.map +1 -1
  52. package/lib/module/internal/THEOplayerView.web.js +5 -3
  53. package/lib/module/internal/THEOplayerView.web.js.map +1 -1
  54. package/lib/module/internal/adapter/THEOplayerAdapter.js +0 -3
  55. package/lib/module/internal/adapter/THEOplayerAdapter.js.map +1 -1
  56. package/lib/module/internal/adapter/THEOplayerWebAdapter.js +0 -3
  57. package/lib/module/internal/adapter/THEOplayerWebAdapter.js.map +1 -1
  58. package/lib/module/internal/adapter/WebEventForwarder.js +1 -2
  59. package/lib/module/internal/adapter/WebEventForwarder.js.map +1 -1
  60. package/lib/module/internal/adapter/event/PlayerEvents.js +0 -11
  61. package/lib/module/internal/adapter/event/PlayerEvents.js.map +1 -1
  62. package/lib/module/internal/adapter/web/TrackUtils.js +3 -1
  63. package/lib/module/internal/adapter/web/TrackUtils.js.map +1 -1
  64. package/lib/module/internal/hooks/useIsAttached.js +43 -0
  65. package/lib/module/internal/hooks/useIsAttached.js.map +1 -0
  66. package/lib/module/manifest.json +1 -1
  67. package/lib/typescript/api/config/PlayerConfiguration.d.ts +11 -0
  68. package/lib/typescript/api/config/PlayerConfiguration.d.ts.map +1 -1
  69. package/lib/typescript/api/event/PlayerEvent.d.ts +0 -19
  70. package/lib/typescript/api/event/PlayerEvent.d.ts.map +1 -1
  71. package/lib/typescript/api/player/PlayerEventMap.d.ts +1 -11
  72. package/lib/typescript/api/player/PlayerEventMap.d.ts.map +1 -1
  73. package/lib/typescript/api/player/THEOplayer.d.ts +0 -6
  74. package/lib/typescript/api/player/THEOplayer.d.ts.map +1 -1
  75. package/lib/typescript/api/source/SourceDescription.d.ts +0 -20
  76. package/lib/typescript/api/source/SourceDescription.d.ts.map +1 -1
  77. package/lib/typescript/api/source/ads/Ads.d.ts +3 -2
  78. package/lib/typescript/api/source/ads/Ads.d.ts.map +1 -1
  79. package/lib/typescript/api/theolive/TheoLiveSource.d.ts +3 -3
  80. package/lib/typescript/api/theolive/TheoLiveSource.d.ts.map +1 -1
  81. package/lib/typescript/api/track/TextTrack.d.ts +11 -0
  82. package/lib/typescript/api/track/TextTrack.d.ts.map +1 -1
  83. package/lib/typescript/internal/THEOplayerView.d.ts.map +1 -1
  84. package/lib/typescript/internal/THEOplayerView.web.d.ts.map +1 -1
  85. package/lib/typescript/internal/adapter/THEOplayerAdapter.d.ts +0 -1
  86. package/lib/typescript/internal/adapter/THEOplayerAdapter.d.ts.map +1 -1
  87. package/lib/typescript/internal/adapter/THEOplayerWebAdapter.d.ts +0 -1
  88. package/lib/typescript/internal/adapter/THEOplayerWebAdapter.d.ts.map +1 -1
  89. package/lib/typescript/internal/adapter/WebEventForwarder.d.ts.map +1 -1
  90. package/lib/typescript/internal/adapter/event/PlayerEvents.d.ts +1 -9
  91. package/lib/typescript/internal/adapter/event/PlayerEvents.d.ts.map +1 -1
  92. package/lib/typescript/internal/adapter/web/TrackUtils.d.ts.map +1 -1
  93. package/lib/typescript/internal/hooks/useIsAttached.d.ts +16 -0
  94. package/lib/typescript/internal/hooks/useIsAttached.d.ts.map +1 -0
  95. package/package.json +9 -9
  96. package/react-native-theoplayer.podspec +8 -8
  97. package/src/api/config/PlayerConfiguration.ts +12 -0
  98. package/src/api/event/PlayerEvent.ts +0 -21
  99. package/src/api/player/PlayerEventMap.ts +0 -12
  100. package/src/api/player/THEOplayer.ts +0 -7
  101. package/src/api/source/SourceDescription.ts +0 -22
  102. package/src/api/source/ads/Ads.ts +3 -2
  103. package/src/api/theolive/TheoLiveSource.ts +3 -3
  104. package/src/api/track/TextTrack.ts +12 -0
  105. package/src/internal/THEOplayerView.tsx +0 -2
  106. package/src/internal/THEOplayerView.web.tsx +6 -4
  107. package/src/internal/adapter/THEOplayerAdapter.ts +0 -4
  108. package/src/internal/adapter/THEOplayerWebAdapter.ts +0 -4
  109. package/src/internal/adapter/WebEventForwarder.ts +0 -2
  110. package/src/internal/adapter/event/PlayerEvents.ts +0 -13
  111. package/src/internal/adapter/track/TextTrackStyleAdapter.ts +4 -4
  112. package/src/internal/adapter/web/TrackUtils.ts +2 -1
  113. package/src/internal/hooks/useIsAttached.ts +44 -0
  114. package/src/manifest.json +1 -1
  115. 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":"10.13.0","buildDate":"2026-03-27T13:55:41.539Z"}
1
+ {"version":"11.1.0","buildDate":"2026-05-27T17:00:02.965Z"}