@shortkitsdk/react-native 0.2.45 → 0.2.47

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 (28) hide show
  1. package/android/libs/shortkit-release.aar +0 -0
  2. package/android/src/main/java/com/shortkit/reactnative/ReactOverlayHost.kt +17 -2
  3. package/android/src/main/java/com/shortkit/reactnative/ShortKitBridge.kt +2 -4
  4. package/ios/ShortKitBridge.swift +74 -1
  5. package/ios/ShortKitModule.mm +10 -0
  6. package/ios/ShortKitPushHostViewController.swift +59 -0
  7. package/ios/ShortKitSDK.xcframework/ios-arm64/ShortKitSDK.framework/Info.plist +2 -2
  8. package/ios/ShortKitSDK.xcframework/ios-arm64/ShortKitSDK.framework/Modules/ShortKitSDK.swiftmodule/arm64-apple-ios.abi.json +1296 -107
  9. package/ios/ShortKitSDK.xcframework/ios-arm64/ShortKitSDK.framework/Modules/ShortKitSDK.swiftmodule/arm64-apple-ios.private.swiftinterface +30 -9
  10. package/ios/ShortKitSDK.xcframework/ios-arm64/ShortKitSDK.framework/Modules/ShortKitSDK.swiftmodule/arm64-apple-ios.swiftdoc +0 -0
  11. package/ios/ShortKitSDK.xcframework/ios-arm64/ShortKitSDK.framework/Modules/ShortKitSDK.swiftmodule/arm64-apple-ios.swiftinterface +30 -9
  12. package/ios/ShortKitSDK.xcframework/ios-arm64/ShortKitSDK.framework/ShortKitSDK +0 -0
  13. package/ios/ShortKitSDK.xcframework/ios-arm64/ShortKitSDK.framework/_CodeSignature/CodeResources +9 -9
  14. package/ios/ShortKitSDK.xcframework/ios-arm64_x86_64-simulator/ShortKitSDK.framework/Info.plist +2 -2
  15. package/ios/ShortKitSDK.xcframework/ios-arm64_x86_64-simulator/ShortKitSDK.framework/Modules/ShortKitSDK.swiftmodule/arm64-apple-ios-simulator.abi.json +1296 -107
  16. package/ios/ShortKitSDK.xcframework/ios-arm64_x86_64-simulator/ShortKitSDK.framework/Modules/ShortKitSDK.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface +30 -9
  17. package/ios/ShortKitSDK.xcframework/ios-arm64_x86_64-simulator/ShortKitSDK.framework/Modules/ShortKitSDK.swiftmodule/arm64-apple-ios-simulator.swiftdoc +0 -0
  18. package/ios/ShortKitSDK.xcframework/ios-arm64_x86_64-simulator/ShortKitSDK.framework/Modules/ShortKitSDK.swiftmodule/arm64-apple-ios-simulator.swiftinterface +30 -9
  19. package/ios/ShortKitSDK.xcframework/ios-arm64_x86_64-simulator/ShortKitSDK.framework/Modules/ShortKitSDK.swiftmodule/x86_64-apple-ios-simulator.abi.json +1296 -107
  20. package/ios/ShortKitSDK.xcframework/ios-arm64_x86_64-simulator/ShortKitSDK.framework/Modules/ShortKitSDK.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface +30 -9
  21. package/ios/ShortKitSDK.xcframework/ios-arm64_x86_64-simulator/ShortKitSDK.framework/Modules/ShortKitSDK.swiftmodule/x86_64-apple-ios-simulator.swiftdoc +0 -0
  22. package/ios/ShortKitSDK.xcframework/ios-arm64_x86_64-simulator/ShortKitSDK.framework/Modules/ShortKitSDK.swiftmodule/x86_64-apple-ios-simulator.swiftinterface +30 -9
  23. package/ios/ShortKitSDK.xcframework/ios-arm64_x86_64-simulator/ShortKitSDK.framework/ShortKitSDK +0 -0
  24. package/ios/ShortKitSDK.xcframework/ios-arm64_x86_64-simulator/ShortKitSDK.framework/_CodeSignature/CodeResources +17 -17
  25. package/package.json +1 -1
  26. package/src/ShortKitCommands.ts +39 -0
  27. package/src/index.ts +5 -0
  28. package/src/specs/NativeShortKitModule.ts +4 -0
@@ -252,7 +252,8 @@ public struct FeedConfig : Swift.Codable {
252
252
  public var pullToRefreshEnabled: Swift.Bool
253
253
  public var filter: ShortKitSDK.FeedFilter?
254
254
  public var preload: ShortKitSDK.FeedPreload?
255
- public init(feedHeight: ShortKitSDK.FeedHeight = .fullscreen, scrollAxis: ShortKitSDK.ScrollAxis = .vertical, videoOverlay: ShortKitSDK.VideoOverlayMode = .none, carouselOverlay: ShortKitSDK.CarouselOverlayMode = .none, videoCarouselOverlay: ShortKitSDK.VideoCarouselOverlayMode = .none, surveyOverlay: ShortKitSDK.SurveyOverlayMode = .none, adOverlay: ShortKitSDK.AdOverlayMode = .none, liveOverlay: ShortKitSDK.LiveOverlayMode = .default, liveEndedOverlay: ShortKitSDK.LiveEndedOverlayMode = .default, liveRoomMask: ShortKitSDK.LiveRoomMaskMode = .none, muteOnStart: Swift.Bool = true, autoplay: Swift.Bool = true, feedSource: ShortKitSDK.FeedSource = .algorithmic, coldStartEnabled: Swift.Bool = false, pullToRefreshEnabled: Swift.Bool = true, filter: ShortKitSDK.FeedFilter? = nil, preload: ShortKitSDK.FeedPreload? = nil)
255
+ public var shouldExpandLiveRoom: ((ShortKitSDK.ContentItem) -> Swift.Bool)?
256
+ public init(feedHeight: ShortKitSDK.FeedHeight = .fullscreen, scrollAxis: ShortKitSDK.ScrollAxis = .vertical, videoOverlay: ShortKitSDK.VideoOverlayMode = .none, carouselOverlay: ShortKitSDK.CarouselOverlayMode = .none, videoCarouselOverlay: ShortKitSDK.VideoCarouselOverlayMode = .none, surveyOverlay: ShortKitSDK.SurveyOverlayMode = .none, adOverlay: ShortKitSDK.AdOverlayMode = .none, liveOverlay: ShortKitSDK.LiveOverlayMode = .default, liveEndedOverlay: ShortKitSDK.LiveEndedOverlayMode = .default, liveRoomMask: ShortKitSDK.LiveRoomMaskMode = .none, muteOnStart: Swift.Bool = true, autoplay: Swift.Bool = true, feedSource: ShortKitSDK.FeedSource = .algorithmic, coldStartEnabled: Swift.Bool = false, pullToRefreshEnabled: Swift.Bool = true, filter: ShortKitSDK.FeedFilter? = nil, preload: ShortKitSDK.FeedPreload? = nil, shouldExpandLiveRoom: ((ShortKitSDK.ContentItem) -> Swift.Bool)? = nil)
256
257
  public init(from decoder: any Swift.Decoder) throws
257
258
  public func encode(to encoder: any Swift.Encoder) throws
258
259
  }
@@ -532,7 +533,7 @@ public enum ShortKitDownloadError : Swift.Error, Foundation.LocalizedError {
532
533
  }
533
534
  }
534
535
  @_hasMissingDesignatedInitializers final public class FeedPreload : @unchecked Swift.Sendable {
535
- public init(immediateItems items: [ShortKitSDK.FeedInput])
536
+ public init(immediateItems items: [ShortKitSDK.FeedInput], isSeed: Swift.Bool = false)
536
537
  @objc deinit
537
538
  }
538
539
  @_Concurrency.MainActor @preconcurrency public struct ShortKitFeedView : SwiftUI.UIViewControllerRepresentable {
@@ -757,7 +758,7 @@ public enum ContentOrigin : Swift.String, Swift.Codable, Swift.Sendable {
757
758
  }
758
759
  }
759
760
  public enum FeedInput : Swift.Sendable {
760
- case video(playbackId: Swift.String, origin: ShortKitSDK.ContentOrigin = .other, fallbackUrl: Swift.String? = nil)
761
+ case video(playbackId: Swift.String, origin: ShortKitSDK.ContentOrigin = .other, fallbackUrl: Swift.String? = nil, contentId: Swift.String? = nil)
761
762
  case liveStream(playbackId: Swift.String)
762
763
  case imageCarousel(ShortKitSDK.ImageCarouselItem)
763
764
  case videoCarousel(ShortKitSDK.VideoCarouselInput)
@@ -1236,6 +1237,7 @@ final public class ShortKit {
1236
1237
  public init(apiKey: Swift.String, userId: Swift.String? = nil, adProvider: (any ShortKitSDK.ShortKitAdProvider)? = nil, clientAppName: Swift.String? = nil, clientAppVersion: Swift.String? = nil, customDimensions: [Swift.String : Swift.String]? = nil, loadingViewProvider: (() -> UIKit.UIView)? = nil, debugPanelEnabled: Swift.Bool = false, serverTracingEnabled: Swift.Bool = false, consoleTracingEnabled: Swift.Bool = false, poolDebugEnabled: Swift.Bool = false)
1237
1238
  final public func preloadFeed(filter: ShortKitSDK.FeedFilter? = nil, limit: Swift.Int = 10) -> ShortKitSDK.FeedPreload
1238
1239
  final public func preloadFeed(items: [ShortKitSDK.FeedInput]) -> ShortKitSDK.FeedPreload
1240
+ final public func preloadFeed(seedItems: [ShortKitSDK.FeedInput]) -> ShortKitSDK.FeedPreload
1239
1241
  final public func fetchContent(limit: Swift.Int = 10, filter: ShortKitSDK.FeedFilter? = nil) async throws -> [ShortKitSDK.ContentItem]
1240
1242
  final public func setUserId(_ id: Swift.String)
1241
1243
  final public func clearUserId()
@@ -1309,8 +1311,12 @@ extension ShortKitSDK.ShortKitPlayerViewController : UIKit.UIViewControllerTrans
1309
1311
  @_Concurrency.MainActor @preconcurrency public init(shortKit: ShortKitSDK.ShortKit, config: ShortKitSDK.WidgetConfig, items: [ShortKitSDK.WidgetInput] = [])
1310
1312
  @_Concurrency.MainActor @preconcurrency final public func configure(with inputs: [ShortKitSDK.WidgetInput])
1311
1313
  @_Concurrency.MainActor @preconcurrency final public func setFeedItems(_ inputs: [ShortKitSDK.FeedInput])
1314
+ @_Concurrency.MainActor @preconcurrency final public var onContentHeightChange: ((CoreFoundation.CGFloat) -> Swift.Void)?
1315
+ @_Concurrency.MainActor @preconcurrency final public func appendItems(_ inputs: [ShortKitSDK.WidgetInput])
1316
+ @_Concurrency.MainActor @preconcurrency final public func parentScrollViewDidScroll(_ scrollView: UIKit.UIScrollView)
1312
1317
  @_Concurrency.MainActor @preconcurrency @objc override final public func viewDidLoad()
1313
1318
  @_Concurrency.MainActor @preconcurrency @objc override final public func viewDidAppear(_ animated: Swift.Bool)
1319
+ @_Concurrency.MainActor @preconcurrency @objc override final public func viewDidLayoutSubviews()
1314
1320
  @_Concurrency.MainActor @preconcurrency @objc override final public func viewWillDisappear(_ animated: Swift.Bool)
1315
1321
  @objc deinit
1316
1322
  }
@@ -1319,6 +1325,7 @@ extension ShortKitSDK.ShortKitWidgetViewController : UIKit.UICollectionViewDataS
1319
1325
  @_Concurrency.MainActor @preconcurrency @objc final public func collectionView(_ collectionView: UIKit.UICollectionView, cellForItemAt indexPath: Foundation.IndexPath) -> UIKit.UICollectionViewCell
1320
1326
  }
1321
1327
  extension ShortKitSDK.ShortKitWidgetViewController : UIKit.UICollectionViewDelegate {
1328
+ @_Concurrency.MainActor @preconcurrency @objc final public func collectionView(_ collectionView: UIKit.UICollectionView, willDisplay cell: UIKit.UICollectionViewCell, forItemAt indexPath: Foundation.IndexPath)
1322
1329
  @_Concurrency.MainActor @preconcurrency @objc final public func collectionView(_ collectionView: UIKit.UICollectionView, didSelectItemAt indexPath: Foundation.IndexPath)
1323
1330
  }
1324
1331
  extension ShortKitSDK.ShortKitWidgetViewController : UIKit.UIViewControllerTransitioningDelegate {
@@ -1326,15 +1333,26 @@ extension ShortKitSDK.ShortKitWidgetViewController : UIKit.UIViewControllerTrans
1326
1333
  @_Concurrency.MainActor @preconcurrency @objc final public func animationController(forDismissed dismissed: UIKit.UIViewController) -> (any UIKit.UIViewControllerAnimatedTransitioning)?
1327
1334
  @_Concurrency.MainActor @preconcurrency @objc final public func interactionControllerForDismissal(using animator: any UIKit.UIViewControllerAnimatedTransitioning) -> (any UIKit.UIViewControllerInteractiveTransitioning)?
1328
1335
  }
1329
- public enum WidgetPlaybackMode : Swift.Equatable, Swift.Sendable {
1330
- case singleVisibleRotating
1331
- case allVisibleSimultaneous
1332
- public static func == (a: ShortKitSDK.WidgetPlaybackMode, b: ShortKitSDK.WidgetPlaybackMode) -> Swift.Bool
1336
+ public enum GridSide : Swift.Equatable, Swift.Sendable {
1337
+ case left
1338
+ case right
1339
+ public static func == (a: ShortKitSDK.GridSide, b: ShortKitSDK.GridSide) -> Swift.Bool
1333
1340
  public func hash(into hasher: inout Swift.Hasher)
1334
1341
  public var hashValue: Swift.Int {
1335
1342
  get
1336
1343
  }
1337
1344
  }
1345
+ public enum WidgetPlaybackMode : Swift.Equatable, Swift.Sendable {
1346
+ case singleVisibleRotating
1347
+ case allVisibleSimultaneous
1348
+ case gridAlternating(startSide: ShortKitSDK.GridSide = .left)
1349
+ public static func == (a: ShortKitSDK.WidgetPlaybackMode, b: ShortKitSDK.WidgetPlaybackMode) -> Swift.Bool
1350
+ }
1351
+ public enum WidgetLayout : Swift.Equatable, Swift.Sendable {
1352
+ case carousel
1353
+ case grid(columns: Swift.Int, cellAspectRatio: CoreFoundation.CGFloat, scrollable: Swift.Bool = true)
1354
+ public static func == (a: ShortKitSDK.WidgetLayout, b: ShortKitSDK.WidgetLayout) -> Swift.Bool
1355
+ }
1338
1356
  public struct WidgetConfig {
1339
1357
  public var cardCount: Swift.Int
1340
1358
  public var cardSpacing: CoreFoundation.CGFloat
@@ -1349,7 +1367,10 @@ public struct WidgetConfig {
1349
1367
  public var filter: ShortKitSDK.FeedFilter?
1350
1368
  public var playbackMode: ShortKitSDK.WidgetPlaybackMode
1351
1369
  public var previewDuration: Foundation.TimeInterval
1352
- public init(cardCount: Swift.Int = 3, cardSpacing: CoreFoundation.CGFloat = 8, cornerRadius: CoreFoundation.CGFloat = 12, autoplay: Swift.Bool = true, muteOnStart: Swift.Bool = true, loop: Swift.Bool = true, rotationInterval: Foundation.TimeInterval = 10, clickAction: ShortKitSDK.PlayerClickAction = .feed, cardOverlay: ShortKitSDK.VideoOverlayMode = .none, feedConfig: ShortKitSDK.FeedConfig = FeedConfig(), filter: ShortKitSDK.FeedFilter? = nil, playbackMode: ShortKitSDK.WidgetPlaybackMode = .singleVisibleRotating, previewDuration: Foundation.TimeInterval = 5.0)
1370
+ public var layout: ShortKitSDK.WidgetLayout
1371
+ public init(cardCount: Swift.Int = 3, cardSpacing: CoreFoundation.CGFloat = 8, cornerRadius: CoreFoundation.CGFloat = 12, autoplay: Swift.Bool = true, muteOnStart: Swift.Bool = true, loop: Swift.Bool = true, rotationInterval: Foundation.TimeInterval = 10, clickAction: ShortKitSDK.PlayerClickAction = .feed, cardOverlay: ShortKitSDK.VideoOverlayMode = .none, feedConfig: ShortKitSDK.FeedConfig = FeedConfig(), filter: ShortKitSDK.FeedFilter? = nil, playbackMode: ShortKitSDK.WidgetPlaybackMode = .singleVisibleRotating, previewDuration: Foundation.TimeInterval = 5.0, layout: ShortKitSDK.WidgetLayout = .carousel)
1372
+ public func gridCellHeight(forContainerWidth width: CoreFoundation.CGFloat) -> CoreFoundation.CGFloat?
1373
+ public func preferredGridHeight(forContainerWidth width: CoreFoundation.CGFloat, itemCount: Swift.Int) -> CoreFoundation.CGFloat?
1353
1374
  public func resolvedFeedConfig() -> ShortKitSDK.FeedConfig
1354
1375
  }
1355
1376
  public enum WidgetInput : Swift.Sendable {
@@ -1397,4 +1418,4 @@ extension ShortKitSDK.ContentSignal : Swift.Hashable {}
1397
1418
  extension ShortKitSDK.PlayerClickAction : Swift.Equatable {}
1398
1419
  extension ShortKitSDK.PlayerClickAction : Swift.Hashable {}
1399
1420
  extension ShortKitSDK.ShortKitPlayerView : Swift.Sendable {}
1400
- extension ShortKitSDK.WidgetPlaybackMode : Swift.Hashable {}
1421
+ extension ShortKitSDK.GridSide : Swift.Hashable {}
@@ -252,7 +252,8 @@ public struct FeedConfig : Swift.Codable {
252
252
  public var pullToRefreshEnabled: Swift.Bool
253
253
  public var filter: ShortKitSDK.FeedFilter?
254
254
  public var preload: ShortKitSDK.FeedPreload?
255
- public init(feedHeight: ShortKitSDK.FeedHeight = .fullscreen, scrollAxis: ShortKitSDK.ScrollAxis = .vertical, videoOverlay: ShortKitSDK.VideoOverlayMode = .none, carouselOverlay: ShortKitSDK.CarouselOverlayMode = .none, videoCarouselOverlay: ShortKitSDK.VideoCarouselOverlayMode = .none, surveyOverlay: ShortKitSDK.SurveyOverlayMode = .none, adOverlay: ShortKitSDK.AdOverlayMode = .none, liveOverlay: ShortKitSDK.LiveOverlayMode = .default, liveEndedOverlay: ShortKitSDK.LiveEndedOverlayMode = .default, liveRoomMask: ShortKitSDK.LiveRoomMaskMode = .none, muteOnStart: Swift.Bool = true, autoplay: Swift.Bool = true, feedSource: ShortKitSDK.FeedSource = .algorithmic, coldStartEnabled: Swift.Bool = false, pullToRefreshEnabled: Swift.Bool = true, filter: ShortKitSDK.FeedFilter? = nil, preload: ShortKitSDK.FeedPreload? = nil)
255
+ public var shouldExpandLiveRoom: ((ShortKitSDK.ContentItem) -> Swift.Bool)?
256
+ public init(feedHeight: ShortKitSDK.FeedHeight = .fullscreen, scrollAxis: ShortKitSDK.ScrollAxis = .vertical, videoOverlay: ShortKitSDK.VideoOverlayMode = .none, carouselOverlay: ShortKitSDK.CarouselOverlayMode = .none, videoCarouselOverlay: ShortKitSDK.VideoCarouselOverlayMode = .none, surveyOverlay: ShortKitSDK.SurveyOverlayMode = .none, adOverlay: ShortKitSDK.AdOverlayMode = .none, liveOverlay: ShortKitSDK.LiveOverlayMode = .default, liveEndedOverlay: ShortKitSDK.LiveEndedOverlayMode = .default, liveRoomMask: ShortKitSDK.LiveRoomMaskMode = .none, muteOnStart: Swift.Bool = true, autoplay: Swift.Bool = true, feedSource: ShortKitSDK.FeedSource = .algorithmic, coldStartEnabled: Swift.Bool = false, pullToRefreshEnabled: Swift.Bool = true, filter: ShortKitSDK.FeedFilter? = nil, preload: ShortKitSDK.FeedPreload? = nil, shouldExpandLiveRoom: ((ShortKitSDK.ContentItem) -> Swift.Bool)? = nil)
256
257
  public init(from decoder: any Swift.Decoder) throws
257
258
  public func encode(to encoder: any Swift.Encoder) throws
258
259
  }
@@ -532,7 +533,7 @@ public enum ShortKitDownloadError : Swift.Error, Foundation.LocalizedError {
532
533
  }
533
534
  }
534
535
  @_hasMissingDesignatedInitializers final public class FeedPreload : @unchecked Swift.Sendable {
535
- public init(immediateItems items: [ShortKitSDK.FeedInput])
536
+ public init(immediateItems items: [ShortKitSDK.FeedInput], isSeed: Swift.Bool = false)
536
537
  @objc deinit
537
538
  }
538
539
  @_Concurrency.MainActor @preconcurrency public struct ShortKitFeedView : SwiftUI.UIViewControllerRepresentable {
@@ -757,7 +758,7 @@ public enum ContentOrigin : Swift.String, Swift.Codable, Swift.Sendable {
757
758
  }
758
759
  }
759
760
  public enum FeedInput : Swift.Sendable {
760
- case video(playbackId: Swift.String, origin: ShortKitSDK.ContentOrigin = .other, fallbackUrl: Swift.String? = nil)
761
+ case video(playbackId: Swift.String, origin: ShortKitSDK.ContentOrigin = .other, fallbackUrl: Swift.String? = nil, contentId: Swift.String? = nil)
761
762
  case liveStream(playbackId: Swift.String)
762
763
  case imageCarousel(ShortKitSDK.ImageCarouselItem)
763
764
  case videoCarousel(ShortKitSDK.VideoCarouselInput)
@@ -1236,6 +1237,7 @@ final public class ShortKit {
1236
1237
  public init(apiKey: Swift.String, userId: Swift.String? = nil, adProvider: (any ShortKitSDK.ShortKitAdProvider)? = nil, clientAppName: Swift.String? = nil, clientAppVersion: Swift.String? = nil, customDimensions: [Swift.String : Swift.String]? = nil, loadingViewProvider: (() -> UIKit.UIView)? = nil, debugPanelEnabled: Swift.Bool = false, serverTracingEnabled: Swift.Bool = false, consoleTracingEnabled: Swift.Bool = false, poolDebugEnabled: Swift.Bool = false)
1237
1238
  final public func preloadFeed(filter: ShortKitSDK.FeedFilter? = nil, limit: Swift.Int = 10) -> ShortKitSDK.FeedPreload
1238
1239
  final public func preloadFeed(items: [ShortKitSDK.FeedInput]) -> ShortKitSDK.FeedPreload
1240
+ final public func preloadFeed(seedItems: [ShortKitSDK.FeedInput]) -> ShortKitSDK.FeedPreload
1239
1241
  final public func fetchContent(limit: Swift.Int = 10, filter: ShortKitSDK.FeedFilter? = nil) async throws -> [ShortKitSDK.ContentItem]
1240
1242
  final public func setUserId(_ id: Swift.String)
1241
1243
  final public func clearUserId()
@@ -1309,8 +1311,12 @@ extension ShortKitSDK.ShortKitPlayerViewController : UIKit.UIViewControllerTrans
1309
1311
  @_Concurrency.MainActor @preconcurrency public init(shortKit: ShortKitSDK.ShortKit, config: ShortKitSDK.WidgetConfig, items: [ShortKitSDK.WidgetInput] = [])
1310
1312
  @_Concurrency.MainActor @preconcurrency final public func configure(with inputs: [ShortKitSDK.WidgetInput])
1311
1313
  @_Concurrency.MainActor @preconcurrency final public func setFeedItems(_ inputs: [ShortKitSDK.FeedInput])
1314
+ @_Concurrency.MainActor @preconcurrency final public var onContentHeightChange: ((CoreFoundation.CGFloat) -> Swift.Void)?
1315
+ @_Concurrency.MainActor @preconcurrency final public func appendItems(_ inputs: [ShortKitSDK.WidgetInput])
1316
+ @_Concurrency.MainActor @preconcurrency final public func parentScrollViewDidScroll(_ scrollView: UIKit.UIScrollView)
1312
1317
  @_Concurrency.MainActor @preconcurrency @objc override final public func viewDidLoad()
1313
1318
  @_Concurrency.MainActor @preconcurrency @objc override final public func viewDidAppear(_ animated: Swift.Bool)
1319
+ @_Concurrency.MainActor @preconcurrency @objc override final public func viewDidLayoutSubviews()
1314
1320
  @_Concurrency.MainActor @preconcurrency @objc override final public func viewWillDisappear(_ animated: Swift.Bool)
1315
1321
  @objc deinit
1316
1322
  }
@@ -1319,6 +1325,7 @@ extension ShortKitSDK.ShortKitWidgetViewController : UIKit.UICollectionViewDataS
1319
1325
  @_Concurrency.MainActor @preconcurrency @objc final public func collectionView(_ collectionView: UIKit.UICollectionView, cellForItemAt indexPath: Foundation.IndexPath) -> UIKit.UICollectionViewCell
1320
1326
  }
1321
1327
  extension ShortKitSDK.ShortKitWidgetViewController : UIKit.UICollectionViewDelegate {
1328
+ @_Concurrency.MainActor @preconcurrency @objc final public func collectionView(_ collectionView: UIKit.UICollectionView, willDisplay cell: UIKit.UICollectionViewCell, forItemAt indexPath: Foundation.IndexPath)
1322
1329
  @_Concurrency.MainActor @preconcurrency @objc final public func collectionView(_ collectionView: UIKit.UICollectionView, didSelectItemAt indexPath: Foundation.IndexPath)
1323
1330
  }
1324
1331
  extension ShortKitSDK.ShortKitWidgetViewController : UIKit.UIViewControllerTransitioningDelegate {
@@ -1326,15 +1333,26 @@ extension ShortKitSDK.ShortKitWidgetViewController : UIKit.UIViewControllerTrans
1326
1333
  @_Concurrency.MainActor @preconcurrency @objc final public func animationController(forDismissed dismissed: UIKit.UIViewController) -> (any UIKit.UIViewControllerAnimatedTransitioning)?
1327
1334
  @_Concurrency.MainActor @preconcurrency @objc final public func interactionControllerForDismissal(using animator: any UIKit.UIViewControllerAnimatedTransitioning) -> (any UIKit.UIViewControllerInteractiveTransitioning)?
1328
1335
  }
1329
- public enum WidgetPlaybackMode : Swift.Equatable, Swift.Sendable {
1330
- case singleVisibleRotating
1331
- case allVisibleSimultaneous
1332
- public static func == (a: ShortKitSDK.WidgetPlaybackMode, b: ShortKitSDK.WidgetPlaybackMode) -> Swift.Bool
1336
+ public enum GridSide : Swift.Equatable, Swift.Sendable {
1337
+ case left
1338
+ case right
1339
+ public static func == (a: ShortKitSDK.GridSide, b: ShortKitSDK.GridSide) -> Swift.Bool
1333
1340
  public func hash(into hasher: inout Swift.Hasher)
1334
1341
  public var hashValue: Swift.Int {
1335
1342
  get
1336
1343
  }
1337
1344
  }
1345
+ public enum WidgetPlaybackMode : Swift.Equatable, Swift.Sendable {
1346
+ case singleVisibleRotating
1347
+ case allVisibleSimultaneous
1348
+ case gridAlternating(startSide: ShortKitSDK.GridSide = .left)
1349
+ public static func == (a: ShortKitSDK.WidgetPlaybackMode, b: ShortKitSDK.WidgetPlaybackMode) -> Swift.Bool
1350
+ }
1351
+ public enum WidgetLayout : Swift.Equatable, Swift.Sendable {
1352
+ case carousel
1353
+ case grid(columns: Swift.Int, cellAspectRatio: CoreFoundation.CGFloat, scrollable: Swift.Bool = true)
1354
+ public static func == (a: ShortKitSDK.WidgetLayout, b: ShortKitSDK.WidgetLayout) -> Swift.Bool
1355
+ }
1338
1356
  public struct WidgetConfig {
1339
1357
  public var cardCount: Swift.Int
1340
1358
  public var cardSpacing: CoreFoundation.CGFloat
@@ -1349,7 +1367,10 @@ public struct WidgetConfig {
1349
1367
  public var filter: ShortKitSDK.FeedFilter?
1350
1368
  public var playbackMode: ShortKitSDK.WidgetPlaybackMode
1351
1369
  public var previewDuration: Foundation.TimeInterval
1352
- public init(cardCount: Swift.Int = 3, cardSpacing: CoreFoundation.CGFloat = 8, cornerRadius: CoreFoundation.CGFloat = 12, autoplay: Swift.Bool = true, muteOnStart: Swift.Bool = true, loop: Swift.Bool = true, rotationInterval: Foundation.TimeInterval = 10, clickAction: ShortKitSDK.PlayerClickAction = .feed, cardOverlay: ShortKitSDK.VideoOverlayMode = .none, feedConfig: ShortKitSDK.FeedConfig = FeedConfig(), filter: ShortKitSDK.FeedFilter? = nil, playbackMode: ShortKitSDK.WidgetPlaybackMode = .singleVisibleRotating, previewDuration: Foundation.TimeInterval = 5.0)
1370
+ public var layout: ShortKitSDK.WidgetLayout
1371
+ public init(cardCount: Swift.Int = 3, cardSpacing: CoreFoundation.CGFloat = 8, cornerRadius: CoreFoundation.CGFloat = 12, autoplay: Swift.Bool = true, muteOnStart: Swift.Bool = true, loop: Swift.Bool = true, rotationInterval: Foundation.TimeInterval = 10, clickAction: ShortKitSDK.PlayerClickAction = .feed, cardOverlay: ShortKitSDK.VideoOverlayMode = .none, feedConfig: ShortKitSDK.FeedConfig = FeedConfig(), filter: ShortKitSDK.FeedFilter? = nil, playbackMode: ShortKitSDK.WidgetPlaybackMode = .singleVisibleRotating, previewDuration: Foundation.TimeInterval = 5.0, layout: ShortKitSDK.WidgetLayout = .carousel)
1372
+ public func gridCellHeight(forContainerWidth width: CoreFoundation.CGFloat) -> CoreFoundation.CGFloat?
1373
+ public func preferredGridHeight(forContainerWidth width: CoreFoundation.CGFloat, itemCount: Swift.Int) -> CoreFoundation.CGFloat?
1353
1374
  public func resolvedFeedConfig() -> ShortKitSDK.FeedConfig
1354
1375
  }
1355
1376
  public enum WidgetInput : Swift.Sendable {
@@ -1397,4 +1418,4 @@ extension ShortKitSDK.ContentSignal : Swift.Hashable {}
1397
1418
  extension ShortKitSDK.PlayerClickAction : Swift.Equatable {}
1398
1419
  extension ShortKitSDK.PlayerClickAction : Swift.Hashable {}
1399
1420
  extension ShortKitSDK.ShortKitPlayerView : Swift.Sendable {}
1400
- extension ShortKitSDK.WidgetPlaybackMode : Swift.Hashable {}
1421
+ extension ShortKitSDK.GridSide : Swift.Hashable {}