gitextract_hs1fkjg0/ ├── .gitignore ├── README.md ├── examples/ │ ├── SampleApp/ │ │ ├── .bundle/ │ │ │ └── config │ │ ├── .eslintrc.js │ │ ├── .gitignore │ │ ├── .prettierrc.js │ │ ├── .vscode/ │ │ │ └── settings.json │ │ ├── .watchmanconfig │ │ ├── App.tsx │ │ ├── AppErrorBoundary.tsx │ │ ├── Gemfile │ │ ├── README.md │ │ ├── android/ │ │ │ ├── app/ │ │ │ │ ├── build.gradle │ │ │ │ ├── debug.keystore │ │ │ │ ├── proguard-rules.pro │ │ │ │ └── src/ │ │ │ │ └── main/ │ │ │ │ ├── AndroidManifest.xml │ │ │ │ ├── java/ │ │ │ │ │ └── com/ │ │ │ │ │ └── sampleapp/ │ │ │ │ │ ├── MainActivity.kt │ │ │ │ │ └── MainApplication.kt │ │ │ │ └── res/ │ │ │ │ ├── drawable/ │ │ │ │ │ └── rn_edit_text_material.xml │ │ │ │ └── values/ │ │ │ │ ├── colors.xml │ │ │ │ ├── strings.xml │ │ │ │ └── styles.xml │ │ │ ├── build.gradle │ │ │ ├── gradle/ │ │ │ │ └── wrapper/ │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ │ ├── gradle.properties │ │ │ ├── gradlew │ │ │ ├── gradlew.bat │ │ │ └── settings.gradle │ │ ├── app.json │ │ ├── babel.config.js │ │ ├── gesture-handler.js │ │ ├── gesture-handler.native.js │ │ ├── index.js │ │ ├── ios/ │ │ │ ├── .xcode.env │ │ │ ├── Podfile │ │ │ ├── SampleApp/ │ │ │ │ ├── AppDelegate.swift │ │ │ │ ├── Images.xcassets/ │ │ │ │ │ ├── AppIcon.appiconset/ │ │ │ │ │ │ └── Contents.json │ │ │ │ │ └── Contents.json │ │ │ │ ├── Info.plist │ │ │ │ ├── LaunchScreen.storyboard │ │ │ │ └── PrivacyInfo.xcprivacy │ │ │ ├── SampleApp.xcodeproj/ │ │ │ │ ├── project.pbxproj │ │ │ │ └── xcshareddata/ │ │ │ │ └── xcschemes/ │ │ │ │ └── SampleApp.xcscheme │ │ │ └── SampleApp.xcworkspace/ │ │ │ ├── contents.xcworkspacedata │ │ │ └── xcshareddata/ │ │ │ └── WorkspaceSettings.xcsettings │ │ ├── jest.config.js │ │ ├── metro.config.js │ │ ├── package.json │ │ ├── src/ │ │ │ ├── assets/ │ │ │ │ └── icons/ │ │ │ │ ├── AccountCircle.tsx │ │ │ │ ├── AddComment.tsx │ │ │ │ ├── AiIcon.tsx │ │ │ │ ├── ArrowBack.tsx │ │ │ │ ├── Block.tsx │ │ │ │ ├── Builder.tsx │ │ │ │ ├── Call.tsx │ │ │ │ ├── CallFill.tsx │ │ │ │ ├── Chat.tsx │ │ │ │ ├── Chatfill.tsx │ │ │ │ ├── CheckFill.tsx │ │ │ │ ├── Close.tsx │ │ │ │ ├── Delete.tsx │ │ │ │ ├── Flash.tsx │ │ │ │ ├── Group.tsx │ │ │ │ ├── GroupAdd.tsx │ │ │ │ ├── GroupFill.tsx │ │ │ │ ├── Info.tsx │ │ │ │ ├── InfoIcon.tsx │ │ │ │ ├── Logout.tsx │ │ │ │ ├── Person.tsx │ │ │ │ ├── PersonAdd.tsx │ │ │ │ ├── PersonFill.tsx │ │ │ │ ├── PersonOff.tsx │ │ │ │ ├── Reset.tsx │ │ │ │ ├── UserEmptyIcon.tsx │ │ │ │ └── VideoCam.tsx │ │ │ ├── components/ │ │ │ │ ├── AIAgent/ │ │ │ │ │ └── AIAgents.tsx │ │ │ │ ├── calls/ │ │ │ │ │ ├── CallDetailHelper.tsx │ │ │ │ │ ├── CallDetails.tsx │ │ │ │ │ ├── CallHistory.tsx │ │ │ │ │ ├── CallLogDetailHeader.tsx │ │ │ │ │ ├── CallParticipants.tsx │ │ │ │ │ ├── CallRecordings.tsx │ │ │ │ │ ├── Calls.tsx │ │ │ │ │ └── icons/ │ │ │ │ │ ├── call-end-fill.tsx │ │ │ │ │ ├── call-end.tsx │ │ │ │ │ ├── call-fill.tsx │ │ │ │ │ ├── call-log-fill.tsx │ │ │ │ │ ├── call-log.tsx │ │ │ │ │ ├── call-made-fill.tsx │ │ │ │ │ ├── call-made.tsx │ │ │ │ │ ├── call-missed-fill.tsx │ │ │ │ │ ├── call-missed-outgoing-fill.tsx │ │ │ │ │ ├── call-missed-outgoing.tsx │ │ │ │ │ ├── call-missed.tsx │ │ │ │ │ ├── call-received-fill.tsx │ │ │ │ │ ├── call-received.tsx │ │ │ │ │ ├── call.tsx │ │ │ │ │ ├── cancel-fill.tsx │ │ │ │ │ ├── index.tsx │ │ │ │ │ └── play-arrow.tsx │ │ │ │ ├── conversations/ │ │ │ │ │ ├── helper/ │ │ │ │ │ │ └── GroupListeners.ts │ │ │ │ │ └── screens/ │ │ │ │ │ ├── AddMember.tsx │ │ │ │ │ ├── AddMemberStyles.tsx │ │ │ │ │ ├── BannedMember.tsx │ │ │ │ │ ├── BannedMemberStyles.tsx │ │ │ │ │ ├── Conversations.tsx │ │ │ │ │ ├── CreateConversation.tsx │ │ │ │ │ ├── GroupInfo.tsx │ │ │ │ │ ├── GroupInfoStyles.tsx │ │ │ │ │ ├── Messages.tsx │ │ │ │ │ ├── OngoingCallScreen.tsx │ │ │ │ │ ├── SearchMessages.tsx │ │ │ │ │ ├── ThreadView.tsx │ │ │ │ │ ├── TransferOwnership.tsx │ │ │ │ │ ├── TransferOwnershipStyles.tsx │ │ │ │ │ ├── UserInfo.tsx │ │ │ │ │ ├── UserInfoStyles.tsx │ │ │ │ │ ├── ViewMembers.tsx │ │ │ │ │ └── qr_screen.tsx │ │ │ │ ├── groups/ │ │ │ │ │ ├── GroupHelper.tsx │ │ │ │ │ ├── Groups.tsx │ │ │ │ │ └── styles.ts │ │ │ │ ├── login/ │ │ │ │ │ ├── AppCredentials.tsx │ │ │ │ │ ├── SampleUser.tsx │ │ │ │ │ └── Skeleton.tsx │ │ │ │ └── users/ │ │ │ │ └── Users.tsx │ │ │ ├── config/ │ │ │ │ ├── config.json │ │ │ │ └── store.ts │ │ │ ├── declarations.d.ts │ │ │ ├── hooks/ │ │ │ │ ├── useGroupMemberStatus.ts │ │ │ │ └── useIsKeyboardVisible.ts │ │ │ ├── navigation/ │ │ │ │ ├── AuthContext.tsx │ │ │ │ ├── BottomTabNavigator.tsx │ │ │ │ ├── NavigationService.ts │ │ │ │ ├── RootStackNavigator.tsx │ │ │ │ └── types.ts │ │ │ └── utils/ │ │ │ ├── ActiveChatContext.tsx │ │ │ ├── AppConstants.tsx │ │ │ ├── CommonUtils.ts │ │ │ ├── TooltipMenu.tsx │ │ │ ├── helper.ts │ │ │ └── themeTypography.ts │ │ └── tsconfig.json │ ├── SampleAppAI/ │ │ ├── .bundle/ │ │ │ └── config │ │ ├── .eslintrc.js │ │ ├── .gitignore │ │ ├── .prettierrc.js │ │ ├── .watchmanconfig │ │ ├── App.tsx │ │ ├── AppErrorBoundary.tsx │ │ ├── Gemfile │ │ ├── README.md │ │ ├── android/ │ │ │ ├── app/ │ │ │ │ ├── build.gradle │ │ │ │ ├── debug.keystore │ │ │ │ ├── proguard-rules.pro │ │ │ │ └── src/ │ │ │ │ └── main/ │ │ │ │ ├── AndroidManifest.xml │ │ │ │ ├── java/ │ │ │ │ │ └── com/ │ │ │ │ │ └── cometchat/ │ │ │ │ │ └── ai/ │ │ │ │ │ └── sampleapp/ │ │ │ │ │ ├── MainActivity.kt │ │ │ │ │ └── MainApplication.kt │ │ │ │ └── res/ │ │ │ │ ├── drawable/ │ │ │ │ │ └── rn_edit_text_material.xml │ │ │ │ └── values/ │ │ │ │ ├── colors.xml │ │ │ │ ├── strings.xml │ │ │ │ └── styles.xml │ │ │ ├── build.gradle │ │ │ ├── gradle/ │ │ │ │ └── wrapper/ │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ │ ├── gradle.properties │ │ │ ├── gradlew │ │ │ ├── gradlew.bat │ │ │ └── settings.gradle │ │ ├── app.json │ │ ├── babel.config.js │ │ ├── gesture-handler.js │ │ ├── gesture-handler.native.js │ │ ├── index.js │ │ ├── ios/ │ │ │ ├── .xcode.env │ │ │ ├── Podfile │ │ │ ├── SampleApp/ │ │ │ │ ├── AppDelegate.swift │ │ │ │ ├── Images.xcassets/ │ │ │ │ │ ├── AppIcon.appiconset/ │ │ │ │ │ │ └── Contents.json │ │ │ │ │ └── Contents.json │ │ │ │ ├── Info.plist │ │ │ │ ├── LaunchScreen.storyboard │ │ │ │ └── PrivacyInfo.xcprivacy │ │ │ ├── SampleApp.xcodeproj/ │ │ │ │ ├── project.pbxproj │ │ │ │ └── xcshareddata/ │ │ │ │ └── xcschemes/ │ │ │ │ └── SampleApp.xcscheme │ │ │ └── SampleApp.xcworkspace/ │ │ │ ├── contents.xcworkspacedata │ │ │ └── xcshareddata/ │ │ │ └── WorkspaceSettings.xcsettings │ │ ├── jest.config.js │ │ ├── metro.config.js │ │ ├── package.json │ │ ├── src/ │ │ │ ├── assets/ │ │ │ │ └── icons/ │ │ │ │ ├── AccountCircle.tsx │ │ │ │ ├── AddComment.tsx │ │ │ │ ├── ArrowBack.tsx │ │ │ │ ├── Block.tsx │ │ │ │ ├── Call.tsx │ │ │ │ ├── CallFill.tsx │ │ │ │ ├── Chat.tsx │ │ │ │ ├── Chatfill.tsx │ │ │ │ ├── CheckFill.tsx │ │ │ │ ├── Close.tsx │ │ │ │ ├── Delete.tsx │ │ │ │ ├── Group.tsx │ │ │ │ ├── GroupAdd.tsx │ │ │ │ ├── GroupFill.tsx │ │ │ │ ├── Info.tsx │ │ │ │ ├── InfoIcon.tsx │ │ │ │ ├── Logout.tsx │ │ │ │ ├── Person.tsx │ │ │ │ ├── PersonAdd.tsx │ │ │ │ ├── PersonFill.tsx │ │ │ │ ├── PersonOff.tsx │ │ │ │ ├── UserEmptyIcon.tsx │ │ │ │ └── VideoCam.tsx │ │ │ ├── components/ │ │ │ │ ├── AIAgents.tsx │ │ │ │ ├── Messages.tsx │ │ │ │ └── login/ │ │ │ │ ├── AppCredentials.tsx │ │ │ │ ├── SampleUser.tsx │ │ │ │ └── Skeleton.tsx │ │ │ ├── declarations.d.ts │ │ │ ├── navigation/ │ │ │ │ ├── AuthContext.tsx │ │ │ │ ├── BottomTabNavigator.tsx │ │ │ │ ├── NavigationService.ts │ │ │ │ ├── RootStackNavigator.tsx │ │ │ │ └── types.ts │ │ │ └── utils/ │ │ │ ├── ActiveChatContext.tsx │ │ │ ├── AppConstants.tsx │ │ │ ├── CommonUtils.ts │ │ │ ├── TooltipMenu.tsx │ │ │ └── helper.ts │ │ └── tsconfig.json │ ├── SampleAppExpo/ │ │ ├── .gitattributes │ │ ├── .gitignore │ │ ├── App.tsx │ │ ├── README.md │ │ ├── app.json │ │ ├── gesture-handler.js │ │ ├── gesture-handler.native.js │ │ ├── index.js │ │ ├── metro.config.js │ │ ├── package.json │ │ ├── src/ │ │ │ ├── assets/ │ │ │ │ └── icons/ │ │ │ │ ├── AccountCircle.tsx │ │ │ │ ├── AddComment.tsx │ │ │ │ ├── AiIcon.tsx │ │ │ │ ├── ArrowBack.tsx │ │ │ │ ├── Block.tsx │ │ │ │ ├── Builder.tsx │ │ │ │ ├── Call.tsx │ │ │ │ ├── CallFill.tsx │ │ │ │ ├── Chat.tsx │ │ │ │ ├── Chatfill.tsx │ │ │ │ ├── CheckFill.tsx │ │ │ │ ├── Close.tsx │ │ │ │ ├── Delete.tsx │ │ │ │ ├── Flash.tsx │ │ │ │ ├── Group.tsx │ │ │ │ ├── GroupAdd.tsx │ │ │ │ ├── GroupFill.tsx │ │ │ │ ├── Info.tsx │ │ │ │ ├── InfoIcon.tsx │ │ │ │ ├── Logout.tsx │ │ │ │ ├── Person.tsx │ │ │ │ ├── PersonAdd.tsx │ │ │ │ ├── PersonFill.tsx │ │ │ │ ├── PersonOff.tsx │ │ │ │ ├── Reset.tsx │ │ │ │ ├── UserEmptyIcon.tsx │ │ │ │ └── VideoCam.tsx │ │ │ ├── components/ │ │ │ │ ├── AIAgent/ │ │ │ │ │ └── AIAgents.tsx │ │ │ │ ├── calls/ │ │ │ │ │ ├── CallDetailHelper.tsx │ │ │ │ │ ├── CallDetails.tsx │ │ │ │ │ ├── CallHistory.tsx │ │ │ │ │ ├── CallLogDetailHeader.tsx │ │ │ │ │ ├── CallParticipants.tsx │ │ │ │ │ ├── CallRecordings.tsx │ │ │ │ │ ├── Calls.tsx │ │ │ │ │ └── icons/ │ │ │ │ │ ├── call-end-fill.tsx │ │ │ │ │ ├── call-end.tsx │ │ │ │ │ ├── call-fill.tsx │ │ │ │ │ ├── call-log-fill.tsx │ │ │ │ │ ├── call-log.tsx │ │ │ │ │ ├── call-made-fill.tsx │ │ │ │ │ ├── call-made.tsx │ │ │ │ │ ├── call-missed-fill.tsx │ │ │ │ │ ├── call-missed-outgoing-fill.tsx │ │ │ │ │ ├── call-missed-outgoing.tsx │ │ │ │ │ ├── call-missed.tsx │ │ │ │ │ ├── call-received-fill.tsx │ │ │ │ │ ├── call-received.tsx │ │ │ │ │ ├── call.tsx │ │ │ │ │ ├── cancel-fill.tsx │ │ │ │ │ ├── index.tsx │ │ │ │ │ └── play-arrow.tsx │ │ │ │ ├── conversations/ │ │ │ │ │ ├── helper/ │ │ │ │ │ │ └── GroupListeners.ts │ │ │ │ │ └── screens/ │ │ │ │ │ ├── AddMember.tsx │ │ │ │ │ ├── AddMemberStyles.tsx │ │ │ │ │ ├── BannedMember.tsx │ │ │ │ │ ├── BannedMemberStyles.tsx │ │ │ │ │ ├── Conversations.tsx │ │ │ │ │ ├── CreateConversation.tsx │ │ │ │ │ ├── GroupInfo.tsx │ │ │ │ │ ├── GroupInfoStyles.tsx │ │ │ │ │ ├── Messages.tsx │ │ │ │ │ ├── OngoingCallScreen.tsx │ │ │ │ │ ├── SearchMessages.tsx │ │ │ │ │ ├── ThreadView.tsx │ │ │ │ │ ├── TransferOwnership.tsx │ │ │ │ │ ├── TransferOwnershipStyles.tsx │ │ │ │ │ ├── UserInfo.tsx │ │ │ │ │ ├── UserInfoStyles.tsx │ │ │ │ │ ├── ViewMembers.tsx │ │ │ │ │ └── qr_screen.tsx │ │ │ │ ├── groups/ │ │ │ │ │ ├── GroupHelper.tsx │ │ │ │ │ ├── Groups.tsx │ │ │ │ │ └── styles.ts │ │ │ │ ├── login/ │ │ │ │ │ ├── AppCredentials.tsx │ │ │ │ │ ├── SampleUser.tsx │ │ │ │ │ └── Skeleton.tsx │ │ │ │ └── users/ │ │ │ │ └── Users.tsx │ │ │ ├── config/ │ │ │ │ ├── config.json │ │ │ │ └── store.ts │ │ │ ├── declarations.d.ts │ │ │ ├── hooks/ │ │ │ │ ├── useGroupMemberStatus.ts │ │ │ │ └── useIsKeyboardVisible.ts │ │ │ ├── navigation/ │ │ │ │ ├── AuthContext.tsx │ │ │ │ ├── BottomTabNavigator.tsx │ │ │ │ ├── NavigationService.ts │ │ │ │ ├── RootStackNavigator.tsx │ │ │ │ └── types.ts │ │ │ └── utils/ │ │ │ ├── ActiveChatContext.tsx │ │ │ ├── AppConstants.tsx │ │ │ ├── CommonUtils.ts │ │ │ ├── TooltipMenu.tsx │ │ │ ├── helper.ts │ │ │ └── themeTypography.ts │ │ └── tsconfig.json │ └── SampleAppWithPushNotifications/ │ ├── .bundle/ │ │ └── config │ ├── .eslintrc.js │ ├── .gitignore │ ├── .prettierrc.js │ ├── .vscode/ │ │ └── settings.json │ ├── .watchmanconfig │ ├── App.tsx │ ├── AppErrorBoundary.tsx │ ├── Gemfile │ ├── README.md │ ├── __tests__/ │ │ └── App.test.tsx │ ├── android/ │ │ ├── app/ │ │ │ ├── build.gradle │ │ │ ├── cometchat_team_messanger.jks │ │ │ ├── debug.keystore │ │ │ ├── google-services.json │ │ │ ├── proguard-rules.pro │ │ │ └── src/ │ │ │ └── main/ │ │ │ ├── AndroidManifest.xml │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── sampleappwithpushnotifications/ │ │ │ │ ├── MainActivity.kt │ │ │ │ └── MainApplication.kt │ │ │ └── res/ │ │ │ ├── drawable/ │ │ │ │ └── rn_edit_text_material.xml │ │ │ └── values/ │ │ │ ├── colors.xml │ │ │ ├── strings.xml │ │ │ └── styles.xml │ │ ├── build.gradle │ │ ├── gradle/ │ │ │ └── wrapper/ │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ │ ├── gradle.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── settings.gradle │ ├── app.json │ ├── babel.config.js │ ├── cometchat_team_messanger.jks │ ├── gesture-handler.js │ ├── gesture-handler.native.js │ ├── google-services.json │ ├── index.js │ ├── ios/ │ │ ├── .xcode.env │ │ ├── GoogleService-Info.plist │ │ ├── Podfile │ │ ├── SampleAppWithPushNotifications/ │ │ │ ├── AppDelegate.swift │ │ │ ├── Images.xcassets/ │ │ │ │ ├── AppIcon.appiconset/ │ │ │ │ │ └── Contents.json │ │ │ │ └── Contents.json │ │ │ ├── Info.plist │ │ │ ├── LaunchScreen.storyboard │ │ │ ├── PrivacyInfo.xcprivacy │ │ │ ├── SampleAppWithPushNotifications-Bridging-Header.h │ │ │ ├── SampleAppWithPushNotifications.entitlements │ │ │ └── SampleAppWithPushNotificationsRelease.entitlements │ │ ├── SampleAppWithPushNotifications-Bridging-Header.h │ │ ├── SampleAppWithPushNotifications.xcodeproj/ │ │ │ ├── project.pbxproj │ │ │ └── xcshareddata/ │ │ │ └── xcschemes/ │ │ │ └── SampleAppWithPushNotifications.xcscheme │ │ └── SampleAppWithPushNotifications.xcworkspace/ │ │ ├── contents.xcworkspacedata │ │ └── xcshareddata/ │ │ └── WorkspaceSettings.xcsettings │ ├── jest.config.js │ ├── metro.config.js │ ├── package.json │ ├── src/ │ │ ├── assets/ │ │ │ └── icons/ │ │ │ ├── AccountCircle.tsx │ │ │ ├── AddComment.tsx │ │ │ ├── AiIcon.tsx │ │ │ ├── ArrowBack.tsx │ │ │ ├── Block.tsx │ │ │ ├── Builder.tsx │ │ │ ├── Call.tsx │ │ │ ├── CallFill.tsx │ │ │ ├── Chat.tsx │ │ │ ├── Chatfill.tsx │ │ │ ├── CheckFill.tsx │ │ │ ├── Close.tsx │ │ │ ├── Delete.tsx │ │ │ ├── Flash.tsx │ │ │ ├── Group.tsx │ │ │ ├── GroupAdd.tsx │ │ │ ├── GroupFill.tsx │ │ │ ├── Info.tsx │ │ │ ├── InfoIcon.tsx │ │ │ ├── Logout.tsx │ │ │ ├── Person.tsx │ │ │ ├── PersonAdd.tsx │ │ │ ├── PersonFill.tsx │ │ │ ├── PersonOff.tsx │ │ │ ├── Reset.tsx │ │ │ ├── UserEmptyIcon.tsx │ │ │ └── VideoCam.tsx │ │ ├── components/ │ │ │ ├── AIAgent/ │ │ │ │ └── AIAgents.tsx │ │ │ ├── calls/ │ │ │ │ ├── CallDetailHelper.tsx │ │ │ │ ├── CallDetails.tsx │ │ │ │ ├── CallHistory.tsx │ │ │ │ ├── CallLogDetailHeader.tsx │ │ │ │ ├── CallParticipants.tsx │ │ │ │ ├── CallRecordings.tsx │ │ │ │ ├── Calls.tsx │ │ │ │ └── icons/ │ │ │ │ ├── call-end-fill.tsx │ │ │ │ ├── call-end.tsx │ │ │ │ ├── call-fill.tsx │ │ │ │ ├── call-log-fill.tsx │ │ │ │ ├── call-log.tsx │ │ │ │ ├── call-made-fill.tsx │ │ │ │ ├── call-made.tsx │ │ │ │ ├── call-missed-fill.tsx │ │ │ │ ├── call-missed-outgoing-fill.tsx │ │ │ │ ├── call-missed-outgoing.tsx │ │ │ │ ├── call-missed.tsx │ │ │ │ ├── call-received-fill.tsx │ │ │ │ ├── call-received.tsx │ │ │ │ ├── call.tsx │ │ │ │ ├── cancel-fill.tsx │ │ │ │ ├── index.tsx │ │ │ │ └── play-arrow.tsx │ │ │ ├── conversations/ │ │ │ │ ├── helper/ │ │ │ │ │ └── GroupListeners.ts │ │ │ │ └── screens/ │ │ │ │ ├── AddMember.tsx │ │ │ │ ├── AddMemberStyles.tsx │ │ │ │ ├── BannedMember.tsx │ │ │ │ ├── BannedMemberStyles.tsx │ │ │ │ ├── Conversations.tsx │ │ │ │ ├── CreateConversation.tsx │ │ │ │ ├── GroupInfo.tsx │ │ │ │ ├── GroupInfoStyles.tsx │ │ │ │ ├── Messages.tsx │ │ │ │ ├── OngoingCallScreen.tsx │ │ │ │ ├── SearchMessages.tsx │ │ │ │ ├── ThreadView.tsx │ │ │ │ ├── TransferOwnership.tsx │ │ │ │ ├── TransferOwnershipStyles.tsx │ │ │ │ ├── UserInfo.tsx │ │ │ │ ├── UserInfoStyles.tsx │ │ │ │ ├── ViewMembers.tsx │ │ │ │ └── qr_screen.tsx │ │ │ ├── groups/ │ │ │ │ ├── GroupHelper.tsx │ │ │ │ ├── Groups.tsx │ │ │ │ └── styles.ts │ │ │ ├── login/ │ │ │ │ ├── AppCredentials.tsx │ │ │ │ ├── SampleUser.tsx │ │ │ │ └── Skeleton.tsx │ │ │ └── users/ │ │ │ └── Users.tsx │ │ ├── config/ │ │ │ ├── config.json │ │ │ └── store.ts │ │ ├── declarations.d.ts │ │ ├── hooks/ │ │ │ ├── useGroupMemberStatus.ts │ │ │ └── useIsKeyboardVisible.ts │ │ ├── navigation/ │ │ │ ├── AuthContext.tsx │ │ │ ├── BottomTabNavigator.tsx │ │ │ ├── NavigationService.ts │ │ │ ├── RootStackNavigator.tsx │ │ │ └── types.ts │ │ └── utils/ │ │ ├── ActiveChatContext.tsx │ │ ├── AppConstants.tsx │ │ ├── CommonUtils.ts │ │ ├── PendingCallManager.ts │ │ ├── PushNotification.tsx │ │ ├── TooltipMenu.tsx │ │ ├── VoipNotificationHandler.ts │ │ ├── helper.ts │ │ └── themeTypography.ts │ └── tsconfig.json └── packages/ └── ChatUiKit/ ├── .gitignore ├── .prettierrc.json ├── CONTRIBUTING.md ├── LICENSE.md ├── README.md ├── SECURITY.md ├── SUPPORT.md ├── android/ │ ├── .settings/ │ │ └── org.eclipse.buildship.core.prefs │ ├── build.gradle │ ├── gradle/ │ │ └── wrapper/ │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties │ ├── gradle.properties │ ├── gradlew │ ├── gradlew.bat │ ├── settings.gradle │ └── src/ │ └── main/ │ ├── AndroidManifest.xml │ ├── java/ │ │ └── com/ │ │ ├── reactnativecometchatuikit/ │ │ │ ├── CometChatImageViewer.java │ │ │ ├── CometChatSoundModule.java │ │ │ ├── CometChatVideoPlayer.java │ │ │ ├── CometChatWebView.java │ │ │ ├── CometchatUiKitModule.java │ │ │ ├── CometchatUiKitPackage.java │ │ │ ├── FileManager.java │ │ │ ├── ImageManager.java │ │ │ ├── ProximityModule.java │ │ │ ├── ReactVideoView.java │ │ │ ├── ReactVideoViewManager.java │ │ │ ├── RichTextEditorPackage.kt │ │ │ ├── RichTextEditorView.kt │ │ │ ├── RichTextEditorViewManager.kt │ │ │ ├── SoundPlayer.java │ │ │ ├── TimeZoneCodeManager.java │ │ │ └── WebViewManager.java │ │ ├── scalablevideoview/ │ │ │ ├── BuildConfig.java │ │ │ ├── PivotPoint.java │ │ │ ├── ScalableType.java │ │ │ ├── ScalableVideoView.java │ │ │ ├── ScaleManager.java │ │ │ └── Size.java │ │ └── zipfile/ │ │ ├── APEZProvider.java │ │ ├── APKExpansionSupport.java │ │ └── ZipResourceFile.java │ └── res/ │ ├── values/ │ │ └── attrs.xml │ └── xml/ │ └── filepaths.xml ├── babel.config.js ├── ios/ │ ├── CometChatSoundModule.h │ ├── CometChatSoundModule.m │ ├── CometchatUiKit.h │ ├── CometchatUiKit.mm │ ├── CometchatUiKit.xcodeproj/ │ │ ├── project.pbxproj │ │ └── project.xcworkspace/ │ │ ├── contents.xcworkspacedata │ │ └── xcshareddata/ │ │ └── IDEWorkspaceChecks.plist │ ├── CommonUtil.h │ ├── CommonUtil.m │ ├── FileManager.h │ ├── FileManager.m │ ├── Proximity.h │ ├── Proximity.m │ ├── RichTextEditorView.swift │ ├── RichTextEditorViewManager.m │ ├── RichTextEditorViewManager.swift │ ├── SoundPlayer.h │ ├── SoundPlayer.m │ ├── TimeZoneCodeManager.h │ ├── TimeZoneCodeManager.m │ ├── ToolbarIcons.swift │ ├── Video/ │ │ ├── CCRCTVideo.h │ │ ├── CCRCTVideo.m │ │ ├── CCRCTVideoManager.h │ │ ├── CCRCTVideoManager.m │ │ ├── CCRCTVideoPlayerViewController.h │ │ ├── CCRCTVideoPlayerViewController.m │ │ ├── CCRCTVideoPlayerViewControllerDelegate.h │ │ ├── UIView+FindUIViewController.h │ │ └── UIView+FindUIViewController.m │ ├── VideoManager.h │ ├── VideoManager.m │ ├── VideoPickerModule.h │ ├── VideoPickerModule.mm │ ├── WebViewManager.h │ └── WebViewManager.m ├── package.json ├── packager.js ├── react-native-cometchat-ui-kit.podspec ├── src/ │ ├── CometChatAIAssistantChatHistory/ │ │ ├── CometChatAIAssistantChatHistory.tsx │ │ ├── Skeleton.tsx │ │ ├── index.ts │ │ └── style.ts │ ├── CometChatCompactMessageComposer/ │ │ ├── CometChatCompactMessageComposer.tsx │ │ ├── SingleLineTextComposerConfiguration.tsx │ │ ├── heightUtils.ts │ │ ├── index.ts │ │ ├── resources/ │ │ │ └── index.ts │ │ └── styles.ts │ ├── CometChatConversations/ │ │ ├── CometChatConversations.tsx │ │ ├── Skeleton.tsx │ │ ├── index.ts │ │ ├── resources/ │ │ │ └── index.ts │ │ └── style.ts │ ├── CometChatGroupMembers/ │ │ ├── CometChatGroupMembers.tsx │ │ ├── Skeleton.tsx │ │ ├── index.ts │ │ ├── resources/ │ │ │ └── index.ts │ │ └── style.ts │ ├── CometChatGroups/ │ │ ├── CometChatGroups.tsx │ │ ├── GroupsStyle.ts │ │ ├── Skeleton.tsx │ │ ├── index.ts │ │ ├── resources/ │ │ │ └── index.ts │ │ └── style.ts │ ├── CometChatMessageComposer/ │ │ ├── CometChatMessageComposer.tsx │ │ ├── index.ts │ │ ├── resources/ │ │ │ └── index.ts │ │ └── styles.tsx │ ├── CometChatMessageHeader/ │ │ ├── CometChatMessageHeader.tsx │ │ ├── index.ts │ │ ├── listners.ts │ │ └── styles.ts │ ├── CometChatMessageInformation/ │ │ ├── CometChatMessageInformation.tsx │ │ ├── Skeleton.tsx │ │ ├── index.ts │ │ ├── resources/ │ │ │ └── index.ts │ │ └── styles.ts │ ├── CometChatMessageList/ │ │ ├── CometChatMessageList.tsx │ │ ├── Skeleton.tsx │ │ ├── components/ │ │ │ ├── MessageListItem.tsx │ │ │ ├── MessageModals.tsx │ │ │ ├── MessageOptionsSheet.tsx │ │ │ └── ReactionModals.tsx │ │ ├── index.ts │ │ ├── resources/ │ │ │ └── index.ts │ │ └── style.ts │ ├── CometChatRichTextEditor/ │ │ ├── RichTextEditorViewNativeComponent.ts │ │ ├── index.tsx │ │ └── types.ts │ ├── CometChatSearch/ │ │ ├── CometChatSearch.tsx │ │ ├── SearchConstants.ts │ │ ├── Skeleton.tsx │ │ ├── index.ts │ │ └── style.ts │ ├── CometChatThreadHeader/ │ │ ├── CometChatThreadHeader.tsx │ │ ├── Header.tsx │ │ ├── index.ts │ │ ├── resources/ │ │ │ └── index.ts │ │ └── style.ts │ ├── CometChatUsers/ │ │ ├── CometChatUsers.tsx │ │ ├── Skeleton.tsx │ │ ├── index.ts │ │ └── style.ts │ ├── calls/ │ │ ├── CallEvents.ts │ │ ├── CallUtils.ts │ │ ├── CallingConfiguration.ts │ │ ├── CallingExtension.tsx │ │ ├── CallingExtensionDecorator.tsx │ │ ├── CallingPackage.ts │ │ ├── CometChatCallBubble/ │ │ │ ├── CometChatCallBubble.tsx │ │ │ ├── index.ts │ │ │ ├── resources/ │ │ │ │ └── index.ts │ │ │ └── styles.ts │ │ ├── CometChatCallButtons/ │ │ │ ├── CometChatCallButtonConfiguration.ts │ │ │ ├── CometChatCallButtons.tsx │ │ │ ├── index.ts │ │ │ └── style.ts │ │ ├── CometChatCallLogs/ │ │ │ ├── CometChatCallLogs.tsx │ │ │ ├── Skeleton.tsx │ │ │ ├── index.ts │ │ │ ├── resources/ │ │ │ │ └── index.ts │ │ │ └── style.ts │ │ ├── CometChatIncomingCall/ │ │ │ ├── CometChatIncomingCall.tsx │ │ │ ├── index.ts │ │ │ ├── resources/ │ │ │ │ └── index.ts │ │ │ └── style.ts │ │ ├── CometChatOngoingCall/ │ │ │ ├── CometChatOngoingCall.tsx │ │ │ └── index.ts │ │ ├── CometChatOutgoingCall/ │ │ │ ├── CometChatOutgoingCall.tsx │ │ │ ├── OutgoingCallConfiguration.ts │ │ │ ├── index.ts │ │ │ ├── resources/ │ │ │ │ └── index.ts │ │ │ └── styles.ts │ │ ├── index.ts │ │ └── resources/ │ │ └── index.ts │ ├── extensions/ │ │ ├── CollaborativeBubble/ │ │ │ ├── CometChatCollaborativeBubble.tsx │ │ │ ├── resources/ │ │ │ │ └── index.ts │ │ │ └── style.ts │ │ ├── CollaborativeDocument/ │ │ │ ├── CollaborativeDocumentExtension.tsx │ │ │ ├── CollaborativeDocumentExtensionDecorator.tsx │ │ │ ├── index.ts │ │ │ └── resources/ │ │ │ └── index.ts │ │ ├── CollaborativeWhiteboard/ │ │ │ ├── CollaborativeWhiteboardExtension.tsx │ │ │ ├── CollaborativeWhiteboardExtensionDecorator.tsx │ │ │ ├── index.ts │ │ │ └── resources/ │ │ │ └── index.ts │ │ ├── ExtensionConstants.tsx │ │ ├── ExtensionModerator.tsx │ │ ├── LinkPreview/ │ │ │ ├── LinkPreviewBubble.tsx │ │ │ ├── LinkPreviewExtension.tsx │ │ │ ├── LinkPreviewExtensionDecorator.tsx │ │ │ ├── index.ts │ │ │ ├── resources/ │ │ │ │ └── index.ts │ │ │ └── style.ts │ │ ├── MessageTranslation/ │ │ │ ├── MessageTranslationBubble.tsx │ │ │ ├── MessageTranslationDecorator.tsx │ │ │ ├── MessageTranslationExtension.tsx │ │ │ ├── index.ts │ │ │ └── resources/ │ │ │ └── index.ts │ │ ├── Polls/ │ │ │ ├── Header.tsx │ │ │ ├── Polls.tsx │ │ │ ├── PollsBubble.tsx │ │ │ ├── PollsConfigurations.ts │ │ │ ├── PollsDecorator.tsx │ │ │ ├── PollsExtension.tsx │ │ │ ├── index.ts │ │ │ ├── resources/ │ │ │ │ └── index.ts │ │ │ └── style.ts │ │ ├── Stickers/ │ │ │ ├── CometChatStickerKeyboard/ │ │ │ │ ├── CometChatStickerKeyboard.tsx │ │ │ │ ├── Skeleton.tsx │ │ │ │ ├── StickerKeyboardConfiguration.ts │ │ │ │ ├── hooks.ts │ │ │ │ ├── index.ts │ │ │ │ └── style.ts │ │ │ ├── StickerConfiguration.ts │ │ │ ├── StickersBubble.tsx │ │ │ ├── StickersExtension.ts │ │ │ ├── StickersExtensionDecorator.tsx │ │ │ ├── index.ts │ │ │ ├── resources/ │ │ │ │ └── index.ts │ │ │ └── style.ts │ │ ├── ThumbnailGeneration/ │ │ │ ├── ThumbnailGenerationDecorator.tsx │ │ │ ├── ThumbnailGenerationExtension.tsx │ │ │ ├── index.ts │ │ │ └── resources/ │ │ │ └── index.ts │ │ └── index.ts │ ├── imageresolver.d.ts │ ├── index.ts │ ├── shared/ │ │ ├── CometChatUiKit/ │ │ │ ├── CometChatUIKit.ts │ │ │ ├── CometChatUIKitHelper.ts │ │ │ ├── UIKitSettings.ts │ │ │ └── index.ts │ │ ├── assets/ │ │ │ └── images/ │ │ │ └── index.ts │ │ ├── base/ │ │ │ ├── BaseStyle.ts │ │ │ ├── BorderStyle.ts │ │ │ ├── FontStyle.ts │ │ │ ├── ShadowStyle.ts │ │ │ ├── Types.ts │ │ │ ├── index.ts │ │ │ └── vars.ts │ │ ├── constants/ │ │ │ └── UIKitConstants.ts │ │ ├── events/ │ │ │ ├── CometChatMessageEvents/ │ │ │ │ └── index.ts │ │ │ ├── CometChatUIEventHandler/ │ │ │ │ ├── CometChatUIEventHandler.ts │ │ │ │ └── Listener.ts │ │ │ ├── CometChatUIEvents.ts │ │ │ ├── ListenerInitializer.ts │ │ │ ├── conversations.ts │ │ │ ├── groups.ts │ │ │ ├── index.ts │ │ │ └── messages.ts │ │ ├── formatters/ │ │ │ ├── CometChatMentionsFormatter/ │ │ │ │ ├── CometChatMentionsFormatter.tsx │ │ │ │ ├── MentionTextStyle.ts │ │ │ │ └── index.ts │ │ │ ├── CometChatRichTextFormatter/ │ │ │ │ └── index.tsx │ │ │ ├── CometChatTextFormatter.ts │ │ │ ├── CometChatUrlsFormatter/ │ │ │ │ └── index.tsx │ │ │ └── index.ts │ │ ├── framework/ │ │ │ ├── ChatConfigurator.ts │ │ │ ├── DataSource.ts │ │ │ ├── DataSourceDecorator.tsx │ │ │ ├── ExtensionsDataSource.tsx │ │ │ ├── MessageDataSource.tsx │ │ │ ├── index.ts │ │ │ └── resources/ │ │ │ └── index.ts │ │ ├── helper/ │ │ │ ├── LocalizedDateHelper.ts │ │ │ ├── Toast.tsx │ │ │ ├── composerHelpers.ts │ │ │ ├── dateHelper.ts │ │ │ ├── functions.js │ │ │ ├── helperFunctions.ts │ │ │ ├── types/ │ │ │ │ └── index.ts │ │ │ ├── useKeyboard.tsx │ │ │ └── useLocalizedDateHook.tsx │ │ ├── icons/ │ │ │ ├── Icon.tsx │ │ │ ├── components/ │ │ │ │ ├── ListItemCheck.tsx │ │ │ │ ├── StickerBase-icon.tsx │ │ │ │ ├── account-circle-fill.tsx │ │ │ │ ├── account-circle.tsx │ │ │ │ ├── activity.tsx │ │ │ │ ├── add-a-photo-fill.tsx │ │ │ │ ├── add-a-photo.tsx │ │ │ │ ├── add-box-fill.tsx │ │ │ │ ├── add-box.tsx │ │ │ │ ├── add-call-fill.tsx │ │ │ │ ├── add-call.tsx │ │ │ │ ├── add-circle-fill.tsx │ │ │ │ ├── add-circle.tsx │ │ │ │ ├── add-comment-fill.tsx │ │ │ │ ├── add-comment.tsx │ │ │ │ ├── add-fill.tsx │ │ │ │ ├── add-reaction-fill.tsx │ │ │ │ ├── add-reaction.tsx │ │ │ │ ├── add.tsx │ │ │ │ ├── ai-chat-history.tsx │ │ │ │ ├── ai-conversation-summary-fill.tsx │ │ │ │ ├── ai-conversation-summary.tsx │ │ │ │ ├── ai-copy-option.tsx │ │ │ │ ├── ai-fill.tsx │ │ │ │ ├── ai-new-chat.tsx │ │ │ │ ├── ai-send-button.tsx │ │ │ │ ├── ai-suggest-reply-fill.tsx │ │ │ │ ├── ai-suggest-reply.tsx │ │ │ │ ├── ai.tsx │ │ │ │ ├── alternate-email-fill.tsx │ │ │ │ ├── alternate-email.tsx │ │ │ │ ├── animals-&-nature.tsx │ │ │ │ ├── archive-fill.tsx │ │ │ │ ├── archive.tsx │ │ │ │ ├── arrow-back-fill.tsx │ │ │ │ ├── arrow-back.tsx │ │ │ │ ├── arrow-forward-fill.tsx │ │ │ │ ├── arrow-forward.tsx │ │ │ │ ├── attach-file-fill.tsx │ │ │ │ ├── attach-file.tsx │ │ │ │ ├── audio-file-type.tsx │ │ │ │ ├── bar-chart-fill.tsx │ │ │ │ ├── bar-chart.tsx │ │ │ │ ├── base-icon.tsx │ │ │ │ ├── bedtime-fill.tsx │ │ │ │ ├── bedtime.tsx │ │ │ │ ├── block-fill.tsx │ │ │ │ ├── block.tsx │ │ │ │ ├── bookmark-add-fill.tsx │ │ │ │ ├── bookmark-add.tsx │ │ │ │ ├── bookmark-fill.tsx │ │ │ │ ├── bookmark.tsx │ │ │ │ ├── calendar-add-on-fill.tsx │ │ │ │ ├── calendar-add-on.tsx │ │ │ │ ├── calendar-today-fill.tsx │ │ │ │ ├── calendar-today.tsx │ │ │ │ ├── call-end-fill.tsx │ │ │ │ ├── call-end.tsx │ │ │ │ ├── call-fill.tsx │ │ │ │ ├── call-log-fill.tsx │ │ │ │ ├── call-log.tsx │ │ │ │ ├── call-made-fill.tsx │ │ │ │ ├── call-made.tsx │ │ │ │ ├── call-missed-fill.tsx │ │ │ │ ├── call-missed-outgoing-fill.tsx │ │ │ │ ├── call-missed-outgoing.tsx │ │ │ │ ├── call-missed.tsx │ │ │ │ ├── call-received-fill.tsx │ │ │ │ ├── call-received.tsx │ │ │ │ ├── call.tsx │ │ │ │ ├── cancel-fill.tsx │ │ │ │ ├── cancel.tsx │ │ │ │ ├── change-circle-fill.tsx │ │ │ │ ├── change-circle.tsx │ │ │ │ ├── chat-bot-fill.tsx │ │ │ │ ├── chat-bot.tsx │ │ │ │ ├── chat-fill.tsx │ │ │ │ ├── chat.tsx │ │ │ │ ├── check-circle-fill.tsx │ │ │ │ ├── check-circle.tsx │ │ │ │ ├── check-fill.tsx │ │ │ │ ├── check.tsx │ │ │ │ ├── chevron-left-fill.tsx │ │ │ │ ├── chevron-left.tsx │ │ │ │ ├── chevron-right-fill.tsx │ │ │ │ ├── chevron-right.tsx │ │ │ │ ├── close-fill.tsx │ │ │ │ ├── close.tsx │ │ │ │ ├── code-blocks.tsx │ │ │ │ ├── code.tsx │ │ │ │ ├── collaborative-document-fill.tsx │ │ │ │ ├── collaborative-document-icon.tsx │ │ │ │ ├── collaborative-document.tsx │ │ │ │ ├── collaborative-whiteboard-fill.tsx │ │ │ │ ├── collaborative-whiteboard-icon.tsx │ │ │ │ ├── collaborative-whiteboard.tsx │ │ │ │ ├── content-copy-fill.tsx │ │ │ │ ├── content-copy.tsx │ │ │ │ ├── crop-fill.tsx │ │ │ │ ├── crop.tsx │ │ │ │ ├── delete-fill.tsx │ │ │ │ ├── delete.tsx │ │ │ │ ├── description-fill.tsx │ │ │ │ ├── description.tsx │ │ │ │ ├── document-file-type.tsx │ │ │ │ ├── documents.tsx │ │ │ │ ├── done-all-fill.tsx │ │ │ │ ├── done-all.tsx │ │ │ │ ├── download-fill.tsx │ │ │ │ ├── download.tsx │ │ │ │ ├── edit-calendar-fill.tsx │ │ │ │ ├── edit-calendar.tsx │ │ │ │ ├── edit-fill.tsx │ │ │ │ ├── edit-square-fill.tsx │ │ │ │ ├── edit-square.tsx │ │ │ │ ├── edit.tsx │ │ │ │ ├── empty-search.tsx │ │ │ │ ├── empty-state.tsx │ │ │ │ ├── error-fill.tsx │ │ │ │ ├── error-state.tsx │ │ │ │ ├── error.tsx │ │ │ │ ├── event-available-fill.tsx │ │ │ │ ├── event-available.tsx │ │ │ │ ├── event-fill.tsx │ │ │ │ ├── event.tsx │ │ │ │ ├── favorite-fill.tsx │ │ │ │ ├── favorite.tsx │ │ │ │ ├── filter-list-fill.tsx │ │ │ │ ├── filter-list-off-fill.tsx │ │ │ │ ├── filter-list-off.tsx │ │ │ │ ├── filter-list.tsx │ │ │ │ ├── flags.tsx │ │ │ │ ├── flip-camera-ios-fill.tsx │ │ │ │ ├── flip-camera-ios.tsx │ │ │ │ ├── food-&-drink.tsx │ │ │ │ ├── format-bold.tsx │ │ │ │ ├── format-italic.tsx │ │ │ │ ├── format-list-bulleted.tsx │ │ │ │ ├── format-list-numbered.tsx │ │ │ │ ├── format-quote.tsx │ │ │ │ ├── format-strikethrough.tsx │ │ │ │ ├── format-underlined.tsx │ │ │ │ ├── forward-fill.tsx │ │ │ │ ├── forward.tsx │ │ │ │ ├── gif-fill.tsx │ │ │ │ ├── gif.tsx │ │ │ │ ├── graphic-eq-fill.tsx │ │ │ │ ├── graphic-eq.tsx │ │ │ │ ├── group-add.tsx │ │ │ │ ├── group-fill.tsx │ │ │ │ ├── group.tsx │ │ │ │ ├── help-fill.tsx │ │ │ │ ├── help.tsx │ │ │ │ ├── history-fill.tsx │ │ │ │ ├── history.tsx │ │ │ │ ├── image-file-type.tsx │ │ │ │ ├── incoming-audio-fill.tsx │ │ │ │ ├── incoming-audio.tsx │ │ │ │ ├── incoming-video-fill.tsx │ │ │ │ ├── incoming-video.tsx │ │ │ │ ├── info-fill.tsx │ │ │ │ ├── info.tsx │ │ │ │ ├── keep-fill.tsx │ │ │ │ ├── keep-off-fill.tsx │ │ │ │ ├── keep-off.tsx │ │ │ │ ├── keep.tsx │ │ │ │ ├── keyboard-arrow-down-fill.tsx │ │ │ │ ├── keyboard-arrow-down.tsx │ │ │ │ ├── keyboard-arrow-up-fill.tsx │ │ │ │ ├── keyboard-arrow-up.tsx │ │ │ │ ├── keyboard-fill.tsx │ │ │ │ ├── keyboard.tsx │ │ │ │ ├── language-fill.tsx │ │ │ │ ├── language.tsx │ │ │ │ ├── link-fill.tsx │ │ │ │ ├── link.tsx │ │ │ │ ├── loading-fill.tsx │ │ │ │ ├── loading.tsx │ │ │ │ ├── location-on-fill.tsx │ │ │ │ ├── location-on.tsx │ │ │ │ ├── lock-fill.tsx │ │ │ │ ├── lock-open-fill.tsx │ │ │ │ ├── lock-open.tsx │ │ │ │ ├── lock.tsx │ │ │ │ ├── logout-fill.tsx │ │ │ │ ├── logout.tsx │ │ │ │ ├── mail-fill.tsx │ │ │ │ ├── mail.tsx │ │ │ │ ├── message-blocked.tsx │ │ │ │ ├── mic-fill.tsx │ │ │ │ ├── mic-off-fill.tsx │ │ │ │ ├── mic-off.tsx │ │ │ │ ├── mic.tsx │ │ │ │ ├── missed-video-call-fill.tsx │ │ │ │ ├── missed-video-call.tsx │ │ │ │ ├── mood-fill.tsx │ │ │ │ ├── mood.tsx │ │ │ │ ├── more-vert-fill.tsx │ │ │ │ ├── more-vert.tsx │ │ │ │ ├── near-me-fill.tsx │ │ │ │ ├── near-me.tsx │ │ │ │ ├── no-photography-fill.tsx │ │ │ │ ├── no-photography.tsx │ │ │ │ ├── notifications-fill.tsx │ │ │ │ ├── notifications-off-fill.tsx │ │ │ │ ├── notifications-off.tsx │ │ │ │ ├── notifications.tsx │ │ │ │ ├── objects.tsx │ │ │ │ ├── outgoing-audio-fill.tsx │ │ │ │ ├── outgoing-audio.tsx │ │ │ │ ├── outgoing-video-fill.tsx │ │ │ │ ├── outgoing-video.tsx │ │ │ │ ├── pause-fill.tsx │ │ │ │ ├── pause.tsx │ │ │ │ ├── pdf-file-type.tsx │ │ │ │ ├── person-add-fill.tsx │ │ │ │ ├── person-add.tsx │ │ │ │ ├── person-fill.tsx │ │ │ │ ├── person-off.tsx │ │ │ │ ├── person.tsx │ │ │ │ ├── phone-in-talk-fill.tsx │ │ │ │ ├── phone-in-talk.tsx │ │ │ │ ├── phone-incoming-fill.tsx │ │ │ │ ├── phone-incoming.tsx │ │ │ │ ├── phone-missed-fill.tsx │ │ │ │ ├── phone-missed.tsx │ │ │ │ ├── phone-outgoing-fill.tsx │ │ │ │ ├── phone-outgoing.tsx │ │ │ │ ├── photo-camera-fill.tsx │ │ │ │ ├── photo-camera.tsx │ │ │ │ ├── photo-fill.tsx │ │ │ │ ├── photo.tsx │ │ │ │ ├── play-arrow-fill.tsx │ │ │ │ ├── play-arrow.tsx │ │ │ │ ├── play-circle-fill.tsx │ │ │ │ ├── play-circle.tsx │ │ │ │ ├── poll-Icon.tsx │ │ │ │ ├── poll-fill.tsx │ │ │ │ ├── poll.tsx │ │ │ │ ├── presentation-file-type.tsx │ │ │ │ ├── rearrange-fill.tsx │ │ │ │ ├── rearrange.tsx │ │ │ │ ├── refresh-fill.tsx │ │ │ │ ├── refresh.tsx │ │ │ │ ├── reply-all-fill.tsx │ │ │ │ ├── reply-all.tsx │ │ │ │ ├── reply-fill.tsx │ │ │ │ ├── reply.tsx │ │ │ │ ├── retry-fill.tsx │ │ │ │ ├── retry.tsx │ │ │ │ ├── right-arrow.tsx │ │ │ │ ├── schedule-fill.tsx │ │ │ │ ├── schedule.tsx │ │ │ │ ├── screen-share-fill.tsx │ │ │ │ ├── screen-share.tsx │ │ │ │ ├── search-fill.tsx │ │ │ │ ├── search.tsx │ │ │ │ ├── send-fill.tsx │ │ │ │ ├── send.tsx │ │ │ │ ├── settings-fill.tsx │ │ │ │ ├── settings.tsx │ │ │ │ ├── share-fill.tsx │ │ │ │ ├── share.tsx │ │ │ │ ├── shield-fill.tsx │ │ │ │ ├── shield.tsx │ │ │ │ ├── smileys-&-people.tsx │ │ │ │ ├── spreadsheet-file-type.tsx │ │ │ │ ├── star-fill.tsx │ │ │ │ ├── star.tsx │ │ │ │ ├── sticker-fill.tsx │ │ │ │ ├── sticker.tsx │ │ │ │ ├── stop-circle-fill.tsx │ │ │ │ ├── stop-circle.tsx │ │ │ │ ├── stop-fill.tsx │ │ │ │ ├── stop-screen-share-fill.tsx │ │ │ │ ├── stop-screen-share.tsx │ │ │ │ ├── stop.tsx │ │ │ │ ├── subdirectory-arrow-left-fill.tsx │ │ │ │ ├── subdirectory-arrow-left.tsx │ │ │ │ ├── subdirectory-arrow-right-fill.tsx │ │ │ │ ├── subdirectory-arrow-right.tsx │ │ │ │ ├── sunny-fill.tsx │ │ │ │ ├── sunny.tsx │ │ │ │ ├── symbols.tsx │ │ │ │ ├── text-file-type.tsx │ │ │ │ ├── thumb-down-fill.tsx │ │ │ │ ├── thumb-down.tsx │ │ │ │ ├── thumb-up-fill.tsx │ │ │ │ ├── thumb-up.tsx │ │ │ │ ├── translate-fill.tsx │ │ │ │ ├── translate.tsx │ │ │ │ ├── travel-&-places.tsx │ │ │ │ ├── unknown-file-type.tsx │ │ │ │ ├── unread.tsx │ │ │ │ ├── upload-fill.tsx │ │ │ │ ├── upload.tsx │ │ │ │ ├── user-empty-icon.tsx │ │ │ │ ├── video-call-fill.tsx │ │ │ │ ├── video-call.tsx │ │ │ │ ├── video-file-type.tsx │ │ │ │ ├── videocam-fill.tsx │ │ │ │ ├── videocam-off-fill.tsx │ │ │ │ ├── videocam-off.tsx │ │ │ │ ├── videocam.tsx │ │ │ │ ├── visibility-off-fill.tsx │ │ │ │ ├── visibility-off.tsx │ │ │ │ ├── volume-down-fill.tsx │ │ │ │ ├── volume-down.tsx │ │ │ │ ├── volume-mute-fill.tsx │ │ │ │ ├── volume-mute.tsx │ │ │ │ ├── volume-off-fill.tsx │ │ │ │ ├── volume-off.tsx │ │ │ │ ├── volume-up-fill.tsx │ │ │ │ ├── volume-up.tsx │ │ │ │ ├── warning-fill.tsx │ │ │ │ ├── warning.tsx │ │ │ │ ├── wifi-fill.tsx │ │ │ │ ├── wifi.tsx │ │ │ │ ├── zip-file-type.tsx │ │ │ │ ├── zoom-in-map-fill.tsx │ │ │ │ ├── zoom-in-map.tsx │ │ │ │ ├── zoom-out-map-fill.tsx │ │ │ │ └── zoom-out-map.tsx │ │ │ └── icon-mapping.tsx │ │ ├── index.ts │ │ ├── libs/ │ │ │ ├── ImageZoom/ │ │ │ │ ├── ReactNativeZoomableView.tsx │ │ │ │ ├── ReactNativeZoomableViewWithGestures.tsx │ │ │ │ ├── helper.ts │ │ │ │ ├── index.tsx │ │ │ │ └── types/ │ │ │ │ └── index.ts │ │ │ └── VideoPlayer/ │ │ │ ├── DRMType.js │ │ │ ├── FilterType.js │ │ │ ├── TextTrackType.js │ │ │ └── VideoResizeMode.js │ │ ├── modals/ │ │ │ ├── CometChatAIAssistantTools.ts │ │ │ ├── CometChatMessageOption.ts │ │ │ ├── CometChatMessageTemplate.ts │ │ │ ├── StreamMessage.ts │ │ │ └── index.ts │ │ ├── resources/ │ │ │ ├── CometChatLocalizeNew/ │ │ │ │ ├── CometChatI18nProvider.tsx │ │ │ │ ├── CometChatLocalizationHelper.ts │ │ │ │ ├── CometChatLocalizeContext.tsx │ │ │ │ ├── LocalizationManager.ts │ │ │ │ ├── index.ts │ │ │ │ ├── resources/ │ │ │ │ │ ├── de/ │ │ │ │ │ │ └── translation.json │ │ │ │ │ ├── en/ │ │ │ │ │ │ └── translation.json │ │ │ │ │ ├── es/ │ │ │ │ │ │ └── translation.json │ │ │ │ │ ├── fr/ │ │ │ │ │ │ └── translation.json │ │ │ │ │ ├── hi/ │ │ │ │ │ │ └── translation.json │ │ │ │ │ ├── hu/ │ │ │ │ │ │ └── translation.json │ │ │ │ │ ├── it/ │ │ │ │ │ │ └── translation.json │ │ │ │ │ ├── ja/ │ │ │ │ │ │ └── translation.json │ │ │ │ │ ├── ko/ │ │ │ │ │ │ └── translation.json │ │ │ │ │ ├── lt/ │ │ │ │ │ │ └── translation.json │ │ │ │ │ ├── ms/ │ │ │ │ │ │ └── translation.json │ │ │ │ │ ├── nl/ │ │ │ │ │ │ └── translation.json │ │ │ │ │ ├── pt/ │ │ │ │ │ │ └── translation.json │ │ │ │ │ ├── ru/ │ │ │ │ │ │ └── translation.json │ │ │ │ │ ├── sv/ │ │ │ │ │ │ └── translation.json │ │ │ │ │ ├── tr/ │ │ │ │ │ │ └── translation.json │ │ │ │ │ ├── zh/ │ │ │ │ │ │ └── translation.json │ │ │ │ │ └── zh-tw/ │ │ │ │ │ └── translation.json │ │ │ │ ├── type.ts │ │ │ │ └── useCometChatTranslationHook.ts │ │ │ ├── CometChatSoundManager/ │ │ │ │ ├── CometChatSoundManager.js │ │ │ │ ├── index.ts │ │ │ │ ├── resources/ │ │ │ │ │ └── index.js │ │ │ │ └── sound.js │ │ │ └── index.ts │ │ ├── services/ │ │ │ └── stream-message.service.ts │ │ ├── utils/ │ │ │ ├── CometChatMessageHelper/ │ │ │ │ └── index.ts │ │ │ ├── CometChatMessagePreview/ │ │ │ │ ├── CometChatMessagePreview.tsx │ │ │ │ ├── index.ts │ │ │ │ ├── resources/ │ │ │ │ │ └── index.ts │ │ │ │ └── style.ts │ │ │ ├── CommonUtils.ts │ │ │ ├── MarkdownUtils.ts │ │ │ ├── MentionUtils.ts │ │ │ ├── MessageReceiptUtils.ts │ │ │ ├── MessageUtils.tsx │ │ │ ├── NetworkUtils.tsx │ │ │ ├── PermissionUtil.ts │ │ │ ├── conversationUtils.ts │ │ │ ├── icsToJson.js │ │ │ └── index.ts │ │ └── views/ │ │ ├── CometChatAIAssistantMessageBubble/ │ │ │ ├── CometChatAIAssistantMessageBubble.tsx │ │ │ └── index.ts │ │ ├── CometChatAICard/ │ │ │ ├── CometChatAICard.tsx │ │ │ └── resources/ │ │ │ └── index.ts │ │ ├── CometChatActionSheet/ │ │ │ ├── ActionItem.ts │ │ │ ├── CometChatActionSheet.tsx │ │ │ ├── hooks.ts │ │ │ ├── index.ts │ │ │ ├── resources/ │ │ │ │ └── index.ts │ │ │ └── style.ts │ │ ├── CometChatAudioBubble/ │ │ │ ├── AnimatedAudioWaves.tsx │ │ │ ├── CometChatAudioBubble.tsx │ │ │ ├── index.ts │ │ │ ├── resources/ │ │ │ │ └── index.ts │ │ │ └── style.ts │ │ ├── CometChatAvatar/ │ │ │ ├── CometChatAvatar.tsx │ │ │ ├── index.ts │ │ │ └── styles.ts │ │ ├── CometChatBadge/ │ │ │ ├── CometChatBadge.tsx │ │ │ ├── index.ts │ │ │ └── styles.ts │ │ ├── CometChatBottomSheet/ │ │ │ ├── CometChatBottomSheet.tsx │ │ │ └── index.ts │ │ ├── CometChatConfirmDialog/ │ │ │ ├── CometChatConfirmDialog.tsx │ │ │ ├── index.ts │ │ │ └── style.ts │ │ ├── CometChatDate/ │ │ │ ├── CometChatDate.tsx │ │ │ ├── index.ts │ │ │ └── styles.ts │ │ ├── CometChatDateSeperator/ │ │ │ ├── CometChatDateSeparator.tsx │ │ │ ├── index.ts │ │ │ └── styles.ts │ │ ├── CometChatDeletedBubble/ │ │ │ ├── CometChatDeletedBubble.tsx │ │ │ ├── index.ts │ │ │ └── styles.ts │ │ ├── CometChatEmojiKeyboard/ │ │ │ ├── CometChatEmojiKeyboard.tsx │ │ │ ├── Emoji.ts │ │ │ ├── EmojiCategory.ts │ │ │ ├── emojis.ts │ │ │ ├── index.ts │ │ │ ├── resources/ │ │ │ │ └── index.ts │ │ │ └── style.ts │ │ ├── CometChatFileBubble/ │ │ │ ├── CometChatFileBubble.tsx │ │ │ ├── index.ts │ │ │ ├── resources/ │ │ │ │ └── index.ts │ │ │ └── style.ts │ │ ├── CometChatImageBubble/ │ │ │ ├── CometChatImageBubble.tsx │ │ │ ├── CometChatImageLoader.tsx │ │ │ ├── assets/ │ │ │ │ └── index.ts │ │ │ └── index.ts │ │ ├── CometChatImageViewerModal/ │ │ │ ├── ImageViewerModal.tsx │ │ │ ├── index.tsx │ │ │ └── resources/ │ │ │ └── index.ts │ │ ├── CometChatInlineAudioRecorder/ │ │ │ ├── AudioWaveformVisualizer.tsx │ │ │ ├── CometChatInlineAudioRecorder.tsx │ │ │ ├── index.ts │ │ │ ├── style.ts │ │ │ ├── types.ts │ │ │ └── useAudioRecorder.ts │ │ ├── CometChatLinkConfirmPopup/ │ │ │ ├── CometChatLinkConfirmPopup.tsx │ │ │ ├── index.ts │ │ │ └── style.ts │ │ ├── CometChatList/ │ │ │ ├── CometChatList.tsx │ │ │ ├── Header.tsx │ │ │ ├── index.ts │ │ │ ├── resources/ │ │ │ │ └── index.ts │ │ │ └── styles.ts │ │ ├── CometChatListItem/ │ │ │ ├── CometChatListItem.tsx │ │ │ ├── index.ts │ │ │ └── style.ts │ │ ├── CometChatMediaRecorder/ │ │ │ ├── AnimatingMic.tsx │ │ │ ├── CometChatAudioPlayer.tsx │ │ │ ├── CometChatAudioPreview/ │ │ │ │ └── CometChatAudioPreview.tsx │ │ │ ├── CometChatMediaRecorder.tsx │ │ │ ├── Timer.tsx │ │ │ ├── index.ts │ │ │ └── style.ts │ │ ├── CometChatMessageBubble/ │ │ │ ├── CometChatMessageBubble.tsx │ │ │ ├── index.ts │ │ │ └── style.ts │ │ ├── CometChatMessageInput/ │ │ │ ├── CometChatMessageInput.tsx │ │ │ ├── index.ts │ │ │ └── styles.ts │ │ ├── CometChatNewMessageIndicator/ │ │ │ ├── CometChatNewMessageIndicator.tsx │ │ │ ├── index.ts │ │ │ └── styles.ts │ │ ├── CometChatQuickReactions/ │ │ │ ├── CometChatQuickReactions.tsx │ │ │ ├── QuickReactionsStyle.tsx │ │ │ ├── index.ts │ │ │ └── resources/ │ │ │ └── index.ts │ │ ├── CometChatReactionList/ │ │ │ ├── CometChatReactionList.tsx │ │ │ ├── ReactionListStyle.tsx │ │ │ ├── Skeleton.tsx │ │ │ ├── index.ts │ │ │ └── resources/ │ │ │ └── index.ts │ │ ├── CometChatReactions/ │ │ │ ├── CometChatReactions.tsx │ │ │ ├── index.ts │ │ │ └── style.ts │ │ ├── CometChatReceipt/ │ │ │ ├── CometChatReceipt.tsx │ │ │ ├── index.ts │ │ │ ├── resources/ │ │ │ │ └── index.ts │ │ │ └── style.ts │ │ ├── CometChatReportDialog/ │ │ │ ├── CometChatReportDialog.tsx │ │ │ ├── index.ts │ │ │ └── style.ts │ │ ├── CometChatRetryButton/ │ │ │ ├── CometChatRetryButton.tsx │ │ │ └── index.ts │ │ ├── CometChatSendButtonView/ │ │ │ ├── CometChatSendButtonView.tsx │ │ │ └── index.ts │ │ ├── CometChatStatusIndicator/ │ │ │ ├── CometChatStatusIndicator.tsx │ │ │ ├── index.ts │ │ │ └── styles.ts │ │ ├── CometChatStreamMessageBubble/ │ │ │ ├── CometChatStreamMessageBubble.tsx │ │ │ └── index.ts │ │ ├── CometChatSuggestionList/ │ │ │ ├── CometChatSuggestionList.tsx │ │ │ ├── Skeleton.tsx │ │ │ ├── SuggestionItem.ts │ │ │ ├── index.ts │ │ │ └── style.ts │ │ ├── CometChatTextBubble/ │ │ │ ├── CometChatTextBubble.tsx │ │ │ └── index.ts │ │ ├── CometChatTooltipMenu/ │ │ │ ├── CometChatTooltipMenu.tsx │ │ │ ├── index.ts │ │ │ └── styles.ts │ │ ├── CometChatVideoBubble/ │ │ │ ├── CometChatVideoBubble.tsx │ │ │ ├── index.ts │ │ │ ├── resources/ │ │ │ │ └── index.ts │ │ │ └── style.ts │ │ ├── CometChatVideoPlayer/ │ │ │ ├── CometChatVideoPlayer.tsx │ │ │ └── index.tsx │ │ ├── ErrorEmptyView/ │ │ │ └── ErrorEmptyView.tsx │ │ └── index.ts │ └── theme/ │ ├── CometChatThemeHelper.ts │ ├── context.ts │ ├── default/ │ │ ├── color/ │ │ │ ├── dark.ts │ │ │ └── light.ts │ │ ├── default.ts │ │ ├── index.ts │ │ ├── resources/ │ │ │ └── icons/ │ │ │ └── index.ts │ │ ├── spacing.ts │ │ └── typography.ts │ ├── hook.ts │ ├── index.ts │ ├── provider.tsx │ └── type.ts └── tsconfig.json