react-native-firework-sdk 2.14.2 → 2.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (75) hide show
  1. package/android/gradle.properties +1 -1
  2. package/android/src/main/java/com/fireworksdk/bridge/components/storyblock/StoryBlockFragment.kt +14 -4
  3. package/android/src/main/java/com/fireworksdk/bridge/models/FWActionButtonDeserializer.kt +27 -0
  4. package/android/src/main/java/com/fireworksdk/bridge/models/FWActionButtonModel.kt +8 -0
  5. package/android/src/main/java/com/fireworksdk/bridge/models/FWActionButtonSerializer.kt +21 -0
  6. package/android/src/main/java/com/fireworksdk/bridge/models/FWLiveStreamEventDetailsModel.kt +2 -0
  7. package/android/src/main/java/com/fireworksdk/bridge/models/FWPlayerButtonConfigurationDeserializer.kt +3 -0
  8. package/android/src/main/java/com/fireworksdk/bridge/models/FWPlayerButtonConfigurationModel.kt +1 -0
  9. package/android/src/main/java/com/fireworksdk/bridge/models/FWPlayerButtonConfigurationSerializer.kt +2 -0
  10. package/android/src/main/java/com/fireworksdk/bridge/models/FWShape.kt +18 -0
  11. package/android/src/main/java/com/fireworksdk/bridge/models/FWVideoFeedItemDetailsModel.kt +2 -0
  12. package/android/src/main/java/com/fireworksdk/bridge/models/FWVideoPlaybackDetails.kt +2 -0
  13. package/android/src/main/java/com/fireworksdk/bridge/models/FWVideoPlayerConfigModel.kt +6 -0
  14. package/android/src/main/java/com/fireworksdk/bridge/models/FWVideoPlayerConfigModelDeserializer.kt +23 -1
  15. package/android/src/main/java/com/fireworksdk/bridge/models/FWVideoPlayerConfigModelSerializer.kt +14 -0
  16. package/android/src/main/java/com/fireworksdk/bridge/models/enums/FWEventName.kt +3 -1
  17. package/android/src/main/java/com/fireworksdk/bridge/models/enums/FWLivestreamPlayerVersion.kt +6 -0
  18. package/android/src/main/java/com/fireworksdk/bridge/reactnative/manager/FWVideoFeedManager.kt +4 -0
  19. package/android/src/main/java/com/fireworksdk/bridge/reactnative/models/FireworkSDKInterface.kt +1 -0
  20. package/android/src/main/java/com/fireworksdk/bridge/reactnative/module/FWVideoShoppingModule.kt +3 -3
  21. package/android/src/main/java/com/fireworksdk/bridge/reactnative/module/FireworkSDKModule.kt +14 -0
  22. package/android/src/main/java/com/fireworksdk/bridge/utils/FWConfigUtil.kt +156 -3
  23. package/android/src/main/java/com/fireworksdk/bridge/utils/FWGlobalDataUtil.kt +6 -0
  24. package/android/src/main/java/com/fireworksdk/bridge/utils/FWModelUtils.kt +32 -0
  25. package/ios/Components/StoryBlock.swift +10 -2
  26. package/ios/Components/VideoFeed.swift +12 -29
  27. package/ios/Components/VideoFeedManager.swift +0 -5
  28. package/ios/Models/NativeToRN/FireworkEventName.swift +3 -1
  29. package/ios/Models/RNToNative/RCTConvert+FireworkSDKModule.swift +13 -0
  30. package/ios/Modules/FireworkSDKModule/FireworkSDKModule+EventTracking.swift +42 -5
  31. package/ios/Modules/FireworkSDKModule/FireworkSDKModule.m +2 -1
  32. package/ios/Modules/FireworkSDKModule/FireworkSDKModule.swift +16 -0
  33. package/ios/Modules/Shopping/ShoppingModule.swift +1 -1
  34. package/lib/commonjs/FireworkSDK.js +41 -14
  35. package/lib/commonjs/FireworkSDK.js.map +1 -1
  36. package/lib/commonjs/components/StoryBlock.js +21 -0
  37. package/lib/commonjs/components/StoryBlock.js.map +1 -1
  38. package/lib/commonjs/components/VideoFeed.js +23 -0
  39. package/lib/commonjs/components/VideoFeed.js.map +1 -1
  40. package/lib/commonjs/index.js +8 -0
  41. package/lib/commonjs/index.js.map +1 -1
  42. package/lib/commonjs/models/FWEventName.js +2 -0
  43. package/lib/commonjs/models/FWEventName.js.map +1 -1
  44. package/lib/commonjs/models/LivestreamPlayerDesignVersion.js +16 -0
  45. package/lib/commonjs/models/LivestreamPlayerDesignVersion.js.map +1 -0
  46. package/lib/commonjs/modules/FireworkSDKModule.js.map +1 -1
  47. package/lib/module/FireworkSDK.js +38 -14
  48. package/lib/module/FireworkSDK.js.map +1 -1
  49. package/lib/module/components/StoryBlock.js +14 -0
  50. package/lib/module/components/StoryBlock.js.map +1 -1
  51. package/lib/module/components/VideoFeed.js +18 -0
  52. package/lib/module/components/VideoFeed.js.map +1 -1
  53. package/lib/module/index.js +2 -1
  54. package/lib/module/index.js.map +1 -1
  55. package/lib/module/models/FWEventName.js +2 -0
  56. package/lib/module/models/FWEventName.js.map +1 -1
  57. package/lib/module/models/LivestreamPlayerDesignVersion.js +9 -0
  58. package/lib/module/models/LivestreamPlayerDesignVersion.js.map +1 -0
  59. package/lib/module/modules/FireworkSDKModule.js.map +1 -1
  60. package/lib/typescript/FireworkSDK.d.ts +9 -2
  61. package/lib/typescript/index.d.ts +2 -1
  62. package/lib/typescript/models/FWEventName.d.ts +3 -1
  63. package/lib/typescript/models/LivestreamPlayerDesignVersion.d.ts +5 -0
  64. package/lib/typescript/models/StoryBlockConfiguration.d.ts +2 -7
  65. package/lib/typescript/modules/FireworkSDKModule.d.ts +3 -1
  66. package/package.json +1 -1
  67. package/react-native-firework-sdk.podspec +2 -2
  68. package/src/FireworkSDK.ts +44 -13
  69. package/src/components/StoryBlock.tsx +27 -1
  70. package/src/components/VideoFeed.tsx +29 -1
  71. package/src/index.ts +2 -0
  72. package/src/models/FWEventName.ts +2 -0
  73. package/src/models/LivestreamPlayerDesignVersion.ts +6 -0
  74. package/src/models/StoryBlockConfiguration.ts +2 -7
  75. package/src/modules/FireworkSDKModule.ts +5 -1
@@ -225,6 +225,8 @@ const StoryBlock = (props, forwardedRef) => {
225
225
  const textColorOfAdBadge = adBadgeConfiguration === null || adBadgeConfiguration === void 0 ? void 0 : adBadgeConfiguration.textColor;
226
226
  const androidFontIsCustomOfAdBadge = adBadgeConfiguration === null || adBadgeConfiguration === void 0 ? void 0 : (_adBadgeConfiguration = adBadgeConfiguration.androidFontInfo) === null || _adBadgeConfiguration === void 0 ? void 0 : _adBadgeConfiguration.isCustom;
227
227
  const androidFontTypefaceNameOfAdBadge = adBadgeConfiguration === null || adBadgeConfiguration === void 0 ? void 0 : (_adBadgeConfiguration2 = adBadgeConfiguration.androidFontInfo) === null || _adBadgeConfiguration2 === void 0 ? void 0 : _adBadgeConfiguration2.typefaceName;
228
+ const dataTrackingLevel = FireworkSDK.getInstance().dataTrackingLevel;
229
+ const livestreamPlayerDesignVersion = FireworkSDK.getInstance().livestreamPlayerDesignVersion;
228
230
  const {
229
231
  source,
230
232
  channel,
@@ -274,6 +276,8 @@ const StoryBlock = (props, forwardedRef) => {
274
276
  key += `_androidFontTypefaceNameOfAdBadge${androidFontTypefaceNameOfAdBadge}`;
275
277
  }
276
278
 
279
+ key += `_dataTrackingLevel:${dataTrackingLevel}`;
280
+ key += `_livestreamPlayerDesignVersion:${livestreamPlayerDesignVersion}`;
277
281
  key += `_source:${source}`;
278
282
  key += `_channel:${channel}`;
279
283
  key += `_playlist:${playlist}`;
@@ -384,12 +388,22 @@ const StoryBlock = (props, forwardedRef) => {
384
388
  FWLoggerUtil.log('Receive FWEventName.ProductInfoViewConfigurationUpdated');
385
389
  forceUpdate();
386
390
  });
391
+ const subscriptionOfDataTrackingLevelUpdated = FireworkSDKModuleEventEmitter.addListener(FWEventName.DataTrackingLevelUpdated, () => {
392
+ FWLoggerUtil.log('Receive FWEventName.DataTrackingLevelUpdated');
393
+ forceUpdate();
394
+ });
395
+ const subscriptionOfLivestreamPlayerDesignVersionUpdated = FireworkSDKModuleEventEmitter.addListener(FWEventName.LivestreamPlayerDesignVersionUpdated, () => {
396
+ FWLoggerUtil.log('Receive FWEventName.LivestreamPlayerDesignVersionUpdated');
397
+ forceUpdate();
398
+ });
387
399
  return () => {
388
400
  subscriptionOfShareBaseURLUpdated.remove();
389
401
  subscriptionOfAdBadgeConfigurationUpdated.remove();
390
402
  subscriptionOfVideoLaunchBehaviorUpdated.remove();
391
403
  subscriptionOfAppLanguageUpdated.remove();
392
404
  subscriptionOfProductInfoViewConfigurationUpdated.remove();
405
+ subscriptionOfDataTrackingLevelUpdated.remove();
406
+ subscriptionOfLivestreamPlayerDesignVersionUpdated.remove();
393
407
  };
394
408
  }, []);
395
409
  useEffect(() => {
@@ -1 +1 @@
1
- {"version":3,"sources":["StoryBlock.tsx"],"names":["React","forwardRef","useEffect","useImperativeHandle","useReducer","useRef","useState","findNodeHandle","Platform","UIManager","FireworkSDK","FWEventName","FireworkSDKModuleEventEmitter","FWGlobalState","FWLoggerUtil","FWStoryBlock","gennerateJsonKey","FWComponentType","NativeComponentName","StoryBlock","props","forwardedRef","nativeComponentRef","sdkInitCalled","setSdkInitCalled","getInstance","loadedRef","forceUpdate","x","handleStoryBlockLoadFinished","event","log","nativeEvent","name","onStoryBlockLoadFinished","onStoryBlockEmpty","reason","error","current","handleStoryBlockEmpty","handleStoryBlockDidStartPictureInPicture","JSON","stringify","onStoryBlockDidStartPictureInPicture","handleStoryBlockDidStopPictureInPicture","onStoryBlockDidStopPictureInPicture","handleStoryBlockGetFeedId","onStoryBlockGetFeedId","feedId","componentTypeByFeedIdMap","set","storyBlock","generateDynamicContentParametersString","dynamicContentParameters","resultString","sortedKeyList","Object","keys","sort","key","value","valueString","join","length","generateVastAttributesString","adConfiguration","vastAttributes","attribute","generateButtonInfoString","buttonInfo","imageName","systemImageName","tintColor","getStoryBlockConfiguration","storyBlockConfiguration","enablePictureInPicture","resultStoryBlockConfiguration","generateKey","gShareBaseURL","shareBaseURL","appLanguage","videoLaunchBehavior","adBadgeConfiguration","adBadgeTextType","badgeTextType","backgroundColorOfAdBadge","backgroundColor","textColorOfAdBadge","textColor","androidFontIsCustomOfAdBadge","androidFontInfo","isCustom","androidFontTypefaceNameOfAdBadge","typefaceName","source","channel","playlist","hashtagFilterExpression","productIds","contentId","cornerRadius","dynamicContentParametersString","playerStyle","videoCompleteAction","showShareButton","showPlaybackButton","showMuteButton","showBranding","ctaDelayType","ctaDelay","type","ctaDelayValue","toFixed","ctaHighlightDelayType","ctaHighlightDelay","ctaHighlightDelayValue","buttonConfiguration","videoPlayerLogoConfigurationJsonKey","videoPlayerLogoConfiguration","ctaWidth","showVideoDetailTitle","requiresAds","adsFetchTimeout","vastAttributesString","productInfoViewConfigurationJsonKey","shopping","productInfoViewConfiguration","replayBadgeConfigurationJsonKey","replayBadgeConfiguration","countdownTimerConfigurationJsonKey","countdownTimerConfiguration","OS","videoDetailButton","closeButton","muteButton","unmuteButton","playButton","pauseButton","console","sendCommand","command","nativeNodeHandle","commandId","getViewManagerConfig","Commands","toString","reactTag","dispatchViewManagerCommand","play","pause","openFullscreen","onViewportEntered","onViewportLeft","subscriptionOfShareBaseURLUpdated","addListener","ShareBaseURLUpdated","subscriptionOfAdBadgeConfigurationUpdated","AdBadgeConfigurationUpdated","subscriptionOfVideoLaunchBehaviorUpdated","VideoLaunchBehaviorUpdated","subscriptionOfAppLanguageUpdated","AppLanguageUpdated","subscriptionOfProductInfoViewConfigurationUpdated","ProductInfoViewConfigurationUpdated","remove","setTimeout","viewId","create","sdkInitCalledPromise","then","style","otherProps","assign","borderRadius","undefined"],"mappings":"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","sourcesContent":["import type { ForwardRefRenderFunction } from 'react';\nimport React, {\n forwardRef,\n useEffect,\n useImperativeHandle,\n useReducer,\n useRef,\n useState,\n} from 'react';\n\nimport {\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 { StoryBlockConfiguration } from '../models/StoryBlockConfiguration';\nimport type StoryBlockNativeConfiguration from '../models/StoryBlockNativeConfiguration';\nimport type { StoryBlockSource } from '../models/StoryBlockSource';\nimport { FireworkSDKModuleEventEmitter } from '../modules/FireworkSDKModule';\nimport FWGlobalState from '../utils/FWGlobalState';\nimport FWLoggerUtil from '../utils/FWLoggerUtil';\nimport FWStoryBlock from './FWStoryBlock';\nimport type ButtonInfo from '../models/ButtonInfo';\nimport gennerateJsonKey from '../utils/FWJsonUtil';\nimport { FWComponentType } from '../models/FWComponentType';\n\nconst NativeComponentName = 'FWStoryBlock';\n\nexport interface IStoryBlockMethods {\n /**\n * Play the story block.\n */\n play: () => void;\n /**\n * Pause the story block.\n */\n pause: () => void;\n /**\n * Open the fullscreen story block.\n * Only supported on Android.\n */\n openFullscreen: () => void;\n /**\n * Triggered when the story block enters the viewport.\n * Only supported on iOS.\n * It is recommended that the host app is triggered when listening for scrolling.\n */\n onViewportEntered: () => void;\n /**\n * Triggered when the story block leaves the viewport.\n * Only supported on iOS.\n * It is recommended that the host app is triggered when listening for scrolling.\n */\n onViewportLeft: () => void;\n}\n\n/**\n * The props type of StoryBlock component.\n */\nexport interface IStoryBlockProps {\n /**\n * Standard React Native View Style.\n */\n style?: StyleProp<ViewStyle>;\n /**\n * One of four available story block sources.\n */\n source: StoryBlockSource;\n /**\n * Channel id of the story block. Required when the source is set as channel or playlist or dynamicContent.\n */\n channel?: string;\n /**\n * Playlist id of the story block. Please note channel id is necessary. Required when the source is set as playlist.\n */\n playlist?: string;\n /**\n * The dynamic content parameters of the story block. 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 * Product ids used to generate the sku feed\n */\n productIds?: string[];\n /**\n * The video or live stream id.\n */\n contentId?: string;\n /**\n * Specifies if Picture in Picture is enabled. Only supported on iOS.\n */\n enablePictureInPicture?: boolean;\n /**\n * The corner radius of story block.\n */\n cornerRadius?: number;\n /**\n * Ad configuration of the feed.\n */\n adConfiguration?: AdConfiguration;\n\n /* The configuration of the story block. */\n storyBlockConfiguration?: StoryBlockConfiguration;\n /**\n * The feed loading result callback. It means loading successfully when error equals to undefined.\n */\n onStoryBlockLoadFinished?: (error?: FWError) => void;\n /**\n * The callback is triggered when there are no items in the story block.\n * The callback is triggered in the following cases:\n * 1. Loading successfully but the back end returns an empty list.\n * 2. The load failed and list is empty.\n * onStoryBlockLoadFinished will also be triggered when onStoryBlockEmpty is triggered.\n */\n onStoryBlockEmpty?: (error?: FWError) => void;\n /**\n * Start Picture in Picture callback. Only supported on iOS.\n */\n onStoryBlockDidStartPictureInPicture?: (error?: FWError) => void;\n /**\n * Stop Picture in Picture callback. Only supported on iOS.\n */\n onStoryBlockDidStopPictureInPicture?: (error?: FWError) => void;\n /**\n *\n * The host app could use this callback to get feed id.\n * The feed id can be used for conversion tracking.\n */\n onStoryBlockGetFeedId?: (feedId: string) => void;\n}\n\nconst StoryBlock: ForwardRefRenderFunction<\n IStoryBlockMethods,\n IStoryBlockProps\n> = (props: IStoryBlockProps, forwardedRef) => {\n const nativeComponentRef = useRef(null);\n const [sdkInitCalled, setSdkInitCalled] = useState<boolean>(\n FWGlobalState.getInstance().sdkInitCalled\n );\n const loadedRef = useRef<boolean>(false);\n const [, forceUpdate] = useReducer((x) => x + 1, 0);\n\n const handleStoryBlockLoadFinished = (event: NativeSyntheticEvent<any>) => {\n FWLoggerUtil.log(\n `StoryBlock handleStoryBlockLoadFinished ${event.nativeEvent.name}`\n );\n\n const { onStoryBlockLoadFinished, onStoryBlockEmpty } = props;\n const { name, reason } = event.nativeEvent;\n\n if (onStoryBlockLoadFinished) {\n if (name) {\n let error: FWError = { name };\n if (reason) {\n error.reason = reason;\n }\n\n onStoryBlockLoadFinished(error);\n if (!loadedRef.current) {\n onStoryBlockEmpty?.(error);\n }\n } else {\n onStoryBlockLoadFinished();\n loadedRef.current = true;\n }\n }\n };\n\n const handleStoryBlockEmpty = (event: NativeSyntheticEvent<any>) => {\n FWLoggerUtil.log(`StoryBlock handleStoryBlockEmpty ${event.nativeEvent}`);\n\n const { onStoryBlockEmpty } = props;\n\n if (onStoryBlockEmpty) {\n onStoryBlockEmpty();\n }\n };\n\n const handleStoryBlockDidStartPictureInPicture = (\n event: NativeSyntheticEvent<any>\n ) => {\n FWLoggerUtil.log(\n `StoryBlock handleStoryBlockDidStartPictureInPicture ${JSON.stringify(\n event.nativeEvent\n )}`\n );\n const { onStoryBlockDidStartPictureInPicture } = props;\n\n const { name, reason } = event.nativeEvent;\n\n if (onStoryBlockDidStartPictureInPicture) {\n if (name) {\n if (reason) {\n onStoryBlockDidStartPictureInPicture({ name, reason });\n } else {\n onStoryBlockDidStartPictureInPicture({ name });\n }\n } else {\n onStoryBlockDidStartPictureInPicture();\n }\n }\n };\n\n const handleStoryBlockDidStopPictureInPicture = (\n event: NativeSyntheticEvent<any>\n ) => {\n FWLoggerUtil.log(\n `StoryBlock handleStoryBlockDidStopPictureInPicture ${JSON.stringify(\n event.nativeEvent\n )}`\n );\n const { onStoryBlockDidStopPictureInPicture } = props;\n\n const { name, reason } = event.nativeEvent;\n\n if (onStoryBlockDidStopPictureInPicture) {\n if (name) {\n if (reason) {\n onStoryBlockDidStopPictureInPicture({ name, reason });\n } else {\n onStoryBlockDidStopPictureInPicture({ name });\n }\n } else {\n onStoryBlockDidStopPictureInPicture();\n }\n }\n };\n\n const handleStoryBlockGetFeedId = (event: NativeSyntheticEvent<any>) => {\n FWLoggerUtil.log(\n `StoryBlock handleStoryBlockGetFeedId ${JSON.stringify(\n event.nativeEvent\n )}`\n );\n const { onStoryBlockGetFeedId } = props;\n\n const { feedId } = event.nativeEvent;\n\n if (feedId) {\n FWGlobalState.getInstance().componentTypeByFeedIdMap.set(\n feedId,\n FWComponentType.storyBlock\n );\n }\n\n if (onStoryBlockGetFeedId) {\n onStoryBlockGetFeedId(feedId ?? '');\n }\n };\n\n const generateDynamicContentParametersString = (): string => {\n const { dynamicContentParameters } = props;\n\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 const generateVastAttributesString = () => {\n const { adConfiguration } = 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 const generateButtonInfoString = (buttonInfo?: ButtonInfo) => {\n return `imageName:${buttonInfo?.imageName}_systemImageName:${buttonInfo?.systemImageName}_tintColor:${buttonInfo?.tintColor}`;\n };\n\n const getStoryBlockConfiguration: () =>\n | StoryBlockNativeConfiguration\n | undefined = () => {\n const { storyBlockConfiguration, enablePictureInPicture } = props;\n let resultStoryBlockConfiguration:\n | StoryBlockNativeConfiguration\n | undefined = storyBlockConfiguration;\n if (typeof enablePictureInPicture === 'boolean') {\n if (!resultStoryBlockConfiguration) {\n resultStoryBlockConfiguration = {};\n }\n resultStoryBlockConfiguration = {\n ...resultStoryBlockConfiguration,\n enablePictureInPicture,\n };\n }\n return resultStoryBlockConfiguration;\n };\n const storyBlockConfiguration = getStoryBlockConfiguration();\n\n const generateKey = (): string => {\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;\n const androidFontTypefaceNameOfAdBadge =\n adBadgeConfiguration?.androidFontInfo?.typefaceName;\n\n const {\n source,\n channel,\n playlist,\n hashtagFilterExpression,\n productIds,\n contentId,\n enablePictureInPicture,\n cornerRadius,\n adConfiguration,\n } = props;\n const dynamicContentParametersString =\n generateDynamicContentParametersString();\n\n const playerStyle = storyBlockConfiguration?.playerStyle;\n const videoCompleteAction = storyBlockConfiguration?.videoCompleteAction;\n const showShareButton = storyBlockConfiguration?.showShareButton;\n const showPlaybackButton = storyBlockConfiguration?.showPlaybackButton;\n const showMuteButton = storyBlockConfiguration?.showMuteButton;\n const showBranding = storyBlockConfiguration?.showBranding;\n const ctaDelayType = storyBlockConfiguration?.ctaDelay?.type;\n const ctaDelayValue = storyBlockConfiguration?.ctaDelay?.value?.toFixed(5);\n const ctaHighlightDelayType =\n storyBlockConfiguration?.ctaHighlightDelay?.type;\n const ctaHighlightDelayValue =\n storyBlockConfiguration?.ctaHighlightDelay?.value?.toFixed(5);\n const shareBaseURL = storyBlockConfiguration?.shareBaseURL;\n const buttonConfiguration = storyBlockConfiguration?.buttonConfiguration;\n const videoPlayerLogoConfigurationJsonKey = gennerateJsonKey(\n storyBlockConfiguration?.videoPlayerLogoConfiguration\n );\n const ctaWidth = storyBlockConfiguration?.ctaWidth;\n const showVideoDetailTitle = storyBlockConfiguration?.showVideoDetailTitle;\n\n const requiresAds = adConfiguration?.requiresAds;\n const adsFetchTimeout = adConfiguration?.adsFetchTimeout;\n const vastAttributesString = generateVastAttributesString();\n const productInfoViewConfigurationJsonKey = gennerateJsonKey(\n FireworkSDK.getInstance().shopping.productInfoViewConfiguration\n );\n const replayBadgeConfigurationJsonKey = gennerateJsonKey(\n storyBlockConfiguration?.replayBadgeConfiguration\n );\n const countdownTimerConfigurationJsonKey = gennerateJsonKey(\n storyBlockConfiguration?.countdownTimerConfiguration\n );\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 += `_dynamicContentParameters:${dynamicContentParametersString}`;\n key += `_hashtagFilterExpression:${hashtagFilterExpression}`;\n key += `productIds:${productIds?.join(',')}`;\n key += `_contentId:${contentId}`;\n key += `_enablePictureInPicture:${enablePictureInPicture}`;\n key += `_cornerRadius:${cornerRadius}`;\n\n key += `_shareBaseURL:${shareBaseURL}`;\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 key += `_buttonConfiguration.videoDetailButton:${generateButtonInfoString(\n buttonConfiguration?.videoDetailButton\n )}`;\n key += `_buttonConfiguration.closeButton:${generateButtonInfoString(\n buttonConfiguration?.closeButton\n )}`;\n key += `_buttonConfiguration.muteButton:${generateButtonInfoString(\n buttonConfiguration?.muteButton\n )}`;\n key += `_buttonConfiguration.unmuteButton:${generateButtonInfoString(\n buttonConfiguration?.unmuteButton\n )}`;\n key += `_buttonConfiguration.playButton:${generateButtonInfoString(\n buttonConfiguration?.playButton\n )}`;\n key += `_buttonConfiguration.pauseButton:${generateButtonInfoString(\n buttonConfiguration?.pauseButton\n )}`;\n if (Platform.OS === 'android') {\n key += `_videoPlayerLogoConfiguration:${videoPlayerLogoConfigurationJsonKey}`;\n }\n key += `_showVideoDetailTitle:${showVideoDetailTitle}`;\n\n key += `_requiresAds:${requiresAds}`;\n key += `_adsFetchTimeout:${adsFetchTimeout}`;\n key += `_vastAttributes:${vastAttributesString}`;\n key += `_productInfoViewConfiguration:${productInfoViewConfigurationJsonKey}`;\n key += `_replayBadgeConfiguration:${replayBadgeConfigurationJsonKey}`;\n key += `_countdownTimerConfiguration:${countdownTimerConfigurationJsonKey}`;\n\n return key;\n };\n\n const key = generateKey();\n\n console.log('story block key', key);\n\n useImperativeHandle(\n forwardedRef,\n () => {\n const sendCommand = (command: string) => {\n const nativeNodeHandle = findNodeHandle(nativeComponentRef.current);\n\n let commandId: string | number =\n UIManager.getViewManagerConfig(NativeComponentName).Commands[command];\n if (Platform.OS === 'android') {\n commandId = commandId.toString();\n }\n let reactTag: number | null = findNodeHandle(nativeNodeHandle);\n FWLoggerUtil.log(\n `StoryBlock sendCommand: ${command} commandId: ${commandId} nativeNodeHandle: ${nativeNodeHandle} reactTag: ${reactTag}`\n );\n if (!nativeNodeHandle || !reactTag) {\n return;\n }\n UIManager.dispatchViewManagerCommand(reactTag, commandId, []);\n };\n return {\n play: () => {\n sendCommand('play');\n },\n pause: () => {\n sendCommand('pause');\n },\n openFullscreen: () => {\n sendCommand('openFullscreen');\n },\n onViewportEntered: () => {\n if (Platform.OS !== 'ios') {\n return;\n }\n sendCommand('onViewportEntered');\n },\n onViewportLeft: () => {\n if (Platform.OS !== 'ios') {\n return;\n }\n sendCommand('onViewportLeft');\n },\n };\n },\n []\n );\n\n useEffect(() => {\n const subscriptionOfShareBaseURLUpdated =\n FireworkSDKModuleEventEmitter.addListener(\n FWEventName.ShareBaseURLUpdated,\n () => {\n FWLoggerUtil.log('Receive FWEventName.ShareBaseURLUpdated');\n forceUpdate();\n }\n );\n const subscriptionOfAdBadgeConfigurationUpdated =\n FireworkSDKModuleEventEmitter.addListener(\n FWEventName.AdBadgeConfigurationUpdated,\n () => {\n FWLoggerUtil.log('Receive FWEventName.AdBadgeConfigurationUpdated');\n forceUpdate();\n }\n );\n\n const subscriptionOfVideoLaunchBehaviorUpdated =\n FireworkSDKModuleEventEmitter.addListener(\n FWEventName.VideoLaunchBehaviorUpdated,\n () => {\n FWLoggerUtil.log('Receive FWEventName.VideoLaunchBehaviorUpdated');\n forceUpdate();\n }\n );\n\n const subscriptionOfAppLanguageUpdated =\n FireworkSDKModuleEventEmitter.addListener(\n FWEventName.AppLanguageUpdated,\n () => {\n FWLoggerUtil.log('Receive FWEventName.AppLanguageUpdated');\n forceUpdate();\n }\n );\n\n const subscriptionOfProductInfoViewConfigurationUpdated =\n FireworkSDKModuleEventEmitter.addListener(\n FWEventName.ProductInfoViewConfigurationUpdated,\n () => {\n FWLoggerUtil.log(\n 'Receive FWEventName.ProductInfoViewConfigurationUpdated'\n );\n forceUpdate();\n }\n );\n\n return () => {\n subscriptionOfShareBaseURLUpdated.remove();\n subscriptionOfAdBadgeConfigurationUpdated.remove();\n subscriptionOfVideoLaunchBehaviorUpdated.remove();\n subscriptionOfAppLanguageUpdated.remove();\n subscriptionOfProductInfoViewConfigurationUpdated.remove();\n };\n }, []);\n\n useEffect(() => {\n if (Platform.OS === 'android') {\n setTimeout(() => {\n const viewId = findNodeHandle(nativeComponentRef.current);\n FWLoggerUtil.log(`StoryBlock createFragment viewId: ${viewId}`);\n if (!viewId) {\n return;\n }\n UIManager.dispatchViewManagerCommand(\n viewId,\n UIManager.getViewManagerConfig(\n NativeComponentName\n ).Commands.create.toString(),\n [viewId]\n );\n }, 500);\n }\n }, [key]);\n\n useEffect(() => {\n FWGlobalState.getInstance().sdkInitCalledPromise.then(() => {\n setSdkInitCalled(true);\n });\n }, []);\n\n if (!sdkInitCalled) {\n return null;\n }\n const { style, cornerRadius, ...otherProps } = props;\n return (\n <FWStoryBlock\n ref={nativeComponentRef}\n key={key}\n {...otherProps}\n cornerRadius={cornerRadius}\n style={Object.assign({ borderRadius: cornerRadius }, style)}\n storyBlockConfiguration={storyBlockConfiguration}\n enablePictureInPicture={undefined}\n onStoryBlockLoadFinished={handleStoryBlockLoadFinished}\n onStoryBlockEmpty={handleStoryBlockEmpty}\n onStoryBlockDidStartPictureInPicture={\n handleStoryBlockDidStartPictureInPicture\n }\n onStoryBlockDidStopPictureInPicture={\n handleStoryBlockDidStopPictureInPicture\n }\n onStoryBlockGetFeedId={handleStoryBlockGetFeedId}\n />\n );\n};\n\nexport default forwardRef(StoryBlock);\n"]}
1
+ {"version":3,"sources":["StoryBlock.tsx"],"names":["React","forwardRef","useEffect","useImperativeHandle","useReducer","useRef","useState","findNodeHandle","Platform","UIManager","FireworkSDK","FWEventName","FireworkSDKModuleEventEmitter","FWGlobalState","FWLoggerUtil","FWStoryBlock","gennerateJsonKey","FWComponentType","NativeComponentName","StoryBlock","props","forwardedRef","nativeComponentRef","sdkInitCalled","setSdkInitCalled","getInstance","loadedRef","forceUpdate","x","handleStoryBlockLoadFinished","event","log","nativeEvent","name","onStoryBlockLoadFinished","onStoryBlockEmpty","reason","error","current","handleStoryBlockEmpty","handleStoryBlockDidStartPictureInPicture","JSON","stringify","onStoryBlockDidStartPictureInPicture","handleStoryBlockDidStopPictureInPicture","onStoryBlockDidStopPictureInPicture","handleStoryBlockGetFeedId","onStoryBlockGetFeedId","feedId","componentTypeByFeedIdMap","set","storyBlock","generateDynamicContentParametersString","dynamicContentParameters","resultString","sortedKeyList","Object","keys","sort","key","value","valueString","join","length","generateVastAttributesString","adConfiguration","vastAttributes","attribute","generateButtonInfoString","buttonInfo","imageName","systemImageName","tintColor","getStoryBlockConfiguration","storyBlockConfiguration","enablePictureInPicture","resultStoryBlockConfiguration","generateKey","gShareBaseURL","shareBaseURL","appLanguage","videoLaunchBehavior","adBadgeConfiguration","adBadgeTextType","badgeTextType","backgroundColorOfAdBadge","backgroundColor","textColorOfAdBadge","textColor","androidFontIsCustomOfAdBadge","androidFontInfo","isCustom","androidFontTypefaceNameOfAdBadge","typefaceName","dataTrackingLevel","livestreamPlayerDesignVersion","source","channel","playlist","hashtagFilterExpression","productIds","contentId","cornerRadius","dynamicContentParametersString","playerStyle","videoCompleteAction","showShareButton","showPlaybackButton","showMuteButton","showBranding","ctaDelayType","ctaDelay","type","ctaDelayValue","toFixed","ctaHighlightDelayType","ctaHighlightDelay","ctaHighlightDelayValue","buttonConfiguration","videoPlayerLogoConfigurationJsonKey","videoPlayerLogoConfiguration","ctaWidth","showVideoDetailTitle","requiresAds","adsFetchTimeout","vastAttributesString","productInfoViewConfigurationJsonKey","shopping","productInfoViewConfiguration","replayBadgeConfigurationJsonKey","replayBadgeConfiguration","countdownTimerConfigurationJsonKey","countdownTimerConfiguration","OS","videoDetailButton","closeButton","muteButton","unmuteButton","playButton","pauseButton","console","sendCommand","command","nativeNodeHandle","commandId","getViewManagerConfig","Commands","toString","reactTag","dispatchViewManagerCommand","play","pause","openFullscreen","onViewportEntered","onViewportLeft","subscriptionOfShareBaseURLUpdated","addListener","ShareBaseURLUpdated","subscriptionOfAdBadgeConfigurationUpdated","AdBadgeConfigurationUpdated","subscriptionOfVideoLaunchBehaviorUpdated","VideoLaunchBehaviorUpdated","subscriptionOfAppLanguageUpdated","AppLanguageUpdated","subscriptionOfProductInfoViewConfigurationUpdated","ProductInfoViewConfigurationUpdated","subscriptionOfDataTrackingLevelUpdated","DataTrackingLevelUpdated","subscriptionOfLivestreamPlayerDesignVersionUpdated","LivestreamPlayerDesignVersionUpdated","remove","setTimeout","viewId","create","sdkInitCalledPromise","then","style","otherProps","assign","borderRadius","undefined"],"mappings":"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","sourcesContent":["import type { ForwardRefRenderFunction } from 'react';\nimport React, {\n forwardRef,\n useEffect,\n useImperativeHandle,\n useReducer,\n useRef,\n useState,\n} from 'react';\n\nimport {\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 { StoryBlockConfiguration } from '../models/StoryBlockConfiguration';\nimport type StoryBlockNativeConfiguration from '../models/StoryBlockNativeConfiguration';\nimport type { StoryBlockSource } from '../models/StoryBlockSource';\nimport { FireworkSDKModuleEventEmitter } from '../modules/FireworkSDKModule';\nimport FWGlobalState from '../utils/FWGlobalState';\nimport FWLoggerUtil from '../utils/FWLoggerUtil';\nimport FWStoryBlock from './FWStoryBlock';\nimport type ButtonInfo from '../models/ButtonInfo';\nimport gennerateJsonKey from '../utils/FWJsonUtil';\nimport { FWComponentType } from '../models/FWComponentType';\n\nconst NativeComponentName = 'FWStoryBlock';\n\nexport interface IStoryBlockMethods {\n /**\n * Play the story block.\n */\n play: () => void;\n /**\n * Pause the story block.\n */\n pause: () => void;\n /**\n * Open the fullscreen story block.\n * Only supported on Android.\n */\n openFullscreen: () => void;\n /**\n * Triggered when the story block enters the viewport.\n * Only supported on iOS.\n * It is recommended that the host app is triggered when listening for scrolling.\n */\n onViewportEntered: () => void;\n /**\n * Triggered when the story block leaves the viewport.\n * Only supported on iOS.\n * It is recommended that the host app is triggered when listening for scrolling.\n */\n onViewportLeft: () => void;\n}\n\n/**\n * The props type of StoryBlock component.\n */\nexport interface IStoryBlockProps {\n /**\n * Standard React Native View Style.\n */\n style?: StyleProp<ViewStyle>;\n /**\n * One of four available story block sources.\n */\n source: StoryBlockSource;\n /**\n * Channel id of the story block. Required when the source is set as channel or playlist or dynamicContent.\n */\n channel?: string;\n /**\n * Playlist id of the story block. Please note channel id is necessary. Required when the source is set as playlist.\n */\n playlist?: string;\n /**\n * The dynamic content parameters of the story block. 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 * Product ids used to generate the sku feed\n */\n productIds?: string[];\n /**\n * The video or live stream id.\n */\n contentId?: string;\n /**\n * Specifies if Picture in Picture is enabled. Only supported on iOS.\n */\n enablePictureInPicture?: boolean;\n /**\n * The corner radius of story block.\n */\n cornerRadius?: number;\n /**\n * Ad configuration of the feed.\n */\n adConfiguration?: AdConfiguration;\n\n /* The configuration of the story block. */\n storyBlockConfiguration?: StoryBlockConfiguration;\n /**\n * The feed loading result callback. It means loading successfully when error equals to undefined.\n */\n onStoryBlockLoadFinished?: (error?: FWError) => void;\n /**\n * The callback is triggered when there are no items in the story block.\n * The callback is triggered in the following cases:\n * 1. Loading successfully but the back end returns an empty list.\n * 2. The load failed and list is empty.\n * onStoryBlockLoadFinished will also be triggered when onStoryBlockEmpty is triggered.\n */\n onStoryBlockEmpty?: (error?: FWError) => void;\n /**\n * Start Picture in Picture callback. Only supported on iOS.\n */\n onStoryBlockDidStartPictureInPicture?: (error?: FWError) => void;\n /**\n * Stop Picture in Picture callback. Only supported on iOS.\n */\n onStoryBlockDidStopPictureInPicture?: (error?: FWError) => void;\n /**\n *\n * The host app could use this callback to get feed id.\n * The feed id can be used for conversion tracking.\n */\n onStoryBlockGetFeedId?: (feedId: string) => void;\n}\n\nconst StoryBlock: ForwardRefRenderFunction<\n IStoryBlockMethods,\n IStoryBlockProps\n> = (props: IStoryBlockProps, forwardedRef) => {\n const nativeComponentRef = useRef(null);\n const [sdkInitCalled, setSdkInitCalled] = useState<boolean>(\n FWGlobalState.getInstance().sdkInitCalled\n );\n const loadedRef = useRef<boolean>(false);\n const [, forceUpdate] = useReducer((x) => x + 1, 0);\n\n const handleStoryBlockLoadFinished = (event: NativeSyntheticEvent<any>) => {\n FWLoggerUtil.log(\n `StoryBlock handleStoryBlockLoadFinished ${event.nativeEvent.name}`\n );\n\n const { onStoryBlockLoadFinished, onStoryBlockEmpty } = props;\n const { name, reason } = event.nativeEvent;\n\n if (onStoryBlockLoadFinished) {\n if (name) {\n let error: FWError = { name };\n if (reason) {\n error.reason = reason;\n }\n\n onStoryBlockLoadFinished(error);\n if (!loadedRef.current) {\n onStoryBlockEmpty?.(error);\n }\n } else {\n onStoryBlockLoadFinished();\n loadedRef.current = true;\n }\n }\n };\n\n const handleStoryBlockEmpty = (event: NativeSyntheticEvent<any>) => {\n FWLoggerUtil.log(`StoryBlock handleStoryBlockEmpty ${event.nativeEvent}`);\n\n const { onStoryBlockEmpty } = props;\n\n if (onStoryBlockEmpty) {\n onStoryBlockEmpty();\n }\n };\n\n const handleStoryBlockDidStartPictureInPicture = (\n event: NativeSyntheticEvent<any>\n ) => {\n FWLoggerUtil.log(\n `StoryBlock handleStoryBlockDidStartPictureInPicture ${JSON.stringify(\n event.nativeEvent\n )}`\n );\n const { onStoryBlockDidStartPictureInPicture } = props;\n\n const { name, reason } = event.nativeEvent;\n\n if (onStoryBlockDidStartPictureInPicture) {\n if (name) {\n if (reason) {\n onStoryBlockDidStartPictureInPicture({ name, reason });\n } else {\n onStoryBlockDidStartPictureInPicture({ name });\n }\n } else {\n onStoryBlockDidStartPictureInPicture();\n }\n }\n };\n\n const handleStoryBlockDidStopPictureInPicture = (\n event: NativeSyntheticEvent<any>\n ) => {\n FWLoggerUtil.log(\n `StoryBlock handleStoryBlockDidStopPictureInPicture ${JSON.stringify(\n event.nativeEvent\n )}`\n );\n const { onStoryBlockDidStopPictureInPicture } = props;\n\n const { name, reason } = event.nativeEvent;\n\n if (onStoryBlockDidStopPictureInPicture) {\n if (name) {\n if (reason) {\n onStoryBlockDidStopPictureInPicture({ name, reason });\n } else {\n onStoryBlockDidStopPictureInPicture({ name });\n }\n } else {\n onStoryBlockDidStopPictureInPicture();\n }\n }\n };\n\n const handleStoryBlockGetFeedId = (event: NativeSyntheticEvent<any>) => {\n FWLoggerUtil.log(\n `StoryBlock handleStoryBlockGetFeedId ${JSON.stringify(\n event.nativeEvent\n )}`\n );\n const { onStoryBlockGetFeedId } = props;\n\n const { feedId } = event.nativeEvent;\n\n if (feedId) {\n FWGlobalState.getInstance().componentTypeByFeedIdMap.set(\n feedId,\n FWComponentType.storyBlock\n );\n }\n\n if (onStoryBlockGetFeedId) {\n onStoryBlockGetFeedId(feedId ?? '');\n }\n };\n\n const generateDynamicContentParametersString = (): string => {\n const { dynamicContentParameters } = props;\n\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 const generateVastAttributesString = () => {\n const { adConfiguration } = 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 const generateButtonInfoString = (buttonInfo?: ButtonInfo) => {\n return `imageName:${buttonInfo?.imageName}_systemImageName:${buttonInfo?.systemImageName}_tintColor:${buttonInfo?.tintColor}`;\n };\n\n const getStoryBlockConfiguration: () =>\n | StoryBlockNativeConfiguration\n | undefined = () => {\n const { storyBlockConfiguration, enablePictureInPicture } = props;\n let resultStoryBlockConfiguration:\n | StoryBlockNativeConfiguration\n | undefined = storyBlockConfiguration;\n if (typeof enablePictureInPicture === 'boolean') {\n if (!resultStoryBlockConfiguration) {\n resultStoryBlockConfiguration = {};\n }\n resultStoryBlockConfiguration = {\n ...resultStoryBlockConfiguration,\n enablePictureInPicture,\n };\n }\n return resultStoryBlockConfiguration;\n };\n const storyBlockConfiguration = getStoryBlockConfiguration();\n\n const generateKey = (): string => {\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;\n const androidFontTypefaceNameOfAdBadge =\n adBadgeConfiguration?.androidFontInfo?.typefaceName;\n const dataTrackingLevel = FireworkSDK.getInstance().dataTrackingLevel;\n const livestreamPlayerDesignVersion =\n FireworkSDK.getInstance().livestreamPlayerDesignVersion;\n\n const {\n source,\n channel,\n playlist,\n hashtagFilterExpression,\n productIds,\n contentId,\n enablePictureInPicture,\n cornerRadius,\n adConfiguration,\n } = props;\n const dynamicContentParametersString =\n generateDynamicContentParametersString();\n\n const playerStyle = storyBlockConfiguration?.playerStyle;\n const videoCompleteAction = storyBlockConfiguration?.videoCompleteAction;\n const showShareButton = storyBlockConfiguration?.showShareButton;\n const showPlaybackButton = storyBlockConfiguration?.showPlaybackButton;\n const showMuteButton = storyBlockConfiguration?.showMuteButton;\n const showBranding = storyBlockConfiguration?.showBranding;\n const ctaDelayType = storyBlockConfiguration?.ctaDelay?.type;\n const ctaDelayValue = storyBlockConfiguration?.ctaDelay?.value?.toFixed(5);\n const ctaHighlightDelayType =\n storyBlockConfiguration?.ctaHighlightDelay?.type;\n const ctaHighlightDelayValue =\n storyBlockConfiguration?.ctaHighlightDelay?.value?.toFixed(5);\n const shareBaseURL = storyBlockConfiguration?.shareBaseURL;\n const buttonConfiguration = storyBlockConfiguration?.buttonConfiguration;\n const videoPlayerLogoConfigurationJsonKey = gennerateJsonKey(\n storyBlockConfiguration?.videoPlayerLogoConfiguration\n );\n const ctaWidth = storyBlockConfiguration?.ctaWidth;\n const showVideoDetailTitle = storyBlockConfiguration?.showVideoDetailTitle;\n\n const requiresAds = adConfiguration?.requiresAds;\n const adsFetchTimeout = adConfiguration?.adsFetchTimeout;\n const vastAttributesString = generateVastAttributesString();\n const productInfoViewConfigurationJsonKey = gennerateJsonKey(\n FireworkSDK.getInstance().shopping.productInfoViewConfiguration\n );\n const replayBadgeConfigurationJsonKey = gennerateJsonKey(\n storyBlockConfiguration?.replayBadgeConfiguration\n );\n const countdownTimerConfigurationJsonKey = gennerateJsonKey(\n storyBlockConfiguration?.countdownTimerConfiguration\n );\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 key += `_dataTrackingLevel:${dataTrackingLevel}`;\n key += `_livestreamPlayerDesignVersion:${livestreamPlayerDesignVersion}`;\n key += `_source:${source}`;\n key += `_channel:${channel}`;\n key += `_playlist:${playlist}`;\n key += `_dynamicContentParameters:${dynamicContentParametersString}`;\n key += `_hashtagFilterExpression:${hashtagFilterExpression}`;\n key += `productIds:${productIds?.join(',')}`;\n key += `_contentId:${contentId}`;\n key += `_enablePictureInPicture:${enablePictureInPicture}`;\n key += `_cornerRadius:${cornerRadius}`;\n\n key += `_shareBaseURL:${shareBaseURL}`;\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 key += `_buttonConfiguration.videoDetailButton:${generateButtonInfoString(\n buttonConfiguration?.videoDetailButton\n )}`;\n key += `_buttonConfiguration.closeButton:${generateButtonInfoString(\n buttonConfiguration?.closeButton\n )}`;\n key += `_buttonConfiguration.muteButton:${generateButtonInfoString(\n buttonConfiguration?.muteButton\n )}`;\n key += `_buttonConfiguration.unmuteButton:${generateButtonInfoString(\n buttonConfiguration?.unmuteButton\n )}`;\n key += `_buttonConfiguration.playButton:${generateButtonInfoString(\n buttonConfiguration?.playButton\n )}`;\n key += `_buttonConfiguration.pauseButton:${generateButtonInfoString(\n buttonConfiguration?.pauseButton\n )}`;\n if (Platform.OS === 'android') {\n key += `_videoPlayerLogoConfiguration:${videoPlayerLogoConfigurationJsonKey}`;\n }\n key += `_showVideoDetailTitle:${showVideoDetailTitle}`;\n\n key += `_requiresAds:${requiresAds}`;\n key += `_adsFetchTimeout:${adsFetchTimeout}`;\n key += `_vastAttributes:${vastAttributesString}`;\n key += `_productInfoViewConfiguration:${productInfoViewConfigurationJsonKey}`;\n key += `_replayBadgeConfiguration:${replayBadgeConfigurationJsonKey}`;\n key += `_countdownTimerConfiguration:${countdownTimerConfigurationJsonKey}`;\n\n return key;\n };\n\n const key = generateKey();\n\n console.log('story block key', key);\n\n useImperativeHandle(\n forwardedRef,\n () => {\n const sendCommand = (command: string) => {\n const nativeNodeHandle = findNodeHandle(nativeComponentRef.current);\n\n let commandId: string | number =\n UIManager.getViewManagerConfig(NativeComponentName).Commands[command];\n if (Platform.OS === 'android') {\n commandId = commandId.toString();\n }\n let reactTag: number | null = findNodeHandle(nativeNodeHandle);\n FWLoggerUtil.log(\n `StoryBlock sendCommand: ${command} commandId: ${commandId} nativeNodeHandle: ${nativeNodeHandle} reactTag: ${reactTag}`\n );\n if (!nativeNodeHandle || !reactTag) {\n return;\n }\n UIManager.dispatchViewManagerCommand(reactTag, commandId, []);\n };\n return {\n play: () => {\n sendCommand('play');\n },\n pause: () => {\n sendCommand('pause');\n },\n openFullscreen: () => {\n sendCommand('openFullscreen');\n },\n onViewportEntered: () => {\n if (Platform.OS !== 'ios') {\n return;\n }\n sendCommand('onViewportEntered');\n },\n onViewportLeft: () => {\n if (Platform.OS !== 'ios') {\n return;\n }\n sendCommand('onViewportLeft');\n },\n };\n },\n []\n );\n\n useEffect(() => {\n const subscriptionOfShareBaseURLUpdated =\n FireworkSDKModuleEventEmitter.addListener(\n FWEventName.ShareBaseURLUpdated,\n () => {\n FWLoggerUtil.log('Receive FWEventName.ShareBaseURLUpdated');\n forceUpdate();\n }\n );\n const subscriptionOfAdBadgeConfigurationUpdated =\n FireworkSDKModuleEventEmitter.addListener(\n FWEventName.AdBadgeConfigurationUpdated,\n () => {\n FWLoggerUtil.log('Receive FWEventName.AdBadgeConfigurationUpdated');\n forceUpdate();\n }\n );\n\n const subscriptionOfVideoLaunchBehaviorUpdated =\n FireworkSDKModuleEventEmitter.addListener(\n FWEventName.VideoLaunchBehaviorUpdated,\n () => {\n FWLoggerUtil.log('Receive FWEventName.VideoLaunchBehaviorUpdated');\n forceUpdate();\n }\n );\n\n const subscriptionOfAppLanguageUpdated =\n FireworkSDKModuleEventEmitter.addListener(\n FWEventName.AppLanguageUpdated,\n () => {\n FWLoggerUtil.log('Receive FWEventName.AppLanguageUpdated');\n forceUpdate();\n }\n );\n\n const subscriptionOfProductInfoViewConfigurationUpdated =\n FireworkSDKModuleEventEmitter.addListener(\n FWEventName.ProductInfoViewConfigurationUpdated,\n () => {\n FWLoggerUtil.log(\n 'Receive FWEventName.ProductInfoViewConfigurationUpdated'\n );\n forceUpdate();\n }\n );\n\n const subscriptionOfDataTrackingLevelUpdated =\n FireworkSDKModuleEventEmitter.addListener(\n FWEventName.DataTrackingLevelUpdated,\n () => {\n FWLoggerUtil.log('Receive FWEventName.DataTrackingLevelUpdated');\n forceUpdate();\n }\n );\n\n const subscriptionOfLivestreamPlayerDesignVersionUpdated =\n FireworkSDKModuleEventEmitter.addListener(\n FWEventName.LivestreamPlayerDesignVersionUpdated,\n () => {\n FWLoggerUtil.log(\n 'Receive FWEventName.LivestreamPlayerDesignVersionUpdated'\n );\n forceUpdate();\n }\n );\n\n return () => {\n subscriptionOfShareBaseURLUpdated.remove();\n subscriptionOfAdBadgeConfigurationUpdated.remove();\n subscriptionOfVideoLaunchBehaviorUpdated.remove();\n subscriptionOfAppLanguageUpdated.remove();\n subscriptionOfProductInfoViewConfigurationUpdated.remove();\n subscriptionOfDataTrackingLevelUpdated.remove();\n subscriptionOfLivestreamPlayerDesignVersionUpdated.remove();\n };\n }, []);\n\n useEffect(() => {\n if (Platform.OS === 'android') {\n setTimeout(() => {\n const viewId = findNodeHandle(nativeComponentRef.current);\n FWLoggerUtil.log(`StoryBlock createFragment viewId: ${viewId}`);\n if (!viewId) {\n return;\n }\n UIManager.dispatchViewManagerCommand(\n viewId,\n UIManager.getViewManagerConfig(\n NativeComponentName\n ).Commands.create.toString(),\n [viewId]\n );\n }, 500);\n }\n }, [key]);\n\n useEffect(() => {\n FWGlobalState.getInstance().sdkInitCalledPromise.then(() => {\n setSdkInitCalled(true);\n });\n }, []);\n\n if (!sdkInitCalled) {\n return null;\n }\n const { style, cornerRadius, ...otherProps } = props;\n return (\n <FWStoryBlock\n ref={nativeComponentRef}\n key={key}\n {...otherProps}\n cornerRadius={cornerRadius}\n style={Object.assign({ borderRadius: cornerRadius }, style)}\n storyBlockConfiguration={storyBlockConfiguration}\n enablePictureInPicture={undefined}\n onStoryBlockLoadFinished={handleStoryBlockLoadFinished}\n onStoryBlockEmpty={handleStoryBlockEmpty}\n onStoryBlockDidStartPictureInPicture={\n handleStoryBlockDidStartPictureInPicture\n }\n onStoryBlockDidStopPictureInPicture={\n handleStoryBlockDidStopPictureInPicture\n }\n onStoryBlockGetFeedId={handleStoryBlockGetFeedId}\n />\n );\n};\n\nexport default forwardRef(StoryBlock);\n"]}
@@ -231,6 +231,20 @@ class VideoFeed extends React.Component {
231
231
  });
232
232
 
233
233
  this._subscriptions.push(subscriptionOfAppLanguageUpdated);
234
+
235
+ const subscriptionOfDataTrackingLevelUpdated = FireworkSDKModuleEventEmitter.addListener(FWEventName.DataTrackingLevelUpdated, () => {
236
+ FWLoggerUtil.log('Receive FWEventName.DataTrackingLevelUpdated');
237
+ this.setState({});
238
+ });
239
+
240
+ this._subscriptions.push(subscriptionOfDataTrackingLevelUpdated);
241
+
242
+ const subscriptionOfLivestreamPlayerDesignVersionUpdated = FireworkSDKModuleEventEmitter.addListener(FWEventName.LivestreamPlayerDesignVersionUpdated, () => {
243
+ FWLoggerUtil.log('Receive FWEventName.LivestreamPlayerDesignVersionUpdated');
244
+ this.setState({});
245
+ });
246
+
247
+ this._subscriptions.push(subscriptionOfLivestreamPlayerDesignVersionUpdated);
234
248
  }
235
249
  /**
236
250
  * @ignore
@@ -267,6 +281,8 @@ class VideoFeed extends React.Component {
267
281
  const textColorOfAdBadge = adBadgeConfiguration === null || adBadgeConfiguration === void 0 ? void 0 : adBadgeConfiguration.textColor;
268
282
  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();
269
283
  const androidFontTypefaceNameOfAdBadge = adBadgeConfiguration === null || adBadgeConfiguration === void 0 ? void 0 : (_adBadgeConfiguration3 = adBadgeConfiguration.androidFontInfo) === null || _adBadgeConfiguration3 === void 0 ? void 0 : _adBadgeConfiguration3.typefaceName;
284
+ const dataTrackingLevel = FireworkSDK.getInstance().dataTrackingLevel;
285
+ const livestreamPlayerDesignVersion = FireworkSDK.getInstance().livestreamPlayerDesignVersion;
270
286
  const {
271
287
  source,
272
288
  channel,
@@ -341,6 +357,8 @@ class VideoFeed extends React.Component {
341
357
  key += `_androidFontTypefaceNameOfAdBadge${androidFontTypefaceNameOfAdBadge}`;
342
358
  }
343
359
 
360
+ key += `_dataTrackingLevel:${dataTrackingLevel}`;
361
+ key += `_livestreamPlayerDesignVersion:${livestreamPlayerDesignVersion}`;
344
362
  key += `_source:${source}`;
345
363
  key += `_channel:${channel}`;
346
364
  key += `_playlist:${playlist}`;
@@ -1 +1 @@
1
- {"version":3,"sources":["VideoFeed.tsx"],"names":["React","findNodeHandle","Platform","UIManager","FireworkSDK","FWEventName","FWNativeErrorAction","FireworkSDKModuleEventEmitter","FWGlobalState","gennerateJsonKey","FWLoggerUtil","FWVideoFeed","FWComponentType","NativeComponentName","VideoFeed","Component","constructor","props","createRef","log","JSON","stringify","nativeNodeHandle","_nativeComponentRef","current","commandId","getViewManagerConfig","Commands","refresh","OS","toString","reactTag","dispatchViewManagerCommand","event","onVideoFeedLoadFinished","onVideoFeedEmpty","name","reason","action","nativeEvent","error","_loaded","loadingFirstPage","onVideoFeedDidStartPictureInPicture","onVideoFeedDidStopPictureInPicture","onVideoFeedGetFeedId","feedId","getInstance","componentTypeByFeedIdMap","set","videoFeed","state","sdkInitCalled","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","contentId","mode","enablePictureInPicture","adConfiguration","dynamicContentParametersString","_generateDynamicContentParametersString","videoFeedConfiguration","_getVideoFeedConfiguration","cornerRadius","toFixed","titleHidden","title","hidden","titleTextColor","titleFontSize","fontSize","titleNumberOfLines","numberOfLines","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","buttonConfiguration","videoPlayerLogoConfigurationJsonKey","videoPlayerLogoConfiguration","countdownTimerConfigurationJsonKey","countdownTimerConfiguration","showVideoDetailTitle","requiresAds","adsFetchTimeout","vastAttributesString","_generateVastAttributesString","replayBadgeVideoFeedConfigurationJsonKey","replayBadge","replayBadgeVideoPlayerConfigurationJsonKey","replayBadgeConfiguration","shadowVideoFeedConfigurationJsonKey","shadow","key","join","orientation","colors","_generateButtonInfoString","videoDetailButton","closeButton","muteButton","unmuteButton","playButton","pauseButton","console","undefined","_onVideoFeedLoadFinished","_onVideoFeedEmpty","_onVideoFeedDidStartPictureInPicture","_onVideoFeedDidStopPictureInPicture","_onVideoFeedGetFeedId","dynamicContentParameters","resultString","sortedKeyList","Object","keys","sort","valueString","length","vastAttributes","attribute","buttonInfo","imageName","systemImageName","tintColor","resultVideoFeedConfiguration","Math","floor","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 ButtonInfo from '../models/ButtonInfo';\nimport type FWError from '../models/FWError';\nimport { FWEventName } from '../models/FWEventName';\nimport { FWNativeErrorAction } from '../models/FWNativeErrorAction';\nimport type VideoFeedConfiguration from '../models/VideoFeedConfiguration';\nimport type { VideoFeedSource } from '../models/VideoFeedSource';\nimport type VideoPlayerConfiguration from '../models/VideoPlayerConfiguration';\nimport type VideoPlayerNativeConfiguration from '../models/VideoPlayerNativeConfiguration';\nimport { FireworkSDKModuleEventEmitter } from '../modules/FireworkSDKModule';\nimport FWGlobalState from '../utils/FWGlobalState';\nimport gennerateJsonKey from '../utils/FWJsonUtil';\nimport FWLoggerUtil from '../utils/FWLoggerUtil';\nimport FWVideoFeed from './FWVideoFeed';\nimport { FWComponentType } from '../models/FWComponentType';\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 * The video or live stream id. Only supported on iOS.\n */\n contentId?: 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.\n */\n adConfiguration?: AdConfiguration;\n /**\n * The feed loading result callback. It means loading successfully when error equals to undefined.\n */\n onVideoFeedLoadFinished?: (error?: FWError) => void;\n /**\n * The callback is triggered when there are no items in the story block.\n * The callback is triggered in the following cases:\n * 1. Loading successfully but the back end returns an empty list.\n * 2. The load failed and list is empty.\n * onVideoFeedLoadFinished will also be triggered when onVideoFeedEmpty is triggered.\n */\n onVideoFeedEmpty?: (error?: FWError) => void;\n /**\n * Start Picture in Picture callback. Only supported on iOS.\n */\n onVideoFeedDidStartPictureInPicture?: (error?: FWError) => void;\n /**\n * Stop Picture in Picture callback. Only supported on iOS.\n */\n onVideoFeedDidStopPictureInPicture?: (error?: FWError) => void;\n /**\n *\n * The host app could use this callback to get feed id.\n * The feed id can be used for conversion tracking.\n */\n onVideoFeedGetFeedId?: (feedId: string) => 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 private _loaded: boolean = false;\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 let reactTag: number | null = findNodeHandle(nativeNodeHandle);\n FWLoggerUtil.log(\n `VideoFeed refresh commandId: ${commandId} nativeNodeHandle: ${nativeNodeHandle} reactTag: ${reactTag}`\n );\n if (!nativeNodeHandle || !reactTag) {\n return;\n }\n UIManager.dispatchViewManagerCommand(reactTag, commandId, []);\n };\n\n private _onVideoFeedLoadFinished = (event: NativeSyntheticEvent<any>) => {\n const { onVideoFeedLoadFinished, onVideoFeedEmpty } = this.props;\n\n const { name, reason, action } = event.nativeEvent;\n\n if (onVideoFeedLoadFinished) {\n if (name) {\n let error: FWError = { name };\n if (reason) {\n error.reason = reason;\n }\n\n if (Platform.OS === 'android') {\n if (!this._loaded) {\n onVideoFeedLoadFinished(error);\n }\n if (\n action === FWNativeErrorAction.loadingFirstPage ||\n !this._loaded\n ) {\n onVideoFeedEmpty?.(error);\n }\n } else {\n onVideoFeedLoadFinished(error);\n if (!this._loaded) {\n onVideoFeedEmpty?.(error);\n }\n }\n } else {\n if (Platform.OS === 'android') {\n if (!this._loaded) {\n onVideoFeedLoadFinished();\n }\n } else {\n onVideoFeedLoadFinished();\n }\n this._loaded = true;\n }\n }\n };\n\n private _onVideoFeedEmpty = (event: NativeSyntheticEvent<any>) => {\n FWLoggerUtil.log(\n `VideoFeed _onVideoFeedLoadFinished ${JSON.stringify(event.nativeEvent)}`\n );\n const { onVideoFeedEmpty } = this.props;\n\n if (onVideoFeedEmpty) {\n onVideoFeedEmpty();\n }\n };\n\n private _onVideoFeedDidStartPictureInPicture = (\n event: NativeSyntheticEvent<any>\n ) => {\n FWLoggerUtil.log(\n `VideoFeed _onVideoFeedDidStartPictureInPicture ${JSON.stringify(\n event.nativeEvent\n )}`\n );\n const { onVideoFeedDidStartPictureInPicture } = this.props;\n\n const { name, reason } = event.nativeEvent;\n\n if (onVideoFeedDidStartPictureInPicture) {\n if (name) {\n if (reason) {\n onVideoFeedDidStartPictureInPicture({ name, reason });\n } else {\n onVideoFeedDidStartPictureInPicture({ name });\n }\n } else {\n onVideoFeedDidStartPictureInPicture();\n }\n }\n };\n\n private _onVideoFeedDidStopPictureInPicture = (\n event: NativeSyntheticEvent<any>\n ) => {\n FWLoggerUtil.log(\n `VideoFeed _onVideoFeedDidStopPictureInPicture ${JSON.stringify(\n event.nativeEvent\n )}`\n );\n const { onVideoFeedDidStopPictureInPicture } = this.props;\n\n const { name, reason } = event.nativeEvent;\n\n if (onVideoFeedDidStopPictureInPicture) {\n if (name) {\n if (reason) {\n onVideoFeedDidStopPictureInPicture({ name, reason });\n } else {\n onVideoFeedDidStopPictureInPicture({ name });\n }\n } else {\n onVideoFeedDidStopPictureInPicture();\n }\n }\n };\n\n private _onVideoFeedGetFeedId = (event: NativeSyntheticEvent<any>) => {\n FWLoggerUtil.log(\n `VideoFeed onVideoFeedGetFeedId ${JSON.stringify(event.nativeEvent)}`\n );\n const { onVideoFeedGetFeedId } = this.props;\n\n const { feedId } = event.nativeEvent;\n\n if (feedId) {\n FWGlobalState.getInstance().componentTypeByFeedIdMap.set(\n feedId,\n FWComponentType.videoFeed\n );\n }\n\n if (onVideoFeedGetFeedId) {\n onVideoFeedGetFeedId(feedId ?? '');\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 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 * @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 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 contentId,\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 titleNumberOfLines = videoFeedConfiguration?.title?.numberOfLines;\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;\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 const buttonConfiguration = videoPlayerConfiguration?.buttonConfiguration;\n const videoPlayerLogoConfigurationJsonKey = gennerateJsonKey(\n videoPlayerConfiguration?.videoPlayerLogoConfiguration\n );\n const countdownTimerConfigurationJsonKey = gennerateJsonKey(\n videoPlayerConfiguration?.countdownTimerConfiguration\n );\n const showVideoDetailTitle = videoPlayerConfiguration?.showVideoDetailTitle;\n const requiresAds = adConfiguration?.requiresAds;\n const adsFetchTimeout = adConfiguration?.adsFetchTimeout;\n const vastAttributesString = this._generateVastAttributesString();\n const replayBadgeVideoFeedConfigurationJsonKey = gennerateJsonKey(\n videoFeedConfiguration?.replayBadge\n );\n const replayBadgeVideoPlayerConfigurationJsonKey = gennerateJsonKey(\n videoPlayerConfiguration?.replayBadgeConfiguration\n );\n const shadowVideoFeedConfigurationJsonKey = gennerateJsonKey(\n videoFeedConfiguration?.shadow\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 += `_contentId:${contentId}`;\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 += `_titleNumberOfLines:${titleNumberOfLines}`;\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 if (Platform.OS === 'android') {\n key += `_enableAutoplay:${enableAutoplay}`;\n }\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 key += `_buttonConfiguration.videoDetailButton:${this._generateButtonInfoString(\n buttonConfiguration?.videoDetailButton\n )}`;\n key += `_buttonConfiguration.closeButton:${this._generateButtonInfoString(\n buttonConfiguration?.closeButton\n )}`;\n key += `_buttonConfiguration.muteButton:${this._generateButtonInfoString(\n buttonConfiguration?.muteButton\n )}`;\n key += `_buttonConfiguration.unmuteButton:${this._generateButtonInfoString(\n buttonConfiguration?.unmuteButton\n )}`;\n key += `_buttonConfiguration.playButton:${this._generateButtonInfoString(\n buttonConfiguration?.playButton\n )}`;\n key += `_buttonConfiguration.pauseButton:${this._generateButtonInfoString(\n buttonConfiguration?.pauseButton\n )}`;\n key += `_videoPlayerLogoConfiguration:${videoPlayerLogoConfigurationJsonKey}`;\n key += `_countdownTimerConfiguration:${countdownTimerConfigurationJsonKey}`;\n key += `_showVideoDetailTitle:${showVideoDetailTitle}`;\n }\n\n key += `_requiresAds:${requiresAds}`;\n key += `_adsFetchTimeout:${adsFetchTimeout}`;\n key += `_vastAttributes:${vastAttributesString}`;\n key += `_replayBadgeVideoFeedConfiguration:${replayBadgeVideoFeedConfigurationJsonKey}`;\n key += `_replayBadgeVideoPlayerConfiguration:${replayBadgeVideoPlayerConfigurationJsonKey}`;\n key += `_shadowVideoFeedConfiguration:${shadowVideoFeedConfigurationJsonKey}`;\n console.log('video feed key', key);\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 onVideoFeedEmpty={this._onVideoFeedEmpty}\n onVideoFeedDidStartPictureInPicture={\n this._onVideoFeedDidStartPictureInPicture\n }\n onVideoFeedDidStopPictureInPicture={\n this._onVideoFeedDidStopPictureInPicture\n }\n onVideoFeedGetFeedId={this._onVideoFeedGetFeedId}\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 _generateButtonInfoString(buttonInfo?: ButtonInfo): string {\n return `imageName:${buttonInfo?.imageName}_systemImageName:${buttonInfo?.systemImageName}_tintColor:${buttonInfo?.tintColor}`;\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"]}
1
+ {"version":3,"sources":["VideoFeed.tsx"],"names":["React","findNodeHandle","Platform","UIManager","FireworkSDK","FWEventName","FWNativeErrorAction","FireworkSDKModuleEventEmitter","FWGlobalState","gennerateJsonKey","FWLoggerUtil","FWVideoFeed","FWComponentType","NativeComponentName","VideoFeed","Component","constructor","props","createRef","log","JSON","stringify","nativeNodeHandle","_nativeComponentRef","current","commandId","getViewManagerConfig","Commands","refresh","OS","toString","reactTag","dispatchViewManagerCommand","event","onVideoFeedLoadFinished","onVideoFeedEmpty","name","reason","action","nativeEvent","error","_loaded","loadingFirstPage","onVideoFeedDidStartPictureInPicture","onVideoFeedDidStopPictureInPicture","onVideoFeedGetFeedId","feedId","getInstance","componentTypeByFeedIdMap","set","videoFeed","state","sdkInitCalled","componentDidMount","sdkInitCalledPromise","then","setState","subscriptionOfShareBaseURLUpdated","addListener","ShareBaseURLUpdated","_subscriptions","push","subscriptionOfAdBadgeConfigurationUpdated","AdBadgeConfigurationUpdated","subscriptionOfVideoLaunchBehaviorUpdated","VideoLaunchBehaviorUpdated","subscriptionOfAppLanguageUpdated","AppLanguageUpdated","subscriptionOfDataTrackingLevelUpdated","DataTrackingLevelUpdated","subscriptionOfLivestreamPlayerDesignVersionUpdated","LivestreamPlayerDesignVersionUpdated","componentWillUnmount","forEach","value","remove","render","gShareBaseURL","shareBaseURL","appLanguage","videoLaunchBehavior","adBadgeConfiguration","adBadgeTextType","badgeTextType","backgroundColorOfAdBadge","backgroundColor","textColorOfAdBadge","textColor","androidFontIsCustomOfAdBadge","androidFontInfo","isCustom","androidFontTypefaceNameOfAdBadge","typefaceName","dataTrackingLevel","livestreamPlayerDesignVersion","source","channel","playlist","playlistGroup","hashtagFilterExpression","productIds","contentId","mode","enablePictureInPicture","adConfiguration","dynamicContentParametersString","_generateDynamicContentParametersString","videoFeedConfiguration","_getVideoFeedConfiguration","cornerRadius","toFixed","titleHidden","title","hidden","titleTextColor","titleFontSize","fontSize","titleNumberOfLines","numberOfLines","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","buttonConfiguration","videoPlayerLogoConfigurationJsonKey","videoPlayerLogoConfiguration","countdownTimerConfigurationJsonKey","countdownTimerConfiguration","showVideoDetailTitle","requiresAds","adsFetchTimeout","vastAttributesString","_generateVastAttributesString","replayBadgeVideoFeedConfigurationJsonKey","replayBadge","replayBadgeVideoPlayerConfigurationJsonKey","replayBadgeConfiguration","shadowVideoFeedConfigurationJsonKey","shadow","key","join","orientation","colors","_generateButtonInfoString","videoDetailButton","closeButton","muteButton","unmuteButton","playButton","pauseButton","console","undefined","_onVideoFeedLoadFinished","_onVideoFeedEmpty","_onVideoFeedDidStartPictureInPicture","_onVideoFeedDidStopPictureInPicture","_onVideoFeedGetFeedId","dynamicContentParameters","resultString","sortedKeyList","Object","keys","sort","valueString","length","vastAttributes","attribute","buttonInfo","imageName","systemImageName","tintColor","resultVideoFeedConfiguration","Math","floor","resultVideoPlayerConfiguration"],"mappings":";;;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AAEA,SAEEC,cAFF,EAIEC,QAJF,EAMEC,SANF,QAQO,cARP;AAUA,OAAOC,WAAP,MAAwB,gBAAxB;AAIA,SAASC,WAAT,QAA4B,uBAA5B;AACA,SAASC,mBAAT,QAAoC,+BAApC;AAKA,SAASC,6BAAT,QAA8C,8BAA9C;AACA,OAAOC,aAAP,MAA0B,wBAA1B;AACA,OAAOC,gBAAP,MAA6B,qBAA7B;AACA,OAAOC,YAAP,MAAyB,uBAAzB;AACA,OAAOC,WAAP,MAAwB,eAAxB;AACA,SAASC,eAAT,QAAgC,2BAAhC;AAqGA,MAAMC,mBAAmB,GAAG,aAA5B;AAEA;AACA;AACA;;AACA,MAAMC,SAAN,SAAwBd,KAAK,CAACe,SAA9B,CAA0E;AACxE;AACF;AACA;AAWEC,EAAAA,WAAW,CAACC,KAAD,EAAyB;AAClC,UAAMA,KAAN;;AADkC,8DANNjB,KAAK,CAACkB,SAAN,EAMM;;AAAA,4CAJY,EAIZ;;AAAA,qCAFT,KAES;;AAAA,qCAOnB,MAAM;AACrBR,MAAAA,YAAY,CAACS,GAAb,CAAkB,qBAAoBC,IAAI,CAACC,SAAL,CAAe,KAAKJ,KAApB,CAA2B,EAAjE;AAEA,YAAMK,gBAAgB,GAAGrB,cAAc,CAAC,KAAKsB,mBAAL,CAAyBC,OAA1B,CAAvC;AAEA,UAAIC,SAA0B,GAC5BtB,SAAS,CAACuB,oBAAV,CAA+Bb,mBAA/B,EAAoDc,QAApD,CAA6DC,OAD/D;;AAEA,UAAI1B,QAAQ,CAAC2B,EAAT,KAAgB,SAApB,EAA+B;AAC7BJ,QAAAA,SAAS,GAAGA,SAAS,CAACK,QAAV,EAAZ;AACD;;AACD,UAAIC,QAAuB,GAAG9B,cAAc,CAACqB,gBAAD,CAA5C;AACAZ,MAAAA,YAAY,CAACS,GAAb,CACG,gCAA+BM,SAAU,sBAAqBH,gBAAiB,cAAaS,QAAS,EADxG;;AAGA,UAAI,CAACT,gBAAD,IAAqB,CAACS,QAA1B,EAAoC;AAClC;AACD;;AACD5B,MAAAA,SAAS,CAAC6B,0BAAV,CAAqCD,QAArC,EAA+CN,SAA/C,EAA0D,EAA1D;AACD,KAzBmC;;AAAA,sDA2BAQ,KAAD,IAAsC;AACvE,YAAM;AAAEC,QAAAA,uBAAF;AAA2BC,QAAAA;AAA3B,UAAgD,KAAKlB,KAA3D;AAEA,YAAM;AAAEmB,QAAAA,IAAF;AAAQC,QAAAA,MAAR;AAAgBC,QAAAA;AAAhB,UAA2BL,KAAK,CAACM,WAAvC;;AAEA,UAAIL,uBAAJ,EAA6B;AAC3B,YAAIE,IAAJ,EAAU;AACR,cAAII,KAAc,GAAG;AAAEJ,YAAAA;AAAF,WAArB;;AACA,cAAIC,MAAJ,EAAY;AACVG,YAAAA,KAAK,CAACH,MAAN,GAAeA,MAAf;AACD;;AAED,cAAInC,QAAQ,CAAC2B,EAAT,KAAgB,SAApB,EAA+B;AAC7B,gBAAI,CAAC,KAAKY,OAAV,EAAmB;AACjBP,cAAAA,uBAAuB,CAACM,KAAD,CAAvB;AACD;;AACD,gBACEF,MAAM,KAAKhC,mBAAmB,CAACoC,gBAA/B,IACA,CAAC,KAAKD,OAFR,EAGE;AACAN,cAAAA,gBAAgB,SAAhB,IAAAA,gBAAgB,WAAhB,YAAAA,gBAAgB,CAAGK,KAAH,CAAhB;AACD;AACF,WAVD,MAUO;AACLN,YAAAA,uBAAuB,CAACM,KAAD,CAAvB;;AACA,gBAAI,CAAC,KAAKC,OAAV,EAAmB;AACjBN,cAAAA,gBAAgB,SAAhB,IAAAA,gBAAgB,WAAhB,YAAAA,gBAAgB,CAAGK,KAAH,CAAhB;AACD;AACF;AACF,SAtBD,MAsBO;AACL,cAAItC,QAAQ,CAAC2B,EAAT,KAAgB,SAApB,EAA+B;AAC7B,gBAAI,CAAC,KAAKY,OAAV,EAAmB;AACjBP,cAAAA,uBAAuB;AACxB;AACF,WAJD,MAIO;AACLA,YAAAA,uBAAuB;AACxB;;AACD,eAAKO,OAAL,GAAe,IAAf;AACD;AACF;AACF,KAlEmC;;AAAA,+CAoEPR,KAAD,IAAsC;AAChEvB,MAAAA,YAAY,CAACS,GAAb,CACG,sCAAqCC,IAAI,CAACC,SAAL,CAAeY,KAAK,CAACM,WAArB,CAAkC,EAD1E;AAGA,YAAM;AAAEJ,QAAAA;AAAF,UAAuB,KAAKlB,KAAlC;;AAEA,UAAIkB,gBAAJ,EAAsB;AACpBA,QAAAA,gBAAgB;AACjB;AACF,KA7EmC;;AAAA,kEAgFlCF,KAD6C,IAE1C;AACHvB,MAAAA,YAAY,CAACS,GAAb,CACG,kDAAiDC,IAAI,CAACC,SAAL,CAChDY,KAAK,CAACM,WAD0C,CAEhD,EAHJ;AAKA,YAAM;AAAEI,QAAAA;AAAF,UAA0C,KAAK1B,KAArD;AAEA,YAAM;AAAEmB,QAAAA,IAAF;AAAQC,QAAAA;AAAR,UAAmBJ,KAAK,CAACM,WAA/B;;AAEA,UAAII,mCAAJ,EAAyC;AACvC,YAAIP,IAAJ,EAAU;AACR,cAAIC,MAAJ,EAAY;AACVM,YAAAA,mCAAmC,CAAC;AAAEP,cAAAA,IAAF;AAAQC,cAAAA;AAAR,aAAD,CAAnC;AACD,WAFD,MAEO;AACLM,YAAAA,mCAAmC,CAAC;AAAEP,cAAAA;AAAF,aAAD,CAAnC;AACD;AACF,SAND,MAMO;AACLO,UAAAA,mCAAmC;AACpC;AACF;AACF,KAtGmC;;AAAA,iEAyGlCV,KAD4C,IAEzC;AACHvB,MAAAA,YAAY,CAACS,GAAb,CACG,iDAAgDC,IAAI,CAACC,SAAL,CAC/CY,KAAK,CAACM,WADyC,CAE/C,EAHJ;AAKA,YAAM;AAAEK,QAAAA;AAAF,UAAyC,KAAK3B,KAApD;AAEA,YAAM;AAAEmB,QAAAA,IAAF;AAAQC,QAAAA;AAAR,UAAmBJ,KAAK,CAACM,WAA/B;;AAEA,UAAIK,kCAAJ,EAAwC;AACtC,YAAIR,IAAJ,EAAU;AACR,cAAIC,MAAJ,EAAY;AACVO,YAAAA,kCAAkC,CAAC;AAAER,cAAAA,IAAF;AAAQC,cAAAA;AAAR,aAAD,CAAlC;AACD,WAFD,MAEO;AACLO,YAAAA,kCAAkC,CAAC;AAAER,cAAAA;AAAF,aAAD,CAAlC;AACD;AACF,SAND,MAMO;AACLQ,UAAAA,kCAAkC;AACnC;AACF;AACF,KA/HmC;;AAAA,mDAiIHX,KAAD,IAAsC;AACpEvB,MAAAA,YAAY,CAACS,GAAb,CACG,kCAAiCC,IAAI,CAACC,SAAL,CAAeY,KAAK,CAACM,WAArB,CAAkC,EADtE;AAGA,YAAM;AAAEM,QAAAA;AAAF,UAA2B,KAAK5B,KAAtC;AAEA,YAAM;AAAE6B,QAAAA;AAAF,UAAab,KAAK,CAACM,WAAzB;;AAEA,UAAIO,MAAJ,EAAY;AACVtC,QAAAA,aAAa,CAACuC,WAAd,GAA4BC,wBAA5B,CAAqDC,GAArD,CACEH,MADF,EAEElC,eAAe,CAACsC,SAFlB;AAID;;AAED,UAAIL,oBAAJ,EAA0B;AACxBA,QAAAA,oBAAoB,CAACC,MAAD,aAACA,MAAD,cAACA,MAAD,GAAW,EAAX,CAApB;AACD;AACF,KAnJmC;;AAElC,SAAKK,KAAL,GAAa;AACXC,MAAAA,aAAa,EAAE5C,aAAa,CAACuC,WAAd,GAA4BK;AADhC,KAAb;AAGD;;AAgJD;AACF;AACA;AACEC,EAAAA,iBAAiB,GAAG;AAClB3C,IAAAA,YAAY,CAACS,GAAb,CACG,+BAA8BC,IAAI,CAACC,SAAL,CAAe,KAAKJ,KAApB,CAA2B,EAD5D;;AAIA,QAAI,CAAC,KAAKkC,KAAL,CAAWC,aAAhB,EAA+B;AAC7B5C,MAAAA,aAAa,CAACuC,WAAd,GAA4BO,oBAA5B,CAAiDC,IAAjD,CAAsD,MAAM;AAC1D,aAAKC,QAAL,CAAc;AAAEJ,UAAAA,aAAa,EAAE;AAAjB,SAAd;AACD,OAFD;AAGD;;AAED,UAAMK,iCAAiC,GACrClD,6BAA6B,CAACmD,WAA9B,CACErD,WAAW,CAACsD,mBADd,EAEE,MAAM;AACJjD,MAAAA,YAAY,CAACS,GAAb,CAAiB,yCAAjB;AACA,WAAKqC,QAAL,CAAc,EAAd;AACD,KALH,CADF;;AAQA,SAAKI,cAAL,CAAoBC,IAApB,CAAyBJ,iCAAzB;;AAEA,UAAMK,yCAAyC,GAC7CvD,6BAA6B,CAACmD,WAA9B,CACErD,WAAW,CAAC0D,2BADd,EAEE,MAAM;AACJrD,MAAAA,YAAY,CAACS,GAAb,CAAiB,iDAAjB;AACA,WAAKqC,QAAL,CAAc,EAAd;AACD,KALH,CADF;;AAQA,SAAKI,cAAL,CAAoBC,IAApB,CAAyBC,yCAAzB;;AAEA,UAAME,wCAAwC,GAC5CzD,6BAA6B,CAACmD,WAA9B,CACErD,WAAW,CAAC4D,0BADd,EAEE,MAAM;AACJvD,MAAAA,YAAY,CAACS,GAAb,CAAiB,gDAAjB;AACA,WAAKqC,QAAL,CAAc,EAAd;AACD,KALH,CADF;;AAQA,SAAKI,cAAL,CAAoBC,IAApB,CAAyBG,wCAAzB;;AAEA,UAAME,gCAAgC,GACpC3D,6BAA6B,CAACmD,WAA9B,CACErD,WAAW,CAAC8D,kBADd,EAEE,MAAM;AACJzD,MAAAA,YAAY,CAACS,GAAb,CAAiB,wCAAjB;AACA,WAAKqC,QAAL,CAAc,EAAd;AACD,KALH,CADF;;AAQA,SAAKI,cAAL,CAAoBC,IAApB,CAAyBK,gCAAzB;;AAEA,UAAME,sCAAsC,GAC1C7D,6BAA6B,CAACmD,WAA9B,CACErD,WAAW,CAACgE,wBADd,EAEE,MAAM;AACJ3D,MAAAA,YAAY,CAACS,GAAb,CAAiB,8CAAjB;AACA,WAAKqC,QAAL,CAAc,EAAd;AACD,KALH,CADF;;AAQA,SAAKI,cAAL,CAAoBC,IAApB,CAAyBO,sCAAzB;;AAEA,UAAME,kDAAkD,GACtD/D,6BAA6B,CAACmD,WAA9B,CACErD,WAAW,CAACkE,oCADd,EAEE,MAAM;AACJ7D,MAAAA,YAAY,CAACS,GAAb,CACE,0DADF;AAGA,WAAKqC,QAAL,CAAc,EAAd;AACD,KAPH,CADF;;AAUA,SAAKI,cAAL,CAAoBC,IAApB,CACES,kDADF;AAGD;AAED;AACF;AACA;;;AACEE,EAAAA,oBAAoB,GAAG;AACrB9D,IAAAA,YAAY,CAACS,GAAb,CACG,kCAAiCC,IAAI,CAACC,SAAL,CAAe,KAAKJ,KAApB,CAA2B,EAD/D;;AAIA,SAAK2C,cAAL,CAAoBa,OAApB,CAA6BC,KAAD,IAAW;AACrCA,MAAAA,KAAK,CAACC,MAAN;AACD,KAFD;;AAIA,SAAKf,cAAL,GAAsB,EAAtB;AACD;AAED;AACF;AACA;;;AACEgB,EAAAA,MAAM,GAAG;AAAA;;AACP,QAAI,CAAC,KAAKzB,KAAL,CAAWC,aAAhB,EAA+B;AAC7B,aAAO,IAAP;AACD;;AAED,UAAMyB,aAAa,GAAGzE,WAAW,CAAC2C,WAAZ,GAA0B+B,YAAhD;AACA,UAAMC,WAAW,GAAG3E,WAAW,CAAC2C,WAAZ,GAA0BgC,WAA9C;AACA,UAAMC,mBAAmB,GAAG5E,WAAW,CAAC2C,WAAZ,GAA0BiC,mBAAtD;AACA,UAAMC,oBAAoB,GAAG7E,WAAW,CAAC2C,WAAZ,GAA0BkC,oBAAvD;AACA,UAAMC,eAAe,GAAGD,oBAAH,aAAGA,oBAAH,uBAAGA,oBAAoB,CAAEE,aAA9C;AACA,UAAMC,wBAAwB,GAAGH,oBAAH,aAAGA,oBAAH,uBAAGA,oBAAoB,CAAEI,eAAvD;AACA,UAAMC,kBAAkB,GAAGL,oBAAH,aAAGA,oBAAH,uBAAGA,oBAAoB,CAAEM,SAAjD;AACA,UAAMC,4BAA4B,GAChCP,oBADgC,aAChCA,oBADgC,gDAChCA,oBAAoB,CAAEQ,eADU,oFAChC,sBAAuCC,QADP,2DAChC,uBAAiD5D,QAAjD,EADF;AAEA,UAAM6D,gCAAgC,GACpCV,oBADoC,aACpCA,oBADoC,iDACpCA,oBAAoB,CAAEQ,eADc,2DACpC,uBAAuCG,YADzC;AAEA,UAAMC,iBAAiB,GAAGzF,WAAW,CAAC2C,WAAZ,GAA0B8C,iBAApD;AACA,UAAMC,6BAA6B,GACjC1F,WAAW,CAAC2C,WAAZ,GAA0B+C,6BAD5B;AAGA,UAAM;AACJC,MAAAA,MADI;AAEJC,MAAAA,OAFI;AAGJC,MAAAA,QAHI;AAIJC,MAAAA,aAJI;AAKJC,MAAAA,uBALI;AAMJC,MAAAA,UANI;AAOJC,MAAAA,SAPI;AAQJC,MAAAA,IARI;AASJC,MAAAA,sBATI;AAUJC,MAAAA;AAVI,QAWF,KAAKvF,KAXT;;AAYA,UAAMwF,8BAA8B,GAClC,KAAKC,uCAAL,EADF;;AAGA,UAAMC,sBAAsB,GAAG,KAAKC,0BAAL,EAA/B;;AACA,UAAMC,YAAY,GAAGF,sBAAH,aAAGA,sBAAH,gDAAGA,sBAAsB,CAAEE,YAA3B,0DAAG,sBAAsCC,OAAtC,CAA8C,CAA9C,CAArB;AAEA,UAAMC,WAAW,GAAGJ,sBAAH,aAAGA,sBAAH,iDAAGA,sBAAsB,CAAEK,KAA3B,qFAAG,uBAA+BC,MAAlC,2DAAG,uBAAuCnF,QAAvC,EAApB;AACA,UAAMoF,cAAc,GAAGP,sBAAH,aAAGA,sBAAH,iDAAGA,sBAAsB,CAAEK,KAA3B,2DAAG,uBAA+BzB,SAAtD;AACA,UAAM4B,aAAa,GAAGR,sBAAH,aAAGA,sBAAH,iDAAGA,sBAAsB,CAAEK,KAA3B,qFAAG,uBAA+BI,QAAlC,2DAAG,uBAAyCN,OAAzC,CAAiD,CAAjD,CAAtB;AACA,UAAMO,kBAAkB,GAAGV,sBAAH,aAAGA,sBAAH,iDAAGA,sBAAsB,CAAEK,KAA3B,2DAAG,uBAA+BM,aAA1D;AACA,UAAMC,oBAAoB,GAAGZ,sBAAH,aAAGA,sBAAH,iDAAGA,sBAAsB,CAAEK,KAA3B,2DAAG,uBAA+BvB,eAA5D;AACA,UAAM+B,qBAAqB,GACzBb,sBADyB,aACzBA,sBADyB,iDACzBA,sBAAsB,CAAEK,KADC,2DACzB,uBAA+BS,gBADjC;AAEA,UAAMC,aAAa,GAAGf,sBAAH,aAAGA,sBAAH,uBAAGA,sBAAsB,CAAEe,aAA9C;AACA,UAAMC,cAAc,GAAGhB,sBAAH,aAAGA,sBAAH,kDAAGA,sBAAsB,CAAEiB,QAA3B,4DAAG,wBAAkCX,MAAzD;AACA,UAAMY,aAAa,GACjBlB,sBADiB,aACjBA,sBADiB,kDACjBA,sBAAsB,CAAEiB,QADP,uFACjB,wBAAkCE,SADjB,4DACjB,wBAA6ChB,OAA7C,CAAqD,CAArD,CADF;AAEA,UAAMiB,WAAW,GAAGpB,sBAAH,aAAGA,sBAAH,kDAAGA,sBAAsB,CAAEoB,WAA3B,4DAAG,wBAAqCjG,QAArC,EAApB;AACA,UAAMkG,cAAc,GAAGrB,sBAAH,aAAGA,sBAAH,uBAAGA,sBAAsB,CAAEqB,cAA/C;AACA,UAAMC,WAAW,GAAGtB,sBAAH,aAAGA,sBAAH,uBAAGA,sBAAsB,CAAEsB,WAA5C;AACA,UAAMC,WAAW,GAAGvB,sBAAH,aAAGA,sBAAH,kDAAGA,sBAAsB,CAAEuB,WAA3B,4DAAG,wBAAqCpB,OAArC,CAA6C,CAA7C,CAApB;;AAEA,UAAMqB,wBAAwB,GAAG,KAAKC,4BAAL,EAAjC;;AACA,UAAMC,WAAW,GAAGF,wBAAH,aAAGA,wBAAH,uBAAGA,wBAAwB,CAAEE,WAA9C;AACA,UAAMC,mBAAmB,GAAGH,wBAAH,aAAGA,wBAAH,uBAAGA,wBAAwB,CAAEG,mBAAtD;AACA,UAAMC,eAAe,GAAGJ,wBAAH,aAAGA,wBAAH,uBAAGA,wBAAwB,CAAEI,eAAlD;AACA,UAAMC,kBAAkB,GAAGL,wBAAH,aAAGA,wBAAH,uBAAGA,wBAAwB,CAAEK,kBAArD;AACA,UAAMC,cAAc,GAAGN,wBAAH,aAAGA,wBAAH,uBAAGA,wBAAwB,CAAEM,cAAjD;AACA,UAAMC,YAAY,GAAGP,wBAAH,aAAGA,wBAAH,uBAAGA,wBAAwB,CAAEO,YAA/C;AACA,UAAMC,YAAY,GAAGR,wBAAH,aAAGA,wBAAH,gDAAGA,wBAAwB,CAAES,QAA7B,0DAAG,sBAAoCC,IAAzD;AACA,UAAMC,aAAa,GAAGX,wBAAH,aAAGA,wBAAH,iDAAGA,wBAAwB,CAAES,QAA7B,qFAAG,uBAAoClE,KAAvC,2DAAG,uBAA2CoC,OAA3C,CAAmD,CAAnD,CAAtB;AACA,UAAMiC,qBAAqB,GACzBZ,wBADyB,aACzBA,wBADyB,iDACzBA,wBAAwB,CAAEa,iBADD,2DACzB,uBAA6CH,IAD/C;AAEA,UAAMI,sBAAsB,GAC1Bd,wBAD0B,aAC1BA,wBAD0B,iDAC1BA,wBAAwB,CAAEa,iBADA,qFAC1B,uBAA6CtE,KADnB,2DAC1B,uBAAoDoC,OAApD,CAA4D,CAA5D,CADF;AAEA,UAAMhC,YAAY,GAAGqD,wBAAH,aAAGA,wBAAH,uBAAGA,wBAAwB,CAAErD,YAA/C;AACA,UAAMoE,QAAQ,GAAGf,wBAAH,aAAGA,wBAAH,uBAAGA,wBAAwB,CAAEe,QAA3C;AACA,UAAMC,mBAAmB,GAAGhB,wBAAH,aAAGA,wBAAH,uBAAGA,wBAAwB,CAAEgB,mBAAtD;AACA,UAAMC,mCAAmC,GAAG3I,gBAAgB,CAC1D0H,wBAD0D,aAC1DA,wBAD0D,uBAC1DA,wBAAwB,CAAEkB,4BADgC,CAA5D;AAGA,UAAMC,kCAAkC,GAAG7I,gBAAgB,CACzD0H,wBADyD,aACzDA,wBADyD,uBACzDA,wBAAwB,CAAEoB,2BAD+B,CAA3D;AAGA,UAAMC,oBAAoB,GAAGrB,wBAAH,aAAGA,wBAAH,uBAAGA,wBAAwB,CAAEqB,oBAAvD;AACA,UAAMC,WAAW,GAAGjD,eAAH,aAAGA,eAAH,uBAAGA,eAAe,CAAEiD,WAArC;AACA,UAAMC,eAAe,GAAGlD,eAAH,aAAGA,eAAH,uBAAGA,eAAe,CAAEkD,eAAzC;;AACA,UAAMC,oBAAoB,GAAG,KAAKC,6BAAL,EAA7B;;AACA,UAAMC,wCAAwC,GAAGpJ,gBAAgB,CAC/DkG,sBAD+D,aAC/DA,sBAD+D,uBAC/DA,sBAAsB,CAAEmD,WADuC,CAAjE;AAGA,UAAMC,0CAA0C,GAAGtJ,gBAAgB,CACjE0H,wBADiE,aACjEA,wBADiE,uBACjEA,wBAAwB,CAAE6B,wBADuC,CAAnE;AAGA,UAAMC,mCAAmC,GAAGxJ,gBAAgB,CAC1DkG,sBAD0D,aAC1DA,sBAD0D,uBAC1DA,sBAAsB,CAAEuD,MADkC,CAA5D;AAGA,QAAIC,GAAG,GAAI,iBAAgBtF,aAAc,EAAzC;;AACA,QAAI3E,QAAQ,CAAC2B,EAAT,KAAgB,KAApB,EAA2B;AACzBsI,MAAAA,GAAG,IAAK,gBAAepF,WAAY,EAAnC;AACD;;AACDoF,IAAAA,GAAG,IAAK,wBAAuBnF,mBAAoB,EAAnD;AACAmF,IAAAA,GAAG,IAAK,oBAAmBjF,eAAgB,EAA3C;AACAiF,IAAAA,GAAG,IAAK,6BAA4B/E,wBAAyB,EAA7D;AACA+E,IAAAA,GAAG,IAAK,uBAAsB7E,kBAAmB,EAAjD;;AACA,QAAIpF,QAAQ,CAAC2B,EAAT,KAAgB,SAApB,EAA+B;AAC7BsI,MAAAA,GAAG,IAAK,gCAA+B3E,4BAA6B,EAApE;AACA2E,MAAAA,GAAG,IAAK,oCAAmCxE,gCAAiC,EAA5E;AACD;;AACDwE,IAAAA,GAAG,IAAK,sBAAqBtE,iBAAkB,EAA/C;AACAsE,IAAAA,GAAG,IAAK,kCAAiCrE,6BAA8B,EAAvE;AACAqE,IAAAA,GAAG,IAAK,WAAUpE,MAAO,EAAzB;AACAoE,IAAAA,GAAG,IAAK,YAAWnE,OAAQ,EAA3B;AACAmE,IAAAA,GAAG,IAAK,aAAYlE,QAAS,EAA7B;AACAkE,IAAAA,GAAG,IAAK,kBAAiBjE,aAAc,EAAvC;AACAiE,IAAAA,GAAG,IAAK,6BAA4B1D,8BAA+B,EAAnE;AACA0D,IAAAA,GAAG,IAAK,4BAA2BhE,uBAAwB,EAA3D;AACAgE,IAAAA,GAAG,IAAK,eAAc/D,UAAf,aAAeA,UAAf,uBAAeA,UAAU,CAAEgE,IAAZ,CAAiB,GAAjB,CAAsB,EAA5C;AACAD,IAAAA,GAAG,IAAK,cAAa9D,SAAU,EAA/B;AACA8D,IAAAA,GAAG,IAAK,SAAQ7D,IAAK,EAArB;AACA6D,IAAAA,GAAG,IAAK,2BAA0B5D,sBAAuB,EAAzD;AAEA4D,IAAAA,GAAG,IAAK,gBAAepD,WAAY,EAAnC;;AACA,QAAI7G,QAAQ,CAAC2B,EAAT,KAAgB,SAApB,EAA+B;AAAA;;AAC7BsI,MAAAA,GAAG,IAAK,iBAAgBtD,YAAa,EAArC;AACAsD,MAAAA,GAAG,IAAK,mBAAkBjD,cAAe,EAAzC;AACAiD,MAAAA,GAAG,IAAK,kBAAiBhD,aAAc,EAAvC;AACAgD,MAAAA,GAAG,IAAK,uBAAsB9C,kBAAmB,EAAjD;AACA8C,MAAAA,GAAG,IAAK,kCAAiC5C,oBAAlC,aAAkCA,oBAAlC,uBAAkCA,oBAAoB,CAAE7B,QAAS,EAAxE;AACAyE,MAAAA,GAAG,IAAK,sCAAqC5C,oBAAtC,aAAsCA,oBAAtC,uBAAsCA,oBAAoB,CAAE3B,YAAa,EAAhF;AACAuE,MAAAA,GAAG,IAAK,sCAAqC3C,qBAAtC,aAAsCA,qBAAtC,uBAAsCA,qBAAqB,CAAE6C,WAAY,EAAhF;AACAF,MAAAA,GAAG,IAAK,iCAAgC3C,qBAAjC,aAAiCA,qBAAjC,gDAAiCA,qBAAqB,CAAE8C,MAAxD,0DAAiC,sBAA+BF,IAA/B,CACtC,GADsC,CAEtC,EAFF;AAGAD,MAAAA,GAAG,IAAK,mBAAkBxC,cAAe,EAAzC;AACAwC,MAAAA,GAAG,IAAK,kBAAiBtC,aAAc,EAAvC;AACAsC,MAAAA,GAAG,IAAK,gBAAepC,WAAY,EAAnC;AACD;;AAEDoC,IAAAA,GAAG,IAAK,kBAAiBzC,aAAc,EAAvC;;AACA,QAAIxH,QAAQ,CAAC2B,EAAT,KAAgB,SAApB,EAA+B;AAC7BsI,MAAAA,GAAG,IAAK,mBAAkBnC,cAAe,EAAzC;AACD;;AACDmC,IAAAA,GAAG,IAAK,gBAAelC,WAAY,EAAnC;AACAkC,IAAAA,GAAG,IAAK,gBAAejC,WAAY,EAAnC;AAEAiC,IAAAA,GAAG,IAAK,iBAAgBrF,YAAa,EAArC;;AACA,QAAI5E,QAAQ,CAAC2B,EAAT,KAAgB,SAApB,EAA+B;AAC7BsI,MAAAA,GAAG,IAAK,gBAAe9B,WAAY,EAAnC;AACA8B,MAAAA,GAAG,IAAK,wBAAuB7B,mBAAoB,EAAnD;AACA6B,MAAAA,GAAG,IAAK,oBAAmB5B,eAAgB,EAA3C;AACA4B,MAAAA,GAAG,IAAK,uBAAsB3B,kBAAmB,EAAjD;AACA2B,MAAAA,GAAG,IAAK,mBAAkB1B,cAAe,EAAzC;AACA0B,MAAAA,GAAG,IAAK,iBAAgBzB,YAAa,EAArC;AACAyB,MAAAA,GAAG,IAAK,iBAAgBxB,YAAa,EAArC;AACAwB,MAAAA,GAAG,IAAK,kBAAiBrB,aAAc,EAAvC;AACAqB,MAAAA,GAAG,IAAK,0BAAyBpB,qBAAsB,EAAvD;AACAoB,MAAAA,GAAG,IAAK,2BAA0BlB,sBAAuB,EAAzD;AACAkB,MAAAA,GAAG,IAAK,aAAYjB,QAAS,EAA7B;AACAiB,MAAAA,GAAG,IAAK,0CAAyC,KAAKI,yBAAL,CAC/CpB,mBAD+C,aAC/CA,mBAD+C,uBAC/CA,mBAAmB,CAAEqB,iBAD0B,CAE/C,EAFF;AAGAL,MAAAA,GAAG,IAAK,oCAAmC,KAAKI,yBAAL,CACzCpB,mBADyC,aACzCA,mBADyC,uBACzCA,mBAAmB,CAAEsB,WADoB,CAEzC,EAFF;AAGAN,MAAAA,GAAG,IAAK,mCAAkC,KAAKI,yBAAL,CACxCpB,mBADwC,aACxCA,mBADwC,uBACxCA,mBAAmB,CAAEuB,UADmB,CAExC,EAFF;AAGAP,MAAAA,GAAG,IAAK,qCAAoC,KAAKI,yBAAL,CAC1CpB,mBAD0C,aAC1CA,mBAD0C,uBAC1CA,mBAAmB,CAAEwB,YADqB,CAE1C,EAFF;AAGAR,MAAAA,GAAG,IAAK,mCAAkC,KAAKI,yBAAL,CACxCpB,mBADwC,aACxCA,mBADwC,uBACxCA,mBAAmB,CAAEyB,UADmB,CAExC,EAFF;AAGAT,MAAAA,GAAG,IAAK,oCAAmC,KAAKI,yBAAL,CACzCpB,mBADyC,aACzCA,mBADyC,uBACzCA,mBAAmB,CAAE0B,WADoB,CAEzC,EAFF;AAGAV,MAAAA,GAAG,IAAK,iCAAgCf,mCAAoC,EAA5E;AACAe,MAAAA,GAAG,IAAK,gCAA+Bb,kCAAmC,EAA1E;AACAa,MAAAA,GAAG,IAAK,yBAAwBX,oBAAqB,EAArD;AACD;;AAEDW,IAAAA,GAAG,IAAK,gBAAeV,WAAY,EAAnC;AACAU,IAAAA,GAAG,IAAK,oBAAmBT,eAAgB,EAA3C;AACAS,IAAAA,GAAG,IAAK,mBAAkBR,oBAAqB,EAA/C;AACAQ,IAAAA,GAAG,IAAK,sCAAqCN,wCAAyC,EAAtF;AACAM,IAAAA,GAAG,IAAK,wCAAuCJ,0CAA2C,EAA1F;AACAI,IAAAA,GAAG,IAAK,iCAAgCF,mCAAoC,EAA5E;AACAa,IAAAA,OAAO,CAAC3J,GAAR,CAAY,gBAAZ,EAA8BgJ,GAA9B;AAEA,wBACE,oBAAC,WAAD;AACE,MAAA,GAAG,EAAEA;AADP,OAEM,KAAKlJ,KAFX;AAGE,MAAA,sBAAsB,EAAE8J,SAH1B;AAIE,MAAA,sBAAsB,EAAEpE,sBAJ1B;AAKE,MAAA,wBAAwB,EAAEwB,wBAL5B;AAME,MAAA,GAAG,EAAE,KAAK5G,mBANZ;AAOE,MAAA,uBAAuB,EAAE,KAAKyJ,wBAPhC;AAQE,MAAA,gBAAgB,EAAE,KAAKC,iBARzB;AASE,MAAA,mCAAmC,EACjC,KAAKC,oCAVT;AAYE,MAAA,kCAAkC,EAChC,KAAKC,mCAbT;AAeE,MAAA,oBAAoB,EAAE,KAAKC,qBAf7B;AAgBE,MAAA,IAAI,EAAE9E,IAAF,aAAEA,IAAF,cAAEA,IAAF,GAAU;AAhBhB,OADF;AAoBD;;AAEOI,EAAAA,uCAAuC,GAAW;AACxD,UAAM;AAAE2E,MAAAA;AAAF,QAA+B,KAAKpK,KAA1C;;AACA,QAAI,CAACoK,wBAAL,EAA+B;AAC7B,aAAO,EAAP;AACD;;AAED,QAAIC,YAAY,GAAG,EAAnB;AACA,UAAMC,aAAa,GAAGC,MAAM,CAACC,IAAP,CAAYJ,wBAAZ,EAAsCK,IAAtC,EAAtB;;AACA,SAAK,MAAMvB,GAAX,IAAkBoB,aAAlB,EAAiC;AAC/B,YAAM7G,KAAK,GAAG2G,wBAAwB,CAAClB,GAAD,CAAtC;AACA,YAAMwB,WAAW,GAAGjH,KAAK,CAAC0F,IAAN,CAAW,GAAX,CAApB;;AACA,UAAIkB,YAAY,CAACM,MAAb,GAAsB,CAA1B,EAA6B;AAC3BN,QAAAA,YAAY,IAAI,GAAhB;AACD;;AAEDA,MAAAA,YAAY,IAAK,GAAEnB,GAAI,IAAGwB,WAAY,EAAtC;AACD;;AAED,WAAOL,YAAP;AACD;;AAEO1B,EAAAA,6BAA6B,GAAuB;AAC1D,UAAM;AAAEpD,MAAAA;AAAF,QAAsB,KAAKvF,KAAjC;AACA,UAAM4K,cAAc,GAAGrF,eAAH,aAAGA,eAAH,uBAAGA,eAAe,CAAEqF,cAAxC;;AACA,QAAI,CAACA,cAAL,EAAqB;AACnB,aAAO,EAAP;AACD;;AAED,QAAIP,YAAY,GAAG,EAAnB;;AACA,SAAK,MAAMQ,SAAX,IAAwBD,cAAxB,EAAwC;AACtC,UAAIP,YAAY,CAACM,MAAb,GAAsB,CAA1B,EAA6B;AAC3BN,QAAAA,YAAY,IAAI,GAAhB;AACD;;AACDA,MAAAA,YAAY,IAAK,GAAEQ,SAAS,CAAC1J,IAAK,IAAG0J,SAAS,CAACpH,KAAM,EAArD;AACD;;AAED,WAAO4G,YAAP;AACD;;AAEOf,EAAAA,yBAAyB,CAACwB,UAAD,EAAkC;AACjE,WAAQ,aAAYA,UAAb,aAAaA,UAAb,uBAAaA,UAAU,CAAEC,SAAU,oBAAmBD,UAAtD,aAAsDA,UAAtD,uBAAsDA,UAAU,CAAEE,eAAgB,cAAaF,UAA/F,aAA+FA,UAA/F,uBAA+FA,UAAU,CAAEG,SAAU,EAA5H;AACD;;AAEOtF,EAAAA,0BAA0B,GAAuC;AACvE,UAAM;AAAED,MAAAA;AAAF,QAA6B,KAAK1F,KAAxC;;AACA,QAAI,CAAC0F,sBAAL,EAA6B;AAC3B,aAAOA,sBAAP;AACD;;AAED,QAAIwF,4BAA4B,GAAGxF,sBAAnC;;AAEA,QACEwF,4BAA4B,CAAClE,WAA7B,IACAmE,IAAI,CAACC,KAAL,CAAWF,4BAA4B,CAAClE,WAAxC,MACEkE,4BAA4B,CAAClE,WAHjC,EAIE;AACA,YAAMA,WAAW,GAAGmE,IAAI,CAACC,KAAL,CAAWF,4BAA4B,CAAClE,WAAxC,CAApB;AACAkE,MAAAA,4BAA4B,GAAG,EAC7B,GAAGA,4BAD0B;AAE7BlE,QAAAA;AAF6B,OAA/B;AAID;;AAED,QACEkE,4BAA4B,CAACnF,KAA7B,IACAmF,4BAA4B,CAACnF,KAA7B,CAAmCM,aADnC,IAEA8E,IAAI,CAACC,KAAL,CAAWF,4BAA4B,CAACnF,KAA7B,CAAmCM,aAA9C,MACE6E,4BAA4B,CAACnF,KAA7B,CAAmCM,aAJvC,EAKE;AACA,YAAMA,aAAa,GAAG8E,IAAI,CAACC,KAAL,CACpBF,4BAA4B,CAACnF,KAA7B,CAAmCM,aADf,CAAtB;AAGA6E,MAAAA,4BAA4B,GAAG,EAC7B,GAAGA,4BAD0B;AAE7BnF,QAAAA,KAAK,EAAE,EACL,GAAGmF,4BAA4B,CAACnF,KAD3B;AAELM,UAAAA;AAFK;AAFsB,OAA/B;AAOD;;AAED,WAAO6E,4BAAP;AACD;;AAEO/D,EAAAA,4BAA4B,GAEtB;AACZ,UAAM;AAAED,MAAAA,wBAAF;AAA4B5B,MAAAA;AAA5B,QAAuD,KAAKtF,KAAlE;AAEA,QAAIqL,8BAES,GAAGnE,wBAFhB;;AAGA,QAAI,OAAO5B,sBAAP,KAAkC,SAAtC,EAAiD;AAC/C,UAAI,CAAC+F,8BAAL,EAAqC;AACnCA,QAAAA,8BAA8B,GAAG,EAAjC;AACD;;AACDA,MAAAA,8BAA8B,GAAG,EAC/B,GAAGA,8BAD4B;AAE/B/F,QAAAA;AAF+B,OAAjC;AAID;;AAED,WAAO+F,8BAAP;AACD;;AAvjBuE;;gBAApExL,S,kBAIkB;AACpBwF,EAAAA,IAAI,EAAE;AADc,C;;AAsjBxB,eAAexF,SAAf","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 ButtonInfo from '../models/ButtonInfo';\nimport type FWError from '../models/FWError';\nimport { FWEventName } from '../models/FWEventName';\nimport { FWNativeErrorAction } from '../models/FWNativeErrorAction';\nimport type VideoFeedConfiguration from '../models/VideoFeedConfiguration';\nimport type { VideoFeedSource } from '../models/VideoFeedSource';\nimport type VideoPlayerConfiguration from '../models/VideoPlayerConfiguration';\nimport type VideoPlayerNativeConfiguration from '../models/VideoPlayerNativeConfiguration';\nimport { FireworkSDKModuleEventEmitter } from '../modules/FireworkSDKModule';\nimport FWGlobalState from '../utils/FWGlobalState';\nimport gennerateJsonKey from '../utils/FWJsonUtil';\nimport FWLoggerUtil from '../utils/FWLoggerUtil';\nimport FWVideoFeed from './FWVideoFeed';\nimport { FWComponentType } from '../models/FWComponentType';\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 * The video or live stream id. Only supported on iOS.\n */\n contentId?: 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.\n */\n adConfiguration?: AdConfiguration;\n /**\n * The feed loading result callback. It means loading successfully when error equals to undefined.\n */\n onVideoFeedLoadFinished?: (error?: FWError) => void;\n /**\n * The callback is triggered when there are no items in the story block.\n * The callback is triggered in the following cases:\n * 1. Loading successfully but the back end returns an empty list.\n * 2. The load failed and list is empty.\n * onVideoFeedLoadFinished will also be triggered when onVideoFeedEmpty is triggered.\n */\n onVideoFeedEmpty?: (error?: FWError) => void;\n /**\n * Start Picture in Picture callback. Only supported on iOS.\n */\n onVideoFeedDidStartPictureInPicture?: (error?: FWError) => void;\n /**\n * Stop Picture in Picture callback. Only supported on iOS.\n */\n onVideoFeedDidStopPictureInPicture?: (error?: FWError) => void;\n /**\n *\n * The host app could use this callback to get feed id.\n * The feed id can be used for conversion tracking.\n */\n onVideoFeedGetFeedId?: (feedId: string) => 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 private _loaded: boolean = false;\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 let reactTag: number | null = findNodeHandle(nativeNodeHandle);\n FWLoggerUtil.log(\n `VideoFeed refresh commandId: ${commandId} nativeNodeHandle: ${nativeNodeHandle} reactTag: ${reactTag}`\n );\n if (!nativeNodeHandle || !reactTag) {\n return;\n }\n UIManager.dispatchViewManagerCommand(reactTag, commandId, []);\n };\n\n private _onVideoFeedLoadFinished = (event: NativeSyntheticEvent<any>) => {\n const { onVideoFeedLoadFinished, onVideoFeedEmpty } = this.props;\n\n const { name, reason, action } = event.nativeEvent;\n\n if (onVideoFeedLoadFinished) {\n if (name) {\n let error: FWError = { name };\n if (reason) {\n error.reason = reason;\n }\n\n if (Platform.OS === 'android') {\n if (!this._loaded) {\n onVideoFeedLoadFinished(error);\n }\n if (\n action === FWNativeErrorAction.loadingFirstPage ||\n !this._loaded\n ) {\n onVideoFeedEmpty?.(error);\n }\n } else {\n onVideoFeedLoadFinished(error);\n if (!this._loaded) {\n onVideoFeedEmpty?.(error);\n }\n }\n } else {\n if (Platform.OS === 'android') {\n if (!this._loaded) {\n onVideoFeedLoadFinished();\n }\n } else {\n onVideoFeedLoadFinished();\n }\n this._loaded = true;\n }\n }\n };\n\n private _onVideoFeedEmpty = (event: NativeSyntheticEvent<any>) => {\n FWLoggerUtil.log(\n `VideoFeed _onVideoFeedLoadFinished ${JSON.stringify(event.nativeEvent)}`\n );\n const { onVideoFeedEmpty } = this.props;\n\n if (onVideoFeedEmpty) {\n onVideoFeedEmpty();\n }\n };\n\n private _onVideoFeedDidStartPictureInPicture = (\n event: NativeSyntheticEvent<any>\n ) => {\n FWLoggerUtil.log(\n `VideoFeed _onVideoFeedDidStartPictureInPicture ${JSON.stringify(\n event.nativeEvent\n )}`\n );\n const { onVideoFeedDidStartPictureInPicture } = this.props;\n\n const { name, reason } = event.nativeEvent;\n\n if (onVideoFeedDidStartPictureInPicture) {\n if (name) {\n if (reason) {\n onVideoFeedDidStartPictureInPicture({ name, reason });\n } else {\n onVideoFeedDidStartPictureInPicture({ name });\n }\n } else {\n onVideoFeedDidStartPictureInPicture();\n }\n }\n };\n\n private _onVideoFeedDidStopPictureInPicture = (\n event: NativeSyntheticEvent<any>\n ) => {\n FWLoggerUtil.log(\n `VideoFeed _onVideoFeedDidStopPictureInPicture ${JSON.stringify(\n event.nativeEvent\n )}`\n );\n const { onVideoFeedDidStopPictureInPicture } = this.props;\n\n const { name, reason } = event.nativeEvent;\n\n if (onVideoFeedDidStopPictureInPicture) {\n if (name) {\n if (reason) {\n onVideoFeedDidStopPictureInPicture({ name, reason });\n } else {\n onVideoFeedDidStopPictureInPicture({ name });\n }\n } else {\n onVideoFeedDidStopPictureInPicture();\n }\n }\n };\n\n private _onVideoFeedGetFeedId = (event: NativeSyntheticEvent<any>) => {\n FWLoggerUtil.log(\n `VideoFeed onVideoFeedGetFeedId ${JSON.stringify(event.nativeEvent)}`\n );\n const { onVideoFeedGetFeedId } = this.props;\n\n const { feedId } = event.nativeEvent;\n\n if (feedId) {\n FWGlobalState.getInstance().componentTypeByFeedIdMap.set(\n feedId,\n FWComponentType.videoFeed\n );\n }\n\n if (onVideoFeedGetFeedId) {\n onVideoFeedGetFeedId(feedId ?? '');\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 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 const subscriptionOfDataTrackingLevelUpdated =\n FireworkSDKModuleEventEmitter.addListener(\n FWEventName.DataTrackingLevelUpdated,\n () => {\n FWLoggerUtil.log('Receive FWEventName.DataTrackingLevelUpdated');\n this.setState({});\n }\n );\n this._subscriptions.push(subscriptionOfDataTrackingLevelUpdated);\n\n const subscriptionOfLivestreamPlayerDesignVersionUpdated =\n FireworkSDKModuleEventEmitter.addListener(\n FWEventName.LivestreamPlayerDesignVersionUpdated,\n () => {\n FWLoggerUtil.log(\n 'Receive FWEventName.LivestreamPlayerDesignVersionUpdated'\n );\n this.setState({});\n }\n );\n this._subscriptions.push(\n subscriptionOfLivestreamPlayerDesignVersionUpdated\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 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 const dataTrackingLevel = FireworkSDK.getInstance().dataTrackingLevel;\n const livestreamPlayerDesignVersion =\n FireworkSDK.getInstance().livestreamPlayerDesignVersion;\n\n const {\n source,\n channel,\n playlist,\n playlistGroup,\n hashtagFilterExpression,\n productIds,\n contentId,\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 titleNumberOfLines = videoFeedConfiguration?.title?.numberOfLines;\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;\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 const buttonConfiguration = videoPlayerConfiguration?.buttonConfiguration;\n const videoPlayerLogoConfigurationJsonKey = gennerateJsonKey(\n videoPlayerConfiguration?.videoPlayerLogoConfiguration\n );\n const countdownTimerConfigurationJsonKey = gennerateJsonKey(\n videoPlayerConfiguration?.countdownTimerConfiguration\n );\n const showVideoDetailTitle = videoPlayerConfiguration?.showVideoDetailTitle;\n const requiresAds = adConfiguration?.requiresAds;\n const adsFetchTimeout = adConfiguration?.adsFetchTimeout;\n const vastAttributesString = this._generateVastAttributesString();\n const replayBadgeVideoFeedConfigurationJsonKey = gennerateJsonKey(\n videoFeedConfiguration?.replayBadge\n );\n const replayBadgeVideoPlayerConfigurationJsonKey = gennerateJsonKey(\n videoPlayerConfiguration?.replayBadgeConfiguration\n );\n const shadowVideoFeedConfigurationJsonKey = gennerateJsonKey(\n videoFeedConfiguration?.shadow\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 key += `_dataTrackingLevel:${dataTrackingLevel}`;\n key += `_livestreamPlayerDesignVersion:${livestreamPlayerDesignVersion}`;\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 += `_contentId:${contentId}`;\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 += `_titleNumberOfLines:${titleNumberOfLines}`;\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 if (Platform.OS === 'android') {\n key += `_enableAutoplay:${enableAutoplay}`;\n }\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 key += `_buttonConfiguration.videoDetailButton:${this._generateButtonInfoString(\n buttonConfiguration?.videoDetailButton\n )}`;\n key += `_buttonConfiguration.closeButton:${this._generateButtonInfoString(\n buttonConfiguration?.closeButton\n )}`;\n key += `_buttonConfiguration.muteButton:${this._generateButtonInfoString(\n buttonConfiguration?.muteButton\n )}`;\n key += `_buttonConfiguration.unmuteButton:${this._generateButtonInfoString(\n buttonConfiguration?.unmuteButton\n )}`;\n key += `_buttonConfiguration.playButton:${this._generateButtonInfoString(\n buttonConfiguration?.playButton\n )}`;\n key += `_buttonConfiguration.pauseButton:${this._generateButtonInfoString(\n buttonConfiguration?.pauseButton\n )}`;\n key += `_videoPlayerLogoConfiguration:${videoPlayerLogoConfigurationJsonKey}`;\n key += `_countdownTimerConfiguration:${countdownTimerConfigurationJsonKey}`;\n key += `_showVideoDetailTitle:${showVideoDetailTitle}`;\n }\n\n key += `_requiresAds:${requiresAds}`;\n key += `_adsFetchTimeout:${adsFetchTimeout}`;\n key += `_vastAttributes:${vastAttributesString}`;\n key += `_replayBadgeVideoFeedConfiguration:${replayBadgeVideoFeedConfigurationJsonKey}`;\n key += `_replayBadgeVideoPlayerConfiguration:${replayBadgeVideoPlayerConfigurationJsonKey}`;\n key += `_shadowVideoFeedConfiguration:${shadowVideoFeedConfigurationJsonKey}`;\n console.log('video feed key', key);\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 onVideoFeedEmpty={this._onVideoFeedEmpty}\n onVideoFeedDidStartPictureInPicture={\n this._onVideoFeedDidStartPictureInPicture\n }\n onVideoFeedDidStopPictureInPicture={\n this._onVideoFeedDidStopPictureInPicture\n }\n onVideoFeedGetFeedId={this._onVideoFeedGetFeedId}\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 _generateButtonInfoString(buttonInfo?: ButtonInfo): string {\n return `imageName:${buttonInfo?.imageName}_systemImageName:${buttonInfo?.systemImageName}_tintColor:${buttonInfo?.tintColor}`;\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"]}
@@ -6,9 +6,10 @@ import LiveStream from './LiveStream';
6
6
  import { FWComponentType } from './models/FWComponentType';
7
7
  import LiveStreamChatEventName from './models/LiveStreamChatEventName';
8
8
  import LiveStreamEventName from './models/LiveStreamEventName';
9
+ import LivestreamPlayerDesignVersion from './models/LivestreamPlayerDesignVersion';
9
10
  import VideoPlaybackEventName from './models/VideoPlaybackEventName';
10
11
  import VideoFeedUtil from './utils/VideoFeedUtil';
11
12
  import VideoShopping from './VideoShopping';
12
13
  export default FireworkSDK;
13
- export { FireworkSDK, FWComponentType, FWNavigator, LiveStream, LiveStreamChatEventName, LiveStreamEventName, StoryBlock, VideoFeed, VideoFeedUtil, VideoPlaybackEventName, VideoShopping };
14
+ export { FireworkSDK, FWComponentType, FWNavigator, LiveStream, LiveStreamChatEventName, LiveStreamEventName, LivestreamPlayerDesignVersion, StoryBlock, VideoFeed, VideoFeedUtil, VideoPlaybackEventName, VideoShopping };
14
15
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["index.ts"],"names":["StoryBlock","VideoFeed","FireworkSDK","FWNavigator","LiveStream","FWComponentType","LiveStreamChatEventName","LiveStreamEventName","VideoPlaybackEventName","VideoFeedUtil","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;AAWA,SAASC,eAAT,QAAgC,0BAAhC;AAwBA,OAAOC,uBAAP,MAAoC,kCAApC;AAEA,OAAOC,mBAAP,MAAgC,8BAAhC;AAsCA,OAAOC,sBAAP,MAAmC,iCAAnC;AAgBA,OAAOC,aAAP,MAA0B,uBAA1B;AASA,OAAOC,aAAP,MAA0B,iBAA1B;AAEA,eAAeR,WAAf;AAEA,SAoBEA,WApBF,EAqBEG,eArBF,EAuBEF,WAvBF,EAiCEC,UAjCF,EAmCEE,uBAnCF,EAsCEC,mBAtCF,EAmEEP,UAnEF,EA0EEC,SA1EF,EAoFEQ,aApFF,EAyFED,sBAzFF,EAsGEE,aAtGF","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 ButtonInfo from './models/ButtonInfo';\nimport type CountdownTimerConfiguration from './models/CountdownTimerConfiguration';\nimport type { CountdownTimerAppearanceMode } from './models/CountdownTimerConfiguration';\nimport type { DataTrackingLevel } from './models/DataTrackingLevel';\nimport type FeedItemDetails from './models/FeedItemDetails';\nimport { FWComponentType } from './models/FWComponentType';\nimport type FWError from './models/FWError';\nimport type {\n ClickProductEvent,\n CustomClickCartIconEvent,\n CustomClickLinkButtonEvent,\n CustomCTAClickEvent,\n CustomTapProductCardEvent,\n LiveStreamChatEvent,\n LiveStreamEvent,\n PlayerHandler,\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 ProductCardConfiguration,\n ProductCardCTAButtonStyle,\n ProductCardCTAButtonText,\n ProductCardIconConfiguration,\n ProductCardLabelConfiguration,\n ProductCardPriceConfiguration,\n ProductCardPriceLabelAxis,\n ProductCardTheme,\n ShoppingCTAButtonConfiguration,\n ShoppingCTAButtonText,\n} from './models/ProductInfoViewConfiguration';\nimport type ProductUnit from './models/ProductUnit';\nimport type { ProductPrice, ProductUnitOption } from './models/ProductUnit';\nimport type PushRNContainerParams from './models/PushRNContainerParams';\nimport type { RNAppProps } from './models/PushRNContainerParams';\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 VideoPlayerButtonConfiguration from './models/VideoPlayerButtonConfiguration';\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 { VideoPlayerLivestreamCountdownTimerTheme } from './models/VideoPlayerLivestreamCountdownTimerTheme';\nimport type {\n VideoPlayerLogoConfiguration,\n VideoPlayerLogoOption,\n} from './models/VideoPlayerLogoConfiguration';\nimport type { VideoPlayerStyle } from './models/VideoPlayerStyle';\nimport VideoFeedUtil from './utils/VideoFeedUtil';\nimport type {\n ClickProductCallback,\n CustomClickCartIconCallback,\n CustomClickLinkButtonCallback,\n CustomTapProductCardCallback,\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 ButtonInfo,\n ClickProductCallback,\n ClickProductEvent,\n CountdownTimerAppearanceMode,\n CountdownTimerConfiguration,\n CustomClickCartIconCallback,\n CustomClickCartIconEvent,\n CustomClickLinkButtonCallback,\n CustomClickLinkButtonEvent,\n CustomCTAClickCallback,\n CustomCTAClickEvent,\n CustomTapProductCardCallback,\n CustomTapProductCardEvent,\n DataTrackingLevel,\n FeedItemDetails,\n FireworkSDK,\n FWComponentType,\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 PlayerHandler,\n Product,\n ProductCardConfiguration,\n ProductCardCTAButtonStyle,\n ProductCardCTAButtonText,\n ProductCardIconConfiguration,\n ProductCardLabelConfiguration,\n ProductCardPriceConfiguration,\n ProductCardPriceLabelAxis,\n ProductCardTheme,\n ProductInfoViewConfiguration,\n ProductPrice,\n ProductUnit,\n ProductUnitOption,\n PushRNContainerParams,\n RNAppProps,\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 VideoFeedUtil,\n VideoLaunchBehavior,\n VideoPlaybackCallback,\n VideoPlaybackDetails,\n VideoPlaybackEvent,\n VideoPlaybackEventName,\n VideoPlayerButtonConfiguration,\n VideoPlayerCompleteAction,\n VideoPlayerConfiguration,\n VideoPlayerCTADelay,\n VideoPlayerCTADelayType,\n VideoPlayerCTAStyle,\n VideoPlayerCTAWidth,\n VideoPlayerLivestreamCountdownTimerTheme,\n VideoPlayerLogoConfiguration,\n VideoPlayerLogoOption,\n VideoPlayerSize,\n VideoPlayerStyle,\n VideoShopping,\n};\n"]}
1
+ {"version":3,"sources":["index.ts"],"names":["StoryBlock","VideoFeed","FireworkSDK","FWNavigator","LiveStream","FWComponentType","LiveStreamChatEventName","LiveStreamEventName","LivestreamPlayerDesignVersion","VideoPlaybackEventName","VideoFeedUtil","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;AAWA,SAASC,eAAT,QAAgC,0BAAhC;AAwBA,OAAOC,uBAAP,MAAoC,kCAApC;AAEA,OAAOC,mBAAP,MAAgC,8BAAhC;AAEA,OAAOC,6BAAP,MAA0C,wCAA1C;AAqCA,OAAOC,sBAAP,MAAmC,iCAAnC;AAgBA,OAAOC,aAAP,MAA0B,uBAA1B;AASA,OAAOC,aAAP,MAA0B,iBAA1B;AAEA,eAAeT,WAAf;AAEA,SAoBEA,WApBF,EAqBEG,eArBF,EAuBEF,WAvBF,EAiCEC,UAjCF,EAmCEE,uBAnCF,EAsCEC,mBAtCF,EAwCEC,6BAxCF,EAoEER,UApEF,EA2EEC,SA3EF,EAqFES,aArFF,EA0FED,sBA1FF,EAuGEE,aAvGF","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 ButtonInfo from './models/ButtonInfo';\nimport type CountdownTimerConfiguration from './models/CountdownTimerConfiguration';\nimport type { CountdownTimerAppearanceMode } from './models/CountdownTimerConfiguration';\nimport type { DataTrackingLevel } from './models/DataTrackingLevel';\nimport type FeedItemDetails from './models/FeedItemDetails';\nimport { FWComponentType } from './models/FWComponentType';\nimport type FWError from './models/FWError';\nimport type {\n ClickProductEvent,\n CustomClickCartIconEvent,\n CustomClickLinkButtonEvent,\n CustomCTAClickEvent,\n CustomTapProductCardEvent,\n LiveStreamChatEvent,\n LiveStreamEvent,\n PlayerHandler,\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 LivestreamPlayerDesignVersion from './models/LivestreamPlayerDesignVersion';\nimport type OpenVideoPlayerConfiguration from './models/OpenVideoPlayerConfiguration';\nimport type Product from './models/Product';\nimport type ProductInfoViewConfiguration from './models/ProductInfoViewConfiguration';\nimport type {\n LinkButtonConfiguration,\n ProductCardConfiguration,\n ProductCardCTAButtonStyle,\n ProductCardCTAButtonText,\n ProductCardIconConfiguration,\n ProductCardLabelConfiguration,\n ProductCardPriceConfiguration,\n ProductCardPriceLabelAxis,\n ProductCardTheme,\n ShoppingCTAButtonConfiguration,\n ShoppingCTAButtonText,\n} from './models/ProductInfoViewConfiguration';\nimport type ProductUnit from './models/ProductUnit';\nimport type { ProductPrice, ProductUnitOption } from './models/ProductUnit';\nimport type PushRNContainerParams from './models/PushRNContainerParams';\nimport type { RNAppProps } from './models/PushRNContainerParams';\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 VideoPlayerButtonConfiguration from './models/VideoPlayerButtonConfiguration';\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 { VideoPlayerLivestreamCountdownTimerTheme } from './models/VideoPlayerLivestreamCountdownTimerTheme';\nimport type {\n VideoPlayerLogoConfiguration,\n VideoPlayerLogoOption,\n} from './models/VideoPlayerLogoConfiguration';\nimport type { VideoPlayerStyle } from './models/VideoPlayerStyle';\nimport VideoFeedUtil from './utils/VideoFeedUtil';\nimport type {\n ClickProductCallback,\n CustomClickCartIconCallback,\n CustomClickLinkButtonCallback,\n CustomTapProductCardCallback,\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 ButtonInfo,\n ClickProductCallback,\n ClickProductEvent,\n CountdownTimerAppearanceMode,\n CountdownTimerConfiguration,\n CustomClickCartIconCallback,\n CustomClickCartIconEvent,\n CustomClickLinkButtonCallback,\n CustomClickLinkButtonEvent,\n CustomCTAClickCallback,\n CustomCTAClickEvent,\n CustomTapProductCardCallback,\n CustomTapProductCardEvent,\n DataTrackingLevel,\n FeedItemDetails,\n FireworkSDK,\n FWComponentType,\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 LivestreamPlayerDesignVersion,\n onLiveStreamChatEventCallback,\n onLiveStreamEventCallback,\n OpenVideoPlayerConfiguration,\n PlayerHandler,\n Product,\n ProductCardConfiguration,\n ProductCardCTAButtonStyle,\n ProductCardCTAButtonText,\n ProductCardIconConfiguration,\n ProductCardLabelConfiguration,\n ProductCardPriceConfiguration,\n ProductCardPriceLabelAxis,\n ProductCardTheme,\n ProductInfoViewConfiguration,\n ProductPrice,\n ProductUnit,\n ProductUnitOption,\n PushRNContainerParams,\n RNAppProps,\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 VideoFeedUtil,\n VideoLaunchBehavior,\n VideoPlaybackCallback,\n VideoPlaybackDetails,\n VideoPlaybackEvent,\n VideoPlaybackEventName,\n VideoPlayerButtonConfiguration,\n VideoPlayerCompleteAction,\n VideoPlayerConfiguration,\n VideoPlayerCTADelay,\n VideoPlayerCTADelayType,\n VideoPlayerCTAStyle,\n VideoPlayerCTAWidth,\n VideoPlayerLivestreamCountdownTimerTheme,\n VideoPlayerLogoConfiguration,\n VideoPlayerLogoOption,\n VideoPlayerSize,\n VideoPlayerStyle,\n VideoShopping,\n};\n"]}
@@ -21,5 +21,7 @@ export let FWEventName;
21
21
  FWEventName["CustomProductCardTap"] = "fw:shopping:custom-product-card-tap";
22
22
  FWEventName["ProductInfoViewConfigurationUpdated"] = "fw:product-info-view-configuration-updated";
23
23
  FWEventName["ProductClick"] = "fw:shopping:product-click";
24
+ FWEventName["LivestreamPlayerDesignVersionUpdated"] = "fw:livestream-player-design-version-updated";
25
+ FWEventName["DataTrackingLevelUpdated"] = "fw:data-tracking-level-updated";
24
26
  })(FWEventName || (FWEventName = {}));
25
27
  //# sourceMappingURL=FWEventName.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["FWEventName.ts"],"names":["FWEventName"],"mappings":"AAAA,WAAYA,WAAZ;;WAAYA,W;AAAAA,EAAAA,W;AAAAA,EAAAA,W;AAAAA,EAAAA,W;AAAAA,EAAAA,W;AAAAA,EAAAA,W;AAAAA,EAAAA,W;AAAAA,EAAAA,W;AAAAA,EAAAA,W;AAAAA,EAAAA,W;AAAAA,EAAAA,W;AAAAA,EAAAA,W;AAAAA,EAAAA,W;AAAAA,EAAAA,W;AAAAA,EAAAA,W;AAAAA,EAAAA,W;AAAAA,EAAAA,W;AAAAA,EAAAA,W;AAAAA,EAAAA,W;AAAAA,EAAAA,W;AAAAA,EAAAA,W;GAAAA,W,KAAAA,W","sourcesContent":["export enum FWEventName {\n SDKInit = 'fw:sdk-init',\n CustomCTAClick = 'fw:custom-cta-click',\n VideoPlayback = 'fw:video-playback',\n VideoFeedClick = 'fw:video-feed-click',\n AddToCart = 'fw:shopping:add-to-cart',\n ShoppingCTAButtonClick = 'fw:shopping:cta-button-click',\n ClickCartIcon = 'fw:shopping:click-cart-icon',\n UpdateProductDetails = 'fw:shopping:update-product-details',\n LiveStream = 'fw:livestream',\n LiveStreamChat = 'fw:livestream-chat',\n ShareBaseURLUpdated = 'fw:share-base-url-updated',\n VideoLaunchBehaviorUpdated = 'fw:video-launch-behavior-updated',\n AdBadgeConfigurationUpdated = 'fw:ad-badge-configuration-updated',\n AppLanguageUpdated = 'fw:app-language-updated',\n NativeAppLanguageUpdated = 'fw:native-app-language-updated',\n LogMessage = 'fw:log-message',\n CustomLinkButtonClick = 'fw:shopping:custom-link-button-click',\n CustomProductCardTap = 'fw:shopping:custom-product-card-tap',\n ProductInfoViewConfigurationUpdated = 'fw:product-info-view-configuration-updated',\n ProductClick = 'fw:shopping:product-click',\n}\n"]}
1
+ {"version":3,"sources":["FWEventName.ts"],"names":["FWEventName"],"mappings":"AAAA,WAAYA,WAAZ;;WAAYA,W;AAAAA,EAAAA,W;AAAAA,EAAAA,W;AAAAA,EAAAA,W;AAAAA,EAAAA,W;AAAAA,EAAAA,W;AAAAA,EAAAA,W;AAAAA,EAAAA,W;AAAAA,EAAAA,W;AAAAA,EAAAA,W;AAAAA,EAAAA,W;AAAAA,EAAAA,W;AAAAA,EAAAA,W;AAAAA,EAAAA,W;AAAAA,EAAAA,W;AAAAA,EAAAA,W;AAAAA,EAAAA,W;AAAAA,EAAAA,W;AAAAA,EAAAA,W;AAAAA,EAAAA,W;AAAAA,EAAAA,W;AAAAA,EAAAA,W;AAAAA,EAAAA,W;GAAAA,W,KAAAA,W","sourcesContent":["export enum FWEventName {\n SDKInit = 'fw:sdk-init',\n CustomCTAClick = 'fw:custom-cta-click',\n VideoPlayback = 'fw:video-playback',\n VideoFeedClick = 'fw:video-feed-click',\n AddToCart = 'fw:shopping:add-to-cart',\n ShoppingCTAButtonClick = 'fw:shopping:cta-button-click',\n ClickCartIcon = 'fw:shopping:click-cart-icon',\n UpdateProductDetails = 'fw:shopping:update-product-details',\n LiveStream = 'fw:livestream',\n LiveStreamChat = 'fw:livestream-chat',\n ShareBaseURLUpdated = 'fw:share-base-url-updated',\n VideoLaunchBehaviorUpdated = 'fw:video-launch-behavior-updated',\n AdBadgeConfigurationUpdated = 'fw:ad-badge-configuration-updated',\n AppLanguageUpdated = 'fw:app-language-updated',\n NativeAppLanguageUpdated = 'fw:native-app-language-updated',\n LogMessage = 'fw:log-message',\n CustomLinkButtonClick = 'fw:shopping:custom-link-button-click',\n CustomProductCardTap = 'fw:shopping:custom-product-card-tap',\n ProductInfoViewConfigurationUpdated = 'fw:product-info-view-configuration-updated',\n ProductClick = 'fw:shopping:product-click',\n LivestreamPlayerDesignVersionUpdated = 'fw:livestream-player-design-version-updated',\n DataTrackingLevelUpdated = 'fw:data-tracking-level-updated',\n}\n"]}
@@ -0,0 +1,9 @@
1
+ var LivestreamPlayerDesignVersion;
2
+
3
+ (function (LivestreamPlayerDesignVersion) {
4
+ LivestreamPlayerDesignVersion["v1"] = "v1";
5
+ LivestreamPlayerDesignVersion["v2"] = "v2";
6
+ })(LivestreamPlayerDesignVersion || (LivestreamPlayerDesignVersion = {}));
7
+
8
+ export default LivestreamPlayerDesignVersion;
9
+ //# sourceMappingURL=LivestreamPlayerDesignVersion.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["LivestreamPlayerDesignVersion.ts"],"names":["LivestreamPlayerDesignVersion"],"mappings":"IAAKA,6B;;WAAAA,6B;AAAAA,EAAAA,6B;AAAAA,EAAAA,6B;GAAAA,6B,KAAAA,6B;;AAKL,eAAeA,6BAAf","sourcesContent":["enum LivestreamPlayerDesignVersion {\n v1 = 'v1',\n v2 = 'v2',\n}\n\nexport default LivestreamPlayerDesignVersion;\n"]}