@kesha-antonov/react-native-chat 4.2.0 → 4.3.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 (237) hide show
  1. package/README.md +252 -47
  2. package/lib/Actions.d.ts +5 -5
  3. package/lib/Actions.d.ts.map +1 -1
  4. package/lib/Actions.js +28 -39
  5. package/lib/Actions.js.map +1 -1
  6. package/lib/Avatar.d.ts.map +1 -1
  7. package/lib/Avatar.js +22 -27
  8. package/lib/Avatar.js.map +1 -1
  9. package/lib/Bubble/index.d.ts.map +1 -1
  10. package/lib/Bubble/index.js +86 -25
  11. package/lib/Bubble/index.js.map +1 -1
  12. package/lib/Bubble/styles.d.ts +28 -11
  13. package/lib/Bubble/styles.d.ts.map +1 -1
  14. package/lib/Bubble/styles.js +108 -80
  15. package/lib/Bubble/styles.js.map +1 -1
  16. package/lib/Bubble/types.d.ts +12 -7
  17. package/lib/Bubble/types.d.ts.map +1 -1
  18. package/lib/Chat/ChatKeyboardAvoidingView.d.ts +8 -3
  19. package/lib/Chat/ChatKeyboardAvoidingView.d.ts.map +1 -1
  20. package/lib/Chat/ChatKeyboardAvoidingView.js +3 -5
  21. package/lib/Chat/ChatKeyboardAvoidingView.js.map +1 -1
  22. package/lib/Chat/index.d.ts.map +1 -1
  23. package/lib/Chat/index.js +65 -25
  24. package/lib/Chat/index.js.map +1 -1
  25. package/lib/Chat/types.d.ts +35 -25
  26. package/lib/Chat/types.d.ts.map +1 -1
  27. package/lib/ChatAvatar.d.ts.map +1 -1
  28. package/lib/ChatAvatar.js +11 -17
  29. package/lib/ChatAvatar.js.map +1 -1
  30. package/lib/ChatContext.d.ts +29 -1
  31. package/lib/ChatContext.d.ts.map +1 -1
  32. package/lib/ChatContext.js +3 -0
  33. package/lib/ChatContext.js.map +1 -1
  34. package/lib/Color.d.ts.map +1 -1
  35. package/lib/Color.js +6 -2
  36. package/lib/Color.js.map +1 -1
  37. package/lib/Composer.d.ts +14 -1
  38. package/lib/Composer.d.ts.map +1 -1
  39. package/lib/Composer.js +63 -50
  40. package/lib/Composer.js.map +1 -1
  41. package/lib/Day/index.d.ts.map +1 -1
  42. package/lib/Day/index.js +7 -3
  43. package/lib/Day/index.js.map +1 -1
  44. package/lib/Day/styles.d.ts +6 -7
  45. package/lib/Day/styles.d.ts.map +1 -1
  46. package/lib/Day/styles.js +11 -13
  47. package/lib/Day/styles.js.map +1 -1
  48. package/lib/Icons.d.ts +24 -0
  49. package/lib/Icons.d.ts.map +1 -0
  50. package/lib/Icons.js +2 -0
  51. package/lib/Icons.js.map +1 -0
  52. package/lib/InputToolbar.d.ts +18 -5
  53. package/lib/InputToolbar.d.ts.map +1 -1
  54. package/lib/InputToolbar.js +223 -19
  55. package/lib/InputToolbar.js.map +1 -1
  56. package/lib/LoadEarlierMessages.d.ts.map +1 -1
  57. package/lib/LoadEarlierMessages.js +12 -7
  58. package/lib/LoadEarlierMessages.js.map +1 -1
  59. package/lib/Message/index.d.ts.map +1 -1
  60. package/lib/Message/index.js +10 -9
  61. package/lib/Message/index.js.map +1 -1
  62. package/lib/Message/styles.js +2 -2
  63. package/lib/Message/styles.js.map +1 -1
  64. package/lib/MessageAudio.d.ts +2 -1
  65. package/lib/MessageAudio.d.ts.map +1 -1
  66. package/lib/MessageAudio.js +121 -19
  67. package/lib/MessageAudio.js.map +1 -1
  68. package/lib/MessageLocation.d.ts +9 -0
  69. package/lib/MessageLocation.d.ts.map +1 -0
  70. package/lib/MessageLocation.js +85 -0
  71. package/lib/MessageLocation.js.map +1 -0
  72. package/lib/MessageText.d.ts +12 -1
  73. package/lib/MessageText.d.ts.map +1 -1
  74. package/lib/MessageText.js +38 -11
  75. package/lib/MessageText.js.map +1 -1
  76. package/lib/MessageVideo.d.ts +2 -1
  77. package/lib/MessageVideo.d.ts.map +1 -1
  78. package/lib/MessageVideo.js +156 -18
  79. package/lib/MessageVideo.js.map +1 -1
  80. package/lib/MessagesContainer/components/Item/index.d.ts +2 -1
  81. package/lib/MessagesContainer/components/Item/index.d.ts.map +1 -1
  82. package/lib/MessagesContainer/components/Item/index.js +23 -1
  83. package/lib/MessagesContainer/components/Item/index.js.map +1 -1
  84. package/lib/MessagesContainer/index.d.ts.map +1 -1
  85. package/lib/MessagesContainer/index.js +24 -11
  86. package/lib/MessagesContainer/index.js.map +1 -1
  87. package/lib/MessagesContainer/styles.d.ts +23 -3
  88. package/lib/MessagesContainer/styles.d.ts.map +1 -1
  89. package/lib/MessagesContainer/styles.js +25 -5
  90. package/lib/MessagesContainer/styles.js.map +1 -1
  91. package/lib/Models.d.ts +72 -0
  92. package/lib/Models.d.ts.map +1 -1
  93. package/lib/QuickReplies.d.ts +1 -1
  94. package/lib/QuickReplies.d.ts.map +1 -1
  95. package/lib/QuickReplies.js +13 -7
  96. package/lib/QuickReplies.js.map +1 -1
  97. package/lib/Reactions/MessageReactions.d.ts.map +1 -1
  98. package/lib/Reactions/MessageReactions.js +11 -10
  99. package/lib/Reactions/MessageReactions.js.map +1 -1
  100. package/lib/Reactions/ReactionPicker.d.ts.map +1 -1
  101. package/lib/Reactions/ReactionPicker.js +5 -3
  102. package/lib/Reactions/ReactionPicker.js.map +1 -1
  103. package/lib/Send.d.ts +2 -2
  104. package/lib/Send.d.ts.map +1 -1
  105. package/lib/Send.js +37 -37
  106. package/lib/Send.js.map +1 -1
  107. package/lib/SystemMessage.d.ts.map +1 -1
  108. package/lib/SystemMessage.js +8 -5
  109. package/lib/SystemMessage.js.map +1 -1
  110. package/lib/Theme.d.ts +148 -0
  111. package/lib/Theme.d.ts.map +1 -0
  112. package/lib/Theme.js +142 -0
  113. package/lib/Theme.js.map +1 -0
  114. package/lib/Time.d.ts.map +1 -1
  115. package/lib/Time.js +7 -5
  116. package/lib/Time.js.map +1 -1
  117. package/lib/TypingIndicator/index.d.ts.map +1 -1
  118. package/lib/TypingIndicator/index.js +4 -1
  119. package/lib/TypingIndicator/index.js.map +1 -1
  120. package/lib/TypingIndicator/styles.d.ts +2 -2
  121. package/lib/TypingIndicator/styles.d.ts.map +1 -1
  122. package/lib/TypingIndicator/styles.js +4 -5
  123. package/lib/TypingIndicator/styles.js.map +1 -1
  124. package/lib/components/AttachmentSheet.d.ts +28 -0
  125. package/lib/components/AttachmentSheet.d.ts.map +1 -0
  126. package/lib/components/AttachmentSheet.js +177 -0
  127. package/lib/components/AttachmentSheet.js.map +1 -0
  128. package/lib/components/BasicMarkdown.d.ts +12 -0
  129. package/lib/components/BasicMarkdown.d.ts.map +1 -0
  130. package/lib/components/BasicMarkdown.js +220 -0
  131. package/lib/components/BasicMarkdown.js.map +1 -0
  132. package/lib/components/ContextMenu.d.ts +25 -0
  133. package/lib/components/ContextMenu.d.ts.map +1 -0
  134. package/lib/components/ContextMenu.js +122 -0
  135. package/lib/components/ContextMenu.js.map +1 -0
  136. package/lib/components/Icon.d.ts +17 -0
  137. package/lib/components/Icon.d.ts.map +1 -0
  138. package/lib/components/Icon.js +19 -0
  139. package/lib/components/Icon.js.map +1 -0
  140. package/lib/components/LucideIcon.d.ts +10 -0
  141. package/lib/components/LucideIcon.d.ts.map +1 -0
  142. package/lib/components/LucideIcon.js +118 -0
  143. package/lib/components/LucideIcon.js.map +1 -0
  144. package/lib/components/MarkdownMessageText.d.ts +19 -0
  145. package/lib/components/MarkdownMessageText.d.ts.map +1 -0
  146. package/lib/components/MarkdownMessageText.js +35 -0
  147. package/lib/components/MarkdownMessageText.js.map +1 -0
  148. package/lib/components/MediaCard.d.ts +19 -0
  149. package/lib/components/MediaCard.d.ts.map +1 -0
  150. package/lib/components/MediaCard.js +102 -0
  151. package/lib/components/MediaCard.js.map +1 -0
  152. package/lib/components/MediaControls.d.ts +41 -0
  153. package/lib/components/MediaControls.d.ts.map +1 -0
  154. package/lib/components/MediaControls.js +523 -0
  155. package/lib/components/MediaControls.js.map +1 -0
  156. package/lib/components/MessageReply.d.ts.map +1 -1
  157. package/lib/components/MessageReply.js +11 -9
  158. package/lib/components/MessageReply.js.map +1 -1
  159. package/lib/components/ReplyPreview.d.ts +3 -1
  160. package/lib/components/ReplyPreview.d.ts.map +1 -1
  161. package/lib/components/ReplyPreview.js +36 -36
  162. package/lib/components/ReplyPreview.js.map +1 -1
  163. package/lib/components/SendIcon.d.ts +13 -0
  164. package/lib/components/SendIcon.d.ts.map +1 -0
  165. package/lib/components/SendIcon.js +37 -0
  166. package/lib/components/SendIcon.js.map +1 -0
  167. package/lib/components/Ticks.d.ts +25 -0
  168. package/lib/components/Ticks.d.ts.map +1 -0
  169. package/lib/components/Ticks.js +102 -0
  170. package/lib/components/Ticks.js.map +1 -0
  171. package/lib/components/VideoNoteOverlay.d.ts +25 -0
  172. package/lib/components/VideoNoteOverlay.d.ts.map +1 -0
  173. package/lib/components/VideoNoteOverlay.js +151 -0
  174. package/lib/components/VideoNoteOverlay.js.map +1 -0
  175. package/lib/components/VideoNoteRecorder.d.ts +19 -0
  176. package/lib/components/VideoNoteRecorder.d.ts.map +1 -0
  177. package/lib/components/VideoNoteRecorder.js +634 -0
  178. package/lib/components/VideoNoteRecorder.js.map +1 -0
  179. package/lib/components/VideoRecordButton.d.ts +29 -0
  180. package/lib/components/VideoRecordButton.d.ts.map +1 -0
  181. package/lib/components/VideoRecordButton.js +117 -0
  182. package/lib/components/VideoRecordButton.js.map +1 -0
  183. package/lib/components/VoiceMessageInput.d.ts +33 -0
  184. package/lib/components/VoiceMessageInput.d.ts.map +1 -0
  185. package/lib/components/VoiceMessageInput.js +396 -0
  186. package/lib/components/VoiceMessageInput.js.map +1 -0
  187. package/lib/components/WaveformPlayer.d.ts +19 -0
  188. package/lib/components/WaveformPlayer.d.ts.map +1 -0
  189. package/lib/components/WaveformPlayer.js +367 -0
  190. package/lib/components/WaveformPlayer.js.map +1 -0
  191. package/lib/components/mediaPalette.d.ts +23 -0
  192. package/lib/components/mediaPalette.d.ts.map +1 -0
  193. package/lib/components/mediaPalette.js +16 -0
  194. package/lib/components/mediaPalette.js.map +1 -0
  195. package/lib/components/mediaPlayback.d.ts +22 -0
  196. package/lib/components/mediaPlayback.d.ts.map +1 -0
  197. package/lib/components/mediaPlayback.js +34 -0
  198. package/lib/components/mediaPlayback.js.map +1 -0
  199. package/lib/hooks/useColorScheme.d.ts +9 -2
  200. package/lib/hooks/useColorScheme.d.ts.map +1 -1
  201. package/lib/hooks/useColorScheme.js +9 -3
  202. package/lib/hooks/useColorScheme.js.map +1 -1
  203. package/lib/hooks/useIcons.d.ts +4 -0
  204. package/lib/hooks/useIcons.d.ts.map +1 -0
  205. package/lib/hooks/useIcons.js +8 -0
  206. package/lib/hooks/useIcons.js.map +1 -0
  207. package/lib/hooks/useKeyboardVerticalOffset.d.ts +17 -8
  208. package/lib/hooks/useKeyboardVerticalOffset.d.ts.map +1 -1
  209. package/lib/hooks/useKeyboardVerticalOffset.js +29 -8
  210. package/lib/hooks/useKeyboardVerticalOffset.js.map +1 -1
  211. package/lib/hooks/useLabels.d.ts +4 -0
  212. package/lib/hooks/useLabels.d.ts.map +1 -0
  213. package/lib/hooks/useLabels.js +8 -0
  214. package/lib/hooks/useLabels.js.map +1 -0
  215. package/lib/hooks/useTheme.d.ts +21 -0
  216. package/lib/hooks/useTheme.d.ts.map +1 -0
  217. package/lib/hooks/useTheme.js +32 -0
  218. package/lib/hooks/useTheme.js.map +1 -0
  219. package/lib/i18n.d.ts +59 -0
  220. package/lib/i18n.d.ts.map +1 -0
  221. package/lib/i18n.js +122 -0
  222. package/lib/i18n.js.map +1 -0
  223. package/lib/index.d.ts +17 -0
  224. package/lib/index.d.ts.map +1 -1
  225. package/lib/index.js +17 -0
  226. package/lib/index.js.map +1 -1
  227. package/lib/types.d.ts +2 -1
  228. package/lib/types.d.ts.map +1 -1
  229. package/package.json +99 -44
  230. package/lib/MessageReply.d.ts +0 -15
  231. package/lib/MessageReply.d.ts.map +0 -1
  232. package/lib/MessageReply.js +0 -102
  233. package/lib/MessageReply.js.map +0 -1
  234. package/lib/ReplyPreview.d.ts +0 -14
  235. package/lib/ReplyPreview.d.ts.map +0 -1
  236. package/lib/ReplyPreview.js +0 -94
  237. package/lib/ReplyPreview.js.map +0 -1
@@ -1,82 +1,110 @@
1
1
  import { StyleSheet } from 'react-native';
2
- import { Color } from '../Color';
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
- },
26
- wrapper: {
27
- borderRadius: 15,
28
- minHeight: 20,
29
- maxWidth: '70%',
30
- },
31
- wrapper_left: {
32
- backgroundColor: Color.leftBubbleBackground,
33
- justifyContent: 'flex-end',
34
- },
35
- wrapper_right: {
36
- backgroundColor: Color.defaultBlue,
37
- justifyContent: 'flex-end',
38
- },
39
- bottom: {
40
- flexDirection: 'row',
41
- justifyContent: 'space-between',
42
- alignItems: 'flex-end',
43
- paddingHorizontal: 10,
44
- paddingBottom: 5,
45
- },
46
- containerToNext_left: {
47
- borderBottomLeftRadius: 3,
48
- },
49
- containerToNext_right: {
50
- borderBottomRightRadius: 3,
51
- },
52
- containerToPrevious_left: {
53
- borderTopLeftRadius: 3,
54
- },
55
- containerToPrevious_right: {
56
- borderTopRightRadius: 3,
57
- },
58
- messageTimeAndStatusContainer: {
59
- flexGrow: 1,
60
- flexDirection: 'row',
61
- alignItems: 'center',
62
- justifyContent: 'flex-end',
63
- },
64
- messageStatusContainer: {
65
- flexDirection: 'row',
66
- marginLeft: 5,
67
- },
68
- messageStatus: {
69
- fontSize: 10,
70
- color: Color.white,
71
- },
72
- usernameContainer: {
73
- flexDirection: 'row',
74
- marginRight: 5,
75
- },
76
- username: {
77
- fontSize: 12,
78
- color: '#aaa',
79
- },
80
- });
81
- export default styles;
2
+ export const createBubbleStyles = (theme) => {
3
+ const { colors, radii, spacing, typography } = theme;
4
+ return StyleSheet.create({
5
+ // Fills the message row so the pressable surface reaches the far edge, with
6
+ // the bubble itself pinned to the sender's side.
7
+ container: {
8
+ flex: 1,
9
+ },
10
+ container_left: {
11
+ alignItems: 'flex-start',
12
+ },
13
+ container_right: {
14
+ alignItems: 'flex-end',
15
+ },
16
+ // Full-width band holding the bubble - this is what the reactions gesture is
17
+ // attached to, so the whole row responds and not just the bubble.
18
+ rowSurface: {
19
+ alignSelf: 'stretch',
20
+ },
21
+ rowSurface_left: {
22
+ alignItems: 'flex-start',
23
+ },
24
+ rowSurface_right: {
25
+ alignItems: 'flex-end',
26
+ },
27
+ wrapper: {
28
+ borderRadius: radii.bubble,
29
+ minHeight: 20,
30
+ maxWidth: '70%',
31
+ },
32
+ wrapper_left: {
33
+ backgroundColor: colors.incomingBubble,
34
+ justifyContent: 'flex-end',
35
+ },
36
+ wrapper_right: {
37
+ backgroundColor: colors.outgoingBubble,
38
+ justifyContent: 'flex-end',
39
+ },
40
+ // A round video note floats with no bubble background/chrome (Telegram-style).
41
+ noteWrapper: {
42
+ backgroundColor: 'transparent',
43
+ },
44
+ // With the bubble background gone, the meta row would render white-on-light.
45
+ // Telegram floats it in a translucent dark pill over the circle's lower edge.
46
+ // Positioning shell only. Anchored to the note's bounding-box corner, which
47
+ // on a circle sits just outside the shape - where Telegram puts the
48
+ // timestamp, clear of the duration pill centred on the circle itself.
49
+ noteMetaPill: {
50
+ position: 'absolute',
51
+ bottom: 2,
52
+ right: 0,
53
+ justifyContent: 'flex-end',
54
+ // Overrides `bottom`'s padding, which would otherwise offset the pill.
55
+ paddingHorizontal: 0,
56
+ paddingTop: 0,
57
+ paddingBottom: 0,
58
+ },
59
+ // The meta row grows to fill a bubble; on a note it just hugs. It sits on
60
+ // the chat background beside the duration now, not over the video, so it
61
+ // needs no pill behind it.
62
+ noteMetaInner: {
63
+ flexGrow: 0,
64
+ },
65
+ noteMetaText: {
66
+ color: colors.incomingMeta,
67
+ },
68
+ bottom: {
69
+ flexDirection: 'row',
70
+ alignItems: 'center',
71
+ justifyContent: 'flex-end',
72
+ paddingHorizontal: spacing.bubblePaddingH,
73
+ paddingBottom: spacing.bubblePaddingV,
74
+ },
75
+ // Soften the inner corners of grouped messages instead of squaring them off.
76
+ containerToNext_left: {
77
+ borderBottomLeftRadius: radii.bubbleGrouped,
78
+ },
79
+ containerToNext_right: {
80
+ borderBottomRightRadius: radii.bubbleGrouped,
81
+ },
82
+ containerToPrevious_left: {
83
+ borderTopLeftRadius: radii.bubbleGrouped,
84
+ },
85
+ containerToPrevious_right: {
86
+ borderTopRightRadius: radii.bubbleGrouped,
87
+ },
88
+ messageTimeAndStatusContainer: {
89
+ flexGrow: 1,
90
+ flexDirection: 'row',
91
+ alignItems: 'center',
92
+ justifyContent: 'flex-end',
93
+ gap: 3,
94
+ },
95
+ messageStatusContainer: {
96
+ flexDirection: 'row',
97
+ alignItems: 'center',
98
+ },
99
+ usernameContainer: {
100
+ paddingHorizontal: spacing.bubblePaddingH,
101
+ paddingTop: spacing.bubblePaddingV,
102
+ },
103
+ username: {
104
+ fontSize: typography.senderName.fontSize,
105
+ fontWeight: typography.senderName.fontWeight,
106
+ color: colors.senderName,
107
+ },
108
+ });
109
+ };
82
110
  //# sourceMappingURL=styles.js.map
@@ -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,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"}
1
+ {"version":3,"file":"styles.js","sourceRoot":"","sources":["../../src/Bubble/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAGzC,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,KAAgB,EAAE,EAAE;IACrD,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,KAAK,CAAA;IAEpD,OAAO,UAAU,CAAC,MAAM,CAAC;QACvB,4EAA4E;QAC5E,iDAAiD;QACjD,SAAS,EAAE;YACT,IAAI,EAAE,CAAC;SACR;QACD,cAAc,EAAE;YACd,UAAU,EAAE,YAAY;SACzB;QACD,eAAe,EAAE;YACf,UAAU,EAAE,UAAU;SACvB;QAED,6EAA6E;QAC7E,kEAAkE;QAClE,UAAU,EAAE;YACV,SAAS,EAAE,SAAS;SACrB;QACD,eAAe,EAAE;YACf,UAAU,EAAE,YAAY;SACzB;QACD,gBAAgB,EAAE;YAChB,UAAU,EAAE,UAAU;SACvB;QAED,OAAO,EAAE;YACP,YAAY,EAAE,KAAK,CAAC,MAAM;YAC1B,SAAS,EAAE,EAAE;YACb,QAAQ,EAAE,KAAK;SAChB;QACD,YAAY,EAAE;YACZ,eAAe,EAAE,MAAM,CAAC,cAAc;YACtC,cAAc,EAAE,UAAU;SAC3B;QACD,aAAa,EAAE;YACb,eAAe,EAAE,MAAM,CAAC,cAAc;YACtC,cAAc,EAAE,UAAU;SAC3B;QACD,+EAA+E;QAC/E,WAAW,EAAE;YACX,eAAe,EAAE,aAAa;SAC/B;QAED,6EAA6E;QAC7E,8EAA8E;QAC9E,4EAA4E;QAC5E,oEAAoE;QACpE,sEAAsE;QACtE,YAAY,EAAE;YACZ,QAAQ,EAAE,UAAU;YACpB,MAAM,EAAE,CAAC;YACT,KAAK,EAAE,CAAC;YACR,cAAc,EAAE,UAAU;YAC1B,uEAAuE;YACvE,iBAAiB,EAAE,CAAC;YACpB,UAAU,EAAE,CAAC;YACb,aAAa,EAAE,CAAC;SACjB;QACD,0EAA0E;QAC1E,yEAAyE;QACzE,2BAA2B;QAC3B,aAAa,EAAE;YACb,QAAQ,EAAE,CAAC;SACZ;QACD,YAAY,EAAE;YACZ,KAAK,EAAE,MAAM,CAAC,YAAY;SAC3B;QAED,MAAM,EAAE;YACN,aAAa,EAAE,KAAK;YACpB,UAAU,EAAE,QAAQ;YACpB,cAAc,EAAE,UAAU;YAC1B,iBAAiB,EAAE,OAAO,CAAC,cAAc;YACzC,aAAa,EAAE,OAAO,CAAC,cAAc;SACtC;QAED,6EAA6E;QAC7E,oBAAoB,EAAE;YACpB,sBAAsB,EAAE,KAAK,CAAC,aAAa;SAC5C;QACD,qBAAqB,EAAE;YACrB,uBAAuB,EAAE,KAAK,CAAC,aAAa;SAC7C;QAED,wBAAwB,EAAE;YACxB,mBAAmB,EAAE,KAAK,CAAC,aAAa;SACzC;QACD,yBAAyB,EAAE;YACzB,oBAAoB,EAAE,KAAK,CAAC,aAAa;SAC1C;QAED,6BAA6B,EAAE;YAC7B,QAAQ,EAAE,CAAC;YACX,aAAa,EAAE,KAAK;YACpB,UAAU,EAAE,QAAQ;YACpB,cAAc,EAAE,UAAU;YAC1B,GAAG,EAAE,CAAC;SACP;QAED,sBAAsB,EAAE;YACtB,aAAa,EAAE,KAAK;YACpB,UAAU,EAAE,QAAQ;SACrB;QAED,iBAAiB,EAAE;YACjB,iBAAiB,EAAE,OAAO,CAAC,cAAc;YACzC,UAAU,EAAE,OAAO,CAAC,cAAc;SACnC;QACD,QAAQ,EAAE;YACR,QAAQ,EAAE,UAAU,CAAC,UAAU,CAAC,QAAQ;YACxC,UAAU,EAAE,UAAU,CAAC,UAAU,CAAC,UAAU;YAC5C,KAAK,EAAE,MAAM,CAAC,UAAU;SACzB;KACF,CAAC,CAAA;AACJ,CAAC,CAAA"}
@@ -3,7 +3,7 @@ import { StyleProp, ViewStyle, TextStyle, Pressable } from 'react-native';
3
3
  import { MessageReplyProps } from '../components/MessageReply';
4
4
  import { MessageImageProps } from '../MessageImage';
5
5
  import { MessageTextProps } from '../MessageText';
6
- import { User, IMessage, LeftRightStyle, Reply, ReplyMessage, Omit, MessageVideoProps, MessageAudioProps } from '../Models';
6
+ import { User, IMessage, LeftRightStyle, Reply, ReplyMessage, Omit, MessageVideoProps, MessageAudioProps, MessageLocationProps, MessageMenuItem } from '../Models';
7
7
  import { QuickRepliesProps } from '../QuickReplies';
8
8
  import { ReactionsProps } from '../Reactions';
9
9
  import { MessageReplyStyleProps } from '../Reply';
@@ -11,6 +11,7 @@ import { TimeProps } from '../Time';
11
11
  export type RenderMessageImageProps<TMessage extends IMessage> = Omit<BubbleProps<TMessage>, 'containerStyle' | 'wrapperStyle'> & MessageImageProps<TMessage>;
12
12
  export type RenderMessageVideoProps<TMessage extends IMessage> = Omit<BubbleProps<TMessage>, 'containerStyle' | 'wrapperStyle'> & MessageVideoProps<TMessage>;
13
13
  export type RenderMessageAudioProps<TMessage extends IMessage> = Omit<BubbleProps<TMessage>, 'containerStyle' | 'wrapperStyle'> & MessageAudioProps<TMessage>;
14
+ export type RenderMessageLocationProps<TMessage extends IMessage> = Omit<BubbleProps<TMessage>, 'containerStyle' | 'wrapperStyle'> & MessageLocationProps<TMessage>;
14
15
  export type RenderMessageTextProps<TMessage extends IMessage> = Omit<BubbleProps<TMessage>, 'containerStyle' | 'wrapperStyle'> & MessageTextProps<TMessage>;
15
16
  /** Props for message reply functionality in bubble */
16
17
  export interface BubbleReplyProps<TMessage extends IMessage> extends MessageReplyStyleProps {
@@ -47,6 +48,7 @@ export interface BubbleProps<TMessage extends IMessage> {
47
48
  renderMessageImage?: (props: RenderMessageImageProps<TMessage>) => React.ReactNode;
48
49
  renderMessageVideo?: (props: RenderMessageVideoProps<TMessage>) => React.ReactNode;
49
50
  renderMessageAudio?: (props: RenderMessageAudioProps<TMessage>) => React.ReactNode;
51
+ renderMessageLocation?: (props: RenderMessageLocationProps<TMessage>) => React.ReactNode;
50
52
  renderMessageText?: (props: RenderMessageTextProps<TMessage>) => React.ReactNode;
51
53
  renderCustomView?: (bubbleProps: BubbleProps<TMessage>) => React.ReactNode;
52
54
  renderTime?: (timeProps: TimeProps<TMessage>) => React.ReactNode;
@@ -58,13 +60,16 @@ export interface BubbleProps<TMessage extends IMessage> {
58
60
  messageReply?: BubbleReplyProps<TMessage>;
59
61
  /** Emoji reactions configuration */
60
62
  reactions?: ReactionsProps<TMessage>;
63
+ /** Telegram-style long-press context menu actions (array or per-message function) */
64
+ messageActions?: MessageMenuItem[] | ((message: TMessage) => MessageMenuItem[]);
61
65
  /**
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.
66
+ * Controls whether the bubble attaches its tap / long-press gestures, which
67
+ * `reactions` and `messageActions` rely on. Pass `false` (or a predicate
68
+ * returning `false`) for messages that render natively interactive content -
69
+ * a video player with its own controls, a map, a WebView - whose touches
70
+ * must not compete with the bubble.
71
+ * Note: with gestures off, that message can no longer open the reaction
72
+ * picker or the context menu.
68
73
  * @default true
69
74
  */
70
75
  isMessageGestureEnabled?: boolean | ((message: TMessage) => boolean);
@@ -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":"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"}
@@ -2,15 +2,20 @@ import React from 'react';
2
2
  import { KeyboardAvoidingViewProps } from 'react-native-keyboard-controller';
3
3
  interface ChatKeyboardAvoidingViewProps {
4
4
  children: React.ReactNode;
5
+ /**
6
+ * How far down the window the chat starts, measured by the container above us
7
+ * (see `useKeyboardVerticalOffset`).
8
+ */
9
+ keyboardVerticalOffset: number;
5
10
  /** Consumer overrides, applied last so `keyboardVerticalOffset` can be replaced. */
6
11
  keyboardAvoidingViewProps?: KeyboardAvoidingViewProps;
7
12
  }
8
13
  /**
9
14
  * Keeps the input toolbar above the keyboard.
10
15
  *
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.
16
+ * Split out of `Chat` so the offset can be measured on the container and handed
17
+ * down, keeping the subscription out of the chat's own render path.
13
18
  */
14
- export declare function ChatKeyboardAvoidingView({ children, keyboardAvoidingViewProps, }: ChatKeyboardAvoidingViewProps): React.JSX.Element;
19
+ export declare function ChatKeyboardAvoidingView({ children, keyboardVerticalOffset, keyboardAvoidingViewProps, }: ChatKeyboardAvoidingViewProps): React.JSX.Element;
15
20
  export {};
16
21
  //# sourceMappingURL=ChatKeyboardAvoidingView.d.ts.map
@@ -1 +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"}
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;AAGlG,UAAU,6BAA6B;IACrC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB;;;OAGG;IACH,sBAAsB,EAAE,MAAM,CAAA;IAC9B,oFAAoF;IACpF,yBAAyB,CAAC,EAAE,yBAAyB,CAAA;CACtD;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAE,EACxC,QAAQ,EACR,sBAAsB,EACtB,yBAAyB,GAC1B,EAAE,6BAA6B,qBAW/B"}
@@ -1,15 +1,13 @@
1
1
  import React from 'react';
2
2
  import { KeyboardAvoidingView } from 'react-native-keyboard-controller';
3
- import { useKeyboardVerticalOffset } from '../hooks/useKeyboardVerticalOffset';
4
3
  import stylesCommon from '../styles';
5
4
  /**
6
5
  * Keeps the input toolbar above the keyboard.
7
6
  *
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.
7
+ * Split out of `Chat` so the offset can be measured on the container and handed
8
+ * down, keeping the subscription out of the chat's own render path.
10
9
  */
11
- export function ChatKeyboardAvoidingView({ children, keyboardAvoidingViewProps, }) {
12
- const keyboardVerticalOffset = useKeyboardVerticalOffset();
10
+ export function ChatKeyboardAvoidingView({ children, keyboardVerticalOffset, keyboardAvoidingViewProps, }) {
13
11
  return (<KeyboardAvoidingView behavior='translate-with-padding' keyboardVerticalOffset={keyboardVerticalOffset} style={stylesCommon.fill} {...keyboardAvoidingViewProps}>
14
12
  {children}
15
13
  </KeyboardAvoidingView>);
@@ -1 +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
+ {"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,YAAY,MAAM,WAAW,CAAA;AAapC;;;;;GAKG;AACH,MAAM,UAAU,wBAAwB,CAAE,EACxC,QAAQ,EACR,sBAAsB,EACtB,yBAAyB,GACK;IAC9B,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;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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/Chat/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAON,MAAM,OAAO,CAAA;AAmBd,OAAO,EAAE,QAAQ,EAAgB,MAAM,WAAW,CAAA;AAMlD,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AA4VnC,iBAAS,WAAW,CAAC,QAAQ,SAAS,QAAQ,GAAG,QAAQ,EAAG,KAAK,EAAE,SAAS,CAAC,QAAQ,CAAC,qBAoDrF;kBApDQ,WAAW;iBAsDE,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"}
package/lib/Chat/index.js CHANGED
@@ -1,27 +1,35 @@
1
- import React, { createRef, useEffect, useMemo, useRef, useState, useCallback, } from 'react';
1
+ import React, { createRef, useEffect, useMemo, useState, useCallback, } from 'react';
2
2
  import { View, useColorScheme, } from 'react-native';
3
- import { ActionSheetProvider, } from '@expo/react-native-action-sheet';
4
3
  import dayjs from 'dayjs';
5
4
  import localizedFormat from 'dayjs/plugin/localizedFormat';
6
5
  import { GestureHandlerRootView } from 'react-native-gesture-handler';
7
6
  import { KeyboardProvider } from 'react-native-keyboard-controller';
8
- import { SafeAreaProvider } from 'react-native-safe-area-context';
7
+ import { SafeAreaProvider, initialWindowMetrics } from 'react-native-safe-area-context';
9
8
  import { ChatContext } from '../ChatContext';
10
9
  import { TEST_ID } from '../Constant';
10
+ import { normalizeColorScheme } from '../hooks/useColorScheme';
11
11
  import { useHasKeyboardProvider } from '../hooks/useHasKeyboardProvider';
12
+ import { useKeyboardVerticalOffset } from '../hooks/useKeyboardVerticalOffset';
13
+ import { resolveLabels } from '../i18n';
12
14
  import { InputToolbar } from '../InputToolbar';
13
15
  import { MessagesContainer } from '../MessagesContainer';
14
16
  import stylesCommon from '../styles';
17
+ import { resolveTheme } from '../Theme';
15
18
  import { renderComponentOrElement } from '../utils';
16
19
  import { ChatKeyboardAvoidingView } from './ChatKeyboardAvoidingView';
17
20
  import styles from './styles';
18
21
  dayjs.extend(localizedFormat);
22
+ /** Seed for Chat's own SafeAreaProvider - real frame, but no insets claimed yet. */
23
+ const INITIAL_SAFE_AREA_METRICS = {
24
+ frame: initialWindowMetrics?.frame ?? { x: 0, y: 0, width: 0, height: 0 },
25
+ insets: { top: 0, left: 0, right: 0, bottom: 0 },
26
+ };
19
27
  function Chat(props) {
20
28
  const { messages = [], initialText = '', isTyping,
21
29
  // "random" function from here: https://stackoverflow.com/a/8084248/3452513
22
30
  // we do not use uuid since it would add extra native dependency (https://www.npmjs.com/package/react-native-get-random-values)
23
31
  // lib's user can decide which algorithm to use and pass it as a prop
24
- messageIdGenerator = () => (Math.random() + 1).toString(36).substring(7), user = {}, onSend, locale = 'en', colorScheme: colorSchemeProp, renderLoading, actionSheet, textInputProps, renderChatFooter, renderInputToolbar, isInverted = true,
32
+ messageIdGenerator = () => (Math.random() + 1).toString(36).substring(7), user = {}, onSend, locale = 'en', colorScheme: colorSchemeProp, theme, darkTheme, icons, labels, renderLoading, actionSheet, textInputProps, renderChatFooter, renderInputToolbar, isInverted = true,
25
33
  // Reply props
26
34
  reply, } = props;
27
35
  // Extract reply props for internal use
@@ -32,8 +40,13 @@ function Chat(props) {
32
40
  const replyPreviewContainerStyle = reply?.previewStyle?.containerStyle;
33
41
  const replyPreviewTextStyle = reply?.previewStyle?.textStyle;
34
42
  const systemColorScheme = useColorScheme();
35
- const colorScheme = colorSchemeProp !== undefined ? colorSchemeProp : systemColorScheme;
36
- const actionSheetRef = useRef(null);
43
+ // RN 0.86 can report 'unspecified'; normalize it away before it reaches the theme.
44
+ const colorScheme = normalizeColorScheme(colorSchemeProp !== undefined ? colorSchemeProp : systemColorScheme);
45
+ // Resolve the theme once per change so its identity is stable; this is what
46
+ // makes on-the-fly theme / color-scheme switching propagate to every memoized
47
+ // StyleSheet without rebuilding styles on unrelated renders.
48
+ const resolvedTheme = useMemo(() => resolveTheme(colorScheme, theme, darkTheme), [colorScheme, theme, darkTheme]);
49
+ const resolvedLabels = useMemo(() => resolveLabels(locale, labels), [locale, labels]);
37
50
  const messagesContainerRef = useMemo(() => props.messagesContainerRef || createRef(), [props.messagesContainerRef]);
38
51
  const textInputRef = useMemo(() => props.textInputRef || createRef(), [props.textInputRef]);
39
52
  const [isInitialized, setIsInitialized] = useState(false);
@@ -139,7 +152,14 @@ function Chat(props) {
139
152
  if (props.text === undefined)
140
153
  setText(text);
141
154
  }, [props.text, props.textInputProps]);
155
+ // Measures where the chat starts in the window, which is what the
156
+ // KeyboardAvoidingView needs to keep the toolbar on the keyboard.
157
+ const keyboardOffset = useKeyboardVerticalOffset();
158
+ const measureKeyboardOffset = keyboardOffset.onLayout;
142
159
  const onInitialLayoutViewLayout = useCallback((e) => {
160
+ // Runs on every layout, not just the first: a header appearing or the
161
+ // device rotating moves the chat's top edge.
162
+ measureKeyboardOffset();
143
163
  if (isInitialized)
144
164
  return;
145
165
  const { layout } = e.nativeEvent;
@@ -148,7 +168,7 @@ function Chat(props) {
148
168
  notifyInputTextReset();
149
169
  setIsInitialized(true);
150
170
  setText(getTextFromProp(initialText));
151
- }, [isInitialized, initialText, notifyInputTextReset, getTextFromProp]);
171
+ }, [isInitialized, initialText, notifyInputTextReset, getTextFromProp, measureKeyboardOffset]);
152
172
  const inputToolbarFragment = useMemo(() => {
153
173
  if (!isInitialized)
154
174
  return null;
@@ -188,29 +208,33 @@ function Chat(props) {
188
208
  replyPreviewTextStyle,
189
209
  ]);
190
210
  const contextValues = useMemo(() => ({
211
+ // The built-in UI no longer uses an action sheet; this stays as an
212
+ // escape hatch for consumers who pass their own `actionSheet` (e.g.
213
+ // @expo/react-native-action-sheet). Defaults to a no-op.
191
214
  actionSheet: actionSheet ||
192
215
  (() => ({
193
- showActionSheetWithOptions: actionSheetRef.current.showActionSheetWithOptions,
216
+ showActionSheetWithOptions: () => { },
194
217
  })),
195
218
  getLocale: () => locale,
196
219
  getColorScheme: () => colorScheme,
197
- }), [actionSheet, locale, colorScheme]);
220
+ getTheme: () => resolvedTheme,
221
+ getIcons: () => icons,
222
+ getLabels: () => resolvedLabels,
223
+ }), [actionSheet, locale, colorScheme, resolvedTheme, icons, resolvedLabels]);
198
224
  useEffect(() => {
199
225
  if (props.text != null)
200
226
  setText(props.text);
201
227
  }, [props.text]);
202
228
  return (<ChatContext.Provider value={contextValues}>
203
- <ActionSheetProvider ref={actionSheetRef}>
204
- <View testID={TEST_ID.WRAPPER} style={[stylesCommon.fill, styles.contentContainer]} onLayout={onInitialLayoutViewLayout}>
205
- <ChatKeyboardAvoidingView keyboardAvoidingViewProps={props.keyboardAvoidingViewProps}>
206
- <View style={[stylesCommon.fill, !isInitialized && styles.hidden]}>
207
- {renderMessages}
208
- {inputToolbarFragment}
209
- </View>
210
- {!isInitialized && renderComponentOrElement(renderLoading, {})}
211
- </ChatKeyboardAvoidingView>
212
- </View>
213
- </ActionSheetProvider>
229
+ <View testID={TEST_ID.WRAPPER} ref={keyboardOffset.ref} style={[stylesCommon.fill, styles.contentContainer]} onLayout={onInitialLayoutViewLayout}>
230
+ <ChatKeyboardAvoidingView keyboardVerticalOffset={keyboardOffset.keyboardVerticalOffset} keyboardAvoidingViewProps={props.keyboardAvoidingViewProps}>
231
+ <View style={[stylesCommon.fill, !isInitialized && styles.hidden]}>
232
+ {renderMessages}
233
+ {inputToolbarFragment}
234
+ </View>
235
+ {!isInitialized && renderComponentOrElement(renderLoading, {})}
236
+ </ChatKeyboardAvoidingView>
237
+ </View>
214
238
  </ChatContext.Provider>);
215
239
  }
216
240
  function ChatWrapper(props) {
@@ -219,9 +243,8 @@ function ChatWrapper(props) {
219
243
  // breaks keyboard handling on Android, so we only provide one when the app has none.
220
244
  const hasKeyboardProvider = useHasKeyboardProvider();
221
245
  const chat = <Chat {...rest}/>;
222
- return (<GestureHandlerRootView style={styles.fill}>
223
- <SafeAreaProvider>
224
- {disableKeyboardProvider || hasKeyboardProvider
246
+ const withKeyboardProvider = (<>
247
+ {disableKeyboardProvider || hasKeyboardProvider
225
248
  ? chat
226
249
  : (
227
250
  // No `statusBarTranslucent` / `navigationBarTranslucent` here on purpose.
@@ -233,8 +256,25 @@ function ChatWrapper(props) {
233
256
  // the app really is edge-to-edge, so forcing them only ever mismatches a
234
257
  // window that is not. Override via `keyboardProviderProps` if needed.
235
258
  <KeyboardProvider {...keyboardProviderProps}>
236
- {chat}
237
- </KeyboardProvider>)}
259
+ {chat}
260
+ </KeyboardProvider>)}
261
+ </>);
262
+ return (<GestureHandlerRootView style={styles.fill}>
263
+ {/*
264
+ Chat measures its *own* insets rather than reusing the app's. Reusing them
265
+ double-pads: a navigator has usually already inset the screen, so the
266
+ window's bottom inset is consumed before the chat even renders.
267
+
268
+ The provider is seeded with zero insets on purpose. Without `initialMetrics`
269
+ react-native-safe-area-context seeds a nested provider from its parent, so
270
+ the first frame used the window's insets and the second the measured ones -
271
+ bottom 34 -> 0 on an iPhone, which is the jump you see on every mount.
272
+ Seeding zero matches what a chat inside a navigator settles on, so nothing
273
+ moves; a genuinely full-screen chat grows into its inset on the next frame
274
+ instead of collapsing out of one.
275
+ */}
276
+ <SafeAreaProvider initialMetrics={INITIAL_SAFE_AREA_METRICS}>
277
+ {withKeyboardProvider}
238
278
  </SafeAreaProvider>
239
279
  </GestureHandlerRootView>);
240
280
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/Chat/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EACZ,SAAS,EACT,SAAS,EACT,OAAO,EACP,MAAM,EACN,QAAQ,EACR,WAAW,GAEZ,MAAM,OAAO,CAAA;AACd,OAAO,EACL,IAAI,EAEJ,cAAc,GACf,MAAM,cAAc,CAAA;AACrB,OAAO,EACL,mBAAmB,GAEpB,MAAM,iCAAiC,CAAA;AACxC,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,eAAe,MAAM,8BAA8B,CAAA;AAC1D,OAAO,EAAE,sBAAsB,EAAa,MAAM,8BAA8B,CAAA;AAChF,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAA;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AACrC,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAA;AACxE,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAC9C,OAAO,EAAE,iBAAiB,EAAgB,MAAM,sBAAsB,CAAA;AAEtE,OAAO,YAAY,MAAM,WAAW,CAAA;AACpC,OAAO,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAA;AACnD,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAA;AACrE,OAAO,MAAM,MAAM,UAAU,CAAA;AAG7B,KAAK,CAAC,MAAM,CAAC,eAAe,CAAC,CAAA;AAE7B,SAAS,IAAI,CACX,KAA0B;IAE1B,MAAM,EACJ,QAAQ,GAAG,EAAE,EACb,WAAW,GAAG,EAAE,EAChB,QAAQ;IAER,2EAA2E;IAC3E,+HAA+H;IAC/H,qEAAqE;IACrE,kBAAkB,GAAG,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAExE,IAAI,GAAG,EAAE,EACT,MAAM,EACN,MAAM,GAAG,IAAI,EACb,WAAW,EAAE,eAAe,EAC5B,aAAa,EACb,WAAW,EACX,cAAc,EACd,gBAAgB,EAChB,kBAAkB,EAClB,UAAU,GAAG,IAAI;IAEjB,cAAc;IACd,KAAK,GACN,GAAG,KAAK,CAAA;IAET,uCAAuC;IACvC,MAAM,gBAAgB,GAAG,KAAK,EAAE,OAAO,CAAA;IACvC,MAAM,YAAY,GAAG,KAAK,EAAE,OAAO,CAAA;IACnC,MAAM,cAAc,GAAG,KAAK,EAAE,KAAK,EAAE,OAAO,CAAA;IAC5C,MAAM,kBAAkB,GAAG,KAAK,EAAE,aAAa,CAAA;IAC/C,MAAM,0BAA0B,GAAG,KAAK,EAAE,YAAY,EAAE,cAAc,CAAA;IACtE,MAAM,qBAAqB,GAAG,KAAK,EAAE,YAAY,EAAE,SAAS,CAAA;IAE5D,MAAM,iBAAiB,GAAG,cAAc,EAAE,CAAA;IAC1C,MAAM,WAAW,GAAG,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,iBAAiB,CAAA;IAEvF,MAAM,cAAc,GAAG,MAAM,CAAyB,IAAI,CAAC,CAAA;IAE3D,MAAM,oBAAoB,GAAG,OAAO,CAClC,GAAG,EAAE,CAAC,KAAK,CAAC,oBAAoB,IAAI,SAAS,EAA0B,EACvE,CAAC,KAAK,CAAC,oBAAoB,CAAC,CACQ,CAAA;IAEtC,MAAM,YAAY,GAAG,OAAO,CAC1B,GAAG,EAAE,CAAC,KAAK,CAAC,YAAY,IAAI,SAAS,EAAa,EAClD,CAAC,KAAK,CAAC,YAAY,CAAC,CACrB,CAAA;IAED,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAU,KAAK,CAAC,CAAA;IAClE,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAqB,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,CAAA;IAC5E,MAAM,CAAC,oBAAoB,EAAE,uBAAuB,CAAC,GAAG,QAAQ,CAAsB,IAAI,CAAC,CAAA;IAE3F,6CAA6C;IAC7C,MAAM,YAAY,GAAG,gBAAgB,KAAK,SAAS,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,oBAAoB,CAAA;IAE7F,MAAM,eAAe,GAAG,WAAW,CACjC,CAAC,QAAgB,EAAE,EAAE;QACnB,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS;YAC1B,OAAO,QAAQ,CAAA;QAEjB,OAAO,KAAK,CAAC,IAAI,CAAA;IACnB,CAAC,EACD,CAAC,KAAK,CAAC,IAAI,CAAC,CACb,CAAA;IAED,MAAM,cAAc,GAAG,WAAW,CAChC,CAAC,UAAU,GAAG,IAAI,EAAE,EAAE;QACpB,IAAI,CAAC,oBAAoB,EAAE,OAAO;YAChC,OAAM;QAER,IAAI,UAAU,EAAE,CAAC;YACf,oBAAoB,CAAC,OAAO,CAAC,cAAc,CAAC;gBAC1C,MAAM,EAAE,CAAC;gBACT,QAAQ,EAAE,UAAU;aACrB,CAAC,CAAA;YACF,OAAM;QACR,CAAC;QAED,oBAAoB,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,CAAA;IACpE,CAAC,EACD,CAAC,UAAU,EAAE,oBAAoB,CAAC,CACnC,CAAA;IAED,MAAM,kBAAkB,GAAG,WAAW,CACpC,CAAC,OAAiB,EAAE,EAAE;QACpB,IAAI,gBAAgB,KAAK,SAAS;YAChC,6CAA6C;YAC7C,uBAAuB,CAAC;gBACtB,GAAG,EAAE,OAAO,CAAC,GAAG;gBAChB,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,KAAK,EAAE,OAAO,CAAC,KAAK;aACrB,CAAC,CAAA;QAEJ,cAAc,EAAE,CAAC,OAAO,CAAC,CAAA;IAC3B,CAAC,EACD,CAAC,gBAAgB,EAAE,cAAc,CAAC,CACnC,CAAA;IAED,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,EAAE;QAClC,IAAI,gBAAgB,KAAK,SAAS;YAChC,6CAA6C;YAC7C,uBAAuB,CAAC,IAAI,CAAC,CAAA;QAE/B,YAAY,EAAE,EAAE,CAAA;IAClB,CAAC,EAAE,CAAC,gBAAgB,EAAE,YAAY,CAAC,CAAC,CAAA;IAEpC,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,EAAE;QAClC,IAAI,CAAC,aAAa;YAChB,OAAO,IAAI,CAAA;QAEb,MAAM,EAAE,sBAAsB,EAAE,GAAG,sBAAsB,EAAE,GAAG,KAAK,CAAA;QAEnE,OAAO,CACL,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,EAAE,sBAAsB,CAAC,CAAC,CACvD;QAAA,CAAC,iBAAiB,CAChB,IAAI,sBAAsB,CAAC,CAC3B,UAAU,CAAC,CAAC,UAAU,CAAC,CACvB,QAAQ,CAAC,CAAC,QAAQ,CAAC,CACnB,UAAU,CAAC,CAAC,oBAAoB,CAAC,CACjC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CACnB,KAAK,CAAC,CAAC;gBACL,GAAG,KAAK;gBACR,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;oBACpB,GAAG,KAAK,CAAC,KAAK;oBACd,OAAO,EAAE,kBAAkB;iBAC5B,CAAC,CAAC,CAAC,SAAS;aACd,CAAC,EAEJ;QAAA,CAAC,wBAAwB,CAAC,gBAAgB,EAAE,EAAE,CAAC,CACjD;MAAA,EAAE,IAAI,CAAC,CACR,CAAA;IACH,CAAC,EAAE;QACD,aAAa;QACb,QAAQ;QACR,QAAQ;QACR,KAAK;QACL,UAAU;QACV,oBAAoB;QACpB,gBAAgB;QAChB,KAAK;QACL,kBAAkB;KACnB,CAAC,CAAA;IAEF,MAAM,oBAAoB,GAAG,WAAW,CAAC,GAAG,EAAE;QAC5C,KAAK,CAAC,cAAc,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC,CAAA;IAC1C,CAAC,EAAE,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAA;IAE1B,MAAM,iBAAiB,GAAG,WAAW,CAAC,GAAG,EAAE;QACzC,YAAY,CAAC,OAAO,EAAE,KAAK,EAAE,CAAA;QAE7B,oBAAoB,EAAE,CAAA;QAEtB,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,CAAA;IAC9B,CAAC,EAAE;QACD,eAAe;QACf,YAAY;QACZ,oBAAoB;KACrB,CAAC,CAAA;IAEF,MAAM,OAAO,GAAG,WAAW,CACzB,CAAC,WAAuB,EAAE,EAAE,uBAAuB,GAAG,KAAK,EAAE,EAAE;QAC7D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;YAC1B,QAAQ,GAAG,CAAC,QAAQ,CAAC,CAAA;QAEvB,MAAM,WAAW,GAAe,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;YACrD,OAAO;gBACL,GAAG,OAAO;gBACV,IAAI,EAAE,IAAK;gBACX,SAAS,EAAE,IAAI,IAAI,EAAE;gBACrB,GAAG,EAAE,kBAAkB,EAAE,EAAE;gBAC3B,iCAAiC;gBACjC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC1C,CAAA;QACH,CAAC,CAAC,CAAA;QAEF,IAAI,uBAAuB,KAAK,IAAI;YAClC,iBAAiB,EAAE,CAAA;QAErB,4BAA4B;QAC5B,UAAU,EAAE,CAAA;QAEZ,MAAM,EAAE,CAAC,WAAW,CAAC,CAAA;QAErB,UAAU,CAAC,GAAG,EAAE,CAAC,cAAc,EAAE,EAAE,EAAE,CAAC,CAAA;IACxC,CAAC,EACD,CAAC,kBAAkB,EAAE,MAAM,EAAE,IAAI,EAAE,iBAAiB,EAAE,cAAc,EAAE,YAAY,EAAE,UAAU,CAAC,CAChG,CAAA;IAED,MAAM,aAAa,GAAG,WAAW,CAC/B,CAAC,IAAY,EAAE,EAAE;QACf,KAAK,CAAC,cAAc,EAAE,YAAY,EAAE,CAAC,IAAI,CAAC,CAAA;QAE1C,yDAAyD;QACzD,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS;YAC1B,OAAO,CAAC,IAAI,CAAC,CAAA;IACjB,CAAC,EACD,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,cAAc,CAAC,CACnC,CAAA;IAED,MAAM,yBAAyB,GAAG,WAAW,CAC3C,CAAC,CAAoB,EAAE,EAAE;QACvB,IAAI,aAAa;YACf,OAAM;QAER,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC,WAAW,CAAA;QAEhC,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC;YACpB,OAAM;QAER,oBAAoB,EAAE,CAAA;QAEtB,gBAAgB,CAAC,IAAI,CAAC,CAAA;QACtB,OAAO,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC,CAAA;IACvC,CAAC,EACD,CAAC,aAAa,EAAE,WAAW,EAAE,oBAAoB,EAAE,eAAe,CAAC,CACpE,CAAA;IAED,MAAM,oBAAoB,GAAG,OAAO,CAAC,GAAG,EAAE;QACxC,IAAI,CAAC,aAAa;YAChB,OAAO,IAAI,CAAA;QAEb,MAAM,iBAAiB,GAAG;YACxB,GAAG,KAAK;YACR,IAAI,EAAE,eAAe,CAAC,IAAK,CAAC;YAC5B,MAAM,EAAE,OAAO;YACf,cAAc,EAAE;gBACd,GAAG,cAAc;gBACjB,YAAY,EAAE,aAAa;gBAC3B,GAAG,EAAE,YAAY;aAClB;YACD,sBAAsB;YACtB,YAAY;YACZ,YAAY,EAAE,UAAU;YACxB,kBAAkB;YAClB,0BAA0B;YAC1B,qBAAqB;SACtB,CAAA;QAED,IAAI,kBAAkB;YACpB,OAAO,wBAAwB,CAAC,kBAAkB,EAAE,iBAAiB,CAAC,CAAA;QAExE,OAAO,CAAC,YAAY,CAAC,IAAI,iBAAiB,CAAC,EAAG,CAAA;IAChD,CAAC,EAAE;QACD,aAAa;QACb,OAAO;QACP,eAAe;QACf,KAAK;QACL,IAAI;QACJ,kBAAkB;QAClB,YAAY;QACZ,cAAc;QACd,aAAa;QACb,YAAY;QACZ,UAAU;QACV,kBAAkB;QAClB,0BAA0B;QAC1B,qBAAqB;KACtB,CAAC,CAAA;IAEF,MAAM,aAAa,GAAG,OAAO,CAC3B,GAAG,EAAE,CAAC,CAAC;QACL,WAAW,EACT,WAAW;YACX,CAAC,GAAG,EAAE,CAAC,CAAC;gBACN,0BAA0B,EACxB,cAAc,CAAC,OAAQ,CAAC,0BAA0B;aACrD,CAAC,CAAC;QACL,SAAS,EAAE,GAAG,EAAE,CAAC,MAAM;QACvB,cAAc,EAAE,GAAG,EAAE,CAAC,WAAW;KAClC,CAAC,EACF,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,CAAC,CACnC,CAAA;IAED,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI;YACpB,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IACvB,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAA;IAEhB,OAAO,CACL,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,CACzC;MAAA,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,cAAc,CAAC,CACvC;QAAA,CAAC,IAAI,CACH,MAAM,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CACxB,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,gBAAgB,CAAC,CAAC,CACpD,QAAQ,CAAC,CAAC,yBAAyB,CAAC,CAEpC;UAAA,CAAC,wBAAwB,CACvB,yBAAyB,CAAC,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAE3D;YAAA,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,aAAa,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,CAChE;cAAA,CAAC,cAAc,CACf;cAAA,CAAC,oBAAoB,CACvB;YAAA,EAAE,IAAI,CACN;YAAA,CAAC,CAAC,aAAa,IAAI,wBAAwB,CAAC,aAAa,EAAE,EAAE,CAAC,CAChE;UAAA,EAAE,wBAAwB,CAC5B;QAAA,EAAE,IAAI,CACR;MAAA,EAAE,mBAAmB,CACvB;IAAA,EAAE,WAAW,CAAC,QAAQ,CAAC,CACxB,CAAA;AACH,CAAC;AAED,SAAS,WAAW,CAAwC,KAA0B;IACpF,MAAM,EACJ,qBAAqB,EACrB,uBAAuB,GAAG,KAAK,EAC/B,GAAG,IAAI,EACR,GAAG,KAAK,CAAA;IAET,qFAAqF;IACrF,qFAAqF;IACrF,MAAM,mBAAmB,GAAG,sBAAsB,EAAE,CAAA;IAEpD,MAAM,IAAI,GAAG,CAAC,IAAI,CAAW,IAAI,IAAI,CAAC,EAAG,CAAA;IAEzC,OAAO,CACL,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CACzC;MAAA,CAAC,gBAAgB,CACf;QAAA,CAAC,uBAAuB,IAAI,mBAAmB;YAC7C,CAAC,CAAC,IAAI;YACN,CAAC,CAAC;YACA,0EAA0E;YAC1E,2EAA2E;YAC3E,uEAAuE;YACvE,0EAA0E;YAC1E,uEAAuE;YACvE,yEAAyE;YACzE,yEAAyE;YACzE,sEAAsE;YACtE,CAAC,gBAAgB,CAAC,IAAI,qBAAqB,CAAC,CAC1C;cAAA,CAAC,IAAI,CACP;YAAA,EAAE,gBAAgB,CAAC,CACpB,CACL;MAAA,EAAE,gBAAgB,CACpB;IAAA,EAAE,sBAAsB,CAAC,CAC1B,CAAA;AACH,CAAC;AAED,WAAW,CAAC,MAAM,GAAG,CACnB,kBAA8B,EAAE,EAChC,QAAoB,EACpB,UAAU,GAAG,IAAI,EACjB,EAAE;IACF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;QAC1B,QAAQ,GAAG,CAAC,QAAQ,CAAC,CAAA;IAEvB,OAAO,UAAU;QACf,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,eAAe,CAAC;QAClC,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;AACtC,CAAC,CAAA;AAED,WAAW,CAAC,OAAO,GAAG,CACpB,kBAA8B,EAAE,EAChC,QAAoB,EACpB,UAAU,GAAG,IAAI,EACjB,EAAE;IACF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;QAC1B,QAAQ,GAAG,CAAC,QAAQ,CAAC,CAAA;IAEvB,OAAO,UAAU;QACf,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC;QAClC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,eAAe,CAAC,CAAA;AACtC,CAAC,CAAA;AAED,OAAO,EACL,WAAW,IAAI,IAAI,EACpB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/Chat/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EACZ,SAAS,EACT,SAAS,EACT,OAAO,EACP,QAAQ,EACR,WAAW,GAEZ,MAAM,OAAO,CAAA;AACd,OAAO,EACL,IAAI,EAEJ,cAAc,GACf,MAAM,cAAc,CAAA;AACrB,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,eAAe,MAAM,8BAA8B,CAAA;AAC1D,OAAO,EAAE,sBAAsB,EAAa,MAAM,8BAA8B,CAAA;AAChF,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAA;AACnE,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAA;AACvF,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AACrC,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AAC9D,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAA;AACxE,OAAO,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAA;AAC9E,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAC9C,OAAO,EAAE,iBAAiB,EAAgB,MAAM,sBAAsB,CAAA;AAEtE,OAAO,YAAY,MAAM,WAAW,CAAA;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AACvC,OAAO,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAA;AACnD,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAA;AACrE,OAAO,MAAM,MAAM,UAAU,CAAA;AAG7B,KAAK,CAAC,MAAM,CAAC,eAAe,CAAC,CAAA;AAE7B,oFAAoF;AACpF,MAAM,yBAAyB,GAAG;IAChC,KAAK,EAAE,oBAAoB,EAAE,KAAK,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE;IACzE,MAAM,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE;CACjD,CAAA;AAED,SAAS,IAAI,CACX,KAA0B;IAE1B,MAAM,EACJ,QAAQ,GAAG,EAAE,EACb,WAAW,GAAG,EAAE,EAChB,QAAQ;IAER,2EAA2E;IAC3E,+HAA+H;IAC/H,qEAAqE;IACrE,kBAAkB,GAAG,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAExE,IAAI,GAAG,EAAE,EACT,MAAM,EACN,MAAM,GAAG,IAAI,EACb,WAAW,EAAE,eAAe,EAC5B,KAAK,EACL,SAAS,EACT,KAAK,EACL,MAAM,EACN,aAAa,EACb,WAAW,EACX,cAAc,EACd,gBAAgB,EAChB,kBAAkB,EAClB,UAAU,GAAG,IAAI;IAEjB,cAAc;IACd,KAAK,GACN,GAAG,KAAK,CAAA;IAET,uCAAuC;IACvC,MAAM,gBAAgB,GAAG,KAAK,EAAE,OAAO,CAAA;IACvC,MAAM,YAAY,GAAG,KAAK,EAAE,OAAO,CAAA;IACnC,MAAM,cAAc,GAAG,KAAK,EAAE,KAAK,EAAE,OAAO,CAAA;IAC5C,MAAM,kBAAkB,GAAG,KAAK,EAAE,aAAa,CAAA;IAC/C,MAAM,0BAA0B,GAAG,KAAK,EAAE,YAAY,EAAE,cAAc,CAAA;IACtE,MAAM,qBAAqB,GAAG,KAAK,EAAE,YAAY,EAAE,SAAS,CAAA;IAE5D,MAAM,iBAAiB,GAAG,cAAc,EAAE,CAAA;IAC1C,mFAAmF;IACnF,MAAM,WAAW,GAAG,oBAAoB,CACtC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,iBAAiB,CACpE,CAAA;IAED,4EAA4E;IAC5E,8EAA8E;IAC9E,6DAA6D;IAC7D,MAAM,aAAa,GAAG,OAAO,CAC3B,GAAG,EAAE,CAAC,YAAY,CAAC,WAAW,EAAE,KAAK,EAAE,SAAS,CAAC,EACjD,CAAC,WAAW,EAAE,KAAK,EAAE,SAAS,CAAC,CAChC,CAAA;IAED,MAAM,cAAc,GAAG,OAAO,CAC5B,GAAG,EAAE,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,EACnC,CAAC,MAAM,EAAE,MAAM,CAAC,CACjB,CAAA;IAED,MAAM,oBAAoB,GAAG,OAAO,CAClC,GAAG,EAAE,CAAC,KAAK,CAAC,oBAAoB,IAAI,SAAS,EAA0B,EACvE,CAAC,KAAK,CAAC,oBAAoB,CAAC,CACQ,CAAA;IAEtC,MAAM,YAAY,GAAG,OAAO,CAC1B,GAAG,EAAE,CAAC,KAAK,CAAC,YAAY,IAAI,SAAS,EAAa,EAClD,CAAC,KAAK,CAAC,YAAY,CAAC,CACrB,CAAA;IAED,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAU,KAAK,CAAC,CAAA;IAClE,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAqB,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,CAAA;IAC5E,MAAM,CAAC,oBAAoB,EAAE,uBAAuB,CAAC,GAAG,QAAQ,CAAsB,IAAI,CAAC,CAAA;IAE3F,6CAA6C;IAC7C,MAAM,YAAY,GAAG,gBAAgB,KAAK,SAAS,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,oBAAoB,CAAA;IAE7F,MAAM,eAAe,GAAG,WAAW,CACjC,CAAC,QAAgB,EAAE,EAAE;QACnB,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS;YAC1B,OAAO,QAAQ,CAAA;QAEjB,OAAO,KAAK,CAAC,IAAI,CAAA;IACnB,CAAC,EACD,CAAC,KAAK,CAAC,IAAI,CAAC,CACb,CAAA;IAED,MAAM,cAAc,GAAG,WAAW,CAChC,CAAC,UAAU,GAAG,IAAI,EAAE,EAAE;QACpB,IAAI,CAAC,oBAAoB,EAAE,OAAO;YAChC,OAAM;QAER,IAAI,UAAU,EAAE,CAAC;YACf,oBAAoB,CAAC,OAAO,CAAC,cAAc,CAAC;gBAC1C,MAAM,EAAE,CAAC;gBACT,QAAQ,EAAE,UAAU;aACrB,CAAC,CAAA;YACF,OAAM;QACR,CAAC;QAED,oBAAoB,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,CAAA;IACpE,CAAC,EACD,CAAC,UAAU,EAAE,oBAAoB,CAAC,CACnC,CAAA;IAED,MAAM,kBAAkB,GAAG,WAAW,CACpC,CAAC,OAAiB,EAAE,EAAE;QACpB,IAAI,gBAAgB,KAAK,SAAS;YAChC,6CAA6C;YAC7C,uBAAuB,CAAC;gBACtB,GAAG,EAAE,OAAO,CAAC,GAAG;gBAChB,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,KAAK,EAAE,OAAO,CAAC,KAAK;aACrB,CAAC,CAAA;QAEJ,cAAc,EAAE,CAAC,OAAO,CAAC,CAAA;IAC3B,CAAC,EACD,CAAC,gBAAgB,EAAE,cAAc,CAAC,CACnC,CAAA;IAED,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,EAAE;QAClC,IAAI,gBAAgB,KAAK,SAAS;YAChC,6CAA6C;YAC7C,uBAAuB,CAAC,IAAI,CAAC,CAAA;QAE/B,YAAY,EAAE,EAAE,CAAA;IAClB,CAAC,EAAE,CAAC,gBAAgB,EAAE,YAAY,CAAC,CAAC,CAAA;IAEpC,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,EAAE;QAClC,IAAI,CAAC,aAAa;YAChB,OAAO,IAAI,CAAA;QAEb,MAAM,EAAE,sBAAsB,EAAE,GAAG,sBAAsB,EAAE,GAAG,KAAK,CAAA;QAEnE,OAAO,CACL,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,EAAE,sBAAsB,CAAC,CAAC,CACvD;QAAA,CAAC,iBAAiB,CAChB,IAAI,sBAAsB,CAAC,CAC3B,UAAU,CAAC,CAAC,UAAU,CAAC,CACvB,QAAQ,CAAC,CAAC,QAAQ,CAAC,CACnB,UAAU,CAAC,CAAC,oBAAoB,CAAC,CACjC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CACnB,KAAK,CAAC,CAAC;gBACL,GAAG,KAAK;gBACR,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;oBACpB,GAAG,KAAK,CAAC,KAAK;oBACd,OAAO,EAAE,kBAAkB;iBAC5B,CAAC,CAAC,CAAC,SAAS;aACd,CAAC,EAEJ;QAAA,CAAC,wBAAwB,CAAC,gBAAgB,EAAE,EAAE,CAAC,CACjD;MAAA,EAAE,IAAI,CAAC,CACR,CAAA;IACH,CAAC,EAAE;QACD,aAAa;QACb,QAAQ;QACR,QAAQ;QACR,KAAK;QACL,UAAU;QACV,oBAAoB;QACpB,gBAAgB;QAChB,KAAK;QACL,kBAAkB;KACnB,CAAC,CAAA;IAEF,MAAM,oBAAoB,GAAG,WAAW,CAAC,GAAG,EAAE;QAC5C,KAAK,CAAC,cAAc,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC,CAAA;IAC1C,CAAC,EAAE,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAA;IAE1B,MAAM,iBAAiB,GAAG,WAAW,CAAC,GAAG,EAAE;QACzC,YAAY,CAAC,OAAO,EAAE,KAAK,EAAE,CAAA;QAE7B,oBAAoB,EAAE,CAAA;QAEtB,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,CAAA;IAC9B,CAAC,EAAE;QACD,eAAe;QACf,YAAY;QACZ,oBAAoB;KACrB,CAAC,CAAA;IAEF,MAAM,OAAO,GAAG,WAAW,CACzB,CAAC,WAAuB,EAAE,EAAE,uBAAuB,GAAG,KAAK,EAAE,EAAE;QAC7D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;YAC1B,QAAQ,GAAG,CAAC,QAAQ,CAAC,CAAA;QAEvB,MAAM,WAAW,GAAe,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;YACrD,OAAO;gBACL,GAAG,OAAO;gBACV,IAAI,EAAE,IAAK;gBACX,SAAS,EAAE,IAAI,IAAI,EAAE;gBACrB,GAAG,EAAE,kBAAkB,EAAE,EAAE;gBAC3B,iCAAiC;gBACjC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC1C,CAAA;QACH,CAAC,CAAC,CAAA;QAEF,IAAI,uBAAuB,KAAK,IAAI;YAClC,iBAAiB,EAAE,CAAA;QAErB,4BAA4B;QAC5B,UAAU,EAAE,CAAA;QAEZ,MAAM,EAAE,CAAC,WAAW,CAAC,CAAA;QAErB,UAAU,CAAC,GAAG,EAAE,CAAC,cAAc,EAAE,EAAE,EAAE,CAAC,CAAA;IACxC,CAAC,EACD,CAAC,kBAAkB,EAAE,MAAM,EAAE,IAAI,EAAE,iBAAiB,EAAE,cAAc,EAAE,YAAY,EAAE,UAAU,CAAC,CAChG,CAAA;IAED,MAAM,aAAa,GAAG,WAAW,CAC/B,CAAC,IAAY,EAAE,EAAE;QACf,KAAK,CAAC,cAAc,EAAE,YAAY,EAAE,CAAC,IAAI,CAAC,CAAA;QAE1C,yDAAyD;QACzD,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS;YAC1B,OAAO,CAAC,IAAI,CAAC,CAAA;IACjB,CAAC,EACD,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,cAAc,CAAC,CACnC,CAAA;IAED,kEAAkE;IAClE,kEAAkE;IAClE,MAAM,cAAc,GAAG,yBAAyB,EAAE,CAAA;IAClD,MAAM,qBAAqB,GAAG,cAAc,CAAC,QAAQ,CAAA;IAErD,MAAM,yBAAyB,GAAG,WAAW,CAC3C,CAAC,CAAoB,EAAE,EAAE;QACvB,sEAAsE;QACtE,6CAA6C;QAC7C,qBAAqB,EAAE,CAAA;QAEvB,IAAI,aAAa;YACf,OAAM;QAER,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC,WAAW,CAAA;QAEhC,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC;YACpB,OAAM;QAER,oBAAoB,EAAE,CAAA;QAEtB,gBAAgB,CAAC,IAAI,CAAC,CAAA;QACtB,OAAO,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC,CAAA;IACvC,CAAC,EACD,CAAC,aAAa,EAAE,WAAW,EAAE,oBAAoB,EAAE,eAAe,EAAE,qBAAqB,CAAC,CAC3F,CAAA;IAED,MAAM,oBAAoB,GAAG,OAAO,CAAC,GAAG,EAAE;QACxC,IAAI,CAAC,aAAa;YAChB,OAAO,IAAI,CAAA;QAEb,MAAM,iBAAiB,GAAG;YACxB,GAAG,KAAK;YACR,IAAI,EAAE,eAAe,CAAC,IAAK,CAAC;YAC5B,MAAM,EAAE,OAAO;YACf,cAAc,EAAE;gBACd,GAAG,cAAc;gBACjB,YAAY,EAAE,aAAa;gBAC3B,GAAG,EAAE,YAAY;aAClB;YACD,sBAAsB;YACtB,YAAY;YACZ,YAAY,EAAE,UAAU;YACxB,kBAAkB;YAClB,0BAA0B;YAC1B,qBAAqB;SACtB,CAAA;QAED,IAAI,kBAAkB;YACpB,OAAO,wBAAwB,CAAC,kBAAkB,EAAE,iBAAiB,CAAC,CAAA;QAExE,OAAO,CAAC,YAAY,CAAC,IAAI,iBAAiB,CAAC,EAAG,CAAA;IAChD,CAAC,EAAE;QACD,aAAa;QACb,OAAO;QACP,eAAe;QACf,KAAK;QACL,IAAI;QACJ,kBAAkB;QAClB,YAAY;QACZ,cAAc;QACd,aAAa;QACb,YAAY;QACZ,UAAU;QACV,kBAAkB;QAClB,0BAA0B;QAC1B,qBAAqB;KACtB,CAAC,CAAA;IAEF,MAAM,aAAa,GAAG,OAAO,CAC3B,GAAG,EAAE,CAAC,CAAC;QACL,mEAAmE;QACnE,oEAAoE;QACpE,yDAAyD;QACzD,WAAW,EACT,WAAW;YACX,CAAC,GAAG,EAAE,CAAC,CAAC;gBACN,0BAA0B,EAAE,GAAG,EAAE,GAAE,CAAC;aACrC,CAAC,CAAC;QACL,SAAS,EAAE,GAAG,EAAE,CAAC,MAAM;QACvB,cAAc,EAAE,GAAG,EAAE,CAAC,WAAW;QACjC,QAAQ,EAAE,GAAG,EAAE,CAAC,aAAa;QAC7B,QAAQ,EAAE,GAAG,EAAE,CAAC,KAAK;QACrB,SAAS,EAAE,GAAG,EAAE,CAAC,cAAc;KAChC,CAAC,EACF,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,KAAK,EAAE,cAAc,CAAC,CACzE,CAAA;IAED,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI;YACpB,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IACvB,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAA;IAEhB,OAAO,CACL,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,CACzC;MAAA,CAAC,IAAI,CACH,MAAM,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CACxB,GAAG,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,CACxB,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,gBAAgB,CAAC,CAAC,CACpD,QAAQ,CAAC,CAAC,yBAAyB,CAAC,CAEpC;QAAA,CAAC,wBAAwB,CACvB,sBAAsB,CAAC,CAAC,cAAc,CAAC,sBAAsB,CAAC,CAC9D,yBAAyB,CAAC,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAE3D;UAAA,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,aAAa,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,CAChE;YAAA,CAAC,cAAc,CACf;YAAA,CAAC,oBAAoB,CACvB;UAAA,EAAE,IAAI,CACN;UAAA,CAAC,CAAC,aAAa,IAAI,wBAAwB,CAAC,aAAa,EAAE,EAAE,CAAC,CAChE;QAAA,EAAE,wBAAwB,CAC5B;MAAA,EAAE,IAAI,CACR;IAAA,EAAE,WAAW,CAAC,QAAQ,CAAC,CACxB,CAAA;AACH,CAAC;AAED,SAAS,WAAW,CAAwC,KAA0B;IACpF,MAAM,EACJ,qBAAqB,EACrB,uBAAuB,GAAG,KAAK,EAC/B,GAAG,IAAI,EACR,GAAG,KAAK,CAAA;IAET,qFAAqF;IACrF,qFAAqF;IACrF,MAAM,mBAAmB,GAAG,sBAAsB,EAAE,CAAA;IACpD,MAAM,IAAI,GAAG,CAAC,IAAI,CAAW,IAAI,IAAI,CAAC,EAAG,CAAA;IAEzC,MAAM,oBAAoB,GAAG,CAC3B,EACE;MAAA,CAAC,uBAAuB,IAAI,mBAAmB;YAC7C,CAAC,CAAC,IAAI;YACN,CAAC,CAAC;YACJ,0EAA0E;YAC1E,2EAA2E;YAC3E,uEAAuE;YACvE,0EAA0E;YAC1E,uEAAuE;YACvE,yEAAyE;YACzE,yEAAyE;YACzE,sEAAsE;YAClE,CAAC,gBAAgB,CAAC,IAAI,qBAAqB,CAAC,CAC1C;YAAA,CAAC,IAAI,CACP;UAAA,EAAE,gBAAgB,CAAC,CACpB,CACL;IAAA,GAAG,CACJ,CAAA;IAED,OAAO,CACL,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CACzC;MAAA,CAAC;;;;;;;;;;;;UAYC,CACF;MAAA,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC,yBAAyB,CAAC,CAC1D;QAAA,CAAC,oBAAoB,CACvB;MAAA,EAAE,gBAAgB,CACpB;IAAA,EAAE,sBAAsB,CAAC,CAC1B,CAAA;AACH,CAAC;AAED,WAAW,CAAC,MAAM,GAAG,CACnB,kBAA8B,EAAE,EAChC,QAAoB,EACpB,UAAU,GAAG,IAAI,EACjB,EAAE;IACF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;QAC1B,QAAQ,GAAG,CAAC,QAAQ,CAAC,CAAA;IAEvB,OAAO,UAAU;QACf,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,eAAe,CAAC;QAClC,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;AACtC,CAAC,CAAA;AAED,WAAW,CAAC,OAAO,GAAG,CACpB,kBAA8B,EAAE,EAChC,QAAoB,EACpB,UAAU,GAAG,IAAI,EACjB,EAAE;IACF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;QAC1B,QAAQ,GAAG,CAAC,QAAQ,CAAC,CAAA;IAEvB,OAAO,UAAU;QACf,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC;QAClC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,eAAe,CAAC,CAAA;AACtC,CAAC,CAAA;AAED,OAAO,EACL,WAAW,IAAI,IAAI,EACpB,CAAA"}