@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,91 @@
|
|
|
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 _ImageWithPlaceholder = _interopRequireDefault(require("../../components/ImageWithPlaceholder"));
|
|
10
|
+
var _PressBox = _interopRequireDefault(require("../../components/PressBox"));
|
|
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
|
+
const MessageOpenGraph = _ref => {
|
|
16
|
+
let {
|
|
17
|
+
onPressURL,
|
|
18
|
+
onLongPress,
|
|
19
|
+
ogMetaData,
|
|
20
|
+
variant
|
|
21
|
+
} = _ref;
|
|
22
|
+
const {
|
|
23
|
+
palette,
|
|
24
|
+
select,
|
|
25
|
+
colors
|
|
26
|
+
} = (0, _useUIKitTheme.default)();
|
|
27
|
+
const color = colors.ui.groupChannelMessage[variant];
|
|
28
|
+
return /*#__PURE__*/_react.default.createElement(_PressBox.default, {
|
|
29
|
+
activeOpacity: 0.85,
|
|
30
|
+
onPress: () => typeof (ogMetaData === null || ogMetaData === void 0 ? void 0 : ogMetaData.url) === 'string' && (onPressURL === null || onPressURL === void 0 ? void 0 : onPressURL(ogMetaData.url)),
|
|
31
|
+
onLongPress: onLongPress
|
|
32
|
+
}, _ref2 => {
|
|
33
|
+
let {
|
|
34
|
+
pressed
|
|
35
|
+
} = _ref2;
|
|
36
|
+
return /*#__PURE__*/_react.default.createElement(_Box.default, {
|
|
37
|
+
backgroundColor: pressed ? color.pressed.background : color.enabled.background
|
|
38
|
+
}, Boolean(ogMetaData.defaultImage) && /*#__PURE__*/_react.default.createElement(_ImageWithPlaceholder.default, {
|
|
39
|
+
style: styles.ogImage,
|
|
40
|
+
source: {
|
|
41
|
+
uri: ogMetaData.defaultImage.url
|
|
42
|
+
}
|
|
43
|
+
}), /*#__PURE__*/_react.default.createElement(_Box.default, {
|
|
44
|
+
style: styles.ogContainer,
|
|
45
|
+
backgroundColor: select({
|
|
46
|
+
dark: palette.background400,
|
|
47
|
+
light: palette.background100
|
|
48
|
+
})
|
|
49
|
+
}, /*#__PURE__*/_react.default.createElement(_Text.default, {
|
|
50
|
+
numberOfLines: 3,
|
|
51
|
+
body2: true,
|
|
52
|
+
color: colors.onBackground01,
|
|
53
|
+
style: styles.ogTitle
|
|
54
|
+
}, ogMetaData.title), Boolean(ogMetaData.description) && /*#__PURE__*/_react.default.createElement(_Text.default, {
|
|
55
|
+
numberOfLines: 1,
|
|
56
|
+
caption2: true,
|
|
57
|
+
color: colors.onBackground01,
|
|
58
|
+
style: styles.ogDesc
|
|
59
|
+
}, ogMetaData.description), /*#__PURE__*/_react.default.createElement(_Text.default, {
|
|
60
|
+
numberOfLines: 1,
|
|
61
|
+
caption2: true,
|
|
62
|
+
color: colors.onBackground02
|
|
63
|
+
}, ogMetaData.url)));
|
|
64
|
+
});
|
|
65
|
+
};
|
|
66
|
+
const styles = (0, _createStyleSheet.default)({
|
|
67
|
+
ogContainer: {
|
|
68
|
+
overflow: 'hidden',
|
|
69
|
+
paddingHorizontal: 12,
|
|
70
|
+
paddingTop: 8,
|
|
71
|
+
paddingBottom: 12
|
|
72
|
+
},
|
|
73
|
+
ogImage: {
|
|
74
|
+
maxWidth: 240,
|
|
75
|
+
width: 240,
|
|
76
|
+
height: 136
|
|
77
|
+
},
|
|
78
|
+
ogUrl: {
|
|
79
|
+
marginBottom: 4
|
|
80
|
+
},
|
|
81
|
+
ogTitle: {
|
|
82
|
+
marginBottom: 4
|
|
83
|
+
},
|
|
84
|
+
ogDesc: {
|
|
85
|
+
lineHeight: 14,
|
|
86
|
+
marginBottom: 8
|
|
87
|
+
}
|
|
88
|
+
});
|
|
89
|
+
var _default = MessageOpenGraph;
|
|
90
|
+
exports.default = _default;
|
|
91
|
+
//# sourceMappingURL=MessageOpenGraph.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_Box","_ImageWithPlaceholder","_PressBox","_Text","_createStyleSheet","_useUIKitTheme","obj","__esModule","default","MessageOpenGraph","_ref","onPressURL","onLongPress","ogMetaData","variant","palette","select","colors","useUIKitTheme","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","createStyleSheet","overflow","paddingHorizontal","paddingTop","paddingBottom","maxWidth","width","height","ogUrl","marginBottom","lineHeight","_default","exports"],"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,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _Message = _interopRequireDefault(require("./Message.admin"));
|
|
8
|
+
var _Message2 = _interopRequireDefault(require("./Message.file"));
|
|
9
|
+
var _MessageFile = _interopRequireDefault(require("./Message.file.image"));
|
|
10
|
+
var _MessageFile2 = _interopRequireDefault(require("./Message.file.video"));
|
|
11
|
+
var _Message3 = _interopRequireDefault(require("./Message.unknown"));
|
|
12
|
+
var _Message4 = _interopRequireDefault(require("./Message.user"));
|
|
13
|
+
var _MessageUser = _interopRequireDefault(require("./Message.user.og"));
|
|
14
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
15
|
+
const GroupChannelMessage = {
|
|
16
|
+
User: _Message4.default,
|
|
17
|
+
OpenGraphUser: _MessageUser.default,
|
|
18
|
+
File: _Message2.default,
|
|
19
|
+
ImageFile: _MessageFile.default,
|
|
20
|
+
VideoFile: _MessageFile2.default,
|
|
21
|
+
Admin: _Message.default,
|
|
22
|
+
Unknown: _Message3.default
|
|
23
|
+
};
|
|
24
|
+
var _default = GroupChannelMessage;
|
|
25
|
+
exports.default = _default;
|
|
26
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_Message","_interopRequireDefault","require","_Message2","_MessageFile","_MessageFile2","_Message3","_Message4","_MessageUser","obj","__esModule","default","GroupChannelMessage","User","UserMessage","OpenGraphUser","File","FileMessage","ImageFile","ImageFileMessage","VideoFile","VideoFileMessage","Admin","AdminMessage","Unknown","UnknownMessage","_default","exports"],"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,IAAAA,QAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,SAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,YAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,aAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,SAAA,GAAAL,sBAAA,CAAAC,OAAA;AACA,IAAAK,SAAA,GAAAN,sBAAA,CAAAC,OAAA;AACA,IAAAM,YAAA,GAAAP,sBAAA,CAAAC,OAAA;AAA8C,SAAAD,uBAAAQ,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AA2B9C,MAAMG,mBAAmB,GAAG;EAC1BC,IAAI,EAAEC,iBAAW;EACjBC,aAAa,EAAEA,oBAAa;EAC5BC,IAAI,EAAEC,iBAAW;EACjBC,SAAS,EAAEC,oBAAgB;EAC3BC,SAAS,EAAEC,qBAAgB;EAC3BC,KAAK,EAAEC,gBAAY;EACnBC,OAAO,EAAEC;AACX,CAAC;AAAC,IAAAC,QAAA,GAEad,mBAAmB;AAAAe,OAAA,CAAAhB,OAAA,GAAAe,QAAA"}
|
|
@@ -51,7 +51,7 @@ const UserMessage = props => {
|
|
|
51
51
|
} = _ref2;
|
|
52
52
|
return /*#__PURE__*/_react.default.createElement(_Text.default, _extends({}, parentProps, {
|
|
53
53
|
key: `${keyPrefix}-${index}`,
|
|
54
|
-
onPress: onPressURL,
|
|
54
|
+
onPress: () => onPressURL === null || onPressURL === void 0 ? void 0 : onPressURL(match),
|
|
55
55
|
onLongPress: onLongPress,
|
|
56
56
|
color: colors.primary,
|
|
57
57
|
style: parentProps === null || parentProps === void 0 ? void 0 : parentProps.style
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_uikitUtils","_PressBox","_RegexText","_Text","_useUIKitTheme","_MessageContainer","obj","__esModule","default","_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","UserMessage","props","colors","useUIKitTheme","onPress","onLongPress","onPressURL","rest","color","ui","openChannelMessage","createElement","_ref","_props$strings","pressed","body3","enabled","textMsg","patterns","regex","urlRegexStrict","replacer","_ref2","match","parentProps","keyPrefix","index","primary","style","message","Boolean","updatedAt","textMsgPostfix","strings","edited","_default","exports"],"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,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAGA,IAAAC,WAAA,GAAAD,OAAA;AAEA,IAAAE,SAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,UAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,KAAA,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;AAAA,SAAAG,SAAA,IAAAA,QAAA,GAAAC,MAAA,CAAAC,MAAA,GAAAD,MAAA,CAAAC,MAAA,CAAAC,IAAA,eAAAC,MAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAF,CAAA,UAAAG,MAAA,GAAAF,SAAA,CAAAD,CAAA,YAAAI,GAAA,IAAAD,MAAA,QAAAP,MAAA,CAAAS,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAJ,MAAA,EAAAC,GAAA,KAAAL,MAAA,CAAAK,GAAA,IAAAD,MAAA,CAAAC,GAAA,gBAAAL,MAAA,YAAAJ,QAAA,CAAAa,KAAA,OAAAP,SAAA;AAIlD,MAAMQ,WAAW,GAAIC,KAA0D,IAAK;EAClF,MAAM;IAAEC;EAAO,CAAC,GAAG,IAAAC,sBAAa,GAAE;EAClC,MAAM;IAAEC,OAAO;IAAEC,WAAW;IAAEC,UAAU;IAAE,GAAGC;EAAK,CAAC,GAAGN,KAAK;EAC3D,MAAMO,KAAK,GAAGN,MAAM,CAACO,EAAE,CAACC,kBAAkB,CAACzB,OAAO;EAElD,oBACEX,MAAA,CAAAW,OAAA,CAAA0B,aAAA,CAACjC,SAAA,CAAAO,OAAQ;IAACmB,OAAO,EAAEA,OAAQ;IAACC,WAAW,EAAEA;EAAY,GAClDO,IAAA;IAAA,IAAAC,cAAA;IAAA,IAAC;MAAEC;IAAQ,CAAC,GAAAF,IAAA;IAAA,oBACXtC,MAAA,CAAAW,OAAA,CAAA0B,aAAA,CAAC7B,iBAAA,CAAAG,OAAgB,EAAAC,QAAA;MAAC4B,OAAO,EAAEA;IAAQ,GAAKP,IAAI,gBAC1CjC,MAAA,CAAAW,OAAA,CAAA0B,aAAA,CAAC/B,KAAA,CAAAK,OAAI;MAAC8B,KAAK;MAACP,KAAK,EAAEA,KAAK,CAACQ,OAAO,CAACC;IAAQ,gBACvC3C,MAAA,CAAAW,OAAA,CAAA0B,aAAA,CAAChC,UAAA,CAAAM,OAAS;MACR8B,KAAK;MACLP,KAAK,EAAEA,KAAK,CAACQ,OAAO,CAACC,OAAQ;MAC7BC,QAAQ,EAAE,CACR;QACEC,KAAK,EAAEC,0BAAc;QACrBC,QAAQA,CAAAC,KAAA,EAA2C;UAAA,IAA1C;YAAEC,KAAK;YAAEC,WAAW;YAAEC,SAAS;YAAEC;UAAM,CAAC,GAAAJ,KAAA;UAC/C,oBACEhD,MAAA,CAAAW,OAAA,CAAA0B,aAAA,CAAC/B,KAAA,CAAAK,OAAI,EAAAC,QAAA,KACCsC,WAAW;YACf7B,GAAG,EAAG,GAAE8B,SAAU,IAAGC,KAAM,EAAE;YAC7BtB,OAAO,
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_uikitUtils","_PressBox","_RegexText","_Text","_useUIKitTheme","_MessageContainer","obj","__esModule","default","_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","UserMessage","props","colors","useUIKitTheme","onPress","onLongPress","onPressURL","rest","color","ui","openChannelMessage","createElement","_ref","_props$strings","pressed","body3","enabled","textMsg","patterns","regex","urlRegexStrict","replacer","_ref2","match","parentProps","keyPrefix","index","primary","style","message","Boolean","updatedAt","textMsgPostfix","strings","edited","_default","exports"],"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":"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"}
|
|
@@ -54,7 +54,7 @@ const OpenGraphUserMessage = props => {
|
|
|
54
54
|
} = _ref2;
|
|
55
55
|
return /*#__PURE__*/_react.default.createElement(_Text.default, _extends({}, parentProps, {
|
|
56
56
|
key: `${keyPrefix}-${index}`,
|
|
57
|
-
onPress: onPressURL,
|
|
57
|
+
onPress: () => onPressURL === null || onPressURL === void 0 ? void 0 : onPressURL(match),
|
|
58
58
|
onLongPress: onLongPress,
|
|
59
59
|
color: colors.primary,
|
|
60
60
|
style: parentProps === null || parentProps === void 0 ? void 0 : parentProps.style
|
|
@@ -69,7 +69,10 @@ const OpenGraphUserMessage = props => {
|
|
|
69
69
|
grouped: true
|
|
70
70
|
}), /*#__PURE__*/_react.default.createElement(_PressBox.default, {
|
|
71
71
|
style: styles.ogContainer,
|
|
72
|
-
onPress:
|
|
72
|
+
onPress: () => {
|
|
73
|
+
var _props$message$ogMeta;
|
|
74
|
+
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));
|
|
75
|
+
},
|
|
73
76
|
onLongPress: onLongPress
|
|
74
77
|
}, _ref3 => {
|
|
75
78
|
let {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_uikitUtils","_Box","_ImageWithPlaceholder","_PressBox","_RegexText","_Text","_createStyleSheet","_useUIKitTheme","_MessageContainer","obj","__esModule","default","_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","OpenGraphUserMessage","props","colors","useUIKitTheme","onPress","onLongPress","onPressURL","rest","color","ui","openChannelMessage","createElement","_ref","_props$strings","pressed","body3","enabled","textMsg","patterns","regex","urlRegexRough","replacer","_ref2","match","parentProps","keyPrefix","index","primary","style","message","Boolean","updatedAt","textMsgPostfix","strings","edited","ogMetaData","grouped","styles","ogContainer","_ref3","padding","borderRadius","backgroundColor","bubbleBackground","numberOfLines","caption2","onBackground02","ogUrl","url","body2","ogTitle","title","description","onBackground01","defaultImage","ogImage","uri","createStyleSheet","maxWidth","marginBottom","width","height","marginTop","_default","exports"],"sources":["Message.user.og.tsx"],"sourcesContent":["import React from 'react';\n\nimport type { SendbirdUserMessage } from '@sendbird/uikit-utils';\nimport { urlRegexRough } from '@sendbird/uikit-utils';\n\nimport Box from '../../components/Box';\nimport ImageWithPlaceholder from '../../components/ImageWithPlaceholder';\nimport PressBox from '../../components/PressBox';\nimport RegexText from '../../components/RegexText';\nimport Text from '../../components/Text';\nimport createStyleSheet from '../../styles/createStyleSheet';\nimport useUIKitTheme from '../../theme/useUIKitTheme';\nimport MessageContainer from './MessageContainer';\nimport type { OpenChannelMessageProps } from './index';\n\ntype Props = {};\nconst OpenGraphUserMessage = (props: OpenChannelMessageProps<SendbirdUserMessage, Props>) => {\n const { colors } = useUIKitTheme();\n const { onPress, onLongPress, onPressURL, ...rest } = props;\n const color = colors.ui.openChannelMessage.default;\n\n return (\n <Box>\n <PressBox onPress={onPress} onLongPress={onLongPress}>\n {({ pressed }) => (\n <MessageContainer pressed={pressed} {...rest}>\n <Text body3 color={color.enabled.textMsg}>\n <RegexText\n body3\n color={color.enabled.textMsg}\n patterns={[\n {\n regex: urlRegexRough,\n replacer({ match, parentProps, keyPrefix, index }) {\n return (\n <Text\n {...parentProps}\n key={`${keyPrefix}-${index}`}\n onPress={onPressURL}\n onLongPress={onLongPress}\n color={colors.primary}\n style={parentProps?.style}\n >\n {match}\n </Text>\n );\n },\n },\n ]}\n >\n {props.message.message}\n </RegexText>\n {Boolean(props.message.updatedAt) && (\n <Text body3 color={color.enabled.textMsgPostfix}>\n {props.strings?.edited ?? ' (edited)'}\n </Text>\n )}\n </Text>\n </MessageContainer>\n )}\n </PressBox>\n {props.message.ogMetaData && (\n <MessageContainer {...rest} grouped>\n <PressBox style={styles.ogContainer} onPress={onPressURL} onLongPress={onLongPress}>\n {({ pressed }) =>\n props.message.ogMetaData && (\n <Box\n padding={8}\n borderRadius={8}\n style={styles.ogContainer}\n backgroundColor={pressed ? color.pressed.bubbleBackground : color.enabled.bubbleBackground}\n >\n <Text numberOfLines={1} caption2 color={colors.onBackground02} style={styles.ogUrl}>\n {props.message.ogMetaData.url}\n </Text>\n\n <Text numberOfLines={2} body2 color={colors.primary} style={styles.ogTitle}>\n {props.message.ogMetaData.title}\n </Text>\n\n {Boolean(props.message.ogMetaData.description) && (\n <Text numberOfLines={2} caption2 color={colors.onBackground01}>\n {props.message.ogMetaData.description}\n </Text>\n )}\n\n {Boolean(props.message.ogMetaData.defaultImage) && (\n <ImageWithPlaceholder\n style={styles.ogImage}\n source={{ uri: props.message.ogMetaData.defaultImage.url }}\n />\n )}\n </Box>\n )\n }\n </PressBox>\n </MessageContainer>\n )}\n </Box>\n );\n};\n\nconst styles = createStyleSheet({\n ogContainer: {\n maxWidth: 296,\n },\n ogUrl: {\n marginBottom: 4,\n },\n ogTitle: {\n marginBottom: 8,\n },\n ogImage: {\n width: '100%',\n height: 156,\n marginTop: 12,\n },\n});\n\nexport default OpenGraphUserMessage;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_uikitUtils","_Box","_ImageWithPlaceholder","_PressBox","_RegexText","_Text","_createStyleSheet","_useUIKitTheme","_MessageContainer","obj","__esModule","default","_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","OpenGraphUserMessage","props","colors","useUIKitTheme","onPress","onLongPress","onPressURL","rest","color","ui","openChannelMessage","createElement","_ref","_props$strings","pressed","body3","enabled","textMsg","patterns","regex","urlRegexRough","replacer","_ref2","match","parentProps","keyPrefix","index","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","uri","createStyleSheet","maxWidth","marginBottom","width","height","marginTop","_default","exports"],"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":["_Message","_interopRequireDefault","require","_Message2","_MessageFile","_MessageFile2","_Message3","_Message4","_MessageUser","obj","__esModule","default","OpenChannelMessage","User","UserMessage","OpenGraphUser","OpenGraphUserMessage","File","FileMessage","ImageFile","ImageFileMessage","VideoFile","VideoFileMessage","Admin","AdminMessage","Unknown","UnknownMessage","_default","exports"],"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,IAAAA,QAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,SAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,YAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,aAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,SAAA,GAAAL,sBAAA,CAAAC,OAAA;AACA,IAAAK,SAAA,GAAAN,sBAAA,CAAAC,OAAA;AACA,IAAAM,YAAA,GAAAP,sBAAA,CAAAC,OAAA;AAAqD,SAAAD,uBAAAQ,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAqBrD,MAAMG,kBAAkB,GAAG;EACzBC,IAAI,EAAEC,iBAAW;EACjBC,aAAa,EAAEC,oBAAoB;EACnCC,IAAI,EAAEC,iBAAW;EACjBC,SAAS,EAAEC,oBAAgB;EAC3BC,SAAS,EAAEC,qBAAgB;EAC3BC,KAAK,EAAEC,gBAAY;EACnBC,OAAO,EAAEC;AACX,CAAC;AAAC,IAAAC,QAAA,GAEaf,kBAAkB;AAAAgB,OAAA,CAAAjB,OAAA,GAAAgB,QAAA"}
|
|
1
|
+
{"version":3,"names":["_Message","_interopRequireDefault","require","_Message2","_MessageFile","_MessageFile2","_Message3","_Message4","_MessageUser","obj","__esModule","default","OpenChannelMessage","User","UserMessage","OpenGraphUser","OpenGraphUserMessage","File","FileMessage","ImageFile","ImageFileMessage","VideoFile","VideoFileMessage","Admin","AdminMessage","Unknown","UnknownMessage","_default","exports"],"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,IAAAA,QAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,SAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,YAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,aAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,SAAA,GAAAL,sBAAA,CAAAC,OAAA;AACA,IAAAK,SAAA,GAAAN,sBAAA,CAAAC,OAAA;AACA,IAAAM,YAAA,GAAAP,sBAAA,CAAAC,OAAA;AAAqD,SAAAD,uBAAAQ,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAqBrD,MAAMG,kBAAkB,GAAG;EACzBC,IAAI,EAAEC,iBAAW;EACjBC,aAAa,EAAEC,oBAAoB;EACnCC,IAAI,EAAEC,iBAAW;EACjBC,SAAS,EAAEC,oBAAgB;EAC3BC,SAAS,EAAEC,qBAAgB;EAC3BC,KAAK,EAAEC,gBAAY;EACnBC,OAAO,EAAEC;AACX,CAAC;AAAC,IAAAC,QAAA,GAEaf,kBAAkB;AAAAgB,OAAA,CAAAjB,OAAA,GAAAgB,QAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["FastImageInternal","require"],"sources":["FastImageInternal.tsx"],"sourcesContent":["import type { FastImageProps } from 'react-native-fast-image';\n\nlet FastImageInternal: (props: FastImageProps) => JSX.Element | null = () => null;\n\ntry {\n FastImageInternal = require('react-native-fast-image') as (props: FastImageProps) => JSX.Element;\n} catch {}\n\nexport default FastImageInternal;\n"],"mappings":"AAEA,IAAIA,iBAAgE,GAAGA,CAAA,KAAM,IAAI;AAEjF,IAAI;EACFA,iBAAiB,GAAGC,OAAO,CAAC,yBAAyB,CAA2C;AAClG,CAAC,CAAC,MAAM,CAAC;AAET,eAAeD,iBAAiB"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
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); }
|
|
2
2
|
import React from 'react';
|
|
3
|
+
import FastImageInternal from './FastImageInternal';
|
|
3
4
|
function convertCache(cache) {
|
|
4
5
|
switch (cache) {
|
|
5
6
|
case 'force-cache':
|
|
@@ -43,10 +44,6 @@ function convertResizeMode(mode) {
|
|
|
43
44
|
return undefined;
|
|
44
45
|
}
|
|
45
46
|
}
|
|
46
|
-
let FastImage = () => null;
|
|
47
|
-
try {
|
|
48
|
-
FastImage = require('react-native-fast-image');
|
|
49
|
-
} catch {}
|
|
50
47
|
const Image_FastImage = _ref => {
|
|
51
48
|
let {
|
|
52
49
|
source,
|
|
@@ -57,7 +54,7 @@ const Image_FastImage = _ref => {
|
|
|
57
54
|
style,
|
|
58
55
|
...props
|
|
59
56
|
} = _ref;
|
|
60
|
-
return /*#__PURE__*/React.createElement(
|
|
57
|
+
return /*#__PURE__*/React.createElement(FastImageInternal, _extends({}, props, {
|
|
61
58
|
onLoad: onLoad && (e => onLoad(e.nativeEvent)),
|
|
62
59
|
onError: onError && (() => onError({})),
|
|
63
60
|
style: style,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","convertCache","cache","convertSource","source","Array","isArray","uri","headers","convertDefaultSource","undefined","convertResizeMode","mode","
|
|
1
|
+
{"version":3,"names":["React","FastImageInternal","convertCache","cache","convertSource","source","Array","isArray","uri","headers","convertDefaultSource","undefined","convertResizeMode","mode","Image_FastImage","_ref","defaultSource","resizeMode","onLoad","onError","style","props","createElement","_extends","e","nativeEvent"],"sources":["Image.fastimage.tsx"],"sourcesContent":["import React from 'react';\nimport type { FastImageProps, ResizeMode, Source } from 'react-native-fast-image';\n\nimport FastImageInternal from './FastImageInternal';\nimport type { SendbirdImageComponent, SendbirdImageProps } from './index';\n\nfunction convertCache(\n cache?: 'default' | 'reload' | 'force-cache' | 'only-if-cached' | undefined,\n): 'immutable' | 'web' | 'cacheOnly' {\n switch (cache) {\n case 'force-cache':\n case 'only-if-cached':\n return 'cacheOnly';\n default:\n return 'immutable';\n }\n}\n\nfunction convertSource(source: SendbirdImageProps['source']): Source | number {\n if (Array.isArray(source)) {\n return convertSource(source[0]);\n }\n\n if (typeof source === 'number') {\n return source;\n }\n\n return {\n uri: source.uri,\n headers: source.headers,\n cache: convertCache(source.cache), //'immutable' | 'web' | 'cacheOnly'\n };\n}\nfunction convertDefaultSource(source?: SendbirdImageProps['defaultSource']): number | undefined {\n if (typeof source === 'number') {\n return source;\n }\n\n return undefined;\n}\n\nfunction convertResizeMode(mode?: SendbirdImageProps['resizeMode']): ResizeMode | undefined {\n switch (mode) {\n case 'center':\n return 'center';\n case 'contain':\n return 'contain';\n case 'cover':\n return 'cover';\n case 'stretch':\n return 'stretch';\n default:\n return undefined;\n }\n}\n\nconst Image_FastImage: SendbirdImageComponent = ({\n source,\n defaultSource,\n resizeMode,\n onLoad,\n onError,\n style,\n ...props\n}) => {\n return (\n <FastImageInternal\n {...props}\n onLoad={onLoad && ((e) => onLoad(e.nativeEvent))}\n onError={onError && (() => onError({}))}\n style={style as FastImageProps['style']}\n source={convertSource(source)}\n defaultSource={convertDefaultSource(defaultSource)}\n resizeMode={convertResizeMode(resizeMode)}\n />\n );\n};\n\nexport default Image_FastImage;\n"],"mappings":";AAAA,OAAOA,KAAK,MAAM,OAAO;AAGzB,OAAOC,iBAAiB,MAAM,qBAAqB;AAGnD,SAASC,YAAYA,CACnBC,KAA2E,EACxC;EACnC,QAAQA,KAAK;IACX,KAAK,aAAa;IAClB,KAAK,gBAAgB;MACnB,OAAO,WAAW;IACpB;MACE,OAAO,WAAW;EAAC;AAEzB;AAEA,SAASC,aAAaA,CAACC,MAAoC,EAAmB;EAC5E,IAAIC,KAAK,CAACC,OAAO,CAACF,MAAM,CAAC,EAAE;IACzB,OAAOD,aAAa,CAACC,MAAM,CAAC,CAAC,CAAC,CAAC;EACjC;EAEA,IAAI,OAAOA,MAAM,KAAK,QAAQ,EAAE;IAC9B,OAAOA,MAAM;EACf;EAEA,OAAO;IACLG,GAAG,EAAEH,MAAM,CAACG,GAAG;IACfC,OAAO,EAAEJ,MAAM,CAACI,OAAO;IACvBN,KAAK,EAAED,YAAY,CAACG,MAAM,CAACF,KAAK,CAAC,CAAE;EACrC,CAAC;AACH;;AACA,SAASO,oBAAoBA,CAACL,MAA4C,EAAsB;EAC9F,IAAI,OAAOA,MAAM,KAAK,QAAQ,EAAE;IAC9B,OAAOA,MAAM;EACf;EAEA,OAAOM,SAAS;AAClB;AAEA,SAASC,iBAAiBA,CAACC,IAAuC,EAA0B;EAC1F,QAAQA,IAAI;IACV,KAAK,QAAQ;MACX,OAAO,QAAQ;IACjB,KAAK,SAAS;MACZ,OAAO,SAAS;IAClB,KAAK,OAAO;MACV,OAAO,OAAO;IAChB,KAAK,SAAS;MACZ,OAAO,SAAS;IAClB;MACE,OAAOF,SAAS;EAAC;AAEvB;AAEA,MAAMG,eAAuC,GAAGC,IAAA,IAQ1C;EAAA,IAR2C;IAC/CV,MAAM;IACNW,aAAa;IACbC,UAAU;IACVC,MAAM;IACNC,OAAO;IACPC,KAAK;IACL,GAAGC;EACL,CAAC,GAAAN,IAAA;EACC,oBACEf,KAAA,CAAAsB,aAAA,CAACrB,iBAAiB,EAAAsB,QAAA,KACZF,KAAK;IACTH,MAAM,EAAEA,MAAM,KAAMM,CAAC,IAAKN,MAAM,CAACM,CAAC,CAACC,WAAW,CAAC,CAAE;IACjDN,OAAO,EAAEA,OAAO,KAAK,MAAMA,OAAO,CAAC,CAAC,CAAC,CAAC,CAAE;IACxCC,KAAK,EAAEA,KAAiC;IACxCf,MAAM,EAAED,aAAa,CAACC,MAAM,CAAE;IAC9BW,aAAa,EAAEN,oBAAoB,CAACM,aAAa,CAAE;IACnDC,UAAU,EAAEL,iBAAiB,CAACK,UAAU;EAAE,GAC1C;AAEN,CAAC;AAED,eAAeH,eAAe"}
|
|
@@ -8,6 +8,7 @@ import Icon from '../Icon';
|
|
|
8
8
|
import Image from '../Image';
|
|
9
9
|
const useRetry = function (hasError) {
|
|
10
10
|
let retryCount = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 5;
|
|
11
|
+
// NOTE: Glide(fast-image) will retry automatically on Android
|
|
11
12
|
if (Platform.OS === 'android') return '';
|
|
12
13
|
const forceUpdate = useForceUpdate();
|
|
13
14
|
const retryCountRef = useRef(1);
|
|
@@ -32,6 +33,8 @@ const useRetry = function (hasError) {
|
|
|
32
33
|
};
|
|
33
34
|
const ImageWithPlaceholder = props => {
|
|
34
35
|
const {
|
|
36
|
+
palette,
|
|
37
|
+
select,
|
|
35
38
|
colors
|
|
36
39
|
} = useUIKitTheme();
|
|
37
40
|
const [imageNotFound, setImageNotFound] = useState(false);
|
|
@@ -42,7 +45,10 @@ const ImageWithPlaceholder = props => {
|
|
|
42
45
|
width: props.width,
|
|
43
46
|
height: props.height
|
|
44
47
|
}, props.style],
|
|
45
|
-
backgroundColor:
|
|
48
|
+
backgroundColor: select({
|
|
49
|
+
dark: palette.background400,
|
|
50
|
+
light: palette.background100
|
|
51
|
+
})
|
|
46
52
|
}, /*#__PURE__*/React.createElement(Image, {
|
|
47
53
|
key: key,
|
|
48
54
|
source: props.source,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useEffect","useRef","useState","Platform","StyleSheet","useForceUpdate","createStyleSheet","useUIKitTheme","Box","Icon","Image","useRetry","hasError","retryCount","arguments","length","undefined","OS","forceUpdate","retryCountRef","retryTimeoutRef","reloadReservation","current","setTimeout","clearTimeout","ImageWithPlaceholder","props","colors","imageNotFound","setImageNotFound","key","createElement","style","overflow","width","height","backgroundColor","
|
|
1
|
+
{"version":3,"names":["React","useEffect","useRef","useState","Platform","StyleSheet","useForceUpdate","createStyleSheet","useUIKitTheme","Box","Icon","Image","useRetry","hasError","retryCount","arguments","length","undefined","OS","forceUpdate","retryCountRef","retryTimeoutRef","reloadReservation","current","setTimeout","clearTimeout","ImageWithPlaceholder","props","palette","select","colors","imageNotFound","setImageNotFound","key","createElement","style","overflow","width","height","backgroundColor","dark","background400","light","background100","source","absoluteFill","styles","hide","resizeMode","resizeMethod","onError","onLoad","containerStyle","icon","size","color","onBackground02","display"],"sources":["index.tsx"],"sourcesContent":["import React, { useEffect, useRef, useState } from 'react';\nimport { Platform, StyleProp, StyleSheet, ViewStyle } from 'react-native';\n\nimport { useForceUpdate } from '@sendbird/uikit-utils';\n\nimport createStyleSheet from '../../styles/createStyleSheet';\nimport useUIKitTheme from '../../theme/useUIKitTheme';\nimport Box from '../Box';\nimport Icon from '../Icon';\nimport Image from '../Image';\n\nconst useRetry = (hasError: boolean, retryCount = 5) => {\n // NOTE: Glide(fast-image) will retry automatically on Android\n if (Platform.OS === 'android') return '';\n\n const forceUpdate = useForceUpdate();\n const retryCountRef = useRef(1);\n const retryTimeoutRef = useRef<NodeJS.Timeout>();\n\n useEffect(() => {\n if (hasError) {\n const reloadReservation = () => {\n if (retryCountRef.current < retryCount) {\n retryTimeoutRef.current = setTimeout(() => {\n retryCountRef.current++;\n reloadReservation();\n forceUpdate();\n }, retryCountRef.current * 5000);\n }\n };\n\n return reloadReservation();\n } else {\n return clearTimeout(retryTimeoutRef.current);\n }\n }, [hasError]);\n\n return retryCountRef.current;\n};\n\ntype Props = {\n source: number | { uri: string };\n width?: number | string;\n height?: number | string;\n style?: StyleProp<ViewStyle>;\n};\nconst ImageWithPlaceholder = (props: Props) => {\n const { palette, select, colors } = useUIKitTheme();\n const [imageNotFound, setImageNotFound] = useState(false);\n\n const key = useRetry(imageNotFound);\n return (\n <Box\n style={[{ overflow: 'hidden', width: props.width, height: props.height }, props.style]}\n backgroundColor={select({ dark: palette.background400, light: palette.background100 })}\n >\n <Image\n key={key}\n source={props.source}\n style={[StyleSheet.absoluteFill, imageNotFound && styles.hide]}\n resizeMode={'cover'}\n resizeMethod={'resize'}\n onError={() => setImageNotFound(true)}\n onLoad={() => setImageNotFound(false)}\n />\n {imageNotFound && (\n <Icon\n containerStyle={StyleSheet.absoluteFill}\n icon={'thumbnail-none'}\n size={48}\n color={colors.onBackground02}\n />\n )}\n </Box>\n );\n};\n\nconst styles = createStyleSheet({\n hide: {\n display: 'none',\n },\n});\n\nexport default ImageWithPlaceholder;\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","replaceWithRegex","Text","RegexText","_ref","children","patterns","props","length","createElement","Fragment","matchedTexts","forEach","_ref2","patterIndex","regex","replacer","matchedTextsTemp","concat","offset","text","index","params","parentProps","keyPrefix","String","splice"],"sources":["index.tsx"],"sourcesContent":["import React from 'react';\n\nimport { replaceWithRegex } from '@sendbird/uikit-utils';\n\nimport Text, { TextProps } from '../Text';\n\
|
|
1
|
+
{"version":3,"names":["React","replaceWithRegex","Text","RegexText","_ref","children","patterns","props","length","createElement","Fragment","matchedTexts","forEach","_ref2","patterIndex","regex","replacer","matchedTextsTemp","concat","offset","text","index","params","parentProps","keyPrefix","String","splice"],"sources":["index.tsx"],"sourcesContent":["import React from 'react';\n\nimport { replaceWithRegex } from '@sendbird/uikit-utils';\n\nimport Text, { TextProps } from '../Text';\n\nexport interface RegexTextPattern {\n regex: RegExp;\n replacer(params: {\n match: string;\n groups: string[];\n index: number;\n keyPrefix: string;\n parentProps?: TextProps;\n }): string | JSX.Element;\n}\n\ntype Props = { patterns: RegexTextPattern[] } & TextProps;\n\nconst RegexText = ({ children, patterns, ...props }: Props) => {\n if (patterns.length === 0 || typeof children !== 'string') return <>{children}</>;\n\n const matchedTexts: Array<string | JSX.Element> = [children];\n\n patterns.forEach(({ regex, replacer }, patterIndex) => {\n const matchedTextsTemp = matchedTexts.concat();\n let offset = 0;\n matchedTextsTemp.forEach((text, index) => {\n if (typeof text === 'string' && text) {\n const children = replaceWithRegex(\n text,\n regex,\n (params) => replacer({ ...params, parentProps: props, keyPrefix: index + params.keyPrefix }),\n String(patterIndex),\n );\n\n if (children.length > 1) {\n matchedTexts.splice(index + offset, 1, ...children);\n offset += children.length - 1;\n }\n }\n });\n });\n\n return <Text {...props}>{matchedTexts}</Text>;\n};\n\nexport default RegexText;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AAEzB,SAASC,gBAAgB,QAAQ,uBAAuB;AAExD,OAAOC,IAAI,MAAqB,SAAS;AAezC,MAAMC,SAAS,GAAGC,IAAA,IAA6C;EAAA,IAA5C;IAAEC,QAAQ;IAAEC,QAAQ;IAAE,GAAGC;EAAa,CAAC,GAAAH,IAAA;EACxD,IAAIE,QAAQ,CAACE,MAAM,KAAK,CAAC,IAAI,OAAOH,QAAQ,KAAK,QAAQ,EAAE,oBAAOL,KAAA,CAAAS,aAAA,CAAAT,KAAA,CAAAU,QAAA,QAAGL,QAAQ,CAAI;EAEjF,MAAMM,YAAyC,GAAG,CAACN,QAAQ,CAAC;EAE5DC,QAAQ,CAACM,OAAO,CAAC,CAAAC,KAAA,EAAsBC,WAAW,KAAK;IAAA,IAArC;MAAEC,KAAK;MAAEC;IAAS,CAAC,GAAAH,KAAA;IACnC,MAAMI,gBAAgB,GAAGN,YAAY,CAACO,MAAM,EAAE;IAC9C,IAAIC,MAAM,GAAG,CAAC;IACdF,gBAAgB,CAACL,OAAO,CAAC,CAACQ,IAAI,EAAEC,KAAK,KAAK;MACxC,IAAI,OAAOD,IAAI,KAAK,QAAQ,IAAIA,IAAI,EAAE;QACpC,MAAMf,QAAQ,GAAGJ,gBAAgB,CAC/BmB,IAAI,EACJL,KAAK,EACJO,MAAM,IAAKN,QAAQ,CAAC;UAAE,GAAGM,MAAM;UAAEC,WAAW,EAAEhB,KAAK;UAAEiB,SAAS,EAAEH,KAAK,GAAGC,MAAM,CAACE;QAAU,CAAC,CAAC,EAC5FC,MAAM,CAACX,WAAW,CAAC,CACpB;QAED,IAAIT,QAAQ,CAACG,MAAM,GAAG,CAAC,EAAE;UACvBG,YAAY,CAACe,MAAM,CAACL,KAAK,GAAGF,MAAM,EAAE,CAAC,EAAE,GAAGd,QAAQ,CAAC;UACnDc,MAAM,IAAId,QAAQ,CAACG,MAAM,GAAG,CAAC;QAC/B;MACF;IACF,CAAC,CAAC;EACJ,CAAC,CAAC;EAEF,oBAAOR,KAAA,CAAAS,aAAA,CAACP,IAAI,EAAKK,KAAK,EAAGI,YAAY,CAAQ;AAC/C,CAAC;AAED,eAAeR,SAAS"}
|
package/lib/module/index.js
CHANGED
|
@@ -13,7 +13,6 @@ export { default as RegexText } from './components/RegexText';
|
|
|
13
13
|
export { default as Switch } from './components/Switch';
|
|
14
14
|
export { default as Text } from './components/Text';
|
|
15
15
|
export { default as TextInput } from './components/TextInput';
|
|
16
|
-
export { default as URLParsedText } from './components/URLParsedText';
|
|
17
16
|
|
|
18
17
|
/** UI **/
|
|
19
18
|
export { default as ActionMenu } from './ui/ActionMenu';
|
|
@@ -24,10 +23,11 @@ export { default as BottomSheet } from './ui/BottomSheet';
|
|
|
24
23
|
export { default as Button } from './ui/Button';
|
|
25
24
|
export { default as ChannelFrozenBanner } from './ui/ChannelFrozenBanner';
|
|
26
25
|
export { DialogProvider, useActionMenu, useAlert, usePrompt, useBottomSheet } from './ui/Dialog';
|
|
27
|
-
export { default as GroupChannelPreview } from './ui/GroupChannelPreview';
|
|
28
26
|
export { default as Header } from './ui/Header';
|
|
29
27
|
export { default as LoadingSpinner } from './ui/LoadingSpinner';
|
|
30
28
|
export { default as MenuBar } from './ui/MenuBar';
|
|
29
|
+
export { default as GroupChannelMessage } from './ui/GroupChannelMessage';
|
|
30
|
+
export { default as GroupChannelPreview } from './ui/GroupChannelPreview';
|
|
31
31
|
export { default as OpenChannelMessage } from './ui/OpenChannelMessage';
|
|
32
32
|
export { default as OpenChannelPreview } from './ui/OpenChannelPreview';
|
|
33
33
|
export { default as OutlinedButton } from './ui/OutlinedButton';
|
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["default","IconAssets","Box","Divider","Icon","Image","ImageWithPlaceholder","Modal","PressBox","RegexText","Switch","Text","TextInput","
|
|
1
|
+
{"version":3,"names":["default","IconAssets","Box","Divider","Icon","Image","ImageWithPlaceholder","Modal","PressBox","RegexText","Switch","Text","TextInput","ActionMenu","Alert","Avatar","Badge","BottomSheet","Button","ChannelFrozenBanner","DialogProvider","useActionMenu","useAlert","usePrompt","useBottomSheet","Header","LoadingSpinner","MenuBar","GroupChannelMessage","GroupChannelPreview","OpenChannelMessage","OpenChannelPreview","OutlinedButton","Placeholder","ProfileCard","Prompt","Toast","useToast","ToastProvider","createSelectByColorScheme","createScaleFactor","createStyleSheet","createTypography","getDefaultHeaderHeight","HeaderStyleContext","HeaderStyleProvider","useHeaderStyle","createTheme","DarkUIKitTheme","LightUIKitTheme","Palette","UIKitThemeContext","UIKitThemeProvider","useUIKitTheme"],"sources":["index.ts"],"sourcesContent":["/** Assets **/\nexport { default as IconAssets } from './assets/icon';\n\n/** Component **/\nexport { default as Box } from './components/Box';\nexport { default as Divider } from './components/Divider';\nexport { default as Icon } from './components/Icon';\nexport { default as Image } from './components/Image';\nexport { default as ImageWithPlaceholder } from './components/ImageWithPlaceholder';\nexport { default as Modal } from './components/Modal';\nexport { default as PressBox } from './components/PressBox';\nexport { default as RegexText } from './components/RegexText';\nexport type { RegexTextPattern } from './components/RegexText';\nexport { default as Switch } from './components/Switch';\nexport { default as Text } from './components/Text';\nexport { default as TextInput } from './components/TextInput';\n\n/** UI **/\nexport { default as ActionMenu } from './ui/ActionMenu';\nexport { default as Alert } from './ui/Alert';\nexport { default as Avatar } from './ui/Avatar';\nexport { default as Badge } from './ui/Badge';\nexport { default as BottomSheet } from './ui/BottomSheet';\nexport { default as Button } from './ui/Button';\nexport { default as ChannelFrozenBanner } from './ui/ChannelFrozenBanner';\nexport { DialogProvider, useActionMenu, useAlert, usePrompt, useBottomSheet } from './ui/Dialog';\nexport { default as Header } from './ui/Header';\nexport { default as LoadingSpinner } from './ui/LoadingSpinner';\nexport { default as MenuBar } from './ui/MenuBar';\nexport type { MenuBarProps } from './ui/MenuBar';\nexport { default as GroupChannelMessage } from './ui/GroupChannelMessage';\nexport type { GroupChannelMessageProps } from './ui/GroupChannelMessage';\nexport { default as GroupChannelPreview } from './ui/GroupChannelPreview';\n\nexport { default as OpenChannelMessage } from './ui/OpenChannelMessage';\nexport type { OpenChannelMessageProps } from './ui/OpenChannelMessage';\nexport { default as OpenChannelPreview } from './ui/OpenChannelPreview';\nexport { default as OutlinedButton } from './ui/OutlinedButton';\nexport { default as Placeholder } from './ui/Placeholder';\nexport { default as ProfileCard } from './ui/ProfileCard';\nexport { default as Prompt } from './ui/Prompt';\nexport { default as Toast, useToast, ToastProvider } from './ui/Toast';\n\n/** Styles **/\nexport { default as createSelectByColorScheme } from './styles/createSelectByColorScheme';\nexport { default as createScaleFactor } from './styles/createScaleFactor';\nexport { default as createStyleSheet } from './styles/createStyleSheet';\nexport { default as createTypography } from './styles/createTypography';\nexport { default as getDefaultHeaderHeight } from './styles/getDefaultHeaderHeight';\nexport { HeaderStyleContext, HeaderStyleProvider } from './styles/HeaderStyleContext';\nexport { default as useHeaderStyle } from './styles/useHeaderStyle';\n\n/** Theme **/\nexport { default as createTheme } from './theme/createTheme';\nexport { default as DarkUIKitTheme } from './theme/DarkUIKitTheme';\nexport { default as LightUIKitTheme } from './theme/LightUIKitTheme';\nexport { default as Palette } from './theme/Palette';\nexport { default as UIKitThemeContext } from './theme/UIKitThemeContext';\nexport { default as UIKitThemeProvider } from './theme/UIKitThemeProvider';\nexport { default as useUIKitTheme } from './theme/useUIKitTheme';\n\n/** Types **/\nexport type {\n TypoName,\n UIKitTheme,\n UIKitTypography,\n FontAttributes,\n BaseHeaderProps,\n UIKitColorScheme,\n UIKitColors,\n ComponentColorTree,\n UIKitPalette,\n HeaderElement,\n HeaderPartProps,\n ComponentColors,\n Component,\n GetColorTree,\n} from './types';\nexport type { ActionMenuItem } from './ui/ActionMenu';\nexport type { BottomSheetItem } from './ui/BottomSheet';\nexport type { UIKitTypographyOverrides } from './styles/createTypography';\nexport type { HeaderStyleContextType } from './styles/HeaderStyleContext';\n"],"mappings":"AAAA;AACA,SAASA,OAAO,IAAIC,UAAU,QAAQ,eAAe;;AAErD;AACA,SAASD,OAAO,IAAIE,GAAG,QAAQ,kBAAkB;AACjD,SAASF,OAAO,IAAIG,OAAO,QAAQ,sBAAsB;AACzD,SAASH,OAAO,IAAII,IAAI,QAAQ,mBAAmB;AACnD,SAASJ,OAAO,IAAIK,KAAK,QAAQ,oBAAoB;AACrD,SAASL,OAAO,IAAIM,oBAAoB,QAAQ,mCAAmC;AACnF,SAASN,OAAO,IAAIO,KAAK,QAAQ,oBAAoB;AACrD,SAASP,OAAO,IAAIQ,QAAQ,QAAQ,uBAAuB;AAC3D,SAASR,OAAO,IAAIS,SAAS,QAAQ,wBAAwB;AAE7D,SAAST,OAAO,IAAIU,MAAM,QAAQ,qBAAqB;AACvD,SAASV,OAAO,IAAIW,IAAI,QAAQ,mBAAmB;AACnD,SAASX,OAAO,IAAIY,SAAS,QAAQ,wBAAwB;;AAE7D;AACA,SAASZ,OAAO,IAAIa,UAAU,QAAQ,iBAAiB;AACvD,SAASb,OAAO,IAAIc,KAAK,QAAQ,YAAY;AAC7C,SAASd,OAAO,IAAIe,MAAM,QAAQ,aAAa;AAC/C,SAASf,OAAO,IAAIgB,KAAK,QAAQ,YAAY;AAC7C,SAAShB,OAAO,IAAIiB,WAAW,QAAQ,kBAAkB;AACzD,SAASjB,OAAO,IAAIkB,MAAM,QAAQ,aAAa;AAC/C,SAASlB,OAAO,IAAImB,mBAAmB,QAAQ,0BAA0B;AACzE,SAASC,cAAc,EAAEC,aAAa,EAAEC,QAAQ,EAAEC,SAAS,EAAEC,cAAc,QAAQ,aAAa;AAChG,SAASxB,OAAO,IAAIyB,MAAM,QAAQ,aAAa;AAC/C,SAASzB,OAAO,IAAI0B,cAAc,QAAQ,qBAAqB;AAC/D,SAAS1B,OAAO,IAAI2B,OAAO,QAAQ,cAAc;AAEjD,SAAS3B,OAAO,IAAI4B,mBAAmB,QAAQ,0BAA0B;AAEzE,SAAS5B,OAAO,IAAI6B,mBAAmB,QAAQ,0BAA0B;AAEzE,SAAS7B,OAAO,IAAI8B,kBAAkB,QAAQ,yBAAyB;AAEvE,SAAS9B,OAAO,IAAI+B,kBAAkB,QAAQ,yBAAyB;AACvE,SAAS/B,OAAO,IAAIgC,cAAc,QAAQ,qBAAqB;AAC/D,SAAShC,OAAO,IAAIiC,WAAW,QAAQ,kBAAkB;AACzD,SAASjC,OAAO,IAAIkC,WAAW,QAAQ,kBAAkB;AACzD,SAASlC,OAAO,IAAImC,MAAM,QAAQ,aAAa;AAC/C,SAASnC,OAAO,IAAIoC,KAAK,EAAEC,QAAQ,EAAEC,aAAa,QAAQ,YAAY;;AAEtE;AACA,SAAStC,OAAO,IAAIuC,yBAAyB,QAAQ,oCAAoC;AACzF,SAASvC,OAAO,IAAIwC,iBAAiB,QAAQ,4BAA4B;AACzE,SAASxC,OAAO,IAAIyC,gBAAgB,QAAQ,2BAA2B;AACvE,SAASzC,OAAO,IAAI0C,gBAAgB,QAAQ,2BAA2B;AACvE,SAAS1C,OAAO,IAAI2C,sBAAsB,QAAQ,iCAAiC;AACnF,SAASC,kBAAkB,EAAEC,mBAAmB,QAAQ,6BAA6B;AACrF,SAAS7C,OAAO,IAAI8C,cAAc,QAAQ,yBAAyB;;AAEnE;AACA,SAAS9C,OAAO,IAAI+C,WAAW,QAAQ,qBAAqB;AAC5D,SAAS/C,OAAO,IAAIgD,cAAc,QAAQ,wBAAwB;AAClE,SAAShD,OAAO,IAAIiD,eAAe,QAAQ,yBAAyB;AACpE,SAASjD,OAAO,IAAIkD,OAAO,QAAQ,iBAAiB;AACpD,SAASlD,OAAO,IAAImD,iBAAiB,QAAQ,2BAA2B;AACxE,SAASnD,OAAO,IAAIoD,kBAAkB,QAAQ,4BAA4B;AAC1E,SAASpD,OAAO,IAAIqD,aAAa,QAAQ,uBAAuB;;AAEhE"}
|
package/lib/module/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport type { ReactElement, ReactNode } from 'react';\nimport type { TextStyle } from 'react-native';\n\nexport interface UIKitTypography {\n h1: FontAttributes;\n h2: FontAttributes;\n subtitle1: FontAttributes;\n subtitle2: FontAttributes;\n body1: FontAttributes;\n body2: FontAttributes;\n body3: FontAttributes;\n button: FontAttributes;\n caption1: FontAttributes;\n caption2: FontAttributes;\n caption3: FontAttributes;\n caption4: FontAttributes;\n}\nexport type TypoName = keyof UIKitTypography;\nexport type FontAttributes = Pick<TextStyle, 'fontFamily' | 'fontSize' | 'lineHeight' | 'letterSpacing' | 'fontWeight'>;\n\nexport type UIKitColorScheme = 'light' | 'dark';\nexport interface UIKitTheme {\n colorScheme: UIKitColorScheme;\n select<V>(options: { [key in UIKitColorScheme | 'default']?: V }): V;\n\n palette: UIKitPalette;\n colors: UIKitColors;\n\n typography: UIKitTypography;\n}\n\nexport type Component =\n | 'Header'\n | 'Button'\n | 'Dialog'\n | 'Input'\n | 'Badge'\n | 'Placeholder'\n | 'DateSeparator'\n | 'GroupChannelMessage'\n | 'GroupChannelPreview'\n | 'ProfileCard'\n | 'Reaction'\n | 'OpenChannelMessage'\n | 'OpenChannelPreview'
|
|
1
|
+
{"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport type { ReactElement, ReactNode } from 'react';\nimport type { TextStyle } from 'react-native';\n\nexport interface UIKitTypography {\n h1: FontAttributes;\n h2: FontAttributes;\n subtitle1: FontAttributes;\n subtitle2: FontAttributes;\n body1: FontAttributes;\n body2: FontAttributes;\n body3: FontAttributes;\n button: FontAttributes;\n caption1: FontAttributes;\n caption2: FontAttributes;\n caption3: FontAttributes;\n caption4: FontAttributes;\n}\nexport type TypoName = keyof UIKitTypography;\nexport type FontAttributes = Pick<TextStyle, 'fontFamily' | 'fontSize' | 'lineHeight' | 'letterSpacing' | 'fontWeight'>;\n\nexport type UIKitColorScheme = 'light' | 'dark';\nexport interface UIKitTheme {\n colorScheme: UIKitColorScheme;\n select<V>(options: { [key in UIKitColorScheme | 'default']?: V }): V;\n\n palette: UIKitPalette;\n colors: UIKitColors;\n\n typography: UIKitTypography;\n}\n\nexport type Component =\n | 'Header'\n | 'Button'\n | 'Dialog'\n | 'Input'\n | 'Badge'\n | 'Placeholder'\n | 'DateSeparator'\n | 'GroupChannelMessage'\n | 'GroupChannelPreview'\n | 'ProfileCard'\n | 'Reaction'\n | 'OpenChannelMessage'\n | 'OpenChannelPreview';\n\nexport type GetColorTree<\n Tree extends {\n Variant: {\n [key in Component]: string;\n };\n State: {\n [key in Component]: string;\n };\n ColorPart: {\n [key in Component]: string;\n };\n },\n> = Tree;\n\nexport type ComponentColorTree = GetColorTree<{\n Variant: {\n Header: 'nav';\n Button: 'contained' | 'text';\n Dialog: 'default';\n Input: 'default' | 'underline';\n Badge: 'default';\n Placeholder: 'default';\n DateSeparator: 'default';\n GroupChannelMessage: 'incoming' | 'outgoing';\n GroupChannelPreview: 'default';\n ProfileCard: 'default';\n Reaction: 'default' | 'rounded';\n OpenChannelMessage: 'default';\n OpenChannelPreview: 'default';\n };\n State: {\n Header: 'none';\n Button: 'enabled' | 'pressed' | 'disabled';\n Dialog: 'none';\n Input: 'active' | 'disabled';\n Badge: 'none';\n Placeholder: 'none';\n DateSeparator: 'none';\n GroupChannelMessage: 'enabled' | 'pressed';\n GroupChannelPreview: 'none';\n ProfileCard: 'none';\n Reaction: 'enabled' | 'selected';\n OpenChannelMessage: 'enabled' | 'pressed';\n OpenChannelPreview: 'none';\n };\n ColorPart: {\n Header: 'background' | 'borderBottom';\n Button: 'background' | 'content';\n Dialog: 'background' | 'text' | 'message' | 'highlight' | 'destructive';\n Input: 'text' | 'placeholder' | 'background' | 'highlight';\n Badge: 'text' | 'background';\n Placeholder: 'content' | 'highlight';\n DateSeparator: 'text' | 'background';\n GroupChannelMessage: 'textMsg' | 'textEdited' | 'textSenderName' | 'textTime' | 'background';\n GroupChannelPreview:\n | 'textTitle'\n | 'textTitleCaption'\n | 'textBody'\n | 'memberCount'\n | 'bodyIcon'\n | 'background'\n | 'coverBackground'\n | 'bodyIconBackground'\n | 'separator';\n ProfileCard: 'textUsername' | 'textBodyLabel' | 'textBody' | 'background';\n Reaction: 'background' | 'highlight';\n OpenChannelMessage:\n | 'textMsg'\n | 'textMsgPostfix'\n | 'textSenderName'\n | 'textTime'\n | 'textOperator'\n | 'background'\n | 'bubbleBackground'\n | 'adminBackground';\n OpenChannelPreview:\n | 'textTitle'\n | 'textParticipants'\n | 'frozenIcon'\n | 'participantsIcon'\n | 'background'\n | 'coverBackground'\n | 'separator';\n };\n}>;\nexport type ComponentColors<T extends Component> = {\n [key in ComponentColorTree['Variant'][T]]: {\n [key in ComponentColorTree['State'][T]]: {\n [key in ComponentColorTree['ColorPart'][T]]: string;\n };\n };\n};\n\nexport interface UIKitColors {\n primary: string;\n secondary: string;\n error: string;\n background: string;\n text: string;\n onBackground01: string;\n onBackground02: string;\n onBackground03: string;\n onBackground04: string;\n onBackgroundReverse01: string;\n onBackgroundReverse02: string;\n onBackgroundReverse03: string;\n onBackgroundReverse04: string;\n /**\n * UI Colors has below structure\n * Component.{Variant}.{State}.{ColorPart}\n * @example\n * ```\n * const { colors } = useUIKitTheme();\n * colors.ui.button.contained.disabled.backgroundColor\n * ```\n * */\n ui: {\n header: ComponentColors<'Header'>;\n button: ComponentColors<'Button'>;\n dialog: ComponentColors<'Dialog'>;\n input: ComponentColors<'Input'>;\n badge: ComponentColors<'Badge'>;\n placeholder: ComponentColors<'Placeholder'>;\n dateSeparator: ComponentColors<'DateSeparator'>;\n groupChannelMessage: ComponentColors<'GroupChannelMessage'>;\n groupChannelPreview: ComponentColors<'GroupChannelPreview'>;\n profileCard: ComponentColors<'ProfileCard'>;\n reaction: ComponentColors<'Reaction'>;\n openChannelMessage: ComponentColors<'OpenChannelMessage'>;\n openChannelPreview: ComponentColors<'OpenChannelPreview'>;\n };\n}\n\nexport type HeaderElement = string | ReactElement | null;\nexport type HeaderPartProps = {\n title?: HeaderElement;\n right?: HeaderElement;\n left?: HeaderElement;\n onPressLeft?: (...params: any[]) => any;\n onPressRight?: (...params: any[]) => any;\n};\nexport type BaseHeaderProps<HeaderParts extends HeaderPartProps = {}, AdditionalProps = {}> = {\n titleAlign?: 'left' | 'center' | 'right';\n children?: ReactNode;\n} & HeaderParts &\n AdditionalProps;\nexport interface UIKitPalette {\n primary100: string;\n primary200: string;\n primary300: string;\n primary400: string;\n primary500: string;\n\n secondary100: string;\n secondary200: string;\n secondary300: string;\n secondary400: string;\n secondary500: string;\n\n error100: string;\n error200: string;\n error300: string;\n error400: string;\n error500: string;\n\n background50: string;\n background100: string;\n background200: string;\n background300: string;\n background400: string;\n background500: string;\n background600: string;\n background700: string;\n\n overlay01: string;\n overlay02: string;\n\n information: string;\n highlight: string;\n transparent: 'transparent';\n\n onBackgroundLight01: string;\n onBackgroundLight02: string;\n onBackgroundLight03: string;\n onBackgroundLight04: string;\n\n onBackgroundDark01: string;\n onBackgroundDark02: string;\n onBackgroundDark03: string;\n onBackgroundDark04: string;\n}\n"],"mappings":""}
|
|
@@ -71,7 +71,7 @@ const getWidthPoint = (idx, total) => {
|
|
|
71
71
|
return 0.5;
|
|
72
72
|
};
|
|
73
73
|
const getTopPoint = (idx, total) => {
|
|
74
|
-
if (total === 2) return
|
|
74
|
+
if (total === 2) return 0;
|
|
75
75
|
if (total === 3 && idx === 0) return -0.025;
|
|
76
76
|
if (total === 3 && idx !== 0) return 0.525;
|
|
77
77
|
if (idx === 0 || idx === 1) return -0.025;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","View","MAX","AvatarGroup","_ref","children","containerStyle","size","childAmount","Children","count","createElement","style","overflow","width","height","borderRadius","backgroundColor","renderAvatars","_React$Children$map","map","child","index","isValidElement","cloneElement","top","getTopPoint","left","getLeftPoint","getWidthPoint","getHeightPoint","innerLeft","getInnerLeft","innerTop","getInnerTop","position","square","slice","_","total","idx"],"sources":["AvatarGroup.tsx"],"sourcesContent":["import React, { ReactElement } from 'react';\nimport { StyleProp, View, ViewStyle } from 'react-native';\n\nconst MAX = 4;\n\ntype Props = React.PropsWithChildren<{\n size?: number;\n containerStyle?: StyleProp<ViewStyle>;\n}>;\nconst AvatarGroup = ({ children, containerStyle, size = 56 }: Props) => {\n const childAmount = React.Children.count(children);\n\n if (childAmount === 0) {\n return (\n <View\n style={[\n containerStyle,\n {\n overflow: 'hidden',\n width: size,\n height: size,\n borderRadius: size,\n backgroundColor: 'rgba(120,120,120,0.2)',\n },\n ]}\n />\n );\n }\n\n const renderAvatars = () => {\n return (\n React.Children.map(children, (child, index) => {\n if (index + 1 > MAX) return child;\n if (!React.isValidElement(child)) return child;\n\n if (childAmount === 1) return React.cloneElement(child as ReactElement, { size, containerStyle });\n\n const top = getTopPoint(index, childAmount) * size;\n const left = getLeftPoint(index) * size;\n const width = getWidthPoint(index, childAmount) * size;\n const height = getHeightPoint(index, childAmount) * size;\n const innerLeft = -getInnerLeft(index, childAmount) * size;\n const innerTop = -getInnerTop(childAmount) * size;\n\n return (\n <View style={{ overflow: 'hidden', position: 'absolute', top, left, width, height }}>\n {React.cloneElement(child as ReactElement, {\n size,\n square: true,\n containerStyle: { left: innerLeft, top: innerTop },\n })}\n </View>\n );\n })?.slice(0, 4) ?? []\n );\n };\n\n return (\n <View style={[containerStyle, { overflow: 'hidden', width: size, height: size, borderRadius: size }]}>\n {renderAvatars()}\n </View>\n );\n};\n\nconst getHeightPoint = (_: number, total: number) => {\n if (total === 2) return 1;\n return 0.5;\n};\nconst getWidthPoint = (idx: number, total: number) => {\n if (total === 3 && idx === 0) return 1;\n return 0.5;\n};\nconst getTopPoint = (idx: number, total: number) => {\n if (total === 2) return
|
|
1
|
+
{"version":3,"names":["React","View","MAX","AvatarGroup","_ref","children","containerStyle","size","childAmount","Children","count","createElement","style","overflow","width","height","borderRadius","backgroundColor","renderAvatars","_React$Children$map","map","child","index","isValidElement","cloneElement","top","getTopPoint","left","getLeftPoint","getWidthPoint","getHeightPoint","innerLeft","getInnerLeft","innerTop","getInnerTop","position","square","slice","_","total","idx"],"sources":["AvatarGroup.tsx"],"sourcesContent":["import React, { ReactElement } from 'react';\nimport { StyleProp, View, ViewStyle } from 'react-native';\n\nconst MAX = 4;\n\ntype Props = React.PropsWithChildren<{\n size?: number;\n containerStyle?: StyleProp<ViewStyle>;\n}>;\nconst AvatarGroup = ({ children, containerStyle, size = 56 }: Props) => {\n const childAmount = React.Children.count(children);\n\n if (childAmount === 0) {\n return (\n <View\n style={[\n containerStyle,\n {\n overflow: 'hidden',\n width: size,\n height: size,\n borderRadius: size,\n backgroundColor: 'rgba(120,120,120,0.2)',\n },\n ]}\n />\n );\n }\n\n const renderAvatars = () => {\n return (\n React.Children.map(children, (child, index) => {\n if (index + 1 > MAX) return child;\n if (!React.isValidElement(child)) return child;\n\n if (childAmount === 1) return React.cloneElement(child as ReactElement, { size, containerStyle });\n\n const top = getTopPoint(index, childAmount) * size;\n const left = getLeftPoint(index) * size;\n const width = getWidthPoint(index, childAmount) * size;\n const height = getHeightPoint(index, childAmount) * size;\n const innerLeft = -getInnerLeft(index, childAmount) * size;\n const innerTop = -getInnerTop(childAmount) * size;\n\n return (\n <View style={{ overflow: 'hidden', position: 'absolute', top, left, width, height }}>\n {React.cloneElement(child as ReactElement, {\n size,\n square: true,\n containerStyle: { left: innerLeft, top: innerTop },\n })}\n </View>\n );\n })?.slice(0, 4) ?? []\n );\n };\n\n return (\n <View style={[containerStyle, { overflow: 'hidden', width: size, height: size, borderRadius: size }]}>\n {renderAvatars()}\n </View>\n );\n};\n\nconst getHeightPoint = (_: number, total: number) => {\n if (total === 2) return 1;\n return 0.5;\n};\nconst getWidthPoint = (idx: number, total: number) => {\n if (total === 3 && idx === 0) return 1;\n return 0.5;\n};\nconst getTopPoint = (idx: number, total: number) => {\n if (total === 2) return 0;\n if (total === 3 && idx === 0) return -0.025;\n if (total === 3 && idx !== 0) return 0.525;\n if (idx === 0 || idx === 1) return -0.025;\n return 0.525;\n};\nconst getLeftPoint = (idx: number) => {\n if (idx === 0 || idx === 2) return -0.025;\n return 0.525;\n};\nconst getInnerLeft = (idx: number, total: number) => {\n if (total === 3 && idx === 0) return 0;\n return 0.25;\n};\nconst getInnerTop = (total: number) => {\n if (total === 2) return 0;\n return 0.25;\n};\n\nexport default AvatarGroup;\n"],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import Box from '../../components/Box';
|
|
3
|
+
import Text from '../../components/Text';
|
|
4
|
+
import createStyleSheet from '../../styles/createStyleSheet';
|
|
5
|
+
import useUIKitTheme from '../../theme/useUIKitTheme';
|
|
6
|
+
const AdminMessage = props => {
|
|
7
|
+
const {
|
|
8
|
+
colors
|
|
9
|
+
} = useUIKitTheme();
|
|
10
|
+
return /*#__PURE__*/React.createElement(Box, {
|
|
11
|
+
style: styles.container
|
|
12
|
+
}, /*#__PURE__*/React.createElement(Text, {
|
|
13
|
+
caption2: true,
|
|
14
|
+
color: colors.onBackground02,
|
|
15
|
+
style: styles.text
|
|
16
|
+
}, props.message.message));
|
|
17
|
+
};
|
|
18
|
+
const styles = createStyleSheet({
|
|
19
|
+
container: {
|
|
20
|
+
width: 300,
|
|
21
|
+
alignSelf: 'center',
|
|
22
|
+
alignItems: 'center'
|
|
23
|
+
},
|
|
24
|
+
text: {
|
|
25
|
+
textAlign: 'center'
|
|
26
|
+
}
|
|
27
|
+
});
|
|
28
|
+
export default AdminMessage;
|
|
29
|
+
//# sourceMappingURL=Message.admin.js.map
|