import type ControlsInset from './ControlsInset'; import type CountdownTimerConfiguration from './CountdownTimerConfiguration'; import type { ReplayBadgeConfiguration } from './ReplayBadgeConfiguration'; import type VideoPlayerButtonConfiguration from './VideoPlayerButtonConfiguration'; import type { ShareButtonPosition } from './ShareButtonPosition'; import type { VideoPlayerCTADelay } from './VideoPlayerCTADelay'; import type { VideoPlayerCTAStyle } from './VideoPlayerCTAStyle'; import type { VideoPlayerCTAWidth } from './VideoPlayerCTAWidth'; import type { FeedCompleteAction } from './FeedCompleteAction'; import type { VideoPlayerCompleteAction } from './VideoPlayerCompleteAction'; import type { VideoPlayerLogoConfiguration } from './VideoPlayerLogoConfiguration'; import type { VideoPlayerStyle } from './VideoPlayerStyle'; import type { StatusBarStyle } from './StatusBarStyle'; import type { PipPlacement } from './PipPlacement'; import type { ScrollDirection } from './ScrollDirection'; export interface StoryBlockConfiguration { /** * Sets the proportion of the video player to its container. */ playerStyle?: VideoPlayerStyle; /** * Behavior occurring after video is complete. * On iOS, the property only applies to full screen mode but not to embedded mode. * On Android, the property applies to both full screen and embedded modes. */ videoCompleteAction?: VideoPlayerCompleteAction; /** * Indicates if the video player shows share button. */ showShareButton?: boolean; /** * The style of CTA button. * Note: iOSFontInfo property is only supported on iOS. */ ctaButtonStyle?: VideoPlayerCTAStyle; /** * Indicates if the video player shows playback button. */ showPlaybackButton?: boolean; /** * Indicates if the video player shows mute button. */ showMuteButton?: boolean; /** * Indicates if Firework branding should be showed or not. */ showBranding?: boolean; /** * Specifies the delay before showing the CTA. */ ctaDelay?: VideoPlayerCTADelay; /** * Specifies the delay before the highlight animation occurs. */ ctaHighlightDelay?: VideoPlayerCTADelay; /** * The share base URL of the video. */ shareBaseURL?: string; /** * Specifies the desired width for the Video Player CTA button. */ ctaWidth?: VideoPlayerCTAWidth; /** * The host app could use this property to customize the button images of the video player. */ buttonConfiguration?: VideoPlayerButtonConfiguration; /** * Specifies if the title should be shown. */ showVideoDetailTitle?: boolean; /** * Specifies the logo configuration * Defaults to { option: 'disabled' } */ videoPlayerLogoConfiguration?: VideoPlayerLogoConfiguration; /** * The configuration of replay badge. * Only supported on iOS. */ replayBadgeConfiguration?: ReplayBadgeConfiguration; /** * Specifies countdown timer configuration. */ countdownTimerConfiguration?: CountdownTimerConfiguration; /** * Specifies the additional controls inset for embedded mode. */ additionalControlsInset?: ControlsInset; /** * Specifies if the media should be extended outside the safe area. * This property only applies to full screen mode. */ shouldExtendMediaOutsideSafeArea?: boolean; /** * Specifies if the status bar should be hidden during video playback. * This property only applies to full screen mode. */ statusBarHidden?: boolean; /** * Specifies the status bar style during video playback. * This property only applies to full screen mode. */ statusBarStyle?: StatusBarStyle; /** * Specifies the placement for in-app PiP. * Defaults to bottomRight. * Only supported on iOS. */ pipPlacement?: PipPlacement; /** * Specifies the scroll direction for the story block. */ scrollDirection?: ScrollDirection; /** * Specifies scroll enabled for vertical. * This property only takes effect when scrollDirection is set to vertical. */ enableScrollForVertical?: boolean; /** * Indicates if the navigation arrow buttons for switching between * previous and next videos are enabled in embedded story block mode. * Defaults to true. */ isArrowButtonVisible?: boolean; /** * Indicates if the navigation arrow buttons for switching between * previous and next videos are enabled in fullscreen mode. * Defaults to true. */ isFullscreenArrowButtonVisible?: boolean; /** * Behavior occurring after feed plays the last video. * This property only applies to full screen mode. * Defaults to loop. */ feedCompleteAction?: FeedCompleteAction; /** * Indicates if the video player shows the more button. * Defaults to true. */ showMoreButton?: boolean; /** * Specifies where the share button should be displayed. * Defaults to 'videoDetailPage'. */ shareButtonPosition?: ShareButtonPosition; /** * Indicates if the story block handles appearance manually. * Defaults to false. */ handleAppearanceManually?: boolean; }