react-native-firework-sdk 2.3.1 → 2.4.0-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/FireworkVideoUI.xcframework/ios-arm64/FireworkVideoUI.framework/FireworkVideoUI +0 -0
- package/FireworkVideoUI.xcframework/ios-arm64/FireworkVideoUI.framework/Info.plist +0 -0
- package/FireworkVideoUI.xcframework/ios-arm64/FireworkVideoUI.framework/Modules/FireworkVideoUI.swiftmodule/arm64-apple-ios.abi.json +24 -10
- package/FireworkVideoUI.xcframework/ios-arm64/FireworkVideoUI.framework/Modules/FireworkVideoUI.swiftmodule/arm64-apple-ios.private.swiftinterface +1 -1
- package/FireworkVideoUI.xcframework/ios-arm64/FireworkVideoUI.framework/Modules/FireworkVideoUI.swiftmodule/arm64-apple-ios.swiftdoc +0 -0
- package/FireworkVideoUI.xcframework/ios-arm64/FireworkVideoUI.framework/Modules/FireworkVideoUI.swiftmodule/arm64-apple-ios.swiftinterface +1 -1
- package/FireworkVideoUI.xcframework/ios-arm64_x86_64-simulator/FireworkVideoUI.framework/FireworkVideoUI +0 -0
- package/FireworkVideoUI.xcframework/ios-arm64_x86_64-simulator/FireworkVideoUI.framework/Info.plist +0 -0
- package/FireworkVideoUI.xcframework/ios-arm64_x86_64-simulator/FireworkVideoUI.framework/Modules/FireworkVideoUI.swiftmodule/arm64-apple-ios-simulator.abi.json +24 -10
- package/FireworkVideoUI.xcframework/ios-arm64_x86_64-simulator/FireworkVideoUI.framework/Modules/FireworkVideoUI.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface +1 -1
- package/FireworkVideoUI.xcframework/ios-arm64_x86_64-simulator/FireworkVideoUI.framework/Modules/FireworkVideoUI.swiftmodule/arm64-apple-ios-simulator.swiftdoc +0 -0
- package/FireworkVideoUI.xcframework/ios-arm64_x86_64-simulator/FireworkVideoUI.framework/Modules/FireworkVideoUI.swiftmodule/arm64-apple-ios-simulator.swiftinterface +1 -1
- package/FireworkVideoUI.xcframework/ios-arm64_x86_64-simulator/FireworkVideoUI.framework/Modules/FireworkVideoUI.swiftmodule/x86_64-apple-ios-simulator.abi.json +24 -10
- package/FireworkVideoUI.xcframework/ios-arm64_x86_64-simulator/FireworkVideoUI.framework/Modules/FireworkVideoUI.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface +1 -1
- package/FireworkVideoUI.xcframework/ios-arm64_x86_64-simulator/FireworkVideoUI.framework/Modules/FireworkVideoUI.swiftmodule/x86_64-apple-ios-simulator.swiftdoc +0 -0
- package/FireworkVideoUI.xcframework/ios-arm64_x86_64-simulator/FireworkVideoUI.framework/Modules/FireworkVideoUI.swiftmodule/x86_64-apple-ios-simulator.swiftinterface +1 -1
- package/FireworkVideoUI.xcframework/ios-arm64_x86_64-simulator/FireworkVideoUI.framework/_CodeSignature/CodeResources +21 -21
- package/android/gradle.properties +1 -1
- package/android/src/main/java/com/fireworksdk/bridge/components/storyblock/StoryBlockFragment.kt +20 -0
- package/android/src/main/java/com/fireworksdk/bridge/components/videofeed/FWVideoFeed.kt +1 -69
- package/android/src/main/java/com/fireworksdk/bridge/models/FWVideoFeedPropsModel.kt +3 -1
- package/android/src/main/java/com/fireworksdk/bridge/models/FWVideoFeedPropsModelDeserializer.kt +21 -4
- package/android/src/main/java/com/fireworksdk/bridge/models/FWVideoFeedPropsModelSerializer.kt +15 -3
- package/android/src/main/java/com/fireworksdk/bridge/models/FWVideoPlayerConfigModel.kt +2 -1
- package/android/src/main/java/com/fireworksdk/bridge/models/FWVideoPlayerConfigModelDeserializer.kt +3 -0
- package/android/src/main/java/com/fireworksdk/bridge/models/FWVideoPlayerConfigModelSerializer.kt +2 -0
- package/android/src/main/java/com/fireworksdk/bridge/models/enums/FWVideoFeedSource.kt +3 -1
- package/android/src/main/java/com/fireworksdk/bridge/reactnative/FWReactNativeSDK.kt +6 -0
- package/android/src/main/java/com/fireworksdk/bridge/reactnative/manager/FWStoryBlockManager.kt +20 -15
- package/android/src/main/java/com/fireworksdk/bridge/reactnative/manager/FWVideoFeedManager.kt +45 -16
- package/android/src/main/java/com/fireworksdk/bridge/reactnative/module/FireworkSDKModule.kt +5 -0
- package/android/src/main/java/com/fireworksdk/bridge/utils/FWConfigUtil.kt +11 -1
- package/android/src/main/java/com/fireworksdk/bridge/utils/FWImageLoaderUtil.kt +16 -0
- package/ios/Components/StoryBlock.swift +9 -7
- package/ios/Components/StoryBlockConfiguration.swift +13 -0
- package/ios/Components/StoryBlockManager.m +6 -1
- package/ios/Components/VideoFeed.swift +5 -10
- package/ios/Components/VideoFeedManager.m +1 -2
- package/ios/Components/VideoPlayerConfiguration.swift +1 -0
- package/ios/FireworkSdk.xcodeproj/project.pbxproj +4 -26
- package/ios/FireworkVideoUI/FireworkVideoUI/Sources/AppLanguage/AppLanguageManager.swift +13 -2
- package/ios/FireworkVideoUI/FireworkVideoUI/Sources/AppLanguage/Extensions/UIKit/UIImageView+AppLanguage.swift +0 -34
- package/ios/FireworkVideoUI/Podfile +1 -1
- package/ios/FireworkVideoUI/Podfile.lock +4 -4
- package/ios/Models/RNToNative/RCTConvert+FireworkSDKModule.swift +1 -0
- package/ios/Models/RNToNative/RCTConvert+StoryBlock.swift +16 -1
- package/ios/Models/RNToNative/RCTConvert+VideoFeed.swift +2 -1
- package/ios/Modules/FireworkSDKModule/FireworkSDKModule.swift +8 -4
- package/ios/Modules/Shopping/ShoppingModule.swift +6 -5
- package/ios/react_native_firework_sdk.h +0 -1
- package/lib/commonjs/FireworkSDK.js.map +1 -1
- package/lib/commonjs/components/StoryBlock.js +71 -33
- package/lib/commonjs/components/StoryBlock.js.map +1 -1
- package/lib/commonjs/components/VideoFeed.js +83 -57
- package/lib/commonjs/components/VideoFeed.js.map +1 -1
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/models/OpenVideoPlayerConfiguration.js +2 -0
- package/lib/commonjs/models/OpenVideoPlayerConfiguration.js.map +1 -0
- package/lib/commonjs/models/StoryBlockNativeConfiguration.js +2 -0
- package/lib/commonjs/models/StoryBlockNativeConfiguration.js.map +1 -0
- package/lib/commonjs/models/VideoPlayerNativeConfiguration.js +2 -0
- package/lib/commonjs/models/VideoPlayerNativeConfiguration.js.map +1 -0
- package/lib/commonjs/modules/FireworkSDKModule.js.map +1 -1
- package/lib/module/FireworkSDK.js.map +1 -1
- package/lib/module/components/StoryBlock.js +67 -33
- package/lib/module/components/StoryBlock.js.map +1 -1
- package/lib/module/components/VideoFeed.js +79 -57
- package/lib/module/components/VideoFeed.js.map +1 -1
- package/lib/module/index.js.map +1 -1
- package/lib/module/models/OpenVideoPlayerConfiguration.js +2 -0
- package/lib/module/models/OpenVideoPlayerConfiguration.js.map +1 -0
- package/lib/module/models/StoryBlockNativeConfiguration.js +2 -0
- package/lib/module/models/StoryBlockNativeConfiguration.js.map +1 -0
- package/lib/module/models/VideoPlayerNativeConfiguration.js +2 -0
- package/lib/module/models/VideoPlayerNativeConfiguration.js.map +1 -0
- package/lib/module/modules/FireworkSDKModule.js.map +1 -1
- package/lib/typescript/FireworkSDK.d.ts +2 -2
- package/lib/typescript/components/StoryBlock.d.ts +8 -0
- package/lib/typescript/components/VideoFeed.d.ts +8 -1
- package/lib/typescript/index.d.ts +2 -1
- package/lib/typescript/models/AdBadgeConfiguration.d.ts +3 -0
- package/lib/typescript/models/AndroidFontInfo.d.ts +1 -1
- package/lib/typescript/models/OpenVideoPlayerConfiguration.d.ts +7 -0
- package/lib/typescript/models/Product.d.ts +1 -1
- package/lib/typescript/models/ProductUnit.d.ts +1 -1
- package/lib/typescript/models/StoryBlockConfiguration.d.ts +1 -1
- package/lib/typescript/models/StoryBlockNativeConfiguration.d.ts +7 -0
- package/lib/typescript/models/StoryBlockSource.d.ts +1 -1
- package/lib/typescript/models/VideoFeedConfiguration.d.ts +29 -4
- package/lib/typescript/models/VideoFeedSource.d.ts +1 -1
- package/lib/typescript/models/VideoPlayerCTAStyle.d.ts +6 -0
- package/lib/typescript/models/VideoPlayerConfiguration.d.ts +10 -1
- package/lib/typescript/models/VideoPlayerNativeConfiguration.d.ts +7 -0
- package/lib/typescript/modules/FireworkSDKModule.d.ts +2 -2
- package/package.json +2 -2
- package/react-native-firework-sdk.podspec +1 -1
- package/src/FireworkSDK.ts +2 -2
- package/src/components/StoryBlock.tsx +65 -36
- package/src/components/VideoFeed.tsx +87 -74
- package/src/index.ts +2 -0
- package/src/models/AdBadgeConfiguration.ts +3 -0
- package/src/models/AndroidFontInfo.ts +1 -1
- package/src/models/OpenVideoPlayerConfiguration.ts +9 -0
- package/src/models/Product.ts +1 -1
- package/src/models/ProductUnit.ts +1 -1
- package/src/models/StoryBlockConfiguration.ts +1 -1
- package/src/models/StoryBlockNativeConfiguration.ts +9 -0
- package/src/models/StoryBlockSource.ts +2 -1
- package/src/models/VideoFeedConfiguration.ts +29 -4
- package/src/models/VideoFeedSource.ts +2 -1
- package/src/models/VideoPlayerCTAStyle.ts +6 -0
- package/src/models/VideoPlayerConfiguration.ts +10 -1
- package/src/models/VideoPlayerNativeConfiguration.ts +9 -0
- package/src/modules/FireworkSDKModule.ts +2 -2
- package/ios/Modules/Shopping/FWCartViewController.swift +0 -14
- package/ios/Utils/Extensions/Swizzle/UINavigationController+FWSwizzle.swift +0 -31
- package/ios/Utils/FWSwizzleLoader.h +0 -15
- package/ios/Utils/FWSwizzleLoader.m +0 -21
- package/ios/Utils/FWSwizzleLoader.swift +0 -13
|
@@ -135,7 +135,7 @@ class VideoFeed extends React.Component {
|
|
|
135
135
|
|
|
136
136
|
|
|
137
137
|
render() {
|
|
138
|
-
var
|
|
138
|
+
var _adBadgeConfiguration, _adBadgeConfiguration2, _adBadgeConfiguration3, _videoFeedConfigurati, _videoFeedConfigurati2, _videoFeedConfigurati3, _videoFeedConfigurati4, _videoFeedConfigurati5, _videoFeedConfigurati6, _videoFeedConfigurati7, _videoFeedConfigurati8, _videoFeedConfigurati9, _videoFeedConfigurati10, _videoFeedConfigurati11, _videoFeedConfigurati12, _videoFeedConfigurati13, _videoFeedConfigurati14, _videoPlayerConfigura, _videoPlayerConfigura2, _videoPlayerConfigura3, _videoPlayerConfigura4, _videoPlayerConfigura5, _videoPlayerConfigura6;
|
|
139
139
|
|
|
140
140
|
FWLoggerUtil.log(`VideoFeed render props ${JSON.stringify(this.props)} state ${JSON.stringify(this.state)}`);
|
|
141
141
|
|
|
@@ -143,58 +143,61 @@ class VideoFeed extends React.Component {
|
|
|
143
143
|
return null;
|
|
144
144
|
}
|
|
145
145
|
|
|
146
|
-
const gShareBaseURL =
|
|
147
|
-
const appLanguage =
|
|
148
|
-
const videoLaunchBehavior =
|
|
149
|
-
const adBadgeConfiguration =
|
|
150
|
-
const adBadgeTextType =
|
|
151
|
-
const backgroundColorOfAdBadge =
|
|
152
|
-
const textColorOfAdBadge =
|
|
153
|
-
const androidFontIsCustomOfAdBadge =
|
|
154
|
-
const androidFontTypefaceNameOfAdBadge =
|
|
146
|
+
const gShareBaseURL = FireworkSDK.getInstance().shareBaseURL;
|
|
147
|
+
const appLanguage = FireworkSDK.getInstance().appLanguage;
|
|
148
|
+
const videoLaunchBehavior = FireworkSDK.getInstance().videoLaunchBehavior;
|
|
149
|
+
const adBadgeConfiguration = FireworkSDK.getInstance().adBadgeConfiguration;
|
|
150
|
+
const adBadgeTextType = adBadgeConfiguration === null || adBadgeConfiguration === void 0 ? void 0 : adBadgeConfiguration.badgeTextType;
|
|
151
|
+
const backgroundColorOfAdBadge = adBadgeConfiguration === null || adBadgeConfiguration === void 0 ? void 0 : adBadgeConfiguration.backgroundColor;
|
|
152
|
+
const textColorOfAdBadge = adBadgeConfiguration === null || adBadgeConfiguration === void 0 ? void 0 : adBadgeConfiguration.textColor;
|
|
153
|
+
const androidFontIsCustomOfAdBadge = adBadgeConfiguration === null || adBadgeConfiguration === void 0 ? void 0 : (_adBadgeConfiguration = adBadgeConfiguration.androidFontInfo) === null || _adBadgeConfiguration === void 0 ? void 0 : (_adBadgeConfiguration2 = _adBadgeConfiguration.isCustom) === null || _adBadgeConfiguration2 === void 0 ? void 0 : _adBadgeConfiguration2.toString();
|
|
154
|
+
const androidFontTypefaceNameOfAdBadge = adBadgeConfiguration === null || adBadgeConfiguration === void 0 ? void 0 : (_adBadgeConfiguration3 = adBadgeConfiguration.androidFontInfo) === null || _adBadgeConfiguration3 === void 0 ? void 0 : _adBadgeConfiguration3.typefaceName;
|
|
155
155
|
const {
|
|
156
156
|
source,
|
|
157
|
-
channel
|
|
158
|
-
playlist
|
|
159
|
-
playlistGroup
|
|
160
|
-
hashtagFilterExpression
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
157
|
+
channel,
|
|
158
|
+
playlist,
|
|
159
|
+
playlistGroup,
|
|
160
|
+
hashtagFilterExpression,
|
|
161
|
+
productIds,
|
|
162
|
+
mode,
|
|
163
|
+
enablePictureInPicture,
|
|
164
|
+
adConfiguration
|
|
165
165
|
} = this.props;
|
|
166
166
|
|
|
167
167
|
const dynamicContentParametersString = this._generateDynamicContentParametersString();
|
|
168
168
|
|
|
169
169
|
const videoFeedConfiguration = this._getVideoFeedConfiguration();
|
|
170
170
|
|
|
171
|
-
const cornerRadius =
|
|
172
|
-
const titleHidden =
|
|
173
|
-
const titleTextColor =
|
|
174
|
-
const titleFontSize =
|
|
175
|
-
const titleAndroidFontInfo = videoFeedConfiguration === null || videoFeedConfiguration === void 0 ? void 0 : (
|
|
176
|
-
const titleGradientDrawable = videoFeedConfiguration === null || videoFeedConfiguration === void 0 ? void 0 : (
|
|
177
|
-
const titlePosition =
|
|
178
|
-
const playIconHidden =
|
|
179
|
-
const playIconWidth =
|
|
180
|
-
const showAdBadge =
|
|
181
|
-
const enableAutoplay =
|
|
182
|
-
const gridColumns =
|
|
183
|
-
const itemSpacing =
|
|
184
|
-
|
|
185
|
-
const
|
|
186
|
-
|
|
187
|
-
const
|
|
188
|
-
const
|
|
189
|
-
const
|
|
190
|
-
const
|
|
191
|
-
const
|
|
192
|
-
const
|
|
193
|
-
const
|
|
194
|
-
const
|
|
195
|
-
const
|
|
196
|
-
const
|
|
197
|
-
const
|
|
171
|
+
const cornerRadius = videoFeedConfiguration === null || videoFeedConfiguration === void 0 ? void 0 : (_videoFeedConfigurati = videoFeedConfiguration.cornerRadius) === null || _videoFeedConfigurati === void 0 ? void 0 : _videoFeedConfigurati.toFixed(5);
|
|
172
|
+
const titleHidden = videoFeedConfiguration === null || videoFeedConfiguration === void 0 ? void 0 : (_videoFeedConfigurati2 = videoFeedConfiguration.title) === null || _videoFeedConfigurati2 === void 0 ? void 0 : (_videoFeedConfigurati3 = _videoFeedConfigurati2.hidden) === null || _videoFeedConfigurati3 === void 0 ? void 0 : _videoFeedConfigurati3.toString();
|
|
173
|
+
const titleTextColor = videoFeedConfiguration === null || videoFeedConfiguration === void 0 ? void 0 : (_videoFeedConfigurati4 = videoFeedConfiguration.title) === null || _videoFeedConfigurati4 === void 0 ? void 0 : _videoFeedConfigurati4.textColor;
|
|
174
|
+
const titleFontSize = videoFeedConfiguration === null || videoFeedConfiguration === void 0 ? void 0 : (_videoFeedConfigurati5 = videoFeedConfiguration.title) === null || _videoFeedConfigurati5 === void 0 ? void 0 : (_videoFeedConfigurati6 = _videoFeedConfigurati5.fontSize) === null || _videoFeedConfigurati6 === void 0 ? void 0 : _videoFeedConfigurati6.toFixed(5);
|
|
175
|
+
const titleAndroidFontInfo = videoFeedConfiguration === null || videoFeedConfiguration === void 0 ? void 0 : (_videoFeedConfigurati7 = videoFeedConfiguration.title) === null || _videoFeedConfigurati7 === void 0 ? void 0 : _videoFeedConfigurati7.androidFontInfo;
|
|
176
|
+
const titleGradientDrawable = videoFeedConfiguration === null || videoFeedConfiguration === void 0 ? void 0 : (_videoFeedConfigurati8 = videoFeedConfiguration.title) === null || _videoFeedConfigurati8 === void 0 ? void 0 : _videoFeedConfigurati8.gradientDrawable;
|
|
177
|
+
const titlePosition = videoFeedConfiguration === null || videoFeedConfiguration === void 0 ? void 0 : videoFeedConfiguration.titlePosition;
|
|
178
|
+
const playIconHidden = videoFeedConfiguration === null || videoFeedConfiguration === void 0 ? void 0 : (_videoFeedConfigurati9 = videoFeedConfiguration.playIcon) === null || _videoFeedConfigurati9 === void 0 ? void 0 : _videoFeedConfigurati9.hidden;
|
|
179
|
+
const playIconWidth = videoFeedConfiguration === null || videoFeedConfiguration === void 0 ? void 0 : (_videoFeedConfigurati10 = videoFeedConfiguration.playIcon) === null || _videoFeedConfigurati10 === void 0 ? void 0 : (_videoFeedConfigurati11 = _videoFeedConfigurati10.iconWidth) === null || _videoFeedConfigurati11 === void 0 ? void 0 : _videoFeedConfigurati11.toFixed(5);
|
|
180
|
+
const showAdBadge = videoFeedConfiguration === null || videoFeedConfiguration === void 0 ? void 0 : (_videoFeedConfigurati12 = videoFeedConfiguration.showAdBadge) === null || _videoFeedConfigurati12 === void 0 ? void 0 : _videoFeedConfigurati12.toString();
|
|
181
|
+
const enableAutoplay = videoFeedConfiguration === null || videoFeedConfiguration === void 0 ? void 0 : videoFeedConfiguration.enableAutoplay;
|
|
182
|
+
const gridColumns = videoFeedConfiguration === null || videoFeedConfiguration === void 0 ? void 0 : (_videoFeedConfigurati13 = videoFeedConfiguration.gridColumns) === null || _videoFeedConfigurati13 === void 0 ? void 0 : _videoFeedConfigurati13.toFixed(5);
|
|
183
|
+
const itemSpacing = videoFeedConfiguration === null || videoFeedConfiguration === void 0 ? void 0 : (_videoFeedConfigurati14 = videoFeedConfiguration.itemSpacing) === null || _videoFeedConfigurati14 === void 0 ? void 0 : _videoFeedConfigurati14.toFixed(5);
|
|
184
|
+
|
|
185
|
+
const videoPlayerConfiguration = this._getVideoPlayerConfiguration();
|
|
186
|
+
|
|
187
|
+
const playerStyle = videoPlayerConfiguration === null || videoPlayerConfiguration === void 0 ? void 0 : videoPlayerConfiguration.playerStyle;
|
|
188
|
+
const videoCompleteAction = videoPlayerConfiguration === null || videoPlayerConfiguration === void 0 ? void 0 : videoPlayerConfiguration.videoCompleteAction;
|
|
189
|
+
const showShareButton = videoPlayerConfiguration === null || videoPlayerConfiguration === void 0 ? void 0 : videoPlayerConfiguration.showShareButton;
|
|
190
|
+
const showPlaybackButton = videoPlayerConfiguration === null || videoPlayerConfiguration === void 0 ? void 0 : videoPlayerConfiguration.showPlaybackButton;
|
|
191
|
+
const showMuteButton = videoPlayerConfiguration === null || videoPlayerConfiguration === void 0 ? void 0 : videoPlayerConfiguration.showMuteButton;
|
|
192
|
+
const showBranding = videoPlayerConfiguration === null || videoPlayerConfiguration === void 0 ? void 0 : videoPlayerConfiguration.showBranding;
|
|
193
|
+
const ctaDelayType = videoPlayerConfiguration === null || videoPlayerConfiguration === void 0 ? void 0 : (_videoPlayerConfigura = videoPlayerConfiguration.ctaDelay) === null || _videoPlayerConfigura === void 0 ? void 0 : _videoPlayerConfigura.type;
|
|
194
|
+
const ctaDelayValue = videoPlayerConfiguration === null || videoPlayerConfiguration === void 0 ? void 0 : (_videoPlayerConfigura2 = videoPlayerConfiguration.ctaDelay) === null || _videoPlayerConfigura2 === void 0 ? void 0 : (_videoPlayerConfigura3 = _videoPlayerConfigura2.value) === null || _videoPlayerConfigura3 === void 0 ? void 0 : _videoPlayerConfigura3.toFixed(5);
|
|
195
|
+
const ctaHighlightDelayType = videoPlayerConfiguration === null || videoPlayerConfiguration === void 0 ? void 0 : (_videoPlayerConfigura4 = videoPlayerConfiguration.ctaHighlightDelay) === null || _videoPlayerConfigura4 === void 0 ? void 0 : _videoPlayerConfigura4.type;
|
|
196
|
+
const ctaHighlightDelayValue = videoPlayerConfiguration === null || videoPlayerConfiguration === void 0 ? void 0 : (_videoPlayerConfigura5 = videoPlayerConfiguration.ctaHighlightDelay) === null || _videoPlayerConfigura5 === void 0 ? void 0 : (_videoPlayerConfigura6 = _videoPlayerConfigura5.value) === null || _videoPlayerConfigura6 === void 0 ? void 0 : _videoPlayerConfigura6.toFixed(5);
|
|
197
|
+
const shareBaseURL = videoPlayerConfiguration === null || videoPlayerConfiguration === void 0 ? void 0 : videoPlayerConfiguration.shareBaseURL;
|
|
198
|
+
const ctaWidth = videoPlayerConfiguration === null || videoPlayerConfiguration === void 0 ? void 0 : videoPlayerConfiguration.ctaWidth;
|
|
199
|
+
const requiresAds = adConfiguration === null || adConfiguration === void 0 ? void 0 : adConfiguration.requiresAds;
|
|
200
|
+
const adsFetchTimeout = adConfiguration === null || adConfiguration === void 0 ? void 0 : adConfiguration.adsFetchTimeout;
|
|
198
201
|
|
|
199
202
|
const vastAttributesString = this._generateVastAttributesString();
|
|
200
203
|
|
|
@@ -220,20 +223,21 @@ class VideoFeed extends React.Component {
|
|
|
220
223
|
key += `_playlistGroup:${playlistGroup}`;
|
|
221
224
|
key += `_dynamicContentParameters:${dynamicContentParametersString}`;
|
|
222
225
|
key += `_hashtagFilterExpression:${hashtagFilterExpression}`;
|
|
226
|
+
key += `_productIds:${productIds === null || productIds === void 0 ? void 0 : productIds.join(',')}`;
|
|
223
227
|
key += `_mode:${mode}`;
|
|
224
228
|
key += `_enablePictureInPicture:${enablePictureInPicture}`;
|
|
225
229
|
key += `_titleHidden:${titleHidden}`;
|
|
226
230
|
|
|
227
231
|
if (Platform.OS === 'android') {
|
|
228
|
-
var
|
|
232
|
+
var _titleGradientDrawabl;
|
|
229
233
|
|
|
230
234
|
key += `_cornerRadius:${cornerRadius}`;
|
|
231
235
|
key += `_titleTextColor:${titleTextColor}`;
|
|
232
236
|
key += `_titleFontSize:${titleFontSize}`;
|
|
233
|
-
key += `_titleAndroidFontInfo.isCustom:${
|
|
234
|
-
key += `_titleAndroidFontInfo.typefaceName:${
|
|
235
|
-
key += `_titleGradientDrawable.orientation:${
|
|
236
|
-
key += `_titleGradientDrawable.colors:${
|
|
237
|
+
key += `_titleAndroidFontInfo.isCustom:${titleAndroidFontInfo === null || titleAndroidFontInfo === void 0 ? void 0 : titleAndroidFontInfo.isCustom}`;
|
|
238
|
+
key += `_titleAndroidFontInfo.typefaceName:${titleAndroidFontInfo === null || titleAndroidFontInfo === void 0 ? void 0 : titleAndroidFontInfo.typefaceName}`;
|
|
239
|
+
key += `_titleGradientDrawable.orientation:${titleGradientDrawable === null || titleGradientDrawable === void 0 ? void 0 : titleGradientDrawable.orientation}`;
|
|
240
|
+
key += `_titleGradientDrawable.colors:${titleGradientDrawable === null || titleGradientDrawable === void 0 ? void 0 : (_titleGradientDrawabl = titleGradientDrawable.colors) === null || _titleGradientDrawabl === void 0 ? void 0 : _titleGradientDrawabl.join(',')}`;
|
|
237
241
|
key += `_playIconHidden:${playIconHidden}`;
|
|
238
242
|
key += `_playIconWidth:${playIconWidth}`;
|
|
239
243
|
key += `_showAdBadge:${showAdBadge}`;
|
|
@@ -265,10 +269,12 @@ class VideoFeed extends React.Component {
|
|
|
265
269
|
return /*#__PURE__*/React.createElement(FWVideoFeed, _extends({
|
|
266
270
|
key: key
|
|
267
271
|
}, this.props, {
|
|
272
|
+
enablePictureInPicture: undefined,
|
|
268
273
|
videoFeedConfiguration: videoFeedConfiguration,
|
|
274
|
+
videoPlayerConfiguration: videoPlayerConfiguration,
|
|
269
275
|
ref: this._nativeComponentRef,
|
|
270
276
|
onVideoFeedLoadFinished: this._onVideoFeedLoadFinished,
|
|
271
|
-
mode: mode
|
|
277
|
+
mode: mode !== null && mode !== void 0 ? mode : 'row'
|
|
272
278
|
}));
|
|
273
279
|
}
|
|
274
280
|
|
|
@@ -299,12 +305,10 @@ class VideoFeed extends React.Component {
|
|
|
299
305
|
}
|
|
300
306
|
|
|
301
307
|
_generateVastAttributesString() {
|
|
302
|
-
var _adConfiguration$vast;
|
|
303
|
-
|
|
304
308
|
const {
|
|
305
309
|
adConfiguration
|
|
306
310
|
} = this.props;
|
|
307
|
-
const vastAttributes =
|
|
311
|
+
const vastAttributes = adConfiguration === null || adConfiguration === void 0 ? void 0 : adConfiguration.vastAttributes;
|
|
308
312
|
|
|
309
313
|
if (!vastAttributes) {
|
|
310
314
|
return '';
|
|
@@ -313,13 +317,11 @@ class VideoFeed extends React.Component {
|
|
|
313
317
|
let resultString = '';
|
|
314
318
|
|
|
315
319
|
for (const attribute of vastAttributes) {
|
|
316
|
-
var _attribute$name;
|
|
317
|
-
|
|
318
320
|
if (resultString.length > 0) {
|
|
319
321
|
resultString += '_';
|
|
320
322
|
}
|
|
321
323
|
|
|
322
|
-
resultString += `${
|
|
324
|
+
resultString += `${attribute.name}:${attribute.value}`;
|
|
323
325
|
}
|
|
324
326
|
|
|
325
327
|
return resultString;
|
|
@@ -355,6 +357,26 @@ class VideoFeed extends React.Component {
|
|
|
355
357
|
return resultVideoFeedConfiguration;
|
|
356
358
|
}
|
|
357
359
|
|
|
360
|
+
_getVideoPlayerConfiguration() {
|
|
361
|
+
const {
|
|
362
|
+
videoPlayerConfiguration,
|
|
363
|
+
enablePictureInPicture
|
|
364
|
+
} = this.props;
|
|
365
|
+
let resultVideoPlayerConfiguration = videoPlayerConfiguration;
|
|
366
|
+
|
|
367
|
+
if (typeof enablePictureInPicture === 'boolean') {
|
|
368
|
+
if (!resultVideoPlayerConfiguration) {
|
|
369
|
+
resultVideoPlayerConfiguration = {};
|
|
370
|
+
}
|
|
371
|
+
|
|
372
|
+
resultVideoPlayerConfiguration = { ...resultVideoPlayerConfiguration,
|
|
373
|
+
enablePictureInPicture
|
|
374
|
+
};
|
|
375
|
+
}
|
|
376
|
+
|
|
377
|
+
return resultVideoPlayerConfiguration;
|
|
378
|
+
}
|
|
379
|
+
|
|
358
380
|
}
|
|
359
381
|
|
|
360
382
|
_defineProperty(VideoFeed, "defaultProps", {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["VideoFeed.tsx"],"names":["React","findNodeHandle","Platform","UIManager","FireworkSDK","FWEventName","FireworkSDKModuleEventEmitter","FWGlobalState","FWLoggerUtil","FWVideoFeed","NativeComponentName","VideoFeed","Component","constructor","props","createRef","log","JSON","stringify","nativeNodeHandle","_nativeComponentRef","current","commandId","getViewManagerConfig","Commands","refresh","OS","toString","dispatchViewManagerCommand","event","nativeEvent","onVideoFeedLoadFinished","name","reason","state","sdkInitCalled","getInstance","componentDidMount","sdkInitCalledPromise","then","setState","subscriptionOfShareBaseURLUpdated","addListener","ShareBaseURLUpdated","_subscriptions","push","subscriptionOfAdBadgeConfigurationUpdated","AdBadgeConfigurationUpdated","subscriptionOfVideoLaunchBehaviorUpdated","VideoLaunchBehaviorUpdated","subscriptionOfAppLanguageUpdated","AppLanguageUpdated","componentWillUnmount","forEach","value","remove","render","gShareBaseURL","shareBaseURL","appLanguage","videoLaunchBehavior","adBadgeConfiguration","adBadgeTextType","badgeTextType","backgroundColorOfAdBadge","backgroundColor","textColorOfAdBadge","textColor","androidFontIsCustomOfAdBadge","androidFontInfo","isCustom","androidFontTypefaceNameOfAdBadge","typefaceName","source","channel","playlist","playlistGroup","hashtagFilterExpression","mode","enablePictureInPicture","adConfiguration","videoPlayerConfiguration","dynamicContentParametersString","_generateDynamicContentParametersString","videoFeedConfiguration","_getVideoFeedConfiguration","cornerRadius","toFixed","titleHidden","title","hidden","titleTextColor","titleFontSize","fontSize","titleAndroidFontInfo","titleGradientDrawable","gradientDrawable","titlePosition","playIconHidden","playIcon","playIconWidth","iconWidth","showAdBadge","enableAutoplay","gridColumns","itemSpacing","playerStyle","videoCompleteAction","showShareButton","showPlaybackButton","showMuteButton","showBranding","ctaDelayType","ctaDelay","type","ctaDelayValue","ctaHighlightDelayType","ctaHighlightDelay","ctaHighlightDelayValue","ctaWidth","requiresAds","adsFetchTimeout","vastAttributesString","_generateVastAttributesString","key","orientation","colors","join","_onVideoFeedLoadFinished","dynamicContentParameters","resultString","sortedKeyList","Object","keys","sort","valueString","length","vastAttributes","attribute","resultVideoFeedConfiguration","Math","floor","numberOfLines"],"mappings":"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","sourcesContent":["import React from 'react';\n\nimport {\n EmitterSubscription,\n findNodeHandle,\n NativeSyntheticEvent,\n Platform,\n StyleProp,\n UIManager,\n ViewStyle,\n} from 'react-native';\n\nimport FireworkSDK from '../FireworkSDK';\nimport type AdConfiguration from '../models/AdConfiguration';\nimport type FWError from '../models/FWError';\nimport { FWEventName } from '../models/FWEventName';\nimport type VideoFeedConfiguration from '../models/VideoFeedConfiguration';\nimport type { VideoFeedSource } from '../models/VideoFeedSource';\nimport type VideoPlayerConfiguration from '../models/VideoPlayerConfiguration';\nimport { FireworkSDKModuleEventEmitter } from '../modules/FireworkSDKModule';\nimport FWGlobalState from '../utils/FWGlobalState';\nimport FWLoggerUtil from '../utils/FWLoggerUtil';\nimport FWVideoFeed from './FWVideoFeed';\n\nexport type VideoFeedMode = 'row' | 'column' | 'grid';\n\n/**\n * The props of VideoFeed component.\n */\nexport interface IVideoFeedProps {\n /**\n * Standard React Native View Style.\n */\n style?: StyleProp<ViewStyle>;\n /**\n * One of five available video feed sources.The playlistGroup is only supported on iOS\n */\n source: VideoFeedSource;\n /**\n * Channel id of the feed. Required when the source is set as channel or playlist or dynamicContent.\n */\n channel?: string;\n /**\n * Playlist id of the feed. Please note channel id is necessary. Required when the source is set as playlist.\n */\n playlist?: string;\n /**\n * PlaylistGroup id of the feed. Required when the source is set as playlistGroup. Only supported on iOS.\n */\n playlistGroup?: string;\n /**\n * The dynamic content parameters of the feed. Required when the source is set as dynamicContent.\n */\n dynamicContentParameters?: { [key: string]: string[] };\n /**\n * Hashtag filter expression is an s-expression used to provide feeds filtered by hashtags with specified criteria.\n * Queries are specified with boolean predicates on what hashtags are there on the video.\n * For instance, (and sport food) (or sport food) (and sport (or food comedy)) sport are all valid expressions.\n * Non-UTF-8 characters are not allowed. If using boolean predicates, the expression needs to be wrapped with parenthesis.\n */\n hashtagFilterExpression?: string;\n /**\n * One of three available display modes. Defaults to row.\n */\n mode?: VideoFeedMode;\n /**\n * Specifies if Picture in Picture is enabled.\n */\n enablePictureInPicture?: boolean;\n /**\n * Configuration of the feed.\n */\n videoFeedConfiguration?: VideoFeedConfiguration;\n /**\n * Configuration of the player.\n */\n videoPlayerConfiguration?: VideoPlayerConfiguration;\n /**\n * Ad configuration of the feed. Only supported on iOS.\n */\n adConfiguration?: AdConfiguration;\n /**\n * The feed loading result callback. It means loading successfully when error equals to undefined. Only supported on iOS.\n */\n onVideoFeedLoadFinished?: (error?: FWError) => void;\n}\n\ninterface IVideoFeedState {\n sdkInitCalled: boolean;\n}\n\nconst NativeComponentName = 'FWVideoFeed';\n\n/**\n * VideoFeed component.\n */\nclass VideoFeed extends React.Component<IVideoFeedProps, IVideoFeedState> {\n /**\n * @ignore\n */\n static defaultProps = {\n mode: 'row',\n };\n\n private _nativeComponentRef = React.createRef<any>();\n\n private _subscriptions: EmitterSubscription[] = [];\n\n constructor(props: IVideoFeedProps) {\n super(props);\n this.state = {\n sdkInitCalled: FWGlobalState.getInstance().sdkInitCalled,\n };\n }\n\n public refresh = () => {\n FWLoggerUtil.log(`VideoFeed refresh ${JSON.stringify(this.props)}`);\n\n const nativeNodeHandle = findNodeHandle(this._nativeComponentRef.current);\n\n let commandId: string | number =\n UIManager.getViewManagerConfig(NativeComponentName).Commands.refresh;\n if (Platform.OS === 'android') {\n commandId = commandId.toString();\n }\n\n UIManager.dispatchViewManagerCommand(\n findNodeHandle(nativeNodeHandle),\n commandId,\n []\n );\n };\n\n private _onVideoFeedLoadFinished = (event: NativeSyntheticEvent<any>) => {\n FWLoggerUtil.log(\n `VideoFeed _onVideoFeedLoadFinished ${JSON.stringify(event.nativeEvent)}`\n );\n const { onVideoFeedLoadFinished } = this.props;\n\n const { name, reason } = event.nativeEvent;\n\n if (onVideoFeedLoadFinished) {\n if (name) {\n if (reason) {\n onVideoFeedLoadFinished({ name, reason });\n } else {\n onVideoFeedLoadFinished({ name });\n }\n } else {\n onVideoFeedLoadFinished();\n }\n }\n };\n\n /**\n * @ignore\n */\n componentDidMount() {\n FWLoggerUtil.log(\n `VideoFeed componentDidMount ${JSON.stringify(this.props)}`\n );\n\n if (!this.state.sdkInitCalled) {\n FWGlobalState.getInstance().sdkInitCalledPromise.then(() => {\n this.setState({ sdkInitCalled: true });\n });\n }\n\n const subscriptionOfShareBaseURLUpdated =\n FireworkSDKModuleEventEmitter.addListener(\n FWEventName.ShareBaseURLUpdated,\n () => {\n FWLoggerUtil.log('Receive FWEventName.ShareBaseURLUpdated');\n this.setState({});\n }\n );\n this._subscriptions.push(subscriptionOfShareBaseURLUpdated);\n\n const subscriptionOfAdBadgeConfigurationUpdated =\n FireworkSDKModuleEventEmitter.addListener(\n FWEventName.AdBadgeConfigurationUpdated,\n () => {\n FWLoggerUtil.log('Receive FWEventName.AdBadgeConfigurationUpdated');\n this.setState({});\n }\n );\n this._subscriptions.push(subscriptionOfAdBadgeConfigurationUpdated);\n\n const subscriptionOfVideoLaunchBehaviorUpdated =\n FireworkSDKModuleEventEmitter.addListener(\n FWEventName.VideoLaunchBehaviorUpdated,\n () => {\n FWLoggerUtil.log('Receive FWEventName.VideoLaunchBehaviorUpdated');\n this.setState({});\n }\n );\n this._subscriptions.push(subscriptionOfVideoLaunchBehaviorUpdated);\n\n if (Platform.OS === 'ios') {\n const subscriptionOfAppLanguageUpdated =\n FireworkSDKModuleEventEmitter.addListener(\n FWEventName.AppLanguageUpdated,\n () => {\n FWLoggerUtil.log('Receive FWEventName.AppLanguageUpdated');\n this.setState({});\n }\n );\n this._subscriptions.push(subscriptionOfAppLanguageUpdated);\n }\n }\n\n /**\n * @ignore\n */\n componentWillUnmount() {\n FWLoggerUtil.log(\n `VideoFeed componentWillUnmount ${JSON.stringify(this.props)}`\n );\n\n this._subscriptions.forEach((value) => {\n value.remove();\n });\n\n this._subscriptions = [];\n }\n\n /**\n * @ignore\n */\n render() {\n FWLoggerUtil.log(\n `VideoFeed render props ${JSON.stringify(\n this.props\n )} state ${JSON.stringify(this.state)}`\n );\n\n if (!this.state.sdkInitCalled) {\n return null;\n }\n\n const gShareBaseURL = FireworkSDK.getInstance().shareBaseURL ?? '';\n const appLanguage = FireworkSDK.getInstance().appLanguage ?? '';\n const videoLaunchBehavior =\n FireworkSDK.getInstance().videoLaunchBehavior ?? '';\n const adBadgeConfiguration =\n FireworkSDK.getInstance().adBadgeConfiguration ?? {};\n const adBadgeTextType = adBadgeConfiguration.badgeTextType ?? '';\n const backgroundColorOfAdBadge = adBadgeConfiguration.backgroundColor ?? '';\n const textColorOfAdBadge = adBadgeConfiguration.textColor ?? '';\n const androidFontIsCustomOfAdBadge =\n adBadgeConfiguration.androidFontInfo?.isCustom?.toString() ?? '';\n const androidFontTypefaceNameOfAdBadge =\n adBadgeConfiguration.androidFontInfo?.typefaceName ?? '';\n\n const {\n source,\n channel = '',\n playlist = '',\n playlistGroup = '',\n hashtagFilterExpression = '',\n mode = 'row',\n enablePictureInPicture = false,\n adConfiguration,\n videoPlayerConfiguration,\n } = this.props;\n const dynamicContentParametersString =\n this._generateDynamicContentParametersString();\n\n const videoFeedConfiguration = this._getVideoFeedConfiguration();\n const cornerRadius = videoFeedConfiguration?.cornerRadius?.toFixed(5) ?? '';\n\n const titleHidden = videoFeedConfiguration?.title?.hidden?.toString() ?? '';\n const titleTextColor = videoFeedConfiguration?.title?.textColor ?? '';\n const titleFontSize =\n videoFeedConfiguration?.title?.fontSize?.toFixed(5) ?? '';\n const titleAndroidFontInfo = videoFeedConfiguration?.title?.androidFontInfo;\n const titleGradientDrawable =\n videoFeedConfiguration?.title?.gradientDrawable;\n const titlePosition = videoFeedConfiguration?.titlePosition ?? '';\n const playIconHidden =\n videoFeedConfiguration?.playIcon?.hidden?.toString() ?? '';\n const playIconWidth =\n videoFeedConfiguration?.playIcon?.iconWidth?.toFixed(5) ?? '';\n const showAdBadge = videoFeedConfiguration?.showAdBadge?.toString() ?? '';\n const enableAutoplay =\n videoFeedConfiguration?.enableAutoplay?.toString() ?? '';\n const gridColumns = videoFeedConfiguration?.gridColumns?.toFixed(5) ?? '';\n const itemSpacing = videoFeedConfiguration?.itemSpacing?.toFixed(5) ?? '';\n\n const playerStyle = videoPlayerConfiguration?.playerStyle ?? '';\n const videoCompleteAction =\n videoPlayerConfiguration?.videoCompleteAction ?? '';\n const showShareButton =\n videoPlayerConfiguration?.showShareButton?.toString() ?? '';\n const showPlaybackButton =\n videoPlayerConfiguration?.showPlaybackButton?.toString() ?? '';\n const showMuteButton =\n videoPlayerConfiguration?.showMuteButton?.toString() ?? '';\n const showBranding =\n videoPlayerConfiguration?.showBranding?.toString() ?? '';\n const ctaDelayType = videoPlayerConfiguration?.ctaDelay?.type ?? '';\n const ctaDelayValue = (\n videoPlayerConfiguration?.ctaDelay?.value ?? 0\n ).toFixed(5);\n const ctaHighlightDelayType =\n videoPlayerConfiguration?.ctaHighlightDelay?.type ?? '';\n const ctaHighlightDelayValue = (\n videoPlayerConfiguration?.ctaHighlightDelay?.value ?? 0\n ).toFixed(5);\n const shareBaseURL = videoPlayerConfiguration?.shareBaseURL ?? '';\n const ctaWidth = videoPlayerConfiguration?.ctaWidth ?? '';\n\n const requiresAds = adConfiguration?.requiresAds?.toString() ?? '';\n const adsFetchTimeout = adConfiguration?.adsFetchTimeout ?? 10;\n const vastAttributesString = this._generateVastAttributesString();\n\n let key = `gShareBaseURL:${gShareBaseURL}`;\n if (Platform.OS === 'ios') {\n key += `_appLanguage:${appLanguage}`;\n }\n key += `_videoLaunchBehavior:${videoLaunchBehavior}`;\n key += `_adBadgeTextType:${adBadgeTextType}`;\n key += `_backgroundColorOfAdBadge:${backgroundColorOfAdBadge}`;\n key += `_textColorOfAdBadge:${textColorOfAdBadge}`;\n if (Platform.OS === 'android') {\n key += `_androidFontIsCustomOfAdBadge${androidFontIsCustomOfAdBadge}`;\n key += `_androidFontTypefaceNameOfAdBadge${androidFontTypefaceNameOfAdBadge}`;\n }\n\n key += `_source:${source}`;\n key += `_channel:${channel}`;\n key += `_playlist:${playlist}`;\n key += `_playlistGroup:${playlistGroup}`;\n key += `_dynamicContentParameters:${dynamicContentParametersString}`;\n key += `_hashtagFilterExpression:${hashtagFilterExpression}`;\n key += `_mode:${mode}`;\n key += `_enablePictureInPicture:${enablePictureInPicture}`;\n\n key += `_titleHidden:${titleHidden}`;\n if (Platform.OS === 'android') {\n key += `_cornerRadius:${cornerRadius}`;\n key += `_titleTextColor:${titleTextColor}`;\n key += `_titleFontSize:${titleFontSize}`;\n key += `_titleAndroidFontInfo.isCustom:${\n titleAndroidFontInfo?.isCustom?.toString() ?? ''\n }`;\n key += `_titleAndroidFontInfo.typefaceName:${\n titleAndroidFontInfo?.typefaceName ?? ''\n }`;\n key += `_titleGradientDrawable.orientation:${\n titleGradientDrawable?.orientation ?? ''\n }`;\n key += `_titleGradientDrawable.colors:${(\n titleGradientDrawable?.colors ?? []\n ).join(',')}`;\n key += `_playIconHidden:${playIconHidden}`;\n key += `_playIconWidth:${playIconWidth}`;\n key += `_showAdBadge:${showAdBadge}`;\n }\n\n key += `_titlePosition:${titlePosition}`;\n key += `_enableAutoplay:${enableAutoplay}`;\n key += `_gridColumns:${gridColumns}`;\n key += `_itemSpacing:${itemSpacing}`;\n\n key += `_shareBaseURL:${shareBaseURL}`;\n if (Platform.OS === 'android') {\n key += `_playerStyle:${playerStyle}`;\n key += `_videoCompleteAction:${videoCompleteAction}`;\n key += `_showShareButton:${showShareButton}`;\n key += `_showPlaybackButton:${showPlaybackButton}`;\n key += `_showMuteButton:${showMuteButton}`;\n key += `_showBranding:${showBranding}`;\n key += `_ctaDelayType:${ctaDelayType}`;\n key += `_ctaDelayValue:${ctaDelayValue}`;\n key += `_ctaHighlightDelayType:${ctaHighlightDelayType}`;\n key += `_ctaHighlightDelayValue:${ctaHighlightDelayValue}`;\n key += `_ctaWidth:${ctaWidth}`;\n }\n\n key += `_requiresAds:${requiresAds}`;\n key += `_adsFetchTimeout:${adsFetchTimeout}`;\n key += `_vastAttributes:${vastAttributesString}`;\n\n return (\n <FWVideoFeed\n key={key}\n {...this.props}\n videoFeedConfiguration={videoFeedConfiguration}\n ref={this._nativeComponentRef}\n onVideoFeedLoadFinished={this._onVideoFeedLoadFinished}\n mode={mode}\n />\n );\n }\n\n private _generateDynamicContentParametersString(): string {\n const { dynamicContentParameters } = this.props;\n if (!dynamicContentParameters) {\n return '';\n }\n\n let resultString = '';\n const sortedKeyList = Object.keys(dynamicContentParameters).sort();\n for (const key of sortedKeyList) {\n const value = dynamicContentParameters[key];\n const valueString = value.join(',');\n if (resultString.length > 0) {\n resultString += '_';\n }\n\n resultString += `${key}:${valueString}`;\n }\n\n return resultString;\n }\n\n private _generateVastAttributesString(): string {\n const { adConfiguration } = this.props;\n const vastAttributes = adConfiguration?.vastAttributes ?? '';\n if (!vastAttributes) {\n return '';\n }\n\n let resultString = '';\n for (const attribute of vastAttributes) {\n if (resultString.length > 0) {\n resultString += '_';\n }\n resultString += `${attribute.name ?? ''}:${attribute.value}`;\n }\n\n return resultString;\n }\n\n private _getVideoFeedConfiguration(): VideoFeedConfiguration | undefined {\n const { videoFeedConfiguration } = this.props;\n if (!videoFeedConfiguration) {\n return videoFeedConfiguration;\n }\n\n let resultVideoFeedConfiguration = videoFeedConfiguration;\n\n if (\n resultVideoFeedConfiguration.gridColumns &&\n Math.floor(resultVideoFeedConfiguration.gridColumns) !==\n resultVideoFeedConfiguration.gridColumns\n ) {\n const gridColumns = Math.floor(resultVideoFeedConfiguration.gridColumns);\n resultVideoFeedConfiguration = {\n ...resultVideoFeedConfiguration,\n gridColumns,\n };\n }\n\n if (\n resultVideoFeedConfiguration.title &&\n resultVideoFeedConfiguration.title.numberOfLines &&\n Math.floor(resultVideoFeedConfiguration.title.numberOfLines) !==\n resultVideoFeedConfiguration.title.numberOfLines\n ) {\n const numberOfLines = Math.floor(\n resultVideoFeedConfiguration.title.numberOfLines\n );\n resultVideoFeedConfiguration = {\n ...resultVideoFeedConfiguration,\n title: {\n ...resultVideoFeedConfiguration.title,\n numberOfLines,\n },\n };\n }\n\n return resultVideoFeedConfiguration;\n }\n}\n\nexport default VideoFeed;\n"]}
|
|
1
|
+
{"version":3,"sources":["VideoFeed.tsx"],"names":["React","findNodeHandle","Platform","UIManager","FireworkSDK","FWEventName","FireworkSDKModuleEventEmitter","FWGlobalState","FWLoggerUtil","FWVideoFeed","NativeComponentName","VideoFeed","Component","constructor","props","createRef","log","JSON","stringify","nativeNodeHandle","_nativeComponentRef","current","commandId","getViewManagerConfig","Commands","refresh","OS","toString","dispatchViewManagerCommand","event","nativeEvent","onVideoFeedLoadFinished","name","reason","state","sdkInitCalled","getInstance","componentDidMount","sdkInitCalledPromise","then","setState","subscriptionOfShareBaseURLUpdated","addListener","ShareBaseURLUpdated","_subscriptions","push","subscriptionOfAdBadgeConfigurationUpdated","AdBadgeConfigurationUpdated","subscriptionOfVideoLaunchBehaviorUpdated","VideoLaunchBehaviorUpdated","subscriptionOfAppLanguageUpdated","AppLanguageUpdated","componentWillUnmount","forEach","value","remove","render","gShareBaseURL","shareBaseURL","appLanguage","videoLaunchBehavior","adBadgeConfiguration","adBadgeTextType","badgeTextType","backgroundColorOfAdBadge","backgroundColor","textColorOfAdBadge","textColor","androidFontIsCustomOfAdBadge","androidFontInfo","isCustom","androidFontTypefaceNameOfAdBadge","typefaceName","source","channel","playlist","playlistGroup","hashtagFilterExpression","productIds","mode","enablePictureInPicture","adConfiguration","dynamicContentParametersString","_generateDynamicContentParametersString","videoFeedConfiguration","_getVideoFeedConfiguration","cornerRadius","toFixed","titleHidden","title","hidden","titleTextColor","titleFontSize","fontSize","titleAndroidFontInfo","titleGradientDrawable","gradientDrawable","titlePosition","playIconHidden","playIcon","playIconWidth","iconWidth","showAdBadge","enableAutoplay","gridColumns","itemSpacing","videoPlayerConfiguration","_getVideoPlayerConfiguration","playerStyle","videoCompleteAction","showShareButton","showPlaybackButton","showMuteButton","showBranding","ctaDelayType","ctaDelay","type","ctaDelayValue","ctaHighlightDelayType","ctaHighlightDelay","ctaHighlightDelayValue","ctaWidth","requiresAds","adsFetchTimeout","vastAttributesString","_generateVastAttributesString","key","join","orientation","colors","undefined","_onVideoFeedLoadFinished","dynamicContentParameters","resultString","sortedKeyList","Object","keys","sort","valueString","length","vastAttributes","attribute","resultVideoFeedConfiguration","Math","floor","numberOfLines","resultVideoPlayerConfiguration"],"mappings":"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","sourcesContent":["import React from 'react';\n\nimport {\n EmitterSubscription,\n findNodeHandle,\n NativeSyntheticEvent,\n Platform,\n StyleProp,\n UIManager,\n ViewStyle,\n} from 'react-native';\n\nimport FireworkSDK from '../FireworkSDK';\nimport type AdConfiguration from '../models/AdConfiguration';\nimport type FWError from '../models/FWError';\nimport { FWEventName } from '../models/FWEventName';\nimport type VideoFeedConfiguration from '../models/VideoFeedConfiguration';\nimport type { VideoFeedSource } from '../models/VideoFeedSource';\nimport type VideoPlayerConfiguration from '../models/VideoPlayerConfiguration';\nimport { FireworkSDKModuleEventEmitter } from '../modules/FireworkSDKModule';\nimport FWGlobalState from '../utils/FWGlobalState';\nimport FWLoggerUtil from '../utils/FWLoggerUtil';\nimport FWVideoFeed from './FWVideoFeed';\nimport type VideoPlayerNativeConfiguration from '../models/VideoPlayerNativeConfiguration';\n\nexport type VideoFeedMode = 'row' | 'column' | 'grid';\n\n/**\n * The props of VideoFeed component.\n */\nexport interface IVideoFeedProps {\n /**\n * Standard React Native View Style.\n */\n style?: StyleProp<ViewStyle>;\n /**\n * One of five available video feed sources.The playlistGroup is only supported on iOS.\n * Defaults to discover.\n */\n source: VideoFeedSource;\n /**\n * Channel id of the feed. Required when the source is set as channel or playlist or dynamicContent.\n */\n channel?: string;\n /**\n * Playlist id of the feed. Please note channel id is necessary. Required when the source is set as playlist.\n */\n playlist?: string;\n /**\n * PlaylistGroup id of the feed. Required when the source is set as playlistGroup. Only supported on iOS.\n */\n playlistGroup?: string;\n /**\n * The dynamic content parameters of the feed. Required when the source is set as dynamicContent.\n */\n dynamicContentParameters?: { [key: string]: string[] };\n /**\n * Hashtag filter expression is an s-expression used to provide feeds filtered by hashtags with specified criteria.\n * Queries are specified with boolean predicates on what hashtags are there on the video.\n * For instance, (and sport food) (or sport food) (and sport (or food comedy)) sport are all valid expressions.\n * Non-UTF-8 characters are not allowed. If using boolean predicates, the expression needs to be wrapped with parenthesis.\n * Required when the source is set as hashtagPlaylist.\n */\n hashtagFilterExpression?: string;\n /**\n * Product ids used to generate the sku feed\n */\n productIds?: string[];\n /**\n * One of three available display modes. Defaults to row.\n */\n mode?: VideoFeedMode;\n /**\n * Specifies if Picture in Picture is enabled.\n */\n enablePictureInPicture?: boolean;\n /**\n * Configuration of the feed.\n */\n videoFeedConfiguration?: VideoFeedConfiguration;\n /**\n * Configuration of the player.\n */\n videoPlayerConfiguration?: VideoPlayerConfiguration;\n /**\n * Ad configuration of the feed. Only supported on iOS.\n */\n adConfiguration?: AdConfiguration;\n /**\n * The feed loading result callback. It means loading successfully when error equals to undefined. Only supported on iOS.\n */\n onVideoFeedLoadFinished?: (error?: FWError) => void;\n}\n\ninterface IVideoFeedState {\n sdkInitCalled: boolean;\n}\n\nconst NativeComponentName = 'FWVideoFeed';\n\n/**\n * VideoFeed component.\n */\nclass VideoFeed extends React.Component<IVideoFeedProps, IVideoFeedState> {\n /**\n * @ignore\n */\n static defaultProps = {\n mode: 'row',\n };\n\n private _nativeComponentRef = React.createRef<any>();\n\n private _subscriptions: EmitterSubscription[] = [];\n\n constructor(props: IVideoFeedProps) {\n super(props);\n this.state = {\n sdkInitCalled: FWGlobalState.getInstance().sdkInitCalled,\n };\n }\n\n public refresh = () => {\n FWLoggerUtil.log(`VideoFeed refresh ${JSON.stringify(this.props)}`);\n\n const nativeNodeHandle = findNodeHandle(this._nativeComponentRef.current);\n\n let commandId: string | number =\n UIManager.getViewManagerConfig(NativeComponentName).Commands.refresh;\n if (Platform.OS === 'android') {\n commandId = commandId.toString();\n }\n\n UIManager.dispatchViewManagerCommand(\n findNodeHandle(nativeNodeHandle),\n commandId,\n []\n );\n };\n\n private _onVideoFeedLoadFinished = (event: NativeSyntheticEvent<any>) => {\n FWLoggerUtil.log(\n `VideoFeed _onVideoFeedLoadFinished ${JSON.stringify(event.nativeEvent)}`\n );\n const { onVideoFeedLoadFinished } = this.props;\n\n const { name, reason } = event.nativeEvent;\n\n if (onVideoFeedLoadFinished) {\n if (name) {\n if (reason) {\n onVideoFeedLoadFinished({ name, reason });\n } else {\n onVideoFeedLoadFinished({ name });\n }\n } else {\n onVideoFeedLoadFinished();\n }\n }\n };\n\n /**\n * @ignore\n */\n componentDidMount() {\n FWLoggerUtil.log(\n `VideoFeed componentDidMount ${JSON.stringify(this.props)}`\n );\n\n if (!this.state.sdkInitCalled) {\n FWGlobalState.getInstance().sdkInitCalledPromise.then(() => {\n this.setState({ sdkInitCalled: true });\n });\n }\n\n const subscriptionOfShareBaseURLUpdated =\n FireworkSDKModuleEventEmitter.addListener(\n FWEventName.ShareBaseURLUpdated,\n () => {\n FWLoggerUtil.log('Receive FWEventName.ShareBaseURLUpdated');\n this.setState({});\n }\n );\n this._subscriptions.push(subscriptionOfShareBaseURLUpdated);\n\n const subscriptionOfAdBadgeConfigurationUpdated =\n FireworkSDKModuleEventEmitter.addListener(\n FWEventName.AdBadgeConfigurationUpdated,\n () => {\n FWLoggerUtil.log('Receive FWEventName.AdBadgeConfigurationUpdated');\n this.setState({});\n }\n );\n this._subscriptions.push(subscriptionOfAdBadgeConfigurationUpdated);\n\n const subscriptionOfVideoLaunchBehaviorUpdated =\n FireworkSDKModuleEventEmitter.addListener(\n FWEventName.VideoLaunchBehaviorUpdated,\n () => {\n FWLoggerUtil.log('Receive FWEventName.VideoLaunchBehaviorUpdated');\n this.setState({});\n }\n );\n this._subscriptions.push(subscriptionOfVideoLaunchBehaviorUpdated);\n\n if (Platform.OS === 'ios') {\n const subscriptionOfAppLanguageUpdated =\n FireworkSDKModuleEventEmitter.addListener(\n FWEventName.AppLanguageUpdated,\n () => {\n FWLoggerUtil.log('Receive FWEventName.AppLanguageUpdated');\n this.setState({});\n }\n );\n this._subscriptions.push(subscriptionOfAppLanguageUpdated);\n }\n }\n\n /**\n * @ignore\n */\n componentWillUnmount() {\n FWLoggerUtil.log(\n `VideoFeed componentWillUnmount ${JSON.stringify(this.props)}`\n );\n\n this._subscriptions.forEach((value) => {\n value.remove();\n });\n\n this._subscriptions = [];\n }\n\n /**\n * @ignore\n */\n render() {\n FWLoggerUtil.log(\n `VideoFeed render props ${JSON.stringify(\n this.props\n )} state ${JSON.stringify(this.state)}`\n );\n\n if (!this.state.sdkInitCalled) {\n return null;\n }\n\n const gShareBaseURL = FireworkSDK.getInstance().shareBaseURL;\n const appLanguage = FireworkSDK.getInstance().appLanguage;\n const videoLaunchBehavior = FireworkSDK.getInstance().videoLaunchBehavior;\n const adBadgeConfiguration = FireworkSDK.getInstance().adBadgeConfiguration;\n const adBadgeTextType = adBadgeConfiguration?.badgeTextType;\n const backgroundColorOfAdBadge = adBadgeConfiguration?.backgroundColor;\n const textColorOfAdBadge = adBadgeConfiguration?.textColor;\n const androidFontIsCustomOfAdBadge =\n adBadgeConfiguration?.androidFontInfo?.isCustom?.toString();\n const androidFontTypefaceNameOfAdBadge =\n adBadgeConfiguration?.androidFontInfo?.typefaceName;\n\n const {\n source,\n channel,\n playlist,\n playlistGroup,\n hashtagFilterExpression,\n productIds,\n mode,\n enablePictureInPicture,\n adConfiguration,\n } = this.props;\n const dynamicContentParametersString =\n this._generateDynamicContentParametersString();\n\n const videoFeedConfiguration = this._getVideoFeedConfiguration();\n const cornerRadius = videoFeedConfiguration?.cornerRadius?.toFixed(5);\n\n const titleHidden = videoFeedConfiguration?.title?.hidden?.toString();\n const titleTextColor = videoFeedConfiguration?.title?.textColor;\n const titleFontSize = videoFeedConfiguration?.title?.fontSize?.toFixed(5);\n const titleAndroidFontInfo = videoFeedConfiguration?.title?.androidFontInfo;\n const titleGradientDrawable =\n videoFeedConfiguration?.title?.gradientDrawable;\n const titlePosition = videoFeedConfiguration?.titlePosition;\n const playIconHidden = videoFeedConfiguration?.playIcon?.hidden;\n const playIconWidth =\n videoFeedConfiguration?.playIcon?.iconWidth?.toFixed(5);\n const showAdBadge = videoFeedConfiguration?.showAdBadge?.toString();\n const enableAutoplay = videoFeedConfiguration?.enableAutoplay;\n const gridColumns = videoFeedConfiguration?.gridColumns?.toFixed(5);\n const itemSpacing = videoFeedConfiguration?.itemSpacing?.toFixed(5);\n\n const videoPlayerConfiguration = this._getVideoPlayerConfiguration();\n const playerStyle = videoPlayerConfiguration?.playerStyle;\n const videoCompleteAction = videoPlayerConfiguration?.videoCompleteAction;\n const showShareButton = videoPlayerConfiguration?.showShareButton;\n const showPlaybackButton = videoPlayerConfiguration?.showPlaybackButton;\n const showMuteButton = videoPlayerConfiguration?.showMuteButton;\n const showBranding = videoPlayerConfiguration?.showBranding;\n const ctaDelayType = videoPlayerConfiguration?.ctaDelay?.type;\n const ctaDelayValue = videoPlayerConfiguration?.ctaDelay?.value?.toFixed(5);\n const ctaHighlightDelayType =\n videoPlayerConfiguration?.ctaHighlightDelay?.type;\n const ctaHighlightDelayValue =\n videoPlayerConfiguration?.ctaHighlightDelay?.value?.toFixed(5);\n const shareBaseURL = videoPlayerConfiguration?.shareBaseURL;\n const ctaWidth = videoPlayerConfiguration?.ctaWidth;\n\n const requiresAds = adConfiguration?.requiresAds;\n const adsFetchTimeout = adConfiguration?.adsFetchTimeout;\n const vastAttributesString = this._generateVastAttributesString();\n\n let key = `gShareBaseURL:${gShareBaseURL}`;\n if (Platform.OS === 'ios') {\n key += `_appLanguage:${appLanguage}`;\n }\n key += `_videoLaunchBehavior:${videoLaunchBehavior}`;\n key += `_adBadgeTextType:${adBadgeTextType}`;\n key += `_backgroundColorOfAdBadge:${backgroundColorOfAdBadge}`;\n key += `_textColorOfAdBadge:${textColorOfAdBadge}`;\n if (Platform.OS === 'android') {\n key += `_androidFontIsCustomOfAdBadge${androidFontIsCustomOfAdBadge}`;\n key += `_androidFontTypefaceNameOfAdBadge${androidFontTypefaceNameOfAdBadge}`;\n }\n\n key += `_source:${source}`;\n key += `_channel:${channel}`;\n key += `_playlist:${playlist}`;\n key += `_playlistGroup:${playlistGroup}`;\n key += `_dynamicContentParameters:${dynamicContentParametersString}`;\n key += `_hashtagFilterExpression:${hashtagFilterExpression}`;\n key += `_productIds:${productIds?.join(',')}`;\n key += `_mode:${mode}`;\n key += `_enablePictureInPicture:${enablePictureInPicture}`;\n\n key += `_titleHidden:${titleHidden}`;\n if (Platform.OS === 'android') {\n key += `_cornerRadius:${cornerRadius}`;\n key += `_titleTextColor:${titleTextColor}`;\n key += `_titleFontSize:${titleFontSize}`;\n key += `_titleAndroidFontInfo.isCustom:${titleAndroidFontInfo?.isCustom}`;\n key += `_titleAndroidFontInfo.typefaceName:${titleAndroidFontInfo?.typefaceName}`;\n key += `_titleGradientDrawable.orientation:${titleGradientDrawable?.orientation}`;\n key += `_titleGradientDrawable.colors:${titleGradientDrawable?.colors?.join(\n ','\n )}`;\n key += `_playIconHidden:${playIconHidden}`;\n key += `_playIconWidth:${playIconWidth}`;\n key += `_showAdBadge:${showAdBadge}`;\n }\n\n key += `_titlePosition:${titlePosition}`;\n key += `_enableAutoplay:${enableAutoplay}`;\n key += `_gridColumns:${gridColumns}`;\n key += `_itemSpacing:${itemSpacing}`;\n\n key += `_shareBaseURL:${shareBaseURL}`;\n if (Platform.OS === 'android') {\n key += `_playerStyle:${playerStyle}`;\n key += `_videoCompleteAction:${videoCompleteAction}`;\n key += `_showShareButton:${showShareButton}`;\n key += `_showPlaybackButton:${showPlaybackButton}`;\n key += `_showMuteButton:${showMuteButton}`;\n key += `_showBranding:${showBranding}`;\n key += `_ctaDelayType:${ctaDelayType}`;\n key += `_ctaDelayValue:${ctaDelayValue}`;\n key += `_ctaHighlightDelayType:${ctaHighlightDelayType}`;\n key += `_ctaHighlightDelayValue:${ctaHighlightDelayValue}`;\n key += `_ctaWidth:${ctaWidth}`;\n }\n\n key += `_requiresAds:${requiresAds}`;\n key += `_adsFetchTimeout:${adsFetchTimeout}`;\n key += `_vastAttributes:${vastAttributesString}`;\n\n return (\n <FWVideoFeed\n key={key}\n {...this.props}\n enablePictureInPicture={undefined}\n videoFeedConfiguration={videoFeedConfiguration}\n videoPlayerConfiguration={videoPlayerConfiguration}\n ref={this._nativeComponentRef}\n onVideoFeedLoadFinished={this._onVideoFeedLoadFinished}\n mode={mode ?? 'row'}\n />\n );\n }\n\n private _generateDynamicContentParametersString(): string {\n const { dynamicContentParameters } = this.props;\n if (!dynamicContentParameters) {\n return '';\n }\n\n let resultString = '';\n const sortedKeyList = Object.keys(dynamicContentParameters).sort();\n for (const key of sortedKeyList) {\n const value = dynamicContentParameters[key];\n const valueString = value.join(',');\n if (resultString.length > 0) {\n resultString += '_';\n }\n\n resultString += `${key}:${valueString}`;\n }\n\n return resultString;\n }\n\n private _generateVastAttributesString(): string | undefined {\n const { adConfiguration } = this.props;\n const vastAttributes = adConfiguration?.vastAttributes;\n if (!vastAttributes) {\n return '';\n }\n\n let resultString = '';\n for (const attribute of vastAttributes) {\n if (resultString.length > 0) {\n resultString += '_';\n }\n resultString += `${attribute.name}:${attribute.value}`;\n }\n\n return resultString;\n }\n\n private _getVideoFeedConfiguration(): VideoFeedConfiguration | undefined {\n const { videoFeedConfiguration } = this.props;\n if (!videoFeedConfiguration) {\n return videoFeedConfiguration;\n }\n\n let resultVideoFeedConfiguration = videoFeedConfiguration;\n\n if (\n resultVideoFeedConfiguration.gridColumns &&\n Math.floor(resultVideoFeedConfiguration.gridColumns) !==\n resultVideoFeedConfiguration.gridColumns\n ) {\n const gridColumns = Math.floor(resultVideoFeedConfiguration.gridColumns);\n resultVideoFeedConfiguration = {\n ...resultVideoFeedConfiguration,\n gridColumns,\n };\n }\n\n if (\n resultVideoFeedConfiguration.title &&\n resultVideoFeedConfiguration.title.numberOfLines &&\n Math.floor(resultVideoFeedConfiguration.title.numberOfLines) !==\n resultVideoFeedConfiguration.title.numberOfLines\n ) {\n const numberOfLines = Math.floor(\n resultVideoFeedConfiguration.title.numberOfLines\n );\n resultVideoFeedConfiguration = {\n ...resultVideoFeedConfiguration,\n title: {\n ...resultVideoFeedConfiguration.title,\n numberOfLines,\n },\n };\n }\n\n return resultVideoFeedConfiguration;\n }\n\n private _getVideoPlayerConfiguration():\n | VideoPlayerNativeConfiguration\n | undefined {\n const { videoPlayerConfiguration, enablePictureInPicture } = this.props;\n\n let resultVideoPlayerConfiguration:\n | VideoPlayerNativeConfiguration\n | undefined = videoPlayerConfiguration;\n if (typeof enablePictureInPicture === 'boolean') {\n if (!resultVideoPlayerConfiguration) {\n resultVideoPlayerConfiguration = {};\n }\n resultVideoPlayerConfiguration = {\n ...resultVideoPlayerConfiguration,\n enablePictureInPicture,\n };\n }\n\n return resultVideoPlayerConfiguration;\n }\n}\n\nexport default VideoFeed;\n"]}
|
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["index.ts"],"names":["StoryBlock","VideoFeed","FireworkSDK","FWNavigator","LiveStream","LiveStreamChatEventName","LiveStreamEventName","VideoPlaybackEventName","VideoShopping"],"mappings":"AAIA,OAAOA,UAAP,MAAuB,yBAAvB;AAEA,OAAOC,SAAP,MAAsB,wBAAtB;AAOA,OAAOC,WAAP,MAAwB,eAAxB;AACA,OAAOC,WAAP,MAAwB,eAAxB;AAKA,OAAOC,UAAP,MAAuB,cAAvB;AA0BA,OAAOC,uBAAP,MAAoC,kCAApC;AAEA,OAAOC,mBAAP,MAAgC,8BAAhC;
|
|
1
|
+
{"version":3,"sources":["index.ts"],"names":["StoryBlock","VideoFeed","FireworkSDK","FWNavigator","LiveStream","LiveStreamChatEventName","LiveStreamEventName","VideoPlaybackEventName","VideoShopping"],"mappings":"AAIA,OAAOA,UAAP,MAAuB,yBAAvB;AAEA,OAAOC,SAAP,MAAsB,wBAAtB;AAOA,OAAOC,WAAP,MAAwB,eAAxB;AACA,OAAOC,WAAP,MAAwB,eAAxB;AAKA,OAAOC,UAAP,MAAuB,cAAvB;AA0BA,OAAOC,uBAAP,MAAoC,kCAApC;AAEA,OAAOC,mBAAP,MAAgC,8BAAhC;AA4BA,OAAOC,sBAAP,MAAmC,iCAAnC;AAgBA,OAAOC,aAAP,MAA0B,iBAA1B;AAEA,eAAeN,WAAf;AAEA,SAWEA,WAXF,EAaEC,WAbF,EAuBEC,UAvBF,EAyBEC,uBAzBF,EA4BEC,mBA5BF,EA8CEN,UA9CF,EAqDEC,SArDF,EAmEEM,sBAnEF,EA4EEC,aA5EF","sourcesContent":["import type {\n IStoryBlockMethods,\n IStoryBlockProps,\n} from './components/StoryBlock';\nimport StoryBlock from './components/StoryBlock';\nimport type { IVideoFeedProps, VideoFeedMode } from './components/VideoFeed';\nimport VideoFeed from './components/VideoFeed';\nimport type {\n CustomCTAClickCallback,\n SDKInitCallback,\n VideoFeedClickCallback,\n VideoPlaybackCallback,\n} from './FireworkSDK';\nimport FireworkSDK from './FireworkSDK';\nimport FWNavigator from './FWNavigator';\nimport type {\n onLiveStreamChatEventCallback,\n onLiveStreamEventCallback,\n} from './LiveStream';\nimport LiveStream from './LiveStream';\nimport type AdBadgeConfiguration from './models/AdBadgeConfiguration';\nimport type { AdBadgeTextType } from './models/AdBadgeConfiguration';\nimport type AdConfiguration from './models/AdConfiguration';\nimport type { VastAttribute } from './models/AdConfiguration';\nimport type AndroidFontInfo from './models/AndroidFontInfo';\nimport type FeedItemDetails from './models/FeedItemDetails';\nimport type FWError from './models/FWError';\nimport type {\n CustomClickLinkButtonEvent,\n CustomCTAClickEvent,\n LiveStreamChatEvent,\n LiveStreamEvent,\n SDKInitEvent,\n ShoppingCTAEvent,\n UpdateProductDetailsEvent,\n VideoFeedClickEvent,\n VideoPlaybackEvent,\n} from './models/FWEvents';\nimport type GradientDrawable from './models/GradientDrawable';\nimport type { GradientDrawableOrientation } from './models/GradientDrawable';\nimport type IOSFontInfo from './models/IOSFontInfo';\nimport type {\n IOSSystemFontStyle,\n IOSSystemFontWeight,\n} from './models/IOSFontInfo';\nimport LiveStreamChatEventName from './models/LiveStreamChatEventName';\nimport type LiveStreamEventDetails from './models/LiveStreamEventDetails';\nimport LiveStreamEventName from './models/LiveStreamEventName';\nimport type LiveStreamMessageDetails from './models/LiveStreamMessageDetails';\nimport type OpenVideoPlayerConfiguration from './models/OpenVideoPlayerConfiguration';\nimport type Product from './models/Product';\nimport type ProductInfoViewConfiguration from './models/ProductInfoViewConfiguration';\nimport type {\n LinkButtonConfiguration,\n ShoppingCTAButtonConfiguration,\n ShoppingCTAButtonText,\n} from './models/ProductInfoViewConfiguration';\nimport type ProductUnit from './models/ProductUnit';\nimport type { ProductPrice, ProductUnitOption } from './models/ProductUnit';\nimport type SDKInitOptions from './models/SDKInitOptions';\nimport type { VideoLaunchBehavior } from './models/SDKInitOptions';\nimport type ShoppingCTAResult from './models/ShoppingCTAResult';\nimport type { StoryBlockConfiguration } from './models/StoryBlockConfiguration';\nimport type { StoryBlockSource } from './models/StoryBlockSource';\nimport type TrackPurchaseParameters from './models/TrackPurchaseParameters';\nimport type VideoFeedConfiguration from './models/VideoFeedConfiguration';\nimport type {\n VideoFeedPadding,\n VideoFeedPlayIconConfiguration,\n VideoFeedTitleConfiguration,\n VideoFeedTitlePosition,\n} from './models/VideoFeedConfiguration';\nimport type { VideoFeedSource } from './models/VideoFeedSource';\nimport type VideoPlaybackDetails from './models/VideoPlaybackDetails';\nimport type { VideoPlayerSize } from './models/VideoPlaybackDetails';\nimport VideoPlaybackEventName from './models/VideoPlaybackEventName';\nimport type { VideoPlayerCompleteAction } from './models/VideoPlayerCompleteAction';\nimport type VideoPlayerConfiguration from './models/VideoPlayerConfiguration';\nimport type {\n VideoPlayerCTADelay,\n VideoPlayerCTADelayType,\n} from './models/VideoPlayerCTADelay';\nimport type { VideoPlayerCTAStyle } from './models/VideoPlayerCTAStyle';\nimport type { VideoPlayerCTAWidth } from './models/VideoPlayerCTAWidth';\nimport type { VideoPlayerStyle } from './models/VideoPlayerStyle';\nimport type {\n CustomClickCartIconCallback,\n CustomClickLinkButtonCallback,\n ShoppingCTACallback,\n UpdateProductDetailsCallback,\n} from './VideoShopping';\nimport VideoShopping from './VideoShopping';\n\nexport default FireworkSDK;\n\nexport {\n AdBadgeConfiguration,\n AdBadgeTextType,\n AdConfiguration,\n AndroidFontInfo,\n CustomClickCartIconCallback,\n CustomClickLinkButtonCallback,\n CustomClickLinkButtonEvent,\n CustomCTAClickCallback,\n CustomCTAClickEvent,\n FeedItemDetails,\n FireworkSDK,\n FWError,\n FWNavigator,\n GradientDrawable,\n GradientDrawableOrientation,\n IOSFontInfo,\n IOSSystemFontStyle,\n IOSSystemFontWeight,\n IStoryBlockMethods,\n IStoryBlockProps,\n IVideoFeedProps,\n LinkButtonConfiguration,\n LiveStream,\n LiveStreamChatEvent,\n LiveStreamChatEventName,\n LiveStreamEvent,\n LiveStreamEventDetails,\n LiveStreamEventName,\n LiveStreamMessageDetails,\n onLiveStreamChatEventCallback,\n onLiveStreamEventCallback,\n OpenVideoPlayerConfiguration,\n Product,\n ProductInfoViewConfiguration,\n ProductPrice,\n ProductUnit,\n ProductUnitOption,\n SDKInitCallback,\n SDKInitEvent,\n SDKInitOptions,\n ShoppingCTAButtonConfiguration,\n ShoppingCTAButtonText,\n ShoppingCTACallback,\n ShoppingCTAEvent,\n ShoppingCTAResult,\n StoryBlock,\n StoryBlockConfiguration,\n StoryBlockSource,\n TrackPurchaseParameters,\n UpdateProductDetailsCallback,\n UpdateProductDetailsEvent,\n VastAttribute,\n VideoFeed,\n VideoFeedClickCallback,\n VideoFeedClickEvent,\n VideoFeedConfiguration,\n VideoFeedMode,\n VideoFeedPadding,\n VideoFeedPlayIconConfiguration,\n VideoFeedSource,\n VideoFeedTitleConfiguration,\n VideoFeedTitlePosition,\n VideoLaunchBehavior,\n VideoPlaybackCallback,\n VideoPlaybackDetails,\n VideoPlaybackEvent,\n VideoPlaybackEventName,\n VideoPlayerCompleteAction,\n VideoPlayerConfiguration,\n VideoPlayerCTADelay,\n VideoPlayerCTADelayType,\n VideoPlayerCTAStyle,\n VideoPlayerCTAWidth,\n VideoPlayerSize,\n VideoPlayerStyle,\n VideoShopping,\n};\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","sourcesContent":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","sourcesContent":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","sourcesContent":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["FireworkSDKModule.ts"],"names":["NativeEventEmitter","NativeModules","LINKING_ERROR","FireworkSDKModule","FireworkSDK","Proxy","get","Error","FireworkSDKModuleEventEmitter"],"mappings":"AAAA,SAASA,kBAAT,EAA2CC,aAA3C,QAAgE,cAAhE;AAEA,SAASC,aAAT,QAA8B,6BAA9B;AAMA,MAAMC,iBAAiB,GAAGF,aAAa,CAACG,WAAd,GACtBH,aAAa,CAACG,WADQ,GAEtB,IAAIC,KAAJ,CACE,EADF,EAEE;AACEC,EAAAA,GAAG,GAAG;AACJ,UAAM,IAAIC,KAAJ,CAAUL,aAAV,CAAN;AACD;;AAHH,CAFF,CAFJ;AAsBA,MAAMM,6BAA6B,GAAG,IAAIR,kBAAJ,CAAuBG,iBAAvB,CAAtC;AACA,SAASK,6BAAT;AACA,eAAeL,iBAAf","sourcesContent":["import { NativeEventEmitter, NativeModule, NativeModules } from 'react-native';\n\nimport { LINKING_ERROR } from '../constants/FWErrorMessage';\nimport type AdBadgeConfiguration from '../models/AdBadgeConfiguration';\nimport type SDKInitOptions from '../models/SDKInitOptions';\nimport type TrackPurchaseParameters from '../models/TrackPurchaseParameters';\nimport type
|
|
1
|
+
{"version":3,"sources":["FireworkSDKModule.ts"],"names":["NativeEventEmitter","NativeModules","LINKING_ERROR","FireworkSDKModule","FireworkSDK","Proxy","get","Error","FireworkSDKModuleEventEmitter"],"mappings":"AAAA,SAASA,kBAAT,EAA2CC,aAA3C,QAAgE,cAAhE;AAEA,SAASC,aAAT,QAA8B,6BAA9B;AAMA,MAAMC,iBAAiB,GAAGF,aAAa,CAACG,WAAd,GACtBH,aAAa,CAACG,WADQ,GAEtB,IAAIC,KAAJ,CACE,EADF,EAEE;AACEC,EAAAA,GAAG,GAAG;AACJ,UAAM,IAAIC,KAAJ,CAAUL,aAAV,CAAN;AACD;;AAHH,CAFF,CAFJ;AAsBA,MAAMM,6BAA6B,GAAG,IAAIR,kBAAJ,CAAuBG,iBAAvB,CAAtC;AACA,SAASK,6BAAT;AACA,eAAeL,iBAAf","sourcesContent":["import { NativeEventEmitter, NativeModule, NativeModules } from 'react-native';\n\nimport { LINKING_ERROR } from '../constants/FWErrorMessage';\nimport type AdBadgeConfiguration from '../models/AdBadgeConfiguration';\nimport type SDKInitOptions from '../models/SDKInitOptions';\nimport type TrackPurchaseParameters from '../models/TrackPurchaseParameters';\nimport type VideoPlayerNativeConfiguration from '../models/VideoPlayerNativeConfiguration';\n\nconst FireworkSDKModule = NativeModules.FireworkSDK\n ? NativeModules.FireworkSDK\n : new Proxy(\n {},\n {\n get() {\n throw new Error(LINKING_ERROR);\n },\n }\n );\n\ninterface IFireworkSDKModule extends NativeModule {\n init(options?: SDKInitOptions): Promise<any>;\n openVideoPlayer(url: string, config?: VideoPlayerNativeConfiguration): void;\n setCustomCTAClickEnabled(enabled: boolean): void;\n setShareBaseURL(url?: string): Promise<any>;\n setVideoPlaybackEventEnabled(enabled: boolean): void;\n setAdBadgeConfiguration(config?: AdBadgeConfiguration): Promise<any>;\n trackPurchase(parameters: TrackPurchaseParameters): void;\n changeAppLanguage(language?: string | null): Promise<boolean>;\n}\n\nconst FireworkSDKModuleEventEmitter = new NativeEventEmitter(FireworkSDKModule);\nexport { FireworkSDKModuleEventEmitter };\nexport default FireworkSDKModule as IFireworkSDKModule;\n"]}
|
|
@@ -5,8 +5,8 @@ import type { CustomCTAClickEvent, SDKInitEvent, VideoFeedClickEvent, VideoPlayb
|
|
|
5
5
|
import type SDKInitOptions from './models/SDKInitOptions';
|
|
6
6
|
import type { VideoLaunchBehavior } from './models/SDKInitOptions';
|
|
7
7
|
import type TrackPurchaseParameters from './models/TrackPurchaseParameters';
|
|
8
|
-
import type VideoPlayerConfiguration from './models/VideoPlayerConfiguration';
|
|
9
8
|
import VideoShopping from './VideoShopping';
|
|
9
|
+
import type OpenVideoPlayerConfiguration from './models/OpenVideoPlayerConfiguration';
|
|
10
10
|
export type SDKInitCallback = (event: SDKInitEvent) => Promise<void> | void;
|
|
11
11
|
export type CustomCTAClickCallback = (event: CustomCTAClickEvent) => Promise<void> | void;
|
|
12
12
|
export type VideoPlaybackCallback = (event: VideoPlaybackEvent) => Promise<void> | void;
|
|
@@ -94,7 +94,7 @@ declare class FireworkSDK {
|
|
|
94
94
|
* @param {string} url
|
|
95
95
|
* @param {VideoPlayerConfiguration} config
|
|
96
96
|
*/
|
|
97
|
-
openVideoPlayer(url: string, config?:
|
|
97
|
+
openVideoPlayer(url: string, config?: OpenVideoPlayerConfiguration): Promise<void>;
|
|
98
98
|
/**
|
|
99
99
|
* Records the user purchase. Only supported on iOS.
|
|
100
100
|
* @param {TrackPurchaseParameters} parameters
|
|
@@ -47,10 +47,18 @@ export interface IStoryBlockProps {
|
|
|
47
47
|
* Non-UTF-8 characters are not allowed. If using boolean predicates, the expression needs to be wrapped with parenthesis.
|
|
48
48
|
*/
|
|
49
49
|
hashtagFilterExpression?: string;
|
|
50
|
+
/**
|
|
51
|
+
* Product ids used to generate the sku feed
|
|
52
|
+
*/
|
|
53
|
+
productIds?: string[];
|
|
50
54
|
/**
|
|
51
55
|
* Specifies if Picture in Picture is enabled. Only supported on iOS.
|
|
52
56
|
*/
|
|
53
57
|
enablePictureInPicture?: boolean;
|
|
58
|
+
/**
|
|
59
|
+
* The corner radius of story block.
|
|
60
|
+
*/
|
|
61
|
+
cornerRadius?: number;
|
|
54
62
|
/**
|
|
55
63
|
* Ad configuration of the feed. Only supported on iOS.
|
|
56
64
|
*/
|
|
@@ -15,7 +15,8 @@ export interface IVideoFeedProps {
|
|
|
15
15
|
*/
|
|
16
16
|
style?: StyleProp<ViewStyle>;
|
|
17
17
|
/**
|
|
18
|
-
* One of five available video feed sources.The playlistGroup is only supported on iOS
|
|
18
|
+
* One of five available video feed sources.The playlistGroup is only supported on iOS.
|
|
19
|
+
* Defaults to discover.
|
|
19
20
|
*/
|
|
20
21
|
source: VideoFeedSource;
|
|
21
22
|
/**
|
|
@@ -41,8 +42,13 @@ export interface IVideoFeedProps {
|
|
|
41
42
|
* Queries are specified with boolean predicates on what hashtags are there on the video.
|
|
42
43
|
* For instance, (and sport food) (or sport food) (and sport (or food comedy)) sport are all valid expressions.
|
|
43
44
|
* Non-UTF-8 characters are not allowed. If using boolean predicates, the expression needs to be wrapped with parenthesis.
|
|
45
|
+
* Required when the source is set as hashtagPlaylist.
|
|
44
46
|
*/
|
|
45
47
|
hashtagFilterExpression?: string;
|
|
48
|
+
/**
|
|
49
|
+
* Product ids used to generate the sku feed
|
|
50
|
+
*/
|
|
51
|
+
productIds?: string[];
|
|
46
52
|
/**
|
|
47
53
|
* One of three available display modes. Defaults to row.
|
|
48
54
|
*/
|
|
@@ -101,5 +107,6 @@ declare class VideoFeed extends React.Component<IVideoFeedProps, IVideoFeedState
|
|
|
101
107
|
private _generateDynamicContentParametersString;
|
|
102
108
|
private _generateVastAttributesString;
|
|
103
109
|
private _getVideoFeedConfiguration;
|
|
110
|
+
private _getVideoPlayerConfiguration;
|
|
104
111
|
}
|
|
105
112
|
export default VideoFeed;
|
|
@@ -23,6 +23,7 @@ import LiveStreamChatEventName from './models/LiveStreamChatEventName';
|
|
|
23
23
|
import type LiveStreamEventDetails from './models/LiveStreamEventDetails';
|
|
24
24
|
import LiveStreamEventName from './models/LiveStreamEventName';
|
|
25
25
|
import type LiveStreamMessageDetails from './models/LiveStreamMessageDetails';
|
|
26
|
+
import type OpenVideoPlayerConfiguration from './models/OpenVideoPlayerConfiguration';
|
|
26
27
|
import type Product from './models/Product';
|
|
27
28
|
import type ProductInfoViewConfiguration from './models/ProductInfoViewConfiguration';
|
|
28
29
|
import type { LinkButtonConfiguration, ShoppingCTAButtonConfiguration, ShoppingCTAButtonText } from './models/ProductInfoViewConfiguration';
|
|
@@ -49,4 +50,4 @@ import type { VideoPlayerStyle } from './models/VideoPlayerStyle';
|
|
|
49
50
|
import type { CustomClickCartIconCallback, CustomClickLinkButtonCallback, ShoppingCTACallback, UpdateProductDetailsCallback } from './VideoShopping';
|
|
50
51
|
import VideoShopping from './VideoShopping';
|
|
51
52
|
export default FireworkSDK;
|
|
52
|
-
export { AdBadgeConfiguration, AdBadgeTextType, AdConfiguration, AndroidFontInfo, CustomClickCartIconCallback, CustomClickLinkButtonCallback, CustomClickLinkButtonEvent, CustomCTAClickCallback, CustomCTAClickEvent, FeedItemDetails, FireworkSDK, FWError, FWNavigator, GradientDrawable, GradientDrawableOrientation, IOSFontInfo, IOSSystemFontStyle, IOSSystemFontWeight, IStoryBlockMethods, IStoryBlockProps, IVideoFeedProps, LinkButtonConfiguration, LiveStream, LiveStreamChatEvent, LiveStreamChatEventName, LiveStreamEvent, LiveStreamEventDetails, LiveStreamEventName, LiveStreamMessageDetails, onLiveStreamChatEventCallback, onLiveStreamEventCallback, Product, ProductInfoViewConfiguration, ProductPrice, ProductUnit, ProductUnitOption, SDKInitCallback, SDKInitEvent, SDKInitOptions, ShoppingCTAButtonConfiguration, ShoppingCTAButtonText, ShoppingCTACallback, ShoppingCTAEvent, ShoppingCTAResult, StoryBlock, StoryBlockConfiguration, StoryBlockSource, TrackPurchaseParameters, UpdateProductDetailsCallback, UpdateProductDetailsEvent, VastAttribute, VideoFeed, VideoFeedClickCallback, VideoFeedClickEvent, VideoFeedConfiguration, VideoFeedMode, VideoFeedPadding, VideoFeedPlayIconConfiguration, VideoFeedSource, VideoFeedTitleConfiguration, VideoFeedTitlePosition, VideoLaunchBehavior, VideoPlaybackCallback, VideoPlaybackDetails, VideoPlaybackEvent, VideoPlaybackEventName, VideoPlayerCompleteAction, VideoPlayerConfiguration, VideoPlayerCTADelay, VideoPlayerCTADelayType, VideoPlayerCTAStyle, VideoPlayerCTAWidth, VideoPlayerSize, VideoPlayerStyle, VideoShopping, };
|
|
53
|
+
export { AdBadgeConfiguration, AdBadgeTextType, AdConfiguration, AndroidFontInfo, CustomClickCartIconCallback, CustomClickLinkButtonCallback, CustomClickLinkButtonEvent, CustomCTAClickCallback, CustomCTAClickEvent, FeedItemDetails, FireworkSDK, FWError, FWNavigator, GradientDrawable, GradientDrawableOrientation, IOSFontInfo, IOSSystemFontStyle, IOSSystemFontWeight, IStoryBlockMethods, IStoryBlockProps, IVideoFeedProps, LinkButtonConfiguration, LiveStream, LiveStreamChatEvent, LiveStreamChatEventName, LiveStreamEvent, LiveStreamEventDetails, LiveStreamEventName, LiveStreamMessageDetails, onLiveStreamChatEventCallback, onLiveStreamEventCallback, OpenVideoPlayerConfiguration, Product, ProductInfoViewConfiguration, ProductPrice, ProductUnit, ProductUnitOption, SDKInitCallback, SDKInitEvent, SDKInitOptions, ShoppingCTAButtonConfiguration, ShoppingCTAButtonText, ShoppingCTACallback, ShoppingCTAEvent, ShoppingCTAResult, StoryBlock, StoryBlockConfiguration, StoryBlockSource, TrackPurchaseParameters, UpdateProductDetailsCallback, UpdateProductDetailsEvent, VastAttribute, VideoFeed, VideoFeedClickCallback, VideoFeedClickEvent, VideoFeedConfiguration, VideoFeedMode, VideoFeedPadding, VideoFeedPlayIconConfiguration, VideoFeedSource, VideoFeedTitleConfiguration, VideoFeedTitlePosition, VideoLaunchBehavior, VideoPlaybackCallback, VideoPlaybackDetails, VideoPlaybackEvent, VideoPlaybackEventName, VideoPlayerCompleteAction, VideoPlayerConfiguration, VideoPlayerCTADelay, VideoPlayerCTADelayType, VideoPlayerCTAStyle, VideoPlayerCTAWidth, VideoPlayerSize, VideoPlayerStyle, VideoShopping, };
|
|
@@ -3,14 +3,17 @@ export type AdBadgeTextType = 'ad' | 'sponsored';
|
|
|
3
3
|
export default interface AdBadgeConfiguration {
|
|
4
4
|
/**
|
|
5
5
|
* The text type of the ad badge.
|
|
6
|
+
* Defaults to sponsored.
|
|
6
7
|
*/
|
|
7
8
|
badgeTextType?: AdBadgeTextType;
|
|
8
9
|
/**
|
|
9
10
|
* The background color of the ad badge.
|
|
11
|
+
* Defaults to #000000 on iOS. Defaults to #5178EE with alpha is 96.5% on Android.
|
|
10
12
|
*/
|
|
11
13
|
backgroundColor?: string;
|
|
12
14
|
/**
|
|
13
15
|
* The color of the ad badge text.
|
|
16
|
+
* Defaults to #ffffff.
|
|
14
17
|
*/
|
|
15
18
|
textColor?: string;
|
|
16
19
|
/**
|