@bluebillywig/react-native-bb-player 8.46.0 → 8.47.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 (161) hide show
  1. package/android/build.gradle +9 -3
  2. package/android/repo/com/bluebillywig/bbnativeplayersdk/bbnativeplayersdk/{0.0.11.8-SNAPSHOT/bbnativeplayersdk-0.0.11.8-SNAPSHOT.module → 8.47.0/bbnativeplayersdk-8.47.0.module} +14 -14
  3. package/android/repo/com/bluebillywig/bbnativeplayersdk/bbnativeplayersdk/{0.0.11.8-SNAPSHOT/bbnativeplayersdk-0.0.11.8-SNAPSHOT.pom → 8.47.0/bbnativeplayersdk-8.47.0.pom} +25 -3
  4. package/android/repo/com/bluebillywig/bbnativeplayersdk/bbnativeplayersdk-core/8.47.0/bbnativeplayersdk-core-8.47.0.aar +0 -0
  5. package/android/repo/com/bluebillywig/bbnativeplayersdk/bbnativeplayersdk-core/{0.0.11.8-SNAPSHOT/bbnativeplayersdk-core-0.0.11.8-SNAPSHOT.module → 8.47.0/bbnativeplayersdk-core-8.47.0.module} +26 -26
  6. package/android/repo/com/bluebillywig/bbnativeplayersdk/bbnativeplayersdk-core/{0.0.11.8-SNAPSHOT/bbnativeplayersdk-core-0.0.11.8-SNAPSHOT.pom → 8.47.0/bbnativeplayersdk-core-8.47.0.pom} +24 -2
  7. package/android/repo/com/bluebillywig/bbnativeplayersdk/bbnativeshared/{0.0.11.8-SNAPSHOT/bbnativeshared-0.0.11.8-SNAPSHOT.module → 8.47.0/bbnativeshared-8.47.0.module} +16 -16
  8. package/android/repo/com/bluebillywig/bbnativeplayersdk/bbnativeshared/8.47.0/bbnativeshared-8.47.0.pom +36 -0
  9. package/android/repo/com/bluebillywig/bbnativeplayersdk/bbnativeshared-android/{0.0.11.8-SNAPSHOT/bbnativeshared-android-0.0.11.8-SNAPSHOT.aar → 8.47.0/bbnativeshared-android-8.47.0.aar} +0 -0
  10. package/android/repo/com/bluebillywig/bbnativeplayersdk/bbnativeshared-android/{0.0.11.8-SNAPSHOT/bbnativeshared-android-0.0.11.8-SNAPSHOT.module → 8.47.0/bbnativeshared-android-8.47.0.module} +21 -21
  11. package/android/repo/com/bluebillywig/bbnativeplayersdk/bbnativeshared-android/{0.0.11.8-SNAPSHOT/bbnativeshared-android-0.0.11.8-SNAPSHOT.pom → 8.47.0/bbnativeshared-android-8.47.0.pom} +23 -1
  12. package/android/src/main/java/com/bluebillywig/bbplayer/BBPlayerModule.kt +14 -0
  13. package/android/src/main/java/com/bluebillywig/bbplayer/BBPlayerView.kt +56 -35
  14. package/android/src/paper/java/com/bluebillywig/bbplayer/NativeBBPlayerModuleSpec.java +1 -0
  15. package/ios/BBCastButtonViewManager.swift +4 -0
  16. package/ios/BBCastMiniControlsViewManager.swift +4 -0
  17. package/ios/BBPlayerModule.mm +1 -0
  18. package/ios/BBPlayerModule.swift +12 -0
  19. package/ios/BBPlayerView.swift +49 -35
  20. package/ios/Frameworks/BBNativePlayerKit.xcframework/Info.plist +5 -5
  21. package/ios/Frameworks/BBNativePlayerKit.xcframework/ios-arm64/BBNativePlayerKit.framework/Assets.car +0 -0
  22. package/ios/Frameworks/BBNativePlayerKit.xcframework/ios-arm64/BBNativePlayerKit.framework/BBNativePlayerKit +0 -0
  23. package/ios/Frameworks/BBNativePlayerKit.xcframework/ios-arm64/BBNativePlayerKit.framework/Headers/BBNativePlayerKit-Swift.h +9 -9
  24. package/ios/Frameworks/BBNativePlayerKit.xcframework/ios-arm64/BBNativePlayerKit.framework/Info.plist +0 -0
  25. package/ios/Frameworks/BBNativePlayerKit.xcframework/ios-arm64/BBNativePlayerKit.framework/Modules/BBNativePlayerKit.swiftmodule/arm64-apple-ios.abi.json +1342 -1139
  26. package/ios/Frameworks/BBNativePlayerKit.xcframework/ios-arm64/BBNativePlayerKit.framework/Modules/BBNativePlayerKit.swiftmodule/arm64-apple-ios.private.swiftinterface +136 -2
  27. package/ios/Frameworks/BBNativePlayerKit.xcframework/ios-arm64/BBNativePlayerKit.framework/Modules/BBNativePlayerKit.swiftmodule/arm64-apple-ios.swiftdoc +0 -0
  28. package/ios/Frameworks/BBNativePlayerKit.xcframework/ios-arm64/BBNativePlayerKit.framework/Modules/BBNativePlayerKit.swiftmodule/arm64-apple-ios.swiftinterface +136 -2
  29. package/ios/Frameworks/BBNativePlayerKit.xcframework/ios-arm64_x86_64-simulator/BBNativePlayerKit.framework/Assets.car +0 -0
  30. package/ios/Frameworks/BBNativePlayerKit.xcframework/ios-arm64_x86_64-simulator/BBNativePlayerKit.framework/BBNativePlayerKit +0 -0
  31. package/ios/Frameworks/BBNativePlayerKit.xcframework/ios-arm64_x86_64-simulator/BBNativePlayerKit.framework/Headers/BBNativePlayerKit-Swift.h +18 -18
  32. package/ios/Frameworks/BBNativePlayerKit.xcframework/ios-arm64_x86_64-simulator/BBNativePlayerKit.framework/Info.plist +0 -0
  33. package/ios/Frameworks/BBNativePlayerKit.xcframework/ios-arm64_x86_64-simulator/BBNativePlayerKit.framework/Modules/BBNativePlayerKit.swiftmodule/arm64-apple-ios-simulator.abi.json +1342 -1139
  34. package/ios/Frameworks/BBNativePlayerKit.xcframework/ios-arm64_x86_64-simulator/BBNativePlayerKit.framework/Modules/BBNativePlayerKit.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface +136 -2
  35. package/ios/Frameworks/BBNativePlayerKit.xcframework/ios-arm64_x86_64-simulator/BBNativePlayerKit.framework/Modules/BBNativePlayerKit.swiftmodule/arm64-apple-ios-simulator.swiftdoc +0 -0
  36. package/ios/Frameworks/BBNativePlayerKit.xcframework/ios-arm64_x86_64-simulator/BBNativePlayerKit.framework/Modules/BBNativePlayerKit.swiftmodule/arm64-apple-ios-simulator.swiftinterface +136 -2
  37. package/ios/Frameworks/BBNativePlayerKit.xcframework/ios-arm64_x86_64-simulator/BBNativePlayerKit.framework/Modules/BBNativePlayerKit.swiftmodule/x86_64-apple-ios-simulator.abi.json +1342 -1139
  38. package/ios/Frameworks/BBNativePlayerKit.xcframework/ios-arm64_x86_64-simulator/BBNativePlayerKit.framework/Modules/BBNativePlayerKit.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface +136 -2
  39. package/ios/Frameworks/BBNativePlayerKit.xcframework/ios-arm64_x86_64-simulator/BBNativePlayerKit.framework/Modules/BBNativePlayerKit.swiftmodule/x86_64-apple-ios-simulator.swiftdoc +0 -0
  40. package/ios/Frameworks/BBNativePlayerKit.xcframework/ios-arm64_x86_64-simulator/BBNativePlayerKit.framework/Modules/BBNativePlayerKit.swiftmodule/x86_64-apple-ios-simulator.swiftinterface +136 -2
  41. package/ios/Frameworks/bbnativeshared.xcframework/Info.plist +5 -5
  42. package/ios/Frameworks/bbnativeshared.xcframework/ios-arm64/bbnativeshared.framework/Headers/bbnativeshared.h +3 -2
  43. package/ios/Frameworks/bbnativeshared.xcframework/ios-arm64/bbnativeshared.framework/bbnativeshared +0 -0
  44. package/ios/Frameworks/bbnativeshared.xcframework/ios-arm64/dSYMs/bbnativeshared.framework.dSYM/Contents/Resources/DWARF/bbnativeshared +0 -0
  45. package/ios/Frameworks/bbnativeshared.xcframework/ios-arm64/dSYMs/bbnativeshared.framework.dSYM/Contents/Resources/Relocations/aarch64/bbnativeshared.yml +3276 -3274
  46. package/ios/Frameworks/bbnativeshared.xcframework/ios-arm64_x86_64-simulator/bbnativeshared.framework/Headers/bbnativeshared.h +3 -2
  47. package/ios/Frameworks/bbnativeshared.xcframework/ios-arm64_x86_64-simulator/bbnativeshared.framework/bbnativeshared +0 -0
  48. package/ios/Frameworks/bbnativeshared.xcframework/ios-arm64_x86_64-simulator/dSYMs/bbnativeshared.framework.dSYM/Contents/Resources/DWARF/bbnativeshared +0 -0
  49. package/lib/commonjs/BBCastButton.js +7 -12
  50. package/lib/commonjs/BBCastButton.js.map +1 -1
  51. package/lib/commonjs/BBCastMiniControls.js +7 -12
  52. package/lib/commonjs/BBCastMiniControls.js.map +1 -1
  53. package/lib/commonjs/BBOutstreamView.js +2 -0
  54. package/lib/commonjs/BBOutstreamView.js.map +1 -1
  55. package/lib/commonjs/NativeCommands.js +17 -6
  56. package/lib/commonjs/NativeCommands.js.map +1 -1
  57. package/lib/commonjs/castAvailability.js +30 -0
  58. package/lib/commonjs/castAvailability.js.map +1 -0
  59. package/lib/commonjs/index.js +4 -0
  60. package/lib/commonjs/index.js.map +1 -1
  61. package/lib/commonjs/specs/BBCastButtonViewNativeComponent.js +12 -0
  62. package/lib/commonjs/specs/BBCastButtonViewNativeComponent.js.map +1 -0
  63. package/lib/commonjs/specs/BBCastMiniControlsViewNativeComponent.js +12 -0
  64. package/lib/commonjs/specs/BBCastMiniControlsViewNativeComponent.js.map +1 -0
  65. package/lib/commonjs/specs/BBPlayerViewNativeComponent.js +27 -0
  66. package/lib/commonjs/specs/BBPlayerViewNativeComponent.js.map +1 -0
  67. package/lib/commonjs/specs/BBShortsViewNativeComponent.js +17 -0
  68. package/lib/commonjs/specs/BBShortsViewNativeComponent.js.map +1 -0
  69. package/lib/commonjs/specs/NativeBBPlayerModule.js.map +1 -1
  70. package/lib/module/BBCastButton.js +7 -12
  71. package/lib/module/BBCastButton.js.map +1 -1
  72. package/lib/module/BBCastMiniControls.js +7 -12
  73. package/lib/module/BBCastMiniControls.js.map +1 -1
  74. package/lib/module/BBOutstreamView.js +2 -0
  75. package/lib/module/BBOutstreamView.js.map +1 -1
  76. package/lib/module/NativeCommands.js +17 -6
  77. package/lib/module/NativeCommands.js.map +1 -1
  78. package/lib/module/castAvailability.js +27 -0
  79. package/lib/module/castAvailability.js.map +1 -0
  80. package/lib/module/index.js +8 -0
  81. package/lib/module/index.js.map +1 -1
  82. package/lib/module/specs/BBCastButtonViewNativeComponent.js +7 -0
  83. package/lib/module/specs/BBCastButtonViewNativeComponent.js.map +1 -0
  84. package/lib/module/specs/BBCastMiniControlsViewNativeComponent.js +7 -0
  85. package/lib/module/specs/BBCastMiniControlsViewNativeComponent.js.map +1 -0
  86. package/lib/module/specs/BBPlayerViewNativeComponent.js +24 -0
  87. package/lib/module/specs/BBPlayerViewNativeComponent.js.map +1 -0
  88. package/lib/module/specs/BBShortsViewNativeComponent.js +14 -0
  89. package/lib/module/specs/BBShortsViewNativeComponent.js.map +1 -0
  90. package/lib/module/specs/NativeBBPlayerModule.js.map +1 -1
  91. package/lib/typescript/src/BBCastButton.d.ts +4 -9
  92. package/lib/typescript/src/BBCastButton.d.ts.map +1 -1
  93. package/lib/typescript/src/BBCastMiniControls.d.ts +4 -9
  94. package/lib/typescript/src/BBCastMiniControls.d.ts.map +1 -1
  95. package/lib/typescript/src/BBOutstreamView.d.ts.map +1 -1
  96. package/lib/typescript/src/BBPlayer.types.d.ts +23 -16
  97. package/lib/typescript/src/BBPlayer.types.d.ts.map +1 -1
  98. package/lib/typescript/src/NativeCommands.d.ts +3 -5
  99. package/lib/typescript/src/NativeCommands.d.ts.map +1 -1
  100. package/lib/typescript/src/castAvailability.d.ts +2 -0
  101. package/lib/typescript/src/castAvailability.d.ts.map +1 -0
  102. package/lib/typescript/src/index.d.ts +4 -0
  103. package/lib/typescript/src/index.d.ts.map +1 -1
  104. package/lib/typescript/src/specs/BBCastButtonViewNativeComponent.d.ts +8 -0
  105. package/lib/typescript/src/specs/BBCastButtonViewNativeComponent.d.ts.map +1 -0
  106. package/lib/typescript/src/specs/BBCastMiniControlsViewNativeComponent.d.ts +7 -0
  107. package/lib/typescript/src/specs/BBCastMiniControlsViewNativeComponent.d.ts.map +1 -0
  108. package/lib/typescript/src/specs/BBPlayerViewNativeComponent.d.ts +92 -0
  109. package/lib/typescript/src/specs/BBPlayerViewNativeComponent.d.ts.map +1 -0
  110. package/lib/typescript/src/specs/BBShortsViewNativeComponent.d.ts +24 -0
  111. package/lib/typescript/src/specs/BBShortsViewNativeComponent.d.ts.map +1 -0
  112. package/lib/typescript/src/specs/NativeBBPlayerModule.d.ts +1 -0
  113. package/lib/typescript/src/specs/NativeBBPlayerModule.d.ts.map +1 -1
  114. package/package.json +3 -2
  115. package/src/BBCastButton.tsx +8 -12
  116. package/src/BBCastMiniControls.tsx +8 -13
  117. package/src/BBOutstreamView.tsx +3 -0
  118. package/src/BBPlayer.types.ts +28 -16
  119. package/src/NativeCommands.ts +18 -15
  120. package/src/castAvailability.ts +30 -0
  121. package/src/index.ts +8 -0
  122. package/src/specs/BBCastButtonViewNativeComponent.ts +10 -0
  123. package/src/specs/BBCastMiniControlsViewNativeComponent.ts +8 -0
  124. package/src/specs/BBPlayerViewNativeComponent.ts +74 -0
  125. package/src/specs/BBShortsViewNativeComponent.ts +21 -0
  126. package/src/specs/NativeBBPlayerModule.ts +1 -0
  127. package/android/repo/com/bluebillywig/bbnativeplayersdk/bbnativeplayersdk/0.0.11.8-SNAPSHOT/bbnativeplayersdk-0.0.11.8-SNAPSHOT-javadoc.jar +0 -0
  128. package/android/repo/com/bluebillywig/bbnativeplayersdk/bbnativeplayersdk/0.0.11.8-SNAPSHOT/bbnativeplayersdk-0.0.11.8-SNAPSHOT-sources.jar +0 -0
  129. package/android/repo/com/bluebillywig/bbnativeplayersdk/bbnativeplayersdk/0.0.11.8-SNAPSHOT/maven-metadata-local.xml +0 -41
  130. package/android/repo/com/bluebillywig/bbnativeplayersdk/bbnativeplayersdk/maven-metadata-local.xml +0 -12
  131. package/android/repo/com/bluebillywig/bbnativeplayersdk/bbnativeplayersdk-compose/0.0.11.8-SNAPSHOT/bbnativeplayersdk-compose-0.0.11.8-SNAPSHOT-javadoc.jar +0 -0
  132. package/android/repo/com/bluebillywig/bbnativeplayersdk/bbnativeplayersdk-compose/0.0.11.8-SNAPSHOT/bbnativeplayersdk-compose-0.0.11.8-SNAPSHOT-sources.jar +0 -0
  133. package/android/repo/com/bluebillywig/bbnativeplayersdk/bbnativeplayersdk-compose/0.0.11.8-SNAPSHOT/bbnativeplayersdk-compose-0.0.11.8-SNAPSHOT.aar +0 -0
  134. package/android/repo/com/bluebillywig/bbnativeplayersdk/bbnativeplayersdk-compose/0.0.11.8-SNAPSHOT/bbnativeplayersdk-compose-0.0.11.8-SNAPSHOT.module +0 -167
  135. package/android/repo/com/bluebillywig/bbnativeplayersdk/bbnativeplayersdk-compose/0.0.11.8-SNAPSHOT/bbnativeplayersdk-compose-0.0.11.8-SNAPSHOT.pom +0 -61
  136. package/android/repo/com/bluebillywig/bbnativeplayersdk/bbnativeplayersdk-compose/0.0.11.8-SNAPSHOT/maven-metadata-local.xml +0 -41
  137. package/android/repo/com/bluebillywig/bbnativeplayersdk/bbnativeplayersdk-compose/maven-metadata-local.xml +0 -12
  138. package/android/repo/com/bluebillywig/bbnativeplayersdk/bbnativeplayersdk-core/0.0.11.8-SNAPSHOT/bbnativeplayersdk-core-0.0.11.8-SNAPSHOT-javadoc.jar +0 -0
  139. package/android/repo/com/bluebillywig/bbnativeplayersdk/bbnativeplayersdk-core/0.0.11.8-SNAPSHOT/bbnativeplayersdk-core-0.0.11.8-SNAPSHOT-sources.jar +0 -0
  140. package/android/repo/com/bluebillywig/bbnativeplayersdk/bbnativeplayersdk-core/0.0.11.8-SNAPSHOT/bbnativeplayersdk-core-0.0.11.8-SNAPSHOT.aar +0 -0
  141. package/android/repo/com/bluebillywig/bbnativeplayersdk/bbnativeplayersdk-core/0.0.11.8-SNAPSHOT/maven-metadata-local.xml +0 -41
  142. package/android/repo/com/bluebillywig/bbnativeplayersdk/bbnativeplayersdk-core/maven-metadata-local.xml +0 -12
  143. package/android/repo/com/bluebillywig/bbnativeplayersdk/bbnativeshared/0.0.11.8-SNAPSHOT/bbnativeshared-0.0.11.8-SNAPSHOT-javadoc.jar +0 -0
  144. package/android/repo/com/bluebillywig/bbnativeplayersdk/bbnativeshared/0.0.11.8-SNAPSHOT/bbnativeshared-0.0.11.8-SNAPSHOT-kotlin-tooling-metadata.json +0 -28
  145. package/android/repo/com/bluebillywig/bbnativeplayersdk/bbnativeshared/0.0.11.8-SNAPSHOT/bbnativeshared-0.0.11.8-SNAPSHOT-sources.jar +0 -0
  146. package/android/repo/com/bluebillywig/bbnativeplayersdk/bbnativeshared/0.0.11.8-SNAPSHOT/bbnativeshared-0.0.11.8-SNAPSHOT.pom +0 -14
  147. package/android/repo/com/bluebillywig/bbnativeplayersdk/bbnativeshared/0.0.11.8-SNAPSHOT/maven-metadata-local.xml +0 -47
  148. package/android/repo/com/bluebillywig/bbnativeplayersdk/bbnativeshared/maven-metadata-local.xml +0 -12
  149. package/android/repo/com/bluebillywig/bbnativeplayersdk/bbnativeshared-android/0.0.11.8-SNAPSHOT/bbnativeshared-android-0.0.11.8-SNAPSHOT-javadoc.jar +0 -0
  150. package/android/repo/com/bluebillywig/bbnativeplayersdk/bbnativeshared-android/0.0.11.8-SNAPSHOT/bbnativeshared-android-0.0.11.8-SNAPSHOT-sources.jar +0 -0
  151. package/android/repo/com/bluebillywig/bbnativeplayersdk/bbnativeshared-android/0.0.11.8-SNAPSHOT/maven-metadata-local.xml +0 -41
  152. package/android/repo/com/bluebillywig/bbnativeplayersdk/bbnativeshared-android/maven-metadata-local.xml +0 -12
  153. package/android/repo/com/bluebillywig/bbnativeplayersdk/bbnativeshared-android-debug/0.0.11.8-SNAPSHOT/bbnativeshared-android-debug-0.0.11.8-SNAPSHOT-javadoc.jar +0 -0
  154. package/android/repo/com/bluebillywig/bbnativeplayersdk/bbnativeshared-android-debug/0.0.11.8-SNAPSHOT/bbnativeshared-android-debug-0.0.11.8-SNAPSHOT-sources.jar +0 -0
  155. package/android/repo/com/bluebillywig/bbnativeplayersdk/bbnativeshared-android-debug/0.0.11.8-SNAPSHOT/bbnativeshared-android-debug-0.0.11.8-SNAPSHOT.aar +0 -0
  156. package/android/repo/com/bluebillywig/bbnativeplayersdk/bbnativeshared-android-debug/0.0.11.8-SNAPSHOT/bbnativeshared-android-debug-0.0.11.8-SNAPSHOT.module +0 -332
  157. package/android/repo/com/bluebillywig/bbnativeplayersdk/bbnativeshared-android-debug/0.0.11.8-SNAPSHOT/bbnativeshared-android-debug-0.0.11.8-SNAPSHOT.pom +0 -245
  158. package/android/repo/com/bluebillywig/bbnativeplayersdk/bbnativeshared-android-debug/0.0.11.8-SNAPSHOT/maven-metadata-local.xml +0 -41
  159. package/android/repo/com/bluebillywig/bbnativeplayersdk/bbnativeshared-android-debug/maven-metadata-local.xml +0 -12
  160. /package/android/repo/com/bluebillywig/bbnativeplayersdk/bbnativeplayersdk/{0.0.11.8-SNAPSHOT/bbnativeplayersdk-0.0.11.8-SNAPSHOT.aar → 8.47.0/bbnativeplayersdk-8.47.0.aar} +0 -0
  161. /package/android/repo/com/bluebillywig/bbnativeplayersdk/bbnativeshared/{0.0.11.8-SNAPSHOT/bbnativeshared-0.0.11.8-SNAPSHOT.jar → 8.47.0/bbnativeshared-8.47.0.jar} +0 -0
@@ -1,3 +1,7 @@
1
+ import "./specs/BBPlayerViewNativeComponent";
2
+ import "./specs/BBShortsViewNativeComponent";
3
+ import "./specs/BBCastButtonViewNativeComponent";
4
+ import "./specs/BBCastMiniControlsViewNativeComponent";
1
5
  export { default as BBPlayerView } from "./BBPlayerView";
2
6
  export { default as BBShortsView } from "./BBShortsView";
3
7
  export { default as BBOutstreamPlayerView } from "./BBOutstreamView";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,YAAY,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAC9E,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AAGxB,uDAAuD;AACvD,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAC/D,uDAAuD;AACvD,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAC7D,OAAO,EACL,KAAK,iBAAiB,IAAI,qBAAqB,EAC/C,KAAK,mBAAmB,IAAI,oBAAoB,GACjD,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,qCAAqC,CAAC;AAC7C,OAAO,qCAAqC,CAAC;AAC7C,OAAO,yCAAyC,CAAC;AACjD,OAAO,+CAA+C,CAAC;AAGvD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,YAAY,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAC9E,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AAGxB,uDAAuD;AACvD,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAC/D,uDAAuD;AACvD,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAC7D,OAAO,EACL,KAAK,iBAAiB,IAAI,qBAAqB,EAC/C,KAAK,mBAAmB,IAAI,oBAAoB,GACjD,MAAM,kBAAkB,CAAC"}
@@ -0,0 +1,8 @@
1
+ /// <reference types="react-native/types/modules/Codegen" />
2
+ import type { ViewProps, ColorValue } from 'react-native';
3
+ export interface BBCastButtonViewNativeProps extends ViewProps {
4
+ tintColor?: ColorValue;
5
+ }
6
+ declare const _default: import("react-native/Libraries/Utilities/codegenNativeComponent").NativeComponentType<BBCastButtonViewNativeProps>;
7
+ export default _default;
8
+ //# sourceMappingURL=BBCastButtonViewNativeComponent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BBCastButtonViewNativeComponent.d.ts","sourceRoot":"","sources":["../../../../src/specs/BBCastButtonViewNativeComponent.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAG1D,MAAM,WAAW,2BAA4B,SAAQ,SAAS;IAC5D,SAAS,CAAC,EAAE,UAAU,CAAC;CACxB;;AAED,wBAEG"}
@@ -0,0 +1,7 @@
1
+ /// <reference types="react-native/types/modules/Codegen" />
2
+ import type { ViewProps } from 'react-native';
3
+ export interface BBCastMiniControlsViewNativeProps extends ViewProps {
4
+ }
5
+ declare const _default: import("react-native/Libraries/Utilities/codegenNativeComponent").NativeComponentType<BBCastMiniControlsViewNativeProps>;
6
+ export default _default;
7
+ //# sourceMappingURL=BBCastMiniControlsViewNativeComponent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BBCastMiniControlsViewNativeComponent.d.ts","sourceRoot":"","sources":["../../../../src/specs/BBCastMiniControlsViewNativeComponent.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAG9C,MAAM,WAAW,iCAAkC,SAAQ,SAAS;CAAG;;AAEvE,wBAEG"}
@@ -0,0 +1,92 @@
1
+ /// <reference types="react-native/types/modules/Codegen" />
2
+ import type { ViewProps } from 'react-native';
3
+ import type { DirectEventHandler, Double } from 'react-native/Libraries/Types/CodegenTypes';
4
+ type PayloadEvent = Readonly<{
5
+ payload: string;
6
+ }>;
7
+ type EmptyEvent = Readonly<{}>;
8
+ /**
9
+ * Fabric codegen spec for BBPlayerView.
10
+ *
11
+ * `interfaceOnly: true` — generates JS-side Fabric component descriptor while
12
+ * keeping existing RCTViewManager on the native side (no C++ ViewManager needed).
13
+ * Falls back to requireNativeComponent on old architecture.
14
+ *
15
+ * The `options` prop is intentionally omitted here: codegen only supports
16
+ * primitive/struct types, not arbitrary dictionaries. The native side still
17
+ * accepts `options` via the existing ViewManager @objc/@ReactProp declarations;
18
+ * it just isn't part of the codegen type surface.
19
+ *
20
+ * Event payload types match the intersection of what iOS and Android actually
21
+ * send. Fields present on only one platform are omitted for type safety.
22
+ */
23
+ export interface BBPlayerViewNativeProps extends ViewProps {
24
+ jsonUrl?: string;
25
+ onDidFailWithError?: DirectEventHandler<PayloadEvent>;
26
+ onDidRequestCollapse?: DirectEventHandler<EmptyEvent>;
27
+ onDidRequestExpand?: DirectEventHandler<EmptyEvent>;
28
+ onDidRequestOpenUrl?: DirectEventHandler<PayloadEvent>;
29
+ onDidSetupWithJsonUrl?: DirectEventHandler<PayloadEvent>;
30
+ onDidTriggerAdError?: DirectEventHandler<PayloadEvent>;
31
+ onDidTriggerAdFinished?: DirectEventHandler<EmptyEvent>;
32
+ onDidTriggerAdLoaded?: DirectEventHandler<EmptyEvent>;
33
+ onDidTriggerAdLoadStart?: DirectEventHandler<EmptyEvent>;
34
+ onDidTriggerAdNotFound?: DirectEventHandler<EmptyEvent>;
35
+ onDidTriggerAdQuartile1?: DirectEventHandler<EmptyEvent>;
36
+ onDidTriggerAdQuartile2?: DirectEventHandler<EmptyEvent>;
37
+ onDidTriggerAdQuartile3?: DirectEventHandler<EmptyEvent>;
38
+ onDidTriggerAdStarted?: DirectEventHandler<EmptyEvent>;
39
+ onDidTriggerAllAdsCompleted?: DirectEventHandler<EmptyEvent>;
40
+ onDidTriggerApiReady?: DirectEventHandler<EmptyEvent>;
41
+ onDidTriggerAutoPause?: DirectEventHandler<Readonly<{
42
+ why: string;
43
+ }>>;
44
+ onDidTriggerAutoPausePlay?: DirectEventHandler<Readonly<{
45
+ why: string;
46
+ }>>;
47
+ onDidTriggerCanPlay?: DirectEventHandler<EmptyEvent>;
48
+ onDidTriggerCustomStatistics?: DirectEventHandler<Readonly<{
49
+ ident: string;
50
+ ev: string;
51
+ }>>;
52
+ onDidTriggerDurationChange?: DirectEventHandler<Readonly<{
53
+ duration: Double;
54
+ }>>;
55
+ onDidTriggerEnded?: DirectEventHandler<EmptyEvent>;
56
+ onDidTriggerFullscreen?: DirectEventHandler<EmptyEvent>;
57
+ onDidTriggerMediaClipFailed?: DirectEventHandler<EmptyEvent>;
58
+ onDidTriggerMediaClipLoaded?: DirectEventHandler<Readonly<{
59
+ id: string;
60
+ title: string;
61
+ }>>;
62
+ onDidTriggerModeChange?: DirectEventHandler<Readonly<{
63
+ mode: string;
64
+ }>>;
65
+ onDidTriggerPause?: DirectEventHandler<EmptyEvent>;
66
+ onDidTriggerPhaseChange?: DirectEventHandler<Readonly<{
67
+ phase: string;
68
+ }>>;
69
+ onDidTriggerPlay?: DirectEventHandler<EmptyEvent>;
70
+ onDidTriggerPlaying?: DirectEventHandler<EmptyEvent>;
71
+ onDidTriggerProjectLoaded?: DirectEventHandler<Readonly<{
72
+ id: string;
73
+ }>>;
74
+ onDidTriggerRetractFullscreen?: DirectEventHandler<EmptyEvent>;
75
+ onDidTriggerSeeked?: DirectEventHandler<Readonly<{
76
+ payload: Double;
77
+ }>>;
78
+ onDidTriggerSeeking?: DirectEventHandler<EmptyEvent>;
79
+ onDidTriggerStall?: DirectEventHandler<EmptyEvent>;
80
+ onDidTriggerStateChange?: DirectEventHandler<Readonly<{
81
+ state: string;
82
+ }>>;
83
+ onDidTriggerViewFinished?: DirectEventHandler<EmptyEvent>;
84
+ onDidTriggerViewStarted?: DirectEventHandler<EmptyEvent>;
85
+ onDidTriggerVolumeChange?: DirectEventHandler<Readonly<{
86
+ volume: Double;
87
+ muted: boolean;
88
+ }>>;
89
+ }
90
+ declare const _default: import("react-native/Libraries/Utilities/codegenNativeComponent").NativeComponentType<BBPlayerViewNativeProps>;
91
+ export default _default;
92
+ //# sourceMappingURL=BBPlayerViewNativeComponent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BBPlayerViewNativeComponent.d.ts","sourceRoot":"","sources":["../../../../src/specs/BBPlayerViewNativeComponent.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ /// <reference types="react-native/types/modules/Codegen" />
2
+ import type { ViewProps } from 'react-native';
3
+ import type { DirectEventHandler, Double } from 'react-native/Libraries/Types/CodegenTypes';
4
+ /**
5
+ * Fabric codegen spec for BBShortsView.
6
+ * `interfaceOnly: true` — uses existing RCTViewManager, no C++ ViewManager needed.
7
+ * The `options` prop is omitted (codegen doesn't support arbitrary dictionaries).
8
+ */
9
+ export interface BBShortsViewNativeProps extends ViewProps {
10
+ jsonUrl: string;
11
+ onDidSetupWithJsonUrl?: DirectEventHandler<Readonly<{
12
+ url: string;
13
+ }>>;
14
+ onDidFailWithError?: DirectEventHandler<Readonly<{
15
+ error: string;
16
+ }>>;
17
+ onDidTriggerResize?: DirectEventHandler<Readonly<{
18
+ width: Double;
19
+ height: Double;
20
+ }>>;
21
+ }
22
+ declare const _default: import("react-native/Libraries/Utilities/codegenNativeComponent").NativeComponentType<BBShortsViewNativeProps>;
23
+ export default _default;
24
+ //# sourceMappingURL=BBShortsViewNativeComponent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BBShortsViewNativeComponent.d.ts","sourceRoot":"","sources":["../../../../src/specs/BBShortsViewNativeComponent.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAG5F;;;;GAIG;AACH,MAAM,WAAW,uBAAwB,SAAQ,SAAS;IACxD,OAAO,EAAE,MAAM,CAAC;IAGhB,qBAAqB,CAAC,EAAE,kBAAkB,CAAC,QAAQ,CAAC;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,CAAC;IACtE,kBAAkB,CAAC,EAAE,kBAAkB,CAAC,QAAQ,CAAC;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,CAAC;IACrE,kBAAkB,CAAC,EAAE,kBAAkB,CAAC,QAAQ,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,CAAC;CACtF;;AAED,wBAEG"}
@@ -23,6 +23,7 @@ export interface Spec extends TurboModule {
23
23
  loadWithClipListJson(viewTag: number, clipListJson: string, initiator: string | null, autoPlay: boolean, seekTo: number, contextJson: string | null): void;
24
24
  loadWithProjectJson(viewTag: number, projectJson: string, initiator: string | null, autoPlay: boolean, seekTo: number, contextJson: string | null): void;
25
25
  loadWithJsonUrl(viewTag: number, jsonUrl: string, autoPlay: boolean, contextJson: string | null): void;
26
+ loadWithContentIdAndType(viewTag: number, contentId: string, contentType: string, autoPlay: boolean, contextJson: string | null): void;
26
27
  setInView(viewTag: number, inView: boolean): void;
27
28
  getDuration(viewTag: number): Promise<number | null>;
28
29
  getMuted(viewTag: number): Promise<boolean | null>;
@@ -1 +1 @@
1
- {"version":3,"file":"NativeBBPlayerModule.d.ts","sourceRoot":"","sources":["../../../../src/specs/NativeBBPlayerModule.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"NativeBBPlayerModule.d.ts","sourceRoot":"","sources":["../../../../src/specs/NativeBBPlayerModule.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bluebillywig/react-native-bb-player",
3
- "version": "8.46.0",
3
+ "version": "8.47.0",
4
4
  "description": "Blue Billywig Native Video Player for React Native - iOS AVPlayer and Android ExoPlayer integration",
5
5
  "main": "lib/commonjs/index.js",
6
6
  "module": "lib/module/index.js",
@@ -9,6 +9,7 @@
9
9
  "source": "src/index.ts",
10
10
  "exports": {
11
11
  ".": {
12
+ "react-native": "./src/index.ts",
12
13
  "import": "./lib/module/index.js",
13
14
  "require": "./lib/commonjs/index.js",
14
15
  "types": "./lib/typescript/src/index.d.ts"
@@ -104,7 +105,7 @@
104
105
  },
105
106
  "codegenConfig": {
106
107
  "name": "BBPlayerModuleSpec",
107
- "type": "modules",
108
+ "type": "all",
108
109
  "jsSrcsDir": "./src/specs",
109
110
  "android": {
110
111
  "javaPackageName": "com.bluebillywig.bbplayer"
@@ -1,5 +1,7 @@
1
1
  import React from 'react';
2
- import { requireNativeComponent, type ViewProps, type ColorValue } from 'react-native';
2
+ import type { ViewProps, ColorValue } from 'react-native';
3
+ import NativeBBCastButtonView from './specs/BBCastButtonViewNativeComponent';
4
+ import { isCastViewAvailable } from './castAvailability';
3
5
 
4
6
  export interface BBCastButtonProps extends ViewProps {
5
7
  /**
@@ -9,22 +11,16 @@ export interface BBCastButtonProps extends ViewProps {
9
11
  tintColor?: ColorValue;
10
12
  }
11
13
 
12
- const NativeBBCastButton = requireNativeComponent<BBCastButtonProps>('BBCastButtonView');
13
-
14
14
  /**
15
15
  * BBCastButton - A native ChromeCast button that auto-shows/hides based on device availability.
16
16
  *
17
- * This component renders the native Google Cast SDK button (GCKUICastButton on iOS,
18
- * MediaRouteButton on Android). It automatically becomes visible when a Cast device
19
- * is discovered on the network and hides when none are available.
20
- *
21
- * @example
22
- * ```tsx
23
- * <BBCastButton style={{ width: 48, height: 48 }} tintColor="#ffffff" />
24
- * ```
17
+ * Renders the native Google Cast SDK button (GCKUICastButton on iOS, MediaRouteButton on Android).
18
+ * Automatically visible when a Cast device is discovered on the network.
19
+ * Renders nothing if the native Cast SDK is not available.
25
20
  */
26
21
  const BBCastButton: React.FC<BBCastButtonProps> = (props) => {
27
- return <NativeBBCastButton {...props} />;
22
+ if (!isCastViewAvailable('BBCastButtonView')) return null;
23
+ return <NativeBBCastButtonView {...props} />;
28
24
  };
29
25
 
30
26
  BBCastButton.displayName = 'BBCastButton';
@@ -1,25 +1,20 @@
1
1
  import React from 'react';
2
- import { requireNativeComponent, type ViewProps } from 'react-native';
2
+ import type { ViewProps } from 'react-native';
3
+ import NativeBBCastMiniControlsView from './specs/BBCastMiniControlsViewNativeComponent';
4
+ import { isCastViewAvailable } from './castAvailability';
3
5
 
4
6
  export interface BBCastMiniControlsProps extends ViewProps {}
5
7
 
6
- const NativeBBCastMiniControls =
7
- requireNativeComponent<BBCastMiniControlsProps>('BBCastMiniControlsView');
8
-
9
8
  /**
10
9
  * BBCastMiniControls - Native ChromeCast mini controller that shows during casting.
11
10
  *
12
- * This component renders the native Google Cast SDK mini controller
13
- * (GCKUIMiniMediaControlsViewController on iOS, MiniControllerFragment on Android).
14
- * It automatically shows playback controls when content is being cast.
15
- *
16
- * @example
17
- * ```tsx
18
- * <BBCastMiniControls style={{ height: 64 }} />
19
- * ```
11
+ * Renders the native Google Cast SDK mini controller (GCKUIMiniMediaControlsViewController
12
+ * on iOS, MiniControllerFragment on Android). Automatically shows playback controls when
13
+ * content is being cast. Renders nothing if the native Cast SDK is not available.
20
14
  */
21
15
  const BBCastMiniControls: React.FC<BBCastMiniControlsProps> = (props) => {
22
- return <NativeBBCastMiniControls {...props} />;
16
+ if (!isCastViewAvailable('BBCastMiniControlsView')) return null;
17
+ return <NativeBBCastMiniControlsView {...props} />;
23
18
  };
24
19
 
25
20
  BBCastMiniControls.displayName = 'BBCastMiniControls';
@@ -274,6 +274,9 @@ const BBOutstreamView = forwardRef<BBOutstreamViewMethods, BBOutstreamViewProps>
274
274
  showCastPicker: () => playerRef.current?.showCastPicker(),
275
275
  destroy: () => playerRef.current?.destroy(),
276
276
  autoPlayNextCancel: () => playerRef.current?.autoPlayNextCancel(),
277
+ loadWithContentIdAndType: (...args: Parameters<BBPlayerViewMethods['loadWithContentIdAndType']>) =>
278
+ playerRef.current?.loadWithContentIdAndType(...args),
279
+ /** @deprecated Use loadWithContentIdAndType() instead */
277
280
  loadClip: (clipId: string, opts?: Parameters<BBPlayerViewMethods['loadClip']>[1]) =>
278
281
  playerRef.current?.loadClip(clipId, opts),
279
282
  loadWithClipId: (...args: Parameters<BBPlayerViewMethods['loadWithClipId']>) =>
@@ -24,19 +24,26 @@ export type LoadContext = {
24
24
  };
25
25
 
26
26
  /**
27
- * Options for loading a clip via loadClip()
27
+ * Valid content types for loadWithContentIdAndType().
28
+ * Short aliases match the BB URL path segment convention.
29
+ */
30
+ export type BBContentType =
31
+ | 'mediaclip' | 'c'
32
+ | 'mediacliplist' | 'l'
33
+ | 'project' | 'p' | 'pj';
34
+
35
+ /**
36
+ * @deprecated Use loadWithContentIdAndType() instead.
37
+ * Note: the `playout` field was never correctly forwarded to the native player.
38
+ * Use reinitializeIfNeeded() for playout/publication switching.
28
39
  */
29
40
  export type LoadClipOptions = {
30
- /** Playout name/ID to use */
31
- playout?: string;
32
- /** Auto-play after loading */
33
41
  autoPlay?: boolean;
34
- /** Seek to position after loading (seconds) */
35
42
  seekTo?: number;
36
- /** Initiator identifier for analytics */
37
43
  initiator?: string;
38
- /** Playlist/collection context for navigation */
39
44
  context?: LoadContext;
45
+ /** @deprecated Ignored — use reinitializeIfNeeded() to switch playout */
46
+ playout?: string;
40
47
  };
41
48
 
42
49
  /**
@@ -75,18 +82,23 @@ export type BBPlayerViewMethods = {
75
82
  showCastPicker: () => void;
76
83
 
77
84
  /**
78
- * Load a clip by ID with optional configuration.
79
- * This is the primary method for loading content, matching the channel SDK pattern.
85
+ * Load content by ID and type. Entity-type agnostic primary API.
86
+ * Naming follows the native SDK convention (loadWith... prefix).
80
87
  *
81
- * @param clipId - The clip ID to load
82
- * @param options - Optional loading configuration
88
+ * @param contentId - Numeric content ID
89
+ * @param contentType - 'mediaclip' | 'c', 'mediacliplist' | 'l', or 'project' | 'p'
90
+ * @param autoPlay - Auto-play after loading (default: true)
91
+ * @param context - Playlist/collection context for navigation
83
92
  *
84
93
  * @example
85
- * // Simple usage
86
- * playerRef.current?.loadClip('12345');
87
- *
88
- * // With options
89
- * playerRef.current?.loadClip('12345', { playout: 'default', autoPlay: true });
94
+ * playerRef.current?.loadWithContentIdAndType('12345', 'mediaclip');
95
+ * playerRef.current?.loadWithContentIdAndType('789', 'mediacliplist', false);
96
+ */
97
+ loadWithContentIdAndType: (contentId: string, contentType: BBContentType, autoPlay?: boolean, context?: LoadContext) => void;
98
+
99
+ /**
100
+ * @deprecated Use loadWithContentIdAndType() instead. loadClip() only supports mediaclips and
101
+ * incorrectly passed the playout option as an analytics initiator.
90
102
  */
91
103
  loadClip: (clipId: string, options?: LoadClipOptions) => void;
92
104
 
@@ -1,6 +1,6 @@
1
1
  import { NativeModules, findNodeHandle } from "react-native";
2
2
 
3
- import type { LoadClipOptions, LoadContext, BBPlayerState } from "./BBPlayer.types";
3
+ import type { BBContentType, LoadClipOptions, LoadContext, BBPlayerState } from "./BBPlayer.types";
4
4
  import type { State, Phase } from "./types";
5
5
 
6
6
  // Try TurboModule first, fallback to legacy NativeModules
@@ -110,23 +110,20 @@ export function createCommands(viewRef: React.RefObject<any>) {
110
110
  if (tag != null) BBPlayerModule?.showCastPicker(tag);
111
111
  },
112
112
 
113
- /**
114
- * Load a clip by ID with optional configuration.
115
- * This is the primary method for loading content, matching the channel SDK pattern.
116
- */
113
+ /** @deprecated Use loadWithContentIdAndType() instead */
117
114
  loadClip: (clipId: string, options?: LoadClipOptions) => {
118
115
  const tag = getViewTag(viewRef);
119
116
  if (tag != null) {
120
- // Use loadWithClipId under the hood, passing playout as initiator if provided
117
+ if (options?.playout !== undefined) {
118
+ console.warn('BBPlayerView.loadClip: the `playout` option is ignored. Use reinitializeIfNeeded() to switch playout.');
119
+ }
121
120
  const contextJson = options?.context ? JSON.stringify(options.context) : null;
122
- BBPlayerModule?.loadWithClipId(
123
- tag,
124
- clipId,
125
- options?.initiator ?? options?.playout ?? null,
126
- options?.autoPlay ?? false,
127
- options?.seekTo ?? 0,
128
- contextJson
129
- );
121
+ // Fall through to loadWithClipId when seekTo/initiator are used to preserve backward compat
122
+ if (options?.seekTo !== undefined || options?.initiator !== undefined) {
123
+ BBPlayerModule?.loadWithClipId(tag, clipId, options.initiator ?? null, options?.autoPlay ?? false, options?.seekTo ?? 0, contextJson);
124
+ } else {
125
+ BBPlayerModule?.loadWithContentIdAndType(tag, clipId, 'mediaclip', options?.autoPlay ?? false, contextJson);
126
+ }
130
127
  }
131
128
  },
132
129
 
@@ -258,7 +255,13 @@ export function createCommands(viewRef: React.RefObject<any>) {
258
255
  BBPlayerModule?.loadWithJsonUrl(tag, jsonUrl, autoPlay ?? true, contextJson);
259
256
  }
260
257
  },
261
-
258
+ loadWithContentIdAndType: (contentId: string, contentType: BBContentType, autoPlay?: boolean, context?: LoadContext) => {
259
+ const tag = getViewTag(viewRef);
260
+ if (tag != null) {
261
+ const contextJson = context ? JSON.stringify(context) : null;
262
+ BBPlayerModule?.loadWithContentIdAndType(tag, contentId, contentType, autoPlay ?? true, contextJson);
263
+ }
264
+ },
262
265
  // Note: For Shorts playback, use the BBShortsView component instead of BBPlayerView.
263
266
 
264
267
  // Viewability control
@@ -0,0 +1,30 @@
1
+ import { UIManager } from 'react-native';
2
+
3
+ /**
4
+ * Check whether a native Cast view manager is registered.
5
+ * Returns false if the Cast SDK is not linked (optional dependency).
6
+ *
7
+ * Does NOT permanently cache failures — transient errors (e.g. bridge not
8
+ * yet ready) are retried on next call. Only a confirmed `true` is cached,
9
+ * since a view manager won't disappear once registered.
10
+ */
11
+ const _confirmed = new Map<string, boolean>();
12
+
13
+ export function isCastViewAvailable(componentName: string): boolean {
14
+ if (_confirmed.get(componentName)) return true;
15
+ try {
16
+ const available =
17
+ UIManager.hasViewManagerConfig?.(componentName) ??
18
+ ('getViewManagerConfig' in UIManager &&
19
+ !!UIManager.getViewManagerConfig(componentName));
20
+ if (available) _confirmed.set(componentName, true);
21
+ return available;
22
+ } catch {
23
+ if (__DEV__) {
24
+ console.warn(
25
+ `[${componentName}] Native view manager not found — Cast SDK may not be linked.`
26
+ );
27
+ }
28
+ return false;
29
+ }
30
+ }
package/src/index.ts CHANGED
@@ -1,3 +1,11 @@
1
+ // Fabric codegen component registrations (side-effect imports for New Architecture).
2
+ // These trigger NativeComponentRegistry.register on Fabric, falling back to
3
+ // requireNativeComponent's lazy resolution on old architecture.
4
+ import "./specs/BBPlayerViewNativeComponent";
5
+ import "./specs/BBShortsViewNativeComponent";
6
+ import "./specs/BBCastButtonViewNativeComponent";
7
+ import "./specs/BBCastMiniControlsViewNativeComponent";
8
+
1
9
  // Main exports
2
10
  export { default as BBPlayerView } from "./BBPlayerView";
3
11
  export { default as BBShortsView } from "./BBShortsView";
@@ -0,0 +1,10 @@
1
+ import type { ViewProps, ColorValue } from 'react-native';
2
+ import codegenNativeComponent from 'react-native/Libraries/Utilities/codegenNativeComponent';
3
+
4
+ export interface BBCastButtonViewNativeProps extends ViewProps {
5
+ tintColor?: ColorValue;
6
+ }
7
+
8
+ export default codegenNativeComponent<BBCastButtonViewNativeProps>('BBCastButtonView', {
9
+ interfaceOnly: true,
10
+ });
@@ -0,0 +1,8 @@
1
+ import type { ViewProps } from 'react-native';
2
+ import codegenNativeComponent from 'react-native/Libraries/Utilities/codegenNativeComponent';
3
+
4
+ export interface BBCastMiniControlsViewNativeProps extends ViewProps {}
5
+
6
+ export default codegenNativeComponent<BBCastMiniControlsViewNativeProps>('BBCastMiniControlsView', {
7
+ interfaceOnly: true,
8
+ });
@@ -0,0 +1,74 @@
1
+ import type { ViewProps } from 'react-native';
2
+ import type { DirectEventHandler, Double } from 'react-native/Libraries/Types/CodegenTypes';
3
+ import codegenNativeComponent from 'react-native/Libraries/Utilities/codegenNativeComponent';
4
+
5
+ type PayloadEvent = Readonly<{ payload: string }>;
6
+ type EmptyEvent = Readonly<{}>;
7
+
8
+ /**
9
+ * Fabric codegen spec for BBPlayerView.
10
+ *
11
+ * `interfaceOnly: true` — generates JS-side Fabric component descriptor while
12
+ * keeping existing RCTViewManager on the native side (no C++ ViewManager needed).
13
+ * Falls back to requireNativeComponent on old architecture.
14
+ *
15
+ * The `options` prop is intentionally omitted here: codegen only supports
16
+ * primitive/struct types, not arbitrary dictionaries. The native side still
17
+ * accepts `options` via the existing ViewManager @objc/@ReactProp declarations;
18
+ * it just isn't part of the codegen type surface.
19
+ *
20
+ * Event payload types match the intersection of what iOS and Android actually
21
+ * send. Fields present on only one platform are omitted for type safety.
22
+ */
23
+ export interface BBPlayerViewNativeProps extends ViewProps {
24
+ jsonUrl?: string;
25
+
26
+ // Events
27
+ onDidFailWithError?: DirectEventHandler<PayloadEvent>;
28
+ onDidRequestCollapse?: DirectEventHandler<EmptyEvent>;
29
+ onDidRequestExpand?: DirectEventHandler<EmptyEvent>;
30
+ onDidRequestOpenUrl?: DirectEventHandler<PayloadEvent>;
31
+ onDidSetupWithJsonUrl?: DirectEventHandler<PayloadEvent>;
32
+ onDidTriggerAdError?: DirectEventHandler<PayloadEvent>;
33
+ onDidTriggerAdFinished?: DirectEventHandler<EmptyEvent>;
34
+ onDidTriggerAdLoaded?: DirectEventHandler<EmptyEvent>;
35
+ onDidTriggerAdLoadStart?: DirectEventHandler<EmptyEvent>;
36
+ onDidTriggerAdNotFound?: DirectEventHandler<EmptyEvent>;
37
+ onDidTriggerAdQuartile1?: DirectEventHandler<EmptyEvent>;
38
+ onDidTriggerAdQuartile2?: DirectEventHandler<EmptyEvent>;
39
+ onDidTriggerAdQuartile3?: DirectEventHandler<EmptyEvent>;
40
+ onDidTriggerAdStarted?: DirectEventHandler<EmptyEvent>;
41
+ onDidTriggerAllAdsCompleted?: DirectEventHandler<EmptyEvent>;
42
+ onDidTriggerApiReady?: DirectEventHandler<EmptyEvent>;
43
+ // iOS sends empty dict, Android sends { why: string } — use string for superset
44
+ onDidTriggerAutoPause?: DirectEventHandler<Readonly<{ why: string }>>;
45
+ onDidTriggerAutoPausePlay?: DirectEventHandler<Readonly<{ why: string }>>;
46
+ onDidTriggerCanPlay?: DirectEventHandler<EmptyEvent>;
47
+ // Both platforms send { ident, ev } (not action/category/label/value)
48
+ onDidTriggerCustomStatistics?: DirectEventHandler<Readonly<{ ident: string; ev: string }>>;
49
+ onDidTriggerDurationChange?: DirectEventHandler<Readonly<{ duration: Double }>>;
50
+ onDidTriggerEnded?: DirectEventHandler<EmptyEvent>;
51
+ onDidTriggerFullscreen?: DirectEventHandler<EmptyEvent>;
52
+ onDidTriggerMediaClipFailed?: DirectEventHandler<EmptyEvent>;
53
+ // Both platforms send id + title; Android also sends width/height
54
+ onDidTriggerMediaClipLoaded?: DirectEventHandler<Readonly<{ id: string; title: string }>>;
55
+ onDidTriggerModeChange?: DirectEventHandler<Readonly<{ mode: string }>>;
56
+ onDidTriggerPause?: DirectEventHandler<EmptyEvent>;
57
+ onDidTriggerPhaseChange?: DirectEventHandler<Readonly<{ phase: string }>>;
58
+ onDidTriggerPlay?: DirectEventHandler<EmptyEvent>;
59
+ onDidTriggerPlaying?: DirectEventHandler<EmptyEvent>;
60
+ // iOS sends full Project dict, Android sends only { id }
61
+ onDidTriggerProjectLoaded?: DirectEventHandler<Readonly<{ id: string }>>;
62
+ onDidTriggerRetractFullscreen?: DirectEventHandler<EmptyEvent>;
63
+ onDidTriggerSeeked?: DirectEventHandler<Readonly<{ payload: Double }>>;
64
+ onDidTriggerSeeking?: DirectEventHandler<EmptyEvent>;
65
+ onDidTriggerStall?: DirectEventHandler<EmptyEvent>;
66
+ onDidTriggerStateChange?: DirectEventHandler<Readonly<{ state: string }>>;
67
+ onDidTriggerViewFinished?: DirectEventHandler<EmptyEvent>;
68
+ onDidTriggerViewStarted?: DirectEventHandler<EmptyEvent>;
69
+ onDidTriggerVolumeChange?: DirectEventHandler<Readonly<{ volume: Double; muted: boolean }>>;
70
+ }
71
+
72
+ export default codegenNativeComponent<BBPlayerViewNativeProps>('BBPlayerView', {
73
+ interfaceOnly: true,
74
+ });
@@ -0,0 +1,21 @@
1
+ import type { ViewProps } from 'react-native';
2
+ import type { DirectEventHandler, Double } from 'react-native/Libraries/Types/CodegenTypes';
3
+ import codegenNativeComponent from 'react-native/Libraries/Utilities/codegenNativeComponent';
4
+
5
+ /**
6
+ * Fabric codegen spec for BBShortsView.
7
+ * `interfaceOnly: true` — uses existing RCTViewManager, no C++ ViewManager needed.
8
+ * The `options` prop is omitted (codegen doesn't support arbitrary dictionaries).
9
+ */
10
+ export interface BBShortsViewNativeProps extends ViewProps {
11
+ jsonUrl: string;
12
+
13
+ // Events
14
+ onDidSetupWithJsonUrl?: DirectEventHandler<Readonly<{ url: string }>>;
15
+ onDidFailWithError?: DirectEventHandler<Readonly<{ error: string }>>;
16
+ onDidTriggerResize?: DirectEventHandler<Readonly<{ width: Double; height: Double }>>;
17
+ }
18
+
19
+ export default codegenNativeComponent<BBShortsViewNativeProps>('BBShortsView', {
20
+ interfaceOnly: true,
21
+ });
@@ -76,6 +76,7 @@ export interface Spec extends TurboModule {
76
76
  contextJson: string | null
77
77
  ): void;
78
78
  loadWithJsonUrl(viewTag: number, jsonUrl: string, autoPlay: boolean, contextJson: string | null): void;
79
+ loadWithContentIdAndType(viewTag: number, contentId: string, contentType: string, autoPlay: boolean, contextJson: string | null): void;
79
80
 
80
81
  // Void methods - viewability
81
82
  setInView(viewTag: number, inView: boolean): void;