@sendbird/uikit-react-native-foundation 2.5.0 → 3.0.0-rc.1

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 (123) hide show
  1. package/README.md +4 -0
  2. package/lib/commonjs/components/Image/FastImageInternal.js +13 -0
  3. package/lib/commonjs/components/Image/FastImageInternal.js.map +1 -0
  4. package/lib/commonjs/components/Image/Image.fastimage.js +2 -5
  5. package/lib/commonjs/components/Image/Image.fastimage.js.map +1 -1
  6. package/lib/commonjs/components/ImageWithPlaceholder/index.js +7 -1
  7. package/lib/commonjs/components/ImageWithPlaceholder/index.js.map +1 -1
  8. package/lib/commonjs/components/RegexText/index.js.map +1 -1
  9. package/lib/commonjs/index.js +8 -8
  10. package/lib/commonjs/index.js.map +1 -1
  11. package/lib/commonjs/types.js.map +1 -1
  12. package/lib/commonjs/ui/Avatar/AvatarGroup.js +1 -1
  13. package/lib/commonjs/ui/Avatar/AvatarGroup.js.map +1 -1
  14. package/lib/commonjs/ui/GroupChannelMessage/Message.admin.js +37 -0
  15. package/lib/commonjs/ui/GroupChannelMessage/Message.admin.js.map +1 -0
  16. package/lib/commonjs/ui/GroupChannelMessage/Message.file.image.js +54 -0
  17. package/lib/commonjs/ui/GroupChannelMessage/Message.file.image.js.map +1 -0
  18. package/lib/commonjs/ui/GroupChannelMessage/Message.file.js +80 -0
  19. package/lib/commonjs/ui/GroupChannelMessage/Message.file.js.map +1 -0
  20. package/lib/commonjs/ui/GroupChannelMessage/Message.file.video.js +120 -0
  21. package/lib/commonjs/ui/GroupChannelMessage/Message.file.video.js.map +1 -0
  22. package/lib/commonjs/ui/GroupChannelMessage/Message.unknown.js +54 -0
  23. package/lib/commonjs/ui/GroupChannelMessage/Message.unknown.js.map +1 -0
  24. package/lib/commonjs/ui/GroupChannelMessage/Message.user.js +44 -0
  25. package/lib/commonjs/ui/GroupChannelMessage/Message.user.js.map +1 -0
  26. package/lib/commonjs/ui/GroupChannelMessage/Message.user.og.js +59 -0
  27. package/lib/commonjs/ui/GroupChannelMessage/Message.user.og.js.map +1 -0
  28. package/lib/commonjs/ui/GroupChannelMessage/MessageBubbleWithText.js +74 -0
  29. package/lib/commonjs/ui/GroupChannelMessage/MessageBubbleWithText.js.map +1 -0
  30. package/lib/commonjs/ui/GroupChannelMessage/MessageContainer.js +110 -0
  31. package/lib/commonjs/ui/GroupChannelMessage/MessageContainer.js.map +1 -0
  32. package/lib/commonjs/ui/GroupChannelMessage/MessageOpenGraph.js +91 -0
  33. package/lib/commonjs/ui/GroupChannelMessage/MessageOpenGraph.js.map +1 -0
  34. package/lib/commonjs/ui/GroupChannelMessage/index.js +26 -0
  35. package/lib/commonjs/ui/GroupChannelMessage/index.js.map +1 -0
  36. package/lib/commonjs/ui/OpenChannelMessage/Message.user.js +1 -1
  37. package/lib/commonjs/ui/OpenChannelMessage/Message.user.js.map +1 -1
  38. package/lib/commonjs/ui/OpenChannelMessage/Message.user.og.js +5 -2
  39. package/lib/commonjs/ui/OpenChannelMessage/Message.user.og.js.map +1 -1
  40. package/lib/commonjs/ui/OpenChannelMessage/index.js.map +1 -1
  41. package/lib/module/components/Image/FastImageInternal.js +6 -0
  42. package/lib/module/components/Image/FastImageInternal.js.map +1 -0
  43. package/lib/module/components/Image/Image.fastimage.js +2 -5
  44. package/lib/module/components/Image/Image.fastimage.js.map +1 -1
  45. package/lib/module/components/ImageWithPlaceholder/index.js +7 -1
  46. package/lib/module/components/ImageWithPlaceholder/index.js.map +1 -1
  47. package/lib/module/components/RegexText/index.js.map +1 -1
  48. package/lib/module/index.js +2 -2
  49. package/lib/module/index.js.map +1 -1
  50. package/lib/module/types.js.map +1 -1
  51. package/lib/module/ui/Avatar/AvatarGroup.js +1 -1
  52. package/lib/module/ui/Avatar/AvatarGroup.js.map +1 -1
  53. package/lib/module/ui/GroupChannelMessage/Message.admin.js +29 -0
  54. package/lib/module/ui/GroupChannelMessage/Message.admin.js.map +1 -0
  55. package/lib/module/ui/GroupChannelMessage/Message.file.image.js +46 -0
  56. package/lib/module/ui/GroupChannelMessage/Message.file.image.js.map +1 -0
  57. package/lib/module/ui/GroupChannelMessage/Message.file.js +72 -0
  58. package/lib/module/ui/GroupChannelMessage/Message.file.js.map +1 -0
  59. package/lib/module/ui/GroupChannelMessage/Message.file.video.js +110 -0
  60. package/lib/module/ui/GroupChannelMessage/Message.file.video.js.map +1 -0
  61. package/lib/module/ui/GroupChannelMessage/Message.unknown.js +46 -0
  62. package/lib/module/ui/GroupChannelMessage/Message.unknown.js.map +1 -0
  63. package/lib/module/ui/GroupChannelMessage/Message.user.js +36 -0
  64. package/lib/module/ui/GroupChannelMessage/Message.user.js.map +1 -0
  65. package/lib/module/ui/GroupChannelMessage/Message.user.og.js +51 -0
  66. package/lib/module/ui/GroupChannelMessage/Message.user.og.js.map +1 -0
  67. package/lib/module/ui/GroupChannelMessage/MessageBubbleWithText.js +66 -0
  68. package/lib/module/ui/GroupChannelMessage/MessageBubbleWithText.js.map +1 -0
  69. package/lib/module/ui/GroupChannelMessage/MessageContainer.js +102 -0
  70. package/lib/module/ui/GroupChannelMessage/MessageContainer.js.map +1 -0
  71. package/lib/module/ui/GroupChannelMessage/MessageOpenGraph.js +83 -0
  72. package/lib/module/ui/GroupChannelMessage/MessageOpenGraph.js.map +1 -0
  73. package/lib/module/ui/GroupChannelMessage/index.js +18 -0
  74. package/lib/module/ui/GroupChannelMessage/index.js.map +1 -0
  75. package/lib/module/ui/OpenChannelMessage/Message.user.js +1 -1
  76. package/lib/module/ui/OpenChannelMessage/Message.user.js.map +1 -1
  77. package/lib/module/ui/OpenChannelMessage/Message.user.og.js +5 -2
  78. package/lib/module/ui/OpenChannelMessage/Message.user.og.js.map +1 -1
  79. package/lib/module/ui/OpenChannelMessage/index.js.map +1 -1
  80. package/lib/typescript/src/components/Image/FastImageInternal.d.ts +3 -0
  81. package/lib/typescript/src/components/RegexText/index.d.ts +2 -2
  82. package/lib/typescript/src/index.d.ts +4 -2
  83. package/lib/typescript/src/types.d.ts +1 -9
  84. package/lib/typescript/src/ui/GroupChannelMessage/Message.admin.d.ts +4 -0
  85. package/lib/typescript/src/ui/GroupChannelMessage/Message.file.d.ts +5 -0
  86. package/lib/typescript/src/ui/GroupChannelMessage/Message.file.image.d.ts +4 -0
  87. package/lib/typescript/src/ui/GroupChannelMessage/Message.file.video.d.ts +9 -0
  88. package/lib/typescript/src/ui/GroupChannelMessage/Message.unknown.d.ts +4 -0
  89. package/lib/typescript/src/ui/GroupChannelMessage/Message.user.d.ts +9 -0
  90. package/lib/typescript/src/ui/GroupChannelMessage/Message.user.og.d.ts +9 -0
  91. package/lib/typescript/src/ui/GroupChannelMessage/MessageBubbleWithText.d.ts +10 -0
  92. package/lib/typescript/src/ui/GroupChannelMessage/MessageContainer.d.ts +9 -0
  93. package/lib/typescript/src/ui/GroupChannelMessage/MessageOpenGraph.d.ts +8 -0
  94. package/lib/typescript/src/ui/GroupChannelMessage/index.d.ts +191 -0
  95. package/lib/typescript/src/ui/OpenChannelMessage/index.d.ts +7 -7
  96. package/package.json +6 -6
  97. package/src/components/Image/FastImageInternal.tsx +9 -0
  98. package/src/components/Image/Image.fastimage.tsx +2 -7
  99. package/src/components/ImageWithPlaceholder/index.tsx +3 -2
  100. package/src/components/RegexText/index.tsx +2 -2
  101. package/src/index.ts +5 -2
  102. package/src/types.ts +1 -11
  103. package/src/ui/Avatar/AvatarGroup.tsx +1 -1
  104. package/src/ui/GroupChannelMessage/Message.admin.tsx +34 -0
  105. package/src/ui/GroupChannelMessage/Message.file.image.tsx +45 -0
  106. package/src/ui/GroupChannelMessage/Message.file.tsx +70 -0
  107. package/src/ui/GroupChannelMessage/Message.file.video.tsx +106 -0
  108. package/src/ui/GroupChannelMessage/Message.unknown.tsx +47 -0
  109. package/src/ui/GroupChannelMessage/Message.user.og.tsx +62 -0
  110. package/src/ui/GroupChannelMessage/Message.user.tsx +49 -0
  111. package/src/ui/GroupChannelMessage/MessageBubbleWithText.tsx +80 -0
  112. package/src/ui/GroupChannelMessage/MessageContainer.tsx +106 -0
  113. package/src/ui/GroupChannelMessage/MessageOpenGraph.tsx +84 -0
  114. package/src/ui/GroupChannelMessage/index.ts +48 -0
  115. package/src/ui/OpenChannelMessage/Message.user.og.tsx +6 -2
  116. package/src/ui/OpenChannelMessage/Message.user.tsx +1 -1
  117. package/src/ui/OpenChannelMessage/index.ts +1 -1
  118. package/lib/commonjs/components/URLParsedText/index.js +0 -46
  119. package/lib/commonjs/components/URLParsedText/index.js.map +0 -1
  120. package/lib/module/components/URLParsedText/index.js +0 -38
  121. package/lib/module/components/URLParsedText/index.js.map +0 -1
  122. package/lib/typescript/src/components/URLParsedText/index.d.ts +0 -8
  123. package/src/components/URLParsedText/index.tsx +0 -50
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","Pressable","getMessageTimeFormat","Box","Text","createStyleSheet","useUIKitTheme","Avatar","MessageContainer","props","variant","createElement","Incoming","Outgoing","MessageContainerIncoming","_ref","_message$sender","children","groupedWithNext","groupedWithPrev","message","onPressAvatar","strings","colors","color","ui","groupChannelMessage","incoming","flexDirection","justifyContent","alignItems","width","marginRight","isFileMessage","isUserMessage","onPress","size","uri","sender","profileUrl","flexShrink","marginLeft","marginBottom","caption1","enabled","textSenderName","numberOfLines","senderName","nickname","style","styles","bubble","caption4","textTime","sentDate","Date","createdAt","MessageContainerOutgoing","_ref2","sendingStatus","outgoing","maxWidth","overflow"],"sources":["MessageContainer.tsx"],"sourcesContent":["import React from 'react';\nimport { Pressable } from 'react-native';\n\nimport type { SendbirdMessage } from '@sendbird/uikit-utils';\nimport { getMessageTimeFormat } from '@sendbird/uikit-utils';\n\nimport Box from '../../components/Box';\nimport Text from '../../components/Text';\nimport createStyleSheet from '../../styles/createStyleSheet';\nimport useUIKitTheme from '../../theme/useUIKitTheme';\nimport Avatar from '../Avatar';\nimport type { GroupChannelMessageProps } from './index';\n\ntype Props = GroupChannelMessageProps<SendbirdMessage>;\n\nconst MessageContainer = (props: Props) => {\n if (props.variant === 'incoming') {\n return <MessageContainer.Incoming {...props} />;\n } else {\n return <MessageContainer.Outgoing {...props} />;\n }\n};\n\nMessageContainer.Incoming = function MessageContainerIncoming({\n children,\n groupedWithNext,\n groupedWithPrev,\n message,\n onPressAvatar,\n strings,\n}: Props) {\n const { colors } = useUIKitTheme();\n const color = colors.ui.groupChannelMessage.incoming;\n\n return (\n <Box flexDirection={'row'} justifyContent={'flex-start'} alignItems={'flex-end'}>\n <Box width={26} marginRight={12}>\n {(message.isFileMessage() || message.isUserMessage()) && !groupedWithNext && (\n <Pressable onPress={onPressAvatar}>\n <Avatar size={26} uri={message.sender?.profileUrl} />\n </Pressable>\n )}\n </Box>\n <Box flexShrink={1}>\n {!groupedWithPrev && (\n <Box marginLeft={12} marginBottom={4}>\n {(message.isFileMessage() || message.isUserMessage()) && (\n <Text caption1 color={color.enabled.textSenderName} numberOfLines={1}>\n {strings?.senderName ?? message.sender.nickname}\n </Text>\n )}\n </Box>\n )}\n\n <Box flexDirection={'row'} alignItems={'flex-end'}>\n <Box style={styles.bubble}>{children}</Box>\n {!groupedWithNext && (\n <Box marginLeft={4}>\n <Text caption4 color={color.enabled.textTime}>\n {strings?.sentDate ?? getMessageTimeFormat(new Date(message.createdAt))}\n </Text>\n </Box>\n )}\n </Box>\n </Box>\n </Box>\n );\n};\n\nMessageContainer.Outgoing = function MessageContainerOutgoing({\n children,\n message,\n groupedWithNext,\n strings,\n sendingStatus,\n}: Props) {\n const { colors } = useUIKitTheme();\n const color = colors.ui.groupChannelMessage.outgoing;\n\n return (\n <Box flexDirection={'row'} justifyContent={'flex-end'} alignItems={'flex-end'}>\n <Box flexDirection={'row'} alignItems={'flex-end'} justifyContent={'center'}>\n {sendingStatus && <Box marginRight={4}>{sendingStatus}</Box>}\n\n {!groupedWithNext && (\n <Box marginRight={4}>\n <Text caption4 color={color.enabled.textTime}>\n {strings?.sentDate ?? getMessageTimeFormat(new Date(message.createdAt))}\n </Text>\n </Box>\n )}\n </Box>\n <Box style={styles.bubble}>{children}</Box>\n </Box>\n );\n};\n\nconst styles = createStyleSheet({\n bubble: {\n maxWidth: 240,\n overflow: 'hidden',\n flexShrink: 1,\n },\n});\n\nexport default MessageContainer;\n"],"mappings":"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"}
@@ -0,0 +1,83 @@
1
+ import React from 'react';
2
+ import Box from '../../components/Box';
3
+ import ImageWithPlaceholder from '../../components/ImageWithPlaceholder';
4
+ import PressBox from '../../components/PressBox';
5
+ import Text from '../../components/Text';
6
+ import createStyleSheet from '../../styles/createStyleSheet';
7
+ import useUIKitTheme from '../../theme/useUIKitTheme';
8
+ const MessageOpenGraph = _ref => {
9
+ let {
10
+ onPressURL,
11
+ onLongPress,
12
+ ogMetaData,
13
+ variant
14
+ } = _ref;
15
+ const {
16
+ palette,
17
+ select,
18
+ colors
19
+ } = useUIKitTheme();
20
+ const color = colors.ui.groupChannelMessage[variant];
21
+ return /*#__PURE__*/React.createElement(PressBox, {
22
+ activeOpacity: 0.85,
23
+ onPress: () => typeof (ogMetaData === null || ogMetaData === void 0 ? void 0 : ogMetaData.url) === 'string' && (onPressURL === null || onPressURL === void 0 ? void 0 : onPressURL(ogMetaData.url)),
24
+ onLongPress: onLongPress
25
+ }, _ref2 => {
26
+ let {
27
+ pressed
28
+ } = _ref2;
29
+ return /*#__PURE__*/React.createElement(Box, {
30
+ backgroundColor: pressed ? color.pressed.background : color.enabled.background
31
+ }, Boolean(ogMetaData.defaultImage) && /*#__PURE__*/React.createElement(ImageWithPlaceholder, {
32
+ style: styles.ogImage,
33
+ source: {
34
+ uri: ogMetaData.defaultImage.url
35
+ }
36
+ }), /*#__PURE__*/React.createElement(Box, {
37
+ style: styles.ogContainer,
38
+ backgroundColor: select({
39
+ dark: palette.background400,
40
+ light: palette.background100
41
+ })
42
+ }, /*#__PURE__*/React.createElement(Text, {
43
+ numberOfLines: 3,
44
+ body2: true,
45
+ color: colors.onBackground01,
46
+ style: styles.ogTitle
47
+ }, ogMetaData.title), Boolean(ogMetaData.description) && /*#__PURE__*/React.createElement(Text, {
48
+ numberOfLines: 1,
49
+ caption2: true,
50
+ color: colors.onBackground01,
51
+ style: styles.ogDesc
52
+ }, ogMetaData.description), /*#__PURE__*/React.createElement(Text, {
53
+ numberOfLines: 1,
54
+ caption2: true,
55
+ color: colors.onBackground02
56
+ }, ogMetaData.url)));
57
+ });
58
+ };
59
+ const styles = createStyleSheet({
60
+ ogContainer: {
61
+ overflow: 'hidden',
62
+ paddingHorizontal: 12,
63
+ paddingTop: 8,
64
+ paddingBottom: 12
65
+ },
66
+ ogImage: {
67
+ maxWidth: 240,
68
+ width: 240,
69
+ height: 136
70
+ },
71
+ ogUrl: {
72
+ marginBottom: 4
73
+ },
74
+ ogTitle: {
75
+ marginBottom: 4
76
+ },
77
+ ogDesc: {
78
+ lineHeight: 14,
79
+ marginBottom: 8
80
+ }
81
+ });
82
+ export default MessageOpenGraph;
83
+ //# sourceMappingURL=MessageOpenGraph.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","Box","ImageWithPlaceholder","PressBox","Text","createStyleSheet","useUIKitTheme","MessageOpenGraph","_ref","onPressURL","onLongPress","ogMetaData","variant","palette","select","colors","color","ui","groupChannelMessage","createElement","activeOpacity","onPress","url","_ref2","pressed","backgroundColor","background","enabled","Boolean","defaultImage","style","styles","ogImage","source","uri","ogContainer","dark","background400","light","background100","numberOfLines","body2","onBackground01","ogTitle","title","description","caption2","ogDesc","onBackground02","overflow","paddingHorizontal","paddingTop","paddingBottom","maxWidth","width","height","ogUrl","marginBottom","lineHeight"],"sources":["MessageOpenGraph.tsx"],"sourcesContent":["import React from 'react';\n\nimport type { SendbirdUserMessage } from '@sendbird/uikit-utils';\n\nimport Box from '../../components/Box';\nimport ImageWithPlaceholder from '../../components/ImageWithPlaceholder';\nimport PressBox from '../../components/PressBox';\nimport Text from '../../components/Text';\nimport createStyleSheet from '../../styles/createStyleSheet';\nimport useUIKitTheme from '../../theme/useUIKitTheme';\n\nconst MessageOpenGraph = ({\n onPressURL,\n onLongPress,\n ogMetaData,\n variant,\n}: {\n ogMetaData: Required<SendbirdUserMessage>['ogMetaData'];\n variant: 'outgoing' | 'incoming';\n onPressURL?: (url: string) => void;\n onLongPress?: () => void;\n}) => {\n const { palette, select, colors } = useUIKitTheme();\n const color = colors.ui.groupChannelMessage[variant];\n\n return (\n <PressBox\n activeOpacity={0.85}\n onPress={() => typeof ogMetaData?.url === 'string' && onPressURL?.(ogMetaData.url)}\n onLongPress={onLongPress}\n >\n {({ pressed }) => (\n <Box backgroundColor={pressed ? color.pressed.background : color.enabled.background}>\n {Boolean(ogMetaData.defaultImage) && (\n <ImageWithPlaceholder style={styles.ogImage} source={{ uri: ogMetaData.defaultImage.url }} />\n )}\n\n <Box\n style={styles.ogContainer}\n backgroundColor={select({ dark: palette.background400, light: palette.background100 })}\n >\n <Text numberOfLines={3} body2 color={colors.onBackground01} style={styles.ogTitle}>\n {ogMetaData.title}\n </Text>\n {Boolean(ogMetaData.description) && (\n <Text numberOfLines={1} caption2 color={colors.onBackground01} style={styles.ogDesc}>\n {ogMetaData.description}\n </Text>\n )}\n <Text numberOfLines={1} caption2 color={colors.onBackground02}>\n {ogMetaData.url}\n </Text>\n </Box>\n </Box>\n )}\n </PressBox>\n );\n};\n\nconst styles = createStyleSheet({\n ogContainer: {\n overflow: 'hidden',\n paddingHorizontal: 12,\n paddingTop: 8,\n paddingBottom: 12,\n },\n ogImage: {\n maxWidth: 240,\n width: 240,\n height: 136,\n },\n ogUrl: {\n marginBottom: 4,\n },\n ogTitle: {\n marginBottom: 4,\n },\n ogDesc: {\n lineHeight: 14,\n marginBottom: 8,\n },\n});\n\nexport default MessageOpenGraph;\n"],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import AdminMessage from './Message.admin';
2
+ import FileMessage from './Message.file';
3
+ import ImageFileMessage from './Message.file.image';
4
+ import VideoFileMessage from './Message.file.video';
5
+ import UnknownMessage from './Message.unknown';
6
+ import UserMessage from './Message.user';
7
+ import OpenGraphUser from './Message.user.og';
8
+ const GroupChannelMessage = {
9
+ User: UserMessage,
10
+ OpenGraphUser: OpenGraphUser,
11
+ File: FileMessage,
12
+ ImageFile: ImageFileMessage,
13
+ VideoFile: VideoFileMessage,
14
+ Admin: AdminMessage,
15
+ Unknown: UnknownMessage
16
+ };
17
+ export default GroupChannelMessage;
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["AdminMessage","FileMessage","ImageFileMessage","VideoFileMessage","UnknownMessage","UserMessage","OpenGraphUser","GroupChannelMessage","User","File","ImageFile","VideoFile","Admin","Unknown"],"sources":["index.ts"],"sourcesContent":["import type React from 'react';\n\nimport type { SendbirdGroupChannel, SendbirdMessage, SendbirdUser } from '@sendbird/uikit-utils';\n\nimport AdminMessage from './Message.admin';\nimport FileMessage from './Message.file';\nimport ImageFileMessage from './Message.file.image';\nimport VideoFileMessage from './Message.file.video';\nimport UnknownMessage from './Message.unknown';\nimport UserMessage from './Message.user';\nimport OpenGraphUser from './Message.user.og';\n\nexport type GroupChannelMessageProps<T extends SendbirdMessage, AdditionalProps = unknown> = {\n channel: SendbirdGroupChannel;\n message: T;\n variant?: 'outgoing' | 'incoming';\n strings?: {\n senderName?: string;\n sentDate?: string;\n edited?: string;\n fileName?: string;\n unknownTitle?: string;\n unknownDescription?: string;\n };\n\n children?: React.ReactNode;\n sendingStatus?: React.ReactNode;\n\n groupedWithPrev: boolean;\n groupedWithNext: boolean;\n onPress?: () => void;\n onLongPress?: () => void;\n onPressAvatar?: () => void;\n onPressURL?: (url: string) => void;\n onPressMentionedUser?: (mentionedUser?: SendbirdUser) => void;\n} & AdditionalProps;\n\nconst GroupChannelMessage = {\n User: UserMessage,\n OpenGraphUser: OpenGraphUser,\n File: FileMessage,\n ImageFile: ImageFileMessage,\n VideoFile: VideoFileMessage,\n Admin: AdminMessage,\n Unknown: UnknownMessage,\n};\n\nexport default GroupChannelMessage;\n"],"mappings":"AAIA,OAAOA,YAAY,MAAM,iBAAiB;AAC1C,OAAOC,WAAW,MAAM,gBAAgB;AACxC,OAAOC,gBAAgB,MAAM,sBAAsB;AACnD,OAAOC,gBAAgB,MAAM,sBAAsB;AACnD,OAAOC,cAAc,MAAM,mBAAmB;AAC9C,OAAOC,WAAW,MAAM,gBAAgB;AACxC,OAAOC,aAAa,MAAM,mBAAmB;AA2B7C,MAAMC,mBAAmB,GAAG;EAC1BC,IAAI,EAAEH,WAAW;EACjBC,aAAa,EAAEA,aAAa;EAC5BG,IAAI,EAAER,WAAW;EACjBS,SAAS,EAAER,gBAAgB;EAC3BS,SAAS,EAAER,gBAAgB;EAC3BS,KAAK,EAAEZ,YAAY;EACnBa,OAAO,EAAET;AACX,CAAC;AAED,eAAeG,mBAAmB"}
@@ -44,7 +44,7 @@ const UserMessage = props => {
44
44
  } = _ref2;
45
45
  return /*#__PURE__*/React.createElement(Text, _extends({}, parentProps, {
46
46
  key: `${keyPrefix}-${index}`,
47
- onPress: onPressURL,
47
+ onPress: () => onPressURL === null || onPressURL === void 0 ? void 0 : onPressURL(match),
48
48
  onLongPress: onLongPress,
49
49
  color: colors.primary,
50
50
  style: parentProps === null || parentProps === void 0 ? void 0 : parentProps.style
@@ -1 +1 @@
1
- {"version":3,"names":["React","urlRegexStrict","PressBox","RegexText","Text","useUIKitTheme","MessageContainer","UserMessage","props","colors","onPress","onLongPress","onPressURL","rest","color","ui","openChannelMessage","default","createElement","_ref","_props$strings","pressed","_extends","body3","enabled","textMsg","patterns","regex","replacer","_ref2","match","parentProps","keyPrefix","index","key","primary","style","message","Boolean","updatedAt","textMsgPostfix","strings","edited"],"sources":["Message.user.tsx"],"sourcesContent":["import React from 'react';\n\nimport type { SendbirdUserMessage } from '@sendbird/uikit-utils';\nimport { urlRegexStrict } from '@sendbird/uikit-utils';\n\nimport PressBox from '../../components/PressBox';\nimport RegexText from '../../components/RegexText';\nimport Text from '../../components/Text';\nimport useUIKitTheme from '../../theme/useUIKitTheme';\nimport MessageContainer from './MessageContainer';\nimport type { OpenChannelMessageProps } from './index';\n\ntype Props = {};\nconst UserMessage = (props: OpenChannelMessageProps<SendbirdUserMessage, Props>) => {\n const { colors } = useUIKitTheme();\n const { onPress, onLongPress, onPressURL, ...rest } = props;\n const color = colors.ui.openChannelMessage.default;\n\n return (\n <PressBox onPress={onPress} onLongPress={onLongPress}>\n {({ pressed }) => (\n <MessageContainer pressed={pressed} {...rest}>\n <Text body3 color={color.enabled.textMsg}>\n <RegexText\n body3\n color={color.enabled.textMsg}\n patterns={[\n {\n regex: urlRegexStrict,\n replacer({ match, parentProps, keyPrefix, index }) {\n return (\n <Text\n {...parentProps}\n key={`${keyPrefix}-${index}`}\n onPress={onPressURL}\n onLongPress={onLongPress}\n color={colors.primary}\n style={parentProps?.style}\n >\n {match}\n </Text>\n );\n },\n },\n ]}\n >\n {props.message.message}\n </RegexText>\n {Boolean(props.message.updatedAt) && (\n <Text body3 color={color.enabled.textMsgPostfix}>\n {props.strings?.edited ?? ' (edited)'}\n </Text>\n )}\n </Text>\n </MessageContainer>\n )}\n </PressBox>\n );\n};\n\nexport default UserMessage;\n"],"mappings":";AAAA,OAAOA,KAAK,MAAM,OAAO;AAGzB,SAASC,cAAc,QAAQ,uBAAuB;AAEtD,OAAOC,QAAQ,MAAM,2BAA2B;AAChD,OAAOC,SAAS,MAAM,4BAA4B;AAClD,OAAOC,IAAI,MAAM,uBAAuB;AACxC,OAAOC,aAAa,MAAM,2BAA2B;AACrD,OAAOC,gBAAgB,MAAM,oBAAoB;AAIjD,MAAMC,WAAW,GAAIC,KAA0D,IAAK;EAClF,MAAM;IAAEC;EAAO,CAAC,GAAGJ,aAAa,EAAE;EAClC,MAAM;IAAEK,OAAO;IAAEC,WAAW;IAAEC,UAAU;IAAE,GAAGC;EAAK,CAAC,GAAGL,KAAK;EAC3D,MAAMM,KAAK,GAAGL,MAAM,CAACM,EAAE,CAACC,kBAAkB,CAACC,OAAO;EAElD,oBACEjB,KAAA,CAAAkB,aAAA,CAAChB,QAAQ;IAACQ,OAAO,EAAEA,OAAQ;IAACC,WAAW,EAAEA;EAAY,GAClDQ,IAAA;IAAA,IAAAC,cAAA;IAAA,IAAC;MAAEC;IAAQ,CAAC,GAAAF,IAAA;IAAA,oBACXnB,KAAA,CAAAkB,aAAA,CAACZ,gBAAgB,EAAAgB,QAAA;MAACD,OAAO,EAAEA;IAAQ,GAAKR,IAAI,gBAC1Cb,KAAA,CAAAkB,aAAA,CAACd,IAAI;MAACmB,KAAK;MAACT,KAAK,EAAEA,KAAK,CAACU,OAAO,CAACC;IAAQ,gBACvCzB,KAAA,CAAAkB,aAAA,CAACf,SAAS;MACRoB,KAAK;MACLT,KAAK,EAAEA,KAAK,CAACU,OAAO,CAACC,OAAQ;MAC7BC,QAAQ,EAAE,CACR;QACEC,KAAK,EAAE1B,cAAc;QACrB2B,QAAQA,CAAAC,KAAA,EAA2C;UAAA,IAA1C;YAAEC,KAAK;YAAEC,WAAW;YAAEC,SAAS;YAAEC;UAAM,CAAC,GAAAJ,KAAA;UAC/C,oBACE7B,KAAA,CAAAkB,aAAA,CAACd,IAAI,EAAAkB,QAAA,KACCS,WAAW;YACfG,GAAG,EAAG,GAAEF,SAAU,IAAGC,KAAM,EAAE;YAC7BvB,OAAO,EAAEE,UAAW;YACpBD,WAAW,EAAEA,WAAY;YACzBG,KAAK,EAAEL,MAAM,CAAC0B,OAAQ;YACtBC,KAAK,EAAEL,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAEK;UAAM,IAEzBN,KAAK,CACD;QAEX;MACF,CAAC;IACD,GAEDtB,KAAK,CAAC6B,OAAO,CAACA,OAAO,CACZ,EACXC,OAAO,CAAC9B,KAAK,CAAC6B,OAAO,CAACE,SAAS,CAAC,iBAC/BvC,KAAA,CAAAkB,aAAA,CAACd,IAAI;MAACmB,KAAK;MAACT,KAAK,EAAEA,KAAK,CAACU,OAAO,CAACgB;IAAe,GAC7C,EAAApB,cAAA,GAAAZ,KAAK,CAACiC,OAAO,cAAArB,cAAA,uBAAbA,cAAA,CAAesB,MAAM,KAAI,WAAW,CAExC,CACI,CACU;EAAA,CACpB,CACQ;AAEf,CAAC;AAED,eAAenC,WAAW"}
1
+ {"version":3,"names":["React","urlRegexStrict","PressBox","RegexText","Text","useUIKitTheme","MessageContainer","UserMessage","props","colors","onPress","onLongPress","onPressURL","rest","color","ui","openChannelMessage","default","createElement","_ref","_props$strings","pressed","_extends","body3","enabled","textMsg","patterns","regex","replacer","_ref2","match","parentProps","keyPrefix","index","key","primary","style","message","Boolean","updatedAt","textMsgPostfix","strings","edited"],"sources":["Message.user.tsx"],"sourcesContent":["import React from 'react';\n\nimport type { SendbirdUserMessage } from '@sendbird/uikit-utils';\nimport { urlRegexStrict } from '@sendbird/uikit-utils';\n\nimport PressBox from '../../components/PressBox';\nimport RegexText from '../../components/RegexText';\nimport Text from '../../components/Text';\nimport useUIKitTheme from '../../theme/useUIKitTheme';\nimport MessageContainer from './MessageContainer';\nimport type { OpenChannelMessageProps } from './index';\n\ntype Props = {};\nconst UserMessage = (props: OpenChannelMessageProps<SendbirdUserMessage, Props>) => {\n const { colors } = useUIKitTheme();\n const { onPress, onLongPress, onPressURL, ...rest } = props;\n const color = colors.ui.openChannelMessage.default;\n\n return (\n <PressBox onPress={onPress} onLongPress={onLongPress}>\n {({ pressed }) => (\n <MessageContainer pressed={pressed} {...rest}>\n <Text body3 color={color.enabled.textMsg}>\n <RegexText\n body3\n color={color.enabled.textMsg}\n patterns={[\n {\n regex: urlRegexStrict,\n replacer({ match, parentProps, keyPrefix, index }) {\n return (\n <Text\n {...parentProps}\n key={`${keyPrefix}-${index}`}\n onPress={() => onPressURL?.(match)}\n onLongPress={onLongPress}\n color={colors.primary}\n style={parentProps?.style}\n >\n {match}\n </Text>\n );\n },\n },\n ]}\n >\n {props.message.message}\n </RegexText>\n {Boolean(props.message.updatedAt) && (\n <Text body3 color={color.enabled.textMsgPostfix}>\n {props.strings?.edited ?? ' (edited)'}\n </Text>\n )}\n </Text>\n </MessageContainer>\n )}\n </PressBox>\n );\n};\n\nexport default UserMessage;\n"],"mappings":";AAAA,OAAOA,KAAK,MAAM,OAAO;AAGzB,SAASC,cAAc,QAAQ,uBAAuB;AAEtD,OAAOC,QAAQ,MAAM,2BAA2B;AAChD,OAAOC,SAAS,MAAM,4BAA4B;AAClD,OAAOC,IAAI,MAAM,uBAAuB;AACxC,OAAOC,aAAa,MAAM,2BAA2B;AACrD,OAAOC,gBAAgB,MAAM,oBAAoB;AAIjD,MAAMC,WAAW,GAAIC,KAA0D,IAAK;EAClF,MAAM;IAAEC;EAAO,CAAC,GAAGJ,aAAa,EAAE;EAClC,MAAM;IAAEK,OAAO;IAAEC,WAAW;IAAEC,UAAU;IAAE,GAAGC;EAAK,CAAC,GAAGL,KAAK;EAC3D,MAAMM,KAAK,GAAGL,MAAM,CAACM,EAAE,CAACC,kBAAkB,CAACC,OAAO;EAElD,oBACEjB,KAAA,CAAAkB,aAAA,CAAChB,QAAQ;IAACQ,OAAO,EAAEA,OAAQ;IAACC,WAAW,EAAEA;EAAY,GAClDQ,IAAA;IAAA,IAAAC,cAAA;IAAA,IAAC;MAAEC;IAAQ,CAAC,GAAAF,IAAA;IAAA,oBACXnB,KAAA,CAAAkB,aAAA,CAACZ,gBAAgB,EAAAgB,QAAA;MAACD,OAAO,EAAEA;IAAQ,GAAKR,IAAI,gBAC1Cb,KAAA,CAAAkB,aAAA,CAACd,IAAI;MAACmB,KAAK;MAACT,KAAK,EAAEA,KAAK,CAACU,OAAO,CAACC;IAAQ,gBACvCzB,KAAA,CAAAkB,aAAA,CAACf,SAAS;MACRoB,KAAK;MACLT,KAAK,EAAEA,KAAK,CAACU,OAAO,CAACC,OAAQ;MAC7BC,QAAQ,EAAE,CACR;QACEC,KAAK,EAAE1B,cAAc;QACrB2B,QAAQA,CAAAC,KAAA,EAA2C;UAAA,IAA1C;YAAEC,KAAK;YAAEC,WAAW;YAAEC,SAAS;YAAEC;UAAM,CAAC,GAAAJ,KAAA;UAC/C,oBACE7B,KAAA,CAAAkB,aAAA,CAACd,IAAI,EAAAkB,QAAA,KACCS,WAAW;YACfG,GAAG,EAAG,GAAEF,SAAU,IAAGC,KAAM,EAAE;YAC7BvB,OAAO,EAAEA,CAAA,KAAME,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAGkB,KAAK,CAAE;YACnCnB,WAAW,EAAEA,WAAY;YACzBG,KAAK,EAAEL,MAAM,CAAC0B,OAAQ;YACtBC,KAAK,EAAEL,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAEK;UAAM,IAEzBN,KAAK,CACD;QAEX;MACF,CAAC;IACD,GAEDtB,KAAK,CAAC6B,OAAO,CAACA,OAAO,CACZ,EACXC,OAAO,CAAC9B,KAAK,CAAC6B,OAAO,CAACE,SAAS,CAAC,iBAC/BvC,KAAA,CAAAkB,aAAA,CAACd,IAAI;MAACmB,KAAK;MAACT,KAAK,EAAEA,KAAK,CAACU,OAAO,CAACgB;IAAe,GAC7C,EAAApB,cAAA,GAAAZ,KAAK,CAACiC,OAAO,cAAArB,cAAA,uBAAbA,cAAA,CAAesB,MAAM,KAAI,WAAW,CAExC,CACI,CACU;EAAA,CACpB,CACQ;AAEf,CAAC;AAED,eAAenC,WAAW"}
@@ -47,7 +47,7 @@ const OpenGraphUserMessage = props => {
47
47
  } = _ref2;
48
48
  return /*#__PURE__*/React.createElement(Text, _extends({}, parentProps, {
49
49
  key: `${keyPrefix}-${index}`,
50
- onPress: onPressURL,
50
+ onPress: () => onPressURL === null || onPressURL === void 0 ? void 0 : onPressURL(match),
51
51
  onLongPress: onLongPress,
52
52
  color: colors.primary,
53
53
  style: parentProps === null || parentProps === void 0 ? void 0 : parentProps.style
@@ -62,7 +62,10 @@ const OpenGraphUserMessage = props => {
62
62
  grouped: true
63
63
  }), /*#__PURE__*/React.createElement(PressBox, {
64
64
  style: styles.ogContainer,
65
- onPress: onPressURL,
65
+ onPress: () => {
66
+ var _props$message$ogMeta;
67
+ return ((_props$message$ogMeta = props.message.ogMetaData) === null || _props$message$ogMeta === void 0 ? void 0 : _props$message$ogMeta.url) && (onPressURL === null || onPressURL === void 0 ? void 0 : onPressURL(props.message.ogMetaData.url));
68
+ },
66
69
  onLongPress: onLongPress
67
70
  }, _ref3 => {
68
71
  let {
@@ -1 +1 @@
1
- {"version":3,"names":["React","urlRegexRough","Box","ImageWithPlaceholder","PressBox","RegexText","Text","createStyleSheet","useUIKitTheme","MessageContainer","OpenGraphUserMessage","props","colors","onPress","onLongPress","onPressURL","rest","color","ui","openChannelMessage","default","createElement","_ref","_props$strings","pressed","_extends","body3","enabled","textMsg","patterns","regex","replacer","_ref2","match","parentProps","keyPrefix","index","key","primary","style","message","Boolean","updatedAt","textMsgPostfix","strings","edited","ogMetaData","grouped","styles","ogContainer","_ref3","padding","borderRadius","backgroundColor","bubbleBackground","numberOfLines","caption2","onBackground02","ogUrl","url","body2","ogTitle","title","description","onBackground01","defaultImage","ogImage","source","uri","maxWidth","marginBottom","width","height","marginTop"],"sources":["Message.user.og.tsx"],"sourcesContent":["import React from 'react';\n\nimport type { SendbirdUserMessage } from '@sendbird/uikit-utils';\nimport { urlRegexRough } from '@sendbird/uikit-utils';\n\nimport Box from '../../components/Box';\nimport ImageWithPlaceholder from '../../components/ImageWithPlaceholder';\nimport PressBox from '../../components/PressBox';\nimport RegexText from '../../components/RegexText';\nimport Text from '../../components/Text';\nimport createStyleSheet from '../../styles/createStyleSheet';\nimport useUIKitTheme from '../../theme/useUIKitTheme';\nimport MessageContainer from './MessageContainer';\nimport type { OpenChannelMessageProps } from './index';\n\ntype Props = {};\nconst OpenGraphUserMessage = (props: OpenChannelMessageProps<SendbirdUserMessage, Props>) => {\n const { colors } = useUIKitTheme();\n const { onPress, onLongPress, onPressURL, ...rest } = props;\n const color = colors.ui.openChannelMessage.default;\n\n return (\n <Box>\n <PressBox onPress={onPress} onLongPress={onLongPress}>\n {({ pressed }) => (\n <MessageContainer pressed={pressed} {...rest}>\n <Text body3 color={color.enabled.textMsg}>\n <RegexText\n body3\n color={color.enabled.textMsg}\n patterns={[\n {\n regex: urlRegexRough,\n replacer({ match, parentProps, keyPrefix, index }) {\n return (\n <Text\n {...parentProps}\n key={`${keyPrefix}-${index}`}\n onPress={onPressURL}\n onLongPress={onLongPress}\n color={colors.primary}\n style={parentProps?.style}\n >\n {match}\n </Text>\n );\n },\n },\n ]}\n >\n {props.message.message}\n </RegexText>\n {Boolean(props.message.updatedAt) && (\n <Text body3 color={color.enabled.textMsgPostfix}>\n {props.strings?.edited ?? ' (edited)'}\n </Text>\n )}\n </Text>\n </MessageContainer>\n )}\n </PressBox>\n {props.message.ogMetaData && (\n <MessageContainer {...rest} grouped>\n <PressBox style={styles.ogContainer} onPress={onPressURL} onLongPress={onLongPress}>\n {({ pressed }) =>\n props.message.ogMetaData && (\n <Box\n padding={8}\n borderRadius={8}\n style={styles.ogContainer}\n backgroundColor={pressed ? color.pressed.bubbleBackground : color.enabled.bubbleBackground}\n >\n <Text numberOfLines={1} caption2 color={colors.onBackground02} style={styles.ogUrl}>\n {props.message.ogMetaData.url}\n </Text>\n\n <Text numberOfLines={2} body2 color={colors.primary} style={styles.ogTitle}>\n {props.message.ogMetaData.title}\n </Text>\n\n {Boolean(props.message.ogMetaData.description) && (\n <Text numberOfLines={2} caption2 color={colors.onBackground01}>\n {props.message.ogMetaData.description}\n </Text>\n )}\n\n {Boolean(props.message.ogMetaData.defaultImage) && (\n <ImageWithPlaceholder\n style={styles.ogImage}\n source={{ uri: props.message.ogMetaData.defaultImage.url }}\n />\n )}\n </Box>\n )\n }\n </PressBox>\n </MessageContainer>\n )}\n </Box>\n );\n};\n\nconst styles = createStyleSheet({\n ogContainer: {\n maxWidth: 296,\n },\n ogUrl: {\n marginBottom: 4,\n },\n ogTitle: {\n marginBottom: 8,\n },\n ogImage: {\n width: '100%',\n height: 156,\n marginTop: 12,\n },\n});\n\nexport default OpenGraphUserMessage;\n"],"mappings":"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"}
1
+ {"version":3,"names":["React","urlRegexRough","Box","ImageWithPlaceholder","PressBox","RegexText","Text","createStyleSheet","useUIKitTheme","MessageContainer","OpenGraphUserMessage","props","colors","onPress","onLongPress","onPressURL","rest","color","ui","openChannelMessage","default","createElement","_ref","_props$strings","pressed","_extends","body3","enabled","textMsg","patterns","regex","replacer","_ref2","match","parentProps","keyPrefix","index","key","primary","style","message","Boolean","updatedAt","textMsgPostfix","strings","edited","ogMetaData","grouped","styles","ogContainer","_props$message$ogMeta","url","_ref3","padding","borderRadius","backgroundColor","bubbleBackground","numberOfLines","caption2","onBackground02","ogUrl","body2","ogTitle","title","description","onBackground01","defaultImage","ogImage","source","uri","maxWidth","marginBottom","width","height","marginTop"],"sources":["Message.user.og.tsx"],"sourcesContent":["import React from 'react';\n\nimport type { SendbirdUserMessage } from '@sendbird/uikit-utils';\nimport { urlRegexRough } from '@sendbird/uikit-utils';\n\nimport Box from '../../components/Box';\nimport ImageWithPlaceholder from '../../components/ImageWithPlaceholder';\nimport PressBox from '../../components/PressBox';\nimport RegexText from '../../components/RegexText';\nimport Text from '../../components/Text';\nimport createStyleSheet from '../../styles/createStyleSheet';\nimport useUIKitTheme from '../../theme/useUIKitTheme';\nimport MessageContainer from './MessageContainer';\nimport type { OpenChannelMessageProps } from './index';\n\ntype Props = {};\nconst OpenGraphUserMessage = (props: OpenChannelMessageProps<SendbirdUserMessage, Props>) => {\n const { colors } = useUIKitTheme();\n const { onPress, onLongPress, onPressURL, ...rest } = props;\n const color = colors.ui.openChannelMessage.default;\n\n return (\n <Box>\n <PressBox onPress={onPress} onLongPress={onLongPress}>\n {({ pressed }) => (\n <MessageContainer pressed={pressed} {...rest}>\n <Text body3 color={color.enabled.textMsg}>\n <RegexText\n body3\n color={color.enabled.textMsg}\n patterns={[\n {\n regex: urlRegexRough,\n replacer({ match, parentProps, keyPrefix, index }) {\n return (\n <Text\n {...parentProps}\n key={`${keyPrefix}-${index}`}\n onPress={() => onPressURL?.(match)}\n onLongPress={onLongPress}\n color={colors.primary}\n style={parentProps?.style}\n >\n {match}\n </Text>\n );\n },\n },\n ]}\n >\n {props.message.message}\n </RegexText>\n {Boolean(props.message.updatedAt) && (\n <Text body3 color={color.enabled.textMsgPostfix}>\n {props.strings?.edited ?? ' (edited)'}\n </Text>\n )}\n </Text>\n </MessageContainer>\n )}\n </PressBox>\n {props.message.ogMetaData && (\n <MessageContainer {...rest} grouped>\n <PressBox\n style={styles.ogContainer}\n onPress={() => props.message.ogMetaData?.url && onPressURL?.(props.message.ogMetaData.url)}\n onLongPress={onLongPress}\n >\n {({ pressed }) =>\n props.message.ogMetaData && (\n <Box\n padding={8}\n borderRadius={8}\n style={styles.ogContainer}\n backgroundColor={pressed ? color.pressed.bubbleBackground : color.enabled.bubbleBackground}\n >\n <Text numberOfLines={1} caption2 color={colors.onBackground02} style={styles.ogUrl}>\n {props.message.ogMetaData.url}\n </Text>\n\n <Text numberOfLines={2} body2 color={colors.primary} style={styles.ogTitle}>\n {props.message.ogMetaData.title}\n </Text>\n\n {Boolean(props.message.ogMetaData.description) && (\n <Text numberOfLines={2} caption2 color={colors.onBackground01}>\n {props.message.ogMetaData.description}\n </Text>\n )}\n\n {Boolean(props.message.ogMetaData.defaultImage) && (\n <ImageWithPlaceholder\n style={styles.ogImage}\n source={{ uri: props.message.ogMetaData.defaultImage.url }}\n />\n )}\n </Box>\n )\n }\n </PressBox>\n </MessageContainer>\n )}\n </Box>\n );\n};\n\nconst styles = createStyleSheet({\n ogContainer: {\n maxWidth: 296,\n },\n ogUrl: {\n marginBottom: 4,\n },\n ogTitle: {\n marginBottom: 8,\n },\n ogImage: {\n width: '100%',\n height: 156,\n marginTop: 12,\n },\n});\n\nexport default OpenGraphUserMessage;\n"],"mappings":";AAAA,OAAOA,KAAK,MAAM,OAAO;AAGzB,SAASC,aAAa,QAAQ,uBAAuB;AAErD,OAAOC,GAAG,MAAM,sBAAsB;AACtC,OAAOC,oBAAoB,MAAM,uCAAuC;AACxE,OAAOC,QAAQ,MAAM,2BAA2B;AAChD,OAAOC,SAAS,MAAM,4BAA4B;AAClD,OAAOC,IAAI,MAAM,uBAAuB;AACxC,OAAOC,gBAAgB,MAAM,+BAA+B;AAC5D,OAAOC,aAAa,MAAM,2BAA2B;AACrD,OAAOC,gBAAgB,MAAM,oBAAoB;AAIjD,MAAMC,oBAAoB,GAAIC,KAA0D,IAAK;EAC3F,MAAM;IAAEC;EAAO,CAAC,GAAGJ,aAAa,EAAE;EAClC,MAAM;IAAEK,OAAO;IAAEC,WAAW;IAAEC,UAAU;IAAE,GAAGC;EAAK,CAAC,GAAGL,KAAK;EAC3D,MAAMM,KAAK,GAAGL,MAAM,CAACM,EAAE,CAACC,kBAAkB,CAACC,OAAO;EAElD,oBACEpB,KAAA,CAAAqB,aAAA,CAACnB,GAAG,qBACFF,KAAA,CAAAqB,aAAA,CAACjB,QAAQ;IAACS,OAAO,EAAEA,OAAQ;IAACC,WAAW,EAAEA;EAAY,GAClDQ,IAAA;IAAA,IAAAC,cAAA;IAAA,IAAC;MAAEC;IAAQ,CAAC,GAAAF,IAAA;IAAA,oBACXtB,KAAA,CAAAqB,aAAA,CAACZ,gBAAgB,EAAAgB,QAAA;MAACD,OAAO,EAAEA;IAAQ,GAAKR,IAAI,gBAC1ChB,KAAA,CAAAqB,aAAA,CAACf,IAAI;MAACoB,KAAK;MAACT,KAAK,EAAEA,KAAK,CAACU,OAAO,CAACC;IAAQ,gBACvC5B,KAAA,CAAAqB,aAAA,CAAChB,SAAS;MACRqB,KAAK;MACLT,KAAK,EAAEA,KAAK,CAACU,OAAO,CAACC,OAAQ;MAC7BC,QAAQ,EAAE,CACR;QACEC,KAAK,EAAE7B,aAAa;QACpB8B,QAAQA,CAAAC,KAAA,EAA2C;UAAA,IAA1C;YAAEC,KAAK;YAAEC,WAAW;YAAEC,SAAS;YAAEC;UAAM,CAAC,GAAAJ,KAAA;UAC/C,oBACEhC,KAAA,CAAAqB,aAAA,CAACf,IAAI,EAAAmB,QAAA,KACCS,WAAW;YACfG,GAAG,EAAG,GAAEF,SAAU,IAAGC,KAAM,EAAE;YAC7BvB,OAAO,EAAEA,CAAA,KAAME,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAGkB,KAAK,CAAE;YACnCnB,WAAW,EAAEA,WAAY;YACzBG,KAAK,EAAEL,MAAM,CAAC0B,OAAQ;YACtBC,KAAK,EAAEL,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAEK;UAAM,IAEzBN,KAAK,CACD;QAEX;MACF,CAAC;IACD,GAEDtB,KAAK,CAAC6B,OAAO,CAACA,OAAO,CACZ,EACXC,OAAO,CAAC9B,KAAK,CAAC6B,OAAO,CAACE,SAAS,CAAC,iBAC/B1C,KAAA,CAAAqB,aAAA,CAACf,IAAI;MAACoB,KAAK;MAACT,KAAK,EAAEA,KAAK,CAACU,OAAO,CAACgB;IAAe,GAC7C,EAAApB,cAAA,GAAAZ,KAAK,CAACiC,OAAO,cAAArB,cAAA,uBAAbA,cAAA,CAAesB,MAAM,KAAI,WAAW,CAExC,CACI,CACU;EAAA,CACpB,CACQ,EACVlC,KAAK,CAAC6B,OAAO,CAACM,UAAU,iBACvB9C,KAAA,CAAAqB,aAAA,CAACZ,gBAAgB,EAAAgB,QAAA,KAAKT,IAAI;IAAE+B,OAAO;EAAA,iBACjC/C,KAAA,CAAAqB,aAAA,CAACjB,QAAQ;IACPmC,KAAK,EAAES,MAAM,CAACC,WAAY;IAC1BpC,OAAO,EAAEA,CAAA;MAAA,IAAAqC,qBAAA;MAAA,OAAM,EAAAA,qBAAA,GAAAvC,KAAK,CAAC6B,OAAO,CAACM,UAAU,cAAAI,qBAAA,uBAAxBA,qBAAA,CAA0BC,GAAG,MAAIpC,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAGJ,KAAK,CAAC6B,OAAO,CAACM,UAAU,CAACK,GAAG,CAAC;IAAA,CAAC;IAC3FrC,WAAW,EAAEA;EAAY,GAExBsC,KAAA;IAAA,IAAC;MAAE5B;IAAQ,CAAC,GAAA4B,KAAA;IAAA,OACXzC,KAAK,CAAC6B,OAAO,CAACM,UAAU,iBACtB9C,KAAA,CAAAqB,aAAA,CAACnB,GAAG;MACFmD,OAAO,EAAE,CAAE;MACXC,YAAY,EAAE,CAAE;MAChBf,KAAK,EAAES,MAAM,CAACC,WAAY;MAC1BM,eAAe,EAAE/B,OAAO,GAAGP,KAAK,CAACO,OAAO,CAACgC,gBAAgB,GAAGvC,KAAK,CAACU,OAAO,CAAC6B;IAAiB,gBAE3FxD,KAAA,CAAAqB,aAAA,CAACf,IAAI;MAACmD,aAAa,EAAE,CAAE;MAACC,QAAQ;MAACzC,KAAK,EAAEL,MAAM,CAAC+C,cAAe;MAACpB,KAAK,EAAES,MAAM,CAACY;IAAM,GAChFjD,KAAK,CAAC6B,OAAO,CAACM,UAAU,CAACK,GAAG,CACxB,eAEPnD,KAAA,CAAAqB,aAAA,CAACf,IAAI;MAACmD,aAAa,EAAE,CAAE;MAACI,KAAK;MAAC5C,KAAK,EAAEL,MAAM,CAAC0B,OAAQ;MAACC,KAAK,EAAES,MAAM,CAACc;IAAQ,GACxEnD,KAAK,CAAC6B,OAAO,CAACM,UAAU,CAACiB,KAAK,CAC1B,EAENtB,OAAO,CAAC9B,KAAK,CAAC6B,OAAO,CAACM,UAAU,CAACkB,WAAW,CAAC,iBAC5ChE,KAAA,CAAAqB,aAAA,CAACf,IAAI;MAACmD,aAAa,EAAE,CAAE;MAACC,QAAQ;MAACzC,KAAK,EAAEL,MAAM,CAACqD;IAAe,GAC3DtD,KAAK,CAAC6B,OAAO,CAACM,UAAU,CAACkB,WAAW,CAExC,EAEAvB,OAAO,CAAC9B,KAAK,CAAC6B,OAAO,CAACM,UAAU,CAACoB,YAAY,CAAC,iBAC7ClE,KAAA,CAAAqB,aAAA,CAAClB,oBAAoB;MACnBoC,KAAK,EAAES,MAAM,CAACmB,OAAQ;MACtBC,MAAM,EAAE;QAAEC,GAAG,EAAE1D,KAAK,CAAC6B,OAAO,CAACM,UAAU,CAACoB,YAAY,CAACf;MAAI;IAAE,EAE9D,CAEJ;EAAA,EAEM,CAEd,CACG;AAEV,CAAC;AAED,MAAMH,MAAM,GAAGzC,gBAAgB,CAAC;EAC9B0C,WAAW,EAAE;IACXqB,QAAQ,EAAE;EACZ,CAAC;EACDV,KAAK,EAAE;IACLW,YAAY,EAAE;EAChB,CAAC;EACDT,OAAO,EAAE;IACPS,YAAY,EAAE;EAChB,CAAC;EACDJ,OAAO,EAAE;IACPK,KAAK,EAAE,MAAM;IACbC,MAAM,EAAE,GAAG;IACXC,SAAS,EAAE;EACb;AACF,CAAC,CAAC;AAEF,eAAehE,oBAAoB"}
@@ -1 +1 @@
1
- {"version":3,"names":["AdminMessage","FileMessage","ImageFileMessage","VideoFileMessage","UnknownMessage","UserMessage","OpenGraphUserMessage","OpenChannelMessage","User","OpenGraphUser","File","ImageFile","VideoFile","Admin","Unknown"],"sources":["index.ts"],"sourcesContent":["import type React from 'react';\n\nimport type { SendbirdMessage, SendbirdOpenChannel } from '@sendbird/uikit-utils';\n\nimport AdminMessage from './Message.admin';\nimport FileMessage from './Message.file';\nimport ImageFileMessage from './Message.file.image';\nimport VideoFileMessage from './Message.file.video';\nimport UnknownMessage from './Message.unknown';\nimport UserMessage from './Message.user';\nimport OpenGraphUserMessage from './Message.user.og';\n\nexport type OpenChannelMessageProps<T extends SendbirdMessage, AdditionalProps = unknown> = {\n channel: SendbirdOpenChannel;\n message: T;\n strings?: {\n senderName?: string;\n sentDate?: string;\n edited?: string;\n fileName?: string;\n unknownTitle?: string;\n unknownDescription?: string;\n };\n children?: React.ReactNode;\n grouped?: boolean;\n onPress?: () => void;\n onLongPress?: () => void;\n onPressAvatar?: () => void;\n onPressURL?: () => void;\n} & AdditionalProps;\n\nconst OpenChannelMessage = {\n User: UserMessage,\n OpenGraphUser: OpenGraphUserMessage,\n File: FileMessage,\n ImageFile: ImageFileMessage,\n VideoFile: VideoFileMessage,\n Admin: AdminMessage,\n Unknown: UnknownMessage,\n};\n\nexport default OpenChannelMessage;\n"],"mappings":"AAIA,OAAOA,YAAY,MAAM,iBAAiB;AAC1C,OAAOC,WAAW,MAAM,gBAAgB;AACxC,OAAOC,gBAAgB,MAAM,sBAAsB;AACnD,OAAOC,gBAAgB,MAAM,sBAAsB;AACnD,OAAOC,cAAc,MAAM,mBAAmB;AAC9C,OAAOC,WAAW,MAAM,gBAAgB;AACxC,OAAOC,oBAAoB,MAAM,mBAAmB;AAqBpD,MAAMC,kBAAkB,GAAG;EACzBC,IAAI,EAAEH,WAAW;EACjBI,aAAa,EAAEH,oBAAoB;EACnCI,IAAI,EAAET,WAAW;EACjBU,SAAS,EAAET,gBAAgB;EAC3BU,SAAS,EAAET,gBAAgB;EAC3BU,KAAK,EAAEb,YAAY;EACnBc,OAAO,EAAEV;AACX,CAAC;AAED,eAAeG,kBAAkB"}
1
+ {"version":3,"names":["AdminMessage","FileMessage","ImageFileMessage","VideoFileMessage","UnknownMessage","UserMessage","OpenGraphUserMessage","OpenChannelMessage","User","OpenGraphUser","File","ImageFile","VideoFile","Admin","Unknown"],"sources":["index.ts"],"sourcesContent":["import type React from 'react';\n\nimport type { SendbirdMessage, SendbirdOpenChannel } from '@sendbird/uikit-utils';\n\nimport AdminMessage from './Message.admin';\nimport FileMessage from './Message.file';\nimport ImageFileMessage from './Message.file.image';\nimport VideoFileMessage from './Message.file.video';\nimport UnknownMessage from './Message.unknown';\nimport UserMessage from './Message.user';\nimport OpenGraphUserMessage from './Message.user.og';\n\nexport type OpenChannelMessageProps<T extends SendbirdMessage, AdditionalProps = unknown> = {\n channel: SendbirdOpenChannel;\n message: T;\n strings?: {\n senderName?: string;\n sentDate?: string;\n edited?: string;\n fileName?: string;\n unknownTitle?: string;\n unknownDescription?: string;\n };\n children?: React.ReactNode;\n grouped?: boolean;\n onPress?: () => void;\n onLongPress?: () => void;\n onPressAvatar?: () => void;\n onPressURL?: (url: string) => void;\n} & AdditionalProps;\n\nconst OpenChannelMessage = {\n User: UserMessage,\n OpenGraphUser: OpenGraphUserMessage,\n File: FileMessage,\n ImageFile: ImageFileMessage,\n VideoFile: VideoFileMessage,\n Admin: AdminMessage,\n Unknown: UnknownMessage,\n};\n\nexport default OpenChannelMessage;\n"],"mappings":"AAIA,OAAOA,YAAY,MAAM,iBAAiB;AAC1C,OAAOC,WAAW,MAAM,gBAAgB;AACxC,OAAOC,gBAAgB,MAAM,sBAAsB;AACnD,OAAOC,gBAAgB,MAAM,sBAAsB;AACnD,OAAOC,cAAc,MAAM,mBAAmB;AAC9C,OAAOC,WAAW,MAAM,gBAAgB;AACxC,OAAOC,oBAAoB,MAAM,mBAAmB;AAqBpD,MAAMC,kBAAkB,GAAG;EACzBC,IAAI,EAAEH,WAAW;EACjBI,aAAa,EAAEH,oBAAoB;EACnCI,IAAI,EAAET,WAAW;EACjBU,SAAS,EAAET,gBAAgB;EAC3BU,SAAS,EAAET,gBAAgB;EAC3BU,KAAK,EAAEb,YAAY;EACnBc,OAAO,EAAEV;AACX,CAAC;AAED,eAAeG,kBAAkB"}
@@ -0,0 +1,3 @@
1
+ import type { FastImageProps } from 'react-native-fast-image';
2
+ declare let FastImageInternal: (props: FastImageProps) => JSX.Element | null;
3
+ export default FastImageInternal;
@@ -1,5 +1,5 @@
1
1
  import { TextProps } from '../Text';
2
- interface Pattern {
2
+ export interface RegexTextPattern {
3
3
  regex: RegExp;
4
4
  replacer(params: {
5
5
  match: string;
@@ -10,7 +10,7 @@ interface Pattern {
10
10
  }): string | JSX.Element;
11
11
  }
12
12
  type Props = {
13
- patterns: Pattern[];
13
+ patterns: RegexTextPattern[];
14
14
  } & TextProps;
15
15
  declare const RegexText: ({ children, patterns, ...props }: Props) => JSX.Element;
16
16
  export default RegexText;
@@ -9,10 +9,10 @@ export { default as ImageWithPlaceholder } from './components/ImageWithPlacehold
9
9
  export { default as Modal } from './components/Modal';
10
10
  export { default as PressBox } from './components/PressBox';
11
11
  export { default as RegexText } from './components/RegexText';
12
+ export type { RegexTextPattern } from './components/RegexText';
12
13
  export { default as Switch } from './components/Switch';
13
14
  export { default as Text } from './components/Text';
14
15
  export { default as TextInput } from './components/TextInput';
15
- export { default as URLParsedText } from './components/URLParsedText';
16
16
  /** UI **/
17
17
  export { default as ActionMenu } from './ui/ActionMenu';
18
18
  export { default as Alert } from './ui/Alert';
@@ -22,11 +22,13 @@ export { default as BottomSheet } from './ui/BottomSheet';
22
22
  export { default as Button } from './ui/Button';
23
23
  export { default as ChannelFrozenBanner } from './ui/ChannelFrozenBanner';
24
24
  export { DialogProvider, useActionMenu, useAlert, usePrompt, useBottomSheet } from './ui/Dialog';
25
- export { default as GroupChannelPreview } from './ui/GroupChannelPreview';
26
25
  export { default as Header } from './ui/Header';
27
26
  export { default as LoadingSpinner } from './ui/LoadingSpinner';
28
27
  export { default as MenuBar } from './ui/MenuBar';
29
28
  export type { MenuBarProps } from './ui/MenuBar';
29
+ export { default as GroupChannelMessage } from './ui/GroupChannelMessage';
30
+ export type { GroupChannelMessageProps } from './ui/GroupChannelMessage';
31
+ export { default as GroupChannelPreview } from './ui/GroupChannelPreview';
30
32
  export { default as OpenChannelMessage } from './ui/OpenChannelMessage';
31
33
  export type { OpenChannelMessageProps } from './ui/OpenChannelMessage';
32
34
  export { default as OpenChannelPreview } from './ui/OpenChannelPreview';
@@ -26,7 +26,7 @@ export interface UIKitTheme {
26
26
  colors: UIKitColors;
27
27
  typography: UIKitTypography;
28
28
  }
29
- export type Component = 'Header' | 'Button' | 'Dialog' | 'Input' | 'Badge' | 'Placeholder' | 'DateSeparator' | 'GroupChannelMessage' | 'GroupChannelPreview' | 'ProfileCard' | 'Reaction' | 'OpenChannelMessage' | 'OpenChannelPreview' | 'Message';
29
+ export type Component = 'Header' | 'Button' | 'Dialog' | 'Input' | 'Badge' | 'Placeholder' | 'DateSeparator' | 'GroupChannelMessage' | 'GroupChannelPreview' | 'ProfileCard' | 'Reaction' | 'OpenChannelMessage' | 'OpenChannelPreview';
30
30
  export type GetColorTree<Tree extends {
31
31
  Variant: {
32
32
  [key in Component]: string;
@@ -53,8 +53,6 @@ export type ComponentColorTree = GetColorTree<{
53
53
  Reaction: 'default' | 'rounded';
54
54
  OpenChannelMessage: 'default';
55
55
  OpenChannelPreview: 'default';
56
- /** @deprecated **/
57
- Message: 'incoming' | 'outgoing';
58
56
  };
59
57
  State: {
60
58
  Header: 'none';
@@ -70,8 +68,6 @@ export type ComponentColorTree = GetColorTree<{
70
68
  Reaction: 'enabled' | 'selected';
71
69
  OpenChannelMessage: 'enabled' | 'pressed';
72
70
  OpenChannelPreview: 'none';
73
- /** @deprecated **/
74
- Message: 'enabled' | 'pressed';
75
71
  };
76
72
  ColorPart: {
77
73
  Header: 'background' | 'borderBottom';
@@ -87,8 +83,6 @@ export type ComponentColorTree = GetColorTree<{
87
83
  Reaction: 'background' | 'highlight';
88
84
  OpenChannelMessage: 'textMsg' | 'textMsgPostfix' | 'textSenderName' | 'textTime' | 'textOperator' | 'background' | 'bubbleBackground' | 'adminBackground';
89
85
  OpenChannelPreview: 'textTitle' | 'textParticipants' | 'frozenIcon' | 'participantsIcon' | 'background' | 'coverBackground' | 'separator';
90
- /** @deprecated **/
91
- Message: 'textMsg' | 'textEdited' | 'textSenderName' | 'textTime' | 'background';
92
86
  };
93
87
  }>;
94
88
  export type ComponentColors<T extends Component> = {
@@ -135,8 +129,6 @@ export interface UIKitColors {
135
129
  reaction: ComponentColors<'Reaction'>;
136
130
  openChannelMessage: ComponentColors<'OpenChannelMessage'>;
137
131
  openChannelPreview: ComponentColors<'OpenChannelPreview'>;
138
- /** @deprecated Please use `colors.ui.groupChannelMessage` **/
139
- message: ComponentColors<'Message'>;
140
132
  };
141
133
  }
142
134
  export type HeaderElement = string | ReactElement | null;
@@ -0,0 +1,4 @@
1
+ import type { SendbirdAdminMessage } from '@sendbird/uikit-utils';
2
+ import type { GroupChannelMessageProps } from './index';
3
+ declare const AdminMessage: (props: GroupChannelMessageProps<SendbirdAdminMessage>) => JSX.Element;
4
+ export default AdminMessage;
@@ -0,0 +1,5 @@
1
+ import { SendbirdFileMessage } from '@sendbird/uikit-utils';
2
+ import type { GroupChannelMessageProps } from './index';
3
+ type Props = GroupChannelMessageProps<SendbirdFileMessage>;
4
+ declare const FileMessage: (props: Props) => JSX.Element;
5
+ export default FileMessage;
@@ -0,0 +1,4 @@
1
+ import type { SendbirdFileMessage } from '@sendbird/uikit-utils';
2
+ import type { GroupChannelMessageProps } from './index';
3
+ declare const ImageFileMessage: (props: GroupChannelMessageProps<SendbirdFileMessage>) => JSX.Element;
4
+ export default ImageFileMessage;
@@ -0,0 +1,9 @@
1
+ import type { SendbirdFileMessage } from '@sendbird/uikit-utils';
2
+ import type { GroupChannelMessageProps } from './index';
3
+ type Props = GroupChannelMessageProps<SendbirdFileMessage, {
4
+ fetchThumbnailFromVideoSource: (uri: string) => Promise<{
5
+ path: string;
6
+ } | null>;
7
+ }>;
8
+ declare const VideoFileMessage: (props: Props) => JSX.Element;
9
+ export default VideoFileMessage;
@@ -0,0 +1,4 @@
1
+ import type { SendbirdMessage } from '@sendbird/uikit-utils';
2
+ import type { GroupChannelMessageProps } from './index';
3
+ declare const UnknownMessage: (props: GroupChannelMessageProps<SendbirdMessage>) => JSX.Element;
4
+ export default UnknownMessage;
@@ -0,0 +1,9 @@
1
+ import type { SendbirdUserMessage } from '@sendbird/uikit-utils';
2
+ import type { RegexTextPattern } from '../../components/RegexText';
3
+ import type { GroupChannelMessageProps } from './index';
4
+ type Props = GroupChannelMessageProps<SendbirdUserMessage, {
5
+ regexTextPatterns?: RegexTextPattern[];
6
+ renderRegexTextChildren?: (message: SendbirdUserMessage) => string;
7
+ }>;
8
+ declare const UserMessage: (props: Props) => JSX.Element;
9
+ export default UserMessage;
@@ -0,0 +1,9 @@
1
+ import type { SendbirdUserMessage } from '@sendbird/uikit-utils';
2
+ import type { RegexTextPattern } from '../../components/RegexText';
3
+ import type { GroupChannelMessageProps } from './index';
4
+ type Props = GroupChannelMessageProps<SendbirdUserMessage, {
5
+ regexTextPatterns?: RegexTextPattern[];
6
+ renderRegexTextChildren?: (message: SendbirdUserMessage) => string;
7
+ }>;
8
+ declare const OpenGraphUserMessage: (props: Props) => JSX.Element;
9
+ export default OpenGraphUserMessage;
@@ -0,0 +1,10 @@
1
+ import { SendbirdUserMessage } from '@sendbird/uikit-utils';
2
+ import { RegexTextPattern } from '../../components/RegexText';
3
+ import type { GroupChannelMessageProps } from './index';
4
+ type Props = GroupChannelMessageProps<SendbirdUserMessage, {
5
+ backgroundColor?: string;
6
+ regexTextPatterns?: RegexTextPattern[];
7
+ renderRegexTextChildren?: (message: SendbirdUserMessage) => string;
8
+ }>;
9
+ declare const MessageBubbleWithText: ({ backgroundColor, message, onPressURL, onLongPress, strings, variant, regexTextPatterns, renderRegexTextChildren, }: Props) => JSX.Element;
10
+ export default MessageBubbleWithText;
@@ -0,0 +1,9 @@
1
+ import type { SendbirdMessage } from '@sendbird/uikit-utils';
2
+ import type { GroupChannelMessageProps } from './index';
3
+ type Props = GroupChannelMessageProps<SendbirdMessage>;
4
+ declare const MessageContainer: {
5
+ (props: Props): JSX.Element;
6
+ Incoming({ children, groupedWithNext, groupedWithPrev, message, onPressAvatar, strings, }: Props): JSX.Element;
7
+ Outgoing({ children, message, groupedWithNext, strings, sendingStatus, }: Props): JSX.Element;
8
+ };
9
+ export default MessageContainer;
@@ -0,0 +1,8 @@
1
+ import type { SendbirdUserMessage } from '@sendbird/uikit-utils';
2
+ declare const MessageOpenGraph: ({ onPressURL, onLongPress, ogMetaData, variant, }: {
3
+ ogMetaData: Required<SendbirdUserMessage>['ogMetaData'];
4
+ variant: 'outgoing' | 'incoming';
5
+ onPressURL?: ((url: string) => void) | undefined;
6
+ onLongPress?: (() => void) | undefined;
7
+ }) => JSX.Element;
8
+ export default MessageOpenGraph;