diff --git a/CHANGELOG.md b/CHANGELOG.md index 8f3f24921..a97636407 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,61 @@ # Changelog +### v3.10.0 (Oct 24, 2023) + +#### Multiple Files Message + * We are now supporting **Multiple Files Message** feature! + * You can select **multiple images and videos** in the message inputs, and send **multiple images** in a single message. + * You can learn more about the feature in our [Multiple Files Message docs page](https://sendbird.com/docs/chat/uikit/v3/ios/features/file-sharing#2-group-channel-3-multiple-file-message). +* Added classes, structs, and enum + * `SBUCollectionViewCell` class + * `SBUMultipleFilesMessageCellParams` class + * `SBUMultipleFilesMessageCell` class + * `SBUMultipleFilesMessageCollectionView` class + * `SBUMultipleFilesMessageCollectionViewCell` class + * `GroupChannel.Preview` struct in `SBUStringSet` class + * `FileUpload.Error` struct in `SBUStringSet` class + * `SBUFileType` enum +* Added methods + * `getFileTypeString(by:)` in `SBUUtils` class + * `openFile(_:)` in `SBUBaseChannelViewController` class + * `multipleFilesMessageFileSizeErrorHandler(_:)` in `SBUGroupChannelViewController` class + * `sendMultipleFilesMessageCompletionHandler` in `SBUGroupChannelViewController` class + * `sendMultipleFilesMessage(fileInfoList:)` in `SBUGroupChannelViewModel` class + * `updateMultipleFilesMessageCell(requestId:index:)` in `SBUGroupChannelViewModel` class + * `pickMultipleImageFiles(itemProviders:)` in `SBUGroupChannelModule.Input` class (>= iOS14.0) + * `register(multipleFilesMessageCell:nib:)` in `SBUGroupChannelModule.List` class + * `onSelectFile(sender:)` in `SBUParentMessageInfoView` class + * `register(multipleFilesMessageCell:nib:) in `SBUMessageThreadMoudle.List` class + * `messageThreadModule(_:didSelectFileAt:multipleFilesMessageCell:forRowAt) in `SBUMessageThreadMoudle.List` class + * `save(fileData:viewController:) in `SBUDownloadManager` class + * `save(fileMessage:parent:) in `SBUDownloadManager` class +* Added properties + * `filesCount` in `MultipleFilesMessage` class extension + * `multipleFilesMessageFileCountLimit` in `SBUAvailable` class + * `uploadSizeLimitBytes` in `SBUAvailable` class + * `uploadSizeLimitMB` in `SBUAvailable` class + * `isMultipleFilesMessageEnabled` in `SBUConfig.GroupChannel.Channel` class + * `multipleFilesMessageParamsSendBuilder` in `SBUGlobalCustomParams` class + * `showPhotoLibraryPicker` in `SBUGroupChannelViewController` class + * `multipleFilesMessageCell` in `SBUGroupChannelModule.List` class + * `isMultipleFilesMessage` in `SBUQuoteMessageInputViewParams` class + * `fileCollectionView` in `SBUParentMessageInfoView` class + * `fileSelectHandler` in `SBUParentMessageInfoView` class + * `onSelectFile(sender:)` in `SBUParentMessageInfoView` class + * `multipleFilesMessageCell` in `SBUMessageThreadMoudle.List` class +* Added delegate methods + * `groupChannelModule(_:didPickMultipleFiles:parentMessage:)` in `SBUGroupChannelModuleInputDelegate` + * `groupChannelModule(_:didSelectFileAt:multipleFilesMessageCell:forRowAt:)` in `SBUGroupChannelModuleListDelegate` + +#### Common +* Fixed autolayout warnings that occur during runtime and cleaned up the entire autolayout-related logic + * Added `sbu_activate(baseView:constraints:)` function on `NSLayoutConstraint` class extension + * Added `Constants` struct on `SBUParentMessageInfoView` class + * Added `updateMessageTextWidth(with:)` function on `SBUParentMessageInfoView` class +* Fixed layout issue with message time labels appearing oversized horizontally +* Fixed incorrect date separator padding size +* Modified condition to check user's `isActive` property when filtering mentionable users + ### v3.9.3 (Oct 12, 2023) - Supported enlarged font size on dateLabel of group channel list and message cell diff --git a/Framework/SendbirdUIKit.xcframework/ios-arm64/SendbirdUIKit.framework/Base.xcconfig b/Framework/SendbirdUIKit.xcframework/ios-arm64/SendbirdUIKit.framework/Base.xcconfig index ea9b6fd34..4f97f9028 100644 --- a/Framework/SendbirdUIKit.xcframework/ios-arm64/SendbirdUIKit.framework/Base.xcconfig +++ b/Framework/SendbirdUIKit.xcframework/ios-arm64/SendbirdUIKit.framework/Base.xcconfig @@ -9,6 +9,6 @@ // Configuration settings file format documentation can be found at: // https://help.apple.com/xcode/#/dev745c5c974 -SBU_APP_VERSION = 3.9.3 -SBU_APP_BUNDLE_VERSION = 3.9.3 +SBU_APP_VERSION = 3.10.0 +SBU_APP_BUNDLE_VERSION = 3.10.0 SENDBIRD_CHAT_SDK_VERSION = 4.12.0 diff --git a/Framework/SendbirdUIKit.xcframework/ios-arm64/SendbirdUIKit.framework/Headers/SendbirdUIKit-Swift.h b/Framework/SendbirdUIKit.xcframework/ios-arm64/SendbirdUIKit.framework/Headers/SendbirdUIKit-Swift.h index 9bc4236a2..1759fa239 100644 --- a/Framework/SendbirdUIKit.xcframework/ios-arm64/SendbirdUIKit.framework/Headers/SendbirdUIKit-Swift.h +++ b/Framework/SendbirdUIKit.xcframework/ios-arm64/SendbirdUIKit.framework/Headers/SendbirdUIKit-Swift.h @@ -258,6 +258,7 @@ using UInt = size_t; #if defined(__OBJC__) + SWIFT_CLASS("_TtCC13SendbirdUIKit9SBUConfig9BaseInput") @interface BaseInput : NSObject - (nonnull instancetype)init SWIFT_UNAVAILABLE; @@ -269,7 +270,6 @@ SWIFT_CLASS("_TtCC13SendbirdUIKit9SBUConfig9BaseInput") @end - @interface BaseInput (SWIFT_EXTENSION(SendbirdUIKit)) @end @@ -444,30 +444,30 @@ SWIFT_CLASS_NAMED("List") @end -/// A module component that represent the list of SBURegisterOperatorModule. +/// A module component that represent the list of SBUInviteUserModule. SWIFT_CLASS_NAMED("List") -@interface SBURegisterOperatorModuleList : SBUBaseChannelSettingsModuleList -- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder OBJC_DESIGNATED_INITIALIZER SWIFT_UNAVAILABLE_MSG("'init' has been renamed to 'SBURegisterOperatorModule.List()'"); -- (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER SWIFT_UNAVAILABLE_MSG("'init' has been renamed to 'SBURegisterOperatorModule.List()'"); +@interface SBUInviteUserModuleList : SBUBaseChannelSettingsModuleList +- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder OBJC_DESIGNATED_INITIALIZER SWIFT_UNAVAILABLE_MSG("'init' has been renamed to 'SBUInviteUserModule.List()'"); +- (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER SWIFT_UNAVAILABLE_MSG("'init' has been renamed to 'SBUInviteUserModule.List()'"); - (void)configureCell:(UITableViewCell * _Nullable)cell indexPath:(NSIndexPath * _Nonnull)indexPath; @end -@interface SBURegisterOperatorModuleList (SWIFT_EXTENSION(SendbirdUIKit)) +@interface SBUInviteUserModuleList (SWIFT_EXTENSION(SendbirdUIKit)) - (void)didSelectRetry; @end -/// A module component that represent the list of SBUInviteUserModule. +/// A module component that represent the list of SBURegisterOperatorModule. SWIFT_CLASS_NAMED("List") -@interface SBUInviteUserModuleList : SBUBaseChannelSettingsModuleList -- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder OBJC_DESIGNATED_INITIALIZER SWIFT_UNAVAILABLE_MSG("'init' has been renamed to 'SBUInviteUserModule.List()'"); -- (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER SWIFT_UNAVAILABLE_MSG("'init' has been renamed to 'SBUInviteUserModule.List()'"); +@interface SBURegisterOperatorModuleList : SBUBaseChannelSettingsModuleList +- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder OBJC_DESIGNATED_INITIALIZER SWIFT_UNAVAILABLE_MSG("'init' has been renamed to 'SBURegisterOperatorModule.List()'"); +- (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER SWIFT_UNAVAILABLE_MSG("'init' has been renamed to 'SBURegisterOperatorModule.List()'"); - (void)configureCell:(UITableViewCell * _Nullable)cell indexPath:(NSIndexPath * _Nonnull)indexPath; @end -@interface SBUInviteUserModuleList (SWIFT_EXTENSION(SendbirdUIKit)) +@interface SBURegisterOperatorModuleList (SWIFT_EXTENSION(SendbirdUIKit)) - (void)didSelectRetry; @end @@ -493,6 +493,17 @@ SWIFT_CLASS_NAMED("List") - (void)didSelectRetry; @end + +@class SBUQuotedBaseMessageView; + +SWIFT_PROTOCOL("_TtP13SendbirdUIKit28SBUQuotedMessageViewDelegate_") +@protocol SBUQuotedMessageViewDelegate +/// Called when SBUQuotedBaseMessageView was tapped. +/// \param quotedMessageView The tapped quoted message view +/// +- (void)didTapQuotedMessageView:(SBUQuotedBaseMessageView * _Nonnull)quotedMessageView; +@end + @class SBDBaseChannel; @class SBDBaseMessage; @class UIScrollView; @@ -535,7 +546,7 @@ SWIFT_CLASS_NAMED("List") /// Updates hidden state of the scrollBottomView. - (void)setScrollBottomViewWithHidden:(BOOL)hidden; /// Reloads table view. This method corresponds to UITableView reloadData(). -- (void)reloadTableView; +- (void)reloadTableViewWithNeedsToLayout:(BOOL)needsToLayout; /// Displays the menu of the message located on the given indexPath value. /// It internally decides whether to show a context menu, a menu for a failed message, or a sheet menu. /// \param message The BaseMessage object that corresponds to the message of the menu to show. @@ -615,130 +626,6 @@ SWIFT_CLASS_NAMED("List") - (enum MessageGroupPosition)getMessageGroupingPositionWithCurrentIndex:(NSInteger)currentIndex SWIFT_WARN_UNUSED_RESULT; @end - -@interface SBUBaseChannelModuleList (SWIFT_EXTENSION(SendbirdUIKit)) -/// Reload data from the channel. This function invokes SBUBaseChannelModuleListDelegate baseChannelModuleDidSelectRetry(_:) -- (void)didSelectRetry; -@end - - -/// A module component that represent the list of SBUUserListModule. -SWIFT_CLASS_NAMED("List") -@interface SBUUserListModuleList : UIView -/// The table view that shows the list of the users. -@property (nonatomic, strong) UITableView * _Nonnull tableView; -/// A view that displays when the table view is empty. -@property (nonatomic, strong) UIView * _Nullable emptyView; -/// The user cell for UITableViewCell object. Use register(userCell:nib:) to update. -@property (nonatomic, strong) UITableViewCell * _Nullable userCell; -@property (nonatomic, readonly, strong) SBDBaseChannel * _Nullable channel; -@property (nonatomic, readonly, copy) NSArray * _Nonnull userList; -- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder OBJC_DESIGNATED_INITIALIZER SWIFT_UNAVAILABLE_MSG("'init' has been renamed to 'SBUUserListModule.List()'"); -- (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER SWIFT_UNAVAILABLE_MSG("'init' has been renamed to 'SBUUserListModule.List()'"); -- (void)setupViews; -- (void)setupLayouts; -/// Reloads table view. This method corresponds to UITableView reloadData(). -- (void)reloadTableView; -/// Registers a custom cell as a user cell based on UITableViewCell. -/// important: -/// To register custom user cell, please use this function before calling configure(delegate:dataSource:userListType:theme:componentTheme:) -/// \code -/// listComponent.register(userCell: MyUserCell) -/// listComponent.configure(delegate: self, dataSource: self, userListType: .type, theme: theme, componentTheme: componentTheme) -/// -/// \endcode\param channelCell Customized user cell -/// -/// \param nib nib information. If the value is nil, the nib file is not used. -/// -- (void)registerWithUserCell:(UITableViewCell * _Nonnull)userCell nib:(UINib * _Nullable)nib; -/// Configures cell for a particular row. -/// \param cell UITableViewCell object -/// -/// \param indexPath An index path representing the cell -/// -- (void)configureCell:(UITableViewCell * _Nullable)cell indexPath:(NSIndexPath * _Nonnull)indexPath; -/// Sets up the cell’s more menu button action. -/// important: -/// Only for the group channel -/// \param user SBUUser obejct -/// -- (void)setMoreMenuTapAction:(SBUUser * _Nonnull)user; -/// Sets up the user profile tap action. -/// If you do not want to use the user profile function, override this function and leave it empty. -/// \param user SBUUser object used for user profile configuration -/// -- (void)setUserProfileTapAction:(SBUUser * _Nonnull)user; -@end - - -@interface SBUUserListModuleList (SWIFT_EXTENSION(SendbirdUIKit)) -- (void)didSelectRetry; -@end - - -@class SBUMessageSearchResultCell; - -/// A module component that represent the list of SBUMessageSearchModule. -SWIFT_CLASS_NAMED("List") -@interface SBUMessageSearchModuleList : UIView -/// The table view to show the list of searched messages. -@property (nonatomic, strong) UITableView * _Nonnull tableView; -/// A view that shows when there is no searched messages. -@property (nonatomic, strong) UIView * _Nullable emptyView; -/// The search result cell for SBUMessageSearchResultCell object. Use register(resultCell:nib:) to update. -@property (nonatomic, strong) SBUMessageSearchResultCell * _Nullable resultCell; -/// The search result list object from messageSearchModule(_:searchResultsInTableView:) data source method. -@property (nonatomic, readonly, copy) NSArray * _Nonnull resultList; -- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder OBJC_DESIGNATED_INITIALIZER SWIFT_UNAVAILABLE_MSG("'init' has been renamed to 'SBUMessageSearchModule.List()'"); -- (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER SWIFT_UNAVAILABLE_MSG("'init' has been renamed to 'SBUMessageSearchModule.List()'"); -/// Set values of the views in the list component when it needs. -- (void)setupViews; -/// Sets layouts of the views in the list component. -- (void)setupLayouts; -/// Registers a custom cell as a search result cell based on SBUMessageSearchResultCell. -/// important: -/// To register custom search result cell, please use this function before calling configure(delegate:dataSource:theme:) -/// \code -/// listComponent.register(resultCell: MyResultCell) -/// listComponent.configure(delegate: self, dataSource: self, theme: theme) -/// -/// \endcode\param channelCell Customized search result cell -/// -/// \param nib nib information. If the value is nil, the nib file is not used. -/// -- (void)registerWithResultCell:(SBUMessageSearchResultCell * _Nonnull)resultCell nib:(UINib * _Nullable)nib; -/// Configures cell for a particular row. -/// \param cell UITableViewCell object -/// -/// \param indexPath An index path representing the searchResultCell -/// -- (void)configureCell:(UITableViewCell * _Nullable)cell indexPath:(NSIndexPath * _Nonnull)indexPath; -/// Reloads table view. This method corresponds to UITableView reloadData(). -- (void)reloadTableView; -/// Retrives the BaseMessage object from the given IndexPath of the tableView. -/// \param indexPath IndexPath of which you want to retrieve the Message object. -/// -/// -/// returns: -/// BaseMessage object of the corresponding IndexPath, or nil if the message can’t be found. -- (SBDBaseMessage * _Nullable)messageAt:(NSIndexPath * _Nonnull)indexPath SWIFT_WARN_UNUSED_RESULT; -@end - - -@interface SBUMessageSearchModuleList (SWIFT_EXTENSION(SendbirdUIKit)) -- (void)didSelectRetry; -@end - -@class SBUQuotedBaseMessageView; - -SWIFT_PROTOCOL("_TtP13SendbirdUIKit28SBUQuotedMessageViewDelegate_") -@protocol SBUQuotedMessageViewDelegate -/// Called when SBUQuotedBaseMessageView was tapped. -/// \param quotedMessageView The tapped quoted message view -/// -- (void)didTapQuotedMessageView:(SBUQuotedBaseMessageView * _Nonnull)quotedMessageView; -@end - @class SBUBaseMessageCell; @class SBDGroupChannel; enum MessagePosition : NSInteger; @@ -753,6 +640,11 @@ SWIFT_CLASS_NAMED("List") @property (nonatomic, readonly, strong) SBUBaseMessageCell * _Nullable userMessageCell; /// The message cell for FileMessage object. Use register(fileMessageCell:nib:) to update. @property (nonatomic, readonly, strong) SBUBaseMessageCell * _Nullable fileMessageCell; +/// The message cell for MultipleFilesMessage object. +/// Use register(multipleFilesMessageCell:nib:) to update. +/// since: +/// 3.10.0 +@property (nonatomic, readonly, strong) SBUBaseMessageCell * _Nullable multipleFilesMessageCell; /// The message cell for some unknown message which is not a type of AdminMessage | UserMessage | FileMessage. Use register(unknownMessageCell:nib:) to update. @property (nonatomic, readonly, strong) SBUBaseMessageCell * _Nullable unknownMessageCell; /// The custom message cell for some BaseMessage. Use register(customMessageCell:nib:) to update. @@ -822,6 +714,20 @@ SWIFT_CLASS_NAMED("List") /// \param nib nib information. If the value is nil, the nib file is not used. /// - (void)registerWithFileMessageCell:(SBUBaseMessageCell * _Nonnull)fileMessageCell nib:(UINib * _Nullable)nib; +/// Registers a custom cell as a multiple files message cell based on SBUBaseMessageCell. +/// important: +/// To register custom message cell, please use this function before calling configure(delegate:dataSource:theme:) +/// \code +/// listComponent.register(multipleFilesMessageCell: MyMultipleFilesMessageCell) +/// listComponent.configure(delegate: self, dataSource: self, theme: theme) +/// +/// \endcodesince: +/// 3.10.0 +/// \param multipleFilesMessageCell Customized multiple files message cell +/// +/// \param nib nib information. If the value is nil, the nib file is not used. +/// +- (void)registerWithMultipleFilesMessageCell:(SBUBaseMessageCell * _Nonnull)multipleFilesMessageCell nib:(UINib * _Nullable)nib; /// Registers a custom cell as a unknown message cell based on SBUBaseMessageCell. /// important: /// To register custom message cell, please use this function before calling configure(delegate:dataSource:theme:) @@ -888,6 +794,119 @@ SWIFT_CLASS_NAMED("List") - (void)threadInfoViewDidTap:(SBUThreadInfoView * _Nonnull)threadInfoView; @end + +/// A module component that represent the list of SBUUserListModule. +SWIFT_CLASS_NAMED("List") +@interface SBUUserListModuleList : UIView +/// The table view that shows the list of the users. +@property (nonatomic, strong) UITableView * _Nonnull tableView; +/// A view that displays when the table view is empty. +@property (nonatomic, strong) UIView * _Nullable emptyView; +/// The user cell for UITableViewCell object. Use register(userCell:nib:) to update. +@property (nonatomic, strong) UITableViewCell * _Nullable userCell; +@property (nonatomic, readonly, strong) SBDBaseChannel * _Nullable channel; +@property (nonatomic, readonly, copy) NSArray * _Nonnull userList; +- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder OBJC_DESIGNATED_INITIALIZER SWIFT_UNAVAILABLE_MSG("'init' has been renamed to 'SBUUserListModule.List()'"); +- (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER SWIFT_UNAVAILABLE_MSG("'init' has been renamed to 'SBUUserListModule.List()'"); +- (void)setupViews; +- (void)setupLayouts; +/// Reloads table view. This method corresponds to UITableView reloadData(). +- (void)reloadTableView; +/// Registers a custom cell as a user cell based on UITableViewCell. +/// important: +/// To register custom user cell, please use this function before calling configure(delegate:dataSource:userListType:theme:componentTheme:) +/// \code +/// listComponent.register(userCell: MyUserCell) +/// listComponent.configure(delegate: self, dataSource: self, userListType: .type, theme: theme, componentTheme: componentTheme) +/// +/// \endcode\param channelCell Customized user cell +/// +/// \param nib nib information. If the value is nil, the nib file is not used. +/// +- (void)registerWithUserCell:(UITableViewCell * _Nonnull)userCell nib:(UINib * _Nullable)nib; +/// Configures cell for a particular row. +/// \param cell UITableViewCell object +/// +/// \param indexPath An index path representing the cell +/// +- (void)configureCell:(UITableViewCell * _Nullable)cell indexPath:(NSIndexPath * _Nonnull)indexPath; +/// Sets up the cell’s more menu button action. +/// important: +/// Only for the group channel +/// \param user SBUUser obejct +/// +- (void)setMoreMenuTapAction:(SBUUser * _Nonnull)user; +/// Sets up the user profile tap action. +/// If you do not want to use the user profile function, override this function and leave it empty. +/// \param user SBUUser object used for user profile configuration +/// +- (void)setUserProfileTapAction:(SBUUser * _Nonnull)user; +@end + + +@interface SBUUserListModuleList (SWIFT_EXTENSION(SendbirdUIKit)) +- (void)didSelectRetry; +@end + +@class SBUMessageSearchResultCell; + +/// A module component that represent the list of SBUMessageSearchModule. +SWIFT_CLASS_NAMED("List") +@interface SBUMessageSearchModuleList : UIView +/// The table view to show the list of searched messages. +@property (nonatomic, strong) UITableView * _Nonnull tableView; +/// A view that shows when there is no searched messages. +@property (nonatomic, strong) UIView * _Nullable emptyView; +/// The search result cell for SBUMessageSearchResultCell object. Use register(resultCell:nib:) to update. +@property (nonatomic, strong) SBUMessageSearchResultCell * _Nullable resultCell; +/// The search result list object from messageSearchModule(_:searchResultsInTableView:) data source method. +@property (nonatomic, readonly, copy) NSArray * _Nonnull resultList; +- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder OBJC_DESIGNATED_INITIALIZER SWIFT_UNAVAILABLE_MSG("'init' has been renamed to 'SBUMessageSearchModule.List()'"); +- (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER SWIFT_UNAVAILABLE_MSG("'init' has been renamed to 'SBUMessageSearchModule.List()'"); +/// Set values of the views in the list component when it needs. +- (void)setupViews; +/// Sets layouts of the views in the list component. +- (void)setupLayouts; +/// Registers a custom cell as a search result cell based on SBUMessageSearchResultCell. +/// important: +/// To register custom search result cell, please use this function before calling configure(delegate:dataSource:theme:) +/// \code +/// listComponent.register(resultCell: MyResultCell) +/// listComponent.configure(delegate: self, dataSource: self, theme: theme) +/// +/// \endcode\param channelCell Customized search result cell +/// +/// \param nib nib information. If the value is nil, the nib file is not used. +/// +- (void)registerWithResultCell:(SBUMessageSearchResultCell * _Nonnull)resultCell nib:(UINib * _Nullable)nib; +/// Configures cell for a particular row. +/// \param cell UITableViewCell object +/// +/// \param indexPath An index path representing the searchResultCell +/// +- (void)configureCell:(UITableViewCell * _Nullable)cell indexPath:(NSIndexPath * _Nonnull)indexPath; +/// Reloads table view. This method corresponds to UITableView reloadData(). +- (void)reloadTableView; +/// Retrives the BaseMessage object from the given IndexPath of the tableView. +/// \param indexPath IndexPath of which you want to retrieve the Message object. +/// +/// +/// returns: +/// BaseMessage object of the corresponding IndexPath, or nil if the message can’t be found. +- (SBDBaseMessage * _Nullable)messageAt:(NSIndexPath * _Nonnull)indexPath SWIFT_WARN_UNUSED_RESULT; +@end + + +@interface SBUMessageSearchModuleList (SWIFT_EXTENSION(SendbirdUIKit)) +- (void)didSelectRetry; +@end + + + +@interface SBUBaseChannelSettingsModuleList (SWIFT_EXTENSION(SendbirdUIKit)) +- (void)didSelectRetry; +@end + @class SBUBaseChannelCell; /// A module component that represent the list of SBUBaseChannelListModule. @@ -960,25 +979,25 @@ SWIFT_CLASS_NAMED("List") @end -@interface SBUBaseChannelSettingsModuleList (SWIFT_EXTENSION(SendbirdUIKit)) +@interface SBUBaseChannelModuleList (SWIFT_EXTENSION(SendbirdUIKit)) +/// Reload data from the channel. This function invokes SBUBaseChannelModuleListDelegate baseChannelModuleDidSelectRetry(_:) - (void)didSelectRetry; @end - @interface SBURegisterOperatorModuleList (SWIFT_EXTENSION(SendbirdUIKit)) - (void)tableView:(UITableView * _Nonnull)tableView didSelectRowAtIndexPath:(NSIndexPath * _Nonnull)indexPath; - (void)tableView:(UITableView * _Nonnull)tableView willDisplayCell:(UITableViewCell * _Nonnull)cell forRowAtIndexPath:(NSIndexPath * _Nonnull)indexPath; @end -@interface SBUCreateChannelModuleList (SWIFT_EXTENSION(SendbirdUIKit)) +@interface SBUInviteUserModuleList (SWIFT_EXTENSION(SendbirdUIKit)) - (void)tableView:(UITableView * _Nonnull)tableView didSelectRowAtIndexPath:(NSIndexPath * _Nonnull)indexPath; - (void)tableView:(UITableView * _Nonnull)tableView willDisplayCell:(UITableViewCell * _Nonnull)cell forRowAtIndexPath:(NSIndexPath * _Nonnull)indexPath; @end -@interface SBUInviteUserModuleList (SWIFT_EXTENSION(SendbirdUIKit)) +@interface SBUCreateChannelModuleList (SWIFT_EXTENSION(SendbirdUIKit)) - (void)tableView:(UITableView * _Nonnull)tableView didSelectRowAtIndexPath:(NSIndexPath * _Nonnull)indexPath; - (void)tableView:(UITableView * _Nonnull)tableView willDisplayCell:(UITableViewCell * _Nonnull)cell forRowAtIndexPath:(NSIndexPath * _Nonnull)indexPath; @end @@ -1088,6 +1107,10 @@ SWIFT_CLASS_NAMED("List") @property (nonatomic, readonly, strong) SBUBaseMessageCell * _Nullable userMessageCell; /// The message cell for FileMessage object. Use register(fileMessageCell:nib:) to update. @property (nonatomic, readonly, strong) SBUBaseMessageCell * _Nullable fileMessageCell; +/// The message cell for MultipleFilesMessage object. Use register(multipleFilesMessageCell:nib:) to update. +/// since: +/// 3.10.0 +@property (nonatomic, readonly, strong) SBUBaseMessageCell * _Nullable multipleFilesMessageCell; /// The message cell for some unknown message which is not a type of AdminMessage | UserMessage | FileMessage. Use register(unknownMessageCell:nib:) to update. @property (nonatomic, readonly, strong) SBUBaseMessageCell * _Nullable unknownMessageCell; /// The custom message cell for some BaseMessage. Use register(customMessageCell:nib:) to update. @@ -1121,7 +1144,7 @@ SWIFT_CLASS_NAMED("List") /// - (void)setMessageCellGestures:(SBUBaseMessageCell * _Nonnull)cell message:(SBDBaseMessage * _Nonnull)message indexPath:(NSIndexPath * _Nonnull)indexPath; /// Reloads table view. This method corresponds to UITableView reloadData(). -- (void)reloadTableView; +- (void)reloadTableViewWithNeedsToLayout:(BOOL)needsToLayout; /// Register the message cell to the table view. - (void)registerWithMessageCell:(SBUBaseMessageCell * _Nonnull)messageCell nib:(UINib * _Nullable)nib; /// Registers a custom cell as a admin message cell based on SBUBaseMessageCell. @@ -1160,6 +1183,20 @@ SWIFT_CLASS_NAMED("List") /// \param nib nib information. If the value is nil, the nib file is not used. /// - (void)registerWithFileMessageCell:(SBUBaseMessageCell * _Nonnull)fileMessageCell nib:(UINib * _Nullable)nib; +/// Registers a custom cell as a multiple files message cell based on SBUBaseMessageCell. +/// important: +/// To register custom message cell, please use this function before calling configure(delegate:dataSource:theme:) +/// \code +/// listComponent.register(multipleFilesMessageCell: MyMultipleFilesMessageCell) +/// listComponent.configure(delegate: self, dataSource: self, theme: theme) +/// +/// \endcodesince: +/// 3.10.0 +/// \param multipleFilesMessageCell Customized multiple files message cell +/// +/// \param nib nib information. If the value is nil, the nib file is not used. +/// +- (void)registerWithMultipleFilesMessageCell:(SBUBaseMessageCell * _Nonnull)multipleFilesMessageCell nib:(UINib * _Nullable)nib; /// Registers a custom cell as a unknown message cell based on SBUBaseMessageCell. /// important: /// To register custom message cell, please use this function before calling configure(delegate:dataSource:theme:) @@ -1217,6 +1254,7 @@ SWIFT_CLASS_NAMED("List") + /// A module component that represent the list of SBUOpenChannelListModule. SWIFT_CLASS_NAMED("List") @interface SBUOpenChannelListModuleList : SBUBaseChannelListModuleList @@ -1238,7 +1276,6 @@ SWIFT_CLASS_NAMED("List") @end - @interface List (SWIFT_EXTENSION(SendbirdUIKit)) - (UIView * _Nullable)tableView:(UITableView * _Nonnull)tableView viewForHeaderInSection:(NSInteger)section SWIFT_WARN_UNUSED_RESULT; - (CGFloat)tableView:(UITableView * _Nonnull)tableView heightForHeaderInSection:(NSInteger)section SWIFT_WARN_UNUSED_RESULT; @@ -1248,6 +1285,23 @@ SWIFT_CLASS_NAMED("List") @end +/// A module component that represent the list of SBUGroupChannelPushSettingsModule. +SWIFT_CLASS_NAMED("List") +@interface SBUGroupChannelPushSettingsModuleList : UIView +- (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER; +- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder OBJC_DESIGNATED_INITIALIZER; +@end + + +@interface SBUGroupChannelPushSettingsModuleList (SWIFT_EXTENSION(SendbirdUIKit)) +- (UIView * _Nullable)tableView:(UITableView * _Nonnull)tableView viewForHeaderInSection:(NSInteger)section SWIFT_WARN_UNUSED_RESULT; +- (CGFloat)tableView:(UITableView * _Nonnull)tableView heightForHeaderInSection:(NSInteger)section SWIFT_WARN_UNUSED_RESULT; +- (UITableViewCell * _Nonnull)tableView:(UITableView * _Nonnull)tableView cellForRowAtIndexPath:(NSIndexPath * _Nonnull)indexPath SWIFT_WARN_UNUSED_RESULT; +- (NSInteger)tableView:(UITableView * _Nonnull)tableView numberOfRowsInSection:(NSInteger)section SWIFT_WARN_UNUSED_RESULT; +- (void)tableView:(UITableView * _Nonnull)tableView didSelectRowAtIndexPath:(NSIndexPath * _Nonnull)indexPath; +@end + + /// A module component that represent the list of SBUModerationsModuleList. SWIFT_CLASS_NAMED("List") @interface SBUModerationsModuleList : UIView @@ -1291,23 +1345,6 @@ SWIFT_CLASS_NAMED("List") - (void)tableView:(UITableView * _Nonnull)tableView didSelectRowAtIndexPath:(NSIndexPath * _Nonnull)indexPath; @end - -/// A module component that represent the list of SBUGroupChannelPushSettingsModule. -SWIFT_CLASS_NAMED("List") -@interface SBUGroupChannelPushSettingsModuleList : UIView -- (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER; -- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder OBJC_DESIGNATED_INITIALIZER; -@end - - -@interface SBUGroupChannelPushSettingsModuleList (SWIFT_EXTENSION(SendbirdUIKit)) -- (UIView * _Nullable)tableView:(UITableView * _Nonnull)tableView viewForHeaderInSection:(NSInteger)section SWIFT_WARN_UNUSED_RESULT; -- (CGFloat)tableView:(UITableView * _Nonnull)tableView heightForHeaderInSection:(NSInteger)section SWIFT_WARN_UNUSED_RESULT; -- (UITableViewCell * _Nonnull)tableView:(UITableView * _Nonnull)tableView cellForRowAtIndexPath:(NSIndexPath * _Nonnull)indexPath SWIFT_WARN_UNUSED_RESULT; -- (NSInteger)tableView:(UITableView * _Nonnull)tableView numberOfRowsInSection:(NSInteger)section SWIFT_WARN_UNUSED_RESULT; -- (void)tableView:(UITableView * _Nonnull)tableView didSelectRowAtIndexPath:(NSIndexPath * _Nonnull)indexPath; -@end - @class UIContextualAction; /// A module component that represent the list of SBUGroupChannelListModule. @@ -1368,6 +1405,18 @@ SWIFT_CLASS_NAMED("List") @end +@interface SBUBaseChannelListModuleList (SWIFT_EXTENSION(SendbirdUIKit)) +- (NSInteger)numberOfSectionsInTableView:(UITableView * _Nonnull)tableView SWIFT_WARN_UNUSED_RESULT; +- (UIView * _Nullable)tableView:(UITableView * _Nonnull)tableView viewForHeaderInSection:(NSInteger)section SWIFT_WARN_UNUSED_RESULT; +- (CGFloat)tableView:(UITableView * _Nonnull)tableView heightForHeaderInSection:(NSInteger)section SWIFT_WARN_UNUSED_RESULT; +- (void)tableView:(UITableView * _Nonnull)tableView didSelectRowAtIndexPath:(NSIndexPath * _Nonnull)indexPath; +- (UITableViewCell * _Nonnull)tableView:(UITableView * _Nonnull)tableView cellForRowAtIndexPath:(NSIndexPath * _Nonnull)indexPath SWIFT_WARN_UNUSED_RESULT; +- (void)tableView:(UITableView * _Nonnull)tableView willDisplayCell:(UITableViewCell * _Nonnull)cell forRowAtIndexPath:(NSIndexPath * _Nonnull)indexPath; +- (NSInteger)tableView:(UITableView * _Nonnull)tableView numberOfRowsInSection:(NSInteger)section SWIFT_WARN_UNUSED_RESULT; +- (UISwipeActionsConfiguration * _Nullable)tableView:(UITableView * _Nonnull)tableView trailingSwipeActionsConfigurationForRowAtIndexPath:(NSIndexPath * _Nonnull)indexPath SWIFT_WARN_UNUSED_RESULT; +@end + + @interface SBUBaseChannelModuleList (SWIFT_EXTENSION(SendbirdUIKit)) @property (nonatomic, readonly) BOOL isScrollNearByBottom; /// Scrolls to the message that is found by id. @@ -1393,18 +1442,6 @@ SWIFT_CLASS_NAMED("List") - (BOOL)checkSameDayAsPrevMessageWithCurrentIndex:(NSInteger)currentIndex fullMessageList:(NSArray * _Nonnull)fullMessageList SWIFT_WARN_UNUSED_RESULT; @end - -@interface SBUBaseChannelListModuleList (SWIFT_EXTENSION(SendbirdUIKit)) -- (NSInteger)numberOfSectionsInTableView:(UITableView * _Nonnull)tableView SWIFT_WARN_UNUSED_RESULT; -- (UIView * _Nullable)tableView:(UITableView * _Nonnull)tableView viewForHeaderInSection:(NSInteger)section SWIFT_WARN_UNUSED_RESULT; -- (CGFloat)tableView:(UITableView * _Nonnull)tableView heightForHeaderInSection:(NSInteger)section SWIFT_WARN_UNUSED_RESULT; -- (void)tableView:(UITableView * _Nonnull)tableView didSelectRowAtIndexPath:(NSIndexPath * _Nonnull)indexPath; -- (UITableViewCell * _Nonnull)tableView:(UITableView * _Nonnull)tableView cellForRowAtIndexPath:(NSIndexPath * _Nonnull)indexPath SWIFT_WARN_UNUSED_RESULT; -- (void)tableView:(UITableView * _Nonnull)tableView willDisplayCell:(UITableViewCell * _Nonnull)cell forRowAtIndexPath:(NSIndexPath * _Nonnull)indexPath; -- (NSInteger)tableView:(UITableView * _Nonnull)tableView numberOfRowsInSection:(NSInteger)section SWIFT_WARN_UNUSED_RESULT; -- (UISwipeActionsConfiguration * _Nullable)tableView:(UITableView * _Nonnull)tableView trailingSwipeActionsConfigurationForRowAtIndexPath:(NSIndexPath * _Nonnull)indexPath SWIFT_WARN_UNUSED_RESULT; -@end - @class SBUVoicePlayer; @class SBUVoiceFileInfo; @@ -1498,6 +1535,8 @@ SWIFT_CLASS("_TtC13SendbirdUIKit21SBUBaseViewController") - (void)setupStyles; /// This function updates styles. - (void)updateStyles; +/// This function updates styles with boolean parameter value that represents whether layout or not +- (void)updateStylesWithNeedsToLayout:(BOOL)needsToLayout; /// This function setups navigationBar’s background color and shadow color. /// \param backgroundColor background color /// @@ -1526,6 +1565,9 @@ SWIFT_CLASS("_TtC13SendbirdUIKit33MessageTemplateTestViewController") + + + /// This is an enumeration for new message info item type. /// since: /// 2.0.0 @@ -1901,7 +1943,7 @@ SWIFT_CLASS("_TtC13SendbirdUIKit28SBUBaseChannelViewController") /// The NSLayoutConstraint value used in baseInputComponent’s bottom anchor constraint. The value is updated when either keyboardWillHide(_:) or keyboardWillShow(_:) is called. /// since: /// 3.2.3 -@property (nonatomic, strong) NSLayoutConstraint * _Null_unspecified messageInputViewBottomConstraint; +@property (nonatomic, strong) NSLayoutConstraint * _Nullable messageInputViewBottomConstraint; - (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder OBJC_DESIGNATED_INITIALIZER SWIFT_UNAVAILABLE; - (nonnull instancetype)initWithNibName:(NSString * _Nullable)nibNameOrNil bundle:(NSBundle * _Nullable)nibBundleOrNil OBJC_DESIGNATED_INITIALIZER; /// If you have channel object, use this initializer. If you have own message list params, please set it. If not set, it is used as the default value. @@ -1926,6 +1968,7 @@ SWIFT_CLASS("_TtC13SendbirdUIKit28SBUBaseChannelViewController") - (nonnull instancetype)initWithBaseChannel:(SBDBaseChannel * _Nonnull)baseChannel messageListParams:(SBDMessageListParams * _Nullable)messageListParams displaysLocalCachedListFirst:(BOOL)displaysLocalCachedListFirst OBJC_DESIGNATED_INITIALIZER; - (void)loadView; - (void)viewWillAppear:(BOOL)animated; +- (void)viewDidAppear:(BOOL)animated; - (void)viewDidLoad; - (void)viewWillDisappear:(BOOL)animated; /// Called when the application will resign activity. @@ -1980,6 +2023,8 @@ SWIFT_CLASS("_TtC13SendbirdUIKit28SBUBaseChannelViewController") /// - (void)updateNewMessageInfoWithHidden:(BOOL)hidden; /// This function opens a file according to the file type. +/// note: +/// Use openFile(_:) instead. /// since: /// 3.0.0 /// \param fileMessage fileMessage object @@ -2508,6 +2553,27 @@ SWIFT_CLASS("_TtC13SendbirdUIKit40SBUChatNotificationChannelViewController") @end +/// Collection view cell that conforms to SBUViewLifeCycle. +/// since: +/// 3.10.0 +SWIFT_CLASS("_TtC13SendbirdUIKit21SBUCollectionViewCell") +@interface SBUCollectionViewCell : UICollectionViewCell +- (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER; +- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder OBJC_DESIGNATED_INITIALIZER; +- (void)layoutSubviews; +@end + + +@interface SBUCollectionViewCell (SWIFT_EXTENSION(SendbirdUIKit)) +- (void)setupViews; +- (void)setupStyles; +- (void)updateStyles; +- (void)setupLayouts; +- (void)updateLayouts; +- (void)setupActions; +@end + + SWIFT_CLASS("_TtC13SendbirdUIKit20SBUCommonContentView") @interface SBUCommonContentView : SBUBaseFileContentView - (void)setupViews; @@ -2936,7 +3002,7 @@ SWIFT_CLASS("_TtC13SendbirdUIKit21SBUFileViewController") @property (nonatomic, strong) UIImageView * _Nonnull imageView; @property (nonatomic, strong) UIScrollView * _Nonnull scrollView; @property (nonatomic, strong) UIView * _Nonnull bottomView; -- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder OBJC_DESIGNATED_INITIALIZER; +- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder OBJC_DESIGNATED_INITIALIZER SWIFT_UNAVAILABLE_MSG("'init' has been renamed to 'init(params:delegate:)'"); - (void)viewDidLoad; - (void)viewWillAppear:(BOOL)animated; - (void)updateViewConstraints; @@ -3326,6 +3392,8 @@ SWIFT_CLASS("_TtC13SendbirdUIKit32SBUGroupChannelSettingsViewModel") @class SBUGroupChannelModuleInput; @class SBUVoiceMessageInputView; @class SBUGroupChannelViewModel; +@class SBUMultipleFilesMessageCell; +@class SBDUploadableFileInfo; @class SBUMentionManager; @class SBUMessageThreadViewController; @@ -3338,6 +3406,11 @@ SWIFT_CLASS("_TtC13SendbirdUIKit29SBUGroupChannelViewController") @property (nonatomic, strong) SBUGroupChannelViewModel * _Nullable viewModel; @property (nonatomic, readonly, strong) SBDGroupChannel * _Nullable channel; @property (nonatomic, readonly) NSInteger newMessagesCount; +/// An error handler that is called when any one of the files size in multiple files message exceeds the file size limit. +/// If needed, override this handler to show your custom alert view. +/// since: +/// 3.10.0 +- (void)multipleFilesMessageFileSizeErrorHandler:(NSString * _Nonnull)message; /// If you have channel object, use this initialize function. And, if you have own message list params, please set it. If not set, it is used as the default value. /// See the example below for params generation. /// \code @@ -3364,20 +3437,30 @@ SWIFT_CLASS("_TtC13SendbirdUIKit29SBUGroupChannelViewController") - (void)setupViews; - (void)setupLayouts; - (void)setupStyles; +- (void)updateStylesWithNeedsToLayout:(BOOL)needsToLayout; - (void)updateStyles; /// This function increases the new message count. - (BOOL)increaseNewMessageCount; - (CGPoint)calculatorMenuPointWithIndexPath:(NSIndexPath * _Nonnull)indexPath position:(enum MessagePosition)position SWIFT_WARN_UNUSED_RESULT SWIFT_DEPRECATED_MSG("Please use `calculateMessageMenuCGPoint(indexPath:position:)` in `SBUGroupChannelModule.List`"); - (void)showMenuModal:(UITableViewCell * _Nonnull)cell indexPath:(NSIndexPath * _Nonnull)indexPath message:(SBDBaseMessage * _Nonnull)message SWIFT_DEPRECATED_MSG("Please use `showMessageContextMenu(message:cell:forRowAt:)` in `SBUGroupChannelModule.List`"); - (void)showChannelSettings; +- (void)imagePickerControllerDidCancel:(UIImagePickerController * _Nonnull)picker; +/// Presents UIImagePickerController. If SBUGlobals.UsingPHPickeris true, it presents PHPickerViewController in iOS 14 or later. +/// note: +/// If you want to use customized PHPickerConfiguration, please override this method. +/// since: +/// 3.10.0 +- (void)showPhotoLibraryPicker; - (void)showVoiceMessageInput; - (void)dismissVoiceMessageInput; - (void)resetVoiceMessageInputFor:(BOOL)resignActivity; - (void)baseChannelViewModel:(SBUBaseChannelViewModel * _Nonnull)viewModel didChangeChannel:(SBDBaseChannel * _Nullable)channel withContext:(SBDMessageContext * _Nonnull)context; - (void)baseChannelViewModel:(SBUBaseChannelViewModel * _Nonnull)viewModel deletedMessages:(NSArray * _Nonnull)messages; - (void)groupChannelViewModel:(SBUGroupChannelViewModel * _Nonnull)viewModel didReceiveSuggestedMentions:(NSArray * _Nullable)members; +- (void)groupChannelViewModel:(SBUGroupChannelViewModel * _Nonnull)viewModel didFinishUploadingFileAt:(NSInteger)index multipleFilesMessageRequestId:(NSString * _Nonnull)requestId; - (void)baseChannelModule:(Header * _Nonnull)headerComponent didTapLeftItem:(UIBarButtonItem * _Nonnull)leftItem; - (void)baseChannelModule:(Header * _Nonnull)headerComponent didTapRightItem:(UIBarButtonItem * _Nonnull)rightItem; +- (void)groupChannelModule:(SBUGroupChannelModuleList * _Nonnull)listComponent didSelectFileAt:(NSInteger)index multipleFilesMessageCell:(SBUMultipleFilesMessageCell * _Nonnull)multipleFilesMessageCell forRowAt:(NSIndexPath * _Nonnull)cellIndexPath; - (void)groupChannelModule:(SBUGroupChannelModuleList * _Nonnull)listComponent didTapEmoji:(NSString * _Nonnull)emojiKey messageCell:(SBUBaseMessageCell * _Nonnull)messageCell; - (void)groupChannelModule:(SBUGroupChannelModuleList * _Nonnull)listComponent didLongTapEmoji:(NSString * _Nonnull)emojiKey messageCell:(SBUBaseMessageCell * _Nonnull)messageCell; - (void)groupChannelModule:(SBUGroupChannelModuleList * _Nonnull)listComponent didTapMoreEmojiForCell:(SBUBaseMessageCell * _Nonnull)messageCell; @@ -3389,6 +3472,7 @@ SWIFT_CLASS("_TtC13SendbirdUIKit29SBUGroupChannelViewController") - (void)baseChannelModule:(SBUBaseChannelModuleList * _Nonnull)listComponent didScroll:(UIScrollView * _Nonnull)scrollView; - (void)baseChannelModule:(Input * _Nonnull)inputComponent didUpdateFrozenState:(BOOL)isFrozen; - (void)groupChannelModule:(SBUGroupChannelModuleInput * _Nonnull)inputComponent didPickFileData:(NSData * _Nullable)fileData fileName:(NSString * _Nonnull)fileName mimeType:(NSString * _Nonnull)mimeType parentMessage:(SBDBaseMessage * _Nullable)parentMessage; +- (void)groupChannelModule:(SBUGroupChannelModuleInput * _Nonnull)inputComponent didPickMultipleFiles:(NSArray * _Nullable)fileInfoList parentMessage:(SBDBaseMessage * _Nullable)parentMessage; - (void)groupChannelModule:(SBUGroupChannelModuleInput * _Nonnull)inputComponent didTapSend:(NSString * _Nonnull)text mentionedMessageTemplate:(NSString * _Nonnull)mentionedMessageTemplate mentionedUserIds:(NSArray * _Nonnull)mentionedUserIds parentMessage:(SBDBaseMessage * _Nullable)parentMessage; - (void)groupChannelModule:(SBUGroupChannelModuleInput * _Nonnull)inputComponent didTapEdit:(NSString * _Nonnull)text mentionedMessageTemplate:(NSString * _Nonnull)mentionedMessageTemplate mentionedUserIds:(NSArray * _Nonnull)mentionedUserIds; - (void)groupChannelModule:(SBUGroupChannelModuleInput * _Nonnull)inputComponent willChangeMode:(enum SBUMessageInputMode)mode message:(SBDBaseMessage * _Nullable)message mentionedMessageTemplate:(NSString * _Nonnull)mentionedMessageTemplate mentionedUserIds:(NSArray * _Nonnull)mentionedUserIds; @@ -3835,6 +3919,9 @@ SWIFT_CLASS("_TtC13SendbirdUIKit25SBUMessageThreadTitleView") @class Header; @class SBUMessageThreadModuleInput; @class SBUMessageThreadViewModel; +@protocol UIViewControllerTransitionCoordinator; +@class SBDUploadedFileInfo; +@class SBDMultipleFilesMessage; SWIFT_CLASS("_TtC13SendbirdUIKit30SBUMessageThreadViewController") @interface SBUMessageThreadViewController : SBUBaseChannelViewController @@ -3850,11 +3937,13 @@ SWIFT_CLASS("_TtC13SendbirdUIKit30SBUMessageThreadViewController") - (void)viewWillAppear:(BOOL)animated; - (void)viewDidLoad; - (void)viewWillDisappear:(BOOL)animated; +- (void)viewWillTransitionToSize:(CGSize)size withTransitionCoordinator:(id _Nonnull)coordinator; - (void)applicationWillResignActivity; - (void)willPresentSubview; - (void)setupViews; - (void)setupLayouts; - (void)setupStyles; +- (void)updateStylesWithNeedsToLayout:(BOOL)needsToLayout; - (void)updateStyles; - (void)moveToParentMessage; - (BOOL)increaseNewMessageCount; @@ -3867,6 +3956,11 @@ SWIFT_CLASS("_TtC13SendbirdUIKit30SBUMessageThreadViewController") - (void)messageThreadViewModel:(SBUMessageThreadViewModel * _Nonnull)viewModel didLoadParentMessage:(SBDBaseMessage * _Nullable)parentMessage; - (void)messageThreadViewModel:(SBUMessageThreadViewModel * _Nonnull)viewModel didUpdateParentMessage:(SBDBaseMessage * _Nullable)parentMessage; - (void)messageThreadViewModelShouldDismissMessageThread:(SBUMessageThreadViewModel * _Nonnull)viewModel; +/// note: +/// This interface is beta. We do not gaurantee this interface to work properly yet. +/// since: +/// [NEXT_VERSION_MFM_THREAD] +- (void)messageThreadViewModel:(SBUMessageThreadViewModel * _Nonnull)viewModel didFinishUploadingFileAt:(NSInteger)index multipleFilesMessageRequestId:(NSString * _Nonnull)requestId; - (void)baseChannelModule:(Header * _Nonnull)headerComponent didUpdateTitleView:(UIView * _Nullable)titleView; - (void)baseChannelModule:(Header * _Nonnull)headerComponent didTapTitleView:(UIView * _Nullable)titleView; - (void)baseChannelModule:(Header * _Nonnull)headerComponent didTapLeftItem:(UIBarButtonItem * _Nonnull)leftItem; @@ -3874,11 +3968,26 @@ SWIFT_CLASS("_TtC13SendbirdUIKit30SBUMessageThreadViewController") - (void)messageThreadModule:(SBUMessageThreadModuleList * _Nonnull)listComponent didLongTapEmoji:(NSString * _Nonnull)emojiKey messageCell:(SBUBaseMessageCell * _Nonnull)messageCell; - (void)messageThreadModule:(SBUMessageThreadModuleList * _Nonnull)listComponent didTapMoreEmojiForCell:(SBUBaseMessageCell * _Nonnull)messageCell; - (void)messageThreadModule:(SBUMessageThreadModuleList * _Nonnull)listComponent didTapMentionUser:(SBUUser * _Nonnull)user; +/// note: +/// This interface is beta. We do not gaurantee this interface to work properly yet. +/// since: +/// [NEXT_VERSION_MFM_THREAD] +- (void)messageThreadModule:(SBUMessageThreadModuleList * _Nonnull)listComponent didSelectFileAt:(NSInteger)index multipleFilesMessageCell:(SBUMultipleFilesMessageCell * _Nonnull)multipleFilesMessageCell forRowAt:(NSIndexPath * _Nonnull)cellIndexPath; +/// note: +/// This interface is beta. We do not gaurantee this interface to work properly yet. +/// since: +/// [NEXT_VERSION_MFM_THREAD] +- (void)messageThreadModule:(SBUMessageThreadModuleList * _Nonnull)listComponent uploadedFileInfo:(SBDUploadedFileInfo * _Nonnull)uploadedFileInfo message:(SBDMultipleFilesMessage * _Nonnull)message index:(NSInteger)index; - (void)baseChannelModule:(SBUBaseChannelModuleList * _Nonnull)listComponent didScroll:(UIScrollView * _Nonnull)scrollView; - (void)baseChannelModule:(SBUBaseChannelModuleList * _Nonnull)listComponent didTapVoiceMessage:(SBDFileMessage * _Nonnull)fileMessage cell:(UITableViewCell * _Nonnull)cell forRowAt:(NSIndexPath * _Nonnull)indexPath; - (void)baseChannelModule:(SBUBaseChannelModuleList * _Nonnull)listComponent willDisplay:(UITableViewCell * _Nonnull)cell forRowAt:(NSIndexPath * _Nonnull)indexPath; - (void)baseChannelModule:(Input * _Nonnull)inputComponent didUpdateFrozenState:(BOOL)isFrozen; - (void)messageThreadModule:(SBUMessageThreadModuleInput * _Nonnull)inputComponent didPickFileData:(NSData * _Nullable)fileData fileName:(NSString * _Nonnull)fileName mimeType:(NSString * _Nonnull)mimeType parentMessage:(SBDBaseMessage * _Nullable)parentMessage; +/// note: +/// This interface is beta. We do not gaurantee this interface to work properly yet. +/// since: +/// [NEXT_VERSION_MFM_THREAD] +- (void)messageThreadModule:(SBUMessageThreadModuleInput * _Nonnull)inputComponent didPickMultipleFiles:(NSArray * _Nonnull)fileInfoList parentMessage:(SBDBaseMessage * _Nonnull)parentMessage; - (void)messageThreadModule:(SBUMessageThreadModuleInput * _Nonnull)inputComponent didTapSend:(NSString * _Nonnull)text mentionedMessageTemplate:(NSString * _Nonnull)mentionedMessageTemplate mentionedUserIds:(NSArray * _Nonnull)mentionedUserIds parentMessage:(SBDBaseMessage * _Nullable)parentMessage; - (void)messageThreadModule:(SBUMessageThreadModuleInput * _Nonnull)inputComponent didTapEdit:(NSString * _Nonnull)text mentionedMessageTemplate:(NSString * _Nonnull)mentionedMessageTemplate mentionedUserIds:(NSArray * _Nonnull)mentionedUserIds; - (void)messageThreadModule:(SBUMessageThreadModuleInput * _Nonnull)inputComponent willChangeMode:(enum SBUMessageInputMode)mode message:(SBDBaseMessage * _Nullable)message mentionedMessageTemplate:(NSString * _Nonnull)mentionedMessageTemplate mentionedUserIds:(NSArray * _Nonnull)mentionedUserIds; @@ -4030,6 +4139,71 @@ SWIFT_CLASS("_TtC13SendbirdUIKit28SBUModerationsViewController") - (void)showBannedMeberList SWIFT_DEPRECATED_MSG("", "showBannedUserList"); @end +@class SBUMultipleFilesMessageCollectionView; + +/// A message cell that displays a MultipleFilesMessage. +/// since: +/// 3.10.0 +SWIFT_CLASS("_TtC13SendbirdUIKit27SBUMultipleFilesMessageCell") +@interface SBUMultipleFilesMessageCell : SBUContentBaseMessageCell +@property (nonatomic, readonly, strong) SBDMultipleFilesMessage * _Nullable multipleFilesMessage; +/// The view that contains the collectionView. +@property (nonatomic, strong) UIView * _Nonnull containerView; +/// The view that displays multiple images. +@property (nonatomic, strong) SBUMultipleFilesMessageCollectionView * _Nonnull collectionView; +/// The height constraint for the collectionView. +@property (nonatomic, readonly, strong) NSLayoutConstraint * _Null_unspecified collectionViewHeightConstraint; +/// The closure for selection gesture of the specific file at indexPath +@property (nonatomic, copy) void (^ _Nullable fileSelectHandler)(SBDUploadedFileInfo * _Nonnull, NSInteger); +- (void)setupViews; +- (void)setupLayouts; +- (void)setupStyles; +- (void)setupActions; +- (void)setSelected:(BOOL)selected animated:(BOOL)animated; +- (nonnull instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString * _Nullable)reuseIdentifier OBJC_DESIGNATED_INITIALIZER; +- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder OBJC_DESIGNATED_INITIALIZER; +@end + + +@interface SBUMultipleFilesMessageCell (SWIFT_EXTENSION(SendbirdUIKit)) +- (UICollectionViewCell * _Nonnull)collectionView:(UICollectionView * _Nonnull)collectionView cellForItemAtIndexPath:(NSIndexPath * _Nonnull)indexPath SWIFT_WARN_UNUSED_RESULT; +- (NSInteger)collectionView:(UICollectionView * _Nonnull)collectionView numberOfItemsInSection:(NSInteger)section SWIFT_WARN_UNUSED_RESULT; +- (NSInteger)numberOfSectionsInCollectionView:(UICollectionView * _Nonnull)collectionView SWIFT_WARN_UNUSED_RESULT; +- (void)collectionView:(UICollectionView * _Nonnull)collectionView didSelectItemAtIndexPath:(NSIndexPath * _Nonnull)indexPath; +- (CGSize)collectionView:(UICollectionView * _Nonnull)collectionView layout:(UICollectionViewLayout * _Nonnull)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath * _Nonnull)indexPath SWIFT_WARN_UNUSED_RESULT; +- (void)prepareForReuse; +@end + + +/// CollectionView that shows the files of a multiple files message. +/// since: +/// 3.10.0 +SWIFT_CLASS("_TtC13SendbirdUIKit37SBUMultipleFilesMessageCollectionView") +@interface SBUMultipleFilesMessageCollectionView : UICollectionView +- (void)setupViews; +- (void)setupLayouts; +- (void)setupStyles; +- (void)setupActions; +- (void)updateLayouts; +- (void)updateStyles; +- (nonnull instancetype)initWithFrame:(CGRect)frame collectionViewLayout:(UICollectionViewLayout * _Nonnull)layout OBJC_DESIGNATED_INITIALIZER; +- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder OBJC_DESIGNATED_INITIALIZER; +@end + + +/// CollectionView Cell used in SBUMultipleFilesMessageCollectionView to show the files of a multiple files message. +/// since: +/// 3.10.0 +SWIFT_CLASS("_TtC13SendbirdUIKit41SBUMultipleFilesMessageCollectionViewCell") +@interface SBUMultipleFilesMessageCollectionViewCell : SBUCollectionViewCell +- (nonnull instancetype)initWithFrame:(CGRect)frame SWIFT_UNAVAILABLE; +- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER; +- (void)setupViews; +- (void)setupStyles; +- (void)setupLayouts; +- (void)prepareForReuse; +@end + SWIFT_CLASS("_TtC13SendbirdUIKit22SBUNavigationTitleView") @interface SBUNavigationTitleView : SBUView @@ -4192,6 +4366,7 @@ SWIFT_CLASS("_TtC13SendbirdUIKit36SBUOpenChannelContentBaseMessageCell") @interface SBUOpenChannelContentBaseMessageCell : SBUOpenChannelBaseMessageCell @property (nonatomic, strong) UIStackView * _Nonnull baseStackView; @property (nonatomic, strong) UIView * _Nonnull profileView; +@property (nonatomic, strong) UIView * _Nonnull profileBaseView; @property (nonatomic, strong) UIStackView * _Nonnull contentsStackView; @property (nonatomic, strong) UIStackView * _Nonnull infoStackView; @property (nonatomic, strong) UIView * _Nonnull userNameView; @@ -4423,7 +4598,7 @@ SWIFT_CLASS("_TtC13SendbirdUIKit29SBUOpenChannelUserMessageCell") /// A SBUOpenChannelMessageWebView which represents a preview of the web link @property (nonatomic, strong) SBUOpenChannelMessageWebView * _Nonnull webView; /// As a default, the value is the constraint of messageTextView.trailingAnchorand it’s activated when the message has no ogMetaData. -@property (nonatomic, readonly, strong) NSLayoutConstraint * _Null_unspecified messageTypeConstraint; +@property (nonatomic, readonly, strong) NSLayoutConstraint * _Nullable messageTypeConstraint; /// Activated when the message has ogMetaData. @property (nonatomic, readonly, copy) NSArray * _Nonnull webTypeConstraints; - (void)setupViews; @@ -4451,7 +4626,6 @@ SWIFT_CLASS("_TtC13SendbirdUIKit32SBUOpenChannelUnknownMessageCell") @class Input; @class Media; @class SBUOpenChannelViewModel; -@protocol UIViewControllerTransitionCoordinator; SWIFT_CLASS("_TtC13SendbirdUIKit28SBUOpenChannelViewController") @interface SBUOpenChannelViewController : SBUBaseChannelViewController @@ -4516,6 +4690,7 @@ SWIFT_CLASS("_TtC13SendbirdUIKit28SBUOpenChannelViewController") - (void)setupLayouts; - (void)updateLayouts; - (void)setupStyles; +- (void)updateStylesWithNeedsToLayout:(BOOL)needsToLayout; - (void)updateStyles; /// This function updates channel info view. If channelDescription is set, this value is used for channel info view configuring. - (void)updateChannelInfoView; @@ -4690,11 +4865,14 @@ SWIFT_CLASS("_TtC13SendbirdUIKit32SBUParentMessageInfoReactionView") SWIFT_CLASS("_TtC13SendbirdUIKit24SBUParentMessageInfoView") -@interface SBUParentMessageInfoView : UITableViewHeaderFooterView +@interface SBUParentMessageInfoView : SBUView @property (nonatomic) CGRect bounds; @property (nonatomic) CGRect frame; -- (nonnull instancetype)initWithReuseIdentifier:(NSString * _Nullable)reuseIdentifier OBJC_DESIGNATED_INITIALIZER; -- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder SWIFT_UNAVAILABLE_MSG("'init' has been renamed to 'SBUParentMessageInfoView(frame:)'"); +- (void)setupViews; +- (void)setupLayouts; +- (void)updateLayouts; +- (void)setupStyles; +- (void)setupActions; /// Calls the userProfileTapHandler() when the user profile is tapped. /// \param sender tapGestureRecognizer /// @@ -4703,6 +4881,12 @@ SWIFT_CLASS("_TtC13SendbirdUIKit24SBUParentMessageInfoView") /// \param sender tapGestureRecognizer /// - (void)onTapContentViewWithSender:(UITapGestureRecognizer * _Nonnull)sender; +/// Calls the fileSelectHandler() when one of thie files is tapped in parent message that is a multiple files message. +/// since: +/// 3.10.0 +/// \param sender tapGestureRecognizer +/// +- (void)onSelectFileWithSender:(UITapGestureRecognizer * _Nonnull)sender; /// Opens the url when the web page preview area is tapped /// \param sender tapGestureRecognizer /// @@ -4711,6 +4895,16 @@ SWIFT_CLASS("_TtC13SendbirdUIKit24SBUParentMessageInfoView") /// \param sender Sender /// - (void)onTapMoreButton:(id _Nonnull)sender; +- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER; +- (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER; +@end + + +@interface SBUParentMessageInfoView (SWIFT_EXTENSION(SendbirdUIKit)) +- (NSInteger)numberOfSectionsInCollectionView:(UICollectionView * _Nonnull)collectionView SWIFT_WARN_UNUSED_RESULT; +- (NSInteger)collectionView:(UICollectionView * _Nonnull)collectionView numberOfItemsInSection:(NSInteger)section SWIFT_WARN_UNUSED_RESULT; +- (CGSize)collectionView:(UICollectionView * _Nonnull)collectionView layout:(UICollectionViewLayout * _Nonnull)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath * _Nonnull)indexPath SWIFT_WARN_UNUSED_RESULT; +- (UICollectionViewCell * _Nonnull)collectionView:(UICollectionView * _Nonnull)collectionView cellForItemAtIndexPath:(NSIndexPath * _Nonnull)indexPath SWIFT_WARN_UNUSED_RESULT; @end @@ -5341,6 +5535,7 @@ SWIFT_CLASS("_TtC13SendbirdUIKit16SBUVoiceRecorder") + #endif #if defined(__cplusplus) #endif diff --git a/Framework/SendbirdUIKit.xcframework/ios-arm64/SendbirdUIKit.framework/Info.plist b/Framework/SendbirdUIKit.xcframework/ios-arm64/SendbirdUIKit.framework/Info.plist index 6ebaa2268..cefaddbfe 100644 Binary files a/Framework/SendbirdUIKit.xcframework/ios-arm64/SendbirdUIKit.framework/Info.plist and b/Framework/SendbirdUIKit.xcframework/ios-arm64/SendbirdUIKit.framework/Info.plist differ diff --git a/Framework/SendbirdUIKit.xcframework/ios-arm64/SendbirdUIKit.framework/Modules/SendbirdUIKit.swiftmodule/arm64-apple-ios.abi.json b/Framework/SendbirdUIKit.xcframework/ios-arm64/SendbirdUIKit.framework/Modules/SendbirdUIKit.swiftmodule/arm64-apple-ios.abi.json index 4ac11ae47..1c41e696f 100644 --- a/Framework/SendbirdUIKit.xcframework/ios-arm64/SendbirdUIKit.framework/Modules/SendbirdUIKit.swiftmodule/arm64-apple-ios.abi.json +++ b/Framework/SendbirdUIKit.xcframework/ios-arm64/SendbirdUIKit.framework/Modules/SendbirdUIKit.swiftmodule/arm64-apple-ios.abi.json @@ -7076,6 +7076,56 @@ ], "reqNewWitnessTableEntry": true, "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "messageThreadModule", + "printedName": "messageThreadModule(_:didPickMultipleFiles:parentMessage:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Input", + "printedName": "SendbirdUIKit.SBUMessageThreadModule.Input", + "usr": "s:13SendbirdUIKit22SBUMessageThreadModuleC5InputC" + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[SendbirdChatSDK.UploadableFileInfo]", + "children": [ + { + "kind": "TypeNominal", + "name": "UploadableFileInfo", + "printedName": "SendbirdChatSDK.UploadableFileInfo", + "usr": "c:@M@SendbirdChatSDK@objc(cs)SBDUploadableFileInfo" + } + ], + "usr": "s:Sa" + }, + { + "kind": "TypeNominal", + "name": "BaseMessage", + "printedName": "SendbirdChatSDK.BaseMessage", + "usr": "c:@M@SendbirdChatSDK@objc(cs)SBDBaseMessage" + } + ], + "declKind": "Func", + "usr": "s:13SendbirdUIKit35SBUMessageThreadModuleInputDelegateP07messagedE0_20didPickMultipleFiles13parentMessageyAA0cdE0C0F0C_Say0A7ChatSDK18UploadableFileInfoCGAK04BaseN0CtF", + "mangledName": "$s13SendbirdUIKit35SBUMessageThreadModuleInputDelegateP07messagedE0_20didPickMultipleFiles13parentMessageyAA0cdE0C0F0C_Say0A7ChatSDK18UploadableFileInfoCGAK04BaseN0CtF", + "moduleName": "SendbirdUIKit", + "genericSig": "<τ_0_0 where τ_0_0 : SendbirdUIKit.SBUMessageThreadModuleInputDelegate>", + "sugared_genericSig": "", + "protocolReq": true, + "declAttributes": [ + "RawDocComment" + ], + "reqNewWitnessTableEntry": true, + "funcSelfKind": "NonMutating" } ], "declKind": "Protocol", @@ -13909,7 +13959,7 @@ "children": [ { "kind": "TypeNominal", - "name": "ImplicitlyUnwrappedOptional", + "name": "Optional", "printedName": "UIKit.NSLayoutConstraint?", "children": [ { @@ -13942,7 +13992,7 @@ "children": [ { "kind": "TypeNominal", - "name": "ImplicitlyUnwrappedOptional", + "name": "Optional", "printedName": "UIKit.NSLayoutConstraint?", "children": [ { @@ -13971,7 +14021,7 @@ "children": [ { "kind": "TypeNominal", - "name": "ImplicitlyUnwrappedOptional", + "name": "Optional", "printedName": "UIKit.NSLayoutConstraint?", "children": [ { @@ -14004,7 +14054,7 @@ "children": [ { "kind": "TypeNominal", - "name": "ImplicitlyUnwrappedOptional", + "name": "Optional", "printedName": "UIKit.NSLayoutConstraint?", "children": [ { @@ -30468,6 +30518,91 @@ } ] }, + { + "kind": "Var", + "name": "isMultipleFilesMessageEnabled", + "printedName": "isMultipleFilesMessageEnabled", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit9SBUConfigC12GroupChannelC0E0C29isMultipleFilesMessageEnabledSbvp", + "mangledName": "$s13SendbirdUIKit9SBUConfigC12GroupChannelC0E0C29isMultipleFilesMessageEnabledSbvp", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "AccessControl", + "Custom", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit9SBUConfigC12GroupChannelC0E0C29isMultipleFilesMessageEnabledSbvg", + "mangledName": "$s13SendbirdUIKit9SBUConfigC12GroupChannelC0E0C29isMultipleFilesMessageEnabledSbvg", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit9SBUConfigC12GroupChannelC0E0C29isMultipleFilesMessageEnabledSbvs", + "mangledName": "$s13SendbirdUIKit9SBUConfigC12GroupChannelC0E0C29isMultipleFilesMessageEnabledSbvs", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit9SBUConfigC12GroupChannelC0E0C29isMultipleFilesMessageEnabledSbvM", + "mangledName": "$s13SendbirdUIKit9SBUConfigC12GroupChannelC0E0C29isMultipleFilesMessageEnabledSbvM", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, { "kind": "Constructor", "name": "init", @@ -47931,6 +48066,73 @@ } ] }, + { + "kind": "Var", + "name": "multipleFilesMessageCell", + "printedName": "multipleFilesMessageCell", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "SendbirdUIKit.SBUBaseMessageCell?", + "children": [ + { + "kind": "TypeNominal", + "name": "SBUBaseMessageCell", + "printedName": "SendbirdUIKit.SBUBaseMessageCell", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUBaseMessageCell" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit21SBUGroupChannelModuleC4ListC24multipleFilesMessageCellAA07SBUBaseiJ0CSgvp", + "mangledName": "$s13SendbirdUIKit21SBUGroupChannelModuleC4ListC24multipleFilesMessageCellAA07SBUBaseiJ0CSgvp", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "HasInitialValue", + "Custom", + "HasStorage", + "SetterAccess", + "AccessControl", + "RawDocComment", + "ObjC" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "SendbirdUIKit.SBUBaseMessageCell?", + "children": [ + { + "kind": "TypeNominal", + "name": "SBUBaseMessageCell", + "printedName": "SendbirdUIKit.SBUBaseMessageCell", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUBaseMessageCell" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit21SBUGroupChannelModuleC4ListC24multipleFilesMessageCellAA07SBUBaseiJ0CSgvg", + "mangledName": "$s13SendbirdUIKit21SBUGroupChannelModuleC4ListC24multipleFilesMessageCellAA07SBUBaseiJ0CSgvg", + "moduleName": "SendbirdUIKit", + "implicit": true, + "declAttributes": [ + "ObjC" + ], + "accessorKind": "get" + } + ] + }, { "kind": "Var", "name": "unknownMessageCell", @@ -49021,6 +49223,51 @@ ], "funcSelfKind": "NonMutating" }, + { + "kind": "Function", + "name": "register", + "printedName": "register(multipleFilesMessageCell:nib:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "SBUBaseMessageCell", + "printedName": "SendbirdUIKit.SBUBaseMessageCell", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUBaseMessageCell" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "UIKit.UINib?", + "children": [ + { + "kind": "TypeNominal", + "name": "UINib", + "printedName": "UIKit.UINib", + "usr": "c:objc(cs)UINib" + } + ], + "hasDefaultArg": true, + "usr": "s:Sq" + } + ], + "declKind": "Func", + "usr": "s:13SendbirdUIKit21SBUGroupChannelModuleC4ListC8register24multipleFilesMessageCell3nibyAA07SBUBasejK0C_So5UINibCSgtF", + "mangledName": "$s13SendbirdUIKit21SBUGroupChannelModuleC4ListC8register24multipleFilesMessageCell3nibyAA07SBUBasejK0C_So5UINibCSgtF", + "moduleName": "SendbirdUIKit", + "isOpen": true, + "declAttributes": [ + "Custom", + "AccessControl", + "RawDocComment", + "ObjC" + ], + "funcSelfKind": "NonMutating" + }, { "kind": "Function", "name": "register", @@ -50688,6 +50935,46 @@ ], "funcSelfKind": "NonMutating" }, + { + "kind": "Function", + "name": "pickMultipleImageFiles", + "printedName": "pickMultipleImageFiles(itemProviders:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Foundation.NSItemProvider]", + "children": [ + { + "kind": "TypeNominal", + "name": "NSItemProvider", + "printedName": "Foundation.NSItemProvider", + "usr": "c:objc(cs)NSItemProvider" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Func", + "usr": "s:13SendbirdUIKit21SBUGroupChannelModuleC5InputC22pickMultipleImageFiles13itemProvidersySaySo14NSItemProviderCG_tF", + "mangledName": "$s13SendbirdUIKit21SBUGroupChannelModuleC5InputC22pickMultipleImageFiles13itemProvidersySaySo14NSItemProviderCG_tF", + "moduleName": "SendbirdUIKit", + "isOpen": true, + "intro_iOS": "14.0", + "declAttributes": [ + "Custom", + "AccessControl", + "Available", + "RawDocComment", + "ObjC" + ], + "funcSelfKind": "NonMutating" + }, { "kind": "Function", "name": "pickImageFile", @@ -57227,6 +57514,36 @@ ], "funcSelfKind": "NonMutating" }, + { + "kind": "Function", + "name": "getFileTypeString", + "printedName": "getFileTypeString(by:)", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Func", + "usr": "s:13SendbirdUIKit8SBUUtilsC17getFileTypeString2byS2S_tFZ", + "mangledName": "$s13SendbirdUIKit8SBUUtilsC17getFileTypeString2byS2S_tFZ", + "moduleName": "SendbirdUIKit", + "static": true, + "declAttributes": [ + "Final", + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, { "kind": "Function", "name": "generateChannelName", @@ -60248,19 +60565,32 @@ }, { "kind": "Var", - "name": "Alert_Allow_Camera_Access", - "printedName": "Alert_Allow_Camera_Access", + "name": "Alert_Delete_MultipleFilesMessage", + "printedName": "Alert_Delete_MultipleFilesMessage", "children": [ { - "kind": "TypeNominal", - "name": "String", - "printedName": "Swift.String", - "usr": "s:SS" + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Swift.Int) -> Swift.String", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ] } ], "declKind": "Var", - "usr": "s:13SendbirdUIKit12SBUStringSetC25Alert_Allow_Camera_AccessSSvpZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC25Alert_Allow_Camera_AccessSSvpZ", + "usr": "s:13SendbirdUIKit12SBUStringSetC33Alert_Delete_MultipleFilesMessageySSSicvpZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC33Alert_Delete_MultipleFilesMessageySSSicvpZ", "moduleName": "SendbirdUIKit", "static": true, "declAttributes": [ @@ -60277,15 +60607,28 @@ "printedName": "Get()", "children": [ { - "kind": "TypeNominal", - "name": "String", - "printedName": "Swift.String", - "usr": "s:SS" + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Swift.Int) -> Swift.String", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ] } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit12SBUStringSetC25Alert_Allow_Camera_AccessSSvgZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC25Alert_Allow_Camera_AccessSSvgZ", + "usr": "s:13SendbirdUIKit12SBUStringSetC33Alert_Delete_MultipleFilesMessageySSSicvgZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC33Alert_Delete_MultipleFilesMessageySSSicvgZ", "moduleName": "SendbirdUIKit", "static": true, "implicit": true, @@ -60305,15 +60648,28 @@ "printedName": "()" }, { - "kind": "TypeNominal", - "name": "String", - "printedName": "Swift.String", - "usr": "s:SS" + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Swift.Int) -> Swift.String", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ] } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit12SBUStringSetC25Alert_Allow_Camera_AccessSSvsZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC25Alert_Allow_Camera_AccessSSvsZ", + "usr": "s:13SendbirdUIKit12SBUStringSetC33Alert_Delete_MultipleFilesMessageySSSicvsZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC33Alert_Delete_MultipleFilesMessageySSSicvsZ", "moduleName": "SendbirdUIKit", "static": true, "implicit": true, @@ -60334,8 +60690,8 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit12SBUStringSetC25Alert_Allow_Camera_AccessSSvMZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC25Alert_Allow_Camera_AccessSSvMZ", + "usr": "s:13SendbirdUIKit12SBUStringSetC33Alert_Delete_MultipleFilesMessageySSSicvMZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC33Alert_Delete_MultipleFilesMessageySSSicvMZ", "moduleName": "SendbirdUIKit", "static": true, "implicit": true, @@ -60348,8 +60704,8 @@ }, { "kind": "Var", - "name": "Alert_Allow_PhotoLibrary_Access", - "printedName": "Alert_Allow_PhotoLibrary_Access", + "name": "Alert_Allow_Camera_Access", + "printedName": "Alert_Allow_Camera_Access", "children": [ { "kind": "TypeNominal", @@ -60359,8 +60715,8 @@ } ], "declKind": "Var", - "usr": "s:13SendbirdUIKit12SBUStringSetC31Alert_Allow_PhotoLibrary_AccessSSvpZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC31Alert_Allow_PhotoLibrary_AccessSSvpZ", + "usr": "s:13SendbirdUIKit12SBUStringSetC25Alert_Allow_Camera_AccessSSvpZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC25Alert_Allow_Camera_AccessSSvpZ", "moduleName": "SendbirdUIKit", "static": true, "declAttributes": [ @@ -60384,8 +60740,8 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit12SBUStringSetC31Alert_Allow_PhotoLibrary_AccessSSvgZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC31Alert_Allow_PhotoLibrary_AccessSSvgZ", + "usr": "s:13SendbirdUIKit12SBUStringSetC25Alert_Allow_Camera_AccessSSvgZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC25Alert_Allow_Camera_AccessSSvgZ", "moduleName": "SendbirdUIKit", "static": true, "implicit": true, @@ -60412,8 +60768,8 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit12SBUStringSetC31Alert_Allow_PhotoLibrary_AccessSSvsZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC31Alert_Allow_PhotoLibrary_AccessSSvsZ", + "usr": "s:13SendbirdUIKit12SBUStringSetC25Alert_Allow_Camera_AccessSSvsZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC25Alert_Allow_Camera_AccessSSvsZ", "moduleName": "SendbirdUIKit", "static": true, "implicit": true, @@ -60434,8 +60790,8 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit12SBUStringSetC31Alert_Allow_PhotoLibrary_AccessSSvMZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC31Alert_Allow_PhotoLibrary_AccessSSvMZ", + "usr": "s:13SendbirdUIKit12SBUStringSetC25Alert_Allow_Camera_AccessSSvMZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC25Alert_Allow_Camera_AccessSSvMZ", "moduleName": "SendbirdUIKit", "static": true, "implicit": true, @@ -60448,8 +60804,8 @@ }, { "kind": "Var", - "name": "Alert_Allow_PhotoLibrary_Access_Message", - "printedName": "Alert_Allow_PhotoLibrary_Access_Message", + "name": "Alert_Allow_PhotoLibrary_Access", + "printedName": "Alert_Allow_PhotoLibrary_Access", "children": [ { "kind": "TypeNominal", @@ -60459,8 +60815,8 @@ } ], "declKind": "Var", - "usr": "s:13SendbirdUIKit12SBUStringSetC39Alert_Allow_PhotoLibrary_Access_MessageSSvpZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC39Alert_Allow_PhotoLibrary_Access_MessageSSvpZ", + "usr": "s:13SendbirdUIKit12SBUStringSetC31Alert_Allow_PhotoLibrary_AccessSSvpZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC31Alert_Allow_PhotoLibrary_AccessSSvpZ", "moduleName": "SendbirdUIKit", "static": true, "declAttributes": [ @@ -60484,8 +60840,8 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit12SBUStringSetC39Alert_Allow_PhotoLibrary_Access_MessageSSvgZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC39Alert_Allow_PhotoLibrary_Access_MessageSSvgZ", + "usr": "s:13SendbirdUIKit12SBUStringSetC31Alert_Allow_PhotoLibrary_AccessSSvgZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC31Alert_Allow_PhotoLibrary_AccessSSvgZ", "moduleName": "SendbirdUIKit", "static": true, "implicit": true, @@ -60512,8 +60868,8 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit12SBUStringSetC39Alert_Allow_PhotoLibrary_Access_MessageSSvsZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC39Alert_Allow_PhotoLibrary_Access_MessageSSvsZ", + "usr": "s:13SendbirdUIKit12SBUStringSetC31Alert_Allow_PhotoLibrary_AccessSSvsZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC31Alert_Allow_PhotoLibrary_AccessSSvsZ", "moduleName": "SendbirdUIKit", "static": true, "implicit": true, @@ -60534,8 +60890,8 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit12SBUStringSetC39Alert_Allow_PhotoLibrary_Access_MessageSSvMZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC39Alert_Allow_PhotoLibrary_Access_MessageSSvMZ", + "usr": "s:13SendbirdUIKit12SBUStringSetC31Alert_Allow_PhotoLibrary_AccessSSvMZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC31Alert_Allow_PhotoLibrary_AccessSSvMZ", "moduleName": "SendbirdUIKit", "static": true, "implicit": true, @@ -60548,8 +60904,8 @@ }, { "kind": "Var", - "name": "Alert_Allow_Microphone_Access", - "printedName": "Alert_Allow_Microphone_Access", + "name": "Alert_Allow_PhotoLibrary_Access_Message", + "printedName": "Alert_Allow_PhotoLibrary_Access_Message", "children": [ { "kind": "TypeNominal", @@ -60559,16 +60915,15 @@ } ], "declKind": "Var", - "usr": "s:13SendbirdUIKit12SBUStringSetC29Alert_Allow_Microphone_AccessSSvpZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC29Alert_Allow_Microphone_AccessSSvpZ", + "usr": "s:13SendbirdUIKit12SBUStringSetC39Alert_Allow_PhotoLibrary_Access_MessageSSvpZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC39Alert_Allow_PhotoLibrary_Access_MessageSSvpZ", "moduleName": "SendbirdUIKit", "static": true, "declAttributes": [ "HasInitialValue", "Final", "HasStorage", - "AccessControl", - "RawDocComment" + "AccessControl" ], "hasStorage": true, "accessors": [ @@ -60585,8 +60940,8 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit12SBUStringSetC29Alert_Allow_Microphone_AccessSSvgZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC29Alert_Allow_Microphone_AccessSSvgZ", + "usr": "s:13SendbirdUIKit12SBUStringSetC39Alert_Allow_PhotoLibrary_Access_MessageSSvgZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC39Alert_Allow_PhotoLibrary_Access_MessageSSvgZ", "moduleName": "SendbirdUIKit", "static": true, "implicit": true, @@ -60613,8 +60968,8 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit12SBUStringSetC29Alert_Allow_Microphone_AccessSSvsZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC29Alert_Allow_Microphone_AccessSSvsZ", + "usr": "s:13SendbirdUIKit12SBUStringSetC39Alert_Allow_PhotoLibrary_Access_MessageSSvsZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC39Alert_Allow_PhotoLibrary_Access_MessageSSvsZ", "moduleName": "SendbirdUIKit", "static": true, "implicit": true, @@ -60635,8 +60990,8 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit12SBUStringSetC29Alert_Allow_Microphone_AccessSSvMZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC29Alert_Allow_Microphone_AccessSSvMZ", + "usr": "s:13SendbirdUIKit12SBUStringSetC39Alert_Allow_PhotoLibrary_Access_MessageSSvMZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC39Alert_Allow_PhotoLibrary_Access_MessageSSvMZ", "moduleName": "SendbirdUIKit", "static": true, "implicit": true, @@ -60649,8 +61004,8 @@ }, { "kind": "Var", - "name": "Date_Yesterday", - "printedName": "Date_Yesterday", + "name": "Alert_Allow_Microphone_Access", + "printedName": "Alert_Allow_Microphone_Access", "children": [ { "kind": "TypeNominal", @@ -60660,8 +61015,8 @@ } ], "declKind": "Var", - "usr": "s:13SendbirdUIKit12SBUStringSetC14Date_YesterdaySSvpZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC14Date_YesterdaySSvpZ", + "usr": "s:13SendbirdUIKit12SBUStringSetC29Alert_Allow_Microphone_AccessSSvpZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC29Alert_Allow_Microphone_AccessSSvpZ", "moduleName": "SendbirdUIKit", "static": true, "declAttributes": [ @@ -60686,8 +61041,8 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit12SBUStringSetC14Date_YesterdaySSvgZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC14Date_YesterdaySSvgZ", + "usr": "s:13SendbirdUIKit12SBUStringSetC29Alert_Allow_Microphone_AccessSSvgZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC29Alert_Allow_Microphone_AccessSSvgZ", "moduleName": "SendbirdUIKit", "static": true, "implicit": true, @@ -60714,8 +61069,8 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit12SBUStringSetC14Date_YesterdaySSvsZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC14Date_YesterdaySSvsZ", + "usr": "s:13SendbirdUIKit12SBUStringSetC29Alert_Allow_Microphone_AccessSSvsZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC29Alert_Allow_Microphone_AccessSSvsZ", "moduleName": "SendbirdUIKit", "static": true, "implicit": true, @@ -60736,8 +61091,8 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit12SBUStringSetC14Date_YesterdaySSvMZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC14Date_YesterdaySSvMZ", + "usr": "s:13SendbirdUIKit12SBUStringSetC29Alert_Allow_Microphone_AccessSSvMZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC29Alert_Allow_Microphone_AccessSSvMZ", "moduleName": "SendbirdUIKit", "static": true, "implicit": true, @@ -60750,39 +61105,27 @@ }, { "kind": "Var", - "name": "Date_Year", - "printedName": "Date_Year", + "name": "Date_Yesterday", + "printedName": "Date_Yesterday", "children": [ { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(Swift.Int) -> Swift.String", - "children": [ - { - "kind": "TypeNominal", - "name": "String", - "printedName": "Swift.String", - "usr": "s:SS" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ] + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" } ], "declKind": "Var", - "usr": "s:13SendbirdUIKit12SBUStringSetC9Date_YearySSSicvpZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC9Date_YearySSSicvpZ", + "usr": "s:13SendbirdUIKit12SBUStringSetC14Date_YesterdaySSvpZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC14Date_YesterdaySSvpZ", "moduleName": "SendbirdUIKit", "static": true, "declAttributes": [ "HasInitialValue", "Final", "HasStorage", - "AccessControl" + "AccessControl", + "RawDocComment" ], "hasStorage": true, "accessors": [ @@ -60792,28 +61135,15 @@ "printedName": "Get()", "children": [ { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(Swift.Int) -> Swift.String", - "children": [ - { - "kind": "TypeNominal", - "name": "String", - "printedName": "Swift.String", - "usr": "s:SS" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ] + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit12SBUStringSetC9Date_YearySSSicvgZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC9Date_YearySSSicvgZ", + "usr": "s:13SendbirdUIKit12SBUStringSetC14Date_YesterdaySSvgZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC14Date_YesterdaySSvgZ", "moduleName": "SendbirdUIKit", "static": true, "implicit": true, @@ -60833,28 +61163,15 @@ "printedName": "()" }, { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(Swift.Int) -> Swift.String", - "children": [ - { - "kind": "TypeNominal", - "name": "String", - "printedName": "Swift.String", - "usr": "s:SS" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ] + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit12SBUStringSetC9Date_YearySSSicvsZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC9Date_YearySSSicvsZ", + "usr": "s:13SendbirdUIKit12SBUStringSetC14Date_YesterdaySSvsZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC14Date_YesterdaySSvsZ", "moduleName": "SendbirdUIKit", "static": true, "implicit": true, @@ -60875,8 +61192,8 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit12SBUStringSetC9Date_YearySSSicvMZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC9Date_YearySSSicvMZ", + "usr": "s:13SendbirdUIKit12SBUStringSetC14Date_YesterdaySSvMZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC14Date_YesterdaySSvMZ", "moduleName": "SendbirdUIKit", "static": true, "implicit": true, @@ -60889,8 +61206,8 @@ }, { "kind": "Var", - "name": "Date_Day", - "printedName": "Date_Day", + "name": "Date_Year", + "printedName": "Date_Year", "children": [ { "kind": "TypeFunc", @@ -60913,8 +61230,8 @@ } ], "declKind": "Var", - "usr": "s:13SendbirdUIKit12SBUStringSetC8Date_DayySSSicvpZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC8Date_DayySSSicvpZ", + "usr": "s:13SendbirdUIKit12SBUStringSetC9Date_YearySSSicvpZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC9Date_YearySSSicvpZ", "moduleName": "SendbirdUIKit", "static": true, "declAttributes": [ @@ -60951,8 +61268,8 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit12SBUStringSetC8Date_DayySSSicvgZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC8Date_DayySSSicvgZ", + "usr": "s:13SendbirdUIKit12SBUStringSetC9Date_YearySSSicvgZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC9Date_YearySSSicvgZ", "moduleName": "SendbirdUIKit", "static": true, "implicit": true, @@ -60992,8 +61309,8 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit12SBUStringSetC8Date_DayySSSicvsZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC8Date_DayySSSicvsZ", + "usr": "s:13SendbirdUIKit12SBUStringSetC9Date_YearySSSicvsZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC9Date_YearySSSicvsZ", "moduleName": "SendbirdUIKit", "static": true, "implicit": true, @@ -61014,8 +61331,8 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit12SBUStringSetC8Date_DayySSSicvMZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC8Date_DayySSSicvMZ", + "usr": "s:13SendbirdUIKit12SBUStringSetC9Date_YearySSSicvMZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC9Date_YearySSSicvMZ", "moduleName": "SendbirdUIKit", "static": true, "implicit": true, @@ -61028,8 +61345,8 @@ }, { "kind": "Var", - "name": "Date_Month", - "printedName": "Date_Month", + "name": "Date_Day", + "printedName": "Date_Day", "children": [ { "kind": "TypeFunc", @@ -61052,8 +61369,8 @@ } ], "declKind": "Var", - "usr": "s:13SendbirdUIKit12SBUStringSetC10Date_MonthySSSicvpZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC10Date_MonthySSSicvpZ", + "usr": "s:13SendbirdUIKit12SBUStringSetC8Date_DayySSSicvpZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC8Date_DayySSSicvpZ", "moduleName": "SendbirdUIKit", "static": true, "declAttributes": [ @@ -61090,8 +61407,8 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit12SBUStringSetC10Date_MonthySSSicvgZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC10Date_MonthySSSicvgZ", + "usr": "s:13SendbirdUIKit12SBUStringSetC8Date_DayySSSicvgZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC8Date_DayySSSicvgZ", "moduleName": "SendbirdUIKit", "static": true, "implicit": true, @@ -61131,8 +61448,8 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit12SBUStringSetC10Date_MonthySSSicvsZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC10Date_MonthySSSicvsZ", + "usr": "s:13SendbirdUIKit12SBUStringSetC8Date_DayySSSicvsZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC8Date_DayySSSicvsZ", "moduleName": "SendbirdUIKit", "static": true, "implicit": true, @@ -61153,8 +61470,8 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit12SBUStringSetC10Date_MonthySSSicvMZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC10Date_MonthySSSicvMZ", + "usr": "s:13SendbirdUIKit12SBUStringSetC8Date_DayySSSicvMZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC8Date_DayySSSicvMZ", "moduleName": "SendbirdUIKit", "static": true, "implicit": true, @@ -61167,8 +61484,8 @@ }, { "kind": "Var", - "name": "Date_Hour", - "printedName": "Date_Hour", + "name": "Date_Month", + "printedName": "Date_Month", "children": [ { "kind": "TypeFunc", @@ -61191,8 +61508,8 @@ } ], "declKind": "Var", - "usr": "s:13SendbirdUIKit12SBUStringSetC9Date_HourySSSicvpZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC9Date_HourySSSicvpZ", + "usr": "s:13SendbirdUIKit12SBUStringSetC10Date_MonthySSSicvpZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC10Date_MonthySSSicvpZ", "moduleName": "SendbirdUIKit", "static": true, "declAttributes": [ @@ -61229,8 +61546,8 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit12SBUStringSetC9Date_HourySSSicvgZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC9Date_HourySSSicvgZ", + "usr": "s:13SendbirdUIKit12SBUStringSetC10Date_MonthySSSicvgZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC10Date_MonthySSSicvgZ", "moduleName": "SendbirdUIKit", "static": true, "implicit": true, @@ -61270,8 +61587,8 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit12SBUStringSetC9Date_HourySSSicvsZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC9Date_HourySSSicvsZ", + "usr": "s:13SendbirdUIKit12SBUStringSetC10Date_MonthySSSicvsZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC10Date_MonthySSSicvsZ", "moduleName": "SendbirdUIKit", "static": true, "implicit": true, @@ -61292,8 +61609,8 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit12SBUStringSetC9Date_HourySSSicvMZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC9Date_HourySSSicvMZ", + "usr": "s:13SendbirdUIKit12SBUStringSetC10Date_MonthySSSicvMZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC10Date_MonthySSSicvMZ", "moduleName": "SendbirdUIKit", "static": true, "implicit": true, @@ -61306,8 +61623,8 @@ }, { "kind": "Var", - "name": "Date_Min", - "printedName": "Date_Min", + "name": "Date_Hour", + "printedName": "Date_Hour", "children": [ { "kind": "TypeFunc", @@ -61330,8 +61647,8 @@ } ], "declKind": "Var", - "usr": "s:13SendbirdUIKit12SBUStringSetC8Date_MinySSSicvpZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC8Date_MinySSSicvpZ", + "usr": "s:13SendbirdUIKit12SBUStringSetC9Date_HourySSSicvpZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC9Date_HourySSSicvpZ", "moduleName": "SendbirdUIKit", "static": true, "declAttributes": [ @@ -61368,8 +61685,8 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit12SBUStringSetC8Date_MinySSSicvgZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC8Date_MinySSSicvgZ", + "usr": "s:13SendbirdUIKit12SBUStringSetC9Date_HourySSSicvgZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC9Date_HourySSSicvgZ", "moduleName": "SendbirdUIKit", "static": true, "implicit": true, @@ -61409,8 +61726,8 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit12SBUStringSetC8Date_MinySSSicvsZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC8Date_MinySSSicvsZ", + "usr": "s:13SendbirdUIKit12SBUStringSetC9Date_HourySSSicvsZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC9Date_HourySSSicvsZ", "moduleName": "SendbirdUIKit", "static": true, "implicit": true, @@ -61431,8 +61748,8 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit12SBUStringSetC8Date_MinySSSicvMZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC8Date_MinySSSicvMZ", + "usr": "s:13SendbirdUIKit12SBUStringSetC9Date_HourySSSicvMZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC9Date_HourySSSicvMZ", "moduleName": "SendbirdUIKit", "static": true, "implicit": true, @@ -61445,119 +61762,32 @@ }, { "kind": "Var", - "name": "Date_Ago", - "printedName": "Date_Ago", + "name": "Date_Min", + "printedName": "Date_Min", "children": [ { - "kind": "TypeNominal", - "name": "String", - "printedName": "Swift.String", - "usr": "s:SS" - } - ], - "declKind": "Var", - "usr": "s:13SendbirdUIKit12SBUStringSetC8Date_AgoSSvpZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC8Date_AgoSSvpZ", - "moduleName": "SendbirdUIKit", - "static": true, - "declAttributes": [ - "HasInitialValue", - "Final", - "HasStorage", - "AccessControl" - ], - "hasStorage": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Swift.Int) -> Swift.String", "children": [ { "kind": "TypeNominal", "name": "String", "printedName": "Swift.String", "usr": "s:SS" - } - ], - "declKind": "Accessor", - "usr": "s:13SendbirdUIKit12SBUStringSetC8Date_AgoSSvgZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC8Date_AgoSSvgZ", - "moduleName": "SendbirdUIKit", - "static": true, - "implicit": true, - "declAttributes": [ - "Final" - ], - "accessorKind": "get" - }, - { - "kind": "Accessor", - "name": "Set", - "printedName": "Set()", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" }, { "kind": "TypeNominal", - "name": "String", - "printedName": "Swift.String", - "usr": "s:SS" - } - ], - "declKind": "Accessor", - "usr": "s:13SendbirdUIKit12SBUStringSetC8Date_AgoSSvsZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC8Date_AgoSSvsZ", - "moduleName": "SendbirdUIKit", - "static": true, - "implicit": true, - "declAttributes": [ - "Final" - ], - "accessorKind": "set" - }, - { - "kind": "Accessor", - "name": "Modify", - "printedName": "Modify()", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" } - ], - "declKind": "Accessor", - "usr": "s:13SendbirdUIKit12SBUStringSetC8Date_AgoSSvMZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC8Date_AgoSSvMZ", - "moduleName": "SendbirdUIKit", - "static": true, - "implicit": true, - "declAttributes": [ - "Final" - ], - "accessorKind": "_modify" - } - ] - }, - { - "kind": "Var", - "name": "Date_On", - "printedName": "Date_On", - "children": [ - { - "kind": "TypeNominal", - "name": "String", - "printedName": "Swift.String", - "usr": "s:SS" + ] } ], "declKind": "Var", - "usr": "s:13SendbirdUIKit12SBUStringSetC7Date_OnSSvpZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC7Date_OnSSvpZ", + "usr": "s:13SendbirdUIKit12SBUStringSetC8Date_MinySSSicvpZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC8Date_MinySSSicvpZ", "moduleName": "SendbirdUIKit", "static": true, "declAttributes": [ @@ -61574,15 +61804,28 @@ "printedName": "Get()", "children": [ { - "kind": "TypeNominal", - "name": "String", - "printedName": "Swift.String", - "usr": "s:SS" + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Swift.Int) -> Swift.String", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ] } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit12SBUStringSetC7Date_OnSSvgZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC7Date_OnSSvgZ", + "usr": "s:13SendbirdUIKit12SBUStringSetC8Date_MinySSSicvgZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC8Date_MinySSSicvgZ", "moduleName": "SendbirdUIKit", "static": true, "implicit": true, @@ -61602,15 +61845,28 @@ "printedName": "()" }, { - "kind": "TypeNominal", - "name": "String", - "printedName": "Swift.String", - "usr": "s:SS" + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Swift.Int) -> Swift.String", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ] } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit12SBUStringSetC7Date_OnSSvsZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC7Date_OnSSvsZ", + "usr": "s:13SendbirdUIKit12SBUStringSetC8Date_MinySSSicvsZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC8Date_MinySSSicvsZ", "moduleName": "SendbirdUIKit", "static": true, "implicit": true, @@ -61631,8 +61887,8 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit12SBUStringSetC7Date_OnSSvMZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC7Date_OnSSvMZ", + "usr": "s:13SendbirdUIKit12SBUStringSetC8Date_MinySSSicvMZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC8Date_MinySSSicvMZ", "moduleName": "SendbirdUIKit", "static": true, "implicit": true, @@ -61645,8 +61901,8 @@ }, { "kind": "Var", - "name": "ChannelList_Header_Title", - "printedName": "ChannelList_Header_Title", + "name": "Date_Ago", + "printedName": "Date_Ago", "children": [ { "kind": "TypeNominal", @@ -61656,16 +61912,15 @@ } ], "declKind": "Var", - "usr": "s:13SendbirdUIKit12SBUStringSetC24ChannelList_Header_TitleSSvpZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC24ChannelList_Header_TitleSSvpZ", + "usr": "s:13SendbirdUIKit12SBUStringSetC8Date_AgoSSvpZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC8Date_AgoSSvpZ", "moduleName": "SendbirdUIKit", "static": true, "declAttributes": [ "HasInitialValue", "Final", "HasStorage", - "AccessControl", - "RawDocComment" + "AccessControl" ], "hasStorage": true, "accessors": [ @@ -61682,8 +61937,8 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit12SBUStringSetC24ChannelList_Header_TitleSSvgZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC24ChannelList_Header_TitleSSvgZ", + "usr": "s:13SendbirdUIKit12SBUStringSetC8Date_AgoSSvgZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC8Date_AgoSSvgZ", "moduleName": "SendbirdUIKit", "static": true, "implicit": true, @@ -61710,8 +61965,8 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit12SBUStringSetC24ChannelList_Header_TitleSSvsZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC24ChannelList_Header_TitleSSvsZ", + "usr": "s:13SendbirdUIKit12SBUStringSetC8Date_AgoSSvsZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC8Date_AgoSSvsZ", "moduleName": "SendbirdUIKit", "static": true, "implicit": true, @@ -61732,8 +61987,8 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit12SBUStringSetC24ChannelList_Header_TitleSSvMZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC24ChannelList_Header_TitleSSvMZ", + "usr": "s:13SendbirdUIKit12SBUStringSetC8Date_AgoSSvMZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC8Date_AgoSSvMZ", "moduleName": "SendbirdUIKit", "static": true, "implicit": true, @@ -61746,8 +62001,8 @@ }, { "kind": "Var", - "name": "ChannelList_Last_File_Message", - "printedName": "ChannelList_Last_File_Message", + "name": "Date_On", + "printedName": "Date_On", "children": [ { "kind": "TypeNominal", @@ -61757,8 +62012,209 @@ } ], "declKind": "Var", - "usr": "s:13SendbirdUIKit12SBUStringSetC29ChannelList_Last_File_MessageSSvpZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC29ChannelList_Last_File_MessageSSvpZ", + "usr": "s:13SendbirdUIKit12SBUStringSetC7Date_OnSSvpZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC7Date_OnSSvpZ", + "moduleName": "SendbirdUIKit", + "static": true, + "declAttributes": [ + "HasInitialValue", + "Final", + "HasStorage", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit12SBUStringSetC7Date_OnSSvgZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC7Date_OnSSvgZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "declAttributes": [ + "Final" + ], + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit12SBUStringSetC7Date_OnSSvsZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC7Date_OnSSvsZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "declAttributes": [ + "Final" + ], + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit12SBUStringSetC7Date_OnSSvMZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC7Date_OnSSvMZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "declAttributes": [ + "Final" + ], + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "ChannelList_Header_Title", + "printedName": "ChannelList_Header_Title", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit12SBUStringSetC24ChannelList_Header_TitleSSvpZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC24ChannelList_Header_TitleSSvpZ", + "moduleName": "SendbirdUIKit", + "static": true, + "declAttributes": [ + "HasInitialValue", + "Final", + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit12SBUStringSetC24ChannelList_Header_TitleSSvgZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC24ChannelList_Header_TitleSSvgZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "declAttributes": [ + "Final" + ], + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit12SBUStringSetC24ChannelList_Header_TitleSSvsZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC24ChannelList_Header_TitleSSvsZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "declAttributes": [ + "Final" + ], + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit12SBUStringSetC24ChannelList_Header_TitleSSvMZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC24ChannelList_Header_TitleSSvMZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "declAttributes": [ + "Final" + ], + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "ChannelList_Last_File_Message", + "printedName": "ChannelList_Last_File_Message", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit12SBUStringSetC29ChannelList_Last_File_MessageSSvpZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC29ChannelList_Last_File_MessageSSvpZ", "moduleName": "SendbirdUIKit", "static": true, "declAttributes": [ @@ -74818,6 +75274,784 @@ "RawDocComment" ] }, + { + "kind": "TypeDecl", + "name": "GroupChannel", + "printedName": "GroupChannel", + "children": [ + { + "kind": "TypeDecl", + "name": "Preview", + "printedName": "Preview", + "children": [ + { + "kind": "Var", + "name": "photo", + "printedName": "photo", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV5photoSSvpZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV5photoSSvpZ", + "moduleName": "SendbirdUIKit", + "static": true, + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV5photoSSvgZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV5photoSSvgZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV5photoSSvsZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV5photoSSvsZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV5photoSSvMZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV5photoSSvMZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "gif", + "printedName": "gif", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV3gifSSvpZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV3gifSSvpZ", + "moduleName": "SendbirdUIKit", + "static": true, + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV3gifSSvgZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV3gifSSvgZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV3gifSSvsZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV3gifSSvsZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV3gifSSvMZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV3gifSSvMZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "video", + "printedName": "video", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV5videoSSvpZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV5videoSSvpZ", + "moduleName": "SendbirdUIKit", + "static": true, + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV5videoSSvgZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV5videoSSvgZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV5videoSSvsZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV5videoSSvsZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV5videoSSvMZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV5videoSSvMZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "audio", + "printedName": "audio", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV5audioSSvpZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV5audioSSvpZ", + "moduleName": "SendbirdUIKit", + "static": true, + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV5audioSSvgZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV5audioSSvgZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV5audioSSvsZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV5audioSSvsZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV5audioSSvMZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV5audioSSvMZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "voice", + "printedName": "voice", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV5voiceSSvpZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV5voiceSSvpZ", + "moduleName": "SendbirdUIKit", + "static": true, + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV5voiceSSvgZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV5voiceSSvgZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV5voiceSSvsZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV5voiceSSvsZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV5voiceSSvMZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV5voiceSSvMZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "file", + "printedName": "file", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV4fileSSvpZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV4fileSSvpZ", + "moduleName": "SendbirdUIKit", + "static": true, + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV4fileSSvgZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV4fileSSvgZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV4fileSSvsZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV4fileSSvsZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV4fileSSvMZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV4fileSSvMZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "multipleFiles", + "printedName": "multipleFiles", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV13multipleFilesSSvpZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV13multipleFilesSSvpZ", + "moduleName": "SendbirdUIKit", + "static": true, + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV13multipleFilesSSvgZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV13multipleFilesSSvgZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV13multipleFilesSSvsZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV13multipleFilesSSvsZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV13multipleFilesSSvMZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV13multipleFilesSSvMZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "accessorKind": "_modify" + } + ] + } + ], + "declKind": "Struct", + "usr": "s:13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "AccessControl" + ] + } + ], + "declKind": "Struct", + "usr": "s:13SendbirdUIKit12SBUStringSetC12GroupChannelV", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC12GroupChannelV", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ] + }, + { + "kind": "TypeDecl", + "name": "FileUpload", + "printedName": "FileUpload", + "children": [ + { + "kind": "TypeDecl", + "name": "Error", + "printedName": "Error", + "children": [ + { + "kind": "Var", + "name": "exceededSizeLimit", + "printedName": "exceededSizeLimit", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit12SBUStringSetC10FileUploadV5ErrorV17exceededSizeLimitSSvpZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC10FileUploadV5ErrorV17exceededSizeLimitSSvpZ", + "moduleName": "SendbirdUIKit", + "static": true, + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit12SBUStringSetC10FileUploadV5ErrorV17exceededSizeLimitSSvgZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC10FileUploadV5ErrorV17exceededSizeLimitSSvgZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit12SBUStringSetC10FileUploadV5ErrorV17exceededSizeLimitSSvsZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC10FileUploadV5ErrorV17exceededSizeLimitSSvsZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit12SBUStringSetC10FileUploadV5ErrorV17exceededSizeLimitSSvMZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC10FileUploadV5ErrorV17exceededSizeLimitSSvMZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "accessorKind": "_modify" + } + ] + } + ], + "declKind": "Struct", + "usr": "s:13SendbirdUIKit12SBUStringSetC10FileUploadV5ErrorV", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC10FileUploadV5ErrorV", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "AccessControl" + ] + } + ], + "declKind": "Struct", + "usr": "s:13SendbirdUIKit12SBUStringSetC10FileUploadV", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC10FileUploadV", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ] + }, { "kind": "Var", "name": "ChannelSettings_Banned_Members", @@ -83964,6 +85198,117 @@ } ] }, + { + "kind": "Var", + "name": "imageWitdhConstraint", + "printedName": "imageWitdhConstraint", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "UIKit.NSLayoutConstraint?", + "children": [ + { + "kind": "TypeNominal", + "name": "NSLayoutConstraint", + "printedName": "UIKit.NSLayoutConstraint", + "usr": "c:objc(cs)NSLayoutConstraint" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit17SBUMessageWebViewC20imageWitdhConstraintSo08NSLayoutH0CSgvp", + "mangledName": "$s13SendbirdUIKit17SBUMessageWebViewC20imageWitdhConstraintSo08NSLayoutH0CSgvp", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "Custom", + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "UIKit.NSLayoutConstraint?", + "children": [ + { + "kind": "TypeNominal", + "name": "NSLayoutConstraint", + "printedName": "UIKit.NSLayoutConstraint", + "usr": "c:objc(cs)NSLayoutConstraint" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit17SBUMessageWebViewC20imageWitdhConstraintSo08NSLayoutH0CSgvg", + "mangledName": "$s13SendbirdUIKit17SBUMessageWebViewC20imageWitdhConstraintSo08NSLayoutH0CSgvg", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "UIKit.NSLayoutConstraint?", + "children": [ + { + "kind": "TypeNominal", + "name": "NSLayoutConstraint", + "printedName": "UIKit.NSLayoutConstraint", + "usr": "c:objc(cs)NSLayoutConstraint" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit17SBUMessageWebViewC20imageWitdhConstraintSo08NSLayoutH0CSgvs", + "mangledName": "$s13SendbirdUIKit17SBUMessageWebViewC20imageWitdhConstraintSo08NSLayoutH0CSgvs", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit17SBUMessageWebViewC20imageWitdhConstraintSo08NSLayoutH0CSgvM", + "mangledName": "$s13SendbirdUIKit17SBUMessageWebViewC20imageWitdhConstraintSo08NSLayoutH0CSgvM", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, { "kind": "Constructor", "name": "init", @@ -84949,6 +86294,16 @@ "RawDocComment" ] }, + { + "kind": "Import", + "name": "SendbirdChatSDK", + "printedName": "SendbirdChatSDK", + "declKind": "Import", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "RawDocComment" + ] + }, { "kind": "Import", "name": "UIKit", @@ -85526,6 +86881,566 @@ "RawDocComment" ] }, + { + "kind": "TypeDecl", + "name": "SBUMultipleFilesMessageCollectionView", + "printedName": "SBUMultipleFilesMessageCollectionView", + "children": [ + { + "kind": "Var", + "name": "theme", + "printedName": "theme", + "children": [ + { + "kind": "TypeNominal", + "name": "SBUMessageCellTheme", + "printedName": "SendbirdUIKit.SBUMessageCellTheme", + "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit37SBUMultipleFilesMessageCollectionViewC5themeAA19SBUMessageCellThemeCvp", + "mangledName": "$s13SendbirdUIKit37SBUMultipleFilesMessageCollectionViewC5themeAA19SBUMessageCellThemeCvp", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "Custom", + "AccessControl", + "Custom" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "SBUMessageCellTheme", + "printedName": "SendbirdUIKit.SBUMessageCellTheme", + "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit37SBUMultipleFilesMessageCollectionViewC5themeAA19SBUMessageCellThemeCvg", + "mangledName": "$s13SendbirdUIKit37SBUMultipleFilesMessageCollectionViewC5themeAA19SBUMessageCellThemeCvg", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "SBUMessageCellTheme", + "printedName": "SendbirdUIKit.SBUMessageCellTheme", + "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit37SBUMultipleFilesMessageCollectionViewC5themeAA19SBUMessageCellThemeCvs", + "mangledName": "$s13SendbirdUIKit37SBUMultipleFilesMessageCollectionViewC5themeAA19SBUMessageCellThemeCvs", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit37SBUMultipleFilesMessageCollectionViewC5themeAA19SBUMessageCellThemeCvM", + "mangledName": "$s13SendbirdUIKit37SBUMultipleFilesMessageCollectionViewC5themeAA19SBUMessageCellThemeCvM", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "cornerRadius", + "printedName": "cornerRadius", + "children": [ + { + "kind": "TypeNominal", + "name": "CGFloat", + "printedName": "CoreGraphics.CGFloat", + "usr": "s:14CoreFoundation7CGFloatV" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit37SBUMultipleFilesMessageCollectionViewC12cornerRadius14CoreFoundation7CGFloatVvp", + "mangledName": "$s13SendbirdUIKit37SBUMultipleFilesMessageCollectionViewC12cornerRadius12CoreGraphics7CGFloatVvp", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "Custom", + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "CGFloat", + "printedName": "CoreGraphics.CGFloat", + "usr": "s:14CoreFoundation7CGFloatV" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit37SBUMultipleFilesMessageCollectionViewC12cornerRadius14CoreFoundation7CGFloatVvg", + "mangledName": "$s13SendbirdUIKit37SBUMultipleFilesMessageCollectionViewC12cornerRadius12CoreGraphics7CGFloatVvg", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "CGFloat", + "printedName": "CoreGraphics.CGFloat", + "usr": "s:14CoreFoundation7CGFloatV" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit37SBUMultipleFilesMessageCollectionViewC12cornerRadius14CoreFoundation7CGFloatVvs", + "mangledName": "$s13SendbirdUIKit37SBUMultipleFilesMessageCollectionViewC12cornerRadius12CoreGraphics7CGFloatVvs", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit37SBUMultipleFilesMessageCollectionViewC12cornerRadius14CoreFoundation7CGFloatVvM", + "mangledName": "$s13SendbirdUIKit37SBUMultipleFilesMessageCollectionViewC12cornerRadius12CoreGraphics7CGFloatVvM", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Function", + "name": "configure", + "printedName": "configure(delegate:dataSource:theme:cornerRadius:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "UICollectionViewDelegate", + "printedName": "UIKit.UICollectionViewDelegate", + "usr": "c:objc(pl)UICollectionViewDelegate" + }, + { + "kind": "TypeNominal", + "name": "UICollectionViewDataSource", + "printedName": "UIKit.UICollectionViewDataSource", + "usr": "c:objc(pl)UICollectionViewDataSource" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "SendbirdUIKit.SBUMessageCellTheme?", + "children": [ + { + "kind": "TypeNominal", + "name": "SBUMessageCellTheme", + "printedName": "SendbirdUIKit.SBUMessageCellTheme", + "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC" + } + ], + "hasDefaultArg": true, + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "CGFloat", + "printedName": "CoreGraphics.CGFloat", + "usr": "s:14CoreFoundation7CGFloatV" + } + ], + "declKind": "Func", + "usr": "s:13SendbirdUIKit37SBUMultipleFilesMessageCollectionViewC9configure8delegate10dataSource5theme12cornerRadiusySo012UICollectionG8Delegate_p_So0og4DataK0_pAA19SBUMessageCellThemeCSg14CoreFoundation7CGFloatVtF", + "mangledName": "$s13SendbirdUIKit37SBUMultipleFilesMessageCollectionViewC9configure8delegate10dataSource5theme12cornerRadiusySo012UICollectionG8Delegate_p_So0og4DataK0_pAA19SBUMessageCellThemeCSg12CoreGraphics7CGFloatVtF", + "moduleName": "SendbirdUIKit", + "isOpen": true, + "declAttributes": [ + "Custom", + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "setupViews", + "printedName": "setupViews()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Func", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCollectionView(im)setupViews", + "mangledName": "$s13SendbirdUIKit37SBUMultipleFilesMessageCollectionViewC10setupViewsyyF", + "moduleName": "SendbirdUIKit", + "isOpen": true, + "objc_name": "setupViews", + "declAttributes": [ + "ObjC", + "Custom", + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "setupLayouts", + "printedName": "setupLayouts()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Func", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCollectionView(im)setupLayouts", + "mangledName": "$s13SendbirdUIKit37SBUMultipleFilesMessageCollectionViewC12setupLayoutsyyF", + "moduleName": "SendbirdUIKit", + "isOpen": true, + "objc_name": "setupLayouts", + "declAttributes": [ + "ObjC", + "Custom", + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "setupStyles", + "printedName": "setupStyles()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Func", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCollectionView(im)setupStyles", + "mangledName": "$s13SendbirdUIKit37SBUMultipleFilesMessageCollectionViewC11setupStylesyyF", + "moduleName": "SendbirdUIKit", + "isOpen": true, + "objc_name": "setupStyles", + "declAttributes": [ + "ObjC", + "Custom", + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "setupActions", + "printedName": "setupActions()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Func", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCollectionView(im)setupActions", + "mangledName": "$s13SendbirdUIKit37SBUMultipleFilesMessageCollectionViewC12setupActionsyyF", + "moduleName": "SendbirdUIKit", + "isOpen": true, + "objc_name": "setupActions", + "declAttributes": [ + "ObjC", + "Custom", + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "updateLayouts", + "printedName": "updateLayouts()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Func", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCollectionView(im)updateLayouts", + "mangledName": "$s13SendbirdUIKit37SBUMultipleFilesMessageCollectionViewC13updateLayoutsyyF", + "moduleName": "SendbirdUIKit", + "isOpen": true, + "objc_name": "updateLayouts", + "declAttributes": [ + "ObjC", + "Custom", + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "updateStyles", + "printedName": "updateStyles()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Func", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCollectionView(im)updateStyles", + "mangledName": "$s13SendbirdUIKit37SBUMultipleFilesMessageCollectionViewC12updateStylesyyF", + "moduleName": "SendbirdUIKit", + "isOpen": true, + "objc_name": "updateStyles", + "declAttributes": [ + "ObjC", + "Custom", + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(frame:collectionViewLayout:)", + "children": [ + { + "kind": "TypeNominal", + "name": "SBUMultipleFilesMessageCollectionView", + "printedName": "SendbirdUIKit.SBUMultipleFilesMessageCollectionView", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCollectionView" + }, + { + "kind": "TypeNominal", + "name": "CGRect", + "printedName": "CoreFoundation.CGRect", + "usr": "c:@S@CGRect" + }, + { + "kind": "TypeNominal", + "name": "UICollectionViewLayout", + "printedName": "UIKit.UICollectionViewLayout", + "usr": "c:objc(cs)UICollectionViewLayout" + } + ], + "declKind": "Constructor", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCollectionView(im)initWithFrame:collectionViewLayout:", + "mangledName": "$s13SendbirdUIKit37SBUMultipleFilesMessageCollectionViewC5frame010collectionG6LayoutACSo6CGRectV_So012UICollectiongJ0Ctcfc", + "moduleName": "SendbirdUIKit", + "overriding": true, + "implicit": true, + "objc_name": "initWithFrame:collectionViewLayout:", + "declAttributes": [ + "Dynamic", + "ObjC", + "Custom", + "Override" + ], + "init_kind": "Designated" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(coder:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "SendbirdUIKit.SBUMultipleFilesMessageCollectionView?", + "children": [ + { + "kind": "TypeNominal", + "name": "SBUMultipleFilesMessageCollectionView", + "printedName": "SendbirdUIKit.SBUMultipleFilesMessageCollectionView", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCollectionView" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "NSCoder", + "printedName": "Foundation.NSCoder", + "usr": "c:objc(cs)NSCoder" + } + ], + "declKind": "Constructor", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCollectionView(im)initWithCoder:", + "mangledName": "$s13SendbirdUIKit37SBUMultipleFilesMessageCollectionViewC5coderACSgSo7NSCoderC_tcfc", + "moduleName": "SendbirdUIKit", + "overriding": true, + "implicit": true, + "objc_name": "initWithCoder:", + "declAttributes": [ + "Dynamic", + "ObjC", + "Custom", + "Required" + ], + "init_kind": "Designated" + } + ], + "declKind": "Class", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCollectionView", + "mangledName": "$s13SendbirdUIKit37SBUMultipleFilesMessageCollectionViewC", + "moduleName": "SendbirdUIKit", + "isOpen": true, + "declAttributes": [ + "Custom", + "AccessControl", + "RawDocComment", + "ObjC" + ], + "superclassUsr": "c:objc(cs)UICollectionView", + "inheritsConvenienceInitializers": true, + "superclassNames": [ + "UIKit.UICollectionView", + "UIKit.UIScrollView", + "UIKit.UIView", + "UIKit.UIResponder", + "ObjectiveC.NSObject" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "SBUViewLifeCycle", + "printedName": "SBUViewLifeCycle", + "usr": "c:@M@SendbirdUIKit@objc(pl)SBUViewLifeCycle", + "mangledName": "$s13SendbirdUIKit16SBUViewLifeCycleP" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "CVarArg", + "printedName": "CVarArg", + "usr": "s:s7CVarArgP", + "mangledName": "$ss7CVarArgP" + }, + { + "kind": "Conformance", + "name": "_KeyValueCodingAndObservingPublishing", + "printedName": "_KeyValueCodingAndObservingPublishing", + "usr": "s:10Foundation37_KeyValueCodingAndObservingPublishingP", + "mangledName": "$s10Foundation37_KeyValueCodingAndObservingPublishingP" + }, + { + "kind": "Conformance", + "name": "_KeyValueCodingAndObserving", + "printedName": "_KeyValueCodingAndObserving", + "usr": "s:10Foundation27_KeyValueCodingAndObservingP", + "mangledName": "$s10Foundation27_KeyValueCodingAndObservingP" + }, + { + "kind": "Conformance", + "name": "CustomStringConvertible", + "printedName": "CustomStringConvertible", + "usr": "s:s23CustomStringConvertibleP", + "mangledName": "$ss23CustomStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "CustomDebugStringConvertible", + "printedName": "CustomDebugStringConvertible", + "usr": "s:s28CustomDebugStringConvertibleP", + "mangledName": "$ss28CustomDebugStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + }, + { + "kind": "Conformance", + "name": "__DefaultCustomPlaygroundQuickLookable", + "printedName": "__DefaultCustomPlaygroundQuickLookable", + "usr": "s:s38__DefaultCustomPlaygroundQuickLookableP", + "mangledName": "$ss38__DefaultCustomPlaygroundQuickLookableP" + } + ] + }, + { + "kind": "Import", + "name": "UIKit", + "printedName": "UIKit", + "declKind": "Import", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "RawDocComment" + ] + }, { "kind": "Import", "name": "SendbirdChatSDK", @@ -87060,6 +88975,516 @@ "RawDocComment" ] }, + { + "kind": "TypeDecl", + "name": "SBUPaddingLabel", + "printedName": "SBUPaddingLabel", + "children": [ + { + "kind": "Var", + "name": "top", + "printedName": "top", + "children": [ + { + "kind": "TypeNominal", + "name": "CGFloat", + "printedName": "CoreGraphics.CGFloat", + "usr": "s:14CoreFoundation7CGFloatV" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit15SBUPaddingLabelC3top14CoreFoundation7CGFloatVvp", + "mangledName": "$s13SendbirdUIKit15SBUPaddingLabelC3top12CoreGraphics7CGFloatVvp", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "Custom", + "HasStorage", + "SetterAccess", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "CGFloat", + "printedName": "CoreGraphics.CGFloat", + "usr": "s:14CoreFoundation7CGFloatV" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit15SBUPaddingLabelC3top14CoreFoundation7CGFloatVvg", + "mangledName": "$s13SendbirdUIKit15SBUPaddingLabelC3top12CoreGraphics7CGFloatVvg", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "bottom", + "printedName": "bottom", + "children": [ + { + "kind": "TypeNominal", + "name": "CGFloat", + "printedName": "CoreGraphics.CGFloat", + "usr": "s:14CoreFoundation7CGFloatV" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit15SBUPaddingLabelC6bottom14CoreFoundation7CGFloatVvp", + "mangledName": "$s13SendbirdUIKit15SBUPaddingLabelC6bottom12CoreGraphics7CGFloatVvp", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "Custom", + "HasStorage", + "SetterAccess", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "CGFloat", + "printedName": "CoreGraphics.CGFloat", + "usr": "s:14CoreFoundation7CGFloatV" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit15SBUPaddingLabelC6bottom14CoreFoundation7CGFloatVvg", + "mangledName": "$s13SendbirdUIKit15SBUPaddingLabelC6bottom12CoreGraphics7CGFloatVvg", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "leading", + "printedName": "leading", + "children": [ + { + "kind": "TypeNominal", + "name": "CGFloat", + "printedName": "CoreGraphics.CGFloat", + "usr": "s:14CoreFoundation7CGFloatV" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit15SBUPaddingLabelC7leading14CoreFoundation7CGFloatVvp", + "mangledName": "$s13SendbirdUIKit15SBUPaddingLabelC7leading12CoreGraphics7CGFloatVvp", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "Custom", + "HasStorage", + "SetterAccess", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "CGFloat", + "printedName": "CoreGraphics.CGFloat", + "usr": "s:14CoreFoundation7CGFloatV" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit15SBUPaddingLabelC7leading14CoreFoundation7CGFloatVvg", + "mangledName": "$s13SendbirdUIKit15SBUPaddingLabelC7leading12CoreGraphics7CGFloatVvg", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "trailing", + "printedName": "trailing", + "children": [ + { + "kind": "TypeNominal", + "name": "CGFloat", + "printedName": "CoreGraphics.CGFloat", + "usr": "s:14CoreFoundation7CGFloatV" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit15SBUPaddingLabelC8trailing14CoreFoundation7CGFloatVvp", + "mangledName": "$s13SendbirdUIKit15SBUPaddingLabelC8trailing12CoreGraphics7CGFloatVvp", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "Custom", + "HasStorage", + "SetterAccess", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "CGFloat", + "printedName": "CoreGraphics.CGFloat", + "usr": "s:14CoreFoundation7CGFloatV" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit15SBUPaddingLabelC8trailing14CoreFoundation7CGFloatVvg", + "mangledName": "$s13SendbirdUIKit15SBUPaddingLabelC8trailing12CoreGraphics7CGFloatVvg", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "SBUPaddingLabel", + "printedName": "SendbirdUIKit.SBUPaddingLabel", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUPaddingLabel" + }, + { + "kind": "TypeNominal", + "name": "CGFloat", + "printedName": "CoreGraphics.CGFloat", + "usr": "s:14CoreFoundation7CGFloatV" + } + ], + "declKind": "Constructor", + "usr": "s:13SendbirdUIKit15SBUPaddingLabelCyAC14CoreFoundation7CGFloatVcfc", + "mangledName": "$s13SendbirdUIKit15SBUPaddingLabelCyAC12CoreGraphics7CGFloatVcfc", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "Custom", + "Convenience", + "AccessControl" + ], + "init_kind": "Convenience" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "SBUPaddingLabel", + "printedName": "SendbirdUIKit.SBUPaddingLabel", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUPaddingLabel" + }, + { + "kind": "TypeNominal", + "name": "CGFloat", + "printedName": "CoreGraphics.CGFloat", + "usr": "s:14CoreFoundation7CGFloatV" + }, + { + "kind": "TypeNominal", + "name": "CGFloat", + "printedName": "CoreGraphics.CGFloat", + "usr": "s:14CoreFoundation7CGFloatV" + } + ], + "declKind": "Constructor", + "usr": "s:13SendbirdUIKit15SBUPaddingLabelCyAC14CoreFoundation7CGFloatV_AFtcfc", + "mangledName": "$s13SendbirdUIKit15SBUPaddingLabelCyAC12CoreGraphics7CGFloatV_AFtcfc", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "Custom", + "Convenience", + "AccessControl" + ], + "init_kind": "Convenience" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(_:_:_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "SBUPaddingLabel", + "printedName": "SendbirdUIKit.SBUPaddingLabel", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUPaddingLabel" + }, + { + "kind": "TypeNominal", + "name": "CGFloat", + "printedName": "CoreGraphics.CGFloat", + "hasDefaultArg": true, + "usr": "s:14CoreFoundation7CGFloatV" + }, + { + "kind": "TypeNominal", + "name": "CGFloat", + "printedName": "CoreGraphics.CGFloat", + "hasDefaultArg": true, + "usr": "s:14CoreFoundation7CGFloatV" + }, + { + "kind": "TypeNominal", + "name": "CGFloat", + "printedName": "CoreGraphics.CGFloat", + "hasDefaultArg": true, + "usr": "s:14CoreFoundation7CGFloatV" + }, + { + "kind": "TypeNominal", + "name": "CGFloat", + "printedName": "CoreGraphics.CGFloat", + "hasDefaultArg": true, + "usr": "s:14CoreFoundation7CGFloatV" + } + ], + "declKind": "Constructor", + "usr": "s:13SendbirdUIKit15SBUPaddingLabelCyAC14CoreFoundation7CGFloatV_A3Ftcfc", + "mangledName": "$s13SendbirdUIKit15SBUPaddingLabelCyAC12CoreGraphics7CGFloatV_A3Ftcfc", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "Custom", + "AccessControl" + ], + "init_kind": "Designated" + }, + { + "kind": "Function", + "name": "drawText", + "printedName": "drawText(in:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "CGRect", + "printedName": "CoreFoundation.CGRect", + "usr": "c:@S@CGRect" + } + ], + "declKind": "Func", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUPaddingLabel(im)drawTextInRect:", + "mangledName": "$s13SendbirdUIKit15SBUPaddingLabelC8drawText2inySo6CGRectV_tF", + "moduleName": "SendbirdUIKit", + "overriding": true, + "objc_name": "drawTextInRect:", + "declAttributes": [ + "Dynamic", + "ObjC", + "Custom", + "Override", + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Var", + "name": "intrinsicContentSize", + "printedName": "intrinsicContentSize", + "children": [ + { + "kind": "TypeNominal", + "name": "CGSize", + "printedName": "CoreFoundation.CGSize", + "usr": "c:@S@CGSize" + } + ], + "declKind": "Var", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUPaddingLabel(py)intrinsicContentSize", + "mangledName": "$s13SendbirdUIKit15SBUPaddingLabelC20intrinsicContentSizeSo6CGSizeVvp", + "moduleName": "SendbirdUIKit", + "overriding": true, + "objc_name": "intrinsicContentSize", + "declAttributes": [ + "Dynamic", + "ObjC", + "Custom", + "Override", + "AccessControl" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "CGSize", + "printedName": "CoreFoundation.CGSize", + "usr": "c:@S@CGSize" + } + ], + "declKind": "Accessor", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUPaddingLabel(im)intrinsicContentSize", + "mangledName": "$s13SendbirdUIKit15SBUPaddingLabelC20intrinsicContentSizeSo6CGSizeVvg", + "moduleName": "SendbirdUIKit", + "overriding": true, + "objc_name": "intrinsicContentSize", + "declAttributes": [ + "Dynamic", + "ObjC" + ], + "accessorKind": "get" + } + ] + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(frame:)", + "children": [ + { + "kind": "TypeNominal", + "name": "SBUPaddingLabel", + "printedName": "SendbirdUIKit.SBUPaddingLabel", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUPaddingLabel" + }, + { + "kind": "TypeNominal", + "name": "CGRect", + "printedName": "CoreFoundation.CGRect", + "usr": "c:@S@CGRect" + } + ], + "declKind": "Constructor", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUPaddingLabel(im)initWithFrame:", + "mangledName": "$s13SendbirdUIKit15SBUPaddingLabelC5frameACSo6CGRectV_tcfc", + "moduleName": "SendbirdUIKit", + "overriding": true, + "implicit": true, + "objc_name": "initWithFrame:", + "declAttributes": [ + "Dynamic", + "ObjC", + "Custom", + "Override" + ], + "init_kind": "Designated" + } + ], + "declKind": "Class", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUPaddingLabel", + "mangledName": "$s13SendbirdUIKit15SBUPaddingLabelC", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "Custom", + "AccessControl", + "ObjC" + ], + "superclassUsr": "c:objc(cs)UILabel", + "hasMissingDesignatedInitializers": true, + "superclassNames": [ + "UIKit.UILabel", + "UIKit.UIView", + "UIKit.UIResponder", + "ObjectiveC.NSObject" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "CVarArg", + "printedName": "CVarArg", + "usr": "s:s7CVarArgP", + "mangledName": "$ss7CVarArgP" + }, + { + "kind": "Conformance", + "name": "_KeyValueCodingAndObservingPublishing", + "printedName": "_KeyValueCodingAndObservingPublishing", + "usr": "s:10Foundation37_KeyValueCodingAndObservingPublishingP", + "mangledName": "$s10Foundation37_KeyValueCodingAndObservingPublishingP" + }, + { + "kind": "Conformance", + "name": "_KeyValueCodingAndObserving", + "printedName": "_KeyValueCodingAndObserving", + "usr": "s:10Foundation27_KeyValueCodingAndObservingP", + "mangledName": "$s10Foundation27_KeyValueCodingAndObservingP" + }, + { + "kind": "Conformance", + "name": "CustomStringConvertible", + "printedName": "CustomStringConvertible", + "usr": "s:s23CustomStringConvertibleP", + "mangledName": "$ss23CustomStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "CustomDebugStringConvertible", + "printedName": "CustomDebugStringConvertible", + "usr": "s:s28CustomDebugStringConvertibleP", + "mangledName": "$ss28CustomDebugStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + }, + { + "kind": "Conformance", + "name": "__DefaultCustomPlaygroundQuickLookable", + "printedName": "__DefaultCustomPlaygroundQuickLookable", + "usr": "s:s38__DefaultCustomPlaygroundQuickLookableP", + "mangledName": "$ss38__DefaultCustomPlaygroundQuickLookableP" + } + ] + }, + { + "kind": "Import", + "name": "UIKit", + "printedName": "UIKit", + "declKind": "Import", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "RawDocComment" + ] + }, { "kind": "Import", "name": "QuartzCore", @@ -87406,7 +89831,7 @@ "children": [ { "kind": "TypeNominal", - "name": "ImplicitlyUnwrappedOptional", + "name": "Optional", "printedName": "UIKit.NSLayoutConstraint?", "children": [ { @@ -87441,7 +89866,7 @@ "children": [ { "kind": "TypeNominal", - "name": "ImplicitlyUnwrappedOptional", + "name": "Optional", "printedName": "UIKit.NSLayoutConstraint?", "children": [ { @@ -100511,6 +102936,20 @@ "declKind": "Import", "moduleName": "SendbirdUIKit" }, + { + "kind": "Import", + "name": "PhotosUI", + "printedName": "PhotosUI", + "declKind": "Import", + "moduleName": "SendbirdUIKit" + }, + { + "kind": "Import", + "name": "MobileCoreServices", + "printedName": "MobileCoreServices", + "declKind": "Import", + "moduleName": "SendbirdUIKit" + }, { "kind": "TypeDecl", "name": "SBUGroupChannelViewController", @@ -101293,6 +103732,36 @@ } ] }, + { + "kind": "Function", + "name": "multipleFilesMessageFileSizeErrorHandler", + "printedName": "multipleFilesMessageFileSizeErrorHandler(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Func", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUGroupChannelViewController(im)multipleFilesMessageFileSizeErrorHandler:", + "mangledName": "$s13SendbirdUIKit29SBUGroupChannelViewControllerC40multipleFilesMessageFileSizeErrorHandleryySSF", + "moduleName": "SendbirdUIKit", + "isOpen": true, + "declAttributes": [ + "Custom", + "AccessControl", + "RawDocComment", + "ObjC" + ], + "funcSelfKind": "NonMutating" + }, { "kind": "Constructor", "name": "init", @@ -101984,6 +104453,38 @@ ], "funcSelfKind": "NonMutating" }, + { + "kind": "Function", + "name": "updateStyles", + "printedName": "updateStyles(needsToLayout:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Func", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUGroupChannelViewController(im)updateStylesWithNeedsToLayout:", + "mangledName": "$s13SendbirdUIKit29SBUGroupChannelViewControllerC12updateStyles13needsToLayoutySb_tF", + "moduleName": "SendbirdUIKit", + "overriding": true, + "isOpen": true, + "objc_name": "updateStylesWithNeedsToLayout:", + "declAttributes": [ + "ObjC", + "Custom", + "Override", + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, { "kind": "Function", "name": "updateStyles", @@ -102279,6 +104780,112 @@ ], "funcSelfKind": "NonMutating" }, + { + "kind": "Function", + "name": "imagePickerControllerDidCancel", + "printedName": "imagePickerControllerDidCancel(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "UIImagePickerController", + "printedName": "UIKit.UIImagePickerController", + "usr": "c:objc(cs)UIImagePickerController" + } + ], + "declKind": "Func", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUGroupChannelViewController(im)imagePickerControllerDidCancel:", + "mangledName": "$s13SendbirdUIKit29SBUGroupChannelViewControllerC011imagePickerF9DidCancelyySo07UIImagehF0CF", + "moduleName": "SendbirdUIKit", + "overriding": true, + "isOpen": true, + "objc_name": "imagePickerControllerDidCancel:", + "declAttributes": [ + "ObjC", + "Custom", + "Override", + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "picker", + "printedName": "picker(_:didFinishPicking:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "PHPickerViewController", + "printedName": "PhotosUI.PHPickerViewController", + "usr": "c:objc(cs)PHPickerViewController" + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[PhotosUI.PHPickerResult]", + "children": [ + { + "kind": "TypeNominal", + "name": "PHPickerResult", + "printedName": "PhotosUI.PHPickerResult", + "usr": "s:8PhotosUI14PHPickerResultV" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Func", + "usr": "s:13SendbirdUIKit29SBUGroupChannelViewControllerC6picker_16didFinishPickingySo08PHPickereF0C_Say8PhotosUI0K6ResultVGtF", + "mangledName": "$s13SendbirdUIKit29SBUGroupChannelViewControllerC6picker_16didFinishPickingySo08PHPickereF0C_Say8PhotosUI0K6ResultVGtF", + "moduleName": "SendbirdUIKit", + "overriding": true, + "isOpen": true, + "intro_iOS": "14", + "declAttributes": [ + "Custom", + "AccessControl", + "Override", + "Available" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "showPhotoLibraryPicker", + "printedName": "showPhotoLibraryPicker()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Func", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUGroupChannelViewController(im)showPhotoLibraryPicker", + "mangledName": "$s13SendbirdUIKit29SBUGroupChannelViewControllerC22showPhotoLibraryPickeryyF", + "moduleName": "SendbirdUIKit", + "overriding": true, + "isOpen": true, + "objc_name": "showPhotoLibraryPicker", + "declAttributes": [ + "ObjC", + "Custom", + "Override", + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, { "kind": "Function", "name": "showVoiceMessageInput", @@ -102515,6 +105122,46 @@ ], "funcSelfKind": "NonMutating" }, + { + "kind": "Function", + "name": "groupChannelViewModel", + "printedName": "groupChannelViewModel(_:didFinishUploadingFileAt:multipleFilesMessageRequestId:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "SBUGroupChannelViewModel", + "printedName": "SendbirdUIKit.SBUGroupChannelViewModel", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUGroupChannelViewModel" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Func", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUGroupChannelViewController(im)groupChannelViewModel:didFinishUploadingFileAt:multipleFilesMessageRequestId:", + "mangledName": "$s13SendbirdUIKit29SBUGroupChannelViewControllerC05groupdE5Model_24didFinishUploadingFileAt29multipleFilesMessageRequestIdyAA0cdeH0C_SiSStF", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "Custom", + "AccessControl", + "ObjC" + ], + "funcSelfKind": "NonMutating" + }, { "kind": "Function", "name": "baseChannelModule", @@ -102592,6 +105239,54 @@ ], "funcSelfKind": "NonMutating" }, + { + "kind": "Function", + "name": "groupChannelModule", + "printedName": "groupChannelModule(_:didSelectFileAt:multipleFilesMessageCell:forRowAt:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "List", + "printedName": "SendbirdUIKit.SBUGroupChannelModule.List", + "usr": "s:13SendbirdUIKit21SBUGroupChannelModuleC4ListC" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "SBUMultipleFilesMessageCell", + "printedName": "SendbirdUIKit.SBUMultipleFilesMessageCell", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCell" + }, + { + "kind": "TypeNominal", + "name": "IndexPath", + "printedName": "Foundation.IndexPath", + "usr": "s:10Foundation9IndexPathV" + } + ], + "declKind": "Func", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUGroupChannelViewController(im)groupChannelModule:didSelectFileAt:multipleFilesMessageCell:forRowAt:", + "mangledName": "$s13SendbirdUIKit29SBUGroupChannelViewControllerC05groupD6Module_15didSelectFileAt24multipleFilesMessageCell06forRowL0yAA0cdH0C4ListC_SiAA011SBUMultiplenoP0C10Foundation9IndexPathVtF", + "moduleName": "SendbirdUIKit", + "isOpen": true, + "declAttributes": [ + "Custom", + "AccessControl", + "RawDocComment", + "ObjC" + ], + "funcSelfKind": "NonMutating" + }, { "kind": "Function", "name": "groupChannelModule", @@ -102629,7 +105324,6 @@ "declAttributes": [ "Custom", "AccessControl", - "RawDocComment", "ObjC" ], "funcSelfKind": "NonMutating" @@ -103090,7 +105784,7 @@ { "kind": "Function", "name": "groupChannelModule", - "printedName": "groupChannelModule(_:didTapSend:mentionedMessageTemplate:mentionedUserIds:parentMessage:)", + "printedName": "groupChannelModule(_:didPickMultipleFiles:parentMessage:)", "children": [ { "kind": "TypeNominal", @@ -103105,29 +105799,25 @@ }, { "kind": "TypeNominal", - "name": "String", - "printedName": "Swift.String", - "usr": "s:SS" - }, - { - "kind": "TypeNominal", - "name": "String", - "printedName": "Swift.String", - "usr": "s:SS" - }, - { - "kind": "TypeNominal", - "name": "Array", - "printedName": "[Swift.String]", + "name": "Optional", + "printedName": "[SendbirdChatSDK.UploadableFileInfo]?", "children": [ { "kind": "TypeNominal", - "name": "String", - "printedName": "Swift.String", - "usr": "s:SS" + "name": "Array", + "printedName": "[SendbirdChatSDK.UploadableFileInfo]", + "children": [ + { + "kind": "TypeNominal", + "name": "UploadableFileInfo", + "printedName": "SendbirdChatSDK.UploadableFileInfo", + "usr": "c:@M@SendbirdChatSDK@objc(cs)SBDUploadableFileInfo" + } + ], + "usr": "s:Sa" } ], - "usr": "s:Sa" + "usr": "s:Sq" }, { "kind": "TypeNominal", @@ -103145,8 +105835,8 @@ } ], "declKind": "Func", - "usr": "c:@M@SendbirdUIKit@objc(cs)SBUGroupChannelViewController(im)groupChannelModule:didTapSend:mentionedMessageTemplate:mentionedUserIds:parentMessage:", - "mangledName": "$s13SendbirdUIKit29SBUGroupChannelViewControllerC05groupD6Module_10didTapSend24mentionedMessageTemplate0L7UserIds06parentM0yAA0cdH0C5InputC_S2SSaySSG0A7ChatSDK04BaseM0CSgtF", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUGroupChannelViewController(im)groupChannelModule:didPickMultipleFiles:parentMessage:", + "mangledName": "$s13SendbirdUIKit29SBUGroupChannelViewControllerC05groupD6Module_20didPickMultipleFiles13parentMessageyAA0cdH0C5InputC_Say0A7ChatSDK18UploadableFileInfoCGSgAK04BaseN0CSgtF", "moduleName": "SendbirdUIKit", "isOpen": true, "declAttributes": [ @@ -103159,7 +105849,76 @@ { "kind": "Function", "name": "groupChannelModule", - "printedName": "groupChannelModule(_:didTapEdit:mentionedMessageTemplate:mentionedUserIds:)", + "printedName": "groupChannelModule(_:didTapSend:mentionedMessageTemplate:mentionedUserIds:parentMessage:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Input", + "printedName": "SendbirdUIKit.SBUGroupChannelModule.Input", + "usr": "s:13SendbirdUIKit21SBUGroupChannelModuleC5InputC" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.String]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "usr": "s:Sa" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "SendbirdChatSDK.BaseMessage?", + "children": [ + { + "kind": "TypeNominal", + "name": "BaseMessage", + "printedName": "SendbirdChatSDK.BaseMessage", + "usr": "c:@M@SendbirdChatSDK@objc(cs)SBDBaseMessage" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Func", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUGroupChannelViewController(im)groupChannelModule:didTapSend:mentionedMessageTemplate:mentionedUserIds:parentMessage:", + "mangledName": "$s13SendbirdUIKit29SBUGroupChannelViewControllerC05groupD6Module_10didTapSend24mentionedMessageTemplate0L7UserIds06parentM0yAA0cdH0C5InputC_S2SSaySSG0A7ChatSDK04BaseM0CSgtF", + "moduleName": "SendbirdUIKit", + "isOpen": true, + "declAttributes": [ + "Custom", + "AccessControl", + "ObjC" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "groupChannelModule", + "printedName": "groupChannelModule(_:didTapEdit:mentionedMessageTemplate:mentionedUserIds:)", "children": [ { "kind": "TypeNominal", @@ -124196,7 +126955,7 @@ "children": [ { "kind": "TypeNominal", - "name": "ImplicitlyUnwrappedOptional", + "name": "Optional", "printedName": "UIKit.NSLayoutConstraint?", "children": [ { @@ -124228,7 +126987,7 @@ "children": [ { "kind": "TypeNominal", - "name": "ImplicitlyUnwrappedOptional", + "name": "Optional", "printedName": "UIKit.NSLayoutConstraint?", "children": [ { @@ -124260,7 +127019,7 @@ }, { "kind": "TypeNominal", - "name": "ImplicitlyUnwrappedOptional", + "name": "Optional", "printedName": "UIKit.NSLayoutConstraint?", "children": [ { @@ -126184,6 +128943,102 @@ ], "reqNewWitnessTableEntry": true, "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "messageThreadModule", + "printedName": "messageThreadModule(_:didSelectFileAt:multipleFilesMessageCell:forRowAt:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "List", + "printedName": "SendbirdUIKit.SBUMessageThreadModule.List", + "usr": "s:13SendbirdUIKit22SBUMessageThreadModuleC4ListC" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "SBUMultipleFilesMessageCell", + "printedName": "SendbirdUIKit.SBUMultipleFilesMessageCell", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCell" + }, + { + "kind": "TypeNominal", + "name": "IndexPath", + "printedName": "Foundation.IndexPath", + "usr": "s:10Foundation9IndexPathV" + } + ], + "declKind": "Func", + "usr": "s:13SendbirdUIKit34SBUMessageThreadModuleListDelegateP07messagedE0_15didSelectFileAt24multipleFilesMessageCell06forRowL0yAA0cdE0C0F0C_SiAA011SBUMultiplenoP0C10Foundation9IndexPathVtF", + "mangledName": "$s13SendbirdUIKit34SBUMessageThreadModuleListDelegateP07messagedE0_15didSelectFileAt24multipleFilesMessageCell06forRowL0yAA0cdE0C0F0C_SiAA011SBUMultiplenoP0C10Foundation9IndexPathVtF", + "moduleName": "SendbirdUIKit", + "genericSig": "<τ_0_0 where τ_0_0 : SendbirdUIKit.SBUMessageThreadModuleListDelegate>", + "sugared_genericSig": "", + "protocolReq": true, + "declAttributes": [ + "RawDocComment" + ], + "reqNewWitnessTableEntry": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "messageThreadModule", + "printedName": "messageThreadModule(_:uploadedFileInfo:message:index:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "List", + "printedName": "SendbirdUIKit.SBUMessageThreadModule.List", + "usr": "s:13SendbirdUIKit22SBUMessageThreadModuleC4ListC" + }, + { + "kind": "TypeNominal", + "name": "UploadedFileInfo", + "printedName": "SendbirdChatSDK.UploadedFileInfo", + "usr": "c:@M@SendbirdChatSDK@objc(cs)SBDUploadedFileInfo" + }, + { + "kind": "TypeNominal", + "name": "MultipleFilesMessage", + "printedName": "SendbirdChatSDK.MultipleFilesMessage", + "usr": "c:@M@SendbirdChatSDK@objc(cs)SBDMultipleFilesMessage" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Func", + "usr": "s:13SendbirdUIKit34SBUMessageThreadModuleListDelegateP07messagedE0_16uploadedFileInfo0H05indexyAA0cdE0C0F0C_0A7ChatSDK08UploadedjK0CAL20MultipleFilesMessageCSitF", + "mangledName": "$s13SendbirdUIKit34SBUMessageThreadModuleListDelegateP07messagedE0_16uploadedFileInfo0H05indexyAA0cdE0C0F0C_0A7ChatSDK08UploadedjK0CAL20MultipleFilesMessageCSitF", + "moduleName": "SendbirdUIKit", + "genericSig": "<τ_0_0 where τ_0_0 : SendbirdUIKit.SBUMessageThreadModuleListDelegate>", + "sugared_genericSig": "", + "protocolReq": true, + "declAttributes": [ + "RawDocComment" + ], + "reqNewWitnessTableEntry": true, + "funcSelfKind": "NonMutating" } ], "declKind": "Protocol", @@ -134390,6 +137245,366 @@ "RawDocComment" ] }, + { + "kind": "TypeDecl", + "name": "SBUCollectionViewCell", + "printedName": "SBUCollectionViewCell", + "children": [ + { + "kind": "Constructor", + "name": "init", + "printedName": "init(frame:)", + "children": [ + { + "kind": "TypeNominal", + "name": "SBUCollectionViewCell", + "printedName": "SendbirdUIKit.SBUCollectionViewCell", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUCollectionViewCell" + }, + { + "kind": "TypeNominal", + "name": "CGRect", + "printedName": "CoreFoundation.CGRect", + "usr": "c:@S@CGRect" + } + ], + "declKind": "Constructor", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUCollectionViewCell(im)initWithFrame:", + "mangledName": "$s13SendbirdUIKit21SBUCollectionViewCellC5frameACSo6CGRectV_tcfc", + "moduleName": "SendbirdUIKit", + "overriding": true, + "objc_name": "initWithFrame:", + "declAttributes": [ + "Dynamic", + "ObjC", + "Custom", + "Override", + "AccessControl" + ], + "init_kind": "Designated" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(coder:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "SendbirdUIKit.SBUCollectionViewCell?", + "children": [ + { + "kind": "TypeNominal", + "name": "SBUCollectionViewCell", + "printedName": "SendbirdUIKit.SBUCollectionViewCell", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUCollectionViewCell" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "NSCoder", + "printedName": "Foundation.NSCoder", + "usr": "c:objc(cs)NSCoder" + } + ], + "declKind": "Constructor", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUCollectionViewCell(im)initWithCoder:", + "mangledName": "$s13SendbirdUIKit21SBUCollectionViewCellC5coderACSgSo7NSCoderC_tcfc", + "moduleName": "SendbirdUIKit", + "overriding": true, + "objc_name": "initWithCoder:", + "declAttributes": [ + "Dynamic", + "ObjC", + "Custom", + "AccessControl", + "Required" + ], + "init_kind": "Designated" + }, + { + "kind": "Function", + "name": "layoutSubviews", + "printedName": "layoutSubviews()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Func", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUCollectionViewCell(im)layoutSubviews", + "mangledName": "$s13SendbirdUIKit21SBUCollectionViewCellC14layoutSubviewsyyF", + "moduleName": "SendbirdUIKit", + "overriding": true, + "isOpen": true, + "objc_name": "layoutSubviews", + "declAttributes": [ + "Dynamic", + "ObjC", + "Custom", + "Override", + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "setupViews", + "printedName": "setupViews()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Func", + "usr": "c:@CM@SendbirdUIKit@objc(cs)SBUCollectionViewCell(im)setupViews", + "mangledName": "$s13SendbirdUIKit21SBUCollectionViewCellC10setupViewsyyF", + "moduleName": "SendbirdUIKit", + "objc_name": "setupViews", + "declAttributes": [ + "Dynamic", + "ObjC", + "Custom", + "AccessControl" + ], + "isFromExtension": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "setupStyles", + "printedName": "setupStyles()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Func", + "usr": "c:@CM@SendbirdUIKit@objc(cs)SBUCollectionViewCell(im)setupStyles", + "mangledName": "$s13SendbirdUIKit21SBUCollectionViewCellC11setupStylesyyF", + "moduleName": "SendbirdUIKit", + "objc_name": "setupStyles", + "declAttributes": [ + "Dynamic", + "ObjC", + "Custom", + "AccessControl" + ], + "isFromExtension": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "updateStyles", + "printedName": "updateStyles()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Func", + "usr": "c:@CM@SendbirdUIKit@objc(cs)SBUCollectionViewCell(im)updateStyles", + "mangledName": "$s13SendbirdUIKit21SBUCollectionViewCellC12updateStylesyyF", + "moduleName": "SendbirdUIKit", + "objc_name": "updateStyles", + "declAttributes": [ + "Dynamic", + "ObjC", + "Custom", + "AccessControl" + ], + "isFromExtension": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "setupLayouts", + "printedName": "setupLayouts()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Func", + "usr": "c:@CM@SendbirdUIKit@objc(cs)SBUCollectionViewCell(im)setupLayouts", + "mangledName": "$s13SendbirdUIKit21SBUCollectionViewCellC12setupLayoutsyyF", + "moduleName": "SendbirdUIKit", + "objc_name": "setupLayouts", + "declAttributes": [ + "Dynamic", + "ObjC", + "Custom", + "AccessControl" + ], + "isFromExtension": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "updateLayouts", + "printedName": "updateLayouts()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Func", + "usr": "c:@CM@SendbirdUIKit@objc(cs)SBUCollectionViewCell(im)updateLayouts", + "mangledName": "$s13SendbirdUIKit21SBUCollectionViewCellC13updateLayoutsyyF", + "moduleName": "SendbirdUIKit", + "objc_name": "updateLayouts", + "declAttributes": [ + "Dynamic", + "ObjC", + "Custom", + "AccessControl" + ], + "isFromExtension": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "setupActions", + "printedName": "setupActions()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Func", + "usr": "c:@CM@SendbirdUIKit@objc(cs)SBUCollectionViewCell(im)setupActions", + "mangledName": "$s13SendbirdUIKit21SBUCollectionViewCellC12setupActionsyyF", + "moduleName": "SendbirdUIKit", + "objc_name": "setupActions", + "declAttributes": [ + "Dynamic", + "ObjC", + "Custom", + "AccessControl" + ], + "isFromExtension": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Class", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUCollectionViewCell", + "mangledName": "$s13SendbirdUIKit21SBUCollectionViewCellC", + "moduleName": "SendbirdUIKit", + "isOpen": true, + "declAttributes": [ + "Custom", + "AccessControl", + "RawDocComment", + "ObjC" + ], + "superclassUsr": "c:objc(cs)UICollectionViewCell", + "inheritsConvenienceInitializers": true, + "superclassNames": [ + "UIKit.UICollectionViewCell", + "UIKit.UICollectionReusableView", + "UIKit.UIView", + "UIKit.UIResponder", + "ObjectiveC.NSObject" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "SBUViewLifeCycle", + "printedName": "SBUViewLifeCycle", + "usr": "c:@M@SendbirdUIKit@objc(pl)SBUViewLifeCycle", + "mangledName": "$s13SendbirdUIKit16SBUViewLifeCycleP" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "CVarArg", + "printedName": "CVarArg", + "usr": "s:s7CVarArgP", + "mangledName": "$ss7CVarArgP" + }, + { + "kind": "Conformance", + "name": "_KeyValueCodingAndObservingPublishing", + "printedName": "_KeyValueCodingAndObservingPublishing", + "usr": "s:10Foundation37_KeyValueCodingAndObservingPublishingP", + "mangledName": "$s10Foundation37_KeyValueCodingAndObservingPublishingP" + }, + { + "kind": "Conformance", + "name": "_KeyValueCodingAndObserving", + "printedName": "_KeyValueCodingAndObserving", + "usr": "s:10Foundation27_KeyValueCodingAndObservingP", + "mangledName": "$s10Foundation27_KeyValueCodingAndObservingP" + }, + { + "kind": "Conformance", + "name": "CustomStringConvertible", + "printedName": "CustomStringConvertible", + "usr": "s:s23CustomStringConvertibleP", + "mangledName": "$ss23CustomStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "CustomDebugStringConvertible", + "printedName": "CustomDebugStringConvertible", + "usr": "s:s28CustomDebugStringConvertibleP", + "mangledName": "$ss28CustomDebugStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + }, + { + "kind": "Conformance", + "name": "__DefaultCustomPlaygroundQuickLookable", + "printedName": "__DefaultCustomPlaygroundQuickLookable", + "usr": "s:s38__DefaultCustomPlaygroundQuickLookableP", + "mangledName": "$ss38__DefaultCustomPlaygroundQuickLookableP" + } + ] + }, + { + "kind": "Import", + "name": "UIKit", + "printedName": "UIKit", + "declKind": "Import", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "RawDocComment" + ] + }, { "kind": "Import", "name": "SendbirdChatSDK", @@ -134587,6 +137802,98 @@ } ] }, + { + "kind": "Var", + "name": "profileBaseView", + "printedName": "profileBaseView", + "children": [ + { + "kind": "TypeNominal", + "name": "UIView", + "printedName": "UIKit.UIView", + "usr": "c:objc(cs)UIView" + } + ], + "declKind": "Var", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUOpenChannelContentBaseMessageCell(py)profileBaseView", + "mangledName": "$s13SendbirdUIKit36SBUOpenChannelContentBaseMessageCellC07profileF4ViewSo6UIViewCvp", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "Custom", + "Lazy", + "AccessControl", + "ObjC" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "UIView", + "printedName": "UIKit.UIView", + "usr": "c:objc(cs)UIView" + } + ], + "declKind": "Accessor", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUOpenChannelContentBaseMessageCell(im)profileBaseView", + "mangledName": "$s13SendbirdUIKit36SBUOpenChannelContentBaseMessageCellC07profileF4ViewSo6UIViewCvg", + "moduleName": "SendbirdUIKit", + "implicit": true, + "declAttributes": [ + "ObjC" + ], + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "UIView", + "printedName": "UIKit.UIView", + "usr": "c:objc(cs)UIView" + } + ], + "declKind": "Accessor", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUOpenChannelContentBaseMessageCell(im)setProfileBaseView:", + "mangledName": "$s13SendbirdUIKit36SBUOpenChannelContentBaseMessageCellC07profileF4ViewSo6UIViewCvs", + "moduleName": "SendbirdUIKit", + "implicit": true, + "declAttributes": [ + "ObjC" + ], + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit36SBUOpenChannelContentBaseMessageCellC07profileF4ViewSo6UIViewCvM", + "mangledName": "$s13SendbirdUIKit36SBUOpenChannelContentBaseMessageCellC07profileF4ViewSo6UIViewCvM", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, { "kind": "Var", "name": "contentsStackView", @@ -145591,6 +148898,803 @@ } ] }, + { + "kind": "Import", + "name": "UIKit", + "printedName": "UIKit", + "declKind": "Import", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "SendbirdChatSDK", + "printedName": "SendbirdChatSDK", + "declKind": "Import", + "moduleName": "SendbirdUIKit" + }, + { + "kind": "TypeDecl", + "name": "SBUMultipleFilesMessageCollectionViewCell", + "printedName": "SBUMultipleFilesMessageCollectionViewCell", + "children": [ + { + "kind": "Var", + "name": "imageView", + "printedName": "imageView", + "children": [ + { + "kind": "TypeNominal", + "name": "UIImageView", + "printedName": "UIKit.UIImageView", + "usr": "c:objc(cs)UIImageView" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit41SBUMultipleFilesMessageCollectionViewCellC05imageG0So07UIImageG0Cvp", + "mangledName": "$s13SendbirdUIKit41SBUMultipleFilesMessageCollectionViewCellC05imageG0So07UIImageG0Cvp", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "Custom", + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "UIImageView", + "printedName": "UIKit.UIImageView", + "usr": "c:objc(cs)UIImageView" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit41SBUMultipleFilesMessageCollectionViewCellC05imageG0So07UIImageG0Cvg", + "mangledName": "$s13SendbirdUIKit41SBUMultipleFilesMessageCollectionViewCellC05imageG0So07UIImageG0Cvg", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "UIImageView", + "printedName": "UIKit.UIImageView", + "usr": "c:objc(cs)UIImageView" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit41SBUMultipleFilesMessageCollectionViewCellC05imageG0So07UIImageG0Cvs", + "mangledName": "$s13SendbirdUIKit41SBUMultipleFilesMessageCollectionViewCellC05imageG0So07UIImageG0Cvs", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit41SBUMultipleFilesMessageCollectionViewCellC05imageG0So07UIImageG0CvM", + "mangledName": "$s13SendbirdUIKit41SBUMultipleFilesMessageCollectionViewCellC05imageG0So07UIImageG0CvM", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "overlayView", + "printedName": "overlayView", + "children": [ + { + "kind": "TypeNominal", + "name": "UIView", + "printedName": "UIKit.UIView", + "usr": "c:objc(cs)UIView" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit41SBUMultipleFilesMessageCollectionViewCellC07overlayG0So6UIViewCvp", + "mangledName": "$s13SendbirdUIKit41SBUMultipleFilesMessageCollectionViewCellC07overlayG0So6UIViewCvp", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "Custom", + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "UIView", + "printedName": "UIKit.UIView", + "usr": "c:objc(cs)UIView" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit41SBUMultipleFilesMessageCollectionViewCellC07overlayG0So6UIViewCvg", + "mangledName": "$s13SendbirdUIKit41SBUMultipleFilesMessageCollectionViewCellC07overlayG0So6UIViewCvg", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "UIView", + "printedName": "UIKit.UIView", + "usr": "c:objc(cs)UIView" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit41SBUMultipleFilesMessageCollectionViewCellC07overlayG0So6UIViewCvs", + "mangledName": "$s13SendbirdUIKit41SBUMultipleFilesMessageCollectionViewCellC07overlayG0So6UIViewCvs", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit41SBUMultipleFilesMessageCollectionViewCellC07overlayG0So6UIViewCvM", + "mangledName": "$s13SendbirdUIKit41SBUMultipleFilesMessageCollectionViewCellC07overlayG0So6UIViewCvM", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "iconImageView", + "printedName": "iconImageView", + "children": [ + { + "kind": "TypeNominal", + "name": "UIImageView", + "printedName": "UIKit.UIImageView", + "usr": "c:objc(cs)UIImageView" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit41SBUMultipleFilesMessageCollectionViewCellC09iconImageG0So07UIImageG0Cvp", + "mangledName": "$s13SendbirdUIKit41SBUMultipleFilesMessageCollectionViewCellC09iconImageG0So07UIImageG0Cvp", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "Custom", + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "UIImageView", + "printedName": "UIKit.UIImageView", + "usr": "c:objc(cs)UIImageView" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit41SBUMultipleFilesMessageCollectionViewCellC09iconImageG0So07UIImageG0Cvg", + "mangledName": "$s13SendbirdUIKit41SBUMultipleFilesMessageCollectionViewCellC09iconImageG0So07UIImageG0Cvg", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "UIImageView", + "printedName": "UIKit.UIImageView", + "usr": "c:objc(cs)UIImageView" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit41SBUMultipleFilesMessageCollectionViewCellC09iconImageG0So07UIImageG0Cvs", + "mangledName": "$s13SendbirdUIKit41SBUMultipleFilesMessageCollectionViewCellC09iconImageG0So07UIImageG0Cvs", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit41SBUMultipleFilesMessageCollectionViewCellC09iconImageG0So07UIImageG0CvM", + "mangledName": "$s13SendbirdUIKit41SBUMultipleFilesMessageCollectionViewCellC09iconImageG0So07UIImageG0CvM", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "theme", + "printedName": "theme", + "children": [ + { + "kind": "TypeNominal", + "name": "SBUMessageCellTheme", + "printedName": "SendbirdUIKit.SBUMessageCellTheme", + "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit41SBUMultipleFilesMessageCollectionViewCellC5themeAA010SBUMessageH5ThemeCvp", + "mangledName": "$s13SendbirdUIKit41SBUMultipleFilesMessageCollectionViewCellC5themeAA010SBUMessageH5ThemeCvp", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "Custom", + "AccessControl", + "Custom" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "SBUMessageCellTheme", + "printedName": "SendbirdUIKit.SBUMessageCellTheme", + "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit41SBUMultipleFilesMessageCollectionViewCellC5themeAA010SBUMessageH5ThemeCvg", + "mangledName": "$s13SendbirdUIKit41SBUMultipleFilesMessageCollectionViewCellC5themeAA010SBUMessageH5ThemeCvg", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "SBUMessageCellTheme", + "printedName": "SendbirdUIKit.SBUMessageCellTheme", + "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit41SBUMultipleFilesMessageCollectionViewCellC5themeAA010SBUMessageH5ThemeCvs", + "mangledName": "$s13SendbirdUIKit41SBUMultipleFilesMessageCollectionViewCellC5themeAA010SBUMessageH5ThemeCvs", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit41SBUMultipleFilesMessageCollectionViewCellC5themeAA010SBUMessageH5ThemeCvM", + "mangledName": "$s13SendbirdUIKit41SBUMultipleFilesMessageCollectionViewCellC5themeAA010SBUMessageH5ThemeCvM", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "imageCornerRadius", + "printedName": "imageCornerRadius", + "children": [ + { + "kind": "TypeNominal", + "name": "CGFloat", + "printedName": "CoreGraphics.CGFloat", + "usr": "s:14CoreFoundation7CGFloatV" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit41SBUMultipleFilesMessageCollectionViewCellC17imageCornerRadius14CoreFoundation7CGFloatVvp", + "mangledName": "$s13SendbirdUIKit41SBUMultipleFilesMessageCollectionViewCellC17imageCornerRadius12CoreGraphics7CGFloatVvp", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "Custom", + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "CGFloat", + "printedName": "CoreGraphics.CGFloat", + "usr": "s:14CoreFoundation7CGFloatV" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit41SBUMultipleFilesMessageCollectionViewCellC17imageCornerRadius14CoreFoundation7CGFloatVvg", + "mangledName": "$s13SendbirdUIKit41SBUMultipleFilesMessageCollectionViewCellC17imageCornerRadius12CoreGraphics7CGFloatVvg", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "CGFloat", + "printedName": "CoreGraphics.CGFloat", + "usr": "s:14CoreFoundation7CGFloatV" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit41SBUMultipleFilesMessageCollectionViewCellC17imageCornerRadius14CoreFoundation7CGFloatVvs", + "mangledName": "$s13SendbirdUIKit41SBUMultipleFilesMessageCollectionViewCellC17imageCornerRadius12CoreGraphics7CGFloatVvs", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit41SBUMultipleFilesMessageCollectionViewCellC17imageCornerRadius14CoreFoundation7CGFloatVvM", + "mangledName": "$s13SendbirdUIKit41SBUMultipleFilesMessageCollectionViewCellC17imageCornerRadius12CoreGraphics7CGFloatVvM", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(coder:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "SendbirdUIKit.SBUMultipleFilesMessageCollectionViewCell?", + "children": [ + { + "kind": "TypeNominal", + "name": "SBUMultipleFilesMessageCollectionViewCell", + "printedName": "SendbirdUIKit.SBUMultipleFilesMessageCollectionViewCell", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCollectionViewCell" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "NSCoder", + "printedName": "Foundation.NSCoder", + "usr": "c:objc(cs)NSCoder" + } + ], + "declKind": "Constructor", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCollectionViewCell(im)initWithCoder:", + "mangledName": "$s13SendbirdUIKit41SBUMultipleFilesMessageCollectionViewCellC5coderACSgSo7NSCoderC_tcfc", + "moduleName": "SendbirdUIKit", + "overriding": true, + "objc_name": "initWithCoder:", + "declAttributes": [ + "Dynamic", + "ObjC", + "Custom", + "AccessControl", + "Required" + ], + "init_kind": "Designated" + }, + { + "kind": "Function", + "name": "configure", + "printedName": "configure(uploadableFileInfo:uploadedFileInfo:requestId:index:imageCornerRadius:showOverlay:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "SendbirdChatSDK.UploadableFileInfo?", + "children": [ + { + "kind": "TypeNominal", + "name": "UploadableFileInfo", + "printedName": "SendbirdChatSDK.UploadableFileInfo", + "usr": "c:@M@SendbirdChatSDK@objc(cs)SBDUploadableFileInfo" + } + ], + "hasDefaultArg": true, + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "SendbirdChatSDK.UploadedFileInfo?", + "children": [ + { + "kind": "TypeNominal", + "name": "UploadedFileInfo", + "printedName": "SendbirdChatSDK.UploadedFileInfo", + "usr": "c:@M@SendbirdChatSDK@objc(cs)SBDUploadedFileInfo" + } + ], + "hasDefaultArg": true, + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "CGFloat", + "printedName": "CoreGraphics.CGFloat", + "usr": "s:14CoreFoundation7CGFloatV" + }, + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Func", + "usr": "s:13SendbirdUIKit41SBUMultipleFilesMessageCollectionViewCellC9configure18uploadableFileInfo08uploadedkL09requestId5index17imageCornerRadius11showOverlayy0A7ChatSDK010UploadablekL0CSg_AK08UploadedkL0CSgSSSi14CoreFoundation7CGFloatVSbtF", + "mangledName": "$s13SendbirdUIKit41SBUMultipleFilesMessageCollectionViewCellC9configure18uploadableFileInfo08uploadedkL09requestId5index17imageCornerRadius11showOverlayy0A7ChatSDK010UploadablekL0CSg_AK08UploadedkL0CSgSSSi12CoreGraphics7CGFloatVSbtF", + "moduleName": "SendbirdUIKit", + "isOpen": true, + "declAttributes": [ + "Custom", + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "setupViews", + "printedName": "setupViews()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Func", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCollectionViewCell(im)setupViews", + "mangledName": "$s13SendbirdUIKit41SBUMultipleFilesMessageCollectionViewCellC10setupViewsyyF", + "moduleName": "SendbirdUIKit", + "overriding": true, + "isOpen": true, + "objc_name": "setupViews", + "declAttributes": [ + "Dynamic", + "ObjC", + "Custom", + "AccessControl", + "Override" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "setupStyles", + "printedName": "setupStyles()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Func", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCollectionViewCell(im)setupStyles", + "mangledName": "$s13SendbirdUIKit41SBUMultipleFilesMessageCollectionViewCellC11setupStylesyyF", + "moduleName": "SendbirdUIKit", + "overriding": true, + "isOpen": true, + "objc_name": "setupStyles", + "declAttributes": [ + "Dynamic", + "ObjC", + "Custom", + "AccessControl", + "Override" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "setupLayouts", + "printedName": "setupLayouts()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Func", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCollectionViewCell(im)setupLayouts", + "mangledName": "$s13SendbirdUIKit41SBUMultipleFilesMessageCollectionViewCellC12setupLayoutsyyF", + "moduleName": "SendbirdUIKit", + "overriding": true, + "isOpen": true, + "objc_name": "setupLayouts", + "declAttributes": [ + "Dynamic", + "ObjC", + "Custom", + "AccessControl", + "Override" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "prepareForReuse", + "printedName": "prepareForReuse()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Func", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCollectionViewCell(im)prepareForReuse", + "mangledName": "$s13SendbirdUIKit41SBUMultipleFilesMessageCollectionViewCellC15prepareForReuseyyF", + "moduleName": "SendbirdUIKit", + "overriding": true, + "isOpen": true, + "objc_name": "prepareForReuse", + "declAttributes": [ + "Dynamic", + "ObjC", + "Custom", + "AccessControl", + "Override" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "setGIFIcon", + "printedName": "setGIFIcon()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Func", + "usr": "s:13SendbirdUIKit41SBUMultipleFilesMessageCollectionViewCellC10setGIFIconyyF", + "mangledName": "$s13SendbirdUIKit41SBUMultipleFilesMessageCollectionViewCellC10setGIFIconyyF", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "Custom", + "AccessControl" + ], + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Class", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCollectionViewCell", + "mangledName": "$s13SendbirdUIKit41SBUMultipleFilesMessageCollectionViewCellC", + "moduleName": "SendbirdUIKit", + "isOpen": true, + "declAttributes": [ + "Custom", + "AccessControl", + "RawDocComment", + "ObjC" + ], + "superclassUsr": "c:@M@SendbirdUIKit@objc(cs)SBUCollectionViewCell", + "hasMissingDesignatedInitializers": true, + "inheritsConvenienceInitializers": true, + "superclassNames": [ + "SendbirdUIKit.SBUCollectionViewCell", + "UIKit.UICollectionViewCell", + "UIKit.UICollectionReusableView", + "UIKit.UIView", + "UIKit.UIResponder", + "ObjectiveC.NSObject" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "CVarArg", + "printedName": "CVarArg", + "usr": "s:s7CVarArgP", + "mangledName": "$ss7CVarArgP" + }, + { + "kind": "Conformance", + "name": "_KeyValueCodingAndObservingPublishing", + "printedName": "_KeyValueCodingAndObservingPublishing", + "usr": "s:10Foundation37_KeyValueCodingAndObservingPublishingP", + "mangledName": "$s10Foundation37_KeyValueCodingAndObservingPublishingP" + }, + { + "kind": "Conformance", + "name": "_KeyValueCodingAndObserving", + "printedName": "_KeyValueCodingAndObserving", + "usr": "s:10Foundation27_KeyValueCodingAndObservingP", + "mangledName": "$s10Foundation27_KeyValueCodingAndObservingP" + }, + { + "kind": "Conformance", + "name": "CustomStringConvertible", + "printedName": "CustomStringConvertible", + "usr": "s:s23CustomStringConvertibleP", + "mangledName": "$ss23CustomStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "CustomDebugStringConvertible", + "printedName": "CustomDebugStringConvertible", + "usr": "s:s28CustomDebugStringConvertibleP", + "mangledName": "$ss28CustomDebugStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + }, + { + "kind": "Conformance", + "name": "__DefaultCustomPlaygroundQuickLookable", + "printedName": "__DefaultCustomPlaygroundQuickLookable", + "usr": "s:s38__DefaultCustomPlaygroundQuickLookableP", + "mangledName": "$ss38__DefaultCustomPlaygroundQuickLookableP" + }, + { + "kind": "Conformance", + "name": "SBUViewLifeCycle", + "printedName": "SBUViewLifeCycle", + "usr": "c:@M@SendbirdUIKit@objc(pl)SBUViewLifeCycle", + "mangledName": "$s13SendbirdUIKit16SBUViewLifeCycleP" + } + ] + }, { "kind": "Import", "name": "Foundation", @@ -154532,6 +158636,111 @@ "name": "SBUParentMessageInfoView", "printedName": "SBUParentMessageInfoView", "children": [ + { + "kind": "TypeDecl", + "name": "Constants", + "printedName": "Constants", + "children": [ + { + "kind": "Var", + "name": "verticalSideMarginSize", + "printedName": "verticalSideMarginSize", + "children": [ + { + "kind": "TypeNominal", + "name": "CGFloat", + "printedName": "CoreGraphics.CGFloat", + "usr": "s:14CoreFoundation7CGFloatV" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC9ConstantsV22verticalSideMarginSize14CoreFoundation7CGFloatVvpZ", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC9ConstantsV22verticalSideMarginSize12CoreGraphics7CGFloatVvpZ", + "moduleName": "SendbirdUIKit", + "static": true, + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "CGFloat", + "printedName": "CoreGraphics.CGFloat", + "usr": "s:14CoreFoundation7CGFloatV" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC9ConstantsV22verticalSideMarginSize14CoreFoundation7CGFloatVvgZ", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC9ConstantsV22verticalSideMarginSize12CoreGraphics7CGFloatVvgZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "CGFloat", + "printedName": "CoreGraphics.CGFloat", + "usr": "s:14CoreFoundation7CGFloatV" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC9ConstantsV22verticalSideMarginSize14CoreFoundation7CGFloatVvsZ", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC9ConstantsV22verticalSideMarginSize12CoreGraphics7CGFloatVvsZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC9ConstantsV22verticalSideMarginSize14CoreFoundation7CGFloatVvMZ", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC9ConstantsV22verticalSideMarginSize12CoreGraphics7CGFloatVvMZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "accessorKind": "_modify" + } + ] + } + ], + "declKind": "Struct", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC9ConstantsV", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC9ConstantsV", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ] + }, { "kind": "Var", "name": "profileView", @@ -154620,6 +158829,93 @@ } ] }, + { + "kind": "Var", + "name": "profileBaseView", + "printedName": "profileBaseView", + "children": [ + { + "kind": "TypeNominal", + "name": "UIView", + "printedName": "UIKit.UIView", + "usr": "c:objc(cs)UIView" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC011profileBaseF0So6UIViewCvp", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC011profileBaseF0So6UIViewCvp", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "Custom", + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "UIView", + "printedName": "UIKit.UIView", + "usr": "c:objc(cs)UIView" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC011profileBaseF0So6UIViewCvg", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC011profileBaseF0So6UIViewCvg", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "UIView", + "printedName": "UIKit.UIView", + "usr": "c:objc(cs)UIView" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC011profileBaseF0So6UIViewCvs", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC011profileBaseF0So6UIViewCvs", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC011profileBaseF0So6UIViewCvM", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC011profileBaseF0So6UIViewCvM", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, { "kind": "Var", "name": "userNameLabel", @@ -154908,8 +159204,8 @@ }, { "kind": "Var", - "name": "replySeparateLine", - "printedName": "replySeparateLine", + "name": "moreButtonBaseView", + "printedName": "moreButtonBaseView", "children": [ { "kind": "TypeNominal", @@ -154919,15 +159215,14 @@ } ], "declKind": "Var", - "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC17replySeparateLineSo6UIViewCvp", - "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC17replySeparateLineSo6UIViewCvp", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC014moreButtonBaseF0So6UIViewCvp", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC014moreButtonBaseF0So6UIViewCvp", "moduleName": "SendbirdUIKit", "declAttributes": [ "Custom", "HasInitialValue", "HasStorage", - "AccessControl", - "RawDocComment" + "AccessControl" ], "hasStorage": true, "accessors": [ @@ -154944,8 +159239,8 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC17replySeparateLineSo6UIViewCvg", - "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC17replySeparateLineSo6UIViewCvg", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC014moreButtonBaseF0So6UIViewCvg", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC014moreButtonBaseF0So6UIViewCvg", "moduleName": "SendbirdUIKit", "implicit": true, "accessorKind": "get" @@ -154968,96 +159263,8 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC17replySeparateLineSo6UIViewCvs", - "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC17replySeparateLineSo6UIViewCvs", - "moduleName": "SendbirdUIKit", - "implicit": true, - "accessorKind": "set" - }, - { - "kind": "Accessor", - "name": "Modify", - "printedName": "Modify()", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - } - ], - "declKind": "Accessor", - "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC17replySeparateLineSo6UIViewCvM", - "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC17replySeparateLineSo6UIViewCvM", - "moduleName": "SendbirdUIKit", - "implicit": true, - "accessorKind": "_modify" - } - ] - }, - { - "kind": "Var", - "name": "replyLabel", - "printedName": "replyLabel", - "children": [ - { - "kind": "TypeNominal", - "name": "UILabel", - "printedName": "UIKit.UILabel", - "usr": "c:objc(cs)UILabel" - } - ], - "declKind": "Var", - "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC10replyLabelSo7UILabelCvp", - "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC10replyLabelSo7UILabelCvp", - "moduleName": "SendbirdUIKit", - "declAttributes": [ - "Custom", - "HasInitialValue", - "HasStorage", - "AccessControl", - "RawDocComment" - ], - "hasStorage": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "UILabel", - "printedName": "UIKit.UILabel", - "usr": "c:objc(cs)UILabel" - } - ], - "declKind": "Accessor", - "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC10replyLabelSo7UILabelCvg", - "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC10replyLabelSo7UILabelCvg", - "moduleName": "SendbirdUIKit", - "implicit": true, - "accessorKind": "get" - }, - { - "kind": "Accessor", - "name": "Set", - "printedName": "Set()", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "UILabel", - "printedName": "UIKit.UILabel", - "usr": "c:objc(cs)UILabel" - } - ], - "declKind": "Accessor", - "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC10replyLabelSo7UILabelCvs", - "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC10replyLabelSo7UILabelCvs", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC014moreButtonBaseF0So6UIViewCvs", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC014moreButtonBaseF0So6UIViewCvs", "moduleName": "SendbirdUIKit", "implicit": true, "accessorKind": "set" @@ -155074,8 +159281,8 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC10replyLabelSo7UILabelCvM", - "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC10replyLabelSo7UILabelCvM", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC014moreButtonBaseF0So6UIViewCvM", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC014moreButtonBaseF0So6UIViewCvM", "moduleName": "SendbirdUIKit", "implicit": true, "accessorKind": "_modify" @@ -155084,8 +159291,8 @@ }, { "kind": "Var", - "name": "bottomSeparateLine", - "printedName": "bottomSeparateLine", + "name": "replySeparateLine", + "printedName": "replySeparateLine", "children": [ { "kind": "TypeNominal", @@ -155095,8 +159302,184 @@ } ], "declKind": "Var", - "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC18bottomSeparateLineSo6UIViewCvp", - "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC18bottomSeparateLineSo6UIViewCvp", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC17replySeparateLineSo6UIViewCvp", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC17replySeparateLineSo6UIViewCvp", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "Custom", + "HasInitialValue", + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "UIView", + "printedName": "UIKit.UIView", + "usr": "c:objc(cs)UIView" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC17replySeparateLineSo6UIViewCvg", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC17replySeparateLineSo6UIViewCvg", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "UIView", + "printedName": "UIKit.UIView", + "usr": "c:objc(cs)UIView" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC17replySeparateLineSo6UIViewCvs", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC17replySeparateLineSo6UIViewCvs", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC17replySeparateLineSo6UIViewCvM", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC17replySeparateLineSo6UIViewCvM", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "replyLabel", + "printedName": "replyLabel", + "children": [ + { + "kind": "TypeNominal", + "name": "UILabel", + "printedName": "UIKit.UILabel", + "usr": "c:objc(cs)UILabel" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC10replyLabelSo7UILabelCvp", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC10replyLabelSo7UILabelCvp", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "Custom", + "HasInitialValue", + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "UILabel", + "printedName": "UIKit.UILabel", + "usr": "c:objc(cs)UILabel" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC10replyLabelSo7UILabelCvg", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC10replyLabelSo7UILabelCvg", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "UILabel", + "printedName": "UIKit.UILabel", + "usr": "c:objc(cs)UILabel" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC10replyLabelSo7UILabelCvs", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC10replyLabelSo7UILabelCvs", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC10replyLabelSo7UILabelCvM", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC10replyLabelSo7UILabelCvM", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "bottomSeparateLine", + "printedName": "bottomSeparateLine", + "children": [ + { + "kind": "TypeNominal", + "name": "UIView", + "printedName": "UIKit.UIView", + "usr": "c:objc(cs)UIView" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC18bottomSeparateLineSo6UIViewCvp", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC18bottomSeparateLineSo6UIViewCvp", "moduleName": "SendbirdUIKit", "declAttributes": [ "Custom", @@ -155348,28 +159731,26 @@ }, { "kind": "Var", - "name": "webView", - "printedName": "webView", + "name": "fileCollectionView", + "printedName": "fileCollectionView", "children": [ { "kind": "TypeNominal", - "name": "SBUMessageWebView", - "printedName": "SendbirdUIKit.SBUMessageWebView", - "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMessageWebView" + "name": "SBUMultipleFilesMessageCollectionView", + "printedName": "SendbirdUIKit.SBUMultipleFilesMessageCollectionView", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCollectionView" } ], "declKind": "Var", - "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC03webF0AA013SBUMessageWebF0Cvp", - "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC03webF0AA013SBUMessageWebF0Cvp", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC014fileCollectionF0AA016SBUMultipleFilesdhF0Cvp", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC014fileCollectionF0AA016SBUMultipleFilesdhF0Cvp", "moduleName": "SendbirdUIKit", "declAttributes": [ "Custom", - "HasInitialValue", - "HasStorage", + "Lazy", "AccessControl", "RawDocComment" ], - "hasStorage": true, "accessors": [ { "kind": "Accessor", @@ -155378,14 +159759,14 @@ "children": [ { "kind": "TypeNominal", - "name": "SBUMessageWebView", - "printedName": "SendbirdUIKit.SBUMessageWebView", - "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMessageWebView" + "name": "SBUMultipleFilesMessageCollectionView", + "printedName": "SendbirdUIKit.SBUMultipleFilesMessageCollectionView", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCollectionView" } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC03webF0AA013SBUMessageWebF0Cvg", - "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC03webF0AA013SBUMessageWebF0Cvg", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC014fileCollectionF0AA016SBUMultipleFilesdhF0Cvg", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC014fileCollectionF0AA016SBUMultipleFilesdhF0Cvg", "moduleName": "SendbirdUIKit", "implicit": true, "accessorKind": "get" @@ -155402,14 +159783,14 @@ }, { "kind": "TypeNominal", - "name": "SBUMessageWebView", - "printedName": "SendbirdUIKit.SBUMessageWebView", - "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMessageWebView" + "name": "SBUMultipleFilesMessageCollectionView", + "printedName": "SendbirdUIKit.SBUMultipleFilesMessageCollectionView", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCollectionView" } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC03webF0AA013SBUMessageWebF0Cvs", - "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC03webF0AA013SBUMessageWebF0Cvs", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC014fileCollectionF0AA016SBUMultipleFilesdhF0Cvs", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC014fileCollectionF0AA016SBUMultipleFilesdhF0Cvs", "moduleName": "SendbirdUIKit", "implicit": true, "accessorKind": "set" @@ -155426,8 +159807,8 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC03webF0AA013SBUMessageWebF0CvM", - "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC03webF0AA013SBUMessageWebF0CvM", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC014fileCollectionF0AA016SBUMultipleFilesdhF0CvM", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC014fileCollectionF0AA016SBUMultipleFilesdhF0CvM", "moduleName": "SendbirdUIKit", "implicit": true, "accessorKind": "_modify" @@ -155436,19 +159817,19 @@ }, { "kind": "Var", - "name": "reactionView", - "printedName": "reactionView", + "name": "webView", + "printedName": "webView", "children": [ { "kind": "TypeNominal", - "name": "SBUParentMessageInfoReactionView", - "printedName": "SendbirdUIKit.SBUParentMessageInfoReactionView", - "usr": "c:@M@SendbirdUIKit@objc(cs)SBUParentMessageInfoReactionView" + "name": "SBUMessageWebView", + "printedName": "SendbirdUIKit.SBUMessageWebView", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMessageWebView" } ], "declKind": "Var", - "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC08reactionF0AA0cde8ReactionF0Cvp", - "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC08reactionF0AA0cde8ReactionF0Cvp", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC03webF0AA013SBUMessageWebF0Cvp", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC03webF0AA013SBUMessageWebF0Cvp", "moduleName": "SendbirdUIKit", "declAttributes": [ "Custom", @@ -155466,14 +159847,14 @@ "children": [ { "kind": "TypeNominal", - "name": "SBUParentMessageInfoReactionView", - "printedName": "SendbirdUIKit.SBUParentMessageInfoReactionView", - "usr": "c:@M@SendbirdUIKit@objc(cs)SBUParentMessageInfoReactionView" + "name": "SBUMessageWebView", + "printedName": "SendbirdUIKit.SBUMessageWebView", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMessageWebView" } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC08reactionF0AA0cde8ReactionF0Cvg", - "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC08reactionF0AA0cde8ReactionF0Cvg", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC03webF0AA013SBUMessageWebF0Cvg", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC03webF0AA013SBUMessageWebF0Cvg", "moduleName": "SendbirdUIKit", "implicit": true, "accessorKind": "get" @@ -155490,14 +159871,14 @@ }, { "kind": "TypeNominal", - "name": "SBUParentMessageInfoReactionView", - "printedName": "SendbirdUIKit.SBUParentMessageInfoReactionView", - "usr": "c:@M@SendbirdUIKit@objc(cs)SBUParentMessageInfoReactionView" + "name": "SBUMessageWebView", + "printedName": "SendbirdUIKit.SBUMessageWebView", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMessageWebView" } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC08reactionF0AA0cde8ReactionF0Cvs", - "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC08reactionF0AA0cde8ReactionF0Cvs", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC03webF0AA013SBUMessageWebF0Cvs", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC03webF0AA013SBUMessageWebF0Cvs", "moduleName": "SendbirdUIKit", "implicit": true, "accessorKind": "set" @@ -155514,8 +159895,8 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC08reactionF0AA0cde8ReactionF0CvM", - "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC08reactionF0AA0cde8ReactionF0CvM", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC03webF0AA013SBUMessageWebF0CvM", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC03webF0AA013SBUMessageWebF0CvM", "moduleName": "SendbirdUIKit", "implicit": true, "accessorKind": "_modify" @@ -155524,26 +159905,28 @@ }, { "kind": "Var", - "name": "userHStackView", - "printedName": "userHStackView", + "name": "reactionView", + "printedName": "reactionView", "children": [ { "kind": "TypeNominal", - "name": "SBUStackView", - "printedName": "SendbirdUIKit.SBUStackView", - "usr": "c:@M@SendbirdUIKit@objc(cs)SBUStackView" + "name": "SBUParentMessageInfoReactionView", + "printedName": "SendbirdUIKit.SBUParentMessageInfoReactionView", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUParentMessageInfoReactionView" } ], "declKind": "Var", - "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC010userHStackF0AA08SBUStackF0Cvp", - "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC010userHStackF0AA08SBUStackF0Cvp", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC08reactionF0AA0cde8ReactionF0Cvp", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC08reactionF0AA0cde8ReactionF0Cvp", "moduleName": "SendbirdUIKit", "declAttributes": [ "Custom", - "Lazy", + "HasInitialValue", + "HasStorage", "AccessControl", "RawDocComment" ], + "hasStorage": true, "accessors": [ { "kind": "Accessor", @@ -155552,14 +159935,14 @@ "children": [ { "kind": "TypeNominal", - "name": "SBUStackView", - "printedName": "SendbirdUIKit.SBUStackView", - "usr": "c:@M@SendbirdUIKit@objc(cs)SBUStackView" + "name": "SBUParentMessageInfoReactionView", + "printedName": "SendbirdUIKit.SBUParentMessageInfoReactionView", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUParentMessageInfoReactionView" } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC010userHStackF0AA08SBUStackF0Cvg", - "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC010userHStackF0AA08SBUStackF0Cvg", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC08reactionF0AA0cde8ReactionF0Cvg", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC08reactionF0AA0cde8ReactionF0Cvg", "moduleName": "SendbirdUIKit", "implicit": true, "accessorKind": "get" @@ -155576,14 +159959,14 @@ }, { "kind": "TypeNominal", - "name": "SBUStackView", - "printedName": "SendbirdUIKit.SBUStackView", - "usr": "c:@M@SendbirdUIKit@objc(cs)SBUStackView" + "name": "SBUParentMessageInfoReactionView", + "printedName": "SendbirdUIKit.SBUParentMessageInfoReactionView", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUParentMessageInfoReactionView" } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC010userHStackF0AA08SBUStackF0Cvs", - "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC010userHStackF0AA08SBUStackF0Cvs", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC08reactionF0AA0cde8ReactionF0Cvs", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC08reactionF0AA0cde8ReactionF0Cvs", "moduleName": "SendbirdUIKit", "implicit": true, "accessorKind": "set" @@ -155600,8 +159983,8 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC010userHStackF0AA08SBUStackF0CvM", - "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC010userHStackF0AA08SBUStackF0CvM", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC08reactionF0AA0cde8ReactionF0CvM", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC08reactionF0AA0cde8ReactionF0CvM", "moduleName": "SendbirdUIKit", "implicit": true, "accessorKind": "_modify" @@ -155610,8 +159993,8 @@ }, { "kind": "Var", - "name": "senderVStackView", - "printedName": "senderVStackView", + "name": "userHStackView", + "printedName": "userHStackView", "children": [ { "kind": "TypeNominal", @@ -155621,8 +160004,8 @@ } ], "declKind": "Var", - "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC012senderVStackF0AA08SBUStackF0Cvp", - "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC012senderVStackF0AA08SBUStackF0Cvp", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC010userHStackF0AA08SBUStackF0Cvp", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC010userHStackF0AA08SBUStackF0Cvp", "moduleName": "SendbirdUIKit", "declAttributes": [ "Custom", @@ -155644,8 +160027,8 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC012senderVStackF0AA08SBUStackF0Cvg", - "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC012senderVStackF0AA08SBUStackF0Cvg", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC010userHStackF0AA08SBUStackF0Cvg", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC010userHStackF0AA08SBUStackF0Cvg", "moduleName": "SendbirdUIKit", "implicit": true, "accessorKind": "get" @@ -155668,8 +160051,8 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC012senderVStackF0AA08SBUStackF0Cvs", - "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC012senderVStackF0AA08SBUStackF0Cvs", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC010userHStackF0AA08SBUStackF0Cvs", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC010userHStackF0AA08SBUStackF0Cvs", "moduleName": "SendbirdUIKit", "implicit": true, "accessorKind": "set" @@ -155686,8 +160069,8 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC012senderVStackF0AA08SBUStackF0CvM", - "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC012senderVStackF0AA08SBUStackF0CvM", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC010userHStackF0AA08SBUStackF0CvM", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC010userHStackF0AA08SBUStackF0CvM", "moduleName": "SendbirdUIKit", "implicit": true, "accessorKind": "_modify" @@ -155696,8 +160079,8 @@ }, { "kind": "Var", - "name": "contentVStackView", - "printedName": "contentVStackView", + "name": "senderVStackView", + "printedName": "senderVStackView", "children": [ { "kind": "TypeNominal", @@ -155707,8 +160090,8 @@ } ], "declKind": "Var", - "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC013contentVStackF0AA08SBUStackF0Cvp", - "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC013contentVStackF0AA08SBUStackF0Cvp", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC012senderVStackF0AA08SBUStackF0Cvp", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC012senderVStackF0AA08SBUStackF0Cvp", "moduleName": "SendbirdUIKit", "declAttributes": [ "Custom", @@ -155730,8 +160113,94 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC013contentVStackF0AA08SBUStackF0Cvg", - "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC013contentVStackF0AA08SBUStackF0Cvg", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC012senderVStackF0AA08SBUStackF0Cvg", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC012senderVStackF0AA08SBUStackF0Cvg", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "SBUStackView", + "printedName": "SendbirdUIKit.SBUStackView", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUStackView" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC012senderVStackF0AA08SBUStackF0Cvs", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC012senderVStackF0AA08SBUStackF0Cvs", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC012senderVStackF0AA08SBUStackF0CvM", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC012senderVStackF0AA08SBUStackF0CvM", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "contentVStackView", + "printedName": "contentVStackView", + "children": [ + { + "kind": "TypeNominal", + "name": "SBUStackView", + "printedName": "SendbirdUIKit.SBUStackView", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUStackView" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC013contentVStackF0AA08SBUStackF0Cvp", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC013contentVStackF0AA08SBUStackF0Cvp", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "Custom", + "Lazy", + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "SBUStackView", + "printedName": "SendbirdUIKit.SBUStackView", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUStackView" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC013contentVStackF0AA08SBUStackF0Cvg", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC013contentVStackF0AA08SBUStackF0Cvg", "moduleName": "SendbirdUIKit", "implicit": true, "accessorKind": "get" @@ -155946,6 +160415,92 @@ } ] }, + { + "kind": "Var", + "name": "contentView", + "printedName": "contentView", + "children": [ + { + "kind": "TypeNominal", + "name": "UIView", + "printedName": "UIKit.UIView", + "usr": "c:objc(cs)UIView" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC07contentF0So6UIViewCvp", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC07contentF0So6UIViewCvp", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "Custom", + "Lazy", + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "UIView", + "printedName": "UIKit.UIView", + "usr": "c:objc(cs)UIView" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC07contentF0So6UIViewCvg", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC07contentF0So6UIViewCvg", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "UIView", + "printedName": "UIKit.UIView", + "usr": "c:objc(cs)UIView" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC07contentF0So6UIViewCvs", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC07contentF0So6UIViewCvs", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC07contentF0So6UIViewCvM", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC07contentF0So6UIViewCvM", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, { "kind": "Var", "name": "enablesReaction", @@ -156326,18 +160881,18 @@ }, { "kind": "Var", - "name": "moreButtonTapHandlerToContent", - "printedName": "moreButtonTapHandlerToContent", + "name": "fileSelectHandler", + "printedName": "fileSelectHandler", "children": [ { "kind": "TypeNominal", "name": "Optional", - "printedName": "(() -> ())?", + "printedName": "((SendbirdChatSDK.UploadedFileInfo, Swift.Int) -> ())?", "children": [ { "kind": "TypeFunc", "name": "Function", - "printedName": "() -> ()", + "printedName": "(SendbirdChatSDK.UploadedFileInfo, Swift.Int) -> ()", "children": [ { "kind": "TypeNominal", @@ -156346,8 +160901,22 @@ }, { "kind": "TypeNominal", - "name": "Void", - "printedName": "()" + "name": "Tuple", + "printedName": "(SendbirdChatSDK.UploadedFileInfo, Swift.Int)", + "children": [ + { + "kind": "TypeNominal", + "name": "UploadedFileInfo", + "printedName": "SendbirdChatSDK.UploadedFileInfo", + "usr": "c:@M@SendbirdChatSDK@objc(cs)SBDUploadedFileInfo" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ] } ] } @@ -156356,8 +160925,8 @@ } ], "declKind": "Var", - "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC29moreButtonTapHandlerToContentyycSgvp", - "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC29moreButtonTapHandlerToContentyycSgvp", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC17fileSelectHandlery0A7ChatSDK012UploadedFileE0C_SitcSgvp", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC17fileSelectHandlery0A7ChatSDK012UploadedFileE0C_SitcSgvp", "moduleName": "SendbirdUIKit", "declAttributes": [ "Custom", @@ -156376,12 +160945,12 @@ { "kind": "TypeNominal", "name": "Optional", - "printedName": "(() -> ())?", + "printedName": "((SendbirdChatSDK.UploadedFileInfo, Swift.Int) -> ())?", "children": [ { "kind": "TypeFunc", "name": "Function", - "printedName": "() -> ()", + "printedName": "(SendbirdChatSDK.UploadedFileInfo, Swift.Int) -> ()", "children": [ { "kind": "TypeNominal", @@ -156390,8 +160959,22 @@ }, { "kind": "TypeNominal", - "name": "Void", - "printedName": "()" + "name": "Tuple", + "printedName": "(SendbirdChatSDK.UploadedFileInfo, Swift.Int)", + "children": [ + { + "kind": "TypeNominal", + "name": "UploadedFileInfo", + "printedName": "SendbirdChatSDK.UploadedFileInfo", + "usr": "c:@M@SendbirdChatSDK@objc(cs)SBDUploadedFileInfo" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ] } ] } @@ -156400,8 +160983,167 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC29moreButtonTapHandlerToContentyycSgvg", - "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC29moreButtonTapHandlerToContentyycSgvg", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC17fileSelectHandlery0A7ChatSDK012UploadedFileE0C_SitcSgvg", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC17fileSelectHandlery0A7ChatSDK012UploadedFileE0C_SitcSgvg", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "((SendbirdChatSDK.UploadedFileInfo, Swift.Int) -> ())?", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(SendbirdChatSDK.UploadedFileInfo, Swift.Int) -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(SendbirdChatSDK.UploadedFileInfo, Swift.Int)", + "children": [ + { + "kind": "TypeNominal", + "name": "UploadedFileInfo", + "printedName": "SendbirdChatSDK.UploadedFileInfo", + "usr": "c:@M@SendbirdChatSDK@objc(cs)SBDUploadedFileInfo" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ] + } + ] + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC17fileSelectHandlery0A7ChatSDK012UploadedFileE0C_SitcSgvs", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC17fileSelectHandlery0A7ChatSDK012UploadedFileE0C_SitcSgvs", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC17fileSelectHandlery0A7ChatSDK012UploadedFileE0C_SitcSgvM", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC17fileSelectHandlery0A7ChatSDK012UploadedFileE0C_SitcSgvM", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "moreButtonTapHandlerToContent", + "printedName": "moreButtonTapHandlerToContent", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "(() -> ())?", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "() -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ] + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC29moreButtonTapHandlerToContentyycSgvp", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC29moreButtonTapHandlerToContentyycSgvp", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "Custom", + "HasInitialValue", + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "(() -> ())?", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "() -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ] + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC29moreButtonTapHandlerToContentyycSgvg", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC29moreButtonTapHandlerToContentyycSgvg", "moduleName": "SendbirdUIKit", "implicit": true, "accessorKind": "get" @@ -157058,48 +161800,6 @@ } ] }, - { - "kind": "Constructor", - "name": "init", - "printedName": "init(reuseIdentifier:)", - "children": [ - { - "kind": "TypeNominal", - "name": "SBUParentMessageInfoView", - "printedName": "SendbirdUIKit.SBUParentMessageInfoView", - "usr": "c:@M@SendbirdUIKit@objc(cs)SBUParentMessageInfoView" - }, - { - "kind": "TypeNominal", - "name": "Optional", - "printedName": "Swift.String?", - "children": [ - { - "kind": "TypeNominal", - "name": "String", - "printedName": "Swift.String", - "usr": "s:SS" - } - ], - "usr": "s:Sq" - } - ], - "declKind": "Constructor", - "usr": "c:@M@SendbirdUIKit@objc(cs)SBUParentMessageInfoView(im)initWithReuseIdentifier:", - "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC15reuseIdentifierACSSSg_tcfc", - "moduleName": "SendbirdUIKit", - "overriding": true, - "objc_name": "initWithReuseIdentifier:", - "declAttributes": [ - "Dynamic", - "ObjC", - "Custom", - "Override", - "AccessControl", - "RawDocComment" - ], - "init_kind": "Designated" - }, { "kind": "Function", "name": "setupViews", @@ -157112,12 +161812,17 @@ } ], "declKind": "Func", - "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC10setupViewsyyF", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUParentMessageInfoView(im)setupViews", "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC10setupViewsyyF", "moduleName": "SendbirdUIKit", + "overriding": true, "isOpen": true, + "objc_name": "setupViews", "declAttributes": [ + "Dynamic", + "ObjC", "Custom", + "Override", "AccessControl" ], "funcSelfKind": "NonMutating" @@ -157134,12 +161839,17 @@ } ], "declKind": "Func", - "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC12setupLayoutsyyF", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUParentMessageInfoView(im)setupLayouts", "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC12setupLayoutsyyF", "moduleName": "SendbirdUIKit", + "overriding": true, "isOpen": true, + "objc_name": "setupLayouts", "declAttributes": [ + "Dynamic", + "ObjC", "Custom", + "Override", "AccessControl" ], "funcSelfKind": "NonMutating" @@ -157156,12 +161866,17 @@ } ], "declKind": "Func", - "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC13updateLayoutsyyF", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUParentMessageInfoView(im)updateLayouts", "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC13updateLayoutsyyF", "moduleName": "SendbirdUIKit", + "overriding": true, "isOpen": true, + "objc_name": "updateLayouts", "declAttributes": [ + "Dynamic", + "ObjC", "Custom", + "Override", "AccessControl" ], "funcSelfKind": "NonMutating" @@ -157178,12 +161893,17 @@ } ], "declKind": "Func", - "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC11setupStylesyyF", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUParentMessageInfoView(im)setupStyles", "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC11setupStylesyyF", "moduleName": "SendbirdUIKit", + "overriding": true, "isOpen": true, + "objc_name": "setupStyles", "declAttributes": [ + "Dynamic", + "ObjC", "Custom", + "Override", "AccessControl" ], "funcSelfKind": "NonMutating" @@ -157259,6 +161979,35 @@ ], "funcSelfKind": "NonMutating" }, + { + "kind": "Function", + "name": "updateMessageTextWidth", + "printedName": "updateMessageTextWidth(with:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "CGSize", + "printedName": "CoreFoundation.CGSize", + "usr": "c:@S@CGSize" + } + ], + "declKind": "Func", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC06updateD9TextWidth4withySo6CGSizeV_tF", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC06updateD9TextWidth4withySo6CGSizeV_tF", + "moduleName": "SendbirdUIKit", + "isOpen": true, + "declAttributes": [ + "Custom", + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, { "kind": "Function", "name": "setupActions", @@ -157271,12 +162020,17 @@ } ], "declKind": "Func", - "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC12setupActionsyyF", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUParentMessageInfoView(im)setupActions", "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC12setupActionsyyF", "moduleName": "SendbirdUIKit", + "overriding": true, "isOpen": true, + "objc_name": "setupActions", "declAttributes": [ + "Dynamic", + "ObjC", "Custom", + "Override", "AccessControl", "RawDocComment" ], @@ -157344,6 +162098,37 @@ ], "funcSelfKind": "NonMutating" }, + { + "kind": "Function", + "name": "onSelectFile", + "printedName": "onSelectFile(sender:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "UITapGestureRecognizer", + "printedName": "UIKit.UITapGestureRecognizer", + "usr": "c:objc(cs)UITapGestureRecognizer" + } + ], + "declKind": "Func", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUParentMessageInfoView(im)onSelectFileWithSender:", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC12onSelectFile6senderySo22UITapGestureRecognizerC_tF", + "moduleName": "SendbirdUIKit", + "isOpen": true, + "objc_name": "onSelectFileWithSender:", + "declAttributes": [ + "Custom", + "AccessControl", + "ObjC", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, { "kind": "Function", "name": "onTapWebview", @@ -157437,6 +162222,221 @@ "AccessControl" ], "funcSelfKind": "NonMutating" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init()", + "children": [ + { + "kind": "TypeNominal", + "name": "SBUParentMessageInfoView", + "printedName": "SendbirdUIKit.SBUParentMessageInfoView", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUParentMessageInfoView" + } + ], + "declKind": "Constructor", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUParentMessageInfoView(im)init", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewCACycfc", + "moduleName": "SendbirdUIKit", + "overriding": true, + "implicit": true, + "objc_name": "init", + "declAttributes": [ + "Dynamic", + "ObjC", + "Custom", + "Override" + ], + "init_kind": "Designated" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(frame:)", + "children": [ + { + "kind": "TypeNominal", + "name": "SBUParentMessageInfoView", + "printedName": "SendbirdUIKit.SBUParentMessageInfoView", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUParentMessageInfoView" + }, + { + "kind": "TypeNominal", + "name": "CGRect", + "printedName": "CoreFoundation.CGRect", + "usr": "c:@S@CGRect" + } + ], + "declKind": "Constructor", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUParentMessageInfoView(im)initWithFrame:", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC5frameACSo6CGRectV_tcfc", + "moduleName": "SendbirdUIKit", + "overriding": true, + "implicit": true, + "objc_name": "initWithFrame:", + "declAttributes": [ + "Dynamic", + "ObjC", + "Custom", + "Override" + ], + "init_kind": "Designated" + }, + { + "kind": "Function", + "name": "numberOfSections", + "printedName": "numberOfSections(in:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "UICollectionView", + "printedName": "UIKit.UICollectionView", + "usr": "c:objc(cs)UICollectionView" + } + ], + "declKind": "Func", + "usr": "c:@CM@SendbirdUIKit@objc(cs)SBUParentMessageInfoView(im)numberOfSectionsInCollectionView:", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC16numberOfSections2inSiSo012UICollectionF0C_tF", + "moduleName": "SendbirdUIKit", + "objc_name": "numberOfSectionsInCollectionView:", + "declAttributes": [ + "Dynamic", + "ObjC", + "Custom", + "AccessControl" + ], + "isFromExtension": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "collectionView", + "printedName": "collectionView(_:numberOfItemsInSection:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "UICollectionView", + "printedName": "UIKit.UICollectionView", + "usr": "c:objc(cs)UICollectionView" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Func", + "usr": "c:@CM@SendbirdUIKit@objc(cs)SBUParentMessageInfoView(im)collectionView:numberOfItemsInSection:", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC010collectionF0_22numberOfItemsInSectionSiSo012UICollectionF0C_SitF", + "moduleName": "SendbirdUIKit", + "isOpen": true, + "objc_name": "collectionView:numberOfItemsInSection:", + "declAttributes": [ + "Dynamic", + "ObjC", + "Custom", + "AccessControl" + ], + "isFromExtension": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "collectionView", + "printedName": "collectionView(_:layout:sizeForItemAt:)", + "children": [ + { + "kind": "TypeNominal", + "name": "CGSize", + "printedName": "CoreFoundation.CGSize", + "usr": "c:@S@CGSize" + }, + { + "kind": "TypeNominal", + "name": "UICollectionView", + "printedName": "UIKit.UICollectionView", + "usr": "c:objc(cs)UICollectionView" + }, + { + "kind": "TypeNominal", + "name": "UICollectionViewLayout", + "printedName": "UIKit.UICollectionViewLayout", + "usr": "c:objc(cs)UICollectionViewLayout" + }, + { + "kind": "TypeNominal", + "name": "IndexPath", + "printedName": "Foundation.IndexPath", + "usr": "s:10Foundation9IndexPathV" + } + ], + "declKind": "Func", + "usr": "c:@CM@SendbirdUIKit@objc(cs)SBUParentMessageInfoView(im)collectionView:layout:sizeForItemAtIndexPath:", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC010collectionF0_6layout13sizeForItemAtSo6CGSizeVSo012UICollectionF0C_So0nF6LayoutC10Foundation9IndexPathVtF", + "moduleName": "SendbirdUIKit", + "isOpen": true, + "objc_name": "collectionView:layout:sizeForItemAtIndexPath:", + "declAttributes": [ + "Dynamic", + "ObjC", + "Custom", + "AccessControl" + ], + "isFromExtension": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "collectionView", + "printedName": "collectionView(_:cellForItemAt:)", + "children": [ + { + "kind": "TypeNominal", + "name": "UICollectionViewCell", + "printedName": "UIKit.UICollectionViewCell", + "usr": "c:objc(cs)UICollectionViewCell" + }, + { + "kind": "TypeNominal", + "name": "UICollectionView", + "printedName": "UIKit.UICollectionView", + "usr": "c:objc(cs)UICollectionView" + }, + { + "kind": "TypeNominal", + "name": "IndexPath", + "printedName": "Foundation.IndexPath", + "usr": "s:10Foundation9IndexPathV" + } + ], + "declKind": "Func", + "usr": "c:@CM@SendbirdUIKit@objc(cs)SBUParentMessageInfoView(im)collectionView:cellForItemAtIndexPath:", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC010collectionF0_13cellForItemAtSo012UICollectionF4CellCSo0lF0C_10Foundation9IndexPathVtF", + "moduleName": "SendbirdUIKit", + "isOpen": true, + "objc_name": "collectionView:cellForItemAtIndexPath:", + "declAttributes": [ + "Dynamic", + "ObjC", + "Custom", + "AccessControl" + ], + "isFromExtension": true, + "funcSelfKind": "NonMutating" } ], "declKind": "Class", @@ -157449,10 +162449,10 @@ "AccessControl", "ObjC" ], - "superclassUsr": "c:objc(cs)UITableViewHeaderFooterView", + "superclassUsr": "c:@M@SendbirdUIKit@objc(cs)SBUView", "inheritsConvenienceInitializers": true, "superclassNames": [ - "UIKit.UITableViewHeaderFooterView", + "SendbirdUIKit.SBUView", "UIKit.UIView", "UIKit.UIResponder", "ObjectiveC.NSObject" @@ -157527,6 +162527,13 @@ "printedName": "__DefaultCustomPlaygroundQuickLookable", "usr": "s:s38__DefaultCustomPlaygroundQuickLookableP", "mangledName": "$ss38__DefaultCustomPlaygroundQuickLookableP" + }, + { + "kind": "Conformance", + "name": "SBUViewLifeCycle", + "printedName": "SBUViewLifeCycle", + "usr": "c:@M@SendbirdUIKit@objc(pl)SBUViewLifeCycle", + "mangledName": "$s13SendbirdUIKit16SBUViewLifeCycleP" } ] }, @@ -159032,6 +164039,191 @@ } ] }, + { + "kind": "Var", + "name": "multipleFilesMessageParamsSendBuilder", + "printedName": "multipleFilesMessageParamsSendBuilder", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "((SendbirdChatSDK.MultipleFilesMessageCreateParams?) -> ())?", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(SendbirdChatSDK.MultipleFilesMessageCreateParams?) -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "SendbirdChatSDK.MultipleFilesMessageCreateParams?", + "children": [ + { + "kind": "TypeNominal", + "name": "MultipleFilesMessageCreateParams", + "printedName": "SendbirdChatSDK.MultipleFilesMessageCreateParams", + "usr": "c:@M@SendbirdChatSDK@objc(cs)SBDMultipleFilesMessageCreateParams" + } + ], + "usr": "s:Sq" + } + ] + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit21SBUGlobalCustomParamsC020multipleFilesMessageE11SendBuildery0A7ChatSDK08Multiplegh6CreateE0CSgcSgvpZ", + "mangledName": "$s13SendbirdUIKit21SBUGlobalCustomParamsC020multipleFilesMessageE11SendBuildery0A7ChatSDK08Multiplegh6CreateE0CSgcSgvpZ", + "moduleName": "SendbirdUIKit", + "static": true, + "declAttributes": [ + "HasInitialValue", + "Final", + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "((SendbirdChatSDK.MultipleFilesMessageCreateParams?) -> ())?", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(SendbirdChatSDK.MultipleFilesMessageCreateParams?) -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "SendbirdChatSDK.MultipleFilesMessageCreateParams?", + "children": [ + { + "kind": "TypeNominal", + "name": "MultipleFilesMessageCreateParams", + "printedName": "SendbirdChatSDK.MultipleFilesMessageCreateParams", + "usr": "c:@M@SendbirdChatSDK@objc(cs)SBDMultipleFilesMessageCreateParams" + } + ], + "usr": "s:Sq" + } + ] + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit21SBUGlobalCustomParamsC020multipleFilesMessageE11SendBuildery0A7ChatSDK08Multiplegh6CreateE0CSgcSgvgZ", + "mangledName": "$s13SendbirdUIKit21SBUGlobalCustomParamsC020multipleFilesMessageE11SendBuildery0A7ChatSDK08Multiplegh6CreateE0CSgcSgvgZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "declAttributes": [ + "Final" + ], + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "((SendbirdChatSDK.MultipleFilesMessageCreateParams?) -> ())?", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(SendbirdChatSDK.MultipleFilesMessageCreateParams?) -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "SendbirdChatSDK.MultipleFilesMessageCreateParams?", + "children": [ + { + "kind": "TypeNominal", + "name": "MultipleFilesMessageCreateParams", + "printedName": "SendbirdChatSDK.MultipleFilesMessageCreateParams", + "usr": "c:@M@SendbirdChatSDK@objc(cs)SBDMultipleFilesMessageCreateParams" + } + ], + "usr": "s:Sq" + } + ] + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit21SBUGlobalCustomParamsC020multipleFilesMessageE11SendBuildery0A7ChatSDK08Multiplegh6CreateE0CSgcSgvsZ", + "mangledName": "$s13SendbirdUIKit21SBUGlobalCustomParamsC020multipleFilesMessageE11SendBuildery0A7ChatSDK08Multiplegh6CreateE0CSgcSgvsZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "declAttributes": [ + "Final" + ], + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit21SBUGlobalCustomParamsC020multipleFilesMessageE11SendBuildery0A7ChatSDK08Multiplegh6CreateE0CSgcSgvMZ", + "mangledName": "$s13SendbirdUIKit21SBUGlobalCustomParamsC020multipleFilesMessageE11SendBuildery0A7ChatSDK08Multiplegh6CreateE0CSgcSgvMZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "declAttributes": [ + "Final" + ], + "accessorKind": "_modify" + } + ] + }, { "kind": "Var", "name": "messageListParamsBuilder", @@ -162862,6 +168054,7 @@ "usr": "c:@M@SendbirdUIKit@objc(cs)SBUContentBaseMessageCell(py)mainContainerView", "mangledName": "$s13SendbirdUIKit25SBUContentBaseMessageCellC17mainContainerViewAA018SBUSelectableStackI0Cvp", "moduleName": "SendbirdUIKit", + "isOpen": true, "declAttributes": [ "Custom", "Lazy", @@ -162887,6 +168080,7 @@ "mangledName": "$s13SendbirdUIKit25SBUContentBaseMessageCellC17mainContainerViewAA018SBUSelectableStackI0Cvg", "moduleName": "SendbirdUIKit", "implicit": true, + "isOpen": true, "declAttributes": [ "ObjC" ], @@ -162914,6 +168108,7 @@ "mangledName": "$s13SendbirdUIKit25SBUContentBaseMessageCellC17mainContainerViewAA018SBUSelectableStackI0Cvs", "moduleName": "SendbirdUIKit", "implicit": true, + "isOpen": true, "declAttributes": [ "ObjC" ], @@ -162935,6 +168130,7 @@ "mangledName": "$s13SendbirdUIKit25SBUContentBaseMessageCellC17mainContainerViewAA018SBUSelectableStackI0CvM", "moduleName": "SendbirdUIKit", "implicit": true, + "isOpen": true, "accessorKind": "_modify" } ] @@ -167726,7 +172922,7 @@ "children": [ { "kind": "TypeNominal", - "name": "ImplicitlyUnwrappedOptional", + "name": "Optional", "printedName": "UIKit.NSLayoutConstraint?", "children": [ { @@ -167760,7 +172956,7 @@ "children": [ { "kind": "TypeNominal", - "name": "ImplicitlyUnwrappedOptional", + "name": "Optional", "printedName": "UIKit.NSLayoutConstraint?", "children": [ { @@ -172504,6 +177700,38 @@ ], "funcSelfKind": "NonMutating" }, + { + "kind": "Function", + "name": "updateStyles", + "printedName": "updateStyles(needsToLayout:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Func", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUOpenChannelViewController(im)updateStylesWithNeedsToLayout:", + "mangledName": "$s13SendbirdUIKit28SBUOpenChannelViewControllerC12updateStyles13needsToLayoutySb_tF", + "moduleName": "SendbirdUIKit", + "overriding": true, + "isOpen": true, + "objc_name": "updateStylesWithNeedsToLayout:", + "declAttributes": [ + "ObjC", + "Custom", + "Override", + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, { "kind": "Function", "name": "updateStyles", @@ -178220,6 +183448,47 @@ } ] }, + { + "kind": "Var", + "name": "isMultipleFilesMessage", + "printedName": "isMultipleFilesMessage", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit30SBUQuoteMessageInputViewParamsC015isMultipleFilesD0Sbvp", + "mangledName": "$s13SendbirdUIKit30SBUQuoteMessageInputViewParamsC015isMultipleFilesD0Sbvp", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit30SBUQuoteMessageInputViewParamsC015isMultipleFilesD0Sbvg", + "mangledName": "$s13SendbirdUIKit30SBUQuoteMessageInputViewParamsC015isMultipleFilesD0Sbvg", + "moduleName": "SendbirdUIKit", + "accessorKind": "get" + } + ] + }, { "kind": "Var", "name": "fileType", @@ -179447,6 +184716,16 @@ ], "hasMissingDesignatedInitializers": true }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "RawDocComment" + ] + }, { "kind": "Import", "name": "UIKit", @@ -185960,7 +191239,7 @@ "children": [ { "kind": "TypeNominal", - "name": "ImplicitlyUnwrappedOptional", + "name": "Optional", "printedName": "UIKit.NSLayoutConstraint?", "children": [ { @@ -185994,7 +191273,7 @@ "children": [ { "kind": "TypeNominal", - "name": "ImplicitlyUnwrappedOptional", + "name": "Optional", "printedName": "UIKit.NSLayoutConstraint?", "children": [ { @@ -186029,7 +191308,7 @@ }, { "kind": "TypeNominal", - "name": "ImplicitlyUnwrappedOptional", + "name": "Optional", "printedName": "UIKit.NSLayoutConstraint?", "children": [ { @@ -186364,6 +191643,39 @@ ], "funcSelfKind": "NonMutating" }, + { + "kind": "Function", + "name": "viewDidAppear", + "printedName": "viewDidAppear(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Func", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUBaseChannelViewController(im)viewDidAppear:", + "mangledName": "$s13SendbirdUIKit28SBUBaseChannelViewControllerC13viewDidAppearyySbF", + "moduleName": "SendbirdUIKit", + "overriding": true, + "isOpen": true, + "objc_name": "viewDidAppear:", + "declAttributes": [ + "Dynamic", + "ObjC", + "Custom", + "Override", + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, { "kind": "Function", "name": "viewDidLoad", @@ -187037,6 +192349,35 @@ ], "funcSelfKind": "NonMutating" }, + { + "kind": "Function", + "name": "openFile", + "printedName": "openFile(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "SBUFileData", + "printedName": "SendbirdUIKit.SBUFileData", + "usr": "s:13SendbirdUIKit11SBUFileDataV" + } + ], + "declKind": "Func", + "usr": "s:13SendbirdUIKit28SBUBaseChannelViewControllerC8openFileyyAA11SBUFileDataVF", + "mangledName": "$s13SendbirdUIKit28SBUBaseChannelViewControllerC8openFileyyAA11SBUFileDataVF", + "moduleName": "SendbirdUIKit", + "isOpen": true, + "declAttributes": [ + "Custom", + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, { "kind": "Function", "name": "openFile", @@ -200248,6 +205589,305 @@ "declKind": "Import", "moduleName": "SendbirdUIKit" }, + { + "kind": "Import", + "name": "SendbirdChatSDK", + "printedName": "SendbirdChatSDK", + "declKind": "Import", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "TypeDecl", + "name": "SBUMultipleFilesMessageCellParams", + "printedName": "SBUMultipleFilesMessageCellParams", + "children": [ + { + "kind": "Var", + "name": "multipleFilesMessage", + "printedName": "multipleFilesMessage", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "SendbirdChatSDK.MultipleFilesMessage?", + "children": [ + { + "kind": "TypeNominal", + "name": "MultipleFilesMessage", + "printedName": "SendbirdChatSDK.MultipleFilesMessage", + "usr": "c:@M@SendbirdChatSDK@objc(cs)SBDMultipleFilesMessage" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit33SBUMultipleFilesMessageCellParamsC08multipledE00A7ChatSDK08MultipledE0CSgvp", + "mangledName": "$s13SendbirdUIKit33SBUMultipleFilesMessageCellParamsC08multipledE00A7ChatSDK08MultipledE0CSgvp", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "AccessControl" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "SendbirdChatSDK.MultipleFilesMessage?", + "children": [ + { + "kind": "TypeNominal", + "name": "MultipleFilesMessage", + "printedName": "SendbirdChatSDK.MultipleFilesMessage", + "usr": "c:@M@SendbirdChatSDK@objc(cs)SBDMultipleFilesMessage" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit33SBUMultipleFilesMessageCellParamsC08multipledE00A7ChatSDK08MultipledE0CSgvg", + "mangledName": "$s13SendbirdUIKit33SBUMultipleFilesMessageCellParamsC08multipledE00A7ChatSDK08MultipledE0CSgvg", + "moduleName": "SendbirdUIKit", + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "useReaction", + "printedName": "useReaction", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit33SBUMultipleFilesMessageCellParamsC11useReactionSbvp", + "mangledName": "$s13SendbirdUIKit33SBUMultipleFilesMessageCellParamsC11useReactionSbvp", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "Final", + "HasStorage", + "AccessControl" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit33SBUMultipleFilesMessageCellParamsC11useReactionSbvg", + "mangledName": "$s13SendbirdUIKit33SBUMultipleFilesMessageCellParamsC11useReactionSbvg", + "moduleName": "SendbirdUIKit", + "implicit": true, + "declAttributes": [ + "Final" + ], + "accessorKind": "get" + } + ] + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(message:hideDateView:useMessagePosition:groupPosition:receiptState:useReaction:isThreadMessage:joinedAt:voiceFileInfo:)", + "children": [ + { + "kind": "TypeNominal", + "name": "SBUMultipleFilesMessageCellParams", + "printedName": "SendbirdUIKit.SBUMultipleFilesMessageCellParams", + "usr": "s:13SendbirdUIKit33SBUMultipleFilesMessageCellParamsC" + }, + { + "kind": "TypeNominal", + "name": "MultipleFilesMessage", + "printedName": "SendbirdChatSDK.MultipleFilesMessage", + "usr": "c:@M@SendbirdChatSDK@objc(cs)SBDMultipleFilesMessage" + }, + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "MessageGroupPosition", + "printedName": "SendbirdUIKit.MessageGroupPosition", + "hasDefaultArg": true, + "usr": "c:@M@SendbirdUIKit@E@MessageGroupPosition" + }, + { + "kind": "TypeNominal", + "name": "SBUMessageReceiptState", + "printedName": "SendbirdUIKit.SBUMessageReceiptState", + "hasDefaultArg": true, + "usr": "c:@M@SendbirdUIKit@E@SBUMessageReceiptState" + }, + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "hasDefaultArg": true, + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "hasDefaultArg": true, + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "Int64", + "printedName": "Swift.Int64", + "hasDefaultArg": true, + "usr": "s:s5Int64V" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "SendbirdUIKit.SBUVoiceFileInfo?", + "children": [ + { + "kind": "TypeNominal", + "name": "SBUVoiceFileInfo", + "printedName": "SendbirdUIKit.SBUVoiceFileInfo", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUVoiceFileInfo" + } + ], + "hasDefaultArg": true, + "usr": "s:Sq" + } + ], + "declKind": "Constructor", + "usr": "s:13SendbirdUIKit33SBUMultipleFilesMessageCellParamsC7message12hideDateView03useE8Position05groupM012receiptState0L8Reaction08isThreadE08joinedAt13voiceFileInfoAC0A7ChatSDK08MultipledE0C_S2bAA0e5GroupM0OAA017SBUMessageReceiptP0OS2bs5Int64VAA08SBUVoicewX0CSgtcfc", + "mangledName": "$s13SendbirdUIKit33SBUMultipleFilesMessageCellParamsC7message12hideDateView03useE8Position05groupM012receiptState0L8Reaction08isThreadE08joinedAt13voiceFileInfoAC0A7ChatSDK08MultipledE0C_S2bAA0e5GroupM0OAA017SBUMessageReceiptP0OS2bs5Int64VAA08SBUVoicewX0CSgtcfc", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "AccessControl" + ], + "init_kind": "Designated" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(message:hideDateView:messagePosition:groupPosition:receiptState:isThreadMessage:joinedAt:messageOffsetTimestamp:)", + "children": [ + { + "kind": "TypeNominal", + "name": "SBUMultipleFilesMessageCellParams", + "printedName": "SendbirdUIKit.SBUMultipleFilesMessageCellParams", + "usr": "s:13SendbirdUIKit33SBUMultipleFilesMessageCellParamsC" + }, + { + "kind": "TypeNominal", + "name": "BaseMessage", + "printedName": "SendbirdChatSDK.BaseMessage", + "usr": "c:@M@SendbirdChatSDK@objc(cs)SBDBaseMessage" + }, + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "MessagePosition", + "printedName": "SendbirdUIKit.MessagePosition", + "hasDefaultArg": true, + "usr": "c:@M@SendbirdUIKit@E@MessagePosition" + }, + { + "kind": "TypeNominal", + "name": "MessageGroupPosition", + "printedName": "SendbirdUIKit.MessageGroupPosition", + "hasDefaultArg": true, + "usr": "c:@M@SendbirdUIKit@E@MessageGroupPosition" + }, + { + "kind": "TypeNominal", + "name": "SBUMessageReceiptState", + "printedName": "SendbirdUIKit.SBUMessageReceiptState", + "hasDefaultArg": true, + "usr": "c:@M@SendbirdUIKit@E@SBUMessageReceiptState" + }, + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "hasDefaultArg": true, + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "Int64", + "printedName": "Swift.Int64", + "hasDefaultArg": true, + "usr": "s:s5Int64V" + }, + { + "kind": "TypeNominal", + "name": "Int64", + "printedName": "Swift.Int64", + "hasDefaultArg": true, + "usr": "s:s5Int64V" + } + ], + "declKind": "Constructor", + "usr": "s:13SendbirdUIKit33SBUMultipleFilesMessageCellParamsC7message12hideDateView0H8Position05groupL012receiptState08isThreadE08joinedAt0H15OffsetTimestampAC0A7ChatSDK04BaseE0C_SbAA0eL0OAA0e5GroupL0OAA017SBUMessageReceiptO0OSbs5Int64VAVtcfc", + "mangledName": "$s13SendbirdUIKit33SBUMultipleFilesMessageCellParamsC7message12hideDateView0H8Position05groupL012receiptState08isThreadE08joinedAt0H15OffsetTimestampAC0A7ChatSDK04BaseE0C_SbAA0eL0OAA0e5GroupL0OAA017SBUMessageReceiptO0OSbs5Int64VAVtcfc", + "moduleName": "SendbirdUIKit", + "overriding": true, + "implicit": true, + "declAttributes": [ + "Override" + ], + "init_kind": "Designated" + } + ], + "declKind": "Class", + "usr": "s:13SendbirdUIKit33SBUMultipleFilesMessageCellParamsC", + "mangledName": "$s13SendbirdUIKit33SBUMultipleFilesMessageCellParamsC", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "superclassUsr": "s:13SendbirdUIKit24SBUBaseMessageCellParamsC", + "superclassNames": [ + "SendbirdUIKit.SBUBaseMessageCellParams" + ] + }, { "kind": "Import", "name": "UIKit", @@ -202892,6 +208532,36 @@ ], "funcSelfKind": "NonMutating" }, + { + "kind": "Function", + "name": "updateStyles", + "printedName": "updateStyles(needsToLayout:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Func", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUBaseViewController(im)updateStylesWithNeedsToLayout:", + "mangledName": "$s13SendbirdUIKit21SBUBaseViewControllerC12updateStyles13needsToLayoutySb_tF", + "moduleName": "SendbirdUIKit", + "isOpen": true, + "declAttributes": [ + "Custom", + "AccessControl", + "RawDocComment", + "ObjC" + ], + "funcSelfKind": "NonMutating" + }, { "kind": "Function", "name": "setupNavigationBar", @@ -211981,64 +217651,29 @@ "RawDocComment" ], "funcSelfKind": "NonMutating" - } - ], - "declKind": "Class", - "usr": "s:13SendbirdUIKit12SBUAvailableC", - "mangledName": "$s13SendbirdUIKit12SBUAvailableC", - "moduleName": "SendbirdUIKit", - "declAttributes": [ - "AccessControl" - ], - "hasMissingDesignatedInitializers": true - }, - { - "kind": "Import", - "name": "UIKit", - "printedName": "UIKit", - "declKind": "Import", - "moduleName": "SendbirdUIKit", - "declAttributes": [ - "RawDocComment" - ] - }, - { - "kind": "TypeDecl", - "name": "SBUMessageThreadModule", - "printedName": "SBUMessageThreadModule", - "children": [ + }, { "kind": "Var", - "name": "HeaderComponent", - "printedName": "HeaderComponent", + "name": "multipleFilesMessageFileCountLimit", + "printedName": "multipleFilesMessageFileCountLimit", "children": [ { "kind": "TypeNominal", - "name": "Metatype", - "printedName": "SendbirdUIKit.SBUMessageThreadModule.Header.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "Header", - "printedName": "SendbirdUIKit.SBUMessageThreadModule.Header", - "usr": "s:13SendbirdUIKit22SBUMessageThreadModuleC6HeaderC" - } - ] + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" } ], "declKind": "Var", - "usr": "s:13SendbirdUIKit22SBUMessageThreadModuleC15HeaderComponentAC0F0CmvpZ", - "mangledName": "$s13SendbirdUIKit22SBUMessageThreadModuleC15HeaderComponentAC0F0CmvpZ", + "usr": "s:13SendbirdUIKit12SBUAvailableC34multipleFilesMessageFileCountLimitSivpZ", + "mangledName": "$s13SendbirdUIKit12SBUAvailableC34multipleFilesMessageFileCountLimitSivpZ", "moduleName": "SendbirdUIKit", "static": true, "declAttributes": [ - "HasInitialValue", "Final", - "HasStorage", "AccessControl", "RawDocComment" ], - "hasStorage": true, "accessors": [ { "kind": "Accessor", @@ -212047,120 +217682,45 @@ "children": [ { "kind": "TypeNominal", - "name": "Metatype", - "printedName": "SendbirdUIKit.SBUMessageThreadModule.Header.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "Header", - "printedName": "SendbirdUIKit.SBUMessageThreadModule.Header", - "usr": "s:13SendbirdUIKit22SBUMessageThreadModuleC6HeaderC" - } - ] + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit22SBUMessageThreadModuleC15HeaderComponentAC0F0CmvgZ", - "mangledName": "$s13SendbirdUIKit22SBUMessageThreadModuleC15HeaderComponentAC0F0CmvgZ", + "usr": "s:13SendbirdUIKit12SBUAvailableC34multipleFilesMessageFileCountLimitSivgZ", + "mangledName": "$s13SendbirdUIKit12SBUAvailableC34multipleFilesMessageFileCountLimitSivgZ", "moduleName": "SendbirdUIKit", "static": true, - "implicit": true, "declAttributes": [ "Final" ], "accessorKind": "get" - }, - { - "kind": "Accessor", - "name": "Set", - "printedName": "Set()", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "SendbirdUIKit.SBUMessageThreadModule.Header.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "Header", - "printedName": "SendbirdUIKit.SBUMessageThreadModule.Header", - "usr": "s:13SendbirdUIKit22SBUMessageThreadModuleC6HeaderC" - } - ] - } - ], - "declKind": "Accessor", - "usr": "s:13SendbirdUIKit22SBUMessageThreadModuleC15HeaderComponentAC0F0CmvsZ", - "mangledName": "$s13SendbirdUIKit22SBUMessageThreadModuleC15HeaderComponentAC0F0CmvsZ", - "moduleName": "SendbirdUIKit", - "static": true, - "implicit": true, - "declAttributes": [ - "Final" - ], - "accessorKind": "set" - }, - { - "kind": "Accessor", - "name": "Modify", - "printedName": "Modify()", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - } - ], - "declKind": "Accessor", - "usr": "s:13SendbirdUIKit22SBUMessageThreadModuleC15HeaderComponentAC0F0CmvMZ", - "mangledName": "$s13SendbirdUIKit22SBUMessageThreadModuleC15HeaderComponentAC0F0CmvMZ", - "moduleName": "SendbirdUIKit", - "static": true, - "implicit": true, - "declAttributes": [ - "Final" - ], - "accessorKind": "_modify" } ] }, { "kind": "Var", - "name": "ListComponent", - "printedName": "ListComponent", + "name": "uploadSizeLimitBytes", + "printedName": "uploadSizeLimitBytes", "children": [ { "kind": "TypeNominal", - "name": "Metatype", - "printedName": "SendbirdUIKit.SBUMessageThreadModule.List.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "List", - "printedName": "SendbirdUIKit.SBUMessageThreadModule.List", - "usr": "s:13SendbirdUIKit22SBUMessageThreadModuleC4ListC" - } - ] + "name": "Int64", + "printedName": "Swift.Int64", + "usr": "s:s5Int64V" } ], "declKind": "Var", - "usr": "s:13SendbirdUIKit22SBUMessageThreadModuleC13ListComponentAC0F0CmvpZ", - "mangledName": "$s13SendbirdUIKit22SBUMessageThreadModuleC13ListComponentAC0F0CmvpZ", + "usr": "s:13SendbirdUIKit12SBUAvailableC20uploadSizeLimitBytess5Int64VvpZ", + "mangledName": "$s13SendbirdUIKit12SBUAvailableC20uploadSizeLimitBytess5Int64VvpZ", "moduleName": "SendbirdUIKit", "static": true, "declAttributes": [ - "HasInitialValue", "Final", - "HasStorage", "AccessControl", "RawDocComment" ], - "hasStorage": true, "accessors": [ { "kind": "Accessor", @@ -212169,110 +217729,127 @@ "children": [ { "kind": "TypeNominal", - "name": "Metatype", - "printedName": "SendbirdUIKit.SBUMessageThreadModule.List.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "List", - "printedName": "SendbirdUIKit.SBUMessageThreadModule.List", - "usr": "s:13SendbirdUIKit22SBUMessageThreadModuleC4ListC" - } - ] + "name": "Int64", + "printedName": "Swift.Int64", + "usr": "s:s5Int64V" } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit22SBUMessageThreadModuleC13ListComponentAC0F0CmvgZ", - "mangledName": "$s13SendbirdUIKit22SBUMessageThreadModuleC13ListComponentAC0F0CmvgZ", + "usr": "s:13SendbirdUIKit12SBUAvailableC20uploadSizeLimitBytess5Int64VvgZ", + "mangledName": "$s13SendbirdUIKit12SBUAvailableC20uploadSizeLimitBytess5Int64VvgZ", "moduleName": "SendbirdUIKit", "static": true, - "implicit": true, "declAttributes": [ "Final" ], "accessorKind": "get" - }, + } + ] + }, + { + "kind": "Var", + "name": "uploadSizeLimitMB", + "printedName": "uploadSizeLimitMB", + "children": [ { - "kind": "Accessor", - "name": "Set", - "printedName": "Set()", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "SendbirdUIKit.SBUMessageThreadModule.List.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "List", - "printedName": "SendbirdUIKit.SBUMessageThreadModule.List", - "usr": "s:13SendbirdUIKit22SBUMessageThreadModuleC4ListC" - } - ] - } - ], - "declKind": "Accessor", - "usr": "s:13SendbirdUIKit22SBUMessageThreadModuleC13ListComponentAC0F0CmvsZ", - "mangledName": "$s13SendbirdUIKit22SBUMessageThreadModuleC13ListComponentAC0F0CmvsZ", - "moduleName": "SendbirdUIKit", - "static": true, - "implicit": true, - "declAttributes": [ - "Final" - ], - "accessorKind": "set" - }, + "kind": "TypeNominal", + "name": "Int64", + "printedName": "Swift.Int64", + "usr": "s:s5Int64V" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit12SBUAvailableC17uploadSizeLimitMBs5Int64VvpZ", + "mangledName": "$s13SendbirdUIKit12SBUAvailableC17uploadSizeLimitMBs5Int64VvpZ", + "moduleName": "SendbirdUIKit", + "static": true, + "declAttributes": [ + "Final", + "AccessControl", + "RawDocComment" + ], + "accessors": [ { "kind": "Accessor", - "name": "Modify", - "printedName": "Modify()", + "name": "Get", + "printedName": "Get()", "children": [ { "kind": "TypeNominal", - "name": "Void", - "printedName": "()" + "name": "Int64", + "printedName": "Swift.Int64", + "usr": "s:s5Int64V" } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit22SBUMessageThreadModuleC13ListComponentAC0F0CmvMZ", - "mangledName": "$s13SendbirdUIKit22SBUMessageThreadModuleC13ListComponentAC0F0CmvMZ", + "usr": "s:13SendbirdUIKit12SBUAvailableC17uploadSizeLimitMBs5Int64VvgZ", + "mangledName": "$s13SendbirdUIKit12SBUAvailableC17uploadSizeLimitMBs5Int64VvgZ", "moduleName": "SendbirdUIKit", "static": true, - "implicit": true, "declAttributes": [ "Final" ], - "accessorKind": "_modify" + "accessorKind": "get" } ] - }, + } + ], + "declKind": "Class", + "usr": "s:13SendbirdUIKit12SBUAvailableC", + "mangledName": "$s13SendbirdUIKit12SBUAvailableC", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "AccessControl" + ], + "hasMissingDesignatedInitializers": true + }, + { + "kind": "Import", + "name": "UIKit", + "printedName": "UIKit", + "declKind": "Import", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "UIKit", + "printedName": "UIKit", + "declKind": "Import", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "TypeDecl", + "name": "SBUMessageThreadModule", + "printedName": "SBUMessageThreadModule", + "children": [ { "kind": "Var", - "name": "InputComponent", - "printedName": "InputComponent", + "name": "HeaderComponent", + "printedName": "HeaderComponent", "children": [ { "kind": "TypeNominal", "name": "Metatype", - "printedName": "SendbirdUIKit.SBUMessageThreadModule.Input.Type", + "printedName": "SendbirdUIKit.SBUMessageThreadModule.Header.Type", "children": [ { "kind": "TypeNominal", - "name": "Input", - "printedName": "SendbirdUIKit.SBUMessageThreadModule.Input", - "usr": "s:13SendbirdUIKit22SBUMessageThreadModuleC5InputC" + "name": "Header", + "printedName": "SendbirdUIKit.SBUMessageThreadModule.Header", + "usr": "s:13SendbirdUIKit22SBUMessageThreadModuleC6HeaderC" } ] } ], "declKind": "Var", - "usr": "s:13SendbirdUIKit22SBUMessageThreadModuleC14InputComponentAC0F0CmvpZ", - "mangledName": "$s13SendbirdUIKit22SBUMessageThreadModuleC14InputComponentAC0F0CmvpZ", + "usr": "s:13SendbirdUIKit22SBUMessageThreadModuleC15HeaderComponentAC0F0CmvpZ", + "mangledName": "$s13SendbirdUIKit22SBUMessageThreadModuleC15HeaderComponentAC0F0CmvpZ", "moduleName": "SendbirdUIKit", "static": true, "declAttributes": [ @@ -212292,20 +217869,264 @@ { "kind": "TypeNominal", "name": "Metatype", - "printedName": "SendbirdUIKit.SBUMessageThreadModule.Input.Type", + "printedName": "SendbirdUIKit.SBUMessageThreadModule.Header.Type", "children": [ { "kind": "TypeNominal", - "name": "Input", - "printedName": "SendbirdUIKit.SBUMessageThreadModule.Input", - "usr": "s:13SendbirdUIKit22SBUMessageThreadModuleC5InputC" + "name": "Header", + "printedName": "SendbirdUIKit.SBUMessageThreadModule.Header", + "usr": "s:13SendbirdUIKit22SBUMessageThreadModuleC6HeaderC" } ] } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit22SBUMessageThreadModuleC14InputComponentAC0F0CmvgZ", - "mangledName": "$s13SendbirdUIKit22SBUMessageThreadModuleC14InputComponentAC0F0CmvgZ", + "usr": "s:13SendbirdUIKit22SBUMessageThreadModuleC15HeaderComponentAC0F0CmvgZ", + "mangledName": "$s13SendbirdUIKit22SBUMessageThreadModuleC15HeaderComponentAC0F0CmvgZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "declAttributes": [ + "Final" + ], + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "SendbirdUIKit.SBUMessageThreadModule.Header.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "Header", + "printedName": "SendbirdUIKit.SBUMessageThreadModule.Header", + "usr": "s:13SendbirdUIKit22SBUMessageThreadModuleC6HeaderC" + } + ] + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit22SBUMessageThreadModuleC15HeaderComponentAC0F0CmvsZ", + "mangledName": "$s13SendbirdUIKit22SBUMessageThreadModuleC15HeaderComponentAC0F0CmvsZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "declAttributes": [ + "Final" + ], + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit22SBUMessageThreadModuleC15HeaderComponentAC0F0CmvMZ", + "mangledName": "$s13SendbirdUIKit22SBUMessageThreadModuleC15HeaderComponentAC0F0CmvMZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "declAttributes": [ + "Final" + ], + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "ListComponent", + "printedName": "ListComponent", + "children": [ + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "SendbirdUIKit.SBUMessageThreadModule.List.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "List", + "printedName": "SendbirdUIKit.SBUMessageThreadModule.List", + "usr": "s:13SendbirdUIKit22SBUMessageThreadModuleC4ListC" + } + ] + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit22SBUMessageThreadModuleC13ListComponentAC0F0CmvpZ", + "mangledName": "$s13SendbirdUIKit22SBUMessageThreadModuleC13ListComponentAC0F0CmvpZ", + "moduleName": "SendbirdUIKit", + "static": true, + "declAttributes": [ + "HasInitialValue", + "Final", + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "SendbirdUIKit.SBUMessageThreadModule.List.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "List", + "printedName": "SendbirdUIKit.SBUMessageThreadModule.List", + "usr": "s:13SendbirdUIKit22SBUMessageThreadModuleC4ListC" + } + ] + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit22SBUMessageThreadModuleC13ListComponentAC0F0CmvgZ", + "mangledName": "$s13SendbirdUIKit22SBUMessageThreadModuleC13ListComponentAC0F0CmvgZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "declAttributes": [ + "Final" + ], + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "SendbirdUIKit.SBUMessageThreadModule.List.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "List", + "printedName": "SendbirdUIKit.SBUMessageThreadModule.List", + "usr": "s:13SendbirdUIKit22SBUMessageThreadModuleC4ListC" + } + ] + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit22SBUMessageThreadModuleC13ListComponentAC0F0CmvsZ", + "mangledName": "$s13SendbirdUIKit22SBUMessageThreadModuleC13ListComponentAC0F0CmvsZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "declAttributes": [ + "Final" + ], + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit22SBUMessageThreadModuleC13ListComponentAC0F0CmvMZ", + "mangledName": "$s13SendbirdUIKit22SBUMessageThreadModuleC13ListComponentAC0F0CmvMZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "declAttributes": [ + "Final" + ], + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "InputComponent", + "printedName": "InputComponent", + "children": [ + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "SendbirdUIKit.SBUMessageThreadModule.Input.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "Input", + "printedName": "SendbirdUIKit.SBUMessageThreadModule.Input", + "usr": "s:13SendbirdUIKit22SBUMessageThreadModuleC5InputC" + } + ] + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit22SBUMessageThreadModuleC14InputComponentAC0F0CmvpZ", + "mangledName": "$s13SendbirdUIKit22SBUMessageThreadModuleC14InputComponentAC0F0CmvpZ", + "moduleName": "SendbirdUIKit", + "static": true, + "declAttributes": [ + "HasInitialValue", + "Final", + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "SendbirdUIKit.SBUMessageThreadModule.Input.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "Input", + "printedName": "SendbirdUIKit.SBUMessageThreadModule.Input", + "usr": "s:13SendbirdUIKit22SBUMessageThreadModuleC5InputC" + } + ] + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit22SBUMessageThreadModuleC14InputComponentAC0F0CmvgZ", + "mangledName": "$s13SendbirdUIKit22SBUMessageThreadModuleC14InputComponentAC0F0CmvgZ", "moduleName": "SendbirdUIKit", "static": true, "implicit": true, @@ -213955,6 +219776,257 @@ ], "funcSelfKind": "NonMutating" }, + { + "kind": "Function", + "name": "pickMultipleImageFiles", + "printedName": "pickMultipleImageFiles(itemProviders:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Foundation.NSItemProvider]", + "children": [ + { + "kind": "TypeNominal", + "name": "NSItemProvider", + "printedName": "Foundation.NSItemProvider", + "usr": "c:objc(cs)NSItemProvider" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Func", + "usr": "s:13SendbirdUIKit22SBUMessageThreadModuleC5InputC22pickMultipleImageFiles13itemProvidersySaySo14NSItemProviderCG_tF", + "mangledName": "$s13SendbirdUIKit22SBUMessageThreadModuleC5InputC22pickMultipleImageFiles13itemProvidersySaySo14NSItemProviderCG_tF", + "moduleName": "SendbirdUIKit", + "intro_iOS": "14.0", + "declAttributes": [ + "Custom", + "AccessControl", + "Available", + "RawDocComment", + "ObjC" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "loadImageFile", + "printedName": "loadImageFile(itemProvider:index:completion:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "NSItemProvider", + "printedName": "Foundation.NSItemProvider", + "usr": "c:objc(cs)NSItemProvider" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.Int?", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "hasDefaultArg": true, + "usr": "s:Sq" + }, + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Foundation.Data?, Swift.String?, Swift.String?) -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(Foundation.Data?, Swift.String?, Swift.String?)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Foundation.Data?", + "children": [ + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.String?", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.String?", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "usr": "s:Sq" + } + ] + } + ] + } + ], + "declKind": "Func", + "usr": "s:13SendbirdUIKit22SBUMessageThreadModuleC5InputC13loadImageFile12itemProvider5index10completionySo06NSItemK0C_SiSgy10Foundation4DataVSg_SSSgAQtctF", + "mangledName": "$s13SendbirdUIKit22SBUMessageThreadModuleC5InputC13loadImageFile12itemProvider5index10completionySo06NSItemK0C_SiSgy10Foundation4DataVSg_SSSgAQtctF", + "moduleName": "SendbirdUIKit", + "intro_iOS": "14.0", + "declAttributes": [ + "Custom", + "AccessControl", + "Available", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "loadGIFfile", + "printedName": "loadGIFfile(itemProvider:index:completion:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "NSItemProvider", + "printedName": "Foundation.NSItemProvider", + "usr": "c:objc(cs)NSItemProvider" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.Int?", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "hasDefaultArg": true, + "usr": "s:Sq" + }, + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Foundation.Data?, Swift.String?, Swift.String?) -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(Foundation.Data?, Swift.String?, Swift.String?)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Foundation.Data?", + "children": [ + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.String?", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.String?", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "usr": "s:Sq" + } + ] + } + ] + } + ], + "declKind": "Func", + "usr": "s:13SendbirdUIKit22SBUMessageThreadModuleC5InputC11loadGIFfile12itemProvider5index10completionySo06NSItemJ0C_SiSgy10Foundation4DataVSg_SSSgAQtctF", + "mangledName": "$s13SendbirdUIKit22SBUMessageThreadModuleC5InputC11loadGIFfile12itemProvider5index10completionySo06NSItemJ0C_SiSgy10Foundation4DataVSg_SSSgAQtctF", + "moduleName": "SendbirdUIKit", + "intro_iOS": "14.0", + "declAttributes": [ + "Custom", + "AccessControl", + "Available", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, { "kind": "Function", "name": "updateMessageInputMode", @@ -215464,6 +221536,73 @@ } ] }, + { + "kind": "Var", + "name": "multipleFilesMessageCell", + "printedName": "multipleFilesMessageCell", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "SendbirdUIKit.SBUBaseMessageCell?", + "children": [ + { + "kind": "TypeNominal", + "name": "SBUBaseMessageCell", + "printedName": "SendbirdUIKit.SBUBaseMessageCell", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUBaseMessageCell" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit22SBUMessageThreadModuleC4ListC24multipleFilesMessageCellAA07SBUBaseiJ0CSgvp", + "mangledName": "$s13SendbirdUIKit22SBUMessageThreadModuleC4ListC24multipleFilesMessageCellAA07SBUBaseiJ0CSgvp", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "HasInitialValue", + "Custom", + "HasStorage", + "SetterAccess", + "AccessControl", + "RawDocComment", + "ObjC" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "SendbirdUIKit.SBUBaseMessageCell?", + "children": [ + { + "kind": "TypeNominal", + "name": "SBUBaseMessageCell", + "printedName": "SendbirdUIKit.SBUBaseMessageCell", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUBaseMessageCell" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit22SBUMessageThreadModuleC4ListC24multipleFilesMessageCellAA07SBUBaseiJ0CSgvg", + "mangledName": "$s13SendbirdUIKit22SBUMessageThreadModuleC4ListC24multipleFilesMessageCellAA07SBUBaseiJ0CSgvg", + "moduleName": "SendbirdUIKit", + "implicit": true, + "declAttributes": [ + "ObjC" + ], + "accessorKind": "get" + } + ] + }, { "kind": "Var", "name": "unknownMessageCell", @@ -216516,20 +222655,27 @@ { "kind": "Function", "name": "reloadTableView", - "printedName": "reloadTableView()", + "printedName": "reloadTableView(needsToLayout:)", "children": [ { "kind": "TypeNominal", "name": "Void", "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "hasDefaultArg": true, + "usr": "s:Sb" } ], "declKind": "Func", - "usr": "s:13SendbirdUIKit22SBUMessageThreadModuleC4ListC15reloadTableViewyyF", - "mangledName": "$s13SendbirdUIKit22SBUMessageThreadModuleC4ListC15reloadTableViewyyF", + "usr": "s:13SendbirdUIKit22SBUMessageThreadModuleC4ListC15reloadTableView13needsToLayoutySb_tF", + "mangledName": "$s13SendbirdUIKit22SBUMessageThreadModuleC4ListC15reloadTableView13needsToLayoutySb_tF", "moduleName": "SendbirdUIKit", "overriding": true, - "objc_name": "reloadTableView", + "objc_name": "reloadTableViewWithNeedsToLayout:", "declAttributes": [ "ObjC", "Custom", @@ -216718,6 +222864,51 @@ ], "funcSelfKind": "NonMutating" }, + { + "kind": "Function", + "name": "register", + "printedName": "register(multipleFilesMessageCell:nib:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "SBUBaseMessageCell", + "printedName": "SendbirdUIKit.SBUBaseMessageCell", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUBaseMessageCell" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "UIKit.UINib?", + "children": [ + { + "kind": "TypeNominal", + "name": "UINib", + "printedName": "UIKit.UINib", + "usr": "c:objc(cs)UINib" + } + ], + "hasDefaultArg": true, + "usr": "s:Sq" + } + ], + "declKind": "Func", + "usr": "s:13SendbirdUIKit22SBUMessageThreadModuleC4ListC8register24multipleFilesMessageCell3nibyAA07SBUBasejK0C_So5UINibCSgtF", + "mangledName": "$s13SendbirdUIKit22SBUMessageThreadModuleC4ListC8register24multipleFilesMessageCell3nibyAA07SBUBasejK0C_So5UINibCSgtF", + "moduleName": "SendbirdUIKit", + "isOpen": true, + "declAttributes": [ + "Custom", + "AccessControl", + "RawDocComment", + "ObjC" + ], + "funcSelfKind": "NonMutating" + }, { "kind": "Function", "name": "register", @@ -227113,6 +233304,54 @@ ], "reqNewWitnessTableEntry": true, "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "groupChannelModule", + "printedName": "groupChannelModule(_:didSelectFileAt:multipleFilesMessageCell:forRowAt:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "List", + "printedName": "SendbirdUIKit.SBUGroupChannelModule.List", + "usr": "s:13SendbirdUIKit21SBUGroupChannelModuleC4ListC" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "SBUMultipleFilesMessageCell", + "printedName": "SendbirdUIKit.SBUMultipleFilesMessageCell", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCell" + }, + { + "kind": "TypeNominal", + "name": "IndexPath", + "printedName": "Foundation.IndexPath", + "usr": "s:10Foundation9IndexPathV" + } + ], + "declKind": "Func", + "usr": "s:13SendbirdUIKit33SBUGroupChannelModuleListDelegateP05groupdE0_15didSelectFileAt24multipleFilesMessageCell06forRowL0yAA0cdE0C0F0C_SiAA011SBUMultiplenoP0C10Foundation9IndexPathVtF", + "mangledName": "$s13SendbirdUIKit33SBUGroupChannelModuleListDelegateP05groupdE0_15didSelectFileAt24multipleFilesMessageCell06forRowL0yAA0cdE0C0F0C_SiAA011SBUMultiplenoP0C10Foundation9IndexPathVtF", + "moduleName": "SendbirdUIKit", + "genericSig": "<τ_0_0 where τ_0_0 : SendbirdUIKit.SBUGroupChannelModuleListDelegate>", + "sugared_genericSig": "", + "protocolReq": true, + "declAttributes": [ + "RawDocComment" + ], + "reqNewWitnessTableEntry": true, + "funcSelfKind": "NonMutating" } ], "declKind": "Protocol", @@ -227312,6 +233551,72 @@ "reqNewWitnessTableEntry": true, "funcSelfKind": "NonMutating" }, + { + "kind": "Function", + "name": "groupChannelModule", + "printedName": "groupChannelModule(_:didPickMultipleFiles:parentMessage:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Input", + "printedName": "SendbirdUIKit.SBUGroupChannelModule.Input", + "usr": "s:13SendbirdUIKit21SBUGroupChannelModuleC5InputC" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "[SendbirdChatSDK.UploadableFileInfo]?", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[SendbirdChatSDK.UploadableFileInfo]", + "children": [ + { + "kind": "TypeNominal", + "name": "UploadableFileInfo", + "printedName": "SendbirdChatSDK.UploadableFileInfo", + "usr": "c:@M@SendbirdChatSDK@objc(cs)SBDUploadableFileInfo" + } + ], + "usr": "s:Sa" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "SendbirdChatSDK.BaseMessage?", + "children": [ + { + "kind": "TypeNominal", + "name": "BaseMessage", + "printedName": "SendbirdChatSDK.BaseMessage", + "usr": "c:@M@SendbirdChatSDK@objc(cs)SBDBaseMessage" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Func", + "usr": "s:13SendbirdUIKit34SBUGroupChannelModuleInputDelegateP05groupdE0_20didPickMultipleFiles13parentMessageyAA0cdE0C0F0C_Say0A7ChatSDK18UploadableFileInfoCGSgAK04BaseN0CSgtF", + "mangledName": "$s13SendbirdUIKit34SBUGroupChannelModuleInputDelegateP05groupdE0_20didPickMultipleFiles13parentMessageyAA0cdE0C0F0C_Say0A7ChatSDK18UploadableFileInfoCGSgAK04BaseN0CSgtF", + "moduleName": "SendbirdUIKit", + "genericSig": "<τ_0_0 where τ_0_0 : SendbirdUIKit.SBUGroupChannelModuleInputDelegate>", + "sugared_genericSig": "", + "protocolReq": true, + "declAttributes": [ + "RawDocComment" + ], + "reqNewWitnessTableEntry": true, + "funcSelfKind": "NonMutating" + }, { "kind": "Function", "name": "groupChannelModule", @@ -233576,6 +239881,917 @@ "mangledName": "$s13SendbirdUIKit14SBUIconSetTypeO8iconStopyA2CmF", "moduleName": "SendbirdUIKit" }, + { + "kind": "TypeDecl", + "name": "Metric", + "printedName": "Metric", + "children": [ + { + "kind": "Var", + "name": "defaultIconSizeVerySmall", + "printedName": "defaultIconSizeVerySmall", + "children": [ + { + "kind": "TypeNominal", + "name": "CGSize", + "printedName": "CoreFoundation.CGSize", + "usr": "c:@S@CGSize" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit14SBUIconSetTypeO6MetricV24defaultIconSizeVerySmallSo6CGSizeVvpZ", + "mangledName": "$s13SendbirdUIKit14SBUIconSetTypeO6MetricV24defaultIconSizeVerySmallSo6CGSizeVvpZ", + "moduleName": "SendbirdUIKit", + "static": true, + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "CGSize", + "printedName": "CoreFoundation.CGSize", + "usr": "c:@S@CGSize" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit14SBUIconSetTypeO6MetricV24defaultIconSizeVerySmallSo6CGSizeVvgZ", + "mangledName": "$s13SendbirdUIKit14SBUIconSetTypeO6MetricV24defaultIconSizeVerySmallSo6CGSizeVvgZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "defaultIconSizeSmall", + "printedName": "defaultIconSizeSmall", + "children": [ + { + "kind": "TypeNominal", + "name": "CGSize", + "printedName": "CoreFoundation.CGSize", + "usr": "c:@S@CGSize" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit14SBUIconSetTypeO6MetricV20defaultIconSizeSmallSo6CGSizeVvpZ", + "mangledName": "$s13SendbirdUIKit14SBUIconSetTypeO6MetricV20defaultIconSizeSmallSo6CGSizeVvpZ", + "moduleName": "SendbirdUIKit", + "static": true, + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "CGSize", + "printedName": "CoreFoundation.CGSize", + "usr": "c:@S@CGSize" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit14SBUIconSetTypeO6MetricV20defaultIconSizeSmallSo6CGSizeVvgZ", + "mangledName": "$s13SendbirdUIKit14SBUIconSetTypeO6MetricV20defaultIconSizeSmallSo6CGSizeVvgZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "defaultIconSizeMedium", + "printedName": "defaultIconSizeMedium", + "children": [ + { + "kind": "TypeNominal", + "name": "CGSize", + "printedName": "CoreFoundation.CGSize", + "usr": "c:@S@CGSize" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit14SBUIconSetTypeO6MetricV21defaultIconSizeMediumSo6CGSizeVvpZ", + "mangledName": "$s13SendbirdUIKit14SBUIconSetTypeO6MetricV21defaultIconSizeMediumSo6CGSizeVvpZ", + "moduleName": "SendbirdUIKit", + "static": true, + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "CGSize", + "printedName": "CoreFoundation.CGSize", + "usr": "c:@S@CGSize" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit14SBUIconSetTypeO6MetricV21defaultIconSizeMediumSo6CGSizeVvgZ", + "mangledName": "$s13SendbirdUIKit14SBUIconSetTypeO6MetricV21defaultIconSizeMediumSo6CGSizeVvgZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "defaultIconSize", + "printedName": "defaultIconSize", + "children": [ + { + "kind": "TypeNominal", + "name": "CGSize", + "printedName": "CoreFoundation.CGSize", + "usr": "c:@S@CGSize" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit14SBUIconSetTypeO6MetricV15defaultIconSizeSo6CGSizeVvpZ", + "mangledName": "$s13SendbirdUIKit14SBUIconSetTypeO6MetricV15defaultIconSizeSo6CGSizeVvpZ", + "moduleName": "SendbirdUIKit", + "static": true, + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "CGSize", + "printedName": "CoreFoundation.CGSize", + "usr": "c:@S@CGSize" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit14SBUIconSetTypeO6MetricV15defaultIconSizeSo6CGSizeVvgZ", + "mangledName": "$s13SendbirdUIKit14SBUIconSetTypeO6MetricV15defaultIconSizeSo6CGSizeVvgZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "defaultIconSizeLarge", + "printedName": "defaultIconSizeLarge", + "children": [ + { + "kind": "TypeNominal", + "name": "CGSize", + "printedName": "CoreFoundation.CGSize", + "usr": "c:@S@CGSize" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit14SBUIconSetTypeO6MetricV20defaultIconSizeLargeSo6CGSizeVvpZ", + "mangledName": "$s13SendbirdUIKit14SBUIconSetTypeO6MetricV20defaultIconSizeLargeSo6CGSizeVvpZ", + "moduleName": "SendbirdUIKit", + "static": true, + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "CGSize", + "printedName": "CoreFoundation.CGSize", + "usr": "c:@S@CGSize" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit14SBUIconSetTypeO6MetricV20defaultIconSizeLargeSo6CGSizeVvgZ", + "mangledName": "$s13SendbirdUIKit14SBUIconSetTypeO6MetricV20defaultIconSizeLargeSo6CGSizeVvgZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "defaultIconSizeVeryLarge", + "printedName": "defaultIconSizeVeryLarge", + "children": [ + { + "kind": "TypeNominal", + "name": "CGSize", + "printedName": "CoreFoundation.CGSize", + "usr": "c:@S@CGSize" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit14SBUIconSetTypeO6MetricV24defaultIconSizeVeryLargeSo6CGSizeVvpZ", + "mangledName": "$s13SendbirdUIKit14SBUIconSetTypeO6MetricV24defaultIconSizeVeryLargeSo6CGSizeVvpZ", + "moduleName": "SendbirdUIKit", + "static": true, + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "CGSize", + "printedName": "CoreFoundation.CGSize", + "usr": "c:@S@CGSize" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit14SBUIconSetTypeO6MetricV24defaultIconSizeVeryLargeSo6CGSizeVvgZ", + "mangledName": "$s13SendbirdUIKit14SBUIconSetTypeO6MetricV24defaultIconSizeVeryLargeSo6CGSizeVvgZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "quotedMessageIconSize", + "printedName": "quotedMessageIconSize", + "children": [ + { + "kind": "TypeNominal", + "name": "CGSize", + "printedName": "CoreFoundation.CGSize", + "usr": "c:@S@CGSize" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit14SBUIconSetTypeO6MetricV21quotedMessageIconSizeSo6CGSizeVvpZ", + "mangledName": "$s13SendbirdUIKit14SBUIconSetTypeO6MetricV21quotedMessageIconSizeSo6CGSizeVvpZ", + "moduleName": "SendbirdUIKit", + "static": true, + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "CGSize", + "printedName": "CoreFoundation.CGSize", + "usr": "c:@S@CGSize" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit14SBUIconSetTypeO6MetricV21quotedMessageIconSizeSo6CGSizeVvgZ", + "mangledName": "$s13SendbirdUIKit14SBUIconSetTypeO6MetricV21quotedMessageIconSizeSo6CGSizeVvgZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "iconActionSheetItem", + "printedName": "iconActionSheetItem", + "children": [ + { + "kind": "TypeNominal", + "name": "CGSize", + "printedName": "CoreFoundation.CGSize", + "usr": "c:@S@CGSize" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit14SBUIconSetTypeO6MetricV19iconActionSheetItemSo6CGSizeVvpZ", + "mangledName": "$s13SendbirdUIKit14SBUIconSetTypeO6MetricV19iconActionSheetItemSo6CGSizeVvpZ", + "moduleName": "SendbirdUIKit", + "static": true, + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "CGSize", + "printedName": "CoreFoundation.CGSize", + "usr": "c:@S@CGSize" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit14SBUIconSetTypeO6MetricV19iconActionSheetItemSo6CGSizeVvgZ", + "mangledName": "$s13SendbirdUIKit14SBUIconSetTypeO6MetricV19iconActionSheetItemSo6CGSizeVvgZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "iconEmojiSmall", + "printedName": "iconEmojiSmall", + "children": [ + { + "kind": "TypeNominal", + "name": "CGSize", + "printedName": "CoreFoundation.CGSize", + "usr": "c:@S@CGSize" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit14SBUIconSetTypeO6MetricV14iconEmojiSmallSo6CGSizeVvpZ", + "mangledName": "$s13SendbirdUIKit14SBUIconSetTypeO6MetricV14iconEmojiSmallSo6CGSizeVvpZ", + "moduleName": "SendbirdUIKit", + "static": true, + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "CGSize", + "printedName": "CoreFoundation.CGSize", + "usr": "c:@S@CGSize" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit14SBUIconSetTypeO6MetricV14iconEmojiSmallSo6CGSizeVvgZ", + "mangledName": "$s13SendbirdUIKit14SBUIconSetTypeO6MetricV14iconEmojiSmallSo6CGSizeVvgZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "iconEmojiLarge", + "printedName": "iconEmojiLarge", + "children": [ + { + "kind": "TypeNominal", + "name": "CGSize", + "printedName": "CoreFoundation.CGSize", + "usr": "c:@S@CGSize" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit14SBUIconSetTypeO6MetricV14iconEmojiLargeSo6CGSizeVvpZ", + "mangledName": "$s13SendbirdUIKit14SBUIconSetTypeO6MetricV14iconEmojiLargeSo6CGSizeVvpZ", + "moduleName": "SendbirdUIKit", + "static": true, + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "CGSize", + "printedName": "CoreFoundation.CGSize", + "usr": "c:@S@CGSize" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit14SBUIconSetTypeO6MetricV14iconEmojiLargeSo6CGSizeVvgZ", + "mangledName": "$s13SendbirdUIKit14SBUIconSetTypeO6MetricV14iconEmojiLargeSo6CGSizeVvgZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "iconEmptyView", + "printedName": "iconEmptyView", + "children": [ + { + "kind": "TypeNominal", + "name": "CGSize", + "printedName": "CoreFoundation.CGSize", + "usr": "c:@S@CGSize" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit14SBUIconSetTypeO6MetricV13iconEmptyViewSo6CGSizeVvpZ", + "mangledName": "$s13SendbirdUIKit14SBUIconSetTypeO6MetricV13iconEmptyViewSo6CGSizeVvpZ", + "moduleName": "SendbirdUIKit", + "static": true, + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "CGSize", + "printedName": "CoreFoundation.CGSize", + "usr": "c:@S@CGSize" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit14SBUIconSetTypeO6MetricV13iconEmptyViewSo6CGSizeVvgZ", + "mangledName": "$s13SendbirdUIKit14SBUIconSetTypeO6MetricV13iconEmptyViewSo6CGSizeVvgZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "iconGifPlay", + "printedName": "iconGifPlay", + "children": [ + { + "kind": "TypeNominal", + "name": "CGSize", + "printedName": "CoreFoundation.CGSize", + "usr": "c:@S@CGSize" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit14SBUIconSetTypeO6MetricV11iconGifPlaySo6CGSizeVvpZ", + "mangledName": "$s13SendbirdUIKit14SBUIconSetTypeO6MetricV11iconGifPlaySo6CGSizeVvpZ", + "moduleName": "SendbirdUIKit", + "static": true, + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "CGSize", + "printedName": "CoreFoundation.CGSize", + "usr": "c:@S@CGSize" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit14SBUIconSetTypeO6MetricV11iconGifPlaySo6CGSizeVvgZ", + "mangledName": "$s13SendbirdUIKit14SBUIconSetTypeO6MetricV11iconGifPlaySo6CGSizeVvgZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "iconSpinnerLarge", + "printedName": "iconSpinnerLarge", + "children": [ + { + "kind": "TypeNominal", + "name": "CGSize", + "printedName": "CoreFoundation.CGSize", + "usr": "c:@S@CGSize" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit14SBUIconSetTypeO6MetricV16iconSpinnerLargeSo6CGSizeVvpZ", + "mangledName": "$s13SendbirdUIKit14SBUIconSetTypeO6MetricV16iconSpinnerLargeSo6CGSizeVvpZ", + "moduleName": "SendbirdUIKit", + "static": true, + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "CGSize", + "printedName": "CoreFoundation.CGSize", + "usr": "c:@S@CGSize" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit14SBUIconSetTypeO6MetricV16iconSpinnerLargeSo6CGSizeVvgZ", + "mangledName": "$s13SendbirdUIKit14SBUIconSetTypeO6MetricV16iconSpinnerLargeSo6CGSizeVvgZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "iconSpinnerSizeForTemplate", + "printedName": "iconSpinnerSizeForTemplate", + "children": [ + { + "kind": "TypeNominal", + "name": "CGSize", + "printedName": "CoreFoundation.CGSize", + "usr": "c:@S@CGSize" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit14SBUIconSetTypeO6MetricV26iconSpinnerSizeForTemplateSo6CGSizeVvpZ", + "mangledName": "$s13SendbirdUIKit14SBUIconSetTypeO6MetricV26iconSpinnerSizeForTemplateSo6CGSizeVvpZ", + "moduleName": "SendbirdUIKit", + "static": true, + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "CGSize", + "printedName": "CoreFoundation.CGSize", + "usr": "c:@S@CGSize" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit14SBUIconSetTypeO6MetricV26iconSpinnerSizeForTemplateSo6CGSizeVvgZ", + "mangledName": "$s13SendbirdUIKit14SBUIconSetTypeO6MetricV26iconSpinnerSizeForTemplateSo6CGSizeVvgZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "iconUserProfile", + "printedName": "iconUserProfile", + "children": [ + { + "kind": "TypeNominal", + "name": "CGSize", + "printedName": "CoreFoundation.CGSize", + "usr": "c:@S@CGSize" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit14SBUIconSetTypeO6MetricV15iconUserProfileSo6CGSizeVvpZ", + "mangledName": "$s13SendbirdUIKit14SBUIconSetTypeO6MetricV15iconUserProfileSo6CGSizeVvpZ", + "moduleName": "SendbirdUIKit", + "static": true, + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "CGSize", + "printedName": "CoreFoundation.CGSize", + "usr": "c:@S@CGSize" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit14SBUIconSetTypeO6MetricV15iconUserProfileSo6CGSizeVvgZ", + "mangledName": "$s13SendbirdUIKit14SBUIconSetTypeO6MetricV15iconUserProfileSo6CGSizeVvgZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "iconUserProfileInChat", + "printedName": "iconUserProfileInChat", + "children": [ + { + "kind": "TypeNominal", + "name": "CGSize", + "printedName": "CoreFoundation.CGSize", + "usr": "c:@S@CGSize" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit14SBUIconSetTypeO6MetricV21iconUserProfileInChatSo6CGSizeVvpZ", + "mangledName": "$s13SendbirdUIKit14SBUIconSetTypeO6MetricV21iconUserProfileInChatSo6CGSizeVvpZ", + "moduleName": "SendbirdUIKit", + "static": true, + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "CGSize", + "printedName": "CoreFoundation.CGSize", + "usr": "c:@S@CGSize" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit14SBUIconSetTypeO6MetricV21iconUserProfileInChatSo6CGSizeVvgZ", + "mangledName": "$s13SendbirdUIKit14SBUIconSetTypeO6MetricV21iconUserProfileInChatSo6CGSizeVvgZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "iconChevronDown", + "printedName": "iconChevronDown", + "children": [ + { + "kind": "TypeNominal", + "name": "CGSize", + "printedName": "CoreFoundation.CGSize", + "usr": "c:@S@CGSize" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit14SBUIconSetTypeO6MetricV15iconChevronDownSo6CGSizeVvpZ", + "mangledName": "$s13SendbirdUIKit14SBUIconSetTypeO6MetricV15iconChevronDownSo6CGSizeVvpZ", + "moduleName": "SendbirdUIKit", + "static": true, + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "CGSize", + "printedName": "CoreFoundation.CGSize", + "usr": "c:@S@CGSize" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit14SBUIconSetTypeO6MetricV15iconChevronDownSo6CGSizeVvgZ", + "mangledName": "$s13SendbirdUIKit14SBUIconSetTypeO6MetricV15iconChevronDownSo6CGSizeVvgZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "iconVoiceMessageSize", + "printedName": "iconVoiceMessageSize", + "children": [ + { + "kind": "TypeNominal", + "name": "CGSize", + "printedName": "CoreFoundation.CGSize", + "usr": "c:@S@CGSize" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit14SBUIconSetTypeO6MetricV20iconVoiceMessageSizeSo6CGSizeVvpZ", + "mangledName": "$s13SendbirdUIKit14SBUIconSetTypeO6MetricV20iconVoiceMessageSizeSo6CGSizeVvpZ", + "moduleName": "SendbirdUIKit", + "static": true, + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "CGSize", + "printedName": "CoreFoundation.CGSize", + "usr": "c:@S@CGSize" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit14SBUIconSetTypeO6MetricV20iconVoiceMessageSizeSo6CGSizeVvgZ", + "mangledName": "$s13SendbirdUIKit14SBUIconSetTypeO6MetricV20iconVoiceMessageSizeSo6CGSizeVvgZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "accessorKind": "get" + } + ] + } + ], + "declKind": "Struct", + "usr": "s:13SendbirdUIKit14SBUIconSetTypeO6MetricV", + "mangledName": "$s13SendbirdUIKit14SBUIconSetTypeO6MetricV", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ] + }, + { + "kind": "Function", + "name": "image", + "printedName": "image(with:to:tintAndResize:)", + "children": [ + { + "kind": "TypeNominal", + "name": "UIImage", + "printedName": "UIKit.UIImage", + "usr": "c:objc(cs)UIImage" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "UIKit.UIColor?", + "children": [ + { + "kind": "TypeNominal", + "name": "UIColor", + "printedName": "UIKit.UIColor", + "usr": "c:objc(cs)UIColor" + } + ], + "hasDefaultArg": true, + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "CGSize", + "printedName": "CoreFoundation.CGSize", + "usr": "c:@S@CGSize" + }, + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "hasDefaultArg": true, + "usr": "s:Sb" + } + ], + "declKind": "Func", + "usr": "s:13SendbirdUIKit14SBUIconSetTypeO5image4with2to13tintAndResizeSo7UIImageCSo7UIColorCSg_So6CGSizeVSbtF", + "mangledName": "$s13SendbirdUIKit14SBUIconSetTypeO5image4with2to13tintAndResizeSo7UIImageCSo7UIColorCSg_So6CGSizeVSbtF", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, { "kind": "Constructor", "name": "init", @@ -240302,17 +247518,24 @@ { "kind": "Function", "name": "reloadTableView", - "printedName": "reloadTableView()", + "printedName": "reloadTableView(needsToLayout:)", "children": [ { "kind": "TypeNominal", "name": "Void", "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "hasDefaultArg": true, + "usr": "s:Sb" } ], "declKind": "Func", - "usr": "s:13SendbirdUIKit20SBUBaseChannelModuleC4ListC15reloadTableViewyyF", - "mangledName": "$s13SendbirdUIKit20SBUBaseChannelModuleC4ListC15reloadTableViewyyF", + "usr": "s:13SendbirdUIKit20SBUBaseChannelModuleC4ListC15reloadTableView13needsToLayoutySb_tF", + "mangledName": "$s13SendbirdUIKit20SBUBaseChannelModuleC4ListC15reloadTableView13needsToLayoutySb_tF", "moduleName": "SendbirdUIKit", "declAttributes": [ "Custom", @@ -245789,516 +253012,6 @@ "RawDocComment" ] }, - { - "kind": "Import", - "name": "UIKit", - "printedName": "UIKit", - "declKind": "Import", - "moduleName": "SendbirdUIKit", - "declAttributes": [ - "RawDocComment" - ] - }, - { - "kind": "TypeDecl", - "name": "SBUPaddingLabel", - "printedName": "SBUPaddingLabel", - "children": [ - { - "kind": "Var", - "name": "top", - "printedName": "top", - "children": [ - { - "kind": "TypeNominal", - "name": "CGFloat", - "printedName": "CoreGraphics.CGFloat", - "usr": "s:14CoreFoundation7CGFloatV" - } - ], - "declKind": "Var", - "usr": "s:13SendbirdUIKit15SBUPaddingLabelC3top14CoreFoundation7CGFloatVvp", - "mangledName": "$s13SendbirdUIKit15SBUPaddingLabelC3top12CoreGraphics7CGFloatVvp", - "moduleName": "SendbirdUIKit", - "declAttributes": [ - "Custom", - "HasStorage", - "SetterAccess", - "AccessControl" - ], - "hasStorage": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "CGFloat", - "printedName": "CoreGraphics.CGFloat", - "usr": "s:14CoreFoundation7CGFloatV" - } - ], - "declKind": "Accessor", - "usr": "s:13SendbirdUIKit15SBUPaddingLabelC3top14CoreFoundation7CGFloatVvg", - "mangledName": "$s13SendbirdUIKit15SBUPaddingLabelC3top12CoreGraphics7CGFloatVvg", - "moduleName": "SendbirdUIKit", - "implicit": true, - "accessorKind": "get" - } - ] - }, - { - "kind": "Var", - "name": "bottom", - "printedName": "bottom", - "children": [ - { - "kind": "TypeNominal", - "name": "CGFloat", - "printedName": "CoreGraphics.CGFloat", - "usr": "s:14CoreFoundation7CGFloatV" - } - ], - "declKind": "Var", - "usr": "s:13SendbirdUIKit15SBUPaddingLabelC6bottom14CoreFoundation7CGFloatVvp", - "mangledName": "$s13SendbirdUIKit15SBUPaddingLabelC6bottom12CoreGraphics7CGFloatVvp", - "moduleName": "SendbirdUIKit", - "declAttributes": [ - "Custom", - "HasStorage", - "SetterAccess", - "AccessControl" - ], - "hasStorage": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "CGFloat", - "printedName": "CoreGraphics.CGFloat", - "usr": "s:14CoreFoundation7CGFloatV" - } - ], - "declKind": "Accessor", - "usr": "s:13SendbirdUIKit15SBUPaddingLabelC6bottom14CoreFoundation7CGFloatVvg", - "mangledName": "$s13SendbirdUIKit15SBUPaddingLabelC6bottom12CoreGraphics7CGFloatVvg", - "moduleName": "SendbirdUIKit", - "implicit": true, - "accessorKind": "get" - } - ] - }, - { - "kind": "Var", - "name": "leading", - "printedName": "leading", - "children": [ - { - "kind": "TypeNominal", - "name": "CGFloat", - "printedName": "CoreGraphics.CGFloat", - "usr": "s:14CoreFoundation7CGFloatV" - } - ], - "declKind": "Var", - "usr": "s:13SendbirdUIKit15SBUPaddingLabelC7leading14CoreFoundation7CGFloatVvp", - "mangledName": "$s13SendbirdUIKit15SBUPaddingLabelC7leading12CoreGraphics7CGFloatVvp", - "moduleName": "SendbirdUIKit", - "declAttributes": [ - "Custom", - "HasStorage", - "SetterAccess", - "AccessControl" - ], - "hasStorage": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "CGFloat", - "printedName": "CoreGraphics.CGFloat", - "usr": "s:14CoreFoundation7CGFloatV" - } - ], - "declKind": "Accessor", - "usr": "s:13SendbirdUIKit15SBUPaddingLabelC7leading14CoreFoundation7CGFloatVvg", - "mangledName": "$s13SendbirdUIKit15SBUPaddingLabelC7leading12CoreGraphics7CGFloatVvg", - "moduleName": "SendbirdUIKit", - "implicit": true, - "accessorKind": "get" - } - ] - }, - { - "kind": "Var", - "name": "trailing", - "printedName": "trailing", - "children": [ - { - "kind": "TypeNominal", - "name": "CGFloat", - "printedName": "CoreGraphics.CGFloat", - "usr": "s:14CoreFoundation7CGFloatV" - } - ], - "declKind": "Var", - "usr": "s:13SendbirdUIKit15SBUPaddingLabelC8trailing14CoreFoundation7CGFloatVvp", - "mangledName": "$s13SendbirdUIKit15SBUPaddingLabelC8trailing12CoreGraphics7CGFloatVvp", - "moduleName": "SendbirdUIKit", - "declAttributes": [ - "Custom", - "HasStorage", - "SetterAccess", - "AccessControl" - ], - "hasStorage": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "CGFloat", - "printedName": "CoreGraphics.CGFloat", - "usr": "s:14CoreFoundation7CGFloatV" - } - ], - "declKind": "Accessor", - "usr": "s:13SendbirdUIKit15SBUPaddingLabelC8trailing14CoreFoundation7CGFloatVvg", - "mangledName": "$s13SendbirdUIKit15SBUPaddingLabelC8trailing12CoreGraphics7CGFloatVvg", - "moduleName": "SendbirdUIKit", - "implicit": true, - "accessorKind": "get" - } - ] - }, - { - "kind": "Constructor", - "name": "init", - "printedName": "init(_:)", - "children": [ - { - "kind": "TypeNominal", - "name": "SBUPaddingLabel", - "printedName": "SendbirdUIKit.SBUPaddingLabel", - "usr": "c:@M@SendbirdUIKit@objc(cs)SBUPaddingLabel" - }, - { - "kind": "TypeNominal", - "name": "CGFloat", - "printedName": "CoreGraphics.CGFloat", - "usr": "s:14CoreFoundation7CGFloatV" - } - ], - "declKind": "Constructor", - "usr": "s:13SendbirdUIKit15SBUPaddingLabelCyAC14CoreFoundation7CGFloatVcfc", - "mangledName": "$s13SendbirdUIKit15SBUPaddingLabelCyAC12CoreGraphics7CGFloatVcfc", - "moduleName": "SendbirdUIKit", - "declAttributes": [ - "Custom", - "Convenience", - "AccessControl" - ], - "init_kind": "Convenience" - }, - { - "kind": "Constructor", - "name": "init", - "printedName": "init(_:_:)", - "children": [ - { - "kind": "TypeNominal", - "name": "SBUPaddingLabel", - "printedName": "SendbirdUIKit.SBUPaddingLabel", - "usr": "c:@M@SendbirdUIKit@objc(cs)SBUPaddingLabel" - }, - { - "kind": "TypeNominal", - "name": "CGFloat", - "printedName": "CoreGraphics.CGFloat", - "usr": "s:14CoreFoundation7CGFloatV" - }, - { - "kind": "TypeNominal", - "name": "CGFloat", - "printedName": "CoreGraphics.CGFloat", - "usr": "s:14CoreFoundation7CGFloatV" - } - ], - "declKind": "Constructor", - "usr": "s:13SendbirdUIKit15SBUPaddingLabelCyAC14CoreFoundation7CGFloatV_AFtcfc", - "mangledName": "$s13SendbirdUIKit15SBUPaddingLabelCyAC12CoreGraphics7CGFloatV_AFtcfc", - "moduleName": "SendbirdUIKit", - "declAttributes": [ - "Custom", - "Convenience", - "AccessControl" - ], - "init_kind": "Convenience" - }, - { - "kind": "Constructor", - "name": "init", - "printedName": "init(_:_:_:_:)", - "children": [ - { - "kind": "TypeNominal", - "name": "SBUPaddingLabel", - "printedName": "SendbirdUIKit.SBUPaddingLabel", - "usr": "c:@M@SendbirdUIKit@objc(cs)SBUPaddingLabel" - }, - { - "kind": "TypeNominal", - "name": "CGFloat", - "printedName": "CoreGraphics.CGFloat", - "hasDefaultArg": true, - "usr": "s:14CoreFoundation7CGFloatV" - }, - { - "kind": "TypeNominal", - "name": "CGFloat", - "printedName": "CoreGraphics.CGFloat", - "hasDefaultArg": true, - "usr": "s:14CoreFoundation7CGFloatV" - }, - { - "kind": "TypeNominal", - "name": "CGFloat", - "printedName": "CoreGraphics.CGFloat", - "hasDefaultArg": true, - "usr": "s:14CoreFoundation7CGFloatV" - }, - { - "kind": "TypeNominal", - "name": "CGFloat", - "printedName": "CoreGraphics.CGFloat", - "hasDefaultArg": true, - "usr": "s:14CoreFoundation7CGFloatV" - } - ], - "declKind": "Constructor", - "usr": "s:13SendbirdUIKit15SBUPaddingLabelCyAC14CoreFoundation7CGFloatV_A3Ftcfc", - "mangledName": "$s13SendbirdUIKit15SBUPaddingLabelCyAC12CoreGraphics7CGFloatV_A3Ftcfc", - "moduleName": "SendbirdUIKit", - "declAttributes": [ - "Custom", - "AccessControl" - ], - "init_kind": "Designated" - }, - { - "kind": "Function", - "name": "drawText", - "printedName": "drawText(in:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "CGRect", - "printedName": "CoreFoundation.CGRect", - "usr": "c:@S@CGRect" - } - ], - "declKind": "Func", - "usr": "c:@M@SendbirdUIKit@objc(cs)SBUPaddingLabel(im)drawTextInRect:", - "mangledName": "$s13SendbirdUIKit15SBUPaddingLabelC8drawText2inySo6CGRectV_tF", - "moduleName": "SendbirdUIKit", - "overriding": true, - "objc_name": "drawTextInRect:", - "declAttributes": [ - "Dynamic", - "ObjC", - "Custom", - "Override", - "AccessControl" - ], - "funcSelfKind": "NonMutating" - }, - { - "kind": "Var", - "name": "intrinsicContentSize", - "printedName": "intrinsicContentSize", - "children": [ - { - "kind": "TypeNominal", - "name": "CGSize", - "printedName": "CoreFoundation.CGSize", - "usr": "c:@S@CGSize" - } - ], - "declKind": "Var", - "usr": "c:@M@SendbirdUIKit@objc(cs)SBUPaddingLabel(py)intrinsicContentSize", - "mangledName": "$s13SendbirdUIKit15SBUPaddingLabelC20intrinsicContentSizeSo6CGSizeVvp", - "moduleName": "SendbirdUIKit", - "overriding": true, - "objc_name": "intrinsicContentSize", - "declAttributes": [ - "Dynamic", - "ObjC", - "Custom", - "Override", - "AccessControl" - ], - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "CGSize", - "printedName": "CoreFoundation.CGSize", - "usr": "c:@S@CGSize" - } - ], - "declKind": "Accessor", - "usr": "c:@M@SendbirdUIKit@objc(cs)SBUPaddingLabel(im)intrinsicContentSize", - "mangledName": "$s13SendbirdUIKit15SBUPaddingLabelC20intrinsicContentSizeSo6CGSizeVvg", - "moduleName": "SendbirdUIKit", - "overriding": true, - "objc_name": "intrinsicContentSize", - "declAttributes": [ - "Dynamic", - "ObjC" - ], - "accessorKind": "get" - } - ] - }, - { - "kind": "Constructor", - "name": "init", - "printedName": "init(frame:)", - "children": [ - { - "kind": "TypeNominal", - "name": "SBUPaddingLabel", - "printedName": "SendbirdUIKit.SBUPaddingLabel", - "usr": "c:@M@SendbirdUIKit@objc(cs)SBUPaddingLabel" - }, - { - "kind": "TypeNominal", - "name": "CGRect", - "printedName": "CoreFoundation.CGRect", - "usr": "c:@S@CGRect" - } - ], - "declKind": "Constructor", - "usr": "c:@M@SendbirdUIKit@objc(cs)SBUPaddingLabel(im)initWithFrame:", - "mangledName": "$s13SendbirdUIKit15SBUPaddingLabelC5frameACSo6CGRectV_tcfc", - "moduleName": "SendbirdUIKit", - "overriding": true, - "implicit": true, - "objc_name": "initWithFrame:", - "declAttributes": [ - "Dynamic", - "ObjC", - "Custom", - "Override" - ], - "init_kind": "Designated" - } - ], - "declKind": "Class", - "usr": "c:@M@SendbirdUIKit@objc(cs)SBUPaddingLabel", - "mangledName": "$s13SendbirdUIKit15SBUPaddingLabelC", - "moduleName": "SendbirdUIKit", - "declAttributes": [ - "Custom", - "AccessControl", - "ObjC" - ], - "superclassUsr": "c:objc(cs)UILabel", - "hasMissingDesignatedInitializers": true, - "superclassNames": [ - "UIKit.UILabel", - "UIKit.UIView", - "UIKit.UIResponder", - "ObjectiveC.NSObject" - ], - "conformances": [ - { - "kind": "Conformance", - "name": "Equatable", - "printedName": "Equatable", - "usr": "s:SQ", - "mangledName": "$sSQ" - }, - { - "kind": "Conformance", - "name": "Hashable", - "printedName": "Hashable", - "usr": "s:SH", - "mangledName": "$sSH" - }, - { - "kind": "Conformance", - "name": "CVarArg", - "printedName": "CVarArg", - "usr": "s:s7CVarArgP", - "mangledName": "$ss7CVarArgP" - }, - { - "kind": "Conformance", - "name": "_KeyValueCodingAndObservingPublishing", - "printedName": "_KeyValueCodingAndObservingPublishing", - "usr": "s:10Foundation37_KeyValueCodingAndObservingPublishingP", - "mangledName": "$s10Foundation37_KeyValueCodingAndObservingPublishingP" - }, - { - "kind": "Conformance", - "name": "_KeyValueCodingAndObserving", - "printedName": "_KeyValueCodingAndObserving", - "usr": "s:10Foundation27_KeyValueCodingAndObservingP", - "mangledName": "$s10Foundation27_KeyValueCodingAndObservingP" - }, - { - "kind": "Conformance", - "name": "CustomStringConvertible", - "printedName": "CustomStringConvertible", - "usr": "s:s23CustomStringConvertibleP", - "mangledName": "$ss23CustomStringConvertibleP" - }, - { - "kind": "Conformance", - "name": "CustomDebugStringConvertible", - "printedName": "CustomDebugStringConvertible", - "usr": "s:s28CustomDebugStringConvertibleP", - "mangledName": "$ss28CustomDebugStringConvertibleP" - }, - { - "kind": "Conformance", - "name": "Sendable", - "printedName": "Sendable", - "usr": "s:s8SendableP", - "mangledName": "$ss8SendableP" - }, - { - "kind": "Conformance", - "name": "__DefaultCustomPlaygroundQuickLookable", - "printedName": "__DefaultCustomPlaygroundQuickLookable", - "usr": "s:s38__DefaultCustomPlaygroundQuickLookableP", - "mangledName": "$ss38__DefaultCustomPlaygroundQuickLookableP" - } - ] - }, { "kind": "Import", "name": "CoreGraphics", @@ -258351,6 +265064,13 @@ "declKind": "Import", "moduleName": "SendbirdUIKit" }, + { + "kind": "Import", + "name": "PhotosUI", + "printedName": "PhotosUI", + "declKind": "Import", + "moduleName": "SendbirdUIKit" + }, { "kind": "TypeDecl", "name": "SBUMessageThreadViewControllerDelegate", @@ -259553,6 +266273,45 @@ ], "funcSelfKind": "NonMutating" }, + { + "kind": "Function", + "name": "viewWillTransition", + "printedName": "viewWillTransition(to:with:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "CGSize", + "printedName": "CoreFoundation.CGSize", + "usr": "c:@S@CGSize" + }, + { + "kind": "TypeNominal", + "name": "UIViewControllerTransitionCoordinator", + "printedName": "UIKit.UIViewControllerTransitionCoordinator", + "usr": "c:objc(pl)UIViewControllerTransitionCoordinator" + } + ], + "declKind": "Func", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMessageThreadViewController(im)viewWillTransitionToSize:withTransitionCoordinator:", + "mangledName": "$s13SendbirdUIKit30SBUMessageThreadViewControllerC18viewWillTransition2to4withySo6CGSizeV_So06UIViewfI11Coordinator_ptF", + "moduleName": "SendbirdUIKit", + "overriding": true, + "isOpen": true, + "objc_name": "viewWillTransitionToSize:withTransitionCoordinator:", + "declAttributes": [ + "Dynamic", + "ObjC", + "Custom", + "Override", + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, { "kind": "Function", "name": "applicationWillResignActivity", @@ -259797,6 +266556,38 @@ ], "funcSelfKind": "NonMutating" }, + { + "kind": "Function", + "name": "updateStyles", + "printedName": "updateStyles(needsToLayout:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Func", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMessageThreadViewController(im)updateStylesWithNeedsToLayout:", + "mangledName": "$s13SendbirdUIKit30SBUMessageThreadViewControllerC12updateStyles13needsToLayoutySb_tF", + "moduleName": "SendbirdUIKit", + "overriding": true, + "isOpen": true, + "objc_name": "updateStylesWithNeedsToLayout:", + "declAttributes": [ + "ObjC", + "Custom", + "Override", + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, { "kind": "Function", "name": "updateStyles", @@ -259900,6 +266691,53 @@ ], "funcSelfKind": "NonMutating" }, + { + "kind": "Function", + "name": "picker", + "printedName": "picker(_:didFinishPicking:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "PHPickerViewController", + "printedName": "PhotosUI.PHPickerViewController", + "usr": "c:objc(cs)PHPickerViewController" + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[PhotosUI.PHPickerResult]", + "children": [ + { + "kind": "TypeNominal", + "name": "PHPickerResult", + "printedName": "PhotosUI.PHPickerResult", + "usr": "s:8PhotosUI14PHPickerResultV" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Func", + "usr": "s:13SendbirdUIKit30SBUMessageThreadViewControllerC6picker_16didFinishPickingySo08PHPickereF0C_Say8PhotosUI0K6ResultVGtF", + "mangledName": "$s13SendbirdUIKit30SBUMessageThreadViewControllerC6picker_16didFinishPickingySo08PHPickereF0C_Say8PhotosUI0K6ResultVGtF", + "moduleName": "SendbirdUIKit", + "overriding": true, + "isOpen": true, + "intro_iOS": "14", + "declAttributes": [ + "Custom", + "AccessControl", + "Override", + "Available", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, { "kind": "Function", "name": "showVoiceMessageInput", @@ -260152,6 +266990,47 @@ ], "funcSelfKind": "NonMutating" }, + { + "kind": "Function", + "name": "messageThreadViewModel", + "printedName": "messageThreadViewModel(_:didFinishUploadingFileAt:multipleFilesMessageRequestId:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "SBUMessageThreadViewModel", + "printedName": "SendbirdUIKit.SBUMessageThreadViewModel", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMessageThreadViewModel" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Func", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMessageThreadViewController(im)messageThreadViewModel:didFinishUploadingFileAt:multipleFilesMessageRequestId:", + "mangledName": "$s13SendbirdUIKit30SBUMessageThreadViewControllerC07messagedE5Model_24didFinishUploadingFileAt29multipleFilesMessageRequestIdyAA0cdeH0C_SiSStF", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "Custom", + "AccessControl", + "RawDocComment", + "ObjC" + ], + "funcSelfKind": "NonMutating" + }, { "kind": "Function", "name": "baseChannelModule", @@ -260436,6 +267315,100 @@ ], "funcSelfKind": "NonMutating" }, + { + "kind": "Function", + "name": "messageThreadModule", + "printedName": "messageThreadModule(_:didSelectFileAt:multipleFilesMessageCell:forRowAt:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "List", + "printedName": "SendbirdUIKit.SBUMessageThreadModule.List", + "usr": "s:13SendbirdUIKit22SBUMessageThreadModuleC4ListC" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "SBUMultipleFilesMessageCell", + "printedName": "SendbirdUIKit.SBUMultipleFilesMessageCell", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCell" + }, + { + "kind": "TypeNominal", + "name": "IndexPath", + "printedName": "Foundation.IndexPath", + "usr": "s:10Foundation9IndexPathV" + } + ], + "declKind": "Func", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMessageThreadViewController(im)messageThreadModule:didSelectFileAt:multipleFilesMessageCell:forRowAt:", + "mangledName": "$s13SendbirdUIKit30SBUMessageThreadViewControllerC07messageD6Module_15didSelectFileAt24multipleFilesMessageCell06forRowL0yAA0cdH0C4ListC_SiAA011SBUMultiplenoP0C10Foundation9IndexPathVtF", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "Custom", + "AccessControl", + "RawDocComment", + "ObjC" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "messageThreadModule", + "printedName": "messageThreadModule(_:uploadedFileInfo:message:index:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "List", + "printedName": "SendbirdUIKit.SBUMessageThreadModule.List", + "usr": "s:13SendbirdUIKit22SBUMessageThreadModuleC4ListC" + }, + { + "kind": "TypeNominal", + "name": "UploadedFileInfo", + "printedName": "SendbirdChatSDK.UploadedFileInfo", + "usr": "c:@M@SendbirdChatSDK@objc(cs)SBDUploadedFileInfo" + }, + { + "kind": "TypeNominal", + "name": "MultipleFilesMessage", + "printedName": "SendbirdChatSDK.MultipleFilesMessage", + "usr": "c:@M@SendbirdChatSDK@objc(cs)SBDMultipleFilesMessage" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Func", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMessageThreadViewController(im)messageThreadModule:uploadedFileInfo:message:index:", + "mangledName": "$s13SendbirdUIKit30SBUMessageThreadViewControllerC07messageD6Module_16uploadedFileInfo0G05indexyAA0cdH0C4ListC_0A7ChatSDK08UploadedjK0CAL20MultipleFilesMessageCSitF", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "Custom", + "AccessControl", + "RawDocComment", + "ObjC" + ], + "funcSelfKind": "NonMutating" + }, { "kind": "Function", "name": "baseChannelModule", @@ -260680,7 +267653,7 @@ { "kind": "Function", "name": "messageThreadModule", - "printedName": "messageThreadModule(_:didTapSend:mentionedMessageTemplate:mentionedUserIds:parentMessage:)", + "printedName": "messageThreadModule(_:didPickMultipleFiles:parentMessage:)", "children": [ { "kind": "TypeNominal", @@ -260693,55 +267666,35 @@ "printedName": "SendbirdUIKit.SBUMessageThreadModule.Input", "usr": "s:13SendbirdUIKit22SBUMessageThreadModuleC5InputC" }, - { - "kind": "TypeNominal", - "name": "String", - "printedName": "Swift.String", - "usr": "s:SS" - }, - { - "kind": "TypeNominal", - "name": "String", - "printedName": "Swift.String", - "usr": "s:SS" - }, { "kind": "TypeNominal", "name": "Array", - "printedName": "[Swift.String]", + "printedName": "[SendbirdChatSDK.UploadableFileInfo]", "children": [ { "kind": "TypeNominal", - "name": "String", - "printedName": "Swift.String", - "usr": "s:SS" + "name": "UploadableFileInfo", + "printedName": "SendbirdChatSDK.UploadableFileInfo", + "usr": "c:@M@SendbirdChatSDK@objc(cs)SBDUploadableFileInfo" } ], "usr": "s:Sa" }, { "kind": "TypeNominal", - "name": "Optional", - "printedName": "SendbirdChatSDK.BaseMessage?", - "children": [ - { - "kind": "TypeNominal", - "name": "BaseMessage", - "printedName": "SendbirdChatSDK.BaseMessage", - "usr": "c:@M@SendbirdChatSDK@objc(cs)SBDBaseMessage" - } - ], - "usr": "s:Sq" + "name": "BaseMessage", + "printedName": "SendbirdChatSDK.BaseMessage", + "usr": "c:@M@SendbirdChatSDK@objc(cs)SBDBaseMessage" } ], "declKind": "Func", - "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMessageThreadViewController(im)messageThreadModule:didTapSend:mentionedMessageTemplate:mentionedUserIds:parentMessage:", - "mangledName": "$s13SendbirdUIKit30SBUMessageThreadViewControllerC07messageD6Module_10didTapSend24mentionedMessageTemplate0L7UserIds06parentM0yAA0cdH0C5InputC_S2SSaySSG0A7ChatSDK04BaseM0CSgtF", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMessageThreadViewController(im)messageThreadModule:didPickMultipleFiles:parentMessage:", + "mangledName": "$s13SendbirdUIKit30SBUMessageThreadViewControllerC07messageD6Module_20didPickMultipleFiles13parentMessageyAA0cdH0C5InputC_Say0A7ChatSDK18UploadableFileInfoCGAK04BaseN0CtF", "moduleName": "SendbirdUIKit", - "isOpen": true, "declAttributes": [ "Custom", "AccessControl", + "RawDocComment", "ObjC" ], "funcSelfKind": "NonMutating" @@ -260749,7 +267702,76 @@ { "kind": "Function", "name": "messageThreadModule", - "printedName": "messageThreadModule(_:didTapEdit:mentionedMessageTemplate:mentionedUserIds:)", + "printedName": "messageThreadModule(_:didTapSend:mentionedMessageTemplate:mentionedUserIds:parentMessage:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Input", + "printedName": "SendbirdUIKit.SBUMessageThreadModule.Input", + "usr": "s:13SendbirdUIKit22SBUMessageThreadModuleC5InputC" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.String]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "usr": "s:Sa" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "SendbirdChatSDK.BaseMessage?", + "children": [ + { + "kind": "TypeNominal", + "name": "BaseMessage", + "printedName": "SendbirdChatSDK.BaseMessage", + "usr": "c:@M@SendbirdChatSDK@objc(cs)SBDBaseMessage" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Func", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMessageThreadViewController(im)messageThreadModule:didTapSend:mentionedMessageTemplate:mentionedUserIds:parentMessage:", + "mangledName": "$s13SendbirdUIKit30SBUMessageThreadViewControllerC07messageD6Module_10didTapSend24mentionedMessageTemplate0L7UserIds06parentM0yAA0cdH0C5InputC_S2SSaySSG0A7ChatSDK04BaseM0CSgtF", + "moduleName": "SendbirdUIKit", + "isOpen": true, + "declAttributes": [ + "Custom", + "AccessControl", + "ObjC" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "messageThreadModule", + "printedName": "messageThreadModule(_:didTapEdit:mentionedMessageTemplate:mentionedUserIds:)", "children": [ { "kind": "TypeNominal", @@ -261852,6 +268874,19 @@ "AccessControl" ] }, + { + "kind": "TypeDecl", + "name": "SBUFileData", + "printedName": "SBUFileData", + "declKind": "Struct", + "usr": "s:13SendbirdUIKit11SBUFileDataV", + "mangledName": "$s13SendbirdUIKit11SBUFileDataV", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ] + }, { "kind": "TypeDecl", "name": "SBUFileViewController", @@ -262528,50 +269563,54 @@ "moduleName": "SendbirdUIKit", "declAttributes": [ "Custom", + "Convenience", "AccessControl", "Required", "RawDocComment" ], - "init_kind": "Designated" + "init_kind": "Convenience" }, { "kind": "Constructor", "name": "init", - "printedName": "init(coder:)", + "printedName": "init(fileData:delegate:)", "children": [ + { + "kind": "TypeNominal", + "name": "SBUFileViewController", + "printedName": "SendbirdUIKit.SBUFileViewController", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUFileViewController" + }, + { + "kind": "TypeNominal", + "name": "SBUFileData", + "printedName": "SendbirdUIKit.SBUFileData", + "usr": "s:13SendbirdUIKit11SBUFileDataV" + }, { "kind": "TypeNominal", "name": "Optional", - "printedName": "SendbirdUIKit.SBUFileViewController?", + "printedName": "SendbirdUIKit.SBUFileViewControllerDelegate?", "children": [ { "kind": "TypeNominal", - "name": "SBUFileViewController", - "printedName": "SendbirdUIKit.SBUFileViewController", - "usr": "c:@M@SendbirdUIKit@objc(cs)SBUFileViewController" + "name": "SBUFileViewControllerDelegate", + "printedName": "SendbirdUIKit.SBUFileViewControllerDelegate", + "usr": "s:13SendbirdUIKit29SBUFileViewControllerDelegateP" } ], "usr": "s:Sq" - }, - { - "kind": "TypeNominal", - "name": "NSCoder", - "printedName": "Foundation.NSCoder", - "usr": "c:objc(cs)NSCoder" } ], "declKind": "Constructor", - "usr": "c:@M@SendbirdUIKit@objc(cs)SBUFileViewController(im)initWithCoder:", - "mangledName": "$s13SendbirdUIKit21SBUFileViewControllerC5coderACSgSo7NSCoderC_tcfc", + "usr": "s:13SendbirdUIKit21SBUFileViewControllerC8fileData8delegateAcA0cG0V_AA0cdE8Delegate_pSgtcfc", + "mangledName": "$s13SendbirdUIKit21SBUFileViewControllerC8fileData8delegateAcA0cG0V_AA0cdE8Delegate_pSgtcfc", "moduleName": "SendbirdUIKit", - "overriding": true, - "objc_name": "initWithCoder:", "declAttributes": [ - "Dynamic", - "ObjC", "Custom", "AccessControl", - "Required" + "Required", + "RawDocComment" ], "init_kind": "Designated" }, @@ -284287,7 +291326,7 @@ { "kind": "Constructor", "name": "init", - "printedName": "init(backgroundColor:leftBackgroundColor:leftPressedBackgroundColor:rightBackgroundColor:rightPressedBackgroundColor:openChannelBackgroundColor:openChannelPressedBackgroundColor:dateFont:dateTextColor:dateBackgroundColor:userPlaceholderBackgroundColor:userPlaceholderTintColor:userNameFont:userNameTextColor:currentUserNameTextColor:timeFont:timeTextColor:pendingStateColor:failedStateColor:succeededStateColor:readReceiptStateColor:deliveryReceiptStateColor:userMessageFont:userMessageLeftTextColor:userMessageLeftEditTextColor:userMessageLeftHighlightTextColor:userMessageRightTextColor:userMessageRightEditTextColor:userMessageRightHighlightTextColor:fileIconBackgroundColor:fileImageBackgroundColor:fileImageIconColor:fileIconColor:fileMessageNameFont:fileMessageLeftTextColor:fileMessageRightTextColor:fileMessagePlaceholderColor:adminMessageFont:adminMessageTextColor:unknownMessageDescFont:unknownMessageDescLeftTextColor:unknownMessageDescRightTextColor:ogTitleFont:ogTitleColor:ogDescriptionFont:ogDescriptionColor:ogURLAddressFont:ogURLAddressColor:openChannelOGTitleColor:linkColor:contentBackgroundColor:pressedContentBackgroundColor:quotedMessageLeftBackgroundColor:quotedMessageRightBackgroundColor:quotedFileMessageThumbnailColor:quotedMessageTextColor:quotedMessageTextFont:repliedIconColor:repliedToTextColor:repliedToTextFont:repliedCountTextColor:repliedCountTextFont:repliedUsersMoreIconBackgroundColor:repliedUsersMoreIconTintColor:mentionTextFont:mentionLeftTextColor:mentionRightTextColor:mentionLeftTextBackgroundColor:mentionRightTextBackgroundColor:buttonBackgroundColor:buttonTitleColor:sideButtonIconColor:newMessageBadgeColor:parentInfoBackgroundColor:parentInfoUserNameTextFont:parentInfoUserNameTextColor:parentInfoDateFont:parentInfoDateTextColor:parentInfoMoreButtonTintColor:parentInfoSeparateBarColor:parentInfoReplyCountTextColor:parentInfoReplyCountTextFont:parentInfoProgressBackgroundColor:progressTrackTintColor:progressTimeFont:progressTimeRightTextColor:progressTimeLeftTextColor:statusButtonBackgroundColor:loadingButtonTintColor:playButtonTintColor:pauseButtonTintColor:)", + "printedName": "init(backgroundColor:leftBackgroundColor:leftPressedBackgroundColor:rightBackgroundColor:rightPressedBackgroundColor:openChannelBackgroundColor:openChannelPressedBackgroundColor:dateFont:dateTextColor:dateBackgroundColor:userPlaceholderBackgroundColor:userPlaceholderTintColor:userNameFont:userNameTextColor:currentUserNameTextColor:timeFont:timeTextColor:pendingStateColor:failedStateColor:succeededStateColor:readReceiptStateColor:deliveryReceiptStateColor:userMessageFont:userMessageLeftTextColor:userMessageLeftEditTextColor:userMessageLeftHighlightTextColor:userMessageRightTextColor:userMessageRightEditTextColor:userMessageRightHighlightTextColor:fileIconBackgroundColor:fileImageBackgroundColor:fileImageIconColor:fileIconColor:fileMessageNameFont:fileMessageLeftTextColor:fileMessageRightTextColor:fileMessagePlaceholderColor:adminMessageFont:adminMessageTextColor:unknownMessageDescFont:unknownMessageDescLeftTextColor:unknownMessageDescRightTextColor:ogTitleFont:ogTitleColor:ogDescriptionFont:ogDescriptionColor:ogURLAddressFont:ogURLAddressColor:openChannelOGTitleColor:linkColor:contentBackgroundColor:pressedContentBackgroundColor:quotedMessageLeftBackgroundColor:quotedMessageRightBackgroundColor:quotedFileMessageThumbnailColor:quotedMessageTextColor:quotedMessageTextFont:repliedIconColor:repliedToTextColor:repliedToTextFont:repliedCountTextColor:repliedCountTextFont:repliedUsersMoreIconBackgroundColor:repliedUsersMoreIconTintColor:mentionTextFont:mentionLeftTextColor:mentionRightTextColor:mentionLeftTextBackgroundColor:mentionRightTextBackgroundColor:buttonBackgroundColor:buttonTitleColor:sideButtonIconColor:newMessageBadgeColor:parentInfoBackgroundColor:parentInfoUserNameTextFont:parentInfoUserNameTextColor:parentInfoDateFont:parentInfoDateTextColor:parentInfoMoreButtonTintColor:parentInfoSeparateBarColor:parentInfoReplyCountTextColor:parentInfoReplyCountTextFont:parentInfoProgressBackgroundColor:progressTrackTintColor:progressTimeFont:progressTimeRightTextColor:progressTimeLeftTextColor:statusButtonBackgroundColor:loadingButtonTintColor:playButtonTintColor:pauseButtonTintColor:multipleFilesMessageFileOverlayColor:)", "children": [ { "kind": "TypeNominal", @@ -284925,6 +291964,13 @@ "hasDefaultArg": true, "usr": "c:objc(cs)UIColor" }, + { + "kind": "TypeNominal", + "name": "UIColor", + "printedName": "UIKit.UIColor", + "hasDefaultArg": true, + "usr": "c:objc(cs)UIColor" + }, { "kind": "TypeNominal", "name": "UIColor", @@ -284934,8 +291980,8 @@ } ], "declKind": "Constructor", - "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC15backgroundColor014leftBackgroundG00h7PressediG005rightiG00kjiG0011openChanneliG00lmjiG08dateFont0n4TextG00niG0015userPlaceholderiG00qr4TintG00q4NameO00qtpG0011currentUsertpG004timeO00wpG0012pendingStateG006failedyG009succeededyG0011readReceiptyG0015deliveryReceiptyG00q7MessageO00q11MessageLeftpG00q15MessageLeftEditpG00q20MessageLeftHighlightpG00q12MessageRightpG00q16MessageRightEditpG00q21MessageRightHighlightpG008fileIconiG009fileImageiG0013fileImageIconG008fileIconG0011fileMessagetO0015fileMessageLeftpG0016fileMessageRightpG0011fileMessagerG0012adminMessageO0012adminMessagepG0018unknownMessageDescO0022unknownMessageDescLeftpG0023unknownMessageDescRightpG007ogTitleO007ogTitleG0013ogDescriptionO0013ogDescriptionG0012ogURLAddressO0012ogURLAddressG00lm7OGTitleG004linkG007contentiG0014pressedContentiG0017quotedMessageLeftiG0018quotedMessageRightiG0026quotedFileMessageThumbnailG0013quotedMessagepG0013quotedMessagepO0011repliedIconG009repliedTopG009repliedTopO0012repliedCountpG0012repliedCountpO0020repliedUsersMoreIconiG0020repliedUsersMoreIconsG007mentionpO0011mentionLeftpG0012mentionRightpG0011mentionLeftpiG0012mentionRightpiG006buttoniG0011buttonTitleG0014sideButtonIconG0015newMessageBadgeG0010parentInfoiG0010parentInfovtpO0010parentInfovtpG0014parentInfoDateO0014parentInfoDatepG0020parentInfoMoreButtonsG0021parentInfoSeparateBarG0020parentInfoReplyCountpG0020parentInfoReplyCountpO0018parentInfoProgressiG0013progressTracksG0012progressTimeO0017progressTimeRightpG0016progressTimeLeftpG0012statusButtoniG0013loadingButtonsG0010playButtonsG0011pauseButtonsG0ACSo7UIColorC_A68_A68_A68_A68_A68_A68_So6UIFontCA68_A68_A68_A68_A70_A68_A68_A70_A68_A68_A68_A68_A68_A68_A70_A68_A68_A68_A68_A68_A68_A68_A68_A68_A68_A70_A68_A68_A68_A70_A68_A70_A68_A68_A70_A68_A70_A68_A70_A68_A68_A68_A68_A68_A68_A68_A68_A68_A70_A68_A68_A70_A68_A70_A68_A68_A70_A68_A68_A68_A68_A68_A68_A68_A68_A68_A70_A68_A70_A68_A68_A68_A68_A70_A68_A68_A70_A68_A68_A68_A68_A68_A68_tcfc", - "mangledName": "$s13SendbirdUIKit19SBUMessageCellThemeC15backgroundColor014leftBackgroundG00h7PressediG005rightiG00kjiG0011openChanneliG00lmjiG08dateFont0n4TextG00niG0015userPlaceholderiG00qr4TintG00q4NameO00qtpG0011currentUsertpG004timeO00wpG0012pendingStateG006failedyG009succeededyG0011readReceiptyG0015deliveryReceiptyG00q7MessageO00q11MessageLeftpG00q15MessageLeftEditpG00q20MessageLeftHighlightpG00q12MessageRightpG00q16MessageRightEditpG00q21MessageRightHighlightpG008fileIconiG009fileImageiG0013fileImageIconG008fileIconG0011fileMessagetO0015fileMessageLeftpG0016fileMessageRightpG0011fileMessagerG0012adminMessageO0012adminMessagepG0018unknownMessageDescO0022unknownMessageDescLeftpG0023unknownMessageDescRightpG007ogTitleO007ogTitleG0013ogDescriptionO0013ogDescriptionG0012ogURLAddressO0012ogURLAddressG00lm7OGTitleG004linkG007contentiG0014pressedContentiG0017quotedMessageLeftiG0018quotedMessageRightiG0026quotedFileMessageThumbnailG0013quotedMessagepG0013quotedMessagepO0011repliedIconG009repliedTopG009repliedTopO0012repliedCountpG0012repliedCountpO0020repliedUsersMoreIconiG0020repliedUsersMoreIconsG007mentionpO0011mentionLeftpG0012mentionRightpG0011mentionLeftpiG0012mentionRightpiG006buttoniG0011buttonTitleG0014sideButtonIconG0015newMessageBadgeG0010parentInfoiG0010parentInfovtpO0010parentInfovtpG0014parentInfoDateO0014parentInfoDatepG0020parentInfoMoreButtonsG0021parentInfoSeparateBarG0020parentInfoReplyCountpG0020parentInfoReplyCountpO0018parentInfoProgressiG0013progressTracksG0012progressTimeO0017progressTimeRightpG0016progressTimeLeftpG0012statusButtoniG0013loadingButtonsG0010playButtonsG0011pauseButtonsG0ACSo7UIColorC_A68_A68_A68_A68_A68_A68_So6UIFontCA68_A68_A68_A68_A70_A68_A68_A70_A68_A68_A68_A68_A68_A68_A70_A68_A68_A68_A68_A68_A68_A68_A68_A68_A68_A70_A68_A68_A68_A70_A68_A70_A68_A68_A70_A68_A70_A68_A70_A68_A68_A68_A68_A68_A68_A68_A68_A68_A70_A68_A68_A70_A68_A70_A68_A68_A70_A68_A68_A68_A68_A68_A68_A68_A68_A68_A70_A68_A70_A68_A68_A68_A68_A70_A68_A68_A70_A68_A68_A68_A68_A68_A68_tcfc", + "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC15backgroundColor014leftBackgroundG00h7PressediG005rightiG00kjiG0011openChanneliG00lmjiG08dateFont0n4TextG00niG0015userPlaceholderiG00qr4TintG00q4NameO00qtpG0011currentUsertpG004timeO00wpG0012pendingStateG006failedyG009succeededyG0011readReceiptyG0015deliveryReceiptyG00q7MessageO00q11MessageLeftpG00q15MessageLeftEditpG00q20MessageLeftHighlightpG00q12MessageRightpG00q16MessageRightEditpG00q21MessageRightHighlightpG008fileIconiG009fileImageiG0013fileImageIconG008fileIconG0011fileMessagetO0015fileMessageLeftpG0016fileMessageRightpG0011fileMessagerG0012adminMessageO0012adminMessagepG0018unknownMessageDescO0022unknownMessageDescLeftpG0023unknownMessageDescRightpG007ogTitleO007ogTitleG0013ogDescriptionO0013ogDescriptionG0012ogURLAddressO0012ogURLAddressG00lm7OGTitleG004linkG007contentiG0014pressedContentiG0017quotedMessageLeftiG0018quotedMessageRightiG0026quotedFileMessageThumbnailG0013quotedMessagepG0013quotedMessagepO0011repliedIconG009repliedTopG009repliedTopO0012repliedCountpG0012repliedCountpO0020repliedUsersMoreIconiG0020repliedUsersMoreIconsG007mentionpO0011mentionLeftpG0012mentionRightpG0011mentionLeftpiG0012mentionRightpiG006buttoniG0011buttonTitleG0014sideButtonIconG0015newMessageBadgeG0010parentInfoiG0010parentInfovtpO0010parentInfovtpG0014parentInfoDateO0014parentInfoDatepG0020parentInfoMoreButtonsG0021parentInfoSeparateBarG0020parentInfoReplyCountpG0020parentInfoReplyCountpO0018parentInfoProgressiG0013progressTracksG0012progressTimeO0017progressTimeRightpG0016progressTimeLeftpG0012statusButtoniG0013loadingButtonsG0010playButtonsG0011pauseButtonsG0031multipleFilesMessageFileOverlayG0ACSo7UIColorC_A69_A69_A69_A69_A69_A69_So6UIFontCA69_A69_A69_A69_A71_A69_A69_A71_A69_A69_A69_A69_A69_A69_A71_A69_A69_A69_A69_A69_A69_A69_A69_A69_A69_A71_A69_A69_A69_A71_A69_A71_A69_A69_A71_A69_A71_A69_A71_A69_A69_A69_A69_A69_A69_A69_A69_A69_A71_A69_A69_A71_A69_A71_A69_A69_A71_A69_A69_A69_A69_A69_A69_A69_A69_A69_A71_A69_A71_A69_A69_A69_A69_A71_A69_A69_A71_A69_A69_A69_A69_A69_A69_A69_tcfc", + "mangledName": "$s13SendbirdUIKit19SBUMessageCellThemeC15backgroundColor014leftBackgroundG00h7PressediG005rightiG00kjiG0011openChanneliG00lmjiG08dateFont0n4TextG00niG0015userPlaceholderiG00qr4TintG00q4NameO00qtpG0011currentUsertpG004timeO00wpG0012pendingStateG006failedyG009succeededyG0011readReceiptyG0015deliveryReceiptyG00q7MessageO00q11MessageLeftpG00q15MessageLeftEditpG00q20MessageLeftHighlightpG00q12MessageRightpG00q16MessageRightEditpG00q21MessageRightHighlightpG008fileIconiG009fileImageiG0013fileImageIconG008fileIconG0011fileMessagetO0015fileMessageLeftpG0016fileMessageRightpG0011fileMessagerG0012adminMessageO0012adminMessagepG0018unknownMessageDescO0022unknownMessageDescLeftpG0023unknownMessageDescRightpG007ogTitleO007ogTitleG0013ogDescriptionO0013ogDescriptionG0012ogURLAddressO0012ogURLAddressG00lm7OGTitleG004linkG007contentiG0014pressedContentiG0017quotedMessageLeftiG0018quotedMessageRightiG0026quotedFileMessageThumbnailG0013quotedMessagepG0013quotedMessagepO0011repliedIconG009repliedTopG009repliedTopO0012repliedCountpG0012repliedCountpO0020repliedUsersMoreIconiG0020repliedUsersMoreIconsG007mentionpO0011mentionLeftpG0012mentionRightpG0011mentionLeftpiG0012mentionRightpiG006buttoniG0011buttonTitleG0014sideButtonIconG0015newMessageBadgeG0010parentInfoiG0010parentInfovtpO0010parentInfovtpG0014parentInfoDateO0014parentInfoDatepG0020parentInfoMoreButtonsG0021parentInfoSeparateBarG0020parentInfoReplyCountpG0020parentInfoReplyCountpO0018parentInfoProgressiG0013progressTracksG0012progressTimeO0017progressTimeRightpG0016progressTimeLeftpG0012statusButtoniG0013loadingButtonsG0010playButtonsG0011pauseButtonsG0031multipleFilesMessageFileOverlayG0ACSo7UIColorC_A69_A69_A69_A69_A69_A69_So6UIFontCA69_A69_A69_A69_A71_A69_A69_A71_A69_A69_A69_A69_A69_A69_A71_A69_A69_A69_A69_A69_A69_A69_A69_A69_A69_A71_A69_A69_A69_A71_A69_A71_A69_A69_A71_A69_A71_A69_A71_A69_A69_A69_A69_A69_A69_A69_A69_A69_A71_A69_A69_A71_A69_A71_A69_A69_A71_A69_A69_A69_A69_A69_A69_A69_A69_A69_A71_A69_A71_A69_A69_A69_A69_A71_A69_A69_A71_A69_A69_A69_A69_A69_A69_A69_tcfc", "moduleName": "SendbirdUIKit", "declAttributes": [ "AccessControl" @@ -288095,94 +295141,8 @@ }, { "kind": "Var", - "name": "adminMessageFont", - "printedName": "adminMessageFont", - "children": [ - { - "kind": "TypeNominal", - "name": "UIFont", - "printedName": "UIKit.UIFont", - "usr": "c:objc(cs)UIFont" - } - ], - "declKind": "Var", - "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC16adminMessageFontSo6UIFontCvp", - "mangledName": "$s13SendbirdUIKit19SBUMessageCellThemeC16adminMessageFontSo6UIFontCvp", - "moduleName": "SendbirdUIKit", - "declAttributes": [ - "HasStorage", - "AccessControl", - "RawDocComment" - ], - "hasStorage": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "UIFont", - "printedName": "UIKit.UIFont", - "usr": "c:objc(cs)UIFont" - } - ], - "declKind": "Accessor", - "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC16adminMessageFontSo6UIFontCvg", - "mangledName": "$s13SendbirdUIKit19SBUMessageCellThemeC16adminMessageFontSo6UIFontCvg", - "moduleName": "SendbirdUIKit", - "implicit": true, - "accessorKind": "get" - }, - { - "kind": "Accessor", - "name": "Set", - "printedName": "Set()", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "UIFont", - "printedName": "UIKit.UIFont", - "usr": "c:objc(cs)UIFont" - } - ], - "declKind": "Accessor", - "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC16adminMessageFontSo6UIFontCvs", - "mangledName": "$s13SendbirdUIKit19SBUMessageCellThemeC16adminMessageFontSo6UIFontCvs", - "moduleName": "SendbirdUIKit", - "implicit": true, - "accessorKind": "set" - }, - { - "kind": "Accessor", - "name": "Modify", - "printedName": "Modify()", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - } - ], - "declKind": "Accessor", - "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC16adminMessageFontSo6UIFontCvM", - "mangledName": "$s13SendbirdUIKit19SBUMessageCellThemeC16adminMessageFontSo6UIFontCvM", - "moduleName": "SendbirdUIKit", - "implicit": true, - "accessorKind": "_modify" - } - ] - }, - { - "kind": "Var", - "name": "adminMessageTextColor", - "printedName": "adminMessageTextColor", + "name": "multipleFilesMessageFileOverlayColor", + "printedName": "multipleFilesMessageFileOverlayColor", "children": [ { "kind": "TypeNominal", @@ -288192,12 +295152,13 @@ } ], "declKind": "Var", - "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC21adminMessageTextColorSo7UIColorCvp", - "mangledName": "$s13SendbirdUIKit19SBUMessageCellThemeC21adminMessageTextColorSo7UIColorCvp", + "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC36multipleFilesMessageFileOverlayColorSo7UIColorCvp", + "mangledName": "$s13SendbirdUIKit19SBUMessageCellThemeC36multipleFilesMessageFileOverlayColorSo7UIColorCvp", "moduleName": "SendbirdUIKit", "declAttributes": [ "HasStorage", - "AccessControl" + "AccessControl", + "RawDocComment" ], "hasStorage": true, "accessors": [ @@ -288214,8 +295175,8 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC21adminMessageTextColorSo7UIColorCvg", - "mangledName": "$s13SendbirdUIKit19SBUMessageCellThemeC21adminMessageTextColorSo7UIColorCvg", + "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC36multipleFilesMessageFileOverlayColorSo7UIColorCvg", + "mangledName": "$s13SendbirdUIKit19SBUMessageCellThemeC36multipleFilesMessageFileOverlayColorSo7UIColorCvg", "moduleName": "SendbirdUIKit", "implicit": true, "accessorKind": "get" @@ -288238,8 +295199,8 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC21adminMessageTextColorSo7UIColorCvs", - "mangledName": "$s13SendbirdUIKit19SBUMessageCellThemeC21adminMessageTextColorSo7UIColorCvs", + "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC36multipleFilesMessageFileOverlayColorSo7UIColorCvs", + "mangledName": "$s13SendbirdUIKit19SBUMessageCellThemeC36multipleFilesMessageFileOverlayColorSo7UIColorCvs", "moduleName": "SendbirdUIKit", "implicit": true, "accessorKind": "set" @@ -288256,8 +295217,8 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC21adminMessageTextColorSo7UIColorCvM", - "mangledName": "$s13SendbirdUIKit19SBUMessageCellThemeC21adminMessageTextColorSo7UIColorCvM", + "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC36multipleFilesMessageFileOverlayColorSo7UIColorCvM", + "mangledName": "$s13SendbirdUIKit19SBUMessageCellThemeC36multipleFilesMessageFileOverlayColorSo7UIColorCvM", "moduleName": "SendbirdUIKit", "implicit": true, "accessorKind": "_modify" @@ -288266,8 +295227,8 @@ }, { "kind": "Var", - "name": "unknownMessageDescFont", - "printedName": "unknownMessageDescFont", + "name": "adminMessageFont", + "printedName": "adminMessageFont", "children": [ { "kind": "TypeNominal", @@ -288277,8 +295238,8 @@ } ], "declKind": "Var", - "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC22unknownMessageDescFontSo6UIFontCvp", - "mangledName": "$s13SendbirdUIKit19SBUMessageCellThemeC22unknownMessageDescFontSo6UIFontCvp", + "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC16adminMessageFontSo6UIFontCvp", + "mangledName": "$s13SendbirdUIKit19SBUMessageCellThemeC16adminMessageFontSo6UIFontCvp", "moduleName": "SendbirdUIKit", "declAttributes": [ "HasStorage", @@ -288300,8 +295261,8 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC22unknownMessageDescFontSo6UIFontCvg", - "mangledName": "$s13SendbirdUIKit19SBUMessageCellThemeC22unknownMessageDescFontSo6UIFontCvg", + "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC16adminMessageFontSo6UIFontCvg", + "mangledName": "$s13SendbirdUIKit19SBUMessageCellThemeC16adminMessageFontSo6UIFontCvg", "moduleName": "SendbirdUIKit", "implicit": true, "accessorKind": "get" @@ -288324,8 +295285,8 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC22unknownMessageDescFontSo6UIFontCvs", - "mangledName": "$s13SendbirdUIKit19SBUMessageCellThemeC22unknownMessageDescFontSo6UIFontCvs", + "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC16adminMessageFontSo6UIFontCvs", + "mangledName": "$s13SendbirdUIKit19SBUMessageCellThemeC16adminMessageFontSo6UIFontCvs", "moduleName": "SendbirdUIKit", "implicit": true, "accessorKind": "set" @@ -288342,8 +295303,8 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC22unknownMessageDescFontSo6UIFontCvM", - "mangledName": "$s13SendbirdUIKit19SBUMessageCellThemeC22unknownMessageDescFontSo6UIFontCvM", + "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC16adminMessageFontSo6UIFontCvM", + "mangledName": "$s13SendbirdUIKit19SBUMessageCellThemeC16adminMessageFontSo6UIFontCvM", "moduleName": "SendbirdUIKit", "implicit": true, "accessorKind": "_modify" @@ -288352,8 +295313,8 @@ }, { "kind": "Var", - "name": "unknownMessageDescLeftTextColor", - "printedName": "unknownMessageDescLeftTextColor", + "name": "adminMessageTextColor", + "printedName": "adminMessageTextColor", "children": [ { "kind": "TypeNominal", @@ -288363,8 +295324,8 @@ } ], "declKind": "Var", - "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC31unknownMessageDescLeftTextColorSo7UIColorCvp", - "mangledName": "$s13SendbirdUIKit19SBUMessageCellThemeC31unknownMessageDescLeftTextColorSo7UIColorCvp", + "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC21adminMessageTextColorSo7UIColorCvp", + "mangledName": "$s13SendbirdUIKit19SBUMessageCellThemeC21adminMessageTextColorSo7UIColorCvp", "moduleName": "SendbirdUIKit", "declAttributes": [ "HasStorage", @@ -288385,8 +295346,8 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC31unknownMessageDescLeftTextColorSo7UIColorCvg", - "mangledName": "$s13SendbirdUIKit19SBUMessageCellThemeC31unknownMessageDescLeftTextColorSo7UIColorCvg", + "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC21adminMessageTextColorSo7UIColorCvg", + "mangledName": "$s13SendbirdUIKit19SBUMessageCellThemeC21adminMessageTextColorSo7UIColorCvg", "moduleName": "SendbirdUIKit", "implicit": true, "accessorKind": "get" @@ -288409,8 +295370,8 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC31unknownMessageDescLeftTextColorSo7UIColorCvs", - "mangledName": "$s13SendbirdUIKit19SBUMessageCellThemeC31unknownMessageDescLeftTextColorSo7UIColorCvs", + "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC21adminMessageTextColorSo7UIColorCvs", + "mangledName": "$s13SendbirdUIKit19SBUMessageCellThemeC21adminMessageTextColorSo7UIColorCvs", "moduleName": "SendbirdUIKit", "implicit": true, "accessorKind": "set" @@ -288427,8 +295388,8 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC31unknownMessageDescLeftTextColorSo7UIColorCvM", - "mangledName": "$s13SendbirdUIKit19SBUMessageCellThemeC31unknownMessageDescLeftTextColorSo7UIColorCvM", + "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC21adminMessageTextColorSo7UIColorCvM", + "mangledName": "$s13SendbirdUIKit19SBUMessageCellThemeC21adminMessageTextColorSo7UIColorCvM", "moduleName": "SendbirdUIKit", "implicit": true, "accessorKind": "_modify" @@ -288437,23 +295398,24 @@ }, { "kind": "Var", - "name": "unknownMessageDescRightTextColor", - "printedName": "unknownMessageDescRightTextColor", + "name": "unknownMessageDescFont", + "printedName": "unknownMessageDescFont", "children": [ { "kind": "TypeNominal", - "name": "UIColor", - "printedName": "UIKit.UIColor", - "usr": "c:objc(cs)UIColor" + "name": "UIFont", + "printedName": "UIKit.UIFont", + "usr": "c:objc(cs)UIFont" } ], "declKind": "Var", - "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC32unknownMessageDescRightTextColorSo7UIColorCvp", - "mangledName": "$s13SendbirdUIKit19SBUMessageCellThemeC32unknownMessageDescRightTextColorSo7UIColorCvp", + "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC22unknownMessageDescFontSo6UIFontCvp", + "mangledName": "$s13SendbirdUIKit19SBUMessageCellThemeC22unknownMessageDescFontSo6UIFontCvp", "moduleName": "SendbirdUIKit", "declAttributes": [ "HasStorage", - "AccessControl" + "AccessControl", + "RawDocComment" ], "hasStorage": true, "accessors": [ @@ -288464,14 +295426,14 @@ "children": [ { "kind": "TypeNominal", - "name": "UIColor", - "printedName": "UIKit.UIColor", - "usr": "c:objc(cs)UIColor" + "name": "UIFont", + "printedName": "UIKit.UIFont", + "usr": "c:objc(cs)UIFont" } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC32unknownMessageDescRightTextColorSo7UIColorCvg", - "mangledName": "$s13SendbirdUIKit19SBUMessageCellThemeC32unknownMessageDescRightTextColorSo7UIColorCvg", + "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC22unknownMessageDescFontSo6UIFontCvg", + "mangledName": "$s13SendbirdUIKit19SBUMessageCellThemeC22unknownMessageDescFontSo6UIFontCvg", "moduleName": "SendbirdUIKit", "implicit": true, "accessorKind": "get" @@ -288488,14 +295450,14 @@ }, { "kind": "TypeNominal", - "name": "UIColor", - "printedName": "UIKit.UIColor", - "usr": "c:objc(cs)UIColor" + "name": "UIFont", + "printedName": "UIKit.UIFont", + "usr": "c:objc(cs)UIFont" } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC32unknownMessageDescRightTextColorSo7UIColorCvs", - "mangledName": "$s13SendbirdUIKit19SBUMessageCellThemeC32unknownMessageDescRightTextColorSo7UIColorCvs", + "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC22unknownMessageDescFontSo6UIFontCvs", + "mangledName": "$s13SendbirdUIKit19SBUMessageCellThemeC22unknownMessageDescFontSo6UIFontCvs", "moduleName": "SendbirdUIKit", "implicit": true, "accessorKind": "set" @@ -288512,8 +295474,8 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC32unknownMessageDescRightTextColorSo7UIColorCvM", - "mangledName": "$s13SendbirdUIKit19SBUMessageCellThemeC32unknownMessageDescRightTextColorSo7UIColorCvM", + "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC22unknownMessageDescFontSo6UIFontCvM", + "mangledName": "$s13SendbirdUIKit19SBUMessageCellThemeC22unknownMessageDescFontSo6UIFontCvM", "moduleName": "SendbirdUIKit", "implicit": true, "accessorKind": "_modify" @@ -288522,8 +295484,8 @@ }, { "kind": "Var", - "name": "messageLeftHighlightTextColor", - "printedName": "messageLeftHighlightTextColor", + "name": "unknownMessageDescLeftTextColor", + "printedName": "unknownMessageDescLeftTextColor", "children": [ { "kind": "TypeNominal", @@ -288533,13 +295495,12 @@ } ], "declKind": "Var", - "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC29messageLeftHighlightTextColorSo7UIColorCvp", - "mangledName": "$s13SendbirdUIKit19SBUMessageCellThemeC29messageLeftHighlightTextColorSo7UIColorCvp", + "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC31unknownMessageDescLeftTextColorSo7UIColorCvp", + "mangledName": "$s13SendbirdUIKit19SBUMessageCellThemeC31unknownMessageDescLeftTextColorSo7UIColorCvp", "moduleName": "SendbirdUIKit", "declAttributes": [ "HasStorage", - "AccessControl", - "RawDocComment" + "AccessControl" ], "hasStorage": true, "accessors": [ @@ -288556,8 +295517,179 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC29messageLeftHighlightTextColorSo7UIColorCvg", - "mangledName": "$s13SendbirdUIKit19SBUMessageCellThemeC29messageLeftHighlightTextColorSo7UIColorCvg", + "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC31unknownMessageDescLeftTextColorSo7UIColorCvg", + "mangledName": "$s13SendbirdUIKit19SBUMessageCellThemeC31unknownMessageDescLeftTextColorSo7UIColorCvg", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "UIColor", + "printedName": "UIKit.UIColor", + "usr": "c:objc(cs)UIColor" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC31unknownMessageDescLeftTextColorSo7UIColorCvs", + "mangledName": "$s13SendbirdUIKit19SBUMessageCellThemeC31unknownMessageDescLeftTextColorSo7UIColorCvs", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC31unknownMessageDescLeftTextColorSo7UIColorCvM", + "mangledName": "$s13SendbirdUIKit19SBUMessageCellThemeC31unknownMessageDescLeftTextColorSo7UIColorCvM", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "unknownMessageDescRightTextColor", + "printedName": "unknownMessageDescRightTextColor", + "children": [ + { + "kind": "TypeNominal", + "name": "UIColor", + "printedName": "UIKit.UIColor", + "usr": "c:objc(cs)UIColor" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC32unknownMessageDescRightTextColorSo7UIColorCvp", + "mangledName": "$s13SendbirdUIKit19SBUMessageCellThemeC32unknownMessageDescRightTextColorSo7UIColorCvp", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "HasStorage", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "UIColor", + "printedName": "UIKit.UIColor", + "usr": "c:objc(cs)UIColor" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC32unknownMessageDescRightTextColorSo7UIColorCvg", + "mangledName": "$s13SendbirdUIKit19SBUMessageCellThemeC32unknownMessageDescRightTextColorSo7UIColorCvg", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "UIColor", + "printedName": "UIKit.UIColor", + "usr": "c:objc(cs)UIColor" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC32unknownMessageDescRightTextColorSo7UIColorCvs", + "mangledName": "$s13SendbirdUIKit19SBUMessageCellThemeC32unknownMessageDescRightTextColorSo7UIColorCvs", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC32unknownMessageDescRightTextColorSo7UIColorCvM", + "mangledName": "$s13SendbirdUIKit19SBUMessageCellThemeC32unknownMessageDescRightTextColorSo7UIColorCvM", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "messageLeftHighlightTextColor", + "printedName": "messageLeftHighlightTextColor", + "children": [ + { + "kind": "TypeNominal", + "name": "UIColor", + "printedName": "UIKit.UIColor", + "usr": "c:objc(cs)UIColor" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC29messageLeftHighlightTextColorSo7UIColorCvp", + "mangledName": "$s13SendbirdUIKit19SBUMessageCellThemeC29messageLeftHighlightTextColorSo7UIColorCvp", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "UIColor", + "printedName": "UIKit.UIColor", + "usr": "c:objc(cs)UIColor" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC29messageLeftHighlightTextColorSo7UIColorCvg", + "mangledName": "$s13SendbirdUIKit19SBUMessageCellThemeC29messageLeftHighlightTextColorSo7UIColorCvg", "moduleName": "SendbirdUIKit", "implicit": true, "accessorKind": "get" @@ -316711,7 +323843,7 @@ "children": [ { "kind": "TypeNominal", - "name": "ImplicitlyUnwrappedOptional", + "name": "Optional", "printedName": "UIKit.NSLayoutConstraint?", "children": [ { @@ -316743,7 +323875,7 @@ "children": [ { "kind": "TypeNominal", - "name": "ImplicitlyUnwrappedOptional", + "name": "Optional", "printedName": "UIKit.NSLayoutConstraint?", "children": [ { @@ -316775,7 +323907,7 @@ }, { "kind": "TypeNominal", - "name": "ImplicitlyUnwrappedOptional", + "name": "Optional", "printedName": "UIKit.NSLayoutConstraint?", "children": [ { @@ -316822,7 +323954,7 @@ "children": [ { "kind": "TypeNominal", - "name": "ImplicitlyUnwrappedOptional", + "name": "Optional", "printedName": "UIKit.NSLayoutConstraint?", "children": [ { @@ -316854,7 +323986,7 @@ "children": [ { "kind": "TypeNominal", - "name": "ImplicitlyUnwrappedOptional", + "name": "Optional", "printedName": "UIKit.NSLayoutConstraint?", "children": [ { @@ -316886,7 +324018,7 @@ }, { "kind": "TypeNominal", - "name": "ImplicitlyUnwrappedOptional", + "name": "Optional", "printedName": "UIKit.NSLayoutConstraint?", "children": [ { @@ -319928,228 +327060,6 @@ } ] }, - { - "kind": "Var", - "name": "textLeftConstraint", - "printedName": "textLeftConstraint", - "children": [ - { - "kind": "TypeNominal", - "name": "ImplicitlyUnwrappedOptional", - "printedName": "UIKit.NSLayoutConstraint?", - "children": [ - { - "kind": "TypeNominal", - "name": "NSLayoutConstraint", - "printedName": "UIKit.NSLayoutConstraint", - "usr": "c:objc(cs)NSLayoutConstraint" - } - ], - "usr": "s:Sq" - } - ], - "declKind": "Var", - "usr": "s:13SendbirdUIKit22SBUUserMessageTextViewC18textLeftConstraintSo08NSLayoutI0CSgvp", - "mangledName": "$s13SendbirdUIKit22SBUUserMessageTextViewC18textLeftConstraintSo08NSLayoutI0CSgvp", - "moduleName": "SendbirdUIKit", - "declAttributes": [ - "Custom", - "HasInitialValue", - "HasStorage", - "AccessControl" - ], - "hasStorage": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "ImplicitlyUnwrappedOptional", - "printedName": "UIKit.NSLayoutConstraint?", - "children": [ - { - "kind": "TypeNominal", - "name": "NSLayoutConstraint", - "printedName": "UIKit.NSLayoutConstraint", - "usr": "c:objc(cs)NSLayoutConstraint" - } - ], - "usr": "s:Sq" - } - ], - "declKind": "Accessor", - "usr": "s:13SendbirdUIKit22SBUUserMessageTextViewC18textLeftConstraintSo08NSLayoutI0CSgvg", - "mangledName": "$s13SendbirdUIKit22SBUUserMessageTextViewC18textLeftConstraintSo08NSLayoutI0CSgvg", - "moduleName": "SendbirdUIKit", - "implicit": true, - "accessorKind": "get" - }, - { - "kind": "Accessor", - "name": "Set", - "printedName": "Set()", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "ImplicitlyUnwrappedOptional", - "printedName": "UIKit.NSLayoutConstraint?", - "children": [ - { - "kind": "TypeNominal", - "name": "NSLayoutConstraint", - "printedName": "UIKit.NSLayoutConstraint", - "usr": "c:objc(cs)NSLayoutConstraint" - } - ], - "usr": "s:Sq" - } - ], - "declKind": "Accessor", - "usr": "s:13SendbirdUIKit22SBUUserMessageTextViewC18textLeftConstraintSo08NSLayoutI0CSgvs", - "mangledName": "$s13SendbirdUIKit22SBUUserMessageTextViewC18textLeftConstraintSo08NSLayoutI0CSgvs", - "moduleName": "SendbirdUIKit", - "implicit": true, - "accessorKind": "set" - }, - { - "kind": "Accessor", - "name": "Modify", - "printedName": "Modify()", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - } - ], - "declKind": "Accessor", - "usr": "s:13SendbirdUIKit22SBUUserMessageTextViewC18textLeftConstraintSo08NSLayoutI0CSgvM", - "mangledName": "$s13SendbirdUIKit22SBUUserMessageTextViewC18textLeftConstraintSo08NSLayoutI0CSgvM", - "moduleName": "SendbirdUIKit", - "implicit": true, - "accessorKind": "_modify" - } - ] - }, - { - "kind": "Var", - "name": "textRightConstraint", - "printedName": "textRightConstraint", - "children": [ - { - "kind": "TypeNominal", - "name": "ImplicitlyUnwrappedOptional", - "printedName": "UIKit.NSLayoutConstraint?", - "children": [ - { - "kind": "TypeNominal", - "name": "NSLayoutConstraint", - "printedName": "UIKit.NSLayoutConstraint", - "usr": "c:objc(cs)NSLayoutConstraint" - } - ], - "usr": "s:Sq" - } - ], - "declKind": "Var", - "usr": "s:13SendbirdUIKit22SBUUserMessageTextViewC19textRightConstraintSo08NSLayoutI0CSgvp", - "mangledName": "$s13SendbirdUIKit22SBUUserMessageTextViewC19textRightConstraintSo08NSLayoutI0CSgvp", - "moduleName": "SendbirdUIKit", - "declAttributes": [ - "Custom", - "HasInitialValue", - "HasStorage", - "AccessControl" - ], - "hasStorage": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "ImplicitlyUnwrappedOptional", - "printedName": "UIKit.NSLayoutConstraint?", - "children": [ - { - "kind": "TypeNominal", - "name": "NSLayoutConstraint", - "printedName": "UIKit.NSLayoutConstraint", - "usr": "c:objc(cs)NSLayoutConstraint" - } - ], - "usr": "s:Sq" - } - ], - "declKind": "Accessor", - "usr": "s:13SendbirdUIKit22SBUUserMessageTextViewC19textRightConstraintSo08NSLayoutI0CSgvg", - "mangledName": "$s13SendbirdUIKit22SBUUserMessageTextViewC19textRightConstraintSo08NSLayoutI0CSgvg", - "moduleName": "SendbirdUIKit", - "implicit": true, - "accessorKind": "get" - }, - { - "kind": "Accessor", - "name": "Set", - "printedName": "Set()", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "ImplicitlyUnwrappedOptional", - "printedName": "UIKit.NSLayoutConstraint?", - "children": [ - { - "kind": "TypeNominal", - "name": "NSLayoutConstraint", - "printedName": "UIKit.NSLayoutConstraint", - "usr": "c:objc(cs)NSLayoutConstraint" - } - ], - "usr": "s:Sq" - } - ], - "declKind": "Accessor", - "usr": "s:13SendbirdUIKit22SBUUserMessageTextViewC19textRightConstraintSo08NSLayoutI0CSgvs", - "mangledName": "$s13SendbirdUIKit22SBUUserMessageTextViewC19textRightConstraintSo08NSLayoutI0CSgvs", - "moduleName": "SendbirdUIKit", - "implicit": true, - "accessorKind": "set" - }, - { - "kind": "Accessor", - "name": "Modify", - "printedName": "Modify()", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - } - ], - "declKind": "Accessor", - "usr": "s:13SendbirdUIKit22SBUUserMessageTextViewC19textRightConstraintSo08NSLayoutI0CSgvM", - "mangledName": "$s13SendbirdUIKit22SBUUserMessageTextViewC19textRightConstraintSo08NSLayoutI0CSgvM", - "moduleName": "SendbirdUIKit", - "implicit": true, - "accessorKind": "_modify" - } - ] - }, { "kind": "Var", "name": "mentionManager", @@ -320494,6 +327404,450 @@ } ] }, + { + "kind": "Var", + "name": "textTopConstraint", + "printedName": "textTopConstraint", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "UIKit.NSLayoutConstraint?", + "children": [ + { + "kind": "TypeNominal", + "name": "NSLayoutConstraint", + "printedName": "UIKit.NSLayoutConstraint", + "usr": "c:objc(cs)NSLayoutConstraint" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit22SBUUserMessageTextViewC17textTopConstraintSo08NSLayoutI0CSgvp", + "mangledName": "$s13SendbirdUIKit22SBUUserMessageTextViewC17textTopConstraintSo08NSLayoutI0CSgvp", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "Custom", + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "UIKit.NSLayoutConstraint?", + "children": [ + { + "kind": "TypeNominal", + "name": "NSLayoutConstraint", + "printedName": "UIKit.NSLayoutConstraint", + "usr": "c:objc(cs)NSLayoutConstraint" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit22SBUUserMessageTextViewC17textTopConstraintSo08NSLayoutI0CSgvg", + "mangledName": "$s13SendbirdUIKit22SBUUserMessageTextViewC17textTopConstraintSo08NSLayoutI0CSgvg", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "UIKit.NSLayoutConstraint?", + "children": [ + { + "kind": "TypeNominal", + "name": "NSLayoutConstraint", + "printedName": "UIKit.NSLayoutConstraint", + "usr": "c:objc(cs)NSLayoutConstraint" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit22SBUUserMessageTextViewC17textTopConstraintSo08NSLayoutI0CSgvs", + "mangledName": "$s13SendbirdUIKit22SBUUserMessageTextViewC17textTopConstraintSo08NSLayoutI0CSgvs", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit22SBUUserMessageTextViewC17textTopConstraintSo08NSLayoutI0CSgvM", + "mangledName": "$s13SendbirdUIKit22SBUUserMessageTextViewC17textTopConstraintSo08NSLayoutI0CSgvM", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "textBottomConstraint", + "printedName": "textBottomConstraint", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "UIKit.NSLayoutConstraint?", + "children": [ + { + "kind": "TypeNominal", + "name": "NSLayoutConstraint", + "printedName": "UIKit.NSLayoutConstraint", + "usr": "c:objc(cs)NSLayoutConstraint" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit22SBUUserMessageTextViewC20textBottomConstraintSo08NSLayoutI0CSgvp", + "mangledName": "$s13SendbirdUIKit22SBUUserMessageTextViewC20textBottomConstraintSo08NSLayoutI0CSgvp", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "Custom", + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "UIKit.NSLayoutConstraint?", + "children": [ + { + "kind": "TypeNominal", + "name": "NSLayoutConstraint", + "printedName": "UIKit.NSLayoutConstraint", + "usr": "c:objc(cs)NSLayoutConstraint" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit22SBUUserMessageTextViewC20textBottomConstraintSo08NSLayoutI0CSgvg", + "mangledName": "$s13SendbirdUIKit22SBUUserMessageTextViewC20textBottomConstraintSo08NSLayoutI0CSgvg", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "UIKit.NSLayoutConstraint?", + "children": [ + { + "kind": "TypeNominal", + "name": "NSLayoutConstraint", + "printedName": "UIKit.NSLayoutConstraint", + "usr": "c:objc(cs)NSLayoutConstraint" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit22SBUUserMessageTextViewC20textBottomConstraintSo08NSLayoutI0CSgvs", + "mangledName": "$s13SendbirdUIKit22SBUUserMessageTextViewC20textBottomConstraintSo08NSLayoutI0CSgvs", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit22SBUUserMessageTextViewC20textBottomConstraintSo08NSLayoutI0CSgvM", + "mangledName": "$s13SendbirdUIKit22SBUUserMessageTextViewC20textBottomConstraintSo08NSLayoutI0CSgvM", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "textLeftConstraint", + "printedName": "textLeftConstraint", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "UIKit.NSLayoutConstraint?", + "children": [ + { + "kind": "TypeNominal", + "name": "NSLayoutConstraint", + "printedName": "UIKit.NSLayoutConstraint", + "usr": "c:objc(cs)NSLayoutConstraint" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit22SBUUserMessageTextViewC18textLeftConstraintSo08NSLayoutI0CSgvp", + "mangledName": "$s13SendbirdUIKit22SBUUserMessageTextViewC18textLeftConstraintSo08NSLayoutI0CSgvp", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "Custom", + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "UIKit.NSLayoutConstraint?", + "children": [ + { + "kind": "TypeNominal", + "name": "NSLayoutConstraint", + "printedName": "UIKit.NSLayoutConstraint", + "usr": "c:objc(cs)NSLayoutConstraint" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit22SBUUserMessageTextViewC18textLeftConstraintSo08NSLayoutI0CSgvg", + "mangledName": "$s13SendbirdUIKit22SBUUserMessageTextViewC18textLeftConstraintSo08NSLayoutI0CSgvg", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "UIKit.NSLayoutConstraint?", + "children": [ + { + "kind": "TypeNominal", + "name": "NSLayoutConstraint", + "printedName": "UIKit.NSLayoutConstraint", + "usr": "c:objc(cs)NSLayoutConstraint" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit22SBUUserMessageTextViewC18textLeftConstraintSo08NSLayoutI0CSgvs", + "mangledName": "$s13SendbirdUIKit22SBUUserMessageTextViewC18textLeftConstraintSo08NSLayoutI0CSgvs", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit22SBUUserMessageTextViewC18textLeftConstraintSo08NSLayoutI0CSgvM", + "mangledName": "$s13SendbirdUIKit22SBUUserMessageTextViewC18textLeftConstraintSo08NSLayoutI0CSgvM", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "textRightConstraint", + "printedName": "textRightConstraint", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "UIKit.NSLayoutConstraint?", + "children": [ + { + "kind": "TypeNominal", + "name": "NSLayoutConstraint", + "printedName": "UIKit.NSLayoutConstraint", + "usr": "c:objc(cs)NSLayoutConstraint" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit22SBUUserMessageTextViewC19textRightConstraintSo08NSLayoutI0CSgvp", + "mangledName": "$s13SendbirdUIKit22SBUUserMessageTextViewC19textRightConstraintSo08NSLayoutI0CSgvp", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "Custom", + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "UIKit.NSLayoutConstraint?", + "children": [ + { + "kind": "TypeNominal", + "name": "NSLayoutConstraint", + "printedName": "UIKit.NSLayoutConstraint", + "usr": "c:objc(cs)NSLayoutConstraint" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit22SBUUserMessageTextViewC19textRightConstraintSo08NSLayoutI0CSgvg", + "mangledName": "$s13SendbirdUIKit22SBUUserMessageTextViewC19textRightConstraintSo08NSLayoutI0CSgvg", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "UIKit.NSLayoutConstraint?", + "children": [ + { + "kind": "TypeNominal", + "name": "NSLayoutConstraint", + "printedName": "UIKit.NSLayoutConstraint", + "usr": "c:objc(cs)NSLayoutConstraint" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit22SBUUserMessageTextViewC19textRightConstraintSo08NSLayoutI0CSgvs", + "mangledName": "$s13SendbirdUIKit22SBUUserMessageTextViewC19textRightConstraintSo08NSLayoutI0CSgvs", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit22SBUUserMessageTextViewC19textRightConstraintSo08NSLayoutI0CSgvM", + "mangledName": "$s13SendbirdUIKit22SBUUserMessageTextViewC19textRightConstraintSo08NSLayoutI0CSgvM", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, { "kind": "Constructor", "name": "init", @@ -331446,6 +338800,45 @@ ], "reqNewWitnessTableEntry": true, "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "messageThreadViewModel", + "printedName": "messageThreadViewModel(_:didFinishUploadingFileAt:multipleFilesMessageRequestId:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "SBUMessageThreadViewModel", + "printedName": "SendbirdUIKit.SBUMessageThreadViewModel", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMessageThreadViewModel" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Func", + "usr": "s:13SendbirdUIKit33SBUMessageThreadViewModelDelegateP07messagedeF0_24didFinishUploadingFileAt29multipleFilesMessageRequestIdyAA0cdeF0C_SiSStF", + "mangledName": "$s13SendbirdUIKit33SBUMessageThreadViewModelDelegateP07messagedeF0_24didFinishUploadingFileAt29multipleFilesMessageRequestIdyAA0cdeF0C_SiSStF", + "moduleName": "SendbirdUIKit", + "genericSig": "<τ_0_0 where τ_0_0 : SendbirdUIKit.SBUMessageThreadViewModelDelegate>", + "sugared_genericSig": "", + "protocolReq": true, + "reqNewWitnessTableEntry": true, + "funcSelfKind": "NonMutating" } ], "declKind": "Protocol", @@ -331789,6 +339182,240 @@ } ] }, + { + "kind": "Var", + "name": "sendMultipleFilesMessageCompletionHandler", + "printedName": "sendMultipleFilesMessageCompletionHandler", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "((SendbirdChatSDK.MultipleFilesMessage?, SendbirdChatSDK.SBError?) -> ())?", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(SendbirdChatSDK.MultipleFilesMessage?, SendbirdChatSDK.SBError?) -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(SendbirdChatSDK.MultipleFilesMessage?, SendbirdChatSDK.SBError?)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "SendbirdChatSDK.MultipleFilesMessage?", + "children": [ + { + "kind": "TypeNominal", + "name": "MultipleFilesMessage", + "printedName": "SendbirdChatSDK.MultipleFilesMessage", + "usr": "c:@M@SendbirdChatSDK@objc(cs)SBDMultipleFilesMessage" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "SendbirdChatSDK.SBError?", + "children": [ + { + "kind": "TypeNominal", + "name": "SBError", + "printedName": "SendbirdChatSDK.SBError", + "usr": "c:@M@SendbirdChatSDK@objc(cs)SBError" + } + ], + "usr": "s:Sq" + } + ] + } + ] + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit25SBUMessageThreadViewModelC41sendMultipleFilesMessageCompletionHandlery0A7ChatSDK0hiJ0CSg_AE7SBErrorCSgtcSgvp", + "mangledName": "$s13SendbirdUIKit25SBUMessageThreadViewModelC41sendMultipleFilesMessageCompletionHandlery0A7ChatSDK0hiJ0CSg_AE7SBErrorCSgtcSgvp", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "((SendbirdChatSDK.MultipleFilesMessage?, SendbirdChatSDK.SBError?) -> ())?", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(SendbirdChatSDK.MultipleFilesMessage?, SendbirdChatSDK.SBError?) -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(SendbirdChatSDK.MultipleFilesMessage?, SendbirdChatSDK.SBError?)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "SendbirdChatSDK.MultipleFilesMessage?", + "children": [ + { + "kind": "TypeNominal", + "name": "MultipleFilesMessage", + "printedName": "SendbirdChatSDK.MultipleFilesMessage", + "usr": "c:@M@SendbirdChatSDK@objc(cs)SBDMultipleFilesMessage" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "SendbirdChatSDK.SBError?", + "children": [ + { + "kind": "TypeNominal", + "name": "SBError", + "printedName": "SendbirdChatSDK.SBError", + "usr": "c:@M@SendbirdChatSDK@objc(cs)SBError" + } + ], + "usr": "s:Sq" + } + ] + } + ] + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit25SBUMessageThreadViewModelC41sendMultipleFilesMessageCompletionHandlery0A7ChatSDK0hiJ0CSg_AE7SBErrorCSgtcSgvg", + "mangledName": "$s13SendbirdUIKit25SBUMessageThreadViewModelC41sendMultipleFilesMessageCompletionHandlery0A7ChatSDK0hiJ0CSg_AE7SBErrorCSgtcSgvg", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "((SendbirdChatSDK.MultipleFilesMessage?, SendbirdChatSDK.SBError?) -> ())?", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(SendbirdChatSDK.MultipleFilesMessage?, SendbirdChatSDK.SBError?) -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(SendbirdChatSDK.MultipleFilesMessage?, SendbirdChatSDK.SBError?)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "SendbirdChatSDK.MultipleFilesMessage?", + "children": [ + { + "kind": "TypeNominal", + "name": "MultipleFilesMessage", + "printedName": "SendbirdChatSDK.MultipleFilesMessage", + "usr": "c:@M@SendbirdChatSDK@objc(cs)SBDMultipleFilesMessage" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "SendbirdChatSDK.SBError?", + "children": [ + { + "kind": "TypeNominal", + "name": "SBError", + "printedName": "SendbirdChatSDK.SBError", + "usr": "c:@M@SendbirdChatSDK@objc(cs)SBError" + } + ], + "usr": "s:Sq" + } + ] + } + ] + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit25SBUMessageThreadViewModelC41sendMultipleFilesMessageCompletionHandlery0A7ChatSDK0hiJ0CSg_AE7SBErrorCSgtcSgvs", + "mangledName": "$s13SendbirdUIKit25SBUMessageThreadViewModelC41sendMultipleFilesMessageCompletionHandlery0A7ChatSDK0hiJ0CSg_AE7SBErrorCSgtcSgvs", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit25SBUMessageThreadViewModelC41sendMultipleFilesMessageCompletionHandlery0A7ChatSDK0hiJ0CSg_AE7SBErrorCSgtcSgvM", + "mangledName": "$s13SendbirdUIKit25SBUMessageThreadViewModelC41sendMultipleFilesMessageCompletionHandlery0A7ChatSDK0hiJ0CSg_AE7SBErrorCSgtcSgvM", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, { "kind": "Constructor", "name": "init", @@ -332398,6 +340025,80 @@ ], "funcSelfKind": "NonMutating" }, + { + "kind": "Function", + "name": "sendMultipleFilesMessage", + "printedName": "sendMultipleFilesMessage(fileInfoList:parentMessageId:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[SendbirdChatSDK.UploadableFileInfo]", + "children": [ + { + "kind": "TypeNominal", + "name": "UploadableFileInfo", + "printedName": "SendbirdChatSDK.UploadableFileInfo", + "usr": "c:@M@SendbirdChatSDK@objc(cs)SBDUploadableFileInfo" + } + ], + "usr": "s:Sa" + }, + { + "kind": "TypeNominal", + "name": "Int64", + "printedName": "Swift.Int64", + "usr": "s:s5Int64V" + } + ], + "declKind": "Func", + "usr": "s:13SendbirdUIKit25SBUMessageThreadViewModelC24sendMultipleFilesMessage12fileInfoList06parentJ2IdySay0A7ChatSDK014UploadableFileL0CG_s5Int64VtF", + "mangledName": "$s13SendbirdUIKit25SBUMessageThreadViewModelC24sendMultipleFilesMessage12fileInfoList06parentJ2IdySay0A7ChatSDK014UploadableFileL0CG_s5Int64VtF", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "updateMultipleFilesMessageCell", + "printedName": "updateMultipleFilesMessageCell(requestId:index:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Func", + "usr": "s:13SendbirdUIKit25SBUMessageThreadViewModelC30updateMultipleFilesMessageCell9requestId5indexySS_SitF", + "mangledName": "$s13SendbirdUIKit25SBUMessageThreadViewModelC30updateMultipleFilesMessageCell9requestId5indexySS_SitF", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, { "kind": "Function", "name": "setupSendUserMessageCompletionHandlers", @@ -333645,6 +341346,1131 @@ "declKind": "Import", "moduleName": "SendbirdUIKit" }, + { + "kind": "TypeDecl", + "name": "SBUMultipleFilesMessageCell", + "printedName": "SBUMultipleFilesMessageCell", + "children": [ + { + "kind": "Var", + "name": "multipleFilesMessage", + "printedName": "multipleFilesMessage", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "SendbirdChatSDK.MultipleFilesMessage?", + "children": [ + { + "kind": "TypeNominal", + "name": "MultipleFilesMessage", + "printedName": "SendbirdChatSDK.MultipleFilesMessage", + "usr": "c:@M@SendbirdChatSDK@objc(cs)SBDMultipleFilesMessage" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCell(py)multipleFilesMessage", + "mangledName": "$s13SendbirdUIKit27SBUMultipleFilesMessageCellC08multipledE00A7ChatSDK08MultipledE0CSgvp", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "Custom", + "AccessControl", + "ObjC" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "SendbirdChatSDK.MultipleFilesMessage?", + "children": [ + { + "kind": "TypeNominal", + "name": "MultipleFilesMessage", + "printedName": "SendbirdChatSDK.MultipleFilesMessage", + "usr": "c:@M@SendbirdChatSDK@objc(cs)SBDMultipleFilesMessage" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCell(im)multipleFilesMessage", + "mangledName": "$s13SendbirdUIKit27SBUMultipleFilesMessageCellC08multipledE00A7ChatSDK08MultipledE0CSgvg", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "ObjC" + ], + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "containerView", + "printedName": "containerView", + "children": [ + { + "kind": "TypeNominal", + "name": "UIView", + "printedName": "UIKit.UIView", + "usr": "c:objc(cs)UIView" + } + ], + "declKind": "Var", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCell(py)containerView", + "mangledName": "$s13SendbirdUIKit27SBUMultipleFilesMessageCellC13containerViewSo6UIViewCvp", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "HasInitialValue", + "Custom", + "HasStorage", + "AccessControl", + "RawDocComment", + "ObjC" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "UIView", + "printedName": "UIKit.UIView", + "usr": "c:objc(cs)UIView" + } + ], + "declKind": "Accessor", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCell(im)containerView", + "mangledName": "$s13SendbirdUIKit27SBUMultipleFilesMessageCellC13containerViewSo6UIViewCvg", + "moduleName": "SendbirdUIKit", + "implicit": true, + "declAttributes": [ + "ObjC" + ], + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "UIView", + "printedName": "UIKit.UIView", + "usr": "c:objc(cs)UIView" + } + ], + "declKind": "Accessor", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCell(im)setContainerView:", + "mangledName": "$s13SendbirdUIKit27SBUMultipleFilesMessageCellC13containerViewSo6UIViewCvs", + "moduleName": "SendbirdUIKit", + "implicit": true, + "declAttributes": [ + "ObjC" + ], + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit27SBUMultipleFilesMessageCellC13containerViewSo6UIViewCvM", + "mangledName": "$s13SendbirdUIKit27SBUMultipleFilesMessageCellC13containerViewSo6UIViewCvM", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "collectionView", + "printedName": "collectionView", + "children": [ + { + "kind": "TypeNominal", + "name": "SBUMultipleFilesMessageCollectionView", + "printedName": "SendbirdUIKit.SBUMultipleFilesMessageCollectionView", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCollectionView" + } + ], + "declKind": "Var", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCell(py)collectionView", + "mangledName": "$s13SendbirdUIKit27SBUMultipleFilesMessageCellC14collectionViewAA0cde10CollectionH0Cvp", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "Custom", + "Lazy", + "AccessControl", + "RawDocComment", + "ObjC" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "SBUMultipleFilesMessageCollectionView", + "printedName": "SendbirdUIKit.SBUMultipleFilesMessageCollectionView", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCollectionView" + } + ], + "declKind": "Accessor", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCell(im)collectionView", + "mangledName": "$s13SendbirdUIKit27SBUMultipleFilesMessageCellC14collectionViewAA0cde10CollectionH0Cvg", + "moduleName": "SendbirdUIKit", + "implicit": true, + "declAttributes": [ + "ObjC" + ], + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "SBUMultipleFilesMessageCollectionView", + "printedName": "SendbirdUIKit.SBUMultipleFilesMessageCollectionView", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCollectionView" + } + ], + "declKind": "Accessor", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCell(im)setCollectionView:", + "mangledName": "$s13SendbirdUIKit27SBUMultipleFilesMessageCellC14collectionViewAA0cde10CollectionH0Cvs", + "moduleName": "SendbirdUIKit", + "implicit": true, + "declAttributes": [ + "ObjC" + ], + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit27SBUMultipleFilesMessageCellC14collectionViewAA0cde10CollectionH0CvM", + "mangledName": "$s13SendbirdUIKit27SBUMultipleFilesMessageCellC14collectionViewAA0cde10CollectionH0CvM", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "collectionViewHeightConstraint", + "printedName": "collectionViewHeightConstraint", + "children": [ + { + "kind": "TypeNominal", + "name": "ImplicitlyUnwrappedOptional", + "printedName": "UIKit.NSLayoutConstraint?", + "children": [ + { + "kind": "TypeNominal", + "name": "NSLayoutConstraint", + "printedName": "UIKit.NSLayoutConstraint", + "usr": "c:objc(cs)NSLayoutConstraint" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCell(py)collectionViewHeightConstraint", + "mangledName": "$s13SendbirdUIKit27SBUMultipleFilesMessageCellC30collectionViewHeightConstraintSo08NSLayoutJ0CSgvp", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "HasInitialValue", + "Custom", + "HasStorage", + "SetterAccess", + "AccessControl", + "RawDocComment", + "ObjC" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "ImplicitlyUnwrappedOptional", + "printedName": "UIKit.NSLayoutConstraint?", + "children": [ + { + "kind": "TypeNominal", + "name": "NSLayoutConstraint", + "printedName": "UIKit.NSLayoutConstraint", + "usr": "c:objc(cs)NSLayoutConstraint" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCell(im)collectionViewHeightConstraint", + "mangledName": "$s13SendbirdUIKit27SBUMultipleFilesMessageCellC30collectionViewHeightConstraintSo08NSLayoutJ0CSgvg", + "moduleName": "SendbirdUIKit", + "implicit": true, + "declAttributes": [ + "ObjC" + ], + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "fileSelectHandler", + "printedName": "fileSelectHandler", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "((SendbirdChatSDK.UploadedFileInfo, Swift.Int) -> ())?", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(SendbirdChatSDK.UploadedFileInfo, Swift.Int) -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(SendbirdChatSDK.UploadedFileInfo, Swift.Int)", + "children": [ + { + "kind": "TypeNominal", + "name": "UploadedFileInfo", + "printedName": "SendbirdChatSDK.UploadedFileInfo", + "usr": "c:@M@SendbirdChatSDK@objc(cs)SBDUploadedFileInfo" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ] + } + ] + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCell(py)fileSelectHandler", + "mangledName": "$s13SendbirdUIKit27SBUMultipleFilesMessageCellC17fileSelectHandlery0A7ChatSDK16UploadedFileInfoC_SitcSgvp", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "HasInitialValue", + "Custom", + "HasStorage", + "AccessControl", + "RawDocComment", + "ObjC" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "((SendbirdChatSDK.UploadedFileInfo, Swift.Int) -> ())?", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(SendbirdChatSDK.UploadedFileInfo, Swift.Int) -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(SendbirdChatSDK.UploadedFileInfo, Swift.Int)", + "children": [ + { + "kind": "TypeNominal", + "name": "UploadedFileInfo", + "printedName": "SendbirdChatSDK.UploadedFileInfo", + "usr": "c:@M@SendbirdChatSDK@objc(cs)SBDUploadedFileInfo" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ] + } + ] + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCell(im)fileSelectHandler", + "mangledName": "$s13SendbirdUIKit27SBUMultipleFilesMessageCellC17fileSelectHandlery0A7ChatSDK16UploadedFileInfoC_SitcSgvg", + "moduleName": "SendbirdUIKit", + "implicit": true, + "declAttributes": [ + "ObjC" + ], + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "((SendbirdChatSDK.UploadedFileInfo, Swift.Int) -> ())?", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(SendbirdChatSDK.UploadedFileInfo, Swift.Int) -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(SendbirdChatSDK.UploadedFileInfo, Swift.Int)", + "children": [ + { + "kind": "TypeNominal", + "name": "UploadedFileInfo", + "printedName": "SendbirdChatSDK.UploadedFileInfo", + "usr": "c:@M@SendbirdChatSDK@objc(cs)SBDUploadedFileInfo" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ] + } + ] + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCell(im)setFileSelectHandler:", + "mangledName": "$s13SendbirdUIKit27SBUMultipleFilesMessageCellC17fileSelectHandlery0A7ChatSDK16UploadedFileInfoC_SitcSgvs", + "moduleName": "SendbirdUIKit", + "implicit": true, + "declAttributes": [ + "ObjC" + ], + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit27SBUMultipleFilesMessageCellC17fileSelectHandlery0A7ChatSDK16UploadedFileInfoC_SitcSgvM", + "mangledName": "$s13SendbirdUIKit27SBUMultipleFilesMessageCellC17fileSelectHandlery0A7ChatSDK16UploadedFileInfoC_SitcSgvM", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Function", + "name": "setupViews", + "printedName": "setupViews()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Func", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCell(im)setupViews", + "mangledName": "$s13SendbirdUIKit27SBUMultipleFilesMessageCellC10setupViewsyyF", + "moduleName": "SendbirdUIKit", + "overriding": true, + "isOpen": true, + "objc_name": "setupViews", + "declAttributes": [ + "Dynamic", + "ObjC", + "Custom", + "Override", + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "setupLayouts", + "printedName": "setupLayouts()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Func", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCell(im)setupLayouts", + "mangledName": "$s13SendbirdUIKit27SBUMultipleFilesMessageCellC12setupLayoutsyyF", + "moduleName": "SendbirdUIKit", + "overriding": true, + "isOpen": true, + "objc_name": "setupLayouts", + "declAttributes": [ + "Dynamic", + "ObjC", + "Custom", + "Override", + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "setupStyles", + "printedName": "setupStyles()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Func", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCell(im)setupStyles", + "mangledName": "$s13SendbirdUIKit27SBUMultipleFilesMessageCellC11setupStylesyyF", + "moduleName": "SendbirdUIKit", + "overriding": true, + "isOpen": true, + "objc_name": "setupStyles", + "declAttributes": [ + "Dynamic", + "ObjC", + "Custom", + "Override", + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "setupActions", + "printedName": "setupActions()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Func", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCell(im)setupActions", + "mangledName": "$s13SendbirdUIKit27SBUMultipleFilesMessageCellC12setupActionsyyF", + "moduleName": "SendbirdUIKit", + "overriding": true, + "isOpen": true, + "objc_name": "setupActions", + "declAttributes": [ + "Dynamic", + "ObjC", + "Custom", + "Override", + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "configure", + "printedName": "configure(with:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "SBUBaseMessageCellParams", + "printedName": "SendbirdUIKit.SBUBaseMessageCellParams", + "usr": "s:13SendbirdUIKit24SBUBaseMessageCellParamsC" + } + ], + "declKind": "Func", + "usr": "s:13SendbirdUIKit27SBUMultipleFilesMessageCellC9configure4withyAA07SBUBaseeF6ParamsC_tF", + "mangledName": "$s13SendbirdUIKit27SBUMultipleFilesMessageCellC9configure4withyAA07SBUBaseeF6ParamsC_tF", + "moduleName": "SendbirdUIKit", + "overriding": true, + "isOpen": true, + "declAttributes": [ + "Custom", + "Override", + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "setSelected", + "printedName": "setSelected(_:animated:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Func", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCell(im)setSelected:animated:", + "mangledName": "$s13SendbirdUIKit27SBUMultipleFilesMessageCellC11setSelected_8animatedySb_SbtF", + "moduleName": "SendbirdUIKit", + "overriding": true, + "isOpen": true, + "objc_name": "setSelected:animated:", + "declAttributes": [ + "Dynamic", + "ObjC", + "Custom", + "Override", + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(style:reuseIdentifier:)", + "children": [ + { + "kind": "TypeNominal", + "name": "SBUMultipleFilesMessageCell", + "printedName": "SendbirdUIKit.SBUMultipleFilesMessageCell", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCell" + }, + { + "kind": "TypeNominal", + "name": "CellStyle", + "printedName": "UIKit.UITableViewCell.CellStyle", + "usr": "c:@E@UITableViewCellStyle" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.String?", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Constructor", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCell(im)initWithStyle:reuseIdentifier:", + "mangledName": "$s13SendbirdUIKit27SBUMultipleFilesMessageCellC5style15reuseIdentifierACSo011UITableViewF5StyleV_SSSgtcfc", + "moduleName": "SendbirdUIKit", + "overriding": true, + "implicit": true, + "objc_name": "initWithStyle:reuseIdentifier:", + "declAttributes": [ + "Dynamic", + "ObjC", + "Custom", + "Override" + ], + "init_kind": "Designated" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(coder:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "SendbirdUIKit.SBUMultipleFilesMessageCell?", + "children": [ + { + "kind": "TypeNominal", + "name": "SBUMultipleFilesMessageCell", + "printedName": "SendbirdUIKit.SBUMultipleFilesMessageCell", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCell" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "NSCoder", + "printedName": "Foundation.NSCoder", + "usr": "c:objc(cs)NSCoder" + } + ], + "declKind": "Constructor", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCell(im)initWithCoder:", + "mangledName": "$s13SendbirdUIKit27SBUMultipleFilesMessageCellC5coderACSgSo7NSCoderC_tcfc", + "moduleName": "SendbirdUIKit", + "overriding": true, + "implicit": true, + "objc_name": "initWithCoder:", + "declAttributes": [ + "Dynamic", + "ObjC", + "Custom", + "Required" + ], + "init_kind": "Designated" + }, + { + "kind": "Function", + "name": "collectionView", + "printedName": "collectionView(_:cellForItemAt:)", + "children": [ + { + "kind": "TypeNominal", + "name": "UICollectionViewCell", + "printedName": "UIKit.UICollectionViewCell", + "usr": "c:objc(cs)UICollectionViewCell" + }, + { + "kind": "TypeNominal", + "name": "UICollectionView", + "printedName": "UIKit.UICollectionView", + "usr": "c:objc(cs)UICollectionView" + }, + { + "kind": "TypeNominal", + "name": "IndexPath", + "printedName": "Foundation.IndexPath", + "usr": "s:10Foundation9IndexPathV" + } + ], + "declKind": "Func", + "usr": "c:@CM@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCell(im)collectionView:cellForItemAtIndexPath:", + "mangledName": "$s13SendbirdUIKit27SBUMultipleFilesMessageCellC14collectionView_13cellForItemAtSo012UICollectionhF0CSo0mH0C_10Foundation9IndexPathVtF", + "moduleName": "SendbirdUIKit", + "isOpen": true, + "objc_name": "collectionView:cellForItemAtIndexPath:", + "declAttributes": [ + "Dynamic", + "ObjC", + "Custom", + "AccessControl" + ], + "isFromExtension": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "collectionView", + "printedName": "collectionView(_:numberOfItemsInSection:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "UICollectionView", + "printedName": "UIKit.UICollectionView", + "usr": "c:objc(cs)UICollectionView" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Func", + "usr": "c:@CM@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCell(im)collectionView:numberOfItemsInSection:", + "mangledName": "$s13SendbirdUIKit27SBUMultipleFilesMessageCellC14collectionView_22numberOfItemsInSectionSiSo012UICollectionH0C_SitF", + "moduleName": "SendbirdUIKit", + "isOpen": true, + "objc_name": "collectionView:numberOfItemsInSection:", + "declAttributes": [ + "Dynamic", + "ObjC", + "Custom", + "AccessControl" + ], + "isFromExtension": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "numberOfSections", + "printedName": "numberOfSections(in:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "UICollectionView", + "printedName": "UIKit.UICollectionView", + "usr": "c:objc(cs)UICollectionView" + } + ], + "declKind": "Func", + "usr": "c:@CM@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCell(im)numberOfSectionsInCollectionView:", + "mangledName": "$s13SendbirdUIKit27SBUMultipleFilesMessageCellC16numberOfSections2inSiSo16UICollectionViewC_tF", + "moduleName": "SendbirdUIKit", + "isOpen": true, + "objc_name": "numberOfSectionsInCollectionView:", + "declAttributes": [ + "Dynamic", + "ObjC", + "Custom", + "AccessControl" + ], + "isFromExtension": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "collectionView", + "printedName": "collectionView(_:didSelectItemAt:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "UICollectionView", + "printedName": "UIKit.UICollectionView", + "usr": "c:objc(cs)UICollectionView" + }, + { + "kind": "TypeNominal", + "name": "IndexPath", + "printedName": "Foundation.IndexPath", + "usr": "s:10Foundation9IndexPathV" + } + ], + "declKind": "Func", + "usr": "c:@CM@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCell(im)collectionView:didSelectItemAtIndexPath:", + "mangledName": "$s13SendbirdUIKit27SBUMultipleFilesMessageCellC14collectionView_15didSelectItemAtySo012UICollectionH0C_10Foundation9IndexPathVtF", + "moduleName": "SendbirdUIKit", + "isOpen": true, + "objc_name": "collectionView:didSelectItemAtIndexPath:", + "declAttributes": [ + "Dynamic", + "ObjC", + "Custom", + "AccessControl" + ], + "isFromExtension": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "collectionView", + "printedName": "collectionView(_:layout:sizeForItemAt:)", + "children": [ + { + "kind": "TypeNominal", + "name": "CGSize", + "printedName": "CoreFoundation.CGSize", + "usr": "c:@S@CGSize" + }, + { + "kind": "TypeNominal", + "name": "UICollectionView", + "printedName": "UIKit.UICollectionView", + "usr": "c:objc(cs)UICollectionView" + }, + { + "kind": "TypeNominal", + "name": "UICollectionViewLayout", + "printedName": "UIKit.UICollectionViewLayout", + "usr": "c:objc(cs)UICollectionViewLayout" + }, + { + "kind": "TypeNominal", + "name": "IndexPath", + "printedName": "Foundation.IndexPath", + "usr": "s:10Foundation9IndexPathV" + } + ], + "declKind": "Func", + "usr": "c:@CM@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCell(im)collectionView:layout:sizeForItemAtIndexPath:", + "mangledName": "$s13SendbirdUIKit27SBUMultipleFilesMessageCellC14collectionView_6layout13sizeForItemAtSo6CGSizeVSo012UICollectionH0C_So0oH6LayoutC10Foundation9IndexPathVtF", + "moduleName": "SendbirdUIKit", + "isOpen": true, + "objc_name": "collectionView:layout:sizeForItemAtIndexPath:", + "declAttributes": [ + "Dynamic", + "ObjC", + "Custom", + "AccessControl" + ], + "isFromExtension": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "prepareForReuse", + "printedName": "prepareForReuse()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Func", + "usr": "c:@CM@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCell(im)prepareForReuse", + "mangledName": "$s13SendbirdUIKit27SBUMultipleFilesMessageCellC15prepareForReuseyyF", + "moduleName": "SendbirdUIKit", + "overriding": true, + "isOpen": true, + "objc_name": "prepareForReuse", + "declAttributes": [ + "Dynamic", + "ObjC", + "Custom", + "Override", + "AccessControl" + ], + "isFromExtension": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Class", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCell", + "mangledName": "$s13SendbirdUIKit27SBUMultipleFilesMessageCellC", + "moduleName": "SendbirdUIKit", + "isOpen": true, + "declAttributes": [ + "Custom", + "AccessControl", + "RawDocComment", + "ObjC" + ], + "superclassUsr": "c:@M@SendbirdUIKit@objc(cs)SBUContentBaseMessageCell", + "inheritsConvenienceInitializers": true, + "superclassNames": [ + "SendbirdUIKit.SBUContentBaseMessageCell", + "SendbirdUIKit.SBUBaseMessageCell", + "SendbirdUIKit.SBUTableViewCell", + "UIKit.UITableViewCell", + "UIKit.UIView", + "UIKit.UIResponder", + "ObjectiveC.NSObject" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "SBUMessageCellProtocol", + "printedName": "SBUMessageCellProtocol", + "usr": "s:13SendbirdUIKit22SBUMessageCellProtocolP", + "mangledName": "$s13SendbirdUIKit22SBUMessageCellProtocolP" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "CVarArg", + "printedName": "CVarArg", + "usr": "s:s7CVarArgP", + "mangledName": "$ss7CVarArgP" + }, + { + "kind": "Conformance", + "name": "_KeyValueCodingAndObservingPublishing", + "printedName": "_KeyValueCodingAndObservingPublishing", + "usr": "s:10Foundation37_KeyValueCodingAndObservingPublishingP", + "mangledName": "$s10Foundation37_KeyValueCodingAndObservingPublishingP" + }, + { + "kind": "Conformance", + "name": "_KeyValueCodingAndObserving", + "printedName": "_KeyValueCodingAndObserving", + "usr": "s:10Foundation27_KeyValueCodingAndObservingP", + "mangledName": "$s10Foundation27_KeyValueCodingAndObservingP" + }, + { + "kind": "Conformance", + "name": "CustomStringConvertible", + "printedName": "CustomStringConvertible", + "usr": "s:s23CustomStringConvertibleP", + "mangledName": "$ss23CustomStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "CustomDebugStringConvertible", + "printedName": "CustomDebugStringConvertible", + "usr": "s:s28CustomDebugStringConvertibleP", + "mangledName": "$ss28CustomDebugStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + }, + { + "kind": "Conformance", + "name": "__DefaultCustomPlaygroundQuickLookable", + "printedName": "__DefaultCustomPlaygroundQuickLookable", + "usr": "s:s38__DefaultCustomPlaygroundQuickLookableP", + "mangledName": "$ss38__DefaultCustomPlaygroundQuickLookableP" + }, + { + "kind": "Conformance", + "name": "SBUViewLifeCycle", + "printedName": "SBUViewLifeCycle", + "usr": "c:@M@SendbirdUIKit@objc(pl)SBUViewLifeCycle", + "mangledName": "$s13SendbirdUIKit16SBUViewLifeCycleP" + } + ] + }, + { + "kind": "Import", + "name": "UIKit", + "printedName": "UIKit", + "declKind": "Import", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "SendbirdChatSDK", + "printedName": "SendbirdChatSDK", + "declKind": "Import", + "moduleName": "SendbirdUIKit" + }, { "kind": "TypeDecl", "name": "SBUUserListModuleHeaderDelegate", @@ -336917,6 +345743,45 @@ ], "reqNewWitnessTableEntry": true, "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "groupChannelViewModel", + "printedName": "groupChannelViewModel(_:didFinishUploadingFileAt:multipleFilesMessageRequestId:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "SBUGroupChannelViewModel", + "printedName": "SendbirdUIKit.SBUGroupChannelViewModel", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUGroupChannelViewModel" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Func", + "usr": "s:13SendbirdUIKit32SBUGroupChannelViewModelDelegateP05groupdeF0_24didFinishUploadingFileAt29multipleFilesMessageRequestIdyAA0cdeF0C_SiSStF", + "mangledName": "$s13SendbirdUIKit32SBUGroupChannelViewModelDelegateP05groupdeF0_24didFinishUploadingFileAt29multipleFilesMessageRequestIdyAA0cdeF0C_SiSStF", + "moduleName": "SendbirdUIKit", + "genericSig": "<τ_0_0 where τ_0_0 : SendbirdUIKit.SBUGroupChannelViewModelDelegate>", + "sugared_genericSig": "", + "protocolReq": true, + "reqNewWitnessTableEntry": true, + "funcSelfKind": "NonMutating" } ], "declKind": "Protocol", @@ -337154,6 +346019,240 @@ } ] }, + { + "kind": "Var", + "name": "sendMultipleFilesMessageCompletionHandler", + "printedName": "sendMultipleFilesMessageCompletionHandler", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "((SendbirdChatSDK.MultipleFilesMessage?, SendbirdChatSDK.SBError?) -> ())?", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(SendbirdChatSDK.MultipleFilesMessage?, SendbirdChatSDK.SBError?) -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(SendbirdChatSDK.MultipleFilesMessage?, SendbirdChatSDK.SBError?)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "SendbirdChatSDK.MultipleFilesMessage?", + "children": [ + { + "kind": "TypeNominal", + "name": "MultipleFilesMessage", + "printedName": "SendbirdChatSDK.MultipleFilesMessage", + "usr": "c:@M@SendbirdChatSDK@objc(cs)SBDMultipleFilesMessage" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "SendbirdChatSDK.SBError?", + "children": [ + { + "kind": "TypeNominal", + "name": "SBError", + "printedName": "SendbirdChatSDK.SBError", + "usr": "c:@M@SendbirdChatSDK@objc(cs)SBError" + } + ], + "usr": "s:Sq" + } + ] + } + ] + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit24SBUGroupChannelViewModelC41sendMultipleFilesMessageCompletionHandlery0A7ChatSDK0hiJ0CSg_AE7SBErrorCSgtcSgvp", + "mangledName": "$s13SendbirdUIKit24SBUGroupChannelViewModelC41sendMultipleFilesMessageCompletionHandlery0A7ChatSDK0hiJ0CSg_AE7SBErrorCSgtcSgvp", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "((SendbirdChatSDK.MultipleFilesMessage?, SendbirdChatSDK.SBError?) -> ())?", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(SendbirdChatSDK.MultipleFilesMessage?, SendbirdChatSDK.SBError?) -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(SendbirdChatSDK.MultipleFilesMessage?, SendbirdChatSDK.SBError?)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "SendbirdChatSDK.MultipleFilesMessage?", + "children": [ + { + "kind": "TypeNominal", + "name": "MultipleFilesMessage", + "printedName": "SendbirdChatSDK.MultipleFilesMessage", + "usr": "c:@M@SendbirdChatSDK@objc(cs)SBDMultipleFilesMessage" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "SendbirdChatSDK.SBError?", + "children": [ + { + "kind": "TypeNominal", + "name": "SBError", + "printedName": "SendbirdChatSDK.SBError", + "usr": "c:@M@SendbirdChatSDK@objc(cs)SBError" + } + ], + "usr": "s:Sq" + } + ] + } + ] + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit24SBUGroupChannelViewModelC41sendMultipleFilesMessageCompletionHandlery0A7ChatSDK0hiJ0CSg_AE7SBErrorCSgtcSgvg", + "mangledName": "$s13SendbirdUIKit24SBUGroupChannelViewModelC41sendMultipleFilesMessageCompletionHandlery0A7ChatSDK0hiJ0CSg_AE7SBErrorCSgtcSgvg", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "((SendbirdChatSDK.MultipleFilesMessage?, SendbirdChatSDK.SBError?) -> ())?", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(SendbirdChatSDK.MultipleFilesMessage?, SendbirdChatSDK.SBError?) -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(SendbirdChatSDK.MultipleFilesMessage?, SendbirdChatSDK.SBError?)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "SendbirdChatSDK.MultipleFilesMessage?", + "children": [ + { + "kind": "TypeNominal", + "name": "MultipleFilesMessage", + "printedName": "SendbirdChatSDK.MultipleFilesMessage", + "usr": "c:@M@SendbirdChatSDK@objc(cs)SBDMultipleFilesMessage" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "SendbirdChatSDK.SBError?", + "children": [ + { + "kind": "TypeNominal", + "name": "SBError", + "printedName": "SendbirdChatSDK.SBError", + "usr": "c:@M@SendbirdChatSDK@objc(cs)SBError" + } + ], + "usr": "s:Sq" + } + ] + } + ] + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit24SBUGroupChannelViewModelC41sendMultipleFilesMessageCompletionHandlery0A7ChatSDK0hiJ0CSg_AE7SBErrorCSgtcSgvs", + "mangledName": "$s13SendbirdUIKit24SBUGroupChannelViewModelC41sendMultipleFilesMessageCompletionHandlery0A7ChatSDK0hiJ0CSg_AE7SBErrorCSgtcSgvs", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit24SBUGroupChannelViewModelC41sendMultipleFilesMessageCompletionHandlery0A7ChatSDK0hiJ0CSg_AE7SBErrorCSgtcSgvM", + "mangledName": "$s13SendbirdUIKit24SBUGroupChannelViewModelC41sendMultipleFilesMessageCompletionHandlery0A7ChatSDK0hiJ0CSg_AE7SBErrorCSgtcSgvM", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, { "kind": "Constructor", "name": "init", @@ -337395,6 +346494,76 @@ ], "funcSelfKind": "NonMutating" }, + { + "kind": "Function", + "name": "sendMultipleFilesMessage", + "printedName": "sendMultipleFilesMessage(fileInfoList:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[SendbirdChatSDK.UploadableFileInfo]", + "children": [ + { + "kind": "TypeNominal", + "name": "UploadableFileInfo", + "printedName": "SendbirdChatSDK.UploadableFileInfo", + "usr": "c:@M@SendbirdChatSDK@objc(cs)SBDUploadableFileInfo" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Func", + "usr": "s:13SendbirdUIKit24SBUGroupChannelViewModelC24sendMultipleFilesMessage12fileInfoListySay0A7ChatSDK014UploadableFileL0CG_tF", + "mangledName": "$s13SendbirdUIKit24SBUGroupChannelViewModelC24sendMultipleFilesMessage12fileInfoListySay0A7ChatSDK014UploadableFileL0CG_tF", + "moduleName": "SendbirdUIKit", + "isOpen": true, + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "updateMultipleFilesMessageCell", + "printedName": "updateMultipleFilesMessageCell(requestId:index:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Func", + "usr": "s:13SendbirdUIKit24SBUGroupChannelViewModelC30updateMultipleFilesMessageCell9requestId5indexySS_SitF", + "mangledName": "$s13SendbirdUIKit24SBUGroupChannelViewModelC30updateMultipleFilesMessageCell9requestId5indexySS_SitF", + "moduleName": "SendbirdUIKit", + "isOpen": true, + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, { "kind": "Function", "name": "loadInitialMessages", @@ -343246,6 +352415,173 @@ } ] }, + { + "kind": "TypeDecl", + "name": "MultipleFilesMessage", + "printedName": "MultipleFilesMessage", + "children": [ + { + "kind": "Var", + "name": "filesCount", + "printedName": "filesCount", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:15SendbirdChatSDK20MultipleFilesMessageC0A5UIKitE10filesCountSivp", + "mangledName": "$s15SendbirdChatSDK20MultipleFilesMessageC0A5UIKitE10filesCountSivp", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:15SendbirdChatSDK20MultipleFilesMessageC0A5UIKitE10filesCountSivg", + "mangledName": "$s15SendbirdChatSDK20MultipleFilesMessageC0A5UIKitE10filesCountSivg", + "moduleName": "SendbirdUIKit", + "isFromExtension": true, + "accessorKind": "get" + } + ] + } + ], + "declKind": "Class", + "usr": "c:@M@SendbirdChatSDK@objc(cs)SBDMultipleFilesMessage", + "mangledName": "$s15SendbirdChatSDK20MultipleFilesMessageC", + "moduleName": "SendbirdChatSDK", + "objc_name": "SBDMultipleFilesMessage", + "declAttributes": [ + "ObjC" + ], + "superclassUsr": "c:@M@SendbirdChatSDK@objc(cs)SBDBaseMessage", + "isExternal": true, + "hasMissingDesignatedInitializers": true, + "inheritsConvenienceInitializers": true, + "superclassNames": [ + "SendbirdChatSDK.BaseMessage", + "ObjectiveC.NSObject" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Decodable", + "printedName": "Decodable", + "usr": "s:Se", + "mangledName": "$sSe" + }, + { + "kind": "Conformance", + "name": "Encodable", + "printedName": "Encodable", + "usr": "s:SE", + "mangledName": "$sSE" + }, + { + "kind": "Conformance", + "name": "Identifiable", + "printedName": "Identifiable", + "children": [ + { + "kind": "TypeWitness", + "name": "ID", + "printedName": "ID", + "children": [ + { + "kind": "TypeNominal", + "name": "AnyHashable", + "printedName": "Swift.AnyHashable", + "usr": "s:s11AnyHashableV" + } + ] + } + ], + "usr": "s:s12IdentifiableP", + "mangledName": "$ss12IdentifiableP" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "CVarArg", + "printedName": "CVarArg", + "usr": "s:s7CVarArgP", + "mangledName": "$ss7CVarArgP" + }, + { + "kind": "Conformance", + "name": "_KeyValueCodingAndObservingPublishing", + "printedName": "_KeyValueCodingAndObservingPublishing", + "usr": "s:10Foundation37_KeyValueCodingAndObservingPublishingP", + "mangledName": "$s10Foundation37_KeyValueCodingAndObservingPublishingP" + }, + { + "kind": "Conformance", + "name": "_KeyValueCodingAndObserving", + "printedName": "_KeyValueCodingAndObserving", + "usr": "s:10Foundation27_KeyValueCodingAndObservingP", + "mangledName": "$s10Foundation27_KeyValueCodingAndObservingP" + }, + { + "kind": "Conformance", + "name": "CustomStringConvertible", + "printedName": "CustomStringConvertible", + "usr": "s:s23CustomStringConvertibleP", + "mangledName": "$ss23CustomStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "CustomDebugStringConvertible", + "printedName": "CustomDebugStringConvertible", + "usr": "s:s28CustomDebugStringConvertibleP", + "mangledName": "$ss28CustomDebugStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "Serializable", + "printedName": "Serializable", + "usr": "c:@M@SendbirdChatSDK@objc(pl)Serializable", + "mangledName": "$s15SendbirdChatSDK12SerializableP" + }, + { + "kind": "Conformance", + "name": "Mappable", + "printedName": "Mappable", + "usr": "c:@M@SendbirdChatSDK@objc(pl)Mappable", + "mangledName": "$s15SendbirdChatSDK8MappableP" + } + ] + }, { "kind": "TypeDecl", "name": "Sequence", @@ -348968,6 +358304,136 @@ } ] }, + { + "kind": "TypeDecl", + "name": "NSLayoutConstraint", + "printedName": "NSLayoutConstraint", + "children": [ + { + "kind": "Function", + "name": "sbu_activate", + "printedName": "sbu_activate(baseView:constraints:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "UIView", + "printedName": "UIKit.UIView", + "usr": "c:objc(cs)UIView" + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[UIKit.NSLayoutConstraint?]", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "UIKit.NSLayoutConstraint?", + "children": [ + { + "kind": "TypeNominal", + "name": "NSLayoutConstraint", + "printedName": "UIKit.NSLayoutConstraint", + "usr": "c:objc(cs)NSLayoutConstraint" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Func", + "usr": "s:So18NSLayoutConstraintC13SendbirdUIKitE12sbu_activate8baseView11constraintsySo6UIViewC_SayABSgGtFZ", + "mangledName": "$sSo18NSLayoutConstraintC13SendbirdUIKitE12sbu_activate8baseView11constraintsySo6UIViewC_SayABSgGtFZ", + "moduleName": "SendbirdUIKit", + "static": true, + "declAttributes": [ + "Custom", + "Final", + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Class", + "usr": "c:objc(cs)NSLayoutConstraint", + "moduleName": "UIKit", + "isOpen": true, + "intro_iOS": "6.0", + "objc_name": "NSLayoutConstraint", + "declAttributes": [ + "Available", + "ObjC", + "NonSendable", + "Custom", + "Dynamic" + ], + "superclassUsr": "c:objc(cs)NSObject", + "isExternal": true, + "inheritsConvenienceInitializers": true, + "superclassNames": [ + "ObjectiveC.NSObject" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "CVarArg", + "printedName": "CVarArg", + "usr": "s:s7CVarArgP", + "mangledName": "$ss7CVarArgP" + }, + { + "kind": "Conformance", + "name": "_KeyValueCodingAndObservingPublishing", + "printedName": "_KeyValueCodingAndObservingPublishing", + "usr": "s:10Foundation37_KeyValueCodingAndObservingPublishingP", + "mangledName": "$s10Foundation37_KeyValueCodingAndObservingPublishingP" + }, + { + "kind": "Conformance", + "name": "_KeyValueCodingAndObserving", + "printedName": "_KeyValueCodingAndObserving", + "usr": "s:10Foundation27_KeyValueCodingAndObservingP", + "mangledName": "$s10Foundation27_KeyValueCodingAndObservingP" + }, + { + "kind": "Conformance", + "name": "CustomStringConvertible", + "printedName": "CustomStringConvertible", + "usr": "s:s23CustomStringConvertibleP", + "mangledName": "$ss23CustomStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "CustomDebugStringConvertible", + "printedName": "CustomDebugStringConvertible", + "usr": "s:s28CustomDebugStringConvertibleP", + "mangledName": "$ss28CustomDebugStringConvertibleP" + } + ] + }, { "kind": "TypeDecl", "name": "Date", @@ -350283,43 +359749,71 @@ }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Module\/Channel\/SBUBaseChannelModule.List.swift", - "kind": "BooleanLiteral", - "offset": 16406, - "length": 5, - "value": "false" + "kind": "IntegerLiteral", + "offset": 16418, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Module\/Channel\/SBUBaseChannelModule.List.swift", + "kind": "IntegerLiteral", + "offset": 16431, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Module\/Channel\/SBUBaseChannelModule.List.swift", + "kind": "IntegerLiteral", + "offset": 16439, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Module\/Channel\/SBUBaseChannelModule.List.swift", + "kind": "IntegerLiteral", + "offset": 16450, + "length": 1, + "value": "0" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Module\/Channel\/SBUBaseChannelModule.List.swift", "kind": "BooleanLiteral", - "offset": 18115, + "offset": 17736, "length": 4, "value": "true" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Module\/Channel\/SBUBaseChannelModule.List.swift", "kind": "BooleanLiteral", - "offset": 18155, + "offset": 17776, "length": 5, "value": "false" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Module\/Channel\/SBUBaseChannelModule.List.swift", "kind": "BooleanLiteral", - "offset": 51470, + "offset": 23626, + "length": 4, + "value": "true" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Module\/Channel\/SBUBaseChannelModule.List.swift", + "kind": "BooleanLiteral", + "offset": 51731, "length": 5, "value": "false" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Module\/Channel\/SBUBaseChannelModule.List.swift", "kind": "BooleanLiteral", - "offset": 54706, + "offset": 54967, "length": 5, "value": "false" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Module\/Channel\/SBUBaseChannelModule.List.swift", "kind": "BooleanLiteral", - "offset": 54769, + "offset": 55030, "length": 5, "value": "false" }, @@ -350491,6 +359985,41 @@ "length": 4, "value": "76.0" }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Module\/MessageThread\/SBUMessageThreadModule.Input.swift", + "kind": "StringLiteral", + "offset": 6963, + "length": 24, + "value": "\"uploadableFileInfoList\"" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Module\/MessageThread\/SBUMessageThreadModule.Input.swift", + "kind": "StringLiteral", + "offset": 7019, + "length": 7, + "value": "\"image\"" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Module\/MessageThread\/SBUMessageThreadModule.Input.swift", + "kind": "StringLiteral", + "offset": 7056, + "length": 5, + "value": "\"gif\"" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Module\/MessageThread\/SBUMessageThreadModule.Input.swift", + "kind": "StringLiteral", + "offset": 7093, + "length": 7, + "value": "\"video\"" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Module\/MessageThread\/SBUMessageThreadModule.Input.swift", + "kind": "IntegerLiteral", + "offset": 7441, + "length": 1, + "value": "1" + }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/ViewModel\/ChannelSettings\/SBUGroupChannelSettingsViewModel.swift", "kind": "StringLiteral", @@ -350601,28 +360130,28 @@ "kind": "IntegerLiteral", "offset": 496, "length": 1, - "value": "8" + "value": "4" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/CellView\/SBUMessageDateView.swift", "kind": "IntegerLiteral", "offset": 505, "length": 1, - "value": "4" + "value": "8" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/CellView\/SBUMessageDateView.swift", "kind": "IntegerLiteral", "offset": 516, "length": 1, - "value": "8" + "value": "4" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/CellView\/SBUMessageDateView.swift", "kind": "IntegerLiteral", "offset": 526, "length": 1, - "value": "4" + "value": "8" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/Reaction\/SBUMessageReactionView.swift", @@ -350802,7 +360331,7 @@ { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Common\/SBUEmptyView.swift", "kind": "IntegerLiteral", - "offset": 1657, + "offset": 1826, "length": 2, "value": "24" }, @@ -352209,7 +361738,7 @@ { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/OpenChannel\/SBUOpenChannelAdminMessageCell.swift", "kind": "BooleanLiteral", - "offset": 2513, + "offset": 2537, "length": 5, "value": "false" }, @@ -352363,1382 +361892,1459 @@ { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 1227, + "offset": 1270, + "length": 41, + "value": "\"Do you want to delete all \"" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", + "kind": "StringLiteral", + "offset": 1302, + "length": 6, + "value": "\" photos?\"" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", + "kind": "StringLiteral", + "offset": 1368, "length": 41, "value": "\"Please allow camera usage from settings\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 1325, + "offset": 1466, "length": 34, "value": "\"Please Allow PhotoLibrary Access\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 1424, + "offset": 1565, "length": 60, "value": "\"PhotoLibrary access required to get your photos and videos\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 1608, + "offset": 1749, "length": 45, "value": "\"Please allow microphone usage from settings\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 1721, + "offset": 1862, "length": 11, "value": "\"Yesterday\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 1828, + "offset": 1969, "length": 8, "value": "\"%lld%@\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "IntegerLiteral", - "offset": 1858, + "offset": 1999, "length": 1, "value": "1" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 1863, + "offset": 2004, "length": 7, "value": "\"years\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 1873, + "offset": 2014, "length": 6, "value": "\"year\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 1981, + "offset": 2122, "length": 8, "value": "\"%lld%@\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "IntegerLiteral", - "offset": 2011, + "offset": 2152, "length": 1, "value": "1" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 2016, + "offset": 2157, "length": 6, "value": "\"days\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 2025, + "offset": 2166, "length": 5, "value": "\"day\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 2134, + "offset": 2275, "length": 11, "value": "\"%lldmonth\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 2258, + "offset": 2399, "length": 7, "value": "\"%lldh\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 2377, + "offset": 2518, "length": 7, "value": "\"%lldm\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 2435, + "offset": 2576, "length": 5, "value": "\"ago\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 2473, + "offset": 2614, "length": 4, "value": "\"on\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 2556, + "offset": 2697, "length": 10, "value": "\"Channels\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 2621, + "offset": 2762, "length": 18, "value": "\"uploaded a file.\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 2709, + "offset": 2850, "length": 15, "value": "\"Group Channel\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 2773, + "offset": 2914, "length": 14, "value": "\"(No members)\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 2836, + "offset": 2977, "length": 11, "value": "\"Last seen\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "IntegerLiteral", - "offset": 3143, + "offset": 3284, "length": 1, "value": "1" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "IntegerLiteral", - "offset": 3182, + "offset": 3323, "length": 1, "value": "0" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "IntegerLiteral", - "offset": 3212, + "offset": 3353, "length": 1, "value": "0" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 3226, + "offset": 3367, "length": 8, "value": "\"Member\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 3269, + "offset": 3410, "length": 17, "value": "\"%@ is typing...\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "IntegerLiteral", - "offset": 3311, + "offset": 3452, "length": 1, "value": "2" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "IntegerLiteral", - "offset": 3351, + "offset": 3492, "length": 1, "value": "0" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "IntegerLiteral", - "offset": 3381, + "offset": 3522, "length": 1, "value": "0" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 3395, + "offset": 3536, "length": 8, "value": "\"Member\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "IntegerLiteral", - "offset": 3441, + "offset": 3582, "length": 1, "value": "1" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "IntegerLiteral", - "offset": 3471, + "offset": 3612, "length": 1, "value": "1" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 3485, + "offset": 3626, "length": 8, "value": "\"Member\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 3528, + "offset": 3669, "length": 25, "value": "\"%@ and %@ are typing...\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 3613, + "offset": 3754, "length": 30, "value": "\"Several people are typing...\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 3714, + "offset": 3855, "length": 13, "value": "\"File saved.\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 3782, + "offset": 3923, "length": 27, "value": "\"Couldn’t download file.\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 3860, + "offset": 4001, "length": 23, "value": "\"Couldn’t open file.\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 3933, + "offset": 4074, "length": 17, "value": "\"uploaded a file\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "IntegerLiteral", - "offset": 4059, + "offset": 4200, "length": 1, "value": "1" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 4081, + "offset": 4222, "length": 15, "value": "\"1 new message\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "IntegerLiteral", - "offset": 4110, + "offset": 4251, "length": 1, "value": "2" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "IntegerLiteral", - "offset": 4114, + "offset": 4255, "length": 2, "value": "99" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 4137, + "offset": 4278, "length": 23, "value": "\"\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 4146, + "offset": 4287, "length": 3, "value": "\" new messages\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "IntegerLiteral", - "offset": 4174, + "offset": 4315, "length": 3, "value": "100" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 4201, + "offset": 4342, "length": 18, "value": "\"99+ new messages\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 4256, + "offset": 4397, "length": 2, "value": "\"\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 4327, + "offset": 4468, "length": 16, "value": "\"Channel frozen\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 4427, + "offset": 4568, "length": 14, "value": "\"Open Channel\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 4492, + "offset": 4633, "length": 14, "value": "\"Participants\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "IntegerLiteral", - "offset": 4627, + "offset": 4768, "length": 1, "value": "1" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 4649, + "offset": 4790, "length": 15, "value": "\"1 participant\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 4701, + "offset": 4842, "length": 23, "value": "\"\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 4710, + "offset": 4851, "length": 12, "value": "\" participants\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 4930, + "offset": 5071, "length": 44, "value": "\"SENDBIRD_NOTIFICATION_CHANNEL_NOTIFICATION\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 5267, + "offset": 5408, "length": 59, "value": "\"\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 5315, + "offset": 5456, "length": 1, "value": "\"_\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 5325, + "offset": 5466, "length": 1, "value": "\"\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 5468, + "offset": 5609, "length": 15, "value": "\"Notifications\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 5569, + "offset": 5710, "length": 21, "value": "\"Channel information\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 5643, + "offset": 5784, "length": 13, "value": "\"Change name\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 5710, + "offset": 5851, "length": 22, "value": "\"Change channel image\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 5788, + "offset": 5929, "length": 12, "value": "\"Enter name\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 5864, + "offset": 6005, "length": 20, "value": "\"Enter channel name\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 5939, + "offset": 6080, "length": 15, "value": "\"Notifications\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 6012, + "offset": 6153, "length": 4, "value": "\"On\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 6075, + "offset": 6216, "length": 5, "value": "\"Off\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 6150, + "offset": 6291, "length": 15, "value": "\"Mentions only\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 6225, + "offset": 6366, "length": 9, "value": "\"Members\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 6294, + "offset": 6435, "length": 14, "value": "\"Participants\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "IntegerLiteral", - "offset": 6422, + "offset": 6563, "length": 1, "value": "0" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 6444, + "offset": 6585, "length": 9, "value": "\"members\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 6490, + "offset": 6631, "length": 18, "value": "\"\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 6499, + "offset": 6640, "length": 7, "value": "\" members\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 6571, + "offset": 6712, "length": 15, "value": "\"Leave channel\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 6634, + "offset": 6775, "length": 16, "value": "\"Delete channel\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 6712, + "offset": 6853, "length": 17, "value": "\"Delete channel?\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 6789, + "offset": 6930, "length": 47, "value": "\"Once deleted, this channel can't be restored.\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 6884, + "offset": 7025, "length": 19, "value": "\"Search in channel\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 6961, + "offset": 7102, "length": 13, "value": "\"Moderations\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 7025, + "offset": 7166, "length": 11, "value": "\"Operators\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 7091, + "offset": 7232, "length": 15, "value": "\"Muted members\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 7166, + "offset": 7307, "length": 20, "value": "\"Muted participants\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 7249, + "offset": 7390, "length": 14, "value": "\"Banned users\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 7319, + "offset": 7460, "length": 16, "value": "\"Freeze channel\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 7385, + "offset": 7526, "length": 5, "value": "\"URL\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 7488, + "offset": 7629, "length": 15, "value": "\"Notifications\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 7567, + "offset": 7708, "length": 15, "value": "\"Notifications\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 7636, + "offset": 7777, "length": 18, "value": "\"All new messages\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 7718, + "offset": 7859, "length": 15, "value": "\"Mentions only\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 7803, + "offset": 7944, "length": 100, "value": "\"Turn on push notifications if you wish to be notified when messages are delivered to this channel.\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 7988, - "length": 16, - "value": "\"Type a message\"" + "offset": 8129, + "length": 15, + "value": "\"Enter message\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 8059, + "offset": 8199, "length": 37, "value": "\"Chat is unavailable in this channel\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 8145, + "offset": 8285, "length": 15, "value": "\"You are muted\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 8209, + "offset": 8349, "length": 18, "value": "\"Reply to message\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 8336, + "offset": 8476, "length": 35, "value": "\"Reply to \"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 8370, + "offset": 8510, "length": 1, "value": "\"\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 8435, + "offset": 8575, "length": 7, "value": "\"Photo\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 8498, + "offset": 8638, "length": 5, "value": "\"GIF\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 8561, + "offset": 8701, "length": 7, "value": "\"Video\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 8632, + "offset": 8772, "length": 10, "value": "\"(edited)\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 8682, + "offset": 8822, "length": 16, "value": "\"System message\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 8745, + "offset": 8885, "length": 24, "value": "\"(Unknown message type)\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 8822, + "offset": 8962, "length": 26, "value": "\"Can't read this message.\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 8979, + "offset": 9119, "length": 56, "value": "\"\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 8998, + "offset": 9138, "length": 7, "value": "\" replied to \"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 9034, + "offset": 9174, "length": 1, "value": "\"\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 9078, + "offset": 9218, "length": 5, "value": "\"You\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "IntegerLiteral", - "offset": 9270, + "offset": 9410, "length": 1, "value": "1" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 9292, + "offset": 9432, "length": 9, "value": "\"1 reply\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "IntegerLiteral", - "offset": 9315, + "offset": 9455, "length": 1, "value": "2" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "IntegerLiteral", - "offset": 9319, + "offset": 9459, "length": 2, "value": "99" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 9342, + "offset": 9482, "length": 30, "value": "\"\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 9363, + "offset": 9503, "length": 7, "value": "\" replies\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "IntegerLiteral", - "offset": 9386, + "offset": 9526, "length": 3, "value": "100" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 9426, + "offset": 9566, "length": 13, "value": "\"99+ replies\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 9442, + "offset": 9582, "length": 30, "value": "\"\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 9463, + "offset": 9603, "length": 7, "value": "\" replies\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 9509, + "offset": 9649, "length": 2, "value": "\"\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 9616, + "offset": 9756, "length": 52, "value": "\"Couldn't find the original message for this reply.\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 9741, + "offset": 9881, "length": 21, "value": "\"Message unavailable\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 9849, + "offset": 9989, "length": 18, "value": "\"(Template error)\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 9929, + "offset": 10069, "length": 31, "value": "\"Can't read this notification.\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 10025, + "offset": 10165, "length": 13, "value": "\"No channels\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 10081, + "offset": 10221, "length": 13, "value": "\"No messages\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 10142, + "offset": 10282, "length": 18, "value": "\"No notifications\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 10200, + "offset": 10340, "length": 10, "value": "\"No users\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 10258, + "offset": 10398, "length": 18, "value": "\"No muted members\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 10329, + "offset": 10469, "length": 23, "value": "\"No muted participants\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 10399, + "offset": 10539, "length": 17, "value": "\"No banned users\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 10461, + "offset": 10601, "length": 18, "value": "\"No results found\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 10516, + "offset": 10656, "length": 22, "value": "\"Something went wrong\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "IntegerLiteral", - "offset": 10679, + "offset": 10819, "length": 1, "value": "0" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 10701, + "offset": 10841, "length": 8, "value": "\"Create\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 10746, + "offset": 10886, "length": 17, "value": "\"Create \"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 10762, + "offset": 10902, "length": 1, "value": "\"\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 10831, + "offset": 10971, "length": 13, "value": "\"New Channel\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 10905, + "offset": 11045, "length": 16, "value": "\"Select members\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 10981, + "offset": 11121, "length": 21, "value": "\"New channel profile\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 11092, + "offset": 11232, "length": 8, "value": "\"Create\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 11156, + "offset": 11296, "length": 13, "value": "\"New channel\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 11237, + "offset": 11377, "length": 20, "value": "\"Enter channel name\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 11340, + "offset": 11480, "length": 14, "value": "\"Invite users\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 11413, + "offset": 11553, "length": 14, "value": "\"Select users\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "IntegerLiteral", - "offset": 11537, + "offset": 11677, "length": 1, "value": "0" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 11559, + "offset": 11699, "length": 8, "value": "\"Invite\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 11604, + "offset": 11744, "length": 17, "value": "\"Invite \"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 11620, + "offset": 11760, "length": 1, "value": "\"\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "IntegerLiteral", - "offset": 11749, + "offset": 11889, "length": 1, "value": "0" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 11771, + "offset": 11911, "length": 10, "value": "\"Register\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 11818, + "offset": 11958, "length": 19, "value": "\"Register \"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 11836, + "offset": 11976, "length": 1, "value": "\"\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 11916, + "offset": 12056, "length": 7, "value": "\"(You)\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 11961, + "offset": 12101, "length": 5, "value": "\"Ban\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 12006, + "offset": 12146, "length": 7, "value": "\"Unban\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 12052, + "offset": 12192, "length": 6, "value": "\"Mute\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 12099, + "offset": 12239, "length": 8, "value": "\"Unmute\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 12161, + "offset": 12301, "length": 21, "value": "\"Unregister operator\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 12234, + "offset": 12374, "length": 22, "value": "\"Register as operator\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 12304, + "offset": 12444, "length": 9, "value": "\"Members\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 12363, + "offset": 12503, "length": 11, "value": "\"Operators\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 12428, + "offset": 12568, "length": 15, "value": "\"Muted members\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 12502, + "offset": 12642, "length": 20, "value": "\"Muted Participants\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 12584, + "offset": 12724, "length": 14, "value": "\"Banned users\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 12651, + "offset": 12791, "length": 14, "value": "\"Participants\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 12728, + "offset": 12868, "length": 11, "value": "\"(No name)\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 12778, + "offset": 12918, "length": 10, "value": "\"Operator\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 12872, + "offset": 13012, "length": 10, "value": "\"Operator\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 12931, + "offset": 13071, "length": 8, "value": "\"Member\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 12983, + "offset": 13123, "length": 9, "value": "\"User ID\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 13037, + "offset": 13177, "length": 9, "value": "\"Message\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 13092, + "offset": 13232, "length": 10, "value": "\"Register\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 13150, + "offset": 13290, "length": 12, "value": "\"Unregister\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 13204, + "offset": 13344, "length": 6, "value": "\"Mute\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 13254, + "offset": 13394, "length": 8, "value": "\"Unmute\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 13303, + "offset": 13443, "length": 5, "value": "\"Ban\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 13384, + "offset": 13524, "length": 7, "value": "\"Group\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 13439, + "offset": 13579, "length": 13, "value": "\"Super group\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 13499, + "offset": 13639, "length": 11, "value": "\"Broadcast\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 13607, + "offset": 13747, "length": 3, "value": "\"@\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 13722, + "offset": 13862, "length": 95, "value": "\"You can mention up to \"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "IntegerLiteral", - "offset": 13793, + "offset": 13933, "length": 2, "value": "10" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 13796, + "offset": 13936, "length": 5, "value": "\" times per message. \"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 13993, + "offset": 14133, "length": 17, "value": "\"Reply in thread\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 14113, + "offset": 14253, "length": 17, "value": "\"Reply in thread\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 14177, + "offset": 14317, "length": 17, "value": "\"Reply to thread\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 14283, + "offset": 14423, "length": 8, "value": "\"Thread\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 14514, + "offset": 14654, "length": 8, "value": "\"Cancel\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 14772, + "offset": 14912, "length": 20, "value": "\"Channel is frozen.\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 14996, + "offset": 15136, "length": 31, "value": "\"You're muted by the operator.\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 15242, + "offset": 15382, "length": 15, "value": "\"Voice message\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 15459, + "offset": 15599, "length": 15, "value": "\"Voice message\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 15715, + "offset": 15855, "length": 15, "value": "\"Voice message\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 15846, + "offset": 15986, "length": 15, "value": "\"Voice_message\"" }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", + "kind": "StringLiteral", + "offset": 16244, + "length": 7, + "value": "\"Photo\"" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", + "kind": "StringLiteral", + "offset": 16288, + "length": 5, + "value": "\"GIF\"" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", + "kind": "StringLiteral", + "offset": 16332, + "length": 7, + "value": "\"Video\"" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", + "kind": "StringLiteral", + "offset": 16378, + "length": 7, + "value": "\"Audio\"" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", + "kind": "StringLiteral", + "offset": 16424, + "length": 15, + "value": "\"Voice message\"" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", + "kind": "StringLiteral", + "offset": 16477, + "length": 6, + "value": "\"File\"" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", + "kind": "StringLiteral", + "offset": 16530, + "length": 7, + "value": "\"Photo\"" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", + "kind": "StringLiteral", + "offset": 16759, + "length": 67, + "value": "\"The maximum size per file is \"" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", + "kind": "StringLiteral", + "offset": 16822, + "length": 2, + "value": "\"MB.\"" + }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Theme\/SBUFontSet.swift", "kind": "FloatLiteral", @@ -354232,21 +363838,35 @@ { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/CellView\/SBUMessageWebView.swift", "kind": "IntegerLiteral", - "offset": 1268, + "offset": 1368, "length": 2, "value": "10" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/CellView\/SBUMessageWebView.swift", "kind": "IntegerLiteral", - "offset": 1531, + "offset": 1607, "length": 1, - "value": "1" + "value": "0" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/CellView\/SBUMessageWebView.swift", "kind": "IntegerLiteral", - "offset": 1699, + "offset": 1711, + "length": 1, + "value": "2" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/CellView\/SBUMessageWebView.swift", + "kind": "IntegerLiteral", + "offset": 1855, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/CellView\/SBUMessageWebView.swift", + "kind": "IntegerLiteral", + "offset": 1959, "length": 1, "value": "1" }, @@ -354530,6 +364150,13 @@ "length": 27, "value": "\"KEY_INTERNAL_MESSAGE_TYPE\"" }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUConstant.swift", + "kind": "StringLiteral", + "offset": 2109, + "length": 41, + "value": "\"com.sendbird.uikit.groupchannel.message\"" + }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Common\/Menu\/SBUBottomSheetController.swift", "kind": "IntegerLiteral", @@ -354607,6 +364234,48 @@ "length": 2, "value": "[]" }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/MultipleFilesMessage\/SBUMultipleFilesMessageCollectionView.swift", + "kind": "IntegerLiteral", + "offset": 515, + "length": 1, + "value": "1" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Common\/SBUPaddingLabel.swift", + "kind": "IntegerLiteral", + "offset": 831, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Common\/SBUPaddingLabel.swift", + "kind": "IntegerLiteral", + "offset": 854, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Common\/SBUPaddingLabel.swift", + "kind": "IntegerLiteral", + "offset": 878, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Common\/SBUPaddingLabel.swift", + "kind": "IntegerLiteral", + "offset": 903, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Common\/SBUPaddingLabel.swift", + "kind": "StringLiteral", + "offset": 178, + "length": 15, + "value": "\"SendbirdUIKit.SBUPaddingLabel\"" + }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/NewMessageInfo\/SBUNewNotificationInfo.swift", "kind": "BooleanLiteral", @@ -354631,7 +364300,7 @@ { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/OpenChannel\/SBUOpenChannelUserMessageCell.swift", "kind": "BooleanLiteral", - "offset": 4082, + "offset": 4128, "length": 5, "value": "false" }, @@ -354701,7 +364370,7 @@ { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Common\/SBUCoverImageView.swift", "kind": "BooleanLiteral", - "offset": 6289, + "offset": 6463, "length": 5, "value": "false" }, @@ -355016,7 +364685,7 @@ { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/ViewModel\/Channel\/SBUBaseChannelViewModel.swift", "kind": "BooleanLiteral", - "offset": 27482, + "offset": 27973, "length": 5, "value": "false" }, @@ -355135,63 +364804,63 @@ { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/SBUGroupChannelViewController.swift", "kind": "IntegerLiteral", - "offset": 1806, + "offset": 1848, "length": 1, "value": "0" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/SBUGroupChannelViewController.swift", "kind": "BooleanLiteral", - "offset": 5922, + "offset": 6667, "length": 4, "value": "true" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/SBUGroupChannelViewController.swift", "kind": "BooleanLiteral", - "offset": 6463, + "offset": 7208, "length": 4, "value": "true" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/SBUGroupChannelViewController.swift", "kind": "BooleanLiteral", - "offset": 6514, + "offset": 7259, "length": 5, "value": "false" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/SBUGroupChannelViewController.swift", "kind": "IntegerLiteral", - "offset": 13044, + "offset": 14910, "length": 1, "value": "0" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/SBUGroupChannelViewController.swift", "kind": "IntegerLiteral", - "offset": 13079, + "offset": 14945, "length": 1, "value": "0" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/SBUGroupChannelViewController.swift", "kind": "BooleanLiteral", - "offset": 15972, + "offset": 28200, "length": 5, "value": "false" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/SBUGroupChannelViewController.swift", "kind": "StringLiteral", - "offset": 275, + "offset": 317, "length": 29, "value": "\"SendbirdUIKit.SBUGroupChannelViewController\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/SBUGroupChannelViewController.swift", "kind": "StringLiteral", - "offset": 275, + "offset": 317, "length": 29, "value": "\"SendbirdUIKit.SBUGroupChannelViewController\"" }, @@ -355233,7 +364902,14 @@ { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Manager\/CacheManager\/SBUCacheManager.Image.swift", "kind": "BooleanLiteral", - "offset": 5741, + "offset": 4237, + "length": 5, + "value": "false" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Manager\/CacheManager\/SBUCacheManager.Image.swift", + "kind": "BooleanLiteral", + "offset": 6608, "length": 4, "value": "true" }, @@ -355590,21 +365266,28 @@ { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Configuration\/SBUConfig.GroupChannel.swift", "kind": "BooleanLiteral", - "offset": 5543, + "offset": 5324, "length": 5, "value": "false" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Configuration\/SBUConfig.GroupChannel.swift", "kind": "BooleanLiteral", - "offset": 5765, + "offset": 6884, "length": 5, "value": "false" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Configuration\/SBUConfig.GroupChannel.swift", "kind": "BooleanLiteral", - "offset": 6796, + "offset": 7106, + "length": 5, + "value": "false" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Configuration\/SBUConfig.GroupChannel.swift", + "kind": "BooleanLiteral", + "offset": 8137, "length": 5, "value": "false" }, @@ -355723,14 +365406,21 @@ { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Module\/MessageThread\/SBUMessageThreadModule.List.swift", "kind": "Dictionary", - "offset": 4336, + "offset": 6113, "length": 3, "value": "[]" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Module\/MessageThread\/SBUMessageThreadModule.List.swift", "kind": "BooleanLiteral", - "offset": 31846, + "offset": 19581, + "length": 4, + "value": "true" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Module\/MessageThread\/SBUMessageThreadModule.List.swift", + "kind": "BooleanLiteral", + "offset": 36930, "length": 5, "value": "false" }, @@ -355926,63 +365616,63 @@ { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/OpenChannel\/SBUOpenChannelContentBaseMessageCell.swift", "kind": "IntegerLiteral", - "offset": 879, + "offset": 926, "length": 1, "value": "2" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/OpenChannel\/SBUOpenChannelContentBaseMessageCell.swift", "kind": "IntegerLiteral", - "offset": 1103, + "offset": 1150, "length": 1, "value": "4" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/OpenChannel\/SBUOpenChannelContentBaseMessageCell.swift", "kind": "IntegerLiteral", - "offset": 1497, + "offset": 1544, "length": 2, "value": "16" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/OpenChannel\/SBUOpenChannelContentBaseMessageCell.swift", "kind": "IntegerLiteral", - "offset": 1596, + "offset": 1643, "length": 1, "value": "1" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/OpenChannel\/SBUOpenChannelContentBaseMessageCell.swift", "kind": "BooleanLiteral", - "offset": 1631, + "offset": 1678, "length": 4, "value": "true" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/OpenChannel\/SBUOpenChannelContentBaseMessageCell.swift", "kind": "BooleanLiteral", - "offset": 1792, + "offset": 1839, "length": 4, "value": "true" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/OpenChannel\/SBUOpenChannelContentBaseMessageCell.swift", "kind": "BooleanLiteral", - "offset": 2249, + "offset": 2296, "length": 5, "value": "false" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/OpenChannel\/SBUOpenChannelContentBaseMessageCell.swift", "kind": "BooleanLiteral", - "offset": 2288, + "offset": 2335, "length": 5, "value": "false" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/OpenChannel\/SBUOpenChannelContentBaseMessageCell.swift", "kind": "BooleanLiteral", - "offset": 6286, + "offset": 6195, "length": 5, "value": "false" }, @@ -356239,19 +365929,47 @@ "value": "\"SendbirdUIKit.SBUCreateChannelTypeSelector\"" }, { - "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Extension\/UIView+SBUIKit.swift", + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/MultipleFilesMessage\/SBUMultipleFilesMessageCollectionViewCell.swift", "kind": "BooleanLiteral", - "offset": 41824, - "length": 5, - "value": "false" + "offset": 546, + "length": 4, + "value": "true" }, { - "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Extension\/UIView+SBUIKit.swift", + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/MultipleFilesMessage\/SBUMultipleFilesMessageCollectionViewCell.swift", "kind": "BooleanLiteral", - "offset": 41870, + "offset": 596, + "length": 4, + "value": "true" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/MultipleFilesMessage\/SBUMultipleFilesMessageCollectionViewCell.swift", + "kind": "BooleanLiteral", + "offset": 779, + "length": 4, + "value": "true" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/MultipleFilesMessage\/SBUMultipleFilesMessageCollectionViewCell.swift", + "kind": "BooleanLiteral", + "offset": 935, + "length": 4, + "value": "true" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/MultipleFilesMessage\/SBUMultipleFilesMessageCollectionViewCell.swift", + "kind": "BooleanLiteral", + "offset": 1009, "length": 5, "value": "false" }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/MultipleFilesMessage\/SBUMultipleFilesMessageCollectionViewCell.swift", + "kind": "IntegerLiteral", + "offset": 1194, + "length": 1, + "value": "1" + }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Enums\/SBUEnums.swift", "kind": "IntegerLiteral", @@ -357351,59 +367069,122 @@ "length": 4, "value": "2" }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/MessageThread\/SBUParentMessageInfoView.swift", + "kind": "FloatLiteral", + "offset": 666, + "length": 4, + "value": "16.0" + }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/MessageThread\/SBUParentMessageInfoView.swift", "kind": "BooleanLiteral", - "offset": 1452, + "offset": 1653, "length": 4, "value": "true" }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/MessageThread\/SBUParentMessageInfoView.swift", + "kind": "IntegerLiteral", + "offset": 2120, + "length": 1, + "value": "0" + }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/MessageThread\/SBUParentMessageInfoView.swift", "kind": "IntegerLiteral", "offset": 2129, "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/MessageThread\/SBUParentMessageInfoView.swift", + "kind": "IntegerLiteral", + "offset": 2140, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/MessageThread\/SBUParentMessageInfoView.swift", + "kind": "IntegerLiteral", + "offset": 2150, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/MessageThread\/SBUParentMessageInfoView.swift", + "kind": "IntegerLiteral", + "offset": 2194, + "length": 1, + "value": "4" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/MessageThread\/SBUParentMessageInfoView.swift", + "kind": "IntegerLiteral", + "offset": 2232, + "length": 1, + "value": "4" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/MessageThread\/SBUParentMessageInfoView.swift", + "kind": "BooleanLiteral", + "offset": 2395, + "length": 5, + "value": "false" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/MessageThread\/SBUParentMessageInfoView.swift", + "kind": "IntegerLiteral", + "offset": 3024, + "length": 1, "value": "8" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/MessageThread\/SBUParentMessageInfoView.swift", "kind": "IntegerLiteral", - "offset": 2369, + "offset": 3264, "length": 1, "value": "2" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/MessageThread\/SBUParentMessageInfoView.swift", "kind": "IntegerLiteral", - "offset": 2618, + "offset": 3513, "length": 1, "value": "0" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/MessageThread\/SBUParentMessageInfoView.swift", "kind": "BooleanLiteral", - "offset": 4079, + "offset": 4325, + "length": 5, + "value": "false" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/MessageThread\/SBUParentMessageInfoView.swift", + "kind": "BooleanLiteral", + "offset": 4999, "length": 4, "value": "true" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/MessageThread\/SBUParentMessageInfoView.swift", "kind": "BooleanLiteral", - "offset": 4341, + "offset": 5261, "length": 5, "value": "false" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/MessageThread\/SBUParentMessageInfoView.swift", "kind": "BooleanLiteral", - "offset": 4418, + "offset": 5338, "length": 5, "value": "false" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/MessageThread\/SBUParentMessageInfoView.swift", "kind": "BooleanLiteral", - "offset": 13631, + "offset": 15412, "length": 5, "value": "false" }, @@ -357445,91 +367226,91 @@ { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/Replies\/MessageView\/SBUQuotedBaseMessageView.swift", "kind": "IntegerLiteral", - "offset": 872, + "offset": 955, "length": 1, "value": "0" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/Replies\/MessageView\/SBUQuotedBaseMessageView.swift", "kind": "StringLiteral", - "offset": 1616, + "offset": 1699, "length": 2, "value": "\"\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/Replies\/MessageView\/SBUQuotedBaseMessageView.swift", "kind": "StringLiteral", - "offset": 1738, + "offset": 1821, "length": 2, "value": "\"\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/Replies\/MessageView\/SBUQuotedBaseMessageView.swift", "kind": "StringLiteral", - "offset": 2098, + "offset": 2181, "length": 2, "value": "\"\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/Replies\/MessageView\/SBUQuotedBaseMessageView.swift", "kind": "IntegerLiteral", - "offset": 3001, + "offset": 3084, "length": 1, "value": "8" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/Replies\/MessageView\/SBUQuotedBaseMessageView.swift", "kind": "IntegerLiteral", - "offset": 3323, + "offset": 3406, "length": 1, "value": "1" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/Replies\/MessageView\/SBUQuotedBaseMessageView.swift", "kind": "BooleanLiteral", - "offset": 3364, + "offset": 3447, "length": 4, "value": "true" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/Replies\/MessageView\/SBUQuotedBaseMessageView.swift", "kind": "IntegerLiteral", - "offset": 3959, + "offset": 4042, "length": 1, "value": "0" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/Replies\/MessageView\/SBUQuotedBaseMessageView.swift", "kind": "IntegerLiteral", - "offset": 4359, + "offset": 4442, "length": 1, "value": "6" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/Replies\/MessageView\/SBUQuotedBaseMessageView.swift", "kind": "IntegerLiteral", - "offset": 4869, + "offset": 4952, "length": 1, "value": "4" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/Replies\/MessageView\/SBUQuotedBaseMessageView.swift", "kind": "IntegerLiteral", - "offset": 5150, + "offset": 5233, "length": 2, "value": "16" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/Replies\/MessageView\/SBUQuotedBaseMessageView.swift", "kind": "IntegerLiteral", - "offset": 5249, + "offset": 5332, "length": 1, "value": "1" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/Replies\/MessageView\/SBUQuotedBaseMessageView.swift", "kind": "BooleanLiteral", - "offset": 5284, + "offset": 5367, "length": 4, "value": "true" }, @@ -357606,35 +367387,35 @@ { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/SBUContentBaseMessageCell.swift", "kind": "IntegerLiteral", - "offset": 4159, + "offset": 4157, "length": 2, "value": "16" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/SBUContentBaseMessageCell.swift", "kind": "IntegerLiteral", - "offset": 4258, + "offset": 4256, "length": 1, "value": "1" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/SBUContentBaseMessageCell.swift", "kind": "BooleanLiteral", - "offset": 4293, + "offset": 4291, "length": 4, "value": "true" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/SBUContentBaseMessageCell.swift", "kind": "IntegerLiteral", - "offset": 13467, + "offset": 13345, "length": 1, "value": "0" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/SBUContentBaseMessageCell.swift", "kind": "IntegerLiteral", - "offset": 13502, + "offset": 13380, "length": 1, "value": "0" }, @@ -357886,7 +367667,7 @@ { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/CellView\/SBUUserNameView.swift", "kind": "BooleanLiteral", - "offset": 2852, + "offset": 2936, "length": 5, "value": "false" }, @@ -357914,112 +367695,98 @@ { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/SBUOpenChannelViewController.swift", "kind": "Array", - "offset": 1759, + "offset": 3150, "length": 2, "value": "[]" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/SBUOpenChannelViewController.swift", "kind": "Array", - "offset": 1892, - "length": 2, - "value": "[]" - }, - { - "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/SBUOpenChannelViewController.swift", - "kind": "Array", - "offset": 2122, - "length": 2, - "value": "[]" - }, - { - "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/SBUOpenChannelViewController.swift", - "kind": "Array", - "offset": 2297, + "offset": 3325, "length": 2, "value": "[]" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/SBUOpenChannelViewController.swift", "kind": "IntegerLiteral", - "offset": 2361, + "offset": 3389, "length": 2, "value": "56" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/SBUOpenChannelViewController.swift", "kind": "IntegerLiteral", - "offset": 2404, + "offset": 3432, "length": 1, "value": "0" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/SBUOpenChannelViewController.swift", "kind": "BooleanLiteral", - "offset": 2846, + "offset": 3865, "length": 5, "value": "false" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/SBUOpenChannelViewController.swift", "kind": "BooleanLiteral", - "offset": 2962, + "offset": 3981, "length": 4, "value": "true" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/SBUOpenChannelViewController.swift", "kind": "BooleanLiteral", - "offset": 3407, + "offset": 4426, "length": 5, "value": "false" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/SBUOpenChannelViewController.swift", "kind": "FloatLiteral", - "offset": 3632, + "offset": 4651, "length": 3, "value": "0.0" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/SBUOpenChannelViewController.swift", "kind": "FloatLiteral", - "offset": 3859, + "offset": 4878, "length": 3, "value": "1.0" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/SBUOpenChannelViewController.swift", "kind": "BooleanLiteral", - "offset": 4093, + "offset": 5112, "length": 5, "value": "false" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/SBUOpenChannelViewController.swift", "kind": "BooleanLiteral", - "offset": 4350, + "offset": 5369, "length": 4, "value": "true" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/SBUOpenChannelViewController.swift", "kind": "BooleanLiteral", - "offset": 7285, + "offset": 8304, "length": 4, "value": "true" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/SBUOpenChannelViewController.swift", "kind": "BooleanLiteral", - "offset": 27372, + "offset": 27354, "length": 4, "value": "true" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/SBUOpenChannelViewController.swift", "kind": "BooleanLiteral", - "offset": 29995, + "offset": 29977, "length": 4, "value": "true" }, @@ -358159,10 +367926,108 @@ { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/OpenChannel\/SBUOpenChannelFileMessageCell.swift", "kind": "BooleanLiteral", - "offset": 1883, + "offset": 1914, "length": 5, "value": "false" }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Util\/BlockingOperation.swift", + "kind": "StringLiteral", + "offset": 498, + "length": 9, + "value": "\"Waiting\"" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Util\/BlockingOperation.swift", + "kind": "StringLiteral", + "offset": 529, + "length": 7, + "value": "\"Ready\"" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Util\/BlockingOperation.swift", + "kind": "StringLiteral", + "offset": 562, + "length": 11, + "value": "\"Executing\"" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Util\/BlockingOperation.swift", + "kind": "StringLiteral", + "offset": 598, + "length": 10, + "value": "\"Finished\"" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Util\/BlockingOperation.swift", + "kind": "StringLiteral", + "offset": 498, + "length": 9, + "value": "\"Waiting\"" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Util\/BlockingOperation.swift", + "kind": "StringLiteral", + "offset": 529, + "length": 7, + "value": "\"Ready\"" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Util\/BlockingOperation.swift", + "kind": "StringLiteral", + "offset": 562, + "length": 11, + "value": "\"Executing\"" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Util\/BlockingOperation.swift", + "kind": "StringLiteral", + "offset": 598, + "length": 10, + "value": "\"Finished\"" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Util\/BlockingOperation.swift", + "kind": "StringLiteral", + "offset": 1365, + "length": 57, + "value": "\"com.sendbird.uikit.operation.state.\"" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Util\/BlockingOperation.swift", + "kind": "StringLiteral", + "offset": 1421, + "length": 27, + "value": "\"\"" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Util\/BlockingOperation.swift", + "kind": "BooleanLiteral", + "offset": 1639, + "length": 5, + "value": "false" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Util\/BlockingOperation.swift", + "kind": "BooleanLiteral", + "offset": 2829, + "length": 5, + "value": "false" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Util\/BlockingOperation.swift", + "kind": "BooleanLiteral", + "offset": 3109, + "length": 5, + "value": "false" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Util\/BlockingOperation.swift", + "kind": "StringLiteral", + "offset": 387, + "length": 17, + "value": "\"SendbirdUIKit.BlockingOperation\"" + }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/OpenChannel\/SBUOpenChannelBaseMessageCell.swift", "kind": "BooleanLiteral", @@ -358187,7 +368052,7 @@ { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/OpenChannel\/SBUOpenChannelBaseMessageCell.swift", "kind": "BooleanLiteral", - "offset": 3514, + "offset": 3522, "length": 5, "value": "false" }, @@ -358488,70 +368353,70 @@ { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/SBUBaseChannelViewController.swift", "kind": "IntegerLiteral", - "offset": 2331, + "offset": 2512, "length": 1, "value": "0" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/SBUBaseChannelViewController.swift", "kind": "BooleanLiteral", - "offset": 2577, + "offset": 2925, "length": 4, "value": "true" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/SBUBaseChannelViewController.swift", "kind": "BooleanLiteral", - "offset": 4001, + "offset": 4349, "length": 5, "value": "false" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/SBUBaseChannelViewController.swift", "kind": "BooleanLiteral", - "offset": 10335, + "offset": 10818, "length": 4, "value": "true" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/SBUBaseChannelViewController.swift", "kind": "BooleanLiteral", - "offset": 11337, + "offset": 11820, "length": 4, "value": "true" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/SBUBaseChannelViewController.swift", "kind": "IntegerLiteral", - "offset": 15522, + "offset": 16005, "length": 1, "value": "0" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/SBUBaseChannelViewController.swift", "kind": "IntegerLiteral", - "offset": 15549, + "offset": 16032, "length": 1, "value": "0" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/SBUBaseChannelViewController.swift", "kind": "BooleanLiteral", - "offset": 17114, + "offset": 17597, "length": 5, "value": "false" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/SBUBaseChannelViewController.swift", "kind": "BooleanLiteral", - "offset": 17161, + "offset": 17644, "length": 5, "value": "false" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/SBUBaseChannelViewController.swift", "kind": "BooleanLiteral", - "offset": 21937, + "offset": 22775, "length": 5, "value": "false" }, @@ -358891,10 +368756,38 @@ "length": 5, "value": "false" }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/MessageCellParams\/SBUMultipleFilesMessageCellParams.swift", + "kind": "BooleanLiteral", + "offset": 780, + "length": 5, + "value": "false" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/MessageCellParams\/SBUMultipleFilesMessageCellParams.swift", + "kind": "BooleanLiteral", + "offset": 819, + "length": 5, + "value": "false" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/MessageCellParams\/SBUMultipleFilesMessageCellParams.swift", + "kind": "IntegerLiteral", + "offset": 852, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/MessageCellParams\/SBUMultipleFilesMessageCellParams.swift", + "kind": "StringLiteral", + "offset": 309, + "length": 33, + "value": "\"SendbirdUIKit.SBUMultipleFilesMessageCellParams\"" + }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/SBUBaseViewController.swift", "kind": "BooleanLiteral", - "offset": 4727, + "offset": 4888, "length": 5, "value": "false" }, @@ -359440,17 +369333,52 @@ { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Module\/Channel\/GroupChannel\/SBUGroupChannelModule.List.swift", "kind": "BooleanLiteral", - "offset": 4375, + "offset": 5262, "length": 5, "value": "false" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Module\/Channel\/GroupChannel\/SBUGroupChannelModule.List.swift", "kind": "Dictionary", - "offset": 5437, + "offset": 6324, "length": 3, "value": "[]" }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Module\/Channel\/GroupChannel\/SBUGroupChannelModule.Input.swift", + "kind": "StringLiteral", + "offset": 7180, + "length": 24, + "value": "\"uploadableFileInfoList\"" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Module\/Channel\/GroupChannel\/SBUGroupChannelModule.Input.swift", + "kind": "StringLiteral", + "offset": 7236, + "length": 7, + "value": "\"image\"" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Module\/Channel\/GroupChannel\/SBUGroupChannelModule.Input.swift", + "kind": "StringLiteral", + "offset": 7273, + "length": 5, + "value": "\"gif\"" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Module\/Channel\/GroupChannel\/SBUGroupChannelModule.Input.swift", + "kind": "StringLiteral", + "offset": 7310, + "length": 7, + "value": "\"video\"" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Module\/Channel\/GroupChannel\/SBUGroupChannelModule.Input.swift", + "kind": "IntegerLiteral", + "offset": 7683, + "length": 1, + "value": "1" + }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Extension\/String+SBUIKit.swift", "kind": "StringLiteral", @@ -359475,175 +369403,175 @@ { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Enums\/SBUIconSetType.swift", "kind": "IntegerLiteral", - "offset": 1659, + "offset": 1673, "length": 2, "value": "12" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Enums\/SBUIconSetType.swift", "kind": "IntegerLiteral", - "offset": 1719, + "offset": 1740, "length": 2, "value": "16" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Enums\/SBUIconSetType.swift", "kind": "IntegerLiteral", - "offset": 1780, + "offset": 1808, "length": 2, "value": "18" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Enums\/SBUIconSetType.swift", "kind": "IntegerLiteral", - "offset": 1835, + "offset": 1870, "length": 2, "value": "24" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Enums\/SBUIconSetType.swift", "kind": "IntegerLiteral", - "offset": 1895, + "offset": 1937, "length": 2, "value": "32" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Enums\/SBUIconSetType.swift", "kind": "IntegerLiteral", - "offset": 1959, + "offset": 2008, "length": 2, "value": "48" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Enums\/SBUIconSetType.swift", "kind": "IntegerLiteral", - "offset": 2020, + "offset": 2076, "length": 2, "value": "20" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Enums\/SBUIconSetType.swift", "kind": "IntegerLiteral", - "offset": 2131, + "offset": 2201, "length": 2, "value": "20" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Enums\/SBUIconSetType.swift", "kind": "IntegerLiteral", - "offset": 2185, + "offset": 2262, "length": 2, "value": "38" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Enums\/SBUIconSetType.swift", "kind": "IntegerLiteral", - "offset": 2238, + "offset": 2322, "length": 2, "value": "60" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Enums\/SBUIconSetType.swift", "kind": "IntegerLiteral", - "offset": 2289, + "offset": 2380, "length": 2, "value": "28" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Enums\/SBUIconSetType.swift", "kind": "IntegerLiteral", - "offset": 2345, + "offset": 2443, "length": 2, "value": "40" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Enums\/SBUIconSetType.swift", "kind": "IntegerLiteral", - "offset": 2411, + "offset": 2516, "length": 2, "value": "36" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Enums\/SBUIconSetType.swift", "kind": "IntegerLiteral", - "offset": 2466, + "offset": 2578, "length": 2, "value": "40" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Enums\/SBUIconSetType.swift", "kind": "IntegerLiteral", - "offset": 2527, + "offset": 2646, "length": 2, "value": "15" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Enums\/SBUIconSetType.swift", "kind": "IntegerLiteral", - "offset": 2582, + "offset": 2708, "length": 2, "value": "22" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Enums\/SBUIconSetType.swift", "kind": "IntegerLiteral", - "offset": 2642, + "offset": 2775, "length": 2, "value": "20" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Enums\/SBUIconSetType.swift", "kind": "BooleanLiteral", - "offset": 3936, + "offset": 4076, "length": 4, "value": "true" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Enums\/SBUIconSetType.swift", "kind": "Array", - "offset": 10599, + "offset": 10739, "length": 2, "value": "[]" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/Replies\/ViewParams\/SBUQuotedBaseMessageViewParams.swift", "kind": "IntegerLiteral", - "offset": 2330, + "offset": 2555, "length": 1, "value": "0" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/Replies\/ViewParams\/SBUQuotedBaseMessageViewParams.swift", "kind": "IntegerLiteral", - "offset": 2504, + "offset": 2729, "length": 1, "value": "0" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/Replies\/ViewParams\/SBUQuotedBaseMessageViewParams.swift", "kind": "IntegerLiteral", - "offset": 3437, + "offset": 3662, "length": 1, "value": "0" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/Replies\/ViewParams\/SBUQuotedBaseMessageViewParams.swift", "kind": "IntegerLiteral", - "offset": 3472, + "offset": 3697, "length": 1, "value": "0" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/Replies\/ViewParams\/SBUQuotedBaseMessageViewParams.swift", "kind": "BooleanLiteral", - "offset": 5690, + "offset": 6920, "length": 4, "value": "true" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/Replies\/ViewParams\/SBUQuotedBaseMessageViewParams.swift", "kind": "BooleanLiteral", - "offset": 6395, + "offset": 7625, "length": 4, "value": "true" }, @@ -359710,41 +369638,6 @@ "length": 4, "value": "true" }, - { - "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Common\/SBUPaddingLabel.swift", - "kind": "IntegerLiteral", - "offset": 831, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Common\/SBUPaddingLabel.swift", - "kind": "IntegerLiteral", - "offset": 854, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Common\/SBUPaddingLabel.swift", - "kind": "IntegerLiteral", - "offset": 878, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Common\/SBUPaddingLabel.swift", - "kind": "IntegerLiteral", - "offset": 903, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Common\/SBUPaddingLabel.swift", - "kind": "StringLiteral", - "offset": 178, - "length": 15, - "value": "\"SendbirdUIKit.SBUPaddingLabel\"" - }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Extension\/UIButton+SBUIKit.swift", "kind": "IntegerLiteral", @@ -359790,49 +369683,49 @@ { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/SBUGlobals.swift", "kind": "BooleanLiteral", - "offset": 2278, + "offset": 2409, "length": 5, "value": "false" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/SBUGlobals.swift", "kind": "BooleanLiteral", - "offset": 3845, + "offset": 3976, "length": 4, "value": "true" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/SBUGlobals.swift", "kind": "FloatLiteral", - "offset": 4179, + "offset": 4310, "length": 3, "value": "0.7" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/SBUGlobals.swift", "kind": "BooleanLiteral", - "offset": 6037, + "offset": 6168, "length": 4, "value": "true" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/SBUGlobals.swift", "kind": "BooleanLiteral", - "offset": 7192, + "offset": 7323, "length": 5, "value": "false" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/SBUGlobals.swift", "kind": "BooleanLiteral", - "offset": 7781, + "offset": 7912, "length": 4, "value": "true" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/SBUGlobals.swift", "kind": "BooleanLiteral", - "offset": 8247, + "offset": 8378, "length": 4, "value": "true" }, @@ -360231,63 +370124,63 @@ { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/MessageThread\/SBUMessageThreadViewController.swift", "kind": "BooleanLiteral", - "offset": 13501, + "offset": 20028, "length": 5, "value": "false" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/MessageThread\/SBUMessageThreadViewController.swift", "kind": "StringLiteral", - "offset": 1232, + "offset": 1248, "length": 30, "value": "\"SendbirdUIKit.SBUMessageThreadViewController\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/MessageThread\/SBUMessageThreadViewController.swift", "kind": "StringLiteral", - "offset": 1232, + "offset": 1248, "length": 30, "value": "\"SendbirdUIKit.SBUMessageThreadViewController\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/MessageThread\/SBUMessageThreadViewController.swift", "kind": "StringLiteral", - "offset": 1232, + "offset": 1248, "length": 30, "value": "\"SendbirdUIKit.SBUMessageThreadViewController\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/FileViewer\/SBUFileViewController.swift", "kind": "IntegerLiteral", - "offset": 2196, + "offset": 3804, "length": 1, "value": "0" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/FileViewer\/SBUFileViewController.swift", "kind": "IntegerLiteral", - "offset": 2218, + "offset": 3826, "length": 1, "value": "0" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/FileViewer\/SBUFileViewController.swift", "kind": "FloatLiteral", - "offset": 2293, + "offset": 3901, "length": 3, "value": "0.0" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/FileViewer\/SBUFileViewController.swift", "kind": "IntegerLiteral", - "offset": 2322, + "offset": 3930, "length": 2, "value": "50" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/FileViewer\/SBUFileViewController.swift", "kind": "StringLiteral", - "offset": 809, + "offset": 2422, "length": 21, "value": "\"SendbirdUIKit.SBUFileViewController\"" }, @@ -361113,154 +371006,154 @@ { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Theme\/SBUTheme.swift", "kind": "FloatLiteral", - "offset": 98230, + "offset": 98502, "length": 3, "value": "0.5" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Theme\/SBUTheme.swift", "kind": "FloatLiteral", - "offset": 133531, + "offset": 133803, "length": 4, "value": "0.12" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Theme\/SBUTheme.swift", "kind": "IntegerLiteral", - "offset": 174231, + "offset": 174503, "length": 2, "value": "18" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Theme\/SBUTheme.swift", "kind": "IntegerLiteral", - "offset": 174951, + "offset": 175223, "length": 2, "value": "18" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Theme\/SBUTheme.swift", "kind": "IntegerLiteral", - "offset": 176641, + "offset": 176913, "length": 2, "value": "14" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Theme\/SBUTheme.swift", "kind": "IntegerLiteral", - "offset": 176876, + "offset": 177148, "length": 2, "value": "12" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Theme\/SBUTheme.swift", "kind": "IntegerLiteral", - "offset": 177657, + "offset": 177929, "length": 2, "value": "14" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Theme\/SBUTheme.swift", "kind": "IntegerLiteral", - "offset": 178171, + "offset": 178443, "length": 2, "value": "12" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Theme\/SBUTheme.swift", "kind": "IntegerLiteral", - "offset": 180106, + "offset": 180378, "length": 1, "value": "8" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Theme\/SBUTheme.swift", "kind": "IntegerLiteral", - "offset": 180285, + "offset": 180557, "length": 2, "value": "12" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Theme\/SBUTheme.swift", "kind": "IntegerLiteral", - "offset": 180450, + "offset": 180722, "length": 2, "value": "14" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Theme\/SBUTheme.swift", "kind": "StringLiteral", - "offset": 180686, + "offset": 180958, "length": 11, "value": "\"#e0000000\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Theme\/SBUTheme.swift", "kind": "StringLiteral", - "offset": 180753, + "offset": 181025, "length": 11, "value": "\"#70000000\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Theme\/SBUTheme.swift", "kind": "StringLiteral", - "offset": 180818, + "offset": 181090, "length": 11, "value": "\"#e0000000\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Theme\/SBUTheme.swift", "kind": "IntegerLiteral", - "offset": 181638, + "offset": 181910, "length": 1, "value": "8" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Theme\/SBUTheme.swift", "kind": "IntegerLiteral", - "offset": 181832, + "offset": 182104, "length": 2, "value": "12" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Theme\/SBUTheme.swift", "kind": "IntegerLiteral", - "offset": 182199, + "offset": 182471, "length": 2, "value": "14" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Theme\/SBUTheme.swift", "kind": "StringLiteral", - "offset": 182704, + "offset": 182976, "length": 11, "value": "\"#e0000000\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Theme\/SBUTheme.swift", "kind": "StringLiteral", - "offset": 182770, + "offset": 183042, "length": 11, "value": "\"#70000000\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Theme\/SBUTheme.swift", "kind": "StringLiteral", - "offset": 182843, + "offset": 183115, "length": 11, "value": "\"#e0000000\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Theme\/SBUTheme.swift", "kind": "IntegerLiteral", - "offset": 184155, + "offset": 184427, "length": 2, "value": "15" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Theme\/SBUTheme.swift", "kind": "IntegerLiteral", - "offset": 184450, + "offset": 184722, "length": 2, "value": "12" }, @@ -361400,63 +371293,63 @@ { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/CellView\/SBUUserMessageTextView.swift", "kind": "BooleanLiteral", - "offset": 1317, + "offset": 1380, "length": 5, "value": "false" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/CellView\/SBUUserMessageTextView.swift", "kind": "BooleanLiteral", - "offset": 1373, + "offset": 1436, "length": 5, "value": "false" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/CellView\/SBUUserMessageTextView.swift", "kind": "BooleanLiteral", - "offset": 1414, + "offset": 1477, "length": 5, "value": "false" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/CellView\/SBUUserMessageTextView.swift", "kind": "BooleanLiteral", - "offset": 1450, + "offset": 1513, "length": 5, "value": "false" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/CellView\/SBUUserMessageTextView.swift", "kind": "BooleanLiteral", - "offset": 1488, + "offset": 1551, "length": 4, "value": "true" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/CellView\/SBUUserMessageTextView.swift", "kind": "IntegerLiteral", - "offset": 1606, + "offset": 1669, "length": 1, "value": "0" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/CellView\/SBUUserMessageTextView.swift", "kind": "BooleanLiteral", - "offset": 1831, + "offset": 1894, "length": 5, "value": "false" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/CellView\/SBUUserMessageTextView.swift", "kind": "BooleanLiteral", - "offset": 2097, + "offset": 2044, "length": 5, "value": "false" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/CellView\/SBUUserMessageTextView.swift", "kind": "BooleanLiteral", - "offset": 2601, + "offset": 2928, "length": 5, "value": "false" }, @@ -361649,45 +371542,31 @@ "length": 2, "value": "16" }, - { - "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Module\/SelectUser\/CreateChannel\/SBUCreateOpenChannelModule.ProfileInput.swift", - "kind": "IntegerLiteral", - "offset": 1900, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Module\/SelectUser\/CreateChannel\/SBUCreateOpenChannelModule.ProfileInput.swift", - "kind": "IntegerLiteral", - "offset": 1922, - "length": 1, - "value": "0" - }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Module\/SelectUser\/CreateChannel\/SBUCreateOpenChannelModule.ProfileInput.swift", "kind": "BooleanLiteral", - "offset": 3054, + "offset": 2785, "length": 5, "value": "false" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Module\/SelectUser\/CreateChannel\/SBUCreateOpenChannelModule.ProfileInput.swift", "kind": "FloatLiteral", - "offset": 3107, + "offset": 2838, "length": 4, "value": "80.0" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Module\/SelectUser\/CreateChannel\/SBUCreateOpenChannelModule.ProfileInput.swift", "kind": "IntegerLiteral", - "offset": 3175, + "offset": 2906, "length": 2, "value": "46" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Module\/SelectUser\/CreateChannel\/SBUCreateOpenChannelModule.ProfileInput.swift", "kind": "IntegerLiteral", - "offset": 3187, + "offset": 2918, "length": 2, "value": "46" }, @@ -361743,59 +371622,143 @@ { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/ViewModel\/MessageThread\/SBUMessageThreadViewModel.swift", "kind": "IntegerLiteral", - "offset": 2041, + "offset": 2234, "length": 3, "value": "100" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/ViewModel\/MessageThread\/SBUMessageThreadViewModel.swift", "kind": "BooleanLiteral", - "offset": 2772, + "offset": 3310, "length": 4, "value": "true" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/ViewModel\/MessageThread\/SBUMessageThreadViewModel.swift", "kind": "BooleanLiteral", - "offset": 2824, + "offset": 3362, "length": 5, "value": "false" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/ViewModel\/MessageThread\/SBUMessageThreadViewModel.swift", "kind": "IntegerLiteral", - "offset": 2943, + "offset": 3481, "length": 1, "value": "0" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/ViewModel\/MessageThread\/SBUMessageThreadViewModel.swift", "kind": "BooleanLiteral", - "offset": 3088, + "offset": 3626, "length": 5, "value": "false" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/ViewModel\/MessageThread\/SBUMessageThreadViewModel.swift", "kind": "IntegerLiteral", - "offset": 3576, + "offset": 4114, "length": 1, "value": "0" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/ViewModel\/MessageThread\/SBUMessageThreadViewModel.swift", "kind": "BooleanLiteral", - "offset": 12651, + "offset": 13189, "length": 5, "value": "false" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/ViewModel\/MessageThread\/SBUMessageThreadViewModel.swift", "kind": "StringLiteral", - "offset": 1722, + "offset": 1915, "length": 25, "value": "\"SendbirdUIKit.SBUMessageThreadViewModel\"" }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/MultipleFilesMessage\/SBUMultipleFilesMessageCell.swift", + "kind": "IntegerLiteral", + "offset": 840, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/MultipleFilesMessage\/SBUMultipleFilesMessageCell.swift", + "kind": "IntegerLiteral", + "offset": 849, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/MultipleFilesMessage\/SBUMultipleFilesMessageCell.swift", + "kind": "IntegerLiteral", + "offset": 860, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/MultipleFilesMessage\/SBUMultipleFilesMessageCell.swift", + "kind": "IntegerLiteral", + "offset": 870, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/MultipleFilesMessage\/SBUMultipleFilesMessageCell.swift", + "kind": "IntegerLiteral", + "offset": 914, + "length": 1, + "value": "4" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/MultipleFilesMessage\/SBUMultipleFilesMessageCell.swift", + "kind": "IntegerLiteral", + "offset": 952, + "length": 1, + "value": "4" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/MultipleFilesMessage\/SBUMultipleFilesMessageCell.swift", + "kind": "BooleanLiteral", + "offset": 1115, + "length": 5, + "value": "false" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/MultipleFilesMessage\/SBUMultipleFilesMessageCell.swift", + "kind": "FloatLiteral", + "offset": 1844, + "length": 3, + "value": "4.0" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/MultipleFilesMessage\/SBUMultipleFilesMessageCell.swift", + "kind": "FloatLiteral", + "offset": 1896, + "length": 4, + "value": "12.0" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/MultipleFilesMessage\/SBUMultipleFilesMessageCell.swift", + "kind": "FloatLiteral", + "offset": 1948, + "length": 3, + "value": "4.0" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/MultipleFilesMessage\/SBUMultipleFilesMessageCell.swift", + "kind": "FloatLiteral", + "offset": 1999, + "length": 3, + "value": "4.0" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/MultipleFilesMessage\/SBUMultipleFilesMessageCell.swift", + "kind": "FloatLiteral", + "offset": 2055, + "length": 3, + "value": "6.0" + }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Configuration\/Replies\/SBUReplyConfiguration.swift", "kind": "BooleanLiteral", @@ -361904,21 +371867,21 @@ { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/ViewModel\/Channel\/SBUGroupChannelViewModel.swift", "kind": "BooleanLiteral", - "offset": 2202, + "offset": 2622, "length": 5, "value": "false" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/ViewModel\/Channel\/SBUGroupChannelViewModel.swift", "kind": "BooleanLiteral", - "offset": 2624, + "offset": 3044, "length": 5, "value": "false" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/ViewModel\/Channel\/SBUGroupChannelViewModel.swift", "kind": "StringLiteral", - "offset": 1303, + "offset": 1494, "length": 24, "value": "\"SendbirdUIKit.SBUGroupChannelViewModel\"" }, @@ -361981,63 +371944,63 @@ { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageInput\/SBUQuoteMessageInputView.swift", "kind": "IntegerLiteral", - "offset": 9742, + "offset": 11220, "length": 1, "value": "0" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageInput\/SBUQuoteMessageInputView.swift", "kind": "IntegerLiteral", - "offset": 9767, + "offset": 11245, "length": 1, "value": "1" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageInput\/SBUQuoteMessageInputView.swift", "kind": "IntegerLiteral", - "offset": 9793, + "offset": 11271, "length": 1, "value": "2" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageInput\/SBUQuoteMessageInputView.swift", "kind": "IntegerLiteral", - "offset": 9742, + "offset": 11220, "length": 1, "value": "0" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageInput\/SBUQuoteMessageInputView.swift", "kind": "IntegerLiteral", - "offset": 9767, + "offset": 11245, "length": 1, "value": "1" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageInput\/SBUQuoteMessageInputView.swift", "kind": "IntegerLiteral", - "offset": 9793, + "offset": 11271, "length": 1, "value": "2" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageInput\/SBUQuoteMessageInputView.swift", "kind": "IntegerLiteral", - "offset": 9742, + "offset": 11220, "length": 1, "value": "0" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageInput\/SBUQuoteMessageInputView.swift", "kind": "IntegerLiteral", - "offset": 9767, + "offset": 11245, "length": 1, "value": "1" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageInput\/SBUQuoteMessageInputView.swift", "kind": "IntegerLiteral", - "offset": 9793, + "offset": 11271, "length": 1, "value": "2" }, diff --git a/Framework/SendbirdUIKit.xcframework/ios-arm64/SendbirdUIKit.framework/Modules/SendbirdUIKit.swiftmodule/arm64-apple-ios.private.swiftinterface b/Framework/SendbirdUIKit.xcframework/ios-arm64/SendbirdUIKit.framework/Modules/SendbirdUIKit.swiftmodule/arm64-apple-ios.private.swiftinterface index f3ba8462b..61be0e818 100644 --- a/Framework/SendbirdUIKit.xcframework/ios-arm64/SendbirdUIKit.framework/Modules/SendbirdUIKit.swiftmodule/arm64-apple-ios.private.swiftinterface +++ b/Framework/SendbirdUIKit.xcframework/ios-arm64/SendbirdUIKit.framework/Modules/SendbirdUIKit.swiftmodule/arm64-apple-ios.private.swiftinterface @@ -155,7 +155,7 @@ extension SendbirdUIKit.SBUBaseChannelModule { @_Concurrency.MainActor(unsafe) open func updateStyles(theme: SendbirdUIKit.SBUChannelTheme? = nil, componentTheme: SendbirdUIKit.SBUComponentTheme = SBUTheme.componentTheme) @_Concurrency.MainActor(unsafe) public func setupScrollBottomViewStyle(scrollBottomView: UIKit.UIView, theme: SendbirdUIKit.SBUComponentTheme = SBUTheme.componentTheme) @objc @_Concurrency.MainActor(unsafe) open func setScrollBottomView(hidden: Swift.Bool) - @objc @_Concurrency.MainActor(unsafe) public func reloadTableView() + @objc @_Concurrency.MainActor(unsafe) public func reloadTableView(needsToLayout: Swift.Bool = true) @_Concurrency.MainActor(unsafe) public func updateEmptyView(type: SendbirdUIKit.EmptyViewType) @objc @_Concurrency.MainActor(unsafe) open func showMessageMenu(on message: SendbirdChatSDK.BaseMessage, forRowAt indexPath: Foundation.IndexPath) @objc @_Concurrency.MainActor(unsafe) open func showFailedMessageMenu(on message: SendbirdChatSDK.BaseMessage) @@ -341,6 +341,7 @@ public protocol SBUMessageThreadModuleInputDelegate : SendbirdUIKit.SBUBaseChann func messageThreadModule(_ inputComponent: SendbirdUIKit.SBUMessageThreadModule.Input, shouldLoadSuggestedMentions filterText: Swift.String) func messageThreadModuleShouldStopSuggestingMention(_ inputComponent: SendbirdUIKit.SBUMessageThreadModule.Input) func messageThreadModuleDidTapVoiceMessage(_ inputComponent: SendbirdUIKit.SBUMessageThreadModule.Input) + func messageThreadModule(_ inputComponent: SendbirdUIKit.SBUMessageThreadModule.Input, didPickMultipleFiles fileInfoList: [SendbirdChatSDK.UploadableFileInfo], parentMessage: SendbirdChatSDK.BaseMessage) } public protocol SBUMessageThreadModuleInputDataSource : SendbirdUIKit.SBUBaseChannelModuleInputDataSource { } @@ -375,6 +376,12 @@ extension SendbirdUIKit.SBUMessageThreadModule { @_Concurrency.MainActor(unsafe) @objc override open func pickDocumentFile(documentURLs: [Foundation.URL]) @_Concurrency.MainActor(unsafe) @objc override open func pickImageData(_ data: Foundation.Data, fileName: Swift.String? = nil, mimeType: Swift.String? = nil) @_Concurrency.MainActor(unsafe) @objc override open func pickVideoURL(_ url: Foundation.URL) + @objc @available(iOS 14.0, *) + @_Concurrency.MainActor(unsafe) public func pickMultipleImageFiles(itemProviders: [Foundation.NSItemProvider]) + @available(iOS 14.0, *) + @_Concurrency.MainActor(unsafe) public func loadImageFile(itemProvider: Foundation.NSItemProvider, index: Swift.Int? = nil, completion: @escaping (Foundation.Data?, Swift.String?, Swift.String?) -> Swift.Void) + @available(iOS 14.0, *) + @_Concurrency.MainActor(unsafe) public func loadGIFfile(itemProvider: Foundation.NSItemProvider, index: Swift.Int? = nil, completion: @escaping (Foundation.Data?, Swift.String?, Swift.String?) -> Swift.Void) @_Concurrency.MainActor(unsafe) @objc override open func updateMessageInputMode(_ mode: SendbirdUIKit.SBUMessageInputMode, message: SendbirdChatSDK.BaseMessage? = nil) @_Concurrency.MainActor(unsafe) @objc override open func updateMessageInputModeState() @_Concurrency.MainActor(unsafe) @objc override open func updateFrozenModeState() @@ -831,10 +838,10 @@ extension SendbirdUIKit.SBUView : SendbirdUIKit.SBUViewLifeCycle { set _modify } - @_Concurrency.MainActor(unsafe) public var collectionViewHeightConstraint: UIKit.NSLayoutConstraint! { + @_Concurrency.MainActor(unsafe) public var collectionViewHeightConstraint: UIKit.NSLayoutConstraint? { get } - @_Concurrency.MainActor(unsafe) public var collectionViewMinWidthContraint: UIKit.NSLayoutConstraint! { + @_Concurrency.MainActor(unsafe) public var collectionViewMinWidthContraint: UIKit.NSLayoutConstraint? { get } @_Concurrency.MainActor(unsafe) final public let collectionViewInsets: UIKit.UIEdgeInsets @@ -1736,6 +1743,7 @@ extension UIKit.UIImageView { @_hasMissingDesignatedInitializers public class SBUUtils { public static func getFileType(by fileMessage: SendbirdChatSDK.FileMessage) -> SendbirdUIKit.SBUMessageFileType public static func getFileType(by type: Swift.String) -> SendbirdUIKit.SBUMessageFileType + public static func getFileTypeString(by fileType: Swift.String) -> Swift.String public static func generateChannelName(channel: SendbirdChatSDK.GroupChannel) -> Swift.String public static func getMimeType(url: Foundation.URL) -> Swift.String? @available(*, deprecated, renamed: "getReceiptState(of:in:)") @@ -1786,6 +1794,7 @@ extension UIKit.UIImageView { public static var Settings: Swift.String public static var Reply: Swift.String public static var Alert_Delete: Swift.String + public static var Alert_Delete_MultipleFilesMessage: (Swift.Int) -> Swift.String public static var Alert_Allow_Camera_Access: Swift.String public static var Alert_Allow_PhotoLibrary_Access: Swift.String public static var Alert_Allow_PhotoLibrary_Access_Message: Swift.String @@ -1947,6 +1956,22 @@ extension UIKit.UIImageView { } public static var fileName: Swift.String } + public struct GroupChannel { + public struct Preview { + public static var photo: Swift.String + public static var gif: Swift.String + public static var video: Swift.String + public static var audio: Swift.String + public static var voice: Swift.String + public static var file: Swift.String + public static var multipleFiles: Swift.String + } + } + public struct FileUpload { + public struct Error { + public static var exceededSizeLimit: Swift.String + } + } @objc deinit } extension SendbirdUIKit.SBUStringSet { @@ -2120,6 +2145,7 @@ extension SendbirdUIKit.SBUCreateOpenChannelModule { @_Concurrency.MainActor(unsafe) final public let descriptionLabel: UIKit.UILabel @_Concurrency.MainActor(unsafe) final public let urlLabel: UIKit.UILabel @_Concurrency.MainActor(unsafe) public var imageHeightConstraint: UIKit.NSLayoutConstraint? + @_Concurrency.MainActor(unsafe) public var imageWitdhConstraint: UIKit.NSLayoutConstraint? @_Concurrency.MainActor(unsafe) @objc override dynamic public init(frame: CoreFoundation.CGRect) @_Concurrency.MainActor(unsafe) @objc required dynamic public init(coder: Foundation.NSCoder) @_Concurrency.MainActor(unsafe) @objc override dynamic open func layoutSubviews() @@ -2297,6 +2323,11 @@ extension SendbirdUIKit.SBUModuleSet { public static var MessageSearchModule: SendbirdUIKit.SBUMessageSearchModule.Type public static var MessageThreadModule: SendbirdUIKit.SBUMessageThreadModule.Type } +extension SendbirdChatSDK.MultipleFilesMessage { + public var filesCount: Swift.Int { + get + } +} public protocol SBUMessageSearchViewModelDelegate : SendbirdUIKit.SBUCommonViewModelDelegate { func searchViewModel(_ viewModel: SendbirdUIKit.SBUMessageSearchViewModel, didChangeSearchResults results: [SendbirdChatSDK.BaseMessage], needsToReload: Swift.Bool) } @@ -2317,6 +2348,24 @@ open class SBUMessageSearchViewModel { public func loadMore() @objc deinit } +@objc @_inheritsConvenienceInitializers @_Concurrency.MainActor(unsafe) open class SBUMultipleFilesMessageCollectionView : UIKit.UICollectionView, SendbirdUIKit.SBUViewLifeCycle { + @SendbirdUIKit.SBUThemeWrapper @_Concurrency.MainActor(unsafe) public var theme: SendbirdUIKit.SBUMessageCellTheme { + get + set + _modify + } + @_Concurrency.MainActor(unsafe) public var cornerRadius: CoreFoundation.CGFloat + @_Concurrency.MainActor(unsafe) open func configure(delegate: UIKit.UICollectionViewDelegate, dataSource: UIKit.UICollectionViewDataSource, theme: SendbirdUIKit.SBUMessageCellTheme? = nil, cornerRadius: CoreFoundation.CGFloat) + @_Concurrency.MainActor(unsafe) @objc open func setupViews() + @_Concurrency.MainActor(unsafe) @objc open func setupLayouts() + @_Concurrency.MainActor(unsafe) @objc open func setupStyles() + @_Concurrency.MainActor(unsafe) @objc open func setupActions() + @_Concurrency.MainActor(unsafe) @objc open func updateLayouts() + @_Concurrency.MainActor(unsafe) @objc open func updateStyles() + @_Concurrency.MainActor(unsafe) @objc override dynamic public init(frame: CoreFoundation.CGRect, collectionViewLayout layout: UIKit.UICollectionViewLayout) + @_Concurrency.MainActor(unsafe) @objc required dynamic public init?(coder: Foundation.NSCoder) + @objc deinit +} extension SendbirdUIKit.SBUBaseSelectUserViewController { @objc @available(*, deprecated, renamed: "channelURL") @_Concurrency.MainActor(unsafe) dynamic public var channelUrl: Swift.String? { @@ -2477,6 +2526,28 @@ extension SendbirdUIKit.SBUBaseChannelSettingsModule { @objc func updateLayouts() @objc func setupActions() } +@objc @_hasMissingDesignatedInitializers @_Concurrency.MainActor(unsafe) public class SBUPaddingLabel : UIKit.UILabel { + @_Concurrency.MainActor(unsafe) public var top: CoreFoundation.CGFloat { + get + } + @_Concurrency.MainActor(unsafe) public var bottom: CoreFoundation.CGFloat { + get + } + @_Concurrency.MainActor(unsafe) public var leading: CoreFoundation.CGFloat { + get + } + @_Concurrency.MainActor(unsafe) public var trailing: CoreFoundation.CGFloat { + get + } + @_Concurrency.MainActor(unsafe) convenience public init(_ all: CoreFoundation.CGFloat) + @_Concurrency.MainActor(unsafe) convenience public init(_ vertical: CoreFoundation.CGFloat, _ horizontal: CoreFoundation.CGFloat) + @_Concurrency.MainActor(unsafe) public init(_ top: CoreFoundation.CGFloat = 0, _ bottom: CoreFoundation.CGFloat = 0, _ leading: CoreFoundation.CGFloat = 0, _ trailing: CoreFoundation.CGFloat = 0) + @_Concurrency.MainActor(unsafe) @objc override dynamic public func drawText(in rect: CoreFoundation.CGRect) + @_Concurrency.MainActor(unsafe) @objc override dynamic public var intrinsicContentSize: CoreFoundation.CGSize { + @objc get + } + @objc deinit +} public typealias SBUNewNotificationInfoHandler = () -> Swift.Void extension SendbirdUIKit.SBUBaseChannelViewController { @objc @_Concurrency.MainActor(unsafe) dynamic public func registerKeyboardNotifications() @@ -2497,7 +2568,7 @@ extension SendbirdUIKit.SBUBaseChannelViewController { get } @objc @_Concurrency.MainActor(unsafe) public var webView: SendbirdUIKit.SBUOpenChannelMessageWebView - @objc @_Concurrency.MainActor(unsafe) public var messageTypeConstraint: UIKit.NSLayoutConstraint! { + @objc @_Concurrency.MainActor(unsafe) public var messageTypeConstraint: UIKit.NSLayoutConstraint? { get } @objc @_Concurrency.MainActor(unsafe) public var webTypeConstraints: [UIKit.NSLayoutConstraint] { @@ -2957,6 +3028,7 @@ public protocol SBUMessageCellProtocol { @objc @_Concurrency.MainActor(unsafe) public var newMessagesCount: Swift.Int { get } + @objc @_Concurrency.MainActor(unsafe) open func multipleFilesMessageFileSizeErrorHandler(_ message: Swift.String) @objc @_Concurrency.MainActor(unsafe) required public init(channel: SendbirdChatSDK.GroupChannel, messageListParams: SendbirdChatSDK.MessageListParams? = nil) @objc @_Concurrency.MainActor(unsafe) public init(channel: SendbirdChatSDK.GroupChannel, messageListParams: SendbirdChatSDK.MessageListParams? = nil, displaysLocalCachedListFirst: Swift.Bool) @_Concurrency.MainActor(unsafe) required public init(channelURL: Swift.String, startingPoint: Swift.Int64? = nil, messageListParams: SendbirdChatSDK.MessageListParams? = nil) @@ -2975,6 +3047,7 @@ public protocol SBUMessageCellProtocol { @_Concurrency.MainActor(unsafe) @objc override open func setupViews() @_Concurrency.MainActor(unsafe) @objc override open func setupLayouts() @_Concurrency.MainActor(unsafe) @objc override open func setupStyles() + @_Concurrency.MainActor(unsafe) @objc override open func updateStyles(needsToLayout: Swift.Bool) @_Concurrency.MainActor(unsafe) @objc override open func updateStyles() @discardableResult @_Concurrency.MainActor(unsafe) @objc override public func increaseNewMessageCount() -> Swift.Bool @@ -2986,14 +3059,20 @@ public protocol SBUMessageCellProtocol { @_Concurrency.MainActor(unsafe) override public func showMenuModal(_ cell: UIKit.UITableViewCell, indexPath: Foundation.IndexPath, message: SendbirdChatSDK.BaseMessage, types: [SendbirdUIKit.MessageMenuItem]?) @_Concurrency.MainActor(unsafe) @objc override open func showChannelSettings() @_Concurrency.MainActor(unsafe) override open func showMessageThread(channelURL: Swift.String, parentMessageId: Swift.Int64, parentMessageCreatedAt: Swift.Int64? = 0, startingPoint: Swift.Int64? = 0) + @_Concurrency.MainActor(unsafe) @objc override open func imagePickerControllerDidCancel(_ picker: UIKit.UIImagePickerController) + @available(iOS 14, *) + @_Concurrency.MainActor(unsafe) override open func picker(_ picker: PhotosUI.PHPickerViewController, didFinishPicking results: [PhotosUI.PHPickerResult]) + @_Concurrency.MainActor(unsafe) @objc override open func showPhotoLibraryPicker() @_Concurrency.MainActor(unsafe) @objc override open func showVoiceMessageInput() @_Concurrency.MainActor(unsafe) @objc override open func dismissVoiceMessageInput() @_Concurrency.MainActor(unsafe) @objc override open func resetVoiceMessageInput(for resignActivity: Swift.Bool = false) @_Concurrency.MainActor(unsafe) @objc override open func baseChannelViewModel(_ viewModel: SendbirdUIKit.SBUBaseChannelViewModel, didChangeChannel channel: SendbirdChatSDK.BaseChannel?, withContext context: SendbirdChatSDK.MessageContext) @_Concurrency.MainActor(unsafe) @objc override open func baseChannelViewModel(_ viewModel: SendbirdUIKit.SBUBaseChannelViewModel, deletedMessages messages: [SendbirdChatSDK.BaseMessage]) @objc @_Concurrency.MainActor(unsafe) open func groupChannelViewModel(_ viewModel: SendbirdUIKit.SBUGroupChannelViewModel, didReceiveSuggestedMentions members: [SendbirdUIKit.SBUUser]?) + @objc @_Concurrency.MainActor(unsafe) public func groupChannelViewModel(_ viewModel: SendbirdUIKit.SBUGroupChannelViewModel, didFinishUploadingFileAt index: Swift.Int, multipleFilesMessageRequestId requestId: Swift.String) @_Concurrency.MainActor(unsafe) @objc override open func baseChannelModule(_ headerComponent: SendbirdUIKit.SBUBaseChannelModule.Header, didTapLeftItem leftItem: UIKit.UIBarButtonItem) @_Concurrency.MainActor(unsafe) @objc override open func baseChannelModule(_ headerComponent: SendbirdUIKit.SBUBaseChannelModule.Header, didTapRightItem rightItem: UIKit.UIBarButtonItem) + @objc @_Concurrency.MainActor(unsafe) open func groupChannelModule(_ listComponent: SendbirdUIKit.SBUGroupChannelModule.List, didSelectFileAt index: Swift.Int, multipleFilesMessageCell: SendbirdUIKit.SBUMultipleFilesMessageCell, forRowAt cellIndexPath: Foundation.IndexPath) @objc @_Concurrency.MainActor(unsafe) open func groupChannelModule(_ listComponent: SendbirdUIKit.SBUGroupChannelModule.List, didTapEmoji emojiKey: Swift.String, messageCell: SendbirdUIKit.SBUBaseMessageCell) @objc @_Concurrency.MainActor(unsafe) open func groupChannelModule(_ listComponent: SendbirdUIKit.SBUGroupChannelModule.List, didLongTapEmoji emojiKey: Swift.String, messageCell: SendbirdUIKit.SBUBaseMessageCell) @objc @_Concurrency.MainActor(unsafe) open func groupChannelModule(_ listComponent: SendbirdUIKit.SBUGroupChannelModule.List, didTapMoreEmojiForCell messageCell: SendbirdUIKit.SBUBaseMessageCell) @@ -3006,6 +3085,7 @@ public protocol SBUMessageCellProtocol { @_Concurrency.MainActor(unsafe) open func groupChannelModule(_ listComponent: SendbirdUIKit.SBUGroupChannelModule.List, highlightInfoInTableView tableView: UIKit.UITableView) -> SendbirdUIKit.SBUHighlightMessageInfo? @_Concurrency.MainActor(unsafe) @objc override open func baseChannelModule(_ inputComponent: SendbirdUIKit.SBUBaseChannelModule.Input, didUpdateFrozenState isFrozen: Swift.Bool) @objc @_Concurrency.MainActor(unsafe) open func groupChannelModule(_ inputComponent: SendbirdUIKit.SBUGroupChannelModule.Input, didPickFileData fileData: Foundation.Data?, fileName: Swift.String, mimeType: Swift.String, parentMessage: SendbirdChatSDK.BaseMessage?) + @objc @_Concurrency.MainActor(unsafe) open func groupChannelModule(_ inputComponent: SendbirdUIKit.SBUGroupChannelModule.Input, didPickMultipleFiles fileInfoList: [SendbirdChatSDK.UploadableFileInfo]?, parentMessage: SendbirdChatSDK.BaseMessage?) @objc @_Concurrency.MainActor(unsafe) open func groupChannelModule(_ inputComponent: SendbirdUIKit.SBUGroupChannelModule.Input, didTapSend text: Swift.String, mentionedMessageTemplate: Swift.String, mentionedUserIds: [Swift.String], parentMessage: SendbirdChatSDK.BaseMessage?) @objc @_Concurrency.MainActor(unsafe) open func groupChannelModule(_ inputComponent: SendbirdUIKit.SBUGroupChannelModule.Input, didTapEdit text: Swift.String, mentionedMessageTemplate: Swift.String, mentionedUserIds: [Swift.String]) @objc @_Concurrency.MainActor(unsafe) open func groupChannelModule(_ inputComponent: SendbirdUIKit.SBUGroupChannelModule.Input, willChangeMode mode: SendbirdUIKit.SBUMessageInputMode, message: SendbirdChatSDK.BaseMessage?, mentionedMessageTemplate: Swift.String, mentionedUserIds: [Swift.String]) @@ -3535,7 +3615,7 @@ public protocol SBUSuggestedMentionListDelegate : AnyObject { } @_Concurrency.MainActor(unsafe) public var userCell: UIKit.UITableViewCell? @_Concurrency.MainActor(unsafe) public var limitGuideCell: UIKit.UITableViewCell? - @_Concurrency.MainActor(unsafe) public var heightConstraint: UIKit.NSLayoutConstraint! + @_Concurrency.MainActor(unsafe) public var heightConstraint: UIKit.NSLayoutConstraint? @_Concurrency.MainActor(unsafe) public var filteredUsers: [SendbirdUIKit.SBUUser] { get } @@ -3611,6 +3691,10 @@ extension SendbirdUIKit.SBUConfig.GroupChannel { set } public var input: SendbirdUIKit.SBUConfig.GroupChannel.Channel.Input + @SendbirdUIKit.SBUPrioritizedConfig public var isMultipleFilesMessageEnabled: Swift.Bool { + get + set + } @objc deinit public func encode(to encoder: Swift.Encoder) throws required public init(from decoder: Swift.Decoder) throws @@ -3686,6 +3770,8 @@ public protocol SBUMessageThreadModuleListDelegate : SendbirdUIKit.SBUBaseChanne func messageThreadModule(_ listComponent: SendbirdUIKit.SBUMessageThreadModule.List, didLongTapEmoji emojiKey: Swift.String, messageCell: SendbirdUIKit.SBUBaseMessageCell) func messageThreadModule(_ listComponent: SendbirdUIKit.SBUMessageThreadModule.List, didTapMoreEmojiForCell messageCell: SendbirdUIKit.SBUBaseMessageCell) func messageThreadModule(_ listComponent: SendbirdUIKit.SBUMessageThreadModule.List, didTapMentionUser user: SendbirdUIKit.SBUUser) + func messageThreadModule(_ listComponent: SendbirdUIKit.SBUMessageThreadModule.List, didSelectFileAt index: Swift.Int, multipleFilesMessageCell: SendbirdUIKit.SBUMultipleFilesMessageCell, forRowAt cellIndexPath: Foundation.IndexPath) + func messageThreadModule(_ listComponent: SendbirdUIKit.SBUMessageThreadModule.List, uploadedFileInfo: SendbirdChatSDK.UploadedFileInfo, message: SendbirdChatSDK.MultipleFilesMessage, index: Swift.Int) } public protocol SBUMessageThreadModuleListDataSource : SendbirdUIKit.SBUBaseChannelModuleListDataSource { } @@ -3702,6 +3788,9 @@ extension SendbirdUIKit.SBUMessageThreadModule { @objc @_Concurrency.MainActor(unsafe) public var fileMessageCell: SendbirdUIKit.SBUBaseMessageCell? { get } + @objc @_Concurrency.MainActor(unsafe) public var multipleFilesMessageCell: SendbirdUIKit.SBUBaseMessageCell? { + get + } @objc @_Concurrency.MainActor(unsafe) public var unknownMessageCell: SendbirdUIKit.SBUBaseMessageCell? { get } @@ -3734,11 +3823,12 @@ extension SendbirdUIKit.SBUMessageThreadModule { @_Concurrency.MainActor(unsafe) override open func createMessageMenuItems(for message: SendbirdChatSDK.BaseMessage) -> [SendbirdUIKit.SBUMenuItem] @_Concurrency.MainActor(unsafe) @objc override open func showMessageContextMenu(for message: SendbirdChatSDK.BaseMessage, cell: UIKit.UITableViewCell, forRowAt indexPath: Foundation.IndexPath) @objc @_Concurrency.MainActor(unsafe) open func setMessageCellGestures(_ cell: SendbirdUIKit.SBUBaseMessageCell, message: SendbirdChatSDK.BaseMessage, indexPath: Foundation.IndexPath) - @_Concurrency.MainActor(unsafe) @objc override public func reloadTableView() + @_Concurrency.MainActor(unsafe) @objc override public func reloadTableView(needsToLayout: Swift.Bool = true) @objc @_Concurrency.MainActor(unsafe) public func register(messageCell: SendbirdUIKit.SBUBaseMessageCell, nib: UIKit.UINib? = nil) @objc @_Concurrency.MainActor(unsafe) open func register(adminMessageCell: SendbirdUIKit.SBUBaseMessageCell, nib: UIKit.UINib? = nil) @objc @_Concurrency.MainActor(unsafe) open func register(userMessageCell: SendbirdUIKit.SBUBaseMessageCell, nib: UIKit.UINib? = nil) @objc @_Concurrency.MainActor(unsafe) open func register(fileMessageCell: SendbirdUIKit.SBUBaseMessageCell, nib: UIKit.UINib? = nil) + @objc @_Concurrency.MainActor(unsafe) open func register(multipleFilesMessageCell: SendbirdUIKit.SBUBaseMessageCell, nib: UIKit.UINib? = nil) @objc @_Concurrency.MainActor(unsafe) open func register(unknownMessageCell: SendbirdUIKit.SBUBaseMessageCell, nib: UIKit.UINib? = nil) @objc @_Concurrency.MainActor(unsafe) open func register(customMessageCell: SendbirdUIKit.SBUBaseMessageCell, nib: UIKit.UINib? = nil) @objc @_Concurrency.MainActor(unsafe) open func configureCell(_ messageCell: SendbirdUIKit.SBUBaseMessageCell, message: SendbirdChatSDK.BaseMessage, forRowAt indexPath: Foundation.IndexPath) @@ -4130,6 +4220,20 @@ extension SendbirdUIKit.SBUInviteUserModule { public static func restoreDefaultIcons() @objc deinit } +@objc @_inheritsConvenienceInitializers @_Concurrency.MainActor(unsafe) open class SBUCollectionViewCell : UIKit.UICollectionViewCell { + @_Concurrency.MainActor(unsafe) @objc override dynamic public init(frame: CoreFoundation.CGRect) + @_Concurrency.MainActor(unsafe) @objc required dynamic public init?(coder: Foundation.NSCoder) + @_Concurrency.MainActor(unsafe) @objc override dynamic open func layoutSubviews() + @objc deinit +} +extension SendbirdUIKit.SBUCollectionViewCell : SendbirdUIKit.SBUViewLifeCycle { + @_Concurrency.MainActor(unsafe) @objc dynamic public func setupViews() + @_Concurrency.MainActor(unsafe) @objc dynamic public func setupStyles() + @_Concurrency.MainActor(unsafe) @objc dynamic public func updateStyles() + @_Concurrency.MainActor(unsafe) @objc dynamic public func setupLayouts() + @_Concurrency.MainActor(unsafe) @objc dynamic public func updateLayouts() + @_Concurrency.MainActor(unsafe) @objc dynamic public func setupActions() +} @objc @_inheritsConvenienceInitializers @_Concurrency.MainActor(unsafe) open class SBUOpenChannelContentBaseMessageCell : SendbirdUIKit.SBUOpenChannelBaseMessageCell { @objc @_Concurrency.MainActor(unsafe) public var baseStackView: UIKit.UIStackView { @objc get @@ -4139,6 +4243,10 @@ extension SendbirdUIKit.SBUInviteUserModule { @objc get @objc set } + @objc @_Concurrency.MainActor(unsafe) public var profileBaseView: UIKit.UIView { + @objc get + @objc set + } @objc @_Concurrency.MainActor(unsafe) public var contentsStackView: UIKit.UIStackView { @objc get @objc set @@ -4559,6 +4667,25 @@ public protocol SBUCreateChannelTypeSelectorProtocol { @_Concurrency.MainActor(unsafe) open func updateButton(type: SendbirdUIKit.ChannelCreationType) @objc deinit } +@objc @_inheritsConvenienceInitializers @_hasMissingDesignatedInitializers @_Concurrency.MainActor(unsafe) open class SBUMultipleFilesMessageCollectionViewCell : SendbirdUIKit.SBUCollectionViewCell { + @_Concurrency.MainActor(unsafe) public var imageView: UIKit.UIImageView + @_Concurrency.MainActor(unsafe) public var overlayView: UIKit.UIView + @_Concurrency.MainActor(unsafe) public var iconImageView: UIKit.UIImageView + @SendbirdUIKit.SBUThemeWrapper @_Concurrency.MainActor(unsafe) public var theme: SendbirdUIKit.SBUMessageCellTheme { + get + set + _modify + } + @_Concurrency.MainActor(unsafe) public var imageCornerRadius: CoreFoundation.CGFloat + @_Concurrency.MainActor(unsafe) @objc required dynamic public init?(coder aDecoder: Foundation.NSCoder) + @_Concurrency.MainActor(unsafe) open func configure(uploadableFileInfo: SendbirdChatSDK.UploadableFileInfo? = nil, uploadedFileInfo: SendbirdChatSDK.UploadedFileInfo? = nil, requestId: Swift.String, index: Swift.Int, imageCornerRadius: CoreFoundation.CGFloat, showOverlay: Swift.Bool) + @_Concurrency.MainActor(unsafe) @objc override dynamic open func setupViews() + @_Concurrency.MainActor(unsafe) @objc override dynamic open func setupStyles() + @_Concurrency.MainActor(unsafe) @objc override dynamic open func setupLayouts() + @_Concurrency.MainActor(unsafe) @objc override dynamic open func prepareForReuse() + @_Concurrency.MainActor(unsafe) public func setGIFIcon() + @objc deinit +} extension UIKit.UIView { @objc @_Concurrency.MainActor(unsafe) public static func sbu_loadNib() -> UIKit.UINib @objc @_Concurrency.MainActor(unsafe) public static func sbu_loadViewFromNib() -> UIKit.UIView @@ -4584,6 +4711,8 @@ extension UIKit.UIView { @_Concurrency.MainActor(unsafe) public func sbu_constraint_greaterThan(widthAnchor: UIKit.NSLayoutAnchor? = nil, width: CoreFoundation.CGFloat? = nil, heightAnchor: UIKit.NSLayoutAnchor? = nil, height: CoreFoundation.CGFloat? = nil, priority: UIKit.UILayoutPriority? = nil) -> UIKit.UIView @discardableResult @_Concurrency.MainActor(unsafe) public func sbu_constraint_lessThan(widthAnchor: UIKit.NSLayoutAnchor? = nil, width: CoreFoundation.CGFloat? = nil, heightAnchor: UIKit.NSLayoutAnchor? = nil, height: CoreFoundation.CGFloat? = nil, priority: UIKit.UILayoutPriority? = nil) -> UIKit.UIView +} +extension UIKit.UIView { @discardableResult @_Concurrency.MainActor(unsafe) public func sbu_constraint_v2(equalTo view: UIKit.UIView, leading: CoreFoundation.CGFloat? = nil, trailing: CoreFoundation.CGFloat? = nil, left: CoreFoundation.CGFloat? = nil, right: CoreFoundation.CGFloat? = nil, top: CoreFoundation.CGFloat? = nil, bottom: CoreFoundation.CGFloat? = nil, centerX: CoreFoundation.CGFloat? = nil, centerY: CoreFoundation.CGFloat? = nil, priority: UIKit.UILayoutPriority? = nil) -> [UIKit.NSLayoutConstraint] @discardableResult @@ -4911,19 +5040,28 @@ public protocol SBUParentMessageInfoViewDelegate : AnyObject { func parentMessageInfoViewBoundsWillChanged(_ view: SendbirdUIKit.SBUParentMessageInfoView) func parentMessageInfoViewBoundsDidChanged(_ view: SendbirdUIKit.SBUParentMessageInfoView) } -@objc @_inheritsConvenienceInitializers @_Concurrency.MainActor(unsafe) open class SBUParentMessageInfoView : UIKit.UITableViewHeaderFooterView, SendbirdUIKit.SBUUserMessageTextViewDelegate { +@objc @_inheritsConvenienceInitializers @_Concurrency.MainActor(unsafe) open class SBUParentMessageInfoView : SendbirdUIKit.SBUView, SendbirdUIKit.SBUUserMessageTextViewDelegate { + public struct Constants { + public static var verticalSideMarginSize: CoreFoundation.CGFloat + } @_Concurrency.MainActor(unsafe) public var profileView: SendbirdUIKit.SBUMessageProfileView + @_Concurrency.MainActor(unsafe) public var profileBaseView: UIKit.UIView @_Concurrency.MainActor(unsafe) public var userNameLabel: UIKit.UILabel @_Concurrency.MainActor(unsafe) public var dateLabel: UIKit.UILabel @_Concurrency.MainActor(unsafe) public var moreButton: UIKit.UIButton? { get set } + @_Concurrency.MainActor(unsafe) public var moreButtonBaseView: UIKit.UIView @_Concurrency.MainActor(unsafe) public var replySeparateLine: UIKit.UIView @_Concurrency.MainActor(unsafe) public var replyLabel: UIKit.UILabel @_Concurrency.MainActor(unsafe) public var bottomSeparateLine: UIKit.UIView @_Concurrency.MainActor(unsafe) public var messageTextView: SendbirdUIKit.SBUUserMessageTextView @_Concurrency.MainActor(unsafe) public var baseFileContentView: SendbirdUIKit.SBUBaseFileContentView + @_Concurrency.MainActor(unsafe) public var fileCollectionView: SendbirdUIKit.SBUMultipleFilesMessageCollectionView { + get + set + } @_Concurrency.MainActor(unsafe) public var webView: SendbirdUIKit.SBUMessageWebView @_Concurrency.MainActor(unsafe) public var reactionView: SendbirdUIKit.SBUParentMessageInfoReactionView @_Concurrency.MainActor(unsafe) public var userHStackView: SendbirdUIKit.SBUStackView { @@ -4946,30 +5084,44 @@ public protocol SBUParentMessageInfoViewDelegate : AnyObject { @objc get @objc set } + @_Concurrency.MainActor(unsafe) public var contentView: UIKit.UIView { + get + set + } @_Concurrency.MainActor(unsafe) public var enablesReaction: Swift.Bool @_Concurrency.MainActor(unsafe) public var userProfileTapHandler: (() -> Swift.Void)? @_Concurrency.MainActor(unsafe) public var tapHandlerToContent: (() -> Swift.Void)? + @_Concurrency.MainActor(unsafe) public var fileSelectHandler: ((_ fileInfo: SendbirdChatSDK.UploadedFileInfo, _ index: Swift.Int) -> Swift.Void)? @_Concurrency.MainActor(unsafe) public var moreButtonTapHandlerToContent: (() -> Swift.Void)? @_Concurrency.MainActor(unsafe) public var emojiTapHandler: ((_ emojiKey: Swift.String) -> Swift.Void)? @_Concurrency.MainActor(unsafe) public var moreEmojiTapHandler: (() -> Swift.Void)? @_Concurrency.MainActor(unsafe) public var emojiLongPressHandler: ((_ emojiKey: Swift.String) -> Swift.Void)? @_Concurrency.MainActor(unsafe) public var mentionTapHandler: ((_ user: SendbirdUIKit.SBUUser) -> Swift.Void)? - @_Concurrency.MainActor(unsafe) @objc override dynamic public init(reuseIdentifier: Swift.String?) @available(*, unavailable, renamed: "SBUParentMessageInfoView(frame:)") - @_Concurrency.MainActor(unsafe) @objc required convenience dynamic public init?(coder: Foundation.NSCoder) - @_Concurrency.MainActor(unsafe) open func setupViews() - @_Concurrency.MainActor(unsafe) open func setupLayouts() - @_Concurrency.MainActor(unsafe) open func updateLayouts() - @_Concurrency.MainActor(unsafe) open func setupStyles() + @_Concurrency.MainActor(unsafe) required convenience public init?(coder: Foundation.NSCoder) + @_Concurrency.MainActor(unsafe) @objc override dynamic open func setupViews() + @_Concurrency.MainActor(unsafe) @objc override dynamic open func setupLayouts() + @_Concurrency.MainActor(unsafe) @objc override dynamic open func updateLayouts() + @_Concurrency.MainActor(unsafe) @objc override dynamic open func setupStyles() @_Concurrency.MainActor(unsafe) open func configure(message: SendbirdChatSDK.BaseMessage?, delegate: SendbirdUIKit.SBUParentMessageInfoViewDelegate?, useReaction: Swift.Bool = false, voiceFileInfo: SendbirdUIKit.SBUVoiceFileInfo?) - @_Concurrency.MainActor(unsafe) open func setupActions() + @_Concurrency.MainActor(unsafe) open func updateMessageTextWidth(with size: CoreFoundation.CGSize) + @_Concurrency.MainActor(unsafe) @objc override dynamic open func setupActions() @objc @_Concurrency.MainActor(unsafe) open func onTapUserProfileView(sender: UIKit.UITapGestureRecognizer) @objc @_Concurrency.MainActor(unsafe) open func onTapContentView(sender: UIKit.UITapGestureRecognizer) + @objc @_Concurrency.MainActor(unsafe) open func onSelectFile(sender: UIKit.UITapGestureRecognizer) @objc @_Concurrency.MainActor(unsafe) open func onTapWebview(sender: UIKit.UITapGestureRecognizer) @objc @_Concurrency.MainActor(unsafe) open func onTapMoreButton(_ sender: Any) @_Concurrency.MainActor(unsafe) open func userMessageTextView(_ textView: SendbirdUIKit.SBUUserMessageTextView, didTapMention user: SendbirdUIKit.SBUUser) + @_Concurrency.MainActor(unsafe) @objc override dynamic public init() + @_Concurrency.MainActor(unsafe) @objc override dynamic public init(frame: CoreFoundation.CGRect) @objc deinit } +extension SendbirdUIKit.SBUParentMessageInfoView : UIKit.UICollectionViewDataSource, UIKit.UICollectionViewDelegate, UIKit.UICollectionViewDelegateFlowLayout { + @_Concurrency.MainActor(unsafe) @objc dynamic public func numberOfSections(in collectionView: UIKit.UICollectionView) -> Swift.Int + @_Concurrency.MainActor(unsafe) @objc dynamic open func collectionView(_ collectionView: UIKit.UICollectionView, numberOfItemsInSection section: Swift.Int) -> Swift.Int + @_Concurrency.MainActor(unsafe) @objc dynamic open func collectionView(_ collectionView: UIKit.UICollectionView, layout collectionViewLayout: UIKit.UICollectionViewLayout, sizeForItemAt indexPath: Foundation.IndexPath) -> CoreFoundation.CGSize + @_Concurrency.MainActor(unsafe) @objc dynamic open func collectionView(_ collectionView: UIKit.UICollectionView, cellForItemAt indexPath: Foundation.IndexPath) -> UIKit.UICollectionViewCell +} @_hasMissingDesignatedInitializers public class SBUGlobalCustomParams { public static var groupChannelParamsCreateBuilder: ((_ params: SendbirdChatSDK.GroupChannelCreateParams?) -> Swift.Void)? public static var groupChannelParamsUpdateBuilder: ((_ params: SendbirdChatSDK.GroupChannelUpdateParams?) -> Swift.Void)? @@ -4979,6 +5131,7 @@ public protocol SBUParentMessageInfoViewDelegate : AnyObject { public static var userMessageParamsUpdateBuilder: ((_ params: SendbirdChatSDK.UserMessageUpdateParams?) -> Swift.Void)? public static var fileMessageParamsSendBuilder: ((_ params: SendbirdChatSDK.FileMessageCreateParams?) -> Swift.Void)? public static var voiceFileMessageParamsSendBuilder: ((_ params: SendbirdChatSDK.FileMessageCreateParams?) -> Swift.Void)? + public static var multipleFilesMessageParamsSendBuilder: ((_ params: SendbirdChatSDK.MultipleFilesMessageCreateParams?) -> Swift.Void)? public static var messageListParamsBuilder: ((_ params: SendbirdChatSDK.MessageListParams?) -> Swift.Void)? @objc deinit } @@ -5115,7 +5268,7 @@ extension UIKit.UIImage { @objc get @objc set } - @objc @_Concurrency.MainActor(unsafe) public var mainContainerView: SendbirdUIKit.SBUSelectableStackView { + @objc @_Concurrency.MainActor(unsafe) open var mainContainerView: SendbirdUIKit.SBUSelectableStackView { @objc get @objc set } @@ -5419,7 +5572,7 @@ extension UIKit.UIStackView { @_Concurrency.MainActor(unsafe) public var button: UIKit.UIButton @_Concurrency.MainActor(unsafe) public var username: Swift.String @_Concurrency.MainActor(unsafe) public var leftMargin: CoreFoundation.CGFloat - @_Concurrency.MainActor(unsafe) public var buttonLeftConstraint: UIKit.NSLayoutConstraint! { + @_Concurrency.MainActor(unsafe) public var buttonLeftConstraint: UIKit.NSLayoutConstraint? { get } @_Concurrency.MainActor(unsafe) @objc override dynamic public init() @@ -5619,6 +5772,7 @@ extension SendbirdUIKit.SBUBaseChannelSettingsModule.List : UIKit.UITableViewDat @_Concurrency.MainActor(unsafe) @objc override open func setupLayouts() @_Concurrency.MainActor(unsafe) @objc override open func updateLayouts() @_Concurrency.MainActor(unsafe) @objc override open func setupStyles() + @_Concurrency.MainActor(unsafe) @objc override open func updateStyles(needsToLayout: Swift.Bool) @_Concurrency.MainActor(unsafe) @objc override open func updateStyles() @objc @_Concurrency.MainActor(unsafe) public func updateChannelInfoView() @objc @available(*, deprecated, message: "Please use `calculateMessageMenuCGPoint(indexPath:)` in `SBUOpenChannelModule.List`") @@ -5758,6 +5912,9 @@ public class SBUQuoteMessageInputViewParams { public var isFileType: Swift.Bool { get } + public var isMultipleFilesMessage: Swift.Bool { + get + } public var fileType: Swift.String? { get } @@ -6250,7 +6407,7 @@ extension SendbirdUIKit.SBUMessageSearchViewController { @objc @_Concurrency.MainActor(unsafe) public var baseViewModel: SendbirdUIKit.SBUBaseChannelViewModel? @objc @_Concurrency.MainActor(unsafe) public var channelName: Swift.String? @objc @_Concurrency.MainActor(unsafe) public var isKeyboardShowing: Swift.Bool - @objc @_Concurrency.MainActor(unsafe) public var messageInputViewBottomConstraint: UIKit.NSLayoutConstraint! + @objc @_Concurrency.MainActor(unsafe) public var messageInputViewBottomConstraint: UIKit.NSLayoutConstraint? @available(*, unavailable) @_Concurrency.MainActor(unsafe) @objc required dynamic public init?(coder: Foundation.NSCoder) @_Concurrency.MainActor(unsafe) @objc override dynamic public init(nibName nibNameOrNil: Swift.String?, bundle nibBundleOrNil: Foundation.Bundle?) @@ -6259,6 +6416,7 @@ extension SendbirdUIKit.SBUMessageSearchViewController { @_Concurrency.MainActor(unsafe) public init(channelURL: Swift.String, startingPoint: Swift.Int64? = nil, messageListParams: SendbirdChatSDK.MessageListParams? = nil, displaysLocalCachedListFirst: Swift.Bool) @_Concurrency.MainActor(unsafe) @objc override dynamic open func loadView() @_Concurrency.MainActor(unsafe) @objc override dynamic open func viewWillAppear(_ animated: Swift.Bool) + @_Concurrency.MainActor(unsafe) @objc override dynamic open func viewDidAppear(_ animated: Swift.Bool) @_Concurrency.MainActor(unsafe) @objc override dynamic open func viewDidLoad() @_Concurrency.MainActor(unsafe) @objc override dynamic open func viewWillDisappear(_ animated: Swift.Bool) @objc @_Concurrency.MainActor(unsafe) open func applicationWillResignActivity() @@ -6279,6 +6437,7 @@ extension SendbirdUIKit.SBUMessageSearchViewController { @objc @_Concurrency.MainActor(unsafe) open func showEmojiListModal(message: SendbirdChatSDK.BaseMessage) @objc @_Concurrency.MainActor(unsafe) public func scrollToMessage(id messageId: Swift.Int64, enablesScrollAnimation: Swift.Bool = false, enablesMessageAnimation: Swift.Bool = false) @objc @_Concurrency.MainActor(unsafe) public func updateNewMessageInfo(hidden: Swift.Bool) + @_Concurrency.MainActor(unsafe) open func openFile(_ fileData: SendbirdUIKit.SBUFileData) @objc @_Concurrency.MainActor(unsafe) open func openFile(fileMessage: SendbirdChatSDK.FileMessage) @objc @discardableResult @_Concurrency.MainActor(unsafe) public func increaseNewMessageCount() -> Swift.Bool @@ -6648,6 +6807,14 @@ extension SendbirdUIKit.SBUChatNotificationChannelModule { @objc @_Concurrency.MainActor(unsafe) public func didSelectRetry() } } +public class SBUMultipleFilesMessageCellParams : SendbirdUIKit.SBUBaseMessageCellParams { + public var multipleFilesMessage: SendbirdChatSDK.MultipleFilesMessage? { + get + } + final public let useReaction: Swift.Bool + public init(message: SendbirdChatSDK.MultipleFilesMessage, hideDateView: Swift.Bool, useMessagePosition: Swift.Bool, groupPosition: SendbirdUIKit.MessageGroupPosition = .none, receiptState: SendbirdUIKit.SBUMessageReceiptState = .none, useReaction: Swift.Bool = false, isThreadMessage: Swift.Bool = false, joinedAt: Swift.Int64 = 0, voiceFileInfo: SendbirdUIKit.SBUVoiceFileInfo? = nil) + @objc deinit +} open class SBUCreateOpenChannelModule { public static var HeaderComponent: SendbirdUIKit.SBUCreateOpenChannelModule.Header.Type public static var ProfileInputComponent: SendbirdUIKit.SBUCreateOpenChannelModule.ProfileInput.Type @@ -6675,6 +6842,7 @@ open class SBUCreateOpenChannelModule { @objc @_Concurrency.MainActor(unsafe) open func updateLayouts() @objc @_Concurrency.MainActor(unsafe) open func setupStyles() @objc @_Concurrency.MainActor(unsafe) open func updateStyles() + @objc @_Concurrency.MainActor(unsafe) open func updateStyles(needsToLayout: Swift.Bool) @objc @_Concurrency.MainActor(unsafe) open func setupNavigationBar(backgroundColor: UIKit.UIColor, shadowColor: UIKit.UIColor) @objc @_Concurrency.MainActor(unsafe) open func onClickBack() @_Concurrency.MainActor(unsafe) open func errorHandler(_ message: Swift.String?, _ code: ObjectiveC.NSInteger? = nil) @@ -6927,8 +7095,20 @@ public class SBUFeedNotificationCellParams : SendbirdUIKit.SBUBaseMessageCellPar public static func isSupportReactions() -> Swift.Bool public static func isSupportOgTag(channelType: SendbirdChatSDK.ChannelType = .group) -> Swift.Bool public static func isSupportMessageSearch() -> Swift.Bool + public static var multipleFilesMessageFileCountLimit: Swift.Int { + get + } + public static var uploadSizeLimitBytes: Swift.Int64 { + get + } + public static var uploadSizeLimitMB: Swift.Int64 { + get + } @objc deinit } +extension UIKit.NSLayoutConstraint { + @_Concurrency.MainActor(unsafe) public static func sbu_activate(baseView: UIKit.UIView, constraints: [UIKit.NSLayoutConstraint?]) +} open class SBUMessageThreadModule { public static var HeaderComponent: SendbirdUIKit.SBUMessageThreadModule.Header.Type public static var ListComponent: SendbirdUIKit.SBUMessageThreadModule.List.Type @@ -7401,6 +7581,7 @@ public protocol SBUGroupChannelModuleListDelegate : SendbirdUIKit.SBUBaseChannel func groupChannelModule(_ listComponent: SendbirdUIKit.SBUGroupChannelModule.List, didTapMoreEmojiForCell messageCell: SendbirdUIKit.SBUBaseMessageCell) func groupChannelModule(_ listComponent: SendbirdUIKit.SBUGroupChannelModule.List, didTapMentionUser user: SendbirdUIKit.SBUUser) func groupChannelModuleDidTapThreadInfoView(_ threadInfoView: SendbirdUIKit.SBUThreadInfoView) + func groupChannelModule(_ listComponent: SendbirdUIKit.SBUGroupChannelModule.List, didSelectFileAt index: Swift.Int, multipleFilesMessageCell: SendbirdUIKit.SBUMultipleFilesMessageCell, forRowAt cellIndexPath: Foundation.IndexPath) } public protocol SBUGroupChannelModuleListDataSource : SendbirdUIKit.SBUBaseChannelModuleListDataSource { func groupChannelModule(_ listComponent: SendbirdUIKit.SBUGroupChannelModule.List, highlightInfoInTableView tableView: UIKit.UITableView) -> SendbirdUIKit.SBUHighlightMessageInfo? @@ -7416,6 +7597,9 @@ extension SendbirdUIKit.SBUGroupChannelModule { @objc @_Concurrency.MainActor(unsafe) public var fileMessageCell: SendbirdUIKit.SBUBaseMessageCell? { get } + @objc @_Concurrency.MainActor(unsafe) public var multipleFilesMessageCell: SendbirdUIKit.SBUBaseMessageCell? { + get + } @objc @_Concurrency.MainActor(unsafe) public var unknownMessageCell: SendbirdUIKit.SBUBaseMessageCell? { get } @@ -7452,6 +7636,7 @@ extension SendbirdUIKit.SBUGroupChannelModule { @objc @_Concurrency.MainActor(unsafe) open func register(adminMessageCell: SendbirdUIKit.SBUBaseMessageCell, nib: UIKit.UINib? = nil) @objc @_Concurrency.MainActor(unsafe) open func register(userMessageCell: SendbirdUIKit.SBUBaseMessageCell, nib: UIKit.UINib? = nil) @objc @_Concurrency.MainActor(unsafe) open func register(fileMessageCell: SendbirdUIKit.SBUBaseMessageCell, nib: UIKit.UINib? = nil) + @objc @_Concurrency.MainActor(unsafe) open func register(multipleFilesMessageCell: SendbirdUIKit.SBUBaseMessageCell, nib: UIKit.UINib? = nil) @objc @_Concurrency.MainActor(unsafe) open func register(unknownMessageCell: SendbirdUIKit.SBUBaseMessageCell, nib: UIKit.UINib? = nil) @objc @_Concurrency.MainActor(unsafe) open func register(customMessageCell: SendbirdUIKit.SBUBaseMessageCell, nib: UIKit.UINib? = nil) @objc @_Concurrency.MainActor(unsafe) open func configureCell(_ messageCell: SendbirdUIKit.SBUBaseMessageCell, message: SendbirdChatSDK.BaseMessage, forRowAt indexPath: Foundation.IndexPath) @@ -7481,6 +7666,7 @@ extension SendbirdUIKit.SBUGroupChannelModule.List { } public protocol SBUGroupChannelModuleInputDelegate : SendbirdUIKit.SBUBaseChannelModuleInputDelegate { func groupChannelModule(_ inputComponent: SendbirdUIKit.SBUGroupChannelModule.Input, didPickFileData fileData: Foundation.Data?, fileName: Swift.String, mimeType: Swift.String, parentMessage: SendbirdChatSDK.BaseMessage?) + func groupChannelModule(_ inputComponent: SendbirdUIKit.SBUGroupChannelModule.Input, didPickMultipleFiles fileInfoList: [SendbirdChatSDK.UploadableFileInfo]?, parentMessage: SendbirdChatSDK.BaseMessage?) func groupChannelModule(_ inputComponent: SendbirdUIKit.SBUGroupChannelModule.Input, didTapSend text: Swift.String, mentionedMessageTemplate: Swift.String, mentionedUserIds: [Swift.String], parentMessage: SendbirdChatSDK.BaseMessage?) func groupChannelModule(_ inputComponent: SendbirdUIKit.SBUGroupChannelModule.Input, didTapEdit text: Swift.String, mentionedMessageTemplate: Swift.String, mentionedUserIds: [Swift.String]) func groupChannelModule(_ inputComponent: SendbirdUIKit.SBUGroupChannelModule.Input, willChangeMode mode: SendbirdUIKit.SBUMessageInputMode, message: SendbirdChatSDK.BaseMessage?, mentionedMessageTemplate: Swift.String, mentionedUserIds: [Swift.String]) @@ -7514,6 +7700,8 @@ extension SendbirdUIKit.SBUGroupChannelModule { @_Concurrency.MainActor(unsafe) @objc override open func setupLayouts() @_Concurrency.MainActor(unsafe) @objc override open func pickImageFile(info: [UIKit.UIImagePickerController.InfoKey : Any]) @_Concurrency.MainActor(unsafe) @objc override open func pickVideoFile(info: [UIKit.UIImagePickerController.InfoKey : Any]) + @objc @available(iOS 14.0, *) + @_Concurrency.MainActor(unsafe) open func pickMultipleImageFiles(itemProviders: [Foundation.NSItemProvider]) @available(iOS 14.0, *) @_Concurrency.MainActor(unsafe) @objc override open func pickImageFile(itemProvider: Foundation.NSItemProvider) @available(iOS 14.0, *) @@ -7744,6 +7932,27 @@ public enum SBUIconSetType : Swift.String, Swift.Hashable { case iconPause case iconRecording case iconStop + public struct Metric { + public static let defaultIconSizeVerySmall: CoreFoundation.CGSize + public static let defaultIconSizeSmall: CoreFoundation.CGSize + public static let defaultIconSizeMedium: CoreFoundation.CGSize + public static let defaultIconSize: CoreFoundation.CGSize + public static let defaultIconSizeLarge: CoreFoundation.CGSize + public static let defaultIconSizeVeryLarge: CoreFoundation.CGSize + public static let quotedMessageIconSize: CoreFoundation.CGSize + public static let iconActionSheetItem: CoreFoundation.CGSize + public static let iconEmojiSmall: CoreFoundation.CGSize + public static let iconEmojiLarge: CoreFoundation.CGSize + public static let iconEmptyView: CoreFoundation.CGSize + public static let iconGifPlay: CoreFoundation.CGSize + public static let iconSpinnerLarge: CoreFoundation.CGSize + public static let iconSpinnerSizeForTemplate: CoreFoundation.CGSize + public static let iconUserProfile: CoreFoundation.CGSize + public static let iconUserProfileInChat: CoreFoundation.CGSize + public static let iconChevronDown: CoreFoundation.CGSize + public static let iconVoiceMessageSize: CoreFoundation.CGSize + } + public func image(with tintColor: UIKit.UIColor? = nil, to size: CoreFoundation.CGSize, tintAndResize: Swift.Bool = true) -> UIKit.UIImage public init?(rawValue: Swift.String) public typealias RawValue = Swift.String public var rawValue: Swift.String { @@ -7934,28 +8143,6 @@ open class SBUInviteUserModule { required public init(headerComponent: SendbirdUIKit.SBUInviteUserModule.Header? = nil, listComponent: SendbirdUIKit.SBUInviteUserModule.List? = nil) @objc deinit } -@objc @_hasMissingDesignatedInitializers @_Concurrency.MainActor(unsafe) public class SBUPaddingLabel : UIKit.UILabel { - @_Concurrency.MainActor(unsafe) public var top: CoreFoundation.CGFloat { - get - } - @_Concurrency.MainActor(unsafe) public var bottom: CoreFoundation.CGFloat { - get - } - @_Concurrency.MainActor(unsafe) public var leading: CoreFoundation.CGFloat { - get - } - @_Concurrency.MainActor(unsafe) public var trailing: CoreFoundation.CGFloat { - get - } - @_Concurrency.MainActor(unsafe) convenience public init(_ all: CoreFoundation.CGFloat) - @_Concurrency.MainActor(unsafe) convenience public init(_ vertical: CoreFoundation.CGFloat, _ horizontal: CoreFoundation.CGFloat) - @_Concurrency.MainActor(unsafe) public init(_ top: CoreFoundation.CGFloat = 0, _ bottom: CoreFoundation.CGFloat = 0, _ leading: CoreFoundation.CGFloat = 0, _ trailing: CoreFoundation.CGFloat = 0) - @_Concurrency.MainActor(unsafe) @objc override dynamic public func drawText(in rect: CoreFoundation.CGRect) - @_Concurrency.MainActor(unsafe) @objc override dynamic public var intrinsicContentSize: CoreFoundation.CGSize { - @objc get - } - @objc deinit -} @objc @_inheritsConvenienceInitializers @IBDesignable @_Concurrency.MainActor(unsafe) open class SBUUserMessageCell : SendbirdUIKit.SBUContentBaseMessageCell, SendbirdUIKit.SBUUserMessageTextViewDelegate { @objc @_Concurrency.MainActor(unsafe) public var messageTextView: UIKit.UIView { @objc get @@ -8309,6 +8496,7 @@ public protocol SBUMessageThreadViewControllerDelegate : AnyObject { @_Concurrency.MainActor(unsafe) @objc override dynamic open func viewWillAppear(_ animated: Swift.Bool) @_Concurrency.MainActor(unsafe) @objc override dynamic open func viewDidLoad() @_Concurrency.MainActor(unsafe) @objc override dynamic open func viewWillDisappear(_ animated: Swift.Bool) + @_Concurrency.MainActor(unsafe) @objc override dynamic open func viewWillTransition(to size: CoreFoundation.CGSize, with coordinator: UIKit.UIViewControllerTransitionCoordinator) @_Concurrency.MainActor(unsafe) @objc override open func applicationWillResignActivity() @_Concurrency.MainActor(unsafe) @objc override open func willPresentSubview() @objc deinit @@ -8316,11 +8504,14 @@ public protocol SBUMessageThreadViewControllerDelegate : AnyObject { @_Concurrency.MainActor(unsafe) @objc override open func setupViews() @_Concurrency.MainActor(unsafe) @objc override open func setupLayouts() @_Concurrency.MainActor(unsafe) @objc override open func setupStyles() + @_Concurrency.MainActor(unsafe) @objc override open func updateStyles(needsToLayout: Swift.Bool) @_Concurrency.MainActor(unsafe) @objc override open func updateStyles() @objc @_Concurrency.MainActor(unsafe) public func moveToParentMessage() @discardableResult @_Concurrency.MainActor(unsafe) @objc override public func increaseNewMessageCount() -> Swift.Bool @_Concurrency.MainActor(unsafe) @objc override public func updateChannelTitle() + @available(iOS 14, *) + @_Concurrency.MainActor(unsafe) override open func picker(_ picker: PhotosUI.PHPickerViewController, didFinishPicking results: [PhotosUI.PHPickerResult]) @_Concurrency.MainActor(unsafe) @objc override open func showVoiceMessageInput() @_Concurrency.MainActor(unsafe) @objc override open func dismissVoiceMessageInput() @_Concurrency.MainActor(unsafe) @objc override open func resetVoiceMessageInput(for resignActivity: Swift.Bool = false) @@ -8328,6 +8519,7 @@ public protocol SBUMessageThreadViewControllerDelegate : AnyObject { @objc @_Concurrency.MainActor(unsafe) open func messageThreadViewModel(_ viewModel: SendbirdUIKit.SBUMessageThreadViewModel, didLoadParentMessage parentMessage: SendbirdChatSDK.BaseMessage?) @objc @_Concurrency.MainActor(unsafe) public func messageThreadViewModel(_ viewModel: SendbirdUIKit.SBUMessageThreadViewModel, didUpdateParentMessage parentMessage: SendbirdChatSDK.BaseMessage?) @objc @_Concurrency.MainActor(unsafe) open func messageThreadViewModelShouldDismissMessageThread(_ viewModel: SendbirdUIKit.SBUMessageThreadViewModel) + @objc @_Concurrency.MainActor(unsafe) public func messageThreadViewModel(_ viewModel: SendbirdUIKit.SBUMessageThreadViewModel, didFinishUploadingFileAt index: Swift.Int, multipleFilesMessageRequestId requestId: Swift.String) @_Concurrency.MainActor(unsafe) @objc override open func baseChannelModule(_ headerComponent: SendbirdUIKit.SBUBaseChannelModule.Header, didUpdateTitleView titleView: UIKit.UIView?) @_Concurrency.MainActor(unsafe) @objc override open func baseChannelModule(_ headerComponent: SendbirdUIKit.SBUBaseChannelModule.Header, didTapTitleView titleView: UIKit.UIView?) @_Concurrency.MainActor(unsafe) @objc override open func baseChannelModule(_ headerComponent: SendbirdUIKit.SBUBaseChannelModule.Header, didTapLeftItem leftItem: UIKit.UIBarButtonItem) @@ -8335,11 +8527,14 @@ public protocol SBUMessageThreadViewControllerDelegate : AnyObject { @objc @_Concurrency.MainActor(unsafe) open func messageThreadModule(_ listComponent: SendbirdUIKit.SBUMessageThreadModule.List, didLongTapEmoji emojiKey: Swift.String, messageCell: SendbirdUIKit.SBUBaseMessageCell) @objc @_Concurrency.MainActor(unsafe) open func messageThreadModule(_ listComponent: SendbirdUIKit.SBUMessageThreadModule.List, didTapMoreEmojiForCell messageCell: SendbirdUIKit.SBUBaseMessageCell) @objc @_Concurrency.MainActor(unsafe) open func messageThreadModule(_ listComponent: SendbirdUIKit.SBUMessageThreadModule.List, didTapMentionUser user: SendbirdUIKit.SBUUser) + @objc @_Concurrency.MainActor(unsafe) public func messageThreadModule(_ listComponent: SendbirdUIKit.SBUMessageThreadModule.List, didSelectFileAt index: Swift.Int, multipleFilesMessageCell: SendbirdUIKit.SBUMultipleFilesMessageCell, forRowAt cellIndexPath: Foundation.IndexPath) + @objc @_Concurrency.MainActor(unsafe) public func messageThreadModule(_ listComponent: SendbirdUIKit.SBUMessageThreadModule.List, uploadedFileInfo: SendbirdChatSDK.UploadedFileInfo, message: SendbirdChatSDK.MultipleFilesMessage, index: Swift.Int) @_Concurrency.MainActor(unsafe) @objc override open func baseChannelModule(_ listComponent: SendbirdUIKit.SBUBaseChannelModule.List, didScroll scrollView: UIKit.UIScrollView) @_Concurrency.MainActor(unsafe) @objc override open func baseChannelModule(_ listComponent: SendbirdUIKit.SBUBaseChannelModule.List, didTapVoiceMessage fileMessage: SendbirdChatSDK.FileMessage, cell: UIKit.UITableViewCell, forRowAt indexPath: Foundation.IndexPath) @_Concurrency.MainActor(unsafe) @objc override open func baseChannelModule(_ listComponent: SendbirdUIKit.SBUBaseChannelModule.List, willDisplay cell: UIKit.UITableViewCell, forRowAt indexPath: Foundation.IndexPath) @_Concurrency.MainActor(unsafe) @objc override open func baseChannelModule(_ inputComponent: SendbirdUIKit.SBUBaseChannelModule.Input, didUpdateFrozenState isFrozen: Swift.Bool) @objc @_Concurrency.MainActor(unsafe) open func messageThreadModule(_ inputComponent: SendbirdUIKit.SBUMessageThreadModule.Input, didPickFileData fileData: Foundation.Data?, fileName: Swift.String, mimeType: Swift.String, parentMessage: SendbirdChatSDK.BaseMessage?) + @objc @_Concurrency.MainActor(unsafe) public func messageThreadModule(_ inputComponent: SendbirdUIKit.SBUMessageThreadModule.Input, didPickMultipleFiles fileInfoList: [SendbirdChatSDK.UploadableFileInfo], parentMessage: SendbirdChatSDK.BaseMessage) @objc @_Concurrency.MainActor(unsafe) open func messageThreadModule(_ inputComponent: SendbirdUIKit.SBUMessageThreadModule.Input, didTapSend text: Swift.String, mentionedMessageTemplate: Swift.String, mentionedUserIds: [Swift.String], parentMessage: SendbirdChatSDK.BaseMessage?) @objc @_Concurrency.MainActor(unsafe) open func messageThreadModule(_ inputComponent: SendbirdUIKit.SBUMessageThreadModule.Input, didTapEdit text: Swift.String, mentionedMessageTemplate: Swift.String, mentionedUserIds: [Swift.String]) @objc @_Concurrency.MainActor(unsafe) open func messageThreadModule(_ inputComponent: SendbirdUIKit.SBUMessageThreadModule.Input, willChangeMode mode: SendbirdUIKit.SBUMessageInputMode, message: SendbirdChatSDK.BaseMessage?, mentionedMessageTemplate: Swift.String, mentionedUserIds: [Swift.String]) @@ -8364,6 +8559,8 @@ public typealias SBUFileViewerDelegate = SendbirdUIKit.SBUFileViewControllerDele public protocol SBUFileViewControllerDelegate : AnyObject { func didSelectDeleteImage(message: SendbirdChatSDK.FileMessage) } +public struct SBUFileData { +} @objc @_Concurrency.MainActor(unsafe) open class SBUFileViewController : SendbirdUIKit.SBUBaseViewController, UIKit.UIScrollViewDelegate, SendbirdUIKit.SBUAlertViewDelegate { @objc @_Concurrency.MainActor(unsafe) public var leftBarButton: UIKit.UIBarButtonItem? { @objc get @@ -8386,7 +8583,9 @@ public protocol SBUFileViewControllerDelegate : AnyObject { @objc set } @objc @_Concurrency.MainActor(unsafe) public var bottomView: UIKit.UIView - @_Concurrency.MainActor(unsafe) required public init(fileMessage: SendbirdChatSDK.FileMessage, delegate: SendbirdUIKit.SBUFileViewControllerDelegate?) + @_Concurrency.MainActor(unsafe) required convenience public init(fileMessage: SendbirdChatSDK.FileMessage, delegate: SendbirdUIKit.SBUFileViewControllerDelegate?) + @_Concurrency.MainActor(unsafe) required public init(fileData: SendbirdUIKit.SBUFileData, delegate: SendbirdUIKit.SBUFileViewControllerDelegate?) + @available(*, unavailable, renamed: "init(params:delegate:)") @_Concurrency.MainActor(unsafe) @objc required dynamic public init?(coder: Foundation.NSCoder) @_Concurrency.MainActor(unsafe) @objc override dynamic open func viewDidLoad() @_Concurrency.MainActor(unsafe) @objc override dynamic open func viewWillAppear(_ animated: Swift.Bool) @@ -9050,7 +9249,7 @@ public class SBUMessageCellTheme { public static var overlay: SendbirdUIKit.SBUMessageCellTheme { get } - public init(backgroundColor: UIKit.UIColor = SBUColorSet.background50, leftBackgroundColor: UIKit.UIColor = SBUColorSet.background100, leftPressedBackgroundColor: UIKit.UIColor = SBUColorSet.primary100, rightBackgroundColor: UIKit.UIColor = SBUColorSet.primary300, rightPressedBackgroundColor: UIKit.UIColor = SBUColorSet.primary400, openChannelBackgroundColor: UIKit.UIColor = .clear, openChannelPressedBackgroundColor: UIKit.UIColor = SBUColorSet.background100, dateFont: UIKit.UIFont = SBUFontSet.caption1, dateTextColor: UIKit.UIColor = SBUColorSet.ondark01, dateBackgroundColor: UIKit.UIColor = SBUColorSet.overlay02, userPlaceholderBackgroundColor: UIKit.UIColor = SBUColorSet.background300, userPlaceholderTintColor: UIKit.UIColor = SBUColorSet.ondark01, userNameFont: UIKit.UIFont = SBUFontSet.caption1, userNameTextColor: UIKit.UIColor = SBUColorSet.onlight02, currentUserNameTextColor: UIKit.UIColor = SBUColorSet.secondary300, timeFont: UIKit.UIFont = SBUFontSet.caption4, timeTextColor: UIKit.UIColor = SBUColorSet.onlight03, pendingStateColor: UIKit.UIColor = SBUColorSet.primary300, failedStateColor: UIKit.UIColor = SBUColorSet.error300, succeededStateColor: UIKit.UIColor = SBUColorSet.onlight03, readReceiptStateColor: UIKit.UIColor = SBUColorSet.secondary300, deliveryReceiptStateColor: UIKit.UIColor = SBUColorSet.onlight03, userMessageFont: UIKit.UIFont = SBUFontSet.body3, userMessageLeftTextColor: UIKit.UIColor = SBUColorSet.onlight01, userMessageLeftEditTextColor: UIKit.UIColor = SBUColorSet.onlight02, userMessageLeftHighlightTextColor: UIKit.UIColor = SBUColorSet.onlight01, userMessageRightTextColor: UIKit.UIColor = SBUColorSet.ondark01, userMessageRightEditTextColor: UIKit.UIColor = SBUColorSet.ondark02, userMessageRightHighlightTextColor: UIKit.UIColor = SBUColorSet.onlight01, fileIconBackgroundColor: UIKit.UIColor = SBUColorSet.background50, fileImageBackgroundColor: UIKit.UIColor = SBUColorSet.ondark01, fileImageIconColor: UIKit.UIColor = SBUColorSet.onlight02, fileIconColor: UIKit.UIColor = SBUColorSet.primary300, fileMessageNameFont: UIKit.UIFont = SBUFontSet.body3, fileMessageLeftTextColor: UIKit.UIColor = SBUColorSet.onlight01, fileMessageRightTextColor: UIKit.UIColor = SBUColorSet.ondark01, fileMessagePlaceholderColor: UIKit.UIColor = SBUColorSet.onlight02, adminMessageFont: UIKit.UIFont = SBUFontSet.caption2, adminMessageTextColor: UIKit.UIColor = SBUColorSet.onlight02, unknownMessageDescFont: UIKit.UIFont = SBUFontSet.body3, unknownMessageDescLeftTextColor: UIKit.UIColor = SBUColorSet.onlight02, unknownMessageDescRightTextColor: UIKit.UIColor = SBUColorSet.ondark02, ogTitleFont: UIKit.UIFont = SBUFontSet.body2, ogTitleColor: UIKit.UIColor = SBUColorSet.onlight01, ogDescriptionFont: UIKit.UIFont = SBUFontSet.caption2, ogDescriptionColor: UIKit.UIColor = SBUColorSet.onlight01, ogURLAddressFont: UIKit.UIFont = SBUFontSet.caption2, ogURLAddressColor: UIKit.UIColor = SBUColorSet.onlight02, openChannelOGTitleColor: UIKit.UIColor = SBUColorSet.primary300, linkColor: UIKit.UIColor = SBUColorSet.primary300, contentBackgroundColor: UIKit.UIColor = SBUColorSet.background100, pressedContentBackgroundColor: UIKit.UIColor = SBUColorSet.background300, quotedMessageLeftBackgroundColor: UIKit.UIColor = SBUColorSet.background100.withAlphaComponent(0.5), quotedMessageRightBackgroundColor: UIKit.UIColor = SBUColorSet.background100, quotedFileMessageThumbnailColor: UIKit.UIColor = SBUColorSet.onlight02, quotedMessageTextColor: UIKit.UIColor = SBUColorSet.onlight03, quotedMessageTextFont: UIKit.UIFont = SBUFontSet.body3, repliedIconColor: UIKit.UIColor = SBUColorSet.onlight03, repliedToTextColor: UIKit.UIColor = SBUColorSet.onlight03, repliedToTextFont: UIKit.UIFont = SBUFontSet.caption1, repliedCountTextColor: UIKit.UIColor = SBUColorSet.primary300, repliedCountTextFont: UIKit.UIFont = SBUFontSet.caption3, repliedUsersMoreIconBackgroundColor: UIKit.UIColor = SBUColorSet.background700.withAlphaComponent(0.64), repliedUsersMoreIconTintColor: UIKit.UIColor = SBUColorSet.ondark01, mentionTextFont: UIKit.UIFont = SBUFontSet.body4, mentionLeftTextColor: UIKit.UIColor = SBUColorSet.onlight01, mentionRightTextColor: UIKit.UIColor = SBUColorSet.ondark01, mentionLeftTextBackgroundColor: UIKit.UIColor = .clear, mentionRightTextBackgroundColor: UIKit.UIColor = .clear, buttonBackgroundColor: UIKit.UIColor = SBUColorSet.background200, buttonTitleColor: UIKit.UIColor = SBUColorSet.primary300, sideButtonIconColor: UIKit.UIColor = SBUColorSet.onlight03, newMessageBadgeColor: UIKit.UIColor = SBUColorSet.secondary300, parentInfoBackgroundColor: UIKit.UIColor = SBUColorSet.background50, parentInfoUserNameTextFont: UIKit.UIFont = SBUFontSet.h3, parentInfoUserNameTextColor: UIKit.UIColor = SBUColorSet.onlight01, parentInfoDateFont: UIKit.UIFont = SBUFontSet.caption2, parentInfoDateTextColor: UIKit.UIColor = SBUColorSet.onlight03, parentInfoMoreButtonTintColor: UIKit.UIColor = SBUColorSet.onlight02, parentInfoSeparateBarColor: UIKit.UIColor = SBUColorSet.onlight04, parentInfoReplyCountTextColor: UIKit.UIColor = SBUColorSet.onlight03, parentInfoReplyCountTextFont: UIKit.UIFont = SBUFontSet.body3, parentInfoProgressBackgroundColor: UIKit.UIColor = SBUColorSet.background100, progressTrackTintColor: UIKit.UIColor = SBUColorSet.onlight03, progressTimeFont: UIKit.UIFont = SBUFontSet.body3, progressTimeRightTextColor: UIKit.UIColor = SBUColorSet.ondark01, progressTimeLeftTextColor: UIKit.UIColor = SBUColorSet.onlight01, statusButtonBackgroundColor: UIKit.UIColor = SBUColorSet.background50, loadingButtonTintColor: UIKit.UIColor = SBUColorSet.primary200, playButtonTintColor: UIKit.UIColor = SBUColorSet.primary300, pauseButtonTintColor: UIKit.UIColor = SBUColorSet.primary300) + public init(backgroundColor: UIKit.UIColor = SBUColorSet.background50, leftBackgroundColor: UIKit.UIColor = SBUColorSet.background100, leftPressedBackgroundColor: UIKit.UIColor = SBUColorSet.primary100, rightBackgroundColor: UIKit.UIColor = SBUColorSet.primary300, rightPressedBackgroundColor: UIKit.UIColor = SBUColorSet.primary400, openChannelBackgroundColor: UIKit.UIColor = .clear, openChannelPressedBackgroundColor: UIKit.UIColor = SBUColorSet.background100, dateFont: UIKit.UIFont = SBUFontSet.caption1, dateTextColor: UIKit.UIColor = SBUColorSet.ondark01, dateBackgroundColor: UIKit.UIColor = SBUColorSet.overlay02, userPlaceholderBackgroundColor: UIKit.UIColor = SBUColorSet.background300, userPlaceholderTintColor: UIKit.UIColor = SBUColorSet.ondark01, userNameFont: UIKit.UIFont = SBUFontSet.caption1, userNameTextColor: UIKit.UIColor = SBUColorSet.onlight02, currentUserNameTextColor: UIKit.UIColor = SBUColorSet.secondary300, timeFont: UIKit.UIFont = SBUFontSet.caption4, timeTextColor: UIKit.UIColor = SBUColorSet.onlight03, pendingStateColor: UIKit.UIColor = SBUColorSet.primary300, failedStateColor: UIKit.UIColor = SBUColorSet.error300, succeededStateColor: UIKit.UIColor = SBUColorSet.onlight03, readReceiptStateColor: UIKit.UIColor = SBUColorSet.secondary300, deliveryReceiptStateColor: UIKit.UIColor = SBUColorSet.onlight03, userMessageFont: UIKit.UIFont = SBUFontSet.body3, userMessageLeftTextColor: UIKit.UIColor = SBUColorSet.onlight01, userMessageLeftEditTextColor: UIKit.UIColor = SBUColorSet.onlight02, userMessageLeftHighlightTextColor: UIKit.UIColor = SBUColorSet.onlight01, userMessageRightTextColor: UIKit.UIColor = SBUColorSet.ondark01, userMessageRightEditTextColor: UIKit.UIColor = SBUColorSet.ondark02, userMessageRightHighlightTextColor: UIKit.UIColor = SBUColorSet.onlight01, fileIconBackgroundColor: UIKit.UIColor = SBUColorSet.background50, fileImageBackgroundColor: UIKit.UIColor = SBUColorSet.ondark01, fileImageIconColor: UIKit.UIColor = SBUColorSet.onlight02, fileIconColor: UIKit.UIColor = SBUColorSet.primary300, fileMessageNameFont: UIKit.UIFont = SBUFontSet.body3, fileMessageLeftTextColor: UIKit.UIColor = SBUColorSet.onlight01, fileMessageRightTextColor: UIKit.UIColor = SBUColorSet.ondark01, fileMessagePlaceholderColor: UIKit.UIColor = SBUColorSet.onlight02, adminMessageFont: UIKit.UIFont = SBUFontSet.caption2, adminMessageTextColor: UIKit.UIColor = SBUColorSet.onlight02, unknownMessageDescFont: UIKit.UIFont = SBUFontSet.body3, unknownMessageDescLeftTextColor: UIKit.UIColor = SBUColorSet.onlight02, unknownMessageDescRightTextColor: UIKit.UIColor = SBUColorSet.ondark02, ogTitleFont: UIKit.UIFont = SBUFontSet.body2, ogTitleColor: UIKit.UIColor = SBUColorSet.onlight01, ogDescriptionFont: UIKit.UIFont = SBUFontSet.caption2, ogDescriptionColor: UIKit.UIColor = SBUColorSet.onlight01, ogURLAddressFont: UIKit.UIFont = SBUFontSet.caption2, ogURLAddressColor: UIKit.UIColor = SBUColorSet.onlight02, openChannelOGTitleColor: UIKit.UIColor = SBUColorSet.primary300, linkColor: UIKit.UIColor = SBUColorSet.primary300, contentBackgroundColor: UIKit.UIColor = SBUColorSet.background100, pressedContentBackgroundColor: UIKit.UIColor = SBUColorSet.background300, quotedMessageLeftBackgroundColor: UIKit.UIColor = SBUColorSet.background100.withAlphaComponent(0.5), quotedMessageRightBackgroundColor: UIKit.UIColor = SBUColorSet.background100, quotedFileMessageThumbnailColor: UIKit.UIColor = SBUColorSet.onlight02, quotedMessageTextColor: UIKit.UIColor = SBUColorSet.onlight03, quotedMessageTextFont: UIKit.UIFont = SBUFontSet.body3, repliedIconColor: UIKit.UIColor = SBUColorSet.onlight03, repliedToTextColor: UIKit.UIColor = SBUColorSet.onlight03, repliedToTextFont: UIKit.UIFont = SBUFontSet.caption1, repliedCountTextColor: UIKit.UIColor = SBUColorSet.primary300, repliedCountTextFont: UIKit.UIFont = SBUFontSet.caption3, repliedUsersMoreIconBackgroundColor: UIKit.UIColor = SBUColorSet.background700.withAlphaComponent(0.64), repliedUsersMoreIconTintColor: UIKit.UIColor = SBUColorSet.ondark01, mentionTextFont: UIKit.UIFont = SBUFontSet.body4, mentionLeftTextColor: UIKit.UIColor = SBUColorSet.onlight01, mentionRightTextColor: UIKit.UIColor = SBUColorSet.ondark01, mentionLeftTextBackgroundColor: UIKit.UIColor = .clear, mentionRightTextBackgroundColor: UIKit.UIColor = .clear, buttonBackgroundColor: UIKit.UIColor = SBUColorSet.background200, buttonTitleColor: UIKit.UIColor = SBUColorSet.primary300, sideButtonIconColor: UIKit.UIColor = SBUColorSet.onlight03, newMessageBadgeColor: UIKit.UIColor = SBUColorSet.secondary300, parentInfoBackgroundColor: UIKit.UIColor = SBUColorSet.background50, parentInfoUserNameTextFont: UIKit.UIFont = SBUFontSet.h3, parentInfoUserNameTextColor: UIKit.UIColor = SBUColorSet.onlight01, parentInfoDateFont: UIKit.UIFont = SBUFontSet.caption2, parentInfoDateTextColor: UIKit.UIColor = SBUColorSet.onlight03, parentInfoMoreButtonTintColor: UIKit.UIColor = SBUColorSet.onlight02, parentInfoSeparateBarColor: UIKit.UIColor = SBUColorSet.onlight04, parentInfoReplyCountTextColor: UIKit.UIColor = SBUColorSet.onlight03, parentInfoReplyCountTextFont: UIKit.UIFont = SBUFontSet.body3, parentInfoProgressBackgroundColor: UIKit.UIColor = SBUColorSet.background100, progressTrackTintColor: UIKit.UIColor = SBUColorSet.onlight03, progressTimeFont: UIKit.UIFont = SBUFontSet.body3, progressTimeRightTextColor: UIKit.UIColor = SBUColorSet.ondark01, progressTimeLeftTextColor: UIKit.UIColor = SBUColorSet.onlight01, statusButtonBackgroundColor: UIKit.UIColor = SBUColorSet.background50, loadingButtonTintColor: UIKit.UIColor = SBUColorSet.primary200, playButtonTintColor: UIKit.UIColor = SBUColorSet.primary300, pauseButtonTintColor: UIKit.UIColor = SBUColorSet.primary300, multipleFilesMessageFileOverlayColor: UIKit.UIColor = SBUColorSet.overlay02) public var backgroundColor: UIKit.UIColor public var leftBackgroundColor: UIKit.UIColor public var leftPressedBackgroundColor: UIKit.UIColor @@ -9088,6 +9287,7 @@ public class SBUMessageCellTheme { public var fileMessageLeftTextColor: UIKit.UIColor public var fileMessageRightTextColor: UIKit.UIColor public var fileMessagePlaceholderColor: UIKit.UIColor + public var multipleFilesMessageFileOverlayColor: UIKit.UIColor public var adminMessageFont: UIKit.UIFont public var adminMessageTextColor: UIKit.UIColor public var unknownMessageDescFont: UIKit.UIFont @@ -9488,8 +9688,8 @@ public class SBUMessageTemplateTheme { @objc @_inheritsConvenienceInitializers @_Concurrency.MainActor(unsafe) open class SBUImageContentView : SendbirdUIKit.SBUBaseFileContentView { @_Concurrency.MainActor(unsafe) public var imageView: UIKit.UIImageView @_Concurrency.MainActor(unsafe) public var iconImageView: UIKit.UIImageView - @_Concurrency.MainActor(unsafe) public var widthConstraint: UIKit.NSLayoutConstraint! - @_Concurrency.MainActor(unsafe) public var heightConstraint: UIKit.NSLayoutConstraint! + @_Concurrency.MainActor(unsafe) public var widthConstraint: UIKit.NSLayoutConstraint? + @_Concurrency.MainActor(unsafe) public var heightConstraint: UIKit.NSLayoutConstraint? @_Concurrency.MainActor(unsafe) @objc override dynamic open func setupViews() @_Concurrency.MainActor(unsafe) @objc override dynamic open func setupLayouts() @_Concurrency.MainActor(unsafe) open func setupSizeContraint() @@ -9578,14 +9778,16 @@ public protocol SBUUserMessageTextViewDelegate : AnyObject { @_Concurrency.MainActor(unsafe) public var textView: SendbirdUIKit.SBULinkClickableTextView @_Concurrency.MainActor(unsafe) public var channelType: SendbirdChatSDK.ChannelType @_Concurrency.MainActor(unsafe) public var isWebType: Swift.Bool - @_Concurrency.MainActor(unsafe) public var textLeftConstraint: UIKit.NSLayoutConstraint! - @_Concurrency.MainActor(unsafe) public var textRightConstraint: UIKit.NSLayoutConstraint! @_Concurrency.MainActor(unsafe) public var mentionManager: SendbirdUIKit.SBUMentionManager? @_Concurrency.MainActor(unsafe) public var removeMargin: Swift.Bool @_Concurrency.MainActor(unsafe) public var needsToRemoveMargin: Swift.Bool { get } @_Concurrency.MainActor(unsafe) weak public var delegate: SendbirdUIKit.SBUUserMessageTextViewDelegate? + @_Concurrency.MainActor(unsafe) public var textTopConstraint: UIKit.NSLayoutConstraint? + @_Concurrency.MainActor(unsafe) public var textBottomConstraint: UIKit.NSLayoutConstraint? + @_Concurrency.MainActor(unsafe) public var textLeftConstraint: UIKit.NSLayoutConstraint? + @_Concurrency.MainActor(unsafe) public var textRightConstraint: UIKit.NSLayoutConstraint? @_Concurrency.MainActor(unsafe) @objc override dynamic public init() @_Concurrency.MainActor(unsafe) @objc override dynamic public init(frame: CoreFoundation.CGRect) @_Concurrency.MainActor(unsafe) public init(channelType: SendbirdChatSDK.ChannelType = .group, removeMargin: Swift.Bool = false) @@ -9959,6 +10161,7 @@ public protocol SBUMessageThreadViewModelDelegate : SendbirdUIKit.SBUBaseChannel func messageThreadViewModel(_ viewModel: SendbirdUIKit.SBUMessageThreadViewModel, didLoadParentMessage parentMessage: SendbirdChatSDK.BaseMessage?) func messageThreadViewModel(_ viewModel: SendbirdUIKit.SBUMessageThreadViewModel, didUpdateParentMessage parentMessage: SendbirdChatSDK.BaseMessage?) func messageThreadViewModelShouldDismissMessageThread(_ viewModel: SendbirdUIKit.SBUMessageThreadViewModel) + func messageThreadViewModel(_ viewModel: SendbirdUIKit.SBUMessageThreadViewModel, didFinishUploadingFileAt index: Swift.Int, multipleFilesMessageRequestId requestId: Swift.String) } @objc open class SBUMessageThreadViewModel : SendbirdUIKit.SBUBaseChannelViewModel { weak public var delegate: SendbirdUIKit.SBUMessageThreadViewModelDelegate? { @@ -9975,6 +10178,7 @@ public protocol SBUMessageThreadViewModelDelegate : SendbirdUIKit.SBUBaseChannel public var threadedMessageListParams: SendbirdChatSDK.ThreadedMessageListParams { get } + public var sendMultipleFilesMessageCompletionHandler: SendbirdChatSDK.MultipleFilesMessageHandler? public init(channel: SendbirdChatSDK.BaseChannel? = nil, channelURL: Swift.String? = nil, parentMessage: SendbirdChatSDK.BaseMessage? = nil, parentMessageId: Swift.Int64? = 0, threadedMessageListParams: SendbirdChatSDK.ThreadedMessageListParams? = nil, startingPoint: Swift.Int64? = .max, delegate: SendbirdUIKit.SBUMessageThreadViewModelDelegate? = nil, dataSource: SendbirdUIKit.SBUMessageThreadViewModelDataSource? = nil) @objc deinit public func loadChannelAndMessages(channelURL: Swift.String?) @@ -9987,6 +10191,8 @@ public protocol SBUMessageThreadViewModelDelegate : SendbirdUIKit.SBUBaseChannel public func loadPrevMessages(timestamp: Swift.Int64?) override public func loadNextMessages() public func loadBothMessages(timestamp: Swift.Int64?, showIndicator: Swift.Bool) + public func sendMultipleFilesMessage(fileInfoList: [SendbirdChatSDK.UploadableFileInfo], parentMessageId: Swift.Int64) + public func updateMultipleFilesMessageCell(requestId: Swift.String, index: Swift.Int) open func setupSendUserMessageCompletionHandlers() open func setupSendFileMessageCompletionHandlers() override public func sortAllMessageList(needReload: Swift.Bool) @@ -10026,6 +10232,37 @@ extension SendbirdUIKit.SBUMessageThreadViewModel : SendbirdChatSDK.MessageColle @objc dynamic open func messageCollection(_ collection: SendbirdChatSDK.MessageCollection, context: SendbirdChatSDK.MessageContext, updatedChannel channel: SendbirdChatSDK.GroupChannel) @objc dynamic open func messageCollection(_ collection: SendbirdChatSDK.MessageCollection, context: SendbirdChatSDK.MessageContext, deletedChannel channelURL: Swift.String) } +@objc @_inheritsConvenienceInitializers @_Concurrency.MainActor(unsafe) open class SBUMultipleFilesMessageCell : SendbirdUIKit.SBUContentBaseMessageCell, UIKit.UICollectionViewDelegate, UIKit.UICollectionViewDataSource { + @objc @_Concurrency.MainActor(unsafe) public var multipleFilesMessage: SendbirdChatSDK.MultipleFilesMessage? { + @objc get + } + @objc @_Concurrency.MainActor(unsafe) public var containerView: UIKit.UIView + @objc @_Concurrency.MainActor(unsafe) public var collectionView: SendbirdUIKit.SBUMultipleFilesMessageCollectionView { + @objc get + @objc set + } + @objc @_Concurrency.MainActor(unsafe) public var collectionViewHeightConstraint: UIKit.NSLayoutConstraint! { + get + } + @objc @_Concurrency.MainActor(unsafe) public var fileSelectHandler: ((_ fileInfo: SendbirdChatSDK.UploadedFileInfo, _ index: Swift.Int) -> Swift.Void)? + @_Concurrency.MainActor(unsafe) @objc override dynamic open func setupViews() + @_Concurrency.MainActor(unsafe) @objc override dynamic open func setupLayouts() + @_Concurrency.MainActor(unsafe) @objc override dynamic open func setupStyles() + @_Concurrency.MainActor(unsafe) @objc override dynamic open func setupActions() + @_Concurrency.MainActor(unsafe) override open func configure(with configuration: SendbirdUIKit.SBUBaseMessageCellParams) + @_Concurrency.MainActor(unsafe) @objc override dynamic open func setSelected(_ selected: Swift.Bool, animated: Swift.Bool) + @_Concurrency.MainActor(unsafe) @objc override dynamic public init(style: UIKit.UITableViewCell.CellStyle, reuseIdentifier: Swift.String?) + @_Concurrency.MainActor(unsafe) @objc required dynamic public init?(coder: Foundation.NSCoder) + @objc deinit +} +extension SendbirdUIKit.SBUMultipleFilesMessageCell : UIKit.UICollectionViewDelegateFlowLayout { + @_Concurrency.MainActor(unsafe) @objc dynamic open func collectionView(_ collectionView: UIKit.UICollectionView, cellForItemAt indexPath: Foundation.IndexPath) -> UIKit.UICollectionViewCell + @_Concurrency.MainActor(unsafe) @objc dynamic open func collectionView(_ collectionView: UIKit.UICollectionView, numberOfItemsInSection section: Swift.Int) -> Swift.Int + @_Concurrency.MainActor(unsafe) @objc dynamic open func numberOfSections(in collectionView: UIKit.UICollectionView) -> Swift.Int + @_Concurrency.MainActor(unsafe) @objc dynamic open func collectionView(_ collectionView: UIKit.UICollectionView, didSelectItemAt indexPath: Foundation.IndexPath) + @_Concurrency.MainActor(unsafe) @objc dynamic open func collectionView(_ collectionView: UIKit.UICollectionView, layout collectionViewLayout: UIKit.UICollectionViewLayout, sizeForItemAt indexPath: Foundation.IndexPath) -> CoreFoundation.CGSize + @_Concurrency.MainActor(unsafe) @objc override dynamic open func prepareForReuse() +} public protocol SBUUserListModuleHeaderDelegate : SendbirdUIKit.SBUCommonDelegate { func userListModule(_ headerComponent: SendbirdUIKit.SBUUserListModule.Header, didUpdateTitleView titleView: UIKit.UIView?) func userListModule(_ headerComponent: SendbirdUIKit.SBUUserListModule.Header, didUpdateLeftItem leftItem: UIKit.UIBarButtonItem?) @@ -10212,6 +10449,7 @@ public protocol SBUGroupChannelViewModelDataSource : SendbirdUIKit.SBUBaseChanne } public protocol SBUGroupChannelViewModelDelegate : SendbirdUIKit.SBUBaseChannelViewModelDelegate { func groupChannelViewModel(_ viewModel: SendbirdUIKit.SBUGroupChannelViewModel, didReceiveSuggestedMentions members: [SendbirdUIKit.SBUUser]?) + func groupChannelViewModel(_ viewModel: SendbirdUIKit.SBUGroupChannelViewModel, didFinishUploadingFileAt index: Swift.Int, multipleFilesMessageRequestId requestId: Swift.String) } @objc open class SBUGroupChannelViewModel : SendbirdUIKit.SBUBaseChannelViewModel { weak public var delegate: SendbirdUIKit.SBUGroupChannelViewModelDelegate? { @@ -10222,10 +10460,13 @@ public protocol SBUGroupChannelViewModelDelegate : SendbirdUIKit.SBUBaseChannelV get set } + public var sendMultipleFilesMessageCompletionHandler: SendbirdChatSDK.MultipleFilesMessageHandler? public init(channel: SendbirdChatSDK.BaseChannel? = nil, channelURL: Swift.String? = nil, messageListParams: SendbirdChatSDK.MessageListParams? = nil, startingPoint: Swift.Int64? = .max, delegate: SendbirdUIKit.SBUGroupChannelViewModelDelegate? = nil, dataSource: SendbirdUIKit.SBUGroupChannelViewModelDataSource? = nil, displaysLocalCachedListFirst: Swift.Bool = false) @objc deinit override public func loadChannel(channelURL: Swift.String, messageListParams: SendbirdChatSDK.MessageListParams? = nil, completionHandler: ((SendbirdChatSDK.BaseChannel?, SendbirdChatSDK.SBError?) -> Swift.Void)? = nil) override public func refreshChannel() + open func sendMultipleFilesMessage(fileInfoList: [SendbirdChatSDK.UploadableFileInfo]) + open func updateMultipleFilesMessageCell(requestId: Swift.String, index: Swift.Int) override public func loadInitialMessages(startingPoint: Swift.Int64?, showIndicator: Swift.Bool, initialMessages: [SendbirdChatSDK.BaseMessage]?) override public func loadPrevMessages() override public func loadNextMessages() diff --git a/Framework/SendbirdUIKit.xcframework/ios-arm64/SendbirdUIKit.framework/Modules/SendbirdUIKit.swiftmodule/arm64-apple-ios.swiftdoc b/Framework/SendbirdUIKit.xcframework/ios-arm64/SendbirdUIKit.framework/Modules/SendbirdUIKit.swiftmodule/arm64-apple-ios.swiftdoc index 2fbd2ba48..a590d54c3 100644 Binary files a/Framework/SendbirdUIKit.xcframework/ios-arm64/SendbirdUIKit.framework/Modules/SendbirdUIKit.swiftmodule/arm64-apple-ios.swiftdoc and b/Framework/SendbirdUIKit.xcframework/ios-arm64/SendbirdUIKit.framework/Modules/SendbirdUIKit.swiftmodule/arm64-apple-ios.swiftdoc differ diff --git a/Framework/SendbirdUIKit.xcframework/ios-arm64/SendbirdUIKit.framework/Modules/SendbirdUIKit.swiftmodule/arm64-apple-ios.swiftinterface b/Framework/SendbirdUIKit.xcframework/ios-arm64/SendbirdUIKit.framework/Modules/SendbirdUIKit.swiftmodule/arm64-apple-ios.swiftinterface index f3ba8462b..61be0e818 100644 --- a/Framework/SendbirdUIKit.xcframework/ios-arm64/SendbirdUIKit.framework/Modules/SendbirdUIKit.swiftmodule/arm64-apple-ios.swiftinterface +++ b/Framework/SendbirdUIKit.xcframework/ios-arm64/SendbirdUIKit.framework/Modules/SendbirdUIKit.swiftmodule/arm64-apple-ios.swiftinterface @@ -155,7 +155,7 @@ extension SendbirdUIKit.SBUBaseChannelModule { @_Concurrency.MainActor(unsafe) open func updateStyles(theme: SendbirdUIKit.SBUChannelTheme? = nil, componentTheme: SendbirdUIKit.SBUComponentTheme = SBUTheme.componentTheme) @_Concurrency.MainActor(unsafe) public func setupScrollBottomViewStyle(scrollBottomView: UIKit.UIView, theme: SendbirdUIKit.SBUComponentTheme = SBUTheme.componentTheme) @objc @_Concurrency.MainActor(unsafe) open func setScrollBottomView(hidden: Swift.Bool) - @objc @_Concurrency.MainActor(unsafe) public func reloadTableView() + @objc @_Concurrency.MainActor(unsafe) public func reloadTableView(needsToLayout: Swift.Bool = true) @_Concurrency.MainActor(unsafe) public func updateEmptyView(type: SendbirdUIKit.EmptyViewType) @objc @_Concurrency.MainActor(unsafe) open func showMessageMenu(on message: SendbirdChatSDK.BaseMessage, forRowAt indexPath: Foundation.IndexPath) @objc @_Concurrency.MainActor(unsafe) open func showFailedMessageMenu(on message: SendbirdChatSDK.BaseMessage) @@ -341,6 +341,7 @@ public protocol SBUMessageThreadModuleInputDelegate : SendbirdUIKit.SBUBaseChann func messageThreadModule(_ inputComponent: SendbirdUIKit.SBUMessageThreadModule.Input, shouldLoadSuggestedMentions filterText: Swift.String) func messageThreadModuleShouldStopSuggestingMention(_ inputComponent: SendbirdUIKit.SBUMessageThreadModule.Input) func messageThreadModuleDidTapVoiceMessage(_ inputComponent: SendbirdUIKit.SBUMessageThreadModule.Input) + func messageThreadModule(_ inputComponent: SendbirdUIKit.SBUMessageThreadModule.Input, didPickMultipleFiles fileInfoList: [SendbirdChatSDK.UploadableFileInfo], parentMessage: SendbirdChatSDK.BaseMessage) } public protocol SBUMessageThreadModuleInputDataSource : SendbirdUIKit.SBUBaseChannelModuleInputDataSource { } @@ -375,6 +376,12 @@ extension SendbirdUIKit.SBUMessageThreadModule { @_Concurrency.MainActor(unsafe) @objc override open func pickDocumentFile(documentURLs: [Foundation.URL]) @_Concurrency.MainActor(unsafe) @objc override open func pickImageData(_ data: Foundation.Data, fileName: Swift.String? = nil, mimeType: Swift.String? = nil) @_Concurrency.MainActor(unsafe) @objc override open func pickVideoURL(_ url: Foundation.URL) + @objc @available(iOS 14.0, *) + @_Concurrency.MainActor(unsafe) public func pickMultipleImageFiles(itemProviders: [Foundation.NSItemProvider]) + @available(iOS 14.0, *) + @_Concurrency.MainActor(unsafe) public func loadImageFile(itemProvider: Foundation.NSItemProvider, index: Swift.Int? = nil, completion: @escaping (Foundation.Data?, Swift.String?, Swift.String?) -> Swift.Void) + @available(iOS 14.0, *) + @_Concurrency.MainActor(unsafe) public func loadGIFfile(itemProvider: Foundation.NSItemProvider, index: Swift.Int? = nil, completion: @escaping (Foundation.Data?, Swift.String?, Swift.String?) -> Swift.Void) @_Concurrency.MainActor(unsafe) @objc override open func updateMessageInputMode(_ mode: SendbirdUIKit.SBUMessageInputMode, message: SendbirdChatSDK.BaseMessage? = nil) @_Concurrency.MainActor(unsafe) @objc override open func updateMessageInputModeState() @_Concurrency.MainActor(unsafe) @objc override open func updateFrozenModeState() @@ -831,10 +838,10 @@ extension SendbirdUIKit.SBUView : SendbirdUIKit.SBUViewLifeCycle { set _modify } - @_Concurrency.MainActor(unsafe) public var collectionViewHeightConstraint: UIKit.NSLayoutConstraint! { + @_Concurrency.MainActor(unsafe) public var collectionViewHeightConstraint: UIKit.NSLayoutConstraint? { get } - @_Concurrency.MainActor(unsafe) public var collectionViewMinWidthContraint: UIKit.NSLayoutConstraint! { + @_Concurrency.MainActor(unsafe) public var collectionViewMinWidthContraint: UIKit.NSLayoutConstraint? { get } @_Concurrency.MainActor(unsafe) final public let collectionViewInsets: UIKit.UIEdgeInsets @@ -1736,6 +1743,7 @@ extension UIKit.UIImageView { @_hasMissingDesignatedInitializers public class SBUUtils { public static func getFileType(by fileMessage: SendbirdChatSDK.FileMessage) -> SendbirdUIKit.SBUMessageFileType public static func getFileType(by type: Swift.String) -> SendbirdUIKit.SBUMessageFileType + public static func getFileTypeString(by fileType: Swift.String) -> Swift.String public static func generateChannelName(channel: SendbirdChatSDK.GroupChannel) -> Swift.String public static func getMimeType(url: Foundation.URL) -> Swift.String? @available(*, deprecated, renamed: "getReceiptState(of:in:)") @@ -1786,6 +1794,7 @@ extension UIKit.UIImageView { public static var Settings: Swift.String public static var Reply: Swift.String public static var Alert_Delete: Swift.String + public static var Alert_Delete_MultipleFilesMessage: (Swift.Int) -> Swift.String public static var Alert_Allow_Camera_Access: Swift.String public static var Alert_Allow_PhotoLibrary_Access: Swift.String public static var Alert_Allow_PhotoLibrary_Access_Message: Swift.String @@ -1947,6 +1956,22 @@ extension UIKit.UIImageView { } public static var fileName: Swift.String } + public struct GroupChannel { + public struct Preview { + public static var photo: Swift.String + public static var gif: Swift.String + public static var video: Swift.String + public static var audio: Swift.String + public static var voice: Swift.String + public static var file: Swift.String + public static var multipleFiles: Swift.String + } + } + public struct FileUpload { + public struct Error { + public static var exceededSizeLimit: Swift.String + } + } @objc deinit } extension SendbirdUIKit.SBUStringSet { @@ -2120,6 +2145,7 @@ extension SendbirdUIKit.SBUCreateOpenChannelModule { @_Concurrency.MainActor(unsafe) final public let descriptionLabel: UIKit.UILabel @_Concurrency.MainActor(unsafe) final public let urlLabel: UIKit.UILabel @_Concurrency.MainActor(unsafe) public var imageHeightConstraint: UIKit.NSLayoutConstraint? + @_Concurrency.MainActor(unsafe) public var imageWitdhConstraint: UIKit.NSLayoutConstraint? @_Concurrency.MainActor(unsafe) @objc override dynamic public init(frame: CoreFoundation.CGRect) @_Concurrency.MainActor(unsafe) @objc required dynamic public init(coder: Foundation.NSCoder) @_Concurrency.MainActor(unsafe) @objc override dynamic open func layoutSubviews() @@ -2297,6 +2323,11 @@ extension SendbirdUIKit.SBUModuleSet { public static var MessageSearchModule: SendbirdUIKit.SBUMessageSearchModule.Type public static var MessageThreadModule: SendbirdUIKit.SBUMessageThreadModule.Type } +extension SendbirdChatSDK.MultipleFilesMessage { + public var filesCount: Swift.Int { + get + } +} public protocol SBUMessageSearchViewModelDelegate : SendbirdUIKit.SBUCommonViewModelDelegate { func searchViewModel(_ viewModel: SendbirdUIKit.SBUMessageSearchViewModel, didChangeSearchResults results: [SendbirdChatSDK.BaseMessage], needsToReload: Swift.Bool) } @@ -2317,6 +2348,24 @@ open class SBUMessageSearchViewModel { public func loadMore() @objc deinit } +@objc @_inheritsConvenienceInitializers @_Concurrency.MainActor(unsafe) open class SBUMultipleFilesMessageCollectionView : UIKit.UICollectionView, SendbirdUIKit.SBUViewLifeCycle { + @SendbirdUIKit.SBUThemeWrapper @_Concurrency.MainActor(unsafe) public var theme: SendbirdUIKit.SBUMessageCellTheme { + get + set + _modify + } + @_Concurrency.MainActor(unsafe) public var cornerRadius: CoreFoundation.CGFloat + @_Concurrency.MainActor(unsafe) open func configure(delegate: UIKit.UICollectionViewDelegate, dataSource: UIKit.UICollectionViewDataSource, theme: SendbirdUIKit.SBUMessageCellTheme? = nil, cornerRadius: CoreFoundation.CGFloat) + @_Concurrency.MainActor(unsafe) @objc open func setupViews() + @_Concurrency.MainActor(unsafe) @objc open func setupLayouts() + @_Concurrency.MainActor(unsafe) @objc open func setupStyles() + @_Concurrency.MainActor(unsafe) @objc open func setupActions() + @_Concurrency.MainActor(unsafe) @objc open func updateLayouts() + @_Concurrency.MainActor(unsafe) @objc open func updateStyles() + @_Concurrency.MainActor(unsafe) @objc override dynamic public init(frame: CoreFoundation.CGRect, collectionViewLayout layout: UIKit.UICollectionViewLayout) + @_Concurrency.MainActor(unsafe) @objc required dynamic public init?(coder: Foundation.NSCoder) + @objc deinit +} extension SendbirdUIKit.SBUBaseSelectUserViewController { @objc @available(*, deprecated, renamed: "channelURL") @_Concurrency.MainActor(unsafe) dynamic public var channelUrl: Swift.String? { @@ -2477,6 +2526,28 @@ extension SendbirdUIKit.SBUBaseChannelSettingsModule { @objc func updateLayouts() @objc func setupActions() } +@objc @_hasMissingDesignatedInitializers @_Concurrency.MainActor(unsafe) public class SBUPaddingLabel : UIKit.UILabel { + @_Concurrency.MainActor(unsafe) public var top: CoreFoundation.CGFloat { + get + } + @_Concurrency.MainActor(unsafe) public var bottom: CoreFoundation.CGFloat { + get + } + @_Concurrency.MainActor(unsafe) public var leading: CoreFoundation.CGFloat { + get + } + @_Concurrency.MainActor(unsafe) public var trailing: CoreFoundation.CGFloat { + get + } + @_Concurrency.MainActor(unsafe) convenience public init(_ all: CoreFoundation.CGFloat) + @_Concurrency.MainActor(unsafe) convenience public init(_ vertical: CoreFoundation.CGFloat, _ horizontal: CoreFoundation.CGFloat) + @_Concurrency.MainActor(unsafe) public init(_ top: CoreFoundation.CGFloat = 0, _ bottom: CoreFoundation.CGFloat = 0, _ leading: CoreFoundation.CGFloat = 0, _ trailing: CoreFoundation.CGFloat = 0) + @_Concurrency.MainActor(unsafe) @objc override dynamic public func drawText(in rect: CoreFoundation.CGRect) + @_Concurrency.MainActor(unsafe) @objc override dynamic public var intrinsicContentSize: CoreFoundation.CGSize { + @objc get + } + @objc deinit +} public typealias SBUNewNotificationInfoHandler = () -> Swift.Void extension SendbirdUIKit.SBUBaseChannelViewController { @objc @_Concurrency.MainActor(unsafe) dynamic public func registerKeyboardNotifications() @@ -2497,7 +2568,7 @@ extension SendbirdUIKit.SBUBaseChannelViewController { get } @objc @_Concurrency.MainActor(unsafe) public var webView: SendbirdUIKit.SBUOpenChannelMessageWebView - @objc @_Concurrency.MainActor(unsafe) public var messageTypeConstraint: UIKit.NSLayoutConstraint! { + @objc @_Concurrency.MainActor(unsafe) public var messageTypeConstraint: UIKit.NSLayoutConstraint? { get } @objc @_Concurrency.MainActor(unsafe) public var webTypeConstraints: [UIKit.NSLayoutConstraint] { @@ -2957,6 +3028,7 @@ public protocol SBUMessageCellProtocol { @objc @_Concurrency.MainActor(unsafe) public var newMessagesCount: Swift.Int { get } + @objc @_Concurrency.MainActor(unsafe) open func multipleFilesMessageFileSizeErrorHandler(_ message: Swift.String) @objc @_Concurrency.MainActor(unsafe) required public init(channel: SendbirdChatSDK.GroupChannel, messageListParams: SendbirdChatSDK.MessageListParams? = nil) @objc @_Concurrency.MainActor(unsafe) public init(channel: SendbirdChatSDK.GroupChannel, messageListParams: SendbirdChatSDK.MessageListParams? = nil, displaysLocalCachedListFirst: Swift.Bool) @_Concurrency.MainActor(unsafe) required public init(channelURL: Swift.String, startingPoint: Swift.Int64? = nil, messageListParams: SendbirdChatSDK.MessageListParams? = nil) @@ -2975,6 +3047,7 @@ public protocol SBUMessageCellProtocol { @_Concurrency.MainActor(unsafe) @objc override open func setupViews() @_Concurrency.MainActor(unsafe) @objc override open func setupLayouts() @_Concurrency.MainActor(unsafe) @objc override open func setupStyles() + @_Concurrency.MainActor(unsafe) @objc override open func updateStyles(needsToLayout: Swift.Bool) @_Concurrency.MainActor(unsafe) @objc override open func updateStyles() @discardableResult @_Concurrency.MainActor(unsafe) @objc override public func increaseNewMessageCount() -> Swift.Bool @@ -2986,14 +3059,20 @@ public protocol SBUMessageCellProtocol { @_Concurrency.MainActor(unsafe) override public func showMenuModal(_ cell: UIKit.UITableViewCell, indexPath: Foundation.IndexPath, message: SendbirdChatSDK.BaseMessage, types: [SendbirdUIKit.MessageMenuItem]?) @_Concurrency.MainActor(unsafe) @objc override open func showChannelSettings() @_Concurrency.MainActor(unsafe) override open func showMessageThread(channelURL: Swift.String, parentMessageId: Swift.Int64, parentMessageCreatedAt: Swift.Int64? = 0, startingPoint: Swift.Int64? = 0) + @_Concurrency.MainActor(unsafe) @objc override open func imagePickerControllerDidCancel(_ picker: UIKit.UIImagePickerController) + @available(iOS 14, *) + @_Concurrency.MainActor(unsafe) override open func picker(_ picker: PhotosUI.PHPickerViewController, didFinishPicking results: [PhotosUI.PHPickerResult]) + @_Concurrency.MainActor(unsafe) @objc override open func showPhotoLibraryPicker() @_Concurrency.MainActor(unsafe) @objc override open func showVoiceMessageInput() @_Concurrency.MainActor(unsafe) @objc override open func dismissVoiceMessageInput() @_Concurrency.MainActor(unsafe) @objc override open func resetVoiceMessageInput(for resignActivity: Swift.Bool = false) @_Concurrency.MainActor(unsafe) @objc override open func baseChannelViewModel(_ viewModel: SendbirdUIKit.SBUBaseChannelViewModel, didChangeChannel channel: SendbirdChatSDK.BaseChannel?, withContext context: SendbirdChatSDK.MessageContext) @_Concurrency.MainActor(unsafe) @objc override open func baseChannelViewModel(_ viewModel: SendbirdUIKit.SBUBaseChannelViewModel, deletedMessages messages: [SendbirdChatSDK.BaseMessage]) @objc @_Concurrency.MainActor(unsafe) open func groupChannelViewModel(_ viewModel: SendbirdUIKit.SBUGroupChannelViewModel, didReceiveSuggestedMentions members: [SendbirdUIKit.SBUUser]?) + @objc @_Concurrency.MainActor(unsafe) public func groupChannelViewModel(_ viewModel: SendbirdUIKit.SBUGroupChannelViewModel, didFinishUploadingFileAt index: Swift.Int, multipleFilesMessageRequestId requestId: Swift.String) @_Concurrency.MainActor(unsafe) @objc override open func baseChannelModule(_ headerComponent: SendbirdUIKit.SBUBaseChannelModule.Header, didTapLeftItem leftItem: UIKit.UIBarButtonItem) @_Concurrency.MainActor(unsafe) @objc override open func baseChannelModule(_ headerComponent: SendbirdUIKit.SBUBaseChannelModule.Header, didTapRightItem rightItem: UIKit.UIBarButtonItem) + @objc @_Concurrency.MainActor(unsafe) open func groupChannelModule(_ listComponent: SendbirdUIKit.SBUGroupChannelModule.List, didSelectFileAt index: Swift.Int, multipleFilesMessageCell: SendbirdUIKit.SBUMultipleFilesMessageCell, forRowAt cellIndexPath: Foundation.IndexPath) @objc @_Concurrency.MainActor(unsafe) open func groupChannelModule(_ listComponent: SendbirdUIKit.SBUGroupChannelModule.List, didTapEmoji emojiKey: Swift.String, messageCell: SendbirdUIKit.SBUBaseMessageCell) @objc @_Concurrency.MainActor(unsafe) open func groupChannelModule(_ listComponent: SendbirdUIKit.SBUGroupChannelModule.List, didLongTapEmoji emojiKey: Swift.String, messageCell: SendbirdUIKit.SBUBaseMessageCell) @objc @_Concurrency.MainActor(unsafe) open func groupChannelModule(_ listComponent: SendbirdUIKit.SBUGroupChannelModule.List, didTapMoreEmojiForCell messageCell: SendbirdUIKit.SBUBaseMessageCell) @@ -3006,6 +3085,7 @@ public protocol SBUMessageCellProtocol { @_Concurrency.MainActor(unsafe) open func groupChannelModule(_ listComponent: SendbirdUIKit.SBUGroupChannelModule.List, highlightInfoInTableView tableView: UIKit.UITableView) -> SendbirdUIKit.SBUHighlightMessageInfo? @_Concurrency.MainActor(unsafe) @objc override open func baseChannelModule(_ inputComponent: SendbirdUIKit.SBUBaseChannelModule.Input, didUpdateFrozenState isFrozen: Swift.Bool) @objc @_Concurrency.MainActor(unsafe) open func groupChannelModule(_ inputComponent: SendbirdUIKit.SBUGroupChannelModule.Input, didPickFileData fileData: Foundation.Data?, fileName: Swift.String, mimeType: Swift.String, parentMessage: SendbirdChatSDK.BaseMessage?) + @objc @_Concurrency.MainActor(unsafe) open func groupChannelModule(_ inputComponent: SendbirdUIKit.SBUGroupChannelModule.Input, didPickMultipleFiles fileInfoList: [SendbirdChatSDK.UploadableFileInfo]?, parentMessage: SendbirdChatSDK.BaseMessage?) @objc @_Concurrency.MainActor(unsafe) open func groupChannelModule(_ inputComponent: SendbirdUIKit.SBUGroupChannelModule.Input, didTapSend text: Swift.String, mentionedMessageTemplate: Swift.String, mentionedUserIds: [Swift.String], parentMessage: SendbirdChatSDK.BaseMessage?) @objc @_Concurrency.MainActor(unsafe) open func groupChannelModule(_ inputComponent: SendbirdUIKit.SBUGroupChannelModule.Input, didTapEdit text: Swift.String, mentionedMessageTemplate: Swift.String, mentionedUserIds: [Swift.String]) @objc @_Concurrency.MainActor(unsafe) open func groupChannelModule(_ inputComponent: SendbirdUIKit.SBUGroupChannelModule.Input, willChangeMode mode: SendbirdUIKit.SBUMessageInputMode, message: SendbirdChatSDK.BaseMessage?, mentionedMessageTemplate: Swift.String, mentionedUserIds: [Swift.String]) @@ -3535,7 +3615,7 @@ public protocol SBUSuggestedMentionListDelegate : AnyObject { } @_Concurrency.MainActor(unsafe) public var userCell: UIKit.UITableViewCell? @_Concurrency.MainActor(unsafe) public var limitGuideCell: UIKit.UITableViewCell? - @_Concurrency.MainActor(unsafe) public var heightConstraint: UIKit.NSLayoutConstraint! + @_Concurrency.MainActor(unsafe) public var heightConstraint: UIKit.NSLayoutConstraint? @_Concurrency.MainActor(unsafe) public var filteredUsers: [SendbirdUIKit.SBUUser] { get } @@ -3611,6 +3691,10 @@ extension SendbirdUIKit.SBUConfig.GroupChannel { set } public var input: SendbirdUIKit.SBUConfig.GroupChannel.Channel.Input + @SendbirdUIKit.SBUPrioritizedConfig public var isMultipleFilesMessageEnabled: Swift.Bool { + get + set + } @objc deinit public func encode(to encoder: Swift.Encoder) throws required public init(from decoder: Swift.Decoder) throws @@ -3686,6 +3770,8 @@ public protocol SBUMessageThreadModuleListDelegate : SendbirdUIKit.SBUBaseChanne func messageThreadModule(_ listComponent: SendbirdUIKit.SBUMessageThreadModule.List, didLongTapEmoji emojiKey: Swift.String, messageCell: SendbirdUIKit.SBUBaseMessageCell) func messageThreadModule(_ listComponent: SendbirdUIKit.SBUMessageThreadModule.List, didTapMoreEmojiForCell messageCell: SendbirdUIKit.SBUBaseMessageCell) func messageThreadModule(_ listComponent: SendbirdUIKit.SBUMessageThreadModule.List, didTapMentionUser user: SendbirdUIKit.SBUUser) + func messageThreadModule(_ listComponent: SendbirdUIKit.SBUMessageThreadModule.List, didSelectFileAt index: Swift.Int, multipleFilesMessageCell: SendbirdUIKit.SBUMultipleFilesMessageCell, forRowAt cellIndexPath: Foundation.IndexPath) + func messageThreadModule(_ listComponent: SendbirdUIKit.SBUMessageThreadModule.List, uploadedFileInfo: SendbirdChatSDK.UploadedFileInfo, message: SendbirdChatSDK.MultipleFilesMessage, index: Swift.Int) } public protocol SBUMessageThreadModuleListDataSource : SendbirdUIKit.SBUBaseChannelModuleListDataSource { } @@ -3702,6 +3788,9 @@ extension SendbirdUIKit.SBUMessageThreadModule { @objc @_Concurrency.MainActor(unsafe) public var fileMessageCell: SendbirdUIKit.SBUBaseMessageCell? { get } + @objc @_Concurrency.MainActor(unsafe) public var multipleFilesMessageCell: SendbirdUIKit.SBUBaseMessageCell? { + get + } @objc @_Concurrency.MainActor(unsafe) public var unknownMessageCell: SendbirdUIKit.SBUBaseMessageCell? { get } @@ -3734,11 +3823,12 @@ extension SendbirdUIKit.SBUMessageThreadModule { @_Concurrency.MainActor(unsafe) override open func createMessageMenuItems(for message: SendbirdChatSDK.BaseMessage) -> [SendbirdUIKit.SBUMenuItem] @_Concurrency.MainActor(unsafe) @objc override open func showMessageContextMenu(for message: SendbirdChatSDK.BaseMessage, cell: UIKit.UITableViewCell, forRowAt indexPath: Foundation.IndexPath) @objc @_Concurrency.MainActor(unsafe) open func setMessageCellGestures(_ cell: SendbirdUIKit.SBUBaseMessageCell, message: SendbirdChatSDK.BaseMessage, indexPath: Foundation.IndexPath) - @_Concurrency.MainActor(unsafe) @objc override public func reloadTableView() + @_Concurrency.MainActor(unsafe) @objc override public func reloadTableView(needsToLayout: Swift.Bool = true) @objc @_Concurrency.MainActor(unsafe) public func register(messageCell: SendbirdUIKit.SBUBaseMessageCell, nib: UIKit.UINib? = nil) @objc @_Concurrency.MainActor(unsafe) open func register(adminMessageCell: SendbirdUIKit.SBUBaseMessageCell, nib: UIKit.UINib? = nil) @objc @_Concurrency.MainActor(unsafe) open func register(userMessageCell: SendbirdUIKit.SBUBaseMessageCell, nib: UIKit.UINib? = nil) @objc @_Concurrency.MainActor(unsafe) open func register(fileMessageCell: SendbirdUIKit.SBUBaseMessageCell, nib: UIKit.UINib? = nil) + @objc @_Concurrency.MainActor(unsafe) open func register(multipleFilesMessageCell: SendbirdUIKit.SBUBaseMessageCell, nib: UIKit.UINib? = nil) @objc @_Concurrency.MainActor(unsafe) open func register(unknownMessageCell: SendbirdUIKit.SBUBaseMessageCell, nib: UIKit.UINib? = nil) @objc @_Concurrency.MainActor(unsafe) open func register(customMessageCell: SendbirdUIKit.SBUBaseMessageCell, nib: UIKit.UINib? = nil) @objc @_Concurrency.MainActor(unsafe) open func configureCell(_ messageCell: SendbirdUIKit.SBUBaseMessageCell, message: SendbirdChatSDK.BaseMessage, forRowAt indexPath: Foundation.IndexPath) @@ -4130,6 +4220,20 @@ extension SendbirdUIKit.SBUInviteUserModule { public static func restoreDefaultIcons() @objc deinit } +@objc @_inheritsConvenienceInitializers @_Concurrency.MainActor(unsafe) open class SBUCollectionViewCell : UIKit.UICollectionViewCell { + @_Concurrency.MainActor(unsafe) @objc override dynamic public init(frame: CoreFoundation.CGRect) + @_Concurrency.MainActor(unsafe) @objc required dynamic public init?(coder: Foundation.NSCoder) + @_Concurrency.MainActor(unsafe) @objc override dynamic open func layoutSubviews() + @objc deinit +} +extension SendbirdUIKit.SBUCollectionViewCell : SendbirdUIKit.SBUViewLifeCycle { + @_Concurrency.MainActor(unsafe) @objc dynamic public func setupViews() + @_Concurrency.MainActor(unsafe) @objc dynamic public func setupStyles() + @_Concurrency.MainActor(unsafe) @objc dynamic public func updateStyles() + @_Concurrency.MainActor(unsafe) @objc dynamic public func setupLayouts() + @_Concurrency.MainActor(unsafe) @objc dynamic public func updateLayouts() + @_Concurrency.MainActor(unsafe) @objc dynamic public func setupActions() +} @objc @_inheritsConvenienceInitializers @_Concurrency.MainActor(unsafe) open class SBUOpenChannelContentBaseMessageCell : SendbirdUIKit.SBUOpenChannelBaseMessageCell { @objc @_Concurrency.MainActor(unsafe) public var baseStackView: UIKit.UIStackView { @objc get @@ -4139,6 +4243,10 @@ extension SendbirdUIKit.SBUInviteUserModule { @objc get @objc set } + @objc @_Concurrency.MainActor(unsafe) public var profileBaseView: UIKit.UIView { + @objc get + @objc set + } @objc @_Concurrency.MainActor(unsafe) public var contentsStackView: UIKit.UIStackView { @objc get @objc set @@ -4559,6 +4667,25 @@ public protocol SBUCreateChannelTypeSelectorProtocol { @_Concurrency.MainActor(unsafe) open func updateButton(type: SendbirdUIKit.ChannelCreationType) @objc deinit } +@objc @_inheritsConvenienceInitializers @_hasMissingDesignatedInitializers @_Concurrency.MainActor(unsafe) open class SBUMultipleFilesMessageCollectionViewCell : SendbirdUIKit.SBUCollectionViewCell { + @_Concurrency.MainActor(unsafe) public var imageView: UIKit.UIImageView + @_Concurrency.MainActor(unsafe) public var overlayView: UIKit.UIView + @_Concurrency.MainActor(unsafe) public var iconImageView: UIKit.UIImageView + @SendbirdUIKit.SBUThemeWrapper @_Concurrency.MainActor(unsafe) public var theme: SendbirdUIKit.SBUMessageCellTheme { + get + set + _modify + } + @_Concurrency.MainActor(unsafe) public var imageCornerRadius: CoreFoundation.CGFloat + @_Concurrency.MainActor(unsafe) @objc required dynamic public init?(coder aDecoder: Foundation.NSCoder) + @_Concurrency.MainActor(unsafe) open func configure(uploadableFileInfo: SendbirdChatSDK.UploadableFileInfo? = nil, uploadedFileInfo: SendbirdChatSDK.UploadedFileInfo? = nil, requestId: Swift.String, index: Swift.Int, imageCornerRadius: CoreFoundation.CGFloat, showOverlay: Swift.Bool) + @_Concurrency.MainActor(unsafe) @objc override dynamic open func setupViews() + @_Concurrency.MainActor(unsafe) @objc override dynamic open func setupStyles() + @_Concurrency.MainActor(unsafe) @objc override dynamic open func setupLayouts() + @_Concurrency.MainActor(unsafe) @objc override dynamic open func prepareForReuse() + @_Concurrency.MainActor(unsafe) public func setGIFIcon() + @objc deinit +} extension UIKit.UIView { @objc @_Concurrency.MainActor(unsafe) public static func sbu_loadNib() -> UIKit.UINib @objc @_Concurrency.MainActor(unsafe) public static func sbu_loadViewFromNib() -> UIKit.UIView @@ -4584,6 +4711,8 @@ extension UIKit.UIView { @_Concurrency.MainActor(unsafe) public func sbu_constraint_greaterThan(widthAnchor: UIKit.NSLayoutAnchor? = nil, width: CoreFoundation.CGFloat? = nil, heightAnchor: UIKit.NSLayoutAnchor? = nil, height: CoreFoundation.CGFloat? = nil, priority: UIKit.UILayoutPriority? = nil) -> UIKit.UIView @discardableResult @_Concurrency.MainActor(unsafe) public func sbu_constraint_lessThan(widthAnchor: UIKit.NSLayoutAnchor? = nil, width: CoreFoundation.CGFloat? = nil, heightAnchor: UIKit.NSLayoutAnchor? = nil, height: CoreFoundation.CGFloat? = nil, priority: UIKit.UILayoutPriority? = nil) -> UIKit.UIView +} +extension UIKit.UIView { @discardableResult @_Concurrency.MainActor(unsafe) public func sbu_constraint_v2(equalTo view: UIKit.UIView, leading: CoreFoundation.CGFloat? = nil, trailing: CoreFoundation.CGFloat? = nil, left: CoreFoundation.CGFloat? = nil, right: CoreFoundation.CGFloat? = nil, top: CoreFoundation.CGFloat? = nil, bottom: CoreFoundation.CGFloat? = nil, centerX: CoreFoundation.CGFloat? = nil, centerY: CoreFoundation.CGFloat? = nil, priority: UIKit.UILayoutPriority? = nil) -> [UIKit.NSLayoutConstraint] @discardableResult @@ -4911,19 +5040,28 @@ public protocol SBUParentMessageInfoViewDelegate : AnyObject { func parentMessageInfoViewBoundsWillChanged(_ view: SendbirdUIKit.SBUParentMessageInfoView) func parentMessageInfoViewBoundsDidChanged(_ view: SendbirdUIKit.SBUParentMessageInfoView) } -@objc @_inheritsConvenienceInitializers @_Concurrency.MainActor(unsafe) open class SBUParentMessageInfoView : UIKit.UITableViewHeaderFooterView, SendbirdUIKit.SBUUserMessageTextViewDelegate { +@objc @_inheritsConvenienceInitializers @_Concurrency.MainActor(unsafe) open class SBUParentMessageInfoView : SendbirdUIKit.SBUView, SendbirdUIKit.SBUUserMessageTextViewDelegate { + public struct Constants { + public static var verticalSideMarginSize: CoreFoundation.CGFloat + } @_Concurrency.MainActor(unsafe) public var profileView: SendbirdUIKit.SBUMessageProfileView + @_Concurrency.MainActor(unsafe) public var profileBaseView: UIKit.UIView @_Concurrency.MainActor(unsafe) public var userNameLabel: UIKit.UILabel @_Concurrency.MainActor(unsafe) public var dateLabel: UIKit.UILabel @_Concurrency.MainActor(unsafe) public var moreButton: UIKit.UIButton? { get set } + @_Concurrency.MainActor(unsafe) public var moreButtonBaseView: UIKit.UIView @_Concurrency.MainActor(unsafe) public var replySeparateLine: UIKit.UIView @_Concurrency.MainActor(unsafe) public var replyLabel: UIKit.UILabel @_Concurrency.MainActor(unsafe) public var bottomSeparateLine: UIKit.UIView @_Concurrency.MainActor(unsafe) public var messageTextView: SendbirdUIKit.SBUUserMessageTextView @_Concurrency.MainActor(unsafe) public var baseFileContentView: SendbirdUIKit.SBUBaseFileContentView + @_Concurrency.MainActor(unsafe) public var fileCollectionView: SendbirdUIKit.SBUMultipleFilesMessageCollectionView { + get + set + } @_Concurrency.MainActor(unsafe) public var webView: SendbirdUIKit.SBUMessageWebView @_Concurrency.MainActor(unsafe) public var reactionView: SendbirdUIKit.SBUParentMessageInfoReactionView @_Concurrency.MainActor(unsafe) public var userHStackView: SendbirdUIKit.SBUStackView { @@ -4946,30 +5084,44 @@ public protocol SBUParentMessageInfoViewDelegate : AnyObject { @objc get @objc set } + @_Concurrency.MainActor(unsafe) public var contentView: UIKit.UIView { + get + set + } @_Concurrency.MainActor(unsafe) public var enablesReaction: Swift.Bool @_Concurrency.MainActor(unsafe) public var userProfileTapHandler: (() -> Swift.Void)? @_Concurrency.MainActor(unsafe) public var tapHandlerToContent: (() -> Swift.Void)? + @_Concurrency.MainActor(unsafe) public var fileSelectHandler: ((_ fileInfo: SendbirdChatSDK.UploadedFileInfo, _ index: Swift.Int) -> Swift.Void)? @_Concurrency.MainActor(unsafe) public var moreButtonTapHandlerToContent: (() -> Swift.Void)? @_Concurrency.MainActor(unsafe) public var emojiTapHandler: ((_ emojiKey: Swift.String) -> Swift.Void)? @_Concurrency.MainActor(unsafe) public var moreEmojiTapHandler: (() -> Swift.Void)? @_Concurrency.MainActor(unsafe) public var emojiLongPressHandler: ((_ emojiKey: Swift.String) -> Swift.Void)? @_Concurrency.MainActor(unsafe) public var mentionTapHandler: ((_ user: SendbirdUIKit.SBUUser) -> Swift.Void)? - @_Concurrency.MainActor(unsafe) @objc override dynamic public init(reuseIdentifier: Swift.String?) @available(*, unavailable, renamed: "SBUParentMessageInfoView(frame:)") - @_Concurrency.MainActor(unsafe) @objc required convenience dynamic public init?(coder: Foundation.NSCoder) - @_Concurrency.MainActor(unsafe) open func setupViews() - @_Concurrency.MainActor(unsafe) open func setupLayouts() - @_Concurrency.MainActor(unsafe) open func updateLayouts() - @_Concurrency.MainActor(unsafe) open func setupStyles() + @_Concurrency.MainActor(unsafe) required convenience public init?(coder: Foundation.NSCoder) + @_Concurrency.MainActor(unsafe) @objc override dynamic open func setupViews() + @_Concurrency.MainActor(unsafe) @objc override dynamic open func setupLayouts() + @_Concurrency.MainActor(unsafe) @objc override dynamic open func updateLayouts() + @_Concurrency.MainActor(unsafe) @objc override dynamic open func setupStyles() @_Concurrency.MainActor(unsafe) open func configure(message: SendbirdChatSDK.BaseMessage?, delegate: SendbirdUIKit.SBUParentMessageInfoViewDelegate?, useReaction: Swift.Bool = false, voiceFileInfo: SendbirdUIKit.SBUVoiceFileInfo?) - @_Concurrency.MainActor(unsafe) open func setupActions() + @_Concurrency.MainActor(unsafe) open func updateMessageTextWidth(with size: CoreFoundation.CGSize) + @_Concurrency.MainActor(unsafe) @objc override dynamic open func setupActions() @objc @_Concurrency.MainActor(unsafe) open func onTapUserProfileView(sender: UIKit.UITapGestureRecognizer) @objc @_Concurrency.MainActor(unsafe) open func onTapContentView(sender: UIKit.UITapGestureRecognizer) + @objc @_Concurrency.MainActor(unsafe) open func onSelectFile(sender: UIKit.UITapGestureRecognizer) @objc @_Concurrency.MainActor(unsafe) open func onTapWebview(sender: UIKit.UITapGestureRecognizer) @objc @_Concurrency.MainActor(unsafe) open func onTapMoreButton(_ sender: Any) @_Concurrency.MainActor(unsafe) open func userMessageTextView(_ textView: SendbirdUIKit.SBUUserMessageTextView, didTapMention user: SendbirdUIKit.SBUUser) + @_Concurrency.MainActor(unsafe) @objc override dynamic public init() + @_Concurrency.MainActor(unsafe) @objc override dynamic public init(frame: CoreFoundation.CGRect) @objc deinit } +extension SendbirdUIKit.SBUParentMessageInfoView : UIKit.UICollectionViewDataSource, UIKit.UICollectionViewDelegate, UIKit.UICollectionViewDelegateFlowLayout { + @_Concurrency.MainActor(unsafe) @objc dynamic public func numberOfSections(in collectionView: UIKit.UICollectionView) -> Swift.Int + @_Concurrency.MainActor(unsafe) @objc dynamic open func collectionView(_ collectionView: UIKit.UICollectionView, numberOfItemsInSection section: Swift.Int) -> Swift.Int + @_Concurrency.MainActor(unsafe) @objc dynamic open func collectionView(_ collectionView: UIKit.UICollectionView, layout collectionViewLayout: UIKit.UICollectionViewLayout, sizeForItemAt indexPath: Foundation.IndexPath) -> CoreFoundation.CGSize + @_Concurrency.MainActor(unsafe) @objc dynamic open func collectionView(_ collectionView: UIKit.UICollectionView, cellForItemAt indexPath: Foundation.IndexPath) -> UIKit.UICollectionViewCell +} @_hasMissingDesignatedInitializers public class SBUGlobalCustomParams { public static var groupChannelParamsCreateBuilder: ((_ params: SendbirdChatSDK.GroupChannelCreateParams?) -> Swift.Void)? public static var groupChannelParamsUpdateBuilder: ((_ params: SendbirdChatSDK.GroupChannelUpdateParams?) -> Swift.Void)? @@ -4979,6 +5131,7 @@ public protocol SBUParentMessageInfoViewDelegate : AnyObject { public static var userMessageParamsUpdateBuilder: ((_ params: SendbirdChatSDK.UserMessageUpdateParams?) -> Swift.Void)? public static var fileMessageParamsSendBuilder: ((_ params: SendbirdChatSDK.FileMessageCreateParams?) -> Swift.Void)? public static var voiceFileMessageParamsSendBuilder: ((_ params: SendbirdChatSDK.FileMessageCreateParams?) -> Swift.Void)? + public static var multipleFilesMessageParamsSendBuilder: ((_ params: SendbirdChatSDK.MultipleFilesMessageCreateParams?) -> Swift.Void)? public static var messageListParamsBuilder: ((_ params: SendbirdChatSDK.MessageListParams?) -> Swift.Void)? @objc deinit } @@ -5115,7 +5268,7 @@ extension UIKit.UIImage { @objc get @objc set } - @objc @_Concurrency.MainActor(unsafe) public var mainContainerView: SendbirdUIKit.SBUSelectableStackView { + @objc @_Concurrency.MainActor(unsafe) open var mainContainerView: SendbirdUIKit.SBUSelectableStackView { @objc get @objc set } @@ -5419,7 +5572,7 @@ extension UIKit.UIStackView { @_Concurrency.MainActor(unsafe) public var button: UIKit.UIButton @_Concurrency.MainActor(unsafe) public var username: Swift.String @_Concurrency.MainActor(unsafe) public var leftMargin: CoreFoundation.CGFloat - @_Concurrency.MainActor(unsafe) public var buttonLeftConstraint: UIKit.NSLayoutConstraint! { + @_Concurrency.MainActor(unsafe) public var buttonLeftConstraint: UIKit.NSLayoutConstraint? { get } @_Concurrency.MainActor(unsafe) @objc override dynamic public init() @@ -5619,6 +5772,7 @@ extension SendbirdUIKit.SBUBaseChannelSettingsModule.List : UIKit.UITableViewDat @_Concurrency.MainActor(unsafe) @objc override open func setupLayouts() @_Concurrency.MainActor(unsafe) @objc override open func updateLayouts() @_Concurrency.MainActor(unsafe) @objc override open func setupStyles() + @_Concurrency.MainActor(unsafe) @objc override open func updateStyles(needsToLayout: Swift.Bool) @_Concurrency.MainActor(unsafe) @objc override open func updateStyles() @objc @_Concurrency.MainActor(unsafe) public func updateChannelInfoView() @objc @available(*, deprecated, message: "Please use `calculateMessageMenuCGPoint(indexPath:)` in `SBUOpenChannelModule.List`") @@ -5758,6 +5912,9 @@ public class SBUQuoteMessageInputViewParams { public var isFileType: Swift.Bool { get } + public var isMultipleFilesMessage: Swift.Bool { + get + } public var fileType: Swift.String? { get } @@ -6250,7 +6407,7 @@ extension SendbirdUIKit.SBUMessageSearchViewController { @objc @_Concurrency.MainActor(unsafe) public var baseViewModel: SendbirdUIKit.SBUBaseChannelViewModel? @objc @_Concurrency.MainActor(unsafe) public var channelName: Swift.String? @objc @_Concurrency.MainActor(unsafe) public var isKeyboardShowing: Swift.Bool - @objc @_Concurrency.MainActor(unsafe) public var messageInputViewBottomConstraint: UIKit.NSLayoutConstraint! + @objc @_Concurrency.MainActor(unsafe) public var messageInputViewBottomConstraint: UIKit.NSLayoutConstraint? @available(*, unavailable) @_Concurrency.MainActor(unsafe) @objc required dynamic public init?(coder: Foundation.NSCoder) @_Concurrency.MainActor(unsafe) @objc override dynamic public init(nibName nibNameOrNil: Swift.String?, bundle nibBundleOrNil: Foundation.Bundle?) @@ -6259,6 +6416,7 @@ extension SendbirdUIKit.SBUMessageSearchViewController { @_Concurrency.MainActor(unsafe) public init(channelURL: Swift.String, startingPoint: Swift.Int64? = nil, messageListParams: SendbirdChatSDK.MessageListParams? = nil, displaysLocalCachedListFirst: Swift.Bool) @_Concurrency.MainActor(unsafe) @objc override dynamic open func loadView() @_Concurrency.MainActor(unsafe) @objc override dynamic open func viewWillAppear(_ animated: Swift.Bool) + @_Concurrency.MainActor(unsafe) @objc override dynamic open func viewDidAppear(_ animated: Swift.Bool) @_Concurrency.MainActor(unsafe) @objc override dynamic open func viewDidLoad() @_Concurrency.MainActor(unsafe) @objc override dynamic open func viewWillDisappear(_ animated: Swift.Bool) @objc @_Concurrency.MainActor(unsafe) open func applicationWillResignActivity() @@ -6279,6 +6437,7 @@ extension SendbirdUIKit.SBUMessageSearchViewController { @objc @_Concurrency.MainActor(unsafe) open func showEmojiListModal(message: SendbirdChatSDK.BaseMessage) @objc @_Concurrency.MainActor(unsafe) public func scrollToMessage(id messageId: Swift.Int64, enablesScrollAnimation: Swift.Bool = false, enablesMessageAnimation: Swift.Bool = false) @objc @_Concurrency.MainActor(unsafe) public func updateNewMessageInfo(hidden: Swift.Bool) + @_Concurrency.MainActor(unsafe) open func openFile(_ fileData: SendbirdUIKit.SBUFileData) @objc @_Concurrency.MainActor(unsafe) open func openFile(fileMessage: SendbirdChatSDK.FileMessage) @objc @discardableResult @_Concurrency.MainActor(unsafe) public func increaseNewMessageCount() -> Swift.Bool @@ -6648,6 +6807,14 @@ extension SendbirdUIKit.SBUChatNotificationChannelModule { @objc @_Concurrency.MainActor(unsafe) public func didSelectRetry() } } +public class SBUMultipleFilesMessageCellParams : SendbirdUIKit.SBUBaseMessageCellParams { + public var multipleFilesMessage: SendbirdChatSDK.MultipleFilesMessage? { + get + } + final public let useReaction: Swift.Bool + public init(message: SendbirdChatSDK.MultipleFilesMessage, hideDateView: Swift.Bool, useMessagePosition: Swift.Bool, groupPosition: SendbirdUIKit.MessageGroupPosition = .none, receiptState: SendbirdUIKit.SBUMessageReceiptState = .none, useReaction: Swift.Bool = false, isThreadMessage: Swift.Bool = false, joinedAt: Swift.Int64 = 0, voiceFileInfo: SendbirdUIKit.SBUVoiceFileInfo? = nil) + @objc deinit +} open class SBUCreateOpenChannelModule { public static var HeaderComponent: SendbirdUIKit.SBUCreateOpenChannelModule.Header.Type public static var ProfileInputComponent: SendbirdUIKit.SBUCreateOpenChannelModule.ProfileInput.Type @@ -6675,6 +6842,7 @@ open class SBUCreateOpenChannelModule { @objc @_Concurrency.MainActor(unsafe) open func updateLayouts() @objc @_Concurrency.MainActor(unsafe) open func setupStyles() @objc @_Concurrency.MainActor(unsafe) open func updateStyles() + @objc @_Concurrency.MainActor(unsafe) open func updateStyles(needsToLayout: Swift.Bool) @objc @_Concurrency.MainActor(unsafe) open func setupNavigationBar(backgroundColor: UIKit.UIColor, shadowColor: UIKit.UIColor) @objc @_Concurrency.MainActor(unsafe) open func onClickBack() @_Concurrency.MainActor(unsafe) open func errorHandler(_ message: Swift.String?, _ code: ObjectiveC.NSInteger? = nil) @@ -6927,8 +7095,20 @@ public class SBUFeedNotificationCellParams : SendbirdUIKit.SBUBaseMessageCellPar public static func isSupportReactions() -> Swift.Bool public static func isSupportOgTag(channelType: SendbirdChatSDK.ChannelType = .group) -> Swift.Bool public static func isSupportMessageSearch() -> Swift.Bool + public static var multipleFilesMessageFileCountLimit: Swift.Int { + get + } + public static var uploadSizeLimitBytes: Swift.Int64 { + get + } + public static var uploadSizeLimitMB: Swift.Int64 { + get + } @objc deinit } +extension UIKit.NSLayoutConstraint { + @_Concurrency.MainActor(unsafe) public static func sbu_activate(baseView: UIKit.UIView, constraints: [UIKit.NSLayoutConstraint?]) +} open class SBUMessageThreadModule { public static var HeaderComponent: SendbirdUIKit.SBUMessageThreadModule.Header.Type public static var ListComponent: SendbirdUIKit.SBUMessageThreadModule.List.Type @@ -7401,6 +7581,7 @@ public protocol SBUGroupChannelModuleListDelegate : SendbirdUIKit.SBUBaseChannel func groupChannelModule(_ listComponent: SendbirdUIKit.SBUGroupChannelModule.List, didTapMoreEmojiForCell messageCell: SendbirdUIKit.SBUBaseMessageCell) func groupChannelModule(_ listComponent: SendbirdUIKit.SBUGroupChannelModule.List, didTapMentionUser user: SendbirdUIKit.SBUUser) func groupChannelModuleDidTapThreadInfoView(_ threadInfoView: SendbirdUIKit.SBUThreadInfoView) + func groupChannelModule(_ listComponent: SendbirdUIKit.SBUGroupChannelModule.List, didSelectFileAt index: Swift.Int, multipleFilesMessageCell: SendbirdUIKit.SBUMultipleFilesMessageCell, forRowAt cellIndexPath: Foundation.IndexPath) } public protocol SBUGroupChannelModuleListDataSource : SendbirdUIKit.SBUBaseChannelModuleListDataSource { func groupChannelModule(_ listComponent: SendbirdUIKit.SBUGroupChannelModule.List, highlightInfoInTableView tableView: UIKit.UITableView) -> SendbirdUIKit.SBUHighlightMessageInfo? @@ -7416,6 +7597,9 @@ extension SendbirdUIKit.SBUGroupChannelModule { @objc @_Concurrency.MainActor(unsafe) public var fileMessageCell: SendbirdUIKit.SBUBaseMessageCell? { get } + @objc @_Concurrency.MainActor(unsafe) public var multipleFilesMessageCell: SendbirdUIKit.SBUBaseMessageCell? { + get + } @objc @_Concurrency.MainActor(unsafe) public var unknownMessageCell: SendbirdUIKit.SBUBaseMessageCell? { get } @@ -7452,6 +7636,7 @@ extension SendbirdUIKit.SBUGroupChannelModule { @objc @_Concurrency.MainActor(unsafe) open func register(adminMessageCell: SendbirdUIKit.SBUBaseMessageCell, nib: UIKit.UINib? = nil) @objc @_Concurrency.MainActor(unsafe) open func register(userMessageCell: SendbirdUIKit.SBUBaseMessageCell, nib: UIKit.UINib? = nil) @objc @_Concurrency.MainActor(unsafe) open func register(fileMessageCell: SendbirdUIKit.SBUBaseMessageCell, nib: UIKit.UINib? = nil) + @objc @_Concurrency.MainActor(unsafe) open func register(multipleFilesMessageCell: SendbirdUIKit.SBUBaseMessageCell, nib: UIKit.UINib? = nil) @objc @_Concurrency.MainActor(unsafe) open func register(unknownMessageCell: SendbirdUIKit.SBUBaseMessageCell, nib: UIKit.UINib? = nil) @objc @_Concurrency.MainActor(unsafe) open func register(customMessageCell: SendbirdUIKit.SBUBaseMessageCell, nib: UIKit.UINib? = nil) @objc @_Concurrency.MainActor(unsafe) open func configureCell(_ messageCell: SendbirdUIKit.SBUBaseMessageCell, message: SendbirdChatSDK.BaseMessage, forRowAt indexPath: Foundation.IndexPath) @@ -7481,6 +7666,7 @@ extension SendbirdUIKit.SBUGroupChannelModule.List { } public protocol SBUGroupChannelModuleInputDelegate : SendbirdUIKit.SBUBaseChannelModuleInputDelegate { func groupChannelModule(_ inputComponent: SendbirdUIKit.SBUGroupChannelModule.Input, didPickFileData fileData: Foundation.Data?, fileName: Swift.String, mimeType: Swift.String, parentMessage: SendbirdChatSDK.BaseMessage?) + func groupChannelModule(_ inputComponent: SendbirdUIKit.SBUGroupChannelModule.Input, didPickMultipleFiles fileInfoList: [SendbirdChatSDK.UploadableFileInfo]?, parentMessage: SendbirdChatSDK.BaseMessage?) func groupChannelModule(_ inputComponent: SendbirdUIKit.SBUGroupChannelModule.Input, didTapSend text: Swift.String, mentionedMessageTemplate: Swift.String, mentionedUserIds: [Swift.String], parentMessage: SendbirdChatSDK.BaseMessage?) func groupChannelModule(_ inputComponent: SendbirdUIKit.SBUGroupChannelModule.Input, didTapEdit text: Swift.String, mentionedMessageTemplate: Swift.String, mentionedUserIds: [Swift.String]) func groupChannelModule(_ inputComponent: SendbirdUIKit.SBUGroupChannelModule.Input, willChangeMode mode: SendbirdUIKit.SBUMessageInputMode, message: SendbirdChatSDK.BaseMessage?, mentionedMessageTemplate: Swift.String, mentionedUserIds: [Swift.String]) @@ -7514,6 +7700,8 @@ extension SendbirdUIKit.SBUGroupChannelModule { @_Concurrency.MainActor(unsafe) @objc override open func setupLayouts() @_Concurrency.MainActor(unsafe) @objc override open func pickImageFile(info: [UIKit.UIImagePickerController.InfoKey : Any]) @_Concurrency.MainActor(unsafe) @objc override open func pickVideoFile(info: [UIKit.UIImagePickerController.InfoKey : Any]) + @objc @available(iOS 14.0, *) + @_Concurrency.MainActor(unsafe) open func pickMultipleImageFiles(itemProviders: [Foundation.NSItemProvider]) @available(iOS 14.0, *) @_Concurrency.MainActor(unsafe) @objc override open func pickImageFile(itemProvider: Foundation.NSItemProvider) @available(iOS 14.0, *) @@ -7744,6 +7932,27 @@ public enum SBUIconSetType : Swift.String, Swift.Hashable { case iconPause case iconRecording case iconStop + public struct Metric { + public static let defaultIconSizeVerySmall: CoreFoundation.CGSize + public static let defaultIconSizeSmall: CoreFoundation.CGSize + public static let defaultIconSizeMedium: CoreFoundation.CGSize + public static let defaultIconSize: CoreFoundation.CGSize + public static let defaultIconSizeLarge: CoreFoundation.CGSize + public static let defaultIconSizeVeryLarge: CoreFoundation.CGSize + public static let quotedMessageIconSize: CoreFoundation.CGSize + public static let iconActionSheetItem: CoreFoundation.CGSize + public static let iconEmojiSmall: CoreFoundation.CGSize + public static let iconEmojiLarge: CoreFoundation.CGSize + public static let iconEmptyView: CoreFoundation.CGSize + public static let iconGifPlay: CoreFoundation.CGSize + public static let iconSpinnerLarge: CoreFoundation.CGSize + public static let iconSpinnerSizeForTemplate: CoreFoundation.CGSize + public static let iconUserProfile: CoreFoundation.CGSize + public static let iconUserProfileInChat: CoreFoundation.CGSize + public static let iconChevronDown: CoreFoundation.CGSize + public static let iconVoiceMessageSize: CoreFoundation.CGSize + } + public func image(with tintColor: UIKit.UIColor? = nil, to size: CoreFoundation.CGSize, tintAndResize: Swift.Bool = true) -> UIKit.UIImage public init?(rawValue: Swift.String) public typealias RawValue = Swift.String public var rawValue: Swift.String { @@ -7934,28 +8143,6 @@ open class SBUInviteUserModule { required public init(headerComponent: SendbirdUIKit.SBUInviteUserModule.Header? = nil, listComponent: SendbirdUIKit.SBUInviteUserModule.List? = nil) @objc deinit } -@objc @_hasMissingDesignatedInitializers @_Concurrency.MainActor(unsafe) public class SBUPaddingLabel : UIKit.UILabel { - @_Concurrency.MainActor(unsafe) public var top: CoreFoundation.CGFloat { - get - } - @_Concurrency.MainActor(unsafe) public var bottom: CoreFoundation.CGFloat { - get - } - @_Concurrency.MainActor(unsafe) public var leading: CoreFoundation.CGFloat { - get - } - @_Concurrency.MainActor(unsafe) public var trailing: CoreFoundation.CGFloat { - get - } - @_Concurrency.MainActor(unsafe) convenience public init(_ all: CoreFoundation.CGFloat) - @_Concurrency.MainActor(unsafe) convenience public init(_ vertical: CoreFoundation.CGFloat, _ horizontal: CoreFoundation.CGFloat) - @_Concurrency.MainActor(unsafe) public init(_ top: CoreFoundation.CGFloat = 0, _ bottom: CoreFoundation.CGFloat = 0, _ leading: CoreFoundation.CGFloat = 0, _ trailing: CoreFoundation.CGFloat = 0) - @_Concurrency.MainActor(unsafe) @objc override dynamic public func drawText(in rect: CoreFoundation.CGRect) - @_Concurrency.MainActor(unsafe) @objc override dynamic public var intrinsicContentSize: CoreFoundation.CGSize { - @objc get - } - @objc deinit -} @objc @_inheritsConvenienceInitializers @IBDesignable @_Concurrency.MainActor(unsafe) open class SBUUserMessageCell : SendbirdUIKit.SBUContentBaseMessageCell, SendbirdUIKit.SBUUserMessageTextViewDelegate { @objc @_Concurrency.MainActor(unsafe) public var messageTextView: UIKit.UIView { @objc get @@ -8309,6 +8496,7 @@ public protocol SBUMessageThreadViewControllerDelegate : AnyObject { @_Concurrency.MainActor(unsafe) @objc override dynamic open func viewWillAppear(_ animated: Swift.Bool) @_Concurrency.MainActor(unsafe) @objc override dynamic open func viewDidLoad() @_Concurrency.MainActor(unsafe) @objc override dynamic open func viewWillDisappear(_ animated: Swift.Bool) + @_Concurrency.MainActor(unsafe) @objc override dynamic open func viewWillTransition(to size: CoreFoundation.CGSize, with coordinator: UIKit.UIViewControllerTransitionCoordinator) @_Concurrency.MainActor(unsafe) @objc override open func applicationWillResignActivity() @_Concurrency.MainActor(unsafe) @objc override open func willPresentSubview() @objc deinit @@ -8316,11 +8504,14 @@ public protocol SBUMessageThreadViewControllerDelegate : AnyObject { @_Concurrency.MainActor(unsafe) @objc override open func setupViews() @_Concurrency.MainActor(unsafe) @objc override open func setupLayouts() @_Concurrency.MainActor(unsafe) @objc override open func setupStyles() + @_Concurrency.MainActor(unsafe) @objc override open func updateStyles(needsToLayout: Swift.Bool) @_Concurrency.MainActor(unsafe) @objc override open func updateStyles() @objc @_Concurrency.MainActor(unsafe) public func moveToParentMessage() @discardableResult @_Concurrency.MainActor(unsafe) @objc override public func increaseNewMessageCount() -> Swift.Bool @_Concurrency.MainActor(unsafe) @objc override public func updateChannelTitle() + @available(iOS 14, *) + @_Concurrency.MainActor(unsafe) override open func picker(_ picker: PhotosUI.PHPickerViewController, didFinishPicking results: [PhotosUI.PHPickerResult]) @_Concurrency.MainActor(unsafe) @objc override open func showVoiceMessageInput() @_Concurrency.MainActor(unsafe) @objc override open func dismissVoiceMessageInput() @_Concurrency.MainActor(unsafe) @objc override open func resetVoiceMessageInput(for resignActivity: Swift.Bool = false) @@ -8328,6 +8519,7 @@ public protocol SBUMessageThreadViewControllerDelegate : AnyObject { @objc @_Concurrency.MainActor(unsafe) open func messageThreadViewModel(_ viewModel: SendbirdUIKit.SBUMessageThreadViewModel, didLoadParentMessage parentMessage: SendbirdChatSDK.BaseMessage?) @objc @_Concurrency.MainActor(unsafe) public func messageThreadViewModel(_ viewModel: SendbirdUIKit.SBUMessageThreadViewModel, didUpdateParentMessage parentMessage: SendbirdChatSDK.BaseMessage?) @objc @_Concurrency.MainActor(unsafe) open func messageThreadViewModelShouldDismissMessageThread(_ viewModel: SendbirdUIKit.SBUMessageThreadViewModel) + @objc @_Concurrency.MainActor(unsafe) public func messageThreadViewModel(_ viewModel: SendbirdUIKit.SBUMessageThreadViewModel, didFinishUploadingFileAt index: Swift.Int, multipleFilesMessageRequestId requestId: Swift.String) @_Concurrency.MainActor(unsafe) @objc override open func baseChannelModule(_ headerComponent: SendbirdUIKit.SBUBaseChannelModule.Header, didUpdateTitleView titleView: UIKit.UIView?) @_Concurrency.MainActor(unsafe) @objc override open func baseChannelModule(_ headerComponent: SendbirdUIKit.SBUBaseChannelModule.Header, didTapTitleView titleView: UIKit.UIView?) @_Concurrency.MainActor(unsafe) @objc override open func baseChannelModule(_ headerComponent: SendbirdUIKit.SBUBaseChannelModule.Header, didTapLeftItem leftItem: UIKit.UIBarButtonItem) @@ -8335,11 +8527,14 @@ public protocol SBUMessageThreadViewControllerDelegate : AnyObject { @objc @_Concurrency.MainActor(unsafe) open func messageThreadModule(_ listComponent: SendbirdUIKit.SBUMessageThreadModule.List, didLongTapEmoji emojiKey: Swift.String, messageCell: SendbirdUIKit.SBUBaseMessageCell) @objc @_Concurrency.MainActor(unsafe) open func messageThreadModule(_ listComponent: SendbirdUIKit.SBUMessageThreadModule.List, didTapMoreEmojiForCell messageCell: SendbirdUIKit.SBUBaseMessageCell) @objc @_Concurrency.MainActor(unsafe) open func messageThreadModule(_ listComponent: SendbirdUIKit.SBUMessageThreadModule.List, didTapMentionUser user: SendbirdUIKit.SBUUser) + @objc @_Concurrency.MainActor(unsafe) public func messageThreadModule(_ listComponent: SendbirdUIKit.SBUMessageThreadModule.List, didSelectFileAt index: Swift.Int, multipleFilesMessageCell: SendbirdUIKit.SBUMultipleFilesMessageCell, forRowAt cellIndexPath: Foundation.IndexPath) + @objc @_Concurrency.MainActor(unsafe) public func messageThreadModule(_ listComponent: SendbirdUIKit.SBUMessageThreadModule.List, uploadedFileInfo: SendbirdChatSDK.UploadedFileInfo, message: SendbirdChatSDK.MultipleFilesMessage, index: Swift.Int) @_Concurrency.MainActor(unsafe) @objc override open func baseChannelModule(_ listComponent: SendbirdUIKit.SBUBaseChannelModule.List, didScroll scrollView: UIKit.UIScrollView) @_Concurrency.MainActor(unsafe) @objc override open func baseChannelModule(_ listComponent: SendbirdUIKit.SBUBaseChannelModule.List, didTapVoiceMessage fileMessage: SendbirdChatSDK.FileMessage, cell: UIKit.UITableViewCell, forRowAt indexPath: Foundation.IndexPath) @_Concurrency.MainActor(unsafe) @objc override open func baseChannelModule(_ listComponent: SendbirdUIKit.SBUBaseChannelModule.List, willDisplay cell: UIKit.UITableViewCell, forRowAt indexPath: Foundation.IndexPath) @_Concurrency.MainActor(unsafe) @objc override open func baseChannelModule(_ inputComponent: SendbirdUIKit.SBUBaseChannelModule.Input, didUpdateFrozenState isFrozen: Swift.Bool) @objc @_Concurrency.MainActor(unsafe) open func messageThreadModule(_ inputComponent: SendbirdUIKit.SBUMessageThreadModule.Input, didPickFileData fileData: Foundation.Data?, fileName: Swift.String, mimeType: Swift.String, parentMessage: SendbirdChatSDK.BaseMessage?) + @objc @_Concurrency.MainActor(unsafe) public func messageThreadModule(_ inputComponent: SendbirdUIKit.SBUMessageThreadModule.Input, didPickMultipleFiles fileInfoList: [SendbirdChatSDK.UploadableFileInfo], parentMessage: SendbirdChatSDK.BaseMessage) @objc @_Concurrency.MainActor(unsafe) open func messageThreadModule(_ inputComponent: SendbirdUIKit.SBUMessageThreadModule.Input, didTapSend text: Swift.String, mentionedMessageTemplate: Swift.String, mentionedUserIds: [Swift.String], parentMessage: SendbirdChatSDK.BaseMessage?) @objc @_Concurrency.MainActor(unsafe) open func messageThreadModule(_ inputComponent: SendbirdUIKit.SBUMessageThreadModule.Input, didTapEdit text: Swift.String, mentionedMessageTemplate: Swift.String, mentionedUserIds: [Swift.String]) @objc @_Concurrency.MainActor(unsafe) open func messageThreadModule(_ inputComponent: SendbirdUIKit.SBUMessageThreadModule.Input, willChangeMode mode: SendbirdUIKit.SBUMessageInputMode, message: SendbirdChatSDK.BaseMessage?, mentionedMessageTemplate: Swift.String, mentionedUserIds: [Swift.String]) @@ -8364,6 +8559,8 @@ public typealias SBUFileViewerDelegate = SendbirdUIKit.SBUFileViewControllerDele public protocol SBUFileViewControllerDelegate : AnyObject { func didSelectDeleteImage(message: SendbirdChatSDK.FileMessage) } +public struct SBUFileData { +} @objc @_Concurrency.MainActor(unsafe) open class SBUFileViewController : SendbirdUIKit.SBUBaseViewController, UIKit.UIScrollViewDelegate, SendbirdUIKit.SBUAlertViewDelegate { @objc @_Concurrency.MainActor(unsafe) public var leftBarButton: UIKit.UIBarButtonItem? { @objc get @@ -8386,7 +8583,9 @@ public protocol SBUFileViewControllerDelegate : AnyObject { @objc set } @objc @_Concurrency.MainActor(unsafe) public var bottomView: UIKit.UIView - @_Concurrency.MainActor(unsafe) required public init(fileMessage: SendbirdChatSDK.FileMessage, delegate: SendbirdUIKit.SBUFileViewControllerDelegate?) + @_Concurrency.MainActor(unsafe) required convenience public init(fileMessage: SendbirdChatSDK.FileMessage, delegate: SendbirdUIKit.SBUFileViewControllerDelegate?) + @_Concurrency.MainActor(unsafe) required public init(fileData: SendbirdUIKit.SBUFileData, delegate: SendbirdUIKit.SBUFileViewControllerDelegate?) + @available(*, unavailable, renamed: "init(params:delegate:)") @_Concurrency.MainActor(unsafe) @objc required dynamic public init?(coder: Foundation.NSCoder) @_Concurrency.MainActor(unsafe) @objc override dynamic open func viewDidLoad() @_Concurrency.MainActor(unsafe) @objc override dynamic open func viewWillAppear(_ animated: Swift.Bool) @@ -9050,7 +9249,7 @@ public class SBUMessageCellTheme { public static var overlay: SendbirdUIKit.SBUMessageCellTheme { get } - public init(backgroundColor: UIKit.UIColor = SBUColorSet.background50, leftBackgroundColor: UIKit.UIColor = SBUColorSet.background100, leftPressedBackgroundColor: UIKit.UIColor = SBUColorSet.primary100, rightBackgroundColor: UIKit.UIColor = SBUColorSet.primary300, rightPressedBackgroundColor: UIKit.UIColor = SBUColorSet.primary400, openChannelBackgroundColor: UIKit.UIColor = .clear, openChannelPressedBackgroundColor: UIKit.UIColor = SBUColorSet.background100, dateFont: UIKit.UIFont = SBUFontSet.caption1, dateTextColor: UIKit.UIColor = SBUColorSet.ondark01, dateBackgroundColor: UIKit.UIColor = SBUColorSet.overlay02, userPlaceholderBackgroundColor: UIKit.UIColor = SBUColorSet.background300, userPlaceholderTintColor: UIKit.UIColor = SBUColorSet.ondark01, userNameFont: UIKit.UIFont = SBUFontSet.caption1, userNameTextColor: UIKit.UIColor = SBUColorSet.onlight02, currentUserNameTextColor: UIKit.UIColor = SBUColorSet.secondary300, timeFont: UIKit.UIFont = SBUFontSet.caption4, timeTextColor: UIKit.UIColor = SBUColorSet.onlight03, pendingStateColor: UIKit.UIColor = SBUColorSet.primary300, failedStateColor: UIKit.UIColor = SBUColorSet.error300, succeededStateColor: UIKit.UIColor = SBUColorSet.onlight03, readReceiptStateColor: UIKit.UIColor = SBUColorSet.secondary300, deliveryReceiptStateColor: UIKit.UIColor = SBUColorSet.onlight03, userMessageFont: UIKit.UIFont = SBUFontSet.body3, userMessageLeftTextColor: UIKit.UIColor = SBUColorSet.onlight01, userMessageLeftEditTextColor: UIKit.UIColor = SBUColorSet.onlight02, userMessageLeftHighlightTextColor: UIKit.UIColor = SBUColorSet.onlight01, userMessageRightTextColor: UIKit.UIColor = SBUColorSet.ondark01, userMessageRightEditTextColor: UIKit.UIColor = SBUColorSet.ondark02, userMessageRightHighlightTextColor: UIKit.UIColor = SBUColorSet.onlight01, fileIconBackgroundColor: UIKit.UIColor = SBUColorSet.background50, fileImageBackgroundColor: UIKit.UIColor = SBUColorSet.ondark01, fileImageIconColor: UIKit.UIColor = SBUColorSet.onlight02, fileIconColor: UIKit.UIColor = SBUColorSet.primary300, fileMessageNameFont: UIKit.UIFont = SBUFontSet.body3, fileMessageLeftTextColor: UIKit.UIColor = SBUColorSet.onlight01, fileMessageRightTextColor: UIKit.UIColor = SBUColorSet.ondark01, fileMessagePlaceholderColor: UIKit.UIColor = SBUColorSet.onlight02, adminMessageFont: UIKit.UIFont = SBUFontSet.caption2, adminMessageTextColor: UIKit.UIColor = SBUColorSet.onlight02, unknownMessageDescFont: UIKit.UIFont = SBUFontSet.body3, unknownMessageDescLeftTextColor: UIKit.UIColor = SBUColorSet.onlight02, unknownMessageDescRightTextColor: UIKit.UIColor = SBUColorSet.ondark02, ogTitleFont: UIKit.UIFont = SBUFontSet.body2, ogTitleColor: UIKit.UIColor = SBUColorSet.onlight01, ogDescriptionFont: UIKit.UIFont = SBUFontSet.caption2, ogDescriptionColor: UIKit.UIColor = SBUColorSet.onlight01, ogURLAddressFont: UIKit.UIFont = SBUFontSet.caption2, ogURLAddressColor: UIKit.UIColor = SBUColorSet.onlight02, openChannelOGTitleColor: UIKit.UIColor = SBUColorSet.primary300, linkColor: UIKit.UIColor = SBUColorSet.primary300, contentBackgroundColor: UIKit.UIColor = SBUColorSet.background100, pressedContentBackgroundColor: UIKit.UIColor = SBUColorSet.background300, quotedMessageLeftBackgroundColor: UIKit.UIColor = SBUColorSet.background100.withAlphaComponent(0.5), quotedMessageRightBackgroundColor: UIKit.UIColor = SBUColorSet.background100, quotedFileMessageThumbnailColor: UIKit.UIColor = SBUColorSet.onlight02, quotedMessageTextColor: UIKit.UIColor = SBUColorSet.onlight03, quotedMessageTextFont: UIKit.UIFont = SBUFontSet.body3, repliedIconColor: UIKit.UIColor = SBUColorSet.onlight03, repliedToTextColor: UIKit.UIColor = SBUColorSet.onlight03, repliedToTextFont: UIKit.UIFont = SBUFontSet.caption1, repliedCountTextColor: UIKit.UIColor = SBUColorSet.primary300, repliedCountTextFont: UIKit.UIFont = SBUFontSet.caption3, repliedUsersMoreIconBackgroundColor: UIKit.UIColor = SBUColorSet.background700.withAlphaComponent(0.64), repliedUsersMoreIconTintColor: UIKit.UIColor = SBUColorSet.ondark01, mentionTextFont: UIKit.UIFont = SBUFontSet.body4, mentionLeftTextColor: UIKit.UIColor = SBUColorSet.onlight01, mentionRightTextColor: UIKit.UIColor = SBUColorSet.ondark01, mentionLeftTextBackgroundColor: UIKit.UIColor = .clear, mentionRightTextBackgroundColor: UIKit.UIColor = .clear, buttonBackgroundColor: UIKit.UIColor = SBUColorSet.background200, buttonTitleColor: UIKit.UIColor = SBUColorSet.primary300, sideButtonIconColor: UIKit.UIColor = SBUColorSet.onlight03, newMessageBadgeColor: UIKit.UIColor = SBUColorSet.secondary300, parentInfoBackgroundColor: UIKit.UIColor = SBUColorSet.background50, parentInfoUserNameTextFont: UIKit.UIFont = SBUFontSet.h3, parentInfoUserNameTextColor: UIKit.UIColor = SBUColorSet.onlight01, parentInfoDateFont: UIKit.UIFont = SBUFontSet.caption2, parentInfoDateTextColor: UIKit.UIColor = SBUColorSet.onlight03, parentInfoMoreButtonTintColor: UIKit.UIColor = SBUColorSet.onlight02, parentInfoSeparateBarColor: UIKit.UIColor = SBUColorSet.onlight04, parentInfoReplyCountTextColor: UIKit.UIColor = SBUColorSet.onlight03, parentInfoReplyCountTextFont: UIKit.UIFont = SBUFontSet.body3, parentInfoProgressBackgroundColor: UIKit.UIColor = SBUColorSet.background100, progressTrackTintColor: UIKit.UIColor = SBUColorSet.onlight03, progressTimeFont: UIKit.UIFont = SBUFontSet.body3, progressTimeRightTextColor: UIKit.UIColor = SBUColorSet.ondark01, progressTimeLeftTextColor: UIKit.UIColor = SBUColorSet.onlight01, statusButtonBackgroundColor: UIKit.UIColor = SBUColorSet.background50, loadingButtonTintColor: UIKit.UIColor = SBUColorSet.primary200, playButtonTintColor: UIKit.UIColor = SBUColorSet.primary300, pauseButtonTintColor: UIKit.UIColor = SBUColorSet.primary300) + public init(backgroundColor: UIKit.UIColor = SBUColorSet.background50, leftBackgroundColor: UIKit.UIColor = SBUColorSet.background100, leftPressedBackgroundColor: UIKit.UIColor = SBUColorSet.primary100, rightBackgroundColor: UIKit.UIColor = SBUColorSet.primary300, rightPressedBackgroundColor: UIKit.UIColor = SBUColorSet.primary400, openChannelBackgroundColor: UIKit.UIColor = .clear, openChannelPressedBackgroundColor: UIKit.UIColor = SBUColorSet.background100, dateFont: UIKit.UIFont = SBUFontSet.caption1, dateTextColor: UIKit.UIColor = SBUColorSet.ondark01, dateBackgroundColor: UIKit.UIColor = SBUColorSet.overlay02, userPlaceholderBackgroundColor: UIKit.UIColor = SBUColorSet.background300, userPlaceholderTintColor: UIKit.UIColor = SBUColorSet.ondark01, userNameFont: UIKit.UIFont = SBUFontSet.caption1, userNameTextColor: UIKit.UIColor = SBUColorSet.onlight02, currentUserNameTextColor: UIKit.UIColor = SBUColorSet.secondary300, timeFont: UIKit.UIFont = SBUFontSet.caption4, timeTextColor: UIKit.UIColor = SBUColorSet.onlight03, pendingStateColor: UIKit.UIColor = SBUColorSet.primary300, failedStateColor: UIKit.UIColor = SBUColorSet.error300, succeededStateColor: UIKit.UIColor = SBUColorSet.onlight03, readReceiptStateColor: UIKit.UIColor = SBUColorSet.secondary300, deliveryReceiptStateColor: UIKit.UIColor = SBUColorSet.onlight03, userMessageFont: UIKit.UIFont = SBUFontSet.body3, userMessageLeftTextColor: UIKit.UIColor = SBUColorSet.onlight01, userMessageLeftEditTextColor: UIKit.UIColor = SBUColorSet.onlight02, userMessageLeftHighlightTextColor: UIKit.UIColor = SBUColorSet.onlight01, userMessageRightTextColor: UIKit.UIColor = SBUColorSet.ondark01, userMessageRightEditTextColor: UIKit.UIColor = SBUColorSet.ondark02, userMessageRightHighlightTextColor: UIKit.UIColor = SBUColorSet.onlight01, fileIconBackgroundColor: UIKit.UIColor = SBUColorSet.background50, fileImageBackgroundColor: UIKit.UIColor = SBUColorSet.ondark01, fileImageIconColor: UIKit.UIColor = SBUColorSet.onlight02, fileIconColor: UIKit.UIColor = SBUColorSet.primary300, fileMessageNameFont: UIKit.UIFont = SBUFontSet.body3, fileMessageLeftTextColor: UIKit.UIColor = SBUColorSet.onlight01, fileMessageRightTextColor: UIKit.UIColor = SBUColorSet.ondark01, fileMessagePlaceholderColor: UIKit.UIColor = SBUColorSet.onlight02, adminMessageFont: UIKit.UIFont = SBUFontSet.caption2, adminMessageTextColor: UIKit.UIColor = SBUColorSet.onlight02, unknownMessageDescFont: UIKit.UIFont = SBUFontSet.body3, unknownMessageDescLeftTextColor: UIKit.UIColor = SBUColorSet.onlight02, unknownMessageDescRightTextColor: UIKit.UIColor = SBUColorSet.ondark02, ogTitleFont: UIKit.UIFont = SBUFontSet.body2, ogTitleColor: UIKit.UIColor = SBUColorSet.onlight01, ogDescriptionFont: UIKit.UIFont = SBUFontSet.caption2, ogDescriptionColor: UIKit.UIColor = SBUColorSet.onlight01, ogURLAddressFont: UIKit.UIFont = SBUFontSet.caption2, ogURLAddressColor: UIKit.UIColor = SBUColorSet.onlight02, openChannelOGTitleColor: UIKit.UIColor = SBUColorSet.primary300, linkColor: UIKit.UIColor = SBUColorSet.primary300, contentBackgroundColor: UIKit.UIColor = SBUColorSet.background100, pressedContentBackgroundColor: UIKit.UIColor = SBUColorSet.background300, quotedMessageLeftBackgroundColor: UIKit.UIColor = SBUColorSet.background100.withAlphaComponent(0.5), quotedMessageRightBackgroundColor: UIKit.UIColor = SBUColorSet.background100, quotedFileMessageThumbnailColor: UIKit.UIColor = SBUColorSet.onlight02, quotedMessageTextColor: UIKit.UIColor = SBUColorSet.onlight03, quotedMessageTextFont: UIKit.UIFont = SBUFontSet.body3, repliedIconColor: UIKit.UIColor = SBUColorSet.onlight03, repliedToTextColor: UIKit.UIColor = SBUColorSet.onlight03, repliedToTextFont: UIKit.UIFont = SBUFontSet.caption1, repliedCountTextColor: UIKit.UIColor = SBUColorSet.primary300, repliedCountTextFont: UIKit.UIFont = SBUFontSet.caption3, repliedUsersMoreIconBackgroundColor: UIKit.UIColor = SBUColorSet.background700.withAlphaComponent(0.64), repliedUsersMoreIconTintColor: UIKit.UIColor = SBUColorSet.ondark01, mentionTextFont: UIKit.UIFont = SBUFontSet.body4, mentionLeftTextColor: UIKit.UIColor = SBUColorSet.onlight01, mentionRightTextColor: UIKit.UIColor = SBUColorSet.ondark01, mentionLeftTextBackgroundColor: UIKit.UIColor = .clear, mentionRightTextBackgroundColor: UIKit.UIColor = .clear, buttonBackgroundColor: UIKit.UIColor = SBUColorSet.background200, buttonTitleColor: UIKit.UIColor = SBUColorSet.primary300, sideButtonIconColor: UIKit.UIColor = SBUColorSet.onlight03, newMessageBadgeColor: UIKit.UIColor = SBUColorSet.secondary300, parentInfoBackgroundColor: UIKit.UIColor = SBUColorSet.background50, parentInfoUserNameTextFont: UIKit.UIFont = SBUFontSet.h3, parentInfoUserNameTextColor: UIKit.UIColor = SBUColorSet.onlight01, parentInfoDateFont: UIKit.UIFont = SBUFontSet.caption2, parentInfoDateTextColor: UIKit.UIColor = SBUColorSet.onlight03, parentInfoMoreButtonTintColor: UIKit.UIColor = SBUColorSet.onlight02, parentInfoSeparateBarColor: UIKit.UIColor = SBUColorSet.onlight04, parentInfoReplyCountTextColor: UIKit.UIColor = SBUColorSet.onlight03, parentInfoReplyCountTextFont: UIKit.UIFont = SBUFontSet.body3, parentInfoProgressBackgroundColor: UIKit.UIColor = SBUColorSet.background100, progressTrackTintColor: UIKit.UIColor = SBUColorSet.onlight03, progressTimeFont: UIKit.UIFont = SBUFontSet.body3, progressTimeRightTextColor: UIKit.UIColor = SBUColorSet.ondark01, progressTimeLeftTextColor: UIKit.UIColor = SBUColorSet.onlight01, statusButtonBackgroundColor: UIKit.UIColor = SBUColorSet.background50, loadingButtonTintColor: UIKit.UIColor = SBUColorSet.primary200, playButtonTintColor: UIKit.UIColor = SBUColorSet.primary300, pauseButtonTintColor: UIKit.UIColor = SBUColorSet.primary300, multipleFilesMessageFileOverlayColor: UIKit.UIColor = SBUColorSet.overlay02) public var backgroundColor: UIKit.UIColor public var leftBackgroundColor: UIKit.UIColor public var leftPressedBackgroundColor: UIKit.UIColor @@ -9088,6 +9287,7 @@ public class SBUMessageCellTheme { public var fileMessageLeftTextColor: UIKit.UIColor public var fileMessageRightTextColor: UIKit.UIColor public var fileMessagePlaceholderColor: UIKit.UIColor + public var multipleFilesMessageFileOverlayColor: UIKit.UIColor public var adminMessageFont: UIKit.UIFont public var adminMessageTextColor: UIKit.UIColor public var unknownMessageDescFont: UIKit.UIFont @@ -9488,8 +9688,8 @@ public class SBUMessageTemplateTheme { @objc @_inheritsConvenienceInitializers @_Concurrency.MainActor(unsafe) open class SBUImageContentView : SendbirdUIKit.SBUBaseFileContentView { @_Concurrency.MainActor(unsafe) public var imageView: UIKit.UIImageView @_Concurrency.MainActor(unsafe) public var iconImageView: UIKit.UIImageView - @_Concurrency.MainActor(unsafe) public var widthConstraint: UIKit.NSLayoutConstraint! - @_Concurrency.MainActor(unsafe) public var heightConstraint: UIKit.NSLayoutConstraint! + @_Concurrency.MainActor(unsafe) public var widthConstraint: UIKit.NSLayoutConstraint? + @_Concurrency.MainActor(unsafe) public var heightConstraint: UIKit.NSLayoutConstraint? @_Concurrency.MainActor(unsafe) @objc override dynamic open func setupViews() @_Concurrency.MainActor(unsafe) @objc override dynamic open func setupLayouts() @_Concurrency.MainActor(unsafe) open func setupSizeContraint() @@ -9578,14 +9778,16 @@ public protocol SBUUserMessageTextViewDelegate : AnyObject { @_Concurrency.MainActor(unsafe) public var textView: SendbirdUIKit.SBULinkClickableTextView @_Concurrency.MainActor(unsafe) public var channelType: SendbirdChatSDK.ChannelType @_Concurrency.MainActor(unsafe) public var isWebType: Swift.Bool - @_Concurrency.MainActor(unsafe) public var textLeftConstraint: UIKit.NSLayoutConstraint! - @_Concurrency.MainActor(unsafe) public var textRightConstraint: UIKit.NSLayoutConstraint! @_Concurrency.MainActor(unsafe) public var mentionManager: SendbirdUIKit.SBUMentionManager? @_Concurrency.MainActor(unsafe) public var removeMargin: Swift.Bool @_Concurrency.MainActor(unsafe) public var needsToRemoveMargin: Swift.Bool { get } @_Concurrency.MainActor(unsafe) weak public var delegate: SendbirdUIKit.SBUUserMessageTextViewDelegate? + @_Concurrency.MainActor(unsafe) public var textTopConstraint: UIKit.NSLayoutConstraint? + @_Concurrency.MainActor(unsafe) public var textBottomConstraint: UIKit.NSLayoutConstraint? + @_Concurrency.MainActor(unsafe) public var textLeftConstraint: UIKit.NSLayoutConstraint? + @_Concurrency.MainActor(unsafe) public var textRightConstraint: UIKit.NSLayoutConstraint? @_Concurrency.MainActor(unsafe) @objc override dynamic public init() @_Concurrency.MainActor(unsafe) @objc override dynamic public init(frame: CoreFoundation.CGRect) @_Concurrency.MainActor(unsafe) public init(channelType: SendbirdChatSDK.ChannelType = .group, removeMargin: Swift.Bool = false) @@ -9959,6 +10161,7 @@ public protocol SBUMessageThreadViewModelDelegate : SendbirdUIKit.SBUBaseChannel func messageThreadViewModel(_ viewModel: SendbirdUIKit.SBUMessageThreadViewModel, didLoadParentMessage parentMessage: SendbirdChatSDK.BaseMessage?) func messageThreadViewModel(_ viewModel: SendbirdUIKit.SBUMessageThreadViewModel, didUpdateParentMessage parentMessage: SendbirdChatSDK.BaseMessage?) func messageThreadViewModelShouldDismissMessageThread(_ viewModel: SendbirdUIKit.SBUMessageThreadViewModel) + func messageThreadViewModel(_ viewModel: SendbirdUIKit.SBUMessageThreadViewModel, didFinishUploadingFileAt index: Swift.Int, multipleFilesMessageRequestId requestId: Swift.String) } @objc open class SBUMessageThreadViewModel : SendbirdUIKit.SBUBaseChannelViewModel { weak public var delegate: SendbirdUIKit.SBUMessageThreadViewModelDelegate? { @@ -9975,6 +10178,7 @@ public protocol SBUMessageThreadViewModelDelegate : SendbirdUIKit.SBUBaseChannel public var threadedMessageListParams: SendbirdChatSDK.ThreadedMessageListParams { get } + public var sendMultipleFilesMessageCompletionHandler: SendbirdChatSDK.MultipleFilesMessageHandler? public init(channel: SendbirdChatSDK.BaseChannel? = nil, channelURL: Swift.String? = nil, parentMessage: SendbirdChatSDK.BaseMessage? = nil, parentMessageId: Swift.Int64? = 0, threadedMessageListParams: SendbirdChatSDK.ThreadedMessageListParams? = nil, startingPoint: Swift.Int64? = .max, delegate: SendbirdUIKit.SBUMessageThreadViewModelDelegate? = nil, dataSource: SendbirdUIKit.SBUMessageThreadViewModelDataSource? = nil) @objc deinit public func loadChannelAndMessages(channelURL: Swift.String?) @@ -9987,6 +10191,8 @@ public protocol SBUMessageThreadViewModelDelegate : SendbirdUIKit.SBUBaseChannel public func loadPrevMessages(timestamp: Swift.Int64?) override public func loadNextMessages() public func loadBothMessages(timestamp: Swift.Int64?, showIndicator: Swift.Bool) + public func sendMultipleFilesMessage(fileInfoList: [SendbirdChatSDK.UploadableFileInfo], parentMessageId: Swift.Int64) + public func updateMultipleFilesMessageCell(requestId: Swift.String, index: Swift.Int) open func setupSendUserMessageCompletionHandlers() open func setupSendFileMessageCompletionHandlers() override public func sortAllMessageList(needReload: Swift.Bool) @@ -10026,6 +10232,37 @@ extension SendbirdUIKit.SBUMessageThreadViewModel : SendbirdChatSDK.MessageColle @objc dynamic open func messageCollection(_ collection: SendbirdChatSDK.MessageCollection, context: SendbirdChatSDK.MessageContext, updatedChannel channel: SendbirdChatSDK.GroupChannel) @objc dynamic open func messageCollection(_ collection: SendbirdChatSDK.MessageCollection, context: SendbirdChatSDK.MessageContext, deletedChannel channelURL: Swift.String) } +@objc @_inheritsConvenienceInitializers @_Concurrency.MainActor(unsafe) open class SBUMultipleFilesMessageCell : SendbirdUIKit.SBUContentBaseMessageCell, UIKit.UICollectionViewDelegate, UIKit.UICollectionViewDataSource { + @objc @_Concurrency.MainActor(unsafe) public var multipleFilesMessage: SendbirdChatSDK.MultipleFilesMessage? { + @objc get + } + @objc @_Concurrency.MainActor(unsafe) public var containerView: UIKit.UIView + @objc @_Concurrency.MainActor(unsafe) public var collectionView: SendbirdUIKit.SBUMultipleFilesMessageCollectionView { + @objc get + @objc set + } + @objc @_Concurrency.MainActor(unsafe) public var collectionViewHeightConstraint: UIKit.NSLayoutConstraint! { + get + } + @objc @_Concurrency.MainActor(unsafe) public var fileSelectHandler: ((_ fileInfo: SendbirdChatSDK.UploadedFileInfo, _ index: Swift.Int) -> Swift.Void)? + @_Concurrency.MainActor(unsafe) @objc override dynamic open func setupViews() + @_Concurrency.MainActor(unsafe) @objc override dynamic open func setupLayouts() + @_Concurrency.MainActor(unsafe) @objc override dynamic open func setupStyles() + @_Concurrency.MainActor(unsafe) @objc override dynamic open func setupActions() + @_Concurrency.MainActor(unsafe) override open func configure(with configuration: SendbirdUIKit.SBUBaseMessageCellParams) + @_Concurrency.MainActor(unsafe) @objc override dynamic open func setSelected(_ selected: Swift.Bool, animated: Swift.Bool) + @_Concurrency.MainActor(unsafe) @objc override dynamic public init(style: UIKit.UITableViewCell.CellStyle, reuseIdentifier: Swift.String?) + @_Concurrency.MainActor(unsafe) @objc required dynamic public init?(coder: Foundation.NSCoder) + @objc deinit +} +extension SendbirdUIKit.SBUMultipleFilesMessageCell : UIKit.UICollectionViewDelegateFlowLayout { + @_Concurrency.MainActor(unsafe) @objc dynamic open func collectionView(_ collectionView: UIKit.UICollectionView, cellForItemAt indexPath: Foundation.IndexPath) -> UIKit.UICollectionViewCell + @_Concurrency.MainActor(unsafe) @objc dynamic open func collectionView(_ collectionView: UIKit.UICollectionView, numberOfItemsInSection section: Swift.Int) -> Swift.Int + @_Concurrency.MainActor(unsafe) @objc dynamic open func numberOfSections(in collectionView: UIKit.UICollectionView) -> Swift.Int + @_Concurrency.MainActor(unsafe) @objc dynamic open func collectionView(_ collectionView: UIKit.UICollectionView, didSelectItemAt indexPath: Foundation.IndexPath) + @_Concurrency.MainActor(unsafe) @objc dynamic open func collectionView(_ collectionView: UIKit.UICollectionView, layout collectionViewLayout: UIKit.UICollectionViewLayout, sizeForItemAt indexPath: Foundation.IndexPath) -> CoreFoundation.CGSize + @_Concurrency.MainActor(unsafe) @objc override dynamic open func prepareForReuse() +} public protocol SBUUserListModuleHeaderDelegate : SendbirdUIKit.SBUCommonDelegate { func userListModule(_ headerComponent: SendbirdUIKit.SBUUserListModule.Header, didUpdateTitleView titleView: UIKit.UIView?) func userListModule(_ headerComponent: SendbirdUIKit.SBUUserListModule.Header, didUpdateLeftItem leftItem: UIKit.UIBarButtonItem?) @@ -10212,6 +10449,7 @@ public protocol SBUGroupChannelViewModelDataSource : SendbirdUIKit.SBUBaseChanne } public protocol SBUGroupChannelViewModelDelegate : SendbirdUIKit.SBUBaseChannelViewModelDelegate { func groupChannelViewModel(_ viewModel: SendbirdUIKit.SBUGroupChannelViewModel, didReceiveSuggestedMentions members: [SendbirdUIKit.SBUUser]?) + func groupChannelViewModel(_ viewModel: SendbirdUIKit.SBUGroupChannelViewModel, didFinishUploadingFileAt index: Swift.Int, multipleFilesMessageRequestId requestId: Swift.String) } @objc open class SBUGroupChannelViewModel : SendbirdUIKit.SBUBaseChannelViewModel { weak public var delegate: SendbirdUIKit.SBUGroupChannelViewModelDelegate? { @@ -10222,10 +10460,13 @@ public protocol SBUGroupChannelViewModelDelegate : SendbirdUIKit.SBUBaseChannelV get set } + public var sendMultipleFilesMessageCompletionHandler: SendbirdChatSDK.MultipleFilesMessageHandler? public init(channel: SendbirdChatSDK.BaseChannel? = nil, channelURL: Swift.String? = nil, messageListParams: SendbirdChatSDK.MessageListParams? = nil, startingPoint: Swift.Int64? = .max, delegate: SendbirdUIKit.SBUGroupChannelViewModelDelegate? = nil, dataSource: SendbirdUIKit.SBUGroupChannelViewModelDataSource? = nil, displaysLocalCachedListFirst: Swift.Bool = false) @objc deinit override public func loadChannel(channelURL: Swift.String, messageListParams: SendbirdChatSDK.MessageListParams? = nil, completionHandler: ((SendbirdChatSDK.BaseChannel?, SendbirdChatSDK.SBError?) -> Swift.Void)? = nil) override public func refreshChannel() + open func sendMultipleFilesMessage(fileInfoList: [SendbirdChatSDK.UploadableFileInfo]) + open func updateMultipleFilesMessageCell(requestId: Swift.String, index: Swift.Int) override public func loadInitialMessages(startingPoint: Swift.Int64?, showIndicator: Swift.Bool, initialMessages: [SendbirdChatSDK.BaseMessage]?) override public func loadPrevMessages() override public func loadNextMessages() diff --git a/Framework/SendbirdUIKit.xcframework/ios-arm64/SendbirdUIKit.framework/SendbirdUIKit b/Framework/SendbirdUIKit.xcframework/ios-arm64/SendbirdUIKit.framework/SendbirdUIKit index 5e50e32d5..62152903b 100755 Binary files a/Framework/SendbirdUIKit.xcframework/ios-arm64/SendbirdUIKit.framework/SendbirdUIKit and b/Framework/SendbirdUIKit.xcframework/ios-arm64/SendbirdUIKit.framework/SendbirdUIKit differ diff --git a/Framework/SendbirdUIKit.xcframework/ios-arm64/dSYMs/SendbirdUIKit.framework.dSYM/Contents/Info.plist b/Framework/SendbirdUIKit.xcframework/ios-arm64/dSYMs/SendbirdUIKit.framework.dSYM/Contents/Info.plist index e32ce9998..286f65959 100644 --- a/Framework/SendbirdUIKit.xcframework/ios-arm64/dSYMs/SendbirdUIKit.framework.dSYM/Contents/Info.plist +++ b/Framework/SendbirdUIKit.xcframework/ios-arm64/dSYMs/SendbirdUIKit.framework.dSYM/Contents/Info.plist @@ -13,7 +13,7 @@ CFBundleSignature ???? CFBundleShortVersionString - 3.9.3 + 3.10.0 CFBundleVersion 1 diff --git a/Framework/SendbirdUIKit.xcframework/ios-arm64/dSYMs/SendbirdUIKit.framework.dSYM/Contents/Resources/DWARF/SendbirdUIKit b/Framework/SendbirdUIKit.xcframework/ios-arm64/dSYMs/SendbirdUIKit.framework.dSYM/Contents/Resources/DWARF/SendbirdUIKit index a8abb403e..ee30efebb 100644 Binary files a/Framework/SendbirdUIKit.xcframework/ios-arm64/dSYMs/SendbirdUIKit.framework.dSYM/Contents/Resources/DWARF/SendbirdUIKit and b/Framework/SendbirdUIKit.xcframework/ios-arm64/dSYMs/SendbirdUIKit.framework.dSYM/Contents/Resources/DWARF/SendbirdUIKit differ diff --git a/Framework/SendbirdUIKit.xcframework/ios-arm64_x86_64-simulator/SendbirdUIKit.framework/Base.xcconfig b/Framework/SendbirdUIKit.xcframework/ios-arm64_x86_64-simulator/SendbirdUIKit.framework/Base.xcconfig index ea9b6fd34..4f97f9028 100644 --- a/Framework/SendbirdUIKit.xcframework/ios-arm64_x86_64-simulator/SendbirdUIKit.framework/Base.xcconfig +++ b/Framework/SendbirdUIKit.xcframework/ios-arm64_x86_64-simulator/SendbirdUIKit.framework/Base.xcconfig @@ -9,6 +9,6 @@ // Configuration settings file format documentation can be found at: // https://help.apple.com/xcode/#/dev745c5c974 -SBU_APP_VERSION = 3.9.3 -SBU_APP_BUNDLE_VERSION = 3.9.3 +SBU_APP_VERSION = 3.10.0 +SBU_APP_BUNDLE_VERSION = 3.10.0 SENDBIRD_CHAT_SDK_VERSION = 4.12.0 diff --git a/Framework/SendbirdUIKit.xcframework/ios-arm64_x86_64-simulator/SendbirdUIKit.framework/Headers/SendbirdUIKit-Swift.h b/Framework/SendbirdUIKit.xcframework/ios-arm64_x86_64-simulator/SendbirdUIKit.framework/Headers/SendbirdUIKit-Swift.h index 97d3b8f9e..ce769249b 100644 --- a/Framework/SendbirdUIKit.xcframework/ios-arm64_x86_64-simulator/SendbirdUIKit.framework/Headers/SendbirdUIKit-Swift.h +++ b/Framework/SendbirdUIKit.xcframework/ios-arm64_x86_64-simulator/SendbirdUIKit.framework/Headers/SendbirdUIKit-Swift.h @@ -258,6 +258,7 @@ using UInt = size_t; #if defined(__OBJC__) + SWIFT_CLASS("_TtCC13SendbirdUIKit9SBUConfig9BaseInput") @interface BaseInput : NSObject - (nonnull instancetype)init SWIFT_UNAVAILABLE; @@ -269,7 +270,6 @@ SWIFT_CLASS("_TtCC13SendbirdUIKit9SBUConfig9BaseInput") @end - @interface BaseInput (SWIFT_EXTENSION(SendbirdUIKit)) @end @@ -444,30 +444,30 @@ SWIFT_CLASS_NAMED("List") @end -/// A module component that represent the list of SBURegisterOperatorModule. +/// A module component that represent the list of SBUInviteUserModule. SWIFT_CLASS_NAMED("List") -@interface SBURegisterOperatorModuleList : SBUBaseChannelSettingsModuleList -- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder OBJC_DESIGNATED_INITIALIZER SWIFT_UNAVAILABLE_MSG("'init' has been renamed to 'SBURegisterOperatorModule.List()'"); -- (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER SWIFT_UNAVAILABLE_MSG("'init' has been renamed to 'SBURegisterOperatorModule.List()'"); +@interface SBUInviteUserModuleList : SBUBaseChannelSettingsModuleList +- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder OBJC_DESIGNATED_INITIALIZER SWIFT_UNAVAILABLE_MSG("'init' has been renamed to 'SBUInviteUserModule.List()'"); +- (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER SWIFT_UNAVAILABLE_MSG("'init' has been renamed to 'SBUInviteUserModule.List()'"); - (void)configureCell:(UITableViewCell * _Nullable)cell indexPath:(NSIndexPath * _Nonnull)indexPath; @end -@interface SBURegisterOperatorModuleList (SWIFT_EXTENSION(SendbirdUIKit)) +@interface SBUInviteUserModuleList (SWIFT_EXTENSION(SendbirdUIKit)) - (void)didSelectRetry; @end -/// A module component that represent the list of SBUInviteUserModule. +/// A module component that represent the list of SBURegisterOperatorModule. SWIFT_CLASS_NAMED("List") -@interface SBUInviteUserModuleList : SBUBaseChannelSettingsModuleList -- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder OBJC_DESIGNATED_INITIALIZER SWIFT_UNAVAILABLE_MSG("'init' has been renamed to 'SBUInviteUserModule.List()'"); -- (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER SWIFT_UNAVAILABLE_MSG("'init' has been renamed to 'SBUInviteUserModule.List()'"); +@interface SBURegisterOperatorModuleList : SBUBaseChannelSettingsModuleList +- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder OBJC_DESIGNATED_INITIALIZER SWIFT_UNAVAILABLE_MSG("'init' has been renamed to 'SBURegisterOperatorModule.List()'"); +- (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER SWIFT_UNAVAILABLE_MSG("'init' has been renamed to 'SBURegisterOperatorModule.List()'"); - (void)configureCell:(UITableViewCell * _Nullable)cell indexPath:(NSIndexPath * _Nonnull)indexPath; @end -@interface SBUInviteUserModuleList (SWIFT_EXTENSION(SendbirdUIKit)) +@interface SBURegisterOperatorModuleList (SWIFT_EXTENSION(SendbirdUIKit)) - (void)didSelectRetry; @end @@ -493,6 +493,17 @@ SWIFT_CLASS_NAMED("List") - (void)didSelectRetry; @end + +@class SBUQuotedBaseMessageView; + +SWIFT_PROTOCOL("_TtP13SendbirdUIKit28SBUQuotedMessageViewDelegate_") +@protocol SBUQuotedMessageViewDelegate +/// Called when SBUQuotedBaseMessageView was tapped. +/// \param quotedMessageView The tapped quoted message view +/// +- (void)didTapQuotedMessageView:(SBUQuotedBaseMessageView * _Nonnull)quotedMessageView; +@end + @class SBDBaseChannel; @class SBDBaseMessage; @class UIScrollView; @@ -535,7 +546,7 @@ SWIFT_CLASS_NAMED("List") /// Updates hidden state of the scrollBottomView. - (void)setScrollBottomViewWithHidden:(BOOL)hidden; /// Reloads table view. This method corresponds to UITableView reloadData(). -- (void)reloadTableView; +- (void)reloadTableViewWithNeedsToLayout:(BOOL)needsToLayout; /// Displays the menu of the message located on the given indexPath value. /// It internally decides whether to show a context menu, a menu for a failed message, or a sheet menu. /// \param message The BaseMessage object that corresponds to the message of the menu to show. @@ -615,130 +626,6 @@ SWIFT_CLASS_NAMED("List") - (enum MessageGroupPosition)getMessageGroupingPositionWithCurrentIndex:(NSInteger)currentIndex SWIFT_WARN_UNUSED_RESULT; @end - -@interface SBUBaseChannelModuleList (SWIFT_EXTENSION(SendbirdUIKit)) -/// Reload data from the channel. This function invokes SBUBaseChannelModuleListDelegate baseChannelModuleDidSelectRetry(_:) -- (void)didSelectRetry; -@end - - -/// A module component that represent the list of SBUUserListModule. -SWIFT_CLASS_NAMED("List") -@interface SBUUserListModuleList : UIView -/// The table view that shows the list of the users. -@property (nonatomic, strong) UITableView * _Nonnull tableView; -/// A view that displays when the table view is empty. -@property (nonatomic, strong) UIView * _Nullable emptyView; -/// The user cell for UITableViewCell object. Use register(userCell:nib:) to update. -@property (nonatomic, strong) UITableViewCell * _Nullable userCell; -@property (nonatomic, readonly, strong) SBDBaseChannel * _Nullable channel; -@property (nonatomic, readonly, copy) NSArray * _Nonnull userList; -- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder OBJC_DESIGNATED_INITIALIZER SWIFT_UNAVAILABLE_MSG("'init' has been renamed to 'SBUUserListModule.List()'"); -- (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER SWIFT_UNAVAILABLE_MSG("'init' has been renamed to 'SBUUserListModule.List()'"); -- (void)setupViews; -- (void)setupLayouts; -/// Reloads table view. This method corresponds to UITableView reloadData(). -- (void)reloadTableView; -/// Registers a custom cell as a user cell based on UITableViewCell. -/// important: -/// To register custom user cell, please use this function before calling configure(delegate:dataSource:userListType:theme:componentTheme:) -/// \code -/// listComponent.register(userCell: MyUserCell) -/// listComponent.configure(delegate: self, dataSource: self, userListType: .type, theme: theme, componentTheme: componentTheme) -/// -/// \endcode\param channelCell Customized user cell -/// -/// \param nib nib information. If the value is nil, the nib file is not used. -/// -- (void)registerWithUserCell:(UITableViewCell * _Nonnull)userCell nib:(UINib * _Nullable)nib; -/// Configures cell for a particular row. -/// \param cell UITableViewCell object -/// -/// \param indexPath An index path representing the cell -/// -- (void)configureCell:(UITableViewCell * _Nullable)cell indexPath:(NSIndexPath * _Nonnull)indexPath; -/// Sets up the cell’s more menu button action. -/// important: -/// Only for the group channel -/// \param user SBUUser obejct -/// -- (void)setMoreMenuTapAction:(SBUUser * _Nonnull)user; -/// Sets up the user profile tap action. -/// If you do not want to use the user profile function, override this function and leave it empty. -/// \param user SBUUser object used for user profile configuration -/// -- (void)setUserProfileTapAction:(SBUUser * _Nonnull)user; -@end - - -@interface SBUUserListModuleList (SWIFT_EXTENSION(SendbirdUIKit)) -- (void)didSelectRetry; -@end - - -@class SBUMessageSearchResultCell; - -/// A module component that represent the list of SBUMessageSearchModule. -SWIFT_CLASS_NAMED("List") -@interface SBUMessageSearchModuleList : UIView -/// The table view to show the list of searched messages. -@property (nonatomic, strong) UITableView * _Nonnull tableView; -/// A view that shows when there is no searched messages. -@property (nonatomic, strong) UIView * _Nullable emptyView; -/// The search result cell for SBUMessageSearchResultCell object. Use register(resultCell:nib:) to update. -@property (nonatomic, strong) SBUMessageSearchResultCell * _Nullable resultCell; -/// The search result list object from messageSearchModule(_:searchResultsInTableView:) data source method. -@property (nonatomic, readonly, copy) NSArray * _Nonnull resultList; -- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder OBJC_DESIGNATED_INITIALIZER SWIFT_UNAVAILABLE_MSG("'init' has been renamed to 'SBUMessageSearchModule.List()'"); -- (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER SWIFT_UNAVAILABLE_MSG("'init' has been renamed to 'SBUMessageSearchModule.List()'"); -/// Set values of the views in the list component when it needs. -- (void)setupViews; -/// Sets layouts of the views in the list component. -- (void)setupLayouts; -/// Registers a custom cell as a search result cell based on SBUMessageSearchResultCell. -/// important: -/// To register custom search result cell, please use this function before calling configure(delegate:dataSource:theme:) -/// \code -/// listComponent.register(resultCell: MyResultCell) -/// listComponent.configure(delegate: self, dataSource: self, theme: theme) -/// -/// \endcode\param channelCell Customized search result cell -/// -/// \param nib nib information. If the value is nil, the nib file is not used. -/// -- (void)registerWithResultCell:(SBUMessageSearchResultCell * _Nonnull)resultCell nib:(UINib * _Nullable)nib; -/// Configures cell for a particular row. -/// \param cell UITableViewCell object -/// -/// \param indexPath An index path representing the searchResultCell -/// -- (void)configureCell:(UITableViewCell * _Nullable)cell indexPath:(NSIndexPath * _Nonnull)indexPath; -/// Reloads table view. This method corresponds to UITableView reloadData(). -- (void)reloadTableView; -/// Retrives the BaseMessage object from the given IndexPath of the tableView. -/// \param indexPath IndexPath of which you want to retrieve the Message object. -/// -/// -/// returns: -/// BaseMessage object of the corresponding IndexPath, or nil if the message can’t be found. -- (SBDBaseMessage * _Nullable)messageAt:(NSIndexPath * _Nonnull)indexPath SWIFT_WARN_UNUSED_RESULT; -@end - - -@interface SBUMessageSearchModuleList (SWIFT_EXTENSION(SendbirdUIKit)) -- (void)didSelectRetry; -@end - -@class SBUQuotedBaseMessageView; - -SWIFT_PROTOCOL("_TtP13SendbirdUIKit28SBUQuotedMessageViewDelegate_") -@protocol SBUQuotedMessageViewDelegate -/// Called when SBUQuotedBaseMessageView was tapped. -/// \param quotedMessageView The tapped quoted message view -/// -- (void)didTapQuotedMessageView:(SBUQuotedBaseMessageView * _Nonnull)quotedMessageView; -@end - @class SBUBaseMessageCell; @class SBDGroupChannel; enum MessagePosition : NSInteger; @@ -753,6 +640,11 @@ SWIFT_CLASS_NAMED("List") @property (nonatomic, readonly, strong) SBUBaseMessageCell * _Nullable userMessageCell; /// The message cell for FileMessage object. Use register(fileMessageCell:nib:) to update. @property (nonatomic, readonly, strong) SBUBaseMessageCell * _Nullable fileMessageCell; +/// The message cell for MultipleFilesMessage object. +/// Use register(multipleFilesMessageCell:nib:) to update. +/// since: +/// 3.10.0 +@property (nonatomic, readonly, strong) SBUBaseMessageCell * _Nullable multipleFilesMessageCell; /// The message cell for some unknown message which is not a type of AdminMessage | UserMessage | FileMessage. Use register(unknownMessageCell:nib:) to update. @property (nonatomic, readonly, strong) SBUBaseMessageCell * _Nullable unknownMessageCell; /// The custom message cell for some BaseMessage. Use register(customMessageCell:nib:) to update. @@ -822,6 +714,20 @@ SWIFT_CLASS_NAMED("List") /// \param nib nib information. If the value is nil, the nib file is not used. /// - (void)registerWithFileMessageCell:(SBUBaseMessageCell * _Nonnull)fileMessageCell nib:(UINib * _Nullable)nib; +/// Registers a custom cell as a multiple files message cell based on SBUBaseMessageCell. +/// important: +/// To register custom message cell, please use this function before calling configure(delegate:dataSource:theme:) +/// \code +/// listComponent.register(multipleFilesMessageCell: MyMultipleFilesMessageCell) +/// listComponent.configure(delegate: self, dataSource: self, theme: theme) +/// +/// \endcodesince: +/// 3.10.0 +/// \param multipleFilesMessageCell Customized multiple files message cell +/// +/// \param nib nib information. If the value is nil, the nib file is not used. +/// +- (void)registerWithMultipleFilesMessageCell:(SBUBaseMessageCell * _Nonnull)multipleFilesMessageCell nib:(UINib * _Nullable)nib; /// Registers a custom cell as a unknown message cell based on SBUBaseMessageCell. /// important: /// To register custom message cell, please use this function before calling configure(delegate:dataSource:theme:) @@ -888,97 +794,210 @@ SWIFT_CLASS_NAMED("List") - (void)threadInfoViewDidTap:(SBUThreadInfoView * _Nonnull)threadInfoView; @end -@class SBUBaseChannelCell; -/// A module component that represent the list of SBUBaseChannelListModule. +/// A module component that represent the list of SBUUserListModule. SWIFT_CLASS_NAMED("List") -@interface SBUBaseChannelListModuleList : UIView -/// The table view to show the list of channels +@interface SBUUserListModuleList : UIView +/// The table view that shows the list of the users. @property (nonatomic, strong) UITableView * _Nonnull tableView; -/// A view that shows when there is no channel. +/// A view that displays when the table view is empty. @property (nonatomic, strong) UIView * _Nullable emptyView; -/// The channel cell for SBUBaseChannelCell object. Use register(channelCell:nib:) to update. -@property (nonatomic, strong) SBUBaseChannelCell * _Nullable channelCell; -/// The custom channel cell for SBUBaseChannelCell object. Use register(customCell:nib:) to update. -@property (nonatomic, strong) SBUBaseChannelCell * _Nullable customCell; -/// The current channel list object from channelListModule(_:channelsInTableView:) data source method. -@property (nonatomic, readonly, copy) NSArray * _Nullable baseChannelList; -/// If this value is enabled, pull to refresh feature is enabled. -/// since: -/// 3.2.0 -@property (nonatomic) BOOL isPullToRefreshEnabled; -/// Set values of the views in the list component when it needs. +/// The user cell for UITableViewCell object. Use register(userCell:nib:) to update. +@property (nonatomic, strong) UITableViewCell * _Nullable userCell; +@property (nonatomic, readonly, strong) SBDBaseChannel * _Nullable channel; +@property (nonatomic, readonly, copy) NSArray * _Nonnull userList; +- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder OBJC_DESIGNATED_INITIALIZER SWIFT_UNAVAILABLE_MSG("'init' has been renamed to 'SBUUserListModule.List()'"); +- (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER SWIFT_UNAVAILABLE_MSG("'init' has been renamed to 'SBUUserListModule.List()'"); - (void)setupViews; -/// Sets layouts of the views in the list component. - (void)setupLayouts; -- (void)setupPullToRefresh; -/// Configures cell for a particular row. -/// \param channelCell SBUBaseChannelCell object -/// -/// \param indexPath An index path representing the channelCell -/// -- (void)configureCell:(SBUBaseChannelCell * _Nullable)channelCell indexPath:(NSIndexPath * _Nonnull)indexPath; -/// Registers a custom cell as a channel cell based on SBUBaseChannelCell. +/// Reloads table view. This method corresponds to UITableView reloadData(). +- (void)reloadTableView; +/// Registers a custom cell as a user cell based on UITableViewCell. /// important: -/// To register custom channel cell, please use this function before calling configure(delegate:dataSource:theme:) +/// To register custom user cell, please use this function before calling configure(delegate:dataSource:userListType:theme:componentTheme:) /// \code -/// listComponent.register(channelCell: MyChannelCell) -/// listComponent.configure(delegate: self, dataSource: self, theme: theme) +/// listComponent.register(userCell: MyUserCell) +/// listComponent.configure(delegate: self, dataSource: self, userListType: .type, theme: theme, componentTheme: componentTheme) /// -/// \endcode\param channelCell Customized channel cell +/// \endcode\param channelCell Customized user cell /// /// \param nib nib information. If the value is nil, the nib file is not used. /// -- (void)registerWithChannelCell:(SBUBaseChannelCell * _Nonnull)channelCell nib:(UINib * _Nullable)nib; -/// Registers a additional cell as a custom cell based on SBUBaseChannelCell. -/// important: -/// To register additional channel cell, please use this function before calling configure(delegate:dataSource:theme:) -/// \code -/// listComponent.register(customCell: MyChannelCell) -/// listComponent.configure(delegate: self, dataSource: self, theme: theme) +- (void)registerWithUserCell:(UITableViewCell * _Nonnull)userCell nib:(UINib * _Nullable)nib; +/// Configures cell for a particular row. +/// \param cell UITableViewCell object /// -/// \endcode\param customCell Additional channel cell +/// \param indexPath An index path representing the cell /// -/// \param nib nib information. If the value is nil, the nib file is not used. +- (void)configureCell:(UITableViewCell * _Nullable)cell indexPath:(NSIndexPath * _Nonnull)indexPath; +/// Sets up the cell’s more menu button action. +/// important: +/// Only for the group channel +/// \param user SBUUser obejct /// -- (void)registerWithCustomCell:(SBUBaseChannelCell * _Nullable)customCell nib:(UINib * _Nullable)nib; -/// Pulls to refresh. -/// since: -/// 3.2.0 -/// \param sender Sender +- (void)setMoreMenuTapAction:(SBUUser * _Nonnull)user; +/// Sets up the user profile tap action. +/// If you do not want to use the user profile function, override this function and leave it empty. +/// \param user SBUUser object used for user profile configuration /// -- (void)pullToRefresh:(id _Nonnull)sender; -/// Reloads table view. This method corresponds to UITableView reloadData(). -- (void)reloadTableView; -- (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER; -- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder OBJC_DESIGNATED_INITIALIZER; -@end - - -@interface SBUBaseChannelListModuleList (SWIFT_EXTENSION(SendbirdUIKit)) -- (void)didSelectRetry; +- (void)setUserProfileTapAction:(SBUUser * _Nonnull)user; @end -@interface SBUBaseChannelSettingsModuleList (SWIFT_EXTENSION(SendbirdUIKit)) +@interface SBUUserListModuleList (SWIFT_EXTENSION(SendbirdUIKit)) +- (void)didSelectRetry; +@end + +@class SBUMessageSearchResultCell; + +/// A module component that represent the list of SBUMessageSearchModule. +SWIFT_CLASS_NAMED("List") +@interface SBUMessageSearchModuleList : UIView +/// The table view to show the list of searched messages. +@property (nonatomic, strong) UITableView * _Nonnull tableView; +/// A view that shows when there is no searched messages. +@property (nonatomic, strong) UIView * _Nullable emptyView; +/// The search result cell for SBUMessageSearchResultCell object. Use register(resultCell:nib:) to update. +@property (nonatomic, strong) SBUMessageSearchResultCell * _Nullable resultCell; +/// The search result list object from messageSearchModule(_:searchResultsInTableView:) data source method. +@property (nonatomic, readonly, copy) NSArray * _Nonnull resultList; +- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder OBJC_DESIGNATED_INITIALIZER SWIFT_UNAVAILABLE_MSG("'init' has been renamed to 'SBUMessageSearchModule.List()'"); +- (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER SWIFT_UNAVAILABLE_MSG("'init' has been renamed to 'SBUMessageSearchModule.List()'"); +/// Set values of the views in the list component when it needs. +- (void)setupViews; +/// Sets layouts of the views in the list component. +- (void)setupLayouts; +/// Registers a custom cell as a search result cell based on SBUMessageSearchResultCell. +/// important: +/// To register custom search result cell, please use this function before calling configure(delegate:dataSource:theme:) +/// \code +/// listComponent.register(resultCell: MyResultCell) +/// listComponent.configure(delegate: self, dataSource: self, theme: theme) +/// +/// \endcode\param channelCell Customized search result cell +/// +/// \param nib nib information. If the value is nil, the nib file is not used. +/// +- (void)registerWithResultCell:(SBUMessageSearchResultCell * _Nonnull)resultCell nib:(UINib * _Nullable)nib; +/// Configures cell for a particular row. +/// \param cell UITableViewCell object +/// +/// \param indexPath An index path representing the searchResultCell +/// +- (void)configureCell:(UITableViewCell * _Nullable)cell indexPath:(NSIndexPath * _Nonnull)indexPath; +/// Reloads table view. This method corresponds to UITableView reloadData(). +- (void)reloadTableView; +/// Retrives the BaseMessage object from the given IndexPath of the tableView. +/// \param indexPath IndexPath of which you want to retrieve the Message object. +/// +/// +/// returns: +/// BaseMessage object of the corresponding IndexPath, or nil if the message can’t be found. +- (SBDBaseMessage * _Nullable)messageAt:(NSIndexPath * _Nonnull)indexPath SWIFT_WARN_UNUSED_RESULT; +@end + + +@interface SBUMessageSearchModuleList (SWIFT_EXTENSION(SendbirdUIKit)) +- (void)didSelectRetry; +@end + + + +@interface SBUBaseChannelSettingsModuleList (SWIFT_EXTENSION(SendbirdUIKit)) +- (void)didSelectRetry; +@end + +@class SBUBaseChannelCell; + +/// A module component that represent the list of SBUBaseChannelListModule. +SWIFT_CLASS_NAMED("List") +@interface SBUBaseChannelListModuleList : UIView +/// The table view to show the list of channels +@property (nonatomic, strong) UITableView * _Nonnull tableView; +/// A view that shows when there is no channel. +@property (nonatomic, strong) UIView * _Nullable emptyView; +/// The channel cell for SBUBaseChannelCell object. Use register(channelCell:nib:) to update. +@property (nonatomic, strong) SBUBaseChannelCell * _Nullable channelCell; +/// The custom channel cell for SBUBaseChannelCell object. Use register(customCell:nib:) to update. +@property (nonatomic, strong) SBUBaseChannelCell * _Nullable customCell; +/// The current channel list object from channelListModule(_:channelsInTableView:) data source method. +@property (nonatomic, readonly, copy) NSArray * _Nullable baseChannelList; +/// If this value is enabled, pull to refresh feature is enabled. +/// since: +/// 3.2.0 +@property (nonatomic) BOOL isPullToRefreshEnabled; +/// Set values of the views in the list component when it needs. +- (void)setupViews; +/// Sets layouts of the views in the list component. +- (void)setupLayouts; +- (void)setupPullToRefresh; +/// Configures cell for a particular row. +/// \param channelCell SBUBaseChannelCell object +/// +/// \param indexPath An index path representing the channelCell +/// +- (void)configureCell:(SBUBaseChannelCell * _Nullable)channelCell indexPath:(NSIndexPath * _Nonnull)indexPath; +/// Registers a custom cell as a channel cell based on SBUBaseChannelCell. +/// important: +/// To register custom channel cell, please use this function before calling configure(delegate:dataSource:theme:) +/// \code +/// listComponent.register(channelCell: MyChannelCell) +/// listComponent.configure(delegate: self, dataSource: self, theme: theme) +/// +/// \endcode\param channelCell Customized channel cell +/// +/// \param nib nib information. If the value is nil, the nib file is not used. +/// +- (void)registerWithChannelCell:(SBUBaseChannelCell * _Nonnull)channelCell nib:(UINib * _Nullable)nib; +/// Registers a additional cell as a custom cell based on SBUBaseChannelCell. +/// important: +/// To register additional channel cell, please use this function before calling configure(delegate:dataSource:theme:) +/// \code +/// listComponent.register(customCell: MyChannelCell) +/// listComponent.configure(delegate: self, dataSource: self, theme: theme) +/// +/// \endcode\param customCell Additional channel cell +/// +/// \param nib nib information. If the value is nil, the nib file is not used. +/// +- (void)registerWithCustomCell:(SBUBaseChannelCell * _Nullable)customCell nib:(UINib * _Nullable)nib; +/// Pulls to refresh. +/// since: +/// 3.2.0 +/// \param sender Sender +/// +- (void)pullToRefresh:(id _Nonnull)sender; +/// Reloads table view. This method corresponds to UITableView reloadData(). +- (void)reloadTableView; +- (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER; +- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder OBJC_DESIGNATED_INITIALIZER; +@end + + +@interface SBUBaseChannelListModuleList (SWIFT_EXTENSION(SendbirdUIKit)) +- (void)didSelectRetry; +@end + + +@interface SBUBaseChannelModuleList (SWIFT_EXTENSION(SendbirdUIKit)) +/// Reload data from the channel. This function invokes SBUBaseChannelModuleListDelegate baseChannelModuleDidSelectRetry(_:) - (void)didSelectRetry; @end - @interface SBURegisterOperatorModuleList (SWIFT_EXTENSION(SendbirdUIKit)) - (void)tableView:(UITableView * _Nonnull)tableView didSelectRowAtIndexPath:(NSIndexPath * _Nonnull)indexPath; - (void)tableView:(UITableView * _Nonnull)tableView willDisplayCell:(UITableViewCell * _Nonnull)cell forRowAtIndexPath:(NSIndexPath * _Nonnull)indexPath; @end -@interface SBUCreateChannelModuleList (SWIFT_EXTENSION(SendbirdUIKit)) +@interface SBUInviteUserModuleList (SWIFT_EXTENSION(SendbirdUIKit)) - (void)tableView:(UITableView * _Nonnull)tableView didSelectRowAtIndexPath:(NSIndexPath * _Nonnull)indexPath; - (void)tableView:(UITableView * _Nonnull)tableView willDisplayCell:(UITableViewCell * _Nonnull)cell forRowAtIndexPath:(NSIndexPath * _Nonnull)indexPath; @end -@interface SBUInviteUserModuleList (SWIFT_EXTENSION(SendbirdUIKit)) +@interface SBUCreateChannelModuleList (SWIFT_EXTENSION(SendbirdUIKit)) - (void)tableView:(UITableView * _Nonnull)tableView didSelectRowAtIndexPath:(NSIndexPath * _Nonnull)indexPath; - (void)tableView:(UITableView * _Nonnull)tableView willDisplayCell:(UITableViewCell * _Nonnull)cell forRowAtIndexPath:(NSIndexPath * _Nonnull)indexPath; @end @@ -1088,6 +1107,10 @@ SWIFT_CLASS_NAMED("List") @property (nonatomic, readonly, strong) SBUBaseMessageCell * _Nullable userMessageCell; /// The message cell for FileMessage object. Use register(fileMessageCell:nib:) to update. @property (nonatomic, readonly, strong) SBUBaseMessageCell * _Nullable fileMessageCell; +/// The message cell for MultipleFilesMessage object. Use register(multipleFilesMessageCell:nib:) to update. +/// since: +/// 3.10.0 +@property (nonatomic, readonly, strong) SBUBaseMessageCell * _Nullable multipleFilesMessageCell; /// The message cell for some unknown message which is not a type of AdminMessage | UserMessage | FileMessage. Use register(unknownMessageCell:nib:) to update. @property (nonatomic, readonly, strong) SBUBaseMessageCell * _Nullable unknownMessageCell; /// The custom message cell for some BaseMessage. Use register(customMessageCell:nib:) to update. @@ -1121,7 +1144,7 @@ SWIFT_CLASS_NAMED("List") /// - (void)setMessageCellGestures:(SBUBaseMessageCell * _Nonnull)cell message:(SBDBaseMessage * _Nonnull)message indexPath:(NSIndexPath * _Nonnull)indexPath; /// Reloads table view. This method corresponds to UITableView reloadData(). -- (void)reloadTableView; +- (void)reloadTableViewWithNeedsToLayout:(BOOL)needsToLayout; /// Register the message cell to the table view. - (void)registerWithMessageCell:(SBUBaseMessageCell * _Nonnull)messageCell nib:(UINib * _Nullable)nib; /// Registers a custom cell as a admin message cell based on SBUBaseMessageCell. @@ -1160,6 +1183,20 @@ SWIFT_CLASS_NAMED("List") /// \param nib nib information. If the value is nil, the nib file is not used. /// - (void)registerWithFileMessageCell:(SBUBaseMessageCell * _Nonnull)fileMessageCell nib:(UINib * _Nullable)nib; +/// Registers a custom cell as a multiple files message cell based on SBUBaseMessageCell. +/// important: +/// To register custom message cell, please use this function before calling configure(delegate:dataSource:theme:) +/// \code +/// listComponent.register(multipleFilesMessageCell: MyMultipleFilesMessageCell) +/// listComponent.configure(delegate: self, dataSource: self, theme: theme) +/// +/// \endcodesince: +/// 3.10.0 +/// \param multipleFilesMessageCell Customized multiple files message cell +/// +/// \param nib nib information. If the value is nil, the nib file is not used. +/// +- (void)registerWithMultipleFilesMessageCell:(SBUBaseMessageCell * _Nonnull)multipleFilesMessageCell nib:(UINib * _Nullable)nib; /// Registers a custom cell as a unknown message cell based on SBUBaseMessageCell. /// important: /// To register custom message cell, please use this function before calling configure(delegate:dataSource:theme:) @@ -1217,6 +1254,7 @@ SWIFT_CLASS_NAMED("List") + /// A module component that represent the list of SBUOpenChannelListModule. SWIFT_CLASS_NAMED("List") @interface SBUOpenChannelListModuleList : SBUBaseChannelListModuleList @@ -1238,7 +1276,6 @@ SWIFT_CLASS_NAMED("List") @end - @interface List (SWIFT_EXTENSION(SendbirdUIKit)) - (UIView * _Nullable)tableView:(UITableView * _Nonnull)tableView viewForHeaderInSection:(NSInteger)section SWIFT_WARN_UNUSED_RESULT; - (CGFloat)tableView:(UITableView * _Nonnull)tableView heightForHeaderInSection:(NSInteger)section SWIFT_WARN_UNUSED_RESULT; @@ -1248,6 +1285,23 @@ SWIFT_CLASS_NAMED("List") @end +/// A module component that represent the list of SBUGroupChannelPushSettingsModule. +SWIFT_CLASS_NAMED("List") +@interface SBUGroupChannelPushSettingsModuleList : UIView +- (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER; +- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder OBJC_DESIGNATED_INITIALIZER; +@end + + +@interface SBUGroupChannelPushSettingsModuleList (SWIFT_EXTENSION(SendbirdUIKit)) +- (UIView * _Nullable)tableView:(UITableView * _Nonnull)tableView viewForHeaderInSection:(NSInteger)section SWIFT_WARN_UNUSED_RESULT; +- (CGFloat)tableView:(UITableView * _Nonnull)tableView heightForHeaderInSection:(NSInteger)section SWIFT_WARN_UNUSED_RESULT; +- (UITableViewCell * _Nonnull)tableView:(UITableView * _Nonnull)tableView cellForRowAtIndexPath:(NSIndexPath * _Nonnull)indexPath SWIFT_WARN_UNUSED_RESULT; +- (NSInteger)tableView:(UITableView * _Nonnull)tableView numberOfRowsInSection:(NSInteger)section SWIFT_WARN_UNUSED_RESULT; +- (void)tableView:(UITableView * _Nonnull)tableView didSelectRowAtIndexPath:(NSIndexPath * _Nonnull)indexPath; +@end + + /// A module component that represent the list of SBUModerationsModuleList. SWIFT_CLASS_NAMED("List") @interface SBUModerationsModuleList : UIView @@ -1291,23 +1345,6 @@ SWIFT_CLASS_NAMED("List") - (void)tableView:(UITableView * _Nonnull)tableView didSelectRowAtIndexPath:(NSIndexPath * _Nonnull)indexPath; @end - -/// A module component that represent the list of SBUGroupChannelPushSettingsModule. -SWIFT_CLASS_NAMED("List") -@interface SBUGroupChannelPushSettingsModuleList : UIView -- (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER; -- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder OBJC_DESIGNATED_INITIALIZER; -@end - - -@interface SBUGroupChannelPushSettingsModuleList (SWIFT_EXTENSION(SendbirdUIKit)) -- (UIView * _Nullable)tableView:(UITableView * _Nonnull)tableView viewForHeaderInSection:(NSInteger)section SWIFT_WARN_UNUSED_RESULT; -- (CGFloat)tableView:(UITableView * _Nonnull)tableView heightForHeaderInSection:(NSInteger)section SWIFT_WARN_UNUSED_RESULT; -- (UITableViewCell * _Nonnull)tableView:(UITableView * _Nonnull)tableView cellForRowAtIndexPath:(NSIndexPath * _Nonnull)indexPath SWIFT_WARN_UNUSED_RESULT; -- (NSInteger)tableView:(UITableView * _Nonnull)tableView numberOfRowsInSection:(NSInteger)section SWIFT_WARN_UNUSED_RESULT; -- (void)tableView:(UITableView * _Nonnull)tableView didSelectRowAtIndexPath:(NSIndexPath * _Nonnull)indexPath; -@end - @class UIContextualAction; /// A module component that represent the list of SBUGroupChannelListModule. @@ -1368,6 +1405,18 @@ SWIFT_CLASS_NAMED("List") @end +@interface SBUBaseChannelListModuleList (SWIFT_EXTENSION(SendbirdUIKit)) +- (NSInteger)numberOfSectionsInTableView:(UITableView * _Nonnull)tableView SWIFT_WARN_UNUSED_RESULT; +- (UIView * _Nullable)tableView:(UITableView * _Nonnull)tableView viewForHeaderInSection:(NSInteger)section SWIFT_WARN_UNUSED_RESULT; +- (CGFloat)tableView:(UITableView * _Nonnull)tableView heightForHeaderInSection:(NSInteger)section SWIFT_WARN_UNUSED_RESULT; +- (void)tableView:(UITableView * _Nonnull)tableView didSelectRowAtIndexPath:(NSIndexPath * _Nonnull)indexPath; +- (UITableViewCell * _Nonnull)tableView:(UITableView * _Nonnull)tableView cellForRowAtIndexPath:(NSIndexPath * _Nonnull)indexPath SWIFT_WARN_UNUSED_RESULT; +- (void)tableView:(UITableView * _Nonnull)tableView willDisplayCell:(UITableViewCell * _Nonnull)cell forRowAtIndexPath:(NSIndexPath * _Nonnull)indexPath; +- (NSInteger)tableView:(UITableView * _Nonnull)tableView numberOfRowsInSection:(NSInteger)section SWIFT_WARN_UNUSED_RESULT; +- (UISwipeActionsConfiguration * _Nullable)tableView:(UITableView * _Nonnull)tableView trailingSwipeActionsConfigurationForRowAtIndexPath:(NSIndexPath * _Nonnull)indexPath SWIFT_WARN_UNUSED_RESULT; +@end + + @interface SBUBaseChannelModuleList (SWIFT_EXTENSION(SendbirdUIKit)) @property (nonatomic, readonly) BOOL isScrollNearByBottom; /// Scrolls to the message that is found by id. @@ -1393,18 +1442,6 @@ SWIFT_CLASS_NAMED("List") - (BOOL)checkSameDayAsPrevMessageWithCurrentIndex:(NSInteger)currentIndex fullMessageList:(NSArray * _Nonnull)fullMessageList SWIFT_WARN_UNUSED_RESULT; @end - -@interface SBUBaseChannelListModuleList (SWIFT_EXTENSION(SendbirdUIKit)) -- (NSInteger)numberOfSectionsInTableView:(UITableView * _Nonnull)tableView SWIFT_WARN_UNUSED_RESULT; -- (UIView * _Nullable)tableView:(UITableView * _Nonnull)tableView viewForHeaderInSection:(NSInteger)section SWIFT_WARN_UNUSED_RESULT; -- (CGFloat)tableView:(UITableView * _Nonnull)tableView heightForHeaderInSection:(NSInteger)section SWIFT_WARN_UNUSED_RESULT; -- (void)tableView:(UITableView * _Nonnull)tableView didSelectRowAtIndexPath:(NSIndexPath * _Nonnull)indexPath; -- (UITableViewCell * _Nonnull)tableView:(UITableView * _Nonnull)tableView cellForRowAtIndexPath:(NSIndexPath * _Nonnull)indexPath SWIFT_WARN_UNUSED_RESULT; -- (void)tableView:(UITableView * _Nonnull)tableView willDisplayCell:(UITableViewCell * _Nonnull)cell forRowAtIndexPath:(NSIndexPath * _Nonnull)indexPath; -- (NSInteger)tableView:(UITableView * _Nonnull)tableView numberOfRowsInSection:(NSInteger)section SWIFT_WARN_UNUSED_RESULT; -- (UISwipeActionsConfiguration * _Nullable)tableView:(UITableView * _Nonnull)tableView trailingSwipeActionsConfigurationForRowAtIndexPath:(NSIndexPath * _Nonnull)indexPath SWIFT_WARN_UNUSED_RESULT; -@end - @class SBUVoicePlayer; @class SBUVoiceFileInfo; @@ -1498,6 +1535,8 @@ SWIFT_CLASS("_TtC13SendbirdUIKit21SBUBaseViewController") - (void)setupStyles; /// This function updates styles. - (void)updateStyles; +/// This function updates styles with boolean parameter value that represents whether layout or not +- (void)updateStylesWithNeedsToLayout:(BOOL)needsToLayout; /// This function setups navigationBar’s background color and shadow color. /// \param backgroundColor background color /// @@ -1526,6 +1565,9 @@ SWIFT_CLASS("_TtC13SendbirdUIKit33MessageTemplateTestViewController") + + + /// This is an enumeration for new message info item type. /// since: /// 2.0.0 @@ -1901,7 +1943,7 @@ SWIFT_CLASS("_TtC13SendbirdUIKit28SBUBaseChannelViewController") /// The NSLayoutConstraint value used in baseInputComponent’s bottom anchor constraint. The value is updated when either keyboardWillHide(_:) or keyboardWillShow(_:) is called. /// since: /// 3.2.3 -@property (nonatomic, strong) NSLayoutConstraint * _Null_unspecified messageInputViewBottomConstraint; +@property (nonatomic, strong) NSLayoutConstraint * _Nullable messageInputViewBottomConstraint; - (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder OBJC_DESIGNATED_INITIALIZER SWIFT_UNAVAILABLE; - (nonnull instancetype)initWithNibName:(NSString * _Nullable)nibNameOrNil bundle:(NSBundle * _Nullable)nibBundleOrNil OBJC_DESIGNATED_INITIALIZER; /// If you have channel object, use this initializer. If you have own message list params, please set it. If not set, it is used as the default value. @@ -1926,6 +1968,7 @@ SWIFT_CLASS("_TtC13SendbirdUIKit28SBUBaseChannelViewController") - (nonnull instancetype)initWithBaseChannel:(SBDBaseChannel * _Nonnull)baseChannel messageListParams:(SBDMessageListParams * _Nullable)messageListParams displaysLocalCachedListFirst:(BOOL)displaysLocalCachedListFirst OBJC_DESIGNATED_INITIALIZER; - (void)loadView; - (void)viewWillAppear:(BOOL)animated; +- (void)viewDidAppear:(BOOL)animated; - (void)viewDidLoad; - (void)viewWillDisappear:(BOOL)animated; /// Called when the application will resign activity. @@ -1980,6 +2023,8 @@ SWIFT_CLASS("_TtC13SendbirdUIKit28SBUBaseChannelViewController") /// - (void)updateNewMessageInfoWithHidden:(BOOL)hidden; /// This function opens a file according to the file type. +/// note: +/// Use openFile(_:) instead. /// since: /// 3.0.0 /// \param fileMessage fileMessage object @@ -2508,6 +2553,27 @@ SWIFT_CLASS("_TtC13SendbirdUIKit40SBUChatNotificationChannelViewController") @end +/// Collection view cell that conforms to SBUViewLifeCycle. +/// since: +/// 3.10.0 +SWIFT_CLASS("_TtC13SendbirdUIKit21SBUCollectionViewCell") +@interface SBUCollectionViewCell : UICollectionViewCell +- (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER; +- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder OBJC_DESIGNATED_INITIALIZER; +- (void)layoutSubviews; +@end + + +@interface SBUCollectionViewCell (SWIFT_EXTENSION(SendbirdUIKit)) +- (void)setupViews; +- (void)setupStyles; +- (void)updateStyles; +- (void)setupLayouts; +- (void)updateLayouts; +- (void)setupActions; +@end + + SWIFT_CLASS("_TtC13SendbirdUIKit20SBUCommonContentView") @interface SBUCommonContentView : SBUBaseFileContentView - (void)setupViews; @@ -2936,7 +3002,7 @@ SWIFT_CLASS("_TtC13SendbirdUIKit21SBUFileViewController") @property (nonatomic, strong) UIImageView * _Nonnull imageView; @property (nonatomic, strong) UIScrollView * _Nonnull scrollView; @property (nonatomic, strong) UIView * _Nonnull bottomView; -- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder OBJC_DESIGNATED_INITIALIZER; +- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder OBJC_DESIGNATED_INITIALIZER SWIFT_UNAVAILABLE_MSG("'init' has been renamed to 'init(params:delegate:)'"); - (void)viewDidLoad; - (void)viewWillAppear:(BOOL)animated; - (void)updateViewConstraints; @@ -3326,6 +3392,8 @@ SWIFT_CLASS("_TtC13SendbirdUIKit32SBUGroupChannelSettingsViewModel") @class SBUGroupChannelModuleInput; @class SBUVoiceMessageInputView; @class SBUGroupChannelViewModel; +@class SBUMultipleFilesMessageCell; +@class SBDUploadableFileInfo; @class SBUMentionManager; @class SBUMessageThreadViewController; @@ -3338,6 +3406,11 @@ SWIFT_CLASS("_TtC13SendbirdUIKit29SBUGroupChannelViewController") @property (nonatomic, strong) SBUGroupChannelViewModel * _Nullable viewModel; @property (nonatomic, readonly, strong) SBDGroupChannel * _Nullable channel; @property (nonatomic, readonly) NSInteger newMessagesCount; +/// An error handler that is called when any one of the files size in multiple files message exceeds the file size limit. +/// If needed, override this handler to show your custom alert view. +/// since: +/// 3.10.0 +- (void)multipleFilesMessageFileSizeErrorHandler:(NSString * _Nonnull)message; /// If you have channel object, use this initialize function. And, if you have own message list params, please set it. If not set, it is used as the default value. /// See the example below for params generation. /// \code @@ -3364,20 +3437,30 @@ SWIFT_CLASS("_TtC13SendbirdUIKit29SBUGroupChannelViewController") - (void)setupViews; - (void)setupLayouts; - (void)setupStyles; +- (void)updateStylesWithNeedsToLayout:(BOOL)needsToLayout; - (void)updateStyles; /// This function increases the new message count. - (BOOL)increaseNewMessageCount; - (CGPoint)calculatorMenuPointWithIndexPath:(NSIndexPath * _Nonnull)indexPath position:(enum MessagePosition)position SWIFT_WARN_UNUSED_RESULT SWIFT_DEPRECATED_MSG("Please use `calculateMessageMenuCGPoint(indexPath:position:)` in `SBUGroupChannelModule.List`"); - (void)showMenuModal:(UITableViewCell * _Nonnull)cell indexPath:(NSIndexPath * _Nonnull)indexPath message:(SBDBaseMessage * _Nonnull)message SWIFT_DEPRECATED_MSG("Please use `showMessageContextMenu(message:cell:forRowAt:)` in `SBUGroupChannelModule.List`"); - (void)showChannelSettings; +- (void)imagePickerControllerDidCancel:(UIImagePickerController * _Nonnull)picker; +/// Presents UIImagePickerController. If SBUGlobals.UsingPHPickeris true, it presents PHPickerViewController in iOS 14 or later. +/// note: +/// If you want to use customized PHPickerConfiguration, please override this method. +/// since: +/// 3.10.0 +- (void)showPhotoLibraryPicker; - (void)showVoiceMessageInput; - (void)dismissVoiceMessageInput; - (void)resetVoiceMessageInputFor:(BOOL)resignActivity; - (void)baseChannelViewModel:(SBUBaseChannelViewModel * _Nonnull)viewModel didChangeChannel:(SBDBaseChannel * _Nullable)channel withContext:(SBDMessageContext * _Nonnull)context; - (void)baseChannelViewModel:(SBUBaseChannelViewModel * _Nonnull)viewModel deletedMessages:(NSArray * _Nonnull)messages; - (void)groupChannelViewModel:(SBUGroupChannelViewModel * _Nonnull)viewModel didReceiveSuggestedMentions:(NSArray * _Nullable)members; +- (void)groupChannelViewModel:(SBUGroupChannelViewModel * _Nonnull)viewModel didFinishUploadingFileAt:(NSInteger)index multipleFilesMessageRequestId:(NSString * _Nonnull)requestId; - (void)baseChannelModule:(Header * _Nonnull)headerComponent didTapLeftItem:(UIBarButtonItem * _Nonnull)leftItem; - (void)baseChannelModule:(Header * _Nonnull)headerComponent didTapRightItem:(UIBarButtonItem * _Nonnull)rightItem; +- (void)groupChannelModule:(SBUGroupChannelModuleList * _Nonnull)listComponent didSelectFileAt:(NSInteger)index multipleFilesMessageCell:(SBUMultipleFilesMessageCell * _Nonnull)multipleFilesMessageCell forRowAt:(NSIndexPath * _Nonnull)cellIndexPath; - (void)groupChannelModule:(SBUGroupChannelModuleList * _Nonnull)listComponent didTapEmoji:(NSString * _Nonnull)emojiKey messageCell:(SBUBaseMessageCell * _Nonnull)messageCell; - (void)groupChannelModule:(SBUGroupChannelModuleList * _Nonnull)listComponent didLongTapEmoji:(NSString * _Nonnull)emojiKey messageCell:(SBUBaseMessageCell * _Nonnull)messageCell; - (void)groupChannelModule:(SBUGroupChannelModuleList * _Nonnull)listComponent didTapMoreEmojiForCell:(SBUBaseMessageCell * _Nonnull)messageCell; @@ -3389,6 +3472,7 @@ SWIFT_CLASS("_TtC13SendbirdUIKit29SBUGroupChannelViewController") - (void)baseChannelModule:(SBUBaseChannelModuleList * _Nonnull)listComponent didScroll:(UIScrollView * _Nonnull)scrollView; - (void)baseChannelModule:(Input * _Nonnull)inputComponent didUpdateFrozenState:(BOOL)isFrozen; - (void)groupChannelModule:(SBUGroupChannelModuleInput * _Nonnull)inputComponent didPickFileData:(NSData * _Nullable)fileData fileName:(NSString * _Nonnull)fileName mimeType:(NSString * _Nonnull)mimeType parentMessage:(SBDBaseMessage * _Nullable)parentMessage; +- (void)groupChannelModule:(SBUGroupChannelModuleInput * _Nonnull)inputComponent didPickMultipleFiles:(NSArray * _Nullable)fileInfoList parentMessage:(SBDBaseMessage * _Nullable)parentMessage; - (void)groupChannelModule:(SBUGroupChannelModuleInput * _Nonnull)inputComponent didTapSend:(NSString * _Nonnull)text mentionedMessageTemplate:(NSString * _Nonnull)mentionedMessageTemplate mentionedUserIds:(NSArray * _Nonnull)mentionedUserIds parentMessage:(SBDBaseMessage * _Nullable)parentMessage; - (void)groupChannelModule:(SBUGroupChannelModuleInput * _Nonnull)inputComponent didTapEdit:(NSString * _Nonnull)text mentionedMessageTemplate:(NSString * _Nonnull)mentionedMessageTemplate mentionedUserIds:(NSArray * _Nonnull)mentionedUserIds; - (void)groupChannelModule:(SBUGroupChannelModuleInput * _Nonnull)inputComponent willChangeMode:(enum SBUMessageInputMode)mode message:(SBDBaseMessage * _Nullable)message mentionedMessageTemplate:(NSString * _Nonnull)mentionedMessageTemplate mentionedUserIds:(NSArray * _Nonnull)mentionedUserIds; @@ -3835,6 +3919,9 @@ SWIFT_CLASS("_TtC13SendbirdUIKit25SBUMessageThreadTitleView") @class Header; @class SBUMessageThreadModuleInput; @class SBUMessageThreadViewModel; +@protocol UIViewControllerTransitionCoordinator; +@class SBDUploadedFileInfo; +@class SBDMultipleFilesMessage; SWIFT_CLASS("_TtC13SendbirdUIKit30SBUMessageThreadViewController") @interface SBUMessageThreadViewController : SBUBaseChannelViewController @@ -3850,11 +3937,13 @@ SWIFT_CLASS("_TtC13SendbirdUIKit30SBUMessageThreadViewController") - (void)viewWillAppear:(BOOL)animated; - (void)viewDidLoad; - (void)viewWillDisappear:(BOOL)animated; +- (void)viewWillTransitionToSize:(CGSize)size withTransitionCoordinator:(id _Nonnull)coordinator; - (void)applicationWillResignActivity; - (void)willPresentSubview; - (void)setupViews; - (void)setupLayouts; - (void)setupStyles; +- (void)updateStylesWithNeedsToLayout:(BOOL)needsToLayout; - (void)updateStyles; - (void)moveToParentMessage; - (BOOL)increaseNewMessageCount; @@ -3867,6 +3956,11 @@ SWIFT_CLASS("_TtC13SendbirdUIKit30SBUMessageThreadViewController") - (void)messageThreadViewModel:(SBUMessageThreadViewModel * _Nonnull)viewModel didLoadParentMessage:(SBDBaseMessage * _Nullable)parentMessage; - (void)messageThreadViewModel:(SBUMessageThreadViewModel * _Nonnull)viewModel didUpdateParentMessage:(SBDBaseMessage * _Nullable)parentMessage; - (void)messageThreadViewModelShouldDismissMessageThread:(SBUMessageThreadViewModel * _Nonnull)viewModel; +/// note: +/// This interface is beta. We do not gaurantee this interface to work properly yet. +/// since: +/// [NEXT_VERSION_MFM_THREAD] +- (void)messageThreadViewModel:(SBUMessageThreadViewModel * _Nonnull)viewModel didFinishUploadingFileAt:(NSInteger)index multipleFilesMessageRequestId:(NSString * _Nonnull)requestId; - (void)baseChannelModule:(Header * _Nonnull)headerComponent didUpdateTitleView:(UIView * _Nullable)titleView; - (void)baseChannelModule:(Header * _Nonnull)headerComponent didTapTitleView:(UIView * _Nullable)titleView; - (void)baseChannelModule:(Header * _Nonnull)headerComponent didTapLeftItem:(UIBarButtonItem * _Nonnull)leftItem; @@ -3874,11 +3968,26 @@ SWIFT_CLASS("_TtC13SendbirdUIKit30SBUMessageThreadViewController") - (void)messageThreadModule:(SBUMessageThreadModuleList * _Nonnull)listComponent didLongTapEmoji:(NSString * _Nonnull)emojiKey messageCell:(SBUBaseMessageCell * _Nonnull)messageCell; - (void)messageThreadModule:(SBUMessageThreadModuleList * _Nonnull)listComponent didTapMoreEmojiForCell:(SBUBaseMessageCell * _Nonnull)messageCell; - (void)messageThreadModule:(SBUMessageThreadModuleList * _Nonnull)listComponent didTapMentionUser:(SBUUser * _Nonnull)user; +/// note: +/// This interface is beta. We do not gaurantee this interface to work properly yet. +/// since: +/// [NEXT_VERSION_MFM_THREAD] +- (void)messageThreadModule:(SBUMessageThreadModuleList * _Nonnull)listComponent didSelectFileAt:(NSInteger)index multipleFilesMessageCell:(SBUMultipleFilesMessageCell * _Nonnull)multipleFilesMessageCell forRowAt:(NSIndexPath * _Nonnull)cellIndexPath; +/// note: +/// This interface is beta. We do not gaurantee this interface to work properly yet. +/// since: +/// [NEXT_VERSION_MFM_THREAD] +- (void)messageThreadModule:(SBUMessageThreadModuleList * _Nonnull)listComponent uploadedFileInfo:(SBDUploadedFileInfo * _Nonnull)uploadedFileInfo message:(SBDMultipleFilesMessage * _Nonnull)message index:(NSInteger)index; - (void)baseChannelModule:(SBUBaseChannelModuleList * _Nonnull)listComponent didScroll:(UIScrollView * _Nonnull)scrollView; - (void)baseChannelModule:(SBUBaseChannelModuleList * _Nonnull)listComponent didTapVoiceMessage:(SBDFileMessage * _Nonnull)fileMessage cell:(UITableViewCell * _Nonnull)cell forRowAt:(NSIndexPath * _Nonnull)indexPath; - (void)baseChannelModule:(SBUBaseChannelModuleList * _Nonnull)listComponent willDisplay:(UITableViewCell * _Nonnull)cell forRowAt:(NSIndexPath * _Nonnull)indexPath; - (void)baseChannelModule:(Input * _Nonnull)inputComponent didUpdateFrozenState:(BOOL)isFrozen; - (void)messageThreadModule:(SBUMessageThreadModuleInput * _Nonnull)inputComponent didPickFileData:(NSData * _Nullable)fileData fileName:(NSString * _Nonnull)fileName mimeType:(NSString * _Nonnull)mimeType parentMessage:(SBDBaseMessage * _Nullable)parentMessage; +/// note: +/// This interface is beta. We do not gaurantee this interface to work properly yet. +/// since: +/// [NEXT_VERSION_MFM_THREAD] +- (void)messageThreadModule:(SBUMessageThreadModuleInput * _Nonnull)inputComponent didPickMultipleFiles:(NSArray * _Nonnull)fileInfoList parentMessage:(SBDBaseMessage * _Nonnull)parentMessage; - (void)messageThreadModule:(SBUMessageThreadModuleInput * _Nonnull)inputComponent didTapSend:(NSString * _Nonnull)text mentionedMessageTemplate:(NSString * _Nonnull)mentionedMessageTemplate mentionedUserIds:(NSArray * _Nonnull)mentionedUserIds parentMessage:(SBDBaseMessage * _Nullable)parentMessage; - (void)messageThreadModule:(SBUMessageThreadModuleInput * _Nonnull)inputComponent didTapEdit:(NSString * _Nonnull)text mentionedMessageTemplate:(NSString * _Nonnull)mentionedMessageTemplate mentionedUserIds:(NSArray * _Nonnull)mentionedUserIds; - (void)messageThreadModule:(SBUMessageThreadModuleInput * _Nonnull)inputComponent willChangeMode:(enum SBUMessageInputMode)mode message:(SBDBaseMessage * _Nullable)message mentionedMessageTemplate:(NSString * _Nonnull)mentionedMessageTemplate mentionedUserIds:(NSArray * _Nonnull)mentionedUserIds; @@ -4030,16 +4139,81 @@ SWIFT_CLASS("_TtC13SendbirdUIKit28SBUModerationsViewController") - (void)showBannedMeberList SWIFT_DEPRECATED_MSG("", "showBannedUserList"); @end +@class SBUMultipleFilesMessageCollectionView; -SWIFT_CLASS("_TtC13SendbirdUIKit22SBUNavigationTitleView") -@interface SBUNavigationTitleView : SBUView -- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER; -- (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER; +/// A message cell that displays a MultipleFilesMessage. +/// since: +/// 3.10.0 +SWIFT_CLASS("_TtC13SendbirdUIKit27SBUMultipleFilesMessageCell") +@interface SBUMultipleFilesMessageCell : SBUContentBaseMessageCell +@property (nonatomic, readonly, strong) SBDMultipleFilesMessage * _Nullable multipleFilesMessage; +/// The view that contains the collectionView. +@property (nonatomic, strong) UIView * _Nonnull containerView; +/// The view that displays multiple images. +@property (nonatomic, strong) SBUMultipleFilesMessageCollectionView * _Nonnull collectionView; +/// The height constraint for the collectionView. +@property (nonatomic, readonly, strong) NSLayoutConstraint * _Null_unspecified collectionViewHeightConstraint; +/// The closure for selection gesture of the specific file at indexPath +@property (nonatomic, copy) void (^ _Nullable fileSelectHandler)(SBDUploadedFileInfo * _Nonnull, NSInteger); - (void)setupViews; - (void)setupLayouts; - (void)setupStyles; -- (void)drawRect:(CGRect)rect; -- (void)layoutSubviews; +- (void)setupActions; +- (void)setSelected:(BOOL)selected animated:(BOOL)animated; +- (nonnull instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString * _Nullable)reuseIdentifier OBJC_DESIGNATED_INITIALIZER; +- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder OBJC_DESIGNATED_INITIALIZER; +@end + + +@interface SBUMultipleFilesMessageCell (SWIFT_EXTENSION(SendbirdUIKit)) +- (UICollectionViewCell * _Nonnull)collectionView:(UICollectionView * _Nonnull)collectionView cellForItemAtIndexPath:(NSIndexPath * _Nonnull)indexPath SWIFT_WARN_UNUSED_RESULT; +- (NSInteger)collectionView:(UICollectionView * _Nonnull)collectionView numberOfItemsInSection:(NSInteger)section SWIFT_WARN_UNUSED_RESULT; +- (NSInteger)numberOfSectionsInCollectionView:(UICollectionView * _Nonnull)collectionView SWIFT_WARN_UNUSED_RESULT; +- (void)collectionView:(UICollectionView * _Nonnull)collectionView didSelectItemAtIndexPath:(NSIndexPath * _Nonnull)indexPath; +- (CGSize)collectionView:(UICollectionView * _Nonnull)collectionView layout:(UICollectionViewLayout * _Nonnull)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath * _Nonnull)indexPath SWIFT_WARN_UNUSED_RESULT; +- (void)prepareForReuse; +@end + + +/// CollectionView that shows the files of a multiple files message. +/// since: +/// 3.10.0 +SWIFT_CLASS("_TtC13SendbirdUIKit37SBUMultipleFilesMessageCollectionView") +@interface SBUMultipleFilesMessageCollectionView : UICollectionView +- (void)setupViews; +- (void)setupLayouts; +- (void)setupStyles; +- (void)setupActions; +- (void)updateLayouts; +- (void)updateStyles; +- (nonnull instancetype)initWithFrame:(CGRect)frame collectionViewLayout:(UICollectionViewLayout * _Nonnull)layout OBJC_DESIGNATED_INITIALIZER; +- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder OBJC_DESIGNATED_INITIALIZER; +@end + + +/// CollectionView Cell used in SBUMultipleFilesMessageCollectionView to show the files of a multiple files message. +/// since: +/// 3.10.0 +SWIFT_CLASS("_TtC13SendbirdUIKit41SBUMultipleFilesMessageCollectionViewCell") +@interface SBUMultipleFilesMessageCollectionViewCell : SBUCollectionViewCell +- (nonnull instancetype)initWithFrame:(CGRect)frame SWIFT_UNAVAILABLE; +- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER; +- (void)setupViews; +- (void)setupStyles; +- (void)setupLayouts; +- (void)prepareForReuse; +@end + + +SWIFT_CLASS("_TtC13SendbirdUIKit22SBUNavigationTitleView") +@interface SBUNavigationTitleView : SBUView +- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER; +- (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER; +- (void)setupViews; +- (void)setupLayouts; +- (void)setupStyles; +- (void)drawRect:(CGRect)rect; +- (void)layoutSubviews; @end @@ -4192,6 +4366,7 @@ SWIFT_CLASS("_TtC13SendbirdUIKit36SBUOpenChannelContentBaseMessageCell") @interface SBUOpenChannelContentBaseMessageCell : SBUOpenChannelBaseMessageCell @property (nonatomic, strong) UIStackView * _Nonnull baseStackView; @property (nonatomic, strong) UIView * _Nonnull profileView; +@property (nonatomic, strong) UIView * _Nonnull profileBaseView; @property (nonatomic, strong) UIStackView * _Nonnull contentsStackView; @property (nonatomic, strong) UIStackView * _Nonnull infoStackView; @property (nonatomic, strong) UIView * _Nonnull userNameView; @@ -4423,7 +4598,7 @@ SWIFT_CLASS("_TtC13SendbirdUIKit29SBUOpenChannelUserMessageCell") /// A SBUOpenChannelMessageWebView which represents a preview of the web link @property (nonatomic, strong) SBUOpenChannelMessageWebView * _Nonnull webView; /// As a default, the value is the constraint of messageTextView.trailingAnchorand it’s activated when the message has no ogMetaData. -@property (nonatomic, readonly, strong) NSLayoutConstraint * _Null_unspecified messageTypeConstraint; +@property (nonatomic, readonly, strong) NSLayoutConstraint * _Nullable messageTypeConstraint; /// Activated when the message has ogMetaData. @property (nonatomic, readonly, copy) NSArray * _Nonnull webTypeConstraints; - (void)setupViews; @@ -4451,7 +4626,6 @@ SWIFT_CLASS("_TtC13SendbirdUIKit32SBUOpenChannelUnknownMessageCell") @class Input; @class Media; @class SBUOpenChannelViewModel; -@protocol UIViewControllerTransitionCoordinator; SWIFT_CLASS("_TtC13SendbirdUIKit28SBUOpenChannelViewController") @interface SBUOpenChannelViewController : SBUBaseChannelViewController @@ -4516,6 +4690,7 @@ SWIFT_CLASS("_TtC13SendbirdUIKit28SBUOpenChannelViewController") - (void)setupLayouts; - (void)updateLayouts; - (void)setupStyles; +- (void)updateStylesWithNeedsToLayout:(BOOL)needsToLayout; - (void)updateStyles; /// This function updates channel info view. If channelDescription is set, this value is used for channel info view configuring. - (void)updateChannelInfoView; @@ -4690,11 +4865,14 @@ SWIFT_CLASS("_TtC13SendbirdUIKit32SBUParentMessageInfoReactionView") SWIFT_CLASS("_TtC13SendbirdUIKit24SBUParentMessageInfoView") -@interface SBUParentMessageInfoView : UITableViewHeaderFooterView +@interface SBUParentMessageInfoView : SBUView @property (nonatomic) CGRect bounds; @property (nonatomic) CGRect frame; -- (nonnull instancetype)initWithReuseIdentifier:(NSString * _Nullable)reuseIdentifier OBJC_DESIGNATED_INITIALIZER; -- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder SWIFT_UNAVAILABLE_MSG("'init' has been renamed to 'SBUParentMessageInfoView(frame:)'"); +- (void)setupViews; +- (void)setupLayouts; +- (void)updateLayouts; +- (void)setupStyles; +- (void)setupActions; /// Calls the userProfileTapHandler() when the user profile is tapped. /// \param sender tapGestureRecognizer /// @@ -4703,6 +4881,12 @@ SWIFT_CLASS("_TtC13SendbirdUIKit24SBUParentMessageInfoView") /// \param sender tapGestureRecognizer /// - (void)onTapContentViewWithSender:(UITapGestureRecognizer * _Nonnull)sender; +/// Calls the fileSelectHandler() when one of thie files is tapped in parent message that is a multiple files message. +/// since: +/// 3.10.0 +/// \param sender tapGestureRecognizer +/// +- (void)onSelectFileWithSender:(UITapGestureRecognizer * _Nonnull)sender; /// Opens the url when the web page preview area is tapped /// \param sender tapGestureRecognizer /// @@ -4711,6 +4895,16 @@ SWIFT_CLASS("_TtC13SendbirdUIKit24SBUParentMessageInfoView") /// \param sender Sender /// - (void)onTapMoreButton:(id _Nonnull)sender; +- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER; +- (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER; +@end + + +@interface SBUParentMessageInfoView (SWIFT_EXTENSION(SendbirdUIKit)) +- (NSInteger)numberOfSectionsInCollectionView:(UICollectionView * _Nonnull)collectionView SWIFT_WARN_UNUSED_RESULT; +- (NSInteger)collectionView:(UICollectionView * _Nonnull)collectionView numberOfItemsInSection:(NSInteger)section SWIFT_WARN_UNUSED_RESULT; +- (CGSize)collectionView:(UICollectionView * _Nonnull)collectionView layout:(UICollectionViewLayout * _Nonnull)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath * _Nonnull)indexPath SWIFT_WARN_UNUSED_RESULT; +- (UICollectionViewCell * _Nonnull)collectionView:(UICollectionView * _Nonnull)collectionView cellForItemAtIndexPath:(NSIndexPath * _Nonnull)indexPath SWIFT_WARN_UNUSED_RESULT; @end @@ -5341,6 +5535,7 @@ SWIFT_CLASS("_TtC13SendbirdUIKit16SBUVoiceRecorder") + #endif #if defined(__cplusplus) #endif @@ -5609,6 +5804,7 @@ using UInt = size_t; #if defined(__OBJC__) + SWIFT_CLASS("_TtCC13SendbirdUIKit9SBUConfig9BaseInput") @interface BaseInput : NSObject - (nonnull instancetype)init SWIFT_UNAVAILABLE; @@ -5620,7 +5816,6 @@ SWIFT_CLASS("_TtCC13SendbirdUIKit9SBUConfig9BaseInput") @end - @interface BaseInput (SWIFT_EXTENSION(SendbirdUIKit)) @end @@ -5795,30 +5990,30 @@ SWIFT_CLASS_NAMED("List") @end -/// A module component that represent the list of SBURegisterOperatorModule. +/// A module component that represent the list of SBUInviteUserModule. SWIFT_CLASS_NAMED("List") -@interface SBURegisterOperatorModuleList : SBUBaseChannelSettingsModuleList -- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder OBJC_DESIGNATED_INITIALIZER SWIFT_UNAVAILABLE_MSG("'init' has been renamed to 'SBURegisterOperatorModule.List()'"); -- (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER SWIFT_UNAVAILABLE_MSG("'init' has been renamed to 'SBURegisterOperatorModule.List()'"); +@interface SBUInviteUserModuleList : SBUBaseChannelSettingsModuleList +- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder OBJC_DESIGNATED_INITIALIZER SWIFT_UNAVAILABLE_MSG("'init' has been renamed to 'SBUInviteUserModule.List()'"); +- (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER SWIFT_UNAVAILABLE_MSG("'init' has been renamed to 'SBUInviteUserModule.List()'"); - (void)configureCell:(UITableViewCell * _Nullable)cell indexPath:(NSIndexPath * _Nonnull)indexPath; @end -@interface SBURegisterOperatorModuleList (SWIFT_EXTENSION(SendbirdUIKit)) +@interface SBUInviteUserModuleList (SWIFT_EXTENSION(SendbirdUIKit)) - (void)didSelectRetry; @end -/// A module component that represent the list of SBUInviteUserModule. +/// A module component that represent the list of SBURegisterOperatorModule. SWIFT_CLASS_NAMED("List") -@interface SBUInviteUserModuleList : SBUBaseChannelSettingsModuleList -- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder OBJC_DESIGNATED_INITIALIZER SWIFT_UNAVAILABLE_MSG("'init' has been renamed to 'SBUInviteUserModule.List()'"); -- (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER SWIFT_UNAVAILABLE_MSG("'init' has been renamed to 'SBUInviteUserModule.List()'"); +@interface SBURegisterOperatorModuleList : SBUBaseChannelSettingsModuleList +- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder OBJC_DESIGNATED_INITIALIZER SWIFT_UNAVAILABLE_MSG("'init' has been renamed to 'SBURegisterOperatorModule.List()'"); +- (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER SWIFT_UNAVAILABLE_MSG("'init' has been renamed to 'SBURegisterOperatorModule.List()'"); - (void)configureCell:(UITableViewCell * _Nullable)cell indexPath:(NSIndexPath * _Nonnull)indexPath; @end -@interface SBUInviteUserModuleList (SWIFT_EXTENSION(SendbirdUIKit)) +@interface SBURegisterOperatorModuleList (SWIFT_EXTENSION(SendbirdUIKit)) - (void)didSelectRetry; @end @@ -5844,6 +6039,17 @@ SWIFT_CLASS_NAMED("List") - (void)didSelectRetry; @end + +@class SBUQuotedBaseMessageView; + +SWIFT_PROTOCOL("_TtP13SendbirdUIKit28SBUQuotedMessageViewDelegate_") +@protocol SBUQuotedMessageViewDelegate +/// Called when SBUQuotedBaseMessageView was tapped. +/// \param quotedMessageView The tapped quoted message view +/// +- (void)didTapQuotedMessageView:(SBUQuotedBaseMessageView * _Nonnull)quotedMessageView; +@end + @class SBDBaseChannel; @class SBDBaseMessage; @class UIScrollView; @@ -5886,7 +6092,7 @@ SWIFT_CLASS_NAMED("List") /// Updates hidden state of the scrollBottomView. - (void)setScrollBottomViewWithHidden:(BOOL)hidden; /// Reloads table view. This method corresponds to UITableView reloadData(). -- (void)reloadTableView; +- (void)reloadTableViewWithNeedsToLayout:(BOOL)needsToLayout; /// Displays the menu of the message located on the given indexPath value. /// It internally decides whether to show a context menu, a menu for a failed message, or a sheet menu. /// \param message The BaseMessage object that corresponds to the message of the menu to show. @@ -5966,130 +6172,6 @@ SWIFT_CLASS_NAMED("List") - (enum MessageGroupPosition)getMessageGroupingPositionWithCurrentIndex:(NSInteger)currentIndex SWIFT_WARN_UNUSED_RESULT; @end - -@interface SBUBaseChannelModuleList (SWIFT_EXTENSION(SendbirdUIKit)) -/// Reload data from the channel. This function invokes SBUBaseChannelModuleListDelegate baseChannelModuleDidSelectRetry(_:) -- (void)didSelectRetry; -@end - - -/// A module component that represent the list of SBUUserListModule. -SWIFT_CLASS_NAMED("List") -@interface SBUUserListModuleList : UIView -/// The table view that shows the list of the users. -@property (nonatomic, strong) UITableView * _Nonnull tableView; -/// A view that displays when the table view is empty. -@property (nonatomic, strong) UIView * _Nullable emptyView; -/// The user cell for UITableViewCell object. Use register(userCell:nib:) to update. -@property (nonatomic, strong) UITableViewCell * _Nullable userCell; -@property (nonatomic, readonly, strong) SBDBaseChannel * _Nullable channel; -@property (nonatomic, readonly, copy) NSArray * _Nonnull userList; -- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder OBJC_DESIGNATED_INITIALIZER SWIFT_UNAVAILABLE_MSG("'init' has been renamed to 'SBUUserListModule.List()'"); -- (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER SWIFT_UNAVAILABLE_MSG("'init' has been renamed to 'SBUUserListModule.List()'"); -- (void)setupViews; -- (void)setupLayouts; -/// Reloads table view. This method corresponds to UITableView reloadData(). -- (void)reloadTableView; -/// Registers a custom cell as a user cell based on UITableViewCell. -/// important: -/// To register custom user cell, please use this function before calling configure(delegate:dataSource:userListType:theme:componentTheme:) -/// \code -/// listComponent.register(userCell: MyUserCell) -/// listComponent.configure(delegate: self, dataSource: self, userListType: .type, theme: theme, componentTheme: componentTheme) -/// -/// \endcode\param channelCell Customized user cell -/// -/// \param nib nib information. If the value is nil, the nib file is not used. -/// -- (void)registerWithUserCell:(UITableViewCell * _Nonnull)userCell nib:(UINib * _Nullable)nib; -/// Configures cell for a particular row. -/// \param cell UITableViewCell object -/// -/// \param indexPath An index path representing the cell -/// -- (void)configureCell:(UITableViewCell * _Nullable)cell indexPath:(NSIndexPath * _Nonnull)indexPath; -/// Sets up the cell’s more menu button action. -/// important: -/// Only for the group channel -/// \param user SBUUser obejct -/// -- (void)setMoreMenuTapAction:(SBUUser * _Nonnull)user; -/// Sets up the user profile tap action. -/// If you do not want to use the user profile function, override this function and leave it empty. -/// \param user SBUUser object used for user profile configuration -/// -- (void)setUserProfileTapAction:(SBUUser * _Nonnull)user; -@end - - -@interface SBUUserListModuleList (SWIFT_EXTENSION(SendbirdUIKit)) -- (void)didSelectRetry; -@end - - -@class SBUMessageSearchResultCell; - -/// A module component that represent the list of SBUMessageSearchModule. -SWIFT_CLASS_NAMED("List") -@interface SBUMessageSearchModuleList : UIView -/// The table view to show the list of searched messages. -@property (nonatomic, strong) UITableView * _Nonnull tableView; -/// A view that shows when there is no searched messages. -@property (nonatomic, strong) UIView * _Nullable emptyView; -/// The search result cell for SBUMessageSearchResultCell object. Use register(resultCell:nib:) to update. -@property (nonatomic, strong) SBUMessageSearchResultCell * _Nullable resultCell; -/// The search result list object from messageSearchModule(_:searchResultsInTableView:) data source method. -@property (nonatomic, readonly, copy) NSArray * _Nonnull resultList; -- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder OBJC_DESIGNATED_INITIALIZER SWIFT_UNAVAILABLE_MSG("'init' has been renamed to 'SBUMessageSearchModule.List()'"); -- (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER SWIFT_UNAVAILABLE_MSG("'init' has been renamed to 'SBUMessageSearchModule.List()'"); -/// Set values of the views in the list component when it needs. -- (void)setupViews; -/// Sets layouts of the views in the list component. -- (void)setupLayouts; -/// Registers a custom cell as a search result cell based on SBUMessageSearchResultCell. -/// important: -/// To register custom search result cell, please use this function before calling configure(delegate:dataSource:theme:) -/// \code -/// listComponent.register(resultCell: MyResultCell) -/// listComponent.configure(delegate: self, dataSource: self, theme: theme) -/// -/// \endcode\param channelCell Customized search result cell -/// -/// \param nib nib information. If the value is nil, the nib file is not used. -/// -- (void)registerWithResultCell:(SBUMessageSearchResultCell * _Nonnull)resultCell nib:(UINib * _Nullable)nib; -/// Configures cell for a particular row. -/// \param cell UITableViewCell object -/// -/// \param indexPath An index path representing the searchResultCell -/// -- (void)configureCell:(UITableViewCell * _Nullable)cell indexPath:(NSIndexPath * _Nonnull)indexPath; -/// Reloads table view. This method corresponds to UITableView reloadData(). -- (void)reloadTableView; -/// Retrives the BaseMessage object from the given IndexPath of the tableView. -/// \param indexPath IndexPath of which you want to retrieve the Message object. -/// -/// -/// returns: -/// BaseMessage object of the corresponding IndexPath, or nil if the message can’t be found. -- (SBDBaseMessage * _Nullable)messageAt:(NSIndexPath * _Nonnull)indexPath SWIFT_WARN_UNUSED_RESULT; -@end - - -@interface SBUMessageSearchModuleList (SWIFT_EXTENSION(SendbirdUIKit)) -- (void)didSelectRetry; -@end - -@class SBUQuotedBaseMessageView; - -SWIFT_PROTOCOL("_TtP13SendbirdUIKit28SBUQuotedMessageViewDelegate_") -@protocol SBUQuotedMessageViewDelegate -/// Called when SBUQuotedBaseMessageView was tapped. -/// \param quotedMessageView The tapped quoted message view -/// -- (void)didTapQuotedMessageView:(SBUQuotedBaseMessageView * _Nonnull)quotedMessageView; -@end - @class SBUBaseMessageCell; @class SBDGroupChannel; enum MessagePosition : NSInteger; @@ -6104,6 +6186,11 @@ SWIFT_CLASS_NAMED("List") @property (nonatomic, readonly, strong) SBUBaseMessageCell * _Nullable userMessageCell; /// The message cell for FileMessage object. Use register(fileMessageCell:nib:) to update. @property (nonatomic, readonly, strong) SBUBaseMessageCell * _Nullable fileMessageCell; +/// The message cell for MultipleFilesMessage object. +/// Use register(multipleFilesMessageCell:nib:) to update. +/// since: +/// 3.10.0 +@property (nonatomic, readonly, strong) SBUBaseMessageCell * _Nullable multipleFilesMessageCell; /// The message cell for some unknown message which is not a type of AdminMessage | UserMessage | FileMessage. Use register(unknownMessageCell:nib:) to update. @property (nonatomic, readonly, strong) SBUBaseMessageCell * _Nullable unknownMessageCell; /// The custom message cell for some BaseMessage. Use register(customMessageCell:nib:) to update. @@ -6173,6 +6260,20 @@ SWIFT_CLASS_NAMED("List") /// \param nib nib information. If the value is nil, the nib file is not used. /// - (void)registerWithFileMessageCell:(SBUBaseMessageCell * _Nonnull)fileMessageCell nib:(UINib * _Nullable)nib; +/// Registers a custom cell as a multiple files message cell based on SBUBaseMessageCell. +/// important: +/// To register custom message cell, please use this function before calling configure(delegate:dataSource:theme:) +/// \code +/// listComponent.register(multipleFilesMessageCell: MyMultipleFilesMessageCell) +/// listComponent.configure(delegate: self, dataSource: self, theme: theme) +/// +/// \endcodesince: +/// 3.10.0 +/// \param multipleFilesMessageCell Customized multiple files message cell +/// +/// \param nib nib information. If the value is nil, the nib file is not used. +/// +- (void)registerWithMultipleFilesMessageCell:(SBUBaseMessageCell * _Nonnull)multipleFilesMessageCell nib:(UINib * _Nullable)nib; /// Registers a custom cell as a unknown message cell based on SBUBaseMessageCell. /// important: /// To register custom message cell, please use this function before calling configure(delegate:dataSource:theme:) @@ -6187,56 +6288,169 @@ SWIFT_CLASS_NAMED("List") - (void)registerWithUnknownMessageCell:(SBUBaseMessageCell * _Nonnull)unknownMessageCell nib:(UINib * _Nullable)nib; /// Registers a custom cell as a additional message cell based on SBUBaseMessageCell. /// important: -/// To register custom message cell, please use this function before calling configure(delegate:dataSource:theme:) +/// To register custom message cell, please use this function before calling configure(delegate:dataSource:theme:) +/// \code +/// listComponent.register(customMessageCell: MyCustomMessageCell) +/// listComponent.configure(delegate: self, dataSource: self, theme: theme) +/// +/// \endcode\param customMessageCell Customized message cell +/// +/// \param nib nib information. If the value is nil, the nib file is not used. +/// +- (void)registerWithCustomMessageCell:(SBUBaseMessageCell * _Nonnull)customMessageCell nib:(UINib * _Nullable)nib; +/// Configures cell with message for a particular row. +/// \param messageCell SBUBaseMessageCell object. +/// +/// \param message The message for messageCell. +/// +/// \param indexPath An index path representing the messageCell +/// +- (void)configureCell:(SBUBaseMessageCell * _Nonnull)messageCell message:(SBDBaseMessage * _Nonnull)message forRowAt:(NSIndexPath * _Nonnull)indexPath; +- (UITableViewCell * _Nonnull)tableView:(UITableView * _Nonnull)tableView cellForRowAtIndexPath:(NSIndexPath * _Nonnull)indexPath SWIFT_WARN_UNUSED_RESULT; +- (void)tableView:(UITableView * _Nonnull)tableView didEndDisplayingCell:(UITableViewCell * _Nonnull)cell forRowAtIndexPath:(NSIndexPath * _Nonnull)indexPath; +/// Register the message cell to the table view. +- (void)registerWithMessageCell:(SBUBaseMessageCell * _Nonnull)messageCell nib:(UINib * _Nullable)nib; +/// Generates identifier of message cell. +/// \param message Message object +/// +/// +/// returns: +/// The identifier of message cell. +- (NSString * _Nonnull)generateCellIdentifierBy:(SBDBaseMessage * _Nonnull)message SWIFT_WARN_UNUSED_RESULT; +/// Sets animation in message cell. +/// \param cell The message cell +/// +/// \param message message object +/// +/// \param indexPath Cell’s indexPath +/// +- (void)setMessageCellAnimation:(SBUBaseMessageCell * _Nonnull)messageCell message:(SBDBaseMessage * _Nonnull)message indexPath:(NSIndexPath * _Nonnull)indexPath; +- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder OBJC_DESIGNATED_INITIALIZER; +- (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER; +@end + + +@interface SBUGroupChannelModuleList (SWIFT_EXTENSION(SendbirdUIKit)) +- (void)didTapQuotedMessageView:(SBUQuotedBaseMessageView * _Nonnull)quotedMessageView; +@end + +@class SBUThreadInfoView; + +@interface SBUGroupChannelModuleList (SWIFT_EXTENSION(SendbirdUIKit)) +- (void)threadInfoViewDidTap:(SBUThreadInfoView * _Nonnull)threadInfoView; +@end + + +/// A module component that represent the list of SBUUserListModule. +SWIFT_CLASS_NAMED("List") +@interface SBUUserListModuleList : UIView +/// The table view that shows the list of the users. +@property (nonatomic, strong) UITableView * _Nonnull tableView; +/// A view that displays when the table view is empty. +@property (nonatomic, strong) UIView * _Nullable emptyView; +/// The user cell for UITableViewCell object. Use register(userCell:nib:) to update. +@property (nonatomic, strong) UITableViewCell * _Nullable userCell; +@property (nonatomic, readonly, strong) SBDBaseChannel * _Nullable channel; +@property (nonatomic, readonly, copy) NSArray * _Nonnull userList; +- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder OBJC_DESIGNATED_INITIALIZER SWIFT_UNAVAILABLE_MSG("'init' has been renamed to 'SBUUserListModule.List()'"); +- (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER SWIFT_UNAVAILABLE_MSG("'init' has been renamed to 'SBUUserListModule.List()'"); +- (void)setupViews; +- (void)setupLayouts; +/// Reloads table view. This method corresponds to UITableView reloadData(). +- (void)reloadTableView; +/// Registers a custom cell as a user cell based on UITableViewCell. +/// important: +/// To register custom user cell, please use this function before calling configure(delegate:dataSource:userListType:theme:componentTheme:) +/// \code +/// listComponent.register(userCell: MyUserCell) +/// listComponent.configure(delegate: self, dataSource: self, userListType: .type, theme: theme, componentTheme: componentTheme) +/// +/// \endcode\param channelCell Customized user cell +/// +/// \param nib nib information. If the value is nil, the nib file is not used. +/// +- (void)registerWithUserCell:(UITableViewCell * _Nonnull)userCell nib:(UINib * _Nullable)nib; +/// Configures cell for a particular row. +/// \param cell UITableViewCell object +/// +/// \param indexPath An index path representing the cell +/// +- (void)configureCell:(UITableViewCell * _Nullable)cell indexPath:(NSIndexPath * _Nonnull)indexPath; +/// Sets up the cell’s more menu button action. +/// important: +/// Only for the group channel +/// \param user SBUUser obejct +/// +- (void)setMoreMenuTapAction:(SBUUser * _Nonnull)user; +/// Sets up the user profile tap action. +/// If you do not want to use the user profile function, override this function and leave it empty. +/// \param user SBUUser object used for user profile configuration +/// +- (void)setUserProfileTapAction:(SBUUser * _Nonnull)user; +@end + + +@interface SBUUserListModuleList (SWIFT_EXTENSION(SendbirdUIKit)) +- (void)didSelectRetry; +@end + +@class SBUMessageSearchResultCell; + +/// A module component that represent the list of SBUMessageSearchModule. +SWIFT_CLASS_NAMED("List") +@interface SBUMessageSearchModuleList : UIView +/// The table view to show the list of searched messages. +@property (nonatomic, strong) UITableView * _Nonnull tableView; +/// A view that shows when there is no searched messages. +@property (nonatomic, strong) UIView * _Nullable emptyView; +/// The search result cell for SBUMessageSearchResultCell object. Use register(resultCell:nib:) to update. +@property (nonatomic, strong) SBUMessageSearchResultCell * _Nullable resultCell; +/// The search result list object from messageSearchModule(_:searchResultsInTableView:) data source method. +@property (nonatomic, readonly, copy) NSArray * _Nonnull resultList; +- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder OBJC_DESIGNATED_INITIALIZER SWIFT_UNAVAILABLE_MSG("'init' has been renamed to 'SBUMessageSearchModule.List()'"); +- (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER SWIFT_UNAVAILABLE_MSG("'init' has been renamed to 'SBUMessageSearchModule.List()'"); +/// Set values of the views in the list component when it needs. +- (void)setupViews; +/// Sets layouts of the views in the list component. +- (void)setupLayouts; +/// Registers a custom cell as a search result cell based on SBUMessageSearchResultCell. +/// important: +/// To register custom search result cell, please use this function before calling configure(delegate:dataSource:theme:) /// \code -/// listComponent.register(customMessageCell: MyCustomMessageCell) +/// listComponent.register(resultCell: MyResultCell) /// listComponent.configure(delegate: self, dataSource: self, theme: theme) /// -/// \endcode\param customMessageCell Customized message cell +/// \endcode\param channelCell Customized search result cell /// /// \param nib nib information. If the value is nil, the nib file is not used. /// -- (void)registerWithCustomMessageCell:(SBUBaseMessageCell * _Nonnull)customMessageCell nib:(UINib * _Nullable)nib; -/// Configures cell with message for a particular row. -/// \param messageCell SBUBaseMessageCell object. -/// -/// \param message The message for messageCell. +- (void)registerWithResultCell:(SBUMessageSearchResultCell * _Nonnull)resultCell nib:(UINib * _Nullable)nib; +/// Configures cell for a particular row. +/// \param cell UITableViewCell object /// -/// \param indexPath An index path representing the messageCell +/// \param indexPath An index path representing the searchResultCell /// -- (void)configureCell:(SBUBaseMessageCell * _Nonnull)messageCell message:(SBDBaseMessage * _Nonnull)message forRowAt:(NSIndexPath * _Nonnull)indexPath; -- (UITableViewCell * _Nonnull)tableView:(UITableView * _Nonnull)tableView cellForRowAtIndexPath:(NSIndexPath * _Nonnull)indexPath SWIFT_WARN_UNUSED_RESULT; -- (void)tableView:(UITableView * _Nonnull)tableView didEndDisplayingCell:(UITableViewCell * _Nonnull)cell forRowAtIndexPath:(NSIndexPath * _Nonnull)indexPath; -/// Register the message cell to the table view. -- (void)registerWithMessageCell:(SBUBaseMessageCell * _Nonnull)messageCell nib:(UINib * _Nullable)nib; -/// Generates identifier of message cell. -/// \param message Message object +- (void)configureCell:(UITableViewCell * _Nullable)cell indexPath:(NSIndexPath * _Nonnull)indexPath; +/// Reloads table view. This method corresponds to UITableView reloadData(). +- (void)reloadTableView; +/// Retrives the BaseMessage object from the given IndexPath of the tableView. +/// \param indexPath IndexPath of which you want to retrieve the Message object. /// /// /// returns: -/// The identifier of message cell. -- (NSString * _Nonnull)generateCellIdentifierBy:(SBDBaseMessage * _Nonnull)message SWIFT_WARN_UNUSED_RESULT; -/// Sets animation in message cell. -/// \param cell The message cell -/// -/// \param message message object -/// -/// \param indexPath Cell’s indexPath -/// -- (void)setMessageCellAnimation:(SBUBaseMessageCell * _Nonnull)messageCell message:(SBDBaseMessage * _Nonnull)message indexPath:(NSIndexPath * _Nonnull)indexPath; -- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder OBJC_DESIGNATED_INITIALIZER; -- (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER; +/// BaseMessage object of the corresponding IndexPath, or nil if the message can’t be found. +- (SBDBaseMessage * _Nullable)messageAt:(NSIndexPath * _Nonnull)indexPath SWIFT_WARN_UNUSED_RESULT; @end -@interface SBUGroupChannelModuleList (SWIFT_EXTENSION(SendbirdUIKit)) -- (void)didTapQuotedMessageView:(SBUQuotedBaseMessageView * _Nonnull)quotedMessageView; +@interface SBUMessageSearchModuleList (SWIFT_EXTENSION(SendbirdUIKit)) +- (void)didSelectRetry; @end -@class SBUThreadInfoView; -@interface SBUGroupChannelModuleList (SWIFT_EXTENSION(SendbirdUIKit)) -- (void)threadInfoViewDidTap:(SBUThreadInfoView * _Nonnull)threadInfoView; + +@interface SBUBaseChannelSettingsModuleList (SWIFT_EXTENSION(SendbirdUIKit)) +- (void)didSelectRetry; @end @class SBUBaseChannelCell; @@ -6311,25 +6525,25 @@ SWIFT_CLASS_NAMED("List") @end -@interface SBUBaseChannelSettingsModuleList (SWIFT_EXTENSION(SendbirdUIKit)) +@interface SBUBaseChannelModuleList (SWIFT_EXTENSION(SendbirdUIKit)) +/// Reload data from the channel. This function invokes SBUBaseChannelModuleListDelegate baseChannelModuleDidSelectRetry(_:) - (void)didSelectRetry; @end - @interface SBURegisterOperatorModuleList (SWIFT_EXTENSION(SendbirdUIKit)) - (void)tableView:(UITableView * _Nonnull)tableView didSelectRowAtIndexPath:(NSIndexPath * _Nonnull)indexPath; - (void)tableView:(UITableView * _Nonnull)tableView willDisplayCell:(UITableViewCell * _Nonnull)cell forRowAtIndexPath:(NSIndexPath * _Nonnull)indexPath; @end -@interface SBUCreateChannelModuleList (SWIFT_EXTENSION(SendbirdUIKit)) +@interface SBUInviteUserModuleList (SWIFT_EXTENSION(SendbirdUIKit)) - (void)tableView:(UITableView * _Nonnull)tableView didSelectRowAtIndexPath:(NSIndexPath * _Nonnull)indexPath; - (void)tableView:(UITableView * _Nonnull)tableView willDisplayCell:(UITableViewCell * _Nonnull)cell forRowAtIndexPath:(NSIndexPath * _Nonnull)indexPath; @end -@interface SBUInviteUserModuleList (SWIFT_EXTENSION(SendbirdUIKit)) +@interface SBUCreateChannelModuleList (SWIFT_EXTENSION(SendbirdUIKit)) - (void)tableView:(UITableView * _Nonnull)tableView didSelectRowAtIndexPath:(NSIndexPath * _Nonnull)indexPath; - (void)tableView:(UITableView * _Nonnull)tableView willDisplayCell:(UITableViewCell * _Nonnull)cell forRowAtIndexPath:(NSIndexPath * _Nonnull)indexPath; @end @@ -6439,6 +6653,10 @@ SWIFT_CLASS_NAMED("List") @property (nonatomic, readonly, strong) SBUBaseMessageCell * _Nullable userMessageCell; /// The message cell for FileMessage object. Use register(fileMessageCell:nib:) to update. @property (nonatomic, readonly, strong) SBUBaseMessageCell * _Nullable fileMessageCell; +/// The message cell for MultipleFilesMessage object. Use register(multipleFilesMessageCell:nib:) to update. +/// since: +/// 3.10.0 +@property (nonatomic, readonly, strong) SBUBaseMessageCell * _Nullable multipleFilesMessageCell; /// The message cell for some unknown message which is not a type of AdminMessage | UserMessage | FileMessage. Use register(unknownMessageCell:nib:) to update. @property (nonatomic, readonly, strong) SBUBaseMessageCell * _Nullable unknownMessageCell; /// The custom message cell for some BaseMessage. Use register(customMessageCell:nib:) to update. @@ -6472,7 +6690,7 @@ SWIFT_CLASS_NAMED("List") /// - (void)setMessageCellGestures:(SBUBaseMessageCell * _Nonnull)cell message:(SBDBaseMessage * _Nonnull)message indexPath:(NSIndexPath * _Nonnull)indexPath; /// Reloads table view. This method corresponds to UITableView reloadData(). -- (void)reloadTableView; +- (void)reloadTableViewWithNeedsToLayout:(BOOL)needsToLayout; /// Register the message cell to the table view. - (void)registerWithMessageCell:(SBUBaseMessageCell * _Nonnull)messageCell nib:(UINib * _Nullable)nib; /// Registers a custom cell as a admin message cell based on SBUBaseMessageCell. @@ -6511,6 +6729,20 @@ SWIFT_CLASS_NAMED("List") /// \param nib nib information. If the value is nil, the nib file is not used. /// - (void)registerWithFileMessageCell:(SBUBaseMessageCell * _Nonnull)fileMessageCell nib:(UINib * _Nullable)nib; +/// Registers a custom cell as a multiple files message cell based on SBUBaseMessageCell. +/// important: +/// To register custom message cell, please use this function before calling configure(delegate:dataSource:theme:) +/// \code +/// listComponent.register(multipleFilesMessageCell: MyMultipleFilesMessageCell) +/// listComponent.configure(delegate: self, dataSource: self, theme: theme) +/// +/// \endcodesince: +/// 3.10.0 +/// \param multipleFilesMessageCell Customized multiple files message cell +/// +/// \param nib nib information. If the value is nil, the nib file is not used. +/// +- (void)registerWithMultipleFilesMessageCell:(SBUBaseMessageCell * _Nonnull)multipleFilesMessageCell nib:(UINib * _Nullable)nib; /// Registers a custom cell as a unknown message cell based on SBUBaseMessageCell. /// important: /// To register custom message cell, please use this function before calling configure(delegate:dataSource:theme:) @@ -6568,6 +6800,7 @@ SWIFT_CLASS_NAMED("List") + /// A module component that represent the list of SBUOpenChannelListModule. SWIFT_CLASS_NAMED("List") @interface SBUOpenChannelListModuleList : SBUBaseChannelListModuleList @@ -6589,7 +6822,6 @@ SWIFT_CLASS_NAMED("List") @end - @interface List (SWIFT_EXTENSION(SendbirdUIKit)) - (UIView * _Nullable)tableView:(UITableView * _Nonnull)tableView viewForHeaderInSection:(NSInteger)section SWIFT_WARN_UNUSED_RESULT; - (CGFloat)tableView:(UITableView * _Nonnull)tableView heightForHeaderInSection:(NSInteger)section SWIFT_WARN_UNUSED_RESULT; @@ -6599,6 +6831,23 @@ SWIFT_CLASS_NAMED("List") @end +/// A module component that represent the list of SBUGroupChannelPushSettingsModule. +SWIFT_CLASS_NAMED("List") +@interface SBUGroupChannelPushSettingsModuleList : UIView +- (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER; +- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder OBJC_DESIGNATED_INITIALIZER; +@end + + +@interface SBUGroupChannelPushSettingsModuleList (SWIFT_EXTENSION(SendbirdUIKit)) +- (UIView * _Nullable)tableView:(UITableView * _Nonnull)tableView viewForHeaderInSection:(NSInteger)section SWIFT_WARN_UNUSED_RESULT; +- (CGFloat)tableView:(UITableView * _Nonnull)tableView heightForHeaderInSection:(NSInteger)section SWIFT_WARN_UNUSED_RESULT; +- (UITableViewCell * _Nonnull)tableView:(UITableView * _Nonnull)tableView cellForRowAtIndexPath:(NSIndexPath * _Nonnull)indexPath SWIFT_WARN_UNUSED_RESULT; +- (NSInteger)tableView:(UITableView * _Nonnull)tableView numberOfRowsInSection:(NSInteger)section SWIFT_WARN_UNUSED_RESULT; +- (void)tableView:(UITableView * _Nonnull)tableView didSelectRowAtIndexPath:(NSIndexPath * _Nonnull)indexPath; +@end + + /// A module component that represent the list of SBUModerationsModuleList. SWIFT_CLASS_NAMED("List") @interface SBUModerationsModuleList : UIView @@ -6642,23 +6891,6 @@ SWIFT_CLASS_NAMED("List") - (void)tableView:(UITableView * _Nonnull)tableView didSelectRowAtIndexPath:(NSIndexPath * _Nonnull)indexPath; @end - -/// A module component that represent the list of SBUGroupChannelPushSettingsModule. -SWIFT_CLASS_NAMED("List") -@interface SBUGroupChannelPushSettingsModuleList : UIView -- (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER; -- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder OBJC_DESIGNATED_INITIALIZER; -@end - - -@interface SBUGroupChannelPushSettingsModuleList (SWIFT_EXTENSION(SendbirdUIKit)) -- (UIView * _Nullable)tableView:(UITableView * _Nonnull)tableView viewForHeaderInSection:(NSInteger)section SWIFT_WARN_UNUSED_RESULT; -- (CGFloat)tableView:(UITableView * _Nonnull)tableView heightForHeaderInSection:(NSInteger)section SWIFT_WARN_UNUSED_RESULT; -- (UITableViewCell * _Nonnull)tableView:(UITableView * _Nonnull)tableView cellForRowAtIndexPath:(NSIndexPath * _Nonnull)indexPath SWIFT_WARN_UNUSED_RESULT; -- (NSInteger)tableView:(UITableView * _Nonnull)tableView numberOfRowsInSection:(NSInteger)section SWIFT_WARN_UNUSED_RESULT; -- (void)tableView:(UITableView * _Nonnull)tableView didSelectRowAtIndexPath:(NSIndexPath * _Nonnull)indexPath; -@end - @class UIContextualAction; /// A module component that represent the list of SBUGroupChannelListModule. @@ -6719,6 +6951,18 @@ SWIFT_CLASS_NAMED("List") @end +@interface SBUBaseChannelListModuleList (SWIFT_EXTENSION(SendbirdUIKit)) +- (NSInteger)numberOfSectionsInTableView:(UITableView * _Nonnull)tableView SWIFT_WARN_UNUSED_RESULT; +- (UIView * _Nullable)tableView:(UITableView * _Nonnull)tableView viewForHeaderInSection:(NSInteger)section SWIFT_WARN_UNUSED_RESULT; +- (CGFloat)tableView:(UITableView * _Nonnull)tableView heightForHeaderInSection:(NSInteger)section SWIFT_WARN_UNUSED_RESULT; +- (void)tableView:(UITableView * _Nonnull)tableView didSelectRowAtIndexPath:(NSIndexPath * _Nonnull)indexPath; +- (UITableViewCell * _Nonnull)tableView:(UITableView * _Nonnull)tableView cellForRowAtIndexPath:(NSIndexPath * _Nonnull)indexPath SWIFT_WARN_UNUSED_RESULT; +- (void)tableView:(UITableView * _Nonnull)tableView willDisplayCell:(UITableViewCell * _Nonnull)cell forRowAtIndexPath:(NSIndexPath * _Nonnull)indexPath; +- (NSInteger)tableView:(UITableView * _Nonnull)tableView numberOfRowsInSection:(NSInteger)section SWIFT_WARN_UNUSED_RESULT; +- (UISwipeActionsConfiguration * _Nullable)tableView:(UITableView * _Nonnull)tableView trailingSwipeActionsConfigurationForRowAtIndexPath:(NSIndexPath * _Nonnull)indexPath SWIFT_WARN_UNUSED_RESULT; +@end + + @interface SBUBaseChannelModuleList (SWIFT_EXTENSION(SendbirdUIKit)) @property (nonatomic, readonly) BOOL isScrollNearByBottom; /// Scrolls to the message that is found by id. @@ -6744,18 +6988,6 @@ SWIFT_CLASS_NAMED("List") - (BOOL)checkSameDayAsPrevMessageWithCurrentIndex:(NSInteger)currentIndex fullMessageList:(NSArray * _Nonnull)fullMessageList SWIFT_WARN_UNUSED_RESULT; @end - -@interface SBUBaseChannelListModuleList (SWIFT_EXTENSION(SendbirdUIKit)) -- (NSInteger)numberOfSectionsInTableView:(UITableView * _Nonnull)tableView SWIFT_WARN_UNUSED_RESULT; -- (UIView * _Nullable)tableView:(UITableView * _Nonnull)tableView viewForHeaderInSection:(NSInteger)section SWIFT_WARN_UNUSED_RESULT; -- (CGFloat)tableView:(UITableView * _Nonnull)tableView heightForHeaderInSection:(NSInteger)section SWIFT_WARN_UNUSED_RESULT; -- (void)tableView:(UITableView * _Nonnull)tableView didSelectRowAtIndexPath:(NSIndexPath * _Nonnull)indexPath; -- (UITableViewCell * _Nonnull)tableView:(UITableView * _Nonnull)tableView cellForRowAtIndexPath:(NSIndexPath * _Nonnull)indexPath SWIFT_WARN_UNUSED_RESULT; -- (void)tableView:(UITableView * _Nonnull)tableView willDisplayCell:(UITableViewCell * _Nonnull)cell forRowAtIndexPath:(NSIndexPath * _Nonnull)indexPath; -- (NSInteger)tableView:(UITableView * _Nonnull)tableView numberOfRowsInSection:(NSInteger)section SWIFT_WARN_UNUSED_RESULT; -- (UISwipeActionsConfiguration * _Nullable)tableView:(UITableView * _Nonnull)tableView trailingSwipeActionsConfigurationForRowAtIndexPath:(NSIndexPath * _Nonnull)indexPath SWIFT_WARN_UNUSED_RESULT; -@end - @class SBUVoicePlayer; @class SBUVoiceFileInfo; @@ -6849,6 +7081,8 @@ SWIFT_CLASS("_TtC13SendbirdUIKit21SBUBaseViewController") - (void)setupStyles; /// This function updates styles. - (void)updateStyles; +/// This function updates styles with boolean parameter value that represents whether layout or not +- (void)updateStylesWithNeedsToLayout:(BOOL)needsToLayout; /// This function setups navigationBar’s background color and shadow color. /// \param backgroundColor background color /// @@ -6877,6 +7111,9 @@ SWIFT_CLASS("_TtC13SendbirdUIKit33MessageTemplateTestViewController") + + + /// This is an enumeration for new message info item type. /// since: /// 2.0.0 @@ -7252,7 +7489,7 @@ SWIFT_CLASS("_TtC13SendbirdUIKit28SBUBaseChannelViewController") /// The NSLayoutConstraint value used in baseInputComponent’s bottom anchor constraint. The value is updated when either keyboardWillHide(_:) or keyboardWillShow(_:) is called. /// since: /// 3.2.3 -@property (nonatomic, strong) NSLayoutConstraint * _Null_unspecified messageInputViewBottomConstraint; +@property (nonatomic, strong) NSLayoutConstraint * _Nullable messageInputViewBottomConstraint; - (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder OBJC_DESIGNATED_INITIALIZER SWIFT_UNAVAILABLE; - (nonnull instancetype)initWithNibName:(NSString * _Nullable)nibNameOrNil bundle:(NSBundle * _Nullable)nibBundleOrNil OBJC_DESIGNATED_INITIALIZER; /// If you have channel object, use this initializer. If you have own message list params, please set it. If not set, it is used as the default value. @@ -7277,6 +7514,7 @@ SWIFT_CLASS("_TtC13SendbirdUIKit28SBUBaseChannelViewController") - (nonnull instancetype)initWithBaseChannel:(SBDBaseChannel * _Nonnull)baseChannel messageListParams:(SBDMessageListParams * _Nullable)messageListParams displaysLocalCachedListFirst:(BOOL)displaysLocalCachedListFirst OBJC_DESIGNATED_INITIALIZER; - (void)loadView; - (void)viewWillAppear:(BOOL)animated; +- (void)viewDidAppear:(BOOL)animated; - (void)viewDidLoad; - (void)viewWillDisappear:(BOOL)animated; /// Called when the application will resign activity. @@ -7331,6 +7569,8 @@ SWIFT_CLASS("_TtC13SendbirdUIKit28SBUBaseChannelViewController") /// - (void)updateNewMessageInfoWithHidden:(BOOL)hidden; /// This function opens a file according to the file type. +/// note: +/// Use openFile(_:) instead. /// since: /// 3.0.0 /// \param fileMessage fileMessage object @@ -7859,6 +8099,27 @@ SWIFT_CLASS("_TtC13SendbirdUIKit40SBUChatNotificationChannelViewController") @end +/// Collection view cell that conforms to SBUViewLifeCycle. +/// since: +/// 3.10.0 +SWIFT_CLASS("_TtC13SendbirdUIKit21SBUCollectionViewCell") +@interface SBUCollectionViewCell : UICollectionViewCell +- (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER; +- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder OBJC_DESIGNATED_INITIALIZER; +- (void)layoutSubviews; +@end + + +@interface SBUCollectionViewCell (SWIFT_EXTENSION(SendbirdUIKit)) +- (void)setupViews; +- (void)setupStyles; +- (void)updateStyles; +- (void)setupLayouts; +- (void)updateLayouts; +- (void)setupActions; +@end + + SWIFT_CLASS("_TtC13SendbirdUIKit20SBUCommonContentView") @interface SBUCommonContentView : SBUBaseFileContentView - (void)setupViews; @@ -8287,7 +8548,7 @@ SWIFT_CLASS("_TtC13SendbirdUIKit21SBUFileViewController") @property (nonatomic, strong) UIImageView * _Nonnull imageView; @property (nonatomic, strong) UIScrollView * _Nonnull scrollView; @property (nonatomic, strong) UIView * _Nonnull bottomView; -- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder OBJC_DESIGNATED_INITIALIZER; +- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder OBJC_DESIGNATED_INITIALIZER SWIFT_UNAVAILABLE_MSG("'init' has been renamed to 'init(params:delegate:)'"); - (void)viewDidLoad; - (void)viewWillAppear:(BOOL)animated; - (void)updateViewConstraints; @@ -8677,6 +8938,8 @@ SWIFT_CLASS("_TtC13SendbirdUIKit32SBUGroupChannelSettingsViewModel") @class SBUGroupChannelModuleInput; @class SBUVoiceMessageInputView; @class SBUGroupChannelViewModel; +@class SBUMultipleFilesMessageCell; +@class SBDUploadableFileInfo; @class SBUMentionManager; @class SBUMessageThreadViewController; @@ -8689,6 +8952,11 @@ SWIFT_CLASS("_TtC13SendbirdUIKit29SBUGroupChannelViewController") @property (nonatomic, strong) SBUGroupChannelViewModel * _Nullable viewModel; @property (nonatomic, readonly, strong) SBDGroupChannel * _Nullable channel; @property (nonatomic, readonly) NSInteger newMessagesCount; +/// An error handler that is called when any one of the files size in multiple files message exceeds the file size limit. +/// If needed, override this handler to show your custom alert view. +/// since: +/// 3.10.0 +- (void)multipleFilesMessageFileSizeErrorHandler:(NSString * _Nonnull)message; /// If you have channel object, use this initialize function. And, if you have own message list params, please set it. If not set, it is used as the default value. /// See the example below for params generation. /// \code @@ -8715,20 +8983,30 @@ SWIFT_CLASS("_TtC13SendbirdUIKit29SBUGroupChannelViewController") - (void)setupViews; - (void)setupLayouts; - (void)setupStyles; +- (void)updateStylesWithNeedsToLayout:(BOOL)needsToLayout; - (void)updateStyles; /// This function increases the new message count. - (BOOL)increaseNewMessageCount; - (CGPoint)calculatorMenuPointWithIndexPath:(NSIndexPath * _Nonnull)indexPath position:(enum MessagePosition)position SWIFT_WARN_UNUSED_RESULT SWIFT_DEPRECATED_MSG("Please use `calculateMessageMenuCGPoint(indexPath:position:)` in `SBUGroupChannelModule.List`"); - (void)showMenuModal:(UITableViewCell * _Nonnull)cell indexPath:(NSIndexPath * _Nonnull)indexPath message:(SBDBaseMessage * _Nonnull)message SWIFT_DEPRECATED_MSG("Please use `showMessageContextMenu(message:cell:forRowAt:)` in `SBUGroupChannelModule.List`"); - (void)showChannelSettings; +- (void)imagePickerControllerDidCancel:(UIImagePickerController * _Nonnull)picker; +/// Presents UIImagePickerController. If SBUGlobals.UsingPHPickeris true, it presents PHPickerViewController in iOS 14 or later. +/// note: +/// If you want to use customized PHPickerConfiguration, please override this method. +/// since: +/// 3.10.0 +- (void)showPhotoLibraryPicker; - (void)showVoiceMessageInput; - (void)dismissVoiceMessageInput; - (void)resetVoiceMessageInputFor:(BOOL)resignActivity; - (void)baseChannelViewModel:(SBUBaseChannelViewModel * _Nonnull)viewModel didChangeChannel:(SBDBaseChannel * _Nullable)channel withContext:(SBDMessageContext * _Nonnull)context; - (void)baseChannelViewModel:(SBUBaseChannelViewModel * _Nonnull)viewModel deletedMessages:(NSArray * _Nonnull)messages; - (void)groupChannelViewModel:(SBUGroupChannelViewModel * _Nonnull)viewModel didReceiveSuggestedMentions:(NSArray * _Nullable)members; +- (void)groupChannelViewModel:(SBUGroupChannelViewModel * _Nonnull)viewModel didFinishUploadingFileAt:(NSInteger)index multipleFilesMessageRequestId:(NSString * _Nonnull)requestId; - (void)baseChannelModule:(Header * _Nonnull)headerComponent didTapLeftItem:(UIBarButtonItem * _Nonnull)leftItem; - (void)baseChannelModule:(Header * _Nonnull)headerComponent didTapRightItem:(UIBarButtonItem * _Nonnull)rightItem; +- (void)groupChannelModule:(SBUGroupChannelModuleList * _Nonnull)listComponent didSelectFileAt:(NSInteger)index multipleFilesMessageCell:(SBUMultipleFilesMessageCell * _Nonnull)multipleFilesMessageCell forRowAt:(NSIndexPath * _Nonnull)cellIndexPath; - (void)groupChannelModule:(SBUGroupChannelModuleList * _Nonnull)listComponent didTapEmoji:(NSString * _Nonnull)emojiKey messageCell:(SBUBaseMessageCell * _Nonnull)messageCell; - (void)groupChannelModule:(SBUGroupChannelModuleList * _Nonnull)listComponent didLongTapEmoji:(NSString * _Nonnull)emojiKey messageCell:(SBUBaseMessageCell * _Nonnull)messageCell; - (void)groupChannelModule:(SBUGroupChannelModuleList * _Nonnull)listComponent didTapMoreEmojiForCell:(SBUBaseMessageCell * _Nonnull)messageCell; @@ -8740,6 +9018,7 @@ SWIFT_CLASS("_TtC13SendbirdUIKit29SBUGroupChannelViewController") - (void)baseChannelModule:(SBUBaseChannelModuleList * _Nonnull)listComponent didScroll:(UIScrollView * _Nonnull)scrollView; - (void)baseChannelModule:(Input * _Nonnull)inputComponent didUpdateFrozenState:(BOOL)isFrozen; - (void)groupChannelModule:(SBUGroupChannelModuleInput * _Nonnull)inputComponent didPickFileData:(NSData * _Nullable)fileData fileName:(NSString * _Nonnull)fileName mimeType:(NSString * _Nonnull)mimeType parentMessage:(SBDBaseMessage * _Nullable)parentMessage; +- (void)groupChannelModule:(SBUGroupChannelModuleInput * _Nonnull)inputComponent didPickMultipleFiles:(NSArray * _Nullable)fileInfoList parentMessage:(SBDBaseMessage * _Nullable)parentMessage; - (void)groupChannelModule:(SBUGroupChannelModuleInput * _Nonnull)inputComponent didTapSend:(NSString * _Nonnull)text mentionedMessageTemplate:(NSString * _Nonnull)mentionedMessageTemplate mentionedUserIds:(NSArray * _Nonnull)mentionedUserIds parentMessage:(SBDBaseMessage * _Nullable)parentMessage; - (void)groupChannelModule:(SBUGroupChannelModuleInput * _Nonnull)inputComponent didTapEdit:(NSString * _Nonnull)text mentionedMessageTemplate:(NSString * _Nonnull)mentionedMessageTemplate mentionedUserIds:(NSArray * _Nonnull)mentionedUserIds; - (void)groupChannelModule:(SBUGroupChannelModuleInput * _Nonnull)inputComponent willChangeMode:(enum SBUMessageInputMode)mode message:(SBDBaseMessage * _Nullable)message mentionedMessageTemplate:(NSString * _Nonnull)mentionedMessageTemplate mentionedUserIds:(NSArray * _Nonnull)mentionedUserIds; @@ -9186,6 +9465,9 @@ SWIFT_CLASS("_TtC13SendbirdUIKit25SBUMessageThreadTitleView") @class Header; @class SBUMessageThreadModuleInput; @class SBUMessageThreadViewModel; +@protocol UIViewControllerTransitionCoordinator; +@class SBDUploadedFileInfo; +@class SBDMultipleFilesMessage; SWIFT_CLASS("_TtC13SendbirdUIKit30SBUMessageThreadViewController") @interface SBUMessageThreadViewController : SBUBaseChannelViewController @@ -9201,11 +9483,13 @@ SWIFT_CLASS("_TtC13SendbirdUIKit30SBUMessageThreadViewController") - (void)viewWillAppear:(BOOL)animated; - (void)viewDidLoad; - (void)viewWillDisappear:(BOOL)animated; +- (void)viewWillTransitionToSize:(CGSize)size withTransitionCoordinator:(id _Nonnull)coordinator; - (void)applicationWillResignActivity; - (void)willPresentSubview; - (void)setupViews; - (void)setupLayouts; - (void)setupStyles; +- (void)updateStylesWithNeedsToLayout:(BOOL)needsToLayout; - (void)updateStyles; - (void)moveToParentMessage; - (BOOL)increaseNewMessageCount; @@ -9218,6 +9502,11 @@ SWIFT_CLASS("_TtC13SendbirdUIKit30SBUMessageThreadViewController") - (void)messageThreadViewModel:(SBUMessageThreadViewModel * _Nonnull)viewModel didLoadParentMessage:(SBDBaseMessage * _Nullable)parentMessage; - (void)messageThreadViewModel:(SBUMessageThreadViewModel * _Nonnull)viewModel didUpdateParentMessage:(SBDBaseMessage * _Nullable)parentMessage; - (void)messageThreadViewModelShouldDismissMessageThread:(SBUMessageThreadViewModel * _Nonnull)viewModel; +/// note: +/// This interface is beta. We do not gaurantee this interface to work properly yet. +/// since: +/// [NEXT_VERSION_MFM_THREAD] +- (void)messageThreadViewModel:(SBUMessageThreadViewModel * _Nonnull)viewModel didFinishUploadingFileAt:(NSInteger)index multipleFilesMessageRequestId:(NSString * _Nonnull)requestId; - (void)baseChannelModule:(Header * _Nonnull)headerComponent didUpdateTitleView:(UIView * _Nullable)titleView; - (void)baseChannelModule:(Header * _Nonnull)headerComponent didTapTitleView:(UIView * _Nullable)titleView; - (void)baseChannelModule:(Header * _Nonnull)headerComponent didTapLeftItem:(UIBarButtonItem * _Nonnull)leftItem; @@ -9225,11 +9514,26 @@ SWIFT_CLASS("_TtC13SendbirdUIKit30SBUMessageThreadViewController") - (void)messageThreadModule:(SBUMessageThreadModuleList * _Nonnull)listComponent didLongTapEmoji:(NSString * _Nonnull)emojiKey messageCell:(SBUBaseMessageCell * _Nonnull)messageCell; - (void)messageThreadModule:(SBUMessageThreadModuleList * _Nonnull)listComponent didTapMoreEmojiForCell:(SBUBaseMessageCell * _Nonnull)messageCell; - (void)messageThreadModule:(SBUMessageThreadModuleList * _Nonnull)listComponent didTapMentionUser:(SBUUser * _Nonnull)user; +/// note: +/// This interface is beta. We do not gaurantee this interface to work properly yet. +/// since: +/// [NEXT_VERSION_MFM_THREAD] +- (void)messageThreadModule:(SBUMessageThreadModuleList * _Nonnull)listComponent didSelectFileAt:(NSInteger)index multipleFilesMessageCell:(SBUMultipleFilesMessageCell * _Nonnull)multipleFilesMessageCell forRowAt:(NSIndexPath * _Nonnull)cellIndexPath; +/// note: +/// This interface is beta. We do not gaurantee this interface to work properly yet. +/// since: +/// [NEXT_VERSION_MFM_THREAD] +- (void)messageThreadModule:(SBUMessageThreadModuleList * _Nonnull)listComponent uploadedFileInfo:(SBDUploadedFileInfo * _Nonnull)uploadedFileInfo message:(SBDMultipleFilesMessage * _Nonnull)message index:(NSInteger)index; - (void)baseChannelModule:(SBUBaseChannelModuleList * _Nonnull)listComponent didScroll:(UIScrollView * _Nonnull)scrollView; - (void)baseChannelModule:(SBUBaseChannelModuleList * _Nonnull)listComponent didTapVoiceMessage:(SBDFileMessage * _Nonnull)fileMessage cell:(UITableViewCell * _Nonnull)cell forRowAt:(NSIndexPath * _Nonnull)indexPath; - (void)baseChannelModule:(SBUBaseChannelModuleList * _Nonnull)listComponent willDisplay:(UITableViewCell * _Nonnull)cell forRowAt:(NSIndexPath * _Nonnull)indexPath; - (void)baseChannelModule:(Input * _Nonnull)inputComponent didUpdateFrozenState:(BOOL)isFrozen; - (void)messageThreadModule:(SBUMessageThreadModuleInput * _Nonnull)inputComponent didPickFileData:(NSData * _Nullable)fileData fileName:(NSString * _Nonnull)fileName mimeType:(NSString * _Nonnull)mimeType parentMessage:(SBDBaseMessage * _Nullable)parentMessage; +/// note: +/// This interface is beta. We do not gaurantee this interface to work properly yet. +/// since: +/// [NEXT_VERSION_MFM_THREAD] +- (void)messageThreadModule:(SBUMessageThreadModuleInput * _Nonnull)inputComponent didPickMultipleFiles:(NSArray * _Nonnull)fileInfoList parentMessage:(SBDBaseMessage * _Nonnull)parentMessage; - (void)messageThreadModule:(SBUMessageThreadModuleInput * _Nonnull)inputComponent didTapSend:(NSString * _Nonnull)text mentionedMessageTemplate:(NSString * _Nonnull)mentionedMessageTemplate mentionedUserIds:(NSArray * _Nonnull)mentionedUserIds parentMessage:(SBDBaseMessage * _Nullable)parentMessage; - (void)messageThreadModule:(SBUMessageThreadModuleInput * _Nonnull)inputComponent didTapEdit:(NSString * _Nonnull)text mentionedMessageTemplate:(NSString * _Nonnull)mentionedMessageTemplate mentionedUserIds:(NSArray * _Nonnull)mentionedUserIds; - (void)messageThreadModule:(SBUMessageThreadModuleInput * _Nonnull)inputComponent willChangeMode:(enum SBUMessageInputMode)mode message:(SBDBaseMessage * _Nullable)message mentionedMessageTemplate:(NSString * _Nonnull)mentionedMessageTemplate mentionedUserIds:(NSArray * _Nonnull)mentionedUserIds; @@ -9381,6 +9685,71 @@ SWIFT_CLASS("_TtC13SendbirdUIKit28SBUModerationsViewController") - (void)showBannedMeberList SWIFT_DEPRECATED_MSG("", "showBannedUserList"); @end +@class SBUMultipleFilesMessageCollectionView; + +/// A message cell that displays a MultipleFilesMessage. +/// since: +/// 3.10.0 +SWIFT_CLASS("_TtC13SendbirdUIKit27SBUMultipleFilesMessageCell") +@interface SBUMultipleFilesMessageCell : SBUContentBaseMessageCell +@property (nonatomic, readonly, strong) SBDMultipleFilesMessage * _Nullable multipleFilesMessage; +/// The view that contains the collectionView. +@property (nonatomic, strong) UIView * _Nonnull containerView; +/// The view that displays multiple images. +@property (nonatomic, strong) SBUMultipleFilesMessageCollectionView * _Nonnull collectionView; +/// The height constraint for the collectionView. +@property (nonatomic, readonly, strong) NSLayoutConstraint * _Null_unspecified collectionViewHeightConstraint; +/// The closure for selection gesture of the specific file at indexPath +@property (nonatomic, copy) void (^ _Nullable fileSelectHandler)(SBDUploadedFileInfo * _Nonnull, NSInteger); +- (void)setupViews; +- (void)setupLayouts; +- (void)setupStyles; +- (void)setupActions; +- (void)setSelected:(BOOL)selected animated:(BOOL)animated; +- (nonnull instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString * _Nullable)reuseIdentifier OBJC_DESIGNATED_INITIALIZER; +- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder OBJC_DESIGNATED_INITIALIZER; +@end + + +@interface SBUMultipleFilesMessageCell (SWIFT_EXTENSION(SendbirdUIKit)) +- (UICollectionViewCell * _Nonnull)collectionView:(UICollectionView * _Nonnull)collectionView cellForItemAtIndexPath:(NSIndexPath * _Nonnull)indexPath SWIFT_WARN_UNUSED_RESULT; +- (NSInteger)collectionView:(UICollectionView * _Nonnull)collectionView numberOfItemsInSection:(NSInteger)section SWIFT_WARN_UNUSED_RESULT; +- (NSInteger)numberOfSectionsInCollectionView:(UICollectionView * _Nonnull)collectionView SWIFT_WARN_UNUSED_RESULT; +- (void)collectionView:(UICollectionView * _Nonnull)collectionView didSelectItemAtIndexPath:(NSIndexPath * _Nonnull)indexPath; +- (CGSize)collectionView:(UICollectionView * _Nonnull)collectionView layout:(UICollectionViewLayout * _Nonnull)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath * _Nonnull)indexPath SWIFT_WARN_UNUSED_RESULT; +- (void)prepareForReuse; +@end + + +/// CollectionView that shows the files of a multiple files message. +/// since: +/// 3.10.0 +SWIFT_CLASS("_TtC13SendbirdUIKit37SBUMultipleFilesMessageCollectionView") +@interface SBUMultipleFilesMessageCollectionView : UICollectionView +- (void)setupViews; +- (void)setupLayouts; +- (void)setupStyles; +- (void)setupActions; +- (void)updateLayouts; +- (void)updateStyles; +- (nonnull instancetype)initWithFrame:(CGRect)frame collectionViewLayout:(UICollectionViewLayout * _Nonnull)layout OBJC_DESIGNATED_INITIALIZER; +- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder OBJC_DESIGNATED_INITIALIZER; +@end + + +/// CollectionView Cell used in SBUMultipleFilesMessageCollectionView to show the files of a multiple files message. +/// since: +/// 3.10.0 +SWIFT_CLASS("_TtC13SendbirdUIKit41SBUMultipleFilesMessageCollectionViewCell") +@interface SBUMultipleFilesMessageCollectionViewCell : SBUCollectionViewCell +- (nonnull instancetype)initWithFrame:(CGRect)frame SWIFT_UNAVAILABLE; +- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER; +- (void)setupViews; +- (void)setupStyles; +- (void)setupLayouts; +- (void)prepareForReuse; +@end + SWIFT_CLASS("_TtC13SendbirdUIKit22SBUNavigationTitleView") @interface SBUNavigationTitleView : SBUView @@ -9543,6 +9912,7 @@ SWIFT_CLASS("_TtC13SendbirdUIKit36SBUOpenChannelContentBaseMessageCell") @interface SBUOpenChannelContentBaseMessageCell : SBUOpenChannelBaseMessageCell @property (nonatomic, strong) UIStackView * _Nonnull baseStackView; @property (nonatomic, strong) UIView * _Nonnull profileView; +@property (nonatomic, strong) UIView * _Nonnull profileBaseView; @property (nonatomic, strong) UIStackView * _Nonnull contentsStackView; @property (nonatomic, strong) UIStackView * _Nonnull infoStackView; @property (nonatomic, strong) UIView * _Nonnull userNameView; @@ -9774,7 +10144,7 @@ SWIFT_CLASS("_TtC13SendbirdUIKit29SBUOpenChannelUserMessageCell") /// A SBUOpenChannelMessageWebView which represents a preview of the web link @property (nonatomic, strong) SBUOpenChannelMessageWebView * _Nonnull webView; /// As a default, the value is the constraint of messageTextView.trailingAnchorand it’s activated when the message has no ogMetaData. -@property (nonatomic, readonly, strong) NSLayoutConstraint * _Null_unspecified messageTypeConstraint; +@property (nonatomic, readonly, strong) NSLayoutConstraint * _Nullable messageTypeConstraint; /// Activated when the message has ogMetaData. @property (nonatomic, readonly, copy) NSArray * _Nonnull webTypeConstraints; - (void)setupViews; @@ -9802,7 +10172,6 @@ SWIFT_CLASS("_TtC13SendbirdUIKit32SBUOpenChannelUnknownMessageCell") @class Input; @class Media; @class SBUOpenChannelViewModel; -@protocol UIViewControllerTransitionCoordinator; SWIFT_CLASS("_TtC13SendbirdUIKit28SBUOpenChannelViewController") @interface SBUOpenChannelViewController : SBUBaseChannelViewController @@ -9867,6 +10236,7 @@ SWIFT_CLASS("_TtC13SendbirdUIKit28SBUOpenChannelViewController") - (void)setupLayouts; - (void)updateLayouts; - (void)setupStyles; +- (void)updateStylesWithNeedsToLayout:(BOOL)needsToLayout; - (void)updateStyles; /// This function updates channel info view. If channelDescription is set, this value is used for channel info view configuring. - (void)updateChannelInfoView; @@ -10041,11 +10411,14 @@ SWIFT_CLASS("_TtC13SendbirdUIKit32SBUParentMessageInfoReactionView") SWIFT_CLASS("_TtC13SendbirdUIKit24SBUParentMessageInfoView") -@interface SBUParentMessageInfoView : UITableViewHeaderFooterView +@interface SBUParentMessageInfoView : SBUView @property (nonatomic) CGRect bounds; @property (nonatomic) CGRect frame; -- (nonnull instancetype)initWithReuseIdentifier:(NSString * _Nullable)reuseIdentifier OBJC_DESIGNATED_INITIALIZER; -- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder SWIFT_UNAVAILABLE_MSG("'init' has been renamed to 'SBUParentMessageInfoView(frame:)'"); +- (void)setupViews; +- (void)setupLayouts; +- (void)updateLayouts; +- (void)setupStyles; +- (void)setupActions; /// Calls the userProfileTapHandler() when the user profile is tapped. /// \param sender tapGestureRecognizer /// @@ -10054,6 +10427,12 @@ SWIFT_CLASS("_TtC13SendbirdUIKit24SBUParentMessageInfoView") /// \param sender tapGestureRecognizer /// - (void)onTapContentViewWithSender:(UITapGestureRecognizer * _Nonnull)sender; +/// Calls the fileSelectHandler() when one of thie files is tapped in parent message that is a multiple files message. +/// since: +/// 3.10.0 +/// \param sender tapGestureRecognizer +/// +- (void)onSelectFileWithSender:(UITapGestureRecognizer * _Nonnull)sender; /// Opens the url when the web page preview area is tapped /// \param sender tapGestureRecognizer /// @@ -10062,6 +10441,16 @@ SWIFT_CLASS("_TtC13SendbirdUIKit24SBUParentMessageInfoView") /// \param sender Sender /// - (void)onTapMoreButton:(id _Nonnull)sender; +- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER; +- (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER; +@end + + +@interface SBUParentMessageInfoView (SWIFT_EXTENSION(SendbirdUIKit)) +- (NSInteger)numberOfSectionsInCollectionView:(UICollectionView * _Nonnull)collectionView SWIFT_WARN_UNUSED_RESULT; +- (NSInteger)collectionView:(UICollectionView * _Nonnull)collectionView numberOfItemsInSection:(NSInteger)section SWIFT_WARN_UNUSED_RESULT; +- (CGSize)collectionView:(UICollectionView * _Nonnull)collectionView layout:(UICollectionViewLayout * _Nonnull)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath * _Nonnull)indexPath SWIFT_WARN_UNUSED_RESULT; +- (UICollectionViewCell * _Nonnull)collectionView:(UICollectionView * _Nonnull)collectionView cellForItemAtIndexPath:(NSIndexPath * _Nonnull)indexPath SWIFT_WARN_UNUSED_RESULT; @end @@ -10692,6 +11081,7 @@ SWIFT_CLASS("_TtC13SendbirdUIKit16SBUVoiceRecorder") + #endif #if defined(__cplusplus) #endif diff --git a/Framework/SendbirdUIKit.xcframework/ios-arm64_x86_64-simulator/SendbirdUIKit.framework/Info.plist b/Framework/SendbirdUIKit.xcframework/ios-arm64_x86_64-simulator/SendbirdUIKit.framework/Info.plist index cf46508d0..fa525682e 100644 Binary files a/Framework/SendbirdUIKit.xcframework/ios-arm64_x86_64-simulator/SendbirdUIKit.framework/Info.plist and b/Framework/SendbirdUIKit.xcframework/ios-arm64_x86_64-simulator/SendbirdUIKit.framework/Info.plist differ diff --git a/Framework/SendbirdUIKit.xcframework/ios-arm64_x86_64-simulator/SendbirdUIKit.framework/Modules/SendbirdUIKit.swiftmodule/arm64-apple-ios-simulator.abi.json b/Framework/SendbirdUIKit.xcframework/ios-arm64_x86_64-simulator/SendbirdUIKit.framework/Modules/SendbirdUIKit.swiftmodule/arm64-apple-ios-simulator.abi.json index 4ac11ae47..1c41e696f 100644 --- a/Framework/SendbirdUIKit.xcframework/ios-arm64_x86_64-simulator/SendbirdUIKit.framework/Modules/SendbirdUIKit.swiftmodule/arm64-apple-ios-simulator.abi.json +++ b/Framework/SendbirdUIKit.xcframework/ios-arm64_x86_64-simulator/SendbirdUIKit.framework/Modules/SendbirdUIKit.swiftmodule/arm64-apple-ios-simulator.abi.json @@ -7076,6 +7076,56 @@ ], "reqNewWitnessTableEntry": true, "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "messageThreadModule", + "printedName": "messageThreadModule(_:didPickMultipleFiles:parentMessage:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Input", + "printedName": "SendbirdUIKit.SBUMessageThreadModule.Input", + "usr": "s:13SendbirdUIKit22SBUMessageThreadModuleC5InputC" + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[SendbirdChatSDK.UploadableFileInfo]", + "children": [ + { + "kind": "TypeNominal", + "name": "UploadableFileInfo", + "printedName": "SendbirdChatSDK.UploadableFileInfo", + "usr": "c:@M@SendbirdChatSDK@objc(cs)SBDUploadableFileInfo" + } + ], + "usr": "s:Sa" + }, + { + "kind": "TypeNominal", + "name": "BaseMessage", + "printedName": "SendbirdChatSDK.BaseMessage", + "usr": "c:@M@SendbirdChatSDK@objc(cs)SBDBaseMessage" + } + ], + "declKind": "Func", + "usr": "s:13SendbirdUIKit35SBUMessageThreadModuleInputDelegateP07messagedE0_20didPickMultipleFiles13parentMessageyAA0cdE0C0F0C_Say0A7ChatSDK18UploadableFileInfoCGAK04BaseN0CtF", + "mangledName": "$s13SendbirdUIKit35SBUMessageThreadModuleInputDelegateP07messagedE0_20didPickMultipleFiles13parentMessageyAA0cdE0C0F0C_Say0A7ChatSDK18UploadableFileInfoCGAK04BaseN0CtF", + "moduleName": "SendbirdUIKit", + "genericSig": "<τ_0_0 where τ_0_0 : SendbirdUIKit.SBUMessageThreadModuleInputDelegate>", + "sugared_genericSig": "", + "protocolReq": true, + "declAttributes": [ + "RawDocComment" + ], + "reqNewWitnessTableEntry": true, + "funcSelfKind": "NonMutating" } ], "declKind": "Protocol", @@ -13909,7 +13959,7 @@ "children": [ { "kind": "TypeNominal", - "name": "ImplicitlyUnwrappedOptional", + "name": "Optional", "printedName": "UIKit.NSLayoutConstraint?", "children": [ { @@ -13942,7 +13992,7 @@ "children": [ { "kind": "TypeNominal", - "name": "ImplicitlyUnwrappedOptional", + "name": "Optional", "printedName": "UIKit.NSLayoutConstraint?", "children": [ { @@ -13971,7 +14021,7 @@ "children": [ { "kind": "TypeNominal", - "name": "ImplicitlyUnwrappedOptional", + "name": "Optional", "printedName": "UIKit.NSLayoutConstraint?", "children": [ { @@ -14004,7 +14054,7 @@ "children": [ { "kind": "TypeNominal", - "name": "ImplicitlyUnwrappedOptional", + "name": "Optional", "printedName": "UIKit.NSLayoutConstraint?", "children": [ { @@ -30468,6 +30518,91 @@ } ] }, + { + "kind": "Var", + "name": "isMultipleFilesMessageEnabled", + "printedName": "isMultipleFilesMessageEnabled", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit9SBUConfigC12GroupChannelC0E0C29isMultipleFilesMessageEnabledSbvp", + "mangledName": "$s13SendbirdUIKit9SBUConfigC12GroupChannelC0E0C29isMultipleFilesMessageEnabledSbvp", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "AccessControl", + "Custom", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit9SBUConfigC12GroupChannelC0E0C29isMultipleFilesMessageEnabledSbvg", + "mangledName": "$s13SendbirdUIKit9SBUConfigC12GroupChannelC0E0C29isMultipleFilesMessageEnabledSbvg", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit9SBUConfigC12GroupChannelC0E0C29isMultipleFilesMessageEnabledSbvs", + "mangledName": "$s13SendbirdUIKit9SBUConfigC12GroupChannelC0E0C29isMultipleFilesMessageEnabledSbvs", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit9SBUConfigC12GroupChannelC0E0C29isMultipleFilesMessageEnabledSbvM", + "mangledName": "$s13SendbirdUIKit9SBUConfigC12GroupChannelC0E0C29isMultipleFilesMessageEnabledSbvM", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, { "kind": "Constructor", "name": "init", @@ -47931,6 +48066,73 @@ } ] }, + { + "kind": "Var", + "name": "multipleFilesMessageCell", + "printedName": "multipleFilesMessageCell", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "SendbirdUIKit.SBUBaseMessageCell?", + "children": [ + { + "kind": "TypeNominal", + "name": "SBUBaseMessageCell", + "printedName": "SendbirdUIKit.SBUBaseMessageCell", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUBaseMessageCell" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit21SBUGroupChannelModuleC4ListC24multipleFilesMessageCellAA07SBUBaseiJ0CSgvp", + "mangledName": "$s13SendbirdUIKit21SBUGroupChannelModuleC4ListC24multipleFilesMessageCellAA07SBUBaseiJ0CSgvp", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "HasInitialValue", + "Custom", + "HasStorage", + "SetterAccess", + "AccessControl", + "RawDocComment", + "ObjC" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "SendbirdUIKit.SBUBaseMessageCell?", + "children": [ + { + "kind": "TypeNominal", + "name": "SBUBaseMessageCell", + "printedName": "SendbirdUIKit.SBUBaseMessageCell", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUBaseMessageCell" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit21SBUGroupChannelModuleC4ListC24multipleFilesMessageCellAA07SBUBaseiJ0CSgvg", + "mangledName": "$s13SendbirdUIKit21SBUGroupChannelModuleC4ListC24multipleFilesMessageCellAA07SBUBaseiJ0CSgvg", + "moduleName": "SendbirdUIKit", + "implicit": true, + "declAttributes": [ + "ObjC" + ], + "accessorKind": "get" + } + ] + }, { "kind": "Var", "name": "unknownMessageCell", @@ -49021,6 +49223,51 @@ ], "funcSelfKind": "NonMutating" }, + { + "kind": "Function", + "name": "register", + "printedName": "register(multipleFilesMessageCell:nib:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "SBUBaseMessageCell", + "printedName": "SendbirdUIKit.SBUBaseMessageCell", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUBaseMessageCell" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "UIKit.UINib?", + "children": [ + { + "kind": "TypeNominal", + "name": "UINib", + "printedName": "UIKit.UINib", + "usr": "c:objc(cs)UINib" + } + ], + "hasDefaultArg": true, + "usr": "s:Sq" + } + ], + "declKind": "Func", + "usr": "s:13SendbirdUIKit21SBUGroupChannelModuleC4ListC8register24multipleFilesMessageCell3nibyAA07SBUBasejK0C_So5UINibCSgtF", + "mangledName": "$s13SendbirdUIKit21SBUGroupChannelModuleC4ListC8register24multipleFilesMessageCell3nibyAA07SBUBasejK0C_So5UINibCSgtF", + "moduleName": "SendbirdUIKit", + "isOpen": true, + "declAttributes": [ + "Custom", + "AccessControl", + "RawDocComment", + "ObjC" + ], + "funcSelfKind": "NonMutating" + }, { "kind": "Function", "name": "register", @@ -50688,6 +50935,46 @@ ], "funcSelfKind": "NonMutating" }, + { + "kind": "Function", + "name": "pickMultipleImageFiles", + "printedName": "pickMultipleImageFiles(itemProviders:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Foundation.NSItemProvider]", + "children": [ + { + "kind": "TypeNominal", + "name": "NSItemProvider", + "printedName": "Foundation.NSItemProvider", + "usr": "c:objc(cs)NSItemProvider" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Func", + "usr": "s:13SendbirdUIKit21SBUGroupChannelModuleC5InputC22pickMultipleImageFiles13itemProvidersySaySo14NSItemProviderCG_tF", + "mangledName": "$s13SendbirdUIKit21SBUGroupChannelModuleC5InputC22pickMultipleImageFiles13itemProvidersySaySo14NSItemProviderCG_tF", + "moduleName": "SendbirdUIKit", + "isOpen": true, + "intro_iOS": "14.0", + "declAttributes": [ + "Custom", + "AccessControl", + "Available", + "RawDocComment", + "ObjC" + ], + "funcSelfKind": "NonMutating" + }, { "kind": "Function", "name": "pickImageFile", @@ -57227,6 +57514,36 @@ ], "funcSelfKind": "NonMutating" }, + { + "kind": "Function", + "name": "getFileTypeString", + "printedName": "getFileTypeString(by:)", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Func", + "usr": "s:13SendbirdUIKit8SBUUtilsC17getFileTypeString2byS2S_tFZ", + "mangledName": "$s13SendbirdUIKit8SBUUtilsC17getFileTypeString2byS2S_tFZ", + "moduleName": "SendbirdUIKit", + "static": true, + "declAttributes": [ + "Final", + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, { "kind": "Function", "name": "generateChannelName", @@ -60248,19 +60565,32 @@ }, { "kind": "Var", - "name": "Alert_Allow_Camera_Access", - "printedName": "Alert_Allow_Camera_Access", + "name": "Alert_Delete_MultipleFilesMessage", + "printedName": "Alert_Delete_MultipleFilesMessage", "children": [ { - "kind": "TypeNominal", - "name": "String", - "printedName": "Swift.String", - "usr": "s:SS" + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Swift.Int) -> Swift.String", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ] } ], "declKind": "Var", - "usr": "s:13SendbirdUIKit12SBUStringSetC25Alert_Allow_Camera_AccessSSvpZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC25Alert_Allow_Camera_AccessSSvpZ", + "usr": "s:13SendbirdUIKit12SBUStringSetC33Alert_Delete_MultipleFilesMessageySSSicvpZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC33Alert_Delete_MultipleFilesMessageySSSicvpZ", "moduleName": "SendbirdUIKit", "static": true, "declAttributes": [ @@ -60277,15 +60607,28 @@ "printedName": "Get()", "children": [ { - "kind": "TypeNominal", - "name": "String", - "printedName": "Swift.String", - "usr": "s:SS" + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Swift.Int) -> Swift.String", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ] } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit12SBUStringSetC25Alert_Allow_Camera_AccessSSvgZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC25Alert_Allow_Camera_AccessSSvgZ", + "usr": "s:13SendbirdUIKit12SBUStringSetC33Alert_Delete_MultipleFilesMessageySSSicvgZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC33Alert_Delete_MultipleFilesMessageySSSicvgZ", "moduleName": "SendbirdUIKit", "static": true, "implicit": true, @@ -60305,15 +60648,28 @@ "printedName": "()" }, { - "kind": "TypeNominal", - "name": "String", - "printedName": "Swift.String", - "usr": "s:SS" + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Swift.Int) -> Swift.String", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ] } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit12SBUStringSetC25Alert_Allow_Camera_AccessSSvsZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC25Alert_Allow_Camera_AccessSSvsZ", + "usr": "s:13SendbirdUIKit12SBUStringSetC33Alert_Delete_MultipleFilesMessageySSSicvsZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC33Alert_Delete_MultipleFilesMessageySSSicvsZ", "moduleName": "SendbirdUIKit", "static": true, "implicit": true, @@ -60334,8 +60690,8 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit12SBUStringSetC25Alert_Allow_Camera_AccessSSvMZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC25Alert_Allow_Camera_AccessSSvMZ", + "usr": "s:13SendbirdUIKit12SBUStringSetC33Alert_Delete_MultipleFilesMessageySSSicvMZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC33Alert_Delete_MultipleFilesMessageySSSicvMZ", "moduleName": "SendbirdUIKit", "static": true, "implicit": true, @@ -60348,8 +60704,8 @@ }, { "kind": "Var", - "name": "Alert_Allow_PhotoLibrary_Access", - "printedName": "Alert_Allow_PhotoLibrary_Access", + "name": "Alert_Allow_Camera_Access", + "printedName": "Alert_Allow_Camera_Access", "children": [ { "kind": "TypeNominal", @@ -60359,8 +60715,8 @@ } ], "declKind": "Var", - "usr": "s:13SendbirdUIKit12SBUStringSetC31Alert_Allow_PhotoLibrary_AccessSSvpZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC31Alert_Allow_PhotoLibrary_AccessSSvpZ", + "usr": "s:13SendbirdUIKit12SBUStringSetC25Alert_Allow_Camera_AccessSSvpZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC25Alert_Allow_Camera_AccessSSvpZ", "moduleName": "SendbirdUIKit", "static": true, "declAttributes": [ @@ -60384,8 +60740,8 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit12SBUStringSetC31Alert_Allow_PhotoLibrary_AccessSSvgZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC31Alert_Allow_PhotoLibrary_AccessSSvgZ", + "usr": "s:13SendbirdUIKit12SBUStringSetC25Alert_Allow_Camera_AccessSSvgZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC25Alert_Allow_Camera_AccessSSvgZ", "moduleName": "SendbirdUIKit", "static": true, "implicit": true, @@ -60412,8 +60768,8 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit12SBUStringSetC31Alert_Allow_PhotoLibrary_AccessSSvsZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC31Alert_Allow_PhotoLibrary_AccessSSvsZ", + "usr": "s:13SendbirdUIKit12SBUStringSetC25Alert_Allow_Camera_AccessSSvsZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC25Alert_Allow_Camera_AccessSSvsZ", "moduleName": "SendbirdUIKit", "static": true, "implicit": true, @@ -60434,8 +60790,8 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit12SBUStringSetC31Alert_Allow_PhotoLibrary_AccessSSvMZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC31Alert_Allow_PhotoLibrary_AccessSSvMZ", + "usr": "s:13SendbirdUIKit12SBUStringSetC25Alert_Allow_Camera_AccessSSvMZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC25Alert_Allow_Camera_AccessSSvMZ", "moduleName": "SendbirdUIKit", "static": true, "implicit": true, @@ -60448,8 +60804,8 @@ }, { "kind": "Var", - "name": "Alert_Allow_PhotoLibrary_Access_Message", - "printedName": "Alert_Allow_PhotoLibrary_Access_Message", + "name": "Alert_Allow_PhotoLibrary_Access", + "printedName": "Alert_Allow_PhotoLibrary_Access", "children": [ { "kind": "TypeNominal", @@ -60459,8 +60815,8 @@ } ], "declKind": "Var", - "usr": "s:13SendbirdUIKit12SBUStringSetC39Alert_Allow_PhotoLibrary_Access_MessageSSvpZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC39Alert_Allow_PhotoLibrary_Access_MessageSSvpZ", + "usr": "s:13SendbirdUIKit12SBUStringSetC31Alert_Allow_PhotoLibrary_AccessSSvpZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC31Alert_Allow_PhotoLibrary_AccessSSvpZ", "moduleName": "SendbirdUIKit", "static": true, "declAttributes": [ @@ -60484,8 +60840,8 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit12SBUStringSetC39Alert_Allow_PhotoLibrary_Access_MessageSSvgZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC39Alert_Allow_PhotoLibrary_Access_MessageSSvgZ", + "usr": "s:13SendbirdUIKit12SBUStringSetC31Alert_Allow_PhotoLibrary_AccessSSvgZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC31Alert_Allow_PhotoLibrary_AccessSSvgZ", "moduleName": "SendbirdUIKit", "static": true, "implicit": true, @@ -60512,8 +60868,8 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit12SBUStringSetC39Alert_Allow_PhotoLibrary_Access_MessageSSvsZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC39Alert_Allow_PhotoLibrary_Access_MessageSSvsZ", + "usr": "s:13SendbirdUIKit12SBUStringSetC31Alert_Allow_PhotoLibrary_AccessSSvsZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC31Alert_Allow_PhotoLibrary_AccessSSvsZ", "moduleName": "SendbirdUIKit", "static": true, "implicit": true, @@ -60534,8 +60890,8 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit12SBUStringSetC39Alert_Allow_PhotoLibrary_Access_MessageSSvMZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC39Alert_Allow_PhotoLibrary_Access_MessageSSvMZ", + "usr": "s:13SendbirdUIKit12SBUStringSetC31Alert_Allow_PhotoLibrary_AccessSSvMZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC31Alert_Allow_PhotoLibrary_AccessSSvMZ", "moduleName": "SendbirdUIKit", "static": true, "implicit": true, @@ -60548,8 +60904,8 @@ }, { "kind": "Var", - "name": "Alert_Allow_Microphone_Access", - "printedName": "Alert_Allow_Microphone_Access", + "name": "Alert_Allow_PhotoLibrary_Access_Message", + "printedName": "Alert_Allow_PhotoLibrary_Access_Message", "children": [ { "kind": "TypeNominal", @@ -60559,16 +60915,15 @@ } ], "declKind": "Var", - "usr": "s:13SendbirdUIKit12SBUStringSetC29Alert_Allow_Microphone_AccessSSvpZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC29Alert_Allow_Microphone_AccessSSvpZ", + "usr": "s:13SendbirdUIKit12SBUStringSetC39Alert_Allow_PhotoLibrary_Access_MessageSSvpZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC39Alert_Allow_PhotoLibrary_Access_MessageSSvpZ", "moduleName": "SendbirdUIKit", "static": true, "declAttributes": [ "HasInitialValue", "Final", "HasStorage", - "AccessControl", - "RawDocComment" + "AccessControl" ], "hasStorage": true, "accessors": [ @@ -60585,8 +60940,8 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit12SBUStringSetC29Alert_Allow_Microphone_AccessSSvgZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC29Alert_Allow_Microphone_AccessSSvgZ", + "usr": "s:13SendbirdUIKit12SBUStringSetC39Alert_Allow_PhotoLibrary_Access_MessageSSvgZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC39Alert_Allow_PhotoLibrary_Access_MessageSSvgZ", "moduleName": "SendbirdUIKit", "static": true, "implicit": true, @@ -60613,8 +60968,8 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit12SBUStringSetC29Alert_Allow_Microphone_AccessSSvsZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC29Alert_Allow_Microphone_AccessSSvsZ", + "usr": "s:13SendbirdUIKit12SBUStringSetC39Alert_Allow_PhotoLibrary_Access_MessageSSvsZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC39Alert_Allow_PhotoLibrary_Access_MessageSSvsZ", "moduleName": "SendbirdUIKit", "static": true, "implicit": true, @@ -60635,8 +60990,8 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit12SBUStringSetC29Alert_Allow_Microphone_AccessSSvMZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC29Alert_Allow_Microphone_AccessSSvMZ", + "usr": "s:13SendbirdUIKit12SBUStringSetC39Alert_Allow_PhotoLibrary_Access_MessageSSvMZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC39Alert_Allow_PhotoLibrary_Access_MessageSSvMZ", "moduleName": "SendbirdUIKit", "static": true, "implicit": true, @@ -60649,8 +61004,8 @@ }, { "kind": "Var", - "name": "Date_Yesterday", - "printedName": "Date_Yesterday", + "name": "Alert_Allow_Microphone_Access", + "printedName": "Alert_Allow_Microphone_Access", "children": [ { "kind": "TypeNominal", @@ -60660,8 +61015,8 @@ } ], "declKind": "Var", - "usr": "s:13SendbirdUIKit12SBUStringSetC14Date_YesterdaySSvpZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC14Date_YesterdaySSvpZ", + "usr": "s:13SendbirdUIKit12SBUStringSetC29Alert_Allow_Microphone_AccessSSvpZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC29Alert_Allow_Microphone_AccessSSvpZ", "moduleName": "SendbirdUIKit", "static": true, "declAttributes": [ @@ -60686,8 +61041,8 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit12SBUStringSetC14Date_YesterdaySSvgZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC14Date_YesterdaySSvgZ", + "usr": "s:13SendbirdUIKit12SBUStringSetC29Alert_Allow_Microphone_AccessSSvgZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC29Alert_Allow_Microphone_AccessSSvgZ", "moduleName": "SendbirdUIKit", "static": true, "implicit": true, @@ -60714,8 +61069,8 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit12SBUStringSetC14Date_YesterdaySSvsZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC14Date_YesterdaySSvsZ", + "usr": "s:13SendbirdUIKit12SBUStringSetC29Alert_Allow_Microphone_AccessSSvsZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC29Alert_Allow_Microphone_AccessSSvsZ", "moduleName": "SendbirdUIKit", "static": true, "implicit": true, @@ -60736,8 +61091,8 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit12SBUStringSetC14Date_YesterdaySSvMZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC14Date_YesterdaySSvMZ", + "usr": "s:13SendbirdUIKit12SBUStringSetC29Alert_Allow_Microphone_AccessSSvMZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC29Alert_Allow_Microphone_AccessSSvMZ", "moduleName": "SendbirdUIKit", "static": true, "implicit": true, @@ -60750,39 +61105,27 @@ }, { "kind": "Var", - "name": "Date_Year", - "printedName": "Date_Year", + "name": "Date_Yesterday", + "printedName": "Date_Yesterday", "children": [ { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(Swift.Int) -> Swift.String", - "children": [ - { - "kind": "TypeNominal", - "name": "String", - "printedName": "Swift.String", - "usr": "s:SS" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ] + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" } ], "declKind": "Var", - "usr": "s:13SendbirdUIKit12SBUStringSetC9Date_YearySSSicvpZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC9Date_YearySSSicvpZ", + "usr": "s:13SendbirdUIKit12SBUStringSetC14Date_YesterdaySSvpZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC14Date_YesterdaySSvpZ", "moduleName": "SendbirdUIKit", "static": true, "declAttributes": [ "HasInitialValue", "Final", "HasStorage", - "AccessControl" + "AccessControl", + "RawDocComment" ], "hasStorage": true, "accessors": [ @@ -60792,28 +61135,15 @@ "printedName": "Get()", "children": [ { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(Swift.Int) -> Swift.String", - "children": [ - { - "kind": "TypeNominal", - "name": "String", - "printedName": "Swift.String", - "usr": "s:SS" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ] + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit12SBUStringSetC9Date_YearySSSicvgZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC9Date_YearySSSicvgZ", + "usr": "s:13SendbirdUIKit12SBUStringSetC14Date_YesterdaySSvgZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC14Date_YesterdaySSvgZ", "moduleName": "SendbirdUIKit", "static": true, "implicit": true, @@ -60833,28 +61163,15 @@ "printedName": "()" }, { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(Swift.Int) -> Swift.String", - "children": [ - { - "kind": "TypeNominal", - "name": "String", - "printedName": "Swift.String", - "usr": "s:SS" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ] + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit12SBUStringSetC9Date_YearySSSicvsZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC9Date_YearySSSicvsZ", + "usr": "s:13SendbirdUIKit12SBUStringSetC14Date_YesterdaySSvsZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC14Date_YesterdaySSvsZ", "moduleName": "SendbirdUIKit", "static": true, "implicit": true, @@ -60875,8 +61192,8 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit12SBUStringSetC9Date_YearySSSicvMZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC9Date_YearySSSicvMZ", + "usr": "s:13SendbirdUIKit12SBUStringSetC14Date_YesterdaySSvMZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC14Date_YesterdaySSvMZ", "moduleName": "SendbirdUIKit", "static": true, "implicit": true, @@ -60889,8 +61206,8 @@ }, { "kind": "Var", - "name": "Date_Day", - "printedName": "Date_Day", + "name": "Date_Year", + "printedName": "Date_Year", "children": [ { "kind": "TypeFunc", @@ -60913,8 +61230,8 @@ } ], "declKind": "Var", - "usr": "s:13SendbirdUIKit12SBUStringSetC8Date_DayySSSicvpZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC8Date_DayySSSicvpZ", + "usr": "s:13SendbirdUIKit12SBUStringSetC9Date_YearySSSicvpZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC9Date_YearySSSicvpZ", "moduleName": "SendbirdUIKit", "static": true, "declAttributes": [ @@ -60951,8 +61268,8 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit12SBUStringSetC8Date_DayySSSicvgZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC8Date_DayySSSicvgZ", + "usr": "s:13SendbirdUIKit12SBUStringSetC9Date_YearySSSicvgZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC9Date_YearySSSicvgZ", "moduleName": "SendbirdUIKit", "static": true, "implicit": true, @@ -60992,8 +61309,8 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit12SBUStringSetC8Date_DayySSSicvsZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC8Date_DayySSSicvsZ", + "usr": "s:13SendbirdUIKit12SBUStringSetC9Date_YearySSSicvsZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC9Date_YearySSSicvsZ", "moduleName": "SendbirdUIKit", "static": true, "implicit": true, @@ -61014,8 +61331,8 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit12SBUStringSetC8Date_DayySSSicvMZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC8Date_DayySSSicvMZ", + "usr": "s:13SendbirdUIKit12SBUStringSetC9Date_YearySSSicvMZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC9Date_YearySSSicvMZ", "moduleName": "SendbirdUIKit", "static": true, "implicit": true, @@ -61028,8 +61345,8 @@ }, { "kind": "Var", - "name": "Date_Month", - "printedName": "Date_Month", + "name": "Date_Day", + "printedName": "Date_Day", "children": [ { "kind": "TypeFunc", @@ -61052,8 +61369,8 @@ } ], "declKind": "Var", - "usr": "s:13SendbirdUIKit12SBUStringSetC10Date_MonthySSSicvpZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC10Date_MonthySSSicvpZ", + "usr": "s:13SendbirdUIKit12SBUStringSetC8Date_DayySSSicvpZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC8Date_DayySSSicvpZ", "moduleName": "SendbirdUIKit", "static": true, "declAttributes": [ @@ -61090,8 +61407,8 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit12SBUStringSetC10Date_MonthySSSicvgZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC10Date_MonthySSSicvgZ", + "usr": "s:13SendbirdUIKit12SBUStringSetC8Date_DayySSSicvgZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC8Date_DayySSSicvgZ", "moduleName": "SendbirdUIKit", "static": true, "implicit": true, @@ -61131,8 +61448,8 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit12SBUStringSetC10Date_MonthySSSicvsZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC10Date_MonthySSSicvsZ", + "usr": "s:13SendbirdUIKit12SBUStringSetC8Date_DayySSSicvsZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC8Date_DayySSSicvsZ", "moduleName": "SendbirdUIKit", "static": true, "implicit": true, @@ -61153,8 +61470,8 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit12SBUStringSetC10Date_MonthySSSicvMZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC10Date_MonthySSSicvMZ", + "usr": "s:13SendbirdUIKit12SBUStringSetC8Date_DayySSSicvMZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC8Date_DayySSSicvMZ", "moduleName": "SendbirdUIKit", "static": true, "implicit": true, @@ -61167,8 +61484,8 @@ }, { "kind": "Var", - "name": "Date_Hour", - "printedName": "Date_Hour", + "name": "Date_Month", + "printedName": "Date_Month", "children": [ { "kind": "TypeFunc", @@ -61191,8 +61508,8 @@ } ], "declKind": "Var", - "usr": "s:13SendbirdUIKit12SBUStringSetC9Date_HourySSSicvpZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC9Date_HourySSSicvpZ", + "usr": "s:13SendbirdUIKit12SBUStringSetC10Date_MonthySSSicvpZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC10Date_MonthySSSicvpZ", "moduleName": "SendbirdUIKit", "static": true, "declAttributes": [ @@ -61229,8 +61546,8 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit12SBUStringSetC9Date_HourySSSicvgZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC9Date_HourySSSicvgZ", + "usr": "s:13SendbirdUIKit12SBUStringSetC10Date_MonthySSSicvgZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC10Date_MonthySSSicvgZ", "moduleName": "SendbirdUIKit", "static": true, "implicit": true, @@ -61270,8 +61587,8 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit12SBUStringSetC9Date_HourySSSicvsZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC9Date_HourySSSicvsZ", + "usr": "s:13SendbirdUIKit12SBUStringSetC10Date_MonthySSSicvsZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC10Date_MonthySSSicvsZ", "moduleName": "SendbirdUIKit", "static": true, "implicit": true, @@ -61292,8 +61609,8 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit12SBUStringSetC9Date_HourySSSicvMZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC9Date_HourySSSicvMZ", + "usr": "s:13SendbirdUIKit12SBUStringSetC10Date_MonthySSSicvMZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC10Date_MonthySSSicvMZ", "moduleName": "SendbirdUIKit", "static": true, "implicit": true, @@ -61306,8 +61623,8 @@ }, { "kind": "Var", - "name": "Date_Min", - "printedName": "Date_Min", + "name": "Date_Hour", + "printedName": "Date_Hour", "children": [ { "kind": "TypeFunc", @@ -61330,8 +61647,8 @@ } ], "declKind": "Var", - "usr": "s:13SendbirdUIKit12SBUStringSetC8Date_MinySSSicvpZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC8Date_MinySSSicvpZ", + "usr": "s:13SendbirdUIKit12SBUStringSetC9Date_HourySSSicvpZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC9Date_HourySSSicvpZ", "moduleName": "SendbirdUIKit", "static": true, "declAttributes": [ @@ -61368,8 +61685,8 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit12SBUStringSetC8Date_MinySSSicvgZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC8Date_MinySSSicvgZ", + "usr": "s:13SendbirdUIKit12SBUStringSetC9Date_HourySSSicvgZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC9Date_HourySSSicvgZ", "moduleName": "SendbirdUIKit", "static": true, "implicit": true, @@ -61409,8 +61726,8 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit12SBUStringSetC8Date_MinySSSicvsZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC8Date_MinySSSicvsZ", + "usr": "s:13SendbirdUIKit12SBUStringSetC9Date_HourySSSicvsZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC9Date_HourySSSicvsZ", "moduleName": "SendbirdUIKit", "static": true, "implicit": true, @@ -61431,8 +61748,8 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit12SBUStringSetC8Date_MinySSSicvMZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC8Date_MinySSSicvMZ", + "usr": "s:13SendbirdUIKit12SBUStringSetC9Date_HourySSSicvMZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC9Date_HourySSSicvMZ", "moduleName": "SendbirdUIKit", "static": true, "implicit": true, @@ -61445,119 +61762,32 @@ }, { "kind": "Var", - "name": "Date_Ago", - "printedName": "Date_Ago", + "name": "Date_Min", + "printedName": "Date_Min", "children": [ { - "kind": "TypeNominal", - "name": "String", - "printedName": "Swift.String", - "usr": "s:SS" - } - ], - "declKind": "Var", - "usr": "s:13SendbirdUIKit12SBUStringSetC8Date_AgoSSvpZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC8Date_AgoSSvpZ", - "moduleName": "SendbirdUIKit", - "static": true, - "declAttributes": [ - "HasInitialValue", - "Final", - "HasStorage", - "AccessControl" - ], - "hasStorage": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Swift.Int) -> Swift.String", "children": [ { "kind": "TypeNominal", "name": "String", "printedName": "Swift.String", "usr": "s:SS" - } - ], - "declKind": "Accessor", - "usr": "s:13SendbirdUIKit12SBUStringSetC8Date_AgoSSvgZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC8Date_AgoSSvgZ", - "moduleName": "SendbirdUIKit", - "static": true, - "implicit": true, - "declAttributes": [ - "Final" - ], - "accessorKind": "get" - }, - { - "kind": "Accessor", - "name": "Set", - "printedName": "Set()", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" }, { "kind": "TypeNominal", - "name": "String", - "printedName": "Swift.String", - "usr": "s:SS" - } - ], - "declKind": "Accessor", - "usr": "s:13SendbirdUIKit12SBUStringSetC8Date_AgoSSvsZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC8Date_AgoSSvsZ", - "moduleName": "SendbirdUIKit", - "static": true, - "implicit": true, - "declAttributes": [ - "Final" - ], - "accessorKind": "set" - }, - { - "kind": "Accessor", - "name": "Modify", - "printedName": "Modify()", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" } - ], - "declKind": "Accessor", - "usr": "s:13SendbirdUIKit12SBUStringSetC8Date_AgoSSvMZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC8Date_AgoSSvMZ", - "moduleName": "SendbirdUIKit", - "static": true, - "implicit": true, - "declAttributes": [ - "Final" - ], - "accessorKind": "_modify" - } - ] - }, - { - "kind": "Var", - "name": "Date_On", - "printedName": "Date_On", - "children": [ - { - "kind": "TypeNominal", - "name": "String", - "printedName": "Swift.String", - "usr": "s:SS" + ] } ], "declKind": "Var", - "usr": "s:13SendbirdUIKit12SBUStringSetC7Date_OnSSvpZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC7Date_OnSSvpZ", + "usr": "s:13SendbirdUIKit12SBUStringSetC8Date_MinySSSicvpZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC8Date_MinySSSicvpZ", "moduleName": "SendbirdUIKit", "static": true, "declAttributes": [ @@ -61574,15 +61804,28 @@ "printedName": "Get()", "children": [ { - "kind": "TypeNominal", - "name": "String", - "printedName": "Swift.String", - "usr": "s:SS" + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Swift.Int) -> Swift.String", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ] } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit12SBUStringSetC7Date_OnSSvgZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC7Date_OnSSvgZ", + "usr": "s:13SendbirdUIKit12SBUStringSetC8Date_MinySSSicvgZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC8Date_MinySSSicvgZ", "moduleName": "SendbirdUIKit", "static": true, "implicit": true, @@ -61602,15 +61845,28 @@ "printedName": "()" }, { - "kind": "TypeNominal", - "name": "String", - "printedName": "Swift.String", - "usr": "s:SS" + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Swift.Int) -> Swift.String", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ] } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit12SBUStringSetC7Date_OnSSvsZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC7Date_OnSSvsZ", + "usr": "s:13SendbirdUIKit12SBUStringSetC8Date_MinySSSicvsZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC8Date_MinySSSicvsZ", "moduleName": "SendbirdUIKit", "static": true, "implicit": true, @@ -61631,8 +61887,8 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit12SBUStringSetC7Date_OnSSvMZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC7Date_OnSSvMZ", + "usr": "s:13SendbirdUIKit12SBUStringSetC8Date_MinySSSicvMZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC8Date_MinySSSicvMZ", "moduleName": "SendbirdUIKit", "static": true, "implicit": true, @@ -61645,8 +61901,8 @@ }, { "kind": "Var", - "name": "ChannelList_Header_Title", - "printedName": "ChannelList_Header_Title", + "name": "Date_Ago", + "printedName": "Date_Ago", "children": [ { "kind": "TypeNominal", @@ -61656,16 +61912,15 @@ } ], "declKind": "Var", - "usr": "s:13SendbirdUIKit12SBUStringSetC24ChannelList_Header_TitleSSvpZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC24ChannelList_Header_TitleSSvpZ", + "usr": "s:13SendbirdUIKit12SBUStringSetC8Date_AgoSSvpZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC8Date_AgoSSvpZ", "moduleName": "SendbirdUIKit", "static": true, "declAttributes": [ "HasInitialValue", "Final", "HasStorage", - "AccessControl", - "RawDocComment" + "AccessControl" ], "hasStorage": true, "accessors": [ @@ -61682,8 +61937,8 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit12SBUStringSetC24ChannelList_Header_TitleSSvgZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC24ChannelList_Header_TitleSSvgZ", + "usr": "s:13SendbirdUIKit12SBUStringSetC8Date_AgoSSvgZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC8Date_AgoSSvgZ", "moduleName": "SendbirdUIKit", "static": true, "implicit": true, @@ -61710,8 +61965,8 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit12SBUStringSetC24ChannelList_Header_TitleSSvsZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC24ChannelList_Header_TitleSSvsZ", + "usr": "s:13SendbirdUIKit12SBUStringSetC8Date_AgoSSvsZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC8Date_AgoSSvsZ", "moduleName": "SendbirdUIKit", "static": true, "implicit": true, @@ -61732,8 +61987,8 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit12SBUStringSetC24ChannelList_Header_TitleSSvMZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC24ChannelList_Header_TitleSSvMZ", + "usr": "s:13SendbirdUIKit12SBUStringSetC8Date_AgoSSvMZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC8Date_AgoSSvMZ", "moduleName": "SendbirdUIKit", "static": true, "implicit": true, @@ -61746,8 +62001,8 @@ }, { "kind": "Var", - "name": "ChannelList_Last_File_Message", - "printedName": "ChannelList_Last_File_Message", + "name": "Date_On", + "printedName": "Date_On", "children": [ { "kind": "TypeNominal", @@ -61757,8 +62012,209 @@ } ], "declKind": "Var", - "usr": "s:13SendbirdUIKit12SBUStringSetC29ChannelList_Last_File_MessageSSvpZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC29ChannelList_Last_File_MessageSSvpZ", + "usr": "s:13SendbirdUIKit12SBUStringSetC7Date_OnSSvpZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC7Date_OnSSvpZ", + "moduleName": "SendbirdUIKit", + "static": true, + "declAttributes": [ + "HasInitialValue", + "Final", + "HasStorage", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit12SBUStringSetC7Date_OnSSvgZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC7Date_OnSSvgZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "declAttributes": [ + "Final" + ], + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit12SBUStringSetC7Date_OnSSvsZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC7Date_OnSSvsZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "declAttributes": [ + "Final" + ], + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit12SBUStringSetC7Date_OnSSvMZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC7Date_OnSSvMZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "declAttributes": [ + "Final" + ], + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "ChannelList_Header_Title", + "printedName": "ChannelList_Header_Title", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit12SBUStringSetC24ChannelList_Header_TitleSSvpZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC24ChannelList_Header_TitleSSvpZ", + "moduleName": "SendbirdUIKit", + "static": true, + "declAttributes": [ + "HasInitialValue", + "Final", + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit12SBUStringSetC24ChannelList_Header_TitleSSvgZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC24ChannelList_Header_TitleSSvgZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "declAttributes": [ + "Final" + ], + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit12SBUStringSetC24ChannelList_Header_TitleSSvsZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC24ChannelList_Header_TitleSSvsZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "declAttributes": [ + "Final" + ], + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit12SBUStringSetC24ChannelList_Header_TitleSSvMZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC24ChannelList_Header_TitleSSvMZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "declAttributes": [ + "Final" + ], + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "ChannelList_Last_File_Message", + "printedName": "ChannelList_Last_File_Message", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit12SBUStringSetC29ChannelList_Last_File_MessageSSvpZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC29ChannelList_Last_File_MessageSSvpZ", "moduleName": "SendbirdUIKit", "static": true, "declAttributes": [ @@ -74818,6 +75274,784 @@ "RawDocComment" ] }, + { + "kind": "TypeDecl", + "name": "GroupChannel", + "printedName": "GroupChannel", + "children": [ + { + "kind": "TypeDecl", + "name": "Preview", + "printedName": "Preview", + "children": [ + { + "kind": "Var", + "name": "photo", + "printedName": "photo", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV5photoSSvpZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV5photoSSvpZ", + "moduleName": "SendbirdUIKit", + "static": true, + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV5photoSSvgZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV5photoSSvgZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV5photoSSvsZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV5photoSSvsZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV5photoSSvMZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV5photoSSvMZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "gif", + "printedName": "gif", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV3gifSSvpZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV3gifSSvpZ", + "moduleName": "SendbirdUIKit", + "static": true, + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV3gifSSvgZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV3gifSSvgZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV3gifSSvsZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV3gifSSvsZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV3gifSSvMZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV3gifSSvMZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "video", + "printedName": "video", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV5videoSSvpZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV5videoSSvpZ", + "moduleName": "SendbirdUIKit", + "static": true, + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV5videoSSvgZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV5videoSSvgZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV5videoSSvsZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV5videoSSvsZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV5videoSSvMZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV5videoSSvMZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "audio", + "printedName": "audio", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV5audioSSvpZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV5audioSSvpZ", + "moduleName": "SendbirdUIKit", + "static": true, + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV5audioSSvgZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV5audioSSvgZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV5audioSSvsZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV5audioSSvsZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV5audioSSvMZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV5audioSSvMZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "voice", + "printedName": "voice", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV5voiceSSvpZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV5voiceSSvpZ", + "moduleName": "SendbirdUIKit", + "static": true, + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV5voiceSSvgZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV5voiceSSvgZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV5voiceSSvsZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV5voiceSSvsZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV5voiceSSvMZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV5voiceSSvMZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "file", + "printedName": "file", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV4fileSSvpZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV4fileSSvpZ", + "moduleName": "SendbirdUIKit", + "static": true, + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV4fileSSvgZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV4fileSSvgZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV4fileSSvsZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV4fileSSvsZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV4fileSSvMZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV4fileSSvMZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "multipleFiles", + "printedName": "multipleFiles", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV13multipleFilesSSvpZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV13multipleFilesSSvpZ", + "moduleName": "SendbirdUIKit", + "static": true, + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV13multipleFilesSSvgZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV13multipleFilesSSvgZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV13multipleFilesSSvsZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV13multipleFilesSSvsZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV13multipleFilesSSvMZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV13multipleFilesSSvMZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "accessorKind": "_modify" + } + ] + } + ], + "declKind": "Struct", + "usr": "s:13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "AccessControl" + ] + } + ], + "declKind": "Struct", + "usr": "s:13SendbirdUIKit12SBUStringSetC12GroupChannelV", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC12GroupChannelV", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ] + }, + { + "kind": "TypeDecl", + "name": "FileUpload", + "printedName": "FileUpload", + "children": [ + { + "kind": "TypeDecl", + "name": "Error", + "printedName": "Error", + "children": [ + { + "kind": "Var", + "name": "exceededSizeLimit", + "printedName": "exceededSizeLimit", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit12SBUStringSetC10FileUploadV5ErrorV17exceededSizeLimitSSvpZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC10FileUploadV5ErrorV17exceededSizeLimitSSvpZ", + "moduleName": "SendbirdUIKit", + "static": true, + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit12SBUStringSetC10FileUploadV5ErrorV17exceededSizeLimitSSvgZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC10FileUploadV5ErrorV17exceededSizeLimitSSvgZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit12SBUStringSetC10FileUploadV5ErrorV17exceededSizeLimitSSvsZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC10FileUploadV5ErrorV17exceededSizeLimitSSvsZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit12SBUStringSetC10FileUploadV5ErrorV17exceededSizeLimitSSvMZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC10FileUploadV5ErrorV17exceededSizeLimitSSvMZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "accessorKind": "_modify" + } + ] + } + ], + "declKind": "Struct", + "usr": "s:13SendbirdUIKit12SBUStringSetC10FileUploadV5ErrorV", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC10FileUploadV5ErrorV", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "AccessControl" + ] + } + ], + "declKind": "Struct", + "usr": "s:13SendbirdUIKit12SBUStringSetC10FileUploadV", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC10FileUploadV", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ] + }, { "kind": "Var", "name": "ChannelSettings_Banned_Members", @@ -83964,6 +85198,117 @@ } ] }, + { + "kind": "Var", + "name": "imageWitdhConstraint", + "printedName": "imageWitdhConstraint", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "UIKit.NSLayoutConstraint?", + "children": [ + { + "kind": "TypeNominal", + "name": "NSLayoutConstraint", + "printedName": "UIKit.NSLayoutConstraint", + "usr": "c:objc(cs)NSLayoutConstraint" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit17SBUMessageWebViewC20imageWitdhConstraintSo08NSLayoutH0CSgvp", + "mangledName": "$s13SendbirdUIKit17SBUMessageWebViewC20imageWitdhConstraintSo08NSLayoutH0CSgvp", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "Custom", + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "UIKit.NSLayoutConstraint?", + "children": [ + { + "kind": "TypeNominal", + "name": "NSLayoutConstraint", + "printedName": "UIKit.NSLayoutConstraint", + "usr": "c:objc(cs)NSLayoutConstraint" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit17SBUMessageWebViewC20imageWitdhConstraintSo08NSLayoutH0CSgvg", + "mangledName": "$s13SendbirdUIKit17SBUMessageWebViewC20imageWitdhConstraintSo08NSLayoutH0CSgvg", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "UIKit.NSLayoutConstraint?", + "children": [ + { + "kind": "TypeNominal", + "name": "NSLayoutConstraint", + "printedName": "UIKit.NSLayoutConstraint", + "usr": "c:objc(cs)NSLayoutConstraint" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit17SBUMessageWebViewC20imageWitdhConstraintSo08NSLayoutH0CSgvs", + "mangledName": "$s13SendbirdUIKit17SBUMessageWebViewC20imageWitdhConstraintSo08NSLayoutH0CSgvs", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit17SBUMessageWebViewC20imageWitdhConstraintSo08NSLayoutH0CSgvM", + "mangledName": "$s13SendbirdUIKit17SBUMessageWebViewC20imageWitdhConstraintSo08NSLayoutH0CSgvM", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, { "kind": "Constructor", "name": "init", @@ -84949,6 +86294,16 @@ "RawDocComment" ] }, + { + "kind": "Import", + "name": "SendbirdChatSDK", + "printedName": "SendbirdChatSDK", + "declKind": "Import", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "RawDocComment" + ] + }, { "kind": "Import", "name": "UIKit", @@ -85526,6 +86881,566 @@ "RawDocComment" ] }, + { + "kind": "TypeDecl", + "name": "SBUMultipleFilesMessageCollectionView", + "printedName": "SBUMultipleFilesMessageCollectionView", + "children": [ + { + "kind": "Var", + "name": "theme", + "printedName": "theme", + "children": [ + { + "kind": "TypeNominal", + "name": "SBUMessageCellTheme", + "printedName": "SendbirdUIKit.SBUMessageCellTheme", + "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit37SBUMultipleFilesMessageCollectionViewC5themeAA19SBUMessageCellThemeCvp", + "mangledName": "$s13SendbirdUIKit37SBUMultipleFilesMessageCollectionViewC5themeAA19SBUMessageCellThemeCvp", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "Custom", + "AccessControl", + "Custom" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "SBUMessageCellTheme", + "printedName": "SendbirdUIKit.SBUMessageCellTheme", + "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit37SBUMultipleFilesMessageCollectionViewC5themeAA19SBUMessageCellThemeCvg", + "mangledName": "$s13SendbirdUIKit37SBUMultipleFilesMessageCollectionViewC5themeAA19SBUMessageCellThemeCvg", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "SBUMessageCellTheme", + "printedName": "SendbirdUIKit.SBUMessageCellTheme", + "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit37SBUMultipleFilesMessageCollectionViewC5themeAA19SBUMessageCellThemeCvs", + "mangledName": "$s13SendbirdUIKit37SBUMultipleFilesMessageCollectionViewC5themeAA19SBUMessageCellThemeCvs", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit37SBUMultipleFilesMessageCollectionViewC5themeAA19SBUMessageCellThemeCvM", + "mangledName": "$s13SendbirdUIKit37SBUMultipleFilesMessageCollectionViewC5themeAA19SBUMessageCellThemeCvM", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "cornerRadius", + "printedName": "cornerRadius", + "children": [ + { + "kind": "TypeNominal", + "name": "CGFloat", + "printedName": "CoreGraphics.CGFloat", + "usr": "s:14CoreFoundation7CGFloatV" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit37SBUMultipleFilesMessageCollectionViewC12cornerRadius14CoreFoundation7CGFloatVvp", + "mangledName": "$s13SendbirdUIKit37SBUMultipleFilesMessageCollectionViewC12cornerRadius12CoreGraphics7CGFloatVvp", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "Custom", + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "CGFloat", + "printedName": "CoreGraphics.CGFloat", + "usr": "s:14CoreFoundation7CGFloatV" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit37SBUMultipleFilesMessageCollectionViewC12cornerRadius14CoreFoundation7CGFloatVvg", + "mangledName": "$s13SendbirdUIKit37SBUMultipleFilesMessageCollectionViewC12cornerRadius12CoreGraphics7CGFloatVvg", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "CGFloat", + "printedName": "CoreGraphics.CGFloat", + "usr": "s:14CoreFoundation7CGFloatV" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit37SBUMultipleFilesMessageCollectionViewC12cornerRadius14CoreFoundation7CGFloatVvs", + "mangledName": "$s13SendbirdUIKit37SBUMultipleFilesMessageCollectionViewC12cornerRadius12CoreGraphics7CGFloatVvs", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit37SBUMultipleFilesMessageCollectionViewC12cornerRadius14CoreFoundation7CGFloatVvM", + "mangledName": "$s13SendbirdUIKit37SBUMultipleFilesMessageCollectionViewC12cornerRadius12CoreGraphics7CGFloatVvM", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Function", + "name": "configure", + "printedName": "configure(delegate:dataSource:theme:cornerRadius:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "UICollectionViewDelegate", + "printedName": "UIKit.UICollectionViewDelegate", + "usr": "c:objc(pl)UICollectionViewDelegate" + }, + { + "kind": "TypeNominal", + "name": "UICollectionViewDataSource", + "printedName": "UIKit.UICollectionViewDataSource", + "usr": "c:objc(pl)UICollectionViewDataSource" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "SendbirdUIKit.SBUMessageCellTheme?", + "children": [ + { + "kind": "TypeNominal", + "name": "SBUMessageCellTheme", + "printedName": "SendbirdUIKit.SBUMessageCellTheme", + "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC" + } + ], + "hasDefaultArg": true, + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "CGFloat", + "printedName": "CoreGraphics.CGFloat", + "usr": "s:14CoreFoundation7CGFloatV" + } + ], + "declKind": "Func", + "usr": "s:13SendbirdUIKit37SBUMultipleFilesMessageCollectionViewC9configure8delegate10dataSource5theme12cornerRadiusySo012UICollectionG8Delegate_p_So0og4DataK0_pAA19SBUMessageCellThemeCSg14CoreFoundation7CGFloatVtF", + "mangledName": "$s13SendbirdUIKit37SBUMultipleFilesMessageCollectionViewC9configure8delegate10dataSource5theme12cornerRadiusySo012UICollectionG8Delegate_p_So0og4DataK0_pAA19SBUMessageCellThemeCSg12CoreGraphics7CGFloatVtF", + "moduleName": "SendbirdUIKit", + "isOpen": true, + "declAttributes": [ + "Custom", + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "setupViews", + "printedName": "setupViews()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Func", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCollectionView(im)setupViews", + "mangledName": "$s13SendbirdUIKit37SBUMultipleFilesMessageCollectionViewC10setupViewsyyF", + "moduleName": "SendbirdUIKit", + "isOpen": true, + "objc_name": "setupViews", + "declAttributes": [ + "ObjC", + "Custom", + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "setupLayouts", + "printedName": "setupLayouts()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Func", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCollectionView(im)setupLayouts", + "mangledName": "$s13SendbirdUIKit37SBUMultipleFilesMessageCollectionViewC12setupLayoutsyyF", + "moduleName": "SendbirdUIKit", + "isOpen": true, + "objc_name": "setupLayouts", + "declAttributes": [ + "ObjC", + "Custom", + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "setupStyles", + "printedName": "setupStyles()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Func", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCollectionView(im)setupStyles", + "mangledName": "$s13SendbirdUIKit37SBUMultipleFilesMessageCollectionViewC11setupStylesyyF", + "moduleName": "SendbirdUIKit", + "isOpen": true, + "objc_name": "setupStyles", + "declAttributes": [ + "ObjC", + "Custom", + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "setupActions", + "printedName": "setupActions()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Func", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCollectionView(im)setupActions", + "mangledName": "$s13SendbirdUIKit37SBUMultipleFilesMessageCollectionViewC12setupActionsyyF", + "moduleName": "SendbirdUIKit", + "isOpen": true, + "objc_name": "setupActions", + "declAttributes": [ + "ObjC", + "Custom", + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "updateLayouts", + "printedName": "updateLayouts()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Func", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCollectionView(im)updateLayouts", + "mangledName": "$s13SendbirdUIKit37SBUMultipleFilesMessageCollectionViewC13updateLayoutsyyF", + "moduleName": "SendbirdUIKit", + "isOpen": true, + "objc_name": "updateLayouts", + "declAttributes": [ + "ObjC", + "Custom", + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "updateStyles", + "printedName": "updateStyles()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Func", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCollectionView(im)updateStyles", + "mangledName": "$s13SendbirdUIKit37SBUMultipleFilesMessageCollectionViewC12updateStylesyyF", + "moduleName": "SendbirdUIKit", + "isOpen": true, + "objc_name": "updateStyles", + "declAttributes": [ + "ObjC", + "Custom", + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(frame:collectionViewLayout:)", + "children": [ + { + "kind": "TypeNominal", + "name": "SBUMultipleFilesMessageCollectionView", + "printedName": "SendbirdUIKit.SBUMultipleFilesMessageCollectionView", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCollectionView" + }, + { + "kind": "TypeNominal", + "name": "CGRect", + "printedName": "CoreFoundation.CGRect", + "usr": "c:@S@CGRect" + }, + { + "kind": "TypeNominal", + "name": "UICollectionViewLayout", + "printedName": "UIKit.UICollectionViewLayout", + "usr": "c:objc(cs)UICollectionViewLayout" + } + ], + "declKind": "Constructor", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCollectionView(im)initWithFrame:collectionViewLayout:", + "mangledName": "$s13SendbirdUIKit37SBUMultipleFilesMessageCollectionViewC5frame010collectionG6LayoutACSo6CGRectV_So012UICollectiongJ0Ctcfc", + "moduleName": "SendbirdUIKit", + "overriding": true, + "implicit": true, + "objc_name": "initWithFrame:collectionViewLayout:", + "declAttributes": [ + "Dynamic", + "ObjC", + "Custom", + "Override" + ], + "init_kind": "Designated" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(coder:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "SendbirdUIKit.SBUMultipleFilesMessageCollectionView?", + "children": [ + { + "kind": "TypeNominal", + "name": "SBUMultipleFilesMessageCollectionView", + "printedName": "SendbirdUIKit.SBUMultipleFilesMessageCollectionView", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCollectionView" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "NSCoder", + "printedName": "Foundation.NSCoder", + "usr": "c:objc(cs)NSCoder" + } + ], + "declKind": "Constructor", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCollectionView(im)initWithCoder:", + "mangledName": "$s13SendbirdUIKit37SBUMultipleFilesMessageCollectionViewC5coderACSgSo7NSCoderC_tcfc", + "moduleName": "SendbirdUIKit", + "overriding": true, + "implicit": true, + "objc_name": "initWithCoder:", + "declAttributes": [ + "Dynamic", + "ObjC", + "Custom", + "Required" + ], + "init_kind": "Designated" + } + ], + "declKind": "Class", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCollectionView", + "mangledName": "$s13SendbirdUIKit37SBUMultipleFilesMessageCollectionViewC", + "moduleName": "SendbirdUIKit", + "isOpen": true, + "declAttributes": [ + "Custom", + "AccessControl", + "RawDocComment", + "ObjC" + ], + "superclassUsr": "c:objc(cs)UICollectionView", + "inheritsConvenienceInitializers": true, + "superclassNames": [ + "UIKit.UICollectionView", + "UIKit.UIScrollView", + "UIKit.UIView", + "UIKit.UIResponder", + "ObjectiveC.NSObject" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "SBUViewLifeCycle", + "printedName": "SBUViewLifeCycle", + "usr": "c:@M@SendbirdUIKit@objc(pl)SBUViewLifeCycle", + "mangledName": "$s13SendbirdUIKit16SBUViewLifeCycleP" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "CVarArg", + "printedName": "CVarArg", + "usr": "s:s7CVarArgP", + "mangledName": "$ss7CVarArgP" + }, + { + "kind": "Conformance", + "name": "_KeyValueCodingAndObservingPublishing", + "printedName": "_KeyValueCodingAndObservingPublishing", + "usr": "s:10Foundation37_KeyValueCodingAndObservingPublishingP", + "mangledName": "$s10Foundation37_KeyValueCodingAndObservingPublishingP" + }, + { + "kind": "Conformance", + "name": "_KeyValueCodingAndObserving", + "printedName": "_KeyValueCodingAndObserving", + "usr": "s:10Foundation27_KeyValueCodingAndObservingP", + "mangledName": "$s10Foundation27_KeyValueCodingAndObservingP" + }, + { + "kind": "Conformance", + "name": "CustomStringConvertible", + "printedName": "CustomStringConvertible", + "usr": "s:s23CustomStringConvertibleP", + "mangledName": "$ss23CustomStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "CustomDebugStringConvertible", + "printedName": "CustomDebugStringConvertible", + "usr": "s:s28CustomDebugStringConvertibleP", + "mangledName": "$ss28CustomDebugStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + }, + { + "kind": "Conformance", + "name": "__DefaultCustomPlaygroundQuickLookable", + "printedName": "__DefaultCustomPlaygroundQuickLookable", + "usr": "s:s38__DefaultCustomPlaygroundQuickLookableP", + "mangledName": "$ss38__DefaultCustomPlaygroundQuickLookableP" + } + ] + }, + { + "kind": "Import", + "name": "UIKit", + "printedName": "UIKit", + "declKind": "Import", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "RawDocComment" + ] + }, { "kind": "Import", "name": "SendbirdChatSDK", @@ -87060,6 +88975,516 @@ "RawDocComment" ] }, + { + "kind": "TypeDecl", + "name": "SBUPaddingLabel", + "printedName": "SBUPaddingLabel", + "children": [ + { + "kind": "Var", + "name": "top", + "printedName": "top", + "children": [ + { + "kind": "TypeNominal", + "name": "CGFloat", + "printedName": "CoreGraphics.CGFloat", + "usr": "s:14CoreFoundation7CGFloatV" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit15SBUPaddingLabelC3top14CoreFoundation7CGFloatVvp", + "mangledName": "$s13SendbirdUIKit15SBUPaddingLabelC3top12CoreGraphics7CGFloatVvp", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "Custom", + "HasStorage", + "SetterAccess", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "CGFloat", + "printedName": "CoreGraphics.CGFloat", + "usr": "s:14CoreFoundation7CGFloatV" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit15SBUPaddingLabelC3top14CoreFoundation7CGFloatVvg", + "mangledName": "$s13SendbirdUIKit15SBUPaddingLabelC3top12CoreGraphics7CGFloatVvg", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "bottom", + "printedName": "bottom", + "children": [ + { + "kind": "TypeNominal", + "name": "CGFloat", + "printedName": "CoreGraphics.CGFloat", + "usr": "s:14CoreFoundation7CGFloatV" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit15SBUPaddingLabelC6bottom14CoreFoundation7CGFloatVvp", + "mangledName": "$s13SendbirdUIKit15SBUPaddingLabelC6bottom12CoreGraphics7CGFloatVvp", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "Custom", + "HasStorage", + "SetterAccess", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "CGFloat", + "printedName": "CoreGraphics.CGFloat", + "usr": "s:14CoreFoundation7CGFloatV" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit15SBUPaddingLabelC6bottom14CoreFoundation7CGFloatVvg", + "mangledName": "$s13SendbirdUIKit15SBUPaddingLabelC6bottom12CoreGraphics7CGFloatVvg", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "leading", + "printedName": "leading", + "children": [ + { + "kind": "TypeNominal", + "name": "CGFloat", + "printedName": "CoreGraphics.CGFloat", + "usr": "s:14CoreFoundation7CGFloatV" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit15SBUPaddingLabelC7leading14CoreFoundation7CGFloatVvp", + "mangledName": "$s13SendbirdUIKit15SBUPaddingLabelC7leading12CoreGraphics7CGFloatVvp", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "Custom", + "HasStorage", + "SetterAccess", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "CGFloat", + "printedName": "CoreGraphics.CGFloat", + "usr": "s:14CoreFoundation7CGFloatV" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit15SBUPaddingLabelC7leading14CoreFoundation7CGFloatVvg", + "mangledName": "$s13SendbirdUIKit15SBUPaddingLabelC7leading12CoreGraphics7CGFloatVvg", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "trailing", + "printedName": "trailing", + "children": [ + { + "kind": "TypeNominal", + "name": "CGFloat", + "printedName": "CoreGraphics.CGFloat", + "usr": "s:14CoreFoundation7CGFloatV" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit15SBUPaddingLabelC8trailing14CoreFoundation7CGFloatVvp", + "mangledName": "$s13SendbirdUIKit15SBUPaddingLabelC8trailing12CoreGraphics7CGFloatVvp", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "Custom", + "HasStorage", + "SetterAccess", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "CGFloat", + "printedName": "CoreGraphics.CGFloat", + "usr": "s:14CoreFoundation7CGFloatV" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit15SBUPaddingLabelC8trailing14CoreFoundation7CGFloatVvg", + "mangledName": "$s13SendbirdUIKit15SBUPaddingLabelC8trailing12CoreGraphics7CGFloatVvg", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "SBUPaddingLabel", + "printedName": "SendbirdUIKit.SBUPaddingLabel", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUPaddingLabel" + }, + { + "kind": "TypeNominal", + "name": "CGFloat", + "printedName": "CoreGraphics.CGFloat", + "usr": "s:14CoreFoundation7CGFloatV" + } + ], + "declKind": "Constructor", + "usr": "s:13SendbirdUIKit15SBUPaddingLabelCyAC14CoreFoundation7CGFloatVcfc", + "mangledName": "$s13SendbirdUIKit15SBUPaddingLabelCyAC12CoreGraphics7CGFloatVcfc", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "Custom", + "Convenience", + "AccessControl" + ], + "init_kind": "Convenience" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "SBUPaddingLabel", + "printedName": "SendbirdUIKit.SBUPaddingLabel", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUPaddingLabel" + }, + { + "kind": "TypeNominal", + "name": "CGFloat", + "printedName": "CoreGraphics.CGFloat", + "usr": "s:14CoreFoundation7CGFloatV" + }, + { + "kind": "TypeNominal", + "name": "CGFloat", + "printedName": "CoreGraphics.CGFloat", + "usr": "s:14CoreFoundation7CGFloatV" + } + ], + "declKind": "Constructor", + "usr": "s:13SendbirdUIKit15SBUPaddingLabelCyAC14CoreFoundation7CGFloatV_AFtcfc", + "mangledName": "$s13SendbirdUIKit15SBUPaddingLabelCyAC12CoreGraphics7CGFloatV_AFtcfc", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "Custom", + "Convenience", + "AccessControl" + ], + "init_kind": "Convenience" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(_:_:_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "SBUPaddingLabel", + "printedName": "SendbirdUIKit.SBUPaddingLabel", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUPaddingLabel" + }, + { + "kind": "TypeNominal", + "name": "CGFloat", + "printedName": "CoreGraphics.CGFloat", + "hasDefaultArg": true, + "usr": "s:14CoreFoundation7CGFloatV" + }, + { + "kind": "TypeNominal", + "name": "CGFloat", + "printedName": "CoreGraphics.CGFloat", + "hasDefaultArg": true, + "usr": "s:14CoreFoundation7CGFloatV" + }, + { + "kind": "TypeNominal", + "name": "CGFloat", + "printedName": "CoreGraphics.CGFloat", + "hasDefaultArg": true, + "usr": "s:14CoreFoundation7CGFloatV" + }, + { + "kind": "TypeNominal", + "name": "CGFloat", + "printedName": "CoreGraphics.CGFloat", + "hasDefaultArg": true, + "usr": "s:14CoreFoundation7CGFloatV" + } + ], + "declKind": "Constructor", + "usr": "s:13SendbirdUIKit15SBUPaddingLabelCyAC14CoreFoundation7CGFloatV_A3Ftcfc", + "mangledName": "$s13SendbirdUIKit15SBUPaddingLabelCyAC12CoreGraphics7CGFloatV_A3Ftcfc", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "Custom", + "AccessControl" + ], + "init_kind": "Designated" + }, + { + "kind": "Function", + "name": "drawText", + "printedName": "drawText(in:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "CGRect", + "printedName": "CoreFoundation.CGRect", + "usr": "c:@S@CGRect" + } + ], + "declKind": "Func", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUPaddingLabel(im)drawTextInRect:", + "mangledName": "$s13SendbirdUIKit15SBUPaddingLabelC8drawText2inySo6CGRectV_tF", + "moduleName": "SendbirdUIKit", + "overriding": true, + "objc_name": "drawTextInRect:", + "declAttributes": [ + "Dynamic", + "ObjC", + "Custom", + "Override", + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Var", + "name": "intrinsicContentSize", + "printedName": "intrinsicContentSize", + "children": [ + { + "kind": "TypeNominal", + "name": "CGSize", + "printedName": "CoreFoundation.CGSize", + "usr": "c:@S@CGSize" + } + ], + "declKind": "Var", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUPaddingLabel(py)intrinsicContentSize", + "mangledName": "$s13SendbirdUIKit15SBUPaddingLabelC20intrinsicContentSizeSo6CGSizeVvp", + "moduleName": "SendbirdUIKit", + "overriding": true, + "objc_name": "intrinsicContentSize", + "declAttributes": [ + "Dynamic", + "ObjC", + "Custom", + "Override", + "AccessControl" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "CGSize", + "printedName": "CoreFoundation.CGSize", + "usr": "c:@S@CGSize" + } + ], + "declKind": "Accessor", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUPaddingLabel(im)intrinsicContentSize", + "mangledName": "$s13SendbirdUIKit15SBUPaddingLabelC20intrinsicContentSizeSo6CGSizeVvg", + "moduleName": "SendbirdUIKit", + "overriding": true, + "objc_name": "intrinsicContentSize", + "declAttributes": [ + "Dynamic", + "ObjC" + ], + "accessorKind": "get" + } + ] + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(frame:)", + "children": [ + { + "kind": "TypeNominal", + "name": "SBUPaddingLabel", + "printedName": "SendbirdUIKit.SBUPaddingLabel", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUPaddingLabel" + }, + { + "kind": "TypeNominal", + "name": "CGRect", + "printedName": "CoreFoundation.CGRect", + "usr": "c:@S@CGRect" + } + ], + "declKind": "Constructor", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUPaddingLabel(im)initWithFrame:", + "mangledName": "$s13SendbirdUIKit15SBUPaddingLabelC5frameACSo6CGRectV_tcfc", + "moduleName": "SendbirdUIKit", + "overriding": true, + "implicit": true, + "objc_name": "initWithFrame:", + "declAttributes": [ + "Dynamic", + "ObjC", + "Custom", + "Override" + ], + "init_kind": "Designated" + } + ], + "declKind": "Class", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUPaddingLabel", + "mangledName": "$s13SendbirdUIKit15SBUPaddingLabelC", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "Custom", + "AccessControl", + "ObjC" + ], + "superclassUsr": "c:objc(cs)UILabel", + "hasMissingDesignatedInitializers": true, + "superclassNames": [ + "UIKit.UILabel", + "UIKit.UIView", + "UIKit.UIResponder", + "ObjectiveC.NSObject" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "CVarArg", + "printedName": "CVarArg", + "usr": "s:s7CVarArgP", + "mangledName": "$ss7CVarArgP" + }, + { + "kind": "Conformance", + "name": "_KeyValueCodingAndObservingPublishing", + "printedName": "_KeyValueCodingAndObservingPublishing", + "usr": "s:10Foundation37_KeyValueCodingAndObservingPublishingP", + "mangledName": "$s10Foundation37_KeyValueCodingAndObservingPublishingP" + }, + { + "kind": "Conformance", + "name": "_KeyValueCodingAndObserving", + "printedName": "_KeyValueCodingAndObserving", + "usr": "s:10Foundation27_KeyValueCodingAndObservingP", + "mangledName": "$s10Foundation27_KeyValueCodingAndObservingP" + }, + { + "kind": "Conformance", + "name": "CustomStringConvertible", + "printedName": "CustomStringConvertible", + "usr": "s:s23CustomStringConvertibleP", + "mangledName": "$ss23CustomStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "CustomDebugStringConvertible", + "printedName": "CustomDebugStringConvertible", + "usr": "s:s28CustomDebugStringConvertibleP", + "mangledName": "$ss28CustomDebugStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + }, + { + "kind": "Conformance", + "name": "__DefaultCustomPlaygroundQuickLookable", + "printedName": "__DefaultCustomPlaygroundQuickLookable", + "usr": "s:s38__DefaultCustomPlaygroundQuickLookableP", + "mangledName": "$ss38__DefaultCustomPlaygroundQuickLookableP" + } + ] + }, + { + "kind": "Import", + "name": "UIKit", + "printedName": "UIKit", + "declKind": "Import", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "RawDocComment" + ] + }, { "kind": "Import", "name": "QuartzCore", @@ -87406,7 +89831,7 @@ "children": [ { "kind": "TypeNominal", - "name": "ImplicitlyUnwrappedOptional", + "name": "Optional", "printedName": "UIKit.NSLayoutConstraint?", "children": [ { @@ -87441,7 +89866,7 @@ "children": [ { "kind": "TypeNominal", - "name": "ImplicitlyUnwrappedOptional", + "name": "Optional", "printedName": "UIKit.NSLayoutConstraint?", "children": [ { @@ -100511,6 +102936,20 @@ "declKind": "Import", "moduleName": "SendbirdUIKit" }, + { + "kind": "Import", + "name": "PhotosUI", + "printedName": "PhotosUI", + "declKind": "Import", + "moduleName": "SendbirdUIKit" + }, + { + "kind": "Import", + "name": "MobileCoreServices", + "printedName": "MobileCoreServices", + "declKind": "Import", + "moduleName": "SendbirdUIKit" + }, { "kind": "TypeDecl", "name": "SBUGroupChannelViewController", @@ -101293,6 +103732,36 @@ } ] }, + { + "kind": "Function", + "name": "multipleFilesMessageFileSizeErrorHandler", + "printedName": "multipleFilesMessageFileSizeErrorHandler(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Func", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUGroupChannelViewController(im)multipleFilesMessageFileSizeErrorHandler:", + "mangledName": "$s13SendbirdUIKit29SBUGroupChannelViewControllerC40multipleFilesMessageFileSizeErrorHandleryySSF", + "moduleName": "SendbirdUIKit", + "isOpen": true, + "declAttributes": [ + "Custom", + "AccessControl", + "RawDocComment", + "ObjC" + ], + "funcSelfKind": "NonMutating" + }, { "kind": "Constructor", "name": "init", @@ -101984,6 +104453,38 @@ ], "funcSelfKind": "NonMutating" }, + { + "kind": "Function", + "name": "updateStyles", + "printedName": "updateStyles(needsToLayout:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Func", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUGroupChannelViewController(im)updateStylesWithNeedsToLayout:", + "mangledName": "$s13SendbirdUIKit29SBUGroupChannelViewControllerC12updateStyles13needsToLayoutySb_tF", + "moduleName": "SendbirdUIKit", + "overriding": true, + "isOpen": true, + "objc_name": "updateStylesWithNeedsToLayout:", + "declAttributes": [ + "ObjC", + "Custom", + "Override", + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, { "kind": "Function", "name": "updateStyles", @@ -102279,6 +104780,112 @@ ], "funcSelfKind": "NonMutating" }, + { + "kind": "Function", + "name": "imagePickerControllerDidCancel", + "printedName": "imagePickerControllerDidCancel(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "UIImagePickerController", + "printedName": "UIKit.UIImagePickerController", + "usr": "c:objc(cs)UIImagePickerController" + } + ], + "declKind": "Func", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUGroupChannelViewController(im)imagePickerControllerDidCancel:", + "mangledName": "$s13SendbirdUIKit29SBUGroupChannelViewControllerC011imagePickerF9DidCancelyySo07UIImagehF0CF", + "moduleName": "SendbirdUIKit", + "overriding": true, + "isOpen": true, + "objc_name": "imagePickerControllerDidCancel:", + "declAttributes": [ + "ObjC", + "Custom", + "Override", + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "picker", + "printedName": "picker(_:didFinishPicking:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "PHPickerViewController", + "printedName": "PhotosUI.PHPickerViewController", + "usr": "c:objc(cs)PHPickerViewController" + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[PhotosUI.PHPickerResult]", + "children": [ + { + "kind": "TypeNominal", + "name": "PHPickerResult", + "printedName": "PhotosUI.PHPickerResult", + "usr": "s:8PhotosUI14PHPickerResultV" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Func", + "usr": "s:13SendbirdUIKit29SBUGroupChannelViewControllerC6picker_16didFinishPickingySo08PHPickereF0C_Say8PhotosUI0K6ResultVGtF", + "mangledName": "$s13SendbirdUIKit29SBUGroupChannelViewControllerC6picker_16didFinishPickingySo08PHPickereF0C_Say8PhotosUI0K6ResultVGtF", + "moduleName": "SendbirdUIKit", + "overriding": true, + "isOpen": true, + "intro_iOS": "14", + "declAttributes": [ + "Custom", + "AccessControl", + "Override", + "Available" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "showPhotoLibraryPicker", + "printedName": "showPhotoLibraryPicker()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Func", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUGroupChannelViewController(im)showPhotoLibraryPicker", + "mangledName": "$s13SendbirdUIKit29SBUGroupChannelViewControllerC22showPhotoLibraryPickeryyF", + "moduleName": "SendbirdUIKit", + "overriding": true, + "isOpen": true, + "objc_name": "showPhotoLibraryPicker", + "declAttributes": [ + "ObjC", + "Custom", + "Override", + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, { "kind": "Function", "name": "showVoiceMessageInput", @@ -102515,6 +105122,46 @@ ], "funcSelfKind": "NonMutating" }, + { + "kind": "Function", + "name": "groupChannelViewModel", + "printedName": "groupChannelViewModel(_:didFinishUploadingFileAt:multipleFilesMessageRequestId:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "SBUGroupChannelViewModel", + "printedName": "SendbirdUIKit.SBUGroupChannelViewModel", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUGroupChannelViewModel" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Func", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUGroupChannelViewController(im)groupChannelViewModel:didFinishUploadingFileAt:multipleFilesMessageRequestId:", + "mangledName": "$s13SendbirdUIKit29SBUGroupChannelViewControllerC05groupdE5Model_24didFinishUploadingFileAt29multipleFilesMessageRequestIdyAA0cdeH0C_SiSStF", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "Custom", + "AccessControl", + "ObjC" + ], + "funcSelfKind": "NonMutating" + }, { "kind": "Function", "name": "baseChannelModule", @@ -102592,6 +105239,54 @@ ], "funcSelfKind": "NonMutating" }, + { + "kind": "Function", + "name": "groupChannelModule", + "printedName": "groupChannelModule(_:didSelectFileAt:multipleFilesMessageCell:forRowAt:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "List", + "printedName": "SendbirdUIKit.SBUGroupChannelModule.List", + "usr": "s:13SendbirdUIKit21SBUGroupChannelModuleC4ListC" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "SBUMultipleFilesMessageCell", + "printedName": "SendbirdUIKit.SBUMultipleFilesMessageCell", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCell" + }, + { + "kind": "TypeNominal", + "name": "IndexPath", + "printedName": "Foundation.IndexPath", + "usr": "s:10Foundation9IndexPathV" + } + ], + "declKind": "Func", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUGroupChannelViewController(im)groupChannelModule:didSelectFileAt:multipleFilesMessageCell:forRowAt:", + "mangledName": "$s13SendbirdUIKit29SBUGroupChannelViewControllerC05groupD6Module_15didSelectFileAt24multipleFilesMessageCell06forRowL0yAA0cdH0C4ListC_SiAA011SBUMultiplenoP0C10Foundation9IndexPathVtF", + "moduleName": "SendbirdUIKit", + "isOpen": true, + "declAttributes": [ + "Custom", + "AccessControl", + "RawDocComment", + "ObjC" + ], + "funcSelfKind": "NonMutating" + }, { "kind": "Function", "name": "groupChannelModule", @@ -102629,7 +105324,6 @@ "declAttributes": [ "Custom", "AccessControl", - "RawDocComment", "ObjC" ], "funcSelfKind": "NonMutating" @@ -103090,7 +105784,7 @@ { "kind": "Function", "name": "groupChannelModule", - "printedName": "groupChannelModule(_:didTapSend:mentionedMessageTemplate:mentionedUserIds:parentMessage:)", + "printedName": "groupChannelModule(_:didPickMultipleFiles:parentMessage:)", "children": [ { "kind": "TypeNominal", @@ -103105,29 +105799,25 @@ }, { "kind": "TypeNominal", - "name": "String", - "printedName": "Swift.String", - "usr": "s:SS" - }, - { - "kind": "TypeNominal", - "name": "String", - "printedName": "Swift.String", - "usr": "s:SS" - }, - { - "kind": "TypeNominal", - "name": "Array", - "printedName": "[Swift.String]", + "name": "Optional", + "printedName": "[SendbirdChatSDK.UploadableFileInfo]?", "children": [ { "kind": "TypeNominal", - "name": "String", - "printedName": "Swift.String", - "usr": "s:SS" + "name": "Array", + "printedName": "[SendbirdChatSDK.UploadableFileInfo]", + "children": [ + { + "kind": "TypeNominal", + "name": "UploadableFileInfo", + "printedName": "SendbirdChatSDK.UploadableFileInfo", + "usr": "c:@M@SendbirdChatSDK@objc(cs)SBDUploadableFileInfo" + } + ], + "usr": "s:Sa" } ], - "usr": "s:Sa" + "usr": "s:Sq" }, { "kind": "TypeNominal", @@ -103145,8 +105835,8 @@ } ], "declKind": "Func", - "usr": "c:@M@SendbirdUIKit@objc(cs)SBUGroupChannelViewController(im)groupChannelModule:didTapSend:mentionedMessageTemplate:mentionedUserIds:parentMessage:", - "mangledName": "$s13SendbirdUIKit29SBUGroupChannelViewControllerC05groupD6Module_10didTapSend24mentionedMessageTemplate0L7UserIds06parentM0yAA0cdH0C5InputC_S2SSaySSG0A7ChatSDK04BaseM0CSgtF", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUGroupChannelViewController(im)groupChannelModule:didPickMultipleFiles:parentMessage:", + "mangledName": "$s13SendbirdUIKit29SBUGroupChannelViewControllerC05groupD6Module_20didPickMultipleFiles13parentMessageyAA0cdH0C5InputC_Say0A7ChatSDK18UploadableFileInfoCGSgAK04BaseN0CSgtF", "moduleName": "SendbirdUIKit", "isOpen": true, "declAttributes": [ @@ -103159,7 +105849,76 @@ { "kind": "Function", "name": "groupChannelModule", - "printedName": "groupChannelModule(_:didTapEdit:mentionedMessageTemplate:mentionedUserIds:)", + "printedName": "groupChannelModule(_:didTapSend:mentionedMessageTemplate:mentionedUserIds:parentMessage:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Input", + "printedName": "SendbirdUIKit.SBUGroupChannelModule.Input", + "usr": "s:13SendbirdUIKit21SBUGroupChannelModuleC5InputC" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.String]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "usr": "s:Sa" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "SendbirdChatSDK.BaseMessage?", + "children": [ + { + "kind": "TypeNominal", + "name": "BaseMessage", + "printedName": "SendbirdChatSDK.BaseMessage", + "usr": "c:@M@SendbirdChatSDK@objc(cs)SBDBaseMessage" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Func", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUGroupChannelViewController(im)groupChannelModule:didTapSend:mentionedMessageTemplate:mentionedUserIds:parentMessage:", + "mangledName": "$s13SendbirdUIKit29SBUGroupChannelViewControllerC05groupD6Module_10didTapSend24mentionedMessageTemplate0L7UserIds06parentM0yAA0cdH0C5InputC_S2SSaySSG0A7ChatSDK04BaseM0CSgtF", + "moduleName": "SendbirdUIKit", + "isOpen": true, + "declAttributes": [ + "Custom", + "AccessControl", + "ObjC" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "groupChannelModule", + "printedName": "groupChannelModule(_:didTapEdit:mentionedMessageTemplate:mentionedUserIds:)", "children": [ { "kind": "TypeNominal", @@ -124196,7 +126955,7 @@ "children": [ { "kind": "TypeNominal", - "name": "ImplicitlyUnwrappedOptional", + "name": "Optional", "printedName": "UIKit.NSLayoutConstraint?", "children": [ { @@ -124228,7 +126987,7 @@ "children": [ { "kind": "TypeNominal", - "name": "ImplicitlyUnwrappedOptional", + "name": "Optional", "printedName": "UIKit.NSLayoutConstraint?", "children": [ { @@ -124260,7 +127019,7 @@ }, { "kind": "TypeNominal", - "name": "ImplicitlyUnwrappedOptional", + "name": "Optional", "printedName": "UIKit.NSLayoutConstraint?", "children": [ { @@ -126184,6 +128943,102 @@ ], "reqNewWitnessTableEntry": true, "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "messageThreadModule", + "printedName": "messageThreadModule(_:didSelectFileAt:multipleFilesMessageCell:forRowAt:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "List", + "printedName": "SendbirdUIKit.SBUMessageThreadModule.List", + "usr": "s:13SendbirdUIKit22SBUMessageThreadModuleC4ListC" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "SBUMultipleFilesMessageCell", + "printedName": "SendbirdUIKit.SBUMultipleFilesMessageCell", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCell" + }, + { + "kind": "TypeNominal", + "name": "IndexPath", + "printedName": "Foundation.IndexPath", + "usr": "s:10Foundation9IndexPathV" + } + ], + "declKind": "Func", + "usr": "s:13SendbirdUIKit34SBUMessageThreadModuleListDelegateP07messagedE0_15didSelectFileAt24multipleFilesMessageCell06forRowL0yAA0cdE0C0F0C_SiAA011SBUMultiplenoP0C10Foundation9IndexPathVtF", + "mangledName": "$s13SendbirdUIKit34SBUMessageThreadModuleListDelegateP07messagedE0_15didSelectFileAt24multipleFilesMessageCell06forRowL0yAA0cdE0C0F0C_SiAA011SBUMultiplenoP0C10Foundation9IndexPathVtF", + "moduleName": "SendbirdUIKit", + "genericSig": "<τ_0_0 where τ_0_0 : SendbirdUIKit.SBUMessageThreadModuleListDelegate>", + "sugared_genericSig": "", + "protocolReq": true, + "declAttributes": [ + "RawDocComment" + ], + "reqNewWitnessTableEntry": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "messageThreadModule", + "printedName": "messageThreadModule(_:uploadedFileInfo:message:index:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "List", + "printedName": "SendbirdUIKit.SBUMessageThreadModule.List", + "usr": "s:13SendbirdUIKit22SBUMessageThreadModuleC4ListC" + }, + { + "kind": "TypeNominal", + "name": "UploadedFileInfo", + "printedName": "SendbirdChatSDK.UploadedFileInfo", + "usr": "c:@M@SendbirdChatSDK@objc(cs)SBDUploadedFileInfo" + }, + { + "kind": "TypeNominal", + "name": "MultipleFilesMessage", + "printedName": "SendbirdChatSDK.MultipleFilesMessage", + "usr": "c:@M@SendbirdChatSDK@objc(cs)SBDMultipleFilesMessage" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Func", + "usr": "s:13SendbirdUIKit34SBUMessageThreadModuleListDelegateP07messagedE0_16uploadedFileInfo0H05indexyAA0cdE0C0F0C_0A7ChatSDK08UploadedjK0CAL20MultipleFilesMessageCSitF", + "mangledName": "$s13SendbirdUIKit34SBUMessageThreadModuleListDelegateP07messagedE0_16uploadedFileInfo0H05indexyAA0cdE0C0F0C_0A7ChatSDK08UploadedjK0CAL20MultipleFilesMessageCSitF", + "moduleName": "SendbirdUIKit", + "genericSig": "<τ_0_0 where τ_0_0 : SendbirdUIKit.SBUMessageThreadModuleListDelegate>", + "sugared_genericSig": "", + "protocolReq": true, + "declAttributes": [ + "RawDocComment" + ], + "reqNewWitnessTableEntry": true, + "funcSelfKind": "NonMutating" } ], "declKind": "Protocol", @@ -134390,6 +137245,366 @@ "RawDocComment" ] }, + { + "kind": "TypeDecl", + "name": "SBUCollectionViewCell", + "printedName": "SBUCollectionViewCell", + "children": [ + { + "kind": "Constructor", + "name": "init", + "printedName": "init(frame:)", + "children": [ + { + "kind": "TypeNominal", + "name": "SBUCollectionViewCell", + "printedName": "SendbirdUIKit.SBUCollectionViewCell", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUCollectionViewCell" + }, + { + "kind": "TypeNominal", + "name": "CGRect", + "printedName": "CoreFoundation.CGRect", + "usr": "c:@S@CGRect" + } + ], + "declKind": "Constructor", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUCollectionViewCell(im)initWithFrame:", + "mangledName": "$s13SendbirdUIKit21SBUCollectionViewCellC5frameACSo6CGRectV_tcfc", + "moduleName": "SendbirdUIKit", + "overriding": true, + "objc_name": "initWithFrame:", + "declAttributes": [ + "Dynamic", + "ObjC", + "Custom", + "Override", + "AccessControl" + ], + "init_kind": "Designated" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(coder:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "SendbirdUIKit.SBUCollectionViewCell?", + "children": [ + { + "kind": "TypeNominal", + "name": "SBUCollectionViewCell", + "printedName": "SendbirdUIKit.SBUCollectionViewCell", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUCollectionViewCell" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "NSCoder", + "printedName": "Foundation.NSCoder", + "usr": "c:objc(cs)NSCoder" + } + ], + "declKind": "Constructor", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUCollectionViewCell(im)initWithCoder:", + "mangledName": "$s13SendbirdUIKit21SBUCollectionViewCellC5coderACSgSo7NSCoderC_tcfc", + "moduleName": "SendbirdUIKit", + "overriding": true, + "objc_name": "initWithCoder:", + "declAttributes": [ + "Dynamic", + "ObjC", + "Custom", + "AccessControl", + "Required" + ], + "init_kind": "Designated" + }, + { + "kind": "Function", + "name": "layoutSubviews", + "printedName": "layoutSubviews()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Func", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUCollectionViewCell(im)layoutSubviews", + "mangledName": "$s13SendbirdUIKit21SBUCollectionViewCellC14layoutSubviewsyyF", + "moduleName": "SendbirdUIKit", + "overriding": true, + "isOpen": true, + "objc_name": "layoutSubviews", + "declAttributes": [ + "Dynamic", + "ObjC", + "Custom", + "Override", + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "setupViews", + "printedName": "setupViews()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Func", + "usr": "c:@CM@SendbirdUIKit@objc(cs)SBUCollectionViewCell(im)setupViews", + "mangledName": "$s13SendbirdUIKit21SBUCollectionViewCellC10setupViewsyyF", + "moduleName": "SendbirdUIKit", + "objc_name": "setupViews", + "declAttributes": [ + "Dynamic", + "ObjC", + "Custom", + "AccessControl" + ], + "isFromExtension": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "setupStyles", + "printedName": "setupStyles()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Func", + "usr": "c:@CM@SendbirdUIKit@objc(cs)SBUCollectionViewCell(im)setupStyles", + "mangledName": "$s13SendbirdUIKit21SBUCollectionViewCellC11setupStylesyyF", + "moduleName": "SendbirdUIKit", + "objc_name": "setupStyles", + "declAttributes": [ + "Dynamic", + "ObjC", + "Custom", + "AccessControl" + ], + "isFromExtension": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "updateStyles", + "printedName": "updateStyles()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Func", + "usr": "c:@CM@SendbirdUIKit@objc(cs)SBUCollectionViewCell(im)updateStyles", + "mangledName": "$s13SendbirdUIKit21SBUCollectionViewCellC12updateStylesyyF", + "moduleName": "SendbirdUIKit", + "objc_name": "updateStyles", + "declAttributes": [ + "Dynamic", + "ObjC", + "Custom", + "AccessControl" + ], + "isFromExtension": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "setupLayouts", + "printedName": "setupLayouts()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Func", + "usr": "c:@CM@SendbirdUIKit@objc(cs)SBUCollectionViewCell(im)setupLayouts", + "mangledName": "$s13SendbirdUIKit21SBUCollectionViewCellC12setupLayoutsyyF", + "moduleName": "SendbirdUIKit", + "objc_name": "setupLayouts", + "declAttributes": [ + "Dynamic", + "ObjC", + "Custom", + "AccessControl" + ], + "isFromExtension": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "updateLayouts", + "printedName": "updateLayouts()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Func", + "usr": "c:@CM@SendbirdUIKit@objc(cs)SBUCollectionViewCell(im)updateLayouts", + "mangledName": "$s13SendbirdUIKit21SBUCollectionViewCellC13updateLayoutsyyF", + "moduleName": "SendbirdUIKit", + "objc_name": "updateLayouts", + "declAttributes": [ + "Dynamic", + "ObjC", + "Custom", + "AccessControl" + ], + "isFromExtension": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "setupActions", + "printedName": "setupActions()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Func", + "usr": "c:@CM@SendbirdUIKit@objc(cs)SBUCollectionViewCell(im)setupActions", + "mangledName": "$s13SendbirdUIKit21SBUCollectionViewCellC12setupActionsyyF", + "moduleName": "SendbirdUIKit", + "objc_name": "setupActions", + "declAttributes": [ + "Dynamic", + "ObjC", + "Custom", + "AccessControl" + ], + "isFromExtension": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Class", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUCollectionViewCell", + "mangledName": "$s13SendbirdUIKit21SBUCollectionViewCellC", + "moduleName": "SendbirdUIKit", + "isOpen": true, + "declAttributes": [ + "Custom", + "AccessControl", + "RawDocComment", + "ObjC" + ], + "superclassUsr": "c:objc(cs)UICollectionViewCell", + "inheritsConvenienceInitializers": true, + "superclassNames": [ + "UIKit.UICollectionViewCell", + "UIKit.UICollectionReusableView", + "UIKit.UIView", + "UIKit.UIResponder", + "ObjectiveC.NSObject" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "SBUViewLifeCycle", + "printedName": "SBUViewLifeCycle", + "usr": "c:@M@SendbirdUIKit@objc(pl)SBUViewLifeCycle", + "mangledName": "$s13SendbirdUIKit16SBUViewLifeCycleP" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "CVarArg", + "printedName": "CVarArg", + "usr": "s:s7CVarArgP", + "mangledName": "$ss7CVarArgP" + }, + { + "kind": "Conformance", + "name": "_KeyValueCodingAndObservingPublishing", + "printedName": "_KeyValueCodingAndObservingPublishing", + "usr": "s:10Foundation37_KeyValueCodingAndObservingPublishingP", + "mangledName": "$s10Foundation37_KeyValueCodingAndObservingPublishingP" + }, + { + "kind": "Conformance", + "name": "_KeyValueCodingAndObserving", + "printedName": "_KeyValueCodingAndObserving", + "usr": "s:10Foundation27_KeyValueCodingAndObservingP", + "mangledName": "$s10Foundation27_KeyValueCodingAndObservingP" + }, + { + "kind": "Conformance", + "name": "CustomStringConvertible", + "printedName": "CustomStringConvertible", + "usr": "s:s23CustomStringConvertibleP", + "mangledName": "$ss23CustomStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "CustomDebugStringConvertible", + "printedName": "CustomDebugStringConvertible", + "usr": "s:s28CustomDebugStringConvertibleP", + "mangledName": "$ss28CustomDebugStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + }, + { + "kind": "Conformance", + "name": "__DefaultCustomPlaygroundQuickLookable", + "printedName": "__DefaultCustomPlaygroundQuickLookable", + "usr": "s:s38__DefaultCustomPlaygroundQuickLookableP", + "mangledName": "$ss38__DefaultCustomPlaygroundQuickLookableP" + } + ] + }, + { + "kind": "Import", + "name": "UIKit", + "printedName": "UIKit", + "declKind": "Import", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "RawDocComment" + ] + }, { "kind": "Import", "name": "SendbirdChatSDK", @@ -134587,6 +137802,98 @@ } ] }, + { + "kind": "Var", + "name": "profileBaseView", + "printedName": "profileBaseView", + "children": [ + { + "kind": "TypeNominal", + "name": "UIView", + "printedName": "UIKit.UIView", + "usr": "c:objc(cs)UIView" + } + ], + "declKind": "Var", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUOpenChannelContentBaseMessageCell(py)profileBaseView", + "mangledName": "$s13SendbirdUIKit36SBUOpenChannelContentBaseMessageCellC07profileF4ViewSo6UIViewCvp", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "Custom", + "Lazy", + "AccessControl", + "ObjC" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "UIView", + "printedName": "UIKit.UIView", + "usr": "c:objc(cs)UIView" + } + ], + "declKind": "Accessor", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUOpenChannelContentBaseMessageCell(im)profileBaseView", + "mangledName": "$s13SendbirdUIKit36SBUOpenChannelContentBaseMessageCellC07profileF4ViewSo6UIViewCvg", + "moduleName": "SendbirdUIKit", + "implicit": true, + "declAttributes": [ + "ObjC" + ], + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "UIView", + "printedName": "UIKit.UIView", + "usr": "c:objc(cs)UIView" + } + ], + "declKind": "Accessor", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUOpenChannelContentBaseMessageCell(im)setProfileBaseView:", + "mangledName": "$s13SendbirdUIKit36SBUOpenChannelContentBaseMessageCellC07profileF4ViewSo6UIViewCvs", + "moduleName": "SendbirdUIKit", + "implicit": true, + "declAttributes": [ + "ObjC" + ], + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit36SBUOpenChannelContentBaseMessageCellC07profileF4ViewSo6UIViewCvM", + "mangledName": "$s13SendbirdUIKit36SBUOpenChannelContentBaseMessageCellC07profileF4ViewSo6UIViewCvM", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, { "kind": "Var", "name": "contentsStackView", @@ -145591,6 +148898,803 @@ } ] }, + { + "kind": "Import", + "name": "UIKit", + "printedName": "UIKit", + "declKind": "Import", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "SendbirdChatSDK", + "printedName": "SendbirdChatSDK", + "declKind": "Import", + "moduleName": "SendbirdUIKit" + }, + { + "kind": "TypeDecl", + "name": "SBUMultipleFilesMessageCollectionViewCell", + "printedName": "SBUMultipleFilesMessageCollectionViewCell", + "children": [ + { + "kind": "Var", + "name": "imageView", + "printedName": "imageView", + "children": [ + { + "kind": "TypeNominal", + "name": "UIImageView", + "printedName": "UIKit.UIImageView", + "usr": "c:objc(cs)UIImageView" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit41SBUMultipleFilesMessageCollectionViewCellC05imageG0So07UIImageG0Cvp", + "mangledName": "$s13SendbirdUIKit41SBUMultipleFilesMessageCollectionViewCellC05imageG0So07UIImageG0Cvp", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "Custom", + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "UIImageView", + "printedName": "UIKit.UIImageView", + "usr": "c:objc(cs)UIImageView" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit41SBUMultipleFilesMessageCollectionViewCellC05imageG0So07UIImageG0Cvg", + "mangledName": "$s13SendbirdUIKit41SBUMultipleFilesMessageCollectionViewCellC05imageG0So07UIImageG0Cvg", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "UIImageView", + "printedName": "UIKit.UIImageView", + "usr": "c:objc(cs)UIImageView" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit41SBUMultipleFilesMessageCollectionViewCellC05imageG0So07UIImageG0Cvs", + "mangledName": "$s13SendbirdUIKit41SBUMultipleFilesMessageCollectionViewCellC05imageG0So07UIImageG0Cvs", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit41SBUMultipleFilesMessageCollectionViewCellC05imageG0So07UIImageG0CvM", + "mangledName": "$s13SendbirdUIKit41SBUMultipleFilesMessageCollectionViewCellC05imageG0So07UIImageG0CvM", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "overlayView", + "printedName": "overlayView", + "children": [ + { + "kind": "TypeNominal", + "name": "UIView", + "printedName": "UIKit.UIView", + "usr": "c:objc(cs)UIView" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit41SBUMultipleFilesMessageCollectionViewCellC07overlayG0So6UIViewCvp", + "mangledName": "$s13SendbirdUIKit41SBUMultipleFilesMessageCollectionViewCellC07overlayG0So6UIViewCvp", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "Custom", + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "UIView", + "printedName": "UIKit.UIView", + "usr": "c:objc(cs)UIView" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit41SBUMultipleFilesMessageCollectionViewCellC07overlayG0So6UIViewCvg", + "mangledName": "$s13SendbirdUIKit41SBUMultipleFilesMessageCollectionViewCellC07overlayG0So6UIViewCvg", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "UIView", + "printedName": "UIKit.UIView", + "usr": "c:objc(cs)UIView" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit41SBUMultipleFilesMessageCollectionViewCellC07overlayG0So6UIViewCvs", + "mangledName": "$s13SendbirdUIKit41SBUMultipleFilesMessageCollectionViewCellC07overlayG0So6UIViewCvs", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit41SBUMultipleFilesMessageCollectionViewCellC07overlayG0So6UIViewCvM", + "mangledName": "$s13SendbirdUIKit41SBUMultipleFilesMessageCollectionViewCellC07overlayG0So6UIViewCvM", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "iconImageView", + "printedName": "iconImageView", + "children": [ + { + "kind": "TypeNominal", + "name": "UIImageView", + "printedName": "UIKit.UIImageView", + "usr": "c:objc(cs)UIImageView" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit41SBUMultipleFilesMessageCollectionViewCellC09iconImageG0So07UIImageG0Cvp", + "mangledName": "$s13SendbirdUIKit41SBUMultipleFilesMessageCollectionViewCellC09iconImageG0So07UIImageG0Cvp", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "Custom", + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "UIImageView", + "printedName": "UIKit.UIImageView", + "usr": "c:objc(cs)UIImageView" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit41SBUMultipleFilesMessageCollectionViewCellC09iconImageG0So07UIImageG0Cvg", + "mangledName": "$s13SendbirdUIKit41SBUMultipleFilesMessageCollectionViewCellC09iconImageG0So07UIImageG0Cvg", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "UIImageView", + "printedName": "UIKit.UIImageView", + "usr": "c:objc(cs)UIImageView" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit41SBUMultipleFilesMessageCollectionViewCellC09iconImageG0So07UIImageG0Cvs", + "mangledName": "$s13SendbirdUIKit41SBUMultipleFilesMessageCollectionViewCellC09iconImageG0So07UIImageG0Cvs", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit41SBUMultipleFilesMessageCollectionViewCellC09iconImageG0So07UIImageG0CvM", + "mangledName": "$s13SendbirdUIKit41SBUMultipleFilesMessageCollectionViewCellC09iconImageG0So07UIImageG0CvM", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "theme", + "printedName": "theme", + "children": [ + { + "kind": "TypeNominal", + "name": "SBUMessageCellTheme", + "printedName": "SendbirdUIKit.SBUMessageCellTheme", + "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit41SBUMultipleFilesMessageCollectionViewCellC5themeAA010SBUMessageH5ThemeCvp", + "mangledName": "$s13SendbirdUIKit41SBUMultipleFilesMessageCollectionViewCellC5themeAA010SBUMessageH5ThemeCvp", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "Custom", + "AccessControl", + "Custom" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "SBUMessageCellTheme", + "printedName": "SendbirdUIKit.SBUMessageCellTheme", + "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit41SBUMultipleFilesMessageCollectionViewCellC5themeAA010SBUMessageH5ThemeCvg", + "mangledName": "$s13SendbirdUIKit41SBUMultipleFilesMessageCollectionViewCellC5themeAA010SBUMessageH5ThemeCvg", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "SBUMessageCellTheme", + "printedName": "SendbirdUIKit.SBUMessageCellTheme", + "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit41SBUMultipleFilesMessageCollectionViewCellC5themeAA010SBUMessageH5ThemeCvs", + "mangledName": "$s13SendbirdUIKit41SBUMultipleFilesMessageCollectionViewCellC5themeAA010SBUMessageH5ThemeCvs", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit41SBUMultipleFilesMessageCollectionViewCellC5themeAA010SBUMessageH5ThemeCvM", + "mangledName": "$s13SendbirdUIKit41SBUMultipleFilesMessageCollectionViewCellC5themeAA010SBUMessageH5ThemeCvM", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "imageCornerRadius", + "printedName": "imageCornerRadius", + "children": [ + { + "kind": "TypeNominal", + "name": "CGFloat", + "printedName": "CoreGraphics.CGFloat", + "usr": "s:14CoreFoundation7CGFloatV" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit41SBUMultipleFilesMessageCollectionViewCellC17imageCornerRadius14CoreFoundation7CGFloatVvp", + "mangledName": "$s13SendbirdUIKit41SBUMultipleFilesMessageCollectionViewCellC17imageCornerRadius12CoreGraphics7CGFloatVvp", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "Custom", + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "CGFloat", + "printedName": "CoreGraphics.CGFloat", + "usr": "s:14CoreFoundation7CGFloatV" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit41SBUMultipleFilesMessageCollectionViewCellC17imageCornerRadius14CoreFoundation7CGFloatVvg", + "mangledName": "$s13SendbirdUIKit41SBUMultipleFilesMessageCollectionViewCellC17imageCornerRadius12CoreGraphics7CGFloatVvg", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "CGFloat", + "printedName": "CoreGraphics.CGFloat", + "usr": "s:14CoreFoundation7CGFloatV" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit41SBUMultipleFilesMessageCollectionViewCellC17imageCornerRadius14CoreFoundation7CGFloatVvs", + "mangledName": "$s13SendbirdUIKit41SBUMultipleFilesMessageCollectionViewCellC17imageCornerRadius12CoreGraphics7CGFloatVvs", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit41SBUMultipleFilesMessageCollectionViewCellC17imageCornerRadius14CoreFoundation7CGFloatVvM", + "mangledName": "$s13SendbirdUIKit41SBUMultipleFilesMessageCollectionViewCellC17imageCornerRadius12CoreGraphics7CGFloatVvM", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(coder:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "SendbirdUIKit.SBUMultipleFilesMessageCollectionViewCell?", + "children": [ + { + "kind": "TypeNominal", + "name": "SBUMultipleFilesMessageCollectionViewCell", + "printedName": "SendbirdUIKit.SBUMultipleFilesMessageCollectionViewCell", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCollectionViewCell" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "NSCoder", + "printedName": "Foundation.NSCoder", + "usr": "c:objc(cs)NSCoder" + } + ], + "declKind": "Constructor", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCollectionViewCell(im)initWithCoder:", + "mangledName": "$s13SendbirdUIKit41SBUMultipleFilesMessageCollectionViewCellC5coderACSgSo7NSCoderC_tcfc", + "moduleName": "SendbirdUIKit", + "overriding": true, + "objc_name": "initWithCoder:", + "declAttributes": [ + "Dynamic", + "ObjC", + "Custom", + "AccessControl", + "Required" + ], + "init_kind": "Designated" + }, + { + "kind": "Function", + "name": "configure", + "printedName": "configure(uploadableFileInfo:uploadedFileInfo:requestId:index:imageCornerRadius:showOverlay:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "SendbirdChatSDK.UploadableFileInfo?", + "children": [ + { + "kind": "TypeNominal", + "name": "UploadableFileInfo", + "printedName": "SendbirdChatSDK.UploadableFileInfo", + "usr": "c:@M@SendbirdChatSDK@objc(cs)SBDUploadableFileInfo" + } + ], + "hasDefaultArg": true, + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "SendbirdChatSDK.UploadedFileInfo?", + "children": [ + { + "kind": "TypeNominal", + "name": "UploadedFileInfo", + "printedName": "SendbirdChatSDK.UploadedFileInfo", + "usr": "c:@M@SendbirdChatSDK@objc(cs)SBDUploadedFileInfo" + } + ], + "hasDefaultArg": true, + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "CGFloat", + "printedName": "CoreGraphics.CGFloat", + "usr": "s:14CoreFoundation7CGFloatV" + }, + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Func", + "usr": "s:13SendbirdUIKit41SBUMultipleFilesMessageCollectionViewCellC9configure18uploadableFileInfo08uploadedkL09requestId5index17imageCornerRadius11showOverlayy0A7ChatSDK010UploadablekL0CSg_AK08UploadedkL0CSgSSSi14CoreFoundation7CGFloatVSbtF", + "mangledName": "$s13SendbirdUIKit41SBUMultipleFilesMessageCollectionViewCellC9configure18uploadableFileInfo08uploadedkL09requestId5index17imageCornerRadius11showOverlayy0A7ChatSDK010UploadablekL0CSg_AK08UploadedkL0CSgSSSi12CoreGraphics7CGFloatVSbtF", + "moduleName": "SendbirdUIKit", + "isOpen": true, + "declAttributes": [ + "Custom", + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "setupViews", + "printedName": "setupViews()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Func", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCollectionViewCell(im)setupViews", + "mangledName": "$s13SendbirdUIKit41SBUMultipleFilesMessageCollectionViewCellC10setupViewsyyF", + "moduleName": "SendbirdUIKit", + "overriding": true, + "isOpen": true, + "objc_name": "setupViews", + "declAttributes": [ + "Dynamic", + "ObjC", + "Custom", + "AccessControl", + "Override" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "setupStyles", + "printedName": "setupStyles()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Func", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCollectionViewCell(im)setupStyles", + "mangledName": "$s13SendbirdUIKit41SBUMultipleFilesMessageCollectionViewCellC11setupStylesyyF", + "moduleName": "SendbirdUIKit", + "overriding": true, + "isOpen": true, + "objc_name": "setupStyles", + "declAttributes": [ + "Dynamic", + "ObjC", + "Custom", + "AccessControl", + "Override" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "setupLayouts", + "printedName": "setupLayouts()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Func", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCollectionViewCell(im)setupLayouts", + "mangledName": "$s13SendbirdUIKit41SBUMultipleFilesMessageCollectionViewCellC12setupLayoutsyyF", + "moduleName": "SendbirdUIKit", + "overriding": true, + "isOpen": true, + "objc_name": "setupLayouts", + "declAttributes": [ + "Dynamic", + "ObjC", + "Custom", + "AccessControl", + "Override" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "prepareForReuse", + "printedName": "prepareForReuse()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Func", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCollectionViewCell(im)prepareForReuse", + "mangledName": "$s13SendbirdUIKit41SBUMultipleFilesMessageCollectionViewCellC15prepareForReuseyyF", + "moduleName": "SendbirdUIKit", + "overriding": true, + "isOpen": true, + "objc_name": "prepareForReuse", + "declAttributes": [ + "Dynamic", + "ObjC", + "Custom", + "AccessControl", + "Override" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "setGIFIcon", + "printedName": "setGIFIcon()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Func", + "usr": "s:13SendbirdUIKit41SBUMultipleFilesMessageCollectionViewCellC10setGIFIconyyF", + "mangledName": "$s13SendbirdUIKit41SBUMultipleFilesMessageCollectionViewCellC10setGIFIconyyF", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "Custom", + "AccessControl" + ], + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Class", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCollectionViewCell", + "mangledName": "$s13SendbirdUIKit41SBUMultipleFilesMessageCollectionViewCellC", + "moduleName": "SendbirdUIKit", + "isOpen": true, + "declAttributes": [ + "Custom", + "AccessControl", + "RawDocComment", + "ObjC" + ], + "superclassUsr": "c:@M@SendbirdUIKit@objc(cs)SBUCollectionViewCell", + "hasMissingDesignatedInitializers": true, + "inheritsConvenienceInitializers": true, + "superclassNames": [ + "SendbirdUIKit.SBUCollectionViewCell", + "UIKit.UICollectionViewCell", + "UIKit.UICollectionReusableView", + "UIKit.UIView", + "UIKit.UIResponder", + "ObjectiveC.NSObject" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "CVarArg", + "printedName": "CVarArg", + "usr": "s:s7CVarArgP", + "mangledName": "$ss7CVarArgP" + }, + { + "kind": "Conformance", + "name": "_KeyValueCodingAndObservingPublishing", + "printedName": "_KeyValueCodingAndObservingPublishing", + "usr": "s:10Foundation37_KeyValueCodingAndObservingPublishingP", + "mangledName": "$s10Foundation37_KeyValueCodingAndObservingPublishingP" + }, + { + "kind": "Conformance", + "name": "_KeyValueCodingAndObserving", + "printedName": "_KeyValueCodingAndObserving", + "usr": "s:10Foundation27_KeyValueCodingAndObservingP", + "mangledName": "$s10Foundation27_KeyValueCodingAndObservingP" + }, + { + "kind": "Conformance", + "name": "CustomStringConvertible", + "printedName": "CustomStringConvertible", + "usr": "s:s23CustomStringConvertibleP", + "mangledName": "$ss23CustomStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "CustomDebugStringConvertible", + "printedName": "CustomDebugStringConvertible", + "usr": "s:s28CustomDebugStringConvertibleP", + "mangledName": "$ss28CustomDebugStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + }, + { + "kind": "Conformance", + "name": "__DefaultCustomPlaygroundQuickLookable", + "printedName": "__DefaultCustomPlaygroundQuickLookable", + "usr": "s:s38__DefaultCustomPlaygroundQuickLookableP", + "mangledName": "$ss38__DefaultCustomPlaygroundQuickLookableP" + }, + { + "kind": "Conformance", + "name": "SBUViewLifeCycle", + "printedName": "SBUViewLifeCycle", + "usr": "c:@M@SendbirdUIKit@objc(pl)SBUViewLifeCycle", + "mangledName": "$s13SendbirdUIKit16SBUViewLifeCycleP" + } + ] + }, { "kind": "Import", "name": "Foundation", @@ -154532,6 +158636,111 @@ "name": "SBUParentMessageInfoView", "printedName": "SBUParentMessageInfoView", "children": [ + { + "kind": "TypeDecl", + "name": "Constants", + "printedName": "Constants", + "children": [ + { + "kind": "Var", + "name": "verticalSideMarginSize", + "printedName": "verticalSideMarginSize", + "children": [ + { + "kind": "TypeNominal", + "name": "CGFloat", + "printedName": "CoreGraphics.CGFloat", + "usr": "s:14CoreFoundation7CGFloatV" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC9ConstantsV22verticalSideMarginSize14CoreFoundation7CGFloatVvpZ", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC9ConstantsV22verticalSideMarginSize12CoreGraphics7CGFloatVvpZ", + "moduleName": "SendbirdUIKit", + "static": true, + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "CGFloat", + "printedName": "CoreGraphics.CGFloat", + "usr": "s:14CoreFoundation7CGFloatV" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC9ConstantsV22verticalSideMarginSize14CoreFoundation7CGFloatVvgZ", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC9ConstantsV22verticalSideMarginSize12CoreGraphics7CGFloatVvgZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "CGFloat", + "printedName": "CoreGraphics.CGFloat", + "usr": "s:14CoreFoundation7CGFloatV" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC9ConstantsV22verticalSideMarginSize14CoreFoundation7CGFloatVvsZ", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC9ConstantsV22verticalSideMarginSize12CoreGraphics7CGFloatVvsZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC9ConstantsV22verticalSideMarginSize14CoreFoundation7CGFloatVvMZ", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC9ConstantsV22verticalSideMarginSize12CoreGraphics7CGFloatVvMZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "accessorKind": "_modify" + } + ] + } + ], + "declKind": "Struct", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC9ConstantsV", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC9ConstantsV", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ] + }, { "kind": "Var", "name": "profileView", @@ -154620,6 +158829,93 @@ } ] }, + { + "kind": "Var", + "name": "profileBaseView", + "printedName": "profileBaseView", + "children": [ + { + "kind": "TypeNominal", + "name": "UIView", + "printedName": "UIKit.UIView", + "usr": "c:objc(cs)UIView" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC011profileBaseF0So6UIViewCvp", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC011profileBaseF0So6UIViewCvp", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "Custom", + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "UIView", + "printedName": "UIKit.UIView", + "usr": "c:objc(cs)UIView" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC011profileBaseF0So6UIViewCvg", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC011profileBaseF0So6UIViewCvg", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "UIView", + "printedName": "UIKit.UIView", + "usr": "c:objc(cs)UIView" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC011profileBaseF0So6UIViewCvs", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC011profileBaseF0So6UIViewCvs", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC011profileBaseF0So6UIViewCvM", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC011profileBaseF0So6UIViewCvM", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, { "kind": "Var", "name": "userNameLabel", @@ -154908,8 +159204,8 @@ }, { "kind": "Var", - "name": "replySeparateLine", - "printedName": "replySeparateLine", + "name": "moreButtonBaseView", + "printedName": "moreButtonBaseView", "children": [ { "kind": "TypeNominal", @@ -154919,15 +159215,14 @@ } ], "declKind": "Var", - "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC17replySeparateLineSo6UIViewCvp", - "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC17replySeparateLineSo6UIViewCvp", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC014moreButtonBaseF0So6UIViewCvp", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC014moreButtonBaseF0So6UIViewCvp", "moduleName": "SendbirdUIKit", "declAttributes": [ "Custom", "HasInitialValue", "HasStorage", - "AccessControl", - "RawDocComment" + "AccessControl" ], "hasStorage": true, "accessors": [ @@ -154944,8 +159239,8 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC17replySeparateLineSo6UIViewCvg", - "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC17replySeparateLineSo6UIViewCvg", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC014moreButtonBaseF0So6UIViewCvg", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC014moreButtonBaseF0So6UIViewCvg", "moduleName": "SendbirdUIKit", "implicit": true, "accessorKind": "get" @@ -154968,96 +159263,8 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC17replySeparateLineSo6UIViewCvs", - "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC17replySeparateLineSo6UIViewCvs", - "moduleName": "SendbirdUIKit", - "implicit": true, - "accessorKind": "set" - }, - { - "kind": "Accessor", - "name": "Modify", - "printedName": "Modify()", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - } - ], - "declKind": "Accessor", - "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC17replySeparateLineSo6UIViewCvM", - "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC17replySeparateLineSo6UIViewCvM", - "moduleName": "SendbirdUIKit", - "implicit": true, - "accessorKind": "_modify" - } - ] - }, - { - "kind": "Var", - "name": "replyLabel", - "printedName": "replyLabel", - "children": [ - { - "kind": "TypeNominal", - "name": "UILabel", - "printedName": "UIKit.UILabel", - "usr": "c:objc(cs)UILabel" - } - ], - "declKind": "Var", - "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC10replyLabelSo7UILabelCvp", - "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC10replyLabelSo7UILabelCvp", - "moduleName": "SendbirdUIKit", - "declAttributes": [ - "Custom", - "HasInitialValue", - "HasStorage", - "AccessControl", - "RawDocComment" - ], - "hasStorage": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "UILabel", - "printedName": "UIKit.UILabel", - "usr": "c:objc(cs)UILabel" - } - ], - "declKind": "Accessor", - "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC10replyLabelSo7UILabelCvg", - "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC10replyLabelSo7UILabelCvg", - "moduleName": "SendbirdUIKit", - "implicit": true, - "accessorKind": "get" - }, - { - "kind": "Accessor", - "name": "Set", - "printedName": "Set()", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "UILabel", - "printedName": "UIKit.UILabel", - "usr": "c:objc(cs)UILabel" - } - ], - "declKind": "Accessor", - "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC10replyLabelSo7UILabelCvs", - "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC10replyLabelSo7UILabelCvs", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC014moreButtonBaseF0So6UIViewCvs", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC014moreButtonBaseF0So6UIViewCvs", "moduleName": "SendbirdUIKit", "implicit": true, "accessorKind": "set" @@ -155074,8 +159281,8 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC10replyLabelSo7UILabelCvM", - "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC10replyLabelSo7UILabelCvM", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC014moreButtonBaseF0So6UIViewCvM", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC014moreButtonBaseF0So6UIViewCvM", "moduleName": "SendbirdUIKit", "implicit": true, "accessorKind": "_modify" @@ -155084,8 +159291,8 @@ }, { "kind": "Var", - "name": "bottomSeparateLine", - "printedName": "bottomSeparateLine", + "name": "replySeparateLine", + "printedName": "replySeparateLine", "children": [ { "kind": "TypeNominal", @@ -155095,8 +159302,184 @@ } ], "declKind": "Var", - "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC18bottomSeparateLineSo6UIViewCvp", - "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC18bottomSeparateLineSo6UIViewCvp", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC17replySeparateLineSo6UIViewCvp", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC17replySeparateLineSo6UIViewCvp", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "Custom", + "HasInitialValue", + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "UIView", + "printedName": "UIKit.UIView", + "usr": "c:objc(cs)UIView" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC17replySeparateLineSo6UIViewCvg", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC17replySeparateLineSo6UIViewCvg", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "UIView", + "printedName": "UIKit.UIView", + "usr": "c:objc(cs)UIView" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC17replySeparateLineSo6UIViewCvs", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC17replySeparateLineSo6UIViewCvs", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC17replySeparateLineSo6UIViewCvM", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC17replySeparateLineSo6UIViewCvM", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "replyLabel", + "printedName": "replyLabel", + "children": [ + { + "kind": "TypeNominal", + "name": "UILabel", + "printedName": "UIKit.UILabel", + "usr": "c:objc(cs)UILabel" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC10replyLabelSo7UILabelCvp", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC10replyLabelSo7UILabelCvp", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "Custom", + "HasInitialValue", + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "UILabel", + "printedName": "UIKit.UILabel", + "usr": "c:objc(cs)UILabel" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC10replyLabelSo7UILabelCvg", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC10replyLabelSo7UILabelCvg", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "UILabel", + "printedName": "UIKit.UILabel", + "usr": "c:objc(cs)UILabel" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC10replyLabelSo7UILabelCvs", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC10replyLabelSo7UILabelCvs", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC10replyLabelSo7UILabelCvM", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC10replyLabelSo7UILabelCvM", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "bottomSeparateLine", + "printedName": "bottomSeparateLine", + "children": [ + { + "kind": "TypeNominal", + "name": "UIView", + "printedName": "UIKit.UIView", + "usr": "c:objc(cs)UIView" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC18bottomSeparateLineSo6UIViewCvp", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC18bottomSeparateLineSo6UIViewCvp", "moduleName": "SendbirdUIKit", "declAttributes": [ "Custom", @@ -155348,28 +159731,26 @@ }, { "kind": "Var", - "name": "webView", - "printedName": "webView", + "name": "fileCollectionView", + "printedName": "fileCollectionView", "children": [ { "kind": "TypeNominal", - "name": "SBUMessageWebView", - "printedName": "SendbirdUIKit.SBUMessageWebView", - "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMessageWebView" + "name": "SBUMultipleFilesMessageCollectionView", + "printedName": "SendbirdUIKit.SBUMultipleFilesMessageCollectionView", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCollectionView" } ], "declKind": "Var", - "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC03webF0AA013SBUMessageWebF0Cvp", - "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC03webF0AA013SBUMessageWebF0Cvp", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC014fileCollectionF0AA016SBUMultipleFilesdhF0Cvp", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC014fileCollectionF0AA016SBUMultipleFilesdhF0Cvp", "moduleName": "SendbirdUIKit", "declAttributes": [ "Custom", - "HasInitialValue", - "HasStorage", + "Lazy", "AccessControl", "RawDocComment" ], - "hasStorage": true, "accessors": [ { "kind": "Accessor", @@ -155378,14 +159759,14 @@ "children": [ { "kind": "TypeNominal", - "name": "SBUMessageWebView", - "printedName": "SendbirdUIKit.SBUMessageWebView", - "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMessageWebView" + "name": "SBUMultipleFilesMessageCollectionView", + "printedName": "SendbirdUIKit.SBUMultipleFilesMessageCollectionView", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCollectionView" } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC03webF0AA013SBUMessageWebF0Cvg", - "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC03webF0AA013SBUMessageWebF0Cvg", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC014fileCollectionF0AA016SBUMultipleFilesdhF0Cvg", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC014fileCollectionF0AA016SBUMultipleFilesdhF0Cvg", "moduleName": "SendbirdUIKit", "implicit": true, "accessorKind": "get" @@ -155402,14 +159783,14 @@ }, { "kind": "TypeNominal", - "name": "SBUMessageWebView", - "printedName": "SendbirdUIKit.SBUMessageWebView", - "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMessageWebView" + "name": "SBUMultipleFilesMessageCollectionView", + "printedName": "SendbirdUIKit.SBUMultipleFilesMessageCollectionView", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCollectionView" } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC03webF0AA013SBUMessageWebF0Cvs", - "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC03webF0AA013SBUMessageWebF0Cvs", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC014fileCollectionF0AA016SBUMultipleFilesdhF0Cvs", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC014fileCollectionF0AA016SBUMultipleFilesdhF0Cvs", "moduleName": "SendbirdUIKit", "implicit": true, "accessorKind": "set" @@ -155426,8 +159807,8 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC03webF0AA013SBUMessageWebF0CvM", - "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC03webF0AA013SBUMessageWebF0CvM", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC014fileCollectionF0AA016SBUMultipleFilesdhF0CvM", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC014fileCollectionF0AA016SBUMultipleFilesdhF0CvM", "moduleName": "SendbirdUIKit", "implicit": true, "accessorKind": "_modify" @@ -155436,19 +159817,19 @@ }, { "kind": "Var", - "name": "reactionView", - "printedName": "reactionView", + "name": "webView", + "printedName": "webView", "children": [ { "kind": "TypeNominal", - "name": "SBUParentMessageInfoReactionView", - "printedName": "SendbirdUIKit.SBUParentMessageInfoReactionView", - "usr": "c:@M@SendbirdUIKit@objc(cs)SBUParentMessageInfoReactionView" + "name": "SBUMessageWebView", + "printedName": "SendbirdUIKit.SBUMessageWebView", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMessageWebView" } ], "declKind": "Var", - "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC08reactionF0AA0cde8ReactionF0Cvp", - "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC08reactionF0AA0cde8ReactionF0Cvp", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC03webF0AA013SBUMessageWebF0Cvp", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC03webF0AA013SBUMessageWebF0Cvp", "moduleName": "SendbirdUIKit", "declAttributes": [ "Custom", @@ -155466,14 +159847,14 @@ "children": [ { "kind": "TypeNominal", - "name": "SBUParentMessageInfoReactionView", - "printedName": "SendbirdUIKit.SBUParentMessageInfoReactionView", - "usr": "c:@M@SendbirdUIKit@objc(cs)SBUParentMessageInfoReactionView" + "name": "SBUMessageWebView", + "printedName": "SendbirdUIKit.SBUMessageWebView", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMessageWebView" } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC08reactionF0AA0cde8ReactionF0Cvg", - "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC08reactionF0AA0cde8ReactionF0Cvg", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC03webF0AA013SBUMessageWebF0Cvg", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC03webF0AA013SBUMessageWebF0Cvg", "moduleName": "SendbirdUIKit", "implicit": true, "accessorKind": "get" @@ -155490,14 +159871,14 @@ }, { "kind": "TypeNominal", - "name": "SBUParentMessageInfoReactionView", - "printedName": "SendbirdUIKit.SBUParentMessageInfoReactionView", - "usr": "c:@M@SendbirdUIKit@objc(cs)SBUParentMessageInfoReactionView" + "name": "SBUMessageWebView", + "printedName": "SendbirdUIKit.SBUMessageWebView", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMessageWebView" } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC08reactionF0AA0cde8ReactionF0Cvs", - "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC08reactionF0AA0cde8ReactionF0Cvs", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC03webF0AA013SBUMessageWebF0Cvs", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC03webF0AA013SBUMessageWebF0Cvs", "moduleName": "SendbirdUIKit", "implicit": true, "accessorKind": "set" @@ -155514,8 +159895,8 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC08reactionF0AA0cde8ReactionF0CvM", - "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC08reactionF0AA0cde8ReactionF0CvM", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC03webF0AA013SBUMessageWebF0CvM", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC03webF0AA013SBUMessageWebF0CvM", "moduleName": "SendbirdUIKit", "implicit": true, "accessorKind": "_modify" @@ -155524,26 +159905,28 @@ }, { "kind": "Var", - "name": "userHStackView", - "printedName": "userHStackView", + "name": "reactionView", + "printedName": "reactionView", "children": [ { "kind": "TypeNominal", - "name": "SBUStackView", - "printedName": "SendbirdUIKit.SBUStackView", - "usr": "c:@M@SendbirdUIKit@objc(cs)SBUStackView" + "name": "SBUParentMessageInfoReactionView", + "printedName": "SendbirdUIKit.SBUParentMessageInfoReactionView", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUParentMessageInfoReactionView" } ], "declKind": "Var", - "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC010userHStackF0AA08SBUStackF0Cvp", - "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC010userHStackF0AA08SBUStackF0Cvp", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC08reactionF0AA0cde8ReactionF0Cvp", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC08reactionF0AA0cde8ReactionF0Cvp", "moduleName": "SendbirdUIKit", "declAttributes": [ "Custom", - "Lazy", + "HasInitialValue", + "HasStorage", "AccessControl", "RawDocComment" ], + "hasStorage": true, "accessors": [ { "kind": "Accessor", @@ -155552,14 +159935,14 @@ "children": [ { "kind": "TypeNominal", - "name": "SBUStackView", - "printedName": "SendbirdUIKit.SBUStackView", - "usr": "c:@M@SendbirdUIKit@objc(cs)SBUStackView" + "name": "SBUParentMessageInfoReactionView", + "printedName": "SendbirdUIKit.SBUParentMessageInfoReactionView", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUParentMessageInfoReactionView" } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC010userHStackF0AA08SBUStackF0Cvg", - "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC010userHStackF0AA08SBUStackF0Cvg", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC08reactionF0AA0cde8ReactionF0Cvg", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC08reactionF0AA0cde8ReactionF0Cvg", "moduleName": "SendbirdUIKit", "implicit": true, "accessorKind": "get" @@ -155576,14 +159959,14 @@ }, { "kind": "TypeNominal", - "name": "SBUStackView", - "printedName": "SendbirdUIKit.SBUStackView", - "usr": "c:@M@SendbirdUIKit@objc(cs)SBUStackView" + "name": "SBUParentMessageInfoReactionView", + "printedName": "SendbirdUIKit.SBUParentMessageInfoReactionView", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUParentMessageInfoReactionView" } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC010userHStackF0AA08SBUStackF0Cvs", - "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC010userHStackF0AA08SBUStackF0Cvs", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC08reactionF0AA0cde8ReactionF0Cvs", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC08reactionF0AA0cde8ReactionF0Cvs", "moduleName": "SendbirdUIKit", "implicit": true, "accessorKind": "set" @@ -155600,8 +159983,8 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC010userHStackF0AA08SBUStackF0CvM", - "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC010userHStackF0AA08SBUStackF0CvM", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC08reactionF0AA0cde8ReactionF0CvM", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC08reactionF0AA0cde8ReactionF0CvM", "moduleName": "SendbirdUIKit", "implicit": true, "accessorKind": "_modify" @@ -155610,8 +159993,8 @@ }, { "kind": "Var", - "name": "senderVStackView", - "printedName": "senderVStackView", + "name": "userHStackView", + "printedName": "userHStackView", "children": [ { "kind": "TypeNominal", @@ -155621,8 +160004,8 @@ } ], "declKind": "Var", - "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC012senderVStackF0AA08SBUStackF0Cvp", - "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC012senderVStackF0AA08SBUStackF0Cvp", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC010userHStackF0AA08SBUStackF0Cvp", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC010userHStackF0AA08SBUStackF0Cvp", "moduleName": "SendbirdUIKit", "declAttributes": [ "Custom", @@ -155644,8 +160027,8 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC012senderVStackF0AA08SBUStackF0Cvg", - "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC012senderVStackF0AA08SBUStackF0Cvg", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC010userHStackF0AA08SBUStackF0Cvg", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC010userHStackF0AA08SBUStackF0Cvg", "moduleName": "SendbirdUIKit", "implicit": true, "accessorKind": "get" @@ -155668,8 +160051,8 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC012senderVStackF0AA08SBUStackF0Cvs", - "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC012senderVStackF0AA08SBUStackF0Cvs", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC010userHStackF0AA08SBUStackF0Cvs", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC010userHStackF0AA08SBUStackF0Cvs", "moduleName": "SendbirdUIKit", "implicit": true, "accessorKind": "set" @@ -155686,8 +160069,8 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC012senderVStackF0AA08SBUStackF0CvM", - "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC012senderVStackF0AA08SBUStackF0CvM", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC010userHStackF0AA08SBUStackF0CvM", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC010userHStackF0AA08SBUStackF0CvM", "moduleName": "SendbirdUIKit", "implicit": true, "accessorKind": "_modify" @@ -155696,8 +160079,8 @@ }, { "kind": "Var", - "name": "contentVStackView", - "printedName": "contentVStackView", + "name": "senderVStackView", + "printedName": "senderVStackView", "children": [ { "kind": "TypeNominal", @@ -155707,8 +160090,8 @@ } ], "declKind": "Var", - "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC013contentVStackF0AA08SBUStackF0Cvp", - "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC013contentVStackF0AA08SBUStackF0Cvp", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC012senderVStackF0AA08SBUStackF0Cvp", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC012senderVStackF0AA08SBUStackF0Cvp", "moduleName": "SendbirdUIKit", "declAttributes": [ "Custom", @@ -155730,8 +160113,94 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC013contentVStackF0AA08SBUStackF0Cvg", - "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC013contentVStackF0AA08SBUStackF0Cvg", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC012senderVStackF0AA08SBUStackF0Cvg", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC012senderVStackF0AA08SBUStackF0Cvg", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "SBUStackView", + "printedName": "SendbirdUIKit.SBUStackView", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUStackView" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC012senderVStackF0AA08SBUStackF0Cvs", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC012senderVStackF0AA08SBUStackF0Cvs", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC012senderVStackF0AA08SBUStackF0CvM", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC012senderVStackF0AA08SBUStackF0CvM", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "contentVStackView", + "printedName": "contentVStackView", + "children": [ + { + "kind": "TypeNominal", + "name": "SBUStackView", + "printedName": "SendbirdUIKit.SBUStackView", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUStackView" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC013contentVStackF0AA08SBUStackF0Cvp", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC013contentVStackF0AA08SBUStackF0Cvp", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "Custom", + "Lazy", + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "SBUStackView", + "printedName": "SendbirdUIKit.SBUStackView", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUStackView" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC013contentVStackF0AA08SBUStackF0Cvg", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC013contentVStackF0AA08SBUStackF0Cvg", "moduleName": "SendbirdUIKit", "implicit": true, "accessorKind": "get" @@ -155946,6 +160415,92 @@ } ] }, + { + "kind": "Var", + "name": "contentView", + "printedName": "contentView", + "children": [ + { + "kind": "TypeNominal", + "name": "UIView", + "printedName": "UIKit.UIView", + "usr": "c:objc(cs)UIView" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC07contentF0So6UIViewCvp", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC07contentF0So6UIViewCvp", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "Custom", + "Lazy", + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "UIView", + "printedName": "UIKit.UIView", + "usr": "c:objc(cs)UIView" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC07contentF0So6UIViewCvg", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC07contentF0So6UIViewCvg", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "UIView", + "printedName": "UIKit.UIView", + "usr": "c:objc(cs)UIView" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC07contentF0So6UIViewCvs", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC07contentF0So6UIViewCvs", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC07contentF0So6UIViewCvM", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC07contentF0So6UIViewCvM", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, { "kind": "Var", "name": "enablesReaction", @@ -156326,18 +160881,18 @@ }, { "kind": "Var", - "name": "moreButtonTapHandlerToContent", - "printedName": "moreButtonTapHandlerToContent", + "name": "fileSelectHandler", + "printedName": "fileSelectHandler", "children": [ { "kind": "TypeNominal", "name": "Optional", - "printedName": "(() -> ())?", + "printedName": "((SendbirdChatSDK.UploadedFileInfo, Swift.Int) -> ())?", "children": [ { "kind": "TypeFunc", "name": "Function", - "printedName": "() -> ()", + "printedName": "(SendbirdChatSDK.UploadedFileInfo, Swift.Int) -> ()", "children": [ { "kind": "TypeNominal", @@ -156346,8 +160901,22 @@ }, { "kind": "TypeNominal", - "name": "Void", - "printedName": "()" + "name": "Tuple", + "printedName": "(SendbirdChatSDK.UploadedFileInfo, Swift.Int)", + "children": [ + { + "kind": "TypeNominal", + "name": "UploadedFileInfo", + "printedName": "SendbirdChatSDK.UploadedFileInfo", + "usr": "c:@M@SendbirdChatSDK@objc(cs)SBDUploadedFileInfo" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ] } ] } @@ -156356,8 +160925,8 @@ } ], "declKind": "Var", - "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC29moreButtonTapHandlerToContentyycSgvp", - "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC29moreButtonTapHandlerToContentyycSgvp", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC17fileSelectHandlery0A7ChatSDK012UploadedFileE0C_SitcSgvp", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC17fileSelectHandlery0A7ChatSDK012UploadedFileE0C_SitcSgvp", "moduleName": "SendbirdUIKit", "declAttributes": [ "Custom", @@ -156376,12 +160945,12 @@ { "kind": "TypeNominal", "name": "Optional", - "printedName": "(() -> ())?", + "printedName": "((SendbirdChatSDK.UploadedFileInfo, Swift.Int) -> ())?", "children": [ { "kind": "TypeFunc", "name": "Function", - "printedName": "() -> ()", + "printedName": "(SendbirdChatSDK.UploadedFileInfo, Swift.Int) -> ()", "children": [ { "kind": "TypeNominal", @@ -156390,8 +160959,22 @@ }, { "kind": "TypeNominal", - "name": "Void", - "printedName": "()" + "name": "Tuple", + "printedName": "(SendbirdChatSDK.UploadedFileInfo, Swift.Int)", + "children": [ + { + "kind": "TypeNominal", + "name": "UploadedFileInfo", + "printedName": "SendbirdChatSDK.UploadedFileInfo", + "usr": "c:@M@SendbirdChatSDK@objc(cs)SBDUploadedFileInfo" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ] } ] } @@ -156400,8 +160983,167 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC29moreButtonTapHandlerToContentyycSgvg", - "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC29moreButtonTapHandlerToContentyycSgvg", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC17fileSelectHandlery0A7ChatSDK012UploadedFileE0C_SitcSgvg", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC17fileSelectHandlery0A7ChatSDK012UploadedFileE0C_SitcSgvg", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "((SendbirdChatSDK.UploadedFileInfo, Swift.Int) -> ())?", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(SendbirdChatSDK.UploadedFileInfo, Swift.Int) -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(SendbirdChatSDK.UploadedFileInfo, Swift.Int)", + "children": [ + { + "kind": "TypeNominal", + "name": "UploadedFileInfo", + "printedName": "SendbirdChatSDK.UploadedFileInfo", + "usr": "c:@M@SendbirdChatSDK@objc(cs)SBDUploadedFileInfo" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ] + } + ] + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC17fileSelectHandlery0A7ChatSDK012UploadedFileE0C_SitcSgvs", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC17fileSelectHandlery0A7ChatSDK012UploadedFileE0C_SitcSgvs", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC17fileSelectHandlery0A7ChatSDK012UploadedFileE0C_SitcSgvM", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC17fileSelectHandlery0A7ChatSDK012UploadedFileE0C_SitcSgvM", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "moreButtonTapHandlerToContent", + "printedName": "moreButtonTapHandlerToContent", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "(() -> ())?", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "() -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ] + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC29moreButtonTapHandlerToContentyycSgvp", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC29moreButtonTapHandlerToContentyycSgvp", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "Custom", + "HasInitialValue", + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "(() -> ())?", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "() -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ] + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC29moreButtonTapHandlerToContentyycSgvg", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC29moreButtonTapHandlerToContentyycSgvg", "moduleName": "SendbirdUIKit", "implicit": true, "accessorKind": "get" @@ -157058,48 +161800,6 @@ } ] }, - { - "kind": "Constructor", - "name": "init", - "printedName": "init(reuseIdentifier:)", - "children": [ - { - "kind": "TypeNominal", - "name": "SBUParentMessageInfoView", - "printedName": "SendbirdUIKit.SBUParentMessageInfoView", - "usr": "c:@M@SendbirdUIKit@objc(cs)SBUParentMessageInfoView" - }, - { - "kind": "TypeNominal", - "name": "Optional", - "printedName": "Swift.String?", - "children": [ - { - "kind": "TypeNominal", - "name": "String", - "printedName": "Swift.String", - "usr": "s:SS" - } - ], - "usr": "s:Sq" - } - ], - "declKind": "Constructor", - "usr": "c:@M@SendbirdUIKit@objc(cs)SBUParentMessageInfoView(im)initWithReuseIdentifier:", - "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC15reuseIdentifierACSSSg_tcfc", - "moduleName": "SendbirdUIKit", - "overriding": true, - "objc_name": "initWithReuseIdentifier:", - "declAttributes": [ - "Dynamic", - "ObjC", - "Custom", - "Override", - "AccessControl", - "RawDocComment" - ], - "init_kind": "Designated" - }, { "kind": "Function", "name": "setupViews", @@ -157112,12 +161812,17 @@ } ], "declKind": "Func", - "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC10setupViewsyyF", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUParentMessageInfoView(im)setupViews", "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC10setupViewsyyF", "moduleName": "SendbirdUIKit", + "overriding": true, "isOpen": true, + "objc_name": "setupViews", "declAttributes": [ + "Dynamic", + "ObjC", "Custom", + "Override", "AccessControl" ], "funcSelfKind": "NonMutating" @@ -157134,12 +161839,17 @@ } ], "declKind": "Func", - "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC12setupLayoutsyyF", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUParentMessageInfoView(im)setupLayouts", "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC12setupLayoutsyyF", "moduleName": "SendbirdUIKit", + "overriding": true, "isOpen": true, + "objc_name": "setupLayouts", "declAttributes": [ + "Dynamic", + "ObjC", "Custom", + "Override", "AccessControl" ], "funcSelfKind": "NonMutating" @@ -157156,12 +161866,17 @@ } ], "declKind": "Func", - "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC13updateLayoutsyyF", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUParentMessageInfoView(im)updateLayouts", "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC13updateLayoutsyyF", "moduleName": "SendbirdUIKit", + "overriding": true, "isOpen": true, + "objc_name": "updateLayouts", "declAttributes": [ + "Dynamic", + "ObjC", "Custom", + "Override", "AccessControl" ], "funcSelfKind": "NonMutating" @@ -157178,12 +161893,17 @@ } ], "declKind": "Func", - "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC11setupStylesyyF", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUParentMessageInfoView(im)setupStyles", "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC11setupStylesyyF", "moduleName": "SendbirdUIKit", + "overriding": true, "isOpen": true, + "objc_name": "setupStyles", "declAttributes": [ + "Dynamic", + "ObjC", "Custom", + "Override", "AccessControl" ], "funcSelfKind": "NonMutating" @@ -157259,6 +161979,35 @@ ], "funcSelfKind": "NonMutating" }, + { + "kind": "Function", + "name": "updateMessageTextWidth", + "printedName": "updateMessageTextWidth(with:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "CGSize", + "printedName": "CoreFoundation.CGSize", + "usr": "c:@S@CGSize" + } + ], + "declKind": "Func", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC06updateD9TextWidth4withySo6CGSizeV_tF", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC06updateD9TextWidth4withySo6CGSizeV_tF", + "moduleName": "SendbirdUIKit", + "isOpen": true, + "declAttributes": [ + "Custom", + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, { "kind": "Function", "name": "setupActions", @@ -157271,12 +162020,17 @@ } ], "declKind": "Func", - "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC12setupActionsyyF", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUParentMessageInfoView(im)setupActions", "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC12setupActionsyyF", "moduleName": "SendbirdUIKit", + "overriding": true, "isOpen": true, + "objc_name": "setupActions", "declAttributes": [ + "Dynamic", + "ObjC", "Custom", + "Override", "AccessControl", "RawDocComment" ], @@ -157344,6 +162098,37 @@ ], "funcSelfKind": "NonMutating" }, + { + "kind": "Function", + "name": "onSelectFile", + "printedName": "onSelectFile(sender:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "UITapGestureRecognizer", + "printedName": "UIKit.UITapGestureRecognizer", + "usr": "c:objc(cs)UITapGestureRecognizer" + } + ], + "declKind": "Func", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUParentMessageInfoView(im)onSelectFileWithSender:", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC12onSelectFile6senderySo22UITapGestureRecognizerC_tF", + "moduleName": "SendbirdUIKit", + "isOpen": true, + "objc_name": "onSelectFileWithSender:", + "declAttributes": [ + "Custom", + "AccessControl", + "ObjC", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, { "kind": "Function", "name": "onTapWebview", @@ -157437,6 +162222,221 @@ "AccessControl" ], "funcSelfKind": "NonMutating" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init()", + "children": [ + { + "kind": "TypeNominal", + "name": "SBUParentMessageInfoView", + "printedName": "SendbirdUIKit.SBUParentMessageInfoView", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUParentMessageInfoView" + } + ], + "declKind": "Constructor", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUParentMessageInfoView(im)init", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewCACycfc", + "moduleName": "SendbirdUIKit", + "overriding": true, + "implicit": true, + "objc_name": "init", + "declAttributes": [ + "Dynamic", + "ObjC", + "Custom", + "Override" + ], + "init_kind": "Designated" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(frame:)", + "children": [ + { + "kind": "TypeNominal", + "name": "SBUParentMessageInfoView", + "printedName": "SendbirdUIKit.SBUParentMessageInfoView", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUParentMessageInfoView" + }, + { + "kind": "TypeNominal", + "name": "CGRect", + "printedName": "CoreFoundation.CGRect", + "usr": "c:@S@CGRect" + } + ], + "declKind": "Constructor", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUParentMessageInfoView(im)initWithFrame:", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC5frameACSo6CGRectV_tcfc", + "moduleName": "SendbirdUIKit", + "overriding": true, + "implicit": true, + "objc_name": "initWithFrame:", + "declAttributes": [ + "Dynamic", + "ObjC", + "Custom", + "Override" + ], + "init_kind": "Designated" + }, + { + "kind": "Function", + "name": "numberOfSections", + "printedName": "numberOfSections(in:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "UICollectionView", + "printedName": "UIKit.UICollectionView", + "usr": "c:objc(cs)UICollectionView" + } + ], + "declKind": "Func", + "usr": "c:@CM@SendbirdUIKit@objc(cs)SBUParentMessageInfoView(im)numberOfSectionsInCollectionView:", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC16numberOfSections2inSiSo012UICollectionF0C_tF", + "moduleName": "SendbirdUIKit", + "objc_name": "numberOfSectionsInCollectionView:", + "declAttributes": [ + "Dynamic", + "ObjC", + "Custom", + "AccessControl" + ], + "isFromExtension": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "collectionView", + "printedName": "collectionView(_:numberOfItemsInSection:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "UICollectionView", + "printedName": "UIKit.UICollectionView", + "usr": "c:objc(cs)UICollectionView" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Func", + "usr": "c:@CM@SendbirdUIKit@objc(cs)SBUParentMessageInfoView(im)collectionView:numberOfItemsInSection:", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC010collectionF0_22numberOfItemsInSectionSiSo012UICollectionF0C_SitF", + "moduleName": "SendbirdUIKit", + "isOpen": true, + "objc_name": "collectionView:numberOfItemsInSection:", + "declAttributes": [ + "Dynamic", + "ObjC", + "Custom", + "AccessControl" + ], + "isFromExtension": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "collectionView", + "printedName": "collectionView(_:layout:sizeForItemAt:)", + "children": [ + { + "kind": "TypeNominal", + "name": "CGSize", + "printedName": "CoreFoundation.CGSize", + "usr": "c:@S@CGSize" + }, + { + "kind": "TypeNominal", + "name": "UICollectionView", + "printedName": "UIKit.UICollectionView", + "usr": "c:objc(cs)UICollectionView" + }, + { + "kind": "TypeNominal", + "name": "UICollectionViewLayout", + "printedName": "UIKit.UICollectionViewLayout", + "usr": "c:objc(cs)UICollectionViewLayout" + }, + { + "kind": "TypeNominal", + "name": "IndexPath", + "printedName": "Foundation.IndexPath", + "usr": "s:10Foundation9IndexPathV" + } + ], + "declKind": "Func", + "usr": "c:@CM@SendbirdUIKit@objc(cs)SBUParentMessageInfoView(im)collectionView:layout:sizeForItemAtIndexPath:", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC010collectionF0_6layout13sizeForItemAtSo6CGSizeVSo012UICollectionF0C_So0nF6LayoutC10Foundation9IndexPathVtF", + "moduleName": "SendbirdUIKit", + "isOpen": true, + "objc_name": "collectionView:layout:sizeForItemAtIndexPath:", + "declAttributes": [ + "Dynamic", + "ObjC", + "Custom", + "AccessControl" + ], + "isFromExtension": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "collectionView", + "printedName": "collectionView(_:cellForItemAt:)", + "children": [ + { + "kind": "TypeNominal", + "name": "UICollectionViewCell", + "printedName": "UIKit.UICollectionViewCell", + "usr": "c:objc(cs)UICollectionViewCell" + }, + { + "kind": "TypeNominal", + "name": "UICollectionView", + "printedName": "UIKit.UICollectionView", + "usr": "c:objc(cs)UICollectionView" + }, + { + "kind": "TypeNominal", + "name": "IndexPath", + "printedName": "Foundation.IndexPath", + "usr": "s:10Foundation9IndexPathV" + } + ], + "declKind": "Func", + "usr": "c:@CM@SendbirdUIKit@objc(cs)SBUParentMessageInfoView(im)collectionView:cellForItemAtIndexPath:", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC010collectionF0_13cellForItemAtSo012UICollectionF4CellCSo0lF0C_10Foundation9IndexPathVtF", + "moduleName": "SendbirdUIKit", + "isOpen": true, + "objc_name": "collectionView:cellForItemAtIndexPath:", + "declAttributes": [ + "Dynamic", + "ObjC", + "Custom", + "AccessControl" + ], + "isFromExtension": true, + "funcSelfKind": "NonMutating" } ], "declKind": "Class", @@ -157449,10 +162449,10 @@ "AccessControl", "ObjC" ], - "superclassUsr": "c:objc(cs)UITableViewHeaderFooterView", + "superclassUsr": "c:@M@SendbirdUIKit@objc(cs)SBUView", "inheritsConvenienceInitializers": true, "superclassNames": [ - "UIKit.UITableViewHeaderFooterView", + "SendbirdUIKit.SBUView", "UIKit.UIView", "UIKit.UIResponder", "ObjectiveC.NSObject" @@ -157527,6 +162527,13 @@ "printedName": "__DefaultCustomPlaygroundQuickLookable", "usr": "s:s38__DefaultCustomPlaygroundQuickLookableP", "mangledName": "$ss38__DefaultCustomPlaygroundQuickLookableP" + }, + { + "kind": "Conformance", + "name": "SBUViewLifeCycle", + "printedName": "SBUViewLifeCycle", + "usr": "c:@M@SendbirdUIKit@objc(pl)SBUViewLifeCycle", + "mangledName": "$s13SendbirdUIKit16SBUViewLifeCycleP" } ] }, @@ -159032,6 +164039,191 @@ } ] }, + { + "kind": "Var", + "name": "multipleFilesMessageParamsSendBuilder", + "printedName": "multipleFilesMessageParamsSendBuilder", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "((SendbirdChatSDK.MultipleFilesMessageCreateParams?) -> ())?", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(SendbirdChatSDK.MultipleFilesMessageCreateParams?) -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "SendbirdChatSDK.MultipleFilesMessageCreateParams?", + "children": [ + { + "kind": "TypeNominal", + "name": "MultipleFilesMessageCreateParams", + "printedName": "SendbirdChatSDK.MultipleFilesMessageCreateParams", + "usr": "c:@M@SendbirdChatSDK@objc(cs)SBDMultipleFilesMessageCreateParams" + } + ], + "usr": "s:Sq" + } + ] + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit21SBUGlobalCustomParamsC020multipleFilesMessageE11SendBuildery0A7ChatSDK08Multiplegh6CreateE0CSgcSgvpZ", + "mangledName": "$s13SendbirdUIKit21SBUGlobalCustomParamsC020multipleFilesMessageE11SendBuildery0A7ChatSDK08Multiplegh6CreateE0CSgcSgvpZ", + "moduleName": "SendbirdUIKit", + "static": true, + "declAttributes": [ + "HasInitialValue", + "Final", + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "((SendbirdChatSDK.MultipleFilesMessageCreateParams?) -> ())?", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(SendbirdChatSDK.MultipleFilesMessageCreateParams?) -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "SendbirdChatSDK.MultipleFilesMessageCreateParams?", + "children": [ + { + "kind": "TypeNominal", + "name": "MultipleFilesMessageCreateParams", + "printedName": "SendbirdChatSDK.MultipleFilesMessageCreateParams", + "usr": "c:@M@SendbirdChatSDK@objc(cs)SBDMultipleFilesMessageCreateParams" + } + ], + "usr": "s:Sq" + } + ] + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit21SBUGlobalCustomParamsC020multipleFilesMessageE11SendBuildery0A7ChatSDK08Multiplegh6CreateE0CSgcSgvgZ", + "mangledName": "$s13SendbirdUIKit21SBUGlobalCustomParamsC020multipleFilesMessageE11SendBuildery0A7ChatSDK08Multiplegh6CreateE0CSgcSgvgZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "declAttributes": [ + "Final" + ], + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "((SendbirdChatSDK.MultipleFilesMessageCreateParams?) -> ())?", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(SendbirdChatSDK.MultipleFilesMessageCreateParams?) -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "SendbirdChatSDK.MultipleFilesMessageCreateParams?", + "children": [ + { + "kind": "TypeNominal", + "name": "MultipleFilesMessageCreateParams", + "printedName": "SendbirdChatSDK.MultipleFilesMessageCreateParams", + "usr": "c:@M@SendbirdChatSDK@objc(cs)SBDMultipleFilesMessageCreateParams" + } + ], + "usr": "s:Sq" + } + ] + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit21SBUGlobalCustomParamsC020multipleFilesMessageE11SendBuildery0A7ChatSDK08Multiplegh6CreateE0CSgcSgvsZ", + "mangledName": "$s13SendbirdUIKit21SBUGlobalCustomParamsC020multipleFilesMessageE11SendBuildery0A7ChatSDK08Multiplegh6CreateE0CSgcSgvsZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "declAttributes": [ + "Final" + ], + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit21SBUGlobalCustomParamsC020multipleFilesMessageE11SendBuildery0A7ChatSDK08Multiplegh6CreateE0CSgcSgvMZ", + "mangledName": "$s13SendbirdUIKit21SBUGlobalCustomParamsC020multipleFilesMessageE11SendBuildery0A7ChatSDK08Multiplegh6CreateE0CSgcSgvMZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "declAttributes": [ + "Final" + ], + "accessorKind": "_modify" + } + ] + }, { "kind": "Var", "name": "messageListParamsBuilder", @@ -162862,6 +168054,7 @@ "usr": "c:@M@SendbirdUIKit@objc(cs)SBUContentBaseMessageCell(py)mainContainerView", "mangledName": "$s13SendbirdUIKit25SBUContentBaseMessageCellC17mainContainerViewAA018SBUSelectableStackI0Cvp", "moduleName": "SendbirdUIKit", + "isOpen": true, "declAttributes": [ "Custom", "Lazy", @@ -162887,6 +168080,7 @@ "mangledName": "$s13SendbirdUIKit25SBUContentBaseMessageCellC17mainContainerViewAA018SBUSelectableStackI0Cvg", "moduleName": "SendbirdUIKit", "implicit": true, + "isOpen": true, "declAttributes": [ "ObjC" ], @@ -162914,6 +168108,7 @@ "mangledName": "$s13SendbirdUIKit25SBUContentBaseMessageCellC17mainContainerViewAA018SBUSelectableStackI0Cvs", "moduleName": "SendbirdUIKit", "implicit": true, + "isOpen": true, "declAttributes": [ "ObjC" ], @@ -162935,6 +168130,7 @@ "mangledName": "$s13SendbirdUIKit25SBUContentBaseMessageCellC17mainContainerViewAA018SBUSelectableStackI0CvM", "moduleName": "SendbirdUIKit", "implicit": true, + "isOpen": true, "accessorKind": "_modify" } ] @@ -167726,7 +172922,7 @@ "children": [ { "kind": "TypeNominal", - "name": "ImplicitlyUnwrappedOptional", + "name": "Optional", "printedName": "UIKit.NSLayoutConstraint?", "children": [ { @@ -167760,7 +172956,7 @@ "children": [ { "kind": "TypeNominal", - "name": "ImplicitlyUnwrappedOptional", + "name": "Optional", "printedName": "UIKit.NSLayoutConstraint?", "children": [ { @@ -172504,6 +177700,38 @@ ], "funcSelfKind": "NonMutating" }, + { + "kind": "Function", + "name": "updateStyles", + "printedName": "updateStyles(needsToLayout:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Func", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUOpenChannelViewController(im)updateStylesWithNeedsToLayout:", + "mangledName": "$s13SendbirdUIKit28SBUOpenChannelViewControllerC12updateStyles13needsToLayoutySb_tF", + "moduleName": "SendbirdUIKit", + "overriding": true, + "isOpen": true, + "objc_name": "updateStylesWithNeedsToLayout:", + "declAttributes": [ + "ObjC", + "Custom", + "Override", + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, { "kind": "Function", "name": "updateStyles", @@ -178220,6 +183448,47 @@ } ] }, + { + "kind": "Var", + "name": "isMultipleFilesMessage", + "printedName": "isMultipleFilesMessage", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit30SBUQuoteMessageInputViewParamsC015isMultipleFilesD0Sbvp", + "mangledName": "$s13SendbirdUIKit30SBUQuoteMessageInputViewParamsC015isMultipleFilesD0Sbvp", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit30SBUQuoteMessageInputViewParamsC015isMultipleFilesD0Sbvg", + "mangledName": "$s13SendbirdUIKit30SBUQuoteMessageInputViewParamsC015isMultipleFilesD0Sbvg", + "moduleName": "SendbirdUIKit", + "accessorKind": "get" + } + ] + }, { "kind": "Var", "name": "fileType", @@ -179447,6 +184716,16 @@ ], "hasMissingDesignatedInitializers": true }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "RawDocComment" + ] + }, { "kind": "Import", "name": "UIKit", @@ -185960,7 +191239,7 @@ "children": [ { "kind": "TypeNominal", - "name": "ImplicitlyUnwrappedOptional", + "name": "Optional", "printedName": "UIKit.NSLayoutConstraint?", "children": [ { @@ -185994,7 +191273,7 @@ "children": [ { "kind": "TypeNominal", - "name": "ImplicitlyUnwrappedOptional", + "name": "Optional", "printedName": "UIKit.NSLayoutConstraint?", "children": [ { @@ -186029,7 +191308,7 @@ }, { "kind": "TypeNominal", - "name": "ImplicitlyUnwrappedOptional", + "name": "Optional", "printedName": "UIKit.NSLayoutConstraint?", "children": [ { @@ -186364,6 +191643,39 @@ ], "funcSelfKind": "NonMutating" }, + { + "kind": "Function", + "name": "viewDidAppear", + "printedName": "viewDidAppear(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Func", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUBaseChannelViewController(im)viewDidAppear:", + "mangledName": "$s13SendbirdUIKit28SBUBaseChannelViewControllerC13viewDidAppearyySbF", + "moduleName": "SendbirdUIKit", + "overriding": true, + "isOpen": true, + "objc_name": "viewDidAppear:", + "declAttributes": [ + "Dynamic", + "ObjC", + "Custom", + "Override", + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, { "kind": "Function", "name": "viewDidLoad", @@ -187037,6 +192349,35 @@ ], "funcSelfKind": "NonMutating" }, + { + "kind": "Function", + "name": "openFile", + "printedName": "openFile(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "SBUFileData", + "printedName": "SendbirdUIKit.SBUFileData", + "usr": "s:13SendbirdUIKit11SBUFileDataV" + } + ], + "declKind": "Func", + "usr": "s:13SendbirdUIKit28SBUBaseChannelViewControllerC8openFileyyAA11SBUFileDataVF", + "mangledName": "$s13SendbirdUIKit28SBUBaseChannelViewControllerC8openFileyyAA11SBUFileDataVF", + "moduleName": "SendbirdUIKit", + "isOpen": true, + "declAttributes": [ + "Custom", + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, { "kind": "Function", "name": "openFile", @@ -200248,6 +205589,305 @@ "declKind": "Import", "moduleName": "SendbirdUIKit" }, + { + "kind": "Import", + "name": "SendbirdChatSDK", + "printedName": "SendbirdChatSDK", + "declKind": "Import", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "TypeDecl", + "name": "SBUMultipleFilesMessageCellParams", + "printedName": "SBUMultipleFilesMessageCellParams", + "children": [ + { + "kind": "Var", + "name": "multipleFilesMessage", + "printedName": "multipleFilesMessage", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "SendbirdChatSDK.MultipleFilesMessage?", + "children": [ + { + "kind": "TypeNominal", + "name": "MultipleFilesMessage", + "printedName": "SendbirdChatSDK.MultipleFilesMessage", + "usr": "c:@M@SendbirdChatSDK@objc(cs)SBDMultipleFilesMessage" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit33SBUMultipleFilesMessageCellParamsC08multipledE00A7ChatSDK08MultipledE0CSgvp", + "mangledName": "$s13SendbirdUIKit33SBUMultipleFilesMessageCellParamsC08multipledE00A7ChatSDK08MultipledE0CSgvp", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "AccessControl" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "SendbirdChatSDK.MultipleFilesMessage?", + "children": [ + { + "kind": "TypeNominal", + "name": "MultipleFilesMessage", + "printedName": "SendbirdChatSDK.MultipleFilesMessage", + "usr": "c:@M@SendbirdChatSDK@objc(cs)SBDMultipleFilesMessage" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit33SBUMultipleFilesMessageCellParamsC08multipledE00A7ChatSDK08MultipledE0CSgvg", + "mangledName": "$s13SendbirdUIKit33SBUMultipleFilesMessageCellParamsC08multipledE00A7ChatSDK08MultipledE0CSgvg", + "moduleName": "SendbirdUIKit", + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "useReaction", + "printedName": "useReaction", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit33SBUMultipleFilesMessageCellParamsC11useReactionSbvp", + "mangledName": "$s13SendbirdUIKit33SBUMultipleFilesMessageCellParamsC11useReactionSbvp", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "Final", + "HasStorage", + "AccessControl" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit33SBUMultipleFilesMessageCellParamsC11useReactionSbvg", + "mangledName": "$s13SendbirdUIKit33SBUMultipleFilesMessageCellParamsC11useReactionSbvg", + "moduleName": "SendbirdUIKit", + "implicit": true, + "declAttributes": [ + "Final" + ], + "accessorKind": "get" + } + ] + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(message:hideDateView:useMessagePosition:groupPosition:receiptState:useReaction:isThreadMessage:joinedAt:voiceFileInfo:)", + "children": [ + { + "kind": "TypeNominal", + "name": "SBUMultipleFilesMessageCellParams", + "printedName": "SendbirdUIKit.SBUMultipleFilesMessageCellParams", + "usr": "s:13SendbirdUIKit33SBUMultipleFilesMessageCellParamsC" + }, + { + "kind": "TypeNominal", + "name": "MultipleFilesMessage", + "printedName": "SendbirdChatSDK.MultipleFilesMessage", + "usr": "c:@M@SendbirdChatSDK@objc(cs)SBDMultipleFilesMessage" + }, + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "MessageGroupPosition", + "printedName": "SendbirdUIKit.MessageGroupPosition", + "hasDefaultArg": true, + "usr": "c:@M@SendbirdUIKit@E@MessageGroupPosition" + }, + { + "kind": "TypeNominal", + "name": "SBUMessageReceiptState", + "printedName": "SendbirdUIKit.SBUMessageReceiptState", + "hasDefaultArg": true, + "usr": "c:@M@SendbirdUIKit@E@SBUMessageReceiptState" + }, + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "hasDefaultArg": true, + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "hasDefaultArg": true, + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "Int64", + "printedName": "Swift.Int64", + "hasDefaultArg": true, + "usr": "s:s5Int64V" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "SendbirdUIKit.SBUVoiceFileInfo?", + "children": [ + { + "kind": "TypeNominal", + "name": "SBUVoiceFileInfo", + "printedName": "SendbirdUIKit.SBUVoiceFileInfo", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUVoiceFileInfo" + } + ], + "hasDefaultArg": true, + "usr": "s:Sq" + } + ], + "declKind": "Constructor", + "usr": "s:13SendbirdUIKit33SBUMultipleFilesMessageCellParamsC7message12hideDateView03useE8Position05groupM012receiptState0L8Reaction08isThreadE08joinedAt13voiceFileInfoAC0A7ChatSDK08MultipledE0C_S2bAA0e5GroupM0OAA017SBUMessageReceiptP0OS2bs5Int64VAA08SBUVoicewX0CSgtcfc", + "mangledName": "$s13SendbirdUIKit33SBUMultipleFilesMessageCellParamsC7message12hideDateView03useE8Position05groupM012receiptState0L8Reaction08isThreadE08joinedAt13voiceFileInfoAC0A7ChatSDK08MultipledE0C_S2bAA0e5GroupM0OAA017SBUMessageReceiptP0OS2bs5Int64VAA08SBUVoicewX0CSgtcfc", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "AccessControl" + ], + "init_kind": "Designated" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(message:hideDateView:messagePosition:groupPosition:receiptState:isThreadMessage:joinedAt:messageOffsetTimestamp:)", + "children": [ + { + "kind": "TypeNominal", + "name": "SBUMultipleFilesMessageCellParams", + "printedName": "SendbirdUIKit.SBUMultipleFilesMessageCellParams", + "usr": "s:13SendbirdUIKit33SBUMultipleFilesMessageCellParamsC" + }, + { + "kind": "TypeNominal", + "name": "BaseMessage", + "printedName": "SendbirdChatSDK.BaseMessage", + "usr": "c:@M@SendbirdChatSDK@objc(cs)SBDBaseMessage" + }, + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "MessagePosition", + "printedName": "SendbirdUIKit.MessagePosition", + "hasDefaultArg": true, + "usr": "c:@M@SendbirdUIKit@E@MessagePosition" + }, + { + "kind": "TypeNominal", + "name": "MessageGroupPosition", + "printedName": "SendbirdUIKit.MessageGroupPosition", + "hasDefaultArg": true, + "usr": "c:@M@SendbirdUIKit@E@MessageGroupPosition" + }, + { + "kind": "TypeNominal", + "name": "SBUMessageReceiptState", + "printedName": "SendbirdUIKit.SBUMessageReceiptState", + "hasDefaultArg": true, + "usr": "c:@M@SendbirdUIKit@E@SBUMessageReceiptState" + }, + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "hasDefaultArg": true, + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "Int64", + "printedName": "Swift.Int64", + "hasDefaultArg": true, + "usr": "s:s5Int64V" + }, + { + "kind": "TypeNominal", + "name": "Int64", + "printedName": "Swift.Int64", + "hasDefaultArg": true, + "usr": "s:s5Int64V" + } + ], + "declKind": "Constructor", + "usr": "s:13SendbirdUIKit33SBUMultipleFilesMessageCellParamsC7message12hideDateView0H8Position05groupL012receiptState08isThreadE08joinedAt0H15OffsetTimestampAC0A7ChatSDK04BaseE0C_SbAA0eL0OAA0e5GroupL0OAA017SBUMessageReceiptO0OSbs5Int64VAVtcfc", + "mangledName": "$s13SendbirdUIKit33SBUMultipleFilesMessageCellParamsC7message12hideDateView0H8Position05groupL012receiptState08isThreadE08joinedAt0H15OffsetTimestampAC0A7ChatSDK04BaseE0C_SbAA0eL0OAA0e5GroupL0OAA017SBUMessageReceiptO0OSbs5Int64VAVtcfc", + "moduleName": "SendbirdUIKit", + "overriding": true, + "implicit": true, + "declAttributes": [ + "Override" + ], + "init_kind": "Designated" + } + ], + "declKind": "Class", + "usr": "s:13SendbirdUIKit33SBUMultipleFilesMessageCellParamsC", + "mangledName": "$s13SendbirdUIKit33SBUMultipleFilesMessageCellParamsC", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "superclassUsr": "s:13SendbirdUIKit24SBUBaseMessageCellParamsC", + "superclassNames": [ + "SendbirdUIKit.SBUBaseMessageCellParams" + ] + }, { "kind": "Import", "name": "UIKit", @@ -202892,6 +208532,36 @@ ], "funcSelfKind": "NonMutating" }, + { + "kind": "Function", + "name": "updateStyles", + "printedName": "updateStyles(needsToLayout:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Func", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUBaseViewController(im)updateStylesWithNeedsToLayout:", + "mangledName": "$s13SendbirdUIKit21SBUBaseViewControllerC12updateStyles13needsToLayoutySb_tF", + "moduleName": "SendbirdUIKit", + "isOpen": true, + "declAttributes": [ + "Custom", + "AccessControl", + "RawDocComment", + "ObjC" + ], + "funcSelfKind": "NonMutating" + }, { "kind": "Function", "name": "setupNavigationBar", @@ -211981,64 +217651,29 @@ "RawDocComment" ], "funcSelfKind": "NonMutating" - } - ], - "declKind": "Class", - "usr": "s:13SendbirdUIKit12SBUAvailableC", - "mangledName": "$s13SendbirdUIKit12SBUAvailableC", - "moduleName": "SendbirdUIKit", - "declAttributes": [ - "AccessControl" - ], - "hasMissingDesignatedInitializers": true - }, - { - "kind": "Import", - "name": "UIKit", - "printedName": "UIKit", - "declKind": "Import", - "moduleName": "SendbirdUIKit", - "declAttributes": [ - "RawDocComment" - ] - }, - { - "kind": "TypeDecl", - "name": "SBUMessageThreadModule", - "printedName": "SBUMessageThreadModule", - "children": [ + }, { "kind": "Var", - "name": "HeaderComponent", - "printedName": "HeaderComponent", + "name": "multipleFilesMessageFileCountLimit", + "printedName": "multipleFilesMessageFileCountLimit", "children": [ { "kind": "TypeNominal", - "name": "Metatype", - "printedName": "SendbirdUIKit.SBUMessageThreadModule.Header.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "Header", - "printedName": "SendbirdUIKit.SBUMessageThreadModule.Header", - "usr": "s:13SendbirdUIKit22SBUMessageThreadModuleC6HeaderC" - } - ] + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" } ], "declKind": "Var", - "usr": "s:13SendbirdUIKit22SBUMessageThreadModuleC15HeaderComponentAC0F0CmvpZ", - "mangledName": "$s13SendbirdUIKit22SBUMessageThreadModuleC15HeaderComponentAC0F0CmvpZ", + "usr": "s:13SendbirdUIKit12SBUAvailableC34multipleFilesMessageFileCountLimitSivpZ", + "mangledName": "$s13SendbirdUIKit12SBUAvailableC34multipleFilesMessageFileCountLimitSivpZ", "moduleName": "SendbirdUIKit", "static": true, "declAttributes": [ - "HasInitialValue", "Final", - "HasStorage", "AccessControl", "RawDocComment" ], - "hasStorage": true, "accessors": [ { "kind": "Accessor", @@ -212047,120 +217682,45 @@ "children": [ { "kind": "TypeNominal", - "name": "Metatype", - "printedName": "SendbirdUIKit.SBUMessageThreadModule.Header.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "Header", - "printedName": "SendbirdUIKit.SBUMessageThreadModule.Header", - "usr": "s:13SendbirdUIKit22SBUMessageThreadModuleC6HeaderC" - } - ] + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit22SBUMessageThreadModuleC15HeaderComponentAC0F0CmvgZ", - "mangledName": "$s13SendbirdUIKit22SBUMessageThreadModuleC15HeaderComponentAC0F0CmvgZ", + "usr": "s:13SendbirdUIKit12SBUAvailableC34multipleFilesMessageFileCountLimitSivgZ", + "mangledName": "$s13SendbirdUIKit12SBUAvailableC34multipleFilesMessageFileCountLimitSivgZ", "moduleName": "SendbirdUIKit", "static": true, - "implicit": true, "declAttributes": [ "Final" ], "accessorKind": "get" - }, - { - "kind": "Accessor", - "name": "Set", - "printedName": "Set()", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "SendbirdUIKit.SBUMessageThreadModule.Header.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "Header", - "printedName": "SendbirdUIKit.SBUMessageThreadModule.Header", - "usr": "s:13SendbirdUIKit22SBUMessageThreadModuleC6HeaderC" - } - ] - } - ], - "declKind": "Accessor", - "usr": "s:13SendbirdUIKit22SBUMessageThreadModuleC15HeaderComponentAC0F0CmvsZ", - "mangledName": "$s13SendbirdUIKit22SBUMessageThreadModuleC15HeaderComponentAC0F0CmvsZ", - "moduleName": "SendbirdUIKit", - "static": true, - "implicit": true, - "declAttributes": [ - "Final" - ], - "accessorKind": "set" - }, - { - "kind": "Accessor", - "name": "Modify", - "printedName": "Modify()", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - } - ], - "declKind": "Accessor", - "usr": "s:13SendbirdUIKit22SBUMessageThreadModuleC15HeaderComponentAC0F0CmvMZ", - "mangledName": "$s13SendbirdUIKit22SBUMessageThreadModuleC15HeaderComponentAC0F0CmvMZ", - "moduleName": "SendbirdUIKit", - "static": true, - "implicit": true, - "declAttributes": [ - "Final" - ], - "accessorKind": "_modify" } ] }, { "kind": "Var", - "name": "ListComponent", - "printedName": "ListComponent", + "name": "uploadSizeLimitBytes", + "printedName": "uploadSizeLimitBytes", "children": [ { "kind": "TypeNominal", - "name": "Metatype", - "printedName": "SendbirdUIKit.SBUMessageThreadModule.List.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "List", - "printedName": "SendbirdUIKit.SBUMessageThreadModule.List", - "usr": "s:13SendbirdUIKit22SBUMessageThreadModuleC4ListC" - } - ] + "name": "Int64", + "printedName": "Swift.Int64", + "usr": "s:s5Int64V" } ], "declKind": "Var", - "usr": "s:13SendbirdUIKit22SBUMessageThreadModuleC13ListComponentAC0F0CmvpZ", - "mangledName": "$s13SendbirdUIKit22SBUMessageThreadModuleC13ListComponentAC0F0CmvpZ", + "usr": "s:13SendbirdUIKit12SBUAvailableC20uploadSizeLimitBytess5Int64VvpZ", + "mangledName": "$s13SendbirdUIKit12SBUAvailableC20uploadSizeLimitBytess5Int64VvpZ", "moduleName": "SendbirdUIKit", "static": true, "declAttributes": [ - "HasInitialValue", "Final", - "HasStorage", "AccessControl", "RawDocComment" ], - "hasStorage": true, "accessors": [ { "kind": "Accessor", @@ -212169,110 +217729,127 @@ "children": [ { "kind": "TypeNominal", - "name": "Metatype", - "printedName": "SendbirdUIKit.SBUMessageThreadModule.List.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "List", - "printedName": "SendbirdUIKit.SBUMessageThreadModule.List", - "usr": "s:13SendbirdUIKit22SBUMessageThreadModuleC4ListC" - } - ] + "name": "Int64", + "printedName": "Swift.Int64", + "usr": "s:s5Int64V" } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit22SBUMessageThreadModuleC13ListComponentAC0F0CmvgZ", - "mangledName": "$s13SendbirdUIKit22SBUMessageThreadModuleC13ListComponentAC0F0CmvgZ", + "usr": "s:13SendbirdUIKit12SBUAvailableC20uploadSizeLimitBytess5Int64VvgZ", + "mangledName": "$s13SendbirdUIKit12SBUAvailableC20uploadSizeLimitBytess5Int64VvgZ", "moduleName": "SendbirdUIKit", "static": true, - "implicit": true, "declAttributes": [ "Final" ], "accessorKind": "get" - }, + } + ] + }, + { + "kind": "Var", + "name": "uploadSizeLimitMB", + "printedName": "uploadSizeLimitMB", + "children": [ { - "kind": "Accessor", - "name": "Set", - "printedName": "Set()", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "SendbirdUIKit.SBUMessageThreadModule.List.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "List", - "printedName": "SendbirdUIKit.SBUMessageThreadModule.List", - "usr": "s:13SendbirdUIKit22SBUMessageThreadModuleC4ListC" - } - ] - } - ], - "declKind": "Accessor", - "usr": "s:13SendbirdUIKit22SBUMessageThreadModuleC13ListComponentAC0F0CmvsZ", - "mangledName": "$s13SendbirdUIKit22SBUMessageThreadModuleC13ListComponentAC0F0CmvsZ", - "moduleName": "SendbirdUIKit", - "static": true, - "implicit": true, - "declAttributes": [ - "Final" - ], - "accessorKind": "set" - }, + "kind": "TypeNominal", + "name": "Int64", + "printedName": "Swift.Int64", + "usr": "s:s5Int64V" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit12SBUAvailableC17uploadSizeLimitMBs5Int64VvpZ", + "mangledName": "$s13SendbirdUIKit12SBUAvailableC17uploadSizeLimitMBs5Int64VvpZ", + "moduleName": "SendbirdUIKit", + "static": true, + "declAttributes": [ + "Final", + "AccessControl", + "RawDocComment" + ], + "accessors": [ { "kind": "Accessor", - "name": "Modify", - "printedName": "Modify()", + "name": "Get", + "printedName": "Get()", "children": [ { "kind": "TypeNominal", - "name": "Void", - "printedName": "()" + "name": "Int64", + "printedName": "Swift.Int64", + "usr": "s:s5Int64V" } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit22SBUMessageThreadModuleC13ListComponentAC0F0CmvMZ", - "mangledName": "$s13SendbirdUIKit22SBUMessageThreadModuleC13ListComponentAC0F0CmvMZ", + "usr": "s:13SendbirdUIKit12SBUAvailableC17uploadSizeLimitMBs5Int64VvgZ", + "mangledName": "$s13SendbirdUIKit12SBUAvailableC17uploadSizeLimitMBs5Int64VvgZ", "moduleName": "SendbirdUIKit", "static": true, - "implicit": true, "declAttributes": [ "Final" ], - "accessorKind": "_modify" + "accessorKind": "get" } ] - }, + } + ], + "declKind": "Class", + "usr": "s:13SendbirdUIKit12SBUAvailableC", + "mangledName": "$s13SendbirdUIKit12SBUAvailableC", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "AccessControl" + ], + "hasMissingDesignatedInitializers": true + }, + { + "kind": "Import", + "name": "UIKit", + "printedName": "UIKit", + "declKind": "Import", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "UIKit", + "printedName": "UIKit", + "declKind": "Import", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "TypeDecl", + "name": "SBUMessageThreadModule", + "printedName": "SBUMessageThreadModule", + "children": [ { "kind": "Var", - "name": "InputComponent", - "printedName": "InputComponent", + "name": "HeaderComponent", + "printedName": "HeaderComponent", "children": [ { "kind": "TypeNominal", "name": "Metatype", - "printedName": "SendbirdUIKit.SBUMessageThreadModule.Input.Type", + "printedName": "SendbirdUIKit.SBUMessageThreadModule.Header.Type", "children": [ { "kind": "TypeNominal", - "name": "Input", - "printedName": "SendbirdUIKit.SBUMessageThreadModule.Input", - "usr": "s:13SendbirdUIKit22SBUMessageThreadModuleC5InputC" + "name": "Header", + "printedName": "SendbirdUIKit.SBUMessageThreadModule.Header", + "usr": "s:13SendbirdUIKit22SBUMessageThreadModuleC6HeaderC" } ] } ], "declKind": "Var", - "usr": "s:13SendbirdUIKit22SBUMessageThreadModuleC14InputComponentAC0F0CmvpZ", - "mangledName": "$s13SendbirdUIKit22SBUMessageThreadModuleC14InputComponentAC0F0CmvpZ", + "usr": "s:13SendbirdUIKit22SBUMessageThreadModuleC15HeaderComponentAC0F0CmvpZ", + "mangledName": "$s13SendbirdUIKit22SBUMessageThreadModuleC15HeaderComponentAC0F0CmvpZ", "moduleName": "SendbirdUIKit", "static": true, "declAttributes": [ @@ -212292,20 +217869,264 @@ { "kind": "TypeNominal", "name": "Metatype", - "printedName": "SendbirdUIKit.SBUMessageThreadModule.Input.Type", + "printedName": "SendbirdUIKit.SBUMessageThreadModule.Header.Type", "children": [ { "kind": "TypeNominal", - "name": "Input", - "printedName": "SendbirdUIKit.SBUMessageThreadModule.Input", - "usr": "s:13SendbirdUIKit22SBUMessageThreadModuleC5InputC" + "name": "Header", + "printedName": "SendbirdUIKit.SBUMessageThreadModule.Header", + "usr": "s:13SendbirdUIKit22SBUMessageThreadModuleC6HeaderC" } ] } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit22SBUMessageThreadModuleC14InputComponentAC0F0CmvgZ", - "mangledName": "$s13SendbirdUIKit22SBUMessageThreadModuleC14InputComponentAC0F0CmvgZ", + "usr": "s:13SendbirdUIKit22SBUMessageThreadModuleC15HeaderComponentAC0F0CmvgZ", + "mangledName": "$s13SendbirdUIKit22SBUMessageThreadModuleC15HeaderComponentAC0F0CmvgZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "declAttributes": [ + "Final" + ], + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "SendbirdUIKit.SBUMessageThreadModule.Header.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "Header", + "printedName": "SendbirdUIKit.SBUMessageThreadModule.Header", + "usr": "s:13SendbirdUIKit22SBUMessageThreadModuleC6HeaderC" + } + ] + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit22SBUMessageThreadModuleC15HeaderComponentAC0F0CmvsZ", + "mangledName": "$s13SendbirdUIKit22SBUMessageThreadModuleC15HeaderComponentAC0F0CmvsZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "declAttributes": [ + "Final" + ], + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit22SBUMessageThreadModuleC15HeaderComponentAC0F0CmvMZ", + "mangledName": "$s13SendbirdUIKit22SBUMessageThreadModuleC15HeaderComponentAC0F0CmvMZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "declAttributes": [ + "Final" + ], + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "ListComponent", + "printedName": "ListComponent", + "children": [ + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "SendbirdUIKit.SBUMessageThreadModule.List.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "List", + "printedName": "SendbirdUIKit.SBUMessageThreadModule.List", + "usr": "s:13SendbirdUIKit22SBUMessageThreadModuleC4ListC" + } + ] + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit22SBUMessageThreadModuleC13ListComponentAC0F0CmvpZ", + "mangledName": "$s13SendbirdUIKit22SBUMessageThreadModuleC13ListComponentAC0F0CmvpZ", + "moduleName": "SendbirdUIKit", + "static": true, + "declAttributes": [ + "HasInitialValue", + "Final", + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "SendbirdUIKit.SBUMessageThreadModule.List.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "List", + "printedName": "SendbirdUIKit.SBUMessageThreadModule.List", + "usr": "s:13SendbirdUIKit22SBUMessageThreadModuleC4ListC" + } + ] + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit22SBUMessageThreadModuleC13ListComponentAC0F0CmvgZ", + "mangledName": "$s13SendbirdUIKit22SBUMessageThreadModuleC13ListComponentAC0F0CmvgZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "declAttributes": [ + "Final" + ], + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "SendbirdUIKit.SBUMessageThreadModule.List.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "List", + "printedName": "SendbirdUIKit.SBUMessageThreadModule.List", + "usr": "s:13SendbirdUIKit22SBUMessageThreadModuleC4ListC" + } + ] + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit22SBUMessageThreadModuleC13ListComponentAC0F0CmvsZ", + "mangledName": "$s13SendbirdUIKit22SBUMessageThreadModuleC13ListComponentAC0F0CmvsZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "declAttributes": [ + "Final" + ], + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit22SBUMessageThreadModuleC13ListComponentAC0F0CmvMZ", + "mangledName": "$s13SendbirdUIKit22SBUMessageThreadModuleC13ListComponentAC0F0CmvMZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "declAttributes": [ + "Final" + ], + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "InputComponent", + "printedName": "InputComponent", + "children": [ + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "SendbirdUIKit.SBUMessageThreadModule.Input.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "Input", + "printedName": "SendbirdUIKit.SBUMessageThreadModule.Input", + "usr": "s:13SendbirdUIKit22SBUMessageThreadModuleC5InputC" + } + ] + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit22SBUMessageThreadModuleC14InputComponentAC0F0CmvpZ", + "mangledName": "$s13SendbirdUIKit22SBUMessageThreadModuleC14InputComponentAC0F0CmvpZ", + "moduleName": "SendbirdUIKit", + "static": true, + "declAttributes": [ + "HasInitialValue", + "Final", + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "SendbirdUIKit.SBUMessageThreadModule.Input.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "Input", + "printedName": "SendbirdUIKit.SBUMessageThreadModule.Input", + "usr": "s:13SendbirdUIKit22SBUMessageThreadModuleC5InputC" + } + ] + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit22SBUMessageThreadModuleC14InputComponentAC0F0CmvgZ", + "mangledName": "$s13SendbirdUIKit22SBUMessageThreadModuleC14InputComponentAC0F0CmvgZ", "moduleName": "SendbirdUIKit", "static": true, "implicit": true, @@ -213955,6 +219776,257 @@ ], "funcSelfKind": "NonMutating" }, + { + "kind": "Function", + "name": "pickMultipleImageFiles", + "printedName": "pickMultipleImageFiles(itemProviders:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Foundation.NSItemProvider]", + "children": [ + { + "kind": "TypeNominal", + "name": "NSItemProvider", + "printedName": "Foundation.NSItemProvider", + "usr": "c:objc(cs)NSItemProvider" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Func", + "usr": "s:13SendbirdUIKit22SBUMessageThreadModuleC5InputC22pickMultipleImageFiles13itemProvidersySaySo14NSItemProviderCG_tF", + "mangledName": "$s13SendbirdUIKit22SBUMessageThreadModuleC5InputC22pickMultipleImageFiles13itemProvidersySaySo14NSItemProviderCG_tF", + "moduleName": "SendbirdUIKit", + "intro_iOS": "14.0", + "declAttributes": [ + "Custom", + "AccessControl", + "Available", + "RawDocComment", + "ObjC" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "loadImageFile", + "printedName": "loadImageFile(itemProvider:index:completion:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "NSItemProvider", + "printedName": "Foundation.NSItemProvider", + "usr": "c:objc(cs)NSItemProvider" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.Int?", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "hasDefaultArg": true, + "usr": "s:Sq" + }, + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Foundation.Data?, Swift.String?, Swift.String?) -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(Foundation.Data?, Swift.String?, Swift.String?)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Foundation.Data?", + "children": [ + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.String?", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.String?", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "usr": "s:Sq" + } + ] + } + ] + } + ], + "declKind": "Func", + "usr": "s:13SendbirdUIKit22SBUMessageThreadModuleC5InputC13loadImageFile12itemProvider5index10completionySo06NSItemK0C_SiSgy10Foundation4DataVSg_SSSgAQtctF", + "mangledName": "$s13SendbirdUIKit22SBUMessageThreadModuleC5InputC13loadImageFile12itemProvider5index10completionySo06NSItemK0C_SiSgy10Foundation4DataVSg_SSSgAQtctF", + "moduleName": "SendbirdUIKit", + "intro_iOS": "14.0", + "declAttributes": [ + "Custom", + "AccessControl", + "Available", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "loadGIFfile", + "printedName": "loadGIFfile(itemProvider:index:completion:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "NSItemProvider", + "printedName": "Foundation.NSItemProvider", + "usr": "c:objc(cs)NSItemProvider" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.Int?", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "hasDefaultArg": true, + "usr": "s:Sq" + }, + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Foundation.Data?, Swift.String?, Swift.String?) -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(Foundation.Data?, Swift.String?, Swift.String?)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Foundation.Data?", + "children": [ + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.String?", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.String?", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "usr": "s:Sq" + } + ] + } + ] + } + ], + "declKind": "Func", + "usr": "s:13SendbirdUIKit22SBUMessageThreadModuleC5InputC11loadGIFfile12itemProvider5index10completionySo06NSItemJ0C_SiSgy10Foundation4DataVSg_SSSgAQtctF", + "mangledName": "$s13SendbirdUIKit22SBUMessageThreadModuleC5InputC11loadGIFfile12itemProvider5index10completionySo06NSItemJ0C_SiSgy10Foundation4DataVSg_SSSgAQtctF", + "moduleName": "SendbirdUIKit", + "intro_iOS": "14.0", + "declAttributes": [ + "Custom", + "AccessControl", + "Available", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, { "kind": "Function", "name": "updateMessageInputMode", @@ -215464,6 +221536,73 @@ } ] }, + { + "kind": "Var", + "name": "multipleFilesMessageCell", + "printedName": "multipleFilesMessageCell", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "SendbirdUIKit.SBUBaseMessageCell?", + "children": [ + { + "kind": "TypeNominal", + "name": "SBUBaseMessageCell", + "printedName": "SendbirdUIKit.SBUBaseMessageCell", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUBaseMessageCell" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit22SBUMessageThreadModuleC4ListC24multipleFilesMessageCellAA07SBUBaseiJ0CSgvp", + "mangledName": "$s13SendbirdUIKit22SBUMessageThreadModuleC4ListC24multipleFilesMessageCellAA07SBUBaseiJ0CSgvp", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "HasInitialValue", + "Custom", + "HasStorage", + "SetterAccess", + "AccessControl", + "RawDocComment", + "ObjC" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "SendbirdUIKit.SBUBaseMessageCell?", + "children": [ + { + "kind": "TypeNominal", + "name": "SBUBaseMessageCell", + "printedName": "SendbirdUIKit.SBUBaseMessageCell", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUBaseMessageCell" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit22SBUMessageThreadModuleC4ListC24multipleFilesMessageCellAA07SBUBaseiJ0CSgvg", + "mangledName": "$s13SendbirdUIKit22SBUMessageThreadModuleC4ListC24multipleFilesMessageCellAA07SBUBaseiJ0CSgvg", + "moduleName": "SendbirdUIKit", + "implicit": true, + "declAttributes": [ + "ObjC" + ], + "accessorKind": "get" + } + ] + }, { "kind": "Var", "name": "unknownMessageCell", @@ -216516,20 +222655,27 @@ { "kind": "Function", "name": "reloadTableView", - "printedName": "reloadTableView()", + "printedName": "reloadTableView(needsToLayout:)", "children": [ { "kind": "TypeNominal", "name": "Void", "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "hasDefaultArg": true, + "usr": "s:Sb" } ], "declKind": "Func", - "usr": "s:13SendbirdUIKit22SBUMessageThreadModuleC4ListC15reloadTableViewyyF", - "mangledName": "$s13SendbirdUIKit22SBUMessageThreadModuleC4ListC15reloadTableViewyyF", + "usr": "s:13SendbirdUIKit22SBUMessageThreadModuleC4ListC15reloadTableView13needsToLayoutySb_tF", + "mangledName": "$s13SendbirdUIKit22SBUMessageThreadModuleC4ListC15reloadTableView13needsToLayoutySb_tF", "moduleName": "SendbirdUIKit", "overriding": true, - "objc_name": "reloadTableView", + "objc_name": "reloadTableViewWithNeedsToLayout:", "declAttributes": [ "ObjC", "Custom", @@ -216718,6 +222864,51 @@ ], "funcSelfKind": "NonMutating" }, + { + "kind": "Function", + "name": "register", + "printedName": "register(multipleFilesMessageCell:nib:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "SBUBaseMessageCell", + "printedName": "SendbirdUIKit.SBUBaseMessageCell", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUBaseMessageCell" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "UIKit.UINib?", + "children": [ + { + "kind": "TypeNominal", + "name": "UINib", + "printedName": "UIKit.UINib", + "usr": "c:objc(cs)UINib" + } + ], + "hasDefaultArg": true, + "usr": "s:Sq" + } + ], + "declKind": "Func", + "usr": "s:13SendbirdUIKit22SBUMessageThreadModuleC4ListC8register24multipleFilesMessageCell3nibyAA07SBUBasejK0C_So5UINibCSgtF", + "mangledName": "$s13SendbirdUIKit22SBUMessageThreadModuleC4ListC8register24multipleFilesMessageCell3nibyAA07SBUBasejK0C_So5UINibCSgtF", + "moduleName": "SendbirdUIKit", + "isOpen": true, + "declAttributes": [ + "Custom", + "AccessControl", + "RawDocComment", + "ObjC" + ], + "funcSelfKind": "NonMutating" + }, { "kind": "Function", "name": "register", @@ -227113,6 +233304,54 @@ ], "reqNewWitnessTableEntry": true, "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "groupChannelModule", + "printedName": "groupChannelModule(_:didSelectFileAt:multipleFilesMessageCell:forRowAt:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "List", + "printedName": "SendbirdUIKit.SBUGroupChannelModule.List", + "usr": "s:13SendbirdUIKit21SBUGroupChannelModuleC4ListC" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "SBUMultipleFilesMessageCell", + "printedName": "SendbirdUIKit.SBUMultipleFilesMessageCell", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCell" + }, + { + "kind": "TypeNominal", + "name": "IndexPath", + "printedName": "Foundation.IndexPath", + "usr": "s:10Foundation9IndexPathV" + } + ], + "declKind": "Func", + "usr": "s:13SendbirdUIKit33SBUGroupChannelModuleListDelegateP05groupdE0_15didSelectFileAt24multipleFilesMessageCell06forRowL0yAA0cdE0C0F0C_SiAA011SBUMultiplenoP0C10Foundation9IndexPathVtF", + "mangledName": "$s13SendbirdUIKit33SBUGroupChannelModuleListDelegateP05groupdE0_15didSelectFileAt24multipleFilesMessageCell06forRowL0yAA0cdE0C0F0C_SiAA011SBUMultiplenoP0C10Foundation9IndexPathVtF", + "moduleName": "SendbirdUIKit", + "genericSig": "<τ_0_0 where τ_0_0 : SendbirdUIKit.SBUGroupChannelModuleListDelegate>", + "sugared_genericSig": "", + "protocolReq": true, + "declAttributes": [ + "RawDocComment" + ], + "reqNewWitnessTableEntry": true, + "funcSelfKind": "NonMutating" } ], "declKind": "Protocol", @@ -227312,6 +233551,72 @@ "reqNewWitnessTableEntry": true, "funcSelfKind": "NonMutating" }, + { + "kind": "Function", + "name": "groupChannelModule", + "printedName": "groupChannelModule(_:didPickMultipleFiles:parentMessage:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Input", + "printedName": "SendbirdUIKit.SBUGroupChannelModule.Input", + "usr": "s:13SendbirdUIKit21SBUGroupChannelModuleC5InputC" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "[SendbirdChatSDK.UploadableFileInfo]?", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[SendbirdChatSDK.UploadableFileInfo]", + "children": [ + { + "kind": "TypeNominal", + "name": "UploadableFileInfo", + "printedName": "SendbirdChatSDK.UploadableFileInfo", + "usr": "c:@M@SendbirdChatSDK@objc(cs)SBDUploadableFileInfo" + } + ], + "usr": "s:Sa" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "SendbirdChatSDK.BaseMessage?", + "children": [ + { + "kind": "TypeNominal", + "name": "BaseMessage", + "printedName": "SendbirdChatSDK.BaseMessage", + "usr": "c:@M@SendbirdChatSDK@objc(cs)SBDBaseMessage" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Func", + "usr": "s:13SendbirdUIKit34SBUGroupChannelModuleInputDelegateP05groupdE0_20didPickMultipleFiles13parentMessageyAA0cdE0C0F0C_Say0A7ChatSDK18UploadableFileInfoCGSgAK04BaseN0CSgtF", + "mangledName": "$s13SendbirdUIKit34SBUGroupChannelModuleInputDelegateP05groupdE0_20didPickMultipleFiles13parentMessageyAA0cdE0C0F0C_Say0A7ChatSDK18UploadableFileInfoCGSgAK04BaseN0CSgtF", + "moduleName": "SendbirdUIKit", + "genericSig": "<τ_0_0 where τ_0_0 : SendbirdUIKit.SBUGroupChannelModuleInputDelegate>", + "sugared_genericSig": "", + "protocolReq": true, + "declAttributes": [ + "RawDocComment" + ], + "reqNewWitnessTableEntry": true, + "funcSelfKind": "NonMutating" + }, { "kind": "Function", "name": "groupChannelModule", @@ -233576,6 +239881,917 @@ "mangledName": "$s13SendbirdUIKit14SBUIconSetTypeO8iconStopyA2CmF", "moduleName": "SendbirdUIKit" }, + { + "kind": "TypeDecl", + "name": "Metric", + "printedName": "Metric", + "children": [ + { + "kind": "Var", + "name": "defaultIconSizeVerySmall", + "printedName": "defaultIconSizeVerySmall", + "children": [ + { + "kind": "TypeNominal", + "name": "CGSize", + "printedName": "CoreFoundation.CGSize", + "usr": "c:@S@CGSize" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit14SBUIconSetTypeO6MetricV24defaultIconSizeVerySmallSo6CGSizeVvpZ", + "mangledName": "$s13SendbirdUIKit14SBUIconSetTypeO6MetricV24defaultIconSizeVerySmallSo6CGSizeVvpZ", + "moduleName": "SendbirdUIKit", + "static": true, + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "CGSize", + "printedName": "CoreFoundation.CGSize", + "usr": "c:@S@CGSize" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit14SBUIconSetTypeO6MetricV24defaultIconSizeVerySmallSo6CGSizeVvgZ", + "mangledName": "$s13SendbirdUIKit14SBUIconSetTypeO6MetricV24defaultIconSizeVerySmallSo6CGSizeVvgZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "defaultIconSizeSmall", + "printedName": "defaultIconSizeSmall", + "children": [ + { + "kind": "TypeNominal", + "name": "CGSize", + "printedName": "CoreFoundation.CGSize", + "usr": "c:@S@CGSize" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit14SBUIconSetTypeO6MetricV20defaultIconSizeSmallSo6CGSizeVvpZ", + "mangledName": "$s13SendbirdUIKit14SBUIconSetTypeO6MetricV20defaultIconSizeSmallSo6CGSizeVvpZ", + "moduleName": "SendbirdUIKit", + "static": true, + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "CGSize", + "printedName": "CoreFoundation.CGSize", + "usr": "c:@S@CGSize" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit14SBUIconSetTypeO6MetricV20defaultIconSizeSmallSo6CGSizeVvgZ", + "mangledName": "$s13SendbirdUIKit14SBUIconSetTypeO6MetricV20defaultIconSizeSmallSo6CGSizeVvgZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "defaultIconSizeMedium", + "printedName": "defaultIconSizeMedium", + "children": [ + { + "kind": "TypeNominal", + "name": "CGSize", + "printedName": "CoreFoundation.CGSize", + "usr": "c:@S@CGSize" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit14SBUIconSetTypeO6MetricV21defaultIconSizeMediumSo6CGSizeVvpZ", + "mangledName": "$s13SendbirdUIKit14SBUIconSetTypeO6MetricV21defaultIconSizeMediumSo6CGSizeVvpZ", + "moduleName": "SendbirdUIKit", + "static": true, + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "CGSize", + "printedName": "CoreFoundation.CGSize", + "usr": "c:@S@CGSize" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit14SBUIconSetTypeO6MetricV21defaultIconSizeMediumSo6CGSizeVvgZ", + "mangledName": "$s13SendbirdUIKit14SBUIconSetTypeO6MetricV21defaultIconSizeMediumSo6CGSizeVvgZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "defaultIconSize", + "printedName": "defaultIconSize", + "children": [ + { + "kind": "TypeNominal", + "name": "CGSize", + "printedName": "CoreFoundation.CGSize", + "usr": "c:@S@CGSize" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit14SBUIconSetTypeO6MetricV15defaultIconSizeSo6CGSizeVvpZ", + "mangledName": "$s13SendbirdUIKit14SBUIconSetTypeO6MetricV15defaultIconSizeSo6CGSizeVvpZ", + "moduleName": "SendbirdUIKit", + "static": true, + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "CGSize", + "printedName": "CoreFoundation.CGSize", + "usr": "c:@S@CGSize" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit14SBUIconSetTypeO6MetricV15defaultIconSizeSo6CGSizeVvgZ", + "mangledName": "$s13SendbirdUIKit14SBUIconSetTypeO6MetricV15defaultIconSizeSo6CGSizeVvgZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "defaultIconSizeLarge", + "printedName": "defaultIconSizeLarge", + "children": [ + { + "kind": "TypeNominal", + "name": "CGSize", + "printedName": "CoreFoundation.CGSize", + "usr": "c:@S@CGSize" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit14SBUIconSetTypeO6MetricV20defaultIconSizeLargeSo6CGSizeVvpZ", + "mangledName": "$s13SendbirdUIKit14SBUIconSetTypeO6MetricV20defaultIconSizeLargeSo6CGSizeVvpZ", + "moduleName": "SendbirdUIKit", + "static": true, + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "CGSize", + "printedName": "CoreFoundation.CGSize", + "usr": "c:@S@CGSize" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit14SBUIconSetTypeO6MetricV20defaultIconSizeLargeSo6CGSizeVvgZ", + "mangledName": "$s13SendbirdUIKit14SBUIconSetTypeO6MetricV20defaultIconSizeLargeSo6CGSizeVvgZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "defaultIconSizeVeryLarge", + "printedName": "defaultIconSizeVeryLarge", + "children": [ + { + "kind": "TypeNominal", + "name": "CGSize", + "printedName": "CoreFoundation.CGSize", + "usr": "c:@S@CGSize" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit14SBUIconSetTypeO6MetricV24defaultIconSizeVeryLargeSo6CGSizeVvpZ", + "mangledName": "$s13SendbirdUIKit14SBUIconSetTypeO6MetricV24defaultIconSizeVeryLargeSo6CGSizeVvpZ", + "moduleName": "SendbirdUIKit", + "static": true, + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "CGSize", + "printedName": "CoreFoundation.CGSize", + "usr": "c:@S@CGSize" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit14SBUIconSetTypeO6MetricV24defaultIconSizeVeryLargeSo6CGSizeVvgZ", + "mangledName": "$s13SendbirdUIKit14SBUIconSetTypeO6MetricV24defaultIconSizeVeryLargeSo6CGSizeVvgZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "quotedMessageIconSize", + "printedName": "quotedMessageIconSize", + "children": [ + { + "kind": "TypeNominal", + "name": "CGSize", + "printedName": "CoreFoundation.CGSize", + "usr": "c:@S@CGSize" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit14SBUIconSetTypeO6MetricV21quotedMessageIconSizeSo6CGSizeVvpZ", + "mangledName": "$s13SendbirdUIKit14SBUIconSetTypeO6MetricV21quotedMessageIconSizeSo6CGSizeVvpZ", + "moduleName": "SendbirdUIKit", + "static": true, + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "CGSize", + "printedName": "CoreFoundation.CGSize", + "usr": "c:@S@CGSize" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit14SBUIconSetTypeO6MetricV21quotedMessageIconSizeSo6CGSizeVvgZ", + "mangledName": "$s13SendbirdUIKit14SBUIconSetTypeO6MetricV21quotedMessageIconSizeSo6CGSizeVvgZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "iconActionSheetItem", + "printedName": "iconActionSheetItem", + "children": [ + { + "kind": "TypeNominal", + "name": "CGSize", + "printedName": "CoreFoundation.CGSize", + "usr": "c:@S@CGSize" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit14SBUIconSetTypeO6MetricV19iconActionSheetItemSo6CGSizeVvpZ", + "mangledName": "$s13SendbirdUIKit14SBUIconSetTypeO6MetricV19iconActionSheetItemSo6CGSizeVvpZ", + "moduleName": "SendbirdUIKit", + "static": true, + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "CGSize", + "printedName": "CoreFoundation.CGSize", + "usr": "c:@S@CGSize" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit14SBUIconSetTypeO6MetricV19iconActionSheetItemSo6CGSizeVvgZ", + "mangledName": "$s13SendbirdUIKit14SBUIconSetTypeO6MetricV19iconActionSheetItemSo6CGSizeVvgZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "iconEmojiSmall", + "printedName": "iconEmojiSmall", + "children": [ + { + "kind": "TypeNominal", + "name": "CGSize", + "printedName": "CoreFoundation.CGSize", + "usr": "c:@S@CGSize" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit14SBUIconSetTypeO6MetricV14iconEmojiSmallSo6CGSizeVvpZ", + "mangledName": "$s13SendbirdUIKit14SBUIconSetTypeO6MetricV14iconEmojiSmallSo6CGSizeVvpZ", + "moduleName": "SendbirdUIKit", + "static": true, + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "CGSize", + "printedName": "CoreFoundation.CGSize", + "usr": "c:@S@CGSize" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit14SBUIconSetTypeO6MetricV14iconEmojiSmallSo6CGSizeVvgZ", + "mangledName": "$s13SendbirdUIKit14SBUIconSetTypeO6MetricV14iconEmojiSmallSo6CGSizeVvgZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "iconEmojiLarge", + "printedName": "iconEmojiLarge", + "children": [ + { + "kind": "TypeNominal", + "name": "CGSize", + "printedName": "CoreFoundation.CGSize", + "usr": "c:@S@CGSize" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit14SBUIconSetTypeO6MetricV14iconEmojiLargeSo6CGSizeVvpZ", + "mangledName": "$s13SendbirdUIKit14SBUIconSetTypeO6MetricV14iconEmojiLargeSo6CGSizeVvpZ", + "moduleName": "SendbirdUIKit", + "static": true, + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "CGSize", + "printedName": "CoreFoundation.CGSize", + "usr": "c:@S@CGSize" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit14SBUIconSetTypeO6MetricV14iconEmojiLargeSo6CGSizeVvgZ", + "mangledName": "$s13SendbirdUIKit14SBUIconSetTypeO6MetricV14iconEmojiLargeSo6CGSizeVvgZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "iconEmptyView", + "printedName": "iconEmptyView", + "children": [ + { + "kind": "TypeNominal", + "name": "CGSize", + "printedName": "CoreFoundation.CGSize", + "usr": "c:@S@CGSize" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit14SBUIconSetTypeO6MetricV13iconEmptyViewSo6CGSizeVvpZ", + "mangledName": "$s13SendbirdUIKit14SBUIconSetTypeO6MetricV13iconEmptyViewSo6CGSizeVvpZ", + "moduleName": "SendbirdUIKit", + "static": true, + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "CGSize", + "printedName": "CoreFoundation.CGSize", + "usr": "c:@S@CGSize" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit14SBUIconSetTypeO6MetricV13iconEmptyViewSo6CGSizeVvgZ", + "mangledName": "$s13SendbirdUIKit14SBUIconSetTypeO6MetricV13iconEmptyViewSo6CGSizeVvgZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "iconGifPlay", + "printedName": "iconGifPlay", + "children": [ + { + "kind": "TypeNominal", + "name": "CGSize", + "printedName": "CoreFoundation.CGSize", + "usr": "c:@S@CGSize" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit14SBUIconSetTypeO6MetricV11iconGifPlaySo6CGSizeVvpZ", + "mangledName": "$s13SendbirdUIKit14SBUIconSetTypeO6MetricV11iconGifPlaySo6CGSizeVvpZ", + "moduleName": "SendbirdUIKit", + "static": true, + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "CGSize", + "printedName": "CoreFoundation.CGSize", + "usr": "c:@S@CGSize" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit14SBUIconSetTypeO6MetricV11iconGifPlaySo6CGSizeVvgZ", + "mangledName": "$s13SendbirdUIKit14SBUIconSetTypeO6MetricV11iconGifPlaySo6CGSizeVvgZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "iconSpinnerLarge", + "printedName": "iconSpinnerLarge", + "children": [ + { + "kind": "TypeNominal", + "name": "CGSize", + "printedName": "CoreFoundation.CGSize", + "usr": "c:@S@CGSize" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit14SBUIconSetTypeO6MetricV16iconSpinnerLargeSo6CGSizeVvpZ", + "mangledName": "$s13SendbirdUIKit14SBUIconSetTypeO6MetricV16iconSpinnerLargeSo6CGSizeVvpZ", + "moduleName": "SendbirdUIKit", + "static": true, + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "CGSize", + "printedName": "CoreFoundation.CGSize", + "usr": "c:@S@CGSize" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit14SBUIconSetTypeO6MetricV16iconSpinnerLargeSo6CGSizeVvgZ", + "mangledName": "$s13SendbirdUIKit14SBUIconSetTypeO6MetricV16iconSpinnerLargeSo6CGSizeVvgZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "iconSpinnerSizeForTemplate", + "printedName": "iconSpinnerSizeForTemplate", + "children": [ + { + "kind": "TypeNominal", + "name": "CGSize", + "printedName": "CoreFoundation.CGSize", + "usr": "c:@S@CGSize" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit14SBUIconSetTypeO6MetricV26iconSpinnerSizeForTemplateSo6CGSizeVvpZ", + "mangledName": "$s13SendbirdUIKit14SBUIconSetTypeO6MetricV26iconSpinnerSizeForTemplateSo6CGSizeVvpZ", + "moduleName": "SendbirdUIKit", + "static": true, + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "CGSize", + "printedName": "CoreFoundation.CGSize", + "usr": "c:@S@CGSize" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit14SBUIconSetTypeO6MetricV26iconSpinnerSizeForTemplateSo6CGSizeVvgZ", + "mangledName": "$s13SendbirdUIKit14SBUIconSetTypeO6MetricV26iconSpinnerSizeForTemplateSo6CGSizeVvgZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "iconUserProfile", + "printedName": "iconUserProfile", + "children": [ + { + "kind": "TypeNominal", + "name": "CGSize", + "printedName": "CoreFoundation.CGSize", + "usr": "c:@S@CGSize" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit14SBUIconSetTypeO6MetricV15iconUserProfileSo6CGSizeVvpZ", + "mangledName": "$s13SendbirdUIKit14SBUIconSetTypeO6MetricV15iconUserProfileSo6CGSizeVvpZ", + "moduleName": "SendbirdUIKit", + "static": true, + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "CGSize", + "printedName": "CoreFoundation.CGSize", + "usr": "c:@S@CGSize" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit14SBUIconSetTypeO6MetricV15iconUserProfileSo6CGSizeVvgZ", + "mangledName": "$s13SendbirdUIKit14SBUIconSetTypeO6MetricV15iconUserProfileSo6CGSizeVvgZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "iconUserProfileInChat", + "printedName": "iconUserProfileInChat", + "children": [ + { + "kind": "TypeNominal", + "name": "CGSize", + "printedName": "CoreFoundation.CGSize", + "usr": "c:@S@CGSize" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit14SBUIconSetTypeO6MetricV21iconUserProfileInChatSo6CGSizeVvpZ", + "mangledName": "$s13SendbirdUIKit14SBUIconSetTypeO6MetricV21iconUserProfileInChatSo6CGSizeVvpZ", + "moduleName": "SendbirdUIKit", + "static": true, + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "CGSize", + "printedName": "CoreFoundation.CGSize", + "usr": "c:@S@CGSize" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit14SBUIconSetTypeO6MetricV21iconUserProfileInChatSo6CGSizeVvgZ", + "mangledName": "$s13SendbirdUIKit14SBUIconSetTypeO6MetricV21iconUserProfileInChatSo6CGSizeVvgZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "iconChevronDown", + "printedName": "iconChevronDown", + "children": [ + { + "kind": "TypeNominal", + "name": "CGSize", + "printedName": "CoreFoundation.CGSize", + "usr": "c:@S@CGSize" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit14SBUIconSetTypeO6MetricV15iconChevronDownSo6CGSizeVvpZ", + "mangledName": "$s13SendbirdUIKit14SBUIconSetTypeO6MetricV15iconChevronDownSo6CGSizeVvpZ", + "moduleName": "SendbirdUIKit", + "static": true, + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "CGSize", + "printedName": "CoreFoundation.CGSize", + "usr": "c:@S@CGSize" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit14SBUIconSetTypeO6MetricV15iconChevronDownSo6CGSizeVvgZ", + "mangledName": "$s13SendbirdUIKit14SBUIconSetTypeO6MetricV15iconChevronDownSo6CGSizeVvgZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "iconVoiceMessageSize", + "printedName": "iconVoiceMessageSize", + "children": [ + { + "kind": "TypeNominal", + "name": "CGSize", + "printedName": "CoreFoundation.CGSize", + "usr": "c:@S@CGSize" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit14SBUIconSetTypeO6MetricV20iconVoiceMessageSizeSo6CGSizeVvpZ", + "mangledName": "$s13SendbirdUIKit14SBUIconSetTypeO6MetricV20iconVoiceMessageSizeSo6CGSizeVvpZ", + "moduleName": "SendbirdUIKit", + "static": true, + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "CGSize", + "printedName": "CoreFoundation.CGSize", + "usr": "c:@S@CGSize" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit14SBUIconSetTypeO6MetricV20iconVoiceMessageSizeSo6CGSizeVvgZ", + "mangledName": "$s13SendbirdUIKit14SBUIconSetTypeO6MetricV20iconVoiceMessageSizeSo6CGSizeVvgZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "accessorKind": "get" + } + ] + } + ], + "declKind": "Struct", + "usr": "s:13SendbirdUIKit14SBUIconSetTypeO6MetricV", + "mangledName": "$s13SendbirdUIKit14SBUIconSetTypeO6MetricV", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ] + }, + { + "kind": "Function", + "name": "image", + "printedName": "image(with:to:tintAndResize:)", + "children": [ + { + "kind": "TypeNominal", + "name": "UIImage", + "printedName": "UIKit.UIImage", + "usr": "c:objc(cs)UIImage" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "UIKit.UIColor?", + "children": [ + { + "kind": "TypeNominal", + "name": "UIColor", + "printedName": "UIKit.UIColor", + "usr": "c:objc(cs)UIColor" + } + ], + "hasDefaultArg": true, + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "CGSize", + "printedName": "CoreFoundation.CGSize", + "usr": "c:@S@CGSize" + }, + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "hasDefaultArg": true, + "usr": "s:Sb" + } + ], + "declKind": "Func", + "usr": "s:13SendbirdUIKit14SBUIconSetTypeO5image4with2to13tintAndResizeSo7UIImageCSo7UIColorCSg_So6CGSizeVSbtF", + "mangledName": "$s13SendbirdUIKit14SBUIconSetTypeO5image4with2to13tintAndResizeSo7UIImageCSo7UIColorCSg_So6CGSizeVSbtF", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, { "kind": "Constructor", "name": "init", @@ -240302,17 +247518,24 @@ { "kind": "Function", "name": "reloadTableView", - "printedName": "reloadTableView()", + "printedName": "reloadTableView(needsToLayout:)", "children": [ { "kind": "TypeNominal", "name": "Void", "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "hasDefaultArg": true, + "usr": "s:Sb" } ], "declKind": "Func", - "usr": "s:13SendbirdUIKit20SBUBaseChannelModuleC4ListC15reloadTableViewyyF", - "mangledName": "$s13SendbirdUIKit20SBUBaseChannelModuleC4ListC15reloadTableViewyyF", + "usr": "s:13SendbirdUIKit20SBUBaseChannelModuleC4ListC15reloadTableView13needsToLayoutySb_tF", + "mangledName": "$s13SendbirdUIKit20SBUBaseChannelModuleC4ListC15reloadTableView13needsToLayoutySb_tF", "moduleName": "SendbirdUIKit", "declAttributes": [ "Custom", @@ -245789,516 +253012,6 @@ "RawDocComment" ] }, - { - "kind": "Import", - "name": "UIKit", - "printedName": "UIKit", - "declKind": "Import", - "moduleName": "SendbirdUIKit", - "declAttributes": [ - "RawDocComment" - ] - }, - { - "kind": "TypeDecl", - "name": "SBUPaddingLabel", - "printedName": "SBUPaddingLabel", - "children": [ - { - "kind": "Var", - "name": "top", - "printedName": "top", - "children": [ - { - "kind": "TypeNominal", - "name": "CGFloat", - "printedName": "CoreGraphics.CGFloat", - "usr": "s:14CoreFoundation7CGFloatV" - } - ], - "declKind": "Var", - "usr": "s:13SendbirdUIKit15SBUPaddingLabelC3top14CoreFoundation7CGFloatVvp", - "mangledName": "$s13SendbirdUIKit15SBUPaddingLabelC3top12CoreGraphics7CGFloatVvp", - "moduleName": "SendbirdUIKit", - "declAttributes": [ - "Custom", - "HasStorage", - "SetterAccess", - "AccessControl" - ], - "hasStorage": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "CGFloat", - "printedName": "CoreGraphics.CGFloat", - "usr": "s:14CoreFoundation7CGFloatV" - } - ], - "declKind": "Accessor", - "usr": "s:13SendbirdUIKit15SBUPaddingLabelC3top14CoreFoundation7CGFloatVvg", - "mangledName": "$s13SendbirdUIKit15SBUPaddingLabelC3top12CoreGraphics7CGFloatVvg", - "moduleName": "SendbirdUIKit", - "implicit": true, - "accessorKind": "get" - } - ] - }, - { - "kind": "Var", - "name": "bottom", - "printedName": "bottom", - "children": [ - { - "kind": "TypeNominal", - "name": "CGFloat", - "printedName": "CoreGraphics.CGFloat", - "usr": "s:14CoreFoundation7CGFloatV" - } - ], - "declKind": "Var", - "usr": "s:13SendbirdUIKit15SBUPaddingLabelC6bottom14CoreFoundation7CGFloatVvp", - "mangledName": "$s13SendbirdUIKit15SBUPaddingLabelC6bottom12CoreGraphics7CGFloatVvp", - "moduleName": "SendbirdUIKit", - "declAttributes": [ - "Custom", - "HasStorage", - "SetterAccess", - "AccessControl" - ], - "hasStorage": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "CGFloat", - "printedName": "CoreGraphics.CGFloat", - "usr": "s:14CoreFoundation7CGFloatV" - } - ], - "declKind": "Accessor", - "usr": "s:13SendbirdUIKit15SBUPaddingLabelC6bottom14CoreFoundation7CGFloatVvg", - "mangledName": "$s13SendbirdUIKit15SBUPaddingLabelC6bottom12CoreGraphics7CGFloatVvg", - "moduleName": "SendbirdUIKit", - "implicit": true, - "accessorKind": "get" - } - ] - }, - { - "kind": "Var", - "name": "leading", - "printedName": "leading", - "children": [ - { - "kind": "TypeNominal", - "name": "CGFloat", - "printedName": "CoreGraphics.CGFloat", - "usr": "s:14CoreFoundation7CGFloatV" - } - ], - "declKind": "Var", - "usr": "s:13SendbirdUIKit15SBUPaddingLabelC7leading14CoreFoundation7CGFloatVvp", - "mangledName": "$s13SendbirdUIKit15SBUPaddingLabelC7leading12CoreGraphics7CGFloatVvp", - "moduleName": "SendbirdUIKit", - "declAttributes": [ - "Custom", - "HasStorage", - "SetterAccess", - "AccessControl" - ], - "hasStorage": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "CGFloat", - "printedName": "CoreGraphics.CGFloat", - "usr": "s:14CoreFoundation7CGFloatV" - } - ], - "declKind": "Accessor", - "usr": "s:13SendbirdUIKit15SBUPaddingLabelC7leading14CoreFoundation7CGFloatVvg", - "mangledName": "$s13SendbirdUIKit15SBUPaddingLabelC7leading12CoreGraphics7CGFloatVvg", - "moduleName": "SendbirdUIKit", - "implicit": true, - "accessorKind": "get" - } - ] - }, - { - "kind": "Var", - "name": "trailing", - "printedName": "trailing", - "children": [ - { - "kind": "TypeNominal", - "name": "CGFloat", - "printedName": "CoreGraphics.CGFloat", - "usr": "s:14CoreFoundation7CGFloatV" - } - ], - "declKind": "Var", - "usr": "s:13SendbirdUIKit15SBUPaddingLabelC8trailing14CoreFoundation7CGFloatVvp", - "mangledName": "$s13SendbirdUIKit15SBUPaddingLabelC8trailing12CoreGraphics7CGFloatVvp", - "moduleName": "SendbirdUIKit", - "declAttributes": [ - "Custom", - "HasStorage", - "SetterAccess", - "AccessControl" - ], - "hasStorage": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "CGFloat", - "printedName": "CoreGraphics.CGFloat", - "usr": "s:14CoreFoundation7CGFloatV" - } - ], - "declKind": "Accessor", - "usr": "s:13SendbirdUIKit15SBUPaddingLabelC8trailing14CoreFoundation7CGFloatVvg", - "mangledName": "$s13SendbirdUIKit15SBUPaddingLabelC8trailing12CoreGraphics7CGFloatVvg", - "moduleName": "SendbirdUIKit", - "implicit": true, - "accessorKind": "get" - } - ] - }, - { - "kind": "Constructor", - "name": "init", - "printedName": "init(_:)", - "children": [ - { - "kind": "TypeNominal", - "name": "SBUPaddingLabel", - "printedName": "SendbirdUIKit.SBUPaddingLabel", - "usr": "c:@M@SendbirdUIKit@objc(cs)SBUPaddingLabel" - }, - { - "kind": "TypeNominal", - "name": "CGFloat", - "printedName": "CoreGraphics.CGFloat", - "usr": "s:14CoreFoundation7CGFloatV" - } - ], - "declKind": "Constructor", - "usr": "s:13SendbirdUIKit15SBUPaddingLabelCyAC14CoreFoundation7CGFloatVcfc", - "mangledName": "$s13SendbirdUIKit15SBUPaddingLabelCyAC12CoreGraphics7CGFloatVcfc", - "moduleName": "SendbirdUIKit", - "declAttributes": [ - "Custom", - "Convenience", - "AccessControl" - ], - "init_kind": "Convenience" - }, - { - "kind": "Constructor", - "name": "init", - "printedName": "init(_:_:)", - "children": [ - { - "kind": "TypeNominal", - "name": "SBUPaddingLabel", - "printedName": "SendbirdUIKit.SBUPaddingLabel", - "usr": "c:@M@SendbirdUIKit@objc(cs)SBUPaddingLabel" - }, - { - "kind": "TypeNominal", - "name": "CGFloat", - "printedName": "CoreGraphics.CGFloat", - "usr": "s:14CoreFoundation7CGFloatV" - }, - { - "kind": "TypeNominal", - "name": "CGFloat", - "printedName": "CoreGraphics.CGFloat", - "usr": "s:14CoreFoundation7CGFloatV" - } - ], - "declKind": "Constructor", - "usr": "s:13SendbirdUIKit15SBUPaddingLabelCyAC14CoreFoundation7CGFloatV_AFtcfc", - "mangledName": "$s13SendbirdUIKit15SBUPaddingLabelCyAC12CoreGraphics7CGFloatV_AFtcfc", - "moduleName": "SendbirdUIKit", - "declAttributes": [ - "Custom", - "Convenience", - "AccessControl" - ], - "init_kind": "Convenience" - }, - { - "kind": "Constructor", - "name": "init", - "printedName": "init(_:_:_:_:)", - "children": [ - { - "kind": "TypeNominal", - "name": "SBUPaddingLabel", - "printedName": "SendbirdUIKit.SBUPaddingLabel", - "usr": "c:@M@SendbirdUIKit@objc(cs)SBUPaddingLabel" - }, - { - "kind": "TypeNominal", - "name": "CGFloat", - "printedName": "CoreGraphics.CGFloat", - "hasDefaultArg": true, - "usr": "s:14CoreFoundation7CGFloatV" - }, - { - "kind": "TypeNominal", - "name": "CGFloat", - "printedName": "CoreGraphics.CGFloat", - "hasDefaultArg": true, - "usr": "s:14CoreFoundation7CGFloatV" - }, - { - "kind": "TypeNominal", - "name": "CGFloat", - "printedName": "CoreGraphics.CGFloat", - "hasDefaultArg": true, - "usr": "s:14CoreFoundation7CGFloatV" - }, - { - "kind": "TypeNominal", - "name": "CGFloat", - "printedName": "CoreGraphics.CGFloat", - "hasDefaultArg": true, - "usr": "s:14CoreFoundation7CGFloatV" - } - ], - "declKind": "Constructor", - "usr": "s:13SendbirdUIKit15SBUPaddingLabelCyAC14CoreFoundation7CGFloatV_A3Ftcfc", - "mangledName": "$s13SendbirdUIKit15SBUPaddingLabelCyAC12CoreGraphics7CGFloatV_A3Ftcfc", - "moduleName": "SendbirdUIKit", - "declAttributes": [ - "Custom", - "AccessControl" - ], - "init_kind": "Designated" - }, - { - "kind": "Function", - "name": "drawText", - "printedName": "drawText(in:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "CGRect", - "printedName": "CoreFoundation.CGRect", - "usr": "c:@S@CGRect" - } - ], - "declKind": "Func", - "usr": "c:@M@SendbirdUIKit@objc(cs)SBUPaddingLabel(im)drawTextInRect:", - "mangledName": "$s13SendbirdUIKit15SBUPaddingLabelC8drawText2inySo6CGRectV_tF", - "moduleName": "SendbirdUIKit", - "overriding": true, - "objc_name": "drawTextInRect:", - "declAttributes": [ - "Dynamic", - "ObjC", - "Custom", - "Override", - "AccessControl" - ], - "funcSelfKind": "NonMutating" - }, - { - "kind": "Var", - "name": "intrinsicContentSize", - "printedName": "intrinsicContentSize", - "children": [ - { - "kind": "TypeNominal", - "name": "CGSize", - "printedName": "CoreFoundation.CGSize", - "usr": "c:@S@CGSize" - } - ], - "declKind": "Var", - "usr": "c:@M@SendbirdUIKit@objc(cs)SBUPaddingLabel(py)intrinsicContentSize", - "mangledName": "$s13SendbirdUIKit15SBUPaddingLabelC20intrinsicContentSizeSo6CGSizeVvp", - "moduleName": "SendbirdUIKit", - "overriding": true, - "objc_name": "intrinsicContentSize", - "declAttributes": [ - "Dynamic", - "ObjC", - "Custom", - "Override", - "AccessControl" - ], - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "CGSize", - "printedName": "CoreFoundation.CGSize", - "usr": "c:@S@CGSize" - } - ], - "declKind": "Accessor", - "usr": "c:@M@SendbirdUIKit@objc(cs)SBUPaddingLabel(im)intrinsicContentSize", - "mangledName": "$s13SendbirdUIKit15SBUPaddingLabelC20intrinsicContentSizeSo6CGSizeVvg", - "moduleName": "SendbirdUIKit", - "overriding": true, - "objc_name": "intrinsicContentSize", - "declAttributes": [ - "Dynamic", - "ObjC" - ], - "accessorKind": "get" - } - ] - }, - { - "kind": "Constructor", - "name": "init", - "printedName": "init(frame:)", - "children": [ - { - "kind": "TypeNominal", - "name": "SBUPaddingLabel", - "printedName": "SendbirdUIKit.SBUPaddingLabel", - "usr": "c:@M@SendbirdUIKit@objc(cs)SBUPaddingLabel" - }, - { - "kind": "TypeNominal", - "name": "CGRect", - "printedName": "CoreFoundation.CGRect", - "usr": "c:@S@CGRect" - } - ], - "declKind": "Constructor", - "usr": "c:@M@SendbirdUIKit@objc(cs)SBUPaddingLabel(im)initWithFrame:", - "mangledName": "$s13SendbirdUIKit15SBUPaddingLabelC5frameACSo6CGRectV_tcfc", - "moduleName": "SendbirdUIKit", - "overriding": true, - "implicit": true, - "objc_name": "initWithFrame:", - "declAttributes": [ - "Dynamic", - "ObjC", - "Custom", - "Override" - ], - "init_kind": "Designated" - } - ], - "declKind": "Class", - "usr": "c:@M@SendbirdUIKit@objc(cs)SBUPaddingLabel", - "mangledName": "$s13SendbirdUIKit15SBUPaddingLabelC", - "moduleName": "SendbirdUIKit", - "declAttributes": [ - "Custom", - "AccessControl", - "ObjC" - ], - "superclassUsr": "c:objc(cs)UILabel", - "hasMissingDesignatedInitializers": true, - "superclassNames": [ - "UIKit.UILabel", - "UIKit.UIView", - "UIKit.UIResponder", - "ObjectiveC.NSObject" - ], - "conformances": [ - { - "kind": "Conformance", - "name": "Equatable", - "printedName": "Equatable", - "usr": "s:SQ", - "mangledName": "$sSQ" - }, - { - "kind": "Conformance", - "name": "Hashable", - "printedName": "Hashable", - "usr": "s:SH", - "mangledName": "$sSH" - }, - { - "kind": "Conformance", - "name": "CVarArg", - "printedName": "CVarArg", - "usr": "s:s7CVarArgP", - "mangledName": "$ss7CVarArgP" - }, - { - "kind": "Conformance", - "name": "_KeyValueCodingAndObservingPublishing", - "printedName": "_KeyValueCodingAndObservingPublishing", - "usr": "s:10Foundation37_KeyValueCodingAndObservingPublishingP", - "mangledName": "$s10Foundation37_KeyValueCodingAndObservingPublishingP" - }, - { - "kind": "Conformance", - "name": "_KeyValueCodingAndObserving", - "printedName": "_KeyValueCodingAndObserving", - "usr": "s:10Foundation27_KeyValueCodingAndObservingP", - "mangledName": "$s10Foundation27_KeyValueCodingAndObservingP" - }, - { - "kind": "Conformance", - "name": "CustomStringConvertible", - "printedName": "CustomStringConvertible", - "usr": "s:s23CustomStringConvertibleP", - "mangledName": "$ss23CustomStringConvertibleP" - }, - { - "kind": "Conformance", - "name": "CustomDebugStringConvertible", - "printedName": "CustomDebugStringConvertible", - "usr": "s:s28CustomDebugStringConvertibleP", - "mangledName": "$ss28CustomDebugStringConvertibleP" - }, - { - "kind": "Conformance", - "name": "Sendable", - "printedName": "Sendable", - "usr": "s:s8SendableP", - "mangledName": "$ss8SendableP" - }, - { - "kind": "Conformance", - "name": "__DefaultCustomPlaygroundQuickLookable", - "printedName": "__DefaultCustomPlaygroundQuickLookable", - "usr": "s:s38__DefaultCustomPlaygroundQuickLookableP", - "mangledName": "$ss38__DefaultCustomPlaygroundQuickLookableP" - } - ] - }, { "kind": "Import", "name": "CoreGraphics", @@ -258351,6 +265064,13 @@ "declKind": "Import", "moduleName": "SendbirdUIKit" }, + { + "kind": "Import", + "name": "PhotosUI", + "printedName": "PhotosUI", + "declKind": "Import", + "moduleName": "SendbirdUIKit" + }, { "kind": "TypeDecl", "name": "SBUMessageThreadViewControllerDelegate", @@ -259553,6 +266273,45 @@ ], "funcSelfKind": "NonMutating" }, + { + "kind": "Function", + "name": "viewWillTransition", + "printedName": "viewWillTransition(to:with:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "CGSize", + "printedName": "CoreFoundation.CGSize", + "usr": "c:@S@CGSize" + }, + { + "kind": "TypeNominal", + "name": "UIViewControllerTransitionCoordinator", + "printedName": "UIKit.UIViewControllerTransitionCoordinator", + "usr": "c:objc(pl)UIViewControllerTransitionCoordinator" + } + ], + "declKind": "Func", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMessageThreadViewController(im)viewWillTransitionToSize:withTransitionCoordinator:", + "mangledName": "$s13SendbirdUIKit30SBUMessageThreadViewControllerC18viewWillTransition2to4withySo6CGSizeV_So06UIViewfI11Coordinator_ptF", + "moduleName": "SendbirdUIKit", + "overriding": true, + "isOpen": true, + "objc_name": "viewWillTransitionToSize:withTransitionCoordinator:", + "declAttributes": [ + "Dynamic", + "ObjC", + "Custom", + "Override", + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, { "kind": "Function", "name": "applicationWillResignActivity", @@ -259797,6 +266556,38 @@ ], "funcSelfKind": "NonMutating" }, + { + "kind": "Function", + "name": "updateStyles", + "printedName": "updateStyles(needsToLayout:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Func", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMessageThreadViewController(im)updateStylesWithNeedsToLayout:", + "mangledName": "$s13SendbirdUIKit30SBUMessageThreadViewControllerC12updateStyles13needsToLayoutySb_tF", + "moduleName": "SendbirdUIKit", + "overriding": true, + "isOpen": true, + "objc_name": "updateStylesWithNeedsToLayout:", + "declAttributes": [ + "ObjC", + "Custom", + "Override", + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, { "kind": "Function", "name": "updateStyles", @@ -259900,6 +266691,53 @@ ], "funcSelfKind": "NonMutating" }, + { + "kind": "Function", + "name": "picker", + "printedName": "picker(_:didFinishPicking:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "PHPickerViewController", + "printedName": "PhotosUI.PHPickerViewController", + "usr": "c:objc(cs)PHPickerViewController" + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[PhotosUI.PHPickerResult]", + "children": [ + { + "kind": "TypeNominal", + "name": "PHPickerResult", + "printedName": "PhotosUI.PHPickerResult", + "usr": "s:8PhotosUI14PHPickerResultV" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Func", + "usr": "s:13SendbirdUIKit30SBUMessageThreadViewControllerC6picker_16didFinishPickingySo08PHPickereF0C_Say8PhotosUI0K6ResultVGtF", + "mangledName": "$s13SendbirdUIKit30SBUMessageThreadViewControllerC6picker_16didFinishPickingySo08PHPickereF0C_Say8PhotosUI0K6ResultVGtF", + "moduleName": "SendbirdUIKit", + "overriding": true, + "isOpen": true, + "intro_iOS": "14", + "declAttributes": [ + "Custom", + "AccessControl", + "Override", + "Available", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, { "kind": "Function", "name": "showVoiceMessageInput", @@ -260152,6 +266990,47 @@ ], "funcSelfKind": "NonMutating" }, + { + "kind": "Function", + "name": "messageThreadViewModel", + "printedName": "messageThreadViewModel(_:didFinishUploadingFileAt:multipleFilesMessageRequestId:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "SBUMessageThreadViewModel", + "printedName": "SendbirdUIKit.SBUMessageThreadViewModel", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMessageThreadViewModel" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Func", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMessageThreadViewController(im)messageThreadViewModel:didFinishUploadingFileAt:multipleFilesMessageRequestId:", + "mangledName": "$s13SendbirdUIKit30SBUMessageThreadViewControllerC07messagedE5Model_24didFinishUploadingFileAt29multipleFilesMessageRequestIdyAA0cdeH0C_SiSStF", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "Custom", + "AccessControl", + "RawDocComment", + "ObjC" + ], + "funcSelfKind": "NonMutating" + }, { "kind": "Function", "name": "baseChannelModule", @@ -260436,6 +267315,100 @@ ], "funcSelfKind": "NonMutating" }, + { + "kind": "Function", + "name": "messageThreadModule", + "printedName": "messageThreadModule(_:didSelectFileAt:multipleFilesMessageCell:forRowAt:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "List", + "printedName": "SendbirdUIKit.SBUMessageThreadModule.List", + "usr": "s:13SendbirdUIKit22SBUMessageThreadModuleC4ListC" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "SBUMultipleFilesMessageCell", + "printedName": "SendbirdUIKit.SBUMultipleFilesMessageCell", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCell" + }, + { + "kind": "TypeNominal", + "name": "IndexPath", + "printedName": "Foundation.IndexPath", + "usr": "s:10Foundation9IndexPathV" + } + ], + "declKind": "Func", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMessageThreadViewController(im)messageThreadModule:didSelectFileAt:multipleFilesMessageCell:forRowAt:", + "mangledName": "$s13SendbirdUIKit30SBUMessageThreadViewControllerC07messageD6Module_15didSelectFileAt24multipleFilesMessageCell06forRowL0yAA0cdH0C4ListC_SiAA011SBUMultiplenoP0C10Foundation9IndexPathVtF", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "Custom", + "AccessControl", + "RawDocComment", + "ObjC" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "messageThreadModule", + "printedName": "messageThreadModule(_:uploadedFileInfo:message:index:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "List", + "printedName": "SendbirdUIKit.SBUMessageThreadModule.List", + "usr": "s:13SendbirdUIKit22SBUMessageThreadModuleC4ListC" + }, + { + "kind": "TypeNominal", + "name": "UploadedFileInfo", + "printedName": "SendbirdChatSDK.UploadedFileInfo", + "usr": "c:@M@SendbirdChatSDK@objc(cs)SBDUploadedFileInfo" + }, + { + "kind": "TypeNominal", + "name": "MultipleFilesMessage", + "printedName": "SendbirdChatSDK.MultipleFilesMessage", + "usr": "c:@M@SendbirdChatSDK@objc(cs)SBDMultipleFilesMessage" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Func", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMessageThreadViewController(im)messageThreadModule:uploadedFileInfo:message:index:", + "mangledName": "$s13SendbirdUIKit30SBUMessageThreadViewControllerC07messageD6Module_16uploadedFileInfo0G05indexyAA0cdH0C4ListC_0A7ChatSDK08UploadedjK0CAL20MultipleFilesMessageCSitF", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "Custom", + "AccessControl", + "RawDocComment", + "ObjC" + ], + "funcSelfKind": "NonMutating" + }, { "kind": "Function", "name": "baseChannelModule", @@ -260680,7 +267653,7 @@ { "kind": "Function", "name": "messageThreadModule", - "printedName": "messageThreadModule(_:didTapSend:mentionedMessageTemplate:mentionedUserIds:parentMessage:)", + "printedName": "messageThreadModule(_:didPickMultipleFiles:parentMessage:)", "children": [ { "kind": "TypeNominal", @@ -260693,55 +267666,35 @@ "printedName": "SendbirdUIKit.SBUMessageThreadModule.Input", "usr": "s:13SendbirdUIKit22SBUMessageThreadModuleC5InputC" }, - { - "kind": "TypeNominal", - "name": "String", - "printedName": "Swift.String", - "usr": "s:SS" - }, - { - "kind": "TypeNominal", - "name": "String", - "printedName": "Swift.String", - "usr": "s:SS" - }, { "kind": "TypeNominal", "name": "Array", - "printedName": "[Swift.String]", + "printedName": "[SendbirdChatSDK.UploadableFileInfo]", "children": [ { "kind": "TypeNominal", - "name": "String", - "printedName": "Swift.String", - "usr": "s:SS" + "name": "UploadableFileInfo", + "printedName": "SendbirdChatSDK.UploadableFileInfo", + "usr": "c:@M@SendbirdChatSDK@objc(cs)SBDUploadableFileInfo" } ], "usr": "s:Sa" }, { "kind": "TypeNominal", - "name": "Optional", - "printedName": "SendbirdChatSDK.BaseMessage?", - "children": [ - { - "kind": "TypeNominal", - "name": "BaseMessage", - "printedName": "SendbirdChatSDK.BaseMessage", - "usr": "c:@M@SendbirdChatSDK@objc(cs)SBDBaseMessage" - } - ], - "usr": "s:Sq" + "name": "BaseMessage", + "printedName": "SendbirdChatSDK.BaseMessage", + "usr": "c:@M@SendbirdChatSDK@objc(cs)SBDBaseMessage" } ], "declKind": "Func", - "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMessageThreadViewController(im)messageThreadModule:didTapSend:mentionedMessageTemplate:mentionedUserIds:parentMessage:", - "mangledName": "$s13SendbirdUIKit30SBUMessageThreadViewControllerC07messageD6Module_10didTapSend24mentionedMessageTemplate0L7UserIds06parentM0yAA0cdH0C5InputC_S2SSaySSG0A7ChatSDK04BaseM0CSgtF", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMessageThreadViewController(im)messageThreadModule:didPickMultipleFiles:parentMessage:", + "mangledName": "$s13SendbirdUIKit30SBUMessageThreadViewControllerC07messageD6Module_20didPickMultipleFiles13parentMessageyAA0cdH0C5InputC_Say0A7ChatSDK18UploadableFileInfoCGAK04BaseN0CtF", "moduleName": "SendbirdUIKit", - "isOpen": true, "declAttributes": [ "Custom", "AccessControl", + "RawDocComment", "ObjC" ], "funcSelfKind": "NonMutating" @@ -260749,7 +267702,76 @@ { "kind": "Function", "name": "messageThreadModule", - "printedName": "messageThreadModule(_:didTapEdit:mentionedMessageTemplate:mentionedUserIds:)", + "printedName": "messageThreadModule(_:didTapSend:mentionedMessageTemplate:mentionedUserIds:parentMessage:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Input", + "printedName": "SendbirdUIKit.SBUMessageThreadModule.Input", + "usr": "s:13SendbirdUIKit22SBUMessageThreadModuleC5InputC" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.String]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "usr": "s:Sa" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "SendbirdChatSDK.BaseMessage?", + "children": [ + { + "kind": "TypeNominal", + "name": "BaseMessage", + "printedName": "SendbirdChatSDK.BaseMessage", + "usr": "c:@M@SendbirdChatSDK@objc(cs)SBDBaseMessage" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Func", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMessageThreadViewController(im)messageThreadModule:didTapSend:mentionedMessageTemplate:mentionedUserIds:parentMessage:", + "mangledName": "$s13SendbirdUIKit30SBUMessageThreadViewControllerC07messageD6Module_10didTapSend24mentionedMessageTemplate0L7UserIds06parentM0yAA0cdH0C5InputC_S2SSaySSG0A7ChatSDK04BaseM0CSgtF", + "moduleName": "SendbirdUIKit", + "isOpen": true, + "declAttributes": [ + "Custom", + "AccessControl", + "ObjC" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "messageThreadModule", + "printedName": "messageThreadModule(_:didTapEdit:mentionedMessageTemplate:mentionedUserIds:)", "children": [ { "kind": "TypeNominal", @@ -261852,6 +268874,19 @@ "AccessControl" ] }, + { + "kind": "TypeDecl", + "name": "SBUFileData", + "printedName": "SBUFileData", + "declKind": "Struct", + "usr": "s:13SendbirdUIKit11SBUFileDataV", + "mangledName": "$s13SendbirdUIKit11SBUFileDataV", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ] + }, { "kind": "TypeDecl", "name": "SBUFileViewController", @@ -262528,50 +269563,54 @@ "moduleName": "SendbirdUIKit", "declAttributes": [ "Custom", + "Convenience", "AccessControl", "Required", "RawDocComment" ], - "init_kind": "Designated" + "init_kind": "Convenience" }, { "kind": "Constructor", "name": "init", - "printedName": "init(coder:)", + "printedName": "init(fileData:delegate:)", "children": [ + { + "kind": "TypeNominal", + "name": "SBUFileViewController", + "printedName": "SendbirdUIKit.SBUFileViewController", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUFileViewController" + }, + { + "kind": "TypeNominal", + "name": "SBUFileData", + "printedName": "SendbirdUIKit.SBUFileData", + "usr": "s:13SendbirdUIKit11SBUFileDataV" + }, { "kind": "TypeNominal", "name": "Optional", - "printedName": "SendbirdUIKit.SBUFileViewController?", + "printedName": "SendbirdUIKit.SBUFileViewControllerDelegate?", "children": [ { "kind": "TypeNominal", - "name": "SBUFileViewController", - "printedName": "SendbirdUIKit.SBUFileViewController", - "usr": "c:@M@SendbirdUIKit@objc(cs)SBUFileViewController" + "name": "SBUFileViewControllerDelegate", + "printedName": "SendbirdUIKit.SBUFileViewControllerDelegate", + "usr": "s:13SendbirdUIKit29SBUFileViewControllerDelegateP" } ], "usr": "s:Sq" - }, - { - "kind": "TypeNominal", - "name": "NSCoder", - "printedName": "Foundation.NSCoder", - "usr": "c:objc(cs)NSCoder" } ], "declKind": "Constructor", - "usr": "c:@M@SendbirdUIKit@objc(cs)SBUFileViewController(im)initWithCoder:", - "mangledName": "$s13SendbirdUIKit21SBUFileViewControllerC5coderACSgSo7NSCoderC_tcfc", + "usr": "s:13SendbirdUIKit21SBUFileViewControllerC8fileData8delegateAcA0cG0V_AA0cdE8Delegate_pSgtcfc", + "mangledName": "$s13SendbirdUIKit21SBUFileViewControllerC8fileData8delegateAcA0cG0V_AA0cdE8Delegate_pSgtcfc", "moduleName": "SendbirdUIKit", - "overriding": true, - "objc_name": "initWithCoder:", "declAttributes": [ - "Dynamic", - "ObjC", "Custom", "AccessControl", - "Required" + "Required", + "RawDocComment" ], "init_kind": "Designated" }, @@ -284287,7 +291326,7 @@ { "kind": "Constructor", "name": "init", - "printedName": "init(backgroundColor:leftBackgroundColor:leftPressedBackgroundColor:rightBackgroundColor:rightPressedBackgroundColor:openChannelBackgroundColor:openChannelPressedBackgroundColor:dateFont:dateTextColor:dateBackgroundColor:userPlaceholderBackgroundColor:userPlaceholderTintColor:userNameFont:userNameTextColor:currentUserNameTextColor:timeFont:timeTextColor:pendingStateColor:failedStateColor:succeededStateColor:readReceiptStateColor:deliveryReceiptStateColor:userMessageFont:userMessageLeftTextColor:userMessageLeftEditTextColor:userMessageLeftHighlightTextColor:userMessageRightTextColor:userMessageRightEditTextColor:userMessageRightHighlightTextColor:fileIconBackgroundColor:fileImageBackgroundColor:fileImageIconColor:fileIconColor:fileMessageNameFont:fileMessageLeftTextColor:fileMessageRightTextColor:fileMessagePlaceholderColor:adminMessageFont:adminMessageTextColor:unknownMessageDescFont:unknownMessageDescLeftTextColor:unknownMessageDescRightTextColor:ogTitleFont:ogTitleColor:ogDescriptionFont:ogDescriptionColor:ogURLAddressFont:ogURLAddressColor:openChannelOGTitleColor:linkColor:contentBackgroundColor:pressedContentBackgroundColor:quotedMessageLeftBackgroundColor:quotedMessageRightBackgroundColor:quotedFileMessageThumbnailColor:quotedMessageTextColor:quotedMessageTextFont:repliedIconColor:repliedToTextColor:repliedToTextFont:repliedCountTextColor:repliedCountTextFont:repliedUsersMoreIconBackgroundColor:repliedUsersMoreIconTintColor:mentionTextFont:mentionLeftTextColor:mentionRightTextColor:mentionLeftTextBackgroundColor:mentionRightTextBackgroundColor:buttonBackgroundColor:buttonTitleColor:sideButtonIconColor:newMessageBadgeColor:parentInfoBackgroundColor:parentInfoUserNameTextFont:parentInfoUserNameTextColor:parentInfoDateFont:parentInfoDateTextColor:parentInfoMoreButtonTintColor:parentInfoSeparateBarColor:parentInfoReplyCountTextColor:parentInfoReplyCountTextFont:parentInfoProgressBackgroundColor:progressTrackTintColor:progressTimeFont:progressTimeRightTextColor:progressTimeLeftTextColor:statusButtonBackgroundColor:loadingButtonTintColor:playButtonTintColor:pauseButtonTintColor:)", + "printedName": "init(backgroundColor:leftBackgroundColor:leftPressedBackgroundColor:rightBackgroundColor:rightPressedBackgroundColor:openChannelBackgroundColor:openChannelPressedBackgroundColor:dateFont:dateTextColor:dateBackgroundColor:userPlaceholderBackgroundColor:userPlaceholderTintColor:userNameFont:userNameTextColor:currentUserNameTextColor:timeFont:timeTextColor:pendingStateColor:failedStateColor:succeededStateColor:readReceiptStateColor:deliveryReceiptStateColor:userMessageFont:userMessageLeftTextColor:userMessageLeftEditTextColor:userMessageLeftHighlightTextColor:userMessageRightTextColor:userMessageRightEditTextColor:userMessageRightHighlightTextColor:fileIconBackgroundColor:fileImageBackgroundColor:fileImageIconColor:fileIconColor:fileMessageNameFont:fileMessageLeftTextColor:fileMessageRightTextColor:fileMessagePlaceholderColor:adminMessageFont:adminMessageTextColor:unknownMessageDescFont:unknownMessageDescLeftTextColor:unknownMessageDescRightTextColor:ogTitleFont:ogTitleColor:ogDescriptionFont:ogDescriptionColor:ogURLAddressFont:ogURLAddressColor:openChannelOGTitleColor:linkColor:contentBackgroundColor:pressedContentBackgroundColor:quotedMessageLeftBackgroundColor:quotedMessageRightBackgroundColor:quotedFileMessageThumbnailColor:quotedMessageTextColor:quotedMessageTextFont:repliedIconColor:repliedToTextColor:repliedToTextFont:repliedCountTextColor:repliedCountTextFont:repliedUsersMoreIconBackgroundColor:repliedUsersMoreIconTintColor:mentionTextFont:mentionLeftTextColor:mentionRightTextColor:mentionLeftTextBackgroundColor:mentionRightTextBackgroundColor:buttonBackgroundColor:buttonTitleColor:sideButtonIconColor:newMessageBadgeColor:parentInfoBackgroundColor:parentInfoUserNameTextFont:parentInfoUserNameTextColor:parentInfoDateFont:parentInfoDateTextColor:parentInfoMoreButtonTintColor:parentInfoSeparateBarColor:parentInfoReplyCountTextColor:parentInfoReplyCountTextFont:parentInfoProgressBackgroundColor:progressTrackTintColor:progressTimeFont:progressTimeRightTextColor:progressTimeLeftTextColor:statusButtonBackgroundColor:loadingButtonTintColor:playButtonTintColor:pauseButtonTintColor:multipleFilesMessageFileOverlayColor:)", "children": [ { "kind": "TypeNominal", @@ -284925,6 +291964,13 @@ "hasDefaultArg": true, "usr": "c:objc(cs)UIColor" }, + { + "kind": "TypeNominal", + "name": "UIColor", + "printedName": "UIKit.UIColor", + "hasDefaultArg": true, + "usr": "c:objc(cs)UIColor" + }, { "kind": "TypeNominal", "name": "UIColor", @@ -284934,8 +291980,8 @@ } ], "declKind": "Constructor", - "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC15backgroundColor014leftBackgroundG00h7PressediG005rightiG00kjiG0011openChanneliG00lmjiG08dateFont0n4TextG00niG0015userPlaceholderiG00qr4TintG00q4NameO00qtpG0011currentUsertpG004timeO00wpG0012pendingStateG006failedyG009succeededyG0011readReceiptyG0015deliveryReceiptyG00q7MessageO00q11MessageLeftpG00q15MessageLeftEditpG00q20MessageLeftHighlightpG00q12MessageRightpG00q16MessageRightEditpG00q21MessageRightHighlightpG008fileIconiG009fileImageiG0013fileImageIconG008fileIconG0011fileMessagetO0015fileMessageLeftpG0016fileMessageRightpG0011fileMessagerG0012adminMessageO0012adminMessagepG0018unknownMessageDescO0022unknownMessageDescLeftpG0023unknownMessageDescRightpG007ogTitleO007ogTitleG0013ogDescriptionO0013ogDescriptionG0012ogURLAddressO0012ogURLAddressG00lm7OGTitleG004linkG007contentiG0014pressedContentiG0017quotedMessageLeftiG0018quotedMessageRightiG0026quotedFileMessageThumbnailG0013quotedMessagepG0013quotedMessagepO0011repliedIconG009repliedTopG009repliedTopO0012repliedCountpG0012repliedCountpO0020repliedUsersMoreIconiG0020repliedUsersMoreIconsG007mentionpO0011mentionLeftpG0012mentionRightpG0011mentionLeftpiG0012mentionRightpiG006buttoniG0011buttonTitleG0014sideButtonIconG0015newMessageBadgeG0010parentInfoiG0010parentInfovtpO0010parentInfovtpG0014parentInfoDateO0014parentInfoDatepG0020parentInfoMoreButtonsG0021parentInfoSeparateBarG0020parentInfoReplyCountpG0020parentInfoReplyCountpO0018parentInfoProgressiG0013progressTracksG0012progressTimeO0017progressTimeRightpG0016progressTimeLeftpG0012statusButtoniG0013loadingButtonsG0010playButtonsG0011pauseButtonsG0ACSo7UIColorC_A68_A68_A68_A68_A68_A68_So6UIFontCA68_A68_A68_A68_A70_A68_A68_A70_A68_A68_A68_A68_A68_A68_A70_A68_A68_A68_A68_A68_A68_A68_A68_A68_A68_A70_A68_A68_A68_A70_A68_A70_A68_A68_A70_A68_A70_A68_A70_A68_A68_A68_A68_A68_A68_A68_A68_A68_A70_A68_A68_A70_A68_A70_A68_A68_A70_A68_A68_A68_A68_A68_A68_A68_A68_A68_A70_A68_A70_A68_A68_A68_A68_A70_A68_A68_A70_A68_A68_A68_A68_A68_A68_tcfc", - "mangledName": "$s13SendbirdUIKit19SBUMessageCellThemeC15backgroundColor014leftBackgroundG00h7PressediG005rightiG00kjiG0011openChanneliG00lmjiG08dateFont0n4TextG00niG0015userPlaceholderiG00qr4TintG00q4NameO00qtpG0011currentUsertpG004timeO00wpG0012pendingStateG006failedyG009succeededyG0011readReceiptyG0015deliveryReceiptyG00q7MessageO00q11MessageLeftpG00q15MessageLeftEditpG00q20MessageLeftHighlightpG00q12MessageRightpG00q16MessageRightEditpG00q21MessageRightHighlightpG008fileIconiG009fileImageiG0013fileImageIconG008fileIconG0011fileMessagetO0015fileMessageLeftpG0016fileMessageRightpG0011fileMessagerG0012adminMessageO0012adminMessagepG0018unknownMessageDescO0022unknownMessageDescLeftpG0023unknownMessageDescRightpG007ogTitleO007ogTitleG0013ogDescriptionO0013ogDescriptionG0012ogURLAddressO0012ogURLAddressG00lm7OGTitleG004linkG007contentiG0014pressedContentiG0017quotedMessageLeftiG0018quotedMessageRightiG0026quotedFileMessageThumbnailG0013quotedMessagepG0013quotedMessagepO0011repliedIconG009repliedTopG009repliedTopO0012repliedCountpG0012repliedCountpO0020repliedUsersMoreIconiG0020repliedUsersMoreIconsG007mentionpO0011mentionLeftpG0012mentionRightpG0011mentionLeftpiG0012mentionRightpiG006buttoniG0011buttonTitleG0014sideButtonIconG0015newMessageBadgeG0010parentInfoiG0010parentInfovtpO0010parentInfovtpG0014parentInfoDateO0014parentInfoDatepG0020parentInfoMoreButtonsG0021parentInfoSeparateBarG0020parentInfoReplyCountpG0020parentInfoReplyCountpO0018parentInfoProgressiG0013progressTracksG0012progressTimeO0017progressTimeRightpG0016progressTimeLeftpG0012statusButtoniG0013loadingButtonsG0010playButtonsG0011pauseButtonsG0ACSo7UIColorC_A68_A68_A68_A68_A68_A68_So6UIFontCA68_A68_A68_A68_A70_A68_A68_A70_A68_A68_A68_A68_A68_A68_A70_A68_A68_A68_A68_A68_A68_A68_A68_A68_A68_A70_A68_A68_A68_A70_A68_A70_A68_A68_A70_A68_A70_A68_A70_A68_A68_A68_A68_A68_A68_A68_A68_A68_A70_A68_A68_A70_A68_A70_A68_A68_A70_A68_A68_A68_A68_A68_A68_A68_A68_A68_A70_A68_A70_A68_A68_A68_A68_A70_A68_A68_A70_A68_A68_A68_A68_A68_A68_tcfc", + "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC15backgroundColor014leftBackgroundG00h7PressediG005rightiG00kjiG0011openChanneliG00lmjiG08dateFont0n4TextG00niG0015userPlaceholderiG00qr4TintG00q4NameO00qtpG0011currentUsertpG004timeO00wpG0012pendingStateG006failedyG009succeededyG0011readReceiptyG0015deliveryReceiptyG00q7MessageO00q11MessageLeftpG00q15MessageLeftEditpG00q20MessageLeftHighlightpG00q12MessageRightpG00q16MessageRightEditpG00q21MessageRightHighlightpG008fileIconiG009fileImageiG0013fileImageIconG008fileIconG0011fileMessagetO0015fileMessageLeftpG0016fileMessageRightpG0011fileMessagerG0012adminMessageO0012adminMessagepG0018unknownMessageDescO0022unknownMessageDescLeftpG0023unknownMessageDescRightpG007ogTitleO007ogTitleG0013ogDescriptionO0013ogDescriptionG0012ogURLAddressO0012ogURLAddressG00lm7OGTitleG004linkG007contentiG0014pressedContentiG0017quotedMessageLeftiG0018quotedMessageRightiG0026quotedFileMessageThumbnailG0013quotedMessagepG0013quotedMessagepO0011repliedIconG009repliedTopG009repliedTopO0012repliedCountpG0012repliedCountpO0020repliedUsersMoreIconiG0020repliedUsersMoreIconsG007mentionpO0011mentionLeftpG0012mentionRightpG0011mentionLeftpiG0012mentionRightpiG006buttoniG0011buttonTitleG0014sideButtonIconG0015newMessageBadgeG0010parentInfoiG0010parentInfovtpO0010parentInfovtpG0014parentInfoDateO0014parentInfoDatepG0020parentInfoMoreButtonsG0021parentInfoSeparateBarG0020parentInfoReplyCountpG0020parentInfoReplyCountpO0018parentInfoProgressiG0013progressTracksG0012progressTimeO0017progressTimeRightpG0016progressTimeLeftpG0012statusButtoniG0013loadingButtonsG0010playButtonsG0011pauseButtonsG0031multipleFilesMessageFileOverlayG0ACSo7UIColorC_A69_A69_A69_A69_A69_A69_So6UIFontCA69_A69_A69_A69_A71_A69_A69_A71_A69_A69_A69_A69_A69_A69_A71_A69_A69_A69_A69_A69_A69_A69_A69_A69_A69_A71_A69_A69_A69_A71_A69_A71_A69_A69_A71_A69_A71_A69_A71_A69_A69_A69_A69_A69_A69_A69_A69_A69_A71_A69_A69_A71_A69_A71_A69_A69_A71_A69_A69_A69_A69_A69_A69_A69_A69_A69_A71_A69_A71_A69_A69_A69_A69_A71_A69_A69_A71_A69_A69_A69_A69_A69_A69_A69_tcfc", + "mangledName": "$s13SendbirdUIKit19SBUMessageCellThemeC15backgroundColor014leftBackgroundG00h7PressediG005rightiG00kjiG0011openChanneliG00lmjiG08dateFont0n4TextG00niG0015userPlaceholderiG00qr4TintG00q4NameO00qtpG0011currentUsertpG004timeO00wpG0012pendingStateG006failedyG009succeededyG0011readReceiptyG0015deliveryReceiptyG00q7MessageO00q11MessageLeftpG00q15MessageLeftEditpG00q20MessageLeftHighlightpG00q12MessageRightpG00q16MessageRightEditpG00q21MessageRightHighlightpG008fileIconiG009fileImageiG0013fileImageIconG008fileIconG0011fileMessagetO0015fileMessageLeftpG0016fileMessageRightpG0011fileMessagerG0012adminMessageO0012adminMessagepG0018unknownMessageDescO0022unknownMessageDescLeftpG0023unknownMessageDescRightpG007ogTitleO007ogTitleG0013ogDescriptionO0013ogDescriptionG0012ogURLAddressO0012ogURLAddressG00lm7OGTitleG004linkG007contentiG0014pressedContentiG0017quotedMessageLeftiG0018quotedMessageRightiG0026quotedFileMessageThumbnailG0013quotedMessagepG0013quotedMessagepO0011repliedIconG009repliedTopG009repliedTopO0012repliedCountpG0012repliedCountpO0020repliedUsersMoreIconiG0020repliedUsersMoreIconsG007mentionpO0011mentionLeftpG0012mentionRightpG0011mentionLeftpiG0012mentionRightpiG006buttoniG0011buttonTitleG0014sideButtonIconG0015newMessageBadgeG0010parentInfoiG0010parentInfovtpO0010parentInfovtpG0014parentInfoDateO0014parentInfoDatepG0020parentInfoMoreButtonsG0021parentInfoSeparateBarG0020parentInfoReplyCountpG0020parentInfoReplyCountpO0018parentInfoProgressiG0013progressTracksG0012progressTimeO0017progressTimeRightpG0016progressTimeLeftpG0012statusButtoniG0013loadingButtonsG0010playButtonsG0011pauseButtonsG0031multipleFilesMessageFileOverlayG0ACSo7UIColorC_A69_A69_A69_A69_A69_A69_So6UIFontCA69_A69_A69_A69_A71_A69_A69_A71_A69_A69_A69_A69_A69_A69_A71_A69_A69_A69_A69_A69_A69_A69_A69_A69_A69_A71_A69_A69_A69_A71_A69_A71_A69_A69_A71_A69_A71_A69_A71_A69_A69_A69_A69_A69_A69_A69_A69_A69_A71_A69_A69_A71_A69_A71_A69_A69_A71_A69_A69_A69_A69_A69_A69_A69_A69_A69_A71_A69_A71_A69_A69_A69_A69_A71_A69_A69_A71_A69_A69_A69_A69_A69_A69_A69_tcfc", "moduleName": "SendbirdUIKit", "declAttributes": [ "AccessControl" @@ -288095,94 +295141,8 @@ }, { "kind": "Var", - "name": "adminMessageFont", - "printedName": "adminMessageFont", - "children": [ - { - "kind": "TypeNominal", - "name": "UIFont", - "printedName": "UIKit.UIFont", - "usr": "c:objc(cs)UIFont" - } - ], - "declKind": "Var", - "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC16adminMessageFontSo6UIFontCvp", - "mangledName": "$s13SendbirdUIKit19SBUMessageCellThemeC16adminMessageFontSo6UIFontCvp", - "moduleName": "SendbirdUIKit", - "declAttributes": [ - "HasStorage", - "AccessControl", - "RawDocComment" - ], - "hasStorage": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "UIFont", - "printedName": "UIKit.UIFont", - "usr": "c:objc(cs)UIFont" - } - ], - "declKind": "Accessor", - "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC16adminMessageFontSo6UIFontCvg", - "mangledName": "$s13SendbirdUIKit19SBUMessageCellThemeC16adminMessageFontSo6UIFontCvg", - "moduleName": "SendbirdUIKit", - "implicit": true, - "accessorKind": "get" - }, - { - "kind": "Accessor", - "name": "Set", - "printedName": "Set()", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "UIFont", - "printedName": "UIKit.UIFont", - "usr": "c:objc(cs)UIFont" - } - ], - "declKind": "Accessor", - "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC16adminMessageFontSo6UIFontCvs", - "mangledName": "$s13SendbirdUIKit19SBUMessageCellThemeC16adminMessageFontSo6UIFontCvs", - "moduleName": "SendbirdUIKit", - "implicit": true, - "accessorKind": "set" - }, - { - "kind": "Accessor", - "name": "Modify", - "printedName": "Modify()", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - } - ], - "declKind": "Accessor", - "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC16adminMessageFontSo6UIFontCvM", - "mangledName": "$s13SendbirdUIKit19SBUMessageCellThemeC16adminMessageFontSo6UIFontCvM", - "moduleName": "SendbirdUIKit", - "implicit": true, - "accessorKind": "_modify" - } - ] - }, - { - "kind": "Var", - "name": "adminMessageTextColor", - "printedName": "adminMessageTextColor", + "name": "multipleFilesMessageFileOverlayColor", + "printedName": "multipleFilesMessageFileOverlayColor", "children": [ { "kind": "TypeNominal", @@ -288192,12 +295152,13 @@ } ], "declKind": "Var", - "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC21adminMessageTextColorSo7UIColorCvp", - "mangledName": "$s13SendbirdUIKit19SBUMessageCellThemeC21adminMessageTextColorSo7UIColorCvp", + "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC36multipleFilesMessageFileOverlayColorSo7UIColorCvp", + "mangledName": "$s13SendbirdUIKit19SBUMessageCellThemeC36multipleFilesMessageFileOverlayColorSo7UIColorCvp", "moduleName": "SendbirdUIKit", "declAttributes": [ "HasStorage", - "AccessControl" + "AccessControl", + "RawDocComment" ], "hasStorage": true, "accessors": [ @@ -288214,8 +295175,8 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC21adminMessageTextColorSo7UIColorCvg", - "mangledName": "$s13SendbirdUIKit19SBUMessageCellThemeC21adminMessageTextColorSo7UIColorCvg", + "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC36multipleFilesMessageFileOverlayColorSo7UIColorCvg", + "mangledName": "$s13SendbirdUIKit19SBUMessageCellThemeC36multipleFilesMessageFileOverlayColorSo7UIColorCvg", "moduleName": "SendbirdUIKit", "implicit": true, "accessorKind": "get" @@ -288238,8 +295199,8 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC21adminMessageTextColorSo7UIColorCvs", - "mangledName": "$s13SendbirdUIKit19SBUMessageCellThemeC21adminMessageTextColorSo7UIColorCvs", + "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC36multipleFilesMessageFileOverlayColorSo7UIColorCvs", + "mangledName": "$s13SendbirdUIKit19SBUMessageCellThemeC36multipleFilesMessageFileOverlayColorSo7UIColorCvs", "moduleName": "SendbirdUIKit", "implicit": true, "accessorKind": "set" @@ -288256,8 +295217,8 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC21adminMessageTextColorSo7UIColorCvM", - "mangledName": "$s13SendbirdUIKit19SBUMessageCellThemeC21adminMessageTextColorSo7UIColorCvM", + "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC36multipleFilesMessageFileOverlayColorSo7UIColorCvM", + "mangledName": "$s13SendbirdUIKit19SBUMessageCellThemeC36multipleFilesMessageFileOverlayColorSo7UIColorCvM", "moduleName": "SendbirdUIKit", "implicit": true, "accessorKind": "_modify" @@ -288266,8 +295227,8 @@ }, { "kind": "Var", - "name": "unknownMessageDescFont", - "printedName": "unknownMessageDescFont", + "name": "adminMessageFont", + "printedName": "adminMessageFont", "children": [ { "kind": "TypeNominal", @@ -288277,8 +295238,8 @@ } ], "declKind": "Var", - "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC22unknownMessageDescFontSo6UIFontCvp", - "mangledName": "$s13SendbirdUIKit19SBUMessageCellThemeC22unknownMessageDescFontSo6UIFontCvp", + "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC16adminMessageFontSo6UIFontCvp", + "mangledName": "$s13SendbirdUIKit19SBUMessageCellThemeC16adminMessageFontSo6UIFontCvp", "moduleName": "SendbirdUIKit", "declAttributes": [ "HasStorage", @@ -288300,8 +295261,8 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC22unknownMessageDescFontSo6UIFontCvg", - "mangledName": "$s13SendbirdUIKit19SBUMessageCellThemeC22unknownMessageDescFontSo6UIFontCvg", + "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC16adminMessageFontSo6UIFontCvg", + "mangledName": "$s13SendbirdUIKit19SBUMessageCellThemeC16adminMessageFontSo6UIFontCvg", "moduleName": "SendbirdUIKit", "implicit": true, "accessorKind": "get" @@ -288324,8 +295285,8 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC22unknownMessageDescFontSo6UIFontCvs", - "mangledName": "$s13SendbirdUIKit19SBUMessageCellThemeC22unknownMessageDescFontSo6UIFontCvs", + "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC16adminMessageFontSo6UIFontCvs", + "mangledName": "$s13SendbirdUIKit19SBUMessageCellThemeC16adminMessageFontSo6UIFontCvs", "moduleName": "SendbirdUIKit", "implicit": true, "accessorKind": "set" @@ -288342,8 +295303,8 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC22unknownMessageDescFontSo6UIFontCvM", - "mangledName": "$s13SendbirdUIKit19SBUMessageCellThemeC22unknownMessageDescFontSo6UIFontCvM", + "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC16adminMessageFontSo6UIFontCvM", + "mangledName": "$s13SendbirdUIKit19SBUMessageCellThemeC16adminMessageFontSo6UIFontCvM", "moduleName": "SendbirdUIKit", "implicit": true, "accessorKind": "_modify" @@ -288352,8 +295313,8 @@ }, { "kind": "Var", - "name": "unknownMessageDescLeftTextColor", - "printedName": "unknownMessageDescLeftTextColor", + "name": "adminMessageTextColor", + "printedName": "adminMessageTextColor", "children": [ { "kind": "TypeNominal", @@ -288363,8 +295324,8 @@ } ], "declKind": "Var", - "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC31unknownMessageDescLeftTextColorSo7UIColorCvp", - "mangledName": "$s13SendbirdUIKit19SBUMessageCellThemeC31unknownMessageDescLeftTextColorSo7UIColorCvp", + "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC21adminMessageTextColorSo7UIColorCvp", + "mangledName": "$s13SendbirdUIKit19SBUMessageCellThemeC21adminMessageTextColorSo7UIColorCvp", "moduleName": "SendbirdUIKit", "declAttributes": [ "HasStorage", @@ -288385,8 +295346,8 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC31unknownMessageDescLeftTextColorSo7UIColorCvg", - "mangledName": "$s13SendbirdUIKit19SBUMessageCellThemeC31unknownMessageDescLeftTextColorSo7UIColorCvg", + "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC21adminMessageTextColorSo7UIColorCvg", + "mangledName": "$s13SendbirdUIKit19SBUMessageCellThemeC21adminMessageTextColorSo7UIColorCvg", "moduleName": "SendbirdUIKit", "implicit": true, "accessorKind": "get" @@ -288409,8 +295370,8 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC31unknownMessageDescLeftTextColorSo7UIColorCvs", - "mangledName": "$s13SendbirdUIKit19SBUMessageCellThemeC31unknownMessageDescLeftTextColorSo7UIColorCvs", + "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC21adminMessageTextColorSo7UIColorCvs", + "mangledName": "$s13SendbirdUIKit19SBUMessageCellThemeC21adminMessageTextColorSo7UIColorCvs", "moduleName": "SendbirdUIKit", "implicit": true, "accessorKind": "set" @@ -288427,8 +295388,8 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC31unknownMessageDescLeftTextColorSo7UIColorCvM", - "mangledName": "$s13SendbirdUIKit19SBUMessageCellThemeC31unknownMessageDescLeftTextColorSo7UIColorCvM", + "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC21adminMessageTextColorSo7UIColorCvM", + "mangledName": "$s13SendbirdUIKit19SBUMessageCellThemeC21adminMessageTextColorSo7UIColorCvM", "moduleName": "SendbirdUIKit", "implicit": true, "accessorKind": "_modify" @@ -288437,23 +295398,24 @@ }, { "kind": "Var", - "name": "unknownMessageDescRightTextColor", - "printedName": "unknownMessageDescRightTextColor", + "name": "unknownMessageDescFont", + "printedName": "unknownMessageDescFont", "children": [ { "kind": "TypeNominal", - "name": "UIColor", - "printedName": "UIKit.UIColor", - "usr": "c:objc(cs)UIColor" + "name": "UIFont", + "printedName": "UIKit.UIFont", + "usr": "c:objc(cs)UIFont" } ], "declKind": "Var", - "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC32unknownMessageDescRightTextColorSo7UIColorCvp", - "mangledName": "$s13SendbirdUIKit19SBUMessageCellThemeC32unknownMessageDescRightTextColorSo7UIColorCvp", + "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC22unknownMessageDescFontSo6UIFontCvp", + "mangledName": "$s13SendbirdUIKit19SBUMessageCellThemeC22unknownMessageDescFontSo6UIFontCvp", "moduleName": "SendbirdUIKit", "declAttributes": [ "HasStorage", - "AccessControl" + "AccessControl", + "RawDocComment" ], "hasStorage": true, "accessors": [ @@ -288464,14 +295426,14 @@ "children": [ { "kind": "TypeNominal", - "name": "UIColor", - "printedName": "UIKit.UIColor", - "usr": "c:objc(cs)UIColor" + "name": "UIFont", + "printedName": "UIKit.UIFont", + "usr": "c:objc(cs)UIFont" } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC32unknownMessageDescRightTextColorSo7UIColorCvg", - "mangledName": "$s13SendbirdUIKit19SBUMessageCellThemeC32unknownMessageDescRightTextColorSo7UIColorCvg", + "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC22unknownMessageDescFontSo6UIFontCvg", + "mangledName": "$s13SendbirdUIKit19SBUMessageCellThemeC22unknownMessageDescFontSo6UIFontCvg", "moduleName": "SendbirdUIKit", "implicit": true, "accessorKind": "get" @@ -288488,14 +295450,14 @@ }, { "kind": "TypeNominal", - "name": "UIColor", - "printedName": "UIKit.UIColor", - "usr": "c:objc(cs)UIColor" + "name": "UIFont", + "printedName": "UIKit.UIFont", + "usr": "c:objc(cs)UIFont" } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC32unknownMessageDescRightTextColorSo7UIColorCvs", - "mangledName": "$s13SendbirdUIKit19SBUMessageCellThemeC32unknownMessageDescRightTextColorSo7UIColorCvs", + "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC22unknownMessageDescFontSo6UIFontCvs", + "mangledName": "$s13SendbirdUIKit19SBUMessageCellThemeC22unknownMessageDescFontSo6UIFontCvs", "moduleName": "SendbirdUIKit", "implicit": true, "accessorKind": "set" @@ -288512,8 +295474,8 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC32unknownMessageDescRightTextColorSo7UIColorCvM", - "mangledName": "$s13SendbirdUIKit19SBUMessageCellThemeC32unknownMessageDescRightTextColorSo7UIColorCvM", + "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC22unknownMessageDescFontSo6UIFontCvM", + "mangledName": "$s13SendbirdUIKit19SBUMessageCellThemeC22unknownMessageDescFontSo6UIFontCvM", "moduleName": "SendbirdUIKit", "implicit": true, "accessorKind": "_modify" @@ -288522,8 +295484,8 @@ }, { "kind": "Var", - "name": "messageLeftHighlightTextColor", - "printedName": "messageLeftHighlightTextColor", + "name": "unknownMessageDescLeftTextColor", + "printedName": "unknownMessageDescLeftTextColor", "children": [ { "kind": "TypeNominal", @@ -288533,13 +295495,12 @@ } ], "declKind": "Var", - "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC29messageLeftHighlightTextColorSo7UIColorCvp", - "mangledName": "$s13SendbirdUIKit19SBUMessageCellThemeC29messageLeftHighlightTextColorSo7UIColorCvp", + "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC31unknownMessageDescLeftTextColorSo7UIColorCvp", + "mangledName": "$s13SendbirdUIKit19SBUMessageCellThemeC31unknownMessageDescLeftTextColorSo7UIColorCvp", "moduleName": "SendbirdUIKit", "declAttributes": [ "HasStorage", - "AccessControl", - "RawDocComment" + "AccessControl" ], "hasStorage": true, "accessors": [ @@ -288556,8 +295517,179 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC29messageLeftHighlightTextColorSo7UIColorCvg", - "mangledName": "$s13SendbirdUIKit19SBUMessageCellThemeC29messageLeftHighlightTextColorSo7UIColorCvg", + "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC31unknownMessageDescLeftTextColorSo7UIColorCvg", + "mangledName": "$s13SendbirdUIKit19SBUMessageCellThemeC31unknownMessageDescLeftTextColorSo7UIColorCvg", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "UIColor", + "printedName": "UIKit.UIColor", + "usr": "c:objc(cs)UIColor" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC31unknownMessageDescLeftTextColorSo7UIColorCvs", + "mangledName": "$s13SendbirdUIKit19SBUMessageCellThemeC31unknownMessageDescLeftTextColorSo7UIColorCvs", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC31unknownMessageDescLeftTextColorSo7UIColorCvM", + "mangledName": "$s13SendbirdUIKit19SBUMessageCellThemeC31unknownMessageDescLeftTextColorSo7UIColorCvM", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "unknownMessageDescRightTextColor", + "printedName": "unknownMessageDescRightTextColor", + "children": [ + { + "kind": "TypeNominal", + "name": "UIColor", + "printedName": "UIKit.UIColor", + "usr": "c:objc(cs)UIColor" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC32unknownMessageDescRightTextColorSo7UIColorCvp", + "mangledName": "$s13SendbirdUIKit19SBUMessageCellThemeC32unknownMessageDescRightTextColorSo7UIColorCvp", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "HasStorage", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "UIColor", + "printedName": "UIKit.UIColor", + "usr": "c:objc(cs)UIColor" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC32unknownMessageDescRightTextColorSo7UIColorCvg", + "mangledName": "$s13SendbirdUIKit19SBUMessageCellThemeC32unknownMessageDescRightTextColorSo7UIColorCvg", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "UIColor", + "printedName": "UIKit.UIColor", + "usr": "c:objc(cs)UIColor" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC32unknownMessageDescRightTextColorSo7UIColorCvs", + "mangledName": "$s13SendbirdUIKit19SBUMessageCellThemeC32unknownMessageDescRightTextColorSo7UIColorCvs", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC32unknownMessageDescRightTextColorSo7UIColorCvM", + "mangledName": "$s13SendbirdUIKit19SBUMessageCellThemeC32unknownMessageDescRightTextColorSo7UIColorCvM", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "messageLeftHighlightTextColor", + "printedName": "messageLeftHighlightTextColor", + "children": [ + { + "kind": "TypeNominal", + "name": "UIColor", + "printedName": "UIKit.UIColor", + "usr": "c:objc(cs)UIColor" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC29messageLeftHighlightTextColorSo7UIColorCvp", + "mangledName": "$s13SendbirdUIKit19SBUMessageCellThemeC29messageLeftHighlightTextColorSo7UIColorCvp", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "UIColor", + "printedName": "UIKit.UIColor", + "usr": "c:objc(cs)UIColor" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC29messageLeftHighlightTextColorSo7UIColorCvg", + "mangledName": "$s13SendbirdUIKit19SBUMessageCellThemeC29messageLeftHighlightTextColorSo7UIColorCvg", "moduleName": "SendbirdUIKit", "implicit": true, "accessorKind": "get" @@ -316711,7 +323843,7 @@ "children": [ { "kind": "TypeNominal", - "name": "ImplicitlyUnwrappedOptional", + "name": "Optional", "printedName": "UIKit.NSLayoutConstraint?", "children": [ { @@ -316743,7 +323875,7 @@ "children": [ { "kind": "TypeNominal", - "name": "ImplicitlyUnwrappedOptional", + "name": "Optional", "printedName": "UIKit.NSLayoutConstraint?", "children": [ { @@ -316775,7 +323907,7 @@ }, { "kind": "TypeNominal", - "name": "ImplicitlyUnwrappedOptional", + "name": "Optional", "printedName": "UIKit.NSLayoutConstraint?", "children": [ { @@ -316822,7 +323954,7 @@ "children": [ { "kind": "TypeNominal", - "name": "ImplicitlyUnwrappedOptional", + "name": "Optional", "printedName": "UIKit.NSLayoutConstraint?", "children": [ { @@ -316854,7 +323986,7 @@ "children": [ { "kind": "TypeNominal", - "name": "ImplicitlyUnwrappedOptional", + "name": "Optional", "printedName": "UIKit.NSLayoutConstraint?", "children": [ { @@ -316886,7 +324018,7 @@ }, { "kind": "TypeNominal", - "name": "ImplicitlyUnwrappedOptional", + "name": "Optional", "printedName": "UIKit.NSLayoutConstraint?", "children": [ { @@ -319928,228 +327060,6 @@ } ] }, - { - "kind": "Var", - "name": "textLeftConstraint", - "printedName": "textLeftConstraint", - "children": [ - { - "kind": "TypeNominal", - "name": "ImplicitlyUnwrappedOptional", - "printedName": "UIKit.NSLayoutConstraint?", - "children": [ - { - "kind": "TypeNominal", - "name": "NSLayoutConstraint", - "printedName": "UIKit.NSLayoutConstraint", - "usr": "c:objc(cs)NSLayoutConstraint" - } - ], - "usr": "s:Sq" - } - ], - "declKind": "Var", - "usr": "s:13SendbirdUIKit22SBUUserMessageTextViewC18textLeftConstraintSo08NSLayoutI0CSgvp", - "mangledName": "$s13SendbirdUIKit22SBUUserMessageTextViewC18textLeftConstraintSo08NSLayoutI0CSgvp", - "moduleName": "SendbirdUIKit", - "declAttributes": [ - "Custom", - "HasInitialValue", - "HasStorage", - "AccessControl" - ], - "hasStorage": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "ImplicitlyUnwrappedOptional", - "printedName": "UIKit.NSLayoutConstraint?", - "children": [ - { - "kind": "TypeNominal", - "name": "NSLayoutConstraint", - "printedName": "UIKit.NSLayoutConstraint", - "usr": "c:objc(cs)NSLayoutConstraint" - } - ], - "usr": "s:Sq" - } - ], - "declKind": "Accessor", - "usr": "s:13SendbirdUIKit22SBUUserMessageTextViewC18textLeftConstraintSo08NSLayoutI0CSgvg", - "mangledName": "$s13SendbirdUIKit22SBUUserMessageTextViewC18textLeftConstraintSo08NSLayoutI0CSgvg", - "moduleName": "SendbirdUIKit", - "implicit": true, - "accessorKind": "get" - }, - { - "kind": "Accessor", - "name": "Set", - "printedName": "Set()", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "ImplicitlyUnwrappedOptional", - "printedName": "UIKit.NSLayoutConstraint?", - "children": [ - { - "kind": "TypeNominal", - "name": "NSLayoutConstraint", - "printedName": "UIKit.NSLayoutConstraint", - "usr": "c:objc(cs)NSLayoutConstraint" - } - ], - "usr": "s:Sq" - } - ], - "declKind": "Accessor", - "usr": "s:13SendbirdUIKit22SBUUserMessageTextViewC18textLeftConstraintSo08NSLayoutI0CSgvs", - "mangledName": "$s13SendbirdUIKit22SBUUserMessageTextViewC18textLeftConstraintSo08NSLayoutI0CSgvs", - "moduleName": "SendbirdUIKit", - "implicit": true, - "accessorKind": "set" - }, - { - "kind": "Accessor", - "name": "Modify", - "printedName": "Modify()", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - } - ], - "declKind": "Accessor", - "usr": "s:13SendbirdUIKit22SBUUserMessageTextViewC18textLeftConstraintSo08NSLayoutI0CSgvM", - "mangledName": "$s13SendbirdUIKit22SBUUserMessageTextViewC18textLeftConstraintSo08NSLayoutI0CSgvM", - "moduleName": "SendbirdUIKit", - "implicit": true, - "accessorKind": "_modify" - } - ] - }, - { - "kind": "Var", - "name": "textRightConstraint", - "printedName": "textRightConstraint", - "children": [ - { - "kind": "TypeNominal", - "name": "ImplicitlyUnwrappedOptional", - "printedName": "UIKit.NSLayoutConstraint?", - "children": [ - { - "kind": "TypeNominal", - "name": "NSLayoutConstraint", - "printedName": "UIKit.NSLayoutConstraint", - "usr": "c:objc(cs)NSLayoutConstraint" - } - ], - "usr": "s:Sq" - } - ], - "declKind": "Var", - "usr": "s:13SendbirdUIKit22SBUUserMessageTextViewC19textRightConstraintSo08NSLayoutI0CSgvp", - "mangledName": "$s13SendbirdUIKit22SBUUserMessageTextViewC19textRightConstraintSo08NSLayoutI0CSgvp", - "moduleName": "SendbirdUIKit", - "declAttributes": [ - "Custom", - "HasInitialValue", - "HasStorage", - "AccessControl" - ], - "hasStorage": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "ImplicitlyUnwrappedOptional", - "printedName": "UIKit.NSLayoutConstraint?", - "children": [ - { - "kind": "TypeNominal", - "name": "NSLayoutConstraint", - "printedName": "UIKit.NSLayoutConstraint", - "usr": "c:objc(cs)NSLayoutConstraint" - } - ], - "usr": "s:Sq" - } - ], - "declKind": "Accessor", - "usr": "s:13SendbirdUIKit22SBUUserMessageTextViewC19textRightConstraintSo08NSLayoutI0CSgvg", - "mangledName": "$s13SendbirdUIKit22SBUUserMessageTextViewC19textRightConstraintSo08NSLayoutI0CSgvg", - "moduleName": "SendbirdUIKit", - "implicit": true, - "accessorKind": "get" - }, - { - "kind": "Accessor", - "name": "Set", - "printedName": "Set()", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "ImplicitlyUnwrappedOptional", - "printedName": "UIKit.NSLayoutConstraint?", - "children": [ - { - "kind": "TypeNominal", - "name": "NSLayoutConstraint", - "printedName": "UIKit.NSLayoutConstraint", - "usr": "c:objc(cs)NSLayoutConstraint" - } - ], - "usr": "s:Sq" - } - ], - "declKind": "Accessor", - "usr": "s:13SendbirdUIKit22SBUUserMessageTextViewC19textRightConstraintSo08NSLayoutI0CSgvs", - "mangledName": "$s13SendbirdUIKit22SBUUserMessageTextViewC19textRightConstraintSo08NSLayoutI0CSgvs", - "moduleName": "SendbirdUIKit", - "implicit": true, - "accessorKind": "set" - }, - { - "kind": "Accessor", - "name": "Modify", - "printedName": "Modify()", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - } - ], - "declKind": "Accessor", - "usr": "s:13SendbirdUIKit22SBUUserMessageTextViewC19textRightConstraintSo08NSLayoutI0CSgvM", - "mangledName": "$s13SendbirdUIKit22SBUUserMessageTextViewC19textRightConstraintSo08NSLayoutI0CSgvM", - "moduleName": "SendbirdUIKit", - "implicit": true, - "accessorKind": "_modify" - } - ] - }, { "kind": "Var", "name": "mentionManager", @@ -320494,6 +327404,450 @@ } ] }, + { + "kind": "Var", + "name": "textTopConstraint", + "printedName": "textTopConstraint", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "UIKit.NSLayoutConstraint?", + "children": [ + { + "kind": "TypeNominal", + "name": "NSLayoutConstraint", + "printedName": "UIKit.NSLayoutConstraint", + "usr": "c:objc(cs)NSLayoutConstraint" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit22SBUUserMessageTextViewC17textTopConstraintSo08NSLayoutI0CSgvp", + "mangledName": "$s13SendbirdUIKit22SBUUserMessageTextViewC17textTopConstraintSo08NSLayoutI0CSgvp", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "Custom", + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "UIKit.NSLayoutConstraint?", + "children": [ + { + "kind": "TypeNominal", + "name": "NSLayoutConstraint", + "printedName": "UIKit.NSLayoutConstraint", + "usr": "c:objc(cs)NSLayoutConstraint" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit22SBUUserMessageTextViewC17textTopConstraintSo08NSLayoutI0CSgvg", + "mangledName": "$s13SendbirdUIKit22SBUUserMessageTextViewC17textTopConstraintSo08NSLayoutI0CSgvg", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "UIKit.NSLayoutConstraint?", + "children": [ + { + "kind": "TypeNominal", + "name": "NSLayoutConstraint", + "printedName": "UIKit.NSLayoutConstraint", + "usr": "c:objc(cs)NSLayoutConstraint" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit22SBUUserMessageTextViewC17textTopConstraintSo08NSLayoutI0CSgvs", + "mangledName": "$s13SendbirdUIKit22SBUUserMessageTextViewC17textTopConstraintSo08NSLayoutI0CSgvs", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit22SBUUserMessageTextViewC17textTopConstraintSo08NSLayoutI0CSgvM", + "mangledName": "$s13SendbirdUIKit22SBUUserMessageTextViewC17textTopConstraintSo08NSLayoutI0CSgvM", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "textBottomConstraint", + "printedName": "textBottomConstraint", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "UIKit.NSLayoutConstraint?", + "children": [ + { + "kind": "TypeNominal", + "name": "NSLayoutConstraint", + "printedName": "UIKit.NSLayoutConstraint", + "usr": "c:objc(cs)NSLayoutConstraint" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit22SBUUserMessageTextViewC20textBottomConstraintSo08NSLayoutI0CSgvp", + "mangledName": "$s13SendbirdUIKit22SBUUserMessageTextViewC20textBottomConstraintSo08NSLayoutI0CSgvp", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "Custom", + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "UIKit.NSLayoutConstraint?", + "children": [ + { + "kind": "TypeNominal", + "name": "NSLayoutConstraint", + "printedName": "UIKit.NSLayoutConstraint", + "usr": "c:objc(cs)NSLayoutConstraint" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit22SBUUserMessageTextViewC20textBottomConstraintSo08NSLayoutI0CSgvg", + "mangledName": "$s13SendbirdUIKit22SBUUserMessageTextViewC20textBottomConstraintSo08NSLayoutI0CSgvg", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "UIKit.NSLayoutConstraint?", + "children": [ + { + "kind": "TypeNominal", + "name": "NSLayoutConstraint", + "printedName": "UIKit.NSLayoutConstraint", + "usr": "c:objc(cs)NSLayoutConstraint" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit22SBUUserMessageTextViewC20textBottomConstraintSo08NSLayoutI0CSgvs", + "mangledName": "$s13SendbirdUIKit22SBUUserMessageTextViewC20textBottomConstraintSo08NSLayoutI0CSgvs", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit22SBUUserMessageTextViewC20textBottomConstraintSo08NSLayoutI0CSgvM", + "mangledName": "$s13SendbirdUIKit22SBUUserMessageTextViewC20textBottomConstraintSo08NSLayoutI0CSgvM", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "textLeftConstraint", + "printedName": "textLeftConstraint", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "UIKit.NSLayoutConstraint?", + "children": [ + { + "kind": "TypeNominal", + "name": "NSLayoutConstraint", + "printedName": "UIKit.NSLayoutConstraint", + "usr": "c:objc(cs)NSLayoutConstraint" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit22SBUUserMessageTextViewC18textLeftConstraintSo08NSLayoutI0CSgvp", + "mangledName": "$s13SendbirdUIKit22SBUUserMessageTextViewC18textLeftConstraintSo08NSLayoutI0CSgvp", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "Custom", + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "UIKit.NSLayoutConstraint?", + "children": [ + { + "kind": "TypeNominal", + "name": "NSLayoutConstraint", + "printedName": "UIKit.NSLayoutConstraint", + "usr": "c:objc(cs)NSLayoutConstraint" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit22SBUUserMessageTextViewC18textLeftConstraintSo08NSLayoutI0CSgvg", + "mangledName": "$s13SendbirdUIKit22SBUUserMessageTextViewC18textLeftConstraintSo08NSLayoutI0CSgvg", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "UIKit.NSLayoutConstraint?", + "children": [ + { + "kind": "TypeNominal", + "name": "NSLayoutConstraint", + "printedName": "UIKit.NSLayoutConstraint", + "usr": "c:objc(cs)NSLayoutConstraint" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit22SBUUserMessageTextViewC18textLeftConstraintSo08NSLayoutI0CSgvs", + "mangledName": "$s13SendbirdUIKit22SBUUserMessageTextViewC18textLeftConstraintSo08NSLayoutI0CSgvs", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit22SBUUserMessageTextViewC18textLeftConstraintSo08NSLayoutI0CSgvM", + "mangledName": "$s13SendbirdUIKit22SBUUserMessageTextViewC18textLeftConstraintSo08NSLayoutI0CSgvM", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "textRightConstraint", + "printedName": "textRightConstraint", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "UIKit.NSLayoutConstraint?", + "children": [ + { + "kind": "TypeNominal", + "name": "NSLayoutConstraint", + "printedName": "UIKit.NSLayoutConstraint", + "usr": "c:objc(cs)NSLayoutConstraint" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit22SBUUserMessageTextViewC19textRightConstraintSo08NSLayoutI0CSgvp", + "mangledName": "$s13SendbirdUIKit22SBUUserMessageTextViewC19textRightConstraintSo08NSLayoutI0CSgvp", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "Custom", + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "UIKit.NSLayoutConstraint?", + "children": [ + { + "kind": "TypeNominal", + "name": "NSLayoutConstraint", + "printedName": "UIKit.NSLayoutConstraint", + "usr": "c:objc(cs)NSLayoutConstraint" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit22SBUUserMessageTextViewC19textRightConstraintSo08NSLayoutI0CSgvg", + "mangledName": "$s13SendbirdUIKit22SBUUserMessageTextViewC19textRightConstraintSo08NSLayoutI0CSgvg", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "UIKit.NSLayoutConstraint?", + "children": [ + { + "kind": "TypeNominal", + "name": "NSLayoutConstraint", + "printedName": "UIKit.NSLayoutConstraint", + "usr": "c:objc(cs)NSLayoutConstraint" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit22SBUUserMessageTextViewC19textRightConstraintSo08NSLayoutI0CSgvs", + "mangledName": "$s13SendbirdUIKit22SBUUserMessageTextViewC19textRightConstraintSo08NSLayoutI0CSgvs", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit22SBUUserMessageTextViewC19textRightConstraintSo08NSLayoutI0CSgvM", + "mangledName": "$s13SendbirdUIKit22SBUUserMessageTextViewC19textRightConstraintSo08NSLayoutI0CSgvM", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, { "kind": "Constructor", "name": "init", @@ -331446,6 +338800,45 @@ ], "reqNewWitnessTableEntry": true, "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "messageThreadViewModel", + "printedName": "messageThreadViewModel(_:didFinishUploadingFileAt:multipleFilesMessageRequestId:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "SBUMessageThreadViewModel", + "printedName": "SendbirdUIKit.SBUMessageThreadViewModel", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMessageThreadViewModel" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Func", + "usr": "s:13SendbirdUIKit33SBUMessageThreadViewModelDelegateP07messagedeF0_24didFinishUploadingFileAt29multipleFilesMessageRequestIdyAA0cdeF0C_SiSStF", + "mangledName": "$s13SendbirdUIKit33SBUMessageThreadViewModelDelegateP07messagedeF0_24didFinishUploadingFileAt29multipleFilesMessageRequestIdyAA0cdeF0C_SiSStF", + "moduleName": "SendbirdUIKit", + "genericSig": "<τ_0_0 where τ_0_0 : SendbirdUIKit.SBUMessageThreadViewModelDelegate>", + "sugared_genericSig": "", + "protocolReq": true, + "reqNewWitnessTableEntry": true, + "funcSelfKind": "NonMutating" } ], "declKind": "Protocol", @@ -331789,6 +339182,240 @@ } ] }, + { + "kind": "Var", + "name": "sendMultipleFilesMessageCompletionHandler", + "printedName": "sendMultipleFilesMessageCompletionHandler", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "((SendbirdChatSDK.MultipleFilesMessage?, SendbirdChatSDK.SBError?) -> ())?", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(SendbirdChatSDK.MultipleFilesMessage?, SendbirdChatSDK.SBError?) -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(SendbirdChatSDK.MultipleFilesMessage?, SendbirdChatSDK.SBError?)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "SendbirdChatSDK.MultipleFilesMessage?", + "children": [ + { + "kind": "TypeNominal", + "name": "MultipleFilesMessage", + "printedName": "SendbirdChatSDK.MultipleFilesMessage", + "usr": "c:@M@SendbirdChatSDK@objc(cs)SBDMultipleFilesMessage" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "SendbirdChatSDK.SBError?", + "children": [ + { + "kind": "TypeNominal", + "name": "SBError", + "printedName": "SendbirdChatSDK.SBError", + "usr": "c:@M@SendbirdChatSDK@objc(cs)SBError" + } + ], + "usr": "s:Sq" + } + ] + } + ] + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit25SBUMessageThreadViewModelC41sendMultipleFilesMessageCompletionHandlery0A7ChatSDK0hiJ0CSg_AE7SBErrorCSgtcSgvp", + "mangledName": "$s13SendbirdUIKit25SBUMessageThreadViewModelC41sendMultipleFilesMessageCompletionHandlery0A7ChatSDK0hiJ0CSg_AE7SBErrorCSgtcSgvp", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "((SendbirdChatSDK.MultipleFilesMessage?, SendbirdChatSDK.SBError?) -> ())?", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(SendbirdChatSDK.MultipleFilesMessage?, SendbirdChatSDK.SBError?) -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(SendbirdChatSDK.MultipleFilesMessage?, SendbirdChatSDK.SBError?)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "SendbirdChatSDK.MultipleFilesMessage?", + "children": [ + { + "kind": "TypeNominal", + "name": "MultipleFilesMessage", + "printedName": "SendbirdChatSDK.MultipleFilesMessage", + "usr": "c:@M@SendbirdChatSDK@objc(cs)SBDMultipleFilesMessage" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "SendbirdChatSDK.SBError?", + "children": [ + { + "kind": "TypeNominal", + "name": "SBError", + "printedName": "SendbirdChatSDK.SBError", + "usr": "c:@M@SendbirdChatSDK@objc(cs)SBError" + } + ], + "usr": "s:Sq" + } + ] + } + ] + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit25SBUMessageThreadViewModelC41sendMultipleFilesMessageCompletionHandlery0A7ChatSDK0hiJ0CSg_AE7SBErrorCSgtcSgvg", + "mangledName": "$s13SendbirdUIKit25SBUMessageThreadViewModelC41sendMultipleFilesMessageCompletionHandlery0A7ChatSDK0hiJ0CSg_AE7SBErrorCSgtcSgvg", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "((SendbirdChatSDK.MultipleFilesMessage?, SendbirdChatSDK.SBError?) -> ())?", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(SendbirdChatSDK.MultipleFilesMessage?, SendbirdChatSDK.SBError?) -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(SendbirdChatSDK.MultipleFilesMessage?, SendbirdChatSDK.SBError?)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "SendbirdChatSDK.MultipleFilesMessage?", + "children": [ + { + "kind": "TypeNominal", + "name": "MultipleFilesMessage", + "printedName": "SendbirdChatSDK.MultipleFilesMessage", + "usr": "c:@M@SendbirdChatSDK@objc(cs)SBDMultipleFilesMessage" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "SendbirdChatSDK.SBError?", + "children": [ + { + "kind": "TypeNominal", + "name": "SBError", + "printedName": "SendbirdChatSDK.SBError", + "usr": "c:@M@SendbirdChatSDK@objc(cs)SBError" + } + ], + "usr": "s:Sq" + } + ] + } + ] + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit25SBUMessageThreadViewModelC41sendMultipleFilesMessageCompletionHandlery0A7ChatSDK0hiJ0CSg_AE7SBErrorCSgtcSgvs", + "mangledName": "$s13SendbirdUIKit25SBUMessageThreadViewModelC41sendMultipleFilesMessageCompletionHandlery0A7ChatSDK0hiJ0CSg_AE7SBErrorCSgtcSgvs", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit25SBUMessageThreadViewModelC41sendMultipleFilesMessageCompletionHandlery0A7ChatSDK0hiJ0CSg_AE7SBErrorCSgtcSgvM", + "mangledName": "$s13SendbirdUIKit25SBUMessageThreadViewModelC41sendMultipleFilesMessageCompletionHandlery0A7ChatSDK0hiJ0CSg_AE7SBErrorCSgtcSgvM", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, { "kind": "Constructor", "name": "init", @@ -332398,6 +340025,80 @@ ], "funcSelfKind": "NonMutating" }, + { + "kind": "Function", + "name": "sendMultipleFilesMessage", + "printedName": "sendMultipleFilesMessage(fileInfoList:parentMessageId:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[SendbirdChatSDK.UploadableFileInfo]", + "children": [ + { + "kind": "TypeNominal", + "name": "UploadableFileInfo", + "printedName": "SendbirdChatSDK.UploadableFileInfo", + "usr": "c:@M@SendbirdChatSDK@objc(cs)SBDUploadableFileInfo" + } + ], + "usr": "s:Sa" + }, + { + "kind": "TypeNominal", + "name": "Int64", + "printedName": "Swift.Int64", + "usr": "s:s5Int64V" + } + ], + "declKind": "Func", + "usr": "s:13SendbirdUIKit25SBUMessageThreadViewModelC24sendMultipleFilesMessage12fileInfoList06parentJ2IdySay0A7ChatSDK014UploadableFileL0CG_s5Int64VtF", + "mangledName": "$s13SendbirdUIKit25SBUMessageThreadViewModelC24sendMultipleFilesMessage12fileInfoList06parentJ2IdySay0A7ChatSDK014UploadableFileL0CG_s5Int64VtF", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "updateMultipleFilesMessageCell", + "printedName": "updateMultipleFilesMessageCell(requestId:index:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Func", + "usr": "s:13SendbirdUIKit25SBUMessageThreadViewModelC30updateMultipleFilesMessageCell9requestId5indexySS_SitF", + "mangledName": "$s13SendbirdUIKit25SBUMessageThreadViewModelC30updateMultipleFilesMessageCell9requestId5indexySS_SitF", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, { "kind": "Function", "name": "setupSendUserMessageCompletionHandlers", @@ -333645,6 +341346,1131 @@ "declKind": "Import", "moduleName": "SendbirdUIKit" }, + { + "kind": "TypeDecl", + "name": "SBUMultipleFilesMessageCell", + "printedName": "SBUMultipleFilesMessageCell", + "children": [ + { + "kind": "Var", + "name": "multipleFilesMessage", + "printedName": "multipleFilesMessage", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "SendbirdChatSDK.MultipleFilesMessage?", + "children": [ + { + "kind": "TypeNominal", + "name": "MultipleFilesMessage", + "printedName": "SendbirdChatSDK.MultipleFilesMessage", + "usr": "c:@M@SendbirdChatSDK@objc(cs)SBDMultipleFilesMessage" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCell(py)multipleFilesMessage", + "mangledName": "$s13SendbirdUIKit27SBUMultipleFilesMessageCellC08multipledE00A7ChatSDK08MultipledE0CSgvp", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "Custom", + "AccessControl", + "ObjC" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "SendbirdChatSDK.MultipleFilesMessage?", + "children": [ + { + "kind": "TypeNominal", + "name": "MultipleFilesMessage", + "printedName": "SendbirdChatSDK.MultipleFilesMessage", + "usr": "c:@M@SendbirdChatSDK@objc(cs)SBDMultipleFilesMessage" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCell(im)multipleFilesMessage", + "mangledName": "$s13SendbirdUIKit27SBUMultipleFilesMessageCellC08multipledE00A7ChatSDK08MultipledE0CSgvg", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "ObjC" + ], + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "containerView", + "printedName": "containerView", + "children": [ + { + "kind": "TypeNominal", + "name": "UIView", + "printedName": "UIKit.UIView", + "usr": "c:objc(cs)UIView" + } + ], + "declKind": "Var", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCell(py)containerView", + "mangledName": "$s13SendbirdUIKit27SBUMultipleFilesMessageCellC13containerViewSo6UIViewCvp", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "HasInitialValue", + "Custom", + "HasStorage", + "AccessControl", + "RawDocComment", + "ObjC" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "UIView", + "printedName": "UIKit.UIView", + "usr": "c:objc(cs)UIView" + } + ], + "declKind": "Accessor", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCell(im)containerView", + "mangledName": "$s13SendbirdUIKit27SBUMultipleFilesMessageCellC13containerViewSo6UIViewCvg", + "moduleName": "SendbirdUIKit", + "implicit": true, + "declAttributes": [ + "ObjC" + ], + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "UIView", + "printedName": "UIKit.UIView", + "usr": "c:objc(cs)UIView" + } + ], + "declKind": "Accessor", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCell(im)setContainerView:", + "mangledName": "$s13SendbirdUIKit27SBUMultipleFilesMessageCellC13containerViewSo6UIViewCvs", + "moduleName": "SendbirdUIKit", + "implicit": true, + "declAttributes": [ + "ObjC" + ], + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit27SBUMultipleFilesMessageCellC13containerViewSo6UIViewCvM", + "mangledName": "$s13SendbirdUIKit27SBUMultipleFilesMessageCellC13containerViewSo6UIViewCvM", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "collectionView", + "printedName": "collectionView", + "children": [ + { + "kind": "TypeNominal", + "name": "SBUMultipleFilesMessageCollectionView", + "printedName": "SendbirdUIKit.SBUMultipleFilesMessageCollectionView", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCollectionView" + } + ], + "declKind": "Var", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCell(py)collectionView", + "mangledName": "$s13SendbirdUIKit27SBUMultipleFilesMessageCellC14collectionViewAA0cde10CollectionH0Cvp", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "Custom", + "Lazy", + "AccessControl", + "RawDocComment", + "ObjC" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "SBUMultipleFilesMessageCollectionView", + "printedName": "SendbirdUIKit.SBUMultipleFilesMessageCollectionView", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCollectionView" + } + ], + "declKind": "Accessor", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCell(im)collectionView", + "mangledName": "$s13SendbirdUIKit27SBUMultipleFilesMessageCellC14collectionViewAA0cde10CollectionH0Cvg", + "moduleName": "SendbirdUIKit", + "implicit": true, + "declAttributes": [ + "ObjC" + ], + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "SBUMultipleFilesMessageCollectionView", + "printedName": "SendbirdUIKit.SBUMultipleFilesMessageCollectionView", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCollectionView" + } + ], + "declKind": "Accessor", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCell(im)setCollectionView:", + "mangledName": "$s13SendbirdUIKit27SBUMultipleFilesMessageCellC14collectionViewAA0cde10CollectionH0Cvs", + "moduleName": "SendbirdUIKit", + "implicit": true, + "declAttributes": [ + "ObjC" + ], + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit27SBUMultipleFilesMessageCellC14collectionViewAA0cde10CollectionH0CvM", + "mangledName": "$s13SendbirdUIKit27SBUMultipleFilesMessageCellC14collectionViewAA0cde10CollectionH0CvM", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "collectionViewHeightConstraint", + "printedName": "collectionViewHeightConstraint", + "children": [ + { + "kind": "TypeNominal", + "name": "ImplicitlyUnwrappedOptional", + "printedName": "UIKit.NSLayoutConstraint?", + "children": [ + { + "kind": "TypeNominal", + "name": "NSLayoutConstraint", + "printedName": "UIKit.NSLayoutConstraint", + "usr": "c:objc(cs)NSLayoutConstraint" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCell(py)collectionViewHeightConstraint", + "mangledName": "$s13SendbirdUIKit27SBUMultipleFilesMessageCellC30collectionViewHeightConstraintSo08NSLayoutJ0CSgvp", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "HasInitialValue", + "Custom", + "HasStorage", + "SetterAccess", + "AccessControl", + "RawDocComment", + "ObjC" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "ImplicitlyUnwrappedOptional", + "printedName": "UIKit.NSLayoutConstraint?", + "children": [ + { + "kind": "TypeNominal", + "name": "NSLayoutConstraint", + "printedName": "UIKit.NSLayoutConstraint", + "usr": "c:objc(cs)NSLayoutConstraint" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCell(im)collectionViewHeightConstraint", + "mangledName": "$s13SendbirdUIKit27SBUMultipleFilesMessageCellC30collectionViewHeightConstraintSo08NSLayoutJ0CSgvg", + "moduleName": "SendbirdUIKit", + "implicit": true, + "declAttributes": [ + "ObjC" + ], + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "fileSelectHandler", + "printedName": "fileSelectHandler", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "((SendbirdChatSDK.UploadedFileInfo, Swift.Int) -> ())?", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(SendbirdChatSDK.UploadedFileInfo, Swift.Int) -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(SendbirdChatSDK.UploadedFileInfo, Swift.Int)", + "children": [ + { + "kind": "TypeNominal", + "name": "UploadedFileInfo", + "printedName": "SendbirdChatSDK.UploadedFileInfo", + "usr": "c:@M@SendbirdChatSDK@objc(cs)SBDUploadedFileInfo" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ] + } + ] + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCell(py)fileSelectHandler", + "mangledName": "$s13SendbirdUIKit27SBUMultipleFilesMessageCellC17fileSelectHandlery0A7ChatSDK16UploadedFileInfoC_SitcSgvp", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "HasInitialValue", + "Custom", + "HasStorage", + "AccessControl", + "RawDocComment", + "ObjC" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "((SendbirdChatSDK.UploadedFileInfo, Swift.Int) -> ())?", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(SendbirdChatSDK.UploadedFileInfo, Swift.Int) -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(SendbirdChatSDK.UploadedFileInfo, Swift.Int)", + "children": [ + { + "kind": "TypeNominal", + "name": "UploadedFileInfo", + "printedName": "SendbirdChatSDK.UploadedFileInfo", + "usr": "c:@M@SendbirdChatSDK@objc(cs)SBDUploadedFileInfo" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ] + } + ] + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCell(im)fileSelectHandler", + "mangledName": "$s13SendbirdUIKit27SBUMultipleFilesMessageCellC17fileSelectHandlery0A7ChatSDK16UploadedFileInfoC_SitcSgvg", + "moduleName": "SendbirdUIKit", + "implicit": true, + "declAttributes": [ + "ObjC" + ], + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "((SendbirdChatSDK.UploadedFileInfo, Swift.Int) -> ())?", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(SendbirdChatSDK.UploadedFileInfo, Swift.Int) -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(SendbirdChatSDK.UploadedFileInfo, Swift.Int)", + "children": [ + { + "kind": "TypeNominal", + "name": "UploadedFileInfo", + "printedName": "SendbirdChatSDK.UploadedFileInfo", + "usr": "c:@M@SendbirdChatSDK@objc(cs)SBDUploadedFileInfo" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ] + } + ] + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCell(im)setFileSelectHandler:", + "mangledName": "$s13SendbirdUIKit27SBUMultipleFilesMessageCellC17fileSelectHandlery0A7ChatSDK16UploadedFileInfoC_SitcSgvs", + "moduleName": "SendbirdUIKit", + "implicit": true, + "declAttributes": [ + "ObjC" + ], + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit27SBUMultipleFilesMessageCellC17fileSelectHandlery0A7ChatSDK16UploadedFileInfoC_SitcSgvM", + "mangledName": "$s13SendbirdUIKit27SBUMultipleFilesMessageCellC17fileSelectHandlery0A7ChatSDK16UploadedFileInfoC_SitcSgvM", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Function", + "name": "setupViews", + "printedName": "setupViews()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Func", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCell(im)setupViews", + "mangledName": "$s13SendbirdUIKit27SBUMultipleFilesMessageCellC10setupViewsyyF", + "moduleName": "SendbirdUIKit", + "overriding": true, + "isOpen": true, + "objc_name": "setupViews", + "declAttributes": [ + "Dynamic", + "ObjC", + "Custom", + "Override", + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "setupLayouts", + "printedName": "setupLayouts()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Func", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCell(im)setupLayouts", + "mangledName": "$s13SendbirdUIKit27SBUMultipleFilesMessageCellC12setupLayoutsyyF", + "moduleName": "SendbirdUIKit", + "overriding": true, + "isOpen": true, + "objc_name": "setupLayouts", + "declAttributes": [ + "Dynamic", + "ObjC", + "Custom", + "Override", + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "setupStyles", + "printedName": "setupStyles()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Func", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCell(im)setupStyles", + "mangledName": "$s13SendbirdUIKit27SBUMultipleFilesMessageCellC11setupStylesyyF", + "moduleName": "SendbirdUIKit", + "overriding": true, + "isOpen": true, + "objc_name": "setupStyles", + "declAttributes": [ + "Dynamic", + "ObjC", + "Custom", + "Override", + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "setupActions", + "printedName": "setupActions()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Func", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCell(im)setupActions", + "mangledName": "$s13SendbirdUIKit27SBUMultipleFilesMessageCellC12setupActionsyyF", + "moduleName": "SendbirdUIKit", + "overriding": true, + "isOpen": true, + "objc_name": "setupActions", + "declAttributes": [ + "Dynamic", + "ObjC", + "Custom", + "Override", + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "configure", + "printedName": "configure(with:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "SBUBaseMessageCellParams", + "printedName": "SendbirdUIKit.SBUBaseMessageCellParams", + "usr": "s:13SendbirdUIKit24SBUBaseMessageCellParamsC" + } + ], + "declKind": "Func", + "usr": "s:13SendbirdUIKit27SBUMultipleFilesMessageCellC9configure4withyAA07SBUBaseeF6ParamsC_tF", + "mangledName": "$s13SendbirdUIKit27SBUMultipleFilesMessageCellC9configure4withyAA07SBUBaseeF6ParamsC_tF", + "moduleName": "SendbirdUIKit", + "overriding": true, + "isOpen": true, + "declAttributes": [ + "Custom", + "Override", + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "setSelected", + "printedName": "setSelected(_:animated:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Func", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCell(im)setSelected:animated:", + "mangledName": "$s13SendbirdUIKit27SBUMultipleFilesMessageCellC11setSelected_8animatedySb_SbtF", + "moduleName": "SendbirdUIKit", + "overriding": true, + "isOpen": true, + "objc_name": "setSelected:animated:", + "declAttributes": [ + "Dynamic", + "ObjC", + "Custom", + "Override", + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(style:reuseIdentifier:)", + "children": [ + { + "kind": "TypeNominal", + "name": "SBUMultipleFilesMessageCell", + "printedName": "SendbirdUIKit.SBUMultipleFilesMessageCell", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCell" + }, + { + "kind": "TypeNominal", + "name": "CellStyle", + "printedName": "UIKit.UITableViewCell.CellStyle", + "usr": "c:@E@UITableViewCellStyle" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.String?", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Constructor", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCell(im)initWithStyle:reuseIdentifier:", + "mangledName": "$s13SendbirdUIKit27SBUMultipleFilesMessageCellC5style15reuseIdentifierACSo011UITableViewF5StyleV_SSSgtcfc", + "moduleName": "SendbirdUIKit", + "overriding": true, + "implicit": true, + "objc_name": "initWithStyle:reuseIdentifier:", + "declAttributes": [ + "Dynamic", + "ObjC", + "Custom", + "Override" + ], + "init_kind": "Designated" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(coder:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "SendbirdUIKit.SBUMultipleFilesMessageCell?", + "children": [ + { + "kind": "TypeNominal", + "name": "SBUMultipleFilesMessageCell", + "printedName": "SendbirdUIKit.SBUMultipleFilesMessageCell", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCell" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "NSCoder", + "printedName": "Foundation.NSCoder", + "usr": "c:objc(cs)NSCoder" + } + ], + "declKind": "Constructor", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCell(im)initWithCoder:", + "mangledName": "$s13SendbirdUIKit27SBUMultipleFilesMessageCellC5coderACSgSo7NSCoderC_tcfc", + "moduleName": "SendbirdUIKit", + "overriding": true, + "implicit": true, + "objc_name": "initWithCoder:", + "declAttributes": [ + "Dynamic", + "ObjC", + "Custom", + "Required" + ], + "init_kind": "Designated" + }, + { + "kind": "Function", + "name": "collectionView", + "printedName": "collectionView(_:cellForItemAt:)", + "children": [ + { + "kind": "TypeNominal", + "name": "UICollectionViewCell", + "printedName": "UIKit.UICollectionViewCell", + "usr": "c:objc(cs)UICollectionViewCell" + }, + { + "kind": "TypeNominal", + "name": "UICollectionView", + "printedName": "UIKit.UICollectionView", + "usr": "c:objc(cs)UICollectionView" + }, + { + "kind": "TypeNominal", + "name": "IndexPath", + "printedName": "Foundation.IndexPath", + "usr": "s:10Foundation9IndexPathV" + } + ], + "declKind": "Func", + "usr": "c:@CM@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCell(im)collectionView:cellForItemAtIndexPath:", + "mangledName": "$s13SendbirdUIKit27SBUMultipleFilesMessageCellC14collectionView_13cellForItemAtSo012UICollectionhF0CSo0mH0C_10Foundation9IndexPathVtF", + "moduleName": "SendbirdUIKit", + "isOpen": true, + "objc_name": "collectionView:cellForItemAtIndexPath:", + "declAttributes": [ + "Dynamic", + "ObjC", + "Custom", + "AccessControl" + ], + "isFromExtension": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "collectionView", + "printedName": "collectionView(_:numberOfItemsInSection:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "UICollectionView", + "printedName": "UIKit.UICollectionView", + "usr": "c:objc(cs)UICollectionView" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Func", + "usr": "c:@CM@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCell(im)collectionView:numberOfItemsInSection:", + "mangledName": "$s13SendbirdUIKit27SBUMultipleFilesMessageCellC14collectionView_22numberOfItemsInSectionSiSo012UICollectionH0C_SitF", + "moduleName": "SendbirdUIKit", + "isOpen": true, + "objc_name": "collectionView:numberOfItemsInSection:", + "declAttributes": [ + "Dynamic", + "ObjC", + "Custom", + "AccessControl" + ], + "isFromExtension": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "numberOfSections", + "printedName": "numberOfSections(in:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "UICollectionView", + "printedName": "UIKit.UICollectionView", + "usr": "c:objc(cs)UICollectionView" + } + ], + "declKind": "Func", + "usr": "c:@CM@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCell(im)numberOfSectionsInCollectionView:", + "mangledName": "$s13SendbirdUIKit27SBUMultipleFilesMessageCellC16numberOfSections2inSiSo16UICollectionViewC_tF", + "moduleName": "SendbirdUIKit", + "isOpen": true, + "objc_name": "numberOfSectionsInCollectionView:", + "declAttributes": [ + "Dynamic", + "ObjC", + "Custom", + "AccessControl" + ], + "isFromExtension": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "collectionView", + "printedName": "collectionView(_:didSelectItemAt:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "UICollectionView", + "printedName": "UIKit.UICollectionView", + "usr": "c:objc(cs)UICollectionView" + }, + { + "kind": "TypeNominal", + "name": "IndexPath", + "printedName": "Foundation.IndexPath", + "usr": "s:10Foundation9IndexPathV" + } + ], + "declKind": "Func", + "usr": "c:@CM@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCell(im)collectionView:didSelectItemAtIndexPath:", + "mangledName": "$s13SendbirdUIKit27SBUMultipleFilesMessageCellC14collectionView_15didSelectItemAtySo012UICollectionH0C_10Foundation9IndexPathVtF", + "moduleName": "SendbirdUIKit", + "isOpen": true, + "objc_name": "collectionView:didSelectItemAtIndexPath:", + "declAttributes": [ + "Dynamic", + "ObjC", + "Custom", + "AccessControl" + ], + "isFromExtension": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "collectionView", + "printedName": "collectionView(_:layout:sizeForItemAt:)", + "children": [ + { + "kind": "TypeNominal", + "name": "CGSize", + "printedName": "CoreFoundation.CGSize", + "usr": "c:@S@CGSize" + }, + { + "kind": "TypeNominal", + "name": "UICollectionView", + "printedName": "UIKit.UICollectionView", + "usr": "c:objc(cs)UICollectionView" + }, + { + "kind": "TypeNominal", + "name": "UICollectionViewLayout", + "printedName": "UIKit.UICollectionViewLayout", + "usr": "c:objc(cs)UICollectionViewLayout" + }, + { + "kind": "TypeNominal", + "name": "IndexPath", + "printedName": "Foundation.IndexPath", + "usr": "s:10Foundation9IndexPathV" + } + ], + "declKind": "Func", + "usr": "c:@CM@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCell(im)collectionView:layout:sizeForItemAtIndexPath:", + "mangledName": "$s13SendbirdUIKit27SBUMultipleFilesMessageCellC14collectionView_6layout13sizeForItemAtSo6CGSizeVSo012UICollectionH0C_So0oH6LayoutC10Foundation9IndexPathVtF", + "moduleName": "SendbirdUIKit", + "isOpen": true, + "objc_name": "collectionView:layout:sizeForItemAtIndexPath:", + "declAttributes": [ + "Dynamic", + "ObjC", + "Custom", + "AccessControl" + ], + "isFromExtension": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "prepareForReuse", + "printedName": "prepareForReuse()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Func", + "usr": "c:@CM@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCell(im)prepareForReuse", + "mangledName": "$s13SendbirdUIKit27SBUMultipleFilesMessageCellC15prepareForReuseyyF", + "moduleName": "SendbirdUIKit", + "overriding": true, + "isOpen": true, + "objc_name": "prepareForReuse", + "declAttributes": [ + "Dynamic", + "ObjC", + "Custom", + "Override", + "AccessControl" + ], + "isFromExtension": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Class", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCell", + "mangledName": "$s13SendbirdUIKit27SBUMultipleFilesMessageCellC", + "moduleName": "SendbirdUIKit", + "isOpen": true, + "declAttributes": [ + "Custom", + "AccessControl", + "RawDocComment", + "ObjC" + ], + "superclassUsr": "c:@M@SendbirdUIKit@objc(cs)SBUContentBaseMessageCell", + "inheritsConvenienceInitializers": true, + "superclassNames": [ + "SendbirdUIKit.SBUContentBaseMessageCell", + "SendbirdUIKit.SBUBaseMessageCell", + "SendbirdUIKit.SBUTableViewCell", + "UIKit.UITableViewCell", + "UIKit.UIView", + "UIKit.UIResponder", + "ObjectiveC.NSObject" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "SBUMessageCellProtocol", + "printedName": "SBUMessageCellProtocol", + "usr": "s:13SendbirdUIKit22SBUMessageCellProtocolP", + "mangledName": "$s13SendbirdUIKit22SBUMessageCellProtocolP" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "CVarArg", + "printedName": "CVarArg", + "usr": "s:s7CVarArgP", + "mangledName": "$ss7CVarArgP" + }, + { + "kind": "Conformance", + "name": "_KeyValueCodingAndObservingPublishing", + "printedName": "_KeyValueCodingAndObservingPublishing", + "usr": "s:10Foundation37_KeyValueCodingAndObservingPublishingP", + "mangledName": "$s10Foundation37_KeyValueCodingAndObservingPublishingP" + }, + { + "kind": "Conformance", + "name": "_KeyValueCodingAndObserving", + "printedName": "_KeyValueCodingAndObserving", + "usr": "s:10Foundation27_KeyValueCodingAndObservingP", + "mangledName": "$s10Foundation27_KeyValueCodingAndObservingP" + }, + { + "kind": "Conformance", + "name": "CustomStringConvertible", + "printedName": "CustomStringConvertible", + "usr": "s:s23CustomStringConvertibleP", + "mangledName": "$ss23CustomStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "CustomDebugStringConvertible", + "printedName": "CustomDebugStringConvertible", + "usr": "s:s28CustomDebugStringConvertibleP", + "mangledName": "$ss28CustomDebugStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + }, + { + "kind": "Conformance", + "name": "__DefaultCustomPlaygroundQuickLookable", + "printedName": "__DefaultCustomPlaygroundQuickLookable", + "usr": "s:s38__DefaultCustomPlaygroundQuickLookableP", + "mangledName": "$ss38__DefaultCustomPlaygroundQuickLookableP" + }, + { + "kind": "Conformance", + "name": "SBUViewLifeCycle", + "printedName": "SBUViewLifeCycle", + "usr": "c:@M@SendbirdUIKit@objc(pl)SBUViewLifeCycle", + "mangledName": "$s13SendbirdUIKit16SBUViewLifeCycleP" + } + ] + }, + { + "kind": "Import", + "name": "UIKit", + "printedName": "UIKit", + "declKind": "Import", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "SendbirdChatSDK", + "printedName": "SendbirdChatSDK", + "declKind": "Import", + "moduleName": "SendbirdUIKit" + }, { "kind": "TypeDecl", "name": "SBUUserListModuleHeaderDelegate", @@ -336917,6 +345743,45 @@ ], "reqNewWitnessTableEntry": true, "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "groupChannelViewModel", + "printedName": "groupChannelViewModel(_:didFinishUploadingFileAt:multipleFilesMessageRequestId:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "SBUGroupChannelViewModel", + "printedName": "SendbirdUIKit.SBUGroupChannelViewModel", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUGroupChannelViewModel" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Func", + "usr": "s:13SendbirdUIKit32SBUGroupChannelViewModelDelegateP05groupdeF0_24didFinishUploadingFileAt29multipleFilesMessageRequestIdyAA0cdeF0C_SiSStF", + "mangledName": "$s13SendbirdUIKit32SBUGroupChannelViewModelDelegateP05groupdeF0_24didFinishUploadingFileAt29multipleFilesMessageRequestIdyAA0cdeF0C_SiSStF", + "moduleName": "SendbirdUIKit", + "genericSig": "<τ_0_0 where τ_0_0 : SendbirdUIKit.SBUGroupChannelViewModelDelegate>", + "sugared_genericSig": "", + "protocolReq": true, + "reqNewWitnessTableEntry": true, + "funcSelfKind": "NonMutating" } ], "declKind": "Protocol", @@ -337154,6 +346019,240 @@ } ] }, + { + "kind": "Var", + "name": "sendMultipleFilesMessageCompletionHandler", + "printedName": "sendMultipleFilesMessageCompletionHandler", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "((SendbirdChatSDK.MultipleFilesMessage?, SendbirdChatSDK.SBError?) -> ())?", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(SendbirdChatSDK.MultipleFilesMessage?, SendbirdChatSDK.SBError?) -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(SendbirdChatSDK.MultipleFilesMessage?, SendbirdChatSDK.SBError?)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "SendbirdChatSDK.MultipleFilesMessage?", + "children": [ + { + "kind": "TypeNominal", + "name": "MultipleFilesMessage", + "printedName": "SendbirdChatSDK.MultipleFilesMessage", + "usr": "c:@M@SendbirdChatSDK@objc(cs)SBDMultipleFilesMessage" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "SendbirdChatSDK.SBError?", + "children": [ + { + "kind": "TypeNominal", + "name": "SBError", + "printedName": "SendbirdChatSDK.SBError", + "usr": "c:@M@SendbirdChatSDK@objc(cs)SBError" + } + ], + "usr": "s:Sq" + } + ] + } + ] + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit24SBUGroupChannelViewModelC41sendMultipleFilesMessageCompletionHandlery0A7ChatSDK0hiJ0CSg_AE7SBErrorCSgtcSgvp", + "mangledName": "$s13SendbirdUIKit24SBUGroupChannelViewModelC41sendMultipleFilesMessageCompletionHandlery0A7ChatSDK0hiJ0CSg_AE7SBErrorCSgtcSgvp", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "((SendbirdChatSDK.MultipleFilesMessage?, SendbirdChatSDK.SBError?) -> ())?", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(SendbirdChatSDK.MultipleFilesMessage?, SendbirdChatSDK.SBError?) -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(SendbirdChatSDK.MultipleFilesMessage?, SendbirdChatSDK.SBError?)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "SendbirdChatSDK.MultipleFilesMessage?", + "children": [ + { + "kind": "TypeNominal", + "name": "MultipleFilesMessage", + "printedName": "SendbirdChatSDK.MultipleFilesMessage", + "usr": "c:@M@SendbirdChatSDK@objc(cs)SBDMultipleFilesMessage" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "SendbirdChatSDK.SBError?", + "children": [ + { + "kind": "TypeNominal", + "name": "SBError", + "printedName": "SendbirdChatSDK.SBError", + "usr": "c:@M@SendbirdChatSDK@objc(cs)SBError" + } + ], + "usr": "s:Sq" + } + ] + } + ] + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit24SBUGroupChannelViewModelC41sendMultipleFilesMessageCompletionHandlery0A7ChatSDK0hiJ0CSg_AE7SBErrorCSgtcSgvg", + "mangledName": "$s13SendbirdUIKit24SBUGroupChannelViewModelC41sendMultipleFilesMessageCompletionHandlery0A7ChatSDK0hiJ0CSg_AE7SBErrorCSgtcSgvg", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "((SendbirdChatSDK.MultipleFilesMessage?, SendbirdChatSDK.SBError?) -> ())?", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(SendbirdChatSDK.MultipleFilesMessage?, SendbirdChatSDK.SBError?) -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(SendbirdChatSDK.MultipleFilesMessage?, SendbirdChatSDK.SBError?)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "SendbirdChatSDK.MultipleFilesMessage?", + "children": [ + { + "kind": "TypeNominal", + "name": "MultipleFilesMessage", + "printedName": "SendbirdChatSDK.MultipleFilesMessage", + "usr": "c:@M@SendbirdChatSDK@objc(cs)SBDMultipleFilesMessage" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "SendbirdChatSDK.SBError?", + "children": [ + { + "kind": "TypeNominal", + "name": "SBError", + "printedName": "SendbirdChatSDK.SBError", + "usr": "c:@M@SendbirdChatSDK@objc(cs)SBError" + } + ], + "usr": "s:Sq" + } + ] + } + ] + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit24SBUGroupChannelViewModelC41sendMultipleFilesMessageCompletionHandlery0A7ChatSDK0hiJ0CSg_AE7SBErrorCSgtcSgvs", + "mangledName": "$s13SendbirdUIKit24SBUGroupChannelViewModelC41sendMultipleFilesMessageCompletionHandlery0A7ChatSDK0hiJ0CSg_AE7SBErrorCSgtcSgvs", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit24SBUGroupChannelViewModelC41sendMultipleFilesMessageCompletionHandlery0A7ChatSDK0hiJ0CSg_AE7SBErrorCSgtcSgvM", + "mangledName": "$s13SendbirdUIKit24SBUGroupChannelViewModelC41sendMultipleFilesMessageCompletionHandlery0A7ChatSDK0hiJ0CSg_AE7SBErrorCSgtcSgvM", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, { "kind": "Constructor", "name": "init", @@ -337395,6 +346494,76 @@ ], "funcSelfKind": "NonMutating" }, + { + "kind": "Function", + "name": "sendMultipleFilesMessage", + "printedName": "sendMultipleFilesMessage(fileInfoList:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[SendbirdChatSDK.UploadableFileInfo]", + "children": [ + { + "kind": "TypeNominal", + "name": "UploadableFileInfo", + "printedName": "SendbirdChatSDK.UploadableFileInfo", + "usr": "c:@M@SendbirdChatSDK@objc(cs)SBDUploadableFileInfo" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Func", + "usr": "s:13SendbirdUIKit24SBUGroupChannelViewModelC24sendMultipleFilesMessage12fileInfoListySay0A7ChatSDK014UploadableFileL0CG_tF", + "mangledName": "$s13SendbirdUIKit24SBUGroupChannelViewModelC24sendMultipleFilesMessage12fileInfoListySay0A7ChatSDK014UploadableFileL0CG_tF", + "moduleName": "SendbirdUIKit", + "isOpen": true, + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "updateMultipleFilesMessageCell", + "printedName": "updateMultipleFilesMessageCell(requestId:index:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Func", + "usr": "s:13SendbirdUIKit24SBUGroupChannelViewModelC30updateMultipleFilesMessageCell9requestId5indexySS_SitF", + "mangledName": "$s13SendbirdUIKit24SBUGroupChannelViewModelC30updateMultipleFilesMessageCell9requestId5indexySS_SitF", + "moduleName": "SendbirdUIKit", + "isOpen": true, + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, { "kind": "Function", "name": "loadInitialMessages", @@ -343246,6 +352415,173 @@ } ] }, + { + "kind": "TypeDecl", + "name": "MultipleFilesMessage", + "printedName": "MultipleFilesMessage", + "children": [ + { + "kind": "Var", + "name": "filesCount", + "printedName": "filesCount", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:15SendbirdChatSDK20MultipleFilesMessageC0A5UIKitE10filesCountSivp", + "mangledName": "$s15SendbirdChatSDK20MultipleFilesMessageC0A5UIKitE10filesCountSivp", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:15SendbirdChatSDK20MultipleFilesMessageC0A5UIKitE10filesCountSivg", + "mangledName": "$s15SendbirdChatSDK20MultipleFilesMessageC0A5UIKitE10filesCountSivg", + "moduleName": "SendbirdUIKit", + "isFromExtension": true, + "accessorKind": "get" + } + ] + } + ], + "declKind": "Class", + "usr": "c:@M@SendbirdChatSDK@objc(cs)SBDMultipleFilesMessage", + "mangledName": "$s15SendbirdChatSDK20MultipleFilesMessageC", + "moduleName": "SendbirdChatSDK", + "objc_name": "SBDMultipleFilesMessage", + "declAttributes": [ + "ObjC" + ], + "superclassUsr": "c:@M@SendbirdChatSDK@objc(cs)SBDBaseMessage", + "isExternal": true, + "hasMissingDesignatedInitializers": true, + "inheritsConvenienceInitializers": true, + "superclassNames": [ + "SendbirdChatSDK.BaseMessage", + "ObjectiveC.NSObject" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Decodable", + "printedName": "Decodable", + "usr": "s:Se", + "mangledName": "$sSe" + }, + { + "kind": "Conformance", + "name": "Encodable", + "printedName": "Encodable", + "usr": "s:SE", + "mangledName": "$sSE" + }, + { + "kind": "Conformance", + "name": "Identifiable", + "printedName": "Identifiable", + "children": [ + { + "kind": "TypeWitness", + "name": "ID", + "printedName": "ID", + "children": [ + { + "kind": "TypeNominal", + "name": "AnyHashable", + "printedName": "Swift.AnyHashable", + "usr": "s:s11AnyHashableV" + } + ] + } + ], + "usr": "s:s12IdentifiableP", + "mangledName": "$ss12IdentifiableP" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "CVarArg", + "printedName": "CVarArg", + "usr": "s:s7CVarArgP", + "mangledName": "$ss7CVarArgP" + }, + { + "kind": "Conformance", + "name": "_KeyValueCodingAndObservingPublishing", + "printedName": "_KeyValueCodingAndObservingPublishing", + "usr": "s:10Foundation37_KeyValueCodingAndObservingPublishingP", + "mangledName": "$s10Foundation37_KeyValueCodingAndObservingPublishingP" + }, + { + "kind": "Conformance", + "name": "_KeyValueCodingAndObserving", + "printedName": "_KeyValueCodingAndObserving", + "usr": "s:10Foundation27_KeyValueCodingAndObservingP", + "mangledName": "$s10Foundation27_KeyValueCodingAndObservingP" + }, + { + "kind": "Conformance", + "name": "CustomStringConvertible", + "printedName": "CustomStringConvertible", + "usr": "s:s23CustomStringConvertibleP", + "mangledName": "$ss23CustomStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "CustomDebugStringConvertible", + "printedName": "CustomDebugStringConvertible", + "usr": "s:s28CustomDebugStringConvertibleP", + "mangledName": "$ss28CustomDebugStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "Serializable", + "printedName": "Serializable", + "usr": "c:@M@SendbirdChatSDK@objc(pl)Serializable", + "mangledName": "$s15SendbirdChatSDK12SerializableP" + }, + { + "kind": "Conformance", + "name": "Mappable", + "printedName": "Mappable", + "usr": "c:@M@SendbirdChatSDK@objc(pl)Mappable", + "mangledName": "$s15SendbirdChatSDK8MappableP" + } + ] + }, { "kind": "TypeDecl", "name": "Sequence", @@ -348968,6 +358304,136 @@ } ] }, + { + "kind": "TypeDecl", + "name": "NSLayoutConstraint", + "printedName": "NSLayoutConstraint", + "children": [ + { + "kind": "Function", + "name": "sbu_activate", + "printedName": "sbu_activate(baseView:constraints:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "UIView", + "printedName": "UIKit.UIView", + "usr": "c:objc(cs)UIView" + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[UIKit.NSLayoutConstraint?]", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "UIKit.NSLayoutConstraint?", + "children": [ + { + "kind": "TypeNominal", + "name": "NSLayoutConstraint", + "printedName": "UIKit.NSLayoutConstraint", + "usr": "c:objc(cs)NSLayoutConstraint" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Func", + "usr": "s:So18NSLayoutConstraintC13SendbirdUIKitE12sbu_activate8baseView11constraintsySo6UIViewC_SayABSgGtFZ", + "mangledName": "$sSo18NSLayoutConstraintC13SendbirdUIKitE12sbu_activate8baseView11constraintsySo6UIViewC_SayABSgGtFZ", + "moduleName": "SendbirdUIKit", + "static": true, + "declAttributes": [ + "Custom", + "Final", + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Class", + "usr": "c:objc(cs)NSLayoutConstraint", + "moduleName": "UIKit", + "isOpen": true, + "intro_iOS": "6.0", + "objc_name": "NSLayoutConstraint", + "declAttributes": [ + "Available", + "ObjC", + "NonSendable", + "Custom", + "Dynamic" + ], + "superclassUsr": "c:objc(cs)NSObject", + "isExternal": true, + "inheritsConvenienceInitializers": true, + "superclassNames": [ + "ObjectiveC.NSObject" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "CVarArg", + "printedName": "CVarArg", + "usr": "s:s7CVarArgP", + "mangledName": "$ss7CVarArgP" + }, + { + "kind": "Conformance", + "name": "_KeyValueCodingAndObservingPublishing", + "printedName": "_KeyValueCodingAndObservingPublishing", + "usr": "s:10Foundation37_KeyValueCodingAndObservingPublishingP", + "mangledName": "$s10Foundation37_KeyValueCodingAndObservingPublishingP" + }, + { + "kind": "Conformance", + "name": "_KeyValueCodingAndObserving", + "printedName": "_KeyValueCodingAndObserving", + "usr": "s:10Foundation27_KeyValueCodingAndObservingP", + "mangledName": "$s10Foundation27_KeyValueCodingAndObservingP" + }, + { + "kind": "Conformance", + "name": "CustomStringConvertible", + "printedName": "CustomStringConvertible", + "usr": "s:s23CustomStringConvertibleP", + "mangledName": "$ss23CustomStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "CustomDebugStringConvertible", + "printedName": "CustomDebugStringConvertible", + "usr": "s:s28CustomDebugStringConvertibleP", + "mangledName": "$ss28CustomDebugStringConvertibleP" + } + ] + }, { "kind": "TypeDecl", "name": "Date", @@ -350283,43 +359749,71 @@ }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Module\/Channel\/SBUBaseChannelModule.List.swift", - "kind": "BooleanLiteral", - "offset": 16406, - "length": 5, - "value": "false" + "kind": "IntegerLiteral", + "offset": 16418, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Module\/Channel\/SBUBaseChannelModule.List.swift", + "kind": "IntegerLiteral", + "offset": 16431, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Module\/Channel\/SBUBaseChannelModule.List.swift", + "kind": "IntegerLiteral", + "offset": 16439, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Module\/Channel\/SBUBaseChannelModule.List.swift", + "kind": "IntegerLiteral", + "offset": 16450, + "length": 1, + "value": "0" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Module\/Channel\/SBUBaseChannelModule.List.swift", "kind": "BooleanLiteral", - "offset": 18115, + "offset": 17736, "length": 4, "value": "true" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Module\/Channel\/SBUBaseChannelModule.List.swift", "kind": "BooleanLiteral", - "offset": 18155, + "offset": 17776, "length": 5, "value": "false" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Module\/Channel\/SBUBaseChannelModule.List.swift", "kind": "BooleanLiteral", - "offset": 51470, + "offset": 23626, + "length": 4, + "value": "true" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Module\/Channel\/SBUBaseChannelModule.List.swift", + "kind": "BooleanLiteral", + "offset": 51731, "length": 5, "value": "false" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Module\/Channel\/SBUBaseChannelModule.List.swift", "kind": "BooleanLiteral", - "offset": 54706, + "offset": 54967, "length": 5, "value": "false" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Module\/Channel\/SBUBaseChannelModule.List.swift", "kind": "BooleanLiteral", - "offset": 54769, + "offset": 55030, "length": 5, "value": "false" }, @@ -350491,6 +359985,41 @@ "length": 4, "value": "76.0" }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Module\/MessageThread\/SBUMessageThreadModule.Input.swift", + "kind": "StringLiteral", + "offset": 6963, + "length": 24, + "value": "\"uploadableFileInfoList\"" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Module\/MessageThread\/SBUMessageThreadModule.Input.swift", + "kind": "StringLiteral", + "offset": 7019, + "length": 7, + "value": "\"image\"" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Module\/MessageThread\/SBUMessageThreadModule.Input.swift", + "kind": "StringLiteral", + "offset": 7056, + "length": 5, + "value": "\"gif\"" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Module\/MessageThread\/SBUMessageThreadModule.Input.swift", + "kind": "StringLiteral", + "offset": 7093, + "length": 7, + "value": "\"video\"" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Module\/MessageThread\/SBUMessageThreadModule.Input.swift", + "kind": "IntegerLiteral", + "offset": 7441, + "length": 1, + "value": "1" + }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/ViewModel\/ChannelSettings\/SBUGroupChannelSettingsViewModel.swift", "kind": "StringLiteral", @@ -350601,28 +360130,28 @@ "kind": "IntegerLiteral", "offset": 496, "length": 1, - "value": "8" + "value": "4" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/CellView\/SBUMessageDateView.swift", "kind": "IntegerLiteral", "offset": 505, "length": 1, - "value": "4" + "value": "8" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/CellView\/SBUMessageDateView.swift", "kind": "IntegerLiteral", "offset": 516, "length": 1, - "value": "8" + "value": "4" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/CellView\/SBUMessageDateView.swift", "kind": "IntegerLiteral", "offset": 526, "length": 1, - "value": "4" + "value": "8" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/Reaction\/SBUMessageReactionView.swift", @@ -350802,7 +360331,7 @@ { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Common\/SBUEmptyView.swift", "kind": "IntegerLiteral", - "offset": 1657, + "offset": 1826, "length": 2, "value": "24" }, @@ -352209,7 +361738,7 @@ { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/OpenChannel\/SBUOpenChannelAdminMessageCell.swift", "kind": "BooleanLiteral", - "offset": 2513, + "offset": 2537, "length": 5, "value": "false" }, @@ -352363,1382 +361892,1459 @@ { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 1227, + "offset": 1270, + "length": 41, + "value": "\"Do you want to delete all \"" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", + "kind": "StringLiteral", + "offset": 1302, + "length": 6, + "value": "\" photos?\"" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", + "kind": "StringLiteral", + "offset": 1368, "length": 41, "value": "\"Please allow camera usage from settings\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 1325, + "offset": 1466, "length": 34, "value": "\"Please Allow PhotoLibrary Access\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 1424, + "offset": 1565, "length": 60, "value": "\"PhotoLibrary access required to get your photos and videos\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 1608, + "offset": 1749, "length": 45, "value": "\"Please allow microphone usage from settings\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 1721, + "offset": 1862, "length": 11, "value": "\"Yesterday\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 1828, + "offset": 1969, "length": 8, "value": "\"%lld%@\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "IntegerLiteral", - "offset": 1858, + "offset": 1999, "length": 1, "value": "1" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 1863, + "offset": 2004, "length": 7, "value": "\"years\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 1873, + "offset": 2014, "length": 6, "value": "\"year\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 1981, + "offset": 2122, "length": 8, "value": "\"%lld%@\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "IntegerLiteral", - "offset": 2011, + "offset": 2152, "length": 1, "value": "1" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 2016, + "offset": 2157, "length": 6, "value": "\"days\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 2025, + "offset": 2166, "length": 5, "value": "\"day\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 2134, + "offset": 2275, "length": 11, "value": "\"%lldmonth\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 2258, + "offset": 2399, "length": 7, "value": "\"%lldh\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 2377, + "offset": 2518, "length": 7, "value": "\"%lldm\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 2435, + "offset": 2576, "length": 5, "value": "\"ago\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 2473, + "offset": 2614, "length": 4, "value": "\"on\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 2556, + "offset": 2697, "length": 10, "value": "\"Channels\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 2621, + "offset": 2762, "length": 18, "value": "\"uploaded a file.\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 2709, + "offset": 2850, "length": 15, "value": "\"Group Channel\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 2773, + "offset": 2914, "length": 14, "value": "\"(No members)\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 2836, + "offset": 2977, "length": 11, "value": "\"Last seen\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "IntegerLiteral", - "offset": 3143, + "offset": 3284, "length": 1, "value": "1" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "IntegerLiteral", - "offset": 3182, + "offset": 3323, "length": 1, "value": "0" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "IntegerLiteral", - "offset": 3212, + "offset": 3353, "length": 1, "value": "0" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 3226, + "offset": 3367, "length": 8, "value": "\"Member\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 3269, + "offset": 3410, "length": 17, "value": "\"%@ is typing...\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "IntegerLiteral", - "offset": 3311, + "offset": 3452, "length": 1, "value": "2" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "IntegerLiteral", - "offset": 3351, + "offset": 3492, "length": 1, "value": "0" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "IntegerLiteral", - "offset": 3381, + "offset": 3522, "length": 1, "value": "0" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 3395, + "offset": 3536, "length": 8, "value": "\"Member\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "IntegerLiteral", - "offset": 3441, + "offset": 3582, "length": 1, "value": "1" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "IntegerLiteral", - "offset": 3471, + "offset": 3612, "length": 1, "value": "1" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 3485, + "offset": 3626, "length": 8, "value": "\"Member\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 3528, + "offset": 3669, "length": 25, "value": "\"%@ and %@ are typing...\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 3613, + "offset": 3754, "length": 30, "value": "\"Several people are typing...\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 3714, + "offset": 3855, "length": 13, "value": "\"File saved.\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 3782, + "offset": 3923, "length": 27, "value": "\"Couldn’t download file.\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 3860, + "offset": 4001, "length": 23, "value": "\"Couldn’t open file.\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 3933, + "offset": 4074, "length": 17, "value": "\"uploaded a file\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "IntegerLiteral", - "offset": 4059, + "offset": 4200, "length": 1, "value": "1" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 4081, + "offset": 4222, "length": 15, "value": "\"1 new message\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "IntegerLiteral", - "offset": 4110, + "offset": 4251, "length": 1, "value": "2" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "IntegerLiteral", - "offset": 4114, + "offset": 4255, "length": 2, "value": "99" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 4137, + "offset": 4278, "length": 23, "value": "\"\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 4146, + "offset": 4287, "length": 3, "value": "\" new messages\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "IntegerLiteral", - "offset": 4174, + "offset": 4315, "length": 3, "value": "100" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 4201, + "offset": 4342, "length": 18, "value": "\"99+ new messages\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 4256, + "offset": 4397, "length": 2, "value": "\"\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 4327, + "offset": 4468, "length": 16, "value": "\"Channel frozen\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 4427, + "offset": 4568, "length": 14, "value": "\"Open Channel\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 4492, + "offset": 4633, "length": 14, "value": "\"Participants\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "IntegerLiteral", - "offset": 4627, + "offset": 4768, "length": 1, "value": "1" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 4649, + "offset": 4790, "length": 15, "value": "\"1 participant\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 4701, + "offset": 4842, "length": 23, "value": "\"\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 4710, + "offset": 4851, "length": 12, "value": "\" participants\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 4930, + "offset": 5071, "length": 44, "value": "\"SENDBIRD_NOTIFICATION_CHANNEL_NOTIFICATION\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 5267, + "offset": 5408, "length": 59, "value": "\"\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 5315, + "offset": 5456, "length": 1, "value": "\"_\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 5325, + "offset": 5466, "length": 1, "value": "\"\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 5468, + "offset": 5609, "length": 15, "value": "\"Notifications\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 5569, + "offset": 5710, "length": 21, "value": "\"Channel information\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 5643, + "offset": 5784, "length": 13, "value": "\"Change name\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 5710, + "offset": 5851, "length": 22, "value": "\"Change channel image\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 5788, + "offset": 5929, "length": 12, "value": "\"Enter name\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 5864, + "offset": 6005, "length": 20, "value": "\"Enter channel name\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 5939, + "offset": 6080, "length": 15, "value": "\"Notifications\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 6012, + "offset": 6153, "length": 4, "value": "\"On\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 6075, + "offset": 6216, "length": 5, "value": "\"Off\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 6150, + "offset": 6291, "length": 15, "value": "\"Mentions only\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 6225, + "offset": 6366, "length": 9, "value": "\"Members\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 6294, + "offset": 6435, "length": 14, "value": "\"Participants\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "IntegerLiteral", - "offset": 6422, + "offset": 6563, "length": 1, "value": "0" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 6444, + "offset": 6585, "length": 9, "value": "\"members\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 6490, + "offset": 6631, "length": 18, "value": "\"\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 6499, + "offset": 6640, "length": 7, "value": "\" members\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 6571, + "offset": 6712, "length": 15, "value": "\"Leave channel\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 6634, + "offset": 6775, "length": 16, "value": "\"Delete channel\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 6712, + "offset": 6853, "length": 17, "value": "\"Delete channel?\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 6789, + "offset": 6930, "length": 47, "value": "\"Once deleted, this channel can't be restored.\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 6884, + "offset": 7025, "length": 19, "value": "\"Search in channel\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 6961, + "offset": 7102, "length": 13, "value": "\"Moderations\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 7025, + "offset": 7166, "length": 11, "value": "\"Operators\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 7091, + "offset": 7232, "length": 15, "value": "\"Muted members\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 7166, + "offset": 7307, "length": 20, "value": "\"Muted participants\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 7249, + "offset": 7390, "length": 14, "value": "\"Banned users\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 7319, + "offset": 7460, "length": 16, "value": "\"Freeze channel\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 7385, + "offset": 7526, "length": 5, "value": "\"URL\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 7488, + "offset": 7629, "length": 15, "value": "\"Notifications\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 7567, + "offset": 7708, "length": 15, "value": "\"Notifications\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 7636, + "offset": 7777, "length": 18, "value": "\"All new messages\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 7718, + "offset": 7859, "length": 15, "value": "\"Mentions only\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 7803, + "offset": 7944, "length": 100, "value": "\"Turn on push notifications if you wish to be notified when messages are delivered to this channel.\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 7988, - "length": 16, - "value": "\"Type a message\"" + "offset": 8129, + "length": 15, + "value": "\"Enter message\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 8059, + "offset": 8199, "length": 37, "value": "\"Chat is unavailable in this channel\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 8145, + "offset": 8285, "length": 15, "value": "\"You are muted\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 8209, + "offset": 8349, "length": 18, "value": "\"Reply to message\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 8336, + "offset": 8476, "length": 35, "value": "\"Reply to \"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 8370, + "offset": 8510, "length": 1, "value": "\"\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 8435, + "offset": 8575, "length": 7, "value": "\"Photo\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 8498, + "offset": 8638, "length": 5, "value": "\"GIF\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 8561, + "offset": 8701, "length": 7, "value": "\"Video\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 8632, + "offset": 8772, "length": 10, "value": "\"(edited)\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 8682, + "offset": 8822, "length": 16, "value": "\"System message\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 8745, + "offset": 8885, "length": 24, "value": "\"(Unknown message type)\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 8822, + "offset": 8962, "length": 26, "value": "\"Can't read this message.\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 8979, + "offset": 9119, "length": 56, "value": "\"\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 8998, + "offset": 9138, "length": 7, "value": "\" replied to \"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 9034, + "offset": 9174, "length": 1, "value": "\"\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 9078, + "offset": 9218, "length": 5, "value": "\"You\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "IntegerLiteral", - "offset": 9270, + "offset": 9410, "length": 1, "value": "1" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 9292, + "offset": 9432, "length": 9, "value": "\"1 reply\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "IntegerLiteral", - "offset": 9315, + "offset": 9455, "length": 1, "value": "2" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "IntegerLiteral", - "offset": 9319, + "offset": 9459, "length": 2, "value": "99" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 9342, + "offset": 9482, "length": 30, "value": "\"\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 9363, + "offset": 9503, "length": 7, "value": "\" replies\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "IntegerLiteral", - "offset": 9386, + "offset": 9526, "length": 3, "value": "100" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 9426, + "offset": 9566, "length": 13, "value": "\"99+ replies\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 9442, + "offset": 9582, "length": 30, "value": "\"\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 9463, + "offset": 9603, "length": 7, "value": "\" replies\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 9509, + "offset": 9649, "length": 2, "value": "\"\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 9616, + "offset": 9756, "length": 52, "value": "\"Couldn't find the original message for this reply.\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 9741, + "offset": 9881, "length": 21, "value": "\"Message unavailable\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 9849, + "offset": 9989, "length": 18, "value": "\"(Template error)\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 9929, + "offset": 10069, "length": 31, "value": "\"Can't read this notification.\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 10025, + "offset": 10165, "length": 13, "value": "\"No channels\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 10081, + "offset": 10221, "length": 13, "value": "\"No messages\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 10142, + "offset": 10282, "length": 18, "value": "\"No notifications\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 10200, + "offset": 10340, "length": 10, "value": "\"No users\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 10258, + "offset": 10398, "length": 18, "value": "\"No muted members\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 10329, + "offset": 10469, "length": 23, "value": "\"No muted participants\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 10399, + "offset": 10539, "length": 17, "value": "\"No banned users\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 10461, + "offset": 10601, "length": 18, "value": "\"No results found\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 10516, + "offset": 10656, "length": 22, "value": "\"Something went wrong\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "IntegerLiteral", - "offset": 10679, + "offset": 10819, "length": 1, "value": "0" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 10701, + "offset": 10841, "length": 8, "value": "\"Create\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 10746, + "offset": 10886, "length": 17, "value": "\"Create \"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 10762, + "offset": 10902, "length": 1, "value": "\"\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 10831, + "offset": 10971, "length": 13, "value": "\"New Channel\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 10905, + "offset": 11045, "length": 16, "value": "\"Select members\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 10981, + "offset": 11121, "length": 21, "value": "\"New channel profile\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 11092, + "offset": 11232, "length": 8, "value": "\"Create\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 11156, + "offset": 11296, "length": 13, "value": "\"New channel\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 11237, + "offset": 11377, "length": 20, "value": "\"Enter channel name\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 11340, + "offset": 11480, "length": 14, "value": "\"Invite users\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 11413, + "offset": 11553, "length": 14, "value": "\"Select users\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "IntegerLiteral", - "offset": 11537, + "offset": 11677, "length": 1, "value": "0" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 11559, + "offset": 11699, "length": 8, "value": "\"Invite\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 11604, + "offset": 11744, "length": 17, "value": "\"Invite \"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 11620, + "offset": 11760, "length": 1, "value": "\"\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "IntegerLiteral", - "offset": 11749, + "offset": 11889, "length": 1, "value": "0" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 11771, + "offset": 11911, "length": 10, "value": "\"Register\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 11818, + "offset": 11958, "length": 19, "value": "\"Register \"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 11836, + "offset": 11976, "length": 1, "value": "\"\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 11916, + "offset": 12056, "length": 7, "value": "\"(You)\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 11961, + "offset": 12101, "length": 5, "value": "\"Ban\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 12006, + "offset": 12146, "length": 7, "value": "\"Unban\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 12052, + "offset": 12192, "length": 6, "value": "\"Mute\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 12099, + "offset": 12239, "length": 8, "value": "\"Unmute\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 12161, + "offset": 12301, "length": 21, "value": "\"Unregister operator\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 12234, + "offset": 12374, "length": 22, "value": "\"Register as operator\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 12304, + "offset": 12444, "length": 9, "value": "\"Members\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 12363, + "offset": 12503, "length": 11, "value": "\"Operators\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 12428, + "offset": 12568, "length": 15, "value": "\"Muted members\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 12502, + "offset": 12642, "length": 20, "value": "\"Muted Participants\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 12584, + "offset": 12724, "length": 14, "value": "\"Banned users\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 12651, + "offset": 12791, "length": 14, "value": "\"Participants\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 12728, + "offset": 12868, "length": 11, "value": "\"(No name)\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 12778, + "offset": 12918, "length": 10, "value": "\"Operator\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 12872, + "offset": 13012, "length": 10, "value": "\"Operator\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 12931, + "offset": 13071, "length": 8, "value": "\"Member\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 12983, + "offset": 13123, "length": 9, "value": "\"User ID\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 13037, + "offset": 13177, "length": 9, "value": "\"Message\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 13092, + "offset": 13232, "length": 10, "value": "\"Register\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 13150, + "offset": 13290, "length": 12, "value": "\"Unregister\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 13204, + "offset": 13344, "length": 6, "value": "\"Mute\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 13254, + "offset": 13394, "length": 8, "value": "\"Unmute\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 13303, + "offset": 13443, "length": 5, "value": "\"Ban\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 13384, + "offset": 13524, "length": 7, "value": "\"Group\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 13439, + "offset": 13579, "length": 13, "value": "\"Super group\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 13499, + "offset": 13639, "length": 11, "value": "\"Broadcast\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 13607, + "offset": 13747, "length": 3, "value": "\"@\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 13722, + "offset": 13862, "length": 95, "value": "\"You can mention up to \"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "IntegerLiteral", - "offset": 13793, + "offset": 13933, "length": 2, "value": "10" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 13796, + "offset": 13936, "length": 5, "value": "\" times per message. \"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 13993, + "offset": 14133, "length": 17, "value": "\"Reply in thread\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 14113, + "offset": 14253, "length": 17, "value": "\"Reply in thread\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 14177, + "offset": 14317, "length": 17, "value": "\"Reply to thread\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 14283, + "offset": 14423, "length": 8, "value": "\"Thread\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 14514, + "offset": 14654, "length": 8, "value": "\"Cancel\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 14772, + "offset": 14912, "length": 20, "value": "\"Channel is frozen.\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 14996, + "offset": 15136, "length": 31, "value": "\"You're muted by the operator.\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 15242, + "offset": 15382, "length": 15, "value": "\"Voice message\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 15459, + "offset": 15599, "length": 15, "value": "\"Voice message\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 15715, + "offset": 15855, "length": 15, "value": "\"Voice message\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 15846, + "offset": 15986, "length": 15, "value": "\"Voice_message\"" }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", + "kind": "StringLiteral", + "offset": 16244, + "length": 7, + "value": "\"Photo\"" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", + "kind": "StringLiteral", + "offset": 16288, + "length": 5, + "value": "\"GIF\"" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", + "kind": "StringLiteral", + "offset": 16332, + "length": 7, + "value": "\"Video\"" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", + "kind": "StringLiteral", + "offset": 16378, + "length": 7, + "value": "\"Audio\"" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", + "kind": "StringLiteral", + "offset": 16424, + "length": 15, + "value": "\"Voice message\"" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", + "kind": "StringLiteral", + "offset": 16477, + "length": 6, + "value": "\"File\"" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", + "kind": "StringLiteral", + "offset": 16530, + "length": 7, + "value": "\"Photo\"" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", + "kind": "StringLiteral", + "offset": 16759, + "length": 67, + "value": "\"The maximum size per file is \"" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", + "kind": "StringLiteral", + "offset": 16822, + "length": 2, + "value": "\"MB.\"" + }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Theme\/SBUFontSet.swift", "kind": "FloatLiteral", @@ -354232,21 +363838,35 @@ { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/CellView\/SBUMessageWebView.swift", "kind": "IntegerLiteral", - "offset": 1268, + "offset": 1368, "length": 2, "value": "10" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/CellView\/SBUMessageWebView.swift", "kind": "IntegerLiteral", - "offset": 1531, + "offset": 1607, "length": 1, - "value": "1" + "value": "0" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/CellView\/SBUMessageWebView.swift", "kind": "IntegerLiteral", - "offset": 1699, + "offset": 1711, + "length": 1, + "value": "2" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/CellView\/SBUMessageWebView.swift", + "kind": "IntegerLiteral", + "offset": 1855, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/CellView\/SBUMessageWebView.swift", + "kind": "IntegerLiteral", + "offset": 1959, "length": 1, "value": "1" }, @@ -354530,6 +364150,13 @@ "length": 27, "value": "\"KEY_INTERNAL_MESSAGE_TYPE\"" }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUConstant.swift", + "kind": "StringLiteral", + "offset": 2109, + "length": 41, + "value": "\"com.sendbird.uikit.groupchannel.message\"" + }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Common\/Menu\/SBUBottomSheetController.swift", "kind": "IntegerLiteral", @@ -354607,6 +364234,48 @@ "length": 2, "value": "[]" }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/MultipleFilesMessage\/SBUMultipleFilesMessageCollectionView.swift", + "kind": "IntegerLiteral", + "offset": 515, + "length": 1, + "value": "1" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Common\/SBUPaddingLabel.swift", + "kind": "IntegerLiteral", + "offset": 831, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Common\/SBUPaddingLabel.swift", + "kind": "IntegerLiteral", + "offset": 854, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Common\/SBUPaddingLabel.swift", + "kind": "IntegerLiteral", + "offset": 878, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Common\/SBUPaddingLabel.swift", + "kind": "IntegerLiteral", + "offset": 903, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Common\/SBUPaddingLabel.swift", + "kind": "StringLiteral", + "offset": 178, + "length": 15, + "value": "\"SendbirdUIKit.SBUPaddingLabel\"" + }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/NewMessageInfo\/SBUNewNotificationInfo.swift", "kind": "BooleanLiteral", @@ -354631,7 +364300,7 @@ { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/OpenChannel\/SBUOpenChannelUserMessageCell.swift", "kind": "BooleanLiteral", - "offset": 4082, + "offset": 4128, "length": 5, "value": "false" }, @@ -354701,7 +364370,7 @@ { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Common\/SBUCoverImageView.swift", "kind": "BooleanLiteral", - "offset": 6289, + "offset": 6463, "length": 5, "value": "false" }, @@ -355016,7 +364685,7 @@ { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/ViewModel\/Channel\/SBUBaseChannelViewModel.swift", "kind": "BooleanLiteral", - "offset": 27482, + "offset": 27973, "length": 5, "value": "false" }, @@ -355135,63 +364804,63 @@ { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/SBUGroupChannelViewController.swift", "kind": "IntegerLiteral", - "offset": 1806, + "offset": 1848, "length": 1, "value": "0" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/SBUGroupChannelViewController.swift", "kind": "BooleanLiteral", - "offset": 5922, + "offset": 6667, "length": 4, "value": "true" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/SBUGroupChannelViewController.swift", "kind": "BooleanLiteral", - "offset": 6463, + "offset": 7208, "length": 4, "value": "true" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/SBUGroupChannelViewController.swift", "kind": "BooleanLiteral", - "offset": 6514, + "offset": 7259, "length": 5, "value": "false" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/SBUGroupChannelViewController.swift", "kind": "IntegerLiteral", - "offset": 13044, + "offset": 14910, "length": 1, "value": "0" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/SBUGroupChannelViewController.swift", "kind": "IntegerLiteral", - "offset": 13079, + "offset": 14945, "length": 1, "value": "0" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/SBUGroupChannelViewController.swift", "kind": "BooleanLiteral", - "offset": 15972, + "offset": 28200, "length": 5, "value": "false" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/SBUGroupChannelViewController.swift", "kind": "StringLiteral", - "offset": 275, + "offset": 317, "length": 29, "value": "\"SendbirdUIKit.SBUGroupChannelViewController\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/SBUGroupChannelViewController.swift", "kind": "StringLiteral", - "offset": 275, + "offset": 317, "length": 29, "value": "\"SendbirdUIKit.SBUGroupChannelViewController\"" }, @@ -355233,7 +364902,14 @@ { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Manager\/CacheManager\/SBUCacheManager.Image.swift", "kind": "BooleanLiteral", - "offset": 5741, + "offset": 4237, + "length": 5, + "value": "false" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Manager\/CacheManager\/SBUCacheManager.Image.swift", + "kind": "BooleanLiteral", + "offset": 6608, "length": 4, "value": "true" }, @@ -355590,21 +365266,28 @@ { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Configuration\/SBUConfig.GroupChannel.swift", "kind": "BooleanLiteral", - "offset": 5543, + "offset": 5324, "length": 5, "value": "false" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Configuration\/SBUConfig.GroupChannel.swift", "kind": "BooleanLiteral", - "offset": 5765, + "offset": 6884, "length": 5, "value": "false" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Configuration\/SBUConfig.GroupChannel.swift", "kind": "BooleanLiteral", - "offset": 6796, + "offset": 7106, + "length": 5, + "value": "false" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Configuration\/SBUConfig.GroupChannel.swift", + "kind": "BooleanLiteral", + "offset": 8137, "length": 5, "value": "false" }, @@ -355723,14 +365406,21 @@ { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Module\/MessageThread\/SBUMessageThreadModule.List.swift", "kind": "Dictionary", - "offset": 4336, + "offset": 6113, "length": 3, "value": "[]" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Module\/MessageThread\/SBUMessageThreadModule.List.swift", "kind": "BooleanLiteral", - "offset": 31846, + "offset": 19581, + "length": 4, + "value": "true" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Module\/MessageThread\/SBUMessageThreadModule.List.swift", + "kind": "BooleanLiteral", + "offset": 36930, "length": 5, "value": "false" }, @@ -355926,63 +365616,63 @@ { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/OpenChannel\/SBUOpenChannelContentBaseMessageCell.swift", "kind": "IntegerLiteral", - "offset": 879, + "offset": 926, "length": 1, "value": "2" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/OpenChannel\/SBUOpenChannelContentBaseMessageCell.swift", "kind": "IntegerLiteral", - "offset": 1103, + "offset": 1150, "length": 1, "value": "4" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/OpenChannel\/SBUOpenChannelContentBaseMessageCell.swift", "kind": "IntegerLiteral", - "offset": 1497, + "offset": 1544, "length": 2, "value": "16" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/OpenChannel\/SBUOpenChannelContentBaseMessageCell.swift", "kind": "IntegerLiteral", - "offset": 1596, + "offset": 1643, "length": 1, "value": "1" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/OpenChannel\/SBUOpenChannelContentBaseMessageCell.swift", "kind": "BooleanLiteral", - "offset": 1631, + "offset": 1678, "length": 4, "value": "true" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/OpenChannel\/SBUOpenChannelContentBaseMessageCell.swift", "kind": "BooleanLiteral", - "offset": 1792, + "offset": 1839, "length": 4, "value": "true" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/OpenChannel\/SBUOpenChannelContentBaseMessageCell.swift", "kind": "BooleanLiteral", - "offset": 2249, + "offset": 2296, "length": 5, "value": "false" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/OpenChannel\/SBUOpenChannelContentBaseMessageCell.swift", "kind": "BooleanLiteral", - "offset": 2288, + "offset": 2335, "length": 5, "value": "false" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/OpenChannel\/SBUOpenChannelContentBaseMessageCell.swift", "kind": "BooleanLiteral", - "offset": 6286, + "offset": 6195, "length": 5, "value": "false" }, @@ -356239,19 +365929,47 @@ "value": "\"SendbirdUIKit.SBUCreateChannelTypeSelector\"" }, { - "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Extension\/UIView+SBUIKit.swift", + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/MultipleFilesMessage\/SBUMultipleFilesMessageCollectionViewCell.swift", "kind": "BooleanLiteral", - "offset": 41824, - "length": 5, - "value": "false" + "offset": 546, + "length": 4, + "value": "true" }, { - "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Extension\/UIView+SBUIKit.swift", + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/MultipleFilesMessage\/SBUMultipleFilesMessageCollectionViewCell.swift", "kind": "BooleanLiteral", - "offset": 41870, + "offset": 596, + "length": 4, + "value": "true" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/MultipleFilesMessage\/SBUMultipleFilesMessageCollectionViewCell.swift", + "kind": "BooleanLiteral", + "offset": 779, + "length": 4, + "value": "true" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/MultipleFilesMessage\/SBUMultipleFilesMessageCollectionViewCell.swift", + "kind": "BooleanLiteral", + "offset": 935, + "length": 4, + "value": "true" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/MultipleFilesMessage\/SBUMultipleFilesMessageCollectionViewCell.swift", + "kind": "BooleanLiteral", + "offset": 1009, "length": 5, "value": "false" }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/MultipleFilesMessage\/SBUMultipleFilesMessageCollectionViewCell.swift", + "kind": "IntegerLiteral", + "offset": 1194, + "length": 1, + "value": "1" + }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Enums\/SBUEnums.swift", "kind": "IntegerLiteral", @@ -357351,59 +367069,122 @@ "length": 4, "value": "2" }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/MessageThread\/SBUParentMessageInfoView.swift", + "kind": "FloatLiteral", + "offset": 666, + "length": 4, + "value": "16.0" + }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/MessageThread\/SBUParentMessageInfoView.swift", "kind": "BooleanLiteral", - "offset": 1452, + "offset": 1653, "length": 4, "value": "true" }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/MessageThread\/SBUParentMessageInfoView.swift", + "kind": "IntegerLiteral", + "offset": 2120, + "length": 1, + "value": "0" + }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/MessageThread\/SBUParentMessageInfoView.swift", "kind": "IntegerLiteral", "offset": 2129, "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/MessageThread\/SBUParentMessageInfoView.swift", + "kind": "IntegerLiteral", + "offset": 2140, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/MessageThread\/SBUParentMessageInfoView.swift", + "kind": "IntegerLiteral", + "offset": 2150, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/MessageThread\/SBUParentMessageInfoView.swift", + "kind": "IntegerLiteral", + "offset": 2194, + "length": 1, + "value": "4" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/MessageThread\/SBUParentMessageInfoView.swift", + "kind": "IntegerLiteral", + "offset": 2232, + "length": 1, + "value": "4" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/MessageThread\/SBUParentMessageInfoView.swift", + "kind": "BooleanLiteral", + "offset": 2395, + "length": 5, + "value": "false" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/MessageThread\/SBUParentMessageInfoView.swift", + "kind": "IntegerLiteral", + "offset": 3024, + "length": 1, "value": "8" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/MessageThread\/SBUParentMessageInfoView.swift", "kind": "IntegerLiteral", - "offset": 2369, + "offset": 3264, "length": 1, "value": "2" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/MessageThread\/SBUParentMessageInfoView.swift", "kind": "IntegerLiteral", - "offset": 2618, + "offset": 3513, "length": 1, "value": "0" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/MessageThread\/SBUParentMessageInfoView.swift", "kind": "BooleanLiteral", - "offset": 4079, + "offset": 4325, + "length": 5, + "value": "false" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/MessageThread\/SBUParentMessageInfoView.swift", + "kind": "BooleanLiteral", + "offset": 4999, "length": 4, "value": "true" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/MessageThread\/SBUParentMessageInfoView.swift", "kind": "BooleanLiteral", - "offset": 4341, + "offset": 5261, "length": 5, "value": "false" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/MessageThread\/SBUParentMessageInfoView.swift", "kind": "BooleanLiteral", - "offset": 4418, + "offset": 5338, "length": 5, "value": "false" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/MessageThread\/SBUParentMessageInfoView.swift", "kind": "BooleanLiteral", - "offset": 13631, + "offset": 15412, "length": 5, "value": "false" }, @@ -357445,91 +367226,91 @@ { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/Replies\/MessageView\/SBUQuotedBaseMessageView.swift", "kind": "IntegerLiteral", - "offset": 872, + "offset": 955, "length": 1, "value": "0" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/Replies\/MessageView\/SBUQuotedBaseMessageView.swift", "kind": "StringLiteral", - "offset": 1616, + "offset": 1699, "length": 2, "value": "\"\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/Replies\/MessageView\/SBUQuotedBaseMessageView.swift", "kind": "StringLiteral", - "offset": 1738, + "offset": 1821, "length": 2, "value": "\"\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/Replies\/MessageView\/SBUQuotedBaseMessageView.swift", "kind": "StringLiteral", - "offset": 2098, + "offset": 2181, "length": 2, "value": "\"\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/Replies\/MessageView\/SBUQuotedBaseMessageView.swift", "kind": "IntegerLiteral", - "offset": 3001, + "offset": 3084, "length": 1, "value": "8" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/Replies\/MessageView\/SBUQuotedBaseMessageView.swift", "kind": "IntegerLiteral", - "offset": 3323, + "offset": 3406, "length": 1, "value": "1" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/Replies\/MessageView\/SBUQuotedBaseMessageView.swift", "kind": "BooleanLiteral", - "offset": 3364, + "offset": 3447, "length": 4, "value": "true" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/Replies\/MessageView\/SBUQuotedBaseMessageView.swift", "kind": "IntegerLiteral", - "offset": 3959, + "offset": 4042, "length": 1, "value": "0" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/Replies\/MessageView\/SBUQuotedBaseMessageView.swift", "kind": "IntegerLiteral", - "offset": 4359, + "offset": 4442, "length": 1, "value": "6" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/Replies\/MessageView\/SBUQuotedBaseMessageView.swift", "kind": "IntegerLiteral", - "offset": 4869, + "offset": 4952, "length": 1, "value": "4" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/Replies\/MessageView\/SBUQuotedBaseMessageView.swift", "kind": "IntegerLiteral", - "offset": 5150, + "offset": 5233, "length": 2, "value": "16" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/Replies\/MessageView\/SBUQuotedBaseMessageView.swift", "kind": "IntegerLiteral", - "offset": 5249, + "offset": 5332, "length": 1, "value": "1" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/Replies\/MessageView\/SBUQuotedBaseMessageView.swift", "kind": "BooleanLiteral", - "offset": 5284, + "offset": 5367, "length": 4, "value": "true" }, @@ -357606,35 +367387,35 @@ { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/SBUContentBaseMessageCell.swift", "kind": "IntegerLiteral", - "offset": 4159, + "offset": 4157, "length": 2, "value": "16" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/SBUContentBaseMessageCell.swift", "kind": "IntegerLiteral", - "offset": 4258, + "offset": 4256, "length": 1, "value": "1" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/SBUContentBaseMessageCell.swift", "kind": "BooleanLiteral", - "offset": 4293, + "offset": 4291, "length": 4, "value": "true" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/SBUContentBaseMessageCell.swift", "kind": "IntegerLiteral", - "offset": 13467, + "offset": 13345, "length": 1, "value": "0" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/SBUContentBaseMessageCell.swift", "kind": "IntegerLiteral", - "offset": 13502, + "offset": 13380, "length": 1, "value": "0" }, @@ -357886,7 +367667,7 @@ { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/CellView\/SBUUserNameView.swift", "kind": "BooleanLiteral", - "offset": 2852, + "offset": 2936, "length": 5, "value": "false" }, @@ -357914,112 +367695,98 @@ { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/SBUOpenChannelViewController.swift", "kind": "Array", - "offset": 1759, + "offset": 3150, "length": 2, "value": "[]" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/SBUOpenChannelViewController.swift", "kind": "Array", - "offset": 1892, - "length": 2, - "value": "[]" - }, - { - "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/SBUOpenChannelViewController.swift", - "kind": "Array", - "offset": 2122, - "length": 2, - "value": "[]" - }, - { - "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/SBUOpenChannelViewController.swift", - "kind": "Array", - "offset": 2297, + "offset": 3325, "length": 2, "value": "[]" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/SBUOpenChannelViewController.swift", "kind": "IntegerLiteral", - "offset": 2361, + "offset": 3389, "length": 2, "value": "56" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/SBUOpenChannelViewController.swift", "kind": "IntegerLiteral", - "offset": 2404, + "offset": 3432, "length": 1, "value": "0" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/SBUOpenChannelViewController.swift", "kind": "BooleanLiteral", - "offset": 2846, + "offset": 3865, "length": 5, "value": "false" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/SBUOpenChannelViewController.swift", "kind": "BooleanLiteral", - "offset": 2962, + "offset": 3981, "length": 4, "value": "true" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/SBUOpenChannelViewController.swift", "kind": "BooleanLiteral", - "offset": 3407, + "offset": 4426, "length": 5, "value": "false" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/SBUOpenChannelViewController.swift", "kind": "FloatLiteral", - "offset": 3632, + "offset": 4651, "length": 3, "value": "0.0" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/SBUOpenChannelViewController.swift", "kind": "FloatLiteral", - "offset": 3859, + "offset": 4878, "length": 3, "value": "1.0" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/SBUOpenChannelViewController.swift", "kind": "BooleanLiteral", - "offset": 4093, + "offset": 5112, "length": 5, "value": "false" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/SBUOpenChannelViewController.swift", "kind": "BooleanLiteral", - "offset": 4350, + "offset": 5369, "length": 4, "value": "true" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/SBUOpenChannelViewController.swift", "kind": "BooleanLiteral", - "offset": 7285, + "offset": 8304, "length": 4, "value": "true" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/SBUOpenChannelViewController.swift", "kind": "BooleanLiteral", - "offset": 27372, + "offset": 27354, "length": 4, "value": "true" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/SBUOpenChannelViewController.swift", "kind": "BooleanLiteral", - "offset": 29995, + "offset": 29977, "length": 4, "value": "true" }, @@ -358159,10 +367926,108 @@ { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/OpenChannel\/SBUOpenChannelFileMessageCell.swift", "kind": "BooleanLiteral", - "offset": 1883, + "offset": 1914, "length": 5, "value": "false" }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Util\/BlockingOperation.swift", + "kind": "StringLiteral", + "offset": 498, + "length": 9, + "value": "\"Waiting\"" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Util\/BlockingOperation.swift", + "kind": "StringLiteral", + "offset": 529, + "length": 7, + "value": "\"Ready\"" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Util\/BlockingOperation.swift", + "kind": "StringLiteral", + "offset": 562, + "length": 11, + "value": "\"Executing\"" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Util\/BlockingOperation.swift", + "kind": "StringLiteral", + "offset": 598, + "length": 10, + "value": "\"Finished\"" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Util\/BlockingOperation.swift", + "kind": "StringLiteral", + "offset": 498, + "length": 9, + "value": "\"Waiting\"" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Util\/BlockingOperation.swift", + "kind": "StringLiteral", + "offset": 529, + "length": 7, + "value": "\"Ready\"" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Util\/BlockingOperation.swift", + "kind": "StringLiteral", + "offset": 562, + "length": 11, + "value": "\"Executing\"" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Util\/BlockingOperation.swift", + "kind": "StringLiteral", + "offset": 598, + "length": 10, + "value": "\"Finished\"" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Util\/BlockingOperation.swift", + "kind": "StringLiteral", + "offset": 1365, + "length": 57, + "value": "\"com.sendbird.uikit.operation.state.\"" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Util\/BlockingOperation.swift", + "kind": "StringLiteral", + "offset": 1421, + "length": 27, + "value": "\"\"" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Util\/BlockingOperation.swift", + "kind": "BooleanLiteral", + "offset": 1639, + "length": 5, + "value": "false" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Util\/BlockingOperation.swift", + "kind": "BooleanLiteral", + "offset": 2829, + "length": 5, + "value": "false" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Util\/BlockingOperation.swift", + "kind": "BooleanLiteral", + "offset": 3109, + "length": 5, + "value": "false" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Util\/BlockingOperation.swift", + "kind": "StringLiteral", + "offset": 387, + "length": 17, + "value": "\"SendbirdUIKit.BlockingOperation\"" + }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/OpenChannel\/SBUOpenChannelBaseMessageCell.swift", "kind": "BooleanLiteral", @@ -358187,7 +368052,7 @@ { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/OpenChannel\/SBUOpenChannelBaseMessageCell.swift", "kind": "BooleanLiteral", - "offset": 3514, + "offset": 3522, "length": 5, "value": "false" }, @@ -358488,70 +368353,70 @@ { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/SBUBaseChannelViewController.swift", "kind": "IntegerLiteral", - "offset": 2331, + "offset": 2512, "length": 1, "value": "0" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/SBUBaseChannelViewController.swift", "kind": "BooleanLiteral", - "offset": 2577, + "offset": 2925, "length": 4, "value": "true" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/SBUBaseChannelViewController.swift", "kind": "BooleanLiteral", - "offset": 4001, + "offset": 4349, "length": 5, "value": "false" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/SBUBaseChannelViewController.swift", "kind": "BooleanLiteral", - "offset": 10335, + "offset": 10818, "length": 4, "value": "true" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/SBUBaseChannelViewController.swift", "kind": "BooleanLiteral", - "offset": 11337, + "offset": 11820, "length": 4, "value": "true" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/SBUBaseChannelViewController.swift", "kind": "IntegerLiteral", - "offset": 15522, + "offset": 16005, "length": 1, "value": "0" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/SBUBaseChannelViewController.swift", "kind": "IntegerLiteral", - "offset": 15549, + "offset": 16032, "length": 1, "value": "0" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/SBUBaseChannelViewController.swift", "kind": "BooleanLiteral", - "offset": 17114, + "offset": 17597, "length": 5, "value": "false" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/SBUBaseChannelViewController.swift", "kind": "BooleanLiteral", - "offset": 17161, + "offset": 17644, "length": 5, "value": "false" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/SBUBaseChannelViewController.swift", "kind": "BooleanLiteral", - "offset": 21937, + "offset": 22775, "length": 5, "value": "false" }, @@ -358891,10 +368756,38 @@ "length": 5, "value": "false" }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/MessageCellParams\/SBUMultipleFilesMessageCellParams.swift", + "kind": "BooleanLiteral", + "offset": 780, + "length": 5, + "value": "false" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/MessageCellParams\/SBUMultipleFilesMessageCellParams.swift", + "kind": "BooleanLiteral", + "offset": 819, + "length": 5, + "value": "false" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/MessageCellParams\/SBUMultipleFilesMessageCellParams.swift", + "kind": "IntegerLiteral", + "offset": 852, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/MessageCellParams\/SBUMultipleFilesMessageCellParams.swift", + "kind": "StringLiteral", + "offset": 309, + "length": 33, + "value": "\"SendbirdUIKit.SBUMultipleFilesMessageCellParams\"" + }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/SBUBaseViewController.swift", "kind": "BooleanLiteral", - "offset": 4727, + "offset": 4888, "length": 5, "value": "false" }, @@ -359440,17 +369333,52 @@ { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Module\/Channel\/GroupChannel\/SBUGroupChannelModule.List.swift", "kind": "BooleanLiteral", - "offset": 4375, + "offset": 5262, "length": 5, "value": "false" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Module\/Channel\/GroupChannel\/SBUGroupChannelModule.List.swift", "kind": "Dictionary", - "offset": 5437, + "offset": 6324, "length": 3, "value": "[]" }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Module\/Channel\/GroupChannel\/SBUGroupChannelModule.Input.swift", + "kind": "StringLiteral", + "offset": 7180, + "length": 24, + "value": "\"uploadableFileInfoList\"" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Module\/Channel\/GroupChannel\/SBUGroupChannelModule.Input.swift", + "kind": "StringLiteral", + "offset": 7236, + "length": 7, + "value": "\"image\"" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Module\/Channel\/GroupChannel\/SBUGroupChannelModule.Input.swift", + "kind": "StringLiteral", + "offset": 7273, + "length": 5, + "value": "\"gif\"" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Module\/Channel\/GroupChannel\/SBUGroupChannelModule.Input.swift", + "kind": "StringLiteral", + "offset": 7310, + "length": 7, + "value": "\"video\"" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Module\/Channel\/GroupChannel\/SBUGroupChannelModule.Input.swift", + "kind": "IntegerLiteral", + "offset": 7683, + "length": 1, + "value": "1" + }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Extension\/String+SBUIKit.swift", "kind": "StringLiteral", @@ -359475,175 +369403,175 @@ { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Enums\/SBUIconSetType.swift", "kind": "IntegerLiteral", - "offset": 1659, + "offset": 1673, "length": 2, "value": "12" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Enums\/SBUIconSetType.swift", "kind": "IntegerLiteral", - "offset": 1719, + "offset": 1740, "length": 2, "value": "16" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Enums\/SBUIconSetType.swift", "kind": "IntegerLiteral", - "offset": 1780, + "offset": 1808, "length": 2, "value": "18" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Enums\/SBUIconSetType.swift", "kind": "IntegerLiteral", - "offset": 1835, + "offset": 1870, "length": 2, "value": "24" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Enums\/SBUIconSetType.swift", "kind": "IntegerLiteral", - "offset": 1895, + "offset": 1937, "length": 2, "value": "32" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Enums\/SBUIconSetType.swift", "kind": "IntegerLiteral", - "offset": 1959, + "offset": 2008, "length": 2, "value": "48" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Enums\/SBUIconSetType.swift", "kind": "IntegerLiteral", - "offset": 2020, + "offset": 2076, "length": 2, "value": "20" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Enums\/SBUIconSetType.swift", "kind": "IntegerLiteral", - "offset": 2131, + "offset": 2201, "length": 2, "value": "20" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Enums\/SBUIconSetType.swift", "kind": "IntegerLiteral", - "offset": 2185, + "offset": 2262, "length": 2, "value": "38" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Enums\/SBUIconSetType.swift", "kind": "IntegerLiteral", - "offset": 2238, + "offset": 2322, "length": 2, "value": "60" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Enums\/SBUIconSetType.swift", "kind": "IntegerLiteral", - "offset": 2289, + "offset": 2380, "length": 2, "value": "28" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Enums\/SBUIconSetType.swift", "kind": "IntegerLiteral", - "offset": 2345, + "offset": 2443, "length": 2, "value": "40" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Enums\/SBUIconSetType.swift", "kind": "IntegerLiteral", - "offset": 2411, + "offset": 2516, "length": 2, "value": "36" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Enums\/SBUIconSetType.swift", "kind": "IntegerLiteral", - "offset": 2466, + "offset": 2578, "length": 2, "value": "40" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Enums\/SBUIconSetType.swift", "kind": "IntegerLiteral", - "offset": 2527, + "offset": 2646, "length": 2, "value": "15" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Enums\/SBUIconSetType.swift", "kind": "IntegerLiteral", - "offset": 2582, + "offset": 2708, "length": 2, "value": "22" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Enums\/SBUIconSetType.swift", "kind": "IntegerLiteral", - "offset": 2642, + "offset": 2775, "length": 2, "value": "20" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Enums\/SBUIconSetType.swift", "kind": "BooleanLiteral", - "offset": 3936, + "offset": 4076, "length": 4, "value": "true" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Enums\/SBUIconSetType.swift", "kind": "Array", - "offset": 10599, + "offset": 10739, "length": 2, "value": "[]" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/Replies\/ViewParams\/SBUQuotedBaseMessageViewParams.swift", "kind": "IntegerLiteral", - "offset": 2330, + "offset": 2555, "length": 1, "value": "0" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/Replies\/ViewParams\/SBUQuotedBaseMessageViewParams.swift", "kind": "IntegerLiteral", - "offset": 2504, + "offset": 2729, "length": 1, "value": "0" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/Replies\/ViewParams\/SBUQuotedBaseMessageViewParams.swift", "kind": "IntegerLiteral", - "offset": 3437, + "offset": 3662, "length": 1, "value": "0" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/Replies\/ViewParams\/SBUQuotedBaseMessageViewParams.swift", "kind": "IntegerLiteral", - "offset": 3472, + "offset": 3697, "length": 1, "value": "0" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/Replies\/ViewParams\/SBUQuotedBaseMessageViewParams.swift", "kind": "BooleanLiteral", - "offset": 5690, + "offset": 6920, "length": 4, "value": "true" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/Replies\/ViewParams\/SBUQuotedBaseMessageViewParams.swift", "kind": "BooleanLiteral", - "offset": 6395, + "offset": 7625, "length": 4, "value": "true" }, @@ -359710,41 +369638,6 @@ "length": 4, "value": "true" }, - { - "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Common\/SBUPaddingLabel.swift", - "kind": "IntegerLiteral", - "offset": 831, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Common\/SBUPaddingLabel.swift", - "kind": "IntegerLiteral", - "offset": 854, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Common\/SBUPaddingLabel.swift", - "kind": "IntegerLiteral", - "offset": 878, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Common\/SBUPaddingLabel.swift", - "kind": "IntegerLiteral", - "offset": 903, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Common\/SBUPaddingLabel.swift", - "kind": "StringLiteral", - "offset": 178, - "length": 15, - "value": "\"SendbirdUIKit.SBUPaddingLabel\"" - }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Extension\/UIButton+SBUIKit.swift", "kind": "IntegerLiteral", @@ -359790,49 +369683,49 @@ { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/SBUGlobals.swift", "kind": "BooleanLiteral", - "offset": 2278, + "offset": 2409, "length": 5, "value": "false" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/SBUGlobals.swift", "kind": "BooleanLiteral", - "offset": 3845, + "offset": 3976, "length": 4, "value": "true" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/SBUGlobals.swift", "kind": "FloatLiteral", - "offset": 4179, + "offset": 4310, "length": 3, "value": "0.7" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/SBUGlobals.swift", "kind": "BooleanLiteral", - "offset": 6037, + "offset": 6168, "length": 4, "value": "true" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/SBUGlobals.swift", "kind": "BooleanLiteral", - "offset": 7192, + "offset": 7323, "length": 5, "value": "false" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/SBUGlobals.swift", "kind": "BooleanLiteral", - "offset": 7781, + "offset": 7912, "length": 4, "value": "true" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/SBUGlobals.swift", "kind": "BooleanLiteral", - "offset": 8247, + "offset": 8378, "length": 4, "value": "true" }, @@ -360231,63 +370124,63 @@ { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/MessageThread\/SBUMessageThreadViewController.swift", "kind": "BooleanLiteral", - "offset": 13501, + "offset": 20028, "length": 5, "value": "false" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/MessageThread\/SBUMessageThreadViewController.swift", "kind": "StringLiteral", - "offset": 1232, + "offset": 1248, "length": 30, "value": "\"SendbirdUIKit.SBUMessageThreadViewController\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/MessageThread\/SBUMessageThreadViewController.swift", "kind": "StringLiteral", - "offset": 1232, + "offset": 1248, "length": 30, "value": "\"SendbirdUIKit.SBUMessageThreadViewController\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/MessageThread\/SBUMessageThreadViewController.swift", "kind": "StringLiteral", - "offset": 1232, + "offset": 1248, "length": 30, "value": "\"SendbirdUIKit.SBUMessageThreadViewController\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/FileViewer\/SBUFileViewController.swift", "kind": "IntegerLiteral", - "offset": 2196, + "offset": 3804, "length": 1, "value": "0" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/FileViewer\/SBUFileViewController.swift", "kind": "IntegerLiteral", - "offset": 2218, + "offset": 3826, "length": 1, "value": "0" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/FileViewer\/SBUFileViewController.swift", "kind": "FloatLiteral", - "offset": 2293, + "offset": 3901, "length": 3, "value": "0.0" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/FileViewer\/SBUFileViewController.swift", "kind": "IntegerLiteral", - "offset": 2322, + "offset": 3930, "length": 2, "value": "50" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/FileViewer\/SBUFileViewController.swift", "kind": "StringLiteral", - "offset": 809, + "offset": 2422, "length": 21, "value": "\"SendbirdUIKit.SBUFileViewController\"" }, @@ -361113,154 +371006,154 @@ { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Theme\/SBUTheme.swift", "kind": "FloatLiteral", - "offset": 98230, + "offset": 98502, "length": 3, "value": "0.5" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Theme\/SBUTheme.swift", "kind": "FloatLiteral", - "offset": 133531, + "offset": 133803, "length": 4, "value": "0.12" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Theme\/SBUTheme.swift", "kind": "IntegerLiteral", - "offset": 174231, + "offset": 174503, "length": 2, "value": "18" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Theme\/SBUTheme.swift", "kind": "IntegerLiteral", - "offset": 174951, + "offset": 175223, "length": 2, "value": "18" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Theme\/SBUTheme.swift", "kind": "IntegerLiteral", - "offset": 176641, + "offset": 176913, "length": 2, "value": "14" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Theme\/SBUTheme.swift", "kind": "IntegerLiteral", - "offset": 176876, + "offset": 177148, "length": 2, "value": "12" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Theme\/SBUTheme.swift", "kind": "IntegerLiteral", - "offset": 177657, + "offset": 177929, "length": 2, "value": "14" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Theme\/SBUTheme.swift", "kind": "IntegerLiteral", - "offset": 178171, + "offset": 178443, "length": 2, "value": "12" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Theme\/SBUTheme.swift", "kind": "IntegerLiteral", - "offset": 180106, + "offset": 180378, "length": 1, "value": "8" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Theme\/SBUTheme.swift", "kind": "IntegerLiteral", - "offset": 180285, + "offset": 180557, "length": 2, "value": "12" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Theme\/SBUTheme.swift", "kind": "IntegerLiteral", - "offset": 180450, + "offset": 180722, "length": 2, "value": "14" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Theme\/SBUTheme.swift", "kind": "StringLiteral", - "offset": 180686, + "offset": 180958, "length": 11, "value": "\"#e0000000\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Theme\/SBUTheme.swift", "kind": "StringLiteral", - "offset": 180753, + "offset": 181025, "length": 11, "value": "\"#70000000\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Theme\/SBUTheme.swift", "kind": "StringLiteral", - "offset": 180818, + "offset": 181090, "length": 11, "value": "\"#e0000000\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Theme\/SBUTheme.swift", "kind": "IntegerLiteral", - "offset": 181638, + "offset": 181910, "length": 1, "value": "8" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Theme\/SBUTheme.swift", "kind": "IntegerLiteral", - "offset": 181832, + "offset": 182104, "length": 2, "value": "12" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Theme\/SBUTheme.swift", "kind": "IntegerLiteral", - "offset": 182199, + "offset": 182471, "length": 2, "value": "14" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Theme\/SBUTheme.swift", "kind": "StringLiteral", - "offset": 182704, + "offset": 182976, "length": 11, "value": "\"#e0000000\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Theme\/SBUTheme.swift", "kind": "StringLiteral", - "offset": 182770, + "offset": 183042, "length": 11, "value": "\"#70000000\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Theme\/SBUTheme.swift", "kind": "StringLiteral", - "offset": 182843, + "offset": 183115, "length": 11, "value": "\"#e0000000\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Theme\/SBUTheme.swift", "kind": "IntegerLiteral", - "offset": 184155, + "offset": 184427, "length": 2, "value": "15" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Theme\/SBUTheme.swift", "kind": "IntegerLiteral", - "offset": 184450, + "offset": 184722, "length": 2, "value": "12" }, @@ -361400,63 +371293,63 @@ { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/CellView\/SBUUserMessageTextView.swift", "kind": "BooleanLiteral", - "offset": 1317, + "offset": 1380, "length": 5, "value": "false" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/CellView\/SBUUserMessageTextView.swift", "kind": "BooleanLiteral", - "offset": 1373, + "offset": 1436, "length": 5, "value": "false" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/CellView\/SBUUserMessageTextView.swift", "kind": "BooleanLiteral", - "offset": 1414, + "offset": 1477, "length": 5, "value": "false" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/CellView\/SBUUserMessageTextView.swift", "kind": "BooleanLiteral", - "offset": 1450, + "offset": 1513, "length": 5, "value": "false" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/CellView\/SBUUserMessageTextView.swift", "kind": "BooleanLiteral", - "offset": 1488, + "offset": 1551, "length": 4, "value": "true" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/CellView\/SBUUserMessageTextView.swift", "kind": "IntegerLiteral", - "offset": 1606, + "offset": 1669, "length": 1, "value": "0" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/CellView\/SBUUserMessageTextView.swift", "kind": "BooleanLiteral", - "offset": 1831, + "offset": 1894, "length": 5, "value": "false" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/CellView\/SBUUserMessageTextView.swift", "kind": "BooleanLiteral", - "offset": 2097, + "offset": 2044, "length": 5, "value": "false" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/CellView\/SBUUserMessageTextView.swift", "kind": "BooleanLiteral", - "offset": 2601, + "offset": 2928, "length": 5, "value": "false" }, @@ -361649,45 +371542,31 @@ "length": 2, "value": "16" }, - { - "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Module\/SelectUser\/CreateChannel\/SBUCreateOpenChannelModule.ProfileInput.swift", - "kind": "IntegerLiteral", - "offset": 1900, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Module\/SelectUser\/CreateChannel\/SBUCreateOpenChannelModule.ProfileInput.swift", - "kind": "IntegerLiteral", - "offset": 1922, - "length": 1, - "value": "0" - }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Module\/SelectUser\/CreateChannel\/SBUCreateOpenChannelModule.ProfileInput.swift", "kind": "BooleanLiteral", - "offset": 3054, + "offset": 2785, "length": 5, "value": "false" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Module\/SelectUser\/CreateChannel\/SBUCreateOpenChannelModule.ProfileInput.swift", "kind": "FloatLiteral", - "offset": 3107, + "offset": 2838, "length": 4, "value": "80.0" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Module\/SelectUser\/CreateChannel\/SBUCreateOpenChannelModule.ProfileInput.swift", "kind": "IntegerLiteral", - "offset": 3175, + "offset": 2906, "length": 2, "value": "46" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Module\/SelectUser\/CreateChannel\/SBUCreateOpenChannelModule.ProfileInput.swift", "kind": "IntegerLiteral", - "offset": 3187, + "offset": 2918, "length": 2, "value": "46" }, @@ -361743,59 +371622,143 @@ { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/ViewModel\/MessageThread\/SBUMessageThreadViewModel.swift", "kind": "IntegerLiteral", - "offset": 2041, + "offset": 2234, "length": 3, "value": "100" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/ViewModel\/MessageThread\/SBUMessageThreadViewModel.swift", "kind": "BooleanLiteral", - "offset": 2772, + "offset": 3310, "length": 4, "value": "true" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/ViewModel\/MessageThread\/SBUMessageThreadViewModel.swift", "kind": "BooleanLiteral", - "offset": 2824, + "offset": 3362, "length": 5, "value": "false" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/ViewModel\/MessageThread\/SBUMessageThreadViewModel.swift", "kind": "IntegerLiteral", - "offset": 2943, + "offset": 3481, "length": 1, "value": "0" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/ViewModel\/MessageThread\/SBUMessageThreadViewModel.swift", "kind": "BooleanLiteral", - "offset": 3088, + "offset": 3626, "length": 5, "value": "false" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/ViewModel\/MessageThread\/SBUMessageThreadViewModel.swift", "kind": "IntegerLiteral", - "offset": 3576, + "offset": 4114, "length": 1, "value": "0" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/ViewModel\/MessageThread\/SBUMessageThreadViewModel.swift", "kind": "BooleanLiteral", - "offset": 12651, + "offset": 13189, "length": 5, "value": "false" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/ViewModel\/MessageThread\/SBUMessageThreadViewModel.swift", "kind": "StringLiteral", - "offset": 1722, + "offset": 1915, "length": 25, "value": "\"SendbirdUIKit.SBUMessageThreadViewModel\"" }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/MultipleFilesMessage\/SBUMultipleFilesMessageCell.swift", + "kind": "IntegerLiteral", + "offset": 840, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/MultipleFilesMessage\/SBUMultipleFilesMessageCell.swift", + "kind": "IntegerLiteral", + "offset": 849, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/MultipleFilesMessage\/SBUMultipleFilesMessageCell.swift", + "kind": "IntegerLiteral", + "offset": 860, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/MultipleFilesMessage\/SBUMultipleFilesMessageCell.swift", + "kind": "IntegerLiteral", + "offset": 870, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/MultipleFilesMessage\/SBUMultipleFilesMessageCell.swift", + "kind": "IntegerLiteral", + "offset": 914, + "length": 1, + "value": "4" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/MultipleFilesMessage\/SBUMultipleFilesMessageCell.swift", + "kind": "IntegerLiteral", + "offset": 952, + "length": 1, + "value": "4" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/MultipleFilesMessage\/SBUMultipleFilesMessageCell.swift", + "kind": "BooleanLiteral", + "offset": 1115, + "length": 5, + "value": "false" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/MultipleFilesMessage\/SBUMultipleFilesMessageCell.swift", + "kind": "FloatLiteral", + "offset": 1844, + "length": 3, + "value": "4.0" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/MultipleFilesMessage\/SBUMultipleFilesMessageCell.swift", + "kind": "FloatLiteral", + "offset": 1896, + "length": 4, + "value": "12.0" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/MultipleFilesMessage\/SBUMultipleFilesMessageCell.swift", + "kind": "FloatLiteral", + "offset": 1948, + "length": 3, + "value": "4.0" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/MultipleFilesMessage\/SBUMultipleFilesMessageCell.swift", + "kind": "FloatLiteral", + "offset": 1999, + "length": 3, + "value": "4.0" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/MultipleFilesMessage\/SBUMultipleFilesMessageCell.swift", + "kind": "FloatLiteral", + "offset": 2055, + "length": 3, + "value": "6.0" + }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Configuration\/Replies\/SBUReplyConfiguration.swift", "kind": "BooleanLiteral", @@ -361904,21 +371867,21 @@ { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/ViewModel\/Channel\/SBUGroupChannelViewModel.swift", "kind": "BooleanLiteral", - "offset": 2202, + "offset": 2622, "length": 5, "value": "false" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/ViewModel\/Channel\/SBUGroupChannelViewModel.swift", "kind": "BooleanLiteral", - "offset": 2624, + "offset": 3044, "length": 5, "value": "false" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/ViewModel\/Channel\/SBUGroupChannelViewModel.swift", "kind": "StringLiteral", - "offset": 1303, + "offset": 1494, "length": 24, "value": "\"SendbirdUIKit.SBUGroupChannelViewModel\"" }, @@ -361981,63 +371944,63 @@ { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageInput\/SBUQuoteMessageInputView.swift", "kind": "IntegerLiteral", - "offset": 9742, + "offset": 11220, "length": 1, "value": "0" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageInput\/SBUQuoteMessageInputView.swift", "kind": "IntegerLiteral", - "offset": 9767, + "offset": 11245, "length": 1, "value": "1" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageInput\/SBUQuoteMessageInputView.swift", "kind": "IntegerLiteral", - "offset": 9793, + "offset": 11271, "length": 1, "value": "2" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageInput\/SBUQuoteMessageInputView.swift", "kind": "IntegerLiteral", - "offset": 9742, + "offset": 11220, "length": 1, "value": "0" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageInput\/SBUQuoteMessageInputView.swift", "kind": "IntegerLiteral", - "offset": 9767, + "offset": 11245, "length": 1, "value": "1" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageInput\/SBUQuoteMessageInputView.swift", "kind": "IntegerLiteral", - "offset": 9793, + "offset": 11271, "length": 1, "value": "2" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageInput\/SBUQuoteMessageInputView.swift", "kind": "IntegerLiteral", - "offset": 9742, + "offset": 11220, "length": 1, "value": "0" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageInput\/SBUQuoteMessageInputView.swift", "kind": "IntegerLiteral", - "offset": 9767, + "offset": 11245, "length": 1, "value": "1" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageInput\/SBUQuoteMessageInputView.swift", "kind": "IntegerLiteral", - "offset": 9793, + "offset": 11271, "length": 1, "value": "2" }, diff --git a/Framework/SendbirdUIKit.xcframework/ios-arm64_x86_64-simulator/SendbirdUIKit.framework/Modules/SendbirdUIKit.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface b/Framework/SendbirdUIKit.xcframework/ios-arm64_x86_64-simulator/SendbirdUIKit.framework/Modules/SendbirdUIKit.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface index e36afa89c..b94a55f79 100644 --- a/Framework/SendbirdUIKit.xcframework/ios-arm64_x86_64-simulator/SendbirdUIKit.framework/Modules/SendbirdUIKit.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface +++ b/Framework/SendbirdUIKit.xcframework/ios-arm64_x86_64-simulator/SendbirdUIKit.framework/Modules/SendbirdUIKit.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface @@ -155,7 +155,7 @@ extension SendbirdUIKit.SBUBaseChannelModule { @_Concurrency.MainActor(unsafe) open func updateStyles(theme: SendbirdUIKit.SBUChannelTheme? = nil, componentTheme: SendbirdUIKit.SBUComponentTheme = SBUTheme.componentTheme) @_Concurrency.MainActor(unsafe) public func setupScrollBottomViewStyle(scrollBottomView: UIKit.UIView, theme: SendbirdUIKit.SBUComponentTheme = SBUTheme.componentTheme) @objc @_Concurrency.MainActor(unsafe) open func setScrollBottomView(hidden: Swift.Bool) - @objc @_Concurrency.MainActor(unsafe) public func reloadTableView() + @objc @_Concurrency.MainActor(unsafe) public func reloadTableView(needsToLayout: Swift.Bool = true) @_Concurrency.MainActor(unsafe) public func updateEmptyView(type: SendbirdUIKit.EmptyViewType) @objc @_Concurrency.MainActor(unsafe) open func showMessageMenu(on message: SendbirdChatSDK.BaseMessage, forRowAt indexPath: Foundation.IndexPath) @objc @_Concurrency.MainActor(unsafe) open func showFailedMessageMenu(on message: SendbirdChatSDK.BaseMessage) @@ -341,6 +341,7 @@ public protocol SBUMessageThreadModuleInputDelegate : SendbirdUIKit.SBUBaseChann func messageThreadModule(_ inputComponent: SendbirdUIKit.SBUMessageThreadModule.Input, shouldLoadSuggestedMentions filterText: Swift.String) func messageThreadModuleShouldStopSuggestingMention(_ inputComponent: SendbirdUIKit.SBUMessageThreadModule.Input) func messageThreadModuleDidTapVoiceMessage(_ inputComponent: SendbirdUIKit.SBUMessageThreadModule.Input) + func messageThreadModule(_ inputComponent: SendbirdUIKit.SBUMessageThreadModule.Input, didPickMultipleFiles fileInfoList: [SendbirdChatSDK.UploadableFileInfo], parentMessage: SendbirdChatSDK.BaseMessage) } public protocol SBUMessageThreadModuleInputDataSource : SendbirdUIKit.SBUBaseChannelModuleInputDataSource { } @@ -375,6 +376,12 @@ extension SendbirdUIKit.SBUMessageThreadModule { @_Concurrency.MainActor(unsafe) @objc override open func pickDocumentFile(documentURLs: [Foundation.URL]) @_Concurrency.MainActor(unsafe) @objc override open func pickImageData(_ data: Foundation.Data, fileName: Swift.String? = nil, mimeType: Swift.String? = nil) @_Concurrency.MainActor(unsafe) @objc override open func pickVideoURL(_ url: Foundation.URL) + @objc @available(iOS 14.0, *) + @_Concurrency.MainActor(unsafe) public func pickMultipleImageFiles(itemProviders: [Foundation.NSItemProvider]) + @available(iOS 14.0, *) + @_Concurrency.MainActor(unsafe) public func loadImageFile(itemProvider: Foundation.NSItemProvider, index: Swift.Int? = nil, completion: @escaping (Foundation.Data?, Swift.String?, Swift.String?) -> Swift.Void) + @available(iOS 14.0, *) + @_Concurrency.MainActor(unsafe) public func loadGIFfile(itemProvider: Foundation.NSItemProvider, index: Swift.Int? = nil, completion: @escaping (Foundation.Data?, Swift.String?, Swift.String?) -> Swift.Void) @_Concurrency.MainActor(unsafe) @objc override open func updateMessageInputMode(_ mode: SendbirdUIKit.SBUMessageInputMode, message: SendbirdChatSDK.BaseMessage? = nil) @_Concurrency.MainActor(unsafe) @objc override open func updateMessageInputModeState() @_Concurrency.MainActor(unsafe) @objc override open func updateFrozenModeState() @@ -831,10 +838,10 @@ extension SendbirdUIKit.SBUView : SendbirdUIKit.SBUViewLifeCycle { set _modify } - @_Concurrency.MainActor(unsafe) public var collectionViewHeightConstraint: UIKit.NSLayoutConstraint! { + @_Concurrency.MainActor(unsafe) public var collectionViewHeightConstraint: UIKit.NSLayoutConstraint? { get } - @_Concurrency.MainActor(unsafe) public var collectionViewMinWidthContraint: UIKit.NSLayoutConstraint! { + @_Concurrency.MainActor(unsafe) public var collectionViewMinWidthContraint: UIKit.NSLayoutConstraint? { get } @_Concurrency.MainActor(unsafe) final public let collectionViewInsets: UIKit.UIEdgeInsets @@ -1736,6 +1743,7 @@ extension UIKit.UIImageView { @_hasMissingDesignatedInitializers public class SBUUtils { public static func getFileType(by fileMessage: SendbirdChatSDK.FileMessage) -> SendbirdUIKit.SBUMessageFileType public static func getFileType(by type: Swift.String) -> SendbirdUIKit.SBUMessageFileType + public static func getFileTypeString(by fileType: Swift.String) -> Swift.String public static func generateChannelName(channel: SendbirdChatSDK.GroupChannel) -> Swift.String public static func getMimeType(url: Foundation.URL) -> Swift.String? @available(*, deprecated, renamed: "getReceiptState(of:in:)") @@ -1786,6 +1794,7 @@ extension UIKit.UIImageView { public static var Settings: Swift.String public static var Reply: Swift.String public static var Alert_Delete: Swift.String + public static var Alert_Delete_MultipleFilesMessage: (Swift.Int) -> Swift.String public static var Alert_Allow_Camera_Access: Swift.String public static var Alert_Allow_PhotoLibrary_Access: Swift.String public static var Alert_Allow_PhotoLibrary_Access_Message: Swift.String @@ -1947,6 +1956,22 @@ extension UIKit.UIImageView { } public static var fileName: Swift.String } + public struct GroupChannel { + public struct Preview { + public static var photo: Swift.String + public static var gif: Swift.String + public static var video: Swift.String + public static var audio: Swift.String + public static var voice: Swift.String + public static var file: Swift.String + public static var multipleFiles: Swift.String + } + } + public struct FileUpload { + public struct Error { + public static var exceededSizeLimit: Swift.String + } + } @objc deinit } extension SendbirdUIKit.SBUStringSet { @@ -2120,6 +2145,7 @@ extension SendbirdUIKit.SBUCreateOpenChannelModule { @_Concurrency.MainActor(unsafe) final public let descriptionLabel: UIKit.UILabel @_Concurrency.MainActor(unsafe) final public let urlLabel: UIKit.UILabel @_Concurrency.MainActor(unsafe) public var imageHeightConstraint: UIKit.NSLayoutConstraint? + @_Concurrency.MainActor(unsafe) public var imageWitdhConstraint: UIKit.NSLayoutConstraint? @_Concurrency.MainActor(unsafe) @objc override dynamic public init(frame: CoreFoundation.CGRect) @_Concurrency.MainActor(unsafe) @objc required dynamic public init(coder: Foundation.NSCoder) @_Concurrency.MainActor(unsafe) @objc override dynamic open func layoutSubviews() @@ -2297,6 +2323,11 @@ extension SendbirdUIKit.SBUModuleSet { public static var MessageSearchModule: SendbirdUIKit.SBUMessageSearchModule.Type public static var MessageThreadModule: SendbirdUIKit.SBUMessageThreadModule.Type } +extension SendbirdChatSDK.MultipleFilesMessage { + public var filesCount: Swift.Int { + get + } +} public protocol SBUMessageSearchViewModelDelegate : SendbirdUIKit.SBUCommonViewModelDelegate { func searchViewModel(_ viewModel: SendbirdUIKit.SBUMessageSearchViewModel, didChangeSearchResults results: [SendbirdChatSDK.BaseMessage], needsToReload: Swift.Bool) } @@ -2317,6 +2348,24 @@ open class SBUMessageSearchViewModel { public func loadMore() @objc deinit } +@objc @_inheritsConvenienceInitializers @_Concurrency.MainActor(unsafe) open class SBUMultipleFilesMessageCollectionView : UIKit.UICollectionView, SendbirdUIKit.SBUViewLifeCycle { + @SendbirdUIKit.SBUThemeWrapper @_Concurrency.MainActor(unsafe) public var theme: SendbirdUIKit.SBUMessageCellTheme { + get + set + _modify + } + @_Concurrency.MainActor(unsafe) public var cornerRadius: CoreFoundation.CGFloat + @_Concurrency.MainActor(unsafe) open func configure(delegate: UIKit.UICollectionViewDelegate, dataSource: UIKit.UICollectionViewDataSource, theme: SendbirdUIKit.SBUMessageCellTheme? = nil, cornerRadius: CoreFoundation.CGFloat) + @_Concurrency.MainActor(unsafe) @objc open func setupViews() + @_Concurrency.MainActor(unsafe) @objc open func setupLayouts() + @_Concurrency.MainActor(unsafe) @objc open func setupStyles() + @_Concurrency.MainActor(unsafe) @objc open func setupActions() + @_Concurrency.MainActor(unsafe) @objc open func updateLayouts() + @_Concurrency.MainActor(unsafe) @objc open func updateStyles() + @_Concurrency.MainActor(unsafe) @objc override dynamic public init(frame: CoreFoundation.CGRect, collectionViewLayout layout: UIKit.UICollectionViewLayout) + @_Concurrency.MainActor(unsafe) @objc required dynamic public init?(coder: Foundation.NSCoder) + @objc deinit +} extension SendbirdUIKit.SBUBaseSelectUserViewController { @objc @available(*, deprecated, renamed: "channelURL") @_Concurrency.MainActor(unsafe) dynamic public var channelUrl: Swift.String? { @@ -2477,6 +2526,28 @@ extension SendbirdUIKit.SBUBaseChannelSettingsModule { @objc func updateLayouts() @objc func setupActions() } +@objc @_hasMissingDesignatedInitializers @_Concurrency.MainActor(unsafe) public class SBUPaddingLabel : UIKit.UILabel { + @_Concurrency.MainActor(unsafe) public var top: CoreFoundation.CGFloat { + get + } + @_Concurrency.MainActor(unsafe) public var bottom: CoreFoundation.CGFloat { + get + } + @_Concurrency.MainActor(unsafe) public var leading: CoreFoundation.CGFloat { + get + } + @_Concurrency.MainActor(unsafe) public var trailing: CoreFoundation.CGFloat { + get + } + @_Concurrency.MainActor(unsafe) convenience public init(_ all: CoreFoundation.CGFloat) + @_Concurrency.MainActor(unsafe) convenience public init(_ vertical: CoreFoundation.CGFloat, _ horizontal: CoreFoundation.CGFloat) + @_Concurrency.MainActor(unsafe) public init(_ top: CoreFoundation.CGFloat = 0, _ bottom: CoreFoundation.CGFloat = 0, _ leading: CoreFoundation.CGFloat = 0, _ trailing: CoreFoundation.CGFloat = 0) + @_Concurrency.MainActor(unsafe) @objc override dynamic public func drawText(in rect: CoreFoundation.CGRect) + @_Concurrency.MainActor(unsafe) @objc override dynamic public var intrinsicContentSize: CoreFoundation.CGSize { + @objc get + } + @objc deinit +} public typealias SBUNewNotificationInfoHandler = () -> Swift.Void extension SendbirdUIKit.SBUBaseChannelViewController { @objc @_Concurrency.MainActor(unsafe) dynamic public func registerKeyboardNotifications() @@ -2497,7 +2568,7 @@ extension SendbirdUIKit.SBUBaseChannelViewController { get } @objc @_Concurrency.MainActor(unsafe) public var webView: SendbirdUIKit.SBUOpenChannelMessageWebView - @objc @_Concurrency.MainActor(unsafe) public var messageTypeConstraint: UIKit.NSLayoutConstraint! { + @objc @_Concurrency.MainActor(unsafe) public var messageTypeConstraint: UIKit.NSLayoutConstraint? { get } @objc @_Concurrency.MainActor(unsafe) public var webTypeConstraints: [UIKit.NSLayoutConstraint] { @@ -2957,6 +3028,7 @@ public protocol SBUMessageCellProtocol { @objc @_Concurrency.MainActor(unsafe) public var newMessagesCount: Swift.Int { get } + @objc @_Concurrency.MainActor(unsafe) open func multipleFilesMessageFileSizeErrorHandler(_ message: Swift.String) @objc @_Concurrency.MainActor(unsafe) required public init(channel: SendbirdChatSDK.GroupChannel, messageListParams: SendbirdChatSDK.MessageListParams? = nil) @objc @_Concurrency.MainActor(unsafe) public init(channel: SendbirdChatSDK.GroupChannel, messageListParams: SendbirdChatSDK.MessageListParams? = nil, displaysLocalCachedListFirst: Swift.Bool) @_Concurrency.MainActor(unsafe) required public init(channelURL: Swift.String, startingPoint: Swift.Int64? = nil, messageListParams: SendbirdChatSDK.MessageListParams? = nil) @@ -2975,6 +3047,7 @@ public protocol SBUMessageCellProtocol { @_Concurrency.MainActor(unsafe) @objc override open func setupViews() @_Concurrency.MainActor(unsafe) @objc override open func setupLayouts() @_Concurrency.MainActor(unsafe) @objc override open func setupStyles() + @_Concurrency.MainActor(unsafe) @objc override open func updateStyles(needsToLayout: Swift.Bool) @_Concurrency.MainActor(unsafe) @objc override open func updateStyles() @discardableResult @_Concurrency.MainActor(unsafe) @objc override public func increaseNewMessageCount() -> Swift.Bool @@ -2986,14 +3059,20 @@ public protocol SBUMessageCellProtocol { @_Concurrency.MainActor(unsafe) override public func showMenuModal(_ cell: UIKit.UITableViewCell, indexPath: Foundation.IndexPath, message: SendbirdChatSDK.BaseMessage, types: [SendbirdUIKit.MessageMenuItem]?) @_Concurrency.MainActor(unsafe) @objc override open func showChannelSettings() @_Concurrency.MainActor(unsafe) override open func showMessageThread(channelURL: Swift.String, parentMessageId: Swift.Int64, parentMessageCreatedAt: Swift.Int64? = 0, startingPoint: Swift.Int64? = 0) + @_Concurrency.MainActor(unsafe) @objc override open func imagePickerControllerDidCancel(_ picker: UIKit.UIImagePickerController) + @available(iOS 14, *) + @_Concurrency.MainActor(unsafe) override open func picker(_ picker: PhotosUI.PHPickerViewController, didFinishPicking results: [PhotosUI.PHPickerResult]) + @_Concurrency.MainActor(unsafe) @objc override open func showPhotoLibraryPicker() @_Concurrency.MainActor(unsafe) @objc override open func showVoiceMessageInput() @_Concurrency.MainActor(unsafe) @objc override open func dismissVoiceMessageInput() @_Concurrency.MainActor(unsafe) @objc override open func resetVoiceMessageInput(for resignActivity: Swift.Bool = false) @_Concurrency.MainActor(unsafe) @objc override open func baseChannelViewModel(_ viewModel: SendbirdUIKit.SBUBaseChannelViewModel, didChangeChannel channel: SendbirdChatSDK.BaseChannel?, withContext context: SendbirdChatSDK.MessageContext) @_Concurrency.MainActor(unsafe) @objc override open func baseChannelViewModel(_ viewModel: SendbirdUIKit.SBUBaseChannelViewModel, deletedMessages messages: [SendbirdChatSDK.BaseMessage]) @objc @_Concurrency.MainActor(unsafe) open func groupChannelViewModel(_ viewModel: SendbirdUIKit.SBUGroupChannelViewModel, didReceiveSuggestedMentions members: [SendbirdUIKit.SBUUser]?) + @objc @_Concurrency.MainActor(unsafe) public func groupChannelViewModel(_ viewModel: SendbirdUIKit.SBUGroupChannelViewModel, didFinishUploadingFileAt index: Swift.Int, multipleFilesMessageRequestId requestId: Swift.String) @_Concurrency.MainActor(unsafe) @objc override open func baseChannelModule(_ headerComponent: SendbirdUIKit.SBUBaseChannelModule.Header, didTapLeftItem leftItem: UIKit.UIBarButtonItem) @_Concurrency.MainActor(unsafe) @objc override open func baseChannelModule(_ headerComponent: SendbirdUIKit.SBUBaseChannelModule.Header, didTapRightItem rightItem: UIKit.UIBarButtonItem) + @objc @_Concurrency.MainActor(unsafe) open func groupChannelModule(_ listComponent: SendbirdUIKit.SBUGroupChannelModule.List, didSelectFileAt index: Swift.Int, multipleFilesMessageCell: SendbirdUIKit.SBUMultipleFilesMessageCell, forRowAt cellIndexPath: Foundation.IndexPath) @objc @_Concurrency.MainActor(unsafe) open func groupChannelModule(_ listComponent: SendbirdUIKit.SBUGroupChannelModule.List, didTapEmoji emojiKey: Swift.String, messageCell: SendbirdUIKit.SBUBaseMessageCell) @objc @_Concurrency.MainActor(unsafe) open func groupChannelModule(_ listComponent: SendbirdUIKit.SBUGroupChannelModule.List, didLongTapEmoji emojiKey: Swift.String, messageCell: SendbirdUIKit.SBUBaseMessageCell) @objc @_Concurrency.MainActor(unsafe) open func groupChannelModule(_ listComponent: SendbirdUIKit.SBUGroupChannelModule.List, didTapMoreEmojiForCell messageCell: SendbirdUIKit.SBUBaseMessageCell) @@ -3006,6 +3085,7 @@ public protocol SBUMessageCellProtocol { @_Concurrency.MainActor(unsafe) open func groupChannelModule(_ listComponent: SendbirdUIKit.SBUGroupChannelModule.List, highlightInfoInTableView tableView: UIKit.UITableView) -> SendbirdUIKit.SBUHighlightMessageInfo? @_Concurrency.MainActor(unsafe) @objc override open func baseChannelModule(_ inputComponent: SendbirdUIKit.SBUBaseChannelModule.Input, didUpdateFrozenState isFrozen: Swift.Bool) @objc @_Concurrency.MainActor(unsafe) open func groupChannelModule(_ inputComponent: SendbirdUIKit.SBUGroupChannelModule.Input, didPickFileData fileData: Foundation.Data?, fileName: Swift.String, mimeType: Swift.String, parentMessage: SendbirdChatSDK.BaseMessage?) + @objc @_Concurrency.MainActor(unsafe) open func groupChannelModule(_ inputComponent: SendbirdUIKit.SBUGroupChannelModule.Input, didPickMultipleFiles fileInfoList: [SendbirdChatSDK.UploadableFileInfo]?, parentMessage: SendbirdChatSDK.BaseMessage?) @objc @_Concurrency.MainActor(unsafe) open func groupChannelModule(_ inputComponent: SendbirdUIKit.SBUGroupChannelModule.Input, didTapSend text: Swift.String, mentionedMessageTemplate: Swift.String, mentionedUserIds: [Swift.String], parentMessage: SendbirdChatSDK.BaseMessage?) @objc @_Concurrency.MainActor(unsafe) open func groupChannelModule(_ inputComponent: SendbirdUIKit.SBUGroupChannelModule.Input, didTapEdit text: Swift.String, mentionedMessageTemplate: Swift.String, mentionedUserIds: [Swift.String]) @objc @_Concurrency.MainActor(unsafe) open func groupChannelModule(_ inputComponent: SendbirdUIKit.SBUGroupChannelModule.Input, willChangeMode mode: SendbirdUIKit.SBUMessageInputMode, message: SendbirdChatSDK.BaseMessage?, mentionedMessageTemplate: Swift.String, mentionedUserIds: [Swift.String]) @@ -3535,7 +3615,7 @@ public protocol SBUSuggestedMentionListDelegate : AnyObject { } @_Concurrency.MainActor(unsafe) public var userCell: UIKit.UITableViewCell? @_Concurrency.MainActor(unsafe) public var limitGuideCell: UIKit.UITableViewCell? - @_Concurrency.MainActor(unsafe) public var heightConstraint: UIKit.NSLayoutConstraint! + @_Concurrency.MainActor(unsafe) public var heightConstraint: UIKit.NSLayoutConstraint? @_Concurrency.MainActor(unsafe) public var filteredUsers: [SendbirdUIKit.SBUUser] { get } @@ -3611,6 +3691,10 @@ extension SendbirdUIKit.SBUConfig.GroupChannel { set } public var input: SendbirdUIKit.SBUConfig.GroupChannel.Channel.Input + @SendbirdUIKit.SBUPrioritizedConfig public var isMultipleFilesMessageEnabled: Swift.Bool { + get + set + } @objc deinit public func encode(to encoder: Swift.Encoder) throws required public init(from decoder: Swift.Decoder) throws @@ -3686,6 +3770,8 @@ public protocol SBUMessageThreadModuleListDelegate : SendbirdUIKit.SBUBaseChanne func messageThreadModule(_ listComponent: SendbirdUIKit.SBUMessageThreadModule.List, didLongTapEmoji emojiKey: Swift.String, messageCell: SendbirdUIKit.SBUBaseMessageCell) func messageThreadModule(_ listComponent: SendbirdUIKit.SBUMessageThreadModule.List, didTapMoreEmojiForCell messageCell: SendbirdUIKit.SBUBaseMessageCell) func messageThreadModule(_ listComponent: SendbirdUIKit.SBUMessageThreadModule.List, didTapMentionUser user: SendbirdUIKit.SBUUser) + func messageThreadModule(_ listComponent: SendbirdUIKit.SBUMessageThreadModule.List, didSelectFileAt index: Swift.Int, multipleFilesMessageCell: SendbirdUIKit.SBUMultipleFilesMessageCell, forRowAt cellIndexPath: Foundation.IndexPath) + func messageThreadModule(_ listComponent: SendbirdUIKit.SBUMessageThreadModule.List, uploadedFileInfo: SendbirdChatSDK.UploadedFileInfo, message: SendbirdChatSDK.MultipleFilesMessage, index: Swift.Int) } public protocol SBUMessageThreadModuleListDataSource : SendbirdUIKit.SBUBaseChannelModuleListDataSource { } @@ -3702,6 +3788,9 @@ extension SendbirdUIKit.SBUMessageThreadModule { @objc @_Concurrency.MainActor(unsafe) public var fileMessageCell: SendbirdUIKit.SBUBaseMessageCell? { get } + @objc @_Concurrency.MainActor(unsafe) public var multipleFilesMessageCell: SendbirdUIKit.SBUBaseMessageCell? { + get + } @objc @_Concurrency.MainActor(unsafe) public var unknownMessageCell: SendbirdUIKit.SBUBaseMessageCell? { get } @@ -3734,11 +3823,12 @@ extension SendbirdUIKit.SBUMessageThreadModule { @_Concurrency.MainActor(unsafe) override open func createMessageMenuItems(for message: SendbirdChatSDK.BaseMessage) -> [SendbirdUIKit.SBUMenuItem] @_Concurrency.MainActor(unsafe) @objc override open func showMessageContextMenu(for message: SendbirdChatSDK.BaseMessage, cell: UIKit.UITableViewCell, forRowAt indexPath: Foundation.IndexPath) @objc @_Concurrency.MainActor(unsafe) open func setMessageCellGestures(_ cell: SendbirdUIKit.SBUBaseMessageCell, message: SendbirdChatSDK.BaseMessage, indexPath: Foundation.IndexPath) - @_Concurrency.MainActor(unsafe) @objc override public func reloadTableView() + @_Concurrency.MainActor(unsafe) @objc override public func reloadTableView(needsToLayout: Swift.Bool = true) @objc @_Concurrency.MainActor(unsafe) public func register(messageCell: SendbirdUIKit.SBUBaseMessageCell, nib: UIKit.UINib? = nil) @objc @_Concurrency.MainActor(unsafe) open func register(adminMessageCell: SendbirdUIKit.SBUBaseMessageCell, nib: UIKit.UINib? = nil) @objc @_Concurrency.MainActor(unsafe) open func register(userMessageCell: SendbirdUIKit.SBUBaseMessageCell, nib: UIKit.UINib? = nil) @objc @_Concurrency.MainActor(unsafe) open func register(fileMessageCell: SendbirdUIKit.SBUBaseMessageCell, nib: UIKit.UINib? = nil) + @objc @_Concurrency.MainActor(unsafe) open func register(multipleFilesMessageCell: SendbirdUIKit.SBUBaseMessageCell, nib: UIKit.UINib? = nil) @objc @_Concurrency.MainActor(unsafe) open func register(unknownMessageCell: SendbirdUIKit.SBUBaseMessageCell, nib: UIKit.UINib? = nil) @objc @_Concurrency.MainActor(unsafe) open func register(customMessageCell: SendbirdUIKit.SBUBaseMessageCell, nib: UIKit.UINib? = nil) @objc @_Concurrency.MainActor(unsafe) open func configureCell(_ messageCell: SendbirdUIKit.SBUBaseMessageCell, message: SendbirdChatSDK.BaseMessage, forRowAt indexPath: Foundation.IndexPath) @@ -4130,6 +4220,20 @@ extension SendbirdUIKit.SBUInviteUserModule { public static func restoreDefaultIcons() @objc deinit } +@objc @_inheritsConvenienceInitializers @_Concurrency.MainActor(unsafe) open class SBUCollectionViewCell : UIKit.UICollectionViewCell { + @_Concurrency.MainActor(unsafe) @objc override dynamic public init(frame: CoreFoundation.CGRect) + @_Concurrency.MainActor(unsafe) @objc required dynamic public init?(coder: Foundation.NSCoder) + @_Concurrency.MainActor(unsafe) @objc override dynamic open func layoutSubviews() + @objc deinit +} +extension SendbirdUIKit.SBUCollectionViewCell : SendbirdUIKit.SBUViewLifeCycle { + @_Concurrency.MainActor(unsafe) @objc dynamic public func setupViews() + @_Concurrency.MainActor(unsafe) @objc dynamic public func setupStyles() + @_Concurrency.MainActor(unsafe) @objc dynamic public func updateStyles() + @_Concurrency.MainActor(unsafe) @objc dynamic public func setupLayouts() + @_Concurrency.MainActor(unsafe) @objc dynamic public func updateLayouts() + @_Concurrency.MainActor(unsafe) @objc dynamic public func setupActions() +} @objc @_inheritsConvenienceInitializers @_Concurrency.MainActor(unsafe) open class SBUOpenChannelContentBaseMessageCell : SendbirdUIKit.SBUOpenChannelBaseMessageCell { @objc @_Concurrency.MainActor(unsafe) public var baseStackView: UIKit.UIStackView { @objc get @@ -4139,6 +4243,10 @@ extension SendbirdUIKit.SBUInviteUserModule { @objc get @objc set } + @objc @_Concurrency.MainActor(unsafe) public var profileBaseView: UIKit.UIView { + @objc get + @objc set + } @objc @_Concurrency.MainActor(unsafe) public var contentsStackView: UIKit.UIStackView { @objc get @objc set @@ -4559,6 +4667,25 @@ public protocol SBUCreateChannelTypeSelectorProtocol { @_Concurrency.MainActor(unsafe) open func updateButton(type: SendbirdUIKit.ChannelCreationType) @objc deinit } +@objc @_inheritsConvenienceInitializers @_hasMissingDesignatedInitializers @_Concurrency.MainActor(unsafe) open class SBUMultipleFilesMessageCollectionViewCell : SendbirdUIKit.SBUCollectionViewCell { + @_Concurrency.MainActor(unsafe) public var imageView: UIKit.UIImageView + @_Concurrency.MainActor(unsafe) public var overlayView: UIKit.UIView + @_Concurrency.MainActor(unsafe) public var iconImageView: UIKit.UIImageView + @SendbirdUIKit.SBUThemeWrapper @_Concurrency.MainActor(unsafe) public var theme: SendbirdUIKit.SBUMessageCellTheme { + get + set + _modify + } + @_Concurrency.MainActor(unsafe) public var imageCornerRadius: CoreFoundation.CGFloat + @_Concurrency.MainActor(unsafe) @objc required dynamic public init?(coder aDecoder: Foundation.NSCoder) + @_Concurrency.MainActor(unsafe) open func configure(uploadableFileInfo: SendbirdChatSDK.UploadableFileInfo? = nil, uploadedFileInfo: SendbirdChatSDK.UploadedFileInfo? = nil, requestId: Swift.String, index: Swift.Int, imageCornerRadius: CoreFoundation.CGFloat, showOverlay: Swift.Bool) + @_Concurrency.MainActor(unsafe) @objc override dynamic open func setupViews() + @_Concurrency.MainActor(unsafe) @objc override dynamic open func setupStyles() + @_Concurrency.MainActor(unsafe) @objc override dynamic open func setupLayouts() + @_Concurrency.MainActor(unsafe) @objc override dynamic open func prepareForReuse() + @_Concurrency.MainActor(unsafe) public func setGIFIcon() + @objc deinit +} extension UIKit.UIView { @objc @_Concurrency.MainActor(unsafe) public static func sbu_loadNib() -> UIKit.UINib @objc @_Concurrency.MainActor(unsafe) public static func sbu_loadViewFromNib() -> UIKit.UIView @@ -4584,6 +4711,8 @@ extension UIKit.UIView { @_Concurrency.MainActor(unsafe) public func sbu_constraint_greaterThan(widthAnchor: UIKit.NSLayoutAnchor? = nil, width: CoreFoundation.CGFloat? = nil, heightAnchor: UIKit.NSLayoutAnchor? = nil, height: CoreFoundation.CGFloat? = nil, priority: UIKit.UILayoutPriority? = nil) -> UIKit.UIView @discardableResult @_Concurrency.MainActor(unsafe) public func sbu_constraint_lessThan(widthAnchor: UIKit.NSLayoutAnchor? = nil, width: CoreFoundation.CGFloat? = nil, heightAnchor: UIKit.NSLayoutAnchor? = nil, height: CoreFoundation.CGFloat? = nil, priority: UIKit.UILayoutPriority? = nil) -> UIKit.UIView +} +extension UIKit.UIView { @discardableResult @_Concurrency.MainActor(unsafe) public func sbu_constraint_v2(equalTo view: UIKit.UIView, leading: CoreFoundation.CGFloat? = nil, trailing: CoreFoundation.CGFloat? = nil, left: CoreFoundation.CGFloat? = nil, right: CoreFoundation.CGFloat? = nil, top: CoreFoundation.CGFloat? = nil, bottom: CoreFoundation.CGFloat? = nil, centerX: CoreFoundation.CGFloat? = nil, centerY: CoreFoundation.CGFloat? = nil, priority: UIKit.UILayoutPriority? = nil) -> [UIKit.NSLayoutConstraint] @discardableResult @@ -4911,19 +5040,28 @@ public protocol SBUParentMessageInfoViewDelegate : AnyObject { func parentMessageInfoViewBoundsWillChanged(_ view: SendbirdUIKit.SBUParentMessageInfoView) func parentMessageInfoViewBoundsDidChanged(_ view: SendbirdUIKit.SBUParentMessageInfoView) } -@objc @_inheritsConvenienceInitializers @_Concurrency.MainActor(unsafe) open class SBUParentMessageInfoView : UIKit.UITableViewHeaderFooterView, SendbirdUIKit.SBUUserMessageTextViewDelegate { +@objc @_inheritsConvenienceInitializers @_Concurrency.MainActor(unsafe) open class SBUParentMessageInfoView : SendbirdUIKit.SBUView, SendbirdUIKit.SBUUserMessageTextViewDelegate { + public struct Constants { + public static var verticalSideMarginSize: CoreFoundation.CGFloat + } @_Concurrency.MainActor(unsafe) public var profileView: SendbirdUIKit.SBUMessageProfileView + @_Concurrency.MainActor(unsafe) public var profileBaseView: UIKit.UIView @_Concurrency.MainActor(unsafe) public var userNameLabel: UIKit.UILabel @_Concurrency.MainActor(unsafe) public var dateLabel: UIKit.UILabel @_Concurrency.MainActor(unsafe) public var moreButton: UIKit.UIButton? { get set } + @_Concurrency.MainActor(unsafe) public var moreButtonBaseView: UIKit.UIView @_Concurrency.MainActor(unsafe) public var replySeparateLine: UIKit.UIView @_Concurrency.MainActor(unsafe) public var replyLabel: UIKit.UILabel @_Concurrency.MainActor(unsafe) public var bottomSeparateLine: UIKit.UIView @_Concurrency.MainActor(unsafe) public var messageTextView: SendbirdUIKit.SBUUserMessageTextView @_Concurrency.MainActor(unsafe) public var baseFileContentView: SendbirdUIKit.SBUBaseFileContentView + @_Concurrency.MainActor(unsafe) public var fileCollectionView: SendbirdUIKit.SBUMultipleFilesMessageCollectionView { + get + set + } @_Concurrency.MainActor(unsafe) public var webView: SendbirdUIKit.SBUMessageWebView @_Concurrency.MainActor(unsafe) public var reactionView: SendbirdUIKit.SBUParentMessageInfoReactionView @_Concurrency.MainActor(unsafe) public var userHStackView: SendbirdUIKit.SBUStackView { @@ -4946,30 +5084,44 @@ public protocol SBUParentMessageInfoViewDelegate : AnyObject { @objc get @objc set } + @_Concurrency.MainActor(unsafe) public var contentView: UIKit.UIView { + get + set + } @_Concurrency.MainActor(unsafe) public var enablesReaction: Swift.Bool @_Concurrency.MainActor(unsafe) public var userProfileTapHandler: (() -> Swift.Void)? @_Concurrency.MainActor(unsafe) public var tapHandlerToContent: (() -> Swift.Void)? + @_Concurrency.MainActor(unsafe) public var fileSelectHandler: ((_ fileInfo: SendbirdChatSDK.UploadedFileInfo, _ index: Swift.Int) -> Swift.Void)? @_Concurrency.MainActor(unsafe) public var moreButtonTapHandlerToContent: (() -> Swift.Void)? @_Concurrency.MainActor(unsafe) public var emojiTapHandler: ((_ emojiKey: Swift.String) -> Swift.Void)? @_Concurrency.MainActor(unsafe) public var moreEmojiTapHandler: (() -> Swift.Void)? @_Concurrency.MainActor(unsafe) public var emojiLongPressHandler: ((_ emojiKey: Swift.String) -> Swift.Void)? @_Concurrency.MainActor(unsafe) public var mentionTapHandler: ((_ user: SendbirdUIKit.SBUUser) -> Swift.Void)? - @_Concurrency.MainActor(unsafe) @objc override dynamic public init(reuseIdentifier: Swift.String?) @available(*, unavailable, renamed: "SBUParentMessageInfoView(frame:)") - @_Concurrency.MainActor(unsafe) @objc required convenience dynamic public init?(coder: Foundation.NSCoder) - @_Concurrency.MainActor(unsafe) open func setupViews() - @_Concurrency.MainActor(unsafe) open func setupLayouts() - @_Concurrency.MainActor(unsafe) open func updateLayouts() - @_Concurrency.MainActor(unsafe) open func setupStyles() + @_Concurrency.MainActor(unsafe) required convenience public init?(coder: Foundation.NSCoder) + @_Concurrency.MainActor(unsafe) @objc override dynamic open func setupViews() + @_Concurrency.MainActor(unsafe) @objc override dynamic open func setupLayouts() + @_Concurrency.MainActor(unsafe) @objc override dynamic open func updateLayouts() + @_Concurrency.MainActor(unsafe) @objc override dynamic open func setupStyles() @_Concurrency.MainActor(unsafe) open func configure(message: SendbirdChatSDK.BaseMessage?, delegate: SendbirdUIKit.SBUParentMessageInfoViewDelegate?, useReaction: Swift.Bool = false, voiceFileInfo: SendbirdUIKit.SBUVoiceFileInfo?) - @_Concurrency.MainActor(unsafe) open func setupActions() + @_Concurrency.MainActor(unsafe) open func updateMessageTextWidth(with size: CoreFoundation.CGSize) + @_Concurrency.MainActor(unsafe) @objc override dynamic open func setupActions() @objc @_Concurrency.MainActor(unsafe) open func onTapUserProfileView(sender: UIKit.UITapGestureRecognizer) @objc @_Concurrency.MainActor(unsafe) open func onTapContentView(sender: UIKit.UITapGestureRecognizer) + @objc @_Concurrency.MainActor(unsafe) open func onSelectFile(sender: UIKit.UITapGestureRecognizer) @objc @_Concurrency.MainActor(unsafe) open func onTapWebview(sender: UIKit.UITapGestureRecognizer) @objc @_Concurrency.MainActor(unsafe) open func onTapMoreButton(_ sender: Any) @_Concurrency.MainActor(unsafe) open func userMessageTextView(_ textView: SendbirdUIKit.SBUUserMessageTextView, didTapMention user: SendbirdUIKit.SBUUser) + @_Concurrency.MainActor(unsafe) @objc override dynamic public init() + @_Concurrency.MainActor(unsafe) @objc override dynamic public init(frame: CoreFoundation.CGRect) @objc deinit } +extension SendbirdUIKit.SBUParentMessageInfoView : UIKit.UICollectionViewDataSource, UIKit.UICollectionViewDelegate, UIKit.UICollectionViewDelegateFlowLayout { + @_Concurrency.MainActor(unsafe) @objc dynamic public func numberOfSections(in collectionView: UIKit.UICollectionView) -> Swift.Int + @_Concurrency.MainActor(unsafe) @objc dynamic open func collectionView(_ collectionView: UIKit.UICollectionView, numberOfItemsInSection section: Swift.Int) -> Swift.Int + @_Concurrency.MainActor(unsafe) @objc dynamic open func collectionView(_ collectionView: UIKit.UICollectionView, layout collectionViewLayout: UIKit.UICollectionViewLayout, sizeForItemAt indexPath: Foundation.IndexPath) -> CoreFoundation.CGSize + @_Concurrency.MainActor(unsafe) @objc dynamic open func collectionView(_ collectionView: UIKit.UICollectionView, cellForItemAt indexPath: Foundation.IndexPath) -> UIKit.UICollectionViewCell +} @_hasMissingDesignatedInitializers public class SBUGlobalCustomParams { public static var groupChannelParamsCreateBuilder: ((_ params: SendbirdChatSDK.GroupChannelCreateParams?) -> Swift.Void)? public static var groupChannelParamsUpdateBuilder: ((_ params: SendbirdChatSDK.GroupChannelUpdateParams?) -> Swift.Void)? @@ -4979,6 +5131,7 @@ public protocol SBUParentMessageInfoViewDelegate : AnyObject { public static var userMessageParamsUpdateBuilder: ((_ params: SendbirdChatSDK.UserMessageUpdateParams?) -> Swift.Void)? public static var fileMessageParamsSendBuilder: ((_ params: SendbirdChatSDK.FileMessageCreateParams?) -> Swift.Void)? public static var voiceFileMessageParamsSendBuilder: ((_ params: SendbirdChatSDK.FileMessageCreateParams?) -> Swift.Void)? + public static var multipleFilesMessageParamsSendBuilder: ((_ params: SendbirdChatSDK.MultipleFilesMessageCreateParams?) -> Swift.Void)? public static var messageListParamsBuilder: ((_ params: SendbirdChatSDK.MessageListParams?) -> Swift.Void)? @objc deinit } @@ -5115,7 +5268,7 @@ extension UIKit.UIImage { @objc get @objc set } - @objc @_Concurrency.MainActor(unsafe) public var mainContainerView: SendbirdUIKit.SBUSelectableStackView { + @objc @_Concurrency.MainActor(unsafe) open var mainContainerView: SendbirdUIKit.SBUSelectableStackView { @objc get @objc set } @@ -5419,7 +5572,7 @@ extension UIKit.UIStackView { @_Concurrency.MainActor(unsafe) public var button: UIKit.UIButton @_Concurrency.MainActor(unsafe) public var username: Swift.String @_Concurrency.MainActor(unsafe) public var leftMargin: CoreFoundation.CGFloat - @_Concurrency.MainActor(unsafe) public var buttonLeftConstraint: UIKit.NSLayoutConstraint! { + @_Concurrency.MainActor(unsafe) public var buttonLeftConstraint: UIKit.NSLayoutConstraint? { get } @_Concurrency.MainActor(unsafe) @objc override dynamic public init() @@ -5619,6 +5772,7 @@ extension SendbirdUIKit.SBUBaseChannelSettingsModule.List : UIKit.UITableViewDat @_Concurrency.MainActor(unsafe) @objc override open func setupLayouts() @_Concurrency.MainActor(unsafe) @objc override open func updateLayouts() @_Concurrency.MainActor(unsafe) @objc override open func setupStyles() + @_Concurrency.MainActor(unsafe) @objc override open func updateStyles(needsToLayout: Swift.Bool) @_Concurrency.MainActor(unsafe) @objc override open func updateStyles() @objc @_Concurrency.MainActor(unsafe) public func updateChannelInfoView() @objc @available(*, deprecated, message: "Please use `calculateMessageMenuCGPoint(indexPath:)` in `SBUOpenChannelModule.List`") @@ -5758,6 +5912,9 @@ public class SBUQuoteMessageInputViewParams { public var isFileType: Swift.Bool { get } + public var isMultipleFilesMessage: Swift.Bool { + get + } public var fileType: Swift.String? { get } @@ -6250,7 +6407,7 @@ extension SendbirdUIKit.SBUMessageSearchViewController { @objc @_Concurrency.MainActor(unsafe) public var baseViewModel: SendbirdUIKit.SBUBaseChannelViewModel? @objc @_Concurrency.MainActor(unsafe) public var channelName: Swift.String? @objc @_Concurrency.MainActor(unsafe) public var isKeyboardShowing: Swift.Bool - @objc @_Concurrency.MainActor(unsafe) public var messageInputViewBottomConstraint: UIKit.NSLayoutConstraint! + @objc @_Concurrency.MainActor(unsafe) public var messageInputViewBottomConstraint: UIKit.NSLayoutConstraint? @available(*, unavailable) @_Concurrency.MainActor(unsafe) @objc required dynamic public init?(coder: Foundation.NSCoder) @_Concurrency.MainActor(unsafe) @objc override dynamic public init(nibName nibNameOrNil: Swift.String?, bundle nibBundleOrNil: Foundation.Bundle?) @@ -6259,6 +6416,7 @@ extension SendbirdUIKit.SBUMessageSearchViewController { @_Concurrency.MainActor(unsafe) public init(channelURL: Swift.String, startingPoint: Swift.Int64? = nil, messageListParams: SendbirdChatSDK.MessageListParams? = nil, displaysLocalCachedListFirst: Swift.Bool) @_Concurrency.MainActor(unsafe) @objc override dynamic open func loadView() @_Concurrency.MainActor(unsafe) @objc override dynamic open func viewWillAppear(_ animated: Swift.Bool) + @_Concurrency.MainActor(unsafe) @objc override dynamic open func viewDidAppear(_ animated: Swift.Bool) @_Concurrency.MainActor(unsafe) @objc override dynamic open func viewDidLoad() @_Concurrency.MainActor(unsafe) @objc override dynamic open func viewWillDisappear(_ animated: Swift.Bool) @objc @_Concurrency.MainActor(unsafe) open func applicationWillResignActivity() @@ -6279,6 +6437,7 @@ extension SendbirdUIKit.SBUMessageSearchViewController { @objc @_Concurrency.MainActor(unsafe) open func showEmojiListModal(message: SendbirdChatSDK.BaseMessage) @objc @_Concurrency.MainActor(unsafe) public func scrollToMessage(id messageId: Swift.Int64, enablesScrollAnimation: Swift.Bool = false, enablesMessageAnimation: Swift.Bool = false) @objc @_Concurrency.MainActor(unsafe) public func updateNewMessageInfo(hidden: Swift.Bool) + @_Concurrency.MainActor(unsafe) open func openFile(_ fileData: SendbirdUIKit.SBUFileData) @objc @_Concurrency.MainActor(unsafe) open func openFile(fileMessage: SendbirdChatSDK.FileMessage) @objc @discardableResult @_Concurrency.MainActor(unsafe) public func increaseNewMessageCount() -> Swift.Bool @@ -6648,6 +6807,14 @@ extension SendbirdUIKit.SBUChatNotificationChannelModule { @objc @_Concurrency.MainActor(unsafe) public func didSelectRetry() } } +public class SBUMultipleFilesMessageCellParams : SendbirdUIKit.SBUBaseMessageCellParams { + public var multipleFilesMessage: SendbirdChatSDK.MultipleFilesMessage? { + get + } + final public let useReaction: Swift.Bool + public init(message: SendbirdChatSDK.MultipleFilesMessage, hideDateView: Swift.Bool, useMessagePosition: Swift.Bool, groupPosition: SendbirdUIKit.MessageGroupPosition = .none, receiptState: SendbirdUIKit.SBUMessageReceiptState = .none, useReaction: Swift.Bool = false, isThreadMessage: Swift.Bool = false, joinedAt: Swift.Int64 = 0, voiceFileInfo: SendbirdUIKit.SBUVoiceFileInfo? = nil) + @objc deinit +} open class SBUCreateOpenChannelModule { public static var HeaderComponent: SendbirdUIKit.SBUCreateOpenChannelModule.Header.Type public static var ProfileInputComponent: SendbirdUIKit.SBUCreateOpenChannelModule.ProfileInput.Type @@ -6675,6 +6842,7 @@ open class SBUCreateOpenChannelModule { @objc @_Concurrency.MainActor(unsafe) open func updateLayouts() @objc @_Concurrency.MainActor(unsafe) open func setupStyles() @objc @_Concurrency.MainActor(unsafe) open func updateStyles() + @objc @_Concurrency.MainActor(unsafe) open func updateStyles(needsToLayout: Swift.Bool) @objc @_Concurrency.MainActor(unsafe) open func setupNavigationBar(backgroundColor: UIKit.UIColor, shadowColor: UIKit.UIColor) @objc @_Concurrency.MainActor(unsafe) open func onClickBack() @_Concurrency.MainActor(unsafe) open func errorHandler(_ message: Swift.String?, _ code: ObjectiveC.NSInteger? = nil) @@ -6927,8 +7095,20 @@ public class SBUFeedNotificationCellParams : SendbirdUIKit.SBUBaseMessageCellPar public static func isSupportReactions() -> Swift.Bool public static func isSupportOgTag(channelType: SendbirdChatSDK.ChannelType = .group) -> Swift.Bool public static func isSupportMessageSearch() -> Swift.Bool + public static var multipleFilesMessageFileCountLimit: Swift.Int { + get + } + public static var uploadSizeLimitBytes: Swift.Int64 { + get + } + public static var uploadSizeLimitMB: Swift.Int64 { + get + } @objc deinit } +extension UIKit.NSLayoutConstraint { + @_Concurrency.MainActor(unsafe) public static func sbu_activate(baseView: UIKit.UIView, constraints: [UIKit.NSLayoutConstraint?]) +} open class SBUMessageThreadModule { public static var HeaderComponent: SendbirdUIKit.SBUMessageThreadModule.Header.Type public static var ListComponent: SendbirdUIKit.SBUMessageThreadModule.List.Type @@ -7401,6 +7581,7 @@ public protocol SBUGroupChannelModuleListDelegate : SendbirdUIKit.SBUBaseChannel func groupChannelModule(_ listComponent: SendbirdUIKit.SBUGroupChannelModule.List, didTapMoreEmojiForCell messageCell: SendbirdUIKit.SBUBaseMessageCell) func groupChannelModule(_ listComponent: SendbirdUIKit.SBUGroupChannelModule.List, didTapMentionUser user: SendbirdUIKit.SBUUser) func groupChannelModuleDidTapThreadInfoView(_ threadInfoView: SendbirdUIKit.SBUThreadInfoView) + func groupChannelModule(_ listComponent: SendbirdUIKit.SBUGroupChannelModule.List, didSelectFileAt index: Swift.Int, multipleFilesMessageCell: SendbirdUIKit.SBUMultipleFilesMessageCell, forRowAt cellIndexPath: Foundation.IndexPath) } public protocol SBUGroupChannelModuleListDataSource : SendbirdUIKit.SBUBaseChannelModuleListDataSource { func groupChannelModule(_ listComponent: SendbirdUIKit.SBUGroupChannelModule.List, highlightInfoInTableView tableView: UIKit.UITableView) -> SendbirdUIKit.SBUHighlightMessageInfo? @@ -7416,6 +7597,9 @@ extension SendbirdUIKit.SBUGroupChannelModule { @objc @_Concurrency.MainActor(unsafe) public var fileMessageCell: SendbirdUIKit.SBUBaseMessageCell? { get } + @objc @_Concurrency.MainActor(unsafe) public var multipleFilesMessageCell: SendbirdUIKit.SBUBaseMessageCell? { + get + } @objc @_Concurrency.MainActor(unsafe) public var unknownMessageCell: SendbirdUIKit.SBUBaseMessageCell? { get } @@ -7452,6 +7636,7 @@ extension SendbirdUIKit.SBUGroupChannelModule { @objc @_Concurrency.MainActor(unsafe) open func register(adminMessageCell: SendbirdUIKit.SBUBaseMessageCell, nib: UIKit.UINib? = nil) @objc @_Concurrency.MainActor(unsafe) open func register(userMessageCell: SendbirdUIKit.SBUBaseMessageCell, nib: UIKit.UINib? = nil) @objc @_Concurrency.MainActor(unsafe) open func register(fileMessageCell: SendbirdUIKit.SBUBaseMessageCell, nib: UIKit.UINib? = nil) + @objc @_Concurrency.MainActor(unsafe) open func register(multipleFilesMessageCell: SendbirdUIKit.SBUBaseMessageCell, nib: UIKit.UINib? = nil) @objc @_Concurrency.MainActor(unsafe) open func register(unknownMessageCell: SendbirdUIKit.SBUBaseMessageCell, nib: UIKit.UINib? = nil) @objc @_Concurrency.MainActor(unsafe) open func register(customMessageCell: SendbirdUIKit.SBUBaseMessageCell, nib: UIKit.UINib? = nil) @objc @_Concurrency.MainActor(unsafe) open func configureCell(_ messageCell: SendbirdUIKit.SBUBaseMessageCell, message: SendbirdChatSDK.BaseMessage, forRowAt indexPath: Foundation.IndexPath) @@ -7481,6 +7666,7 @@ extension SendbirdUIKit.SBUGroupChannelModule.List { } public protocol SBUGroupChannelModuleInputDelegate : SendbirdUIKit.SBUBaseChannelModuleInputDelegate { func groupChannelModule(_ inputComponent: SendbirdUIKit.SBUGroupChannelModule.Input, didPickFileData fileData: Foundation.Data?, fileName: Swift.String, mimeType: Swift.String, parentMessage: SendbirdChatSDK.BaseMessage?) + func groupChannelModule(_ inputComponent: SendbirdUIKit.SBUGroupChannelModule.Input, didPickMultipleFiles fileInfoList: [SendbirdChatSDK.UploadableFileInfo]?, parentMessage: SendbirdChatSDK.BaseMessage?) func groupChannelModule(_ inputComponent: SendbirdUIKit.SBUGroupChannelModule.Input, didTapSend text: Swift.String, mentionedMessageTemplate: Swift.String, mentionedUserIds: [Swift.String], parentMessage: SendbirdChatSDK.BaseMessage?) func groupChannelModule(_ inputComponent: SendbirdUIKit.SBUGroupChannelModule.Input, didTapEdit text: Swift.String, mentionedMessageTemplate: Swift.String, mentionedUserIds: [Swift.String]) func groupChannelModule(_ inputComponent: SendbirdUIKit.SBUGroupChannelModule.Input, willChangeMode mode: SendbirdUIKit.SBUMessageInputMode, message: SendbirdChatSDK.BaseMessage?, mentionedMessageTemplate: Swift.String, mentionedUserIds: [Swift.String]) @@ -7514,6 +7700,8 @@ extension SendbirdUIKit.SBUGroupChannelModule { @_Concurrency.MainActor(unsafe) @objc override open func setupLayouts() @_Concurrency.MainActor(unsafe) @objc override open func pickImageFile(info: [UIKit.UIImagePickerController.InfoKey : Any]) @_Concurrency.MainActor(unsafe) @objc override open func pickVideoFile(info: [UIKit.UIImagePickerController.InfoKey : Any]) + @objc @available(iOS 14.0, *) + @_Concurrency.MainActor(unsafe) open func pickMultipleImageFiles(itemProviders: [Foundation.NSItemProvider]) @available(iOS 14.0, *) @_Concurrency.MainActor(unsafe) @objc override open func pickImageFile(itemProvider: Foundation.NSItemProvider) @available(iOS 14.0, *) @@ -7744,6 +7932,27 @@ public enum SBUIconSetType : Swift.String, Swift.Hashable { case iconPause case iconRecording case iconStop + public struct Metric { + public static let defaultIconSizeVerySmall: CoreFoundation.CGSize + public static let defaultIconSizeSmall: CoreFoundation.CGSize + public static let defaultIconSizeMedium: CoreFoundation.CGSize + public static let defaultIconSize: CoreFoundation.CGSize + public static let defaultIconSizeLarge: CoreFoundation.CGSize + public static let defaultIconSizeVeryLarge: CoreFoundation.CGSize + public static let quotedMessageIconSize: CoreFoundation.CGSize + public static let iconActionSheetItem: CoreFoundation.CGSize + public static let iconEmojiSmall: CoreFoundation.CGSize + public static let iconEmojiLarge: CoreFoundation.CGSize + public static let iconEmptyView: CoreFoundation.CGSize + public static let iconGifPlay: CoreFoundation.CGSize + public static let iconSpinnerLarge: CoreFoundation.CGSize + public static let iconSpinnerSizeForTemplate: CoreFoundation.CGSize + public static let iconUserProfile: CoreFoundation.CGSize + public static let iconUserProfileInChat: CoreFoundation.CGSize + public static let iconChevronDown: CoreFoundation.CGSize + public static let iconVoiceMessageSize: CoreFoundation.CGSize + } + public func image(with tintColor: UIKit.UIColor? = nil, to size: CoreFoundation.CGSize, tintAndResize: Swift.Bool = true) -> UIKit.UIImage public init?(rawValue: Swift.String) public typealias RawValue = Swift.String public var rawValue: Swift.String { @@ -7934,28 +8143,6 @@ open class SBUInviteUserModule { required public init(headerComponent: SendbirdUIKit.SBUInviteUserModule.Header? = nil, listComponent: SendbirdUIKit.SBUInviteUserModule.List? = nil) @objc deinit } -@objc @_hasMissingDesignatedInitializers @_Concurrency.MainActor(unsafe) public class SBUPaddingLabel : UIKit.UILabel { - @_Concurrency.MainActor(unsafe) public var top: CoreFoundation.CGFloat { - get - } - @_Concurrency.MainActor(unsafe) public var bottom: CoreFoundation.CGFloat { - get - } - @_Concurrency.MainActor(unsafe) public var leading: CoreFoundation.CGFloat { - get - } - @_Concurrency.MainActor(unsafe) public var trailing: CoreFoundation.CGFloat { - get - } - @_Concurrency.MainActor(unsafe) convenience public init(_ all: CoreFoundation.CGFloat) - @_Concurrency.MainActor(unsafe) convenience public init(_ vertical: CoreFoundation.CGFloat, _ horizontal: CoreFoundation.CGFloat) - @_Concurrency.MainActor(unsafe) public init(_ top: CoreFoundation.CGFloat = 0, _ bottom: CoreFoundation.CGFloat = 0, _ leading: CoreFoundation.CGFloat = 0, _ trailing: CoreFoundation.CGFloat = 0) - @_Concurrency.MainActor(unsafe) @objc override dynamic public func drawText(in rect: CoreFoundation.CGRect) - @_Concurrency.MainActor(unsafe) @objc override dynamic public var intrinsicContentSize: CoreFoundation.CGSize { - @objc get - } - @objc deinit -} @objc @_inheritsConvenienceInitializers @IBDesignable @_Concurrency.MainActor(unsafe) open class SBUUserMessageCell : SendbirdUIKit.SBUContentBaseMessageCell, SendbirdUIKit.SBUUserMessageTextViewDelegate { @objc @_Concurrency.MainActor(unsafe) public var messageTextView: UIKit.UIView { @objc get @@ -8309,6 +8496,7 @@ public protocol SBUMessageThreadViewControllerDelegate : AnyObject { @_Concurrency.MainActor(unsafe) @objc override dynamic open func viewWillAppear(_ animated: Swift.Bool) @_Concurrency.MainActor(unsafe) @objc override dynamic open func viewDidLoad() @_Concurrency.MainActor(unsafe) @objc override dynamic open func viewWillDisappear(_ animated: Swift.Bool) + @_Concurrency.MainActor(unsafe) @objc override dynamic open func viewWillTransition(to size: CoreFoundation.CGSize, with coordinator: UIKit.UIViewControllerTransitionCoordinator) @_Concurrency.MainActor(unsafe) @objc override open func applicationWillResignActivity() @_Concurrency.MainActor(unsafe) @objc override open func willPresentSubview() @objc deinit @@ -8316,11 +8504,14 @@ public protocol SBUMessageThreadViewControllerDelegate : AnyObject { @_Concurrency.MainActor(unsafe) @objc override open func setupViews() @_Concurrency.MainActor(unsafe) @objc override open func setupLayouts() @_Concurrency.MainActor(unsafe) @objc override open func setupStyles() + @_Concurrency.MainActor(unsafe) @objc override open func updateStyles(needsToLayout: Swift.Bool) @_Concurrency.MainActor(unsafe) @objc override open func updateStyles() @objc @_Concurrency.MainActor(unsafe) public func moveToParentMessage() @discardableResult @_Concurrency.MainActor(unsafe) @objc override public func increaseNewMessageCount() -> Swift.Bool @_Concurrency.MainActor(unsafe) @objc override public func updateChannelTitle() + @available(iOS 14, *) + @_Concurrency.MainActor(unsafe) override open func picker(_ picker: PhotosUI.PHPickerViewController, didFinishPicking results: [PhotosUI.PHPickerResult]) @_Concurrency.MainActor(unsafe) @objc override open func showVoiceMessageInput() @_Concurrency.MainActor(unsafe) @objc override open func dismissVoiceMessageInput() @_Concurrency.MainActor(unsafe) @objc override open func resetVoiceMessageInput(for resignActivity: Swift.Bool = false) @@ -8328,6 +8519,7 @@ public protocol SBUMessageThreadViewControllerDelegate : AnyObject { @objc @_Concurrency.MainActor(unsafe) open func messageThreadViewModel(_ viewModel: SendbirdUIKit.SBUMessageThreadViewModel, didLoadParentMessage parentMessage: SendbirdChatSDK.BaseMessage?) @objc @_Concurrency.MainActor(unsafe) public func messageThreadViewModel(_ viewModel: SendbirdUIKit.SBUMessageThreadViewModel, didUpdateParentMessage parentMessage: SendbirdChatSDK.BaseMessage?) @objc @_Concurrency.MainActor(unsafe) open func messageThreadViewModelShouldDismissMessageThread(_ viewModel: SendbirdUIKit.SBUMessageThreadViewModel) + @objc @_Concurrency.MainActor(unsafe) public func messageThreadViewModel(_ viewModel: SendbirdUIKit.SBUMessageThreadViewModel, didFinishUploadingFileAt index: Swift.Int, multipleFilesMessageRequestId requestId: Swift.String) @_Concurrency.MainActor(unsafe) @objc override open func baseChannelModule(_ headerComponent: SendbirdUIKit.SBUBaseChannelModule.Header, didUpdateTitleView titleView: UIKit.UIView?) @_Concurrency.MainActor(unsafe) @objc override open func baseChannelModule(_ headerComponent: SendbirdUIKit.SBUBaseChannelModule.Header, didTapTitleView titleView: UIKit.UIView?) @_Concurrency.MainActor(unsafe) @objc override open func baseChannelModule(_ headerComponent: SendbirdUIKit.SBUBaseChannelModule.Header, didTapLeftItem leftItem: UIKit.UIBarButtonItem) @@ -8335,11 +8527,14 @@ public protocol SBUMessageThreadViewControllerDelegate : AnyObject { @objc @_Concurrency.MainActor(unsafe) open func messageThreadModule(_ listComponent: SendbirdUIKit.SBUMessageThreadModule.List, didLongTapEmoji emojiKey: Swift.String, messageCell: SendbirdUIKit.SBUBaseMessageCell) @objc @_Concurrency.MainActor(unsafe) open func messageThreadModule(_ listComponent: SendbirdUIKit.SBUMessageThreadModule.List, didTapMoreEmojiForCell messageCell: SendbirdUIKit.SBUBaseMessageCell) @objc @_Concurrency.MainActor(unsafe) open func messageThreadModule(_ listComponent: SendbirdUIKit.SBUMessageThreadModule.List, didTapMentionUser user: SendbirdUIKit.SBUUser) + @objc @_Concurrency.MainActor(unsafe) public func messageThreadModule(_ listComponent: SendbirdUIKit.SBUMessageThreadModule.List, didSelectFileAt index: Swift.Int, multipleFilesMessageCell: SendbirdUIKit.SBUMultipleFilesMessageCell, forRowAt cellIndexPath: Foundation.IndexPath) + @objc @_Concurrency.MainActor(unsafe) public func messageThreadModule(_ listComponent: SendbirdUIKit.SBUMessageThreadModule.List, uploadedFileInfo: SendbirdChatSDK.UploadedFileInfo, message: SendbirdChatSDK.MultipleFilesMessage, index: Swift.Int) @_Concurrency.MainActor(unsafe) @objc override open func baseChannelModule(_ listComponent: SendbirdUIKit.SBUBaseChannelModule.List, didScroll scrollView: UIKit.UIScrollView) @_Concurrency.MainActor(unsafe) @objc override open func baseChannelModule(_ listComponent: SendbirdUIKit.SBUBaseChannelModule.List, didTapVoiceMessage fileMessage: SendbirdChatSDK.FileMessage, cell: UIKit.UITableViewCell, forRowAt indexPath: Foundation.IndexPath) @_Concurrency.MainActor(unsafe) @objc override open func baseChannelModule(_ listComponent: SendbirdUIKit.SBUBaseChannelModule.List, willDisplay cell: UIKit.UITableViewCell, forRowAt indexPath: Foundation.IndexPath) @_Concurrency.MainActor(unsafe) @objc override open func baseChannelModule(_ inputComponent: SendbirdUIKit.SBUBaseChannelModule.Input, didUpdateFrozenState isFrozen: Swift.Bool) @objc @_Concurrency.MainActor(unsafe) open func messageThreadModule(_ inputComponent: SendbirdUIKit.SBUMessageThreadModule.Input, didPickFileData fileData: Foundation.Data?, fileName: Swift.String, mimeType: Swift.String, parentMessage: SendbirdChatSDK.BaseMessage?) + @objc @_Concurrency.MainActor(unsafe) public func messageThreadModule(_ inputComponent: SendbirdUIKit.SBUMessageThreadModule.Input, didPickMultipleFiles fileInfoList: [SendbirdChatSDK.UploadableFileInfo], parentMessage: SendbirdChatSDK.BaseMessage) @objc @_Concurrency.MainActor(unsafe) open func messageThreadModule(_ inputComponent: SendbirdUIKit.SBUMessageThreadModule.Input, didTapSend text: Swift.String, mentionedMessageTemplate: Swift.String, mentionedUserIds: [Swift.String], parentMessage: SendbirdChatSDK.BaseMessage?) @objc @_Concurrency.MainActor(unsafe) open func messageThreadModule(_ inputComponent: SendbirdUIKit.SBUMessageThreadModule.Input, didTapEdit text: Swift.String, mentionedMessageTemplate: Swift.String, mentionedUserIds: [Swift.String]) @objc @_Concurrency.MainActor(unsafe) open func messageThreadModule(_ inputComponent: SendbirdUIKit.SBUMessageThreadModule.Input, willChangeMode mode: SendbirdUIKit.SBUMessageInputMode, message: SendbirdChatSDK.BaseMessage?, mentionedMessageTemplate: Swift.String, mentionedUserIds: [Swift.String]) @@ -8364,6 +8559,8 @@ public typealias SBUFileViewerDelegate = SendbirdUIKit.SBUFileViewControllerDele public protocol SBUFileViewControllerDelegate : AnyObject { func didSelectDeleteImage(message: SendbirdChatSDK.FileMessage) } +public struct SBUFileData { +} @objc @_Concurrency.MainActor(unsafe) open class SBUFileViewController : SendbirdUIKit.SBUBaseViewController, UIKit.UIScrollViewDelegate, SendbirdUIKit.SBUAlertViewDelegate { @objc @_Concurrency.MainActor(unsafe) public var leftBarButton: UIKit.UIBarButtonItem? { @objc get @@ -8386,7 +8583,9 @@ public protocol SBUFileViewControllerDelegate : AnyObject { @objc set } @objc @_Concurrency.MainActor(unsafe) public var bottomView: UIKit.UIView - @_Concurrency.MainActor(unsafe) required public init(fileMessage: SendbirdChatSDK.FileMessage, delegate: SendbirdUIKit.SBUFileViewControllerDelegate?) + @_Concurrency.MainActor(unsafe) required convenience public init(fileMessage: SendbirdChatSDK.FileMessage, delegate: SendbirdUIKit.SBUFileViewControllerDelegate?) + @_Concurrency.MainActor(unsafe) required public init(fileData: SendbirdUIKit.SBUFileData, delegate: SendbirdUIKit.SBUFileViewControllerDelegate?) + @available(*, unavailable, renamed: "init(params:delegate:)") @_Concurrency.MainActor(unsafe) @objc required dynamic public init?(coder: Foundation.NSCoder) @_Concurrency.MainActor(unsafe) @objc override dynamic open func viewDidLoad() @_Concurrency.MainActor(unsafe) @objc override dynamic open func viewWillAppear(_ animated: Swift.Bool) @@ -9050,7 +9249,7 @@ public class SBUMessageCellTheme { public static var overlay: SendbirdUIKit.SBUMessageCellTheme { get } - public init(backgroundColor: UIKit.UIColor = SBUColorSet.background50, leftBackgroundColor: UIKit.UIColor = SBUColorSet.background100, leftPressedBackgroundColor: UIKit.UIColor = SBUColorSet.primary100, rightBackgroundColor: UIKit.UIColor = SBUColorSet.primary300, rightPressedBackgroundColor: UIKit.UIColor = SBUColorSet.primary400, openChannelBackgroundColor: UIKit.UIColor = .clear, openChannelPressedBackgroundColor: UIKit.UIColor = SBUColorSet.background100, dateFont: UIKit.UIFont = SBUFontSet.caption1, dateTextColor: UIKit.UIColor = SBUColorSet.ondark01, dateBackgroundColor: UIKit.UIColor = SBUColorSet.overlay02, userPlaceholderBackgroundColor: UIKit.UIColor = SBUColorSet.background300, userPlaceholderTintColor: UIKit.UIColor = SBUColorSet.ondark01, userNameFont: UIKit.UIFont = SBUFontSet.caption1, userNameTextColor: UIKit.UIColor = SBUColorSet.onlight02, currentUserNameTextColor: UIKit.UIColor = SBUColorSet.secondary300, timeFont: UIKit.UIFont = SBUFontSet.caption4, timeTextColor: UIKit.UIColor = SBUColorSet.onlight03, pendingStateColor: UIKit.UIColor = SBUColorSet.primary300, failedStateColor: UIKit.UIColor = SBUColorSet.error300, succeededStateColor: UIKit.UIColor = SBUColorSet.onlight03, readReceiptStateColor: UIKit.UIColor = SBUColorSet.secondary300, deliveryReceiptStateColor: UIKit.UIColor = SBUColorSet.onlight03, userMessageFont: UIKit.UIFont = SBUFontSet.body3, userMessageLeftTextColor: UIKit.UIColor = SBUColorSet.onlight01, userMessageLeftEditTextColor: UIKit.UIColor = SBUColorSet.onlight02, userMessageLeftHighlightTextColor: UIKit.UIColor = SBUColorSet.onlight01, userMessageRightTextColor: UIKit.UIColor = SBUColorSet.ondark01, userMessageRightEditTextColor: UIKit.UIColor = SBUColorSet.ondark02, userMessageRightHighlightTextColor: UIKit.UIColor = SBUColorSet.onlight01, fileIconBackgroundColor: UIKit.UIColor = SBUColorSet.background50, fileImageBackgroundColor: UIKit.UIColor = SBUColorSet.ondark01, fileImageIconColor: UIKit.UIColor = SBUColorSet.onlight02, fileIconColor: UIKit.UIColor = SBUColorSet.primary300, fileMessageNameFont: UIKit.UIFont = SBUFontSet.body3, fileMessageLeftTextColor: UIKit.UIColor = SBUColorSet.onlight01, fileMessageRightTextColor: UIKit.UIColor = SBUColorSet.ondark01, fileMessagePlaceholderColor: UIKit.UIColor = SBUColorSet.onlight02, adminMessageFont: UIKit.UIFont = SBUFontSet.caption2, adminMessageTextColor: UIKit.UIColor = SBUColorSet.onlight02, unknownMessageDescFont: UIKit.UIFont = SBUFontSet.body3, unknownMessageDescLeftTextColor: UIKit.UIColor = SBUColorSet.onlight02, unknownMessageDescRightTextColor: UIKit.UIColor = SBUColorSet.ondark02, ogTitleFont: UIKit.UIFont = SBUFontSet.body2, ogTitleColor: UIKit.UIColor = SBUColorSet.onlight01, ogDescriptionFont: UIKit.UIFont = SBUFontSet.caption2, ogDescriptionColor: UIKit.UIColor = SBUColorSet.onlight01, ogURLAddressFont: UIKit.UIFont = SBUFontSet.caption2, ogURLAddressColor: UIKit.UIColor = SBUColorSet.onlight02, openChannelOGTitleColor: UIKit.UIColor = SBUColorSet.primary300, linkColor: UIKit.UIColor = SBUColorSet.primary300, contentBackgroundColor: UIKit.UIColor = SBUColorSet.background100, pressedContentBackgroundColor: UIKit.UIColor = SBUColorSet.background300, quotedMessageLeftBackgroundColor: UIKit.UIColor = SBUColorSet.background100.withAlphaComponent(0.5), quotedMessageRightBackgroundColor: UIKit.UIColor = SBUColorSet.background100, quotedFileMessageThumbnailColor: UIKit.UIColor = SBUColorSet.onlight02, quotedMessageTextColor: UIKit.UIColor = SBUColorSet.onlight03, quotedMessageTextFont: UIKit.UIFont = SBUFontSet.body3, repliedIconColor: UIKit.UIColor = SBUColorSet.onlight03, repliedToTextColor: UIKit.UIColor = SBUColorSet.onlight03, repliedToTextFont: UIKit.UIFont = SBUFontSet.caption1, repliedCountTextColor: UIKit.UIColor = SBUColorSet.primary300, repliedCountTextFont: UIKit.UIFont = SBUFontSet.caption3, repliedUsersMoreIconBackgroundColor: UIKit.UIColor = SBUColorSet.background700.withAlphaComponent(0.64), repliedUsersMoreIconTintColor: UIKit.UIColor = SBUColorSet.ondark01, mentionTextFont: UIKit.UIFont = SBUFontSet.body4, mentionLeftTextColor: UIKit.UIColor = SBUColorSet.onlight01, mentionRightTextColor: UIKit.UIColor = SBUColorSet.ondark01, mentionLeftTextBackgroundColor: UIKit.UIColor = .clear, mentionRightTextBackgroundColor: UIKit.UIColor = .clear, buttonBackgroundColor: UIKit.UIColor = SBUColorSet.background200, buttonTitleColor: UIKit.UIColor = SBUColorSet.primary300, sideButtonIconColor: UIKit.UIColor = SBUColorSet.onlight03, newMessageBadgeColor: UIKit.UIColor = SBUColorSet.secondary300, parentInfoBackgroundColor: UIKit.UIColor = SBUColorSet.background50, parentInfoUserNameTextFont: UIKit.UIFont = SBUFontSet.h3, parentInfoUserNameTextColor: UIKit.UIColor = SBUColorSet.onlight01, parentInfoDateFont: UIKit.UIFont = SBUFontSet.caption2, parentInfoDateTextColor: UIKit.UIColor = SBUColorSet.onlight03, parentInfoMoreButtonTintColor: UIKit.UIColor = SBUColorSet.onlight02, parentInfoSeparateBarColor: UIKit.UIColor = SBUColorSet.onlight04, parentInfoReplyCountTextColor: UIKit.UIColor = SBUColorSet.onlight03, parentInfoReplyCountTextFont: UIKit.UIFont = SBUFontSet.body3, parentInfoProgressBackgroundColor: UIKit.UIColor = SBUColorSet.background100, progressTrackTintColor: UIKit.UIColor = SBUColorSet.onlight03, progressTimeFont: UIKit.UIFont = SBUFontSet.body3, progressTimeRightTextColor: UIKit.UIColor = SBUColorSet.ondark01, progressTimeLeftTextColor: UIKit.UIColor = SBUColorSet.onlight01, statusButtonBackgroundColor: UIKit.UIColor = SBUColorSet.background50, loadingButtonTintColor: UIKit.UIColor = SBUColorSet.primary200, playButtonTintColor: UIKit.UIColor = SBUColorSet.primary300, pauseButtonTintColor: UIKit.UIColor = SBUColorSet.primary300) + public init(backgroundColor: UIKit.UIColor = SBUColorSet.background50, leftBackgroundColor: UIKit.UIColor = SBUColorSet.background100, leftPressedBackgroundColor: UIKit.UIColor = SBUColorSet.primary100, rightBackgroundColor: UIKit.UIColor = SBUColorSet.primary300, rightPressedBackgroundColor: UIKit.UIColor = SBUColorSet.primary400, openChannelBackgroundColor: UIKit.UIColor = .clear, openChannelPressedBackgroundColor: UIKit.UIColor = SBUColorSet.background100, dateFont: UIKit.UIFont = SBUFontSet.caption1, dateTextColor: UIKit.UIColor = SBUColorSet.ondark01, dateBackgroundColor: UIKit.UIColor = SBUColorSet.overlay02, userPlaceholderBackgroundColor: UIKit.UIColor = SBUColorSet.background300, userPlaceholderTintColor: UIKit.UIColor = SBUColorSet.ondark01, userNameFont: UIKit.UIFont = SBUFontSet.caption1, userNameTextColor: UIKit.UIColor = SBUColorSet.onlight02, currentUserNameTextColor: UIKit.UIColor = SBUColorSet.secondary300, timeFont: UIKit.UIFont = SBUFontSet.caption4, timeTextColor: UIKit.UIColor = SBUColorSet.onlight03, pendingStateColor: UIKit.UIColor = SBUColorSet.primary300, failedStateColor: UIKit.UIColor = SBUColorSet.error300, succeededStateColor: UIKit.UIColor = SBUColorSet.onlight03, readReceiptStateColor: UIKit.UIColor = SBUColorSet.secondary300, deliveryReceiptStateColor: UIKit.UIColor = SBUColorSet.onlight03, userMessageFont: UIKit.UIFont = SBUFontSet.body3, userMessageLeftTextColor: UIKit.UIColor = SBUColorSet.onlight01, userMessageLeftEditTextColor: UIKit.UIColor = SBUColorSet.onlight02, userMessageLeftHighlightTextColor: UIKit.UIColor = SBUColorSet.onlight01, userMessageRightTextColor: UIKit.UIColor = SBUColorSet.ondark01, userMessageRightEditTextColor: UIKit.UIColor = SBUColorSet.ondark02, userMessageRightHighlightTextColor: UIKit.UIColor = SBUColorSet.onlight01, fileIconBackgroundColor: UIKit.UIColor = SBUColorSet.background50, fileImageBackgroundColor: UIKit.UIColor = SBUColorSet.ondark01, fileImageIconColor: UIKit.UIColor = SBUColorSet.onlight02, fileIconColor: UIKit.UIColor = SBUColorSet.primary300, fileMessageNameFont: UIKit.UIFont = SBUFontSet.body3, fileMessageLeftTextColor: UIKit.UIColor = SBUColorSet.onlight01, fileMessageRightTextColor: UIKit.UIColor = SBUColorSet.ondark01, fileMessagePlaceholderColor: UIKit.UIColor = SBUColorSet.onlight02, adminMessageFont: UIKit.UIFont = SBUFontSet.caption2, adminMessageTextColor: UIKit.UIColor = SBUColorSet.onlight02, unknownMessageDescFont: UIKit.UIFont = SBUFontSet.body3, unknownMessageDescLeftTextColor: UIKit.UIColor = SBUColorSet.onlight02, unknownMessageDescRightTextColor: UIKit.UIColor = SBUColorSet.ondark02, ogTitleFont: UIKit.UIFont = SBUFontSet.body2, ogTitleColor: UIKit.UIColor = SBUColorSet.onlight01, ogDescriptionFont: UIKit.UIFont = SBUFontSet.caption2, ogDescriptionColor: UIKit.UIColor = SBUColorSet.onlight01, ogURLAddressFont: UIKit.UIFont = SBUFontSet.caption2, ogURLAddressColor: UIKit.UIColor = SBUColorSet.onlight02, openChannelOGTitleColor: UIKit.UIColor = SBUColorSet.primary300, linkColor: UIKit.UIColor = SBUColorSet.primary300, contentBackgroundColor: UIKit.UIColor = SBUColorSet.background100, pressedContentBackgroundColor: UIKit.UIColor = SBUColorSet.background300, quotedMessageLeftBackgroundColor: UIKit.UIColor = SBUColorSet.background100.withAlphaComponent(0.5), quotedMessageRightBackgroundColor: UIKit.UIColor = SBUColorSet.background100, quotedFileMessageThumbnailColor: UIKit.UIColor = SBUColorSet.onlight02, quotedMessageTextColor: UIKit.UIColor = SBUColorSet.onlight03, quotedMessageTextFont: UIKit.UIFont = SBUFontSet.body3, repliedIconColor: UIKit.UIColor = SBUColorSet.onlight03, repliedToTextColor: UIKit.UIColor = SBUColorSet.onlight03, repliedToTextFont: UIKit.UIFont = SBUFontSet.caption1, repliedCountTextColor: UIKit.UIColor = SBUColorSet.primary300, repliedCountTextFont: UIKit.UIFont = SBUFontSet.caption3, repliedUsersMoreIconBackgroundColor: UIKit.UIColor = SBUColorSet.background700.withAlphaComponent(0.64), repliedUsersMoreIconTintColor: UIKit.UIColor = SBUColorSet.ondark01, mentionTextFont: UIKit.UIFont = SBUFontSet.body4, mentionLeftTextColor: UIKit.UIColor = SBUColorSet.onlight01, mentionRightTextColor: UIKit.UIColor = SBUColorSet.ondark01, mentionLeftTextBackgroundColor: UIKit.UIColor = .clear, mentionRightTextBackgroundColor: UIKit.UIColor = .clear, buttonBackgroundColor: UIKit.UIColor = SBUColorSet.background200, buttonTitleColor: UIKit.UIColor = SBUColorSet.primary300, sideButtonIconColor: UIKit.UIColor = SBUColorSet.onlight03, newMessageBadgeColor: UIKit.UIColor = SBUColorSet.secondary300, parentInfoBackgroundColor: UIKit.UIColor = SBUColorSet.background50, parentInfoUserNameTextFont: UIKit.UIFont = SBUFontSet.h3, parentInfoUserNameTextColor: UIKit.UIColor = SBUColorSet.onlight01, parentInfoDateFont: UIKit.UIFont = SBUFontSet.caption2, parentInfoDateTextColor: UIKit.UIColor = SBUColorSet.onlight03, parentInfoMoreButtonTintColor: UIKit.UIColor = SBUColorSet.onlight02, parentInfoSeparateBarColor: UIKit.UIColor = SBUColorSet.onlight04, parentInfoReplyCountTextColor: UIKit.UIColor = SBUColorSet.onlight03, parentInfoReplyCountTextFont: UIKit.UIFont = SBUFontSet.body3, parentInfoProgressBackgroundColor: UIKit.UIColor = SBUColorSet.background100, progressTrackTintColor: UIKit.UIColor = SBUColorSet.onlight03, progressTimeFont: UIKit.UIFont = SBUFontSet.body3, progressTimeRightTextColor: UIKit.UIColor = SBUColorSet.ondark01, progressTimeLeftTextColor: UIKit.UIColor = SBUColorSet.onlight01, statusButtonBackgroundColor: UIKit.UIColor = SBUColorSet.background50, loadingButtonTintColor: UIKit.UIColor = SBUColorSet.primary200, playButtonTintColor: UIKit.UIColor = SBUColorSet.primary300, pauseButtonTintColor: UIKit.UIColor = SBUColorSet.primary300, multipleFilesMessageFileOverlayColor: UIKit.UIColor = SBUColorSet.overlay02) public var backgroundColor: UIKit.UIColor public var leftBackgroundColor: UIKit.UIColor public var leftPressedBackgroundColor: UIKit.UIColor @@ -9088,6 +9287,7 @@ public class SBUMessageCellTheme { public var fileMessageLeftTextColor: UIKit.UIColor public var fileMessageRightTextColor: UIKit.UIColor public var fileMessagePlaceholderColor: UIKit.UIColor + public var multipleFilesMessageFileOverlayColor: UIKit.UIColor public var adminMessageFont: UIKit.UIFont public var adminMessageTextColor: UIKit.UIColor public var unknownMessageDescFont: UIKit.UIFont @@ -9488,8 +9688,8 @@ public class SBUMessageTemplateTheme { @objc @_inheritsConvenienceInitializers @_Concurrency.MainActor(unsafe) open class SBUImageContentView : SendbirdUIKit.SBUBaseFileContentView { @_Concurrency.MainActor(unsafe) public var imageView: UIKit.UIImageView @_Concurrency.MainActor(unsafe) public var iconImageView: UIKit.UIImageView - @_Concurrency.MainActor(unsafe) public var widthConstraint: UIKit.NSLayoutConstraint! - @_Concurrency.MainActor(unsafe) public var heightConstraint: UIKit.NSLayoutConstraint! + @_Concurrency.MainActor(unsafe) public var widthConstraint: UIKit.NSLayoutConstraint? + @_Concurrency.MainActor(unsafe) public var heightConstraint: UIKit.NSLayoutConstraint? @_Concurrency.MainActor(unsafe) @objc override dynamic open func setupViews() @_Concurrency.MainActor(unsafe) @objc override dynamic open func setupLayouts() @_Concurrency.MainActor(unsafe) open func setupSizeContraint() @@ -9578,14 +9778,16 @@ public protocol SBUUserMessageTextViewDelegate : AnyObject { @_Concurrency.MainActor(unsafe) public var textView: SendbirdUIKit.SBULinkClickableTextView @_Concurrency.MainActor(unsafe) public var channelType: SendbirdChatSDK.ChannelType @_Concurrency.MainActor(unsafe) public var isWebType: Swift.Bool - @_Concurrency.MainActor(unsafe) public var textLeftConstraint: UIKit.NSLayoutConstraint! - @_Concurrency.MainActor(unsafe) public var textRightConstraint: UIKit.NSLayoutConstraint! @_Concurrency.MainActor(unsafe) public var mentionManager: SendbirdUIKit.SBUMentionManager? @_Concurrency.MainActor(unsafe) public var removeMargin: Swift.Bool @_Concurrency.MainActor(unsafe) public var needsToRemoveMargin: Swift.Bool { get } @_Concurrency.MainActor(unsafe) weak public var delegate: SendbirdUIKit.SBUUserMessageTextViewDelegate? + @_Concurrency.MainActor(unsafe) public var textTopConstraint: UIKit.NSLayoutConstraint? + @_Concurrency.MainActor(unsafe) public var textBottomConstraint: UIKit.NSLayoutConstraint? + @_Concurrency.MainActor(unsafe) public var textLeftConstraint: UIKit.NSLayoutConstraint? + @_Concurrency.MainActor(unsafe) public var textRightConstraint: UIKit.NSLayoutConstraint? @_Concurrency.MainActor(unsafe) @objc override dynamic public init() @_Concurrency.MainActor(unsafe) @objc override dynamic public init(frame: CoreFoundation.CGRect) @_Concurrency.MainActor(unsafe) public init(channelType: SendbirdChatSDK.ChannelType = .group, removeMargin: Swift.Bool = false) @@ -9959,6 +10161,7 @@ public protocol SBUMessageThreadViewModelDelegate : SendbirdUIKit.SBUBaseChannel func messageThreadViewModel(_ viewModel: SendbirdUIKit.SBUMessageThreadViewModel, didLoadParentMessage parentMessage: SendbirdChatSDK.BaseMessage?) func messageThreadViewModel(_ viewModel: SendbirdUIKit.SBUMessageThreadViewModel, didUpdateParentMessage parentMessage: SendbirdChatSDK.BaseMessage?) func messageThreadViewModelShouldDismissMessageThread(_ viewModel: SendbirdUIKit.SBUMessageThreadViewModel) + func messageThreadViewModel(_ viewModel: SendbirdUIKit.SBUMessageThreadViewModel, didFinishUploadingFileAt index: Swift.Int, multipleFilesMessageRequestId requestId: Swift.String) } @objc open class SBUMessageThreadViewModel : SendbirdUIKit.SBUBaseChannelViewModel { weak public var delegate: SendbirdUIKit.SBUMessageThreadViewModelDelegate? { @@ -9975,6 +10178,7 @@ public protocol SBUMessageThreadViewModelDelegate : SendbirdUIKit.SBUBaseChannel public var threadedMessageListParams: SendbirdChatSDK.ThreadedMessageListParams { get } + public var sendMultipleFilesMessageCompletionHandler: SendbirdChatSDK.MultipleFilesMessageHandler? public init(channel: SendbirdChatSDK.BaseChannel? = nil, channelURL: Swift.String? = nil, parentMessage: SendbirdChatSDK.BaseMessage? = nil, parentMessageId: Swift.Int64? = 0, threadedMessageListParams: SendbirdChatSDK.ThreadedMessageListParams? = nil, startingPoint: Swift.Int64? = .max, delegate: SendbirdUIKit.SBUMessageThreadViewModelDelegate? = nil, dataSource: SendbirdUIKit.SBUMessageThreadViewModelDataSource? = nil) @objc deinit public func loadChannelAndMessages(channelURL: Swift.String?) @@ -9987,6 +10191,8 @@ public protocol SBUMessageThreadViewModelDelegate : SendbirdUIKit.SBUBaseChannel public func loadPrevMessages(timestamp: Swift.Int64?) override public func loadNextMessages() public func loadBothMessages(timestamp: Swift.Int64?, showIndicator: Swift.Bool) + public func sendMultipleFilesMessage(fileInfoList: [SendbirdChatSDK.UploadableFileInfo], parentMessageId: Swift.Int64) + public func updateMultipleFilesMessageCell(requestId: Swift.String, index: Swift.Int) open func setupSendUserMessageCompletionHandlers() open func setupSendFileMessageCompletionHandlers() override public func sortAllMessageList(needReload: Swift.Bool) @@ -10026,6 +10232,37 @@ extension SendbirdUIKit.SBUMessageThreadViewModel : SendbirdChatSDK.MessageColle @objc dynamic open func messageCollection(_ collection: SendbirdChatSDK.MessageCollection, context: SendbirdChatSDK.MessageContext, updatedChannel channel: SendbirdChatSDK.GroupChannel) @objc dynamic open func messageCollection(_ collection: SendbirdChatSDK.MessageCollection, context: SendbirdChatSDK.MessageContext, deletedChannel channelURL: Swift.String) } +@objc @_inheritsConvenienceInitializers @_Concurrency.MainActor(unsafe) open class SBUMultipleFilesMessageCell : SendbirdUIKit.SBUContentBaseMessageCell, UIKit.UICollectionViewDelegate, UIKit.UICollectionViewDataSource { + @objc @_Concurrency.MainActor(unsafe) public var multipleFilesMessage: SendbirdChatSDK.MultipleFilesMessage? { + @objc get + } + @objc @_Concurrency.MainActor(unsafe) public var containerView: UIKit.UIView + @objc @_Concurrency.MainActor(unsafe) public var collectionView: SendbirdUIKit.SBUMultipleFilesMessageCollectionView { + @objc get + @objc set + } + @objc @_Concurrency.MainActor(unsafe) public var collectionViewHeightConstraint: UIKit.NSLayoutConstraint! { + get + } + @objc @_Concurrency.MainActor(unsafe) public var fileSelectHandler: ((_ fileInfo: SendbirdChatSDK.UploadedFileInfo, _ index: Swift.Int) -> Swift.Void)? + @_Concurrency.MainActor(unsafe) @objc override dynamic open func setupViews() + @_Concurrency.MainActor(unsafe) @objc override dynamic open func setupLayouts() + @_Concurrency.MainActor(unsafe) @objc override dynamic open func setupStyles() + @_Concurrency.MainActor(unsafe) @objc override dynamic open func setupActions() + @_Concurrency.MainActor(unsafe) override open func configure(with configuration: SendbirdUIKit.SBUBaseMessageCellParams) + @_Concurrency.MainActor(unsafe) @objc override dynamic open func setSelected(_ selected: Swift.Bool, animated: Swift.Bool) + @_Concurrency.MainActor(unsafe) @objc override dynamic public init(style: UIKit.UITableViewCell.CellStyle, reuseIdentifier: Swift.String?) + @_Concurrency.MainActor(unsafe) @objc required dynamic public init?(coder: Foundation.NSCoder) + @objc deinit +} +extension SendbirdUIKit.SBUMultipleFilesMessageCell : UIKit.UICollectionViewDelegateFlowLayout { + @_Concurrency.MainActor(unsafe) @objc dynamic open func collectionView(_ collectionView: UIKit.UICollectionView, cellForItemAt indexPath: Foundation.IndexPath) -> UIKit.UICollectionViewCell + @_Concurrency.MainActor(unsafe) @objc dynamic open func collectionView(_ collectionView: UIKit.UICollectionView, numberOfItemsInSection section: Swift.Int) -> Swift.Int + @_Concurrency.MainActor(unsafe) @objc dynamic open func numberOfSections(in collectionView: UIKit.UICollectionView) -> Swift.Int + @_Concurrency.MainActor(unsafe) @objc dynamic open func collectionView(_ collectionView: UIKit.UICollectionView, didSelectItemAt indexPath: Foundation.IndexPath) + @_Concurrency.MainActor(unsafe) @objc dynamic open func collectionView(_ collectionView: UIKit.UICollectionView, layout collectionViewLayout: UIKit.UICollectionViewLayout, sizeForItemAt indexPath: Foundation.IndexPath) -> CoreFoundation.CGSize + @_Concurrency.MainActor(unsafe) @objc override dynamic open func prepareForReuse() +} public protocol SBUUserListModuleHeaderDelegate : SendbirdUIKit.SBUCommonDelegate { func userListModule(_ headerComponent: SendbirdUIKit.SBUUserListModule.Header, didUpdateTitleView titleView: UIKit.UIView?) func userListModule(_ headerComponent: SendbirdUIKit.SBUUserListModule.Header, didUpdateLeftItem leftItem: UIKit.UIBarButtonItem?) @@ -10212,6 +10449,7 @@ public protocol SBUGroupChannelViewModelDataSource : SendbirdUIKit.SBUBaseChanne } public protocol SBUGroupChannelViewModelDelegate : SendbirdUIKit.SBUBaseChannelViewModelDelegate { func groupChannelViewModel(_ viewModel: SendbirdUIKit.SBUGroupChannelViewModel, didReceiveSuggestedMentions members: [SendbirdUIKit.SBUUser]?) + func groupChannelViewModel(_ viewModel: SendbirdUIKit.SBUGroupChannelViewModel, didFinishUploadingFileAt index: Swift.Int, multipleFilesMessageRequestId requestId: Swift.String) } @objc open class SBUGroupChannelViewModel : SendbirdUIKit.SBUBaseChannelViewModel { weak public var delegate: SendbirdUIKit.SBUGroupChannelViewModelDelegate? { @@ -10222,10 +10460,13 @@ public protocol SBUGroupChannelViewModelDelegate : SendbirdUIKit.SBUBaseChannelV get set } + public var sendMultipleFilesMessageCompletionHandler: SendbirdChatSDK.MultipleFilesMessageHandler? public init(channel: SendbirdChatSDK.BaseChannel? = nil, channelURL: Swift.String? = nil, messageListParams: SendbirdChatSDK.MessageListParams? = nil, startingPoint: Swift.Int64? = .max, delegate: SendbirdUIKit.SBUGroupChannelViewModelDelegate? = nil, dataSource: SendbirdUIKit.SBUGroupChannelViewModelDataSource? = nil, displaysLocalCachedListFirst: Swift.Bool = false) @objc deinit override public func loadChannel(channelURL: Swift.String, messageListParams: SendbirdChatSDK.MessageListParams? = nil, completionHandler: ((SendbirdChatSDK.BaseChannel?, SendbirdChatSDK.SBError?) -> Swift.Void)? = nil) override public func refreshChannel() + open func sendMultipleFilesMessage(fileInfoList: [SendbirdChatSDK.UploadableFileInfo]) + open func updateMultipleFilesMessageCell(requestId: Swift.String, index: Swift.Int) override public func loadInitialMessages(startingPoint: Swift.Int64?, showIndicator: Swift.Bool, initialMessages: [SendbirdChatSDK.BaseMessage]?) override public func loadPrevMessages() override public func loadNextMessages() diff --git a/Framework/SendbirdUIKit.xcframework/ios-arm64_x86_64-simulator/SendbirdUIKit.framework/Modules/SendbirdUIKit.swiftmodule/arm64-apple-ios-simulator.swiftdoc b/Framework/SendbirdUIKit.xcframework/ios-arm64_x86_64-simulator/SendbirdUIKit.framework/Modules/SendbirdUIKit.swiftmodule/arm64-apple-ios-simulator.swiftdoc index 68f3b281b..fdcc05699 100644 Binary files a/Framework/SendbirdUIKit.xcframework/ios-arm64_x86_64-simulator/SendbirdUIKit.framework/Modules/SendbirdUIKit.swiftmodule/arm64-apple-ios-simulator.swiftdoc and b/Framework/SendbirdUIKit.xcframework/ios-arm64_x86_64-simulator/SendbirdUIKit.framework/Modules/SendbirdUIKit.swiftmodule/arm64-apple-ios-simulator.swiftdoc differ diff --git a/Framework/SendbirdUIKit.xcframework/ios-arm64_x86_64-simulator/SendbirdUIKit.framework/Modules/SendbirdUIKit.swiftmodule/arm64-apple-ios-simulator.swiftinterface b/Framework/SendbirdUIKit.xcframework/ios-arm64_x86_64-simulator/SendbirdUIKit.framework/Modules/SendbirdUIKit.swiftmodule/arm64-apple-ios-simulator.swiftinterface index e36afa89c..b94a55f79 100644 --- a/Framework/SendbirdUIKit.xcframework/ios-arm64_x86_64-simulator/SendbirdUIKit.framework/Modules/SendbirdUIKit.swiftmodule/arm64-apple-ios-simulator.swiftinterface +++ b/Framework/SendbirdUIKit.xcframework/ios-arm64_x86_64-simulator/SendbirdUIKit.framework/Modules/SendbirdUIKit.swiftmodule/arm64-apple-ios-simulator.swiftinterface @@ -155,7 +155,7 @@ extension SendbirdUIKit.SBUBaseChannelModule { @_Concurrency.MainActor(unsafe) open func updateStyles(theme: SendbirdUIKit.SBUChannelTheme? = nil, componentTheme: SendbirdUIKit.SBUComponentTheme = SBUTheme.componentTheme) @_Concurrency.MainActor(unsafe) public func setupScrollBottomViewStyle(scrollBottomView: UIKit.UIView, theme: SendbirdUIKit.SBUComponentTheme = SBUTheme.componentTheme) @objc @_Concurrency.MainActor(unsafe) open func setScrollBottomView(hidden: Swift.Bool) - @objc @_Concurrency.MainActor(unsafe) public func reloadTableView() + @objc @_Concurrency.MainActor(unsafe) public func reloadTableView(needsToLayout: Swift.Bool = true) @_Concurrency.MainActor(unsafe) public func updateEmptyView(type: SendbirdUIKit.EmptyViewType) @objc @_Concurrency.MainActor(unsafe) open func showMessageMenu(on message: SendbirdChatSDK.BaseMessage, forRowAt indexPath: Foundation.IndexPath) @objc @_Concurrency.MainActor(unsafe) open func showFailedMessageMenu(on message: SendbirdChatSDK.BaseMessage) @@ -341,6 +341,7 @@ public protocol SBUMessageThreadModuleInputDelegate : SendbirdUIKit.SBUBaseChann func messageThreadModule(_ inputComponent: SendbirdUIKit.SBUMessageThreadModule.Input, shouldLoadSuggestedMentions filterText: Swift.String) func messageThreadModuleShouldStopSuggestingMention(_ inputComponent: SendbirdUIKit.SBUMessageThreadModule.Input) func messageThreadModuleDidTapVoiceMessage(_ inputComponent: SendbirdUIKit.SBUMessageThreadModule.Input) + func messageThreadModule(_ inputComponent: SendbirdUIKit.SBUMessageThreadModule.Input, didPickMultipleFiles fileInfoList: [SendbirdChatSDK.UploadableFileInfo], parentMessage: SendbirdChatSDK.BaseMessage) } public protocol SBUMessageThreadModuleInputDataSource : SendbirdUIKit.SBUBaseChannelModuleInputDataSource { } @@ -375,6 +376,12 @@ extension SendbirdUIKit.SBUMessageThreadModule { @_Concurrency.MainActor(unsafe) @objc override open func pickDocumentFile(documentURLs: [Foundation.URL]) @_Concurrency.MainActor(unsafe) @objc override open func pickImageData(_ data: Foundation.Data, fileName: Swift.String? = nil, mimeType: Swift.String? = nil) @_Concurrency.MainActor(unsafe) @objc override open func pickVideoURL(_ url: Foundation.URL) + @objc @available(iOS 14.0, *) + @_Concurrency.MainActor(unsafe) public func pickMultipleImageFiles(itemProviders: [Foundation.NSItemProvider]) + @available(iOS 14.0, *) + @_Concurrency.MainActor(unsafe) public func loadImageFile(itemProvider: Foundation.NSItemProvider, index: Swift.Int? = nil, completion: @escaping (Foundation.Data?, Swift.String?, Swift.String?) -> Swift.Void) + @available(iOS 14.0, *) + @_Concurrency.MainActor(unsafe) public func loadGIFfile(itemProvider: Foundation.NSItemProvider, index: Swift.Int? = nil, completion: @escaping (Foundation.Data?, Swift.String?, Swift.String?) -> Swift.Void) @_Concurrency.MainActor(unsafe) @objc override open func updateMessageInputMode(_ mode: SendbirdUIKit.SBUMessageInputMode, message: SendbirdChatSDK.BaseMessage? = nil) @_Concurrency.MainActor(unsafe) @objc override open func updateMessageInputModeState() @_Concurrency.MainActor(unsafe) @objc override open func updateFrozenModeState() @@ -831,10 +838,10 @@ extension SendbirdUIKit.SBUView : SendbirdUIKit.SBUViewLifeCycle { set _modify } - @_Concurrency.MainActor(unsafe) public var collectionViewHeightConstraint: UIKit.NSLayoutConstraint! { + @_Concurrency.MainActor(unsafe) public var collectionViewHeightConstraint: UIKit.NSLayoutConstraint? { get } - @_Concurrency.MainActor(unsafe) public var collectionViewMinWidthContraint: UIKit.NSLayoutConstraint! { + @_Concurrency.MainActor(unsafe) public var collectionViewMinWidthContraint: UIKit.NSLayoutConstraint? { get } @_Concurrency.MainActor(unsafe) final public let collectionViewInsets: UIKit.UIEdgeInsets @@ -1736,6 +1743,7 @@ extension UIKit.UIImageView { @_hasMissingDesignatedInitializers public class SBUUtils { public static func getFileType(by fileMessage: SendbirdChatSDK.FileMessage) -> SendbirdUIKit.SBUMessageFileType public static func getFileType(by type: Swift.String) -> SendbirdUIKit.SBUMessageFileType + public static func getFileTypeString(by fileType: Swift.String) -> Swift.String public static func generateChannelName(channel: SendbirdChatSDK.GroupChannel) -> Swift.String public static func getMimeType(url: Foundation.URL) -> Swift.String? @available(*, deprecated, renamed: "getReceiptState(of:in:)") @@ -1786,6 +1794,7 @@ extension UIKit.UIImageView { public static var Settings: Swift.String public static var Reply: Swift.String public static var Alert_Delete: Swift.String + public static var Alert_Delete_MultipleFilesMessage: (Swift.Int) -> Swift.String public static var Alert_Allow_Camera_Access: Swift.String public static var Alert_Allow_PhotoLibrary_Access: Swift.String public static var Alert_Allow_PhotoLibrary_Access_Message: Swift.String @@ -1947,6 +1956,22 @@ extension UIKit.UIImageView { } public static var fileName: Swift.String } + public struct GroupChannel { + public struct Preview { + public static var photo: Swift.String + public static var gif: Swift.String + public static var video: Swift.String + public static var audio: Swift.String + public static var voice: Swift.String + public static var file: Swift.String + public static var multipleFiles: Swift.String + } + } + public struct FileUpload { + public struct Error { + public static var exceededSizeLimit: Swift.String + } + } @objc deinit } extension SendbirdUIKit.SBUStringSet { @@ -2120,6 +2145,7 @@ extension SendbirdUIKit.SBUCreateOpenChannelModule { @_Concurrency.MainActor(unsafe) final public let descriptionLabel: UIKit.UILabel @_Concurrency.MainActor(unsafe) final public let urlLabel: UIKit.UILabel @_Concurrency.MainActor(unsafe) public var imageHeightConstraint: UIKit.NSLayoutConstraint? + @_Concurrency.MainActor(unsafe) public var imageWitdhConstraint: UIKit.NSLayoutConstraint? @_Concurrency.MainActor(unsafe) @objc override dynamic public init(frame: CoreFoundation.CGRect) @_Concurrency.MainActor(unsafe) @objc required dynamic public init(coder: Foundation.NSCoder) @_Concurrency.MainActor(unsafe) @objc override dynamic open func layoutSubviews() @@ -2297,6 +2323,11 @@ extension SendbirdUIKit.SBUModuleSet { public static var MessageSearchModule: SendbirdUIKit.SBUMessageSearchModule.Type public static var MessageThreadModule: SendbirdUIKit.SBUMessageThreadModule.Type } +extension SendbirdChatSDK.MultipleFilesMessage { + public var filesCount: Swift.Int { + get + } +} public protocol SBUMessageSearchViewModelDelegate : SendbirdUIKit.SBUCommonViewModelDelegate { func searchViewModel(_ viewModel: SendbirdUIKit.SBUMessageSearchViewModel, didChangeSearchResults results: [SendbirdChatSDK.BaseMessage], needsToReload: Swift.Bool) } @@ -2317,6 +2348,24 @@ open class SBUMessageSearchViewModel { public func loadMore() @objc deinit } +@objc @_inheritsConvenienceInitializers @_Concurrency.MainActor(unsafe) open class SBUMultipleFilesMessageCollectionView : UIKit.UICollectionView, SendbirdUIKit.SBUViewLifeCycle { + @SendbirdUIKit.SBUThemeWrapper @_Concurrency.MainActor(unsafe) public var theme: SendbirdUIKit.SBUMessageCellTheme { + get + set + _modify + } + @_Concurrency.MainActor(unsafe) public var cornerRadius: CoreFoundation.CGFloat + @_Concurrency.MainActor(unsafe) open func configure(delegate: UIKit.UICollectionViewDelegate, dataSource: UIKit.UICollectionViewDataSource, theme: SendbirdUIKit.SBUMessageCellTheme? = nil, cornerRadius: CoreFoundation.CGFloat) + @_Concurrency.MainActor(unsafe) @objc open func setupViews() + @_Concurrency.MainActor(unsafe) @objc open func setupLayouts() + @_Concurrency.MainActor(unsafe) @objc open func setupStyles() + @_Concurrency.MainActor(unsafe) @objc open func setupActions() + @_Concurrency.MainActor(unsafe) @objc open func updateLayouts() + @_Concurrency.MainActor(unsafe) @objc open func updateStyles() + @_Concurrency.MainActor(unsafe) @objc override dynamic public init(frame: CoreFoundation.CGRect, collectionViewLayout layout: UIKit.UICollectionViewLayout) + @_Concurrency.MainActor(unsafe) @objc required dynamic public init?(coder: Foundation.NSCoder) + @objc deinit +} extension SendbirdUIKit.SBUBaseSelectUserViewController { @objc @available(*, deprecated, renamed: "channelURL") @_Concurrency.MainActor(unsafe) dynamic public var channelUrl: Swift.String? { @@ -2477,6 +2526,28 @@ extension SendbirdUIKit.SBUBaseChannelSettingsModule { @objc func updateLayouts() @objc func setupActions() } +@objc @_hasMissingDesignatedInitializers @_Concurrency.MainActor(unsafe) public class SBUPaddingLabel : UIKit.UILabel { + @_Concurrency.MainActor(unsafe) public var top: CoreFoundation.CGFloat { + get + } + @_Concurrency.MainActor(unsafe) public var bottom: CoreFoundation.CGFloat { + get + } + @_Concurrency.MainActor(unsafe) public var leading: CoreFoundation.CGFloat { + get + } + @_Concurrency.MainActor(unsafe) public var trailing: CoreFoundation.CGFloat { + get + } + @_Concurrency.MainActor(unsafe) convenience public init(_ all: CoreFoundation.CGFloat) + @_Concurrency.MainActor(unsafe) convenience public init(_ vertical: CoreFoundation.CGFloat, _ horizontal: CoreFoundation.CGFloat) + @_Concurrency.MainActor(unsafe) public init(_ top: CoreFoundation.CGFloat = 0, _ bottom: CoreFoundation.CGFloat = 0, _ leading: CoreFoundation.CGFloat = 0, _ trailing: CoreFoundation.CGFloat = 0) + @_Concurrency.MainActor(unsafe) @objc override dynamic public func drawText(in rect: CoreFoundation.CGRect) + @_Concurrency.MainActor(unsafe) @objc override dynamic public var intrinsicContentSize: CoreFoundation.CGSize { + @objc get + } + @objc deinit +} public typealias SBUNewNotificationInfoHandler = () -> Swift.Void extension SendbirdUIKit.SBUBaseChannelViewController { @objc @_Concurrency.MainActor(unsafe) dynamic public func registerKeyboardNotifications() @@ -2497,7 +2568,7 @@ extension SendbirdUIKit.SBUBaseChannelViewController { get } @objc @_Concurrency.MainActor(unsafe) public var webView: SendbirdUIKit.SBUOpenChannelMessageWebView - @objc @_Concurrency.MainActor(unsafe) public var messageTypeConstraint: UIKit.NSLayoutConstraint! { + @objc @_Concurrency.MainActor(unsafe) public var messageTypeConstraint: UIKit.NSLayoutConstraint? { get } @objc @_Concurrency.MainActor(unsafe) public var webTypeConstraints: [UIKit.NSLayoutConstraint] { @@ -2957,6 +3028,7 @@ public protocol SBUMessageCellProtocol { @objc @_Concurrency.MainActor(unsafe) public var newMessagesCount: Swift.Int { get } + @objc @_Concurrency.MainActor(unsafe) open func multipleFilesMessageFileSizeErrorHandler(_ message: Swift.String) @objc @_Concurrency.MainActor(unsafe) required public init(channel: SendbirdChatSDK.GroupChannel, messageListParams: SendbirdChatSDK.MessageListParams? = nil) @objc @_Concurrency.MainActor(unsafe) public init(channel: SendbirdChatSDK.GroupChannel, messageListParams: SendbirdChatSDK.MessageListParams? = nil, displaysLocalCachedListFirst: Swift.Bool) @_Concurrency.MainActor(unsafe) required public init(channelURL: Swift.String, startingPoint: Swift.Int64? = nil, messageListParams: SendbirdChatSDK.MessageListParams? = nil) @@ -2975,6 +3047,7 @@ public protocol SBUMessageCellProtocol { @_Concurrency.MainActor(unsafe) @objc override open func setupViews() @_Concurrency.MainActor(unsafe) @objc override open func setupLayouts() @_Concurrency.MainActor(unsafe) @objc override open func setupStyles() + @_Concurrency.MainActor(unsafe) @objc override open func updateStyles(needsToLayout: Swift.Bool) @_Concurrency.MainActor(unsafe) @objc override open func updateStyles() @discardableResult @_Concurrency.MainActor(unsafe) @objc override public func increaseNewMessageCount() -> Swift.Bool @@ -2986,14 +3059,20 @@ public protocol SBUMessageCellProtocol { @_Concurrency.MainActor(unsafe) override public func showMenuModal(_ cell: UIKit.UITableViewCell, indexPath: Foundation.IndexPath, message: SendbirdChatSDK.BaseMessage, types: [SendbirdUIKit.MessageMenuItem]?) @_Concurrency.MainActor(unsafe) @objc override open func showChannelSettings() @_Concurrency.MainActor(unsafe) override open func showMessageThread(channelURL: Swift.String, parentMessageId: Swift.Int64, parentMessageCreatedAt: Swift.Int64? = 0, startingPoint: Swift.Int64? = 0) + @_Concurrency.MainActor(unsafe) @objc override open func imagePickerControllerDidCancel(_ picker: UIKit.UIImagePickerController) + @available(iOS 14, *) + @_Concurrency.MainActor(unsafe) override open func picker(_ picker: PhotosUI.PHPickerViewController, didFinishPicking results: [PhotosUI.PHPickerResult]) + @_Concurrency.MainActor(unsafe) @objc override open func showPhotoLibraryPicker() @_Concurrency.MainActor(unsafe) @objc override open func showVoiceMessageInput() @_Concurrency.MainActor(unsafe) @objc override open func dismissVoiceMessageInput() @_Concurrency.MainActor(unsafe) @objc override open func resetVoiceMessageInput(for resignActivity: Swift.Bool = false) @_Concurrency.MainActor(unsafe) @objc override open func baseChannelViewModel(_ viewModel: SendbirdUIKit.SBUBaseChannelViewModel, didChangeChannel channel: SendbirdChatSDK.BaseChannel?, withContext context: SendbirdChatSDK.MessageContext) @_Concurrency.MainActor(unsafe) @objc override open func baseChannelViewModel(_ viewModel: SendbirdUIKit.SBUBaseChannelViewModel, deletedMessages messages: [SendbirdChatSDK.BaseMessage]) @objc @_Concurrency.MainActor(unsafe) open func groupChannelViewModel(_ viewModel: SendbirdUIKit.SBUGroupChannelViewModel, didReceiveSuggestedMentions members: [SendbirdUIKit.SBUUser]?) + @objc @_Concurrency.MainActor(unsafe) public func groupChannelViewModel(_ viewModel: SendbirdUIKit.SBUGroupChannelViewModel, didFinishUploadingFileAt index: Swift.Int, multipleFilesMessageRequestId requestId: Swift.String) @_Concurrency.MainActor(unsafe) @objc override open func baseChannelModule(_ headerComponent: SendbirdUIKit.SBUBaseChannelModule.Header, didTapLeftItem leftItem: UIKit.UIBarButtonItem) @_Concurrency.MainActor(unsafe) @objc override open func baseChannelModule(_ headerComponent: SendbirdUIKit.SBUBaseChannelModule.Header, didTapRightItem rightItem: UIKit.UIBarButtonItem) + @objc @_Concurrency.MainActor(unsafe) open func groupChannelModule(_ listComponent: SendbirdUIKit.SBUGroupChannelModule.List, didSelectFileAt index: Swift.Int, multipleFilesMessageCell: SendbirdUIKit.SBUMultipleFilesMessageCell, forRowAt cellIndexPath: Foundation.IndexPath) @objc @_Concurrency.MainActor(unsafe) open func groupChannelModule(_ listComponent: SendbirdUIKit.SBUGroupChannelModule.List, didTapEmoji emojiKey: Swift.String, messageCell: SendbirdUIKit.SBUBaseMessageCell) @objc @_Concurrency.MainActor(unsafe) open func groupChannelModule(_ listComponent: SendbirdUIKit.SBUGroupChannelModule.List, didLongTapEmoji emojiKey: Swift.String, messageCell: SendbirdUIKit.SBUBaseMessageCell) @objc @_Concurrency.MainActor(unsafe) open func groupChannelModule(_ listComponent: SendbirdUIKit.SBUGroupChannelModule.List, didTapMoreEmojiForCell messageCell: SendbirdUIKit.SBUBaseMessageCell) @@ -3006,6 +3085,7 @@ public protocol SBUMessageCellProtocol { @_Concurrency.MainActor(unsafe) open func groupChannelModule(_ listComponent: SendbirdUIKit.SBUGroupChannelModule.List, highlightInfoInTableView tableView: UIKit.UITableView) -> SendbirdUIKit.SBUHighlightMessageInfo? @_Concurrency.MainActor(unsafe) @objc override open func baseChannelModule(_ inputComponent: SendbirdUIKit.SBUBaseChannelModule.Input, didUpdateFrozenState isFrozen: Swift.Bool) @objc @_Concurrency.MainActor(unsafe) open func groupChannelModule(_ inputComponent: SendbirdUIKit.SBUGroupChannelModule.Input, didPickFileData fileData: Foundation.Data?, fileName: Swift.String, mimeType: Swift.String, parentMessage: SendbirdChatSDK.BaseMessage?) + @objc @_Concurrency.MainActor(unsafe) open func groupChannelModule(_ inputComponent: SendbirdUIKit.SBUGroupChannelModule.Input, didPickMultipleFiles fileInfoList: [SendbirdChatSDK.UploadableFileInfo]?, parentMessage: SendbirdChatSDK.BaseMessage?) @objc @_Concurrency.MainActor(unsafe) open func groupChannelModule(_ inputComponent: SendbirdUIKit.SBUGroupChannelModule.Input, didTapSend text: Swift.String, mentionedMessageTemplate: Swift.String, mentionedUserIds: [Swift.String], parentMessage: SendbirdChatSDK.BaseMessage?) @objc @_Concurrency.MainActor(unsafe) open func groupChannelModule(_ inputComponent: SendbirdUIKit.SBUGroupChannelModule.Input, didTapEdit text: Swift.String, mentionedMessageTemplate: Swift.String, mentionedUserIds: [Swift.String]) @objc @_Concurrency.MainActor(unsafe) open func groupChannelModule(_ inputComponent: SendbirdUIKit.SBUGroupChannelModule.Input, willChangeMode mode: SendbirdUIKit.SBUMessageInputMode, message: SendbirdChatSDK.BaseMessage?, mentionedMessageTemplate: Swift.String, mentionedUserIds: [Swift.String]) @@ -3535,7 +3615,7 @@ public protocol SBUSuggestedMentionListDelegate : AnyObject { } @_Concurrency.MainActor(unsafe) public var userCell: UIKit.UITableViewCell? @_Concurrency.MainActor(unsafe) public var limitGuideCell: UIKit.UITableViewCell? - @_Concurrency.MainActor(unsafe) public var heightConstraint: UIKit.NSLayoutConstraint! + @_Concurrency.MainActor(unsafe) public var heightConstraint: UIKit.NSLayoutConstraint? @_Concurrency.MainActor(unsafe) public var filteredUsers: [SendbirdUIKit.SBUUser] { get } @@ -3611,6 +3691,10 @@ extension SendbirdUIKit.SBUConfig.GroupChannel { set } public var input: SendbirdUIKit.SBUConfig.GroupChannel.Channel.Input + @SendbirdUIKit.SBUPrioritizedConfig public var isMultipleFilesMessageEnabled: Swift.Bool { + get + set + } @objc deinit public func encode(to encoder: Swift.Encoder) throws required public init(from decoder: Swift.Decoder) throws @@ -3686,6 +3770,8 @@ public protocol SBUMessageThreadModuleListDelegate : SendbirdUIKit.SBUBaseChanne func messageThreadModule(_ listComponent: SendbirdUIKit.SBUMessageThreadModule.List, didLongTapEmoji emojiKey: Swift.String, messageCell: SendbirdUIKit.SBUBaseMessageCell) func messageThreadModule(_ listComponent: SendbirdUIKit.SBUMessageThreadModule.List, didTapMoreEmojiForCell messageCell: SendbirdUIKit.SBUBaseMessageCell) func messageThreadModule(_ listComponent: SendbirdUIKit.SBUMessageThreadModule.List, didTapMentionUser user: SendbirdUIKit.SBUUser) + func messageThreadModule(_ listComponent: SendbirdUIKit.SBUMessageThreadModule.List, didSelectFileAt index: Swift.Int, multipleFilesMessageCell: SendbirdUIKit.SBUMultipleFilesMessageCell, forRowAt cellIndexPath: Foundation.IndexPath) + func messageThreadModule(_ listComponent: SendbirdUIKit.SBUMessageThreadModule.List, uploadedFileInfo: SendbirdChatSDK.UploadedFileInfo, message: SendbirdChatSDK.MultipleFilesMessage, index: Swift.Int) } public protocol SBUMessageThreadModuleListDataSource : SendbirdUIKit.SBUBaseChannelModuleListDataSource { } @@ -3702,6 +3788,9 @@ extension SendbirdUIKit.SBUMessageThreadModule { @objc @_Concurrency.MainActor(unsafe) public var fileMessageCell: SendbirdUIKit.SBUBaseMessageCell? { get } + @objc @_Concurrency.MainActor(unsafe) public var multipleFilesMessageCell: SendbirdUIKit.SBUBaseMessageCell? { + get + } @objc @_Concurrency.MainActor(unsafe) public var unknownMessageCell: SendbirdUIKit.SBUBaseMessageCell? { get } @@ -3734,11 +3823,12 @@ extension SendbirdUIKit.SBUMessageThreadModule { @_Concurrency.MainActor(unsafe) override open func createMessageMenuItems(for message: SendbirdChatSDK.BaseMessage) -> [SendbirdUIKit.SBUMenuItem] @_Concurrency.MainActor(unsafe) @objc override open func showMessageContextMenu(for message: SendbirdChatSDK.BaseMessage, cell: UIKit.UITableViewCell, forRowAt indexPath: Foundation.IndexPath) @objc @_Concurrency.MainActor(unsafe) open func setMessageCellGestures(_ cell: SendbirdUIKit.SBUBaseMessageCell, message: SendbirdChatSDK.BaseMessage, indexPath: Foundation.IndexPath) - @_Concurrency.MainActor(unsafe) @objc override public func reloadTableView() + @_Concurrency.MainActor(unsafe) @objc override public func reloadTableView(needsToLayout: Swift.Bool = true) @objc @_Concurrency.MainActor(unsafe) public func register(messageCell: SendbirdUIKit.SBUBaseMessageCell, nib: UIKit.UINib? = nil) @objc @_Concurrency.MainActor(unsafe) open func register(adminMessageCell: SendbirdUIKit.SBUBaseMessageCell, nib: UIKit.UINib? = nil) @objc @_Concurrency.MainActor(unsafe) open func register(userMessageCell: SendbirdUIKit.SBUBaseMessageCell, nib: UIKit.UINib? = nil) @objc @_Concurrency.MainActor(unsafe) open func register(fileMessageCell: SendbirdUIKit.SBUBaseMessageCell, nib: UIKit.UINib? = nil) + @objc @_Concurrency.MainActor(unsafe) open func register(multipleFilesMessageCell: SendbirdUIKit.SBUBaseMessageCell, nib: UIKit.UINib? = nil) @objc @_Concurrency.MainActor(unsafe) open func register(unknownMessageCell: SendbirdUIKit.SBUBaseMessageCell, nib: UIKit.UINib? = nil) @objc @_Concurrency.MainActor(unsafe) open func register(customMessageCell: SendbirdUIKit.SBUBaseMessageCell, nib: UIKit.UINib? = nil) @objc @_Concurrency.MainActor(unsafe) open func configureCell(_ messageCell: SendbirdUIKit.SBUBaseMessageCell, message: SendbirdChatSDK.BaseMessage, forRowAt indexPath: Foundation.IndexPath) @@ -4130,6 +4220,20 @@ extension SendbirdUIKit.SBUInviteUserModule { public static func restoreDefaultIcons() @objc deinit } +@objc @_inheritsConvenienceInitializers @_Concurrency.MainActor(unsafe) open class SBUCollectionViewCell : UIKit.UICollectionViewCell { + @_Concurrency.MainActor(unsafe) @objc override dynamic public init(frame: CoreFoundation.CGRect) + @_Concurrency.MainActor(unsafe) @objc required dynamic public init?(coder: Foundation.NSCoder) + @_Concurrency.MainActor(unsafe) @objc override dynamic open func layoutSubviews() + @objc deinit +} +extension SendbirdUIKit.SBUCollectionViewCell : SendbirdUIKit.SBUViewLifeCycle { + @_Concurrency.MainActor(unsafe) @objc dynamic public func setupViews() + @_Concurrency.MainActor(unsafe) @objc dynamic public func setupStyles() + @_Concurrency.MainActor(unsafe) @objc dynamic public func updateStyles() + @_Concurrency.MainActor(unsafe) @objc dynamic public func setupLayouts() + @_Concurrency.MainActor(unsafe) @objc dynamic public func updateLayouts() + @_Concurrency.MainActor(unsafe) @objc dynamic public func setupActions() +} @objc @_inheritsConvenienceInitializers @_Concurrency.MainActor(unsafe) open class SBUOpenChannelContentBaseMessageCell : SendbirdUIKit.SBUOpenChannelBaseMessageCell { @objc @_Concurrency.MainActor(unsafe) public var baseStackView: UIKit.UIStackView { @objc get @@ -4139,6 +4243,10 @@ extension SendbirdUIKit.SBUInviteUserModule { @objc get @objc set } + @objc @_Concurrency.MainActor(unsafe) public var profileBaseView: UIKit.UIView { + @objc get + @objc set + } @objc @_Concurrency.MainActor(unsafe) public var contentsStackView: UIKit.UIStackView { @objc get @objc set @@ -4559,6 +4667,25 @@ public protocol SBUCreateChannelTypeSelectorProtocol { @_Concurrency.MainActor(unsafe) open func updateButton(type: SendbirdUIKit.ChannelCreationType) @objc deinit } +@objc @_inheritsConvenienceInitializers @_hasMissingDesignatedInitializers @_Concurrency.MainActor(unsafe) open class SBUMultipleFilesMessageCollectionViewCell : SendbirdUIKit.SBUCollectionViewCell { + @_Concurrency.MainActor(unsafe) public var imageView: UIKit.UIImageView + @_Concurrency.MainActor(unsafe) public var overlayView: UIKit.UIView + @_Concurrency.MainActor(unsafe) public var iconImageView: UIKit.UIImageView + @SendbirdUIKit.SBUThemeWrapper @_Concurrency.MainActor(unsafe) public var theme: SendbirdUIKit.SBUMessageCellTheme { + get + set + _modify + } + @_Concurrency.MainActor(unsafe) public var imageCornerRadius: CoreFoundation.CGFloat + @_Concurrency.MainActor(unsafe) @objc required dynamic public init?(coder aDecoder: Foundation.NSCoder) + @_Concurrency.MainActor(unsafe) open func configure(uploadableFileInfo: SendbirdChatSDK.UploadableFileInfo? = nil, uploadedFileInfo: SendbirdChatSDK.UploadedFileInfo? = nil, requestId: Swift.String, index: Swift.Int, imageCornerRadius: CoreFoundation.CGFloat, showOverlay: Swift.Bool) + @_Concurrency.MainActor(unsafe) @objc override dynamic open func setupViews() + @_Concurrency.MainActor(unsafe) @objc override dynamic open func setupStyles() + @_Concurrency.MainActor(unsafe) @objc override dynamic open func setupLayouts() + @_Concurrency.MainActor(unsafe) @objc override dynamic open func prepareForReuse() + @_Concurrency.MainActor(unsafe) public func setGIFIcon() + @objc deinit +} extension UIKit.UIView { @objc @_Concurrency.MainActor(unsafe) public static func sbu_loadNib() -> UIKit.UINib @objc @_Concurrency.MainActor(unsafe) public static func sbu_loadViewFromNib() -> UIKit.UIView @@ -4584,6 +4711,8 @@ extension UIKit.UIView { @_Concurrency.MainActor(unsafe) public func sbu_constraint_greaterThan(widthAnchor: UIKit.NSLayoutAnchor? = nil, width: CoreFoundation.CGFloat? = nil, heightAnchor: UIKit.NSLayoutAnchor? = nil, height: CoreFoundation.CGFloat? = nil, priority: UIKit.UILayoutPriority? = nil) -> UIKit.UIView @discardableResult @_Concurrency.MainActor(unsafe) public func sbu_constraint_lessThan(widthAnchor: UIKit.NSLayoutAnchor? = nil, width: CoreFoundation.CGFloat? = nil, heightAnchor: UIKit.NSLayoutAnchor? = nil, height: CoreFoundation.CGFloat? = nil, priority: UIKit.UILayoutPriority? = nil) -> UIKit.UIView +} +extension UIKit.UIView { @discardableResult @_Concurrency.MainActor(unsafe) public func sbu_constraint_v2(equalTo view: UIKit.UIView, leading: CoreFoundation.CGFloat? = nil, trailing: CoreFoundation.CGFloat? = nil, left: CoreFoundation.CGFloat? = nil, right: CoreFoundation.CGFloat? = nil, top: CoreFoundation.CGFloat? = nil, bottom: CoreFoundation.CGFloat? = nil, centerX: CoreFoundation.CGFloat? = nil, centerY: CoreFoundation.CGFloat? = nil, priority: UIKit.UILayoutPriority? = nil) -> [UIKit.NSLayoutConstraint] @discardableResult @@ -4911,19 +5040,28 @@ public protocol SBUParentMessageInfoViewDelegate : AnyObject { func parentMessageInfoViewBoundsWillChanged(_ view: SendbirdUIKit.SBUParentMessageInfoView) func parentMessageInfoViewBoundsDidChanged(_ view: SendbirdUIKit.SBUParentMessageInfoView) } -@objc @_inheritsConvenienceInitializers @_Concurrency.MainActor(unsafe) open class SBUParentMessageInfoView : UIKit.UITableViewHeaderFooterView, SendbirdUIKit.SBUUserMessageTextViewDelegate { +@objc @_inheritsConvenienceInitializers @_Concurrency.MainActor(unsafe) open class SBUParentMessageInfoView : SendbirdUIKit.SBUView, SendbirdUIKit.SBUUserMessageTextViewDelegate { + public struct Constants { + public static var verticalSideMarginSize: CoreFoundation.CGFloat + } @_Concurrency.MainActor(unsafe) public var profileView: SendbirdUIKit.SBUMessageProfileView + @_Concurrency.MainActor(unsafe) public var profileBaseView: UIKit.UIView @_Concurrency.MainActor(unsafe) public var userNameLabel: UIKit.UILabel @_Concurrency.MainActor(unsafe) public var dateLabel: UIKit.UILabel @_Concurrency.MainActor(unsafe) public var moreButton: UIKit.UIButton? { get set } + @_Concurrency.MainActor(unsafe) public var moreButtonBaseView: UIKit.UIView @_Concurrency.MainActor(unsafe) public var replySeparateLine: UIKit.UIView @_Concurrency.MainActor(unsafe) public var replyLabel: UIKit.UILabel @_Concurrency.MainActor(unsafe) public var bottomSeparateLine: UIKit.UIView @_Concurrency.MainActor(unsafe) public var messageTextView: SendbirdUIKit.SBUUserMessageTextView @_Concurrency.MainActor(unsafe) public var baseFileContentView: SendbirdUIKit.SBUBaseFileContentView + @_Concurrency.MainActor(unsafe) public var fileCollectionView: SendbirdUIKit.SBUMultipleFilesMessageCollectionView { + get + set + } @_Concurrency.MainActor(unsafe) public var webView: SendbirdUIKit.SBUMessageWebView @_Concurrency.MainActor(unsafe) public var reactionView: SendbirdUIKit.SBUParentMessageInfoReactionView @_Concurrency.MainActor(unsafe) public var userHStackView: SendbirdUIKit.SBUStackView { @@ -4946,30 +5084,44 @@ public protocol SBUParentMessageInfoViewDelegate : AnyObject { @objc get @objc set } + @_Concurrency.MainActor(unsafe) public var contentView: UIKit.UIView { + get + set + } @_Concurrency.MainActor(unsafe) public var enablesReaction: Swift.Bool @_Concurrency.MainActor(unsafe) public var userProfileTapHandler: (() -> Swift.Void)? @_Concurrency.MainActor(unsafe) public var tapHandlerToContent: (() -> Swift.Void)? + @_Concurrency.MainActor(unsafe) public var fileSelectHandler: ((_ fileInfo: SendbirdChatSDK.UploadedFileInfo, _ index: Swift.Int) -> Swift.Void)? @_Concurrency.MainActor(unsafe) public var moreButtonTapHandlerToContent: (() -> Swift.Void)? @_Concurrency.MainActor(unsafe) public var emojiTapHandler: ((_ emojiKey: Swift.String) -> Swift.Void)? @_Concurrency.MainActor(unsafe) public var moreEmojiTapHandler: (() -> Swift.Void)? @_Concurrency.MainActor(unsafe) public var emojiLongPressHandler: ((_ emojiKey: Swift.String) -> Swift.Void)? @_Concurrency.MainActor(unsafe) public var mentionTapHandler: ((_ user: SendbirdUIKit.SBUUser) -> Swift.Void)? - @_Concurrency.MainActor(unsafe) @objc override dynamic public init(reuseIdentifier: Swift.String?) @available(*, unavailable, renamed: "SBUParentMessageInfoView(frame:)") - @_Concurrency.MainActor(unsafe) @objc required convenience dynamic public init?(coder: Foundation.NSCoder) - @_Concurrency.MainActor(unsafe) open func setupViews() - @_Concurrency.MainActor(unsafe) open func setupLayouts() - @_Concurrency.MainActor(unsafe) open func updateLayouts() - @_Concurrency.MainActor(unsafe) open func setupStyles() + @_Concurrency.MainActor(unsafe) required convenience public init?(coder: Foundation.NSCoder) + @_Concurrency.MainActor(unsafe) @objc override dynamic open func setupViews() + @_Concurrency.MainActor(unsafe) @objc override dynamic open func setupLayouts() + @_Concurrency.MainActor(unsafe) @objc override dynamic open func updateLayouts() + @_Concurrency.MainActor(unsafe) @objc override dynamic open func setupStyles() @_Concurrency.MainActor(unsafe) open func configure(message: SendbirdChatSDK.BaseMessage?, delegate: SendbirdUIKit.SBUParentMessageInfoViewDelegate?, useReaction: Swift.Bool = false, voiceFileInfo: SendbirdUIKit.SBUVoiceFileInfo?) - @_Concurrency.MainActor(unsafe) open func setupActions() + @_Concurrency.MainActor(unsafe) open func updateMessageTextWidth(with size: CoreFoundation.CGSize) + @_Concurrency.MainActor(unsafe) @objc override dynamic open func setupActions() @objc @_Concurrency.MainActor(unsafe) open func onTapUserProfileView(sender: UIKit.UITapGestureRecognizer) @objc @_Concurrency.MainActor(unsafe) open func onTapContentView(sender: UIKit.UITapGestureRecognizer) + @objc @_Concurrency.MainActor(unsafe) open func onSelectFile(sender: UIKit.UITapGestureRecognizer) @objc @_Concurrency.MainActor(unsafe) open func onTapWebview(sender: UIKit.UITapGestureRecognizer) @objc @_Concurrency.MainActor(unsafe) open func onTapMoreButton(_ sender: Any) @_Concurrency.MainActor(unsafe) open func userMessageTextView(_ textView: SendbirdUIKit.SBUUserMessageTextView, didTapMention user: SendbirdUIKit.SBUUser) + @_Concurrency.MainActor(unsafe) @objc override dynamic public init() + @_Concurrency.MainActor(unsafe) @objc override dynamic public init(frame: CoreFoundation.CGRect) @objc deinit } +extension SendbirdUIKit.SBUParentMessageInfoView : UIKit.UICollectionViewDataSource, UIKit.UICollectionViewDelegate, UIKit.UICollectionViewDelegateFlowLayout { + @_Concurrency.MainActor(unsafe) @objc dynamic public func numberOfSections(in collectionView: UIKit.UICollectionView) -> Swift.Int + @_Concurrency.MainActor(unsafe) @objc dynamic open func collectionView(_ collectionView: UIKit.UICollectionView, numberOfItemsInSection section: Swift.Int) -> Swift.Int + @_Concurrency.MainActor(unsafe) @objc dynamic open func collectionView(_ collectionView: UIKit.UICollectionView, layout collectionViewLayout: UIKit.UICollectionViewLayout, sizeForItemAt indexPath: Foundation.IndexPath) -> CoreFoundation.CGSize + @_Concurrency.MainActor(unsafe) @objc dynamic open func collectionView(_ collectionView: UIKit.UICollectionView, cellForItemAt indexPath: Foundation.IndexPath) -> UIKit.UICollectionViewCell +} @_hasMissingDesignatedInitializers public class SBUGlobalCustomParams { public static var groupChannelParamsCreateBuilder: ((_ params: SendbirdChatSDK.GroupChannelCreateParams?) -> Swift.Void)? public static var groupChannelParamsUpdateBuilder: ((_ params: SendbirdChatSDK.GroupChannelUpdateParams?) -> Swift.Void)? @@ -4979,6 +5131,7 @@ public protocol SBUParentMessageInfoViewDelegate : AnyObject { public static var userMessageParamsUpdateBuilder: ((_ params: SendbirdChatSDK.UserMessageUpdateParams?) -> Swift.Void)? public static var fileMessageParamsSendBuilder: ((_ params: SendbirdChatSDK.FileMessageCreateParams?) -> Swift.Void)? public static var voiceFileMessageParamsSendBuilder: ((_ params: SendbirdChatSDK.FileMessageCreateParams?) -> Swift.Void)? + public static var multipleFilesMessageParamsSendBuilder: ((_ params: SendbirdChatSDK.MultipleFilesMessageCreateParams?) -> Swift.Void)? public static var messageListParamsBuilder: ((_ params: SendbirdChatSDK.MessageListParams?) -> Swift.Void)? @objc deinit } @@ -5115,7 +5268,7 @@ extension UIKit.UIImage { @objc get @objc set } - @objc @_Concurrency.MainActor(unsafe) public var mainContainerView: SendbirdUIKit.SBUSelectableStackView { + @objc @_Concurrency.MainActor(unsafe) open var mainContainerView: SendbirdUIKit.SBUSelectableStackView { @objc get @objc set } @@ -5419,7 +5572,7 @@ extension UIKit.UIStackView { @_Concurrency.MainActor(unsafe) public var button: UIKit.UIButton @_Concurrency.MainActor(unsafe) public var username: Swift.String @_Concurrency.MainActor(unsafe) public var leftMargin: CoreFoundation.CGFloat - @_Concurrency.MainActor(unsafe) public var buttonLeftConstraint: UIKit.NSLayoutConstraint! { + @_Concurrency.MainActor(unsafe) public var buttonLeftConstraint: UIKit.NSLayoutConstraint? { get } @_Concurrency.MainActor(unsafe) @objc override dynamic public init() @@ -5619,6 +5772,7 @@ extension SendbirdUIKit.SBUBaseChannelSettingsModule.List : UIKit.UITableViewDat @_Concurrency.MainActor(unsafe) @objc override open func setupLayouts() @_Concurrency.MainActor(unsafe) @objc override open func updateLayouts() @_Concurrency.MainActor(unsafe) @objc override open func setupStyles() + @_Concurrency.MainActor(unsafe) @objc override open func updateStyles(needsToLayout: Swift.Bool) @_Concurrency.MainActor(unsafe) @objc override open func updateStyles() @objc @_Concurrency.MainActor(unsafe) public func updateChannelInfoView() @objc @available(*, deprecated, message: "Please use `calculateMessageMenuCGPoint(indexPath:)` in `SBUOpenChannelModule.List`") @@ -5758,6 +5912,9 @@ public class SBUQuoteMessageInputViewParams { public var isFileType: Swift.Bool { get } + public var isMultipleFilesMessage: Swift.Bool { + get + } public var fileType: Swift.String? { get } @@ -6250,7 +6407,7 @@ extension SendbirdUIKit.SBUMessageSearchViewController { @objc @_Concurrency.MainActor(unsafe) public var baseViewModel: SendbirdUIKit.SBUBaseChannelViewModel? @objc @_Concurrency.MainActor(unsafe) public var channelName: Swift.String? @objc @_Concurrency.MainActor(unsafe) public var isKeyboardShowing: Swift.Bool - @objc @_Concurrency.MainActor(unsafe) public var messageInputViewBottomConstraint: UIKit.NSLayoutConstraint! + @objc @_Concurrency.MainActor(unsafe) public var messageInputViewBottomConstraint: UIKit.NSLayoutConstraint? @available(*, unavailable) @_Concurrency.MainActor(unsafe) @objc required dynamic public init?(coder: Foundation.NSCoder) @_Concurrency.MainActor(unsafe) @objc override dynamic public init(nibName nibNameOrNil: Swift.String?, bundle nibBundleOrNil: Foundation.Bundle?) @@ -6259,6 +6416,7 @@ extension SendbirdUIKit.SBUMessageSearchViewController { @_Concurrency.MainActor(unsafe) public init(channelURL: Swift.String, startingPoint: Swift.Int64? = nil, messageListParams: SendbirdChatSDK.MessageListParams? = nil, displaysLocalCachedListFirst: Swift.Bool) @_Concurrency.MainActor(unsafe) @objc override dynamic open func loadView() @_Concurrency.MainActor(unsafe) @objc override dynamic open func viewWillAppear(_ animated: Swift.Bool) + @_Concurrency.MainActor(unsafe) @objc override dynamic open func viewDidAppear(_ animated: Swift.Bool) @_Concurrency.MainActor(unsafe) @objc override dynamic open func viewDidLoad() @_Concurrency.MainActor(unsafe) @objc override dynamic open func viewWillDisappear(_ animated: Swift.Bool) @objc @_Concurrency.MainActor(unsafe) open func applicationWillResignActivity() @@ -6279,6 +6437,7 @@ extension SendbirdUIKit.SBUMessageSearchViewController { @objc @_Concurrency.MainActor(unsafe) open func showEmojiListModal(message: SendbirdChatSDK.BaseMessage) @objc @_Concurrency.MainActor(unsafe) public func scrollToMessage(id messageId: Swift.Int64, enablesScrollAnimation: Swift.Bool = false, enablesMessageAnimation: Swift.Bool = false) @objc @_Concurrency.MainActor(unsafe) public func updateNewMessageInfo(hidden: Swift.Bool) + @_Concurrency.MainActor(unsafe) open func openFile(_ fileData: SendbirdUIKit.SBUFileData) @objc @_Concurrency.MainActor(unsafe) open func openFile(fileMessage: SendbirdChatSDK.FileMessage) @objc @discardableResult @_Concurrency.MainActor(unsafe) public func increaseNewMessageCount() -> Swift.Bool @@ -6648,6 +6807,14 @@ extension SendbirdUIKit.SBUChatNotificationChannelModule { @objc @_Concurrency.MainActor(unsafe) public func didSelectRetry() } } +public class SBUMultipleFilesMessageCellParams : SendbirdUIKit.SBUBaseMessageCellParams { + public var multipleFilesMessage: SendbirdChatSDK.MultipleFilesMessage? { + get + } + final public let useReaction: Swift.Bool + public init(message: SendbirdChatSDK.MultipleFilesMessage, hideDateView: Swift.Bool, useMessagePosition: Swift.Bool, groupPosition: SendbirdUIKit.MessageGroupPosition = .none, receiptState: SendbirdUIKit.SBUMessageReceiptState = .none, useReaction: Swift.Bool = false, isThreadMessage: Swift.Bool = false, joinedAt: Swift.Int64 = 0, voiceFileInfo: SendbirdUIKit.SBUVoiceFileInfo? = nil) + @objc deinit +} open class SBUCreateOpenChannelModule { public static var HeaderComponent: SendbirdUIKit.SBUCreateOpenChannelModule.Header.Type public static var ProfileInputComponent: SendbirdUIKit.SBUCreateOpenChannelModule.ProfileInput.Type @@ -6675,6 +6842,7 @@ open class SBUCreateOpenChannelModule { @objc @_Concurrency.MainActor(unsafe) open func updateLayouts() @objc @_Concurrency.MainActor(unsafe) open func setupStyles() @objc @_Concurrency.MainActor(unsafe) open func updateStyles() + @objc @_Concurrency.MainActor(unsafe) open func updateStyles(needsToLayout: Swift.Bool) @objc @_Concurrency.MainActor(unsafe) open func setupNavigationBar(backgroundColor: UIKit.UIColor, shadowColor: UIKit.UIColor) @objc @_Concurrency.MainActor(unsafe) open func onClickBack() @_Concurrency.MainActor(unsafe) open func errorHandler(_ message: Swift.String?, _ code: ObjectiveC.NSInteger? = nil) @@ -6927,8 +7095,20 @@ public class SBUFeedNotificationCellParams : SendbirdUIKit.SBUBaseMessageCellPar public static func isSupportReactions() -> Swift.Bool public static func isSupportOgTag(channelType: SendbirdChatSDK.ChannelType = .group) -> Swift.Bool public static func isSupportMessageSearch() -> Swift.Bool + public static var multipleFilesMessageFileCountLimit: Swift.Int { + get + } + public static var uploadSizeLimitBytes: Swift.Int64 { + get + } + public static var uploadSizeLimitMB: Swift.Int64 { + get + } @objc deinit } +extension UIKit.NSLayoutConstraint { + @_Concurrency.MainActor(unsafe) public static func sbu_activate(baseView: UIKit.UIView, constraints: [UIKit.NSLayoutConstraint?]) +} open class SBUMessageThreadModule { public static var HeaderComponent: SendbirdUIKit.SBUMessageThreadModule.Header.Type public static var ListComponent: SendbirdUIKit.SBUMessageThreadModule.List.Type @@ -7401,6 +7581,7 @@ public protocol SBUGroupChannelModuleListDelegate : SendbirdUIKit.SBUBaseChannel func groupChannelModule(_ listComponent: SendbirdUIKit.SBUGroupChannelModule.List, didTapMoreEmojiForCell messageCell: SendbirdUIKit.SBUBaseMessageCell) func groupChannelModule(_ listComponent: SendbirdUIKit.SBUGroupChannelModule.List, didTapMentionUser user: SendbirdUIKit.SBUUser) func groupChannelModuleDidTapThreadInfoView(_ threadInfoView: SendbirdUIKit.SBUThreadInfoView) + func groupChannelModule(_ listComponent: SendbirdUIKit.SBUGroupChannelModule.List, didSelectFileAt index: Swift.Int, multipleFilesMessageCell: SendbirdUIKit.SBUMultipleFilesMessageCell, forRowAt cellIndexPath: Foundation.IndexPath) } public protocol SBUGroupChannelModuleListDataSource : SendbirdUIKit.SBUBaseChannelModuleListDataSource { func groupChannelModule(_ listComponent: SendbirdUIKit.SBUGroupChannelModule.List, highlightInfoInTableView tableView: UIKit.UITableView) -> SendbirdUIKit.SBUHighlightMessageInfo? @@ -7416,6 +7597,9 @@ extension SendbirdUIKit.SBUGroupChannelModule { @objc @_Concurrency.MainActor(unsafe) public var fileMessageCell: SendbirdUIKit.SBUBaseMessageCell? { get } + @objc @_Concurrency.MainActor(unsafe) public var multipleFilesMessageCell: SendbirdUIKit.SBUBaseMessageCell? { + get + } @objc @_Concurrency.MainActor(unsafe) public var unknownMessageCell: SendbirdUIKit.SBUBaseMessageCell? { get } @@ -7452,6 +7636,7 @@ extension SendbirdUIKit.SBUGroupChannelModule { @objc @_Concurrency.MainActor(unsafe) open func register(adminMessageCell: SendbirdUIKit.SBUBaseMessageCell, nib: UIKit.UINib? = nil) @objc @_Concurrency.MainActor(unsafe) open func register(userMessageCell: SendbirdUIKit.SBUBaseMessageCell, nib: UIKit.UINib? = nil) @objc @_Concurrency.MainActor(unsafe) open func register(fileMessageCell: SendbirdUIKit.SBUBaseMessageCell, nib: UIKit.UINib? = nil) + @objc @_Concurrency.MainActor(unsafe) open func register(multipleFilesMessageCell: SendbirdUIKit.SBUBaseMessageCell, nib: UIKit.UINib? = nil) @objc @_Concurrency.MainActor(unsafe) open func register(unknownMessageCell: SendbirdUIKit.SBUBaseMessageCell, nib: UIKit.UINib? = nil) @objc @_Concurrency.MainActor(unsafe) open func register(customMessageCell: SendbirdUIKit.SBUBaseMessageCell, nib: UIKit.UINib? = nil) @objc @_Concurrency.MainActor(unsafe) open func configureCell(_ messageCell: SendbirdUIKit.SBUBaseMessageCell, message: SendbirdChatSDK.BaseMessage, forRowAt indexPath: Foundation.IndexPath) @@ -7481,6 +7666,7 @@ extension SendbirdUIKit.SBUGroupChannelModule.List { } public protocol SBUGroupChannelModuleInputDelegate : SendbirdUIKit.SBUBaseChannelModuleInputDelegate { func groupChannelModule(_ inputComponent: SendbirdUIKit.SBUGroupChannelModule.Input, didPickFileData fileData: Foundation.Data?, fileName: Swift.String, mimeType: Swift.String, parentMessage: SendbirdChatSDK.BaseMessage?) + func groupChannelModule(_ inputComponent: SendbirdUIKit.SBUGroupChannelModule.Input, didPickMultipleFiles fileInfoList: [SendbirdChatSDK.UploadableFileInfo]?, parentMessage: SendbirdChatSDK.BaseMessage?) func groupChannelModule(_ inputComponent: SendbirdUIKit.SBUGroupChannelModule.Input, didTapSend text: Swift.String, mentionedMessageTemplate: Swift.String, mentionedUserIds: [Swift.String], parentMessage: SendbirdChatSDK.BaseMessage?) func groupChannelModule(_ inputComponent: SendbirdUIKit.SBUGroupChannelModule.Input, didTapEdit text: Swift.String, mentionedMessageTemplate: Swift.String, mentionedUserIds: [Swift.String]) func groupChannelModule(_ inputComponent: SendbirdUIKit.SBUGroupChannelModule.Input, willChangeMode mode: SendbirdUIKit.SBUMessageInputMode, message: SendbirdChatSDK.BaseMessage?, mentionedMessageTemplate: Swift.String, mentionedUserIds: [Swift.String]) @@ -7514,6 +7700,8 @@ extension SendbirdUIKit.SBUGroupChannelModule { @_Concurrency.MainActor(unsafe) @objc override open func setupLayouts() @_Concurrency.MainActor(unsafe) @objc override open func pickImageFile(info: [UIKit.UIImagePickerController.InfoKey : Any]) @_Concurrency.MainActor(unsafe) @objc override open func pickVideoFile(info: [UIKit.UIImagePickerController.InfoKey : Any]) + @objc @available(iOS 14.0, *) + @_Concurrency.MainActor(unsafe) open func pickMultipleImageFiles(itemProviders: [Foundation.NSItemProvider]) @available(iOS 14.0, *) @_Concurrency.MainActor(unsafe) @objc override open func pickImageFile(itemProvider: Foundation.NSItemProvider) @available(iOS 14.0, *) @@ -7744,6 +7932,27 @@ public enum SBUIconSetType : Swift.String, Swift.Hashable { case iconPause case iconRecording case iconStop + public struct Metric { + public static let defaultIconSizeVerySmall: CoreFoundation.CGSize + public static let defaultIconSizeSmall: CoreFoundation.CGSize + public static let defaultIconSizeMedium: CoreFoundation.CGSize + public static let defaultIconSize: CoreFoundation.CGSize + public static let defaultIconSizeLarge: CoreFoundation.CGSize + public static let defaultIconSizeVeryLarge: CoreFoundation.CGSize + public static let quotedMessageIconSize: CoreFoundation.CGSize + public static let iconActionSheetItem: CoreFoundation.CGSize + public static let iconEmojiSmall: CoreFoundation.CGSize + public static let iconEmojiLarge: CoreFoundation.CGSize + public static let iconEmptyView: CoreFoundation.CGSize + public static let iconGifPlay: CoreFoundation.CGSize + public static let iconSpinnerLarge: CoreFoundation.CGSize + public static let iconSpinnerSizeForTemplate: CoreFoundation.CGSize + public static let iconUserProfile: CoreFoundation.CGSize + public static let iconUserProfileInChat: CoreFoundation.CGSize + public static let iconChevronDown: CoreFoundation.CGSize + public static let iconVoiceMessageSize: CoreFoundation.CGSize + } + public func image(with tintColor: UIKit.UIColor? = nil, to size: CoreFoundation.CGSize, tintAndResize: Swift.Bool = true) -> UIKit.UIImage public init?(rawValue: Swift.String) public typealias RawValue = Swift.String public var rawValue: Swift.String { @@ -7934,28 +8143,6 @@ open class SBUInviteUserModule { required public init(headerComponent: SendbirdUIKit.SBUInviteUserModule.Header? = nil, listComponent: SendbirdUIKit.SBUInviteUserModule.List? = nil) @objc deinit } -@objc @_hasMissingDesignatedInitializers @_Concurrency.MainActor(unsafe) public class SBUPaddingLabel : UIKit.UILabel { - @_Concurrency.MainActor(unsafe) public var top: CoreFoundation.CGFloat { - get - } - @_Concurrency.MainActor(unsafe) public var bottom: CoreFoundation.CGFloat { - get - } - @_Concurrency.MainActor(unsafe) public var leading: CoreFoundation.CGFloat { - get - } - @_Concurrency.MainActor(unsafe) public var trailing: CoreFoundation.CGFloat { - get - } - @_Concurrency.MainActor(unsafe) convenience public init(_ all: CoreFoundation.CGFloat) - @_Concurrency.MainActor(unsafe) convenience public init(_ vertical: CoreFoundation.CGFloat, _ horizontal: CoreFoundation.CGFloat) - @_Concurrency.MainActor(unsafe) public init(_ top: CoreFoundation.CGFloat = 0, _ bottom: CoreFoundation.CGFloat = 0, _ leading: CoreFoundation.CGFloat = 0, _ trailing: CoreFoundation.CGFloat = 0) - @_Concurrency.MainActor(unsafe) @objc override dynamic public func drawText(in rect: CoreFoundation.CGRect) - @_Concurrency.MainActor(unsafe) @objc override dynamic public var intrinsicContentSize: CoreFoundation.CGSize { - @objc get - } - @objc deinit -} @objc @_inheritsConvenienceInitializers @IBDesignable @_Concurrency.MainActor(unsafe) open class SBUUserMessageCell : SendbirdUIKit.SBUContentBaseMessageCell, SendbirdUIKit.SBUUserMessageTextViewDelegate { @objc @_Concurrency.MainActor(unsafe) public var messageTextView: UIKit.UIView { @objc get @@ -8309,6 +8496,7 @@ public protocol SBUMessageThreadViewControllerDelegate : AnyObject { @_Concurrency.MainActor(unsafe) @objc override dynamic open func viewWillAppear(_ animated: Swift.Bool) @_Concurrency.MainActor(unsafe) @objc override dynamic open func viewDidLoad() @_Concurrency.MainActor(unsafe) @objc override dynamic open func viewWillDisappear(_ animated: Swift.Bool) + @_Concurrency.MainActor(unsafe) @objc override dynamic open func viewWillTransition(to size: CoreFoundation.CGSize, with coordinator: UIKit.UIViewControllerTransitionCoordinator) @_Concurrency.MainActor(unsafe) @objc override open func applicationWillResignActivity() @_Concurrency.MainActor(unsafe) @objc override open func willPresentSubview() @objc deinit @@ -8316,11 +8504,14 @@ public protocol SBUMessageThreadViewControllerDelegate : AnyObject { @_Concurrency.MainActor(unsafe) @objc override open func setupViews() @_Concurrency.MainActor(unsafe) @objc override open func setupLayouts() @_Concurrency.MainActor(unsafe) @objc override open func setupStyles() + @_Concurrency.MainActor(unsafe) @objc override open func updateStyles(needsToLayout: Swift.Bool) @_Concurrency.MainActor(unsafe) @objc override open func updateStyles() @objc @_Concurrency.MainActor(unsafe) public func moveToParentMessage() @discardableResult @_Concurrency.MainActor(unsafe) @objc override public func increaseNewMessageCount() -> Swift.Bool @_Concurrency.MainActor(unsafe) @objc override public func updateChannelTitle() + @available(iOS 14, *) + @_Concurrency.MainActor(unsafe) override open func picker(_ picker: PhotosUI.PHPickerViewController, didFinishPicking results: [PhotosUI.PHPickerResult]) @_Concurrency.MainActor(unsafe) @objc override open func showVoiceMessageInput() @_Concurrency.MainActor(unsafe) @objc override open func dismissVoiceMessageInput() @_Concurrency.MainActor(unsafe) @objc override open func resetVoiceMessageInput(for resignActivity: Swift.Bool = false) @@ -8328,6 +8519,7 @@ public protocol SBUMessageThreadViewControllerDelegate : AnyObject { @objc @_Concurrency.MainActor(unsafe) open func messageThreadViewModel(_ viewModel: SendbirdUIKit.SBUMessageThreadViewModel, didLoadParentMessage parentMessage: SendbirdChatSDK.BaseMessage?) @objc @_Concurrency.MainActor(unsafe) public func messageThreadViewModel(_ viewModel: SendbirdUIKit.SBUMessageThreadViewModel, didUpdateParentMessage parentMessage: SendbirdChatSDK.BaseMessage?) @objc @_Concurrency.MainActor(unsafe) open func messageThreadViewModelShouldDismissMessageThread(_ viewModel: SendbirdUIKit.SBUMessageThreadViewModel) + @objc @_Concurrency.MainActor(unsafe) public func messageThreadViewModel(_ viewModel: SendbirdUIKit.SBUMessageThreadViewModel, didFinishUploadingFileAt index: Swift.Int, multipleFilesMessageRequestId requestId: Swift.String) @_Concurrency.MainActor(unsafe) @objc override open func baseChannelModule(_ headerComponent: SendbirdUIKit.SBUBaseChannelModule.Header, didUpdateTitleView titleView: UIKit.UIView?) @_Concurrency.MainActor(unsafe) @objc override open func baseChannelModule(_ headerComponent: SendbirdUIKit.SBUBaseChannelModule.Header, didTapTitleView titleView: UIKit.UIView?) @_Concurrency.MainActor(unsafe) @objc override open func baseChannelModule(_ headerComponent: SendbirdUIKit.SBUBaseChannelModule.Header, didTapLeftItem leftItem: UIKit.UIBarButtonItem) @@ -8335,11 +8527,14 @@ public protocol SBUMessageThreadViewControllerDelegate : AnyObject { @objc @_Concurrency.MainActor(unsafe) open func messageThreadModule(_ listComponent: SendbirdUIKit.SBUMessageThreadModule.List, didLongTapEmoji emojiKey: Swift.String, messageCell: SendbirdUIKit.SBUBaseMessageCell) @objc @_Concurrency.MainActor(unsafe) open func messageThreadModule(_ listComponent: SendbirdUIKit.SBUMessageThreadModule.List, didTapMoreEmojiForCell messageCell: SendbirdUIKit.SBUBaseMessageCell) @objc @_Concurrency.MainActor(unsafe) open func messageThreadModule(_ listComponent: SendbirdUIKit.SBUMessageThreadModule.List, didTapMentionUser user: SendbirdUIKit.SBUUser) + @objc @_Concurrency.MainActor(unsafe) public func messageThreadModule(_ listComponent: SendbirdUIKit.SBUMessageThreadModule.List, didSelectFileAt index: Swift.Int, multipleFilesMessageCell: SendbirdUIKit.SBUMultipleFilesMessageCell, forRowAt cellIndexPath: Foundation.IndexPath) + @objc @_Concurrency.MainActor(unsafe) public func messageThreadModule(_ listComponent: SendbirdUIKit.SBUMessageThreadModule.List, uploadedFileInfo: SendbirdChatSDK.UploadedFileInfo, message: SendbirdChatSDK.MultipleFilesMessage, index: Swift.Int) @_Concurrency.MainActor(unsafe) @objc override open func baseChannelModule(_ listComponent: SendbirdUIKit.SBUBaseChannelModule.List, didScroll scrollView: UIKit.UIScrollView) @_Concurrency.MainActor(unsafe) @objc override open func baseChannelModule(_ listComponent: SendbirdUIKit.SBUBaseChannelModule.List, didTapVoiceMessage fileMessage: SendbirdChatSDK.FileMessage, cell: UIKit.UITableViewCell, forRowAt indexPath: Foundation.IndexPath) @_Concurrency.MainActor(unsafe) @objc override open func baseChannelModule(_ listComponent: SendbirdUIKit.SBUBaseChannelModule.List, willDisplay cell: UIKit.UITableViewCell, forRowAt indexPath: Foundation.IndexPath) @_Concurrency.MainActor(unsafe) @objc override open func baseChannelModule(_ inputComponent: SendbirdUIKit.SBUBaseChannelModule.Input, didUpdateFrozenState isFrozen: Swift.Bool) @objc @_Concurrency.MainActor(unsafe) open func messageThreadModule(_ inputComponent: SendbirdUIKit.SBUMessageThreadModule.Input, didPickFileData fileData: Foundation.Data?, fileName: Swift.String, mimeType: Swift.String, parentMessage: SendbirdChatSDK.BaseMessage?) + @objc @_Concurrency.MainActor(unsafe) public func messageThreadModule(_ inputComponent: SendbirdUIKit.SBUMessageThreadModule.Input, didPickMultipleFiles fileInfoList: [SendbirdChatSDK.UploadableFileInfo], parentMessage: SendbirdChatSDK.BaseMessage) @objc @_Concurrency.MainActor(unsafe) open func messageThreadModule(_ inputComponent: SendbirdUIKit.SBUMessageThreadModule.Input, didTapSend text: Swift.String, mentionedMessageTemplate: Swift.String, mentionedUserIds: [Swift.String], parentMessage: SendbirdChatSDK.BaseMessage?) @objc @_Concurrency.MainActor(unsafe) open func messageThreadModule(_ inputComponent: SendbirdUIKit.SBUMessageThreadModule.Input, didTapEdit text: Swift.String, mentionedMessageTemplate: Swift.String, mentionedUserIds: [Swift.String]) @objc @_Concurrency.MainActor(unsafe) open func messageThreadModule(_ inputComponent: SendbirdUIKit.SBUMessageThreadModule.Input, willChangeMode mode: SendbirdUIKit.SBUMessageInputMode, message: SendbirdChatSDK.BaseMessage?, mentionedMessageTemplate: Swift.String, mentionedUserIds: [Swift.String]) @@ -8364,6 +8559,8 @@ public typealias SBUFileViewerDelegate = SendbirdUIKit.SBUFileViewControllerDele public protocol SBUFileViewControllerDelegate : AnyObject { func didSelectDeleteImage(message: SendbirdChatSDK.FileMessage) } +public struct SBUFileData { +} @objc @_Concurrency.MainActor(unsafe) open class SBUFileViewController : SendbirdUIKit.SBUBaseViewController, UIKit.UIScrollViewDelegate, SendbirdUIKit.SBUAlertViewDelegate { @objc @_Concurrency.MainActor(unsafe) public var leftBarButton: UIKit.UIBarButtonItem? { @objc get @@ -8386,7 +8583,9 @@ public protocol SBUFileViewControllerDelegate : AnyObject { @objc set } @objc @_Concurrency.MainActor(unsafe) public var bottomView: UIKit.UIView - @_Concurrency.MainActor(unsafe) required public init(fileMessage: SendbirdChatSDK.FileMessage, delegate: SendbirdUIKit.SBUFileViewControllerDelegate?) + @_Concurrency.MainActor(unsafe) required convenience public init(fileMessage: SendbirdChatSDK.FileMessage, delegate: SendbirdUIKit.SBUFileViewControllerDelegate?) + @_Concurrency.MainActor(unsafe) required public init(fileData: SendbirdUIKit.SBUFileData, delegate: SendbirdUIKit.SBUFileViewControllerDelegate?) + @available(*, unavailable, renamed: "init(params:delegate:)") @_Concurrency.MainActor(unsafe) @objc required dynamic public init?(coder: Foundation.NSCoder) @_Concurrency.MainActor(unsafe) @objc override dynamic open func viewDidLoad() @_Concurrency.MainActor(unsafe) @objc override dynamic open func viewWillAppear(_ animated: Swift.Bool) @@ -9050,7 +9249,7 @@ public class SBUMessageCellTheme { public static var overlay: SendbirdUIKit.SBUMessageCellTheme { get } - public init(backgroundColor: UIKit.UIColor = SBUColorSet.background50, leftBackgroundColor: UIKit.UIColor = SBUColorSet.background100, leftPressedBackgroundColor: UIKit.UIColor = SBUColorSet.primary100, rightBackgroundColor: UIKit.UIColor = SBUColorSet.primary300, rightPressedBackgroundColor: UIKit.UIColor = SBUColorSet.primary400, openChannelBackgroundColor: UIKit.UIColor = .clear, openChannelPressedBackgroundColor: UIKit.UIColor = SBUColorSet.background100, dateFont: UIKit.UIFont = SBUFontSet.caption1, dateTextColor: UIKit.UIColor = SBUColorSet.ondark01, dateBackgroundColor: UIKit.UIColor = SBUColorSet.overlay02, userPlaceholderBackgroundColor: UIKit.UIColor = SBUColorSet.background300, userPlaceholderTintColor: UIKit.UIColor = SBUColorSet.ondark01, userNameFont: UIKit.UIFont = SBUFontSet.caption1, userNameTextColor: UIKit.UIColor = SBUColorSet.onlight02, currentUserNameTextColor: UIKit.UIColor = SBUColorSet.secondary300, timeFont: UIKit.UIFont = SBUFontSet.caption4, timeTextColor: UIKit.UIColor = SBUColorSet.onlight03, pendingStateColor: UIKit.UIColor = SBUColorSet.primary300, failedStateColor: UIKit.UIColor = SBUColorSet.error300, succeededStateColor: UIKit.UIColor = SBUColorSet.onlight03, readReceiptStateColor: UIKit.UIColor = SBUColorSet.secondary300, deliveryReceiptStateColor: UIKit.UIColor = SBUColorSet.onlight03, userMessageFont: UIKit.UIFont = SBUFontSet.body3, userMessageLeftTextColor: UIKit.UIColor = SBUColorSet.onlight01, userMessageLeftEditTextColor: UIKit.UIColor = SBUColorSet.onlight02, userMessageLeftHighlightTextColor: UIKit.UIColor = SBUColorSet.onlight01, userMessageRightTextColor: UIKit.UIColor = SBUColorSet.ondark01, userMessageRightEditTextColor: UIKit.UIColor = SBUColorSet.ondark02, userMessageRightHighlightTextColor: UIKit.UIColor = SBUColorSet.onlight01, fileIconBackgroundColor: UIKit.UIColor = SBUColorSet.background50, fileImageBackgroundColor: UIKit.UIColor = SBUColorSet.ondark01, fileImageIconColor: UIKit.UIColor = SBUColorSet.onlight02, fileIconColor: UIKit.UIColor = SBUColorSet.primary300, fileMessageNameFont: UIKit.UIFont = SBUFontSet.body3, fileMessageLeftTextColor: UIKit.UIColor = SBUColorSet.onlight01, fileMessageRightTextColor: UIKit.UIColor = SBUColorSet.ondark01, fileMessagePlaceholderColor: UIKit.UIColor = SBUColorSet.onlight02, adminMessageFont: UIKit.UIFont = SBUFontSet.caption2, adminMessageTextColor: UIKit.UIColor = SBUColorSet.onlight02, unknownMessageDescFont: UIKit.UIFont = SBUFontSet.body3, unknownMessageDescLeftTextColor: UIKit.UIColor = SBUColorSet.onlight02, unknownMessageDescRightTextColor: UIKit.UIColor = SBUColorSet.ondark02, ogTitleFont: UIKit.UIFont = SBUFontSet.body2, ogTitleColor: UIKit.UIColor = SBUColorSet.onlight01, ogDescriptionFont: UIKit.UIFont = SBUFontSet.caption2, ogDescriptionColor: UIKit.UIColor = SBUColorSet.onlight01, ogURLAddressFont: UIKit.UIFont = SBUFontSet.caption2, ogURLAddressColor: UIKit.UIColor = SBUColorSet.onlight02, openChannelOGTitleColor: UIKit.UIColor = SBUColorSet.primary300, linkColor: UIKit.UIColor = SBUColorSet.primary300, contentBackgroundColor: UIKit.UIColor = SBUColorSet.background100, pressedContentBackgroundColor: UIKit.UIColor = SBUColorSet.background300, quotedMessageLeftBackgroundColor: UIKit.UIColor = SBUColorSet.background100.withAlphaComponent(0.5), quotedMessageRightBackgroundColor: UIKit.UIColor = SBUColorSet.background100, quotedFileMessageThumbnailColor: UIKit.UIColor = SBUColorSet.onlight02, quotedMessageTextColor: UIKit.UIColor = SBUColorSet.onlight03, quotedMessageTextFont: UIKit.UIFont = SBUFontSet.body3, repliedIconColor: UIKit.UIColor = SBUColorSet.onlight03, repliedToTextColor: UIKit.UIColor = SBUColorSet.onlight03, repliedToTextFont: UIKit.UIFont = SBUFontSet.caption1, repliedCountTextColor: UIKit.UIColor = SBUColorSet.primary300, repliedCountTextFont: UIKit.UIFont = SBUFontSet.caption3, repliedUsersMoreIconBackgroundColor: UIKit.UIColor = SBUColorSet.background700.withAlphaComponent(0.64), repliedUsersMoreIconTintColor: UIKit.UIColor = SBUColorSet.ondark01, mentionTextFont: UIKit.UIFont = SBUFontSet.body4, mentionLeftTextColor: UIKit.UIColor = SBUColorSet.onlight01, mentionRightTextColor: UIKit.UIColor = SBUColorSet.ondark01, mentionLeftTextBackgroundColor: UIKit.UIColor = .clear, mentionRightTextBackgroundColor: UIKit.UIColor = .clear, buttonBackgroundColor: UIKit.UIColor = SBUColorSet.background200, buttonTitleColor: UIKit.UIColor = SBUColorSet.primary300, sideButtonIconColor: UIKit.UIColor = SBUColorSet.onlight03, newMessageBadgeColor: UIKit.UIColor = SBUColorSet.secondary300, parentInfoBackgroundColor: UIKit.UIColor = SBUColorSet.background50, parentInfoUserNameTextFont: UIKit.UIFont = SBUFontSet.h3, parentInfoUserNameTextColor: UIKit.UIColor = SBUColorSet.onlight01, parentInfoDateFont: UIKit.UIFont = SBUFontSet.caption2, parentInfoDateTextColor: UIKit.UIColor = SBUColorSet.onlight03, parentInfoMoreButtonTintColor: UIKit.UIColor = SBUColorSet.onlight02, parentInfoSeparateBarColor: UIKit.UIColor = SBUColorSet.onlight04, parentInfoReplyCountTextColor: UIKit.UIColor = SBUColorSet.onlight03, parentInfoReplyCountTextFont: UIKit.UIFont = SBUFontSet.body3, parentInfoProgressBackgroundColor: UIKit.UIColor = SBUColorSet.background100, progressTrackTintColor: UIKit.UIColor = SBUColorSet.onlight03, progressTimeFont: UIKit.UIFont = SBUFontSet.body3, progressTimeRightTextColor: UIKit.UIColor = SBUColorSet.ondark01, progressTimeLeftTextColor: UIKit.UIColor = SBUColorSet.onlight01, statusButtonBackgroundColor: UIKit.UIColor = SBUColorSet.background50, loadingButtonTintColor: UIKit.UIColor = SBUColorSet.primary200, playButtonTintColor: UIKit.UIColor = SBUColorSet.primary300, pauseButtonTintColor: UIKit.UIColor = SBUColorSet.primary300) + public init(backgroundColor: UIKit.UIColor = SBUColorSet.background50, leftBackgroundColor: UIKit.UIColor = SBUColorSet.background100, leftPressedBackgroundColor: UIKit.UIColor = SBUColorSet.primary100, rightBackgroundColor: UIKit.UIColor = SBUColorSet.primary300, rightPressedBackgroundColor: UIKit.UIColor = SBUColorSet.primary400, openChannelBackgroundColor: UIKit.UIColor = .clear, openChannelPressedBackgroundColor: UIKit.UIColor = SBUColorSet.background100, dateFont: UIKit.UIFont = SBUFontSet.caption1, dateTextColor: UIKit.UIColor = SBUColorSet.ondark01, dateBackgroundColor: UIKit.UIColor = SBUColorSet.overlay02, userPlaceholderBackgroundColor: UIKit.UIColor = SBUColorSet.background300, userPlaceholderTintColor: UIKit.UIColor = SBUColorSet.ondark01, userNameFont: UIKit.UIFont = SBUFontSet.caption1, userNameTextColor: UIKit.UIColor = SBUColorSet.onlight02, currentUserNameTextColor: UIKit.UIColor = SBUColorSet.secondary300, timeFont: UIKit.UIFont = SBUFontSet.caption4, timeTextColor: UIKit.UIColor = SBUColorSet.onlight03, pendingStateColor: UIKit.UIColor = SBUColorSet.primary300, failedStateColor: UIKit.UIColor = SBUColorSet.error300, succeededStateColor: UIKit.UIColor = SBUColorSet.onlight03, readReceiptStateColor: UIKit.UIColor = SBUColorSet.secondary300, deliveryReceiptStateColor: UIKit.UIColor = SBUColorSet.onlight03, userMessageFont: UIKit.UIFont = SBUFontSet.body3, userMessageLeftTextColor: UIKit.UIColor = SBUColorSet.onlight01, userMessageLeftEditTextColor: UIKit.UIColor = SBUColorSet.onlight02, userMessageLeftHighlightTextColor: UIKit.UIColor = SBUColorSet.onlight01, userMessageRightTextColor: UIKit.UIColor = SBUColorSet.ondark01, userMessageRightEditTextColor: UIKit.UIColor = SBUColorSet.ondark02, userMessageRightHighlightTextColor: UIKit.UIColor = SBUColorSet.onlight01, fileIconBackgroundColor: UIKit.UIColor = SBUColorSet.background50, fileImageBackgroundColor: UIKit.UIColor = SBUColorSet.ondark01, fileImageIconColor: UIKit.UIColor = SBUColorSet.onlight02, fileIconColor: UIKit.UIColor = SBUColorSet.primary300, fileMessageNameFont: UIKit.UIFont = SBUFontSet.body3, fileMessageLeftTextColor: UIKit.UIColor = SBUColorSet.onlight01, fileMessageRightTextColor: UIKit.UIColor = SBUColorSet.ondark01, fileMessagePlaceholderColor: UIKit.UIColor = SBUColorSet.onlight02, adminMessageFont: UIKit.UIFont = SBUFontSet.caption2, adminMessageTextColor: UIKit.UIColor = SBUColorSet.onlight02, unknownMessageDescFont: UIKit.UIFont = SBUFontSet.body3, unknownMessageDescLeftTextColor: UIKit.UIColor = SBUColorSet.onlight02, unknownMessageDescRightTextColor: UIKit.UIColor = SBUColorSet.ondark02, ogTitleFont: UIKit.UIFont = SBUFontSet.body2, ogTitleColor: UIKit.UIColor = SBUColorSet.onlight01, ogDescriptionFont: UIKit.UIFont = SBUFontSet.caption2, ogDescriptionColor: UIKit.UIColor = SBUColorSet.onlight01, ogURLAddressFont: UIKit.UIFont = SBUFontSet.caption2, ogURLAddressColor: UIKit.UIColor = SBUColorSet.onlight02, openChannelOGTitleColor: UIKit.UIColor = SBUColorSet.primary300, linkColor: UIKit.UIColor = SBUColorSet.primary300, contentBackgroundColor: UIKit.UIColor = SBUColorSet.background100, pressedContentBackgroundColor: UIKit.UIColor = SBUColorSet.background300, quotedMessageLeftBackgroundColor: UIKit.UIColor = SBUColorSet.background100.withAlphaComponent(0.5), quotedMessageRightBackgroundColor: UIKit.UIColor = SBUColorSet.background100, quotedFileMessageThumbnailColor: UIKit.UIColor = SBUColorSet.onlight02, quotedMessageTextColor: UIKit.UIColor = SBUColorSet.onlight03, quotedMessageTextFont: UIKit.UIFont = SBUFontSet.body3, repliedIconColor: UIKit.UIColor = SBUColorSet.onlight03, repliedToTextColor: UIKit.UIColor = SBUColorSet.onlight03, repliedToTextFont: UIKit.UIFont = SBUFontSet.caption1, repliedCountTextColor: UIKit.UIColor = SBUColorSet.primary300, repliedCountTextFont: UIKit.UIFont = SBUFontSet.caption3, repliedUsersMoreIconBackgroundColor: UIKit.UIColor = SBUColorSet.background700.withAlphaComponent(0.64), repliedUsersMoreIconTintColor: UIKit.UIColor = SBUColorSet.ondark01, mentionTextFont: UIKit.UIFont = SBUFontSet.body4, mentionLeftTextColor: UIKit.UIColor = SBUColorSet.onlight01, mentionRightTextColor: UIKit.UIColor = SBUColorSet.ondark01, mentionLeftTextBackgroundColor: UIKit.UIColor = .clear, mentionRightTextBackgroundColor: UIKit.UIColor = .clear, buttonBackgroundColor: UIKit.UIColor = SBUColorSet.background200, buttonTitleColor: UIKit.UIColor = SBUColorSet.primary300, sideButtonIconColor: UIKit.UIColor = SBUColorSet.onlight03, newMessageBadgeColor: UIKit.UIColor = SBUColorSet.secondary300, parentInfoBackgroundColor: UIKit.UIColor = SBUColorSet.background50, parentInfoUserNameTextFont: UIKit.UIFont = SBUFontSet.h3, parentInfoUserNameTextColor: UIKit.UIColor = SBUColorSet.onlight01, parentInfoDateFont: UIKit.UIFont = SBUFontSet.caption2, parentInfoDateTextColor: UIKit.UIColor = SBUColorSet.onlight03, parentInfoMoreButtonTintColor: UIKit.UIColor = SBUColorSet.onlight02, parentInfoSeparateBarColor: UIKit.UIColor = SBUColorSet.onlight04, parentInfoReplyCountTextColor: UIKit.UIColor = SBUColorSet.onlight03, parentInfoReplyCountTextFont: UIKit.UIFont = SBUFontSet.body3, parentInfoProgressBackgroundColor: UIKit.UIColor = SBUColorSet.background100, progressTrackTintColor: UIKit.UIColor = SBUColorSet.onlight03, progressTimeFont: UIKit.UIFont = SBUFontSet.body3, progressTimeRightTextColor: UIKit.UIColor = SBUColorSet.ondark01, progressTimeLeftTextColor: UIKit.UIColor = SBUColorSet.onlight01, statusButtonBackgroundColor: UIKit.UIColor = SBUColorSet.background50, loadingButtonTintColor: UIKit.UIColor = SBUColorSet.primary200, playButtonTintColor: UIKit.UIColor = SBUColorSet.primary300, pauseButtonTintColor: UIKit.UIColor = SBUColorSet.primary300, multipleFilesMessageFileOverlayColor: UIKit.UIColor = SBUColorSet.overlay02) public var backgroundColor: UIKit.UIColor public var leftBackgroundColor: UIKit.UIColor public var leftPressedBackgroundColor: UIKit.UIColor @@ -9088,6 +9287,7 @@ public class SBUMessageCellTheme { public var fileMessageLeftTextColor: UIKit.UIColor public var fileMessageRightTextColor: UIKit.UIColor public var fileMessagePlaceholderColor: UIKit.UIColor + public var multipleFilesMessageFileOverlayColor: UIKit.UIColor public var adminMessageFont: UIKit.UIFont public var adminMessageTextColor: UIKit.UIColor public var unknownMessageDescFont: UIKit.UIFont @@ -9488,8 +9688,8 @@ public class SBUMessageTemplateTheme { @objc @_inheritsConvenienceInitializers @_Concurrency.MainActor(unsafe) open class SBUImageContentView : SendbirdUIKit.SBUBaseFileContentView { @_Concurrency.MainActor(unsafe) public var imageView: UIKit.UIImageView @_Concurrency.MainActor(unsafe) public var iconImageView: UIKit.UIImageView - @_Concurrency.MainActor(unsafe) public var widthConstraint: UIKit.NSLayoutConstraint! - @_Concurrency.MainActor(unsafe) public var heightConstraint: UIKit.NSLayoutConstraint! + @_Concurrency.MainActor(unsafe) public var widthConstraint: UIKit.NSLayoutConstraint? + @_Concurrency.MainActor(unsafe) public var heightConstraint: UIKit.NSLayoutConstraint? @_Concurrency.MainActor(unsafe) @objc override dynamic open func setupViews() @_Concurrency.MainActor(unsafe) @objc override dynamic open func setupLayouts() @_Concurrency.MainActor(unsafe) open func setupSizeContraint() @@ -9578,14 +9778,16 @@ public protocol SBUUserMessageTextViewDelegate : AnyObject { @_Concurrency.MainActor(unsafe) public var textView: SendbirdUIKit.SBULinkClickableTextView @_Concurrency.MainActor(unsafe) public var channelType: SendbirdChatSDK.ChannelType @_Concurrency.MainActor(unsafe) public var isWebType: Swift.Bool - @_Concurrency.MainActor(unsafe) public var textLeftConstraint: UIKit.NSLayoutConstraint! - @_Concurrency.MainActor(unsafe) public var textRightConstraint: UIKit.NSLayoutConstraint! @_Concurrency.MainActor(unsafe) public var mentionManager: SendbirdUIKit.SBUMentionManager? @_Concurrency.MainActor(unsafe) public var removeMargin: Swift.Bool @_Concurrency.MainActor(unsafe) public var needsToRemoveMargin: Swift.Bool { get } @_Concurrency.MainActor(unsafe) weak public var delegate: SendbirdUIKit.SBUUserMessageTextViewDelegate? + @_Concurrency.MainActor(unsafe) public var textTopConstraint: UIKit.NSLayoutConstraint? + @_Concurrency.MainActor(unsafe) public var textBottomConstraint: UIKit.NSLayoutConstraint? + @_Concurrency.MainActor(unsafe) public var textLeftConstraint: UIKit.NSLayoutConstraint? + @_Concurrency.MainActor(unsafe) public var textRightConstraint: UIKit.NSLayoutConstraint? @_Concurrency.MainActor(unsafe) @objc override dynamic public init() @_Concurrency.MainActor(unsafe) @objc override dynamic public init(frame: CoreFoundation.CGRect) @_Concurrency.MainActor(unsafe) public init(channelType: SendbirdChatSDK.ChannelType = .group, removeMargin: Swift.Bool = false) @@ -9959,6 +10161,7 @@ public protocol SBUMessageThreadViewModelDelegate : SendbirdUIKit.SBUBaseChannel func messageThreadViewModel(_ viewModel: SendbirdUIKit.SBUMessageThreadViewModel, didLoadParentMessage parentMessage: SendbirdChatSDK.BaseMessage?) func messageThreadViewModel(_ viewModel: SendbirdUIKit.SBUMessageThreadViewModel, didUpdateParentMessage parentMessage: SendbirdChatSDK.BaseMessage?) func messageThreadViewModelShouldDismissMessageThread(_ viewModel: SendbirdUIKit.SBUMessageThreadViewModel) + func messageThreadViewModel(_ viewModel: SendbirdUIKit.SBUMessageThreadViewModel, didFinishUploadingFileAt index: Swift.Int, multipleFilesMessageRequestId requestId: Swift.String) } @objc open class SBUMessageThreadViewModel : SendbirdUIKit.SBUBaseChannelViewModel { weak public var delegate: SendbirdUIKit.SBUMessageThreadViewModelDelegate? { @@ -9975,6 +10178,7 @@ public protocol SBUMessageThreadViewModelDelegate : SendbirdUIKit.SBUBaseChannel public var threadedMessageListParams: SendbirdChatSDK.ThreadedMessageListParams { get } + public var sendMultipleFilesMessageCompletionHandler: SendbirdChatSDK.MultipleFilesMessageHandler? public init(channel: SendbirdChatSDK.BaseChannel? = nil, channelURL: Swift.String? = nil, parentMessage: SendbirdChatSDK.BaseMessage? = nil, parentMessageId: Swift.Int64? = 0, threadedMessageListParams: SendbirdChatSDK.ThreadedMessageListParams? = nil, startingPoint: Swift.Int64? = .max, delegate: SendbirdUIKit.SBUMessageThreadViewModelDelegate? = nil, dataSource: SendbirdUIKit.SBUMessageThreadViewModelDataSource? = nil) @objc deinit public func loadChannelAndMessages(channelURL: Swift.String?) @@ -9987,6 +10191,8 @@ public protocol SBUMessageThreadViewModelDelegate : SendbirdUIKit.SBUBaseChannel public func loadPrevMessages(timestamp: Swift.Int64?) override public func loadNextMessages() public func loadBothMessages(timestamp: Swift.Int64?, showIndicator: Swift.Bool) + public func sendMultipleFilesMessage(fileInfoList: [SendbirdChatSDK.UploadableFileInfo], parentMessageId: Swift.Int64) + public func updateMultipleFilesMessageCell(requestId: Swift.String, index: Swift.Int) open func setupSendUserMessageCompletionHandlers() open func setupSendFileMessageCompletionHandlers() override public func sortAllMessageList(needReload: Swift.Bool) @@ -10026,6 +10232,37 @@ extension SendbirdUIKit.SBUMessageThreadViewModel : SendbirdChatSDK.MessageColle @objc dynamic open func messageCollection(_ collection: SendbirdChatSDK.MessageCollection, context: SendbirdChatSDK.MessageContext, updatedChannel channel: SendbirdChatSDK.GroupChannel) @objc dynamic open func messageCollection(_ collection: SendbirdChatSDK.MessageCollection, context: SendbirdChatSDK.MessageContext, deletedChannel channelURL: Swift.String) } +@objc @_inheritsConvenienceInitializers @_Concurrency.MainActor(unsafe) open class SBUMultipleFilesMessageCell : SendbirdUIKit.SBUContentBaseMessageCell, UIKit.UICollectionViewDelegate, UIKit.UICollectionViewDataSource { + @objc @_Concurrency.MainActor(unsafe) public var multipleFilesMessage: SendbirdChatSDK.MultipleFilesMessage? { + @objc get + } + @objc @_Concurrency.MainActor(unsafe) public var containerView: UIKit.UIView + @objc @_Concurrency.MainActor(unsafe) public var collectionView: SendbirdUIKit.SBUMultipleFilesMessageCollectionView { + @objc get + @objc set + } + @objc @_Concurrency.MainActor(unsafe) public var collectionViewHeightConstraint: UIKit.NSLayoutConstraint! { + get + } + @objc @_Concurrency.MainActor(unsafe) public var fileSelectHandler: ((_ fileInfo: SendbirdChatSDK.UploadedFileInfo, _ index: Swift.Int) -> Swift.Void)? + @_Concurrency.MainActor(unsafe) @objc override dynamic open func setupViews() + @_Concurrency.MainActor(unsafe) @objc override dynamic open func setupLayouts() + @_Concurrency.MainActor(unsafe) @objc override dynamic open func setupStyles() + @_Concurrency.MainActor(unsafe) @objc override dynamic open func setupActions() + @_Concurrency.MainActor(unsafe) override open func configure(with configuration: SendbirdUIKit.SBUBaseMessageCellParams) + @_Concurrency.MainActor(unsafe) @objc override dynamic open func setSelected(_ selected: Swift.Bool, animated: Swift.Bool) + @_Concurrency.MainActor(unsafe) @objc override dynamic public init(style: UIKit.UITableViewCell.CellStyle, reuseIdentifier: Swift.String?) + @_Concurrency.MainActor(unsafe) @objc required dynamic public init?(coder: Foundation.NSCoder) + @objc deinit +} +extension SendbirdUIKit.SBUMultipleFilesMessageCell : UIKit.UICollectionViewDelegateFlowLayout { + @_Concurrency.MainActor(unsafe) @objc dynamic open func collectionView(_ collectionView: UIKit.UICollectionView, cellForItemAt indexPath: Foundation.IndexPath) -> UIKit.UICollectionViewCell + @_Concurrency.MainActor(unsafe) @objc dynamic open func collectionView(_ collectionView: UIKit.UICollectionView, numberOfItemsInSection section: Swift.Int) -> Swift.Int + @_Concurrency.MainActor(unsafe) @objc dynamic open func numberOfSections(in collectionView: UIKit.UICollectionView) -> Swift.Int + @_Concurrency.MainActor(unsafe) @objc dynamic open func collectionView(_ collectionView: UIKit.UICollectionView, didSelectItemAt indexPath: Foundation.IndexPath) + @_Concurrency.MainActor(unsafe) @objc dynamic open func collectionView(_ collectionView: UIKit.UICollectionView, layout collectionViewLayout: UIKit.UICollectionViewLayout, sizeForItemAt indexPath: Foundation.IndexPath) -> CoreFoundation.CGSize + @_Concurrency.MainActor(unsafe) @objc override dynamic open func prepareForReuse() +} public protocol SBUUserListModuleHeaderDelegate : SendbirdUIKit.SBUCommonDelegate { func userListModule(_ headerComponent: SendbirdUIKit.SBUUserListModule.Header, didUpdateTitleView titleView: UIKit.UIView?) func userListModule(_ headerComponent: SendbirdUIKit.SBUUserListModule.Header, didUpdateLeftItem leftItem: UIKit.UIBarButtonItem?) @@ -10212,6 +10449,7 @@ public protocol SBUGroupChannelViewModelDataSource : SendbirdUIKit.SBUBaseChanne } public protocol SBUGroupChannelViewModelDelegate : SendbirdUIKit.SBUBaseChannelViewModelDelegate { func groupChannelViewModel(_ viewModel: SendbirdUIKit.SBUGroupChannelViewModel, didReceiveSuggestedMentions members: [SendbirdUIKit.SBUUser]?) + func groupChannelViewModel(_ viewModel: SendbirdUIKit.SBUGroupChannelViewModel, didFinishUploadingFileAt index: Swift.Int, multipleFilesMessageRequestId requestId: Swift.String) } @objc open class SBUGroupChannelViewModel : SendbirdUIKit.SBUBaseChannelViewModel { weak public var delegate: SendbirdUIKit.SBUGroupChannelViewModelDelegate? { @@ -10222,10 +10460,13 @@ public protocol SBUGroupChannelViewModelDelegate : SendbirdUIKit.SBUBaseChannelV get set } + public var sendMultipleFilesMessageCompletionHandler: SendbirdChatSDK.MultipleFilesMessageHandler? public init(channel: SendbirdChatSDK.BaseChannel? = nil, channelURL: Swift.String? = nil, messageListParams: SendbirdChatSDK.MessageListParams? = nil, startingPoint: Swift.Int64? = .max, delegate: SendbirdUIKit.SBUGroupChannelViewModelDelegate? = nil, dataSource: SendbirdUIKit.SBUGroupChannelViewModelDataSource? = nil, displaysLocalCachedListFirst: Swift.Bool = false) @objc deinit override public func loadChannel(channelURL: Swift.String, messageListParams: SendbirdChatSDK.MessageListParams? = nil, completionHandler: ((SendbirdChatSDK.BaseChannel?, SendbirdChatSDK.SBError?) -> Swift.Void)? = nil) override public func refreshChannel() + open func sendMultipleFilesMessage(fileInfoList: [SendbirdChatSDK.UploadableFileInfo]) + open func updateMultipleFilesMessageCell(requestId: Swift.String, index: Swift.Int) override public func loadInitialMessages(startingPoint: Swift.Int64?, showIndicator: Swift.Bool, initialMessages: [SendbirdChatSDK.BaseMessage]?) override public func loadPrevMessages() override public func loadNextMessages() diff --git a/Framework/SendbirdUIKit.xcframework/ios-arm64_x86_64-simulator/SendbirdUIKit.framework/Modules/SendbirdUIKit.swiftmodule/x86_64-apple-ios-simulator.abi.json b/Framework/SendbirdUIKit.xcframework/ios-arm64_x86_64-simulator/SendbirdUIKit.framework/Modules/SendbirdUIKit.swiftmodule/x86_64-apple-ios-simulator.abi.json index 4ac11ae47..1c41e696f 100644 --- a/Framework/SendbirdUIKit.xcframework/ios-arm64_x86_64-simulator/SendbirdUIKit.framework/Modules/SendbirdUIKit.swiftmodule/x86_64-apple-ios-simulator.abi.json +++ b/Framework/SendbirdUIKit.xcframework/ios-arm64_x86_64-simulator/SendbirdUIKit.framework/Modules/SendbirdUIKit.swiftmodule/x86_64-apple-ios-simulator.abi.json @@ -7076,6 +7076,56 @@ ], "reqNewWitnessTableEntry": true, "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "messageThreadModule", + "printedName": "messageThreadModule(_:didPickMultipleFiles:parentMessage:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Input", + "printedName": "SendbirdUIKit.SBUMessageThreadModule.Input", + "usr": "s:13SendbirdUIKit22SBUMessageThreadModuleC5InputC" + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[SendbirdChatSDK.UploadableFileInfo]", + "children": [ + { + "kind": "TypeNominal", + "name": "UploadableFileInfo", + "printedName": "SendbirdChatSDK.UploadableFileInfo", + "usr": "c:@M@SendbirdChatSDK@objc(cs)SBDUploadableFileInfo" + } + ], + "usr": "s:Sa" + }, + { + "kind": "TypeNominal", + "name": "BaseMessage", + "printedName": "SendbirdChatSDK.BaseMessage", + "usr": "c:@M@SendbirdChatSDK@objc(cs)SBDBaseMessage" + } + ], + "declKind": "Func", + "usr": "s:13SendbirdUIKit35SBUMessageThreadModuleInputDelegateP07messagedE0_20didPickMultipleFiles13parentMessageyAA0cdE0C0F0C_Say0A7ChatSDK18UploadableFileInfoCGAK04BaseN0CtF", + "mangledName": "$s13SendbirdUIKit35SBUMessageThreadModuleInputDelegateP07messagedE0_20didPickMultipleFiles13parentMessageyAA0cdE0C0F0C_Say0A7ChatSDK18UploadableFileInfoCGAK04BaseN0CtF", + "moduleName": "SendbirdUIKit", + "genericSig": "<τ_0_0 where τ_0_0 : SendbirdUIKit.SBUMessageThreadModuleInputDelegate>", + "sugared_genericSig": "", + "protocolReq": true, + "declAttributes": [ + "RawDocComment" + ], + "reqNewWitnessTableEntry": true, + "funcSelfKind": "NonMutating" } ], "declKind": "Protocol", @@ -13909,7 +13959,7 @@ "children": [ { "kind": "TypeNominal", - "name": "ImplicitlyUnwrappedOptional", + "name": "Optional", "printedName": "UIKit.NSLayoutConstraint?", "children": [ { @@ -13942,7 +13992,7 @@ "children": [ { "kind": "TypeNominal", - "name": "ImplicitlyUnwrappedOptional", + "name": "Optional", "printedName": "UIKit.NSLayoutConstraint?", "children": [ { @@ -13971,7 +14021,7 @@ "children": [ { "kind": "TypeNominal", - "name": "ImplicitlyUnwrappedOptional", + "name": "Optional", "printedName": "UIKit.NSLayoutConstraint?", "children": [ { @@ -14004,7 +14054,7 @@ "children": [ { "kind": "TypeNominal", - "name": "ImplicitlyUnwrappedOptional", + "name": "Optional", "printedName": "UIKit.NSLayoutConstraint?", "children": [ { @@ -30468,6 +30518,91 @@ } ] }, + { + "kind": "Var", + "name": "isMultipleFilesMessageEnabled", + "printedName": "isMultipleFilesMessageEnabled", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit9SBUConfigC12GroupChannelC0E0C29isMultipleFilesMessageEnabledSbvp", + "mangledName": "$s13SendbirdUIKit9SBUConfigC12GroupChannelC0E0C29isMultipleFilesMessageEnabledSbvp", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "AccessControl", + "Custom", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit9SBUConfigC12GroupChannelC0E0C29isMultipleFilesMessageEnabledSbvg", + "mangledName": "$s13SendbirdUIKit9SBUConfigC12GroupChannelC0E0C29isMultipleFilesMessageEnabledSbvg", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit9SBUConfigC12GroupChannelC0E0C29isMultipleFilesMessageEnabledSbvs", + "mangledName": "$s13SendbirdUIKit9SBUConfigC12GroupChannelC0E0C29isMultipleFilesMessageEnabledSbvs", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit9SBUConfigC12GroupChannelC0E0C29isMultipleFilesMessageEnabledSbvM", + "mangledName": "$s13SendbirdUIKit9SBUConfigC12GroupChannelC0E0C29isMultipleFilesMessageEnabledSbvM", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, { "kind": "Constructor", "name": "init", @@ -47931,6 +48066,73 @@ } ] }, + { + "kind": "Var", + "name": "multipleFilesMessageCell", + "printedName": "multipleFilesMessageCell", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "SendbirdUIKit.SBUBaseMessageCell?", + "children": [ + { + "kind": "TypeNominal", + "name": "SBUBaseMessageCell", + "printedName": "SendbirdUIKit.SBUBaseMessageCell", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUBaseMessageCell" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit21SBUGroupChannelModuleC4ListC24multipleFilesMessageCellAA07SBUBaseiJ0CSgvp", + "mangledName": "$s13SendbirdUIKit21SBUGroupChannelModuleC4ListC24multipleFilesMessageCellAA07SBUBaseiJ0CSgvp", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "HasInitialValue", + "Custom", + "HasStorage", + "SetterAccess", + "AccessControl", + "RawDocComment", + "ObjC" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "SendbirdUIKit.SBUBaseMessageCell?", + "children": [ + { + "kind": "TypeNominal", + "name": "SBUBaseMessageCell", + "printedName": "SendbirdUIKit.SBUBaseMessageCell", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUBaseMessageCell" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit21SBUGroupChannelModuleC4ListC24multipleFilesMessageCellAA07SBUBaseiJ0CSgvg", + "mangledName": "$s13SendbirdUIKit21SBUGroupChannelModuleC4ListC24multipleFilesMessageCellAA07SBUBaseiJ0CSgvg", + "moduleName": "SendbirdUIKit", + "implicit": true, + "declAttributes": [ + "ObjC" + ], + "accessorKind": "get" + } + ] + }, { "kind": "Var", "name": "unknownMessageCell", @@ -49021,6 +49223,51 @@ ], "funcSelfKind": "NonMutating" }, + { + "kind": "Function", + "name": "register", + "printedName": "register(multipleFilesMessageCell:nib:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "SBUBaseMessageCell", + "printedName": "SendbirdUIKit.SBUBaseMessageCell", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUBaseMessageCell" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "UIKit.UINib?", + "children": [ + { + "kind": "TypeNominal", + "name": "UINib", + "printedName": "UIKit.UINib", + "usr": "c:objc(cs)UINib" + } + ], + "hasDefaultArg": true, + "usr": "s:Sq" + } + ], + "declKind": "Func", + "usr": "s:13SendbirdUIKit21SBUGroupChannelModuleC4ListC8register24multipleFilesMessageCell3nibyAA07SBUBasejK0C_So5UINibCSgtF", + "mangledName": "$s13SendbirdUIKit21SBUGroupChannelModuleC4ListC8register24multipleFilesMessageCell3nibyAA07SBUBasejK0C_So5UINibCSgtF", + "moduleName": "SendbirdUIKit", + "isOpen": true, + "declAttributes": [ + "Custom", + "AccessControl", + "RawDocComment", + "ObjC" + ], + "funcSelfKind": "NonMutating" + }, { "kind": "Function", "name": "register", @@ -50688,6 +50935,46 @@ ], "funcSelfKind": "NonMutating" }, + { + "kind": "Function", + "name": "pickMultipleImageFiles", + "printedName": "pickMultipleImageFiles(itemProviders:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Foundation.NSItemProvider]", + "children": [ + { + "kind": "TypeNominal", + "name": "NSItemProvider", + "printedName": "Foundation.NSItemProvider", + "usr": "c:objc(cs)NSItemProvider" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Func", + "usr": "s:13SendbirdUIKit21SBUGroupChannelModuleC5InputC22pickMultipleImageFiles13itemProvidersySaySo14NSItemProviderCG_tF", + "mangledName": "$s13SendbirdUIKit21SBUGroupChannelModuleC5InputC22pickMultipleImageFiles13itemProvidersySaySo14NSItemProviderCG_tF", + "moduleName": "SendbirdUIKit", + "isOpen": true, + "intro_iOS": "14.0", + "declAttributes": [ + "Custom", + "AccessControl", + "Available", + "RawDocComment", + "ObjC" + ], + "funcSelfKind": "NonMutating" + }, { "kind": "Function", "name": "pickImageFile", @@ -57227,6 +57514,36 @@ ], "funcSelfKind": "NonMutating" }, + { + "kind": "Function", + "name": "getFileTypeString", + "printedName": "getFileTypeString(by:)", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Func", + "usr": "s:13SendbirdUIKit8SBUUtilsC17getFileTypeString2byS2S_tFZ", + "mangledName": "$s13SendbirdUIKit8SBUUtilsC17getFileTypeString2byS2S_tFZ", + "moduleName": "SendbirdUIKit", + "static": true, + "declAttributes": [ + "Final", + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, { "kind": "Function", "name": "generateChannelName", @@ -60248,19 +60565,32 @@ }, { "kind": "Var", - "name": "Alert_Allow_Camera_Access", - "printedName": "Alert_Allow_Camera_Access", + "name": "Alert_Delete_MultipleFilesMessage", + "printedName": "Alert_Delete_MultipleFilesMessage", "children": [ { - "kind": "TypeNominal", - "name": "String", - "printedName": "Swift.String", - "usr": "s:SS" + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Swift.Int) -> Swift.String", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ] } ], "declKind": "Var", - "usr": "s:13SendbirdUIKit12SBUStringSetC25Alert_Allow_Camera_AccessSSvpZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC25Alert_Allow_Camera_AccessSSvpZ", + "usr": "s:13SendbirdUIKit12SBUStringSetC33Alert_Delete_MultipleFilesMessageySSSicvpZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC33Alert_Delete_MultipleFilesMessageySSSicvpZ", "moduleName": "SendbirdUIKit", "static": true, "declAttributes": [ @@ -60277,15 +60607,28 @@ "printedName": "Get()", "children": [ { - "kind": "TypeNominal", - "name": "String", - "printedName": "Swift.String", - "usr": "s:SS" + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Swift.Int) -> Swift.String", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ] } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit12SBUStringSetC25Alert_Allow_Camera_AccessSSvgZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC25Alert_Allow_Camera_AccessSSvgZ", + "usr": "s:13SendbirdUIKit12SBUStringSetC33Alert_Delete_MultipleFilesMessageySSSicvgZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC33Alert_Delete_MultipleFilesMessageySSSicvgZ", "moduleName": "SendbirdUIKit", "static": true, "implicit": true, @@ -60305,15 +60648,28 @@ "printedName": "()" }, { - "kind": "TypeNominal", - "name": "String", - "printedName": "Swift.String", - "usr": "s:SS" + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Swift.Int) -> Swift.String", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ] } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit12SBUStringSetC25Alert_Allow_Camera_AccessSSvsZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC25Alert_Allow_Camera_AccessSSvsZ", + "usr": "s:13SendbirdUIKit12SBUStringSetC33Alert_Delete_MultipleFilesMessageySSSicvsZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC33Alert_Delete_MultipleFilesMessageySSSicvsZ", "moduleName": "SendbirdUIKit", "static": true, "implicit": true, @@ -60334,8 +60690,8 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit12SBUStringSetC25Alert_Allow_Camera_AccessSSvMZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC25Alert_Allow_Camera_AccessSSvMZ", + "usr": "s:13SendbirdUIKit12SBUStringSetC33Alert_Delete_MultipleFilesMessageySSSicvMZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC33Alert_Delete_MultipleFilesMessageySSSicvMZ", "moduleName": "SendbirdUIKit", "static": true, "implicit": true, @@ -60348,8 +60704,8 @@ }, { "kind": "Var", - "name": "Alert_Allow_PhotoLibrary_Access", - "printedName": "Alert_Allow_PhotoLibrary_Access", + "name": "Alert_Allow_Camera_Access", + "printedName": "Alert_Allow_Camera_Access", "children": [ { "kind": "TypeNominal", @@ -60359,8 +60715,8 @@ } ], "declKind": "Var", - "usr": "s:13SendbirdUIKit12SBUStringSetC31Alert_Allow_PhotoLibrary_AccessSSvpZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC31Alert_Allow_PhotoLibrary_AccessSSvpZ", + "usr": "s:13SendbirdUIKit12SBUStringSetC25Alert_Allow_Camera_AccessSSvpZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC25Alert_Allow_Camera_AccessSSvpZ", "moduleName": "SendbirdUIKit", "static": true, "declAttributes": [ @@ -60384,8 +60740,8 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit12SBUStringSetC31Alert_Allow_PhotoLibrary_AccessSSvgZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC31Alert_Allow_PhotoLibrary_AccessSSvgZ", + "usr": "s:13SendbirdUIKit12SBUStringSetC25Alert_Allow_Camera_AccessSSvgZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC25Alert_Allow_Camera_AccessSSvgZ", "moduleName": "SendbirdUIKit", "static": true, "implicit": true, @@ -60412,8 +60768,8 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit12SBUStringSetC31Alert_Allow_PhotoLibrary_AccessSSvsZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC31Alert_Allow_PhotoLibrary_AccessSSvsZ", + "usr": "s:13SendbirdUIKit12SBUStringSetC25Alert_Allow_Camera_AccessSSvsZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC25Alert_Allow_Camera_AccessSSvsZ", "moduleName": "SendbirdUIKit", "static": true, "implicit": true, @@ -60434,8 +60790,8 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit12SBUStringSetC31Alert_Allow_PhotoLibrary_AccessSSvMZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC31Alert_Allow_PhotoLibrary_AccessSSvMZ", + "usr": "s:13SendbirdUIKit12SBUStringSetC25Alert_Allow_Camera_AccessSSvMZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC25Alert_Allow_Camera_AccessSSvMZ", "moduleName": "SendbirdUIKit", "static": true, "implicit": true, @@ -60448,8 +60804,8 @@ }, { "kind": "Var", - "name": "Alert_Allow_PhotoLibrary_Access_Message", - "printedName": "Alert_Allow_PhotoLibrary_Access_Message", + "name": "Alert_Allow_PhotoLibrary_Access", + "printedName": "Alert_Allow_PhotoLibrary_Access", "children": [ { "kind": "TypeNominal", @@ -60459,8 +60815,8 @@ } ], "declKind": "Var", - "usr": "s:13SendbirdUIKit12SBUStringSetC39Alert_Allow_PhotoLibrary_Access_MessageSSvpZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC39Alert_Allow_PhotoLibrary_Access_MessageSSvpZ", + "usr": "s:13SendbirdUIKit12SBUStringSetC31Alert_Allow_PhotoLibrary_AccessSSvpZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC31Alert_Allow_PhotoLibrary_AccessSSvpZ", "moduleName": "SendbirdUIKit", "static": true, "declAttributes": [ @@ -60484,8 +60840,8 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit12SBUStringSetC39Alert_Allow_PhotoLibrary_Access_MessageSSvgZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC39Alert_Allow_PhotoLibrary_Access_MessageSSvgZ", + "usr": "s:13SendbirdUIKit12SBUStringSetC31Alert_Allow_PhotoLibrary_AccessSSvgZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC31Alert_Allow_PhotoLibrary_AccessSSvgZ", "moduleName": "SendbirdUIKit", "static": true, "implicit": true, @@ -60512,8 +60868,8 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit12SBUStringSetC39Alert_Allow_PhotoLibrary_Access_MessageSSvsZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC39Alert_Allow_PhotoLibrary_Access_MessageSSvsZ", + "usr": "s:13SendbirdUIKit12SBUStringSetC31Alert_Allow_PhotoLibrary_AccessSSvsZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC31Alert_Allow_PhotoLibrary_AccessSSvsZ", "moduleName": "SendbirdUIKit", "static": true, "implicit": true, @@ -60534,8 +60890,8 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit12SBUStringSetC39Alert_Allow_PhotoLibrary_Access_MessageSSvMZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC39Alert_Allow_PhotoLibrary_Access_MessageSSvMZ", + "usr": "s:13SendbirdUIKit12SBUStringSetC31Alert_Allow_PhotoLibrary_AccessSSvMZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC31Alert_Allow_PhotoLibrary_AccessSSvMZ", "moduleName": "SendbirdUIKit", "static": true, "implicit": true, @@ -60548,8 +60904,8 @@ }, { "kind": "Var", - "name": "Alert_Allow_Microphone_Access", - "printedName": "Alert_Allow_Microphone_Access", + "name": "Alert_Allow_PhotoLibrary_Access_Message", + "printedName": "Alert_Allow_PhotoLibrary_Access_Message", "children": [ { "kind": "TypeNominal", @@ -60559,16 +60915,15 @@ } ], "declKind": "Var", - "usr": "s:13SendbirdUIKit12SBUStringSetC29Alert_Allow_Microphone_AccessSSvpZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC29Alert_Allow_Microphone_AccessSSvpZ", + "usr": "s:13SendbirdUIKit12SBUStringSetC39Alert_Allow_PhotoLibrary_Access_MessageSSvpZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC39Alert_Allow_PhotoLibrary_Access_MessageSSvpZ", "moduleName": "SendbirdUIKit", "static": true, "declAttributes": [ "HasInitialValue", "Final", "HasStorage", - "AccessControl", - "RawDocComment" + "AccessControl" ], "hasStorage": true, "accessors": [ @@ -60585,8 +60940,8 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit12SBUStringSetC29Alert_Allow_Microphone_AccessSSvgZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC29Alert_Allow_Microphone_AccessSSvgZ", + "usr": "s:13SendbirdUIKit12SBUStringSetC39Alert_Allow_PhotoLibrary_Access_MessageSSvgZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC39Alert_Allow_PhotoLibrary_Access_MessageSSvgZ", "moduleName": "SendbirdUIKit", "static": true, "implicit": true, @@ -60613,8 +60968,8 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit12SBUStringSetC29Alert_Allow_Microphone_AccessSSvsZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC29Alert_Allow_Microphone_AccessSSvsZ", + "usr": "s:13SendbirdUIKit12SBUStringSetC39Alert_Allow_PhotoLibrary_Access_MessageSSvsZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC39Alert_Allow_PhotoLibrary_Access_MessageSSvsZ", "moduleName": "SendbirdUIKit", "static": true, "implicit": true, @@ -60635,8 +60990,8 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit12SBUStringSetC29Alert_Allow_Microphone_AccessSSvMZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC29Alert_Allow_Microphone_AccessSSvMZ", + "usr": "s:13SendbirdUIKit12SBUStringSetC39Alert_Allow_PhotoLibrary_Access_MessageSSvMZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC39Alert_Allow_PhotoLibrary_Access_MessageSSvMZ", "moduleName": "SendbirdUIKit", "static": true, "implicit": true, @@ -60649,8 +61004,8 @@ }, { "kind": "Var", - "name": "Date_Yesterday", - "printedName": "Date_Yesterday", + "name": "Alert_Allow_Microphone_Access", + "printedName": "Alert_Allow_Microphone_Access", "children": [ { "kind": "TypeNominal", @@ -60660,8 +61015,8 @@ } ], "declKind": "Var", - "usr": "s:13SendbirdUIKit12SBUStringSetC14Date_YesterdaySSvpZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC14Date_YesterdaySSvpZ", + "usr": "s:13SendbirdUIKit12SBUStringSetC29Alert_Allow_Microphone_AccessSSvpZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC29Alert_Allow_Microphone_AccessSSvpZ", "moduleName": "SendbirdUIKit", "static": true, "declAttributes": [ @@ -60686,8 +61041,8 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit12SBUStringSetC14Date_YesterdaySSvgZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC14Date_YesterdaySSvgZ", + "usr": "s:13SendbirdUIKit12SBUStringSetC29Alert_Allow_Microphone_AccessSSvgZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC29Alert_Allow_Microphone_AccessSSvgZ", "moduleName": "SendbirdUIKit", "static": true, "implicit": true, @@ -60714,8 +61069,8 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit12SBUStringSetC14Date_YesterdaySSvsZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC14Date_YesterdaySSvsZ", + "usr": "s:13SendbirdUIKit12SBUStringSetC29Alert_Allow_Microphone_AccessSSvsZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC29Alert_Allow_Microphone_AccessSSvsZ", "moduleName": "SendbirdUIKit", "static": true, "implicit": true, @@ -60736,8 +61091,8 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit12SBUStringSetC14Date_YesterdaySSvMZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC14Date_YesterdaySSvMZ", + "usr": "s:13SendbirdUIKit12SBUStringSetC29Alert_Allow_Microphone_AccessSSvMZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC29Alert_Allow_Microphone_AccessSSvMZ", "moduleName": "SendbirdUIKit", "static": true, "implicit": true, @@ -60750,39 +61105,27 @@ }, { "kind": "Var", - "name": "Date_Year", - "printedName": "Date_Year", + "name": "Date_Yesterday", + "printedName": "Date_Yesterday", "children": [ { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(Swift.Int) -> Swift.String", - "children": [ - { - "kind": "TypeNominal", - "name": "String", - "printedName": "Swift.String", - "usr": "s:SS" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ] + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" } ], "declKind": "Var", - "usr": "s:13SendbirdUIKit12SBUStringSetC9Date_YearySSSicvpZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC9Date_YearySSSicvpZ", + "usr": "s:13SendbirdUIKit12SBUStringSetC14Date_YesterdaySSvpZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC14Date_YesterdaySSvpZ", "moduleName": "SendbirdUIKit", "static": true, "declAttributes": [ "HasInitialValue", "Final", "HasStorage", - "AccessControl" + "AccessControl", + "RawDocComment" ], "hasStorage": true, "accessors": [ @@ -60792,28 +61135,15 @@ "printedName": "Get()", "children": [ { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(Swift.Int) -> Swift.String", - "children": [ - { - "kind": "TypeNominal", - "name": "String", - "printedName": "Swift.String", - "usr": "s:SS" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ] + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit12SBUStringSetC9Date_YearySSSicvgZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC9Date_YearySSSicvgZ", + "usr": "s:13SendbirdUIKit12SBUStringSetC14Date_YesterdaySSvgZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC14Date_YesterdaySSvgZ", "moduleName": "SendbirdUIKit", "static": true, "implicit": true, @@ -60833,28 +61163,15 @@ "printedName": "()" }, { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(Swift.Int) -> Swift.String", - "children": [ - { - "kind": "TypeNominal", - "name": "String", - "printedName": "Swift.String", - "usr": "s:SS" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ] + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit12SBUStringSetC9Date_YearySSSicvsZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC9Date_YearySSSicvsZ", + "usr": "s:13SendbirdUIKit12SBUStringSetC14Date_YesterdaySSvsZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC14Date_YesterdaySSvsZ", "moduleName": "SendbirdUIKit", "static": true, "implicit": true, @@ -60875,8 +61192,8 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit12SBUStringSetC9Date_YearySSSicvMZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC9Date_YearySSSicvMZ", + "usr": "s:13SendbirdUIKit12SBUStringSetC14Date_YesterdaySSvMZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC14Date_YesterdaySSvMZ", "moduleName": "SendbirdUIKit", "static": true, "implicit": true, @@ -60889,8 +61206,8 @@ }, { "kind": "Var", - "name": "Date_Day", - "printedName": "Date_Day", + "name": "Date_Year", + "printedName": "Date_Year", "children": [ { "kind": "TypeFunc", @@ -60913,8 +61230,8 @@ } ], "declKind": "Var", - "usr": "s:13SendbirdUIKit12SBUStringSetC8Date_DayySSSicvpZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC8Date_DayySSSicvpZ", + "usr": "s:13SendbirdUIKit12SBUStringSetC9Date_YearySSSicvpZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC9Date_YearySSSicvpZ", "moduleName": "SendbirdUIKit", "static": true, "declAttributes": [ @@ -60951,8 +61268,8 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit12SBUStringSetC8Date_DayySSSicvgZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC8Date_DayySSSicvgZ", + "usr": "s:13SendbirdUIKit12SBUStringSetC9Date_YearySSSicvgZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC9Date_YearySSSicvgZ", "moduleName": "SendbirdUIKit", "static": true, "implicit": true, @@ -60992,8 +61309,8 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit12SBUStringSetC8Date_DayySSSicvsZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC8Date_DayySSSicvsZ", + "usr": "s:13SendbirdUIKit12SBUStringSetC9Date_YearySSSicvsZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC9Date_YearySSSicvsZ", "moduleName": "SendbirdUIKit", "static": true, "implicit": true, @@ -61014,8 +61331,8 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit12SBUStringSetC8Date_DayySSSicvMZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC8Date_DayySSSicvMZ", + "usr": "s:13SendbirdUIKit12SBUStringSetC9Date_YearySSSicvMZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC9Date_YearySSSicvMZ", "moduleName": "SendbirdUIKit", "static": true, "implicit": true, @@ -61028,8 +61345,8 @@ }, { "kind": "Var", - "name": "Date_Month", - "printedName": "Date_Month", + "name": "Date_Day", + "printedName": "Date_Day", "children": [ { "kind": "TypeFunc", @@ -61052,8 +61369,8 @@ } ], "declKind": "Var", - "usr": "s:13SendbirdUIKit12SBUStringSetC10Date_MonthySSSicvpZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC10Date_MonthySSSicvpZ", + "usr": "s:13SendbirdUIKit12SBUStringSetC8Date_DayySSSicvpZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC8Date_DayySSSicvpZ", "moduleName": "SendbirdUIKit", "static": true, "declAttributes": [ @@ -61090,8 +61407,8 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit12SBUStringSetC10Date_MonthySSSicvgZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC10Date_MonthySSSicvgZ", + "usr": "s:13SendbirdUIKit12SBUStringSetC8Date_DayySSSicvgZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC8Date_DayySSSicvgZ", "moduleName": "SendbirdUIKit", "static": true, "implicit": true, @@ -61131,8 +61448,8 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit12SBUStringSetC10Date_MonthySSSicvsZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC10Date_MonthySSSicvsZ", + "usr": "s:13SendbirdUIKit12SBUStringSetC8Date_DayySSSicvsZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC8Date_DayySSSicvsZ", "moduleName": "SendbirdUIKit", "static": true, "implicit": true, @@ -61153,8 +61470,8 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit12SBUStringSetC10Date_MonthySSSicvMZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC10Date_MonthySSSicvMZ", + "usr": "s:13SendbirdUIKit12SBUStringSetC8Date_DayySSSicvMZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC8Date_DayySSSicvMZ", "moduleName": "SendbirdUIKit", "static": true, "implicit": true, @@ -61167,8 +61484,8 @@ }, { "kind": "Var", - "name": "Date_Hour", - "printedName": "Date_Hour", + "name": "Date_Month", + "printedName": "Date_Month", "children": [ { "kind": "TypeFunc", @@ -61191,8 +61508,8 @@ } ], "declKind": "Var", - "usr": "s:13SendbirdUIKit12SBUStringSetC9Date_HourySSSicvpZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC9Date_HourySSSicvpZ", + "usr": "s:13SendbirdUIKit12SBUStringSetC10Date_MonthySSSicvpZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC10Date_MonthySSSicvpZ", "moduleName": "SendbirdUIKit", "static": true, "declAttributes": [ @@ -61229,8 +61546,8 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit12SBUStringSetC9Date_HourySSSicvgZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC9Date_HourySSSicvgZ", + "usr": "s:13SendbirdUIKit12SBUStringSetC10Date_MonthySSSicvgZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC10Date_MonthySSSicvgZ", "moduleName": "SendbirdUIKit", "static": true, "implicit": true, @@ -61270,8 +61587,8 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit12SBUStringSetC9Date_HourySSSicvsZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC9Date_HourySSSicvsZ", + "usr": "s:13SendbirdUIKit12SBUStringSetC10Date_MonthySSSicvsZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC10Date_MonthySSSicvsZ", "moduleName": "SendbirdUIKit", "static": true, "implicit": true, @@ -61292,8 +61609,8 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit12SBUStringSetC9Date_HourySSSicvMZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC9Date_HourySSSicvMZ", + "usr": "s:13SendbirdUIKit12SBUStringSetC10Date_MonthySSSicvMZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC10Date_MonthySSSicvMZ", "moduleName": "SendbirdUIKit", "static": true, "implicit": true, @@ -61306,8 +61623,8 @@ }, { "kind": "Var", - "name": "Date_Min", - "printedName": "Date_Min", + "name": "Date_Hour", + "printedName": "Date_Hour", "children": [ { "kind": "TypeFunc", @@ -61330,8 +61647,8 @@ } ], "declKind": "Var", - "usr": "s:13SendbirdUIKit12SBUStringSetC8Date_MinySSSicvpZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC8Date_MinySSSicvpZ", + "usr": "s:13SendbirdUIKit12SBUStringSetC9Date_HourySSSicvpZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC9Date_HourySSSicvpZ", "moduleName": "SendbirdUIKit", "static": true, "declAttributes": [ @@ -61368,8 +61685,8 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit12SBUStringSetC8Date_MinySSSicvgZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC8Date_MinySSSicvgZ", + "usr": "s:13SendbirdUIKit12SBUStringSetC9Date_HourySSSicvgZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC9Date_HourySSSicvgZ", "moduleName": "SendbirdUIKit", "static": true, "implicit": true, @@ -61409,8 +61726,8 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit12SBUStringSetC8Date_MinySSSicvsZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC8Date_MinySSSicvsZ", + "usr": "s:13SendbirdUIKit12SBUStringSetC9Date_HourySSSicvsZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC9Date_HourySSSicvsZ", "moduleName": "SendbirdUIKit", "static": true, "implicit": true, @@ -61431,8 +61748,8 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit12SBUStringSetC8Date_MinySSSicvMZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC8Date_MinySSSicvMZ", + "usr": "s:13SendbirdUIKit12SBUStringSetC9Date_HourySSSicvMZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC9Date_HourySSSicvMZ", "moduleName": "SendbirdUIKit", "static": true, "implicit": true, @@ -61445,119 +61762,32 @@ }, { "kind": "Var", - "name": "Date_Ago", - "printedName": "Date_Ago", + "name": "Date_Min", + "printedName": "Date_Min", "children": [ { - "kind": "TypeNominal", - "name": "String", - "printedName": "Swift.String", - "usr": "s:SS" - } - ], - "declKind": "Var", - "usr": "s:13SendbirdUIKit12SBUStringSetC8Date_AgoSSvpZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC8Date_AgoSSvpZ", - "moduleName": "SendbirdUIKit", - "static": true, - "declAttributes": [ - "HasInitialValue", - "Final", - "HasStorage", - "AccessControl" - ], - "hasStorage": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Swift.Int) -> Swift.String", "children": [ { "kind": "TypeNominal", "name": "String", "printedName": "Swift.String", "usr": "s:SS" - } - ], - "declKind": "Accessor", - "usr": "s:13SendbirdUIKit12SBUStringSetC8Date_AgoSSvgZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC8Date_AgoSSvgZ", - "moduleName": "SendbirdUIKit", - "static": true, - "implicit": true, - "declAttributes": [ - "Final" - ], - "accessorKind": "get" - }, - { - "kind": "Accessor", - "name": "Set", - "printedName": "Set()", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" }, { "kind": "TypeNominal", - "name": "String", - "printedName": "Swift.String", - "usr": "s:SS" - } - ], - "declKind": "Accessor", - "usr": "s:13SendbirdUIKit12SBUStringSetC8Date_AgoSSvsZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC8Date_AgoSSvsZ", - "moduleName": "SendbirdUIKit", - "static": true, - "implicit": true, - "declAttributes": [ - "Final" - ], - "accessorKind": "set" - }, - { - "kind": "Accessor", - "name": "Modify", - "printedName": "Modify()", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" } - ], - "declKind": "Accessor", - "usr": "s:13SendbirdUIKit12SBUStringSetC8Date_AgoSSvMZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC8Date_AgoSSvMZ", - "moduleName": "SendbirdUIKit", - "static": true, - "implicit": true, - "declAttributes": [ - "Final" - ], - "accessorKind": "_modify" - } - ] - }, - { - "kind": "Var", - "name": "Date_On", - "printedName": "Date_On", - "children": [ - { - "kind": "TypeNominal", - "name": "String", - "printedName": "Swift.String", - "usr": "s:SS" + ] } ], "declKind": "Var", - "usr": "s:13SendbirdUIKit12SBUStringSetC7Date_OnSSvpZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC7Date_OnSSvpZ", + "usr": "s:13SendbirdUIKit12SBUStringSetC8Date_MinySSSicvpZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC8Date_MinySSSicvpZ", "moduleName": "SendbirdUIKit", "static": true, "declAttributes": [ @@ -61574,15 +61804,28 @@ "printedName": "Get()", "children": [ { - "kind": "TypeNominal", - "name": "String", - "printedName": "Swift.String", - "usr": "s:SS" + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Swift.Int) -> Swift.String", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ] } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit12SBUStringSetC7Date_OnSSvgZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC7Date_OnSSvgZ", + "usr": "s:13SendbirdUIKit12SBUStringSetC8Date_MinySSSicvgZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC8Date_MinySSSicvgZ", "moduleName": "SendbirdUIKit", "static": true, "implicit": true, @@ -61602,15 +61845,28 @@ "printedName": "()" }, { - "kind": "TypeNominal", - "name": "String", - "printedName": "Swift.String", - "usr": "s:SS" + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Swift.Int) -> Swift.String", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ] } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit12SBUStringSetC7Date_OnSSvsZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC7Date_OnSSvsZ", + "usr": "s:13SendbirdUIKit12SBUStringSetC8Date_MinySSSicvsZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC8Date_MinySSSicvsZ", "moduleName": "SendbirdUIKit", "static": true, "implicit": true, @@ -61631,8 +61887,8 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit12SBUStringSetC7Date_OnSSvMZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC7Date_OnSSvMZ", + "usr": "s:13SendbirdUIKit12SBUStringSetC8Date_MinySSSicvMZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC8Date_MinySSSicvMZ", "moduleName": "SendbirdUIKit", "static": true, "implicit": true, @@ -61645,8 +61901,8 @@ }, { "kind": "Var", - "name": "ChannelList_Header_Title", - "printedName": "ChannelList_Header_Title", + "name": "Date_Ago", + "printedName": "Date_Ago", "children": [ { "kind": "TypeNominal", @@ -61656,16 +61912,15 @@ } ], "declKind": "Var", - "usr": "s:13SendbirdUIKit12SBUStringSetC24ChannelList_Header_TitleSSvpZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC24ChannelList_Header_TitleSSvpZ", + "usr": "s:13SendbirdUIKit12SBUStringSetC8Date_AgoSSvpZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC8Date_AgoSSvpZ", "moduleName": "SendbirdUIKit", "static": true, "declAttributes": [ "HasInitialValue", "Final", "HasStorage", - "AccessControl", - "RawDocComment" + "AccessControl" ], "hasStorage": true, "accessors": [ @@ -61682,8 +61937,8 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit12SBUStringSetC24ChannelList_Header_TitleSSvgZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC24ChannelList_Header_TitleSSvgZ", + "usr": "s:13SendbirdUIKit12SBUStringSetC8Date_AgoSSvgZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC8Date_AgoSSvgZ", "moduleName": "SendbirdUIKit", "static": true, "implicit": true, @@ -61710,8 +61965,8 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit12SBUStringSetC24ChannelList_Header_TitleSSvsZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC24ChannelList_Header_TitleSSvsZ", + "usr": "s:13SendbirdUIKit12SBUStringSetC8Date_AgoSSvsZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC8Date_AgoSSvsZ", "moduleName": "SendbirdUIKit", "static": true, "implicit": true, @@ -61732,8 +61987,8 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit12SBUStringSetC24ChannelList_Header_TitleSSvMZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC24ChannelList_Header_TitleSSvMZ", + "usr": "s:13SendbirdUIKit12SBUStringSetC8Date_AgoSSvMZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC8Date_AgoSSvMZ", "moduleName": "SendbirdUIKit", "static": true, "implicit": true, @@ -61746,8 +62001,8 @@ }, { "kind": "Var", - "name": "ChannelList_Last_File_Message", - "printedName": "ChannelList_Last_File_Message", + "name": "Date_On", + "printedName": "Date_On", "children": [ { "kind": "TypeNominal", @@ -61757,8 +62012,209 @@ } ], "declKind": "Var", - "usr": "s:13SendbirdUIKit12SBUStringSetC29ChannelList_Last_File_MessageSSvpZ", - "mangledName": "$s13SendbirdUIKit12SBUStringSetC29ChannelList_Last_File_MessageSSvpZ", + "usr": "s:13SendbirdUIKit12SBUStringSetC7Date_OnSSvpZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC7Date_OnSSvpZ", + "moduleName": "SendbirdUIKit", + "static": true, + "declAttributes": [ + "HasInitialValue", + "Final", + "HasStorage", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit12SBUStringSetC7Date_OnSSvgZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC7Date_OnSSvgZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "declAttributes": [ + "Final" + ], + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit12SBUStringSetC7Date_OnSSvsZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC7Date_OnSSvsZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "declAttributes": [ + "Final" + ], + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit12SBUStringSetC7Date_OnSSvMZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC7Date_OnSSvMZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "declAttributes": [ + "Final" + ], + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "ChannelList_Header_Title", + "printedName": "ChannelList_Header_Title", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit12SBUStringSetC24ChannelList_Header_TitleSSvpZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC24ChannelList_Header_TitleSSvpZ", + "moduleName": "SendbirdUIKit", + "static": true, + "declAttributes": [ + "HasInitialValue", + "Final", + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit12SBUStringSetC24ChannelList_Header_TitleSSvgZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC24ChannelList_Header_TitleSSvgZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "declAttributes": [ + "Final" + ], + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit12SBUStringSetC24ChannelList_Header_TitleSSvsZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC24ChannelList_Header_TitleSSvsZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "declAttributes": [ + "Final" + ], + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit12SBUStringSetC24ChannelList_Header_TitleSSvMZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC24ChannelList_Header_TitleSSvMZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "declAttributes": [ + "Final" + ], + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "ChannelList_Last_File_Message", + "printedName": "ChannelList_Last_File_Message", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit12SBUStringSetC29ChannelList_Last_File_MessageSSvpZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC29ChannelList_Last_File_MessageSSvpZ", "moduleName": "SendbirdUIKit", "static": true, "declAttributes": [ @@ -74818,6 +75274,784 @@ "RawDocComment" ] }, + { + "kind": "TypeDecl", + "name": "GroupChannel", + "printedName": "GroupChannel", + "children": [ + { + "kind": "TypeDecl", + "name": "Preview", + "printedName": "Preview", + "children": [ + { + "kind": "Var", + "name": "photo", + "printedName": "photo", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV5photoSSvpZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV5photoSSvpZ", + "moduleName": "SendbirdUIKit", + "static": true, + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV5photoSSvgZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV5photoSSvgZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV5photoSSvsZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV5photoSSvsZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV5photoSSvMZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV5photoSSvMZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "gif", + "printedName": "gif", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV3gifSSvpZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV3gifSSvpZ", + "moduleName": "SendbirdUIKit", + "static": true, + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV3gifSSvgZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV3gifSSvgZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV3gifSSvsZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV3gifSSvsZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV3gifSSvMZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV3gifSSvMZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "video", + "printedName": "video", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV5videoSSvpZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV5videoSSvpZ", + "moduleName": "SendbirdUIKit", + "static": true, + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV5videoSSvgZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV5videoSSvgZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV5videoSSvsZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV5videoSSvsZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV5videoSSvMZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV5videoSSvMZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "audio", + "printedName": "audio", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV5audioSSvpZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV5audioSSvpZ", + "moduleName": "SendbirdUIKit", + "static": true, + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV5audioSSvgZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV5audioSSvgZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV5audioSSvsZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV5audioSSvsZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV5audioSSvMZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV5audioSSvMZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "voice", + "printedName": "voice", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV5voiceSSvpZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV5voiceSSvpZ", + "moduleName": "SendbirdUIKit", + "static": true, + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV5voiceSSvgZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV5voiceSSvgZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV5voiceSSvsZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV5voiceSSvsZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV5voiceSSvMZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV5voiceSSvMZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "file", + "printedName": "file", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV4fileSSvpZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV4fileSSvpZ", + "moduleName": "SendbirdUIKit", + "static": true, + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV4fileSSvgZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV4fileSSvgZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV4fileSSvsZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV4fileSSvsZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV4fileSSvMZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV4fileSSvMZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "multipleFiles", + "printedName": "multipleFiles", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV13multipleFilesSSvpZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV13multipleFilesSSvpZ", + "moduleName": "SendbirdUIKit", + "static": true, + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV13multipleFilesSSvgZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV13multipleFilesSSvgZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV13multipleFilesSSvsZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV13multipleFilesSSvsZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV13multipleFilesSSvMZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV13multipleFilesSSvMZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "accessorKind": "_modify" + } + ] + } + ], + "declKind": "Struct", + "usr": "s:13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC12GroupChannelV7PreviewV", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "AccessControl" + ] + } + ], + "declKind": "Struct", + "usr": "s:13SendbirdUIKit12SBUStringSetC12GroupChannelV", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC12GroupChannelV", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ] + }, + { + "kind": "TypeDecl", + "name": "FileUpload", + "printedName": "FileUpload", + "children": [ + { + "kind": "TypeDecl", + "name": "Error", + "printedName": "Error", + "children": [ + { + "kind": "Var", + "name": "exceededSizeLimit", + "printedName": "exceededSizeLimit", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit12SBUStringSetC10FileUploadV5ErrorV17exceededSizeLimitSSvpZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC10FileUploadV5ErrorV17exceededSizeLimitSSvpZ", + "moduleName": "SendbirdUIKit", + "static": true, + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit12SBUStringSetC10FileUploadV5ErrorV17exceededSizeLimitSSvgZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC10FileUploadV5ErrorV17exceededSizeLimitSSvgZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit12SBUStringSetC10FileUploadV5ErrorV17exceededSizeLimitSSvsZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC10FileUploadV5ErrorV17exceededSizeLimitSSvsZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit12SBUStringSetC10FileUploadV5ErrorV17exceededSizeLimitSSvMZ", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC10FileUploadV5ErrorV17exceededSizeLimitSSvMZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "accessorKind": "_modify" + } + ] + } + ], + "declKind": "Struct", + "usr": "s:13SendbirdUIKit12SBUStringSetC10FileUploadV5ErrorV", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC10FileUploadV5ErrorV", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "AccessControl" + ] + } + ], + "declKind": "Struct", + "usr": "s:13SendbirdUIKit12SBUStringSetC10FileUploadV", + "mangledName": "$s13SendbirdUIKit12SBUStringSetC10FileUploadV", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ] + }, { "kind": "Var", "name": "ChannelSettings_Banned_Members", @@ -83964,6 +85198,117 @@ } ] }, + { + "kind": "Var", + "name": "imageWitdhConstraint", + "printedName": "imageWitdhConstraint", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "UIKit.NSLayoutConstraint?", + "children": [ + { + "kind": "TypeNominal", + "name": "NSLayoutConstraint", + "printedName": "UIKit.NSLayoutConstraint", + "usr": "c:objc(cs)NSLayoutConstraint" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit17SBUMessageWebViewC20imageWitdhConstraintSo08NSLayoutH0CSgvp", + "mangledName": "$s13SendbirdUIKit17SBUMessageWebViewC20imageWitdhConstraintSo08NSLayoutH0CSgvp", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "Custom", + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "UIKit.NSLayoutConstraint?", + "children": [ + { + "kind": "TypeNominal", + "name": "NSLayoutConstraint", + "printedName": "UIKit.NSLayoutConstraint", + "usr": "c:objc(cs)NSLayoutConstraint" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit17SBUMessageWebViewC20imageWitdhConstraintSo08NSLayoutH0CSgvg", + "mangledName": "$s13SendbirdUIKit17SBUMessageWebViewC20imageWitdhConstraintSo08NSLayoutH0CSgvg", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "UIKit.NSLayoutConstraint?", + "children": [ + { + "kind": "TypeNominal", + "name": "NSLayoutConstraint", + "printedName": "UIKit.NSLayoutConstraint", + "usr": "c:objc(cs)NSLayoutConstraint" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit17SBUMessageWebViewC20imageWitdhConstraintSo08NSLayoutH0CSgvs", + "mangledName": "$s13SendbirdUIKit17SBUMessageWebViewC20imageWitdhConstraintSo08NSLayoutH0CSgvs", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit17SBUMessageWebViewC20imageWitdhConstraintSo08NSLayoutH0CSgvM", + "mangledName": "$s13SendbirdUIKit17SBUMessageWebViewC20imageWitdhConstraintSo08NSLayoutH0CSgvM", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, { "kind": "Constructor", "name": "init", @@ -84949,6 +86294,16 @@ "RawDocComment" ] }, + { + "kind": "Import", + "name": "SendbirdChatSDK", + "printedName": "SendbirdChatSDK", + "declKind": "Import", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "RawDocComment" + ] + }, { "kind": "Import", "name": "UIKit", @@ -85526,6 +86881,566 @@ "RawDocComment" ] }, + { + "kind": "TypeDecl", + "name": "SBUMultipleFilesMessageCollectionView", + "printedName": "SBUMultipleFilesMessageCollectionView", + "children": [ + { + "kind": "Var", + "name": "theme", + "printedName": "theme", + "children": [ + { + "kind": "TypeNominal", + "name": "SBUMessageCellTheme", + "printedName": "SendbirdUIKit.SBUMessageCellTheme", + "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit37SBUMultipleFilesMessageCollectionViewC5themeAA19SBUMessageCellThemeCvp", + "mangledName": "$s13SendbirdUIKit37SBUMultipleFilesMessageCollectionViewC5themeAA19SBUMessageCellThemeCvp", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "Custom", + "AccessControl", + "Custom" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "SBUMessageCellTheme", + "printedName": "SendbirdUIKit.SBUMessageCellTheme", + "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit37SBUMultipleFilesMessageCollectionViewC5themeAA19SBUMessageCellThemeCvg", + "mangledName": "$s13SendbirdUIKit37SBUMultipleFilesMessageCollectionViewC5themeAA19SBUMessageCellThemeCvg", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "SBUMessageCellTheme", + "printedName": "SendbirdUIKit.SBUMessageCellTheme", + "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit37SBUMultipleFilesMessageCollectionViewC5themeAA19SBUMessageCellThemeCvs", + "mangledName": "$s13SendbirdUIKit37SBUMultipleFilesMessageCollectionViewC5themeAA19SBUMessageCellThemeCvs", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit37SBUMultipleFilesMessageCollectionViewC5themeAA19SBUMessageCellThemeCvM", + "mangledName": "$s13SendbirdUIKit37SBUMultipleFilesMessageCollectionViewC5themeAA19SBUMessageCellThemeCvM", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "cornerRadius", + "printedName": "cornerRadius", + "children": [ + { + "kind": "TypeNominal", + "name": "CGFloat", + "printedName": "CoreGraphics.CGFloat", + "usr": "s:14CoreFoundation7CGFloatV" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit37SBUMultipleFilesMessageCollectionViewC12cornerRadius14CoreFoundation7CGFloatVvp", + "mangledName": "$s13SendbirdUIKit37SBUMultipleFilesMessageCollectionViewC12cornerRadius12CoreGraphics7CGFloatVvp", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "Custom", + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "CGFloat", + "printedName": "CoreGraphics.CGFloat", + "usr": "s:14CoreFoundation7CGFloatV" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit37SBUMultipleFilesMessageCollectionViewC12cornerRadius14CoreFoundation7CGFloatVvg", + "mangledName": "$s13SendbirdUIKit37SBUMultipleFilesMessageCollectionViewC12cornerRadius12CoreGraphics7CGFloatVvg", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "CGFloat", + "printedName": "CoreGraphics.CGFloat", + "usr": "s:14CoreFoundation7CGFloatV" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit37SBUMultipleFilesMessageCollectionViewC12cornerRadius14CoreFoundation7CGFloatVvs", + "mangledName": "$s13SendbirdUIKit37SBUMultipleFilesMessageCollectionViewC12cornerRadius12CoreGraphics7CGFloatVvs", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit37SBUMultipleFilesMessageCollectionViewC12cornerRadius14CoreFoundation7CGFloatVvM", + "mangledName": "$s13SendbirdUIKit37SBUMultipleFilesMessageCollectionViewC12cornerRadius12CoreGraphics7CGFloatVvM", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Function", + "name": "configure", + "printedName": "configure(delegate:dataSource:theme:cornerRadius:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "UICollectionViewDelegate", + "printedName": "UIKit.UICollectionViewDelegate", + "usr": "c:objc(pl)UICollectionViewDelegate" + }, + { + "kind": "TypeNominal", + "name": "UICollectionViewDataSource", + "printedName": "UIKit.UICollectionViewDataSource", + "usr": "c:objc(pl)UICollectionViewDataSource" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "SendbirdUIKit.SBUMessageCellTheme?", + "children": [ + { + "kind": "TypeNominal", + "name": "SBUMessageCellTheme", + "printedName": "SendbirdUIKit.SBUMessageCellTheme", + "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC" + } + ], + "hasDefaultArg": true, + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "CGFloat", + "printedName": "CoreGraphics.CGFloat", + "usr": "s:14CoreFoundation7CGFloatV" + } + ], + "declKind": "Func", + "usr": "s:13SendbirdUIKit37SBUMultipleFilesMessageCollectionViewC9configure8delegate10dataSource5theme12cornerRadiusySo012UICollectionG8Delegate_p_So0og4DataK0_pAA19SBUMessageCellThemeCSg14CoreFoundation7CGFloatVtF", + "mangledName": "$s13SendbirdUIKit37SBUMultipleFilesMessageCollectionViewC9configure8delegate10dataSource5theme12cornerRadiusySo012UICollectionG8Delegate_p_So0og4DataK0_pAA19SBUMessageCellThemeCSg12CoreGraphics7CGFloatVtF", + "moduleName": "SendbirdUIKit", + "isOpen": true, + "declAttributes": [ + "Custom", + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "setupViews", + "printedName": "setupViews()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Func", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCollectionView(im)setupViews", + "mangledName": "$s13SendbirdUIKit37SBUMultipleFilesMessageCollectionViewC10setupViewsyyF", + "moduleName": "SendbirdUIKit", + "isOpen": true, + "objc_name": "setupViews", + "declAttributes": [ + "ObjC", + "Custom", + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "setupLayouts", + "printedName": "setupLayouts()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Func", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCollectionView(im)setupLayouts", + "mangledName": "$s13SendbirdUIKit37SBUMultipleFilesMessageCollectionViewC12setupLayoutsyyF", + "moduleName": "SendbirdUIKit", + "isOpen": true, + "objc_name": "setupLayouts", + "declAttributes": [ + "ObjC", + "Custom", + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "setupStyles", + "printedName": "setupStyles()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Func", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCollectionView(im)setupStyles", + "mangledName": "$s13SendbirdUIKit37SBUMultipleFilesMessageCollectionViewC11setupStylesyyF", + "moduleName": "SendbirdUIKit", + "isOpen": true, + "objc_name": "setupStyles", + "declAttributes": [ + "ObjC", + "Custom", + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "setupActions", + "printedName": "setupActions()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Func", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCollectionView(im)setupActions", + "mangledName": "$s13SendbirdUIKit37SBUMultipleFilesMessageCollectionViewC12setupActionsyyF", + "moduleName": "SendbirdUIKit", + "isOpen": true, + "objc_name": "setupActions", + "declAttributes": [ + "ObjC", + "Custom", + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "updateLayouts", + "printedName": "updateLayouts()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Func", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCollectionView(im)updateLayouts", + "mangledName": "$s13SendbirdUIKit37SBUMultipleFilesMessageCollectionViewC13updateLayoutsyyF", + "moduleName": "SendbirdUIKit", + "isOpen": true, + "objc_name": "updateLayouts", + "declAttributes": [ + "ObjC", + "Custom", + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "updateStyles", + "printedName": "updateStyles()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Func", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCollectionView(im)updateStyles", + "mangledName": "$s13SendbirdUIKit37SBUMultipleFilesMessageCollectionViewC12updateStylesyyF", + "moduleName": "SendbirdUIKit", + "isOpen": true, + "objc_name": "updateStyles", + "declAttributes": [ + "ObjC", + "Custom", + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(frame:collectionViewLayout:)", + "children": [ + { + "kind": "TypeNominal", + "name": "SBUMultipleFilesMessageCollectionView", + "printedName": "SendbirdUIKit.SBUMultipleFilesMessageCollectionView", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCollectionView" + }, + { + "kind": "TypeNominal", + "name": "CGRect", + "printedName": "CoreFoundation.CGRect", + "usr": "c:@S@CGRect" + }, + { + "kind": "TypeNominal", + "name": "UICollectionViewLayout", + "printedName": "UIKit.UICollectionViewLayout", + "usr": "c:objc(cs)UICollectionViewLayout" + } + ], + "declKind": "Constructor", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCollectionView(im)initWithFrame:collectionViewLayout:", + "mangledName": "$s13SendbirdUIKit37SBUMultipleFilesMessageCollectionViewC5frame010collectionG6LayoutACSo6CGRectV_So012UICollectiongJ0Ctcfc", + "moduleName": "SendbirdUIKit", + "overriding": true, + "implicit": true, + "objc_name": "initWithFrame:collectionViewLayout:", + "declAttributes": [ + "Dynamic", + "ObjC", + "Custom", + "Override" + ], + "init_kind": "Designated" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(coder:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "SendbirdUIKit.SBUMultipleFilesMessageCollectionView?", + "children": [ + { + "kind": "TypeNominal", + "name": "SBUMultipleFilesMessageCollectionView", + "printedName": "SendbirdUIKit.SBUMultipleFilesMessageCollectionView", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCollectionView" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "NSCoder", + "printedName": "Foundation.NSCoder", + "usr": "c:objc(cs)NSCoder" + } + ], + "declKind": "Constructor", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCollectionView(im)initWithCoder:", + "mangledName": "$s13SendbirdUIKit37SBUMultipleFilesMessageCollectionViewC5coderACSgSo7NSCoderC_tcfc", + "moduleName": "SendbirdUIKit", + "overriding": true, + "implicit": true, + "objc_name": "initWithCoder:", + "declAttributes": [ + "Dynamic", + "ObjC", + "Custom", + "Required" + ], + "init_kind": "Designated" + } + ], + "declKind": "Class", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCollectionView", + "mangledName": "$s13SendbirdUIKit37SBUMultipleFilesMessageCollectionViewC", + "moduleName": "SendbirdUIKit", + "isOpen": true, + "declAttributes": [ + "Custom", + "AccessControl", + "RawDocComment", + "ObjC" + ], + "superclassUsr": "c:objc(cs)UICollectionView", + "inheritsConvenienceInitializers": true, + "superclassNames": [ + "UIKit.UICollectionView", + "UIKit.UIScrollView", + "UIKit.UIView", + "UIKit.UIResponder", + "ObjectiveC.NSObject" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "SBUViewLifeCycle", + "printedName": "SBUViewLifeCycle", + "usr": "c:@M@SendbirdUIKit@objc(pl)SBUViewLifeCycle", + "mangledName": "$s13SendbirdUIKit16SBUViewLifeCycleP" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "CVarArg", + "printedName": "CVarArg", + "usr": "s:s7CVarArgP", + "mangledName": "$ss7CVarArgP" + }, + { + "kind": "Conformance", + "name": "_KeyValueCodingAndObservingPublishing", + "printedName": "_KeyValueCodingAndObservingPublishing", + "usr": "s:10Foundation37_KeyValueCodingAndObservingPublishingP", + "mangledName": "$s10Foundation37_KeyValueCodingAndObservingPublishingP" + }, + { + "kind": "Conformance", + "name": "_KeyValueCodingAndObserving", + "printedName": "_KeyValueCodingAndObserving", + "usr": "s:10Foundation27_KeyValueCodingAndObservingP", + "mangledName": "$s10Foundation27_KeyValueCodingAndObservingP" + }, + { + "kind": "Conformance", + "name": "CustomStringConvertible", + "printedName": "CustomStringConvertible", + "usr": "s:s23CustomStringConvertibleP", + "mangledName": "$ss23CustomStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "CustomDebugStringConvertible", + "printedName": "CustomDebugStringConvertible", + "usr": "s:s28CustomDebugStringConvertibleP", + "mangledName": "$ss28CustomDebugStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + }, + { + "kind": "Conformance", + "name": "__DefaultCustomPlaygroundQuickLookable", + "printedName": "__DefaultCustomPlaygroundQuickLookable", + "usr": "s:s38__DefaultCustomPlaygroundQuickLookableP", + "mangledName": "$ss38__DefaultCustomPlaygroundQuickLookableP" + } + ] + }, + { + "kind": "Import", + "name": "UIKit", + "printedName": "UIKit", + "declKind": "Import", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "RawDocComment" + ] + }, { "kind": "Import", "name": "SendbirdChatSDK", @@ -87060,6 +88975,516 @@ "RawDocComment" ] }, + { + "kind": "TypeDecl", + "name": "SBUPaddingLabel", + "printedName": "SBUPaddingLabel", + "children": [ + { + "kind": "Var", + "name": "top", + "printedName": "top", + "children": [ + { + "kind": "TypeNominal", + "name": "CGFloat", + "printedName": "CoreGraphics.CGFloat", + "usr": "s:14CoreFoundation7CGFloatV" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit15SBUPaddingLabelC3top14CoreFoundation7CGFloatVvp", + "mangledName": "$s13SendbirdUIKit15SBUPaddingLabelC3top12CoreGraphics7CGFloatVvp", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "Custom", + "HasStorage", + "SetterAccess", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "CGFloat", + "printedName": "CoreGraphics.CGFloat", + "usr": "s:14CoreFoundation7CGFloatV" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit15SBUPaddingLabelC3top14CoreFoundation7CGFloatVvg", + "mangledName": "$s13SendbirdUIKit15SBUPaddingLabelC3top12CoreGraphics7CGFloatVvg", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "bottom", + "printedName": "bottom", + "children": [ + { + "kind": "TypeNominal", + "name": "CGFloat", + "printedName": "CoreGraphics.CGFloat", + "usr": "s:14CoreFoundation7CGFloatV" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit15SBUPaddingLabelC6bottom14CoreFoundation7CGFloatVvp", + "mangledName": "$s13SendbirdUIKit15SBUPaddingLabelC6bottom12CoreGraphics7CGFloatVvp", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "Custom", + "HasStorage", + "SetterAccess", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "CGFloat", + "printedName": "CoreGraphics.CGFloat", + "usr": "s:14CoreFoundation7CGFloatV" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit15SBUPaddingLabelC6bottom14CoreFoundation7CGFloatVvg", + "mangledName": "$s13SendbirdUIKit15SBUPaddingLabelC6bottom12CoreGraphics7CGFloatVvg", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "leading", + "printedName": "leading", + "children": [ + { + "kind": "TypeNominal", + "name": "CGFloat", + "printedName": "CoreGraphics.CGFloat", + "usr": "s:14CoreFoundation7CGFloatV" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit15SBUPaddingLabelC7leading14CoreFoundation7CGFloatVvp", + "mangledName": "$s13SendbirdUIKit15SBUPaddingLabelC7leading12CoreGraphics7CGFloatVvp", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "Custom", + "HasStorage", + "SetterAccess", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "CGFloat", + "printedName": "CoreGraphics.CGFloat", + "usr": "s:14CoreFoundation7CGFloatV" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit15SBUPaddingLabelC7leading14CoreFoundation7CGFloatVvg", + "mangledName": "$s13SendbirdUIKit15SBUPaddingLabelC7leading12CoreGraphics7CGFloatVvg", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "trailing", + "printedName": "trailing", + "children": [ + { + "kind": "TypeNominal", + "name": "CGFloat", + "printedName": "CoreGraphics.CGFloat", + "usr": "s:14CoreFoundation7CGFloatV" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit15SBUPaddingLabelC8trailing14CoreFoundation7CGFloatVvp", + "mangledName": "$s13SendbirdUIKit15SBUPaddingLabelC8trailing12CoreGraphics7CGFloatVvp", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "Custom", + "HasStorage", + "SetterAccess", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "CGFloat", + "printedName": "CoreGraphics.CGFloat", + "usr": "s:14CoreFoundation7CGFloatV" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit15SBUPaddingLabelC8trailing14CoreFoundation7CGFloatVvg", + "mangledName": "$s13SendbirdUIKit15SBUPaddingLabelC8trailing12CoreGraphics7CGFloatVvg", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "SBUPaddingLabel", + "printedName": "SendbirdUIKit.SBUPaddingLabel", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUPaddingLabel" + }, + { + "kind": "TypeNominal", + "name": "CGFloat", + "printedName": "CoreGraphics.CGFloat", + "usr": "s:14CoreFoundation7CGFloatV" + } + ], + "declKind": "Constructor", + "usr": "s:13SendbirdUIKit15SBUPaddingLabelCyAC14CoreFoundation7CGFloatVcfc", + "mangledName": "$s13SendbirdUIKit15SBUPaddingLabelCyAC12CoreGraphics7CGFloatVcfc", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "Custom", + "Convenience", + "AccessControl" + ], + "init_kind": "Convenience" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "SBUPaddingLabel", + "printedName": "SendbirdUIKit.SBUPaddingLabel", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUPaddingLabel" + }, + { + "kind": "TypeNominal", + "name": "CGFloat", + "printedName": "CoreGraphics.CGFloat", + "usr": "s:14CoreFoundation7CGFloatV" + }, + { + "kind": "TypeNominal", + "name": "CGFloat", + "printedName": "CoreGraphics.CGFloat", + "usr": "s:14CoreFoundation7CGFloatV" + } + ], + "declKind": "Constructor", + "usr": "s:13SendbirdUIKit15SBUPaddingLabelCyAC14CoreFoundation7CGFloatV_AFtcfc", + "mangledName": "$s13SendbirdUIKit15SBUPaddingLabelCyAC12CoreGraphics7CGFloatV_AFtcfc", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "Custom", + "Convenience", + "AccessControl" + ], + "init_kind": "Convenience" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(_:_:_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "SBUPaddingLabel", + "printedName": "SendbirdUIKit.SBUPaddingLabel", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUPaddingLabel" + }, + { + "kind": "TypeNominal", + "name": "CGFloat", + "printedName": "CoreGraphics.CGFloat", + "hasDefaultArg": true, + "usr": "s:14CoreFoundation7CGFloatV" + }, + { + "kind": "TypeNominal", + "name": "CGFloat", + "printedName": "CoreGraphics.CGFloat", + "hasDefaultArg": true, + "usr": "s:14CoreFoundation7CGFloatV" + }, + { + "kind": "TypeNominal", + "name": "CGFloat", + "printedName": "CoreGraphics.CGFloat", + "hasDefaultArg": true, + "usr": "s:14CoreFoundation7CGFloatV" + }, + { + "kind": "TypeNominal", + "name": "CGFloat", + "printedName": "CoreGraphics.CGFloat", + "hasDefaultArg": true, + "usr": "s:14CoreFoundation7CGFloatV" + } + ], + "declKind": "Constructor", + "usr": "s:13SendbirdUIKit15SBUPaddingLabelCyAC14CoreFoundation7CGFloatV_A3Ftcfc", + "mangledName": "$s13SendbirdUIKit15SBUPaddingLabelCyAC12CoreGraphics7CGFloatV_A3Ftcfc", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "Custom", + "AccessControl" + ], + "init_kind": "Designated" + }, + { + "kind": "Function", + "name": "drawText", + "printedName": "drawText(in:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "CGRect", + "printedName": "CoreFoundation.CGRect", + "usr": "c:@S@CGRect" + } + ], + "declKind": "Func", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUPaddingLabel(im)drawTextInRect:", + "mangledName": "$s13SendbirdUIKit15SBUPaddingLabelC8drawText2inySo6CGRectV_tF", + "moduleName": "SendbirdUIKit", + "overriding": true, + "objc_name": "drawTextInRect:", + "declAttributes": [ + "Dynamic", + "ObjC", + "Custom", + "Override", + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Var", + "name": "intrinsicContentSize", + "printedName": "intrinsicContentSize", + "children": [ + { + "kind": "TypeNominal", + "name": "CGSize", + "printedName": "CoreFoundation.CGSize", + "usr": "c:@S@CGSize" + } + ], + "declKind": "Var", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUPaddingLabel(py)intrinsicContentSize", + "mangledName": "$s13SendbirdUIKit15SBUPaddingLabelC20intrinsicContentSizeSo6CGSizeVvp", + "moduleName": "SendbirdUIKit", + "overriding": true, + "objc_name": "intrinsicContentSize", + "declAttributes": [ + "Dynamic", + "ObjC", + "Custom", + "Override", + "AccessControl" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "CGSize", + "printedName": "CoreFoundation.CGSize", + "usr": "c:@S@CGSize" + } + ], + "declKind": "Accessor", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUPaddingLabel(im)intrinsicContentSize", + "mangledName": "$s13SendbirdUIKit15SBUPaddingLabelC20intrinsicContentSizeSo6CGSizeVvg", + "moduleName": "SendbirdUIKit", + "overriding": true, + "objc_name": "intrinsicContentSize", + "declAttributes": [ + "Dynamic", + "ObjC" + ], + "accessorKind": "get" + } + ] + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(frame:)", + "children": [ + { + "kind": "TypeNominal", + "name": "SBUPaddingLabel", + "printedName": "SendbirdUIKit.SBUPaddingLabel", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUPaddingLabel" + }, + { + "kind": "TypeNominal", + "name": "CGRect", + "printedName": "CoreFoundation.CGRect", + "usr": "c:@S@CGRect" + } + ], + "declKind": "Constructor", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUPaddingLabel(im)initWithFrame:", + "mangledName": "$s13SendbirdUIKit15SBUPaddingLabelC5frameACSo6CGRectV_tcfc", + "moduleName": "SendbirdUIKit", + "overriding": true, + "implicit": true, + "objc_name": "initWithFrame:", + "declAttributes": [ + "Dynamic", + "ObjC", + "Custom", + "Override" + ], + "init_kind": "Designated" + } + ], + "declKind": "Class", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUPaddingLabel", + "mangledName": "$s13SendbirdUIKit15SBUPaddingLabelC", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "Custom", + "AccessControl", + "ObjC" + ], + "superclassUsr": "c:objc(cs)UILabel", + "hasMissingDesignatedInitializers": true, + "superclassNames": [ + "UIKit.UILabel", + "UIKit.UIView", + "UIKit.UIResponder", + "ObjectiveC.NSObject" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "CVarArg", + "printedName": "CVarArg", + "usr": "s:s7CVarArgP", + "mangledName": "$ss7CVarArgP" + }, + { + "kind": "Conformance", + "name": "_KeyValueCodingAndObservingPublishing", + "printedName": "_KeyValueCodingAndObservingPublishing", + "usr": "s:10Foundation37_KeyValueCodingAndObservingPublishingP", + "mangledName": "$s10Foundation37_KeyValueCodingAndObservingPublishingP" + }, + { + "kind": "Conformance", + "name": "_KeyValueCodingAndObserving", + "printedName": "_KeyValueCodingAndObserving", + "usr": "s:10Foundation27_KeyValueCodingAndObservingP", + "mangledName": "$s10Foundation27_KeyValueCodingAndObservingP" + }, + { + "kind": "Conformance", + "name": "CustomStringConvertible", + "printedName": "CustomStringConvertible", + "usr": "s:s23CustomStringConvertibleP", + "mangledName": "$ss23CustomStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "CustomDebugStringConvertible", + "printedName": "CustomDebugStringConvertible", + "usr": "s:s28CustomDebugStringConvertibleP", + "mangledName": "$ss28CustomDebugStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + }, + { + "kind": "Conformance", + "name": "__DefaultCustomPlaygroundQuickLookable", + "printedName": "__DefaultCustomPlaygroundQuickLookable", + "usr": "s:s38__DefaultCustomPlaygroundQuickLookableP", + "mangledName": "$ss38__DefaultCustomPlaygroundQuickLookableP" + } + ] + }, + { + "kind": "Import", + "name": "UIKit", + "printedName": "UIKit", + "declKind": "Import", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "RawDocComment" + ] + }, { "kind": "Import", "name": "QuartzCore", @@ -87406,7 +89831,7 @@ "children": [ { "kind": "TypeNominal", - "name": "ImplicitlyUnwrappedOptional", + "name": "Optional", "printedName": "UIKit.NSLayoutConstraint?", "children": [ { @@ -87441,7 +89866,7 @@ "children": [ { "kind": "TypeNominal", - "name": "ImplicitlyUnwrappedOptional", + "name": "Optional", "printedName": "UIKit.NSLayoutConstraint?", "children": [ { @@ -100511,6 +102936,20 @@ "declKind": "Import", "moduleName": "SendbirdUIKit" }, + { + "kind": "Import", + "name": "PhotosUI", + "printedName": "PhotosUI", + "declKind": "Import", + "moduleName": "SendbirdUIKit" + }, + { + "kind": "Import", + "name": "MobileCoreServices", + "printedName": "MobileCoreServices", + "declKind": "Import", + "moduleName": "SendbirdUIKit" + }, { "kind": "TypeDecl", "name": "SBUGroupChannelViewController", @@ -101293,6 +103732,36 @@ } ] }, + { + "kind": "Function", + "name": "multipleFilesMessageFileSizeErrorHandler", + "printedName": "multipleFilesMessageFileSizeErrorHandler(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Func", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUGroupChannelViewController(im)multipleFilesMessageFileSizeErrorHandler:", + "mangledName": "$s13SendbirdUIKit29SBUGroupChannelViewControllerC40multipleFilesMessageFileSizeErrorHandleryySSF", + "moduleName": "SendbirdUIKit", + "isOpen": true, + "declAttributes": [ + "Custom", + "AccessControl", + "RawDocComment", + "ObjC" + ], + "funcSelfKind": "NonMutating" + }, { "kind": "Constructor", "name": "init", @@ -101984,6 +104453,38 @@ ], "funcSelfKind": "NonMutating" }, + { + "kind": "Function", + "name": "updateStyles", + "printedName": "updateStyles(needsToLayout:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Func", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUGroupChannelViewController(im)updateStylesWithNeedsToLayout:", + "mangledName": "$s13SendbirdUIKit29SBUGroupChannelViewControllerC12updateStyles13needsToLayoutySb_tF", + "moduleName": "SendbirdUIKit", + "overriding": true, + "isOpen": true, + "objc_name": "updateStylesWithNeedsToLayout:", + "declAttributes": [ + "ObjC", + "Custom", + "Override", + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, { "kind": "Function", "name": "updateStyles", @@ -102279,6 +104780,112 @@ ], "funcSelfKind": "NonMutating" }, + { + "kind": "Function", + "name": "imagePickerControllerDidCancel", + "printedName": "imagePickerControllerDidCancel(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "UIImagePickerController", + "printedName": "UIKit.UIImagePickerController", + "usr": "c:objc(cs)UIImagePickerController" + } + ], + "declKind": "Func", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUGroupChannelViewController(im)imagePickerControllerDidCancel:", + "mangledName": "$s13SendbirdUIKit29SBUGroupChannelViewControllerC011imagePickerF9DidCancelyySo07UIImagehF0CF", + "moduleName": "SendbirdUIKit", + "overriding": true, + "isOpen": true, + "objc_name": "imagePickerControllerDidCancel:", + "declAttributes": [ + "ObjC", + "Custom", + "Override", + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "picker", + "printedName": "picker(_:didFinishPicking:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "PHPickerViewController", + "printedName": "PhotosUI.PHPickerViewController", + "usr": "c:objc(cs)PHPickerViewController" + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[PhotosUI.PHPickerResult]", + "children": [ + { + "kind": "TypeNominal", + "name": "PHPickerResult", + "printedName": "PhotosUI.PHPickerResult", + "usr": "s:8PhotosUI14PHPickerResultV" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Func", + "usr": "s:13SendbirdUIKit29SBUGroupChannelViewControllerC6picker_16didFinishPickingySo08PHPickereF0C_Say8PhotosUI0K6ResultVGtF", + "mangledName": "$s13SendbirdUIKit29SBUGroupChannelViewControllerC6picker_16didFinishPickingySo08PHPickereF0C_Say8PhotosUI0K6ResultVGtF", + "moduleName": "SendbirdUIKit", + "overriding": true, + "isOpen": true, + "intro_iOS": "14", + "declAttributes": [ + "Custom", + "AccessControl", + "Override", + "Available" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "showPhotoLibraryPicker", + "printedName": "showPhotoLibraryPicker()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Func", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUGroupChannelViewController(im)showPhotoLibraryPicker", + "mangledName": "$s13SendbirdUIKit29SBUGroupChannelViewControllerC22showPhotoLibraryPickeryyF", + "moduleName": "SendbirdUIKit", + "overriding": true, + "isOpen": true, + "objc_name": "showPhotoLibraryPicker", + "declAttributes": [ + "ObjC", + "Custom", + "Override", + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, { "kind": "Function", "name": "showVoiceMessageInput", @@ -102515,6 +105122,46 @@ ], "funcSelfKind": "NonMutating" }, + { + "kind": "Function", + "name": "groupChannelViewModel", + "printedName": "groupChannelViewModel(_:didFinishUploadingFileAt:multipleFilesMessageRequestId:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "SBUGroupChannelViewModel", + "printedName": "SendbirdUIKit.SBUGroupChannelViewModel", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUGroupChannelViewModel" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Func", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUGroupChannelViewController(im)groupChannelViewModel:didFinishUploadingFileAt:multipleFilesMessageRequestId:", + "mangledName": "$s13SendbirdUIKit29SBUGroupChannelViewControllerC05groupdE5Model_24didFinishUploadingFileAt29multipleFilesMessageRequestIdyAA0cdeH0C_SiSStF", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "Custom", + "AccessControl", + "ObjC" + ], + "funcSelfKind": "NonMutating" + }, { "kind": "Function", "name": "baseChannelModule", @@ -102592,6 +105239,54 @@ ], "funcSelfKind": "NonMutating" }, + { + "kind": "Function", + "name": "groupChannelModule", + "printedName": "groupChannelModule(_:didSelectFileAt:multipleFilesMessageCell:forRowAt:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "List", + "printedName": "SendbirdUIKit.SBUGroupChannelModule.List", + "usr": "s:13SendbirdUIKit21SBUGroupChannelModuleC4ListC" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "SBUMultipleFilesMessageCell", + "printedName": "SendbirdUIKit.SBUMultipleFilesMessageCell", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCell" + }, + { + "kind": "TypeNominal", + "name": "IndexPath", + "printedName": "Foundation.IndexPath", + "usr": "s:10Foundation9IndexPathV" + } + ], + "declKind": "Func", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUGroupChannelViewController(im)groupChannelModule:didSelectFileAt:multipleFilesMessageCell:forRowAt:", + "mangledName": "$s13SendbirdUIKit29SBUGroupChannelViewControllerC05groupD6Module_15didSelectFileAt24multipleFilesMessageCell06forRowL0yAA0cdH0C4ListC_SiAA011SBUMultiplenoP0C10Foundation9IndexPathVtF", + "moduleName": "SendbirdUIKit", + "isOpen": true, + "declAttributes": [ + "Custom", + "AccessControl", + "RawDocComment", + "ObjC" + ], + "funcSelfKind": "NonMutating" + }, { "kind": "Function", "name": "groupChannelModule", @@ -102629,7 +105324,6 @@ "declAttributes": [ "Custom", "AccessControl", - "RawDocComment", "ObjC" ], "funcSelfKind": "NonMutating" @@ -103090,7 +105784,7 @@ { "kind": "Function", "name": "groupChannelModule", - "printedName": "groupChannelModule(_:didTapSend:mentionedMessageTemplate:mentionedUserIds:parentMessage:)", + "printedName": "groupChannelModule(_:didPickMultipleFiles:parentMessage:)", "children": [ { "kind": "TypeNominal", @@ -103105,29 +105799,25 @@ }, { "kind": "TypeNominal", - "name": "String", - "printedName": "Swift.String", - "usr": "s:SS" - }, - { - "kind": "TypeNominal", - "name": "String", - "printedName": "Swift.String", - "usr": "s:SS" - }, - { - "kind": "TypeNominal", - "name": "Array", - "printedName": "[Swift.String]", + "name": "Optional", + "printedName": "[SendbirdChatSDK.UploadableFileInfo]?", "children": [ { "kind": "TypeNominal", - "name": "String", - "printedName": "Swift.String", - "usr": "s:SS" + "name": "Array", + "printedName": "[SendbirdChatSDK.UploadableFileInfo]", + "children": [ + { + "kind": "TypeNominal", + "name": "UploadableFileInfo", + "printedName": "SendbirdChatSDK.UploadableFileInfo", + "usr": "c:@M@SendbirdChatSDK@objc(cs)SBDUploadableFileInfo" + } + ], + "usr": "s:Sa" } ], - "usr": "s:Sa" + "usr": "s:Sq" }, { "kind": "TypeNominal", @@ -103145,8 +105835,8 @@ } ], "declKind": "Func", - "usr": "c:@M@SendbirdUIKit@objc(cs)SBUGroupChannelViewController(im)groupChannelModule:didTapSend:mentionedMessageTemplate:mentionedUserIds:parentMessage:", - "mangledName": "$s13SendbirdUIKit29SBUGroupChannelViewControllerC05groupD6Module_10didTapSend24mentionedMessageTemplate0L7UserIds06parentM0yAA0cdH0C5InputC_S2SSaySSG0A7ChatSDK04BaseM0CSgtF", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUGroupChannelViewController(im)groupChannelModule:didPickMultipleFiles:parentMessage:", + "mangledName": "$s13SendbirdUIKit29SBUGroupChannelViewControllerC05groupD6Module_20didPickMultipleFiles13parentMessageyAA0cdH0C5InputC_Say0A7ChatSDK18UploadableFileInfoCGSgAK04BaseN0CSgtF", "moduleName": "SendbirdUIKit", "isOpen": true, "declAttributes": [ @@ -103159,7 +105849,76 @@ { "kind": "Function", "name": "groupChannelModule", - "printedName": "groupChannelModule(_:didTapEdit:mentionedMessageTemplate:mentionedUserIds:)", + "printedName": "groupChannelModule(_:didTapSend:mentionedMessageTemplate:mentionedUserIds:parentMessage:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Input", + "printedName": "SendbirdUIKit.SBUGroupChannelModule.Input", + "usr": "s:13SendbirdUIKit21SBUGroupChannelModuleC5InputC" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.String]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "usr": "s:Sa" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "SendbirdChatSDK.BaseMessage?", + "children": [ + { + "kind": "TypeNominal", + "name": "BaseMessage", + "printedName": "SendbirdChatSDK.BaseMessage", + "usr": "c:@M@SendbirdChatSDK@objc(cs)SBDBaseMessage" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Func", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUGroupChannelViewController(im)groupChannelModule:didTapSend:mentionedMessageTemplate:mentionedUserIds:parentMessage:", + "mangledName": "$s13SendbirdUIKit29SBUGroupChannelViewControllerC05groupD6Module_10didTapSend24mentionedMessageTemplate0L7UserIds06parentM0yAA0cdH0C5InputC_S2SSaySSG0A7ChatSDK04BaseM0CSgtF", + "moduleName": "SendbirdUIKit", + "isOpen": true, + "declAttributes": [ + "Custom", + "AccessControl", + "ObjC" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "groupChannelModule", + "printedName": "groupChannelModule(_:didTapEdit:mentionedMessageTemplate:mentionedUserIds:)", "children": [ { "kind": "TypeNominal", @@ -124196,7 +126955,7 @@ "children": [ { "kind": "TypeNominal", - "name": "ImplicitlyUnwrappedOptional", + "name": "Optional", "printedName": "UIKit.NSLayoutConstraint?", "children": [ { @@ -124228,7 +126987,7 @@ "children": [ { "kind": "TypeNominal", - "name": "ImplicitlyUnwrappedOptional", + "name": "Optional", "printedName": "UIKit.NSLayoutConstraint?", "children": [ { @@ -124260,7 +127019,7 @@ }, { "kind": "TypeNominal", - "name": "ImplicitlyUnwrappedOptional", + "name": "Optional", "printedName": "UIKit.NSLayoutConstraint?", "children": [ { @@ -126184,6 +128943,102 @@ ], "reqNewWitnessTableEntry": true, "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "messageThreadModule", + "printedName": "messageThreadModule(_:didSelectFileAt:multipleFilesMessageCell:forRowAt:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "List", + "printedName": "SendbirdUIKit.SBUMessageThreadModule.List", + "usr": "s:13SendbirdUIKit22SBUMessageThreadModuleC4ListC" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "SBUMultipleFilesMessageCell", + "printedName": "SendbirdUIKit.SBUMultipleFilesMessageCell", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCell" + }, + { + "kind": "TypeNominal", + "name": "IndexPath", + "printedName": "Foundation.IndexPath", + "usr": "s:10Foundation9IndexPathV" + } + ], + "declKind": "Func", + "usr": "s:13SendbirdUIKit34SBUMessageThreadModuleListDelegateP07messagedE0_15didSelectFileAt24multipleFilesMessageCell06forRowL0yAA0cdE0C0F0C_SiAA011SBUMultiplenoP0C10Foundation9IndexPathVtF", + "mangledName": "$s13SendbirdUIKit34SBUMessageThreadModuleListDelegateP07messagedE0_15didSelectFileAt24multipleFilesMessageCell06forRowL0yAA0cdE0C0F0C_SiAA011SBUMultiplenoP0C10Foundation9IndexPathVtF", + "moduleName": "SendbirdUIKit", + "genericSig": "<τ_0_0 where τ_0_0 : SendbirdUIKit.SBUMessageThreadModuleListDelegate>", + "sugared_genericSig": "", + "protocolReq": true, + "declAttributes": [ + "RawDocComment" + ], + "reqNewWitnessTableEntry": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "messageThreadModule", + "printedName": "messageThreadModule(_:uploadedFileInfo:message:index:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "List", + "printedName": "SendbirdUIKit.SBUMessageThreadModule.List", + "usr": "s:13SendbirdUIKit22SBUMessageThreadModuleC4ListC" + }, + { + "kind": "TypeNominal", + "name": "UploadedFileInfo", + "printedName": "SendbirdChatSDK.UploadedFileInfo", + "usr": "c:@M@SendbirdChatSDK@objc(cs)SBDUploadedFileInfo" + }, + { + "kind": "TypeNominal", + "name": "MultipleFilesMessage", + "printedName": "SendbirdChatSDK.MultipleFilesMessage", + "usr": "c:@M@SendbirdChatSDK@objc(cs)SBDMultipleFilesMessage" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Func", + "usr": "s:13SendbirdUIKit34SBUMessageThreadModuleListDelegateP07messagedE0_16uploadedFileInfo0H05indexyAA0cdE0C0F0C_0A7ChatSDK08UploadedjK0CAL20MultipleFilesMessageCSitF", + "mangledName": "$s13SendbirdUIKit34SBUMessageThreadModuleListDelegateP07messagedE0_16uploadedFileInfo0H05indexyAA0cdE0C0F0C_0A7ChatSDK08UploadedjK0CAL20MultipleFilesMessageCSitF", + "moduleName": "SendbirdUIKit", + "genericSig": "<τ_0_0 where τ_0_0 : SendbirdUIKit.SBUMessageThreadModuleListDelegate>", + "sugared_genericSig": "", + "protocolReq": true, + "declAttributes": [ + "RawDocComment" + ], + "reqNewWitnessTableEntry": true, + "funcSelfKind": "NonMutating" } ], "declKind": "Protocol", @@ -134390,6 +137245,366 @@ "RawDocComment" ] }, + { + "kind": "TypeDecl", + "name": "SBUCollectionViewCell", + "printedName": "SBUCollectionViewCell", + "children": [ + { + "kind": "Constructor", + "name": "init", + "printedName": "init(frame:)", + "children": [ + { + "kind": "TypeNominal", + "name": "SBUCollectionViewCell", + "printedName": "SendbirdUIKit.SBUCollectionViewCell", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUCollectionViewCell" + }, + { + "kind": "TypeNominal", + "name": "CGRect", + "printedName": "CoreFoundation.CGRect", + "usr": "c:@S@CGRect" + } + ], + "declKind": "Constructor", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUCollectionViewCell(im)initWithFrame:", + "mangledName": "$s13SendbirdUIKit21SBUCollectionViewCellC5frameACSo6CGRectV_tcfc", + "moduleName": "SendbirdUIKit", + "overriding": true, + "objc_name": "initWithFrame:", + "declAttributes": [ + "Dynamic", + "ObjC", + "Custom", + "Override", + "AccessControl" + ], + "init_kind": "Designated" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(coder:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "SendbirdUIKit.SBUCollectionViewCell?", + "children": [ + { + "kind": "TypeNominal", + "name": "SBUCollectionViewCell", + "printedName": "SendbirdUIKit.SBUCollectionViewCell", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUCollectionViewCell" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "NSCoder", + "printedName": "Foundation.NSCoder", + "usr": "c:objc(cs)NSCoder" + } + ], + "declKind": "Constructor", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUCollectionViewCell(im)initWithCoder:", + "mangledName": "$s13SendbirdUIKit21SBUCollectionViewCellC5coderACSgSo7NSCoderC_tcfc", + "moduleName": "SendbirdUIKit", + "overriding": true, + "objc_name": "initWithCoder:", + "declAttributes": [ + "Dynamic", + "ObjC", + "Custom", + "AccessControl", + "Required" + ], + "init_kind": "Designated" + }, + { + "kind": "Function", + "name": "layoutSubviews", + "printedName": "layoutSubviews()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Func", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUCollectionViewCell(im)layoutSubviews", + "mangledName": "$s13SendbirdUIKit21SBUCollectionViewCellC14layoutSubviewsyyF", + "moduleName": "SendbirdUIKit", + "overriding": true, + "isOpen": true, + "objc_name": "layoutSubviews", + "declAttributes": [ + "Dynamic", + "ObjC", + "Custom", + "Override", + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "setupViews", + "printedName": "setupViews()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Func", + "usr": "c:@CM@SendbirdUIKit@objc(cs)SBUCollectionViewCell(im)setupViews", + "mangledName": "$s13SendbirdUIKit21SBUCollectionViewCellC10setupViewsyyF", + "moduleName": "SendbirdUIKit", + "objc_name": "setupViews", + "declAttributes": [ + "Dynamic", + "ObjC", + "Custom", + "AccessControl" + ], + "isFromExtension": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "setupStyles", + "printedName": "setupStyles()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Func", + "usr": "c:@CM@SendbirdUIKit@objc(cs)SBUCollectionViewCell(im)setupStyles", + "mangledName": "$s13SendbirdUIKit21SBUCollectionViewCellC11setupStylesyyF", + "moduleName": "SendbirdUIKit", + "objc_name": "setupStyles", + "declAttributes": [ + "Dynamic", + "ObjC", + "Custom", + "AccessControl" + ], + "isFromExtension": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "updateStyles", + "printedName": "updateStyles()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Func", + "usr": "c:@CM@SendbirdUIKit@objc(cs)SBUCollectionViewCell(im)updateStyles", + "mangledName": "$s13SendbirdUIKit21SBUCollectionViewCellC12updateStylesyyF", + "moduleName": "SendbirdUIKit", + "objc_name": "updateStyles", + "declAttributes": [ + "Dynamic", + "ObjC", + "Custom", + "AccessControl" + ], + "isFromExtension": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "setupLayouts", + "printedName": "setupLayouts()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Func", + "usr": "c:@CM@SendbirdUIKit@objc(cs)SBUCollectionViewCell(im)setupLayouts", + "mangledName": "$s13SendbirdUIKit21SBUCollectionViewCellC12setupLayoutsyyF", + "moduleName": "SendbirdUIKit", + "objc_name": "setupLayouts", + "declAttributes": [ + "Dynamic", + "ObjC", + "Custom", + "AccessControl" + ], + "isFromExtension": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "updateLayouts", + "printedName": "updateLayouts()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Func", + "usr": "c:@CM@SendbirdUIKit@objc(cs)SBUCollectionViewCell(im)updateLayouts", + "mangledName": "$s13SendbirdUIKit21SBUCollectionViewCellC13updateLayoutsyyF", + "moduleName": "SendbirdUIKit", + "objc_name": "updateLayouts", + "declAttributes": [ + "Dynamic", + "ObjC", + "Custom", + "AccessControl" + ], + "isFromExtension": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "setupActions", + "printedName": "setupActions()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Func", + "usr": "c:@CM@SendbirdUIKit@objc(cs)SBUCollectionViewCell(im)setupActions", + "mangledName": "$s13SendbirdUIKit21SBUCollectionViewCellC12setupActionsyyF", + "moduleName": "SendbirdUIKit", + "objc_name": "setupActions", + "declAttributes": [ + "Dynamic", + "ObjC", + "Custom", + "AccessControl" + ], + "isFromExtension": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Class", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUCollectionViewCell", + "mangledName": "$s13SendbirdUIKit21SBUCollectionViewCellC", + "moduleName": "SendbirdUIKit", + "isOpen": true, + "declAttributes": [ + "Custom", + "AccessControl", + "RawDocComment", + "ObjC" + ], + "superclassUsr": "c:objc(cs)UICollectionViewCell", + "inheritsConvenienceInitializers": true, + "superclassNames": [ + "UIKit.UICollectionViewCell", + "UIKit.UICollectionReusableView", + "UIKit.UIView", + "UIKit.UIResponder", + "ObjectiveC.NSObject" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "SBUViewLifeCycle", + "printedName": "SBUViewLifeCycle", + "usr": "c:@M@SendbirdUIKit@objc(pl)SBUViewLifeCycle", + "mangledName": "$s13SendbirdUIKit16SBUViewLifeCycleP" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "CVarArg", + "printedName": "CVarArg", + "usr": "s:s7CVarArgP", + "mangledName": "$ss7CVarArgP" + }, + { + "kind": "Conformance", + "name": "_KeyValueCodingAndObservingPublishing", + "printedName": "_KeyValueCodingAndObservingPublishing", + "usr": "s:10Foundation37_KeyValueCodingAndObservingPublishingP", + "mangledName": "$s10Foundation37_KeyValueCodingAndObservingPublishingP" + }, + { + "kind": "Conformance", + "name": "_KeyValueCodingAndObserving", + "printedName": "_KeyValueCodingAndObserving", + "usr": "s:10Foundation27_KeyValueCodingAndObservingP", + "mangledName": "$s10Foundation27_KeyValueCodingAndObservingP" + }, + { + "kind": "Conformance", + "name": "CustomStringConvertible", + "printedName": "CustomStringConvertible", + "usr": "s:s23CustomStringConvertibleP", + "mangledName": "$ss23CustomStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "CustomDebugStringConvertible", + "printedName": "CustomDebugStringConvertible", + "usr": "s:s28CustomDebugStringConvertibleP", + "mangledName": "$ss28CustomDebugStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + }, + { + "kind": "Conformance", + "name": "__DefaultCustomPlaygroundQuickLookable", + "printedName": "__DefaultCustomPlaygroundQuickLookable", + "usr": "s:s38__DefaultCustomPlaygroundQuickLookableP", + "mangledName": "$ss38__DefaultCustomPlaygroundQuickLookableP" + } + ] + }, + { + "kind": "Import", + "name": "UIKit", + "printedName": "UIKit", + "declKind": "Import", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "RawDocComment" + ] + }, { "kind": "Import", "name": "SendbirdChatSDK", @@ -134587,6 +137802,98 @@ } ] }, + { + "kind": "Var", + "name": "profileBaseView", + "printedName": "profileBaseView", + "children": [ + { + "kind": "TypeNominal", + "name": "UIView", + "printedName": "UIKit.UIView", + "usr": "c:objc(cs)UIView" + } + ], + "declKind": "Var", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUOpenChannelContentBaseMessageCell(py)profileBaseView", + "mangledName": "$s13SendbirdUIKit36SBUOpenChannelContentBaseMessageCellC07profileF4ViewSo6UIViewCvp", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "Custom", + "Lazy", + "AccessControl", + "ObjC" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "UIView", + "printedName": "UIKit.UIView", + "usr": "c:objc(cs)UIView" + } + ], + "declKind": "Accessor", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUOpenChannelContentBaseMessageCell(im)profileBaseView", + "mangledName": "$s13SendbirdUIKit36SBUOpenChannelContentBaseMessageCellC07profileF4ViewSo6UIViewCvg", + "moduleName": "SendbirdUIKit", + "implicit": true, + "declAttributes": [ + "ObjC" + ], + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "UIView", + "printedName": "UIKit.UIView", + "usr": "c:objc(cs)UIView" + } + ], + "declKind": "Accessor", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUOpenChannelContentBaseMessageCell(im)setProfileBaseView:", + "mangledName": "$s13SendbirdUIKit36SBUOpenChannelContentBaseMessageCellC07profileF4ViewSo6UIViewCvs", + "moduleName": "SendbirdUIKit", + "implicit": true, + "declAttributes": [ + "ObjC" + ], + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit36SBUOpenChannelContentBaseMessageCellC07profileF4ViewSo6UIViewCvM", + "mangledName": "$s13SendbirdUIKit36SBUOpenChannelContentBaseMessageCellC07profileF4ViewSo6UIViewCvM", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, { "kind": "Var", "name": "contentsStackView", @@ -145591,6 +148898,803 @@ } ] }, + { + "kind": "Import", + "name": "UIKit", + "printedName": "UIKit", + "declKind": "Import", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "SendbirdChatSDK", + "printedName": "SendbirdChatSDK", + "declKind": "Import", + "moduleName": "SendbirdUIKit" + }, + { + "kind": "TypeDecl", + "name": "SBUMultipleFilesMessageCollectionViewCell", + "printedName": "SBUMultipleFilesMessageCollectionViewCell", + "children": [ + { + "kind": "Var", + "name": "imageView", + "printedName": "imageView", + "children": [ + { + "kind": "TypeNominal", + "name": "UIImageView", + "printedName": "UIKit.UIImageView", + "usr": "c:objc(cs)UIImageView" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit41SBUMultipleFilesMessageCollectionViewCellC05imageG0So07UIImageG0Cvp", + "mangledName": "$s13SendbirdUIKit41SBUMultipleFilesMessageCollectionViewCellC05imageG0So07UIImageG0Cvp", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "Custom", + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "UIImageView", + "printedName": "UIKit.UIImageView", + "usr": "c:objc(cs)UIImageView" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit41SBUMultipleFilesMessageCollectionViewCellC05imageG0So07UIImageG0Cvg", + "mangledName": "$s13SendbirdUIKit41SBUMultipleFilesMessageCollectionViewCellC05imageG0So07UIImageG0Cvg", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "UIImageView", + "printedName": "UIKit.UIImageView", + "usr": "c:objc(cs)UIImageView" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit41SBUMultipleFilesMessageCollectionViewCellC05imageG0So07UIImageG0Cvs", + "mangledName": "$s13SendbirdUIKit41SBUMultipleFilesMessageCollectionViewCellC05imageG0So07UIImageG0Cvs", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit41SBUMultipleFilesMessageCollectionViewCellC05imageG0So07UIImageG0CvM", + "mangledName": "$s13SendbirdUIKit41SBUMultipleFilesMessageCollectionViewCellC05imageG0So07UIImageG0CvM", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "overlayView", + "printedName": "overlayView", + "children": [ + { + "kind": "TypeNominal", + "name": "UIView", + "printedName": "UIKit.UIView", + "usr": "c:objc(cs)UIView" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit41SBUMultipleFilesMessageCollectionViewCellC07overlayG0So6UIViewCvp", + "mangledName": "$s13SendbirdUIKit41SBUMultipleFilesMessageCollectionViewCellC07overlayG0So6UIViewCvp", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "Custom", + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "UIView", + "printedName": "UIKit.UIView", + "usr": "c:objc(cs)UIView" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit41SBUMultipleFilesMessageCollectionViewCellC07overlayG0So6UIViewCvg", + "mangledName": "$s13SendbirdUIKit41SBUMultipleFilesMessageCollectionViewCellC07overlayG0So6UIViewCvg", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "UIView", + "printedName": "UIKit.UIView", + "usr": "c:objc(cs)UIView" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit41SBUMultipleFilesMessageCollectionViewCellC07overlayG0So6UIViewCvs", + "mangledName": "$s13SendbirdUIKit41SBUMultipleFilesMessageCollectionViewCellC07overlayG0So6UIViewCvs", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit41SBUMultipleFilesMessageCollectionViewCellC07overlayG0So6UIViewCvM", + "mangledName": "$s13SendbirdUIKit41SBUMultipleFilesMessageCollectionViewCellC07overlayG0So6UIViewCvM", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "iconImageView", + "printedName": "iconImageView", + "children": [ + { + "kind": "TypeNominal", + "name": "UIImageView", + "printedName": "UIKit.UIImageView", + "usr": "c:objc(cs)UIImageView" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit41SBUMultipleFilesMessageCollectionViewCellC09iconImageG0So07UIImageG0Cvp", + "mangledName": "$s13SendbirdUIKit41SBUMultipleFilesMessageCollectionViewCellC09iconImageG0So07UIImageG0Cvp", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "Custom", + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "UIImageView", + "printedName": "UIKit.UIImageView", + "usr": "c:objc(cs)UIImageView" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit41SBUMultipleFilesMessageCollectionViewCellC09iconImageG0So07UIImageG0Cvg", + "mangledName": "$s13SendbirdUIKit41SBUMultipleFilesMessageCollectionViewCellC09iconImageG0So07UIImageG0Cvg", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "UIImageView", + "printedName": "UIKit.UIImageView", + "usr": "c:objc(cs)UIImageView" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit41SBUMultipleFilesMessageCollectionViewCellC09iconImageG0So07UIImageG0Cvs", + "mangledName": "$s13SendbirdUIKit41SBUMultipleFilesMessageCollectionViewCellC09iconImageG0So07UIImageG0Cvs", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit41SBUMultipleFilesMessageCollectionViewCellC09iconImageG0So07UIImageG0CvM", + "mangledName": "$s13SendbirdUIKit41SBUMultipleFilesMessageCollectionViewCellC09iconImageG0So07UIImageG0CvM", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "theme", + "printedName": "theme", + "children": [ + { + "kind": "TypeNominal", + "name": "SBUMessageCellTheme", + "printedName": "SendbirdUIKit.SBUMessageCellTheme", + "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit41SBUMultipleFilesMessageCollectionViewCellC5themeAA010SBUMessageH5ThemeCvp", + "mangledName": "$s13SendbirdUIKit41SBUMultipleFilesMessageCollectionViewCellC5themeAA010SBUMessageH5ThemeCvp", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "Custom", + "AccessControl", + "Custom" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "SBUMessageCellTheme", + "printedName": "SendbirdUIKit.SBUMessageCellTheme", + "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit41SBUMultipleFilesMessageCollectionViewCellC5themeAA010SBUMessageH5ThemeCvg", + "mangledName": "$s13SendbirdUIKit41SBUMultipleFilesMessageCollectionViewCellC5themeAA010SBUMessageH5ThemeCvg", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "SBUMessageCellTheme", + "printedName": "SendbirdUIKit.SBUMessageCellTheme", + "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit41SBUMultipleFilesMessageCollectionViewCellC5themeAA010SBUMessageH5ThemeCvs", + "mangledName": "$s13SendbirdUIKit41SBUMultipleFilesMessageCollectionViewCellC5themeAA010SBUMessageH5ThemeCvs", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit41SBUMultipleFilesMessageCollectionViewCellC5themeAA010SBUMessageH5ThemeCvM", + "mangledName": "$s13SendbirdUIKit41SBUMultipleFilesMessageCollectionViewCellC5themeAA010SBUMessageH5ThemeCvM", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "imageCornerRadius", + "printedName": "imageCornerRadius", + "children": [ + { + "kind": "TypeNominal", + "name": "CGFloat", + "printedName": "CoreGraphics.CGFloat", + "usr": "s:14CoreFoundation7CGFloatV" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit41SBUMultipleFilesMessageCollectionViewCellC17imageCornerRadius14CoreFoundation7CGFloatVvp", + "mangledName": "$s13SendbirdUIKit41SBUMultipleFilesMessageCollectionViewCellC17imageCornerRadius12CoreGraphics7CGFloatVvp", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "Custom", + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "CGFloat", + "printedName": "CoreGraphics.CGFloat", + "usr": "s:14CoreFoundation7CGFloatV" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit41SBUMultipleFilesMessageCollectionViewCellC17imageCornerRadius14CoreFoundation7CGFloatVvg", + "mangledName": "$s13SendbirdUIKit41SBUMultipleFilesMessageCollectionViewCellC17imageCornerRadius12CoreGraphics7CGFloatVvg", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "CGFloat", + "printedName": "CoreGraphics.CGFloat", + "usr": "s:14CoreFoundation7CGFloatV" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit41SBUMultipleFilesMessageCollectionViewCellC17imageCornerRadius14CoreFoundation7CGFloatVvs", + "mangledName": "$s13SendbirdUIKit41SBUMultipleFilesMessageCollectionViewCellC17imageCornerRadius12CoreGraphics7CGFloatVvs", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit41SBUMultipleFilesMessageCollectionViewCellC17imageCornerRadius14CoreFoundation7CGFloatVvM", + "mangledName": "$s13SendbirdUIKit41SBUMultipleFilesMessageCollectionViewCellC17imageCornerRadius12CoreGraphics7CGFloatVvM", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(coder:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "SendbirdUIKit.SBUMultipleFilesMessageCollectionViewCell?", + "children": [ + { + "kind": "TypeNominal", + "name": "SBUMultipleFilesMessageCollectionViewCell", + "printedName": "SendbirdUIKit.SBUMultipleFilesMessageCollectionViewCell", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCollectionViewCell" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "NSCoder", + "printedName": "Foundation.NSCoder", + "usr": "c:objc(cs)NSCoder" + } + ], + "declKind": "Constructor", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCollectionViewCell(im)initWithCoder:", + "mangledName": "$s13SendbirdUIKit41SBUMultipleFilesMessageCollectionViewCellC5coderACSgSo7NSCoderC_tcfc", + "moduleName": "SendbirdUIKit", + "overriding": true, + "objc_name": "initWithCoder:", + "declAttributes": [ + "Dynamic", + "ObjC", + "Custom", + "AccessControl", + "Required" + ], + "init_kind": "Designated" + }, + { + "kind": "Function", + "name": "configure", + "printedName": "configure(uploadableFileInfo:uploadedFileInfo:requestId:index:imageCornerRadius:showOverlay:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "SendbirdChatSDK.UploadableFileInfo?", + "children": [ + { + "kind": "TypeNominal", + "name": "UploadableFileInfo", + "printedName": "SendbirdChatSDK.UploadableFileInfo", + "usr": "c:@M@SendbirdChatSDK@objc(cs)SBDUploadableFileInfo" + } + ], + "hasDefaultArg": true, + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "SendbirdChatSDK.UploadedFileInfo?", + "children": [ + { + "kind": "TypeNominal", + "name": "UploadedFileInfo", + "printedName": "SendbirdChatSDK.UploadedFileInfo", + "usr": "c:@M@SendbirdChatSDK@objc(cs)SBDUploadedFileInfo" + } + ], + "hasDefaultArg": true, + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "CGFloat", + "printedName": "CoreGraphics.CGFloat", + "usr": "s:14CoreFoundation7CGFloatV" + }, + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Func", + "usr": "s:13SendbirdUIKit41SBUMultipleFilesMessageCollectionViewCellC9configure18uploadableFileInfo08uploadedkL09requestId5index17imageCornerRadius11showOverlayy0A7ChatSDK010UploadablekL0CSg_AK08UploadedkL0CSgSSSi14CoreFoundation7CGFloatVSbtF", + "mangledName": "$s13SendbirdUIKit41SBUMultipleFilesMessageCollectionViewCellC9configure18uploadableFileInfo08uploadedkL09requestId5index17imageCornerRadius11showOverlayy0A7ChatSDK010UploadablekL0CSg_AK08UploadedkL0CSgSSSi12CoreGraphics7CGFloatVSbtF", + "moduleName": "SendbirdUIKit", + "isOpen": true, + "declAttributes": [ + "Custom", + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "setupViews", + "printedName": "setupViews()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Func", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCollectionViewCell(im)setupViews", + "mangledName": "$s13SendbirdUIKit41SBUMultipleFilesMessageCollectionViewCellC10setupViewsyyF", + "moduleName": "SendbirdUIKit", + "overriding": true, + "isOpen": true, + "objc_name": "setupViews", + "declAttributes": [ + "Dynamic", + "ObjC", + "Custom", + "AccessControl", + "Override" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "setupStyles", + "printedName": "setupStyles()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Func", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCollectionViewCell(im)setupStyles", + "mangledName": "$s13SendbirdUIKit41SBUMultipleFilesMessageCollectionViewCellC11setupStylesyyF", + "moduleName": "SendbirdUIKit", + "overriding": true, + "isOpen": true, + "objc_name": "setupStyles", + "declAttributes": [ + "Dynamic", + "ObjC", + "Custom", + "AccessControl", + "Override" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "setupLayouts", + "printedName": "setupLayouts()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Func", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCollectionViewCell(im)setupLayouts", + "mangledName": "$s13SendbirdUIKit41SBUMultipleFilesMessageCollectionViewCellC12setupLayoutsyyF", + "moduleName": "SendbirdUIKit", + "overriding": true, + "isOpen": true, + "objc_name": "setupLayouts", + "declAttributes": [ + "Dynamic", + "ObjC", + "Custom", + "AccessControl", + "Override" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "prepareForReuse", + "printedName": "prepareForReuse()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Func", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCollectionViewCell(im)prepareForReuse", + "mangledName": "$s13SendbirdUIKit41SBUMultipleFilesMessageCollectionViewCellC15prepareForReuseyyF", + "moduleName": "SendbirdUIKit", + "overriding": true, + "isOpen": true, + "objc_name": "prepareForReuse", + "declAttributes": [ + "Dynamic", + "ObjC", + "Custom", + "AccessControl", + "Override" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "setGIFIcon", + "printedName": "setGIFIcon()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Func", + "usr": "s:13SendbirdUIKit41SBUMultipleFilesMessageCollectionViewCellC10setGIFIconyyF", + "mangledName": "$s13SendbirdUIKit41SBUMultipleFilesMessageCollectionViewCellC10setGIFIconyyF", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "Custom", + "AccessControl" + ], + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Class", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCollectionViewCell", + "mangledName": "$s13SendbirdUIKit41SBUMultipleFilesMessageCollectionViewCellC", + "moduleName": "SendbirdUIKit", + "isOpen": true, + "declAttributes": [ + "Custom", + "AccessControl", + "RawDocComment", + "ObjC" + ], + "superclassUsr": "c:@M@SendbirdUIKit@objc(cs)SBUCollectionViewCell", + "hasMissingDesignatedInitializers": true, + "inheritsConvenienceInitializers": true, + "superclassNames": [ + "SendbirdUIKit.SBUCollectionViewCell", + "UIKit.UICollectionViewCell", + "UIKit.UICollectionReusableView", + "UIKit.UIView", + "UIKit.UIResponder", + "ObjectiveC.NSObject" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "CVarArg", + "printedName": "CVarArg", + "usr": "s:s7CVarArgP", + "mangledName": "$ss7CVarArgP" + }, + { + "kind": "Conformance", + "name": "_KeyValueCodingAndObservingPublishing", + "printedName": "_KeyValueCodingAndObservingPublishing", + "usr": "s:10Foundation37_KeyValueCodingAndObservingPublishingP", + "mangledName": "$s10Foundation37_KeyValueCodingAndObservingPublishingP" + }, + { + "kind": "Conformance", + "name": "_KeyValueCodingAndObserving", + "printedName": "_KeyValueCodingAndObserving", + "usr": "s:10Foundation27_KeyValueCodingAndObservingP", + "mangledName": "$s10Foundation27_KeyValueCodingAndObservingP" + }, + { + "kind": "Conformance", + "name": "CustomStringConvertible", + "printedName": "CustomStringConvertible", + "usr": "s:s23CustomStringConvertibleP", + "mangledName": "$ss23CustomStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "CustomDebugStringConvertible", + "printedName": "CustomDebugStringConvertible", + "usr": "s:s28CustomDebugStringConvertibleP", + "mangledName": "$ss28CustomDebugStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + }, + { + "kind": "Conformance", + "name": "__DefaultCustomPlaygroundQuickLookable", + "printedName": "__DefaultCustomPlaygroundQuickLookable", + "usr": "s:s38__DefaultCustomPlaygroundQuickLookableP", + "mangledName": "$ss38__DefaultCustomPlaygroundQuickLookableP" + }, + { + "kind": "Conformance", + "name": "SBUViewLifeCycle", + "printedName": "SBUViewLifeCycle", + "usr": "c:@M@SendbirdUIKit@objc(pl)SBUViewLifeCycle", + "mangledName": "$s13SendbirdUIKit16SBUViewLifeCycleP" + } + ] + }, { "kind": "Import", "name": "Foundation", @@ -154532,6 +158636,111 @@ "name": "SBUParentMessageInfoView", "printedName": "SBUParentMessageInfoView", "children": [ + { + "kind": "TypeDecl", + "name": "Constants", + "printedName": "Constants", + "children": [ + { + "kind": "Var", + "name": "verticalSideMarginSize", + "printedName": "verticalSideMarginSize", + "children": [ + { + "kind": "TypeNominal", + "name": "CGFloat", + "printedName": "CoreGraphics.CGFloat", + "usr": "s:14CoreFoundation7CGFloatV" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC9ConstantsV22verticalSideMarginSize14CoreFoundation7CGFloatVvpZ", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC9ConstantsV22verticalSideMarginSize12CoreGraphics7CGFloatVvpZ", + "moduleName": "SendbirdUIKit", + "static": true, + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "CGFloat", + "printedName": "CoreGraphics.CGFloat", + "usr": "s:14CoreFoundation7CGFloatV" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC9ConstantsV22verticalSideMarginSize14CoreFoundation7CGFloatVvgZ", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC9ConstantsV22verticalSideMarginSize12CoreGraphics7CGFloatVvgZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "CGFloat", + "printedName": "CoreGraphics.CGFloat", + "usr": "s:14CoreFoundation7CGFloatV" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC9ConstantsV22verticalSideMarginSize14CoreFoundation7CGFloatVvsZ", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC9ConstantsV22verticalSideMarginSize12CoreGraphics7CGFloatVvsZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC9ConstantsV22verticalSideMarginSize14CoreFoundation7CGFloatVvMZ", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC9ConstantsV22verticalSideMarginSize12CoreGraphics7CGFloatVvMZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "accessorKind": "_modify" + } + ] + } + ], + "declKind": "Struct", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC9ConstantsV", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC9ConstantsV", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ] + }, { "kind": "Var", "name": "profileView", @@ -154620,6 +158829,93 @@ } ] }, + { + "kind": "Var", + "name": "profileBaseView", + "printedName": "profileBaseView", + "children": [ + { + "kind": "TypeNominal", + "name": "UIView", + "printedName": "UIKit.UIView", + "usr": "c:objc(cs)UIView" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC011profileBaseF0So6UIViewCvp", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC011profileBaseF0So6UIViewCvp", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "Custom", + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "UIView", + "printedName": "UIKit.UIView", + "usr": "c:objc(cs)UIView" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC011profileBaseF0So6UIViewCvg", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC011profileBaseF0So6UIViewCvg", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "UIView", + "printedName": "UIKit.UIView", + "usr": "c:objc(cs)UIView" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC011profileBaseF0So6UIViewCvs", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC011profileBaseF0So6UIViewCvs", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC011profileBaseF0So6UIViewCvM", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC011profileBaseF0So6UIViewCvM", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, { "kind": "Var", "name": "userNameLabel", @@ -154908,8 +159204,8 @@ }, { "kind": "Var", - "name": "replySeparateLine", - "printedName": "replySeparateLine", + "name": "moreButtonBaseView", + "printedName": "moreButtonBaseView", "children": [ { "kind": "TypeNominal", @@ -154919,15 +159215,14 @@ } ], "declKind": "Var", - "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC17replySeparateLineSo6UIViewCvp", - "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC17replySeparateLineSo6UIViewCvp", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC014moreButtonBaseF0So6UIViewCvp", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC014moreButtonBaseF0So6UIViewCvp", "moduleName": "SendbirdUIKit", "declAttributes": [ "Custom", "HasInitialValue", "HasStorage", - "AccessControl", - "RawDocComment" + "AccessControl" ], "hasStorage": true, "accessors": [ @@ -154944,8 +159239,8 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC17replySeparateLineSo6UIViewCvg", - "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC17replySeparateLineSo6UIViewCvg", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC014moreButtonBaseF0So6UIViewCvg", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC014moreButtonBaseF0So6UIViewCvg", "moduleName": "SendbirdUIKit", "implicit": true, "accessorKind": "get" @@ -154968,96 +159263,8 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC17replySeparateLineSo6UIViewCvs", - "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC17replySeparateLineSo6UIViewCvs", - "moduleName": "SendbirdUIKit", - "implicit": true, - "accessorKind": "set" - }, - { - "kind": "Accessor", - "name": "Modify", - "printedName": "Modify()", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - } - ], - "declKind": "Accessor", - "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC17replySeparateLineSo6UIViewCvM", - "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC17replySeparateLineSo6UIViewCvM", - "moduleName": "SendbirdUIKit", - "implicit": true, - "accessorKind": "_modify" - } - ] - }, - { - "kind": "Var", - "name": "replyLabel", - "printedName": "replyLabel", - "children": [ - { - "kind": "TypeNominal", - "name": "UILabel", - "printedName": "UIKit.UILabel", - "usr": "c:objc(cs)UILabel" - } - ], - "declKind": "Var", - "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC10replyLabelSo7UILabelCvp", - "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC10replyLabelSo7UILabelCvp", - "moduleName": "SendbirdUIKit", - "declAttributes": [ - "Custom", - "HasInitialValue", - "HasStorage", - "AccessControl", - "RawDocComment" - ], - "hasStorage": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "UILabel", - "printedName": "UIKit.UILabel", - "usr": "c:objc(cs)UILabel" - } - ], - "declKind": "Accessor", - "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC10replyLabelSo7UILabelCvg", - "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC10replyLabelSo7UILabelCvg", - "moduleName": "SendbirdUIKit", - "implicit": true, - "accessorKind": "get" - }, - { - "kind": "Accessor", - "name": "Set", - "printedName": "Set()", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "UILabel", - "printedName": "UIKit.UILabel", - "usr": "c:objc(cs)UILabel" - } - ], - "declKind": "Accessor", - "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC10replyLabelSo7UILabelCvs", - "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC10replyLabelSo7UILabelCvs", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC014moreButtonBaseF0So6UIViewCvs", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC014moreButtonBaseF0So6UIViewCvs", "moduleName": "SendbirdUIKit", "implicit": true, "accessorKind": "set" @@ -155074,8 +159281,8 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC10replyLabelSo7UILabelCvM", - "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC10replyLabelSo7UILabelCvM", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC014moreButtonBaseF0So6UIViewCvM", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC014moreButtonBaseF0So6UIViewCvM", "moduleName": "SendbirdUIKit", "implicit": true, "accessorKind": "_modify" @@ -155084,8 +159291,8 @@ }, { "kind": "Var", - "name": "bottomSeparateLine", - "printedName": "bottomSeparateLine", + "name": "replySeparateLine", + "printedName": "replySeparateLine", "children": [ { "kind": "TypeNominal", @@ -155095,8 +159302,184 @@ } ], "declKind": "Var", - "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC18bottomSeparateLineSo6UIViewCvp", - "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC18bottomSeparateLineSo6UIViewCvp", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC17replySeparateLineSo6UIViewCvp", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC17replySeparateLineSo6UIViewCvp", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "Custom", + "HasInitialValue", + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "UIView", + "printedName": "UIKit.UIView", + "usr": "c:objc(cs)UIView" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC17replySeparateLineSo6UIViewCvg", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC17replySeparateLineSo6UIViewCvg", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "UIView", + "printedName": "UIKit.UIView", + "usr": "c:objc(cs)UIView" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC17replySeparateLineSo6UIViewCvs", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC17replySeparateLineSo6UIViewCvs", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC17replySeparateLineSo6UIViewCvM", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC17replySeparateLineSo6UIViewCvM", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "replyLabel", + "printedName": "replyLabel", + "children": [ + { + "kind": "TypeNominal", + "name": "UILabel", + "printedName": "UIKit.UILabel", + "usr": "c:objc(cs)UILabel" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC10replyLabelSo7UILabelCvp", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC10replyLabelSo7UILabelCvp", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "Custom", + "HasInitialValue", + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "UILabel", + "printedName": "UIKit.UILabel", + "usr": "c:objc(cs)UILabel" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC10replyLabelSo7UILabelCvg", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC10replyLabelSo7UILabelCvg", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "UILabel", + "printedName": "UIKit.UILabel", + "usr": "c:objc(cs)UILabel" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC10replyLabelSo7UILabelCvs", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC10replyLabelSo7UILabelCvs", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC10replyLabelSo7UILabelCvM", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC10replyLabelSo7UILabelCvM", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "bottomSeparateLine", + "printedName": "bottomSeparateLine", + "children": [ + { + "kind": "TypeNominal", + "name": "UIView", + "printedName": "UIKit.UIView", + "usr": "c:objc(cs)UIView" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC18bottomSeparateLineSo6UIViewCvp", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC18bottomSeparateLineSo6UIViewCvp", "moduleName": "SendbirdUIKit", "declAttributes": [ "Custom", @@ -155348,28 +159731,26 @@ }, { "kind": "Var", - "name": "webView", - "printedName": "webView", + "name": "fileCollectionView", + "printedName": "fileCollectionView", "children": [ { "kind": "TypeNominal", - "name": "SBUMessageWebView", - "printedName": "SendbirdUIKit.SBUMessageWebView", - "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMessageWebView" + "name": "SBUMultipleFilesMessageCollectionView", + "printedName": "SendbirdUIKit.SBUMultipleFilesMessageCollectionView", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCollectionView" } ], "declKind": "Var", - "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC03webF0AA013SBUMessageWebF0Cvp", - "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC03webF0AA013SBUMessageWebF0Cvp", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC014fileCollectionF0AA016SBUMultipleFilesdhF0Cvp", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC014fileCollectionF0AA016SBUMultipleFilesdhF0Cvp", "moduleName": "SendbirdUIKit", "declAttributes": [ "Custom", - "HasInitialValue", - "HasStorage", + "Lazy", "AccessControl", "RawDocComment" ], - "hasStorage": true, "accessors": [ { "kind": "Accessor", @@ -155378,14 +159759,14 @@ "children": [ { "kind": "TypeNominal", - "name": "SBUMessageWebView", - "printedName": "SendbirdUIKit.SBUMessageWebView", - "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMessageWebView" + "name": "SBUMultipleFilesMessageCollectionView", + "printedName": "SendbirdUIKit.SBUMultipleFilesMessageCollectionView", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCollectionView" } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC03webF0AA013SBUMessageWebF0Cvg", - "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC03webF0AA013SBUMessageWebF0Cvg", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC014fileCollectionF0AA016SBUMultipleFilesdhF0Cvg", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC014fileCollectionF0AA016SBUMultipleFilesdhF0Cvg", "moduleName": "SendbirdUIKit", "implicit": true, "accessorKind": "get" @@ -155402,14 +159783,14 @@ }, { "kind": "TypeNominal", - "name": "SBUMessageWebView", - "printedName": "SendbirdUIKit.SBUMessageWebView", - "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMessageWebView" + "name": "SBUMultipleFilesMessageCollectionView", + "printedName": "SendbirdUIKit.SBUMultipleFilesMessageCollectionView", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCollectionView" } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC03webF0AA013SBUMessageWebF0Cvs", - "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC03webF0AA013SBUMessageWebF0Cvs", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC014fileCollectionF0AA016SBUMultipleFilesdhF0Cvs", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC014fileCollectionF0AA016SBUMultipleFilesdhF0Cvs", "moduleName": "SendbirdUIKit", "implicit": true, "accessorKind": "set" @@ -155426,8 +159807,8 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC03webF0AA013SBUMessageWebF0CvM", - "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC03webF0AA013SBUMessageWebF0CvM", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC014fileCollectionF0AA016SBUMultipleFilesdhF0CvM", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC014fileCollectionF0AA016SBUMultipleFilesdhF0CvM", "moduleName": "SendbirdUIKit", "implicit": true, "accessorKind": "_modify" @@ -155436,19 +159817,19 @@ }, { "kind": "Var", - "name": "reactionView", - "printedName": "reactionView", + "name": "webView", + "printedName": "webView", "children": [ { "kind": "TypeNominal", - "name": "SBUParentMessageInfoReactionView", - "printedName": "SendbirdUIKit.SBUParentMessageInfoReactionView", - "usr": "c:@M@SendbirdUIKit@objc(cs)SBUParentMessageInfoReactionView" + "name": "SBUMessageWebView", + "printedName": "SendbirdUIKit.SBUMessageWebView", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMessageWebView" } ], "declKind": "Var", - "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC08reactionF0AA0cde8ReactionF0Cvp", - "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC08reactionF0AA0cde8ReactionF0Cvp", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC03webF0AA013SBUMessageWebF0Cvp", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC03webF0AA013SBUMessageWebF0Cvp", "moduleName": "SendbirdUIKit", "declAttributes": [ "Custom", @@ -155466,14 +159847,14 @@ "children": [ { "kind": "TypeNominal", - "name": "SBUParentMessageInfoReactionView", - "printedName": "SendbirdUIKit.SBUParentMessageInfoReactionView", - "usr": "c:@M@SendbirdUIKit@objc(cs)SBUParentMessageInfoReactionView" + "name": "SBUMessageWebView", + "printedName": "SendbirdUIKit.SBUMessageWebView", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMessageWebView" } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC08reactionF0AA0cde8ReactionF0Cvg", - "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC08reactionF0AA0cde8ReactionF0Cvg", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC03webF0AA013SBUMessageWebF0Cvg", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC03webF0AA013SBUMessageWebF0Cvg", "moduleName": "SendbirdUIKit", "implicit": true, "accessorKind": "get" @@ -155490,14 +159871,14 @@ }, { "kind": "TypeNominal", - "name": "SBUParentMessageInfoReactionView", - "printedName": "SendbirdUIKit.SBUParentMessageInfoReactionView", - "usr": "c:@M@SendbirdUIKit@objc(cs)SBUParentMessageInfoReactionView" + "name": "SBUMessageWebView", + "printedName": "SendbirdUIKit.SBUMessageWebView", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMessageWebView" } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC08reactionF0AA0cde8ReactionF0Cvs", - "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC08reactionF0AA0cde8ReactionF0Cvs", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC03webF0AA013SBUMessageWebF0Cvs", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC03webF0AA013SBUMessageWebF0Cvs", "moduleName": "SendbirdUIKit", "implicit": true, "accessorKind": "set" @@ -155514,8 +159895,8 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC08reactionF0AA0cde8ReactionF0CvM", - "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC08reactionF0AA0cde8ReactionF0CvM", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC03webF0AA013SBUMessageWebF0CvM", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC03webF0AA013SBUMessageWebF0CvM", "moduleName": "SendbirdUIKit", "implicit": true, "accessorKind": "_modify" @@ -155524,26 +159905,28 @@ }, { "kind": "Var", - "name": "userHStackView", - "printedName": "userHStackView", + "name": "reactionView", + "printedName": "reactionView", "children": [ { "kind": "TypeNominal", - "name": "SBUStackView", - "printedName": "SendbirdUIKit.SBUStackView", - "usr": "c:@M@SendbirdUIKit@objc(cs)SBUStackView" + "name": "SBUParentMessageInfoReactionView", + "printedName": "SendbirdUIKit.SBUParentMessageInfoReactionView", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUParentMessageInfoReactionView" } ], "declKind": "Var", - "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC010userHStackF0AA08SBUStackF0Cvp", - "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC010userHStackF0AA08SBUStackF0Cvp", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC08reactionF0AA0cde8ReactionF0Cvp", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC08reactionF0AA0cde8ReactionF0Cvp", "moduleName": "SendbirdUIKit", "declAttributes": [ "Custom", - "Lazy", + "HasInitialValue", + "HasStorage", "AccessControl", "RawDocComment" ], + "hasStorage": true, "accessors": [ { "kind": "Accessor", @@ -155552,14 +159935,14 @@ "children": [ { "kind": "TypeNominal", - "name": "SBUStackView", - "printedName": "SendbirdUIKit.SBUStackView", - "usr": "c:@M@SendbirdUIKit@objc(cs)SBUStackView" + "name": "SBUParentMessageInfoReactionView", + "printedName": "SendbirdUIKit.SBUParentMessageInfoReactionView", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUParentMessageInfoReactionView" } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC010userHStackF0AA08SBUStackF0Cvg", - "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC010userHStackF0AA08SBUStackF0Cvg", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC08reactionF0AA0cde8ReactionF0Cvg", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC08reactionF0AA0cde8ReactionF0Cvg", "moduleName": "SendbirdUIKit", "implicit": true, "accessorKind": "get" @@ -155576,14 +159959,14 @@ }, { "kind": "TypeNominal", - "name": "SBUStackView", - "printedName": "SendbirdUIKit.SBUStackView", - "usr": "c:@M@SendbirdUIKit@objc(cs)SBUStackView" + "name": "SBUParentMessageInfoReactionView", + "printedName": "SendbirdUIKit.SBUParentMessageInfoReactionView", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUParentMessageInfoReactionView" } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC010userHStackF0AA08SBUStackF0Cvs", - "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC010userHStackF0AA08SBUStackF0Cvs", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC08reactionF0AA0cde8ReactionF0Cvs", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC08reactionF0AA0cde8ReactionF0Cvs", "moduleName": "SendbirdUIKit", "implicit": true, "accessorKind": "set" @@ -155600,8 +159983,8 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC010userHStackF0AA08SBUStackF0CvM", - "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC010userHStackF0AA08SBUStackF0CvM", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC08reactionF0AA0cde8ReactionF0CvM", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC08reactionF0AA0cde8ReactionF0CvM", "moduleName": "SendbirdUIKit", "implicit": true, "accessorKind": "_modify" @@ -155610,8 +159993,8 @@ }, { "kind": "Var", - "name": "senderVStackView", - "printedName": "senderVStackView", + "name": "userHStackView", + "printedName": "userHStackView", "children": [ { "kind": "TypeNominal", @@ -155621,8 +160004,8 @@ } ], "declKind": "Var", - "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC012senderVStackF0AA08SBUStackF0Cvp", - "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC012senderVStackF0AA08SBUStackF0Cvp", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC010userHStackF0AA08SBUStackF0Cvp", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC010userHStackF0AA08SBUStackF0Cvp", "moduleName": "SendbirdUIKit", "declAttributes": [ "Custom", @@ -155644,8 +160027,8 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC012senderVStackF0AA08SBUStackF0Cvg", - "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC012senderVStackF0AA08SBUStackF0Cvg", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC010userHStackF0AA08SBUStackF0Cvg", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC010userHStackF0AA08SBUStackF0Cvg", "moduleName": "SendbirdUIKit", "implicit": true, "accessorKind": "get" @@ -155668,8 +160051,8 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC012senderVStackF0AA08SBUStackF0Cvs", - "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC012senderVStackF0AA08SBUStackF0Cvs", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC010userHStackF0AA08SBUStackF0Cvs", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC010userHStackF0AA08SBUStackF0Cvs", "moduleName": "SendbirdUIKit", "implicit": true, "accessorKind": "set" @@ -155686,8 +160069,8 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC012senderVStackF0AA08SBUStackF0CvM", - "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC012senderVStackF0AA08SBUStackF0CvM", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC010userHStackF0AA08SBUStackF0CvM", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC010userHStackF0AA08SBUStackF0CvM", "moduleName": "SendbirdUIKit", "implicit": true, "accessorKind": "_modify" @@ -155696,8 +160079,8 @@ }, { "kind": "Var", - "name": "contentVStackView", - "printedName": "contentVStackView", + "name": "senderVStackView", + "printedName": "senderVStackView", "children": [ { "kind": "TypeNominal", @@ -155707,8 +160090,8 @@ } ], "declKind": "Var", - "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC013contentVStackF0AA08SBUStackF0Cvp", - "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC013contentVStackF0AA08SBUStackF0Cvp", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC012senderVStackF0AA08SBUStackF0Cvp", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC012senderVStackF0AA08SBUStackF0Cvp", "moduleName": "SendbirdUIKit", "declAttributes": [ "Custom", @@ -155730,8 +160113,94 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC013contentVStackF0AA08SBUStackF0Cvg", - "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC013contentVStackF0AA08SBUStackF0Cvg", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC012senderVStackF0AA08SBUStackF0Cvg", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC012senderVStackF0AA08SBUStackF0Cvg", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "SBUStackView", + "printedName": "SendbirdUIKit.SBUStackView", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUStackView" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC012senderVStackF0AA08SBUStackF0Cvs", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC012senderVStackF0AA08SBUStackF0Cvs", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC012senderVStackF0AA08SBUStackF0CvM", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC012senderVStackF0AA08SBUStackF0CvM", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "contentVStackView", + "printedName": "contentVStackView", + "children": [ + { + "kind": "TypeNominal", + "name": "SBUStackView", + "printedName": "SendbirdUIKit.SBUStackView", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUStackView" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC013contentVStackF0AA08SBUStackF0Cvp", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC013contentVStackF0AA08SBUStackF0Cvp", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "Custom", + "Lazy", + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "SBUStackView", + "printedName": "SendbirdUIKit.SBUStackView", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUStackView" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC013contentVStackF0AA08SBUStackF0Cvg", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC013contentVStackF0AA08SBUStackF0Cvg", "moduleName": "SendbirdUIKit", "implicit": true, "accessorKind": "get" @@ -155946,6 +160415,92 @@ } ] }, + { + "kind": "Var", + "name": "contentView", + "printedName": "contentView", + "children": [ + { + "kind": "TypeNominal", + "name": "UIView", + "printedName": "UIKit.UIView", + "usr": "c:objc(cs)UIView" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC07contentF0So6UIViewCvp", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC07contentF0So6UIViewCvp", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "Custom", + "Lazy", + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "UIView", + "printedName": "UIKit.UIView", + "usr": "c:objc(cs)UIView" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC07contentF0So6UIViewCvg", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC07contentF0So6UIViewCvg", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "UIView", + "printedName": "UIKit.UIView", + "usr": "c:objc(cs)UIView" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC07contentF0So6UIViewCvs", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC07contentF0So6UIViewCvs", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC07contentF0So6UIViewCvM", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC07contentF0So6UIViewCvM", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, { "kind": "Var", "name": "enablesReaction", @@ -156326,18 +160881,18 @@ }, { "kind": "Var", - "name": "moreButtonTapHandlerToContent", - "printedName": "moreButtonTapHandlerToContent", + "name": "fileSelectHandler", + "printedName": "fileSelectHandler", "children": [ { "kind": "TypeNominal", "name": "Optional", - "printedName": "(() -> ())?", + "printedName": "((SendbirdChatSDK.UploadedFileInfo, Swift.Int) -> ())?", "children": [ { "kind": "TypeFunc", "name": "Function", - "printedName": "() -> ()", + "printedName": "(SendbirdChatSDK.UploadedFileInfo, Swift.Int) -> ()", "children": [ { "kind": "TypeNominal", @@ -156346,8 +160901,22 @@ }, { "kind": "TypeNominal", - "name": "Void", - "printedName": "()" + "name": "Tuple", + "printedName": "(SendbirdChatSDK.UploadedFileInfo, Swift.Int)", + "children": [ + { + "kind": "TypeNominal", + "name": "UploadedFileInfo", + "printedName": "SendbirdChatSDK.UploadedFileInfo", + "usr": "c:@M@SendbirdChatSDK@objc(cs)SBDUploadedFileInfo" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ] } ] } @@ -156356,8 +160925,8 @@ } ], "declKind": "Var", - "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC29moreButtonTapHandlerToContentyycSgvp", - "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC29moreButtonTapHandlerToContentyycSgvp", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC17fileSelectHandlery0A7ChatSDK012UploadedFileE0C_SitcSgvp", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC17fileSelectHandlery0A7ChatSDK012UploadedFileE0C_SitcSgvp", "moduleName": "SendbirdUIKit", "declAttributes": [ "Custom", @@ -156376,12 +160945,12 @@ { "kind": "TypeNominal", "name": "Optional", - "printedName": "(() -> ())?", + "printedName": "((SendbirdChatSDK.UploadedFileInfo, Swift.Int) -> ())?", "children": [ { "kind": "TypeFunc", "name": "Function", - "printedName": "() -> ()", + "printedName": "(SendbirdChatSDK.UploadedFileInfo, Swift.Int) -> ()", "children": [ { "kind": "TypeNominal", @@ -156390,8 +160959,22 @@ }, { "kind": "TypeNominal", - "name": "Void", - "printedName": "()" + "name": "Tuple", + "printedName": "(SendbirdChatSDK.UploadedFileInfo, Swift.Int)", + "children": [ + { + "kind": "TypeNominal", + "name": "UploadedFileInfo", + "printedName": "SendbirdChatSDK.UploadedFileInfo", + "usr": "c:@M@SendbirdChatSDK@objc(cs)SBDUploadedFileInfo" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ] } ] } @@ -156400,8 +160983,167 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC29moreButtonTapHandlerToContentyycSgvg", - "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC29moreButtonTapHandlerToContentyycSgvg", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC17fileSelectHandlery0A7ChatSDK012UploadedFileE0C_SitcSgvg", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC17fileSelectHandlery0A7ChatSDK012UploadedFileE0C_SitcSgvg", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "((SendbirdChatSDK.UploadedFileInfo, Swift.Int) -> ())?", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(SendbirdChatSDK.UploadedFileInfo, Swift.Int) -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(SendbirdChatSDK.UploadedFileInfo, Swift.Int)", + "children": [ + { + "kind": "TypeNominal", + "name": "UploadedFileInfo", + "printedName": "SendbirdChatSDK.UploadedFileInfo", + "usr": "c:@M@SendbirdChatSDK@objc(cs)SBDUploadedFileInfo" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ] + } + ] + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC17fileSelectHandlery0A7ChatSDK012UploadedFileE0C_SitcSgvs", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC17fileSelectHandlery0A7ChatSDK012UploadedFileE0C_SitcSgvs", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC17fileSelectHandlery0A7ChatSDK012UploadedFileE0C_SitcSgvM", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC17fileSelectHandlery0A7ChatSDK012UploadedFileE0C_SitcSgvM", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "moreButtonTapHandlerToContent", + "printedName": "moreButtonTapHandlerToContent", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "(() -> ())?", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "() -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ] + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC29moreButtonTapHandlerToContentyycSgvp", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC29moreButtonTapHandlerToContentyycSgvp", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "Custom", + "HasInitialValue", + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "(() -> ())?", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "() -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ] + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC29moreButtonTapHandlerToContentyycSgvg", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC29moreButtonTapHandlerToContentyycSgvg", "moduleName": "SendbirdUIKit", "implicit": true, "accessorKind": "get" @@ -157058,48 +161800,6 @@ } ] }, - { - "kind": "Constructor", - "name": "init", - "printedName": "init(reuseIdentifier:)", - "children": [ - { - "kind": "TypeNominal", - "name": "SBUParentMessageInfoView", - "printedName": "SendbirdUIKit.SBUParentMessageInfoView", - "usr": "c:@M@SendbirdUIKit@objc(cs)SBUParentMessageInfoView" - }, - { - "kind": "TypeNominal", - "name": "Optional", - "printedName": "Swift.String?", - "children": [ - { - "kind": "TypeNominal", - "name": "String", - "printedName": "Swift.String", - "usr": "s:SS" - } - ], - "usr": "s:Sq" - } - ], - "declKind": "Constructor", - "usr": "c:@M@SendbirdUIKit@objc(cs)SBUParentMessageInfoView(im)initWithReuseIdentifier:", - "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC15reuseIdentifierACSSSg_tcfc", - "moduleName": "SendbirdUIKit", - "overriding": true, - "objc_name": "initWithReuseIdentifier:", - "declAttributes": [ - "Dynamic", - "ObjC", - "Custom", - "Override", - "AccessControl", - "RawDocComment" - ], - "init_kind": "Designated" - }, { "kind": "Function", "name": "setupViews", @@ -157112,12 +161812,17 @@ } ], "declKind": "Func", - "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC10setupViewsyyF", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUParentMessageInfoView(im)setupViews", "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC10setupViewsyyF", "moduleName": "SendbirdUIKit", + "overriding": true, "isOpen": true, + "objc_name": "setupViews", "declAttributes": [ + "Dynamic", + "ObjC", "Custom", + "Override", "AccessControl" ], "funcSelfKind": "NonMutating" @@ -157134,12 +161839,17 @@ } ], "declKind": "Func", - "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC12setupLayoutsyyF", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUParentMessageInfoView(im)setupLayouts", "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC12setupLayoutsyyF", "moduleName": "SendbirdUIKit", + "overriding": true, "isOpen": true, + "objc_name": "setupLayouts", "declAttributes": [ + "Dynamic", + "ObjC", "Custom", + "Override", "AccessControl" ], "funcSelfKind": "NonMutating" @@ -157156,12 +161866,17 @@ } ], "declKind": "Func", - "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC13updateLayoutsyyF", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUParentMessageInfoView(im)updateLayouts", "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC13updateLayoutsyyF", "moduleName": "SendbirdUIKit", + "overriding": true, "isOpen": true, + "objc_name": "updateLayouts", "declAttributes": [ + "Dynamic", + "ObjC", "Custom", + "Override", "AccessControl" ], "funcSelfKind": "NonMutating" @@ -157178,12 +161893,17 @@ } ], "declKind": "Func", - "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC11setupStylesyyF", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUParentMessageInfoView(im)setupStyles", "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC11setupStylesyyF", "moduleName": "SendbirdUIKit", + "overriding": true, "isOpen": true, + "objc_name": "setupStyles", "declAttributes": [ + "Dynamic", + "ObjC", "Custom", + "Override", "AccessControl" ], "funcSelfKind": "NonMutating" @@ -157259,6 +161979,35 @@ ], "funcSelfKind": "NonMutating" }, + { + "kind": "Function", + "name": "updateMessageTextWidth", + "printedName": "updateMessageTextWidth(with:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "CGSize", + "printedName": "CoreFoundation.CGSize", + "usr": "c:@S@CGSize" + } + ], + "declKind": "Func", + "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC06updateD9TextWidth4withySo6CGSizeV_tF", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC06updateD9TextWidth4withySo6CGSizeV_tF", + "moduleName": "SendbirdUIKit", + "isOpen": true, + "declAttributes": [ + "Custom", + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, { "kind": "Function", "name": "setupActions", @@ -157271,12 +162020,17 @@ } ], "declKind": "Func", - "usr": "s:13SendbirdUIKit24SBUParentMessageInfoViewC12setupActionsyyF", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUParentMessageInfoView(im)setupActions", "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC12setupActionsyyF", "moduleName": "SendbirdUIKit", + "overriding": true, "isOpen": true, + "objc_name": "setupActions", "declAttributes": [ + "Dynamic", + "ObjC", "Custom", + "Override", "AccessControl", "RawDocComment" ], @@ -157344,6 +162098,37 @@ ], "funcSelfKind": "NonMutating" }, + { + "kind": "Function", + "name": "onSelectFile", + "printedName": "onSelectFile(sender:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "UITapGestureRecognizer", + "printedName": "UIKit.UITapGestureRecognizer", + "usr": "c:objc(cs)UITapGestureRecognizer" + } + ], + "declKind": "Func", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUParentMessageInfoView(im)onSelectFileWithSender:", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC12onSelectFile6senderySo22UITapGestureRecognizerC_tF", + "moduleName": "SendbirdUIKit", + "isOpen": true, + "objc_name": "onSelectFileWithSender:", + "declAttributes": [ + "Custom", + "AccessControl", + "ObjC", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, { "kind": "Function", "name": "onTapWebview", @@ -157437,6 +162222,221 @@ "AccessControl" ], "funcSelfKind": "NonMutating" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init()", + "children": [ + { + "kind": "TypeNominal", + "name": "SBUParentMessageInfoView", + "printedName": "SendbirdUIKit.SBUParentMessageInfoView", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUParentMessageInfoView" + } + ], + "declKind": "Constructor", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUParentMessageInfoView(im)init", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewCACycfc", + "moduleName": "SendbirdUIKit", + "overriding": true, + "implicit": true, + "objc_name": "init", + "declAttributes": [ + "Dynamic", + "ObjC", + "Custom", + "Override" + ], + "init_kind": "Designated" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(frame:)", + "children": [ + { + "kind": "TypeNominal", + "name": "SBUParentMessageInfoView", + "printedName": "SendbirdUIKit.SBUParentMessageInfoView", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUParentMessageInfoView" + }, + { + "kind": "TypeNominal", + "name": "CGRect", + "printedName": "CoreFoundation.CGRect", + "usr": "c:@S@CGRect" + } + ], + "declKind": "Constructor", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUParentMessageInfoView(im)initWithFrame:", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC5frameACSo6CGRectV_tcfc", + "moduleName": "SendbirdUIKit", + "overriding": true, + "implicit": true, + "objc_name": "initWithFrame:", + "declAttributes": [ + "Dynamic", + "ObjC", + "Custom", + "Override" + ], + "init_kind": "Designated" + }, + { + "kind": "Function", + "name": "numberOfSections", + "printedName": "numberOfSections(in:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "UICollectionView", + "printedName": "UIKit.UICollectionView", + "usr": "c:objc(cs)UICollectionView" + } + ], + "declKind": "Func", + "usr": "c:@CM@SendbirdUIKit@objc(cs)SBUParentMessageInfoView(im)numberOfSectionsInCollectionView:", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC16numberOfSections2inSiSo012UICollectionF0C_tF", + "moduleName": "SendbirdUIKit", + "objc_name": "numberOfSectionsInCollectionView:", + "declAttributes": [ + "Dynamic", + "ObjC", + "Custom", + "AccessControl" + ], + "isFromExtension": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "collectionView", + "printedName": "collectionView(_:numberOfItemsInSection:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "UICollectionView", + "printedName": "UIKit.UICollectionView", + "usr": "c:objc(cs)UICollectionView" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Func", + "usr": "c:@CM@SendbirdUIKit@objc(cs)SBUParentMessageInfoView(im)collectionView:numberOfItemsInSection:", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC010collectionF0_22numberOfItemsInSectionSiSo012UICollectionF0C_SitF", + "moduleName": "SendbirdUIKit", + "isOpen": true, + "objc_name": "collectionView:numberOfItemsInSection:", + "declAttributes": [ + "Dynamic", + "ObjC", + "Custom", + "AccessControl" + ], + "isFromExtension": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "collectionView", + "printedName": "collectionView(_:layout:sizeForItemAt:)", + "children": [ + { + "kind": "TypeNominal", + "name": "CGSize", + "printedName": "CoreFoundation.CGSize", + "usr": "c:@S@CGSize" + }, + { + "kind": "TypeNominal", + "name": "UICollectionView", + "printedName": "UIKit.UICollectionView", + "usr": "c:objc(cs)UICollectionView" + }, + { + "kind": "TypeNominal", + "name": "UICollectionViewLayout", + "printedName": "UIKit.UICollectionViewLayout", + "usr": "c:objc(cs)UICollectionViewLayout" + }, + { + "kind": "TypeNominal", + "name": "IndexPath", + "printedName": "Foundation.IndexPath", + "usr": "s:10Foundation9IndexPathV" + } + ], + "declKind": "Func", + "usr": "c:@CM@SendbirdUIKit@objc(cs)SBUParentMessageInfoView(im)collectionView:layout:sizeForItemAtIndexPath:", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC010collectionF0_6layout13sizeForItemAtSo6CGSizeVSo012UICollectionF0C_So0nF6LayoutC10Foundation9IndexPathVtF", + "moduleName": "SendbirdUIKit", + "isOpen": true, + "objc_name": "collectionView:layout:sizeForItemAtIndexPath:", + "declAttributes": [ + "Dynamic", + "ObjC", + "Custom", + "AccessControl" + ], + "isFromExtension": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "collectionView", + "printedName": "collectionView(_:cellForItemAt:)", + "children": [ + { + "kind": "TypeNominal", + "name": "UICollectionViewCell", + "printedName": "UIKit.UICollectionViewCell", + "usr": "c:objc(cs)UICollectionViewCell" + }, + { + "kind": "TypeNominal", + "name": "UICollectionView", + "printedName": "UIKit.UICollectionView", + "usr": "c:objc(cs)UICollectionView" + }, + { + "kind": "TypeNominal", + "name": "IndexPath", + "printedName": "Foundation.IndexPath", + "usr": "s:10Foundation9IndexPathV" + } + ], + "declKind": "Func", + "usr": "c:@CM@SendbirdUIKit@objc(cs)SBUParentMessageInfoView(im)collectionView:cellForItemAtIndexPath:", + "mangledName": "$s13SendbirdUIKit24SBUParentMessageInfoViewC010collectionF0_13cellForItemAtSo012UICollectionF4CellCSo0lF0C_10Foundation9IndexPathVtF", + "moduleName": "SendbirdUIKit", + "isOpen": true, + "objc_name": "collectionView:cellForItemAtIndexPath:", + "declAttributes": [ + "Dynamic", + "ObjC", + "Custom", + "AccessControl" + ], + "isFromExtension": true, + "funcSelfKind": "NonMutating" } ], "declKind": "Class", @@ -157449,10 +162449,10 @@ "AccessControl", "ObjC" ], - "superclassUsr": "c:objc(cs)UITableViewHeaderFooterView", + "superclassUsr": "c:@M@SendbirdUIKit@objc(cs)SBUView", "inheritsConvenienceInitializers": true, "superclassNames": [ - "UIKit.UITableViewHeaderFooterView", + "SendbirdUIKit.SBUView", "UIKit.UIView", "UIKit.UIResponder", "ObjectiveC.NSObject" @@ -157527,6 +162527,13 @@ "printedName": "__DefaultCustomPlaygroundQuickLookable", "usr": "s:s38__DefaultCustomPlaygroundQuickLookableP", "mangledName": "$ss38__DefaultCustomPlaygroundQuickLookableP" + }, + { + "kind": "Conformance", + "name": "SBUViewLifeCycle", + "printedName": "SBUViewLifeCycle", + "usr": "c:@M@SendbirdUIKit@objc(pl)SBUViewLifeCycle", + "mangledName": "$s13SendbirdUIKit16SBUViewLifeCycleP" } ] }, @@ -159032,6 +164039,191 @@ } ] }, + { + "kind": "Var", + "name": "multipleFilesMessageParamsSendBuilder", + "printedName": "multipleFilesMessageParamsSendBuilder", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "((SendbirdChatSDK.MultipleFilesMessageCreateParams?) -> ())?", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(SendbirdChatSDK.MultipleFilesMessageCreateParams?) -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "SendbirdChatSDK.MultipleFilesMessageCreateParams?", + "children": [ + { + "kind": "TypeNominal", + "name": "MultipleFilesMessageCreateParams", + "printedName": "SendbirdChatSDK.MultipleFilesMessageCreateParams", + "usr": "c:@M@SendbirdChatSDK@objc(cs)SBDMultipleFilesMessageCreateParams" + } + ], + "usr": "s:Sq" + } + ] + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit21SBUGlobalCustomParamsC020multipleFilesMessageE11SendBuildery0A7ChatSDK08Multiplegh6CreateE0CSgcSgvpZ", + "mangledName": "$s13SendbirdUIKit21SBUGlobalCustomParamsC020multipleFilesMessageE11SendBuildery0A7ChatSDK08Multiplegh6CreateE0CSgcSgvpZ", + "moduleName": "SendbirdUIKit", + "static": true, + "declAttributes": [ + "HasInitialValue", + "Final", + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "((SendbirdChatSDK.MultipleFilesMessageCreateParams?) -> ())?", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(SendbirdChatSDK.MultipleFilesMessageCreateParams?) -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "SendbirdChatSDK.MultipleFilesMessageCreateParams?", + "children": [ + { + "kind": "TypeNominal", + "name": "MultipleFilesMessageCreateParams", + "printedName": "SendbirdChatSDK.MultipleFilesMessageCreateParams", + "usr": "c:@M@SendbirdChatSDK@objc(cs)SBDMultipleFilesMessageCreateParams" + } + ], + "usr": "s:Sq" + } + ] + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit21SBUGlobalCustomParamsC020multipleFilesMessageE11SendBuildery0A7ChatSDK08Multiplegh6CreateE0CSgcSgvgZ", + "mangledName": "$s13SendbirdUIKit21SBUGlobalCustomParamsC020multipleFilesMessageE11SendBuildery0A7ChatSDK08Multiplegh6CreateE0CSgcSgvgZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "declAttributes": [ + "Final" + ], + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "((SendbirdChatSDK.MultipleFilesMessageCreateParams?) -> ())?", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(SendbirdChatSDK.MultipleFilesMessageCreateParams?) -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "SendbirdChatSDK.MultipleFilesMessageCreateParams?", + "children": [ + { + "kind": "TypeNominal", + "name": "MultipleFilesMessageCreateParams", + "printedName": "SendbirdChatSDK.MultipleFilesMessageCreateParams", + "usr": "c:@M@SendbirdChatSDK@objc(cs)SBDMultipleFilesMessageCreateParams" + } + ], + "usr": "s:Sq" + } + ] + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit21SBUGlobalCustomParamsC020multipleFilesMessageE11SendBuildery0A7ChatSDK08Multiplegh6CreateE0CSgcSgvsZ", + "mangledName": "$s13SendbirdUIKit21SBUGlobalCustomParamsC020multipleFilesMessageE11SendBuildery0A7ChatSDK08Multiplegh6CreateE0CSgcSgvsZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "declAttributes": [ + "Final" + ], + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit21SBUGlobalCustomParamsC020multipleFilesMessageE11SendBuildery0A7ChatSDK08Multiplegh6CreateE0CSgcSgvMZ", + "mangledName": "$s13SendbirdUIKit21SBUGlobalCustomParamsC020multipleFilesMessageE11SendBuildery0A7ChatSDK08Multiplegh6CreateE0CSgcSgvMZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "declAttributes": [ + "Final" + ], + "accessorKind": "_modify" + } + ] + }, { "kind": "Var", "name": "messageListParamsBuilder", @@ -162862,6 +168054,7 @@ "usr": "c:@M@SendbirdUIKit@objc(cs)SBUContentBaseMessageCell(py)mainContainerView", "mangledName": "$s13SendbirdUIKit25SBUContentBaseMessageCellC17mainContainerViewAA018SBUSelectableStackI0Cvp", "moduleName": "SendbirdUIKit", + "isOpen": true, "declAttributes": [ "Custom", "Lazy", @@ -162887,6 +168080,7 @@ "mangledName": "$s13SendbirdUIKit25SBUContentBaseMessageCellC17mainContainerViewAA018SBUSelectableStackI0Cvg", "moduleName": "SendbirdUIKit", "implicit": true, + "isOpen": true, "declAttributes": [ "ObjC" ], @@ -162914,6 +168108,7 @@ "mangledName": "$s13SendbirdUIKit25SBUContentBaseMessageCellC17mainContainerViewAA018SBUSelectableStackI0Cvs", "moduleName": "SendbirdUIKit", "implicit": true, + "isOpen": true, "declAttributes": [ "ObjC" ], @@ -162935,6 +168130,7 @@ "mangledName": "$s13SendbirdUIKit25SBUContentBaseMessageCellC17mainContainerViewAA018SBUSelectableStackI0CvM", "moduleName": "SendbirdUIKit", "implicit": true, + "isOpen": true, "accessorKind": "_modify" } ] @@ -167726,7 +172922,7 @@ "children": [ { "kind": "TypeNominal", - "name": "ImplicitlyUnwrappedOptional", + "name": "Optional", "printedName": "UIKit.NSLayoutConstraint?", "children": [ { @@ -167760,7 +172956,7 @@ "children": [ { "kind": "TypeNominal", - "name": "ImplicitlyUnwrappedOptional", + "name": "Optional", "printedName": "UIKit.NSLayoutConstraint?", "children": [ { @@ -172504,6 +177700,38 @@ ], "funcSelfKind": "NonMutating" }, + { + "kind": "Function", + "name": "updateStyles", + "printedName": "updateStyles(needsToLayout:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Func", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUOpenChannelViewController(im)updateStylesWithNeedsToLayout:", + "mangledName": "$s13SendbirdUIKit28SBUOpenChannelViewControllerC12updateStyles13needsToLayoutySb_tF", + "moduleName": "SendbirdUIKit", + "overriding": true, + "isOpen": true, + "objc_name": "updateStylesWithNeedsToLayout:", + "declAttributes": [ + "ObjC", + "Custom", + "Override", + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, { "kind": "Function", "name": "updateStyles", @@ -178220,6 +183448,47 @@ } ] }, + { + "kind": "Var", + "name": "isMultipleFilesMessage", + "printedName": "isMultipleFilesMessage", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit30SBUQuoteMessageInputViewParamsC015isMultipleFilesD0Sbvp", + "mangledName": "$s13SendbirdUIKit30SBUQuoteMessageInputViewParamsC015isMultipleFilesD0Sbvp", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit30SBUQuoteMessageInputViewParamsC015isMultipleFilesD0Sbvg", + "mangledName": "$s13SendbirdUIKit30SBUQuoteMessageInputViewParamsC015isMultipleFilesD0Sbvg", + "moduleName": "SendbirdUIKit", + "accessorKind": "get" + } + ] + }, { "kind": "Var", "name": "fileType", @@ -179447,6 +184716,16 @@ ], "hasMissingDesignatedInitializers": true }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "RawDocComment" + ] + }, { "kind": "Import", "name": "UIKit", @@ -185960,7 +191239,7 @@ "children": [ { "kind": "TypeNominal", - "name": "ImplicitlyUnwrappedOptional", + "name": "Optional", "printedName": "UIKit.NSLayoutConstraint?", "children": [ { @@ -185994,7 +191273,7 @@ "children": [ { "kind": "TypeNominal", - "name": "ImplicitlyUnwrappedOptional", + "name": "Optional", "printedName": "UIKit.NSLayoutConstraint?", "children": [ { @@ -186029,7 +191308,7 @@ }, { "kind": "TypeNominal", - "name": "ImplicitlyUnwrappedOptional", + "name": "Optional", "printedName": "UIKit.NSLayoutConstraint?", "children": [ { @@ -186364,6 +191643,39 @@ ], "funcSelfKind": "NonMutating" }, + { + "kind": "Function", + "name": "viewDidAppear", + "printedName": "viewDidAppear(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Func", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUBaseChannelViewController(im)viewDidAppear:", + "mangledName": "$s13SendbirdUIKit28SBUBaseChannelViewControllerC13viewDidAppearyySbF", + "moduleName": "SendbirdUIKit", + "overriding": true, + "isOpen": true, + "objc_name": "viewDidAppear:", + "declAttributes": [ + "Dynamic", + "ObjC", + "Custom", + "Override", + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, { "kind": "Function", "name": "viewDidLoad", @@ -187037,6 +192349,35 @@ ], "funcSelfKind": "NonMutating" }, + { + "kind": "Function", + "name": "openFile", + "printedName": "openFile(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "SBUFileData", + "printedName": "SendbirdUIKit.SBUFileData", + "usr": "s:13SendbirdUIKit11SBUFileDataV" + } + ], + "declKind": "Func", + "usr": "s:13SendbirdUIKit28SBUBaseChannelViewControllerC8openFileyyAA11SBUFileDataVF", + "mangledName": "$s13SendbirdUIKit28SBUBaseChannelViewControllerC8openFileyyAA11SBUFileDataVF", + "moduleName": "SendbirdUIKit", + "isOpen": true, + "declAttributes": [ + "Custom", + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, { "kind": "Function", "name": "openFile", @@ -200248,6 +205589,305 @@ "declKind": "Import", "moduleName": "SendbirdUIKit" }, + { + "kind": "Import", + "name": "SendbirdChatSDK", + "printedName": "SendbirdChatSDK", + "declKind": "Import", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "TypeDecl", + "name": "SBUMultipleFilesMessageCellParams", + "printedName": "SBUMultipleFilesMessageCellParams", + "children": [ + { + "kind": "Var", + "name": "multipleFilesMessage", + "printedName": "multipleFilesMessage", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "SendbirdChatSDK.MultipleFilesMessage?", + "children": [ + { + "kind": "TypeNominal", + "name": "MultipleFilesMessage", + "printedName": "SendbirdChatSDK.MultipleFilesMessage", + "usr": "c:@M@SendbirdChatSDK@objc(cs)SBDMultipleFilesMessage" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit33SBUMultipleFilesMessageCellParamsC08multipledE00A7ChatSDK08MultipledE0CSgvp", + "mangledName": "$s13SendbirdUIKit33SBUMultipleFilesMessageCellParamsC08multipledE00A7ChatSDK08MultipledE0CSgvp", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "AccessControl" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "SendbirdChatSDK.MultipleFilesMessage?", + "children": [ + { + "kind": "TypeNominal", + "name": "MultipleFilesMessage", + "printedName": "SendbirdChatSDK.MultipleFilesMessage", + "usr": "c:@M@SendbirdChatSDK@objc(cs)SBDMultipleFilesMessage" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit33SBUMultipleFilesMessageCellParamsC08multipledE00A7ChatSDK08MultipledE0CSgvg", + "mangledName": "$s13SendbirdUIKit33SBUMultipleFilesMessageCellParamsC08multipledE00A7ChatSDK08MultipledE0CSgvg", + "moduleName": "SendbirdUIKit", + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "useReaction", + "printedName": "useReaction", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit33SBUMultipleFilesMessageCellParamsC11useReactionSbvp", + "mangledName": "$s13SendbirdUIKit33SBUMultipleFilesMessageCellParamsC11useReactionSbvp", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "Final", + "HasStorage", + "AccessControl" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit33SBUMultipleFilesMessageCellParamsC11useReactionSbvg", + "mangledName": "$s13SendbirdUIKit33SBUMultipleFilesMessageCellParamsC11useReactionSbvg", + "moduleName": "SendbirdUIKit", + "implicit": true, + "declAttributes": [ + "Final" + ], + "accessorKind": "get" + } + ] + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(message:hideDateView:useMessagePosition:groupPosition:receiptState:useReaction:isThreadMessage:joinedAt:voiceFileInfo:)", + "children": [ + { + "kind": "TypeNominal", + "name": "SBUMultipleFilesMessageCellParams", + "printedName": "SendbirdUIKit.SBUMultipleFilesMessageCellParams", + "usr": "s:13SendbirdUIKit33SBUMultipleFilesMessageCellParamsC" + }, + { + "kind": "TypeNominal", + "name": "MultipleFilesMessage", + "printedName": "SendbirdChatSDK.MultipleFilesMessage", + "usr": "c:@M@SendbirdChatSDK@objc(cs)SBDMultipleFilesMessage" + }, + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "MessageGroupPosition", + "printedName": "SendbirdUIKit.MessageGroupPosition", + "hasDefaultArg": true, + "usr": "c:@M@SendbirdUIKit@E@MessageGroupPosition" + }, + { + "kind": "TypeNominal", + "name": "SBUMessageReceiptState", + "printedName": "SendbirdUIKit.SBUMessageReceiptState", + "hasDefaultArg": true, + "usr": "c:@M@SendbirdUIKit@E@SBUMessageReceiptState" + }, + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "hasDefaultArg": true, + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "hasDefaultArg": true, + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "Int64", + "printedName": "Swift.Int64", + "hasDefaultArg": true, + "usr": "s:s5Int64V" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "SendbirdUIKit.SBUVoiceFileInfo?", + "children": [ + { + "kind": "TypeNominal", + "name": "SBUVoiceFileInfo", + "printedName": "SendbirdUIKit.SBUVoiceFileInfo", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUVoiceFileInfo" + } + ], + "hasDefaultArg": true, + "usr": "s:Sq" + } + ], + "declKind": "Constructor", + "usr": "s:13SendbirdUIKit33SBUMultipleFilesMessageCellParamsC7message12hideDateView03useE8Position05groupM012receiptState0L8Reaction08isThreadE08joinedAt13voiceFileInfoAC0A7ChatSDK08MultipledE0C_S2bAA0e5GroupM0OAA017SBUMessageReceiptP0OS2bs5Int64VAA08SBUVoicewX0CSgtcfc", + "mangledName": "$s13SendbirdUIKit33SBUMultipleFilesMessageCellParamsC7message12hideDateView03useE8Position05groupM012receiptState0L8Reaction08isThreadE08joinedAt13voiceFileInfoAC0A7ChatSDK08MultipledE0C_S2bAA0e5GroupM0OAA017SBUMessageReceiptP0OS2bs5Int64VAA08SBUVoicewX0CSgtcfc", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "AccessControl" + ], + "init_kind": "Designated" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(message:hideDateView:messagePosition:groupPosition:receiptState:isThreadMessage:joinedAt:messageOffsetTimestamp:)", + "children": [ + { + "kind": "TypeNominal", + "name": "SBUMultipleFilesMessageCellParams", + "printedName": "SendbirdUIKit.SBUMultipleFilesMessageCellParams", + "usr": "s:13SendbirdUIKit33SBUMultipleFilesMessageCellParamsC" + }, + { + "kind": "TypeNominal", + "name": "BaseMessage", + "printedName": "SendbirdChatSDK.BaseMessage", + "usr": "c:@M@SendbirdChatSDK@objc(cs)SBDBaseMessage" + }, + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "MessagePosition", + "printedName": "SendbirdUIKit.MessagePosition", + "hasDefaultArg": true, + "usr": "c:@M@SendbirdUIKit@E@MessagePosition" + }, + { + "kind": "TypeNominal", + "name": "MessageGroupPosition", + "printedName": "SendbirdUIKit.MessageGroupPosition", + "hasDefaultArg": true, + "usr": "c:@M@SendbirdUIKit@E@MessageGroupPosition" + }, + { + "kind": "TypeNominal", + "name": "SBUMessageReceiptState", + "printedName": "SendbirdUIKit.SBUMessageReceiptState", + "hasDefaultArg": true, + "usr": "c:@M@SendbirdUIKit@E@SBUMessageReceiptState" + }, + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "hasDefaultArg": true, + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "Int64", + "printedName": "Swift.Int64", + "hasDefaultArg": true, + "usr": "s:s5Int64V" + }, + { + "kind": "TypeNominal", + "name": "Int64", + "printedName": "Swift.Int64", + "hasDefaultArg": true, + "usr": "s:s5Int64V" + } + ], + "declKind": "Constructor", + "usr": "s:13SendbirdUIKit33SBUMultipleFilesMessageCellParamsC7message12hideDateView0H8Position05groupL012receiptState08isThreadE08joinedAt0H15OffsetTimestampAC0A7ChatSDK04BaseE0C_SbAA0eL0OAA0e5GroupL0OAA017SBUMessageReceiptO0OSbs5Int64VAVtcfc", + "mangledName": "$s13SendbirdUIKit33SBUMultipleFilesMessageCellParamsC7message12hideDateView0H8Position05groupL012receiptState08isThreadE08joinedAt0H15OffsetTimestampAC0A7ChatSDK04BaseE0C_SbAA0eL0OAA0e5GroupL0OAA017SBUMessageReceiptO0OSbs5Int64VAVtcfc", + "moduleName": "SendbirdUIKit", + "overriding": true, + "implicit": true, + "declAttributes": [ + "Override" + ], + "init_kind": "Designated" + } + ], + "declKind": "Class", + "usr": "s:13SendbirdUIKit33SBUMultipleFilesMessageCellParamsC", + "mangledName": "$s13SendbirdUIKit33SBUMultipleFilesMessageCellParamsC", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "superclassUsr": "s:13SendbirdUIKit24SBUBaseMessageCellParamsC", + "superclassNames": [ + "SendbirdUIKit.SBUBaseMessageCellParams" + ] + }, { "kind": "Import", "name": "UIKit", @@ -202892,6 +208532,36 @@ ], "funcSelfKind": "NonMutating" }, + { + "kind": "Function", + "name": "updateStyles", + "printedName": "updateStyles(needsToLayout:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Func", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUBaseViewController(im)updateStylesWithNeedsToLayout:", + "mangledName": "$s13SendbirdUIKit21SBUBaseViewControllerC12updateStyles13needsToLayoutySb_tF", + "moduleName": "SendbirdUIKit", + "isOpen": true, + "declAttributes": [ + "Custom", + "AccessControl", + "RawDocComment", + "ObjC" + ], + "funcSelfKind": "NonMutating" + }, { "kind": "Function", "name": "setupNavigationBar", @@ -211981,64 +217651,29 @@ "RawDocComment" ], "funcSelfKind": "NonMutating" - } - ], - "declKind": "Class", - "usr": "s:13SendbirdUIKit12SBUAvailableC", - "mangledName": "$s13SendbirdUIKit12SBUAvailableC", - "moduleName": "SendbirdUIKit", - "declAttributes": [ - "AccessControl" - ], - "hasMissingDesignatedInitializers": true - }, - { - "kind": "Import", - "name": "UIKit", - "printedName": "UIKit", - "declKind": "Import", - "moduleName": "SendbirdUIKit", - "declAttributes": [ - "RawDocComment" - ] - }, - { - "kind": "TypeDecl", - "name": "SBUMessageThreadModule", - "printedName": "SBUMessageThreadModule", - "children": [ + }, { "kind": "Var", - "name": "HeaderComponent", - "printedName": "HeaderComponent", + "name": "multipleFilesMessageFileCountLimit", + "printedName": "multipleFilesMessageFileCountLimit", "children": [ { "kind": "TypeNominal", - "name": "Metatype", - "printedName": "SendbirdUIKit.SBUMessageThreadModule.Header.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "Header", - "printedName": "SendbirdUIKit.SBUMessageThreadModule.Header", - "usr": "s:13SendbirdUIKit22SBUMessageThreadModuleC6HeaderC" - } - ] + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" } ], "declKind": "Var", - "usr": "s:13SendbirdUIKit22SBUMessageThreadModuleC15HeaderComponentAC0F0CmvpZ", - "mangledName": "$s13SendbirdUIKit22SBUMessageThreadModuleC15HeaderComponentAC0F0CmvpZ", + "usr": "s:13SendbirdUIKit12SBUAvailableC34multipleFilesMessageFileCountLimitSivpZ", + "mangledName": "$s13SendbirdUIKit12SBUAvailableC34multipleFilesMessageFileCountLimitSivpZ", "moduleName": "SendbirdUIKit", "static": true, "declAttributes": [ - "HasInitialValue", "Final", - "HasStorage", "AccessControl", "RawDocComment" ], - "hasStorage": true, "accessors": [ { "kind": "Accessor", @@ -212047,120 +217682,45 @@ "children": [ { "kind": "TypeNominal", - "name": "Metatype", - "printedName": "SendbirdUIKit.SBUMessageThreadModule.Header.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "Header", - "printedName": "SendbirdUIKit.SBUMessageThreadModule.Header", - "usr": "s:13SendbirdUIKit22SBUMessageThreadModuleC6HeaderC" - } - ] + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit22SBUMessageThreadModuleC15HeaderComponentAC0F0CmvgZ", - "mangledName": "$s13SendbirdUIKit22SBUMessageThreadModuleC15HeaderComponentAC0F0CmvgZ", + "usr": "s:13SendbirdUIKit12SBUAvailableC34multipleFilesMessageFileCountLimitSivgZ", + "mangledName": "$s13SendbirdUIKit12SBUAvailableC34multipleFilesMessageFileCountLimitSivgZ", "moduleName": "SendbirdUIKit", "static": true, - "implicit": true, "declAttributes": [ "Final" ], "accessorKind": "get" - }, - { - "kind": "Accessor", - "name": "Set", - "printedName": "Set()", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "SendbirdUIKit.SBUMessageThreadModule.Header.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "Header", - "printedName": "SendbirdUIKit.SBUMessageThreadModule.Header", - "usr": "s:13SendbirdUIKit22SBUMessageThreadModuleC6HeaderC" - } - ] - } - ], - "declKind": "Accessor", - "usr": "s:13SendbirdUIKit22SBUMessageThreadModuleC15HeaderComponentAC0F0CmvsZ", - "mangledName": "$s13SendbirdUIKit22SBUMessageThreadModuleC15HeaderComponentAC0F0CmvsZ", - "moduleName": "SendbirdUIKit", - "static": true, - "implicit": true, - "declAttributes": [ - "Final" - ], - "accessorKind": "set" - }, - { - "kind": "Accessor", - "name": "Modify", - "printedName": "Modify()", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - } - ], - "declKind": "Accessor", - "usr": "s:13SendbirdUIKit22SBUMessageThreadModuleC15HeaderComponentAC0F0CmvMZ", - "mangledName": "$s13SendbirdUIKit22SBUMessageThreadModuleC15HeaderComponentAC0F0CmvMZ", - "moduleName": "SendbirdUIKit", - "static": true, - "implicit": true, - "declAttributes": [ - "Final" - ], - "accessorKind": "_modify" } ] }, { "kind": "Var", - "name": "ListComponent", - "printedName": "ListComponent", + "name": "uploadSizeLimitBytes", + "printedName": "uploadSizeLimitBytes", "children": [ { "kind": "TypeNominal", - "name": "Metatype", - "printedName": "SendbirdUIKit.SBUMessageThreadModule.List.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "List", - "printedName": "SendbirdUIKit.SBUMessageThreadModule.List", - "usr": "s:13SendbirdUIKit22SBUMessageThreadModuleC4ListC" - } - ] + "name": "Int64", + "printedName": "Swift.Int64", + "usr": "s:s5Int64V" } ], "declKind": "Var", - "usr": "s:13SendbirdUIKit22SBUMessageThreadModuleC13ListComponentAC0F0CmvpZ", - "mangledName": "$s13SendbirdUIKit22SBUMessageThreadModuleC13ListComponentAC0F0CmvpZ", + "usr": "s:13SendbirdUIKit12SBUAvailableC20uploadSizeLimitBytess5Int64VvpZ", + "mangledName": "$s13SendbirdUIKit12SBUAvailableC20uploadSizeLimitBytess5Int64VvpZ", "moduleName": "SendbirdUIKit", "static": true, "declAttributes": [ - "HasInitialValue", "Final", - "HasStorage", "AccessControl", "RawDocComment" ], - "hasStorage": true, "accessors": [ { "kind": "Accessor", @@ -212169,110 +217729,127 @@ "children": [ { "kind": "TypeNominal", - "name": "Metatype", - "printedName": "SendbirdUIKit.SBUMessageThreadModule.List.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "List", - "printedName": "SendbirdUIKit.SBUMessageThreadModule.List", - "usr": "s:13SendbirdUIKit22SBUMessageThreadModuleC4ListC" - } - ] + "name": "Int64", + "printedName": "Swift.Int64", + "usr": "s:s5Int64V" } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit22SBUMessageThreadModuleC13ListComponentAC0F0CmvgZ", - "mangledName": "$s13SendbirdUIKit22SBUMessageThreadModuleC13ListComponentAC0F0CmvgZ", + "usr": "s:13SendbirdUIKit12SBUAvailableC20uploadSizeLimitBytess5Int64VvgZ", + "mangledName": "$s13SendbirdUIKit12SBUAvailableC20uploadSizeLimitBytess5Int64VvgZ", "moduleName": "SendbirdUIKit", "static": true, - "implicit": true, "declAttributes": [ "Final" ], "accessorKind": "get" - }, + } + ] + }, + { + "kind": "Var", + "name": "uploadSizeLimitMB", + "printedName": "uploadSizeLimitMB", + "children": [ { - "kind": "Accessor", - "name": "Set", - "printedName": "Set()", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "SendbirdUIKit.SBUMessageThreadModule.List.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "List", - "printedName": "SendbirdUIKit.SBUMessageThreadModule.List", - "usr": "s:13SendbirdUIKit22SBUMessageThreadModuleC4ListC" - } - ] - } - ], - "declKind": "Accessor", - "usr": "s:13SendbirdUIKit22SBUMessageThreadModuleC13ListComponentAC0F0CmvsZ", - "mangledName": "$s13SendbirdUIKit22SBUMessageThreadModuleC13ListComponentAC0F0CmvsZ", - "moduleName": "SendbirdUIKit", - "static": true, - "implicit": true, - "declAttributes": [ - "Final" - ], - "accessorKind": "set" - }, + "kind": "TypeNominal", + "name": "Int64", + "printedName": "Swift.Int64", + "usr": "s:s5Int64V" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit12SBUAvailableC17uploadSizeLimitMBs5Int64VvpZ", + "mangledName": "$s13SendbirdUIKit12SBUAvailableC17uploadSizeLimitMBs5Int64VvpZ", + "moduleName": "SendbirdUIKit", + "static": true, + "declAttributes": [ + "Final", + "AccessControl", + "RawDocComment" + ], + "accessors": [ { "kind": "Accessor", - "name": "Modify", - "printedName": "Modify()", + "name": "Get", + "printedName": "Get()", "children": [ { "kind": "TypeNominal", - "name": "Void", - "printedName": "()" + "name": "Int64", + "printedName": "Swift.Int64", + "usr": "s:s5Int64V" } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit22SBUMessageThreadModuleC13ListComponentAC0F0CmvMZ", - "mangledName": "$s13SendbirdUIKit22SBUMessageThreadModuleC13ListComponentAC0F0CmvMZ", + "usr": "s:13SendbirdUIKit12SBUAvailableC17uploadSizeLimitMBs5Int64VvgZ", + "mangledName": "$s13SendbirdUIKit12SBUAvailableC17uploadSizeLimitMBs5Int64VvgZ", "moduleName": "SendbirdUIKit", "static": true, - "implicit": true, "declAttributes": [ "Final" ], - "accessorKind": "_modify" + "accessorKind": "get" } ] - }, + } + ], + "declKind": "Class", + "usr": "s:13SendbirdUIKit12SBUAvailableC", + "mangledName": "$s13SendbirdUIKit12SBUAvailableC", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "AccessControl" + ], + "hasMissingDesignatedInitializers": true + }, + { + "kind": "Import", + "name": "UIKit", + "printedName": "UIKit", + "declKind": "Import", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "UIKit", + "printedName": "UIKit", + "declKind": "Import", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "TypeDecl", + "name": "SBUMessageThreadModule", + "printedName": "SBUMessageThreadModule", + "children": [ { "kind": "Var", - "name": "InputComponent", - "printedName": "InputComponent", + "name": "HeaderComponent", + "printedName": "HeaderComponent", "children": [ { "kind": "TypeNominal", "name": "Metatype", - "printedName": "SendbirdUIKit.SBUMessageThreadModule.Input.Type", + "printedName": "SendbirdUIKit.SBUMessageThreadModule.Header.Type", "children": [ { "kind": "TypeNominal", - "name": "Input", - "printedName": "SendbirdUIKit.SBUMessageThreadModule.Input", - "usr": "s:13SendbirdUIKit22SBUMessageThreadModuleC5InputC" + "name": "Header", + "printedName": "SendbirdUIKit.SBUMessageThreadModule.Header", + "usr": "s:13SendbirdUIKit22SBUMessageThreadModuleC6HeaderC" } ] } ], "declKind": "Var", - "usr": "s:13SendbirdUIKit22SBUMessageThreadModuleC14InputComponentAC0F0CmvpZ", - "mangledName": "$s13SendbirdUIKit22SBUMessageThreadModuleC14InputComponentAC0F0CmvpZ", + "usr": "s:13SendbirdUIKit22SBUMessageThreadModuleC15HeaderComponentAC0F0CmvpZ", + "mangledName": "$s13SendbirdUIKit22SBUMessageThreadModuleC15HeaderComponentAC0F0CmvpZ", "moduleName": "SendbirdUIKit", "static": true, "declAttributes": [ @@ -212292,20 +217869,264 @@ { "kind": "TypeNominal", "name": "Metatype", - "printedName": "SendbirdUIKit.SBUMessageThreadModule.Input.Type", + "printedName": "SendbirdUIKit.SBUMessageThreadModule.Header.Type", "children": [ { "kind": "TypeNominal", - "name": "Input", - "printedName": "SendbirdUIKit.SBUMessageThreadModule.Input", - "usr": "s:13SendbirdUIKit22SBUMessageThreadModuleC5InputC" + "name": "Header", + "printedName": "SendbirdUIKit.SBUMessageThreadModule.Header", + "usr": "s:13SendbirdUIKit22SBUMessageThreadModuleC6HeaderC" } ] } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit22SBUMessageThreadModuleC14InputComponentAC0F0CmvgZ", - "mangledName": "$s13SendbirdUIKit22SBUMessageThreadModuleC14InputComponentAC0F0CmvgZ", + "usr": "s:13SendbirdUIKit22SBUMessageThreadModuleC15HeaderComponentAC0F0CmvgZ", + "mangledName": "$s13SendbirdUIKit22SBUMessageThreadModuleC15HeaderComponentAC0F0CmvgZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "declAttributes": [ + "Final" + ], + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "SendbirdUIKit.SBUMessageThreadModule.Header.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "Header", + "printedName": "SendbirdUIKit.SBUMessageThreadModule.Header", + "usr": "s:13SendbirdUIKit22SBUMessageThreadModuleC6HeaderC" + } + ] + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit22SBUMessageThreadModuleC15HeaderComponentAC0F0CmvsZ", + "mangledName": "$s13SendbirdUIKit22SBUMessageThreadModuleC15HeaderComponentAC0F0CmvsZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "declAttributes": [ + "Final" + ], + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit22SBUMessageThreadModuleC15HeaderComponentAC0F0CmvMZ", + "mangledName": "$s13SendbirdUIKit22SBUMessageThreadModuleC15HeaderComponentAC0F0CmvMZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "declAttributes": [ + "Final" + ], + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "ListComponent", + "printedName": "ListComponent", + "children": [ + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "SendbirdUIKit.SBUMessageThreadModule.List.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "List", + "printedName": "SendbirdUIKit.SBUMessageThreadModule.List", + "usr": "s:13SendbirdUIKit22SBUMessageThreadModuleC4ListC" + } + ] + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit22SBUMessageThreadModuleC13ListComponentAC0F0CmvpZ", + "mangledName": "$s13SendbirdUIKit22SBUMessageThreadModuleC13ListComponentAC0F0CmvpZ", + "moduleName": "SendbirdUIKit", + "static": true, + "declAttributes": [ + "HasInitialValue", + "Final", + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "SendbirdUIKit.SBUMessageThreadModule.List.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "List", + "printedName": "SendbirdUIKit.SBUMessageThreadModule.List", + "usr": "s:13SendbirdUIKit22SBUMessageThreadModuleC4ListC" + } + ] + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit22SBUMessageThreadModuleC13ListComponentAC0F0CmvgZ", + "mangledName": "$s13SendbirdUIKit22SBUMessageThreadModuleC13ListComponentAC0F0CmvgZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "declAttributes": [ + "Final" + ], + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "SendbirdUIKit.SBUMessageThreadModule.List.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "List", + "printedName": "SendbirdUIKit.SBUMessageThreadModule.List", + "usr": "s:13SendbirdUIKit22SBUMessageThreadModuleC4ListC" + } + ] + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit22SBUMessageThreadModuleC13ListComponentAC0F0CmvsZ", + "mangledName": "$s13SendbirdUIKit22SBUMessageThreadModuleC13ListComponentAC0F0CmvsZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "declAttributes": [ + "Final" + ], + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit22SBUMessageThreadModuleC13ListComponentAC0F0CmvMZ", + "mangledName": "$s13SendbirdUIKit22SBUMessageThreadModuleC13ListComponentAC0F0CmvMZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "declAttributes": [ + "Final" + ], + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "InputComponent", + "printedName": "InputComponent", + "children": [ + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "SendbirdUIKit.SBUMessageThreadModule.Input.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "Input", + "printedName": "SendbirdUIKit.SBUMessageThreadModule.Input", + "usr": "s:13SendbirdUIKit22SBUMessageThreadModuleC5InputC" + } + ] + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit22SBUMessageThreadModuleC14InputComponentAC0F0CmvpZ", + "mangledName": "$s13SendbirdUIKit22SBUMessageThreadModuleC14InputComponentAC0F0CmvpZ", + "moduleName": "SendbirdUIKit", + "static": true, + "declAttributes": [ + "HasInitialValue", + "Final", + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "SendbirdUIKit.SBUMessageThreadModule.Input.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "Input", + "printedName": "SendbirdUIKit.SBUMessageThreadModule.Input", + "usr": "s:13SendbirdUIKit22SBUMessageThreadModuleC5InputC" + } + ] + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit22SBUMessageThreadModuleC14InputComponentAC0F0CmvgZ", + "mangledName": "$s13SendbirdUIKit22SBUMessageThreadModuleC14InputComponentAC0F0CmvgZ", "moduleName": "SendbirdUIKit", "static": true, "implicit": true, @@ -213955,6 +219776,257 @@ ], "funcSelfKind": "NonMutating" }, + { + "kind": "Function", + "name": "pickMultipleImageFiles", + "printedName": "pickMultipleImageFiles(itemProviders:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Foundation.NSItemProvider]", + "children": [ + { + "kind": "TypeNominal", + "name": "NSItemProvider", + "printedName": "Foundation.NSItemProvider", + "usr": "c:objc(cs)NSItemProvider" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Func", + "usr": "s:13SendbirdUIKit22SBUMessageThreadModuleC5InputC22pickMultipleImageFiles13itemProvidersySaySo14NSItemProviderCG_tF", + "mangledName": "$s13SendbirdUIKit22SBUMessageThreadModuleC5InputC22pickMultipleImageFiles13itemProvidersySaySo14NSItemProviderCG_tF", + "moduleName": "SendbirdUIKit", + "intro_iOS": "14.0", + "declAttributes": [ + "Custom", + "AccessControl", + "Available", + "RawDocComment", + "ObjC" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "loadImageFile", + "printedName": "loadImageFile(itemProvider:index:completion:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "NSItemProvider", + "printedName": "Foundation.NSItemProvider", + "usr": "c:objc(cs)NSItemProvider" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.Int?", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "hasDefaultArg": true, + "usr": "s:Sq" + }, + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Foundation.Data?, Swift.String?, Swift.String?) -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(Foundation.Data?, Swift.String?, Swift.String?)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Foundation.Data?", + "children": [ + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.String?", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.String?", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "usr": "s:Sq" + } + ] + } + ] + } + ], + "declKind": "Func", + "usr": "s:13SendbirdUIKit22SBUMessageThreadModuleC5InputC13loadImageFile12itemProvider5index10completionySo06NSItemK0C_SiSgy10Foundation4DataVSg_SSSgAQtctF", + "mangledName": "$s13SendbirdUIKit22SBUMessageThreadModuleC5InputC13loadImageFile12itemProvider5index10completionySo06NSItemK0C_SiSgy10Foundation4DataVSg_SSSgAQtctF", + "moduleName": "SendbirdUIKit", + "intro_iOS": "14.0", + "declAttributes": [ + "Custom", + "AccessControl", + "Available", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "loadGIFfile", + "printedName": "loadGIFfile(itemProvider:index:completion:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "NSItemProvider", + "printedName": "Foundation.NSItemProvider", + "usr": "c:objc(cs)NSItemProvider" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.Int?", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "hasDefaultArg": true, + "usr": "s:Sq" + }, + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Foundation.Data?, Swift.String?, Swift.String?) -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(Foundation.Data?, Swift.String?, Swift.String?)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Foundation.Data?", + "children": [ + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.String?", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.String?", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "usr": "s:Sq" + } + ] + } + ] + } + ], + "declKind": "Func", + "usr": "s:13SendbirdUIKit22SBUMessageThreadModuleC5InputC11loadGIFfile12itemProvider5index10completionySo06NSItemJ0C_SiSgy10Foundation4DataVSg_SSSgAQtctF", + "mangledName": "$s13SendbirdUIKit22SBUMessageThreadModuleC5InputC11loadGIFfile12itemProvider5index10completionySo06NSItemJ0C_SiSgy10Foundation4DataVSg_SSSgAQtctF", + "moduleName": "SendbirdUIKit", + "intro_iOS": "14.0", + "declAttributes": [ + "Custom", + "AccessControl", + "Available", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, { "kind": "Function", "name": "updateMessageInputMode", @@ -215464,6 +221536,73 @@ } ] }, + { + "kind": "Var", + "name": "multipleFilesMessageCell", + "printedName": "multipleFilesMessageCell", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "SendbirdUIKit.SBUBaseMessageCell?", + "children": [ + { + "kind": "TypeNominal", + "name": "SBUBaseMessageCell", + "printedName": "SendbirdUIKit.SBUBaseMessageCell", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUBaseMessageCell" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit22SBUMessageThreadModuleC4ListC24multipleFilesMessageCellAA07SBUBaseiJ0CSgvp", + "mangledName": "$s13SendbirdUIKit22SBUMessageThreadModuleC4ListC24multipleFilesMessageCellAA07SBUBaseiJ0CSgvp", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "HasInitialValue", + "Custom", + "HasStorage", + "SetterAccess", + "AccessControl", + "RawDocComment", + "ObjC" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "SendbirdUIKit.SBUBaseMessageCell?", + "children": [ + { + "kind": "TypeNominal", + "name": "SBUBaseMessageCell", + "printedName": "SendbirdUIKit.SBUBaseMessageCell", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUBaseMessageCell" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit22SBUMessageThreadModuleC4ListC24multipleFilesMessageCellAA07SBUBaseiJ0CSgvg", + "mangledName": "$s13SendbirdUIKit22SBUMessageThreadModuleC4ListC24multipleFilesMessageCellAA07SBUBaseiJ0CSgvg", + "moduleName": "SendbirdUIKit", + "implicit": true, + "declAttributes": [ + "ObjC" + ], + "accessorKind": "get" + } + ] + }, { "kind": "Var", "name": "unknownMessageCell", @@ -216516,20 +222655,27 @@ { "kind": "Function", "name": "reloadTableView", - "printedName": "reloadTableView()", + "printedName": "reloadTableView(needsToLayout:)", "children": [ { "kind": "TypeNominal", "name": "Void", "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "hasDefaultArg": true, + "usr": "s:Sb" } ], "declKind": "Func", - "usr": "s:13SendbirdUIKit22SBUMessageThreadModuleC4ListC15reloadTableViewyyF", - "mangledName": "$s13SendbirdUIKit22SBUMessageThreadModuleC4ListC15reloadTableViewyyF", + "usr": "s:13SendbirdUIKit22SBUMessageThreadModuleC4ListC15reloadTableView13needsToLayoutySb_tF", + "mangledName": "$s13SendbirdUIKit22SBUMessageThreadModuleC4ListC15reloadTableView13needsToLayoutySb_tF", "moduleName": "SendbirdUIKit", "overriding": true, - "objc_name": "reloadTableView", + "objc_name": "reloadTableViewWithNeedsToLayout:", "declAttributes": [ "ObjC", "Custom", @@ -216718,6 +222864,51 @@ ], "funcSelfKind": "NonMutating" }, + { + "kind": "Function", + "name": "register", + "printedName": "register(multipleFilesMessageCell:nib:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "SBUBaseMessageCell", + "printedName": "SendbirdUIKit.SBUBaseMessageCell", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUBaseMessageCell" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "UIKit.UINib?", + "children": [ + { + "kind": "TypeNominal", + "name": "UINib", + "printedName": "UIKit.UINib", + "usr": "c:objc(cs)UINib" + } + ], + "hasDefaultArg": true, + "usr": "s:Sq" + } + ], + "declKind": "Func", + "usr": "s:13SendbirdUIKit22SBUMessageThreadModuleC4ListC8register24multipleFilesMessageCell3nibyAA07SBUBasejK0C_So5UINibCSgtF", + "mangledName": "$s13SendbirdUIKit22SBUMessageThreadModuleC4ListC8register24multipleFilesMessageCell3nibyAA07SBUBasejK0C_So5UINibCSgtF", + "moduleName": "SendbirdUIKit", + "isOpen": true, + "declAttributes": [ + "Custom", + "AccessControl", + "RawDocComment", + "ObjC" + ], + "funcSelfKind": "NonMutating" + }, { "kind": "Function", "name": "register", @@ -227113,6 +233304,54 @@ ], "reqNewWitnessTableEntry": true, "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "groupChannelModule", + "printedName": "groupChannelModule(_:didSelectFileAt:multipleFilesMessageCell:forRowAt:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "List", + "printedName": "SendbirdUIKit.SBUGroupChannelModule.List", + "usr": "s:13SendbirdUIKit21SBUGroupChannelModuleC4ListC" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "SBUMultipleFilesMessageCell", + "printedName": "SendbirdUIKit.SBUMultipleFilesMessageCell", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCell" + }, + { + "kind": "TypeNominal", + "name": "IndexPath", + "printedName": "Foundation.IndexPath", + "usr": "s:10Foundation9IndexPathV" + } + ], + "declKind": "Func", + "usr": "s:13SendbirdUIKit33SBUGroupChannelModuleListDelegateP05groupdE0_15didSelectFileAt24multipleFilesMessageCell06forRowL0yAA0cdE0C0F0C_SiAA011SBUMultiplenoP0C10Foundation9IndexPathVtF", + "mangledName": "$s13SendbirdUIKit33SBUGroupChannelModuleListDelegateP05groupdE0_15didSelectFileAt24multipleFilesMessageCell06forRowL0yAA0cdE0C0F0C_SiAA011SBUMultiplenoP0C10Foundation9IndexPathVtF", + "moduleName": "SendbirdUIKit", + "genericSig": "<τ_0_0 where τ_0_0 : SendbirdUIKit.SBUGroupChannelModuleListDelegate>", + "sugared_genericSig": "", + "protocolReq": true, + "declAttributes": [ + "RawDocComment" + ], + "reqNewWitnessTableEntry": true, + "funcSelfKind": "NonMutating" } ], "declKind": "Protocol", @@ -227312,6 +233551,72 @@ "reqNewWitnessTableEntry": true, "funcSelfKind": "NonMutating" }, + { + "kind": "Function", + "name": "groupChannelModule", + "printedName": "groupChannelModule(_:didPickMultipleFiles:parentMessage:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Input", + "printedName": "SendbirdUIKit.SBUGroupChannelModule.Input", + "usr": "s:13SendbirdUIKit21SBUGroupChannelModuleC5InputC" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "[SendbirdChatSDK.UploadableFileInfo]?", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[SendbirdChatSDK.UploadableFileInfo]", + "children": [ + { + "kind": "TypeNominal", + "name": "UploadableFileInfo", + "printedName": "SendbirdChatSDK.UploadableFileInfo", + "usr": "c:@M@SendbirdChatSDK@objc(cs)SBDUploadableFileInfo" + } + ], + "usr": "s:Sa" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "SendbirdChatSDK.BaseMessage?", + "children": [ + { + "kind": "TypeNominal", + "name": "BaseMessage", + "printedName": "SendbirdChatSDK.BaseMessage", + "usr": "c:@M@SendbirdChatSDK@objc(cs)SBDBaseMessage" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Func", + "usr": "s:13SendbirdUIKit34SBUGroupChannelModuleInputDelegateP05groupdE0_20didPickMultipleFiles13parentMessageyAA0cdE0C0F0C_Say0A7ChatSDK18UploadableFileInfoCGSgAK04BaseN0CSgtF", + "mangledName": "$s13SendbirdUIKit34SBUGroupChannelModuleInputDelegateP05groupdE0_20didPickMultipleFiles13parentMessageyAA0cdE0C0F0C_Say0A7ChatSDK18UploadableFileInfoCGSgAK04BaseN0CSgtF", + "moduleName": "SendbirdUIKit", + "genericSig": "<τ_0_0 where τ_0_0 : SendbirdUIKit.SBUGroupChannelModuleInputDelegate>", + "sugared_genericSig": "", + "protocolReq": true, + "declAttributes": [ + "RawDocComment" + ], + "reqNewWitnessTableEntry": true, + "funcSelfKind": "NonMutating" + }, { "kind": "Function", "name": "groupChannelModule", @@ -233576,6 +239881,917 @@ "mangledName": "$s13SendbirdUIKit14SBUIconSetTypeO8iconStopyA2CmF", "moduleName": "SendbirdUIKit" }, + { + "kind": "TypeDecl", + "name": "Metric", + "printedName": "Metric", + "children": [ + { + "kind": "Var", + "name": "defaultIconSizeVerySmall", + "printedName": "defaultIconSizeVerySmall", + "children": [ + { + "kind": "TypeNominal", + "name": "CGSize", + "printedName": "CoreFoundation.CGSize", + "usr": "c:@S@CGSize" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit14SBUIconSetTypeO6MetricV24defaultIconSizeVerySmallSo6CGSizeVvpZ", + "mangledName": "$s13SendbirdUIKit14SBUIconSetTypeO6MetricV24defaultIconSizeVerySmallSo6CGSizeVvpZ", + "moduleName": "SendbirdUIKit", + "static": true, + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "CGSize", + "printedName": "CoreFoundation.CGSize", + "usr": "c:@S@CGSize" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit14SBUIconSetTypeO6MetricV24defaultIconSizeVerySmallSo6CGSizeVvgZ", + "mangledName": "$s13SendbirdUIKit14SBUIconSetTypeO6MetricV24defaultIconSizeVerySmallSo6CGSizeVvgZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "defaultIconSizeSmall", + "printedName": "defaultIconSizeSmall", + "children": [ + { + "kind": "TypeNominal", + "name": "CGSize", + "printedName": "CoreFoundation.CGSize", + "usr": "c:@S@CGSize" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit14SBUIconSetTypeO6MetricV20defaultIconSizeSmallSo6CGSizeVvpZ", + "mangledName": "$s13SendbirdUIKit14SBUIconSetTypeO6MetricV20defaultIconSizeSmallSo6CGSizeVvpZ", + "moduleName": "SendbirdUIKit", + "static": true, + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "CGSize", + "printedName": "CoreFoundation.CGSize", + "usr": "c:@S@CGSize" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit14SBUIconSetTypeO6MetricV20defaultIconSizeSmallSo6CGSizeVvgZ", + "mangledName": "$s13SendbirdUIKit14SBUIconSetTypeO6MetricV20defaultIconSizeSmallSo6CGSizeVvgZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "defaultIconSizeMedium", + "printedName": "defaultIconSizeMedium", + "children": [ + { + "kind": "TypeNominal", + "name": "CGSize", + "printedName": "CoreFoundation.CGSize", + "usr": "c:@S@CGSize" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit14SBUIconSetTypeO6MetricV21defaultIconSizeMediumSo6CGSizeVvpZ", + "mangledName": "$s13SendbirdUIKit14SBUIconSetTypeO6MetricV21defaultIconSizeMediumSo6CGSizeVvpZ", + "moduleName": "SendbirdUIKit", + "static": true, + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "CGSize", + "printedName": "CoreFoundation.CGSize", + "usr": "c:@S@CGSize" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit14SBUIconSetTypeO6MetricV21defaultIconSizeMediumSo6CGSizeVvgZ", + "mangledName": "$s13SendbirdUIKit14SBUIconSetTypeO6MetricV21defaultIconSizeMediumSo6CGSizeVvgZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "defaultIconSize", + "printedName": "defaultIconSize", + "children": [ + { + "kind": "TypeNominal", + "name": "CGSize", + "printedName": "CoreFoundation.CGSize", + "usr": "c:@S@CGSize" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit14SBUIconSetTypeO6MetricV15defaultIconSizeSo6CGSizeVvpZ", + "mangledName": "$s13SendbirdUIKit14SBUIconSetTypeO6MetricV15defaultIconSizeSo6CGSizeVvpZ", + "moduleName": "SendbirdUIKit", + "static": true, + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "CGSize", + "printedName": "CoreFoundation.CGSize", + "usr": "c:@S@CGSize" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit14SBUIconSetTypeO6MetricV15defaultIconSizeSo6CGSizeVvgZ", + "mangledName": "$s13SendbirdUIKit14SBUIconSetTypeO6MetricV15defaultIconSizeSo6CGSizeVvgZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "defaultIconSizeLarge", + "printedName": "defaultIconSizeLarge", + "children": [ + { + "kind": "TypeNominal", + "name": "CGSize", + "printedName": "CoreFoundation.CGSize", + "usr": "c:@S@CGSize" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit14SBUIconSetTypeO6MetricV20defaultIconSizeLargeSo6CGSizeVvpZ", + "mangledName": "$s13SendbirdUIKit14SBUIconSetTypeO6MetricV20defaultIconSizeLargeSo6CGSizeVvpZ", + "moduleName": "SendbirdUIKit", + "static": true, + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "CGSize", + "printedName": "CoreFoundation.CGSize", + "usr": "c:@S@CGSize" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit14SBUIconSetTypeO6MetricV20defaultIconSizeLargeSo6CGSizeVvgZ", + "mangledName": "$s13SendbirdUIKit14SBUIconSetTypeO6MetricV20defaultIconSizeLargeSo6CGSizeVvgZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "defaultIconSizeVeryLarge", + "printedName": "defaultIconSizeVeryLarge", + "children": [ + { + "kind": "TypeNominal", + "name": "CGSize", + "printedName": "CoreFoundation.CGSize", + "usr": "c:@S@CGSize" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit14SBUIconSetTypeO6MetricV24defaultIconSizeVeryLargeSo6CGSizeVvpZ", + "mangledName": "$s13SendbirdUIKit14SBUIconSetTypeO6MetricV24defaultIconSizeVeryLargeSo6CGSizeVvpZ", + "moduleName": "SendbirdUIKit", + "static": true, + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "CGSize", + "printedName": "CoreFoundation.CGSize", + "usr": "c:@S@CGSize" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit14SBUIconSetTypeO6MetricV24defaultIconSizeVeryLargeSo6CGSizeVvgZ", + "mangledName": "$s13SendbirdUIKit14SBUIconSetTypeO6MetricV24defaultIconSizeVeryLargeSo6CGSizeVvgZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "quotedMessageIconSize", + "printedName": "quotedMessageIconSize", + "children": [ + { + "kind": "TypeNominal", + "name": "CGSize", + "printedName": "CoreFoundation.CGSize", + "usr": "c:@S@CGSize" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit14SBUIconSetTypeO6MetricV21quotedMessageIconSizeSo6CGSizeVvpZ", + "mangledName": "$s13SendbirdUIKit14SBUIconSetTypeO6MetricV21quotedMessageIconSizeSo6CGSizeVvpZ", + "moduleName": "SendbirdUIKit", + "static": true, + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "CGSize", + "printedName": "CoreFoundation.CGSize", + "usr": "c:@S@CGSize" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit14SBUIconSetTypeO6MetricV21quotedMessageIconSizeSo6CGSizeVvgZ", + "mangledName": "$s13SendbirdUIKit14SBUIconSetTypeO6MetricV21quotedMessageIconSizeSo6CGSizeVvgZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "iconActionSheetItem", + "printedName": "iconActionSheetItem", + "children": [ + { + "kind": "TypeNominal", + "name": "CGSize", + "printedName": "CoreFoundation.CGSize", + "usr": "c:@S@CGSize" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit14SBUIconSetTypeO6MetricV19iconActionSheetItemSo6CGSizeVvpZ", + "mangledName": "$s13SendbirdUIKit14SBUIconSetTypeO6MetricV19iconActionSheetItemSo6CGSizeVvpZ", + "moduleName": "SendbirdUIKit", + "static": true, + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "CGSize", + "printedName": "CoreFoundation.CGSize", + "usr": "c:@S@CGSize" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit14SBUIconSetTypeO6MetricV19iconActionSheetItemSo6CGSizeVvgZ", + "mangledName": "$s13SendbirdUIKit14SBUIconSetTypeO6MetricV19iconActionSheetItemSo6CGSizeVvgZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "iconEmojiSmall", + "printedName": "iconEmojiSmall", + "children": [ + { + "kind": "TypeNominal", + "name": "CGSize", + "printedName": "CoreFoundation.CGSize", + "usr": "c:@S@CGSize" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit14SBUIconSetTypeO6MetricV14iconEmojiSmallSo6CGSizeVvpZ", + "mangledName": "$s13SendbirdUIKit14SBUIconSetTypeO6MetricV14iconEmojiSmallSo6CGSizeVvpZ", + "moduleName": "SendbirdUIKit", + "static": true, + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "CGSize", + "printedName": "CoreFoundation.CGSize", + "usr": "c:@S@CGSize" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit14SBUIconSetTypeO6MetricV14iconEmojiSmallSo6CGSizeVvgZ", + "mangledName": "$s13SendbirdUIKit14SBUIconSetTypeO6MetricV14iconEmojiSmallSo6CGSizeVvgZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "iconEmojiLarge", + "printedName": "iconEmojiLarge", + "children": [ + { + "kind": "TypeNominal", + "name": "CGSize", + "printedName": "CoreFoundation.CGSize", + "usr": "c:@S@CGSize" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit14SBUIconSetTypeO6MetricV14iconEmojiLargeSo6CGSizeVvpZ", + "mangledName": "$s13SendbirdUIKit14SBUIconSetTypeO6MetricV14iconEmojiLargeSo6CGSizeVvpZ", + "moduleName": "SendbirdUIKit", + "static": true, + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "CGSize", + "printedName": "CoreFoundation.CGSize", + "usr": "c:@S@CGSize" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit14SBUIconSetTypeO6MetricV14iconEmojiLargeSo6CGSizeVvgZ", + "mangledName": "$s13SendbirdUIKit14SBUIconSetTypeO6MetricV14iconEmojiLargeSo6CGSizeVvgZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "iconEmptyView", + "printedName": "iconEmptyView", + "children": [ + { + "kind": "TypeNominal", + "name": "CGSize", + "printedName": "CoreFoundation.CGSize", + "usr": "c:@S@CGSize" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit14SBUIconSetTypeO6MetricV13iconEmptyViewSo6CGSizeVvpZ", + "mangledName": "$s13SendbirdUIKit14SBUIconSetTypeO6MetricV13iconEmptyViewSo6CGSizeVvpZ", + "moduleName": "SendbirdUIKit", + "static": true, + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "CGSize", + "printedName": "CoreFoundation.CGSize", + "usr": "c:@S@CGSize" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit14SBUIconSetTypeO6MetricV13iconEmptyViewSo6CGSizeVvgZ", + "mangledName": "$s13SendbirdUIKit14SBUIconSetTypeO6MetricV13iconEmptyViewSo6CGSizeVvgZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "iconGifPlay", + "printedName": "iconGifPlay", + "children": [ + { + "kind": "TypeNominal", + "name": "CGSize", + "printedName": "CoreFoundation.CGSize", + "usr": "c:@S@CGSize" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit14SBUIconSetTypeO6MetricV11iconGifPlaySo6CGSizeVvpZ", + "mangledName": "$s13SendbirdUIKit14SBUIconSetTypeO6MetricV11iconGifPlaySo6CGSizeVvpZ", + "moduleName": "SendbirdUIKit", + "static": true, + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "CGSize", + "printedName": "CoreFoundation.CGSize", + "usr": "c:@S@CGSize" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit14SBUIconSetTypeO6MetricV11iconGifPlaySo6CGSizeVvgZ", + "mangledName": "$s13SendbirdUIKit14SBUIconSetTypeO6MetricV11iconGifPlaySo6CGSizeVvgZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "iconSpinnerLarge", + "printedName": "iconSpinnerLarge", + "children": [ + { + "kind": "TypeNominal", + "name": "CGSize", + "printedName": "CoreFoundation.CGSize", + "usr": "c:@S@CGSize" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit14SBUIconSetTypeO6MetricV16iconSpinnerLargeSo6CGSizeVvpZ", + "mangledName": "$s13SendbirdUIKit14SBUIconSetTypeO6MetricV16iconSpinnerLargeSo6CGSizeVvpZ", + "moduleName": "SendbirdUIKit", + "static": true, + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "CGSize", + "printedName": "CoreFoundation.CGSize", + "usr": "c:@S@CGSize" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit14SBUIconSetTypeO6MetricV16iconSpinnerLargeSo6CGSizeVvgZ", + "mangledName": "$s13SendbirdUIKit14SBUIconSetTypeO6MetricV16iconSpinnerLargeSo6CGSizeVvgZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "iconSpinnerSizeForTemplate", + "printedName": "iconSpinnerSizeForTemplate", + "children": [ + { + "kind": "TypeNominal", + "name": "CGSize", + "printedName": "CoreFoundation.CGSize", + "usr": "c:@S@CGSize" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit14SBUIconSetTypeO6MetricV26iconSpinnerSizeForTemplateSo6CGSizeVvpZ", + "mangledName": "$s13SendbirdUIKit14SBUIconSetTypeO6MetricV26iconSpinnerSizeForTemplateSo6CGSizeVvpZ", + "moduleName": "SendbirdUIKit", + "static": true, + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "CGSize", + "printedName": "CoreFoundation.CGSize", + "usr": "c:@S@CGSize" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit14SBUIconSetTypeO6MetricV26iconSpinnerSizeForTemplateSo6CGSizeVvgZ", + "mangledName": "$s13SendbirdUIKit14SBUIconSetTypeO6MetricV26iconSpinnerSizeForTemplateSo6CGSizeVvgZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "iconUserProfile", + "printedName": "iconUserProfile", + "children": [ + { + "kind": "TypeNominal", + "name": "CGSize", + "printedName": "CoreFoundation.CGSize", + "usr": "c:@S@CGSize" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit14SBUIconSetTypeO6MetricV15iconUserProfileSo6CGSizeVvpZ", + "mangledName": "$s13SendbirdUIKit14SBUIconSetTypeO6MetricV15iconUserProfileSo6CGSizeVvpZ", + "moduleName": "SendbirdUIKit", + "static": true, + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "CGSize", + "printedName": "CoreFoundation.CGSize", + "usr": "c:@S@CGSize" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit14SBUIconSetTypeO6MetricV15iconUserProfileSo6CGSizeVvgZ", + "mangledName": "$s13SendbirdUIKit14SBUIconSetTypeO6MetricV15iconUserProfileSo6CGSizeVvgZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "iconUserProfileInChat", + "printedName": "iconUserProfileInChat", + "children": [ + { + "kind": "TypeNominal", + "name": "CGSize", + "printedName": "CoreFoundation.CGSize", + "usr": "c:@S@CGSize" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit14SBUIconSetTypeO6MetricV21iconUserProfileInChatSo6CGSizeVvpZ", + "mangledName": "$s13SendbirdUIKit14SBUIconSetTypeO6MetricV21iconUserProfileInChatSo6CGSizeVvpZ", + "moduleName": "SendbirdUIKit", + "static": true, + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "CGSize", + "printedName": "CoreFoundation.CGSize", + "usr": "c:@S@CGSize" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit14SBUIconSetTypeO6MetricV21iconUserProfileInChatSo6CGSizeVvgZ", + "mangledName": "$s13SendbirdUIKit14SBUIconSetTypeO6MetricV21iconUserProfileInChatSo6CGSizeVvgZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "iconChevronDown", + "printedName": "iconChevronDown", + "children": [ + { + "kind": "TypeNominal", + "name": "CGSize", + "printedName": "CoreFoundation.CGSize", + "usr": "c:@S@CGSize" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit14SBUIconSetTypeO6MetricV15iconChevronDownSo6CGSizeVvpZ", + "mangledName": "$s13SendbirdUIKit14SBUIconSetTypeO6MetricV15iconChevronDownSo6CGSizeVvpZ", + "moduleName": "SendbirdUIKit", + "static": true, + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "CGSize", + "printedName": "CoreFoundation.CGSize", + "usr": "c:@S@CGSize" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit14SBUIconSetTypeO6MetricV15iconChevronDownSo6CGSizeVvgZ", + "mangledName": "$s13SendbirdUIKit14SBUIconSetTypeO6MetricV15iconChevronDownSo6CGSizeVvgZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "iconVoiceMessageSize", + "printedName": "iconVoiceMessageSize", + "children": [ + { + "kind": "TypeNominal", + "name": "CGSize", + "printedName": "CoreFoundation.CGSize", + "usr": "c:@S@CGSize" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit14SBUIconSetTypeO6MetricV20iconVoiceMessageSizeSo6CGSizeVvpZ", + "mangledName": "$s13SendbirdUIKit14SBUIconSetTypeO6MetricV20iconVoiceMessageSizeSo6CGSizeVvpZ", + "moduleName": "SendbirdUIKit", + "static": true, + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "CGSize", + "printedName": "CoreFoundation.CGSize", + "usr": "c:@S@CGSize" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit14SBUIconSetTypeO6MetricV20iconVoiceMessageSizeSo6CGSizeVvgZ", + "mangledName": "$s13SendbirdUIKit14SBUIconSetTypeO6MetricV20iconVoiceMessageSizeSo6CGSizeVvgZ", + "moduleName": "SendbirdUIKit", + "static": true, + "implicit": true, + "accessorKind": "get" + } + ] + } + ], + "declKind": "Struct", + "usr": "s:13SendbirdUIKit14SBUIconSetTypeO6MetricV", + "mangledName": "$s13SendbirdUIKit14SBUIconSetTypeO6MetricV", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ] + }, + { + "kind": "Function", + "name": "image", + "printedName": "image(with:to:tintAndResize:)", + "children": [ + { + "kind": "TypeNominal", + "name": "UIImage", + "printedName": "UIKit.UIImage", + "usr": "c:objc(cs)UIImage" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "UIKit.UIColor?", + "children": [ + { + "kind": "TypeNominal", + "name": "UIColor", + "printedName": "UIKit.UIColor", + "usr": "c:objc(cs)UIColor" + } + ], + "hasDefaultArg": true, + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "CGSize", + "printedName": "CoreFoundation.CGSize", + "usr": "c:@S@CGSize" + }, + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "hasDefaultArg": true, + "usr": "s:Sb" + } + ], + "declKind": "Func", + "usr": "s:13SendbirdUIKit14SBUIconSetTypeO5image4with2to13tintAndResizeSo7UIImageCSo7UIColorCSg_So6CGSizeVSbtF", + "mangledName": "$s13SendbirdUIKit14SBUIconSetTypeO5image4with2to13tintAndResizeSo7UIImageCSo7UIColorCSg_So6CGSizeVSbtF", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, { "kind": "Constructor", "name": "init", @@ -240302,17 +247518,24 @@ { "kind": "Function", "name": "reloadTableView", - "printedName": "reloadTableView()", + "printedName": "reloadTableView(needsToLayout:)", "children": [ { "kind": "TypeNominal", "name": "Void", "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "hasDefaultArg": true, + "usr": "s:Sb" } ], "declKind": "Func", - "usr": "s:13SendbirdUIKit20SBUBaseChannelModuleC4ListC15reloadTableViewyyF", - "mangledName": "$s13SendbirdUIKit20SBUBaseChannelModuleC4ListC15reloadTableViewyyF", + "usr": "s:13SendbirdUIKit20SBUBaseChannelModuleC4ListC15reloadTableView13needsToLayoutySb_tF", + "mangledName": "$s13SendbirdUIKit20SBUBaseChannelModuleC4ListC15reloadTableView13needsToLayoutySb_tF", "moduleName": "SendbirdUIKit", "declAttributes": [ "Custom", @@ -245789,516 +253012,6 @@ "RawDocComment" ] }, - { - "kind": "Import", - "name": "UIKit", - "printedName": "UIKit", - "declKind": "Import", - "moduleName": "SendbirdUIKit", - "declAttributes": [ - "RawDocComment" - ] - }, - { - "kind": "TypeDecl", - "name": "SBUPaddingLabel", - "printedName": "SBUPaddingLabel", - "children": [ - { - "kind": "Var", - "name": "top", - "printedName": "top", - "children": [ - { - "kind": "TypeNominal", - "name": "CGFloat", - "printedName": "CoreGraphics.CGFloat", - "usr": "s:14CoreFoundation7CGFloatV" - } - ], - "declKind": "Var", - "usr": "s:13SendbirdUIKit15SBUPaddingLabelC3top14CoreFoundation7CGFloatVvp", - "mangledName": "$s13SendbirdUIKit15SBUPaddingLabelC3top12CoreGraphics7CGFloatVvp", - "moduleName": "SendbirdUIKit", - "declAttributes": [ - "Custom", - "HasStorage", - "SetterAccess", - "AccessControl" - ], - "hasStorage": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "CGFloat", - "printedName": "CoreGraphics.CGFloat", - "usr": "s:14CoreFoundation7CGFloatV" - } - ], - "declKind": "Accessor", - "usr": "s:13SendbirdUIKit15SBUPaddingLabelC3top14CoreFoundation7CGFloatVvg", - "mangledName": "$s13SendbirdUIKit15SBUPaddingLabelC3top12CoreGraphics7CGFloatVvg", - "moduleName": "SendbirdUIKit", - "implicit": true, - "accessorKind": "get" - } - ] - }, - { - "kind": "Var", - "name": "bottom", - "printedName": "bottom", - "children": [ - { - "kind": "TypeNominal", - "name": "CGFloat", - "printedName": "CoreGraphics.CGFloat", - "usr": "s:14CoreFoundation7CGFloatV" - } - ], - "declKind": "Var", - "usr": "s:13SendbirdUIKit15SBUPaddingLabelC6bottom14CoreFoundation7CGFloatVvp", - "mangledName": "$s13SendbirdUIKit15SBUPaddingLabelC6bottom12CoreGraphics7CGFloatVvp", - "moduleName": "SendbirdUIKit", - "declAttributes": [ - "Custom", - "HasStorage", - "SetterAccess", - "AccessControl" - ], - "hasStorage": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "CGFloat", - "printedName": "CoreGraphics.CGFloat", - "usr": "s:14CoreFoundation7CGFloatV" - } - ], - "declKind": "Accessor", - "usr": "s:13SendbirdUIKit15SBUPaddingLabelC6bottom14CoreFoundation7CGFloatVvg", - "mangledName": "$s13SendbirdUIKit15SBUPaddingLabelC6bottom12CoreGraphics7CGFloatVvg", - "moduleName": "SendbirdUIKit", - "implicit": true, - "accessorKind": "get" - } - ] - }, - { - "kind": "Var", - "name": "leading", - "printedName": "leading", - "children": [ - { - "kind": "TypeNominal", - "name": "CGFloat", - "printedName": "CoreGraphics.CGFloat", - "usr": "s:14CoreFoundation7CGFloatV" - } - ], - "declKind": "Var", - "usr": "s:13SendbirdUIKit15SBUPaddingLabelC7leading14CoreFoundation7CGFloatVvp", - "mangledName": "$s13SendbirdUIKit15SBUPaddingLabelC7leading12CoreGraphics7CGFloatVvp", - "moduleName": "SendbirdUIKit", - "declAttributes": [ - "Custom", - "HasStorage", - "SetterAccess", - "AccessControl" - ], - "hasStorage": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "CGFloat", - "printedName": "CoreGraphics.CGFloat", - "usr": "s:14CoreFoundation7CGFloatV" - } - ], - "declKind": "Accessor", - "usr": "s:13SendbirdUIKit15SBUPaddingLabelC7leading14CoreFoundation7CGFloatVvg", - "mangledName": "$s13SendbirdUIKit15SBUPaddingLabelC7leading12CoreGraphics7CGFloatVvg", - "moduleName": "SendbirdUIKit", - "implicit": true, - "accessorKind": "get" - } - ] - }, - { - "kind": "Var", - "name": "trailing", - "printedName": "trailing", - "children": [ - { - "kind": "TypeNominal", - "name": "CGFloat", - "printedName": "CoreGraphics.CGFloat", - "usr": "s:14CoreFoundation7CGFloatV" - } - ], - "declKind": "Var", - "usr": "s:13SendbirdUIKit15SBUPaddingLabelC8trailing14CoreFoundation7CGFloatVvp", - "mangledName": "$s13SendbirdUIKit15SBUPaddingLabelC8trailing12CoreGraphics7CGFloatVvp", - "moduleName": "SendbirdUIKit", - "declAttributes": [ - "Custom", - "HasStorage", - "SetterAccess", - "AccessControl" - ], - "hasStorage": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "CGFloat", - "printedName": "CoreGraphics.CGFloat", - "usr": "s:14CoreFoundation7CGFloatV" - } - ], - "declKind": "Accessor", - "usr": "s:13SendbirdUIKit15SBUPaddingLabelC8trailing14CoreFoundation7CGFloatVvg", - "mangledName": "$s13SendbirdUIKit15SBUPaddingLabelC8trailing12CoreGraphics7CGFloatVvg", - "moduleName": "SendbirdUIKit", - "implicit": true, - "accessorKind": "get" - } - ] - }, - { - "kind": "Constructor", - "name": "init", - "printedName": "init(_:)", - "children": [ - { - "kind": "TypeNominal", - "name": "SBUPaddingLabel", - "printedName": "SendbirdUIKit.SBUPaddingLabel", - "usr": "c:@M@SendbirdUIKit@objc(cs)SBUPaddingLabel" - }, - { - "kind": "TypeNominal", - "name": "CGFloat", - "printedName": "CoreGraphics.CGFloat", - "usr": "s:14CoreFoundation7CGFloatV" - } - ], - "declKind": "Constructor", - "usr": "s:13SendbirdUIKit15SBUPaddingLabelCyAC14CoreFoundation7CGFloatVcfc", - "mangledName": "$s13SendbirdUIKit15SBUPaddingLabelCyAC12CoreGraphics7CGFloatVcfc", - "moduleName": "SendbirdUIKit", - "declAttributes": [ - "Custom", - "Convenience", - "AccessControl" - ], - "init_kind": "Convenience" - }, - { - "kind": "Constructor", - "name": "init", - "printedName": "init(_:_:)", - "children": [ - { - "kind": "TypeNominal", - "name": "SBUPaddingLabel", - "printedName": "SendbirdUIKit.SBUPaddingLabel", - "usr": "c:@M@SendbirdUIKit@objc(cs)SBUPaddingLabel" - }, - { - "kind": "TypeNominal", - "name": "CGFloat", - "printedName": "CoreGraphics.CGFloat", - "usr": "s:14CoreFoundation7CGFloatV" - }, - { - "kind": "TypeNominal", - "name": "CGFloat", - "printedName": "CoreGraphics.CGFloat", - "usr": "s:14CoreFoundation7CGFloatV" - } - ], - "declKind": "Constructor", - "usr": "s:13SendbirdUIKit15SBUPaddingLabelCyAC14CoreFoundation7CGFloatV_AFtcfc", - "mangledName": "$s13SendbirdUIKit15SBUPaddingLabelCyAC12CoreGraphics7CGFloatV_AFtcfc", - "moduleName": "SendbirdUIKit", - "declAttributes": [ - "Custom", - "Convenience", - "AccessControl" - ], - "init_kind": "Convenience" - }, - { - "kind": "Constructor", - "name": "init", - "printedName": "init(_:_:_:_:)", - "children": [ - { - "kind": "TypeNominal", - "name": "SBUPaddingLabel", - "printedName": "SendbirdUIKit.SBUPaddingLabel", - "usr": "c:@M@SendbirdUIKit@objc(cs)SBUPaddingLabel" - }, - { - "kind": "TypeNominal", - "name": "CGFloat", - "printedName": "CoreGraphics.CGFloat", - "hasDefaultArg": true, - "usr": "s:14CoreFoundation7CGFloatV" - }, - { - "kind": "TypeNominal", - "name": "CGFloat", - "printedName": "CoreGraphics.CGFloat", - "hasDefaultArg": true, - "usr": "s:14CoreFoundation7CGFloatV" - }, - { - "kind": "TypeNominal", - "name": "CGFloat", - "printedName": "CoreGraphics.CGFloat", - "hasDefaultArg": true, - "usr": "s:14CoreFoundation7CGFloatV" - }, - { - "kind": "TypeNominal", - "name": "CGFloat", - "printedName": "CoreGraphics.CGFloat", - "hasDefaultArg": true, - "usr": "s:14CoreFoundation7CGFloatV" - } - ], - "declKind": "Constructor", - "usr": "s:13SendbirdUIKit15SBUPaddingLabelCyAC14CoreFoundation7CGFloatV_A3Ftcfc", - "mangledName": "$s13SendbirdUIKit15SBUPaddingLabelCyAC12CoreGraphics7CGFloatV_A3Ftcfc", - "moduleName": "SendbirdUIKit", - "declAttributes": [ - "Custom", - "AccessControl" - ], - "init_kind": "Designated" - }, - { - "kind": "Function", - "name": "drawText", - "printedName": "drawText(in:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "CGRect", - "printedName": "CoreFoundation.CGRect", - "usr": "c:@S@CGRect" - } - ], - "declKind": "Func", - "usr": "c:@M@SendbirdUIKit@objc(cs)SBUPaddingLabel(im)drawTextInRect:", - "mangledName": "$s13SendbirdUIKit15SBUPaddingLabelC8drawText2inySo6CGRectV_tF", - "moduleName": "SendbirdUIKit", - "overriding": true, - "objc_name": "drawTextInRect:", - "declAttributes": [ - "Dynamic", - "ObjC", - "Custom", - "Override", - "AccessControl" - ], - "funcSelfKind": "NonMutating" - }, - { - "kind": "Var", - "name": "intrinsicContentSize", - "printedName": "intrinsicContentSize", - "children": [ - { - "kind": "TypeNominal", - "name": "CGSize", - "printedName": "CoreFoundation.CGSize", - "usr": "c:@S@CGSize" - } - ], - "declKind": "Var", - "usr": "c:@M@SendbirdUIKit@objc(cs)SBUPaddingLabel(py)intrinsicContentSize", - "mangledName": "$s13SendbirdUIKit15SBUPaddingLabelC20intrinsicContentSizeSo6CGSizeVvp", - "moduleName": "SendbirdUIKit", - "overriding": true, - "objc_name": "intrinsicContentSize", - "declAttributes": [ - "Dynamic", - "ObjC", - "Custom", - "Override", - "AccessControl" - ], - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "CGSize", - "printedName": "CoreFoundation.CGSize", - "usr": "c:@S@CGSize" - } - ], - "declKind": "Accessor", - "usr": "c:@M@SendbirdUIKit@objc(cs)SBUPaddingLabel(im)intrinsicContentSize", - "mangledName": "$s13SendbirdUIKit15SBUPaddingLabelC20intrinsicContentSizeSo6CGSizeVvg", - "moduleName": "SendbirdUIKit", - "overriding": true, - "objc_name": "intrinsicContentSize", - "declAttributes": [ - "Dynamic", - "ObjC" - ], - "accessorKind": "get" - } - ] - }, - { - "kind": "Constructor", - "name": "init", - "printedName": "init(frame:)", - "children": [ - { - "kind": "TypeNominal", - "name": "SBUPaddingLabel", - "printedName": "SendbirdUIKit.SBUPaddingLabel", - "usr": "c:@M@SendbirdUIKit@objc(cs)SBUPaddingLabel" - }, - { - "kind": "TypeNominal", - "name": "CGRect", - "printedName": "CoreFoundation.CGRect", - "usr": "c:@S@CGRect" - } - ], - "declKind": "Constructor", - "usr": "c:@M@SendbirdUIKit@objc(cs)SBUPaddingLabel(im)initWithFrame:", - "mangledName": "$s13SendbirdUIKit15SBUPaddingLabelC5frameACSo6CGRectV_tcfc", - "moduleName": "SendbirdUIKit", - "overriding": true, - "implicit": true, - "objc_name": "initWithFrame:", - "declAttributes": [ - "Dynamic", - "ObjC", - "Custom", - "Override" - ], - "init_kind": "Designated" - } - ], - "declKind": "Class", - "usr": "c:@M@SendbirdUIKit@objc(cs)SBUPaddingLabel", - "mangledName": "$s13SendbirdUIKit15SBUPaddingLabelC", - "moduleName": "SendbirdUIKit", - "declAttributes": [ - "Custom", - "AccessControl", - "ObjC" - ], - "superclassUsr": "c:objc(cs)UILabel", - "hasMissingDesignatedInitializers": true, - "superclassNames": [ - "UIKit.UILabel", - "UIKit.UIView", - "UIKit.UIResponder", - "ObjectiveC.NSObject" - ], - "conformances": [ - { - "kind": "Conformance", - "name": "Equatable", - "printedName": "Equatable", - "usr": "s:SQ", - "mangledName": "$sSQ" - }, - { - "kind": "Conformance", - "name": "Hashable", - "printedName": "Hashable", - "usr": "s:SH", - "mangledName": "$sSH" - }, - { - "kind": "Conformance", - "name": "CVarArg", - "printedName": "CVarArg", - "usr": "s:s7CVarArgP", - "mangledName": "$ss7CVarArgP" - }, - { - "kind": "Conformance", - "name": "_KeyValueCodingAndObservingPublishing", - "printedName": "_KeyValueCodingAndObservingPublishing", - "usr": "s:10Foundation37_KeyValueCodingAndObservingPublishingP", - "mangledName": "$s10Foundation37_KeyValueCodingAndObservingPublishingP" - }, - { - "kind": "Conformance", - "name": "_KeyValueCodingAndObserving", - "printedName": "_KeyValueCodingAndObserving", - "usr": "s:10Foundation27_KeyValueCodingAndObservingP", - "mangledName": "$s10Foundation27_KeyValueCodingAndObservingP" - }, - { - "kind": "Conformance", - "name": "CustomStringConvertible", - "printedName": "CustomStringConvertible", - "usr": "s:s23CustomStringConvertibleP", - "mangledName": "$ss23CustomStringConvertibleP" - }, - { - "kind": "Conformance", - "name": "CustomDebugStringConvertible", - "printedName": "CustomDebugStringConvertible", - "usr": "s:s28CustomDebugStringConvertibleP", - "mangledName": "$ss28CustomDebugStringConvertibleP" - }, - { - "kind": "Conformance", - "name": "Sendable", - "printedName": "Sendable", - "usr": "s:s8SendableP", - "mangledName": "$ss8SendableP" - }, - { - "kind": "Conformance", - "name": "__DefaultCustomPlaygroundQuickLookable", - "printedName": "__DefaultCustomPlaygroundQuickLookable", - "usr": "s:s38__DefaultCustomPlaygroundQuickLookableP", - "mangledName": "$ss38__DefaultCustomPlaygroundQuickLookableP" - } - ] - }, { "kind": "Import", "name": "CoreGraphics", @@ -258351,6 +265064,13 @@ "declKind": "Import", "moduleName": "SendbirdUIKit" }, + { + "kind": "Import", + "name": "PhotosUI", + "printedName": "PhotosUI", + "declKind": "Import", + "moduleName": "SendbirdUIKit" + }, { "kind": "TypeDecl", "name": "SBUMessageThreadViewControllerDelegate", @@ -259553,6 +266273,45 @@ ], "funcSelfKind": "NonMutating" }, + { + "kind": "Function", + "name": "viewWillTransition", + "printedName": "viewWillTransition(to:with:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "CGSize", + "printedName": "CoreFoundation.CGSize", + "usr": "c:@S@CGSize" + }, + { + "kind": "TypeNominal", + "name": "UIViewControllerTransitionCoordinator", + "printedName": "UIKit.UIViewControllerTransitionCoordinator", + "usr": "c:objc(pl)UIViewControllerTransitionCoordinator" + } + ], + "declKind": "Func", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMessageThreadViewController(im)viewWillTransitionToSize:withTransitionCoordinator:", + "mangledName": "$s13SendbirdUIKit30SBUMessageThreadViewControllerC18viewWillTransition2to4withySo6CGSizeV_So06UIViewfI11Coordinator_ptF", + "moduleName": "SendbirdUIKit", + "overriding": true, + "isOpen": true, + "objc_name": "viewWillTransitionToSize:withTransitionCoordinator:", + "declAttributes": [ + "Dynamic", + "ObjC", + "Custom", + "Override", + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, { "kind": "Function", "name": "applicationWillResignActivity", @@ -259797,6 +266556,38 @@ ], "funcSelfKind": "NonMutating" }, + { + "kind": "Function", + "name": "updateStyles", + "printedName": "updateStyles(needsToLayout:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Func", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMessageThreadViewController(im)updateStylesWithNeedsToLayout:", + "mangledName": "$s13SendbirdUIKit30SBUMessageThreadViewControllerC12updateStyles13needsToLayoutySb_tF", + "moduleName": "SendbirdUIKit", + "overriding": true, + "isOpen": true, + "objc_name": "updateStylesWithNeedsToLayout:", + "declAttributes": [ + "ObjC", + "Custom", + "Override", + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, { "kind": "Function", "name": "updateStyles", @@ -259900,6 +266691,53 @@ ], "funcSelfKind": "NonMutating" }, + { + "kind": "Function", + "name": "picker", + "printedName": "picker(_:didFinishPicking:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "PHPickerViewController", + "printedName": "PhotosUI.PHPickerViewController", + "usr": "c:objc(cs)PHPickerViewController" + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[PhotosUI.PHPickerResult]", + "children": [ + { + "kind": "TypeNominal", + "name": "PHPickerResult", + "printedName": "PhotosUI.PHPickerResult", + "usr": "s:8PhotosUI14PHPickerResultV" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Func", + "usr": "s:13SendbirdUIKit30SBUMessageThreadViewControllerC6picker_16didFinishPickingySo08PHPickereF0C_Say8PhotosUI0K6ResultVGtF", + "mangledName": "$s13SendbirdUIKit30SBUMessageThreadViewControllerC6picker_16didFinishPickingySo08PHPickereF0C_Say8PhotosUI0K6ResultVGtF", + "moduleName": "SendbirdUIKit", + "overriding": true, + "isOpen": true, + "intro_iOS": "14", + "declAttributes": [ + "Custom", + "AccessControl", + "Override", + "Available", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, { "kind": "Function", "name": "showVoiceMessageInput", @@ -260152,6 +266990,47 @@ ], "funcSelfKind": "NonMutating" }, + { + "kind": "Function", + "name": "messageThreadViewModel", + "printedName": "messageThreadViewModel(_:didFinishUploadingFileAt:multipleFilesMessageRequestId:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "SBUMessageThreadViewModel", + "printedName": "SendbirdUIKit.SBUMessageThreadViewModel", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMessageThreadViewModel" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Func", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMessageThreadViewController(im)messageThreadViewModel:didFinishUploadingFileAt:multipleFilesMessageRequestId:", + "mangledName": "$s13SendbirdUIKit30SBUMessageThreadViewControllerC07messagedE5Model_24didFinishUploadingFileAt29multipleFilesMessageRequestIdyAA0cdeH0C_SiSStF", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "Custom", + "AccessControl", + "RawDocComment", + "ObjC" + ], + "funcSelfKind": "NonMutating" + }, { "kind": "Function", "name": "baseChannelModule", @@ -260436,6 +267315,100 @@ ], "funcSelfKind": "NonMutating" }, + { + "kind": "Function", + "name": "messageThreadModule", + "printedName": "messageThreadModule(_:didSelectFileAt:multipleFilesMessageCell:forRowAt:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "List", + "printedName": "SendbirdUIKit.SBUMessageThreadModule.List", + "usr": "s:13SendbirdUIKit22SBUMessageThreadModuleC4ListC" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "SBUMultipleFilesMessageCell", + "printedName": "SendbirdUIKit.SBUMultipleFilesMessageCell", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCell" + }, + { + "kind": "TypeNominal", + "name": "IndexPath", + "printedName": "Foundation.IndexPath", + "usr": "s:10Foundation9IndexPathV" + } + ], + "declKind": "Func", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMessageThreadViewController(im)messageThreadModule:didSelectFileAt:multipleFilesMessageCell:forRowAt:", + "mangledName": "$s13SendbirdUIKit30SBUMessageThreadViewControllerC07messageD6Module_15didSelectFileAt24multipleFilesMessageCell06forRowL0yAA0cdH0C4ListC_SiAA011SBUMultiplenoP0C10Foundation9IndexPathVtF", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "Custom", + "AccessControl", + "RawDocComment", + "ObjC" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "messageThreadModule", + "printedName": "messageThreadModule(_:uploadedFileInfo:message:index:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "List", + "printedName": "SendbirdUIKit.SBUMessageThreadModule.List", + "usr": "s:13SendbirdUIKit22SBUMessageThreadModuleC4ListC" + }, + { + "kind": "TypeNominal", + "name": "UploadedFileInfo", + "printedName": "SendbirdChatSDK.UploadedFileInfo", + "usr": "c:@M@SendbirdChatSDK@objc(cs)SBDUploadedFileInfo" + }, + { + "kind": "TypeNominal", + "name": "MultipleFilesMessage", + "printedName": "SendbirdChatSDK.MultipleFilesMessage", + "usr": "c:@M@SendbirdChatSDK@objc(cs)SBDMultipleFilesMessage" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Func", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMessageThreadViewController(im)messageThreadModule:uploadedFileInfo:message:index:", + "mangledName": "$s13SendbirdUIKit30SBUMessageThreadViewControllerC07messageD6Module_16uploadedFileInfo0G05indexyAA0cdH0C4ListC_0A7ChatSDK08UploadedjK0CAL20MultipleFilesMessageCSitF", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "Custom", + "AccessControl", + "RawDocComment", + "ObjC" + ], + "funcSelfKind": "NonMutating" + }, { "kind": "Function", "name": "baseChannelModule", @@ -260680,7 +267653,7 @@ { "kind": "Function", "name": "messageThreadModule", - "printedName": "messageThreadModule(_:didTapSend:mentionedMessageTemplate:mentionedUserIds:parentMessage:)", + "printedName": "messageThreadModule(_:didPickMultipleFiles:parentMessage:)", "children": [ { "kind": "TypeNominal", @@ -260693,55 +267666,35 @@ "printedName": "SendbirdUIKit.SBUMessageThreadModule.Input", "usr": "s:13SendbirdUIKit22SBUMessageThreadModuleC5InputC" }, - { - "kind": "TypeNominal", - "name": "String", - "printedName": "Swift.String", - "usr": "s:SS" - }, - { - "kind": "TypeNominal", - "name": "String", - "printedName": "Swift.String", - "usr": "s:SS" - }, { "kind": "TypeNominal", "name": "Array", - "printedName": "[Swift.String]", + "printedName": "[SendbirdChatSDK.UploadableFileInfo]", "children": [ { "kind": "TypeNominal", - "name": "String", - "printedName": "Swift.String", - "usr": "s:SS" + "name": "UploadableFileInfo", + "printedName": "SendbirdChatSDK.UploadableFileInfo", + "usr": "c:@M@SendbirdChatSDK@objc(cs)SBDUploadableFileInfo" } ], "usr": "s:Sa" }, { "kind": "TypeNominal", - "name": "Optional", - "printedName": "SendbirdChatSDK.BaseMessage?", - "children": [ - { - "kind": "TypeNominal", - "name": "BaseMessage", - "printedName": "SendbirdChatSDK.BaseMessage", - "usr": "c:@M@SendbirdChatSDK@objc(cs)SBDBaseMessage" - } - ], - "usr": "s:Sq" + "name": "BaseMessage", + "printedName": "SendbirdChatSDK.BaseMessage", + "usr": "c:@M@SendbirdChatSDK@objc(cs)SBDBaseMessage" } ], "declKind": "Func", - "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMessageThreadViewController(im)messageThreadModule:didTapSend:mentionedMessageTemplate:mentionedUserIds:parentMessage:", - "mangledName": "$s13SendbirdUIKit30SBUMessageThreadViewControllerC07messageD6Module_10didTapSend24mentionedMessageTemplate0L7UserIds06parentM0yAA0cdH0C5InputC_S2SSaySSG0A7ChatSDK04BaseM0CSgtF", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMessageThreadViewController(im)messageThreadModule:didPickMultipleFiles:parentMessage:", + "mangledName": "$s13SendbirdUIKit30SBUMessageThreadViewControllerC07messageD6Module_20didPickMultipleFiles13parentMessageyAA0cdH0C5InputC_Say0A7ChatSDK18UploadableFileInfoCGAK04BaseN0CtF", "moduleName": "SendbirdUIKit", - "isOpen": true, "declAttributes": [ "Custom", "AccessControl", + "RawDocComment", "ObjC" ], "funcSelfKind": "NonMutating" @@ -260749,7 +267702,76 @@ { "kind": "Function", "name": "messageThreadModule", - "printedName": "messageThreadModule(_:didTapEdit:mentionedMessageTemplate:mentionedUserIds:)", + "printedName": "messageThreadModule(_:didTapSend:mentionedMessageTemplate:mentionedUserIds:parentMessage:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Input", + "printedName": "SendbirdUIKit.SBUMessageThreadModule.Input", + "usr": "s:13SendbirdUIKit22SBUMessageThreadModuleC5InputC" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.String]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "usr": "s:Sa" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "SendbirdChatSDK.BaseMessage?", + "children": [ + { + "kind": "TypeNominal", + "name": "BaseMessage", + "printedName": "SendbirdChatSDK.BaseMessage", + "usr": "c:@M@SendbirdChatSDK@objc(cs)SBDBaseMessage" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Func", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMessageThreadViewController(im)messageThreadModule:didTapSend:mentionedMessageTemplate:mentionedUserIds:parentMessage:", + "mangledName": "$s13SendbirdUIKit30SBUMessageThreadViewControllerC07messageD6Module_10didTapSend24mentionedMessageTemplate0L7UserIds06parentM0yAA0cdH0C5InputC_S2SSaySSG0A7ChatSDK04BaseM0CSgtF", + "moduleName": "SendbirdUIKit", + "isOpen": true, + "declAttributes": [ + "Custom", + "AccessControl", + "ObjC" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "messageThreadModule", + "printedName": "messageThreadModule(_:didTapEdit:mentionedMessageTemplate:mentionedUserIds:)", "children": [ { "kind": "TypeNominal", @@ -261852,6 +268874,19 @@ "AccessControl" ] }, + { + "kind": "TypeDecl", + "name": "SBUFileData", + "printedName": "SBUFileData", + "declKind": "Struct", + "usr": "s:13SendbirdUIKit11SBUFileDataV", + "mangledName": "$s13SendbirdUIKit11SBUFileDataV", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ] + }, { "kind": "TypeDecl", "name": "SBUFileViewController", @@ -262528,50 +269563,54 @@ "moduleName": "SendbirdUIKit", "declAttributes": [ "Custom", + "Convenience", "AccessControl", "Required", "RawDocComment" ], - "init_kind": "Designated" + "init_kind": "Convenience" }, { "kind": "Constructor", "name": "init", - "printedName": "init(coder:)", + "printedName": "init(fileData:delegate:)", "children": [ + { + "kind": "TypeNominal", + "name": "SBUFileViewController", + "printedName": "SendbirdUIKit.SBUFileViewController", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUFileViewController" + }, + { + "kind": "TypeNominal", + "name": "SBUFileData", + "printedName": "SendbirdUIKit.SBUFileData", + "usr": "s:13SendbirdUIKit11SBUFileDataV" + }, { "kind": "TypeNominal", "name": "Optional", - "printedName": "SendbirdUIKit.SBUFileViewController?", + "printedName": "SendbirdUIKit.SBUFileViewControllerDelegate?", "children": [ { "kind": "TypeNominal", - "name": "SBUFileViewController", - "printedName": "SendbirdUIKit.SBUFileViewController", - "usr": "c:@M@SendbirdUIKit@objc(cs)SBUFileViewController" + "name": "SBUFileViewControllerDelegate", + "printedName": "SendbirdUIKit.SBUFileViewControllerDelegate", + "usr": "s:13SendbirdUIKit29SBUFileViewControllerDelegateP" } ], "usr": "s:Sq" - }, - { - "kind": "TypeNominal", - "name": "NSCoder", - "printedName": "Foundation.NSCoder", - "usr": "c:objc(cs)NSCoder" } ], "declKind": "Constructor", - "usr": "c:@M@SendbirdUIKit@objc(cs)SBUFileViewController(im)initWithCoder:", - "mangledName": "$s13SendbirdUIKit21SBUFileViewControllerC5coderACSgSo7NSCoderC_tcfc", + "usr": "s:13SendbirdUIKit21SBUFileViewControllerC8fileData8delegateAcA0cG0V_AA0cdE8Delegate_pSgtcfc", + "mangledName": "$s13SendbirdUIKit21SBUFileViewControllerC8fileData8delegateAcA0cG0V_AA0cdE8Delegate_pSgtcfc", "moduleName": "SendbirdUIKit", - "overriding": true, - "objc_name": "initWithCoder:", "declAttributes": [ - "Dynamic", - "ObjC", "Custom", "AccessControl", - "Required" + "Required", + "RawDocComment" ], "init_kind": "Designated" }, @@ -284287,7 +291326,7 @@ { "kind": "Constructor", "name": "init", - "printedName": "init(backgroundColor:leftBackgroundColor:leftPressedBackgroundColor:rightBackgroundColor:rightPressedBackgroundColor:openChannelBackgroundColor:openChannelPressedBackgroundColor:dateFont:dateTextColor:dateBackgroundColor:userPlaceholderBackgroundColor:userPlaceholderTintColor:userNameFont:userNameTextColor:currentUserNameTextColor:timeFont:timeTextColor:pendingStateColor:failedStateColor:succeededStateColor:readReceiptStateColor:deliveryReceiptStateColor:userMessageFont:userMessageLeftTextColor:userMessageLeftEditTextColor:userMessageLeftHighlightTextColor:userMessageRightTextColor:userMessageRightEditTextColor:userMessageRightHighlightTextColor:fileIconBackgroundColor:fileImageBackgroundColor:fileImageIconColor:fileIconColor:fileMessageNameFont:fileMessageLeftTextColor:fileMessageRightTextColor:fileMessagePlaceholderColor:adminMessageFont:adminMessageTextColor:unknownMessageDescFont:unknownMessageDescLeftTextColor:unknownMessageDescRightTextColor:ogTitleFont:ogTitleColor:ogDescriptionFont:ogDescriptionColor:ogURLAddressFont:ogURLAddressColor:openChannelOGTitleColor:linkColor:contentBackgroundColor:pressedContentBackgroundColor:quotedMessageLeftBackgroundColor:quotedMessageRightBackgroundColor:quotedFileMessageThumbnailColor:quotedMessageTextColor:quotedMessageTextFont:repliedIconColor:repliedToTextColor:repliedToTextFont:repliedCountTextColor:repliedCountTextFont:repliedUsersMoreIconBackgroundColor:repliedUsersMoreIconTintColor:mentionTextFont:mentionLeftTextColor:mentionRightTextColor:mentionLeftTextBackgroundColor:mentionRightTextBackgroundColor:buttonBackgroundColor:buttonTitleColor:sideButtonIconColor:newMessageBadgeColor:parentInfoBackgroundColor:parentInfoUserNameTextFont:parentInfoUserNameTextColor:parentInfoDateFont:parentInfoDateTextColor:parentInfoMoreButtonTintColor:parentInfoSeparateBarColor:parentInfoReplyCountTextColor:parentInfoReplyCountTextFont:parentInfoProgressBackgroundColor:progressTrackTintColor:progressTimeFont:progressTimeRightTextColor:progressTimeLeftTextColor:statusButtonBackgroundColor:loadingButtonTintColor:playButtonTintColor:pauseButtonTintColor:)", + "printedName": "init(backgroundColor:leftBackgroundColor:leftPressedBackgroundColor:rightBackgroundColor:rightPressedBackgroundColor:openChannelBackgroundColor:openChannelPressedBackgroundColor:dateFont:dateTextColor:dateBackgroundColor:userPlaceholderBackgroundColor:userPlaceholderTintColor:userNameFont:userNameTextColor:currentUserNameTextColor:timeFont:timeTextColor:pendingStateColor:failedStateColor:succeededStateColor:readReceiptStateColor:deliveryReceiptStateColor:userMessageFont:userMessageLeftTextColor:userMessageLeftEditTextColor:userMessageLeftHighlightTextColor:userMessageRightTextColor:userMessageRightEditTextColor:userMessageRightHighlightTextColor:fileIconBackgroundColor:fileImageBackgroundColor:fileImageIconColor:fileIconColor:fileMessageNameFont:fileMessageLeftTextColor:fileMessageRightTextColor:fileMessagePlaceholderColor:adminMessageFont:adminMessageTextColor:unknownMessageDescFont:unknownMessageDescLeftTextColor:unknownMessageDescRightTextColor:ogTitleFont:ogTitleColor:ogDescriptionFont:ogDescriptionColor:ogURLAddressFont:ogURLAddressColor:openChannelOGTitleColor:linkColor:contentBackgroundColor:pressedContentBackgroundColor:quotedMessageLeftBackgroundColor:quotedMessageRightBackgroundColor:quotedFileMessageThumbnailColor:quotedMessageTextColor:quotedMessageTextFont:repliedIconColor:repliedToTextColor:repliedToTextFont:repliedCountTextColor:repliedCountTextFont:repliedUsersMoreIconBackgroundColor:repliedUsersMoreIconTintColor:mentionTextFont:mentionLeftTextColor:mentionRightTextColor:mentionLeftTextBackgroundColor:mentionRightTextBackgroundColor:buttonBackgroundColor:buttonTitleColor:sideButtonIconColor:newMessageBadgeColor:parentInfoBackgroundColor:parentInfoUserNameTextFont:parentInfoUserNameTextColor:parentInfoDateFont:parentInfoDateTextColor:parentInfoMoreButtonTintColor:parentInfoSeparateBarColor:parentInfoReplyCountTextColor:parentInfoReplyCountTextFont:parentInfoProgressBackgroundColor:progressTrackTintColor:progressTimeFont:progressTimeRightTextColor:progressTimeLeftTextColor:statusButtonBackgroundColor:loadingButtonTintColor:playButtonTintColor:pauseButtonTintColor:multipleFilesMessageFileOverlayColor:)", "children": [ { "kind": "TypeNominal", @@ -284925,6 +291964,13 @@ "hasDefaultArg": true, "usr": "c:objc(cs)UIColor" }, + { + "kind": "TypeNominal", + "name": "UIColor", + "printedName": "UIKit.UIColor", + "hasDefaultArg": true, + "usr": "c:objc(cs)UIColor" + }, { "kind": "TypeNominal", "name": "UIColor", @@ -284934,8 +291980,8 @@ } ], "declKind": "Constructor", - "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC15backgroundColor014leftBackgroundG00h7PressediG005rightiG00kjiG0011openChanneliG00lmjiG08dateFont0n4TextG00niG0015userPlaceholderiG00qr4TintG00q4NameO00qtpG0011currentUsertpG004timeO00wpG0012pendingStateG006failedyG009succeededyG0011readReceiptyG0015deliveryReceiptyG00q7MessageO00q11MessageLeftpG00q15MessageLeftEditpG00q20MessageLeftHighlightpG00q12MessageRightpG00q16MessageRightEditpG00q21MessageRightHighlightpG008fileIconiG009fileImageiG0013fileImageIconG008fileIconG0011fileMessagetO0015fileMessageLeftpG0016fileMessageRightpG0011fileMessagerG0012adminMessageO0012adminMessagepG0018unknownMessageDescO0022unknownMessageDescLeftpG0023unknownMessageDescRightpG007ogTitleO007ogTitleG0013ogDescriptionO0013ogDescriptionG0012ogURLAddressO0012ogURLAddressG00lm7OGTitleG004linkG007contentiG0014pressedContentiG0017quotedMessageLeftiG0018quotedMessageRightiG0026quotedFileMessageThumbnailG0013quotedMessagepG0013quotedMessagepO0011repliedIconG009repliedTopG009repliedTopO0012repliedCountpG0012repliedCountpO0020repliedUsersMoreIconiG0020repliedUsersMoreIconsG007mentionpO0011mentionLeftpG0012mentionRightpG0011mentionLeftpiG0012mentionRightpiG006buttoniG0011buttonTitleG0014sideButtonIconG0015newMessageBadgeG0010parentInfoiG0010parentInfovtpO0010parentInfovtpG0014parentInfoDateO0014parentInfoDatepG0020parentInfoMoreButtonsG0021parentInfoSeparateBarG0020parentInfoReplyCountpG0020parentInfoReplyCountpO0018parentInfoProgressiG0013progressTracksG0012progressTimeO0017progressTimeRightpG0016progressTimeLeftpG0012statusButtoniG0013loadingButtonsG0010playButtonsG0011pauseButtonsG0ACSo7UIColorC_A68_A68_A68_A68_A68_A68_So6UIFontCA68_A68_A68_A68_A70_A68_A68_A70_A68_A68_A68_A68_A68_A68_A70_A68_A68_A68_A68_A68_A68_A68_A68_A68_A68_A70_A68_A68_A68_A70_A68_A70_A68_A68_A70_A68_A70_A68_A70_A68_A68_A68_A68_A68_A68_A68_A68_A68_A70_A68_A68_A70_A68_A70_A68_A68_A70_A68_A68_A68_A68_A68_A68_A68_A68_A68_A70_A68_A70_A68_A68_A68_A68_A70_A68_A68_A70_A68_A68_A68_A68_A68_A68_tcfc", - "mangledName": "$s13SendbirdUIKit19SBUMessageCellThemeC15backgroundColor014leftBackgroundG00h7PressediG005rightiG00kjiG0011openChanneliG00lmjiG08dateFont0n4TextG00niG0015userPlaceholderiG00qr4TintG00q4NameO00qtpG0011currentUsertpG004timeO00wpG0012pendingStateG006failedyG009succeededyG0011readReceiptyG0015deliveryReceiptyG00q7MessageO00q11MessageLeftpG00q15MessageLeftEditpG00q20MessageLeftHighlightpG00q12MessageRightpG00q16MessageRightEditpG00q21MessageRightHighlightpG008fileIconiG009fileImageiG0013fileImageIconG008fileIconG0011fileMessagetO0015fileMessageLeftpG0016fileMessageRightpG0011fileMessagerG0012adminMessageO0012adminMessagepG0018unknownMessageDescO0022unknownMessageDescLeftpG0023unknownMessageDescRightpG007ogTitleO007ogTitleG0013ogDescriptionO0013ogDescriptionG0012ogURLAddressO0012ogURLAddressG00lm7OGTitleG004linkG007contentiG0014pressedContentiG0017quotedMessageLeftiG0018quotedMessageRightiG0026quotedFileMessageThumbnailG0013quotedMessagepG0013quotedMessagepO0011repliedIconG009repliedTopG009repliedTopO0012repliedCountpG0012repliedCountpO0020repliedUsersMoreIconiG0020repliedUsersMoreIconsG007mentionpO0011mentionLeftpG0012mentionRightpG0011mentionLeftpiG0012mentionRightpiG006buttoniG0011buttonTitleG0014sideButtonIconG0015newMessageBadgeG0010parentInfoiG0010parentInfovtpO0010parentInfovtpG0014parentInfoDateO0014parentInfoDatepG0020parentInfoMoreButtonsG0021parentInfoSeparateBarG0020parentInfoReplyCountpG0020parentInfoReplyCountpO0018parentInfoProgressiG0013progressTracksG0012progressTimeO0017progressTimeRightpG0016progressTimeLeftpG0012statusButtoniG0013loadingButtonsG0010playButtonsG0011pauseButtonsG0ACSo7UIColorC_A68_A68_A68_A68_A68_A68_So6UIFontCA68_A68_A68_A68_A70_A68_A68_A70_A68_A68_A68_A68_A68_A68_A70_A68_A68_A68_A68_A68_A68_A68_A68_A68_A68_A70_A68_A68_A68_A70_A68_A70_A68_A68_A70_A68_A70_A68_A70_A68_A68_A68_A68_A68_A68_A68_A68_A68_A70_A68_A68_A70_A68_A70_A68_A68_A70_A68_A68_A68_A68_A68_A68_A68_A68_A68_A70_A68_A70_A68_A68_A68_A68_A70_A68_A68_A70_A68_A68_A68_A68_A68_A68_tcfc", + "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC15backgroundColor014leftBackgroundG00h7PressediG005rightiG00kjiG0011openChanneliG00lmjiG08dateFont0n4TextG00niG0015userPlaceholderiG00qr4TintG00q4NameO00qtpG0011currentUsertpG004timeO00wpG0012pendingStateG006failedyG009succeededyG0011readReceiptyG0015deliveryReceiptyG00q7MessageO00q11MessageLeftpG00q15MessageLeftEditpG00q20MessageLeftHighlightpG00q12MessageRightpG00q16MessageRightEditpG00q21MessageRightHighlightpG008fileIconiG009fileImageiG0013fileImageIconG008fileIconG0011fileMessagetO0015fileMessageLeftpG0016fileMessageRightpG0011fileMessagerG0012adminMessageO0012adminMessagepG0018unknownMessageDescO0022unknownMessageDescLeftpG0023unknownMessageDescRightpG007ogTitleO007ogTitleG0013ogDescriptionO0013ogDescriptionG0012ogURLAddressO0012ogURLAddressG00lm7OGTitleG004linkG007contentiG0014pressedContentiG0017quotedMessageLeftiG0018quotedMessageRightiG0026quotedFileMessageThumbnailG0013quotedMessagepG0013quotedMessagepO0011repliedIconG009repliedTopG009repliedTopO0012repliedCountpG0012repliedCountpO0020repliedUsersMoreIconiG0020repliedUsersMoreIconsG007mentionpO0011mentionLeftpG0012mentionRightpG0011mentionLeftpiG0012mentionRightpiG006buttoniG0011buttonTitleG0014sideButtonIconG0015newMessageBadgeG0010parentInfoiG0010parentInfovtpO0010parentInfovtpG0014parentInfoDateO0014parentInfoDatepG0020parentInfoMoreButtonsG0021parentInfoSeparateBarG0020parentInfoReplyCountpG0020parentInfoReplyCountpO0018parentInfoProgressiG0013progressTracksG0012progressTimeO0017progressTimeRightpG0016progressTimeLeftpG0012statusButtoniG0013loadingButtonsG0010playButtonsG0011pauseButtonsG0031multipleFilesMessageFileOverlayG0ACSo7UIColorC_A69_A69_A69_A69_A69_A69_So6UIFontCA69_A69_A69_A69_A71_A69_A69_A71_A69_A69_A69_A69_A69_A69_A71_A69_A69_A69_A69_A69_A69_A69_A69_A69_A69_A71_A69_A69_A69_A71_A69_A71_A69_A69_A71_A69_A71_A69_A71_A69_A69_A69_A69_A69_A69_A69_A69_A69_A71_A69_A69_A71_A69_A71_A69_A69_A71_A69_A69_A69_A69_A69_A69_A69_A69_A69_A71_A69_A71_A69_A69_A69_A69_A71_A69_A69_A71_A69_A69_A69_A69_A69_A69_A69_tcfc", + "mangledName": "$s13SendbirdUIKit19SBUMessageCellThemeC15backgroundColor014leftBackgroundG00h7PressediG005rightiG00kjiG0011openChanneliG00lmjiG08dateFont0n4TextG00niG0015userPlaceholderiG00qr4TintG00q4NameO00qtpG0011currentUsertpG004timeO00wpG0012pendingStateG006failedyG009succeededyG0011readReceiptyG0015deliveryReceiptyG00q7MessageO00q11MessageLeftpG00q15MessageLeftEditpG00q20MessageLeftHighlightpG00q12MessageRightpG00q16MessageRightEditpG00q21MessageRightHighlightpG008fileIconiG009fileImageiG0013fileImageIconG008fileIconG0011fileMessagetO0015fileMessageLeftpG0016fileMessageRightpG0011fileMessagerG0012adminMessageO0012adminMessagepG0018unknownMessageDescO0022unknownMessageDescLeftpG0023unknownMessageDescRightpG007ogTitleO007ogTitleG0013ogDescriptionO0013ogDescriptionG0012ogURLAddressO0012ogURLAddressG00lm7OGTitleG004linkG007contentiG0014pressedContentiG0017quotedMessageLeftiG0018quotedMessageRightiG0026quotedFileMessageThumbnailG0013quotedMessagepG0013quotedMessagepO0011repliedIconG009repliedTopG009repliedTopO0012repliedCountpG0012repliedCountpO0020repliedUsersMoreIconiG0020repliedUsersMoreIconsG007mentionpO0011mentionLeftpG0012mentionRightpG0011mentionLeftpiG0012mentionRightpiG006buttoniG0011buttonTitleG0014sideButtonIconG0015newMessageBadgeG0010parentInfoiG0010parentInfovtpO0010parentInfovtpG0014parentInfoDateO0014parentInfoDatepG0020parentInfoMoreButtonsG0021parentInfoSeparateBarG0020parentInfoReplyCountpG0020parentInfoReplyCountpO0018parentInfoProgressiG0013progressTracksG0012progressTimeO0017progressTimeRightpG0016progressTimeLeftpG0012statusButtoniG0013loadingButtonsG0010playButtonsG0011pauseButtonsG0031multipleFilesMessageFileOverlayG0ACSo7UIColorC_A69_A69_A69_A69_A69_A69_So6UIFontCA69_A69_A69_A69_A71_A69_A69_A71_A69_A69_A69_A69_A69_A69_A71_A69_A69_A69_A69_A69_A69_A69_A69_A69_A69_A71_A69_A69_A69_A71_A69_A71_A69_A69_A71_A69_A71_A69_A71_A69_A69_A69_A69_A69_A69_A69_A69_A69_A71_A69_A69_A71_A69_A71_A69_A69_A71_A69_A69_A69_A69_A69_A69_A69_A69_A69_A71_A69_A71_A69_A69_A69_A69_A71_A69_A69_A71_A69_A69_A69_A69_A69_A69_A69_tcfc", "moduleName": "SendbirdUIKit", "declAttributes": [ "AccessControl" @@ -288095,94 +295141,8 @@ }, { "kind": "Var", - "name": "adminMessageFont", - "printedName": "adminMessageFont", - "children": [ - { - "kind": "TypeNominal", - "name": "UIFont", - "printedName": "UIKit.UIFont", - "usr": "c:objc(cs)UIFont" - } - ], - "declKind": "Var", - "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC16adminMessageFontSo6UIFontCvp", - "mangledName": "$s13SendbirdUIKit19SBUMessageCellThemeC16adminMessageFontSo6UIFontCvp", - "moduleName": "SendbirdUIKit", - "declAttributes": [ - "HasStorage", - "AccessControl", - "RawDocComment" - ], - "hasStorage": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "UIFont", - "printedName": "UIKit.UIFont", - "usr": "c:objc(cs)UIFont" - } - ], - "declKind": "Accessor", - "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC16adminMessageFontSo6UIFontCvg", - "mangledName": "$s13SendbirdUIKit19SBUMessageCellThemeC16adminMessageFontSo6UIFontCvg", - "moduleName": "SendbirdUIKit", - "implicit": true, - "accessorKind": "get" - }, - { - "kind": "Accessor", - "name": "Set", - "printedName": "Set()", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "UIFont", - "printedName": "UIKit.UIFont", - "usr": "c:objc(cs)UIFont" - } - ], - "declKind": "Accessor", - "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC16adminMessageFontSo6UIFontCvs", - "mangledName": "$s13SendbirdUIKit19SBUMessageCellThemeC16adminMessageFontSo6UIFontCvs", - "moduleName": "SendbirdUIKit", - "implicit": true, - "accessorKind": "set" - }, - { - "kind": "Accessor", - "name": "Modify", - "printedName": "Modify()", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - } - ], - "declKind": "Accessor", - "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC16adminMessageFontSo6UIFontCvM", - "mangledName": "$s13SendbirdUIKit19SBUMessageCellThemeC16adminMessageFontSo6UIFontCvM", - "moduleName": "SendbirdUIKit", - "implicit": true, - "accessorKind": "_modify" - } - ] - }, - { - "kind": "Var", - "name": "adminMessageTextColor", - "printedName": "adminMessageTextColor", + "name": "multipleFilesMessageFileOverlayColor", + "printedName": "multipleFilesMessageFileOverlayColor", "children": [ { "kind": "TypeNominal", @@ -288192,12 +295152,13 @@ } ], "declKind": "Var", - "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC21adminMessageTextColorSo7UIColorCvp", - "mangledName": "$s13SendbirdUIKit19SBUMessageCellThemeC21adminMessageTextColorSo7UIColorCvp", + "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC36multipleFilesMessageFileOverlayColorSo7UIColorCvp", + "mangledName": "$s13SendbirdUIKit19SBUMessageCellThemeC36multipleFilesMessageFileOverlayColorSo7UIColorCvp", "moduleName": "SendbirdUIKit", "declAttributes": [ "HasStorage", - "AccessControl" + "AccessControl", + "RawDocComment" ], "hasStorage": true, "accessors": [ @@ -288214,8 +295175,8 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC21adminMessageTextColorSo7UIColorCvg", - "mangledName": "$s13SendbirdUIKit19SBUMessageCellThemeC21adminMessageTextColorSo7UIColorCvg", + "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC36multipleFilesMessageFileOverlayColorSo7UIColorCvg", + "mangledName": "$s13SendbirdUIKit19SBUMessageCellThemeC36multipleFilesMessageFileOverlayColorSo7UIColorCvg", "moduleName": "SendbirdUIKit", "implicit": true, "accessorKind": "get" @@ -288238,8 +295199,8 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC21adminMessageTextColorSo7UIColorCvs", - "mangledName": "$s13SendbirdUIKit19SBUMessageCellThemeC21adminMessageTextColorSo7UIColorCvs", + "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC36multipleFilesMessageFileOverlayColorSo7UIColorCvs", + "mangledName": "$s13SendbirdUIKit19SBUMessageCellThemeC36multipleFilesMessageFileOverlayColorSo7UIColorCvs", "moduleName": "SendbirdUIKit", "implicit": true, "accessorKind": "set" @@ -288256,8 +295217,8 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC21adminMessageTextColorSo7UIColorCvM", - "mangledName": "$s13SendbirdUIKit19SBUMessageCellThemeC21adminMessageTextColorSo7UIColorCvM", + "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC36multipleFilesMessageFileOverlayColorSo7UIColorCvM", + "mangledName": "$s13SendbirdUIKit19SBUMessageCellThemeC36multipleFilesMessageFileOverlayColorSo7UIColorCvM", "moduleName": "SendbirdUIKit", "implicit": true, "accessorKind": "_modify" @@ -288266,8 +295227,8 @@ }, { "kind": "Var", - "name": "unknownMessageDescFont", - "printedName": "unknownMessageDescFont", + "name": "adminMessageFont", + "printedName": "adminMessageFont", "children": [ { "kind": "TypeNominal", @@ -288277,8 +295238,8 @@ } ], "declKind": "Var", - "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC22unknownMessageDescFontSo6UIFontCvp", - "mangledName": "$s13SendbirdUIKit19SBUMessageCellThemeC22unknownMessageDescFontSo6UIFontCvp", + "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC16adminMessageFontSo6UIFontCvp", + "mangledName": "$s13SendbirdUIKit19SBUMessageCellThemeC16adminMessageFontSo6UIFontCvp", "moduleName": "SendbirdUIKit", "declAttributes": [ "HasStorage", @@ -288300,8 +295261,8 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC22unknownMessageDescFontSo6UIFontCvg", - "mangledName": "$s13SendbirdUIKit19SBUMessageCellThemeC22unknownMessageDescFontSo6UIFontCvg", + "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC16adminMessageFontSo6UIFontCvg", + "mangledName": "$s13SendbirdUIKit19SBUMessageCellThemeC16adminMessageFontSo6UIFontCvg", "moduleName": "SendbirdUIKit", "implicit": true, "accessorKind": "get" @@ -288324,8 +295285,8 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC22unknownMessageDescFontSo6UIFontCvs", - "mangledName": "$s13SendbirdUIKit19SBUMessageCellThemeC22unknownMessageDescFontSo6UIFontCvs", + "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC16adminMessageFontSo6UIFontCvs", + "mangledName": "$s13SendbirdUIKit19SBUMessageCellThemeC16adminMessageFontSo6UIFontCvs", "moduleName": "SendbirdUIKit", "implicit": true, "accessorKind": "set" @@ -288342,8 +295303,8 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC22unknownMessageDescFontSo6UIFontCvM", - "mangledName": "$s13SendbirdUIKit19SBUMessageCellThemeC22unknownMessageDescFontSo6UIFontCvM", + "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC16adminMessageFontSo6UIFontCvM", + "mangledName": "$s13SendbirdUIKit19SBUMessageCellThemeC16adminMessageFontSo6UIFontCvM", "moduleName": "SendbirdUIKit", "implicit": true, "accessorKind": "_modify" @@ -288352,8 +295313,8 @@ }, { "kind": "Var", - "name": "unknownMessageDescLeftTextColor", - "printedName": "unknownMessageDescLeftTextColor", + "name": "adminMessageTextColor", + "printedName": "adminMessageTextColor", "children": [ { "kind": "TypeNominal", @@ -288363,8 +295324,8 @@ } ], "declKind": "Var", - "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC31unknownMessageDescLeftTextColorSo7UIColorCvp", - "mangledName": "$s13SendbirdUIKit19SBUMessageCellThemeC31unknownMessageDescLeftTextColorSo7UIColorCvp", + "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC21adminMessageTextColorSo7UIColorCvp", + "mangledName": "$s13SendbirdUIKit19SBUMessageCellThemeC21adminMessageTextColorSo7UIColorCvp", "moduleName": "SendbirdUIKit", "declAttributes": [ "HasStorage", @@ -288385,8 +295346,8 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC31unknownMessageDescLeftTextColorSo7UIColorCvg", - "mangledName": "$s13SendbirdUIKit19SBUMessageCellThemeC31unknownMessageDescLeftTextColorSo7UIColorCvg", + "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC21adminMessageTextColorSo7UIColorCvg", + "mangledName": "$s13SendbirdUIKit19SBUMessageCellThemeC21adminMessageTextColorSo7UIColorCvg", "moduleName": "SendbirdUIKit", "implicit": true, "accessorKind": "get" @@ -288409,8 +295370,8 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC31unknownMessageDescLeftTextColorSo7UIColorCvs", - "mangledName": "$s13SendbirdUIKit19SBUMessageCellThemeC31unknownMessageDescLeftTextColorSo7UIColorCvs", + "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC21adminMessageTextColorSo7UIColorCvs", + "mangledName": "$s13SendbirdUIKit19SBUMessageCellThemeC21adminMessageTextColorSo7UIColorCvs", "moduleName": "SendbirdUIKit", "implicit": true, "accessorKind": "set" @@ -288427,8 +295388,8 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC31unknownMessageDescLeftTextColorSo7UIColorCvM", - "mangledName": "$s13SendbirdUIKit19SBUMessageCellThemeC31unknownMessageDescLeftTextColorSo7UIColorCvM", + "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC21adminMessageTextColorSo7UIColorCvM", + "mangledName": "$s13SendbirdUIKit19SBUMessageCellThemeC21adminMessageTextColorSo7UIColorCvM", "moduleName": "SendbirdUIKit", "implicit": true, "accessorKind": "_modify" @@ -288437,23 +295398,24 @@ }, { "kind": "Var", - "name": "unknownMessageDescRightTextColor", - "printedName": "unknownMessageDescRightTextColor", + "name": "unknownMessageDescFont", + "printedName": "unknownMessageDescFont", "children": [ { "kind": "TypeNominal", - "name": "UIColor", - "printedName": "UIKit.UIColor", - "usr": "c:objc(cs)UIColor" + "name": "UIFont", + "printedName": "UIKit.UIFont", + "usr": "c:objc(cs)UIFont" } ], "declKind": "Var", - "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC32unknownMessageDescRightTextColorSo7UIColorCvp", - "mangledName": "$s13SendbirdUIKit19SBUMessageCellThemeC32unknownMessageDescRightTextColorSo7UIColorCvp", + "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC22unknownMessageDescFontSo6UIFontCvp", + "mangledName": "$s13SendbirdUIKit19SBUMessageCellThemeC22unknownMessageDescFontSo6UIFontCvp", "moduleName": "SendbirdUIKit", "declAttributes": [ "HasStorage", - "AccessControl" + "AccessControl", + "RawDocComment" ], "hasStorage": true, "accessors": [ @@ -288464,14 +295426,14 @@ "children": [ { "kind": "TypeNominal", - "name": "UIColor", - "printedName": "UIKit.UIColor", - "usr": "c:objc(cs)UIColor" + "name": "UIFont", + "printedName": "UIKit.UIFont", + "usr": "c:objc(cs)UIFont" } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC32unknownMessageDescRightTextColorSo7UIColorCvg", - "mangledName": "$s13SendbirdUIKit19SBUMessageCellThemeC32unknownMessageDescRightTextColorSo7UIColorCvg", + "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC22unknownMessageDescFontSo6UIFontCvg", + "mangledName": "$s13SendbirdUIKit19SBUMessageCellThemeC22unknownMessageDescFontSo6UIFontCvg", "moduleName": "SendbirdUIKit", "implicit": true, "accessorKind": "get" @@ -288488,14 +295450,14 @@ }, { "kind": "TypeNominal", - "name": "UIColor", - "printedName": "UIKit.UIColor", - "usr": "c:objc(cs)UIColor" + "name": "UIFont", + "printedName": "UIKit.UIFont", + "usr": "c:objc(cs)UIFont" } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC32unknownMessageDescRightTextColorSo7UIColorCvs", - "mangledName": "$s13SendbirdUIKit19SBUMessageCellThemeC32unknownMessageDescRightTextColorSo7UIColorCvs", + "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC22unknownMessageDescFontSo6UIFontCvs", + "mangledName": "$s13SendbirdUIKit19SBUMessageCellThemeC22unknownMessageDescFontSo6UIFontCvs", "moduleName": "SendbirdUIKit", "implicit": true, "accessorKind": "set" @@ -288512,8 +295474,8 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC32unknownMessageDescRightTextColorSo7UIColorCvM", - "mangledName": "$s13SendbirdUIKit19SBUMessageCellThemeC32unknownMessageDescRightTextColorSo7UIColorCvM", + "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC22unknownMessageDescFontSo6UIFontCvM", + "mangledName": "$s13SendbirdUIKit19SBUMessageCellThemeC22unknownMessageDescFontSo6UIFontCvM", "moduleName": "SendbirdUIKit", "implicit": true, "accessorKind": "_modify" @@ -288522,8 +295484,8 @@ }, { "kind": "Var", - "name": "messageLeftHighlightTextColor", - "printedName": "messageLeftHighlightTextColor", + "name": "unknownMessageDescLeftTextColor", + "printedName": "unknownMessageDescLeftTextColor", "children": [ { "kind": "TypeNominal", @@ -288533,13 +295495,12 @@ } ], "declKind": "Var", - "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC29messageLeftHighlightTextColorSo7UIColorCvp", - "mangledName": "$s13SendbirdUIKit19SBUMessageCellThemeC29messageLeftHighlightTextColorSo7UIColorCvp", + "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC31unknownMessageDescLeftTextColorSo7UIColorCvp", + "mangledName": "$s13SendbirdUIKit19SBUMessageCellThemeC31unknownMessageDescLeftTextColorSo7UIColorCvp", "moduleName": "SendbirdUIKit", "declAttributes": [ "HasStorage", - "AccessControl", - "RawDocComment" + "AccessControl" ], "hasStorage": true, "accessors": [ @@ -288556,8 +295517,179 @@ } ], "declKind": "Accessor", - "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC29messageLeftHighlightTextColorSo7UIColorCvg", - "mangledName": "$s13SendbirdUIKit19SBUMessageCellThemeC29messageLeftHighlightTextColorSo7UIColorCvg", + "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC31unknownMessageDescLeftTextColorSo7UIColorCvg", + "mangledName": "$s13SendbirdUIKit19SBUMessageCellThemeC31unknownMessageDescLeftTextColorSo7UIColorCvg", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "UIColor", + "printedName": "UIKit.UIColor", + "usr": "c:objc(cs)UIColor" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC31unknownMessageDescLeftTextColorSo7UIColorCvs", + "mangledName": "$s13SendbirdUIKit19SBUMessageCellThemeC31unknownMessageDescLeftTextColorSo7UIColorCvs", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC31unknownMessageDescLeftTextColorSo7UIColorCvM", + "mangledName": "$s13SendbirdUIKit19SBUMessageCellThemeC31unknownMessageDescLeftTextColorSo7UIColorCvM", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "unknownMessageDescRightTextColor", + "printedName": "unknownMessageDescRightTextColor", + "children": [ + { + "kind": "TypeNominal", + "name": "UIColor", + "printedName": "UIKit.UIColor", + "usr": "c:objc(cs)UIColor" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC32unknownMessageDescRightTextColorSo7UIColorCvp", + "mangledName": "$s13SendbirdUIKit19SBUMessageCellThemeC32unknownMessageDescRightTextColorSo7UIColorCvp", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "HasStorage", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "UIColor", + "printedName": "UIKit.UIColor", + "usr": "c:objc(cs)UIColor" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC32unknownMessageDescRightTextColorSo7UIColorCvg", + "mangledName": "$s13SendbirdUIKit19SBUMessageCellThemeC32unknownMessageDescRightTextColorSo7UIColorCvg", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "UIColor", + "printedName": "UIKit.UIColor", + "usr": "c:objc(cs)UIColor" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC32unknownMessageDescRightTextColorSo7UIColorCvs", + "mangledName": "$s13SendbirdUIKit19SBUMessageCellThemeC32unknownMessageDescRightTextColorSo7UIColorCvs", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC32unknownMessageDescRightTextColorSo7UIColorCvM", + "mangledName": "$s13SendbirdUIKit19SBUMessageCellThemeC32unknownMessageDescRightTextColorSo7UIColorCvM", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "messageLeftHighlightTextColor", + "printedName": "messageLeftHighlightTextColor", + "children": [ + { + "kind": "TypeNominal", + "name": "UIColor", + "printedName": "UIKit.UIColor", + "usr": "c:objc(cs)UIColor" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC29messageLeftHighlightTextColorSo7UIColorCvp", + "mangledName": "$s13SendbirdUIKit19SBUMessageCellThemeC29messageLeftHighlightTextColorSo7UIColorCvp", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "UIColor", + "printedName": "UIKit.UIColor", + "usr": "c:objc(cs)UIColor" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit19SBUMessageCellThemeC29messageLeftHighlightTextColorSo7UIColorCvg", + "mangledName": "$s13SendbirdUIKit19SBUMessageCellThemeC29messageLeftHighlightTextColorSo7UIColorCvg", "moduleName": "SendbirdUIKit", "implicit": true, "accessorKind": "get" @@ -316711,7 +323843,7 @@ "children": [ { "kind": "TypeNominal", - "name": "ImplicitlyUnwrappedOptional", + "name": "Optional", "printedName": "UIKit.NSLayoutConstraint?", "children": [ { @@ -316743,7 +323875,7 @@ "children": [ { "kind": "TypeNominal", - "name": "ImplicitlyUnwrappedOptional", + "name": "Optional", "printedName": "UIKit.NSLayoutConstraint?", "children": [ { @@ -316775,7 +323907,7 @@ }, { "kind": "TypeNominal", - "name": "ImplicitlyUnwrappedOptional", + "name": "Optional", "printedName": "UIKit.NSLayoutConstraint?", "children": [ { @@ -316822,7 +323954,7 @@ "children": [ { "kind": "TypeNominal", - "name": "ImplicitlyUnwrappedOptional", + "name": "Optional", "printedName": "UIKit.NSLayoutConstraint?", "children": [ { @@ -316854,7 +323986,7 @@ "children": [ { "kind": "TypeNominal", - "name": "ImplicitlyUnwrappedOptional", + "name": "Optional", "printedName": "UIKit.NSLayoutConstraint?", "children": [ { @@ -316886,7 +324018,7 @@ }, { "kind": "TypeNominal", - "name": "ImplicitlyUnwrappedOptional", + "name": "Optional", "printedName": "UIKit.NSLayoutConstraint?", "children": [ { @@ -319928,228 +327060,6 @@ } ] }, - { - "kind": "Var", - "name": "textLeftConstraint", - "printedName": "textLeftConstraint", - "children": [ - { - "kind": "TypeNominal", - "name": "ImplicitlyUnwrappedOptional", - "printedName": "UIKit.NSLayoutConstraint?", - "children": [ - { - "kind": "TypeNominal", - "name": "NSLayoutConstraint", - "printedName": "UIKit.NSLayoutConstraint", - "usr": "c:objc(cs)NSLayoutConstraint" - } - ], - "usr": "s:Sq" - } - ], - "declKind": "Var", - "usr": "s:13SendbirdUIKit22SBUUserMessageTextViewC18textLeftConstraintSo08NSLayoutI0CSgvp", - "mangledName": "$s13SendbirdUIKit22SBUUserMessageTextViewC18textLeftConstraintSo08NSLayoutI0CSgvp", - "moduleName": "SendbirdUIKit", - "declAttributes": [ - "Custom", - "HasInitialValue", - "HasStorage", - "AccessControl" - ], - "hasStorage": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "ImplicitlyUnwrappedOptional", - "printedName": "UIKit.NSLayoutConstraint?", - "children": [ - { - "kind": "TypeNominal", - "name": "NSLayoutConstraint", - "printedName": "UIKit.NSLayoutConstraint", - "usr": "c:objc(cs)NSLayoutConstraint" - } - ], - "usr": "s:Sq" - } - ], - "declKind": "Accessor", - "usr": "s:13SendbirdUIKit22SBUUserMessageTextViewC18textLeftConstraintSo08NSLayoutI0CSgvg", - "mangledName": "$s13SendbirdUIKit22SBUUserMessageTextViewC18textLeftConstraintSo08NSLayoutI0CSgvg", - "moduleName": "SendbirdUIKit", - "implicit": true, - "accessorKind": "get" - }, - { - "kind": "Accessor", - "name": "Set", - "printedName": "Set()", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "ImplicitlyUnwrappedOptional", - "printedName": "UIKit.NSLayoutConstraint?", - "children": [ - { - "kind": "TypeNominal", - "name": "NSLayoutConstraint", - "printedName": "UIKit.NSLayoutConstraint", - "usr": "c:objc(cs)NSLayoutConstraint" - } - ], - "usr": "s:Sq" - } - ], - "declKind": "Accessor", - "usr": "s:13SendbirdUIKit22SBUUserMessageTextViewC18textLeftConstraintSo08NSLayoutI0CSgvs", - "mangledName": "$s13SendbirdUIKit22SBUUserMessageTextViewC18textLeftConstraintSo08NSLayoutI0CSgvs", - "moduleName": "SendbirdUIKit", - "implicit": true, - "accessorKind": "set" - }, - { - "kind": "Accessor", - "name": "Modify", - "printedName": "Modify()", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - } - ], - "declKind": "Accessor", - "usr": "s:13SendbirdUIKit22SBUUserMessageTextViewC18textLeftConstraintSo08NSLayoutI0CSgvM", - "mangledName": "$s13SendbirdUIKit22SBUUserMessageTextViewC18textLeftConstraintSo08NSLayoutI0CSgvM", - "moduleName": "SendbirdUIKit", - "implicit": true, - "accessorKind": "_modify" - } - ] - }, - { - "kind": "Var", - "name": "textRightConstraint", - "printedName": "textRightConstraint", - "children": [ - { - "kind": "TypeNominal", - "name": "ImplicitlyUnwrappedOptional", - "printedName": "UIKit.NSLayoutConstraint?", - "children": [ - { - "kind": "TypeNominal", - "name": "NSLayoutConstraint", - "printedName": "UIKit.NSLayoutConstraint", - "usr": "c:objc(cs)NSLayoutConstraint" - } - ], - "usr": "s:Sq" - } - ], - "declKind": "Var", - "usr": "s:13SendbirdUIKit22SBUUserMessageTextViewC19textRightConstraintSo08NSLayoutI0CSgvp", - "mangledName": "$s13SendbirdUIKit22SBUUserMessageTextViewC19textRightConstraintSo08NSLayoutI0CSgvp", - "moduleName": "SendbirdUIKit", - "declAttributes": [ - "Custom", - "HasInitialValue", - "HasStorage", - "AccessControl" - ], - "hasStorage": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "ImplicitlyUnwrappedOptional", - "printedName": "UIKit.NSLayoutConstraint?", - "children": [ - { - "kind": "TypeNominal", - "name": "NSLayoutConstraint", - "printedName": "UIKit.NSLayoutConstraint", - "usr": "c:objc(cs)NSLayoutConstraint" - } - ], - "usr": "s:Sq" - } - ], - "declKind": "Accessor", - "usr": "s:13SendbirdUIKit22SBUUserMessageTextViewC19textRightConstraintSo08NSLayoutI0CSgvg", - "mangledName": "$s13SendbirdUIKit22SBUUserMessageTextViewC19textRightConstraintSo08NSLayoutI0CSgvg", - "moduleName": "SendbirdUIKit", - "implicit": true, - "accessorKind": "get" - }, - { - "kind": "Accessor", - "name": "Set", - "printedName": "Set()", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "ImplicitlyUnwrappedOptional", - "printedName": "UIKit.NSLayoutConstraint?", - "children": [ - { - "kind": "TypeNominal", - "name": "NSLayoutConstraint", - "printedName": "UIKit.NSLayoutConstraint", - "usr": "c:objc(cs)NSLayoutConstraint" - } - ], - "usr": "s:Sq" - } - ], - "declKind": "Accessor", - "usr": "s:13SendbirdUIKit22SBUUserMessageTextViewC19textRightConstraintSo08NSLayoutI0CSgvs", - "mangledName": "$s13SendbirdUIKit22SBUUserMessageTextViewC19textRightConstraintSo08NSLayoutI0CSgvs", - "moduleName": "SendbirdUIKit", - "implicit": true, - "accessorKind": "set" - }, - { - "kind": "Accessor", - "name": "Modify", - "printedName": "Modify()", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - } - ], - "declKind": "Accessor", - "usr": "s:13SendbirdUIKit22SBUUserMessageTextViewC19textRightConstraintSo08NSLayoutI0CSgvM", - "mangledName": "$s13SendbirdUIKit22SBUUserMessageTextViewC19textRightConstraintSo08NSLayoutI0CSgvM", - "moduleName": "SendbirdUIKit", - "implicit": true, - "accessorKind": "_modify" - } - ] - }, { "kind": "Var", "name": "mentionManager", @@ -320494,6 +327404,450 @@ } ] }, + { + "kind": "Var", + "name": "textTopConstraint", + "printedName": "textTopConstraint", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "UIKit.NSLayoutConstraint?", + "children": [ + { + "kind": "TypeNominal", + "name": "NSLayoutConstraint", + "printedName": "UIKit.NSLayoutConstraint", + "usr": "c:objc(cs)NSLayoutConstraint" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit22SBUUserMessageTextViewC17textTopConstraintSo08NSLayoutI0CSgvp", + "mangledName": "$s13SendbirdUIKit22SBUUserMessageTextViewC17textTopConstraintSo08NSLayoutI0CSgvp", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "Custom", + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "UIKit.NSLayoutConstraint?", + "children": [ + { + "kind": "TypeNominal", + "name": "NSLayoutConstraint", + "printedName": "UIKit.NSLayoutConstraint", + "usr": "c:objc(cs)NSLayoutConstraint" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit22SBUUserMessageTextViewC17textTopConstraintSo08NSLayoutI0CSgvg", + "mangledName": "$s13SendbirdUIKit22SBUUserMessageTextViewC17textTopConstraintSo08NSLayoutI0CSgvg", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "UIKit.NSLayoutConstraint?", + "children": [ + { + "kind": "TypeNominal", + "name": "NSLayoutConstraint", + "printedName": "UIKit.NSLayoutConstraint", + "usr": "c:objc(cs)NSLayoutConstraint" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit22SBUUserMessageTextViewC17textTopConstraintSo08NSLayoutI0CSgvs", + "mangledName": "$s13SendbirdUIKit22SBUUserMessageTextViewC17textTopConstraintSo08NSLayoutI0CSgvs", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit22SBUUserMessageTextViewC17textTopConstraintSo08NSLayoutI0CSgvM", + "mangledName": "$s13SendbirdUIKit22SBUUserMessageTextViewC17textTopConstraintSo08NSLayoutI0CSgvM", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "textBottomConstraint", + "printedName": "textBottomConstraint", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "UIKit.NSLayoutConstraint?", + "children": [ + { + "kind": "TypeNominal", + "name": "NSLayoutConstraint", + "printedName": "UIKit.NSLayoutConstraint", + "usr": "c:objc(cs)NSLayoutConstraint" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit22SBUUserMessageTextViewC20textBottomConstraintSo08NSLayoutI0CSgvp", + "mangledName": "$s13SendbirdUIKit22SBUUserMessageTextViewC20textBottomConstraintSo08NSLayoutI0CSgvp", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "Custom", + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "UIKit.NSLayoutConstraint?", + "children": [ + { + "kind": "TypeNominal", + "name": "NSLayoutConstraint", + "printedName": "UIKit.NSLayoutConstraint", + "usr": "c:objc(cs)NSLayoutConstraint" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit22SBUUserMessageTextViewC20textBottomConstraintSo08NSLayoutI0CSgvg", + "mangledName": "$s13SendbirdUIKit22SBUUserMessageTextViewC20textBottomConstraintSo08NSLayoutI0CSgvg", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "UIKit.NSLayoutConstraint?", + "children": [ + { + "kind": "TypeNominal", + "name": "NSLayoutConstraint", + "printedName": "UIKit.NSLayoutConstraint", + "usr": "c:objc(cs)NSLayoutConstraint" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit22SBUUserMessageTextViewC20textBottomConstraintSo08NSLayoutI0CSgvs", + "mangledName": "$s13SendbirdUIKit22SBUUserMessageTextViewC20textBottomConstraintSo08NSLayoutI0CSgvs", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit22SBUUserMessageTextViewC20textBottomConstraintSo08NSLayoutI0CSgvM", + "mangledName": "$s13SendbirdUIKit22SBUUserMessageTextViewC20textBottomConstraintSo08NSLayoutI0CSgvM", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "textLeftConstraint", + "printedName": "textLeftConstraint", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "UIKit.NSLayoutConstraint?", + "children": [ + { + "kind": "TypeNominal", + "name": "NSLayoutConstraint", + "printedName": "UIKit.NSLayoutConstraint", + "usr": "c:objc(cs)NSLayoutConstraint" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit22SBUUserMessageTextViewC18textLeftConstraintSo08NSLayoutI0CSgvp", + "mangledName": "$s13SendbirdUIKit22SBUUserMessageTextViewC18textLeftConstraintSo08NSLayoutI0CSgvp", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "Custom", + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "UIKit.NSLayoutConstraint?", + "children": [ + { + "kind": "TypeNominal", + "name": "NSLayoutConstraint", + "printedName": "UIKit.NSLayoutConstraint", + "usr": "c:objc(cs)NSLayoutConstraint" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit22SBUUserMessageTextViewC18textLeftConstraintSo08NSLayoutI0CSgvg", + "mangledName": "$s13SendbirdUIKit22SBUUserMessageTextViewC18textLeftConstraintSo08NSLayoutI0CSgvg", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "UIKit.NSLayoutConstraint?", + "children": [ + { + "kind": "TypeNominal", + "name": "NSLayoutConstraint", + "printedName": "UIKit.NSLayoutConstraint", + "usr": "c:objc(cs)NSLayoutConstraint" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit22SBUUserMessageTextViewC18textLeftConstraintSo08NSLayoutI0CSgvs", + "mangledName": "$s13SendbirdUIKit22SBUUserMessageTextViewC18textLeftConstraintSo08NSLayoutI0CSgvs", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit22SBUUserMessageTextViewC18textLeftConstraintSo08NSLayoutI0CSgvM", + "mangledName": "$s13SendbirdUIKit22SBUUserMessageTextViewC18textLeftConstraintSo08NSLayoutI0CSgvM", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "textRightConstraint", + "printedName": "textRightConstraint", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "UIKit.NSLayoutConstraint?", + "children": [ + { + "kind": "TypeNominal", + "name": "NSLayoutConstraint", + "printedName": "UIKit.NSLayoutConstraint", + "usr": "c:objc(cs)NSLayoutConstraint" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit22SBUUserMessageTextViewC19textRightConstraintSo08NSLayoutI0CSgvp", + "mangledName": "$s13SendbirdUIKit22SBUUserMessageTextViewC19textRightConstraintSo08NSLayoutI0CSgvp", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "Custom", + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "UIKit.NSLayoutConstraint?", + "children": [ + { + "kind": "TypeNominal", + "name": "NSLayoutConstraint", + "printedName": "UIKit.NSLayoutConstraint", + "usr": "c:objc(cs)NSLayoutConstraint" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit22SBUUserMessageTextViewC19textRightConstraintSo08NSLayoutI0CSgvg", + "mangledName": "$s13SendbirdUIKit22SBUUserMessageTextViewC19textRightConstraintSo08NSLayoutI0CSgvg", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "UIKit.NSLayoutConstraint?", + "children": [ + { + "kind": "TypeNominal", + "name": "NSLayoutConstraint", + "printedName": "UIKit.NSLayoutConstraint", + "usr": "c:objc(cs)NSLayoutConstraint" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit22SBUUserMessageTextViewC19textRightConstraintSo08NSLayoutI0CSgvs", + "mangledName": "$s13SendbirdUIKit22SBUUserMessageTextViewC19textRightConstraintSo08NSLayoutI0CSgvs", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit22SBUUserMessageTextViewC19textRightConstraintSo08NSLayoutI0CSgvM", + "mangledName": "$s13SendbirdUIKit22SBUUserMessageTextViewC19textRightConstraintSo08NSLayoutI0CSgvM", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, { "kind": "Constructor", "name": "init", @@ -331446,6 +338800,45 @@ ], "reqNewWitnessTableEntry": true, "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "messageThreadViewModel", + "printedName": "messageThreadViewModel(_:didFinishUploadingFileAt:multipleFilesMessageRequestId:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "SBUMessageThreadViewModel", + "printedName": "SendbirdUIKit.SBUMessageThreadViewModel", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMessageThreadViewModel" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Func", + "usr": "s:13SendbirdUIKit33SBUMessageThreadViewModelDelegateP07messagedeF0_24didFinishUploadingFileAt29multipleFilesMessageRequestIdyAA0cdeF0C_SiSStF", + "mangledName": "$s13SendbirdUIKit33SBUMessageThreadViewModelDelegateP07messagedeF0_24didFinishUploadingFileAt29multipleFilesMessageRequestIdyAA0cdeF0C_SiSStF", + "moduleName": "SendbirdUIKit", + "genericSig": "<τ_0_0 where τ_0_0 : SendbirdUIKit.SBUMessageThreadViewModelDelegate>", + "sugared_genericSig": "", + "protocolReq": true, + "reqNewWitnessTableEntry": true, + "funcSelfKind": "NonMutating" } ], "declKind": "Protocol", @@ -331789,6 +339182,240 @@ } ] }, + { + "kind": "Var", + "name": "sendMultipleFilesMessageCompletionHandler", + "printedName": "sendMultipleFilesMessageCompletionHandler", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "((SendbirdChatSDK.MultipleFilesMessage?, SendbirdChatSDK.SBError?) -> ())?", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(SendbirdChatSDK.MultipleFilesMessage?, SendbirdChatSDK.SBError?) -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(SendbirdChatSDK.MultipleFilesMessage?, SendbirdChatSDK.SBError?)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "SendbirdChatSDK.MultipleFilesMessage?", + "children": [ + { + "kind": "TypeNominal", + "name": "MultipleFilesMessage", + "printedName": "SendbirdChatSDK.MultipleFilesMessage", + "usr": "c:@M@SendbirdChatSDK@objc(cs)SBDMultipleFilesMessage" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "SendbirdChatSDK.SBError?", + "children": [ + { + "kind": "TypeNominal", + "name": "SBError", + "printedName": "SendbirdChatSDK.SBError", + "usr": "c:@M@SendbirdChatSDK@objc(cs)SBError" + } + ], + "usr": "s:Sq" + } + ] + } + ] + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit25SBUMessageThreadViewModelC41sendMultipleFilesMessageCompletionHandlery0A7ChatSDK0hiJ0CSg_AE7SBErrorCSgtcSgvp", + "mangledName": "$s13SendbirdUIKit25SBUMessageThreadViewModelC41sendMultipleFilesMessageCompletionHandlery0A7ChatSDK0hiJ0CSg_AE7SBErrorCSgtcSgvp", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "((SendbirdChatSDK.MultipleFilesMessage?, SendbirdChatSDK.SBError?) -> ())?", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(SendbirdChatSDK.MultipleFilesMessage?, SendbirdChatSDK.SBError?) -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(SendbirdChatSDK.MultipleFilesMessage?, SendbirdChatSDK.SBError?)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "SendbirdChatSDK.MultipleFilesMessage?", + "children": [ + { + "kind": "TypeNominal", + "name": "MultipleFilesMessage", + "printedName": "SendbirdChatSDK.MultipleFilesMessage", + "usr": "c:@M@SendbirdChatSDK@objc(cs)SBDMultipleFilesMessage" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "SendbirdChatSDK.SBError?", + "children": [ + { + "kind": "TypeNominal", + "name": "SBError", + "printedName": "SendbirdChatSDK.SBError", + "usr": "c:@M@SendbirdChatSDK@objc(cs)SBError" + } + ], + "usr": "s:Sq" + } + ] + } + ] + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit25SBUMessageThreadViewModelC41sendMultipleFilesMessageCompletionHandlery0A7ChatSDK0hiJ0CSg_AE7SBErrorCSgtcSgvg", + "mangledName": "$s13SendbirdUIKit25SBUMessageThreadViewModelC41sendMultipleFilesMessageCompletionHandlery0A7ChatSDK0hiJ0CSg_AE7SBErrorCSgtcSgvg", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "((SendbirdChatSDK.MultipleFilesMessage?, SendbirdChatSDK.SBError?) -> ())?", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(SendbirdChatSDK.MultipleFilesMessage?, SendbirdChatSDK.SBError?) -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(SendbirdChatSDK.MultipleFilesMessage?, SendbirdChatSDK.SBError?)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "SendbirdChatSDK.MultipleFilesMessage?", + "children": [ + { + "kind": "TypeNominal", + "name": "MultipleFilesMessage", + "printedName": "SendbirdChatSDK.MultipleFilesMessage", + "usr": "c:@M@SendbirdChatSDK@objc(cs)SBDMultipleFilesMessage" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "SendbirdChatSDK.SBError?", + "children": [ + { + "kind": "TypeNominal", + "name": "SBError", + "printedName": "SendbirdChatSDK.SBError", + "usr": "c:@M@SendbirdChatSDK@objc(cs)SBError" + } + ], + "usr": "s:Sq" + } + ] + } + ] + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit25SBUMessageThreadViewModelC41sendMultipleFilesMessageCompletionHandlery0A7ChatSDK0hiJ0CSg_AE7SBErrorCSgtcSgvs", + "mangledName": "$s13SendbirdUIKit25SBUMessageThreadViewModelC41sendMultipleFilesMessageCompletionHandlery0A7ChatSDK0hiJ0CSg_AE7SBErrorCSgtcSgvs", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit25SBUMessageThreadViewModelC41sendMultipleFilesMessageCompletionHandlery0A7ChatSDK0hiJ0CSg_AE7SBErrorCSgtcSgvM", + "mangledName": "$s13SendbirdUIKit25SBUMessageThreadViewModelC41sendMultipleFilesMessageCompletionHandlery0A7ChatSDK0hiJ0CSg_AE7SBErrorCSgtcSgvM", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, { "kind": "Constructor", "name": "init", @@ -332398,6 +340025,80 @@ ], "funcSelfKind": "NonMutating" }, + { + "kind": "Function", + "name": "sendMultipleFilesMessage", + "printedName": "sendMultipleFilesMessage(fileInfoList:parentMessageId:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[SendbirdChatSDK.UploadableFileInfo]", + "children": [ + { + "kind": "TypeNominal", + "name": "UploadableFileInfo", + "printedName": "SendbirdChatSDK.UploadableFileInfo", + "usr": "c:@M@SendbirdChatSDK@objc(cs)SBDUploadableFileInfo" + } + ], + "usr": "s:Sa" + }, + { + "kind": "TypeNominal", + "name": "Int64", + "printedName": "Swift.Int64", + "usr": "s:s5Int64V" + } + ], + "declKind": "Func", + "usr": "s:13SendbirdUIKit25SBUMessageThreadViewModelC24sendMultipleFilesMessage12fileInfoList06parentJ2IdySay0A7ChatSDK014UploadableFileL0CG_s5Int64VtF", + "mangledName": "$s13SendbirdUIKit25SBUMessageThreadViewModelC24sendMultipleFilesMessage12fileInfoList06parentJ2IdySay0A7ChatSDK014UploadableFileL0CG_s5Int64VtF", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "updateMultipleFilesMessageCell", + "printedName": "updateMultipleFilesMessageCell(requestId:index:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Func", + "usr": "s:13SendbirdUIKit25SBUMessageThreadViewModelC30updateMultipleFilesMessageCell9requestId5indexySS_SitF", + "mangledName": "$s13SendbirdUIKit25SBUMessageThreadViewModelC30updateMultipleFilesMessageCell9requestId5indexySS_SitF", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, { "kind": "Function", "name": "setupSendUserMessageCompletionHandlers", @@ -333645,6 +341346,1131 @@ "declKind": "Import", "moduleName": "SendbirdUIKit" }, + { + "kind": "TypeDecl", + "name": "SBUMultipleFilesMessageCell", + "printedName": "SBUMultipleFilesMessageCell", + "children": [ + { + "kind": "Var", + "name": "multipleFilesMessage", + "printedName": "multipleFilesMessage", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "SendbirdChatSDK.MultipleFilesMessage?", + "children": [ + { + "kind": "TypeNominal", + "name": "MultipleFilesMessage", + "printedName": "SendbirdChatSDK.MultipleFilesMessage", + "usr": "c:@M@SendbirdChatSDK@objc(cs)SBDMultipleFilesMessage" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCell(py)multipleFilesMessage", + "mangledName": "$s13SendbirdUIKit27SBUMultipleFilesMessageCellC08multipledE00A7ChatSDK08MultipledE0CSgvp", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "Custom", + "AccessControl", + "ObjC" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "SendbirdChatSDK.MultipleFilesMessage?", + "children": [ + { + "kind": "TypeNominal", + "name": "MultipleFilesMessage", + "printedName": "SendbirdChatSDK.MultipleFilesMessage", + "usr": "c:@M@SendbirdChatSDK@objc(cs)SBDMultipleFilesMessage" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCell(im)multipleFilesMessage", + "mangledName": "$s13SendbirdUIKit27SBUMultipleFilesMessageCellC08multipledE00A7ChatSDK08MultipledE0CSgvg", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "ObjC" + ], + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "containerView", + "printedName": "containerView", + "children": [ + { + "kind": "TypeNominal", + "name": "UIView", + "printedName": "UIKit.UIView", + "usr": "c:objc(cs)UIView" + } + ], + "declKind": "Var", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCell(py)containerView", + "mangledName": "$s13SendbirdUIKit27SBUMultipleFilesMessageCellC13containerViewSo6UIViewCvp", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "HasInitialValue", + "Custom", + "HasStorage", + "AccessControl", + "RawDocComment", + "ObjC" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "UIView", + "printedName": "UIKit.UIView", + "usr": "c:objc(cs)UIView" + } + ], + "declKind": "Accessor", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCell(im)containerView", + "mangledName": "$s13SendbirdUIKit27SBUMultipleFilesMessageCellC13containerViewSo6UIViewCvg", + "moduleName": "SendbirdUIKit", + "implicit": true, + "declAttributes": [ + "ObjC" + ], + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "UIView", + "printedName": "UIKit.UIView", + "usr": "c:objc(cs)UIView" + } + ], + "declKind": "Accessor", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCell(im)setContainerView:", + "mangledName": "$s13SendbirdUIKit27SBUMultipleFilesMessageCellC13containerViewSo6UIViewCvs", + "moduleName": "SendbirdUIKit", + "implicit": true, + "declAttributes": [ + "ObjC" + ], + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit27SBUMultipleFilesMessageCellC13containerViewSo6UIViewCvM", + "mangledName": "$s13SendbirdUIKit27SBUMultipleFilesMessageCellC13containerViewSo6UIViewCvM", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "collectionView", + "printedName": "collectionView", + "children": [ + { + "kind": "TypeNominal", + "name": "SBUMultipleFilesMessageCollectionView", + "printedName": "SendbirdUIKit.SBUMultipleFilesMessageCollectionView", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCollectionView" + } + ], + "declKind": "Var", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCell(py)collectionView", + "mangledName": "$s13SendbirdUIKit27SBUMultipleFilesMessageCellC14collectionViewAA0cde10CollectionH0Cvp", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "Custom", + "Lazy", + "AccessControl", + "RawDocComment", + "ObjC" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "SBUMultipleFilesMessageCollectionView", + "printedName": "SendbirdUIKit.SBUMultipleFilesMessageCollectionView", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCollectionView" + } + ], + "declKind": "Accessor", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCell(im)collectionView", + "mangledName": "$s13SendbirdUIKit27SBUMultipleFilesMessageCellC14collectionViewAA0cde10CollectionH0Cvg", + "moduleName": "SendbirdUIKit", + "implicit": true, + "declAttributes": [ + "ObjC" + ], + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "SBUMultipleFilesMessageCollectionView", + "printedName": "SendbirdUIKit.SBUMultipleFilesMessageCollectionView", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCollectionView" + } + ], + "declKind": "Accessor", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCell(im)setCollectionView:", + "mangledName": "$s13SendbirdUIKit27SBUMultipleFilesMessageCellC14collectionViewAA0cde10CollectionH0Cvs", + "moduleName": "SendbirdUIKit", + "implicit": true, + "declAttributes": [ + "ObjC" + ], + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit27SBUMultipleFilesMessageCellC14collectionViewAA0cde10CollectionH0CvM", + "mangledName": "$s13SendbirdUIKit27SBUMultipleFilesMessageCellC14collectionViewAA0cde10CollectionH0CvM", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "collectionViewHeightConstraint", + "printedName": "collectionViewHeightConstraint", + "children": [ + { + "kind": "TypeNominal", + "name": "ImplicitlyUnwrappedOptional", + "printedName": "UIKit.NSLayoutConstraint?", + "children": [ + { + "kind": "TypeNominal", + "name": "NSLayoutConstraint", + "printedName": "UIKit.NSLayoutConstraint", + "usr": "c:objc(cs)NSLayoutConstraint" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCell(py)collectionViewHeightConstraint", + "mangledName": "$s13SendbirdUIKit27SBUMultipleFilesMessageCellC30collectionViewHeightConstraintSo08NSLayoutJ0CSgvp", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "HasInitialValue", + "Custom", + "HasStorage", + "SetterAccess", + "AccessControl", + "RawDocComment", + "ObjC" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "ImplicitlyUnwrappedOptional", + "printedName": "UIKit.NSLayoutConstraint?", + "children": [ + { + "kind": "TypeNominal", + "name": "NSLayoutConstraint", + "printedName": "UIKit.NSLayoutConstraint", + "usr": "c:objc(cs)NSLayoutConstraint" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCell(im)collectionViewHeightConstraint", + "mangledName": "$s13SendbirdUIKit27SBUMultipleFilesMessageCellC30collectionViewHeightConstraintSo08NSLayoutJ0CSgvg", + "moduleName": "SendbirdUIKit", + "implicit": true, + "declAttributes": [ + "ObjC" + ], + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "fileSelectHandler", + "printedName": "fileSelectHandler", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "((SendbirdChatSDK.UploadedFileInfo, Swift.Int) -> ())?", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(SendbirdChatSDK.UploadedFileInfo, Swift.Int) -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(SendbirdChatSDK.UploadedFileInfo, Swift.Int)", + "children": [ + { + "kind": "TypeNominal", + "name": "UploadedFileInfo", + "printedName": "SendbirdChatSDK.UploadedFileInfo", + "usr": "c:@M@SendbirdChatSDK@objc(cs)SBDUploadedFileInfo" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ] + } + ] + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCell(py)fileSelectHandler", + "mangledName": "$s13SendbirdUIKit27SBUMultipleFilesMessageCellC17fileSelectHandlery0A7ChatSDK16UploadedFileInfoC_SitcSgvp", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "HasInitialValue", + "Custom", + "HasStorage", + "AccessControl", + "RawDocComment", + "ObjC" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "((SendbirdChatSDK.UploadedFileInfo, Swift.Int) -> ())?", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(SendbirdChatSDK.UploadedFileInfo, Swift.Int) -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(SendbirdChatSDK.UploadedFileInfo, Swift.Int)", + "children": [ + { + "kind": "TypeNominal", + "name": "UploadedFileInfo", + "printedName": "SendbirdChatSDK.UploadedFileInfo", + "usr": "c:@M@SendbirdChatSDK@objc(cs)SBDUploadedFileInfo" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ] + } + ] + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCell(im)fileSelectHandler", + "mangledName": "$s13SendbirdUIKit27SBUMultipleFilesMessageCellC17fileSelectHandlery0A7ChatSDK16UploadedFileInfoC_SitcSgvg", + "moduleName": "SendbirdUIKit", + "implicit": true, + "declAttributes": [ + "ObjC" + ], + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "((SendbirdChatSDK.UploadedFileInfo, Swift.Int) -> ())?", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(SendbirdChatSDK.UploadedFileInfo, Swift.Int) -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(SendbirdChatSDK.UploadedFileInfo, Swift.Int)", + "children": [ + { + "kind": "TypeNominal", + "name": "UploadedFileInfo", + "printedName": "SendbirdChatSDK.UploadedFileInfo", + "usr": "c:@M@SendbirdChatSDK@objc(cs)SBDUploadedFileInfo" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ] + } + ] + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCell(im)setFileSelectHandler:", + "mangledName": "$s13SendbirdUIKit27SBUMultipleFilesMessageCellC17fileSelectHandlery0A7ChatSDK16UploadedFileInfoC_SitcSgvs", + "moduleName": "SendbirdUIKit", + "implicit": true, + "declAttributes": [ + "ObjC" + ], + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit27SBUMultipleFilesMessageCellC17fileSelectHandlery0A7ChatSDK16UploadedFileInfoC_SitcSgvM", + "mangledName": "$s13SendbirdUIKit27SBUMultipleFilesMessageCellC17fileSelectHandlery0A7ChatSDK16UploadedFileInfoC_SitcSgvM", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Function", + "name": "setupViews", + "printedName": "setupViews()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Func", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCell(im)setupViews", + "mangledName": "$s13SendbirdUIKit27SBUMultipleFilesMessageCellC10setupViewsyyF", + "moduleName": "SendbirdUIKit", + "overriding": true, + "isOpen": true, + "objc_name": "setupViews", + "declAttributes": [ + "Dynamic", + "ObjC", + "Custom", + "Override", + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "setupLayouts", + "printedName": "setupLayouts()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Func", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCell(im)setupLayouts", + "mangledName": "$s13SendbirdUIKit27SBUMultipleFilesMessageCellC12setupLayoutsyyF", + "moduleName": "SendbirdUIKit", + "overriding": true, + "isOpen": true, + "objc_name": "setupLayouts", + "declAttributes": [ + "Dynamic", + "ObjC", + "Custom", + "Override", + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "setupStyles", + "printedName": "setupStyles()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Func", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCell(im)setupStyles", + "mangledName": "$s13SendbirdUIKit27SBUMultipleFilesMessageCellC11setupStylesyyF", + "moduleName": "SendbirdUIKit", + "overriding": true, + "isOpen": true, + "objc_name": "setupStyles", + "declAttributes": [ + "Dynamic", + "ObjC", + "Custom", + "Override", + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "setupActions", + "printedName": "setupActions()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Func", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCell(im)setupActions", + "mangledName": "$s13SendbirdUIKit27SBUMultipleFilesMessageCellC12setupActionsyyF", + "moduleName": "SendbirdUIKit", + "overriding": true, + "isOpen": true, + "objc_name": "setupActions", + "declAttributes": [ + "Dynamic", + "ObjC", + "Custom", + "Override", + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "configure", + "printedName": "configure(with:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "SBUBaseMessageCellParams", + "printedName": "SendbirdUIKit.SBUBaseMessageCellParams", + "usr": "s:13SendbirdUIKit24SBUBaseMessageCellParamsC" + } + ], + "declKind": "Func", + "usr": "s:13SendbirdUIKit27SBUMultipleFilesMessageCellC9configure4withyAA07SBUBaseeF6ParamsC_tF", + "mangledName": "$s13SendbirdUIKit27SBUMultipleFilesMessageCellC9configure4withyAA07SBUBaseeF6ParamsC_tF", + "moduleName": "SendbirdUIKit", + "overriding": true, + "isOpen": true, + "declAttributes": [ + "Custom", + "Override", + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "setSelected", + "printedName": "setSelected(_:animated:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Func", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCell(im)setSelected:animated:", + "mangledName": "$s13SendbirdUIKit27SBUMultipleFilesMessageCellC11setSelected_8animatedySb_SbtF", + "moduleName": "SendbirdUIKit", + "overriding": true, + "isOpen": true, + "objc_name": "setSelected:animated:", + "declAttributes": [ + "Dynamic", + "ObjC", + "Custom", + "Override", + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(style:reuseIdentifier:)", + "children": [ + { + "kind": "TypeNominal", + "name": "SBUMultipleFilesMessageCell", + "printedName": "SendbirdUIKit.SBUMultipleFilesMessageCell", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCell" + }, + { + "kind": "TypeNominal", + "name": "CellStyle", + "printedName": "UIKit.UITableViewCell.CellStyle", + "usr": "c:@E@UITableViewCellStyle" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.String?", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Constructor", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCell(im)initWithStyle:reuseIdentifier:", + "mangledName": "$s13SendbirdUIKit27SBUMultipleFilesMessageCellC5style15reuseIdentifierACSo011UITableViewF5StyleV_SSSgtcfc", + "moduleName": "SendbirdUIKit", + "overriding": true, + "implicit": true, + "objc_name": "initWithStyle:reuseIdentifier:", + "declAttributes": [ + "Dynamic", + "ObjC", + "Custom", + "Override" + ], + "init_kind": "Designated" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(coder:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "SendbirdUIKit.SBUMultipleFilesMessageCell?", + "children": [ + { + "kind": "TypeNominal", + "name": "SBUMultipleFilesMessageCell", + "printedName": "SendbirdUIKit.SBUMultipleFilesMessageCell", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCell" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "NSCoder", + "printedName": "Foundation.NSCoder", + "usr": "c:objc(cs)NSCoder" + } + ], + "declKind": "Constructor", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCell(im)initWithCoder:", + "mangledName": "$s13SendbirdUIKit27SBUMultipleFilesMessageCellC5coderACSgSo7NSCoderC_tcfc", + "moduleName": "SendbirdUIKit", + "overriding": true, + "implicit": true, + "objc_name": "initWithCoder:", + "declAttributes": [ + "Dynamic", + "ObjC", + "Custom", + "Required" + ], + "init_kind": "Designated" + }, + { + "kind": "Function", + "name": "collectionView", + "printedName": "collectionView(_:cellForItemAt:)", + "children": [ + { + "kind": "TypeNominal", + "name": "UICollectionViewCell", + "printedName": "UIKit.UICollectionViewCell", + "usr": "c:objc(cs)UICollectionViewCell" + }, + { + "kind": "TypeNominal", + "name": "UICollectionView", + "printedName": "UIKit.UICollectionView", + "usr": "c:objc(cs)UICollectionView" + }, + { + "kind": "TypeNominal", + "name": "IndexPath", + "printedName": "Foundation.IndexPath", + "usr": "s:10Foundation9IndexPathV" + } + ], + "declKind": "Func", + "usr": "c:@CM@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCell(im)collectionView:cellForItemAtIndexPath:", + "mangledName": "$s13SendbirdUIKit27SBUMultipleFilesMessageCellC14collectionView_13cellForItemAtSo012UICollectionhF0CSo0mH0C_10Foundation9IndexPathVtF", + "moduleName": "SendbirdUIKit", + "isOpen": true, + "objc_name": "collectionView:cellForItemAtIndexPath:", + "declAttributes": [ + "Dynamic", + "ObjC", + "Custom", + "AccessControl" + ], + "isFromExtension": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "collectionView", + "printedName": "collectionView(_:numberOfItemsInSection:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "UICollectionView", + "printedName": "UIKit.UICollectionView", + "usr": "c:objc(cs)UICollectionView" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Func", + "usr": "c:@CM@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCell(im)collectionView:numberOfItemsInSection:", + "mangledName": "$s13SendbirdUIKit27SBUMultipleFilesMessageCellC14collectionView_22numberOfItemsInSectionSiSo012UICollectionH0C_SitF", + "moduleName": "SendbirdUIKit", + "isOpen": true, + "objc_name": "collectionView:numberOfItemsInSection:", + "declAttributes": [ + "Dynamic", + "ObjC", + "Custom", + "AccessControl" + ], + "isFromExtension": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "numberOfSections", + "printedName": "numberOfSections(in:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "UICollectionView", + "printedName": "UIKit.UICollectionView", + "usr": "c:objc(cs)UICollectionView" + } + ], + "declKind": "Func", + "usr": "c:@CM@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCell(im)numberOfSectionsInCollectionView:", + "mangledName": "$s13SendbirdUIKit27SBUMultipleFilesMessageCellC16numberOfSections2inSiSo16UICollectionViewC_tF", + "moduleName": "SendbirdUIKit", + "isOpen": true, + "objc_name": "numberOfSectionsInCollectionView:", + "declAttributes": [ + "Dynamic", + "ObjC", + "Custom", + "AccessControl" + ], + "isFromExtension": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "collectionView", + "printedName": "collectionView(_:didSelectItemAt:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "UICollectionView", + "printedName": "UIKit.UICollectionView", + "usr": "c:objc(cs)UICollectionView" + }, + { + "kind": "TypeNominal", + "name": "IndexPath", + "printedName": "Foundation.IndexPath", + "usr": "s:10Foundation9IndexPathV" + } + ], + "declKind": "Func", + "usr": "c:@CM@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCell(im)collectionView:didSelectItemAtIndexPath:", + "mangledName": "$s13SendbirdUIKit27SBUMultipleFilesMessageCellC14collectionView_15didSelectItemAtySo012UICollectionH0C_10Foundation9IndexPathVtF", + "moduleName": "SendbirdUIKit", + "isOpen": true, + "objc_name": "collectionView:didSelectItemAtIndexPath:", + "declAttributes": [ + "Dynamic", + "ObjC", + "Custom", + "AccessControl" + ], + "isFromExtension": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "collectionView", + "printedName": "collectionView(_:layout:sizeForItemAt:)", + "children": [ + { + "kind": "TypeNominal", + "name": "CGSize", + "printedName": "CoreFoundation.CGSize", + "usr": "c:@S@CGSize" + }, + { + "kind": "TypeNominal", + "name": "UICollectionView", + "printedName": "UIKit.UICollectionView", + "usr": "c:objc(cs)UICollectionView" + }, + { + "kind": "TypeNominal", + "name": "UICollectionViewLayout", + "printedName": "UIKit.UICollectionViewLayout", + "usr": "c:objc(cs)UICollectionViewLayout" + }, + { + "kind": "TypeNominal", + "name": "IndexPath", + "printedName": "Foundation.IndexPath", + "usr": "s:10Foundation9IndexPathV" + } + ], + "declKind": "Func", + "usr": "c:@CM@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCell(im)collectionView:layout:sizeForItemAtIndexPath:", + "mangledName": "$s13SendbirdUIKit27SBUMultipleFilesMessageCellC14collectionView_6layout13sizeForItemAtSo6CGSizeVSo012UICollectionH0C_So0oH6LayoutC10Foundation9IndexPathVtF", + "moduleName": "SendbirdUIKit", + "isOpen": true, + "objc_name": "collectionView:layout:sizeForItemAtIndexPath:", + "declAttributes": [ + "Dynamic", + "ObjC", + "Custom", + "AccessControl" + ], + "isFromExtension": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "prepareForReuse", + "printedName": "prepareForReuse()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Func", + "usr": "c:@CM@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCell(im)prepareForReuse", + "mangledName": "$s13SendbirdUIKit27SBUMultipleFilesMessageCellC15prepareForReuseyyF", + "moduleName": "SendbirdUIKit", + "overriding": true, + "isOpen": true, + "objc_name": "prepareForReuse", + "declAttributes": [ + "Dynamic", + "ObjC", + "Custom", + "Override", + "AccessControl" + ], + "isFromExtension": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Class", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUMultipleFilesMessageCell", + "mangledName": "$s13SendbirdUIKit27SBUMultipleFilesMessageCellC", + "moduleName": "SendbirdUIKit", + "isOpen": true, + "declAttributes": [ + "Custom", + "AccessControl", + "RawDocComment", + "ObjC" + ], + "superclassUsr": "c:@M@SendbirdUIKit@objc(cs)SBUContentBaseMessageCell", + "inheritsConvenienceInitializers": true, + "superclassNames": [ + "SendbirdUIKit.SBUContentBaseMessageCell", + "SendbirdUIKit.SBUBaseMessageCell", + "SendbirdUIKit.SBUTableViewCell", + "UIKit.UITableViewCell", + "UIKit.UIView", + "UIKit.UIResponder", + "ObjectiveC.NSObject" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "SBUMessageCellProtocol", + "printedName": "SBUMessageCellProtocol", + "usr": "s:13SendbirdUIKit22SBUMessageCellProtocolP", + "mangledName": "$s13SendbirdUIKit22SBUMessageCellProtocolP" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "CVarArg", + "printedName": "CVarArg", + "usr": "s:s7CVarArgP", + "mangledName": "$ss7CVarArgP" + }, + { + "kind": "Conformance", + "name": "_KeyValueCodingAndObservingPublishing", + "printedName": "_KeyValueCodingAndObservingPublishing", + "usr": "s:10Foundation37_KeyValueCodingAndObservingPublishingP", + "mangledName": "$s10Foundation37_KeyValueCodingAndObservingPublishingP" + }, + { + "kind": "Conformance", + "name": "_KeyValueCodingAndObserving", + "printedName": "_KeyValueCodingAndObserving", + "usr": "s:10Foundation27_KeyValueCodingAndObservingP", + "mangledName": "$s10Foundation27_KeyValueCodingAndObservingP" + }, + { + "kind": "Conformance", + "name": "CustomStringConvertible", + "printedName": "CustomStringConvertible", + "usr": "s:s23CustomStringConvertibleP", + "mangledName": "$ss23CustomStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "CustomDebugStringConvertible", + "printedName": "CustomDebugStringConvertible", + "usr": "s:s28CustomDebugStringConvertibleP", + "mangledName": "$ss28CustomDebugStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + }, + { + "kind": "Conformance", + "name": "__DefaultCustomPlaygroundQuickLookable", + "printedName": "__DefaultCustomPlaygroundQuickLookable", + "usr": "s:s38__DefaultCustomPlaygroundQuickLookableP", + "mangledName": "$ss38__DefaultCustomPlaygroundQuickLookableP" + }, + { + "kind": "Conformance", + "name": "SBUViewLifeCycle", + "printedName": "SBUViewLifeCycle", + "usr": "c:@M@SendbirdUIKit@objc(pl)SBUViewLifeCycle", + "mangledName": "$s13SendbirdUIKit16SBUViewLifeCycleP" + } + ] + }, + { + "kind": "Import", + "name": "UIKit", + "printedName": "UIKit", + "declKind": "Import", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "SendbirdChatSDK", + "printedName": "SendbirdChatSDK", + "declKind": "Import", + "moduleName": "SendbirdUIKit" + }, { "kind": "TypeDecl", "name": "SBUUserListModuleHeaderDelegate", @@ -336917,6 +345743,45 @@ ], "reqNewWitnessTableEntry": true, "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "groupChannelViewModel", + "printedName": "groupChannelViewModel(_:didFinishUploadingFileAt:multipleFilesMessageRequestId:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "SBUGroupChannelViewModel", + "printedName": "SendbirdUIKit.SBUGroupChannelViewModel", + "usr": "c:@M@SendbirdUIKit@objc(cs)SBUGroupChannelViewModel" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Func", + "usr": "s:13SendbirdUIKit32SBUGroupChannelViewModelDelegateP05groupdeF0_24didFinishUploadingFileAt29multipleFilesMessageRequestIdyAA0cdeF0C_SiSStF", + "mangledName": "$s13SendbirdUIKit32SBUGroupChannelViewModelDelegateP05groupdeF0_24didFinishUploadingFileAt29multipleFilesMessageRequestIdyAA0cdeF0C_SiSStF", + "moduleName": "SendbirdUIKit", + "genericSig": "<τ_0_0 where τ_0_0 : SendbirdUIKit.SBUGroupChannelViewModelDelegate>", + "sugared_genericSig": "", + "protocolReq": true, + "reqNewWitnessTableEntry": true, + "funcSelfKind": "NonMutating" } ], "declKind": "Protocol", @@ -337154,6 +346019,240 @@ } ] }, + { + "kind": "Var", + "name": "sendMultipleFilesMessageCompletionHandler", + "printedName": "sendMultipleFilesMessageCompletionHandler", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "((SendbirdChatSDK.MultipleFilesMessage?, SendbirdChatSDK.SBError?) -> ())?", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(SendbirdChatSDK.MultipleFilesMessage?, SendbirdChatSDK.SBError?) -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(SendbirdChatSDK.MultipleFilesMessage?, SendbirdChatSDK.SBError?)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "SendbirdChatSDK.MultipleFilesMessage?", + "children": [ + { + "kind": "TypeNominal", + "name": "MultipleFilesMessage", + "printedName": "SendbirdChatSDK.MultipleFilesMessage", + "usr": "c:@M@SendbirdChatSDK@objc(cs)SBDMultipleFilesMessage" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "SendbirdChatSDK.SBError?", + "children": [ + { + "kind": "TypeNominal", + "name": "SBError", + "printedName": "SendbirdChatSDK.SBError", + "usr": "c:@M@SendbirdChatSDK@objc(cs)SBError" + } + ], + "usr": "s:Sq" + } + ] + } + ] + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:13SendbirdUIKit24SBUGroupChannelViewModelC41sendMultipleFilesMessageCompletionHandlery0A7ChatSDK0hiJ0CSg_AE7SBErrorCSgtcSgvp", + "mangledName": "$s13SendbirdUIKit24SBUGroupChannelViewModelC41sendMultipleFilesMessageCompletionHandlery0A7ChatSDK0hiJ0CSg_AE7SBErrorCSgtcSgvp", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "((SendbirdChatSDK.MultipleFilesMessage?, SendbirdChatSDK.SBError?) -> ())?", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(SendbirdChatSDK.MultipleFilesMessage?, SendbirdChatSDK.SBError?) -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(SendbirdChatSDK.MultipleFilesMessage?, SendbirdChatSDK.SBError?)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "SendbirdChatSDK.MultipleFilesMessage?", + "children": [ + { + "kind": "TypeNominal", + "name": "MultipleFilesMessage", + "printedName": "SendbirdChatSDK.MultipleFilesMessage", + "usr": "c:@M@SendbirdChatSDK@objc(cs)SBDMultipleFilesMessage" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "SendbirdChatSDK.SBError?", + "children": [ + { + "kind": "TypeNominal", + "name": "SBError", + "printedName": "SendbirdChatSDK.SBError", + "usr": "c:@M@SendbirdChatSDK@objc(cs)SBError" + } + ], + "usr": "s:Sq" + } + ] + } + ] + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit24SBUGroupChannelViewModelC41sendMultipleFilesMessageCompletionHandlery0A7ChatSDK0hiJ0CSg_AE7SBErrorCSgtcSgvg", + "mangledName": "$s13SendbirdUIKit24SBUGroupChannelViewModelC41sendMultipleFilesMessageCompletionHandlery0A7ChatSDK0hiJ0CSg_AE7SBErrorCSgtcSgvg", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "((SendbirdChatSDK.MultipleFilesMessage?, SendbirdChatSDK.SBError?) -> ())?", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(SendbirdChatSDK.MultipleFilesMessage?, SendbirdChatSDK.SBError?) -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(SendbirdChatSDK.MultipleFilesMessage?, SendbirdChatSDK.SBError?)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "SendbirdChatSDK.MultipleFilesMessage?", + "children": [ + { + "kind": "TypeNominal", + "name": "MultipleFilesMessage", + "printedName": "SendbirdChatSDK.MultipleFilesMessage", + "usr": "c:@M@SendbirdChatSDK@objc(cs)SBDMultipleFilesMessage" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "SendbirdChatSDK.SBError?", + "children": [ + { + "kind": "TypeNominal", + "name": "SBError", + "printedName": "SendbirdChatSDK.SBError", + "usr": "c:@M@SendbirdChatSDK@objc(cs)SBError" + } + ], + "usr": "s:Sq" + } + ] + } + ] + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit24SBUGroupChannelViewModelC41sendMultipleFilesMessageCompletionHandlery0A7ChatSDK0hiJ0CSg_AE7SBErrorCSgtcSgvs", + "mangledName": "$s13SendbirdUIKit24SBUGroupChannelViewModelC41sendMultipleFilesMessageCompletionHandlery0A7ChatSDK0hiJ0CSg_AE7SBErrorCSgtcSgvs", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:13SendbirdUIKit24SBUGroupChannelViewModelC41sendMultipleFilesMessageCompletionHandlery0A7ChatSDK0hiJ0CSg_AE7SBErrorCSgtcSgvM", + "mangledName": "$s13SendbirdUIKit24SBUGroupChannelViewModelC41sendMultipleFilesMessageCompletionHandlery0A7ChatSDK0hiJ0CSg_AE7SBErrorCSgtcSgvM", + "moduleName": "SendbirdUIKit", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, { "kind": "Constructor", "name": "init", @@ -337395,6 +346494,76 @@ ], "funcSelfKind": "NonMutating" }, + { + "kind": "Function", + "name": "sendMultipleFilesMessage", + "printedName": "sendMultipleFilesMessage(fileInfoList:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[SendbirdChatSDK.UploadableFileInfo]", + "children": [ + { + "kind": "TypeNominal", + "name": "UploadableFileInfo", + "printedName": "SendbirdChatSDK.UploadableFileInfo", + "usr": "c:@M@SendbirdChatSDK@objc(cs)SBDUploadableFileInfo" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Func", + "usr": "s:13SendbirdUIKit24SBUGroupChannelViewModelC24sendMultipleFilesMessage12fileInfoListySay0A7ChatSDK014UploadableFileL0CG_tF", + "mangledName": "$s13SendbirdUIKit24SBUGroupChannelViewModelC24sendMultipleFilesMessage12fileInfoListySay0A7ChatSDK014UploadableFileL0CG_tF", + "moduleName": "SendbirdUIKit", + "isOpen": true, + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "updateMultipleFilesMessageCell", + "printedName": "updateMultipleFilesMessageCell(requestId:index:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Func", + "usr": "s:13SendbirdUIKit24SBUGroupChannelViewModelC30updateMultipleFilesMessageCell9requestId5indexySS_SitF", + "mangledName": "$s13SendbirdUIKit24SBUGroupChannelViewModelC30updateMultipleFilesMessageCell9requestId5indexySS_SitF", + "moduleName": "SendbirdUIKit", + "isOpen": true, + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, { "kind": "Function", "name": "loadInitialMessages", @@ -343246,6 +352415,173 @@ } ] }, + { + "kind": "TypeDecl", + "name": "MultipleFilesMessage", + "printedName": "MultipleFilesMessage", + "children": [ + { + "kind": "Var", + "name": "filesCount", + "printedName": "filesCount", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:15SendbirdChatSDK20MultipleFilesMessageC0A5UIKitE10filesCountSivp", + "mangledName": "$s15SendbirdChatSDK20MultipleFilesMessageC0A5UIKitE10filesCountSivp", + "moduleName": "SendbirdUIKit", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:15SendbirdChatSDK20MultipleFilesMessageC0A5UIKitE10filesCountSivg", + "mangledName": "$s15SendbirdChatSDK20MultipleFilesMessageC0A5UIKitE10filesCountSivg", + "moduleName": "SendbirdUIKit", + "isFromExtension": true, + "accessorKind": "get" + } + ] + } + ], + "declKind": "Class", + "usr": "c:@M@SendbirdChatSDK@objc(cs)SBDMultipleFilesMessage", + "mangledName": "$s15SendbirdChatSDK20MultipleFilesMessageC", + "moduleName": "SendbirdChatSDK", + "objc_name": "SBDMultipleFilesMessage", + "declAttributes": [ + "ObjC" + ], + "superclassUsr": "c:@M@SendbirdChatSDK@objc(cs)SBDBaseMessage", + "isExternal": true, + "hasMissingDesignatedInitializers": true, + "inheritsConvenienceInitializers": true, + "superclassNames": [ + "SendbirdChatSDK.BaseMessage", + "ObjectiveC.NSObject" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Decodable", + "printedName": "Decodable", + "usr": "s:Se", + "mangledName": "$sSe" + }, + { + "kind": "Conformance", + "name": "Encodable", + "printedName": "Encodable", + "usr": "s:SE", + "mangledName": "$sSE" + }, + { + "kind": "Conformance", + "name": "Identifiable", + "printedName": "Identifiable", + "children": [ + { + "kind": "TypeWitness", + "name": "ID", + "printedName": "ID", + "children": [ + { + "kind": "TypeNominal", + "name": "AnyHashable", + "printedName": "Swift.AnyHashable", + "usr": "s:s11AnyHashableV" + } + ] + } + ], + "usr": "s:s12IdentifiableP", + "mangledName": "$ss12IdentifiableP" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "CVarArg", + "printedName": "CVarArg", + "usr": "s:s7CVarArgP", + "mangledName": "$ss7CVarArgP" + }, + { + "kind": "Conformance", + "name": "_KeyValueCodingAndObservingPublishing", + "printedName": "_KeyValueCodingAndObservingPublishing", + "usr": "s:10Foundation37_KeyValueCodingAndObservingPublishingP", + "mangledName": "$s10Foundation37_KeyValueCodingAndObservingPublishingP" + }, + { + "kind": "Conformance", + "name": "_KeyValueCodingAndObserving", + "printedName": "_KeyValueCodingAndObserving", + "usr": "s:10Foundation27_KeyValueCodingAndObservingP", + "mangledName": "$s10Foundation27_KeyValueCodingAndObservingP" + }, + { + "kind": "Conformance", + "name": "CustomStringConvertible", + "printedName": "CustomStringConvertible", + "usr": "s:s23CustomStringConvertibleP", + "mangledName": "$ss23CustomStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "CustomDebugStringConvertible", + "printedName": "CustomDebugStringConvertible", + "usr": "s:s28CustomDebugStringConvertibleP", + "mangledName": "$ss28CustomDebugStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "Serializable", + "printedName": "Serializable", + "usr": "c:@M@SendbirdChatSDK@objc(pl)Serializable", + "mangledName": "$s15SendbirdChatSDK12SerializableP" + }, + { + "kind": "Conformance", + "name": "Mappable", + "printedName": "Mappable", + "usr": "c:@M@SendbirdChatSDK@objc(pl)Mappable", + "mangledName": "$s15SendbirdChatSDK8MappableP" + } + ] + }, { "kind": "TypeDecl", "name": "Sequence", @@ -348968,6 +358304,136 @@ } ] }, + { + "kind": "TypeDecl", + "name": "NSLayoutConstraint", + "printedName": "NSLayoutConstraint", + "children": [ + { + "kind": "Function", + "name": "sbu_activate", + "printedName": "sbu_activate(baseView:constraints:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "UIView", + "printedName": "UIKit.UIView", + "usr": "c:objc(cs)UIView" + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[UIKit.NSLayoutConstraint?]", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "UIKit.NSLayoutConstraint?", + "children": [ + { + "kind": "TypeNominal", + "name": "NSLayoutConstraint", + "printedName": "UIKit.NSLayoutConstraint", + "usr": "c:objc(cs)NSLayoutConstraint" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Func", + "usr": "s:So18NSLayoutConstraintC13SendbirdUIKitE12sbu_activate8baseView11constraintsySo6UIViewC_SayABSgGtFZ", + "mangledName": "$sSo18NSLayoutConstraintC13SendbirdUIKitE12sbu_activate8baseView11constraintsySo6UIViewC_SayABSgGtFZ", + "moduleName": "SendbirdUIKit", + "static": true, + "declAttributes": [ + "Custom", + "Final", + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Class", + "usr": "c:objc(cs)NSLayoutConstraint", + "moduleName": "UIKit", + "isOpen": true, + "intro_iOS": "6.0", + "objc_name": "NSLayoutConstraint", + "declAttributes": [ + "Available", + "ObjC", + "NonSendable", + "Custom", + "Dynamic" + ], + "superclassUsr": "c:objc(cs)NSObject", + "isExternal": true, + "inheritsConvenienceInitializers": true, + "superclassNames": [ + "ObjectiveC.NSObject" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "CVarArg", + "printedName": "CVarArg", + "usr": "s:s7CVarArgP", + "mangledName": "$ss7CVarArgP" + }, + { + "kind": "Conformance", + "name": "_KeyValueCodingAndObservingPublishing", + "printedName": "_KeyValueCodingAndObservingPublishing", + "usr": "s:10Foundation37_KeyValueCodingAndObservingPublishingP", + "mangledName": "$s10Foundation37_KeyValueCodingAndObservingPublishingP" + }, + { + "kind": "Conformance", + "name": "_KeyValueCodingAndObserving", + "printedName": "_KeyValueCodingAndObserving", + "usr": "s:10Foundation27_KeyValueCodingAndObservingP", + "mangledName": "$s10Foundation27_KeyValueCodingAndObservingP" + }, + { + "kind": "Conformance", + "name": "CustomStringConvertible", + "printedName": "CustomStringConvertible", + "usr": "s:s23CustomStringConvertibleP", + "mangledName": "$ss23CustomStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "CustomDebugStringConvertible", + "printedName": "CustomDebugStringConvertible", + "usr": "s:s28CustomDebugStringConvertibleP", + "mangledName": "$ss28CustomDebugStringConvertibleP" + } + ] + }, { "kind": "TypeDecl", "name": "Date", @@ -350283,43 +359749,71 @@ }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Module\/Channel\/SBUBaseChannelModule.List.swift", - "kind": "BooleanLiteral", - "offset": 16406, - "length": 5, - "value": "false" + "kind": "IntegerLiteral", + "offset": 16418, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Module\/Channel\/SBUBaseChannelModule.List.swift", + "kind": "IntegerLiteral", + "offset": 16431, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Module\/Channel\/SBUBaseChannelModule.List.swift", + "kind": "IntegerLiteral", + "offset": 16439, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Module\/Channel\/SBUBaseChannelModule.List.swift", + "kind": "IntegerLiteral", + "offset": 16450, + "length": 1, + "value": "0" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Module\/Channel\/SBUBaseChannelModule.List.swift", "kind": "BooleanLiteral", - "offset": 18115, + "offset": 17736, "length": 4, "value": "true" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Module\/Channel\/SBUBaseChannelModule.List.swift", "kind": "BooleanLiteral", - "offset": 18155, + "offset": 17776, "length": 5, "value": "false" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Module\/Channel\/SBUBaseChannelModule.List.swift", "kind": "BooleanLiteral", - "offset": 51470, + "offset": 23626, + "length": 4, + "value": "true" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Module\/Channel\/SBUBaseChannelModule.List.swift", + "kind": "BooleanLiteral", + "offset": 51731, "length": 5, "value": "false" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Module\/Channel\/SBUBaseChannelModule.List.swift", "kind": "BooleanLiteral", - "offset": 54706, + "offset": 54967, "length": 5, "value": "false" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Module\/Channel\/SBUBaseChannelModule.List.swift", "kind": "BooleanLiteral", - "offset": 54769, + "offset": 55030, "length": 5, "value": "false" }, @@ -350491,6 +359985,41 @@ "length": 4, "value": "76.0" }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Module\/MessageThread\/SBUMessageThreadModule.Input.swift", + "kind": "StringLiteral", + "offset": 6963, + "length": 24, + "value": "\"uploadableFileInfoList\"" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Module\/MessageThread\/SBUMessageThreadModule.Input.swift", + "kind": "StringLiteral", + "offset": 7019, + "length": 7, + "value": "\"image\"" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Module\/MessageThread\/SBUMessageThreadModule.Input.swift", + "kind": "StringLiteral", + "offset": 7056, + "length": 5, + "value": "\"gif\"" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Module\/MessageThread\/SBUMessageThreadModule.Input.swift", + "kind": "StringLiteral", + "offset": 7093, + "length": 7, + "value": "\"video\"" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Module\/MessageThread\/SBUMessageThreadModule.Input.swift", + "kind": "IntegerLiteral", + "offset": 7441, + "length": 1, + "value": "1" + }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/ViewModel\/ChannelSettings\/SBUGroupChannelSettingsViewModel.swift", "kind": "StringLiteral", @@ -350601,28 +360130,28 @@ "kind": "IntegerLiteral", "offset": 496, "length": 1, - "value": "8" + "value": "4" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/CellView\/SBUMessageDateView.swift", "kind": "IntegerLiteral", "offset": 505, "length": 1, - "value": "4" + "value": "8" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/CellView\/SBUMessageDateView.swift", "kind": "IntegerLiteral", "offset": 516, "length": 1, - "value": "8" + "value": "4" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/CellView\/SBUMessageDateView.swift", "kind": "IntegerLiteral", "offset": 526, "length": 1, - "value": "4" + "value": "8" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/Reaction\/SBUMessageReactionView.swift", @@ -350802,7 +360331,7 @@ { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Common\/SBUEmptyView.swift", "kind": "IntegerLiteral", - "offset": 1657, + "offset": 1826, "length": 2, "value": "24" }, @@ -352209,7 +361738,7 @@ { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/OpenChannel\/SBUOpenChannelAdminMessageCell.swift", "kind": "BooleanLiteral", - "offset": 2513, + "offset": 2537, "length": 5, "value": "false" }, @@ -352363,1382 +361892,1459 @@ { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 1227, + "offset": 1270, + "length": 41, + "value": "\"Do you want to delete all \"" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", + "kind": "StringLiteral", + "offset": 1302, + "length": 6, + "value": "\" photos?\"" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", + "kind": "StringLiteral", + "offset": 1368, "length": 41, "value": "\"Please allow camera usage from settings\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 1325, + "offset": 1466, "length": 34, "value": "\"Please Allow PhotoLibrary Access\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 1424, + "offset": 1565, "length": 60, "value": "\"PhotoLibrary access required to get your photos and videos\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 1608, + "offset": 1749, "length": 45, "value": "\"Please allow microphone usage from settings\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 1721, + "offset": 1862, "length": 11, "value": "\"Yesterday\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 1828, + "offset": 1969, "length": 8, "value": "\"%lld%@\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "IntegerLiteral", - "offset": 1858, + "offset": 1999, "length": 1, "value": "1" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 1863, + "offset": 2004, "length": 7, "value": "\"years\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 1873, + "offset": 2014, "length": 6, "value": "\"year\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 1981, + "offset": 2122, "length": 8, "value": "\"%lld%@\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "IntegerLiteral", - "offset": 2011, + "offset": 2152, "length": 1, "value": "1" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 2016, + "offset": 2157, "length": 6, "value": "\"days\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 2025, + "offset": 2166, "length": 5, "value": "\"day\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 2134, + "offset": 2275, "length": 11, "value": "\"%lldmonth\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 2258, + "offset": 2399, "length": 7, "value": "\"%lldh\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 2377, + "offset": 2518, "length": 7, "value": "\"%lldm\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 2435, + "offset": 2576, "length": 5, "value": "\"ago\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 2473, + "offset": 2614, "length": 4, "value": "\"on\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 2556, + "offset": 2697, "length": 10, "value": "\"Channels\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 2621, + "offset": 2762, "length": 18, "value": "\"uploaded a file.\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 2709, + "offset": 2850, "length": 15, "value": "\"Group Channel\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 2773, + "offset": 2914, "length": 14, "value": "\"(No members)\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 2836, + "offset": 2977, "length": 11, "value": "\"Last seen\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "IntegerLiteral", - "offset": 3143, + "offset": 3284, "length": 1, "value": "1" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "IntegerLiteral", - "offset": 3182, + "offset": 3323, "length": 1, "value": "0" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "IntegerLiteral", - "offset": 3212, + "offset": 3353, "length": 1, "value": "0" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 3226, + "offset": 3367, "length": 8, "value": "\"Member\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 3269, + "offset": 3410, "length": 17, "value": "\"%@ is typing...\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "IntegerLiteral", - "offset": 3311, + "offset": 3452, "length": 1, "value": "2" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "IntegerLiteral", - "offset": 3351, + "offset": 3492, "length": 1, "value": "0" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "IntegerLiteral", - "offset": 3381, + "offset": 3522, "length": 1, "value": "0" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 3395, + "offset": 3536, "length": 8, "value": "\"Member\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "IntegerLiteral", - "offset": 3441, + "offset": 3582, "length": 1, "value": "1" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "IntegerLiteral", - "offset": 3471, + "offset": 3612, "length": 1, "value": "1" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 3485, + "offset": 3626, "length": 8, "value": "\"Member\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 3528, + "offset": 3669, "length": 25, "value": "\"%@ and %@ are typing...\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 3613, + "offset": 3754, "length": 30, "value": "\"Several people are typing...\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 3714, + "offset": 3855, "length": 13, "value": "\"File saved.\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 3782, + "offset": 3923, "length": 27, "value": "\"Couldn’t download file.\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 3860, + "offset": 4001, "length": 23, "value": "\"Couldn’t open file.\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 3933, + "offset": 4074, "length": 17, "value": "\"uploaded a file\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "IntegerLiteral", - "offset": 4059, + "offset": 4200, "length": 1, "value": "1" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 4081, + "offset": 4222, "length": 15, "value": "\"1 new message\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "IntegerLiteral", - "offset": 4110, + "offset": 4251, "length": 1, "value": "2" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "IntegerLiteral", - "offset": 4114, + "offset": 4255, "length": 2, "value": "99" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 4137, + "offset": 4278, "length": 23, "value": "\"\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 4146, + "offset": 4287, "length": 3, "value": "\" new messages\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "IntegerLiteral", - "offset": 4174, + "offset": 4315, "length": 3, "value": "100" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 4201, + "offset": 4342, "length": 18, "value": "\"99+ new messages\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 4256, + "offset": 4397, "length": 2, "value": "\"\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 4327, + "offset": 4468, "length": 16, "value": "\"Channel frozen\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 4427, + "offset": 4568, "length": 14, "value": "\"Open Channel\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 4492, + "offset": 4633, "length": 14, "value": "\"Participants\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "IntegerLiteral", - "offset": 4627, + "offset": 4768, "length": 1, "value": "1" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 4649, + "offset": 4790, "length": 15, "value": "\"1 participant\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 4701, + "offset": 4842, "length": 23, "value": "\"\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 4710, + "offset": 4851, "length": 12, "value": "\" participants\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 4930, + "offset": 5071, "length": 44, "value": "\"SENDBIRD_NOTIFICATION_CHANNEL_NOTIFICATION\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 5267, + "offset": 5408, "length": 59, "value": "\"\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 5315, + "offset": 5456, "length": 1, "value": "\"_\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 5325, + "offset": 5466, "length": 1, "value": "\"\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 5468, + "offset": 5609, "length": 15, "value": "\"Notifications\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 5569, + "offset": 5710, "length": 21, "value": "\"Channel information\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 5643, + "offset": 5784, "length": 13, "value": "\"Change name\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 5710, + "offset": 5851, "length": 22, "value": "\"Change channel image\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 5788, + "offset": 5929, "length": 12, "value": "\"Enter name\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 5864, + "offset": 6005, "length": 20, "value": "\"Enter channel name\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 5939, + "offset": 6080, "length": 15, "value": "\"Notifications\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 6012, + "offset": 6153, "length": 4, "value": "\"On\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 6075, + "offset": 6216, "length": 5, "value": "\"Off\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 6150, + "offset": 6291, "length": 15, "value": "\"Mentions only\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 6225, + "offset": 6366, "length": 9, "value": "\"Members\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 6294, + "offset": 6435, "length": 14, "value": "\"Participants\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "IntegerLiteral", - "offset": 6422, + "offset": 6563, "length": 1, "value": "0" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 6444, + "offset": 6585, "length": 9, "value": "\"members\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 6490, + "offset": 6631, "length": 18, "value": "\"\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 6499, + "offset": 6640, "length": 7, "value": "\" members\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 6571, + "offset": 6712, "length": 15, "value": "\"Leave channel\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 6634, + "offset": 6775, "length": 16, "value": "\"Delete channel\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 6712, + "offset": 6853, "length": 17, "value": "\"Delete channel?\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 6789, + "offset": 6930, "length": 47, "value": "\"Once deleted, this channel can't be restored.\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 6884, + "offset": 7025, "length": 19, "value": "\"Search in channel\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 6961, + "offset": 7102, "length": 13, "value": "\"Moderations\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 7025, + "offset": 7166, "length": 11, "value": "\"Operators\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 7091, + "offset": 7232, "length": 15, "value": "\"Muted members\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 7166, + "offset": 7307, "length": 20, "value": "\"Muted participants\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 7249, + "offset": 7390, "length": 14, "value": "\"Banned users\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 7319, + "offset": 7460, "length": 16, "value": "\"Freeze channel\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 7385, + "offset": 7526, "length": 5, "value": "\"URL\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 7488, + "offset": 7629, "length": 15, "value": "\"Notifications\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 7567, + "offset": 7708, "length": 15, "value": "\"Notifications\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 7636, + "offset": 7777, "length": 18, "value": "\"All new messages\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 7718, + "offset": 7859, "length": 15, "value": "\"Mentions only\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 7803, + "offset": 7944, "length": 100, "value": "\"Turn on push notifications if you wish to be notified when messages are delivered to this channel.\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 7988, - "length": 16, - "value": "\"Type a message\"" + "offset": 8129, + "length": 15, + "value": "\"Enter message\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 8059, + "offset": 8199, "length": 37, "value": "\"Chat is unavailable in this channel\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 8145, + "offset": 8285, "length": 15, "value": "\"You are muted\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 8209, + "offset": 8349, "length": 18, "value": "\"Reply to message\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 8336, + "offset": 8476, "length": 35, "value": "\"Reply to \"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 8370, + "offset": 8510, "length": 1, "value": "\"\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 8435, + "offset": 8575, "length": 7, "value": "\"Photo\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 8498, + "offset": 8638, "length": 5, "value": "\"GIF\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 8561, + "offset": 8701, "length": 7, "value": "\"Video\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 8632, + "offset": 8772, "length": 10, "value": "\"(edited)\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 8682, + "offset": 8822, "length": 16, "value": "\"System message\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 8745, + "offset": 8885, "length": 24, "value": "\"(Unknown message type)\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 8822, + "offset": 8962, "length": 26, "value": "\"Can't read this message.\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 8979, + "offset": 9119, "length": 56, "value": "\"\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 8998, + "offset": 9138, "length": 7, "value": "\" replied to \"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 9034, + "offset": 9174, "length": 1, "value": "\"\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 9078, + "offset": 9218, "length": 5, "value": "\"You\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "IntegerLiteral", - "offset": 9270, + "offset": 9410, "length": 1, "value": "1" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 9292, + "offset": 9432, "length": 9, "value": "\"1 reply\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "IntegerLiteral", - "offset": 9315, + "offset": 9455, "length": 1, "value": "2" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "IntegerLiteral", - "offset": 9319, + "offset": 9459, "length": 2, "value": "99" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 9342, + "offset": 9482, "length": 30, "value": "\"\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 9363, + "offset": 9503, "length": 7, "value": "\" replies\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "IntegerLiteral", - "offset": 9386, + "offset": 9526, "length": 3, "value": "100" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 9426, + "offset": 9566, "length": 13, "value": "\"99+ replies\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 9442, + "offset": 9582, "length": 30, "value": "\"\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 9463, + "offset": 9603, "length": 7, "value": "\" replies\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 9509, + "offset": 9649, "length": 2, "value": "\"\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 9616, + "offset": 9756, "length": 52, "value": "\"Couldn't find the original message for this reply.\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 9741, + "offset": 9881, "length": 21, "value": "\"Message unavailable\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 9849, + "offset": 9989, "length": 18, "value": "\"(Template error)\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 9929, + "offset": 10069, "length": 31, "value": "\"Can't read this notification.\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 10025, + "offset": 10165, "length": 13, "value": "\"No channels\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 10081, + "offset": 10221, "length": 13, "value": "\"No messages\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 10142, + "offset": 10282, "length": 18, "value": "\"No notifications\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 10200, + "offset": 10340, "length": 10, "value": "\"No users\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 10258, + "offset": 10398, "length": 18, "value": "\"No muted members\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 10329, + "offset": 10469, "length": 23, "value": "\"No muted participants\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 10399, + "offset": 10539, "length": 17, "value": "\"No banned users\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 10461, + "offset": 10601, "length": 18, "value": "\"No results found\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 10516, + "offset": 10656, "length": 22, "value": "\"Something went wrong\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "IntegerLiteral", - "offset": 10679, + "offset": 10819, "length": 1, "value": "0" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 10701, + "offset": 10841, "length": 8, "value": "\"Create\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 10746, + "offset": 10886, "length": 17, "value": "\"Create \"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 10762, + "offset": 10902, "length": 1, "value": "\"\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 10831, + "offset": 10971, "length": 13, "value": "\"New Channel\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 10905, + "offset": 11045, "length": 16, "value": "\"Select members\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 10981, + "offset": 11121, "length": 21, "value": "\"New channel profile\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 11092, + "offset": 11232, "length": 8, "value": "\"Create\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 11156, + "offset": 11296, "length": 13, "value": "\"New channel\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 11237, + "offset": 11377, "length": 20, "value": "\"Enter channel name\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 11340, + "offset": 11480, "length": 14, "value": "\"Invite users\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 11413, + "offset": 11553, "length": 14, "value": "\"Select users\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "IntegerLiteral", - "offset": 11537, + "offset": 11677, "length": 1, "value": "0" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 11559, + "offset": 11699, "length": 8, "value": "\"Invite\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 11604, + "offset": 11744, "length": 17, "value": "\"Invite \"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 11620, + "offset": 11760, "length": 1, "value": "\"\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "IntegerLiteral", - "offset": 11749, + "offset": 11889, "length": 1, "value": "0" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 11771, + "offset": 11911, "length": 10, "value": "\"Register\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 11818, + "offset": 11958, "length": 19, "value": "\"Register \"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 11836, + "offset": 11976, "length": 1, "value": "\"\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 11916, + "offset": 12056, "length": 7, "value": "\"(You)\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 11961, + "offset": 12101, "length": 5, "value": "\"Ban\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 12006, + "offset": 12146, "length": 7, "value": "\"Unban\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 12052, + "offset": 12192, "length": 6, "value": "\"Mute\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 12099, + "offset": 12239, "length": 8, "value": "\"Unmute\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 12161, + "offset": 12301, "length": 21, "value": "\"Unregister operator\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 12234, + "offset": 12374, "length": 22, "value": "\"Register as operator\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 12304, + "offset": 12444, "length": 9, "value": "\"Members\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 12363, + "offset": 12503, "length": 11, "value": "\"Operators\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 12428, + "offset": 12568, "length": 15, "value": "\"Muted members\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 12502, + "offset": 12642, "length": 20, "value": "\"Muted Participants\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 12584, + "offset": 12724, "length": 14, "value": "\"Banned users\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 12651, + "offset": 12791, "length": 14, "value": "\"Participants\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 12728, + "offset": 12868, "length": 11, "value": "\"(No name)\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 12778, + "offset": 12918, "length": 10, "value": "\"Operator\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 12872, + "offset": 13012, "length": 10, "value": "\"Operator\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 12931, + "offset": 13071, "length": 8, "value": "\"Member\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 12983, + "offset": 13123, "length": 9, "value": "\"User ID\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 13037, + "offset": 13177, "length": 9, "value": "\"Message\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 13092, + "offset": 13232, "length": 10, "value": "\"Register\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 13150, + "offset": 13290, "length": 12, "value": "\"Unregister\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 13204, + "offset": 13344, "length": 6, "value": "\"Mute\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 13254, + "offset": 13394, "length": 8, "value": "\"Unmute\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 13303, + "offset": 13443, "length": 5, "value": "\"Ban\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 13384, + "offset": 13524, "length": 7, "value": "\"Group\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 13439, + "offset": 13579, "length": 13, "value": "\"Super group\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 13499, + "offset": 13639, "length": 11, "value": "\"Broadcast\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 13607, + "offset": 13747, "length": 3, "value": "\"@\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 13722, + "offset": 13862, "length": 95, "value": "\"You can mention up to \"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "IntegerLiteral", - "offset": 13793, + "offset": 13933, "length": 2, "value": "10" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 13796, + "offset": 13936, "length": 5, "value": "\" times per message. \"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 13993, + "offset": 14133, "length": 17, "value": "\"Reply in thread\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 14113, + "offset": 14253, "length": 17, "value": "\"Reply in thread\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 14177, + "offset": 14317, "length": 17, "value": "\"Reply to thread\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 14283, + "offset": 14423, "length": 8, "value": "\"Thread\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 14514, + "offset": 14654, "length": 8, "value": "\"Cancel\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 14772, + "offset": 14912, "length": 20, "value": "\"Channel is frozen.\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 14996, + "offset": 15136, "length": 31, "value": "\"You're muted by the operator.\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 15242, + "offset": 15382, "length": 15, "value": "\"Voice message\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 15459, + "offset": 15599, "length": 15, "value": "\"Voice message\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 15715, + "offset": 15855, "length": 15, "value": "\"Voice message\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", "kind": "StringLiteral", - "offset": 15846, + "offset": 15986, "length": 15, "value": "\"Voice_message\"" }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", + "kind": "StringLiteral", + "offset": 16244, + "length": 7, + "value": "\"Photo\"" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", + "kind": "StringLiteral", + "offset": 16288, + "length": 5, + "value": "\"GIF\"" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", + "kind": "StringLiteral", + "offset": 16332, + "length": 7, + "value": "\"Video\"" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", + "kind": "StringLiteral", + "offset": 16378, + "length": 7, + "value": "\"Audio\"" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", + "kind": "StringLiteral", + "offset": 16424, + "length": 15, + "value": "\"Voice message\"" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", + "kind": "StringLiteral", + "offset": 16477, + "length": 6, + "value": "\"File\"" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", + "kind": "StringLiteral", + "offset": 16530, + "length": 7, + "value": "\"Photo\"" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", + "kind": "StringLiteral", + "offset": 16759, + "length": 67, + "value": "\"The maximum size per file is \"" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUStringSet.swift", + "kind": "StringLiteral", + "offset": 16822, + "length": 2, + "value": "\"MB.\"" + }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Theme\/SBUFontSet.swift", "kind": "FloatLiteral", @@ -354232,21 +363838,35 @@ { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/CellView\/SBUMessageWebView.swift", "kind": "IntegerLiteral", - "offset": 1268, + "offset": 1368, "length": 2, "value": "10" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/CellView\/SBUMessageWebView.swift", "kind": "IntegerLiteral", - "offset": 1531, + "offset": 1607, "length": 1, - "value": "1" + "value": "0" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/CellView\/SBUMessageWebView.swift", "kind": "IntegerLiteral", - "offset": 1699, + "offset": 1711, + "length": 1, + "value": "2" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/CellView\/SBUMessageWebView.swift", + "kind": "IntegerLiteral", + "offset": 1855, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/CellView\/SBUMessageWebView.swift", + "kind": "IntegerLiteral", + "offset": 1959, "length": 1, "value": "1" }, @@ -354530,6 +364150,13 @@ "length": 27, "value": "\"KEY_INTERNAL_MESSAGE_TYPE\"" }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Constant\/SBUConstant.swift", + "kind": "StringLiteral", + "offset": 2109, + "length": 41, + "value": "\"com.sendbird.uikit.groupchannel.message\"" + }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Common\/Menu\/SBUBottomSheetController.swift", "kind": "IntegerLiteral", @@ -354607,6 +364234,48 @@ "length": 2, "value": "[]" }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/MultipleFilesMessage\/SBUMultipleFilesMessageCollectionView.swift", + "kind": "IntegerLiteral", + "offset": 515, + "length": 1, + "value": "1" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Common\/SBUPaddingLabel.swift", + "kind": "IntegerLiteral", + "offset": 831, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Common\/SBUPaddingLabel.swift", + "kind": "IntegerLiteral", + "offset": 854, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Common\/SBUPaddingLabel.swift", + "kind": "IntegerLiteral", + "offset": 878, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Common\/SBUPaddingLabel.swift", + "kind": "IntegerLiteral", + "offset": 903, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Common\/SBUPaddingLabel.swift", + "kind": "StringLiteral", + "offset": 178, + "length": 15, + "value": "\"SendbirdUIKit.SBUPaddingLabel\"" + }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/NewMessageInfo\/SBUNewNotificationInfo.swift", "kind": "BooleanLiteral", @@ -354631,7 +364300,7 @@ { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/OpenChannel\/SBUOpenChannelUserMessageCell.swift", "kind": "BooleanLiteral", - "offset": 4082, + "offset": 4128, "length": 5, "value": "false" }, @@ -354701,7 +364370,7 @@ { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Common\/SBUCoverImageView.swift", "kind": "BooleanLiteral", - "offset": 6289, + "offset": 6463, "length": 5, "value": "false" }, @@ -355016,7 +364685,7 @@ { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/ViewModel\/Channel\/SBUBaseChannelViewModel.swift", "kind": "BooleanLiteral", - "offset": 27482, + "offset": 27973, "length": 5, "value": "false" }, @@ -355135,63 +364804,63 @@ { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/SBUGroupChannelViewController.swift", "kind": "IntegerLiteral", - "offset": 1806, + "offset": 1848, "length": 1, "value": "0" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/SBUGroupChannelViewController.swift", "kind": "BooleanLiteral", - "offset": 5922, + "offset": 6667, "length": 4, "value": "true" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/SBUGroupChannelViewController.swift", "kind": "BooleanLiteral", - "offset": 6463, + "offset": 7208, "length": 4, "value": "true" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/SBUGroupChannelViewController.swift", "kind": "BooleanLiteral", - "offset": 6514, + "offset": 7259, "length": 5, "value": "false" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/SBUGroupChannelViewController.swift", "kind": "IntegerLiteral", - "offset": 13044, + "offset": 14910, "length": 1, "value": "0" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/SBUGroupChannelViewController.swift", "kind": "IntegerLiteral", - "offset": 13079, + "offset": 14945, "length": 1, "value": "0" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/SBUGroupChannelViewController.swift", "kind": "BooleanLiteral", - "offset": 15972, + "offset": 28200, "length": 5, "value": "false" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/SBUGroupChannelViewController.swift", "kind": "StringLiteral", - "offset": 275, + "offset": 317, "length": 29, "value": "\"SendbirdUIKit.SBUGroupChannelViewController\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/SBUGroupChannelViewController.swift", "kind": "StringLiteral", - "offset": 275, + "offset": 317, "length": 29, "value": "\"SendbirdUIKit.SBUGroupChannelViewController\"" }, @@ -355233,7 +364902,14 @@ { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Manager\/CacheManager\/SBUCacheManager.Image.swift", "kind": "BooleanLiteral", - "offset": 5741, + "offset": 4237, + "length": 5, + "value": "false" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Manager\/CacheManager\/SBUCacheManager.Image.swift", + "kind": "BooleanLiteral", + "offset": 6608, "length": 4, "value": "true" }, @@ -355590,21 +365266,28 @@ { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Configuration\/SBUConfig.GroupChannel.swift", "kind": "BooleanLiteral", - "offset": 5543, + "offset": 5324, "length": 5, "value": "false" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Configuration\/SBUConfig.GroupChannel.swift", "kind": "BooleanLiteral", - "offset": 5765, + "offset": 6884, "length": 5, "value": "false" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Configuration\/SBUConfig.GroupChannel.swift", "kind": "BooleanLiteral", - "offset": 6796, + "offset": 7106, + "length": 5, + "value": "false" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Configuration\/SBUConfig.GroupChannel.swift", + "kind": "BooleanLiteral", + "offset": 8137, "length": 5, "value": "false" }, @@ -355723,14 +365406,21 @@ { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Module\/MessageThread\/SBUMessageThreadModule.List.swift", "kind": "Dictionary", - "offset": 4336, + "offset": 6113, "length": 3, "value": "[]" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Module\/MessageThread\/SBUMessageThreadModule.List.swift", "kind": "BooleanLiteral", - "offset": 31846, + "offset": 19581, + "length": 4, + "value": "true" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Module\/MessageThread\/SBUMessageThreadModule.List.swift", + "kind": "BooleanLiteral", + "offset": 36930, "length": 5, "value": "false" }, @@ -355926,63 +365616,63 @@ { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/OpenChannel\/SBUOpenChannelContentBaseMessageCell.swift", "kind": "IntegerLiteral", - "offset": 879, + "offset": 926, "length": 1, "value": "2" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/OpenChannel\/SBUOpenChannelContentBaseMessageCell.swift", "kind": "IntegerLiteral", - "offset": 1103, + "offset": 1150, "length": 1, "value": "4" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/OpenChannel\/SBUOpenChannelContentBaseMessageCell.swift", "kind": "IntegerLiteral", - "offset": 1497, + "offset": 1544, "length": 2, "value": "16" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/OpenChannel\/SBUOpenChannelContentBaseMessageCell.swift", "kind": "IntegerLiteral", - "offset": 1596, + "offset": 1643, "length": 1, "value": "1" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/OpenChannel\/SBUOpenChannelContentBaseMessageCell.swift", "kind": "BooleanLiteral", - "offset": 1631, + "offset": 1678, "length": 4, "value": "true" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/OpenChannel\/SBUOpenChannelContentBaseMessageCell.swift", "kind": "BooleanLiteral", - "offset": 1792, + "offset": 1839, "length": 4, "value": "true" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/OpenChannel\/SBUOpenChannelContentBaseMessageCell.swift", "kind": "BooleanLiteral", - "offset": 2249, + "offset": 2296, "length": 5, "value": "false" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/OpenChannel\/SBUOpenChannelContentBaseMessageCell.swift", "kind": "BooleanLiteral", - "offset": 2288, + "offset": 2335, "length": 5, "value": "false" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/OpenChannel\/SBUOpenChannelContentBaseMessageCell.swift", "kind": "BooleanLiteral", - "offset": 6286, + "offset": 6195, "length": 5, "value": "false" }, @@ -356239,19 +365929,47 @@ "value": "\"SendbirdUIKit.SBUCreateChannelTypeSelector\"" }, { - "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Extension\/UIView+SBUIKit.swift", + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/MultipleFilesMessage\/SBUMultipleFilesMessageCollectionViewCell.swift", "kind": "BooleanLiteral", - "offset": 41824, - "length": 5, - "value": "false" + "offset": 546, + "length": 4, + "value": "true" }, { - "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Extension\/UIView+SBUIKit.swift", + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/MultipleFilesMessage\/SBUMultipleFilesMessageCollectionViewCell.swift", "kind": "BooleanLiteral", - "offset": 41870, + "offset": 596, + "length": 4, + "value": "true" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/MultipleFilesMessage\/SBUMultipleFilesMessageCollectionViewCell.swift", + "kind": "BooleanLiteral", + "offset": 779, + "length": 4, + "value": "true" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/MultipleFilesMessage\/SBUMultipleFilesMessageCollectionViewCell.swift", + "kind": "BooleanLiteral", + "offset": 935, + "length": 4, + "value": "true" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/MultipleFilesMessage\/SBUMultipleFilesMessageCollectionViewCell.swift", + "kind": "BooleanLiteral", + "offset": 1009, "length": 5, "value": "false" }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/MultipleFilesMessage\/SBUMultipleFilesMessageCollectionViewCell.swift", + "kind": "IntegerLiteral", + "offset": 1194, + "length": 1, + "value": "1" + }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Enums\/SBUEnums.swift", "kind": "IntegerLiteral", @@ -357351,59 +367069,122 @@ "length": 4, "value": "2" }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/MessageThread\/SBUParentMessageInfoView.swift", + "kind": "FloatLiteral", + "offset": 666, + "length": 4, + "value": "16.0" + }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/MessageThread\/SBUParentMessageInfoView.swift", "kind": "BooleanLiteral", - "offset": 1452, + "offset": 1653, "length": 4, "value": "true" }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/MessageThread\/SBUParentMessageInfoView.swift", + "kind": "IntegerLiteral", + "offset": 2120, + "length": 1, + "value": "0" + }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/MessageThread\/SBUParentMessageInfoView.swift", "kind": "IntegerLiteral", "offset": 2129, "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/MessageThread\/SBUParentMessageInfoView.swift", + "kind": "IntegerLiteral", + "offset": 2140, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/MessageThread\/SBUParentMessageInfoView.swift", + "kind": "IntegerLiteral", + "offset": 2150, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/MessageThread\/SBUParentMessageInfoView.swift", + "kind": "IntegerLiteral", + "offset": 2194, + "length": 1, + "value": "4" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/MessageThread\/SBUParentMessageInfoView.swift", + "kind": "IntegerLiteral", + "offset": 2232, + "length": 1, + "value": "4" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/MessageThread\/SBUParentMessageInfoView.swift", + "kind": "BooleanLiteral", + "offset": 2395, + "length": 5, + "value": "false" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/MessageThread\/SBUParentMessageInfoView.swift", + "kind": "IntegerLiteral", + "offset": 3024, + "length": 1, "value": "8" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/MessageThread\/SBUParentMessageInfoView.swift", "kind": "IntegerLiteral", - "offset": 2369, + "offset": 3264, "length": 1, "value": "2" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/MessageThread\/SBUParentMessageInfoView.swift", "kind": "IntegerLiteral", - "offset": 2618, + "offset": 3513, "length": 1, "value": "0" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/MessageThread\/SBUParentMessageInfoView.swift", "kind": "BooleanLiteral", - "offset": 4079, + "offset": 4325, + "length": 5, + "value": "false" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/MessageThread\/SBUParentMessageInfoView.swift", + "kind": "BooleanLiteral", + "offset": 4999, "length": 4, "value": "true" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/MessageThread\/SBUParentMessageInfoView.swift", "kind": "BooleanLiteral", - "offset": 4341, + "offset": 5261, "length": 5, "value": "false" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/MessageThread\/SBUParentMessageInfoView.swift", "kind": "BooleanLiteral", - "offset": 4418, + "offset": 5338, "length": 5, "value": "false" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/MessageThread\/SBUParentMessageInfoView.swift", "kind": "BooleanLiteral", - "offset": 13631, + "offset": 15412, "length": 5, "value": "false" }, @@ -357445,91 +367226,91 @@ { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/Replies\/MessageView\/SBUQuotedBaseMessageView.swift", "kind": "IntegerLiteral", - "offset": 872, + "offset": 955, "length": 1, "value": "0" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/Replies\/MessageView\/SBUQuotedBaseMessageView.swift", "kind": "StringLiteral", - "offset": 1616, + "offset": 1699, "length": 2, "value": "\"\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/Replies\/MessageView\/SBUQuotedBaseMessageView.swift", "kind": "StringLiteral", - "offset": 1738, + "offset": 1821, "length": 2, "value": "\"\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/Replies\/MessageView\/SBUQuotedBaseMessageView.swift", "kind": "StringLiteral", - "offset": 2098, + "offset": 2181, "length": 2, "value": "\"\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/Replies\/MessageView\/SBUQuotedBaseMessageView.swift", "kind": "IntegerLiteral", - "offset": 3001, + "offset": 3084, "length": 1, "value": "8" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/Replies\/MessageView\/SBUQuotedBaseMessageView.swift", "kind": "IntegerLiteral", - "offset": 3323, + "offset": 3406, "length": 1, "value": "1" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/Replies\/MessageView\/SBUQuotedBaseMessageView.swift", "kind": "BooleanLiteral", - "offset": 3364, + "offset": 3447, "length": 4, "value": "true" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/Replies\/MessageView\/SBUQuotedBaseMessageView.swift", "kind": "IntegerLiteral", - "offset": 3959, + "offset": 4042, "length": 1, "value": "0" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/Replies\/MessageView\/SBUQuotedBaseMessageView.swift", "kind": "IntegerLiteral", - "offset": 4359, + "offset": 4442, "length": 1, "value": "6" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/Replies\/MessageView\/SBUQuotedBaseMessageView.swift", "kind": "IntegerLiteral", - "offset": 4869, + "offset": 4952, "length": 1, "value": "4" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/Replies\/MessageView\/SBUQuotedBaseMessageView.swift", "kind": "IntegerLiteral", - "offset": 5150, + "offset": 5233, "length": 2, "value": "16" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/Replies\/MessageView\/SBUQuotedBaseMessageView.swift", "kind": "IntegerLiteral", - "offset": 5249, + "offset": 5332, "length": 1, "value": "1" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/Replies\/MessageView\/SBUQuotedBaseMessageView.swift", "kind": "BooleanLiteral", - "offset": 5284, + "offset": 5367, "length": 4, "value": "true" }, @@ -357606,35 +367387,35 @@ { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/SBUContentBaseMessageCell.swift", "kind": "IntegerLiteral", - "offset": 4159, + "offset": 4157, "length": 2, "value": "16" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/SBUContentBaseMessageCell.swift", "kind": "IntegerLiteral", - "offset": 4258, + "offset": 4256, "length": 1, "value": "1" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/SBUContentBaseMessageCell.swift", "kind": "BooleanLiteral", - "offset": 4293, + "offset": 4291, "length": 4, "value": "true" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/SBUContentBaseMessageCell.swift", "kind": "IntegerLiteral", - "offset": 13467, + "offset": 13345, "length": 1, "value": "0" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/SBUContentBaseMessageCell.swift", "kind": "IntegerLiteral", - "offset": 13502, + "offset": 13380, "length": 1, "value": "0" }, @@ -357886,7 +367667,7 @@ { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/CellView\/SBUUserNameView.swift", "kind": "BooleanLiteral", - "offset": 2852, + "offset": 2936, "length": 5, "value": "false" }, @@ -357914,112 +367695,98 @@ { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/SBUOpenChannelViewController.swift", "kind": "Array", - "offset": 1759, + "offset": 3150, "length": 2, "value": "[]" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/SBUOpenChannelViewController.swift", "kind": "Array", - "offset": 1892, - "length": 2, - "value": "[]" - }, - { - "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/SBUOpenChannelViewController.swift", - "kind": "Array", - "offset": 2122, - "length": 2, - "value": "[]" - }, - { - "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/SBUOpenChannelViewController.swift", - "kind": "Array", - "offset": 2297, + "offset": 3325, "length": 2, "value": "[]" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/SBUOpenChannelViewController.swift", "kind": "IntegerLiteral", - "offset": 2361, + "offset": 3389, "length": 2, "value": "56" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/SBUOpenChannelViewController.swift", "kind": "IntegerLiteral", - "offset": 2404, + "offset": 3432, "length": 1, "value": "0" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/SBUOpenChannelViewController.swift", "kind": "BooleanLiteral", - "offset": 2846, + "offset": 3865, "length": 5, "value": "false" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/SBUOpenChannelViewController.swift", "kind": "BooleanLiteral", - "offset": 2962, + "offset": 3981, "length": 4, "value": "true" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/SBUOpenChannelViewController.swift", "kind": "BooleanLiteral", - "offset": 3407, + "offset": 4426, "length": 5, "value": "false" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/SBUOpenChannelViewController.swift", "kind": "FloatLiteral", - "offset": 3632, + "offset": 4651, "length": 3, "value": "0.0" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/SBUOpenChannelViewController.swift", "kind": "FloatLiteral", - "offset": 3859, + "offset": 4878, "length": 3, "value": "1.0" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/SBUOpenChannelViewController.swift", "kind": "BooleanLiteral", - "offset": 4093, + "offset": 5112, "length": 5, "value": "false" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/SBUOpenChannelViewController.swift", "kind": "BooleanLiteral", - "offset": 4350, + "offset": 5369, "length": 4, "value": "true" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/SBUOpenChannelViewController.swift", "kind": "BooleanLiteral", - "offset": 7285, + "offset": 8304, "length": 4, "value": "true" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/SBUOpenChannelViewController.swift", "kind": "BooleanLiteral", - "offset": 27372, + "offset": 27354, "length": 4, "value": "true" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/SBUOpenChannelViewController.swift", "kind": "BooleanLiteral", - "offset": 29995, + "offset": 29977, "length": 4, "value": "true" }, @@ -358159,10 +367926,108 @@ { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/OpenChannel\/SBUOpenChannelFileMessageCell.swift", "kind": "BooleanLiteral", - "offset": 1883, + "offset": 1914, "length": 5, "value": "false" }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Util\/BlockingOperation.swift", + "kind": "StringLiteral", + "offset": 498, + "length": 9, + "value": "\"Waiting\"" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Util\/BlockingOperation.swift", + "kind": "StringLiteral", + "offset": 529, + "length": 7, + "value": "\"Ready\"" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Util\/BlockingOperation.swift", + "kind": "StringLiteral", + "offset": 562, + "length": 11, + "value": "\"Executing\"" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Util\/BlockingOperation.swift", + "kind": "StringLiteral", + "offset": 598, + "length": 10, + "value": "\"Finished\"" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Util\/BlockingOperation.swift", + "kind": "StringLiteral", + "offset": 498, + "length": 9, + "value": "\"Waiting\"" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Util\/BlockingOperation.swift", + "kind": "StringLiteral", + "offset": 529, + "length": 7, + "value": "\"Ready\"" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Util\/BlockingOperation.swift", + "kind": "StringLiteral", + "offset": 562, + "length": 11, + "value": "\"Executing\"" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Util\/BlockingOperation.swift", + "kind": "StringLiteral", + "offset": 598, + "length": 10, + "value": "\"Finished\"" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Util\/BlockingOperation.swift", + "kind": "StringLiteral", + "offset": 1365, + "length": 57, + "value": "\"com.sendbird.uikit.operation.state.\"" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Util\/BlockingOperation.swift", + "kind": "StringLiteral", + "offset": 1421, + "length": 27, + "value": "\"\"" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Util\/BlockingOperation.swift", + "kind": "BooleanLiteral", + "offset": 1639, + "length": 5, + "value": "false" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Util\/BlockingOperation.swift", + "kind": "BooleanLiteral", + "offset": 2829, + "length": 5, + "value": "false" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Util\/BlockingOperation.swift", + "kind": "BooleanLiteral", + "offset": 3109, + "length": 5, + "value": "false" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Util\/BlockingOperation.swift", + "kind": "StringLiteral", + "offset": 387, + "length": 17, + "value": "\"SendbirdUIKit.BlockingOperation\"" + }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/OpenChannel\/SBUOpenChannelBaseMessageCell.swift", "kind": "BooleanLiteral", @@ -358187,7 +368052,7 @@ { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/OpenChannel\/SBUOpenChannelBaseMessageCell.swift", "kind": "BooleanLiteral", - "offset": 3514, + "offset": 3522, "length": 5, "value": "false" }, @@ -358488,70 +368353,70 @@ { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/SBUBaseChannelViewController.swift", "kind": "IntegerLiteral", - "offset": 2331, + "offset": 2512, "length": 1, "value": "0" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/SBUBaseChannelViewController.swift", "kind": "BooleanLiteral", - "offset": 2577, + "offset": 2925, "length": 4, "value": "true" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/SBUBaseChannelViewController.swift", "kind": "BooleanLiteral", - "offset": 4001, + "offset": 4349, "length": 5, "value": "false" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/SBUBaseChannelViewController.swift", "kind": "BooleanLiteral", - "offset": 10335, + "offset": 10818, "length": 4, "value": "true" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/SBUBaseChannelViewController.swift", "kind": "BooleanLiteral", - "offset": 11337, + "offset": 11820, "length": 4, "value": "true" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/SBUBaseChannelViewController.swift", "kind": "IntegerLiteral", - "offset": 15522, + "offset": 16005, "length": 1, "value": "0" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/SBUBaseChannelViewController.swift", "kind": "IntegerLiteral", - "offset": 15549, + "offset": 16032, "length": 1, "value": "0" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/SBUBaseChannelViewController.swift", "kind": "BooleanLiteral", - "offset": 17114, + "offset": 17597, "length": 5, "value": "false" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/SBUBaseChannelViewController.swift", "kind": "BooleanLiteral", - "offset": 17161, + "offset": 17644, "length": 5, "value": "false" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/SBUBaseChannelViewController.swift", "kind": "BooleanLiteral", - "offset": 21937, + "offset": 22775, "length": 5, "value": "false" }, @@ -358891,10 +368756,38 @@ "length": 5, "value": "false" }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/MessageCellParams\/SBUMultipleFilesMessageCellParams.swift", + "kind": "BooleanLiteral", + "offset": 780, + "length": 5, + "value": "false" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/MessageCellParams\/SBUMultipleFilesMessageCellParams.swift", + "kind": "BooleanLiteral", + "offset": 819, + "length": 5, + "value": "false" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/MessageCellParams\/SBUMultipleFilesMessageCellParams.swift", + "kind": "IntegerLiteral", + "offset": 852, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/MessageCellParams\/SBUMultipleFilesMessageCellParams.swift", + "kind": "StringLiteral", + "offset": 309, + "length": 33, + "value": "\"SendbirdUIKit.SBUMultipleFilesMessageCellParams\"" + }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/SBUBaseViewController.swift", "kind": "BooleanLiteral", - "offset": 4727, + "offset": 4888, "length": 5, "value": "false" }, @@ -359440,17 +369333,52 @@ { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Module\/Channel\/GroupChannel\/SBUGroupChannelModule.List.swift", "kind": "BooleanLiteral", - "offset": 4375, + "offset": 5262, "length": 5, "value": "false" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Module\/Channel\/GroupChannel\/SBUGroupChannelModule.List.swift", "kind": "Dictionary", - "offset": 5437, + "offset": 6324, "length": 3, "value": "[]" }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Module\/Channel\/GroupChannel\/SBUGroupChannelModule.Input.swift", + "kind": "StringLiteral", + "offset": 7180, + "length": 24, + "value": "\"uploadableFileInfoList\"" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Module\/Channel\/GroupChannel\/SBUGroupChannelModule.Input.swift", + "kind": "StringLiteral", + "offset": 7236, + "length": 7, + "value": "\"image\"" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Module\/Channel\/GroupChannel\/SBUGroupChannelModule.Input.swift", + "kind": "StringLiteral", + "offset": 7273, + "length": 5, + "value": "\"gif\"" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Module\/Channel\/GroupChannel\/SBUGroupChannelModule.Input.swift", + "kind": "StringLiteral", + "offset": 7310, + "length": 7, + "value": "\"video\"" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Module\/Channel\/GroupChannel\/SBUGroupChannelModule.Input.swift", + "kind": "IntegerLiteral", + "offset": 7683, + "length": 1, + "value": "1" + }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Extension\/String+SBUIKit.swift", "kind": "StringLiteral", @@ -359475,175 +369403,175 @@ { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Enums\/SBUIconSetType.swift", "kind": "IntegerLiteral", - "offset": 1659, + "offset": 1673, "length": 2, "value": "12" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Enums\/SBUIconSetType.swift", "kind": "IntegerLiteral", - "offset": 1719, + "offset": 1740, "length": 2, "value": "16" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Enums\/SBUIconSetType.swift", "kind": "IntegerLiteral", - "offset": 1780, + "offset": 1808, "length": 2, "value": "18" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Enums\/SBUIconSetType.swift", "kind": "IntegerLiteral", - "offset": 1835, + "offset": 1870, "length": 2, "value": "24" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Enums\/SBUIconSetType.swift", "kind": "IntegerLiteral", - "offset": 1895, + "offset": 1937, "length": 2, "value": "32" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Enums\/SBUIconSetType.swift", "kind": "IntegerLiteral", - "offset": 1959, + "offset": 2008, "length": 2, "value": "48" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Enums\/SBUIconSetType.swift", "kind": "IntegerLiteral", - "offset": 2020, + "offset": 2076, "length": 2, "value": "20" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Enums\/SBUIconSetType.swift", "kind": "IntegerLiteral", - "offset": 2131, + "offset": 2201, "length": 2, "value": "20" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Enums\/SBUIconSetType.swift", "kind": "IntegerLiteral", - "offset": 2185, + "offset": 2262, "length": 2, "value": "38" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Enums\/SBUIconSetType.swift", "kind": "IntegerLiteral", - "offset": 2238, + "offset": 2322, "length": 2, "value": "60" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Enums\/SBUIconSetType.swift", "kind": "IntegerLiteral", - "offset": 2289, + "offset": 2380, "length": 2, "value": "28" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Enums\/SBUIconSetType.swift", "kind": "IntegerLiteral", - "offset": 2345, + "offset": 2443, "length": 2, "value": "40" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Enums\/SBUIconSetType.swift", "kind": "IntegerLiteral", - "offset": 2411, + "offset": 2516, "length": 2, "value": "36" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Enums\/SBUIconSetType.swift", "kind": "IntegerLiteral", - "offset": 2466, + "offset": 2578, "length": 2, "value": "40" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Enums\/SBUIconSetType.swift", "kind": "IntegerLiteral", - "offset": 2527, + "offset": 2646, "length": 2, "value": "15" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Enums\/SBUIconSetType.swift", "kind": "IntegerLiteral", - "offset": 2582, + "offset": 2708, "length": 2, "value": "22" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Enums\/SBUIconSetType.swift", "kind": "IntegerLiteral", - "offset": 2642, + "offset": 2775, "length": 2, "value": "20" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Enums\/SBUIconSetType.swift", "kind": "BooleanLiteral", - "offset": 3936, + "offset": 4076, "length": 4, "value": "true" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Enums\/SBUIconSetType.swift", "kind": "Array", - "offset": 10599, + "offset": 10739, "length": 2, "value": "[]" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/Replies\/ViewParams\/SBUQuotedBaseMessageViewParams.swift", "kind": "IntegerLiteral", - "offset": 2330, + "offset": 2555, "length": 1, "value": "0" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/Replies\/ViewParams\/SBUQuotedBaseMessageViewParams.swift", "kind": "IntegerLiteral", - "offset": 2504, + "offset": 2729, "length": 1, "value": "0" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/Replies\/ViewParams\/SBUQuotedBaseMessageViewParams.swift", "kind": "IntegerLiteral", - "offset": 3437, + "offset": 3662, "length": 1, "value": "0" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/Replies\/ViewParams\/SBUQuotedBaseMessageViewParams.swift", "kind": "IntegerLiteral", - "offset": 3472, + "offset": 3697, "length": 1, "value": "0" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/Replies\/ViewParams\/SBUQuotedBaseMessageViewParams.swift", "kind": "BooleanLiteral", - "offset": 5690, + "offset": 6920, "length": 4, "value": "true" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/Replies\/ViewParams\/SBUQuotedBaseMessageViewParams.swift", "kind": "BooleanLiteral", - "offset": 6395, + "offset": 7625, "length": 4, "value": "true" }, @@ -359710,41 +369638,6 @@ "length": 4, "value": "true" }, - { - "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Common\/SBUPaddingLabel.swift", - "kind": "IntegerLiteral", - "offset": 831, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Common\/SBUPaddingLabel.swift", - "kind": "IntegerLiteral", - "offset": 854, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Common\/SBUPaddingLabel.swift", - "kind": "IntegerLiteral", - "offset": 878, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Common\/SBUPaddingLabel.swift", - "kind": "IntegerLiteral", - "offset": 903, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Common\/SBUPaddingLabel.swift", - "kind": "StringLiteral", - "offset": 178, - "length": 15, - "value": "\"SendbirdUIKit.SBUPaddingLabel\"" - }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Extension\/UIButton+SBUIKit.swift", "kind": "IntegerLiteral", @@ -359790,49 +369683,49 @@ { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/SBUGlobals.swift", "kind": "BooleanLiteral", - "offset": 2278, + "offset": 2409, "length": 5, "value": "false" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/SBUGlobals.swift", "kind": "BooleanLiteral", - "offset": 3845, + "offset": 3976, "length": 4, "value": "true" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/SBUGlobals.swift", "kind": "FloatLiteral", - "offset": 4179, + "offset": 4310, "length": 3, "value": "0.7" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/SBUGlobals.swift", "kind": "BooleanLiteral", - "offset": 6037, + "offset": 6168, "length": 4, "value": "true" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/SBUGlobals.swift", "kind": "BooleanLiteral", - "offset": 7192, + "offset": 7323, "length": 5, "value": "false" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/SBUGlobals.swift", "kind": "BooleanLiteral", - "offset": 7781, + "offset": 7912, "length": 4, "value": "true" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/SBUGlobals.swift", "kind": "BooleanLiteral", - "offset": 8247, + "offset": 8378, "length": 4, "value": "true" }, @@ -360231,63 +370124,63 @@ { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/MessageThread\/SBUMessageThreadViewController.swift", "kind": "BooleanLiteral", - "offset": 13501, + "offset": 20028, "length": 5, "value": "false" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/MessageThread\/SBUMessageThreadViewController.swift", "kind": "StringLiteral", - "offset": 1232, + "offset": 1248, "length": 30, "value": "\"SendbirdUIKit.SBUMessageThreadViewController\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/MessageThread\/SBUMessageThreadViewController.swift", "kind": "StringLiteral", - "offset": 1232, + "offset": 1248, "length": 30, "value": "\"SendbirdUIKit.SBUMessageThreadViewController\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/MessageThread\/SBUMessageThreadViewController.swift", "kind": "StringLiteral", - "offset": 1232, + "offset": 1248, "length": 30, "value": "\"SendbirdUIKit.SBUMessageThreadViewController\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/FileViewer\/SBUFileViewController.swift", "kind": "IntegerLiteral", - "offset": 2196, + "offset": 3804, "length": 1, "value": "0" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/FileViewer\/SBUFileViewController.swift", "kind": "IntegerLiteral", - "offset": 2218, + "offset": 3826, "length": 1, "value": "0" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/FileViewer\/SBUFileViewController.swift", "kind": "FloatLiteral", - "offset": 2293, + "offset": 3901, "length": 3, "value": "0.0" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/FileViewer\/SBUFileViewController.swift", "kind": "IntegerLiteral", - "offset": 2322, + "offset": 3930, "length": 2, "value": "50" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/FileViewer\/SBUFileViewController.swift", "kind": "StringLiteral", - "offset": 809, + "offset": 2422, "length": 21, "value": "\"SendbirdUIKit.SBUFileViewController\"" }, @@ -361113,154 +371006,154 @@ { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Theme\/SBUTheme.swift", "kind": "FloatLiteral", - "offset": 98230, + "offset": 98502, "length": 3, "value": "0.5" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Theme\/SBUTheme.swift", "kind": "FloatLiteral", - "offset": 133531, + "offset": 133803, "length": 4, "value": "0.12" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Theme\/SBUTheme.swift", "kind": "IntegerLiteral", - "offset": 174231, + "offset": 174503, "length": 2, "value": "18" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Theme\/SBUTheme.swift", "kind": "IntegerLiteral", - "offset": 174951, + "offset": 175223, "length": 2, "value": "18" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Theme\/SBUTheme.swift", "kind": "IntegerLiteral", - "offset": 176641, + "offset": 176913, "length": 2, "value": "14" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Theme\/SBUTheme.swift", "kind": "IntegerLiteral", - "offset": 176876, + "offset": 177148, "length": 2, "value": "12" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Theme\/SBUTheme.swift", "kind": "IntegerLiteral", - "offset": 177657, + "offset": 177929, "length": 2, "value": "14" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Theme\/SBUTheme.swift", "kind": "IntegerLiteral", - "offset": 178171, + "offset": 178443, "length": 2, "value": "12" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Theme\/SBUTheme.swift", "kind": "IntegerLiteral", - "offset": 180106, + "offset": 180378, "length": 1, "value": "8" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Theme\/SBUTheme.swift", "kind": "IntegerLiteral", - "offset": 180285, + "offset": 180557, "length": 2, "value": "12" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Theme\/SBUTheme.swift", "kind": "IntegerLiteral", - "offset": 180450, + "offset": 180722, "length": 2, "value": "14" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Theme\/SBUTheme.swift", "kind": "StringLiteral", - "offset": 180686, + "offset": 180958, "length": 11, "value": "\"#e0000000\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Theme\/SBUTheme.swift", "kind": "StringLiteral", - "offset": 180753, + "offset": 181025, "length": 11, "value": "\"#70000000\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Theme\/SBUTheme.swift", "kind": "StringLiteral", - "offset": 180818, + "offset": 181090, "length": 11, "value": "\"#e0000000\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Theme\/SBUTheme.swift", "kind": "IntegerLiteral", - "offset": 181638, + "offset": 181910, "length": 1, "value": "8" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Theme\/SBUTheme.swift", "kind": "IntegerLiteral", - "offset": 181832, + "offset": 182104, "length": 2, "value": "12" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Theme\/SBUTheme.swift", "kind": "IntegerLiteral", - "offset": 182199, + "offset": 182471, "length": 2, "value": "14" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Theme\/SBUTheme.swift", "kind": "StringLiteral", - "offset": 182704, + "offset": 182976, "length": 11, "value": "\"#e0000000\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Theme\/SBUTheme.swift", "kind": "StringLiteral", - "offset": 182770, + "offset": 183042, "length": 11, "value": "\"#70000000\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Theme\/SBUTheme.swift", "kind": "StringLiteral", - "offset": 182843, + "offset": 183115, "length": 11, "value": "\"#e0000000\"" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Theme\/SBUTheme.swift", "kind": "IntegerLiteral", - "offset": 184155, + "offset": 184427, "length": 2, "value": "15" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Theme\/SBUTheme.swift", "kind": "IntegerLiteral", - "offset": 184450, + "offset": 184722, "length": 2, "value": "12" }, @@ -361400,63 +371293,63 @@ { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/CellView\/SBUUserMessageTextView.swift", "kind": "BooleanLiteral", - "offset": 1317, + "offset": 1380, "length": 5, "value": "false" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/CellView\/SBUUserMessageTextView.swift", "kind": "BooleanLiteral", - "offset": 1373, + "offset": 1436, "length": 5, "value": "false" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/CellView\/SBUUserMessageTextView.swift", "kind": "BooleanLiteral", - "offset": 1414, + "offset": 1477, "length": 5, "value": "false" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/CellView\/SBUUserMessageTextView.swift", "kind": "BooleanLiteral", - "offset": 1450, + "offset": 1513, "length": 5, "value": "false" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/CellView\/SBUUserMessageTextView.swift", "kind": "BooleanLiteral", - "offset": 1488, + "offset": 1551, "length": 4, "value": "true" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/CellView\/SBUUserMessageTextView.swift", "kind": "IntegerLiteral", - "offset": 1606, + "offset": 1669, "length": 1, "value": "0" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/CellView\/SBUUserMessageTextView.swift", "kind": "BooleanLiteral", - "offset": 1831, + "offset": 1894, "length": 5, "value": "false" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/CellView\/SBUUserMessageTextView.swift", "kind": "BooleanLiteral", - "offset": 2097, + "offset": 2044, "length": 5, "value": "false" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/CellView\/SBUUserMessageTextView.swift", "kind": "BooleanLiteral", - "offset": 2601, + "offset": 2928, "length": 5, "value": "false" }, @@ -361649,45 +371542,31 @@ "length": 2, "value": "16" }, - { - "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Module\/SelectUser\/CreateChannel\/SBUCreateOpenChannelModule.ProfileInput.swift", - "kind": "IntegerLiteral", - "offset": 1900, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Module\/SelectUser\/CreateChannel\/SBUCreateOpenChannelModule.ProfileInput.swift", - "kind": "IntegerLiteral", - "offset": 1922, - "length": 1, - "value": "0" - }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Module\/SelectUser\/CreateChannel\/SBUCreateOpenChannelModule.ProfileInput.swift", "kind": "BooleanLiteral", - "offset": 3054, + "offset": 2785, "length": 5, "value": "false" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Module\/SelectUser\/CreateChannel\/SBUCreateOpenChannelModule.ProfileInput.swift", "kind": "FloatLiteral", - "offset": 3107, + "offset": 2838, "length": 4, "value": "80.0" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Module\/SelectUser\/CreateChannel\/SBUCreateOpenChannelModule.ProfileInput.swift", "kind": "IntegerLiteral", - "offset": 3175, + "offset": 2906, "length": 2, "value": "46" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Module\/SelectUser\/CreateChannel\/SBUCreateOpenChannelModule.ProfileInput.swift", "kind": "IntegerLiteral", - "offset": 3187, + "offset": 2918, "length": 2, "value": "46" }, @@ -361743,59 +371622,143 @@ { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/ViewModel\/MessageThread\/SBUMessageThreadViewModel.swift", "kind": "IntegerLiteral", - "offset": 2041, + "offset": 2234, "length": 3, "value": "100" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/ViewModel\/MessageThread\/SBUMessageThreadViewModel.swift", "kind": "BooleanLiteral", - "offset": 2772, + "offset": 3310, "length": 4, "value": "true" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/ViewModel\/MessageThread\/SBUMessageThreadViewModel.swift", "kind": "BooleanLiteral", - "offset": 2824, + "offset": 3362, "length": 5, "value": "false" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/ViewModel\/MessageThread\/SBUMessageThreadViewModel.swift", "kind": "IntegerLiteral", - "offset": 2943, + "offset": 3481, "length": 1, "value": "0" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/ViewModel\/MessageThread\/SBUMessageThreadViewModel.swift", "kind": "BooleanLiteral", - "offset": 3088, + "offset": 3626, "length": 5, "value": "false" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/ViewModel\/MessageThread\/SBUMessageThreadViewModel.swift", "kind": "IntegerLiteral", - "offset": 3576, + "offset": 4114, "length": 1, "value": "0" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/ViewModel\/MessageThread\/SBUMessageThreadViewModel.swift", "kind": "BooleanLiteral", - "offset": 12651, + "offset": 13189, "length": 5, "value": "false" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/ViewModel\/MessageThread\/SBUMessageThreadViewModel.swift", "kind": "StringLiteral", - "offset": 1722, + "offset": 1915, "length": 25, "value": "\"SendbirdUIKit.SBUMessageThreadViewModel\"" }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/MultipleFilesMessage\/SBUMultipleFilesMessageCell.swift", + "kind": "IntegerLiteral", + "offset": 840, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/MultipleFilesMessage\/SBUMultipleFilesMessageCell.swift", + "kind": "IntegerLiteral", + "offset": 849, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/MultipleFilesMessage\/SBUMultipleFilesMessageCell.swift", + "kind": "IntegerLiteral", + "offset": 860, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/MultipleFilesMessage\/SBUMultipleFilesMessageCell.swift", + "kind": "IntegerLiteral", + "offset": 870, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/MultipleFilesMessage\/SBUMultipleFilesMessageCell.swift", + "kind": "IntegerLiteral", + "offset": 914, + "length": 1, + "value": "4" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/MultipleFilesMessage\/SBUMultipleFilesMessageCell.swift", + "kind": "IntegerLiteral", + "offset": 952, + "length": 1, + "value": "4" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/MultipleFilesMessage\/SBUMultipleFilesMessageCell.swift", + "kind": "BooleanLiteral", + "offset": 1115, + "length": 5, + "value": "false" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/MultipleFilesMessage\/SBUMultipleFilesMessageCell.swift", + "kind": "FloatLiteral", + "offset": 1844, + "length": 3, + "value": "4.0" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/MultipleFilesMessage\/SBUMultipleFilesMessageCell.swift", + "kind": "FloatLiteral", + "offset": 1896, + "length": 4, + "value": "12.0" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/MultipleFilesMessage\/SBUMultipleFilesMessageCell.swift", + "kind": "FloatLiteral", + "offset": 1948, + "length": 3, + "value": "4.0" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/MultipleFilesMessage\/SBUMultipleFilesMessageCell.swift", + "kind": "FloatLiteral", + "offset": 1999, + "length": 3, + "value": "4.0" + }, + { + "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageCell\/MultipleFilesMessage\/SBUMultipleFilesMessageCell.swift", + "kind": "FloatLiteral", + "offset": 2055, + "length": 3, + "value": "6.0" + }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/Configuration\/Replies\/SBUReplyConfiguration.swift", "kind": "BooleanLiteral", @@ -361904,21 +371867,21 @@ { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/ViewModel\/Channel\/SBUGroupChannelViewModel.swift", "kind": "BooleanLiteral", - "offset": 2202, + "offset": 2622, "length": 5, "value": "false" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/ViewModel\/Channel\/SBUGroupChannelViewModel.swift", "kind": "BooleanLiteral", - "offset": 2624, + "offset": 3044, "length": 5, "value": "false" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/ViewModel\/Channel\/SBUGroupChannelViewModel.swift", "kind": "StringLiteral", - "offset": 1303, + "offset": 1494, "length": 24, "value": "\"SendbirdUIKit.SBUGroupChannelViewModel\"" }, @@ -361981,63 +371944,63 @@ { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageInput\/SBUQuoteMessageInputView.swift", "kind": "IntegerLiteral", - "offset": 9742, + "offset": 11220, "length": 1, "value": "0" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageInput\/SBUQuoteMessageInputView.swift", "kind": "IntegerLiteral", - "offset": 9767, + "offset": 11245, "length": 1, "value": "1" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageInput\/SBUQuoteMessageInputView.swift", "kind": "IntegerLiteral", - "offset": 9793, + "offset": 11271, "length": 1, "value": "2" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageInput\/SBUQuoteMessageInputView.swift", "kind": "IntegerLiteral", - "offset": 9742, + "offset": 11220, "length": 1, "value": "0" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageInput\/SBUQuoteMessageInputView.swift", "kind": "IntegerLiteral", - "offset": 9767, + "offset": 11245, "length": 1, "value": "1" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageInput\/SBUQuoteMessageInputView.swift", "kind": "IntegerLiteral", - "offset": 9793, + "offset": 11271, "length": 1, "value": "2" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageInput\/SBUQuoteMessageInputView.swift", "kind": "IntegerLiteral", - "offset": 9742, + "offset": 11220, "length": 1, "value": "0" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageInput\/SBUQuoteMessageInputView.swift", "kind": "IntegerLiteral", - "offset": 9767, + "offset": 11245, "length": 1, "value": "1" }, { "filePath": "\/Users\/distiller\/project\/uikit-ios\/SendbirdUIKit\/View\/Channel\/MessageInput\/SBUQuoteMessageInputView.swift", "kind": "IntegerLiteral", - "offset": 9793, + "offset": 11271, "length": 1, "value": "2" }, diff --git a/Framework/SendbirdUIKit.xcframework/ios-arm64_x86_64-simulator/SendbirdUIKit.framework/Modules/SendbirdUIKit.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface b/Framework/SendbirdUIKit.xcframework/ios-arm64_x86_64-simulator/SendbirdUIKit.framework/Modules/SendbirdUIKit.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface index fa04c0b7c..41c3f68b8 100644 --- a/Framework/SendbirdUIKit.xcframework/ios-arm64_x86_64-simulator/SendbirdUIKit.framework/Modules/SendbirdUIKit.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface +++ b/Framework/SendbirdUIKit.xcframework/ios-arm64_x86_64-simulator/SendbirdUIKit.framework/Modules/SendbirdUIKit.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface @@ -155,7 +155,7 @@ extension SendbirdUIKit.SBUBaseChannelModule { @_Concurrency.MainActor(unsafe) open func updateStyles(theme: SendbirdUIKit.SBUChannelTheme? = nil, componentTheme: SendbirdUIKit.SBUComponentTheme = SBUTheme.componentTheme) @_Concurrency.MainActor(unsafe) public func setupScrollBottomViewStyle(scrollBottomView: UIKit.UIView, theme: SendbirdUIKit.SBUComponentTheme = SBUTheme.componentTheme) @objc @_Concurrency.MainActor(unsafe) open func setScrollBottomView(hidden: Swift.Bool) - @objc @_Concurrency.MainActor(unsafe) public func reloadTableView() + @objc @_Concurrency.MainActor(unsafe) public func reloadTableView(needsToLayout: Swift.Bool = true) @_Concurrency.MainActor(unsafe) public func updateEmptyView(type: SendbirdUIKit.EmptyViewType) @objc @_Concurrency.MainActor(unsafe) open func showMessageMenu(on message: SendbirdChatSDK.BaseMessage, forRowAt indexPath: Foundation.IndexPath) @objc @_Concurrency.MainActor(unsafe) open func showFailedMessageMenu(on message: SendbirdChatSDK.BaseMessage) @@ -341,6 +341,7 @@ public protocol SBUMessageThreadModuleInputDelegate : SendbirdUIKit.SBUBaseChann func messageThreadModule(_ inputComponent: SendbirdUIKit.SBUMessageThreadModule.Input, shouldLoadSuggestedMentions filterText: Swift.String) func messageThreadModuleShouldStopSuggestingMention(_ inputComponent: SendbirdUIKit.SBUMessageThreadModule.Input) func messageThreadModuleDidTapVoiceMessage(_ inputComponent: SendbirdUIKit.SBUMessageThreadModule.Input) + func messageThreadModule(_ inputComponent: SendbirdUIKit.SBUMessageThreadModule.Input, didPickMultipleFiles fileInfoList: [SendbirdChatSDK.UploadableFileInfo], parentMessage: SendbirdChatSDK.BaseMessage) } public protocol SBUMessageThreadModuleInputDataSource : SendbirdUIKit.SBUBaseChannelModuleInputDataSource { } @@ -375,6 +376,12 @@ extension SendbirdUIKit.SBUMessageThreadModule { @_Concurrency.MainActor(unsafe) @objc override open func pickDocumentFile(documentURLs: [Foundation.URL]) @_Concurrency.MainActor(unsafe) @objc override open func pickImageData(_ data: Foundation.Data, fileName: Swift.String? = nil, mimeType: Swift.String? = nil) @_Concurrency.MainActor(unsafe) @objc override open func pickVideoURL(_ url: Foundation.URL) + @objc @available(iOS 14.0, *) + @_Concurrency.MainActor(unsafe) public func pickMultipleImageFiles(itemProviders: [Foundation.NSItemProvider]) + @available(iOS 14.0, *) + @_Concurrency.MainActor(unsafe) public func loadImageFile(itemProvider: Foundation.NSItemProvider, index: Swift.Int? = nil, completion: @escaping (Foundation.Data?, Swift.String?, Swift.String?) -> Swift.Void) + @available(iOS 14.0, *) + @_Concurrency.MainActor(unsafe) public func loadGIFfile(itemProvider: Foundation.NSItemProvider, index: Swift.Int? = nil, completion: @escaping (Foundation.Data?, Swift.String?, Swift.String?) -> Swift.Void) @_Concurrency.MainActor(unsafe) @objc override open func updateMessageInputMode(_ mode: SendbirdUIKit.SBUMessageInputMode, message: SendbirdChatSDK.BaseMessage? = nil) @_Concurrency.MainActor(unsafe) @objc override open func updateMessageInputModeState() @_Concurrency.MainActor(unsafe) @objc override open func updateFrozenModeState() @@ -831,10 +838,10 @@ extension SendbirdUIKit.SBUView : SendbirdUIKit.SBUViewLifeCycle { set _modify } - @_Concurrency.MainActor(unsafe) public var collectionViewHeightConstraint: UIKit.NSLayoutConstraint! { + @_Concurrency.MainActor(unsafe) public var collectionViewHeightConstraint: UIKit.NSLayoutConstraint? { get } - @_Concurrency.MainActor(unsafe) public var collectionViewMinWidthContraint: UIKit.NSLayoutConstraint! { + @_Concurrency.MainActor(unsafe) public var collectionViewMinWidthContraint: UIKit.NSLayoutConstraint? { get } @_Concurrency.MainActor(unsafe) final public let collectionViewInsets: UIKit.UIEdgeInsets @@ -1736,6 +1743,7 @@ extension UIKit.UIImageView { @_hasMissingDesignatedInitializers public class SBUUtils { public static func getFileType(by fileMessage: SendbirdChatSDK.FileMessage) -> SendbirdUIKit.SBUMessageFileType public static func getFileType(by type: Swift.String) -> SendbirdUIKit.SBUMessageFileType + public static func getFileTypeString(by fileType: Swift.String) -> Swift.String public static func generateChannelName(channel: SendbirdChatSDK.GroupChannel) -> Swift.String public static func getMimeType(url: Foundation.URL) -> Swift.String? @available(*, deprecated, renamed: "getReceiptState(of:in:)") @@ -1786,6 +1794,7 @@ extension UIKit.UIImageView { public static var Settings: Swift.String public static var Reply: Swift.String public static var Alert_Delete: Swift.String + public static var Alert_Delete_MultipleFilesMessage: (Swift.Int) -> Swift.String public static var Alert_Allow_Camera_Access: Swift.String public static var Alert_Allow_PhotoLibrary_Access: Swift.String public static var Alert_Allow_PhotoLibrary_Access_Message: Swift.String @@ -1947,6 +1956,22 @@ extension UIKit.UIImageView { } public static var fileName: Swift.String } + public struct GroupChannel { + public struct Preview { + public static var photo: Swift.String + public static var gif: Swift.String + public static var video: Swift.String + public static var audio: Swift.String + public static var voice: Swift.String + public static var file: Swift.String + public static var multipleFiles: Swift.String + } + } + public struct FileUpload { + public struct Error { + public static var exceededSizeLimit: Swift.String + } + } @objc deinit } extension SendbirdUIKit.SBUStringSet { @@ -2120,6 +2145,7 @@ extension SendbirdUIKit.SBUCreateOpenChannelModule { @_Concurrency.MainActor(unsafe) final public let descriptionLabel: UIKit.UILabel @_Concurrency.MainActor(unsafe) final public let urlLabel: UIKit.UILabel @_Concurrency.MainActor(unsafe) public var imageHeightConstraint: UIKit.NSLayoutConstraint? + @_Concurrency.MainActor(unsafe) public var imageWitdhConstraint: UIKit.NSLayoutConstraint? @_Concurrency.MainActor(unsafe) @objc override dynamic public init(frame: CoreFoundation.CGRect) @_Concurrency.MainActor(unsafe) @objc required dynamic public init(coder: Foundation.NSCoder) @_Concurrency.MainActor(unsafe) @objc override dynamic open func layoutSubviews() @@ -2297,6 +2323,11 @@ extension SendbirdUIKit.SBUModuleSet { public static var MessageSearchModule: SendbirdUIKit.SBUMessageSearchModule.Type public static var MessageThreadModule: SendbirdUIKit.SBUMessageThreadModule.Type } +extension SendbirdChatSDK.MultipleFilesMessage { + public var filesCount: Swift.Int { + get + } +} public protocol SBUMessageSearchViewModelDelegate : SendbirdUIKit.SBUCommonViewModelDelegate { func searchViewModel(_ viewModel: SendbirdUIKit.SBUMessageSearchViewModel, didChangeSearchResults results: [SendbirdChatSDK.BaseMessage], needsToReload: Swift.Bool) } @@ -2317,6 +2348,24 @@ open class SBUMessageSearchViewModel { public func loadMore() @objc deinit } +@objc @_inheritsConvenienceInitializers @_Concurrency.MainActor(unsafe) open class SBUMultipleFilesMessageCollectionView : UIKit.UICollectionView, SendbirdUIKit.SBUViewLifeCycle { + @SendbirdUIKit.SBUThemeWrapper @_Concurrency.MainActor(unsafe) public var theme: SendbirdUIKit.SBUMessageCellTheme { + get + set + _modify + } + @_Concurrency.MainActor(unsafe) public var cornerRadius: CoreFoundation.CGFloat + @_Concurrency.MainActor(unsafe) open func configure(delegate: UIKit.UICollectionViewDelegate, dataSource: UIKit.UICollectionViewDataSource, theme: SendbirdUIKit.SBUMessageCellTheme? = nil, cornerRadius: CoreFoundation.CGFloat) + @_Concurrency.MainActor(unsafe) @objc open func setupViews() + @_Concurrency.MainActor(unsafe) @objc open func setupLayouts() + @_Concurrency.MainActor(unsafe) @objc open func setupStyles() + @_Concurrency.MainActor(unsafe) @objc open func setupActions() + @_Concurrency.MainActor(unsafe) @objc open func updateLayouts() + @_Concurrency.MainActor(unsafe) @objc open func updateStyles() + @_Concurrency.MainActor(unsafe) @objc override dynamic public init(frame: CoreFoundation.CGRect, collectionViewLayout layout: UIKit.UICollectionViewLayout) + @_Concurrency.MainActor(unsafe) @objc required dynamic public init?(coder: Foundation.NSCoder) + @objc deinit +} extension SendbirdUIKit.SBUBaseSelectUserViewController { @objc @available(*, deprecated, renamed: "channelURL") @_Concurrency.MainActor(unsafe) dynamic public var channelUrl: Swift.String? { @@ -2477,6 +2526,28 @@ extension SendbirdUIKit.SBUBaseChannelSettingsModule { @objc func updateLayouts() @objc func setupActions() } +@objc @_hasMissingDesignatedInitializers @_Concurrency.MainActor(unsafe) public class SBUPaddingLabel : UIKit.UILabel { + @_Concurrency.MainActor(unsafe) public var top: CoreFoundation.CGFloat { + get + } + @_Concurrency.MainActor(unsafe) public var bottom: CoreFoundation.CGFloat { + get + } + @_Concurrency.MainActor(unsafe) public var leading: CoreFoundation.CGFloat { + get + } + @_Concurrency.MainActor(unsafe) public var trailing: CoreFoundation.CGFloat { + get + } + @_Concurrency.MainActor(unsafe) convenience public init(_ all: CoreFoundation.CGFloat) + @_Concurrency.MainActor(unsafe) convenience public init(_ vertical: CoreFoundation.CGFloat, _ horizontal: CoreFoundation.CGFloat) + @_Concurrency.MainActor(unsafe) public init(_ top: CoreFoundation.CGFloat = 0, _ bottom: CoreFoundation.CGFloat = 0, _ leading: CoreFoundation.CGFloat = 0, _ trailing: CoreFoundation.CGFloat = 0) + @_Concurrency.MainActor(unsafe) @objc override dynamic public func drawText(in rect: CoreFoundation.CGRect) + @_Concurrency.MainActor(unsafe) @objc override dynamic public var intrinsicContentSize: CoreFoundation.CGSize { + @objc get + } + @objc deinit +} public typealias SBUNewNotificationInfoHandler = () -> Swift.Void extension SendbirdUIKit.SBUBaseChannelViewController { @objc @_Concurrency.MainActor(unsafe) dynamic public func registerKeyboardNotifications() @@ -2497,7 +2568,7 @@ extension SendbirdUIKit.SBUBaseChannelViewController { get } @objc @_Concurrency.MainActor(unsafe) public var webView: SendbirdUIKit.SBUOpenChannelMessageWebView - @objc @_Concurrency.MainActor(unsafe) public var messageTypeConstraint: UIKit.NSLayoutConstraint! { + @objc @_Concurrency.MainActor(unsafe) public var messageTypeConstraint: UIKit.NSLayoutConstraint? { get } @objc @_Concurrency.MainActor(unsafe) public var webTypeConstraints: [UIKit.NSLayoutConstraint] { @@ -2957,6 +3028,7 @@ public protocol SBUMessageCellProtocol { @objc @_Concurrency.MainActor(unsafe) public var newMessagesCount: Swift.Int { get } + @objc @_Concurrency.MainActor(unsafe) open func multipleFilesMessageFileSizeErrorHandler(_ message: Swift.String) @objc @_Concurrency.MainActor(unsafe) required public init(channel: SendbirdChatSDK.GroupChannel, messageListParams: SendbirdChatSDK.MessageListParams? = nil) @objc @_Concurrency.MainActor(unsafe) public init(channel: SendbirdChatSDK.GroupChannel, messageListParams: SendbirdChatSDK.MessageListParams? = nil, displaysLocalCachedListFirst: Swift.Bool) @_Concurrency.MainActor(unsafe) required public init(channelURL: Swift.String, startingPoint: Swift.Int64? = nil, messageListParams: SendbirdChatSDK.MessageListParams? = nil) @@ -2975,6 +3047,7 @@ public protocol SBUMessageCellProtocol { @_Concurrency.MainActor(unsafe) @objc override open func setupViews() @_Concurrency.MainActor(unsafe) @objc override open func setupLayouts() @_Concurrency.MainActor(unsafe) @objc override open func setupStyles() + @_Concurrency.MainActor(unsafe) @objc override open func updateStyles(needsToLayout: Swift.Bool) @_Concurrency.MainActor(unsafe) @objc override open func updateStyles() @discardableResult @_Concurrency.MainActor(unsafe) @objc override public func increaseNewMessageCount() -> Swift.Bool @@ -2986,14 +3059,20 @@ public protocol SBUMessageCellProtocol { @_Concurrency.MainActor(unsafe) override public func showMenuModal(_ cell: UIKit.UITableViewCell, indexPath: Foundation.IndexPath, message: SendbirdChatSDK.BaseMessage, types: [SendbirdUIKit.MessageMenuItem]?) @_Concurrency.MainActor(unsafe) @objc override open func showChannelSettings() @_Concurrency.MainActor(unsafe) override open func showMessageThread(channelURL: Swift.String, parentMessageId: Swift.Int64, parentMessageCreatedAt: Swift.Int64? = 0, startingPoint: Swift.Int64? = 0) + @_Concurrency.MainActor(unsafe) @objc override open func imagePickerControllerDidCancel(_ picker: UIKit.UIImagePickerController) + @available(iOS 14, *) + @_Concurrency.MainActor(unsafe) override open func picker(_ picker: PhotosUI.PHPickerViewController, didFinishPicking results: [PhotosUI.PHPickerResult]) + @_Concurrency.MainActor(unsafe) @objc override open func showPhotoLibraryPicker() @_Concurrency.MainActor(unsafe) @objc override open func showVoiceMessageInput() @_Concurrency.MainActor(unsafe) @objc override open func dismissVoiceMessageInput() @_Concurrency.MainActor(unsafe) @objc override open func resetVoiceMessageInput(for resignActivity: Swift.Bool = false) @_Concurrency.MainActor(unsafe) @objc override open func baseChannelViewModel(_ viewModel: SendbirdUIKit.SBUBaseChannelViewModel, didChangeChannel channel: SendbirdChatSDK.BaseChannel?, withContext context: SendbirdChatSDK.MessageContext) @_Concurrency.MainActor(unsafe) @objc override open func baseChannelViewModel(_ viewModel: SendbirdUIKit.SBUBaseChannelViewModel, deletedMessages messages: [SendbirdChatSDK.BaseMessage]) @objc @_Concurrency.MainActor(unsafe) open func groupChannelViewModel(_ viewModel: SendbirdUIKit.SBUGroupChannelViewModel, didReceiveSuggestedMentions members: [SendbirdUIKit.SBUUser]?) + @objc @_Concurrency.MainActor(unsafe) public func groupChannelViewModel(_ viewModel: SendbirdUIKit.SBUGroupChannelViewModel, didFinishUploadingFileAt index: Swift.Int, multipleFilesMessageRequestId requestId: Swift.String) @_Concurrency.MainActor(unsafe) @objc override open func baseChannelModule(_ headerComponent: SendbirdUIKit.SBUBaseChannelModule.Header, didTapLeftItem leftItem: UIKit.UIBarButtonItem) @_Concurrency.MainActor(unsafe) @objc override open func baseChannelModule(_ headerComponent: SendbirdUIKit.SBUBaseChannelModule.Header, didTapRightItem rightItem: UIKit.UIBarButtonItem) + @objc @_Concurrency.MainActor(unsafe) open func groupChannelModule(_ listComponent: SendbirdUIKit.SBUGroupChannelModule.List, didSelectFileAt index: Swift.Int, multipleFilesMessageCell: SendbirdUIKit.SBUMultipleFilesMessageCell, forRowAt cellIndexPath: Foundation.IndexPath) @objc @_Concurrency.MainActor(unsafe) open func groupChannelModule(_ listComponent: SendbirdUIKit.SBUGroupChannelModule.List, didTapEmoji emojiKey: Swift.String, messageCell: SendbirdUIKit.SBUBaseMessageCell) @objc @_Concurrency.MainActor(unsafe) open func groupChannelModule(_ listComponent: SendbirdUIKit.SBUGroupChannelModule.List, didLongTapEmoji emojiKey: Swift.String, messageCell: SendbirdUIKit.SBUBaseMessageCell) @objc @_Concurrency.MainActor(unsafe) open func groupChannelModule(_ listComponent: SendbirdUIKit.SBUGroupChannelModule.List, didTapMoreEmojiForCell messageCell: SendbirdUIKit.SBUBaseMessageCell) @@ -3006,6 +3085,7 @@ public protocol SBUMessageCellProtocol { @_Concurrency.MainActor(unsafe) open func groupChannelModule(_ listComponent: SendbirdUIKit.SBUGroupChannelModule.List, highlightInfoInTableView tableView: UIKit.UITableView) -> SendbirdUIKit.SBUHighlightMessageInfo? @_Concurrency.MainActor(unsafe) @objc override open func baseChannelModule(_ inputComponent: SendbirdUIKit.SBUBaseChannelModule.Input, didUpdateFrozenState isFrozen: Swift.Bool) @objc @_Concurrency.MainActor(unsafe) open func groupChannelModule(_ inputComponent: SendbirdUIKit.SBUGroupChannelModule.Input, didPickFileData fileData: Foundation.Data?, fileName: Swift.String, mimeType: Swift.String, parentMessage: SendbirdChatSDK.BaseMessage?) + @objc @_Concurrency.MainActor(unsafe) open func groupChannelModule(_ inputComponent: SendbirdUIKit.SBUGroupChannelModule.Input, didPickMultipleFiles fileInfoList: [SendbirdChatSDK.UploadableFileInfo]?, parentMessage: SendbirdChatSDK.BaseMessage?) @objc @_Concurrency.MainActor(unsafe) open func groupChannelModule(_ inputComponent: SendbirdUIKit.SBUGroupChannelModule.Input, didTapSend text: Swift.String, mentionedMessageTemplate: Swift.String, mentionedUserIds: [Swift.String], parentMessage: SendbirdChatSDK.BaseMessage?) @objc @_Concurrency.MainActor(unsafe) open func groupChannelModule(_ inputComponent: SendbirdUIKit.SBUGroupChannelModule.Input, didTapEdit text: Swift.String, mentionedMessageTemplate: Swift.String, mentionedUserIds: [Swift.String]) @objc @_Concurrency.MainActor(unsafe) open func groupChannelModule(_ inputComponent: SendbirdUIKit.SBUGroupChannelModule.Input, willChangeMode mode: SendbirdUIKit.SBUMessageInputMode, message: SendbirdChatSDK.BaseMessage?, mentionedMessageTemplate: Swift.String, mentionedUserIds: [Swift.String]) @@ -3535,7 +3615,7 @@ public protocol SBUSuggestedMentionListDelegate : AnyObject { } @_Concurrency.MainActor(unsafe) public var userCell: UIKit.UITableViewCell? @_Concurrency.MainActor(unsafe) public var limitGuideCell: UIKit.UITableViewCell? - @_Concurrency.MainActor(unsafe) public var heightConstraint: UIKit.NSLayoutConstraint! + @_Concurrency.MainActor(unsafe) public var heightConstraint: UIKit.NSLayoutConstraint? @_Concurrency.MainActor(unsafe) public var filteredUsers: [SendbirdUIKit.SBUUser] { get } @@ -3611,6 +3691,10 @@ extension SendbirdUIKit.SBUConfig.GroupChannel { set } public var input: SendbirdUIKit.SBUConfig.GroupChannel.Channel.Input + @SendbirdUIKit.SBUPrioritizedConfig public var isMultipleFilesMessageEnabled: Swift.Bool { + get + set + } @objc deinit public func encode(to encoder: Swift.Encoder) throws required public init(from decoder: Swift.Decoder) throws @@ -3686,6 +3770,8 @@ public protocol SBUMessageThreadModuleListDelegate : SendbirdUIKit.SBUBaseChanne func messageThreadModule(_ listComponent: SendbirdUIKit.SBUMessageThreadModule.List, didLongTapEmoji emojiKey: Swift.String, messageCell: SendbirdUIKit.SBUBaseMessageCell) func messageThreadModule(_ listComponent: SendbirdUIKit.SBUMessageThreadModule.List, didTapMoreEmojiForCell messageCell: SendbirdUIKit.SBUBaseMessageCell) func messageThreadModule(_ listComponent: SendbirdUIKit.SBUMessageThreadModule.List, didTapMentionUser user: SendbirdUIKit.SBUUser) + func messageThreadModule(_ listComponent: SendbirdUIKit.SBUMessageThreadModule.List, didSelectFileAt index: Swift.Int, multipleFilesMessageCell: SendbirdUIKit.SBUMultipleFilesMessageCell, forRowAt cellIndexPath: Foundation.IndexPath) + func messageThreadModule(_ listComponent: SendbirdUIKit.SBUMessageThreadModule.List, uploadedFileInfo: SendbirdChatSDK.UploadedFileInfo, message: SendbirdChatSDK.MultipleFilesMessage, index: Swift.Int) } public protocol SBUMessageThreadModuleListDataSource : SendbirdUIKit.SBUBaseChannelModuleListDataSource { } @@ -3702,6 +3788,9 @@ extension SendbirdUIKit.SBUMessageThreadModule { @objc @_Concurrency.MainActor(unsafe) public var fileMessageCell: SendbirdUIKit.SBUBaseMessageCell? { get } + @objc @_Concurrency.MainActor(unsafe) public var multipleFilesMessageCell: SendbirdUIKit.SBUBaseMessageCell? { + get + } @objc @_Concurrency.MainActor(unsafe) public var unknownMessageCell: SendbirdUIKit.SBUBaseMessageCell? { get } @@ -3734,11 +3823,12 @@ extension SendbirdUIKit.SBUMessageThreadModule { @_Concurrency.MainActor(unsafe) override open func createMessageMenuItems(for message: SendbirdChatSDK.BaseMessage) -> [SendbirdUIKit.SBUMenuItem] @_Concurrency.MainActor(unsafe) @objc override open func showMessageContextMenu(for message: SendbirdChatSDK.BaseMessage, cell: UIKit.UITableViewCell, forRowAt indexPath: Foundation.IndexPath) @objc @_Concurrency.MainActor(unsafe) open func setMessageCellGestures(_ cell: SendbirdUIKit.SBUBaseMessageCell, message: SendbirdChatSDK.BaseMessage, indexPath: Foundation.IndexPath) - @_Concurrency.MainActor(unsafe) @objc override public func reloadTableView() + @_Concurrency.MainActor(unsafe) @objc override public func reloadTableView(needsToLayout: Swift.Bool = true) @objc @_Concurrency.MainActor(unsafe) public func register(messageCell: SendbirdUIKit.SBUBaseMessageCell, nib: UIKit.UINib? = nil) @objc @_Concurrency.MainActor(unsafe) open func register(adminMessageCell: SendbirdUIKit.SBUBaseMessageCell, nib: UIKit.UINib? = nil) @objc @_Concurrency.MainActor(unsafe) open func register(userMessageCell: SendbirdUIKit.SBUBaseMessageCell, nib: UIKit.UINib? = nil) @objc @_Concurrency.MainActor(unsafe) open func register(fileMessageCell: SendbirdUIKit.SBUBaseMessageCell, nib: UIKit.UINib? = nil) + @objc @_Concurrency.MainActor(unsafe) open func register(multipleFilesMessageCell: SendbirdUIKit.SBUBaseMessageCell, nib: UIKit.UINib? = nil) @objc @_Concurrency.MainActor(unsafe) open func register(unknownMessageCell: SendbirdUIKit.SBUBaseMessageCell, nib: UIKit.UINib? = nil) @objc @_Concurrency.MainActor(unsafe) open func register(customMessageCell: SendbirdUIKit.SBUBaseMessageCell, nib: UIKit.UINib? = nil) @objc @_Concurrency.MainActor(unsafe) open func configureCell(_ messageCell: SendbirdUIKit.SBUBaseMessageCell, message: SendbirdChatSDK.BaseMessage, forRowAt indexPath: Foundation.IndexPath) @@ -4130,6 +4220,20 @@ extension SendbirdUIKit.SBUInviteUserModule { public static func restoreDefaultIcons() @objc deinit } +@objc @_inheritsConvenienceInitializers @_Concurrency.MainActor(unsafe) open class SBUCollectionViewCell : UIKit.UICollectionViewCell { + @_Concurrency.MainActor(unsafe) @objc override dynamic public init(frame: CoreFoundation.CGRect) + @_Concurrency.MainActor(unsafe) @objc required dynamic public init?(coder: Foundation.NSCoder) + @_Concurrency.MainActor(unsafe) @objc override dynamic open func layoutSubviews() + @objc deinit +} +extension SendbirdUIKit.SBUCollectionViewCell : SendbirdUIKit.SBUViewLifeCycle { + @_Concurrency.MainActor(unsafe) @objc dynamic public func setupViews() + @_Concurrency.MainActor(unsafe) @objc dynamic public func setupStyles() + @_Concurrency.MainActor(unsafe) @objc dynamic public func updateStyles() + @_Concurrency.MainActor(unsafe) @objc dynamic public func setupLayouts() + @_Concurrency.MainActor(unsafe) @objc dynamic public func updateLayouts() + @_Concurrency.MainActor(unsafe) @objc dynamic public func setupActions() +} @objc @_inheritsConvenienceInitializers @_Concurrency.MainActor(unsafe) open class SBUOpenChannelContentBaseMessageCell : SendbirdUIKit.SBUOpenChannelBaseMessageCell { @objc @_Concurrency.MainActor(unsafe) public var baseStackView: UIKit.UIStackView { @objc get @@ -4139,6 +4243,10 @@ extension SendbirdUIKit.SBUInviteUserModule { @objc get @objc set } + @objc @_Concurrency.MainActor(unsafe) public var profileBaseView: UIKit.UIView { + @objc get + @objc set + } @objc @_Concurrency.MainActor(unsafe) public var contentsStackView: UIKit.UIStackView { @objc get @objc set @@ -4559,6 +4667,25 @@ public protocol SBUCreateChannelTypeSelectorProtocol { @_Concurrency.MainActor(unsafe) open func updateButton(type: SendbirdUIKit.ChannelCreationType) @objc deinit } +@objc @_inheritsConvenienceInitializers @_hasMissingDesignatedInitializers @_Concurrency.MainActor(unsafe) open class SBUMultipleFilesMessageCollectionViewCell : SendbirdUIKit.SBUCollectionViewCell { + @_Concurrency.MainActor(unsafe) public var imageView: UIKit.UIImageView + @_Concurrency.MainActor(unsafe) public var overlayView: UIKit.UIView + @_Concurrency.MainActor(unsafe) public var iconImageView: UIKit.UIImageView + @SendbirdUIKit.SBUThemeWrapper @_Concurrency.MainActor(unsafe) public var theme: SendbirdUIKit.SBUMessageCellTheme { + get + set + _modify + } + @_Concurrency.MainActor(unsafe) public var imageCornerRadius: CoreFoundation.CGFloat + @_Concurrency.MainActor(unsafe) @objc required dynamic public init?(coder aDecoder: Foundation.NSCoder) + @_Concurrency.MainActor(unsafe) open func configure(uploadableFileInfo: SendbirdChatSDK.UploadableFileInfo? = nil, uploadedFileInfo: SendbirdChatSDK.UploadedFileInfo? = nil, requestId: Swift.String, index: Swift.Int, imageCornerRadius: CoreFoundation.CGFloat, showOverlay: Swift.Bool) + @_Concurrency.MainActor(unsafe) @objc override dynamic open func setupViews() + @_Concurrency.MainActor(unsafe) @objc override dynamic open func setupStyles() + @_Concurrency.MainActor(unsafe) @objc override dynamic open func setupLayouts() + @_Concurrency.MainActor(unsafe) @objc override dynamic open func prepareForReuse() + @_Concurrency.MainActor(unsafe) public func setGIFIcon() + @objc deinit +} extension UIKit.UIView { @objc @_Concurrency.MainActor(unsafe) public static func sbu_loadNib() -> UIKit.UINib @objc @_Concurrency.MainActor(unsafe) public static func sbu_loadViewFromNib() -> UIKit.UIView @@ -4584,6 +4711,8 @@ extension UIKit.UIView { @_Concurrency.MainActor(unsafe) public func sbu_constraint_greaterThan(widthAnchor: UIKit.NSLayoutAnchor? = nil, width: CoreFoundation.CGFloat? = nil, heightAnchor: UIKit.NSLayoutAnchor? = nil, height: CoreFoundation.CGFloat? = nil, priority: UIKit.UILayoutPriority? = nil) -> UIKit.UIView @discardableResult @_Concurrency.MainActor(unsafe) public func sbu_constraint_lessThan(widthAnchor: UIKit.NSLayoutAnchor? = nil, width: CoreFoundation.CGFloat? = nil, heightAnchor: UIKit.NSLayoutAnchor? = nil, height: CoreFoundation.CGFloat? = nil, priority: UIKit.UILayoutPriority? = nil) -> UIKit.UIView +} +extension UIKit.UIView { @discardableResult @_Concurrency.MainActor(unsafe) public func sbu_constraint_v2(equalTo view: UIKit.UIView, leading: CoreFoundation.CGFloat? = nil, trailing: CoreFoundation.CGFloat? = nil, left: CoreFoundation.CGFloat? = nil, right: CoreFoundation.CGFloat? = nil, top: CoreFoundation.CGFloat? = nil, bottom: CoreFoundation.CGFloat? = nil, centerX: CoreFoundation.CGFloat? = nil, centerY: CoreFoundation.CGFloat? = nil, priority: UIKit.UILayoutPriority? = nil) -> [UIKit.NSLayoutConstraint] @discardableResult @@ -4911,19 +5040,28 @@ public protocol SBUParentMessageInfoViewDelegate : AnyObject { func parentMessageInfoViewBoundsWillChanged(_ view: SendbirdUIKit.SBUParentMessageInfoView) func parentMessageInfoViewBoundsDidChanged(_ view: SendbirdUIKit.SBUParentMessageInfoView) } -@objc @_inheritsConvenienceInitializers @_Concurrency.MainActor(unsafe) open class SBUParentMessageInfoView : UIKit.UITableViewHeaderFooterView, SendbirdUIKit.SBUUserMessageTextViewDelegate { +@objc @_inheritsConvenienceInitializers @_Concurrency.MainActor(unsafe) open class SBUParentMessageInfoView : SendbirdUIKit.SBUView, SendbirdUIKit.SBUUserMessageTextViewDelegate { + public struct Constants { + public static var verticalSideMarginSize: CoreFoundation.CGFloat + } @_Concurrency.MainActor(unsafe) public var profileView: SendbirdUIKit.SBUMessageProfileView + @_Concurrency.MainActor(unsafe) public var profileBaseView: UIKit.UIView @_Concurrency.MainActor(unsafe) public var userNameLabel: UIKit.UILabel @_Concurrency.MainActor(unsafe) public var dateLabel: UIKit.UILabel @_Concurrency.MainActor(unsafe) public var moreButton: UIKit.UIButton? { get set } + @_Concurrency.MainActor(unsafe) public var moreButtonBaseView: UIKit.UIView @_Concurrency.MainActor(unsafe) public var replySeparateLine: UIKit.UIView @_Concurrency.MainActor(unsafe) public var replyLabel: UIKit.UILabel @_Concurrency.MainActor(unsafe) public var bottomSeparateLine: UIKit.UIView @_Concurrency.MainActor(unsafe) public var messageTextView: SendbirdUIKit.SBUUserMessageTextView @_Concurrency.MainActor(unsafe) public var baseFileContentView: SendbirdUIKit.SBUBaseFileContentView + @_Concurrency.MainActor(unsafe) public var fileCollectionView: SendbirdUIKit.SBUMultipleFilesMessageCollectionView { + get + set + } @_Concurrency.MainActor(unsafe) public var webView: SendbirdUIKit.SBUMessageWebView @_Concurrency.MainActor(unsafe) public var reactionView: SendbirdUIKit.SBUParentMessageInfoReactionView @_Concurrency.MainActor(unsafe) public var userHStackView: SendbirdUIKit.SBUStackView { @@ -4946,30 +5084,44 @@ public protocol SBUParentMessageInfoViewDelegate : AnyObject { @objc get @objc set } + @_Concurrency.MainActor(unsafe) public var contentView: UIKit.UIView { + get + set + } @_Concurrency.MainActor(unsafe) public var enablesReaction: Swift.Bool @_Concurrency.MainActor(unsafe) public var userProfileTapHandler: (() -> Swift.Void)? @_Concurrency.MainActor(unsafe) public var tapHandlerToContent: (() -> Swift.Void)? + @_Concurrency.MainActor(unsafe) public var fileSelectHandler: ((_ fileInfo: SendbirdChatSDK.UploadedFileInfo, _ index: Swift.Int) -> Swift.Void)? @_Concurrency.MainActor(unsafe) public var moreButtonTapHandlerToContent: (() -> Swift.Void)? @_Concurrency.MainActor(unsafe) public var emojiTapHandler: ((_ emojiKey: Swift.String) -> Swift.Void)? @_Concurrency.MainActor(unsafe) public var moreEmojiTapHandler: (() -> Swift.Void)? @_Concurrency.MainActor(unsafe) public var emojiLongPressHandler: ((_ emojiKey: Swift.String) -> Swift.Void)? @_Concurrency.MainActor(unsafe) public var mentionTapHandler: ((_ user: SendbirdUIKit.SBUUser) -> Swift.Void)? - @_Concurrency.MainActor(unsafe) @objc override dynamic public init(reuseIdentifier: Swift.String?) @available(*, unavailable, renamed: "SBUParentMessageInfoView(frame:)") - @_Concurrency.MainActor(unsafe) @objc required convenience dynamic public init?(coder: Foundation.NSCoder) - @_Concurrency.MainActor(unsafe) open func setupViews() - @_Concurrency.MainActor(unsafe) open func setupLayouts() - @_Concurrency.MainActor(unsafe) open func updateLayouts() - @_Concurrency.MainActor(unsafe) open func setupStyles() + @_Concurrency.MainActor(unsafe) required convenience public init?(coder: Foundation.NSCoder) + @_Concurrency.MainActor(unsafe) @objc override dynamic open func setupViews() + @_Concurrency.MainActor(unsafe) @objc override dynamic open func setupLayouts() + @_Concurrency.MainActor(unsafe) @objc override dynamic open func updateLayouts() + @_Concurrency.MainActor(unsafe) @objc override dynamic open func setupStyles() @_Concurrency.MainActor(unsafe) open func configure(message: SendbirdChatSDK.BaseMessage?, delegate: SendbirdUIKit.SBUParentMessageInfoViewDelegate?, useReaction: Swift.Bool = false, voiceFileInfo: SendbirdUIKit.SBUVoiceFileInfo?) - @_Concurrency.MainActor(unsafe) open func setupActions() + @_Concurrency.MainActor(unsafe) open func updateMessageTextWidth(with size: CoreFoundation.CGSize) + @_Concurrency.MainActor(unsafe) @objc override dynamic open func setupActions() @objc @_Concurrency.MainActor(unsafe) open func onTapUserProfileView(sender: UIKit.UITapGestureRecognizer) @objc @_Concurrency.MainActor(unsafe) open func onTapContentView(sender: UIKit.UITapGestureRecognizer) + @objc @_Concurrency.MainActor(unsafe) open func onSelectFile(sender: UIKit.UITapGestureRecognizer) @objc @_Concurrency.MainActor(unsafe) open func onTapWebview(sender: UIKit.UITapGestureRecognizer) @objc @_Concurrency.MainActor(unsafe) open func onTapMoreButton(_ sender: Any) @_Concurrency.MainActor(unsafe) open func userMessageTextView(_ textView: SendbirdUIKit.SBUUserMessageTextView, didTapMention user: SendbirdUIKit.SBUUser) + @_Concurrency.MainActor(unsafe) @objc override dynamic public init() + @_Concurrency.MainActor(unsafe) @objc override dynamic public init(frame: CoreFoundation.CGRect) @objc deinit } +extension SendbirdUIKit.SBUParentMessageInfoView : UIKit.UICollectionViewDataSource, UIKit.UICollectionViewDelegate, UIKit.UICollectionViewDelegateFlowLayout { + @_Concurrency.MainActor(unsafe) @objc dynamic public func numberOfSections(in collectionView: UIKit.UICollectionView) -> Swift.Int + @_Concurrency.MainActor(unsafe) @objc dynamic open func collectionView(_ collectionView: UIKit.UICollectionView, numberOfItemsInSection section: Swift.Int) -> Swift.Int + @_Concurrency.MainActor(unsafe) @objc dynamic open func collectionView(_ collectionView: UIKit.UICollectionView, layout collectionViewLayout: UIKit.UICollectionViewLayout, sizeForItemAt indexPath: Foundation.IndexPath) -> CoreFoundation.CGSize + @_Concurrency.MainActor(unsafe) @objc dynamic open func collectionView(_ collectionView: UIKit.UICollectionView, cellForItemAt indexPath: Foundation.IndexPath) -> UIKit.UICollectionViewCell +} @_hasMissingDesignatedInitializers public class SBUGlobalCustomParams { public static var groupChannelParamsCreateBuilder: ((_ params: SendbirdChatSDK.GroupChannelCreateParams?) -> Swift.Void)? public static var groupChannelParamsUpdateBuilder: ((_ params: SendbirdChatSDK.GroupChannelUpdateParams?) -> Swift.Void)? @@ -4979,6 +5131,7 @@ public protocol SBUParentMessageInfoViewDelegate : AnyObject { public static var userMessageParamsUpdateBuilder: ((_ params: SendbirdChatSDK.UserMessageUpdateParams?) -> Swift.Void)? public static var fileMessageParamsSendBuilder: ((_ params: SendbirdChatSDK.FileMessageCreateParams?) -> Swift.Void)? public static var voiceFileMessageParamsSendBuilder: ((_ params: SendbirdChatSDK.FileMessageCreateParams?) -> Swift.Void)? + public static var multipleFilesMessageParamsSendBuilder: ((_ params: SendbirdChatSDK.MultipleFilesMessageCreateParams?) -> Swift.Void)? public static var messageListParamsBuilder: ((_ params: SendbirdChatSDK.MessageListParams?) -> Swift.Void)? @objc deinit } @@ -5115,7 +5268,7 @@ extension UIKit.UIImage { @objc get @objc set } - @objc @_Concurrency.MainActor(unsafe) public var mainContainerView: SendbirdUIKit.SBUSelectableStackView { + @objc @_Concurrency.MainActor(unsafe) open var mainContainerView: SendbirdUIKit.SBUSelectableStackView { @objc get @objc set } @@ -5419,7 +5572,7 @@ extension UIKit.UIStackView { @_Concurrency.MainActor(unsafe) public var button: UIKit.UIButton @_Concurrency.MainActor(unsafe) public var username: Swift.String @_Concurrency.MainActor(unsafe) public var leftMargin: CoreFoundation.CGFloat - @_Concurrency.MainActor(unsafe) public var buttonLeftConstraint: UIKit.NSLayoutConstraint! { + @_Concurrency.MainActor(unsafe) public var buttonLeftConstraint: UIKit.NSLayoutConstraint? { get } @_Concurrency.MainActor(unsafe) @objc override dynamic public init() @@ -5619,6 +5772,7 @@ extension SendbirdUIKit.SBUBaseChannelSettingsModule.List : UIKit.UITableViewDat @_Concurrency.MainActor(unsafe) @objc override open func setupLayouts() @_Concurrency.MainActor(unsafe) @objc override open func updateLayouts() @_Concurrency.MainActor(unsafe) @objc override open func setupStyles() + @_Concurrency.MainActor(unsafe) @objc override open func updateStyles(needsToLayout: Swift.Bool) @_Concurrency.MainActor(unsafe) @objc override open func updateStyles() @objc @_Concurrency.MainActor(unsafe) public func updateChannelInfoView() @objc @available(*, deprecated, message: "Please use `calculateMessageMenuCGPoint(indexPath:)` in `SBUOpenChannelModule.List`") @@ -5758,6 +5912,9 @@ public class SBUQuoteMessageInputViewParams { public var isFileType: Swift.Bool { get } + public var isMultipleFilesMessage: Swift.Bool { + get + } public var fileType: Swift.String? { get } @@ -6250,7 +6407,7 @@ extension SendbirdUIKit.SBUMessageSearchViewController { @objc @_Concurrency.MainActor(unsafe) public var baseViewModel: SendbirdUIKit.SBUBaseChannelViewModel? @objc @_Concurrency.MainActor(unsafe) public var channelName: Swift.String? @objc @_Concurrency.MainActor(unsafe) public var isKeyboardShowing: Swift.Bool - @objc @_Concurrency.MainActor(unsafe) public var messageInputViewBottomConstraint: UIKit.NSLayoutConstraint! + @objc @_Concurrency.MainActor(unsafe) public var messageInputViewBottomConstraint: UIKit.NSLayoutConstraint? @available(*, unavailable) @_Concurrency.MainActor(unsafe) @objc required dynamic public init?(coder: Foundation.NSCoder) @_Concurrency.MainActor(unsafe) @objc override dynamic public init(nibName nibNameOrNil: Swift.String?, bundle nibBundleOrNil: Foundation.Bundle?) @@ -6259,6 +6416,7 @@ extension SendbirdUIKit.SBUMessageSearchViewController { @_Concurrency.MainActor(unsafe) public init(channelURL: Swift.String, startingPoint: Swift.Int64? = nil, messageListParams: SendbirdChatSDK.MessageListParams? = nil, displaysLocalCachedListFirst: Swift.Bool) @_Concurrency.MainActor(unsafe) @objc override dynamic open func loadView() @_Concurrency.MainActor(unsafe) @objc override dynamic open func viewWillAppear(_ animated: Swift.Bool) + @_Concurrency.MainActor(unsafe) @objc override dynamic open func viewDidAppear(_ animated: Swift.Bool) @_Concurrency.MainActor(unsafe) @objc override dynamic open func viewDidLoad() @_Concurrency.MainActor(unsafe) @objc override dynamic open func viewWillDisappear(_ animated: Swift.Bool) @objc @_Concurrency.MainActor(unsafe) open func applicationWillResignActivity() @@ -6279,6 +6437,7 @@ extension SendbirdUIKit.SBUMessageSearchViewController { @objc @_Concurrency.MainActor(unsafe) open func showEmojiListModal(message: SendbirdChatSDK.BaseMessage) @objc @_Concurrency.MainActor(unsafe) public func scrollToMessage(id messageId: Swift.Int64, enablesScrollAnimation: Swift.Bool = false, enablesMessageAnimation: Swift.Bool = false) @objc @_Concurrency.MainActor(unsafe) public func updateNewMessageInfo(hidden: Swift.Bool) + @_Concurrency.MainActor(unsafe) open func openFile(_ fileData: SendbirdUIKit.SBUFileData) @objc @_Concurrency.MainActor(unsafe) open func openFile(fileMessage: SendbirdChatSDK.FileMessage) @objc @discardableResult @_Concurrency.MainActor(unsafe) public func increaseNewMessageCount() -> Swift.Bool @@ -6648,6 +6807,14 @@ extension SendbirdUIKit.SBUChatNotificationChannelModule { @objc @_Concurrency.MainActor(unsafe) public func didSelectRetry() } } +public class SBUMultipleFilesMessageCellParams : SendbirdUIKit.SBUBaseMessageCellParams { + public var multipleFilesMessage: SendbirdChatSDK.MultipleFilesMessage? { + get + } + final public let useReaction: Swift.Bool + public init(message: SendbirdChatSDK.MultipleFilesMessage, hideDateView: Swift.Bool, useMessagePosition: Swift.Bool, groupPosition: SendbirdUIKit.MessageGroupPosition = .none, receiptState: SendbirdUIKit.SBUMessageReceiptState = .none, useReaction: Swift.Bool = false, isThreadMessage: Swift.Bool = false, joinedAt: Swift.Int64 = 0, voiceFileInfo: SendbirdUIKit.SBUVoiceFileInfo? = nil) + @objc deinit +} open class SBUCreateOpenChannelModule { public static var HeaderComponent: SendbirdUIKit.SBUCreateOpenChannelModule.Header.Type public static var ProfileInputComponent: SendbirdUIKit.SBUCreateOpenChannelModule.ProfileInput.Type @@ -6675,6 +6842,7 @@ open class SBUCreateOpenChannelModule { @objc @_Concurrency.MainActor(unsafe) open func updateLayouts() @objc @_Concurrency.MainActor(unsafe) open func setupStyles() @objc @_Concurrency.MainActor(unsafe) open func updateStyles() + @objc @_Concurrency.MainActor(unsafe) open func updateStyles(needsToLayout: Swift.Bool) @objc @_Concurrency.MainActor(unsafe) open func setupNavigationBar(backgroundColor: UIKit.UIColor, shadowColor: UIKit.UIColor) @objc @_Concurrency.MainActor(unsafe) open func onClickBack() @_Concurrency.MainActor(unsafe) open func errorHandler(_ message: Swift.String?, _ code: ObjectiveC.NSInteger? = nil) @@ -6927,8 +7095,20 @@ public class SBUFeedNotificationCellParams : SendbirdUIKit.SBUBaseMessageCellPar public static func isSupportReactions() -> Swift.Bool public static func isSupportOgTag(channelType: SendbirdChatSDK.ChannelType = .group) -> Swift.Bool public static func isSupportMessageSearch() -> Swift.Bool + public static var multipleFilesMessageFileCountLimit: Swift.Int { + get + } + public static var uploadSizeLimitBytes: Swift.Int64 { + get + } + public static var uploadSizeLimitMB: Swift.Int64 { + get + } @objc deinit } +extension UIKit.NSLayoutConstraint { + @_Concurrency.MainActor(unsafe) public static func sbu_activate(baseView: UIKit.UIView, constraints: [UIKit.NSLayoutConstraint?]) +} open class SBUMessageThreadModule { public static var HeaderComponent: SendbirdUIKit.SBUMessageThreadModule.Header.Type public static var ListComponent: SendbirdUIKit.SBUMessageThreadModule.List.Type @@ -7401,6 +7581,7 @@ public protocol SBUGroupChannelModuleListDelegate : SendbirdUIKit.SBUBaseChannel func groupChannelModule(_ listComponent: SendbirdUIKit.SBUGroupChannelModule.List, didTapMoreEmojiForCell messageCell: SendbirdUIKit.SBUBaseMessageCell) func groupChannelModule(_ listComponent: SendbirdUIKit.SBUGroupChannelModule.List, didTapMentionUser user: SendbirdUIKit.SBUUser) func groupChannelModuleDidTapThreadInfoView(_ threadInfoView: SendbirdUIKit.SBUThreadInfoView) + func groupChannelModule(_ listComponent: SendbirdUIKit.SBUGroupChannelModule.List, didSelectFileAt index: Swift.Int, multipleFilesMessageCell: SendbirdUIKit.SBUMultipleFilesMessageCell, forRowAt cellIndexPath: Foundation.IndexPath) } public protocol SBUGroupChannelModuleListDataSource : SendbirdUIKit.SBUBaseChannelModuleListDataSource { func groupChannelModule(_ listComponent: SendbirdUIKit.SBUGroupChannelModule.List, highlightInfoInTableView tableView: UIKit.UITableView) -> SendbirdUIKit.SBUHighlightMessageInfo? @@ -7416,6 +7597,9 @@ extension SendbirdUIKit.SBUGroupChannelModule { @objc @_Concurrency.MainActor(unsafe) public var fileMessageCell: SendbirdUIKit.SBUBaseMessageCell? { get } + @objc @_Concurrency.MainActor(unsafe) public var multipleFilesMessageCell: SendbirdUIKit.SBUBaseMessageCell? { + get + } @objc @_Concurrency.MainActor(unsafe) public var unknownMessageCell: SendbirdUIKit.SBUBaseMessageCell? { get } @@ -7452,6 +7636,7 @@ extension SendbirdUIKit.SBUGroupChannelModule { @objc @_Concurrency.MainActor(unsafe) open func register(adminMessageCell: SendbirdUIKit.SBUBaseMessageCell, nib: UIKit.UINib? = nil) @objc @_Concurrency.MainActor(unsafe) open func register(userMessageCell: SendbirdUIKit.SBUBaseMessageCell, nib: UIKit.UINib? = nil) @objc @_Concurrency.MainActor(unsafe) open func register(fileMessageCell: SendbirdUIKit.SBUBaseMessageCell, nib: UIKit.UINib? = nil) + @objc @_Concurrency.MainActor(unsafe) open func register(multipleFilesMessageCell: SendbirdUIKit.SBUBaseMessageCell, nib: UIKit.UINib? = nil) @objc @_Concurrency.MainActor(unsafe) open func register(unknownMessageCell: SendbirdUIKit.SBUBaseMessageCell, nib: UIKit.UINib? = nil) @objc @_Concurrency.MainActor(unsafe) open func register(customMessageCell: SendbirdUIKit.SBUBaseMessageCell, nib: UIKit.UINib? = nil) @objc @_Concurrency.MainActor(unsafe) open func configureCell(_ messageCell: SendbirdUIKit.SBUBaseMessageCell, message: SendbirdChatSDK.BaseMessage, forRowAt indexPath: Foundation.IndexPath) @@ -7481,6 +7666,7 @@ extension SendbirdUIKit.SBUGroupChannelModule.List { } public protocol SBUGroupChannelModuleInputDelegate : SendbirdUIKit.SBUBaseChannelModuleInputDelegate { func groupChannelModule(_ inputComponent: SendbirdUIKit.SBUGroupChannelModule.Input, didPickFileData fileData: Foundation.Data?, fileName: Swift.String, mimeType: Swift.String, parentMessage: SendbirdChatSDK.BaseMessage?) + func groupChannelModule(_ inputComponent: SendbirdUIKit.SBUGroupChannelModule.Input, didPickMultipleFiles fileInfoList: [SendbirdChatSDK.UploadableFileInfo]?, parentMessage: SendbirdChatSDK.BaseMessage?) func groupChannelModule(_ inputComponent: SendbirdUIKit.SBUGroupChannelModule.Input, didTapSend text: Swift.String, mentionedMessageTemplate: Swift.String, mentionedUserIds: [Swift.String], parentMessage: SendbirdChatSDK.BaseMessage?) func groupChannelModule(_ inputComponent: SendbirdUIKit.SBUGroupChannelModule.Input, didTapEdit text: Swift.String, mentionedMessageTemplate: Swift.String, mentionedUserIds: [Swift.String]) func groupChannelModule(_ inputComponent: SendbirdUIKit.SBUGroupChannelModule.Input, willChangeMode mode: SendbirdUIKit.SBUMessageInputMode, message: SendbirdChatSDK.BaseMessage?, mentionedMessageTemplate: Swift.String, mentionedUserIds: [Swift.String]) @@ -7514,6 +7700,8 @@ extension SendbirdUIKit.SBUGroupChannelModule { @_Concurrency.MainActor(unsafe) @objc override open func setupLayouts() @_Concurrency.MainActor(unsafe) @objc override open func pickImageFile(info: [UIKit.UIImagePickerController.InfoKey : Any]) @_Concurrency.MainActor(unsafe) @objc override open func pickVideoFile(info: [UIKit.UIImagePickerController.InfoKey : Any]) + @objc @available(iOS 14.0, *) + @_Concurrency.MainActor(unsafe) open func pickMultipleImageFiles(itemProviders: [Foundation.NSItemProvider]) @available(iOS 14.0, *) @_Concurrency.MainActor(unsafe) @objc override open func pickImageFile(itemProvider: Foundation.NSItemProvider) @available(iOS 14.0, *) @@ -7744,6 +7932,27 @@ public enum SBUIconSetType : Swift.String, Swift.Hashable { case iconPause case iconRecording case iconStop + public struct Metric { + public static let defaultIconSizeVerySmall: CoreFoundation.CGSize + public static let defaultIconSizeSmall: CoreFoundation.CGSize + public static let defaultIconSizeMedium: CoreFoundation.CGSize + public static let defaultIconSize: CoreFoundation.CGSize + public static let defaultIconSizeLarge: CoreFoundation.CGSize + public static let defaultIconSizeVeryLarge: CoreFoundation.CGSize + public static let quotedMessageIconSize: CoreFoundation.CGSize + public static let iconActionSheetItem: CoreFoundation.CGSize + public static let iconEmojiSmall: CoreFoundation.CGSize + public static let iconEmojiLarge: CoreFoundation.CGSize + public static let iconEmptyView: CoreFoundation.CGSize + public static let iconGifPlay: CoreFoundation.CGSize + public static let iconSpinnerLarge: CoreFoundation.CGSize + public static let iconSpinnerSizeForTemplate: CoreFoundation.CGSize + public static let iconUserProfile: CoreFoundation.CGSize + public static let iconUserProfileInChat: CoreFoundation.CGSize + public static let iconChevronDown: CoreFoundation.CGSize + public static let iconVoiceMessageSize: CoreFoundation.CGSize + } + public func image(with tintColor: UIKit.UIColor? = nil, to size: CoreFoundation.CGSize, tintAndResize: Swift.Bool = true) -> UIKit.UIImage public init?(rawValue: Swift.String) public typealias RawValue = Swift.String public var rawValue: Swift.String { @@ -7934,28 +8143,6 @@ open class SBUInviteUserModule { required public init(headerComponent: SendbirdUIKit.SBUInviteUserModule.Header? = nil, listComponent: SendbirdUIKit.SBUInviteUserModule.List? = nil) @objc deinit } -@objc @_hasMissingDesignatedInitializers @_Concurrency.MainActor(unsafe) public class SBUPaddingLabel : UIKit.UILabel { - @_Concurrency.MainActor(unsafe) public var top: CoreFoundation.CGFloat { - get - } - @_Concurrency.MainActor(unsafe) public var bottom: CoreFoundation.CGFloat { - get - } - @_Concurrency.MainActor(unsafe) public var leading: CoreFoundation.CGFloat { - get - } - @_Concurrency.MainActor(unsafe) public var trailing: CoreFoundation.CGFloat { - get - } - @_Concurrency.MainActor(unsafe) convenience public init(_ all: CoreFoundation.CGFloat) - @_Concurrency.MainActor(unsafe) convenience public init(_ vertical: CoreFoundation.CGFloat, _ horizontal: CoreFoundation.CGFloat) - @_Concurrency.MainActor(unsafe) public init(_ top: CoreFoundation.CGFloat = 0, _ bottom: CoreFoundation.CGFloat = 0, _ leading: CoreFoundation.CGFloat = 0, _ trailing: CoreFoundation.CGFloat = 0) - @_Concurrency.MainActor(unsafe) @objc override dynamic public func drawText(in rect: CoreFoundation.CGRect) - @_Concurrency.MainActor(unsafe) @objc override dynamic public var intrinsicContentSize: CoreFoundation.CGSize { - @objc get - } - @objc deinit -} @objc @_inheritsConvenienceInitializers @IBDesignable @_Concurrency.MainActor(unsafe) open class SBUUserMessageCell : SendbirdUIKit.SBUContentBaseMessageCell, SendbirdUIKit.SBUUserMessageTextViewDelegate { @objc @_Concurrency.MainActor(unsafe) public var messageTextView: UIKit.UIView { @objc get @@ -8309,6 +8496,7 @@ public protocol SBUMessageThreadViewControllerDelegate : AnyObject { @_Concurrency.MainActor(unsafe) @objc override dynamic open func viewWillAppear(_ animated: Swift.Bool) @_Concurrency.MainActor(unsafe) @objc override dynamic open func viewDidLoad() @_Concurrency.MainActor(unsafe) @objc override dynamic open func viewWillDisappear(_ animated: Swift.Bool) + @_Concurrency.MainActor(unsafe) @objc override dynamic open func viewWillTransition(to size: CoreFoundation.CGSize, with coordinator: UIKit.UIViewControllerTransitionCoordinator) @_Concurrency.MainActor(unsafe) @objc override open func applicationWillResignActivity() @_Concurrency.MainActor(unsafe) @objc override open func willPresentSubview() @objc deinit @@ -8316,11 +8504,14 @@ public protocol SBUMessageThreadViewControllerDelegate : AnyObject { @_Concurrency.MainActor(unsafe) @objc override open func setupViews() @_Concurrency.MainActor(unsafe) @objc override open func setupLayouts() @_Concurrency.MainActor(unsafe) @objc override open func setupStyles() + @_Concurrency.MainActor(unsafe) @objc override open func updateStyles(needsToLayout: Swift.Bool) @_Concurrency.MainActor(unsafe) @objc override open func updateStyles() @objc @_Concurrency.MainActor(unsafe) public func moveToParentMessage() @discardableResult @_Concurrency.MainActor(unsafe) @objc override public func increaseNewMessageCount() -> Swift.Bool @_Concurrency.MainActor(unsafe) @objc override public func updateChannelTitle() + @available(iOS 14, *) + @_Concurrency.MainActor(unsafe) override open func picker(_ picker: PhotosUI.PHPickerViewController, didFinishPicking results: [PhotosUI.PHPickerResult]) @_Concurrency.MainActor(unsafe) @objc override open func showVoiceMessageInput() @_Concurrency.MainActor(unsafe) @objc override open func dismissVoiceMessageInput() @_Concurrency.MainActor(unsafe) @objc override open func resetVoiceMessageInput(for resignActivity: Swift.Bool = false) @@ -8328,6 +8519,7 @@ public protocol SBUMessageThreadViewControllerDelegate : AnyObject { @objc @_Concurrency.MainActor(unsafe) open func messageThreadViewModel(_ viewModel: SendbirdUIKit.SBUMessageThreadViewModel, didLoadParentMessage parentMessage: SendbirdChatSDK.BaseMessage?) @objc @_Concurrency.MainActor(unsafe) public func messageThreadViewModel(_ viewModel: SendbirdUIKit.SBUMessageThreadViewModel, didUpdateParentMessage parentMessage: SendbirdChatSDK.BaseMessage?) @objc @_Concurrency.MainActor(unsafe) open func messageThreadViewModelShouldDismissMessageThread(_ viewModel: SendbirdUIKit.SBUMessageThreadViewModel) + @objc @_Concurrency.MainActor(unsafe) public func messageThreadViewModel(_ viewModel: SendbirdUIKit.SBUMessageThreadViewModel, didFinishUploadingFileAt index: Swift.Int, multipleFilesMessageRequestId requestId: Swift.String) @_Concurrency.MainActor(unsafe) @objc override open func baseChannelModule(_ headerComponent: SendbirdUIKit.SBUBaseChannelModule.Header, didUpdateTitleView titleView: UIKit.UIView?) @_Concurrency.MainActor(unsafe) @objc override open func baseChannelModule(_ headerComponent: SendbirdUIKit.SBUBaseChannelModule.Header, didTapTitleView titleView: UIKit.UIView?) @_Concurrency.MainActor(unsafe) @objc override open func baseChannelModule(_ headerComponent: SendbirdUIKit.SBUBaseChannelModule.Header, didTapLeftItem leftItem: UIKit.UIBarButtonItem) @@ -8335,11 +8527,14 @@ public protocol SBUMessageThreadViewControllerDelegate : AnyObject { @objc @_Concurrency.MainActor(unsafe) open func messageThreadModule(_ listComponent: SendbirdUIKit.SBUMessageThreadModule.List, didLongTapEmoji emojiKey: Swift.String, messageCell: SendbirdUIKit.SBUBaseMessageCell) @objc @_Concurrency.MainActor(unsafe) open func messageThreadModule(_ listComponent: SendbirdUIKit.SBUMessageThreadModule.List, didTapMoreEmojiForCell messageCell: SendbirdUIKit.SBUBaseMessageCell) @objc @_Concurrency.MainActor(unsafe) open func messageThreadModule(_ listComponent: SendbirdUIKit.SBUMessageThreadModule.List, didTapMentionUser user: SendbirdUIKit.SBUUser) + @objc @_Concurrency.MainActor(unsafe) public func messageThreadModule(_ listComponent: SendbirdUIKit.SBUMessageThreadModule.List, didSelectFileAt index: Swift.Int, multipleFilesMessageCell: SendbirdUIKit.SBUMultipleFilesMessageCell, forRowAt cellIndexPath: Foundation.IndexPath) + @objc @_Concurrency.MainActor(unsafe) public func messageThreadModule(_ listComponent: SendbirdUIKit.SBUMessageThreadModule.List, uploadedFileInfo: SendbirdChatSDK.UploadedFileInfo, message: SendbirdChatSDK.MultipleFilesMessage, index: Swift.Int) @_Concurrency.MainActor(unsafe) @objc override open func baseChannelModule(_ listComponent: SendbirdUIKit.SBUBaseChannelModule.List, didScroll scrollView: UIKit.UIScrollView) @_Concurrency.MainActor(unsafe) @objc override open func baseChannelModule(_ listComponent: SendbirdUIKit.SBUBaseChannelModule.List, didTapVoiceMessage fileMessage: SendbirdChatSDK.FileMessage, cell: UIKit.UITableViewCell, forRowAt indexPath: Foundation.IndexPath) @_Concurrency.MainActor(unsafe) @objc override open func baseChannelModule(_ listComponent: SendbirdUIKit.SBUBaseChannelModule.List, willDisplay cell: UIKit.UITableViewCell, forRowAt indexPath: Foundation.IndexPath) @_Concurrency.MainActor(unsafe) @objc override open func baseChannelModule(_ inputComponent: SendbirdUIKit.SBUBaseChannelModule.Input, didUpdateFrozenState isFrozen: Swift.Bool) @objc @_Concurrency.MainActor(unsafe) open func messageThreadModule(_ inputComponent: SendbirdUIKit.SBUMessageThreadModule.Input, didPickFileData fileData: Foundation.Data?, fileName: Swift.String, mimeType: Swift.String, parentMessage: SendbirdChatSDK.BaseMessage?) + @objc @_Concurrency.MainActor(unsafe) public func messageThreadModule(_ inputComponent: SendbirdUIKit.SBUMessageThreadModule.Input, didPickMultipleFiles fileInfoList: [SendbirdChatSDK.UploadableFileInfo], parentMessage: SendbirdChatSDK.BaseMessage) @objc @_Concurrency.MainActor(unsafe) open func messageThreadModule(_ inputComponent: SendbirdUIKit.SBUMessageThreadModule.Input, didTapSend text: Swift.String, mentionedMessageTemplate: Swift.String, mentionedUserIds: [Swift.String], parentMessage: SendbirdChatSDK.BaseMessage?) @objc @_Concurrency.MainActor(unsafe) open func messageThreadModule(_ inputComponent: SendbirdUIKit.SBUMessageThreadModule.Input, didTapEdit text: Swift.String, mentionedMessageTemplate: Swift.String, mentionedUserIds: [Swift.String]) @objc @_Concurrency.MainActor(unsafe) open func messageThreadModule(_ inputComponent: SendbirdUIKit.SBUMessageThreadModule.Input, willChangeMode mode: SendbirdUIKit.SBUMessageInputMode, message: SendbirdChatSDK.BaseMessage?, mentionedMessageTemplate: Swift.String, mentionedUserIds: [Swift.String]) @@ -8364,6 +8559,8 @@ public typealias SBUFileViewerDelegate = SendbirdUIKit.SBUFileViewControllerDele public protocol SBUFileViewControllerDelegate : AnyObject { func didSelectDeleteImage(message: SendbirdChatSDK.FileMessage) } +public struct SBUFileData { +} @objc @_Concurrency.MainActor(unsafe) open class SBUFileViewController : SendbirdUIKit.SBUBaseViewController, UIKit.UIScrollViewDelegate, SendbirdUIKit.SBUAlertViewDelegate { @objc @_Concurrency.MainActor(unsafe) public var leftBarButton: UIKit.UIBarButtonItem? { @objc get @@ -8386,7 +8583,9 @@ public protocol SBUFileViewControllerDelegate : AnyObject { @objc set } @objc @_Concurrency.MainActor(unsafe) public var bottomView: UIKit.UIView - @_Concurrency.MainActor(unsafe) required public init(fileMessage: SendbirdChatSDK.FileMessage, delegate: SendbirdUIKit.SBUFileViewControllerDelegate?) + @_Concurrency.MainActor(unsafe) required convenience public init(fileMessage: SendbirdChatSDK.FileMessage, delegate: SendbirdUIKit.SBUFileViewControllerDelegate?) + @_Concurrency.MainActor(unsafe) required public init(fileData: SendbirdUIKit.SBUFileData, delegate: SendbirdUIKit.SBUFileViewControllerDelegate?) + @available(*, unavailable, renamed: "init(params:delegate:)") @_Concurrency.MainActor(unsafe) @objc required dynamic public init?(coder: Foundation.NSCoder) @_Concurrency.MainActor(unsafe) @objc override dynamic open func viewDidLoad() @_Concurrency.MainActor(unsafe) @objc override dynamic open func viewWillAppear(_ animated: Swift.Bool) @@ -9050,7 +9249,7 @@ public class SBUMessageCellTheme { public static var overlay: SendbirdUIKit.SBUMessageCellTheme { get } - public init(backgroundColor: UIKit.UIColor = SBUColorSet.background50, leftBackgroundColor: UIKit.UIColor = SBUColorSet.background100, leftPressedBackgroundColor: UIKit.UIColor = SBUColorSet.primary100, rightBackgroundColor: UIKit.UIColor = SBUColorSet.primary300, rightPressedBackgroundColor: UIKit.UIColor = SBUColorSet.primary400, openChannelBackgroundColor: UIKit.UIColor = .clear, openChannelPressedBackgroundColor: UIKit.UIColor = SBUColorSet.background100, dateFont: UIKit.UIFont = SBUFontSet.caption1, dateTextColor: UIKit.UIColor = SBUColorSet.ondark01, dateBackgroundColor: UIKit.UIColor = SBUColorSet.overlay02, userPlaceholderBackgroundColor: UIKit.UIColor = SBUColorSet.background300, userPlaceholderTintColor: UIKit.UIColor = SBUColorSet.ondark01, userNameFont: UIKit.UIFont = SBUFontSet.caption1, userNameTextColor: UIKit.UIColor = SBUColorSet.onlight02, currentUserNameTextColor: UIKit.UIColor = SBUColorSet.secondary300, timeFont: UIKit.UIFont = SBUFontSet.caption4, timeTextColor: UIKit.UIColor = SBUColorSet.onlight03, pendingStateColor: UIKit.UIColor = SBUColorSet.primary300, failedStateColor: UIKit.UIColor = SBUColorSet.error300, succeededStateColor: UIKit.UIColor = SBUColorSet.onlight03, readReceiptStateColor: UIKit.UIColor = SBUColorSet.secondary300, deliveryReceiptStateColor: UIKit.UIColor = SBUColorSet.onlight03, userMessageFont: UIKit.UIFont = SBUFontSet.body3, userMessageLeftTextColor: UIKit.UIColor = SBUColorSet.onlight01, userMessageLeftEditTextColor: UIKit.UIColor = SBUColorSet.onlight02, userMessageLeftHighlightTextColor: UIKit.UIColor = SBUColorSet.onlight01, userMessageRightTextColor: UIKit.UIColor = SBUColorSet.ondark01, userMessageRightEditTextColor: UIKit.UIColor = SBUColorSet.ondark02, userMessageRightHighlightTextColor: UIKit.UIColor = SBUColorSet.onlight01, fileIconBackgroundColor: UIKit.UIColor = SBUColorSet.background50, fileImageBackgroundColor: UIKit.UIColor = SBUColorSet.ondark01, fileImageIconColor: UIKit.UIColor = SBUColorSet.onlight02, fileIconColor: UIKit.UIColor = SBUColorSet.primary300, fileMessageNameFont: UIKit.UIFont = SBUFontSet.body3, fileMessageLeftTextColor: UIKit.UIColor = SBUColorSet.onlight01, fileMessageRightTextColor: UIKit.UIColor = SBUColorSet.ondark01, fileMessagePlaceholderColor: UIKit.UIColor = SBUColorSet.onlight02, adminMessageFont: UIKit.UIFont = SBUFontSet.caption2, adminMessageTextColor: UIKit.UIColor = SBUColorSet.onlight02, unknownMessageDescFont: UIKit.UIFont = SBUFontSet.body3, unknownMessageDescLeftTextColor: UIKit.UIColor = SBUColorSet.onlight02, unknownMessageDescRightTextColor: UIKit.UIColor = SBUColorSet.ondark02, ogTitleFont: UIKit.UIFont = SBUFontSet.body2, ogTitleColor: UIKit.UIColor = SBUColorSet.onlight01, ogDescriptionFont: UIKit.UIFont = SBUFontSet.caption2, ogDescriptionColor: UIKit.UIColor = SBUColorSet.onlight01, ogURLAddressFont: UIKit.UIFont = SBUFontSet.caption2, ogURLAddressColor: UIKit.UIColor = SBUColorSet.onlight02, openChannelOGTitleColor: UIKit.UIColor = SBUColorSet.primary300, linkColor: UIKit.UIColor = SBUColorSet.primary300, contentBackgroundColor: UIKit.UIColor = SBUColorSet.background100, pressedContentBackgroundColor: UIKit.UIColor = SBUColorSet.background300, quotedMessageLeftBackgroundColor: UIKit.UIColor = SBUColorSet.background100.withAlphaComponent(0.5), quotedMessageRightBackgroundColor: UIKit.UIColor = SBUColorSet.background100, quotedFileMessageThumbnailColor: UIKit.UIColor = SBUColorSet.onlight02, quotedMessageTextColor: UIKit.UIColor = SBUColorSet.onlight03, quotedMessageTextFont: UIKit.UIFont = SBUFontSet.body3, repliedIconColor: UIKit.UIColor = SBUColorSet.onlight03, repliedToTextColor: UIKit.UIColor = SBUColorSet.onlight03, repliedToTextFont: UIKit.UIFont = SBUFontSet.caption1, repliedCountTextColor: UIKit.UIColor = SBUColorSet.primary300, repliedCountTextFont: UIKit.UIFont = SBUFontSet.caption3, repliedUsersMoreIconBackgroundColor: UIKit.UIColor = SBUColorSet.background700.withAlphaComponent(0.64), repliedUsersMoreIconTintColor: UIKit.UIColor = SBUColorSet.ondark01, mentionTextFont: UIKit.UIFont = SBUFontSet.body4, mentionLeftTextColor: UIKit.UIColor = SBUColorSet.onlight01, mentionRightTextColor: UIKit.UIColor = SBUColorSet.ondark01, mentionLeftTextBackgroundColor: UIKit.UIColor = .clear, mentionRightTextBackgroundColor: UIKit.UIColor = .clear, buttonBackgroundColor: UIKit.UIColor = SBUColorSet.background200, buttonTitleColor: UIKit.UIColor = SBUColorSet.primary300, sideButtonIconColor: UIKit.UIColor = SBUColorSet.onlight03, newMessageBadgeColor: UIKit.UIColor = SBUColorSet.secondary300, parentInfoBackgroundColor: UIKit.UIColor = SBUColorSet.background50, parentInfoUserNameTextFont: UIKit.UIFont = SBUFontSet.h3, parentInfoUserNameTextColor: UIKit.UIColor = SBUColorSet.onlight01, parentInfoDateFont: UIKit.UIFont = SBUFontSet.caption2, parentInfoDateTextColor: UIKit.UIColor = SBUColorSet.onlight03, parentInfoMoreButtonTintColor: UIKit.UIColor = SBUColorSet.onlight02, parentInfoSeparateBarColor: UIKit.UIColor = SBUColorSet.onlight04, parentInfoReplyCountTextColor: UIKit.UIColor = SBUColorSet.onlight03, parentInfoReplyCountTextFont: UIKit.UIFont = SBUFontSet.body3, parentInfoProgressBackgroundColor: UIKit.UIColor = SBUColorSet.background100, progressTrackTintColor: UIKit.UIColor = SBUColorSet.onlight03, progressTimeFont: UIKit.UIFont = SBUFontSet.body3, progressTimeRightTextColor: UIKit.UIColor = SBUColorSet.ondark01, progressTimeLeftTextColor: UIKit.UIColor = SBUColorSet.onlight01, statusButtonBackgroundColor: UIKit.UIColor = SBUColorSet.background50, loadingButtonTintColor: UIKit.UIColor = SBUColorSet.primary200, playButtonTintColor: UIKit.UIColor = SBUColorSet.primary300, pauseButtonTintColor: UIKit.UIColor = SBUColorSet.primary300) + public init(backgroundColor: UIKit.UIColor = SBUColorSet.background50, leftBackgroundColor: UIKit.UIColor = SBUColorSet.background100, leftPressedBackgroundColor: UIKit.UIColor = SBUColorSet.primary100, rightBackgroundColor: UIKit.UIColor = SBUColorSet.primary300, rightPressedBackgroundColor: UIKit.UIColor = SBUColorSet.primary400, openChannelBackgroundColor: UIKit.UIColor = .clear, openChannelPressedBackgroundColor: UIKit.UIColor = SBUColorSet.background100, dateFont: UIKit.UIFont = SBUFontSet.caption1, dateTextColor: UIKit.UIColor = SBUColorSet.ondark01, dateBackgroundColor: UIKit.UIColor = SBUColorSet.overlay02, userPlaceholderBackgroundColor: UIKit.UIColor = SBUColorSet.background300, userPlaceholderTintColor: UIKit.UIColor = SBUColorSet.ondark01, userNameFont: UIKit.UIFont = SBUFontSet.caption1, userNameTextColor: UIKit.UIColor = SBUColorSet.onlight02, currentUserNameTextColor: UIKit.UIColor = SBUColorSet.secondary300, timeFont: UIKit.UIFont = SBUFontSet.caption4, timeTextColor: UIKit.UIColor = SBUColorSet.onlight03, pendingStateColor: UIKit.UIColor = SBUColorSet.primary300, failedStateColor: UIKit.UIColor = SBUColorSet.error300, succeededStateColor: UIKit.UIColor = SBUColorSet.onlight03, readReceiptStateColor: UIKit.UIColor = SBUColorSet.secondary300, deliveryReceiptStateColor: UIKit.UIColor = SBUColorSet.onlight03, userMessageFont: UIKit.UIFont = SBUFontSet.body3, userMessageLeftTextColor: UIKit.UIColor = SBUColorSet.onlight01, userMessageLeftEditTextColor: UIKit.UIColor = SBUColorSet.onlight02, userMessageLeftHighlightTextColor: UIKit.UIColor = SBUColorSet.onlight01, userMessageRightTextColor: UIKit.UIColor = SBUColorSet.ondark01, userMessageRightEditTextColor: UIKit.UIColor = SBUColorSet.ondark02, userMessageRightHighlightTextColor: UIKit.UIColor = SBUColorSet.onlight01, fileIconBackgroundColor: UIKit.UIColor = SBUColorSet.background50, fileImageBackgroundColor: UIKit.UIColor = SBUColorSet.ondark01, fileImageIconColor: UIKit.UIColor = SBUColorSet.onlight02, fileIconColor: UIKit.UIColor = SBUColorSet.primary300, fileMessageNameFont: UIKit.UIFont = SBUFontSet.body3, fileMessageLeftTextColor: UIKit.UIColor = SBUColorSet.onlight01, fileMessageRightTextColor: UIKit.UIColor = SBUColorSet.ondark01, fileMessagePlaceholderColor: UIKit.UIColor = SBUColorSet.onlight02, adminMessageFont: UIKit.UIFont = SBUFontSet.caption2, adminMessageTextColor: UIKit.UIColor = SBUColorSet.onlight02, unknownMessageDescFont: UIKit.UIFont = SBUFontSet.body3, unknownMessageDescLeftTextColor: UIKit.UIColor = SBUColorSet.onlight02, unknownMessageDescRightTextColor: UIKit.UIColor = SBUColorSet.ondark02, ogTitleFont: UIKit.UIFont = SBUFontSet.body2, ogTitleColor: UIKit.UIColor = SBUColorSet.onlight01, ogDescriptionFont: UIKit.UIFont = SBUFontSet.caption2, ogDescriptionColor: UIKit.UIColor = SBUColorSet.onlight01, ogURLAddressFont: UIKit.UIFont = SBUFontSet.caption2, ogURLAddressColor: UIKit.UIColor = SBUColorSet.onlight02, openChannelOGTitleColor: UIKit.UIColor = SBUColorSet.primary300, linkColor: UIKit.UIColor = SBUColorSet.primary300, contentBackgroundColor: UIKit.UIColor = SBUColorSet.background100, pressedContentBackgroundColor: UIKit.UIColor = SBUColorSet.background300, quotedMessageLeftBackgroundColor: UIKit.UIColor = SBUColorSet.background100.withAlphaComponent(0.5), quotedMessageRightBackgroundColor: UIKit.UIColor = SBUColorSet.background100, quotedFileMessageThumbnailColor: UIKit.UIColor = SBUColorSet.onlight02, quotedMessageTextColor: UIKit.UIColor = SBUColorSet.onlight03, quotedMessageTextFont: UIKit.UIFont = SBUFontSet.body3, repliedIconColor: UIKit.UIColor = SBUColorSet.onlight03, repliedToTextColor: UIKit.UIColor = SBUColorSet.onlight03, repliedToTextFont: UIKit.UIFont = SBUFontSet.caption1, repliedCountTextColor: UIKit.UIColor = SBUColorSet.primary300, repliedCountTextFont: UIKit.UIFont = SBUFontSet.caption3, repliedUsersMoreIconBackgroundColor: UIKit.UIColor = SBUColorSet.background700.withAlphaComponent(0.64), repliedUsersMoreIconTintColor: UIKit.UIColor = SBUColorSet.ondark01, mentionTextFont: UIKit.UIFont = SBUFontSet.body4, mentionLeftTextColor: UIKit.UIColor = SBUColorSet.onlight01, mentionRightTextColor: UIKit.UIColor = SBUColorSet.ondark01, mentionLeftTextBackgroundColor: UIKit.UIColor = .clear, mentionRightTextBackgroundColor: UIKit.UIColor = .clear, buttonBackgroundColor: UIKit.UIColor = SBUColorSet.background200, buttonTitleColor: UIKit.UIColor = SBUColorSet.primary300, sideButtonIconColor: UIKit.UIColor = SBUColorSet.onlight03, newMessageBadgeColor: UIKit.UIColor = SBUColorSet.secondary300, parentInfoBackgroundColor: UIKit.UIColor = SBUColorSet.background50, parentInfoUserNameTextFont: UIKit.UIFont = SBUFontSet.h3, parentInfoUserNameTextColor: UIKit.UIColor = SBUColorSet.onlight01, parentInfoDateFont: UIKit.UIFont = SBUFontSet.caption2, parentInfoDateTextColor: UIKit.UIColor = SBUColorSet.onlight03, parentInfoMoreButtonTintColor: UIKit.UIColor = SBUColorSet.onlight02, parentInfoSeparateBarColor: UIKit.UIColor = SBUColorSet.onlight04, parentInfoReplyCountTextColor: UIKit.UIColor = SBUColorSet.onlight03, parentInfoReplyCountTextFont: UIKit.UIFont = SBUFontSet.body3, parentInfoProgressBackgroundColor: UIKit.UIColor = SBUColorSet.background100, progressTrackTintColor: UIKit.UIColor = SBUColorSet.onlight03, progressTimeFont: UIKit.UIFont = SBUFontSet.body3, progressTimeRightTextColor: UIKit.UIColor = SBUColorSet.ondark01, progressTimeLeftTextColor: UIKit.UIColor = SBUColorSet.onlight01, statusButtonBackgroundColor: UIKit.UIColor = SBUColorSet.background50, loadingButtonTintColor: UIKit.UIColor = SBUColorSet.primary200, playButtonTintColor: UIKit.UIColor = SBUColorSet.primary300, pauseButtonTintColor: UIKit.UIColor = SBUColorSet.primary300, multipleFilesMessageFileOverlayColor: UIKit.UIColor = SBUColorSet.overlay02) public var backgroundColor: UIKit.UIColor public var leftBackgroundColor: UIKit.UIColor public var leftPressedBackgroundColor: UIKit.UIColor @@ -9088,6 +9287,7 @@ public class SBUMessageCellTheme { public var fileMessageLeftTextColor: UIKit.UIColor public var fileMessageRightTextColor: UIKit.UIColor public var fileMessagePlaceholderColor: UIKit.UIColor + public var multipleFilesMessageFileOverlayColor: UIKit.UIColor public var adminMessageFont: UIKit.UIFont public var adminMessageTextColor: UIKit.UIColor public var unknownMessageDescFont: UIKit.UIFont @@ -9488,8 +9688,8 @@ public class SBUMessageTemplateTheme { @objc @_inheritsConvenienceInitializers @_Concurrency.MainActor(unsafe) open class SBUImageContentView : SendbirdUIKit.SBUBaseFileContentView { @_Concurrency.MainActor(unsafe) public var imageView: UIKit.UIImageView @_Concurrency.MainActor(unsafe) public var iconImageView: UIKit.UIImageView - @_Concurrency.MainActor(unsafe) public var widthConstraint: UIKit.NSLayoutConstraint! - @_Concurrency.MainActor(unsafe) public var heightConstraint: UIKit.NSLayoutConstraint! + @_Concurrency.MainActor(unsafe) public var widthConstraint: UIKit.NSLayoutConstraint? + @_Concurrency.MainActor(unsafe) public var heightConstraint: UIKit.NSLayoutConstraint? @_Concurrency.MainActor(unsafe) @objc override dynamic open func setupViews() @_Concurrency.MainActor(unsafe) @objc override dynamic open func setupLayouts() @_Concurrency.MainActor(unsafe) open func setupSizeContraint() @@ -9578,14 +9778,16 @@ public protocol SBUUserMessageTextViewDelegate : AnyObject { @_Concurrency.MainActor(unsafe) public var textView: SendbirdUIKit.SBULinkClickableTextView @_Concurrency.MainActor(unsafe) public var channelType: SendbirdChatSDK.ChannelType @_Concurrency.MainActor(unsafe) public var isWebType: Swift.Bool - @_Concurrency.MainActor(unsafe) public var textLeftConstraint: UIKit.NSLayoutConstraint! - @_Concurrency.MainActor(unsafe) public var textRightConstraint: UIKit.NSLayoutConstraint! @_Concurrency.MainActor(unsafe) public var mentionManager: SendbirdUIKit.SBUMentionManager? @_Concurrency.MainActor(unsafe) public var removeMargin: Swift.Bool @_Concurrency.MainActor(unsafe) public var needsToRemoveMargin: Swift.Bool { get } @_Concurrency.MainActor(unsafe) weak public var delegate: SendbirdUIKit.SBUUserMessageTextViewDelegate? + @_Concurrency.MainActor(unsafe) public var textTopConstraint: UIKit.NSLayoutConstraint? + @_Concurrency.MainActor(unsafe) public var textBottomConstraint: UIKit.NSLayoutConstraint? + @_Concurrency.MainActor(unsafe) public var textLeftConstraint: UIKit.NSLayoutConstraint? + @_Concurrency.MainActor(unsafe) public var textRightConstraint: UIKit.NSLayoutConstraint? @_Concurrency.MainActor(unsafe) @objc override dynamic public init() @_Concurrency.MainActor(unsafe) @objc override dynamic public init(frame: CoreFoundation.CGRect) @_Concurrency.MainActor(unsafe) public init(channelType: SendbirdChatSDK.ChannelType = .group, removeMargin: Swift.Bool = false) @@ -9959,6 +10161,7 @@ public protocol SBUMessageThreadViewModelDelegate : SendbirdUIKit.SBUBaseChannel func messageThreadViewModel(_ viewModel: SendbirdUIKit.SBUMessageThreadViewModel, didLoadParentMessage parentMessage: SendbirdChatSDK.BaseMessage?) func messageThreadViewModel(_ viewModel: SendbirdUIKit.SBUMessageThreadViewModel, didUpdateParentMessage parentMessage: SendbirdChatSDK.BaseMessage?) func messageThreadViewModelShouldDismissMessageThread(_ viewModel: SendbirdUIKit.SBUMessageThreadViewModel) + func messageThreadViewModel(_ viewModel: SendbirdUIKit.SBUMessageThreadViewModel, didFinishUploadingFileAt index: Swift.Int, multipleFilesMessageRequestId requestId: Swift.String) } @objc open class SBUMessageThreadViewModel : SendbirdUIKit.SBUBaseChannelViewModel { weak public var delegate: SendbirdUIKit.SBUMessageThreadViewModelDelegate? { @@ -9975,6 +10178,7 @@ public protocol SBUMessageThreadViewModelDelegate : SendbirdUIKit.SBUBaseChannel public var threadedMessageListParams: SendbirdChatSDK.ThreadedMessageListParams { get } + public var sendMultipleFilesMessageCompletionHandler: SendbirdChatSDK.MultipleFilesMessageHandler? public init(channel: SendbirdChatSDK.BaseChannel? = nil, channelURL: Swift.String? = nil, parentMessage: SendbirdChatSDK.BaseMessage? = nil, parentMessageId: Swift.Int64? = 0, threadedMessageListParams: SendbirdChatSDK.ThreadedMessageListParams? = nil, startingPoint: Swift.Int64? = .max, delegate: SendbirdUIKit.SBUMessageThreadViewModelDelegate? = nil, dataSource: SendbirdUIKit.SBUMessageThreadViewModelDataSource? = nil) @objc deinit public func loadChannelAndMessages(channelURL: Swift.String?) @@ -9987,6 +10191,8 @@ public protocol SBUMessageThreadViewModelDelegate : SendbirdUIKit.SBUBaseChannel public func loadPrevMessages(timestamp: Swift.Int64?) override public func loadNextMessages() public func loadBothMessages(timestamp: Swift.Int64?, showIndicator: Swift.Bool) + public func sendMultipleFilesMessage(fileInfoList: [SendbirdChatSDK.UploadableFileInfo], parentMessageId: Swift.Int64) + public func updateMultipleFilesMessageCell(requestId: Swift.String, index: Swift.Int) open func setupSendUserMessageCompletionHandlers() open func setupSendFileMessageCompletionHandlers() override public func sortAllMessageList(needReload: Swift.Bool) @@ -10026,6 +10232,37 @@ extension SendbirdUIKit.SBUMessageThreadViewModel : SendbirdChatSDK.MessageColle @objc dynamic open func messageCollection(_ collection: SendbirdChatSDK.MessageCollection, context: SendbirdChatSDK.MessageContext, updatedChannel channel: SendbirdChatSDK.GroupChannel) @objc dynamic open func messageCollection(_ collection: SendbirdChatSDK.MessageCollection, context: SendbirdChatSDK.MessageContext, deletedChannel channelURL: Swift.String) } +@objc @_inheritsConvenienceInitializers @_Concurrency.MainActor(unsafe) open class SBUMultipleFilesMessageCell : SendbirdUIKit.SBUContentBaseMessageCell, UIKit.UICollectionViewDelegate, UIKit.UICollectionViewDataSource { + @objc @_Concurrency.MainActor(unsafe) public var multipleFilesMessage: SendbirdChatSDK.MultipleFilesMessage? { + @objc get + } + @objc @_Concurrency.MainActor(unsafe) public var containerView: UIKit.UIView + @objc @_Concurrency.MainActor(unsafe) public var collectionView: SendbirdUIKit.SBUMultipleFilesMessageCollectionView { + @objc get + @objc set + } + @objc @_Concurrency.MainActor(unsafe) public var collectionViewHeightConstraint: UIKit.NSLayoutConstraint! { + get + } + @objc @_Concurrency.MainActor(unsafe) public var fileSelectHandler: ((_ fileInfo: SendbirdChatSDK.UploadedFileInfo, _ index: Swift.Int) -> Swift.Void)? + @_Concurrency.MainActor(unsafe) @objc override dynamic open func setupViews() + @_Concurrency.MainActor(unsafe) @objc override dynamic open func setupLayouts() + @_Concurrency.MainActor(unsafe) @objc override dynamic open func setupStyles() + @_Concurrency.MainActor(unsafe) @objc override dynamic open func setupActions() + @_Concurrency.MainActor(unsafe) override open func configure(with configuration: SendbirdUIKit.SBUBaseMessageCellParams) + @_Concurrency.MainActor(unsafe) @objc override dynamic open func setSelected(_ selected: Swift.Bool, animated: Swift.Bool) + @_Concurrency.MainActor(unsafe) @objc override dynamic public init(style: UIKit.UITableViewCell.CellStyle, reuseIdentifier: Swift.String?) + @_Concurrency.MainActor(unsafe) @objc required dynamic public init?(coder: Foundation.NSCoder) + @objc deinit +} +extension SendbirdUIKit.SBUMultipleFilesMessageCell : UIKit.UICollectionViewDelegateFlowLayout { + @_Concurrency.MainActor(unsafe) @objc dynamic open func collectionView(_ collectionView: UIKit.UICollectionView, cellForItemAt indexPath: Foundation.IndexPath) -> UIKit.UICollectionViewCell + @_Concurrency.MainActor(unsafe) @objc dynamic open func collectionView(_ collectionView: UIKit.UICollectionView, numberOfItemsInSection section: Swift.Int) -> Swift.Int + @_Concurrency.MainActor(unsafe) @objc dynamic open func numberOfSections(in collectionView: UIKit.UICollectionView) -> Swift.Int + @_Concurrency.MainActor(unsafe) @objc dynamic open func collectionView(_ collectionView: UIKit.UICollectionView, didSelectItemAt indexPath: Foundation.IndexPath) + @_Concurrency.MainActor(unsafe) @objc dynamic open func collectionView(_ collectionView: UIKit.UICollectionView, layout collectionViewLayout: UIKit.UICollectionViewLayout, sizeForItemAt indexPath: Foundation.IndexPath) -> CoreFoundation.CGSize + @_Concurrency.MainActor(unsafe) @objc override dynamic open func prepareForReuse() +} public protocol SBUUserListModuleHeaderDelegate : SendbirdUIKit.SBUCommonDelegate { func userListModule(_ headerComponent: SendbirdUIKit.SBUUserListModule.Header, didUpdateTitleView titleView: UIKit.UIView?) func userListModule(_ headerComponent: SendbirdUIKit.SBUUserListModule.Header, didUpdateLeftItem leftItem: UIKit.UIBarButtonItem?) @@ -10212,6 +10449,7 @@ public protocol SBUGroupChannelViewModelDataSource : SendbirdUIKit.SBUBaseChanne } public protocol SBUGroupChannelViewModelDelegate : SendbirdUIKit.SBUBaseChannelViewModelDelegate { func groupChannelViewModel(_ viewModel: SendbirdUIKit.SBUGroupChannelViewModel, didReceiveSuggestedMentions members: [SendbirdUIKit.SBUUser]?) + func groupChannelViewModel(_ viewModel: SendbirdUIKit.SBUGroupChannelViewModel, didFinishUploadingFileAt index: Swift.Int, multipleFilesMessageRequestId requestId: Swift.String) } @objc open class SBUGroupChannelViewModel : SendbirdUIKit.SBUBaseChannelViewModel { weak public var delegate: SendbirdUIKit.SBUGroupChannelViewModelDelegate? { @@ -10222,10 +10460,13 @@ public protocol SBUGroupChannelViewModelDelegate : SendbirdUIKit.SBUBaseChannelV get set } + public var sendMultipleFilesMessageCompletionHandler: SendbirdChatSDK.MultipleFilesMessageHandler? public init(channel: SendbirdChatSDK.BaseChannel? = nil, channelURL: Swift.String? = nil, messageListParams: SendbirdChatSDK.MessageListParams? = nil, startingPoint: Swift.Int64? = .max, delegate: SendbirdUIKit.SBUGroupChannelViewModelDelegate? = nil, dataSource: SendbirdUIKit.SBUGroupChannelViewModelDataSource? = nil, displaysLocalCachedListFirst: Swift.Bool = false) @objc deinit override public func loadChannel(channelURL: Swift.String, messageListParams: SendbirdChatSDK.MessageListParams? = nil, completionHandler: ((SendbirdChatSDK.BaseChannel?, SendbirdChatSDK.SBError?) -> Swift.Void)? = nil) override public func refreshChannel() + open func sendMultipleFilesMessage(fileInfoList: [SendbirdChatSDK.UploadableFileInfo]) + open func updateMultipleFilesMessageCell(requestId: Swift.String, index: Swift.Int) override public func loadInitialMessages(startingPoint: Swift.Int64?, showIndicator: Swift.Bool, initialMessages: [SendbirdChatSDK.BaseMessage]?) override public func loadPrevMessages() override public func loadNextMessages() diff --git a/Framework/SendbirdUIKit.xcframework/ios-arm64_x86_64-simulator/SendbirdUIKit.framework/Modules/SendbirdUIKit.swiftmodule/x86_64-apple-ios-simulator.swiftdoc b/Framework/SendbirdUIKit.xcframework/ios-arm64_x86_64-simulator/SendbirdUIKit.framework/Modules/SendbirdUIKit.swiftmodule/x86_64-apple-ios-simulator.swiftdoc index 1cffea0f4..42b8221fb 100644 Binary files a/Framework/SendbirdUIKit.xcframework/ios-arm64_x86_64-simulator/SendbirdUIKit.framework/Modules/SendbirdUIKit.swiftmodule/x86_64-apple-ios-simulator.swiftdoc and b/Framework/SendbirdUIKit.xcframework/ios-arm64_x86_64-simulator/SendbirdUIKit.framework/Modules/SendbirdUIKit.swiftmodule/x86_64-apple-ios-simulator.swiftdoc differ diff --git a/Framework/SendbirdUIKit.xcframework/ios-arm64_x86_64-simulator/SendbirdUIKit.framework/Modules/SendbirdUIKit.swiftmodule/x86_64-apple-ios-simulator.swiftinterface b/Framework/SendbirdUIKit.xcframework/ios-arm64_x86_64-simulator/SendbirdUIKit.framework/Modules/SendbirdUIKit.swiftmodule/x86_64-apple-ios-simulator.swiftinterface index fa04c0b7c..41c3f68b8 100644 --- a/Framework/SendbirdUIKit.xcframework/ios-arm64_x86_64-simulator/SendbirdUIKit.framework/Modules/SendbirdUIKit.swiftmodule/x86_64-apple-ios-simulator.swiftinterface +++ b/Framework/SendbirdUIKit.xcframework/ios-arm64_x86_64-simulator/SendbirdUIKit.framework/Modules/SendbirdUIKit.swiftmodule/x86_64-apple-ios-simulator.swiftinterface @@ -155,7 +155,7 @@ extension SendbirdUIKit.SBUBaseChannelModule { @_Concurrency.MainActor(unsafe) open func updateStyles(theme: SendbirdUIKit.SBUChannelTheme? = nil, componentTheme: SendbirdUIKit.SBUComponentTheme = SBUTheme.componentTheme) @_Concurrency.MainActor(unsafe) public func setupScrollBottomViewStyle(scrollBottomView: UIKit.UIView, theme: SendbirdUIKit.SBUComponentTheme = SBUTheme.componentTheme) @objc @_Concurrency.MainActor(unsafe) open func setScrollBottomView(hidden: Swift.Bool) - @objc @_Concurrency.MainActor(unsafe) public func reloadTableView() + @objc @_Concurrency.MainActor(unsafe) public func reloadTableView(needsToLayout: Swift.Bool = true) @_Concurrency.MainActor(unsafe) public func updateEmptyView(type: SendbirdUIKit.EmptyViewType) @objc @_Concurrency.MainActor(unsafe) open func showMessageMenu(on message: SendbirdChatSDK.BaseMessage, forRowAt indexPath: Foundation.IndexPath) @objc @_Concurrency.MainActor(unsafe) open func showFailedMessageMenu(on message: SendbirdChatSDK.BaseMessage) @@ -341,6 +341,7 @@ public protocol SBUMessageThreadModuleInputDelegate : SendbirdUIKit.SBUBaseChann func messageThreadModule(_ inputComponent: SendbirdUIKit.SBUMessageThreadModule.Input, shouldLoadSuggestedMentions filterText: Swift.String) func messageThreadModuleShouldStopSuggestingMention(_ inputComponent: SendbirdUIKit.SBUMessageThreadModule.Input) func messageThreadModuleDidTapVoiceMessage(_ inputComponent: SendbirdUIKit.SBUMessageThreadModule.Input) + func messageThreadModule(_ inputComponent: SendbirdUIKit.SBUMessageThreadModule.Input, didPickMultipleFiles fileInfoList: [SendbirdChatSDK.UploadableFileInfo], parentMessage: SendbirdChatSDK.BaseMessage) } public protocol SBUMessageThreadModuleInputDataSource : SendbirdUIKit.SBUBaseChannelModuleInputDataSource { } @@ -375,6 +376,12 @@ extension SendbirdUIKit.SBUMessageThreadModule { @_Concurrency.MainActor(unsafe) @objc override open func pickDocumentFile(documentURLs: [Foundation.URL]) @_Concurrency.MainActor(unsafe) @objc override open func pickImageData(_ data: Foundation.Data, fileName: Swift.String? = nil, mimeType: Swift.String? = nil) @_Concurrency.MainActor(unsafe) @objc override open func pickVideoURL(_ url: Foundation.URL) + @objc @available(iOS 14.0, *) + @_Concurrency.MainActor(unsafe) public func pickMultipleImageFiles(itemProviders: [Foundation.NSItemProvider]) + @available(iOS 14.0, *) + @_Concurrency.MainActor(unsafe) public func loadImageFile(itemProvider: Foundation.NSItemProvider, index: Swift.Int? = nil, completion: @escaping (Foundation.Data?, Swift.String?, Swift.String?) -> Swift.Void) + @available(iOS 14.0, *) + @_Concurrency.MainActor(unsafe) public func loadGIFfile(itemProvider: Foundation.NSItemProvider, index: Swift.Int? = nil, completion: @escaping (Foundation.Data?, Swift.String?, Swift.String?) -> Swift.Void) @_Concurrency.MainActor(unsafe) @objc override open func updateMessageInputMode(_ mode: SendbirdUIKit.SBUMessageInputMode, message: SendbirdChatSDK.BaseMessage? = nil) @_Concurrency.MainActor(unsafe) @objc override open func updateMessageInputModeState() @_Concurrency.MainActor(unsafe) @objc override open func updateFrozenModeState() @@ -831,10 +838,10 @@ extension SendbirdUIKit.SBUView : SendbirdUIKit.SBUViewLifeCycle { set _modify } - @_Concurrency.MainActor(unsafe) public var collectionViewHeightConstraint: UIKit.NSLayoutConstraint! { + @_Concurrency.MainActor(unsafe) public var collectionViewHeightConstraint: UIKit.NSLayoutConstraint? { get } - @_Concurrency.MainActor(unsafe) public var collectionViewMinWidthContraint: UIKit.NSLayoutConstraint! { + @_Concurrency.MainActor(unsafe) public var collectionViewMinWidthContraint: UIKit.NSLayoutConstraint? { get } @_Concurrency.MainActor(unsafe) final public let collectionViewInsets: UIKit.UIEdgeInsets @@ -1736,6 +1743,7 @@ extension UIKit.UIImageView { @_hasMissingDesignatedInitializers public class SBUUtils { public static func getFileType(by fileMessage: SendbirdChatSDK.FileMessage) -> SendbirdUIKit.SBUMessageFileType public static func getFileType(by type: Swift.String) -> SendbirdUIKit.SBUMessageFileType + public static func getFileTypeString(by fileType: Swift.String) -> Swift.String public static func generateChannelName(channel: SendbirdChatSDK.GroupChannel) -> Swift.String public static func getMimeType(url: Foundation.URL) -> Swift.String? @available(*, deprecated, renamed: "getReceiptState(of:in:)") @@ -1786,6 +1794,7 @@ extension UIKit.UIImageView { public static var Settings: Swift.String public static var Reply: Swift.String public static var Alert_Delete: Swift.String + public static var Alert_Delete_MultipleFilesMessage: (Swift.Int) -> Swift.String public static var Alert_Allow_Camera_Access: Swift.String public static var Alert_Allow_PhotoLibrary_Access: Swift.String public static var Alert_Allow_PhotoLibrary_Access_Message: Swift.String @@ -1947,6 +1956,22 @@ extension UIKit.UIImageView { } public static var fileName: Swift.String } + public struct GroupChannel { + public struct Preview { + public static var photo: Swift.String + public static var gif: Swift.String + public static var video: Swift.String + public static var audio: Swift.String + public static var voice: Swift.String + public static var file: Swift.String + public static var multipleFiles: Swift.String + } + } + public struct FileUpload { + public struct Error { + public static var exceededSizeLimit: Swift.String + } + } @objc deinit } extension SendbirdUIKit.SBUStringSet { @@ -2120,6 +2145,7 @@ extension SendbirdUIKit.SBUCreateOpenChannelModule { @_Concurrency.MainActor(unsafe) final public let descriptionLabel: UIKit.UILabel @_Concurrency.MainActor(unsafe) final public let urlLabel: UIKit.UILabel @_Concurrency.MainActor(unsafe) public var imageHeightConstraint: UIKit.NSLayoutConstraint? + @_Concurrency.MainActor(unsafe) public var imageWitdhConstraint: UIKit.NSLayoutConstraint? @_Concurrency.MainActor(unsafe) @objc override dynamic public init(frame: CoreFoundation.CGRect) @_Concurrency.MainActor(unsafe) @objc required dynamic public init(coder: Foundation.NSCoder) @_Concurrency.MainActor(unsafe) @objc override dynamic open func layoutSubviews() @@ -2297,6 +2323,11 @@ extension SendbirdUIKit.SBUModuleSet { public static var MessageSearchModule: SendbirdUIKit.SBUMessageSearchModule.Type public static var MessageThreadModule: SendbirdUIKit.SBUMessageThreadModule.Type } +extension SendbirdChatSDK.MultipleFilesMessage { + public var filesCount: Swift.Int { + get + } +} public protocol SBUMessageSearchViewModelDelegate : SendbirdUIKit.SBUCommonViewModelDelegate { func searchViewModel(_ viewModel: SendbirdUIKit.SBUMessageSearchViewModel, didChangeSearchResults results: [SendbirdChatSDK.BaseMessage], needsToReload: Swift.Bool) } @@ -2317,6 +2348,24 @@ open class SBUMessageSearchViewModel { public func loadMore() @objc deinit } +@objc @_inheritsConvenienceInitializers @_Concurrency.MainActor(unsafe) open class SBUMultipleFilesMessageCollectionView : UIKit.UICollectionView, SendbirdUIKit.SBUViewLifeCycle { + @SendbirdUIKit.SBUThemeWrapper @_Concurrency.MainActor(unsafe) public var theme: SendbirdUIKit.SBUMessageCellTheme { + get + set + _modify + } + @_Concurrency.MainActor(unsafe) public var cornerRadius: CoreFoundation.CGFloat + @_Concurrency.MainActor(unsafe) open func configure(delegate: UIKit.UICollectionViewDelegate, dataSource: UIKit.UICollectionViewDataSource, theme: SendbirdUIKit.SBUMessageCellTheme? = nil, cornerRadius: CoreFoundation.CGFloat) + @_Concurrency.MainActor(unsafe) @objc open func setupViews() + @_Concurrency.MainActor(unsafe) @objc open func setupLayouts() + @_Concurrency.MainActor(unsafe) @objc open func setupStyles() + @_Concurrency.MainActor(unsafe) @objc open func setupActions() + @_Concurrency.MainActor(unsafe) @objc open func updateLayouts() + @_Concurrency.MainActor(unsafe) @objc open func updateStyles() + @_Concurrency.MainActor(unsafe) @objc override dynamic public init(frame: CoreFoundation.CGRect, collectionViewLayout layout: UIKit.UICollectionViewLayout) + @_Concurrency.MainActor(unsafe) @objc required dynamic public init?(coder: Foundation.NSCoder) + @objc deinit +} extension SendbirdUIKit.SBUBaseSelectUserViewController { @objc @available(*, deprecated, renamed: "channelURL") @_Concurrency.MainActor(unsafe) dynamic public var channelUrl: Swift.String? { @@ -2477,6 +2526,28 @@ extension SendbirdUIKit.SBUBaseChannelSettingsModule { @objc func updateLayouts() @objc func setupActions() } +@objc @_hasMissingDesignatedInitializers @_Concurrency.MainActor(unsafe) public class SBUPaddingLabel : UIKit.UILabel { + @_Concurrency.MainActor(unsafe) public var top: CoreFoundation.CGFloat { + get + } + @_Concurrency.MainActor(unsafe) public var bottom: CoreFoundation.CGFloat { + get + } + @_Concurrency.MainActor(unsafe) public var leading: CoreFoundation.CGFloat { + get + } + @_Concurrency.MainActor(unsafe) public var trailing: CoreFoundation.CGFloat { + get + } + @_Concurrency.MainActor(unsafe) convenience public init(_ all: CoreFoundation.CGFloat) + @_Concurrency.MainActor(unsafe) convenience public init(_ vertical: CoreFoundation.CGFloat, _ horizontal: CoreFoundation.CGFloat) + @_Concurrency.MainActor(unsafe) public init(_ top: CoreFoundation.CGFloat = 0, _ bottom: CoreFoundation.CGFloat = 0, _ leading: CoreFoundation.CGFloat = 0, _ trailing: CoreFoundation.CGFloat = 0) + @_Concurrency.MainActor(unsafe) @objc override dynamic public func drawText(in rect: CoreFoundation.CGRect) + @_Concurrency.MainActor(unsafe) @objc override dynamic public var intrinsicContentSize: CoreFoundation.CGSize { + @objc get + } + @objc deinit +} public typealias SBUNewNotificationInfoHandler = () -> Swift.Void extension SendbirdUIKit.SBUBaseChannelViewController { @objc @_Concurrency.MainActor(unsafe) dynamic public func registerKeyboardNotifications() @@ -2497,7 +2568,7 @@ extension SendbirdUIKit.SBUBaseChannelViewController { get } @objc @_Concurrency.MainActor(unsafe) public var webView: SendbirdUIKit.SBUOpenChannelMessageWebView - @objc @_Concurrency.MainActor(unsafe) public var messageTypeConstraint: UIKit.NSLayoutConstraint! { + @objc @_Concurrency.MainActor(unsafe) public var messageTypeConstraint: UIKit.NSLayoutConstraint? { get } @objc @_Concurrency.MainActor(unsafe) public var webTypeConstraints: [UIKit.NSLayoutConstraint] { @@ -2957,6 +3028,7 @@ public protocol SBUMessageCellProtocol { @objc @_Concurrency.MainActor(unsafe) public var newMessagesCount: Swift.Int { get } + @objc @_Concurrency.MainActor(unsafe) open func multipleFilesMessageFileSizeErrorHandler(_ message: Swift.String) @objc @_Concurrency.MainActor(unsafe) required public init(channel: SendbirdChatSDK.GroupChannel, messageListParams: SendbirdChatSDK.MessageListParams? = nil) @objc @_Concurrency.MainActor(unsafe) public init(channel: SendbirdChatSDK.GroupChannel, messageListParams: SendbirdChatSDK.MessageListParams? = nil, displaysLocalCachedListFirst: Swift.Bool) @_Concurrency.MainActor(unsafe) required public init(channelURL: Swift.String, startingPoint: Swift.Int64? = nil, messageListParams: SendbirdChatSDK.MessageListParams? = nil) @@ -2975,6 +3047,7 @@ public protocol SBUMessageCellProtocol { @_Concurrency.MainActor(unsafe) @objc override open func setupViews() @_Concurrency.MainActor(unsafe) @objc override open func setupLayouts() @_Concurrency.MainActor(unsafe) @objc override open func setupStyles() + @_Concurrency.MainActor(unsafe) @objc override open func updateStyles(needsToLayout: Swift.Bool) @_Concurrency.MainActor(unsafe) @objc override open func updateStyles() @discardableResult @_Concurrency.MainActor(unsafe) @objc override public func increaseNewMessageCount() -> Swift.Bool @@ -2986,14 +3059,20 @@ public protocol SBUMessageCellProtocol { @_Concurrency.MainActor(unsafe) override public func showMenuModal(_ cell: UIKit.UITableViewCell, indexPath: Foundation.IndexPath, message: SendbirdChatSDK.BaseMessage, types: [SendbirdUIKit.MessageMenuItem]?) @_Concurrency.MainActor(unsafe) @objc override open func showChannelSettings() @_Concurrency.MainActor(unsafe) override open func showMessageThread(channelURL: Swift.String, parentMessageId: Swift.Int64, parentMessageCreatedAt: Swift.Int64? = 0, startingPoint: Swift.Int64? = 0) + @_Concurrency.MainActor(unsafe) @objc override open func imagePickerControllerDidCancel(_ picker: UIKit.UIImagePickerController) + @available(iOS 14, *) + @_Concurrency.MainActor(unsafe) override open func picker(_ picker: PhotosUI.PHPickerViewController, didFinishPicking results: [PhotosUI.PHPickerResult]) + @_Concurrency.MainActor(unsafe) @objc override open func showPhotoLibraryPicker() @_Concurrency.MainActor(unsafe) @objc override open func showVoiceMessageInput() @_Concurrency.MainActor(unsafe) @objc override open func dismissVoiceMessageInput() @_Concurrency.MainActor(unsafe) @objc override open func resetVoiceMessageInput(for resignActivity: Swift.Bool = false) @_Concurrency.MainActor(unsafe) @objc override open func baseChannelViewModel(_ viewModel: SendbirdUIKit.SBUBaseChannelViewModel, didChangeChannel channel: SendbirdChatSDK.BaseChannel?, withContext context: SendbirdChatSDK.MessageContext) @_Concurrency.MainActor(unsafe) @objc override open func baseChannelViewModel(_ viewModel: SendbirdUIKit.SBUBaseChannelViewModel, deletedMessages messages: [SendbirdChatSDK.BaseMessage]) @objc @_Concurrency.MainActor(unsafe) open func groupChannelViewModel(_ viewModel: SendbirdUIKit.SBUGroupChannelViewModel, didReceiveSuggestedMentions members: [SendbirdUIKit.SBUUser]?) + @objc @_Concurrency.MainActor(unsafe) public func groupChannelViewModel(_ viewModel: SendbirdUIKit.SBUGroupChannelViewModel, didFinishUploadingFileAt index: Swift.Int, multipleFilesMessageRequestId requestId: Swift.String) @_Concurrency.MainActor(unsafe) @objc override open func baseChannelModule(_ headerComponent: SendbirdUIKit.SBUBaseChannelModule.Header, didTapLeftItem leftItem: UIKit.UIBarButtonItem) @_Concurrency.MainActor(unsafe) @objc override open func baseChannelModule(_ headerComponent: SendbirdUIKit.SBUBaseChannelModule.Header, didTapRightItem rightItem: UIKit.UIBarButtonItem) + @objc @_Concurrency.MainActor(unsafe) open func groupChannelModule(_ listComponent: SendbirdUIKit.SBUGroupChannelModule.List, didSelectFileAt index: Swift.Int, multipleFilesMessageCell: SendbirdUIKit.SBUMultipleFilesMessageCell, forRowAt cellIndexPath: Foundation.IndexPath) @objc @_Concurrency.MainActor(unsafe) open func groupChannelModule(_ listComponent: SendbirdUIKit.SBUGroupChannelModule.List, didTapEmoji emojiKey: Swift.String, messageCell: SendbirdUIKit.SBUBaseMessageCell) @objc @_Concurrency.MainActor(unsafe) open func groupChannelModule(_ listComponent: SendbirdUIKit.SBUGroupChannelModule.List, didLongTapEmoji emojiKey: Swift.String, messageCell: SendbirdUIKit.SBUBaseMessageCell) @objc @_Concurrency.MainActor(unsafe) open func groupChannelModule(_ listComponent: SendbirdUIKit.SBUGroupChannelModule.List, didTapMoreEmojiForCell messageCell: SendbirdUIKit.SBUBaseMessageCell) @@ -3006,6 +3085,7 @@ public protocol SBUMessageCellProtocol { @_Concurrency.MainActor(unsafe) open func groupChannelModule(_ listComponent: SendbirdUIKit.SBUGroupChannelModule.List, highlightInfoInTableView tableView: UIKit.UITableView) -> SendbirdUIKit.SBUHighlightMessageInfo? @_Concurrency.MainActor(unsafe) @objc override open func baseChannelModule(_ inputComponent: SendbirdUIKit.SBUBaseChannelModule.Input, didUpdateFrozenState isFrozen: Swift.Bool) @objc @_Concurrency.MainActor(unsafe) open func groupChannelModule(_ inputComponent: SendbirdUIKit.SBUGroupChannelModule.Input, didPickFileData fileData: Foundation.Data?, fileName: Swift.String, mimeType: Swift.String, parentMessage: SendbirdChatSDK.BaseMessage?) + @objc @_Concurrency.MainActor(unsafe) open func groupChannelModule(_ inputComponent: SendbirdUIKit.SBUGroupChannelModule.Input, didPickMultipleFiles fileInfoList: [SendbirdChatSDK.UploadableFileInfo]?, parentMessage: SendbirdChatSDK.BaseMessage?) @objc @_Concurrency.MainActor(unsafe) open func groupChannelModule(_ inputComponent: SendbirdUIKit.SBUGroupChannelModule.Input, didTapSend text: Swift.String, mentionedMessageTemplate: Swift.String, mentionedUserIds: [Swift.String], parentMessage: SendbirdChatSDK.BaseMessage?) @objc @_Concurrency.MainActor(unsafe) open func groupChannelModule(_ inputComponent: SendbirdUIKit.SBUGroupChannelModule.Input, didTapEdit text: Swift.String, mentionedMessageTemplate: Swift.String, mentionedUserIds: [Swift.String]) @objc @_Concurrency.MainActor(unsafe) open func groupChannelModule(_ inputComponent: SendbirdUIKit.SBUGroupChannelModule.Input, willChangeMode mode: SendbirdUIKit.SBUMessageInputMode, message: SendbirdChatSDK.BaseMessage?, mentionedMessageTemplate: Swift.String, mentionedUserIds: [Swift.String]) @@ -3535,7 +3615,7 @@ public protocol SBUSuggestedMentionListDelegate : AnyObject { } @_Concurrency.MainActor(unsafe) public var userCell: UIKit.UITableViewCell? @_Concurrency.MainActor(unsafe) public var limitGuideCell: UIKit.UITableViewCell? - @_Concurrency.MainActor(unsafe) public var heightConstraint: UIKit.NSLayoutConstraint! + @_Concurrency.MainActor(unsafe) public var heightConstraint: UIKit.NSLayoutConstraint? @_Concurrency.MainActor(unsafe) public var filteredUsers: [SendbirdUIKit.SBUUser] { get } @@ -3611,6 +3691,10 @@ extension SendbirdUIKit.SBUConfig.GroupChannel { set } public var input: SendbirdUIKit.SBUConfig.GroupChannel.Channel.Input + @SendbirdUIKit.SBUPrioritizedConfig public var isMultipleFilesMessageEnabled: Swift.Bool { + get + set + } @objc deinit public func encode(to encoder: Swift.Encoder) throws required public init(from decoder: Swift.Decoder) throws @@ -3686,6 +3770,8 @@ public protocol SBUMessageThreadModuleListDelegate : SendbirdUIKit.SBUBaseChanne func messageThreadModule(_ listComponent: SendbirdUIKit.SBUMessageThreadModule.List, didLongTapEmoji emojiKey: Swift.String, messageCell: SendbirdUIKit.SBUBaseMessageCell) func messageThreadModule(_ listComponent: SendbirdUIKit.SBUMessageThreadModule.List, didTapMoreEmojiForCell messageCell: SendbirdUIKit.SBUBaseMessageCell) func messageThreadModule(_ listComponent: SendbirdUIKit.SBUMessageThreadModule.List, didTapMentionUser user: SendbirdUIKit.SBUUser) + func messageThreadModule(_ listComponent: SendbirdUIKit.SBUMessageThreadModule.List, didSelectFileAt index: Swift.Int, multipleFilesMessageCell: SendbirdUIKit.SBUMultipleFilesMessageCell, forRowAt cellIndexPath: Foundation.IndexPath) + func messageThreadModule(_ listComponent: SendbirdUIKit.SBUMessageThreadModule.List, uploadedFileInfo: SendbirdChatSDK.UploadedFileInfo, message: SendbirdChatSDK.MultipleFilesMessage, index: Swift.Int) } public protocol SBUMessageThreadModuleListDataSource : SendbirdUIKit.SBUBaseChannelModuleListDataSource { } @@ -3702,6 +3788,9 @@ extension SendbirdUIKit.SBUMessageThreadModule { @objc @_Concurrency.MainActor(unsafe) public var fileMessageCell: SendbirdUIKit.SBUBaseMessageCell? { get } + @objc @_Concurrency.MainActor(unsafe) public var multipleFilesMessageCell: SendbirdUIKit.SBUBaseMessageCell? { + get + } @objc @_Concurrency.MainActor(unsafe) public var unknownMessageCell: SendbirdUIKit.SBUBaseMessageCell? { get } @@ -3734,11 +3823,12 @@ extension SendbirdUIKit.SBUMessageThreadModule { @_Concurrency.MainActor(unsafe) override open func createMessageMenuItems(for message: SendbirdChatSDK.BaseMessage) -> [SendbirdUIKit.SBUMenuItem] @_Concurrency.MainActor(unsafe) @objc override open func showMessageContextMenu(for message: SendbirdChatSDK.BaseMessage, cell: UIKit.UITableViewCell, forRowAt indexPath: Foundation.IndexPath) @objc @_Concurrency.MainActor(unsafe) open func setMessageCellGestures(_ cell: SendbirdUIKit.SBUBaseMessageCell, message: SendbirdChatSDK.BaseMessage, indexPath: Foundation.IndexPath) - @_Concurrency.MainActor(unsafe) @objc override public func reloadTableView() + @_Concurrency.MainActor(unsafe) @objc override public func reloadTableView(needsToLayout: Swift.Bool = true) @objc @_Concurrency.MainActor(unsafe) public func register(messageCell: SendbirdUIKit.SBUBaseMessageCell, nib: UIKit.UINib? = nil) @objc @_Concurrency.MainActor(unsafe) open func register(adminMessageCell: SendbirdUIKit.SBUBaseMessageCell, nib: UIKit.UINib? = nil) @objc @_Concurrency.MainActor(unsafe) open func register(userMessageCell: SendbirdUIKit.SBUBaseMessageCell, nib: UIKit.UINib? = nil) @objc @_Concurrency.MainActor(unsafe) open func register(fileMessageCell: SendbirdUIKit.SBUBaseMessageCell, nib: UIKit.UINib? = nil) + @objc @_Concurrency.MainActor(unsafe) open func register(multipleFilesMessageCell: SendbirdUIKit.SBUBaseMessageCell, nib: UIKit.UINib? = nil) @objc @_Concurrency.MainActor(unsafe) open func register(unknownMessageCell: SendbirdUIKit.SBUBaseMessageCell, nib: UIKit.UINib? = nil) @objc @_Concurrency.MainActor(unsafe) open func register(customMessageCell: SendbirdUIKit.SBUBaseMessageCell, nib: UIKit.UINib? = nil) @objc @_Concurrency.MainActor(unsafe) open func configureCell(_ messageCell: SendbirdUIKit.SBUBaseMessageCell, message: SendbirdChatSDK.BaseMessage, forRowAt indexPath: Foundation.IndexPath) @@ -4130,6 +4220,20 @@ extension SendbirdUIKit.SBUInviteUserModule { public static func restoreDefaultIcons() @objc deinit } +@objc @_inheritsConvenienceInitializers @_Concurrency.MainActor(unsafe) open class SBUCollectionViewCell : UIKit.UICollectionViewCell { + @_Concurrency.MainActor(unsafe) @objc override dynamic public init(frame: CoreFoundation.CGRect) + @_Concurrency.MainActor(unsafe) @objc required dynamic public init?(coder: Foundation.NSCoder) + @_Concurrency.MainActor(unsafe) @objc override dynamic open func layoutSubviews() + @objc deinit +} +extension SendbirdUIKit.SBUCollectionViewCell : SendbirdUIKit.SBUViewLifeCycle { + @_Concurrency.MainActor(unsafe) @objc dynamic public func setupViews() + @_Concurrency.MainActor(unsafe) @objc dynamic public func setupStyles() + @_Concurrency.MainActor(unsafe) @objc dynamic public func updateStyles() + @_Concurrency.MainActor(unsafe) @objc dynamic public func setupLayouts() + @_Concurrency.MainActor(unsafe) @objc dynamic public func updateLayouts() + @_Concurrency.MainActor(unsafe) @objc dynamic public func setupActions() +} @objc @_inheritsConvenienceInitializers @_Concurrency.MainActor(unsafe) open class SBUOpenChannelContentBaseMessageCell : SendbirdUIKit.SBUOpenChannelBaseMessageCell { @objc @_Concurrency.MainActor(unsafe) public var baseStackView: UIKit.UIStackView { @objc get @@ -4139,6 +4243,10 @@ extension SendbirdUIKit.SBUInviteUserModule { @objc get @objc set } + @objc @_Concurrency.MainActor(unsafe) public var profileBaseView: UIKit.UIView { + @objc get + @objc set + } @objc @_Concurrency.MainActor(unsafe) public var contentsStackView: UIKit.UIStackView { @objc get @objc set @@ -4559,6 +4667,25 @@ public protocol SBUCreateChannelTypeSelectorProtocol { @_Concurrency.MainActor(unsafe) open func updateButton(type: SendbirdUIKit.ChannelCreationType) @objc deinit } +@objc @_inheritsConvenienceInitializers @_hasMissingDesignatedInitializers @_Concurrency.MainActor(unsafe) open class SBUMultipleFilesMessageCollectionViewCell : SendbirdUIKit.SBUCollectionViewCell { + @_Concurrency.MainActor(unsafe) public var imageView: UIKit.UIImageView + @_Concurrency.MainActor(unsafe) public var overlayView: UIKit.UIView + @_Concurrency.MainActor(unsafe) public var iconImageView: UIKit.UIImageView + @SendbirdUIKit.SBUThemeWrapper @_Concurrency.MainActor(unsafe) public var theme: SendbirdUIKit.SBUMessageCellTheme { + get + set + _modify + } + @_Concurrency.MainActor(unsafe) public var imageCornerRadius: CoreFoundation.CGFloat + @_Concurrency.MainActor(unsafe) @objc required dynamic public init?(coder aDecoder: Foundation.NSCoder) + @_Concurrency.MainActor(unsafe) open func configure(uploadableFileInfo: SendbirdChatSDK.UploadableFileInfo? = nil, uploadedFileInfo: SendbirdChatSDK.UploadedFileInfo? = nil, requestId: Swift.String, index: Swift.Int, imageCornerRadius: CoreFoundation.CGFloat, showOverlay: Swift.Bool) + @_Concurrency.MainActor(unsafe) @objc override dynamic open func setupViews() + @_Concurrency.MainActor(unsafe) @objc override dynamic open func setupStyles() + @_Concurrency.MainActor(unsafe) @objc override dynamic open func setupLayouts() + @_Concurrency.MainActor(unsafe) @objc override dynamic open func prepareForReuse() + @_Concurrency.MainActor(unsafe) public func setGIFIcon() + @objc deinit +} extension UIKit.UIView { @objc @_Concurrency.MainActor(unsafe) public static func sbu_loadNib() -> UIKit.UINib @objc @_Concurrency.MainActor(unsafe) public static func sbu_loadViewFromNib() -> UIKit.UIView @@ -4584,6 +4711,8 @@ extension UIKit.UIView { @_Concurrency.MainActor(unsafe) public func sbu_constraint_greaterThan(widthAnchor: UIKit.NSLayoutAnchor? = nil, width: CoreFoundation.CGFloat? = nil, heightAnchor: UIKit.NSLayoutAnchor? = nil, height: CoreFoundation.CGFloat? = nil, priority: UIKit.UILayoutPriority? = nil) -> UIKit.UIView @discardableResult @_Concurrency.MainActor(unsafe) public func sbu_constraint_lessThan(widthAnchor: UIKit.NSLayoutAnchor? = nil, width: CoreFoundation.CGFloat? = nil, heightAnchor: UIKit.NSLayoutAnchor? = nil, height: CoreFoundation.CGFloat? = nil, priority: UIKit.UILayoutPriority? = nil) -> UIKit.UIView +} +extension UIKit.UIView { @discardableResult @_Concurrency.MainActor(unsafe) public func sbu_constraint_v2(equalTo view: UIKit.UIView, leading: CoreFoundation.CGFloat? = nil, trailing: CoreFoundation.CGFloat? = nil, left: CoreFoundation.CGFloat? = nil, right: CoreFoundation.CGFloat? = nil, top: CoreFoundation.CGFloat? = nil, bottom: CoreFoundation.CGFloat? = nil, centerX: CoreFoundation.CGFloat? = nil, centerY: CoreFoundation.CGFloat? = nil, priority: UIKit.UILayoutPriority? = nil) -> [UIKit.NSLayoutConstraint] @discardableResult @@ -4911,19 +5040,28 @@ public protocol SBUParentMessageInfoViewDelegate : AnyObject { func parentMessageInfoViewBoundsWillChanged(_ view: SendbirdUIKit.SBUParentMessageInfoView) func parentMessageInfoViewBoundsDidChanged(_ view: SendbirdUIKit.SBUParentMessageInfoView) } -@objc @_inheritsConvenienceInitializers @_Concurrency.MainActor(unsafe) open class SBUParentMessageInfoView : UIKit.UITableViewHeaderFooterView, SendbirdUIKit.SBUUserMessageTextViewDelegate { +@objc @_inheritsConvenienceInitializers @_Concurrency.MainActor(unsafe) open class SBUParentMessageInfoView : SendbirdUIKit.SBUView, SendbirdUIKit.SBUUserMessageTextViewDelegate { + public struct Constants { + public static var verticalSideMarginSize: CoreFoundation.CGFloat + } @_Concurrency.MainActor(unsafe) public var profileView: SendbirdUIKit.SBUMessageProfileView + @_Concurrency.MainActor(unsafe) public var profileBaseView: UIKit.UIView @_Concurrency.MainActor(unsafe) public var userNameLabel: UIKit.UILabel @_Concurrency.MainActor(unsafe) public var dateLabel: UIKit.UILabel @_Concurrency.MainActor(unsafe) public var moreButton: UIKit.UIButton? { get set } + @_Concurrency.MainActor(unsafe) public var moreButtonBaseView: UIKit.UIView @_Concurrency.MainActor(unsafe) public var replySeparateLine: UIKit.UIView @_Concurrency.MainActor(unsafe) public var replyLabel: UIKit.UILabel @_Concurrency.MainActor(unsafe) public var bottomSeparateLine: UIKit.UIView @_Concurrency.MainActor(unsafe) public var messageTextView: SendbirdUIKit.SBUUserMessageTextView @_Concurrency.MainActor(unsafe) public var baseFileContentView: SendbirdUIKit.SBUBaseFileContentView + @_Concurrency.MainActor(unsafe) public var fileCollectionView: SendbirdUIKit.SBUMultipleFilesMessageCollectionView { + get + set + } @_Concurrency.MainActor(unsafe) public var webView: SendbirdUIKit.SBUMessageWebView @_Concurrency.MainActor(unsafe) public var reactionView: SendbirdUIKit.SBUParentMessageInfoReactionView @_Concurrency.MainActor(unsafe) public var userHStackView: SendbirdUIKit.SBUStackView { @@ -4946,30 +5084,44 @@ public protocol SBUParentMessageInfoViewDelegate : AnyObject { @objc get @objc set } + @_Concurrency.MainActor(unsafe) public var contentView: UIKit.UIView { + get + set + } @_Concurrency.MainActor(unsafe) public var enablesReaction: Swift.Bool @_Concurrency.MainActor(unsafe) public var userProfileTapHandler: (() -> Swift.Void)? @_Concurrency.MainActor(unsafe) public var tapHandlerToContent: (() -> Swift.Void)? + @_Concurrency.MainActor(unsafe) public var fileSelectHandler: ((_ fileInfo: SendbirdChatSDK.UploadedFileInfo, _ index: Swift.Int) -> Swift.Void)? @_Concurrency.MainActor(unsafe) public var moreButtonTapHandlerToContent: (() -> Swift.Void)? @_Concurrency.MainActor(unsafe) public var emojiTapHandler: ((_ emojiKey: Swift.String) -> Swift.Void)? @_Concurrency.MainActor(unsafe) public var moreEmojiTapHandler: (() -> Swift.Void)? @_Concurrency.MainActor(unsafe) public var emojiLongPressHandler: ((_ emojiKey: Swift.String) -> Swift.Void)? @_Concurrency.MainActor(unsafe) public var mentionTapHandler: ((_ user: SendbirdUIKit.SBUUser) -> Swift.Void)? - @_Concurrency.MainActor(unsafe) @objc override dynamic public init(reuseIdentifier: Swift.String?) @available(*, unavailable, renamed: "SBUParentMessageInfoView(frame:)") - @_Concurrency.MainActor(unsafe) @objc required convenience dynamic public init?(coder: Foundation.NSCoder) - @_Concurrency.MainActor(unsafe) open func setupViews() - @_Concurrency.MainActor(unsafe) open func setupLayouts() - @_Concurrency.MainActor(unsafe) open func updateLayouts() - @_Concurrency.MainActor(unsafe) open func setupStyles() + @_Concurrency.MainActor(unsafe) required convenience public init?(coder: Foundation.NSCoder) + @_Concurrency.MainActor(unsafe) @objc override dynamic open func setupViews() + @_Concurrency.MainActor(unsafe) @objc override dynamic open func setupLayouts() + @_Concurrency.MainActor(unsafe) @objc override dynamic open func updateLayouts() + @_Concurrency.MainActor(unsafe) @objc override dynamic open func setupStyles() @_Concurrency.MainActor(unsafe) open func configure(message: SendbirdChatSDK.BaseMessage?, delegate: SendbirdUIKit.SBUParentMessageInfoViewDelegate?, useReaction: Swift.Bool = false, voiceFileInfo: SendbirdUIKit.SBUVoiceFileInfo?) - @_Concurrency.MainActor(unsafe) open func setupActions() + @_Concurrency.MainActor(unsafe) open func updateMessageTextWidth(with size: CoreFoundation.CGSize) + @_Concurrency.MainActor(unsafe) @objc override dynamic open func setupActions() @objc @_Concurrency.MainActor(unsafe) open func onTapUserProfileView(sender: UIKit.UITapGestureRecognizer) @objc @_Concurrency.MainActor(unsafe) open func onTapContentView(sender: UIKit.UITapGestureRecognizer) + @objc @_Concurrency.MainActor(unsafe) open func onSelectFile(sender: UIKit.UITapGestureRecognizer) @objc @_Concurrency.MainActor(unsafe) open func onTapWebview(sender: UIKit.UITapGestureRecognizer) @objc @_Concurrency.MainActor(unsafe) open func onTapMoreButton(_ sender: Any) @_Concurrency.MainActor(unsafe) open func userMessageTextView(_ textView: SendbirdUIKit.SBUUserMessageTextView, didTapMention user: SendbirdUIKit.SBUUser) + @_Concurrency.MainActor(unsafe) @objc override dynamic public init() + @_Concurrency.MainActor(unsafe) @objc override dynamic public init(frame: CoreFoundation.CGRect) @objc deinit } +extension SendbirdUIKit.SBUParentMessageInfoView : UIKit.UICollectionViewDataSource, UIKit.UICollectionViewDelegate, UIKit.UICollectionViewDelegateFlowLayout { + @_Concurrency.MainActor(unsafe) @objc dynamic public func numberOfSections(in collectionView: UIKit.UICollectionView) -> Swift.Int + @_Concurrency.MainActor(unsafe) @objc dynamic open func collectionView(_ collectionView: UIKit.UICollectionView, numberOfItemsInSection section: Swift.Int) -> Swift.Int + @_Concurrency.MainActor(unsafe) @objc dynamic open func collectionView(_ collectionView: UIKit.UICollectionView, layout collectionViewLayout: UIKit.UICollectionViewLayout, sizeForItemAt indexPath: Foundation.IndexPath) -> CoreFoundation.CGSize + @_Concurrency.MainActor(unsafe) @objc dynamic open func collectionView(_ collectionView: UIKit.UICollectionView, cellForItemAt indexPath: Foundation.IndexPath) -> UIKit.UICollectionViewCell +} @_hasMissingDesignatedInitializers public class SBUGlobalCustomParams { public static var groupChannelParamsCreateBuilder: ((_ params: SendbirdChatSDK.GroupChannelCreateParams?) -> Swift.Void)? public static var groupChannelParamsUpdateBuilder: ((_ params: SendbirdChatSDK.GroupChannelUpdateParams?) -> Swift.Void)? @@ -4979,6 +5131,7 @@ public protocol SBUParentMessageInfoViewDelegate : AnyObject { public static var userMessageParamsUpdateBuilder: ((_ params: SendbirdChatSDK.UserMessageUpdateParams?) -> Swift.Void)? public static var fileMessageParamsSendBuilder: ((_ params: SendbirdChatSDK.FileMessageCreateParams?) -> Swift.Void)? public static var voiceFileMessageParamsSendBuilder: ((_ params: SendbirdChatSDK.FileMessageCreateParams?) -> Swift.Void)? + public static var multipleFilesMessageParamsSendBuilder: ((_ params: SendbirdChatSDK.MultipleFilesMessageCreateParams?) -> Swift.Void)? public static var messageListParamsBuilder: ((_ params: SendbirdChatSDK.MessageListParams?) -> Swift.Void)? @objc deinit } @@ -5115,7 +5268,7 @@ extension UIKit.UIImage { @objc get @objc set } - @objc @_Concurrency.MainActor(unsafe) public var mainContainerView: SendbirdUIKit.SBUSelectableStackView { + @objc @_Concurrency.MainActor(unsafe) open var mainContainerView: SendbirdUIKit.SBUSelectableStackView { @objc get @objc set } @@ -5419,7 +5572,7 @@ extension UIKit.UIStackView { @_Concurrency.MainActor(unsafe) public var button: UIKit.UIButton @_Concurrency.MainActor(unsafe) public var username: Swift.String @_Concurrency.MainActor(unsafe) public var leftMargin: CoreFoundation.CGFloat - @_Concurrency.MainActor(unsafe) public var buttonLeftConstraint: UIKit.NSLayoutConstraint! { + @_Concurrency.MainActor(unsafe) public var buttonLeftConstraint: UIKit.NSLayoutConstraint? { get } @_Concurrency.MainActor(unsafe) @objc override dynamic public init() @@ -5619,6 +5772,7 @@ extension SendbirdUIKit.SBUBaseChannelSettingsModule.List : UIKit.UITableViewDat @_Concurrency.MainActor(unsafe) @objc override open func setupLayouts() @_Concurrency.MainActor(unsafe) @objc override open func updateLayouts() @_Concurrency.MainActor(unsafe) @objc override open func setupStyles() + @_Concurrency.MainActor(unsafe) @objc override open func updateStyles(needsToLayout: Swift.Bool) @_Concurrency.MainActor(unsafe) @objc override open func updateStyles() @objc @_Concurrency.MainActor(unsafe) public func updateChannelInfoView() @objc @available(*, deprecated, message: "Please use `calculateMessageMenuCGPoint(indexPath:)` in `SBUOpenChannelModule.List`") @@ -5758,6 +5912,9 @@ public class SBUQuoteMessageInputViewParams { public var isFileType: Swift.Bool { get } + public var isMultipleFilesMessage: Swift.Bool { + get + } public var fileType: Swift.String? { get } @@ -6250,7 +6407,7 @@ extension SendbirdUIKit.SBUMessageSearchViewController { @objc @_Concurrency.MainActor(unsafe) public var baseViewModel: SendbirdUIKit.SBUBaseChannelViewModel? @objc @_Concurrency.MainActor(unsafe) public var channelName: Swift.String? @objc @_Concurrency.MainActor(unsafe) public var isKeyboardShowing: Swift.Bool - @objc @_Concurrency.MainActor(unsafe) public var messageInputViewBottomConstraint: UIKit.NSLayoutConstraint! + @objc @_Concurrency.MainActor(unsafe) public var messageInputViewBottomConstraint: UIKit.NSLayoutConstraint? @available(*, unavailable) @_Concurrency.MainActor(unsafe) @objc required dynamic public init?(coder: Foundation.NSCoder) @_Concurrency.MainActor(unsafe) @objc override dynamic public init(nibName nibNameOrNil: Swift.String?, bundle nibBundleOrNil: Foundation.Bundle?) @@ -6259,6 +6416,7 @@ extension SendbirdUIKit.SBUMessageSearchViewController { @_Concurrency.MainActor(unsafe) public init(channelURL: Swift.String, startingPoint: Swift.Int64? = nil, messageListParams: SendbirdChatSDK.MessageListParams? = nil, displaysLocalCachedListFirst: Swift.Bool) @_Concurrency.MainActor(unsafe) @objc override dynamic open func loadView() @_Concurrency.MainActor(unsafe) @objc override dynamic open func viewWillAppear(_ animated: Swift.Bool) + @_Concurrency.MainActor(unsafe) @objc override dynamic open func viewDidAppear(_ animated: Swift.Bool) @_Concurrency.MainActor(unsafe) @objc override dynamic open func viewDidLoad() @_Concurrency.MainActor(unsafe) @objc override dynamic open func viewWillDisappear(_ animated: Swift.Bool) @objc @_Concurrency.MainActor(unsafe) open func applicationWillResignActivity() @@ -6279,6 +6437,7 @@ extension SendbirdUIKit.SBUMessageSearchViewController { @objc @_Concurrency.MainActor(unsafe) open func showEmojiListModal(message: SendbirdChatSDK.BaseMessage) @objc @_Concurrency.MainActor(unsafe) public func scrollToMessage(id messageId: Swift.Int64, enablesScrollAnimation: Swift.Bool = false, enablesMessageAnimation: Swift.Bool = false) @objc @_Concurrency.MainActor(unsafe) public func updateNewMessageInfo(hidden: Swift.Bool) + @_Concurrency.MainActor(unsafe) open func openFile(_ fileData: SendbirdUIKit.SBUFileData) @objc @_Concurrency.MainActor(unsafe) open func openFile(fileMessage: SendbirdChatSDK.FileMessage) @objc @discardableResult @_Concurrency.MainActor(unsafe) public func increaseNewMessageCount() -> Swift.Bool @@ -6648,6 +6807,14 @@ extension SendbirdUIKit.SBUChatNotificationChannelModule { @objc @_Concurrency.MainActor(unsafe) public func didSelectRetry() } } +public class SBUMultipleFilesMessageCellParams : SendbirdUIKit.SBUBaseMessageCellParams { + public var multipleFilesMessage: SendbirdChatSDK.MultipleFilesMessage? { + get + } + final public let useReaction: Swift.Bool + public init(message: SendbirdChatSDK.MultipleFilesMessage, hideDateView: Swift.Bool, useMessagePosition: Swift.Bool, groupPosition: SendbirdUIKit.MessageGroupPosition = .none, receiptState: SendbirdUIKit.SBUMessageReceiptState = .none, useReaction: Swift.Bool = false, isThreadMessage: Swift.Bool = false, joinedAt: Swift.Int64 = 0, voiceFileInfo: SendbirdUIKit.SBUVoiceFileInfo? = nil) + @objc deinit +} open class SBUCreateOpenChannelModule { public static var HeaderComponent: SendbirdUIKit.SBUCreateOpenChannelModule.Header.Type public static var ProfileInputComponent: SendbirdUIKit.SBUCreateOpenChannelModule.ProfileInput.Type @@ -6675,6 +6842,7 @@ open class SBUCreateOpenChannelModule { @objc @_Concurrency.MainActor(unsafe) open func updateLayouts() @objc @_Concurrency.MainActor(unsafe) open func setupStyles() @objc @_Concurrency.MainActor(unsafe) open func updateStyles() + @objc @_Concurrency.MainActor(unsafe) open func updateStyles(needsToLayout: Swift.Bool) @objc @_Concurrency.MainActor(unsafe) open func setupNavigationBar(backgroundColor: UIKit.UIColor, shadowColor: UIKit.UIColor) @objc @_Concurrency.MainActor(unsafe) open func onClickBack() @_Concurrency.MainActor(unsafe) open func errorHandler(_ message: Swift.String?, _ code: ObjectiveC.NSInteger? = nil) @@ -6927,8 +7095,20 @@ public class SBUFeedNotificationCellParams : SendbirdUIKit.SBUBaseMessageCellPar public static func isSupportReactions() -> Swift.Bool public static func isSupportOgTag(channelType: SendbirdChatSDK.ChannelType = .group) -> Swift.Bool public static func isSupportMessageSearch() -> Swift.Bool + public static var multipleFilesMessageFileCountLimit: Swift.Int { + get + } + public static var uploadSizeLimitBytes: Swift.Int64 { + get + } + public static var uploadSizeLimitMB: Swift.Int64 { + get + } @objc deinit } +extension UIKit.NSLayoutConstraint { + @_Concurrency.MainActor(unsafe) public static func sbu_activate(baseView: UIKit.UIView, constraints: [UIKit.NSLayoutConstraint?]) +} open class SBUMessageThreadModule { public static var HeaderComponent: SendbirdUIKit.SBUMessageThreadModule.Header.Type public static var ListComponent: SendbirdUIKit.SBUMessageThreadModule.List.Type @@ -7401,6 +7581,7 @@ public protocol SBUGroupChannelModuleListDelegate : SendbirdUIKit.SBUBaseChannel func groupChannelModule(_ listComponent: SendbirdUIKit.SBUGroupChannelModule.List, didTapMoreEmojiForCell messageCell: SendbirdUIKit.SBUBaseMessageCell) func groupChannelModule(_ listComponent: SendbirdUIKit.SBUGroupChannelModule.List, didTapMentionUser user: SendbirdUIKit.SBUUser) func groupChannelModuleDidTapThreadInfoView(_ threadInfoView: SendbirdUIKit.SBUThreadInfoView) + func groupChannelModule(_ listComponent: SendbirdUIKit.SBUGroupChannelModule.List, didSelectFileAt index: Swift.Int, multipleFilesMessageCell: SendbirdUIKit.SBUMultipleFilesMessageCell, forRowAt cellIndexPath: Foundation.IndexPath) } public protocol SBUGroupChannelModuleListDataSource : SendbirdUIKit.SBUBaseChannelModuleListDataSource { func groupChannelModule(_ listComponent: SendbirdUIKit.SBUGroupChannelModule.List, highlightInfoInTableView tableView: UIKit.UITableView) -> SendbirdUIKit.SBUHighlightMessageInfo? @@ -7416,6 +7597,9 @@ extension SendbirdUIKit.SBUGroupChannelModule { @objc @_Concurrency.MainActor(unsafe) public var fileMessageCell: SendbirdUIKit.SBUBaseMessageCell? { get } + @objc @_Concurrency.MainActor(unsafe) public var multipleFilesMessageCell: SendbirdUIKit.SBUBaseMessageCell? { + get + } @objc @_Concurrency.MainActor(unsafe) public var unknownMessageCell: SendbirdUIKit.SBUBaseMessageCell? { get } @@ -7452,6 +7636,7 @@ extension SendbirdUIKit.SBUGroupChannelModule { @objc @_Concurrency.MainActor(unsafe) open func register(adminMessageCell: SendbirdUIKit.SBUBaseMessageCell, nib: UIKit.UINib? = nil) @objc @_Concurrency.MainActor(unsafe) open func register(userMessageCell: SendbirdUIKit.SBUBaseMessageCell, nib: UIKit.UINib? = nil) @objc @_Concurrency.MainActor(unsafe) open func register(fileMessageCell: SendbirdUIKit.SBUBaseMessageCell, nib: UIKit.UINib? = nil) + @objc @_Concurrency.MainActor(unsafe) open func register(multipleFilesMessageCell: SendbirdUIKit.SBUBaseMessageCell, nib: UIKit.UINib? = nil) @objc @_Concurrency.MainActor(unsafe) open func register(unknownMessageCell: SendbirdUIKit.SBUBaseMessageCell, nib: UIKit.UINib? = nil) @objc @_Concurrency.MainActor(unsafe) open func register(customMessageCell: SendbirdUIKit.SBUBaseMessageCell, nib: UIKit.UINib? = nil) @objc @_Concurrency.MainActor(unsafe) open func configureCell(_ messageCell: SendbirdUIKit.SBUBaseMessageCell, message: SendbirdChatSDK.BaseMessage, forRowAt indexPath: Foundation.IndexPath) @@ -7481,6 +7666,7 @@ extension SendbirdUIKit.SBUGroupChannelModule.List { } public protocol SBUGroupChannelModuleInputDelegate : SendbirdUIKit.SBUBaseChannelModuleInputDelegate { func groupChannelModule(_ inputComponent: SendbirdUIKit.SBUGroupChannelModule.Input, didPickFileData fileData: Foundation.Data?, fileName: Swift.String, mimeType: Swift.String, parentMessage: SendbirdChatSDK.BaseMessage?) + func groupChannelModule(_ inputComponent: SendbirdUIKit.SBUGroupChannelModule.Input, didPickMultipleFiles fileInfoList: [SendbirdChatSDK.UploadableFileInfo]?, parentMessage: SendbirdChatSDK.BaseMessage?) func groupChannelModule(_ inputComponent: SendbirdUIKit.SBUGroupChannelModule.Input, didTapSend text: Swift.String, mentionedMessageTemplate: Swift.String, mentionedUserIds: [Swift.String], parentMessage: SendbirdChatSDK.BaseMessage?) func groupChannelModule(_ inputComponent: SendbirdUIKit.SBUGroupChannelModule.Input, didTapEdit text: Swift.String, mentionedMessageTemplate: Swift.String, mentionedUserIds: [Swift.String]) func groupChannelModule(_ inputComponent: SendbirdUIKit.SBUGroupChannelModule.Input, willChangeMode mode: SendbirdUIKit.SBUMessageInputMode, message: SendbirdChatSDK.BaseMessage?, mentionedMessageTemplate: Swift.String, mentionedUserIds: [Swift.String]) @@ -7514,6 +7700,8 @@ extension SendbirdUIKit.SBUGroupChannelModule { @_Concurrency.MainActor(unsafe) @objc override open func setupLayouts() @_Concurrency.MainActor(unsafe) @objc override open func pickImageFile(info: [UIKit.UIImagePickerController.InfoKey : Any]) @_Concurrency.MainActor(unsafe) @objc override open func pickVideoFile(info: [UIKit.UIImagePickerController.InfoKey : Any]) + @objc @available(iOS 14.0, *) + @_Concurrency.MainActor(unsafe) open func pickMultipleImageFiles(itemProviders: [Foundation.NSItemProvider]) @available(iOS 14.0, *) @_Concurrency.MainActor(unsafe) @objc override open func pickImageFile(itemProvider: Foundation.NSItemProvider) @available(iOS 14.0, *) @@ -7744,6 +7932,27 @@ public enum SBUIconSetType : Swift.String, Swift.Hashable { case iconPause case iconRecording case iconStop + public struct Metric { + public static let defaultIconSizeVerySmall: CoreFoundation.CGSize + public static let defaultIconSizeSmall: CoreFoundation.CGSize + public static let defaultIconSizeMedium: CoreFoundation.CGSize + public static let defaultIconSize: CoreFoundation.CGSize + public static let defaultIconSizeLarge: CoreFoundation.CGSize + public static let defaultIconSizeVeryLarge: CoreFoundation.CGSize + public static let quotedMessageIconSize: CoreFoundation.CGSize + public static let iconActionSheetItem: CoreFoundation.CGSize + public static let iconEmojiSmall: CoreFoundation.CGSize + public static let iconEmojiLarge: CoreFoundation.CGSize + public static let iconEmptyView: CoreFoundation.CGSize + public static let iconGifPlay: CoreFoundation.CGSize + public static let iconSpinnerLarge: CoreFoundation.CGSize + public static let iconSpinnerSizeForTemplate: CoreFoundation.CGSize + public static let iconUserProfile: CoreFoundation.CGSize + public static let iconUserProfileInChat: CoreFoundation.CGSize + public static let iconChevronDown: CoreFoundation.CGSize + public static let iconVoiceMessageSize: CoreFoundation.CGSize + } + public func image(with tintColor: UIKit.UIColor? = nil, to size: CoreFoundation.CGSize, tintAndResize: Swift.Bool = true) -> UIKit.UIImage public init?(rawValue: Swift.String) public typealias RawValue = Swift.String public var rawValue: Swift.String { @@ -7934,28 +8143,6 @@ open class SBUInviteUserModule { required public init(headerComponent: SendbirdUIKit.SBUInviteUserModule.Header? = nil, listComponent: SendbirdUIKit.SBUInviteUserModule.List? = nil) @objc deinit } -@objc @_hasMissingDesignatedInitializers @_Concurrency.MainActor(unsafe) public class SBUPaddingLabel : UIKit.UILabel { - @_Concurrency.MainActor(unsafe) public var top: CoreFoundation.CGFloat { - get - } - @_Concurrency.MainActor(unsafe) public var bottom: CoreFoundation.CGFloat { - get - } - @_Concurrency.MainActor(unsafe) public var leading: CoreFoundation.CGFloat { - get - } - @_Concurrency.MainActor(unsafe) public var trailing: CoreFoundation.CGFloat { - get - } - @_Concurrency.MainActor(unsafe) convenience public init(_ all: CoreFoundation.CGFloat) - @_Concurrency.MainActor(unsafe) convenience public init(_ vertical: CoreFoundation.CGFloat, _ horizontal: CoreFoundation.CGFloat) - @_Concurrency.MainActor(unsafe) public init(_ top: CoreFoundation.CGFloat = 0, _ bottom: CoreFoundation.CGFloat = 0, _ leading: CoreFoundation.CGFloat = 0, _ trailing: CoreFoundation.CGFloat = 0) - @_Concurrency.MainActor(unsafe) @objc override dynamic public func drawText(in rect: CoreFoundation.CGRect) - @_Concurrency.MainActor(unsafe) @objc override dynamic public var intrinsicContentSize: CoreFoundation.CGSize { - @objc get - } - @objc deinit -} @objc @_inheritsConvenienceInitializers @IBDesignable @_Concurrency.MainActor(unsafe) open class SBUUserMessageCell : SendbirdUIKit.SBUContentBaseMessageCell, SendbirdUIKit.SBUUserMessageTextViewDelegate { @objc @_Concurrency.MainActor(unsafe) public var messageTextView: UIKit.UIView { @objc get @@ -8309,6 +8496,7 @@ public protocol SBUMessageThreadViewControllerDelegate : AnyObject { @_Concurrency.MainActor(unsafe) @objc override dynamic open func viewWillAppear(_ animated: Swift.Bool) @_Concurrency.MainActor(unsafe) @objc override dynamic open func viewDidLoad() @_Concurrency.MainActor(unsafe) @objc override dynamic open func viewWillDisappear(_ animated: Swift.Bool) + @_Concurrency.MainActor(unsafe) @objc override dynamic open func viewWillTransition(to size: CoreFoundation.CGSize, with coordinator: UIKit.UIViewControllerTransitionCoordinator) @_Concurrency.MainActor(unsafe) @objc override open func applicationWillResignActivity() @_Concurrency.MainActor(unsafe) @objc override open func willPresentSubview() @objc deinit @@ -8316,11 +8504,14 @@ public protocol SBUMessageThreadViewControllerDelegate : AnyObject { @_Concurrency.MainActor(unsafe) @objc override open func setupViews() @_Concurrency.MainActor(unsafe) @objc override open func setupLayouts() @_Concurrency.MainActor(unsafe) @objc override open func setupStyles() + @_Concurrency.MainActor(unsafe) @objc override open func updateStyles(needsToLayout: Swift.Bool) @_Concurrency.MainActor(unsafe) @objc override open func updateStyles() @objc @_Concurrency.MainActor(unsafe) public func moveToParentMessage() @discardableResult @_Concurrency.MainActor(unsafe) @objc override public func increaseNewMessageCount() -> Swift.Bool @_Concurrency.MainActor(unsafe) @objc override public func updateChannelTitle() + @available(iOS 14, *) + @_Concurrency.MainActor(unsafe) override open func picker(_ picker: PhotosUI.PHPickerViewController, didFinishPicking results: [PhotosUI.PHPickerResult]) @_Concurrency.MainActor(unsafe) @objc override open func showVoiceMessageInput() @_Concurrency.MainActor(unsafe) @objc override open func dismissVoiceMessageInput() @_Concurrency.MainActor(unsafe) @objc override open func resetVoiceMessageInput(for resignActivity: Swift.Bool = false) @@ -8328,6 +8519,7 @@ public protocol SBUMessageThreadViewControllerDelegate : AnyObject { @objc @_Concurrency.MainActor(unsafe) open func messageThreadViewModel(_ viewModel: SendbirdUIKit.SBUMessageThreadViewModel, didLoadParentMessage parentMessage: SendbirdChatSDK.BaseMessage?) @objc @_Concurrency.MainActor(unsafe) public func messageThreadViewModel(_ viewModel: SendbirdUIKit.SBUMessageThreadViewModel, didUpdateParentMessage parentMessage: SendbirdChatSDK.BaseMessage?) @objc @_Concurrency.MainActor(unsafe) open func messageThreadViewModelShouldDismissMessageThread(_ viewModel: SendbirdUIKit.SBUMessageThreadViewModel) + @objc @_Concurrency.MainActor(unsafe) public func messageThreadViewModel(_ viewModel: SendbirdUIKit.SBUMessageThreadViewModel, didFinishUploadingFileAt index: Swift.Int, multipleFilesMessageRequestId requestId: Swift.String) @_Concurrency.MainActor(unsafe) @objc override open func baseChannelModule(_ headerComponent: SendbirdUIKit.SBUBaseChannelModule.Header, didUpdateTitleView titleView: UIKit.UIView?) @_Concurrency.MainActor(unsafe) @objc override open func baseChannelModule(_ headerComponent: SendbirdUIKit.SBUBaseChannelModule.Header, didTapTitleView titleView: UIKit.UIView?) @_Concurrency.MainActor(unsafe) @objc override open func baseChannelModule(_ headerComponent: SendbirdUIKit.SBUBaseChannelModule.Header, didTapLeftItem leftItem: UIKit.UIBarButtonItem) @@ -8335,11 +8527,14 @@ public protocol SBUMessageThreadViewControllerDelegate : AnyObject { @objc @_Concurrency.MainActor(unsafe) open func messageThreadModule(_ listComponent: SendbirdUIKit.SBUMessageThreadModule.List, didLongTapEmoji emojiKey: Swift.String, messageCell: SendbirdUIKit.SBUBaseMessageCell) @objc @_Concurrency.MainActor(unsafe) open func messageThreadModule(_ listComponent: SendbirdUIKit.SBUMessageThreadModule.List, didTapMoreEmojiForCell messageCell: SendbirdUIKit.SBUBaseMessageCell) @objc @_Concurrency.MainActor(unsafe) open func messageThreadModule(_ listComponent: SendbirdUIKit.SBUMessageThreadModule.List, didTapMentionUser user: SendbirdUIKit.SBUUser) + @objc @_Concurrency.MainActor(unsafe) public func messageThreadModule(_ listComponent: SendbirdUIKit.SBUMessageThreadModule.List, didSelectFileAt index: Swift.Int, multipleFilesMessageCell: SendbirdUIKit.SBUMultipleFilesMessageCell, forRowAt cellIndexPath: Foundation.IndexPath) + @objc @_Concurrency.MainActor(unsafe) public func messageThreadModule(_ listComponent: SendbirdUIKit.SBUMessageThreadModule.List, uploadedFileInfo: SendbirdChatSDK.UploadedFileInfo, message: SendbirdChatSDK.MultipleFilesMessage, index: Swift.Int) @_Concurrency.MainActor(unsafe) @objc override open func baseChannelModule(_ listComponent: SendbirdUIKit.SBUBaseChannelModule.List, didScroll scrollView: UIKit.UIScrollView) @_Concurrency.MainActor(unsafe) @objc override open func baseChannelModule(_ listComponent: SendbirdUIKit.SBUBaseChannelModule.List, didTapVoiceMessage fileMessage: SendbirdChatSDK.FileMessage, cell: UIKit.UITableViewCell, forRowAt indexPath: Foundation.IndexPath) @_Concurrency.MainActor(unsafe) @objc override open func baseChannelModule(_ listComponent: SendbirdUIKit.SBUBaseChannelModule.List, willDisplay cell: UIKit.UITableViewCell, forRowAt indexPath: Foundation.IndexPath) @_Concurrency.MainActor(unsafe) @objc override open func baseChannelModule(_ inputComponent: SendbirdUIKit.SBUBaseChannelModule.Input, didUpdateFrozenState isFrozen: Swift.Bool) @objc @_Concurrency.MainActor(unsafe) open func messageThreadModule(_ inputComponent: SendbirdUIKit.SBUMessageThreadModule.Input, didPickFileData fileData: Foundation.Data?, fileName: Swift.String, mimeType: Swift.String, parentMessage: SendbirdChatSDK.BaseMessage?) + @objc @_Concurrency.MainActor(unsafe) public func messageThreadModule(_ inputComponent: SendbirdUIKit.SBUMessageThreadModule.Input, didPickMultipleFiles fileInfoList: [SendbirdChatSDK.UploadableFileInfo], parentMessage: SendbirdChatSDK.BaseMessage) @objc @_Concurrency.MainActor(unsafe) open func messageThreadModule(_ inputComponent: SendbirdUIKit.SBUMessageThreadModule.Input, didTapSend text: Swift.String, mentionedMessageTemplate: Swift.String, mentionedUserIds: [Swift.String], parentMessage: SendbirdChatSDK.BaseMessage?) @objc @_Concurrency.MainActor(unsafe) open func messageThreadModule(_ inputComponent: SendbirdUIKit.SBUMessageThreadModule.Input, didTapEdit text: Swift.String, mentionedMessageTemplate: Swift.String, mentionedUserIds: [Swift.String]) @objc @_Concurrency.MainActor(unsafe) open func messageThreadModule(_ inputComponent: SendbirdUIKit.SBUMessageThreadModule.Input, willChangeMode mode: SendbirdUIKit.SBUMessageInputMode, message: SendbirdChatSDK.BaseMessage?, mentionedMessageTemplate: Swift.String, mentionedUserIds: [Swift.String]) @@ -8364,6 +8559,8 @@ public typealias SBUFileViewerDelegate = SendbirdUIKit.SBUFileViewControllerDele public protocol SBUFileViewControllerDelegate : AnyObject { func didSelectDeleteImage(message: SendbirdChatSDK.FileMessage) } +public struct SBUFileData { +} @objc @_Concurrency.MainActor(unsafe) open class SBUFileViewController : SendbirdUIKit.SBUBaseViewController, UIKit.UIScrollViewDelegate, SendbirdUIKit.SBUAlertViewDelegate { @objc @_Concurrency.MainActor(unsafe) public var leftBarButton: UIKit.UIBarButtonItem? { @objc get @@ -8386,7 +8583,9 @@ public protocol SBUFileViewControllerDelegate : AnyObject { @objc set } @objc @_Concurrency.MainActor(unsafe) public var bottomView: UIKit.UIView - @_Concurrency.MainActor(unsafe) required public init(fileMessage: SendbirdChatSDK.FileMessage, delegate: SendbirdUIKit.SBUFileViewControllerDelegate?) + @_Concurrency.MainActor(unsafe) required convenience public init(fileMessage: SendbirdChatSDK.FileMessage, delegate: SendbirdUIKit.SBUFileViewControllerDelegate?) + @_Concurrency.MainActor(unsafe) required public init(fileData: SendbirdUIKit.SBUFileData, delegate: SendbirdUIKit.SBUFileViewControllerDelegate?) + @available(*, unavailable, renamed: "init(params:delegate:)") @_Concurrency.MainActor(unsafe) @objc required dynamic public init?(coder: Foundation.NSCoder) @_Concurrency.MainActor(unsafe) @objc override dynamic open func viewDidLoad() @_Concurrency.MainActor(unsafe) @objc override dynamic open func viewWillAppear(_ animated: Swift.Bool) @@ -9050,7 +9249,7 @@ public class SBUMessageCellTheme { public static var overlay: SendbirdUIKit.SBUMessageCellTheme { get } - public init(backgroundColor: UIKit.UIColor = SBUColorSet.background50, leftBackgroundColor: UIKit.UIColor = SBUColorSet.background100, leftPressedBackgroundColor: UIKit.UIColor = SBUColorSet.primary100, rightBackgroundColor: UIKit.UIColor = SBUColorSet.primary300, rightPressedBackgroundColor: UIKit.UIColor = SBUColorSet.primary400, openChannelBackgroundColor: UIKit.UIColor = .clear, openChannelPressedBackgroundColor: UIKit.UIColor = SBUColorSet.background100, dateFont: UIKit.UIFont = SBUFontSet.caption1, dateTextColor: UIKit.UIColor = SBUColorSet.ondark01, dateBackgroundColor: UIKit.UIColor = SBUColorSet.overlay02, userPlaceholderBackgroundColor: UIKit.UIColor = SBUColorSet.background300, userPlaceholderTintColor: UIKit.UIColor = SBUColorSet.ondark01, userNameFont: UIKit.UIFont = SBUFontSet.caption1, userNameTextColor: UIKit.UIColor = SBUColorSet.onlight02, currentUserNameTextColor: UIKit.UIColor = SBUColorSet.secondary300, timeFont: UIKit.UIFont = SBUFontSet.caption4, timeTextColor: UIKit.UIColor = SBUColorSet.onlight03, pendingStateColor: UIKit.UIColor = SBUColorSet.primary300, failedStateColor: UIKit.UIColor = SBUColorSet.error300, succeededStateColor: UIKit.UIColor = SBUColorSet.onlight03, readReceiptStateColor: UIKit.UIColor = SBUColorSet.secondary300, deliveryReceiptStateColor: UIKit.UIColor = SBUColorSet.onlight03, userMessageFont: UIKit.UIFont = SBUFontSet.body3, userMessageLeftTextColor: UIKit.UIColor = SBUColorSet.onlight01, userMessageLeftEditTextColor: UIKit.UIColor = SBUColorSet.onlight02, userMessageLeftHighlightTextColor: UIKit.UIColor = SBUColorSet.onlight01, userMessageRightTextColor: UIKit.UIColor = SBUColorSet.ondark01, userMessageRightEditTextColor: UIKit.UIColor = SBUColorSet.ondark02, userMessageRightHighlightTextColor: UIKit.UIColor = SBUColorSet.onlight01, fileIconBackgroundColor: UIKit.UIColor = SBUColorSet.background50, fileImageBackgroundColor: UIKit.UIColor = SBUColorSet.ondark01, fileImageIconColor: UIKit.UIColor = SBUColorSet.onlight02, fileIconColor: UIKit.UIColor = SBUColorSet.primary300, fileMessageNameFont: UIKit.UIFont = SBUFontSet.body3, fileMessageLeftTextColor: UIKit.UIColor = SBUColorSet.onlight01, fileMessageRightTextColor: UIKit.UIColor = SBUColorSet.ondark01, fileMessagePlaceholderColor: UIKit.UIColor = SBUColorSet.onlight02, adminMessageFont: UIKit.UIFont = SBUFontSet.caption2, adminMessageTextColor: UIKit.UIColor = SBUColorSet.onlight02, unknownMessageDescFont: UIKit.UIFont = SBUFontSet.body3, unknownMessageDescLeftTextColor: UIKit.UIColor = SBUColorSet.onlight02, unknownMessageDescRightTextColor: UIKit.UIColor = SBUColorSet.ondark02, ogTitleFont: UIKit.UIFont = SBUFontSet.body2, ogTitleColor: UIKit.UIColor = SBUColorSet.onlight01, ogDescriptionFont: UIKit.UIFont = SBUFontSet.caption2, ogDescriptionColor: UIKit.UIColor = SBUColorSet.onlight01, ogURLAddressFont: UIKit.UIFont = SBUFontSet.caption2, ogURLAddressColor: UIKit.UIColor = SBUColorSet.onlight02, openChannelOGTitleColor: UIKit.UIColor = SBUColorSet.primary300, linkColor: UIKit.UIColor = SBUColorSet.primary300, contentBackgroundColor: UIKit.UIColor = SBUColorSet.background100, pressedContentBackgroundColor: UIKit.UIColor = SBUColorSet.background300, quotedMessageLeftBackgroundColor: UIKit.UIColor = SBUColorSet.background100.withAlphaComponent(0.5), quotedMessageRightBackgroundColor: UIKit.UIColor = SBUColorSet.background100, quotedFileMessageThumbnailColor: UIKit.UIColor = SBUColorSet.onlight02, quotedMessageTextColor: UIKit.UIColor = SBUColorSet.onlight03, quotedMessageTextFont: UIKit.UIFont = SBUFontSet.body3, repliedIconColor: UIKit.UIColor = SBUColorSet.onlight03, repliedToTextColor: UIKit.UIColor = SBUColorSet.onlight03, repliedToTextFont: UIKit.UIFont = SBUFontSet.caption1, repliedCountTextColor: UIKit.UIColor = SBUColorSet.primary300, repliedCountTextFont: UIKit.UIFont = SBUFontSet.caption3, repliedUsersMoreIconBackgroundColor: UIKit.UIColor = SBUColorSet.background700.withAlphaComponent(0.64), repliedUsersMoreIconTintColor: UIKit.UIColor = SBUColorSet.ondark01, mentionTextFont: UIKit.UIFont = SBUFontSet.body4, mentionLeftTextColor: UIKit.UIColor = SBUColorSet.onlight01, mentionRightTextColor: UIKit.UIColor = SBUColorSet.ondark01, mentionLeftTextBackgroundColor: UIKit.UIColor = .clear, mentionRightTextBackgroundColor: UIKit.UIColor = .clear, buttonBackgroundColor: UIKit.UIColor = SBUColorSet.background200, buttonTitleColor: UIKit.UIColor = SBUColorSet.primary300, sideButtonIconColor: UIKit.UIColor = SBUColorSet.onlight03, newMessageBadgeColor: UIKit.UIColor = SBUColorSet.secondary300, parentInfoBackgroundColor: UIKit.UIColor = SBUColorSet.background50, parentInfoUserNameTextFont: UIKit.UIFont = SBUFontSet.h3, parentInfoUserNameTextColor: UIKit.UIColor = SBUColorSet.onlight01, parentInfoDateFont: UIKit.UIFont = SBUFontSet.caption2, parentInfoDateTextColor: UIKit.UIColor = SBUColorSet.onlight03, parentInfoMoreButtonTintColor: UIKit.UIColor = SBUColorSet.onlight02, parentInfoSeparateBarColor: UIKit.UIColor = SBUColorSet.onlight04, parentInfoReplyCountTextColor: UIKit.UIColor = SBUColorSet.onlight03, parentInfoReplyCountTextFont: UIKit.UIFont = SBUFontSet.body3, parentInfoProgressBackgroundColor: UIKit.UIColor = SBUColorSet.background100, progressTrackTintColor: UIKit.UIColor = SBUColorSet.onlight03, progressTimeFont: UIKit.UIFont = SBUFontSet.body3, progressTimeRightTextColor: UIKit.UIColor = SBUColorSet.ondark01, progressTimeLeftTextColor: UIKit.UIColor = SBUColorSet.onlight01, statusButtonBackgroundColor: UIKit.UIColor = SBUColorSet.background50, loadingButtonTintColor: UIKit.UIColor = SBUColorSet.primary200, playButtonTintColor: UIKit.UIColor = SBUColorSet.primary300, pauseButtonTintColor: UIKit.UIColor = SBUColorSet.primary300) + public init(backgroundColor: UIKit.UIColor = SBUColorSet.background50, leftBackgroundColor: UIKit.UIColor = SBUColorSet.background100, leftPressedBackgroundColor: UIKit.UIColor = SBUColorSet.primary100, rightBackgroundColor: UIKit.UIColor = SBUColorSet.primary300, rightPressedBackgroundColor: UIKit.UIColor = SBUColorSet.primary400, openChannelBackgroundColor: UIKit.UIColor = .clear, openChannelPressedBackgroundColor: UIKit.UIColor = SBUColorSet.background100, dateFont: UIKit.UIFont = SBUFontSet.caption1, dateTextColor: UIKit.UIColor = SBUColorSet.ondark01, dateBackgroundColor: UIKit.UIColor = SBUColorSet.overlay02, userPlaceholderBackgroundColor: UIKit.UIColor = SBUColorSet.background300, userPlaceholderTintColor: UIKit.UIColor = SBUColorSet.ondark01, userNameFont: UIKit.UIFont = SBUFontSet.caption1, userNameTextColor: UIKit.UIColor = SBUColorSet.onlight02, currentUserNameTextColor: UIKit.UIColor = SBUColorSet.secondary300, timeFont: UIKit.UIFont = SBUFontSet.caption4, timeTextColor: UIKit.UIColor = SBUColorSet.onlight03, pendingStateColor: UIKit.UIColor = SBUColorSet.primary300, failedStateColor: UIKit.UIColor = SBUColorSet.error300, succeededStateColor: UIKit.UIColor = SBUColorSet.onlight03, readReceiptStateColor: UIKit.UIColor = SBUColorSet.secondary300, deliveryReceiptStateColor: UIKit.UIColor = SBUColorSet.onlight03, userMessageFont: UIKit.UIFont = SBUFontSet.body3, userMessageLeftTextColor: UIKit.UIColor = SBUColorSet.onlight01, userMessageLeftEditTextColor: UIKit.UIColor = SBUColorSet.onlight02, userMessageLeftHighlightTextColor: UIKit.UIColor = SBUColorSet.onlight01, userMessageRightTextColor: UIKit.UIColor = SBUColorSet.ondark01, userMessageRightEditTextColor: UIKit.UIColor = SBUColorSet.ondark02, userMessageRightHighlightTextColor: UIKit.UIColor = SBUColorSet.onlight01, fileIconBackgroundColor: UIKit.UIColor = SBUColorSet.background50, fileImageBackgroundColor: UIKit.UIColor = SBUColorSet.ondark01, fileImageIconColor: UIKit.UIColor = SBUColorSet.onlight02, fileIconColor: UIKit.UIColor = SBUColorSet.primary300, fileMessageNameFont: UIKit.UIFont = SBUFontSet.body3, fileMessageLeftTextColor: UIKit.UIColor = SBUColorSet.onlight01, fileMessageRightTextColor: UIKit.UIColor = SBUColorSet.ondark01, fileMessagePlaceholderColor: UIKit.UIColor = SBUColorSet.onlight02, adminMessageFont: UIKit.UIFont = SBUFontSet.caption2, adminMessageTextColor: UIKit.UIColor = SBUColorSet.onlight02, unknownMessageDescFont: UIKit.UIFont = SBUFontSet.body3, unknownMessageDescLeftTextColor: UIKit.UIColor = SBUColorSet.onlight02, unknownMessageDescRightTextColor: UIKit.UIColor = SBUColorSet.ondark02, ogTitleFont: UIKit.UIFont = SBUFontSet.body2, ogTitleColor: UIKit.UIColor = SBUColorSet.onlight01, ogDescriptionFont: UIKit.UIFont = SBUFontSet.caption2, ogDescriptionColor: UIKit.UIColor = SBUColorSet.onlight01, ogURLAddressFont: UIKit.UIFont = SBUFontSet.caption2, ogURLAddressColor: UIKit.UIColor = SBUColorSet.onlight02, openChannelOGTitleColor: UIKit.UIColor = SBUColorSet.primary300, linkColor: UIKit.UIColor = SBUColorSet.primary300, contentBackgroundColor: UIKit.UIColor = SBUColorSet.background100, pressedContentBackgroundColor: UIKit.UIColor = SBUColorSet.background300, quotedMessageLeftBackgroundColor: UIKit.UIColor = SBUColorSet.background100.withAlphaComponent(0.5), quotedMessageRightBackgroundColor: UIKit.UIColor = SBUColorSet.background100, quotedFileMessageThumbnailColor: UIKit.UIColor = SBUColorSet.onlight02, quotedMessageTextColor: UIKit.UIColor = SBUColorSet.onlight03, quotedMessageTextFont: UIKit.UIFont = SBUFontSet.body3, repliedIconColor: UIKit.UIColor = SBUColorSet.onlight03, repliedToTextColor: UIKit.UIColor = SBUColorSet.onlight03, repliedToTextFont: UIKit.UIFont = SBUFontSet.caption1, repliedCountTextColor: UIKit.UIColor = SBUColorSet.primary300, repliedCountTextFont: UIKit.UIFont = SBUFontSet.caption3, repliedUsersMoreIconBackgroundColor: UIKit.UIColor = SBUColorSet.background700.withAlphaComponent(0.64), repliedUsersMoreIconTintColor: UIKit.UIColor = SBUColorSet.ondark01, mentionTextFont: UIKit.UIFont = SBUFontSet.body4, mentionLeftTextColor: UIKit.UIColor = SBUColorSet.onlight01, mentionRightTextColor: UIKit.UIColor = SBUColorSet.ondark01, mentionLeftTextBackgroundColor: UIKit.UIColor = .clear, mentionRightTextBackgroundColor: UIKit.UIColor = .clear, buttonBackgroundColor: UIKit.UIColor = SBUColorSet.background200, buttonTitleColor: UIKit.UIColor = SBUColorSet.primary300, sideButtonIconColor: UIKit.UIColor = SBUColorSet.onlight03, newMessageBadgeColor: UIKit.UIColor = SBUColorSet.secondary300, parentInfoBackgroundColor: UIKit.UIColor = SBUColorSet.background50, parentInfoUserNameTextFont: UIKit.UIFont = SBUFontSet.h3, parentInfoUserNameTextColor: UIKit.UIColor = SBUColorSet.onlight01, parentInfoDateFont: UIKit.UIFont = SBUFontSet.caption2, parentInfoDateTextColor: UIKit.UIColor = SBUColorSet.onlight03, parentInfoMoreButtonTintColor: UIKit.UIColor = SBUColorSet.onlight02, parentInfoSeparateBarColor: UIKit.UIColor = SBUColorSet.onlight04, parentInfoReplyCountTextColor: UIKit.UIColor = SBUColorSet.onlight03, parentInfoReplyCountTextFont: UIKit.UIFont = SBUFontSet.body3, parentInfoProgressBackgroundColor: UIKit.UIColor = SBUColorSet.background100, progressTrackTintColor: UIKit.UIColor = SBUColorSet.onlight03, progressTimeFont: UIKit.UIFont = SBUFontSet.body3, progressTimeRightTextColor: UIKit.UIColor = SBUColorSet.ondark01, progressTimeLeftTextColor: UIKit.UIColor = SBUColorSet.onlight01, statusButtonBackgroundColor: UIKit.UIColor = SBUColorSet.background50, loadingButtonTintColor: UIKit.UIColor = SBUColorSet.primary200, playButtonTintColor: UIKit.UIColor = SBUColorSet.primary300, pauseButtonTintColor: UIKit.UIColor = SBUColorSet.primary300, multipleFilesMessageFileOverlayColor: UIKit.UIColor = SBUColorSet.overlay02) public var backgroundColor: UIKit.UIColor public var leftBackgroundColor: UIKit.UIColor public var leftPressedBackgroundColor: UIKit.UIColor @@ -9088,6 +9287,7 @@ public class SBUMessageCellTheme { public var fileMessageLeftTextColor: UIKit.UIColor public var fileMessageRightTextColor: UIKit.UIColor public var fileMessagePlaceholderColor: UIKit.UIColor + public var multipleFilesMessageFileOverlayColor: UIKit.UIColor public var adminMessageFont: UIKit.UIFont public var adminMessageTextColor: UIKit.UIColor public var unknownMessageDescFont: UIKit.UIFont @@ -9488,8 +9688,8 @@ public class SBUMessageTemplateTheme { @objc @_inheritsConvenienceInitializers @_Concurrency.MainActor(unsafe) open class SBUImageContentView : SendbirdUIKit.SBUBaseFileContentView { @_Concurrency.MainActor(unsafe) public var imageView: UIKit.UIImageView @_Concurrency.MainActor(unsafe) public var iconImageView: UIKit.UIImageView - @_Concurrency.MainActor(unsafe) public var widthConstraint: UIKit.NSLayoutConstraint! - @_Concurrency.MainActor(unsafe) public var heightConstraint: UIKit.NSLayoutConstraint! + @_Concurrency.MainActor(unsafe) public var widthConstraint: UIKit.NSLayoutConstraint? + @_Concurrency.MainActor(unsafe) public var heightConstraint: UIKit.NSLayoutConstraint? @_Concurrency.MainActor(unsafe) @objc override dynamic open func setupViews() @_Concurrency.MainActor(unsafe) @objc override dynamic open func setupLayouts() @_Concurrency.MainActor(unsafe) open func setupSizeContraint() @@ -9578,14 +9778,16 @@ public protocol SBUUserMessageTextViewDelegate : AnyObject { @_Concurrency.MainActor(unsafe) public var textView: SendbirdUIKit.SBULinkClickableTextView @_Concurrency.MainActor(unsafe) public var channelType: SendbirdChatSDK.ChannelType @_Concurrency.MainActor(unsafe) public var isWebType: Swift.Bool - @_Concurrency.MainActor(unsafe) public var textLeftConstraint: UIKit.NSLayoutConstraint! - @_Concurrency.MainActor(unsafe) public var textRightConstraint: UIKit.NSLayoutConstraint! @_Concurrency.MainActor(unsafe) public var mentionManager: SendbirdUIKit.SBUMentionManager? @_Concurrency.MainActor(unsafe) public var removeMargin: Swift.Bool @_Concurrency.MainActor(unsafe) public var needsToRemoveMargin: Swift.Bool { get } @_Concurrency.MainActor(unsafe) weak public var delegate: SendbirdUIKit.SBUUserMessageTextViewDelegate? + @_Concurrency.MainActor(unsafe) public var textTopConstraint: UIKit.NSLayoutConstraint? + @_Concurrency.MainActor(unsafe) public var textBottomConstraint: UIKit.NSLayoutConstraint? + @_Concurrency.MainActor(unsafe) public var textLeftConstraint: UIKit.NSLayoutConstraint? + @_Concurrency.MainActor(unsafe) public var textRightConstraint: UIKit.NSLayoutConstraint? @_Concurrency.MainActor(unsafe) @objc override dynamic public init() @_Concurrency.MainActor(unsafe) @objc override dynamic public init(frame: CoreFoundation.CGRect) @_Concurrency.MainActor(unsafe) public init(channelType: SendbirdChatSDK.ChannelType = .group, removeMargin: Swift.Bool = false) @@ -9959,6 +10161,7 @@ public protocol SBUMessageThreadViewModelDelegate : SendbirdUIKit.SBUBaseChannel func messageThreadViewModel(_ viewModel: SendbirdUIKit.SBUMessageThreadViewModel, didLoadParentMessage parentMessage: SendbirdChatSDK.BaseMessage?) func messageThreadViewModel(_ viewModel: SendbirdUIKit.SBUMessageThreadViewModel, didUpdateParentMessage parentMessage: SendbirdChatSDK.BaseMessage?) func messageThreadViewModelShouldDismissMessageThread(_ viewModel: SendbirdUIKit.SBUMessageThreadViewModel) + func messageThreadViewModel(_ viewModel: SendbirdUIKit.SBUMessageThreadViewModel, didFinishUploadingFileAt index: Swift.Int, multipleFilesMessageRequestId requestId: Swift.String) } @objc open class SBUMessageThreadViewModel : SendbirdUIKit.SBUBaseChannelViewModel { weak public var delegate: SendbirdUIKit.SBUMessageThreadViewModelDelegate? { @@ -9975,6 +10178,7 @@ public protocol SBUMessageThreadViewModelDelegate : SendbirdUIKit.SBUBaseChannel public var threadedMessageListParams: SendbirdChatSDK.ThreadedMessageListParams { get } + public var sendMultipleFilesMessageCompletionHandler: SendbirdChatSDK.MultipleFilesMessageHandler? public init(channel: SendbirdChatSDK.BaseChannel? = nil, channelURL: Swift.String? = nil, parentMessage: SendbirdChatSDK.BaseMessage? = nil, parentMessageId: Swift.Int64? = 0, threadedMessageListParams: SendbirdChatSDK.ThreadedMessageListParams? = nil, startingPoint: Swift.Int64? = .max, delegate: SendbirdUIKit.SBUMessageThreadViewModelDelegate? = nil, dataSource: SendbirdUIKit.SBUMessageThreadViewModelDataSource? = nil) @objc deinit public func loadChannelAndMessages(channelURL: Swift.String?) @@ -9987,6 +10191,8 @@ public protocol SBUMessageThreadViewModelDelegate : SendbirdUIKit.SBUBaseChannel public func loadPrevMessages(timestamp: Swift.Int64?) override public func loadNextMessages() public func loadBothMessages(timestamp: Swift.Int64?, showIndicator: Swift.Bool) + public func sendMultipleFilesMessage(fileInfoList: [SendbirdChatSDK.UploadableFileInfo], parentMessageId: Swift.Int64) + public func updateMultipleFilesMessageCell(requestId: Swift.String, index: Swift.Int) open func setupSendUserMessageCompletionHandlers() open func setupSendFileMessageCompletionHandlers() override public func sortAllMessageList(needReload: Swift.Bool) @@ -10026,6 +10232,37 @@ extension SendbirdUIKit.SBUMessageThreadViewModel : SendbirdChatSDK.MessageColle @objc dynamic open func messageCollection(_ collection: SendbirdChatSDK.MessageCollection, context: SendbirdChatSDK.MessageContext, updatedChannel channel: SendbirdChatSDK.GroupChannel) @objc dynamic open func messageCollection(_ collection: SendbirdChatSDK.MessageCollection, context: SendbirdChatSDK.MessageContext, deletedChannel channelURL: Swift.String) } +@objc @_inheritsConvenienceInitializers @_Concurrency.MainActor(unsafe) open class SBUMultipleFilesMessageCell : SendbirdUIKit.SBUContentBaseMessageCell, UIKit.UICollectionViewDelegate, UIKit.UICollectionViewDataSource { + @objc @_Concurrency.MainActor(unsafe) public var multipleFilesMessage: SendbirdChatSDK.MultipleFilesMessage? { + @objc get + } + @objc @_Concurrency.MainActor(unsafe) public var containerView: UIKit.UIView + @objc @_Concurrency.MainActor(unsafe) public var collectionView: SendbirdUIKit.SBUMultipleFilesMessageCollectionView { + @objc get + @objc set + } + @objc @_Concurrency.MainActor(unsafe) public var collectionViewHeightConstraint: UIKit.NSLayoutConstraint! { + get + } + @objc @_Concurrency.MainActor(unsafe) public var fileSelectHandler: ((_ fileInfo: SendbirdChatSDK.UploadedFileInfo, _ index: Swift.Int) -> Swift.Void)? + @_Concurrency.MainActor(unsafe) @objc override dynamic open func setupViews() + @_Concurrency.MainActor(unsafe) @objc override dynamic open func setupLayouts() + @_Concurrency.MainActor(unsafe) @objc override dynamic open func setupStyles() + @_Concurrency.MainActor(unsafe) @objc override dynamic open func setupActions() + @_Concurrency.MainActor(unsafe) override open func configure(with configuration: SendbirdUIKit.SBUBaseMessageCellParams) + @_Concurrency.MainActor(unsafe) @objc override dynamic open func setSelected(_ selected: Swift.Bool, animated: Swift.Bool) + @_Concurrency.MainActor(unsafe) @objc override dynamic public init(style: UIKit.UITableViewCell.CellStyle, reuseIdentifier: Swift.String?) + @_Concurrency.MainActor(unsafe) @objc required dynamic public init?(coder: Foundation.NSCoder) + @objc deinit +} +extension SendbirdUIKit.SBUMultipleFilesMessageCell : UIKit.UICollectionViewDelegateFlowLayout { + @_Concurrency.MainActor(unsafe) @objc dynamic open func collectionView(_ collectionView: UIKit.UICollectionView, cellForItemAt indexPath: Foundation.IndexPath) -> UIKit.UICollectionViewCell + @_Concurrency.MainActor(unsafe) @objc dynamic open func collectionView(_ collectionView: UIKit.UICollectionView, numberOfItemsInSection section: Swift.Int) -> Swift.Int + @_Concurrency.MainActor(unsafe) @objc dynamic open func numberOfSections(in collectionView: UIKit.UICollectionView) -> Swift.Int + @_Concurrency.MainActor(unsafe) @objc dynamic open func collectionView(_ collectionView: UIKit.UICollectionView, didSelectItemAt indexPath: Foundation.IndexPath) + @_Concurrency.MainActor(unsafe) @objc dynamic open func collectionView(_ collectionView: UIKit.UICollectionView, layout collectionViewLayout: UIKit.UICollectionViewLayout, sizeForItemAt indexPath: Foundation.IndexPath) -> CoreFoundation.CGSize + @_Concurrency.MainActor(unsafe) @objc override dynamic open func prepareForReuse() +} public protocol SBUUserListModuleHeaderDelegate : SendbirdUIKit.SBUCommonDelegate { func userListModule(_ headerComponent: SendbirdUIKit.SBUUserListModule.Header, didUpdateTitleView titleView: UIKit.UIView?) func userListModule(_ headerComponent: SendbirdUIKit.SBUUserListModule.Header, didUpdateLeftItem leftItem: UIKit.UIBarButtonItem?) @@ -10212,6 +10449,7 @@ public protocol SBUGroupChannelViewModelDataSource : SendbirdUIKit.SBUBaseChanne } public protocol SBUGroupChannelViewModelDelegate : SendbirdUIKit.SBUBaseChannelViewModelDelegate { func groupChannelViewModel(_ viewModel: SendbirdUIKit.SBUGroupChannelViewModel, didReceiveSuggestedMentions members: [SendbirdUIKit.SBUUser]?) + func groupChannelViewModel(_ viewModel: SendbirdUIKit.SBUGroupChannelViewModel, didFinishUploadingFileAt index: Swift.Int, multipleFilesMessageRequestId requestId: Swift.String) } @objc open class SBUGroupChannelViewModel : SendbirdUIKit.SBUBaseChannelViewModel { weak public var delegate: SendbirdUIKit.SBUGroupChannelViewModelDelegate? { @@ -10222,10 +10460,13 @@ public protocol SBUGroupChannelViewModelDelegate : SendbirdUIKit.SBUBaseChannelV get set } + public var sendMultipleFilesMessageCompletionHandler: SendbirdChatSDK.MultipleFilesMessageHandler? public init(channel: SendbirdChatSDK.BaseChannel? = nil, channelURL: Swift.String? = nil, messageListParams: SendbirdChatSDK.MessageListParams? = nil, startingPoint: Swift.Int64? = .max, delegate: SendbirdUIKit.SBUGroupChannelViewModelDelegate? = nil, dataSource: SendbirdUIKit.SBUGroupChannelViewModelDataSource? = nil, displaysLocalCachedListFirst: Swift.Bool = false) @objc deinit override public func loadChannel(channelURL: Swift.String, messageListParams: SendbirdChatSDK.MessageListParams? = nil, completionHandler: ((SendbirdChatSDK.BaseChannel?, SendbirdChatSDK.SBError?) -> Swift.Void)? = nil) override public func refreshChannel() + open func sendMultipleFilesMessage(fileInfoList: [SendbirdChatSDK.UploadableFileInfo]) + open func updateMultipleFilesMessageCell(requestId: Swift.String, index: Swift.Int) override public func loadInitialMessages(startingPoint: Swift.Int64?, showIndicator: Swift.Bool, initialMessages: [SendbirdChatSDK.BaseMessage]?) override public func loadPrevMessages() override public func loadNextMessages() diff --git a/Framework/SendbirdUIKit.xcframework/ios-arm64_x86_64-simulator/SendbirdUIKit.framework/SendbirdUIKit b/Framework/SendbirdUIKit.xcframework/ios-arm64_x86_64-simulator/SendbirdUIKit.framework/SendbirdUIKit index 6d0f43091..21cd27783 100755 Binary files a/Framework/SendbirdUIKit.xcframework/ios-arm64_x86_64-simulator/SendbirdUIKit.framework/SendbirdUIKit and b/Framework/SendbirdUIKit.xcframework/ios-arm64_x86_64-simulator/SendbirdUIKit.framework/SendbirdUIKit differ diff --git a/Framework/SendbirdUIKit.xcframework/ios-arm64_x86_64-simulator/SendbirdUIKit.framework/_CodeSignature/CodeResources b/Framework/SendbirdUIKit.xcframework/ios-arm64_x86_64-simulator/SendbirdUIKit.framework/_CodeSignature/CodeResources index d46abe24c..ad92b7733 100644 --- a/Framework/SendbirdUIKit.xcframework/ios-arm64_x86_64-simulator/SendbirdUIKit.framework/_CodeSignature/CodeResources +++ b/Framework/SendbirdUIKit.xcframework/ios-arm64_x86_64-simulator/SendbirdUIKit.framework/_CodeSignature/CodeResources @@ -10,7 +10,7 @@ Base.xcconfig - n72C5bB9sGnCSHVn6c6djRKhmbU= + 3LMKCvJTneL6sztFzC5PzXPRgoQ= Debug.xcconfig @@ -18,51 +18,51 @@ Headers/SendbirdUIKit-Swift.h - 3MV0g/TJ3eMWlmKrA6ffijZfSjY= + lyHwCm3Ja/jTpTSxenMKgi7BY74= Info.plist - 84Ilk94MNhpjL4BhApqVgUpdgzI= + yzBd4V7524BDi3KnKD5NJ+1+Fq8= Modules/SendbirdUIKit.swiftmodule/arm64-apple-ios-simulator.abi.json - YhGo73KGe+k2gRJygau3DrF4XVI= + httPGzgafv4fB98cvNIZYPQED8I= Modules/SendbirdUIKit.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface - r6yQXfGH7/E5JBJKU0Bi0QRN2PM= + I3mRL4OTyUlK2YuTspo4pmU+Yso= Modules/SendbirdUIKit.swiftmodule/arm64-apple-ios-simulator.swiftdoc - 6IxgEgLJIh2ZRpt3kB122D8yQ40= + Jxj5ll/e7poMVnMuBhc2F2Jp5bQ= Modules/SendbirdUIKit.swiftmodule/arm64-apple-ios-simulator.swiftinterface - r6yQXfGH7/E5JBJKU0Bi0QRN2PM= + I3mRL4OTyUlK2YuTspo4pmU+Yso= Modules/SendbirdUIKit.swiftmodule/arm64-apple-ios-simulator.swiftmodule - 0mOmJIBvxWDRp3vz2fhO7LXRF6c= + 3ZNZYck4kWfJcizNwP2BmHmnHlk= Modules/SendbirdUIKit.swiftmodule/x86_64-apple-ios-simulator.abi.json - YhGo73KGe+k2gRJygau3DrF4XVI= + httPGzgafv4fB98cvNIZYPQED8I= Modules/SendbirdUIKit.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface - C6Ahk0XxpdTz8T+jHhA7Rq96Y8Y= + qi5cWX447v8D8myMnINZziqMAXQ= Modules/SendbirdUIKit.swiftmodule/x86_64-apple-ios-simulator.swiftdoc - JnjM4UmVjfpOTL19mvBeaovafrQ= + Eg86az/lKoS6vGkC3fBuAFgwhd4= Modules/SendbirdUIKit.swiftmodule/x86_64-apple-ios-simulator.swiftinterface - C6Ahk0XxpdTz8T+jHhA7Rq96Y8Y= + qi5cWX447v8D8myMnINZziqMAXQ= Modules/SendbirdUIKit.swiftmodule/x86_64-apple-ios-simulator.swiftmodule - 7zkbRTY64QtdMHaYvvfRnWJVmJg= + LxabNeqrvCkz369RpOXg9iYW0rA= Modules/module.modulemap @@ -98,7 +98,7 @@ hash2 - xN0Gh7FB0cBmSsW7VzrNAGUxMwPHCySiDS2zgSonWxs= + PxmXl7gpBIbf+jOhqtGrGBcJ0zjwhdPjm2P6c5jsrp4= Debug.xcconfig @@ -112,77 +112,77 @@ hash2 - ddvJqa5/9xYBzNjq8QUlIaGBdN1PbEmBUHHHeJz/sak= + NPh4xfUMzi4OzdMm5WZi/g/sqfI3H0+Sc8DlUfssuDA= Modules/SendbirdUIKit.swiftmodule/arm64-apple-ios-simulator.abi.json hash2 - yscqc2lPverm7axzsEpVvCCLc85qbY+HFiAGAPrSNTQ= + nY/ES5t4yyEGn5tdp+jET2YG18W8DO4E4ONCJgQwzhs= Modules/SendbirdUIKit.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface hash2 - hYxf1cm2CUTyl5MXtMzJQIzXLHZDzXKyB23FbT+ieng= + +ZI3JyNdNVXlf4A3hDtzDFWEv872ToLPGUkTqApOAWY= Modules/SendbirdUIKit.swiftmodule/arm64-apple-ios-simulator.swiftdoc hash2 - TPn6AQWcMn9B5ecnLPZSJvAaF5fIqgPa3U/wKy0KeVg= + TwquhXs5Y1W+Z5G5x/pxHN/GwiFJcg5FcoIGJeg5Lmk= Modules/SendbirdUIKit.swiftmodule/arm64-apple-ios-simulator.swiftinterface hash2 - hYxf1cm2CUTyl5MXtMzJQIzXLHZDzXKyB23FbT+ieng= + +ZI3JyNdNVXlf4A3hDtzDFWEv872ToLPGUkTqApOAWY= Modules/SendbirdUIKit.swiftmodule/arm64-apple-ios-simulator.swiftmodule hash2 - 0z4P5S07mBG1PMfGWG1g3u6mZwDtQG0fxhFhs2OCzeo= + VH46h8GIx/K3ByJbEYaSSTKM/wr6NNNIFpnEIDG6cdM= Modules/SendbirdUIKit.swiftmodule/x86_64-apple-ios-simulator.abi.json hash2 - yscqc2lPverm7axzsEpVvCCLc85qbY+HFiAGAPrSNTQ= + nY/ES5t4yyEGn5tdp+jET2YG18W8DO4E4ONCJgQwzhs= Modules/SendbirdUIKit.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface hash2 - kl5O4Gryoq+VwrGBYrB/uEoPf2Fyq2dH6diLwb0pzrw= + whNzKW5a7BP5kX6vKiPmhheTDBeff2qVCxv1jnsxzgU= Modules/SendbirdUIKit.swiftmodule/x86_64-apple-ios-simulator.swiftdoc hash2 - WrJ5AgOjU0xnIYb3iW7NsCHsv5kfIjVYf3vgK41N1Go= + DhnVV1h7GlRYNdI3k6MxAmdqcPDvgRbWXUnfM1rmUbU= Modules/SendbirdUIKit.swiftmodule/x86_64-apple-ios-simulator.swiftinterface hash2 - kl5O4Gryoq+VwrGBYrB/uEoPf2Fyq2dH6diLwb0pzrw= + whNzKW5a7BP5kX6vKiPmhheTDBeff2qVCxv1jnsxzgU= Modules/SendbirdUIKit.swiftmodule/x86_64-apple-ios-simulator.swiftmodule hash2 - ukNKqtLjg9kfjRqMa8zeh///6G+1Gs7MGaicrEWmD1o= + h5jKZKB+tGYt9gsRKgIcYR3QI2tThDhcFbqKmAjiIkM= Modules/module.modulemap diff --git a/Framework/SendbirdUIKit.xcframework/ios-arm64_x86_64-simulator/dSYMs/SendbirdUIKit.framework.dSYM/Contents/Info.plist b/Framework/SendbirdUIKit.xcframework/ios-arm64_x86_64-simulator/dSYMs/SendbirdUIKit.framework.dSYM/Contents/Info.plist index e32ce9998..286f65959 100644 --- a/Framework/SendbirdUIKit.xcframework/ios-arm64_x86_64-simulator/dSYMs/SendbirdUIKit.framework.dSYM/Contents/Info.plist +++ b/Framework/SendbirdUIKit.xcframework/ios-arm64_x86_64-simulator/dSYMs/SendbirdUIKit.framework.dSYM/Contents/Info.plist @@ -13,7 +13,7 @@ CFBundleSignature ???? CFBundleShortVersionString - 3.9.3 + 3.10.0 CFBundleVersion 1 diff --git a/Framework/SendbirdUIKit.xcframework/ios-arm64_x86_64-simulator/dSYMs/SendbirdUIKit.framework.dSYM/Contents/Resources/DWARF/SendbirdUIKit b/Framework/SendbirdUIKit.xcframework/ios-arm64_x86_64-simulator/dSYMs/SendbirdUIKit.framework.dSYM/Contents/Resources/DWARF/SendbirdUIKit index 850598ef6..32fd57f32 100644 Binary files a/Framework/SendbirdUIKit.xcframework/ios-arm64_x86_64-simulator/dSYMs/SendbirdUIKit.framework.dSYM/Contents/Resources/DWARF/SendbirdUIKit and b/Framework/SendbirdUIKit.xcframework/ios-arm64_x86_64-simulator/dSYMs/SendbirdUIKit.framework.dSYM/Contents/Resources/DWARF/SendbirdUIKit differ diff --git a/Sample/QuickStart.xcodeproj/project.pbxproj b/Sample/QuickStart.xcodeproj/project.pbxproj index 9f3f30335..a9659cea3 100644 --- a/Sample/QuickStart.xcodeproj/project.pbxproj +++ b/Sample/QuickStart.xcodeproj/project.pbxproj @@ -7,101 +7,102 @@ objects = { /* Begin PBXBuildFile section */ - 012BFB29CEABDA7C5ED0A425 /* SBUCreateOpenChannelViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = DABA82A7B488D1AD6008864C /* SBUCreateOpenChannelViewController.swift */; }; - 0135DB8E5786F339BD2532F6 /* SBUCreateChannelModule.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7143EB69F12693845BC01588 /* SBUCreateChannelModule.swift */; }; - 02DC2BFBEC78C00C592281A9 /* SBUOpenChannelListModule.List.swift in Sources */ = {isa = PBXBuildFile; fileRef = E13A1EDE172117FBCF139BEC /* SBUOpenChannelListModule.List.swift */; }; - 02E6037D0ACE430068841F27 /* SBUView.Unavaliable.swift in Sources */ = {isa = PBXBuildFile; fileRef = B141AA0571FAF8EF1D9B883B /* SBUView.Unavaliable.swift */; }; - 03458E08AF01892CB90ECAE0 /* Debug.xcconfig in Resources */ = {isa = PBXBuildFile; fileRef = D574FE72290E6EC583B99D66 /* Debug.xcconfig */; }; - 038AC50304982D8406CD98CB /* SBUTheme.Deprecated.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31A18EFAB2584C084DBEC186 /* SBUTheme.Deprecated.swift */; }; - 043EDF52677AE5FA383211C4 /* SBUTableViewCell.Unavailable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0F28CCAEC27339A5B5F51FF4 /* SBUTableViewCell.Unavailable.swift */; }; - 04BB8DA8FAC75CE9B2155E9B /* SBUFileViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 83004DF0A3034678FBA8516F /* SBUFileViewController.swift */; }; - 05C549A97F100D0D26EBC56D /* UIApplication+SBUIKit.swift in Sources */ = {isa = PBXBuildFile; fileRef = F2B4B1EAB22163A3AAA90C83 /* UIApplication+SBUIKit.swift */; }; - 05D4B7AAE12319557F89DA9F /* SBURegisterOperatorModule.Header.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9811062D110DE887A0C4466B /* SBURegisterOperatorModule.Header.swift */; }; - 06537E3B34826FF239650749 /* SBUChatNotificationChannelModule.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5D57AD7439EF92D0DF854B9F /* SBUChatNotificationChannelModule.swift */; }; - 07E9DA60E76170BE0B23796B /* SBUEmojiManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5ED9E7DAE14BD9C70CC1895 /* SBUEmojiManager.swift */; }; - 0875823F48CB95C5D47EE3C4 /* SBUOpenChannelCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 38BCB80D464E70A15832C598 /* SBUOpenChannelCell.swift */; }; - 09EEF2A57B2B72F1C419D3B0 /* SBUUserNameView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 49112AC15EAD725D525F1230 /* SBUUserNameView.swift */; }; - 0B31172D0C5B863116B6C46F /* SBUCoverImageView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 30D4E0D7B109AA3E2167B58B /* SBUCoverImageView.swift */; }; - 0B32D7645513FDE03ABCC8B9 /* SBUGroupChannelViewController.Unavailable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8408E9F2F7E847EB7913A598 /* SBUGroupChannelViewController.Unavailable.swift */; }; - 0B3F3EB1100F1FF133057866 /* SBUCreateChannelViewController.Deprecated.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3BDE4617E24BA79C0402C150 /* SBUCreateChannelViewController.Deprecated.swift */; }; - 0BA93150482D4B9C4E4D1AEC /* String+SBUIKit.swift in Sources */ = {isa = PBXBuildFile; fileRef = 855753F69A93A1BFD9CB308E /* String+SBUIKit.swift */; }; - 0CBDFE2D19F9D6A6C6359D63 /* SBUUserMentionConfiguration.swift in Sources */ = {isa = PBXBuildFile; fileRef = CAC1278BDCB8F07C40417D85 /* SBUUserMentionConfiguration.swift */; }; - 0E19C82EBEAD6D5ABA0E2A65 /* SBUAdminMessageCellParams.swift in Sources */ = {isa = PBXBuildFile; fileRef = 29593EC9A44D9BD8EABFFD60 /* SBUAdminMessageCellParams.swift */; }; - 0E32F2F48C3F189C9958D0CF /* SBUReactionCollectionViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 629E0B3632DCB8FBDA4811FA /* SBUReactionCollectionViewCell.swift */; }; - 0E56037141F157A7D767FC4A /* SBUTheme.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8543F709B0342511683EBFDD /* SBUTheme.swift */; }; - 10BEFAFBE041B3C71353E071 /* SBUOpenChannelSettingsModule.swift in Sources */ = {isa = PBXBuildFile; fileRef = CAEDF1487C43432AB82CA64C /* SBUOpenChannelSettingsModule.swift */; }; - 11DF38C29C1E4FDED9B99017 /* SBUModerationsModule.List.swift in Sources */ = {isa = PBXBuildFile; fileRef = F49064E52F7E7D449381D480 /* SBUModerationsModule.List.swift */; }; - 121946AE8B7E188B80728AAD /* SBUCacheManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = C1D357FE4A972C04F515A56C /* SBUCacheManager.swift */; }; - 12BBE8375FAE33DFEADBFB9B /* SBUBaseChannelSettingCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = B7D8665DE5DCB7623A6D6D97 /* SBUBaseChannelSettingCell.swift */; }; - 12E0A58455F73B2FC183AC08 /* SBUMessageProfileView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 188126982EA50577B581C864 /* SBUMessageProfileView.swift */; }; - 141615DEFF54D0C8AB497C0A /* SBULogger.swift in Sources */ = {isa = PBXBuildFile; fileRef = FD4F038A87E5B087652DCC7A /* SBULogger.swift */; }; - 14428FAA6678421DD95622B7 /* SBUModerationsModule.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5D281E8FD99F8FA369055BC3 /* SBUModerationsModule.swift */; }; - 15C077876ABB7760320DA1C8 /* SBUBaseChannelListModule.swift in Sources */ = {isa = PBXBuildFile; fileRef = 654D2A78226789EF2B51ED5B /* SBUBaseChannelListModule.swift */; }; - 161DF05B16338DC738771FC5 /* SBUNotificationNavigationTitleView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 82E5A3E3CBD88CDDD5E8ACF8 /* SBUNotificationNavigationTitleView.swift */; }; - 1683B2E431F51FEDA6D394DE /* SBUBaseChannelSettingsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 607DB3C3E0E69E7F326A1FCC /* SBUBaseChannelSettingsViewController.swift */; }; - 16C8903ABC4482C0268C07A5 /* SBUIconSet.swift in Sources */ = {isa = PBXBuildFile; fileRef = 02918420CF6F3BC7D604AB71 /* SBUIconSet.swift */; }; - 1880E46C0749A2DF87B41829 /* SBUInviteUserViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA98E233A3F8315346CE75A8 /* SBUInviteUserViewModel.swift */; }; - 19874F8B4EE796828CBEB9DC /* SBUFeedNotificationChannelModule.List.swift in Sources */ = {isa = PBXBuildFile; fileRef = 761886AB5C44F0A9C0B687AB /* SBUFeedNotificationChannelModule.List.swift */; }; - 1A71C7E304FABFE2D636F0F9 /* SBUBaseMessageCellParams.Deprecated.swift in Sources */ = {isa = PBXBuildFile; fileRef = 095114FB20F5761FBC7A923F /* SBUBaseMessageCellParams.Deprecated.swift */; }; - 1ABE25740E71C60AD978992A /* SBUChannelPushSettingCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = B7FA6971DE920695808873C8 /* SBUChannelPushSettingCell.swift */; }; - 1C136B80C4A4AADD4465592D /* SBUUserMessageTextViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 03D0713FF625D33EF8D170A9 /* SBUUserMessageTextViewModel.swift */; }; - 1D6FBDDB8FD94AEC681A4E09 /* SBUBottomSheetController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6A7C40C1B5781760EAD0967A /* SBUBottomSheetController.swift */; }; - 1DAED704268418FE322E0937 /* SBUCreateChannelViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 03B7BCB03795C3D2A03D2956 /* SBUCreateChannelViewModel.swift */; }; - 1DB96CC5A433A16B321BF054 /* SBUInviteUserModule.Header.swift in Sources */ = {isa = PBXBuildFile; fileRef = F9FE01684A7A115BB339D09B /* SBUInviteUserModule.Header.swift */; }; - 1F1349168AB8F0012D06EB53 /* VoiceMessageStatus.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8EE1E71E03C0667497BDBF57 /* VoiceMessageStatus.swift */; }; - 213D7DF99722794B8719461C /* SBUUserListViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6B17CE1D0AECF3EE2234401D /* SBUUserListViewModel.swift */; }; - 222E253F07686B01756A64D3 /* SBUOpenChannelViewController.Unavailable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4537D1E66FF743B2E8F90E2F /* SBUOpenChannelViewController.Unavailable.swift */; }; - 23ECF0A9472F7AE246AC9DCA /* SBUStackView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5C2D8D8F5C7F6E52F0ECBC98 /* SBUStackView.swift */; }; - 24EC228CF98E8B2C0BD3DDAF /* SBUQuoteMessageInputViewProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 208AE575ADF5808FC54CABB2 /* SBUQuoteMessageInputViewProtocol.swift */; }; - 255834EFA20F1E633219B5F1 /* SBUModerationsViewModel.Deprecated.swift in Sources */ = {isa = PBXBuildFile; fileRef = FA4EDE7E2FFAE50FB42338ED /* SBUModerationsViewModel.Deprecated.swift */; }; - 26EE054B72D5237E4FE4162B /* SBUTemplateLabel.swift in Sources */ = {isa = PBXBuildFile; fileRef = D90E2D17F4C7D6A1FDDFCEB6 /* SBUTemplateLabel.swift */; }; - 2A26BA7258793195F32CEAD2 /* SBUMessageCache.swift in Sources */ = {isa = PBXBuildFile; fileRef = F2C4924D75379BB19527C905 /* SBUMessageCache.swift */; }; - 2C2237B69D08380E72A4016D /* SBUQuotedBaseMessageViewParams.Deprecated.swift in Sources */ = {isa = PBXBuildFile; fileRef = 88714172585D3BDF3DCEE08A /* SBUQuotedBaseMessageViewParams.Deprecated.swift */; }; - 2C322F376B71ACAC646A37E8 /* SBUGroupChannelSettingsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = E2610AF6E4372650F36B486F /* SBUGroupChannelSettingsViewController.swift */; }; - 2C34BEC6EA01BEB71D1C52D2 /* SBUGroupChannelListModule.Header.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2E265BF7EE7C154FB6C1109D /* SBUGroupChannelListModule.Header.swift */; }; - 2C94EB08095EF3893357CD80 /* SBUFeedNotificationChannelModule.Header.swift in Sources */ = {isa = PBXBuildFile; fileRef = E89B9D38CD064EC04A9DCE54 /* SBUFeedNotificationChannelModule.Header.swift */; }; - 2C9F2CF3B0676C187862F73E /* SBUUserListModule.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9C00F02DCD75ED88CF5E8F0F /* SBUUserListModule.swift */; }; - 2D109BD070ED9EBEFD2028B5 /* SBUUserMessageCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1282AD0D782800F0F52B61B4 /* SBUUserMessageCell.swift */; }; - 2D57FD07DED76D6D2447CF02 /* SBUQuotedUserMessageView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 19246231B3B1164C62F03F28 /* SBUQuotedUserMessageView.swift */; }; - 2D65EE1B30662DE368F28889 /* SBUBaseChannelViewController.Keyboard.swift in Sources */ = {isa = PBXBuildFile; fileRef = 550CBD045185BE670940D11A /* SBUBaseChannelViewController.Keyboard.swift */; }; - 2DC8879CC54EB5156B53BB3A /* SBUEmptyView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2BB2FBDF7FF64DF79DE9F0BA /* SBUEmptyView.swift */; }; - 2DD5907084D9035A070E1248 /* SBULayoutableButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6783A56D2FA94E934B3C030D /* SBULayoutableButton.swift */; }; - 2E3796F774941ECEBADB2CE0 /* SBUOpenChannelSettingCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = D3C31FF9D7DA80112E0D11BB /* SBUOpenChannelSettingCell.swift */; }; - 2E8DC4917D504E4FF7131D01 /* SBUVoiceMessageInputView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1632B862E1D21A258C27ACE7 /* SBUVoiceMessageInputView.swift */; }; - 2EB859657D80EDB459FE1EDC /* SBUNotificationTimelineView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9677EEA5ABE0AA57B135AC00 /* SBUNotificationTimelineView.swift */; }; - 2ECBE75E1BC51BD7328D4536 /* SBUOpenChannelListModule.Header.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1BB561445C9F2FE2BEE5F599 /* SBUOpenChannelListModule.Header.swift */; }; - 2EFB43181DD1C40BE1B07ABD /* SBUBaseFileContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = CFF29D3C4BEFA6FFB5E944F5 /* SBUBaseFileContentView.swift */; }; - 3051C5169D7B138EC6C95415 /* SBUBaseChannelModule.List.swift in Sources */ = {isa = PBXBuildFile; fileRef = 430B9CB08EA395A6662D27C3 /* SBUBaseChannelModule.List.swift */; }; - 30B057F2C3D7AA65A3B7A1AF /* SBUOpenChannelViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = E15EF47909B9D3727E458FFC /* SBUOpenChannelViewController.swift */; }; - 3199A5E135029C6D349FE165 /* SBUModerationsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 39323FC6B9F3E0B373755861 /* SBUModerationsViewController.swift */; }; - 3289C75E89107D506BF6E847 /* SBUCreateOpenChannelViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5A9652D710593D63AC898C96 /* SBUCreateOpenChannelViewModel.swift */; }; - 32CCE6D42D190B032928F9EF /* SBUMenuView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 508803FC0D11DA2CA63F1C15 /* SBUMenuView.swift */; }; - 33946F91ECC3DC0D69CE6C52 /* SBUImageContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9A68D5CFDFC083C2D88E8B73 /* SBUImageContentView.swift */; }; - 34198B1BCA461AE0EE97187D /* SBUQuoteMessageInputViewParams.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4662F772B446C95169778C32 /* SBUQuoteMessageInputViewParams.swift */; }; - 3519655514FB62B37CFA2A26 /* SBUGlobals.Deprecated.swift in Sources */ = {isa = PBXBuildFile; fileRef = 27CBB28CC5EE27C314F3663E /* SBUGlobals.Deprecated.swift */; }; - 35BB83B72B93F86617A9CEFE /* SBUMessageInputMode.swift in Sources */ = {isa = PBXBuildFile; fileRef = 441822C80A6F374CE841E3DF /* SBUMessageInputMode.swift */; }; - 3600DFA8465CFAF91F4D95E0 /* SBUVoiceMessageConfiguration.swift in Sources */ = {isa = PBXBuildFile; fileRef = B6BD4E2FA4E80BA9DA949A6B /* SBUVoiceMessageConfiguration.swift */; }; - 39BC55EA5C5B35AB81FCE298 /* SBUGroupChannelModule.Header.swift in Sources */ = {isa = PBXBuildFile; fileRef = F210D27FAD685E189567136B /* SBUGroupChannelModule.Header.swift */; }; - 3B1A0423873EE77097AC5A6D /* SBUGroupChannelListModule.List.swift in Sources */ = {isa = PBXBuildFile; fileRef = CA052EA7243194AD37350F8B /* SBUGroupChannelListModule.List.swift */; }; - 3B91C41934E8712214421FE3 /* SBUStringSet.Deprecated.swift in Sources */ = {isa = PBXBuildFile; fileRef = 60383E1ABD029A6AE9410930 /* SBUStringSet.Deprecated.swift */; }; - 3BBAB17BDF58E9BAF7B06528 /* Release.xcconfig in Resources */ = {isa = PBXBuildFile; fileRef = B919890F72713C0B89C24105 /* Release.xcconfig */; }; - 3D45A522EBF3500B7D609EF0 /* MessageTemplateTestViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = EE1462555CDD521DBA7AB414 /* MessageTemplateTestViewController.swift */; }; - 40AC14560BA449478BC52E42 /* SBUParentMessageInfoView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0C1B003D9C91546A8F1EDFA1 /* SBUParentMessageInfoView.swift */; }; - 40D5528C4A7DA11B7EF93D54 /* MessageTemplateParser.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0CE12E7AF6E3C843E1B5AA77 /* MessageTemplateParser.swift */; }; - 40DAB2C24CBB882674602B39 /* SBUModerationsViewController.Deprecated.swift in Sources */ = {isa = PBXBuildFile; fileRef = EBA1734B1229285DCBD00A26 /* SBUModerationsViewController.Deprecated.swift */; }; - 415A3C342ACADECD2907AA1A /* SBUBaseChannelSettingsModule.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1DDD61B2E8A988C6071049F5 /* SBUBaseChannelSettingsModule.swift */; }; - 415DD172065135B9282FD4A0 /* SBURegisterOperatorModule.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1363C242212B9C9EF2C288FC /* SBURegisterOperatorModule.swift */; }; - 41DBC379000F50004ED2E635 /* Date+SBUIKit.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0D81553F184BC6740DBA6ADC /* Date+SBUIKit.swift */; }; - 42522FE7CE88452AEB1982F5 /* SBUGroupChannelModule.swift in Sources */ = {isa = PBXBuildFile; fileRef = E76C3D9C055FD66E21507E68 /* SBUGroupChannelModule.swift */; }; - 440BC8DD1E1FDD6B794D329C /* SBUGroupChannelPushSettingsModule.List.swift in Sources */ = {isa = PBXBuildFile; fileRef = 49FC8E786007678ADAB47102 /* SBUGroupChannelPushSettingsModule.List.swift */; }; - 4447DE9A61C3FD141657A159 /* SBUNavigationTitleView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 07615D837998B1D61C4440BE /* SBUNavigationTitleView.swift */; }; - 451CEE568A052B3B84B7B0FC /* SBUConfig.OpenChannel.swift in Sources */ = {isa = PBXBuildFile; fileRef = A1D9C12F96CE9329316A1575 /* SBUConfig.OpenChannel.swift */; }; - 4615876A685AF5983B5F8C75 /* SBUEmojiListViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BEA156B27CA93D500A2543F2 /* SBUEmojiListViewController.swift */; }; - 46D964118285957EE2848BB6 /* SBUChatNotificationCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 84FDC397F7D21A54D784C440 /* SBUChatNotificationCell.swift */; }; - 47CEAE0F81E3C1C0F034CC10 /* SBUDebouncer.swift in Sources */ = {isa = PBXBuildFile; fileRef = F25185A4FD4D14D668AF741A /* SBUDebouncer.swift */; }; - 48A054AE54DBE04C6DDA25A7 /* UIColor+SBUIKit.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6F1D9BF511F177336100D2A1 /* UIColor+SBUIKit.swift */; }; - 4977525FCE2F9B6BFC548EF3 /* UITextField+SBUIKit.swift in Sources */ = {isa = PBXBuildFile; fileRef = 637655126C24B139457FBB77 /* UITextField+SBUIKit.swift */; }; - 498A1A5D72E4DB2847C5E588 /* SBUNotificationEmptyView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 872E0AA1A1F3E853EF566DAE /* SBUNotificationEmptyView.swift */; }; + 004B14050F8F5D46AEC64F3C /* SBUGroupChannelViewController.Unavailable.swift in Sources */ = {isa = PBXBuildFile; fileRef = F0A6A6002CA898817BA3D422 /* SBUGroupChannelViewController.Unavailable.swift */; }; + 01C5E5781AE61CF95EA4B472 /* SBUModerationsViewModel.Deprecated.swift in Sources */ = {isa = PBXBuildFile; fileRef = AC8C5EE9FA1EB81C7760CEE9 /* SBUModerationsViewModel.Deprecated.swift */; }; + 037F57D59BDFFAF614539374 /* SBUChannelListViewController.Deprecated.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3B68646A3535CBAC305B13D9 /* SBUChannelListViewController.Deprecated.swift */; }; + 03A1CC705C5F3F13C4D057D4 /* SBUCreateChannelViewController.Deprecated.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7DE0BEF0A79519E9A05CF9C4 /* SBUCreateChannelViewController.Deprecated.swift */; }; + 04177AC5C0F57E837459EBF3 /* SBUNotificationEmptyView.swift in Sources */ = {isa = PBXBuildFile; fileRef = CFDF0163F2B5805B3A8D0840 /* SBUNotificationEmptyView.swift */; }; + 043ED68F6B6BC9F1C8D36E05 /* SBUMenuSheetViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 23684E724DB1D70018582732 /* SBUMenuSheetViewController.swift */; }; + 0464DCE37595743E5A3F5DC5 /* SBUMessageThreadViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = D4DF71767F40BF54C94A74E7 /* SBUMessageThreadViewModel.swift */; }; + 04B6A9ED0736959B13708160 /* SBUNotificationNavigationTitleView.swift in Sources */ = {isa = PBXBuildFile; fileRef = AA95606FA1C69E5D483FB41F /* SBUNotificationNavigationTitleView.swift */; }; + 05822070E7825B865BF61B31 /* SBUViewLifeCycle.swift in Sources */ = {isa = PBXBuildFile; fileRef = 167184D6D0FECF6822DD4587 /* SBUViewLifeCycle.swift */; }; + 06030E31165A1E9C380B7E23 /* SBUCollectionViewFlowLayout.swift in Sources */ = {isa = PBXBuildFile; fileRef = AF14E66A310A87E37435A389 /* SBUCollectionViewFlowLayout.swift */; }; + 06280F47C70C64304CE5CB0E /* SBUConfig.GroupChannel.swift in Sources */ = {isa = PBXBuildFile; fileRef = A8AAF7D7223A3DD59089A3BA /* SBUConfig.GroupChannel.swift */; }; + 0749D23EA05CF11274C52AF5 /* SBUUserMessageTextView.swift in Sources */ = {isa = PBXBuildFile; fileRef = D48CCEB1E95D76446330325A /* SBUUserMessageTextView.swift */; }; + 07ABAFD666CF235D2CEC8A28 /* SBUInviteUserModule.swift in Sources */ = {isa = PBXBuildFile; fileRef = E7015E18E0FE284E642B783F /* SBUInviteUserModule.swift */; }; + 08536F121F01664BB5FE41EA /* SBUOpenChannelModule.Header.swift in Sources */ = {isa = PBXBuildFile; fileRef = 725F22ACAD2767BAEB1ECEF2 /* SBUOpenChannelModule.Header.swift */; }; + 091D72174452FC81FA39A9D4 /* MessageTemplateTestViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0378A1F7FC289EBD4FA7F255 /* MessageTemplateTestViewController.swift */; }; + 0978B197B888B03676113A44 /* SBUCacheManager.Template.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5AEEFEFD26ED958E5ADBE255 /* SBUCacheManager.Template.swift */; }; + 0A9B2ACB72756BDC2D03DFDC /* SBUBaseChannelSettingsViewController.Deprecated.swift in Sources */ = {isa = PBXBuildFile; fileRef = D3C6CF3FCBD1266513F0DCB0 /* SBUBaseChannelSettingsViewController.Deprecated.swift */; }; + 0C846DDE5BF9C8ED525EA7E9 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 0C76C69CAAE800570AD9C917 /* Assets.xcassets */; }; + 0CA487059D22B07029A46FD2 /* SBUUserListModule.List.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0FFB8AD8659713F67F88ED9F /* SBUUserListModule.List.swift */; }; + 0CBB1F7583763491C4963928 /* SBUMention.swift in Sources */ = {isa = PBXBuildFile; fileRef = 978AAA6617D43FC61044957E /* SBUMention.swift */; }; + 0CCD9B5C34F86EECD696703B /* SBUUserListModule.Header.swift in Sources */ = {isa = PBXBuildFile; fileRef = DF6D0A8BE54122E8A3164EDE /* SBUUserListModule.Header.swift */; }; + 0D6B77BF517208E5A1E06260 /* SBUChatNotificationChannelModule.Header.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8000CAFCA99993ECE66EB404 /* SBUChatNotificationChannelModule.Header.swift */; }; + 0D6D202F4C873A79F70328DD /* SBUUserMessageCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4284BA78B3D2CA4C4756C820 /* SBUUserMessageCell.swift */; }; + 0DFADE8157E50D809253FCC6 /* SBUBaseChannelSettingsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 85FB7D001BBF3F7C212F8A42 /* SBUBaseChannelSettingsViewController.swift */; }; + 0EC6017D2D2AE03D5B889881 /* SBUMultipleFilesMessageCellParams.swift in Sources */ = {isa = PBXBuildFile; fileRef = DB786B7E7A91CA3934C6EB52 /* SBUMultipleFilesMessageCellParams.swift */; }; + 119E2763F19AD6F84541A87D /* SBUGroupChannelModule.Header.swift in Sources */ = {isa = PBXBuildFile; fileRef = DA778227BAD77593557901EF /* SBUGroupChannelModule.Header.swift */; }; + 11FF5233AD0565BD579B3D17 /* SBUBaseSelectUserModule.Header.swift in Sources */ = {isa = PBXBuildFile; fileRef = C6E38C3D56DF99104BA21A25 /* SBUBaseSelectUserModule.Header.swift */; }; + 1224C7114E58267D43FE075F /* SBURegisterOperatorViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = ED5322A5E79D6AAEC76DE898 /* SBURegisterOperatorViewModel.swift */; }; + 123D85AF52499056FD9491DF /* SBURegisterOperatorViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 93A32C25AFFF84606E8BDDCC /* SBURegisterOperatorViewController.swift */; }; + 136D79E4DDFA3F82B8610F1C /* SBUGroupChannelViewController.Deprecated.swift in Sources */ = {isa = PBXBuildFile; fileRef = E3A1B1E42E8E4FFD73BBB4EF /* SBUGroupChannelViewController.Deprecated.swift */; }; + 13B9C3F0192DE46023B77E33 /* SBUEmptyView.swift in Sources */ = {isa = PBXBuildFile; fileRef = E9057DDF20166EEC6D473003 /* SBUEmptyView.swift */; }; + 13F4EAE7FE53DEA5E3F4CF42 /* SBUParentMessageInfoView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 497C700E3F1C406320F89536 /* SBUParentMessageInfoView.swift */; }; + 145C938EC77EAB5B6B4A7DB7 /* SBUStringSet.Deprecated.swift in Sources */ = {isa = PBXBuildFile; fileRef = B336767F466D2053BB26AD9A /* SBUStringSet.Deprecated.swift */; }; + 14C63BB411D0BD9D6E49B551 /* SBUNewNotificationInfo.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63B32394749FD5356E68A95 /* SBUNewNotificationInfo.swift */; }; + 15B43DF577747CB411FA098B /* SBUCacheManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = B80A8C58160B53D1ED48E015 /* SBUCacheManager.swift */; }; + 164E23B0C5B889E6CFD9E3E8 /* BlockingOperation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9D973191D921C22D6E479D1A /* BlockingOperation.swift */; }; + 16AE40BC79B28B2081294D03 /* SBUOpenChannelListViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3FE33C46DCD930CD16EF1F58 /* SBUOpenChannelListViewModel.swift */; }; + 16EFDCD79BB14CBCD58161AF /* SBUContentBaseMessageCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4B367249B997AFEBBE0BA43E /* SBUContentBaseMessageCell.swift */; }; + 185F4C406B04BC6F62D17F01 /* SBUEnums.swift in Sources */ = {isa = PBXBuildFile; fileRef = D4F5EC3517844E8A496665C7 /* SBUEnums.swift */; }; + 1866D93D11D1E344C9FD0CCC /* SBUCreateOpenChannelModule.ProfileInput.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0312DE5EC31E330F2F07304E /* SBUCreateOpenChannelModule.ProfileInput.swift */; }; + 190A2B9666C74885714338EA /* SBUViewModelDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = B349D6358A11E34E8E06EC40 /* SBUViewModelDelegate.swift */; }; + 193C0ACBEF71991039943646 /* SBUModuleSet.Deprecated.swift in Sources */ = {isa = PBXBuildFile; fileRef = B5C5EB69D93EBEF8686D765C /* SBUModuleSet.Deprecated.swift */; }; + 194F54868405E3407EFCBAD6 /* SBUFileViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = FBBE9D5EF8F8BC7B4815603B /* SBUFileViewController.swift */; }; + 199AB213678907C77DD2AE13 /* SBUBaseChannelListModule.Header.swift in Sources */ = {isa = PBXBuildFile; fileRef = F2B19D668566F4A23808664F /* SBUBaseChannelListModule.Header.swift */; }; + 1ACC1C80EA2C2A38566E52CD /* SBUChatNotificationChannelModule.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6360CBA5730E86B7DC3F8DF5 /* SBUChatNotificationChannelModule.swift */; }; + 1DD907A16B0E9E83146B3879 /* SBUBaseMessageCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 674EFD4B91297E6C875EEC39 /* SBUBaseMessageCell.swift */; }; + 1DF4195466680A9AFBB4903C /* SBUVoiceMessageConfiguration.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4AE252FE07A7CFAD441BF81A /* SBUVoiceMessageConfiguration.swift */; }; + 1E8281F0739EF7E4B9D288BB /* SBUBaseChannelViewController.Unavailable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9FC1D15359A336621BD6ACAD /* SBUBaseChannelViewController.Unavailable.swift */; }; + 1F53C66728FB255CEC29E331 /* SBULoading.swift in Sources */ = {isa = PBXBuildFile; fileRef = 769A710E18DF9B200A8C45C7 /* SBULoading.swift */; }; + 1F7A7945316919CF6505FA59 /* SBUCommonDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 400DF91B6CFD3D7C31ACF73A /* SBUCommonDelegate.swift */; }; + 1FB183EEC319F458D813D0DA /* SBUMessageThreadModule.List.swift in Sources */ = {isa = PBXBuildFile; fileRef = 00176C602B58AEBEF353D038 /* SBUMessageThreadModule.List.swift */; }; + 1FEEF45B9F64B53741540624 /* SBUModerationsModule.List.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD198271643B69F5D47B2DB6 /* SBUModerationsModule.List.swift */; }; + 23F6BAE276BA63AB74A7090C /* MultipleFilesMessage+SBUIKit.swift in Sources */ = {isa = PBXBuildFile; fileRef = AF6A88F567091C1AF5D4CE4D /* MultipleFilesMessage+SBUIKit.swift */; }; + 2461986A210065D12B01924A /* SBUGroupChannelModule.Input.swift in Sources */ = {isa = PBXBuildFile; fileRef = 663FF1267F99388104C979B5 /* SBUGroupChannelModule.Input.swift */; }; + 272EAD0B4F6582B087994F85 /* SBUPhotoAccess.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5D09408470D1A37CE1DC7FAF /* SBUPhotoAccess.swift */; }; + 294D967943D215D9AA39C708 /* SBUEmojiListViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6CD2BB37D1C6085B2F474B52 /* SBUEmojiListViewController.swift */; }; + 2A1C0E7818B249F494C4593B /* SBUQuoteMessageInputViewProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9D09C835E6EF058DC289ABF6 /* SBUQuoteMessageInputViewProtocol.swift */; }; + 2CB257D377BF75618AA9BE27 /* SBUBottomSheetController.swift in Sources */ = {isa = PBXBuildFile; fileRef = E45CC990891F00B2160BB0F5 /* SBUBottomSheetController.swift */; }; + 2D013CE5583B3C53B8663736 /* SBUMenuView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 23E712DB351F37CA1A4F6899 /* SBUMenuView.swift */; }; + 2D1882EC5A4DCB663E299B2D /* UIApplication+SBUIKit.swift in Sources */ = {isa = PBXBuildFile; fileRef = C3F7CFBB23C3FAE2F7FAF587 /* UIApplication+SBUIKit.swift */; }; + 2D351893F9009086A4105B7B /* SBUGroupChannelViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = F21B3529CBF1A3C9EDF18730 /* SBUGroupChannelViewController.swift */; }; + 2E526E088FFCC0A814886A08 /* SBUQuotedFileMessageView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9079619DDD26B7A95EEB20BA /* SBUQuotedFileMessageView.swift */; }; + 2E89E1A0D776E5ACBA9EE39B /* QuotedFileImageContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = E1594070F5CFF47042D92064 /* QuotedFileImageContentView.swift */; }; + 2EC15C6810599731098F9A0D /* SBUMessageInputView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C95076032473A92EFEC66897 /* SBUMessageInputView.swift */; }; + 2F6C730A40A9149E710D5D5D /* SBUFeedNotificationChannelModule.Header.swift in Sources */ = {isa = PBXBuildFile; fileRef = 048527C58AA582ECCDEBC5E4 /* SBUFeedNotificationChannelModule.Header.swift */; }; + 2FE736A69DA38044E1AF8EAC /* SBUOpenChannelSettingsModule.List.swift in Sources */ = {isa = PBXBuildFile; fileRef = C31029B00B97F032767DD942 /* SBUOpenChannelSettingsModule.List.swift */; }; + 30CABE41306CAAA7DD0FA587 /* SBUFileMessageCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 10AA1F3B73AB687087D974AA /* SBUFileMessageCell.swift */; }; + 30E1987BAECB29D91AFFDA4B /* SBUQuoteMessageInputViewParams.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7893E185E5792AB652DB14CA /* SBUQuoteMessageInputViewParams.swift */; }; + 316C1CC9AA49EE6DA623EADB /* SBUGroupChannelListViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2A1B645AB9A1BB8AB5D68D69 /* SBUGroupChannelListViewModel.swift */; }; + 32B770079141930AEC639AFC /* SBUCreateOpenChannelViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7B5B895420A77164C4C6BFDC /* SBUCreateOpenChannelViewModel.swift */; }; + 342AC883D4C1A3F5E4993D1D /* SBUBaseSelectUserViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 334BCFD4D1932E6050D20183 /* SBUBaseSelectUserViewModel.swift */; }; + 347A54869402B4CC4A3366ED /* SBUChannelPushSettingCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 286ABB042407B2D4CA117372 /* SBUChannelPushSettingCell.swift */; }; + 365865670DFECC911E4AA7D9 /* SBUMessageThreadViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2F12B9785698DB3C43F1D1CF /* SBUMessageThreadViewController.swift */; }; + 3760FBEB8DA7CBE51E1327BF /* CGSize+SBUIKit.swift in Sources */ = {isa = PBXBuildFile; fileRef = 675F4B89AB441C575145F984 /* CGSize+SBUIKit.swift */; }; + 3879F3997AC87E9E7CDEE1B0 /* SBUGroupChannelListModule.Header.swift in Sources */ = {isa = PBXBuildFile; fileRef = 605FB2BE67201AA9C4950ED3 /* SBUGroupChannelListModule.Header.swift */; }; + 390979DE63DDF141AFF8A0F2 /* SBUMultipleFilesMessageCollectionViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = AE25855EA0270C5807B495E3 /* SBUMultipleFilesMessageCollectionViewCell.swift */; }; + 39AC2F5BC03948E8F10FDD20 /* SBULogger.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5DC7B3F888C73BABB2F9F5DF /* SBULogger.swift */; }; + 3AB9AEC031221A4F8862D002 /* UIViewController+SBUIKit.swift in Sources */ = {isa = PBXBuildFile; fileRef = 64C8C370106E69D699D79D31 /* UIViewController+SBUIKit.swift */; }; + 3BD397DD7FBC44D772DBB327 /* SBUConfigManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 60B34DA8A62448D9A78D0A00 /* SBUConfigManager.swift */; }; + 3DC45D5A30EC2F3E38921884 /* UIButton+SBUIKit.swift in Sources */ = {isa = PBXBuildFile; fileRef = C271F8C5779DC0BEAB1866F0 /* UIButton+SBUIKit.swift */; }; + 3E4EDCACA0022604C285EF82 /* SBUFeedNotificationChannelViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7148F3ABCFC2FE256BB6078A /* SBUFeedNotificationChannelViewController.swift */; }; + 3E8A0E55E8BEF14C697AAFD2 /* SBULinkClickableTextView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4A6F9600D453D931501C0419 /* SBULinkClickableTextView.swift */; }; + 3E8B4CCDC268BA9BFF85F621 /* SBUInviteUserViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D15F6D90BCF87A4D0C374275 /* SBUInviteUserViewController.swift */; }; + 3EF3AB56D7D015974F04B531 /* SBUDateFormatSet.swift in Sources */ = {isa = PBXBuildFile; fileRef = E79EC17116F9A095BE3365AE /* SBUDateFormatSet.swift */; }; + 3F2D017CFBE961CA02E9AC8D /* SBUMessageSearchModule.Header.swift in Sources */ = {isa = PBXBuildFile; fileRef = 78EDE63E52336BD09D623A4F /* SBUMessageSearchModule.Header.swift */; }; + 4019FA6F5A38979896775442 /* SBUChatNotificationChannelViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC160F3E05BF5BCA53241E4C /* SBUChatNotificationChannelViewController.swift */; }; + 41CBDFDDD55A8805EA07B774 /* SBUOpenChannelListModule.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7CA1E200A4B98086A43A1E18 /* SBUOpenChannelListModule.swift */; }; + 41D2EC085F5BE0A0139499AF /* SBULayoutableButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = AA96E11AED2F69236E7CF30D /* SBULayoutableButton.swift */; }; + 426E11BDB4D88CB4601E1360 /* SBUMessageThreadModule.Header.swift in Sources */ = {isa = PBXBuildFile; fileRef = 97D4DF0B2353AEE902AC70F1 /* SBUMessageThreadModule.Header.swift */; }; + 4312681B5BD1606F59B3FF4B /* SBUGroupChannelPushSettingsModule.List.swift in Sources */ = {isa = PBXBuildFile; fileRef = EFB70499E74302689CA138B4 /* SBUGroupChannelPushSettingsModule.List.swift */; }; + 435077C6828AE4F60BD9C0B3 /* SBUQuotedBaseMessageViewParams.swift in Sources */ = {isa = PBXBuildFile; fileRef = E11347B794B1A22EBA2A7B5A /* SBUQuotedBaseMessageViewParams.swift */; }; + 452F5D6BA71574D4FE0F10A8 /* SBUDebouncer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7F5D40D9A16548E764C4860C /* SBUDebouncer.swift */; }; + 45C7088A9917BD33469FFE3F /* SBUMessageSearchViewController.Deprecated.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9A9004DE95D41DEF5A717472 /* SBUMessageSearchViewController.Deprecated.swift */; }; + 45DB27753348FB9727B47275 /* SBUMessageProfileView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 12E3CEB360E4BB8F6648A2B6 /* SBUMessageProfileView.swift */; }; + 47672740F0572E9050136404 /* SendbirdUI.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3AD5B723F9421FF5385C7CC4 /* SendbirdUI.swift */; }; + 49146A5555132600DECE395A /* SBUGroupChannelSettingsModule.swift in Sources */ = {isa = PBXBuildFile; fileRef = F742E600DDF845BDCE2283EC /* SBUGroupChannelSettingsModule.swift */; }; 499261732A9D89BE00B07828 /* ConnectView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4992616E2A9D89BE00B07828 /* ConnectView.swift */; }; 499261742A9D89BE00B07828 /* ConnectView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4992616F2A9D89BE00B07828 /* ConnectView.xib */; }; 499261752A9D89BE00B07828 /* MainView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 499261702A9D89BE00B07828 /* MainView.xib */; }; @@ -109,114 +110,123 @@ 499261772A9D89BE00B07828 /* MainView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 499261722A9D89BE00B07828 /* MainView.swift */; }; 4992617A2A9D8A4A00B07828 /* MainItemView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 499261782A9D8A4900B07828 /* MainItemView.swift */; }; 4992617B2A9D8A4A00B07828 /* MainItemView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 499261792A9D8A4900B07828 /* MainItemView.xib */; }; - 4B79A0EBC3E57A1A03FA451D /* SBUBaseViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2E611B4A91BB2314220F239E /* SBUBaseViewController.swift */; }; - 4C5BA0241F309CD17DFA480F /* SBUIconSetType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2006C6BBADCB90B6B6AB3179 /* SBUIconSetType.swift */; }; - 4C91F970BACA5EFBB115A493 /* UIView+SBUIKit.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD064F057C56D7A8C0CF8003 /* UIView+SBUIKit.swift */; }; - 4D2E19B35CB6DCA6FCFD53E2 /* SBUMessageSearchModule.List.swift in Sources */ = {isa = PBXBuildFile; fileRef = D226F9A5970054B5D2321E93 /* SBUMessageSearchModule.List.swift */; }; - 4E960B23016CEA53A0731F8D /* SBUMentionLimitGuideCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6F32FF19723F2FF0816F5FFD /* SBUMentionLimitGuideCell.swift */; }; - 4F23E5C382080612BC9884F7 /* SBUMessageDateView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5B6FAE483FB72456547C94A8 /* SBUMessageDateView.swift */; }; - 4F6167BC786E7BE295A1CE7B /* SBUOpenChannelViewController.Deprecated.swift in Sources */ = {isa = PBXBuildFile; fileRef = FE0BF25095841A8A217311E2 /* SBUOpenChannelViewController.Deprecated.swift */; }; - 505431946940C9464030E4F8 /* SBUCacheManager.Template.swift in Sources */ = {isa = PBXBuildFile; fileRef = 28FFA8B59C2016527AF13B52 /* SBUCacheManager.Template.swift */; }; - 505DDCE1C03902C2947E273F /* SBUBaseSelectUserViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 13B3C35507B64FBFD21C39B4 /* SBUBaseSelectUserViewController.swift */; }; - 522EB95366ABDEC25C86E6D8 /* MessageTemplateRenderer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0AB1F98398E2B144D3AC41AC /* MessageTemplateRenderer.swift */; }; - 54308EECBA82D7587463B179 /* SBUMessageWebView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C7845D27A8A5819F561635E1 /* SBUMessageWebView.swift */; }; - 56C71392780A4ADC82838FE5 /* SBUMessageWebViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6F3FBF776CF1F2C77B98D1CE /* SBUMessageWebViewModel.swift */; }; - 5AE0AE1C53D3F35CF3984B72 /* SBUFeedNotificationChannelModule.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8303883F80534809B3B047D2 /* SBUFeedNotificationChannelModule.swift */; }; - 5B4AF291242E5D9AE80A5B05 /* SBUCacheManager.NotificationSetting.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7327B1A7A67145F4DB95D771 /* SBUCacheManager.NotificationSetting.swift */; }; - 5B59932A020FFD5B569DCBEE /* SBUGlobals.swift in Sources */ = {isa = PBXBuildFile; fileRef = 79EA4C52DD7B421C8161235E /* SBUGlobals.swift */; }; - 5B8D6A478CCD51E30D75A24D /* SBUMemberListViewController.Deprecated.swift in Sources */ = {isa = PBXBuildFile; fileRef = 64694D4B809D684F19F257B0 /* SBUMemberListViewController.Deprecated.swift */; }; - 5B9FA9B68E036D5C3CF2810B /* SBUBaseChannelViewController.Deprecated.swift in Sources */ = {isa = PBXBuildFile; fileRef = C37D854728BA662B959D7627 /* SBUBaseChannelViewController.Deprecated.swift */; }; - 5C054DE55F355B61348E3C99 /* SBUModerationsViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7A0124FA1CF917C980C764C6 /* SBUModerationsViewModel.swift */; }; - 5CA9CF6E568A7D4D96C57501 /* SBUBaseSelectUserViewController.Deprecated.swift in Sources */ = {isa = PBXBuildFile; fileRef = FAC8B9DAFB00EC5E3A40BCEC /* SBUBaseSelectUserViewController.Deprecated.swift */; }; - 5ECD0EE435E5A8864E360CB6 /* SBUContentBaseMessageCell.Deprecated.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0F5C9A213F8564A2571CA3FC /* SBUContentBaseMessageCell.Deprecated.swift */; }; - 5F7EE8A11B9ECDA6F31D7681 /* SBUMessageSearchModule.swift in Sources */ = {isa = PBXBuildFile; fileRef = F57065E312891A156FBC73B3 /* SBUMessageSearchModule.swift */; }; - 6068FF937793E7847979CE4E /* SBUActionSheet.swift in Sources */ = {isa = PBXBuildFile; fileRef = 41161D31466AA8729316DA62 /* SBUActionSheet.swift */; }; - 60918C351ECBAC4AAC87A51F /* Data+SBUIKit.swift in Sources */ = {isa = PBXBuildFile; fileRef = F280E77C527A83BDFABBBDFF /* Data+SBUIKit.swift */; }; - 6127557F9A64DDF629992287 /* UIButton+SBUIKit.swift in Sources */ = {isa = PBXBuildFile; fileRef = 82E5FACDBD42B9FEA5FF1595 /* UIButton+SBUIKit.swift */; }; - 625B09D0E9DB446FCC1DC89E /* SBUChannelListViewController.Deprecated.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9DA684D98CE04D343185CE89 /* SBUChannelListViewController.Deprecated.swift */; }; - 627688DF939143CCD414CBCD /* SBUChannelTitleView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7133E170BA439EF8C3334BA0 /* SBUChannelTitleView.swift */; }; - 641FC99EC9250C2D2DB7AEDE /* SBUFileMessageCellParams.swift in Sources */ = {isa = PBXBuildFile; fileRef = DA87A2BAE388B629B78D03C3 /* SBUFileMessageCellParams.swift */; }; - 6438429001C3C12C8A431E55 /* SBUSelectableStackView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 29E49CBE2179BB59938D3675 /* SBUSelectableStackView.swift */; }; - 65ACC98F127470C9B6E2BBBD /* SBUMessageSearchModule.Header.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0475E64D5DDC8E3C5D565C13 /* SBUMessageSearchModule.Header.swift */; }; - 663E192E0771BABF1E332C1A /* SBUMessageThreadViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = ED636CAE01371BF247C99AA3 /* SBUMessageThreadViewModel.swift */; }; - 676EA6F6426590E8E575E34F /* SBUMenuSheetViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5EBB45C861BC6E78C91BFEA8 /* SBUMenuSheetViewController.swift */; }; - 679FB827CCB67BC53BC3F084 /* SBUBaseChannelModule.swift in Sources */ = {isa = PBXBuildFile; fileRef = 769A58775948A4D04CF29675 /* SBUBaseChannelModule.swift */; }; - 67A06427F302E5589CB9462B /* SBULoading.swift in Sources */ = {isa = PBXBuildFile; fileRef = 52865C6F7E96EBDF33F22C25 /* SBULoading.swift */; }; - 67CA7C5D9F514AAA7F16415D /* SBUDashboardConfig.swift in Sources */ = {isa = PBXBuildFile; fileRef = 06CE5283A27E69F74119BFF1 /* SBUDashboardConfig.swift */; }; - 67ED117A86627A8D9D7868D3 /* SBUGroupChannelListModule.swift in Sources */ = {isa = PBXBuildFile; fileRef = F47A265ECE8230C37756427D /* SBUGroupChannelListModule.swift */; }; - 69C5C5ECE491F3DC86DD6B1D /* URL+SBUKit.swift in Sources */ = {isa = PBXBuildFile; fileRef = BF5C073A092950DEE1C8933A /* URL+SBUKit.swift */; }; - 6A334EC383BF185594E68AEC /* SBUReactionsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 025C99558AA78789B148E070 /* SBUReactionsViewController.swift */; }; - 6AA0834DE8646C643984BBF2 /* SBUMessageSearchViewController.Deprecated.swift in Sources */ = {isa = PBXBuildFile; fileRef = 16148A3386B955D1D2D91EF2 /* SBUMessageSearchViewController.Deprecated.swift */; }; - 6B6F850924D7379BDF4767E5 /* SBURegisterOperatorViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = B00D45436A95A41D71047A07 /* SBURegisterOperatorViewModel.swift */; }; - 6D1E62358DF951B53DD30D01 /* SBUCacheManager.Config.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2B746ED4816252A5B46ED1A5 /* SBUCacheManager.Config.swift */; }; - 6D8CBAAAC45689050F215BC4 /* SBUStringSet.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2E31D559C7FBCD1771AC502B /* SBUStringSet.swift */; }; - 6FDAF6959EA7DB013041E202 /* SBUChannelInfoHeaderView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 960F1C53AFDD9E464F4FCFC5 /* SBUChannelInfoHeaderView.swift */; }; - 7039542512E6D0718E810289 /* CGSize+SBUIKit.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7ADF6A5C700565F0093FF653 /* CGSize+SBUIKit.swift */; }; - 71075BE296B2D1025582B5AB /* SBUGroupChannelListViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = E79AA72238B3ADA2428F2DF9 /* SBUGroupChannelListViewController.swift */; }; - 71507B44EDDEF9A44D11D84A /* SBUCommonItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 22609EDC7C590D90E98DA48F /* SBUCommonItem.swift */; }; - 7154A0193045A872406601B3 /* SBUConfig.Common.swift in Sources */ = {isa = PBXBuildFile; fileRef = EED84ED1FC10DD30ED3210A5 /* SBUConfig.Common.swift */; }; - 7225D5F0C6276707609FEB30 /* SBUMessageThreadModule.Input.swift in Sources */ = {isa = PBXBuildFile; fileRef = D10FE10A84D9C60B249612AC /* SBUMessageThreadModule.Input.swift */; }; - 725ABE81C0D34690F22956DB /* SBUConfigManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 15C54725C0DED15A0501A8DA /* SBUConfigManager.swift */; }; - 740F98AB4ABD249720B53626 /* SBUBaseMessageCellParams.swift in Sources */ = {isa = PBXBuildFile; fileRef = 90FA070074290D0AC3F895C0 /* SBUBaseMessageCellParams.swift */; }; - 743A10752DAA1AE3AA695F81 /* SBUGroupChannelPushSettingsModule.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3CF2898DB3941D2D2A4C95A2 /* SBUGroupChannelPushSettingsModule.swift */; }; - 74BDDF53A90891405DEB09CC /* SBUCommonContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4B38171B87E355527698E517 /* SBUCommonContentView.swift */; }; - 75A937025B2D2D57DB780F4C /* Formatter+SBUIKit.swift in Sources */ = {isa = PBXBuildFile; fileRef = ACD781D333EB55B771EEC0AA /* Formatter+SBUIKit.swift */; }; - 75AFBD97708D4F093D91E66E /* SBUFontSet.swift in Sources */ = {isa = PBXBuildFile; fileRef = 56DA60A4302B8F511722271A /* SBUFontSet.swift */; }; - 75BB40C2367DE3E3B195B0D4 /* Array+SBUIKit.swift in Sources */ = {isa = PBXBuildFile; fileRef = 99F9ADB0066101AD4EB663E3 /* Array+SBUIKit.swift */; }; - 75C23A8D18D873350589761F /* SBUUnderLineTextField.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD2C3520424D966B2139B29A /* SBUUnderLineTextField.swift */; }; - 7675E35AACDDEE3055A128F9 /* SBUPhotoAccess.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7DA6C51198C5CE332E8E302B /* SBUPhotoAccess.swift */; }; - 76A013DF83418E36583D9EBF /* SBUFeedNotificationChannelViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = B1A5082988238B3CDB436AF1 /* SBUFeedNotificationChannelViewController.swift */; }; - 770E7B1230B776B029E93BF1 /* SBUModerationCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 41EEEB823E8EACB5657CD3DF /* SBUModerationCell.swift */; }; - 77265AD628A8D21F39D61D91 /* SBUQuotedBaseMessageViewParams.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9345EF446685A81A3A205032 /* SBUQuotedBaseMessageViewParams.swift */; }; - 7751A5E8CFB3B4CAB952D410 /* SBUFileMessageCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = BE4935E7C40522D6D1B4418E /* SBUFileMessageCell.swift */; }; - 77A25202F4F93DEE398DBEBB /* SBUOpenChannelUnknownMessageCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3DF13C7243959896256F8180 /* SBUOpenChannelUnknownMessageCell.swift */; }; - 78013709AD868D916A98B487 /* SBUUserMessageTextView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5E6A09ADBC467DDDEEF66173 /* SBUUserMessageTextView.swift */; }; - 7822426F0EB028A08EAFEFDD /* UIImageView+SBUIKit.swift in Sources */ = {isa = PBXBuildFile; fileRef = C13E7BC77BF2390E13E985CD /* UIImageView+SBUIKit.swift */; }; - 794B4E33774B33CAA31BEA5B /* Sequence+SBUIKit.swift in Sources */ = {isa = PBXBuildFile; fileRef = 17EB59307EA2A431CD74082E /* Sequence+SBUIKit.swift */; }; - 7A2A90CABF2F29E563612006 /* SBUBaseChannelViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0E3FC04027A26EED54D5DD39 /* SBUBaseChannelViewController.swift */; }; - 7A900ADCFC66C29519EB0E79 /* SBUCacheManager.Version.swift in Sources */ = {isa = PBXBuildFile; fileRef = 78BC2FBF3CCA4A99FE9CDABF /* SBUCacheManager.Version.swift */; }; - 7AD23336DA37109E54C583C9 /* SBUUserListModule.List.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2B9B4518AE7F37F6486DD9C0 /* SBUUserListModule.List.swift */; }; - 7BE75AA56F2BEB1556BEDEB4 /* SBUChatNotificationChannelViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 76987D65323CBAB0CBA3BBA7 /* SBUChatNotificationChannelViewController.swift */; }; - 7DABC50DB9DD675F9D9404A9 /* NSObject+SBUIKit.swift in Sources */ = {isa = PBXBuildFile; fileRef = 57BC3B1D3B61BD706150D49E /* NSObject+SBUIKit.swift */; }; - 7FD0831C77CA8DFFBF71E2D9 /* SBUConstant.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF90155552EB7C61E1A9C637 /* SBUConstant.swift */; }; - 80059DA0CB5343C32085FC90 /* SBUNewMessageInfo.swift in Sources */ = {isa = PBXBuildFile; fileRef = B79B2DD2CCF0EE727B0CD8AE /* SBUNewMessageInfo.swift */; }; - 80148293B0979182C603B3E7 /* SBUAlertView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74DBF7C5222CD338D80F1B4D /* SBUAlertView.swift */; }; - 80250FB83B2EA4309BB7DE49 /* SBUViewModelDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2E7B7987A938B53874C4CCEF /* SBUViewModelDelegate.swift */; }; - 83298AA486B58338B9050F52 /* SBUBaseMessageCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = C597B811451EBFB1DEA67318 /* SBUBaseMessageCell.swift */; }; - 833A00CD17860DB71129B478 /* UIStackView.SBUIKit.swift in Sources */ = {isa = PBXBuildFile; fileRef = 59C76A9CDC602E5C630BEC9E /* UIStackView.SBUIKit.swift */; }; - 8457FE91605FF292B4FBEC8B /* SBUBaseChannelViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = E8E75B5D06FDD554537C037A /* SBUBaseChannelViewModel.swift */; }; - 8483926F309130E6F13C4EF0 /* SBUOpenChannelSettingsViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = FD4B090C3B7584D8D84343D4 /* SBUOpenChannelSettingsViewModel.swift */; }; - 8491549002D8B337B8CA7F13 /* SBUBaseChannelViewController.Unavailable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3AD737D472AEB1BA1D084446 /* SBUBaseChannelViewController.Unavailable.swift */; }; - 8548949D10604E620D2F9A16 /* UIViewController+SBUIKit.swift in Sources */ = {isa = PBXBuildFile; fileRef = D26B6F013CE6E8D67E1A5ED9 /* UIViewController+SBUIKit.swift */; }; - 8711D94211CF5544EFB9DB61 /* SBUOpenChannelSettingsModule.List.swift in Sources */ = {isa = PBXBuildFile; fileRef = 96A24EEEE5156B6E1E96B54B /* SBUOpenChannelSettingsModule.List.swift */; }; - 8882A619EDF61BF7AE51E809 /* SBUGroupChannelCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = CD7A69CDFDADD1DE3D3B6837 /* SBUGroupChannelCell.swift */; }; - 8959846766EF597179B65804 /* SBUCollectionViewFlowLayout.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8F88304E2BD83DF0969F1C29 /* SBUCollectionViewFlowLayout.swift */; }; - 89EE2D73092EB4FB3D6BE4DB /* SBUReactionCollectionViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 9516F9847F84F192DC63D8E4 /* SBUReactionCollectionViewCell.xib */; }; - 8A123B51436F0DDC7589AB0A /* SBUBaseChannelSettingsModule.Header.swift in Sources */ = {isa = PBXBuildFile; fileRef = E161AA7E9A0393FB6BF1988D /* SBUBaseChannelSettingsModule.Header.swift */; }; - 8B0BF9B7C9FFC03EDB37EF6D /* SBUGroupChannelSettingsViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 925FA1B6D1C2B27F505AFDAD /* SBUGroupChannelSettingsViewModel.swift */; }; - 8B0DFAF1FDEEF52C6DD0646C /* SBUPendingMessageManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 445E8D51191374881B3B0D8F /* SBUPendingMessageManager.swift */; }; - 8B5701EBB8E9468A6F206978 /* SBUOpenChannelFileMessageCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = AA93D08458ECC55232E74185 /* SBUOpenChannelFileMessageCell.swift */; }; - 8B5C5EEF22D3D37FCE64B617 /* SBUOpenChannelModule.Input.swift in Sources */ = {isa = PBXBuildFile; fileRef = AEB3047BA987C0C09A51F09A /* SBUOpenChannelModule.Input.swift */; }; - 8C0EC09157A12983C8C1E901 /* SBUConfig.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3B01F3E4041572554116D04 /* SBUConfig.swift */; }; - 8C1913CBFD03726BCFF9F689 /* SBUUserCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7DEB64DF7C933C1D2CDD479B /* SBUUserCell.swift */; }; - 8D03AE0AB69D70B491B99B41 /* SBUMessageStateView.swift in Sources */ = {isa = PBXBuildFile; fileRef = DD3C1343B686BFC876DE8264 /* SBUMessageStateView.swift */; }; - 8FEAE0B63CA6B0E0BEA39755 /* SBUFeedNotificationChannelViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 507305D048940CE73C33DA7F /* SBUFeedNotificationChannelViewModel.swift */; }; - 91129C1E98DA3D32D85489CE /* SBUMessageReactionView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6F791270F933192C34653966 /* SBUMessageReactionView.swift */; }; - 9169C154E85F6254F8E99F48 /* SBUQuotedBaseMessageView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 916D74D6BACB1599C3157DD7 /* SBUQuotedBaseMessageView.swift */; }; - 91A36D771B4C0C690B2E1C8D /* SBUOpenChannelModule.swift in Sources */ = {isa = PBXBuildFile; fileRef = B4EEFEF9E09AB3338A6FC103 /* SBUOpenChannelModule.swift */; }; - 923E42CF4493BC79A36590FE /* SBUFeedNotificationCellParams.swift in Sources */ = {isa = PBXBuildFile; fileRef = 392454C500EB2D3A85D5B540 /* SBUFeedNotificationCellParams.swift */; }; - 92A451DEE00838B0EEE81D97 /* SBUCreateChannelViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1507B2AD59C6BC6C97302F61 /* SBUCreateChannelViewController.swift */; }; - 9366B1260DD22F57CBDC6314 /* SBUPropertyWrapper.swift in Sources */ = {isa = PBXBuildFile; fileRef = 83242392F740953790B4375B /* SBUPropertyWrapper.swift */; }; - 93A95566E3A855417C4CEC41 /* SBUQuotedFileMessageView.swift in Sources */ = {isa = PBXBuildFile; fileRef = E3DC702A56C7D1927EEB31F6 /* SBUQuotedFileMessageView.swift */; }; - 942C1584D5E0B68A768E8BBF /* SBUViewControllerSet.swift in Sources */ = {isa = PBXBuildFile; fileRef = 177D90CB83C6B09C7D5AD0A1 /* SBUViewControllerSet.swift */; }; - 9526DEABCAE91A50D0B6597F /* UIImage+SBUIKit.swift in Sources */ = {isa = PBXBuildFile; fileRef = 90AB02F549FD949487F4EB43 /* UIImage+SBUIKit.swift */; }; - 961F63B3EFABFC89A3F6A8FF /* SBUBaseSelectUserModule.swift in Sources */ = {isa = PBXBuildFile; fileRef = A6C700E67C4BE4B74A75A04F /* SBUBaseSelectUserModule.swift */; }; - 9676673379AF908DF245938B /* SBUBaseSelectUserModule.Header.swift in Sources */ = {isa = PBXBuildFile; fileRef = C3E129E5F4D3B812E2A019CB /* SBUBaseSelectUserModule.Header.swift */; }; - 97323B9C7DDB73974B3296A6 /* SBUInviteUserModule.List.swift in Sources */ = {isa = PBXBuildFile; fileRef = D4D241125E53E0AC684DB646 /* SBUInviteUserModule.List.swift */; }; - 98B4B2D8F1652A77EAAFD6FC /* SBUUnknownMessageCellParams.swift in Sources */ = {isa = PBXBuildFile; fileRef = 80A3A8DE008DD62F3E58C1D2 /* SBUUnknownMessageCellParams.swift */; }; - 99381C9E9F1B9870496FB753 /* SBUGlobalCustomParams.swift in Sources */ = {isa = PBXBuildFile; fileRef = 01EEAC477CD1B990CFED6DDC /* SBUGlobalCustomParams.swift */; }; - 9B962D7123D14AE9D244E833 /* SBUGroupChannelViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = C3982EE5051119470F82678E /* SBUGroupChannelViewModel.swift */; }; - 9BFB7041E3D41899EFF4A605 /* SBUVoicePlayer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 816B5DE59553F3A316B93D84 /* SBUVoicePlayer.swift */; }; + 4A3F264933A65C45AA5F0E42 /* SBUBaseSelectUserModule.List.swift in Sources */ = {isa = PBXBuildFile; fileRef = ABD157A2A654337A7BA274BF /* SBUBaseSelectUserModule.List.swift */; }; + 4B75FEF2FBEA20F3F3C14727 /* SBUGroupChannelPushSettingsModule.swift in Sources */ = {isa = PBXBuildFile; fileRef = 064B87296625C167424EC55D /* SBUGroupChannelPushSettingsModule.swift */; }; + 4B8612F466189F16B76F583C /* SBUFeedNotificationChannelViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9ECA8AD16FDB3C40764491FF /* SBUFeedNotificationChannelViewModel.swift */; }; + 4C89180C6479002A90DF5681 /* SBUCreateOpenChannelModule.Header.swift in Sources */ = {isa = PBXBuildFile; fileRef = F5B76C59F8FB3334F06FDED9 /* SBUCreateOpenChannelModule.Header.swift */; }; + 4C94AB05F0B7CC2A0315588B /* SBUBaseChannelModule.List.swift in Sources */ = {isa = PBXBuildFile; fileRef = E211B9C296952B94BE2182CA /* SBUBaseChannelModule.List.swift */; }; + 4CB40932ED0140BEDE696DE5 /* SBUGroupChannelPushSettingsModule.Header.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9728D9014CAB14BB6F53A70C /* SBUGroupChannelPushSettingsModule.Header.swift */; }; + 4DBE58AFC04E399FCB0CAFB6 /* SBUUnknownMessageCellParams.swift in Sources */ = {isa = PBXBuildFile; fileRef = AAEE6890A5845049A59BBB03 /* SBUUnknownMessageCellParams.swift */; }; + 4E669DCC98FB96F091132703 /* SBUCollectionViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4B5E1B0F2B978441A74F6164 /* SBUCollectionViewCell.swift */; }; + 4E6CAFCADB297E2790358E57 /* SBUBaseFileContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9884C7D444395953EB28E25D /* SBUBaseFileContentView.swift */; }; + 4E6FD06721DC73487356CF3F /* SBUEnums.Deprecated.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6AF0C42E48F6C0A967AC9C35 /* SBUEnums.Deprecated.swift */; }; + 4E873990CD047839F9100656 /* SBUCreateChannelViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4798F0541671B6B00056443E /* SBUCreateChannelViewController.swift */; }; + 50155D75B82D7294CAF81A25 /* SBUInviteUserViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = C98AEC8B9629D4D4232876D6 /* SBUInviteUserViewModel.swift */; }; + 50EF0328D3247DA72059E7AE /* SBUModerationsModule.swift in Sources */ = {isa = PBXBuildFile; fileRef = 06AF96C21BE2A902444BA2B5 /* SBUModerationsModule.swift */; }; + 516BDF47A6AD0A67A5B2CDF9 /* SBUBaseSelectUserViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 83710201EAB5DB8B64A16C08 /* SBUBaseSelectUserViewController.swift */; }; + 51D89137057534A7DFC3072F /* SBUAvailable.swift in Sources */ = {isa = PBXBuildFile; fileRef = D2A65232F270128A7E7D17CA /* SBUAvailable.swift */; }; + 5249CFF4BCB373032886811F /* SBUMessageWebViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 25C0B4DEC456D4FFE1408681 /* SBUMessageWebViewModel.swift */; }; + 52E02A6228CFD2BD123B7152 /* SBUGlobalCustomParams.swift in Sources */ = {isa = PBXBuildFile; fileRef = 60C63031F96B3B3CD8793477 /* SBUGlobalCustomParams.swift */; }; + 533706BE90EC30DFAAB84E3D /* SBUIconSetType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CE60F9E512F491B68FD11D0 /* SBUIconSetType.swift */; }; + 5399F735988654AF9AFC2FFA /* SBUBaseChannelViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8071A5F7B6A94055336081B6 /* SBUBaseChannelViewModel.swift */; }; + 539CF10DE55476C416864214 /* Base.xcconfig in Resources */ = {isa = PBXBuildFile; fileRef = 1E121BE02284A3080668DDB5 /* Base.xcconfig */; }; + 541960C0245E80EA793CBAF5 /* SBUFeedNotificationChannelModule.List.swift in Sources */ = {isa = PBXBuildFile; fileRef = 61C84FCFF474CE2DFFC0AD9C /* SBUFeedNotificationChannelModule.List.swift */; }; + 5450CF3CFED1D81508FAD050 /* SBUMessageDateView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 059B5B40F816318B748EE15F /* SBUMessageDateView.swift */; }; + 55BDE4DB521585DEF38B9411 /* SBUStringSet.swift in Sources */ = {isa = PBXBuildFile; fileRef = AE32A9DA2B52A86CD1AB2700 /* SBUStringSet.swift */; }; + 5692E0E44559C6FE9E4B3F16 /* SBUUserMentionConfiguration.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7056174BB03D5BD2711C7E42 /* SBUUserMentionConfiguration.swift */; }; + 5870D553B9E5554EAFFD1128 /* SBUTheme.Deprecated.swift in Sources */ = {isa = PBXBuildFile; fileRef = 125B54CE822D245E9CFF1F9C /* SBUTheme.Deprecated.swift */; }; + 59AB15B52DF11B61854BE2A0 /* SBUCreateChannelViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2CEF2686EDB9589481157DA8 /* SBUCreateChannelViewModel.swift */; }; + 5A30AB7BFCB1A07084C057B0 /* SBUGroupChannelSettingsModule.Header.swift in Sources */ = {isa = PBXBuildFile; fileRef = E567C68277F5A065C9CDE386 /* SBUGroupChannelSettingsModule.Header.swift */; }; + 5BF32C72101A1EAEA1BDF256 /* SBUMessageSearchModule.List.swift in Sources */ = {isa = PBXBuildFile; fileRef = 538F81345395C26F91007FE6 /* SBUMessageSearchModule.List.swift */; }; + 5C158AD51DD49A44ABE4C9C5 /* SBUGroupChannelSettingsModule.List.swift in Sources */ = {isa = PBXBuildFile; fileRef = 96B9757943D6ACE2ED56D8D3 /* SBUGroupChannelSettingsModule.List.swift */; }; + 5D73DB495ABD3ADED84C76C4 /* SBUConfig.swift in Sources */ = {isa = PBXBuildFile; fileRef = 946368AA53CDBE8D30E683E3 /* SBUConfig.swift */; }; + 5DB987CE56624B6831E40E3E /* SBUBaseChannelSettingCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = E049DAB2B2BBD54B5AB75AA1 /* SBUBaseChannelSettingCell.swift */; }; + 5F9A2B41B848AB84DDF15D26 /* SBUMessageCellProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = A4CA4D374FD7E62AAAFCBC6B /* SBUMessageCellProtocol.swift */; }; + 61265994312D3EEC01F615D8 /* SBUMessageSearchViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5BE52D3254DD331D2360A51E /* SBUMessageSearchViewModel.swift */; }; + 6274E84037D0B6EC8F9B9C39 /* SBUVoiceContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 98029DBF094F79AAE26089AA /* SBUVoiceContentView.swift */; }; + 6334FF7226602493E13C3D5B /* UIImageView+SBUIKit.swift in Sources */ = {isa = PBXBuildFile; fileRef = 12CFCCF4F2FA96D38553D66F /* UIImageView+SBUIKit.swift */; }; + 639407EC7D47CFB160C71C8F /* SBUOpenChannelBaseMessageCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA6B6CEB3A4B78C42CED0326 /* SBUOpenChannelBaseMessageCell.swift */; }; + 643C6E2FB60EF76E25246B5C /* SBUCacheManager.Image.swift in Sources */ = {isa = PBXBuildFile; fileRef = D22B2D0D8571F95E07720698 /* SBUCacheManager.Image.swift */; }; + 6541927D39C80E24A4BD1D2B /* SBUGroupChannelCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = E27082A7D352D868BAC1D7A0 /* SBUGroupChannelCell.swift */; }; + 656354587CA54E67DD499FDC /* SBUFeedNotificationCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8E0C0F30BEDDD6E77726EB97 /* SBUFeedNotificationCell.swift */; }; + 6590A6D68E447EDA8C819BA8 /* SBUIconSet.swift in Sources */ = {isa = PBXBuildFile; fileRef = A037EC4525B735F5BE04D1F4 /* SBUIconSet.swift */; }; + 65A2997280115A34312C875C /* SBUOpenChannelMessageWebView.swift in Sources */ = {isa = PBXBuildFile; fileRef = B61750085746E8E194C20A15 /* SBUOpenChannelMessageWebView.swift */; }; + 6697EC7E8251DF5C218ED96E /* SBUVoiceMessageInputView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 57915343C57BEC578EE0DB11 /* SBUVoiceMessageInputView.swift */; }; + 69FC9B9F4CF8FE138408DB5E /* SBUFileMessageCellParams.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4FC0A5053C9D9D8F0CFB055E /* SBUFileMessageCellParams.swift */; }; + 69FD5A5F11539FCEB7A370D2 /* SBUGlobals.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8626CDC95806709FC78772AC /* SBUGlobals.swift */; }; + 6B4009E958C36125F72875C8 /* SBUReplyConfiguration.swift in Sources */ = {isa = PBXBuildFile; fileRef = F0756D867375E03D2A5C3AB3 /* SBUReplyConfiguration.swift */; }; + 6C30C9B739C68DAAF0E9D98D /* SBUBaseChannelSettingsModule.List.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5C3172956BF6E41AE4943F34 /* SBUBaseChannelSettingsModule.List.swift */; }; + 6CF2AD992DF32BD1F9830E96 /* SBUFontSet.swift in Sources */ = {isa = PBXBuildFile; fileRef = 397A47CE3A95A3B0AD4C390E /* SBUFontSet.swift */; }; + 6D78A0A3F10360BBE1C48DD4 /* SBUStackView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 85E79C41E363E3157E648034 /* SBUStackView.swift */; }; + 6E3868B26448B9566AF52544 /* SBUMessageSearchViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 785042C06DC115F3597C8DD4 /* SBUMessageSearchViewController.swift */; }; + 6E5F09B2F7CDC4F509E72B06 /* SBUReactionsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 38D7A4F8998A757BC8063470 /* SBUReactionsViewController.swift */; }; + 6E9BCB3DE6E3202762A44955 /* SBUGlobals.Deprecated.swift in Sources */ = {isa = PBXBuildFile; fileRef = 031F13A729038D0C6639A2B6 /* SBUGlobals.Deprecated.swift */; }; + 6EAA19DC3F951BDF02EBAA3A /* SBUCommonViewControllerSet.swift in Sources */ = {isa = PBXBuildFile; fileRef = F52383D20F2BE9CC632FB244 /* SBUCommonViewControllerSet.swift */; }; + 6F12F5210D7A3E84F1FBEE2C /* SBUMessageInputMode.swift in Sources */ = {isa = PBXBuildFile; fileRef = 96D08A15B938A2FF98C7D558 /* SBUMessageInputMode.swift */; }; + 6F86F427CFEF1B37223A0921 /* SBUBaseChannelListViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5A5BC5524EE49E6ACDE701EB /* SBUBaseChannelListViewController.swift */; }; + 703CC04C8C02B36AF4F82FCF /* SBUChatNotificationChannelViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = A27A9549FDA4F8BD1BD278AB /* SBUChatNotificationChannelViewModel.swift */; }; + 713422CAD8FD22D90D37C13E /* SBUGroupChannelListModule.swift in Sources */ = {isa = PBXBuildFile; fileRef = D03357BD85FA6DD8C39669BB /* SBUGroupChannelListModule.swift */; }; + 7158F2BD1785A4A6C8295887 /* SBUOpenChannelImageContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 94C6B40D95EC1618D12125A9 /* SBUOpenChannelImageContentView.swift */; }; + 719ABCCFDD381DFC21B35CF7 /* SBURegisterOperatorModule.Header.swift in Sources */ = {isa = PBXBuildFile; fileRef = CEF84252826FB64E3E60B48B /* SBURegisterOperatorModule.Header.swift */; }; + 73F5A7E7D9E1CA08AC9E8813 /* SBUMarginView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF6317D98A5523B169AE3D86 /* SBUMarginView.swift */; }; + 75737CC050A5BB0D0563AB27 /* SBUQuotedMessageViewProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E1393B713164B06E7EEBF93 /* SBUQuotedMessageViewProtocol.swift */; }; + 762726D638E77C6DF5CD16AE /* SBUOpenChannelSettingsViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 45D03072893C76F7E74017DA /* SBUOpenChannelSettingsViewModel.swift */; }; + 777E63C6EF3510B149DC6320 /* SBUFeedNotificationCellParams.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63C081EFCE17DF595F347AA /* SBUFeedNotificationCellParams.swift */; }; + 780BA510B908D505B23F9BAD /* SBUDashboardConfig.swift in Sources */ = {isa = PBXBuildFile; fileRef = 918829350AFD0031A18DE7F2 /* SBUDashboardConfig.swift */; }; + 78E50CDF3F1D200974998E0E /* SBUCreateOpenChannelModule.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC20024775E11F6B6BF373D1 /* SBUCreateOpenChannelModule.swift */; }; + 7992CA5DB4F414AF97C76E75 /* SBUOpenChannelSettingsModule.swift in Sources */ = {isa = PBXBuildFile; fileRef = 677331CA2445156ACEF03F92 /* SBUOpenChannelSettingsModule.swift */; }; + 7A4774D34FB54E9EEEDBC77A /* SBUGroupChannelSettingsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = E27E44020A9EF8E6B058FBC4 /* SBUGroupChannelSettingsViewController.swift */; }; + 7BC9D2EBFA279FDEFE8055CE /* SBUModuleSet.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5D461E38551F9F3CE796339B /* SBUModuleSet.swift */; }; + 7CBED73B658018844FA7720B /* SBUVoicePlayer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 43247D3F761FBF0F3252461F /* SBUVoicePlayer.swift */; }; + 7CD34F5780087E1560B61F2A /* SBUUnderLineTextField.swift in Sources */ = {isa = PBXBuildFile; fileRef = E9CCFB8BD6D6F2B9467492AC /* SBUUnderLineTextField.swift */; }; + 7D946868117F594A59133404 /* SBUQuoteMessageInputView.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6D855F68DA3FC12342C1689 /* SBUQuoteMessageInputView.swift */; }; + 7EE245CC9A76C2A982BE4E6A /* SBUOpenChannelCommonContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = DD1A8367863BF4D5B6208377 /* SBUOpenChannelCommonContentView.swift */; }; + 7F595C6424205F22B418A5A6 /* SBUPendingMessageManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 630A684BCE48E6394E34E33D /* SBUPendingMessageManager.swift */; }; + 8089B9FBF2F5D45E23EBC653 /* SBUOpenChannelCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = E58FC2CFDB181B63A5B62144 /* SBUOpenChannelCell.swift */; }; + 81D9E8A7AFC1BFCB7D517AFF /* SBUOpenChannelFileMessageCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9544D92BDC500763BF68BB48 /* SBUOpenChannelFileMessageCell.swift */; }; + 846D7E2B25DA2CA01E06D0FB /* SBUChannelInfoHeaderView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A00EEFBB28D1E763E4C969EA /* SBUChannelInfoHeaderView.swift */; }; + 8558F60B4AC3168311A186FC /* SBUView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3EBEBA91CF2EF6001349DA4C /* SBUView.swift */; }; + 855DFBCDCAF309F0BBEB7D36 /* SBUOpenChannelModule.Media.swift in Sources */ = {isa = PBXBuildFile; fileRef = 28B8168EA7AA982FBD7F15EB /* SBUOpenChannelModule.Media.swift */; }; + 86660751AE8F79BD28EBBCCC /* Formatter+SBUIKit.swift in Sources */ = {isa = PBXBuildFile; fileRef = C625936E17106B3DEC2F35C8 /* Formatter+SBUIKit.swift */; }; + 88941AB9C84AECCEBF935ACB /* SBUMessageCellConfiguration.swift in Sources */ = {isa = PBXBuildFile; fileRef = 41991BF86EE173759485BBA3 /* SBUMessageCellConfiguration.swift */; }; + 88D0B191D28E064046EEB459 /* URL+SBUKit.swift in Sources */ = {isa = PBXBuildFile; fileRef = F42F7105DD8DFE0975184164 /* URL+SBUKit.swift */; }; + 89DC2C0CCA7EC268AF9C5DAF /* SBUOpenChannelViewController.Unavailable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9C555B2517561FF74E907836 /* SBUOpenChannelViewController.Unavailable.swift */; }; + 8A921FD4BDA6A0B13B6B2B7B /* Debug.xcconfig in Resources */ = {isa = PBXBuildFile; fileRef = 249DDFFBED36872C5F0BEF09 /* Debug.xcconfig */; }; + 8A933C1B03209D72E6E36E16 /* SBUModerationCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 754E781BE1E65BA00EEC33D3 /* SBUModerationCell.swift */; }; + 8AD4E30A2C033A27C0D919B3 /* UITextField+SBUIKit.swift in Sources */ = {isa = PBXBuildFile; fileRef = 68DB8FE9777577E2EBDE1732 /* UITextField+SBUIKit.swift */; }; + 8B632A7402AA1A117D572206 /* SBUEmojiManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = C5418553EB7D43F629275A0B /* SBUEmojiManager.swift */; }; + 8BA6E1D9653456DDCC22FED8 /* SBUTheme+Type.swift in Sources */ = {isa = PBXBuildFile; fileRef = EFF60EA4107CF0AAB811399E /* SBUTheme+Type.swift */; }; + 8BFDDE99B58F1F0E9486A2E9 /* Float+SBUKit.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5116D2B8A7C808849C61BD43 /* Float+SBUKit.swift */; }; + 8D15AD737E153011BDBD0158 /* SBUHighlightMessageInfo.swift in Sources */ = {isa = PBXBuildFile; fileRef = E715BCF98AF3D13965F49A1C /* SBUHighlightMessageInfo.swift */; }; + 8DD38A5B88B93CF97892048A /* SBUCacheManager.Version.swift in Sources */ = {isa = PBXBuildFile; fileRef = AE888029F516ACEBC07C384E /* SBUCacheManager.Version.swift */; }; + 8E086E347744BC450D0A0EA5 /* SBURegisterOperatorModule.List.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8B1A41B399AA09B5F53A5E00 /* SBURegisterOperatorModule.List.swift */; }; + 8F9EC1F173B884B55FED1C62 /* SBUNavigationTitleView.swift in Sources */ = {isa = PBXBuildFile; fileRef = E233F3F5794416D9D8C6EDC2 /* SBUNavigationTitleView.swift */; }; + 8FDD6FBEB1A63C96BE32FA14 /* UIView+SBUIKit.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42E3063831FC6AAFCB8B55BF /* UIView+SBUIKit.swift */; }; + 8FEBC87E72C2E50DF92A75C2 /* SBUContentBaseMessageCell.Deprecated.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4E7B3FCFA6A6F8C5DBE25A5A /* SBUContentBaseMessageCell.Deprecated.swift */; }; + 90E3D50B11AA7C552D6AA86D /* SBUBaseMessageCellParams.Deprecated.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8E9B4353D4927ECD14548721 /* SBUBaseMessageCellParams.Deprecated.swift */; }; + 90FB1A07D32C0258C4D45733 /* SBUUserListViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 82786DC4B0EBBAFACAB2D913 /* SBUUserListViewModel.swift */; }; + 92197C6B23A137C37B7A3391 /* SBUSuggestedMentionList.swift in Sources */ = {isa = PBXBuildFile; fileRef = A2E7177056C9BD000CD7A364 /* SBUSuggestedMentionList.swift */; }; + 92FCBF3390498C749C85D5B8 /* SBUBaseChannelListViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = FA2E0081BDAD8C1481517F03 /* SBUBaseChannelListViewModel.swift */; }; + 9370EC5DFEC63D568DC2012B /* SBUDownloadManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = F11B1942C3490B77FDFD4E63 /* SBUDownloadManager.swift */; }; + 94576E0FAB7A50DEA1B5B05C /* SBUConstant.swift in Sources */ = {isa = PBXBuildFile; fileRef = 51AE6FE4B38222222FB0195B /* SBUConstant.swift */; }; + 94B99594CCCBB971FC3D04AB /* SBUMessageWebView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6B703A306EB03510068901B7 /* SBUMessageWebView.swift */; }; + 95CDF122347056B28A0EB6AB /* SBUUserCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9679D18017408CD2DA19E902 /* SBUUserCell.swift */; }; + 95D65F0EB8C646E052E7D0B3 /* BaseMessage+SBUIKit.swift in Sources */ = {isa = PBXBuildFile; fileRef = FEA474A74A4462C5C16301EA /* BaseMessage+SBUIKit.swift */; }; + 95E1A3B563510B0DEB090043 /* UINavigationController+SBUIKit.swift in Sources */ = {isa = PBXBuildFile; fileRef = B6F5675CD54E4E19F196222A /* UINavigationController+SBUIKit.swift */; }; + 9679404AAEC52F437A3BEB1D /* SBUOpenChannelContentBaseMessageCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4BCE9396B8ACF0777B74181E /* SBUOpenChannelContentBaseMessageCell.swift */; }; + 968B3B44C260F3525AD283C9 /* SBUCoverImageView.Deprecated.swift in Sources */ = {isa = PBXBuildFile; fileRef = A12F9A19EE1BCE79621F29BF /* SBUCoverImageView.Deprecated.swift */; }; + 96A0AADE81CC37F10AF9C7CF /* SBUColorSet.swift in Sources */ = {isa = PBXBuildFile; fileRef = F8B5944204FD876D3662595A /* SBUColorSet.swift */; }; + 96A12BE8F6849878C343C05F /* SBUCacheManager.NotificationSetting.swift in Sources */ = {isa = PBXBuildFile; fileRef = B92F8EC9C9801D159A8EEE4C /* SBUCacheManager.NotificationSetting.swift */; }; + 96F418CB967092021FC7952C /* SBUCreateChannelModule.swift in Sources */ = {isa = PBXBuildFile; fileRef = D2AAE9D1164CF2BDB0ED51DA /* SBUCreateChannelModule.swift */; }; + 9877E40FF8F8EAEC4B81462C /* SBUUtils.swift in Sources */ = {isa = PBXBuildFile; fileRef = BB24589FD45C5E285EF7918C /* SBUUtils.swift */; }; + 98991C8AB8E559EDDA3C7E6F /* SBUGroupChannelModule.List.swift in Sources */ = {isa = PBXBuildFile; fileRef = 448BEED6AF1AF03FD17D6433 /* SBUGroupChannelModule.List.swift */; }; + 993FD4D29C3E2104D595434B /* SBUCommonItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 286678CACC913BDDF970053A /* SBUCommonItem.swift */; }; + 9967AE8A5A0A973EA3704447 /* SBUGroupChannelListModule.List.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1136CB46621517EC35538E47 /* SBUGroupChannelListModule.List.swift */; }; + 997F52B5FA30746C638FD8A7 /* SBUOpenChannelUserMessageCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6C939F2C9568B3EBA1F650A1 /* SBUOpenChannelUserMessageCell.swift */; }; + 99C62FCEF0494D39E10B9A67 /* SBUNotificationTimelineView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6A88EDA202FE7AB6E404D3B6 /* SBUNotificationTimelineView.swift */; }; + 99F0D7DC3B1730D35305213C /* SBUThreadInfoView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 01E58AEC2686847E0FB92776 /* SBUThreadInfoView.swift */; }; + 9BD9DEBD9C089810106086A9 /* SBUNewMessageInfo.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8BB74A6EBDA6CD6269EE455D /* SBUNewMessageInfo.swift */; }; + 9BF8D18EBEE858774DE6BC4F /* SBUTableViewCell.Unavailable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 23DDC8AC1C080DE611095104 /* SBUTableViewCell.Unavailable.swift */; }; 9C037E2E280432DB00059696 /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9C037DD4280432DB00059696 /* ViewController.swift */; }; 9C037E2F280432DB00059696 /* UILabel+Ext.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9C037DD7280432DB00059696 /* UILabel+Ext.swift */; }; 9C037E30280432DB00059696 /* UIImageView+Ext.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9C037DD8280432DB00059696 /* UIImageView+Ext.swift */; }; @@ -241,32 +251,21 @@ 9C037E44280432DC00059696 /* LiveStreamChannelViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9C037DF6280432DB00059696 /* LiveStreamChannelViewController.swift */; }; 9C037E45280432DC00059696 /* CommunityChannelListViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9C037DF8280432DB00059696 /* CommunityChannelListViewController.swift */; }; 9C037E47280432DC00059696 /* CreateCommunityChannelViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9C037DFA280432DB00059696 /* CreateCommunityChannelViewController.swift */; }; - 9C0EAED3475FF187E2053A00 /* SBUGroupChannelPushSettingsViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE5B52236DBBF3CF22BC5254 /* SBUGroupChannelPushSettingsViewModel.swift */; }; 9C2A3C5B28863A9E0052F71D /* SendbirdChatSDK in Frameworks */ = {isa = PBXBuildFile; productRef = 9C2A3C5A28863A9E0052F71D /* SendbirdChatSDK */; }; 9C3EBE2328091D2A00B5366B /* NotificationService.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9C3EBE2228091D2A00B5366B /* NotificationService.swift */; }; 9C3EBE2728091D2A00B5366B /* NotificationService.appex in Embed App Extensions */ = {isa = PBXBuildFile; fileRef = 9C3EBE2028091D2A00B5366B /* NotificationService.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; }; 9C5DCD49242AFA7C00C41106 /* UserNotifications.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9C5DCD48242AFA7C00C41106 /* UserNotifications.framework */; }; - 9CA90FFDDFB17B61B92B95D7 /* SBUViewLifeCycle.swift in Sources */ = {isa = PBXBuildFile; fileRef = B9F1A668D1112175CCA3FF6D /* SBUViewLifeCycle.swift */; }; - 9D273BE8DD3C70A3D82D23C9 /* SBUConfig.GroupChannel.swift in Sources */ = {isa = PBXBuildFile; fileRef = A10C375772292AFABFF0AD0A /* SBUConfig.GroupChannel.swift */; }; - 9E3BE135BF0EAE8FA940AFEB /* SBUCreateChannelModule.Header.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8EA27E37EE4CD3B8C1196A1F /* SBUCreateChannelModule.Header.swift */; }; - 9E464A892570C89AD0D6D1FF /* SBUMessageInputView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1BA0C87012DA2577E784CC5A /* SBUMessageInputView.swift */; }; - 9E5E52CFB8B64A8F45870F4A /* SBUMessageSearchViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 44117C91BD3C421581F0637C /* SBUMessageSearchViewModel.swift */; }; - 9EABD2EBF324B54AD5A9CE7A /* SBUCacheManager.Image.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1C2602CCB8DD010DB992D487 /* SBUCacheManager.Image.swift */; }; - 9F1A52CB94E64D5E48BE95F4 /* SBUInviteUserViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 09457A747C6CB5D86E73DF00 /* SBUInviteUserViewController.swift */; }; - A04AE2A4674667AB3D4F206E /* SBUGroupChannelViewController.Deprecated.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7230B430FA270B0A908720F5 /* SBUGroupChannelViewController.Deprecated.swift */; }; - A1632A73EAABF44FB9494D3A /* SBUGroupChannelListViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = FAE84652E3E9F5611F42712B /* SBUGroupChannelListViewModel.swift */; }; - A318361896EB325D7810F440 /* SBUAdminMessageCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6182A466235E45DD4494FD0C /* SBUAdminMessageCell.swift */; }; - A34D57A9D54D52159308F9FF /* SBUUserListViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = F870408F34A9FEFF5CABEDD1 /* SBUUserListViewController.swift */; }; - A34D88E998E0928F2F1A4578 /* SBUView.swift in Sources */ = {isa = PBXBuildFile; fileRef = D997DA7BD9EEE0E0D7247E7A /* SBUView.swift */; }; - A64835BEB99D654079BE66D7 /* SBUMessageThreadTitleView.swift in Sources */ = {isa = PBXBuildFile; fileRef = B67E52A10E3C26B82A00A79A /* SBUMessageThreadTitleView.swift */; }; - A709410AC99875BC41736AAF /* SBUOpenChannelListModule.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F51BFF7FF71AF1AE106810E /* SBUOpenChannelListModule.swift */; }; - A72760F6EB0F525A47F65E8B /* SBUBaseChannelListViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F055C1BA982C9BE49037F36 /* SBUBaseChannelListViewModel.swift */; }; - A7528A9B1308810E0FED97DF /* SBUGroupChannelViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 712928ED869AF04DE14CA8D6 /* SBUGroupChannelViewController.swift */; }; - A7EE0A2A3DC8D52F96BDAC0F /* SBUConfig.Base.swift in Sources */ = {isa = PBXBuildFile; fileRef = A926925E7456E8890BF6A31A /* SBUConfig.Base.swift */; }; - A8578179A83CD0803EEBB3AA /* Float+SBUKit.swift in Sources */ = {isa = PBXBuildFile; fileRef = B90408E6901BF3E4EF9A6A71 /* Float+SBUKit.swift */; }; - A89B237A822C0C0496CF58D9 /* SBUUserListModule.Header.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0AA19A4952F30FA89DA86ABF /* SBUUserListModule.Header.swift */; }; - A8CD610E96BA0C8EC5AE0D8F /* SBUGroupChannelSettingCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0E9D1ECE58F951EC1E173518 /* SBUGroupChannelSettingCell.swift */; }; - A8D081FC66D7BEDF97A6E698 /* SBUOpenChannelAdminMessageCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6F9F628FDF6A61E615B6C68E /* SBUOpenChannelAdminMessageCell.swift */; }; + 9CB66374BE7A6C6041D91DB9 /* SBUBaseChannelListModule.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8DC6A7F5C2A85CF37FDEEEAD /* SBUBaseChannelListModule.swift */; }; + 9E4636A296E592EDAD05479E /* SBUPropertyWrapper.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2514B495E19B2FB056DFA6D0 /* SBUPropertyWrapper.swift */; }; + 9EF3CD474B2401AA57C4D8A4 /* SBUAlertView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FBD350C55E39A7B799BCF0AC /* SBUAlertView.swift */; }; + 9EFF30A4B5C23E442CD5D9D0 /* SBUBaseViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = A70B88064CE5A0E5EC0256D1 /* SBUBaseViewController.swift */; }; + A0CF463BA7F08A0627DCF258 /* SBUConfig.OpenChannel.swift in Sources */ = {isa = PBXBuildFile; fileRef = FFF48131321A48C3ECE72909 /* SBUConfig.OpenChannel.swift */; }; + A1620FEFE41906E92DF059C6 /* SBUUserMessageTextViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 48F97E604C4D028A56692542 /* SBUUserMessageTextViewModel.swift */; }; + A1F095222A8C0FC25CDD4473 /* SBUAdminMessageCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = C38D466776D2D1FC1D43CC84 /* SBUAdminMessageCell.swift */; }; + A28501F7E8E246401323AA98 /* SBUOpenChannelUnknownMessageCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 20C42E5B0C3A1DD286A42DB3 /* SBUOpenChannelUnknownMessageCell.swift */; }; + A2CA608CA7791D7007EF807C /* SBUConfig.Base.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9F79C883AF808F46D53AA6A6 /* SBUConfig.Base.swift */; }; + A30F9E969DA6843D00E93C04 /* SBUOpenChannelSettingsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 58561CDFA47CA0153A191EE1 /* SBUOpenChannelSettingsViewController.swift */; }; + A730513C08C36310F121CB9E /* SBUTemplateLabel.swift in Sources */ = {isa = PBXBuildFile; fileRef = D92A8ABEDD7976632D47CB4A /* SBUTemplateLabel.swift */; }; A93AE87B2A383CAA00AFFF9C /* CustomBaseViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = A93AE84F2A383CAA00AFFF9C /* CustomBaseViewController.swift */; }; A93AE87C2A383CAA00AFFF9C /* ChannelListCustomManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = A93AE8522A383CAA00AFFF9C /* ChannelListCustomManager.swift */; }; A93AE87D2A383CAA00AFFF9C /* InviteUserCustomManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = A93AE8532A383CAA00AFFF9C /* InviteUserCustomManager.swift */; }; @@ -303,121 +302,130 @@ A968B36A28C86B5700271C60 /* LiveStreamChannelListViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = A968B36928C86B5700271C60 /* LiveStreamChannelListViewModel.swift */; }; A968B36C28C86B8600271C60 /* LiveStreamChannelListModule.List.swift in Sources */ = {isa = PBXBuildFile; fileRef = A968B36B28C86B8600271C60 /* LiveStreamChannelListModule.List.swift */; }; A968B36E28C9AB7F00271C60 /* LiveStreamChannelModule.Media.swift in Sources */ = {isa = PBXBuildFile; fileRef = A968B36D28C9AB7F00271C60 /* LiveStreamChannelModule.Media.swift */; }; - A9DDA11D39EE8E356550374C /* CommonProtocols.swift in Sources */ = {isa = PBXBuildFile; fileRef = FFA13020BBE9D75804CB91BA /* CommonProtocols.swift */; }; - AB7FF08F5E320CD9A6C461F3 /* SBUOpenChannelModule.Media.swift in Sources */ = {isa = PBXBuildFile; fileRef = F0E60BD1DEC0210E89A7CE0A /* SBUOpenChannelModule.Media.swift */; }; - AC215F52044E8ADE191EF45D /* SBUPaddingLabel.swift in Sources */ = {isa = PBXBuildFile; fileRef = E42A760169891FCADA183D72 /* SBUPaddingLabel.swift */; }; - AC66D3F9B86552DF7C7338B9 /* SBUCoverImageView.Deprecated.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4FC80D245E9FB11E15A59DDC /* SBUCoverImageView.Deprecated.swift */; }; - AC79DD42A2977E0D9E0EBC26 /* SBUCommonViewControllerSet.swift in Sources */ = {isa = PBXBuildFile; fileRef = BF0FC01F0C50DE661AB32FFB /* SBUCommonViewControllerSet.swift */; }; - AE29433792C77296A7922613 /* SBUVoiceRecorder.swift in Sources */ = {isa = PBXBuildFile; fileRef = BAEB3D4C64DA718433CA5472 /* SBUVoiceRecorder.swift */; }; - AE4157EAD5D853B923EC5A9A /* SBUChatNotificationChannelModule.Header.swift in Sources */ = {isa = PBXBuildFile; fileRef = 59F9AC587CF5189E33D71E88 /* SBUChatNotificationChannelModule.Header.swift */; }; - AE5D4BBEC4144CD8493250C1 /* SBUPhotoCollectionViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = CA69FD2A69D7E8B0CD7AECDA /* SBUPhotoCollectionViewCell.swift */; }; - B03B27C25300CB1551834B93 /* SBUCreateOpenChannelModule.swift in Sources */ = {isa = PBXBuildFile; fileRef = 07CC14B0F5E1F5699623B657 /* SBUCreateOpenChannelModule.swift */; }; - B0BE8FE2DBC4F3237FFAD549 /* SBUBaseViewController.Unavailable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8753F1339E8DBD222A2B3FDB /* SBUBaseViewController.Unavailable.swift */; }; - B103536AAABC0FC764F5D245 /* SBULinkClickableTextView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 46E6016A79DA811F2A40D515 /* SBULinkClickableTextView.swift */; }; - B3F20B1546486FB269027331 /* SBUBaseChannelListModule.List.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4FB51413E4A65324175791F4 /* SBUBaseChannelListModule.List.swift */; }; - B600CE3D553710EE0DE0A958 /* SBUUnknownMessageCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = C574FCB82609E4273FB71874 /* SBUUnknownMessageCell.swift */; }; - B618DDA3F915442C5E77EC94 /* SBUOpenChannelListViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = C25BCCD7B2124F4B480738D1 /* SBUOpenChannelListViewController.swift */; }; - B7A98E50E4BDD3F0A27F9C3A /* SendbirdUI.swift in Sources */ = {isa = PBXBuildFile; fileRef = 46EE6760111F41D813A6CBE7 /* SendbirdUI.swift */; }; - B7CAC0EF6E5F6B0F7A7D60BD /* SBUUser.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63ED80A9E207ADF7C3DC57D2 /* SBUUser.swift */; }; - B7CC26E1C7F03259AE36D0C0 /* Base.xcconfig in Resources */ = {isa = PBXBuildFile; fileRef = 2A30F5261267CB356D24F78C /* Base.xcconfig */; }; - BCD953D6898968D065483F92 /* SBUOpenChannelSettingsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 99EF1345B00A366E92E96EA2 /* SBUOpenChannelSettingsViewController.swift */; }; - BD6414B8E6531B348C7640EF /* SBUTheme+Type.swift in Sources */ = {isa = PBXBuildFile; fileRef = 582183947EB0E2D98FCDBBA9 /* SBUTheme+Type.swift */; }; - BD7A5F548CF77D225DD98A17 /* SBUBaseChannelSettingsModule.List.swift in Sources */ = {isa = PBXBuildFile; fileRef = 176BBAE6FEBA0033CE36DE42 /* SBUBaseChannelSettingsModule.List.swift */; }; - BDB3B09F121C9FB98AC028CD /* SBUModuleSet.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0AC2E2734C3F6F9FC9A220E4 /* SBUModuleSet.swift */; }; - BE3A984FAF6C229AF54996BF /* SBUGroupChannelSettingsModule.swift in Sources */ = {isa = PBXBuildFile; fileRef = ABF6D8978453B5ABDC0A6A10 /* SBUGroupChannelSettingsModule.swift */; }; - BF7BF435DE7A943D41A508B5 /* SBUHighlightMessageInfo.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9D1663DA71CB2D2147CE52B3 /* SBUHighlightMessageInfo.swift */; }; - C1AA2885FCA3E6EEEF7AAF27 /* SBUFeedNotificationChannelModule.CategoryFilter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7F749212D2FDB736A08759F9 /* SBUFeedNotificationChannelModule.CategoryFilter.swift */; }; - C1EC2A83039778393E664A87 /* SBUNotificationChannelManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = FB3CA5D40416453EA79690E0 /* SBUNotificationChannelManager.swift */; }; - C2524067B2B4C03541DA6191 /* SBUGroupChannelSettingsModule.Header.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7163704D198E16CB0F8B61F9 /* SBUGroupChannelSettingsModule.Header.swift */; }; - C2D01009E07E44231831E2CD /* SBUOpenChannelSettingsModule.Header.swift in Sources */ = {isa = PBXBuildFile; fileRef = 955081971B458CB8DEF0DAA9 /* SBUOpenChannelSettingsModule.Header.swift */; }; - C2FD3B9ABC3F7394346AB587 /* BaseMessage+SBUIKit.swift in Sources */ = {isa = PBXBuildFile; fileRef = C366A9CFD849A21F73C98D33 /* BaseMessage+SBUIKit.swift */; }; - C3580AF2CCE8E1060E3D980B /* SBUOpenChannelModule.List.swift in Sources */ = {isa = PBXBuildFile; fileRef = FA659518F52632C707A7BACC /* SBUOpenChannelModule.List.swift */; }; - C3CD0B19F90DA77D1AD74373 /* StringProtocol+SBUIKit.swift in Sources */ = {isa = PBXBuildFile; fileRef = B4265C557000D9A84EB804D2 /* StringProtocol+SBUIKit.swift */; }; - C59AD293A618FFDC0224A52F /* SBUBaseChannelModule.Input.swift in Sources */ = {isa = PBXBuildFile; fileRef = C149553A6F22390FB2C9AC3B /* SBUBaseChannelModule.Input.swift */; }; - C6FABFB22277BCDF93FA6303 /* SBUToastManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = D80C3E87A0B1C138BA3AB9D7 /* SBUToastManager.swift */; }; - C70035324D674CBFD3CB48F4 /* SBUFeedNotificationCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7FF8417CBFE3DF9176C20246 /* SBUFeedNotificationCell.swift */; }; - C7F93F2CE0D0C22A9922D022 /* SBUPermissionManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1FE58118E1B5B6919864A1EE /* SBUPermissionManager.swift */; }; - C86A7259DB0D2EAC6B708AB4 /* SBUCreateOpenChannelModule.ProfileInput.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3BA182AFC944780992BD718F /* SBUCreateOpenChannelModule.ProfileInput.swift */; }; - C986FB28535F1E6616C7A20E /* SBUUtils.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4A24AF8D17F54CCB73E89AD1 /* SBUUtils.swift */; }; - C9FCD6BE1699882644B794FF /* SBUChatNotificationChannelModule.List.swift in Sources */ = {isa = PBXBuildFile; fileRef = 88D6DD9ED801960EF18A8052 /* SBUChatNotificationChannelModule.List.swift */; }; - CA9378C077304E695232D1AD /* UINavigationController+SBUIKit.swift in Sources */ = {isa = PBXBuildFile; fileRef = ABAD6988201CD077774B24EF /* UINavigationController+SBUIKit.swift */; }; - CADCB9FB8414B5DC9BFE4EB0 /* SBUMenuCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 437D9356B629D4165BBAC7A9 /* SBUMenuCell.xib */; }; - CD146FD51959CADF75D6D16F /* SBUCreateOpenChannelModule.Header.swift in Sources */ = {isa = PBXBuildFile; fileRef = 90860729D1AF1AA3A3609AA2 /* SBUCreateOpenChannelModule.Header.swift */; }; - CDF3FBB73950A2B1A7101511 /* SBUGroupChannelSettingsModule.List.swift in Sources */ = {isa = PBXBuildFile; fileRef = 024F442AD5E6D010C897A896 /* SBUGroupChannelSettingsModule.List.swift */; }; - D010D0CAD35220C99851EB36 /* SBUConfig.CodingKeys.swift in Sources */ = {isa = PBXBuildFile; fileRef = 72572E7ADB5D09980E8DE158 /* SBUConfig.CodingKeys.swift */; }; - D0E9694BCE8ECA683DD7FAD8 /* SBUMentionManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 03D5912747C5BF8CFE0AA614 /* SBUMentionManager.swift */; }; - D18AC1E9D653A50D041E3FA8 /* SBUGroupChannelModule.Input.swift in Sources */ = {isa = PBXBuildFile; fileRef = D522104B1AFF83B8863F347B /* SBUGroupChannelModule.Input.swift */; }; - D1A9399A0F188D545786CF34 /* SBUTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5EEB6A0D30457C08AE9E04DF /* SBUTableViewCell.swift */; }; - D1DBB9867342E9ADC82E7476 /* SBUDateFormatSet.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8C403622DBFAE9857B88659D /* SBUDateFormatSet.swift */; }; - D2547499A4286C84DF4616F8 /* SBUOpenChannelModule.Header.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4D308B092AB76D0FA32B7CDD /* SBUOpenChannelModule.Header.swift */; }; - D4B32F8C267A0CBC014163A7 /* SBUMessageCellConfiguration.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5F56809D086843E5C4BDEC0A /* SBUMessageCellConfiguration.swift */; }; - D586317151F928164739F03B /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = C833B9D8C1AC36EA5C5859C1 /* Assets.xcassets */; }; - D6AF07B9A6FFB681A8B550F1 /* SBUVoiceContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2781209E32A0D237BDCAAB81 /* SBUVoiceContentView.swift */; }; - D6DC3E37B79B7FB30B997115 /* SBUUserMessageCellParams.swift in Sources */ = {isa = PBXBuildFile; fileRef = 490089EAC8AEBC593D2F1469 /* SBUUserMessageCellParams.swift */; }; - D70A23528BF193C531C04F42 /* SBUMessageSearchViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = C0806472406037540B2F1D35 /* SBUMessageSearchViewController.swift */; }; - D7A7C2F1AAA1F2C859FED9B7 /* SBUOpenChannelUserMessageCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 823A18F321AF6585BC03A700 /* SBUOpenChannelUserMessageCell.swift */; }; - D8A2D53B08254E915FFA59C9 /* SBUEnums.Deprecated.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4BB66C638BDDBC853B7833D0 /* SBUEnums.Deprecated.swift */; }; - D8CAF3D6E484A824572E9566 /* SBUCategoryFilterCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = F6E222209B7D5570C0BC7F7C /* SBUCategoryFilterCell.swift */; }; - DA2570065DF5275E4242A836 /* SBUMessageThreadModule.List.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3809554B51090A3F7899AB3B /* SBUMessageThreadModule.List.swift */; }; - DA8DD81CE10ED9DFDCB2ACCE /* SBUGroupChannelModule.List.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9CCE2DF1CBADEB8B8B607F78 /* SBUGroupChannelModule.List.swift */; }; - DAC86D1C8011F743368B4740 /* SBUModerationsModule.Header.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0C33B74F5CF56F47ECD999D /* SBUModerationsModule.Header.swift */; }; - DC7E77C36DE5ADD097F823DD /* SBUBaseChannelListViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 09EEEEE29A1FD1FF665908C9 /* SBUBaseChannelListViewController.swift */; }; - DCDCB71CF3BE44B3326717EE /* SBUGroupChannelPushSettingsModule.Header.swift in Sources */ = {isa = PBXBuildFile; fileRef = C68A8D51213F4FDF9212C354 /* SBUGroupChannelPushSettingsModule.Header.swift */; }; - DD303C23370F67B0D2B59DD9 /* SBUOpenChannelBaseMessageCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 462A08542D105BB7ED0C8775 /* SBUOpenChannelBaseMessageCell.swift */; }; - DD9D068C60EC41BAFB8EDA41 /* SBUInviteUserModule.swift in Sources */ = {isa = PBXBuildFile; fileRef = A1E4C03DF14A513EEDB36609 /* SBUInviteUserModule.swift */; }; - DD9F3623E45A04AA8A7ED879 /* SBUNotificationCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2893CDF96F20D479509AA410 /* SBUNotificationCell.swift */; }; - DDAD4133CC27697695C8A0F7 /* SBUBaseSelectUserViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 350E017DA6404DE6E7EAD4FC /* SBUBaseSelectUserViewModel.swift */; }; - DE5658A94DF9076D380C2D1D /* SBUBarButtonItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 679F20E8CA5E8CF79CF99791 /* SBUBarButtonItem.swift */; }; - DEBCE3CB84BB1FEB9087F4EF /* SBUCreateChannelTypeSelector.swift in Sources */ = {isa = PBXBuildFile; fileRef = CBC52FAB88FE4DEF456B6251 /* SBUCreateChannelTypeSelector.swift */; }; - DF6E18172F4F8D1F8DEB30B5 /* SBUModuleSet.Deprecated.swift in Sources */ = {isa = PBXBuildFile; fileRef = 968F1E62124C9EEA0B2FF48D /* SBUModuleSet.Deprecated.swift */; }; - E0EDD781382B44327D17A53A /* SBUMessageThreadModule.swift in Sources */ = {isa = PBXBuildFile; fileRef = B2AD981050096BDD0EF9D1E4 /* SBUMessageThreadModule.swift */; }; - E23284E436EBC223F473DB4B /* SBUBaseChannelSettingsViewController.Deprecated.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2276E73C6047227D1C480D6F /* SBUBaseChannelSettingsViewController.Deprecated.swift */; }; - E2900C856C1013B3BA8E31C3 /* SBUGroupChannelPushSettingsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C400E3A68BC7FC4B23527F9 /* SBUGroupChannelPushSettingsViewController.swift */; }; - E2D800489A9B36049363F37B /* SBUOpenChannelImageContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2C34EB1C50E7C6BEDDE33D95 /* SBUOpenChannelImageContentView.swift */; }; - E2F9B0E30EEAF8F1403F669D /* SBUBaseSelectUserModule.List.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3D73C0000124C290F7231688 /* SBUBaseSelectUserModule.List.swift */; }; - E39EBC30E3C9A8C28DF65B57 /* SBUChannelSettingItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 99628FF2DD4C624ED959C3A8 /* SBUChannelSettingItem.swift */; }; - E4AD5C57D0F308812605751D /* SBUBaseChannelSettingsViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 648ECEBED8A76D3D207A6B8D /* SBUBaseChannelSettingsViewModel.swift */; }; - E4BB99A2A751BE936C7E59C1 /* SBUQuoteMessageInputView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 563F30D4CBF0380CAF07C8CD /* SBUQuoteMessageInputView.swift */; }; - E4F99740AFD1B4161B83DD2E /* SBUOpenChannelMessageWebView.swift in Sources */ = {isa = PBXBuildFile; fileRef = CD9B119FF8D3C56B99E1FDB3 /* SBUOpenChannelMessageWebView.swift */; }; - E7053AD64868D87BC4EAA992 /* SBUVoiceFileInfo.swift in Sources */ = {isa = PBXBuildFile; fileRef = 71DBF1E6CE1B3D24993B918C /* SBUVoiceFileInfo.swift */; }; - E7197C700E085143F75248CF /* SBUMessageThreadViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2335722CCE089DDD7D9C47DB /* SBUMessageThreadViewController.swift */; }; - E9886A5B54B85C70C0629D33 /* QuotedFileImageContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 92BCE5C268C9DCE0C655F7B1 /* QuotedFileImageContentView.swift */; }; - E9B47258F578597E1707C35E /* SBUOpenChannelContentBaseMessageCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 567E436A5967824ECE81F932 /* SBUOpenChannelContentBaseMessageCell.swift */; }; - EA3746DD29CBF798CFFF82E2 /* SBUMenuCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 14AD8F1C91FC677028DC62D6 /* SBUMenuCell.swift */; }; - EB38917826EF4F0367655A95 /* SBUThreadInfoView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 62C2EE24C2816C071814A6AE /* SBUThreadInfoView.swift */; }; - EB8EDF11B8A4E5E76A7F582F /* SBURegisterOperatorModule.List.swift in Sources */ = {isa = PBXBuildFile; fileRef = 09D932D7CEF5244328AE20B1 /* SBURegisterOperatorModule.List.swift */; }; - EC20E226D4B72C25F92A5662 /* SBUMention.swift in Sources */ = {isa = PBXBuildFile; fileRef = D2162CEE7B2E1446ABD07AEA /* SBUMention.swift */; }; - EC5AF83F4D4B7D18E869EF0B /* SBUContentBaseMessageCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9B9F65DA4E371C5717532414 /* SBUContentBaseMessageCell.swift */; }; - EC72EC87899F13C163247DE8 /* SBUMentionConfiguration.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3DD833227594C6DD421F010D /* SBUMentionConfiguration.swift */; }; - EC7B34B59B079670DA72C865 /* SBUDownloadManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = AA44F40715104AB63E8F4591 /* SBUDownloadManager.swift */; }; - ED38A98C1A256971FCCE8413 /* QuotedFileCommonContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = D7B07F66713F5731071FE131 /* QuotedFileCommonContentView.swift */; }; - ED94083D2E83D99F77614D46 /* SBUQuotedMessageViewProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8269A4E5EB2D3897F9A0E7BD /* SBUQuotedMessageViewProtocol.swift */; }; - EDC9D39DE27040A29AA259F5 /* SBUSuggestedMentionList.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7E2412D9BFE1BBE5814267D5 /* SBUSuggestedMentionList.swift */; }; - EDFCE90D978DB8870B728C7E /* SBUUserProfileView.swift in Sources */ = {isa = PBXBuildFile; fileRef = CC738422864320EE0D1B8BA1 /* SBUUserProfileView.swift */; }; - EE067BB90CD9DC2DCE8FF676 /* SBUMarginView.swift in Sources */ = {isa = PBXBuildFile; fileRef = E31C28FB87F4B7FEEAB0BFB6 /* SBUMarginView.swift */; }; - EE8FF4C9B6D4EAC08A249867 /* SBUSelectablePhotoViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 30DFE59DBCE853547995030E /* SBUSelectablePhotoViewController.swift */; }; - EEA2CA5CCB4D49081490164C /* SBUEnums.swift in Sources */ = {isa = PBXBuildFile; fileRef = 758C9DDD6BCAB2A6B26B713C /* SBUEnums.swift */; }; - F11F6CC521C5C905395BC723 /* SBUChannelSettingsChannelInfoView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 75F6C830EC87D9A4CB6C6A03 /* SBUChannelSettingsChannelInfoView.swift */; }; - F2A3C0046735F4F87E24F507 /* SBUCommonDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 66A81B07262521C357347AEA /* SBUCommonDelegate.swift */; }; - F337FAB2EC4D5563704CF570 /* SBUMessageSearchResultCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2967178EF3EFA8D6A41CFFC5 /* SBUMessageSearchResultCell.swift */; }; - F36959F452728AF100894A18 /* SBUNewNotificationInfo.swift in Sources */ = {isa = PBXBuildFile; fileRef = F401232C26984285B5693E43 /* SBUNewNotificationInfo.swift */; }; - F4EE7E1F74825A233931596C /* SBUMessageThreadModule.Header.swift in Sources */ = {isa = PBXBuildFile; fileRef = 14194C9B518F7A309B58C3E6 /* SBUMessageThreadModule.Header.swift */; }; - F61CAF734E20C59920F278BE /* SBUBaseChannelListModule.Header.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1C35F322447BAC191DB159BC /* SBUBaseChannelListModule.Header.swift */; }; - F76D48BF0F43C88D4E1AED99 /* SBUBaseChannelModule.Header.swift in Sources */ = {isa = PBXBuildFile; fileRef = F25D522295FD46C16A95691F /* SBUBaseChannelModule.Header.swift */; }; - F80B4DCD7EC4509842F353E1 /* SBUAnimation.swift in Sources */ = {isa = PBXBuildFile; fileRef = B8144206215194D4C2E1434C /* SBUAnimation.swift */; }; - F84803DD1876CBA58B88392C /* SBUOpenChannelListViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = F0BC8F66C614AF4E15B9D9F7 /* SBUOpenChannelListViewModel.swift */; }; - F8B7561477019E49D263422D /* SBUColorSet.swift in Sources */ = {isa = PBXBuildFile; fileRef = 97102E9B2731215E96EE8A54 /* SBUColorSet.swift */; }; - F920FD171E935A14DA9807FC /* SBUCreateChannelModule.List.swift in Sources */ = {isa = PBXBuildFile; fileRef = 44D2603F7A27EDC03D640F40 /* SBUCreateChannelModule.List.swift */; }; - F978F2F3AE7202D049BE3639 /* SBUChatNotificationChannelViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = DA6BF15E9FF7A38F3D6123DF /* SBUChatNotificationChannelViewModel.swift */; }; - F9D69DCADA28486A2BDF80AB /* SBUCacheManager.File.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0BA350E5D0D2B11A44542BD7 /* SBUCacheManager.File.swift */; }; - F9FB0B79624CF42CCEF798C9 /* SBUOpenChannelViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4194CDBF7BDC775814846626 /* SBUOpenChannelViewModel.swift */; }; - FB918534AB29B264DFCA524B /* SBUParentMessageInfoReactionView.swift in Sources */ = {isa = PBXBuildFile; fileRef = F3B66E70DD543A61EE79F4F5 /* SBUParentMessageInfoReactionView.swift */; }; - FC4CA085C05B616140B6B56D /* SBUReplyConfiguration.swift in Sources */ = {isa = PBXBuildFile; fileRef = ABA1E5CEE9665CD9F3866573 /* SBUReplyConfiguration.swift */; }; - FC6BDADFCCEEA9001072AF1B /* SBUBaseChannelCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = C00E91C2BC16DAA3EB45B9DC /* SBUBaseChannelCell.swift */; }; - FD08E0ABF09EC90B1A83FBB2 /* SBURegisterOperatorViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63C0164951E15BA1E1F5702C /* SBURegisterOperatorViewController.swift */; }; - FE72A674BDEBEEA454730DD2 /* SBUMessageCellProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 893A8E03E551E5C616D80E4A /* SBUMessageCellProtocol.swift */; }; - FE937EC0CD4E6292694844E0 /* SBUAvailable.swift in Sources */ = {isa = PBXBuildFile; fileRef = BFC323CFD96CF3BA59127DC0 /* SBUAvailable.swift */; }; - FED4230BBCD903124C4CE1E4 /* SBUOpenChannelCommonContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9D117276E49F60D053B3F752 /* SBUOpenChannelCommonContentView.swift */; }; + A9C1944E8CD97BB6D2C9BE8A /* UIStackView.SBUIKit.swift in Sources */ = {isa = PBXBuildFile; fileRef = 13E72FCEC3FDD352E10B7BAC /* UIStackView.SBUIKit.swift */; }; + A9C2B0CA00AA6D0C22AFA554 /* SBUMenuCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = B8ED71C27EBC3D8C3FA2F018 /* SBUMenuCell.swift */; }; + A9F9842D14704C301BE3FF89 /* SBUCreateChannelModule.Header.swift in Sources */ = {isa = PBXBuildFile; fileRef = EF49797343993C422BAA4F9C /* SBUCreateChannelModule.Header.swift */; }; + AA34C01EEA6403A065F3FD91 /* SBUBaseSelectUserViewController.Deprecated.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6A659B4859220EB38295676 /* SBUBaseSelectUserViewController.Deprecated.swift */; }; + ABACAD0F0333F0044B048B68 /* SBUModerationsViewController.Deprecated.swift in Sources */ = {isa = PBXBuildFile; fileRef = 526D54493836E3FA47483E52 /* SBUModerationsViewController.Deprecated.swift */; }; + ABDCD7A61DC05D2AD448546C /* SBUMessageReactionView.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA5F1D7A198592A872E2D1DB /* SBUMessageReactionView.swift */; }; + AC87F7341648BDAE04FE1C45 /* SBUBaseChannelModule.Header.swift in Sources */ = {isa = PBXBuildFile; fileRef = 302332041096678DB4995D06 /* SBUBaseChannelModule.Header.swift */; }; + ACFE2420C0B2CC8BE7062465 /* SBUInviteUserModule.Header.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6B4AD6A82A0D24900ED39729 /* SBUInviteUserModule.Header.swift */; }; + AD8CE7135C172B2F1D6AFF77 /* SBUMultipleFilesMessageCollectionView.swift in Sources */ = {isa = PBXBuildFile; fileRef = B899559DB6AE53E3E8FB0BA6 /* SBUMultipleFilesMessageCollectionView.swift */; }; + ADC2CF7A45BCDAB41E13E4E5 /* SBUCacheManager.File.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7B783A9C517E9B0F82A8C706 /* SBUCacheManager.File.swift */; }; + AE137283F94E56B353D05D4F /* MessageTemplateParser.swift in Sources */ = {isa = PBXBuildFile; fileRef = F1F109E4FFE8C2DBCA5277C9 /* MessageTemplateParser.swift */; }; + AE3A654393157488D1933107 /* SBUMultipleFilesMessageCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1BB6F47708347698C0A46D24 /* SBUMultipleFilesMessageCell.swift */; }; + AEB9610A23C4C9CE4C47A45A /* SBUVoiceRecorder.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0EDA855D6FB7FED54CBFDBFA /* SBUVoiceRecorder.swift */; }; + B0124E94AF212AD34452C4F5 /* SBUBaseChannelSettingsModule.swift in Sources */ = {isa = PBXBuildFile; fileRef = 32BE52B9EE5FA60D10143D61 /* SBUBaseChannelSettingsModule.swift */; }; + B07534369F4F71105835AD47 /* NSObject+SBUIKit.swift in Sources */ = {isa = PBXBuildFile; fileRef = A247579F70A4FE7A9692CC07 /* NSObject+SBUIKit.swift */; }; + B173591FF23B06E2DB3E3618 /* SBUCategoryFilterCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3AB5A5360238E89E22C8E6F2 /* SBUCategoryFilterCell.swift */; }; + B3F71EE3300B87087D87CB6C /* SBUMentionConfiguration.swift in Sources */ = {isa = PBXBuildFile; fileRef = B12EA3F9B4076FCC467F3128 /* SBUMentionConfiguration.swift */; }; + B5620076C0663A829B1A4F0A /* SBUUserNameView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 75BAE019370F0A7CBDAD2593 /* SBUUserNameView.swift */; }; + B582723D175B30E8F3F34C07 /* SBUSelectablePhotoViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = CEDF904EB74FE7B16D0F829F /* SBUSelectablePhotoViewController.swift */; }; + B6684836709BB48C70FE85C6 /* SBUBaseChannelViewController.Keyboard.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4A2A8E48D3DD64754017EEB1 /* SBUBaseChannelViewController.Keyboard.swift */; }; + B68204BF12F1DBF81705EEDE /* SBUBaseChannelSettingsViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = F60AA35EE472F3CCE0177E89 /* SBUBaseChannelSettingsViewModel.swift */; }; + B8427442F8180B2319124F2D /* SBUUserListModule.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33E2A47947BA8AA0C884C1FB /* SBUUserListModule.swift */; }; + B8497BA5E62668AD1FAC3D6D /* SBUToastManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD44A2E4E60130914AC59A33 /* SBUToastManager.swift */; }; + B8E03201CFAF3E8E5501306E /* UIColor+SBUIKit.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1207CA3F95A8B8D438FC01DF /* UIColor+SBUIKit.swift */; }; + B93B895A60C7AEAA2CA75B6A /* SBUOpenChannelModule.List.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8ABB490EC5DDF7FC8133E678 /* SBUOpenChannelModule.List.swift */; }; + BA5DAC72E102DA09DEDB7AB1 /* SBUTheme.swift in Sources */ = {isa = PBXBuildFile; fileRef = 07A3B3ED641C57ECB4CBDCB1 /* SBUTheme.swift */; }; + BBD2C1D5469F13EE3BA60693 /* SBUOpenChannelViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = F9FAD7D127F4F5ED1BA49D5B /* SBUOpenChannelViewModel.swift */; }; + BD7B27D38157C0E8506B4B42 /* SBUFeedNotificationChannelModule.CategoryFilter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4922F3BB61489E573C4FD01D /* SBUFeedNotificationChannelModule.CategoryFilter.swift */; }; + BF6296082790C189E05C575A /* SBUMentionLimitGuideCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = C52DF9F35F976E821DB3FFC1 /* SBUMentionLimitGuideCell.swift */; }; + C03562D577CCB7C2115B3B00 /* SBUGroupChannelPushSettingsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 67925B73FD9C41D7449D159C /* SBUGroupChannelPushSettingsViewController.swift */; }; + C0971226D7BB1DBC18638C91 /* SBUOpenChannelSettingsModule.Header.swift in Sources */ = {isa = PBXBuildFile; fileRef = F382B12B070D045EB4512497 /* SBUOpenChannelSettingsModule.Header.swift */; }; + C0F4A5E290973881D0BA05FD /* CommonProtocols.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5962390A18B1E64AB7B2DFD1 /* CommonProtocols.swift */; }; + C135F041623E9A5DDC4EBD7D /* SBUUserListViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 11E50F5CA899D8E6E098099B /* SBUUserListViewController.swift */; }; + C27A049F2FE161C4CD4B4989 /* SBUConfig.CodingKeys.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9BDB5CCC10BF6EDE6A843ECD /* SBUConfig.CodingKeys.swift */; }; + C55414DD2CFD09AB3E7F5D83 /* SBUOpenChannelViewController.Deprecated.swift in Sources */ = {isa = PBXBuildFile; fileRef = DA27B0D996B904E549C03FC3 /* SBUOpenChannelViewController.Deprecated.swift */; }; + C5B9ECCFDFE614CCCEC6C3D1 /* SBUInviteUserModule.List.swift in Sources */ = {isa = PBXBuildFile; fileRef = EB19E15D1DC51A9150CFBB23 /* SBUInviteUserModule.List.swift */; }; + C62D9E50BF66EF392917C3C3 /* QuotedFileCommonContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 818E2B283C48F1759DA023AC /* QuotedFileCommonContentView.swift */; }; + C6A3B6AA3B71FE949CBEEE47 /* SBUCreateChannelTypeSelector.swift in Sources */ = {isa = PBXBuildFile; fileRef = AE010990F4E0CC6C9CBD49E9 /* SBUCreateChannelTypeSelector.swift */; }; + C79248847095FACF69877476 /* SBUMenuCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 9D6830C75811AAA169605D6C /* SBUMenuCell.xib */; }; + C8F0CB0F8AA19115BF1BA81D /* SBUBaseViewController.Unavailable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 32C7378296021101C2766A7C /* SBUBaseViewController.Unavailable.swift */; }; + C8F19F0BAD7CFCE86624C374 /* SBUNotificationChannelManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6798FA32FA6F643564E127E4 /* SBUNotificationChannelManager.swift */; }; + C8F4616666A449BD0DE8307C /* SBUBaseChannelViewController.Deprecated.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9B75DDC4498D2623FAD0C5FA /* SBUBaseChannelViewController.Deprecated.swift */; }; + C96F9257BACE4D7C007E12AD /* SBUQuotedBaseMessageViewParams.Deprecated.swift in Sources */ = {isa = PBXBuildFile; fileRef = 23CCFD9D18CB798AC4AEF2C9 /* SBUQuotedBaseMessageViewParams.Deprecated.swift */; }; + C9DCBD7A109F5128640202C6 /* SBUNotificationCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5E1FB5490D5EF329AC15FDD5 /* SBUNotificationCell.swift */; }; + CB330770F7A7B7467C092A81 /* SBUAdminMessageCellParams.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4DD452516989FEA91AFADC93 /* SBUAdminMessageCellParams.swift */; }; + CB7812B9A923CE615DA50071 /* SBUChatNotificationChannelModule.List.swift in Sources */ = {isa = PBXBuildFile; fileRef = BF761A2A9ED1640AF2ADE2E3 /* SBUChatNotificationChannelModule.List.swift */; }; + CD561DDE5200B5B42EC80074 /* SBUMessageStateView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1C00F77AEE0355AEE6B3DB5F /* SBUMessageStateView.swift */; }; + CD9D05703093793D48644610 /* SBUImageContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3A49DB51A418B99D79F934EA /* SBUImageContentView.swift */; }; + CF2E6687CAAF01373B8BEB72 /* String+SBUIKit.swift in Sources */ = {isa = PBXBuildFile; fileRef = F8441759E1365B6F02706EE5 /* String+SBUIKit.swift */; }; + CF42F1803FC7C61101F4ACFA /* Sequence+SBUIKit.swift in Sources */ = {isa = PBXBuildFile; fileRef = 39083B02EAD9C247C1EC40A9 /* Sequence+SBUIKit.swift */; }; + CF5B48CB04BA487C8D8A4865 /* SBUChannelSettingItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = FDFDE39804434C853ECDBF0E /* SBUChannelSettingItem.swift */; }; + D074B07DFAC19860602A838F /* SBUMessageThreadModule.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1FDBDD578E2F7FA0A5E1B54A /* SBUMessageThreadModule.swift */; }; + D0B9B4A4AB4479BAF4E884E8 /* SBUMessageSearchResultCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 01861E0054CA3370504E1DDD /* SBUMessageSearchResultCell.swift */; }; + D17D702BB659C22C3F83EEFE /* SBUReactionCollectionViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 47B90A74B0D971A3E842E238 /* SBUReactionCollectionViewCell.swift */; }; + D1C026CF84703EFDB86DA6DA /* Release.xcconfig in Resources */ = {isa = PBXBuildFile; fileRef = 003A4159224E75730065916E /* Release.xcconfig */; }; + D29A2267F0CC26DF5F86522A /* SBUGroupChannelSettingCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = A622180754259EB9D9AF14C1 /* SBUGroupChannelSettingCell.swift */; }; + D3112E51B68DB655FB67B36D /* SBUView.Unavaliable.swift in Sources */ = {isa = PBXBuildFile; fileRef = D67327E34FCF071E1772BA12 /* SBUView.Unavaliable.swift */; }; + D3E88576CDEC14B756B77D35 /* Date+SBUIKit.swift in Sources */ = {isa = PBXBuildFile; fileRef = 629C03081E11658DA7A82E42 /* Date+SBUIKit.swift */; }; + D508C49BAFA7951869E593FB /* SBUMemberListViewController.Deprecated.swift in Sources */ = {isa = PBXBuildFile; fileRef = 87D4C879F4038496C99F1EA5 /* SBUMemberListViewController.Deprecated.swift */; }; + D512626058F3669F886C77CB /* SBUReactionCollectionViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = D4F6E13D949C571B4222DB17 /* SBUReactionCollectionViewCell.xib */; }; + D55BAE3BA35023EEF7B5DDA3 /* SBUCoverImageView.swift in Sources */ = {isa = PBXBuildFile; fileRef = F00CEF513BA6D04C70ACA68A /* SBUCoverImageView.swift */; }; + D6BDD0F532AA7CD21F121830 /* SBUAnimation.swift in Sources */ = {isa = PBXBuildFile; fileRef = C4C2E4271058A6B718BE1952 /* SBUAnimation.swift */; }; + D7132A062DDC86AD94145D73 /* SBUGroupChannelListViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = F1AF7E5386850BD4E6852423 /* SBUGroupChannelListViewController.swift */; }; + D7D88EB241E7EFEF6783EBD7 /* SBUOpenChannelModule.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3B47441B1DA96A6052326738 /* SBUOpenChannelModule.swift */; }; + D7EDC5E8053777E04CBFEE95 /* SBURegisterOperatorModule.swift in Sources */ = {isa = PBXBuildFile; fileRef = DF8BFFC966654D0169B15A82 /* SBURegisterOperatorModule.swift */; }; + D80FE565FDCB4E5997C5712A /* SBUUser.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1C28482AC2CA73AF26EEA5FA /* SBUUser.swift */; }; + D8B10E9D3322B82E431398E7 /* SBUCreateOpenChannelViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 07EC9445DB307849770D05C7 /* SBUCreateOpenChannelViewController.swift */; }; + D9A3BB711ADF8135D869C95D /* SBUOpenChannelSettingCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9BCBCE96768A4B19096B69B3 /* SBUOpenChannelSettingCell.swift */; }; + D9E329F28D60B82E364D535D /* SBUTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = F438F09063E599E9FDA54E22 /* SBUTableViewCell.swift */; }; + DA39C57884B5BD579D3A9395 /* SBUOpenChannelViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = A67075B40E4E258F6F6DC7F1 /* SBUOpenChannelViewController.swift */; }; + DA96D82A8386DD35749D71DE /* SBUUnknownMessageCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2A5AC045927C39662CBDA28E /* SBUUnknownMessageCell.swift */; }; + DC834A70A3D6D1E6A2A0932D /* SBUPaddingLabel.swift in Sources */ = {isa = PBXBuildFile; fileRef = E49C1D1FB5A8A1E5272DC524 /* SBUPaddingLabel.swift */; }; + DC8CAE3A1F84A78D31CE9799 /* SBUMentionManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = FED6332A3FCFEA7BB1E45C4D /* SBUMentionManager.swift */; }; + DCA9727EDDF28C2A81222142 /* SBUChatNotificationCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6F43B9C5D2B73C2EBDDAD6D6 /* SBUChatNotificationCell.swift */; }; + DCBBACEB76FFDECC416F8EB0 /* SBUOpenChannelModule.Input.swift in Sources */ = {isa = PBXBuildFile; fileRef = DDBF87A7985E5EC71B141E9B /* SBUOpenChannelModule.Input.swift */; }; + DCF37C2E5CFC98708B9F2040 /* SBUMessageSearchModule.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9889247A78D13ED08CC5AB72 /* SBUMessageSearchModule.swift */; }; + DD0497741BEC9451A0D36278 /* Array+SBUIKit.swift in Sources */ = {isa = PBXBuildFile; fileRef = 15A5141E87E2CBA639CDAC92 /* Array+SBUIKit.swift */; }; + DE16670EDC716B4B991961EF /* VoiceMessageStatus.swift in Sources */ = {isa = PBXBuildFile; fileRef = E418216859F476744158B730 /* VoiceMessageStatus.swift */; }; + DE370087DB94A7C5FA20A5D7 /* SBUGroupChannelPushSettingsViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = A84CCAE1FD9D5623712835B6 /* SBUGroupChannelPushSettingsViewModel.swift */; }; + DF0260060A86BAEF00BD81BB /* SBUBaseChannelModule.Input.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9A1C1F16DA1D7FE0512646E6 /* SBUBaseChannelModule.Input.swift */; }; + DF2D71C277FE911ED508A0AA /* SBUGroupChannelModule.swift in Sources */ = {isa = PBXBuildFile; fileRef = 69CD9A3BF5D8725ACC9EF37D /* SBUGroupChannelModule.swift */; }; + DF7EE0A1D210E08446F56551 /* SBUQuotedBaseMessageView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8C39055FF9E021BCBB22F12A /* SBUQuotedBaseMessageView.swift */; }; + DFB20F1EC32AA9B3D81499BF /* Data+SBUIKit.swift in Sources */ = {isa = PBXBuildFile; fileRef = 05CEA342FD36EA745A3EEC0C /* Data+SBUIKit.swift */; }; + DFE467C37534F3930ED6B18A /* SBUBaseChannelViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = A6D2FA006CCC4839378F48FA /* SBUBaseChannelViewController.swift */; }; + E05E00F34A4BF0B1C0D52B10 /* SBUBaseChannelCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2C39B356B15003D43FA7F239 /* SBUBaseChannelCell.swift */; }; + E05E5BC84FE2A4FB61EC8590 /* SBUChannelSettingsChannelInfoView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0913D898B9AFD2A1F32F7DB3 /* SBUChannelSettingsChannelInfoView.swift */; }; + E0B6F5B2B0766B7D65480806 /* SBUBaseChannelSettingsModule.Header.swift in Sources */ = {isa = PBXBuildFile; fileRef = FCDC524260D017F8F7893C5E /* SBUBaseChannelSettingsModule.Header.swift */; }; + E1B3F2811A6416FB22C8DDAA /* SBUModerationsViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = A3AC2F6C287214B9C473EC00 /* SBUModerationsViewModel.swift */; }; + E4F45D1904D6419B29D91E85 /* SBUBaseMessageCellParams.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7DE6D730CC6C22AA08706A52 /* SBUBaseMessageCellParams.swift */; }; + E568F4DD1F60AD2282329446 /* SBUGroupChannelViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = B8CACC7BE15E35FC4BF0F8E9 /* SBUGroupChannelViewModel.swift */; }; + E58786E03685173C9B3206E5 /* SBUGroupChannelSettingsViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = E7A85768D4753CD4A4B39F13 /* SBUGroupChannelSettingsViewModel.swift */; }; + E5ACBC6AA9961997CD4F8C11 /* MessageTemplateRenderer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 62480E208EB58BAF0F81FD86 /* MessageTemplateRenderer.swift */; }; + E5C3DE30C2927906126D0BDC /* SBUViewControllerSet.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8E312A2EFD50BDA46D8A0376 /* SBUViewControllerSet.swift */; }; + E66E9BD0DC5E97EEAD50950E /* SBUBaseChannelListModule.List.swift in Sources */ = {isa = PBXBuildFile; fileRef = 060732560092246857AE6BE3 /* SBUBaseChannelListModule.List.swift */; }; + E6A21EE37B918BBA20A799A9 /* SBUUserMessageCellParams.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671E875BD0B3DE6D6750DF62 /* SBUUserMessageCellParams.swift */; }; + E6C45FD63850BA22818AD015 /* SBUQuotedUserMessageView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 25822B4B892DF76FDCBFF837 /* SBUQuotedUserMessageView.swift */; }; + E6F0030A600456DDE3A2A274 /* SBUChannelTitleView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 73821D5CE28EF4964F2CEB93 /* SBUChannelTitleView.swift */; }; + E7FB7CA5B056D1ABF6BC78A0 /* SBUCommonContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6140F3C94EEA9D0286B685A5 /* SBUCommonContentView.swift */; }; + E90A86675C56DD52C6745E0E /* SBUOpenChannelListViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8794A6A6C2E96D25AB39EB54 /* SBUOpenChannelListViewController.swift */; }; + EA543087A188A2C93E8715EA /* SBUModerationsModule.Header.swift in Sources */ = {isa = PBXBuildFile; fileRef = 83D2E25066DC434B4585A930 /* SBUModerationsModule.Header.swift */; }; + ED6450D47B61D63E7F105211 /* NSLayoutConstraint+SBUIKit.swift in Sources */ = {isa = PBXBuildFile; fileRef = D2E8B6E73F38205D57B17B03 /* NSLayoutConstraint+SBUIKit.swift */; }; + EDE2A8DEA18F032321BDD578 /* SBUBaseChannelModule.swift in Sources */ = {isa = PBXBuildFile; fileRef = B25A9D899DD0E12BFCC804B3 /* SBUBaseChannelModule.swift */; }; + EE1FEA34EB983897D2CA620F /* SBUMessageCache.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7E81839538B44256968CE563 /* SBUMessageCache.swift */; }; + EE6B3BDBA9BC8621D35D064A /* SBUOpenChannelListModule.Header.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5E1FF50DD60FA14EEDE320FA /* SBUOpenChannelListModule.Header.swift */; }; + EF1689994B3068C5F8459DC4 /* SBUMessageThreadModule.Input.swift in Sources */ = {isa = PBXBuildFile; fileRef = 15414E13F4031FA78B2F1B8C /* SBUMessageThreadModule.Input.swift */; }; + EFD715EB64689E3955F6D45C /* StringProtocol+SBUIKit.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8D2EB0D647B8052A61269A5C /* StringProtocol+SBUIKit.swift */; }; + F1861D3D34E4425C0E1DBC72 /* SBUVoiceFileInfo.swift in Sources */ = {isa = PBXBuildFile; fileRef = 13E99AC16B4603925740F244 /* SBUVoiceFileInfo.swift */; }; + F261D342AA2BC646F84D79CB /* SBUCreateChannelModule.List.swift in Sources */ = {isa = PBXBuildFile; fileRef = 122E3873A1131B5E4DBFA6F5 /* SBUCreateChannelModule.List.swift */; }; + F27587ABF4A78674032D32A0 /* SBUPermissionManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7AB130B24FD0C7F8AF989E2D /* SBUPermissionManager.swift */; }; + F2B64212D0649E921CEAAE40 /* SBUModerationsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 23129C22A301611A69D18377 /* SBUModerationsViewController.swift */; }; + F2FD3AA8C41884CC3D45A28D /* SBUOpenChannelListModule.List.swift in Sources */ = {isa = PBXBuildFile; fileRef = 52C7B49F09393FA5D87AEFF8 /* SBUOpenChannelListModule.List.swift */; }; + F332348BE328C4C8706483FE /* SBUSelectableStackView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4BC8A61F1C824B4B05829E54 /* SBUSelectableStackView.swift */; }; + F42438E7AD4B6906262D62F9 /* SBUMessageThreadTitleView.swift in Sources */ = {isa = PBXBuildFile; fileRef = B230954727B7DD4D273D87C4 /* SBUMessageThreadTitleView.swift */; }; + F489DF5453BAF301C81E0AAC /* SBUUserProfileView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9DE7993411C94BBEAF473ACF /* SBUUserProfileView.swift */; }; + F83BDC5FFEB61172BE17DA39 /* SBUBarButtonItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0475F2B97093569F3B60E9AF /* SBUBarButtonItem.swift */; }; + F8B3777307BC97B104C5D44D /* SBUPhotoCollectionViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = CC0239ABD6C7799412A933FC /* SBUPhotoCollectionViewCell.swift */; }; + F8E857B2A084E499EF41BB92 /* SBUConfig.Common.swift in Sources */ = {isa = PBXBuildFile; fileRef = ABE644391B908AC52D9027FB /* SBUConfig.Common.swift */; }; + F9174A134F4244FD010DFBA5 /* SBUFeedNotificationChannelModule.swift in Sources */ = {isa = PBXBuildFile; fileRef = E715DFE0598426529E2B678E /* SBUFeedNotificationChannelModule.swift */; }; + F9F72B248E4289D42713E667 /* SBUCacheManager.Config.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2F6E0E831CE2EB9E72882629 /* SBUCacheManager.Config.swift */; }; + FC20425E9DE012584E979195 /* SBUParentMessageInfoReactionView.swift in Sources */ = {isa = PBXBuildFile; fileRef = E21C9A234CA2E092A3D4272D /* SBUParentMessageInfoReactionView.swift */; }; + FC65967412A610E73D438591 /* SBUActionSheet.swift in Sources */ = {isa = PBXBuildFile; fileRef = 814619053847EF0C37A37EC2 /* SBUActionSheet.swift */; }; + FDC21571F573001CE6B9E49C /* SBUOpenChannelAdminMessageCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 838CDEB17568B8877027EEE9 /* SBUOpenChannelAdminMessageCell.swift */; }; + FEB8B9A71C37C178FE8EA407 /* SBUBaseSelectUserModule.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9016536C14B95093CE5EC82D /* SBUBaseSelectUserModule.swift */; }; + FF57A2803EE8A6BFFB803AF8 /* UIImage+SBUIKit.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1C07856F2A60803FD9465899 /* UIImage+SBUIKit.swift */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -445,106 +453,91 @@ /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ - 01EEAC477CD1B990CFED6DDC /* SBUGlobalCustomParams.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUGlobalCustomParams.swift; path = ../Sources/SBUGlobalCustomParams.swift; sourceTree = ""; }; - 024F442AD5E6D010C897A896 /* SBUGroupChannelSettingsModule.List.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUGroupChannelSettingsModule.List.swift; path = ../Sources/Module/ChannelSettings/GroupChannel/SBUGroupChannelSettingsModule.List.swift; sourceTree = ""; }; - 025C99558AA78789B148E070 /* SBUReactionsViewController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUReactionsViewController.swift; path = ../Sources/View/Channel/Reaction/SBUReactionsViewController.swift; sourceTree = ""; }; - 02918420CF6F3BC7D604AB71 /* SBUIconSet.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUIconSet.swift; path = ../Sources/Theme/SBUIconSet.swift; sourceTree = ""; }; - 03B7BCB03795C3D2A03D2956 /* SBUCreateChannelViewModel.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUCreateChannelViewModel.swift; path = ../Sources/ViewModel/SelectUser/CreateChannel/SBUCreateChannelViewModel.swift; sourceTree = ""; }; - 03D0713FF625D33EF8D170A9 /* SBUUserMessageTextViewModel.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUUserMessageTextViewModel.swift; path = ../Sources/View/Channel/ViewModel/SBUUserMessageTextViewModel.swift; sourceTree = ""; }; - 03D5912747C5BF8CFE0AA614 /* SBUMentionManager.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUMentionManager.swift; path = ../Sources/Util/SBUMentionManager.swift; sourceTree = ""; }; - 0475E64D5DDC8E3C5D565C13 /* SBUMessageSearchModule.Header.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUMessageSearchModule.Header.swift; path = ../Sources/Module/MessageSearch/SBUMessageSearchModule.Header.swift; sourceTree = ""; }; - 06CE5283A27E69F74119BFF1 /* SBUDashboardConfig.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUDashboardConfig.swift; path = ../Sources/Configuration/SBUDashboardConfig.swift; sourceTree = ""; }; - 07615D837998B1D61C4440BE /* SBUNavigationTitleView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUNavigationTitleView.swift; path = ../Sources/View/Common/SBUNavigationTitleView.swift; sourceTree = ""; }; - 07CC14B0F5E1F5699623B657 /* SBUCreateOpenChannelModule.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUCreateOpenChannelModule.swift; path = ../Sources/Module/SelectUser/CreateChannel/SBUCreateOpenChannelModule.swift; sourceTree = ""; }; - 09457A747C6CB5D86E73DF00 /* SBUInviteUserViewController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUInviteUserViewController.swift; path = ../Sources/View/SelectUser/SBUInviteUserViewController.swift; sourceTree = ""; }; - 095114FB20F5761FBC7A923F /* SBUBaseMessageCellParams.Deprecated.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUBaseMessageCellParams.Deprecated.swift; path = ../Sources/Deprecated/Channel/MessageCell/MessageCellParams/SBUBaseMessageCellParams.Deprecated.swift; sourceTree = ""; }; - 09D932D7CEF5244328AE20B1 /* SBURegisterOperatorModule.List.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBURegisterOperatorModule.List.swift; path = ../Sources/Module/SelectUser/RegisterOperator/SBURegisterOperatorModule.List.swift; sourceTree = ""; }; - 09EEEEE29A1FD1FF665908C9 /* SBUBaseChannelListViewController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUBaseChannelListViewController.swift; path = ../Sources/View/ChannelList/SBUBaseChannelListViewController.swift; sourceTree = ""; }; - 0AA19A4952F30FA89DA86ABF /* SBUUserListModule.Header.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUUserListModule.Header.swift; path = ../Sources/Module/UserList/SBUUserListModule.Header.swift; sourceTree = ""; }; - 0AB1F98398E2B144D3AC41AC /* MessageTemplateRenderer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MessageTemplateRenderer.swift; path = ../Sources/CustomSyntaxTest/MessageTemplateRenderer.swift; sourceTree = ""; }; - 0AC2E2734C3F6F9FC9A220E4 /* SBUModuleSet.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUModuleSet.swift; path = ../Sources/Module/SBUModuleSet.swift; sourceTree = ""; }; - 0BA350E5D0D2B11A44542BD7 /* SBUCacheManager.File.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUCacheManager.File.swift; path = ../Sources/Manager/CacheManager/SBUCacheManager.File.swift; sourceTree = ""; }; - 0C1B003D9C91546A8F1EDFA1 /* SBUParentMessageInfoView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUParentMessageInfoView.swift; path = ../Sources/View/MessageThread/SBUParentMessageInfoView.swift; sourceTree = ""; }; - 0CE12E7AF6E3C843E1B5AA77 /* MessageTemplateParser.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MessageTemplateParser.swift; path = ../Sources/CustomSyntaxTest/MessageTemplateParser.swift; sourceTree = ""; }; - 0D81553F184BC6740DBA6ADC /* Date+SBUIKit.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Date+SBUIKit.swift"; path = "../Sources/Extension/Date+SBUIKit.swift"; sourceTree = ""; }; - 0E3FC04027A26EED54D5DD39 /* SBUBaseChannelViewController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUBaseChannelViewController.swift; path = ../Sources/View/Channel/SBUBaseChannelViewController.swift; sourceTree = ""; }; - 0E9D1ECE58F951EC1E173518 /* SBUGroupChannelSettingCell.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUGroupChannelSettingCell.swift; path = ../Sources/View/ChannelSettings/Cell/SBUGroupChannelSettingCell.swift; sourceTree = ""; }; - 0F28CCAEC27339A5B5F51FF4 /* SBUTableViewCell.Unavailable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUTableViewCell.Unavailable.swift; path = ../Sources/Deprecated/SBUTableViewCell.Unavailable.swift; sourceTree = ""; }; - 0F5C9A213F8564A2571CA3FC /* SBUContentBaseMessageCell.Deprecated.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUContentBaseMessageCell.Deprecated.swift; path = ../Sources/Deprecated/Channel/MessageCell/SBUContentBaseMessageCell.Deprecated.swift; sourceTree = ""; }; - 1282AD0D782800F0F52B61B4 /* SBUUserMessageCell.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUUserMessageCell.swift; path = ../Sources/View/Channel/MessageCell/SBUUserMessageCell.swift; sourceTree = ""; }; - 1363C242212B9C9EF2C288FC /* SBURegisterOperatorModule.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBURegisterOperatorModule.swift; path = ../Sources/Module/SelectUser/RegisterOperator/SBURegisterOperatorModule.swift; sourceTree = ""; }; - 13B3C35507B64FBFD21C39B4 /* SBUBaseSelectUserViewController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUBaseSelectUserViewController.swift; path = ../Sources/View/SelectUser/SBUBaseSelectUserViewController.swift; sourceTree = ""; }; - 14194C9B518F7A309B58C3E6 /* SBUMessageThreadModule.Header.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUMessageThreadModule.Header.swift; path = ../Sources/Module/MessageThread/SBUMessageThreadModule.Header.swift; sourceTree = ""; }; - 14AD8F1C91FC677028DC62D6 /* SBUMenuCell.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUMenuCell.swift; path = ../Sources/View/Common/Menu/SBUMenuCell.swift; sourceTree = ""; }; - 1507B2AD59C6BC6C97302F61 /* SBUCreateChannelViewController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUCreateChannelViewController.swift; path = ../Sources/View/SelectUser/CreateChannel/SBUCreateChannelViewController.swift; sourceTree = ""; }; - 15C54725C0DED15A0501A8DA /* SBUConfigManager.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUConfigManager.swift; path = ../Sources/Configuration/SBUConfigManager.swift; sourceTree = ""; }; - 16148A3386B955D1D2D91EF2 /* SBUMessageSearchViewController.Deprecated.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUMessageSearchViewController.Deprecated.swift; path = ../Sources/Deprecated/MessageSearch/SBUMessageSearchViewController.Deprecated.swift; sourceTree = ""; }; - 1632B862E1D21A258C27ACE7 /* SBUVoiceMessageInputView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUVoiceMessageInputView.swift; path = ../Sources/View/VoiceNote/SBUVoiceMessageInputView.swift; sourceTree = ""; }; - 176BBAE6FEBA0033CE36DE42 /* SBUBaseChannelSettingsModule.List.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUBaseChannelSettingsModule.List.swift; path = ../Sources/Module/ChannelSettings/SBUBaseChannelSettingsModule.List.swift; sourceTree = ""; }; - 177D90CB83C6B09C7D5AD0A1 /* SBUViewControllerSet.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUViewControllerSet.swift; path = ../Sources/View/SBUViewControllerSet.swift; sourceTree = ""; }; - 17EB59307EA2A431CD74082E /* Sequence+SBUIKit.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Sequence+SBUIKit.swift"; path = "../Sources/Extension/Sequence+SBUIKit.swift"; sourceTree = ""; }; - 188126982EA50577B581C864 /* SBUMessageProfileView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUMessageProfileView.swift; path = ../Sources/View/Channel/CellView/SBUMessageProfileView.swift; sourceTree = ""; }; - 19246231B3B1164C62F03F28 /* SBUQuotedUserMessageView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUQuotedUserMessageView.swift; path = ../Sources/View/Channel/MessageCell/Replies/MessageView/SBUQuotedUserMessageView.swift; sourceTree = ""; }; - 1BA0C87012DA2577E784CC5A /* SBUMessageInputView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUMessageInputView.swift; path = ../Sources/View/Channel/MessageInput/SBUMessageInputView.swift; sourceTree = ""; }; - 1BB561445C9F2FE2BEE5F599 /* SBUOpenChannelListModule.Header.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUOpenChannelListModule.Header.swift; path = ../Sources/Module/ChannelList/OpenChannel/SBUOpenChannelListModule.Header.swift; sourceTree = ""; }; - 1C2602CCB8DD010DB992D487 /* SBUCacheManager.Image.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUCacheManager.Image.swift; path = ../Sources/Manager/CacheManager/SBUCacheManager.Image.swift; sourceTree = ""; }; - 1C35F322447BAC191DB159BC /* SBUBaseChannelListModule.Header.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUBaseChannelListModule.Header.swift; path = ../Sources/Module/ChannelList/SBUBaseChannelListModule.Header.swift; sourceTree = ""; }; - 1DDD61B2E8A988C6071049F5 /* SBUBaseChannelSettingsModule.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUBaseChannelSettingsModule.swift; path = ../Sources/Module/ChannelSettings/SBUBaseChannelSettingsModule.swift; sourceTree = ""; }; - 1FE58118E1B5B6919864A1EE /* SBUPermissionManager.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUPermissionManager.swift; path = ../Sources/Manager/SBUPermissionManager.swift; sourceTree = ""; }; - 2006C6BBADCB90B6B6AB3179 /* SBUIconSetType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUIconSetType.swift; path = ../Sources/Enums/SBUIconSetType.swift; sourceTree = ""; }; - 208AE575ADF5808FC54CABB2 /* SBUQuoteMessageInputViewProtocol.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUQuoteMessageInputViewProtocol.swift; path = "../Sources/View/Life cycles/SBUQuoteMessageInputViewProtocol.swift"; sourceTree = ""; }; - 22609EDC7C590D90E98DA48F /* SBUCommonItem.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUCommonItem.swift; path = ../Sources/View/Common/SBUCommonItem.swift; sourceTree = ""; }; - 2276E73C6047227D1C480D6F /* SBUBaseChannelSettingsViewController.Deprecated.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUBaseChannelSettingsViewController.Deprecated.swift; path = ../Sources/Deprecated/ChannelSettings/SBUBaseChannelSettingsViewController.Deprecated.swift; sourceTree = ""; }; - 2335722CCE089DDD7D9C47DB /* SBUMessageThreadViewController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUMessageThreadViewController.swift; path = ../Sources/View/MessageThread/SBUMessageThreadViewController.swift; sourceTree = ""; }; - 2781209E32A0D237BDCAAB81 /* SBUVoiceContentView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUVoiceContentView.swift; path = ../Sources/View/Channel/MessageCell/FileMessageContentView/SBUVoiceContentView.swift; sourceTree = ""; }; - 27CBB28CC5EE27C314F3663E /* SBUGlobals.Deprecated.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUGlobals.Deprecated.swift; path = ../Sources/Deprecated/SBUGlobals.Deprecated.swift; sourceTree = ""; }; - 2893CDF96F20D479509AA410 /* SBUNotificationCell.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUNotificationCell.swift; path = ../Sources/View/Channel/MessageCell/NotificationChannel/SBUNotificationCell.swift; sourceTree = ""; }; - 28FFA8B59C2016527AF13B52 /* SBUCacheManager.Template.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUCacheManager.Template.swift; path = ../Sources/Manager/CacheManager/SBUCacheManager.Template.swift; sourceTree = ""; }; - 29593EC9A44D9BD8EABFFD60 /* SBUAdminMessageCellParams.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUAdminMessageCellParams.swift; path = ../Sources/View/Channel/MessageCell/MessageCellParams/SBUAdminMessageCellParams.swift; sourceTree = ""; }; - 2967178EF3EFA8D6A41CFFC5 /* SBUMessageSearchResultCell.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUMessageSearchResultCell.swift; path = ../Sources/View/MessageSearch/Cell/SBUMessageSearchResultCell.swift; sourceTree = ""; }; - 29E49CBE2179BB59938D3675 /* SBUSelectableStackView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUSelectableStackView.swift; path = ../Sources/View/Channel/CellView/SBUSelectableStackView.swift; sourceTree = ""; }; - 2A30F5261267CB356D24F78C /* Base.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = Base.xcconfig; path = ../Sources/Configurations/Base.xcconfig; sourceTree = ""; }; - 2B746ED4816252A5B46ED1A5 /* SBUCacheManager.Config.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUCacheManager.Config.swift; path = ../Sources/Manager/CacheManager/SBUCacheManager.Config.swift; sourceTree = ""; }; - 2B9B4518AE7F37F6486DD9C0 /* SBUUserListModule.List.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUUserListModule.List.swift; path = ../Sources/Module/UserList/SBUUserListModule.List.swift; sourceTree = ""; }; - 2BB2FBDF7FF64DF79DE9F0BA /* SBUEmptyView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUEmptyView.swift; path = ../Sources/View/Common/SBUEmptyView.swift; sourceTree = ""; }; - 2C34EB1C50E7C6BEDDE33D95 /* SBUOpenChannelImageContentView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUOpenChannelImageContentView.swift; path = ../Sources/View/Channel/MessageCell/FileMessageContentView/SBUOpenChannelImageContentView.swift; sourceTree = ""; }; - 2E265BF7EE7C154FB6C1109D /* SBUGroupChannelListModule.Header.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUGroupChannelListModule.Header.swift; path = ../Sources/Module/ChannelList/GroupChannel/SBUGroupChannelListModule.Header.swift; sourceTree = ""; }; - 2E31D559C7FBCD1771AC502B /* SBUStringSet.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUStringSet.swift; path = ../Sources/Constant/SBUStringSet.swift; sourceTree = ""; }; - 2E611B4A91BB2314220F239E /* SBUBaseViewController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUBaseViewController.swift; path = ../Sources/View/SBUBaseViewController.swift; sourceTree = ""; }; - 2E7B7987A938B53874C4CCEF /* SBUViewModelDelegate.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUViewModelDelegate.swift; path = ../Sources/ViewModel/SBUViewModelDelegate.swift; sourceTree = ""; }; - 30D4E0D7B109AA3E2167B58B /* SBUCoverImageView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUCoverImageView.swift; path = ../Sources/View/Common/SBUCoverImageView.swift; sourceTree = ""; }; - 30DFE59DBCE853547995030E /* SBUSelectablePhotoViewController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUSelectablePhotoViewController.swift; path = ../Sources/View/Common/PhotoLibrary/SBUSelectablePhotoViewController.swift; sourceTree = ""; }; - 31A18EFAB2584C084DBEC186 /* SBUTheme.Deprecated.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUTheme.Deprecated.swift; path = ../Sources/Deprecated/SBUTheme.Deprecated.swift; sourceTree = ""; }; - 350E017DA6404DE6E7EAD4FC /* SBUBaseSelectUserViewModel.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUBaseSelectUserViewModel.swift; path = ../Sources/ViewModel/SelectUser/SBUBaseSelectUserViewModel.swift; sourceTree = ""; }; - 3809554B51090A3F7899AB3B /* SBUMessageThreadModule.List.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUMessageThreadModule.List.swift; path = ../Sources/Module/MessageThread/SBUMessageThreadModule.List.swift; sourceTree = ""; }; - 38BCB80D464E70A15832C598 /* SBUOpenChannelCell.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUOpenChannelCell.swift; path = ../Sources/View/ChannelList/ChannelCell/SBUOpenChannelCell.swift; sourceTree = ""; }; - 392454C500EB2D3A85D5B540 /* SBUFeedNotificationCellParams.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUFeedNotificationCellParams.swift; path = ../Sources/View/Channel/MessageCell/MessageCellParams/SBUFeedNotificationCellParams.swift; sourceTree = ""; }; - 39323FC6B9F3E0B373755861 /* SBUModerationsViewController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUModerationsViewController.swift; path = ../Sources/View/Moderations/SBUModerationsViewController.swift; sourceTree = ""; }; - 3AD737D472AEB1BA1D084446 /* SBUBaseChannelViewController.Unavailable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUBaseChannelViewController.Unavailable.swift; path = ../Sources/Deprecated/Channel/SBUBaseChannelViewController.Unavailable.swift; sourceTree = ""; }; - 3BA182AFC944780992BD718F /* SBUCreateOpenChannelModule.ProfileInput.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUCreateOpenChannelModule.ProfileInput.swift; path = ../Sources/Module/SelectUser/CreateChannel/SBUCreateOpenChannelModule.ProfileInput.swift; sourceTree = ""; }; - 3BDE4617E24BA79C0402C150 /* SBUCreateChannelViewController.Deprecated.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUCreateChannelViewController.Deprecated.swift; path = ../Sources/Deprecated/CreateChannel/SBUCreateChannelViewController.Deprecated.swift; sourceTree = ""; }; - 3CF2898DB3941D2D2A4C95A2 /* SBUGroupChannelPushSettingsModule.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUGroupChannelPushSettingsModule.swift; path = ../Sources/Module/NotificationSettings/SBUGroupChannelPushSettingsModule.swift; sourceTree = ""; }; - 3D73C0000124C290F7231688 /* SBUBaseSelectUserModule.List.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUBaseSelectUserModule.List.swift; path = ../Sources/Module/SelectUser/SBUBaseSelectUserModule.List.swift; sourceTree = ""; }; - 3DD833227594C6DD421F010D /* SBUMentionConfiguration.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUMentionConfiguration.swift; path = ../Sources/Configuration/Mention/SBUMentionConfiguration.swift; sourceTree = ""; }; - 3DF13C7243959896256F8180 /* SBUOpenChannelUnknownMessageCell.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUOpenChannelUnknownMessageCell.swift; path = ../Sources/View/Channel/MessageCell/OpenChannel/SBUOpenChannelUnknownMessageCell.swift; sourceTree = ""; }; - 3F055C1BA982C9BE49037F36 /* SBUBaseChannelListViewModel.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUBaseChannelListViewModel.swift; path = ../Sources/ViewModel/ChannelList/SBUBaseChannelListViewModel.swift; sourceTree = ""; }; - 3F51BFF7FF71AF1AE106810E /* SBUOpenChannelListModule.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUOpenChannelListModule.swift; path = ../Sources/Module/ChannelList/OpenChannel/SBUOpenChannelListModule.swift; sourceTree = ""; }; - 41161D31466AA8729316DA62 /* SBUActionSheet.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUActionSheet.swift; path = ../Sources/View/Common/SBUActionSheet.swift; sourceTree = ""; }; - 4194CDBF7BDC775814846626 /* SBUOpenChannelViewModel.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUOpenChannelViewModel.swift; path = ../Sources/ViewModel/Channel/SBUOpenChannelViewModel.swift; sourceTree = ""; }; - 41EEEB823E8EACB5657CD3DF /* SBUModerationCell.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUModerationCell.swift; path = ../Sources/View/ChannelSettings/Cell/SBUModerationCell.swift; sourceTree = ""; }; - 430B9CB08EA395A6662D27C3 /* SBUBaseChannelModule.List.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUBaseChannelModule.List.swift; path = ../Sources/Module/Channel/SBUBaseChannelModule.List.swift; sourceTree = ""; }; - 437D9356B629D4165BBAC7A9 /* SBUMenuCell.xib */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = file.xib; name = SBUMenuCell.xib; path = ../Sources/View/Common/Menu/SBUMenuCell.xib; sourceTree = ""; }; - 44117C91BD3C421581F0637C /* SBUMessageSearchViewModel.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUMessageSearchViewModel.swift; path = ../Sources/ViewModel/MessageSearch/SBUMessageSearchViewModel.swift; sourceTree = ""; }; - 441822C80A6F374CE841E3DF /* SBUMessageInputMode.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUMessageInputMode.swift; path = ../Sources/View/Channel/MessageInput/SBUMessageInputMode.swift; sourceTree = ""; }; - 445E8D51191374881B3B0D8F /* SBUPendingMessageManager.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUPendingMessageManager.swift; path = ../Sources/Manager/SBUPendingMessageManager.swift; sourceTree = ""; }; - 44D2603F7A27EDC03D640F40 /* SBUCreateChannelModule.List.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUCreateChannelModule.List.swift; path = ../Sources/Module/SelectUser/CreateChannel/SBUCreateChannelModule.List.swift; sourceTree = ""; }; - 4537D1E66FF743B2E8F90E2F /* SBUOpenChannelViewController.Unavailable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUOpenChannelViewController.Unavailable.swift; path = ../Sources/Deprecated/Channel/SBUOpenChannelViewController.Unavailable.swift; sourceTree = ""; }; - 462A08542D105BB7ED0C8775 /* SBUOpenChannelBaseMessageCell.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUOpenChannelBaseMessageCell.swift; path = ../Sources/View/Channel/MessageCell/OpenChannel/SBUOpenChannelBaseMessageCell.swift; sourceTree = ""; }; - 4662F772B446C95169778C32 /* SBUQuoteMessageInputViewParams.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUQuoteMessageInputViewParams.swift; path = ../Sources/View/Channel/MessageInput/ViewParams/SBUQuoteMessageInputViewParams.swift; sourceTree = ""; }; - 46E6016A79DA811F2A40D515 /* SBULinkClickableTextView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBULinkClickableTextView.swift; path = ../Sources/View/Channel/CellView/SBULinkClickableTextView.swift; sourceTree = ""; }; - 46EE6760111F41D813A6CBE7 /* SendbirdUI.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SendbirdUI.swift; path = ../Sources/SendbirdUI.swift; sourceTree = ""; }; - 490089EAC8AEBC593D2F1469 /* SBUUserMessageCellParams.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUUserMessageCellParams.swift; path = ../Sources/View/Channel/MessageCell/MessageCellParams/SBUUserMessageCellParams.swift; sourceTree = ""; }; - 49112AC15EAD725D525F1230 /* SBUUserNameView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUUserNameView.swift; path = ../Sources/View/Channel/CellView/SBUUserNameView.swift; sourceTree = ""; }; + 00176C602B58AEBEF353D038 /* SBUMessageThreadModule.List.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUMessageThreadModule.List.swift; path = ../Sources/Module/MessageThread/SBUMessageThreadModule.List.swift; sourceTree = ""; }; + 003A4159224E75730065916E /* Release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = ../Sources/Configurations/Release.xcconfig; sourceTree = ""; }; + 01861E0054CA3370504E1DDD /* SBUMessageSearchResultCell.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUMessageSearchResultCell.swift; path = ../Sources/View/MessageSearch/Cell/SBUMessageSearchResultCell.swift; sourceTree = ""; }; + 01E58AEC2686847E0FB92776 /* SBUThreadInfoView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUThreadInfoView.swift; path = ../Sources/View/Channel/MessageCell/Replies/MessageView/SBUThreadInfoView.swift; sourceTree = ""; }; + 0312DE5EC31E330F2F07304E /* SBUCreateOpenChannelModule.ProfileInput.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUCreateOpenChannelModule.ProfileInput.swift; path = ../Sources/Module/SelectUser/CreateChannel/SBUCreateOpenChannelModule.ProfileInput.swift; sourceTree = ""; }; + 031F13A729038D0C6639A2B6 /* SBUGlobals.Deprecated.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUGlobals.Deprecated.swift; path = ../Sources/Deprecated/SBUGlobals.Deprecated.swift; sourceTree = ""; }; + 0378A1F7FC289EBD4FA7F255 /* MessageTemplateTestViewController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MessageTemplateTestViewController.swift; path = ../Sources/CustomSyntaxTest/MessageTemplateTestViewController.swift; sourceTree = ""; }; + 0475F2B97093569F3B60E9AF /* SBUBarButtonItem.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUBarButtonItem.swift; path = ../Sources/View/Common/SBUBarButtonItem.swift; sourceTree = ""; }; + 048527C58AA582ECCDEBC5E4 /* SBUFeedNotificationChannelModule.Header.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUFeedNotificationChannelModule.Header.swift; path = ../Sources/Module/Channel/NotificationChannel/Feed/SBUFeedNotificationChannelModule.Header.swift; sourceTree = ""; }; + 059B5B40F816318B748EE15F /* SBUMessageDateView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUMessageDateView.swift; path = ../Sources/View/Channel/CellView/SBUMessageDateView.swift; sourceTree = ""; }; + 05CEA342FD36EA745A3EEC0C /* Data+SBUIKit.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Data+SBUIKit.swift"; path = "../Sources/Extension/Data+SBUIKit.swift"; sourceTree = ""; }; + 060732560092246857AE6BE3 /* SBUBaseChannelListModule.List.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUBaseChannelListModule.List.swift; path = ../Sources/Module/ChannelList/SBUBaseChannelListModule.List.swift; sourceTree = ""; }; + 064B87296625C167424EC55D /* SBUGroupChannelPushSettingsModule.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUGroupChannelPushSettingsModule.swift; path = ../Sources/Module/NotificationSettings/SBUGroupChannelPushSettingsModule.swift; sourceTree = ""; }; + 06AF96C21BE2A902444BA2B5 /* SBUModerationsModule.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUModerationsModule.swift; path = ../Sources/Module/Moderations/SBUModerationsModule.swift; sourceTree = ""; }; + 07A3B3ED641C57ECB4CBDCB1 /* SBUTheme.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUTheme.swift; path = ../Sources/Theme/SBUTheme.swift; sourceTree = ""; }; + 07EC9445DB307849770D05C7 /* SBUCreateOpenChannelViewController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUCreateOpenChannelViewController.swift; path = ../Sources/View/SelectUser/CreateChannel/SBUCreateOpenChannelViewController.swift; sourceTree = ""; }; + 0913D898B9AFD2A1F32F7DB3 /* SBUChannelSettingsChannelInfoView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUChannelSettingsChannelInfoView.swift; path = ../Sources/View/ChannelSettings/View/SBUChannelSettingsChannelInfoView.swift; sourceTree = ""; }; + 0C76C69CAAE800570AD9C917 /* Assets.xcassets */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = folder.assetcatalog; name = Assets.xcassets; path = ../Sources/Resource/Assets.xcassets; sourceTree = ""; }; + 0EDA855D6FB7FED54CBFDBFA /* SBUVoiceRecorder.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUVoiceRecorder.swift; path = ../Sources/Manager/SBUVoiceRecorder.swift; sourceTree = ""; }; + 0FFB8AD8659713F67F88ED9F /* SBUUserListModule.List.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUUserListModule.List.swift; path = ../Sources/Module/UserList/SBUUserListModule.List.swift; sourceTree = ""; }; + 10AA1F3B73AB687087D974AA /* SBUFileMessageCell.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUFileMessageCell.swift; path = ../Sources/View/Channel/MessageCell/SBUFileMessageCell.swift; sourceTree = ""; }; + 1136CB46621517EC35538E47 /* SBUGroupChannelListModule.List.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUGroupChannelListModule.List.swift; path = ../Sources/Module/ChannelList/GroupChannel/SBUGroupChannelListModule.List.swift; sourceTree = ""; }; + 11E50F5CA899D8E6E098099B /* SBUUserListViewController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUUserListViewController.swift; path = ../Sources/View/UserList/SBUUserListViewController.swift; sourceTree = ""; }; + 1207CA3F95A8B8D438FC01DF /* UIColor+SBUIKit.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIColor+SBUIKit.swift"; path = "../Sources/Extension/UIColor+SBUIKit.swift"; sourceTree = ""; }; + 122E3873A1131B5E4DBFA6F5 /* SBUCreateChannelModule.List.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUCreateChannelModule.List.swift; path = ../Sources/Module/SelectUser/CreateChannel/SBUCreateChannelModule.List.swift; sourceTree = ""; }; + 125B54CE822D245E9CFF1F9C /* SBUTheme.Deprecated.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUTheme.Deprecated.swift; path = ../Sources/Deprecated/SBUTheme.Deprecated.swift; sourceTree = ""; }; + 12CFCCF4F2FA96D38553D66F /* UIImageView+SBUIKit.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIImageView+SBUIKit.swift"; path = "../Sources/Extension/UIImageView+SBUIKit.swift"; sourceTree = ""; }; + 12E3CEB360E4BB8F6648A2B6 /* SBUMessageProfileView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUMessageProfileView.swift; path = ../Sources/View/Channel/CellView/SBUMessageProfileView.swift; sourceTree = ""; }; + 13E72FCEC3FDD352E10B7BAC /* UIStackView.SBUIKit.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = UIStackView.SBUIKit.swift; path = ../Sources/Extension/UIStackView.SBUIKit.swift; sourceTree = ""; }; + 13E99AC16B4603925740F244 /* SBUVoiceFileInfo.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUVoiceFileInfo.swift; path = ../Sources/Model/SBUVoiceFileInfo.swift; sourceTree = ""; }; + 15414E13F4031FA78B2F1B8C /* SBUMessageThreadModule.Input.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUMessageThreadModule.Input.swift; path = ../Sources/Module/MessageThread/SBUMessageThreadModule.Input.swift; sourceTree = ""; }; + 15A5141E87E2CBA639CDAC92 /* Array+SBUIKit.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Array+SBUIKit.swift"; path = "../Sources/Extension/Array+SBUIKit.swift"; sourceTree = ""; }; + 167184D6D0FECF6822DD4587 /* SBUViewLifeCycle.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUViewLifeCycle.swift; path = "../Sources/View/Life cycles/SBUViewLifeCycle.swift"; sourceTree = ""; }; + 1BB6F47708347698C0A46D24 /* SBUMultipleFilesMessageCell.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUMultipleFilesMessageCell.swift; path = ../Sources/View/Channel/MessageCell/MultipleFilesMessage/SBUMultipleFilesMessageCell.swift; sourceTree = ""; }; + 1C00F77AEE0355AEE6B3DB5F /* SBUMessageStateView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUMessageStateView.swift; path = ../Sources/View/Channel/CellView/SBUMessageStateView.swift; sourceTree = ""; }; + 1C07856F2A60803FD9465899 /* UIImage+SBUIKit.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIImage+SBUIKit.swift"; path = "../Sources/Extension/UIImage+SBUIKit.swift"; sourceTree = ""; }; + 1C28482AC2CA73AF26EEA5FA /* SBUUser.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUUser.swift; path = ../Sources/Model/SBUUser.swift; sourceTree = ""; }; + 1E121BE02284A3080668DDB5 /* Base.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = Base.xcconfig; path = ../Sources/Configurations/Base.xcconfig; sourceTree = ""; }; + 1FDBDD578E2F7FA0A5E1B54A /* SBUMessageThreadModule.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUMessageThreadModule.swift; path = ../Sources/Module/MessageThread/SBUMessageThreadModule.swift; sourceTree = ""; }; + 20C42E5B0C3A1DD286A42DB3 /* SBUOpenChannelUnknownMessageCell.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUOpenChannelUnknownMessageCell.swift; path = ../Sources/View/Channel/MessageCell/OpenChannel/SBUOpenChannelUnknownMessageCell.swift; sourceTree = ""; }; + 23129C22A301611A69D18377 /* SBUModerationsViewController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUModerationsViewController.swift; path = ../Sources/View/Moderations/SBUModerationsViewController.swift; sourceTree = ""; }; + 23684E724DB1D70018582732 /* SBUMenuSheetViewController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUMenuSheetViewController.swift; path = ../Sources/View/Common/Menu/SBUMenuSheetViewController.swift; sourceTree = ""; }; + 23CCFD9D18CB798AC4AEF2C9 /* SBUQuotedBaseMessageViewParams.Deprecated.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUQuotedBaseMessageViewParams.Deprecated.swift; path = ../Sources/Deprecated/Channel/MessageCell/Replies/SBUQuotedBaseMessageViewParams.Deprecated.swift; sourceTree = ""; }; + 23DDC8AC1C080DE611095104 /* SBUTableViewCell.Unavailable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUTableViewCell.Unavailable.swift; path = ../Sources/Deprecated/SBUTableViewCell.Unavailable.swift; sourceTree = ""; }; + 23E712DB351F37CA1A4F6899 /* SBUMenuView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUMenuView.swift; path = ../Sources/View/Common/Menu/SBUMenuView.swift; sourceTree = ""; }; + 249DDFFBED36872C5F0BEF09 /* Debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = ../Sources/Configurations/Debug.xcconfig; sourceTree = ""; }; + 2514B495E19B2FB056DFA6D0 /* SBUPropertyWrapper.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUPropertyWrapper.swift; path = ../Sources/Util/SBUPropertyWrapper.swift; sourceTree = ""; }; + 25822B4B892DF76FDCBFF837 /* SBUQuotedUserMessageView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUQuotedUserMessageView.swift; path = ../Sources/View/Channel/MessageCell/Replies/MessageView/SBUQuotedUserMessageView.swift; sourceTree = ""; }; + 25C0B4DEC456D4FFE1408681 /* SBUMessageWebViewModel.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUMessageWebViewModel.swift; path = ../Sources/View/Channel/ViewModel/SBUMessageWebViewModel.swift; sourceTree = ""; }; + 286678CACC913BDDF970053A /* SBUCommonItem.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUCommonItem.swift; path = ../Sources/View/Common/SBUCommonItem.swift; sourceTree = ""; }; + 286ABB042407B2D4CA117372 /* SBUChannelPushSettingCell.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUChannelPushSettingCell.swift; path = ../Sources/View/NotificationSettings/Cell/SBUChannelPushSettingCell.swift; sourceTree = ""; }; + 28B8168EA7AA982FBD7F15EB /* SBUOpenChannelModule.Media.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUOpenChannelModule.Media.swift; path = ../Sources/Module/Channel/OpenChannel/SBUOpenChannelModule.Media.swift; sourceTree = ""; }; + 2A1B645AB9A1BB8AB5D68D69 /* SBUGroupChannelListViewModel.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUGroupChannelListViewModel.swift; path = ../Sources/ViewModel/ChannelList/SBUGroupChannelListViewModel.swift; sourceTree = ""; }; + 2A5AC045927C39662CBDA28E /* SBUUnknownMessageCell.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUUnknownMessageCell.swift; path = ../Sources/View/Channel/MessageCell/SBUUnknownMessageCell.swift; sourceTree = ""; }; + 2C39B356B15003D43FA7F239 /* SBUBaseChannelCell.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUBaseChannelCell.swift; path = ../Sources/View/ChannelList/ChannelCell/SBUBaseChannelCell.swift; sourceTree = ""; }; + 2CEF2686EDB9589481157DA8 /* SBUCreateChannelViewModel.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUCreateChannelViewModel.swift; path = ../Sources/ViewModel/SelectUser/CreateChannel/SBUCreateChannelViewModel.swift; sourceTree = ""; }; + 2F12B9785698DB3C43F1D1CF /* SBUMessageThreadViewController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUMessageThreadViewController.swift; path = ../Sources/View/MessageThread/SBUMessageThreadViewController.swift; sourceTree = ""; }; + 2F6E0E831CE2EB9E72882629 /* SBUCacheManager.Config.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUCacheManager.Config.swift; path = ../Sources/Manager/CacheManager/SBUCacheManager.Config.swift; sourceTree = ""; }; + 302332041096678DB4995D06 /* SBUBaseChannelModule.Header.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUBaseChannelModule.Header.swift; path = ../Sources/Module/Channel/SBUBaseChannelModule.Header.swift; sourceTree = ""; }; + 32BE52B9EE5FA60D10143D61 /* SBUBaseChannelSettingsModule.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUBaseChannelSettingsModule.swift; path = ../Sources/Module/ChannelSettings/SBUBaseChannelSettingsModule.swift; sourceTree = ""; }; + 32C7378296021101C2766A7C /* SBUBaseViewController.Unavailable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUBaseViewController.Unavailable.swift; path = ../Sources/Deprecated/SBUBaseViewController.Unavailable.swift; sourceTree = ""; }; + 334BCFD4D1932E6050D20183 /* SBUBaseSelectUserViewModel.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUBaseSelectUserViewModel.swift; path = ../Sources/ViewModel/SelectUser/SBUBaseSelectUserViewModel.swift; sourceTree = ""; }; + 33E2A47947BA8AA0C884C1FB /* SBUUserListModule.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUUserListModule.swift; path = ../Sources/Module/UserList/SBUUserListModule.swift; sourceTree = ""; }; + 38D7A4F8998A757BC8063470 /* SBUReactionsViewController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUReactionsViewController.swift; path = ../Sources/View/Channel/Reaction/SBUReactionsViewController.swift; sourceTree = ""; }; + 39083B02EAD9C247C1EC40A9 /* Sequence+SBUIKit.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Sequence+SBUIKit.swift"; path = "../Sources/Extension/Sequence+SBUIKit.swift"; sourceTree = ""; }; + 397A47CE3A95A3B0AD4C390E /* SBUFontSet.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUFontSet.swift; path = ../Sources/Theme/SBUFontSet.swift; sourceTree = ""; }; + 3A49DB51A418B99D79F934EA /* SBUImageContentView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUImageContentView.swift; path = ../Sources/View/Channel/MessageCell/FileMessageContentView/SBUImageContentView.swift; sourceTree = ""; }; + 3AB5A5360238E89E22C8E6F2 /* SBUCategoryFilterCell.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUCategoryFilterCell.swift; path = ../Sources/View/Channel/CategoryFilterCell/SBUCategoryFilterCell.swift; sourceTree = ""; }; + 3AD5B723F9421FF5385C7CC4 /* SendbirdUI.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SendbirdUI.swift; path = ../Sources/SendbirdUI.swift; sourceTree = ""; }; + 3B47441B1DA96A6052326738 /* SBUOpenChannelModule.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUOpenChannelModule.swift; path = ../Sources/Module/Channel/OpenChannel/SBUOpenChannelModule.swift; sourceTree = ""; }; + 3B68646A3535CBAC305B13D9 /* SBUChannelListViewController.Deprecated.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUChannelListViewController.Deprecated.swift; path = ../Sources/Deprecated/ChannelList/SBUChannelListViewController.Deprecated.swift; sourceTree = ""; }; + 3EBEBA91CF2EF6001349DA4C /* SBUView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUView.swift; path = "../Sources/View/Life cycles/SBUView.swift"; sourceTree = ""; }; + 3FE33C46DCD930CD16EF1F58 /* SBUOpenChannelListViewModel.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUOpenChannelListViewModel.swift; path = ../Sources/ViewModel/ChannelList/SBUOpenChannelListViewModel.swift; sourceTree = ""; }; + 400DF91B6CFD3D7C31ACF73A /* SBUCommonDelegate.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUCommonDelegate.swift; path = ../Sources/ViewModel/Common/SBUCommonDelegate.swift; sourceTree = ""; }; + 41991BF86EE173759485BBA3 /* SBUMessageCellConfiguration.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUMessageCellConfiguration.swift; path = ../Sources/Configuration/MessageCell/SBUMessageCellConfiguration.swift; sourceTree = ""; }; + 4284BA78B3D2CA4C4756C820 /* SBUUserMessageCell.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUUserMessageCell.swift; path = ../Sources/View/Channel/MessageCell/SBUUserMessageCell.swift; sourceTree = ""; }; + 42E3063831FC6AAFCB8B55BF /* UIView+SBUIKit.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIView+SBUIKit.swift"; path = "../Sources/Extension/UIView+SBUIKit.swift"; sourceTree = ""; }; + 43247D3F761FBF0F3252461F /* SBUVoicePlayer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUVoicePlayer.swift; path = ../Sources/Manager/SBUVoicePlayer.swift; sourceTree = ""; }; + 448BEED6AF1AF03FD17D6433 /* SBUGroupChannelModule.List.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUGroupChannelModule.List.swift; path = ../Sources/Module/Channel/GroupChannel/SBUGroupChannelModule.List.swift; sourceTree = ""; }; + 45D03072893C76F7E74017DA /* SBUOpenChannelSettingsViewModel.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUOpenChannelSettingsViewModel.swift; path = ../Sources/ViewModel/ChannelSettings/SBUOpenChannelSettingsViewModel.swift; sourceTree = ""; }; + 4798F0541671B6B00056443E /* SBUCreateChannelViewController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUCreateChannelViewController.swift; path = ../Sources/View/SelectUser/CreateChannel/SBUCreateChannelViewController.swift; sourceTree = ""; }; + 47B90A74B0D971A3E842E238 /* SBUReactionCollectionViewCell.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUReactionCollectionViewCell.swift; path = ../Sources/View/Channel/Reaction/SBUReactionCollectionViewCell.swift; sourceTree = ""; }; + 48F97E604C4D028A56692542 /* SBUUserMessageTextViewModel.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUUserMessageTextViewModel.swift; path = ../Sources/View/Channel/ViewModel/SBUUserMessageTextViewModel.swift; sourceTree = ""; }; + 4922F3BB61489E573C4FD01D /* SBUFeedNotificationChannelModule.CategoryFilter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUFeedNotificationChannelModule.CategoryFilter.swift; path = ../Sources/Module/Channel/NotificationChannel/Feed/SBUFeedNotificationChannelModule.CategoryFilter.swift; sourceTree = ""; }; + 497C700E3F1C406320F89536 /* SBUParentMessageInfoView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUParentMessageInfoView.swift; path = ../Sources/View/MessageThread/SBUParentMessageInfoView.swift; sourceTree = ""; }; 4992616E2A9D89BE00B07828 /* ConnectView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ConnectView.swift; sourceTree = ""; }; 4992616F2A9D89BE00B07828 /* ConnectView.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = ConnectView.xib; sourceTree = ""; }; 499261702A9D89BE00B07828 /* MainView.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = MainView.xib; sourceTree = ""; }; @@ -552,121 +545,122 @@ 499261722A9D89BE00B07828 /* MainView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MainView.swift; sourceTree = ""; }; 499261782A9D8A4900B07828 /* MainItemView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MainItemView.swift; sourceTree = ""; }; 499261792A9D8A4900B07828 /* MainItemView.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = MainItemView.xib; sourceTree = ""; }; - 49FC8E786007678ADAB47102 /* SBUGroupChannelPushSettingsModule.List.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUGroupChannelPushSettingsModule.List.swift; path = ../Sources/Module/NotificationSettings/SBUGroupChannelPushSettingsModule.List.swift; sourceTree = ""; }; - 4A24AF8D17F54CCB73E89AD1 /* SBUUtils.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUUtils.swift; path = ../Sources/Util/SBUUtils.swift; sourceTree = ""; }; - 4B38171B87E355527698E517 /* SBUCommonContentView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUCommonContentView.swift; path = ../Sources/View/Channel/MessageCell/FileMessageContentView/SBUCommonContentView.swift; sourceTree = ""; }; - 4BB66C638BDDBC853B7833D0 /* SBUEnums.Deprecated.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUEnums.Deprecated.swift; path = ../Sources/Deprecated/SBUEnums.Deprecated.swift; sourceTree = ""; }; - 4C400E3A68BC7FC4B23527F9 /* SBUGroupChannelPushSettingsViewController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUGroupChannelPushSettingsViewController.swift; path = ../Sources/View/NotificationSettings/SBUGroupChannelPushSettingsViewController.swift; sourceTree = ""; }; - 4D308B092AB76D0FA32B7CDD /* SBUOpenChannelModule.Header.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUOpenChannelModule.Header.swift; path = ../Sources/Module/Channel/OpenChannel/SBUOpenChannelModule.Header.swift; sourceTree = ""; }; - 4FB51413E4A65324175791F4 /* SBUBaseChannelListModule.List.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUBaseChannelListModule.List.swift; path = ../Sources/Module/ChannelList/SBUBaseChannelListModule.List.swift; sourceTree = ""; }; - 4FC80D245E9FB11E15A59DDC /* SBUCoverImageView.Deprecated.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUCoverImageView.Deprecated.swift; path = ../Sources/Deprecated/SBUCoverImageView.Deprecated.swift; sourceTree = ""; }; - 507305D048940CE73C33DA7F /* SBUFeedNotificationChannelViewModel.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUFeedNotificationChannelViewModel.swift; path = ../Sources/ViewModel/Channel/SBUFeedNotificationChannelViewModel.swift; sourceTree = ""; }; - 508803FC0D11DA2CA63F1C15 /* SBUMenuView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUMenuView.swift; path = ../Sources/View/Common/Menu/SBUMenuView.swift; sourceTree = ""; }; - 52865C6F7E96EBDF33F22C25 /* SBULoading.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBULoading.swift; path = ../Sources/View/Common/SBULoading.swift; sourceTree = ""; }; - 550CBD045185BE670940D11A /* SBUBaseChannelViewController.Keyboard.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUBaseChannelViewController.Keyboard.swift; path = ../Sources/View/Channel/SBUBaseChannelViewController.Keyboard.swift; sourceTree = ""; }; - 563F30D4CBF0380CAF07C8CD /* SBUQuoteMessageInputView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUQuoteMessageInputView.swift; path = ../Sources/View/Channel/MessageInput/SBUQuoteMessageInputView.swift; sourceTree = ""; }; - 567E436A5967824ECE81F932 /* SBUOpenChannelContentBaseMessageCell.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUOpenChannelContentBaseMessageCell.swift; path = ../Sources/View/Channel/MessageCell/OpenChannel/SBUOpenChannelContentBaseMessageCell.swift; sourceTree = ""; }; - 56DA60A4302B8F511722271A /* SBUFontSet.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUFontSet.swift; path = ../Sources/Theme/SBUFontSet.swift; sourceTree = ""; }; - 57BC3B1D3B61BD706150D49E /* NSObject+SBUIKit.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSObject+SBUIKit.swift"; path = "../Sources/Extension/NSObject+SBUIKit.swift"; sourceTree = ""; }; - 582183947EB0E2D98FCDBBA9 /* SBUTheme+Type.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "SBUTheme+Type.swift"; path = "../Sources/Theme/SBUTheme+Type.swift"; sourceTree = ""; }; - 59C76A9CDC602E5C630BEC9E /* UIStackView.SBUIKit.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = UIStackView.SBUIKit.swift; path = ../Sources/Extension/UIStackView.SBUIKit.swift; sourceTree = ""; }; - 59F9AC587CF5189E33D71E88 /* SBUChatNotificationChannelModule.Header.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUChatNotificationChannelModule.Header.swift; path = ../Sources/Module/Channel/NotificationChannel/Chat/SBUChatNotificationChannelModule.Header.swift; sourceTree = ""; }; - 5A9652D710593D63AC898C96 /* SBUCreateOpenChannelViewModel.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUCreateOpenChannelViewModel.swift; path = ../Sources/ViewModel/SelectUser/CreateChannel/SBUCreateOpenChannelViewModel.swift; sourceTree = ""; }; - 5B6FAE483FB72456547C94A8 /* SBUMessageDateView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUMessageDateView.swift; path = ../Sources/View/Channel/CellView/SBUMessageDateView.swift; sourceTree = ""; }; - 5C2D8D8F5C7F6E52F0ECBC98 /* SBUStackView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUStackView.swift; path = ../Sources/View/Common/SBUStackView.swift; sourceTree = ""; }; - 5D281E8FD99F8FA369055BC3 /* SBUModerationsModule.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUModerationsModule.swift; path = ../Sources/Module/Moderations/SBUModerationsModule.swift; sourceTree = ""; }; - 5D57AD7439EF92D0DF854B9F /* SBUChatNotificationChannelModule.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUChatNotificationChannelModule.swift; path = ../Sources/Module/Channel/NotificationChannel/Chat/SBUChatNotificationChannelModule.swift; sourceTree = ""; }; - 5E6A09ADBC467DDDEEF66173 /* SBUUserMessageTextView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUUserMessageTextView.swift; path = ../Sources/View/Channel/CellView/SBUUserMessageTextView.swift; sourceTree = ""; }; - 5EBB45C861BC6E78C91BFEA8 /* SBUMenuSheetViewController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUMenuSheetViewController.swift; path = ../Sources/View/Common/Menu/SBUMenuSheetViewController.swift; sourceTree = ""; }; - 5EEB6A0D30457C08AE9E04DF /* SBUTableViewCell.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUTableViewCell.swift; path = "../Sources/View/Life cycles/SBUTableViewCell.swift"; sourceTree = ""; }; - 5F56809D086843E5C4BDEC0A /* SBUMessageCellConfiguration.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUMessageCellConfiguration.swift; path = ../Sources/Configuration/MessageCell/SBUMessageCellConfiguration.swift; sourceTree = ""; }; - 60383E1ABD029A6AE9410930 /* SBUStringSet.Deprecated.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUStringSet.Deprecated.swift; path = ../Sources/Constant/SBUStringSet.Deprecated.swift; sourceTree = ""; }; - 607DB3C3E0E69E7F326A1FCC /* SBUBaseChannelSettingsViewController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUBaseChannelSettingsViewController.swift; path = ../Sources/View/ChannelSettings/SBUBaseChannelSettingsViewController.swift; sourceTree = ""; }; - 6182A466235E45DD4494FD0C /* SBUAdminMessageCell.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUAdminMessageCell.swift; path = ../Sources/View/Channel/MessageCell/SBUAdminMessageCell.swift; sourceTree = ""; }; - 629E0B3632DCB8FBDA4811FA /* SBUReactionCollectionViewCell.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUReactionCollectionViewCell.swift; path = ../Sources/View/Channel/Reaction/SBUReactionCollectionViewCell.swift; sourceTree = ""; }; - 62C2EE24C2816C071814A6AE /* SBUThreadInfoView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUThreadInfoView.swift; path = ../Sources/View/Channel/MessageCell/Replies/MessageView/SBUThreadInfoView.swift; sourceTree = ""; }; - 637655126C24B139457FBB77 /* UITextField+SBUIKit.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UITextField+SBUIKit.swift"; path = "../Sources/Extension/UITextField+SBUIKit.swift"; sourceTree = ""; }; - 63C0164951E15BA1E1F5702C /* SBURegisterOperatorViewController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBURegisterOperatorViewController.swift; path = ../Sources/View/SelectUser/SBURegisterOperatorViewController.swift; sourceTree = ""; }; - 63ED80A9E207ADF7C3DC57D2 /* SBUUser.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUUser.swift; path = ../Sources/Model/SBUUser.swift; sourceTree = ""; }; - 64694D4B809D684F19F257B0 /* SBUMemberListViewController.Deprecated.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUMemberListViewController.Deprecated.swift; path = ../Sources/Deprecated/MemberList/SBUMemberListViewController.Deprecated.swift; sourceTree = ""; }; - 648ECEBED8A76D3D207A6B8D /* SBUBaseChannelSettingsViewModel.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUBaseChannelSettingsViewModel.swift; path = ../Sources/ViewModel/ChannelSettings/SBUBaseChannelSettingsViewModel.swift; sourceTree = ""; }; - 654D2A78226789EF2B51ED5B /* SBUBaseChannelListModule.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUBaseChannelListModule.swift; path = ../Sources/Module/ChannelList/SBUBaseChannelListModule.swift; sourceTree = ""; }; - 66A81B07262521C357347AEA /* SBUCommonDelegate.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUCommonDelegate.swift; path = ../Sources/ViewModel/Common/SBUCommonDelegate.swift; sourceTree = ""; }; - 6783A56D2FA94E934B3C030D /* SBULayoutableButton.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBULayoutableButton.swift; path = ../Sources/View/Common/SBULayoutableButton.swift; sourceTree = ""; }; - 679F20E8CA5E8CF79CF99791 /* SBUBarButtonItem.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUBarButtonItem.swift; path = ../Sources/View/Common/SBUBarButtonItem.swift; sourceTree = ""; }; - 6A7C40C1B5781760EAD0967A /* SBUBottomSheetController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUBottomSheetController.swift; path = ../Sources/View/Common/Menu/SBUBottomSheetController.swift; sourceTree = ""; }; - 6B17CE1D0AECF3EE2234401D /* SBUUserListViewModel.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUUserListViewModel.swift; path = ../Sources/ViewModel/UserList/SBUUserListViewModel.swift; sourceTree = ""; }; - 6F1D9BF511F177336100D2A1 /* UIColor+SBUIKit.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIColor+SBUIKit.swift"; path = "../Sources/Extension/UIColor+SBUIKit.swift"; sourceTree = ""; }; - 6F32FF19723F2FF0816F5FFD /* SBUMentionLimitGuideCell.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUMentionLimitGuideCell.swift; path = ../Sources/View/Channel/MessageInput/SBUMentionLimitGuideCell.swift; sourceTree = ""; }; - 6F3FBF776CF1F2C77B98D1CE /* SBUMessageWebViewModel.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUMessageWebViewModel.swift; path = ../Sources/View/Channel/ViewModel/SBUMessageWebViewModel.swift; sourceTree = ""; }; - 6F791270F933192C34653966 /* SBUMessageReactionView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUMessageReactionView.swift; path = ../Sources/View/Channel/Reaction/SBUMessageReactionView.swift; sourceTree = ""; }; - 6F9F628FDF6A61E615B6C68E /* SBUOpenChannelAdminMessageCell.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUOpenChannelAdminMessageCell.swift; path = ../Sources/View/Channel/MessageCell/OpenChannel/SBUOpenChannelAdminMessageCell.swift; sourceTree = ""; }; - 712928ED869AF04DE14CA8D6 /* SBUGroupChannelViewController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUGroupChannelViewController.swift; path = ../Sources/View/Channel/SBUGroupChannelViewController.swift; sourceTree = ""; }; - 7133E170BA439EF8C3334BA0 /* SBUChannelTitleView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUChannelTitleView.swift; path = ../Sources/View/Channel/Header/SBUChannelTitleView.swift; sourceTree = ""; }; - 7143EB69F12693845BC01588 /* SBUCreateChannelModule.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUCreateChannelModule.swift; path = ../Sources/Module/SelectUser/CreateChannel/SBUCreateChannelModule.swift; sourceTree = ""; }; - 7163704D198E16CB0F8B61F9 /* SBUGroupChannelSettingsModule.Header.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUGroupChannelSettingsModule.Header.swift; path = ../Sources/Module/ChannelSettings/GroupChannel/SBUGroupChannelSettingsModule.Header.swift; sourceTree = ""; }; - 71DBF1E6CE1B3D24993B918C /* SBUVoiceFileInfo.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUVoiceFileInfo.swift; path = ../Sources/Model/SBUVoiceFileInfo.swift; sourceTree = ""; }; - 7230B430FA270B0A908720F5 /* SBUGroupChannelViewController.Deprecated.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUGroupChannelViewController.Deprecated.swift; path = ../Sources/Deprecated/Channel/SBUGroupChannelViewController.Deprecated.swift; sourceTree = ""; }; - 72572E7ADB5D09980E8DE158 /* SBUConfig.CodingKeys.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUConfig.CodingKeys.swift; path = ../Sources/Configuration/SBUConfig.CodingKeys.swift; sourceTree = ""; }; - 7327B1A7A67145F4DB95D771 /* SBUCacheManager.NotificationSetting.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUCacheManager.NotificationSetting.swift; path = ../Sources/Manager/CacheManager/SBUCacheManager.NotificationSetting.swift; sourceTree = ""; }; - 74DBF7C5222CD338D80F1B4D /* SBUAlertView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUAlertView.swift; path = ../Sources/View/Common/SBUAlertView.swift; sourceTree = ""; }; - 758C9DDD6BCAB2A6B26B713C /* SBUEnums.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUEnums.swift; path = ../Sources/Enums/SBUEnums.swift; sourceTree = ""; }; - 75F6C830EC87D9A4CB6C6A03 /* SBUChannelSettingsChannelInfoView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUChannelSettingsChannelInfoView.swift; path = ../Sources/View/ChannelSettings/View/SBUChannelSettingsChannelInfoView.swift; sourceTree = ""; }; - 761886AB5C44F0A9C0B687AB /* SBUFeedNotificationChannelModule.List.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUFeedNotificationChannelModule.List.swift; path = ../Sources/Module/Channel/NotificationChannel/Feed/SBUFeedNotificationChannelModule.List.swift; sourceTree = ""; }; - 76987D65323CBAB0CBA3BBA7 /* SBUChatNotificationChannelViewController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUChatNotificationChannelViewController.swift; path = ../Sources/View/Channel/SBUChatNotificationChannelViewController.swift; sourceTree = ""; }; - 769A58775948A4D04CF29675 /* SBUBaseChannelModule.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUBaseChannelModule.swift; path = ../Sources/Module/Channel/SBUBaseChannelModule.swift; sourceTree = ""; }; - 78BC2FBF3CCA4A99FE9CDABF /* SBUCacheManager.Version.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUCacheManager.Version.swift; path = ../Sources/Manager/CacheManager/SBUCacheManager.Version.swift; sourceTree = ""; }; - 79EA4C52DD7B421C8161235E /* SBUGlobals.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUGlobals.swift; path = ../Sources/SBUGlobals.swift; sourceTree = ""; }; - 7A0124FA1CF917C980C764C6 /* SBUModerationsViewModel.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUModerationsViewModel.swift; path = ../Sources/ViewModel/ChannelSettings/SBUModerationsViewModel.swift; sourceTree = ""; }; - 7ADF6A5C700565F0093FF653 /* CGSize+SBUIKit.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "CGSize+SBUIKit.swift"; path = "../Sources/Extension/CGSize+SBUIKit.swift"; sourceTree = ""; }; - 7DA6C51198C5CE332E8E302B /* SBUPhotoAccess.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUPhotoAccess.swift; path = ../Sources/View/Common/PhotoLibrary/SBUPhotoAccess.swift; sourceTree = ""; }; - 7DEB64DF7C933C1D2CDD479B /* SBUUserCell.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUUserCell.swift; path = ../Sources/View/Common/UserCell/SBUUserCell.swift; sourceTree = ""; }; - 7E2412D9BFE1BBE5814267D5 /* SBUSuggestedMentionList.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUSuggestedMentionList.swift; path = ../Sources/View/Channel/MessageInput/SBUSuggestedMentionList.swift; sourceTree = ""; }; - 7F749212D2FDB736A08759F9 /* SBUFeedNotificationChannelModule.CategoryFilter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUFeedNotificationChannelModule.CategoryFilter.swift; path = ../Sources/Module/Channel/NotificationChannel/Feed/SBUFeedNotificationChannelModule.CategoryFilter.swift; sourceTree = ""; }; - 7FF8417CBFE3DF9176C20246 /* SBUFeedNotificationCell.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUFeedNotificationCell.swift; path = ../Sources/View/Channel/MessageCell/NotificationChannel/SBUFeedNotificationCell.swift; sourceTree = ""; }; - 80A3A8DE008DD62F3E58C1D2 /* SBUUnknownMessageCellParams.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUUnknownMessageCellParams.swift; path = ../Sources/View/Channel/MessageCell/MessageCellParams/SBUUnknownMessageCellParams.swift; sourceTree = ""; }; - 816B5DE59553F3A316B93D84 /* SBUVoicePlayer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUVoicePlayer.swift; path = ../Sources/Manager/SBUVoicePlayer.swift; sourceTree = ""; }; - 823A18F321AF6585BC03A700 /* SBUOpenChannelUserMessageCell.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUOpenChannelUserMessageCell.swift; path = ../Sources/View/Channel/MessageCell/OpenChannel/SBUOpenChannelUserMessageCell.swift; sourceTree = ""; }; - 8269A4E5EB2D3897F9A0E7BD /* SBUQuotedMessageViewProtocol.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUQuotedMessageViewProtocol.swift; path = "../Sources/View/Life cycles/SBUQuotedMessageViewProtocol.swift"; sourceTree = ""; }; - 82E5A3E3CBD88CDDD5E8ACF8 /* SBUNotificationNavigationTitleView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUNotificationNavigationTitleView.swift; path = ../Sources/View/Common/SBUNotificationNavigationTitleView.swift; sourceTree = ""; }; - 82E5FACDBD42B9FEA5FF1595 /* UIButton+SBUIKit.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIButton+SBUIKit.swift"; path = "../Sources/Extension/UIButton+SBUIKit.swift"; sourceTree = ""; }; - 83004DF0A3034678FBA8516F /* SBUFileViewController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUFileViewController.swift; path = ../Sources/View/Channel/FileViewer/SBUFileViewController.swift; sourceTree = ""; }; - 8303883F80534809B3B047D2 /* SBUFeedNotificationChannelModule.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUFeedNotificationChannelModule.swift; path = ../Sources/Module/Channel/NotificationChannel/Feed/SBUFeedNotificationChannelModule.swift; sourceTree = ""; }; - 83242392F740953790B4375B /* SBUPropertyWrapper.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUPropertyWrapper.swift; path = ../Sources/Util/SBUPropertyWrapper.swift; sourceTree = ""; }; - 8408E9F2F7E847EB7913A598 /* SBUGroupChannelViewController.Unavailable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUGroupChannelViewController.Unavailable.swift; path = ../Sources/Deprecated/Channel/SBUGroupChannelViewController.Unavailable.swift; sourceTree = ""; }; - 84FDC397F7D21A54D784C440 /* SBUChatNotificationCell.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUChatNotificationCell.swift; path = ../Sources/View/Channel/MessageCell/NotificationChannel/SBUChatNotificationCell.swift; sourceTree = ""; }; - 8543F709B0342511683EBFDD /* SBUTheme.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUTheme.swift; path = ../Sources/Theme/SBUTheme.swift; sourceTree = ""; }; - 855753F69A93A1BFD9CB308E /* String+SBUIKit.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "String+SBUIKit.swift"; path = "../Sources/Extension/String+SBUIKit.swift"; sourceTree = ""; }; - 872E0AA1A1F3E853EF566DAE /* SBUNotificationEmptyView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUNotificationEmptyView.swift; path = ../Sources/View/Common/SBUNotificationEmptyView.swift; sourceTree = ""; }; - 8753F1339E8DBD222A2B3FDB /* SBUBaseViewController.Unavailable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUBaseViewController.Unavailable.swift; path = ../Sources/Deprecated/SBUBaseViewController.Unavailable.swift; sourceTree = ""; }; - 88714172585D3BDF3DCEE08A /* SBUQuotedBaseMessageViewParams.Deprecated.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUQuotedBaseMessageViewParams.Deprecated.swift; path = ../Sources/Deprecated/Channel/MessageCell/Replies/SBUQuotedBaseMessageViewParams.Deprecated.swift; sourceTree = ""; }; - 88D6DD9ED801960EF18A8052 /* SBUChatNotificationChannelModule.List.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUChatNotificationChannelModule.List.swift; path = ../Sources/Module/Channel/NotificationChannel/Chat/SBUChatNotificationChannelModule.List.swift; sourceTree = ""; }; - 893A8E03E551E5C616D80E4A /* SBUMessageCellProtocol.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUMessageCellProtocol.swift; path = "../Sources/View/Life cycles/SBUMessageCellProtocol.swift"; sourceTree = ""; }; - 8C403622DBFAE9857B88659D /* SBUDateFormatSet.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUDateFormatSet.swift; path = ../Sources/Constant/SBUDateFormatSet.swift; sourceTree = ""; }; - 8EA27E37EE4CD3B8C1196A1F /* SBUCreateChannelModule.Header.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUCreateChannelModule.Header.swift; path = ../Sources/Module/SelectUser/CreateChannel/SBUCreateChannelModule.Header.swift; sourceTree = ""; }; - 8EE1E71E03C0667497BDBF57 /* VoiceMessageStatus.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = VoiceMessageStatus.swift; path = ../Sources/Enums/VoiceMessageStatus.swift; sourceTree = ""; }; - 8F88304E2BD83DF0969F1C29 /* SBUCollectionViewFlowLayout.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUCollectionViewFlowLayout.swift; path = ../Sources/View/Common/SBUCollectionViewFlowLayout.swift; sourceTree = ""; }; - 90860729D1AF1AA3A3609AA2 /* SBUCreateOpenChannelModule.Header.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUCreateOpenChannelModule.Header.swift; path = ../Sources/Module/SelectUser/CreateChannel/SBUCreateOpenChannelModule.Header.swift; sourceTree = ""; }; - 90AB02F549FD949487F4EB43 /* UIImage+SBUIKit.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIImage+SBUIKit.swift"; path = "../Sources/Extension/UIImage+SBUIKit.swift"; sourceTree = ""; }; - 90FA070074290D0AC3F895C0 /* SBUBaseMessageCellParams.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUBaseMessageCellParams.swift; path = ../Sources/View/Channel/MessageCell/MessageCellParams/SBUBaseMessageCellParams.swift; sourceTree = ""; }; - 916D74D6BACB1599C3157DD7 /* SBUQuotedBaseMessageView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUQuotedBaseMessageView.swift; path = ../Sources/View/Channel/MessageCell/Replies/MessageView/SBUQuotedBaseMessageView.swift; sourceTree = ""; }; - 925FA1B6D1C2B27F505AFDAD /* SBUGroupChannelSettingsViewModel.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUGroupChannelSettingsViewModel.swift; path = ../Sources/ViewModel/ChannelSettings/SBUGroupChannelSettingsViewModel.swift; sourceTree = ""; }; - 92BCE5C268C9DCE0C655F7B1 /* QuotedFileImageContentView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = QuotedFileImageContentView.swift; path = ../Sources/View/Channel/MessageCell/Replies/MessageView/QuotedFileImageContentView.swift; sourceTree = ""; }; - 9345EF446685A81A3A205032 /* SBUQuotedBaseMessageViewParams.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUQuotedBaseMessageViewParams.swift; path = ../Sources/View/Channel/MessageCell/Replies/ViewParams/SBUQuotedBaseMessageViewParams.swift; sourceTree = ""; }; - 9516F9847F84F192DC63D8E4 /* SBUReactionCollectionViewCell.xib */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = file.xib; name = SBUReactionCollectionViewCell.xib; path = ../Sources/View/Channel/Reaction/SBUReactionCollectionViewCell.xib; sourceTree = ""; }; - 955081971B458CB8DEF0DAA9 /* SBUOpenChannelSettingsModule.Header.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUOpenChannelSettingsModule.Header.swift; path = ../Sources/Module/ChannelSettings/OpenChannel/SBUOpenChannelSettingsModule.Header.swift; sourceTree = ""; }; - 960F1C53AFDD9E464F4FCFC5 /* SBUChannelInfoHeaderView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUChannelInfoHeaderView.swift; path = ../Sources/View/Channel/Header/SBUChannelInfoHeaderView.swift; sourceTree = ""; }; - 9677EEA5ABE0AA57B135AC00 /* SBUNotificationTimelineView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUNotificationTimelineView.swift; path = ../Sources/View/Channel/CellView/SBUNotificationTimelineView.swift; sourceTree = ""; }; - 968F1E62124C9EEA0B2FF48D /* SBUModuleSet.Deprecated.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUModuleSet.Deprecated.swift; path = ../Sources/Deprecated/SBUModuleSet.Deprecated.swift; sourceTree = ""; }; - 96A24EEEE5156B6E1E96B54B /* SBUOpenChannelSettingsModule.List.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUOpenChannelSettingsModule.List.swift; path = ../Sources/Module/ChannelSettings/OpenChannel/SBUOpenChannelSettingsModule.List.swift; sourceTree = ""; }; - 97102E9B2731215E96EE8A54 /* SBUColorSet.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUColorSet.swift; path = ../Sources/Theme/SBUColorSet.swift; sourceTree = ""; }; - 9811062D110DE887A0C4466B /* SBURegisterOperatorModule.Header.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBURegisterOperatorModule.Header.swift; path = ../Sources/Module/SelectUser/RegisterOperator/SBURegisterOperatorModule.Header.swift; sourceTree = ""; }; - 99628FF2DD4C624ED959C3A8 /* SBUChannelSettingItem.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUChannelSettingItem.swift; path = ../Sources/Module/ChannelSettings/ChannelSettingItem/SBUChannelSettingItem.swift; sourceTree = ""; }; - 99EF1345B00A366E92E96EA2 /* SBUOpenChannelSettingsViewController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUOpenChannelSettingsViewController.swift; path = ../Sources/View/ChannelSettings/SBUOpenChannelSettingsViewController.swift; sourceTree = ""; }; - 99F9ADB0066101AD4EB663E3 /* Array+SBUIKit.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Array+SBUIKit.swift"; path = "../Sources/Extension/Array+SBUIKit.swift"; sourceTree = ""; }; - 9A68D5CFDFC083C2D88E8B73 /* SBUImageContentView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUImageContentView.swift; path = ../Sources/View/Channel/MessageCell/FileMessageContentView/SBUImageContentView.swift; sourceTree = ""; }; - 9B9F65DA4E371C5717532414 /* SBUContentBaseMessageCell.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUContentBaseMessageCell.swift; path = ../Sources/View/Channel/MessageCell/SBUContentBaseMessageCell.swift; sourceTree = ""; }; - 9C00F02DCD75ED88CF5E8F0F /* SBUUserListModule.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUUserListModule.swift; path = ../Sources/Module/UserList/SBUUserListModule.swift; sourceTree = ""; }; + 4A2A8E48D3DD64754017EEB1 /* SBUBaseChannelViewController.Keyboard.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUBaseChannelViewController.Keyboard.swift; path = ../Sources/View/Channel/SBUBaseChannelViewController.Keyboard.swift; sourceTree = ""; }; + 4A6F9600D453D931501C0419 /* SBULinkClickableTextView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBULinkClickableTextView.swift; path = ../Sources/View/Channel/CellView/SBULinkClickableTextView.swift; sourceTree = ""; }; + 4AE252FE07A7CFAD441BF81A /* SBUVoiceMessageConfiguration.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUVoiceMessageConfiguration.swift; path = ../Sources/Configuration/VoiceMessage/SBUVoiceMessageConfiguration.swift; sourceTree = ""; }; + 4B367249B997AFEBBE0BA43E /* SBUContentBaseMessageCell.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUContentBaseMessageCell.swift; path = ../Sources/View/Channel/MessageCell/SBUContentBaseMessageCell.swift; sourceTree = ""; }; + 4B5E1B0F2B978441A74F6164 /* SBUCollectionViewCell.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUCollectionViewCell.swift; path = "../Sources/View/Life cycles/SBUCollectionViewCell.swift"; sourceTree = ""; }; + 4BC8A61F1C824B4B05829E54 /* SBUSelectableStackView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUSelectableStackView.swift; path = ../Sources/View/Channel/CellView/SBUSelectableStackView.swift; sourceTree = ""; }; + 4BCE9396B8ACF0777B74181E /* SBUOpenChannelContentBaseMessageCell.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUOpenChannelContentBaseMessageCell.swift; path = ../Sources/View/Channel/MessageCell/OpenChannel/SBUOpenChannelContentBaseMessageCell.swift; sourceTree = ""; }; + 4CE60F9E512F491B68FD11D0 /* SBUIconSetType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUIconSetType.swift; path = ../Sources/Enums/SBUIconSetType.swift; sourceTree = ""; }; + 4DD452516989FEA91AFADC93 /* SBUAdminMessageCellParams.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUAdminMessageCellParams.swift; path = ../Sources/View/Channel/MessageCell/MessageCellParams/SBUAdminMessageCellParams.swift; sourceTree = ""; }; + 4E7B3FCFA6A6F8C5DBE25A5A /* SBUContentBaseMessageCell.Deprecated.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUContentBaseMessageCell.Deprecated.swift; path = ../Sources/Deprecated/Channel/MessageCell/SBUContentBaseMessageCell.Deprecated.swift; sourceTree = ""; }; + 4FC0A5053C9D9D8F0CFB055E /* SBUFileMessageCellParams.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUFileMessageCellParams.swift; path = ../Sources/View/Channel/MessageCell/MessageCellParams/SBUFileMessageCellParams.swift; sourceTree = ""; }; + 5116D2B8A7C808849C61BD43 /* Float+SBUKit.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Float+SBUKit.swift"; path = "../Sources/Extension/Float+SBUKit.swift"; sourceTree = ""; }; + 51AE6FE4B38222222FB0195B /* SBUConstant.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUConstant.swift; path = ../Sources/Constant/SBUConstant.swift; sourceTree = ""; }; + 526D54493836E3FA47483E52 /* SBUModerationsViewController.Deprecated.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUModerationsViewController.Deprecated.swift; path = ../Sources/Deprecated/Moderations/SBUModerationsViewController.Deprecated.swift; sourceTree = ""; }; + 52C7B49F09393FA5D87AEFF8 /* SBUOpenChannelListModule.List.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUOpenChannelListModule.List.swift; path = ../Sources/Module/ChannelList/OpenChannel/SBUOpenChannelListModule.List.swift; sourceTree = ""; }; + 538F81345395C26F91007FE6 /* SBUMessageSearchModule.List.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUMessageSearchModule.List.swift; path = ../Sources/Module/MessageSearch/SBUMessageSearchModule.List.swift; sourceTree = ""; }; + 57915343C57BEC578EE0DB11 /* SBUVoiceMessageInputView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUVoiceMessageInputView.swift; path = ../Sources/View/VoiceNote/SBUVoiceMessageInputView.swift; sourceTree = ""; }; + 58561CDFA47CA0153A191EE1 /* SBUOpenChannelSettingsViewController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUOpenChannelSettingsViewController.swift; path = ../Sources/View/ChannelSettings/SBUOpenChannelSettingsViewController.swift; sourceTree = ""; }; + 5962390A18B1E64AB7B2DFD1 /* CommonProtocols.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CommonProtocols.swift; path = ../Sources/Protocol/CommonProtocols.swift; sourceTree = ""; }; + 5A5BC5524EE49E6ACDE701EB /* SBUBaseChannelListViewController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUBaseChannelListViewController.swift; path = ../Sources/View/ChannelList/SBUBaseChannelListViewController.swift; sourceTree = ""; }; + 5AEEFEFD26ED958E5ADBE255 /* SBUCacheManager.Template.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUCacheManager.Template.swift; path = ../Sources/Manager/CacheManager/SBUCacheManager.Template.swift; sourceTree = ""; }; + 5BE52D3254DD331D2360A51E /* SBUMessageSearchViewModel.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUMessageSearchViewModel.swift; path = ../Sources/ViewModel/MessageSearch/SBUMessageSearchViewModel.swift; sourceTree = ""; }; + 5C3172956BF6E41AE4943F34 /* SBUBaseChannelSettingsModule.List.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUBaseChannelSettingsModule.List.swift; path = ../Sources/Module/ChannelSettings/SBUBaseChannelSettingsModule.List.swift; sourceTree = ""; }; + 5D09408470D1A37CE1DC7FAF /* SBUPhotoAccess.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUPhotoAccess.swift; path = ../Sources/View/Common/PhotoLibrary/SBUPhotoAccess.swift; sourceTree = ""; }; + 5D461E38551F9F3CE796339B /* SBUModuleSet.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUModuleSet.swift; path = ../Sources/Module/SBUModuleSet.swift; sourceTree = ""; }; + 5DC7B3F888C73BABB2F9F5DF /* SBULogger.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBULogger.swift; path = ../Sources/Util/SBULogger.swift; sourceTree = ""; }; + 5E1FB5490D5EF329AC15FDD5 /* SBUNotificationCell.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUNotificationCell.swift; path = ../Sources/View/Channel/MessageCell/NotificationChannel/SBUNotificationCell.swift; sourceTree = ""; }; + 5E1FF50DD60FA14EEDE320FA /* SBUOpenChannelListModule.Header.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUOpenChannelListModule.Header.swift; path = ../Sources/Module/ChannelList/OpenChannel/SBUOpenChannelListModule.Header.swift; sourceTree = ""; }; + 605FB2BE67201AA9C4950ED3 /* SBUGroupChannelListModule.Header.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUGroupChannelListModule.Header.swift; path = ../Sources/Module/ChannelList/GroupChannel/SBUGroupChannelListModule.Header.swift; sourceTree = ""; }; + 60B34DA8A62448D9A78D0A00 /* SBUConfigManager.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUConfigManager.swift; path = ../Sources/Configuration/SBUConfigManager.swift; sourceTree = ""; }; + 60C63031F96B3B3CD8793477 /* SBUGlobalCustomParams.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUGlobalCustomParams.swift; path = ../Sources/SBUGlobalCustomParams.swift; sourceTree = ""; }; + 6140F3C94EEA9D0286B685A5 /* SBUCommonContentView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUCommonContentView.swift; path = ../Sources/View/Channel/MessageCell/FileMessageContentView/SBUCommonContentView.swift; sourceTree = ""; }; + 61C84FCFF474CE2DFFC0AD9C /* SBUFeedNotificationChannelModule.List.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUFeedNotificationChannelModule.List.swift; path = ../Sources/Module/Channel/NotificationChannel/Feed/SBUFeedNotificationChannelModule.List.swift; sourceTree = ""; }; + 62480E208EB58BAF0F81FD86 /* MessageTemplateRenderer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MessageTemplateRenderer.swift; path = ../Sources/CustomSyntaxTest/MessageTemplateRenderer.swift; sourceTree = ""; }; + 629C03081E11658DA7A82E42 /* Date+SBUIKit.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Date+SBUIKit.swift"; path = "../Sources/Extension/Date+SBUIKit.swift"; sourceTree = ""; }; + 630A684BCE48E6394E34E33D /* SBUPendingMessageManager.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUPendingMessageManager.swift; path = ../Sources/Manager/SBUPendingMessageManager.swift; sourceTree = ""; }; + 6360CBA5730E86B7DC3F8DF5 /* SBUChatNotificationChannelModule.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUChatNotificationChannelModule.swift; path = ../Sources/Module/Channel/NotificationChannel/Chat/SBUChatNotificationChannelModule.swift; sourceTree = ""; }; + 64C8C370106E69D699D79D31 /* UIViewController+SBUIKit.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIViewController+SBUIKit.swift"; path = "../Sources/Extension/UIViewController+SBUIKit.swift"; sourceTree = ""; }; + 663FF1267F99388104C979B5 /* SBUGroupChannelModule.Input.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUGroupChannelModule.Input.swift; path = ../Sources/Module/Channel/GroupChannel/SBUGroupChannelModule.Input.swift; sourceTree = ""; }; + 671E875BD0B3DE6D6750DF62 /* SBUUserMessageCellParams.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUUserMessageCellParams.swift; path = ../Sources/View/Channel/MessageCell/MessageCellParams/SBUUserMessageCellParams.swift; sourceTree = ""; }; + 674EFD4B91297E6C875EEC39 /* SBUBaseMessageCell.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUBaseMessageCell.swift; path = ../Sources/View/Channel/MessageCell/SBUBaseMessageCell.swift; sourceTree = ""; }; + 675F4B89AB441C575145F984 /* CGSize+SBUIKit.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "CGSize+SBUIKit.swift"; path = "../Sources/Extension/CGSize+SBUIKit.swift"; sourceTree = ""; }; + 677331CA2445156ACEF03F92 /* SBUOpenChannelSettingsModule.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUOpenChannelSettingsModule.swift; path = ../Sources/Module/ChannelSettings/OpenChannel/SBUOpenChannelSettingsModule.swift; sourceTree = ""; }; + 67925B73FD9C41D7449D159C /* SBUGroupChannelPushSettingsViewController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUGroupChannelPushSettingsViewController.swift; path = ../Sources/View/NotificationSettings/SBUGroupChannelPushSettingsViewController.swift; sourceTree = ""; }; + 6798FA32FA6F643564E127E4 /* SBUNotificationChannelManager.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUNotificationChannelManager.swift; path = ../Sources/Manager/SBUNotificationChannelManager.swift; sourceTree = ""; }; + 68DB8FE9777577E2EBDE1732 /* UITextField+SBUIKit.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UITextField+SBUIKit.swift"; path = "../Sources/Extension/UITextField+SBUIKit.swift"; sourceTree = ""; }; + 69CD9A3BF5D8725ACC9EF37D /* SBUGroupChannelModule.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUGroupChannelModule.swift; path = ../Sources/Module/Channel/GroupChannel/SBUGroupChannelModule.swift; sourceTree = ""; }; + 6A88EDA202FE7AB6E404D3B6 /* SBUNotificationTimelineView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUNotificationTimelineView.swift; path = ../Sources/View/Channel/CellView/SBUNotificationTimelineView.swift; sourceTree = ""; }; + 6AF0C42E48F6C0A967AC9C35 /* SBUEnums.Deprecated.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUEnums.Deprecated.swift; path = ../Sources/Deprecated/SBUEnums.Deprecated.swift; sourceTree = ""; }; + 6B4AD6A82A0D24900ED39729 /* SBUInviteUserModule.Header.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUInviteUserModule.Header.swift; path = ../Sources/Module/SelectUser/InviteUser/SBUInviteUserModule.Header.swift; sourceTree = ""; }; + 6B703A306EB03510068901B7 /* SBUMessageWebView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUMessageWebView.swift; path = ../Sources/View/Channel/CellView/SBUMessageWebView.swift; sourceTree = ""; }; + 6C939F2C9568B3EBA1F650A1 /* SBUOpenChannelUserMessageCell.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUOpenChannelUserMessageCell.swift; path = ../Sources/View/Channel/MessageCell/OpenChannel/SBUOpenChannelUserMessageCell.swift; sourceTree = ""; }; + 6CD2BB37D1C6085B2F474B52 /* SBUEmojiListViewController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUEmojiListViewController.swift; path = ../Sources/View/Channel/Reaction/SBUEmojiListViewController.swift; sourceTree = ""; }; + 6E1393B713164B06E7EEBF93 /* SBUQuotedMessageViewProtocol.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUQuotedMessageViewProtocol.swift; path = "../Sources/View/Life cycles/SBUQuotedMessageViewProtocol.swift"; sourceTree = ""; }; + 6F43B9C5D2B73C2EBDDAD6D6 /* SBUChatNotificationCell.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUChatNotificationCell.swift; path = ../Sources/View/Channel/MessageCell/NotificationChannel/SBUChatNotificationCell.swift; sourceTree = ""; }; + 7056174BB03D5BD2711C7E42 /* SBUUserMentionConfiguration.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUUserMentionConfiguration.swift; path = ../Sources/Configuration/Mention/SBUUserMentionConfiguration.swift; sourceTree = ""; }; + 7148F3ABCFC2FE256BB6078A /* SBUFeedNotificationChannelViewController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUFeedNotificationChannelViewController.swift; path = ../Sources/View/Channel/SBUFeedNotificationChannelViewController.swift; sourceTree = ""; }; + 725F22ACAD2767BAEB1ECEF2 /* SBUOpenChannelModule.Header.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUOpenChannelModule.Header.swift; path = ../Sources/Module/Channel/OpenChannel/SBUOpenChannelModule.Header.swift; sourceTree = ""; }; + 73821D5CE28EF4964F2CEB93 /* SBUChannelTitleView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUChannelTitleView.swift; path = ../Sources/View/Channel/Header/SBUChannelTitleView.swift; sourceTree = ""; }; + 754E781BE1E65BA00EEC33D3 /* SBUModerationCell.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUModerationCell.swift; path = ../Sources/View/ChannelSettings/Cell/SBUModerationCell.swift; sourceTree = ""; }; + 75BAE019370F0A7CBDAD2593 /* SBUUserNameView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUUserNameView.swift; path = ../Sources/View/Channel/CellView/SBUUserNameView.swift; sourceTree = ""; }; + 769A710E18DF9B200A8C45C7 /* SBULoading.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBULoading.swift; path = ../Sources/View/Common/SBULoading.swift; sourceTree = ""; }; + 785042C06DC115F3597C8DD4 /* SBUMessageSearchViewController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUMessageSearchViewController.swift; path = ../Sources/View/MessageSearch/SBUMessageSearchViewController.swift; sourceTree = ""; }; + 7893E185E5792AB652DB14CA /* SBUQuoteMessageInputViewParams.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUQuoteMessageInputViewParams.swift; path = ../Sources/View/Channel/MessageInput/ViewParams/SBUQuoteMessageInputViewParams.swift; sourceTree = ""; }; + 78EDE63E52336BD09D623A4F /* SBUMessageSearchModule.Header.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUMessageSearchModule.Header.swift; path = ../Sources/Module/MessageSearch/SBUMessageSearchModule.Header.swift; sourceTree = ""; }; + 7AB130B24FD0C7F8AF989E2D /* SBUPermissionManager.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUPermissionManager.swift; path = ../Sources/Manager/SBUPermissionManager.swift; sourceTree = ""; }; + 7B5B895420A77164C4C6BFDC /* SBUCreateOpenChannelViewModel.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUCreateOpenChannelViewModel.swift; path = ../Sources/ViewModel/SelectUser/CreateChannel/SBUCreateOpenChannelViewModel.swift; sourceTree = ""; }; + 7B783A9C517E9B0F82A8C706 /* SBUCacheManager.File.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUCacheManager.File.swift; path = ../Sources/Manager/CacheManager/SBUCacheManager.File.swift; sourceTree = ""; }; + 7CA1E200A4B98086A43A1E18 /* SBUOpenChannelListModule.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUOpenChannelListModule.swift; path = ../Sources/Module/ChannelList/OpenChannel/SBUOpenChannelListModule.swift; sourceTree = ""; }; + 7DE0BEF0A79519E9A05CF9C4 /* SBUCreateChannelViewController.Deprecated.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUCreateChannelViewController.Deprecated.swift; path = ../Sources/Deprecated/CreateChannel/SBUCreateChannelViewController.Deprecated.swift; sourceTree = ""; }; + 7DE6D730CC6C22AA08706A52 /* SBUBaseMessageCellParams.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUBaseMessageCellParams.swift; path = ../Sources/View/Channel/MessageCell/MessageCellParams/SBUBaseMessageCellParams.swift; sourceTree = ""; }; + 7E81839538B44256968CE563 /* SBUMessageCache.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUMessageCache.swift; path = ../Sources/Model/SBUMessageCache.swift; sourceTree = ""; }; + 7F5D40D9A16548E764C4860C /* SBUDebouncer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUDebouncer.swift; path = ../Sources/Util/SBUDebouncer.swift; sourceTree = ""; }; + 8000CAFCA99993ECE66EB404 /* SBUChatNotificationChannelModule.Header.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUChatNotificationChannelModule.Header.swift; path = ../Sources/Module/Channel/NotificationChannel/Chat/SBUChatNotificationChannelModule.Header.swift; sourceTree = ""; }; + 8071A5F7B6A94055336081B6 /* SBUBaseChannelViewModel.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUBaseChannelViewModel.swift; path = ../Sources/ViewModel/Channel/SBUBaseChannelViewModel.swift; sourceTree = ""; }; + 814619053847EF0C37A37EC2 /* SBUActionSheet.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUActionSheet.swift; path = ../Sources/View/Common/SBUActionSheet.swift; sourceTree = ""; }; + 818E2B283C48F1759DA023AC /* QuotedFileCommonContentView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = QuotedFileCommonContentView.swift; path = ../Sources/View/Channel/MessageCell/Replies/MessageView/QuotedFileCommonContentView.swift; sourceTree = ""; }; + 82786DC4B0EBBAFACAB2D913 /* SBUUserListViewModel.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUUserListViewModel.swift; path = ../Sources/ViewModel/UserList/SBUUserListViewModel.swift; sourceTree = ""; }; + 83710201EAB5DB8B64A16C08 /* SBUBaseSelectUserViewController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUBaseSelectUserViewController.swift; path = ../Sources/View/SelectUser/SBUBaseSelectUserViewController.swift; sourceTree = ""; }; + 838CDEB17568B8877027EEE9 /* SBUOpenChannelAdminMessageCell.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUOpenChannelAdminMessageCell.swift; path = ../Sources/View/Channel/MessageCell/OpenChannel/SBUOpenChannelAdminMessageCell.swift; sourceTree = ""; }; + 83D2E25066DC434B4585A930 /* SBUModerationsModule.Header.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUModerationsModule.Header.swift; path = ../Sources/Module/Moderations/SBUModerationsModule.Header.swift; sourceTree = ""; }; + 85E79C41E363E3157E648034 /* SBUStackView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUStackView.swift; path = ../Sources/View/Common/SBUStackView.swift; sourceTree = ""; }; + 85FB7D001BBF3F7C212F8A42 /* SBUBaseChannelSettingsViewController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUBaseChannelSettingsViewController.swift; path = ../Sources/View/ChannelSettings/SBUBaseChannelSettingsViewController.swift; sourceTree = ""; }; + 8626CDC95806709FC78772AC /* SBUGlobals.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUGlobals.swift; path = ../Sources/SBUGlobals.swift; sourceTree = ""; }; + 8794A6A6C2E96D25AB39EB54 /* SBUOpenChannelListViewController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUOpenChannelListViewController.swift; path = ../Sources/View/ChannelList/SBUOpenChannelListViewController.swift; sourceTree = ""; }; + 87D4C879F4038496C99F1EA5 /* SBUMemberListViewController.Deprecated.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUMemberListViewController.Deprecated.swift; path = ../Sources/Deprecated/MemberList/SBUMemberListViewController.Deprecated.swift; sourceTree = ""; }; + 8ABB490EC5DDF7FC8133E678 /* SBUOpenChannelModule.List.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUOpenChannelModule.List.swift; path = ../Sources/Module/Channel/OpenChannel/SBUOpenChannelModule.List.swift; sourceTree = ""; }; + 8B1A41B399AA09B5F53A5E00 /* SBURegisterOperatorModule.List.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBURegisterOperatorModule.List.swift; path = ../Sources/Module/SelectUser/RegisterOperator/SBURegisterOperatorModule.List.swift; sourceTree = ""; }; + 8BB74A6EBDA6CD6269EE455D /* SBUNewMessageInfo.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUNewMessageInfo.swift; path = ../Sources/View/Channel/NewMessageInfo/SBUNewMessageInfo.swift; sourceTree = ""; }; + 8C39055FF9E021BCBB22F12A /* SBUQuotedBaseMessageView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUQuotedBaseMessageView.swift; path = ../Sources/View/Channel/MessageCell/Replies/MessageView/SBUQuotedBaseMessageView.swift; sourceTree = ""; }; + 8D2EB0D647B8052A61269A5C /* StringProtocol+SBUIKit.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "StringProtocol+SBUIKit.swift"; path = "../Sources/Extension/StringProtocol+SBUIKit.swift"; sourceTree = ""; }; + 8DC6A7F5C2A85CF37FDEEEAD /* SBUBaseChannelListModule.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUBaseChannelListModule.swift; path = ../Sources/Module/ChannelList/SBUBaseChannelListModule.swift; sourceTree = ""; }; + 8E0C0F30BEDDD6E77726EB97 /* SBUFeedNotificationCell.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUFeedNotificationCell.swift; path = ../Sources/View/Channel/MessageCell/NotificationChannel/SBUFeedNotificationCell.swift; sourceTree = ""; }; + 8E312A2EFD50BDA46D8A0376 /* SBUViewControllerSet.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUViewControllerSet.swift; path = ../Sources/View/SBUViewControllerSet.swift; sourceTree = ""; }; + 8E9B4353D4927ECD14548721 /* SBUBaseMessageCellParams.Deprecated.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUBaseMessageCellParams.Deprecated.swift; path = ../Sources/Deprecated/Channel/MessageCell/MessageCellParams/SBUBaseMessageCellParams.Deprecated.swift; sourceTree = ""; }; + 9016536C14B95093CE5EC82D /* SBUBaseSelectUserModule.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUBaseSelectUserModule.swift; path = ../Sources/Module/SelectUser/SBUBaseSelectUserModule.swift; sourceTree = ""; }; + 9079619DDD26B7A95EEB20BA /* SBUQuotedFileMessageView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUQuotedFileMessageView.swift; path = ../Sources/View/Channel/MessageCell/Replies/MessageView/SBUQuotedFileMessageView.swift; sourceTree = ""; }; + 918829350AFD0031A18DE7F2 /* SBUDashboardConfig.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUDashboardConfig.swift; path = ../Sources/Configuration/SBUDashboardConfig.swift; sourceTree = ""; }; + 93A32C25AFFF84606E8BDDCC /* SBURegisterOperatorViewController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBURegisterOperatorViewController.swift; path = ../Sources/View/SelectUser/SBURegisterOperatorViewController.swift; sourceTree = ""; }; + 946368AA53CDBE8D30E683E3 /* SBUConfig.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUConfig.swift; path = ../Sources/Configuration/SBUConfig.swift; sourceTree = ""; }; + 94C6B40D95EC1618D12125A9 /* SBUOpenChannelImageContentView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUOpenChannelImageContentView.swift; path = ../Sources/View/Channel/MessageCell/FileMessageContentView/SBUOpenChannelImageContentView.swift; sourceTree = ""; }; + 9544D92BDC500763BF68BB48 /* SBUOpenChannelFileMessageCell.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUOpenChannelFileMessageCell.swift; path = ../Sources/View/Channel/MessageCell/OpenChannel/SBUOpenChannelFileMessageCell.swift; sourceTree = ""; }; + 9679D18017408CD2DA19E902 /* SBUUserCell.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUUserCell.swift; path = ../Sources/View/Common/UserCell/SBUUserCell.swift; sourceTree = ""; }; + 96B9757943D6ACE2ED56D8D3 /* SBUGroupChannelSettingsModule.List.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUGroupChannelSettingsModule.List.swift; path = ../Sources/Module/ChannelSettings/GroupChannel/SBUGroupChannelSettingsModule.List.swift; sourceTree = ""; }; + 96D08A15B938A2FF98C7D558 /* SBUMessageInputMode.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUMessageInputMode.swift; path = ../Sources/View/Channel/MessageInput/SBUMessageInputMode.swift; sourceTree = ""; }; + 9728D9014CAB14BB6F53A70C /* SBUGroupChannelPushSettingsModule.Header.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUGroupChannelPushSettingsModule.Header.swift; path = ../Sources/Module/NotificationSettings/SBUGroupChannelPushSettingsModule.Header.swift; sourceTree = ""; }; + 978AAA6617D43FC61044957E /* SBUMention.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUMention.swift; path = ../Sources/Model/SBUMention.swift; sourceTree = ""; }; + 97D4DF0B2353AEE902AC70F1 /* SBUMessageThreadModule.Header.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUMessageThreadModule.Header.swift; path = ../Sources/Module/MessageThread/SBUMessageThreadModule.Header.swift; sourceTree = ""; }; + 98029DBF094F79AAE26089AA /* SBUVoiceContentView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUVoiceContentView.swift; path = ../Sources/View/Channel/MessageCell/FileMessageContentView/SBUVoiceContentView.swift; sourceTree = ""; }; + 9884C7D444395953EB28E25D /* SBUBaseFileContentView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUBaseFileContentView.swift; path = ../Sources/View/Channel/MessageCell/FileMessageContentView/SBUBaseFileContentView.swift; sourceTree = ""; }; + 9889247A78D13ED08CC5AB72 /* SBUMessageSearchModule.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUMessageSearchModule.swift; path = ../Sources/Module/MessageSearch/SBUMessageSearchModule.swift; sourceTree = ""; }; + 9A1C1F16DA1D7FE0512646E6 /* SBUBaseChannelModule.Input.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUBaseChannelModule.Input.swift; path = ../Sources/Module/Channel/SBUBaseChannelModule.Input.swift; sourceTree = ""; }; + 9A9004DE95D41DEF5A717472 /* SBUMessageSearchViewController.Deprecated.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUMessageSearchViewController.Deprecated.swift; path = ../Sources/Deprecated/MessageSearch/SBUMessageSearchViewController.Deprecated.swift; sourceTree = ""; }; + 9B75DDC4498D2623FAD0C5FA /* SBUBaseChannelViewController.Deprecated.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUBaseChannelViewController.Deprecated.swift; path = ../Sources/Deprecated/Channel/SBUBaseChannelViewController.Deprecated.swift; sourceTree = ""; }; + 9BCBCE96768A4B19096B69B3 /* SBUOpenChannelSettingCell.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUOpenChannelSettingCell.swift; path = ../Sources/View/ChannelSettings/Cell/SBUOpenChannelSettingCell.swift; sourceTree = ""; }; + 9BDB5CCC10BF6EDE6A843ECD /* SBUConfig.CodingKeys.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUConfig.CodingKeys.swift; path = ../Sources/Configuration/SBUConfig.CodingKeys.swift; sourceTree = ""; }; 9C037DD4280432DB00059696 /* ViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = ""; }; 9C037DD5280432DB00059696 /* QuickStart.entitlements */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.entitlements; path = QuickStart.entitlements; sourceTree = ""; }; 9C037DD7280432DB00059696 /* UILabel+Ext.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UILabel+Ext.swift"; sourceTree = ""; }; @@ -696,20 +690,32 @@ 9C3EBE2228091D2A00B5366B /* NotificationService.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NotificationService.swift; sourceTree = ""; }; 9C3EBE2428091D2A00B5366B /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 9C3EBE2C28091D4200B5366B /* NotificationService.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = NotificationService.entitlements; sourceTree = ""; }; + 9C555B2517561FF74E907836 /* SBUOpenChannelViewController.Unavailable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUOpenChannelViewController.Unavailable.swift; path = ../Sources/Deprecated/Channel/SBUOpenChannelViewController.Unavailable.swift; sourceTree = ""; }; 9C5DCD48242AFA7C00C41106 /* UserNotifications.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UserNotifications.framework; path = System/Library/Frameworks/UserNotifications.framework; sourceTree = SDKROOT; }; 9C5DCD4D242B0C7E00C41106 /* libicucore.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libicucore.tbd; path = usr/lib/libicucore.tbd; sourceTree = SDKROOT; }; 9C777D57241B9022006FFE25 /* QuickStart.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = QuickStart.app; sourceTree = BUILT_PRODUCTS_DIR; }; - 9CCE2DF1CBADEB8B8B607F78 /* SBUGroupChannelModule.List.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUGroupChannelModule.List.swift; path = ../Sources/Module/Channel/GroupChannel/SBUGroupChannelModule.List.swift; sourceTree = ""; }; - 9D117276E49F60D053B3F752 /* SBUOpenChannelCommonContentView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUOpenChannelCommonContentView.swift; path = ../Sources/View/Channel/MessageCell/FileMessageContentView/SBUOpenChannelCommonContentView.swift; sourceTree = ""; }; - 9D1663DA71CB2D2147CE52B3 /* SBUHighlightMessageInfo.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUHighlightMessageInfo.swift; path = ../Sources/Model/SBUHighlightMessageInfo.swift; sourceTree = ""; }; - 9DA684D98CE04D343185CE89 /* SBUChannelListViewController.Deprecated.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUChannelListViewController.Deprecated.swift; path = ../Sources/Deprecated/ChannelList/SBUChannelListViewController.Deprecated.swift; sourceTree = ""; }; - A10C375772292AFABFF0AD0A /* SBUConfig.GroupChannel.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUConfig.GroupChannel.swift; path = ../Sources/Configuration/SBUConfig.GroupChannel.swift; sourceTree = ""; }; - A1D9C12F96CE9329316A1575 /* SBUConfig.OpenChannel.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUConfig.OpenChannel.swift; path = ../Sources/Configuration/SBUConfig.OpenChannel.swift; sourceTree = ""; }; - A1E4C03DF14A513EEDB36609 /* SBUInviteUserModule.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUInviteUserModule.swift; path = ../Sources/Module/SelectUser/InviteUser/SBUInviteUserModule.swift; sourceTree = ""; }; - A5ED9E7DAE14BD9C70CC1895 /* SBUEmojiManager.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUEmojiManager.swift; path = ../Sources/Manager/SBUEmojiManager.swift; sourceTree = ""; }; - A6C700E67C4BE4B74A75A04F /* SBUBaseSelectUserModule.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUBaseSelectUserModule.swift; path = ../Sources/Module/SelectUser/SBUBaseSelectUserModule.swift; sourceTree = ""; }; - A8D8EC0710CA86BE2391E665 /* SendbirdUIKit.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SendbirdUIKit.h; path = ../Sources/SendbirdUIKit.h; sourceTree = ""; }; - A926925E7456E8890BF6A31A /* SBUConfig.Base.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUConfig.Base.swift; path = ../Sources/Configuration/SBUConfig.Base.swift; sourceTree = ""; }; + 9D09C835E6EF058DC289ABF6 /* SBUQuoteMessageInputViewProtocol.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUQuoteMessageInputViewProtocol.swift; path = "../Sources/View/Life cycles/SBUQuoteMessageInputViewProtocol.swift"; sourceTree = ""; }; + 9D6830C75811AAA169605D6C /* SBUMenuCell.xib */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = file.xib; name = SBUMenuCell.xib; path = ../Sources/View/Common/Menu/SBUMenuCell.xib; sourceTree = ""; }; + 9D973191D921C22D6E479D1A /* BlockingOperation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BlockingOperation.swift; path = ../Sources/Util/BlockingOperation.swift; sourceTree = ""; }; + 9DE7993411C94BBEAF473ACF /* SBUUserProfileView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUUserProfileView.swift; path = ../Sources/View/Common/User/SBUUserProfileView.swift; sourceTree = ""; }; + 9ECA8AD16FDB3C40764491FF /* SBUFeedNotificationChannelViewModel.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUFeedNotificationChannelViewModel.swift; path = ../Sources/ViewModel/Channel/SBUFeedNotificationChannelViewModel.swift; sourceTree = ""; }; + 9F79C883AF808F46D53AA6A6 /* SBUConfig.Base.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUConfig.Base.swift; path = ../Sources/Configuration/SBUConfig.Base.swift; sourceTree = ""; }; + 9FC1D15359A336621BD6ACAD /* SBUBaseChannelViewController.Unavailable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUBaseChannelViewController.Unavailable.swift; path = ../Sources/Deprecated/Channel/SBUBaseChannelViewController.Unavailable.swift; sourceTree = ""; }; + A00EEFBB28D1E763E4C969EA /* SBUChannelInfoHeaderView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUChannelInfoHeaderView.swift; path = ../Sources/View/Channel/Header/SBUChannelInfoHeaderView.swift; sourceTree = ""; }; + A02933C2CD205D7A95111F11 /* SendbirdUIKit.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SendbirdUIKit.h; path = ../Sources/SendbirdUIKit.h; sourceTree = ""; }; + A037EC4525B735F5BE04D1F4 /* SBUIconSet.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUIconSet.swift; path = ../Sources/Theme/SBUIconSet.swift; sourceTree = ""; }; + A12F9A19EE1BCE79621F29BF /* SBUCoverImageView.Deprecated.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUCoverImageView.Deprecated.swift; path = ../Sources/Deprecated/SBUCoverImageView.Deprecated.swift; sourceTree = ""; }; + A247579F70A4FE7A9692CC07 /* NSObject+SBUIKit.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSObject+SBUIKit.swift"; path = "../Sources/Extension/NSObject+SBUIKit.swift"; sourceTree = ""; }; + A27A9549FDA4F8BD1BD278AB /* SBUChatNotificationChannelViewModel.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUChatNotificationChannelViewModel.swift; path = ../Sources/ViewModel/Channel/SBUChatNotificationChannelViewModel.swift; sourceTree = ""; }; + A2E7177056C9BD000CD7A364 /* SBUSuggestedMentionList.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUSuggestedMentionList.swift; path = ../Sources/View/Channel/MessageInput/SBUSuggestedMentionList.swift; sourceTree = ""; }; + A3AC2F6C287214B9C473EC00 /* SBUModerationsViewModel.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUModerationsViewModel.swift; path = ../Sources/ViewModel/ChannelSettings/SBUModerationsViewModel.swift; sourceTree = ""; }; + A4CA4D374FD7E62AAAFCBC6B /* SBUMessageCellProtocol.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUMessageCellProtocol.swift; path = "../Sources/View/Life cycles/SBUMessageCellProtocol.swift"; sourceTree = ""; }; + A622180754259EB9D9AF14C1 /* SBUGroupChannelSettingCell.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUGroupChannelSettingCell.swift; path = ../Sources/View/ChannelSettings/Cell/SBUGroupChannelSettingCell.swift; sourceTree = ""; }; + A67075B40E4E258F6F6DC7F1 /* SBUOpenChannelViewController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUOpenChannelViewController.swift; path = ../Sources/View/Channel/SBUOpenChannelViewController.swift; sourceTree = ""; }; + A6D2FA006CCC4839378F48FA /* SBUBaseChannelViewController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUBaseChannelViewController.swift; path = ../Sources/View/Channel/SBUBaseChannelViewController.swift; sourceTree = ""; }; + A70B88064CE5A0E5EC0256D1 /* SBUBaseViewController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUBaseViewController.swift; path = ../Sources/View/SBUBaseViewController.swift; sourceTree = ""; }; + A84CCAE1FD9D5623712835B6 /* SBUGroupChannelPushSettingsViewModel.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUGroupChannelPushSettingsViewModel.swift; path = ../Sources/ViewModel/NotificationSettings/SBUGroupChannelPushSettingsViewModel.swift; sourceTree = ""; }; + A8AAF7D7223A3DD59089A3BA /* SBUConfig.GroupChannel.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUConfig.GroupChannel.swift; path = ../Sources/Configuration/SBUConfig.GroupChannel.swift; sourceTree = ""; }; A93AE84F2A383CAA00AFFF9C /* CustomBaseViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CustomBaseViewController.swift; sourceTree = ""; }; A93AE8522A383CAA00AFFF9C /* ChannelListCustomManager.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ChannelListCustomManager.swift; sourceTree = ""; }; A93AE8532A383CAA00AFFF9C /* InviteUserCustomManager.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = InviteUserCustomManager.swift; sourceTree = ""; }; @@ -746,121 +752,131 @@ A968B36928C86B5700271C60 /* LiveStreamChannelListViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LiveStreamChannelListViewModel.swift; sourceTree = ""; }; A968B36B28C86B8600271C60 /* LiveStreamChannelListModule.List.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LiveStreamChannelListModule.List.swift; sourceTree = ""; }; A968B36D28C9AB7F00271C60 /* LiveStreamChannelModule.Media.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LiveStreamChannelModule.Media.swift; sourceTree = ""; }; - AA44F40715104AB63E8F4591 /* SBUDownloadManager.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUDownloadManager.swift; path = ../Sources/Manager/SBUDownloadManager.swift; sourceTree = ""; }; - AA93D08458ECC55232E74185 /* SBUOpenChannelFileMessageCell.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUOpenChannelFileMessageCell.swift; path = ../Sources/View/Channel/MessageCell/OpenChannel/SBUOpenChannelFileMessageCell.swift; sourceTree = ""; }; - ABA1E5CEE9665CD9F3866573 /* SBUReplyConfiguration.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUReplyConfiguration.swift; path = ../Sources/Configuration/Replies/SBUReplyConfiguration.swift; sourceTree = ""; }; - ABAD6988201CD077774B24EF /* UINavigationController+SBUIKit.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UINavigationController+SBUIKit.swift"; path = "../Sources/Extension/UINavigationController+SBUIKit.swift"; sourceTree = ""; }; - ABF6D8978453B5ABDC0A6A10 /* SBUGroupChannelSettingsModule.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUGroupChannelSettingsModule.swift; path = ../Sources/Module/ChannelSettings/GroupChannel/SBUGroupChannelSettingsModule.swift; sourceTree = ""; }; - ACD781D333EB55B771EEC0AA /* Formatter+SBUIKit.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Formatter+SBUIKit.swift"; path = "../Sources/Extension/Formatter+SBUIKit.swift"; sourceTree = ""; }; - AD064F057C56D7A8C0CF8003 /* UIView+SBUIKit.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIView+SBUIKit.swift"; path = "../Sources/Extension/UIView+SBUIKit.swift"; sourceTree = ""; }; - AD2C3520424D966B2139B29A /* SBUUnderLineTextField.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUUnderLineTextField.swift; path = ../Sources/View/Common/SBUUnderLineTextField.swift; sourceTree = ""; }; - AEB3047BA987C0C09A51F09A /* SBUOpenChannelModule.Input.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUOpenChannelModule.Input.swift; path = ../Sources/Module/Channel/OpenChannel/SBUOpenChannelModule.Input.swift; sourceTree = ""; }; - B00D45436A95A41D71047A07 /* SBURegisterOperatorViewModel.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBURegisterOperatorViewModel.swift; path = ../Sources/ViewModel/SelectUser/SBURegisterOperatorViewModel.swift; sourceTree = ""; }; - B141AA0571FAF8EF1D9B883B /* SBUView.Unavaliable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUView.Unavaliable.swift; path = ../Sources/Deprecated/SBUView.Unavaliable.swift; sourceTree = ""; }; - B1A5082988238B3CDB436AF1 /* SBUFeedNotificationChannelViewController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUFeedNotificationChannelViewController.swift; path = ../Sources/View/Channel/SBUFeedNotificationChannelViewController.swift; sourceTree = ""; }; - B2AD981050096BDD0EF9D1E4 /* SBUMessageThreadModule.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUMessageThreadModule.swift; path = ../Sources/Module/MessageThread/SBUMessageThreadModule.swift; sourceTree = ""; }; - B3B01F3E4041572554116D04 /* SBUConfig.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUConfig.swift; path = ../Sources/Configuration/SBUConfig.swift; sourceTree = ""; }; - B4265C557000D9A84EB804D2 /* StringProtocol+SBUIKit.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "StringProtocol+SBUIKit.swift"; path = "../Sources/Extension/StringProtocol+SBUIKit.swift"; sourceTree = ""; }; - B4EEFEF9E09AB3338A6FC103 /* SBUOpenChannelModule.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUOpenChannelModule.swift; path = ../Sources/Module/Channel/OpenChannel/SBUOpenChannelModule.swift; sourceTree = ""; }; - B67E52A10E3C26B82A00A79A /* SBUMessageThreadTitleView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUMessageThreadTitleView.swift; path = ../Sources/View/MessageThread/SBUMessageThreadTitleView.swift; sourceTree = ""; }; - B6BD4E2FA4E80BA9DA949A6B /* SBUVoiceMessageConfiguration.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUVoiceMessageConfiguration.swift; path = ../Sources/Configuration/VoiceMessage/SBUVoiceMessageConfiguration.swift; sourceTree = ""; }; - B79B2DD2CCF0EE727B0CD8AE /* SBUNewMessageInfo.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUNewMessageInfo.swift; path = ../Sources/View/Channel/NewMessageInfo/SBUNewMessageInfo.swift; sourceTree = ""; }; - B7D8665DE5DCB7623A6D6D97 /* SBUBaseChannelSettingCell.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUBaseChannelSettingCell.swift; path = ../Sources/View/ChannelSettings/Cell/SBUBaseChannelSettingCell.swift; sourceTree = ""; }; - B7FA6971DE920695808873C8 /* SBUChannelPushSettingCell.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUChannelPushSettingCell.swift; path = ../Sources/View/NotificationSettings/Cell/SBUChannelPushSettingCell.swift; sourceTree = ""; }; - B8144206215194D4C2E1434C /* SBUAnimation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUAnimation.swift; path = ../Sources/View/Common/SBUAnimation.swift; sourceTree = ""; }; - B90408E6901BF3E4EF9A6A71 /* Float+SBUKit.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Float+SBUKit.swift"; path = "../Sources/Extension/Float+SBUKit.swift"; sourceTree = ""; }; - B919890F72713C0B89C24105 /* Release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = ../Sources/Configurations/Release.xcconfig; sourceTree = ""; }; - B9F1A668D1112175CCA3FF6D /* SBUViewLifeCycle.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUViewLifeCycle.swift; path = "../Sources/View/Life cycles/SBUViewLifeCycle.swift"; sourceTree = ""; }; - BA98E233A3F8315346CE75A8 /* SBUInviteUserViewModel.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUInviteUserViewModel.swift; path = ../Sources/ViewModel/SelectUser/SBUInviteUserViewModel.swift; sourceTree = ""; }; - BAEB3D4C64DA718433CA5472 /* SBUVoiceRecorder.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUVoiceRecorder.swift; path = ../Sources/Manager/SBUVoiceRecorder.swift; sourceTree = ""; }; - BE4935E7C40522D6D1B4418E /* SBUFileMessageCell.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUFileMessageCell.swift; path = ../Sources/View/Channel/MessageCell/SBUFileMessageCell.swift; sourceTree = ""; }; - BEA156B27CA93D500A2543F2 /* SBUEmojiListViewController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUEmojiListViewController.swift; path = ../Sources/View/Channel/Reaction/SBUEmojiListViewController.swift; sourceTree = ""; }; - BF0FC01F0C50DE661AB32FFB /* SBUCommonViewControllerSet.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUCommonViewControllerSet.swift; path = ../Sources/View/Common/SBUCommonViewControllerSet.swift; sourceTree = ""; }; - BF5C073A092950DEE1C8933A /* URL+SBUKit.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "URL+SBUKit.swift"; path = "../Sources/Extension/URL+SBUKit.swift"; sourceTree = ""; }; - BFC323CFD96CF3BA59127DC0 /* SBUAvailable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUAvailable.swift; path = ../Sources/SBUAvailable.swift; sourceTree = ""; }; - C00E91C2BC16DAA3EB45B9DC /* SBUBaseChannelCell.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUBaseChannelCell.swift; path = ../Sources/View/ChannelList/ChannelCell/SBUBaseChannelCell.swift; sourceTree = ""; }; - C0806472406037540B2F1D35 /* SBUMessageSearchViewController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUMessageSearchViewController.swift; path = ../Sources/View/MessageSearch/SBUMessageSearchViewController.swift; sourceTree = ""; }; - C13E7BC77BF2390E13E985CD /* UIImageView+SBUIKit.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIImageView+SBUIKit.swift"; path = "../Sources/Extension/UIImageView+SBUIKit.swift"; sourceTree = ""; }; - C149553A6F22390FB2C9AC3B /* SBUBaseChannelModule.Input.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUBaseChannelModule.Input.swift; path = ../Sources/Module/Channel/SBUBaseChannelModule.Input.swift; sourceTree = ""; }; - C1D357FE4A972C04F515A56C /* SBUCacheManager.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUCacheManager.swift; path = ../Sources/Manager/CacheManager/SBUCacheManager.swift; sourceTree = ""; }; - C25BCCD7B2124F4B480738D1 /* SBUOpenChannelListViewController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUOpenChannelListViewController.swift; path = ../Sources/View/ChannelList/SBUOpenChannelListViewController.swift; sourceTree = ""; }; - C366A9CFD849A21F73C98D33 /* BaseMessage+SBUIKit.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "BaseMessage+SBUIKit.swift"; path = "../Sources/Extension/ChatSDK/BaseMessage+SBUIKit.swift"; sourceTree = ""; }; - C37D854728BA662B959D7627 /* SBUBaseChannelViewController.Deprecated.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUBaseChannelViewController.Deprecated.swift; path = ../Sources/Deprecated/Channel/SBUBaseChannelViewController.Deprecated.swift; sourceTree = ""; }; - C3982EE5051119470F82678E /* SBUGroupChannelViewModel.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUGroupChannelViewModel.swift; path = ../Sources/ViewModel/Channel/SBUGroupChannelViewModel.swift; sourceTree = ""; }; - C3E129E5F4D3B812E2A019CB /* SBUBaseSelectUserModule.Header.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUBaseSelectUserModule.Header.swift; path = ../Sources/Module/SelectUser/SBUBaseSelectUserModule.Header.swift; sourceTree = ""; }; - C574FCB82609E4273FB71874 /* SBUUnknownMessageCell.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUUnknownMessageCell.swift; path = ../Sources/View/Channel/MessageCell/SBUUnknownMessageCell.swift; sourceTree = ""; }; - C597B811451EBFB1DEA67318 /* SBUBaseMessageCell.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUBaseMessageCell.swift; path = ../Sources/View/Channel/MessageCell/SBUBaseMessageCell.swift; sourceTree = ""; }; - C68A8D51213F4FDF9212C354 /* SBUGroupChannelPushSettingsModule.Header.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUGroupChannelPushSettingsModule.Header.swift; path = ../Sources/Module/NotificationSettings/SBUGroupChannelPushSettingsModule.Header.swift; sourceTree = ""; }; - C7845D27A8A5819F561635E1 /* SBUMessageWebView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUMessageWebView.swift; path = ../Sources/View/Channel/CellView/SBUMessageWebView.swift; sourceTree = ""; }; - C833B9D8C1AC36EA5C5859C1 /* Assets.xcassets */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = folder.assetcatalog; name = Assets.xcassets; path = ../Sources/Resource/Assets.xcassets; sourceTree = ""; }; - CA052EA7243194AD37350F8B /* SBUGroupChannelListModule.List.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUGroupChannelListModule.List.swift; path = ../Sources/Module/ChannelList/GroupChannel/SBUGroupChannelListModule.List.swift; sourceTree = ""; }; - CA69FD2A69D7E8B0CD7AECDA /* SBUPhotoCollectionViewCell.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUPhotoCollectionViewCell.swift; path = ../Sources/View/Common/PhotoLibrary/SBUPhotoCollectionViewCell.swift; sourceTree = ""; }; - CAC1278BDCB8F07C40417D85 /* SBUUserMentionConfiguration.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUUserMentionConfiguration.swift; path = ../Sources/Configuration/Mention/SBUUserMentionConfiguration.swift; sourceTree = ""; }; - CAEDF1487C43432AB82CA64C /* SBUOpenChannelSettingsModule.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUOpenChannelSettingsModule.swift; path = ../Sources/Module/ChannelSettings/OpenChannel/SBUOpenChannelSettingsModule.swift; sourceTree = ""; }; - CBC52FAB88FE4DEF456B6251 /* SBUCreateChannelTypeSelector.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUCreateChannelTypeSelector.swift; path = ../Sources/View/SelectUser/CreateChannel/View/SBUCreateChannelTypeSelector.swift; sourceTree = ""; }; - CC738422864320EE0D1B8BA1 /* SBUUserProfileView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUUserProfileView.swift; path = ../Sources/View/Common/User/SBUUserProfileView.swift; sourceTree = ""; }; - CD7A69CDFDADD1DE3D3B6837 /* SBUGroupChannelCell.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUGroupChannelCell.swift; path = ../Sources/View/ChannelList/ChannelCell/SBUGroupChannelCell.swift; sourceTree = ""; }; - CD9B119FF8D3C56B99E1FDB3 /* SBUOpenChannelMessageWebView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUOpenChannelMessageWebView.swift; path = ../Sources/View/Channel/CellView/SBUOpenChannelMessageWebView.swift; sourceTree = ""; }; - CE5B52236DBBF3CF22BC5254 /* SBUGroupChannelPushSettingsViewModel.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUGroupChannelPushSettingsViewModel.swift; path = ../Sources/ViewModel/NotificationSettings/SBUGroupChannelPushSettingsViewModel.swift; sourceTree = ""; }; - CFF29D3C4BEFA6FFB5E944F5 /* SBUBaseFileContentView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUBaseFileContentView.swift; path = ../Sources/View/Channel/MessageCell/FileMessageContentView/SBUBaseFileContentView.swift; sourceTree = ""; }; - D0C33B74F5CF56F47ECD999D /* SBUModerationsModule.Header.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUModerationsModule.Header.swift; path = ../Sources/Module/Moderations/SBUModerationsModule.Header.swift; sourceTree = ""; }; - D10FE10A84D9C60B249612AC /* SBUMessageThreadModule.Input.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUMessageThreadModule.Input.swift; path = ../Sources/Module/MessageThread/SBUMessageThreadModule.Input.swift; sourceTree = ""; }; - D2162CEE7B2E1446ABD07AEA /* SBUMention.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUMention.swift; path = ../Sources/Model/SBUMention.swift; sourceTree = ""; }; - D226F9A5970054B5D2321E93 /* SBUMessageSearchModule.List.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUMessageSearchModule.List.swift; path = ../Sources/Module/MessageSearch/SBUMessageSearchModule.List.swift; sourceTree = ""; }; - D26B6F013CE6E8D67E1A5ED9 /* UIViewController+SBUIKit.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIViewController+SBUIKit.swift"; path = "../Sources/Extension/UIViewController+SBUIKit.swift"; sourceTree = ""; }; - D3C31FF9D7DA80112E0D11BB /* SBUOpenChannelSettingCell.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUOpenChannelSettingCell.swift; path = ../Sources/View/ChannelSettings/Cell/SBUOpenChannelSettingCell.swift; sourceTree = ""; }; - D4D241125E53E0AC684DB646 /* SBUInviteUserModule.List.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUInviteUserModule.List.swift; path = ../Sources/Module/SelectUser/InviteUser/SBUInviteUserModule.List.swift; sourceTree = ""; }; - D522104B1AFF83B8863F347B /* SBUGroupChannelModule.Input.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUGroupChannelModule.Input.swift; path = ../Sources/Module/Channel/GroupChannel/SBUGroupChannelModule.Input.swift; sourceTree = ""; }; - D574FE72290E6EC583B99D66 /* Debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = ../Sources/Configurations/Debug.xcconfig; sourceTree = ""; }; - D7B07F66713F5731071FE131 /* QuotedFileCommonContentView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = QuotedFileCommonContentView.swift; path = ../Sources/View/Channel/MessageCell/Replies/MessageView/QuotedFileCommonContentView.swift; sourceTree = ""; }; - D80C3E87A0B1C138BA3AB9D7 /* SBUToastManager.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUToastManager.swift; path = ../Sources/Manager/SBUToastManager.swift; sourceTree = ""; }; - D90E2D17F4C7D6A1FDDFCEB6 /* SBUTemplateLabel.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUTemplateLabel.swift; path = ../Sources/View/Common/SBUTemplateLabel.swift; sourceTree = ""; }; - D997DA7BD9EEE0E0D7247E7A /* SBUView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUView.swift; path = "../Sources/View/Life cycles/SBUView.swift"; sourceTree = ""; }; - DA6BF15E9FF7A38F3D6123DF /* SBUChatNotificationChannelViewModel.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUChatNotificationChannelViewModel.swift; path = ../Sources/ViewModel/Channel/SBUChatNotificationChannelViewModel.swift; sourceTree = ""; }; - DA87A2BAE388B629B78D03C3 /* SBUFileMessageCellParams.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUFileMessageCellParams.swift; path = ../Sources/View/Channel/MessageCell/MessageCellParams/SBUFileMessageCellParams.swift; sourceTree = ""; }; - DABA82A7B488D1AD6008864C /* SBUCreateOpenChannelViewController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUCreateOpenChannelViewController.swift; path = ../Sources/View/SelectUser/CreateChannel/SBUCreateOpenChannelViewController.swift; sourceTree = ""; }; - DD3C1343B686BFC876DE8264 /* SBUMessageStateView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUMessageStateView.swift; path = ../Sources/View/Channel/CellView/SBUMessageStateView.swift; sourceTree = ""; }; - E13A1EDE172117FBCF139BEC /* SBUOpenChannelListModule.List.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUOpenChannelListModule.List.swift; path = ../Sources/Module/ChannelList/OpenChannel/SBUOpenChannelListModule.List.swift; sourceTree = ""; }; - E15EF47909B9D3727E458FFC /* SBUOpenChannelViewController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUOpenChannelViewController.swift; path = ../Sources/View/Channel/SBUOpenChannelViewController.swift; sourceTree = ""; }; - E161AA7E9A0393FB6BF1988D /* SBUBaseChannelSettingsModule.Header.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUBaseChannelSettingsModule.Header.swift; path = ../Sources/Module/ChannelSettings/SBUBaseChannelSettingsModule.Header.swift; sourceTree = ""; }; - E2610AF6E4372650F36B486F /* SBUGroupChannelSettingsViewController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUGroupChannelSettingsViewController.swift; path = ../Sources/View/ChannelSettings/SBUGroupChannelSettingsViewController.swift; sourceTree = ""; }; - E31C28FB87F4B7FEEAB0BFB6 /* SBUMarginView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUMarginView.swift; path = ../Sources/View/Common/SBUMarginView.swift; sourceTree = ""; }; - E3DC702A56C7D1927EEB31F6 /* SBUQuotedFileMessageView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUQuotedFileMessageView.swift; path = ../Sources/View/Channel/MessageCell/Replies/MessageView/SBUQuotedFileMessageView.swift; sourceTree = ""; }; - E42A760169891FCADA183D72 /* SBUPaddingLabel.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUPaddingLabel.swift; path = ../Sources/View/Common/SBUPaddingLabel.swift; sourceTree = ""; }; - E76C3D9C055FD66E21507E68 /* SBUGroupChannelModule.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUGroupChannelModule.swift; path = ../Sources/Module/Channel/GroupChannel/SBUGroupChannelModule.swift; sourceTree = ""; }; - E79AA72238B3ADA2428F2DF9 /* SBUGroupChannelListViewController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUGroupChannelListViewController.swift; path = ../Sources/View/ChannelList/SBUGroupChannelListViewController.swift; sourceTree = ""; }; - E89B9D38CD064EC04A9DCE54 /* SBUFeedNotificationChannelModule.Header.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUFeedNotificationChannelModule.Header.swift; path = ../Sources/Module/Channel/NotificationChannel/Feed/SBUFeedNotificationChannelModule.Header.swift; sourceTree = ""; }; - E8E75B5D06FDD554537C037A /* SBUBaseChannelViewModel.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUBaseChannelViewModel.swift; path = ../Sources/ViewModel/Channel/SBUBaseChannelViewModel.swift; sourceTree = ""; }; - EBA1734B1229285DCBD00A26 /* SBUModerationsViewController.Deprecated.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUModerationsViewController.Deprecated.swift; path = ../Sources/Deprecated/Moderations/SBUModerationsViewController.Deprecated.swift; sourceTree = ""; }; - ED636CAE01371BF247C99AA3 /* SBUMessageThreadViewModel.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUMessageThreadViewModel.swift; path = ../Sources/ViewModel/MessageThread/SBUMessageThreadViewModel.swift; sourceTree = ""; }; - EE1462555CDD521DBA7AB414 /* MessageTemplateTestViewController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MessageTemplateTestViewController.swift; path = ../Sources/CustomSyntaxTest/MessageTemplateTestViewController.swift; sourceTree = ""; }; - EED84ED1FC10DD30ED3210A5 /* SBUConfig.Common.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUConfig.Common.swift; path = ../Sources/Configuration/SBUConfig.Common.swift; sourceTree = ""; }; - F0BC8F66C614AF4E15B9D9F7 /* SBUOpenChannelListViewModel.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUOpenChannelListViewModel.swift; path = ../Sources/ViewModel/ChannelList/SBUOpenChannelListViewModel.swift; sourceTree = ""; }; - F0E60BD1DEC0210E89A7CE0A /* SBUOpenChannelModule.Media.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUOpenChannelModule.Media.swift; path = ../Sources/Module/Channel/OpenChannel/SBUOpenChannelModule.Media.swift; sourceTree = ""; }; - F210D27FAD685E189567136B /* SBUGroupChannelModule.Header.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUGroupChannelModule.Header.swift; path = ../Sources/Module/Channel/GroupChannel/SBUGroupChannelModule.Header.swift; sourceTree = ""; }; - F25185A4FD4D14D668AF741A /* SBUDebouncer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUDebouncer.swift; path = ../Sources/Util/SBUDebouncer.swift; sourceTree = ""; }; - F25D522295FD46C16A95691F /* SBUBaseChannelModule.Header.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUBaseChannelModule.Header.swift; path = ../Sources/Module/Channel/SBUBaseChannelModule.Header.swift; sourceTree = ""; }; - F280E77C527A83BDFABBBDFF /* Data+SBUIKit.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Data+SBUIKit.swift"; path = "../Sources/Extension/Data+SBUIKit.swift"; sourceTree = ""; }; - F2B4B1EAB22163A3AAA90C83 /* UIApplication+SBUIKit.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIApplication+SBUIKit.swift"; path = "../Sources/Extension/UIApplication+SBUIKit.swift"; sourceTree = ""; }; - F2C4924D75379BB19527C905 /* SBUMessageCache.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUMessageCache.swift; path = ../Sources/Model/SBUMessageCache.swift; sourceTree = ""; }; - F3B66E70DD543A61EE79F4F5 /* SBUParentMessageInfoReactionView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUParentMessageInfoReactionView.swift; path = ../Sources/View/Channel/Reaction/SBUParentMessageInfoReactionView.swift; sourceTree = ""; }; - F401232C26984285B5693E43 /* SBUNewNotificationInfo.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUNewNotificationInfo.swift; path = ../Sources/View/Channel/NewMessageInfo/SBUNewNotificationInfo.swift; sourceTree = ""; }; - F47A265ECE8230C37756427D /* SBUGroupChannelListModule.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUGroupChannelListModule.swift; path = ../Sources/Module/ChannelList/GroupChannel/SBUGroupChannelListModule.swift; sourceTree = ""; }; - F49064E52F7E7D449381D480 /* SBUModerationsModule.List.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUModerationsModule.List.swift; path = ../Sources/Module/Moderations/SBUModerationsModule.List.swift; sourceTree = ""; }; - F57065E312891A156FBC73B3 /* SBUMessageSearchModule.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUMessageSearchModule.swift; path = ../Sources/Module/MessageSearch/SBUMessageSearchModule.swift; sourceTree = ""; }; - F6E222209B7D5570C0BC7F7C /* SBUCategoryFilterCell.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUCategoryFilterCell.swift; path = ../Sources/View/Channel/CategoryFilterCell/SBUCategoryFilterCell.swift; sourceTree = ""; }; - F870408F34A9FEFF5CABEDD1 /* SBUUserListViewController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUUserListViewController.swift; path = ../Sources/View/UserList/SBUUserListViewController.swift; sourceTree = ""; }; - F9FE01684A7A115BB339D09B /* SBUInviteUserModule.Header.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUInviteUserModule.Header.swift; path = ../Sources/Module/SelectUser/InviteUser/SBUInviteUserModule.Header.swift; sourceTree = ""; }; - FA4EDE7E2FFAE50FB42338ED /* SBUModerationsViewModel.Deprecated.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUModerationsViewModel.Deprecated.swift; path = ../Sources/Deprecated/Moderations/SBUModerationsViewModel.Deprecated.swift; sourceTree = ""; }; - FA659518F52632C707A7BACC /* SBUOpenChannelModule.List.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUOpenChannelModule.List.swift; path = ../Sources/Module/Channel/OpenChannel/SBUOpenChannelModule.List.swift; sourceTree = ""; }; - FAC8B9DAFB00EC5E3A40BCEC /* SBUBaseSelectUserViewController.Deprecated.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUBaseSelectUserViewController.Deprecated.swift; path = ../Sources/Deprecated/UserList/SBUBaseSelectUserViewController.Deprecated.swift; sourceTree = ""; }; - FAE84652E3E9F5611F42712B /* SBUGroupChannelListViewModel.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUGroupChannelListViewModel.swift; path = ../Sources/ViewModel/ChannelList/SBUGroupChannelListViewModel.swift; sourceTree = ""; }; - FB3CA5D40416453EA79690E0 /* SBUNotificationChannelManager.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUNotificationChannelManager.swift; path = ../Sources/Manager/SBUNotificationChannelManager.swift; sourceTree = ""; }; - FD4B090C3B7584D8D84343D4 /* SBUOpenChannelSettingsViewModel.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUOpenChannelSettingsViewModel.swift; path = ../Sources/ViewModel/ChannelSettings/SBUOpenChannelSettingsViewModel.swift; sourceTree = ""; }; - FD4F038A87E5B087652DCC7A /* SBULogger.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBULogger.swift; path = ../Sources/Util/SBULogger.swift; sourceTree = ""; }; - FE0BF25095841A8A217311E2 /* SBUOpenChannelViewController.Deprecated.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUOpenChannelViewController.Deprecated.swift; path = ../Sources/Deprecated/Channel/SBUOpenChannelViewController.Deprecated.swift; sourceTree = ""; }; - FF90155552EB7C61E1A9C637 /* SBUConstant.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUConstant.swift; path = ../Sources/Constant/SBUConstant.swift; sourceTree = ""; }; - FFA13020BBE9D75804CB91BA /* CommonProtocols.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CommonProtocols.swift; path = ../Sources/Protocol/CommonProtocols.swift; sourceTree = ""; }; + AA95606FA1C69E5D483FB41F /* SBUNotificationNavigationTitleView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUNotificationNavigationTitleView.swift; path = ../Sources/View/Common/SBUNotificationNavigationTitleView.swift; sourceTree = ""; }; + AA96E11AED2F69236E7CF30D /* SBULayoutableButton.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBULayoutableButton.swift; path = ../Sources/View/Common/SBULayoutableButton.swift; sourceTree = ""; }; + AAEE6890A5845049A59BBB03 /* SBUUnknownMessageCellParams.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUUnknownMessageCellParams.swift; path = ../Sources/View/Channel/MessageCell/MessageCellParams/SBUUnknownMessageCellParams.swift; sourceTree = ""; }; + ABD157A2A654337A7BA274BF /* SBUBaseSelectUserModule.List.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUBaseSelectUserModule.List.swift; path = ../Sources/Module/SelectUser/SBUBaseSelectUserModule.List.swift; sourceTree = ""; }; + ABE644391B908AC52D9027FB /* SBUConfig.Common.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUConfig.Common.swift; path = ../Sources/Configuration/SBUConfig.Common.swift; sourceTree = ""; }; + AC8C5EE9FA1EB81C7760CEE9 /* SBUModerationsViewModel.Deprecated.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUModerationsViewModel.Deprecated.swift; path = ../Sources/Deprecated/Moderations/SBUModerationsViewModel.Deprecated.swift; sourceTree = ""; }; + AD198271643B69F5D47B2DB6 /* SBUModerationsModule.List.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUModerationsModule.List.swift; path = ../Sources/Module/Moderations/SBUModerationsModule.List.swift; sourceTree = ""; }; + AD44A2E4E60130914AC59A33 /* SBUToastManager.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUToastManager.swift; path = ../Sources/Manager/SBUToastManager.swift; sourceTree = ""; }; + AE010990F4E0CC6C9CBD49E9 /* SBUCreateChannelTypeSelector.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUCreateChannelTypeSelector.swift; path = ../Sources/View/SelectUser/CreateChannel/View/SBUCreateChannelTypeSelector.swift; sourceTree = ""; }; + AE25855EA0270C5807B495E3 /* SBUMultipleFilesMessageCollectionViewCell.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUMultipleFilesMessageCollectionViewCell.swift; path = ../Sources/View/Channel/MessageCell/MultipleFilesMessage/SBUMultipleFilesMessageCollectionViewCell.swift; sourceTree = ""; }; + AE32A9DA2B52A86CD1AB2700 /* SBUStringSet.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUStringSet.swift; path = ../Sources/Constant/SBUStringSet.swift; sourceTree = ""; }; + AE888029F516ACEBC07C384E /* SBUCacheManager.Version.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUCacheManager.Version.swift; path = ../Sources/Manager/CacheManager/SBUCacheManager.Version.swift; sourceTree = ""; }; + AF14E66A310A87E37435A389 /* SBUCollectionViewFlowLayout.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUCollectionViewFlowLayout.swift; path = ../Sources/View/Common/SBUCollectionViewFlowLayout.swift; sourceTree = ""; }; + AF6A88F567091C1AF5D4CE4D /* MultipleFilesMessage+SBUIKit.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "MultipleFilesMessage+SBUIKit.swift"; path = "../Sources/Extension/ChatSDK/MultipleFilesMessage+SBUIKit.swift"; sourceTree = ""; }; + B12EA3F9B4076FCC467F3128 /* SBUMentionConfiguration.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUMentionConfiguration.swift; path = ../Sources/Configuration/Mention/SBUMentionConfiguration.swift; sourceTree = ""; }; + B230954727B7DD4D273D87C4 /* SBUMessageThreadTitleView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUMessageThreadTitleView.swift; path = ../Sources/View/MessageThread/SBUMessageThreadTitleView.swift; sourceTree = ""; }; + B25A9D899DD0E12BFCC804B3 /* SBUBaseChannelModule.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUBaseChannelModule.swift; path = ../Sources/Module/Channel/SBUBaseChannelModule.swift; sourceTree = ""; }; + B336767F466D2053BB26AD9A /* SBUStringSet.Deprecated.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUStringSet.Deprecated.swift; path = ../Sources/Constant/SBUStringSet.Deprecated.swift; sourceTree = ""; }; + B349D6358A11E34E8E06EC40 /* SBUViewModelDelegate.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUViewModelDelegate.swift; path = ../Sources/ViewModel/SBUViewModelDelegate.swift; sourceTree = ""; }; + B5C5EB69D93EBEF8686D765C /* SBUModuleSet.Deprecated.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUModuleSet.Deprecated.swift; path = ../Sources/Deprecated/SBUModuleSet.Deprecated.swift; sourceTree = ""; }; + B61750085746E8E194C20A15 /* SBUOpenChannelMessageWebView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUOpenChannelMessageWebView.swift; path = ../Sources/View/Channel/CellView/SBUOpenChannelMessageWebView.swift; sourceTree = ""; }; + B6F5675CD54E4E19F196222A /* UINavigationController+SBUIKit.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UINavigationController+SBUIKit.swift"; path = "../Sources/Extension/UINavigationController+SBUIKit.swift"; sourceTree = ""; }; + B80A8C58160B53D1ED48E015 /* SBUCacheManager.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUCacheManager.swift; path = ../Sources/Manager/CacheManager/SBUCacheManager.swift; sourceTree = ""; }; + B899559DB6AE53E3E8FB0BA6 /* SBUMultipleFilesMessageCollectionView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUMultipleFilesMessageCollectionView.swift; path = ../Sources/View/Channel/MessageCell/MultipleFilesMessage/SBUMultipleFilesMessageCollectionView.swift; sourceTree = ""; }; + B8CACC7BE15E35FC4BF0F8E9 /* SBUGroupChannelViewModel.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUGroupChannelViewModel.swift; path = ../Sources/ViewModel/Channel/SBUGroupChannelViewModel.swift; sourceTree = ""; }; + B8ED71C27EBC3D8C3FA2F018 /* SBUMenuCell.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUMenuCell.swift; path = ../Sources/View/Common/Menu/SBUMenuCell.swift; sourceTree = ""; }; + B92F8EC9C9801D159A8EEE4C /* SBUCacheManager.NotificationSetting.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUCacheManager.NotificationSetting.swift; path = ../Sources/Manager/CacheManager/SBUCacheManager.NotificationSetting.swift; sourceTree = ""; }; + BA5F1D7A198592A872E2D1DB /* SBUMessageReactionView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUMessageReactionView.swift; path = ../Sources/View/Channel/Reaction/SBUMessageReactionView.swift; sourceTree = ""; }; + BB24589FD45C5E285EF7918C /* SBUUtils.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUUtils.swift; path = ../Sources/Util/SBUUtils.swift; sourceTree = ""; }; + BC160F3E05BF5BCA53241E4C /* SBUChatNotificationChannelViewController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUChatNotificationChannelViewController.swift; path = ../Sources/View/Channel/SBUChatNotificationChannelViewController.swift; sourceTree = ""; }; + BC20024775E11F6B6BF373D1 /* SBUCreateOpenChannelModule.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUCreateOpenChannelModule.swift; path = ../Sources/Module/SelectUser/CreateChannel/SBUCreateOpenChannelModule.swift; sourceTree = ""; }; + BF761A2A9ED1640AF2ADE2E3 /* SBUChatNotificationChannelModule.List.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUChatNotificationChannelModule.List.swift; path = ../Sources/Module/Channel/NotificationChannel/Chat/SBUChatNotificationChannelModule.List.swift; sourceTree = ""; }; + C271F8C5779DC0BEAB1866F0 /* UIButton+SBUIKit.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIButton+SBUIKit.swift"; path = "../Sources/Extension/UIButton+SBUIKit.swift"; sourceTree = ""; }; + C31029B00B97F032767DD942 /* SBUOpenChannelSettingsModule.List.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUOpenChannelSettingsModule.List.swift; path = ../Sources/Module/ChannelSettings/OpenChannel/SBUOpenChannelSettingsModule.List.swift; sourceTree = ""; }; + C38D466776D2D1FC1D43CC84 /* SBUAdminMessageCell.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUAdminMessageCell.swift; path = ../Sources/View/Channel/MessageCell/SBUAdminMessageCell.swift; sourceTree = ""; }; + C3F7CFBB23C3FAE2F7FAF587 /* UIApplication+SBUIKit.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIApplication+SBUIKit.swift"; path = "../Sources/Extension/UIApplication+SBUIKit.swift"; sourceTree = ""; }; + C4C2E4271058A6B718BE1952 /* SBUAnimation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUAnimation.swift; path = ../Sources/View/Common/SBUAnimation.swift; sourceTree = ""; }; + C52DF9F35F976E821DB3FFC1 /* SBUMentionLimitGuideCell.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUMentionLimitGuideCell.swift; path = ../Sources/View/Channel/MessageInput/SBUMentionLimitGuideCell.swift; sourceTree = ""; }; + C5418553EB7D43F629275A0B /* SBUEmojiManager.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUEmojiManager.swift; path = ../Sources/Manager/SBUEmojiManager.swift; sourceTree = ""; }; + C625936E17106B3DEC2F35C8 /* Formatter+SBUIKit.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Formatter+SBUIKit.swift"; path = "../Sources/Extension/Formatter+SBUIKit.swift"; sourceTree = ""; }; + C63B32394749FD5356E68A95 /* SBUNewNotificationInfo.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUNewNotificationInfo.swift; path = ../Sources/View/Channel/NewMessageInfo/SBUNewNotificationInfo.swift; sourceTree = ""; }; + C63C081EFCE17DF595F347AA /* SBUFeedNotificationCellParams.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUFeedNotificationCellParams.swift; path = ../Sources/View/Channel/MessageCell/MessageCellParams/SBUFeedNotificationCellParams.swift; sourceTree = ""; }; + C6E38C3D56DF99104BA21A25 /* SBUBaseSelectUserModule.Header.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUBaseSelectUserModule.Header.swift; path = ../Sources/Module/SelectUser/SBUBaseSelectUserModule.Header.swift; sourceTree = ""; }; + C95076032473A92EFEC66897 /* SBUMessageInputView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUMessageInputView.swift; path = ../Sources/View/Channel/MessageInput/SBUMessageInputView.swift; sourceTree = ""; }; + C98AEC8B9629D4D4232876D6 /* SBUInviteUserViewModel.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUInviteUserViewModel.swift; path = ../Sources/ViewModel/SelectUser/SBUInviteUserViewModel.swift; sourceTree = ""; }; + CC0239ABD6C7799412A933FC /* SBUPhotoCollectionViewCell.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUPhotoCollectionViewCell.swift; path = ../Sources/View/Common/PhotoLibrary/SBUPhotoCollectionViewCell.swift; sourceTree = ""; }; + CEDF904EB74FE7B16D0F829F /* SBUSelectablePhotoViewController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUSelectablePhotoViewController.swift; path = ../Sources/View/Common/PhotoLibrary/SBUSelectablePhotoViewController.swift; sourceTree = ""; }; + CEF84252826FB64E3E60B48B /* SBURegisterOperatorModule.Header.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBURegisterOperatorModule.Header.swift; path = ../Sources/Module/SelectUser/RegisterOperator/SBURegisterOperatorModule.Header.swift; sourceTree = ""; }; + CFDF0163F2B5805B3A8D0840 /* SBUNotificationEmptyView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUNotificationEmptyView.swift; path = ../Sources/View/Common/SBUNotificationEmptyView.swift; sourceTree = ""; }; + D03357BD85FA6DD8C39669BB /* SBUGroupChannelListModule.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUGroupChannelListModule.swift; path = ../Sources/Module/ChannelList/GroupChannel/SBUGroupChannelListModule.swift; sourceTree = ""; }; + D15F6D90BCF87A4D0C374275 /* SBUInviteUserViewController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUInviteUserViewController.swift; path = ../Sources/View/SelectUser/SBUInviteUserViewController.swift; sourceTree = ""; }; + D22B2D0D8571F95E07720698 /* SBUCacheManager.Image.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUCacheManager.Image.swift; path = ../Sources/Manager/CacheManager/SBUCacheManager.Image.swift; sourceTree = ""; }; + D2A65232F270128A7E7D17CA /* SBUAvailable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUAvailable.swift; path = ../Sources/SBUAvailable.swift; sourceTree = ""; }; + D2AAE9D1164CF2BDB0ED51DA /* SBUCreateChannelModule.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUCreateChannelModule.swift; path = ../Sources/Module/SelectUser/CreateChannel/SBUCreateChannelModule.swift; sourceTree = ""; }; + D2E8B6E73F38205D57B17B03 /* NSLayoutConstraint+SBUIKit.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSLayoutConstraint+SBUIKit.swift"; path = "../Sources/Extension/NSLayoutConstraint+SBUIKit.swift"; sourceTree = ""; }; + D3C6CF3FCBD1266513F0DCB0 /* SBUBaseChannelSettingsViewController.Deprecated.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUBaseChannelSettingsViewController.Deprecated.swift; path = ../Sources/Deprecated/ChannelSettings/SBUBaseChannelSettingsViewController.Deprecated.swift; sourceTree = ""; }; + D48CCEB1E95D76446330325A /* SBUUserMessageTextView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUUserMessageTextView.swift; path = ../Sources/View/Channel/CellView/SBUUserMessageTextView.swift; sourceTree = ""; }; + D4DF71767F40BF54C94A74E7 /* SBUMessageThreadViewModel.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUMessageThreadViewModel.swift; path = ../Sources/ViewModel/MessageThread/SBUMessageThreadViewModel.swift; sourceTree = ""; }; + D4F5EC3517844E8A496665C7 /* SBUEnums.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUEnums.swift; path = ../Sources/Enums/SBUEnums.swift; sourceTree = ""; }; + D4F6E13D949C571B4222DB17 /* SBUReactionCollectionViewCell.xib */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = file.xib; name = SBUReactionCollectionViewCell.xib; path = ../Sources/View/Channel/Reaction/SBUReactionCollectionViewCell.xib; sourceTree = ""; }; + D67327E34FCF071E1772BA12 /* SBUView.Unavaliable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUView.Unavaliable.swift; path = ../Sources/Deprecated/SBUView.Unavaliable.swift; sourceTree = ""; }; + D92A8ABEDD7976632D47CB4A /* SBUTemplateLabel.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUTemplateLabel.swift; path = ../Sources/View/Common/SBUTemplateLabel.swift; sourceTree = ""; }; + DA27B0D996B904E549C03FC3 /* SBUOpenChannelViewController.Deprecated.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUOpenChannelViewController.Deprecated.swift; path = ../Sources/Deprecated/Channel/SBUOpenChannelViewController.Deprecated.swift; sourceTree = ""; }; + DA778227BAD77593557901EF /* SBUGroupChannelModule.Header.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUGroupChannelModule.Header.swift; path = ../Sources/Module/Channel/GroupChannel/SBUGroupChannelModule.Header.swift; sourceTree = ""; }; + DB786B7E7A91CA3934C6EB52 /* SBUMultipleFilesMessageCellParams.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUMultipleFilesMessageCellParams.swift; path = ../Sources/View/Channel/MessageCell/MessageCellParams/SBUMultipleFilesMessageCellParams.swift; sourceTree = ""; }; + DD1A8367863BF4D5B6208377 /* SBUOpenChannelCommonContentView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUOpenChannelCommonContentView.swift; path = ../Sources/View/Channel/MessageCell/FileMessageContentView/SBUOpenChannelCommonContentView.swift; sourceTree = ""; }; + DDBF87A7985E5EC71B141E9B /* SBUOpenChannelModule.Input.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUOpenChannelModule.Input.swift; path = ../Sources/Module/Channel/OpenChannel/SBUOpenChannelModule.Input.swift; sourceTree = ""; }; + DF6D0A8BE54122E8A3164EDE /* SBUUserListModule.Header.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUUserListModule.Header.swift; path = ../Sources/Module/UserList/SBUUserListModule.Header.swift; sourceTree = ""; }; + DF8BFFC966654D0169B15A82 /* SBURegisterOperatorModule.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBURegisterOperatorModule.swift; path = ../Sources/Module/SelectUser/RegisterOperator/SBURegisterOperatorModule.swift; sourceTree = ""; }; + E049DAB2B2BBD54B5AB75AA1 /* SBUBaseChannelSettingCell.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUBaseChannelSettingCell.swift; path = ../Sources/View/ChannelSettings/Cell/SBUBaseChannelSettingCell.swift; sourceTree = ""; }; + E11347B794B1A22EBA2A7B5A /* SBUQuotedBaseMessageViewParams.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUQuotedBaseMessageViewParams.swift; path = ../Sources/View/Channel/MessageCell/Replies/ViewParams/SBUQuotedBaseMessageViewParams.swift; sourceTree = ""; }; + E1594070F5CFF47042D92064 /* QuotedFileImageContentView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = QuotedFileImageContentView.swift; path = ../Sources/View/Channel/MessageCell/Replies/MessageView/QuotedFileImageContentView.swift; sourceTree = ""; }; + E211B9C296952B94BE2182CA /* SBUBaseChannelModule.List.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUBaseChannelModule.List.swift; path = ../Sources/Module/Channel/SBUBaseChannelModule.List.swift; sourceTree = ""; }; + E21C9A234CA2E092A3D4272D /* SBUParentMessageInfoReactionView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUParentMessageInfoReactionView.swift; path = ../Sources/View/Channel/Reaction/SBUParentMessageInfoReactionView.swift; sourceTree = ""; }; + E233F3F5794416D9D8C6EDC2 /* SBUNavigationTitleView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUNavigationTitleView.swift; path = ../Sources/View/Common/SBUNavigationTitleView.swift; sourceTree = ""; }; + E27082A7D352D868BAC1D7A0 /* SBUGroupChannelCell.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUGroupChannelCell.swift; path = ../Sources/View/ChannelList/ChannelCell/SBUGroupChannelCell.swift; sourceTree = ""; }; + E27E44020A9EF8E6B058FBC4 /* SBUGroupChannelSettingsViewController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUGroupChannelSettingsViewController.swift; path = ../Sources/View/ChannelSettings/SBUGroupChannelSettingsViewController.swift; sourceTree = ""; }; + E3A1B1E42E8E4FFD73BBB4EF /* SBUGroupChannelViewController.Deprecated.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUGroupChannelViewController.Deprecated.swift; path = ../Sources/Deprecated/Channel/SBUGroupChannelViewController.Deprecated.swift; sourceTree = ""; }; + E418216859F476744158B730 /* VoiceMessageStatus.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = VoiceMessageStatus.swift; path = ../Sources/Enums/VoiceMessageStatus.swift; sourceTree = ""; }; + E45CC990891F00B2160BB0F5 /* SBUBottomSheetController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUBottomSheetController.swift; path = ../Sources/View/Common/Menu/SBUBottomSheetController.swift; sourceTree = ""; }; + E49C1D1FB5A8A1E5272DC524 /* SBUPaddingLabel.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUPaddingLabel.swift; path = ../Sources/View/Common/SBUPaddingLabel.swift; sourceTree = ""; }; + E567C68277F5A065C9CDE386 /* SBUGroupChannelSettingsModule.Header.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUGroupChannelSettingsModule.Header.swift; path = ../Sources/Module/ChannelSettings/GroupChannel/SBUGroupChannelSettingsModule.Header.swift; sourceTree = ""; }; + E58FC2CFDB181B63A5B62144 /* SBUOpenChannelCell.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUOpenChannelCell.swift; path = ../Sources/View/ChannelList/ChannelCell/SBUOpenChannelCell.swift; sourceTree = ""; }; + E6A659B4859220EB38295676 /* SBUBaseSelectUserViewController.Deprecated.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUBaseSelectUserViewController.Deprecated.swift; path = ../Sources/Deprecated/UserList/SBUBaseSelectUserViewController.Deprecated.swift; sourceTree = ""; }; + E6D855F68DA3FC12342C1689 /* SBUQuoteMessageInputView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUQuoteMessageInputView.swift; path = ../Sources/View/Channel/MessageInput/SBUQuoteMessageInputView.swift; sourceTree = ""; }; + E7015E18E0FE284E642B783F /* SBUInviteUserModule.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUInviteUserModule.swift; path = ../Sources/Module/SelectUser/InviteUser/SBUInviteUserModule.swift; sourceTree = ""; }; + E715BCF98AF3D13965F49A1C /* SBUHighlightMessageInfo.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUHighlightMessageInfo.swift; path = ../Sources/Model/SBUHighlightMessageInfo.swift; sourceTree = ""; }; + E715DFE0598426529E2B678E /* SBUFeedNotificationChannelModule.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUFeedNotificationChannelModule.swift; path = ../Sources/Module/Channel/NotificationChannel/Feed/SBUFeedNotificationChannelModule.swift; sourceTree = ""; }; + E79EC17116F9A095BE3365AE /* SBUDateFormatSet.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUDateFormatSet.swift; path = ../Sources/Constant/SBUDateFormatSet.swift; sourceTree = ""; }; + E7A85768D4753CD4A4B39F13 /* SBUGroupChannelSettingsViewModel.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUGroupChannelSettingsViewModel.swift; path = ../Sources/ViewModel/ChannelSettings/SBUGroupChannelSettingsViewModel.swift; sourceTree = ""; }; + E9057DDF20166EEC6D473003 /* SBUEmptyView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUEmptyView.swift; path = ../Sources/View/Common/SBUEmptyView.swift; sourceTree = ""; }; + E9CCFB8BD6D6F2B9467492AC /* SBUUnderLineTextField.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUUnderLineTextField.swift; path = ../Sources/View/Common/SBUUnderLineTextField.swift; sourceTree = ""; }; + EA6B6CEB3A4B78C42CED0326 /* SBUOpenChannelBaseMessageCell.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUOpenChannelBaseMessageCell.swift; path = ../Sources/View/Channel/MessageCell/OpenChannel/SBUOpenChannelBaseMessageCell.swift; sourceTree = ""; }; + EB19E15D1DC51A9150CFBB23 /* SBUInviteUserModule.List.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUInviteUserModule.List.swift; path = ../Sources/Module/SelectUser/InviteUser/SBUInviteUserModule.List.swift; sourceTree = ""; }; + ED5322A5E79D6AAEC76DE898 /* SBURegisterOperatorViewModel.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBURegisterOperatorViewModel.swift; path = ../Sources/ViewModel/SelectUser/SBURegisterOperatorViewModel.swift; sourceTree = ""; }; + EF49797343993C422BAA4F9C /* SBUCreateChannelModule.Header.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUCreateChannelModule.Header.swift; path = ../Sources/Module/SelectUser/CreateChannel/SBUCreateChannelModule.Header.swift; sourceTree = ""; }; + EFB70499E74302689CA138B4 /* SBUGroupChannelPushSettingsModule.List.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUGroupChannelPushSettingsModule.List.swift; path = ../Sources/Module/NotificationSettings/SBUGroupChannelPushSettingsModule.List.swift; sourceTree = ""; }; + EFF60EA4107CF0AAB811399E /* SBUTheme+Type.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "SBUTheme+Type.swift"; path = "../Sources/Theme/SBUTheme+Type.swift"; sourceTree = ""; }; + F00CEF513BA6D04C70ACA68A /* SBUCoverImageView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUCoverImageView.swift; path = ../Sources/View/Common/SBUCoverImageView.swift; sourceTree = ""; }; + F0756D867375E03D2A5C3AB3 /* SBUReplyConfiguration.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUReplyConfiguration.swift; path = ../Sources/Configuration/Replies/SBUReplyConfiguration.swift; sourceTree = ""; }; + F0A6A6002CA898817BA3D422 /* SBUGroupChannelViewController.Unavailable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUGroupChannelViewController.Unavailable.swift; path = ../Sources/Deprecated/Channel/SBUGroupChannelViewController.Unavailable.swift; sourceTree = ""; }; + F11B1942C3490B77FDFD4E63 /* SBUDownloadManager.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUDownloadManager.swift; path = ../Sources/Manager/SBUDownloadManager.swift; sourceTree = ""; }; + F1AF7E5386850BD4E6852423 /* SBUGroupChannelListViewController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUGroupChannelListViewController.swift; path = ../Sources/View/ChannelList/SBUGroupChannelListViewController.swift; sourceTree = ""; }; + F1F109E4FFE8C2DBCA5277C9 /* MessageTemplateParser.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MessageTemplateParser.swift; path = ../Sources/CustomSyntaxTest/MessageTemplateParser.swift; sourceTree = ""; }; + F21B3529CBF1A3C9EDF18730 /* SBUGroupChannelViewController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUGroupChannelViewController.swift; path = ../Sources/View/Channel/SBUGroupChannelViewController.swift; sourceTree = ""; }; + F2B19D668566F4A23808664F /* SBUBaseChannelListModule.Header.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUBaseChannelListModule.Header.swift; path = ../Sources/Module/ChannelList/SBUBaseChannelListModule.Header.swift; sourceTree = ""; }; + F382B12B070D045EB4512497 /* SBUOpenChannelSettingsModule.Header.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUOpenChannelSettingsModule.Header.swift; path = ../Sources/Module/ChannelSettings/OpenChannel/SBUOpenChannelSettingsModule.Header.swift; sourceTree = ""; }; + F42F7105DD8DFE0975184164 /* URL+SBUKit.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "URL+SBUKit.swift"; path = "../Sources/Extension/URL+SBUKit.swift"; sourceTree = ""; }; + F438F09063E599E9FDA54E22 /* SBUTableViewCell.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUTableViewCell.swift; path = "../Sources/View/Life cycles/SBUTableViewCell.swift"; sourceTree = ""; }; + F52383D20F2BE9CC632FB244 /* SBUCommonViewControllerSet.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUCommonViewControllerSet.swift; path = ../Sources/View/Common/SBUCommonViewControllerSet.swift; sourceTree = ""; }; + F5B76C59F8FB3334F06FDED9 /* SBUCreateOpenChannelModule.Header.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUCreateOpenChannelModule.Header.swift; path = ../Sources/Module/SelectUser/CreateChannel/SBUCreateOpenChannelModule.Header.swift; sourceTree = ""; }; + F60AA35EE472F3CCE0177E89 /* SBUBaseChannelSettingsViewModel.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUBaseChannelSettingsViewModel.swift; path = ../Sources/ViewModel/ChannelSettings/SBUBaseChannelSettingsViewModel.swift; sourceTree = ""; }; + F742E600DDF845BDCE2283EC /* SBUGroupChannelSettingsModule.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUGroupChannelSettingsModule.swift; path = ../Sources/Module/ChannelSettings/GroupChannel/SBUGroupChannelSettingsModule.swift; sourceTree = ""; }; + F8441759E1365B6F02706EE5 /* String+SBUIKit.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "String+SBUIKit.swift"; path = "../Sources/Extension/String+SBUIKit.swift"; sourceTree = ""; }; + F8B5944204FD876D3662595A /* SBUColorSet.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUColorSet.swift; path = ../Sources/Theme/SBUColorSet.swift; sourceTree = ""; }; + F9FAD7D127F4F5ED1BA49D5B /* SBUOpenChannelViewModel.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUOpenChannelViewModel.swift; path = ../Sources/ViewModel/Channel/SBUOpenChannelViewModel.swift; sourceTree = ""; }; + FA2E0081BDAD8C1481517F03 /* SBUBaseChannelListViewModel.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUBaseChannelListViewModel.swift; path = ../Sources/ViewModel/ChannelList/SBUBaseChannelListViewModel.swift; sourceTree = ""; }; + FBBE9D5EF8F8BC7B4815603B /* SBUFileViewController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUFileViewController.swift; path = ../Sources/View/Channel/FileViewer/SBUFileViewController.swift; sourceTree = ""; }; + FBD350C55E39A7B799BCF0AC /* SBUAlertView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUAlertView.swift; path = ../Sources/View/Common/SBUAlertView.swift; sourceTree = ""; }; + FCDC524260D017F8F7893C5E /* SBUBaseChannelSettingsModule.Header.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUBaseChannelSettingsModule.Header.swift; path = ../Sources/Module/ChannelSettings/SBUBaseChannelSettingsModule.Header.swift; sourceTree = ""; }; + FDFDE39804434C853ECDBF0E /* SBUChannelSettingItem.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUChannelSettingItem.swift; path = ../Sources/Module/ChannelSettings/ChannelSettingItem/SBUChannelSettingItem.swift; sourceTree = ""; }; + FEA474A74A4462C5C16301EA /* BaseMessage+SBUIKit.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "BaseMessage+SBUIKit.swift"; path = "../Sources/Extension/ChatSDK/BaseMessage+SBUIKit.swift"; sourceTree = ""; }; + FED6332A3FCFEA7BB1E45C4D /* SBUMentionManager.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUMentionManager.swift; path = ../Sources/Util/SBUMentionManager.swift; sourceTree = ""; }; + FF6317D98A5523B169AE3D86 /* SBUMarginView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUMarginView.swift; path = ../Sources/View/Common/SBUMarginView.swift; sourceTree = ""; }; + FFF48131321A48C3ECE72909 /* SBUConfig.OpenChannel.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SBUConfig.OpenChannel.swift; path = ../Sources/Configuration/SBUConfig.OpenChannel.swift; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -883,2206 +899,2266 @@ /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 0490DE0E451052EE67AE43DF /* InviteUser */ = { + 00F953DA9904FD5397D58A68 /* NotificationSettings */ = { isa = PBXGroup; children = ( - D4D241125E53E0AC684DB646 /* SBUInviteUserModule.List.swift */, - A1E4C03DF14A513EEDB36609 /* SBUInviteUserModule.swift */, - F9FE01684A7A115BB339D09B /* SBUInviteUserModule.Header.swift */, + C8D91CB9BEBF215E0E82D3D7 /* Cell */, + 67925B73FD9C41D7449D159C /* SBUGroupChannelPushSettingsViewController.swift */, ); - name = InviteUser; + name = NotificationSettings; sourceTree = ""; }; - 0531D9A595B84B3A192F68F2 /* NotificationSettings */ = { + 0C733C0FCEEB672F319CEEE9 /* Header */ = { isa = PBXGroup; children = ( - 496B9486ACD92A1876881E38 /* Cell */, - 4C400E3A68BC7FC4B23527F9 /* SBUGroupChannelPushSettingsViewController.swift */, + A00EEFBB28D1E763E4C969EA /* SBUChannelInfoHeaderView.swift */, + 73821D5CE28EF4964F2CEB93 /* SBUChannelTitleView.swift */, ); - name = NotificationSettings; + name = Header; sourceTree = ""; }; - 05D34BBBE881CEB7615610A3 /* View */ = { + 0DDE177763850D346B47EECF /* MessageView */ = { isa = PBXGroup; children = ( + 818E2B283C48F1759DA023AC /* QuotedFileCommonContentView.swift */, + 8C39055FF9E021BCBB22F12A /* SBUQuotedBaseMessageView.swift */, + 01E58AEC2686847E0FB92776 /* SBUThreadInfoView.swift */, + E1594070F5CFF47042D92064 /* QuotedFileImageContentView.swift */, + 9079619DDD26B7A95EEB20BA /* SBUQuotedFileMessageView.swift */, + 25822B4B892DF76FDCBFF837 /* SBUQuotedUserMessageView.swift */, ); - name = View; + name = MessageView; sourceTree = ""; }; - 07172FE6FEC2DD7CB592C92A /* ChannelSettingItem */ = { + 0E485EA2D1385FD444646C12 /* PhotoLibrary */ = { isa = PBXGroup; children = ( - 99628FF2DD4C624ED959C3A8 /* SBUChannelSettingItem.swift */, + 5D09408470D1A37CE1DC7FAF /* SBUPhotoAccess.swift */, + CC0239ABD6C7799412A933FC /* SBUPhotoCollectionViewCell.swift */, + CEDF904EB74FE7B16D0F829F /* SBUSelectablePhotoViewController.swift */, ); - name = ChannelSettingItem; + name = PhotoLibrary; sourceTree = ""; }; - 0861B2CBE73D480B52CB38E4 /* Menu */ = { + 16D493644B300BAA23EA25A2 /* UserList */ = { isa = PBXGroup; children = ( + 82786DC4B0EBBAFACAB2D913 /* SBUUserListViewModel.swift */, ); - name = Menu; + name = UserList; sourceTree = ""; }; - 0AD0BF35EF96EE1283F1052C /* NewMessageInfo */ = { + 18269A05ECAE6F1B3A85B300 /* Module */ = { isa = PBXGroup; children = ( + E172D2ED3DA20F3F8BA37728 /* ChannelList */, + BAA1AA580DBCF55F97790F74 /* NotificationSettings */, + 4C7D10C2E1BB9D6F342CCBDF /* Channel */, + 2C3DF88D680BBCDB87B1EB4B /* ChannelSettings */, + D05D8DEEC7E4920CCA18AE02 /* UserList */, + 5D461E38551F9F3CE796339B /* SBUModuleSet.swift */, + A4021D1F667BDEFAF51F2D8E /* MessageSearch */, + 9B822357C3090967721E4762 /* MessageThread */, + 35921E99ECD7D02F8553CF76 /* Moderations */, + C9A4831A42594288BCE8D47C /* SelectUser */, ); - name = NewMessageInfo; + name = Module; sourceTree = ""; }; - 0D75D1A74956CE8EF273CD92 /* MessageThread */ = { + 1938F1049F39B116BDE95B75 /* UserCell */ = { isa = PBXGroup; children = ( + 9679D18017408CD2DA19E902 /* SBUUserCell.swift */, ); - name = MessageThread; + name = UserCell; sourceTree = ""; }; - 0F79E57700059F4FF2143D9F /* Constant */ = { + 205535FB110ECED7813999EC /* CategoryFilterCell */ = { isa = PBXGroup; children = ( - 60383E1ABD029A6AE9410930 /* SBUStringSet.Deprecated.swift */, - 8C403622DBFAE9857B88659D /* SBUDateFormatSet.swift */, - FF90155552EB7C61E1A9C637 /* SBUConstant.swift */, - 2E31D559C7FBCD1771AC502B /* SBUStringSet.swift */, + 3AB5A5360238E89E22C8E6F2 /* SBUCategoryFilterCell.swift */, ); - name = Constant; + name = CategoryFilterCell; sourceTree = ""; }; - 1008D60FC42E7AFE46E8687F /* CreateChannel */ = { + 209A6D4C2951CBD5F3A2E017 /* ChannelList */ = { isa = PBXGroup; children = ( - EBB145F45E8CBDDF0B33BBD0 /* View */, - 1507B2AD59C6BC6C97302F61 /* SBUCreateChannelViewController.swift */, - DABA82A7B488D1AD6008864C /* SBUCreateOpenChannelViewController.swift */, + A45EA1C2F67DDCE3029BB5AD /* ChannelCell */, + 5A5BC5524EE49E6ACDE701EB /* SBUBaseChannelListViewController.swift */, + F1AF7E5386850BD4E6852423 /* SBUGroupChannelListViewController.swift */, + 8794A6A6C2E96D25AB39EB54 /* SBUOpenChannelListViewController.swift */, ); - name = CreateChannel; + name = ChannelList; sourceTree = ""; }; - 13885281F4767043A7DB5CFE /* MessageThread */ = { + 2166662A57408C848332973D /* ChannelList */ = { isa = PBXGroup; children = ( - 3809554B51090A3F7899AB3B /* SBUMessageThreadModule.List.swift */, - B2AD981050096BDD0EF9D1E4 /* SBUMessageThreadModule.swift */, - D10FE10A84D9C60B249612AC /* SBUMessageThreadModule.Input.swift */, - 14194C9B518F7A309B58C3E6 /* SBUMessageThreadModule.Header.swift */, + 2A1B645AB9A1BB8AB5D68D69 /* SBUGroupChannelListViewModel.swift */, + 3FE33C46DCD930CD16EF1F58 /* SBUOpenChannelListViewModel.swift */, + FA2E0081BDAD8C1481517F03 /* SBUBaseChannelListViewModel.swift */, ); - name = MessageThread; + name = ChannelList; sourceTree = ""; }; - 14328226FC81A7F9E249DFBF /* Cell */ = { + 21A889FA31C71A7F96D49512 /* Util */ = { isa = PBXGroup; children = ( - D3C31FF9D7DA80112E0D11BB /* SBUOpenChannelSettingCell.swift */, - B7D8665DE5DCB7623A6D6D97 /* SBUBaseChannelSettingCell.swift */, - 41EEEB823E8EACB5657CD3DF /* SBUModerationCell.swift */, - 0E9D1ECE58F951EC1E173518 /* SBUGroupChannelSettingCell.swift */, + 2514B495E19B2FB056DFA6D0 /* SBUPropertyWrapper.swift */, + 9D973191D921C22D6E479D1A /* BlockingOperation.swift */, + BB24589FD45C5E285EF7918C /* SBUUtils.swift */, + 5DC7B3F888C73BABB2F9F5DF /* SBULogger.swift */, + FED6332A3FCFEA7BB1E45C4D /* SBUMentionManager.swift */, + 7F5D40D9A16548E764C4860C /* SBUDebouncer.swift */, ); - name = Cell; + name = Util; sourceTree = ""; }; - 161BC94A73FBDABB6EF03EE0 /* ChannelList */ = { + 21AE5897478027A38D295182 /* Common */ = { isa = PBXGroup; children = ( - 9DA684D98CE04D343185CE89 /* SBUChannelListViewController.Deprecated.swift */, + 400DF91B6CFD3D7C31ACF73A /* SBUCommonDelegate.swift */, ); - name = ChannelList; + name = Common; sourceTree = ""; }; - 1756635B80BFAE47DC46ABFD /* MessageSearch */ = { + 2498C09833CC97AA1819062F /* NotificationChannel */ = { isa = PBXGroup; children = ( - 16148A3386B955D1D2D91EF2 /* SBUMessageSearchViewController.Deprecated.swift */, + 373EDAEC87633AEC4CE98532 /* Chat */, + A6165AC7E187B6397654352C /* Feed */, ); - name = MessageSearch; + name = NotificationChannel; sourceTree = ""; }; - 177EB09075F6E32FFDF5F726 /* Feed */ = { + 29587439177B6B19E6719B1F /* ChannelSettings */ = { isa = PBXGroup; children = ( + D3C6CF3FCBD1266513F0DCB0 /* SBUBaseChannelSettingsViewController.Deprecated.swift */, ); - name = Feed; + name = ChannelSettings; sourceTree = ""; }; - 17F858ED43C4AA5ED9B785CF /* Channel */ = { + 2C3DF88D680BBCDB87B1EB4B /* ChannelSettings */ = { isa = PBXGroup; children = ( - 23760A8C6B63A777632E04BA /* GroupChannel */, - BCF51F4882AAA0078F22BB02 /* NotificationChannel */, - E5AC7186C2CED8C35F28A8E0 /* OpenChannel */, + FCDC524260D017F8F7893C5E /* SBUBaseChannelSettingsModule.Header.swift */, + 5C3172956BF6E41AE4943F34 /* SBUBaseChannelSettingsModule.List.swift */, + C97717CBEFAC417A8173C7BE /* ChannelSettingItem */, + FD01A34EE9AD72C158A98873 /* GroupChannel */, + 32BE52B9EE5FA60D10143D61 /* SBUBaseChannelSettingsModule.swift */, + 2D2C9EC97E3824E6AEE0A08D /* OpenChannel */, ); - name = Channel; + name = ChannelSettings; sourceTree = ""; }; - 17F86DD7E8922185ADA3012C /* MessageThread */ = { + 2C5C73690D8C7E326BEB82F7 /* UserList */ = { isa = PBXGroup; children = ( + 11E50F5CA899D8E6E098099B /* SBUUserListViewController.swift */, ); - name = MessageThread; + name = UserList; sourceTree = ""; }; - 1844008E416DF34A1E92C263 /* View */ = { + 2C780AAE51BF5D66B6F460AC /* InviteUser */ = { isa = PBXGroup; children = ( - 75F6C830EC87D9A4CB6C6A03 /* SBUChannelSettingsChannelInfoView.swift */, + EB19E15D1DC51A9150CFBB23 /* SBUInviteUserModule.List.swift */, + E7015E18E0FE284E642B783F /* SBUInviteUserModule.swift */, + 6B4AD6A82A0D24900ED39729 /* SBUInviteUserModule.Header.swift */, ); - name = View; + name = InviteUser; sourceTree = ""; }; - 1C9FBBEA2C6E91742FD3C432 /* SelectUser */ = { + 2D2C9EC97E3824E6AEE0A08D /* OpenChannel */ = { isa = PBXGroup; children = ( - 8FA366836C9821F4AB7F8B6D /* CreateChannel */, + C31029B00B97F032767DD942 /* SBUOpenChannelSettingsModule.List.swift */, + 677331CA2445156ACEF03F92 /* SBUOpenChannelSettingsModule.swift */, + F382B12B070D045EB4512497 /* SBUOpenChannelSettingsModule.Header.swift */, ); - name = SelectUser; + name = OpenChannel; sourceTree = ""; }; - 1D1B1B8C68F85F89E3F06526 /* ChannelList */ = { + 2E9854B61F285FA6084456E7 /* Mention */ = { isa = PBXGroup; children = ( - 95277A8064CD303B2039EACE /* GroupChannel */, - 9E6C04607924F4910AEBDC5D /* OpenChannel */, + B12EA3F9B4076FCC467F3128 /* SBUMentionConfiguration.swift */, + 7056174BB03D5BD2711C7E42 /* SBUUserMentionConfiguration.swift */, ); - name = ChannelList; + name = Mention; sourceTree = ""; }; - 1E38C1FEE73826969E8CC8D5 /* Reaction */ = { + 32A48C9F42F110B183E5D981 /* Constant */ = { isa = PBXGroup; children = ( + B336767F466D2053BB26AD9A /* SBUStringSet.Deprecated.swift */, + E79EC17116F9A095BE3365AE /* SBUDateFormatSet.swift */, + 51AE6FE4B38222222FB0195B /* SBUConstant.swift */, + AE32A9DA2B52A86CD1AB2700 /* SBUStringSet.swift */, ); - name = Reaction; + name = Constant; sourceTree = ""; }; - 23760A8C6B63A777632E04BA /* GroupChannel */ = { + 3481AF0ED6F7AFCA850A8853 /* CreateChannel */ = { isa = PBXGroup; children = ( + 7DE0BEF0A79519E9A05CF9C4 /* SBUCreateChannelViewController.Deprecated.swift */, ); - name = GroupChannel; + name = CreateChannel; sourceTree = ""; }; - 262E31E6C25AE54259CAC8D4 /* Moderations */ = { + 35921E99ECD7D02F8553CF76 /* Moderations */ = { isa = PBXGroup; children = ( + AD198271643B69F5D47B2DB6 /* SBUModerationsModule.List.swift */, + 06AF96C21BE2A902444BA2B5 /* SBUModerationsModule.swift */, + 83D2E25066DC434B4585A930 /* SBUModerationsModule.Header.swift */, ); name = Moderations; sourceTree = ""; }; - 2783BB6EDDD0E11688FBBCC9 /* InviteUser */ = { + 36A40777B805A4E878ED5ACD /* Moderations */ = { isa = PBXGroup; children = ( + 23129C22A301611A69D18377 /* SBUModerationsViewController.swift */, ); - name = InviteUser; + name = Moderations; sourceTree = ""; }; - 2829EFEA900AF44B86BAA928 /* NotificationSettings */ = { + 373EDAEC87633AEC4CE98532 /* Chat */ = { isa = PBXGroup; children = ( + 6360CBA5730E86B7DC3F8DF5 /* SBUChatNotificationChannelModule.swift */, + BF761A2A9ED1640AF2ADE2E3 /* SBUChatNotificationChannelModule.List.swift */, + 8000CAFCA99993ECE66EB404 /* SBUChatNotificationChannelModule.Header.swift */, ); - name = NotificationSettings; + name = Chat; sourceTree = ""; }; - 2B79D70CEC5878C6DF2AB4FD /* Reaction */ = { + 3A4FAF707362F9868564E0AE /* Configurations */ = { isa = PBXGroup; children = ( - F3B66E70DD543A61EE79F4F5 /* SBUParentMessageInfoReactionView.swift */, - 629E0B3632DCB8FBDA4811FA /* SBUReactionCollectionViewCell.swift */, - 025C99558AA78789B148E070 /* SBUReactionsViewController.swift */, - 6F791270F933192C34653966 /* SBUMessageReactionView.swift */, - 9516F9847F84F192DC63D8E4 /* SBUReactionCollectionViewCell.xib */, - BEA156B27CA93D500A2543F2 /* SBUEmojiListViewController.swift */, + 249DDFFBED36872C5F0BEF09 /* Debug.xcconfig */, + 003A4159224E75730065916E /* Release.xcconfig */, + 1E121BE02284A3080668DDB5 /* Base.xcconfig */, ); - name = Reaction; + name = Configurations; sourceTree = ""; }; - 2CCA50E3AD2298AF3B68AF41 /* ChannelCell */ = { + 3A968F8090D2BC4D281025B1 /* MessageInput */ = { isa = PBXGroup; children = ( + C52DF9F35F976E821DB3FFC1 /* SBUMentionLimitGuideCell.swift */, + A2E7177056C9BD000CD7A364 /* SBUSuggestedMentionList.swift */, + E6D855F68DA3FC12342C1689 /* SBUQuoteMessageInputView.swift */, + 96D08A15B938A2FF98C7D558 /* SBUMessageInputMode.swift */, + 6389C48680F507459E5DD66D /* ViewParams */, + C95076032473A92EFEC66897 /* SBUMessageInputView.swift */, ); - name = ChannelCell; + name = MessageInput; sourceTree = ""; }; - 2D3543B4F805375693CB09E8 /* OpenChannel */ = { + 3B25B98CFA6CC312F38927F6 /* CacheManager */ = { isa = PBXGroup; children = ( - 96A24EEEE5156B6E1E96B54B /* SBUOpenChannelSettingsModule.List.swift */, - CAEDF1487C43432AB82CA64C /* SBUOpenChannelSettingsModule.swift */, - 955081971B458CB8DEF0DAA9 /* SBUOpenChannelSettingsModule.Header.swift */, + 2F6E0E831CE2EB9E72882629 /* SBUCacheManager.Config.swift */, + AE888029F516ACEBC07C384E /* SBUCacheManager.Version.swift */, + 7B783A9C517E9B0F82A8C706 /* SBUCacheManager.File.swift */, + 5AEEFEFD26ED958E5ADBE255 /* SBUCacheManager.Template.swift */, + D22B2D0D8571F95E07720698 /* SBUCacheManager.Image.swift */, + B80A8C58160B53D1ED48E015 /* SBUCacheManager.swift */, + B92F8EC9C9801D159A8EEE4C /* SBUCacheManager.NotificationSetting.swift */, ); - name = OpenChannel; + name = CacheManager; sourceTree = ""; }; - 2F6883C3C0105522FE00737A /* Moderations */ = { + 3DB54016CA7CB25A9F815D18 /* MessageSearch */ = { isa = PBXGroup; children = ( - F49064E52F7E7D449381D480 /* SBUModerationsModule.List.swift */, - 5D281E8FD99F8FA369055BC3 /* SBUModerationsModule.swift */, - D0C33B74F5CF56F47ECD999D /* SBUModerationsModule.Header.swift */, + 9A9004DE95D41DEF5A717472 /* SBUMessageSearchViewController.Deprecated.swift */, ); - name = Moderations; + name = MessageSearch; sourceTree = ""; }; - 2F8BD388CAD552E582544226 /* ChannelList */ = { + 3E30F72C153BD614DDF40B74 /* Cell */ = { isa = PBXGroup; children = ( - 2CCA50E3AD2298AF3B68AF41 /* ChannelCell */, + 01861E0054CA3370504E1DDD /* SBUMessageSearchResultCell.swift */, ); - name = ChannelList; + name = Cell; sourceTree = ""; }; - 2F8FA4600955D82C118BFC59 /* Protocol */ = { + 3E6F375D2A3DE4DE1147FE59 /* MessageCellParams */ = { isa = PBXGroup; children = ( - FFA13020BBE9D75804CB91BA /* CommonProtocols.swift */, + 8E9B4353D4927ECD14548721 /* SBUBaseMessageCellParams.Deprecated.swift */, ); - name = Protocol; + name = MessageCellParams; sourceTree = ""; }; - 2FCA3E2445426355EE4480FA /* Extension */ = { - isa = PBXGroup; - children = ( - 59C76A9CDC602E5C630BEC9E /* UIStackView.SBUIKit.swift */, - BF5C073A092950DEE1C8933A /* URL+SBUKit.swift */, - 99F9ADB0066101AD4EB663E3 /* Array+SBUIKit.swift */, - 6F1D9BF511F177336100D2A1 /* UIColor+SBUIKit.swift */, - ACD781D333EB55B771EEC0AA /* Formatter+SBUIKit.swift */, - 90AB02F549FD949487F4EB43 /* UIImage+SBUIKit.swift */, - 82E5FACDBD42B9FEA5FF1595 /* UIButton+SBUIKit.swift */, - ABAD6988201CD077774B24EF /* UINavigationController+SBUIKit.swift */, - 49AEF37A73A0E7220CF77DDB /* ChatSDK */, - 855753F69A93A1BFD9CB308E /* String+SBUIKit.swift */, - 7ADF6A5C700565F0093FF653 /* CGSize+SBUIKit.swift */, - B90408E6901BF3E4EF9A6A71 /* Float+SBUKit.swift */, - F280E77C527A83BDFABBBDFF /* Data+SBUIKit.swift */, - D26B6F013CE6E8D67E1A5ED9 /* UIViewController+SBUIKit.swift */, - 0D81553F184BC6740DBA6ADC /* Date+SBUIKit.swift */, - B4265C557000D9A84EB804D2 /* StringProtocol+SBUIKit.swift */, - F2B4B1EAB22163A3AAA90C83 /* UIApplication+SBUIKit.swift */, - AD064F057C56D7A8C0CF8003 /* UIView+SBUIKit.swift */, - 17EB59307EA2A431CD74082E /* Sequence+SBUIKit.swift */, - C13E7BC77BF2390E13E985CD /* UIImageView+SBUIKit.swift */, - 57BC3B1D3B61BD706150D49E /* NSObject+SBUIKit.swift */, - 637655126C24B139457FBB77 /* UITextField+SBUIKit.swift */, + 3F8871A2F99CEAC2C4E91CA4 /* RegisterOperator */ = { + isa = PBXGroup; + children = ( + 8B1A41B399AA09B5F53A5E00 /* SBURegisterOperatorModule.List.swift */, + CEF84252826FB64E3E60B48B /* SBURegisterOperatorModule.Header.swift */, + DF8BFFC966654D0169B15A82 /* SBURegisterOperatorModule.swift */, ); - name = Extension; + name = RegisterOperator; sourceTree = ""; }; - 302D4722AE6613EA4D357020 /* Common */ = { + 40D92E70B8EF041D2F2369F8 /* Menu */ = { isa = PBXGroup; children = ( - B214DBD468659899C8D2FD7A /* PhotoLibrary */, - EC30CDAB95D52CFCC732C1CF /* User */, - 0861B2CBE73D480B52CB38E4 /* Menu */, - E2F689F9483EE54251F4559D /* UserCell */, + 9D6830C75811AAA169605D6C /* SBUMenuCell.xib */, + 23684E724DB1D70018582732 /* SBUMenuSheetViewController.swift */, + B8ED71C27EBC3D8C3FA2F018 /* SBUMenuCell.swift */, + 23E712DB351F37CA1A4F6899 /* SBUMenuView.swift */, + E45CC990891F00B2160BB0F5 /* SBUBottomSheetController.swift */, ); - name = Common; + name = Menu; sourceTree = ""; }; - 31D6236C92B346A54399CDE2 /* OpenChannel */ = { + 41C0A7D3365079406283FCB2 /* OpenChannel */ = { isa = PBXGroup; children = ( + 9544D92BDC500763BF68BB48 /* SBUOpenChannelFileMessageCell.swift */, + 838CDEB17568B8877027EEE9 /* SBUOpenChannelAdminMessageCell.swift */, + 4BCE9396B8ACF0777B74181E /* SBUOpenChannelContentBaseMessageCell.swift */, + 6C939F2C9568B3EBA1F650A1 /* SBUOpenChannelUserMessageCell.swift */, + 20C42E5B0C3A1DD286A42DB3 /* SBUOpenChannelUnknownMessageCell.swift */, + EA6B6CEB3A4B78C42CED0326 /* SBUOpenChannelBaseMessageCell.swift */, ); name = OpenChannel; sourceTree = ""; }; - 326AC782BF43E3E7F36BDE7E /* MessageCell */ = { + 42D5A5533599D85A27C78090 /* Life cycles */ = { isa = PBXGroup; children = ( - AE009C977237DDF3EAB36B64 /* MessageCellParams */, - DEC1F2324402F902B5D36A13 /* FileMessageContentView */, - 4086D645B7726AD001E47062 /* NotificationChannel */, - BC57EC93B96ADBF182D74323 /* Replies */, - 8A70A917ED02CF131604C2A9 /* OpenChannel */, + F438F09063E599E9FDA54E22 /* SBUTableViewCell.swift */, + 4B5E1B0F2B978441A74F6164 /* SBUCollectionViewCell.swift */, + 9D09C835E6EF058DC289ABF6 /* SBUQuoteMessageInputViewProtocol.swift */, + A4CA4D374FD7E62AAAFCBC6B /* SBUMessageCellProtocol.swift */, + 167184D6D0FECF6822DD4587 /* SBUViewLifeCycle.swift */, + 6E1393B713164B06E7EEBF93 /* SBUQuotedMessageViewProtocol.swift */, + 3EBEBA91CF2EF6001349DA4C /* SBUView.swift */, ); - name = MessageCell; + name = "Life cycles"; sourceTree = ""; }; - 3294BCB01D997026A08A92B8 /* UserList */ = { + 42E8CD27C94EDC3A43FC5E2E /* ViewParams */ = { isa = PBXGroup; children = ( + E11347B794B1A22EBA2A7B5A /* SBUQuotedBaseMessageViewParams.swift */, ); - name = UserList; + name = ViewParams; sourceTree = ""; }; - 331BB8E78EFF02DF3EEE2751 /* Chat */ = { + 4680563818122982064DE722 /* Protocol */ = { isa = PBXGroup; children = ( - 5D57AD7439EF92D0DF854B9F /* SBUChatNotificationChannelModule.swift */, - 88D6DD9ED801960EF18A8052 /* SBUChatNotificationChannelModule.List.swift */, - 59F9AC587CF5189E33D71E88 /* SBUChatNotificationChannelModule.Header.swift */, + 5962390A18B1E64AB7B2DFD1 /* CommonProtocols.swift */, ); - name = Chat; + name = Protocol; sourceTree = ""; }; - 3592038AD7A1BD690064E1E9 /* GroupChannel */ = { + 487892E3E485D29344D4A43A /* MessageThread */ = { isa = PBXGroup; children = ( + D4DF71767F40BF54C94A74E7 /* SBUMessageThreadViewModel.swift */, ); - name = GroupChannel; + name = MessageThread; sourceTree = ""; }; - 36DC5F4DB50464C36599F54F /* SelectUser */ = { + 491CFD3151F83180FAEAB694 /* NotificationChannel */ = { isa = PBXGroup; children = ( - 73DD1133454669C7D735AF5C /* RegisterOperator */, - 2783BB6EDDD0E11688FBBCC9 /* InviteUser */, - 6E4415DD6FA397530F70FDD0 /* CreateChannel */, + 5E1FB5490D5EF329AC15FDD5 /* SBUNotificationCell.swift */, + 8E0C0F30BEDDD6E77726EB97 /* SBUFeedNotificationCell.swift */, + 6F43B9C5D2B73C2EBDDAD6D6 /* SBUChatNotificationCell.swift */, ); - name = SelectUser; + name = NotificationChannel; sourceTree = ""; }; - 4086D645B7726AD001E47062 /* NotificationChannel */ = { + 4943042D824BC016BB0887E2 /* Manager */ = { isa = PBXGroup; children = ( + C5418553EB7D43F629275A0B /* SBUEmojiManager.swift */, + 3B25B98CFA6CC312F38927F6 /* CacheManager */, + 43247D3F761FBF0F3252461F /* SBUVoicePlayer.swift */, + 6798FA32FA6F643564E127E4 /* SBUNotificationChannelManager.swift */, + 630A684BCE48E6394E34E33D /* SBUPendingMessageManager.swift */, + F11B1942C3490B77FDFD4E63 /* SBUDownloadManager.swift */, + 0EDA855D6FB7FED54CBFDBFA /* SBUVoiceRecorder.swift */, + 7AB130B24FD0C7F8AF989E2D /* SBUPermissionManager.swift */, + AD44A2E4E60130914AC59A33 /* SBUToastManager.swift */, ); - name = NotificationChannel; + name = Manager; sourceTree = ""; }; - 417EEC654DF1FF22573E4C04 /* MessageCellParams */ = { + 4992616D2A9D89BE00B07828 /* MainViews */ = { isa = PBXGroup; children = ( - 095114FB20F5761FBC7A923F /* SBUBaseMessageCellParams.Deprecated.swift */, + 4992616E2A9D89BE00B07828 /* ConnectView.swift */, + 4992616F2A9D89BE00B07828 /* ConnectView.xib */, + 499261702A9D89BE00B07828 /* MainView.xib */, + 499261712A9D89BE00B07828 /* NibCustomView.swift */, + 499261722A9D89BE00B07828 /* MainView.swift */, + 499261782A9D8A4900B07828 /* MainItemView.swift */, + 499261792A9D8A4900B07828 /* MainItemView.xib */, ); - name = MessageCellParams; + path = MainViews; sourceTree = ""; }; - 42250A75CA2049E2922E48B5 /* ViewParams */ = { + 4C7D10C2E1BB9D6F342CCBDF /* Channel */ = { isa = PBXGroup; children = ( + 908E084EB962AF5F8521F19C /* GroupChannel */, + 2498C09833CC97AA1819062F /* NotificationChannel */, + 9A1C1F16DA1D7FE0512646E6 /* SBUBaseChannelModule.Input.swift */, + B25A9D899DD0E12BFCC804B3 /* SBUBaseChannelModule.swift */, + 302332041096678DB4995D06 /* SBUBaseChannelModule.Header.swift */, + E0D28AD21C561B81875B83F0 /* OpenChannel */, + E211B9C296952B94BE2182CA /* SBUBaseChannelModule.List.swift */, ); - name = ViewParams; + name = Channel; sourceTree = ""; }; - 42C99453C604573B800879C1 /* Replies */ = { + 4E23E4ECA94B6F1E9FE75E60 /* FileMessageContentView */ = { isa = PBXGroup; children = ( - 88714172585D3BDF3DCEE08A /* SBUQuotedBaseMessageViewParams.Deprecated.swift */, + 9884C7D444395953EB28E25D /* SBUBaseFileContentView.swift */, + DD1A8367863BF4D5B6208377 /* SBUOpenChannelCommonContentView.swift */, + 98029DBF094F79AAE26089AA /* SBUVoiceContentView.swift */, + 3A49DB51A418B99D79F934EA /* SBUImageContentView.swift */, + 6140F3C94EEA9D0286B685A5 /* SBUCommonContentView.swift */, + 94C6B40D95EC1618D12125A9 /* SBUOpenChannelImageContentView.swift */, ); - name = Replies; + name = FileMessageContentView; sourceTree = ""; }; - 47CBF447BCFDA4A47DC3DBEB /* MessageCellParams */ = { + 5184F90712AB99E8FA998C81 /* MessageThread */ = { isa = PBXGroup; children = ( - 490089EAC8AEBC593D2F1469 /* SBUUserMessageCellParams.swift */, - 80A3A8DE008DD62F3E58C1D2 /* SBUUnknownMessageCellParams.swift */, - 392454C500EB2D3A85D5B540 /* SBUFeedNotificationCellParams.swift */, - 29593EC9A44D9BD8EABFFD60 /* SBUAdminMessageCellParams.swift */, - 90FA070074290D0AC3F895C0 /* SBUBaseMessageCellParams.swift */, - DA87A2BAE388B629B78D03C3 /* SBUFileMessageCellParams.swift */, + 2F12B9785698DB3C43F1D1CF /* SBUMessageThreadViewController.swift */, + B230954727B7DD4D273D87C4 /* SBUMessageThreadTitleView.swift */, + 497C700E3F1C406320F89536 /* SBUParentMessageInfoView.swift */, ); - name = MessageCellParams; + name = MessageThread; sourceTree = ""; }; - 496B9486ACD92A1876881E38 /* Cell */ = { + 51C790FEFCE7D1B9A7D30F34 /* VoiceMessage */ = { isa = PBXGroup; children = ( - B7FA6971DE920695808873C8 /* SBUChannelPushSettingCell.swift */, + 4AE252FE07A7CFAD441BF81A /* SBUVoiceMessageConfiguration.swift */, ); - name = Cell; + name = VoiceMessage; sourceTree = ""; }; - 4992616D2A9D89BE00B07828 /* MainViews */ = { + 5C2407DF7B66D2B2FF36B66F /* MessageSearch */ = { isa = PBXGroup; children = ( - 4992616E2A9D89BE00B07828 /* ConnectView.swift */, - 4992616F2A9D89BE00B07828 /* ConnectView.xib */, - 499261702A9D89BE00B07828 /* MainView.xib */, - 499261712A9D89BE00B07828 /* NibCustomView.swift */, - 499261722A9D89BE00B07828 /* MainView.swift */, - 499261782A9D8A4900B07828 /* MainItemView.swift */, - 499261792A9D8A4900B07828 /* MainItemView.xib */, + 785042C06DC115F3597C8DD4 /* SBUMessageSearchViewController.swift */, + 3E30F72C153BD614DDF40B74 /* Cell */, ); - path = MainViews; + name = MessageSearch; sourceTree = ""; }; - 49AEF37A73A0E7220CF77DDB /* ChatSDK */ = { + 5C5734A5FEAAF1C50247A2F8 /* Replies */ = { isa = PBXGroup; children = ( - C366A9CFD849A21F73C98D33 /* BaseMessage+SBUIKit.swift */, + 23CCFD9D18CB798AC4AEF2C9 /* SBUQuotedBaseMessageViewParams.Deprecated.swift */, ); - name = ChatSDK; + name = Replies; sourceTree = ""; }; - 4A3183B201756D2B071427CF /* ChannelSettings */ = { + 5CB4961BAD864BE50F68056D /* NewMessageInfo */ = { isa = PBXGroup; children = ( - 607DB3C3E0E69E7F326A1FCC /* SBUBaseChannelSettingsViewController.swift */, - 99EF1345B00A366E92E96EA2 /* SBUOpenChannelSettingsViewController.swift */, - 14328226FC81A7F9E249DFBF /* Cell */, - 1844008E416DF34A1E92C263 /* View */, - E2610AF6E4372650F36B486F /* SBUGroupChannelSettingsViewController.swift */, + C63B32394749FD5356E68A95 /* SBUNewNotificationInfo.swift */, + 8BB74A6EBDA6CD6269EE455D /* SBUNewMessageInfo.swift */, ); - name = ChannelSettings; + name = NewMessageInfo; sourceTree = ""; }; - 4FFFA700CD6FA7FE1352A09C /* CacheManager */ = { + 5DA14CA71646684AB63428C9 /* View */ = { isa = PBXGroup; children = ( - 2B746ED4816252A5B46ED1A5 /* SBUCacheManager.Config.swift */, - 78BC2FBF3CCA4A99FE9CDABF /* SBUCacheManager.Version.swift */, - 0BA350E5D0D2B11A44542BD7 /* SBUCacheManager.File.swift */, - 28FFA8B59C2016527AF13B52 /* SBUCacheManager.Template.swift */, - 1C2602CCB8DD010DB992D487 /* SBUCacheManager.Image.swift */, - C1D357FE4A972C04F515A56C /* SBUCacheManager.swift */, - 7327B1A7A67145F4DB95D771 /* SBUCacheManager.NotificationSetting.swift */, + A70B88064CE5A0E5EC0256D1 /* SBUBaseViewController.swift */, + 209A6D4C2951CBD5F3A2E017 /* ChannelList */, + 00F953DA9904FD5397D58A68 /* NotificationSettings */, + B69C8DE762E7A9D7D507550B /* Channel */, + 96AD85F783711815FA9893DE /* ChannelSettings */, + A10B4894A44D0021EE006DD2 /* VoiceNote */, + 92D7D03BF1D2291506C14228 /* Common */, + 2C5C73690D8C7E326BEB82F7 /* UserList */, + 8E312A2EFD50BDA46D8A0376 /* SBUViewControllerSet.swift */, + 5C2407DF7B66D2B2FF36B66F /* MessageSearch */, + 42D5A5533599D85A27C78090 /* Life cycles */, + 5184F90712AB99E8FA998C81 /* MessageThread */, + 36A40777B805A4E878ED5ACD /* Moderations */, + B0AEB3CBBB40E9185306B873 /* SelectUser */, ); - name = CacheManager; + name = View; sourceTree = ""; }; - 524994E8FBA7763C2254ACDA /* NotificationChannel */ = { + 6022205A99612A878E82443E /* Reaction */ = { isa = PBXGroup; children = ( - 331BB8E78EFF02DF3EEE2751 /* Chat */, - FE259F44A6CE203D0B0B1FC7 /* Feed */, + E21C9A234CA2E092A3D4272D /* SBUParentMessageInfoReactionView.swift */, + 47B90A74B0D971A3E842E238 /* SBUReactionCollectionViewCell.swift */, + 38D7A4F8998A757BC8063470 /* SBUReactionsViewController.swift */, + BA5F1D7A198592A872E2D1DB /* SBUMessageReactionView.swift */, + D4F6E13D949C571B4222DB17 /* SBUReactionCollectionViewCell.xib */, + 6CD2BB37D1C6085B2F474B52 /* SBUEmojiListViewController.swift */, ); - name = NotificationChannel; + name = Reaction; sourceTree = ""; }; - 5690DF86768E529CF331BFF6 /* Channel */ = { + 63609745E65E0B52AF1CE23E /* CreateChannel */ = { isa = PBXGroup; children = ( - 507305D048940CE73C33DA7F /* SBUFeedNotificationChannelViewModel.swift */, - 4194CDBF7BDC775814846626 /* SBUOpenChannelViewModel.swift */, - E8E75B5D06FDD554537C037A /* SBUBaseChannelViewModel.swift */, - DA6BF15E9FF7A38F3D6123DF /* SBUChatNotificationChannelViewModel.swift */, - C3982EE5051119470F82678E /* SBUGroupChannelViewModel.swift */, + 0312DE5EC31E330F2F07304E /* SBUCreateOpenChannelModule.ProfileInput.swift */, + D2AAE9D1164CF2BDB0ED51DA /* SBUCreateChannelModule.swift */, + BC20024775E11F6B6BF373D1 /* SBUCreateOpenChannelModule.swift */, + F5B76C59F8FB3334F06FDED9 /* SBUCreateOpenChannelModule.Header.swift */, + EF49797343993C422BAA4F9C /* SBUCreateChannelModule.Header.swift */, + 122E3873A1131B5E4DBFA6F5 /* SBUCreateChannelModule.List.swift */, ); - name = Channel; + name = CreateChannel; sourceTree = ""; }; - 58F5FE2B3BB6A47B75841CA2 /* CreateChannel */ = { + 6389C48680F507459E5DD66D /* ViewParams */ = { isa = PBXGroup; children = ( - 3BDE4617E24BA79C0402C150 /* SBUCreateChannelViewController.Deprecated.swift */, + 7893E185E5792AB652DB14CA /* SBUQuoteMessageInputViewParams.swift */, ); - name = CreateChannel; + name = ViewParams; sourceTree = ""; }; - 59A88C477045F57B85B32F46 /* Cell */ = { + 6C71D02AD8B00965725BC47B /* GroupChannel */ = { isa = PBXGroup; children = ( + 1136CB46621517EC35538E47 /* SBUGroupChannelListModule.List.swift */, + D03357BD85FA6DD8C39669BB /* SBUGroupChannelListModule.swift */, + 605FB2BE67201AA9C4950ED3 /* SBUGroupChannelListModule.Header.swift */, ); - name = Cell; + name = GroupChannel; sourceTree = ""; }; - 59BD7B9F9BA6578F263874E2 /* Cell */ = { + 7A3AB49BEAF7ED9805041C0A /* FileViewer */ = { isa = PBXGroup; children = ( + FBBE9D5EF8F8BC7B4815603B /* SBUFileViewController.swift */, ); - name = Cell; + name = FileViewer; sourceTree = ""; }; - 59BEFF61B2F0BEA153D456B4 /* ViewParams */ = { + 7A83D521FEB2D9880BEF6AD4 /* View */ = { isa = PBXGroup; children = ( - 4662F772B446C95169778C32 /* SBUQuoteMessageInputViewParams.swift */, + 0913D898B9AFD2A1F32F7DB3 /* SBUChannelSettingsChannelInfoView.swift */, ); - name = ViewParams; + name = View; sourceTree = ""; }; - 5AB048CB8FB7B9B73674AD4F /* CreateChannel */ = { + 86491AF14F2B4116B7F4A920 /* CreateChannel */ = { isa = PBXGroup; children = ( + 2CEF2686EDB9589481157DA8 /* SBUCreateChannelViewModel.swift */, + 7B5B895420A77164C4C6BFDC /* SBUCreateOpenChannelViewModel.swift */, ); name = CreateChannel; sourceTree = ""; }; - 5F229CE808EC6719C9096CCD /* MessageThread */ = { + 87995B2D7FDD91883C0F2208 /* SelectUser */ = { isa = PBXGroup; children = ( - 2335722CCE089DDD7D9C47DB /* SBUMessageThreadViewController.swift */, - B67E52A10E3C26B82A00A79A /* SBUMessageThreadTitleView.swift */, - 0C1B003D9C91546A8F1EDFA1 /* SBUParentMessageInfoView.swift */, + 334BCFD4D1932E6050D20183 /* SBUBaseSelectUserViewModel.swift */, + ED5322A5E79D6AAEC76DE898 /* SBURegisterOperatorViewModel.swift */, + 86491AF14F2B4116B7F4A920 /* CreateChannel */, + C98AEC8B9629D4D4232876D6 /* SBUInviteUserViewModel.swift */, ); - name = MessageThread; + name = SelectUser; sourceTree = ""; }; - 6150D95F3E4C90F277168822 /* Moderations */ = { + 894624F254DB6923AEF7FEB6 /* Moderations */ = { isa = PBXGroup; children = ( + AC8C5EE9FA1EB81C7760CEE9 /* SBUModerationsViewModel.Deprecated.swift */, + 526D54493836E3FA47483E52 /* SBUModerationsViewController.Deprecated.swift */, ); name = Moderations; sourceTree = ""; }; - 629771B8FB970CA4D7C588B5 /* Chat */ = { + 9011F2614321CA4D52239138 /* MemberList */ = { isa = PBXGroup; children = ( + 87D4C879F4038496C99F1EA5 /* SBUMemberListViewController.Deprecated.swift */, ); - name = Chat; + name = MemberList; sourceTree = ""; }; - 64706E9970348A1A4D98AF65 /* MessageCell */ = { + 908E084EB962AF5F8521F19C /* GroupChannel */ = { isa = PBXGroup; children = ( + 663FF1267F99388104C979B5 /* SBUGroupChannelModule.Input.swift */, + 448BEED6AF1AF03FD17D6433 /* SBUGroupChannelModule.List.swift */, + DA778227BAD77593557901EF /* SBUGroupChannelModule.Header.swift */, + 69CD9A3BF5D8725ACC9EF37D /* SBUGroupChannelModule.swift */, ); - name = MessageCell; + name = GroupChannel; sourceTree = ""; }; - 6563000CE81D220C73D7D23A /* GroupChannel */ = { - isa = PBXGroup; - children = ( - CA052EA7243194AD37350F8B /* SBUGroupChannelListModule.List.swift */, - F47A265ECE8230C37756427D /* SBUGroupChannelListModule.swift */, - 2E265BF7EE7C154FB6C1109D /* SBUGroupChannelListModule.Header.swift */, + 92D7D03BF1D2291506C14228 /* Common */ = { + isa = PBXGroup; + children = ( + 85E79C41E363E3157E648034 /* SBUStackView.swift */, + C4C2E4271058A6B718BE1952 /* SBUAnimation.swift */, + E9057DDF20166EEC6D473003 /* SBUEmptyView.swift */, + F00CEF513BA6D04C70ACA68A /* SBUCoverImageView.swift */, + 0E485EA2D1385FD444646C12 /* PhotoLibrary */, + E49C1D1FB5A8A1E5272DC524 /* SBUPaddingLabel.swift */, + 286678CACC913BDDF970053A /* SBUCommonItem.swift */, + AA96E11AED2F69236E7CF30D /* SBULayoutableButton.swift */, + EC0DBC70594DE83A4F07133F /* User */, + E233F3F5794416D9D8C6EDC2 /* SBUNavigationTitleView.swift */, + AA95606FA1C69E5D483FB41F /* SBUNotificationNavigationTitleView.swift */, + 0475F2B97093569F3B60E9AF /* SBUBarButtonItem.swift */, + 814619053847EF0C37A37EC2 /* SBUActionSheet.swift */, + CFDF0163F2B5805B3A8D0840 /* SBUNotificationEmptyView.swift */, + FBD350C55E39A7B799BCF0AC /* SBUAlertView.swift */, + 40D92E70B8EF041D2F2369F8 /* Menu */, + E9CCFB8BD6D6F2B9467492AC /* SBUUnderLineTextField.swift */, + 1938F1049F39B116BDE95B75 /* UserCell */, + D92A8ABEDD7976632D47CB4A /* SBUTemplateLabel.swift */, + FF6317D98A5523B169AE3D86 /* SBUMarginView.swift */, + F52383D20F2BE9CC632FB244 /* SBUCommonViewControllerSet.swift */, + 769A710E18DF9B200A8C45C7 /* SBULoading.swift */, + AF14E66A310A87E37435A389 /* SBUCollectionViewFlowLayout.swift */, ); - name = GroupChannel; + name = Common; sourceTree = ""; }; - 6614217FFC9EC572A6D35812 /* Mention */ = { + 94AA7A4F1612B41D847964E1 /* Channel */ = { isa = PBXGroup; children = ( + AE5030A6C54C7F392F13672B /* MessageCell */, + 9B75DDC4498D2623FAD0C5FA /* SBUBaseChannelViewController.Deprecated.swift */, + F0A6A6002CA898817BA3D422 /* SBUGroupChannelViewController.Unavailable.swift */, + DA27B0D996B904E549C03FC3 /* SBUOpenChannelViewController.Deprecated.swift */, + 9C555B2517561FF74E907836 /* SBUOpenChannelViewController.Unavailable.swift */, + E3A1B1E42E8E4FFD73BBB4EF /* SBUGroupChannelViewController.Deprecated.swift */, + 9FC1D15359A336621BD6ACAD /* SBUBaseChannelViewController.Unavailable.swift */, ); - name = Mention; + name = Channel; sourceTree = ""; }; - 6636E2BBC14ED4D02B76CF05 /* Channel */ = { + 95FA6E0CE99D48D2FA336558 /* Replies */ = { isa = PBXGroup; children = ( - E5C44F0DF32EA6891B8D0EDC /* MessageCell */, - C37D854728BA662B959D7627 /* SBUBaseChannelViewController.Deprecated.swift */, - 8408E9F2F7E847EB7913A598 /* SBUGroupChannelViewController.Unavailable.swift */, - FE0BF25095841A8A217311E2 /* SBUOpenChannelViewController.Deprecated.swift */, - 4537D1E66FF743B2E8F90E2F /* SBUOpenChannelViewController.Unavailable.swift */, - 7230B430FA270B0A908720F5 /* SBUGroupChannelViewController.Deprecated.swift */, - 3AD737D472AEB1BA1D084446 /* SBUBaseChannelViewController.Unavailable.swift */, + F0756D867375E03D2A5C3AB3 /* SBUReplyConfiguration.swift */, ); - name = Channel; + name = Replies; sourceTree = ""; }; - 67B31918D4C4C626B066B248 /* Model */ = { + 96AD85F783711815FA9893DE /* ChannelSettings */ = { isa = PBXGroup; children = ( - D2162CEE7B2E1446ABD07AEA /* SBUMention.swift */, - F2C4924D75379BB19527C905 /* SBUMessageCache.swift */, - 63ED80A9E207ADF7C3DC57D2 /* SBUUser.swift */, - 71DBF1E6CE1B3D24993B918C /* SBUVoiceFileInfo.swift */, - 9D1663DA71CB2D2147CE52B3 /* SBUHighlightMessageInfo.swift */, + 85FB7D001BBF3F7C212F8A42 /* SBUBaseChannelSettingsViewController.swift */, + 58561CDFA47CA0153A191EE1 /* SBUOpenChannelSettingsViewController.swift */, + FE24E77B1489D2B7A05CA628 /* Cell */, + 7A83D521FEB2D9880BEF6AD4 /* View */, + E27E44020A9EF8E6B058FBC4 /* SBUGroupChannelSettingsViewController.swift */, ); - name = Model; + name = ChannelSettings; sourceTree = ""; }; - 6B200A053C4CE333744927F0 /* MessageInput */ = { + 96CF21D773272596792FF8C5 /* CreateChannel */ = { isa = PBXGroup; children = ( - 6F32FF19723F2FF0816F5FFD /* SBUMentionLimitGuideCell.swift */, - 7E2412D9BFE1BBE5814267D5 /* SBUSuggestedMentionList.swift */, - 563F30D4CBF0380CAF07C8CD /* SBUQuoteMessageInputView.swift */, - 441822C80A6F374CE841E3DF /* SBUMessageInputMode.swift */, - 59BEFF61B2F0BEA153D456B4 /* ViewParams */, - 1BA0C87012DA2577E784CC5A /* SBUMessageInputView.swift */, + CEA622A346F661AF1B9B3470 /* View */, + 4798F0541671B6B00056443E /* SBUCreateChannelViewController.swift */, + 07EC9445DB307849770D05C7 /* SBUCreateOpenChannelViewController.swift */, ); - name = MessageInput; + name = CreateChannel; sourceTree = ""; }; - 6CBCE30F41B5695790B0E327 /* Channel */ = { + 9845E47F6D3DC5DE3AD95A05 /* Channel */ = { isa = PBXGroup; children = ( - E60D1A4775AA578FBD87DADE /* ViewModel */, - 1E38C1FEE73826969E8CC8D5 /* Reaction */, - 326AC782BF43E3E7F36BDE7E /* MessageCell */, - AAE7F9C9F3B25356E9E7C26A /* MessageInput */, - D49D52C8610F8BD053E81A8E /* CategoryFilterCell */, - C24C3148FB1492A128E4D49A /* CellView */, - E27FD5F53C0E55E6DA8FBC3C /* FileViewer */, - 0AD0BF35EF96EE1283F1052C /* NewMessageInfo */, - 8B9009F4BD2E2A5300981657 /* Header */, + 9ECA8AD16FDB3C40764491FF /* SBUFeedNotificationChannelViewModel.swift */, + F9FAD7D127F4F5ED1BA49D5B /* SBUOpenChannelViewModel.swift */, + 8071A5F7B6A94055336081B6 /* SBUBaseChannelViewModel.swift */, + A27A9549FDA4F8BD1BD278AB /* SBUChatNotificationChannelViewModel.swift */, + B8CACC7BE15E35FC4BF0F8E9 /* SBUGroupChannelViewModel.swift */, ); name = Channel; sourceTree = ""; }; - 6E4415DD6FA397530F70FDD0 /* CreateChannel */ = { + 9B822357C3090967721E4762 /* MessageThread */ = { isa = PBXGroup; children = ( + 00176C602B58AEBEF353D038 /* SBUMessageThreadModule.List.swift */, + 1FDBDD578E2F7FA0A5E1B54A /* SBUMessageThreadModule.swift */, + 15414E13F4031FA78B2F1B8C /* SBUMessageThreadModule.Input.swift */, + 97D4DF0B2353AEE902AC70F1 /* SBUMessageThreadModule.Header.swift */, ); - name = CreateChannel; + name = MessageThread; sourceTree = ""; }; - 6E9732C5E650F43BD22B5ADB /* MessageCellParams */ = { + 9C037DD3280432DB00059696 /* QuickStart */ = { isa = PBXGroup; children = ( + 9C037DD4280432DB00059696 /* ViewController.swift */, + 9C037DD5280432DB00059696 /* QuickStart.entitlements */, + 9C037DD6280432DB00059696 /* Extension */, + 9C037DDD280432DB00059696 /* Assets.xcassets */, + 9C037DDE280432DB00059696 /* LaunchScreen.storyboard */, + 9C037DE0280432DB00059696 /* Main.storyboard */, + 9C037DE2280432DB00059696 /* AppDelegate.swift */, + 4992616D2A9D89BE00B07828 /* MainViews */, + A93AE84E2A383CAA00AFFF9C /* Customize */, + 9C037DE4280432DB00059696 /* Base */, ); - name = MessageCellParams; + path = QuickStart; sourceTree = ""; }; - 6EF73D707F5A0ACA6FAFD309 /* Manager */ = { + 9C037DD6280432DB00059696 /* Extension */ = { isa = PBXGroup; children = ( - A5ED9E7DAE14BD9C70CC1895 /* SBUEmojiManager.swift */, - 4FFFA700CD6FA7FE1352A09C /* CacheManager */, - 816B5DE59553F3A316B93D84 /* SBUVoicePlayer.swift */, - FB3CA5D40416453EA79690E0 /* SBUNotificationChannelManager.swift */, - 445E8D51191374881B3B0D8F /* SBUPendingMessageManager.swift */, - AA44F40715104AB63E8F4591 /* SBUDownloadManager.swift */, - BAEB3D4C64DA718433CA5472 /* SBUVoiceRecorder.swift */, - 1FE58118E1B5B6919864A1EE /* SBUPermissionManager.swift */, - D80C3E87A0B1C138BA3AB9D7 /* SBUToastManager.swift */, + 9C037DD7280432DB00059696 /* UILabel+Ext.swift */, + 9C037DD8280432DB00059696 /* UIImageView+Ext.swift */, + 9C037DD9280432DB00059696 /* UIcolor+Ext.swift */, + 9C037DDA280432DB00059696 /* OpenChannel+Ext.swift */, + 9C037DDB280432DB00059696 /* UserDefaults+Ext.swift */, + 9C037DDC280432DB00059696 /* UIView+Ext.swift */, ); - name = Manager; + path = Extension; sourceTree = ""; }; - 72F9F80F5D3A5EAD6E07E292 /* CellView */ = { + 9C037DE4280432DB00059696 /* Base */ = { isa = PBXGroup; children = ( - DD3C1343B686BFC876DE8264 /* SBUMessageStateView.swift */, - 188126982EA50577B581C864 /* SBUMessageProfileView.swift */, - 5E6A09ADBC467DDDEEF66173 /* SBUUserMessageTextView.swift */, - 49112AC15EAD725D525F1230 /* SBUUserNameView.swift */, - C7845D27A8A5819F561635E1 /* SBUMessageWebView.swift */, - 5B6FAE483FB72456547C94A8 /* SBUMessageDateView.swift */, - 46E6016A79DA811F2A40D515 /* SBULinkClickableTextView.swift */, - CD9B119FF8D3C56B99E1FDB3 /* SBUOpenChannelMessageWebView.swift */, - 29E49CBE2179BB59938D3675 /* SBUSelectableStackView.swift */, - 9677EEA5ABE0AA57B135AC00 /* SBUNotificationTimelineView.swift */, + 9C037DE5280432DB00059696 /* GroupChannel */, + 9C037DED280432DB00059696 /* OpenChannel */, ); - name = CellView; + path = Base; sourceTree = ""; }; - 738097A9F05F5D7ADCF9006B /* ChannelSettings */ = { + 9C037DE5280432DB00059696 /* GroupChannel */ = { isa = PBXGroup; children = ( + 9C037DE6280432DB00059696 /* MainChannelTabbarController.swift */, + 9C037DE7280432DB00059696 /* MySettings */, + 9C037DEB280432DB00059696 /* Channels */, ); - name = ChannelSettings; + path = GroupChannel; sourceTree = ""; }; - 73DD1133454669C7D735AF5C /* RegisterOperator */ = { + 9C037DE7280432DB00059696 /* MySettings */ = { isa = PBXGroup; children = ( + 9C037DE8280432DB00059696 /* UserInfoTitleView.swift */, + 9C037DE9280432DB00059696 /* MySettingsCell.swift */, + 9C037DEA280432DB00059696 /* MySettingsViewController.swift */, ); - name = RegisterOperator; + path = MySettings; sourceTree = ""; }; - 7587A5D61CE1BB26F30259EE /* UserList */ = { + 9C037DEB280432DB00059696 /* Channels */ = { isa = PBXGroup; children = ( + 9C037DEC280432DB00059696 /* ChannelListViewController.swift */, ); - name = UserList; + path = Channels; sourceTree = ""; }; - 76DD4C650910C9E05B530A80 /* Cell */ = { + 9C037DED280432DB00059696 /* OpenChannel */ = { isa = PBXGroup; children = ( + 9C037DEE280432DB00059696 /* MainOpenChannelTabbarController.swift */, + 9C037DEF280432DB00059696 /* MySettings */, + 9C037DF1280432DB00059696 /* Channels */, ); - name = Cell; + path = OpenChannel; sourceTree = ""; }; - 78957E28EF3B5BDD51FCB922 /* Menu */ = { + 9C037DEF280432DB00059696 /* MySettings */ = { isa = PBXGroup; children = ( - 437D9356B629D4165BBAC7A9 /* SBUMenuCell.xib */, - 5EBB45C861BC6E78C91BFEA8 /* SBUMenuSheetViewController.swift */, - 14AD8F1C91FC677028DC62D6 /* SBUMenuCell.swift */, - 508803FC0D11DA2CA63F1C15 /* SBUMenuView.swift */, - 6A7C40C1B5781760EAD0967A /* SBUBottomSheetController.swift */, + 9C037DF0280432DB00059696 /* MyOpenChannelSettingsViewController.swift */, ); - name = Menu; + path = MySettings; sourceTree = ""; }; - 78A4EDF31FFED093E6F24201 /* UserCell */ = { + 9C037DF1280432DB00059696 /* Channels */ = { isa = PBXGroup; children = ( - 7DEB64DF7C933C1D2CDD479B /* SBUUserCell.swift */, + 9C037DF2280432DB00059696 /* LiveStream */, + 9C037DF7280432DB00059696 /* Community */, ); - name = UserCell; + path = Channels; sourceTree = ""; }; - 7AA43DF4DFE25B07A96659EB /* MessageView */ = { + 9C037DF2280432DB00059696 /* LiveStream */ = { isa = PBXGroup; children = ( + 9C037DF3280432DB00059696 /* LiveStreamData.swift */, + A968B36528C86AE100271C60 /* ChannelList */, + A968B36828C86B2700271C60 /* Channel */, ); - name = MessageView; + path = LiveStream; sourceTree = ""; }; - 7B4DFF54455AE2B170563FC6 /* Resource */ = { + 9C037DF7280432DB00059696 /* Community */ = { isa = PBXGroup; children = ( - C833B9D8C1AC36EA5C5859C1 /* Assets.xcassets */, + A968B36628C86AFA00271C60 /* ChannelList */, + A968B36728C86B0000271C60 /* CreateChannel */, ); - name = Resource; + path = Community; sourceTree = ""; }; - 7DB50A44E773B46AEDE77242 /* Replies */ = { + 9C3EBE2128091D2A00B5366B /* NotificationService */ = { isa = PBXGroup; children = ( - ABA1E5CEE9665CD9F3866573 /* SBUReplyConfiguration.swift */, + 9C3EBE2C28091D4200B5366B /* NotificationService.entitlements */, + 9C3EBE2228091D2A00B5366B /* NotificationService.swift */, + 9C3EBE2428091D2A00B5366B /* Info.plist */, ); - name = Replies; + path = NotificationService; sourceTree = ""; }; - 7E5E33EF9077A7EFC8D01C42 /* ChannelList */ = { + 9C70A2461E25A63D6E7BB863 /* MessageCell */ = { isa = PBXGroup; children = ( + 41991BF86EE173759485BBA3 /* SBUMessageCellConfiguration.swift */, ); - name = ChannelList; + name = MessageCell; sourceTree = ""; }; - 8048FB90A3A94DB2C8A5A908 /* Theme */ = { + 9C777D4E241B9022006FFE25 = { isa = PBXGroup; children = ( - 02918420CF6F3BC7D604AB71 /* SBUIconSet.swift */, - 97102E9B2731215E96EE8A54 /* SBUColorSet.swift */, - 582183947EB0E2D98FCDBBA9 /* SBUTheme+Type.swift */, - 56DA60A4302B8F511722271A /* SBUFontSet.swift */, - 8543F709B0342511683EBFDD /* SBUTheme.swift */, + 9C037DD3280432DB00059696 /* QuickStart */, + 9C3EBE2128091D2A00B5366B /* NotificationService */, + 9C777D58241B9022006FFE25 /* Products */, + A3BC29C7BEE55436EBCAD26A /* Frameworks */, + E71FBDECFEF622974D7F0940 /* Sources */, ); - name = Theme; sourceTree = ""; }; - 8768C9F383DDDE71D6788ED3 /* MessageSearch */ = { + 9C777D58241B9022006FFE25 /* Products */ = { isa = PBXGroup; children = ( + 9C777D57241B9022006FFE25 /* QuickStart.app */, + 9C3EBE2028091D2A00B5366B /* NotificationService.appex */, ); - name = MessageSearch; + name = Products; sourceTree = ""; }; - 8790BF6AFC139E061BB58677 /* MemberList */ = { + 9C9ED7B72AD9A3C10096F2DF /* ChannelList */ = { isa = PBXGroup; children = ( ); - name = MemberList; + path = ChannelList; sourceTree = ""; }; - 8957F7EF136A594F5584C4B9 /* NotificationSettings */ = { + 9C9ED7BB2AD9A3C10096F2DF /* NotificationSettings */ = { isa = PBXGroup; children = ( - 76DD4C650910C9E05B530A80 /* Cell */, ); - name = NotificationSettings; + path = NotificationSettings; sourceTree = ""; }; - 8A70A917ED02CF131604C2A9 /* OpenChannel */ = { + 9C9ED7BD2AD9A3C10096F2DF /* Channel */ = { isa = PBXGroup; children = ( ); - name = OpenChannel; + path = Channel; sourceTree = ""; }; - 8B6A02662FCCF26AD7F89F94 /* Channel */ = { + 9C9ED7C32AD9A3C10096F2DF /* ChannelSettings */ = { isa = PBXGroup; children = ( ); - name = Channel; + path = ChannelSettings; sourceTree = ""; }; - 8B9009F4BD2E2A5300981657 /* Header */ = { + 9C9ED7C82AD9A3C10096F2DF /* Common */ = { isa = PBXGroup; children = ( ); - name = Header; + path = Common; sourceTree = ""; }; - 8BC8D4DFCC1ADF4EEEFBE88C /* Life cycles */ = { + 9C9ED7CA2AD9A3C10096F2DF /* UserList */ = { isa = PBXGroup; children = ( - 5EEB6A0D30457C08AE9E04DF /* SBUTableViewCell.swift */, - 208AE575ADF5808FC54CABB2 /* SBUQuoteMessageInputViewProtocol.swift */, - 893A8E03E551E5C616D80E4A /* SBUMessageCellProtocol.swift */, - B9F1A668D1112175CCA3FF6D /* SBUViewLifeCycle.swift */, - 8269A4E5EB2D3897F9A0E7BD /* SBUQuotedMessageViewProtocol.swift */, - D997DA7BD9EEE0E0D7247E7A /* SBUView.swift */, ); - name = "Life cycles"; + path = UserList; sourceTree = ""; }; - 8C6AA0DC1BBD2CB35C54AEB4 /* ChannelSettingItem */ = { + 9C9ED7CC2AD9A3C10096F2DF /* MessageSearch */ = { isa = PBXGroup; children = ( ); - name = ChannelSettingItem; + path = MessageSearch; sourceTree = ""; }; - 8DC6668776C62E6A2FB688DD /* OpenChannel */ = { + 9C9ED7CE2AD9A3C10096F2DF /* MessageThread */ = { isa = PBXGroup; children = ( - FA659518F52632C707A7BACC /* SBUOpenChannelModule.List.swift */, - F0E60BD1DEC0210E89A7CE0A /* SBUOpenChannelModule.Media.swift */, - AEB3047BA987C0C09A51F09A /* SBUOpenChannelModule.Input.swift */, - 4D308B092AB76D0FA32B7CDD /* SBUOpenChannelModule.Header.swift */, - B4EEFEF9E09AB3338A6FC103 /* SBUOpenChannelModule.swift */, ); - name = OpenChannel; + path = MessageThread; sourceTree = ""; }; - 8E39FA4A59237E034471E356 /* Enums */ = { + 9C9ED7D02AD9A3C10096F2DF /* Moderations */ = { isa = PBXGroup; children = ( - 8EE1E71E03C0667497BDBF57 /* VoiceMessageStatus.swift */, - 2006C6BBADCB90B6B6AB3179 /* SBUIconSetType.swift */, - 758C9DDD6BCAB2A6B26B713C /* SBUEnums.swift */, ); - name = Enums; + path = Moderations; sourceTree = ""; }; - 8FA366836C9821F4AB7F8B6D /* CreateChannel */ = { + 9C9ED7D12AD9A3C10096F2DF /* SelectUser */ = { isa = PBXGroup; children = ( - B935806BD77EF3DB7056B99C /* View */, + 9C9ED7D42AD9A3C10096F2DF /* CreateChannel */, ); - name = CreateChannel; + path = SelectUser; sourceTree = ""; }; - 8FAA5249CE89F8AD34B4C4C3 /* CreateChannel */ = { + 9C9ED7D42AD9A3C10096F2DF /* CreateChannel */ = { isa = PBXGroup; children = ( - 3BA182AFC944780992BD718F /* SBUCreateOpenChannelModule.ProfileInput.swift */, - 7143EB69F12693845BC01588 /* SBUCreateChannelModule.swift */, - 07CC14B0F5E1F5699623B657 /* SBUCreateOpenChannelModule.swift */, - 90860729D1AF1AA3A3609AA2 /* SBUCreateOpenChannelModule.Header.swift */, - 8EA27E37EE4CD3B8C1196A1F /* SBUCreateChannelModule.Header.swift */, - 44D2603F7A27EDC03D640F40 /* SBUCreateChannelModule.List.swift */, ); - name = CreateChannel; + path = CreateChannel; sourceTree = ""; }; - 92573E15E9C046095C062A3D /* Configurations */ = { + 9C9ED7D92AD9A3C10096F2DF /* MessageCell */ = { isa = PBXGroup; children = ( - D574FE72290E6EC583B99D66 /* Debug.xcconfig */, - B919890F72713C0B89C24105 /* Release.xcconfig */, - 2A30F5261267CB356D24F78C /* Base.xcconfig */, ); - name = Configurations; + path = MessageCell; sourceTree = ""; }; - 95277A8064CD303B2039EACE /* GroupChannel */ = { + 9C9ED7DB2AD9A3C10096F2DF /* Replies */ = { isa = PBXGroup; children = ( ); - name = GroupChannel; + path = Replies; sourceTree = ""; }; - 9592ACE95DF74D6A83E821FB /* Sources */ = { - isa = PBXGroup; - children = ( - 92573E15E9C046095C062A3D /* Configurations */, - D7E027283938BBE1F8F8357E /* ViewModel */, - F2B291B982E4440FC295358C /* Configuration */, - 2FCA3E2445426355EE4480FA /* Extension */, - C5C07F7EA51191D63B0371CF /* Util */, - 46EE6760111F41D813A6CBE7 /* SendbirdUI.swift */, - BFC323CFD96CF3BA59127DC0 /* SBUAvailable.swift */, - E8A62DF235B296E5F8E5FE96 /* Module */, - 8E39FA4A59237E034471E356 /* Enums */, - D7A3274CC2EA35A9F14837AD /* CustomSyntaxTest */, - 2F8FA4600955D82C118BFC59 /* Protocol */, - 6EF73D707F5A0ACA6FAFD309 /* Manager */, - 01EEAC477CD1B990CFED6DDC /* SBUGlobalCustomParams.swift */, - 0F79E57700059F4FF2143D9F /* Constant */, - 8048FB90A3A94DB2C8A5A908 /* Theme */, - 67B31918D4C4C626B066B248 /* Model */, - FA8629337F3FF2F99EFFE944 /* View */, - A8D8EC0710CA86BE2391E665 /* SendbirdUIKit.h */, - 79EA4C52DD7B421C8161235E /* SBUGlobals.swift */, - 7B4DFF54455AE2B170563FC6 /* Resource */, - FD700E0B972177D0C0B74A88 /* Deprecated */, + 9C9ED7E02AD9A3C10096F2DF /* VoiceMessage */ = { + isa = PBXGroup; + children = ( ); - name = Sources; + path = VoiceMessage; sourceTree = ""; }; - 96EE3B41D08D7FA32A85D50F /* ChannelList */ = { + 9C9ED7E42AD9A3C10096F2DF /* Mention */ = { isa = PBXGroup; children = ( - 654D2A78226789EF2B51ED5B /* SBUBaseChannelListModule.swift */, - 6563000CE81D220C73D7D23A /* GroupChannel */, - 1C35F322447BAC191DB159BC /* SBUBaseChannelListModule.Header.swift */, - 4FB51413E4A65324175791F4 /* SBUBaseChannelListModule.List.swift */, - F938FAB578B17353FF33FA53 /* OpenChannel */, ); - name = ChannelList; + path = Mention; sourceTree = ""; }; - 9701B31F0C4CD889DD594561 /* ChannelSettings */ = { + 9C9ED7F42AD9A3C10096F2DF /* ChatSDK */ = { isa = PBXGroup; children = ( ); - name = ChannelSettings; + path = ChatSDK; sourceTree = ""; }; - 97842252D27E37CCB727D44D /* Life cycles */ = { + 9C9ED80C2AD9A3C10096F2DF /* ChannelList */ = { isa = PBXGroup; children = ( + 9C9ED80E2AD9A3C10096F2DF /* GroupChannel */, + 9C9ED8142AD9A3C10096F2DF /* OpenChannel */, ); - name = "Life cycles"; + path = ChannelList; sourceTree = ""; }; - 9AA1E253E969DBA49DB9962F /* Replies */ = { + 9C9ED80E2AD9A3C10096F2DF /* GroupChannel */ = { isa = PBXGroup; children = ( ); - name = Replies; + path = GroupChannel; sourceTree = ""; }; - 9C037DD3280432DB00059696 /* QuickStart */ = { + 9C9ED8142AD9A3C10096F2DF /* OpenChannel */ = { isa = PBXGroup; children = ( - 9C037DD4280432DB00059696 /* ViewController.swift */, - 9C037DD5280432DB00059696 /* QuickStart.entitlements */, - 9C037DD6280432DB00059696 /* Extension */, - 9C037DDD280432DB00059696 /* Assets.xcassets */, - 9C037DDE280432DB00059696 /* LaunchScreen.storyboard */, - 9C037DE0280432DB00059696 /* Main.storyboard */, - 9C037DE2280432DB00059696 /* AppDelegate.swift */, - 4992616D2A9D89BE00B07828 /* MainViews */, - A93AE84E2A383CAA00AFFF9C /* Customize */, - 9C037DE4280432DB00059696 /* Base */, ); - path = QuickStart; + path = OpenChannel; sourceTree = ""; }; - 9C037DD6280432DB00059696 /* Extension */ = { + 9C9ED8182AD9A3C10096F2DF /* NotificationSettings */ = { isa = PBXGroup; children = ( - 9C037DD7280432DB00059696 /* UILabel+Ext.swift */, - 9C037DD8280432DB00059696 /* UIImageView+Ext.swift */, - 9C037DD9280432DB00059696 /* UIcolor+Ext.swift */, - 9C037DDA280432DB00059696 /* OpenChannel+Ext.swift */, - 9C037DDB280432DB00059696 /* UserDefaults+Ext.swift */, - 9C037DDC280432DB00059696 /* UIView+Ext.swift */, ); - path = Extension; + path = NotificationSettings; sourceTree = ""; }; - 9C037DE4280432DB00059696 /* Base */ = { + 9C9ED81C2AD9A3C10096F2DF /* Channel */ = { isa = PBXGroup; children = ( - 9C037DE5280432DB00059696 /* GroupChannel */, - 9C037DED280432DB00059696 /* OpenChannel */, + 9C9ED81D2AD9A3C10096F2DF /* GroupChannel */, + 9C9ED8222AD9A3C10096F2DF /* NotificationChannel */, + 9C9ED82F2AD9A3C10096F2DF /* OpenChannel */, ); - path = Base; + path = Channel; sourceTree = ""; }; - 9C037DE5280432DB00059696 /* GroupChannel */ = { + 9C9ED81D2AD9A3C10096F2DF /* GroupChannel */ = { isa = PBXGroup; children = ( - 9C037DE6280432DB00059696 /* MainChannelTabbarController.swift */, - 9C037DE7280432DB00059696 /* MySettings */, - 9C037DEB280432DB00059696 /* Channels */, ); path = GroupChannel; sourceTree = ""; }; - 9C037DE7280432DB00059696 /* MySettings */ = { + 9C9ED8222AD9A3C10096F2DF /* NotificationChannel */ = { isa = PBXGroup; children = ( - 9C037DE8280432DB00059696 /* UserInfoTitleView.swift */, - 9C037DE9280432DB00059696 /* MySettingsCell.swift */, - 9C037DEA280432DB00059696 /* MySettingsViewController.swift */, + 9C9ED8232AD9A3C10096F2DF /* Chat */, + 9C9ED8272AD9A3C10096F2DF /* Feed */, ); - path = MySettings; + path = NotificationChannel; sourceTree = ""; }; - 9C037DEB280432DB00059696 /* Channels */ = { + 9C9ED8232AD9A3C10096F2DF /* Chat */ = { isa = PBXGroup; children = ( - 9C037DEC280432DB00059696 /* ChannelListViewController.swift */, ); - path = Channels; + path = Chat; sourceTree = ""; }; - 9C037DED280432DB00059696 /* OpenChannel */ = { + 9C9ED8272AD9A3C10096F2DF /* Feed */ = { isa = PBXGroup; children = ( - 9C037DEE280432DB00059696 /* MainOpenChannelTabbarController.swift */, - 9C037DEF280432DB00059696 /* MySettings */, - 9C037DF1280432DB00059696 /* Channels */, ); - path = OpenChannel; + path = Feed; sourceTree = ""; }; - 9C037DEF280432DB00059696 /* MySettings */ = { + 9C9ED82F2AD9A3C10096F2DF /* OpenChannel */ = { isa = PBXGroup; children = ( - 9C037DF0280432DB00059696 /* MyOpenChannelSettingsViewController.swift */, ); - path = MySettings; + path = OpenChannel; sourceTree = ""; }; - 9C037DF1280432DB00059696 /* Channels */ = { + 9C9ED8362AD9A3C10096F2DF /* ChannelSettings */ = { isa = PBXGroup; children = ( - 9C037DF2280432DB00059696 /* LiveStream */, - 9C037DF7280432DB00059696 /* Community */, + 9C9ED8392AD9A3C10096F2DF /* ChannelSettingItem */, + 9C9ED83B2AD9A3C10096F2DF /* GroupChannel */, + 9C9ED8402AD9A3C10096F2DF /* OpenChannel */, ); - path = Channels; + path = ChannelSettings; sourceTree = ""; }; - 9C037DF2280432DB00059696 /* LiveStream */ = { + 9C9ED8392AD9A3C10096F2DF /* ChannelSettingItem */ = { isa = PBXGroup; children = ( - 9C037DF3280432DB00059696 /* LiveStreamData.swift */, - A968B36528C86AE100271C60 /* ChannelList */, - A968B36828C86B2700271C60 /* Channel */, ); - path = LiveStream; + path = ChannelSettingItem; sourceTree = ""; }; - 9C037DF7280432DB00059696 /* Community */ = { + 9C9ED83B2AD9A3C10096F2DF /* GroupChannel */ = { isa = PBXGroup; children = ( - A968B36628C86AFA00271C60 /* ChannelList */, - A968B36728C86B0000271C60 /* CreateChannel */, ); - path = Community; + path = GroupChannel; sourceTree = ""; }; - 9C3DD4E658AC39D78C5F96D3 /* SelectUser */ = { + 9C9ED8402AD9A3C10096F2DF /* OpenChannel */ = { isa = PBXGroup; children = ( - AABB618DEEE9BFB594713D5B /* RegisterOperator */, - 0490DE0E451052EE67AE43DF /* InviteUser */, - C3E129E5F4D3B812E2A019CB /* SBUBaseSelectUserModule.Header.swift */, - A6C700E67C4BE4B74A75A04F /* SBUBaseSelectUserModule.swift */, - 8FAA5249CE89F8AD34B4C4C3 /* CreateChannel */, - 3D73C0000124C290F7231688 /* SBUBaseSelectUserModule.List.swift */, ); - name = SelectUser; + path = OpenChannel; sourceTree = ""; }; - 9C3EBE2128091D2A00B5366B /* NotificationService */ = { + 9C9ED8442AD9A3C10096F2DF /* UserList */ = { isa = PBXGroup; children = ( - 9C3EBE2C28091D4200B5366B /* NotificationService.entitlements */, - 9C3EBE2228091D2A00B5366B /* NotificationService.swift */, - 9C3EBE2428091D2A00B5366B /* Info.plist */, ); - path = NotificationService; + path = UserList; sourceTree = ""; }; - 9C777D4E241B9022006FFE25 = { + 9C9ED8492AD9A3C10096F2DF /* MessageSearch */ = { isa = PBXGroup; children = ( - 9C037DD3280432DB00059696 /* QuickStart */, - 9C3EBE2128091D2A00B5366B /* NotificationService */, - 9C777D58241B9022006FFE25 /* Products */, - A3BC29C7BEE55436EBCAD26A /* Frameworks */, - 9592ACE95DF74D6A83E821FB /* Sources */, ); + path = MessageSearch; sourceTree = ""; }; - 9C777D58241B9022006FFE25 /* Products */ = { + 9C9ED84D2AD9A3C10096F2DF /* MessageThread */ = { isa = PBXGroup; children = ( - 9C777D57241B9022006FFE25 /* QuickStart.app */, - 9C3EBE2028091D2A00B5366B /* NotificationService.appex */, ); - name = Products; + path = MessageThread; sourceTree = ""; }; - 9E6C04607924F4910AEBDC5D /* OpenChannel */ = { + 9C9ED8522AD9A3C10096F2DF /* Moderations */ = { isa = PBXGroup; children = ( + 9C9ED8532AD9A3C10096F2DF /* GroupChannel */, + 9C9ED8562AD9A3C10096F2DF /* OpenChannel */, ); - name = OpenChannel; + path = Moderations; sourceTree = ""; }; - 9F2B86A49B067B438B484D5B /* ViewModel */ = { + 9C9ED8532AD9A3C10096F2DF /* GroupChannel */ = { isa = PBXGroup; children = ( - 03D0713FF625D33EF8D170A9 /* SBUUserMessageTextViewModel.swift */, - 6F3FBF776CF1F2C77B98D1CE /* SBUMessageWebViewModel.swift */, ); - name = ViewModel; + path = GroupChannel; sourceTree = ""; }; - A18337FC26B7C37C062EE520 /* VoiceMessage */ = { + 9C9ED8562AD9A3C10096F2DF /* OpenChannel */ = { isa = PBXGroup; children = ( ); - name = VoiceMessage; + path = OpenChannel; sourceTree = ""; }; - A1EC75B7420DD454323E08C7 /* GroupChannel */ = { + 9C9ED8582AD9A3C10096F2DF /* SelectUser */ = { isa = PBXGroup; children = ( - D522104B1AFF83B8863F347B /* SBUGroupChannelModule.Input.swift */, - 9CCE2DF1CBADEB8B8B607F78 /* SBUGroupChannelModule.List.swift */, - F210D27FAD685E189567136B /* SBUGroupChannelModule.Header.swift */, - E76C3D9C055FD66E21507E68 /* SBUGroupChannelModule.swift */, + 9C9ED8592AD9A3C10096F2DF /* RegisterOperator */, + 9C9ED85D2AD9A3C10096F2DF /* InviteUser */, + 9C9ED8632AD9A3C10096F2DF /* CreateChannel */, ); - name = GroupChannel; + path = SelectUser; sourceTree = ""; }; - A3BC29C7BEE55436EBCAD26A /* Frameworks */ = { + 9C9ED8592AD9A3C10096F2DF /* RegisterOperator */ = { isa = PBXGroup; children = ( - 9C5DCD4D242B0C7E00C41106 /* libicucore.tbd */, - 9C5DCD48242AFA7C00C41106 /* UserNotifications.framework */, ); - name = Frameworks; + path = RegisterOperator; sourceTree = ""; }; - A4B927E66B9BDCEBA3CA564F /* Common */ = { - isa = PBXGroup; - children = ( - 5C2D8D8F5C7F6E52F0ECBC98 /* SBUStackView.swift */, - B8144206215194D4C2E1434C /* SBUAnimation.swift */, - 2BB2FBDF7FF64DF79DE9F0BA /* SBUEmptyView.swift */, - 30D4E0D7B109AA3E2167B58B /* SBUCoverImageView.swift */, - EE99CEFAB8C023C183411183 /* PhotoLibrary */, - E42A760169891FCADA183D72 /* SBUPaddingLabel.swift */, - 22609EDC7C590D90E98DA48F /* SBUCommonItem.swift */, - 6783A56D2FA94E934B3C030D /* SBULayoutableButton.swift */, - DB98278A18B8AE7862AA4BE6 /* User */, - 07615D837998B1D61C4440BE /* SBUNavigationTitleView.swift */, - 82E5A3E3CBD88CDDD5E8ACF8 /* SBUNotificationNavigationTitleView.swift */, - 679F20E8CA5E8CF79CF99791 /* SBUBarButtonItem.swift */, - 41161D31466AA8729316DA62 /* SBUActionSheet.swift */, - 872E0AA1A1F3E853EF566DAE /* SBUNotificationEmptyView.swift */, - 74DBF7C5222CD338D80F1B4D /* SBUAlertView.swift */, - 78957E28EF3B5BDD51FCB922 /* Menu */, - AD2C3520424D966B2139B29A /* SBUUnderLineTextField.swift */, - 78A4EDF31FFED093E6F24201 /* UserCell */, - D90E2D17F4C7D6A1FDDFCEB6 /* SBUTemplateLabel.swift */, - E31C28FB87F4B7FEEAB0BFB6 /* SBUMarginView.swift */, - BF0FC01F0C50DE661AB32FFB /* SBUCommonViewControllerSet.swift */, - 52865C6F7E96EBDF33F22C25 /* SBULoading.swift */, - 8F88304E2BD83DF0969F1C29 /* SBUCollectionViewFlowLayout.swift */, + 9C9ED85D2AD9A3C10096F2DF /* InviteUser */ = { + isa = PBXGroup; + children = ( ); - name = Common; + path = InviteUser; sourceTree = ""; }; - A549FBAEB836AE0548DB18AF /* SelectUser */ = { + 9C9ED8632AD9A3C10096F2DF /* CreateChannel */ = { isa = PBXGroup; children = ( - 63C0164951E15BA1E1F5702C /* SBURegisterOperatorViewController.swift */, - 13B3C35507B64FBFD21C39B4 /* SBUBaseSelectUserViewController.swift */, - 09457A747C6CB5D86E73DF00 /* SBUInviteUserViewController.swift */, - 1008D60FC42E7AFE46E8687F /* CreateChannel */, ); - name = SelectUser; + path = CreateChannel; sourceTree = ""; }; - A81C7A1B7617FBE254DD3FBF /* ChannelSettings */ = { + 9C9ED8772AD9A3C10096F2DF /* CacheManager */ = { isa = PBXGroup; children = ( - 648ECEBED8A76D3D207A6B8D /* SBUBaseChannelSettingsViewModel.swift */, - 7A0124FA1CF917C980C764C6 /* SBUModerationsViewModel.swift */, - 925FA1B6D1C2B27F505AFDAD /* SBUGroupChannelSettingsViewModel.swift */, - FD4B090C3B7584D8D84343D4 /* SBUOpenChannelSettingsViewModel.swift */, ); - name = ChannelSettings; + path = CacheManager; sourceTree = ""; }; - A93AE84E2A383CAA00AFFF9C /* Customize */ = { + 9C9ED8832AD9A3C10096F2DF /* Audio */ = { isa = PBXGroup; children = ( - A93AE84F2A383CAA00AFFF9C /* CustomBaseViewController.swift */, - A93AE8502A383CAA00AFFF9C /* Manager */, - A93AE85D2A383CAA00AFFF9C /* PaddingLabel.swift */, - A93AE85E2A383CAA00AFFF9C /* View */, ); - path = Customize; + path = Audio; sourceTree = ""; }; - A93AE8502A383CAA00AFFF9C /* Manager */ = { + 9C9ED8892AD9A3C10096F2DF /* New Group */ = { isa = PBXGroup; children = ( - A93AE8512A383CAA00AFFF9C /* Features */, - A93AE8592A383CAA00AFFF9C /* Common */, ); - path = Manager; + path = "New Group"; sourceTree = ""; }; - A93AE8512A383CAA00AFFF9C /* Features */ = { + 9C9ED89B2AD9A3C10096F2DF /* NotificationDataMock */ = { isa = PBXGroup; children = ( - A93AE8522A383CAA00AFFF9C /* ChannelListCustomManager.swift */, - A93AE8532A383CAA00AFFF9C /* InviteUserCustomManager.swift */, - A93AE8542A383CAA00AFFF9C /* MemberListCustomManager.swift */, - A93AE8552A383CAA00AFFF9C /* ChannelSettingsCustomManager.swift */, - A93AE8562A383CAA00AFFF9C /* GlobalSetCustomManager.swift */, - A93AE8572A383CAA00AFFF9C /* CreateChannelCustomManager.swift */, - A93AE8582A383CAA00AFFF9C /* ChannelCustomManager.swift */, ); - path = Features; + path = NotificationDataMock; sourceTree = ""; }; - A93AE8592A383CAA00AFFF9C /* Common */ = { + 9C9ED89E2AD9A3C10096F2DF /* ChannelList */ = { isa = PBXGroup; children = ( - A93AE85A2A383CAA00AFFF9C /* CustomSampleEnums.swift */, - A93AE85B2A383CAA00AFFF9C /* BaseCustomManager.swift */, - A93AE85C2A383CAA00AFFF9C /* SampleManager.swift */, + 9C9ED89F2AD9A3C10096F2DF /* ChannelCell */, ); - path = Common; + path = ChannelList; sourceTree = ""; }; - A93AE85E2A383CAA00AFFF9C /* View */ = { + 9C9ED89F2AD9A3C10096F2DF /* ChannelCell */ = { isa = PBXGroup; children = ( - A93AE85F2A383CAA00AFFF9C /* InviteUser */, - A93AE8622A383CAA00AFFF9C /* ChannelList */, - A93AE8672A383CAA00AFFF9C /* Channel */, - A93AE8702A383CAA00AFFF9C /* ChannelSettings */, - A93AE8722A383CAA00AFFF9C /* Common */, - A93AE8752A383CAA00AFFF9C /* MemberList */, - A93AE8782A383CAA00AFFF9C /* CreateChannel */, ); - path = View; + path = ChannelCell; sourceTree = ""; }; - A93AE85F2A383CAA00AFFF9C /* InviteUser */ = { + 9C9ED8A62AD9A3C10096F2DF /* NotificationSettings */ = { isa = PBXGroup; children = ( - A93AE8602A383CAA00AFFF9C /* InviteUserVC_Cell.swift */, - A93AE8612A383CAA00AFFF9C /* InviteUserVC_UserList.swift */, + 9C9ED8A72AD9A3C10096F2DF /* Cell */, ); - path = InviteUser; + path = NotificationSettings; sourceTree = ""; }; - A93AE8622A383CAA00AFFF9C /* ChannelList */ = { + 9C9ED8A72AD9A3C10096F2DF /* Cell */ = { isa = PBXGroup; children = ( - A93AE8632A383CAA00AFFF9C /* ChannelListVC_Overriding.swift */, - A93AE8642A383CAA00AFFF9C /* CustomChannelListModule.swift */, - A93AE89A2A38479400AFFF9C /* ChannelListVC_CustomHeader.swift */, - A93AE89C2A3847B600AFFF9C /* ChannelListVC_CustomList.swift */, - A93AE8652A383CAA00AFFF9C /* SubView */, ); - path = ChannelList; + path = Cell; sourceTree = ""; }; - A93AE8652A383CAA00AFFF9C /* SubView */ = { + 9C9ED8AA2AD9A3C10096F2DF /* Channel */ = { isa = PBXGroup; children = ( - A93AE8662A383CAA00AFFF9C /* CustomChannelListCell.swift */, + 9C9ED8AB2AD9A3C10096F2DF /* ViewModel */, + 9C9ED8AE2AD9A3C10096F2DF /* Reaction */, + 9C9ED8B72AD9A3C10096F2DF /* MessageCell */, + 9C9ED8E22AD9A3C20096F2DF /* MessageInput */, + 9C9ED8EA2AD9A3C20096F2DF /* CategoryFilterCell */, + 9C9ED8EC2AD9A3C20096F2DF /* CellView */, + 9C9ED8F72AD9A3C20096F2DF /* FileViewer */, + 9C9ED8FB2AD9A3C20096F2DF /* NewMessageInfo */, + 9C9ED8FF2AD9A3C20096F2DF /* Header */, ); - path = SubView; + path = Channel; sourceTree = ""; }; - A93AE8672A383CAA00AFFF9C /* Channel */ = { + 9C9ED8AB2AD9A3C10096F2DF /* ViewModel */ = { isa = PBXGroup; children = ( - A93AE8692A383CAA00AFFF9C /* ChannelVC_CustomHeader.swift */, - A93AE86E2A383CAA00AFFF9C /* ChannelVC_CustomList.swift */, - A93AE8682A383CAA00AFFF9C /* ChannelVC_CustomInput.swift */, - A93AE86A2A383CAA00AFFF9C /* ChannelVC_Overriding.swift */, - A93AE86B2A383CAA00AFFF9C /* SubView */, - A93AE86F2A383CAA00AFFF9C /* ChannelVC_MessageParam.swift */, ); - path = Channel; + path = ViewModel; sourceTree = ""; }; - A93AE86B2A383CAA00AFFF9C /* SubView */ = { + 9C9ED8AE2AD9A3C10096F2DF /* Reaction */ = { isa = PBXGroup; children = ( - A93AE86C2A383CAA00AFFF9C /* CustomNewMessageInfo.swift */, - A93AE86D2A383CAA00AFFF9C /* CustomUserMessageCell.swift */, ); - path = SubView; + path = Reaction; sourceTree = ""; }; - A93AE8702A383CAA00AFFF9C /* ChannelSettings */ = { + 9C9ED8B72AD9A3C10096F2DF /* MessageCell */ = { isa = PBXGroup; children = ( - A93AE8712A383CAA00AFFF9C /* ChannelSettingsVC_Overriding.swift */, + 9C9ED8B82AD9A3C20096F2DF /* MessageCellParams */, + 9C9ED8BF2AD9A3C20096F2DF /* FileMessageContentView */, + 9C9ED8C62AD9A3C20096F2DF /* NotificationChannel */, + 9C9ED8CA2AD9A3C20096F2DF /* Replies */, + 9C9ED8D52AD9A3C20096F2DF /* OpenChannel */, ); - path = ChannelSettings; + path = MessageCell; sourceTree = ""; }; - A93AE8722A383CAA00AFFF9C /* Common */ = { + 9C9ED8B82AD9A3C20096F2DF /* MessageCellParams */ = { isa = PBXGroup; children = ( - A93AE8732A383CAA00AFFF9C /* CustomUserCell.swift */, - A93AE8742A383CAA00AFFF9C /* CustomEmptyView.swift */, ); - path = Common; + path = MessageCellParams; sourceTree = ""; }; - A93AE8752A383CAA00AFFF9C /* MemberList */ = { + 9C9ED8BF2AD9A3C20096F2DF /* FileMessageContentView */ = { isa = PBXGroup; children = ( - A93AE8762A383CAA00AFFF9C /* MemberListVC_Cell.swift */, - A93AE8772A383CAA00AFFF9C /* MemberListVC_Overriding.swift */, ); - path = MemberList; + path = FileMessageContentView; sourceTree = ""; }; - A93AE8782A383CAA00AFFF9C /* CreateChannel */ = { + 9C9ED8C62AD9A3C20096F2DF /* NotificationChannel */ = { isa = PBXGroup; children = ( - A93AE8792A383CAA00AFFF9C /* CreateChannelVC_Cell.swift */, - A93AE87A2A383CAA00AFFF9C /* CreateChannelVC_UserList.swift */, ); - path = CreateChannel; + path = NotificationChannel; sourceTree = ""; }; - A968B36528C86AE100271C60 /* ChannelList */ = { + 9C9ED8CA2AD9A3C20096F2DF /* Replies */ = { isa = PBXGroup; children = ( - 9C037DF4280432DB00059696 /* LiveStreamChannelListViewController.swift */, - A968B36928C86B5700271C60 /* LiveStreamChannelListViewModel.swift */, - A968B36B28C86B8600271C60 /* LiveStreamChannelListModule.List.swift */, - 9C037DF5280432DB00059696 /* LiveStreamChannelCell.swift */, + 9C9ED8CB2AD9A3C20096F2DF /* MessageView */, + 9C9ED8D22AD9A3C20096F2DF /* ViewParams */, ); - path = ChannelList; + path = Replies; sourceTree = ""; }; - A968B36628C86AFA00271C60 /* ChannelList */ = { + 9C9ED8CB2AD9A3C20096F2DF /* MessageView */ = { isa = PBXGroup; children = ( - 9C037DF8280432DB00059696 /* CommunityChannelListViewController.swift */, ); - path = ChannelList; + path = MessageView; sourceTree = ""; }; - A968B36728C86B0000271C60 /* CreateChannel */ = { + 9C9ED8D22AD9A3C20096F2DF /* ViewParams */ = { isa = PBXGroup; children = ( - 9C037DFA280432DB00059696 /* CreateCommunityChannelViewController.swift */, ); - path = CreateChannel; + path = ViewParams; sourceTree = ""; }; - A968B36828C86B2700271C60 /* Channel */ = { + 9C9ED8D52AD9A3C20096F2DF /* OpenChannel */ = { isa = PBXGroup; children = ( - 9C037DF6280432DB00059696 /* LiveStreamChannelViewController.swift */, - A968B36D28C9AB7F00271C60 /* LiveStreamChannelModule.Media.swift */, ); - path = Channel; + path = OpenChannel; sourceTree = ""; }; - A96FAE794628C38A5F23E8F4 /* MessageCell */ = { + 9C9ED8E22AD9A3C20096F2DF /* MessageInput */ = { isa = PBXGroup; children = ( - 6E9732C5E650F43BD22B5ADB /* MessageCellParams */, - C5C8B7F4ACED9871EB95532C /* Replies */, + 9C9ED8E72AD9A3C20096F2DF /* ViewParams */, ); - name = MessageCell; + path = MessageInput; sourceTree = ""; }; - AABB618DEEE9BFB594713D5B /* RegisterOperator */ = { + 9C9ED8E72AD9A3C20096F2DF /* ViewParams */ = { isa = PBXGroup; children = ( - 09D932D7CEF5244328AE20B1 /* SBURegisterOperatorModule.List.swift */, - 9811062D110DE887A0C4466B /* SBURegisterOperatorModule.Header.swift */, - 1363C242212B9C9EF2C288FC /* SBURegisterOperatorModule.swift */, ); - name = RegisterOperator; + path = ViewParams; sourceTree = ""; }; - AAE7F9C9F3B25356E9E7C26A /* MessageInput */ = { + 9C9ED8EA2AD9A3C20096F2DF /* CategoryFilterCell */ = { isa = PBXGroup; children = ( - EA40BC5CCB43808208B179F5 /* ViewParams */, ); - name = MessageInput; + path = CategoryFilterCell; sourceTree = ""; }; - AD44C6002D27D9FDB2E8B1BF /* UserList */ = { + 9C9ED8EC2AD9A3C20096F2DF /* CellView */ = { isa = PBXGroup; children = ( ); - name = UserList; + path = CellView; sourceTree = ""; }; - ADEE30769771D187B2149CFE /* ChannelList */ = { + 9C9ED8F72AD9A3C20096F2DF /* FileViewer */ = { isa = PBXGroup; children = ( - BA3E97E78349983EC0B47E5F /* ChannelCell */, - 09EEEEE29A1FD1FF665908C9 /* SBUBaseChannelListViewController.swift */, - E79AA72238B3ADA2428F2DF9 /* SBUGroupChannelListViewController.swift */, - C25BCCD7B2124F4B480738D1 /* SBUOpenChannelListViewController.swift */, ); - name = ChannelList; + path = FileViewer; sourceTree = ""; }; - AE009C977237DDF3EAB36B64 /* MessageCellParams */ = { + 9C9ED8FB2AD9A3C20096F2DF /* NewMessageInfo */ = { isa = PBXGroup; children = ( ); - name = MessageCellParams; + path = NewMessageInfo; sourceTree = ""; }; - AE52C65AFB7BBB545FDB21B4 /* Moderations */ = { + 9C9ED8FF2AD9A3C20096F2DF /* Header */ = { isa = PBXGroup; children = ( - 39323FC6B9F3E0B373755861 /* SBUModerationsViewController.swift */, ); - name = Moderations; + path = Header; sourceTree = ""; }; - AFF3A279ED008B5F6576D513 /* MessageSearch */ = { + 9C9ED9022AD9A3C20096F2DF /* ChannelSettings */ = { isa = PBXGroup; children = ( + 9C9ED9052AD9A3C20096F2DF /* Cell */, + 9C9ED90A2AD9A3C20096F2DF /* View */, ); - name = MessageSearch; + path = ChannelSettings; sourceTree = ""; }; - B0AFEE250CC5F5813D3B34A8 /* NewMessageInfo */ = { + 9C9ED9052AD9A3C20096F2DF /* Cell */ = { isa = PBXGroup; children = ( - F401232C26984285B5693E43 /* SBUNewNotificationInfo.swift */, - B79B2DD2CCF0EE727B0CD8AE /* SBUNewMessageInfo.swift */, ); - name = NewMessageInfo; + path = Cell; sourceTree = ""; }; - B1990CFC0D61E5BE0A63A20D /* Moderations */ = { + 9C9ED90A2AD9A3C20096F2DF /* View */ = { isa = PBXGroup; children = ( - FA4EDE7E2FFAE50FB42338ED /* SBUModerationsViewModel.Deprecated.swift */, - EBA1734B1229285DCBD00A26 /* SBUModerationsViewController.Deprecated.swift */, ); - name = Moderations; + path = View; sourceTree = ""; }; - B214DBD468659899C8D2FD7A /* PhotoLibrary */ = { + 9C9ED90D2AD9A3C20096F2DF /* VoiceNote */ = { isa = PBXGroup; children = ( ); - name = PhotoLibrary; + path = VoiceNote; sourceTree = ""; }; - B59D03981A2AAA3F95D92022 /* MessageSearch */ = { + 9C9ED90F2AD9A3C20096F2DF /* Common */ = { isa = PBXGroup; children = ( - 0475E64D5DDC8E3C5D565C13 /* SBUMessageSearchModule.Header.swift */, - D226F9A5970054B5D2321E93 /* SBUMessageSearchModule.List.swift */, - F57065E312891A156FBC73B3 /* SBUMessageSearchModule.swift */, + 9C9ED9142AD9A3C20096F2DF /* PhotoLibrary */, + 9C9ED91B2AD9A3C20096F2DF /* User */, + 9C9ED9232AD9A3C20096F2DF /* Menu */, + 9C9ED92A2AD9A3C20096F2DF /* UserCell */, ); - name = MessageSearch; + path = Common; sourceTree = ""; }; - B67FE126C7F222D08A1CC151 /* UserList */ = { + 9C9ED9142AD9A3C20096F2DF /* PhotoLibrary */ = { isa = PBXGroup; children = ( - FAC8B9DAFB00EC5E3A40BCEC /* SBUBaseSelectUserViewController.Deprecated.swift */, ); - name = UserList; + path = PhotoLibrary; sourceTree = ""; }; - B720E40E25D44BCB48833566 /* ChannelList */ = { + 9C9ED91B2AD9A3C20096F2DF /* User */ = { isa = PBXGroup; children = ( - FAE84652E3E9F5611F42712B /* SBUGroupChannelListViewModel.swift */, - F0BC8F66C614AF4E15B9D9F7 /* SBUOpenChannelListViewModel.swift */, - 3F055C1BA982C9BE49037F36 /* SBUBaseChannelListViewModel.swift */, ); - name = ChannelList; + path = User; sourceTree = ""; }; - B8AF5E1857DE50554251186D /* VoiceNote */ = { + 9C9ED9232AD9A3C20096F2DF /* Menu */ = { isa = PBXGroup; children = ( - 1632B862E1D21A258C27ACE7 /* SBUVoiceMessageInputView.swift */, ); - name = VoiceNote; + path = Menu; sourceTree = ""; }; - B935806BD77EF3DB7056B99C /* View */ = { + 9C9ED92A2AD9A3C20096F2DF /* UserCell */ = { isa = PBXGroup; children = ( ); - name = View; + path = UserCell; sourceTree = ""; }; - BA07415FF9A9EB39D30E7DEA /* Header */ = { + 9C9ED9312AD9A3C20096F2DF /* UserList */ = { isa = PBXGroup; children = ( - 960F1C53AFDD9E464F4FCFC5 /* SBUChannelInfoHeaderView.swift */, - 7133E170BA439EF8C3334BA0 /* SBUChannelTitleView.swift */, ); - name = Header; + path = UserList; sourceTree = ""; }; - BA3E97E78349983EC0B47E5F /* ChannelCell */ = { + 9C9ED9342AD9A3C20096F2DF /* MessageSearch */ = { isa = PBXGroup; children = ( - 38BCB80D464E70A15832C598 /* SBUOpenChannelCell.swift */, - CD7A69CDFDADD1DE3D3B6837 /* SBUGroupChannelCell.swift */, - C00E91C2BC16DAA3EB45B9DC /* SBUBaseChannelCell.swift */, + 9C9ED9362AD9A3C20096F2DF /* Cell */, ); - name = ChannelCell; + path = MessageSearch; sourceTree = ""; }; - BB215071CC4930B9299B491D /* Channel */ = { + 9C9ED9362AD9A3C20096F2DF /* Cell */ = { isa = PBXGroup; children = ( - 9F2B86A49B067B438B484D5B /* ViewModel */, - 2B79D70CEC5878C6DF2AB4FD /* Reaction */, - B1A5082988238B3CDB436AF1 /* SBUFeedNotificationChannelViewController.swift */, - 0E3FC04027A26EED54D5DD39 /* SBUBaseChannelViewController.swift */, - FCC59DF2154BAD5E6C2BFE4C /* MessageCell */, - 712928ED869AF04DE14CA8D6 /* SBUGroupChannelViewController.swift */, - 6B200A053C4CE333744927F0 /* MessageInput */, - F317DC7B8C7A086954E0243D /* CategoryFilterCell */, - 72F9F80F5D3A5EAD6E07E292 /* CellView */, - FD71F0034D6DB44413B3C1C5 /* FileViewer */, - 550CBD045185BE670940D11A /* SBUBaseChannelViewController.Keyboard.swift */, - 76987D65323CBAB0CBA3BBA7 /* SBUChatNotificationChannelViewController.swift */, - B0AFEE250CC5F5813D3B34A8 /* NewMessageInfo */, - E15EF47909B9D3727E458FFC /* SBUOpenChannelViewController.swift */, - BA07415FF9A9EB39D30E7DEA /* Header */, ); - name = Channel; + path = Cell; sourceTree = ""; }; - BC190949777D0D1DA7FF4C62 /* ViewParams */ = { + 9C9ED9382AD9A3C20096F2DF /* Life cycles */ = { isa = PBXGroup; children = ( - 9345EF446685A81A3A205032 /* SBUQuotedBaseMessageViewParams.swift */, ); - name = ViewParams; + path = "Life cycles"; sourceTree = ""; }; - BC57EC93B96ADBF182D74323 /* Replies */ = { + 9C9ED93F2AD9A3C20096F2DF /* MessageThread */ = { isa = PBXGroup; children = ( - 7AA43DF4DFE25B07A96659EB /* MessageView */, - 42250A75CA2049E2922E48B5 /* ViewParams */, ); - name = Replies; + path = MessageThread; sourceTree = ""; }; - BCF51F4882AAA0078F22BB02 /* NotificationChannel */ = { + 9C9ED9432AD9A3C20096F2DF /* Moderations */ = { isa = PBXGroup; children = ( - 629771B8FB970CA4D7C588B5 /* Chat */, - 177EB09075F6E32FFDF5F726 /* Feed */, ); - name = NotificationChannel; + path = Moderations; sourceTree = ""; }; - C08FCF78447797C724DA22F1 /* VoiceMessage */ = { + 9C9ED9452AD9A3C20096F2DF /* SelectUser */ = { isa = PBXGroup; children = ( - B6BD4E2FA4E80BA9DA949A6B /* SBUVoiceMessageConfiguration.swift */, + 9C9ED9492AD9A3C20096F2DF /* CreateChannel */, ); - name = VoiceMessage; + path = SelectUser; sourceTree = ""; }; - C24C3148FB1492A128E4D49A /* CellView */ = { + 9C9ED9492AD9A3C20096F2DF /* CreateChannel */ = { isa = PBXGroup; children = ( + 9C9ED94A2AD9A3C20096F2DF /* View */, ); - name = CellView; + path = CreateChannel; sourceTree = ""; }; - C5C07F7EA51191D63B0371CF /* Util */ = { + 9C9ED94A2AD9A3C20096F2DF /* View */ = { isa = PBXGroup; children = ( - 83242392F740953790B4375B /* SBUPropertyWrapper.swift */, - 4A24AF8D17F54CCB73E89AD1 /* SBUUtils.swift */, - FD4F038A87E5B087652DCC7A /* SBULogger.swift */, - 03D5912747C5BF8CFE0AA614 /* SBUMentionManager.swift */, - F25185A4FD4D14D668AF741A /* SBUDebouncer.swift */, ); - name = Util; + path = View; sourceTree = ""; }; - C5C8B7F4ACED9871EB95532C /* Replies */ = { + 9C9ED9542AD9A3C20096F2DF /* ChannelList */ = { isa = PBXGroup; children = ( ); - name = Replies; + path = ChannelList; sourceTree = ""; }; - C9427CB27D49DADC60709372 /* Cell */ = { + 9C9ED9562AD9A3C20096F2DF /* Channel */ = { isa = PBXGroup; children = ( - 2967178EF3EFA8D6A41CFFC5 /* SBUMessageSearchResultCell.swift */, + 9C9ED9572AD9A3C20096F2DF /* MessageCell */, ); - name = Cell; + path = Channel; sourceTree = ""; }; - C997121B654905EBC6843FA7 /* ChannelList */ = { + 9C9ED9572AD9A3C20096F2DF /* MessageCell */ = { isa = PBXGroup; children = ( + 9C9ED9582AD9A3C20096F2DF /* MessageCellParams */, + 9C9ED95A2AD9A3C20096F2DF /* Replies */, ); - name = ChannelList; + path = MessageCell; sourceTree = ""; }; - C9FE127CD301C2AFE719D7F5 /* MessageSearch */ = { + 9C9ED9582AD9A3C20096F2DF /* MessageCellParams */ = { isa = PBXGroup; children = ( - C0806472406037540B2F1D35 /* SBUMessageSearchViewController.swift */, - C9427CB27D49DADC60709372 /* Cell */, ); - name = MessageSearch; + path = MessageCellParams; sourceTree = ""; }; - CA9D4ED2403E376D1B50FBD3 /* FileMessageContentView */ = { + 9C9ED95A2AD9A3C20096F2DF /* Replies */ = { isa = PBXGroup; children = ( - CFF29D3C4BEFA6FFB5E944F5 /* SBUBaseFileContentView.swift */, - 9D117276E49F60D053B3F752 /* SBUOpenChannelCommonContentView.swift */, - 2781209E32A0D237BDCAAB81 /* SBUVoiceContentView.swift */, - 9A68D5CFDFC083C2D88E8B73 /* SBUImageContentView.swift */, - 4B38171B87E355527698E517 /* SBUCommonContentView.swift */, - 2C34EB1C50E7C6BEDDE33D95 /* SBUOpenChannelImageContentView.swift */, ); - name = FileMessageContentView; + path = Replies; sourceTree = ""; }; - CB8495920022FCCAA2BB7966 /* CacheManager */ = { + 9C9ED9632AD9A3C20096F2DF /* ChannelSettings */ = { isa = PBXGroup; children = ( ); - name = CacheManager; + path = ChannelSettings; sourceTree = ""; }; - CC07836A63CDFC59E5E71C76 /* UserList */ = { + 9C9ED9662AD9A3C20096F2DF /* MemberList */ = { isa = PBXGroup; children = ( - 9C00F02DCD75ED88CF5E8F0F /* SBUUserListModule.swift */, - 2B9B4518AE7F37F6486DD9C0 /* SBUUserListModule.List.swift */, - 0AA19A4952F30FA89DA86ABF /* SBUUserListModule.Header.swift */, ); - name = UserList; + path = MemberList; sourceTree = ""; }; - CCA0C770FE770833D0B60DAF /* Channel */ = { + 9C9ED9682AD9A3C20096F2DF /* UserList */ = { isa = PBXGroup; children = ( - A1EC75B7420DD454323E08C7 /* GroupChannel */, - 524994E8FBA7763C2254ACDA /* NotificationChannel */, - C149553A6F22390FB2C9AC3B /* SBUBaseChannelModule.Input.swift */, - 769A58775948A4D04CF29675 /* SBUBaseChannelModule.swift */, - F25D522295FD46C16A95691F /* SBUBaseChannelModule.Header.swift */, - 8DC6668776C62E6A2FB688DD /* OpenChannel */, - 430B9CB08EA395A6662D27C3 /* SBUBaseChannelModule.List.swift */, ); - name = Channel; + path = UserList; sourceTree = ""; }; - CCD62ED3C44E5338D1570D33 /* GroupChannel */ = { + 9C9ED96A2AD9A3C20096F2DF /* MessageSearch */ = { isa = PBXGroup; children = ( - ABF6D8978453B5ABDC0A6A10 /* SBUGroupChannelSettingsModule.swift */, - 7163704D198E16CB0F8B61F9 /* SBUGroupChannelSettingsModule.Header.swift */, - 024F442AD5E6D010C897A896 /* SBUGroupChannelSettingsModule.List.swift */, ); - name = GroupChannel; + path = MessageSearch; sourceTree = ""; }; - CE0D051EF2EBA5A5E34DE070 /* CreateChannel */ = { + 9C9ED96F2AD9A3C20096F2DF /* Moderations */ = { isa = PBXGroup; children = ( - 03B7BCB03795C3D2A03D2956 /* SBUCreateChannelViewModel.swift */, - 5A9652D710593D63AC898C96 /* SBUCreateOpenChannelViewModel.swift */, ); - name = CreateChannel; + path = Moderations; sourceTree = ""; }; - D24D6D0BB47D26CA5BFBD281 /* Moderations */ = { + 9C9ED9732AD9A3C20096F2DF /* CreateChannel */ = { isa = PBXGroup; children = ( ); - name = Moderations; + path = CreateChannel; sourceTree = ""; }; - D32913F5CFB305DA1187E386 /* NotificationSettings */ = { + A05EAE960B05155A86A4BEED /* UserList */ = { isa = PBXGroup; children = ( - CE5B52236DBBF3CF22BC5254 /* SBUGroupChannelPushSettingsViewModel.swift */, + E6A659B4859220EB38295676 /* SBUBaseSelectUserViewController.Deprecated.swift */, ); - name = NotificationSettings; + name = UserList; sourceTree = ""; }; - D43A968EEC1A93A1EC02BF3B /* ChannelSettings */ = { + A10B4894A44D0021EE006DD2 /* VoiceNote */ = { isa = PBXGroup; children = ( - 2276E73C6047227D1C480D6F /* SBUBaseChannelSettingsViewController.Deprecated.swift */, + 57915343C57BEC578EE0DB11 /* SBUVoiceMessageInputView.swift */, ); - name = ChannelSettings; + name = VoiceNote; sourceTree = ""; }; - D49D52C8610F8BD053E81A8E /* CategoryFilterCell */ = { + A13ED56B5592BDA2C44AAA5F /* MessageSearch */ = { isa = PBXGroup; children = ( + 5BE52D3254DD331D2360A51E /* SBUMessageSearchViewModel.swift */, ); - name = CategoryFilterCell; + name = MessageSearch; sourceTree = ""; }; - D4BA367DFE60C2065B1796FC /* ChatSDK */ = { + A3BC29C7BEE55436EBCAD26A /* Frameworks */ = { isa = PBXGroup; children = ( + 9C5DCD4D242B0C7E00C41106 /* libicucore.tbd */, + 9C5DCD48242AFA7C00C41106 /* UserNotifications.framework */, ); - name = ChatSDK; + name = Frameworks; sourceTree = ""; }; - D61227FB3A1C0487082073D6 /* Channel */ = { + A4021D1F667BDEFAF51F2D8E /* MessageSearch */ = { isa = PBXGroup; children = ( - A96FAE794628C38A5F23E8F4 /* MessageCell */, + 78EDE63E52336BD09D623A4F /* SBUMessageSearchModule.Header.swift */, + 538F81345395C26F91007FE6 /* SBUMessageSearchModule.List.swift */, + 9889247A78D13ED08CC5AB72 /* SBUMessageSearchModule.swift */, ); - name = Channel; + name = MessageSearch; sourceTree = ""; }; - D61364A677AD11D00B879F91 /* OpenChannel */ = { + A45EA1C2F67DDCE3029BB5AD /* ChannelCell */ = { isa = PBXGroup; children = ( - AA93D08458ECC55232E74185 /* SBUOpenChannelFileMessageCell.swift */, - 6F9F628FDF6A61E615B6C68E /* SBUOpenChannelAdminMessageCell.swift */, - 567E436A5967824ECE81F932 /* SBUOpenChannelContentBaseMessageCell.swift */, - 823A18F321AF6585BC03A700 /* SBUOpenChannelUserMessageCell.swift */, - 3DF13C7243959896256F8180 /* SBUOpenChannelUnknownMessageCell.swift */, - 462A08542D105BB7ED0C8775 /* SBUOpenChannelBaseMessageCell.swift */, + E58FC2CFDB181B63A5B62144 /* SBUOpenChannelCell.swift */, + E27082A7D352D868BAC1D7A0 /* SBUGroupChannelCell.swift */, + 2C39B356B15003D43FA7F239 /* SBUBaseChannelCell.swift */, ); - name = OpenChannel; + name = ChannelCell; sourceTree = ""; }; - D76083478E46AD70E574F0B0 /* MessageView */ = { + A6165AC7E187B6397654352C /* Feed */ = { isa = PBXGroup; children = ( - D7B07F66713F5731071FE131 /* QuotedFileCommonContentView.swift */, - 916D74D6BACB1599C3157DD7 /* SBUQuotedBaseMessageView.swift */, - 62C2EE24C2816C071814A6AE /* SBUThreadInfoView.swift */, - 92BCE5C268C9DCE0C655F7B1 /* QuotedFileImageContentView.swift */, - E3DC702A56C7D1927EEB31F6 /* SBUQuotedFileMessageView.swift */, - 19246231B3B1164C62F03F28 /* SBUQuotedUserMessageView.swift */, + 048527C58AA582ECCDEBC5E4 /* SBUFeedNotificationChannelModule.Header.swift */, + 61C84FCFF474CE2DFFC0AD9C /* SBUFeedNotificationChannelModule.List.swift */, + 4922F3BB61489E573C4FD01D /* SBUFeedNotificationChannelModule.CategoryFilter.swift */, + E715DFE0598426529E2B678E /* SBUFeedNotificationChannelModule.swift */, ); - name = MessageView; + name = Feed; sourceTree = ""; }; - D7A3274CC2EA35A9F14837AD /* CustomSyntaxTest */ = { + A8B61EA4AA34F299112452A1 /* CustomSyntaxTest */ = { isa = PBXGroup; children = ( - EE1462555CDD521DBA7AB414 /* MessageTemplateTestViewController.swift */, - 0CE12E7AF6E3C843E1B5AA77 /* MessageTemplateParser.swift */, - 0AB1F98398E2B144D3AC41AC /* MessageTemplateRenderer.swift */, + 0378A1F7FC289EBD4FA7F255 /* MessageTemplateTestViewController.swift */, + F1F109E4FFE8C2DBCA5277C9 /* MessageTemplateParser.swift */, + 62480E208EB58BAF0F81FD86 /* MessageTemplateRenderer.swift */, ); name = CustomSyntaxTest; sourceTree = ""; }; - D7E027283938BBE1F8F8357E /* ViewModel */ = { + A93AE84E2A383CAA00AFFF9C /* Customize */ = { isa = PBXGroup; children = ( - 2E7B7987A938B53874C4CCEF /* SBUViewModelDelegate.swift */, - B720E40E25D44BCB48833566 /* ChannelList */, - D32913F5CFB305DA1187E386 /* NotificationSettings */, - 5690DF86768E529CF331BFF6 /* Channel */, - A81C7A1B7617FBE254DD3FBF /* ChannelSettings */, - E84354616AB9EB419D4CE21E /* Common */, - EBBBC39AF429B1FA982C831F /* UserList */, - F86820E6637BDBB3FC5C25C9 /* MessageSearch */, - E84B0B198F10DA4EB37F5ECE /* MessageThread */, - F9217EC91985D6B803441800 /* SelectUser */, + A93AE84F2A383CAA00AFFF9C /* CustomBaseViewController.swift */, + A93AE8502A383CAA00AFFF9C /* Manager */, + A93AE85D2A383CAA00AFFF9C /* PaddingLabel.swift */, + A93AE85E2A383CAA00AFFF9C /* View */, ); - name = ViewModel; + path = Customize; sourceTree = ""; }; - D7FA463BBC2C9D4BB4680E00 /* UserList */ = { + A93AE8502A383CAA00AFFF9C /* Manager */ = { isa = PBXGroup; children = ( - F870408F34A9FEFF5CABEDD1 /* SBUUserListViewController.swift */, + A93AE8512A383CAA00AFFF9C /* Features */, + A93AE8592A383CAA00AFFF9C /* Common */, ); - name = UserList; + path = Manager; sourceTree = ""; }; - D87D2E5CE8D0D2F7A85A1A6B /* MessageCell */ = { + A93AE8512A383CAA00AFFF9C /* Features */ = { isa = PBXGroup; children = ( - 5F56809D086843E5C4BDEC0A /* SBUMessageCellConfiguration.swift */, + A93AE8522A383CAA00AFFF9C /* ChannelListCustomManager.swift */, + A93AE8532A383CAA00AFFF9C /* InviteUserCustomManager.swift */, + A93AE8542A383CAA00AFFF9C /* MemberListCustomManager.swift */, + A93AE8552A383CAA00AFFF9C /* ChannelSettingsCustomManager.swift */, + A93AE8562A383CAA00AFFF9C /* GlobalSetCustomManager.swift */, + A93AE8572A383CAA00AFFF9C /* CreateChannelCustomManager.swift */, + A93AE8582A383CAA00AFFF9C /* ChannelCustomManager.swift */, ); - name = MessageCell; + path = Features; sourceTree = ""; }; - D893657AC3A35E390E3DAB7A /* ChannelSettings */ = { + A93AE8592A383CAA00AFFF9C /* Common */ = { isa = PBXGroup; children = ( - 8C6AA0DC1BBD2CB35C54AEB4 /* ChannelSettingItem */, - 3592038AD7A1BD690064E1E9 /* GroupChannel */, - 31D6236C92B346A54399CDE2 /* OpenChannel */, + A93AE85A2A383CAA00AFFF9C /* CustomSampleEnums.swift */, + A93AE85B2A383CAA00AFFF9C /* BaseCustomManager.swift */, + A93AE85C2A383CAA00AFFF9C /* SampleManager.swift */, ); - name = ChannelSettings; + path = Common; sourceTree = ""; }; - DB98278A18B8AE7862AA4BE6 /* User */ = { + A93AE85E2A383CAA00AFFF9C /* View */ = { isa = PBXGroup; children = ( - CC738422864320EE0D1B8BA1 /* SBUUserProfileView.swift */, + A93AE85F2A383CAA00AFFF9C /* InviteUser */, + A93AE8622A383CAA00AFFF9C /* ChannelList */, + A93AE8672A383CAA00AFFF9C /* Channel */, + A93AE8702A383CAA00AFFF9C /* ChannelSettings */, + A93AE8722A383CAA00AFFF9C /* Common */, + A93AE8752A383CAA00AFFF9C /* MemberList */, + A93AE8782A383CAA00AFFF9C /* CreateChannel */, ); - name = User; + path = View; sourceTree = ""; }; - DC30657EAC3E02F64F9F20F5 /* Mention */ = { + A93AE85F2A383CAA00AFFF9C /* InviteUser */ = { isa = PBXGroup; children = ( - 3DD833227594C6DD421F010D /* SBUMentionConfiguration.swift */, - CAC1278BDCB8F07C40417D85 /* SBUUserMentionConfiguration.swift */, + A93AE8602A383CAA00AFFF9C /* InviteUserVC_Cell.swift */, + A93AE8612A383CAA00AFFF9C /* InviteUserVC_UserList.swift */, ); - name = Mention; + path = InviteUser; sourceTree = ""; }; - DE675A63F7329F7FADE0CC31 /* MessageThread */ = { + A93AE8622A383CAA00AFFF9C /* ChannelList */ = { isa = PBXGroup; children = ( + A93AE8632A383CAA00AFFF9C /* ChannelListVC_Overriding.swift */, + A93AE8642A383CAA00AFFF9C /* CustomChannelListModule.swift */, + A93AE89A2A38479400AFFF9C /* ChannelListVC_CustomHeader.swift */, + A93AE89C2A3847B600AFFF9C /* ChannelListVC_CustomList.swift */, + A93AE8652A383CAA00AFFF9C /* SubView */, ); - name = MessageThread; + path = ChannelList; sourceTree = ""; }; - DEC1F2324402F902B5D36A13 /* FileMessageContentView */ = { + A93AE8652A383CAA00AFFF9C /* SubView */ = { isa = PBXGroup; children = ( + A93AE8662A383CAA00AFFF9C /* CustomChannelListCell.swift */, ); - name = FileMessageContentView; + path = SubView; sourceTree = ""; }; - DFA125D7C12529A6EC769AB0 /* NotificationSettings */ = { + A93AE8672A383CAA00AFFF9C /* Channel */ = { isa = PBXGroup; children = ( - 49FC8E786007678ADAB47102 /* SBUGroupChannelPushSettingsModule.List.swift */, - 3CF2898DB3941D2D2A4C95A2 /* SBUGroupChannelPushSettingsModule.swift */, - C68A8D51213F4FDF9212C354 /* SBUGroupChannelPushSettingsModule.Header.swift */, + A93AE8692A383CAA00AFFF9C /* ChannelVC_CustomHeader.swift */, + A93AE86E2A383CAA00AFFF9C /* ChannelVC_CustomList.swift */, + A93AE8682A383CAA00AFFF9C /* ChannelVC_CustomInput.swift */, + A93AE86A2A383CAA00AFFF9C /* ChannelVC_Overriding.swift */, + A93AE86B2A383CAA00AFFF9C /* SubView */, + A93AE86F2A383CAA00AFFF9C /* ChannelVC_MessageParam.swift */, ); - name = NotificationSettings; + path = Channel; sourceTree = ""; }; - E0A22B47E4AA870BEFFCACDF /* ChannelSettings */ = { + A93AE86B2A383CAA00AFFF9C /* SubView */ = { isa = PBXGroup; children = ( - 59A88C477045F57B85B32F46 /* Cell */, - 05D34BBBE881CEB7615610A3 /* View */, + A93AE86C2A383CAA00AFFF9C /* CustomNewMessageInfo.swift */, + A93AE86D2A383CAA00AFFF9C /* CustomUserMessageCell.swift */, ); - name = ChannelSettings; + path = SubView; sourceTree = ""; }; - E1E478EEA18D1A347D402F93 /* UserList */ = { + A93AE8702A383CAA00AFFF9C /* ChannelSettings */ = { isa = PBXGroup; children = ( + A93AE8712A383CAA00AFFF9C /* ChannelSettingsVC_Overriding.swift */, ); - name = UserList; + path = ChannelSettings; sourceTree = ""; }; - E27FD5F53C0E55E6DA8FBC3C /* FileViewer */ = { + A93AE8722A383CAA00AFFF9C /* Common */ = { isa = PBXGroup; children = ( + A93AE8732A383CAA00AFFF9C /* CustomUserCell.swift */, + A93AE8742A383CAA00AFFF9C /* CustomEmptyView.swift */, ); - name = FileViewer; + path = Common; sourceTree = ""; }; - E2F689F9483EE54251F4559D /* UserCell */ = { + A93AE8752A383CAA00AFFF9C /* MemberList */ = { isa = PBXGroup; children = ( + A93AE8762A383CAA00AFFF9C /* MemberListVC_Cell.swift */, + A93AE8772A383CAA00AFFF9C /* MemberListVC_Overriding.swift */, ); - name = UserCell; + path = MemberList; sourceTree = ""; }; - E5AC7186C2CED8C35F28A8E0 /* OpenChannel */ = { + A93AE8782A383CAA00AFFF9C /* CreateChannel */ = { isa = PBXGroup; children = ( + A93AE8792A383CAA00AFFF9C /* CreateChannelVC_Cell.swift */, + A93AE87A2A383CAA00AFFF9C /* CreateChannelVC_UserList.swift */, ); - name = OpenChannel; + path = CreateChannel; sourceTree = ""; }; - E5C44F0DF32EA6891B8D0EDC /* MessageCell */ = { + A968B36528C86AE100271C60 /* ChannelList */ = { isa = PBXGroup; children = ( - 417EEC654DF1FF22573E4C04 /* MessageCellParams */, - 42C99453C604573B800879C1 /* Replies */, - 0F5C9A213F8564A2571CA3FC /* SBUContentBaseMessageCell.Deprecated.swift */, + 9C037DF4280432DB00059696 /* LiveStreamChannelListViewController.swift */, + A968B36928C86B5700271C60 /* LiveStreamChannelListViewModel.swift */, + A968B36B28C86B8600271C60 /* LiveStreamChannelListModule.List.swift */, + 9C037DF5280432DB00059696 /* LiveStreamChannelCell.swift */, ); - name = MessageCell; + path = ChannelList; sourceTree = ""; }; - E60D1A4775AA578FBD87DADE /* ViewModel */ = { + A968B36628C86AFA00271C60 /* ChannelList */ = { isa = PBXGroup; children = ( + 9C037DF8280432DB00059696 /* CommunityChannelListViewController.swift */, ); - name = ViewModel; + path = ChannelList; sourceTree = ""; }; - E7FDD028935CF87E9BD6BB24 /* ChannelSettings */ = { + A968B36728C86B0000271C60 /* CreateChannel */ = { isa = PBXGroup; children = ( - E161AA7E9A0393FB6BF1988D /* SBUBaseChannelSettingsModule.Header.swift */, - 176BBAE6FEBA0033CE36DE42 /* SBUBaseChannelSettingsModule.List.swift */, - 07172FE6FEC2DD7CB592C92A /* ChannelSettingItem */, - CCD62ED3C44E5338D1570D33 /* GroupChannel */, - 1DDD61B2E8A988C6071049F5 /* SBUBaseChannelSettingsModule.swift */, - 2D3543B4F805375693CB09E8 /* OpenChannel */, + 9C037DFA280432DB00059696 /* CreateCommunityChannelViewController.swift */, ); - name = ChannelSettings; + path = CreateChannel; sourceTree = ""; }; - E834871FE54BF706FE163AFB /* CreateChannel */ = { + A968B36828C86B2700271C60 /* Channel */ = { isa = PBXGroup; children = ( + 9C037DF6280432DB00059696 /* LiveStreamChannelViewController.swift */, + A968B36D28C9AB7F00271C60 /* LiveStreamChannelModule.Media.swift */, ); - name = CreateChannel; + path = Channel; sourceTree = ""; }; - E84354616AB9EB419D4CE21E /* Common */ = { + ABB3AA11B04E4DA4717F5D44 /* ViewModel */ = { isa = PBXGroup; children = ( - 66A81B07262521C357347AEA /* SBUCommonDelegate.swift */, + 48F97E604C4D028A56692542 /* SBUUserMessageTextViewModel.swift */, + 25C0B4DEC456D4FFE1408681 /* SBUMessageWebViewModel.swift */, ); - name = Common; + name = ViewModel; sourceTree = ""; }; - E84B0B198F10DA4EB37F5ECE /* MessageThread */ = { + AE5030A6C54C7F392F13672B /* MessageCell */ = { isa = PBXGroup; children = ( - ED636CAE01371BF247C99AA3 /* SBUMessageThreadViewModel.swift */, + 3E6F375D2A3DE4DE1147FE59 /* MessageCellParams */, + 5C5734A5FEAAF1C50247A2F8 /* Replies */, + 4E7B3FCFA6A6F8C5DBE25A5A /* SBUContentBaseMessageCell.Deprecated.swift */, ); - name = MessageThread; + name = MessageCell; sourceTree = ""; }; - E8A62DF235B296E5F8E5FE96 /* Module */ = { + B0AEB3CBBB40E9185306B873 /* SelectUser */ = { isa = PBXGroup; children = ( - 96EE3B41D08D7FA32A85D50F /* ChannelList */, - DFA125D7C12529A6EC769AB0 /* NotificationSettings */, - CCA0C770FE770833D0B60DAF /* Channel */, - E7FDD028935CF87E9BD6BB24 /* ChannelSettings */, - CC07836A63CDFC59E5E71C76 /* UserList */, - 0AC2E2734C3F6F9FC9A220E4 /* SBUModuleSet.swift */, - B59D03981A2AAA3F95D92022 /* MessageSearch */, - 13885281F4767043A7DB5CFE /* MessageThread */, - 2F6883C3C0105522FE00737A /* Moderations */, - 9C3DD4E658AC39D78C5F96D3 /* SelectUser */, + 93A32C25AFFF84606E8BDDCC /* SBURegisterOperatorViewController.swift */, + 83710201EAB5DB8B64A16C08 /* SBUBaseSelectUserViewController.swift */, + D15F6D90BCF87A4D0C374275 /* SBUInviteUserViewController.swift */, + 96CF21D773272596792FF8C5 /* CreateChannel */, ); - name = Module; + name = SelectUser; sourceTree = ""; }; - E927FD220CC0E5ECEC3F6085 /* MemberList */ = { + B60FEB8D163681F50462A2A2 /* Deprecated */ = { isa = PBXGroup; children = ( - 64694D4B809D684F19F257B0 /* SBUMemberListViewController.Deprecated.swift */, + 23DDC8AC1C080DE611095104 /* SBUTableViewCell.Unavailable.swift */, + BA2E5C9789C38FA4A63081A6 /* ChannelList */, + 94AA7A4F1612B41D847964E1 /* Channel */, + 29587439177B6B19E6719B1F /* ChannelSettings */, + 32C7378296021101C2766A7C /* SBUBaseViewController.Unavailable.swift */, + 9011F2614321CA4D52239138 /* MemberList */, + A05EAE960B05155A86A4BEED /* UserList */, + 3DB54016CA7CB25A9F815D18 /* MessageSearch */, + D67327E34FCF071E1772BA12 /* SBUView.Unavaliable.swift */, + 031F13A729038D0C6639A2B6 /* SBUGlobals.Deprecated.swift */, + A12F9A19EE1BCE79621F29BF /* SBUCoverImageView.Deprecated.swift */, + 894624F254DB6923AEF7FEB6 /* Moderations */, + 125B54CE822D245E9CFF1F9C /* SBUTheme.Deprecated.swift */, + 3481AF0ED6F7AFCA850A8853 /* CreateChannel */, + B5C5EB69D93EBEF8686D765C /* SBUModuleSet.Deprecated.swift */, + 6AF0C42E48F6C0A967AC9C35 /* SBUEnums.Deprecated.swift */, ); - name = MemberList; + name = Deprecated; sourceTree = ""; }; - E9CBEFCA714EEA35275254EA /* Common */ = { + B69C8DE762E7A9D7D507550B /* Channel */ = { isa = PBXGroup; children = ( + ABB3AA11B04E4DA4717F5D44 /* ViewModel */, + 6022205A99612A878E82443E /* Reaction */, + 7148F3ABCFC2FE256BB6078A /* SBUFeedNotificationChannelViewController.swift */, + A6D2FA006CCC4839378F48FA /* SBUBaseChannelViewController.swift */, + F3B424033F954A45CE46EC97 /* MessageCell */, + F21B3529CBF1A3C9EDF18730 /* SBUGroupChannelViewController.swift */, + 3A968F8090D2BC4D281025B1 /* MessageInput */, + 205535FB110ECED7813999EC /* CategoryFilterCell */, + EC75DA757438350EC83413FE /* CellView */, + 7A3AB49BEAF7ED9805041C0A /* FileViewer */, + 4A2A8E48D3DD64754017EEB1 /* SBUBaseChannelViewController.Keyboard.swift */, + BC160F3E05BF5BCA53241E4C /* SBUChatNotificationChannelViewController.swift */, + 5CB4961BAD864BE50F68056D /* NewMessageInfo */, + A67075B40E4E258F6F6DC7F1 /* SBUOpenChannelViewController.swift */, + 0C733C0FCEEB672F319CEEE9 /* Header */, ); - name = Common; + name = Channel; sourceTree = ""; }; - EA40BC5CCB43808208B179F5 /* ViewParams */ = { + BA2E5C9789C38FA4A63081A6 /* ChannelList */ = { isa = PBXGroup; children = ( + 3B68646A3535CBAC305B13D9 /* SBUChannelListViewController.Deprecated.swift */, ); - name = ViewParams; + name = ChannelList; sourceTree = ""; }; - EBB145F45E8CBDDF0B33BBD0 /* View */ = { + BAA1AA580DBCF55F97790F74 /* NotificationSettings */ = { isa = PBXGroup; children = ( - CBC52FAB88FE4DEF456B6251 /* SBUCreateChannelTypeSelector.swift */, + EFB70499E74302689CA138B4 /* SBUGroupChannelPushSettingsModule.List.swift */, + 064B87296625C167424EC55D /* SBUGroupChannelPushSettingsModule.swift */, + 9728D9014CAB14BB6F53A70C /* SBUGroupChannelPushSettingsModule.Header.swift */, ); - name = View; + name = NotificationSettings; sourceTree = ""; }; - EBBBC39AF429B1FA982C831F /* UserList */ = { + BC9A8611E223BE348F237E80 /* ChatSDK */ = { isa = PBXGroup; children = ( - 6B17CE1D0AECF3EE2234401D /* SBUUserListViewModel.swift */, + FEA474A74A4462C5C16301EA /* BaseMessage+SBUIKit.swift */, + AF6A88F567091C1AF5D4CE4D /* MultipleFilesMessage+SBUIKit.swift */, ); - name = UserList; + name = ChatSDK; sourceTree = ""; }; - EC30CDAB95D52CFCC732C1CF /* User */ = { + BCE354EA4FF797A7EEB5D15A /* Configuration */ = { isa = PBXGroup; children = ( + 9C70A2461E25A63D6E7BB863 /* MessageCell */, + 95FA6E0CE99D48D2FA336558 /* Replies */, + 60B34DA8A62448D9A78D0A00 /* SBUConfigManager.swift */, + FFF48131321A48C3ECE72909 /* SBUConfig.OpenChannel.swift */, + 946368AA53CDBE8D30E683E3 /* SBUConfig.swift */, + 51C790FEFCE7D1B9A7D30F34 /* VoiceMessage */, + 9F79C883AF808F46D53AA6A6 /* SBUConfig.Base.swift */, + A8AAF7D7223A3DD59089A3BA /* SBUConfig.GroupChannel.swift */, + 2E9854B61F285FA6084456E7 /* Mention */, + ABE644391B908AC52D9027FB /* SBUConfig.Common.swift */, + 918829350AFD0031A18DE7F2 /* SBUDashboardConfig.swift */, + 9BDB5CCC10BF6EDE6A843ECD /* SBUConfig.CodingKeys.swift */, ); - name = User; + name = Configuration; sourceTree = ""; }; - EE99CEFAB8C023C183411183 /* PhotoLibrary */ = { + BD905D14995A4FC4042AE3EA /* MultipleFilesMessage */ = { isa = PBXGroup; children = ( - 7DA6C51198C5CE332E8E302B /* SBUPhotoAccess.swift */, - CA69FD2A69D7E8B0CD7AECDA /* SBUPhotoCollectionViewCell.swift */, - 30DFE59DBCE853547995030E /* SBUSelectablePhotoViewController.swift */, + AE25855EA0270C5807B495E3 /* SBUMultipleFilesMessageCollectionViewCell.swift */, + B899559DB6AE53E3E8FB0BA6 /* SBUMultipleFilesMessageCollectionView.swift */, + 1BB6F47708347698C0A46D24 /* SBUMultipleFilesMessageCell.swift */, ); - name = PhotoLibrary; + name = MultipleFilesMessage; sourceTree = ""; }; - F2B291B982E4440FC295358C /* Configuration */ = { + C184CDF4D5BBFA43B55D2157 /* ViewModel */ = { isa = PBXGroup; children = ( - D87D2E5CE8D0D2F7A85A1A6B /* MessageCell */, - 7DB50A44E773B46AEDE77242 /* Replies */, - 15C54725C0DED15A0501A8DA /* SBUConfigManager.swift */, - A1D9C12F96CE9329316A1575 /* SBUConfig.OpenChannel.swift */, - B3B01F3E4041572554116D04 /* SBUConfig.swift */, - C08FCF78447797C724DA22F1 /* VoiceMessage */, - A926925E7456E8890BF6A31A /* SBUConfig.Base.swift */, - A10C375772292AFABFF0AD0A /* SBUConfig.GroupChannel.swift */, - DC30657EAC3E02F64F9F20F5 /* Mention */, - EED84ED1FC10DD30ED3210A5 /* SBUConfig.Common.swift */, - 06CE5283A27E69F74119BFF1 /* SBUDashboardConfig.swift */, - 72572E7ADB5D09980E8DE158 /* SBUConfig.CodingKeys.swift */, + B349D6358A11E34E8E06EC40 /* SBUViewModelDelegate.swift */, + 2166662A57408C848332973D /* ChannelList */, + DA3DBFB10F0782E730D88445 /* NotificationSettings */, + 9845E47F6D3DC5DE3AD95A05 /* Channel */, + C939DCB3239C23ABA14C8FEB /* ChannelSettings */, + 21AE5897478027A38D295182 /* Common */, + 16D493644B300BAA23EA25A2 /* UserList */, + A13ED56B5592BDA2C44AAA5F /* MessageSearch */, + 487892E3E485D29344D4A43A /* MessageThread */, + 87995B2D7FDD91883C0F2208 /* SelectUser */, ); - name = Configuration; + name = ViewModel; sourceTree = ""; }; - F317DC7B8C7A086954E0243D /* CategoryFilterCell */ = { + C33CEDB0E07DB9450AA891F7 /* Theme */ = { isa = PBXGroup; children = ( - F6E222209B7D5570C0BC7F7C /* SBUCategoryFilterCell.swift */, + A037EC4525B735F5BE04D1F4 /* SBUIconSet.swift */, + F8B5944204FD876D3662595A /* SBUColorSet.swift */, + EFF60EA4107CF0AAB811399E /* SBUTheme+Type.swift */, + 397A47CE3A95A3B0AD4C390E /* SBUFontSet.swift */, + 07A3B3ED641C57ECB4CBDCB1 /* SBUTheme.swift */, ); - name = CategoryFilterCell; + name = Theme; sourceTree = ""; }; - F6CDA8D4B69C05CE86250AD8 /* Replies */ = { + C47FACF92C7365F841A2429B /* Resource */ = { isa = PBXGroup; children = ( - D76083478E46AD70E574F0B0 /* MessageView */, - BC190949777D0D1DA7FF4C62 /* ViewParams */, + 0C76C69CAAE800570AD9C917 /* Assets.xcassets */, ); - name = Replies; + name = Resource; sourceTree = ""; }; - F7546AA1DD251ACCDFF2CA44 /* NotificationSettings */ = { + C82DF5E195E5DE374EEEA547 /* Model */ = { isa = PBXGroup; children = ( + 978AAA6617D43FC61044957E /* SBUMention.swift */, + 7E81839538B44256968CE563 /* SBUMessageCache.swift */, + 1C28482AC2CA73AF26EEA5FA /* SBUUser.swift */, + 13E99AC16B4603925740F244 /* SBUVoiceFileInfo.swift */, + E715BCF98AF3D13965F49A1C /* SBUHighlightMessageInfo.swift */, ); - name = NotificationSettings; + name = Model; sourceTree = ""; }; - F82AB7E4B340C4216F38459C /* MessageSearch */ = { + C8D91CB9BEBF215E0E82D3D7 /* Cell */ = { isa = PBXGroup; children = ( + 286ABB042407B2D4CA117372 /* SBUChannelPushSettingCell.swift */, ); - name = MessageSearch; + name = Cell; sourceTree = ""; }; - F86820E6637BDBB3FC5C25C9 /* MessageSearch */ = { + C939DCB3239C23ABA14C8FEB /* ChannelSettings */ = { isa = PBXGroup; children = ( - 44117C91BD3C421581F0637C /* SBUMessageSearchViewModel.swift */, + F60AA35EE472F3CCE0177E89 /* SBUBaseChannelSettingsViewModel.swift */, + A3AC2F6C287214B9C473EC00 /* SBUModerationsViewModel.swift */, + E7A85768D4753CD4A4B39F13 /* SBUGroupChannelSettingsViewModel.swift */, + 45D03072893C76F7E74017DA /* SBUOpenChannelSettingsViewModel.swift */, ); - name = MessageSearch; + name = ChannelSettings; sourceTree = ""; }; - F9217EC91985D6B803441800 /* SelectUser */ = { + C97717CBEFAC417A8173C7BE /* ChannelSettingItem */ = { isa = PBXGroup; children = ( - 350E017DA6404DE6E7EAD4FC /* SBUBaseSelectUserViewModel.swift */, - B00D45436A95A41D71047A07 /* SBURegisterOperatorViewModel.swift */, - CE0D051EF2EBA5A5E34DE070 /* CreateChannel */, - BA98E233A3F8315346CE75A8 /* SBUInviteUserViewModel.swift */, + FDFDE39804434C853ECDBF0E /* SBUChannelSettingItem.swift */, + ); + name = ChannelSettingItem; + sourceTree = ""; + }; + C9A4831A42594288BCE8D47C /* SelectUser */ = { + isa = PBXGroup; + children = ( + 3F8871A2F99CEAC2C4E91CA4 /* RegisterOperator */, + 2C780AAE51BF5D66B6F460AC /* InviteUser */, + C6E38C3D56DF99104BA21A25 /* SBUBaseSelectUserModule.Header.swift */, + 9016536C14B95093CE5EC82D /* SBUBaseSelectUserModule.swift */, + 63609745E65E0B52AF1CE23E /* CreateChannel */, + ABD157A2A654337A7BA274BF /* SBUBaseSelectUserModule.List.swift */, ); name = SelectUser; sourceTree = ""; }; - F925FAF40B7B03535FD23CB8 /* NotificationChannel */ = { + CA63FAE7FE3120185A7AB3BD /* Extension */ = { + isa = PBXGroup; + children = ( + 13E72FCEC3FDD352E10B7BAC /* UIStackView.SBUIKit.swift */, + F42F7105DD8DFE0975184164 /* URL+SBUKit.swift */, + 15A5141E87E2CBA639CDAC92 /* Array+SBUIKit.swift */, + 1207CA3F95A8B8D438FC01DF /* UIColor+SBUIKit.swift */, + C625936E17106B3DEC2F35C8 /* Formatter+SBUIKit.swift */, + 1C07856F2A60803FD9465899 /* UIImage+SBUIKit.swift */, + D2E8B6E73F38205D57B17B03 /* NSLayoutConstraint+SBUIKit.swift */, + C271F8C5779DC0BEAB1866F0 /* UIButton+SBUIKit.swift */, + B6F5675CD54E4E19F196222A /* UINavigationController+SBUIKit.swift */, + BC9A8611E223BE348F237E80 /* ChatSDK */, + F8441759E1365B6F02706EE5 /* String+SBUIKit.swift */, + 675F4B89AB441C575145F984 /* CGSize+SBUIKit.swift */, + 5116D2B8A7C808849C61BD43 /* Float+SBUKit.swift */, + 05CEA342FD36EA745A3EEC0C /* Data+SBUIKit.swift */, + 64C8C370106E69D699D79D31 /* UIViewController+SBUIKit.swift */, + 629C03081E11658DA7A82E42 /* Date+SBUIKit.swift */, + 8D2EB0D647B8052A61269A5C /* StringProtocol+SBUIKit.swift */, + C3F7CFBB23C3FAE2F7FAF587 /* UIApplication+SBUIKit.swift */, + 42E3063831FC6AAFCB8B55BF /* UIView+SBUIKit.swift */, + 39083B02EAD9C247C1EC40A9 /* Sequence+SBUIKit.swift */, + 12CFCCF4F2FA96D38553D66F /* UIImageView+SBUIKit.swift */, + A247579F70A4FE7A9692CC07 /* NSObject+SBUIKit.swift */, + 68DB8FE9777577E2EBDE1732 /* UITextField+SBUIKit.swift */, + ); + name = Extension; + sourceTree = ""; + }; + CEA622A346F661AF1B9B3470 /* View */ = { isa = PBXGroup; children = ( - 2893CDF96F20D479509AA410 /* SBUNotificationCell.swift */, - 7FF8417CBFE3DF9176C20246 /* SBUFeedNotificationCell.swift */, - 84FDC397F7D21A54D784C440 /* SBUChatNotificationCell.swift */, + AE010990F4E0CC6C9CBD49E9 /* SBUCreateChannelTypeSelector.swift */, ); - name = NotificationChannel; + name = View; + sourceTree = ""; + }; + D05D8DEEC7E4920CCA18AE02 /* UserList */ = { + isa = PBXGroup; + children = ( + 33E2A47947BA8AA0C884C1FB /* SBUUserListModule.swift */, + 0FFB8AD8659713F67F88ED9F /* SBUUserListModule.List.swift */, + DF6D0A8BE54122E8A3164EDE /* SBUUserListModule.Header.swift */, + ); + name = UserList; sourceTree = ""; }; - F938FAB578B17353FF33FA53 /* OpenChannel */ = { + D19FAFD447C762073C5F9AB3 /* OpenChannel */ = { isa = PBXGroup; children = ( - 3F51BFF7FF71AF1AE106810E /* SBUOpenChannelListModule.swift */, - E13A1EDE172117FBCF139BEC /* SBUOpenChannelListModule.List.swift */, - 1BB561445C9F2FE2BEE5F599 /* SBUOpenChannelListModule.Header.swift */, + 7CA1E200A4B98086A43A1E18 /* SBUOpenChannelListModule.swift */, + 52C7B49F09393FA5D87AEFF8 /* SBUOpenChannelListModule.List.swift */, + 5E1FF50DD60FA14EEDE320FA /* SBUOpenChannelListModule.Header.swift */, ); name = OpenChannel; sourceTree = ""; }; - FA8629337F3FF2F99EFFE944 /* View */ = { + D4EA1105AF9EAD2C6E1B925A /* Replies */ = { isa = PBXGroup; children = ( - 2E611B4A91BB2314220F239E /* SBUBaseViewController.swift */, - ADEE30769771D187B2149CFE /* ChannelList */, - 0531D9A595B84B3A192F68F2 /* NotificationSettings */, - BB215071CC4930B9299B491D /* Channel */, - 4A3183B201756D2B071427CF /* ChannelSettings */, - B8AF5E1857DE50554251186D /* VoiceNote */, - A4B927E66B9BDCEBA3CA564F /* Common */, - D7FA463BBC2C9D4BB4680E00 /* UserList */, - 177D90CB83C6B09C7D5AD0A1 /* SBUViewControllerSet.swift */, - C9FE127CD301C2AFE719D7F5 /* MessageSearch */, - 8BC8D4DFCC1ADF4EEEFBE88C /* Life cycles */, - 5F229CE808EC6719C9096CCD /* MessageThread */, - AE52C65AFB7BBB545FDB21B4 /* Moderations */, - A549FBAEB836AE0548DB18AF /* SelectUser */, + 0DDE177763850D346B47EECF /* MessageView */, + 42E8CD27C94EDC3A43FC5E2E /* ViewParams */, ); - name = View; + name = Replies; sourceTree = ""; }; - FCC59DF2154BAD5E6C2BFE4C /* MessageCell */ = { + DA3DBFB10F0782E730D88445 /* NotificationSettings */ = { isa = PBXGroup; children = ( - 47CBF447BCFDA4A47DC3DBEB /* MessageCellParams */, - CA9D4ED2403E376D1B50FBD3 /* FileMessageContentView */, - F925FAF40B7B03535FD23CB8 /* NotificationChannel */, - F6CDA8D4B69C05CE86250AD8 /* Replies */, - C597B811451EBFB1DEA67318 /* SBUBaseMessageCell.swift */, - D61364A677AD11D00B879F91 /* OpenChannel */, - BE4935E7C40522D6D1B4418E /* SBUFileMessageCell.swift */, - 6182A466235E45DD4494FD0C /* SBUAdminMessageCell.swift */, - 9B9F65DA4E371C5717532414 /* SBUContentBaseMessageCell.swift */, - C574FCB82609E4273FB71874 /* SBUUnknownMessageCell.swift */, - 1282AD0D782800F0F52B61B4 /* SBUUserMessageCell.swift */, + A84CCAE1FD9D5623712835B6 /* SBUGroupChannelPushSettingsViewModel.swift */, ); - name = MessageCell; + name = NotificationSettings; sourceTree = ""; }; - FD700E0B972177D0C0B74A88 /* Deprecated */ = { + DDA4B3FCF13565A5BE96DE1B /* Enums */ = { isa = PBXGroup; children = ( - 0F28CCAEC27339A5B5F51FF4 /* SBUTableViewCell.Unavailable.swift */, - 161BC94A73FBDABB6EF03EE0 /* ChannelList */, - 6636E2BBC14ED4D02B76CF05 /* Channel */, - D43A968EEC1A93A1EC02BF3B /* ChannelSettings */, - 8753F1339E8DBD222A2B3FDB /* SBUBaseViewController.Unavailable.swift */, - E927FD220CC0E5ECEC3F6085 /* MemberList */, - B67FE126C7F222D08A1CC151 /* UserList */, - 1756635B80BFAE47DC46ABFD /* MessageSearch */, - B141AA0571FAF8EF1D9B883B /* SBUView.Unavaliable.swift */, - 27CBB28CC5EE27C314F3663E /* SBUGlobals.Deprecated.swift */, - 4FC80D245E9FB11E15A59DDC /* SBUCoverImageView.Deprecated.swift */, - B1990CFC0D61E5BE0A63A20D /* Moderations */, - 31A18EFAB2584C084DBEC186 /* SBUTheme.Deprecated.swift */, - 58F5FE2B3BB6A47B75841CA2 /* CreateChannel */, - 968F1E62124C9EEA0B2FF48D /* SBUModuleSet.Deprecated.swift */, - 4BB66C638BDDBC853B7833D0 /* SBUEnums.Deprecated.swift */, + E418216859F476744158B730 /* VoiceMessageStatus.swift */, + 4CE60F9E512F491B68FD11D0 /* SBUIconSetType.swift */, + D4F5EC3517844E8A496665C7 /* SBUEnums.swift */, ); - name = Deprecated; + name = Enums; sourceTree = ""; }; - FD71F0034D6DB44413B3C1C5 /* FileViewer */ = { + E0D28AD21C561B81875B83F0 /* OpenChannel */ = { isa = PBXGroup; children = ( - 83004DF0A3034678FBA8516F /* SBUFileViewController.swift */, + 8ABB490EC5DDF7FC8133E678 /* SBUOpenChannelModule.List.swift */, + 28B8168EA7AA982FBD7F15EB /* SBUOpenChannelModule.Media.swift */, + DDBF87A7985E5EC71B141E9B /* SBUOpenChannelModule.Input.swift */, + 725F22ACAD2767BAEB1ECEF2 /* SBUOpenChannelModule.Header.swift */, + 3B47441B1DA96A6052326738 /* SBUOpenChannelModule.swift */, ); - name = FileViewer; + name = OpenChannel; sourceTree = ""; }; - FD9856D530B47C4AD2859736 /* VoiceNote */ = { + E172D2ED3DA20F3F8BA37728 /* ChannelList */ = { isa = PBXGroup; children = ( + 8DC6A7F5C2A85CF37FDEEEAD /* SBUBaseChannelListModule.swift */, + 6C71D02AD8B00965725BC47B /* GroupChannel */, + F2B19D668566F4A23808664F /* SBUBaseChannelListModule.Header.swift */, + 060732560092246857AE6BE3 /* SBUBaseChannelListModule.List.swift */, + D19FAFD447C762073C5F9AB3 /* OpenChannel */, ); - name = VoiceNote; + name = ChannelList; sourceTree = ""; }; - FE259F44A6CE203D0B0B1FC7 /* Feed */ = { + E71FBDECFEF622974D7F0940 /* Sources */ = { + isa = PBXGroup; + children = ( + 3A4FAF707362F9868564E0AE /* Configurations */, + C184CDF4D5BBFA43B55D2157 /* ViewModel */, + BCE354EA4FF797A7EEB5D15A /* Configuration */, + CA63FAE7FE3120185A7AB3BD /* Extension */, + 21A889FA31C71A7F96D49512 /* Util */, + 3AD5B723F9421FF5385C7CC4 /* SendbirdUI.swift */, + D2A65232F270128A7E7D17CA /* SBUAvailable.swift */, + 18269A05ECAE6F1B3A85B300 /* Module */, + DDA4B3FCF13565A5BE96DE1B /* Enums */, + A8B61EA4AA34F299112452A1 /* CustomSyntaxTest */, + 4680563818122982064DE722 /* Protocol */, + 4943042D824BC016BB0887E2 /* Manager */, + 60C63031F96B3B3CD8793477 /* SBUGlobalCustomParams.swift */, + 32A48C9F42F110B183E5D981 /* Constant */, + C33CEDB0E07DB9450AA891F7 /* Theme */, + C82DF5E195E5DE374EEEA547 /* Model */, + 5DA14CA71646684AB63428C9 /* View */, + A02933C2CD205D7A95111F11 /* SendbirdUIKit.h */, + 8626CDC95806709FC78772AC /* SBUGlobals.swift */, + C47FACF92C7365F841A2429B /* Resource */, + B60FEB8D163681F50462A2A2 /* Deprecated */, + ); + name = Sources; + sourceTree = ""; + }; + EC0DBC70594DE83A4F07133F /* User */ = { isa = PBXGroup; children = ( - E89B9D38CD064EC04A9DCE54 /* SBUFeedNotificationChannelModule.Header.swift */, - 761886AB5C44F0A9C0B687AB /* SBUFeedNotificationChannelModule.List.swift */, - 7F749212D2FDB736A08759F9 /* SBUFeedNotificationChannelModule.CategoryFilter.swift */, - 8303883F80534809B3B047D2 /* SBUFeedNotificationChannelModule.swift */, + 9DE7993411C94BBEAF473ACF /* SBUUserProfileView.swift */, ); - name = Feed; + name = User; sourceTree = ""; }; - FE51BD965EF169411ED2313A /* MessageSearch */ = { + EC75DA757438350EC83413FE /* CellView */ = { isa = PBXGroup; children = ( - 59BD7B9F9BA6578F263874E2 /* Cell */, + 1C00F77AEE0355AEE6B3DB5F /* SBUMessageStateView.swift */, + 12E3CEB360E4BB8F6648A2B6 /* SBUMessageProfileView.swift */, + D48CCEB1E95D76446330325A /* SBUUserMessageTextView.swift */, + 75BAE019370F0A7CBDAD2593 /* SBUUserNameView.swift */, + 6B703A306EB03510068901B7 /* SBUMessageWebView.swift */, + 059B5B40F816318B748EE15F /* SBUMessageDateView.swift */, + 4A6F9600D453D931501C0419 /* SBULinkClickableTextView.swift */, + B61750085746E8E194C20A15 /* SBUOpenChannelMessageWebView.swift */, + 4BC8A61F1C824B4B05829E54 /* SBUSelectableStackView.swift */, + 6A88EDA202FE7AB6E404D3B6 /* SBUNotificationTimelineView.swift */, ); - name = MessageSearch; + name = CellView; sourceTree = ""; }; - FED96CBED37D5F86B11E1CFE /* SelectUser */ = { + F3B424033F954A45CE46EC97 /* MessageCell */ = { isa = PBXGroup; children = ( - E834871FE54BF706FE163AFB /* CreateChannel */, + FEA02F7083B3B2B9193A4C1F /* MessageCellParams */, + 4E23E4ECA94B6F1E9FE75E60 /* FileMessageContentView */, + 491CFD3151F83180FAEAB694 /* NotificationChannel */, + D4EA1105AF9EAD2C6E1B925A /* Replies */, + BD905D14995A4FC4042AE3EA /* MultipleFilesMessage */, + 674EFD4B91297E6C875EEC39 /* SBUBaseMessageCell.swift */, + 41C0A7D3365079406283FCB2 /* OpenChannel */, + 10AA1F3B73AB687087D974AA /* SBUFileMessageCell.swift */, + C38D466776D2D1FC1D43CC84 /* SBUAdminMessageCell.swift */, + 4B367249B997AFEBBE0BA43E /* SBUContentBaseMessageCell.swift */, + 2A5AC045927C39662CBDA28E /* SBUUnknownMessageCell.swift */, + 4284BA78B3D2CA4C4756C820 /* SBUUserMessageCell.swift */, ); - name = SelectUser; + name = MessageCell; + sourceTree = ""; + }; + FD01A34EE9AD72C158A98873 /* GroupChannel */ = { + isa = PBXGroup; + children = ( + F742E600DDF845BDCE2283EC /* SBUGroupChannelSettingsModule.swift */, + E567C68277F5A065C9CDE386 /* SBUGroupChannelSettingsModule.Header.swift */, + 96B9757943D6ACE2ED56D8D3 /* SBUGroupChannelSettingsModule.List.swift */, + ); + name = GroupChannel; + sourceTree = ""; + }; + FE24E77B1489D2B7A05CA628 /* Cell */ = { + isa = PBXGroup; + children = ( + 9BCBCE96768A4B19096B69B3 /* SBUOpenChannelSettingCell.swift */, + E049DAB2B2BBD54B5AB75AA1 /* SBUBaseChannelSettingCell.swift */, + 754E781BE1E65BA00EEC33D3 /* SBUModerationCell.swift */, + A622180754259EB9D9AF14C1 /* SBUGroupChannelSettingCell.swift */, + ); + name = Cell; + sourceTree = ""; + }; + FEA02F7083B3B2B9193A4C1F /* MessageCellParams */ = { + isa = PBXGroup; + children = ( + DB786B7E7A91CA3934C6EB52 /* SBUMultipleFilesMessageCellParams.swift */, + 671E875BD0B3DE6D6750DF62 /* SBUUserMessageCellParams.swift */, + AAEE6890A5845049A59BBB03 /* SBUUnknownMessageCellParams.swift */, + C63C081EFCE17DF595F347AA /* SBUFeedNotificationCellParams.swift */, + 4DD452516989FEA91AFADC93 /* SBUAdminMessageCellParams.swift */, + 7DE6D730CC6C22AA08706A52 /* SBUBaseMessageCellParams.swift */, + 4FC0A5053C9D9D8F0CFB055E /* SBUFileMessageCellParams.swift */, + ); + name = MessageCellParams; sourceTree = ""; }; /* End PBXGroup section */ @@ -3186,12 +3262,12 @@ 4992617B2A9D8A4A00B07828 /* MainItemView.xib in Resources */, 499261742A9D89BE00B07828 /* ConnectView.xib in Resources */, 499261752A9D89BE00B07828 /* MainView.xib in Resources */, - 03458E08AF01892CB90ECAE0 /* Debug.xcconfig in Resources */, - 3BBAB17BDF58E9BAF7B06528 /* Release.xcconfig in Resources */, - B7CC26E1C7F03259AE36D0C0 /* Base.xcconfig in Resources */, - 89EE2D73092EB4FB3D6BE4DB /* SBUReactionCollectionViewCell.xib in Resources */, - CADCB9FB8414B5DC9BFE4EB0 /* SBUMenuCell.xib in Resources */, - D586317151F928164739F03B /* Assets.xcassets in Resources */, + 8A921FD4BDA6A0B13B6B2B7B /* Debug.xcconfig in Resources */, + D1C026CF84703EFDB86DA6DA /* Release.xcconfig in Resources */, + 539CF10DE55476C416864214 /* Base.xcconfig in Resources */, + D512626058F3669F886C77CB /* SBUReactionCollectionViewCell.xib in Resources */, + C79248847095FACF69877476 /* SBUMenuCell.xib in Resources */, + 0C846DDE5BF9C8ED525EA7E9 /* Assets.xcassets in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -3291,340 +3367,348 @@ 499261762A9D89BE00B07828 /* NibCustomView.swift in Sources */, 499261732A9D89BE00B07828 /* ConnectView.swift in Sources */, 4992617A2A9D8A4A00B07828 /* MainItemView.swift in Sources */, - 80250FB83B2EA4309BB7DE49 /* SBUViewModelDelegate.swift in Sources */, - A1632A73EAABF44FB9494D3A /* SBUGroupChannelListViewModel.swift in Sources */, - F84803DD1876CBA58B88392C /* SBUOpenChannelListViewModel.swift in Sources */, - A72760F6EB0F525A47F65E8B /* SBUBaseChannelListViewModel.swift in Sources */, - 9C0EAED3475FF187E2053A00 /* SBUGroupChannelPushSettingsViewModel.swift in Sources */, - 8FEAE0B63CA6B0E0BEA39755 /* SBUFeedNotificationChannelViewModel.swift in Sources */, - F9FB0B79624CF42CCEF798C9 /* SBUOpenChannelViewModel.swift in Sources */, - 8457FE91605FF292B4FBEC8B /* SBUBaseChannelViewModel.swift in Sources */, - F978F2F3AE7202D049BE3639 /* SBUChatNotificationChannelViewModel.swift in Sources */, - 9B962D7123D14AE9D244E833 /* SBUGroupChannelViewModel.swift in Sources */, - E4AD5C57D0F308812605751D /* SBUBaseChannelSettingsViewModel.swift in Sources */, - 5C054DE55F355B61348E3C99 /* SBUModerationsViewModel.swift in Sources */, - 8B0BF9B7C9FFC03EDB37EF6D /* SBUGroupChannelSettingsViewModel.swift in Sources */, - 8483926F309130E6F13C4EF0 /* SBUOpenChannelSettingsViewModel.swift in Sources */, - F2A3C0046735F4F87E24F507 /* SBUCommonDelegate.swift in Sources */, - 213D7DF99722794B8719461C /* SBUUserListViewModel.swift in Sources */, - 9E5E52CFB8B64A8F45870F4A /* SBUMessageSearchViewModel.swift in Sources */, - 663E192E0771BABF1E332C1A /* SBUMessageThreadViewModel.swift in Sources */, - DDAD4133CC27697695C8A0F7 /* SBUBaseSelectUserViewModel.swift in Sources */, - 6B6F850924D7379BDF4767E5 /* SBURegisterOperatorViewModel.swift in Sources */, - 1DAED704268418FE322E0937 /* SBUCreateChannelViewModel.swift in Sources */, - 3289C75E89107D506BF6E847 /* SBUCreateOpenChannelViewModel.swift in Sources */, - 1880E46C0749A2DF87B41829 /* SBUInviteUserViewModel.swift in Sources */, - D4B32F8C267A0CBC014163A7 /* SBUMessageCellConfiguration.swift in Sources */, - FC4CA085C05B616140B6B56D /* SBUReplyConfiguration.swift in Sources */, - 725ABE81C0D34690F22956DB /* SBUConfigManager.swift in Sources */, - 451CEE568A052B3B84B7B0FC /* SBUConfig.OpenChannel.swift in Sources */, - 8C0EC09157A12983C8C1E901 /* SBUConfig.swift in Sources */, - 3600DFA8465CFAF91F4D95E0 /* SBUVoiceMessageConfiguration.swift in Sources */, - A7EE0A2A3DC8D52F96BDAC0F /* SBUConfig.Base.swift in Sources */, - 9D273BE8DD3C70A3D82D23C9 /* SBUConfig.GroupChannel.swift in Sources */, - EC72EC87899F13C163247DE8 /* SBUMentionConfiguration.swift in Sources */, - 0CBDFE2D19F9D6A6C6359D63 /* SBUUserMentionConfiguration.swift in Sources */, - 7154A0193045A872406601B3 /* SBUConfig.Common.swift in Sources */, - 67CA7C5D9F514AAA7F16415D /* SBUDashboardConfig.swift in Sources */, - D010D0CAD35220C99851EB36 /* SBUConfig.CodingKeys.swift in Sources */, - 833A00CD17860DB71129B478 /* UIStackView.SBUIKit.swift in Sources */, - 69C5C5ECE491F3DC86DD6B1D /* URL+SBUKit.swift in Sources */, - 75BB40C2367DE3E3B195B0D4 /* Array+SBUIKit.swift in Sources */, - 48A054AE54DBE04C6DDA25A7 /* UIColor+SBUIKit.swift in Sources */, - 75A937025B2D2D57DB780F4C /* Formatter+SBUIKit.swift in Sources */, - 9526DEABCAE91A50D0B6597F /* UIImage+SBUIKit.swift in Sources */, - 6127557F9A64DDF629992287 /* UIButton+SBUIKit.swift in Sources */, - CA9378C077304E695232D1AD /* UINavigationController+SBUIKit.swift in Sources */, - C2FD3B9ABC3F7394346AB587 /* BaseMessage+SBUIKit.swift in Sources */, - 0BA93150482D4B9C4E4D1AEC /* String+SBUIKit.swift in Sources */, - 7039542512E6D0718E810289 /* CGSize+SBUIKit.swift in Sources */, - A8578179A83CD0803EEBB3AA /* Float+SBUKit.swift in Sources */, - 60918C351ECBAC4AAC87A51F /* Data+SBUIKit.swift in Sources */, - 8548949D10604E620D2F9A16 /* UIViewController+SBUIKit.swift in Sources */, - 41DBC379000F50004ED2E635 /* Date+SBUIKit.swift in Sources */, - C3CD0B19F90DA77D1AD74373 /* StringProtocol+SBUIKit.swift in Sources */, - 05C549A97F100D0D26EBC56D /* UIApplication+SBUIKit.swift in Sources */, - 4C91F970BACA5EFBB115A493 /* UIView+SBUIKit.swift in Sources */, - 794B4E33774B33CAA31BEA5B /* Sequence+SBUIKit.swift in Sources */, - 7822426F0EB028A08EAFEFDD /* UIImageView+SBUIKit.swift in Sources */, - 7DABC50DB9DD675F9D9404A9 /* NSObject+SBUIKit.swift in Sources */, - 4977525FCE2F9B6BFC548EF3 /* UITextField+SBUIKit.swift in Sources */, - 9366B1260DD22F57CBDC6314 /* SBUPropertyWrapper.swift in Sources */, - C986FB28535F1E6616C7A20E /* SBUUtils.swift in Sources */, - 141615DEFF54D0C8AB497C0A /* SBULogger.swift in Sources */, - D0E9694BCE8ECA683DD7FAD8 /* SBUMentionManager.swift in Sources */, - 47CEAE0F81E3C1C0F034CC10 /* SBUDebouncer.swift in Sources */, - B7A98E50E4BDD3F0A27F9C3A /* SendbirdUI.swift in Sources */, - FE937EC0CD4E6292694844E0 /* SBUAvailable.swift in Sources */, - 15C077876ABB7760320DA1C8 /* SBUBaseChannelListModule.swift in Sources */, - 3B1A0423873EE77097AC5A6D /* SBUGroupChannelListModule.List.swift in Sources */, - 67ED117A86627A8D9D7868D3 /* SBUGroupChannelListModule.swift in Sources */, - 2C34BEC6EA01BEB71D1C52D2 /* SBUGroupChannelListModule.Header.swift in Sources */, - F61CAF734E20C59920F278BE /* SBUBaseChannelListModule.Header.swift in Sources */, - B3F20B1546486FB269027331 /* SBUBaseChannelListModule.List.swift in Sources */, - A709410AC99875BC41736AAF /* SBUOpenChannelListModule.swift in Sources */, - 02DC2BFBEC78C00C592281A9 /* SBUOpenChannelListModule.List.swift in Sources */, - 2ECBE75E1BC51BD7328D4536 /* SBUOpenChannelListModule.Header.swift in Sources */, - 440BC8DD1E1FDD6B794D329C /* SBUGroupChannelPushSettingsModule.List.swift in Sources */, - 743A10752DAA1AE3AA695F81 /* SBUGroupChannelPushSettingsModule.swift in Sources */, - DCDCB71CF3BE44B3326717EE /* SBUGroupChannelPushSettingsModule.Header.swift in Sources */, - D18AC1E9D653A50D041E3FA8 /* SBUGroupChannelModule.Input.swift in Sources */, - DA8DD81CE10ED9DFDCB2ACCE /* SBUGroupChannelModule.List.swift in Sources */, - 39BC55EA5C5B35AB81FCE298 /* SBUGroupChannelModule.Header.swift in Sources */, - 42522FE7CE88452AEB1982F5 /* SBUGroupChannelModule.swift in Sources */, - 06537E3B34826FF239650749 /* SBUChatNotificationChannelModule.swift in Sources */, - C9FCD6BE1699882644B794FF /* SBUChatNotificationChannelModule.List.swift in Sources */, - AE4157EAD5D853B923EC5A9A /* SBUChatNotificationChannelModule.Header.swift in Sources */, - 2C94EB08095EF3893357CD80 /* SBUFeedNotificationChannelModule.Header.swift in Sources */, - 19874F8B4EE796828CBEB9DC /* SBUFeedNotificationChannelModule.List.swift in Sources */, - C1AA2885FCA3E6EEEF7AAF27 /* SBUFeedNotificationChannelModule.CategoryFilter.swift in Sources */, - 5AE0AE1C53D3F35CF3984B72 /* SBUFeedNotificationChannelModule.swift in Sources */, - C59AD293A618FFDC0224A52F /* SBUBaseChannelModule.Input.swift in Sources */, - 679FB827CCB67BC53BC3F084 /* SBUBaseChannelModule.swift in Sources */, - F76D48BF0F43C88D4E1AED99 /* SBUBaseChannelModule.Header.swift in Sources */, - C3580AF2CCE8E1060E3D980B /* SBUOpenChannelModule.List.swift in Sources */, - AB7FF08F5E320CD9A6C461F3 /* SBUOpenChannelModule.Media.swift in Sources */, - 8B5C5EEF22D3D37FCE64B617 /* SBUOpenChannelModule.Input.swift in Sources */, - D2547499A4286C84DF4616F8 /* SBUOpenChannelModule.Header.swift in Sources */, - 91A36D771B4C0C690B2E1C8D /* SBUOpenChannelModule.swift in Sources */, - 3051C5169D7B138EC6C95415 /* SBUBaseChannelModule.List.swift in Sources */, - 8A123B51436F0DDC7589AB0A /* SBUBaseChannelSettingsModule.Header.swift in Sources */, - BD7A5F548CF77D225DD98A17 /* SBUBaseChannelSettingsModule.List.swift in Sources */, - E39EBC30E3C9A8C28DF65B57 /* SBUChannelSettingItem.swift in Sources */, - BE3A984FAF6C229AF54996BF /* SBUGroupChannelSettingsModule.swift in Sources */, - C2524067B2B4C03541DA6191 /* SBUGroupChannelSettingsModule.Header.swift in Sources */, - CDF3FBB73950A2B1A7101511 /* SBUGroupChannelSettingsModule.List.swift in Sources */, - 415A3C342ACADECD2907AA1A /* SBUBaseChannelSettingsModule.swift in Sources */, - 8711D94211CF5544EFB9DB61 /* SBUOpenChannelSettingsModule.List.swift in Sources */, - 10BEFAFBE041B3C71353E071 /* SBUOpenChannelSettingsModule.swift in Sources */, - C2D01009E07E44231831E2CD /* SBUOpenChannelSettingsModule.Header.swift in Sources */, - 2C9F2CF3B0676C187862F73E /* SBUUserListModule.swift in Sources */, - 7AD23336DA37109E54C583C9 /* SBUUserListModule.List.swift in Sources */, - A89B237A822C0C0496CF58D9 /* SBUUserListModule.Header.swift in Sources */, - BDB3B09F121C9FB98AC028CD /* SBUModuleSet.swift in Sources */, - 65ACC98F127470C9B6E2BBBD /* SBUMessageSearchModule.Header.swift in Sources */, - 4D2E19B35CB6DCA6FCFD53E2 /* SBUMessageSearchModule.List.swift in Sources */, - 5F7EE8A11B9ECDA6F31D7681 /* SBUMessageSearchModule.swift in Sources */, - DA2570065DF5275E4242A836 /* SBUMessageThreadModule.List.swift in Sources */, - E0EDD781382B44327D17A53A /* SBUMessageThreadModule.swift in Sources */, - 7225D5F0C6276707609FEB30 /* SBUMessageThreadModule.Input.swift in Sources */, - F4EE7E1F74825A233931596C /* SBUMessageThreadModule.Header.swift in Sources */, - 11DF38C29C1E4FDED9B99017 /* SBUModerationsModule.List.swift in Sources */, - 14428FAA6678421DD95622B7 /* SBUModerationsModule.swift in Sources */, - DAC86D1C8011F743368B4740 /* SBUModerationsModule.Header.swift in Sources */, - EB8EDF11B8A4E5E76A7F582F /* SBURegisterOperatorModule.List.swift in Sources */, - 05D4B7AAE12319557F89DA9F /* SBURegisterOperatorModule.Header.swift in Sources */, - 415DD172065135B9282FD4A0 /* SBURegisterOperatorModule.swift in Sources */, - 97323B9C7DDB73974B3296A6 /* SBUInviteUserModule.List.swift in Sources */, - DD9D068C60EC41BAFB8EDA41 /* SBUInviteUserModule.swift in Sources */, - 1DB96CC5A433A16B321BF054 /* SBUInviteUserModule.Header.swift in Sources */, - 9676673379AF908DF245938B /* SBUBaseSelectUserModule.Header.swift in Sources */, - 961F63B3EFABFC89A3F6A8FF /* SBUBaseSelectUserModule.swift in Sources */, - C86A7259DB0D2EAC6B708AB4 /* SBUCreateOpenChannelModule.ProfileInput.swift in Sources */, - 0135DB8E5786F339BD2532F6 /* SBUCreateChannelModule.swift in Sources */, - B03B27C25300CB1551834B93 /* SBUCreateOpenChannelModule.swift in Sources */, - CD146FD51959CADF75D6D16F /* SBUCreateOpenChannelModule.Header.swift in Sources */, - 9E3BE135BF0EAE8FA940AFEB /* SBUCreateChannelModule.Header.swift in Sources */, - F920FD171E935A14DA9807FC /* SBUCreateChannelModule.List.swift in Sources */, - E2F9B0E30EEAF8F1403F669D /* SBUBaseSelectUserModule.List.swift in Sources */, - 1F1349168AB8F0012D06EB53 /* VoiceMessageStatus.swift in Sources */, - 4C5BA0241F309CD17DFA480F /* SBUIconSetType.swift in Sources */, - EEA2CA5CCB4D49081490164C /* SBUEnums.swift in Sources */, - 3D45A522EBF3500B7D609EF0 /* MessageTemplateTestViewController.swift in Sources */, - 40D5528C4A7DA11B7EF93D54 /* MessageTemplateParser.swift in Sources */, - 522EB95366ABDEC25C86E6D8 /* MessageTemplateRenderer.swift in Sources */, - A9DDA11D39EE8E356550374C /* CommonProtocols.swift in Sources */, - 07E9DA60E76170BE0B23796B /* SBUEmojiManager.swift in Sources */, - 6D1E62358DF951B53DD30D01 /* SBUCacheManager.Config.swift in Sources */, - 7A900ADCFC66C29519EB0E79 /* SBUCacheManager.Version.swift in Sources */, - F9D69DCADA28486A2BDF80AB /* SBUCacheManager.File.swift in Sources */, - 505431946940C9464030E4F8 /* SBUCacheManager.Template.swift in Sources */, - 9EABD2EBF324B54AD5A9CE7A /* SBUCacheManager.Image.swift in Sources */, - 121946AE8B7E188B80728AAD /* SBUCacheManager.swift in Sources */, - 5B4AF291242E5D9AE80A5B05 /* SBUCacheManager.NotificationSetting.swift in Sources */, - 9BFB7041E3D41899EFF4A605 /* SBUVoicePlayer.swift in Sources */, - C1EC2A83039778393E664A87 /* SBUNotificationChannelManager.swift in Sources */, - 8B0DFAF1FDEEF52C6DD0646C /* SBUPendingMessageManager.swift in Sources */, - EC7B34B59B079670DA72C865 /* SBUDownloadManager.swift in Sources */, - AE29433792C77296A7922613 /* SBUVoiceRecorder.swift in Sources */, - C7F93F2CE0D0C22A9922D022 /* SBUPermissionManager.swift in Sources */, - C6FABFB22277BCDF93FA6303 /* SBUToastManager.swift in Sources */, - 99381C9E9F1B9870496FB753 /* SBUGlobalCustomParams.swift in Sources */, - 3B91C41934E8712214421FE3 /* SBUStringSet.Deprecated.swift in Sources */, - D1DBB9867342E9ADC82E7476 /* SBUDateFormatSet.swift in Sources */, - 7FD0831C77CA8DFFBF71E2D9 /* SBUConstant.swift in Sources */, - 6D8CBAAAC45689050F215BC4 /* SBUStringSet.swift in Sources */, - 16C8903ABC4482C0268C07A5 /* SBUIconSet.swift in Sources */, - F8B7561477019E49D263422D /* SBUColorSet.swift in Sources */, - BD6414B8E6531B348C7640EF /* SBUTheme+Type.swift in Sources */, - 75AFBD97708D4F093D91E66E /* SBUFontSet.swift in Sources */, - 0E56037141F157A7D767FC4A /* SBUTheme.swift in Sources */, - EC20E226D4B72C25F92A5662 /* SBUMention.swift in Sources */, - 2A26BA7258793195F32CEAD2 /* SBUMessageCache.swift in Sources */, - B7CAC0EF6E5F6B0F7A7D60BD /* SBUUser.swift in Sources */, - E7053AD64868D87BC4EAA992 /* SBUVoiceFileInfo.swift in Sources */, - BF7BF435DE7A943D41A508B5 /* SBUHighlightMessageInfo.swift in Sources */, - 4B79A0EBC3E57A1A03FA451D /* SBUBaseViewController.swift in Sources */, - 0875823F48CB95C5D47EE3C4 /* SBUOpenChannelCell.swift in Sources */, - 8882A619EDF61BF7AE51E809 /* SBUGroupChannelCell.swift in Sources */, - FC6BDADFCCEEA9001072AF1B /* SBUBaseChannelCell.swift in Sources */, - DC7E77C36DE5ADD097F823DD /* SBUBaseChannelListViewController.swift in Sources */, - 71075BE296B2D1025582B5AB /* SBUGroupChannelListViewController.swift in Sources */, - B618DDA3F915442C5E77EC94 /* SBUOpenChannelListViewController.swift in Sources */, - 1ABE25740E71C60AD978992A /* SBUChannelPushSettingCell.swift in Sources */, - E2900C856C1013B3BA8E31C3 /* SBUGroupChannelPushSettingsViewController.swift in Sources */, - 1C136B80C4A4AADD4465592D /* SBUUserMessageTextViewModel.swift in Sources */, - 56C71392780A4ADC82838FE5 /* SBUMessageWebViewModel.swift in Sources */, - FB918534AB29B264DFCA524B /* SBUParentMessageInfoReactionView.swift in Sources */, - 0E32F2F48C3F189C9958D0CF /* SBUReactionCollectionViewCell.swift in Sources */, - 6A334EC383BF185594E68AEC /* SBUReactionsViewController.swift in Sources */, - 91129C1E98DA3D32D85489CE /* SBUMessageReactionView.swift in Sources */, - 4615876A685AF5983B5F8C75 /* SBUEmojiListViewController.swift in Sources */, - 76A013DF83418E36583D9EBF /* SBUFeedNotificationChannelViewController.swift in Sources */, - 7A2A90CABF2F29E563612006 /* SBUBaseChannelViewController.swift in Sources */, - D6DC3E37B79B7FB30B997115 /* SBUUserMessageCellParams.swift in Sources */, - 98B4B2D8F1652A77EAAFD6FC /* SBUUnknownMessageCellParams.swift in Sources */, - 923E42CF4493BC79A36590FE /* SBUFeedNotificationCellParams.swift in Sources */, - 0E19C82EBEAD6D5ABA0E2A65 /* SBUAdminMessageCellParams.swift in Sources */, - 740F98AB4ABD249720B53626 /* SBUBaseMessageCellParams.swift in Sources */, - 641FC99EC9250C2D2DB7AEDE /* SBUFileMessageCellParams.swift in Sources */, - 2EFB43181DD1C40BE1B07ABD /* SBUBaseFileContentView.swift in Sources */, - FED4230BBCD903124C4CE1E4 /* SBUOpenChannelCommonContentView.swift in Sources */, - D6AF07B9A6FFB681A8B550F1 /* SBUVoiceContentView.swift in Sources */, - 33946F91ECC3DC0D69CE6C52 /* SBUImageContentView.swift in Sources */, - 74BDDF53A90891405DEB09CC /* SBUCommonContentView.swift in Sources */, - E2D800489A9B36049363F37B /* SBUOpenChannelImageContentView.swift in Sources */, - DD9F3623E45A04AA8A7ED879 /* SBUNotificationCell.swift in Sources */, - C70035324D674CBFD3CB48F4 /* SBUFeedNotificationCell.swift in Sources */, - 46D964118285957EE2848BB6 /* SBUChatNotificationCell.swift in Sources */, - ED38A98C1A256971FCCE8413 /* QuotedFileCommonContentView.swift in Sources */, - 9169C154E85F6254F8E99F48 /* SBUQuotedBaseMessageView.swift in Sources */, - EB38917826EF4F0367655A95 /* SBUThreadInfoView.swift in Sources */, - E9886A5B54B85C70C0629D33 /* QuotedFileImageContentView.swift in Sources */, - 93A95566E3A855417C4CEC41 /* SBUQuotedFileMessageView.swift in Sources */, - 2D57FD07DED76D6D2447CF02 /* SBUQuotedUserMessageView.swift in Sources */, - 77265AD628A8D21F39D61D91 /* SBUQuotedBaseMessageViewParams.swift in Sources */, - 83298AA486B58338B9050F52 /* SBUBaseMessageCell.swift in Sources */, - 8B5701EBB8E9468A6F206978 /* SBUOpenChannelFileMessageCell.swift in Sources */, - A8D081FC66D7BEDF97A6E698 /* SBUOpenChannelAdminMessageCell.swift in Sources */, - E9B47258F578597E1707C35E /* SBUOpenChannelContentBaseMessageCell.swift in Sources */, - D7A7C2F1AAA1F2C859FED9B7 /* SBUOpenChannelUserMessageCell.swift in Sources */, - 77A25202F4F93DEE398DBEBB /* SBUOpenChannelUnknownMessageCell.swift in Sources */, - DD303C23370F67B0D2B59DD9 /* SBUOpenChannelBaseMessageCell.swift in Sources */, - 7751A5E8CFB3B4CAB952D410 /* SBUFileMessageCell.swift in Sources */, - A318361896EB325D7810F440 /* SBUAdminMessageCell.swift in Sources */, - EC5AF83F4D4B7D18E869EF0B /* SBUContentBaseMessageCell.swift in Sources */, - B600CE3D553710EE0DE0A958 /* SBUUnknownMessageCell.swift in Sources */, - 2D109BD070ED9EBEFD2028B5 /* SBUUserMessageCell.swift in Sources */, - A7528A9B1308810E0FED97DF /* SBUGroupChannelViewController.swift in Sources */, - 4E960B23016CEA53A0731F8D /* SBUMentionLimitGuideCell.swift in Sources */, - EDC9D39DE27040A29AA259F5 /* SBUSuggestedMentionList.swift in Sources */, - E4BB99A2A751BE936C7E59C1 /* SBUQuoteMessageInputView.swift in Sources */, - 35BB83B72B93F86617A9CEFE /* SBUMessageInputMode.swift in Sources */, - 34198B1BCA461AE0EE97187D /* SBUQuoteMessageInputViewParams.swift in Sources */, - 9E464A892570C89AD0D6D1FF /* SBUMessageInputView.swift in Sources */, - D8CAF3D6E484A824572E9566 /* SBUCategoryFilterCell.swift in Sources */, - 8D03AE0AB69D70B491B99B41 /* SBUMessageStateView.swift in Sources */, - 12E0A58455F73B2FC183AC08 /* SBUMessageProfileView.swift in Sources */, - 78013709AD868D916A98B487 /* SBUUserMessageTextView.swift in Sources */, - 09EEF2A57B2B72F1C419D3B0 /* SBUUserNameView.swift in Sources */, - 54308EECBA82D7587463B179 /* SBUMessageWebView.swift in Sources */, - 4F23E5C382080612BC9884F7 /* SBUMessageDateView.swift in Sources */, - B103536AAABC0FC764F5D245 /* SBULinkClickableTextView.swift in Sources */, - E4F99740AFD1B4161B83DD2E /* SBUOpenChannelMessageWebView.swift in Sources */, - 6438429001C3C12C8A431E55 /* SBUSelectableStackView.swift in Sources */, - 2EB859657D80EDB459FE1EDC /* SBUNotificationTimelineView.swift in Sources */, - 04BB8DA8FAC75CE9B2155E9B /* SBUFileViewController.swift in Sources */, - 2D65EE1B30662DE368F28889 /* SBUBaseChannelViewController.Keyboard.swift in Sources */, - 7BE75AA56F2BEB1556BEDEB4 /* SBUChatNotificationChannelViewController.swift in Sources */, - F36959F452728AF100894A18 /* SBUNewNotificationInfo.swift in Sources */, - 80059DA0CB5343C32085FC90 /* SBUNewMessageInfo.swift in Sources */, - 30B057F2C3D7AA65A3B7A1AF /* SBUOpenChannelViewController.swift in Sources */, - 6FDAF6959EA7DB013041E202 /* SBUChannelInfoHeaderView.swift in Sources */, - 627688DF939143CCD414CBCD /* SBUChannelTitleView.swift in Sources */, - 1683B2E431F51FEDA6D394DE /* SBUBaseChannelSettingsViewController.swift in Sources */, - BCD953D6898968D065483F92 /* SBUOpenChannelSettingsViewController.swift in Sources */, - 2E3796F774941ECEBADB2CE0 /* SBUOpenChannelSettingCell.swift in Sources */, - 12BBE8375FAE33DFEADBFB9B /* SBUBaseChannelSettingCell.swift in Sources */, - 770E7B1230B776B029E93BF1 /* SBUModerationCell.swift in Sources */, - A8CD610E96BA0C8EC5AE0D8F /* SBUGroupChannelSettingCell.swift in Sources */, - F11F6CC521C5C905395BC723 /* SBUChannelSettingsChannelInfoView.swift in Sources */, - 2C322F376B71ACAC646A37E8 /* SBUGroupChannelSettingsViewController.swift in Sources */, - 2E8DC4917D504E4FF7131D01 /* SBUVoiceMessageInputView.swift in Sources */, - 23ECF0A9472F7AE246AC9DCA /* SBUStackView.swift in Sources */, - F80B4DCD7EC4509842F353E1 /* SBUAnimation.swift in Sources */, - 2DC8879CC54EB5156B53BB3A /* SBUEmptyView.swift in Sources */, - 0B31172D0C5B863116B6C46F /* SBUCoverImageView.swift in Sources */, - 7675E35AACDDEE3055A128F9 /* SBUPhotoAccess.swift in Sources */, - AE5D4BBEC4144CD8493250C1 /* SBUPhotoCollectionViewCell.swift in Sources */, - EE8FF4C9B6D4EAC08A249867 /* SBUSelectablePhotoViewController.swift in Sources */, - AC215F52044E8ADE191EF45D /* SBUPaddingLabel.swift in Sources */, - 71507B44EDDEF9A44D11D84A /* SBUCommonItem.swift in Sources */, - 2DD5907084D9035A070E1248 /* SBULayoutableButton.swift in Sources */, - EDFCE90D978DB8870B728C7E /* SBUUserProfileView.swift in Sources */, - 4447DE9A61C3FD141657A159 /* SBUNavigationTitleView.swift in Sources */, - 161DF05B16338DC738771FC5 /* SBUNotificationNavigationTitleView.swift in Sources */, - DE5658A94DF9076D380C2D1D /* SBUBarButtonItem.swift in Sources */, - 6068FF937793E7847979CE4E /* SBUActionSheet.swift in Sources */, - 498A1A5D72E4DB2847C5E588 /* SBUNotificationEmptyView.swift in Sources */, - 80148293B0979182C603B3E7 /* SBUAlertView.swift in Sources */, - 676EA6F6426590E8E575E34F /* SBUMenuSheetViewController.swift in Sources */, - EA3746DD29CBF798CFFF82E2 /* SBUMenuCell.swift in Sources */, - 32CCE6D42D190B032928F9EF /* SBUMenuView.swift in Sources */, - 1D6FBDDB8FD94AEC681A4E09 /* SBUBottomSheetController.swift in Sources */, - 75C23A8D18D873350589761F /* SBUUnderLineTextField.swift in Sources */, - 8C1913CBFD03726BCFF9F689 /* SBUUserCell.swift in Sources */, - 26EE054B72D5237E4FE4162B /* SBUTemplateLabel.swift in Sources */, - EE067BB90CD9DC2DCE8FF676 /* SBUMarginView.swift in Sources */, - AC79DD42A2977E0D9E0EBC26 /* SBUCommonViewControllerSet.swift in Sources */, - 67A06427F302E5589CB9462B /* SBULoading.swift in Sources */, - 8959846766EF597179B65804 /* SBUCollectionViewFlowLayout.swift in Sources */, - A34D57A9D54D52159308F9FF /* SBUUserListViewController.swift in Sources */, - 942C1584D5E0B68A768E8BBF /* SBUViewControllerSet.swift in Sources */, - D70A23528BF193C531C04F42 /* SBUMessageSearchViewController.swift in Sources */, - F337FAB2EC4D5563704CF570 /* SBUMessageSearchResultCell.swift in Sources */, - D1A9399A0F188D545786CF34 /* SBUTableViewCell.swift in Sources */, - 24EC228CF98E8B2C0BD3DDAF /* SBUQuoteMessageInputViewProtocol.swift in Sources */, - FE72A674BDEBEEA454730DD2 /* SBUMessageCellProtocol.swift in Sources */, - 9CA90FFDDFB17B61B92B95D7 /* SBUViewLifeCycle.swift in Sources */, - ED94083D2E83D99F77614D46 /* SBUQuotedMessageViewProtocol.swift in Sources */, - A34D88E998E0928F2F1A4578 /* SBUView.swift in Sources */, - E7197C700E085143F75248CF /* SBUMessageThreadViewController.swift in Sources */, - A64835BEB99D654079BE66D7 /* SBUMessageThreadTitleView.swift in Sources */, - 40AC14560BA449478BC52E42 /* SBUParentMessageInfoView.swift in Sources */, - 3199A5E135029C6D349FE165 /* SBUModerationsViewController.swift in Sources */, - FD08E0ABF09EC90B1A83FBB2 /* SBURegisterOperatorViewController.swift in Sources */, - 505DDCE1C03902C2947E273F /* SBUBaseSelectUserViewController.swift in Sources */, - 9F1A52CB94E64D5E48BE95F4 /* SBUInviteUserViewController.swift in Sources */, - DEBCE3CB84BB1FEB9087F4EF /* SBUCreateChannelTypeSelector.swift in Sources */, - 92A451DEE00838B0EEE81D97 /* SBUCreateChannelViewController.swift in Sources */, - 012BFB29CEABDA7C5ED0A425 /* SBUCreateOpenChannelViewController.swift in Sources */, - 5B59932A020FFD5B569DCBEE /* SBUGlobals.swift in Sources */, - 043EDF52677AE5FA383211C4 /* SBUTableViewCell.Unavailable.swift in Sources */, - 625B09D0E9DB446FCC1DC89E /* SBUChannelListViewController.Deprecated.swift in Sources */, - 1A71C7E304FABFE2D636F0F9 /* SBUBaseMessageCellParams.Deprecated.swift in Sources */, - 2C2237B69D08380E72A4016D /* SBUQuotedBaseMessageViewParams.Deprecated.swift in Sources */, - 5ECD0EE435E5A8864E360CB6 /* SBUContentBaseMessageCell.Deprecated.swift in Sources */, - 5B9FA9B68E036D5C3CF2810B /* SBUBaseChannelViewController.Deprecated.swift in Sources */, - 0B32D7645513FDE03ABCC8B9 /* SBUGroupChannelViewController.Unavailable.swift in Sources */, - 4F6167BC786E7BE295A1CE7B /* SBUOpenChannelViewController.Deprecated.swift in Sources */, - 222E253F07686B01756A64D3 /* SBUOpenChannelViewController.Unavailable.swift in Sources */, - A04AE2A4674667AB3D4F206E /* SBUGroupChannelViewController.Deprecated.swift in Sources */, - 8491549002D8B337B8CA7F13 /* SBUBaseChannelViewController.Unavailable.swift in Sources */, - E23284E436EBC223F473DB4B /* SBUBaseChannelSettingsViewController.Deprecated.swift in Sources */, - B0BE8FE2DBC4F3237FFAD549 /* SBUBaseViewController.Unavailable.swift in Sources */, - 5B8D6A478CCD51E30D75A24D /* SBUMemberListViewController.Deprecated.swift in Sources */, - 5CA9CF6E568A7D4D96C57501 /* SBUBaseSelectUserViewController.Deprecated.swift in Sources */, - 6AA0834DE8646C643984BBF2 /* SBUMessageSearchViewController.Deprecated.swift in Sources */, - 02E6037D0ACE430068841F27 /* SBUView.Unavaliable.swift in Sources */, - 3519655514FB62B37CFA2A26 /* SBUGlobals.Deprecated.swift in Sources */, - AC66D3F9B86552DF7C7338B9 /* SBUCoverImageView.Deprecated.swift in Sources */, - 255834EFA20F1E633219B5F1 /* SBUModerationsViewModel.Deprecated.swift in Sources */, - 40DAB2C24CBB882674602B39 /* SBUModerationsViewController.Deprecated.swift in Sources */, - 038AC50304982D8406CD98CB /* SBUTheme.Deprecated.swift in Sources */, - 0B3F3EB1100F1FF133057866 /* SBUCreateChannelViewController.Deprecated.swift in Sources */, - DF6E18172F4F8D1F8DEB30B5 /* SBUModuleSet.Deprecated.swift in Sources */, - D8A2D53B08254E915FFA59C9 /* SBUEnums.Deprecated.swift in Sources */, + 190A2B9666C74885714338EA /* SBUViewModelDelegate.swift in Sources */, + 316C1CC9AA49EE6DA623EADB /* SBUGroupChannelListViewModel.swift in Sources */, + 16AE40BC79B28B2081294D03 /* SBUOpenChannelListViewModel.swift in Sources */, + 92FCBF3390498C749C85D5B8 /* SBUBaseChannelListViewModel.swift in Sources */, + DE370087DB94A7C5FA20A5D7 /* SBUGroupChannelPushSettingsViewModel.swift in Sources */, + 4B8612F466189F16B76F583C /* SBUFeedNotificationChannelViewModel.swift in Sources */, + BBD2C1D5469F13EE3BA60693 /* SBUOpenChannelViewModel.swift in Sources */, + 5399F735988654AF9AFC2FFA /* SBUBaseChannelViewModel.swift in Sources */, + 703CC04C8C02B36AF4F82FCF /* SBUChatNotificationChannelViewModel.swift in Sources */, + E568F4DD1F60AD2282329446 /* SBUGroupChannelViewModel.swift in Sources */, + B68204BF12F1DBF81705EEDE /* SBUBaseChannelSettingsViewModel.swift in Sources */, + E1B3F2811A6416FB22C8DDAA /* SBUModerationsViewModel.swift in Sources */, + E58786E03685173C9B3206E5 /* SBUGroupChannelSettingsViewModel.swift in Sources */, + 762726D638E77C6DF5CD16AE /* SBUOpenChannelSettingsViewModel.swift in Sources */, + 1F7A7945316919CF6505FA59 /* SBUCommonDelegate.swift in Sources */, + 90FB1A07D32C0258C4D45733 /* SBUUserListViewModel.swift in Sources */, + 61265994312D3EEC01F615D8 /* SBUMessageSearchViewModel.swift in Sources */, + 0464DCE37595743E5A3F5DC5 /* SBUMessageThreadViewModel.swift in Sources */, + 342AC883D4C1A3F5E4993D1D /* SBUBaseSelectUserViewModel.swift in Sources */, + 1224C7114E58267D43FE075F /* SBURegisterOperatorViewModel.swift in Sources */, + 59AB15B52DF11B61854BE2A0 /* SBUCreateChannelViewModel.swift in Sources */, + 32B770079141930AEC639AFC /* SBUCreateOpenChannelViewModel.swift in Sources */, + 50155D75B82D7294CAF81A25 /* SBUInviteUserViewModel.swift in Sources */, + 88941AB9C84AECCEBF935ACB /* SBUMessageCellConfiguration.swift in Sources */, + 6B4009E958C36125F72875C8 /* SBUReplyConfiguration.swift in Sources */, + 3BD397DD7FBC44D772DBB327 /* SBUConfigManager.swift in Sources */, + A0CF463BA7F08A0627DCF258 /* SBUConfig.OpenChannel.swift in Sources */, + 5D73DB495ABD3ADED84C76C4 /* SBUConfig.swift in Sources */, + 1DF4195466680A9AFBB4903C /* SBUVoiceMessageConfiguration.swift in Sources */, + A2CA608CA7791D7007EF807C /* SBUConfig.Base.swift in Sources */, + 06280F47C70C64304CE5CB0E /* SBUConfig.GroupChannel.swift in Sources */, + B3F71EE3300B87087D87CB6C /* SBUMentionConfiguration.swift in Sources */, + 5692E0E44559C6FE9E4B3F16 /* SBUUserMentionConfiguration.swift in Sources */, + F8E857B2A084E499EF41BB92 /* SBUConfig.Common.swift in Sources */, + 780BA510B908D505B23F9BAD /* SBUDashboardConfig.swift in Sources */, + C27A049F2FE161C4CD4B4989 /* SBUConfig.CodingKeys.swift in Sources */, + A9C1944E8CD97BB6D2C9BE8A /* UIStackView.SBUIKit.swift in Sources */, + 88D0B191D28E064046EEB459 /* URL+SBUKit.swift in Sources */, + DD0497741BEC9451A0D36278 /* Array+SBUIKit.swift in Sources */, + B8E03201CFAF3E8E5501306E /* UIColor+SBUIKit.swift in Sources */, + 86660751AE8F79BD28EBBCCC /* Formatter+SBUIKit.swift in Sources */, + FF57A2803EE8A6BFFB803AF8 /* UIImage+SBUIKit.swift in Sources */, + ED6450D47B61D63E7F105211 /* NSLayoutConstraint+SBUIKit.swift in Sources */, + 3DC45D5A30EC2F3E38921884 /* UIButton+SBUIKit.swift in Sources */, + 95E1A3B563510B0DEB090043 /* UINavigationController+SBUIKit.swift in Sources */, + 95D65F0EB8C646E052E7D0B3 /* BaseMessage+SBUIKit.swift in Sources */, + 23F6BAE276BA63AB74A7090C /* MultipleFilesMessage+SBUIKit.swift in Sources */, + CF2E6687CAAF01373B8BEB72 /* String+SBUIKit.swift in Sources */, + 3760FBEB8DA7CBE51E1327BF /* CGSize+SBUIKit.swift in Sources */, + 8BFDDE99B58F1F0E9486A2E9 /* Float+SBUKit.swift in Sources */, + DFB20F1EC32AA9B3D81499BF /* Data+SBUIKit.swift in Sources */, + 3AB9AEC031221A4F8862D002 /* UIViewController+SBUIKit.swift in Sources */, + D3E88576CDEC14B756B77D35 /* Date+SBUIKit.swift in Sources */, + EFD715EB64689E3955F6D45C /* StringProtocol+SBUIKit.swift in Sources */, + 2D1882EC5A4DCB663E299B2D /* UIApplication+SBUIKit.swift in Sources */, + 8FDD6FBEB1A63C96BE32FA14 /* UIView+SBUIKit.swift in Sources */, + CF42F1803FC7C61101F4ACFA /* Sequence+SBUIKit.swift in Sources */, + 6334FF7226602493E13C3D5B /* UIImageView+SBUIKit.swift in Sources */, + B07534369F4F71105835AD47 /* NSObject+SBUIKit.swift in Sources */, + 8AD4E30A2C033A27C0D919B3 /* UITextField+SBUIKit.swift in Sources */, + 9E4636A296E592EDAD05479E /* SBUPropertyWrapper.swift in Sources */, + 164E23B0C5B889E6CFD9E3E8 /* BlockingOperation.swift in Sources */, + 9877E40FF8F8EAEC4B81462C /* SBUUtils.swift in Sources */, + 39AC2F5BC03948E8F10FDD20 /* SBULogger.swift in Sources */, + DC8CAE3A1F84A78D31CE9799 /* SBUMentionManager.swift in Sources */, + 452F5D6BA71574D4FE0F10A8 /* SBUDebouncer.swift in Sources */, + 47672740F0572E9050136404 /* SendbirdUI.swift in Sources */, + 51D89137057534A7DFC3072F /* SBUAvailable.swift in Sources */, + 9CB66374BE7A6C6041D91DB9 /* SBUBaseChannelListModule.swift in Sources */, + 9967AE8A5A0A973EA3704447 /* SBUGroupChannelListModule.List.swift in Sources */, + 713422CAD8FD22D90D37C13E /* SBUGroupChannelListModule.swift in Sources */, + 3879F3997AC87E9E7CDEE1B0 /* SBUGroupChannelListModule.Header.swift in Sources */, + 199AB213678907C77DD2AE13 /* SBUBaseChannelListModule.Header.swift in Sources */, + E66E9BD0DC5E97EEAD50950E /* SBUBaseChannelListModule.List.swift in Sources */, + 41CBDFDDD55A8805EA07B774 /* SBUOpenChannelListModule.swift in Sources */, + F2FD3AA8C41884CC3D45A28D /* SBUOpenChannelListModule.List.swift in Sources */, + EE6B3BDBA9BC8621D35D064A /* SBUOpenChannelListModule.Header.swift in Sources */, + 4312681B5BD1606F59B3FF4B /* SBUGroupChannelPushSettingsModule.List.swift in Sources */, + 4B75FEF2FBEA20F3F3C14727 /* SBUGroupChannelPushSettingsModule.swift in Sources */, + 4CB40932ED0140BEDE696DE5 /* SBUGroupChannelPushSettingsModule.Header.swift in Sources */, + 2461986A210065D12B01924A /* SBUGroupChannelModule.Input.swift in Sources */, + 98991C8AB8E559EDDA3C7E6F /* SBUGroupChannelModule.List.swift in Sources */, + 119E2763F19AD6F84541A87D /* SBUGroupChannelModule.Header.swift in Sources */, + DF2D71C277FE911ED508A0AA /* SBUGroupChannelModule.swift in Sources */, + 1ACC1C80EA2C2A38566E52CD /* SBUChatNotificationChannelModule.swift in Sources */, + CB7812B9A923CE615DA50071 /* SBUChatNotificationChannelModule.List.swift in Sources */, + 0D6B77BF517208E5A1E06260 /* SBUChatNotificationChannelModule.Header.swift in Sources */, + 2F6C730A40A9149E710D5D5D /* SBUFeedNotificationChannelModule.Header.swift in Sources */, + 541960C0245E80EA793CBAF5 /* SBUFeedNotificationChannelModule.List.swift in Sources */, + BD7B27D38157C0E8506B4B42 /* SBUFeedNotificationChannelModule.CategoryFilter.swift in Sources */, + F9174A134F4244FD010DFBA5 /* SBUFeedNotificationChannelModule.swift in Sources */, + DF0260060A86BAEF00BD81BB /* SBUBaseChannelModule.Input.swift in Sources */, + EDE2A8DEA18F032321BDD578 /* SBUBaseChannelModule.swift in Sources */, + AC87F7341648BDAE04FE1C45 /* SBUBaseChannelModule.Header.swift in Sources */, + B93B895A60C7AEAA2CA75B6A /* SBUOpenChannelModule.List.swift in Sources */, + 855DFBCDCAF309F0BBEB7D36 /* SBUOpenChannelModule.Media.swift in Sources */, + DCBBACEB76FFDECC416F8EB0 /* SBUOpenChannelModule.Input.swift in Sources */, + 08536F121F01664BB5FE41EA /* SBUOpenChannelModule.Header.swift in Sources */, + D7D88EB241E7EFEF6783EBD7 /* SBUOpenChannelModule.swift in Sources */, + 4C94AB05F0B7CC2A0315588B /* SBUBaseChannelModule.List.swift in Sources */, + E0B6F5B2B0766B7D65480806 /* SBUBaseChannelSettingsModule.Header.swift in Sources */, + 6C30C9B739C68DAAF0E9D98D /* SBUBaseChannelSettingsModule.List.swift in Sources */, + CF5B48CB04BA487C8D8A4865 /* SBUChannelSettingItem.swift in Sources */, + 49146A5555132600DECE395A /* SBUGroupChannelSettingsModule.swift in Sources */, + 5A30AB7BFCB1A07084C057B0 /* SBUGroupChannelSettingsModule.Header.swift in Sources */, + 5C158AD51DD49A44ABE4C9C5 /* SBUGroupChannelSettingsModule.List.swift in Sources */, + B0124E94AF212AD34452C4F5 /* SBUBaseChannelSettingsModule.swift in Sources */, + 2FE736A69DA38044E1AF8EAC /* SBUOpenChannelSettingsModule.List.swift in Sources */, + 7992CA5DB4F414AF97C76E75 /* SBUOpenChannelSettingsModule.swift in Sources */, + C0971226D7BB1DBC18638C91 /* SBUOpenChannelSettingsModule.Header.swift in Sources */, + B8427442F8180B2319124F2D /* SBUUserListModule.swift in Sources */, + 0CA487059D22B07029A46FD2 /* SBUUserListModule.List.swift in Sources */, + 0CCD9B5C34F86EECD696703B /* SBUUserListModule.Header.swift in Sources */, + 7BC9D2EBFA279FDEFE8055CE /* SBUModuleSet.swift in Sources */, + 3F2D017CFBE961CA02E9AC8D /* SBUMessageSearchModule.Header.swift in Sources */, + 5BF32C72101A1EAEA1BDF256 /* SBUMessageSearchModule.List.swift in Sources */, + DCF37C2E5CFC98708B9F2040 /* SBUMessageSearchModule.swift in Sources */, + 1FB183EEC319F458D813D0DA /* SBUMessageThreadModule.List.swift in Sources */, + D074B07DFAC19860602A838F /* SBUMessageThreadModule.swift in Sources */, + EF1689994B3068C5F8459DC4 /* SBUMessageThreadModule.Input.swift in Sources */, + 426E11BDB4D88CB4601E1360 /* SBUMessageThreadModule.Header.swift in Sources */, + 1FEEF45B9F64B53741540624 /* SBUModerationsModule.List.swift in Sources */, + 50EF0328D3247DA72059E7AE /* SBUModerationsModule.swift in Sources */, + EA543087A188A2C93E8715EA /* SBUModerationsModule.Header.swift in Sources */, + 8E086E347744BC450D0A0EA5 /* SBURegisterOperatorModule.List.swift in Sources */, + 719ABCCFDD381DFC21B35CF7 /* SBURegisterOperatorModule.Header.swift in Sources */, + D7EDC5E8053777E04CBFEE95 /* SBURegisterOperatorModule.swift in Sources */, + C5B9ECCFDFE614CCCEC6C3D1 /* SBUInviteUserModule.List.swift in Sources */, + 07ABAFD666CF235D2CEC8A28 /* SBUInviteUserModule.swift in Sources */, + ACFE2420C0B2CC8BE7062465 /* SBUInviteUserModule.Header.swift in Sources */, + 11FF5233AD0565BD579B3D17 /* SBUBaseSelectUserModule.Header.swift in Sources */, + FEB8B9A71C37C178FE8EA407 /* SBUBaseSelectUserModule.swift in Sources */, + 1866D93D11D1E344C9FD0CCC /* SBUCreateOpenChannelModule.ProfileInput.swift in Sources */, + 96F418CB967092021FC7952C /* SBUCreateChannelModule.swift in Sources */, + 78E50CDF3F1D200974998E0E /* SBUCreateOpenChannelModule.swift in Sources */, + 4C89180C6479002A90DF5681 /* SBUCreateOpenChannelModule.Header.swift in Sources */, + A9F9842D14704C301BE3FF89 /* SBUCreateChannelModule.Header.swift in Sources */, + F261D342AA2BC646F84D79CB /* SBUCreateChannelModule.List.swift in Sources */, + 4A3F264933A65C45AA5F0E42 /* SBUBaseSelectUserModule.List.swift in Sources */, + DE16670EDC716B4B991961EF /* VoiceMessageStatus.swift in Sources */, + 533706BE90EC30DFAAB84E3D /* SBUIconSetType.swift in Sources */, + 185F4C406B04BC6F62D17F01 /* SBUEnums.swift in Sources */, + 091D72174452FC81FA39A9D4 /* MessageTemplateTestViewController.swift in Sources */, + AE137283F94E56B353D05D4F /* MessageTemplateParser.swift in Sources */, + E5ACBC6AA9961997CD4F8C11 /* MessageTemplateRenderer.swift in Sources */, + C0F4A5E290973881D0BA05FD /* CommonProtocols.swift in Sources */, + 8B632A7402AA1A117D572206 /* SBUEmojiManager.swift in Sources */, + F9F72B248E4289D42713E667 /* SBUCacheManager.Config.swift in Sources */, + 8DD38A5B88B93CF97892048A /* SBUCacheManager.Version.swift in Sources */, + ADC2CF7A45BCDAB41E13E4E5 /* SBUCacheManager.File.swift in Sources */, + 0978B197B888B03676113A44 /* SBUCacheManager.Template.swift in Sources */, + 643C6E2FB60EF76E25246B5C /* SBUCacheManager.Image.swift in Sources */, + 15B43DF577747CB411FA098B /* SBUCacheManager.swift in Sources */, + 96A12BE8F6849878C343C05F /* SBUCacheManager.NotificationSetting.swift in Sources */, + 7CBED73B658018844FA7720B /* SBUVoicePlayer.swift in Sources */, + C8F19F0BAD7CFCE86624C374 /* SBUNotificationChannelManager.swift in Sources */, + 7F595C6424205F22B418A5A6 /* SBUPendingMessageManager.swift in Sources */, + 9370EC5DFEC63D568DC2012B /* SBUDownloadManager.swift in Sources */, + AEB9610A23C4C9CE4C47A45A /* SBUVoiceRecorder.swift in Sources */, + F27587ABF4A78674032D32A0 /* SBUPermissionManager.swift in Sources */, + B8497BA5E62668AD1FAC3D6D /* SBUToastManager.swift in Sources */, + 52E02A6228CFD2BD123B7152 /* SBUGlobalCustomParams.swift in Sources */, + 145C938EC77EAB5B6B4A7DB7 /* SBUStringSet.Deprecated.swift in Sources */, + 3EF3AB56D7D015974F04B531 /* SBUDateFormatSet.swift in Sources */, + 94576E0FAB7A50DEA1B5B05C /* SBUConstant.swift in Sources */, + 55BDE4DB521585DEF38B9411 /* SBUStringSet.swift in Sources */, + 6590A6D68E447EDA8C819BA8 /* SBUIconSet.swift in Sources */, + 96A0AADE81CC37F10AF9C7CF /* SBUColorSet.swift in Sources */, + 8BA6E1D9653456DDCC22FED8 /* SBUTheme+Type.swift in Sources */, + 6CF2AD992DF32BD1F9830E96 /* SBUFontSet.swift in Sources */, + BA5DAC72E102DA09DEDB7AB1 /* SBUTheme.swift in Sources */, + 0CBB1F7583763491C4963928 /* SBUMention.swift in Sources */, + EE1FEA34EB983897D2CA620F /* SBUMessageCache.swift in Sources */, + D80FE565FDCB4E5997C5712A /* SBUUser.swift in Sources */, + F1861D3D34E4425C0E1DBC72 /* SBUVoiceFileInfo.swift in Sources */, + 8D15AD737E153011BDBD0158 /* SBUHighlightMessageInfo.swift in Sources */, + 9EFF30A4B5C23E442CD5D9D0 /* SBUBaseViewController.swift in Sources */, + 8089B9FBF2F5D45E23EBC653 /* SBUOpenChannelCell.swift in Sources */, + 6541927D39C80E24A4BD1D2B /* SBUGroupChannelCell.swift in Sources */, + E05E00F34A4BF0B1C0D52B10 /* SBUBaseChannelCell.swift in Sources */, + 6F86F427CFEF1B37223A0921 /* SBUBaseChannelListViewController.swift in Sources */, + D7132A062DDC86AD94145D73 /* SBUGroupChannelListViewController.swift in Sources */, + E90A86675C56DD52C6745E0E /* SBUOpenChannelListViewController.swift in Sources */, + 347A54869402B4CC4A3366ED /* SBUChannelPushSettingCell.swift in Sources */, + C03562D577CCB7C2115B3B00 /* SBUGroupChannelPushSettingsViewController.swift in Sources */, + A1620FEFE41906E92DF059C6 /* SBUUserMessageTextViewModel.swift in Sources */, + 5249CFF4BCB373032886811F /* SBUMessageWebViewModel.swift in Sources */, + FC20425E9DE012584E979195 /* SBUParentMessageInfoReactionView.swift in Sources */, + D17D702BB659C22C3F83EEFE /* SBUReactionCollectionViewCell.swift in Sources */, + 6E5F09B2F7CDC4F509E72B06 /* SBUReactionsViewController.swift in Sources */, + ABDCD7A61DC05D2AD448546C /* SBUMessageReactionView.swift in Sources */, + 294D967943D215D9AA39C708 /* SBUEmojiListViewController.swift in Sources */, + 3E4EDCACA0022604C285EF82 /* SBUFeedNotificationChannelViewController.swift in Sources */, + DFE467C37534F3930ED6B18A /* SBUBaseChannelViewController.swift in Sources */, + 0EC6017D2D2AE03D5B889881 /* SBUMultipleFilesMessageCellParams.swift in Sources */, + E6A21EE37B918BBA20A799A9 /* SBUUserMessageCellParams.swift in Sources */, + 4DBE58AFC04E399FCB0CAFB6 /* SBUUnknownMessageCellParams.swift in Sources */, + 777E63C6EF3510B149DC6320 /* SBUFeedNotificationCellParams.swift in Sources */, + CB330770F7A7B7467C092A81 /* SBUAdminMessageCellParams.swift in Sources */, + E4F45D1904D6419B29D91E85 /* SBUBaseMessageCellParams.swift in Sources */, + 69FC9B9F4CF8FE138408DB5E /* SBUFileMessageCellParams.swift in Sources */, + 4E6CAFCADB297E2790358E57 /* SBUBaseFileContentView.swift in Sources */, + 7EE245CC9A76C2A982BE4E6A /* SBUOpenChannelCommonContentView.swift in Sources */, + 6274E84037D0B6EC8F9B9C39 /* SBUVoiceContentView.swift in Sources */, + CD9D05703093793D48644610 /* SBUImageContentView.swift in Sources */, + E7FB7CA5B056D1ABF6BC78A0 /* SBUCommonContentView.swift in Sources */, + 7158F2BD1785A4A6C8295887 /* SBUOpenChannelImageContentView.swift in Sources */, + C9DCBD7A109F5128640202C6 /* SBUNotificationCell.swift in Sources */, + 656354587CA54E67DD499FDC /* SBUFeedNotificationCell.swift in Sources */, + DCA9727EDDF28C2A81222142 /* SBUChatNotificationCell.swift in Sources */, + C62D9E50BF66EF392917C3C3 /* QuotedFileCommonContentView.swift in Sources */, + DF7EE0A1D210E08446F56551 /* SBUQuotedBaseMessageView.swift in Sources */, + 99F0D7DC3B1730D35305213C /* SBUThreadInfoView.swift in Sources */, + 2E89E1A0D776E5ACBA9EE39B /* QuotedFileImageContentView.swift in Sources */, + 2E526E088FFCC0A814886A08 /* SBUQuotedFileMessageView.swift in Sources */, + E6C45FD63850BA22818AD015 /* SBUQuotedUserMessageView.swift in Sources */, + 435077C6828AE4F60BD9C0B3 /* SBUQuotedBaseMessageViewParams.swift in Sources */, + 390979DE63DDF141AFF8A0F2 /* SBUMultipleFilesMessageCollectionViewCell.swift in Sources */, + AD8CE7135C172B2F1D6AFF77 /* SBUMultipleFilesMessageCollectionView.swift in Sources */, + AE3A654393157488D1933107 /* SBUMultipleFilesMessageCell.swift in Sources */, + 1DD907A16B0E9E83146B3879 /* SBUBaseMessageCell.swift in Sources */, + 81D9E8A7AFC1BFCB7D517AFF /* SBUOpenChannelFileMessageCell.swift in Sources */, + FDC21571F573001CE6B9E49C /* SBUOpenChannelAdminMessageCell.swift in Sources */, + 9679404AAEC52F437A3BEB1D /* SBUOpenChannelContentBaseMessageCell.swift in Sources */, + 997F52B5FA30746C638FD8A7 /* SBUOpenChannelUserMessageCell.swift in Sources */, + A28501F7E8E246401323AA98 /* SBUOpenChannelUnknownMessageCell.swift in Sources */, + 639407EC7D47CFB160C71C8F /* SBUOpenChannelBaseMessageCell.swift in Sources */, + 30CABE41306CAAA7DD0FA587 /* SBUFileMessageCell.swift in Sources */, + A1F095222A8C0FC25CDD4473 /* SBUAdminMessageCell.swift in Sources */, + 16EFDCD79BB14CBCD58161AF /* SBUContentBaseMessageCell.swift in Sources */, + DA96D82A8386DD35749D71DE /* SBUUnknownMessageCell.swift in Sources */, + 0D6D202F4C873A79F70328DD /* SBUUserMessageCell.swift in Sources */, + 2D351893F9009086A4105B7B /* SBUGroupChannelViewController.swift in Sources */, + BF6296082790C189E05C575A /* SBUMentionLimitGuideCell.swift in Sources */, + 92197C6B23A137C37B7A3391 /* SBUSuggestedMentionList.swift in Sources */, + 7D946868117F594A59133404 /* SBUQuoteMessageInputView.swift in Sources */, + 6F12F5210D7A3E84F1FBEE2C /* SBUMessageInputMode.swift in Sources */, + 30E1987BAECB29D91AFFDA4B /* SBUQuoteMessageInputViewParams.swift in Sources */, + 2EC15C6810599731098F9A0D /* SBUMessageInputView.swift in Sources */, + B173591FF23B06E2DB3E3618 /* SBUCategoryFilterCell.swift in Sources */, + CD561DDE5200B5B42EC80074 /* SBUMessageStateView.swift in Sources */, + 45DB27753348FB9727B47275 /* SBUMessageProfileView.swift in Sources */, + 0749D23EA05CF11274C52AF5 /* SBUUserMessageTextView.swift in Sources */, + B5620076C0663A829B1A4F0A /* SBUUserNameView.swift in Sources */, + 94B99594CCCBB971FC3D04AB /* SBUMessageWebView.swift in Sources */, + 5450CF3CFED1D81508FAD050 /* SBUMessageDateView.swift in Sources */, + 3E8A0E55E8BEF14C697AAFD2 /* SBULinkClickableTextView.swift in Sources */, + 65A2997280115A34312C875C /* SBUOpenChannelMessageWebView.swift in Sources */, + F332348BE328C4C8706483FE /* SBUSelectableStackView.swift in Sources */, + 99C62FCEF0494D39E10B9A67 /* SBUNotificationTimelineView.swift in Sources */, + 194F54868405E3407EFCBAD6 /* SBUFileViewController.swift in Sources */, + B6684836709BB48C70FE85C6 /* SBUBaseChannelViewController.Keyboard.swift in Sources */, + 4019FA6F5A38979896775442 /* SBUChatNotificationChannelViewController.swift in Sources */, + 14C63BB411D0BD9D6E49B551 /* SBUNewNotificationInfo.swift in Sources */, + 9BD9DEBD9C089810106086A9 /* SBUNewMessageInfo.swift in Sources */, + DA39C57884B5BD579D3A9395 /* SBUOpenChannelViewController.swift in Sources */, + 846D7E2B25DA2CA01E06D0FB /* SBUChannelInfoHeaderView.swift in Sources */, + E6F0030A600456DDE3A2A274 /* SBUChannelTitleView.swift in Sources */, + 0DFADE8157E50D809253FCC6 /* SBUBaseChannelSettingsViewController.swift in Sources */, + A30F9E969DA6843D00E93C04 /* SBUOpenChannelSettingsViewController.swift in Sources */, + D9A3BB711ADF8135D869C95D /* SBUOpenChannelSettingCell.swift in Sources */, + 5DB987CE56624B6831E40E3E /* SBUBaseChannelSettingCell.swift in Sources */, + 8A933C1B03209D72E6E36E16 /* SBUModerationCell.swift in Sources */, + D29A2267F0CC26DF5F86522A /* SBUGroupChannelSettingCell.swift in Sources */, + E05E5BC84FE2A4FB61EC8590 /* SBUChannelSettingsChannelInfoView.swift in Sources */, + 7A4774D34FB54E9EEEDBC77A /* SBUGroupChannelSettingsViewController.swift in Sources */, + 6697EC7E8251DF5C218ED96E /* SBUVoiceMessageInputView.swift in Sources */, + 6D78A0A3F10360BBE1C48DD4 /* SBUStackView.swift in Sources */, + D6BDD0F532AA7CD21F121830 /* SBUAnimation.swift in Sources */, + 13B9C3F0192DE46023B77E33 /* SBUEmptyView.swift in Sources */, + D55BAE3BA35023EEF7B5DDA3 /* SBUCoverImageView.swift in Sources */, + 272EAD0B4F6582B087994F85 /* SBUPhotoAccess.swift in Sources */, + F8B3777307BC97B104C5D44D /* SBUPhotoCollectionViewCell.swift in Sources */, + B582723D175B30E8F3F34C07 /* SBUSelectablePhotoViewController.swift in Sources */, + DC834A70A3D6D1E6A2A0932D /* SBUPaddingLabel.swift in Sources */, + 993FD4D29C3E2104D595434B /* SBUCommonItem.swift in Sources */, + 41D2EC085F5BE0A0139499AF /* SBULayoutableButton.swift in Sources */, + F489DF5453BAF301C81E0AAC /* SBUUserProfileView.swift in Sources */, + 8F9EC1F173B884B55FED1C62 /* SBUNavigationTitleView.swift in Sources */, + 04B6A9ED0736959B13708160 /* SBUNotificationNavigationTitleView.swift in Sources */, + F83BDC5FFEB61172BE17DA39 /* SBUBarButtonItem.swift in Sources */, + FC65967412A610E73D438591 /* SBUActionSheet.swift in Sources */, + 04177AC5C0F57E837459EBF3 /* SBUNotificationEmptyView.swift in Sources */, + 9EF3CD474B2401AA57C4D8A4 /* SBUAlertView.swift in Sources */, + 043ED68F6B6BC9F1C8D36E05 /* SBUMenuSheetViewController.swift in Sources */, + A9C2B0CA00AA6D0C22AFA554 /* SBUMenuCell.swift in Sources */, + 2D013CE5583B3C53B8663736 /* SBUMenuView.swift in Sources */, + 2CB257D377BF75618AA9BE27 /* SBUBottomSheetController.swift in Sources */, + 7CD34F5780087E1560B61F2A /* SBUUnderLineTextField.swift in Sources */, + 95CDF122347056B28A0EB6AB /* SBUUserCell.swift in Sources */, + A730513C08C36310F121CB9E /* SBUTemplateLabel.swift in Sources */, + 73F5A7E7D9E1CA08AC9E8813 /* SBUMarginView.swift in Sources */, + 6EAA19DC3F951BDF02EBAA3A /* SBUCommonViewControllerSet.swift in Sources */, + 1F53C66728FB255CEC29E331 /* SBULoading.swift in Sources */, + 06030E31165A1E9C380B7E23 /* SBUCollectionViewFlowLayout.swift in Sources */, + C135F041623E9A5DDC4EBD7D /* SBUUserListViewController.swift in Sources */, + E5C3DE30C2927906126D0BDC /* SBUViewControllerSet.swift in Sources */, + 6E3868B26448B9566AF52544 /* SBUMessageSearchViewController.swift in Sources */, + D0B9B4A4AB4479BAF4E884E8 /* SBUMessageSearchResultCell.swift in Sources */, + D9E329F28D60B82E364D535D /* SBUTableViewCell.swift in Sources */, + 4E669DCC98FB96F091132703 /* SBUCollectionViewCell.swift in Sources */, + 2A1C0E7818B249F494C4593B /* SBUQuoteMessageInputViewProtocol.swift in Sources */, + 5F9A2B41B848AB84DDF15D26 /* SBUMessageCellProtocol.swift in Sources */, + 05822070E7825B865BF61B31 /* SBUViewLifeCycle.swift in Sources */, + 75737CC050A5BB0D0563AB27 /* SBUQuotedMessageViewProtocol.swift in Sources */, + 8558F60B4AC3168311A186FC /* SBUView.swift in Sources */, + 365865670DFECC911E4AA7D9 /* SBUMessageThreadViewController.swift in Sources */, + F42438E7AD4B6906262D62F9 /* SBUMessageThreadTitleView.swift in Sources */, + 13F4EAE7FE53DEA5E3F4CF42 /* SBUParentMessageInfoView.swift in Sources */, + F2B64212D0649E921CEAAE40 /* SBUModerationsViewController.swift in Sources */, + 123D85AF52499056FD9491DF /* SBURegisterOperatorViewController.swift in Sources */, + 516BDF47A6AD0A67A5B2CDF9 /* SBUBaseSelectUserViewController.swift in Sources */, + 3E8B4CCDC268BA9BFF85F621 /* SBUInviteUserViewController.swift in Sources */, + C6A3B6AA3B71FE949CBEEE47 /* SBUCreateChannelTypeSelector.swift in Sources */, + 4E873990CD047839F9100656 /* SBUCreateChannelViewController.swift in Sources */, + D8B10E9D3322B82E431398E7 /* SBUCreateOpenChannelViewController.swift in Sources */, + 69FD5A5F11539FCEB7A370D2 /* SBUGlobals.swift in Sources */, + 9BF8D18EBEE858774DE6BC4F /* SBUTableViewCell.Unavailable.swift in Sources */, + 037F57D59BDFFAF614539374 /* SBUChannelListViewController.Deprecated.swift in Sources */, + 90E3D50B11AA7C552D6AA86D /* SBUBaseMessageCellParams.Deprecated.swift in Sources */, + C96F9257BACE4D7C007E12AD /* SBUQuotedBaseMessageViewParams.Deprecated.swift in Sources */, + 8FEBC87E72C2E50DF92A75C2 /* SBUContentBaseMessageCell.Deprecated.swift in Sources */, + C8F4616666A449BD0DE8307C /* SBUBaseChannelViewController.Deprecated.swift in Sources */, + 004B14050F8F5D46AEC64F3C /* SBUGroupChannelViewController.Unavailable.swift in Sources */, + C55414DD2CFD09AB3E7F5D83 /* SBUOpenChannelViewController.Deprecated.swift in Sources */, + 89DC2C0CCA7EC268AF9C5DAF /* SBUOpenChannelViewController.Unavailable.swift in Sources */, + 136D79E4DDFA3F82B8610F1C /* SBUGroupChannelViewController.Deprecated.swift in Sources */, + 1E8281F0739EF7E4B9D288BB /* SBUBaseChannelViewController.Unavailable.swift in Sources */, + 0A9B2ACB72756BDC2D03DFDC /* SBUBaseChannelSettingsViewController.Deprecated.swift in Sources */, + C8F0CB0F8AA19115BF1BA81D /* SBUBaseViewController.Unavailable.swift in Sources */, + D508C49BAFA7951869E593FB /* SBUMemberListViewController.Deprecated.swift in Sources */, + AA34C01EEA6403A065F3FD91 /* SBUBaseSelectUserViewController.Deprecated.swift in Sources */, + 45C7088A9917BD33469FFE3F /* SBUMessageSearchViewController.Deprecated.swift in Sources */, + D3112E51B68DB655FB67B36D /* SBUView.Unavaliable.swift in Sources */, + 6E9BCB3DE6E3202762A44955 /* SBUGlobals.Deprecated.swift in Sources */, + 968B3B44C260F3525AD283C9 /* SBUCoverImageView.Deprecated.swift in Sources */, + 01C5E5781AE61CF95EA4B472 /* SBUModerationsViewModel.Deprecated.swift in Sources */, + ABACAD0F0333F0044B048B68 /* SBUModerationsViewController.Deprecated.swift in Sources */, + 5870D553B9E5554EAFFD1128 /* SBUTheme.Deprecated.swift in Sources */, + 03A1CC705C5F3F13C4D057D4 /* SBUCreateChannelViewController.Deprecated.swift in Sources */, + 193C0ACBEF71991039943646 /* SBUModuleSet.Deprecated.swift in Sources */, + 4E6FD06721DC73487356CF3F /* SBUEnums.Deprecated.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -3769,7 +3853,7 @@ GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; IPHONEOS_DEPLOYMENT_TARGET = 11.0; - MARKETING_VERSION = 3.8.0; + MARKETING_VERSION = 3.9.2; MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; MTL_FAST_MATH = YES; ONLY_ACTIVE_ARCH = YES; @@ -3824,7 +3908,7 @@ GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; IPHONEOS_DEPLOYMENT_TARGET = 11.0; - MARKETING_VERSION = 3.8.0; + MARKETING_VERSION = 3.9.2; MTL_ENABLE_DEBUG_INFO = NO; MTL_FAST_MATH = YES; SDKROOT = iphoneos; diff --git a/Sample/QuickStart/AppDelegate.swift b/Sample/QuickStart/AppDelegate.swift index f0728c5bd..e5ee68fe9 100644 --- a/Sample/QuickStart/AppDelegate.swift +++ b/Sample/QuickStart/AppDelegate.swift @@ -31,7 +31,7 @@ class AppDelegate: UIResponder, UIApplicationDelegate, UNUserNotificationCenterD SendbirdUI.config.common.isUsingDefaultUserProfileEnabled = true // Reply - SendbirdUI.config.groupChannel.channel.replyType = .thread + SendbirdUI.config.groupChannel.channel.replyType = .quoteReply // Channel List - Typing indicator SendbirdUI.config.groupChannel.channelList.isTypingIndicatorEnabled = true // Channel List - Message receipt state diff --git a/Sample/QuickStart/Base.lproj/Main.storyboard b/Sample/QuickStart/Base.lproj/Main.storyboard index 181a705e0..3e1b9ccee 100644 --- a/Sample/QuickStart/Base.lproj/Main.storyboard +++ b/Sample/QuickStart/Base.lproj/Main.storyboard @@ -1,9 +1,9 @@ - + - + @@ -17,40 +17,40 @@ - + - + - - + - + - + - + @@ -59,7 +59,7 @@ diff --git a/Sample/QuickStart/Base/OpenChannel/Channels/LiveStream/Channel/LiveStreamChannelModule.Media.swift b/Sample/QuickStart/Base/OpenChannel/Channels/LiveStream/Channel/LiveStreamChannelModule.Media.swift index a3c358cc6..955dec9e2 100644 --- a/Sample/QuickStart/Base/OpenChannel/Channels/LiveStream/Channel/LiveStreamChannelModule.Media.swift +++ b/Sample/QuickStart/Base/OpenChannel/Channels/LiveStream/Channel/LiveStreamChannelModule.Media.swift @@ -127,6 +127,11 @@ class LiveStreamChannelModule { case 1...: self.participantCountLabel.text = SBUStringSet.Open_Channel_Participants_Count(channel.participantCount) default: self.participantCountLabel.text = "" } + self.liveInfoHStack.setHStack([ + self.activeIndicator, + self.liveLabel, + self.participantCountLabel + ]) } /// - IMPORTANT: Do nothing here. Please refer to ``configure(delegate:dataSource:theme:)``. @@ -159,12 +164,7 @@ class LiveStreamChannelModule { ]), UIView(), self.bottomStackView.setHStack([ - self.liveInfoHStack.setHStack([ - self.activeIndicator, - self.liveLabel, - self.participantCountLabel - ]), - UIView() + self.liveInfoHStack ]) ]) ) diff --git a/Sample/QuickStart/Base/OpenChannel/Channels/LiveStream/ChannelList/LiveStreamChannelCell.swift b/Sample/QuickStart/Base/OpenChannel/Channels/LiveStream/ChannelList/LiveStreamChannelCell.swift index 9e00614b5..26ad118ec 100644 --- a/Sample/QuickStart/Base/OpenChannel/Channels/LiveStream/ChannelList/LiveStreamChannelCell.swift +++ b/Sample/QuickStart/Base/OpenChannel/Channels/LiveStream/ChannelList/LiveStreamChannelCell.swift @@ -43,17 +43,19 @@ class LiveStreamChannelCell: SBUOpenChannelCell { self.tagsLabel.clipsToBounds = true self.activeIndicator.clipsToBounds = true - self.infoStackView.setVStack([ - self.titleStackView.setHStack([ - self.creatorProfileImage, - self.titleLabel - ]), + self.titleStackView.setHStack([ self.creatorProfileImage, + self.titleLabel + ]) + + self.infoStackView.setVStack([ + self.titleStackView, self.creatorNameLabel, self.tagsLabel, self.freezeState ]) + self.participantStackView.tag = 3030 self.participantStackView.setHStack([ self.participantCountLabel ]) @@ -65,6 +67,30 @@ class LiveStreamChannelCell: SBUOpenChannelCell { } override func setupLayouts() { + self.creatorProfileImage + .sbu_constraint(width: Self.iconSize, height: Self.iconSize) + + self.titleLabel + .setContentCompressionResistancePriority(.defaultLow, for: .horizontal) + + self.infoStackView + .sbu_constraint( + equalTo: self.contentView, + right: 16, + top: 10 + ) + .sbu_constraint(height: 72) + .sbu_constraint_equalTo( + leadingAnchor: self.coverImage.trailingAnchor, + leading: Self.leadingPadding + ) + + self.tagsLabel + .sbu_constraint(height: Self.tagsHeight) + + self.participantCountLabel + .sbu_constraint(height: 22, priority: .defaultHigh) + self.coverImage .sbu_constraint( equalTo: self.contentView, @@ -86,18 +112,6 @@ class LiveStreamChannelCell: SBUOpenChannelCell { bottom: 0 ) - self.infoStackView - .sbu_constraint( - equalTo: self.contentView, - right: 16, - top: 10 - ) - .sbu_constraint(height: 72) - .sbu_constraint_equalTo( - leadingAnchor: self.coverImage.trailingAnchor, - leading: Self.leadingPadding - ) - self.activeIndicator .sbu_constraint(equalTo: self.participantStackView, centerY: 0) .sbu_constraint_equalTo( @@ -123,18 +137,6 @@ class LiveStreamChannelCell: SBUOpenChannelCell { bottom: 4 ) .sbu_constraint(height: 12) - - self.creatorProfileImage - .sbu_constraint(width: Self.iconSize, height: Self.iconSize) - - self.titleLabel - .setContentCompressionResistancePriority(.defaultLow, for: .horizontal) - - self.tagsLabel - .sbu_constraint(height: Self.tagsHeight) - - self.participantCountLabel - .sbu_constraint(height: 22) } override func layoutSubviews() { diff --git a/Sample/QuickStart/ViewController.swift b/Sample/QuickStart/ViewController.swift index 7961fb4d8..875485bc4 100644 --- a/Sample/QuickStart/ViewController.swift +++ b/Sample/QuickStart/ViewController.swift @@ -53,6 +53,8 @@ class ViewController: UIViewController { UIView.animate(withDuration: 0.4, delay: 0, options: .curveEaseOut, animations: { self.connectView.isHidden = self.isSignedIn self.connectView.alpha = self.isSignedIn ? 0 : 1 + self.mainView.isHidden = !self.isSignedIn + self.mainView.alpha = !self.isSignedIn ? 0 : 1 self.homeStackView.isHidden = !self.isSignedIn self.homeStackView.alpha = !self.isSignedIn ? 0 : 1 }) diff --git a/SendBirdUIKit.podspec b/SendBirdUIKit.podspec index c48816d8c..a133c02f2 100644 --- a/SendBirdUIKit.podspec +++ b/SendBirdUIKit.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = "SendBirdUIKit" - s.version = "3.9.3" + s.version = "3.10.0" s.summary = "UIKit based on SendbirdChatSDK" s.description = "Sendbird UIKit is a framework composed of basic UI components based on SendbirdChatSDK." s.homepage = "https://sendbird.com" diff --git a/Sources/Configuration/SBUConfig.GroupChannel.swift b/Sources/Configuration/SBUConfig.GroupChannel.swift index 5d06a2030..84e4c7d0a 100644 --- a/Sources/Configuration/SBUConfig.GroupChannel.swift +++ b/Sources/Configuration/SBUConfig.GroupChannel.swift @@ -91,6 +91,30 @@ extension SBUConfig.GroupChannel { /// Input configuration set of OpenChannel.Channel public var input: Input = Input() + /// Configuration option that decides whether or not sending a MultipleFilesMessage feature is enabled. + /// If true, selecting multiple images and videos in a GroupChannel is enabled. + /// Default is false. + /// ```swift + /// SendbirdUI.config.groupChannel.channel.isMultipleFilesMessageEnabled = false // Allows a single image or video selection + /// SendbirdUI.config.groupChannel.channel.isMultipleFilesMessageEnabled = true // Allows multiple images and videos selections + /// ``` + /// - Note: + /// - This is supported only for iOS 14 or above. + /// - If it's true, it sets `SBUGlobals.isPHPickerEnabled` as true internally. + /// - IMPORTANT: Do not set `SBUGlobals.isPHPickerEnabled` to false after setting `isMultipleFilesMessageEnabled` to `true` + /// - Since: 3.10.0 + @SBUPrioritizedConfig public var isMultipleFilesMessageEnabled: Bool = false { + willSet { + if newValue == true { + if #available(iOS 14, *) { + SBUGlobals.isPHPickerEnabled = newValue + } else { + SBULog.error("`isMultipleFilesMessageEnabled` can only be enabled in iOS 14 or above.") + } + } + } + } + // MARK: Logic override init() {} diff --git a/Sources/Configurations/Base.xcconfig b/Sources/Configurations/Base.xcconfig index ea9b6fd34..4f97f9028 100644 --- a/Sources/Configurations/Base.xcconfig +++ b/Sources/Configurations/Base.xcconfig @@ -9,6 +9,6 @@ // Configuration settings file format documentation can be found at: // https://help.apple.com/xcode/#/dev745c5c974 -SBU_APP_VERSION = 3.9.3 -SBU_APP_BUNDLE_VERSION = 3.9.3 +SBU_APP_VERSION = 3.10.0 +SBU_APP_BUNDLE_VERSION = 3.10.0 SENDBIRD_CHAT_SDK_VERSION = 4.12.0 diff --git a/Sources/Constant/SBUConstant.swift b/Sources/Constant/SBUConstant.swift index db808c98d..0eea53e9f 100644 --- a/Sources/Constant/SBUConstant.swift +++ b/Sources/Constant/SBUConstant.swift @@ -47,4 +47,7 @@ class SBUConstant { static let voiceMessageTypeVoiceParameter = "sbu_type=voice" static let voiceMessageDurationKey = "KEY_VOICE_MESSAGE_DURATION" static let internalMessageTypeKey = "KEY_INTERNAL_MESSAGE_TYPE" + + // queue name for sending a message in group channel + static let messageOperationQueueName = "com.sendbird.uikit.groupchannel.message" } diff --git a/Sources/Constant/SBUStringSet.swift b/Sources/Constant/SBUStringSet.swift index d5d7bf53b..932a96d12 100644 --- a/Sources/Constant/SBUStringSet.swift +++ b/Sources/Constant/SBUStringSet.swift @@ -34,6 +34,9 @@ public class SBUStringSet { // MARK: - Alert public static var Alert_Delete = "Are you sure you want to delete?" + public static var Alert_Delete_MultipleFilesMessage: (Int) -> String = { + return "Do you want to delete all \($0) photos?" + } public static var Alert_Allow_Camera_Access = "Please allow camera usage from settings" public static var Alert_Allow_PhotoLibrary_Access = "Please Allow PhotoLibrary Access" public static var Alert_Allow_PhotoLibrary_Access_Message = "PhotoLibrary access required to get your photos and videos" @@ -173,7 +176,7 @@ public class SBUStringSet { public static var ChannelPushSettings_Notification_Description = "Turn on push notifications if you wish to be notified when messages are delivered to this channel." // MARK: - Message Input - public static var MessageInput_Text_Placeholder = "Type a message" + public static var MessageInput_Text_Placeholder = "Enter message" public static var MessageInput_Text_Unavailable = "Chat is unavailable in this channel" public static var MessageInput_Text_Muted = "You are muted" public static var MessageInput_Text_Reply = "Reply to message" @@ -353,6 +356,29 @@ public class SBUStringSet { public static var fileName = "Voice_message" } + // MARK: - GroupChannel + + /// Represents a set of strings related to `MultipleFilesMessage`. + /// - since: 3.10.0 + public struct GroupChannel { + public struct Preview { + public static var photo = "Photo" + public static var gif = "GIF" + public static var video = "Video" + public static var audio = "Audio" + public static var voice = "Voice message" + public static var file = "File" + public static var multipleFiles = "Photo" + } + } + + /// Represents a set of strings related to uploading a file. + /// - since: 3.10.0 + public struct FileUpload { + public struct Error { + public static var exceededSizeLimit = "The maximum size per file is \(SBUAvailable.uploadSizeLimitMB)MB." + } + } } extension SBUStringSet { diff --git a/Sources/Enums/SBUIconSetType.swift b/Sources/Enums/SBUIconSetType.swift index cdec9cc6a..ee9104ebd 100644 --- a/Sources/Enums/SBUIconSetType.swift +++ b/Sources/Enums/SBUIconSetType.swift @@ -73,25 +73,25 @@ public enum SBUIconSetType: String, Hashable { // MARK: - Metric - struct Metric { - static let defaultIconSizeVerySmall = CGSize(value: 12) - static let defaultIconSizeSmall = CGSize(value: 16) - static let defaultIconSizeMedium = CGSize(value: 18) - static let defaultIconSize = CGSize(value: 24) - static let defaultIconSizeLarge = CGSize(value: 32) - static let defaultIconSizeVeryLarge = CGSize(value: 48) - static let quotedMessageIconSize = CGSize(value: 20) - static let iconActionSheetItem = defaultIconSize - static let iconEmojiSmall = CGSize(value: 20) - static let iconEmojiLarge = CGSize(value: 38) - static let iconEmptyView = CGSize(value: 60) - static let iconGifPlay = CGSize(value: 28) - static let iconSpinnerLarge = CGSize(value: 40) - static let iconSpinnerSizeForTemplate = CGSize(value: 36) - static let iconUserProfile = CGSize(value: 40) - static let iconUserProfileInChat = CGSize(value: 15) - static let iconChevronDown = CGSize(value: 22) - static let iconVoiceMessageSize = CGSize(value: 20) + public struct Metric { + public static let defaultIconSizeVerySmall = CGSize(value: 12) + public static let defaultIconSizeSmall = CGSize(value: 16) + public static let defaultIconSizeMedium = CGSize(value: 18) + public static let defaultIconSize = CGSize(value: 24) + public static let defaultIconSizeLarge = CGSize(value: 32) + public static let defaultIconSizeVeryLarge = CGSize(value: 48) + public static let quotedMessageIconSize = CGSize(value: 20) + public static let iconActionSheetItem = defaultIconSize + public static let iconEmojiSmall = CGSize(value: 20) + public static let iconEmojiLarge = CGSize(value: 38) + public static let iconEmptyView = CGSize(value: 60) + public static let iconGifPlay = CGSize(value: 28) + public static let iconSpinnerLarge = CGSize(value: 40) + public static let iconSpinnerSizeForTemplate = CGSize(value: 36) + public static let iconUserProfile = CGSize(value: 40) + public static let iconUserProfileInChat = CGSize(value: 15) + public static let iconChevronDown = CGSize(value: 22) + public static let iconVoiceMessageSize = CGSize(value: 20) } // MARK: - Image handling @@ -113,7 +113,7 @@ public enum SBUIconSetType: String, Hashable { /// - size: Size for the icon to be resized to. Resizing is applied to default icons according to `tintAndResize` flag. /// - tintAndResize: Whether to apply tint & resized icons for customized icons as well. /// - Returns: `UIImage` with tint applied & resized if possible. When the icon is the customized image and ``SBUGlobals.isTintColorEnabledForCustomizedIcon`` is `false`, doesn't use `tintColor`. When the icon is the customized image and ``SBUGlobals.isCustomizedIconResizable`` is `false`, doesn't use `size` - func image(with tintColor: UIColor? = nil, to size: CGSize, tintAndResize: Bool = true) -> UIImage { + public func image(with tintColor: UIColor? = nil, to size: CGSize, tintAndResize: Bool = true) -> UIImage { // TODO: Update logic for better DX of `tintAndResize` // Prevents customized icons from being applied with tintColor. let isCustomized = SBUIconSetType.customizedIcons.contains(self) diff --git a/Sources/Extension/ChatSDK/MultipleFilesMessage+SBUIKit.swift b/Sources/Extension/ChatSDK/MultipleFilesMessage+SBUIKit.swift new file mode 100644 index 000000000..a2c57a759 --- /dev/null +++ b/Sources/Extension/ChatSDK/MultipleFilesMessage+SBUIKit.swift @@ -0,0 +1,25 @@ +// +// MultipleFilesMessage+SBUIKit.swift +// SendbirdUIKit +// +// Created by Celine Moon on 2023/10/20. +// Copyright © 2023 Sendbird, Inc. All rights reserved. +// + +import SendbirdChatSDK + +extension MultipleFilesMessage { + /// Indicates the number of files of a multiple files message. + /// - Since: 3.10.0 + public var filesCount: Int { + if self.sendingStatus == .succeeded { + return self.files.count + } else { + if let messageParam = self.messageParams as? MultipleFilesMessageCreateParams { + return messageParam.uploadableFileInfoList.count + } else { + return 0 + } + } + } +} diff --git a/Sources/Extension/NSLayoutConstraint+SBUIKit.swift b/Sources/Extension/NSLayoutConstraint+SBUIKit.swift new file mode 100644 index 000000000..7384c150c --- /dev/null +++ b/Sources/Extension/NSLayoutConstraint+SBUIKit.swift @@ -0,0 +1,75 @@ +// +// NSLayoutConstraint+SBUIKit.swift +// SendbirdUIKit +// +// Created by Tez Park on 2023/09/13. +// Copyright © 2023 Sendbird, Inc. All rights reserved. +// + +import UIKit + +extension NSLayoutConstraint { + /// This function deactivates an existing constraint property, if any, and activates it with a new constraint property. + /// - Parameters: + /// - baseView: The base view to which the constraint is applied + /// - constraints: Constraints to be applied (the constraint array can contain nil) + /// + /// - Since: 3.10.0 + public static func sbu_activate(baseView: UIView, constraints: [NSLayoutConstraint?]) { + let constraints = constraints.compactMap { $0 } + var constraintMap: [String: NSLayoutConstraint] = [:] + + for baseConstraint in baseView.constraints { + let identifier = baseConstraint.identifier ?? baseConstraint.generateId() + constraintMap[identifier] = baseConstraint + } + + var duplicatedConstraints: [NSLayoutConstraint] = [] + + for constraint in constraints { + let identifier = constraint.identifier ?? constraint.generateId() + if constraint.identifier == nil { + constraint.identifier = identifier + } + + guard let existingConstraint = constraintMap[identifier], + isEqual(lhs: existingConstraint, rhs: constraint) else { continue } + + duplicatedConstraints.append(existingConstraint) + } + + baseView.translatesAutoresizingMaskIntoConstraints = false + + Self.deactivate(duplicatedConstraints) + baseView.removeConstraints(duplicatedConstraints) + + Self.activate(constraints) + } +} + +extension NSLayoutConstraint { + func assignId(_ identifier: String? = nil) -> NSLayoutConstraint { + self.identifier = identifier ?? self.generateId() + return self + } + + func generateId() -> String { + let firstItemID = self.firstItem.map { ObjectIdentifier($0 as AnyObject).hashValue } ?? -1 + let secondItemID = self.secondItem.map { ObjectIdentifier($0 as AnyObject).hashValue } ?? -1 + let identifier = "\(firstItemID)_\(self.firstAttribute.rawValue)_\(secondItemID)_\(self.secondAttribute.rawValue)_\(self.relation.rawValue)_\(self.priority.rawValue)_\(self.multiplier)" + return identifier + } + + static internal func isEqual(lhs: NSLayoutConstraint, rhs: NSLayoutConstraint) -> Bool { + guard lhs.firstAttribute == rhs.firstAttribute && + lhs.secondAttribute == rhs.secondAttribute && + lhs.relation == rhs.relation && + lhs.priority == rhs.priority && + lhs.multiplier == rhs.multiplier && + lhs.secondItem === rhs.secondItem && + lhs.firstItem === rhs.firstItem else { + return false + } + return true + } +} diff --git a/Sources/Extension/UIImageView+SBUIKit.swift b/Sources/Extension/UIImageView+SBUIKit.swift index 049d77055..0d500311a 100644 --- a/Sources/Extension/UIImageView+SBUIKit.swift +++ b/Sources/Extension/UIImageView+SBUIKit.swift @@ -132,10 +132,18 @@ internal extension UIImageView { return } - let image = SBUCacheManager.Image.save(data: data, fileName: fileName, subPath: subPath) - self.setImage(image, tintColor: tintColor, completion: completion) + SBUCacheManager.Image.save(data: data, fileName: fileName, subPath: subPath) { [weak self] _, nsdata in + guard let data = nsdata, + let image = UIImage.createImage(from: data as Data) else { + completion?(false) + return + } + + self?.setImage(image, tintColor: tintColor, completion: completion) + } } task.resume() + return task } diff --git a/Sources/Extension/UIView+SBUIKit.swift b/Sources/Extension/UIView+SBUIKit.swift index cabd3bbb3..ba8c906ee 100644 --- a/Sources/Extension/UIView+SBUIKit.swift +++ b/Sources/Extension/UIView+SBUIKit.swift @@ -33,15 +33,15 @@ extension UIView { // EqualTo @discardableResult public func sbu_constraint(equalTo view: UIView, - leading: CGFloat? = nil, - trailing: CGFloat? = nil, - left: CGFloat? = nil, - right: CGFloat? = nil, - top: CGFloat? = nil, - bottom: CGFloat? = nil, - centerX: CGFloat? = nil, - centerY: CGFloat? = nil, - priority: UILayoutPriority? = nil) -> UIView { + leading: CGFloat? = nil, + trailing: CGFloat? = nil, + left: CGFloat? = nil, + right: CGFloat? = nil, + top: CGFloat? = nil, + bottom: CGFloat? = nil, + centerX: CGFloat? = nil, + centerY: CGFloat? = nil, + priority: UILayoutPriority? = nil) -> UIView { return self.sbu_constraint_equalTo( leadingAnchor: view.leadingAnchor, @@ -75,80 +75,81 @@ extension UIView { centerXAnchor: NSLayoutAnchor? = nil, centerX: CGFloat? = nil, centerYAnchor: NSLayoutAnchor? = nil, centerY: CGFloat? = nil, priority: UILayoutPriority? = nil) -> UIView { - - self.translatesAutoresizingMaskIntoConstraints = false - - var layoutConstraints: [NSLayoutConstraint] = [] - - if let leadingAnchor = leadingAnchor, let leading = leading { - layoutConstraints.append( - self.leadingAnchor.constraint(equalTo: leadingAnchor, constant: leading) - ) - } - - if let trailingAnchor = trailingAnchor, let trailing = trailing { - layoutConstraints.append( - self.trailingAnchor.constraint(equalTo: trailingAnchor, constant: trailing) - ) - } - - if let leftAnchor = leftAnchor, let left = left { - layoutConstraints.append( - self.leftAnchor.constraint(equalTo: leftAnchor, constant: left) - ) - } - - if let rightAnchor = rightAnchor, let right = right { - layoutConstraints.append( - self.rightAnchor.constraint(equalTo: rightAnchor, constant: -right) - ) - } - - if let topAnchor = topAnchor, let top = top { - layoutConstraints.append( - self.topAnchor.constraint(equalTo: topAnchor, constant: top) - ) - } - - if let bottomAnchor = bottomAnchor, let bottom = bottom { - layoutConstraints.append( - self.bottomAnchor.constraint(equalTo: bottomAnchor, constant: -bottom) - ) - } - - if let centerXAnchor = centerXAnchor, let centerX = centerX { - layoutConstraints.append( - self.centerXAnchor.constraint(equalTo: centerXAnchor, constant: centerX) - ) - } - - if let centerYAnchor = centerYAnchor, let centerY = centerY { - layoutConstraints.append( - self.centerYAnchor.constraint(equalTo: centerYAnchor, constant: centerY) - ) - } - - if let priority = priority { - layoutConstraints.forEach { $0.priority = priority } + + self.translatesAutoresizingMaskIntoConstraints = false + + var layoutConstraints: [NSLayoutConstraint] = [] + + if let leadingAnchor = leadingAnchor, let leading = leading { + layoutConstraints.append( + self.leadingAnchor.constraint(equalTo: leadingAnchor, constant: leading).assignId() + ) + } + + if let trailingAnchor = trailingAnchor, let trailing = trailing { + layoutConstraints.append( + self.trailingAnchor.constraint(equalTo: trailingAnchor, constant: trailing).assignId() + ) + } + + if let leftAnchor = leftAnchor, let left = left { + layoutConstraints.append( + self.leftAnchor.constraint(equalTo: leftAnchor, constant: left).assignId() + ) + } + + if let rightAnchor = rightAnchor, let right = right { + layoutConstraints.append( + self.rightAnchor.constraint(equalTo: rightAnchor, constant: -right).assignId() + ) + } + + if let topAnchor = topAnchor, let top = top { + layoutConstraints.append( + self.topAnchor.constraint(equalTo: topAnchor, constant: top).assignId() + ) + } + + if let bottomAnchor = bottomAnchor, let bottom = bottom { + layoutConstraints.append( + self.bottomAnchor.constraint(equalTo: bottomAnchor, constant: -bottom).assignId() + ) + } + + if let centerXAnchor = centerXAnchor, let centerX = centerX { + layoutConstraints.append( + self.centerXAnchor.constraint(equalTo: centerXAnchor, constant: centerX).assignId() + ) + } + + if let centerYAnchor = centerYAnchor, let centerY = centerY { + layoutConstraints.append( + self.centerYAnchor.constraint(equalTo: centerYAnchor, constant: centerY).assignId() + ) + } + + if let priority = priority { + layoutConstraints.forEach { $0.priority = priority } + } + + NSLayoutConstraint.sbu_activate(baseView: self, constraints: layoutConstraints) + self.updateConstraintsIfNeeded() + + return self } - - NSLayoutConstraint.activate(layoutConstraints) - - return self - } // GreaterThanOrEqualTo @discardableResult public func sbu_constraint(greaterThanOrEqualTo view: UIView, - leading: CGFloat? = nil, - trailing: CGFloat? = nil, - left: CGFloat? = nil, - right: CGFloat? = nil, - top: CGFloat? = nil, - bottom: CGFloat? = nil, - centerX: CGFloat? = nil, - centerY: CGFloat? = nil, - priority: UILayoutPriority? = nil) -> UIView { + leading: CGFloat? = nil, + trailing: CGFloat? = nil, + left: CGFloat? = nil, + right: CGFloat? = nil, + top: CGFloat? = nil, + bottom: CGFloat? = nil, + centerX: CGFloat? = nil, + centerY: CGFloat? = nil, + priority: UILayoutPriority? = nil) -> UIView { return self.sbu_constraint_greater( leadingAnchor: view.leadingAnchor, @@ -182,104 +183,105 @@ extension UIView { centerXAnchor: NSLayoutAnchor? = nil, centerX: CGFloat? = nil, centerYAnchor: NSLayoutAnchor? = nil, centerY: CGFloat? = nil, priority: UILayoutPriority? = nil) -> UIView { - - self.translatesAutoresizingMaskIntoConstraints = false - - var layoutConstraints: [NSLayoutConstraint] = [] - - if let leadingAnchor = leadingAnchor, let leading = leading { - layoutConstraints.append( - self.leadingAnchor.constraint( - greaterThanOrEqualTo: leadingAnchor, - constant: leading + + self.translatesAutoresizingMaskIntoConstraints = false + + var layoutConstraints: [NSLayoutConstraint] = [] + + if let leadingAnchor = leadingAnchor, let leading = leading { + layoutConstraints.append( + self.leadingAnchor.constraint( + greaterThanOrEqualTo: leadingAnchor, + constant: leading + ).assignId() ) - ) - } - - if let trailingAnchor = trailingAnchor, let trailing = trailing { - layoutConstraints.append( - self.trailingAnchor.constraint( - greaterThanOrEqualTo: trailingAnchor, - constant: trailing + } + + if let trailingAnchor = trailingAnchor, let trailing = trailing { + layoutConstraints.append( + self.trailingAnchor.constraint( + greaterThanOrEqualTo: trailingAnchor, + constant: trailing + ).assignId() ) - ) - } - - if let leftAnchor = leftAnchor, let left = left { - layoutConstraints.append( - self.leftAnchor.constraint( - greaterThanOrEqualTo: leftAnchor, - constant: left + } + + if let leftAnchor = leftAnchor, let left = left { + layoutConstraints.append( + self.leftAnchor.constraint( + greaterThanOrEqualTo: leftAnchor, + constant: left + ).assignId() ) - ) - } - - if let rightAnchor = rightAnchor, let right = right { - layoutConstraints.append( - self.rightAnchor.constraint( - greaterThanOrEqualTo: rightAnchor, - constant: -right + } + + if let rightAnchor = rightAnchor, let right = right { + layoutConstraints.append( + self.rightAnchor.constraint( + greaterThanOrEqualTo: rightAnchor, + constant: -right + ).assignId() ) - ) - } - - if let topAnchor = topAnchor, let top = top { - layoutConstraints.append( - self.topAnchor.constraint( - greaterThanOrEqualTo: topAnchor, - constant: top + } + + if let topAnchor = topAnchor, let top = top { + layoutConstraints.append( + self.topAnchor.constraint( + greaterThanOrEqualTo: topAnchor, + constant: top + ).assignId() ) - ) - } - - if let bottomAnchor = bottomAnchor, let bottom = bottom { - layoutConstraints.append( - self.bottomAnchor.constraint( - greaterThanOrEqualTo: bottomAnchor, - constant: -bottom + } + + if let bottomAnchor = bottomAnchor, let bottom = bottom { + layoutConstraints.append( + self.bottomAnchor.constraint( + greaterThanOrEqualTo: bottomAnchor, + constant: -bottom + ).assignId() ) - ) - } - - if let centerXAnchor = centerXAnchor, let centerX = centerX { - layoutConstraints.append( - self.centerXAnchor.constraint( - greaterThanOrEqualTo: centerXAnchor, - constant: centerX + } + + if let centerXAnchor = centerXAnchor, let centerX = centerX { + layoutConstraints.append( + self.centerXAnchor.constraint( + greaterThanOrEqualTo: centerXAnchor, + constant: centerX + ).assignId() ) - ) - } - - if let centerYAnchor = centerYAnchor, let centerY = centerY { - layoutConstraints.append( - self.centerYAnchor.constraint( - greaterThanOrEqualTo: centerYAnchor, - constant: centerY + } + + if let centerYAnchor = centerYAnchor, let centerY = centerY { + layoutConstraints.append( + self.centerYAnchor.constraint( + greaterThanOrEqualTo: centerYAnchor, + constant: centerY + ).assignId() ) - ) - } - - if let priority = priority { - layoutConstraints.forEach { $0.priority = priority } + } + + if let priority = priority { + layoutConstraints.forEach { $0.priority = priority } + } + + NSLayoutConstraint.sbu_activate(baseView: self, constraints: layoutConstraints) + self.updateConstraintsIfNeeded() + + return self } - - NSLayoutConstraint.activate(layoutConstraints) - - return self - } // LessThanOrEqualTo @discardableResult public func sbu_constraint(lessThanOrEqualTo view: UIView, - leading: CGFloat? = nil, - trailing: CGFloat? = nil, - left: CGFloat? = nil, - right: CGFloat? = nil, - top: CGFloat? = nil, - bottom: CGFloat? = nil, - centerX: CGFloat? = nil, - centerY: CGFloat? = nil, - priority: UILayoutPriority? = nil) -> UIView { + leading: CGFloat? = nil, + trailing: CGFloat? = nil, + left: CGFloat? = nil, + right: CGFloat? = nil, + top: CGFloat? = nil, + bottom: CGFloat? = nil, + centerX: CGFloat? = nil, + centerY: CGFloat? = nil, + priority: UILayoutPriority? = nil) -> UIView { return self.sbu_constraint_less( leadingAnchor: view.leadingAnchor, @@ -313,96 +315,97 @@ extension UIView { centerXAnchor: NSLayoutAnchor? = nil, centerX: CGFloat? = nil, centerYAnchor: NSLayoutAnchor? = nil, centerY: CGFloat? = nil, priority: UILayoutPriority? = nil) -> UIView { - - self.translatesAutoresizingMaskIntoConstraints = false - - var layoutConstraints: [NSLayoutConstraint] = [] - - if let leadingAnchor = leadingAnchor, let leading = leading { - layoutConstraints.append( - self.leadingAnchor.constraint( - lessThanOrEqualTo: leadingAnchor, - constant: leading + + self.translatesAutoresizingMaskIntoConstraints = false + + var layoutConstraints: [NSLayoutConstraint] = [] + + if let leadingAnchor = leadingAnchor, let leading = leading { + layoutConstraints.append( + self.leadingAnchor.constraint( + lessThanOrEqualTo: leadingAnchor, + constant: leading + ).assignId() ) - ) - } - - if let trailingAnchor = trailingAnchor, let trailing = trailing { - layoutConstraints.append( - self.trailingAnchor.constraint( - lessThanOrEqualTo: trailingAnchor, - constant: trailing + } + + if let trailingAnchor = trailingAnchor, let trailing = trailing { + layoutConstraints.append( + self.trailingAnchor.constraint( + lessThanOrEqualTo: trailingAnchor, + constant: trailing + ).assignId() ) - ) - } - - if let leftAnchor = leftAnchor, let left = left { - layoutConstraints.append( - self.leftAnchor.constraint( - lessThanOrEqualTo: leftAnchor, - constant: left + } + + if let leftAnchor = leftAnchor, let left = left { + layoutConstraints.append( + self.leftAnchor.constraint( + lessThanOrEqualTo: leftAnchor, + constant: left + ).assignId() ) - ) - } - - if let rightAnchor = rightAnchor, let right = right { - layoutConstraints.append( - self.rightAnchor.constraint( - lessThanOrEqualTo: rightAnchor, - constant: -right + } + + if let rightAnchor = rightAnchor, let right = right { + layoutConstraints.append( + self.rightAnchor.constraint( + lessThanOrEqualTo: rightAnchor, + constant: -right + ).assignId() ) - ) - } - - if let topAnchor = topAnchor, let top = top { - layoutConstraints.append( - self.topAnchor.constraint( - lessThanOrEqualTo: topAnchor, - constant: top + } + + if let topAnchor = topAnchor, let top = top { + layoutConstraints.append( + self.topAnchor.constraint( + lessThanOrEqualTo: topAnchor, + constant: top + ).assignId() ) - ) - } - - if let bottomAnchor = bottomAnchor, let bottom = bottom { - layoutConstraints.append( - self.bottomAnchor.constraint( - lessThanOrEqualTo: bottomAnchor, - constant: -bottom + } + + if let bottomAnchor = bottomAnchor, let bottom = bottom { + layoutConstraints.append( + self.bottomAnchor.constraint( + lessThanOrEqualTo: bottomAnchor, + constant: -bottom + ).assignId() ) - ) - } - - if let centerXAnchor = centerXAnchor, let centerX = centerX { - layoutConstraints.append( - self.centerXAnchor.constraint( - lessThanOrEqualTo: centerXAnchor, - constant: centerX + } + + if let centerXAnchor = centerXAnchor, let centerX = centerX { + layoutConstraints.append( + self.centerXAnchor.constraint( + lessThanOrEqualTo: centerXAnchor, + constant: centerX + ).assignId() ) - ) - } - - if let centerYAnchor = centerYAnchor, let centerY = centerY { - layoutConstraints.append( - self.centerYAnchor.constraint( - lessThanOrEqualTo: centerYAnchor, - constant: centerY + } + + if let centerYAnchor = centerYAnchor, let centerY = centerY { + layoutConstraints.append( + self.centerYAnchor.constraint( + lessThanOrEqualTo: centerYAnchor, + constant: centerY + ).assignId() ) - ) - } - - if let priority = priority { - layoutConstraints.forEach { $0.priority = priority } + } + + if let priority = priority { + layoutConstraints.forEach { $0.priority = priority } + } + + NSLayoutConstraint.sbu_activate(baseView: self, constraints: layoutConstraints) + self.updateConstraintsIfNeeded() + + return self } - - NSLayoutConstraint.activate(layoutConstraints) - - return self - } @discardableResult public func sbu_constraint(width: CGFloat? = nil, - height: CGFloat? = nil, - priority: UILayoutPriority? = nil) -> UIView { + height: CGFloat? = nil, + priority: UILayoutPriority? = nil) -> UIView { return self.sbu_constraint( widthAnchor: nil, width: width, @@ -418,124 +421,128 @@ extension UIView { widthAnchor: NSLayoutAnchor? = nil, width: CGFloat? = nil, heightAnchor: NSLayoutAnchor? = nil, height: CGFloat? = nil, priority: UILayoutPriority? = nil) -> UIView { - - self.translatesAutoresizingMaskIntoConstraints = false - - var layoutConstraints: [NSLayoutConstraint] = [] - - if let width = width { - if let widthAnchor = widthAnchor { - layoutConstraints.append( - self.widthAnchor.constraint(equalTo: widthAnchor, constant: width) - ) - } else { - layoutConstraints.append( - self.widthAnchor.constraint(equalToConstant: width)) + + self.translatesAutoresizingMaskIntoConstraints = false + + var layoutConstraints: [NSLayoutConstraint] = [] + + if let width = width { + if let widthAnchor = widthAnchor { + layoutConstraints.append(self.widthAnchor.constraint(equalTo: widthAnchor, constant: width).assignId()) + } else { + layoutConstraints.append(self.widthAnchor.constraint(equalToConstant: width).assignId()) + } } - } - - if let height = height { - if let heightAnchor = heightAnchor { - layoutConstraints.append( - self.heightAnchor.constraint(equalTo: heightAnchor, constant: height)) - } else { - layoutConstraints.append( - self.heightAnchor.constraint(equalToConstant: height)) + + if let height = height { + if let heightAnchor = heightAnchor { + layoutConstraints.append(self.heightAnchor.constraint(equalTo: heightAnchor, constant: height).assignId()) + + } else { + layoutConstraints.append(self.heightAnchor.constraint(equalToConstant: height).assignId())} } + + if let priority = priority { + layoutConstraints.forEach { $0.priority = priority } + } + + NSLayoutConstraint.sbu_activate(baseView: self, constraints: layoutConstraints) + self.updateConstraintsIfNeeded() + + return self } - - if let priority = priority { - layoutConstraints.forEach { $0.priority = priority } - } - - NSLayoutConstraint.activate(layoutConstraints) - - return self - } @discardableResult public func sbu_constraint_greaterThan( widthAnchor: NSLayoutAnchor? = nil, width: CGFloat? = nil, heightAnchor: NSLayoutAnchor? = nil, height: CGFloat? = nil, priority: UILayoutPriority? = nil) -> UIView { - - self.translatesAutoresizingMaskIntoConstraints = false - - var layoutConstraints: [NSLayoutConstraint] = [] - - if let width = width { - if let widthAnchor = widthAnchor { - layoutConstraints.append( - self.widthAnchor.constraint(greaterThanOrEqualTo: widthAnchor, constant: width) - ) - } else { - layoutConstraints.append( - self.widthAnchor.constraint(greaterThanOrEqualToConstant: width) - ) + + self.translatesAutoresizingMaskIntoConstraints = false + + var layoutConstraints: [NSLayoutConstraint] = [] + + if let width = width { + if let widthAnchor = widthAnchor { + layoutConstraints.append( + self.widthAnchor.constraint(greaterThanOrEqualTo: widthAnchor, constant: width).assignId() + ) + } else { + layoutConstraints.append( + self.widthAnchor.constraint(greaterThanOrEqualToConstant: width).assignId() + ) + } } - } - - if let height = height { - if let heightAnchor = heightAnchor { - layoutConstraints.append( - self.heightAnchor.constraint(greaterThanOrEqualTo: heightAnchor, constant: height)) - } else { - layoutConstraints.append( - self.heightAnchor.constraint(greaterThanOrEqualToConstant: height)) + + if let height = height { + if let heightAnchor = heightAnchor { + layoutConstraints.append( + self.heightAnchor.constraint(greaterThanOrEqualTo: heightAnchor, constant: height).assignId() + ) + } else { + layoutConstraints.append( + self.heightAnchor.constraint(greaterThanOrEqualToConstant: height).assignId() + ) + } } + + if let priority = priority { + layoutConstraints.forEach { $0.priority = priority } + } + + NSLayoutConstraint.sbu_activate(baseView: self, constraints: layoutConstraints) + self.updateConstraintsIfNeeded() + + return self } - - if let priority = priority { - layoutConstraints.forEach { $0.priority = priority } - } - - NSLayoutConstraint.activate(layoutConstraints) - - return self - } @discardableResult public func sbu_constraint_lessThan( widthAnchor: NSLayoutAnchor? = nil, width: CGFloat? = nil, heightAnchor: NSLayoutAnchor? = nil, height: CGFloat? = nil, priority: UILayoutPriority? = nil) -> UIView { - - self.translatesAutoresizingMaskIntoConstraints = false - - var layoutConstraints: [NSLayoutConstraint] = [] - - if let width = width { - if let widthAnchor = widthAnchor { - layoutConstraints.append( - self.widthAnchor.constraint(lessThanOrEqualTo: widthAnchor, constant: width) - ) - } else { - layoutConstraints.append( - self.widthAnchor.constraint(lessThanOrEqualToConstant: width) - ) + + self.translatesAutoresizingMaskIntoConstraints = false + + var layoutConstraints: [NSLayoutConstraint] = [] + + if let width = width { + if let widthAnchor = widthAnchor { + layoutConstraints.append( + self.widthAnchor.constraint(lessThanOrEqualTo: widthAnchor, constant: width).assignId() + ) + } else { + layoutConstraints.append( + self.widthAnchor.constraint(lessThanOrEqualToConstant: width).assignId() + ) + } } - } - - if let height = height { - if let heightAnchor = heightAnchor { - layoutConstraints.append( - self.heightAnchor.constraint(lessThanOrEqualTo: heightAnchor, constant: height)) - } else { - layoutConstraints.append( - self.heightAnchor.constraint(lessThanOrEqualToConstant: height)) + + if let height = height { + if let heightAnchor = heightAnchor { + layoutConstraints.append( + self.heightAnchor.constraint(lessThanOrEqualTo: heightAnchor, constant: height).assignId() + ) + } else { + layoutConstraints.append( + self.heightAnchor.constraint(lessThanOrEqualToConstant: height).assignId() + ) + } } + + if let priority = priority { + layoutConstraints.forEach { $0.priority = priority } + } + + NSLayoutConstraint.sbu_activate(baseView: self, constraints: layoutConstraints) + self.updateConstraintsIfNeeded() + + return self } - - if let priority = priority { - layoutConstraints.forEach { $0.priority = priority } - } - - NSLayoutConstraint.activate(layoutConstraints) - - return self - } - - // MARK: - v2: [NSLayoutConstraint] chaining version +} + +// MARK: - v2: [NSLayoutConstraint] chaining version +extension UIView { // EqualTo @discardableResult public func sbu_constraint_v2(equalTo view: UIView, @@ -589,49 +596,49 @@ extension UIView { if let leadingAnchor = leadingAnchor, let leading = leading { layoutConstraints.append( - self.leadingAnchor.constraint(equalTo: leadingAnchor, constant: leading) + self.leadingAnchor.constraint(equalTo: leadingAnchor, constant: leading).assignId() ) } if let trailingAnchor = trailingAnchor, let trailing = trailing { layoutConstraints.append( - self.trailingAnchor.constraint(equalTo: trailingAnchor, constant: trailing) + self.trailingAnchor.constraint(equalTo: trailingAnchor, constant: trailing).assignId() ) } if let leftAnchor = leftAnchor, let left = left { layoutConstraints.append( - self.leftAnchor.constraint(equalTo: leftAnchor, constant: left) + self.leftAnchor.constraint(equalTo: leftAnchor, constant: left).assignId() ) } if let rightAnchor = rightAnchor, let right = right { layoutConstraints.append( - self.rightAnchor.constraint(equalTo: rightAnchor, constant: -right) + self.rightAnchor.constraint(equalTo: rightAnchor, constant: -right).assignId() ) } if let topAnchor = topAnchor, let top = top { layoutConstraints.append( - self.topAnchor.constraint(equalTo: topAnchor, constant: top) + self.topAnchor.constraint(equalTo: topAnchor, constant: top).assignId() ) } if let bottomAnchor = bottomAnchor, let bottom = bottom { layoutConstraints.append( - self.bottomAnchor.constraint(equalTo: bottomAnchor, constant: -bottom) + self.bottomAnchor.constraint(equalTo: bottomAnchor, constant: -bottom).assignId() ) } if let centerXAnchor = centerXAnchor, let centerX = centerX { layoutConstraints.append( - self.centerXAnchor.constraint(equalTo: centerXAnchor, constant: centerX) + self.centerXAnchor.constraint(equalTo: centerXAnchor, constant: centerX).assignId() ) } if let centerYAnchor = centerYAnchor, let centerY = centerY { layoutConstraints.append( - self.centerYAnchor.constraint(equalTo: centerYAnchor, constant: centerY) + self.centerYAnchor.constraint(equalTo: centerYAnchor, constant: centerY).assignId() ) } @@ -698,7 +705,7 @@ extension UIView { self.leadingAnchor.constraint( greaterThanOrEqualTo: leadingAnchor, constant: leading - ) + ).assignId() ) } @@ -707,7 +714,7 @@ extension UIView { self.trailingAnchor.constraint( greaterThanOrEqualTo: trailingAnchor, constant: trailing - ) + ).assignId() ) } @@ -716,7 +723,7 @@ extension UIView { self.leftAnchor.constraint( greaterThanOrEqualTo: leftAnchor, constant: left - ) + ).assignId() ) } @@ -725,7 +732,7 @@ extension UIView { self.rightAnchor.constraint( greaterThanOrEqualTo: rightAnchor, constant: -right - ) + ).assignId() ) } @@ -734,7 +741,7 @@ extension UIView { self.topAnchor.constraint( greaterThanOrEqualTo: topAnchor, constant: top - ) + ).assignId() ) } @@ -743,7 +750,7 @@ extension UIView { self.bottomAnchor.constraint( greaterThanOrEqualTo: bottomAnchor, constant: -bottom - ) + ).assignId() ) } @@ -752,7 +759,7 @@ extension UIView { self.centerXAnchor.constraint( greaterThanOrEqualTo: centerXAnchor, constant: centerX - ) + ).assignId() ) } @@ -761,7 +768,7 @@ extension UIView { self.centerYAnchor.constraint( greaterThanOrEqualTo: centerYAnchor, constant: centerY - ) + ).assignId() ) } @@ -828,7 +835,7 @@ extension UIView { self.leadingAnchor.constraint( lessThanOrEqualTo: leadingAnchor, constant: leading - ) + ).assignId() ) } @@ -837,7 +844,7 @@ extension UIView { self.trailingAnchor.constraint( lessThanOrEqualTo: trailingAnchor, constant: trailing - ) + ).assignId() ) } @@ -846,7 +853,7 @@ extension UIView { self.leftAnchor.constraint( lessThanOrEqualTo: leftAnchor, constant: left - ) + ).assignId() ) } @@ -855,7 +862,7 @@ extension UIView { self.rightAnchor.constraint( lessThanOrEqualTo: rightAnchor, constant: -right - ) + ).assignId() ) } @@ -864,7 +871,7 @@ extension UIView { self.topAnchor.constraint( lessThanOrEqualTo: topAnchor, constant: top - ) + ).assignId() ) } @@ -873,7 +880,7 @@ extension UIView { self.bottomAnchor.constraint( lessThanOrEqualTo: bottomAnchor, constant: -bottom - ) + ).assignId() ) } @@ -882,7 +889,7 @@ extension UIView { self.centerXAnchor.constraint( lessThanOrEqualTo: centerXAnchor, constant: centerX - ) + ).assignId() ) } @@ -891,7 +898,7 @@ extension UIView { self.centerYAnchor.constraint( lessThanOrEqualTo: centerYAnchor, constant: centerY - ) + ).assignId() ) } @@ -929,21 +936,24 @@ extension UIView { if let width = width { if let widthAnchor = widthAnchor { layoutConstraints.append( - self.widthAnchor.constraint(equalTo: widthAnchor, constant: width) + self.widthAnchor.constraint(equalTo: widthAnchor, constant: width).assignId() ) } else { layoutConstraints.append( - self.widthAnchor.constraint(equalToConstant: width)) + self.widthAnchor.constraint(equalToConstant: width).assignId() + ) } } if let height = height { if let heightAnchor = heightAnchor { layoutConstraints.append( - self.heightAnchor.constraint(equalTo: heightAnchor, constant: height)) + self.heightAnchor.constraint(equalTo: heightAnchor, constant: height).assignId() + ) } else { layoutConstraints.append( - self.heightAnchor.constraint(equalToConstant: height)) + self.heightAnchor.constraint(equalToConstant: height).assignId() + ) } } @@ -968,11 +978,11 @@ extension UIView { if let width = width { if let widthAnchor = widthAnchor { layoutConstraints.append( - self.widthAnchor.constraint(greaterThanOrEqualTo: widthAnchor, constant: width) + self.widthAnchor.constraint(greaterThanOrEqualTo: widthAnchor, constant: width).assignId() ) } else { layoutConstraints.append( - self.widthAnchor.constraint(greaterThanOrEqualToConstant: width) + self.widthAnchor.constraint(greaterThanOrEqualToConstant: width).assignId() ) } } @@ -980,10 +990,12 @@ extension UIView { if let height = height { if let heightAnchor = heightAnchor { layoutConstraints.append( - self.heightAnchor.constraint(greaterThanOrEqualTo: heightAnchor, constant: height)) + self.heightAnchor.constraint(greaterThanOrEqualTo: heightAnchor, constant: height).assignId() + ) } else { layoutConstraints.append( - self.heightAnchor.constraint(greaterThanOrEqualToConstant: height)) + self.heightAnchor.constraint(greaterThanOrEqualToConstant: height).assignId() + ) } } @@ -1008,11 +1020,11 @@ extension UIView { if let width = width { if let widthAnchor = widthAnchor { layoutConstraints.append( - self.widthAnchor.constraint(lessThanOrEqualTo: widthAnchor, constant: width) + self.widthAnchor.constraint(lessThanOrEqualTo: widthAnchor, constant: width).assignId() ) } else { layoutConstraints.append( - self.widthAnchor.constraint(lessThanOrEqualToConstant: width) + self.widthAnchor.constraint(lessThanOrEqualToConstant: width).assignId() ) } } @@ -1020,10 +1032,12 @@ extension UIView { if let height = height { if let heightAnchor = heightAnchor { layoutConstraints.append( - self.heightAnchor.constraint(lessThanOrEqualTo: heightAnchor, constant: height)) + self.heightAnchor.constraint(lessThanOrEqualTo: heightAnchor, constant: height).assignId() + ) } else { layoutConstraints.append( - self.heightAnchor.constraint(lessThanOrEqualToConstant: height)) + self.heightAnchor.constraint(lessThanOrEqualToConstant: height).assignId() + ) } } @@ -1033,122 +1047,6 @@ extension UIView { return layoutConstraints } - - ////////////////////////////////////////////////////// - /// vv Will be removed. vv - ////////////////////////////////////////////////////// - - // Set left, right, top, bottom - @discardableResult - func setConstraint(from view: UIView, - leading: CGFloat? = nil, - trailing: CGFloat? = nil, - left: CGFloat? = nil, - right: CGFloat? = nil, - top: CGFloat? = nil, - bottom: CGFloat? = nil, - priority: UILayoutPriority? = nil) -> UIView { - - self.translatesAutoresizingMaskIntoConstraints = false - - var layoutConstraints: [NSLayoutConstraint] = [] - - if let leading = leading { - layoutConstraints += [ - self.leadingAnchor.constraint(equalTo: view.leadingAnchor, constant: leading) - ] - } - - if let trailing = trailing { - layoutConstraints += [ - self.trailingAnchor.constraint(equalTo: view.trailingAnchor, constant: trailing) - ] - } - - if let left = left { - layoutConstraints += [ - self.leftAnchor.constraint(equalTo: view.leftAnchor, constant: left) - ] - } - if let right = right { - layoutConstraints += [ - self.rightAnchor.constraint(equalTo: view.rightAnchor, constant: -right) - ] - } - if let top = top { - layoutConstraints += [ - self.topAnchor.constraint(equalTo: view.topAnchor, constant: top) - ] - } - if let bottom = bottom { - layoutConstraints += [ - self.bottomAnchor.constraint(equalTo: view.bottomAnchor, constant: -bottom) - ] - } - - if let priority = priority { - layoutConstraints.forEach { $0.priority = priority } - } - - NSLayoutConstraint.activate(layoutConstraints) - - return self - } - - // Set width, height - @discardableResult - func setConstraint(width: CGFloat? = nil, - height: CGFloat? = nil, - priority: UILayoutPriority? = nil) -> UIView { - - self.translatesAutoresizingMaskIntoConstraints = false - - var layoutConstraints: [NSLayoutConstraint] = [] - - if let width = width { - layoutConstraints += [self.widthAnchor.constraint(equalToConstant: width)] - } - - if let height = height { - layoutConstraints += [self.heightAnchor.constraint(equalToConstant: height)] - } - - if let priority = priority { - layoutConstraints.forEach { $0.priority = priority } - } - - NSLayoutConstraint.activate(layoutConstraints) - - return self - } - - // Set CenterX, CenterY - @discardableResult - func setConstraint(from view: UIView, - centerX: Bool = false, - centerY: Bool = false, - priority: UILayoutPriority? = nil) -> UIView { - - self.translatesAutoresizingMaskIntoConstraints = false - - var layoutConstraints: [NSLayoutConstraint] = [] - - if centerX { - layoutConstraints += [self.centerXAnchor.constraint(equalTo: view.centerXAnchor)] - } - - if centerY { - layoutConstraints += [self.centerYAnchor.constraint(equalTo: view.centerYAnchor)] - } - - if let priority = priority { - layoutConstraints.forEach { $0.priority = priority } - } - - NSLayoutConstraint.activate(layoutConstraints) - - return self - } } // Round Corners @@ -1168,7 +1066,6 @@ extension UIView { } // MARK: - Image - extension UIView { func asImage() -> UIImage { let renderer = UIGraphicsImageRenderer(bounds: bounds) diff --git a/Sources/Extension/URL+SBUKit.swift b/Sources/Extension/URL+SBUKit.swift index fc69cc0ba..0a26d928d 100644 --- a/Sources/Extension/URL+SBUKit.swift +++ b/Sources/Extension/URL+SBUKit.swift @@ -30,4 +30,21 @@ internal extension URL { return self } + + var isFileSizeUploadable: Bool { + get { + if let fileResourceValues = try? self.resourceValues(forKeys: [.fileSizeKey]) { + if let fileSize = fileResourceValues.fileSize { + if fileSize > SBUAvailable.uploadSizeLimitBytes { + SBULog.error(SBUStringSet.FileUpload.Error.exceededSizeLimit) + return false + } + } else { + SBULog.error("Can't read file size.") + } + } + + return true + } + } } diff --git a/Sources/Manager/CacheManager/SBUCacheManager.Image.swift b/Sources/Manager/CacheManager/SBUCacheManager.Image.swift index 92d37e064..10cc9e280 100644 --- a/Sources/Manager/CacheManager/SBUCacheManager.Image.swift +++ b/Sources/Manager/CacheManager/SBUCacheManager.Image.swift @@ -107,6 +107,28 @@ extension SBUCacheManager { } } + static func preSave( + multipleFilesMessage: MultipleFilesMessage, + uploadableFileInfo: UploadableFileInfo, + index: Int, + isQuotedImage: Bool = false, + completionHandler: SBUCacheCompletionHandler? = nil + ) { + var fileName = self.createCacheFileName( + urlString: uploadableFileInfo.fileURL ?? "", + cacheKey: multipleFilesMessage.cacheKey + "_\(index)", + fileNameForExtension: uploadableFileInfo.fileName + ) + if isQuotedImage == true { fileName = "quoted_\(fileName)" } + + self.save( + data: uploadableFileInfo.file, + fileName: fileName, + subPath: multipleFilesMessage.channelURL, + completionHandler: completionHandler + ) + } + static func get(fileName: String, subPath: String) -> UIImage? { let key = key(fileName: fileName, subPath: subPath) if let memoryImage = self.memoryCache.get(key: key) { diff --git a/Sources/Manager/SBUDownloadManager.swift b/Sources/Manager/SBUDownloadManager.swift index 673bd8604..7a6bcfd84 100644 --- a/Sources/Manager/SBUDownloadManager.swift +++ b/Sources/Manager/SBUDownloadManager.swift @@ -12,6 +12,165 @@ import Photos class SBUDownloadManager { fileprivate static var imageView = UIImageView() + + // MARK: - SBUFileData + /// Downloads the file inside the given fileData. + /// - Parameters: + /// - fileData: The SBUFileData whose file is to be downloaded + /// - parent: The ViewController that is currently displaying the fileData. + /// - Since: 3.10.0 + public static func save(fileData: SBUFileData, viewController: UIViewController) { + switch fileData.fileType { + case .image: + Self.saveImage(fileData: fileData, viewController: viewController) + default: + Self.saveFile(fileData: fileData, viewController: viewController) + } + } + + static func saveImage( + fileData: SBUFileData, + viewController: UIViewController + ) { + DispatchQueue.global(qos: .background).async { + let downloadHandler: ((URL) -> Void) = { fileURL in + DispatchQueue.main.async { + SBULoading.stop() + + PHPhotoLibrary.shared().performChanges({ + PHAssetCreationRequest.forAsset() + .addResource(with: .photo, fileURL: fileURL, options: nil) + }) { [weak viewController] completed, error in + guard error == nil else { + SBULog.error("[Failed] Save image: \(String(describing: error))") + SBUToastManager.showToast( + parentVC: viewController, + type: .fileDownloadFailed + ) + return + } + + if completed { + SBULog.info("[Succeed] Image saved.") + SBUToastManager.showToast( + parentVC: viewController, + type: .fileDownloadSuccess + ) + } + } + } + } + + DispatchQueue.main.async { SBULoading.start() } + + let fileName = SBUCacheManager.Image.createCacheFileName( + urlString: fileData.urlString, + cacheKey: fileData.cacheKey, + needPathExtension: true + ) + + let key = SBUCacheManager.Image.key( + fileName: fileName, + subPath: fileData.subPath + ) + + if SBUCacheManager.Image.diskCache.cacheExists(key: key) { + let filePath = URL(string: SBUCacheManager.Image.diskCache.pathForKey(key)) + ?? URL(fileURLWithPath: SBUCacheManager.Image.diskCache.pathForKey(key)) + downloadHandler(filePath) + } else { + DispatchQueue.main.async { + Self.imageView.image = nil + let result = Self.imageView.loadOriginalImage( + urlString: fileData.urlString, + errorImage: nil, + cacheKey: key, + subPath: fileData.subPath + ) { success in + if success { + let filePath = URL(string: SBUCacheManager.Image.diskCache.pathForKey(fileName)) + ?? URL(fileURLWithPath: SBUCacheManager.Image.diskCache.pathForKey(fileName)) + downloadHandler(filePath) + } else { + DispatchQueue.main.async { SBULoading.stop() } + } + } + } + } + } + } + + static func saveFile( + fileData: SBUFileData, + viewController: UIViewController + ) { + DispatchQueue.global(qos: .background).async { + let downloadHandler: ((URL) -> Void) = { fileURL in + DispatchQueue.main.async { [weak viewController] in + let activityVC = UIActivityViewController( + activityItems: [fileURL], + applicationActivities: nil + ) + let transparentVC = UIViewController() + transparentVC.view.isOpaque = true + transparentVC.modalPresentationStyle = .overFullScreen + + activityVC.completionWithItemsHandler = { [weak viewController] _, completed, _, _ in + // For iOS 13 issue + transparentVC.dismiss(animated: true, completion: nil) + viewController?.presentedViewController?.dismiss(animated: true, completion: { + if completed { + SBULog.info("[Succeed] File is saved.") + SBUToastManager.showToast(parentVC: viewController, type: .fileDownloadSuccess) + } + }) + } + + if #available(iOS 13.0, *) { + // For iOS 13 issue + viewController?.present(transparentVC, animated: true) { [weak transparentVC] in + transparentVC?.present(activityVC, animated: true) + } + } else { + viewController?.present(activityVC, animated: true) + } + + SBULoading.stop() + } + } + + DispatchQueue.main.async { SBULoading.start() } + + SBUCacheManager.File.loadFile( + urlString: fileData.urlString, + cacheKey: fileData.cacheKey, + fileName: fileData.name + ) { fileURL, _ in + if let fileURL = fileURL { + downloadHandler(fileURL) + } else { + DispatchQueue.main.async { SBULoading.stop() } + } + } + } + } + + // MARK: - File Message + /// Downloads the file inside the given file message. + /// - Parameters: + /// - fileMessage: The FileMessage whose file is to be downloaded + /// - parent: The ViewController that is currently displaying the file message. + /// - Since: 3.10.0 + public static func save(fileMessage: FileMessage, parent: UIViewController?) { + switch SBUUtils.getFileType(by: fileMessage) { + case .image: + guard !fileMessage.url.isEmpty else { return } + SBUDownloadManager.saveImage(with: fileMessage, parent: parent) + default: + SBUDownloadManager.saveFile(with: fileMessage, parent: parent) + } + } + static func saveImage(with fileMessage: FileMessage, parent: UIViewController?) { guard let parent = parent else { SBULog.error("[Failed] Save image") @@ -132,14 +291,4 @@ class SBUDownloadManager { } } } - - static func save(fileMessage: FileMessage, parent: UIViewController?) { - switch SBUUtils.getFileType(by: fileMessage) { - case .image: - guard !fileMessage.url.isEmpty else { return } - SBUDownloadManager.saveImage(with: fileMessage, parent: parent) - default: - SBUDownloadManager.saveFile(with: fileMessage, parent: parent) - } - } } diff --git a/Sources/Module/Channel/GroupChannel/SBUGroupChannelModule.Input.swift b/Sources/Module/Channel/GroupChannel/SBUGroupChannelModule.Input.swift index 79263aa2b..8390d034b 100644 --- a/Sources/Module/Channel/GroupChannel/SBUGroupChannelModule.Input.swift +++ b/Sources/Module/Channel/GroupChannel/SBUGroupChannelModule.Input.swift @@ -27,6 +27,18 @@ public protocol SBUGroupChannelModuleInputDelegate: SBUBaseChannelModuleInputDel parentMessage: BaseMessage? ) + /// Called when multiple files were picked to send a multiple files message. + /// - Parameters: + /// - inputComponent: `SBUGroupChannelModule.Input` object. + /// - didPickMultipleFiles: A list of `UploadableFileInfo` for the picked files. + /// - parentMessage: A message that will be a parent message. Please refer to *quote reply* features. + /// - Since: 3.10.0 + func groupChannelModule( + _ inputComponent: SBUGroupChannelModule.Input, + didPickMultipleFiles fileInfoList: [UploadableFileInfo]?, + parentMessage: BaseMessage? + ) + /// Called when the send button was tapped. /// - Parameters: /// - inputComponent: `SBUGroupChannelModule.Input` object. @@ -118,7 +130,6 @@ extension SBUGroupChannelModule { parentMessage = message default: break } - messageInputView.setMode(.none) return parentMessage } @@ -142,6 +153,24 @@ extension SBUGroupChannelModule { /// The object that acts as the data source of the mention manager. The data source must adopt the `SBUMentionManagerDataSource`. public weak var mentionManagerDataSource: SBUMentionManagerDataSource? + /// String constants used when sending a multiple files message. + /// - Since: 3.10.0 + struct MultipleFilesConstants { + static let fileInfoList = "uploadableFileInfoList" + static let image = "image" + static let gif = "gif" + static let video = "video" + } + + /// The OperationQueue that manages the order of messages when sending. + /// - Since: 3.10.0 + lazy var messageOperationQueue: OperationQueue = { + let operationQueue = OperationQueue() + operationQueue.name = SBUConstant.messageOperationQueueName + operationQueue.maxConcurrentOperationCount = 1 + return operationQueue + }() + // MARK: Mention public var mentionManager: SBUMentionManager? @@ -257,49 +286,145 @@ extension SBUGroupChannelModule { } } + // MARK: PHPicker + + /// Loads image files from the NSItemProvider and sends a multiple files message. + /// - Parameters: + /// - itemProviders: An array of NSItemProvider + /// - Since: 3.10.0 @available(iOS 14.0, *) - open override func pickImageFile(itemProvider: NSItemProvider) { - itemProvider.loadItem(forTypeIdentifier: UTType.image.identifier, options: [:]) { [weak self] url, _ in - if itemProvider.canLoadObject(ofClass: UIImage.self) { - itemProvider.loadObject(ofClass: UIImage.self) { imageItem, _ in - guard let self = self else { return } - guard let originalImage = imageItem as? UIImage else { return } - guard let imageURL = url as? URL else { return } - guard let mimeType = SBUUtils.getMimeType(url: imageURL) else { return } + open func pickMultipleImageFiles(itemProviders: [NSItemProvider]) { + // Define and add a blocking operation to the message queue. + // This blocking operation will be executed after all images/gifs are finished loading. + let operation = BlockingOperation(asyncTask: { operation in + defer { operation.complete() } + + guard let fileInfoList = operation.userInfo[MultipleFilesConstants.fileInfoList] as? [UploadableFileInfo], + fileInfoList.isEmpty == false else { + + return + } + + DispatchQueue.main.async { [self, fileInfoList] in + self.delegate?.groupChannelModule( + self, + didPickMultipleFiles: fileInfoList, + parentMessage: self.currentQuotedMessage + ) + } + }, requireExplicity: true) + + messageOperationQueue.addOperation(operation) + + // Load images and GIFs. + var fileInfoList: [UploadableFileInfo?] = Array(repeating: nil, count: itemProviders.count) + let group = DispatchGroup() + + for (index, itemProvider) in itemProviders.enumerated() { + group.enter() + + /// !! Warining !! + /// Since the image identifier includes the gif identifier, the check of the gif type should take precedence over the image type comparison. + + // GIF + if itemProvider.hasItemConformingToTypeIdentifier(UTType.gif.identifier) { + self.loadGIFfile(itemProvider: itemProvider, index: index) { gifData, fileName, mimeType in + defer { + group.leave() + } - guard let imageData = originalImage - .fixedOrientation() - .sbu_convertToData() else { return } + guard let gifData = gifData, let fileName = fileName, let mimeType = mimeType else { + return + } - let fileExtension = imageURL.pathExtension - let fileName = "\(Date().sbu_toString(dateFormat: SBUDateFormatSet.Message.fileNameFormat, localizedFormat: false)).\(fileExtension)" + // Create UploadableFileInfo. + let fileInfo = UploadableFileInfo(file: gifData) + fileInfo.mimeType = mimeType + fileInfo.fileName = fileName - DispatchQueue.main.async { [self, imageData, mimeType, fileName] in - self.delegate?.groupChannelModule( - self, - didPickFileData: imageData, - fileName: fileName, - mimeType: mimeType, - parentMessage: self.currentQuotedMessage - ) + // GIF thumbnail should be static, not animated. + if let image = UIImage(data: gifData) { + let thumbnailSize = ThumbnailSize.make(maxSize: image.size) + fileInfo.thumbnailSizes = [thumbnailSize] + } + + fileInfoList[index] = fileInfo + } + } + + // Image + else if itemProvider.hasItemConformingToTypeIdentifier(UTType.image.identifier) { + self.loadImageFile(itemProvider: itemProvider, index: index) { imageData, fileName, mimeType in + defer { + group.leave() + } + + guard let imageData = imageData, let fileName = fileName, let mimeType = mimeType else { + return + } + + // Create UploadableFileInfo. + let fileInfo = UploadableFileInfo(file: imageData) + fileInfo.mimeType = mimeType + fileInfo.fileName = fileName + + if let image = UIImage(data: imageData) { + let thumbnailSize = ThumbnailSize.make(maxSize: image.size) + fileInfo.thumbnailSizes = [thumbnailSize] } + + fileInfoList[index] = fileInfo } } } + + // Finally, execute the blocking operation. + group.notify(queue: .main) { + operation.userInfo[MultipleFilesConstants.fileInfoList] = fileInfoList + operation.markReady() + } } @available(iOS 14.0, *) - open override func pickGIFFile(itemProvider: NSItemProvider) { - itemProvider.loadItem(forTypeIdentifier: UTType.gif.identifier, options: [:]) { [weak self] url, _ in - guard let self = self else { return } - guard let imageURL = url as? URL else { return } - guard let mimeType = SBUUtils.getMimeType(url: imageURL) else { return } + open override func pickImageFile(itemProvider: NSItemProvider) { + let operation = BlockingOperation(asyncTask: { operation in + defer { operation.complete() } - let gifData = try? Data(contentsOf: imageURL) - let fileExtension = imageURL.pathExtension - let fileName = "\(Date().sbu_toString(dateFormat: SBUDateFormatSet.Message.fileNameFormat, localizedFormat: false)).\(fileExtension)" + guard let (imageData, fileName, mimeType) = operation.userInfo[MultipleFilesConstants.image] as? (Data, String, String) else { + return + } + + DispatchQueue.main.async { [self, imageData, fileName, mimeType] in + self.delegate?.groupChannelModule( + self, + didPickFileData: imageData, + fileName: fileName, + mimeType: mimeType, + parentMessage: self.currentQuotedMessage + ) + } + }, requireExplicity: true) + messageOperationQueue.addOperation(operation) + + loadImageFile(itemProvider: itemProvider) { imageData, fileName, mimeType in + defer { operation.markReady() } - DispatchQueue.main.async { [self, gifData, mimeType, fileName] in + guard let imageData = imageData, let fileName = fileName, let mimeType = mimeType else { return } + + operation.userInfo[MultipleFilesConstants.image] = (imageData, fileName, mimeType) + } + } + + @available(iOS 14.0, *) + open override func pickGIFFile(itemProvider: NSItemProvider) { + let operation = BlockingOperation(asyncTask: { operation in + defer { operation.complete() } + + guard let (gifData, fileName, mimeType) = operation.userInfo[MultipleFilesConstants.gif] as? (Data, String, String) else { + return + } + + DispatchQueue.main.async { [self, gifData, fileName, mimeType] in self.delegate?.groupChannelModule( self, didPickFileData: gifData, @@ -308,28 +433,59 @@ extension SBUGroupChannelModule { parentMessage: self.currentQuotedMessage ) } + }, requireExplicity: true) + messageOperationQueue.addOperation(operation) + + loadGIFfile(itemProvider: itemProvider) { gifData, fileName, mimeType in + defer { + operation.markReady() + } + + guard let gifData = gifData, let fileName = fileName, let mimeType = mimeType else { return } + + operation.userInfo[MultipleFilesConstants.gif] = (gifData, fileName, mimeType) } } @available(iOS 14.0, *) open override func pickVideoFile(itemProvider: NSItemProvider) { - itemProvider.loadFileRepresentation(forTypeIdentifier: UTType.movie.identifier) { [weak self] url, error in + + let operation = BlockingOperation(asyncTask: { operation in + defer { operation.complete() } + + guard let (videoFileData, videoName, mimeType) = operation.userInfo[MultipleFilesConstants.video] as? (Data, String, String) else { + return + } + + DispatchQueue.main.async { [self, videoFileData, videoName, mimeType] in + // load전에 operation 등록을 미리해야함. 등록은 async로 감싸면 X + self.delegate?.groupChannelModule( + self, + didPickFileData: videoFileData, + fileName: videoName, + mimeType: mimeType, + parentMessage: self.currentQuotedMessage + ) + } + }, requireExplicity: true) + messageOperationQueue.addOperation(operation) + + itemProvider.loadFileRepresentation(forTypeIdentifier: UTType.movie.identifier) { url, error in guard let videoURL = url else { return } - guard let self = self else { return } do { + defer { + operation.markReady() + } + + guard videoURL.isFileSizeUploadable else { + return + } + let videoFileData = try Data(contentsOf: videoURL) let videoName = videoURL.lastPathComponent guard let mimeType = SBUUtils.getMimeType(url: videoURL) else { return } - - DispatchQueue.main.async { [self, videoFileData, videoName, mimeType] in - self.delegate?.groupChannelModule( - self, - didPickFileData: videoFileData, - fileName: videoName, - mimeType: mimeType, - parentMessage: self.currentQuotedMessage - ) - } + + operation.userInfo[MultipleFilesConstants.video] = (videoFileData, videoName, mimeType) } catch { SBULog.error(error.localizedDescription) } @@ -475,6 +631,103 @@ extension SBUGroupChannelModule { self.messageInputView?.isHidden = isChatNotification } + // MARK: PHPicker utils + + /// Loads image data from a NSItemProvider. + /// - Parameters: + /// - itemProvider: the NSItemProvider to load the image data from + /// - index: the index of the image file in a multiple files message. `nil` in a single file message + /// - completionHandler: returns image data, fileName, and mimeType + /// - Since: 3.10.0 + @available(iOS 14.0, *) + private func loadImageFile( + itemProvider: NSItemProvider, + index: Int? = nil, + completion: @escaping (Data?, String?, String?) -> Void + ) { + itemProvider.loadItem(forTypeIdentifier: UTType.image.identifier, options: [:]) { url, _ in + guard let imageURL = url as? URL, + imageURL.isFileSizeUploadable else { + completion(nil, nil, nil) + return + } + + if itemProvider.canLoadObject(ofClass: UIImage.self) { + itemProvider.loadObject(ofClass: UIImage.self) { imageItem, _ in + DispatchQueue.main.async { + guard let originalImage = imageItem as? UIImage, + let mimeType = SBUUtils.getMimeType(url: imageURL), + let imageData = originalImage.fixedOrientation().sbu_convertToData() else { + completion(nil, nil, nil) + return + } + + let fileExtension = imageURL.pathExtension + + /// If multiple files message, fileName is `date_index.fileExtension` + /// If single file message, fileName is `date.fileExtension` + var fileName = Date().sbu_toString( + dateFormat: SBUDateFormatSet.Message.fileNameFormat, + localizedFormat: false + ) + if let index = index { + fileName = "\(fileName)_\(index)" + } + + fileName = "\(fileName).\(fileExtension)" + + completion(imageData, fileName, mimeType) + } + } + } else { + completion(nil, nil, nil) + } + } + } + + /// Loads GIF data from a NSItemProvider. + /// - Parameters: + /// - itemProvider: the NSItemProvider to load the image data from + /// - index: the index of the image file in a multiple files message. `nil` in a single file message + /// - completionHandler: returns image data, fileName, and mimeType + /// - Since: 3.10.0 + @available(iOS 14.0, *) + private func loadGIFfile( + itemProvider: NSItemProvider, + index: Int? = nil, + completion: @escaping (Data?, String?, String?) -> Void + ) { + itemProvider.loadFileRepresentation(forTypeIdentifier: UTType.gif.identifier) { url, _ in + guard let imageURL = url, + imageURL.isFileSizeUploadable else { + completion(nil, nil, nil) + return + } + + guard let mimeType = SBUUtils.getMimeType(url: imageURL) else { + completion(nil, nil, nil) + return + } + + let gifData = try? Data(contentsOf: imageURL) + let fileExtension = imageURL.pathExtension + + /// If multiple files message, fileName is `date_index.fileExtension` + /// If single file message, fileName is `date.fileExtension` + var fileName = Date().sbu_toString( + dateFormat: SBUDateFormatSet.Message.fileNameFormat, + localizedFormat: false + ) + if let index = index { + fileName = "\(fileName)_\(index)" + } + + fileName = "\(fileName).\(fileExtension)" + + completion(gifData, fileName, mimeType) + } + } + // MARK: Mention /// Initializes `SBUMentionManager` instance and configure with attributes. @@ -518,7 +771,8 @@ extension SBUGroupChannelModule { } var filteredMembers = members.filter { - $0.userId != SBUGlobals.currentUser?.userId + ($0.user?.isActive == true) && + ($0.userId != SBUGlobals.currentUser?.userId) } if filteredMembers.count > config.suggestionLimit { @@ -547,7 +801,7 @@ extension SBUGroupChannelModule { default: maxHeight = 196 } - suggestedMentionList.heightConstraint.constant = suggestedMentionList.isLimitGuideEnabled + suggestedMentionList.heightConstraint?.constant = suggestedMentionList.isLimitGuideEnabled ? 44 : min(height, maxHeight) @@ -567,7 +821,9 @@ extension SBUGroupChannelModule { self.addSubview(suggestedMentionList) suggestedMentionList.translatesAutoresizingMaskIntoConstraints = false + suggestedMentionList.heightConstraint?.isActive = false suggestedMentionList.heightConstraint = suggestedMentionList.heightAnchor.constraint(equalToConstant: 0) + suggestedMentionList.heightConstraint?.isActive = true suggestedMentionList .sbu_constraint(equalTo: self, leading: 0, trailing: 0) @@ -578,10 +834,6 @@ extension SBUGroupChannelModule { bottom: 0 ) .sbu_constraint_lessThan(height: 196) - - NSLayoutConstraint.activate([ - suggestedMentionList.heightConstraint - ]) } /// Dismiss `suggestedMentionList` and remove from super view. diff --git a/Sources/Module/Channel/GroupChannel/SBUGroupChannelModule.List.swift b/Sources/Module/Channel/GroupChannel/SBUGroupChannelModule.List.swift index 1df2450e1..5faef4d7b 100644 --- a/Sources/Module/Channel/GroupChannel/SBUGroupChannelModule.List.swift +++ b/Sources/Module/Channel/GroupChannel/SBUGroupChannelModule.List.swift @@ -44,6 +44,19 @@ public protocol SBUGroupChannelModuleListDelegate: SBUBaseChannelModuleListDeleg /// - Parameter threadInfoView: The `SBUThreadInfoView` object from the tapped thread info. /// - Since: 3.3.0 func groupChannelModuleDidTapThreadInfoView(_ threadInfoView: SBUThreadInfoView) + + /// Called when selected one of the files in the multiple file message cell. + /// - Parameters: + /// - index: The index number of the selected file in `MultipleFilesMessage.files` + /// - multipleFilesMessageCell: ``SBUMultipleFilesMessageCell`` that contains the tapped file. + /// - cellIndexPath: `IndexPath` value of the ``SBUMultipleFilesMessageCell``. + /// - Since: 3.10.0 + func groupChannelModule( + _ listComponent: SBUGroupChannelModule.List, + didSelectFileAt index: Int, + multipleFilesMessageCell: SBUMultipleFilesMessageCell, + forRowAt cellIndexPath: IndexPath + ) } /// Methods to get data source for list component in a group channel. @@ -72,6 +85,11 @@ extension SBUGroupChannelModule { /// The message cell for `FileMessage` object. Use `register(fileMessageCell:nib:)` to update. public private(set) var fileMessageCell: SBUBaseMessageCell? + /// The message cell for `MultipleFilesMessage` object. + /// Use `register(multipleFilesMessageCell:nib:)` to update. + /// - Since: 3.10.0 + public private(set) var multipleFilesMessageCell: SBUBaseMessageCell? + /// The message cell for some unknown message which is not a type of `AdminMessage` | `UserMessage` | ` FileMessage`. Use `register(unknownMessageCell:nib:)` to update. public private(set) var unknownMessageCell: SBUBaseMessageCell? @@ -145,6 +163,10 @@ extension SBUGroupChannelModule { if self.fileMessageCell == nil { self.register(fileMessageCell: SBUFileMessageCell()) } + if self.multipleFilesMessageCell == nil { + self.register(messageCell: SBUMultipleFilesMessageCell()) + } + if self.unknownMessageCell == nil { self.register(unknownMessageCell: SBUUnknownMessageCell()) } @@ -245,7 +267,7 @@ extension SBUGroupChannelModule { var items = super.createMessageMenuItems(for: message) switch message { - case is UserMessage, is FileMessage: + case is UserMessage, is FileMessage, is MultipleFilesMessage: if SendbirdUI.config.groupChannel.channel.replyType != .none { let reply = self.createReplyMenuItem(for: message) items.append(reply) @@ -275,9 +297,21 @@ extension SBUGroupChannelModule { /// - message: message object /// - indexPath: Cell's indexPath open func setMessageCellGestures(_ cell: SBUBaseMessageCell, message: BaseMessage, indexPath: IndexPath) { - cell.tapHandlerToContent = { [weak self] in - guard let self = self else { return } - self.setTapGesture(cell, message: message, indexPath: indexPath) + if let multipleFilesMessageCell = cell as? SBUMultipleFilesMessageCell { + multipleFilesMessageCell.fileSelectHandler = { [weak self] _, index in + guard let self = self else { return } + self.delegate?.groupChannelModule( + self, + didSelectFileAt: index, + multipleFilesMessageCell: multipleFilesMessageCell, + forRowAt: indexPath + ) + } + } else { + cell.tapHandlerToContent = { [weak self] in + guard let self = self else { return } + self.setTapGesture(cell, message: message, indexPath: indexPath) + } } cell.longPressHandlerToContent = { [weak self] in @@ -330,6 +364,21 @@ extension SBUGroupChannelModule { self.register(messageCell: fileMessageCell, nib: nib) } + /// Registers a custom cell as a multiple files message cell based on `SBUBaseMessageCell`. + /// - Parameters: + /// - multipleFilesMessageCell: Customized multiple files message cell + /// - nib: nib information. If the value is nil, the nib file is not used. + /// - Important: To register custom message cell, please use this function before calling `configure(delegate:dataSource:theme:)` + /// ```swift + /// listComponent.register(multipleFilesMessageCell: MyMultipleFilesMessageCell) + /// listComponent.configure(delegate: self, dataSource: self, theme: theme) + /// ``` + /// - Since: 3.10.0 + open func register(multipleFilesMessageCell: SBUBaseMessageCell, nib: UINib? = nil) { + self.multipleFilesMessageCell = multipleFilesMessageCell + self.register(messageCell: multipleFilesMessageCell, nib: nib) + } + /// Registers a custom cell as a unknown message cell based on `SBUBaseMessageCell`. /// - Parameters: /// - unknownMessageCell: Customized unknown message cell @@ -462,6 +511,21 @@ extension SBUGroupChannelModule { self.currentVoiceContentView = voiceContentView } + case let (multipleFilesMessage, multipleFilesMessageCell) as (MultipleFilesMessage, SBUMultipleFilesMessageCell): + let configuration = SBUMultipleFilesMessageCellParams( + message: multipleFilesMessage, + hideDateView: isSameDay, + useMessagePosition: true, + receiptState: receiptState, + useReaction: true + ) + + multipleFilesMessageCell.configure(with: configuration) + (multipleFilesMessageCell.quotedMessageView as? SBUQuotedBaseMessageView)?.delegate = self + self.setMessageCellAnimation(multipleFilesMessageCell, message: multipleFilesMessage, indexPath: indexPath) + self.setMessageCellGestures(multipleFilesMessageCell, message: multipleFilesMessage, indexPath: indexPath) + (multipleFilesMessageCell.threadInfoView as? SBUThreadInfoView)?.delegate = self + default: let configuration = SBUBaseMessageCellParams( message: message, @@ -555,6 +619,8 @@ extension SBUGroupChannelModule { /// - Returns: The identifier of message cell. open func generateCellIdentifier(by message: BaseMessage) -> String { switch message { + case is MultipleFilesMessage: + return multipleFilesMessageCell?.sbu_className ?? SBUMultipleFilesMessageCell.sbu_className case is FileMessage: return fileMessageCell?.sbu_className ?? SBUFileMessageCell.sbu_className case is UserMessage: diff --git a/Sources/Module/Channel/OpenChannel/SBUOpenChannelModule.Input.swift b/Sources/Module/Channel/OpenChannel/SBUOpenChannelModule.Input.swift index 7b7f892f2..042ccd133 100644 --- a/Sources/Module/Channel/OpenChannel/SBUOpenChannelModule.Input.swift +++ b/Sources/Module/Channel/OpenChannel/SBUOpenChannelModule.Input.swift @@ -163,14 +163,14 @@ extension SBUOpenChannelModule { guard let imageURL = url as? URL else { return } guard let mimeType = SBUUtils.getMimeType(url: imageURL) else { return } - guard let imageData = originalImage - .fixedOrientation() - .sbu_convertToData() else { return } - - let fileExtension = imageURL.pathExtension - let fileName = "\(Date().sbu_toString(dateFormat: SBUDateFormatSet.Message.fileNameFormat, localizedFormat: false)).\(fileExtension)" - - DispatchQueue.main.async { [self, imageData, mimeType, fileName] in + DispatchQueue.main.async { + guard let imageData = originalImage + .fixedOrientation() + .sbu_convertToData() else { return } + + let fileExtension = imageURL.pathExtension + let fileName = "\(Date().sbu_toString(dateFormat: SBUDateFormatSet.Message.fileNameFormat, localizedFormat: false)).\(fileExtension)" + self.delegate?.openChannelModule( self, didPickFileData: imageData, @@ -185,9 +185,9 @@ extension SBUOpenChannelModule { @available(iOS 14.0, *) open override func pickGIFFile(itemProvider: NSItemProvider) { - itemProvider.loadItem(forTypeIdentifier: UTType.gif.identifier, options: [:]) { [weak self] url, _ in + itemProvider.loadFileRepresentation(forTypeIdentifier: UTType.gif.identifier) { [weak self] url, _ in guard let self = self else { return } - guard let imageURL = url as? URL else { return } + guard let imageURL = url else { return } guard let mimeType = SBUUtils.getMimeType(url: imageURL) else { return } let gifData = try? Data(contentsOf: imageURL) diff --git a/Sources/Module/Channel/SBUBaseChannelModule.List.swift b/Sources/Module/Channel/SBUBaseChannelModule.List.swift index d2aedb08d..ed68ae617 100644 --- a/Sources/Module/Channel/SBUBaseChannelModule.List.swift +++ b/Sources/Module/Channel/SBUBaseChannelModule.List.swift @@ -325,14 +325,9 @@ extension SBUBaseChannelModule { scrollBottomButton.addTarget(self, action: #selector(self.onTapScrollToBottom), for: .touchUpInside) view.addSubview(scrollBottomButton) - scrollBottomButton.translatesAutoresizingMaskIntoConstraints = false - NSLayoutConstraint.activate([ - scrollBottomButton.topAnchor.constraint(equalTo: view.topAnchor), - scrollBottomButton.bottomAnchor.constraint(equalTo: view.bottomAnchor), - scrollBottomButton.leadingAnchor.constraint(equalTo: view.leadingAnchor), - scrollBottomButton.trailingAnchor.constraint(equalTo: view.trailingAnchor) - ]) - + scrollBottomButton + .sbu_constraint(equalTo: view, leading: 0, trailing: 0, top: 0, bottom: 0) + return view }() @@ -489,18 +484,22 @@ extension SBUBaseChannelModule { // MARK: - TableView /// Reloads table view. This method corresponds to `UITableView reloadData()`. - public func reloadTableView() { + public func reloadTableView(needsToLayout: Bool = true) { if Thread.isMainThread { self.isTableViewReloading = true self.tableView.reloadData() - self.tableView.layoutIfNeeded() + if needsToLayout { + self.tableView.layoutIfNeeded() + } self.isTableViewReloading = false } else { DispatchQueue.main.async { [weak self] in self?.isTableViewReloading = true self?.tableView.reloadData() - self?.tableView.layoutIfNeeded() + if needsToLayout { + self?.tableView.layoutIfNeeded() + } self?.isTableViewReloading = false } } @@ -593,8 +592,13 @@ extension SBUBaseChannelModule { let cancelButton = SBUAlertButtonItem(title: SBUStringSet.Cancel) { _ in } + var title = SBUStringSet.Alert_Delete + if let multipleFilesMessage = message as? MultipleFilesMessage { + title = SBUStringSet.Alert_Delete_MultipleFilesMessage(multipleFilesMessage.filesCount) + } + SBUAlertView.show( - title: SBUStringSet.Alert_Delete, + title: title, oneTimetheme: oneTimeTheme, confirmButtonItem: deleteButton, cancelButtonItem: cancelButton @@ -689,6 +693,12 @@ extension SBUBaseChannelModule { let delete = self.createDeleteMenuItem(for: message) items.append(delete) } + case is MultipleFilesMessage: + // MultipleFilesMessage: delete + if isSentByMe { + let delete = self.createDeleteMenuItem(for: message) + items.append(delete) + } default: // UnknownMessage: (delete) if !isSentByMe { @@ -1198,4 +1208,32 @@ extension SBUBaseChannelModule.List { return Date.sbu_from(prevCreatedAt).isSameDay(as: Date.sbu_from(curCreatedAt)) } + + // MARK: - Util + + /// Reloads a SBUMultipleFilesMessageCollectionViewCell when a file is finished being uploaded. + func reloadMultipleFilesMessageCollectionViewCell(requestId: String, index: Int) { + for cell in self.tableView.visibleCells { + if let cell = cell as? SBUMultipleFilesMessageCell, + let message = cell.message, + message.requestId == requestId { + guard let indexPath = tableView.indexPath(for: cell) else { return } + guard let visibleIndexPaths = tableView.indexPathsForVisibleRows else { return } + guard visibleIndexPaths.contains(indexPath) else { return } + + let collectionViewIndexPath = IndexPath(item: index, section: 0) + cell.uploadedIndices.append(index) + + if Thread.isMainThread { + cell.collectionView.reloadItems(at: [collectionViewIndexPath]) + cell.collectionView.layoutIfNeeded() + } else { + DispatchQueue.main.async { + cell.collectionView.reloadItems(at: [collectionViewIndexPath]) + cell.collectionView.layoutIfNeeded() + } + } + } + } + } } diff --git a/Sources/Module/MessageThread/SBUMessageThreadModule.Input.swift b/Sources/Module/MessageThread/SBUMessageThreadModule.Input.swift index 13c3765a2..7d3d8d06e 100644 --- a/Sources/Module/MessageThread/SBUMessageThreadModule.Input.swift +++ b/Sources/Module/MessageThread/SBUMessageThreadModule.Input.swift @@ -96,6 +96,19 @@ public protocol SBUMessageThreadModuleInputDelegate: SBUBaseChannelModuleInputDe /// Called when it the voice message button tabbed. /// - Parameter inputComponent: `SBUMessageThreadModule.Input` object. func messageThreadModuleDidTapVoiceMessage(_ inputComponent: SBUMessageThreadModule.Input) + + /// Called when multiple files were picked to send a multiple files message. + /// - Parameters: + /// - inputComponent: `SBUMessageThreadModule.Input` object. + /// - fileInfoList: A list of `UploadableFileInfo` for the picked files. + /// - parentMessage: A message that will be a parent message. Please refer to *quote reply* features. + /// - Note: This interface is beta. We do not gaurantee this interface to work properly yet. + /// - Since: [NEXT_VERSION_MFM_THREAD] + func messageThreadModule( + _ inputComponent: SBUMessageThreadModule.Input, + didPickMultipleFiles fileInfoList: [UploadableFileInfo], + parentMessage: BaseMessage + ) } /// Methods to get data source for the input component in the group channel. @@ -135,6 +148,25 @@ extension SBUMessageThreadModule { public var mentionManager: SBUMentionManager? + // MARK: - Logic Properties (Private) + + /// String constants used when sending a multiple files message. + /// - Since: [NEXT_VERSION_MFM_THREAD] + struct MultipleFilesConstants { + static let fileInfoList = "uploadableFileInfoList" + static let image = "image" + static let gif = "gif" + static let video = "video" + } + + /// The OperationQueue that gaurantees the order of messages when sending. + lazy var messageOperationQueue: OperationQueue = { + let operationQueue = OperationQueue() + operationQueue.name = SBUConstant.messageOperationQueueName + operationQueue.maxConcurrentOperationCount = 1 + return operationQueue + }() + // MARK: - LifeCycle /// Configures component with parameters. @@ -253,28 +285,32 @@ extension SBUMessageThreadModule { @available(iOS 14.0, *) open override func pickImageFile(itemProvider: NSItemProvider) { itemProvider.loadItem(forTypeIdentifier: UTType.image.identifier, options: [:]) { [weak self] url, _ in + guard let self = self else { return } + if itemProvider.canLoadObject(ofClass: UIImage.self) { itemProvider.loadObject(ofClass: UIImage.self) { imageItem, _ in - guard let self = self else { return } - guard let originalImage = imageItem as? UIImage else { return } - guard let imageURL = url as? URL else { return } - guard let mimeType = SBUUtils.getMimeType(url: imageURL) else { return } - - guard let imageData = originalImage - .fixedOrientation() - .sbu_convertToData() else { return } - - let fileExtension = imageURL.pathExtension - let fileName = "\(Date().sbu_toString(dateFormat: SBUDateFormatSet.Message.fileNameFormat, localizedFormat: false)).\(fileExtension)" - - DispatchQueue.main.async { [self, imageData, mimeType, fileName] in - self.delegate?.messageThreadModule( - self, - didPickFileData: imageData, - fileName: fileName, - mimeType: mimeType, - parentMessage: self.parentMessage - ) + + DispatchQueue.main.async { + guard let originalImage = imageItem as? UIImage else { return } + guard let imageURL = url as? URL else { return } + guard let mimeType = SBUUtils.getMimeType(url: imageURL) else { return } + + guard let imageData = originalImage + .fixedOrientation() + .sbu_convertToData() else { return } + + let fileExtension = imageURL.pathExtension + let fileName = "\(Date().sbu_toString(dateFormat: SBUDateFormatSet.Message.fileNameFormat, localizedFormat: false)).\(fileExtension)" + + DispatchQueue.main.async { [self, imageData, mimeType, fileName] in + self.delegate?.messageThreadModule( + self, + didPickFileData: imageData, + fileName: fileName, + mimeType: mimeType, + parentMessage: self.parentMessage + ) + } } } } @@ -283,9 +319,9 @@ extension SBUMessageThreadModule { @available(iOS 14.0, *) open override func pickGIFFile(itemProvider: NSItemProvider) { - itemProvider.loadItem(forTypeIdentifier: UTType.gif.identifier, options: [:]) { [weak self] url, _ in + itemProvider.loadFileRepresentation(forTypeIdentifier: UTType.gif.identifier) { [weak self] url, _ in guard let self = self else { return } - guard let imageURL = url as? URL else { return } + guard let imageURL = url else { return } guard let mimeType = SBUUtils.getMimeType(url: imageURL) else { return } let gifData = try? Data(contentsOf: imageURL) @@ -382,6 +418,198 @@ extension SBUMessageThreadModule { } } + // MARK: - PHPickerViewController + + /// Loads image files from the NSItemProvider and sends a multiple files message. + /// - Parameters: + /// - itemProviders: An array of NSItemProvider + /// - Note: This interface is beta. We do not gaurantee this interface to work properly yet. + /// - Since: [NEXT_VERSION_MFM_THREAD] + @available(iOS 14.0, *) + public func pickMultipleImageFiles(itemProviders: [NSItemProvider]) { + // Define and add a blocking operation to the message queue. + // This blocking operation will be executed after all images/gifs are finished loading. + let operation = BlockingOperation(asyncTask: { operation in + defer { operation.complete() } + + guard let fileInfoList = operation.userInfo[MultipleFilesConstants.fileInfoList] as? [UploadableFileInfo], + fileInfoList.isEmpty == false, + let parentMessage = self.parentMessage else { + + return + } + + DispatchQueue.main.async { [self, fileInfoList] in + self.delegate?.messageThreadModule( + self, + didPickMultipleFiles: fileInfoList, + parentMessage: parentMessage + ) + } + }, requireExplicity: true) + + messageOperationQueue.addOperation(operation) + + // Load images and GIFs. + var fileInfoList: [UploadableFileInfo?] = Array(repeating: nil, count: itemProviders.count) + let group = DispatchGroup() + + for (index, itemProvider) in itemProviders.enumerated() { + group.enter() + // Image + if itemProvider.hasItemConformingToTypeIdentifier(UTType.image.identifier) { + self.loadImageFile(itemProvider: itemProvider, index: index) { imageData, fileName, mimeType in + defer { + group.leave() + } + + guard let imageData = imageData, let fileName = fileName, let mimeType = mimeType else { + return + } + + // Create UploadableFileInfo. + let fileInfo = UploadableFileInfo(file: imageData) + fileInfo.mimeType = mimeType + fileInfo.fileName = fileName + + if let image = UIImage(data: imageData) { + let thumbnailSize = ThumbnailSize.make(maxSize: image.size) + fileInfo.thumbnailSizes = [thumbnailSize] + } + + fileInfoList[index] = fileInfo + } + } + + // GIF + else if itemProvider.hasItemConformingToTypeIdentifier(UTType.gif.identifier) { + self.loadGIFfile(itemProvider: itemProvider, index: index) { gifData, fileName, mimeType in + defer { + group.leave() + } + + guard let gifData = gifData, let fileName = fileName, let mimeType = mimeType else { + return + } + + // Create UploadableFileInfo. + let fileInfo = UploadableFileInfo(file: gifData) + fileInfo.mimeType = mimeType + fileInfo.fileName = fileName + + if let image = UIImage(data: gifData) { + let thumbnailSize = ThumbnailSize.make(maxSize: image.size) + fileInfo.thumbnailSizes = [thumbnailSize] + } + + fileInfoList[index] = fileInfo + } + } + } + + // Finally, execute the blocking operation. + group.notify(queue: .main) { + operation.userInfo[MultipleFilesConstants.fileInfoList] = fileInfoList + operation.markReady() + } + } + + // MARK: PHPicker utils + + /// Loads image data from a NSItemProvider. + /// - Parameters: + /// - itemProvider: the NSItemProvider to load the image data from + /// - index: the index of the image file in a multiple files message. `nil` in a single file message + /// - completionHandler: returns image data, fileName, and mimeType + /// - Note: This interface is beta. We do not gaurantee this interface to work properly yet. + /// - Since: [NEXT_VERSION_MFM_THREAD] + @available(iOS 14.0, *) + public func loadImageFile( + itemProvider: NSItemProvider, + index: Int? = nil, + completion: @escaping (Data?, String?, String?) -> Void + ) { + itemProvider.loadItem(forTypeIdentifier: UTType.image.identifier, options: [:]) { url, _ in + guard let imageURL = url as? URL, + imageURL.isFileSizeUploadable else { + completion(nil, nil, nil) + return + } + + if itemProvider.canLoadObject(ofClass: UIImage.self) { + itemProvider.loadObject(ofClass: UIImage.self) { imageItem, _ in + guard let originalImage = imageItem as? UIImage, + let mimeType = SBUUtils.getMimeType(url: imageURL), + let imageData = originalImage.fixedOrientation().sbu_convertToData() else { + completion(nil, nil, nil) + return + } + + let fileExtension = imageURL.pathExtension + + /// If multiple files message, fileName is `date_index.fileExtension` + /// If single file message, fileName is `date.fileExtension` + var fileName = Date().sbu_toString( + dateFormat: SBUDateFormatSet.Message.fileNameFormat, + localizedFormat: false + ) + if let index = index { + fileName = "\(fileName)_\(index)" + } + + fileName = "\(fileName).\(fileExtension)" + + completion(imageData, fileName, mimeType) + } + } else { + completion(nil, nil, nil) + } + } + } + + /// Loads GIF data from a NSItemProvider. + /// - Parameters: + /// - itemProvider: the NSItemProvider to load the image data from + /// - index: the index of the image file in a multiple files message. `nil` in a single file message + /// - completionHandler: returns image data, fileName, and mimeType + /// - Note: This interface is beta. We do not gaurantee this interface to work properly yet. + /// - Since: [NEXT_VERSION_MFM_THREAD] + @available(iOS 14.0, *) + public func loadGIFfile( + itemProvider: NSItemProvider, + index: Int? = nil, + completion: @escaping (Data?, String?, String?) -> Void + ) { + itemProvider.loadFileRepresentation(forTypeIdentifier: UTType.gif.identifier) { url, _ in + guard let imageURL = url, imageURL.isFileSizeUploadable else { + completion(nil, nil, nil) + return + } + + guard let mimeType = SBUUtils.getMimeType(url: imageURL) else { + completion(nil, nil, nil) + return + } + + let gifData = try? Data(contentsOf: imageURL) + let fileExtension = imageURL.pathExtension + + /// If multiple files message, fileName is `date_index.fileExtension` + /// If single file message, fileName is `date.fileExtension` + var fileName = Date().sbu_toString( + dateFormat: SBUDateFormatSet.Message.fileNameFormat, + localizedFormat: false + ) + if let index = index { + fileName = "\(fileName)_\(index)" + } + + fileName = "\(fileName).\(fileExtension)" + + completion(gifData, fileName, mimeType) + } + } + // MARK: - Common: Update open override func updateMessageInputMode(_ mode: SBUMessageInputMode, message: BaseMessage? = nil) { self.updatePlaceholder() @@ -520,7 +748,8 @@ extension SBUMessageThreadModule { } var filteredMembers = members.filter { - $0.userId != SBUGlobals.currentUser?.userId + ($0.user?.isActive == true) && + ($0.userId != SBUGlobals.currentUser?.userId) } if filteredMembers.count > config.suggestionLimit { @@ -549,7 +778,7 @@ extension SBUMessageThreadModule { default: maxHeight = 196 } - suggestedMentionList.heightConstraint.constant = suggestedMentionList.isLimitGuideEnabled + suggestedMentionList.heightConstraint?.constant = suggestedMentionList.isLimitGuideEnabled ? 44 : min(height, maxHeight) @@ -569,6 +798,7 @@ extension SBUMessageThreadModule { self.addSubview(suggestedMentionList) suggestedMentionList.translatesAutoresizingMaskIntoConstraints = false + suggestedMentionList.heightConstraint?.isActive = false suggestedMentionList.heightConstraint = suggestedMentionList.heightAnchor.constraint(equalToConstant: 0) suggestedMentionList @@ -580,10 +810,8 @@ extension SBUMessageThreadModule { bottom: 0 ) .sbu_constraint_lessThan(height: 196) - - NSLayoutConstraint.activate([ - suggestedMentionList.heightConstraint - ]) + + suggestedMentionList.heightConstraint?.isActive = true } /// Dismiss `suggestedMentionList` and remove from super view. diff --git a/Sources/Module/MessageThread/SBUMessageThreadModule.List.swift b/Sources/Module/MessageThread/SBUMessageThreadModule.List.swift index eeec547e8..45e2e642f 100644 --- a/Sources/Module/MessageThread/SBUMessageThreadModule.List.swift +++ b/Sources/Module/MessageThread/SBUMessageThreadModule.List.swift @@ -34,6 +34,36 @@ public protocol SBUMessageThreadModuleListDelegate: SBUBaseChannelModuleListDele /// - Parameters: /// - user: The`SBUUser` object from the tapped mention. func messageThreadModule(_ listComponent: SBUMessageThreadModule.List, didTapMentionUser user: SBUUser) + + /// Called when one of the files is selected in the multiple file message cell. + /// - Parameters: + /// - listComponent: `SBUMessageThreadModule.List ` object. + /// - index: The index number of the selected file in `MultipleFilesMessage.files`. + /// - multipleFilesMessageCell: ``SBUMultipleFilesMessageCell`` that contains the tapped file. + /// - cellIndexPath: `IndexPath` value of the ``SBUMultipleFilesMessageCell``. + /// - Since: 3.10.0 + func messageThreadModule( + _ listComponent: SBUMessageThreadModule.List, + didSelectFileAt index: Int, + multipleFilesMessageCell: SBUMultipleFilesMessageCell, + forRowAt cellIndexPath: IndexPath + ) + + /// Called when one of the files is selected in parent message info view (``SBUParentMessageInfoView``) + /// when the parent message is a multiple files message (`MultipleFilesMessage`). + /// - Parameters: + /// - listComponent: The `SBUMessageThreadModule.List` object. + /// - uploadedFileInfo: The `UploadedFileInfo` of the tapped file. + /// - message: `MultipleFilesMessage` that contains the tapped file. + /// - index: The index value of the tapped file. + /// - Note: This interface is beta. We do not gaurantee this interface to work properly yet. + /// - Since: [NEXT_VERSION_MFM_THREAD] + func messageThreadModule( + _ listComponent: SBUMessageThreadModule.List, + uploadedFileInfo: UploadedFileInfo, + message: MultipleFilesMessage, + index: Int + ) } /// Methods to get data source for list component in a message thread. @@ -61,6 +91,10 @@ extension SBUMessageThreadModule { /// The message cell for `FileMessage` object. Use `register(fileMessageCell:nib:)` to update. public private(set) var fileMessageCell: SBUBaseMessageCell? + /// The message cell for `MultipleFilesMessage` object. Use `register(multipleFilesMessageCell:nib:)` to update. + /// - Since: 3.10.0 + public private(set) var multipleFilesMessageCell: SBUBaseMessageCell? + /// The message cell for some unknown message which is not a type of `AdminMessage` | `UserMessage` | ` FileMessage`. Use `register(unknownMessageCell:nib:)` to update. public private(set) var unknownMessageCell: SBUBaseMessageCell? @@ -149,6 +183,9 @@ extension SBUMessageThreadModule { if self.fileMessageCell == nil { self.register(fileMessageCell: SBUFileMessageCell()) } + if self.multipleFilesMessageCell == nil { + self.register(multipleFilesMessageCell: SBUMultipleFilesMessageCell()) + } if self.unknownMessageCell == nil { self.register(unknownMessageCell: SBUUnknownMessageCell()) } @@ -234,6 +271,12 @@ extension SBUMessageThreadModule { self.setTapGesture(UITableViewCell(), message: message, indexPath: IndexPath()) } + self.parentMessageInfoView.fileSelectHandler = { [weak self] uploadedFileInfo, index in + guard let self = self else { return } + guard let parentMessage = self.parentMessage as? MultipleFilesMessage else { return } + self.delegate?.messageThreadModule(self, uploadedFileInfo: uploadedFileInfo, message: parentMessage, index: index) + } + self.parentMessageInfoView.moreButtonTapHandlerToContent = { [weak self] in guard let self = self else { return } let cell = SBUBaseMessageCell() @@ -325,9 +368,21 @@ extension SBUMessageThreadModule { /// - message: message object /// - indexPath: Cell's indexPath open func setMessageCellGestures(_ cell: SBUBaseMessageCell, message: BaseMessage, indexPath: IndexPath) { - cell.tapHandlerToContent = { [weak self] in - guard let self = self else { return } - self.setTapGesture(cell, message: message, indexPath: indexPath) + if let multipleFilesMessageCell = cell as? SBUMultipleFilesMessageCell { + multipleFilesMessageCell.fileSelectHandler = { [weak self] _, index in + guard let self = self else { return } + self.delegate?.messageThreadModule( + self, + didSelectFileAt: index, + multipleFilesMessageCell: multipleFilesMessageCell, + forRowAt: indexPath + ) + } + } else { + cell.tapHandlerToContent = { [weak self] in + guard let self = self else { return } + self.setTapGesture(cell, message: message, indexPath: indexPath) + } } cell.longPressHandlerToContent = { [weak self] in @@ -365,15 +420,21 @@ extension SBUMessageThreadModule { // MARK: - TableView /// Reloads table view. This method corresponds to `UITableView reloadData()`. - public override func reloadTableView() { + public override func reloadTableView(needsToLayout: Bool = true) { + guard self.tableView.frame != .zero else { return } + if Thread.isMainThread { self.tableView.reloadData() - self.tableView.layoutIfNeeded() + if needsToLayout { + self.tableView.layoutIfNeeded() + } } else { DispatchQueue.main.async { [weak self] in self?.tableView.reloadData() - self?.tableView.layoutIfNeeded() + if needsToLayout { + self?.tableView.layoutIfNeeded() + } } } } @@ -435,6 +496,21 @@ extension SBUMessageThreadModule { self.register(messageCell: fileMessageCell, nib: nib) } + /// Registers a custom cell as a multiple files message cell based on `SBUBaseMessageCell`. + /// - Parameters: + /// - multipleFilesMessageCell: Customized multiple files message cell + /// - nib: nib information. If the value is nil, the nib file is not used. + /// - Important: To register custom message cell, please use this function before calling `configure(delegate:dataSource:theme:)` + /// ```swift + /// listComponent.register(multipleFilesMessageCell: MyMultipleFilesMessageCell) + /// listComponent.configure(delegate: self, dataSource: self, theme: theme) + /// ``` + /// - Since: 3.10.0 + open func register(multipleFilesMessageCell: SBUBaseMessageCell, nib: UINib? = nil) { + self.multipleFilesMessageCell = multipleFilesMessageCell + self.register(messageCell: multipleFilesMessageCell, nib: nib) + } + /// Registers a custom cell as a unknown message cell based on `SBUBaseMessageCell`. /// - Parameters: /// - unknownMessageCell: Customized unknown message cell @@ -558,6 +634,21 @@ extension SBUMessageThreadModule { self.currentVoiceContentView = voiceContentView } + case let (multipleFilesMessage, multipleFilesMessageCell) as (MultipleFilesMessage, SBUMultipleFilesMessageCell): + let configuration = SBUMultipleFilesMessageCellParams( + message: multipleFilesMessage, + hideDateView: isSameDay, + useMessagePosition: true, + useReaction: true, + isThreadMessage: true + ) + + multipleFilesMessageCell.configure(with: configuration) + self.setMessageCellGestures(multipleFilesMessageCell, message: multipleFilesMessage, indexPath: indexPath) + + // TODO: Activate this code for sending a MFM in thread +// (multipleFilesMessageCell.threadInfoView as? SBUThreadInfoView)?.delegate = self + default: let configuration = SBUBaseMessageCellParams( message: message, @@ -636,6 +727,8 @@ extension SBUMessageThreadModule { /// - Returns: The identifier of message cell. open func generateCellIdentifier(by message: BaseMessage) -> String { switch message { + case is MultipleFilesMessage: + return multipleFilesMessageCell?.sbu_className ?? SBUMultipleFilesMessageCell.sbu_className case is FileMessage: return fileMessageCell?.sbu_className ?? SBUFileMessageCell.sbu_className case is UserMessage: diff --git a/Sources/Module/SelectUser/CreateChannel/SBUCreateOpenChannelModule.ProfileInput.swift b/Sources/Module/SelectUser/CreateChannel/SBUCreateOpenChannelModule.ProfileInput.swift index 956f7617a..d8526ece3 100644 --- a/Sources/Module/SelectUser/CreateChannel/SBUCreateOpenChannelModule.ProfileInput.swift +++ b/Sources/Module/SelectUser/CreateChannel/SBUCreateOpenChannelModule.ProfileInput.swift @@ -36,16 +36,7 @@ extension SBUCreateOpenChannelModule { return hStackView }() - public lazy var channelImageView: SBUCoverImageView = { - let coverImage = SBUCoverImageView() - coverImage.frame = CGRect( - x: 0, - y: 0, - width: kCoverImageSize, - height: kCoverImageSize - ) - return coverImage - }() + public lazy var channelImageView = SBUCoverImageView() public var channelNameInputField: SBUUnderLineTextField = { let textField = SBUUnderLineTextField() @@ -91,13 +82,21 @@ extension SBUCreateOpenChannelModule { } open func setupViews() { + + self.channelImageView.clipsToBounds = true + self.channelImageView.frame = CGRect( + x: 0, + y: 0, + width: kCoverImageSize, + height: kCoverImageSize + ) + self.channelImageView.addGestureRecognizer(UITapGestureRecognizer( target: self, action: #selector(showImagePicker(sender:))) ) - self.channelImageView.setPlaceholder(type: .iconCamera, iconSize: placeholderIconSize) - self.channelImageView.clipsToBounds = true + self.channelImageView.setPlaceholder(type: .iconCamera, iconSize: self.placeholderIconSize) self.channelNameInputField.delegate = self @@ -158,14 +157,17 @@ extension SBUCreateOpenChannelModule { /// Updates channel image /// - Parameter image: Image to be updated open func updateChannelImage(_ image: UIImage?) { - if let image = image { - self.isImageSelected = true - self.coverImage = image - self.channelImageView.setImage(withImage: image) - } else { - self.isImageSelected = false - self.coverImage = nil - self.channelImageView.setPlaceholder(type: .iconCamera, iconSize: placeholderIconSize) + DispatchQueue.main.async { [weak self] in + guard let self = self else { return } + if let image = image { + self.isImageSelected = true + self.coverImage = image + self.channelImageView.setImage(withImage: image, contentMode: .scaleAspectFill) + } else { + self.isImageSelected = false + self.coverImage = nil + self.channelImageView.setPlaceholder(type: .iconCamera, iconSize: self.placeholderIconSize) + } } } diff --git a/Sources/SBUAvailable.swift b/Sources/SBUAvailable.swift index 31b521059..939e067a5 100644 --- a/Sources/SBUAvailable.swift +++ b/Sources/SBUAvailable.swift @@ -101,4 +101,23 @@ public class SBUAvailable { // #SBISSUE-12044 return self.isAvailable(key: ALLOW_USER_UPDATE_FROM_SDK) } + + /// The maximum number of files that can be selected when sending a message in GroupChannel. + /// This is decided as the minimum value between the count limit set by the server, and the count limit set by Sendbird UIKit. + /// - Since: 3.10.0 + public static var multipleFilesMessageFileCountLimit: Int { + min(SendbirdChat.getMultipleFilesMessageFileCountLimit(), 10) + } + + /// The size limit of a file upload in bytes. + /// - Since: 3.10.0 + public static var uploadSizeLimitBytes: Int64 { + SendbirdChat.getAppInfo()?.uploadSizeLimit ?? (25 * 1024 * 1024) + } + + /// The size limit of a file upload in MB. + /// - Since: 3.10.0 + public static var uploadSizeLimitMB: Int64 { + SBUAvailable.uploadSizeLimitBytes / (1024 * 1024) + } } diff --git a/Sources/SBUGlobalCustomParams.swift b/Sources/SBUGlobalCustomParams.swift index 3dd47056d..2a47d8f5f 100644 --- a/Sources/SBUGlobalCustomParams.swift +++ b/Sources/SBUGlobalCustomParams.swift @@ -132,6 +132,20 @@ public class SBUGlobalCustomParams { /// - Since: 3.4.0 public static var voiceFileMessageParamsSendBuilder: ((_ params: FileMessageCreateParams?) -> Void)? + /// This is a builder that allows you to set a predefined the global `MultipleFilesMessageCreateParams` that is used when sending a multiple files message. + /// + /// - Important: + /// This value is ignored if you set the parameter value directly through functions that receive the parameter inside the class. + /// + /// See the example below for builder setting. + /// ``` + /// SBUGlobalCustomParams.multipleFilesMessageParamsSendBuilder = { params in + /// params?.data = "some data string" + /// ... + /// ``` + /// - Since: 3.10.0 + public static var multipleFilesMessageParamsSendBuilder: ((_ params: MultipleFilesMessageCreateParams?) -> Void)? + /// This is a builder that allows you to predefined the global `MessageListParams` processing to be used when loading message list. /// /// - Important: diff --git a/Sources/SBUGlobals.swift b/Sources/SBUGlobals.swift index ae4b307b7..49d1d3511 100644 --- a/Sources/SBUGlobals.swift +++ b/Sources/SBUGlobals.swift @@ -52,6 +52,7 @@ public class SBUGlobals { // MARK: - PHPickerViewController /// If it's `true`, uses `PHPickerViewController` instead of `UIImagePickerController` when access to the photo library for sending file message. + /// - IMPORTANT: If set to false, PHPickerViewController will not show even if `isMultipleFilesMessageEnabled` is set to true. /// - Since: 3.0.0 @available(iOS 14, *) public static var isPHPickerEnabled: Bool = false diff --git a/Sources/Theme/SBUTheme.swift b/Sources/Theme/SBUTheme.swift index ffe52a78c..f109a35a3 100644 --- a/Sources/Theme/SBUTheme.swift +++ b/Sources/Theme/SBUTheme.swift @@ -1755,7 +1755,8 @@ public class SBUMessageCellTheme { statusButtonBackgroundColor: UIColor = SBUColorSet.background50, loadingButtonTintColor: UIColor = SBUColorSet.primary200, playButtonTintColor: UIColor = SBUColorSet.primary300, - pauseButtonTintColor: UIColor = SBUColorSet.primary300 + pauseButtonTintColor: UIColor = SBUColorSet.primary300, + multipleFilesMessageFileOverlayColor: UIColor = SBUColorSet.overlay02 ) { self.backgroundColor = backgroundColor @@ -1861,6 +1862,7 @@ public class SBUMessageCellTheme { self.playerLoadingButtonTintColor = loadingButtonTintColor self.playerPlayButtonTintColor = playButtonTintColor self.playerPauseButtonTintColor = pauseButtonTintColor + self.multipleFilesMessageFileOverlayColor = multipleFilesMessageFileOverlayColor } public var backgroundColor: UIColor @@ -1917,6 +1919,9 @@ public class SBUMessageCellTheme { public var fileMessageRightTextColor: UIColor public var fileMessagePlaceholderColor: UIColor + // Multiple Files Message + public var multipleFilesMessageFileOverlayColor: UIColor + // Admin message public var adminMessageFont: UIFont public var adminMessageTextColor: UIColor diff --git a/Sources/Util/BlockingOperation.swift b/Sources/Util/BlockingOperation.swift new file mode 100644 index 000000000..d4276ff1d --- /dev/null +++ b/Sources/Util/BlockingOperation.swift @@ -0,0 +1,149 @@ +// +// BlockingOperation.swift +// SendbirdUIKit +// +// Created by Celine Moon on 2023/08/03. +// Copyright © 2023 Sendbird, Inc. All rights reserved. +// + +import Foundation + +/** + Operation object that is used to sequentialize asynchronous tasks in a blocking manner. + No two tasks are run at the same time, and the order of tasks inserted to a `OperationQueue` is guaranteed. + */ +class BlockingOperation: Operation { + let identifier: String + + enum State: String { + case waiting = "Waiting" + case ready = "Ready" + case executing = "Executing" + case finished = "Finished" + + fileprivate var keyPath: String { "is" + rawValue } + } + + var state: State { + get { + stateQueue.sync { + return internalState + } + } + set { + guard state != newValue else { + return + } + + let oldValue = state + + willChangeValue(forKey: state.keyPath) + willChangeValue(forKey: newValue.keyPath) + + stateQueue.sync(flags: .barrier) { + internalState = newValue + } + + didChangeValue(forKey: state.keyPath) + didChangeValue(forKey: oldValue.keyPath) + } + } + + private let stateQueue = DispatchQueue(label: "com.sendbird.uikit.operation.state.\(UUID().uuidString)", attributes: .concurrent) + private var internalState: State + + private var task: ((BlockingOperation) -> Void)? + private var synchronous: Bool + + var userInfo: [String: Any] + var didAttemptRun = false + + /** + Initializes `BlockingOperation`. + - Parameters: + - taskBlock: closure to be run + - synchronous: indicates whether the closure includes synchronous work or not. If synchronous is `false`, you must explicitly call `complete()` when finishing the task inside the taskBlock. + - requireExplicity: indicates whether the closure should wait for explicit call of `markReady()`. If this flag is disabled, the taskBlock runs as soon as the queue is cleared, and the said taskBlock is ready to run. If the flag is enabled, the taskBlock does not run when the queue is cleared, but also waits for the explicit call of `markReady()`, in order to guarantee running certain tasks before running the said task. + */ + init(taskBlock: @escaping ((BlockingOperation) -> Void), synchronous: Bool, requireExplicity: Bool) { + self.task = taskBlock + self.synchronous = synchronous + self.identifier = UUID().uuidString + self.userInfo = [:] + self.internalState = requireExplicity ? .waiting : .ready + } + + convenience init( + syncTask: @escaping ((BlockingOperation) -> Void), + requireExplicity: Bool = false + ) { + self.init( + taskBlock: syncTask, + synchronous: true, + requireExplicity: requireExplicity + ) + } + + convenience init( + asyncTask: @escaping ((BlockingOperation) -> Void), + requireExplicity: Bool = false + ) { + self.init( + taskBlock: asyncTask, + synchronous: false, + requireExplicity: requireExplicity + ) + } + + // MARK: Operation + override var isAsynchronous: Bool { !synchronous } + + override var isExecuting: Bool { state == .executing } + + override var isFinished: Bool { state == .finished } + + /** + Mark the task as ready when `requireExplicity` was set `true`. + + If this task was already ready to be run by the parent `OperationQueue` but did not run because it was not mark as ready, calling this method will run the task immediately. + */ + func markReady() { + state = .ready + if didAttemptRun { + execute() + } + } + + override func main() { + if isCancelled { + provisionalComplete() + return + } + + if state == .ready { + execute() + } else { + didAttemptRun = true + } + } + + func execute() { + state = .executing + task?(self) + if synchronous { + complete() + } + } + + func provisionalComplete() { + state = .finished + } + + func complete() { + if !isFinished { + provisionalComplete() + } + + task = nil + } +} diff --git a/Sources/Util/SBUUtils.swift b/Sources/Util/SBUUtils.swift index 2574b3a9b..2bd43cf25 100644 --- a/Sources/Util/SBUUtils.swift +++ b/Sources/Util/SBUUtils.swift @@ -19,7 +19,7 @@ public class SBUUtils { /// - Parameter fileMessage: `FileMessage` object /// - Returns: `SBUMessageFileType` public static func getFileType(by fileMessage: FileMessage) -> SBUMessageFileType { - let type = SBUUtils.getFileType(by: fileMessage.type) + let type: SBUMessageFileType = SBUUtils.getFileType(by: fileMessage.type) if type == .audio, let metaArray = fileMessage.metaArrays?.filter({ $0.key == SBUConstant.internalMessageTypeKey }), let internalType = metaArray.first?.value.first { @@ -61,6 +61,37 @@ public class SBUUtils { return nil } + /// A function that returns a SBUFileType for a String file type. + /// - Parameter type: File type string + /// - Returns: `SBUFileType` + /// - Since: 3.10.0 + public static func getFileTypeString(by fileType: String) -> String { + let type = fileType.lowercased() + + if type.hasPrefix("image") { + if type.contains("svg") { + return SBUStringSet.GroupChannel.Preview.file + } else if type.contains("jpeg") || type.contains("png") { + return SBUStringSet.GroupChannel.Preview.photo + } else if type.contains("gif") { + return SBUStringSet.GroupChannel.Preview.gif + } + } + + if type.hasPrefix("video") { return SBUStringSet.GroupChannel.Preview.video } + + if type.hasPrefix("audio") { + if let parameterType = self.getFileTypeParameter(by: type), + parameterType.hasPrefix("voice") { + return SBUStringSet.GroupChannel.Preview.voice + } + return SBUStringSet.GroupChannel.Preview.audio + } + + return SBUStringSet.GroupChannel.Preview.file + + } + /// This is a function that creates a channel name. /// /// If the channel name is not entered after creating the channel or channel name is empty, diff --git a/Sources/View/Channel/CellView/SBUMessageDateView.swift b/Sources/View/Channel/CellView/SBUMessageDateView.swift index 355a16a13..24e25a1a6 100644 --- a/Sources/View/Channel/CellView/SBUMessageDateView.swift +++ b/Sources/View/Channel/CellView/SBUMessageDateView.swift @@ -15,7 +15,7 @@ open class SBUMessageDateView: SBUView { public var theme: SBUMessageCellTheme public lazy var dateLabel: UILabel = UILabel() - public var padding: UIEdgeInsets = UIEdgeInsets(top: 8, left: 4, bottom: 8, right: 4) + public var padding: UIEdgeInsets = UIEdgeInsets(top: 4, left: 8, bottom: 4, right: 8) open override func setupViews() { self.dateLabel = SBUPaddingLabel(padding.top, padding.bottom, padding.left, padding.right) @@ -27,7 +27,7 @@ open class SBUMessageDateView: SBUView { open override func setupLayouts() { self.dateLabel - .setConstraint(from: self, centerX: true, centerY: true) + .sbu_constraint(equalTo: self, centerX: 0, centerY: 0) .sbu_constraint(equalTo: self, top: 0, bottom: 0) } diff --git a/Sources/View/Channel/CellView/SBUMessageProfileView.swift b/Sources/View/Channel/CellView/SBUMessageProfileView.swift index 9cc1de88e..6510db2ae 100644 --- a/Sources/View/Channel/CellView/SBUMessageProfileView.swift +++ b/Sources/View/Channel/CellView/SBUMessageProfileView.swift @@ -24,16 +24,7 @@ open class SBUMessageProfileView: SBUView { public init(urlString: String = "") { self.urlString = urlString - super.init( - frame: .init( - x: 0, - y: 0, - width: self.imageSize, - height: self.imageSize - ) - ) - - self.configure(urlString: urlString) + super.init(frame: .zero) } public var imageDownloadTask: URLSessionTask? @@ -44,16 +35,12 @@ open class SBUMessageProfileView: SBUView { self.urlString = "" super.init() - - self.configure(urlString: self.urlString) } override public init(frame: CGRect) { self.urlString = "" super.init(frame: frame) - - self.configure(urlString: self.urlString) } open override func setupViews() { @@ -62,9 +49,7 @@ open class SBUMessageProfileView: SBUView { open override func setupLayouts() { self.imageView - .setConstraint(width: self.imageSize, - height: self.imageSize) - .setConstraint(from: self, left: 0, right: 0, top: 0, bottom: 0) + .sbu_constraint(equalTo: self, left: 0, right: 0, top: 0, bottom: 0) } open override func setupStyles() { @@ -77,6 +62,8 @@ open class SBUMessageProfileView: SBUView { if let imageSize = imageSize { self.imageSize = imageSize } + + self.imageView.sbu_constraint(width: self.imageSize, height: self.imageSize) imageView.layer.cornerRadius = self.imageSize / 2 imageView.layer.borderColor = UIColor.clear.cgColor imageView.layer.borderWidth = 1 diff --git a/Sources/View/Channel/CellView/SBUMessageStateView.swift b/Sources/View/Channel/CellView/SBUMessageStateView.swift index 92d881ef4..f038a03e1 100644 --- a/Sources/View/Channel/CellView/SBUMessageStateView.swift +++ b/Sources/View/Channel/CellView/SBUMessageStateView.swift @@ -129,28 +129,21 @@ open class SBUMessageStateView: SBUView { super.setupLayouts() self.stateImageView.contentMode = .center - self.stackView.setConstraint( - from: self, + self.stackView.sbu_constraint( + equalTo: self, left: 0, right: 0, top: 0, - bottom: 0, - priority: .defaultLow + bottom: 0 ) - if let timeLabelCustomSize = self.timeLabelCustomSize { - let timeLabelWidth = timeLabelCustomSize.width - let timeLabelHeight = timeLabelCustomSize.height - - if isQuotedReplyMessage { - self.timeLabel - .sbu_constraint(height: timeLabelHeight) - } else { - self.timeLabel - .sbu_constraint(width: timeLabelWidth, height: timeLabelHeight) - } - self.stateImageView.sbu_constraint(height: 12) - } + let timeLabelWidth = self.timeLabelCustomSize?.width ?? self.timeLabelWidth + let timeLabelHeight = self.timeLabelCustomSize?.height ?? self.timeLabelHeight + + let sizePriority: UILayoutPriority = (timeLabelCustomSize != nil) ? .defaultHigh : .defaultLow + self.timeLabel.sbu_constraint(width: timeLabelWidth, height: timeLabelHeight, priority: sizePriority) + + self.stateImageView.sbu_constraint(height: 12) } open override func setupStyles() { diff --git a/Sources/View/Channel/CellView/SBUMessageWebView.swift b/Sources/View/Channel/CellView/SBUMessageWebView.swift index 2e8b78ce5..53c8a04d5 100644 --- a/Sources/View/Channel/CellView/SBUMessageWebView.swift +++ b/Sources/View/Channel/CellView/SBUMessageWebView.swift @@ -34,7 +34,7 @@ open class SBUMessageWebView: UIStackView, SBUViewLifeCycle { /// A label that represents a title of the web link public let titleLabel: UILabel = { - let label = UILabel() + let label = SBUPaddingLabel(Metric.textTopMargin, Metric.titleBottomMargin, Metric.textSideMargin, Metric.textSideMargin) label.numberOfLines = 10 label.preferredMaxLayoutWidth = Metric.textMaxPrefWidth return label @@ -42,19 +42,20 @@ open class SBUMessageWebView: UIStackView, SBUViewLifeCycle { /// A label that shows a description of the web link public let descriptionLabel: UILabel = { - let label = UILabel() - label.numberOfLines = 1 + let label = SBUPaddingLabel(0, Metric.descBottomMargin, Metric.textSideMargin, Metric.textSideMargin) + label.numberOfLines = 2 return label }() /// A label that shows the URL public let urlLabel: UILabel = { - let label = UILabel() + let label = SBUPaddingLabel(0, Metric.descBottomMargin, Metric.textSideMargin, Metric.textSideMargin) label.numberOfLines = 1 return label }() public var imageHeightConstraint: NSLayoutConstraint? + public var imageWitdhConstraint: NSLayoutConstraint? public override init(frame: CGRect) { super.init(frame: frame) @@ -88,32 +89,10 @@ open class SBUMessageWebView: UIStackView, SBUViewLifeCycle { open func setupLayouts() { self.translatesAutoresizingMaskIntoConstraints = false - let imageHeightConstraint = self.imageView.heightAnchor - .constraint(equalToConstant: Metric.imageHeight) - imageHeightConstraint.isActive = true - self.imageHeightConstraint = imageHeightConstraint - - self.imageView.widthAnchor - .constraint(lessThanOrEqualToConstant: Metric.maxWidth).isActive = true - - self.detailStackView.translatesAutoresizingMaskIntoConstraints = false - self.detailStackView.isLayoutMarginsRelativeArrangement = true - - self.detailStackView.directionalLayoutMargins = NSDirectionalEdgeInsets( - top: Metric.textTopMargin, - leading: Metric.textSideMargin, - bottom: Metric.textSideMargin, - trailing: Metric.textSideMargin - ) - self.detailStackView.setCustomSpacing( - Metric.titleBottomMargin, - after: self.titleLabel - ) - self.detailStackView.setCustomSpacing( - Metric.descBottomMargin, - after: self.descriptionLabel - ) + self.imageView + .sbu_constraint(height: Metric.imageHeight, priority: .defaultHigh) + .sbu_constraint_lessThan(width: Metric.maxWidth) } open func updateLayouts() { } diff --git a/Sources/View/Channel/CellView/SBUNotificationTimelineView.swift b/Sources/View/Channel/CellView/SBUNotificationTimelineView.swift index 971bc8444..d0d55d3bc 100644 --- a/Sources/View/Channel/CellView/SBUNotificationTimelineView.swift +++ b/Sources/View/Channel/CellView/SBUNotificationTimelineView.swift @@ -35,8 +35,8 @@ class SBUNotificationTimelineView: SBUMessageDateView { override func setupLayouts() { self.dateLabel - .setConstraint(from: self, centerX: true, centerY: true) - .setConstraint(from: self, top: 0, bottom: 0) + .sbu_constraint(equalTo: self, centerX: 0, centerY: 0) + .sbu_constraint(equalTo: self, top: 0, bottom: 0) } override func layoutSubviews() { diff --git a/Sources/View/Channel/CellView/SBUOpenChannelMessageWebView.swift b/Sources/View/Channel/CellView/SBUOpenChannelMessageWebView.swift index 33c96b47a..9d08ae0fb 100644 --- a/Sources/View/Channel/CellView/SBUOpenChannelMessageWebView.swift +++ b/Sources/View/Channel/CellView/SBUOpenChannelMessageWebView.swift @@ -21,6 +21,10 @@ open class SBUOpenChannelMessageWebView: SBUMessageWebView { } open override func setupViews() { + (self.titleLabel as? SBUPaddingLabel)?.resetPadding() + (self.descriptionLabel as? SBUPaddingLabel)?.resetPadding() + (self.urlLabel as? SBUPaddingLabel)?.resetPadding() + self.axis = .vertical self.addArrangedSubview(self.detailStackView) self.addArrangedSubview(self.imageView) @@ -46,11 +50,11 @@ open class SBUOpenChannelMessageWebView: SBUMessageWebView { bottom: OpenChannelMetric.textSideMargin, trailing: OpenChannelMetric.textSideMargin ) - - let imageHeightConstraint = self.imageView.heightAnchor + + self.imageHeightConstraint?.isActive = false + self.imageHeightConstraint = self.imageView.heightAnchor .constraint(equalToConstant: Metric.imageHeight) - imageHeightConstraint.isActive = true - self.imageHeightConstraint = imageHeightConstraint + self.imageHeightConstraint?.isActive = true self.setCustomSpacing(OpenChannelMetric.imageTopMargin, after: detailStackView) diff --git a/Sources/View/Channel/CellView/SBUSelectableStackView.swift b/Sources/View/Channel/CellView/SBUSelectableStackView.swift index 1bd36699f..52b6059c7 100644 --- a/Sources/View/Channel/CellView/SBUSelectableStackView.swift +++ b/Sources/View/Channel/CellView/SBUSelectableStackView.swift @@ -58,7 +58,7 @@ public class SBUSelectableStackView: SBUView, Selectable { public override func setupLayouts() { super.setupLayouts() - self.stackView.setConstraint(from: self, left: 0, right: 0, top: 0, bottom: 0) + self.stackView.sbu_constraint(equalTo: self, left: 0, right: 0, top: 0, bottom: 0, priority: .defaultHigh) } public override func setupStyles() { diff --git a/Sources/View/Channel/CellView/SBUUserMessageTextView.swift b/Sources/View/Channel/CellView/SBUUserMessageTextView.swift index caf528ed4..6640b1945 100644 --- a/Sources/View/Channel/CellView/SBUUserMessageTextView.swift +++ b/Sources/View/Channel/CellView/SBUUserMessageTextView.swift @@ -34,6 +34,7 @@ open class SBUUserMessageTextView: SBUView { var textView = SBULinkClickableTextView() textView.backgroundColor = .clear textView.textAlignment = .left + textView.textContainer.lineBreakMode = .byCharWrapping textView.showsVerticalScrollIndicator = false textView.showsHorizontalScrollIndicator = false textView.isScrollEnabled = false @@ -52,9 +53,6 @@ open class SBUUserMessageTextView: SBUView { var longPressHandler: ((URL) -> Void)? - public var textLeftConstraint: NSLayoutConstraint! - public var textRightConstraint: NSLayoutConstraint! - public var mentionManager: SBUMentionManager? public var removeMargin: Bool = false @@ -66,6 +64,16 @@ open class SBUUserMessageTextView: SBUView { } public weak var delegate: SBUUserMessageTextViewDelegate? + + public var textTopConstraint: NSLayoutConstraint? + public var textBottomConstraint: NSLayoutConstraint? + public var textLeftConstraint: NSLayoutConstraint? + public var textRightConstraint: NSLayoutConstraint? + + var widthConstraint: NSLayoutConstraint? + + var textHeightConstraint: NSLayoutConstraint? + var textMinWidthConstraint: NSLayoutConstraint? public override init() { super.init() @@ -91,26 +99,37 @@ open class SBUUserMessageTextView: SBUView { open override func setupLayouts() { self.translatesAutoresizingMaskIntoConstraints = false - if self.needsToRemoveMargin { - self.widthAnchor.constraint( + if !self.needsToRemoveMargin { + self.widthConstraint?.isActive = false + self.widthConstraint = self.widthAnchor.constraint( lessThanOrEqualToConstant: Metric.textMaxWidth - ).isActive = true + ) + self.widthConstraint?.isActive = true } - let textHeightConstraint = self.textView.heightAnchor.constraint( +// self.textHeightConstraint?.isActive = false +// self.textMinWidthConstraint?.isActive = false + self.textHeightConstraint = self.textView.heightAnchor.constraint( greaterThanOrEqualToConstant: Metric.textMinHeight ) - let textMinWidthConstraint = self.textView.widthAnchor.constraint( + self.textHeightConstraint?.priority = .defaultHigh + self.textMinWidthConstraint = self.textView.widthAnchor.constraint( greaterThanOrEqualToConstant: Metric.textMinWidth ) - - NSLayoutConstraint.activate([ - textHeightConstraint, - textMinWidthConstraint + NSLayoutConstraint.sbu_activate(baseView: self.textView, constraints: [ + self.textHeightConstraint, + self.textMinWidthConstraint ]) +// self.textHeightConstraint?.isActive = true +// self.textMinWidthConstraint?.isActive = true self.textView.translatesAutoresizingMaskIntoConstraints = false - let textTopConstraint = self.textView.topAnchor.constraint( + self.textTopConstraint?.isActive = false + self.textLeftConstraint?.isActive = false + self.textRightConstraint?.isActive = false + self.textBottomConstraint?.isActive = false + + self.textTopConstraint = self.textView.topAnchor.constraint( equalTo: self.topAnchor, constant: self.removeMargin ? 0 : Metric.textTopDownMargin ) @@ -118,7 +137,7 @@ open class SBUUserMessageTextView: SBUView { equalTo: self.leftAnchor, constant: (self.needsToRemoveMargin && !self.isWebType) ? 0 : Metric.textLeftRightMargin ) - let textBottomConstraint = self.textView.bottomAnchor.constraint( + self.textBottomConstraint = self.textView.bottomAnchor.constraint( equalTo: self.bottomAnchor, constant: self.removeMargin ? 0 : -Metric.textTopDownMargin ) @@ -126,19 +145,16 @@ open class SBUUserMessageTextView: SBUView { lessThanOrEqualTo: self.rightAnchor, constant: (self.needsToRemoveMargin && !self.isWebType) ? 0 : -Metric.textLeftRightMargin ) - NSLayoutConstraint.activate([ - textTopConstraint, - self.textLeftConstraint, - textBottomConstraint, - self.textRightConstraint - ]) + self.textTopConstraint?.isActive = true + self.textBottomConstraint?.isActive = true + self.textLeftConstraint?.isActive = true + self.textRightConstraint?.isActive = true } open func updateSideConstraint() { - NSLayoutConstraint.deactivate([ - self.textLeftConstraint, - self.textRightConstraint - ]) + self.textLeftConstraint?.isActive = false + self.textRightConstraint?.isActive = false + self.textLeftConstraint = self.textView.leftAnchor.constraint( equalTo: self.leftAnchor, constant: (self.needsToRemoveMargin && !self.isWebType) ? 0 : Metric.textLeftRightMargin @@ -147,10 +163,9 @@ open class SBUUserMessageTextView: SBUView { lessThanOrEqualTo: self.rightAnchor, constant: (self.needsToRemoveMargin && !self.isWebType) ? 0 : -Metric.textLeftRightMargin ) - NSLayoutConstraint.activate([ - self.textLeftConstraint, - self.textRightConstraint - ]) + + self.textLeftConstraint?.isActive = true + self.textRightConstraint?.isActive = true self.updateConstraintsIfNeeded() } diff --git a/Sources/View/Channel/CellView/SBUUserNameView.swift b/Sources/View/Channel/CellView/SBUUserNameView.swift index 4c6bc4ffb..ef21cfb4a 100644 --- a/Sources/View/Channel/CellView/SBUUserNameView.swift +++ b/Sources/View/Channel/CellView/SBUUserNameView.swift @@ -23,7 +23,7 @@ open class SBUUserNameView: SBUView { var isOverlay = false /// Set to `button.leftAnchor.constraint(equalTo:constant:)` from `updateLayouts()` function. - public private(set) var buttonLeftConstraint: NSLayoutConstraint! + public private(set) var buttonLeftConstraint: NSLayoutConstraint? public override init() { super.init(frame: .zero) @@ -54,25 +54,26 @@ open class SBUUserNameView: SBUView { super.setupLayouts() self.button - .setConstraint(from: self, right: 0, top: 0, bottom: 0) - .setConstraint(height: 12) + .sbu_constraint(equalTo: self, right: 0, top: 0, bottom: 0) + .sbu_constraint(height: 12, priority: .defaultHigh) + self.buttonLeftConstraint?.isActive = false self.buttonLeftConstraint = self.button.leftAnchor.constraint( equalTo: self.leftAnchor, constant: self.leftMargin ) - self.buttonLeftConstraint.isActive = true + self.buttonLeftConstraint?.isActive = true } open override func updateLayouts() { super.updateLayouts() - self.buttonLeftConstraint.isActive = false + self.buttonLeftConstraint?.isActive = false self.buttonLeftConstraint = self.button.leftAnchor.constraint( equalTo: self.leftAnchor, constant: self.leftMargin ) - self.buttonLeftConstraint.isActive = true + self.buttonLeftConstraint?.isActive = true } open override func setupStyles() { diff --git a/Sources/View/Channel/FileViewer/SBUFileViewController.swift b/Sources/View/Channel/FileViewer/SBUFileViewController.swift index 3c6006bcd..4552b2db9 100644 --- a/Sources/View/Channel/FileViewer/SBUFileViewController.swift +++ b/Sources/View/Channel/FileViewer/SBUFileViewController.swift @@ -20,6 +20,59 @@ public protocol SBUFileViewControllerDelegate: AnyObject { func didSelectDeleteImage(message: FileMessage) } +/// The main information about file used in views. +/// +/// - **Example usage:** +/// ```swift +/// let file = SBUFileData(fileMessage: fileMessage) +/// ``` +/// ```swift +/// // multiple files message case +/// let fileInfo = multipleFilesMessage.files[index] +/// let file = SBUFileData( +/// urlString: fileInfo.url, +/// message: multipleFilesMessage, +/// cacheKey: multipleFilesMessage.cacheKey + "_\(index)", +/// fileType: SBUUtils.getFileType(by: fileInfo.mimeType!) +/// name: fileInfo.fileName! +/// ) +/// ``` +public struct SBUFileData { + /// The string value of the file URL + let urlString: String + /// The message that contains the file. + let message: BaseMessage + /// The key that is used for caching + let cacheKey: String? + /// The type of file. See ``SBUMessageFileType`` for more information. + let fileType: SBUMessageFileType + /// The name of the file + let name: String + + /// The value is same as channel URL. + var subPath: String { + self.message.channelURL + } + + init(urlString: String, message: BaseMessage, cacheKey: String?, fileType: SBUMessageFileType, name: String) { + self.urlString = urlString + self.message = message + self.cacheKey = cacheKey + self.fileType = fileType + self.name = name + } + + init(fileMessage: FileMessage) { + self.init( + urlString: fileMessage.url, + message: fileMessage, + cacheKey: fileMessage.cacheKey, + fileType: SBUUtils.getFileType(by: fileMessage), + name: fileMessage.name + ) + } +} + /// The ``SBUBaseViewController`` that displays file content on `FileMessage` /// /// **Customization Guide** @@ -27,7 +80,6 @@ public protocol SBUFileViewControllerDelegate: AnyObject { /// SBUCommonViewControllerSet.FileViewController = MyAppFileViewController.self /// ``` open class SBUFileViewController: SBUBaseViewController, UIScrollViewDelegate, SBUAlertViewDelegate { - // MARK: - Public property public var leftBarButton: UIBarButtonItem? { didSet { @@ -75,23 +127,68 @@ open class SBUFileViewController: SBUBaseViewController, UIScrollViewDelegate, S return TitleView(frame: CGRect()) }() - private var bottomViewHeightAnchor: NSLayoutConstraint! + private var bottomViewHeightAnchorConstraint: NSLayoutConstraint? + private var bottomViewBottomAnchorConstraint: NSLayoutConstraint? + private var bottomViewLeftAnchorConstraint: NSLayoutConstraint? + private var bottomViewRightAnchorConstraint: NSLayoutConstraint? // for logic - private var urlString: String? + private var urlString: String? { fileData.urlString } private weak var delegate: SBUFileViewControllerDelegate? - private var fileMessage: FileMessage? + + private var fileData: SBUFileData // MARK: - Lifecycle - required public init(fileMessage: FileMessage, delegate: SBUFileViewControllerDelegate?) { - self.fileMessage = fileMessage - self.urlString = fileMessage.url + /// Initializes ``SBUFileViewController`` with `FileMessage` + required public convenience init( + fileMessage: FileMessage, + delegate: SBUFileViewControllerDelegate? + ) { + let fileData = SBUFileData(fileMessage: fileMessage) + self.init(fileData: fileData, delegate: delegate) + } + + /// Initializes ``SBUFileViewController`` with ``SBUFileData`` and ``SBUFileViewControllerDelegate`` + /// + /// - File Message Example + /// ```swift + /// let file = SBUFileData(fileMessage: fileMessage) + /// SBUCommonViewControllerSet.FileViewController.init( + /// file: file, + /// delegate: self + /// ) + /// ``` + /// + /// - Multiple Files Message Example + /// ```swift + /// let fileInfo = multipleFilesMessage.files[index] + /// let file = SBUFileData( + /// urlString: fileInfo.url, + /// message: multipleFilesMessage, + /// cacheKey: multipleFilesMessage.cacheKey + "_\(index)", + /// fileType: SBUUtils.getFileType(by: fileInfo.mimeType!) + /// name: fileInfo.fileName! + /// ) + /// SBUCommonViewControllerSet.FileViewController.init( + /// file: file, + /// delegate: self + /// ) + /// ``` + required public init(fileData: SBUFileData, delegate: SBUFileViewControllerDelegate?) { + self.fileData = fileData self.delegate = delegate + super.init(nibName: nil, bundle: nil) - } - + } + + @available(*, unavailable, renamed: "init(params:delegate:)") required public init?(coder: NSCoder) { - super.init(coder: coder) + if let fileMessage = FileMessage.make(["": ""]) { + self.fileData = SBUFileData(fileMessage: fileMessage) + super.init(coder: coder) + } else { + fatalError("`init?(coder:)` has not been implemented. Use `init(params:delegate:)`") + } } open override func viewDidLoad() { @@ -99,26 +196,25 @@ open class SBUFileViewController: SBUBaseViewController, UIScrollViewDelegate, S self.navigationController?.interactivePopGestureRecognizer?.delegate = nil - let gesture = UITapGestureRecognizer(target: self, - action: #selector(self.onClickImage(sender:))) + let gesture = UITapGestureRecognizer( + target: self, + action: #selector(self.onClickImage(sender:)) + ) self.view.addGestureRecognizer(gesture) self.view.bringSubviewToFront(self.bottomView) // Title View if let titleView = self.navigationItem.titleView as? TitleView { - if let sender = fileMessage?.sender { + if let sender = self.fileData.message.sender { titleView.titleLabel.text = SBUUser(user: sender).refinedNickname() } else { titleView.titleLabel.text = SBUStringSet.User_No_Name } - if let timestamp = fileMessage?.createdAt { - titleView.dateTimeLabel.text = Date - .sbu_from(timestamp) - .sbu_toString(dateFormat: SBUDateFormatSet.Message.fileViewControllerTimeFormat) - } else { - titleView.dateTimeLabel.text = "" - } + + titleView.dateTimeLabel.text = Date + .sbu_from(self.fileData.message.createdAt) + .sbu_toString(dateFormat: SBUDateFormatSet.Message.fileViewControllerTimeFormat) titleView.updateConstraints() } @@ -126,30 +222,34 @@ open class SBUFileViewController: SBUBaseViewController, UIScrollViewDelegate, S // Bottom View if let bottomView = self.bottomView as? BottomView { - let isCurrnetUser = self.fileMessage?.sender?.userId == SBUGlobals.currentUser?.userId - bottomView.deleteButton.isHidden = !isCurrnetUser - - bottomView.downloadButton.addTarget(self, - action: #selector(onClickDownload(sender:)), - for: .touchUpInside) - if let fileMessage = fileMessage, fileMessage.threadInfo.replyCount > 0 { - bottomView.deleteButton.isHidden = true - } else { - bottomView.deleteButton.addTarget(self, - action: #selector(onClickDelete(sender:)), - for: .touchUpInside) + let hidesDeleteButton = self.fileData.message.threadInfo.replyCount > 0 + || self.fileData.message.sender?.userId != SBUGlobals.currentUser?.userId + || self.fileData.message as? MultipleFilesMessage != nil + + bottomView.deleteButton.isHidden = hidesDeleteButton + if !hidesDeleteButton { + bottomView.deleteButton.addTarget( + self, + action: #selector(onClickDelete(sender:)), + for: .touchUpInside + ) } - + bottomView.downloadButton.addTarget( + self, + action: #selector(onClickDownload(sender:)), + for: .touchUpInside + ) } guard let urlString = urlString else { return } self.imageView.loadImage( urlString: urlString, - cacheKey: self.fileMessage?.cacheKey, - subPath: self.fileMessage?.channelURL ?? "" + cacheKey: self.fileData.cacheKey, + subPath: self.fileData.message.channelURL ) - if let fileMessage = fileMessage { + // TODO: MFM also + if let fileMessage = self.fileData.message as? FileMessage { SBUCacheManager.Image.preSave(fileMessage: fileMessage) } } @@ -161,7 +261,7 @@ open class SBUFileViewController: SBUBaseViewController, UIScrollViewDelegate, S open override func updateViewConstraints() { super.updateViewConstraints() - bottomViewHeightAnchor.constant = 56 + view.safeAreaInsets.bottom + bottomViewHeightAnchorConstraint?.constant = 56 + view.safeAreaInsets.bottom } open override func viewDidLayoutSubviews() { @@ -202,16 +302,21 @@ open class SBUFileViewController: SBUBaseViewController, UIScrollViewDelegate, S open override func setupLayouts() { self.bottomView.translatesAutoresizingMaskIntoConstraints = false - self.bottomViewHeightAnchor = self.bottomView.heightAnchor.constraint(equalToConstant: 56) - let constraints: [NSLayoutConstraint] = [ - self.bottomView.bottomAnchor.constraint(equalTo: view.bottomAnchor, constant: 0), - self.bottomView.leftAnchor.constraint(equalTo: view.leftAnchor, constant: 0), - self.bottomView.rightAnchor.constraint(equalTo: view.rightAnchor, constant: 0), - self.bottomViewHeightAnchor, - ] + self.bottomViewHeightAnchorConstraint?.isActive = false + self.bottomViewBottomAnchorConstraint?.isActive = false + self.bottomViewLeftAnchorConstraint?.isActive = false + self.bottomViewRightAnchorConstraint?.isActive = false - NSLayoutConstraint.activate(constraints) + self.bottomViewHeightAnchorConstraint = self.bottomView.heightAnchor.constraint(equalToConstant: 56) + self.bottomViewBottomAnchorConstraint = self.bottomView.bottomAnchor.constraint(equalTo: view.bottomAnchor, constant: 0) + self.bottomViewLeftAnchorConstraint = self.bottomView.leftAnchor.constraint(equalTo: view.leftAnchor, constant: 0) + self.bottomViewRightAnchorConstraint = self.bottomView.rightAnchor.constraint(equalTo: view.rightAnchor, constant: 0) + + self.bottomViewHeightAnchorConstraint?.isActive = true + self.bottomViewBottomAnchorConstraint?.isActive = true + self.bottomViewLeftAnchorConstraint?.isActive = true + self.bottomViewRightAnchorConstraint?.isActive = true } open override func updateLayouts() { @@ -244,7 +349,7 @@ open class SBUFileViewController: SBUBaseViewController, UIScrollViewDelegate, S let deleteButton = SBUAlertButtonItem(title: SBUStringSet.Delete, color: SBUColorSet.error300) { [weak self] _ in guard let self = self else { return } - guard let fileMessage = self.fileMessage else { return } + guard let fileMessage = self.fileData.message as? FileMessage else { return } self.delegate?.didSelectDeleteImage(message: fileMessage) self.dismiss(animated: true, completion: nil) } @@ -260,14 +365,14 @@ open class SBUFileViewController: SBUBaseViewController, UIScrollViewDelegate, S @objc open func onClickDownload(sender: UIButton) { - guard let fileMessage = self.fileMessage else { return } - - SBUDownloadManager.saveImage(with: fileMessage, parent: self) + SBUDownloadManager.save( + fileData: self.fileData, + viewController: self + ) } @objc open func onClickImage(sender: UITapGestureRecognizer) { - self.showBar(self.bottomView.isHidden) } @@ -292,9 +397,11 @@ open class SBUFileViewController: SBUBaseViewController, UIScrollViewDelegate, S } @objc - open func onSaveImage(_ image: UIImage, - didFinishSavingWithError error: NSError?, - contextInfo: UnsafeRawPointer) { + open func onSaveImage( + _ image: UIImage, + didFinishSavingWithError error: NSError?, + contextInfo: UnsafeRawPointer + ) { if let error = error { self.errorHandler(error.localizedDescription, error.code) return @@ -358,16 +465,7 @@ extension SBUFileViewController { } func setupLayouts() { - self.stackView.translatesAutoresizingMaskIntoConstraints = false - - let constraints = [ - self.stackView.bottomAnchor.constraint(equalTo: self.bottomAnchor, constant: 0), - self.stackView.topAnchor.constraint(equalTo: self.topAnchor, constant: 0), - self.stackView.rightAnchor.constraint(equalTo: self.rightAnchor, constant: 0), - self.stackView.leftAnchor.constraint(equalTo: self.leftAnchor, constant: 0), - ] - - NSLayoutConstraint.activate(constraints) + self.stackView.sbu_constraint(equalTo: self, leading: 0, trailing: 0, top: 0, bottom: 0) } func setupStyles() { @@ -419,18 +517,15 @@ extension SBUFileViewController { } func setupLayouts() { - self.stackView.translatesAutoresizingMaskIntoConstraints = false + self.stackView + .sbu_constraint(equalTo: self, left: 12, right: 12, top: 12) + .sbu_constraint(height: 32) - let constraints = [ - self.stackView.leftAnchor.constraint(equalTo: self.leftAnchor, constant: 12), - self.stackView.rightAnchor.constraint(equalTo: self.rightAnchor, constant: -12), - self.stackView.topAnchor.constraint(equalTo: self.topAnchor, constant: 12), - self.stackView.heightAnchor.constraint(equalToConstant: 32), - self.deleteButton.widthAnchor.constraint(equalToConstant: 32), - self.downloadButton.widthAnchor.constraint(equalToConstant: 32), - ] + self.deleteButton + .sbu_constraint(height: 32) - NSLayoutConstraint.activate(constraints) + self.downloadButton + .sbu_constraint(height: 32) } func setupStyles() { diff --git a/Sources/View/Channel/Header/SBUChannelInfoHeaderView.swift b/Sources/View/Channel/Header/SBUChannelInfoHeaderView.swift index 086cf46ea..ae9bbaf0e 100644 --- a/Sources/View/Channel/Header/SBUChannelInfoHeaderView.swift +++ b/Sources/View/Channel/Header/SBUChannelInfoHeaderView.swift @@ -113,7 +113,7 @@ open class SBUChannelInfoHeaderView: SBUView { self.stackView.sbu_constraint_equalTo( leadingAnchor: self.coverImage.trailingAnchor, leading: 8 ) - self.stackView.sbu_constraint(height: coverImageSize) +// self.stackView.sbu_constraint(height: coverImageSize) self.stackView.sbu_constraint(equalTo: self, centerY: 0) self.titleLabel.sbu_constraint(equalTo: self.stackView, leading: 0, trailing: 0) diff --git a/Sources/View/Channel/Header/SBUChannelTitleView.swift b/Sources/View/Channel/Header/SBUChannelTitleView.swift index 15c07038e..9752e5ebc 100644 --- a/Sources/View/Channel/Header/SBUChannelTitleView.swift +++ b/Sources/View/Channel/Header/SBUChannelTitleView.swift @@ -29,6 +29,8 @@ public class SBUChannelTitleView: UIView { /// - Since: 3.5.8 var isChatNotificationChannelUsed: Bool = false + var contentHeightConstant: NSLayoutConstraint? + // MARK: - Life cycle override public init(frame: CGRect) { super.init(frame: frame) @@ -66,29 +68,24 @@ public class SBUChannelTitleView: UIView { } func setupLayouts() { - self.contentView.translatesAutoresizingMaskIntoConstraints = false - let contentHeightConstant = self.contentView.heightAnchor.constraint( + self.contentView.sbu_constraint(equalTo: self, left: 0, right: 0, top: 0, bottom: 0) + + self.contentHeightConstant = self.contentView.heightAnchor.constraint( equalToConstant: self.bounds.height ) - contentHeightConstant.priority = .defaultLow - NSLayoutConstraint.activate([ - self.contentView.topAnchor.constraint(equalTo: self.topAnchor, constant: 0), - self.contentView.leftAnchor.constraint(equalTo: self.leftAnchor, constant: 0), - self.contentView.rightAnchor.constraint(equalTo: self.rightAnchor, constant: 0), - self.contentView.bottomAnchor.constraint(equalTo: self.bottomAnchor, constant: 0), - contentHeightConstant, + self.contentHeightConstant?.priority = .defaultLow + NSLayoutConstraint.sbu_activate(baseView: self.contentView, constraints: [ + contentHeightConstant ]) - self.coverImage.translatesAutoresizingMaskIntoConstraints = false - NSLayoutConstraint.activate([ + NSLayoutConstraint.sbu_activate(baseView: self.coverImage, constraints: [ self.coverImage.leftAnchor.constraint(equalTo: self.contentView.leftAnchor, constant: 5), self.coverImage.widthAnchor.constraint(equalToConstant: kCoverImageSize), self.coverImage.heightAnchor.constraint(equalToConstant: kCoverImageSize), self.coverImage.centerYAnchor.constraint(equalTo: self.centerYAnchor, constant: 0), ]) - self.stackView.translatesAutoresizingMaskIntoConstraints = false - NSLayoutConstraint.activate([ + NSLayoutConstraint.sbu_activate(baseView: self.stackView, constraints: [ self.stackView.leftAnchor.constraint( equalTo: self.coverImage.rightAnchor, constant: 8 @@ -102,21 +99,22 @@ public class SBUChannelTitleView: UIView { constant: 5), self.stackView.centerYAnchor.constraint( equalTo: self.centerYAnchor, - constant: 0), + constant: 0) ]) - self.titleLabel.translatesAutoresizingMaskIntoConstraints = false - self.statusField.translatesAutoresizingMaskIntoConstraints = false - NSLayoutConstraint.activate([ + NSLayoutConstraint.sbu_activate(baseView: self.titleLabel, constraints: [ self.titleLabel.widthAnchor.constraint( equalTo: self.stackView.widthAnchor, multiplier: 1.0 - ), + ) + ]) + + NSLayoutConstraint.sbu_activate(baseView: self.statusField, constraints: [ self.statusField.widthAnchor.constraint( equalTo: self.stackView.widthAnchor, multiplier: 1.0 ), - self.statusField.heightAnchor.constraint(equalToConstant: 12), + self.statusField.heightAnchor.constraint(equalToConstant: 12) ]) } diff --git a/Sources/View/Channel/MessageCell/FileMessageContentView/SBUCommonContentView.swift b/Sources/View/Channel/MessageCell/FileMessageContentView/SBUCommonContentView.swift index 7dcd6ff57..2480cc5c0 100644 --- a/Sources/View/Channel/MessageCell/FileMessageContentView/SBUCommonContentView.swift +++ b/Sources/View/Channel/MessageCell/FileMessageContentView/SBUCommonContentView.swift @@ -43,16 +43,23 @@ open class SBUCommonContentView: SBUBaseFileContentView { self.stackView.addArrangedSubview(self.fileImageView) self.stackView.addArrangedSubview(self.fileNameLabel) + self.fileNameLabel.setContentCompressionResistancePriority( + UILayoutPriority(749), + for: .horizontal + ) } open override func setupLayouts() { - self.sbu_constraint(height: 44) - self.stackView.setConstraint(from: self, - left: 12, - right: 12, - top: 8, - bottom: 8) - self.fileImageView.setConstraint(width: 28, height: 28) + self.fileImageView + .sbu_constraint(width: 28, height: 28, priority: .defaultHigh) + + self.stackView.sbu_constraint( + equalTo: self, + left: 12, + right: 12, + top: 8, + bottom: 8 + ) } open override func setupStyles() { diff --git a/Sources/View/Channel/MessageCell/FileMessageContentView/SBUImageContentView.swift b/Sources/View/Channel/MessageCell/FileMessageContentView/SBUImageContentView.swift index e41978b0c..906e42449 100644 --- a/Sources/View/Channel/MessageCell/FileMessageContentView/SBUImageContentView.swift +++ b/Sources/View/Channel/MessageCell/FileMessageContentView/SBUImageContentView.swift @@ -24,8 +24,8 @@ open class SBUImageContentView: SBUBaseFileContentView { return imageView }() - public var widthConstraint: NSLayoutConstraint! - public var heightConstraint: NSLayoutConstraint! + public var widthConstraint: NSLayoutConstraint? + public var heightConstraint: NSLayoutConstraint? // MARK: - Properties (Private) private var loadImageSession: URLSessionTask? { @@ -45,8 +45,8 @@ open class SBUImageContentView: SBUBaseFileContentView { } open override func setupLayouts() { - self.imageView.setConstraint( - from: self, + self.imageView.sbu_constraint( + equalTo: self, left: 0, right: 0, top: 0, @@ -57,12 +57,15 @@ open class SBUImageContentView: SBUBaseFileContentView { self.setupSizeContraint() self.iconImageView - .setConstraint(from: self, centerX: true, centerY: true) - .setConstraint(width: 48, height: 48) + .sbu_constraint(equalTo: self, centerX: 0, centerY: 0) + .sbu_constraint(width: 48, height: 48) self.iconImageView.layoutIfNeeded() } open func setupSizeContraint() { + self.widthConstraint?.isActive = false + self.heightConstraint?.isActive = false + self.widthConstraint = self.imageView.widthAnchor.constraint( equalToConstant: SBUGlobals.messageCellConfiguration.groupChannel.thumbnailSize.width ) @@ -70,10 +73,8 @@ open class SBUImageContentView: SBUBaseFileContentView { equalToConstant: SBUGlobals.messageCellConfiguration.groupChannel.thumbnailSize.height ) - NSLayoutConstraint.activate([ - self.widthConstraint, - self.heightConstraint - ]) + self.widthConstraint?.isActive = true + self.heightConstraint?.isActive = true } open override func configure(message: FileMessage, position: MessagePosition) { @@ -178,11 +179,11 @@ open class SBUImageContentView: SBUBaseFileContentView { } open func resizeImageView(by size: CGSize) { - self.widthConstraint.constant = min( + self.widthConstraint?.constant = min( size.width, SBUGlobals.messageCellConfiguration.groupChannel.thumbnailSize.width ) - self.heightConstraint.constant = min( + self.heightConstraint?.constant = min( size.height, SBUGlobals.messageCellConfiguration.groupChannel.thumbnailSize.height ) diff --git a/Sources/View/Channel/MessageCell/FileMessageContentView/SBUOpenChannelCommonContentView.swift b/Sources/View/Channel/MessageCell/FileMessageContentView/SBUOpenChannelCommonContentView.swift index cf1b18822..5ff868c6b 100644 --- a/Sources/View/Channel/MessageCell/FileMessageContentView/SBUOpenChannelCommonContentView.swift +++ b/Sources/View/Channel/MessageCell/FileMessageContentView/SBUOpenChannelCommonContentView.swift @@ -13,12 +13,14 @@ open class SBUOpenChannelCommonContentView: SBUCommonContentView { open override func setupLayouts() { self.sbu_constraint(height: 56) - self.stackView.setConstraint(from: self, - left: 12, - right: 12, - top: 8, - bottom: 8) - self.fileImageView.setConstraint(width: 40, height: 40) + self.stackView.sbu_constraint( + equalTo: self, + left: 12, + right: 12, + top: 8, + bottom: 8 + ) + self.fileImageView.sbu_constraint(width: 40, height: 40) } open override func setupStyles() { diff --git a/Sources/View/Channel/MessageCell/FileMessageContentView/SBUOpenChannelImageContentView.swift b/Sources/View/Channel/MessageCell/FileMessageContentView/SBUOpenChannelImageContentView.swift index 46ef13556..3179572c5 100644 --- a/Sources/View/Channel/MessageCell/FileMessageContentView/SBUOpenChannelImageContentView.swift +++ b/Sources/View/Channel/MessageCell/FileMessageContentView/SBUOpenChannelImageContentView.swift @@ -11,25 +11,26 @@ import UIKit open class SBUOpenChannelImageContentView: SBUImageContentView { open override func setupSizeContraint() { + self.widthConstraint?.isActive = false + self.heightConstraint?.isActive = false + self.widthConstraint = self.imageView.widthAnchor.constraint( equalToConstant: SBUGlobals.messageCellConfiguration.openChannel.thumbnailSize.width ) self.heightConstraint = self.imageView.heightAnchor.constraint( equalToConstant: SBUGlobals.messageCellConfiguration.openChannel.thumbnailSize.height ) - - NSLayoutConstraint.activate([ - self.widthConstraint, - self.heightConstraint - ]) + + self.widthConstraint?.isActive = true + self.heightConstraint?.isActive = true } open override func resizeImageView(by size: CGSize) { - self.widthConstraint.constant = min( + self.widthConstraint?.constant = min( size.width, SBUGlobals.messageCellConfiguration.openChannel.thumbnailSize.width ) - self.heightConstraint.constant = min( + self.heightConstraint?.constant = min( size.height, SBUGlobals.messageCellConfiguration.openChannel.thumbnailSize.height ) diff --git a/Sources/View/Channel/MessageCell/FileMessageContentView/SBUVoiceContentView.swift b/Sources/View/Channel/MessageCell/FileMessageContentView/SBUVoiceContentView.swift index 08cccc1c9..687c95131 100644 --- a/Sources/View/Channel/MessageCell/FileMessageContentView/SBUVoiceContentView.swift +++ b/Sources/View/Channel/MessageCell/FileMessageContentView/SBUVoiceContentView.swift @@ -65,9 +65,6 @@ open class SBUVoiceContentView: SBUBaseFileContentView { } open override func setupLayouts() { - self.sbu_constraint(height: 44) - self.sbu_constraint(width: 136, priority: .defaultLow) - self.progressView.sbu_constraint( equalTo: self, leading: 0, @@ -85,6 +82,10 @@ open class SBUVoiceContentView: SBUBaseFileContentView { self.statusButton .sbu_constraint(equalTo: self.progressView, leading: 12, centerY: 0) .sbu_constraint(width: 28, height: 28) + + self.sbu_constraint(height: 44) + self.sbu_constraint(width: 136, priority: .defaultHigh) + } open override func setupStyles() { diff --git a/Sources/View/Channel/MessageCell/MessageCellParams/SBUBaseMessageCellParams.swift b/Sources/View/Channel/MessageCell/MessageCellParams/SBUBaseMessageCellParams.swift index c394bc0db..32f1e9615 100644 --- a/Sources/View/Channel/MessageCell/MessageCellParams/SBUBaseMessageCellParams.swift +++ b/Sources/View/Channel/MessageCell/MessageCellParams/SBUBaseMessageCellParams.swift @@ -63,6 +63,7 @@ public class SBUBaseMessageCellParams { (SendbirdUI.config.groupChannel.channel.replyType != .none) && !isThreadMessage && message.parentMessage != nil + self.useThreadInfo = SendbirdUI.config.groupChannel.channel.replyType == .thread && message.threadInfo.replyCount > 0 let filterTypes: [SBUReplyType] = [.quoteReply, .thread] diff --git a/Sources/View/Channel/MessageCell/MessageCellParams/SBUMultipleFilesMessageCellParams.swift b/Sources/View/Channel/MessageCell/MessageCellParams/SBUMultipleFilesMessageCellParams.swift new file mode 100644 index 000000000..91ca7eda4 --- /dev/null +++ b/Sources/View/Channel/MessageCell/MessageCellParams/SBUMultipleFilesMessageCellParams.swift @@ -0,0 +1,49 @@ +// +// SBUMultipleFilesMessageCellParams.swift +// SendbirdUIKit +// +// Created by Celine Moon on 2023/07/21. +// Copyright © 2023 Sendbird, Inc. All rights reserved. +// + +import SendbirdChatSDK + +/// An object that contains configurations for ``SBUMultipleFilesMessageCell``. +/// - Since: 3.10.0 +public class SBUMultipleFilesMessageCellParams: SBUBaseMessageCellParams { + public var multipleFilesMessage: MultipleFilesMessage? { + self.message as? MultipleFilesMessage + } + + public let useReaction: Bool + + public init( + message: MultipleFilesMessage, + hideDateView: Bool, + useMessagePosition: Bool, + groupPosition: MessageGroupPosition = .none, + receiptState: SBUMessageReceiptState = .none, + useReaction: Bool = false, + isThreadMessage: Bool = false, + joinedAt: Int64 = 0, + voiceFileInfo: SBUVoiceFileInfo? = nil + ) { + self.useReaction = useReaction + + var messagePosition: MessagePosition = .left + if useMessagePosition { + let isMyMessage = SBUGlobals.currentUser?.userId == message.sender?.userId + messagePosition = isMyMessage ? .right : .left + } + + super.init( + message: message, + hideDateView: hideDateView, + messagePosition: messagePosition, + groupPosition: groupPosition, + receiptState: receiptState, + isThreadMessage: isThreadMessage, + joinedAt: joinedAt + ) + } +} diff --git a/Sources/View/Channel/MessageCell/MultipleFilesMessage/SBUMultipleFilesMessageCell.swift b/Sources/View/Channel/MessageCell/MultipleFilesMessage/SBUMultipleFilesMessageCell.swift new file mode 100644 index 000000000..6dbb80af6 --- /dev/null +++ b/Sources/View/Channel/MessageCell/MultipleFilesMessage/SBUMultipleFilesMessageCell.swift @@ -0,0 +1,309 @@ +// +// SBUMultipleFilesMessageCell.swift +// SendbirdUIKit +// +// Created by Celine Moon on 2023/07/21. +// Copyright © 2023 Sendbird, Inc. All rights reserved. +// + +import UIKit +import SendbirdChatSDK + +/// A message cell that displays a MultipleFilesMessage. +/// - Since: 3.10.0 +open class SBUMultipleFilesMessageCell: SBUContentBaseMessageCell, UICollectionViewDelegate, UICollectionViewDataSource { + public var multipleFilesMessage: MultipleFilesMessage? { + self.message as? MultipleFilesMessage + } + + /// The view that contains the collectionView. + public var containerView = UIView() + + /// The view that displays multiple images. + public lazy var collectionView: SBUMultipleFilesMessageCollectionView = { + let layout = UICollectionViewFlowLayout() + layout.sectionInset = UIEdgeInsets(top: 0, left: 0, bottom: 0, right: 0) + layout.minimumInteritemSpacing = 4 + layout.minimumLineSpacing = 4 + + let collectionview = SBUMultipleFilesMessageCollectionView(frame: .zero, collectionViewLayout: layout) + collectionview.isScrollEnabled = false + + return collectionview + }() + + /// The height constraint for the collectionView. + public private(set) var collectionViewHeightConstraint: NSLayoutConstraint! + + // MARK: Action + /// The closure for selection gesture of the specific file at `indexPath` + public var fileSelectHandler: ((_ fileInfo: UploadedFileInfo, _ index: Int) -> Void)? + + /// An array of indices of files that keeps track of which files are finished being uploaded. + /// When a file uploading is complete, the file's index is added to this array + /// via `reloadUpdatedTableViewRows()`. + var uploadedIndices = [Int]() + + // Constants + struct Constants { + static let bubblePadding = 4.0 + static let collectionViewCornerRadius = 12.0 + static let collectionViewItemSpacing = 4.0 + static let collectionViewLineSpacing = 4.0 + static let collectionViewCellCornerRadius = 6.0 + } + + // MARK: - View Lifecycle + open override func setupViews() { + super.setupViews() + + // + ------------------- + + // | containerView | + // + ------------------- + + // | reactionView | + // + ------------------- + + + // Set up collectionView. + + collectionView.dataSource = self + collectionView.delegate = self + collectionView.register( + SBUMultipleFilesMessageCollectionViewCell.self, + forCellWithReuseIdentifier: SBUMultipleFilesMessageCollectionViewCell.sbu_className + ) + collectionView.backgroundColor = theme.leftBackgroundColor + + containerView.addSubview(collectionView) + + self.mainContainerView.setVStack([ + self.containerView, + self.reactionView + ]) + } + + open override func setupLayouts() { + super.setupLayouts() + + self.mainContainerView + .sbu_constraint(width: SBUGlobals.messageCellConfiguration.groupChannel.thumbnailSize.width) + + self.collectionViewHeightConstraint = self.collectionView.heightAnchor.constraint(equalToConstant: 0) + self.collectionViewHeightConstraint.isActive = true + + let bubblePadding = Constants.bubblePadding + self.collectionView.sbu_constraint( + equalTo: self.containerView, + left: bubblePadding, + right: bubblePadding, + top: bubblePadding, + bottom: bubblePadding + ) + + self.layoutIfNeeded() + } + + open override func setupStyles() { + super.setupStyles() + + self.mainContainerView.rightBackgroundColor = self.theme.leftBackgroundColor + self.mainContainerView.rightPressedBackgroundColor = self.theme.leftPressedBackgroundColor + self.mainContainerView.setupStyles() + } + + open override func setupActions() { + super.setupActions() + + self.containerView.addGestureRecognizer(self.contentLongPressRecognizer) + } + + // MARK: - Common + open override func configure(with configuration: SBUBaseMessageCellParams) { + guard let configuration = configuration as? SBUMultipleFilesMessageCellParams else { return } + + self.useReaction = configuration.useReaction + self.useQuotedMessage = configuration.useQuotedMessage + self.useThreadInfo = configuration.useThreadInfo + + super.configure(with: configuration) + + // Set up collectionView. + self.collectionView.configure( + delegate: self, + dataSource: self, + theme: self.theme, + cornerRadius: Constants.collectionViewCornerRadius + ) + self.collectionView.layoutIfNeeded() + self.collectionViewHeightConstraint.constant = self.collectionView.collectionViewLayout.collectionViewContentSize.height + } + + // MARK: - Action + open override func setSelected(_ selected: Bool, animated: Bool) { + super.setSelected(selected, animated: animated) + } +} + +extension SBUMultipleFilesMessageCell: UICollectionViewDelegateFlowLayout { + open func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell { + guard let cell = collectionView.dequeueReusableCell( + withReuseIdentifier: SBUMultipleFilesMessageCollectionViewCell.sbu_className, + for: indexPath + ) as? SBUMultipleFilesMessageCollectionViewCell, + let multipleFilesMessage = multipleFilesMessage else { + return UICollectionViewCell() + } + + // Manipulate current index. + var numberOfFiles = 0 + + if multipleFilesMessage.files.isEmpty { + let param = multipleFilesMessage.messageParams as? MultipleFilesMessageCreateParams + numberOfFiles = param?.uploadableFileInfoList.count ?? 0 + } else { + numberOfFiles = multipleFilesMessage.files.count + } + + guard let modifiedIndex = modifyIndex(numberOfFiles: numberOfFiles, originalIndex: indexPath[1]) else { + return cell + } + + // Configure cell. + var uploadableFileInfo: UploadableFileInfo? + var uploadedFileInfo: UploadedFileInfo? + + var showOverlay = true + + if multipleFilesMessage.files.isEmpty { + let param = multipleFilesMessage.messageParams as? MultipleFilesMessageCreateParams + uploadableFileInfo = param?.uploadableFileInfoList[modifiedIndex] + + let item = indexPath.row + showOverlay = !self.uploadedIndices.contains(item) + } else { + uploadedFileInfo = multipleFilesMessage.files[modifiedIndex] + showOverlay = false + } + + cell.configure( + uploadableFileInfo: uploadableFileInfo, + uploadedFileInfo: uploadedFileInfo, + requestId: multipleFilesMessage.requestId, + index: modifiedIndex, + imageCornerRadius: 6, + showOverlay: showOverlay + ) + cell.setupActions() + + return cell + } + + open func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int { + guard let multipleFilesMessage = multipleFilesMessage else { + return 0 + } + + var numberOfFiles: Int = 0 + // Pending + if multipleFilesMessage.files.count == 0 { + guard let messageCreateParams = multipleFilesMessage.messageParams as? MultipleFilesMessageCreateParams else { + return 0 + } + numberOfFiles = messageCreateParams.uploadableFileInfoList.count + } + + // Succeeded + else { + numberOfFiles = multipleFilesMessage.files.count + } + + return isRightPositionWithOdd(numberOfFiles) ? + numberOfFiles + 1 : + numberOfFiles + + } + + open func numberOfSections(in collectionView: UICollectionView) -> Int { + return 1 + } + + open func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) { + guard let collectionCell = collectionView.cellForItem(at: indexPath) as? SBUMultipleFilesMessageCollectionViewCell else { return } + guard let uploadedFileInfo = collectionCell.uploadedFileInfo else { return } + guard let index = self.multipleFilesMessage?.files.firstIndex(where: { $0.url == uploadedFileInfo.url }) else { return } + self.fileSelectHandler?(uploadedFileInfo, index) + } + + open func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize { + let bubblePadding = SBUMultipleFilesMessageCell.Constants.bubblePadding + let itemSpacing = SBUMultipleFilesMessageCell.Constants.collectionViewItemSpacing + let imageSize = (SBUGlobals.messageCellConfiguration.groupChannel.thumbnailSize.width - bubblePadding * 2 - itemSpacing) / 2 + + return CGSize(width: imageSize, height: imageSize) + } + + open override func prepareForReuse() { + super.prepareForReuse() + + // Clean up + self.uploadedIndices = [] + + // Clean up previous collectionView and re-initialize and re-layout a new one. + self.collectionView.removeFromSuperview() + + let layout = UICollectionViewFlowLayout() + layout.sectionInset = UIEdgeInsets(top: 0, left: 0, bottom: 0, right: 0) + layout.minimumInteritemSpacing = Constants.collectionViewItemSpacing + layout.minimumLineSpacing = Constants.collectionViewLineSpacing + + let collectionview = SBUMultipleFilesMessageCollectionView(frame: .zero, collectionViewLayout: layout) + collectionview.isScrollEnabled = false + self.collectionView = collectionview + + self.containerView.addSubview(collectionView) + self.setupViews() + self.setupStyles() + self.setupLayouts() + + collectionView.reloadData() + } + + // MARK: - Private Methods + + /// - Returns nil if cell should be skipped, or the modified index if the cell should be displayed + private func modifyIndex(numberOfFiles: Int, originalIndex: Int) -> Int? { + + // Special case: + // If sender is currentUser + // and if files.count is odd number + // and if current cell index is second to last + // => skip the cell. + if isRightPositionWithOdd(numberOfFiles) && + originalIndex == numberOfFiles - 1 { + return nil + } + + var modifiedIndex = 0 + + // Special case: + // If sender is currentUser + // and if files.count is ODD number + // and if current cell index is the last + // => index for dataSource should be 1 smaller than numberOfFiles + if isRightPositionWithOdd(numberOfFiles) && + originalIndex == numberOfFiles { + modifiedIndex = numberOfFiles - 1 + } + + // Default case. + else { + modifiedIndex = originalIndex + } + + return modifiedIndex + } + + private func isRightPositionWithOdd(_ numberOfFiles: Int) -> Bool { + return position == .right && + numberOfFiles.isMultiple(of: 2) == false + } +} diff --git a/Sources/View/Channel/MessageCell/MultipleFilesMessage/SBUMultipleFilesMessageCollectionView.swift b/Sources/View/Channel/MessageCell/MultipleFilesMessage/SBUMultipleFilesMessageCollectionView.swift new file mode 100644 index 000000000..fc1c3f165 --- /dev/null +++ b/Sources/View/Channel/MessageCell/MultipleFilesMessage/SBUMultipleFilesMessageCollectionView.swift @@ -0,0 +1,61 @@ +// +// SBUMultipleFilesMessageCollectionView.swift +// SendbirdUIKit +// +// Created by Celine Moon on 2023/09/07. +// Copyright © 2023 Sendbird, Inc. All rights reserved. +// + +import UIKit + +/// CollectionView that shows the files of a multiple files message. +/// - Since: 3.10.0 +open class SBUMultipleFilesMessageCollectionView: UICollectionView, SBUViewLifeCycle { + @SBUThemeWrapper(theme: SBUTheme.messageCellTheme) + public var theme: SBUMessageCellTheme + + public var cornerRadius: CGFloat = 1 + + open func configure( + delegate: UICollectionViewDelegate, + dataSource: UICollectionViewDataSource, + theme: SBUMessageCellTheme? = nil, + cornerRadius: CGFloat + ) { + self.delegate = delegate + self.dataSource = dataSource + if let theme = theme { + self.theme = theme + } + + self.cornerRadius = cornerRadius + + self.setupViews() + self.setupLayouts() + self.setupActions() + self.setupStyles() + + self.reloadData() + } + + open func setupViews() { + self.register( + SBUMultipleFilesMessageCollectionViewCell.self, + forCellWithReuseIdentifier: SBUMultipleFilesMessageCollectionViewCell.sbu_className + ) + } + + open func setupLayouts() { } + + open func setupStyles() { + self.backgroundColor = .clear + self.layer.cornerRadius = self.cornerRadius // Constants.collectionViewCornerRadius + self.layer.masksToBounds = true + } + + open func setupActions() { } + + open func updateLayouts() { } + + open func updateStyles() { } +} diff --git a/Sources/View/Channel/MessageCell/MultipleFilesMessage/SBUMultipleFilesMessageCollectionViewCell.swift b/Sources/View/Channel/MessageCell/MultipleFilesMessage/SBUMultipleFilesMessageCollectionViewCell.swift new file mode 100644 index 000000000..a54cbca72 --- /dev/null +++ b/Sources/View/Channel/MessageCell/MultipleFilesMessage/SBUMultipleFilesMessageCollectionViewCell.swift @@ -0,0 +1,178 @@ +// +// SBUMultipleFilesMessageCollectionViewCell.swift +// SendbirdUIKit +// +// Created by Celine Moon on 2023/09/07. +// Copyright © 2023 Sendbird, Inc. All rights reserved. +// + +import UIKit +import SendbirdChatSDK + +/// CollectionView Cell used in SBUMultipleFilesMessageCollectionView to show the files of a multiple files message. +/// - Since: 3.10.0 +open class SBUMultipleFilesMessageCollectionViewCell: SBUCollectionViewCell { + public var imageView: UIImageView = { + let imageView = UIImageView() + imageView.clipsToBounds = true + imageView.isUserInteractionEnabled = true + imageView.contentMode = .scaleAspectFill + return imageView + }() + + public var overlayView: UIView = { + let view = UIView() + view.isHidden = true + return view + }() + + public var iconImageView: UIImageView = { + let imageView = UIImageView() + imageView.clipsToBounds = true + imageView.contentMode = .center + imageView.isHidden = false + return imageView + }() + + @SBUThemeWrapper(theme: SBUTheme.messageCellTheme) + public var theme: SBUMessageCellTheme + public var imageCornerRadius: CGFloat = 1 + + private(set) var uploadableFileInfo: UploadableFileInfo? + private(set) var uploadedFileInfo: UploadedFileInfo? + + private var loadImageSession: URLSessionTask? { + willSet { + loadImageSession?.cancel() + } + } + + override init(frame: CGRect) { + super.init(frame: frame) + } + + required public init?(coder aDecoder: NSCoder) { + fatalError("init(coder:) has not been implemented") + } + + open func configure( + uploadableFileInfo: UploadableFileInfo? = nil, + uploadedFileInfo: UploadedFileInfo? = nil, + requestId: String, + index: Int, + imageCornerRadius: CGFloat, + showOverlay: Bool + ) { + self.uploadableFileInfo = uploadableFileInfo + self.uploadedFileInfo = uploadedFileInfo + self.imageCornerRadius = imageCornerRadius + + setupViews() + setupStyles() + setupLayouts() + + // Image data setup. + guard let uploadedFileInfo = uploadedFileInfo else { + // Set image with local image + // when message.sendingStatus is pending or failed. + guard let uploadableFileInfo = uploadableFileInfo, + let imageData = uploadableFileInfo.file else { + SBULog.error("Multiple files message has no files") + return + } + + DispatchQueue.main.async { [weak self, uploadableFileInfo] in + guard let self = self else { return } + self.imageView.image = UIImage(data: imageData) + self.overlayView.isHidden = !showOverlay + if let mimeType = uploadableFileInfo.mimeType, mimeType.hasPrefix("image/gif") { + self.setGIFIcon() + } else { + self.iconImageView.isHidden = true + } + } + return + } + + // Set image from server URL + // when message.sendingStatus is succeeded. + let fileURL = uploadedFileInfo.url + self.loadImageSession = self.imageView.loadImage( + urlString: fileURL, + option: .imageToThumbnail, + cacheKey: requestId + "_\(index)" + ) { _ in + DispatchQueue.main.async { [weak self, uploadedFileInfo] in + guard let self = self else { return } + self.overlayView.isHidden = true + if let mimeType = uploadedFileInfo.mimeType, mimeType.hasPrefix("image/gif") { + self.setGIFIcon() + } else { + self.iconImageView.isHidden = true + } + } + } + + self.layoutIfNeeded() + } + + override open func setupViews() { + contentView.addSubview(imageView) + contentView.addSubview(overlayView) + contentView.addSubview(iconImageView) + } + + override open func setupStyles() { + // contentView + self.contentView.layer.cornerRadius = self.imageCornerRadius + self.contentView.layer.masksToBounds = true + + self.overlayView.backgroundColor = theme.multipleFilesMessageFileOverlayColor + } + + override open func setupLayouts() { + // imageView + self.imageView + .sbu_constraint( + equalTo: contentView, + leading: 0, + trailing: 0, + top: 0, + bottom: 0 + ) + + // overlayView + self.overlayView + .sbu_constraint( + equalTo: contentView, + leading: 0, + trailing: 0, + top: 0, + bottom: 0 + ) + + // iconImageView + self.iconImageView + .sbu_constraint(equalTo: contentView, centerX: 0, centerY: 0) + .sbu_constraint(width: 32, height: 32) + } + + override open func prepareForReuse() { + super.prepareForReuse() + self.imageView.image = nil + self.overlayView.isHidden = true + self.iconImageView.isHidden = true + self.loadImageSession?.cancel() + } + + public func setGIFIcon() { + self.iconImageView.isHidden = false + self.iconImageView.image = SBUIconSetType.iconGif.image( + with: theme.fileImageIconColor, + to: SBUIconSetType.Metric.iconGifPlay + ) + + self.iconImageView.backgroundColor = theme.fileImageBackgroundColor + self.iconImageView.layer.cornerRadius = self.iconImageView.frame.height / 2 + } +} diff --git a/Sources/View/Channel/MessageCell/OpenChannel/SBUOpenChannelAdminMessageCell.swift b/Sources/View/Channel/MessageCell/OpenChannel/SBUOpenChannelAdminMessageCell.swift index 2773d8212..9638b1fe1 100644 --- a/Sources/View/Channel/MessageCell/OpenChannel/SBUOpenChannelAdminMessageCell.swift +++ b/Sources/View/Channel/MessageCell/OpenChannel/SBUOpenChannelAdminMessageCell.swift @@ -43,7 +43,7 @@ open class SBUOpenChannelAdminMessageCell: SBUOpenChannelBaseMessageCell { top: 0, bottom: 0 ) - self.baseView.sbu_constraint(height: 40) + self.baseView.sbu_constraint(height: 40, priority: .defaultHigh) self.messageLabel.sbu_constraint( equalTo: self.baseView, diff --git a/Sources/View/Channel/MessageCell/OpenChannel/SBUOpenChannelBaseMessageCell.swift b/Sources/View/Channel/MessageCell/OpenChannel/SBUOpenChannelBaseMessageCell.swift index da6da25d5..5acf502ec 100644 --- a/Sources/View/Channel/MessageCell/OpenChannel/SBUOpenChannelBaseMessageCell.swift +++ b/Sources/View/Channel/MessageCell/OpenChannel/SBUOpenChannelBaseMessageCell.swift @@ -64,11 +64,11 @@ open class SBUOpenChannelBaseMessageCell: SBUTableViewCell { /// This function handles the initialization of autolayouts. open override func setupLayouts() { - super.setupLayouts() - self.stackView - .setConstraint(from: self.contentView, left: 0, bottom: 0) - .setConstraint(from: self.contentView, right: 0) + .sbu_constraint(equalTo: self.contentView, left: 0, bottom: 0) + .sbu_constraint(equalTo: self.contentView, right: 0) + + super.setupLayouts() self.updateTopAnchorConstraint() } diff --git a/Sources/View/Channel/MessageCell/OpenChannel/SBUOpenChannelContentBaseMessageCell.swift b/Sources/View/Channel/MessageCell/OpenChannel/SBUOpenChannelContentBaseMessageCell.swift index 0958d2e70..66cd3f735 100644 --- a/Sources/View/Channel/MessageCell/OpenChannel/SBUOpenChannelContentBaseMessageCell.swift +++ b/Sources/View/Channel/MessageCell/OpenChannel/SBUOpenChannelContentBaseMessageCell.swift @@ -24,6 +24,7 @@ open class SBUOpenChannelContentBaseMessageCell: SBUOpenChannelBaseMessageCell { let profileView = SBUMessageProfileView() return profileView }() + public lazy var profileBaseView = UIView() public lazy var contentsStackView: UIStackView = { let stackView = UIStackView() stackView.axis = .vertical @@ -77,39 +78,42 @@ open class SBUOpenChannelContentBaseMessageCell: SBUOpenChannelBaseMessageCell { self.profileView.isHidden = true self.userNameView.isHidden = true self.messageTimeLabel.isHidden = true - - self.infoStackView.addArrangedSubview(self.userNameView) - self.infoStackView.addArrangedSubview(self.messageTimeLabel) - self.infoStackView.addArrangedSubview(UIView()) - - self.contentsStackView.addArrangedSubview(self.infoStackView) - self.contentsStackView.addArrangedSubview(self.mainContainerView) - self.contentsStackView.addArrangedSubview(self.stateImageView) - let profileStackView = UIStackView() - profileStackView.axis = .vertical - profileStackView.addArrangedSubview(self.profileView) - profileStackView.addArrangedSubview(UIView()) + self.profileBaseView.addSubview(self.profileView) - self.baseStackView.addArrangedSubview(profileStackView) - self.baseStackView.addArrangedSubview(self.contentsStackView) - self.baseStackView.addArrangedSubview(UIView()) + self.baseStackView.setHStack([ + self.profileBaseView, + self.contentsStackView.setVStack([ + self.infoStackView.setHStack([ + self.userNameView, + self.messageTimeLabel, + UIView() + ]), + self.mainContainerView, + self.stateImageView + ]), + UIView() + ]) self.messageContentView.addSubview(self.baseStackView) } open override func setupLayouts() { - super.setupLayouts() + self.messageTimeLabel.setContentCompressionResistancePriority(UILayoutPriority(751), for: .horizontal) - self.stateImageView.setConstraint( + self.profileView + .sbu_constraint(equalTo: self.profileBaseView, leading: 0, trailing: 0, top: 0) + .sbu_constraint(width: 26, height: 26) + + self.stateImageView.sbu_constraint( width: 12, height: 12 ) self.baseStackView - .setConstraint(from: self.messageContentView, leading: 12, trailing: 12, top: 0, bottom: 0) + .sbu_constraint(equalTo: self.messageContentView, leading: 12, trailing: 12, top: 0, bottom: 0) - self.messageTimeLabel.setContentCompressionResistancePriority(UILayoutPriority(751), for: .horizontal) + super.setupLayouts() } open override func setupActions() { diff --git a/Sources/View/Channel/MessageCell/OpenChannel/SBUOpenChannelFileMessageCell.swift b/Sources/View/Channel/MessageCell/OpenChannel/SBUOpenChannelFileMessageCell.swift index 33afd2aae..0b59f2b46 100644 --- a/Sources/View/Channel/MessageCell/OpenChannel/SBUOpenChannelFileMessageCell.swift +++ b/Sources/View/Channel/MessageCell/OpenChannel/SBUOpenChannelFileMessageCell.swift @@ -22,7 +22,7 @@ open class SBUOpenChannelFileMessageCell: SBUOpenChannelContentBaseMessageCell { return fileView }() - private var ratioConstraint: NSLayoutConstraint! + private var ratioConstraint: NSLayoutConstraint? // MARK: - View Lifecycle open override func setupViews() { @@ -34,18 +34,18 @@ open class SBUOpenChannelFileMessageCell: SBUOpenChannelContentBaseMessageCell { } open override func setupLayouts() { - super.setupLayouts() - self.mainContainerView.sbu_constraint_lessThan( width: SBUGlobals.messageCellConfiguration.openChannel.thumbnailSize.width ) - + + self.ratioConstraint?.isActive = false self.ratioConstraint = self.mainContainerView.heightAnchor.constraint( equalTo: self.mainContainerView.widthAnchor, multiplier: 0.65 ) + self.ratioConstraint?.isActive = true - self.ratioConstraint.isActive = true + super.setupLayouts() } open override func setupActions() { @@ -76,6 +76,7 @@ open class SBUOpenChannelFileMessageCell: SBUOpenChannelContentBaseMessageCell { switch fileType { case .image, .video: + self.ratioConstraint?.isActive = false if !(self.baseFileContentView is SBUOpenChannelImageContentView) { self.baseFileContentView.removeFromSuperview() self.baseFileContentView = SBUOpenChannelImageContentView() @@ -85,7 +86,7 @@ open class SBUOpenChannelFileMessageCell: SBUOpenChannelContentBaseMessageCell { mainContainerView.insertArrangedSubview(self.baseFileContentView, at: 0) } } - self.ratioConstraint.isActive = true + self.ratioConstraint?.isActive = true self.baseFileContentView.configure(message: message, position: .left) case .audio, .pdf, .etc: @@ -98,7 +99,7 @@ open class SBUOpenChannelFileMessageCell: SBUOpenChannelContentBaseMessageCell { mainContainerView.insertArrangedSubview(self.baseFileContentView, at: 0) } } - self.ratioConstraint.isActive = false + self.ratioConstraint?.isActive = false if let commonContentView = self.baseFileContentView as? SBUCommonContentView { commonContentView.configure( message: message, diff --git a/Sources/View/Channel/MessageCell/OpenChannel/SBUOpenChannelUserMessageCell.swift b/Sources/View/Channel/MessageCell/OpenChannel/SBUOpenChannelUserMessageCell.swift index 54286fb82..dacf37168 100644 --- a/Sources/View/Channel/MessageCell/OpenChannel/SBUOpenChannelUserMessageCell.swift +++ b/Sources/View/Channel/MessageCell/OpenChannel/SBUOpenChannelUserMessageCell.swift @@ -34,7 +34,7 @@ open class SBUOpenChannelUserMessageCell: SBUOpenChannelContentBaseMessageCell { }() /// As a default, the value is the constraint of `messageTextView.trailingAnchor`and it's activated when the message has no `ogMetaData`. - public private(set) var messageTypeConstraint: NSLayoutConstraint! + public private(set) var messageTypeConstraint: NSLayoutConstraint? /// Activated when the message has `ogMetaData`. public private(set) var webTypeConstraints: [NSLayoutConstraint] = [] @@ -51,21 +51,22 @@ open class SBUOpenChannelUserMessageCell: SBUOpenChannelContentBaseMessageCell { } open override func setupLayouts() { - super.setupLayouts() - + self.messageTypeConstraint?.isActive = false self.messageTypeConstraint = self.messageTextView.trailingAnchor.constraint( lessThanOrEqualTo: self.trailingAnchor, constant: -12 ) - self.messageTypeConstraint.isActive = true + self.messageTypeConstraint?.isActive = true let additionalContainerConstraint = self.additionContainerView.widthAnchor.constraint( equalToConstant: 311 ) - additionalContainerConstraint.priority = .init(rawValue: 750) + additionalContainerConstraint.priority = .defaultHigh self.webTypeConstraints = [ self.additionContainerView.widthAnchor.constraint(lessThanOrEqualToConstant: 311), additionalContainerConstraint ] + + super.setupLayouts() } open override func setupActions() { @@ -131,13 +132,14 @@ open class SBUOpenChannelUserMessageCell: SBUOpenChannelContentBaseMessageCell { self.webView.isHidden = false let model = SBUMessageWebViewModel(metaData: ogMetaData, isOverlay: isOverlay, isOpenChannel: true) self.webView.configure(model: model) - self.messageTypeConstraint.isActive = false + self.messageTypeConstraint?.isActive = false + (self.messageTextView as? SBUUserMessageTextView)?.widthConstraint?.isActive = false self.webTypeConstraints.forEach { $0.isActive = true } self.isWebType = true } else { self.additionContainerView.removeArrangedSubview(self.webView) self.webView.isHidden = true - self.messageTypeConstraint.isActive = true + self.messageTypeConstraint?.isActive = true self.webTypeConstraints.forEach { $0.isActive = false } self.isWebType = false } diff --git a/Sources/View/Channel/MessageCell/Replies/MessageView/QuotedFileCommonContentView.swift b/Sources/View/Channel/MessageCell/Replies/MessageView/QuotedFileCommonContentView.swift index 19a90b446..01dfc6bea 100644 --- a/Sources/View/Channel/MessageCell/Replies/MessageView/QuotedFileCommonContentView.swift +++ b/Sources/View/Channel/MessageCell/Replies/MessageView/QuotedFileCommonContentView.swift @@ -53,13 +53,11 @@ open class QuotedFileCommonContentView: SBUView { open override func setupLayouts() { super.setupLayouts() - self.sbu_constraint(height: 34) - self.stackView - .setConstraint(from: self, left: 12, right: 12, top: 6, bottom: 12) + .sbu_constraint(equalTo: self, left: 12, right: 12, top: 6, bottom: 12) self.fileImageView - .setConstraint(width: 16, height: 16) + .sbu_constraint(width: 16, height: 16) } open override func setupStyles() { diff --git a/Sources/View/Channel/MessageCell/Replies/MessageView/QuotedFileImageContentView.swift b/Sources/View/Channel/MessageCell/Replies/MessageView/QuotedFileImageContentView.swift index fa93ec8bb..9323cbd73 100644 --- a/Sources/View/Channel/MessageCell/Replies/MessageView/QuotedFileImageContentView.swift +++ b/Sources/View/Channel/MessageCell/Replies/MessageView/QuotedFileImageContentView.swift @@ -36,8 +36,8 @@ open class QuotedFileImageContentView: SBUView { return imageView }() - var widthConstraint: NSLayoutConstraint! - var heightConstraint: NSLayoutConstraint! + var widthConstraint: NSLayoutConstraint? + var heightConstraint: NSLayoutConstraint? // MARK: - Properties (Private) private var loadImageSession: URLSessionTask? { @@ -58,8 +58,8 @@ open class QuotedFileImageContentView: SBUView { super.setupLayouts() self.imageView - .setConstraint( - from: self, + .sbu_constraint( + equalTo: self, left: 0, right: 0, top: 0, bottom: 0, priority: .defaultLow ) @@ -67,12 +67,15 @@ open class QuotedFileImageContentView: SBUView { self.setupSizeContraint() self.iconImageView - .setConstraint(from: self, centerX: true, centerY: true) - .setConstraint(width: 48, height: 48) + .sbu_constraint(equalTo: self, centerX: 0, centerY: 0) + .sbu_constraint(width: 48, height: 48) .layoutIfNeeded() } open func setupSizeContraint() { + self.widthConstraint?.isActive = false + self.heightConstraint?.isActive = false + self.widthConstraint = self.imageView.widthAnchor.constraint( equalToConstant: SBUConstant.quotedMessageThumbnailSize.width ) @@ -80,10 +83,8 @@ open class QuotedFileImageContentView: SBUView { equalToConstant: SBUConstant.quotedMessageThumbnailSize.height ) - NSLayoutConstraint.activate([ - self.widthConstraint, - self.heightConstraint - ]) + self.widthConstraint?.isActive = true + self.heightConstraint?.isActive = true } open override func setupStyles() { @@ -181,11 +182,11 @@ open class QuotedFileImageContentView: SBUView { } open func resizeImageView(by size: CGSize) { - self.widthConstraint.constant = min( + self.widthConstraint?.constant = min( size.width, SBUConstant.quotedMessageThumbnailSize.width ) - self.heightConstraint.constant = min( + self.heightConstraint?.constant = min( size.height, SBUConstant.quotedMessageThumbnailSize.height ) diff --git a/Sources/View/Channel/MessageCell/Replies/MessageView/SBUQuotedBaseMessageView.swift b/Sources/View/Channel/MessageCell/Replies/MessageView/SBUQuotedBaseMessageView.swift index 70b3028b7..ef8259843 100644 --- a/Sources/View/Channel/MessageCell/Replies/MessageView/SBUQuotedBaseMessageView.swift +++ b/Sources/View/Channel/MessageCell/Replies/MessageView/SBUQuotedBaseMessageView.swift @@ -13,6 +13,7 @@ enum QuotedMessageType { case none case userMessage case fileMessage(_ name: String, _ type: String, _ urlString: String) + case multipleFilesMessage(_ name: String, _ type: String, _ urlString: String) } @objc @@ -215,16 +216,16 @@ open class SBUQuotedBaseMessageView: SBUView, SBUQuotedMessageViewProtocol { open override func setupLayouts() { self.contentStackView - .setConstraint(from: self, leading: 0, trailing: 0, top: 0, bottom: 0) + .sbu_constraint(equalTo: self, leading: 0, trailing: 0, top: 0, bottom: 0) self.repliedIconView - .setConstraint(width: 12, height: 12) + .sbu_constraint(width: 12, height: 12) self.repliedToLeadingPadding - .setConstraint(width: self.repliedToPaddingWidth) + .sbu_constraint(width: self.repliedToPaddingWidth) self.repliedToTrailingPadding - .setConstraint(width: self.repliedToPaddingWidth) + .sbu_constraint(width: self.repliedToPaddingWidth) } open override func setupStyles() { diff --git a/Sources/View/Channel/MessageCell/Replies/MessageView/SBUQuotedUserMessageView.swift b/Sources/View/Channel/MessageCell/Replies/MessageView/SBUQuotedUserMessageView.swift index 57ccdccee..3ccb21f07 100644 --- a/Sources/View/Channel/MessageCell/Replies/MessageView/SBUQuotedUserMessageView.swift +++ b/Sources/View/Channel/MessageCell/Replies/MessageView/SBUQuotedUserMessageView.swift @@ -18,6 +18,8 @@ open class SBUQuotedUserMessageView: SBUQuotedBaseMessageView { return label }() + var quotedMessageLabelConstraintWidth: NSLayoutConstraint? + open override func setupViews() { super.setupViews() @@ -32,14 +34,20 @@ open class SBUQuotedUserMessageView: SBUQuotedBaseMessageView { open override func setupLayouts() { self.translatesAutoresizingMaskIntoConstraints = false - NSLayoutConstraint.activate([ - self.quotedMessageLabel.widthAnchor.constraint(lessThanOrEqualToConstant: SBUConstant.messageCellMaxWidth) - ]) - self.quotedMessageLabel - .setConstraint( - from: self.mainContainerView, - leading: 12, trailing: -12, top: 6, bottom: 12 - ) + + self.quotedMessageLabelConstraintWidth?.isActive = false + self.quotedMessageLabelConstraintWidth = self.quotedMessageLabel.widthAnchor.constraint( + lessThanOrEqualToConstant: SBUConstant.messageCellMaxWidth + ) + self.quotedMessageLabelConstraintWidth?.isActive = true + + self.quotedMessageLabel.sbu_constraint( + equalTo: self.mainContainerView, + leading: 12, + trailing: -12, + top: 6, + bottom: 12 + ) super.setupLayouts() } diff --git a/Sources/View/Channel/MessageCell/Replies/MessageView/SBUThreadInfoView.swift b/Sources/View/Channel/MessageCell/Replies/MessageView/SBUThreadInfoView.swift index 45d7c5247..db2aa6ffa 100644 --- a/Sources/View/Channel/MessageCell/Replies/MessageView/SBUThreadInfoView.swift +++ b/Sources/View/Channel/MessageCell/Replies/MessageView/SBUThreadInfoView.swift @@ -110,12 +110,13 @@ open class SBUThreadInfoView: SBUView, SBUThreadInfoViewProtocol { } open override func setupLayouts() { - super.setupLayouts() let margin: CGFloat = 12.0 self.mainContainerView .sbu_constraint(equalTo: self, leading: margin, top: 0, bottom: 0, centerX: 0) .sbu_constraint(height: userImageSize) + + super.setupLayouts() } open override func setupActions() { diff --git a/Sources/View/Channel/MessageCell/Replies/ViewParams/SBUQuotedBaseMessageViewParams.swift b/Sources/View/Channel/MessageCell/Replies/ViewParams/SBUQuotedBaseMessageViewParams.swift index 8703af498..741340cd6 100644 --- a/Sources/View/Channel/MessageCell/Replies/ViewParams/SBUQuotedBaseMessageViewParams.swift +++ b/Sources/View/Channel/MessageCell/Replies/ViewParams/SBUQuotedBaseMessageViewParams.swift @@ -40,6 +40,7 @@ public class SBUQuotedBaseMessageViewParams { public var urlString: String? { switch messageType { case .fileMessage(_, _, let urlString): return urlString + case .multipleFilesMessage(_, _, let urlString): return urlString default: return nil } } @@ -49,6 +50,7 @@ public class SBUQuotedBaseMessageViewParams { public var fileName: String? { switch messageType { case .fileMessage(let name, _, _): return name + case .multipleFilesMessage(let name, _, _): return name default: return nil } } @@ -58,6 +60,7 @@ public class SBUQuotedBaseMessageViewParams { public var fileType: String? { switch messageType { case .fileMessage(_, let type, _): return type + case .multipleFilesMessage(_, let type, _): return type default: return nil } } @@ -66,8 +69,8 @@ public class SBUQuotedBaseMessageViewParams { /// - Since: 2.2.0 public var isFileType: Bool { switch messageType { - case .fileMessage: return true - default: return false + case .fileMessage, .multipleFilesMessage: return true + default: return false } } @@ -142,6 +145,24 @@ public class SBUQuotedBaseMessageViewParams { let type = fileMessage.type let name = fileMessage.name self.messageType = .fileMessage(name, type, urlString) + } else if let multipleFilesMessage = message.parentMessage as? MultipleFilesMessage { + // MFM should always have files + // because this MFM was already uploaded before, + // and the current new message is simply replying to it. + guard let firstUploadedFileInfo = multipleFilesMessage.files.first, + let fileType = firstUploadedFileInfo.mimeType, + let fileName = firstUploadedFileInfo.fileName else { + SBULog.error("Can't read multiple files message.") + self.text = SBUStringSet.Message_Unknown_Description + self.messagePosition = position + self.useQuotedMessage = useQuotedMessage + self.requestId = message.requestId + self.messageType = .none + return + } + + let urlString = firstUploadedFileInfo.url + self.messageType = .multipleFilesMessage(fileName, fileType, urlString) } else { self.messageType = .userMessage } diff --git a/Sources/View/Channel/MessageCell/SBUAdminMessageCell.swift b/Sources/View/Channel/MessageCell/SBUAdminMessageCell.swift index 5c124dbc9..3f4b2666c 100644 --- a/Sources/View/Channel/MessageCell/SBUAdminMessageCell.swift +++ b/Sources/View/Channel/MessageCell/SBUAdminMessageCell.swift @@ -24,8 +24,8 @@ open class SBUAdminMessageCell: SBUBaseMessageCell { open override func setupLayouts() { super.setupLayouts() - self.messageLabel.setConstraint( - from: self.messageContentView, + self.messageLabel.sbu_constraint( + equalTo: self.messageContentView, left: 28, right: 27, top: 0, diff --git a/Sources/View/Channel/MessageCell/SBUBaseMessageCell.swift b/Sources/View/Channel/MessageCell/SBUBaseMessageCell.swift index e4c7cb82a..450f34a54 100644 --- a/Sources/View/Channel/MessageCell/SBUBaseMessageCell.swift +++ b/Sources/View/Channel/MessageCell/SBUBaseMessageCell.swift @@ -63,11 +63,11 @@ open class SBUBaseMessageCell: SBUTableViewCell, SBUMessageCellProtocol { // | messageContentView | // + ------------------ + - self.contentView.addSubview(self.stackView) self.stackView.setVStack([ self.dateView, self.messageContentView ]) + self.contentView.addSubview(self.stackView) } open override func setupActions() { @@ -76,8 +76,8 @@ open class SBUBaseMessageCell: SBUTableViewCell, SBUMessageCellProtocol { open override func setupLayouts() { self.stackView - .setConstraint(from: self.contentView, left: 0, bottom: 0) - .setConstraint(from: self.contentView, right: 0, priority: .defaultHigh) + .sbu_constraint(equalTo: self.contentView, left: 0, bottom: 0) + .sbu_constraint(equalTo: self.contentView, right: 0, priority: .defaultHigh) self.updateTopAnchorConstraint() } @@ -101,6 +101,7 @@ open class SBUBaseMessageCell: SBUTableViewCell, SBUMessageCellProtocol { equalTo: self.contentView.topAnchor, constant: constant ) + self.stackViewTopConstraint?.priority = .defaultHigh self.stackViewTopConstraint?.isActive = true } diff --git a/Sources/View/Channel/MessageCell/SBUContentBaseMessageCell.swift b/Sources/View/Channel/MessageCell/SBUContentBaseMessageCell.swift index d1a543672..690ea78a7 100644 --- a/Sources/View/Channel/MessageCell/SBUContentBaseMessageCell.swift +++ b/Sources/View/Channel/MessageCell/SBUContentBaseMessageCell.swift @@ -108,7 +108,7 @@ open class SBUContentBaseMessageCell: SBUBaseMessageCell { }() /// A ``SBUSelectableStackView`` that represents a message bubble. - public lazy var mainContainerView: SBUSelectableStackView = { + open lazy var mainContainerView: SBUSelectableStackView = { let mainView = SBUSelectableStackView() mainView.layer.cornerRadius = 16 mainView.layer.borderColor = UIColor.clear.cgColor @@ -180,18 +180,15 @@ open class SBUContentBaseMessageCell: SBUBaseMessageCell { } open override func setupLayouts() { - super.setupLayouts() - - NSLayoutConstraint.activate([ - self.profileContentSpacing.widthAnchor.constraint(equalToConstant: 4), - self.profileContentSpacing.heightAnchor.constraint(equalToConstant: 4) - ]) + self.profileContentSpacing.sbu_constraint(width: 4, height: 4) + self.threadInfoSpacing.sbu_constraint(width: 4 + 20 + 4) + self.userNameStackView - .setConstraint(from: self.messageContentView, left: 12, right: 12, bottom: 0) - .setConstraint(from: self.messageContentView, top: 0, priority: .defaultLow) + .sbu_constraint(equalTo: self.messageContentView, left: 12, right: 12, bottom: 0) + .sbu_constraint(equalTo: self.messageContentView, top: 0, priority: .defaultLow) - self.threadInfoSpacing.sbu_constraint(width: 4 + 20 + 4) + super.setupLayouts() } open override func setupActions() { @@ -225,7 +222,6 @@ open class SBUContentBaseMessageCell: SBUBaseMessageCell { open override func setupStyles() { super.setupStyles() - self.mainContainerView.leftBackgroundColor = self.theme.leftBackgroundColor self.mainContainerView.leftPressedBackgroundColor = self.theme.leftPressedBackgroundColor self.mainContainerView.rightBackgroundColor = self.theme.rightBackgroundColor @@ -239,6 +235,7 @@ open class SBUContentBaseMessageCell: SBUBaseMessageCell { } if let profileView = self.profileView as? SBUMessageProfileView { + profileView.theme = self.theme profileView.setupStyles() } @@ -303,7 +300,7 @@ open class SBUContentBaseMessageCell: SBUBaseMessageCell { (configuration.groupPosition == .top || configuration.groupPosition == .middle) ) - if configuration.messagePosition != .right, usingProfileView { + if configuration.messagePosition != .right { if let profileView = self.profileView as? SBUMessageProfileView { let urlString = message.sender?.profileURL ?? "" profileView.configure(urlString: urlString) @@ -395,7 +392,7 @@ open class SBUContentBaseMessageCell: SBUBaseMessageCell { switch quotedMessage { case is UserMessage: userMessageBlock() - case is FileMessage: + case is FileMessage, is MultipleFilesMessage: if isMessageUnavailable { userMessageBlock() } diff --git a/Sources/View/Channel/MessageInput/SBUMessageInputView.swift b/Sources/View/Channel/MessageInput/SBUMessageInputView.swift index 57ff77106..2270fde7a 100644 --- a/Sources/View/Channel/MessageInput/SBUMessageInputView.swift +++ b/Sources/View/Channel/MessageInput/SBUMessageInputView.swift @@ -595,45 +595,18 @@ open class SBUMessageInputView: SBUView, SBUActionSheetDelegate, UITextViewDeleg /// This function handles the initialization of autolayouts. open override func setupLayouts() { - self.baseStackView - .sbu_constraint( - equalTo: self, - leading: 0, - trailing: 0, - top: 0, - bottom: 0 - ) - - self.contentVStackView.sbu_constraint_equalTo( - leadingAnchor: self.safeAreaLayoutGuide.leadingAnchor, - leading: 0 - ) - self.contentVStackView.sbu_constraint_equalTo( - topAnchor: self.safeAreaLayoutGuide.topAnchor, - top: layoutInsets.top - ) - self.contentVStackView.sbu_constraint_equalTo( - trailingAnchor: self.safeAreaLayoutGuide.trailingAnchor, - trailing: 0 - ) - self.contentVStackView.sbu_constraint_equalTo( - bottomAnchor: self.safeAreaLayoutGuide.bottomAnchor, - bottom: layoutInsets.bottom - ) - - // Subviews in ContentVStackView - self.divider - .setConstraint(height: 1) - - self.quoteMessageView? - .setConstraint(height: 56) + // Subviews of EditView + self.editStackView + .sbu_constraint(equalTo: self.editView, leading: 0, trailing: 0, top: 0, bottom: 0) - // Subviews in ContentHStackView - self.leadingPaddingView - .setConstraint(width: self.leadingSpacing) + self.cancelButton? + .sbu_constraint(width: 75) - self.trailingPaddingView - .setConstraint(width: self.trailingSpacing) + self.saveButton? + .sbu_constraint(width: 75) + + self.editView + .sbu_constraint(height: 32) // Subviews in InputVStackView self.inputViewTopSpacer @@ -642,12 +615,9 @@ open class SBUMessageInputView: SBUView, SBUActionSheetDelegate, UITextViewDeleg self.inputViewBottomSpacer .sbu_constraint(height: 0) - self.inputHStackView - .sbu_constraint(width: self.baseStackView.frame.width) - // Subviews in InputHStackView self.addButton? - .setConstraint(width: 32, height: 38) + .sbu_constraint(width: 32, height: 38) // leading/trailing spacing for textview self.textViewLeadingPaddingView @@ -672,18 +642,47 @@ open class SBUMessageInputView: SBUView, SBUActionSheetDelegate, UITextViewDeleg self.setupTextViewHeight(textView: textView) } - // Subviews of EditView - self.editView - .sbu_constraint(height: 32) + // Subviews in ContentVStackView + self.divider + .sbu_constraint(height: 1) - self.cancelButton? - .sbu_constraint(width: 75) + self.quoteMessageView? + .sbu_constraint(height: 56) - self.saveButton? - .sbu_constraint(width: 75) + // Subviews in ContentHStackView + self.leadingPaddingView + .sbu_constraint(width: self.leadingSpacing) - self.editStackView - .sbu_constraint(equalTo: self.editView, leading: 0, trailing: 0, top: 0, bottom: 0) + self.trailingPaddingView + .sbu_constraint(width: self.trailingSpacing) + + // ContentVStackView + self.contentVStackView.sbu_constraint_equalTo( + leadingAnchor: self.safeAreaLayoutGuide.leadingAnchor, + leading: 0 + ) + self.contentVStackView.sbu_constraint_equalTo( + topAnchor: self.safeAreaLayoutGuide.topAnchor, + top: layoutInsets.top + ) + self.contentVStackView.sbu_constraint_equalTo( + trailingAnchor: self.safeAreaLayoutGuide.trailingAnchor, + trailing: 0 + ) + self.contentVStackView.sbu_constraint_equalTo( + bottomAnchor: self.safeAreaLayoutGuide.bottomAnchor, + bottom: layoutInsets.bottom + ) + + // baseStackView + self.baseStackView + .sbu_constraint( + equalTo: self, + leading: 0, + trailing: 0, + top: 0, + bottom: 0 + ) } /// This function handles the initialization of styles. @@ -883,6 +882,7 @@ open class SBUMessageInputView: SBUView, SBUActionSheetDelegate, UITextViewDeleg /// - Parameter textView: Your input text view. /// - Since: 2.1.1 public func setupTextViewHeight(textView: UIView) { + self.textViewHeightConstraint?.isActive = false self.textViewHeightConstraint = textView.heightAnchor.constraint(equalToConstant: self.textViewMinHeight) self.textViewHeightConstraint?.isActive = true } @@ -925,9 +925,9 @@ open class SBUMessageInputView: SBUView, SBUActionSheetDelegate, UITextViewDeleg @objc open func onTapAddButton(_ sender: Any) { self.endEditing(true) - let itmes = self.generateResourceItems() + let items = self.generateResourceItems() SBUActionSheet.show( - items: itmes, + items: items, cancelItem: self.cancelItem, oneTimetheme: isOverlay ? SBUComponentTheme.dark : nil, delegate: self diff --git a/Sources/View/Channel/MessageInput/SBUQuoteMessageInputView.swift b/Sources/View/Channel/MessageInput/SBUQuoteMessageInputView.swift index bbc916921..251c4b056 100644 --- a/Sources/View/Channel/MessageInput/SBUQuoteMessageInputView.swift +++ b/Sources/View/Channel/MessageInput/SBUQuoteMessageInputView.swift @@ -153,26 +153,27 @@ open class SBUQuoteMessageInputView: SBUView, SBUQuoteMessageInputViewProtocol { open override func setupLayouts() { self.leadingSpacer - .setConstraint(width: 18, height: 0) + .sbu_constraint(width: 18) self.trailingSpacer - .setConstraint(width: 12, height: 0) + .sbu_constraint(width: 12) self.bottomSpacer - .setConstraint(width: 0, height: 0) + .sbu_constraint(height: 0) self.topSpacer - .setConstraint(width: 0, height: 0) - - self.paddableVStackView - .setConstraint(from: self, leading: 0, trailing: 0, top: 0, bottom: 0) + .sbu_constraint(height: 0) self.fileMessagePreview - .setConstraint(width: 32, height: 32) + .sbu_constraint(width: 32, height: 32) self.closeReplyButton - .setConstraint(width: 32, height: 32) + .sbu_constraint(width: 32, height: 32) + self.paddableVStackView + .sbu_constraint( + equalTo: self, leading: 0, trailing: 0, top: 0, bottom: 0 + ) } open override func setupActions() { @@ -199,8 +200,12 @@ open class SBUQuoteMessageInputView: SBUView, SBUQuoteMessageInputViewProtocol { } open func configure(with configuration: SBUQuoteMessageInputViewParams) { - self.fileMessagePreview.isHidden = !configuration.isFileType - if configuration.messageFileType == .voice { + self.fileMessagePreview.isHidden = !(configuration.isFileType || configuration.isMultipleFilesMessage) + if configuration.isMultipleFilesMessage { + if let mfm = configuration.message as? MultipleFilesMessage { + self.userMessagePreview.text = "\(mfm.files.count) photos" + } + } else if configuration.messageFileType == .voice { self.fileMessagePreview.isHidden = true self.userMessagePreview.text = SBUStringSet.VoiceMessage.Preview.quotedMessage } else { @@ -214,6 +219,30 @@ open class SBUQuoteMessageInputView: SBUView, SBUQuoteMessageInputViewProtocol { } func setupFilePreview(with configuration: SBUQuoteMessageInputViewParams) { + if configuration.isFileType { + setupFilePreviewForFileMessage(with: configuration) + } else if configuration.isMultipleFilesMessage { + setupFilePreviewForMultipleFilesMessage(with: configuration) + } + } + + func setupFilePreviewForMultipleFilesMessage(with configuration: SBUQuoteMessageInputViewParams) { + guard let multipleFilesMessage = configuration.message as? MultipleFilesMessage else { return } + guard let firstUploadedFileInfo = multipleFilesMessage.files.first else { return } + + let thumbnailSize = SBUIconSetType.Metric.defaultIconSizeLarge + let cacheKey = multipleFilesMessage.requestId + "_0" // Previe thumbnail for MultipleFilesMessage is always its first image. + self.fileMessagePreview.contentMode = .scaleAspectFill + self.fileMessagePreview.loadImage( + urlString: firstUploadedFileInfo.url, + option: UIImageView.ImageOption.imageToThumbnail, + thumbnailSize: thumbnailSize, + cacheKey: cacheKey, + subPath: multipleFilesMessage.channelURL + ) + } + + func setupFilePreviewForFileMessage(with configuration: SBUQuoteMessageInputViewParams) { guard let fileMessage = configuration.message as? FileMessage else { return } guard configuration.isFileType, let name = configuration.fileName, @@ -276,9 +305,9 @@ open class SBUQuoteMessageInputView: SBUView, SBUQuoteMessageInputViewProtocol { case .vertical: self.paddableVStackView.spacing = spacing case .leading: - self.leadingSpacer.setConstraint(width: spacing) + self.leadingSpacer.sbu_constraint(width: spacing) case .trailing: - self.trailingSpacer.setConstraint(width: spacing) + self.trailingSpacer.sbu_constraint(width: spacing) } self.updateConstraintsIfNeeded() } diff --git a/Sources/View/Channel/MessageInput/SBUSuggestedMentionList.swift b/Sources/View/Channel/MessageInput/SBUSuggestedMentionList.swift index d6ab517bd..76f99954f 100644 --- a/Sources/View/Channel/MessageInput/SBUSuggestedMentionList.swift +++ b/Sources/View/Channel/MessageInput/SBUSuggestedMentionList.swift @@ -19,7 +19,7 @@ open class SBUSuggestedMentionList: SBUView, UITableViewDelegate, UITableViewDat public var userCell: UITableViewCell? public var limitGuideCell: UITableViewCell? - public var heightConstraint: NSLayoutConstraint! + public var heightConstraint: NSLayoutConstraint? // MARK: - Models public private(set) var filteredUsers: [SBUUser] = [] diff --git a/Sources/View/Channel/MessageInput/ViewParams/SBUQuoteMessageInputViewParams.swift b/Sources/View/Channel/MessageInput/ViewParams/SBUQuoteMessageInputViewParams.swift index cd7273387..724a10720 100644 --- a/Sources/View/Channel/MessageInput/ViewParams/SBUQuoteMessageInputViewParams.swift +++ b/Sources/View/Channel/MessageInput/ViewParams/SBUQuoteMessageInputViewParams.swift @@ -27,6 +27,10 @@ public class SBUQuoteMessageInputViewParams { /// - Since: 2.2.0 public var isFileType: Bool { message is FileMessage } + /// Returns `true` if `message` type is `MultipleFilesMessage`. + /// - Since: 3.10.0 + public var isMultipleFilesMessage: Bool { message is MultipleFilesMessage} + /// The file type of `message`. /// - Since: 2.2.0 public var fileType: String? { (message as? FileMessage)?.type } diff --git a/Sources/View/Channel/NewMessageInfo/SBUNewMessageInfo.swift b/Sources/View/Channel/NewMessageInfo/SBUNewMessageInfo.swift index ed2642f07..fbaaf9ae2 100644 --- a/Sources/View/Channel/NewMessageInfo/SBUNewMessageInfo.swift +++ b/Sources/View/Channel/NewMessageInfo/SBUNewMessageInfo.swift @@ -26,6 +26,9 @@ open class SBUNewMessageInfo: SBUView { // MARK: - Properties (Private) let DefaultInfoButtonTag = 10001 var type: NewMessageInfoItemType = .tooltip + + var witdhConstraint: NSLayoutConstraint? + var heightConstraint: NSLayoutConstraint? @SBUThemeWrapper(theme: SBUTheme.componentTheme) var theme: SBUComponentTheme @@ -67,22 +70,19 @@ open class SBUNewMessageInfo: SBUView { var infoItemSize = SBUConstant.newMessageInfoSize if self.type == .button { infoItemSize = SBUConstant.newMessageButtonSize - self.widthAnchor.constraint(equalToConstant: infoItemSize.width).isActive = true + self.witdhConstraint?.isActive = false + self.witdhConstraint = self.widthAnchor.constraint(equalToConstant: infoItemSize.width) + self.witdhConstraint?.isActive = true } /// Note: width for .tooltip is `sizeToFit()` - NSLayoutConstraint.activate([ - self.heightAnchor.constraint(equalToConstant: infoItemSize.height), - ]) + self.heightConstraint?.isActive = false + self.heightConstraint = self.heightAnchor.constraint(equalToConstant: infoItemSize.height) + self.heightConstraint?.isActive = true if let messageInfoButton = self.messageInfoButton { - messageInfoButton.translatesAutoresizingMaskIntoConstraints = false - NSLayoutConstraint.activate([ - messageInfoButton.leftAnchor.constraint(equalTo: self.leftAnchor), - messageInfoButton.rightAnchor.constraint(equalTo: self.rightAnchor), - messageInfoButton.topAnchor.constraint(equalTo: self.topAnchor), - messageInfoButton.bottomAnchor.constraint(equalTo: self.bottomAnchor), - ]) + messageInfoButton.sbu_constraint() + .sbu_constraint(equalTo: self, left: 0, right: 0, top: 0, bottom: 0) } } diff --git a/Sources/View/Channel/Reaction/SBUEmojiListViewController.swift b/Sources/View/Channel/Reaction/SBUEmojiListViewController.swift index 40e47cda4..442b9bcdf 100644 --- a/Sources/View/Channel/Reaction/SBUEmojiListViewController.swift +++ b/Sources/View/Channel/Reaction/SBUEmojiListViewController.swift @@ -109,7 +109,7 @@ class SBUEmojiListViewController: SBUBaseViewController, UICollectionViewDelegat } override func setupLayouts() { - self.collectionView.setConstraint(from: self.view, left: 0, right: 0, top: 0, bottom: 0) + self.collectionView.sbu_constraint(equalTo: self.view, left: 0, right: 0, top: 0, bottom: 0) self.collectionView.layoutIfNeeded() } diff --git a/Sources/View/Channel/Reaction/SBUMessageReactionView.swift b/Sources/View/Channel/Reaction/SBUMessageReactionView.swift index 1f89e8e6d..fd9a1c95a 100644 --- a/Sources/View/Channel/Reaction/SBUMessageReactionView.swift +++ b/Sources/View/Channel/Reaction/SBUMessageReactionView.swift @@ -26,8 +26,8 @@ open class SBUMessageReactionView: SBUView, UICollectionViewDelegate, UICollecti var moreEmojiTapHandler: (() -> Void)? var emojiLongPressHandler: ((_ emojiKey: String) -> Void)? - public private(set) var collectionViewHeightConstraint: NSLayoutConstraint! - public private(set) var collectionViewMinWidthContraint: NSLayoutConstraint! + public private(set) var collectionViewHeightConstraint: NSLayoutConstraint? + public private(set) var collectionViewMinWidthContraint: NSLayoutConstraint? public let collectionViewInsets = UIEdgeInsets(top: 8, left: 8, bottom: 8, right: 8) @@ -77,15 +77,18 @@ open class SBUMessageReactionView: SBUView, UICollectionViewDelegate, UICollecti open override func setupLayouts() { super.setupLayouts() - self.collectionView.setConstraint(from: self, left: 0, right: 0, top: 0, bottom: 0) + self.collectionView.sbu_constraint(equalTo: self, left: 0, right: 0, top: 0, bottom: 0) self.collectionViewHeightConstraint = self.collectionView .heightAnchor.constraint(equalToConstant: 0) - self.collectionViewHeightConstraint.isActive = true self.collectionViewMinWidthContraint = self.collectionView .widthAnchor.constraint(greaterThanOrEqualToConstant: 0) - self.collectionViewMinWidthContraint.isActive = true + + NSLayoutConstraint.sbu_activate(baseView: self.collectionView, constraints: [ + self.collectionViewHeightConstraint, + self.collectionViewMinWidthContraint + ]) } open override func setupStyles() { @@ -105,12 +108,12 @@ open class SBUMessageReactionView: SBUView, UICollectionViewDelegate, UICollecti open func configure(maxWidth: CGFloat, useReaction: Bool, reactions: [Reaction]) { guard useReaction, !reactions.isEmpty else { - self.collectionViewMinWidthContraint.isActive = false + self.collectionViewMinWidthContraint?.isActive = false self.isHidden = true return } - self.collectionViewMinWidthContraint.isActive = true + self.collectionViewMinWidthContraint?.isActive = true self.isHidden = false self.maxWidth = maxWidth self.reactions = reactions @@ -127,13 +130,11 @@ open class SBUMessageReactionView: SBUView, UICollectionViewDelegate, UICollecti if hasMoreEmoji { width += self.getCellSize(count: 0).width + layout.minimumLineSpacing } - self.collectionViewMinWidthContraint.constant = width < maxWidth ? width : maxWidth + self.collectionViewMinWidthContraint?.constant = width < maxWidth ? width : maxWidth self.collectionView.reloadData() self.collectionView.layoutIfNeeded() - self.collectionViewHeightConstraint.constant = self.collectionView + self.collectionViewHeightConstraint?.constant = self.collectionView .collectionViewLayout.collectionViewContentSize.height - - self.setNeedsLayout() } /// The default value is `CGSize(width: 54, height: 30)`; if `count` is zero, the width is 36. @@ -183,10 +184,9 @@ open class SBUMessageReactionView: SBUView, UICollectionViewDelegate, UICollecti ) cell.emojiImageViewRatioConstraint?.isActive = false cell.configure(type: .messageReaction, url: nil, needsSideMargin: self.sameCellWidth) - + cell.emojiImageView.image = moreEmoji cell.emojiImageViewRatioConstraint?.isActive = true - cell.isSelected = false cell.addGestureRecognizer(moreEmojiTapRecognizer) return cell @@ -202,7 +202,6 @@ open class SBUMessageReactionView: SBUView, UICollectionViewDelegate, UICollecti cell.configure(type: .messageReaction, url: selectedEmoji?.url, count: reaction.userIds.count, needsSideMargin: self.sameCellWidth) - cell.emojiImageViewRatioConstraint?.isActive = true cell.emojiLongPressHandler = { [weak self] in guard let self = self else { return } diff --git a/Sources/View/Channel/Reaction/SBUParentMessageInfoReactionView.swift b/Sources/View/Channel/Reaction/SBUParentMessageInfoReactionView.swift index 875ce9e82..95e139ce3 100644 --- a/Sources/View/Channel/Reaction/SBUParentMessageInfoReactionView.swift +++ b/Sources/View/Channel/Reaction/SBUParentMessageInfoReactionView.swift @@ -17,12 +17,12 @@ open class SBUParentMessageInfoReactionView: SBUMessageReactionView { open override func configure(maxWidth: CGFloat, useReaction: Bool, reactions: [Reaction]) { guard useReaction else { - self.collectionViewMinWidthContraint.isActive = false + self.collectionViewMinWidthContraint?.isActive = false self.isHidden = true return } - self.collectionViewMinWidthContraint.isActive = true + self.collectionViewMinWidthContraint?.isActive = true self.maxWidth = maxWidth self.reactions = reactions self.emojiList = SBUEmojiManager.getAllEmojis() @@ -40,12 +40,14 @@ open class SBUParentMessageInfoReactionView: SBUMessageReactionView { if hasMoreEmoji { width += self.getCellSize(count: 0).width + layout.minimumLineSpacing } - self.collectionViewMinWidthContraint.constant = width < maxWidth ? width : maxWidth + self.collectionViewMinWidthContraint?.constant = width < maxWidth ? width : maxWidth self.collectionView.reloadData() - self.collectionViewHeightConstraint.constant = self.collectionView + self.collectionView.layoutIfNeeded() + self.collectionViewHeightConstraint?.constant = self.collectionView .collectionViewLayout.collectionViewContentSize.height - - self.setNeedsLayout() + if self.collectionViewHeightConstraint?.constant == 0 { + self.collectionViewHeightConstraint?.constant = 46 + } } open override func getCellSize(count: Int) -> CGSize { diff --git a/Sources/View/Channel/Reaction/SBUReactionsViewController.swift b/Sources/View/Channel/Reaction/SBUReactionsViewController.swift index 3ebb62d7e..fe5f2b196 100644 --- a/Sources/View/Channel/Reaction/SBUReactionsViewController.swift +++ b/Sources/View/Channel/Reaction/SBUReactionsViewController.swift @@ -24,8 +24,8 @@ class SBUReactionsViewController: SBUBaseViewController, UITableViewDelegate, UI var memberList: [Member] = [] var reactionList: [Reaction] = [] - var collectionViewConstraintWidth: NSLayoutConstraint! - var collectionViewConstraintMaxWidth: NSLayoutConstraint! + var collectionViewConstraintWidth: NSLayoutConstraint? + var collectionViewConstraintMaxWidth: NSLayoutConstraint? var theme = SBUTheme.componentTheme @@ -94,33 +94,44 @@ class SBUReactionsViewController: SBUBaseViewController, UITableViewDelegate, UI /// This function handles the initialization of autolayouts. override func setupLayouts() { - self.stackView.setConstraint(from: self.view, left: 0, right: 0, top: 0, bottom: 0) - self.tableView.setConstraint(from: self.stackView, left: 0) - self.lineView .setConstraint(from: self.stackView, left: 0).setConstraint(height: 0.5) - - self.collectionView.setConstraint(height: 60).setConstraint(from: self.view, centerX: true) + self.stackView.sbu_constraint( + equalTo: self.view, + left: 0, + right: 0, + top: 0, + bottom: 0 + ) + self.tableView.sbu_constraint(equalTo: self.stackView, left: 0) + self.lineView + .sbu_constraint(equalTo: self.stackView, left: 0) + .sbu_constraint(height: 0.5) + + self.collectionView + .sbu_constraint(height: 60) + .sbu_constraint(equalTo: self.view, centerX: 0) + + self.collectionViewConstraintWidth?.isActive = false + self.collectionViewConstraintMaxWidth?.isActive = false self.collectionViewConstraintWidth = self.collectionView.widthAnchor.constraint( equalToConstant: 0 ) - self.collectionViewConstraintWidth.priority = .defaultLow + self.collectionViewConstraintWidth?.priority = .defaultLow self.collectionViewConstraintMaxWidth = self.collectionView.widthAnchor.constraint( lessThanOrEqualToConstant: self.view.frame.width ) - NSLayoutConstraint.activate([ - self.collectionViewConstraintWidth, - self.collectionViewConstraintMaxWidth - ]) + self.collectionViewConstraintWidth?.isActive = true + self.collectionViewConstraintMaxWidth?.isActive = true self.collectionView.layoutIfNeeded() self.view.setNeedsLayout() } override func updateLayouts() { - self.collectionViewConstraintWidth.constant = self.collectionView.contentSize.width - self.collectionViewConstraintMaxWidth.constant = self.view.bounds.width + self.collectionViewConstraintWidth?.constant = self.collectionView.contentSize.width + self.collectionViewConstraintMaxWidth?.constant = self.view.bounds.width self.collectionView.layoutIfNeeded() if let bottomSheet = self.presentationController as? SBUBottomSheetController { diff --git a/Sources/View/Channel/SBUBaseChannelViewController.Keyboard.swift b/Sources/View/Channel/SBUBaseChannelViewController.Keyboard.swift index 9929cade5..103b45299 100644 --- a/Sources/View/Channel/SBUBaseChannelViewController.Keyboard.swift +++ b/Sources/View/Channel/SBUBaseChannelViewController.Keyboard.swift @@ -108,7 +108,7 @@ extension SBUBaseChannelViewController { let keyboardHeight = getAdjustedKeyboardHeight(with: keyboardFrame) let tabBarHeight = getTabBarHeight() - self.messageInputViewBottomConstraint.constant = -(keyboardHeight-tabBarHeight) + self.messageInputViewBottomConstraint?.constant = -(keyboardHeight-tabBarHeight) } self.view.layoutIfNeeded() } @@ -151,7 +151,7 @@ extension SBUBaseChannelViewController { self.baseInputComponent?.frame.origin ?? CGPoint(x: 0, y: self.view.frame.height), to: self.view ) - initialMessageInputBottomConstraint = self.messageInputViewBottomConstraint.constant + initialMessageInputBottomConstraint = self.messageInputViewBottomConstraint?.constant ?? 0 case .changed: switch tableView.keyboardDismissMode { case .interactive: @@ -165,7 +165,7 @@ extension SBUBaseChannelViewController { // add the diff value to initial message bottom constraint, but keep minimum value as it's initial constraint as // keyboard can't go any higher. - self.messageInputViewBottomConstraint.constant = + self.messageInputViewBottomConstraint?.constant = max(initialMessageInputBottomConstraint + diffBetweenPointYMessageInputBottomY, initialMessageInputBottomConstraint) break @@ -175,7 +175,7 @@ extension SBUBaseChannelViewController { } case .ended: // defense code to prevent bottom constant to be set as some other value - self.messageInputViewBottomConstraint.constant = self.isKeyboardShowing + self.messageInputViewBottomConstraint?.constant = self.isKeyboardShowing ? initialMessageInputBottomConstraint : 0 break diff --git a/Sources/View/Channel/SBUBaseChannelViewController.swift b/Sources/View/Channel/SBUBaseChannelViewController.swift index fcb0e0e75..f4c5aa176 100644 --- a/Sources/View/Channel/SBUBaseChannelViewController.swift +++ b/Sources/View/Channel/SBUBaseChannelViewController.swift @@ -38,15 +38,23 @@ open class SBUBaseChannelViewController: SBUBaseViewController, SBUBaseChannelVi /// The state property to indicate whether it's showing the keyboard or not. It's `false` when ``keyboardWillHide(_:)`` is called and `true` when ``keyboardWillShow(_:)`` is called. The default value is `false` /// - Since: 3.2.3 public var isKeyboardShowing: Bool = false + + var messageInputViewTopConstraint: NSLayoutConstraint? + var messageInputViewLeftConstraint: NSLayoutConstraint? + var messageInputViewRightConstraint: NSLayoutConstraint? /// The `NSLayoutConstraint` value used in ``baseInputComponent``'s bottom anchor constraint. The value is updated when either ``keyboardWillHide(_:)`` or ``keyboardWillShow(_:)`` is called. /// - Since: 3.2.3 - public var messageInputViewBottomConstraint: NSLayoutConstraint! + public var messageInputViewBottomConstraint: NSLayoutConstraint? // MARK: - Logic Properties (Private) var initialMessageInputBottomConstraint: CGFloat = 0 var initialMessageInputOrigin: CGPoint = .zero - var tableViewTopConstraint: NSLayoutConstraint! + var tableViewTopConstraint: NSLayoutConstraint? + var tableViewLeftConstraint: NSLayoutConstraint? + var tableViewRightConstraint: NSLayoutConstraint? + var tableViewBottomConstraint: NSLayoutConstraint? + var lastSeenIndexPath: IndexPath? var scrollToInitialPositionHandler: (() -> Void)? @@ -192,9 +200,14 @@ open class SBUBaseChannelViewController: SBUBaseViewController, SBUBaseChannelVi self.registerKeyboardNotifications() self.updateChannelStatus() - self.updateStyles() NotificationCenter.default.addObserver(self, selector: #selector(applicationWillResignActivity), name: UIApplication.willResignActiveNotification, object: nil) + self.updateStyles(needsToLayout: false) + } + + open override func viewDidAppear(_ animated: Bool) { + super.viewDidAppear(animated) + } open override func viewDidLoad() { @@ -437,27 +450,32 @@ open class SBUBaseChannelViewController: SBUBaseViewController, SBUBaseChannelVi // MARK: - Common - /// This function opens a file according to the file type. - /// - Parameter fileMessage: fileMessage object - /// - Since: 3.0.0 - open func openFile(fileMessage: FileMessage) { + /// Opens a file that is type of `SBUFileData` according to its file type + /// + /// ```swift + /// let fileData = SBUFileData(fileMessage: fileMessage) + /// openFile(fileData) + /// ``` + /// + /// - Parameter fileData: ``SBUFileData`` object. + /// - Since: 3.10.0 + open func openFile(_ fileData: SBUFileData) { self.willPresentSubview() SBULoading.start() - let fileType = SBUUtils.getFileType(by: fileMessage) - switch fileType { + + switch fileData.fileType { case .image: - let viewer = SBUCommonViewControllerSet.FileViewController.init(fileMessage: fileMessage, delegate: self) + let viewer = SBUCommonViewControllerSet.FileViewController.init( + fileData: fileData, + delegate: self + ) let naviVC = UINavigationController(rootViewController: viewer) SBULoading.stop() self.present(naviVC, animated: true) case .etc, .pdf, .video, .audio: - SBUCacheManager.File.loadFile( - urlString: fileMessage.url, - cacheKey: fileMessage.cacheKey, - fileName: fileMessage.name - ) { fileURL, _ in + SBUCacheManager.File.loadFile(urlString: fileData.urlString, fileName: fileData.name) { fileURL, _ in SBULoading.stop() guard let fileURL = fileURL else { @@ -465,7 +483,7 @@ open class SBUBaseChannelViewController: SBUBaseViewController, SBUBaseChannelVi return } - switch fileType { + switch fileData.fileType { case .audio, .video: if SBUGlobals.isAVPlayerAlwaysEnabled { let vc = AVPlayerViewController() @@ -473,7 +491,7 @@ open class SBUBaseChannelViewController: SBUBaseViewController, SBUBaseChannelVi self.present(vc, animated: true) { vc.player?.play() } } else { let dc = UIDocumentInteractionController(url: fileURL) - dc.name = fileMessage.name + dc.name = fileData.name dc.delegate = self dc.presentPreview(animated: true) } @@ -486,7 +504,7 @@ open class SBUBaseChannelViewController: SBUBaseViewController, SBUBaseChannelVi if fileURL.scheme == "file" { let dc = UIDocumentInteractionController(url: fileURL) - dc.name = fileMessage.name + dc.name = fileData.name dc.delegate = self dc.presentPreview(animated: true) } else { @@ -495,14 +513,21 @@ open class SBUBaseChannelViewController: SBUBaseViewController, SBUBaseChannelVi } } } - case .voice: - SBULoading.stop() - break default: - break + SBULoading.stop() + return } } + /// This function opens a file according to the file type. + /// - Parameter fileMessage: fileMessage object + /// - Note: Use `openFile(_:)` instead. + /// - Since: 3.0.0 + open func openFile(fileMessage: FileMessage) { + let fileData = SBUFileData(fileMessage: fileMessage) + self.openFile(fileData) + } + /// This function increases the new message count. @discardableResult public func increaseNewMessageCount() -> Bool { @@ -600,7 +625,9 @@ open class SBUBaseChannelViewController: SBUBaseViewController, SBUBaseChannelVi guard needsToReload else { return } - baseListComponent.reloadTableView() + // Verify that the UIViewController is currently visible on the screen + let needsToLayout = self.isViewLoaded && (self.view.window != nil) + baseListComponent.reloadTableView(needsToLayout: needsToLayout) guard let lastSeenIndexPath = self.lastSeenIndexPath else { let hidden = baseListComponent.isScrollNearByBottom @@ -1036,6 +1063,18 @@ open class SBUBaseChannelViewController: SBUBaseViewController, SBUBaseChannelVi var configuration = PHPickerConfiguration() configuration.filter = .any(of: pickerFilter) + + // Multiple files message is allowed only for group channel. + if !(self is SBUMessageThreadViewController), + let _ = self.baseViewModel?.channel as? GroupChannel, + SendbirdUI.config.groupChannel.channel.isMultipleFilesMessageEnabled { + configuration.selectionLimit = SBUAvailable.multipleFilesMessageFileCountLimit + + if #available(iOS 15, *) { + configuration.selection = .ordered + } + } + let picker = PHPickerViewController(configuration: configuration) picker.delegate = self self.present(picker, animated: true, completion: nil) diff --git a/Sources/View/Channel/SBUFeedNotificationChannelViewController.swift b/Sources/View/Channel/SBUFeedNotificationChannelViewController.swift index 2d62b6519..e5718da03 100644 --- a/Sources/View/Channel/SBUFeedNotificationChannelViewController.swift +++ b/Sources/View/Channel/SBUFeedNotificationChannelViewController.swift @@ -321,9 +321,9 @@ open class SBUFeedNotificationChannelViewController: SBUBaseViewController, constant: Constants.categoryFilterHeight ) - if let listComponentTopConstraint = self.listComponentTopConstraint { - NSLayoutConstraint.activate([listComponentTopConstraint]) - } + NSLayoutConstraint.sbu_activate(baseView: listComponent, constraints: [ + listComponentTopConstraint + ]) } } diff --git a/Sources/View/Channel/SBUGroupChannelViewController.swift b/Sources/View/Channel/SBUGroupChannelViewController.swift index a8efb541d..cf5784914 100644 --- a/Sources/View/Channel/SBUGroupChannelViewController.swift +++ b/Sources/View/Channel/SBUGroupChannelViewController.swift @@ -11,6 +11,8 @@ import SendbirdChatSDK import Photos import AVKit import SafariServices +import PhotosUI +import MobileCoreServices @objcMembers open class SBUGroupChannelViewController: SBUBaseChannelViewController, SBUGroupChannelViewModelDelegate, SBUGroupChannelModuleHeaderDelegate, SBUGroupChannelModuleListDelegate, SBUGroupChannelModuleListDataSource, SBUGroupChannelModuleInputDelegate, SBUGroupChannelModuleInputDataSource, SBUGroupChannelViewModelDataSource, SBUMentionManagerDataSource, SBUMessageThreadViewControllerDelegate, SBUVoiceMessageInputViewDelegate { @@ -43,6 +45,24 @@ open class SBUGroupChannelViewController: SBUBaseChannelViewController, SBUGroup public private(set) var newMessagesCount: Int = 0 + /// An error handler that is called when any one of the files size in multiple files message exceeds the file size limit. + /// If needed, override this handler to show your custom alert view. + /// - Since: 3.10.0 + open func multipleFilesMessageFileSizeErrorHandler(_ message: String) { + SBULog.error("Did receive error: \(message)") + + DispatchQueue.main.async { + SBUAlertView.show( + title: message, + confirmButtonItem: SBUAlertButtonItem( + title: SBUStringSet.OK, + completionHandler: { _ in + } + ), cancelButtonItem: nil + ) + } + } + // MARK: - Logic properties (Private) // MARK: - Lifecycle @@ -203,45 +223,64 @@ open class SBUGroupChannelViewController: SBUBaseChannelViewController, SBUGroup open override func setupLayouts() { super.setupLayouts() - self.listComponent?.translatesAutoresizingMaskIntoConstraints = false if let listComponent = listComponent { + listComponent.translatesAutoresizingMaskIntoConstraints = false + + tableViewTopConstraint?.isActive = false + tableViewBottomConstraint?.isActive = false + tableViewLeftConstraint?.isActive = false + tableViewRightConstraint?.isActive = false + self.tableViewTopConstraint = listComponent.topAnchor.constraint( equalTo: self.view.topAnchor, constant: 0 ) + self.tableViewBottomConstraint = listComponent.bottomAnchor.constraint( + equalTo: self.inputComponent?.topAnchor ?? self.view.bottomAnchor, + constant: 0 + ) + self.tableViewLeftConstraint = listComponent.leftAnchor.constraint( + equalTo: self.view.leftAnchor, constant: 0 + ) + self.tableViewRightConstraint = listComponent.rightAnchor.constraint( + equalTo: self.view.rightAnchor, constant: 0 + ) - NSLayoutConstraint.activate([ - self.tableViewTopConstraint, - listComponent.leftAnchor.constraint(equalTo: self.view.leftAnchor, constant: 0), - listComponent.rightAnchor.constraint(equalTo: self.view.rightAnchor, constant: 0), - listComponent.bottomAnchor.constraint( - equalTo: self.inputComponent?.topAnchor ?? self.view.bottomAnchor, - constant: 0 - ) - ]) + tableViewTopConstraint?.isActive = true + tableViewBottomConstraint?.isActive = true + tableViewLeftConstraint?.isActive = true + tableViewRightConstraint?.isActive = true } - self.inputComponent?.translatesAutoresizingMaskIntoConstraints = false - self.messageInputViewBottomConstraint = self.inputComponent?.bottomAnchor.constraint( - equalTo: self.view.bottomAnchor, - constant: 0 - ) if let inputComponent = self.inputComponent { - NSLayoutConstraint.activate([ - inputComponent.topAnchor.constraint( - equalTo: self.listComponent?.bottomAnchor ?? self.view.bottomAnchor, - constant: 0 - ), - inputComponent.leftAnchor.constraint( - equalTo: self.view.leftAnchor, - constant: 0 - ), - inputComponent.rightAnchor.constraint( - equalTo: self.view.rightAnchor, - constant: 0 - ), - messageInputViewBottomConstraint - ]) + inputComponent.translatesAutoresizingMaskIntoConstraints = false + + messageInputViewTopConstraint?.isActive = false + messageInputViewBottomConstraint?.isActive = false + messageInputViewLeftConstraint?.isActive = false + messageInputViewRightConstraint?.isActive = false + + self.messageInputViewTopConstraint = inputComponent.topAnchor.constraint( + equalTo: self.listComponent?.bottomAnchor ?? self.view.bottomAnchor, + constant: 0 + ) + self.messageInputViewBottomConstraint = inputComponent.bottomAnchor.constraint( + equalTo: self.view.bottomAnchor, + constant: 0 + ) + self.messageInputViewLeftConstraint = inputComponent.leftAnchor.constraint( + equalTo: self.view.leftAnchor, + constant: 0 + ) + self.messageInputViewRightConstraint = inputComponent.rightAnchor.constraint( + equalTo: self.view.rightAnchor, + constant: 0 + ) + + messageInputViewTopConstraint?.isActive = true + messageInputViewBottomConstraint?.isActive = true + messageInputViewLeftConstraint?.isActive = true + messageInputViewRightConstraint?.isActive = true } } @@ -249,14 +288,18 @@ open class SBUGroupChannelViewController: SBUBaseChannelViewController, SBUGroup super.setupStyles() } - open override func updateStyles() { + open override func updateStyles(needsToLayout: Bool) { self.setupStyles() super.updateStyles() self.headerComponent?.updateStyles(theme: self.theme) self.listComponent?.updateStyles(theme: self.theme) - self.listComponent?.reloadTableView() + self.listComponent?.reloadTableView(needsToLayout: needsToLayout) + } + + open override func updateStyles() { + self.updateStyles(needsToLayout: true) } // MARK: - New message count @@ -350,6 +393,264 @@ open class SBUGroupChannelViewController: SBUBaseChannelViewController, SBUGroup self.navigationController?.pushViewController(messageThreadVC, animated: true) } + // MARK: - PHPickerViewControllerDelegate + + open override func imagePickerControllerDidCancel(_ picker: UIImagePickerController) { + super.imagePickerControllerDidCancel(picker) + + if let messageInputView = self.baseInputComponent?.messageInputView as? SBUMessageInputView { + messageInputView.setMode(.none) + } + } + + @available(iOS 14, *) + override open func picker(_ picker: PHPickerViewController, didFinishPicking results: [PHPickerResult]) { + picker.dismiss(animated: true) + + guard results.count <= SBUAvailable.multipleFilesMessageFileCountLimit else { + self.errorHandler("Up to \(SBUAvailable.multipleFilesMessageFileCountLimit) can be attached.") + return + } + + // Picked multiple files + if results.count > 1 { + checkAllFileSizes(results) { [weak self] isValid in + if isValid { + self?.handleMultipleFiles(results) + } else { + self?.multipleFilesMessageFileSizeErrorHandler(SBUStringSet.FileUpload.Error.exceededSizeLimit) + } + } + return + } + + // Picked a single file + results.forEach { + let itemProvider = $0.itemProvider + + /// !! Warining !! + /// Since the image identifier includes the gif identifier, the check of the gif type should take precedence over the image type comparison. + + // GIF + if itemProvider.hasItemConformingToTypeIdentifier(UTType.gif.identifier) { + if let inputComponent = self.baseInputComponent { + inputComponent.pickGIFFile(itemProvider: itemProvider) + return + } + } + + // image + else if itemProvider.hasItemConformingToTypeIdentifier(UTType.image.identifier) { + if let inputComponent = self.baseInputComponent { + inputComponent.pickImageFile(itemProvider: itemProvider) + return + } + } + + // video + else if itemProvider.hasItemConformingToTypeIdentifier(UTType.movie.identifier) { + if let inputComponent = self.baseInputComponent { + inputComponent.pickVideoFile(itemProvider: itemProvider) + return + } + } + } + } + + @available(iOS 14, *) + private func handleMultipleFiles(_ results: [PHPickerResult]) { + guard let inputComponent = self.baseInputComponent as? SBUGroupChannelModule.Input else { + return + } + + // Group picked files depending on file type. + let (imageAndGIFs, videos) = self.groupFilesByMimeType(results) + + // Handle images+GIFs. + if imageAndGIFs.count > 0 { + + // multiple (image + gif) -> send a multipleFilesMessage + if imageAndGIFs.count > 1 { + inputComponent.pickMultipleImageFiles(itemProviders: imageAndGIFs) + } + + // single image / gif -> send a fileMessage + else if imageAndGIFs.count == 1 { + let itemProvider = imageAndGIFs.first! + + // GIF + if itemProvider.hasItemConformingToTypeIdentifier(UTType.gif.identifier) { + if let inputComponent = self.baseInputComponent { + inputComponent.pickGIFFile(itemProvider: itemProvider) + } + } + + // image + else if itemProvider.hasItemConformingToTypeIdentifier(UTType.image.identifier) { + if let inputComponent = self.baseInputComponent { + inputComponent.pickImageFile(itemProvider: itemProvider) + } + } + } + } + + // Handle videos. + if videos.count > 0 { + // video(s) selected -> send N fileMessages + videos.forEach { itemProvider in + inputComponent.pickVideoFile(itemProvider: itemProvider) + } + } + } + + // MARK: PHPicker Util Methods. + /// Presents `UIImagePickerController`. If `SBUGlobals.UsingPHPicker`is `true`, it presents `PHPickerViewController` in iOS 14 or later. + /// - NOTE: If you want to use customized `PHPickerConfiguration`, please override this method. + /// - Since: 3.10.0 + open override func showPhotoLibraryPicker() { + let inputConfig = SendbirdUI.config.groupChannel.channel.input + + if #available(iOS 14, *), SBUGlobals.isPHPickerEnabled { + var pickerFilter: [PHPickerFilter] = [] + if inputConfig.gallery.isPhotoEnabled { pickerFilter += [.images] } + if inputConfig.gallery.isVideoEnabled { pickerFilter += [.videos] } + + var configuration = PHPickerConfiguration() + configuration.filter = .any(of: pickerFilter) + + if let groupChannel = self.viewModel?.channel as? GroupChannel, + !groupChannel.isSuper && !groupChannel.isBroadcast, + inputComponent?.currentQuotedMessage == nil, + SendbirdUI.config.groupChannel.channel.isMultipleFilesMessageEnabled { + configuration.selectionLimit = SBUAvailable.multipleFilesMessageFileCountLimit + + if #available(iOS 15, *) { + configuration.selection = .ordered + } + } + + let picker = PHPickerViewController(configuration: configuration) + picker.delegate = self + self.present(picker, animated: true, completion: nil) + return + } + + let sourceType: UIImagePickerController.SourceType = .photoLibrary + var mediaType: [String] = [] + + if inputConfig.gallery.isPhotoEnabled { mediaType += [String(kUTTypeImage), String(kUTTypeGIF)] } + if inputConfig.gallery.isVideoEnabled { mediaType += [String(kUTTypeMovie)] } + + if UIImagePickerController.isSourceTypeAvailable(sourceType) { + let imagePickerController = UIImagePickerController() + imagePickerController.delegate = self + imagePickerController.sourceType = sourceType + imagePickerController.mediaTypes = mediaType + self.present(imagePickerController, animated: true, completion: nil) + } + } + + @available(iOS 14, *) + private func checkAllFileSizes(_ results: [PHPickerResult], completion: @escaping (Bool) -> Void) { + var areAllFileSizesValid = true + + let group = DispatchGroup() + for result in results { + if !areAllFileSizesValid { + group.leave() + completion(false) + return + } + + group.enter() + + let itemProvider = result.itemProvider + + if itemProvider.hasItemConformingToTypeIdentifier(UTType.gif.identifier) { + self.checkGifSize(itemProvider: itemProvider) { isValid in + if !isValid { areAllFileSizesValid = false } + group.leave() + } + + } else if itemProvider.hasItemConformingToTypeIdentifier(UTType.image.identifier) { + self.checkImageSize(itemProvider: itemProvider) { isValid in + if !isValid { areAllFileSizesValid = false } + group.leave() + } + + } else { + self.checkVideoSize(itemProvider: itemProvider) { isValid in + if !isValid { areAllFileSizesValid = false } + group.leave() + } + } + } + + group.notify(queue: .main) { + completion(areAllFileSizesValid) + } + } + + @available(iOS 14, *) + private func checkImageSize(itemProvider: NSItemProvider, completion: @escaping (Bool) -> Void) { + itemProvider.loadItem(forTypeIdentifier: UTType.image.identifier, options: [:]) { (item, _) in + if let url = item as? URL { + completion(url.isFileSizeUploadable) + } else { + completion(false) + } + } + } + + @available(iOS 14, *) + private func checkGifSize(itemProvider: NSItemProvider, completion: @escaping (Bool) -> Void) { + itemProvider.loadFileRepresentation(forTypeIdentifier: UTType.gif.identifier) { item, _ in + if let gifURL = item { + completion(gifURL.isFileSizeUploadable) + } else { + completion(false) + } + } + } + + @available(iOS 14, *) + private func checkVideoSize(itemProvider: NSItemProvider, completion: @escaping (Bool) -> Void) { + itemProvider.loadFileRepresentation(forTypeIdentifier: UTType.movie.identifier) { item, error in + if let videoURL = item { + completion(videoURL.isFileSizeUploadable) + } else { + if let error = error { + SBULog.error("Failed to read video file. \(error)") + } + completion(false) + } + } + } + + @available(iOS 14, *) + /// Groups picked files by file type. + /// - Returns a tuple - (an array of images + GIFs, an array of videos) + private func groupFilesByMimeType(_ results: [PHPickerResult]) -> ([NSItemProvider], [NSItemProvider]) { + var imageAndGIFs = [NSItemProvider]() + var videos = [NSItemProvider]() + + results.forEach { + let itemProvider = $0.itemProvider + + if itemProvider.hasItemConformingToTypeIdentifier(UTType.gif.identifier) || + itemProvider.hasItemConformingToTypeIdentifier(UTType.image.identifier) { + imageAndGIFs.append(itemProvider) + } + + // Group videos + else if itemProvider.hasItemConformingToTypeIdentifier(UTType.movie.identifier) { + videos.append(itemProvider) + } + } + + return (imageAndGIFs, videos) + } + // MARK: - VoiceMessageInput open override func showVoiceMessageInput() { super.showVoiceMessageInput() @@ -474,6 +775,17 @@ open class SBUGroupChannelViewController: SBUBaseChannelViewController, SBUGroup self.inputComponent?.handlePendingMentionSuggestion(with: members) } + public func groupChannelViewModel( + _ viewModel: SBUGroupChannelViewModel, + didFinishUploadingFileAt index: Int, + multipleFilesMessageRequestId requestId: String + ) { + self.baseListComponent?.reloadMultipleFilesMessageCollectionViewCell( + requestId: requestId, + index: index + ) + } + // MARK: - SBUGroupChannelModuleHeaderDelegate open override func baseChannelModule(_ headerComponent: SBUBaseChannelModule.Header, didTapLeftItem leftItem: UIBarButtonItem) { self.onClickBack() @@ -486,6 +798,36 @@ open class SBUGroupChannelViewController: SBUBaseChannelViewController, SBUGroup } // MARK: - SBUGroupChannelModuleListDelegate + open func groupChannelModule( + _ listComponent: SBUGroupChannelModule.List, + didSelectFileAt index: Int, + multipleFilesMessageCell: SBUMultipleFilesMessageCell, + forRowAt cellIndexPath: IndexPath + ) { + guard let multipleFilesMessage = multipleFilesMessageCell.multipleFilesMessage else { + SBUToastManager.showToast(parentVC: self, type: .fileOpenFailed) + return + } + guard index < multipleFilesMessage.files.count else { return } + let fileInfo = multipleFilesMessage.files[index] + + // show file view controller + let fileType: SBUMessageFileType + if let mimeType = fileInfo.mimeType { + fileType = SBUUtils.getFileType(by: mimeType) + } else { + fileType = .etc + } + let file = SBUFileData( + urlString: fileInfo.url, + message: multipleFilesMessage, + cacheKey: multipleFilesMessage.cacheKey + "_\(index)", + fileType: fileType, + name: fileInfo.fileName ?? "" + ) + self.openFile(file) + } + open func groupChannelModule(_ listComponent: SBUGroupChannelModule.List, didTapEmoji emojiKey: String, messageCell: SBUBaseMessageCell) { guard let currentUser = SBUGlobals.currentUser, let message = messageCell.message else { return } @@ -622,6 +964,11 @@ open class SBUGroupChannelViewController: SBUBaseChannelViewController, SBUGroup } open func groupChannelModule(_ inputComponent: SBUGroupChannelModule.Input, didPickFileData fileData: Data?, fileName: String, mimeType: String, parentMessage: BaseMessage?) { + + if let messageInputView = self.baseInputComponent?.messageInputView as? SBUMessageInputView { + messageInputView.setMode(.none) + } + self.viewModel?.sendFileMessage( fileData: fileData, fileName: fileName, @@ -630,6 +977,16 @@ open class SBUGroupChannelViewController: SBUBaseChannelViewController, SBUGroup ) } + open func groupChannelModule(_ inputComponent: SBUGroupChannelModule.Input, didPickMultipleFiles fileInfoList: [UploadableFileInfo]?, parentMessage: BaseMessage?) { + if let messageInputView = self.baseInputComponent?.messageInputView as? SBUMessageInputView { + messageInputView.setMode(.none) + } + + self.viewModel?.sendMultipleFilesMessage( + fileInfoList: fileInfoList! + ) + } + open func groupChannelModule( _ inputComponent: SBUGroupChannelModule.Input, didTapSend text: String, diff --git a/Sources/View/Channel/SBUOpenChannelViewController.swift b/Sources/View/Channel/SBUOpenChannelViewController.swift index 7f526da3d..a18e36ee4 100644 --- a/Sources/View/Channel/SBUOpenChannelViewController.swift +++ b/Sources/View/Channel/SBUOpenChannelViewController.swift @@ -39,10 +39,27 @@ open class SBUOpenChannelViewController: SBUBaseChannelViewController, SBUOpenCh // MARK: - UI properties (Private) // for constraint - private var mediaComponentConstraint: [NSLayoutConstraint] = [] - private var headerComponentConstraint: NSLayoutConstraint! - private var headerComponentConstraints: [NSLayoutConstraint] = [] - private var headerHeightConstraint: NSLayoutConstraint! + private var mediaComponentLeadingConstraintForPortrait: NSLayoutConstraint? + private var mediaComponentLeadingConstraintForLandscape: NSLayoutConstraint? + private var mediaComponentTrailingConstraintForPortrait: NSLayoutConstraint? + private var mediaComponentTopConstraintForPortrait: NSLayoutConstraint? + private var mediaComponentTopConstraintForLandscape: NSLayoutConstraint? + private var mediaComponentBottomConstraint: NSLayoutConstraint? + + private var mediaComponentWidthConstraint: NSLayoutConstraint? + private var mediaComponentHeightConstraint: NSLayoutConstraint? + + private var listLeftMarginLeadingConstraint: NSLayoutConstraint? + private var listLeftMarginTrailingConstraint: NSLayoutConstraint? + private var listLeftMarginTopConstraint: NSLayoutConstraint? + private var listLeftMarginBottomConstraint: NSLayoutConstraint? + + private var headerLeadingConstraintForPortrait: NSLayoutConstraint? + private var headerLeadingConstraintForLandscape: NSLayoutConstraint? + private var headerTrailingConstraint: NSLayoutConstraint? + private var headerTopConstraintForPortrait: NSLayoutConstraint? + private var headerTopConstraintForLandscape: NSLayoutConstraint? + private var headerHeightConstraint: NSLayoutConstraint? // for top content area in portrait mode private var listTopMarginView = SBUMarginView() @@ -60,7 +77,6 @@ open class SBUOpenChannelViewController: SBUBaseChannelViewController, SBUOpenCh public var viewModel: SBUOpenChannelViewModel? { get { self.baseViewModel as? SBUOpenChannelViewModel } set { self.baseViewModel = newValue } - } public override var channel: OpenChannel? { self.viewModel?.channel as? OpenChannel } @@ -198,6 +214,8 @@ open class SBUOpenChannelViewController: SBUBaseChannelViewController, SBUOpenCh // MARK: - Sendbird UIKit Life cycle open override func setupViews() { + listTopMarginView.tag = 1122 + listLeftMarginView.tag = 2233 let theme = self.isMediaViewOverlaying ? self.overlayTheme : self.theme // media view (OpenChannel) @@ -249,269 +267,266 @@ open class SBUOpenChannelViewController: SBUBaseChannelViewController, SBUOpenCh super.setupLayouts() // Media component layout - if let mediaComponent = self.mediaComponent { - mediaComponent.translatesAutoresizingMaskIntoConstraints = false - switch self.currentOrientation { - case .landscapeLeft, .landscapeRight: - self.mediaComponentConstraint = [ - mediaComponent.leadingAnchor.constraint( - equalTo: self.isMediaViewIgnoringSafeArea - ? self.view.leadingAnchor - : self.view.layoutMarginsGuide.leadingAnchor - ), - mediaComponent.topAnchor.constraint(equalTo: self.view.topAnchor), - mediaComponent.bottomAnchor.constraint(equalTo: self.view.bottomAnchor), - self.isMediaViewEnabled - ? mediaComponent.widthAnchor.constraint( - equalTo: self.view.widthAnchor, - multiplier: self.mediaViewRatio - ) - : mediaComponent.widthAnchor.constraint(equalToConstant: 0) - ] - default: - self.mediaComponentConstraint = [ - mediaComponent.leadingAnchor.constraint(equalTo: self.view.leadingAnchor), - mediaComponent.trailingAnchor.constraint(equalTo: self.view.trailingAnchor), - mediaComponent.topAnchor.constraint( - equalTo: self.isMediaViewIgnoringSafeArea - ? self.view.topAnchor - : self.view.layoutMarginsGuide.topAnchor - ), - self.isMediaViewEnabled - ? mediaComponent.heightAnchor.constraint( - equalTo: self.view.heightAnchor, - multiplier: self.mediaViewRatio - ) - : mediaComponent.heightAnchor.constraint(equalToConstant: 0) - ] - } - self.mediaComponentConstraint.forEach { $0.isActive = true } - } + self.mediaComponent?.translatesAutoresizingMaskIntoConstraints = false + + // for portrait + self.mediaComponentLeadingConstraintForPortrait = self.mediaComponent?.leadingAnchor.constraint(equalTo: self.view.leadingAnchor) + self.mediaComponentTrailingConstraintForPortrait = self.mediaComponent?.trailingAnchor.constraint(equalTo: self.view.trailingAnchor) + self.mediaComponentTopConstraintForPortrait = self.mediaComponent?.topAnchor.constraint( + equalTo: self.isMediaViewIgnoringSafeArea + ? self.view.topAnchor + : self.view.layoutMarginsGuide.topAnchor + ) + self.mediaComponentHeightConstraint = self.isMediaViewEnabled + ? self.mediaComponent?.heightAnchor.constraint( + equalTo: self.view.heightAnchor, + multiplier: self.mediaViewRatio + ) + : self.mediaComponent?.heightAnchor.constraint(equalToConstant: 0) + + // for landscape + self.mediaComponentLeadingConstraintForLandscape = self.mediaComponent?.leadingAnchor.constraint( + equalTo: self.isMediaViewIgnoringSafeArea + ? self.view.leadingAnchor + : self.view.layoutMarginsGuide.leadingAnchor + ) + self.mediaComponentTopConstraintForLandscape = self.mediaComponent?.topAnchor.constraint(equalTo: self.view.topAnchor) + self.mediaComponentBottomConstraint = self.mediaComponent?.bottomAnchor.constraint(equalTo: self.view.bottomAnchor) + self.mediaComponentWidthConstraint = self.isMediaViewEnabled + ? self.mediaComponent?.widthAnchor.constraint( + equalTo: self.view.widthAnchor, + multiplier: self.mediaViewRatio + ) + : self.mediaComponent?.widthAnchor.constraint(equalToConstant: 0) switch self.currentOrientation { - case .landscapeRight, .landscapeLeft: - self.listLeftMarginView.translatesAutoresizingMaskIntoConstraints = false - self.listLeftMarginConstraints = [ - self.listLeftMarginView.leadingAnchor.constraint( - equalTo: self.view.leadingAnchor, - constant: self.currentWidth*(1-self.messageListRatio) - ), - self.listLeftMarginView.trailingAnchor.constraint(equalTo: self.view.trailingAnchor), - self.listLeftMarginView.topAnchor.constraint(equalTo: self.view.topAnchor), - self.listLeftMarginView.bottomAnchor.constraint(equalTo: self.view.bottomAnchor) - ] - self.listLeftMarginConstraints.forEach { $0.isActive = true } - - if let headerComponent = self.headerComponent { - headerComponent.translatesAutoresizingMaskIntoConstraints = false - self.headerComponentConstraints = [ - headerComponent.trailingAnchor.constraint(equalTo: self.view.trailingAnchor), - headerComponent.topAnchor.constraint(equalTo: self.view.topAnchor), - headerComponent.leadingAnchor.constraint( - equalTo: self.listLeftMarginView.leadingAnchor, - constant: 0 - ) - ] - } - default: - // Top (for portrait) - self.listTopMarginView.translatesAutoresizingMaskIntoConstraints = false - self.listTopMarginConstraints = [ - self.listTopMarginView.leadingAnchor.constraint(equalTo: self.view.leadingAnchor), - self.listTopMarginView.trailingAnchor.constraint(equalTo: self.view.trailingAnchor), - self.listTopMarginView.topAnchor.constraint(equalTo: self.view.topAnchor), - self.listTopMarginView.heightAnchor.constraint( - equalTo: self.view.heightAnchor, - multiplier: (1-self.messageListRatio) - ) - ] - self.listTopMarginConstraints.forEach { $0.isActive = true } - - if let headerComponent = self.headerComponent { - // Channel info - headerComponent.translatesAutoresizingMaskIntoConstraints = false - - self.weakHeaderComponentBottomConstraint = headerComponent.topAnchor.constraint( - equalTo: self.isMediaViewOverlaying - ? self.listTopMarginView.bottomAnchor - : self.mediaComponent?.bottomAnchor ?? self.listTopMarginView.bottomAnchor, - constant: 0 - ) - self.weakHeaderComponentBottomConstraint.priority = .defaultHigh - 50 - - self.headerComponentConstraints = [ - headerComponent.leadingAnchor.constraint(equalTo: self.view.leadingAnchor), - headerComponent.trailingAnchor.constraint(equalTo: self.view.trailingAnchor), - self.weakHeaderComponentBottomConstraint - ] - } + case .landscapeLeft, .landscapeRight: + self.mediaComponentLeadingConstraintForLandscape?.isActive = true + self.mediaComponentTopConstraintForLandscape?.isActive = true + self.mediaComponentBottomConstraint?.isActive = true + self.mediaComponentWidthConstraint?.isActive = true + + default: + self.mediaComponentLeadingConstraintForPortrait?.isActive = true + self.mediaComponentTrailingConstraintForPortrait?.isActive = true + self.mediaComponentTopConstraintForPortrait?.isActive = true + self.mediaComponentHeightConstraint?.isActive = true } - self.headerComponentConstraints.forEach { $0.isActive = true } + // Header component layout + self.headerComponent?.translatesAutoresizingMaskIntoConstraints = false - if let headerComponent = headerComponent { - let infoViewHeight: CGFloat = self.hideChannelInfoView ? 0 : headerHeight - self.headerHeightConstraint = headerComponent.heightAnchor.constraint( - equalToConstant: infoViewHeight - ) - self.headerHeightConstraint.isActive = true + // for Landscape + self.headerLeadingConstraintForLandscape = headerComponent?.leadingAnchor.constraint( + equalTo: self.listLeftMarginView.leadingAnchor, + constant: 0 + ) + self.headerTopConstraintForLandscape = headerComponent?.topAnchor.constraint(equalTo: self.view.topAnchor) + + // for portrait + self.headerLeadingConstraintForPortrait = headerComponent?.leadingAnchor.constraint( + equalTo: self.view.leadingAnchor, + constant: 0 + ) + self.headerTopConstraintForPortrait = headerComponent?.topAnchor.constraint( + equalTo: self.isMediaViewOverlaying + ? self.listTopMarginView.bottomAnchor + : self.mediaComponent?.bottomAnchor ?? self.listTopMarginView.bottomAnchor, + constant: 0 + ) + self.headerTopConstraintForPortrait?.priority = .defaultHigh - 50 + + // common + self.headerTrailingConstraint = headerComponent?.trailingAnchor.constraint(equalTo: self.view.trailingAnchor) + self.headerTrailingConstraint?.priority = .defaultHigh + + let infoViewHeight: CGFloat = self.hideChannelInfoView ? 0 : headerHeight + self.headerHeightConstraint = headerComponent?.heightAnchor.constraint( + equalToConstant: infoViewHeight + ) + + switch self.currentOrientation { + case .landscapeRight, .landscapeLeft: + self.headerLeadingConstraintForLandscape?.isActive = true + self.headerTopConstraintForLandscape?.isActive = true + default: + // Top (for portrait) + self.headerLeadingConstraintForPortrait?.isActive = true + self.headerTopConstraintForPortrait?.isActive = true + } + + self.headerTrailingConstraint?.isActive = true + self.headerHeightConstraint?.isActive = true + + // list left/top margin + switch self.currentOrientation { + case .landscapeRight, .landscapeLeft: + self.listLeftMarginView.translatesAutoresizingMaskIntoConstraints = false + self.listLeftMarginConstraints = [ + self.listLeftMarginView.leadingAnchor.constraint( + equalTo: self.view.leadingAnchor, + constant: self.currentWidth*(1-self.messageListRatio) + ), + self.listLeftMarginView.topAnchor.constraint(equalTo: self.view.topAnchor), + self.listLeftMarginView.bottomAnchor.constraint(equalTo: self.view.bottomAnchor) + ] + self.listLeftMarginConstraints.forEach { $0.isActive = true } + + default: + // Top (for portrait) + self.listTopMarginView.translatesAutoresizingMaskIntoConstraints = false + self.listTopMarginConstraints = [ + self.listTopMarginView.leadingAnchor.constraint(equalTo: self.view.leadingAnchor), + self.listTopMarginView.trailingAnchor.constraint(equalTo: self.view.trailingAnchor), + self.listTopMarginView.topAnchor.constraint(equalTo: self.view.topAnchor), + self.listTopMarginView.heightAnchor.constraint( + equalTo: self.view.heightAnchor, + multiplier: (1-self.messageListRatio) + ) + ] + self.listTopMarginConstraints.forEach { $0.isActive = true } } if let listComponent = listComponent { listComponent.translatesAutoresizingMaskIntoConstraints = false + + tableViewTopConstraint?.isActive = false + tableViewLeftConstraint?.isActive = false + tableViewRightConstraint?.isActive = false + tableViewBottomConstraint?.isActive = false + self.tableViewTopConstraint = listComponent.topAnchor.constraint( equalTo: self.headerComponent?.bottomAnchor ?? self.view.topAnchor, constant: 0 ) - NSLayoutConstraint.activate([ - self.tableViewTopConstraint, - listComponent.leftAnchor.constraint( - equalTo: self.headerComponent?.leftAnchor ?? self.view.leftAnchor, - constant: 0 - ), - listComponent.rightAnchor.constraint( - equalTo: self.headerComponent?.rightAnchor ?? self.view.rightAnchor, - constant: 0 - ), - listComponent.bottomAnchor.constraint( - equalTo: self.inputComponent?.topAnchor ?? self.view.bottomAnchor, - constant: 0 - ) - ]) + self.tableViewBottomConstraint = listComponent.bottomAnchor.constraint( + equalTo: self.inputComponent?.topAnchor ?? self.view.bottomAnchor, + constant: 0 + ) + self.tableViewLeftConstraint = listComponent.leftAnchor.constraint( + equalTo: self.headerComponent?.leftAnchor ?? self.view.leftAnchor, + constant: 0 + ) + self.tableViewRightConstraint = listComponent.rightAnchor.constraint( + equalTo: self.headerComponent?.rightAnchor ?? self.view.rightAnchor, + constant: 0 + ) + + tableViewTopConstraint?.isActive = true + tableViewLeftConstraint?.isActive = true + tableViewRightConstraint?.isActive = true + tableViewBottomConstraint?.isActive = true } if let inputComponent = inputComponent { inputComponent .sbu_constraint(equalTo: self.listComponent ?? self.view, left: 0, right: 0) - inputComponent.translatesAutoresizingMaskIntoConstraints = false + self.messageInputViewTopConstraint?.isActive = false + self.messageInputViewBottomConstraint?.isActive = false + + self.messageInputViewTopConstraint = inputComponent.topAnchor.constraint( + equalTo: self.listComponent?.bottomAnchor ?? self.view.bottomAnchor, + constant: 0 + ) self.messageInputViewBottomConstraint = self.inputComponent?.bottomAnchor.constraint( equalTo: self.view.bottomAnchor, constant: 0 ) - NSLayoutConstraint.activate([ - inputComponent.topAnchor.constraint( - equalTo: self.listComponent?.bottomAnchor ?? self.view.bottomAnchor, - constant: 0 - ), - messageInputViewBottomConstraint - ]) + + self.messageInputViewTopConstraint?.isActive = true + self.messageInputViewBottomConstraint?.isActive = true } } open override func updateLayouts() { super.updateLayouts() - if let mediaComponent = mediaComponent { - mediaComponent.translatesAutoresizingMaskIntoConstraints = false - // deactive previous constraints - self.mediaComponentConstraint.forEach { $0.isActive = false } + self.mediaComponentLeadingConstraintForPortrait?.isActive = false + self.mediaComponentTopConstraintForPortrait?.isActive = false + self.mediaComponentTrailingConstraintForPortrait?.isActive = false + self.mediaComponentLeadingConstraintForLandscape?.isActive = false + self.mediaComponentTopConstraintForLandscape?.isActive = false + self.mediaComponentBottomConstraint?.isActive = false + self.mediaComponentWidthConstraint?.isActive = false + self.mediaComponentHeightConstraint?.isActive = false + + switch self.currentOrientation { + case .landscapeLeft, .landscapeRight: + self.mediaComponentWidthConstraint = self.isMediaViewEnabled + ? self.mediaComponent?.widthAnchor.constraint( + equalTo: self.view.widthAnchor, + multiplier: self.mediaViewRatio + ) + : self.mediaComponent?.widthAnchor.constraint(equalToConstant: 0) - switch self.currentOrientation { - case .landscapeLeft, .landscapeRight: - self.mediaComponentConstraint = [ - mediaComponent.leadingAnchor.constraint( - equalTo: self.isMediaViewIgnoringSafeArea - ? self.view.leadingAnchor - : self.view.layoutMarginsGuide.leadingAnchor - ), - mediaComponent.topAnchor.constraint(equalTo: self.view.topAnchor), - mediaComponent.bottomAnchor.constraint(equalTo: self.view.bottomAnchor), - self.isMediaViewEnabled - ? mediaComponent.widthAnchor.constraint( - equalTo: self.view.widthAnchor, - multiplier: self.mediaViewRatio - ) - : mediaComponent.widthAnchor.constraint(equalToConstant: 0) - ] - default: - self.mediaComponentConstraint = [ - mediaComponent.leadingAnchor.constraint(equalTo: self.view.leadingAnchor), - mediaComponent.trailingAnchor.constraint(equalTo: self.view.trailingAnchor), - mediaComponent.topAnchor.constraint( - equalTo: self.isMediaViewIgnoringSafeArea - ? self.view.topAnchor - : self.view.layoutMarginsGuide.topAnchor - ), - self.isMediaViewEnabled - ? mediaComponent.heightAnchor.constraint( - equalTo: self.view.heightAnchor, - multiplier: self.mediaViewRatio - ) - : mediaComponent.heightAnchor.constraint(equalToConstant: 0) - ] - } - // active new constraints - self.mediaComponentConstraint.forEach { $0.isActive = true } + self.mediaComponentLeadingConstraintForLandscape?.isActive = true + self.mediaComponentTopConstraintForLandscape?.isActive = true + self.mediaComponentBottomConstraint?.isActive = true + self.mediaComponentWidthConstraint?.isActive = true + + default: + self.mediaComponentHeightConstraint = self.isMediaViewEnabled + ? self.mediaComponent?.heightAnchor.constraint( + equalTo: self.view.heightAnchor, + multiplier: self.mediaViewRatio + ) + : self.mediaComponent?.heightAnchor.constraint(equalToConstant: 0) + + self.mediaComponentLeadingConstraintForPortrait?.isActive = true + self.mediaComponentTrailingConstraintForPortrait?.isActive = true + self.mediaComponentTopConstraintForPortrait?.isActive = true + self.mediaComponentHeightConstraint?.isActive = true } - - self.headerComponentConstraints.forEach { $0.isActive = false } + + self.headerLeadingConstraintForPortrait?.isActive = false + self.headerLeadingConstraintForLandscape?.isActive = false + self.headerTopConstraintForPortrait?.isActive = false + self.headerTopConstraintForLandscape?.isActive = false + self.headerHeightConstraint?.isActive = false switch self.currentOrientation { - case .landscapeLeft, .landscapeRight: - // Left (for landscape) - self.listLeftMarginView.translatesAutoresizingMaskIntoConstraints = false - self.listLeftMarginConstraints.forEach { $0.isActive = false } - self.listLeftMarginConstraints = [ - self.listLeftMarginView.leadingAnchor.constraint( - equalTo: self.view.leadingAnchor, - constant: self.currentWidth*(1-self.messageListRatio) - ), - self.listLeftMarginView.trailingAnchor.constraint(equalTo: self.view.trailingAnchor), - self.listLeftMarginView.topAnchor.constraint(equalTo: self.view.topAnchor), - self.listLeftMarginView.bottomAnchor.constraint(equalTo: self.view.bottomAnchor) - ] - self.listLeftMarginConstraints.forEach { $0.isActive = true } - - if let headerComponent = self.headerComponent { - headerComponent.translatesAutoresizingMaskIntoConstraints = false - self.headerComponentConstraints = [ - headerComponent.trailingAnchor.constraint(equalTo: self.view.trailingAnchor), - headerComponent.topAnchor.constraint(equalTo: self.view.topAnchor), - headerComponent.leadingAnchor.constraint( - equalTo: self.listLeftMarginView.leadingAnchor, - constant: 0 - ) - ] - } - default: - // Top (for portrait) - self.listTopMarginView.translatesAutoresizingMaskIntoConstraints = false - self.listTopMarginConstraints.forEach { $0.isActive = false } - self.listTopMarginConstraints = [ - self.listTopMarginView.leadingAnchor.constraint(equalTo: self.view.leadingAnchor), - self.listTopMarginView.trailingAnchor.constraint(equalTo: self.view.trailingAnchor), - self.listTopMarginView.topAnchor.constraint(equalTo: self.view.topAnchor), - self.listTopMarginView.heightAnchor.constraint( - equalTo: self.view.heightAnchor, - multiplier: (1-self.messageListRatio) - ) - ] - self.listTopMarginConstraints.forEach { $0.isActive = true } - - if let headerComponent = headerComponent { - // Channel info - headerComponent.translatesAutoresizingMaskIntoConstraints = false - self.headerComponentConstraints = [ - headerComponent.leadingAnchor.constraint(equalTo: self.view.leadingAnchor), - headerComponent.trailingAnchor.constraint(equalTo: self.view.trailingAnchor), - headerComponent.topAnchor.constraint( - equalTo: self.isMediaViewOverlaying - ? self.listTopMarginView.bottomAnchor - : self.mediaComponent?.bottomAnchor ?? self.view.topAnchor, - constant: 0 - ) - ] - } + case .landscapeRight, .landscapeLeft: + self.headerLeadingConstraintForLandscape?.isActive = true + self.headerTopConstraintForLandscape?.isActive = true + + default: + // Top (for portrait) + self.headerLeadingConstraintForPortrait?.isActive = true + self.headerTopConstraintForPortrait?.isActive = true } - self.headerComponentConstraints.forEach { $0.isActive = true } + self.headerHeightConstraint?.isActive = true - if let headerComponent = headerComponent { - let infoViewHeight: CGFloat = self.hideChannelInfoView ? 0 : headerHeight - self.headerHeightConstraint = headerComponent.heightAnchor.constraint( - equalToConstant: infoViewHeight - ) - self.headerHeightConstraint.isActive = true + // list left/top margin + self.listLeftMarginConstraints.forEach { $0.isActive = false } + self.listTopMarginConstraints.forEach { $0.isActive = false } + + switch self.currentOrientation { + case .landscapeRight, .landscapeLeft: + self.listLeftMarginView.translatesAutoresizingMaskIntoConstraints = false + self.listLeftMarginConstraints = [ + self.listLeftMarginView.leadingAnchor.constraint( + equalTo: self.view.leadingAnchor, + constant: self.currentWidth*(1-self.messageListRatio) + ), + self.listLeftMarginView.topAnchor.constraint(equalTo: self.view.topAnchor), + self.listLeftMarginView.bottomAnchor.constraint(equalTo: self.view.bottomAnchor) + ] + self.listLeftMarginConstraints.forEach { $0.isActive = true } + + default: + // Top (for portrait) + self.listTopMarginView.translatesAutoresizingMaskIntoConstraints = false + self.listTopMarginConstraints = [ + self.listTopMarginView.leadingAnchor.constraint(equalTo: self.view.leadingAnchor), + self.listTopMarginView.trailingAnchor.constraint(equalTo: self.view.trailingAnchor), + self.listTopMarginView.topAnchor.constraint(equalTo: self.view.topAnchor), + self.listTopMarginView.heightAnchor.constraint( + equalTo: self.view.heightAnchor, + multiplier: (1-self.messageListRatio) + ) + ] + self.listTopMarginConstraints.forEach { $0.isActive = true } } if let listComponent = listComponent { @@ -525,13 +540,13 @@ open class SBUOpenChannelViewController: SBUBaseChannelViewController, SBUOpenCh self.setupStyles(theme: theme) } - open override func updateStyles() { + open override func updateStyles(needsToLayout: Bool) { self.setupStyles() super.updateStyles() self.headerComponent?.updateStyles(overlaid: self.isMediaViewOverlaying) self.inputComponent?.updateStyles(overlaid: self.isMediaViewOverlaying) - + // Invokes `updateStyles(overlaid:)` instead of `updateStyles(theme:componentTheme:)` self.listComponent? .updateStyles( @@ -543,11 +558,15 @@ open class SBUOpenChannelViewController: SBUBaseChannelViewController, SBUOpenCh : SBUTheme.componentTheme ) - self.listComponent?.reloadTableView() + self.listComponent?.reloadTableView(needsToLayout: needsToLayout) } - + + open override func updateStyles() { + self.updateStyles(needsToLayout: true) + } + // MARK: - Channel - + /// This function updates channel info view. If `channelDescription` is set, this value is used for channel info view configuring. public func updateChannelInfoView() { if let headerComponent = headerComponent { @@ -667,10 +686,11 @@ open class SBUOpenChannelViewController: SBUBaseChannelViewController, SBUOpenCh public func configureOffset() { guard let tableView = self.listComponent?.tableView else { return } guard tableView.contentOffset.y < 0, - self.tableViewTopConstraint.constant <= 0 else { return } + let tableViewTopConstraint = self.tableViewTopConstraint, + tableViewTopConstraint.constant <= 0 else { return } let tempOffset = tableView.contentOffset.y - self.tableViewTopConstraint.constant -= tempOffset + self.tableViewTopConstraint?.constant -= tempOffset } // MARK: - Navigation @@ -780,7 +800,7 @@ open class SBUOpenChannelViewController: SBUBaseChannelViewController, SBUOpenCh open func openChannelModuleIsOverlaid(_ listComponent: SBUOpenChannelModule.List) -> Bool { self.isMediaViewOverlaying } - + // MARK: - SBUOpenChannelModuleInputDelegate open override func baseChannelModule(_ inputComponent: SBUBaseChannelModule.Input, didUpdateFrozenState isFrozen: Bool) { self.listComponent?.channelStateBanner?.isHidden = !isFrozen @@ -825,34 +845,34 @@ open class SBUOpenChannelViewController: SBUBaseChannelViewController, SBUOpenCh // channel changed switch context.source { - case .channelChangelog: - self.updateChannelTitle() - self.updateChannelStatus() - self.updateChannelInfoView() - self.updateBarButton() - self.inputComponent?.updateMessageInputModeState() - self.listComponent?.reloadTableView() - - case .eventChannelChanged: - self.updateChannelTitle() - self.updateChannelStatus() - self.updateChannelInfoView() - self.updateBarButton() - self.inputComponent?.updateMessageInputModeState() - - case .eventChannelFrozen, .eventChannelUnfrozen, - .eventUserMuted, .eventUserUnmuted, - .eventOperatorUpdated, - .eventUserBanned: // Other User Banned - self.updateChannelTitle() - self.updateBarButton() - self.inputComponent?.updateMessageInputModeState() - + case .channelChangelog: + self.updateChannelTitle() + self.updateChannelStatus() + self.updateChannelInfoView() + self.updateBarButton() + self.inputComponent?.updateMessageInputModeState() + self.listComponent?.reloadTableView() + + case .eventChannelChanged: + self.updateChannelTitle() + self.updateChannelStatus() + self.updateChannelInfoView() + self.updateBarButton() + self.inputComponent?.updateMessageInputModeState() + + case .eventChannelFrozen, .eventChannelUnfrozen, + .eventUserMuted, .eventUserUnmuted, + .eventOperatorUpdated, + .eventUserBanned: // Other User Banned + self.updateChannelTitle() + self.updateBarButton() + self.inputComponent?.updateMessageInputModeState() + case .eventChannelMemberCountChanged: self.updateChannelTitle() self.listComponent?.reloadTableView() - default: break + default: break } } } diff --git a/Sources/View/ChannelList/ChannelCell/SBUGroupChannelCell.swift b/Sources/View/ChannelList/ChannelCell/SBUGroupChannelCell.swift index fdbd8a041..c3b1638b4 100644 --- a/Sources/View/ChannelList/ChannelCell/SBUGroupChannelCell.swift +++ b/Sources/View/ChannelList/ChannelCell/SBUGroupChannelCell.swift @@ -298,16 +298,16 @@ open class SBUGroupChannelCell: SBUBaseChannelCell { case let fileMessage as FileMessage: self.messageLabel.lineBreakMode = .byTruncatingMiddle - if SBUUtils.getFileType(by: fileMessage) == .voice { - self.messageLabel.text = SBUStringSet.VoiceMessage.Preview.channelList - } else { - self.messageLabel.text = fileMessage.name - } + self.messageLabel.text = SBUUtils.getFileTypeString(by: fileMessage.type) case let adminMessage as AdminMessage: self.messageLabel.lineBreakMode = .byTruncatingMiddle self.messageLabel.text = adminMessage.message - + + case _ as MultipleFilesMessage: + self.messageLabel.lineBreakMode = .byTruncatingMiddle + self.messageLabel.text = SBUStringSet.GroupChannel.Preview.multipleFiles + default: self.messageLabel.text = "" } @@ -350,17 +350,16 @@ open class SBUGroupChannelCell: SBUBaseChannelCell { messageLabel.text = userMessage.message messageLabel.numberOfLines = 2 case let fileMessage as FileMessage: - messageLabel.lineBreakMode = .byTruncatingMiddle - if SBUUtils.getFileType(by: fileMessage) == .voice { - self.messageLabel.text = SBUStringSet.VoiceMessage.Preview.channelList - } else { - self.messageLabel.text = fileMessage.name - } + self.messageLabel.lineBreakMode = .byTruncatingMiddle + self.messageLabel.text = SBUUtils.getFileTypeString(by: fileMessage.type) case let adminMessage as AdminMessage: if groupChannel.isChatNotification { self.messageLabel.lineBreakMode = .byTruncatingMiddle self.messageLabel.text = adminMessage.message } + case _ as MultipleFilesMessage: + self.messageLabel.lineBreakMode = .byTruncatingMiddle + self.messageLabel.text = SBUStringSet.GroupChannel.Preview.multipleFiles default: messageLabel.text = "" } diff --git a/Sources/View/ChannelSettings/View/SBUChannelSettingsChannelInfoView.swift b/Sources/View/ChannelSettings/View/SBUChannelSettingsChannelInfoView.swift index 6831b8508..f4e4c02d7 100644 --- a/Sources/View/ChannelSettings/View/SBUChannelSettingsChannelInfoView.swift +++ b/Sources/View/ChannelSettings/View/SBUChannelSettingsChannelInfoView.swift @@ -26,8 +26,8 @@ public class SBUChannelSettingsChannelInfoView: SBUView { let kCoverImageSize: CGFloat = 64.0 - var lineViewBottomConstraint: NSLayoutConstraint! - var urlLineViewBottomConstraint: NSLayoutConstraint! + var lineViewBottomConstraint: NSLayoutConstraint? + var urlLineViewBottomConstraint: NSLayoutConstraint? override init() { super.init(frame: .zero) @@ -103,6 +103,8 @@ public class SBUChannelSettingsChannelInfoView: SBUView { topAnchor: self.stackView.bottomAnchor, top: 20 ) .sbu_constraint(height: 0.5) + + self.lineViewBottomConstraint?.isActive = false self.lineViewBottomConstraint = self.lineView.bottomAnchor.constraint(equalTo: self.bottomAnchor, constant: 0) self.urlTitleLabel @@ -127,6 +129,7 @@ public class SBUChannelSettingsChannelInfoView: SBUView { ) .sbu_constraint(height: 0.5) + self.urlLineViewBottomConstraint?.isActive = false self.urlLineViewBottomConstraint = self.urlLineView.bottomAnchor.constraint(equalTo: self.bottomAnchor, constant: 0) } @@ -205,7 +208,7 @@ public class SBUChannelSettingsChannelInfoView: SBUView { self.urlLabel.isHidden = !isOpenChannel self.urlLineView.isHidden = !isOpenChannel - self.urlLineViewBottomConstraint.isActive = isOpenChannel - self.lineViewBottomConstraint.isActive = !isOpenChannel + self.urlLineViewBottomConstraint?.isActive = isOpenChannel + self.lineViewBottomConstraint?.isActive = !isOpenChannel } } diff --git a/Sources/View/Common/Menu/SBUMenuSheetViewController.swift b/Sources/View/Common/Menu/SBUMenuSheetViewController.swift index 824099213..e902982cb 100644 --- a/Sources/View/Common/Menu/SBUMenuSheetViewController.swift +++ b/Sources/View/Common/Menu/SBUMenuSheetViewController.swift @@ -113,12 +113,11 @@ public class SBUMenuSheetViewController: SBUBaseViewController, UITableViewDeleg } public override func setupLayouts() { - self.tableView.setConstraint(from: self.view, left: 0, right: 0, top: 0, bottom: 0) - self.tableView.layoutIfNeeded() - + self.tableView.sbu_constraint(equalTo: self.view, left: 0, right: 0, top: 0, bottom: 0) + if let tableHeaderView = self.tableView.tableHeaderView { - self.collectionView.setConstraint( - from: tableHeaderView, + self.collectionView.sbu_constraint( + equalTo: tableHeaderView, left: 0, right: 0, top: 0, diff --git a/Sources/View/Common/PhotoLibrary/SBUSelectablePhotoViewController.swift b/Sources/View/Common/PhotoLibrary/SBUSelectablePhotoViewController.swift index 98bd53134..8038d343c 100644 --- a/Sources/View/Common/PhotoLibrary/SBUSelectablePhotoViewController.swift +++ b/Sources/View/Common/PhotoLibrary/SBUSelectablePhotoViewController.swift @@ -274,10 +274,10 @@ extension SBUSelectablePhotoViewController: UICollectionViewDelegate, UICollecti } else { PHImageManager().requestImage(for: asset, targetSize: PHImageManagerMaximumSize, contentMode: .aspectFill, options: requestOptions) { image, _ in - guard let image = image?.fixedOrientation(), - let imageData = image.sbu_convertToData() else { return } - DispatchQueue.main.async { [weak self] in + guard let image = image?.fixedOrientation(), + let imageData = image.sbu_convertToData() else { return } + guard let self = self else { return } self.delegate?.didTapSendImageData(imageData, fileName: fileName, mimeType: mimeType) self.dismiss(animated: true, completion: nil) diff --git a/Sources/View/Common/SBUCoverImageView.swift b/Sources/View/Common/SBUCoverImageView.swift index f5611beae..2deeef326 100644 --- a/Sources/View/Common/SBUCoverImageView.swift +++ b/Sources/View/Common/SBUCoverImageView.swift @@ -136,22 +136,25 @@ public class SBUCoverImageView: UIView { makeCircle: Bool = false, contentMode: ContentMode = .center ) { - let imageView = self.createImageView( - withImage: image, - backgroundColor: backgroundColor, - makeCircle: makeCircle, - contentMode: contentMode - ) - self.addSubview(imageView) - - let subviews = self.subviews - for subView in subviews { - if subView != imageView { - subView.removeFromSuperview() + DispatchQueue.main.async { [weak self] in + guard let self = self else { return } + let imageView = self.createImageView( + withImage: image, + backgroundColor: backgroundColor, + makeCircle: makeCircle, + contentMode: contentMode + ) + self.addSubview(imageView) + + let subviews = self.subviews + for subView in subviews { + if subView != imageView { + subView.removeFromSuperview() + } } + + self.makeCircularWithSpacing(spacing: 0) } - - self.makeCircularWithSpacing(spacing: 0) } // MARK: - Internal diff --git a/Sources/View/Common/SBUEmptyView.swift b/Sources/View/Common/SBUEmptyView.swift index 14bfaf613..24b3cc6dd 100644 --- a/Sources/View/Common/SBUEmptyView.swift +++ b/Sources/View/Common/SBUEmptyView.swift @@ -46,16 +46,15 @@ open class SBUEmptyView: SBUView { // MARK: - Properties (Private) - lazy var stackView: UIStackView = { - let stackView = UIStackView() - stackView.spacing = 24 - stackView.axis = .vertical - stackView.alignment = .center - return stackView + lazy var topView = UIView() + + lazy var baseStackView: SBUStackView = { + return SBUStackView(axis: .vertical, alignment: .center) }() - var topMargin = UIView() - var bottomMargin = UIView() + lazy var stackView: SBUStackView = { + return SBUStackView(axis: .vertical, alignment: .center, spacing: 24) + }() // MARK: - Lifecycle override public init(frame: CGRect) { @@ -74,41 +73,41 @@ open class SBUEmptyView: SBUView { open override func setupViews() { super.setupViews() + self.baseStackView.setVStack([ + self.topView, + self.stackView + ]) + self.stackView.setVStack([ - self.topMargin, self.statusImageView, self.statusLabel, - self.retryButton, - self.bottomMargin + self.retryButton ]) self.retryButton.isHidden = true - self.addSubview(stackView) + + self.addSubview(self.baseStackView) self.isHidden = true } open override func setupLayouts() { super.setupLayouts() - self.topMargin.translatesAutoresizingMaskIntoConstraints = false - self.bottomMargin.translatesAutoresizingMaskIntoConstraints = false - self.topMargin.heightAnchor.constraint(equalTo: self.bottomMargin.heightAnchor, multiplier: 1.0).isActive = true - self.topMargin.sbu_constraint_greaterThan(height: 0) - self.topMargin.sbu_constraint(width: self.frame.width) - self.bottomMargin.sbu_constraint(width: self.frame.width) + self.emptyViewTopConstraint = self.topView.heightAnchor.constraint(equalToConstant: 0) - self.stackView.sbu_constraint(equalTo: self, leading: 0, trailing: 0, bottom: 0) + self.baseStackView + .sbu_constraint(equalTo: self, leading: 0, trailing: 0) + .sbu_constraint(equalTo: self, centerY: 0) - self.statusImageView.setConstraint(width: 60.0, height: 60.0) + self.statusImageView + .sbu_constraint(width: 60.0, priority: .defaultLow) + .sbu_constraint(height: 60.0) self.updateTopAnchorConstraint(constant: 0) } open func updateTopAnchorConstraint(constant: CGFloat) { self.emptyViewTopConstraint?.isActive = false - self.emptyViewTopConstraint = self.stackView.topAnchor.constraint( - equalTo: self.topAnchor, - constant: constant - ) + self.emptyViewTopConstraint?.constant = constant self.emptyViewTopConstraint?.isActive = true } diff --git a/Sources/View/Common/SBUNavigationTitleView.swift b/Sources/View/Common/SBUNavigationTitleView.swift index 81e524baf..140ed937d 100644 --- a/Sources/View/Common/SBUNavigationTitleView.swift +++ b/Sources/View/Common/SBUNavigationTitleView.swift @@ -39,13 +39,7 @@ public class SBUNavigationTitleView: SBUView { public override func setupLayouts() { super.setupLayouts() - self.titleLabel.translatesAutoresizingMaskIntoConstraints = false - NSLayoutConstraint.activate([ - self.titleLabel.topAnchor.constraint(equalTo: self.topAnchor, constant: 0), - self.titleLabel.leftAnchor.constraint(equalTo: self.leftAnchor, constant: 0), - self.titleLabel.rightAnchor.constraint(equalTo: self.rightAnchor, constant: 0), - self.titleLabel.bottomAnchor.constraint(equalTo: self.bottomAnchor, constant: 0), - ]) + self.titleLabel.sbu_constraint(equalTo: self, left: 0, right: 0, top: 0, bottom: 0) } public override func setupStyles() { diff --git a/Sources/View/Common/SBUNotificationNavigationTitleView.swift b/Sources/View/Common/SBUNotificationNavigationTitleView.swift index fbe2c7adf..7bec3b6e4 100644 --- a/Sources/View/Common/SBUNotificationNavigationTitleView.swift +++ b/Sources/View/Common/SBUNotificationNavigationTitleView.swift @@ -43,13 +43,7 @@ class SBUNotificationNavigationTitleView: SBUView { override func setupLayouts() { super.setupLayouts() - self.titleLabel.translatesAutoresizingMaskIntoConstraints = false - NSLayoutConstraint.activate([ - self.titleLabel.topAnchor.constraint(equalTo: self.topAnchor, constant: 0), - self.titleLabel.leftAnchor.constraint(equalTo: self.leftAnchor, constant: 0), - self.titleLabel.rightAnchor.constraint(equalTo: self.rightAnchor, constant: 0), - self.titleLabel.bottomAnchor.constraint(equalTo: self.bottomAnchor, constant: 0), - ]) + self.titleLabel.sbu_constraint(equalTo: self, left: 0, right: 0, top: 0, bottom: 0) } override func setupStyles() { diff --git a/Sources/View/Common/SBUPaddingLabel.swift b/Sources/View/Common/SBUPaddingLabel.swift index ca7d0e66b..828cf3ded 100644 --- a/Sources/View/Common/SBUPaddingLabel.swift +++ b/Sources/View/Common/SBUPaddingLabel.swift @@ -55,4 +55,11 @@ public class SBUPaddingLabel: UILabel { let vertical = top + bottom return CGSize(width: size.width + horizontal, height: size.height + vertical) } + + func resetPadding() { + self.top = 0 + self.bottom = 0 + self.leading = 0 + self.trailing = 0 + } } diff --git a/Sources/View/Common/User/SBUUserProfileView.swift b/Sources/View/Common/User/SBUUserProfileView.swift index 627f46fe6..1cb58b07e 100644 --- a/Sources/View/Common/User/SBUUserProfileView.swift +++ b/Sources/View/Common/User/SBUUserProfileView.swift @@ -199,49 +199,49 @@ class SBUUserProfileView: UIView, SBUUserProfileViewProtocol { func setupLayouts() { self.sbu_constraint(equalTo: self.baseView, leading: 0, trailing: 0, top: 0, bottom: 0) - self.sbu_constraint_equalTo( - topAnchor: self.safeAreaLayoutGuide.topAnchor, - top: 0 - ) + self.backgroundCloseButton .sbu_constraint(equalTo: self, leading: 0, trailing: 0, top: 0, bottom: 0) - self.contentView.sbu_constraint(equalTo: self, leading: 0, trailing: 0, bottom: 0) + self.contentView.sbu_constraint(equalTo: self, leading: 0, trailing: 0) self.profileImageView .sbu_constraint(equalTo: self.contentView, top: 32, centerX: 0) .sbu_constraint(width: kProfileImageSize, height: kProfileImageSize) - self.largeMessageButton.sbu_constraint(height: kLargeItemSize) + self.largeMessageButton + .sbu_constraint(height: kLargeItemSize, priority: .defaultHigh) - self.menuStackView.translatesAutoresizingMaskIntoConstraints = false - self.userNameLabel.translatesAutoresizingMaskIntoConstraints = false - self.userIdTitleLabel.translatesAutoresizingMaskIntoConstraints = false - self.userIdLabel.translatesAutoresizingMaskIntoConstraints = false - self.separatorView.translatesAutoresizingMaskIntoConstraints = false - NSLayoutConstraint.activate([ + NSLayoutConstraint.sbu_activate(baseView: self.userNameLabel, constraints: [ + self.userNameLabel.topAnchor.constraint(equalTo: self.profileImageView.bottomAnchor, constant: 8), + self.userNameLabel.leadingAnchor.constraint(equalTo: self.contentView.safeAreaLayoutGuide.leadingAnchor, constant: 20), + self.userNameLabel.trailingAnchor.constraint(equalTo: self.contentView.safeAreaLayoutGuide.trailingAnchor, constant: -21) + ]) + + NSLayoutConstraint.sbu_activate(baseView: self.menuStackView, constraints: [ self.menuStackView.topAnchor.constraint(equalTo: self.userNameLabel.bottomAnchor, constant: 16), - self.menuStackView.centerXAnchor.constraint(equalTo: self.contentView.centerXAnchor), - self.separatorView.centerXAnchor.constraint(equalTo: self.contentView.centerXAnchor), + self.menuStackView.leadingAnchor.constraint(equalTo: self.contentView.safeAreaLayoutGuide.leadingAnchor, constant: 22), + self.menuStackView.trailingAnchor.constraint(equalTo: self.contentView.safeAreaLayoutGuide.trailingAnchor, constant: -23) + ]) + + NSLayoutConstraint.sbu_activate(baseView: self.separatorView, constraints: [ self.separatorView.heightAnchor.constraint(equalToConstant: 1), - self.userNameLabel.topAnchor.constraint(equalTo: self.profileImageView.bottomAnchor, constant: 8), - self.userIdTitleLabel.topAnchor.constraint(equalTo: self.separatorView.bottomAnchor, constant: 24), + self.separatorView.leadingAnchor.constraint(equalTo: self.contentView.safeAreaLayoutGuide.leadingAnchor, constant: 24), + self.separatorView.trailingAnchor.constraint(equalTo: self.contentView.safeAreaLayoutGuide.trailingAnchor, constant: -25) + ]) + + NSLayoutConstraint.sbu_activate(baseView: self.userIdTitleLabel, constraints: [ + self.userIdTitleLabel.topAnchor.constraint(equalTo: self.separatorView.bottomAnchor, constant: 26), self.userIdTitleLabel.heightAnchor.constraint(equalToConstant: 20), - self.userIdLabel.topAnchor.constraint(equalTo: self.userIdTitleLabel.bottomAnchor, constant: 2), - self.userIdLabel.heightAnchor.constraint(equalToConstant: 20) + self.userIdTitleLabel.leadingAnchor.constraint(equalTo: self.contentView.safeAreaLayoutGuide.leadingAnchor, constant: 27), + self.userIdTitleLabel.trailingAnchor.constraint(equalTo: self.contentView.safeAreaLayoutGuide.trailingAnchor, constant: -28) ]) - NSLayoutConstraint.activate([ - self.menuStackView.leadingAnchor.constraint(equalTo: self.contentView.safeAreaLayoutGuide.leadingAnchor, constant: 24), - self.menuStackView.trailingAnchor.constraint(equalTo: self.contentView.safeAreaLayoutGuide.trailingAnchor, constant: -24), - self.separatorView.leadingAnchor.constraint(equalTo: self.contentView.safeAreaLayoutGuide.leadingAnchor, constant: 24), - self.separatorView.trailingAnchor.constraint(equalTo: self.contentView.safeAreaLayoutGuide.trailingAnchor, constant: -24), - self.userNameLabel.leadingAnchor.constraint(equalTo: self.contentView.safeAreaLayoutGuide.leadingAnchor, constant: 24), - self.userNameLabel.trailingAnchor.constraint(equalTo: self.contentView.safeAreaLayoutGuide.trailingAnchor, constant: -24), - self.userIdTitleLabel.leadingAnchor.constraint(equalTo: self.contentView.safeAreaLayoutGuide.leadingAnchor, constant: 24), - self.userIdTitleLabel.trailingAnchor.constraint(equalTo: self.contentView.safeAreaLayoutGuide.trailingAnchor, constant: -24), - self.userIdLabel.leadingAnchor.constraint(equalTo: self.contentView.safeAreaLayoutGuide.leadingAnchor, constant: 24), - self.userIdLabel.trailingAnchor.constraint(equalTo: self.contentView.safeAreaLayoutGuide.trailingAnchor, constant: -24) + NSLayoutConstraint.sbu_activate(baseView: self.userIdLabel, constraints: [ + self.userIdLabel.topAnchor.constraint(equalTo: self.userIdTitleLabel.bottomAnchor, constant: 2), + self.userIdLabel.heightAnchor.constraint(equalToConstant: 20), + self.userIdLabel.leadingAnchor.constraint(equalTo: self.contentView.safeAreaLayoutGuide.leadingAnchor, constant: 29), + self.userIdLabel.trailingAnchor.constraint(equalTo: self.contentView.safeAreaLayoutGuide.trailingAnchor, constant: -30) ]) if (self.user?.userId == SBUGlobals.currentUser?.userId) || self.isMenuStackViewHidden { @@ -260,7 +260,7 @@ class SBUUserProfileView: UIView, SBUUserProfileViewProtocol { let bottomInset = UIApplication.shared.currentWindow?.safeAreaInsets.bottom ?? 0.0 let bottomMargin: CGFloat = 20 + bottomInset - self.userIdLabel.sbu_constraint(equalTo: self.contentView, bottom: bottomMargin) + self.userIdLabel.sbu_constraint(equalTo: self.contentView, bottom: bottomMargin, priority: .defaultLow) self.contentBottomConstraint = self.contentView.bottomAnchor.constraint( equalTo: self.bottomAnchor, diff --git a/Sources/View/Life cycles/SBUCollectionViewCell.swift b/Sources/View/Life cycles/SBUCollectionViewCell.swift new file mode 100644 index 000000000..3849355c3 --- /dev/null +++ b/Sources/View/Life cycles/SBUCollectionViewCell.swift @@ -0,0 +1,46 @@ +// +// SBUCollectionViewCell.swift +// SendbirdUIKit +// +// Created by Celine Moon on 2023/08/04. +// Copyright © 2023 Sendbird, Inc. All rights reserved. +// + +import UIKit + +/// Collection view cell that conforms to ``SBUViewLifeCycle``. +/// - Since: 3.10.0 +open class SBUCollectionViewCell: UICollectionViewCell { + public override init(frame: CGRect) { + super.init(frame: frame) + self.setupViews() + self.setupLayouts() + self.setupActions() + } + + required public init?(coder: NSCoder) { + super.init(coder: coder) + self.setupViews() + self.setupLayouts() + self.setupActions() + } + + open override func layoutSubviews() { + super.layoutSubviews() + self.setupStyles() + } +} + +extension SBUCollectionViewCell: SBUViewLifeCycle { + public func setupViews() { } + + public func setupStyles() { } + + public func updateStyles() { } + + public func setupLayouts() { } + + public func updateLayouts() { } + + public func setupActions() { } +} diff --git a/Sources/View/MessageSearch/Cell/SBUMessageSearchResultCell.swift b/Sources/View/MessageSearch/Cell/SBUMessageSearchResultCell.swift index c57bd4e99..722bd9cca 100644 --- a/Sources/View/MessageSearch/Cell/SBUMessageSearchResultCell.swift +++ b/Sources/View/MessageSearch/Cell/SBUMessageSearchResultCell.swift @@ -220,6 +220,29 @@ open class SBUMessageSearchResultCell: SBUTableViewCell { self.fileStackView.isHidden = true switch message { + case let multipleFilesMessage as MultipleFilesMessage: + self.fileStackView.isHidden = false + self.fileMessageIcon.isHidden = false + + let matchedFile: UploadedFileInfo = multipleFilesMessage.files[0] + + self.fileMessageLabel.text = matchedFile.fileName + + let iconType: SBUIconSetType + + if let fileType = matchedFile.mimeType, + fileType.hasPrefix("image/gif") { + iconType = SBUIconSetType.iconGif + } else { + iconType = SBUIconSetType.iconPhoto + } + + self.fileMessageIcon.image = iconType.image( + with: self.theme.fileMessageIconTintColor, + to: SBUIconSetType.Metric.defaultIconSizeMedium + ) + self.fileMessageIcon.backgroundColor = self.theme.fileMessageIconBackgroundColor + case let fileMessage as FileMessage: self.fileStackView.isHidden = false self.fileMessageIcon.isHidden = false diff --git a/Sources/View/MessageThread/SBUMessageThreadViewController.swift b/Sources/View/MessageThread/SBUMessageThreadViewController.swift index d318d45fb..1cca1040e 100644 --- a/Sources/View/MessageThread/SBUMessageThreadViewController.swift +++ b/Sources/View/MessageThread/SBUMessageThreadViewController.swift @@ -11,6 +11,7 @@ import SendbirdChatSDK import Photos import AVKit import SafariServices +import PhotosUI public protocol SBUMessageThreadViewControllerDelegate: AnyObject { /// Called when `SBUThreadInfoView` was tapped. @@ -145,6 +146,16 @@ open class SBUMessageThreadViewController: SBUBaseChannelViewController, SBUMess ) } + open override func viewWillTransition(to size: CGSize, with coordinator: UIViewControllerTransitionCoordinator) { + super.viewWillTransition(to: size, with: coordinator) + + self.listComponent?.parentMessageInfoView.updateMessageTextWidth(with: size) + + coordinator.animate(alongsideTransition: { (context) in + self.listComponent?.reloadInputViews() + }, completion: nil) + } + open override func applicationWillResignActivity() { self.resetVoiceMessageInput(for: true) self.dismissVoiceMessageInput() @@ -226,45 +237,64 @@ open class SBUMessageThreadViewController: SBUBaseChannelViewController, SBUMess open override func setupLayouts() { super.setupLayouts() - self.listComponent?.translatesAutoresizingMaskIntoConstraints = false if let listComponent = listComponent { + listComponent.translatesAutoresizingMaskIntoConstraints = false + + tableViewTopConstraint?.isActive = false + tableViewBottomConstraint?.isActive = false + tableViewLeftConstraint?.isActive = false + tableViewRightConstraint?.isActive = false + self.tableViewTopConstraint = listComponent.topAnchor.constraint( equalTo: self.view.topAnchor, constant: 0 ) - - NSLayoutConstraint.activate([ - self.tableViewTopConstraint, - listComponent.leftAnchor.constraint(equalTo: self.view.leftAnchor, constant: 0), - listComponent.rightAnchor.constraint(equalTo: self.view.rightAnchor, constant: 0), - listComponent.bottomAnchor.constraint( - equalTo: self.inputComponent?.topAnchor ?? self.view.bottomAnchor, - constant: 0 - ) - ]) - } - - self.inputComponent?.translatesAutoresizingMaskIntoConstraints = false - self.messageInputViewBottomConstraint = self.inputComponent?.bottomAnchor.constraint( - equalTo: self.view.bottomAnchor, - constant: 0 - ) + self.tableViewBottomConstraint = listComponent.bottomAnchor.constraint( + equalTo: self.inputComponent?.topAnchor ?? self.view.bottomAnchor, + constant: 0 + ) + self.tableViewLeftConstraint = listComponent.leftAnchor.constraint( + equalTo: self.view.leftAnchor, constant: 0 + ) + self.tableViewRightConstraint = listComponent.rightAnchor.constraint( + equalTo: self.view.rightAnchor, constant: 0 + ) + + tableViewTopConstraint?.isActive = true + tableViewBottomConstraint?.isActive = true + tableViewLeftConstraint?.isActive = true + tableViewRightConstraint?.isActive = true + } + if let inputComponent = self.inputComponent { - NSLayoutConstraint.activate([ - inputComponent.topAnchor.constraint( - equalTo: self.listComponent?.bottomAnchor ?? self.view.bottomAnchor, - constant: 0 - ), - inputComponent.leftAnchor.constraint( - equalTo: self.view.leftAnchor, - constant: 0 - ), - inputComponent.rightAnchor.constraint( - equalTo: self.view.rightAnchor, - constant: 0 - ), - messageInputViewBottomConstraint - ]) + inputComponent.translatesAutoresizingMaskIntoConstraints = false + + messageInputViewTopConstraint?.isActive = false + messageInputViewBottomConstraint?.isActive = false + messageInputViewLeftConstraint?.isActive = false + messageInputViewRightConstraint?.isActive = false + + self.messageInputViewTopConstraint = inputComponent.topAnchor.constraint( + equalTo: self.listComponent?.bottomAnchor ?? self.view.bottomAnchor, + constant: 0 + ) + self.messageInputViewBottomConstraint = inputComponent.bottomAnchor.constraint( + equalTo: self.view.bottomAnchor, + constant: 0 + ) + self.messageInputViewLeftConstraint = inputComponent.leftAnchor.constraint( + equalTo: self.view.leftAnchor, + constant: 0 + ) + self.messageInputViewRightConstraint = inputComponent.rightAnchor.constraint( + equalTo: self.view.rightAnchor, + constant: 0 + ) + + messageInputViewTopConstraint?.isActive = true + messageInputViewBottomConstraint?.isActive = true + messageInputViewLeftConstraint?.isActive = true + messageInputViewRightConstraint?.isActive = true } } @@ -272,14 +302,20 @@ open class SBUMessageThreadViewController: SBUBaseChannelViewController, SBUMess super.setupStyles() } - open override func updateStyles() { + open override func updateStyles(needsToLayout: Bool) { self.setupStyles() super.updateStyles() self.headerComponent?.updateStyles(theme: self.theme) self.listComponent?.updateStyles(theme: self.theme) - self.listComponent?.reloadTableView() + if self.listComponent?.frame != .zero { + self.listComponent?.reloadTableView(needsToLayout: needsToLayout) + } + } + + open override func updateStyles() { + self.updateStyles(needsToLayout: true) } // MARK: - Action @@ -322,6 +358,136 @@ open class SBUMessageThreadViewController: SBUBaseChannelViewController, SBUMess } } + // MARK: - PHPickerViewControllerDelegate + + /// - Since: [NEXT_VERSION_MFM_THREAD] + @available(iOS 14, *) + override open func picker(_ picker: PHPickerViewController, didFinishPicking results: [PHPickerResult]) { + picker.dismiss(animated: true) + + guard results.count <= SBUAvailable.multipleFilesMessageFileCountLimit else { + self.errorHandler("Up to \(SBUAvailable.multipleFilesMessageFileCountLimit) can be attached.") + return + } + + // Picked multiple files + if results.count > 1 { + handleMultipleFiles(results) + } + + // Picked a single file + else { + handleSingleFile(results) + } + } + + + /// - Since: 3.10.0 + @available(iOS 14, *) + private func handleSingleFile(_ results: [PHPickerResult]) { + results.forEach { + let itemProvider = $0.itemProvider + + /// !! Warining !! + /// Since the image identifier includes the gif identifier, the check of the gif type should take precedence over the image type comparison. + + // GIF + if itemProvider.hasItemConformingToTypeIdentifier(UTType.gif.identifier) { + if let inputComponent = self.baseInputComponent { + inputComponent.pickGIFFile(itemProvider: itemProvider) + return + } + } + + // image + else if itemProvider.hasItemConformingToTypeIdentifier(UTType.image.identifier) { + if let inputComponent = self.baseInputComponent { + inputComponent.pickImageFile(itemProvider: itemProvider) + return + } + } + + // video + else if itemProvider.hasItemConformingToTypeIdentifier(UTType.movie.identifier) { + if let inputComponent = self.baseInputComponent { + inputComponent.pickVideoFile(itemProvider: itemProvider) + return + } + } + } + } + + /// - Since: [NEXT_VERSION_MFM_THREAD] + @available(iOS 14, *) + private func handleMultipleFiles(_ results: [PHPickerResult]) { + guard let inputComponent = self.baseInputComponent as? SBUMessageThreadModule.Input else { + return + } + + // Group picked files depending on file type. + let (imageAndGIFs, videos) = groupFilesByMimeType(results) + + // Handle images+GIFs. + if imageAndGIFs.count > 0 { + + // multiple (image + gif) -> send a multipleFilesMessage + if imageAndGIFs.count > 1 { + inputComponent.pickMultipleImageFiles(itemProviders: imageAndGIFs) + } + + // single image / gif -> send a fileMessage + else if imageAndGIFs.count == 1 { + let itemProvider = imageAndGIFs.first! + + // GIF + if itemProvider.hasItemConformingToTypeIdentifier(UTType.gif.identifier) { + if let inputComponent = self.baseInputComponent { + inputComponent.pickGIFFile(itemProvider: itemProvider) + } + } + + // image + else if itemProvider.hasItemConformingToTypeIdentifier(UTType.image.identifier) { + if let inputComponent = self.baseInputComponent { + inputComponent.pickImageFile(itemProvider: itemProvider) + } + } + } + } + + // Handle videos. + if videos.count > 0 { + // video(s) selected -> send N fileMessages + videos.forEach { itemProvider in + inputComponent.pickVideoFile(itemProvider: itemProvider) + } + } + } + + @available(iOS 14, *) + /// Groups picked files by file type. + /// - Returns a tuple - (an array of images + GIFs, an array of videos) + private func groupFilesByMimeType(_ results: [PHPickerResult]) -> ([NSItemProvider], [NSItemProvider]) { + var imageAndGIFs = [NSItemProvider]() + var videos = [NSItemProvider]() + + results.forEach { + let itemProvider = $0.itemProvider + + if itemProvider.hasItemConformingToTypeIdentifier(UTType.gif.identifier) || + itemProvider.hasItemConformingToTypeIdentifier(UTType.image.identifier) { + imageAndGIFs.append(itemProvider) + } + + // Group videos + else if itemProvider.hasItemConformingToTypeIdentifier(UTType.movie.identifier) { + videos.append(itemProvider) + } + } + + return (imageAndGIFs, videos) + } + // MARK: - VoiceMessageInput open override func showVoiceMessageInput() { super.showVoiceMessageInput() @@ -376,6 +542,18 @@ open class SBUMessageThreadViewController: SBUBaseChannelViewController, SBUMess self.moveToParentMessage() } + /// - Note: This interface is beta. We do not gaurantee this interface to work properly yet. + /// - Since: [NEXT_VERSION_MFM_THREAD] + public func messageThreadViewModel( + _ viewModel: SBUMessageThreadViewModel, + didFinishUploadingFileAt index: Int, + multipleFilesMessageRequestId + requestId: String + ) { + self.baseListComponent? + .reloadMultipleFilesMessageCollectionViewCell(requestId: requestId, index: index) + } + // MARK: - SBUMessageThreadModuleHeaderDelegate open override func baseChannelModule( _ headerComponent: SBUBaseChannelModule.Header, @@ -457,6 +635,57 @@ open class SBUMessageThreadViewController: SBUBaseChannelViewController, SBUMess } } + /// - Note: This interface is beta. We do not gaurantee this interface to work properly yet. + /// - Since: [NEXT_VERSION_MFM_THREAD] + public func messageThreadModule( + _ listComponent: SBUMessageThreadModule.List, + didSelectFileAt index: Int, + multipleFilesMessageCell: SBUMultipleFilesMessageCell, + forRowAt cellIndexPath: IndexPath + ) { + guard let multipleFilesMessage = multipleFilesMessageCell.multipleFilesMessage else { + SBUToastManager.showToast(parentVC: self, type: .fileOpenFailed) + return + } + guard index < multipleFilesMessage.files.count else { return } + let fileInfo = multipleFilesMessage.files[index] + + // show file view controller + let fileType: SBUMessageFileType + if let mimeType = fileInfo.mimeType { + fileType = SBUUtils.getFileType(by: mimeType) + } else { + fileType = .etc + } + let file = SBUFileData( + urlString: fileInfo.url, + message: multipleFilesMessage, + cacheKey: multipleFilesMessage.cacheKey + "_\(index)", + fileType: fileType, + name: fileInfo.fileName ?? "" + ) + self.openFile(file) + } + + /// - Note: This interface is beta. We do not gaurantee this interface to work properly yet. + /// - Since: [NEXT_VERSION_MFM_THREAD] + public func messageThreadModule( + _ listComponent: SBUMessageThreadModule.List, + uploadedFileInfo: UploadedFileInfo, + message: MultipleFilesMessage, + index: Int + ) { + let fileType: SBUMessageFileType + if let mimeType = uploadedFileInfo.mimeType { + fileType = SBUUtils.getFileType(by: mimeType) + } else { + fileType = .etc + } + + let file = SBUFileData(urlString: uploadedFileInfo.url, message: message, cacheKey: message.cacheKey + "_\(index)", fileType: fileType, name: uploadedFileInfo.fileName ?? "") + self.openFile(file) + } + // MARK: - SBUBaseChannelModuleListDelegate open override func baseChannelModule( _ listComponent: SBUBaseChannelModule.List, @@ -520,6 +749,16 @@ open class SBUMessageThreadViewController: SBUBaseChannelViewController, SBUMess ) } + /// - Note: This interface is beta. We do not gaurantee this interface to work properly yet. + /// - Since: [NEXT_VERSION_MFM_THREAD] + public func messageThreadModule( + _ inputComponent: SBUMessageThreadModule.Input, + didPickMultipleFiles fileInfoList: [UploadableFileInfo], + parentMessage: BaseMessage + ) { + self.viewModel?.sendMultipleFilesMessage(fileInfoList: fileInfoList, parentMessageId: parentMessage.messageId) + } + open func messageThreadModule( _ inputComponent: SBUMessageThreadModule.Input, didTapSend text: String, diff --git a/Sources/View/MessageThread/SBUParentMessageInfoView.swift b/Sources/View/MessageThread/SBUParentMessageInfoView.swift index 198dd02de..7e8a78bd4 100644 --- a/Sources/View/MessageThread/SBUParentMessageInfoView.swift +++ b/Sources/View/MessageThread/SBUParentMessageInfoView.swift @@ -14,12 +14,18 @@ public protocol SBUParentMessageInfoViewDelegate: AnyObject { func parentMessageInfoViewBoundsDidChanged(_ view: SBUParentMessageInfoView) } -open class SBUParentMessageInfoView: UITableViewHeaderFooterView, SBUUserMessageTextViewDelegate { +open class SBUParentMessageInfoView: SBUView, SBUUserMessageTextViewDelegate { // MARK: - UI properties (Public) - + + /// - Since: 3.10.0 + public struct Constants { + public static var verticalSideMarginSize: CGFloat = 16.0 + } + /// The view that displays the profile image of sender. public var profileView = SBUMessageProfileView() + public var profileBaseView = UIView() /// The label that displays the username of sender. public var userNameLabel = UILabel() @@ -27,6 +33,7 @@ open class SBUParentMessageInfoView: UITableViewHeaderFooterView, SBUUserMessage public var dateLabel = UILabel() /// The button that displays the more menu items. public lazy var moreButton: UIButton? = UIButton() + public var moreButtonBaseView = UIView() /// The view that displays the separate line between contents area and reply area. public var replySeparateLine = UIView() @@ -39,15 +46,30 @@ open class SBUParentMessageInfoView: UITableViewHeaderFooterView, SBUUserMessage public var messageTextView = SBUUserMessageTextView(removeMargin: true) /// The view that displays the file. Used when the file message type. public var baseFileContentView = SBUBaseFileContentView() + + /// The collection view that displays the multiple files. It's used when the message is `MultipleFilesMessage`. + /// - Since: 3.10.0 + public lazy var fileCollectionView: SBUMultipleFilesMessageCollectionView = { + let layout = UICollectionViewFlowLayout() + layout.sectionInset = UIEdgeInsets(top: 0, left: 0, bottom: 0, right: 0) + layout.minimumInteritemSpacing = 4 + layout.minimumLineSpacing = 4 + + let collectionview = SBUMultipleFilesMessageCollectionView(frame: .zero, collectionViewLayout: layout) + collectionview.isScrollEnabled = false + + return collectionview + }() + /// The view that displays the web page preview. Used when the user message type (not used yet). public var webView = SBUMessageWebView() /// The view that displays the reactions. public var reactionView = SBUParentMessageInfoReactionView() /// ``` - /// + --------------------------------+------------+ - /// | profileView | senderVStackView | moreButton | - /// + -------------+------------------+------------+ + /// + -----------------+------------------+--------------------+ + /// | profileBaseView | senderVStackView | moreButtonBaseView | + /// + -----------------+------------------+--------------------+ /// ``` public lazy var userHStackView = SBUStackView(axis: .horizontal, spacing: 8) @@ -77,12 +99,16 @@ open class SBUParentMessageInfoView: UITableViewHeaderFooterView, SBUUserMessage didSet { self.delegate?.parentMessageInfoViewBoundsDidChanged(self) } } + /// This property for backward support + /// - Since: 3.10.0 + public lazy var contentView: UIView = self + // MARK: - UI properties (Private) - var replySeparateLineTopAnchorConstraint: NSLayoutConstraint? var replyLabelTopAnchorConstraint: NSLayoutConstraint? - var contentVStackViewTrailingAnchorConstraint: NSLayoutConstraint? var bottomSeparateLineTopAnchorConstraint: NSLayoutConstraint? - var baseFileContentViewWidthConstraint: NSLayoutConstraint? + var messageTextViewWidthConstraint: NSLayoutConstraint? + + var alreadySetupLayouts: Bool = false // MARK: - State properties (Public) /// If is`true`, enables reaction feature and it's available. The defaults value is `true` @@ -111,6 +137,9 @@ open class SBUParentMessageInfoView: UITableViewHeaderFooterView, SBUUserMessage public var userProfileTapHandler: (() -> Void)? /// The handler that set the logic to be called when a content area is tapped. public var tapHandlerToContent: (() -> Void)? + /// The handler that set the logic to be called when the specific file is selected. + /// - Since: 3.10.0 + public var fileSelectHandler: ((_ fileInfo: UploadedFileInfo, _ index: Int) -> Void)? /// The handler that set the logic to be called when a more button is tapped. public var moreButtonTapHandlerToContent: (() -> Void)? /// The handler that set the logic to be called when emoji is tapped. @@ -123,20 +152,14 @@ open class SBUParentMessageInfoView: UITableViewHeaderFooterView, SBUUserMessage public var mentionTapHandler: ((_ user: SBUUser) -> Void)? // MARK: - LifeCycle - public override init(reuseIdentifier: String?) { - super.init(reuseIdentifier: reuseIdentifier) - self.setupViews() - self.setupLayouts() - self.setupStyles() - self.setupActions() - } - @available(*, unavailable, renamed: "SBUParentMessageInfoView(frame:)") required convenience public init?(coder: NSCoder) { fatalError() } - open func setupViews() { + + open override func setupViews() { + // + -----------------------------+------------+ // | profileView | userNameLabel | moreButton | // | | dateLabel | | @@ -152,24 +175,32 @@ open class SBUParentMessageInfoView: UITableViewHeaderFooterView, SBUUserMessage // | bottomSeparate | // + ------------------------------------------+ + self.senderVStackView.setVStack([ + self.userNameLabel, + self.dateLabel + ]) + + self.profileBaseView.addSubview(self.profileView) + if let moreButton = moreButton { + self.moreButtonBaseView.addSubview(moreButton) + } + self.userHStackView.setHStack([ - self.profileView, - self.senderVStackView.setVStack([ - self.userNameLabel, - self.dateLabel - ]), - self.moreButton + self.profileBaseView, + self.senderVStackView, + self.moreButtonBaseView ]) - self.contentView.addSubview(self.userHStackView) + + self.addSubview(self.userHStackView) self.messageTextView.delegate = self - self.contentView.addSubview(self.contentVStackView) + self.addSubview(self.contentVStackView) - self.contentView.addSubview(self.reactionView) - self.contentView.addSubview(self.replySeparateLine) - self.contentView.addSubview(self.replyLabel) - self.contentView.addSubview(self.bottomSeparateLine) + self.addSubview(self.reactionView) + self.addSubview(self.replySeparateLine) + self.addSubview(self.replyLabel) + self.addSubview(self.bottomSeparateLine) userHStackView.isHidden = true contentVStackView.isHidden = true @@ -177,122 +208,146 @@ open class SBUParentMessageInfoView: UITableViewHeaderFooterView, SBUUserMessage replySeparateLine.isHidden = true replyLabel.isHidden = true bottomSeparateLine.isHidden = true - - self.userHStackView.sbu_constraint(equalTo: self.contentView, leading: 16, trailing: -16, top: 16) - - self.profileView.sbu_constraint(width: 34, height: 34) - self.moreButton?.sbu_constraint(width: 17, height: 34) - - self.dateLabel.setContentCompressionResistancePriority(.defaultLow, for: .vertical) - - self.contentVStackView - .sbu_constraint(equalTo: self.contentView, leading: 16) - .sbu_constraint(lessThanOrEqualTo: self.contentView, trailing: -16, priority: .defaultLow) - .sbu_constraint_equalTo(topAnchor: self.userHStackView.bottomAnchor, top: 8) - - self.reactionView - .sbu_constraint(equalTo: self.contentView, leading: 8, trailing: -8) - .sbu_constraint_equalTo(topAnchor: self.contentVStackView.bottomAnchor, top: 0) - - self.replySeparateLine - .sbu_constraint(equalTo: self.contentView, leading: 0, trailing: 0) - .sbu_constraint(height: 1) - - self.replyLabel - .sbu_constraint(equalTo: self.contentView, leading: 16, trailing: -16) - - self.bottomSeparateLine - .sbu_constraint(equalTo: self.contentView, leading: 0, trailing: 0, bottom: 0) - .sbu_constraint_equalTo(topAnchor: self.replyLabel.bottomAnchor, top: 12) - .sbu_constraint(height: 1) } - open func setupLayouts() { - self.contentVStackViewTrailingAnchorConstraint?.isActive = false + open override func setupLayouts() { + guard !alreadySetupLayouts else { return } + alreadySetupLayouts = true + + /// ``` + /// + -----------------+------------------+--------------------+ + /// | profileBaseView | senderVStackView | moreButtonBaseView | + /// + -----------------+------------------+--------------------+ + /// ``` + self.userHStackView + .sbu_constraint(equalTo: self, leading: 16, top: 16) + .sbu_constraint(equalTo: self, trailing: -16, priority: .defaultHigh) + .sbu_constraint_equalTo(bottomAnchor: self.contentVStackView.topAnchor, bottom: 8) + + self.profileView + .sbu_constraint(equalTo: self.profileBaseView, leading: 0, trailing: 0, top: 0) + .sbu_constraint(width: 34, height: 34) + self.moreButton? + .sbu_constraint(equalTo: self.moreButtonBaseView, leading: 0, trailing: 0, centerY: 0) + .sbu_constraint(width: 17, height: 34) + + /// ``` + /// + ----------------------------------+ + /// | (message or media or file or web) | + /// + ----------------------------------+ + /// ``` + self.contentVStackView + .sbu_constraint(equalTo: self, leading: 16) + .sbu_constraint(lessThanOrEqualTo: self, trailing: -16, priority: .defaultHigh) + .sbu_constraint_equalTo(bottomAnchor: self.reactionView.topAnchor, bottom: 0) + switch message { case _ as UserMessage: - self.contentVStackViewTrailingAnchorConstraint = self.contentVStackView.trailingAnchor.constraint( - lessThanOrEqualTo: self.contentView.trailingAnchor, - constant: -16 - ) - - // TODO: Activate the logic below when supporting url preview -// if userMessage.ogMetaData != nil { -// self.webView.widthAnchor.constraint(equalToConstant: 240).isActive = true -// } - break case let fileMessage as FileMessage: - self.contentVStackViewTrailingAnchorConstraint = self.contentVStackView.trailingAnchor.constraint( - lessThanOrEqualTo: self.contentView.trailingAnchor, - constant: -16 - ) - self.contentVStackViewTrailingAnchorConstraint?.priority = .defaultLow - self.contentVStackView.layer.cornerRadius = 16 self.contentVStackView.clipsToBounds = true - self.baseFileContentViewWidthConstraint?.isActive = false - let fileType = SBUUtils.getFileType(by: fileMessage) switch fileType { case .image, .video: - self.baseFileContentView .sbu_constraint(height: 160) - self.baseFileContentViewWidthConstraint = self.baseFileContentView.widthAnchor.constraint(equalToConstant: 240) - + self.baseFileContentView.sbu_constraint(width: 240, height: 160) + case .audio, .pdf, .etc: - self.baseFileContentViewWidthConstraint = self.baseFileContentView - .trailingAnchor.constraint( - lessThanOrEqualTo: self.contentView.trailingAnchor, - constant: -16 - ) break default: break } - self.baseFileContentViewWidthConstraint?.isActive = true + + case _ as MultipleFilesMessage: + break + default: - self.contentVStackViewTrailingAnchorConstraint = self.contentVStackView.trailingAnchor.constraint( - lessThanOrEqualTo: self.contentView.trailingAnchor, - constant: 16 - ) break } - self.contentVStackViewTrailingAnchorConstraint?.isActive = true - } - - open func updateLayouts() { - self.setupLayouts() - let activateReply = (message?.threadInfo.replyCount ?? 0) > 0 - - self.replySeparateLineTopAnchorConstraint?.isActive = false - self.replySeparateLineTopAnchorConstraint = self.replySeparateLine.topAnchor.constraint( - equalTo: self.reactionView.bottomAnchor, - constant: 8 - ) - self.replySeparateLineTopAnchorConstraint?.isActive = true + /// ``` + /// + ------------------------------------------+ + /// | reactionView | + /// + ------------------------------------------+ + /// ``` + self.reactionView + .sbu_constraint(equalTo: self, leading: 8) + .sbu_constraint(equalTo: self, trailing: -8, priority: .defaultLow) + .sbu_constraint_equalTo(bottomAnchor: self.replySeparateLine.topAnchor, bottom: 8) + + /// ``` + /// + ------------------------------------------+ + /// | replySeparateLine | + /// + ------------------------------------------+ + /// ``` + self.replySeparateLine + .sbu_constraint(equalTo: self, leading: 0) + .sbu_constraint(equalTo: self, trailing: 0, priority: .defaultLow) + .sbu_constraint(height: 1, priority: .defaultHigh) +// .sbu_constraint_equalTo(bottomAnchor: self.replyLabel.topAnchor, bottom: 0) + + /// ``` + /// + ------------------------------------------+ + /// | replyLabel | + /// + ------------------------------------------+ + /// ``` + self.replyLabel + .sbu_constraint(equalTo: self, leading: 16) + .sbu_constraint(equalTo: self, trailing: -16, priority: .defaultLow) +// .sbu_constraint_equalTo(bottomAnchor: self.bottomSeparateLine.topAnchor, bottom: 8) - self.replyLabelTopAnchorConstraint?.isActive = false self.replyLabelTopAnchorConstraint = self.replyLabel.topAnchor.constraint( equalTo: self.replySeparateLine.bottomAnchor, - constant: activateReply ? 12 : 0 + constant: 0 ) - self.replyLabelTopAnchorConstraint?.isActive = true +// NSLayoutConstraint.sbu_activate(baseView: self.replySeparateLine, constraints: [self.replyLabelTopAnchorConstraint]) + + /// ``` + /// + ------------------------------------------+ + /// | bottomSeparateLine | + /// + ------------------------------------------+ + /// ``` + self.bottomSeparateLine + .sbu_constraint(height: 1, priority: .defaultHigh) + .sbu_constraint(equalTo: self, leading: 0, bottom: 0) + .sbu_constraint(equalTo: self, trailing: 0, priority: .defaultLow) - self.bottomSeparateLineTopAnchorConstraint?.isActive = false self.bottomSeparateLineTopAnchorConstraint = bottomSeparateLine.topAnchor.constraint( equalTo: self.replyLabel.bottomAnchor, - constant: activateReply ? 12 : 8 + constant: 8 ) - self.bottomSeparateLineTopAnchorConstraint?.isActive = true +// NSLayoutConstraint.sbu_activate(baseView: self.replyLabel, constraints: [self.bottomSeparateLineTopAnchorConstraint]) + + /// + + // not working below logic + if let superview = self.superview { + self.sbu_constraint(equalTo: superview, leading: 0, trailing: 0, top: 0) + self.sbu_constraint(equalTo: superview, centerY: 0) + } + } + + open override func updateLayouts() { + let activateReply = (message?.threadInfo.replyCount ?? 0) > 0 + + self.replyLabelTopAnchorConstraint?.constant = activateReply ? 12 : 0 + self.bottomSeparateLineTopAnchorConstraint?.constant = activateReply ? 12 : 8 + + NSLayoutConstraint.sbu_activate(baseView: replyLabel, constraints: [ + self.replyLabelTopAnchorConstraint + ]) + + NSLayoutConstraint.sbu_activate(baseView: bottomSeparateLine, constraints: [ + self.bottomSeparateLineTopAnchorConstraint + ]) } - open func setupStyles() { + open override func setupStyles() { self.profileView.setupStyles() - self.contentView.backgroundColor = self.theme.parentInfoBackgroundColor + self.backgroundColor = self.theme.parentInfoBackgroundColor self.userNameLabel.textColor = self.theme.parentInfoUserNameTextColor self.userNameLabel.font = self.theme.parentInfoUserNameTextFont @@ -358,30 +413,36 @@ open class SBUParentMessageInfoView: UITableViewHeaderFooterView, SBUUserMessage switch message { case let userMessage as UserMessage: self.contentVStackView.setVStack([ - self.messageTextView, - self.webView + self.messageTextView ]) - self.messageTextView.configure( - model: SBUUserMessageTextViewModel( - message: userMessage, - position: .left - ) - ) - // Set up WebView with OG meta data // TODO: Check - not included in receive data if let ogMetaData = userMessage.ogMetaData, SBUAvailable.isSupportOgTag() { + self.contentVStackView.addArrangedSubview(self.webView) self.webView.isHidden = false let model = SBUMessageWebViewModel(metaData: ogMetaData) self.webView.configure(model: model) } else { + if let superViewWidth = self.superview?.frame.width { + self.messageTextViewWidthConstraint?.isActive = false + self.messageTextViewWidthConstraint = self.messageTextView.widthAnchor.constraint(lessThanOrEqualToConstant: superViewWidth - (Constants.verticalSideMarginSize * 2)) + self.messageTextViewWidthConstraint?.isActive = true + } + self.webView.isHidden = true } + self.messageTextView.configure( + model: SBUUserMessageTextViewModel( + message: userMessage, + position: .left + ) + ) + case let fileMessage as FileMessage: self.contentVStackView.setVStack([ - self.baseFileContentView, + self.baseFileContentView ]) let fileType = SBUUtils.getFileType(by: fileMessage) @@ -425,6 +486,20 @@ open class SBUParentMessageInfoView: UITableViewHeaderFooterView, SBUUserMessage break } + case let multipleFilesMessage as MultipleFilesMessage: + self.fileCollectionView.removeFromSuperview() + + var fileCollectionViewHeight = self.fileCollectionView.collectionViewLayout.collectionViewContentSize.height + fileCollectionViewHeight = fileCollectionViewHeight == 0 ? 120 : fileCollectionViewHeight + + self.fileCollectionView + .sbu_constraint(width: 244) + .sbu_constraint(height: fileCollectionViewHeight, priority: .defaultHigh) + + contentVStackView.insertArrangedSubview(self.fileCollectionView, at: 0) + + self.fileCollectionView.configure(delegate: self, dataSource: self, cornerRadius: 8) + default: break } @@ -447,8 +522,27 @@ open class SBUParentMessageInfoView: UITableViewHeaderFooterView, SBUUserMessage self.configured = true } + /// Updates the width constraint property of messageTextView based on size + /// - Parameter size: Reference size + /// + /// - Since: 3.10.0 + open func updateMessageTextWidth(with size: CGSize) { + var width = 0.0 + let orientation = UIDevice.current.orientation + switch orientation { + case .portrait: + width = min(size.width, size.height) + case .landscapeLeft, .landscapeRight: + width = max(size.width, size.height) + default: + return + } + + self.messageTextViewWidthConstraint?.constant = width - (Constants.verticalSideMarginSize * 2) + } + // MARK: - Action - open func setupActions() { + open override func setupActions() { self.profileView.addGestureRecognizer(UITapGestureRecognizer( target: self, action: #selector(self.onTapUserProfileView(sender:))) @@ -494,6 +588,18 @@ open class SBUParentMessageInfoView: UITableViewHeaderFooterView, SBUUserMessage self.tapHandlerToContent?() } + /// Calls the `fileSelectHandler()` when one of thie files is tapped in parent message that is a multiple files message. + /// - Parameter sender: tapGestureRecognizer + /// - Since: 3.10.0 + @objc open func onSelectFile(sender: UITapGestureRecognizer) { + if let cell = sender.view as? SBUMultipleFilesMessageCollectionViewCell, + let fileInfo = cell.uploadedFileInfo, + let indexPath = fileCollectionView.indexPath(for: cell) { + + self.fileSelectHandler?(fileInfo, indexPath.item) + } + } + /// Opens the url when the web page preview area is tapped /// - Parameter sender: tapGestureRecognizer @objc open func onTapWebview(sender: UITapGestureRecognizer) { @@ -518,3 +624,43 @@ open class SBUParentMessageInfoView: UITableViewHeaderFooterView, SBUUserMessage self.mentionTapHandler?(user) } } + +// MARK: - Multiple Files Message +extension SBUParentMessageInfoView: UICollectionViewDataSource, UICollectionViewDelegate, UICollectionViewDelegateFlowLayout { + public func numberOfSections(in collectionView: UICollectionView) -> Int { + return 1 + } + + open func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int { + guard let message = self.message as? MultipleFilesMessage else { return 0 } + return message.files.count + } + + open func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize { + return CGSize(width: 120, height: 120) + } + + open func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell { + guard let message = self.message as? MultipleFilesMessage, + let cell = fileCollectionView.dequeueReusableCell( + withReuseIdentifier: SBUMultipleFilesMessageCollectionViewCell.sbu_className, + for: indexPath + ) as? SBUMultipleFilesMessageCollectionViewCell else { + return UICollectionViewCell() + } + + let index = indexPath[1] + cell.configure( + uploadedFileInfo: message.files[index], + requestId: message.requestId, + index: indexPath[1], + imageCornerRadius: 8, + showOverlay: false + ) + + /// Add gesture recognizer instead of using `collectionView didSelectItemAt` + /// becuase`onTapContentView` consumes the tap instead of triggering the `didSelectItemAt`. + cell.addGestureRecognizer(UITapGestureRecognizer(target: self, action: #selector(onSelectFile(sender:)))) + return cell + } +} diff --git a/Sources/View/NotificationSettings/Cell/SBUChannelPushSettingCell.swift b/Sources/View/NotificationSettings/Cell/SBUChannelPushSettingCell.swift index 528238db4..2cb1ea96d 100644 --- a/Sources/View/NotificationSettings/Cell/SBUChannelPushSettingCell.swift +++ b/Sources/View/NotificationSettings/Cell/SBUChannelPushSettingCell.swift @@ -91,18 +91,15 @@ class SBUChannelPushSettingCell: SBUTableViewCell { /// This function handles the initialization of autolayouts. override func setupLayouts() { - self.baseStackView - .sbu_constraint( - equalTo: self.contentView, - leading: 16, trailing: -16, top: 13, bottom: 12 - ) - - self.titleStackView.sbu_constraint(height: 31) self.rightSwitch .sbu_constraint(width: 51) - self.rightRadioButton.sbu_constraint(width: 24, height: 24) + self.rightRadioButton + .sbu_constraint(width: 24, height: 24, priority: .defaultHigh) + + self.titleStackView + .sbu_constraint(height: 31, priority: .defaultHigh) self.separateView .sbu_constraint( @@ -110,6 +107,13 @@ class SBUChannelPushSettingCell: SBUTableViewCell { leading: 16, trailing: -16, bottom: 0.5 ) .sbu_constraint(height: 0.5) + + self.baseStackView + .sbu_constraint( + equalTo: self.contentView, + leading: 16, trailing: -16, top: 13, bottom: 12 + ) + } /// This function handles the initialization of styles. diff --git a/Sources/View/SBUBaseViewController.swift b/Sources/View/SBUBaseViewController.swift index 83f1ca3d7..26ece2962 100644 --- a/Sources/View/SBUBaseViewController.swift +++ b/Sources/View/SBUBaseViewController.swift @@ -70,6 +70,9 @@ open class SBUBaseViewController: UIViewController, UINavigationControllerDelega /// This function updates styles. open func updateStyles() { } + /// This function updates styles with boolean parameter value that represents whether layout or not + open func updateStyles(needsToLayout: Bool) { } + /// This function setups navigationBar's background color and shadow color. /// - Parameters: /// - backgroundColor: background color diff --git a/Sources/ViewModel/Channel/SBUBaseChannelViewModel.swift b/Sources/ViewModel/Channel/SBUBaseChannelViewModel.swift index 734801578..7a6234721 100644 --- a/Sources/ViewModel/Channel/SBUBaseChannelViewModel.swift +++ b/Sources/ViewModel/Channel/SBUBaseChannelViewModel.swift @@ -578,6 +578,15 @@ open class SBUBaseChannelViewModel: NSObject { needReload: true ) } + } else if let failedMessage = failedMessage as? MultipleFilesMessage { + let groupChannel = self.channel as? GroupChannel + groupChannel?.resendMultipleFilesMessage( + failedMessage, + fileUploadHandler: { _, _, _, _ in }, + completionHandler: { [weak self] message, error in + guard let self = self else { return } + self.handlePendingResendableMessage(message, error) + }) } } @@ -654,10 +663,9 @@ open class SBUBaseChannelViewModel: NSObject { return } - guard message is UserMessage || message is FileMessage else { - if message is AdminMessage { - self.messageList.append(message) - } + guard message is UserMessage || message is FileMessage || message is MultipleFilesMessage else { + // when message is AdminMessage or unknown message. + self.messageList.append(message) return } diff --git a/Sources/ViewModel/Channel/SBUGroupChannelViewModel.swift b/Sources/ViewModel/Channel/SBUGroupChannelViewModel.swift index 69a8a6086..1e8cfcdff 100644 --- a/Sources/ViewModel/Channel/SBUGroupChannelViewModel.swift +++ b/Sources/ViewModel/Channel/SBUGroupChannelViewModel.swift @@ -31,6 +31,12 @@ public protocol SBUGroupChannelViewModelDelegate: SBUBaseChannelViewModelDelegat _ viewModel: SBUGroupChannelViewModel, didReceiveSuggestedMentions members: [SBUUser]? ) + + func groupChannelViewModel( + _ viewModel: SBUGroupChannelViewModel, + didFinishUploadingFileAt index: Int, + multipleFilesMessageRequestId requestId: String + ) } open class SBUGroupChannelViewModel: SBUBaseChannelViewModel { @@ -45,6 +51,10 @@ open class SBUGroupChannelViewModel: SBUBaseChannelViewModel { set { self.baseDataSource = newValue } } + /// A completion handler that is called after sending a multiple files message is completed. + /// - Since: 3.10.0 + public var sendMultipleFilesMessageCompletionHandler: SendbirdChatSDK.MultipleFilesMessageHandler? + // MARK: - Logic properties (private) var messageCollection: MessageCollection? var debouncer: SBUDebouncer? @@ -216,6 +226,83 @@ open class SBUGroupChannelViewModel: SBUBaseChannelViewModel { return error.code != ChatError.nonAuthorized.rawValue } + // MARK: - Message + /// Sends a multiple files message. + /// - Parameters: + /// - fileInfoList: A list of `UploadableFileInfo` that contains information about the files to be included in the multiple files message. + /// - Since: 3.10.0 + open func sendMultipleFilesMessage(fileInfoList: [UploadableFileInfo]) { + if let channel = self.channel as? GroupChannel { + let param = MultipleFilesMessageCreateParams(uploadableFileInfoList: fileInfoList) + SBUGlobalCustomParams.multipleFilesMessageParamsSendBuilder?(param) + + let preSendMessage: MultipleFilesMessage? + preSendMessage = channel.sendMultipleFilesMessage( + params: param, + fileUploadHandler: { requestId, index, _, error in + if let error = error { + SBULog.error("Multiple files message - failed to upload file at index [\(index)]. \(error.localizedDescription)") + } else { + SBULog.info("Multiple files message - file at index [\(index)] upload completed.") + } + + // Update the multipleFilesMessage collection view cell + // when the upload is complete. + self.updateMultipleFilesMessageCell(requestId: requestId, index: index) + }, + completionHandler: { [weak self] multipleFilesMessage, error in + if let error = error { + SBULog.error(error.localizedDescription) + } + self?.sendMultipleFilesMessageCompletionHandler?(multipleFilesMessage, error) + }) + + // Save each file data to cache. + if let preSendMessage = preSendMessage { + for (index, fileInfo) in param.uploadableFileInfoList.enumerated() { + SBUCacheManager.Image.preSave( + multipleFilesMessage: preSendMessage, + uploadableFileInfo: fileInfo, + index: index + ) + } + } + + // Upsert pending message to fullMessageList. + if let preSendMessage = preSendMessage, self.messageListParams.belongsTo(preSendMessage) { + // Upsert pendingMessage. + self.pendingMessageManager.upsertPendingMessage( + channelURL: channel.channelURL, + message: preSendMessage + ) + } else { + SBULog.info("A filtered file message has been sent.") + } + + self.sortAllMessageList(needReload: true) + let context = MessageContext(source: .eventMessageSent, sendingStatus: .succeeded) + self.baseDelegate?.baseChannelViewModel( + self, + shouldUpdateScrollInMessageList: self.fullMessageList, + forContext: context, + keepsScroll: false + ) + } + } + + /// Updates a multiple files message cell of the given index of a multiple files message. + /// - Parameters: + /// - requestId: the requestId of the multiple files message. + /// - index: the index of the cell of a multiple files message to update. + /// - Since: 3.10.0 + open func updateMultipleFilesMessageCell(requestId: String, index: Int) { + self.delegate?.groupChannelViewModel( + self, + didFinishUploadingFileAt: index, + multipleFilesMessageRequestId: requestId + ) + } + // MARK: - Load Messages public override func loadInitialMessages(startingPoint: Int64?, showIndicator: Bool, diff --git a/Sources/ViewModel/MessageThread/SBUMessageThreadViewModel.swift b/Sources/ViewModel/MessageThread/SBUMessageThreadViewModel.swift index e35f45486..7fc096a11 100644 --- a/Sources/ViewModel/MessageThread/SBUMessageThreadViewModel.swift +++ b/Sources/ViewModel/MessageThread/SBUMessageThreadViewModel.swift @@ -42,6 +42,12 @@ public protocol SBUMessageThreadViewModelDelegate: SBUBaseChannelViewModelDelega /// Called when the message thread should be dismissed. func messageThreadViewModelShouldDismissMessageThread(_ viewModel: SBUMessageThreadViewModel) + + func messageThreadViewModel( + _ viewModel: SBUMessageThreadViewModel, + didFinishUploadingFileAt index: Int, + multipleFilesMessageRequestId requestId: String + ) } open class SBUMessageThreadViewModel: SBUBaseChannelViewModel { @@ -69,6 +75,11 @@ open class SBUMessageThreadViewModel: SBUBaseChannelViewModel { public internal(set) var customizedThreadedMessageListParams: ThreadedMessageListParams? public internal(set) var threadedMessageListParams = ThreadedMessageListParams() + /// A completion handler that is called after sending a multiple files message is completed. + /// - Note: This interface is beta. We do not gaurantee this interface to work properly yet. + /// - Since: [NEXT_VERSION_MFM_THREAD] + public var sendMultipleFilesMessageCompletionHandler: SendbirdChatSDK.MultipleFilesMessageHandler? + // MARK: - Logic properties (Private) @SBUAtomic private var hasMorePrevious: Bool = true @@ -633,6 +644,85 @@ open class SBUMessageThreadViewModel: SBUBaseChannelViewModel { // MARK: - Message + /// Sends a multiple files message. + /// - Parameters: + /// - fileInfoList: A list of `UploadableFileInfo` that contains information about the files to be included in the multiple files message. + /// - Note: This interface is beta. We do not gaurantee this interface to work properly yet. + /// - Since: [NEXT_VERSION_MFM_THREAD] + public func sendMultipleFilesMessage( + fileInfoList: [UploadableFileInfo], + parentMessageId: Int64 + ) { + if let channel = self.channel as? GroupChannel { + let param = MultipleFilesMessageCreateParams(uploadableFileInfoList: fileInfoList) + param.parentMessageId = parentMessageId + + SBUGlobalCustomParams.multipleFilesMessageParamsSendBuilder?(param) + + let preSendMessage: MultipleFilesMessage? + preSendMessage = channel.sendMultipleFilesMessage( + params: param, + fileUploadHandler: { requestId, index, _, error in + if let error = error { + SBULog.error("Multiple files message - failed to upload file at index [\(index)]. \(error.localizedDescription)") + } else { + SBULog.info("Multiple files message - file at index [\(index)] upload completed.") + } + + // Update the multipleFilesMessage collection view cell + // when the upload is complete. + self.updateMultipleFilesMessageCell(requestId: requestId, index: index) + }, + completionHandler: { [weak self] multipleFilesMessage, error in + if let error = error { + SBULog.error(error.localizedDescription) + } + self?.sendMultipleFilesMessageCompletionHandler?(multipleFilesMessage, error) + }) + + // Save each file data to cache. + if let preSendMessage = preSendMessage { + for (index, fileInfo) in param.uploadableFileInfoList.enumerated() { + SBUCacheManager.Image.preSave( + multipleFilesMessage: preSendMessage, + uploadableFileInfo: fileInfo, + index: index + ) + } + } + + // Upsert pending message to fullMessageList. + if let preSendMessage = preSendMessage, self.messageListParams.belongsTo(preSendMessage) { + // Upsert pendingMessage. + self.pendingMessageManager.upsertPendingMessage( + channelURL: channel.channelURL, + message: preSendMessage + ) + } else { + SBULog.info("A filtered file message has been sent.") + } + + self.sortAllMessageList(needReload: true) + let context = MessageContext(source: .eventMessageSent, sendingStatus: .succeeded) + self.baseDelegate?.baseChannelViewModel( + self, + shouldUpdateScrollInMessageList: self.fullMessageList, + forContext: context, + keepsScroll: false + ) + } + } + + /// - Note: This interface is beta. We do not gaurantee this interface to work properly yet. + /// - Since: [NEXT_VERSION_MFM_THREAD] + public func updateMultipleFilesMessageCell(requestId: String, index: Int) { + self.delegate?.messageThreadViewModel( + self, + didFinishUploadingFileAt: index, + multipleFilesMessageRequestId: requestId + ) + } + /// Sets up completion handlers of send user message. open func setupSendUserMessageCompletionHandlers() { self.sendUserMessageCompletionHandler = { [weak self] userMessage, error in