@sendbird/uikit-react-native-foundation 2.3.0 → 2.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (105) hide show
  1. package/lib/commonjs/components/Box/index.js +46 -0
  2. package/lib/commonjs/components/Box/index.js.map +1 -0
  3. package/lib/commonjs/components/ImageWithPlaceholder/index.js +92 -0
  4. package/lib/commonjs/components/ImageWithPlaceholder/index.js.map +1 -0
  5. package/lib/commonjs/components/PressBox/index.js +60 -0
  6. package/lib/commonjs/components/PressBox/index.js.map +1 -0
  7. package/lib/commonjs/index.js +39 -5
  8. package/lib/commonjs/index.js.map +1 -1
  9. package/lib/commonjs/theme/DarkUIKitTheme.js +220 -179
  10. package/lib/commonjs/theme/DarkUIKitTheme.js.map +1 -1
  11. package/lib/commonjs/theme/LightUIKitTheme.js +220 -179
  12. package/lib/commonjs/theme/LightUIKitTheme.js.map +1 -1
  13. package/lib/commonjs/types.js.map +1 -1
  14. package/lib/commonjs/ui/Header/index.js +4 -2
  15. package/lib/commonjs/ui/Header/index.js.map +1 -1
  16. package/lib/commonjs/ui/OpenChannelMessage/Message.admin.js +40 -0
  17. package/lib/commonjs/ui/OpenChannelMessage/Message.admin.js.map +1 -0
  18. package/lib/commonjs/ui/OpenChannelMessage/Message.file.image.js +57 -0
  19. package/lib/commonjs/ui/OpenChannelMessage/Message.file.image.js.map +1 -0
  20. package/lib/commonjs/ui/OpenChannelMessage/Message.file.js +90 -0
  21. package/lib/commonjs/ui/OpenChannelMessage/Message.file.js.map +1 -0
  22. package/lib/commonjs/ui/OpenChannelMessage/Message.file.video.js +134 -0
  23. package/lib/commonjs/ui/OpenChannelMessage/Message.file.video.js.map +1 -0
  24. package/lib/commonjs/ui/OpenChannelMessage/Message.unknown.js +55 -0
  25. package/lib/commonjs/ui/OpenChannelMessage/Message.unknown.js.map +1 -0
  26. package/lib/commonjs/ui/OpenChannelMessage/Message.user.js +83 -0
  27. package/lib/commonjs/ui/OpenChannelMessage/Message.user.js.map +1 -0
  28. package/lib/commonjs/ui/OpenChannelMessage/Message.user.og.js +140 -0
  29. package/lib/commonjs/ui/OpenChannelMessage/Message.user.og.js.map +1 -0
  30. package/lib/commonjs/ui/OpenChannelMessage/MessageContainer.js +136 -0
  31. package/lib/commonjs/ui/OpenChannelMessage/MessageContainer.js.map +1 -0
  32. package/lib/commonjs/ui/OpenChannelMessage/index.js +35 -0
  33. package/lib/commonjs/ui/OpenChannelMessage/index.js.map +1 -0
  34. package/lib/commonjs/ui/OpenChannelPreview/index.js +134 -0
  35. package/lib/commonjs/ui/OpenChannelPreview/index.js.map +1 -0
  36. package/lib/module/components/Box/index.js +33 -0
  37. package/lib/module/components/Box/index.js.map +1 -0
  38. package/lib/module/components/ImageWithPlaceholder/index.js +71 -0
  39. package/lib/module/components/ImageWithPlaceholder/index.js.map +1 -0
  40. package/lib/module/components/PressBox/index.js +45 -0
  41. package/lib/module/components/PressBox/index.js.map +1 -0
  42. package/lib/module/index.js +6 -1
  43. package/lib/module/index.js.map +1 -1
  44. package/lib/module/theme/DarkUIKitTheme.js +220 -179
  45. package/lib/module/theme/DarkUIKitTheme.js.map +1 -1
  46. package/lib/module/theme/LightUIKitTheme.js +220 -179
  47. package/lib/module/theme/LightUIKitTheme.js.map +1 -1
  48. package/lib/module/types.js.map +1 -1
  49. package/lib/module/ui/Header/index.js +4 -2
  50. package/lib/module/ui/Header/index.js.map +1 -1
  51. package/lib/module/ui/OpenChannelMessage/Message.admin.js +27 -0
  52. package/lib/module/ui/OpenChannelMessage/Message.admin.js.map +1 -0
  53. package/lib/module/ui/OpenChannelMessage/Message.file.image.js +41 -0
  54. package/lib/module/ui/OpenChannelMessage/Message.file.image.js.map +1 -0
  55. package/lib/module/ui/OpenChannelMessage/Message.file.js +71 -0
  56. package/lib/module/ui/OpenChannelMessage/Message.file.js.map +1 -0
  57. package/lib/module/ui/OpenChannelMessage/Message.file.video.js +112 -0
  58. package/lib/module/ui/OpenChannelMessage/Message.file.video.js.map +1 -0
  59. package/lib/module/ui/OpenChannelMessage/Message.unknown.js +41 -0
  60. package/lib/module/ui/OpenChannelMessage/Message.unknown.js.map +1 -0
  61. package/lib/module/ui/OpenChannelMessage/Message.user.js +67 -0
  62. package/lib/module/ui/OpenChannelMessage/Message.user.js.map +1 -0
  63. package/lib/module/ui/OpenChannelMessage/Message.user.og.js +121 -0
  64. package/lib/module/ui/OpenChannelMessage/Message.user.og.js.map +1 -0
  65. package/lib/module/ui/OpenChannelMessage/MessageContainer.js +116 -0
  66. package/lib/module/ui/OpenChannelMessage/MessageContainer.js.map +1 -0
  67. package/lib/module/ui/OpenChannelMessage/index.js +18 -0
  68. package/lib/module/ui/OpenChannelMessage/index.js.map +1 -0
  69. package/lib/module/ui/OpenChannelPreview/index.js +117 -0
  70. package/lib/module/ui/OpenChannelPreview/index.js.map +1 -0
  71. package/lib/typescript/src/components/Box/index.d.ts +11 -0
  72. package/lib/typescript/src/components/ImageWithPlaceholder/index.d.ts +11 -0
  73. package/lib/typescript/src/components/PressBox/index.d.ts +16 -0
  74. package/lib/typescript/src/index.d.ts +8 -1
  75. package/lib/typescript/src/types.d.ts +21 -5
  76. package/lib/typescript/src/ui/Header/index.d.ts +1 -0
  77. package/lib/typescript/src/ui/OpenChannelMessage/Message.admin.d.ts +4 -0
  78. package/lib/typescript/src/ui/OpenChannelMessage/Message.file.d.ts +5 -0
  79. package/lib/typescript/src/ui/OpenChannelMessage/Message.file.image.d.ts +4 -0
  80. package/lib/typescript/src/ui/OpenChannelMessage/Message.file.video.d.ts +9 -0
  81. package/lib/typescript/src/ui/OpenChannelMessage/Message.unknown.d.ts +4 -0
  82. package/lib/typescript/src/ui/OpenChannelMessage/Message.user.d.ts +5 -0
  83. package/lib/typescript/src/ui/OpenChannelMessage/Message.user.og.d.ts +5 -0
  84. package/lib/typescript/src/ui/OpenChannelMessage/MessageContainer.d.ts +7 -0
  85. package/lib/typescript/src/ui/OpenChannelMessage/index.d.ts +136 -0
  86. package/lib/typescript/src/ui/OpenChannelPreview/index.d.ts +10 -0
  87. package/package.json +4 -4
  88. package/src/components/Box/index.tsx +65 -0
  89. package/src/components/ImageWithPlaceholder/index.tsx +83 -0
  90. package/src/components/PressBox/index.tsx +53 -0
  91. package/src/index.ts +8 -1
  92. package/src/theme/DarkUIKitTheme.ts +213 -171
  93. package/src/theme/LightUIKitTheme.ts +213 -171
  94. package/src/types.ts +41 -6
  95. package/src/ui/Header/index.tsx +7 -2
  96. package/src/ui/OpenChannelMessage/Message.admin.tsx +24 -0
  97. package/src/ui/OpenChannelMessage/Message.file.image.tsx +34 -0
  98. package/src/ui/OpenChannelMessage/Message.file.tsx +67 -0
  99. package/src/ui/OpenChannelMessage/Message.file.video.tsx +93 -0
  100. package/src/ui/OpenChannelMessage/Message.unknown.tsx +31 -0
  101. package/src/ui/OpenChannelMessage/Message.user.og.tsx +120 -0
  102. package/src/ui/OpenChannelMessage/Message.user.tsx +61 -0
  103. package/src/ui/OpenChannelMessage/MessageContainer.tsx +121 -0
  104. package/src/ui/OpenChannelMessage/index.ts +42 -0
  105. package/src/ui/OpenChannelPreview/index.tsx +97 -0
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _react = _interopRequireDefault(require("react"));
9
+
10
+ var _Box = _interopRequireDefault(require("../../components/Box"));
11
+
12
+ var _Text = _interopRequireDefault(require("../../components/Text"));
13
+
14
+ var _useUIKitTheme = _interopRequireDefault(require("../../theme/useUIKitTheme"));
15
+
16
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
+
18
+ const AdminMessage = props => {
19
+ const {
20
+ colors
21
+ } = (0, _useUIKitTheme.default)();
22
+ const color = colors.ui.openChannelMessage.default;
23
+ return /*#__PURE__*/_react.default.createElement(_Box.default, {
24
+ marginVertical: 8,
25
+ paddingHorizontal: 12,
26
+ backgroundColor: colors.background
27
+ }, /*#__PURE__*/_react.default.createElement(_Box.default, {
28
+ borderRadius: 8,
29
+ paddingHorizontal: 16,
30
+ paddingVertical: 14,
31
+ backgroundColor: color.enabled.adminBackground
32
+ }, /*#__PURE__*/_react.default.createElement(_Text.default, {
33
+ caption2: true,
34
+ color: colors.onBackground02
35
+ }, props.message.message)));
36
+ };
37
+
38
+ var _default = AdminMessage;
39
+ exports.default = _default;
40
+ //# sourceMappingURL=Message.admin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["AdminMessage","props","colors","useUIKitTheme","color","ui","openChannelMessage","default","background","enabled","adminBackground","onBackground02","message"],"sources":["Message.admin.tsx"],"sourcesContent":["import React from 'react';\n\nimport type { SendbirdAdminMessage } from '@sendbird/uikit-utils';\n\nimport Box from '../../components/Box';\nimport Text from '../../components/Text';\nimport useUIKitTheme from '../../theme/useUIKitTheme';\nimport type { OpenChannelMessageProps } from './index';\n\nconst AdminMessage = (props: OpenChannelMessageProps<SendbirdAdminMessage>) => {\n const { colors } = useUIKitTheme();\n const color = colors.ui.openChannelMessage.default;\n return (\n <Box marginVertical={8} paddingHorizontal={12} backgroundColor={colors.background}>\n <Box borderRadius={8} paddingHorizontal={16} paddingVertical={14} backgroundColor={color.enabled.adminBackground}>\n <Text caption2 color={colors.onBackground02}>\n {props.message.message}\n </Text>\n </Box>\n </Box>\n );\n};\n\nexport default AdminMessage;\n"],"mappings":";;;;;;;AAAA;;AAIA;;AACA;;AACA;;;;AAGA,MAAMA,YAAY,GAAIC,KAAD,IAA0D;EAC7E,MAAM;IAAEC;EAAF,IAAa,IAAAC,sBAAA,GAAnB;EACA,MAAMC,KAAK,GAAGF,MAAM,CAACG,EAAP,CAAUC,kBAAV,CAA6BC,OAA3C;EACA,oBACE,6BAAC,YAAD;IAAK,cAAc,EAAE,CAArB;IAAwB,iBAAiB,EAAE,EAA3C;IAA+C,eAAe,EAAEL,MAAM,CAACM;EAAvE,gBACE,6BAAC,YAAD;IAAK,YAAY,EAAE,CAAnB;IAAsB,iBAAiB,EAAE,EAAzC;IAA6C,eAAe,EAAE,EAA9D;IAAkE,eAAe,EAAEJ,KAAK,CAACK,OAAN,CAAcC;EAAjG,gBACE,6BAAC,aAAD;IAAM,QAAQ,MAAd;IAAe,KAAK,EAAER,MAAM,CAACS;EAA7B,GACGV,KAAK,CAACW,OAAN,CAAcA,OADjB,CADF,CADF,CADF;AASD,CAZD;;eAceZ,Y"}
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _react = _interopRequireDefault(require("react"));
9
+
10
+ var _uikitUtils = require("@sendbird/uikit-utils");
11
+
12
+ var _Box = _interopRequireDefault(require("../../components/Box"));
13
+
14
+ var _ImageWithPlaceholder = _interopRequireDefault(require("../../components/ImageWithPlaceholder"));
15
+
16
+ var _PressBox = _interopRequireDefault(require("../../components/PressBox"));
17
+
18
+ var _createStyleSheet = _interopRequireDefault(require("../../styles/createStyleSheet"));
19
+
20
+ var _MessageContainer = _interopRequireDefault(require("./MessageContainer"));
21
+
22
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
23
+
24
+ const ImageFileMessage = props => {
25
+ const {
26
+ onPress,
27
+ onLongPress,
28
+ ...rest
29
+ } = props;
30
+ const uri = (0, _uikitUtils.getAvailableUriFromFileMessage)(props.message);
31
+ return /*#__PURE__*/_react.default.createElement(_MessageContainer.default, rest, /*#__PURE__*/_react.default.createElement(_Box.default, {
32
+ borderRadius: 8,
33
+ overflow: 'hidden',
34
+ style: styles.container
35
+ }, /*#__PURE__*/_react.default.createElement(_PressBox.default, {
36
+ style: styles.container,
37
+ activeOpacity: 0.8,
38
+ onPress: onPress,
39
+ onLongPress: onLongPress
40
+ }, /*#__PURE__*/_react.default.createElement(_ImageWithPlaceholder.default, {
41
+ source: {
42
+ uri
43
+ },
44
+ width: '100%',
45
+ height: '100%'
46
+ }))));
47
+ };
48
+
49
+ const styles = (0, _createStyleSheet.default)({
50
+ container: {
51
+ maxWidth: 296,
52
+ height: 196
53
+ }
54
+ });
55
+ var _default = ImageFileMessage;
56
+ exports.default = _default;
57
+ //# sourceMappingURL=Message.file.image.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["ImageFileMessage","props","onPress","onLongPress","rest","uri","getAvailableUriFromFileMessage","message","styles","container","createStyleSheet","maxWidth","height"],"sources":["Message.file.image.tsx"],"sourcesContent":["import React from 'react';\n\nimport type { SendbirdFileMessage } from '@sendbird/uikit-utils';\nimport { getAvailableUriFromFileMessage } from '@sendbird/uikit-utils';\n\nimport Box from '../../components/Box';\nimport ImageWithPlaceholder from '../../components/ImageWithPlaceholder';\nimport PressBox from '../../components/PressBox';\nimport createStyleSheet from '../../styles/createStyleSheet';\nimport MessageContainer from './MessageContainer';\nimport type { OpenChannelMessageProps } from './index';\n\nconst ImageFileMessage = (props: OpenChannelMessageProps<SendbirdFileMessage>) => {\n const { onPress, onLongPress, ...rest } = props;\n const uri = getAvailableUriFromFileMessage(props.message);\n return (\n <MessageContainer {...rest}>\n <Box borderRadius={8} overflow={'hidden'} style={styles.container}>\n <PressBox style={styles.container} activeOpacity={0.8} onPress={onPress} onLongPress={onLongPress}>\n <ImageWithPlaceholder source={{ uri }} width={'100%'} height={'100%'} />\n </PressBox>\n </Box>\n </MessageContainer>\n );\n};\n\nconst styles = createStyleSheet({\n container: {\n maxWidth: 296,\n height: 196,\n },\n});\n\nexport default ImageFileMessage;\n"],"mappings":";;;;;;;AAAA;;AAGA;;AAEA;;AACA;;AACA;;AACA;;AACA;;;;AAGA,MAAMA,gBAAgB,GAAIC,KAAD,IAAyD;EAChF,MAAM;IAAEC,OAAF;IAAWC,WAAX;IAAwB,GAAGC;EAA3B,IAAoCH,KAA1C;EACA,MAAMI,GAAG,GAAG,IAAAC,0CAAA,EAA+BL,KAAK,CAACM,OAArC,CAAZ;EACA,oBACE,6BAAC,yBAAD,EAAsBH,IAAtB,eACE,6BAAC,YAAD;IAAK,YAAY,EAAE,CAAnB;IAAsB,QAAQ,EAAE,QAAhC;IAA0C,KAAK,EAAEI,MAAM,CAACC;EAAxD,gBACE,6BAAC,iBAAD;IAAU,KAAK,EAAED,MAAM,CAACC,SAAxB;IAAmC,aAAa,EAAE,GAAlD;IAAuD,OAAO,EAAEP,OAAhE;IAAyE,WAAW,EAAEC;EAAtF,gBACE,6BAAC,6BAAD;IAAsB,MAAM,EAAE;MAAEE;IAAF,CAA9B;IAAuC,KAAK,EAAE,MAA9C;IAAsD,MAAM,EAAE;EAA9D,EADF,CADF,CADF,CADF;AASD,CAZD;;AAcA,MAAMG,MAAM,GAAG,IAAAE,yBAAA,EAAiB;EAC9BD,SAAS,EAAE;IACTE,QAAQ,EAAE,GADD;IAETC,MAAM,EAAE;EAFC;AADmB,CAAjB,CAAf;eAOeZ,gB"}
@@ -0,0 +1,90 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _react = _interopRequireDefault(require("react"));
9
+
10
+ var _uikitUtils = require("@sendbird/uikit-utils");
11
+
12
+ var _Box = _interopRequireDefault(require("../../components/Box"));
13
+
14
+ var _Icon = _interopRequireDefault(require("../../components/Icon"));
15
+
16
+ var _PressBox = _interopRequireDefault(require("../../components/PressBox"));
17
+
18
+ var _Text = _interopRequireDefault(require("../../components/Text"));
19
+
20
+ var _createStyleSheet = _interopRequireDefault(require("../../styles/createStyleSheet"));
21
+
22
+ var _useUIKitTheme = _interopRequireDefault(require("../../theme/useUIKitTheme"));
23
+
24
+ var _MessageContainer = _interopRequireDefault(require("./MessageContainer"));
25
+
26
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
27
+
28
+ const iconMapper = {
29
+ audio: 'file-audio',
30
+ image: 'photo',
31
+ video: 'play',
32
+ file: 'file-document'
33
+ };
34
+
35
+ const FileMessage = props => {
36
+ const {
37
+ colors
38
+ } = (0, _useUIKitTheme.default)();
39
+ const {
40
+ onPress,
41
+ onLongPress,
42
+ ...rest
43
+ } = props;
44
+ const type = (0, _uikitUtils.getFileTypeFromMessage)(props.message);
45
+ const color = colors.ui.openChannelMessage.default;
46
+ return /*#__PURE__*/_react.default.createElement(_MessageContainer.default, rest, /*#__PURE__*/_react.default.createElement(_PressBox.default, {
47
+ onPress: onPress,
48
+ onLongPress: onLongPress
49
+ }, _ref => {
50
+ var _props$strings;
51
+
52
+ let {
53
+ pressed
54
+ } = _ref;
55
+ return /*#__PURE__*/_react.default.createElement(_Box.default, {
56
+ padding: 8,
57
+ borderRadius: 8,
58
+ flexDirection: 'row',
59
+ alignItems: 'center',
60
+ justifyContent: 'flex-start',
61
+ style: {
62
+ backgroundColor: pressed ? color.pressed.bubbleBackground : color.enabled.bubbleBackground
63
+ }
64
+ }, /*#__PURE__*/_react.default.createElement(_Box.default, {
65
+ padding: 4,
66
+ marginRight: 8,
67
+ borderRadius: 8,
68
+ alignItems: 'flex-start',
69
+ backgroundColor: colors.background
70
+ }, /*#__PURE__*/_react.default.createElement(_Icon.default, {
71
+ icon: iconMapper[type],
72
+ size: 32
73
+ })), /*#__PURE__*/_react.default.createElement(_Text.default, {
74
+ body3: true,
75
+ numberOfLines: 1,
76
+ ellipsizeMode: 'middle',
77
+ color: color.enabled.textMsg,
78
+ style: styles.fileName
79
+ }, ((_props$strings = props.strings) === null || _props$strings === void 0 ? void 0 : _props$strings.fileName) || props.message.name));
80
+ }));
81
+ };
82
+
83
+ const styles = (0, _createStyleSheet.default)({
84
+ fileName: {
85
+ flexShrink: 1
86
+ }
87
+ });
88
+ var _default = FileMessage;
89
+ exports.default = _default;
90
+ //# sourceMappingURL=Message.file.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["iconMapper","audio","image","video","file","FileMessage","props","colors","useUIKitTheme","onPress","onLongPress","rest","type","getFileTypeFromMessage","message","color","ui","openChannelMessage","default","pressed","backgroundColor","bubbleBackground","enabled","background","textMsg","styles","fileName","strings","name","createStyleSheet","flexShrink"],"sources":["Message.file.tsx"],"sourcesContent":["import React from 'react';\n\nimport { SendbirdFileMessage, getFileTypeFromMessage } from '@sendbird/uikit-utils';\n\nimport Box from '../../components/Box';\nimport Icon from '../../components/Icon';\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 { OpenChannelMessageProps } from './index';\n\nconst iconMapper = { audio: 'file-audio', image: 'photo', video: 'play', file: 'file-document' } as const;\n\ntype Props = {};\nconst FileMessage = (props: OpenChannelMessageProps<SendbirdFileMessage, Props>) => {\n const { colors } = useUIKitTheme();\n const { onPress, onLongPress, ...rest } = props;\n const type = getFileTypeFromMessage(props.message);\n const color = colors.ui.openChannelMessage.default;\n\n return (\n <MessageContainer {...rest}>\n <PressBox onPress={onPress} onLongPress={onLongPress}>\n {({ pressed }) => {\n return (\n <Box\n padding={8}\n borderRadius={8}\n flexDirection={'row'}\n alignItems={'center'}\n justifyContent={'flex-start'}\n style={{ backgroundColor: pressed ? color.pressed.bubbleBackground : color.enabled.bubbleBackground }}\n >\n <Box\n padding={4}\n marginRight={8}\n borderRadius={8}\n alignItems={'flex-start'}\n backgroundColor={colors.background}\n >\n <Icon icon={iconMapper[type]} size={32} />\n </Box>\n <Text\n body3\n numberOfLines={1}\n ellipsizeMode={'middle'}\n color={color.enabled.textMsg}\n style={styles.fileName}\n >\n {props.strings?.fileName || props.message.name}\n </Text>\n </Box>\n );\n }}\n </PressBox>\n </MessageContainer>\n );\n};\n\nconst styles = createStyleSheet({\n fileName: {\n flexShrink: 1,\n },\n});\nexport default FileMessage;\n"],"mappings":";;;;;;;AAAA;;AAEA;;AAEA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;AAGA,MAAMA,UAAU,GAAG;EAAEC,KAAK,EAAE,YAAT;EAAuBC,KAAK,EAAE,OAA9B;EAAuCC,KAAK,EAAE,MAA9C;EAAsDC,IAAI,EAAE;AAA5D,CAAnB;;AAGA,MAAMC,WAAW,GAAIC,KAAD,IAAgE;EAClF,MAAM;IAAEC;EAAF,IAAa,IAAAC,sBAAA,GAAnB;EACA,MAAM;IAAEC,OAAF;IAAWC,WAAX;IAAwB,GAAGC;EAA3B,IAAoCL,KAA1C;EACA,MAAMM,IAAI,GAAG,IAAAC,kCAAA,EAAuBP,KAAK,CAACQ,OAA7B,CAAb;EACA,MAAMC,KAAK,GAAGR,MAAM,CAACS,EAAP,CAAUC,kBAAV,CAA6BC,OAA3C;EAEA,oBACE,6BAAC,yBAAD,EAAsBP,IAAtB,eACE,6BAAC,iBAAD;IAAU,OAAO,EAAEF,OAAnB;IAA4B,WAAW,EAAEC;EAAzC,GACG,QAAiB;IAAA;;IAAA,IAAhB;MAAES;IAAF,CAAgB;IAChB,oBACE,6BAAC,YAAD;MACE,OAAO,EAAE,CADX;MAEE,YAAY,EAAE,CAFhB;MAGE,aAAa,EAAE,KAHjB;MAIE,UAAU,EAAE,QAJd;MAKE,cAAc,EAAE,YALlB;MAME,KAAK,EAAE;QAAEC,eAAe,EAAED,OAAO,GAAGJ,KAAK,CAACI,OAAN,CAAcE,gBAAjB,GAAoCN,KAAK,CAACO,OAAN,CAAcD;MAA5E;IANT,gBAQE,6BAAC,YAAD;MACE,OAAO,EAAE,CADX;MAEE,WAAW,EAAE,CAFf;MAGE,YAAY,EAAE,CAHhB;MAIE,UAAU,EAAE,YAJd;MAKE,eAAe,EAAEd,MAAM,CAACgB;IAL1B,gBAOE,6BAAC,aAAD;MAAM,IAAI,EAAEvB,UAAU,CAACY,IAAD,CAAtB;MAA8B,IAAI,EAAE;IAApC,EAPF,CARF,eAiBE,6BAAC,aAAD;MACE,KAAK,MADP;MAEE,aAAa,EAAE,CAFjB;MAGE,aAAa,EAAE,QAHjB;MAIE,KAAK,EAAEG,KAAK,CAACO,OAAN,CAAcE,OAJvB;MAKE,KAAK,EAAEC,MAAM,CAACC;IALhB,GAOG,mBAAApB,KAAK,CAACqB,OAAN,kEAAeD,QAAf,KAA2BpB,KAAK,CAACQ,OAAN,CAAcc,IAP5C,CAjBF,CADF;EA6BD,CA/BH,CADF,CADF;AAqCD,CA3CD;;AA6CA,MAAMH,MAAM,GAAG,IAAAI,yBAAA,EAAiB;EAC9BH,QAAQ,EAAE;IACRI,UAAU,EAAE;EADJ;AADoB,CAAjB,CAAf;eAKezB,W"}
@@ -0,0 +1,134 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _react = _interopRequireWildcard(require("react"));
9
+
10
+ var _uikitUtils = require("@sendbird/uikit-utils");
11
+
12
+ var _Box = _interopRequireDefault(require("../../components/Box"));
13
+
14
+ var _Icon = _interopRequireDefault(require("../../components/Icon"));
15
+
16
+ var _ImageWithPlaceholder = _interopRequireDefault(require("../../components/ImageWithPlaceholder"));
17
+
18
+ var _PressBox = _interopRequireDefault(require("../../components/PressBox"));
19
+
20
+ var _createStyleSheet = _interopRequireDefault(require("../../styles/createStyleSheet"));
21
+
22
+ var _useUIKitTheme = _interopRequireDefault(require("../../theme/useUIKitTheme"));
23
+
24
+ var _MessageContainer = _interopRequireDefault(require("./MessageContainer"));
25
+
26
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
27
+
28
+ 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); }
29
+
30
+ 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; }
31
+
32
+ const VideoFileMessage = props => {
33
+ const {
34
+ colors,
35
+ palette
36
+ } = (0, _useUIKitTheme.default)();
37
+ const {
38
+ onPress,
39
+ onLongPress,
40
+ ...rest
41
+ } = props;
42
+ const uri = (0, _uikitUtils.getAvailableUriFromFileMessage)(props.message);
43
+ const {
44
+ thumbnail,
45
+ loading
46
+ } = useRetry(() => props.fetchThumbnailFromVideoSource(uri));
47
+ return /*#__PURE__*/_react.default.createElement(_MessageContainer.default, rest, /*#__PURE__*/_react.default.createElement(_PressBox.default, {
48
+ style: styles.container,
49
+ activeOpacity: 0.8,
50
+ onPress: onPress,
51
+ onLongPress: onLongPress
52
+ }, /*#__PURE__*/_react.default.createElement(_Box.default, {
53
+ borderRadius: 8,
54
+ overflow: 'hidden',
55
+ style: styles.container
56
+ }, loading ? /*#__PURE__*/_react.default.createElement(_Box.default, {
57
+ backgroundColor: colors.onBackground04,
58
+ style: {
59
+ width: '100%',
60
+ height: '100%'
61
+ }
62
+ }) : /*#__PURE__*/_react.default.createElement(_ImageWithPlaceholder.default, {
63
+ source: {
64
+ uri: thumbnail ?? 'invalid-image'
65
+ },
66
+ width: '100%',
67
+ height: '100%'
68
+ }), (loading || thumbnail !== null) && /*#__PURE__*/_react.default.createElement(_Box.default, {
69
+ style: styles.iconContainer,
70
+ alignItems: 'center',
71
+ justifyContent: 'center'
72
+ }, /*#__PURE__*/_react.default.createElement(_Icon.default, {
73
+ icon: 'play',
74
+ size: 28,
75
+ color: palette.onBackgroundLight02,
76
+ containerStyle: [styles.playIcon, {
77
+ backgroundColor: palette.onBackgroundDark01
78
+ }]
79
+ })))));
80
+ };
81
+
82
+ const useRetry = function (fetch) {
83
+ let retryCount = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 5;
84
+ const [state, setState] = (0, _react.useState)({
85
+ thumbnail: null,
86
+ loading: true
87
+ });
88
+ const retryCountRef = (0, _react.useRef)(0);
89
+ const retryTimeoutRef = (0, _react.useRef)();
90
+ const fetchThumbnail = (0, _react.useRef)(fetch);
91
+ fetchThumbnail.current = fetch;
92
+ (0, _react.useEffect)(() => {
93
+ if (!state.thumbnail) {
94
+ const reloadReservation = () => {
95
+ if (retryCountRef.current < retryCount) {
96
+ retryTimeoutRef.current = setTimeout(() => {
97
+ retryCountRef.current++;
98
+ reloadReservation();
99
+ fetchThumbnail.current().then(result => {
100
+ setState({
101
+ loading: false,
102
+ thumbnail: (result === null || result === void 0 ? void 0 : result.path) ?? null
103
+ });
104
+ });
105
+ }, retryCountRef.current * 5000);
106
+ }
107
+ };
108
+
109
+ return reloadReservation();
110
+ } else {
111
+ return clearTimeout(retryTimeoutRef.current);
112
+ }
113
+ }, [state.thumbnail]);
114
+ return state;
115
+ };
116
+
117
+ const styles = (0, _createStyleSheet.default)({
118
+ container: {
119
+ maxWidth: 296,
120
+ height: 196
121
+ },
122
+ iconContainer: {
123
+ position: 'absolute',
124
+ width: '100%',
125
+ height: '100%'
126
+ },
127
+ playIcon: {
128
+ padding: 10,
129
+ borderRadius: 50
130
+ }
131
+ });
132
+ var _default = VideoFileMessage;
133
+ exports.default = _default;
134
+ //# sourceMappingURL=Message.file.video.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["VideoFileMessage","props","colors","palette","useUIKitTheme","onPress","onLongPress","rest","uri","getAvailableUriFromFileMessage","message","thumbnail","loading","useRetry","fetchThumbnailFromVideoSource","styles","container","onBackground04","width","height","iconContainer","onBackgroundLight02","playIcon","backgroundColor","onBackgroundDark01","fetch","retryCount","state","setState","useState","retryCountRef","useRef","retryTimeoutRef","fetchThumbnail","current","useEffect","reloadReservation","setTimeout","then","result","path","clearTimeout","createStyleSheet","maxWidth","position","padding","borderRadius"],"sources":["Message.file.video.tsx"],"sourcesContent":["import React, { useEffect, useRef, useState } from 'react';\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 { OpenChannelMessageProps } from './index';\n\ntype Props = {\n fetchThumbnailFromVideoSource: (uri: string) => Promise<{ path: string } | null>;\n};\nconst VideoFileMessage = (props: OpenChannelMessageProps<SendbirdFileMessage, Props>) => {\n const { colors, palette } = useUIKitTheme();\n const { onPress, onLongPress, ...rest } = props;\n const uri = getAvailableUriFromFileMessage(props.message);\n const { thumbnail, loading } = useRetry(() => props.fetchThumbnailFromVideoSource(uri));\n\n return (\n <MessageContainer {...rest}>\n <PressBox style={styles.container} activeOpacity={0.8} onPress={onPress} onLongPress={onLongPress}>\n <Box borderRadius={8} overflow={'hidden'} style={styles.container}>\n {loading ? (\n <Box backgroundColor={colors.onBackground04} style={{ width: '100%', height: '100%' }} />\n ) : (\n <ImageWithPlaceholder source={{ uri: thumbnail ?? 'invalid-image' }} width={'100%'} height={'100%'} />\n )}\n\n {(loading || thumbnail !== null) && (\n <Box style={styles.iconContainer} 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 </Box>\n </PressBox>\n </MessageContainer>\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 maxWidth: 296,\n height: 196,\n },\n iconContainer: {\n position: 'absolute',\n width: '100%',\n height: '100%',\n },\n playIcon: {\n padding: 10,\n borderRadius: 50,\n },\n});\nexport default VideoFileMessage;\n"],"mappings":"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"}
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _react = _interopRequireDefault(require("react"));
9
+
10
+ var _PressBox = _interopRequireDefault(require("../../components/PressBox"));
11
+
12
+ var _Text = _interopRequireDefault(require("../../components/Text"));
13
+
14
+ var _useUIKitTheme = _interopRequireDefault(require("../../theme/useUIKitTheme"));
15
+
16
+ var _MessageContainer = _interopRequireDefault(require("./MessageContainer"));
17
+
18
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
19
+
20
+ 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); }
21
+
22
+ const UnknownMessage = props => {
23
+ const {
24
+ colors
25
+ } = (0, _useUIKitTheme.default)();
26
+ const {
27
+ onPress,
28
+ onLongPress,
29
+ ...rest
30
+ } = props;
31
+ const color = colors.ui.openChannelMessage.default;
32
+ return /*#__PURE__*/_react.default.createElement(_PressBox.default, {
33
+ onPress: onPress,
34
+ onLongPress: onLongPress
35
+ }, _ref => {
36
+ var _props$strings, _props$strings2;
37
+
38
+ let {
39
+ pressed
40
+ } = _ref;
41
+ return /*#__PURE__*/_react.default.createElement(_MessageContainer.default, _extends({
42
+ pressed: pressed
43
+ }, rest), /*#__PURE__*/_react.default.createElement(_Text.default, {
44
+ body3: true,
45
+ color: color.enabled.textMsg
46
+ }, ((_props$strings = props.strings) === null || _props$strings === void 0 ? void 0 : _props$strings.unknownTitle) ?? '(Unknown message type)'), /*#__PURE__*/_react.default.createElement(_Text.default, {
47
+ body3: true,
48
+ color: color.enabled.textMsgPostfix
49
+ }, ((_props$strings2 = props.strings) === null || _props$strings2 === void 0 ? void 0 : _props$strings2.unknownDescription) ?? 'Cannot read this message.'));
50
+ });
51
+ };
52
+
53
+ var _default = UnknownMessage;
54
+ exports.default = _default;
55
+ //# sourceMappingURL=Message.unknown.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["UnknownMessage","props","colors","useUIKitTheme","onPress","onLongPress","rest","color","ui","openChannelMessage","default","pressed","enabled","textMsg","strings","unknownTitle","textMsgPostfix","unknownDescription"],"sources":["Message.unknown.tsx"],"sourcesContent":["import React from 'react';\n\nimport type { SendbirdMessage } from '@sendbird/uikit-utils';\n\nimport PressBox from '../../components/PressBox';\nimport Text from '../../components/Text';\nimport useUIKitTheme from '../../theme/useUIKitTheme';\nimport MessageContainer from './MessageContainer';\nimport type { OpenChannelMessageProps } from './index';\n\nconst UnknownMessage = (props: OpenChannelMessageProps<SendbirdMessage>) => {\n const { colors } = useUIKitTheme();\n const { onPress, onLongPress, ...rest } = props;\n const color = colors.ui.openChannelMessage.default;\n return (\n <PressBox onPress={onPress} onLongPress={onLongPress}>\n {({ pressed }) => (\n <MessageContainer pressed={pressed} {...rest}>\n <Text body3 color={color.enabled.textMsg}>\n {props.strings?.unknownTitle ?? '(Unknown message type)'}\n </Text>\n <Text body3 color={color.enabled.textMsgPostfix}>\n {props.strings?.unknownDescription ?? 'Cannot read this message.'}\n </Text>\n </MessageContainer>\n )}\n </PressBox>\n );\n};\n\nexport default UnknownMessage;\n"],"mappings":";;;;;;;AAAA;;AAIA;;AACA;;AACA;;AACA;;;;;;AAGA,MAAMA,cAAc,GAAIC,KAAD,IAAqD;EAC1E,MAAM;IAAEC;EAAF,IAAa,IAAAC,sBAAA,GAAnB;EACA,MAAM;IAAEC,OAAF;IAAWC,WAAX;IAAwB,GAAGC;EAA3B,IAAoCL,KAA1C;EACA,MAAMM,KAAK,GAAGL,MAAM,CAACM,EAAP,CAAUC,kBAAV,CAA6BC,OAA3C;EACA,oBACE,6BAAC,iBAAD;IAAU,OAAO,EAAEN,OAAnB;IAA4B,WAAW,EAAEC;EAAzC,GACG;IAAA;;IAAA,IAAC;MAAEM;IAAF,CAAD;IAAA,oBACC,6BAAC,yBAAD;MAAkB,OAAO,EAAEA;IAA3B,GAAwCL,IAAxC,gBACE,6BAAC,aAAD;MAAM,KAAK,MAAX;MAAY,KAAK,EAAEC,KAAK,CAACK,OAAN,CAAcC;IAAjC,GACG,mBAAAZ,KAAK,CAACa,OAAN,kEAAeC,YAAf,KAA+B,wBADlC,CADF,eAIE,6BAAC,aAAD;MAAM,KAAK,MAAX;MAAY,KAAK,EAAER,KAAK,CAACK,OAAN,CAAcI;IAAjC,GACG,oBAAAf,KAAK,CAACa,OAAN,oEAAeG,kBAAf,KAAqC,2BADxC,CAJF,CADD;EAAA,CADH,CADF;AAcD,CAlBD;;eAoBejB,c"}
@@ -0,0 +1,83 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _react = _interopRequireDefault(require("react"));
9
+
10
+ var _uikitUtils = require("@sendbird/uikit-utils");
11
+
12
+ var _PressBox = _interopRequireDefault(require("../../components/PressBox"));
13
+
14
+ var _RegexText = _interopRequireDefault(require("../../components/RegexText"));
15
+
16
+ var _Text = _interopRequireDefault(require("../../components/Text"));
17
+
18
+ var _useUIKitTheme = _interopRequireDefault(require("../../theme/useUIKitTheme"));
19
+
20
+ var _MessageContainer = _interopRequireDefault(require("./MessageContainer"));
21
+
22
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
23
+
24
+ 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); }
25
+
26
+ const UserMessage = props => {
27
+ const {
28
+ colors
29
+ } = (0, _useUIKitTheme.default)();
30
+ const {
31
+ onPress,
32
+ onLongPress,
33
+ onPressURL,
34
+ ...rest
35
+ } = props;
36
+ const color = colors.ui.openChannelMessage.default;
37
+ return /*#__PURE__*/_react.default.createElement(_PressBox.default, {
38
+ onPress: onPress,
39
+ onLongPress: onLongPress
40
+ }, _ref => {
41
+ var _props$strings;
42
+
43
+ let {
44
+ pressed
45
+ } = _ref;
46
+ return /*#__PURE__*/_react.default.createElement(_MessageContainer.default, _extends({
47
+ pressed: pressed
48
+ }, rest), /*#__PURE__*/_react.default.createElement(_Text.default, {
49
+ body3: true,
50
+ color: color.enabled.textMsg
51
+ }, /*#__PURE__*/_react.default.createElement(_RegexText.default, {
52
+ body3: true,
53
+ color: color.enabled.textMsg,
54
+ patterns: [{
55
+ regex: _uikitUtils.urlRegexStrict,
56
+
57
+ replacer(_ref2) {
58
+ let {
59
+ match,
60
+ parentProps,
61
+ keyPrefix,
62
+ index
63
+ } = _ref2;
64
+ return /*#__PURE__*/_react.default.createElement(_Text.default, _extends({}, parentProps, {
65
+ key: `${keyPrefix}-${index}`,
66
+ onPress: onPressURL,
67
+ onLongPress: onLongPress,
68
+ color: colors.primary,
69
+ style: parentProps === null || parentProps === void 0 ? void 0 : parentProps.style
70
+ }), match);
71
+ }
72
+
73
+ }]
74
+ }, props.message.message), Boolean(props.message.updatedAt) && /*#__PURE__*/_react.default.createElement(_Text.default, {
75
+ body3: true,
76
+ color: color.enabled.textMsgPostfix
77
+ }, ((_props$strings = props.strings) === null || _props$strings === void 0 ? void 0 : _props$strings.edited) ?? ' (edited)')));
78
+ });
79
+ };
80
+
81
+ var _default = UserMessage;
82
+ exports.default = _default;
83
+ //# sourceMappingURL=Message.user.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["UserMessage","props","colors","useUIKitTheme","onPress","onLongPress","onPressURL","rest","color","ui","openChannelMessage","default","pressed","enabled","textMsg","regex","urlRegexStrict","replacer","match","parentProps","keyPrefix","index","primary","style","message","Boolean","updatedAt","textMsgPostfix","strings","edited"],"sources":["Message.user.tsx"],"sourcesContent":["import React from 'react';\n\nimport type { SendbirdUserMessage } from '@sendbird/uikit-utils';\nimport { urlRegexStrict } from '@sendbird/uikit-utils';\n\nimport PressBox from '../../components/PressBox';\nimport RegexText from '../../components/RegexText';\nimport Text from '../../components/Text';\nimport useUIKitTheme from '../../theme/useUIKitTheme';\nimport MessageContainer from './MessageContainer';\nimport type { OpenChannelMessageProps } from './index';\n\ntype Props = {};\nconst UserMessage = (props: OpenChannelMessageProps<SendbirdUserMessage, Props>) => {\n const { colors } = useUIKitTheme();\n const { onPress, onLongPress, onPressURL, ...rest } = props;\n const color = colors.ui.openChannelMessage.default;\n\n return (\n <PressBox onPress={onPress} onLongPress={onLongPress}>\n {({ pressed }) => (\n <MessageContainer pressed={pressed} {...rest}>\n <Text body3 color={color.enabled.textMsg}>\n <RegexText\n body3\n color={color.enabled.textMsg}\n patterns={[\n {\n regex: urlRegexStrict,\n replacer({ match, parentProps, keyPrefix, index }) {\n return (\n <Text\n {...parentProps}\n key={`${keyPrefix}-${index}`}\n onPress={onPressURL}\n onLongPress={onLongPress}\n color={colors.primary}\n style={parentProps?.style}\n >\n {match}\n </Text>\n );\n },\n },\n ]}\n >\n {props.message.message}\n </RegexText>\n {Boolean(props.message.updatedAt) && (\n <Text body3 color={color.enabled.textMsgPostfix}>\n {props.strings?.edited ?? ' (edited)'}\n </Text>\n )}\n </Text>\n </MessageContainer>\n )}\n </PressBox>\n );\n};\n\nexport default UserMessage;\n"],"mappings":";;;;;;;AAAA;;AAGA;;AAEA;;AACA;;AACA;;AACA;;AACA;;;;;;AAIA,MAAMA,WAAW,GAAIC,KAAD,IAAgE;EAClF,MAAM;IAAEC;EAAF,IAAa,IAAAC,sBAAA,GAAnB;EACA,MAAM;IAAEC,OAAF;IAAWC,WAAX;IAAwBC,UAAxB;IAAoC,GAAGC;EAAvC,IAAgDN,KAAtD;EACA,MAAMO,KAAK,GAAGN,MAAM,CAACO,EAAP,CAAUC,kBAAV,CAA6BC,OAA3C;EAEA,oBACE,6BAAC,iBAAD;IAAU,OAAO,EAAEP,OAAnB;IAA4B,WAAW,EAAEC;EAAzC,GACG;IAAA;;IAAA,IAAC;MAAEO;IAAF,CAAD;IAAA,oBACC,6BAAC,yBAAD;MAAkB,OAAO,EAAEA;IAA3B,GAAwCL,IAAxC,gBACE,6BAAC,aAAD;MAAM,KAAK,MAAX;MAAY,KAAK,EAAEC,KAAK,CAACK,OAAN,CAAcC;IAAjC,gBACE,6BAAC,kBAAD;MACE,KAAK,MADP;MAEE,KAAK,EAAEN,KAAK,CAACK,OAAN,CAAcC,OAFvB;MAGE,QAAQ,EAAE,CACR;QACEC,KAAK,EAAEC,0BADT;;QAEEC,QAAQ,QAA2C;UAAA,IAA1C;YAAEC,KAAF;YAASC,WAAT;YAAsBC,SAAtB;YAAiCC;UAAjC,CAA0C;UACjD,oBACE,6BAAC,aAAD,eACMF,WADN;YAEE,GAAG,EAAG,GAAEC,SAAU,IAAGC,KAAM,EAF7B;YAGE,OAAO,EAAEf,UAHX;YAIE,WAAW,EAAED,WAJf;YAKE,KAAK,EAAEH,MAAM,CAACoB,OALhB;YAME,KAAK,EAAEH,WAAF,aAAEA,WAAF,uBAAEA,WAAW,CAAEI;UANtB,IAQGL,KARH,CADF;QAYD;;MAfH,CADQ;IAHZ,GAuBGjB,KAAK,CAACuB,OAAN,CAAcA,OAvBjB,CADF,EA0BGC,OAAO,CAACxB,KAAK,CAACuB,OAAN,CAAcE,SAAf,CAAP,iBACC,6BAAC,aAAD;MAAM,KAAK,MAAX;MAAY,KAAK,EAAElB,KAAK,CAACK,OAAN,CAAcc;IAAjC,GACG,mBAAA1B,KAAK,CAAC2B,OAAN,kEAAeC,MAAf,KAAyB,WAD5B,CA3BJ,CADF,CADD;EAAA,CADH,CADF;AAwCD,CA7CD;;eA+Ce7B,W"}
@@ -0,0 +1,140 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _react = _interopRequireDefault(require("react"));
9
+
10
+ var _uikitUtils = require("@sendbird/uikit-utils");
11
+
12
+ var _Box = _interopRequireDefault(require("../../components/Box"));
13
+
14
+ var _ImageWithPlaceholder = _interopRequireDefault(require("../../components/ImageWithPlaceholder"));
15
+
16
+ var _PressBox = _interopRequireDefault(require("../../components/PressBox"));
17
+
18
+ var _RegexText = _interopRequireDefault(require("../../components/RegexText"));
19
+
20
+ var _Text = _interopRequireDefault(require("../../components/Text"));
21
+
22
+ var _createStyleSheet = _interopRequireDefault(require("../../styles/createStyleSheet"));
23
+
24
+ var _useUIKitTheme = _interopRequireDefault(require("../../theme/useUIKitTheme"));
25
+
26
+ var _MessageContainer = _interopRequireDefault(require("./MessageContainer"));
27
+
28
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
29
+
30
+ 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); }
31
+
32
+ const OpenGraphUserMessage = props => {
33
+ const {
34
+ colors
35
+ } = (0, _useUIKitTheme.default)();
36
+ const {
37
+ onPress,
38
+ onLongPress,
39
+ onPressURL,
40
+ ...rest
41
+ } = props;
42
+ const color = colors.ui.openChannelMessage.default;
43
+ return /*#__PURE__*/_react.default.createElement(_Box.default, null, /*#__PURE__*/_react.default.createElement(_PressBox.default, {
44
+ onPress: onPress,
45
+ onLongPress: onLongPress
46
+ }, _ref => {
47
+ var _props$strings;
48
+
49
+ let {
50
+ pressed
51
+ } = _ref;
52
+ return /*#__PURE__*/_react.default.createElement(_MessageContainer.default, _extends({
53
+ pressed: pressed
54
+ }, rest), /*#__PURE__*/_react.default.createElement(_Text.default, {
55
+ body3: true,
56
+ color: color.enabled.textMsg
57
+ }, /*#__PURE__*/_react.default.createElement(_RegexText.default, {
58
+ body3: true,
59
+ color: color.enabled.textMsg,
60
+ patterns: [{
61
+ regex: _uikitUtils.urlRegexRough,
62
+
63
+ replacer(_ref2) {
64
+ let {
65
+ match,
66
+ parentProps,
67
+ keyPrefix,
68
+ index
69
+ } = _ref2;
70
+ return /*#__PURE__*/_react.default.createElement(_Text.default, _extends({}, parentProps, {
71
+ key: `${keyPrefix}-${index}`,
72
+ onPress: onPressURL,
73
+ onLongPress: onLongPress,
74
+ color: colors.primary,
75
+ style: parentProps === null || parentProps === void 0 ? void 0 : parentProps.style
76
+ }), match);
77
+ }
78
+
79
+ }]
80
+ }, props.message.message), Boolean(props.message.updatedAt) && /*#__PURE__*/_react.default.createElement(_Text.default, {
81
+ body3: true,
82
+ color: color.enabled.textMsgPostfix
83
+ }, ((_props$strings = props.strings) === null || _props$strings === void 0 ? void 0 : _props$strings.edited) ?? ' (edited)')));
84
+ }), props.message.ogMetaData && /*#__PURE__*/_react.default.createElement(_MessageContainer.default, _extends({}, rest, {
85
+ grouped: true
86
+ }), /*#__PURE__*/_react.default.createElement(_PressBox.default, {
87
+ style: styles.ogContainer,
88
+ onPress: onPressURL,
89
+ onLongPress: onLongPress
90
+ }, _ref3 => {
91
+ let {
92
+ pressed
93
+ } = _ref3;
94
+ return props.message.ogMetaData && /*#__PURE__*/_react.default.createElement(_Box.default, {
95
+ padding: 8,
96
+ borderRadius: 8,
97
+ style: styles.ogContainer,
98
+ backgroundColor: pressed ? color.pressed.bubbleBackground : color.enabled.bubbleBackground
99
+ }, /*#__PURE__*/_react.default.createElement(_Text.default, {
100
+ numberOfLines: 1,
101
+ caption2: true,
102
+ color: colors.onBackground02,
103
+ style: styles.ogUrl
104
+ }, props.message.ogMetaData.url), /*#__PURE__*/_react.default.createElement(_Text.default, {
105
+ numberOfLines: 2,
106
+ body2: true,
107
+ color: colors.primary,
108
+ style: styles.ogTitle
109
+ }, props.message.ogMetaData.title), Boolean(props.message.ogMetaData.description) && /*#__PURE__*/_react.default.createElement(_Text.default, {
110
+ numberOfLines: 2,
111
+ caption2: true,
112
+ color: colors.onBackground01
113
+ }, props.message.ogMetaData.description), Boolean(props.message.ogMetaData.defaultImage) && /*#__PURE__*/_react.default.createElement(_ImageWithPlaceholder.default, {
114
+ style: styles.ogImage,
115
+ source: {
116
+ uri: props.message.ogMetaData.defaultImage.url
117
+ }
118
+ }));
119
+ })));
120
+ };
121
+
122
+ const styles = (0, _createStyleSheet.default)({
123
+ ogContainer: {
124
+ maxWidth: 296
125
+ },
126
+ ogUrl: {
127
+ marginBottom: 4
128
+ },
129
+ ogTitle: {
130
+ marginBottom: 8
131
+ },
132
+ ogImage: {
133
+ width: '100%',
134
+ height: 156,
135
+ marginTop: 12
136
+ }
137
+ });
138
+ var _default = OpenGraphUserMessage;
139
+ exports.default = _default;
140
+ //# sourceMappingURL=Message.user.og.js.map