@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.
- package/README.md +4 -0
- package/lib/commonjs/components/Image/FastImageInternal.js +13 -0
- package/lib/commonjs/components/Image/FastImageInternal.js.map +1 -0
- package/lib/commonjs/components/Image/Image.fastimage.js +2 -5
- package/lib/commonjs/components/Image/Image.fastimage.js.map +1 -1
- package/lib/commonjs/components/ImageWithPlaceholder/index.js +7 -1
- package/lib/commonjs/components/ImageWithPlaceholder/index.js.map +1 -1
- package/lib/commonjs/components/RegexText/index.js.map +1 -1
- package/lib/commonjs/index.js +8 -8
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/types.js.map +1 -1
- package/lib/commonjs/ui/Avatar/AvatarGroup.js +1 -1
- package/lib/commonjs/ui/Avatar/AvatarGroup.js.map +1 -1
- package/lib/commonjs/ui/GroupChannelMessage/Message.admin.js +37 -0
- package/lib/commonjs/ui/GroupChannelMessage/Message.admin.js.map +1 -0
- package/lib/commonjs/ui/GroupChannelMessage/Message.file.image.js +54 -0
- package/lib/commonjs/ui/GroupChannelMessage/Message.file.image.js.map +1 -0
- package/lib/commonjs/ui/GroupChannelMessage/Message.file.js +80 -0
- package/lib/commonjs/ui/GroupChannelMessage/Message.file.js.map +1 -0
- package/lib/commonjs/ui/GroupChannelMessage/Message.file.video.js +120 -0
- package/lib/commonjs/ui/GroupChannelMessage/Message.file.video.js.map +1 -0
- package/lib/commonjs/ui/GroupChannelMessage/Message.unknown.js +54 -0
- package/lib/commonjs/ui/GroupChannelMessage/Message.unknown.js.map +1 -0
- package/lib/commonjs/ui/GroupChannelMessage/Message.user.js +44 -0
- package/lib/commonjs/ui/GroupChannelMessage/Message.user.js.map +1 -0
- package/lib/commonjs/ui/GroupChannelMessage/Message.user.og.js +59 -0
- package/lib/commonjs/ui/GroupChannelMessage/Message.user.og.js.map +1 -0
- package/lib/commonjs/ui/GroupChannelMessage/MessageBubbleWithText.js +74 -0
- package/lib/commonjs/ui/GroupChannelMessage/MessageBubbleWithText.js.map +1 -0
- package/lib/commonjs/ui/GroupChannelMessage/MessageContainer.js +110 -0
- package/lib/commonjs/ui/GroupChannelMessage/MessageContainer.js.map +1 -0
- package/lib/commonjs/ui/GroupChannelMessage/MessageOpenGraph.js +91 -0
- package/lib/commonjs/ui/GroupChannelMessage/MessageOpenGraph.js.map +1 -0
- package/lib/commonjs/ui/GroupChannelMessage/index.js +26 -0
- package/lib/commonjs/ui/GroupChannelMessage/index.js.map +1 -0
- package/lib/commonjs/ui/OpenChannelMessage/Message.user.js +1 -1
- package/lib/commonjs/ui/OpenChannelMessage/Message.user.js.map +1 -1
- package/lib/commonjs/ui/OpenChannelMessage/Message.user.og.js +5 -2
- package/lib/commonjs/ui/OpenChannelMessage/Message.user.og.js.map +1 -1
- package/lib/commonjs/ui/OpenChannelMessage/index.js.map +1 -1
- package/lib/module/components/Image/FastImageInternal.js +6 -0
- package/lib/module/components/Image/FastImageInternal.js.map +1 -0
- package/lib/module/components/Image/Image.fastimage.js +2 -5
- package/lib/module/components/Image/Image.fastimage.js.map +1 -1
- package/lib/module/components/ImageWithPlaceholder/index.js +7 -1
- package/lib/module/components/ImageWithPlaceholder/index.js.map +1 -1
- package/lib/module/components/RegexText/index.js.map +1 -1
- package/lib/module/index.js +2 -2
- package/lib/module/index.js.map +1 -1
- package/lib/module/types.js.map +1 -1
- package/lib/module/ui/Avatar/AvatarGroup.js +1 -1
- package/lib/module/ui/Avatar/AvatarGroup.js.map +1 -1
- package/lib/module/ui/GroupChannelMessage/Message.admin.js +29 -0
- package/lib/module/ui/GroupChannelMessage/Message.admin.js.map +1 -0
- package/lib/module/ui/GroupChannelMessage/Message.file.image.js +46 -0
- package/lib/module/ui/GroupChannelMessage/Message.file.image.js.map +1 -0
- package/lib/module/ui/GroupChannelMessage/Message.file.js +72 -0
- package/lib/module/ui/GroupChannelMessage/Message.file.js.map +1 -0
- package/lib/module/ui/GroupChannelMessage/Message.file.video.js +110 -0
- package/lib/module/ui/GroupChannelMessage/Message.file.video.js.map +1 -0
- package/lib/module/ui/GroupChannelMessage/Message.unknown.js +46 -0
- package/lib/module/ui/GroupChannelMessage/Message.unknown.js.map +1 -0
- package/lib/module/ui/GroupChannelMessage/Message.user.js +36 -0
- package/lib/module/ui/GroupChannelMessage/Message.user.js.map +1 -0
- package/lib/module/ui/GroupChannelMessage/Message.user.og.js +51 -0
- package/lib/module/ui/GroupChannelMessage/Message.user.og.js.map +1 -0
- package/lib/module/ui/GroupChannelMessage/MessageBubbleWithText.js +66 -0
- package/lib/module/ui/GroupChannelMessage/MessageBubbleWithText.js.map +1 -0
- package/lib/module/ui/GroupChannelMessage/MessageContainer.js +102 -0
- package/lib/module/ui/GroupChannelMessage/MessageContainer.js.map +1 -0
- package/lib/module/ui/GroupChannelMessage/MessageOpenGraph.js +83 -0
- package/lib/module/ui/GroupChannelMessage/MessageOpenGraph.js.map +1 -0
- package/lib/module/ui/GroupChannelMessage/index.js +18 -0
- package/lib/module/ui/GroupChannelMessage/index.js.map +1 -0
- package/lib/module/ui/OpenChannelMessage/Message.user.js +1 -1
- package/lib/module/ui/OpenChannelMessage/Message.user.js.map +1 -1
- package/lib/module/ui/OpenChannelMessage/Message.user.og.js +5 -2
- package/lib/module/ui/OpenChannelMessage/Message.user.og.js.map +1 -1
- package/lib/module/ui/OpenChannelMessage/index.js.map +1 -1
- package/lib/typescript/src/components/Image/FastImageInternal.d.ts +3 -0
- package/lib/typescript/src/components/RegexText/index.d.ts +2 -2
- package/lib/typescript/src/index.d.ts +4 -2
- package/lib/typescript/src/types.d.ts +1 -9
- package/lib/typescript/src/ui/GroupChannelMessage/Message.admin.d.ts +4 -0
- package/lib/typescript/src/ui/GroupChannelMessage/Message.file.d.ts +5 -0
- package/lib/typescript/src/ui/GroupChannelMessage/Message.file.image.d.ts +4 -0
- package/lib/typescript/src/ui/GroupChannelMessage/Message.file.video.d.ts +9 -0
- package/lib/typescript/src/ui/GroupChannelMessage/Message.unknown.d.ts +4 -0
- package/lib/typescript/src/ui/GroupChannelMessage/Message.user.d.ts +9 -0
- package/lib/typescript/src/ui/GroupChannelMessage/Message.user.og.d.ts +9 -0
- package/lib/typescript/src/ui/GroupChannelMessage/MessageBubbleWithText.d.ts +10 -0
- package/lib/typescript/src/ui/GroupChannelMessage/MessageContainer.d.ts +9 -0
- package/lib/typescript/src/ui/GroupChannelMessage/MessageOpenGraph.d.ts +8 -0
- package/lib/typescript/src/ui/GroupChannelMessage/index.d.ts +191 -0
- package/lib/typescript/src/ui/OpenChannelMessage/index.d.ts +7 -7
- package/package.json +6 -6
- package/src/components/Image/FastImageInternal.tsx +9 -0
- package/src/components/Image/Image.fastimage.tsx +2 -7
- package/src/components/ImageWithPlaceholder/index.tsx +3 -2
- package/src/components/RegexText/index.tsx +2 -2
- package/src/index.ts +5 -2
- package/src/types.ts +1 -11
- package/src/ui/Avatar/AvatarGroup.tsx +1 -1
- package/src/ui/GroupChannelMessage/Message.admin.tsx +34 -0
- package/src/ui/GroupChannelMessage/Message.file.image.tsx +45 -0
- package/src/ui/GroupChannelMessage/Message.file.tsx +70 -0
- package/src/ui/GroupChannelMessage/Message.file.video.tsx +106 -0
- package/src/ui/GroupChannelMessage/Message.unknown.tsx +47 -0
- package/src/ui/GroupChannelMessage/Message.user.og.tsx +62 -0
- package/src/ui/GroupChannelMessage/Message.user.tsx +49 -0
- package/src/ui/GroupChannelMessage/MessageBubbleWithText.tsx +80 -0
- package/src/ui/GroupChannelMessage/MessageContainer.tsx +106 -0
- package/src/ui/GroupChannelMessage/MessageOpenGraph.tsx +84 -0
- package/src/ui/GroupChannelMessage/index.ts +48 -0
- package/src/ui/OpenChannelMessage/Message.user.og.tsx +6 -2
- package/src/ui/OpenChannelMessage/Message.user.tsx +1 -1
- package/src/ui/OpenChannelMessage/index.ts +1 -1
- package/lib/commonjs/components/URLParsedText/index.js +0 -46
- package/lib/commonjs/components/URLParsedText/index.js.map +0 -1
- package/lib/module/components/URLParsedText/index.js +0 -38
- package/lib/module/components/URLParsedText/index.js.map +0 -1
- package/lib/typescript/src/components/URLParsedText/index.d.ts +0 -8
- 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,
|
|
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:
|
|
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","
|
|
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":"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"}
|
|
@@ -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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { TextProps } from '../Text';
|
|
2
|
-
interface
|
|
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:
|
|
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'
|
|
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,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,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;
|