@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,120 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
8
|
+
var _reactNative = require("react-native");
|
|
9
|
+
var _uikitUtils = require("@sendbird/uikit-utils");
|
|
10
|
+
var _Box = _interopRequireDefault(require("../../components/Box"));
|
|
11
|
+
var _Icon = _interopRequireDefault(require("../../components/Icon"));
|
|
12
|
+
var _ImageWithPlaceholder = _interopRequireDefault(require("../../components/ImageWithPlaceholder"));
|
|
13
|
+
var _PressBox = _interopRequireDefault(require("../../components/PressBox"));
|
|
14
|
+
var _createStyleSheet = _interopRequireDefault(require("../../styles/createStyleSheet"));
|
|
15
|
+
var _useUIKitTheme = _interopRequireDefault(require("../../theme/useUIKitTheme"));
|
|
16
|
+
var _MessageContainer = _interopRequireDefault(require("./MessageContainer"));
|
|
17
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
18
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
19
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
20
|
+
const VideoFileMessage = props => {
|
|
21
|
+
const {
|
|
22
|
+
onPress,
|
|
23
|
+
onLongPress,
|
|
24
|
+
variant = 'incoming'
|
|
25
|
+
} = props;
|
|
26
|
+
const {
|
|
27
|
+
colors,
|
|
28
|
+
palette,
|
|
29
|
+
select
|
|
30
|
+
} = (0, _useUIKitTheme.default)();
|
|
31
|
+
const uri = (0, _uikitUtils.getAvailableUriFromFileMessage)(props.message);
|
|
32
|
+
const {
|
|
33
|
+
thumbnail,
|
|
34
|
+
loading
|
|
35
|
+
} = useRetry(() => props.fetchThumbnailFromVideoSource(uri));
|
|
36
|
+
return /*#__PURE__*/_react.default.createElement(_MessageContainer.default, props, /*#__PURE__*/_react.default.createElement(_Box.default, {
|
|
37
|
+
style: styles.container,
|
|
38
|
+
backgroundColor: colors.ui.groupChannelMessage[variant].enabled.background
|
|
39
|
+
}, /*#__PURE__*/_react.default.createElement(_PressBox.default, {
|
|
40
|
+
activeOpacity: 0.8,
|
|
41
|
+
onPress: onPress,
|
|
42
|
+
onLongPress: onLongPress,
|
|
43
|
+
style: styles.image
|
|
44
|
+
}, loading ? /*#__PURE__*/_react.default.createElement(_Box.default, {
|
|
45
|
+
style: _reactNative.StyleSheet.absoluteFill,
|
|
46
|
+
backgroundColor: select({
|
|
47
|
+
dark: palette.background400,
|
|
48
|
+
light: palette.background100
|
|
49
|
+
})
|
|
50
|
+
}) : /*#__PURE__*/_react.default.createElement(_ImageWithPlaceholder.default, {
|
|
51
|
+
source: {
|
|
52
|
+
uri: thumbnail ?? 'invalid-image'
|
|
53
|
+
},
|
|
54
|
+
style: _reactNative.StyleSheet.absoluteFill
|
|
55
|
+
}), (loading || thumbnail !== null) && /*#__PURE__*/_react.default.createElement(_Box.default, {
|
|
56
|
+
style: _reactNative.StyleSheet.absoluteFill,
|
|
57
|
+
alignItems: 'center',
|
|
58
|
+
justifyContent: 'center'
|
|
59
|
+
}, /*#__PURE__*/_react.default.createElement(_Icon.default, {
|
|
60
|
+
icon: 'play',
|
|
61
|
+
size: 28,
|
|
62
|
+
color: palette.onBackgroundLight02,
|
|
63
|
+
containerStyle: [styles.playIcon, {
|
|
64
|
+
backgroundColor: palette.onBackgroundDark01
|
|
65
|
+
}]
|
|
66
|
+
}))), props.children));
|
|
67
|
+
};
|
|
68
|
+
const useRetry = function (fetch) {
|
|
69
|
+
let retryCount = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 5;
|
|
70
|
+
const [state, setState] = (0, _react.useState)({
|
|
71
|
+
thumbnail: null,
|
|
72
|
+
loading: true
|
|
73
|
+
});
|
|
74
|
+
const retryCountRef = (0, _react.useRef)(0);
|
|
75
|
+
const retryTimeoutRef = (0, _react.useRef)();
|
|
76
|
+
const fetchThumbnail = (0, _react.useRef)(fetch);
|
|
77
|
+
fetchThumbnail.current = fetch;
|
|
78
|
+
(0, _react.useEffect)(() => {
|
|
79
|
+
if (!state.thumbnail) {
|
|
80
|
+
const reloadReservation = () => {
|
|
81
|
+
if (retryCountRef.current < retryCount) {
|
|
82
|
+
retryTimeoutRef.current = setTimeout(() => {
|
|
83
|
+
retryCountRef.current++;
|
|
84
|
+
reloadReservation();
|
|
85
|
+
fetchThumbnail.current().then(result => {
|
|
86
|
+
setState({
|
|
87
|
+
loading: false,
|
|
88
|
+
thumbnail: (result === null || result === void 0 ? void 0 : result.path) ?? null
|
|
89
|
+
});
|
|
90
|
+
});
|
|
91
|
+
}, retryCountRef.current * 5000);
|
|
92
|
+
}
|
|
93
|
+
};
|
|
94
|
+
return reloadReservation();
|
|
95
|
+
} else {
|
|
96
|
+
return clearTimeout(retryTimeoutRef.current);
|
|
97
|
+
}
|
|
98
|
+
}, [state.thumbnail]);
|
|
99
|
+
return state;
|
|
100
|
+
};
|
|
101
|
+
const styles = (0, _createStyleSheet.default)({
|
|
102
|
+
container: {
|
|
103
|
+
borderRadius: 16,
|
|
104
|
+
overflow: 'hidden'
|
|
105
|
+
},
|
|
106
|
+
image: {
|
|
107
|
+
maxWidth: 240,
|
|
108
|
+
width: 240,
|
|
109
|
+
height: 160,
|
|
110
|
+
borderRadius: 16,
|
|
111
|
+
overflow: 'hidden'
|
|
112
|
+
},
|
|
113
|
+
playIcon: {
|
|
114
|
+
padding: 10,
|
|
115
|
+
borderRadius: 50
|
|
116
|
+
}
|
|
117
|
+
});
|
|
118
|
+
var _default = VideoFileMessage;
|
|
119
|
+
exports.default = _default;
|
|
120
|
+
//# sourceMappingURL=Message.file.video.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_uikitUtils","_Box","_interopRequireDefault","_Icon","_ImageWithPlaceholder","_PressBox","_createStyleSheet","_useUIKitTheme","_MessageContainer","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","VideoFileMessage","props","onPress","onLongPress","variant","colors","palette","select","useUIKitTheme","uri","getAvailableUriFromFileMessage","message","thumbnail","loading","useRetry","fetchThumbnailFromVideoSource","createElement","style","styles","container","backgroundColor","ui","groupChannelMessage","enabled","background","activeOpacity","image","StyleSheet","absoluteFill","dark","background400","light","background100","source","alignItems","justifyContent","icon","size","color","onBackgroundLight02","containerStyle","playIcon","onBackgroundDark01","children","fetch","retryCount","arguments","length","undefined","state","setState","useState","retryCountRef","useRef","retryTimeoutRef","fetchThumbnail","current","useEffect","reloadReservation","setTimeout","then","result","path","clearTimeout","createStyleSheet","borderRadius","overflow","maxWidth","width","height","padding","_default","exports"],"sources":["Message.file.video.tsx"],"sourcesContent":["import React, { useEffect, useRef, useState } from 'react';\nimport { StyleSheet } from 'react-native';\n\nimport type { SendbirdFileMessage } from '@sendbird/uikit-utils';\nimport { getAvailableUriFromFileMessage } from '@sendbird/uikit-utils';\n\nimport Box from '../../components/Box';\nimport Icon from '../../components/Icon';\nimport ImageWithPlaceholder from '../../components/ImageWithPlaceholder';\nimport PressBox from '../../components/PressBox';\nimport createStyleSheet from '../../styles/createStyleSheet';\nimport useUIKitTheme from '../../theme/useUIKitTheme';\nimport MessageContainer from './MessageContainer';\nimport type { GroupChannelMessageProps } from './index';\n\ntype Props = GroupChannelMessageProps<\n SendbirdFileMessage,\n {\n fetchThumbnailFromVideoSource: (uri: string) => Promise<{ path: string } | null>;\n }\n>;\n\nconst VideoFileMessage = (props: Props) => {\n const { onPress, onLongPress, variant = 'incoming' } = props;\n\n const { colors, palette, select } = useUIKitTheme();\n const uri = getAvailableUriFromFileMessage(props.message);\n const { thumbnail, loading } = useRetry(() => props.fetchThumbnailFromVideoSource(uri));\n\n return (\n <MessageContainer {...props}>\n <Box style={styles.container} backgroundColor={colors.ui.groupChannelMessage[variant].enabled.background}>\n <PressBox activeOpacity={0.8} onPress={onPress} onLongPress={onLongPress} style={styles.image}>\n {loading ? (\n <Box\n style={StyleSheet.absoluteFill}\n backgroundColor={select({ dark: palette.background400, light: palette.background100 })}\n />\n ) : (\n <ImageWithPlaceholder source={{ uri: thumbnail ?? 'invalid-image' }} style={StyleSheet.absoluteFill} />\n )}\n\n {(loading || thumbnail !== null) && (\n <Box style={StyleSheet.absoluteFill} alignItems={'center'} justifyContent={'center'}>\n <Icon\n icon={'play'}\n size={28}\n color={palette.onBackgroundLight02}\n containerStyle={[styles.playIcon, { backgroundColor: palette.onBackgroundDark01 }]}\n />\n </Box>\n )}\n </PressBox>\n {props.children}\n </Box>\n </MessageContainer>\n );\n};\n\nconst useRetry = (fetch: () => Promise<{ path: string } | null>, retryCount = 5) => {\n const [state, setState] = useState({ thumbnail: null as null | string, loading: true });\n const retryCountRef = useRef(0);\n const retryTimeoutRef = useRef<NodeJS.Timeout>();\n const fetchThumbnail = useRef(fetch);\n fetchThumbnail.current = fetch;\n\n useEffect(() => {\n if (!state.thumbnail) {\n const reloadReservation = () => {\n if (retryCountRef.current < retryCount) {\n retryTimeoutRef.current = setTimeout(() => {\n retryCountRef.current++;\n reloadReservation();\n fetchThumbnail.current().then((result) => {\n setState({ loading: false, thumbnail: result?.path ?? null });\n });\n }, retryCountRef.current * 5000);\n }\n };\n\n return reloadReservation();\n } else {\n return clearTimeout(retryTimeoutRef.current);\n }\n }, [state.thumbnail]);\n\n return state;\n};\nconst styles = createStyleSheet({\n container: {\n borderRadius: 16,\n overflow: 'hidden',\n },\n image: {\n maxWidth: 240,\n width: 240,\n height: 160,\n borderRadius: 16,\n overflow: 'hidden',\n },\n playIcon: {\n padding: 10,\n borderRadius: 50,\n },\n});\nexport default VideoFileMessage;\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAGA,IAAAE,WAAA,GAAAF,OAAA;AAEA,IAAAG,IAAA,GAAAC,sBAAA,CAAAJ,OAAA;AACA,IAAAK,KAAA,GAAAD,sBAAA,CAAAJ,OAAA;AACA,IAAAM,qBAAA,GAAAF,sBAAA,CAAAJ,OAAA;AACA,IAAAO,SAAA,GAAAH,sBAAA,CAAAJ,OAAA;AACA,IAAAQ,iBAAA,GAAAJ,sBAAA,CAAAJ,OAAA;AACA,IAAAS,cAAA,GAAAL,sBAAA,CAAAJ,OAAA;AACA,IAAAU,iBAAA,GAAAN,sBAAA,CAAAJ,OAAA;AAAkD,SAAAI,uBAAAO,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAhB,wBAAAY,GAAA,EAAAI,WAAA,SAAAA,WAAA,IAAAJ,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,oBAAAA,GAAA,wBAAAA,GAAA,4BAAAE,OAAA,EAAAF,GAAA,UAAAQ,KAAA,GAAAL,wBAAA,CAAAC,WAAA,OAAAI,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAT,GAAA,YAAAQ,KAAA,CAAAE,GAAA,CAAAV,GAAA,SAAAW,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAhB,GAAA,QAAAgB,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAnB,GAAA,EAAAgB,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAf,GAAA,EAAAgB,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAhB,GAAA,CAAAgB,GAAA,SAAAL,MAAA,CAAAT,OAAA,GAAAF,GAAA,MAAAQ,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAArB,GAAA,EAAAW,MAAA,YAAAA,MAAA;AAUlD,MAAMW,gBAAgB,GAAIC,KAAY,IAAK;EACzC,MAAM;IAAEC,OAAO;IAAEC,WAAW;IAAEC,OAAO,GAAG;EAAW,CAAC,GAAGH,KAAK;EAE5D,MAAM;IAAEI,MAAM;IAAEC,OAAO;IAAEC;EAAO,CAAC,GAAG,IAAAC,sBAAa,GAAE;EACnD,MAAMC,GAAG,GAAG,IAAAC,0CAA8B,EAACT,KAAK,CAACU,OAAO,CAAC;EACzD,MAAM;IAAEC,SAAS;IAAEC;EAAQ,CAAC,GAAGC,QAAQ,CAAC,MAAMb,KAAK,CAACc,6BAA6B,CAACN,GAAG,CAAC,CAAC;EAEvF,oBACE5C,MAAA,CAAAe,OAAA,CAAAoC,aAAA,CAACvC,iBAAA,CAAAG,OAAgB,EAAKqB,KAAK,eACzBpC,MAAA,CAAAe,OAAA,CAAAoC,aAAA,CAAC9C,IAAA,CAAAU,OAAG;IAACqC,KAAK,EAAEC,MAAM,CAACC,SAAU;IAACC,eAAe,EAAEf,MAAM,CAACgB,EAAE,CAACC,mBAAmB,CAAClB,OAAO,CAAC,CAACmB,OAAO,CAACC;EAAW,gBACvG3D,MAAA,CAAAe,OAAA,CAAAoC,aAAA,CAAC1C,SAAA,CAAAM,OAAQ;IAAC6C,aAAa,EAAE,GAAI;IAACvB,OAAO,EAAEA,OAAQ;IAACC,WAAW,EAAEA,WAAY;IAACc,KAAK,EAAEC,MAAM,CAACQ;EAAM,GAC3Fb,OAAO,gBACNhD,MAAA,CAAAe,OAAA,CAAAoC,aAAA,CAAC9C,IAAA,CAAAU,OAAG;IACFqC,KAAK,EAAEU,uBAAU,CAACC,YAAa;IAC/BR,eAAe,EAAEb,MAAM,CAAC;MAAEsB,IAAI,EAAEvB,OAAO,CAACwB,aAAa;MAAEC,KAAK,EAAEzB,OAAO,CAAC0B;IAAc,CAAC;EAAE,EACvF,gBAEFnE,MAAA,CAAAe,OAAA,CAAAoC,aAAA,CAAC3C,qBAAA,CAAAO,OAAoB;IAACqD,MAAM,EAAE;MAAExB,GAAG,EAAEG,SAAS,IAAI;IAAgB,CAAE;IAACK,KAAK,EAAEU,uBAAU,CAACC;EAAa,EACrG,EAEA,CAACf,OAAO,IAAID,SAAS,KAAK,IAAI,kBAC7B/C,MAAA,CAAAe,OAAA,CAAAoC,aAAA,CAAC9C,IAAA,CAAAU,OAAG;IAACqC,KAAK,EAAEU,uBAAU,CAACC,YAAa;IAACM,UAAU,EAAE,QAAS;IAACC,cAAc,EAAE;EAAS,gBAClFtE,MAAA,CAAAe,OAAA,CAAAoC,aAAA,CAAC5C,KAAA,CAAAQ,OAAI;IACHwD,IAAI,EAAE,MAAO;IACbC,IAAI,EAAE,EAAG;IACTC,KAAK,EAAEhC,OAAO,CAACiC,mBAAoB;IACnCC,cAAc,EAAE,CAACtB,MAAM,CAACuB,QAAQ,EAAE;MAAErB,eAAe,EAAEd,OAAO,CAACoC;IAAmB,CAAC;EAAE,EACnF,CAEL,CACQ,EACVzC,KAAK,CAAC0C,QAAQ,CACX,CACW;AAEvB,CAAC;AAED,MAAM7B,QAAQ,GAAG,SAAAA,CAAC8B,KAA6C,EAAqB;EAAA,IAAnBC,UAAU,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC;EAC7E,MAAM,CAACG,KAAK,EAAEC,QAAQ,CAAC,GAAG,IAAAC,eAAQ,EAAC;IAAEvC,SAAS,EAAE,IAAqB;IAAEC,OAAO,EAAE;EAAK,CAAC,CAAC;EACvF,MAAMuC,aAAa,GAAG,IAAAC,aAAM,EAAC,CAAC,CAAC;EAC/B,MAAMC,eAAe,GAAG,IAAAD,aAAM,GAAkB;EAChD,MAAME,cAAc,GAAG,IAAAF,aAAM,EAACT,KAAK,CAAC;EACpCW,cAAc,CAACC,OAAO,GAAGZ,KAAK;EAE9B,IAAAa,gBAAS,EAAC,MAAM;IACd,IAAI,CAACR,KAAK,CAACrC,SAAS,EAAE;MACpB,MAAM8C,iBAAiB,GAAGA,CAAA,KAAM;QAC9B,IAAIN,aAAa,CAACI,OAAO,GAAGX,UAAU,EAAE;UACtCS,eAAe,CAACE,OAAO,GAAGG,UAAU,CAAC,MAAM;YACzCP,aAAa,CAACI,OAAO,EAAE;YACvBE,iBAAiB,EAAE;YACnBH,cAAc,CAACC,OAAO,EAAE,CAACI,IAAI,CAAEC,MAAM,IAAK;cACxCX,QAAQ,CAAC;gBAAErC,OAAO,EAAE,KAAK;gBAAED,SAAS,EAAE,CAAAiD,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEC,IAAI,KAAI;cAAK,CAAC,CAAC;YAC/D,CAAC,CAAC;UACJ,CAAC,EAAEV,aAAa,CAACI,OAAO,GAAG,IAAI,CAAC;QAClC;MACF,CAAC;MAED,OAAOE,iBAAiB,EAAE;IAC5B,CAAC,MAAM;MACL,OAAOK,YAAY,CAACT,eAAe,CAACE,OAAO,CAAC;IAC9C;EACF,CAAC,EAAE,CAACP,KAAK,CAACrC,SAAS,CAAC,CAAC;EAErB,OAAOqC,KAAK;AACd,CAAC;AACD,MAAM/B,MAAM,GAAG,IAAA8C,yBAAgB,EAAC;EAC9B7C,SAAS,EAAE;IACT8C,YAAY,EAAE,EAAE;IAChBC,QAAQ,EAAE;EACZ,CAAC;EACDxC,KAAK,EAAE;IACLyC,QAAQ,EAAE,GAAG;IACbC,KAAK,EAAE,GAAG;IACVC,MAAM,EAAE,GAAG;IACXJ,YAAY,EAAE,EAAE;IAChBC,QAAQ,EAAE;EACZ,CAAC;EACDzB,QAAQ,EAAE;IACR6B,OAAO,EAAE,EAAE;IACXL,YAAY,EAAE;EAChB;AACF,CAAC,CAAC;AAAC,IAAAM,QAAA,GACYvE,gBAAgB;AAAAwE,OAAA,CAAA5F,OAAA,GAAA2F,QAAA"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _react = _interopRequireDefault(require("react"));
|
|
8
|
+
var _Box = _interopRequireDefault(require("../../components/Box"));
|
|
9
|
+
var _PressBox = _interopRequireDefault(require("../../components/PressBox"));
|
|
10
|
+
var _Text = _interopRequireDefault(require("../../components/Text"));
|
|
11
|
+
var _createStyleSheet = _interopRequireDefault(require("../../styles/createStyleSheet"));
|
|
12
|
+
var _useUIKitTheme = _interopRequireDefault(require("../../theme/useUIKitTheme"));
|
|
13
|
+
var _MessageContainer = _interopRequireDefault(require("./MessageContainer"));
|
|
14
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
15
|
+
const UnknownMessage = props => {
|
|
16
|
+
const {
|
|
17
|
+
variant = 'incoming'
|
|
18
|
+
} = props;
|
|
19
|
+
const {
|
|
20
|
+
colors
|
|
21
|
+
} = (0, _useUIKitTheme.default)();
|
|
22
|
+
const color = colors.ui.groupChannelMessage['incoming'];
|
|
23
|
+
const titleColor = variant === 'incoming' ? colors.onBackground01 : colors.onBackgroundReverse01;
|
|
24
|
+
const descColor = variant === 'incoming' ? colors.onBackground02 : colors.onBackgroundReverse02;
|
|
25
|
+
return /*#__PURE__*/_react.default.createElement(_MessageContainer.default, props, /*#__PURE__*/_react.default.createElement(_PressBox.default, {
|
|
26
|
+
onPress: props.onPress,
|
|
27
|
+
onLongPress: props.onLongPress
|
|
28
|
+
}, _ref => {
|
|
29
|
+
var _props$strings, _props$strings2;
|
|
30
|
+
let {
|
|
31
|
+
pressed
|
|
32
|
+
} = _ref;
|
|
33
|
+
return /*#__PURE__*/_react.default.createElement(_Box.default, {
|
|
34
|
+
style: styles.bubble,
|
|
35
|
+
backgroundColor: pressed ? color.pressed.background : color.enabled.background
|
|
36
|
+
}, /*#__PURE__*/_react.default.createElement(_Text.default, {
|
|
37
|
+
body3: true,
|
|
38
|
+
color: titleColor
|
|
39
|
+
}, ((_props$strings = props.strings) === null || _props$strings === void 0 ? void 0 : _props$strings.unknownTitle) ?? '(Unknown message type)'), /*#__PURE__*/_react.default.createElement(_Text.default, {
|
|
40
|
+
body3: true,
|
|
41
|
+
color: descColor
|
|
42
|
+
}, ((_props$strings2 = props.strings) === null || _props$strings2 === void 0 ? void 0 : _props$strings2.unknownDescription) ?? 'Cannot read this message.'));
|
|
43
|
+
}));
|
|
44
|
+
};
|
|
45
|
+
const styles = (0, _createStyleSheet.default)({
|
|
46
|
+
bubble: {
|
|
47
|
+
paddingVertical: 6,
|
|
48
|
+
paddingHorizontal: 12,
|
|
49
|
+
borderRadius: 16
|
|
50
|
+
}
|
|
51
|
+
});
|
|
52
|
+
var _default = UnknownMessage;
|
|
53
|
+
exports.default = _default;
|
|
54
|
+
//# sourceMappingURL=Message.unknown.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_Box","_PressBox","_Text","_createStyleSheet","_useUIKitTheme","_MessageContainer","obj","__esModule","default","UnknownMessage","props","variant","colors","useUIKitTheme","color","ui","groupChannelMessage","titleColor","onBackground01","onBackgroundReverse01","descColor","onBackground02","onBackgroundReverse02","createElement","onPress","onLongPress","_ref","_props$strings","_props$strings2","pressed","style","styles","bubble","backgroundColor","background","enabled","body3","strings","unknownTitle","unknownDescription","createStyleSheet","paddingVertical","paddingHorizontal","borderRadius","_default","exports"],"sources":["Message.unknown.tsx"],"sourcesContent":["import React from 'react';\n\nimport type { SendbirdMessage } from '@sendbird/uikit-utils';\n\nimport Box from '../../components/Box';\nimport PressBox from '../../components/PressBox';\nimport Text from '../../components/Text';\nimport createStyleSheet from '../../styles/createStyleSheet';\nimport useUIKitTheme from '../../theme/useUIKitTheme';\nimport MessageContainer from './MessageContainer';\nimport type { GroupChannelMessageProps } from './index';\n\nconst UnknownMessage = (props: GroupChannelMessageProps<SendbirdMessage>) => {\n const { variant = 'incoming' } = props;\n\n const { colors } = useUIKitTheme();\n const color = colors.ui.groupChannelMessage['incoming'];\n const titleColor = variant === 'incoming' ? colors.onBackground01 : colors.onBackgroundReverse01;\n const descColor = variant === 'incoming' ? colors.onBackground02 : colors.onBackgroundReverse02;\n\n return (\n <MessageContainer {...props}>\n <PressBox onPress={props.onPress} onLongPress={props.onLongPress}>\n {({ pressed }) => (\n <Box style={styles.bubble} backgroundColor={pressed ? color.pressed.background : color.enabled.background}>\n <Text body3 color={titleColor}>\n {props.strings?.unknownTitle ?? '(Unknown message type)'}\n </Text>\n <Text body3 color={descColor}>\n {props.strings?.unknownDescription ?? 'Cannot read this message.'}\n </Text>\n </Box>\n )}\n </PressBox>\n </MessageContainer>\n );\n};\n\nconst styles = createStyleSheet({\n bubble: {\n paddingVertical: 6,\n paddingHorizontal: 12,\n borderRadius: 16,\n },\n});\n\nexport default UnknownMessage;\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAIA,IAAAC,IAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,SAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,KAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,iBAAA,GAAAL,sBAAA,CAAAC,OAAA;AACA,IAAAK,cAAA,GAAAN,sBAAA,CAAAC,OAAA;AACA,IAAAM,iBAAA,GAAAP,sBAAA,CAAAC,OAAA;AAAkD,SAAAD,uBAAAQ,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAGlD,MAAMG,cAAc,GAAIC,KAAgD,IAAK;EAC3E,MAAM;IAAEC,OAAO,GAAG;EAAW,CAAC,GAAGD,KAAK;EAEtC,MAAM;IAAEE;EAAO,CAAC,GAAG,IAAAC,sBAAa,GAAE;EAClC,MAAMC,KAAK,GAAGF,MAAM,CAACG,EAAE,CAACC,mBAAmB,CAAC,UAAU,CAAC;EACvD,MAAMC,UAAU,GAAGN,OAAO,KAAK,UAAU,GAAGC,MAAM,CAACM,cAAc,GAAGN,MAAM,CAACO,qBAAqB;EAChG,MAAMC,SAAS,GAAGT,OAAO,KAAK,UAAU,GAAGC,MAAM,CAACS,cAAc,GAAGT,MAAM,CAACU,qBAAqB;EAE/F,oBACEzB,MAAA,CAAAW,OAAA,CAAAe,aAAA,CAAClB,iBAAA,CAAAG,OAAgB,EAAKE,KAAK,eACzBb,MAAA,CAAAW,OAAA,CAAAe,aAAA,CAACtB,SAAA,CAAAO,OAAQ;IAACgB,OAAO,EAAEd,KAAK,CAACc,OAAQ;IAACC,WAAW,EAAEf,KAAK,CAACe;EAAY,GAC9DC,IAAA;IAAA,IAAAC,cAAA,EAAAC,eAAA;IAAA,IAAC;MAAEC;IAAQ,CAAC,GAAAH,IAAA;IAAA,oBACX7B,MAAA,CAAAW,OAAA,CAAAe,aAAA,CAACvB,IAAA,CAAAQ,OAAG;MAACsB,KAAK,EAAEC,MAAM,CAACC,MAAO;MAACC,eAAe,EAAEJ,OAAO,GAAGf,KAAK,CAACe,OAAO,CAACK,UAAU,GAAGpB,KAAK,CAACqB,OAAO,CAACD;IAAW,gBACxGrC,MAAA,CAAAW,OAAA,CAAAe,aAAA,CAACrB,KAAA,CAAAM,OAAI;MAAC4B,KAAK;MAACtB,KAAK,EAAEG;IAAW,GAC3B,EAAAU,cAAA,GAAAjB,KAAK,CAAC2B,OAAO,cAAAV,cAAA,uBAAbA,cAAA,CAAeW,YAAY,KAAI,wBAAwB,CACnD,eACPzC,MAAA,CAAAW,OAAA,CAAAe,aAAA,CAACrB,KAAA,CAAAM,OAAI;MAAC4B,KAAK;MAACtB,KAAK,EAAEM;IAAU,GAC1B,EAAAQ,eAAA,GAAAlB,KAAK,CAAC2B,OAAO,cAAAT,eAAA,uBAAbA,eAAA,CAAeW,kBAAkB,KAAI,2BAA2B,CAC5D,CACH;EAAA,CACP,CACQ,CACM;AAEvB,CAAC;AAED,MAAMR,MAAM,GAAG,IAAAS,yBAAgB,EAAC;EAC9BR,MAAM,EAAE;IACNS,eAAe,EAAE,CAAC;IAClBC,iBAAiB,EAAE,EAAE;IACrBC,YAAY,EAAE;EAChB;AACF,CAAC,CAAC;AAAC,IAAAC,QAAA,GAEYnC,cAAc;AAAAoC,OAAA,CAAArC,OAAA,GAAAoC,QAAA"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _react = _interopRequireDefault(require("react"));
|
|
8
|
+
var _Box = _interopRequireDefault(require("../../components/Box"));
|
|
9
|
+
var _PressBox = _interopRequireDefault(require("../../components/PressBox"));
|
|
10
|
+
var _createStyleSheet = _interopRequireDefault(require("../../styles/createStyleSheet"));
|
|
11
|
+
var _useUIKitTheme = _interopRequireDefault(require("../../theme/useUIKitTheme"));
|
|
12
|
+
var _MessageBubbleWithText = _interopRequireDefault(require("./MessageBubbleWithText"));
|
|
13
|
+
var _MessageContainer = _interopRequireDefault(require("./MessageContainer"));
|
|
14
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
15
|
+
const UserMessage = props => {
|
|
16
|
+
const {
|
|
17
|
+
variant = 'incoming'
|
|
18
|
+
} = props;
|
|
19
|
+
const {
|
|
20
|
+
colors
|
|
21
|
+
} = (0, _useUIKitTheme.default)();
|
|
22
|
+
const color = colors.ui.groupChannelMessage[variant];
|
|
23
|
+
return /*#__PURE__*/_react.default.createElement(_MessageContainer.default, props, /*#__PURE__*/_react.default.createElement(_PressBox.default, {
|
|
24
|
+
onPress: props.onPress,
|
|
25
|
+
onLongPress: props.onLongPress
|
|
26
|
+
}, _ref => {
|
|
27
|
+
let {
|
|
28
|
+
pressed
|
|
29
|
+
} = _ref;
|
|
30
|
+
return /*#__PURE__*/_react.default.createElement(_Box.default, {
|
|
31
|
+
backgroundColor: pressed ? color.pressed.background : color.enabled.background,
|
|
32
|
+
style: styles.container
|
|
33
|
+
}, /*#__PURE__*/_react.default.createElement(_MessageBubbleWithText.default, props), props.children);
|
|
34
|
+
}));
|
|
35
|
+
};
|
|
36
|
+
const styles = (0, _createStyleSheet.default)({
|
|
37
|
+
container: {
|
|
38
|
+
overflow: 'hidden',
|
|
39
|
+
borderRadius: 16
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
var _default = UserMessage;
|
|
43
|
+
exports.default = _default;
|
|
44
|
+
//# sourceMappingURL=Message.user.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_Box","_PressBox","_createStyleSheet","_useUIKitTheme","_MessageBubbleWithText","_MessageContainer","obj","__esModule","default","UserMessage","props","variant","colors","useUIKitTheme","color","ui","groupChannelMessage","createElement","onPress","onLongPress","_ref","pressed","backgroundColor","background","enabled","style","styles","container","children","createStyleSheet","overflow","borderRadius","_default","exports"],"sources":["Message.user.tsx"],"sourcesContent":["import React from 'react';\n\nimport type { SendbirdUserMessage } from '@sendbird/uikit-utils';\n\nimport Box from '../../components/Box';\nimport PressBox from '../../components/PressBox';\nimport type { RegexTextPattern } from '../../components/RegexText';\nimport createStyleSheet from '../../styles/createStyleSheet';\nimport useUIKitTheme from '../../theme/useUIKitTheme';\nimport MessageBubbleWithText from './MessageBubbleWithText';\nimport MessageContainer from './MessageContainer';\nimport type { GroupChannelMessageProps } from './index';\n\ntype Props = GroupChannelMessageProps<\n SendbirdUserMessage,\n {\n regexTextPatterns?: RegexTextPattern[];\n renderRegexTextChildren?: (message: SendbirdUserMessage) => string;\n }\n>;\n\nconst UserMessage = (props: Props) => {\n const { variant = 'incoming' } = props;\n\n const { colors } = useUIKitTheme();\n const color = colors.ui.groupChannelMessage[variant];\n\n return (\n <MessageContainer {...props}>\n <PressBox onPress={props.onPress} onLongPress={props.onLongPress}>\n {({ pressed }) => (\n <Box backgroundColor={pressed ? color.pressed.background : color.enabled.background} style={styles.container}>\n <MessageBubbleWithText {...props} />\n {props.children}\n </Box>\n )}\n </PressBox>\n </MessageContainer>\n );\n};\n\nconst styles = createStyleSheet({\n container: {\n overflow: 'hidden',\n borderRadius: 16,\n },\n});\n\nexport default UserMessage;\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAIA,IAAAC,IAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,SAAA,GAAAH,sBAAA,CAAAC,OAAA;AAEA,IAAAG,iBAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,cAAA,GAAAL,sBAAA,CAAAC,OAAA;AACA,IAAAK,sBAAA,GAAAN,sBAAA,CAAAC,OAAA;AACA,IAAAM,iBAAA,GAAAP,sBAAA,CAAAC,OAAA;AAAkD,SAAAD,uBAAAQ,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAWlD,MAAMG,WAAW,GAAIC,KAAY,IAAK;EACpC,MAAM;IAAEC,OAAO,GAAG;EAAW,CAAC,GAAGD,KAAK;EAEtC,MAAM;IAAEE;EAAO,CAAC,GAAG,IAAAC,sBAAa,GAAE;EAClC,MAAMC,KAAK,GAAGF,MAAM,CAACG,EAAE,CAACC,mBAAmB,CAACL,OAAO,CAAC;EAEpD,oBACEd,MAAA,CAAAW,OAAA,CAAAS,aAAA,CAACZ,iBAAA,CAAAG,OAAgB,EAAKE,KAAK,eACzBb,MAAA,CAAAW,OAAA,CAAAS,aAAA,CAAChB,SAAA,CAAAO,OAAQ;IAACU,OAAO,EAAER,KAAK,CAACQ,OAAQ;IAACC,WAAW,EAAET,KAAK,CAACS;EAAY,GAC9DC,IAAA;IAAA,IAAC;MAAEC;IAAQ,CAAC,GAAAD,IAAA;IAAA,oBACXvB,MAAA,CAAAW,OAAA,CAAAS,aAAA,CAACjB,IAAA,CAAAQ,OAAG;MAACc,eAAe,EAAED,OAAO,GAAGP,KAAK,CAACO,OAAO,CAACE,UAAU,GAAGT,KAAK,CAACU,OAAO,CAACD,UAAW;MAACE,KAAK,EAAEC,MAAM,CAACC;IAAU,gBAC3G9B,MAAA,CAAAW,OAAA,CAAAS,aAAA,CAACb,sBAAA,CAAAI,OAAqB,EAAKE,KAAK,CAAI,EACnCA,KAAK,CAACkB,QAAQ,CACX;EAAA,CACP,CACQ,CACM;AAEvB,CAAC;AAED,MAAMF,MAAM,GAAG,IAAAG,yBAAgB,EAAC;EAC9BF,SAAS,EAAE;IACTG,QAAQ,EAAE,QAAQ;IAClBC,YAAY,EAAE;EAChB;AACF,CAAC,CAAC;AAAC,IAAAC,QAAA,GAEYvB,WAAW;AAAAwB,OAAA,CAAAzB,OAAA,GAAAwB,QAAA"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _react = _interopRequireDefault(require("react"));
|
|
8
|
+
var _Box = _interopRequireDefault(require("../../components/Box"));
|
|
9
|
+
var _PressBox = _interopRequireDefault(require("../../components/PressBox"));
|
|
10
|
+
var _createStyleSheet = _interopRequireDefault(require("../../styles/createStyleSheet"));
|
|
11
|
+
var _useUIKitTheme = _interopRequireDefault(require("../../theme/useUIKitTheme"));
|
|
12
|
+
var _MessageBubbleWithText = _interopRequireDefault(require("./MessageBubbleWithText"));
|
|
13
|
+
var _MessageContainer = _interopRequireDefault(require("./MessageContainer"));
|
|
14
|
+
var _MessageOpenGraph = _interopRequireDefault(require("./MessageOpenGraph"));
|
|
15
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
16
|
+
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
17
|
+
const OpenGraphUserMessage = props => {
|
|
18
|
+
const {
|
|
19
|
+
variant = 'incoming'
|
|
20
|
+
} = props;
|
|
21
|
+
const {
|
|
22
|
+
palette,
|
|
23
|
+
select,
|
|
24
|
+
colors
|
|
25
|
+
} = (0, _useUIKitTheme.default)();
|
|
26
|
+
const color = colors.ui.groupChannelMessage[variant];
|
|
27
|
+
const containerBackgroundColor = select({
|
|
28
|
+
dark: palette.background400,
|
|
29
|
+
light: palette.background100
|
|
30
|
+
});
|
|
31
|
+
return /*#__PURE__*/_react.default.createElement(_MessageContainer.default, props, /*#__PURE__*/_react.default.createElement(_PressBox.default, {
|
|
32
|
+
onPress: props.onPress,
|
|
33
|
+
onLongPress: props.onLongPress
|
|
34
|
+
}, _ref => {
|
|
35
|
+
let {
|
|
36
|
+
pressed
|
|
37
|
+
} = _ref;
|
|
38
|
+
return /*#__PURE__*/_react.default.createElement(_Box.default, {
|
|
39
|
+
backgroundColor: containerBackgroundColor,
|
|
40
|
+
style: styles.container
|
|
41
|
+
}, /*#__PURE__*/_react.default.createElement(_MessageBubbleWithText.default, _extends({
|
|
42
|
+
backgroundColor: pressed ? color.pressed.background : color.enabled.background
|
|
43
|
+
}, props)), props.message.ogMetaData && /*#__PURE__*/_react.default.createElement(_MessageOpenGraph.default, {
|
|
44
|
+
variant: variant,
|
|
45
|
+
ogMetaData: props.message.ogMetaData,
|
|
46
|
+
onLongPress: props.onLongPress,
|
|
47
|
+
onPressURL: props.onPressURL
|
|
48
|
+
}), props.children);
|
|
49
|
+
}));
|
|
50
|
+
};
|
|
51
|
+
const styles = (0, _createStyleSheet.default)({
|
|
52
|
+
container: {
|
|
53
|
+
borderRadius: 16,
|
|
54
|
+
overflow: 'hidden'
|
|
55
|
+
}
|
|
56
|
+
});
|
|
57
|
+
var _default = OpenGraphUserMessage;
|
|
58
|
+
exports.default = _default;
|
|
59
|
+
//# sourceMappingURL=Message.user.og.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_Box","_PressBox","_createStyleSheet","_useUIKitTheme","_MessageBubbleWithText","_MessageContainer","_MessageOpenGraph","obj","__esModule","default","_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","OpenGraphUserMessage","props","variant","palette","select","colors","useUIKitTheme","color","ui","groupChannelMessage","containerBackgroundColor","dark","background400","light","background100","createElement","onPress","onLongPress","_ref","pressed","backgroundColor","style","styles","container","background","enabled","message","ogMetaData","onPressURL","children","createStyleSheet","borderRadius","overflow","_default","exports"],"sources":["Message.user.og.tsx"],"sourcesContent":["import React from 'react';\n\nimport type { SendbirdUserMessage } from '@sendbird/uikit-utils';\n\nimport Box from '../../components/Box';\nimport PressBox from '../../components/PressBox';\nimport type { RegexTextPattern } from '../../components/RegexText';\nimport createStyleSheet from '../../styles/createStyleSheet';\nimport useUIKitTheme from '../../theme/useUIKitTheme';\nimport MessageBubbleWithText from './MessageBubbleWithText';\nimport MessageContainer from './MessageContainer';\nimport MessageOpenGraph from './MessageOpenGraph';\nimport type { GroupChannelMessageProps } from './index';\n\ntype Props = GroupChannelMessageProps<\n SendbirdUserMessage,\n {\n regexTextPatterns?: RegexTextPattern[];\n renderRegexTextChildren?: (message: SendbirdUserMessage) => string;\n }\n>;\n\nconst OpenGraphUserMessage = (props: Props) => {\n const { variant = 'incoming' } = props;\n\n const { palette, select, colors } = useUIKitTheme();\n const color = colors.ui.groupChannelMessage[variant];\n const containerBackgroundColor = select({ dark: palette.background400, light: palette.background100 });\n\n return (\n <MessageContainer {...props}>\n <PressBox onPress={props.onPress} onLongPress={props.onLongPress}>\n {({ pressed }) => (\n <Box backgroundColor={containerBackgroundColor} style={styles.container}>\n <MessageBubbleWithText\n backgroundColor={pressed ? color.pressed.background : color.enabled.background}\n {...props}\n />\n {props.message.ogMetaData && (\n <MessageOpenGraph\n variant={variant}\n ogMetaData={props.message.ogMetaData}\n onLongPress={props.onLongPress}\n onPressURL={props.onPressURL}\n />\n )}\n {props.children}\n </Box>\n )}\n </PressBox>\n </MessageContainer>\n );\n};\n\nconst styles = createStyleSheet({\n container: {\n borderRadius: 16,\n overflow: 'hidden',\n },\n});\n\nexport default OpenGraphUserMessage;\n"],"mappings":"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"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _react = _interopRequireDefault(require("react"));
|
|
8
|
+
var _uikitUtils = require("@sendbird/uikit-utils");
|
|
9
|
+
var _Box = _interopRequireDefault(require("../../components/Box"));
|
|
10
|
+
var _RegexText = _interopRequireDefault(require("../../components/RegexText"));
|
|
11
|
+
var _Text = _interopRequireDefault(require("../../components/Text"));
|
|
12
|
+
var _createStyleSheet = _interopRequireDefault(require("../../styles/createStyleSheet"));
|
|
13
|
+
var _useUIKitTheme = _interopRequireDefault(require("../../theme/useUIKitTheme"));
|
|
14
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
15
|
+
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
16
|
+
const MessageBubbleWithText = _ref => {
|
|
17
|
+
let {
|
|
18
|
+
backgroundColor,
|
|
19
|
+
message,
|
|
20
|
+
onPressURL,
|
|
21
|
+
onLongPress,
|
|
22
|
+
strings,
|
|
23
|
+
variant = 'incoming',
|
|
24
|
+
regexTextPatterns = [],
|
|
25
|
+
renderRegexTextChildren = msg => msg.message
|
|
26
|
+
} = _ref;
|
|
27
|
+
const {
|
|
28
|
+
colors
|
|
29
|
+
} = (0, _useUIKitTheme.default)();
|
|
30
|
+
const color = colors.ui.groupChannelMessage[variant];
|
|
31
|
+
return /*#__PURE__*/_react.default.createElement(_Box.default, {
|
|
32
|
+
backgroundColor: backgroundColor,
|
|
33
|
+
style: styles.bubble
|
|
34
|
+
}, /*#__PURE__*/_react.default.createElement(_Text.default, {
|
|
35
|
+
body3: true,
|
|
36
|
+
color: color.enabled.textMsg,
|
|
37
|
+
suppressHighlighting: true
|
|
38
|
+
}, /*#__PURE__*/_react.default.createElement(_RegexText.default, {
|
|
39
|
+
body3: true,
|
|
40
|
+
color: color.enabled.textMsg,
|
|
41
|
+
patterns: [...regexTextPatterns, {
|
|
42
|
+
regex: _uikitUtils.urlRegexStrict,
|
|
43
|
+
replacer(_ref2) {
|
|
44
|
+
let {
|
|
45
|
+
match,
|
|
46
|
+
parentProps,
|
|
47
|
+
keyPrefix,
|
|
48
|
+
index
|
|
49
|
+
} = _ref2;
|
|
50
|
+
return /*#__PURE__*/_react.default.createElement(_Text.default, _extends({}, parentProps, {
|
|
51
|
+
key: `${keyPrefix}-${index}`,
|
|
52
|
+
onPress: () => onPressURL === null || onPressURL === void 0 ? void 0 : onPressURL(match),
|
|
53
|
+
onLongPress: onLongPress,
|
|
54
|
+
style: [parentProps === null || parentProps === void 0 ? void 0 : parentProps.style, styles.urlText]
|
|
55
|
+
}), match);
|
|
56
|
+
}
|
|
57
|
+
}]
|
|
58
|
+
}, renderRegexTextChildren(message)), Boolean(message.updatedAt) && /*#__PURE__*/_react.default.createElement(_Text.default, {
|
|
59
|
+
body3: true,
|
|
60
|
+
color: color.enabled.textEdited
|
|
61
|
+
}, (strings === null || strings === void 0 ? void 0 : strings.edited) ?? ' (edited)')));
|
|
62
|
+
};
|
|
63
|
+
const styles = (0, _createStyleSheet.default)({
|
|
64
|
+
bubble: {
|
|
65
|
+
paddingHorizontal: 12,
|
|
66
|
+
paddingVertical: 6
|
|
67
|
+
},
|
|
68
|
+
urlText: {
|
|
69
|
+
textDecorationLine: 'underline'
|
|
70
|
+
}
|
|
71
|
+
});
|
|
72
|
+
var _default = MessageBubbleWithText;
|
|
73
|
+
exports.default = _default;
|
|
74
|
+
//# sourceMappingURL=MessageBubbleWithText.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_uikitUtils","_Box","_RegexText","_Text","_createStyleSheet","_useUIKitTheme","obj","__esModule","default","_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","MessageBubbleWithText","_ref","backgroundColor","message","onPressURL","onLongPress","strings","variant","regexTextPatterns","renderRegexTextChildren","msg","colors","useUIKitTheme","color","ui","groupChannelMessage","createElement","style","styles","bubble","body3","enabled","textMsg","suppressHighlighting","patterns","regex","urlRegexStrict","replacer","_ref2","match","parentProps","keyPrefix","index","onPress","urlText","Boolean","updatedAt","textEdited","edited","createStyleSheet","paddingHorizontal","paddingVertical","textDecorationLine","_default","exports"],"sources":["MessageBubbleWithText.tsx"],"sourcesContent":["import React from 'react';\n\nimport { SendbirdUserMessage, urlRegexStrict } from '@sendbird/uikit-utils';\n\nimport Box from '../../components/Box';\nimport RegexText, { RegexTextPattern } from '../../components/RegexText';\nimport Text from '../../components/Text';\nimport createStyleSheet from '../../styles/createStyleSheet';\nimport useUIKitTheme from '../../theme/useUIKitTheme';\nimport type { GroupChannelMessageProps } from './index';\n\ntype Props = GroupChannelMessageProps<\n SendbirdUserMessage,\n {\n backgroundColor?: string;\n regexTextPatterns?: RegexTextPattern[];\n renderRegexTextChildren?: (message: SendbirdUserMessage) => string;\n }\n>;\n\nconst MessageBubbleWithText = ({\n backgroundColor,\n message,\n onPressURL,\n onLongPress,\n strings,\n variant = 'incoming',\n regexTextPatterns = [],\n renderRegexTextChildren = (msg) => msg.message,\n}: Props) => {\n const { colors } = useUIKitTheme();\n const color = colors.ui.groupChannelMessage[variant];\n return (\n <Box backgroundColor={backgroundColor} style={styles.bubble}>\n <Text body3 color={color.enabled.textMsg} suppressHighlighting>\n <RegexText\n body3\n color={color.enabled.textMsg}\n patterns={[\n ...regexTextPatterns,\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 style={[parentProps?.style, styles.urlText]}\n >\n {match}\n </Text>\n );\n },\n },\n ]}\n >\n {renderRegexTextChildren(message)}\n </RegexText>\n {Boolean(message.updatedAt) && (\n <Text body3 color={color.enabled.textEdited}>\n {strings?.edited ?? ' (edited)'}\n </Text>\n )}\n </Text>\n </Box>\n );\n};\n\nconst styles = createStyleSheet({\n bubble: {\n paddingHorizontal: 12,\n paddingVertical: 6,\n },\n urlText: {\n textDecorationLine: 'underline',\n },\n});\nexport default MessageBubbleWithText;\n"],"mappings":"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"}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _react = _interopRequireDefault(require("react"));
|
|
8
|
+
var _reactNative = require("react-native");
|
|
9
|
+
var _uikitUtils = require("@sendbird/uikit-utils");
|
|
10
|
+
var _Box = _interopRequireDefault(require("../../components/Box"));
|
|
11
|
+
var _Text = _interopRequireDefault(require("../../components/Text"));
|
|
12
|
+
var _createStyleSheet = _interopRequireDefault(require("../../styles/createStyleSheet"));
|
|
13
|
+
var _useUIKitTheme = _interopRequireDefault(require("../../theme/useUIKitTheme"));
|
|
14
|
+
var _Avatar = _interopRequireDefault(require("../Avatar"));
|
|
15
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
16
|
+
const MessageContainer = props => {
|
|
17
|
+
if (props.variant === 'incoming') {
|
|
18
|
+
return /*#__PURE__*/_react.default.createElement(MessageContainer.Incoming, props);
|
|
19
|
+
} else {
|
|
20
|
+
return /*#__PURE__*/_react.default.createElement(MessageContainer.Outgoing, props);
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
MessageContainer.Incoming = function MessageContainerIncoming(_ref) {
|
|
24
|
+
var _message$sender;
|
|
25
|
+
let {
|
|
26
|
+
children,
|
|
27
|
+
groupedWithNext,
|
|
28
|
+
groupedWithPrev,
|
|
29
|
+
message,
|
|
30
|
+
onPressAvatar,
|
|
31
|
+
strings
|
|
32
|
+
} = _ref;
|
|
33
|
+
const {
|
|
34
|
+
colors
|
|
35
|
+
} = (0, _useUIKitTheme.default)();
|
|
36
|
+
const color = colors.ui.groupChannelMessage.incoming;
|
|
37
|
+
return /*#__PURE__*/_react.default.createElement(_Box.default, {
|
|
38
|
+
flexDirection: 'row',
|
|
39
|
+
justifyContent: 'flex-start',
|
|
40
|
+
alignItems: 'flex-end'
|
|
41
|
+
}, /*#__PURE__*/_react.default.createElement(_Box.default, {
|
|
42
|
+
width: 26,
|
|
43
|
+
marginRight: 12
|
|
44
|
+
}, (message.isFileMessage() || message.isUserMessage()) && !groupedWithNext && /*#__PURE__*/_react.default.createElement(_reactNative.Pressable, {
|
|
45
|
+
onPress: onPressAvatar
|
|
46
|
+
}, /*#__PURE__*/_react.default.createElement(_Avatar.default, {
|
|
47
|
+
size: 26,
|
|
48
|
+
uri: (_message$sender = message.sender) === null || _message$sender === void 0 ? void 0 : _message$sender.profileUrl
|
|
49
|
+
}))), /*#__PURE__*/_react.default.createElement(_Box.default, {
|
|
50
|
+
flexShrink: 1
|
|
51
|
+
}, !groupedWithPrev && /*#__PURE__*/_react.default.createElement(_Box.default, {
|
|
52
|
+
marginLeft: 12,
|
|
53
|
+
marginBottom: 4
|
|
54
|
+
}, (message.isFileMessage() || message.isUserMessage()) && /*#__PURE__*/_react.default.createElement(_Text.default, {
|
|
55
|
+
caption1: true,
|
|
56
|
+
color: color.enabled.textSenderName,
|
|
57
|
+
numberOfLines: 1
|
|
58
|
+
}, (strings === null || strings === void 0 ? void 0 : strings.senderName) ?? message.sender.nickname)), /*#__PURE__*/_react.default.createElement(_Box.default, {
|
|
59
|
+
flexDirection: 'row',
|
|
60
|
+
alignItems: 'flex-end'
|
|
61
|
+
}, /*#__PURE__*/_react.default.createElement(_Box.default, {
|
|
62
|
+
style: styles.bubble
|
|
63
|
+
}, children), !groupedWithNext && /*#__PURE__*/_react.default.createElement(_Box.default, {
|
|
64
|
+
marginLeft: 4
|
|
65
|
+
}, /*#__PURE__*/_react.default.createElement(_Text.default, {
|
|
66
|
+
caption4: true,
|
|
67
|
+
color: color.enabled.textTime
|
|
68
|
+
}, (strings === null || strings === void 0 ? void 0 : strings.sentDate) ?? (0, _uikitUtils.getMessageTimeFormat)(new Date(message.createdAt)))))));
|
|
69
|
+
};
|
|
70
|
+
MessageContainer.Outgoing = function MessageContainerOutgoing(_ref2) {
|
|
71
|
+
let {
|
|
72
|
+
children,
|
|
73
|
+
message,
|
|
74
|
+
groupedWithNext,
|
|
75
|
+
strings,
|
|
76
|
+
sendingStatus
|
|
77
|
+
} = _ref2;
|
|
78
|
+
const {
|
|
79
|
+
colors
|
|
80
|
+
} = (0, _useUIKitTheme.default)();
|
|
81
|
+
const color = colors.ui.groupChannelMessage.outgoing;
|
|
82
|
+
return /*#__PURE__*/_react.default.createElement(_Box.default, {
|
|
83
|
+
flexDirection: 'row',
|
|
84
|
+
justifyContent: 'flex-end',
|
|
85
|
+
alignItems: 'flex-end'
|
|
86
|
+
}, /*#__PURE__*/_react.default.createElement(_Box.default, {
|
|
87
|
+
flexDirection: 'row',
|
|
88
|
+
alignItems: 'flex-end',
|
|
89
|
+
justifyContent: 'center'
|
|
90
|
+
}, sendingStatus && /*#__PURE__*/_react.default.createElement(_Box.default, {
|
|
91
|
+
marginRight: 4
|
|
92
|
+
}, sendingStatus), !groupedWithNext && /*#__PURE__*/_react.default.createElement(_Box.default, {
|
|
93
|
+
marginRight: 4
|
|
94
|
+
}, /*#__PURE__*/_react.default.createElement(_Text.default, {
|
|
95
|
+
caption4: true,
|
|
96
|
+
color: color.enabled.textTime
|
|
97
|
+
}, (strings === null || strings === void 0 ? void 0 : strings.sentDate) ?? (0, _uikitUtils.getMessageTimeFormat)(new Date(message.createdAt))))), /*#__PURE__*/_react.default.createElement(_Box.default, {
|
|
98
|
+
style: styles.bubble
|
|
99
|
+
}, children));
|
|
100
|
+
};
|
|
101
|
+
const styles = (0, _createStyleSheet.default)({
|
|
102
|
+
bubble: {
|
|
103
|
+
maxWidth: 240,
|
|
104
|
+
overflow: 'hidden',
|
|
105
|
+
flexShrink: 1
|
|
106
|
+
}
|
|
107
|
+
});
|
|
108
|
+
var _default = MessageContainer;
|
|
109
|
+
exports.default = _default;
|
|
110
|
+
//# sourceMappingURL=MessageContainer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_uikitUtils","_Box","_Text","_createStyleSheet","_useUIKitTheme","_Avatar","obj","__esModule","default","MessageContainer","props","variant","createElement","Incoming","Outgoing","MessageContainerIncoming","_ref","_message$sender","children","groupedWithNext","groupedWithPrev","message","onPressAvatar","strings","colors","useUIKitTheme","color","ui","groupChannelMessage","incoming","flexDirection","justifyContent","alignItems","width","marginRight","isFileMessage","isUserMessage","Pressable","onPress","size","uri","sender","profileUrl","flexShrink","marginLeft","marginBottom","caption1","enabled","textSenderName","numberOfLines","senderName","nickname","style","styles","bubble","caption4","textTime","sentDate","getMessageTimeFormat","Date","createdAt","MessageContainerOutgoing","_ref2","sendingStatus","outgoing","createStyleSheet","maxWidth","overflow","_default","exports"],"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":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAGA,IAAAE,WAAA,GAAAF,OAAA;AAEA,IAAAG,IAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,KAAA,GAAAL,sBAAA,CAAAC,OAAA;AACA,IAAAK,iBAAA,GAAAN,sBAAA,CAAAC,OAAA;AACA,IAAAM,cAAA,GAAAP,sBAAA,CAAAC,OAAA;AACA,IAAAO,OAAA,GAAAR,sBAAA,CAAAC,OAAA;AAA+B,SAAAD,uBAAAS,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAK/B,MAAMG,gBAAgB,GAAIC,KAAY,IAAK;EACzC,IAAIA,KAAK,CAACC,OAAO,KAAK,UAAU,EAAE;IAChC,oBAAOf,MAAA,CAAAY,OAAA,CAAAI,aAAA,CAACH,gBAAgB,CAACI,QAAQ,EAAKH,KAAK,CAAI;EACjD,CAAC,MAAM;IACL,oBAAOd,MAAA,CAAAY,OAAA,CAAAI,aAAA,CAACH,gBAAgB,CAACK,QAAQ,EAAKJ,KAAK,CAAI;EACjD;AACF,CAAC;AAEDD,gBAAgB,CAACI,QAAQ,GAAG,SAASE,wBAAwBA,CAAAC,IAAA,EAOnD;EAAA,IAAAC,eAAA;EAAA,IAPoD;IAC5DC,QAAQ;IACRC,eAAe;IACfC,eAAe;IACfC,OAAO;IACPC,aAAa;IACbC;EACK,CAAC,GAAAP,IAAA;EACN,MAAM;IAAEQ;EAAO,CAAC,GAAG,IAAAC,sBAAa,GAAE;EAClC,MAAMC,KAAK,GAAGF,MAAM,CAACG,EAAE,CAACC,mBAAmB,CAACC,QAAQ;EAEpD,oBACEjC,MAAA,CAAAY,OAAA,CAAAI,aAAA,CAACX,IAAA,CAAAO,OAAG;IAACsB,aAAa,EAAE,KAAM;IAACC,cAAc,EAAE,YAAa;IAACC,UAAU,EAAE;EAAW,gBAC9EpC,MAAA,CAAAY,OAAA,CAAAI,aAAA,CAACX,IAAA,CAAAO,OAAG;IAACyB,KAAK,EAAE,EAAG;IAACC,WAAW,EAAE;EAAG,GAC7B,CAACb,OAAO,CAACc,aAAa,EAAE,IAAId,OAAO,CAACe,aAAa,EAAE,KAAK,CAACjB,eAAe,iBACvEvB,MAAA,CAAAY,OAAA,CAAAI,aAAA,CAACb,YAAA,CAAAsC,SAAS;IAACC,OAAO,EAAEhB;EAAc,gBAChC1B,MAAA,CAAAY,OAAA,CAAAI,aAAA,CAACP,OAAA,CAAAG,OAAM;IAAC+B,IAAI,EAAE,EAAG;IAACC,GAAG,GAAAvB,eAAA,GAAEI,OAAO,CAACoB,MAAM,cAAAxB,eAAA,uBAAdA,eAAA,CAAgByB;EAAW,EAAG,CAExD,CACG,eACN9C,MAAA,CAAAY,OAAA,CAAAI,aAAA,CAACX,IAAA,CAAAO,OAAG;IAACmC,UAAU,EAAE;EAAE,GAChB,CAACvB,eAAe,iBACfxB,MAAA,CAAAY,OAAA,CAAAI,aAAA,CAACX,IAAA,CAAAO,OAAG;IAACoC,UAAU,EAAE,EAAG;IAACC,YAAY,EAAE;EAAE,GAClC,CAACxB,OAAO,CAACc,aAAa,EAAE,IAAId,OAAO,CAACe,aAAa,EAAE,kBAClDxC,MAAA,CAAAY,OAAA,CAAAI,aAAA,CAACV,KAAA,CAAAM,OAAI;IAACsC,QAAQ;IAACpB,KAAK,EAAEA,KAAK,CAACqB,OAAO,CAACC,cAAe;IAACC,aAAa,EAAE;EAAE,GAClE,CAAA1B,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAE2B,UAAU,KAAI7B,OAAO,CAACoB,MAAM,CAACU,QAAQ,CAElD,CAEJ,eAEDvD,MAAA,CAAAY,OAAA,CAAAI,aAAA,CAACX,IAAA,CAAAO,OAAG;IAACsB,aAAa,EAAE,KAAM;IAACE,UAAU,EAAE;EAAW,gBAChDpC,MAAA,CAAAY,OAAA,CAAAI,aAAA,CAACX,IAAA,CAAAO,OAAG;IAAC4C,KAAK,EAAEC,MAAM,CAACC;EAAO,GAAEpC,QAAQ,CAAO,EAC1C,CAACC,eAAe,iBACfvB,MAAA,CAAAY,OAAA,CAAAI,aAAA,CAACX,IAAA,CAAAO,OAAG;IAACoC,UAAU,EAAE;EAAE,gBACjBhD,MAAA,CAAAY,OAAA,CAAAI,aAAA,CAACV,KAAA,CAAAM,OAAI;IAAC+C,QAAQ;IAAC7B,KAAK,EAAEA,KAAK,CAACqB,OAAO,CAACS;EAAS,GAC1C,CAAAjC,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEkC,QAAQ,KAAI,IAAAC,gCAAoB,EAAC,IAAIC,IAAI,CAACtC,OAAO,CAACuC,SAAS,CAAC,CAAC,CAClE,CAEV,CACG,CACF,CACF;AAEV,CAAC;AAEDnD,gBAAgB,CAACK,QAAQ,GAAG,SAAS+C,wBAAwBA,CAAAC,KAAA,EAMnD;EAAA,IANoD;IAC5D5C,QAAQ;IACRG,OAAO;IACPF,eAAe;IACfI,OAAO;IACPwC;EACK,CAAC,GAAAD,KAAA;EACN,MAAM;IAAEtC;EAAO,CAAC,GAAG,IAAAC,sBAAa,GAAE;EAClC,MAAMC,KAAK,GAAGF,MAAM,CAACG,EAAE,CAACC,mBAAmB,CAACoC,QAAQ;EAEpD,oBACEpE,MAAA,CAAAY,OAAA,CAAAI,aAAA,CAACX,IAAA,CAAAO,OAAG;IAACsB,aAAa,EAAE,KAAM;IAACC,cAAc,EAAE,UAAW;IAACC,UAAU,EAAE;EAAW,gBAC5EpC,MAAA,CAAAY,OAAA,CAAAI,aAAA,CAACX,IAAA,CAAAO,OAAG;IAACsB,aAAa,EAAE,KAAM;IAACE,UAAU,EAAE,UAAW;IAACD,cAAc,EAAE;EAAS,GACzEgC,aAAa,iBAAInE,MAAA,CAAAY,OAAA,CAAAI,aAAA,CAACX,IAAA,CAAAO,OAAG;IAAC0B,WAAW,EAAE;EAAE,GAAE6B,aAAa,CAAO,EAE3D,CAAC5C,eAAe,iBACfvB,MAAA,CAAAY,OAAA,CAAAI,aAAA,CAACX,IAAA,CAAAO,OAAG;IAAC0B,WAAW,EAAE;EAAE,gBAClBtC,MAAA,CAAAY,OAAA,CAAAI,aAAA,CAACV,KAAA,CAAAM,OAAI;IAAC+C,QAAQ;IAAC7B,KAAK,EAAEA,KAAK,CAACqB,OAAO,CAACS;EAAS,GAC1C,CAAAjC,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEkC,QAAQ,KAAI,IAAAC,gCAAoB,EAAC,IAAIC,IAAI,CAACtC,OAAO,CAACuC,SAAS,CAAC,CAAC,CAClE,CAEV,CACG,eACNhE,MAAA,CAAAY,OAAA,CAAAI,aAAA,CAACX,IAAA,CAAAO,OAAG;IAAC4C,KAAK,EAAEC,MAAM,CAACC;EAAO,GAAEpC,QAAQ,CAAO,CACvC;AAEV,CAAC;AAED,MAAMmC,MAAM,GAAG,IAAAY,yBAAgB,EAAC;EAC9BX,MAAM,EAAE;IACNY,QAAQ,EAAE,GAAG;IACbC,QAAQ,EAAE,QAAQ;IAClBxB,UAAU,EAAE;EACd;AACF,CAAC,CAAC;AAAC,IAAAyB,QAAA,GAEY3D,gBAAgB;AAAA4D,OAAA,CAAA7D,OAAA,GAAA4D,QAAA"}
|