gitextract_6i4y2rb6/ ├── .expo-shared/ │ └── assets.json ├── .github/ │ ├── FUNDING.yml │ ├── copilot-instructions.md │ ├── stale.yml │ └── workflows/ │ ├── main.yml │ └── stale.yml ├── .gitignore ├── .husky/ │ └── pre-commit ├── .npmignore ├── CHANGELOG.md ├── ISSUE_TEMPLATE.md ├── LICENSE ├── README.md ├── babel.config.cjs ├── codecov.yml ├── eslint.config.js ├── example/ │ ├── .gitignore │ ├── README.md │ ├── app/ │ │ ├── (tabs)/ │ │ │ ├── _layout.tsx │ │ │ ├── explore.tsx │ │ │ └── index.tsx │ │ ├── _layout.tsx │ │ ├── chat/ │ │ │ ├── _layout.tsx │ │ │ ├── basic.tsx │ │ │ ├── customized-rendering.tsx │ │ │ ├── links.tsx │ │ │ ├── reply.tsx │ │ │ └── slack.tsx │ │ └── modal.tsx │ ├── app.json │ ├── babel.config.js │ ├── components/ │ │ ├── chat-examples/ │ │ │ ├── BasicExample.tsx │ │ │ ├── CustomizedRenderingExample.tsx │ │ │ ├── LinksExample.tsx │ │ │ ├── ReplyExample.tsx │ │ │ └── SlackExample.tsx │ │ ├── external-link.tsx │ │ ├── haptic-tab.tsx │ │ ├── hello-wave.tsx │ │ ├── parallax-scroll-view.tsx │ │ ├── themed-text.tsx │ │ ├── themed-view.tsx │ │ └── ui/ │ │ ├── collapsible.tsx │ │ ├── icon-symbol.ios.tsx │ │ └── icon-symbol.tsx │ ├── constants/ │ │ └── theme.ts │ ├── eslint.config.js │ ├── example-expo/ │ │ ├── AccessoryBar.tsx │ │ ├── CustomActions.tsx │ │ ├── CustomView/ │ │ │ ├── index.tsx │ │ │ ├── index.web.tsx │ │ │ ├── styles.ts │ │ │ └── types.ts │ │ ├── data/ │ │ │ ├── earlierMessages.ts │ │ │ └── messages.ts │ │ └── mediaUtils.ts │ ├── example-gifted-chat/ │ │ ├── README.md │ │ └── src/ │ │ ├── Chats.tsx │ │ ├── InputToolbar.tsx │ │ ├── customComponents.tsx │ │ └── messages.ts │ ├── example-slack-message/ │ │ ├── README.md │ │ └── src/ │ │ ├── SlackBubble.tsx │ │ └── SlackMessage.tsx │ ├── hooks/ │ │ ├── use-color-scheme.ts │ │ ├── use-color-scheme.web.ts │ │ ├── use-theme-color.ts │ │ └── useKeyboardVerticalOffset.ts │ ├── ios/ │ │ ├── .gitignore │ │ ├── .xcode.env │ │ ├── Podfile │ │ ├── Podfile.properties.json │ │ ├── example/ │ │ │ ├── Images.xcassets/ │ │ │ │ ├── AppIcon.appiconset/ │ │ │ │ │ └── Contents.json │ │ │ │ └── Contents.json │ │ │ ├── Info.plist │ │ │ ├── PrivacyInfo.xcprivacy │ │ │ ├── SplashScreen.storyboard │ │ │ └── Supporting/ │ │ │ └── Expo.plist │ │ ├── example.xcodeproj/ │ │ │ ├── project.pbxproj │ │ │ └── xcshareddata/ │ │ │ └── xcschemes/ │ │ │ └── example.xcscheme │ │ └── example.xcworkspace/ │ │ └── contents.xcworkspacedata │ ├── metro.config.js │ ├── package.json │ ├── scripts/ │ │ └── reset-project.js │ ├── styles/ │ │ └── index.ts │ ├── tsconfig.json │ └── utils/ │ └── styleUtils.ts ├── expoSnack/ │ ├── ExpoSnack.tsx │ ├── README.md │ └── package.json ├── jest.config.cjs ├── package.json ├── src/ │ ├── Actions.tsx │ ├── Avatar.tsx │ ├── Bubble/ │ │ ├── index.tsx │ │ ├── styles.ts │ │ └── types.ts │ ├── Color.ts │ ├── Composer.tsx │ ├── Constant.ts │ ├── Day/ │ │ ├── index.tsx │ │ ├── styles.ts │ │ └── types.ts │ ├── GiftedAvatar.tsx │ ├── GiftedChat/ │ │ ├── index.tsx │ │ ├── styles.ts │ │ └── types.ts │ ├── GiftedChatContext.ts │ ├── InputToolbar.tsx │ ├── LoadEarlierMessages.tsx │ ├── Message/ │ │ ├── index.tsx │ │ ├── styles.ts │ │ └── types.ts │ ├── MessageAudio.tsx │ ├── MessageImage.tsx │ ├── MessageReply.tsx │ ├── MessageText.tsx │ ├── MessageVideo.tsx │ ├── MessagesContainer/ │ │ ├── components/ │ │ │ ├── DayAnimated/ │ │ │ │ ├── index.tsx │ │ │ │ ├── styles.ts │ │ │ │ └── types.ts │ │ │ └── Item/ │ │ │ ├── index.tsx │ │ │ └── types.ts │ │ ├── index.tsx │ │ ├── styles.ts │ │ └── types.ts │ ├── Models.ts │ ├── QuickReplies.tsx │ ├── Reply/ │ │ ├── index.ts │ │ └── types.ts │ ├── ReplyPreview.tsx │ ├── Send.tsx │ ├── SystemMessage.tsx │ ├── Time.tsx │ ├── TypingIndicator/ │ │ ├── index.tsx │ │ ├── styles.ts │ │ └── types.ts │ ├── __tests__/ │ │ ├── Actions.test.tsx │ │ ├── Avatar.test.tsx │ │ ├── Bubble.test.tsx │ │ ├── Color.test.tsx │ │ ├── Composer.test.tsx │ │ ├── Constant.test.tsx │ │ ├── Day.test.tsx │ │ ├── DayAnimated.test.tsx │ │ ├── GiftedAvatar.test.tsx │ │ ├── GiftedChat.test.tsx │ │ ├── InputToolbar.test.tsx │ │ ├── LoadEarlier.test.tsx │ │ ├── Message.test.tsx │ │ ├── MessageImage.test.tsx │ │ ├── MessageReply.test.tsx │ │ ├── MessageText.test.tsx │ │ ├── MessagesContainer.test.tsx │ │ ├── ReplyPreview.test.tsx │ │ ├── Send.test.tsx │ │ ├── SystemMessage.test.tsx │ │ ├── Time.test.tsx │ │ ├── __snapshots__/ │ │ │ ├── Actions.test.tsx.snap │ │ │ ├── Avatar.test.tsx.snap │ │ │ ├── Bubble.test.tsx.snap │ │ │ ├── Color.test.tsx.snap │ │ │ ├── Composer.test.tsx.snap │ │ │ ├── Constant.test.tsx.snap │ │ │ ├── Day.test.tsx.snap │ │ │ ├── DayAnimated.test.tsx.snap │ │ │ ├── GiftedAvatar.test.tsx.snap │ │ │ ├── GiftedChat.test.tsx.snap │ │ │ ├── InputToolbar.test.tsx.snap │ │ │ ├── LoadEarlier.test.tsx.snap │ │ │ ├── Message.test.tsx.snap │ │ │ ├── MessageImage.test.tsx.snap │ │ │ ├── MessageReply.test.tsx.snap │ │ │ ├── MessageText.test.tsx.snap │ │ │ ├── ReplyPreview.test.tsx.snap │ │ │ ├── Send.test.tsx.snap │ │ │ ├── SystemMessage.test.tsx.snap │ │ │ └── Time.test.tsx.snap │ │ ├── data.ts │ │ └── utils.test.ts │ ├── components/ │ │ ├── MessageReply.tsx │ │ ├── ReplyPreview.tsx │ │ └── TouchableOpacity.tsx │ ├── hooks/ │ │ ├── useColorScheme.ts │ │ └── useUpdateLayoutEffect.ts │ ├── index.ts │ ├── linkParser.tsx │ ├── logging.ts │ ├── styles.ts │ ├── types.ts │ └── utils.ts ├── tests/ │ └── setup.ts └── tsconfig.json