@kesha-antonov/react-native-chat 4.1.0 → 4.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. package/README.md +85 -46
  2. package/lib/Bubble/index.d.ts.map +1 -1
  3. package/lib/Bubble/index.js +59 -19
  4. package/lib/Bubble/index.js.map +1 -1
  5. package/lib/Bubble/styles.d.ts +19 -0
  6. package/lib/Bubble/styles.d.ts.map +1 -1
  7. package/lib/Bubble/styles.js +23 -0
  8. package/lib/Bubble/styles.js.map +1 -1
  9. package/lib/Bubble/types.d.ts +10 -0
  10. package/lib/Bubble/types.d.ts.map +1 -1
  11. package/lib/Chat/ChatKeyboardAvoidingView.d.ts +16 -0
  12. package/lib/Chat/ChatKeyboardAvoidingView.d.ts.map +1 -0
  13. package/lib/Chat/ChatKeyboardAvoidingView.js +17 -0
  14. package/lib/Chat/ChatKeyboardAvoidingView.js.map +1 -0
  15. package/lib/Chat/index.d.ts.map +1 -1
  16. package/lib/Chat/index.js +20 -7
  17. package/lib/Chat/index.js.map +1 -1
  18. package/lib/Chat/types.d.ts +23 -3
  19. package/lib/Chat/types.d.ts.map +1 -1
  20. package/lib/Message/styles.d.ts +1 -4
  21. package/lib/Message/styles.d.ts.map +1 -1
  22. package/lib/Message/styles.js +4 -4
  23. package/lib/Message/styles.js.map +1 -1
  24. package/lib/MessagesContainer/FlashList.d.ts +9 -0
  25. package/lib/MessagesContainer/FlashList.d.ts.map +1 -0
  26. package/lib/MessagesContainer/FlashList.js +23 -0
  27. package/lib/MessagesContainer/FlashList.js.map +1 -0
  28. package/lib/MessagesContainer/index.d.ts.map +1 -1
  29. package/lib/MessagesContainer/index.js +113 -35
  30. package/lib/MessagesContainer/index.js.map +1 -1
  31. package/lib/MessagesContainer/styles.d.ts +0 -4
  32. package/lib/MessagesContainer/styles.d.ts.map +1 -1
  33. package/lib/MessagesContainer/styles.js +0 -4
  34. package/lib/MessagesContainer/styles.js.map +1 -1
  35. package/lib/MessagesContainer/types.d.ts +22 -2
  36. package/lib/MessagesContainer/types.d.ts.map +1 -1
  37. package/lib/hooks/useHasKeyboardProvider.d.ts +19 -0
  38. package/lib/hooks/useHasKeyboardProvider.d.ts.map +1 -0
  39. package/lib/hooks/useHasKeyboardProvider.js +31 -0
  40. package/lib/hooks/useHasKeyboardProvider.js.map +1 -0
  41. package/lib/hooks/useIsKeyboardVisible.d.ts +12 -0
  42. package/lib/hooks/useIsKeyboardVisible.d.ts.map +1 -0
  43. package/lib/hooks/useIsKeyboardVisible.js +31 -0
  44. package/lib/hooks/useIsKeyboardVisible.js.map +1 -0
  45. package/lib/hooks/useKeyboardVerticalOffset.d.ts +19 -0
  46. package/lib/hooks/useKeyboardVerticalOffset.d.ts.map +1 -0
  47. package/lib/hooks/useKeyboardVerticalOffset.js +22 -0
  48. package/lib/hooks/useKeyboardVerticalOffset.js.map +1 -0
  49. package/package.json +8 -1
package/README.md CHANGED
@@ -19,6 +19,8 @@
19
19
  </a>
20
20
  </p>
21
21
 
22
+ > 🚧 **v4.3.0 is in active development (WIP)** on the [`4.3.0`](https://github.com/kesha-antonov/react-native-chat/tree/4.3.0) branch - a Telegram-inspired redesign with a theme system + dark mode, localization (i18n), an icon override registry, Telegram-style voice notes, round video notes, location/media messages, markdown replies, and a long-press context menu. See that branch for the latest work.
23
+
22
24
  ---
23
25
 
24
26
  ## ✨ Features
@@ -100,7 +102,7 @@
100
102
  ### Expo Projects
101
103
 
102
104
  ```bash
103
- npx expo install react-native-chat react-native-reanimated react-native-gesture-handler react-native-safe-area-context react-native-keyboard-controller
105
+ npx expo install @kesha-antonov/react-native-chat react-native-reanimated react-native-gesture-handler react-native-safe-area-context react-native-keyboard-controller
104
106
  ```
105
107
 
106
108
  ### Bare React Native Projects
@@ -109,12 +111,12 @@ npx expo install react-native-chat react-native-reanimated react-native-gesture-
109
111
 
110
112
  Using yarn:
111
113
  ```bash
112
- yarn add react-native-chat react-native-reanimated react-native-gesture-handler react-native-safe-area-context react-native-keyboard-controller
114
+ yarn add @kesha-antonov/react-native-chat react-native-reanimated react-native-gesture-handler react-native-safe-area-context react-native-keyboard-controller
113
115
  ```
114
116
 
115
117
  Using npm:
116
118
  ```bash
117
- npm install --save react-native-chat react-native-reanimated react-native-gesture-handler react-native-safe-area-context react-native-keyboard-controller
119
+ npm install --save @kesha-antonov/react-native-chat react-native-reanimated react-native-gesture-handler react-native-safe-area-context react-native-keyboard-controller
118
120
  ```
119
121
 
120
122
  **Step 2:** Install iOS pods
@@ -157,15 +159,10 @@ See the full guide (codemod included) in **[docs/MIGRATION.md](docs/MIGRATION.md
157
159
  ```jsx
158
160
  import React, { useState, useCallback, useEffect } from 'react'
159
161
  import { Chat } from '@kesha-antonov/react-native-chat'
160
- import { useHeaderHeight } from '@react-navigation/elements'
161
162
 
162
163
  export function Example() {
163
164
  const [messages, setMessages] = useState([])
164
165
 
165
- // keyboardVerticalOffset = distance from screen top to Chat container
166
- // useHeaderHeight() returns status bar + navigation header height
167
- const headerHeight = useHeaderHeight()
168
-
169
166
  useEffect(() => {
170
167
  setMessages([
171
168
  {
@@ -194,7 +191,6 @@ export function Example() {
194
191
  user={{
195
192
  _id: 1,
196
193
  }}
197
- keyboardAvoidingViewProps={{ keyboardVerticalOffset: headerHeight }}
198
194
  />
199
195
  )
200
196
  }
@@ -277,44 +273,29 @@ interface User {
277
273
 
278
274
  ### Keyboard & Layout
279
275
 
280
- - **`keyboardProviderProps`** _(Object)_ - Props to be passed to the [`KeyboardProvider`](https://kirillzyusko.github.io/react-native-keyboard-controller/docs/api/keyboard-provider) for keyboard handling. Default values:
281
- - `statusBarTranslucent: true` - Required on Android for correct keyboard height calculation when status bar is translucent (edge-to-edge mode)
282
- - `navigationBarTranslucent: true` - Required on Android for correct keyboard height calculation when navigation bar is translucent (edge-to-edge mode)
276
+ - **`keyboardProviderProps`** _(Object)_ - Props to be passed to the [`KeyboardProvider`](https://kirillzyusko.github.io/react-native-keyboard-controller/docs/api/keyboard-provider) for keyboard handling. No defaults are applied - in particular Chat does **not** set `statusBarTranslucent` / `navigationBarTranslucent`, because on Android those change the *activity window* and the change outlives the chat screen ([#2755](https://github.com/FaridSafi/react-native-gifted-chat/issues/2755)). `react-native-keyboard-controller` turns them on by itself when the app is genuinely edge-to-edge, so there is nothing to set in a normal app.
277
+
278
+ Only used when Chat mounts the provider itself. If your app already mounts a `KeyboardProvider` (the setup `react-native-keyboard-controller` recommends - once, at the root), Chat detects it and reuses it instead of nesting a second one, and this prop is ignored. Configure the provider where you mount it.
279
+ - **`disableKeyboardProvider`** _(Bool)_ - Skip the built-in `KeyboardProvider` entirely; default is `false`. You do **not** need this just because your app mounts its own provider - that case is detected and reused. Reach for it only to opt out completely, e.g. when the provider's edge-to-edge behavior causes layout shift or a header jump on Android/Expo.
283
280
  - **`keyboardAvoidingViewProps`** _(Object)_ - Props to be passed to the [`KeyboardAvoidingView`](https://kirillzyusko.github.io/react-native-keyboard-controller/docs/api/components/keyboard-avoiding-view). See **keyboardVerticalOffset** below for proper keyboard handling.
284
- - **`isAlignedTop`** _(Boolean)_ Controls whether or not the message bubbles appear at the top of the chat (Default is false - bubbles align to bottom)
281
+ - **`isAlignedTop`** _(`boolean | 'auto'`)_ - Where the bubbles sit **while the whole conversation fits on screen**; once it is taller than the list this has no effect. `false` (default) keeps the usual bottom-anchored chat, `true` pins the messages to the top, and `'auto'` pins them to the top while the keyboard is closed and re-anchors them to the bottom while it is open - so a short conversation starts under the header and moves above the keyboard when the composer is focused ([#2736](https://github.com/FaridSafi/react-native-gifted-chat/issues/2736)). Works with either `isInverted` setting; ignored when `isFlashListEnabled` is set, since FlashList positions its own items.
285
282
  - **`isInverted`** _(Bool)_ - Reverses display order of `messages`; default is `true`
286
283
 
287
284
  #### Understanding `keyboardVerticalOffset`
288
285
 
289
- The [`keyboardVerticalOffset`](https://kirillzyusko.github.io/react-native-keyboard-controller/docs/api/components/keyboard-avoiding-view#keyboardverticaloffset) tells the KeyboardAvoidingView where its container starts relative to the top of the screen. This is essential when Chat is not positioned at the very top of the screen (e.g., when you have a navigation header).
286
+ [`keyboardVerticalOffset`](https://kirillzyusko.github.io/react-native-keyboard-controller/docs/api/components/keyboard-avoiding-view#keyboardverticaloffset) tells the KeyboardAvoidingView how far down the screen its container starts. That distance depends on the navigation header and on anything else you render above the chat.
290
287
 
291
- **Default value:** `insets.top` (status bar height from `useSafeAreaInsets()`). This works correctly only when Chat fills the entire screen without a navigation header. If you have a navigation header, you need to pass the correct offset via `keyboardAvoidingViewProps`.
288
+ **You do not normally need to set it.** Chat measures its own position on screen and uses that, so the input toolbar sits on the keyboard whether the chat is full-screen or under a navigation header. The measurement comes from the `SafeAreaProvider` frame and updates on rotation and layout changes.
292
289
 
293
- **What the value means:** The offset equals the distance (in points) from the top of the screen to the top of your Chat container. This typically includes:
294
- - Status bar height
295
- - Navigation header height (on iOS, `useHeaderHeight()` already includes status bar)
296
-
297
- **How to use:**
290
+ Pass your own value only to add extra space above the keyboard - it replaces the measured one:
298
291
 
299
292
  ```jsx
300
- import { useHeaderHeight } from '@react-navigation/elements'
301
-
302
- function ChatScreen() {
303
- // useHeaderHeight() returns status bar + navigation header height on iOS
304
- const headerHeight = useHeaderHeight()
305
-
306
- return (
307
- <Chat
308
- keyboardAvoidingViewProps={{ keyboardVerticalOffset: headerHeight }}
309
- // ... other props
310
- />
311
- )
312
- }
293
+ <Chat keyboardAvoidingViewProps={{ keyboardVerticalOffset: headerHeight + 16 }} />
313
294
  ```
314
295
 
315
- > **Note:** `useHeaderHeight()` requires your chat component to be rendered inside a proper navigation screen (not conditional rendering). If it returns `0`, ensure your chat screen is a real navigation screen with a visible header.
296
+ If you do, sanity-check it on device: a toolbar behind the keyboard means the value is too small, a gap above the keyboard means it is too large. `useHeaderHeight()` is the usual source, but some navigator setups report a value that does not match the header you actually render.
316
297
 
317
- **Why this matters:** Without the correct offset, the keyboard may overlap the input field or leave extra space. The KeyboardAvoidingView uses this value to calculate how much to shift the content when the keyboard appears.
298
+ > **Upgrading from 4.1.0 or earlier:** the default used to be `insets.top`, which could not account for a navigation header - so most apps passed `useHeaderHeight()` to compensate. That is no longer needed; drop it and let Chat measure, or the toolbar will float above the keyboard by the header height.
318
299
 
319
300
  ### Text Input & Composer
320
301
 
@@ -322,9 +303,6 @@ function ChatScreen() {
322
303
  - **`initialText`** _(String)_ - Initial text to display in the input field
323
304
  - **`isSendButtonAlwaysVisible`** _(Bool)_ - Always show send button in input text composer; default `false`, show only when text input is not empty
324
305
  - **`isTextOptional`** _(Bool)_ - Allow sending messages without text (useful for media-only messages); default `false`. Use with `isSendButtonAlwaysVisible` for media attachments.
325
- - **`minComposerHeight`** _(Object)_ - Custom min-height of the composer.
326
- - **`maxComposerHeight`** _(Object)_ - Custom max height of the composer.
327
- - **`minInputToolbarHeight`** _(Integer)_ - Minimum height of the input toolbar; default is `44`
328
306
  - **`renderInputToolbar`** _(Component | Function)_ - Custom message composer container
329
307
  - **`renderComposer`** _(Component | Function)_ - Custom text input message composer
330
308
  - **`renderSend`** _(Component | Function)_ - Custom send button; you can pass children to the original `Send` component quite easily, for example, to use a custom icon ([example](https://github.com/kesha-antonov/react-native-chat/pull/487))
@@ -332,6 +310,8 @@ function ChatScreen() {
332
310
  - **`renderAccessory`** _(Component | Function)_ - Custom second line of actions below the message composer
333
311
  - **`textInputProps`** _(Object)_ - props to be passed to the [`<TextInput>`](https://reactnative.dev/docs/textinput).
334
312
 
313
+ > **Composer height** - there are no height props. The composer starts one line tall and grows with its content. Constrain it through `textInputProps.style` (e.g. `{ maxHeight: 120 }`), which is applied after the measured height and wins.
314
+
335
315
  ### Actions & Action Sheet
336
316
 
337
317
  - **`onPressActionButton`** _(Function)_ - Callback when the Action button is pressed (if set, the default `actionSheet` will not be used)
@@ -347,6 +327,7 @@ function ChatScreen() {
347
327
  - **`renderChatEmpty`** _(Component | Function)_ - Custom component to render in the ListView when messages are empty
348
328
  - **`renderChatFooter`** _(Component | Function)_ - Custom component to render below the MessagesContainer (separate from the ListView)
349
329
  - **`listProps`** _(Object)_ - Extra props to be passed to the messages [`<FlatList>`](https://reactnative.dev/docs/flatlist). Supports all FlatList props including `maintainVisibleContentPosition` for keeping scroll position when new messages arrive (useful for AI chatbots).
330
+ - **`isFlashListEnabled`** _(Bool)_ - Render messages with [`@shopify/flash-list`](https://shopify.github.io/flash-list/) v2 instead of `FlatList`; default is `false`. See [FlashList](#flashlist-opt-in).
350
331
 
351
332
  ### Message Bubbles & Content
352
333
 
@@ -359,6 +340,7 @@ function ChatScreen() {
359
340
  - **`isCustomViewBottom`** _(Bool)_ - Determine whether renderCustomView is displayed before or after the text, image and video views; default is `false`
360
341
  - **`onPressMessage`** _(Function(`context`, `message`))_ - Callback when a message bubble is pressed
361
342
  - **`onLongPressMessage`** _(Function(`context`, `message`))_ - Callback when a message bubble is long-pressed; you can use this to show action sheets (e.g., copy, delete, reply)
343
+ - **`isMessageGestureEnabled`** _(Bool | Function(`message`))_ - Whether the bubble itself is part of the row's tap / long-press surface that `reactions` relies on; default is `true`. Pass `false`, or a predicate, for messages that render natively interactive content - the row beside the bubble stays pressable either way. See [Interactive content inside bubbles](#interactive-content-inside-bubbles-video-players-maps).
362
344
  - **`imageProps`** _(Object)_ - Extra props to be passed to the [`<Image>`](https://reactnative.dev/docs/image) component created by the default `renderMessageImage`
363
345
  - **`imageStyle`** _(Object)_ - Custom style for message images
364
346
  - **`videoProps`** _(Object)_ - Extra props to be passed to the video component created by the required `renderMessageVideo`
@@ -444,11 +426,19 @@ See full example in [LinksExample](example/components/chat-examples/LinksExample
444
426
  - **`timeFormat`** _(String)_ - Format to use for rendering times; default is `'LT'` (see [Day.js Format](https://day.js.org/docs/en/display/format))
445
427
  - **`dateFormat`** _(String)_ - Format to use for rendering dates; default is `'D MMMM'` (see [Day.js Format](https://day.js.org/docs/en/display/format))
446
428
  - **`dateFormatCalendar`** _(Object)_ - Format to use for rendering relative times; default is `{ sameDay: '[Today]' }` (see [Day.js Calendar](https://day.js.org/docs/en/plugin/calendar))
447
- - **`renderDay`** _(Component | Function)_ - Custom day above a message
448
- - **`dayProps`** _(Object)_ - Props to pass to the Day component:
449
- - `containerStyle` - Custom style for the day container
450
- - `wrapperStyle` - Custom style for the day wrapper
451
- - `textProps` - Props to pass to the Text component (e.g., `style`, `allowFontScaling`, `numberOfLines`)
429
+ - **`renderDay`** _(Component | Function)_ - Custom day above a message. This is also how the day label is styled - it receives `DayProps` (`createdAt`, `dateFormat`, `dateFormatCalendar`, `containerStyle`, `wrapperStyle`, `textProps`, `isAnimated`), so render the built-in `Day` with the styles you want:
430
+
431
+ ```tsx
432
+ import { Chat, Day, DayProps } from '@kesha-antonov/react-native-chat'
433
+
434
+ <Chat
435
+ renderDay={(props: DayProps) => (
436
+ <Day {...props} wrapperStyle={{ backgroundColor: '#eee' }} textProps={{ style: { color: '#333' } }} />
437
+ )}
438
+ />
439
+ ```
440
+
441
+ `isAnimated` is `true` for the floating header that sticks to the top while scrolling and `false` for the inline separators, so one function can style them differently.
452
442
  - **`renderTime`** _(Component | Function)_ - Custom time inside a message
453
443
  - **`timeTextStyle`** _(Object)_ - Custom text style for time inside messages (supports left/right styles)
454
444
  - **`isDayAnimationEnabled`** _(Bool)_ - Enable animated day label that appears on scroll; default is `true`
@@ -665,8 +655,7 @@ const [isScrolledUp, setIsScrolledUp] = useState(false)
665
655
  Render AI assistant replies token-by-token. The library batches incoming chunks with `requestAnimationFrame` (one render per frame, only the streaming bubble re-renders) and shows a blinking caret while a message is still streaming.
666
656
 
667
657
  - **`IMessage.streaming`** - flag a message as streaming (shows the caret)
668
- - **`Chat.updateMessage(messages, id, patch)`** - immutable per-message update, cheap enough for per-token appends
669
- - **`useStreamingMessages(...)`** - owns the message list, rAF-batches `push()`, and supports stop via `AbortController`
658
+ - **`useStreamingMessages(...)`** - owns the message list, rAF-batches `push()`, and supports stop via `AbortController`. It returns `{ messages, setMessages, append, startStream, isStreaming, stop }`; `setMessages` is there for anything the hook does not cover, so you can patch a message with a plain `map`.
670
659
 
671
660
  ```tsx
672
661
  import { useCallback } from 'react'
@@ -788,6 +777,56 @@ Message text is automatically scanned for URLs, emails, and phone numbers; hasht
788
777
 
789
778
  For full control, pass custom `matchers` (`{ type, pattern, getLinkUrl?, getLinkText?, renderLink?, onPress? }[]`) to add or override patterns. See the Links example in the [example app](#-example-app).
790
779
 
780
+ ### Interactive content inside bubbles (video players, maps)
781
+
782
+ When `reactions` are enabled, the long-press surface spans the **whole message row** - the bubble *and* the empty space beside it, the way Telegram behaves on Android. (A tap gesture is added on top only when `onPressMessage` is set.) Those recognizers do not cancel touches on native subviews, so a `react-native-video` / `expo-video` player rendered through `renderMessageVideo` keeps its native `controls` interactive.
783
+
784
+ If a message must own every touch that lands on it, set `isMessageGestureEnabled` to `false` for it. The gesture surface then drops *behind* the bubble: the bubble's content takes its touches, and long-pressing the row next to the bubble still opens the picker - so reactions are never lost for that message.
785
+
786
+ ```tsx
787
+ <Chat
788
+ reactions={{ isEnabled: true, onReactionPress }}
789
+ renderMessageVideo={props => <Video source={{ uri: props.currentMessage.video }} controls style={styles.video} />}
790
+ // the video owns its controls; long-press beside the bubble still reacts
791
+ isMessageGestureEnabled={message => !message.video}
792
+ />
793
+ ```
794
+
795
+ ### FlashList (opt-in)
796
+
797
+ On long histories `FlatList` can log `VirtualizedList: You have a large list that is slow to update`. [FlashList](https://shopify.github.io/flash-list/) v2 recycles rows instead of keeping them mounted, which removes that class of stall. It is supported as an **optional** dependency - install it yourself and flip one prop:
798
+
799
+ ```bash
800
+ yarn add @shopify/flash-list
801
+ ```
802
+
803
+ ```jsx
804
+ <Chat messages={messages} user={user} isFlashListEnabled />
805
+ ```
806
+
807
+ Everything else keeps working: `isInverted`, the floating day header, `loadEarlierMessagesProps` infinite scroll, the scroll-to-bottom button, and `listProps` (spread last, so it overrides the defaults below).
808
+
809
+ The chat sets FlashList's `maintainVisibleContentPosition` for you - `startRenderingFromBottom` when `isInverted={false}`, plus `autoscrollToBottomThreshold: 0.2` so new messages follow the viewport only when you are already at the bottom. Override it through `listProps` if you want different thresholds:
810
+
811
+ ```jsx
812
+ <Chat
813
+ isFlashListEnabled
814
+ listProps={{
815
+ maintainVisibleContentPosition: {
816
+ autoscrollToBottomThreshold: 0.1,
817
+ animateAutoScrollToBottom: false,
818
+ },
819
+ }}
820
+ {...props}
821
+ />
822
+ ```
823
+
824
+ Notes:
825
+
826
+ - FlashList v2 requires the **New Architecture**. On the old architecture it falls back to a slower JS path.
827
+ - `FlatList`-only knobs (`windowSize`, `maxToRenderPerBatch`, `initialNumToRender`, `updateCellsBatchingPeriod`, `removeClippedSubviews`) are not forwarded to FlashList - it sizes its own render window.
828
+ - If `@shopify/flash-list` is not installed, the prop is ignored, a warning is logged, and `FlatList` is used.
829
+
791
830
  ### Copy to Clipboard
792
831
 
793
832
  Long-press handling is exposed via `onLongPressMessage`. Chat wraps [`@expo/react-native-action-sheet`](https://github.com/expo/react-native-action-sheet), so you can show a "Copy Text" action sheet and copy with the clipboard library of your choice:
@@ -1068,7 +1107,7 @@ yarn prepublishOnly
1068
1107
 
1069
1108
  ## 👥 Authors
1070
1109
 
1071
- Based on [FaridSafi/react-native-chat](https://github.com/FaridSafi/react-native-chat), which is no longer actively maintained.
1110
+ Based on [FaridSafi/react-native-gifted-chat](https://github.com/FaridSafi/react-native-gifted-chat), which is no longer actively maintained.
1072
1111
 
1073
1112
  **Maintainer:** [Kesha Antonov](https://github.com/kesha-antonov)
1074
1113
 
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/Bubble/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAiD,MAAM,OAAO,CAAA;AAqBrE,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AAOpC,OAAO,EAAE,WAAW,EAA0B,MAAM,SAAS,CAAA;AAE7D,cAAc,SAAS,CAAA;AAcvB,eAAO,MAAM,MAAM,GAAI,QAAQ,SAAS,QAAQ,GAAG,QAAQ,EAAE,OAAO,WAAW,CAAC,QAAQ,CAAC,KAAG,KAAK,CAAC,YAohBjG,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/Bubble/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAiD,MAAM,OAAO,CAAA;AAsBrE,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AAOpC,OAAO,EAAE,WAAW,EAA0B,MAAM,SAAS,CAAA;AAE7D,cAAc,SAAS,CAAA;AAcvB,eAAO,MAAM,MAAM,GAAI,QAAQ,SAAS,QAAQ,GAAG,QAAQ,EAAE,OAAO,WAAW,CAAC,QAAQ,CAAC,KAAG,KAAK,CAAC,YA4kBjG,CAAA"}
@@ -1,5 +1,5 @@
1
1
  import React, { useCallback, useMemo, useRef, useState } from 'react';
2
- import { View, Pressable, Text } from 'react-native';
2
+ import { View, Pressable, StyleSheet, Text } from 'react-native';
3
3
  import { Gesture, GestureDetector } from 'react-native-gesture-handler';
4
4
  import Animated, { Easing, ReduceMotion, runOnJS, useAnimatedStyle, useSharedValue, withTiming, } from 'react-native-reanimated';
5
5
  import { useChatContext } from '../ChatContext';
@@ -20,8 +20,15 @@ const SCALE_DURATION_IN = 400;
20
20
  const SCALE_DURATION_OUT = 200;
21
21
  const SCALE_EASING = Easing.inOut(Easing.quad);
22
22
  export const Bubble = (props) => {
23
- const { currentMessage, nextMessage, position, containerToNextStyle, previousMessage, containerToPreviousStyle, onQuickReply, renderQuickReplySend, quickReplyStyle, quickReplyTextStyle, quickReplyContainerStyle, containerStyle, wrapperStyle, bottomContainerStyle, onPressMessage: onPressMessageProp, onLongPressMessage: onLongPressMessageProp, reactions, } = props;
23
+ const { currentMessage, nextMessage, position, containerToNextStyle, previousMessage, containerToPreviousStyle, onQuickReply, renderQuickReplySend, quickReplyStyle, quickReplyTextStyle, quickReplyContainerStyle, containerStyle, wrapperStyle, bottomContainerStyle, onPressMessage: onPressMessageProp, onLongPressMessage: onLongPressMessageProp, reactions, isMessageGestureEnabled = true, } = props;
24
24
  const context = useChatContext();
25
+ // Consumers can hand the touches back to natively interactive content
26
+ // (video controls, maps, WebViews) on a per-message basis.
27
+ const isGestureEnabled = useMemo(() => {
28
+ if (typeof isMessageGestureEnabled === 'function')
29
+ return currentMessage ? isMessageGestureEnabled(currentMessage) : true;
30
+ return isMessageGestureEnabled;
31
+ }, [isMessageGestureEnabled, currentMessage]);
25
32
  const bubbleContainerRef = useRef(null);
26
33
  const [isPickerVisible, setIsPickerVisible] = useState(false);
27
34
  const [pickerAnchor, setPickerAnchor] = useState({
@@ -52,12 +59,16 @@ export const Bubble = (props) => {
52
59
  });
53
60
  }, []);
54
61
  const tapGesture = useMemo(() => Gesture.Tap()
62
+ // Keep native subviews (video controls, maps, native buttons) receiving
63
+ // touches. iOS cancels them by default the moment this recognizer wins.
64
+ .cancelsTouchesInView(false)
55
65
  .runOnJS(true)
56
66
  .onEnd((_e, success) => {
57
67
  if (success)
58
68
  onPressMessageProp?.(context, currentMessage);
59
69
  }), [onPressMessageProp, context, currentMessage]);
60
70
  const longPressGesture = useMemo(() => Gesture.LongPress()
71
+ .cancelsTouchesInView(false)
61
72
  .onBegin(() => {
62
73
  messageScale.value = withTiming(SCALE_PRESSED, {
63
74
  duration: SCALE_DURATION_IN,
@@ -79,7 +90,11 @@ export const Bubble = (props) => {
79
90
  // Exclusive composition: a long-press wins over the tap when held long
80
91
  // enough; a quick lift lets the tap through. Both share the onBegin/onFinalize
81
92
  // scale animation because onBegin always fires before either gesture wins.
82
- const reactionsGesture = useMemo(() => Gesture.Exclusive(longPressGesture, tapGesture), [longPressGesture, tapGesture]);
93
+ // The tap is only attached when there is something to call - otherwise it
94
+ // would compete with interactive content inside the bubble for no reason.
95
+ const reactionsGesture = useMemo(() => onPressMessageProp
96
+ ? Gesture.Exclusive(longPressGesture, tapGesture)
97
+ : longPressGesture, [longPressGesture, tapGesture, onPressMessageProp]);
83
98
  const styledBubbleToNext = useMemo(() => {
84
99
  if (currentMessage &&
85
100
  nextMessage &&
@@ -322,6 +337,11 @@ export const Bubble = (props) => {
322
337
  styledBubbleToPrevious,
323
338
  wrapperStyle?.[position],
324
339
  ], [position, styledBubbleToNext, styledBubbleToPrevious, wrapperStyle]);
340
+ const containerStyleList = useMemo(() => [
341
+ getStyleWithPosition(styles, 'container', position),
342
+ containerStyle?.[position],
343
+ ], [position, containerStyle]);
344
+ const rowSurfaceStyle = useMemo(() => getStyleWithPosition(styles, 'rowSurface', position), [position]);
325
345
  const renderReactionsDisplay = useCallback(() => {
326
346
  const currentReactions = currentMessage?.reactions;
327
347
  if (!currentReactions || currentReactions.length === 0)
@@ -361,29 +381,49 @@ export const Bubble = (props) => {
361
381
  return renderComponentOrElement(reactions.renderReactionPicker, pickerProps);
362
382
  return <ReactionPicker {...pickerProps}/>;
363
383
  }, [reactions, isPickerVisible, currentMessage, position, pickerAnchor]);
364
- if (reactions?.isEnabled)
365
- // Reactions path: the Animated.View carries only the scale transform,
366
- // keeping the animation isolated from the static bubble styles on the
367
- // inner View. Tap/long-press are handled by the composed gesture.
368
- return (<Animated.View style={containerStyle?.[position]} ref={bubbleContainerRef}>
369
- <GestureDetector gesture={reactionsGesture}>
370
- <Animated.View style={bubbleScaleStyle}>
371
- <View style={wrapperStyleList}>
372
- {renderBubbleBody()}
373
- </View>
374
- </Animated.View>
375
- </GestureDetector>
384
+ // Reactions path: the Animated.View carries only the scale transform, keeping
385
+ // the animation isolated from the static bubble styles on the inner View.
386
+ // Tap/long-press are handled by the composed gesture.
387
+ if (reactions?.isEnabled) {
388
+ // `rowSurface` spans the whole message row, so a long-press in the empty
389
+ // space beside the bubble opens the picker too - the way Telegram behaves.
390
+ const bubbleRow = (<View style={rowSurfaceStyle}>
391
+ <Animated.View style={bubbleScaleStyle}>
392
+ <View style={wrapperStyleList} ref={bubbleContainerRef}>
393
+ {renderBubbleBody()}
394
+ </View>
395
+ </Animated.View>
396
+ </View>);
397
+ return (<Animated.View style={containerStyleList}>
398
+ {isGestureEnabled
399
+ ? (<GestureDetector gesture={reactionsGesture}>
400
+ {bubbleRow}
401
+ </GestureDetector>)
402
+ : (
403
+ // Gestures are off for this message, so the surface drops *behind*
404
+ // the bubble: the bubble's own content (native video controls, a
405
+ // map, a WebView) keeps every touch that lands on it, while the rest
406
+ // of the row still opens the picker.
407
+ <>
408
+ <GestureDetector gesture={reactionsGesture}>
409
+ <View style={StyleSheet.absoluteFill}/>
410
+ </GestureDetector>
411
+ {bubbleRow}
412
+ </>)}
376
413
  {renderQuickReplies()}
377
414
  {renderReactionsDisplay()}
378
415
  {renderReactionPickerModal()}
379
416
  </Animated.View>);
417
+ }
380
418
  // Default path: unchanged behaviour for existing users, preserving
381
419
  // touchableProps, native press feedback, and the onLongPressMessage callback.
382
- return (<View style={containerStyle?.[position]}>
420
+ return (<View style={containerStyleList}>
383
421
  <View style={wrapperStyleList}>
384
- <Pressable onPress={onPress} onLongPress={onLongPress} {...props.touchableProps}>
385
- {renderBubbleBody()}
386
- </Pressable>
422
+ {isGestureEnabled
423
+ ? (<Pressable onPress={onPress} onLongPress={onLongPress} {...props.touchableProps}>
424
+ {renderBubbleBody()}
425
+ </Pressable>)
426
+ : renderBubbleBody()}
387
427
  </View>
388
428
  {renderQuickReplies()}
389
429
  </View>);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/Bubble/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AACrE,OAAO,EACL,IAAI,EACJ,SAAS,EACT,IAAI,EAAE,MAAM,cAAc,CAAA;AAC5B,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAA;AACvE,OAAO,QAAQ,EAAE,EACf,MAAM,EACN,YAAY,EACZ,OAAO,EACP,gBAAgB,EAChB,cAAc,EACd,UAAU,GACX,MAAM,yBAAyB,CAAA;AAEhC,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAE9C,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAC9C,OAAO,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AACxF,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAA;AAChD,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAC9B,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAA;AAC1E,OAAO,MAAM,MAAM,UAAU,CAAA;AAG7B,cAAc,SAAS,CAAA;AASvB,MAAM,aAAa,GAAG,IAAI,CAAA;AAC1B,MAAM,iBAAiB,GAAG,GAAG,CAAA;AAC7B,MAAM,kBAAkB,GAAG,GAAG,CAAA;AAC9B,MAAM,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;AAE9C,MAAM,CAAC,MAAM,MAAM,GAAG,CAAuC,KAA4B,EAAsB,EAAE;IAC/G,MAAM,EACJ,cAAc,EACd,WAAW,EACX,QAAQ,EACR,oBAAoB,EACpB,eAAe,EACf,wBAAwB,EACxB,YAAY,EACZ,oBAAoB,EACpB,eAAe,EACf,mBAAmB,EACnB,wBAAwB,EACxB,cAAc,EACd,YAAY,EACZ,oBAAoB,EACpB,cAAc,EAAE,kBAAkB,EAClC,kBAAkB,EAAE,sBAAsB,EAC1C,SAAS,GACV,GAAG,KAAK,CAAA;IAET,MAAM,OAAO,GAAG,cAAc,EAAE,CAAA;IAEhC,MAAM,kBAAkB,GAAG,MAAM,CAAO,IAAI,CAAC,CAAA;IAE7C,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IAC7D,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAe;QAC7D,KAAK,EAAE,CAAC;QACR,KAAK,EAAE,CAAC;QACR,WAAW,EAAE,CAAC;QACd,YAAY,EAAE,CAAC;KAChB,CAAC,CAAA;IAEF,6EAA6E;IAC7E,wCAAwC;IACxC,MAAM,YAAY,GAAG,cAAc,CAAC,CAAC,CAAC,CAAA;IAEtC,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,GAAG,EAAE,CAAC,CAAC;QAC/C,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,YAAY,CAAC,KAAK,EAAE,CAAC;KAC3C,CAAC,CAAC,CAAA;IAEH,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,EAAE;QAC/B,kBAAkB,EAAE,CAAC,OAAO,EAAE,cAAc,CAAC,CAAA;IAC/C,CAAC,EAAE,CAAC,kBAAkB,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC,CAAA;IAEjD,MAAM,WAAW,GAAG,WAAW,CAAC,GAAG,EAAE;QACnC,sBAAsB,EAAE,CAAC,OAAO,EAAE,cAAc,CAAC,CAAA;IACnD,CAAC,EAAE;QACD,cAAc;QACd,OAAO;QACP,sBAAsB;KACvB,CAAC,CAAA;IAEF,MAAM,aAAa,GAAG,WAAW,CAAC,GAAG,EAAE;QACrC,kBAAkB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;YAC1E,eAAe,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC,CAAA;QAC7E,CAAC,CAAC,CAAA;IACJ,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,MAAM,UAAU,GAAG,OAAO,CACxB,GAAG,EAAE,CACH,OAAO,CAAC,GAAG,EAAE;SACV,OAAO,CAAC,IAAI,CAAC;SACb,KAAK,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE;QACrB,IAAI,OAAO;YACT,kBAAkB,EAAE,CAAC,OAAO,EAAE,cAAc,CAAC,CAAA;IACjD,CAAC,CAAC,EACN,CAAC,kBAAkB,EAAE,OAAO,EAAE,cAAc,CAAC,CAC9C,CAAA;IAED,MAAM,gBAAgB,GAAG,OAAO,CAC9B,GAAG,EAAE,CACH,OAAO,CAAC,SAAS,EAAE;SAChB,OAAO,CAAC,GAAG,EAAE;QACZ,YAAY,CAAC,KAAK,GAAG,UAAU,CAAC,aAAa,EAAE;YAC7C,QAAQ,EAAE,iBAAiB;YAC3B,MAAM,EAAE,YAAY;YACpB,YAAY,EAAE,YAAY,CAAC,MAAM;SAClC,CAAC,CAAA;QACF,OAAO,CAAC,aAAa,CAAC,EAAE,CAAA;IAC1B,CAAC,CAAC;SACD,OAAO,CAAC,GAAG,EAAE;QACZ,OAAO,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,CAAA;IACnC,CAAC,CAAC;SACD,UAAU,CAAC,GAAG,EAAE;QACf,YAAY,CAAC,KAAK,GAAG,UAAU,CAAC,CAAC,EAAE;YACjC,QAAQ,EAAE,kBAAkB;YAC5B,MAAM,EAAE,YAAY;YACpB,YAAY,EAAE,YAAY,CAAC,MAAM;SAClC,CAAC,CAAA;IACJ,CAAC,CAAC,EACN,CAAC,YAAY,EAAE,aAAa,CAAC,CAC9B,CAAA;IAED,uEAAuE;IACvE,+EAA+E;IAC/E,2EAA2E;IAC3E,MAAM,gBAAgB,GAAG,OAAO,CAC9B,GAAG,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,gBAAgB,EAAE,UAAU,CAAC,EACrD,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAC/B,CAAA;IAED,MAAM,kBAAkB,GAAG,OAAO,CAAC,GAAG,EAAE;QACtC,IACE,cAAc;YACd,WAAW;YACX,QAAQ;YACR,UAAU,CAAC,cAAc,EAAE,WAAW,CAAC;YACvC,SAAS,CAAC,cAAc,EAAE,WAAW,CAAC;YAEtC,OAAO;gBACL,oBAAoB,CAAC,MAAM,EAAE,iBAAiB,EAAE,QAAQ,CAAC;gBACzD,oBAAoB,EAAE,CAAC,QAAQ,CAAC;aACjC,CAAA;QAEH,OAAO,IAAI,CAAA;IACb,CAAC,EAAE;QACD,cAAc;QACd,WAAW;QACX,QAAQ;QACR,oBAAoB;KACrB,CAAC,CAAA;IAEF,MAAM,sBAAsB,GAAG,OAAO,CAAC,GAAG,EAAE;QAC1C,IACE,cAAc;YACd,eAAe;YACf,QAAQ;YACR,UAAU,CAAC,cAAc,EAAE,eAAe,CAAC;YAC3C,SAAS,CAAC,cAAc,EAAE,eAAe,CAAC;YAE1C,OAAO;gBACL,oBAAoB,CAAC,MAAM,EAAE,qBAAqB,EAAE,QAAQ,CAAC;gBAC7D,wBAAwB,EAAE,CAAC,QAAQ,CAAC;aACrC,CAAA;QAEH,OAAO,IAAI,CAAA;IACb,CAAC,EAAE;QACD,cAAc;QACd,eAAe;QACf,QAAQ;QACR,wBAAwB;KACzB,CAAC,CAAA;IAEF,MAAM,kBAAkB,GAAG,WAAW,CAAC,GAAG,EAAE;QAC1C,IAAI,cAAc,EAAE,YAAY,EAAE,CAAC;YACjC,MAAM;YACJ,sDAAsD;YACtD,cAAc,EACd,YAAY;YACZ,qDAAqD;YACrD,GAAG,eAAe,EACnB,GAAG,KAAK,CAAA;YAET,IAAI,KAAK,CAAC,kBAAkB;gBAC1B,OAAO,wBAAwB,CAAC,KAAK,CAAC,kBAAkB,EAAE,eAAe,CAAC,CAAA;YAE5E,OAAO,CACL,CAAC,YAAY,CACX,cAAc,CAAC,CAAC,cAAc,CAAC,CAC/B,YAAY,CAAC,CAAC,YAAY,CAAC,CAC3B,oBAAoB,CAAC,CAAC,oBAAoB,CAAC,CAC3C,eAAe,CAAC,CAAC,eAAe,CAAC,CACjC,mBAAmB,CAAC,CAAC,mBAAmB,CAAC,CACzC,wBAAwB,CAAC,CAAC,wBAAwB,CAAC,CACnD,WAAW,CAAC,CAAC,WAAW,CAAC,EACzB,CACH,CAAA;QACH,CAAC;QAED,OAAO,IAAI,CAAA;IACb,CAAC,EAAE;QACD,cAAc;QACd,YAAY;QACZ,oBAAoB;QACpB,eAAe;QACf,mBAAmB;QACnB,wBAAwB;QACxB,WAAW;QACX,KAAK;KACN,CAAC,CAAA;IAEF,MAAM,iBAAiB,GAAG,WAAW,CAAC,GAAG,EAAE;QACzC,IAAI,cAAc,EAAE,IAAI,EAAE,CAAC;YACzB,MAAM;YACJ,sDAAsD;YACtD,cAAc,EACd,YAAY,EACZ,gBAAgB;YAChB,qDAAqD;YACrD,GAAG,oBAAoB,EACxB,GAAG,KAAK,CAAA;YAET,MAAM,aAAa,GAAG;gBACpB,GAAG,oBAAoB;gBACvB,GAAG,gBAAgB;aACgB,CAAA;YAErC,IAAI,KAAK,CAAC,iBAAiB;gBACzB,OAAO,wBAAwB,CAAC,KAAK,CAAC,iBAAiB,EAAE,aAAa,CAAC,CAAA;YAEzE,OAAO,CAAC,WAAW,CAAC,IAAI,aAAoB,CAAC,EAAG,CAAA;QAClD,CAAC;QAED,OAAO,IAAI,CAAA;IACb,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC,CAAA;IAE3B,MAAM,kBAAkB,GAAG,WAAW,CAAC,GAAG,EAAE;QAC1C,IAAI,cAAc,EAAE,KAAK,EAAE,CAAC;YAC1B,MAAM;YACJ,sDAAsD;YACtD,cAAc,EACd,YAAY;YACZ,qDAAqD;YACrD,GAAG,iBAAiB,EACrB,GAAG,KAAK,CAAA;YAET,IAAI,KAAK,CAAC,kBAAkB;gBAC1B,OAAO,wBAAwB,CAAC,KAAK,CAAC,kBAAkB,EAAE,iBAAiB,CAAC,CAAA;YAE9E,OAAO,CAAC,YAAY,CAAC,IAAI,iBAAiB,CAAC,EAAG,CAAA;QAChD,CAAC;QAED,OAAO,IAAI,CAAA;IACb,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC,CAAA;IAE3B,MAAM,kBAAkB,GAAG,WAAW,CAAC,GAAG,EAAE;QAC1C,IAAI,CAAC,cAAc,EAAE,KAAK;YACxB,OAAO,IAAI,CAAA;QAEb,MAAM;QACJ,sDAAsD;QACtD,cAAc,EACd,YAAY;QACZ,qDAAqD;QACrD,GAAG,iBAAiB,EACrB,GAAG,KAAK,CAAA;QAET,IAAI,KAAK,CAAC,kBAAkB;YAC1B,OAAO,wBAAwB,CAAC,KAAK,CAAC,kBAAkB,EAAE,iBAAiB,CAAC,CAAA;QAE9E,OAAO,CAAC,YAAY,CAAC,AAAD,EAAG,CAAA;IACzB,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC,CAAA;IAE3B,MAAM,kBAAkB,GAAG,WAAW,CAAC,GAAG,EAAE;QAC1C,IAAI,CAAC,cAAc,EAAE,KAAK;YACxB,OAAO,IAAI,CAAA;QAEb,MAAM;QACJ,sDAAsD;QACtD,cAAc,EACd,YAAY;QACZ,qDAAqD;QACrD,GAAG,iBAAiB,EACrB,GAAG,KAAK,CAAA;QAET,IAAI,KAAK,CAAC,kBAAkB;YAC1B,OAAO,wBAAwB,CAAC,KAAK,CAAC,kBAAkB,EAAE,iBAAiB,CAAC,CAAA;QAE9E,OAAO,CAAC,YAAY,CAAC,AAAD,EAAG,CAAA;IACzB,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC,CAAA;IAE3B,MAAM,WAAW,GAAG,WAAW,CAAC,GAAG,EAAE;QACnC,MAAM,EACJ,WAAW,EACX,IAAI,GACL,GAAG,KAAK,CAAA;QAET,IAAI,WAAW,IAAI,cAAc;YAC/B,OAAO,wBAAwB,CAAC,WAAW,EAAE,cAAc,CAAC,CAAA;QAE9D,IACE,IAAI;YACJ,cAAc,EAAE,IAAI;YACpB,cAAc,CAAC,IAAI,CAAC,GAAG,KAAK,IAAI,CAAC,GAAG;YAEpC,OAAO,IAAI,CAAA;QAEb,IACE,cAAc;YACd,CAAC,cAAc,CAAC,IAAI,IAAI,cAAc,CAAC,QAAQ,IAAI,cAAc,CAAC,OAAO,CAAC;YAE1E,OAAO,CACL,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,sBAAsB,CAAC,CACzC;UAAA,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,IAAI,CACxB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,CACnD;cAAA,CAAC,GAAG,CACN;YAAA,EAAE,IAAI,CAAC,CACR,CACD;UAAA,CAAC,CAAC,CAAC,cAAc,CAAC,QAAQ,IAAI,CAC5B,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,CACnD;cAAA,CAAC,GAAG,CACN;YAAA,EAAE,IAAI,CAAC,CACR,CACD;UAAA,CAAC,CAAC,CAAC,cAAc,CAAC,OAAO,IAAI,CAC3B,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,CACnD;cAAA,CAAC,IAAI,CACP;YAAA,EAAE,IAAI,CAAC,CACR,CACH;QAAA,EAAE,IAAI,CAAC,CACR,CAAA;QAEH,OAAO,IAAI,CAAA;IACb,CAAC,EAAE;QACD,KAAK;QACL,cAAc;KACf,CAAC,CAAA;IAEF,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,EAAE;QAClC,IAAI,cAAc,EAAE,SAAS,EAAE,CAAC;YAC9B,MAAM;YACJ,sDAAsD;YACtD,cAAc,EACd,YAAY,EACZ,SAAS;YACT,qDAAqD;YACrD,GAAG,SAAS,EACb,GAAG,KAAK,CAAA;YAET,IAAI,KAAK,CAAC,UAAU;gBAClB,OAAO,wBAAwB,CAAC,KAAK,CAAC,UAAU,EAAE,SAAS,CAAC,CAAA;YAE9D,OAAO,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC,EAAG,CAAA;QAChC,CAAC;QAED,OAAO,IAAI,CAAA;IACb,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC,CAAA;IAE3B,MAAM,cAAc,GAAG,WAAW,CAAC,GAAG,EAAE;QACtC,MAAM,EACJ,IAAI,EACJ,cAAc,GACf,GAAG,KAAK,CAAA;QAET,IAAI,KAAK,CAAC,iBAAiB,IAAI,cAAc,EAAE,CAAC;YAC9C,IAAI,IAAI,IAAI,cAAc,CAAC,IAAI,CAAC,GAAG,KAAK,IAAI,CAAC,GAAG;gBAC9C,OAAO,IAAI,CAAA;YAEb,IAAI,cAAc;gBAChB,OAAO,wBAAwB,CAAC,cAAc,EAAE,cAAc,CAAC,IAAI,CAAC,CAAA;YAEtE,OAAO,CACL,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC,CACpC;UAAA,CAAC,IAAI,CACH,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC,CAE9C;YAAA,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAC3B;UAAA,EAAE,IAAI,CACR;QAAA,EAAE,IAAI,CAAC,CACR,CAAA;QACH,CAAC;QAED,OAAO,IAAI,CAAA;IACb,CAAC,EAAE;QACD,cAAc;QACd,KAAK;KACN,CAAC,CAAA;IAEF,MAAM,gBAAgB,GAAG,WAAW,CAAC,GAAG,EAAE;QACxC,IAAI,KAAK,CAAC,gBAAgB;YACxB,OAAO,wBAAwB,CAAC,KAAK,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAA;QAEhE,OAAO,IAAI,CAAA;IACb,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAA;IAEX,MAAM,kBAAkB,GAAG,WAAW,CAAC,GAAG,EAAE;QAC1C,IAAI,CAAC,cAAc,EAAE,YAAY;YAC/B,OAAO,IAAI,CAAA;QAEb,MAAM,EAAE,YAAY,EAAE,GAAG,KAAK,CAAA;QAE9B,MAAM,iBAAiB,GAAG;YACxB,YAAY,EAAE,cAAc,CAAC,YAAY;YACzC,cAAc;YACd,QAAQ;YACR,OAAO,EAAE,YAAY,EAAE,OAAO;YAC9B,cAAc,EAAE,QAAQ,KAAK,MAAM;gBACjC,CAAC,CAAC,YAAY,EAAE,kBAAkB,IAAI,YAAY,EAAE,cAAc;gBAClE,CAAC,CAAC,YAAY,EAAE,mBAAmB,IAAI,YAAY,EAAE,cAAc;YACrE,SAAS,EAAE,QAAQ,KAAK,MAAM;gBAC5B,CAAC,CAAC,YAAY,EAAE,aAAa,IAAI,YAAY,EAAE,SAAS;gBACxD,CAAC,CAAC,YAAY,EAAE,cAAc,IAAI,YAAY,EAAE,SAAS;YAC3D,UAAU,EAAE,YAAY,EAAE,UAAU;SACrC,CAAA;QAED,IAAI,YAAY,EAAE,kBAAkB;YAClC,OAAO,wBAAwB,CAAC,YAAY,CAAC,kBAAkB,EAAE,iBAAiB,CAAC,CAAA;QAErF,OAAO,CAAC,YAAY,CAAC,IAAI,iBAAiB,CAAC,EAAG,CAAA;IAChD,CAAC,EAAE;QACD,KAAK;QACL,cAAc;QACd,QAAQ;KACT,CAAC,CAAA;IAEF,MAAM,mBAAmB,GAAG,WAAW,CAAC,GAAG,EAAE;QAC3C,OAAO,CACL,EACE;QAAA,CAAC,CAAC,KAAK,CAAC,kBAAkB,IAAI,gBAAgB,EAAE,CAChD;QAAA,CAAC,kBAAkB,EAAE,CACrB;QAAA,CAAC,kBAAkB,EAAE,CACrB;QAAA,CAAC,kBAAkB,EAAE,CACrB;QAAA,CAAC,kBAAkB,EAAE,CACrB;QAAA,CAAC,iBAAiB,EAAE,CACpB;QAAA,CAAC,KAAK,CAAC,kBAAkB,IAAI,gBAAgB,EAAE,CACjD;MAAA,GAAG,CACJ,CAAA;IACH,CAAC,EAAE;QACD,kBAAkB;QAClB,gBAAgB;QAChB,kBAAkB;QAClB,kBAAkB;QAClB,kBAAkB;QAClB,iBAAiB;QACjB,KAAK,CAAC,kBAAkB;KACzB,CAAC,CAAA;IAEF,MAAM,gBAAgB,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,CACzC,EACE;MAAA,CAAC,mBAAmB,EAAE,CACtB;MAAA,CAAC,IAAI,CACH,KAAK,CAAC,CAAC;YACL,MAAM,CAAC,MAAM;YACb,oBAAoB,EAAE,CAAC,QAAQ,CAAC;SACjC,CAAC,CAEF;QAAA,CAAC,cAAc,EAAE,CACjB;QAAA,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,6BAA6B,CAAC,CAChD;UAAA,CAAC,UAAU,EAAE,CACb;UAAA,CAAC,WAAW,EAAE,CAChB;QAAA,EAAE,IAAI,CACR;MAAA,EAAE,IAAI,CACR;IAAA,GAAG,CACJ,EAAE;QACD,QAAQ;QACR,oBAAoB;QACpB,mBAAmB;QACnB,cAAc;QACd,UAAU;QACV,WAAW;KACZ,CAAC,CAAA;IAEF,MAAM,gBAAgB,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QACrC,oBAAoB,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAC;QACjD,kBAAkB;QAClB,sBAAsB;QACtB,YAAY,EAAE,CAAC,QAAQ,CAAC;KACzB,EAAE,CAAC,QAAQ,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,YAAY,CAAC,CAAC,CAAA;IAExE,MAAM,sBAAsB,GAAG,WAAW,CAAC,GAAG,EAAE;QAC9C,MAAM,gBAAgB,GAAG,cAAc,EAAE,SAAS,CAAA;QAClD,IAAI,CAAC,gBAAgB,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC;YACpD,OAAO,IAAI,CAAA;QAEb,MAAM,YAAY,GAAG;YACnB,OAAO,EAAE,cAAc;YACvB,SAAS,EAAE,gBAAgB;YAC3B,aAAa,EAAE,KAAK,CAAC,IAAI,EAAE,GAAG;YAC9B,QAAQ;YACR,eAAe,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,SAAS,EAAE,eAAe,EAAE,CAAC,cAAc,EAAE,KAAK,CAAC;YACvF,cAAc,EAAE,SAAS,EAAE,cAAc;YACzC,aAAa,EAAE,SAAS,EAAE,aAAa;YACvC,mBAAmB,EAAE,SAAS,EAAE,mBAAmB;YACnD,iBAAiB,EAAE,SAAS,EAAE,iBAAiB;YAC/C,kBAAkB,EAAE,SAAS,EAAE,kBAAkB;SAClD,CAAA;QAED,IAAI,SAAS,EAAE,eAAe;YAC5B,OAAO,wBAAwB,CAAC,SAAS,CAAC,eAAe,EAAE,YAAY,CAAC,CAAA;QAE1E,OAAO,CAAC,gBAAgB,CAAC,IAAI,YAAY,CAAC,EAAG,CAAA;IAC/C,CAAC,EAAE,CAAC,cAAc,EAAE,QAAQ,EAAE,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAA;IAErD,MAAM,yBAAyB,GAAG,WAAW,CAAC,GAAG,EAAE;QACjD,IAAI,CAAC,SAAS,EAAE,SAAS;YACvB,OAAO,IAAI,CAAA;QAEb,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,IAAI,uBAAuB,CAAA;QAE1D,MAAM,WAAW,GAAG;YAClB,OAAO,EAAE,eAAe;YACxB,OAAO,EAAE,cAAc;YACvB,MAAM;YACN,QAAQ,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,SAAS,EAAE,eAAe,EAAE,CAAC,cAAc,EAAE,KAAK,CAAC;YAChF,SAAS,EAAE,GAAG,EAAE,CAAC,kBAAkB,CAAC,KAAK,CAAC;YAC1C,QAAQ;YACR,GAAG,YAAY;YACf,oBAAoB,EAAE,SAAS,CAAC,oBAAoB;YACpD,gBAAgB,EAAE,SAAS,CAAC,gBAAgB;SAC7C,CAAA;QAED,IAAI,SAAS,CAAC,oBAAoB;YAChC,OAAO,wBAAwB,CAAC,SAAS,CAAC,oBAAoB,EAAE,WAAW,CAAC,CAAA;QAE9E,OAAO,CAAC,cAAc,CAAC,IAAI,WAAW,CAAC,EAAG,CAAA;IAC5C,CAAC,EAAE,CAAC,SAAS,EAAE,eAAe,EAAE,cAAc,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAA;IAExE,IAAI,SAAS,EAAE,SAAS;QACtB,sEAAsE;QACtE,sEAAsE;QACtE,kEAAkE;QAClE,OAAO,CACL,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,cAAc,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,kBAAkB,CAAC,CACxE;QAAA,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,gBAAgB,CAAC,CACzC;UAAA,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,gBAAgB,CAAC,CACrC;YAAA,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,gBAAgB,CAAC,CAC5B;cAAA,CAAC,gBAAgB,EAAE,CACrB;YAAA,EAAE,IAAI,CACR;UAAA,EAAE,QAAQ,CAAC,IAAI,CACjB;QAAA,EAAE,eAAe,CACjB;QAAA,CAAC,kBAAkB,EAAE,CACrB;QAAA,CAAC,sBAAsB,EAAE,CACzB;QAAA,CAAC,yBAAyB,EAAE,CAC9B;MAAA,EAAE,QAAQ,CAAC,IAAI,CAAC,CACjB,CAAA;IAEH,mEAAmE;IACnE,8EAA8E;IAC9E,OAAO,CACL,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,cAAc,EAAE,CAAC,QAAQ,CAAC,CAAC,CACtC;MAAA,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,gBAAgB,CAAC,CAC5B;QAAA,CAAC,SAAS,CACR,OAAO,CAAC,CAAC,OAAO,CAAC,CACjB,WAAW,CAAC,CAAC,WAAW,CAAC,CACzB,IAAI,KAAK,CAAC,cAAc,CAAC,CAEzB;UAAA,CAAC,gBAAgB,EAAE,CACrB;QAAA,EAAE,SAAS,CACb;MAAA,EAAE,IAAI,CACN;MAAA,CAAC,kBAAkB,EAAE,CACvB;IAAA,EAAE,IAAI,CAAC,CACR,CAAA;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/Bubble/index.tsx"],"names":[],"mappings":"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"}
@@ -1,7 +1,26 @@
1
1
  declare const styles: {
2
+ container: {
3
+ flex: number;
4
+ };
5
+ container_left: {
6
+ alignItems: "flex-start";
7
+ };
8
+ container_right: {
9
+ alignItems: "flex-end";
10
+ };
11
+ rowSurface: {
12
+ alignSelf: "stretch";
13
+ };
14
+ rowSurface_left: {
15
+ alignItems: "flex-start";
16
+ };
17
+ rowSurface_right: {
18
+ alignItems: "flex-end";
19
+ };
2
20
  wrapper: {
3
21
  borderRadius: number;
4
22
  minHeight: number;
23
+ maxWidth: "70%";
5
24
  };
6
25
  wrapper_left: {
7
26
  backgroundColor: string;
@@ -1 +1 @@
1
- {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../src/Bubble/styles.ts"],"names":[],"mappings":"AAGA,QAAA,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4DV,CAAA;AAEF,eAAe,MAAM,CAAA"}
1
+ {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../src/Bubble/styles.ts"],"names":[],"mappings":"AAGA,QAAA,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqFV,CAAA;AAEF,eAAe,MAAM,CAAA"}
@@ -1,9 +1,32 @@
1
1
  import { StyleSheet } from 'react-native';
2
2
  import { Color } from '../Color';
3
3
  const styles = StyleSheet.create({
4
+ // Fills the message row so the pressable surface reaches the far edge, with
5
+ // the bubble itself pinned to the sender's side.
6
+ container: {
7
+ flex: 1,
8
+ },
9
+ container_left: {
10
+ alignItems: 'flex-start',
11
+ },
12
+ container_right: {
13
+ alignItems: 'flex-end',
14
+ },
15
+ // Full-width band holding the bubble - this is what the reactions gesture is
16
+ // attached to, so the whole row responds and not just the bubble.
17
+ rowSurface: {
18
+ alignSelf: 'stretch',
19
+ },
20
+ rowSurface_left: {
21
+ alignItems: 'flex-start',
22
+ },
23
+ rowSurface_right: {
24
+ alignItems: 'flex-end',
25
+ },
4
26
  wrapper: {
5
27
  borderRadius: 15,
6
28
  minHeight: 20,
29
+ maxWidth: '70%',
7
30
  },
8
31
  wrapper_left: {
9
32
  backgroundColor: Color.leftBubbleBackground,
@@ -1 +1 @@
1
- {"version":3,"file":"styles.js","sourceRoot":"","sources":["../../src/Bubble/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAA;AAEhC,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;IAC/B,OAAO,EAAE;QACP,YAAY,EAAE,EAAE;QAChB,SAAS,EAAE,EAAE;KACd;IACD,YAAY,EAAE;QACZ,eAAe,EAAE,KAAK,CAAC,oBAAoB;QAC3C,cAAc,EAAE,UAAU;KAC3B;IACD,aAAa,EAAE;QACb,eAAe,EAAE,KAAK,CAAC,WAAW;QAClC,cAAc,EAAE,UAAU;KAC3B;IAED,MAAM,EAAE;QACN,aAAa,EAAE,KAAK;QACpB,cAAc,EAAE,eAAe;QAC/B,UAAU,EAAE,UAAU;QACtB,iBAAiB,EAAE,EAAE;QACrB,aAAa,EAAE,CAAC;KACjB;IAED,oBAAoB,EAAE;QACpB,sBAAsB,EAAE,CAAC;KAC1B;IACD,qBAAqB,EAAE;QACrB,uBAAuB,EAAE,CAAC;KAC3B;IAED,wBAAwB,EAAE;QACxB,mBAAmB,EAAE,CAAC;KACvB;IACD,yBAAyB,EAAE;QACzB,oBAAoB,EAAE,CAAC;KACxB;IAED,6BAA6B,EAAE;QAC7B,QAAQ,EAAE,CAAC;QACX,aAAa,EAAE,KAAK;QACpB,UAAU,EAAE,QAAQ;QACpB,cAAc,EAAE,UAAU;KAC3B;IAED,sBAAsB,EAAE;QACtB,aAAa,EAAE,KAAK;QACpB,UAAU,EAAE,CAAC;KACd;IACD,aAAa,EAAE;QACb,QAAQ,EAAE,EAAE;QACZ,KAAK,EAAE,KAAK,CAAC,KAAK;KACnB;IAED,iBAAiB,EAAE;QACjB,aAAa,EAAE,KAAK;QACpB,WAAW,EAAE,CAAC;KACf;IACD,QAAQ,EAAE;QACR,QAAQ,EAAE,EAAE;QACZ,KAAK,EAAE,MAAM;KACd;CACF,CAAC,CAAA;AAEF,eAAe,MAAM,CAAA"}
1
+ {"version":3,"file":"styles.js","sourceRoot":"","sources":["../../src/Bubble/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAA;AAEhC,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;IAC/B,4EAA4E;IAC5E,iDAAiD;IACjD,SAAS,EAAE;QACT,IAAI,EAAE,CAAC;KACR;IACD,cAAc,EAAE;QACd,UAAU,EAAE,YAAY;KACzB;IACD,eAAe,EAAE;QACf,UAAU,EAAE,UAAU;KACvB;IAED,6EAA6E;IAC7E,kEAAkE;IAClE,UAAU,EAAE;QACV,SAAS,EAAE,SAAS;KACrB;IACD,eAAe,EAAE;QACf,UAAU,EAAE,YAAY;KACzB;IACD,gBAAgB,EAAE;QAChB,UAAU,EAAE,UAAU;KACvB;IAED,OAAO,EAAE;QACP,YAAY,EAAE,EAAE;QAChB,SAAS,EAAE,EAAE;QACb,QAAQ,EAAE,KAAK;KAChB;IACD,YAAY,EAAE;QACZ,eAAe,EAAE,KAAK,CAAC,oBAAoB;QAC3C,cAAc,EAAE,UAAU;KAC3B;IACD,aAAa,EAAE;QACb,eAAe,EAAE,KAAK,CAAC,WAAW;QAClC,cAAc,EAAE,UAAU;KAC3B;IAED,MAAM,EAAE;QACN,aAAa,EAAE,KAAK;QACpB,cAAc,EAAE,eAAe;QAC/B,UAAU,EAAE,UAAU;QACtB,iBAAiB,EAAE,EAAE;QACrB,aAAa,EAAE,CAAC;KACjB;IAED,oBAAoB,EAAE;QACpB,sBAAsB,EAAE,CAAC;KAC1B;IACD,qBAAqB,EAAE;QACrB,uBAAuB,EAAE,CAAC;KAC3B;IAED,wBAAwB,EAAE;QACxB,mBAAmB,EAAE,CAAC;KACvB;IACD,yBAAyB,EAAE;QACzB,oBAAoB,EAAE,CAAC;KACxB;IAED,6BAA6B,EAAE;QAC7B,QAAQ,EAAE,CAAC;QACX,aAAa,EAAE,KAAK;QACpB,UAAU,EAAE,QAAQ;QACpB,cAAc,EAAE,UAAU;KAC3B;IAED,sBAAsB,EAAE;QACtB,aAAa,EAAE,KAAK;QACpB,UAAU,EAAE,CAAC;KACd;IACD,aAAa,EAAE;QACb,QAAQ,EAAE,EAAE;QACZ,KAAK,EAAE,KAAK,CAAC,KAAK;KACnB;IAED,iBAAiB,EAAE;QACjB,aAAa,EAAE,KAAK;QACpB,WAAW,EAAE,CAAC;KACf;IACD,QAAQ,EAAE;QACR,QAAQ,EAAE,EAAE;QACZ,KAAK,EAAE,MAAM;KACd;CACF,CAAC,CAAA;AAEF,eAAe,MAAM,CAAA"}
@@ -58,5 +58,15 @@ export interface BubbleProps<TMessage extends IMessage> {
58
58
  messageReply?: BubbleReplyProps<TMessage>;
59
59
  /** Emoji reactions configuration */
60
60
  reactions?: ReactionsProps<TMessage>;
61
+ /**
62
+ * Controls whether the bubble itself is part of the row's tap / long-press
63
+ * surface that `reactions` relies on. Pass `false` (or a predicate returning
64
+ * `false`) for messages that render natively interactive content - a video
65
+ * player with its own controls, a map, a WebView - whose touches must not
66
+ * compete with the bubble. The surface beside the bubble stays pressable
67
+ * either way, so reactions are never lost for that message.
68
+ * @default true
69
+ */
70
+ isMessageGestureEnabled?: boolean | ((message: TMessage) => boolean);
61
71
  }
62
72
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/Bubble/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/Bubble/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;AAC7C,OAAO,EACL,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,EACV,MAAM,cAAc,CAAA;AAErB,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAA;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AACjD,OAAO,EACL,IAAI,EACJ,QAAQ,EACR,cAAc,EACd,KAAK,EACL,YAAY,EACZ,IAAI,EACJ,iBAAiB,EACjB,iBAAiB,EAClB,MAAM,WAAW,CAAA;AAClB,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAC7C,OAAO,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAA;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAGnC,MAAM,MAAM,uBAAuB,CAAC,QAAQ,SAAS,QAAQ,IAAI,IAAI,CACnE,WAAW,CAAC,QAAQ,CAAC,EACrB,gBAAgB,GAAG,cAAc,CAClC,GACC,iBAAiB,CAAC,QAAQ,CAAC,CAAA;AAE7B,MAAM,MAAM,uBAAuB,CAAC,QAAQ,SAAS,QAAQ,IAAI,IAAI,CACnE,WAAW,CAAC,QAAQ,CAAC,EACrB,gBAAgB,GAAG,cAAc,CAClC,GACC,iBAAiB,CAAC,QAAQ,CAAC,CAAA;AAE7B,MAAM,MAAM,uBAAuB,CAAC,QAAQ,SAAS,QAAQ,IAAI,IAAI,CACnE,WAAW,CAAC,QAAQ,CAAC,EACrB,gBAAgB,GAAG,cAAc,CAClC,GACC,iBAAiB,CAAC,QAAQ,CAAC,CAAA;AAE7B,MAAM,MAAM,sBAAsB,CAAC,QAAQ,SAAS,QAAQ,IAAI,IAAI,CAClE,WAAW,CAAC,QAAQ,CAAC,EACrB,gBAAgB,GAAG,cAAc,CAClC,GACC,gBAAgB,CAAC,QAAQ,CAAC,CAAA;AAE5B,sDAAsD;AACtD,MAAM,WAAW,gBAAgB,CAAC,QAAQ,SAAS,QAAQ,CAAE,SAAQ,sBAAsB;IACzF,0EAA0E;IAC1E,kBAAkB,CAAC,EAAE,CAAC,KAAK,EAAE,iBAAiB,CAAC,QAAQ,CAAC,KAAK,KAAK,CAAC,SAAS,CAAA;IAC5E,6CAA6C;IAC7C,OAAO,CAAC,EAAE,CAAC,YAAY,EAAE,YAAY,KAAK,IAAI,CAAA;CAC/C;AAED,MAAM,WAAW,WAAW,CAAC,QAAQ,SAAS,QAAQ;IACpD,IAAI,CAAC,EAAE,IAAI,CAAA;IACX,cAAc,CAAC,EAAE,cAAc,CAAC,OAAO,SAAS,CAAC,CAAA;IACjD,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAA;IAC1B,cAAc,EAAE,QAAQ,CAAA;IACxB,WAAW,CAAC,EAAE,QAAQ,CAAA;IACtB,eAAe,CAAC,EAAE,QAAQ,CAAA;IAC1B,cAAc,CAAC,EAAE,cAAc,CAAC,SAAS,CAAC,CAAA;IAC1C,YAAY,CAAC,EAAE,cAAc,CAAC,SAAS,CAAC,CAAA;IACxC,SAAS,CAAC,EAAE,cAAc,CAAC,SAAS,CAAC,CAAA;IACrC,oBAAoB,CAAC,EAAE,cAAc,CAAC,SAAS,CAAC,CAAA;IAChD,SAAS,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAA;IAChC,oBAAoB,CAAC,EAAE,cAAc,CAAC,SAAS,CAAC,CAAA;IAChD,wBAAwB,CAAC,EAAE,cAAc,CAAC,SAAS,CAAC,CAAA;IACpD,aAAa,CAAC,EAAE,SAAS,CAAA;IACzB,eAAe,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAA;IACtC,mBAAmB,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAA;IAC1C,wBAAwB,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAA;IAC/C,gBAAgB,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAA;IACtD,cAAc,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,OAAO,KAAK,IAAI,CAAA;IAC/D,kBAAkB,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,OAAO,KAAK,IAAI,CAAA;IACnE,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,IAAI,CAAA;IACzC,kBAAkB,CAAC,EAAE,CACnB,KAAK,EAAE,uBAAuB,CAAC,QAAQ,CAAC,KACrC,KAAK,CAAC,SAAS,CAAA;IACpB,kBAAkB,CAAC,EAAE,CACnB,KAAK,EAAE,uBAAuB,CAAC,QAAQ,CAAC,KACrC,KAAK,CAAC,SAAS,CAAA;IACpB,kBAAkB,CAAC,EAAE,CACnB,KAAK,EAAE,uBAAuB,CAAC,QAAQ,CAAC,KACrC,KAAK,CAAC,SAAS,CAAA;IACpB,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,sBAAsB,CAAC,QAAQ,CAAC,KAAK,KAAK,CAAC,SAAS,CAAA;IAChF,gBAAgB,CAAC,EAAE,CAAC,WAAW,EAAE,WAAW,CAAC,QAAQ,CAAC,KAAK,KAAK,CAAC,SAAS,CAAA;IAC1E,UAAU,CAAC,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,QAAQ,CAAC,KAAK,KAAK,CAAC,SAAS,CAAA;IAChE,WAAW,CAAC,EAAE,CAAC,cAAc,EAAE,QAAQ,KAAK,KAAK,CAAC,SAAS,CAAA;IAC3D,cAAc,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,KAAK,KAAK,CAAC,SAAS,CAAA;IAC7D,oBAAoB,CAAC,EAAE,MAAM,KAAK,CAAC,SAAS,CAAA;IAC5C,kBAAkB,CAAC,EAAE,CACnB,YAAY,EAAE,iBAAiB,CAAC,QAAQ,CAAC,KACtC,KAAK,CAAC,SAAS,CAAA;IACpB,kCAAkC;IAClC,YAAY,CAAC,EAAE,gBAAgB,CAAC,QAAQ,CAAC,CAAA;IACzC,oCAAoC;IACpC,SAAS,CAAC,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAA;IACpC;;;;;;;;OAQG;IACH,uBAAuB,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,OAAO,EAAE,QAAQ,KAAK,OAAO,CAAC,CAAA;CACrE"}
@@ -0,0 +1,16 @@
1
+ import React from 'react';
2
+ import { KeyboardAvoidingViewProps } from 'react-native-keyboard-controller';
3
+ interface ChatKeyboardAvoidingViewProps {
4
+ children: React.ReactNode;
5
+ /** Consumer overrides, applied last so `keyboardVerticalOffset` can be replaced. */
6
+ keyboardAvoidingViewProps?: KeyboardAvoidingViewProps;
7
+ }
8
+ /**
9
+ * Keeps the input toolbar above the keyboard.
10
+ *
11
+ * Split out of `Chat` so the frame subscription behind `keyboardVerticalOffset` lives
12
+ * in a leaf: only this wrapper re-renders when the chat is re-measured.
13
+ */
14
+ export declare function ChatKeyboardAvoidingView({ children, keyboardAvoidingViewProps, }: ChatKeyboardAvoidingViewProps): React.JSX.Element;
15
+ export {};
16
+ //# sourceMappingURL=ChatKeyboardAvoidingView.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChatKeyboardAvoidingView.d.ts","sourceRoot":"","sources":["../../src/Chat/ChatKeyboardAvoidingView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAwB,yBAAyB,EAAE,MAAM,kCAAkC,CAAA;AAIlG,UAAU,6BAA6B;IACrC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,oFAAoF;IACpF,yBAAyB,CAAC,EAAE,yBAAyB,CAAA;CACtD;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAE,EACxC,QAAQ,EACR,yBAAyB,GAC1B,EAAE,6BAA6B,qBAa/B"}
@@ -0,0 +1,17 @@
1
+ import React from 'react';
2
+ import { KeyboardAvoidingView } from 'react-native-keyboard-controller';
3
+ import { useKeyboardVerticalOffset } from '../hooks/useKeyboardVerticalOffset';
4
+ import stylesCommon from '../styles';
5
+ /**
6
+ * Keeps the input toolbar above the keyboard.
7
+ *
8
+ * Split out of `Chat` so the frame subscription behind `keyboardVerticalOffset` lives
9
+ * in a leaf: only this wrapper re-renders when the chat is re-measured.
10
+ */
11
+ export function ChatKeyboardAvoidingView({ children, keyboardAvoidingViewProps, }) {
12
+ const keyboardVerticalOffset = useKeyboardVerticalOffset();
13
+ return (<KeyboardAvoidingView behavior='translate-with-padding' keyboardVerticalOffset={keyboardVerticalOffset} style={stylesCommon.fill} {...keyboardAvoidingViewProps}>
14
+ {children}
15
+ </KeyboardAvoidingView>);
16
+ }
17
+ //# sourceMappingURL=ChatKeyboardAvoidingView.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChatKeyboardAvoidingView.js","sourceRoot":"","sources":["../../src/Chat/ChatKeyboardAvoidingView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,oBAAoB,EAA6B,MAAM,kCAAkC,CAAA;AAClG,OAAO,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAA;AAC9E,OAAO,YAAY,MAAM,WAAW,CAAA;AAQpC;;;;;GAKG;AACH,MAAM,UAAU,wBAAwB,CAAE,EACxC,QAAQ,EACR,yBAAyB,GACK;IAC9B,MAAM,sBAAsB,GAAG,yBAAyB,EAAE,CAAA;IAE1D,OAAO,CACL,CAAC,oBAAoB,CACnB,QAAQ,CAAC,wBAAwB,CACjC,sBAAsB,CAAC,CAAC,sBAAsB,CAAC,CAC/C,KAAK,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CACzB,IAAI,yBAAyB,CAAC,CAE9B;MAAA,CAAC,QAAQ,CACX;IAAA,EAAE,oBAAoB,CAAC,CACxB,CAAA;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/Chat/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAQN,MAAM,OAAO,CAAA;AAmBd,OAAO,EAAE,QAAQ,EAAgB,MAAM,WAAW,CAAA;AAIlD,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AA2TnC,iBAAS,WAAW,CAAC,QAAQ,SAAS,QAAQ,GAAG,QAAQ,EAAG,KAAK,EAAE,SAAS,CAAC,QAAQ,CAAC,qBA0BrF;kBA1BQ,WAAW;iBA4BE,QAAQ,SAAS,QAAQ,mBAC5B,QAAQ,EAAE,wBACjB,QAAQ,EAAE;kBAWC,QAAQ,SAAS,QAAQ,mBAC7B,QAAQ,EAAE,wBACjB,QAAQ,EAAE;;AAWtB,OAAO,EACL,WAAW,IAAI,IAAI,EACpB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/Chat/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAQN,MAAM,OAAO,CAAA;AAoBd,OAAO,EAAE,QAAQ,EAAgB,MAAM,WAAW,CAAA;AAKlD,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAsTnC,iBAAS,WAAW,CAAC,QAAQ,SAAS,QAAQ,GAAG,QAAQ,EAAG,KAAK,EAAE,SAAS,CAAC,QAAQ,CAAC,qBAkCrF;kBAlCQ,WAAW;iBAoCE,QAAQ,SAAS,QAAQ,mBAC5B,QAAQ,EAAE,wBACjB,QAAQ,EAAE;kBAWC,QAAQ,SAAS,QAAQ,mBAC7B,QAAQ,EAAE,wBACjB,QAAQ,EAAE;;AAWtB,OAAO,EACL,WAAW,IAAI,IAAI,EACpB,CAAA"}