package com.fireworksdk.bridge.models import com.fireworksdk.bridge.models.enums.FWVideoFeedMode import com.fireworksdk.bridge.models.enums.FWVideoFeedSource data class FWVideoFeedPropsModel( val source: FWVideoFeedSource? = null, val channel: String? = null, val playlist: String? = null, val playlistGroup: String? = null, val hashtagFilterExpression: String? = null, val productIds: List? = null, val contentId: String? = null, val shareUrl: String? = null, val mode: FWVideoFeedMode? = null, val videoFeedConfiguration: FWVideoFeedConfigModel? = null, val videoPlayerConfiguration: FWVideoPlayerConfigModel? = null, val dynamicContentParameters: Map>? = null, val marginRight: Double? = null, val cornerRadius: Int? = null, val adConfiguration: FWAdConfigurationModel? = null, val circleShape: Boolean = false, /** * Whether the feed sizes its own height to its content instead of taking a fixed height from the * host app. Only an autosized grid is expanded on Android, see [isAutosizedGrid]. */ val autosizing: Boolean = false, /** * Caps the total number of videos the feed loads. Only forwarded to the native SDK for an * autosized grid, see [isAutosizedGrid]. */ val maxVideos: Int? = null, ) /** * Whether this feed runs the native SDK's expanded grid, the only layout whose height the SDK * derives from its content: `Row` and `Column` keep a fixed height, so autosizing does not apply * there and the RN layer warns and ignores the prop. */ val FWVideoFeedPropsModel.isAutosizedGrid: Boolean get() = autosizing && mode == FWVideoFeedMode.Grid