@bluebillywig/react-native-bb-player 8.45.23 → 8.46.1

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 (144) hide show
  1. package/README.md +2 -2
  2. package/android/build.gradle +18 -1
  3. package/android/repo/com/bluebillywig/bbnativeplayersdk/bbnativeplayersdk/0.0.11.8-SNAPSHOT/bbnativeplayersdk-0.0.11.8-SNAPSHOT-javadoc.jar +0 -0
  4. package/android/repo/com/bluebillywig/bbnativeplayersdk/bbnativeplayersdk/0.0.11.8-SNAPSHOT/bbnativeplayersdk-0.0.11.8-SNAPSHOT-sources.jar +0 -0
  5. package/android/repo/com/bluebillywig/bbnativeplayersdk/bbnativeplayersdk/0.0.11.8-SNAPSHOT/bbnativeplayersdk-0.0.11.8-SNAPSHOT.aar +0 -0
  6. package/android/repo/com/bluebillywig/bbnativeplayersdk/bbnativeplayersdk/0.0.11.8-SNAPSHOT/bbnativeplayersdk-0.0.11.8-SNAPSHOT.module +137 -0
  7. package/android/repo/com/bluebillywig/bbnativeplayersdk/bbnativeplayersdk/0.0.11.8-SNAPSHOT/bbnativeplayersdk-0.0.11.8-SNAPSHOT.pom +35 -0
  8. package/android/repo/com/bluebillywig/bbnativeplayersdk/bbnativeplayersdk/0.0.11.8-SNAPSHOT/maven-metadata-local.xml +41 -0
  9. package/android/repo/com/bluebillywig/bbnativeplayersdk/bbnativeplayersdk/maven-metadata-local.xml +12 -0
  10. package/android/repo/com/bluebillywig/bbnativeplayersdk/bbnativeplayersdk-compose/0.0.11.8-SNAPSHOT/bbnativeplayersdk-compose-0.0.11.8-SNAPSHOT-javadoc.jar +0 -0
  11. package/android/repo/com/bluebillywig/bbnativeplayersdk/bbnativeplayersdk-compose/0.0.11.8-SNAPSHOT/bbnativeplayersdk-compose-0.0.11.8-SNAPSHOT-sources.jar +0 -0
  12. package/android/repo/com/bluebillywig/bbnativeplayersdk/bbnativeplayersdk-compose/0.0.11.8-SNAPSHOT/bbnativeplayersdk-compose-0.0.11.8-SNAPSHOT.aar +0 -0
  13. package/android/repo/com/bluebillywig/bbnativeplayersdk/bbnativeplayersdk-compose/0.0.11.8-SNAPSHOT/bbnativeplayersdk-compose-0.0.11.8-SNAPSHOT.module +167 -0
  14. package/android/repo/com/bluebillywig/bbnativeplayersdk/bbnativeplayersdk-compose/0.0.11.8-SNAPSHOT/bbnativeplayersdk-compose-0.0.11.8-SNAPSHOT.pom +61 -0
  15. package/android/repo/com/bluebillywig/bbnativeplayersdk/bbnativeplayersdk-compose/0.0.11.8-SNAPSHOT/maven-metadata-local.xml +41 -0
  16. package/android/repo/com/bluebillywig/bbnativeplayersdk/bbnativeplayersdk-compose/maven-metadata-local.xml +12 -0
  17. package/android/repo/com/bluebillywig/bbnativeplayersdk/bbnativeplayersdk-core/0.0.11.8-SNAPSHOT/bbnativeplayersdk-core-0.0.11.8-SNAPSHOT-javadoc.jar +0 -0
  18. package/android/repo/com/bluebillywig/bbnativeplayersdk/bbnativeplayersdk-core/0.0.11.8-SNAPSHOT/bbnativeplayersdk-core-0.0.11.8-SNAPSHOT-sources.jar +0 -0
  19. package/android/repo/com/bluebillywig/bbnativeplayersdk/bbnativeplayersdk-core/0.0.11.8-SNAPSHOT/bbnativeplayersdk-core-0.0.11.8-SNAPSHOT.aar +0 -0
  20. package/android/repo/com/bluebillywig/bbnativeplayersdk/bbnativeplayersdk-core/0.0.11.8-SNAPSHOT/bbnativeplayersdk-core-0.0.11.8-SNAPSHOT.module +264 -0
  21. package/android/repo/com/bluebillywig/bbnativeplayersdk/bbnativeplayersdk-core/0.0.11.8-SNAPSHOT/bbnativeplayersdk-core-0.0.11.8-SNAPSHOT.pom +149 -0
  22. package/android/repo/com/bluebillywig/bbnativeplayersdk/bbnativeplayersdk-core/0.0.11.8-SNAPSHOT/maven-metadata-local.xml +41 -0
  23. package/android/repo/com/bluebillywig/bbnativeplayersdk/bbnativeplayersdk-core/maven-metadata-local.xml +12 -0
  24. package/android/repo/com/bluebillywig/bbnativeplayersdk/bbnativeshared/0.0.11.8-SNAPSHOT/bbnativeshared-0.0.11.8-SNAPSHOT-javadoc.jar +0 -0
  25. package/android/repo/com/bluebillywig/bbnativeplayersdk/bbnativeshared/0.0.11.8-SNAPSHOT/bbnativeshared-0.0.11.8-SNAPSHOT-kotlin-tooling-metadata.json +28 -0
  26. package/android/repo/com/bluebillywig/bbnativeplayersdk/bbnativeshared/0.0.11.8-SNAPSHOT/bbnativeshared-0.0.11.8-SNAPSHOT-sources.jar +0 -0
  27. package/android/repo/com/bluebillywig/bbnativeplayersdk/bbnativeshared/0.0.11.8-SNAPSHOT/bbnativeshared-0.0.11.8-SNAPSHOT.jar +0 -0
  28. package/android/repo/com/bluebillywig/bbnativeplayersdk/bbnativeshared/0.0.11.8-SNAPSHOT/bbnativeshared-0.0.11.8-SNAPSHOT.module +159 -0
  29. package/android/repo/com/bluebillywig/bbnativeplayersdk/bbnativeshared/0.0.11.8-SNAPSHOT/bbnativeshared-0.0.11.8-SNAPSHOT.pom +14 -0
  30. package/android/repo/com/bluebillywig/bbnativeplayersdk/bbnativeshared/0.0.11.8-SNAPSHOT/maven-metadata-local.xml +47 -0
  31. package/android/repo/com/bluebillywig/bbnativeplayersdk/bbnativeshared/maven-metadata-local.xml +12 -0
  32. package/android/repo/com/bluebillywig/bbnativeplayersdk/bbnativeshared-android/0.0.11.8-SNAPSHOT/bbnativeshared-android-0.0.11.8-SNAPSHOT-javadoc.jar +0 -0
  33. package/android/repo/com/bluebillywig/bbnativeplayersdk/bbnativeshared-android/0.0.11.8-SNAPSHOT/bbnativeshared-android-0.0.11.8-SNAPSHOT-sources.jar +0 -0
  34. package/android/repo/com/bluebillywig/bbnativeplayersdk/bbnativeshared-android/0.0.11.8-SNAPSHOT/bbnativeshared-android-0.0.11.8-SNAPSHOT.aar +0 -0
  35. package/android/repo/com/bluebillywig/bbnativeplayersdk/bbnativeshared-android/0.0.11.8-SNAPSHOT/bbnativeshared-android-0.0.11.8-SNAPSHOT.module +329 -0
  36. package/android/repo/com/bluebillywig/bbnativeplayersdk/bbnativeshared-android/0.0.11.8-SNAPSHOT/bbnativeshared-android-0.0.11.8-SNAPSHOT.pom +245 -0
  37. package/android/repo/com/bluebillywig/bbnativeplayersdk/bbnativeshared-android/0.0.11.8-SNAPSHOT/maven-metadata-local.xml +41 -0
  38. package/android/repo/com/bluebillywig/bbnativeplayersdk/bbnativeshared-android/maven-metadata-local.xml +12 -0
  39. 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
  40. 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
  41. 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
  42. package/android/repo/com/bluebillywig/bbnativeplayersdk/bbnativeshared-android-debug/0.0.11.8-SNAPSHOT/bbnativeshared-android-debug-0.0.11.8-SNAPSHOT.module +332 -0
  43. package/android/repo/com/bluebillywig/bbnativeplayersdk/bbnativeshared-android-debug/0.0.11.8-SNAPSHOT/bbnativeshared-android-debug-0.0.11.8-SNAPSHOT.pom +245 -0
  44. package/android/repo/com/bluebillywig/bbnativeplayersdk/bbnativeshared-android-debug/0.0.11.8-SNAPSHOT/maven-metadata-local.xml +41 -0
  45. package/android/repo/com/bluebillywig/bbnativeplayersdk/bbnativeshared-android-debug/maven-metadata-local.xml +12 -0
  46. package/android/src/main/java/com/bluebillywig/bbplayer/BBCastButtonViewManager.kt +40 -0
  47. package/android/src/main/java/com/bluebillywig/bbplayer/BBCastMiniControlsViewManager.kt +79 -0
  48. package/android/src/main/java/com/bluebillywig/bbplayer/BBPlayerModule.kt +41 -0
  49. package/android/src/main/java/com/bluebillywig/bbplayer/BBPlayerPackage.kt +3 -1
  50. package/android/src/main/java/com/bluebillywig/bbplayer/BBPlayerView.kt +6 -0
  51. package/android/src/paper/java/com/bluebillywig/bbplayer/NativeBBPlayerModuleSpec.java +6 -0
  52. package/ios/BBCastButtonView.swift +30 -0
  53. package/ios/BBCastButtonViewManager.m +7 -0
  54. package/ios/BBCastButtonViewManager.swift +12 -0
  55. package/ios/BBCastMiniControlsView.swift +27 -0
  56. package/ios/BBCastMiniControlsViewManager.m +5 -0
  57. package/ios/BBCastMiniControlsViewManager.swift +12 -0
  58. package/ios/BBPlayerModule.mm +4 -0
  59. package/ios/BBPlayerModule.swift +27 -0
  60. package/ios/BBPlayerView.swift +4 -0
  61. package/ios/Frameworks/BBNativePlayerKit.xcframework/Info.plist +5 -5
  62. package/ios/Frameworks/BBNativePlayerKit.xcframework/ios-arm64/BBNativePlayerKit.framework/Assets.car +0 -0
  63. package/ios/Frameworks/BBNativePlayerKit.xcframework/ios-arm64/BBNativePlayerKit.framework/BBNativePlayerKit +0 -0
  64. package/ios/Frameworks/BBNativePlayerKit.xcframework/ios-arm64/BBNativePlayerKit.framework/Headers/BBNativePlayerKit-Swift.h +13 -12
  65. package/ios/Frameworks/BBNativePlayerKit.xcframework/ios-arm64/BBNativePlayerKit.framework/Headers/BBNativePlayerKit.h +1 -1
  66. package/ios/Frameworks/BBNativePlayerKit.xcframework/ios-arm64/BBNativePlayerKit.framework/Info.plist +0 -0
  67. package/ios/Frameworks/BBNativePlayerKit.xcframework/ios-arm64/BBNativePlayerKit.framework/Modules/BBNativePlayerKit.swiftmodule/arm64-apple-ios.abi.json +2169 -1903
  68. package/ios/Frameworks/BBNativePlayerKit.xcframework/ios-arm64/BBNativePlayerKit.framework/Modules/BBNativePlayerKit.swiftmodule/arm64-apple-ios.private.swiftinterface +230 -357
  69. package/ios/Frameworks/BBNativePlayerKit.xcframework/ios-arm64/BBNativePlayerKit.framework/Modules/BBNativePlayerKit.swiftmodule/arm64-apple-ios.swiftdoc +0 -0
  70. package/ios/Frameworks/BBNativePlayerKit.xcframework/ios-arm64/BBNativePlayerKit.framework/Modules/BBNativePlayerKit.swiftmodule/arm64-apple-ios.swiftinterface +230 -357
  71. package/ios/Frameworks/BBNativePlayerKit.xcframework/ios-arm64_x86_64-simulator/BBNativePlayerKit.framework/Assets.car +0 -0
  72. package/ios/Frameworks/BBNativePlayerKit.xcframework/ios-arm64_x86_64-simulator/BBNativePlayerKit.framework/BBNativePlayerKit +0 -0
  73. package/ios/Frameworks/BBNativePlayerKit.xcframework/ios-arm64_x86_64-simulator/BBNativePlayerKit.framework/Headers/BBNativePlayerKit-Swift.h +26 -24
  74. package/ios/Frameworks/BBNativePlayerKit.xcframework/ios-arm64_x86_64-simulator/BBNativePlayerKit.framework/Headers/BBNativePlayerKit.h +1 -1
  75. package/ios/Frameworks/BBNativePlayerKit.xcframework/ios-arm64_x86_64-simulator/BBNativePlayerKit.framework/Info.plist +0 -0
  76. package/ios/Frameworks/BBNativePlayerKit.xcframework/ios-arm64_x86_64-simulator/BBNativePlayerKit.framework/Modules/BBNativePlayerKit.swiftmodule/arm64-apple-ios-simulator.abi.json +2169 -1903
  77. package/ios/Frameworks/BBNativePlayerKit.xcframework/ios-arm64_x86_64-simulator/BBNativePlayerKit.framework/Modules/BBNativePlayerKit.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface +230 -357
  78. package/ios/Frameworks/BBNativePlayerKit.xcframework/ios-arm64_x86_64-simulator/BBNativePlayerKit.framework/Modules/BBNativePlayerKit.swiftmodule/arm64-apple-ios-simulator.swiftdoc +0 -0
  79. package/ios/Frameworks/BBNativePlayerKit.xcframework/ios-arm64_x86_64-simulator/BBNativePlayerKit.framework/Modules/BBNativePlayerKit.swiftmodule/arm64-apple-ios-simulator.swiftinterface +230 -357
  80. package/ios/Frameworks/BBNativePlayerKit.xcframework/ios-arm64_x86_64-simulator/BBNativePlayerKit.framework/Modules/BBNativePlayerKit.swiftmodule/x86_64-apple-ios-simulator.abi.json +2169 -1903
  81. package/ios/Frameworks/BBNativePlayerKit.xcframework/ios-arm64_x86_64-simulator/BBNativePlayerKit.framework/Modules/BBNativePlayerKit.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface +230 -357
  82. package/ios/Frameworks/BBNativePlayerKit.xcframework/ios-arm64_x86_64-simulator/BBNativePlayerKit.framework/Modules/BBNativePlayerKit.swiftmodule/x86_64-apple-ios-simulator.swiftdoc +0 -0
  83. package/ios/Frameworks/BBNativePlayerKit.xcframework/ios-arm64_x86_64-simulator/BBNativePlayerKit.framework/Modules/BBNativePlayerKit.swiftmodule/x86_64-apple-ios-simulator.swiftinterface +230 -357
  84. package/ios/Frameworks/bbnativeshared.xcframework/ios-arm64/bbnativeshared.framework/Headers/bbnativeshared.h +19 -2
  85. package/ios/Frameworks/bbnativeshared.xcframework/ios-arm64/bbnativeshared.framework/bbnativeshared +0 -0
  86. package/ios/Frameworks/bbnativeshared.xcframework/ios-arm64/dSYMs/bbnativeshared.framework.dSYM/Contents/Resources/DWARF/bbnativeshared +0 -0
  87. package/ios/Frameworks/bbnativeshared.xcframework/ios-arm64/dSYMs/bbnativeshared.framework.dSYM/Contents/Resources/Relocations/aarch64/bbnativeshared.yml +15060 -13519
  88. package/ios/Frameworks/bbnativeshared.xcframework/ios-arm64_x86_64-simulator/bbnativeshared.framework/Headers/bbnativeshared.h +19 -2
  89. package/ios/Frameworks/bbnativeshared.xcframework/ios-arm64_x86_64-simulator/bbnativeshared.framework/bbnativeshared +0 -0
  90. package/ios/Frameworks/bbnativeshared.xcframework/ios-arm64_x86_64-simulator/dSYMs/bbnativeshared.framework.dSYM/Contents/Resources/DWARF/bbnativeshared +0 -0
  91. package/lib/commonjs/BBCastButton.js +32 -0
  92. package/lib/commonjs/BBCastButton.js.map +1 -0
  93. package/lib/commonjs/BBCastMiniControls.js +32 -0
  94. package/lib/commonjs/BBCastMiniControls.js.map +1 -0
  95. package/lib/commonjs/BBModalPlayer.js +6 -0
  96. package/lib/commonjs/BBModalPlayer.js.map +1 -1
  97. package/lib/commonjs/BBOutstreamView.js +5 -1
  98. package/lib/commonjs/BBOutstreamView.js.map +1 -1
  99. package/lib/commonjs/NativeCommands.js +26 -0
  100. package/lib/commonjs/NativeCommands.js.map +1 -1
  101. package/lib/commonjs/index.js +45 -0
  102. package/lib/commonjs/index.js.map +1 -1
  103. package/lib/commonjs/specs/NativeBBPlayerModule.js.map +1 -1
  104. package/lib/module/BBCastButton.js +27 -0
  105. package/lib/module/BBCastButton.js.map +1 -0
  106. package/lib/module/BBCastMiniControls.js +27 -0
  107. package/lib/module/BBCastMiniControls.js.map +1 -0
  108. package/lib/module/BBModalPlayer.js +6 -0
  109. package/lib/module/BBModalPlayer.js.map +1 -1
  110. package/lib/module/BBOutstreamView.js +5 -1
  111. package/lib/module/BBOutstreamView.js.map +1 -1
  112. package/lib/module/NativeCommands.js +26 -0
  113. package/lib/module/NativeCommands.js.map +1 -1
  114. package/lib/module/index.js +9 -2
  115. package/lib/module/index.js.map +1 -1
  116. package/lib/module/specs/NativeBBPlayerModule.js.map +1 -1
  117. package/lib/typescript/src/BBCastButton.d.ts +24 -0
  118. package/lib/typescript/src/BBCastButton.d.ts.map +1 -0
  119. package/lib/typescript/src/BBCastMiniControls.d.ts +19 -0
  120. package/lib/typescript/src/BBCastMiniControls.d.ts.map +1 -0
  121. package/lib/typescript/src/BBModalPlayer.d.ts +15 -1
  122. package/lib/typescript/src/BBModalPlayer.d.ts.map +1 -1
  123. package/lib/typescript/src/BBOutstreamView.d.ts.map +1 -1
  124. package/lib/typescript/src/BBPlayer.types.d.ts +9 -1
  125. package/lib/typescript/src/BBPlayer.types.d.ts.map +1 -1
  126. package/lib/typescript/src/NativeCommands.d.ts +4 -0
  127. package/lib/typescript/src/NativeCommands.d.ts.map +1 -1
  128. package/lib/typescript/src/index.d.ts +9 -2
  129. package/lib/typescript/src/index.d.ts.map +1 -1
  130. package/lib/typescript/src/specs/NativeBBPlayerModule.d.ts +4 -0
  131. package/lib/typescript/src/specs/NativeBBPlayerModule.d.ts.map +1 -1
  132. package/lib/typescript/src/types.d.ts +1 -1
  133. package/lib/typescript/src/types.d.ts.map +1 -1
  134. package/package.json +1 -1
  135. package/react-native-bb-player.podspec +2 -2
  136. package/src/BBCastButton.tsx +32 -0
  137. package/src/BBCastMiniControls.tsx +27 -0
  138. package/src/BBModalPlayer.ts +16 -1
  139. package/src/BBOutstreamView.tsx +5 -1
  140. package/src/BBPlayer.types.ts +9 -1
  141. package/src/NativeCommands.ts +27 -0
  142. package/src/index.ts +10 -3
  143. package/src/specs/NativeBBPlayerModule.ts +6 -0
  144. package/src/types.ts +1 -1
@@ -0,0 +1,27 @@
1
+ import React from 'react';
2
+ import { requireNativeComponent, type ViewProps } from 'react-native';
3
+
4
+ export interface BBCastMiniControlsProps extends ViewProps {}
5
+
6
+ const NativeBBCastMiniControls =
7
+ requireNativeComponent<BBCastMiniControlsProps>('BBCastMiniControlsView');
8
+
9
+ /**
10
+ * BBCastMiniControls - Native ChromeCast mini controller that shows during casting.
11
+ *
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
+ * ```
20
+ */
21
+ const BBCastMiniControls: React.FC<BBCastMiniControlsProps> = (props) => {
22
+ return <NativeBBCastMiniControls {...props} />;
23
+ };
24
+
25
+ BBCastMiniControls.displayName = 'BBCastMiniControls';
26
+
27
+ export default BBCastMiniControls;
@@ -33,6 +33,21 @@ export interface ModalPlayerOptions {
33
33
  [key: string]: unknown;
34
34
  }
35
35
 
36
+ /**
37
+ * Context for playlist/collection navigation in modal player.
38
+ * Uses the same field names as the native SDK (contextEntityId, contextCollectionId).
39
+ */
40
+ export interface ModalPlayerContext {
41
+ /** Entity type (e.g. 'MediaClipList') */
42
+ contextEntityType?: string;
43
+ /** Entity ID (clip ID when playing within a collection) */
44
+ contextEntityId?: string;
45
+ /** Collection type (e.g. 'MediaClipList') */
46
+ contextCollectionType?: string;
47
+ /** Collection ID (playlist/cliplist ID) */
48
+ contextCollectionId?: string;
49
+ }
50
+
36
51
  export const BBModalPlayer = {
37
52
  /**
38
53
  * Whether the native modal player module is available.
@@ -42,7 +57,7 @@ export const BBModalPlayer = {
42
57
  return BBPlayerModule != null;
43
58
  },
44
59
 
45
- present(jsonUrl: string, options?: ModalPlayerOptions, context?: Record<string, string>): boolean {
60
+ present(jsonUrl: string, options?: ModalPlayerOptions, context?: ModalPlayerContext): boolean {
46
61
  if (!BBPlayerModule) {
47
62
  console.warn('[BBModalPlayer] present() called but native module is null — cannot open modal');
48
63
  return false;
@@ -263,6 +263,7 @@ const BBOutstreamView = forwardRef<BBOutstreamViewMethods, BBOutstreamViewProps>
263
263
  seekRelative: (offset: number) => playerRef.current?.seekRelative(offset),
264
264
  setVolume: (volume: number) => playerRef.current?.setVolume(volume),
265
265
  setMuted: (muted: boolean) => playerRef.current?.setMuted(muted),
266
+ setInView: (inView: boolean) => playerRef.current?.setInView(inView),
266
267
  collapse: () => playerRef.current?.collapse(),
267
268
  expand: () => playerRef.current?.expand(),
268
269
  enterFullscreen: () => playerRef.current?.enterFullscreen(),
@@ -298,6 +299,9 @@ const BBOutstreamView = forwardRef<BBOutstreamViewMethods, BBOutstreamViewProps>
298
299
  getClipData: () => playerRef.current?.getClipData() ?? Promise.resolve(null),
299
300
  getProjectData: () => playerRef.current?.getProjectData() ?? Promise.resolve(null),
300
301
  getPlayoutData: () => playerRef.current?.getPlayoutData() ?? Promise.resolve(null),
302
+ getInView: () => playerRef.current?.getInView() ?? Promise.resolve(null),
303
+ getAdMediaWidth: () => playerRef.current?.getAdMediaWidth() ?? Promise.resolve(null),
304
+ getAdMediaHeight: () => playerRef.current?.getAdMediaHeight() ?? Promise.resolve(null),
301
305
  getPlayerState: () => playerRef.current?.getPlayerState() ?? Promise.resolve(null),
302
306
 
303
307
  // Outstream-specific methods
@@ -329,6 +333,6 @@ const BBOutstreamView = forwardRef<BBOutstreamViewMethods, BBOutstreamViewProps>
329
333
  }
330
334
  );
331
335
 
332
- BBOutstreamView.displayName = 'BBOutstreamView';
336
+ BBOutstreamView.displayName = 'BBOutstreamPlayerView';
333
337
 
334
338
  export default BBOutstreamView;
@@ -59,6 +59,8 @@ export type BBPlayerViewMethods = {
59
59
  seekRelative: (offsetSeconds: number) => void;
60
60
  setMuted: (muted: boolean) => void;
61
61
  setVolume: (volume: number) => void;
62
+ /** Override the scroll-based viewability state */
63
+ setInView: (inView: boolean) => void;
62
64
  enterFullscreen: () => void;
63
65
  enterFullscreenLandscape: () => void;
64
66
  exitFullscreen: () => void;
@@ -155,6 +157,12 @@ export type BBPlayerViewMethods = {
155
157
  getPlayoutData: () => Promise<{
156
158
  name?: string;
157
159
  } | null>;
160
+ /** Get current viewability override state */
161
+ getInView: () => Promise<boolean | null>;
162
+ /** Get the ad creative width in pixels */
163
+ getAdMediaWidth: () => Promise<number | null>;
164
+ /** Get the ad creative height in pixels */
165
+ getAdMediaHeight: () => Promise<number | null>;
158
166
 
159
167
  /**
160
168
  * Get the complete player state as a structured object.
@@ -179,7 +187,7 @@ export type BBPlayerViewProps = {
179
187
  */
180
188
  playerId?: string;
181
189
  /**
182
- * JWT token for authenticated playback of protected content.
190
+ * JWT token for authenticated access to protected content.
183
191
  * Will be merged into options.jwt automatically.
184
192
  */
185
193
  jwt?: string;
@@ -261,6 +261,12 @@ export function createCommands(viewRef: React.RefObject<any>) {
261
261
 
262
262
  // Note: For Shorts playback, use the BBShortsView component instead of BBPlayerView.
263
263
 
264
+ // Viewability control
265
+ setInView: (inView: boolean) => {
266
+ const tag = getViewTag(viewRef);
267
+ if (tag != null) BBPlayerModule?.setInView(tag, inView);
268
+ },
269
+
264
270
  // Getter methods (async)
265
271
  getDuration: async (): Promise<number | null> => {
266
272
  const tag = getViewTag(viewRef);
@@ -335,6 +341,27 @@ export function createCommands(viewRef: React.RefObject<any>) {
335
341
  }
336
342
  return null;
337
343
  },
344
+ getInView: async (): Promise<boolean | null> => {
345
+ const tag = getViewTag(viewRef);
346
+ if (tag != null && BBPlayerModule?.getInView) {
347
+ return BBPlayerModule.getInView(tag);
348
+ }
349
+ return null;
350
+ },
351
+ getAdMediaWidth: async (): Promise<number | null> => {
352
+ const tag = getViewTag(viewRef);
353
+ if (tag != null && BBPlayerModule?.getAdMediaWidth) {
354
+ return BBPlayerModule.getAdMediaWidth(tag);
355
+ }
356
+ return null;
357
+ },
358
+ getAdMediaHeight: async (): Promise<number | null> => {
359
+ const tag = getViewTag(viewRef);
360
+ if (tag != null && BBPlayerModule?.getAdMediaHeight) {
361
+ return BBPlayerModule.getAdMediaHeight(tag);
362
+ }
363
+ return null;
364
+ },
338
365
 
339
366
  /**
340
367
  * Get the complete player state as a structured object.
package/src/index.ts CHANGED
@@ -1,16 +1,23 @@
1
1
  // Main exports
2
2
  export { default as BBPlayerView } from "./BBPlayerView";
3
3
  export { default as BBShortsView } from "./BBShortsView";
4
- export { default as BBOutstreamView } from "./BBOutstreamView";
4
+ export { default as BBOutstreamPlayerView } from "./BBOutstreamView";
5
+ export { default as BBCastButton } from "./BBCastButton";
6
+ export { default as BBCastMiniControls } from "./BBCastMiniControls";
5
7
  export { BBModalPlayer } from "./BBModalPlayer";
6
- export type { ModalPlayerOptions } from "./BBModalPlayer";
8
+ export type { ModalPlayerOptions, ModalPlayerContext } from "./BBModalPlayer";
7
9
  export * from "./BBPlayer.types";
8
10
  export * from "./BBShortsView"; // Export BBShortsView types
9
11
  export * from "./BBOutstreamView"; // Export BBOutstreamView types
12
+ export * from "./BBCastButton"; // Export BBCastButton types
13
+ export * from "./BBCastMiniControls"; // Export BBCastMiniControls types
10
14
  export * from "./types";
11
15
  export * from "./utils";
12
16
 
13
- // For backwards compatibility with Expo module naming
17
+ // Deprecated aliases kept for backwards compatibility
18
+ /** @deprecated Use `BBOutstreamPlayerView` instead. */
19
+ export { default as BBOutstreamView } from "./BBOutstreamView";
20
+ /** @deprecated Use `BBOutstreamPlayerView` instead. */
14
21
  export { default as ExpoBBPlayerView } from "./BBPlayerView";
15
22
  export {
16
23
  type BBPlayerViewProps as ExpoBBPlayerViewProps,
@@ -77,6 +77,9 @@ export interface Spec extends TurboModule {
77
77
  ): void;
78
78
  loadWithJsonUrl(viewTag: number, jsonUrl: string, autoPlay: boolean, contextJson: string | null): void;
79
79
 
80
+ // Void methods - viewability
81
+ setInView(viewTag: number, inView: boolean): void;
82
+
80
83
  // Promise getters
81
84
  getDuration(viewTag: number): Promise<number | null>;
82
85
  getMuted(viewTag: number): Promise<boolean | null>;
@@ -87,6 +90,9 @@ export interface Spec extends TurboModule {
87
90
  getClipData(viewTag: number): Promise<Object | null>;
88
91
  getProjectData(viewTag: number): Promise<Object | null>;
89
92
  getPlayoutData(viewTag: number): Promise<Object | null>;
93
+ getInView(viewTag: number): Promise<boolean | null>;
94
+ getAdMediaWidth(viewTag: number): Promise<number | null>;
95
+ getAdMediaHeight(viewTag: number): Promise<number | null>;
90
96
 
91
97
  // Modal player (module-level, no React view needed)
92
98
  presentModalPlayer(jsonUrl: string, optionsJson: string | null, contextJson: string | null): void;
package/src/types.ts CHANGED
@@ -69,7 +69,7 @@ export type MediaClipList = {
69
69
  allowDatasource_boolean?: boolean;
70
70
  score?: number;
71
71
  count?: number;
72
- items?: MediaClip[];
72
+ items?: (MediaClip | MediaClipList | Project)[];
73
73
  };
74
74
 
75
75
  export type MediaClip = {