react-native-firework-sdk 2.17.0 → 2.17.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 (112) hide show
  1. package/android/build.gradle +1 -1
  2. package/android/gradle.properties +1 -1
  3. package/android/src/main/java/com/fireworksdk/bridge/components/storyblock/StoryBlockContainer.kt +13 -0
  4. package/android/src/main/java/com/fireworksdk/bridge/components/storyblock/StoryBlockContainerView.kt +103 -0
  5. package/android/src/main/java/com/fireworksdk/bridge/components/storyblock/StoryBlockFragment.kt +9 -0
  6. package/android/src/main/java/com/fireworksdk/bridge/components/storyblock/StoryBlockFrameLayout.kt +5 -4
  7. package/android/src/main/java/com/fireworksdk/bridge/models/FWChatConfigModelDeserializer.kt +21 -0
  8. package/android/src/main/java/com/fireworksdk/bridge/models/FWControlsInsetModel.kt +3 -0
  9. package/android/src/main/java/com/fireworksdk/bridge/models/FWControlsInsetModelDeserializer.kt +15 -0
  10. package/android/src/main/java/com/fireworksdk/bridge/models/FWControlsInsetModelSerializer.kt +17 -0
  11. package/android/src/main/java/com/fireworksdk/bridge/models/FWLiveStreamEventDetailsModel.kt +2 -1
  12. package/android/src/main/java/com/fireworksdk/bridge/models/FWProductInfoViewConfiguration.kt +28 -1
  13. package/android/src/main/java/com/fireworksdk/bridge/models/FWProductInfoViewConfigurationDeserializer.kt +72 -1
  14. package/android/src/main/java/com/fireworksdk/bridge/models/FWShoppingCustomCta.kt +3 -3
  15. package/android/src/main/java/com/fireworksdk/bridge/models/FWTextShadowModelDeserializer.kt +30 -0
  16. package/android/src/main/java/com/fireworksdk/bridge/models/FWTrackPurchaseModel.kt +3 -0
  17. package/android/src/main/java/com/fireworksdk/bridge/models/FWTrackPurchaseModelDeserializer.kt +14 -0
  18. package/android/src/main/java/com/fireworksdk/bridge/models/FWTrackPurchaseModelSerializer.kt +7 -1
  19. package/android/src/main/java/com/fireworksdk/bridge/models/FWTrackPurchaseProduct.kt +7 -0
  20. package/android/src/main/java/com/fireworksdk/bridge/models/FWTrackPurchaseProductDeserializer.kt +36 -0
  21. package/android/src/main/java/com/fireworksdk/bridge/models/FWTrackPurchaseProductSerializer.kt +29 -0
  22. package/android/src/main/java/com/fireworksdk/bridge/models/FWVideoPlayerConfigModel.kt +17 -1
  23. package/android/src/main/java/com/fireworksdk/bridge/models/FWVideoPlayerConfigModelDeserializer.kt +16 -1
  24. package/android/src/main/java/com/fireworksdk/bridge/models/FWVideoPlayerConfigModelSerializer.kt +33 -1
  25. package/android/src/main/java/com/fireworksdk/bridge/models/enums/FWEventName.kt +5 -1
  26. package/android/src/main/java/com/fireworksdk/bridge/reactnative/module/FireworkSDKModule.kt +15 -5
  27. package/android/src/main/java/com/fireworksdk/bridge/utils/FWColorUtil.kt +15 -0
  28. package/android/src/main/java/com/fireworksdk/bridge/utils/FWCommonUtil.kt +2 -2
  29. package/android/src/main/java/com/fireworksdk/bridge/utils/FWConfigUtil.kt +59 -1
  30. package/android/src/main/java/com/fireworksdk/bridge/utils/FWGlobalDataUtil.kt +2 -0
  31. package/android/src/main/java/com/fireworksdk/bridge/utils/FWModelUtils.kt +32 -0
  32. package/ios/Components/StoryBlock.swift +23 -0
  33. package/ios/Components/StoryBlockConfiguration.swift +4 -0
  34. package/ios/Components/VideoFeed.swift +12 -0
  35. package/ios/Components/VideoPlayerConfiguration.swift +16 -0
  36. package/ios/Models/Common/ControlsInset.swift +12 -0
  37. package/ios/Modules/FWNavigatorModule/FWNavigatorModule.m +1 -0
  38. package/ios/Modules/FWNavigatorModule/FWNavigatorModule.swift +10 -95
  39. package/ios/Modules/FireworkSDKModule/FireworkSDKModule.swift +5 -0
  40. package/ios/Modules/FireworkSDKModule/TrackPurchaseParameters.swift +18 -0
  41. package/lib/commonjs/FWNavigator.js +18 -0
  42. package/lib/commonjs/FWNavigator.js.map +1 -1
  43. package/lib/commonjs/components/StoryBlock.js +8 -0
  44. package/lib/commonjs/components/StoryBlock.js.map +1 -1
  45. package/lib/commonjs/components/VideoFeed.js +6 -0
  46. package/lib/commonjs/components/VideoFeed.js.map +1 -1
  47. package/lib/commonjs/index.js.map +1 -1
  48. package/lib/commonjs/models/ControlsInset.js +2 -0
  49. package/lib/commonjs/models/ControlsInset.js.map +1 -0
  50. package/lib/commonjs/models/StatusBarStyle.js +2 -0
  51. package/lib/commonjs/models/StatusBarStyle.js.map +1 -0
  52. package/lib/commonjs/modules/FWNavigatorModule.js.map +1 -1
  53. package/lib/module/FWNavigator.js +18 -0
  54. package/lib/module/FWNavigator.js.map +1 -1
  55. package/lib/module/components/StoryBlock.js +8 -0
  56. package/lib/module/components/StoryBlock.js.map +1 -1
  57. package/lib/module/components/VideoFeed.js +6 -0
  58. package/lib/module/components/VideoFeed.js.map +1 -1
  59. package/lib/module/index.js.map +1 -1
  60. package/lib/module/models/ControlsInset.js +2 -0
  61. package/lib/module/models/ControlsInset.js.map +1 -0
  62. package/lib/module/models/StatusBarStyle.js +2 -0
  63. package/lib/module/models/StatusBarStyle.js.map +1 -0
  64. package/lib/module/modules/FWNavigatorModule.js.map +1 -1
  65. package/lib/typescript/commonjs/src/FWNavigator.d.ts +7 -0
  66. package/lib/typescript/commonjs/src/FWNavigator.d.ts.map +1 -1
  67. package/lib/typescript/commonjs/src/components/StoryBlock.d.ts.map +1 -1
  68. package/lib/typescript/commonjs/src/components/VideoFeed.d.ts.map +1 -1
  69. package/lib/typescript/commonjs/src/index.d.ts +4 -1
  70. package/lib/typescript/commonjs/src/index.d.ts.map +1 -1
  71. package/lib/typescript/commonjs/src/models/ControlsInset.d.ts +4 -0
  72. package/lib/typescript/commonjs/src/models/ControlsInset.d.ts.map +1 -0
  73. package/lib/typescript/commonjs/src/models/StatusBarStyle.d.ts +2 -0
  74. package/lib/typescript/commonjs/src/models/StatusBarStyle.d.ts.map +1 -0
  75. package/lib/typescript/commonjs/src/models/StoryBlockConfiguration.d.ts +22 -1
  76. package/lib/typescript/commonjs/src/models/StoryBlockConfiguration.d.ts.map +1 -1
  77. package/lib/typescript/commonjs/src/models/TrackPurchaseParameters.d.ts +26 -0
  78. package/lib/typescript/commonjs/src/models/TrackPurchaseParameters.d.ts.map +1 -1
  79. package/lib/typescript/commonjs/src/models/VideoPlayerConfiguration.d.ts +13 -0
  80. package/lib/typescript/commonjs/src/models/VideoPlayerConfiguration.d.ts.map +1 -1
  81. package/lib/typescript/commonjs/src/modules/FWNavigatorModule.d.ts +1 -0
  82. package/lib/typescript/commonjs/src/modules/FWNavigatorModule.d.ts.map +1 -1
  83. package/lib/typescript/module/src/FWNavigator.d.ts +7 -0
  84. package/lib/typescript/module/src/FWNavigator.d.ts.map +1 -1
  85. package/lib/typescript/module/src/components/StoryBlock.d.ts.map +1 -1
  86. package/lib/typescript/module/src/components/VideoFeed.d.ts.map +1 -1
  87. package/lib/typescript/module/src/index.d.ts +4 -1
  88. package/lib/typescript/module/src/index.d.ts.map +1 -1
  89. package/lib/typescript/module/src/models/ControlsInset.d.ts +4 -0
  90. package/lib/typescript/module/src/models/ControlsInset.d.ts.map +1 -0
  91. package/lib/typescript/module/src/models/StatusBarStyle.d.ts +2 -0
  92. package/lib/typescript/module/src/models/StatusBarStyle.d.ts.map +1 -0
  93. package/lib/typescript/module/src/models/StoryBlockConfiguration.d.ts +22 -1
  94. package/lib/typescript/module/src/models/StoryBlockConfiguration.d.ts.map +1 -1
  95. package/lib/typescript/module/src/models/TrackPurchaseParameters.d.ts +26 -0
  96. package/lib/typescript/module/src/models/TrackPurchaseParameters.d.ts.map +1 -1
  97. package/lib/typescript/module/src/models/VideoPlayerConfiguration.d.ts +13 -0
  98. package/lib/typescript/module/src/models/VideoPlayerConfiguration.d.ts.map +1 -1
  99. package/lib/typescript/module/src/modules/FWNavigatorModule.d.ts +1 -0
  100. package/lib/typescript/module/src/modules/FWNavigatorModule.d.ts.map +1 -1
  101. package/package.json +1 -1
  102. package/react_native_firework_sdk.podspec +1 -1
  103. package/src/FWNavigator.ts +18 -0
  104. package/src/components/StoryBlock.tsx +11 -0
  105. package/src/components/VideoFeed.tsx +7 -0
  106. package/src/index.tsx +6 -0
  107. package/src/models/ControlsInset.ts +3 -0
  108. package/src/models/StatusBarStyle.ts +1 -0
  109. package/src/models/StoryBlockConfiguration.ts +26 -1
  110. package/src/models/TrackPurchaseParameters.ts +29 -0
  111. package/src/models/VideoPlayerConfiguration.ts +16 -0
  112. package/src/modules/FWNavigatorModule.ts +1 -0
@@ -1 +1 @@
1
- {"version":3,"file":"StoryBlockConfiguration.d.ts","sourceRoot":"","sources":["../../../../../src/models/StoryBlockConfiguration.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,2BAA2B,MAAM,+BAA+B,CAAC;AAC7E,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAC3E,OAAO,KAAK,8BAA8B,MAAM,kCAAkC,CAAC;AACnF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AAC7E,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AACnF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAE3D,MAAM,WAAW,uBAAuB;IACtC;;OAEG;IACH,WAAW,CAAC,EAAE,gBAAgB,CAAC;IAC/B;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,yBAAyB,CAAC;IAChD;;OAEG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;;;OAIG;IACH,cAAc,CAAC,EAAE,mBAAmB,CAAC;IACrC;;OAEG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B;;OAEG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;OAEG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;OAEG;IACH,QAAQ,CAAC,EAAE,mBAAmB,CAAC;IAC/B;;OAEG;IACH,iBAAiB,CAAC,EAAE,mBAAmB,CAAC;IACxC;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;OAEG;IACH,QAAQ,CAAC,EAAE,mBAAmB,CAAC;IAC/B;;OAEG;IACH,mBAAmB,CAAC,EAAE,8BAA8B,CAAC;IACrD;;OAEG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B;;;OAGG;IACH,4BAA4B,CAAC,EAAE,4BAA4B,CAAC;IAC5D;;;OAGG;IACH,wBAAwB,CAAC,EAAE,wBAAwB,CAAC;IACpD;;OAEG;IACH,2BAA2B,CAAC,EAAE,2BAA2B,CAAC;CAC3D"}
1
+ {"version":3,"file":"StoryBlockConfiguration.d.ts","sourceRoot":"","sources":["../../../../../src/models/StoryBlockConfiguration.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,aAAa,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,2BAA2B,MAAM,+BAA+B,CAAC;AAC7E,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAC3E,OAAO,KAAK,8BAA8B,MAAM,kCAAkC,CAAC;AACnF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AAC7E,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AACnF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEvD,MAAM,WAAW,uBAAuB;IACtC;;OAEG;IACH,WAAW,CAAC,EAAE,gBAAgB,CAAC;IAC/B;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,yBAAyB,CAAC;IAChD;;OAEG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;;OAGG;IACH,cAAc,CAAC,EAAE,mBAAmB,CAAC;IACrC;;OAEG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B;;OAEG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;OAEG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;OAEG;IACH,QAAQ,CAAC,EAAE,mBAAmB,CAAC;IAC/B;;OAEG;IACH,iBAAiB,CAAC,EAAE,mBAAmB,CAAC;IACxC;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;OAEG;IACH,QAAQ,CAAC,EAAE,mBAAmB,CAAC;IAC/B;;OAEG;IACH,mBAAmB,CAAC,EAAE,8BAA8B,CAAC;IACrD;;OAEG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B;;;OAGG;IACH,4BAA4B,CAAC,EAAE,4BAA4B,CAAC;IAC5D;;;OAGG;IACH,wBAAwB,CAAC,EAAE,wBAAwB,CAAC;IACpD;;OAEG;IACH,2BAA2B,CAAC,EAAE,2BAA2B,CAAC;IAE1D;;;OAGG;IACH,uBAAuB,CAAC,EAAE,aAAa,CAAC;IAExC;;;OAGG;IACH,gCAAgC,CAAC,EAAE,OAAO,CAAC;IAE3C;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B;;;OAGG;IACH,cAAc,CAAC,EAAE,cAAc,CAAC;CACjC"}
@@ -1,3 +1,17 @@
1
+ export interface PurchaseProduct {
2
+ /**
3
+ * The external product ID.
4
+ */
5
+ extProductId: string;
6
+ /**
7
+ * The price of the product.
8
+ */
9
+ price: number;
10
+ /**
11
+ * The quantity of the product.
12
+ */
13
+ quantity: number;
14
+ }
1
15
  export default interface TrackPurchaseParameters {
2
16
  /**
3
17
  * A unique identifier for the user's order.
@@ -15,6 +29,18 @@ export default interface TrackPurchaseParameters {
15
29
  * The country code of the purchase.
16
30
  */
17
31
  countryCode?: string;
32
+ /**
33
+ * The shipping price of the order.
34
+ */
35
+ shippingPrice?: number;
36
+ /**
37
+ * The subtotal of the order.
38
+ */
39
+ subtotal?: number;
40
+ /**
41
+ * The products of the order.
42
+ */
43
+ products?: PurchaseProduct[];
18
44
  /**
19
45
  * Any additional information associated to the purchase.
20
46
  * Reserved keys: order_id, value, currency, country.
@@ -1 +1 @@
1
- {"version":3,"file":"TrackPurchaseParameters.d.ts","sourceRoot":"","sources":["../../../../../src/models/TrackPurchaseParameters.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,WAAW,uBAAuB;IAC9C;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,cAAc,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;CAC5C"}
1
+ {"version":3,"file":"TrackPurchaseParameters.d.ts","sourceRoot":"","sources":["../../../../../src/models/TrackPurchaseParameters.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,CAAC,OAAO,WAAW,uBAAuB;IAC9C;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,QAAQ,CAAC,EAAE,eAAe,EAAE,CAAC;IAC7B;;;;OAIG;IACH,cAAc,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;CAC5C"}
@@ -7,6 +7,7 @@ import type { VideoPlayerStyle } from './VideoPlayerStyle';
7
7
  import type { VideoPlayerLogoConfiguration } from './VideoPlayerLogoConfiguration';
8
8
  import type { ReplayBadgeConfiguration } from './ReplayBadgeConfiguration';
9
9
  import type CountdownTimerConfiguration from './CountdownTimerConfiguration';
10
+ import type { StatusBarStyle } from './StatusBarStyle';
10
11
  export default interface VideoPlayerConfiguration {
11
12
  /**
12
13
  * Sets the proportion of the video player to its container.
@@ -83,5 +84,17 @@ export default interface VideoPlayerConfiguration {
83
84
  * Specifies countdown timer configuration.
84
85
  */
85
86
  countdownTimerConfiguration?: CountdownTimerConfiguration;
87
+ /**
88
+ * Specifies if the media should be extended outside the safe area.
89
+ */
90
+ shouldExtendMediaOutsideSafeArea?: boolean;
91
+ /**
92
+ * Specifies if the status bar should be hidden during video playback.
93
+ */
94
+ statusBarHidden?: boolean;
95
+ /**
96
+ * Specifies the status bar style during video playback.
97
+ */
98
+ statusBarStyle?: StatusBarStyle;
86
99
  }
87
100
  //# sourceMappingURL=VideoPlayerConfiguration.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"VideoPlayerConfiguration.d.ts","sourceRoot":"","sources":["../../../../../src/models/VideoPlayerConfiguration.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,8BAA8B,MAAM,kCAAkC,CAAC;AACnF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AAC7E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AACnF,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAC3E,OAAO,KAAK,2BAA2B,MAAM,+BAA+B,CAAC;AAE7E,MAAM,CAAC,OAAO,WAAW,wBAAwB;IAC/C;;;OAGG;IACH,WAAW,CAAC,EAAE,gBAAgB,CAAC;IAC/B;;;OAGG;IACH,mBAAmB,CAAC,EAAE,yBAAyB,CAAC;IAChD;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;OAEG;IACH,cAAc,CAAC,EAAE,mBAAmB,CAAC;IACrC;;;OAGG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;;OAGG;IACH,QAAQ,CAAC,EAAE,mBAAmB,CAAC;IAC/B;;;OAGG;IACH,iBAAiB,CAAC,EAAE,mBAAmB,CAAC;IACxC;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;OAGG;IACH,QAAQ,CAAC,EAAE,mBAAmB,CAAC;IAC/B;;OAEG;IACH,mBAAmB,CAAC,EAAE,8BAA8B,CAAC;IACrD;;OAEG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B;;;OAGG;IACH,4BAA4B,CAAC,EAAE,4BAA4B,CAAC;IAC5D;;;OAGG;IACH,wBAAwB,CAAC,EAAE,wBAAwB,CAAC;IACpD;;OAEG;IACH,2BAA2B,CAAC,EAAE,2BAA2B,CAAC;CAC3D"}
1
+ {"version":3,"file":"VideoPlayerConfiguration.d.ts","sourceRoot":"","sources":["../../../../../src/models/VideoPlayerConfiguration.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,8BAA8B,MAAM,kCAAkC,CAAC;AACnF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AAC7E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AACnF,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAC3E,OAAO,KAAK,2BAA2B,MAAM,+BAA+B,CAAC;AAC7E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEvD,MAAM,CAAC,OAAO,WAAW,wBAAwB;IAC/C;;;OAGG;IACH,WAAW,CAAC,EAAE,gBAAgB,CAAC;IAC/B;;;OAGG;IACH,mBAAmB,CAAC,EAAE,yBAAyB,CAAC;IAChD;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;OAEG;IACH,cAAc,CAAC,EAAE,mBAAmB,CAAC;IACrC;;;OAGG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;;OAGG;IACH,QAAQ,CAAC,EAAE,mBAAmB,CAAC;IAC/B;;;OAGG;IACH,iBAAiB,CAAC,EAAE,mBAAmB,CAAC;IACxC;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;OAGG;IACH,QAAQ,CAAC,EAAE,mBAAmB,CAAC;IAC/B;;OAEG;IACH,mBAAmB,CAAC,EAAE,8BAA8B,CAAC;IACrD;;OAEG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B;;;OAGG;IACH,4BAA4B,CAAC,EAAE,4BAA4B,CAAC;IAC5D;;;OAGG;IACH,wBAAwB,CAAC,EAAE,wBAAwB,CAAC;IACpD;;OAEG;IACH,2BAA2B,CAAC,EAAE,2BAA2B,CAAC;IAE1D;;OAEG;IACH,gCAAgC,CAAC,EAAE,OAAO,CAAC;IAE3C;;OAEG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B;;OAEG;IACH,cAAc,CAAC,EAAE,cAAc,CAAC;CACjC"}
@@ -9,6 +9,7 @@ interface IFWNavigatorModule extends NativeModule {
9
9
  stopFloatingPlayer(): Promise<boolean>;
10
10
  bringRNContainerToTop(): Promise<boolean>;
11
11
  bringRNContainerToBottom(): Promise<boolean>;
12
+ tryStartFloatingOrCloseFullScreen(): Promise<boolean>;
12
13
  }
13
14
  declare const FWNavigatorModuleEventEmitter: NativeEventEmitter;
14
15
  export { FWNavigatorModuleEventEmitter };
@@ -1 +1 @@
1
- {"version":3,"file":"FWNavigatorModule.d.ts","sourceRoot":"","sources":["../../../../../src/modules/FWNavigatorModule.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,KAAK,YAAY,EAElB,MAAM,cAAc,CAAC;AAGtB,OAAO,KAAK,qBAAqB,MAAM,iCAAiC,CAAC;AAYzE,UAAU,kBAAmB,SAAQ,YAAY;IAC/C,eAAe,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACjE,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IACnC,kBAAkB,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IACvC,qBAAqB,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAC1C,mBAAmB,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IACxC,kBAAkB,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IACvC,qBAAqB,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAC1C,wBAAwB,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;CAC9C;AAED,QAAA,MAAM,6BAA6B,oBAA4C,CAAC;AAChF,OAAO,EAAE,6BAA6B,EAAE,CAAC;wBACL,kBAAkB;AAAtD,wBAAuD"}
1
+ {"version":3,"file":"FWNavigatorModule.d.ts","sourceRoot":"","sources":["../../../../../src/modules/FWNavigatorModule.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,KAAK,YAAY,EAElB,MAAM,cAAc,CAAC;AAGtB,OAAO,KAAK,qBAAqB,MAAM,iCAAiC,CAAC;AAYzE,UAAU,kBAAmB,SAAQ,YAAY;IAC/C,eAAe,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACjE,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IACnC,kBAAkB,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IACvC,qBAAqB,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAC1C,mBAAmB,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IACxC,kBAAkB,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IACvC,qBAAqB,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAC1C,wBAAwB,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAC7C,iCAAiC,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;CACvD;AAED,QAAA,MAAM,6BAA6B,oBAA4C,CAAC;AAChF,OAAO,EAAE,6BAA6B,EAAE,CAAC;wBACL,kBAAkB;AAAtD,wBAAuD"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-firework-sdk",
3
- "version": "2.17.0",
3
+ "version": "2.17.1",
4
4
  "description": "Firework React Native SDK",
5
5
  "source": "./src/index.tsx",
6
6
  "main": "./lib/commonjs/index.js",
@@ -31,5 +31,5 @@ else
31
31
  s.dependency "React-Core"
32
32
  end
33
33
  s.dependency 'FireworkVideoUI', '0.2.15'
34
- s.dependency 'FireworkVideo', '1.35.0'
34
+ s.dependency 'FireworkVideo', '1.35.1'
35
35
  end
@@ -100,6 +100,24 @@ class FWNavigator {
100
100
  return false;
101
101
  }
102
102
  }
103
+
104
+ /**
105
+ * Try to transition the fullscreen player to Picture-in-Picture mode,
106
+ * or alternatively, close the fullscreen player.
107
+ * This API has no effect when no fullscreen player is present.
108
+ * @returns whether the action is successful
109
+ */
110
+ public async tryStartFloatingOrCloseFullScreen(): Promise<boolean> {
111
+ if (Platform.OS === 'ios') {
112
+ return FWNavigatorModule.tryStartFloatingOrCloseFullScreen();
113
+ } else {
114
+ let result = await this.startFloatingPlayer();
115
+ if (!result) {
116
+ result = await this.popNativeContainer();
117
+ }
118
+ return result;
119
+ }
120
+ }
103
121
  }
104
122
 
105
123
  export default FWNavigator;
@@ -389,6 +389,13 @@ const StoryBlock: ForwardRefRenderFunction<
389
389
  const countdownTimerConfigurationJsonKey = gennerateJsonKey(
390
390
  storyBlockConfiguration?.countdownTimerConfiguration
391
391
  );
392
+ const additionalControlsInsetJsonKey = gennerateJsonKey(
393
+ storyBlockConfiguration?.additionalControlsInset
394
+ );
395
+ const shouldExtendMediaOutsideSafeArea =
396
+ storyBlockConfiguration?.shouldExtendMediaOutsideSafeArea;
397
+ const statusBarHidden = storyBlockConfiguration?.statusBarHidden;
398
+ const statusBarStyle = storyBlockConfiguration?.statusBarStyle;
392
399
 
393
400
  let key = `gShareBaseURL:${gShareBaseURL}`;
394
401
  if (Platform.OS === 'ios') {
@@ -455,6 +462,10 @@ const StoryBlock: ForwardRefRenderFunction<
455
462
  key += `_productInfoViewConfiguration:${productInfoViewConfigurationJsonKey}`;
456
463
  key += `_replayBadgeConfiguration:${replayBadgeConfigurationJsonKey}`;
457
464
  key += `_countdownTimerConfiguration:${countdownTimerConfigurationJsonKey}`;
465
+ key += `_additionalControlsInset:${additionalControlsInsetJsonKey}`;
466
+ key += `_shouldExtendMediaOutsideSafeArea:${shouldExtendMediaOutsideSafeArea}`;
467
+ key += `_statusBarHidden:${statusBarHidden}`;
468
+ key += `_statusBarStyle:${statusBarStyle}`;
458
469
 
459
470
  return key;
460
471
  };
@@ -481,6 +481,10 @@ class VideoFeed extends React.Component<IVideoFeedProps, IVideoFeedState> {
481
481
  const shadowVideoFeedConfigurationJsonKey = gennerateJsonKey(
482
482
  videoFeedConfiguration?.shadow
483
483
  );
484
+ const shouldExtendMediaOutsideSafeArea =
485
+ videoPlayerConfiguration?.shouldExtendMediaOutsideSafeArea;
486
+ const statusBarHidden = videoPlayerConfiguration?.statusBarHidden;
487
+ const statusBarStyle = videoPlayerConfiguration?.statusBarStyle;
484
488
  let key = `gShareBaseURL:${gShareBaseURL}`;
485
489
  if (Platform.OS === 'ios') {
486
490
  key += `_appLanguage:${appLanguage}`;
@@ -572,6 +576,9 @@ class VideoFeed extends React.Component<IVideoFeedProps, IVideoFeedState> {
572
576
  key += `_replayBadgeVideoFeedConfiguration:${replayBadgeVideoFeedConfigurationJsonKey}`;
573
577
  key += `_replayBadgeVideoPlayerConfiguration:${replayBadgeVideoPlayerConfigurationJsonKey}`;
574
578
  key += `_shadowVideoFeedConfiguration:${shadowVideoFeedConfigurationJsonKey}`;
579
+ key += `_shouldExtendMediaOutsideSafeArea:${shouldExtendMediaOutsideSafeArea}`;
580
+ key += `_statusBarHidden:${statusBarHidden}`;
581
+ key += `_statusBarStyle:${statusBarStyle}`;
575
582
 
576
583
  return (
577
584
  <FWVideoFeed
package/src/index.tsx CHANGED
@@ -24,6 +24,7 @@ import type AdConfiguration from './models/AdConfiguration';
24
24
  import type { VastAttribute } from './models/AdConfiguration';
25
25
  import type AndroidFontInfo from './models/AndroidFontInfo';
26
26
  import type ButtonInfo from './models/ButtonInfo';
27
+ import type ControlsInset from './models/ControlsInset';
27
28
  import type CountdownTimerConfiguration from './models/CountdownTimerConfiguration';
28
29
  import type { CountdownTimerAppearanceMode } from './models/CountdownTimerConfiguration';
29
30
  import type { DataTrackingLevel } from './models/DataTrackingLevel';
@@ -84,6 +85,7 @@ import type ShoppingCTAResult from './models/ShoppingCTAResult';
84
85
  import type { StoryBlockConfiguration } from './models/StoryBlockConfiguration';
85
86
  import type { StoryBlockSource } from './models/StoryBlockSource';
86
87
  import type TrackPurchaseParameters from './models/TrackPurchaseParameters';
88
+ import type { PurchaseProduct } from './models/TrackPurchaseParameters';
87
89
  import type VideoFeedConfiguration from './models/VideoFeedConfiguration';
88
90
  import type {
89
91
  VideoFeedPadding,
@@ -110,6 +112,7 @@ import type {
110
112
  VideoPlayerLogoOption,
111
113
  } from './models/VideoPlayerLogoConfiguration';
112
114
  import type { VideoPlayerStyle } from './models/VideoPlayerStyle';
115
+ import type { StatusBarStyle } from './models/StatusBarStyle';
113
116
  import VideoFeedUtil from './utils/VideoFeedUtil';
114
117
  import type {
115
118
  ClickProductCallback,
@@ -145,6 +148,7 @@ export type {
145
148
  ButtonInfo,
146
149
  ClickProductCallback,
147
150
  ClickProductEvent,
151
+ ControlsInset,
148
152
  CountdownTimerAppearanceMode,
149
153
  CountdownTimerConfiguration,
150
154
  CustomClickCartIconCallback,
@@ -189,6 +193,7 @@ export type {
189
193
  ProductPrice,
190
194
  ProductUnit,
191
195
  ProductUnitOption,
196
+ PurchaseProduct,
192
197
  PushRNContainerParams,
193
198
  RNAppProps,
194
199
  SDKInitCallback,
@@ -199,6 +204,7 @@ export type {
199
204
  ShoppingCTACallback,
200
205
  ShoppingCTAEvent,
201
206
  ShoppingCTAResult,
207
+ StatusBarStyle,
202
208
  StoryBlockConfiguration,
203
209
  StoryBlockSource,
204
210
  TrackPurchaseParameters,
@@ -0,0 +1,3 @@
1
+ export default interface ControlsInset {
2
+ top?: number;
3
+ }
@@ -0,0 +1 @@
1
+ export type StatusBarStyle = 'light' | 'dark';
@@ -1,3 +1,4 @@
1
+ import type ControlsInset from './ControlsInset';
1
2
  import type CountdownTimerConfiguration from './CountdownTimerConfiguration';
2
3
  import type { ReplayBadgeConfiguration } from './ReplayBadgeConfiguration';
3
4
  import type VideoPlayerButtonConfiguration from './VideoPlayerButtonConfiguration';
@@ -7,6 +8,7 @@ import type { VideoPlayerCTAWidth } from './VideoPlayerCTAWidth';
7
8
  import type { VideoPlayerCompleteAction } from './VideoPlayerCompleteAction';
8
9
  import type { VideoPlayerLogoConfiguration } from './VideoPlayerLogoConfiguration';
9
10
  import type { VideoPlayerStyle } from './VideoPlayerStyle';
11
+ import type { StatusBarStyle } from './StatusBarStyle';
10
12
 
11
13
  export interface StoryBlockConfiguration {
12
14
  /**
@@ -25,7 +27,6 @@ export interface StoryBlockConfiguration {
25
27
  showShareButton?: boolean;
26
28
  /**
27
29
  * The style of CTA button style.
28
- * On iOS, the property only applies to full-screen story block but not to compact story block.
29
30
  * Only supported on iOS.
30
31
  */
31
32
  ctaButtonStyle?: VideoPlayerCTAStyle;
@@ -79,4 +80,28 @@ export interface StoryBlockConfiguration {
79
80
  * Specifies countdown timer configuration.
80
81
  */
81
82
  countdownTimerConfiguration?: CountdownTimerConfiguration;
83
+
84
+ /**
85
+ * Specifies the additional controls inset for embedded mode.
86
+ * We support only the top inset on Android, while both top and bottom insets are supported on iOS.
87
+ */
88
+ additionalControlsInset?: ControlsInset;
89
+
90
+ /**
91
+ * Specifies if the media should be extended outside the safe area.
92
+ * This property only applies to full screen mode.
93
+ */
94
+ shouldExtendMediaOutsideSafeArea?: boolean;
95
+
96
+ /**
97
+ * Specifies if the status bar should be hidden during video playback.
98
+ * This property only applies to full screen mode.
99
+ */
100
+ statusBarHidden?: boolean;
101
+
102
+ /**
103
+ * Specifies the status bar style during video playback.
104
+ * This property only applies to full screen mode.
105
+ */
106
+ statusBarStyle?: StatusBarStyle;
82
107
  }
@@ -1,3 +1,18 @@
1
+ export interface PurchaseProduct {
2
+ /**
3
+ * The external product ID.
4
+ */
5
+ extProductId: string;
6
+ /**
7
+ * The price of the product.
8
+ */
9
+ price: number;
10
+ /**
11
+ * The quantity of the product.
12
+ */
13
+ quantity: number;
14
+ }
15
+
1
16
  export default interface TrackPurchaseParameters {
2
17
  /**
3
18
  * A unique identifier for the user's order.
@@ -15,6 +30,20 @@ export default interface TrackPurchaseParameters {
15
30
  * The country code of the purchase.
16
31
  */
17
32
  countryCode?: string;
33
+
34
+ /**
35
+ * The shipping price of the order.
36
+ */
37
+ shippingPrice?: number;
38
+
39
+ /**
40
+ * The subtotal of the order.
41
+ */
42
+ subtotal?: number;
43
+ /**
44
+ * The products of the order.
45
+ */
46
+ products?: PurchaseProduct[];
18
47
  /**
19
48
  * Any additional information associated to the purchase.
20
49
  * Reserved keys: order_id, value, currency, country.
@@ -7,6 +7,7 @@ import type { VideoPlayerStyle } from './VideoPlayerStyle';
7
7
  import type { VideoPlayerLogoConfiguration } from './VideoPlayerLogoConfiguration';
8
8
  import type { ReplayBadgeConfiguration } from './ReplayBadgeConfiguration';
9
9
  import type CountdownTimerConfiguration from './CountdownTimerConfiguration';
10
+ import type { StatusBarStyle } from './StatusBarStyle';
10
11
 
11
12
  export default interface VideoPlayerConfiguration {
12
13
  /**
@@ -84,4 +85,19 @@ export default interface VideoPlayerConfiguration {
84
85
  * Specifies countdown timer configuration.
85
86
  */
86
87
  countdownTimerConfiguration?: CountdownTimerConfiguration;
88
+
89
+ /**
90
+ * Specifies if the media should be extended outside the safe area.
91
+ */
92
+ shouldExtendMediaOutsideSafeArea?: boolean;
93
+
94
+ /**
95
+ * Specifies if the status bar should be hidden during video playback.
96
+ */
97
+ statusBarHidden?: boolean;
98
+
99
+ /**
100
+ * Specifies the status bar style during video playback.
101
+ */
102
+ statusBarStyle?: StatusBarStyle;
87
103
  }
@@ -26,6 +26,7 @@ interface IFWNavigatorModule extends NativeModule {
26
26
  stopFloatingPlayer(): Promise<boolean>;
27
27
  bringRNContainerToTop(): Promise<boolean>;
28
28
  bringRNContainerToBottom(): Promise<boolean>;
29
+ tryStartFloatingOrCloseFullScreen(): Promise<boolean>;
29
30
  }
30
31
 
31
32
  const FWNavigatorModuleEventEmitter = new NativeEventEmitter(FWNavigatorModule);