@sendbird/uikit-react-native 2.0.2 → 2.0.3

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 (101) hide show
  1. package/README.md +2 -2
  2. package/lib/commonjs/components/MessageRenderer/MessageIncomingAvatar.js +2 -9
  3. package/lib/commonjs/components/MessageRenderer/MessageIncomingAvatar.js.map +1 -1
  4. package/lib/commonjs/components/UserActionBar.js +4 -7
  5. package/lib/commonjs/components/UserActionBar.js.map +1 -1
  6. package/lib/commonjs/containers/GroupChannelPreviewContainer.js +4 -23
  7. package/lib/commonjs/containers/GroupChannelPreviewContainer.js.map +1 -1
  8. package/lib/commonjs/containers/SendbirdUIKitContainer.js +7 -13
  9. package/lib/commonjs/containers/SendbirdUIKitContainer.js.map +1 -1
  10. package/lib/commonjs/contexts/{LocalizationCtx.js → Localization.js} +1 -1
  11. package/lib/commonjs/contexts/Localization.js.map +1 -0
  12. package/lib/commonjs/contexts/{PlatformServiceCtx.js → PlatformService.js} +1 -1
  13. package/lib/commonjs/contexts/PlatformService.js.map +1 -0
  14. package/lib/commonjs/contexts/{SendbirdChatCtx.js → SendbirdChat.js} +1 -1
  15. package/lib/commonjs/contexts/SendbirdChat.js.map +1 -0
  16. package/lib/commonjs/domain/groupChannelList/types.js.map +1 -1
  17. package/lib/commonjs/fragments/createGroupChannelFragment.js +1 -9
  18. package/lib/commonjs/fragments/createGroupChannelFragment.js.map +1 -1
  19. package/lib/commonjs/fragments/createGroupChannelListFragment.js +3 -2
  20. package/lib/commonjs/fragments/createGroupChannelListFragment.js.map +1 -1
  21. package/lib/commonjs/fragments/createGroupChannelMembersFragment.js +11 -11
  22. package/lib/commonjs/fragments/createGroupChannelMembersFragment.js.map +1 -1
  23. package/lib/commonjs/hooks/useContext.js +7 -17
  24. package/lib/commonjs/hooks/useContext.js.map +1 -1
  25. package/lib/commonjs/index.js +9 -32
  26. package/lib/commonjs/index.js.map +1 -1
  27. package/lib/commonjs/localization/StringSet.type.js +0 -6
  28. package/lib/commonjs/localization/StringSet.type.js.map +1 -1
  29. package/lib/commonjs/platform/createFileService.native.js.map +1 -1
  30. package/lib/commonjs/version.js +1 -1
  31. package/lib/commonjs/version.js.map +1 -1
  32. package/lib/module/components/MessageRenderer/MessageIncomingAvatar.js +3 -9
  33. package/lib/module/components/MessageRenderer/MessageIncomingAvatar.js.map +1 -1
  34. package/lib/module/components/UserActionBar.js +5 -8
  35. package/lib/module/components/UserActionBar.js.map +1 -1
  36. package/lib/module/containers/GroupChannelPreviewContainer.js +4 -23
  37. package/lib/module/containers/GroupChannelPreviewContainer.js.map +1 -1
  38. package/lib/module/containers/SendbirdUIKitContainer.js +4 -9
  39. package/lib/module/containers/SendbirdUIKitContainer.js.map +1 -1
  40. package/lib/module/contexts/{LocalizationCtx.js → Localization.js} +1 -1
  41. package/lib/module/contexts/Localization.js.map +1 -0
  42. package/lib/module/contexts/{PlatformServiceCtx.js → PlatformService.js} +1 -1
  43. package/lib/module/contexts/PlatformService.js.map +1 -0
  44. package/lib/module/contexts/{SendbirdChatCtx.js → SendbirdChat.js} +1 -1
  45. package/lib/module/contexts/SendbirdChat.js.map +1 -0
  46. package/lib/module/domain/groupChannelList/types.js.map +1 -1
  47. package/lib/module/fragments/createGroupChannelFragment.js +1 -9
  48. package/lib/module/fragments/createGroupChannelFragment.js.map +1 -1
  49. package/lib/module/fragments/createGroupChannelListFragment.js +3 -2
  50. package/lib/module/fragments/createGroupChannelListFragment.js.map +1 -1
  51. package/lib/module/fragments/createGroupChannelMembersFragment.js +9 -13
  52. package/lib/module/fragments/createGroupChannelMembersFragment.js.map +1 -1
  53. package/lib/module/hooks/useContext.js +3 -9
  54. package/lib/module/hooks/useContext.js.map +1 -1
  55. package/lib/module/index.js +4 -5
  56. package/lib/module/index.js.map +1 -1
  57. package/lib/module/localization/StringSet.type.js +0 -6
  58. package/lib/module/localization/StringSet.type.js.map +1 -1
  59. package/lib/module/platform/createFileService.native.js.map +1 -1
  60. package/lib/module/version.js +1 -1
  61. package/lib/module/version.js.map +1 -1
  62. package/lib/typescript/src/components/UserActionBar.d.ts +2 -4
  63. package/lib/typescript/src/containers/SendbirdUIKitContainer.d.ts +3 -7
  64. package/lib/typescript/src/contexts/{LocalizationCtx.d.ts → Localization.d.ts} +0 -0
  65. package/lib/typescript/src/contexts/{PlatformServiceCtx.d.ts → PlatformService.d.ts} +0 -0
  66. package/lib/typescript/src/contexts/{SendbirdChatCtx.d.ts → SendbirdChat.d.ts} +0 -0
  67. package/lib/typescript/src/domain/groupChannelList/types.d.ts +0 -2
  68. package/lib/typescript/src/hooks/useContext.d.ts +1 -2
  69. package/lib/typescript/src/index.d.ts +4 -5
  70. package/lib/typescript/src/localization/StringSet.type.d.ts +1 -6
  71. package/lib/typescript/src/platform/createFileService.native.d.ts +1 -1
  72. package/lib/typescript/src/version.d.ts +1 -1
  73. package/package.json +9 -9
  74. package/src/components/MessageRenderer/MessageIncomingAvatar.tsx +2 -9
  75. package/src/components/UserActionBar.tsx +4 -10
  76. package/src/containers/GroupChannelPreviewContainer.tsx +1 -20
  77. package/src/containers/SendbirdUIKitContainer.tsx +6 -26
  78. package/src/contexts/{LocalizationCtx.tsx → Localization.tsx} +0 -0
  79. package/src/contexts/{PlatformServiceCtx.tsx → PlatformService.tsx} +0 -0
  80. package/src/contexts/{SendbirdChatCtx.tsx → SendbirdChat.tsx} +0 -0
  81. package/src/domain/groupChannelList/types.ts +2 -2
  82. package/src/fragments/createGroupChannelFragment.tsx +8 -18
  83. package/src/fragments/createGroupChannelListFragment.tsx +3 -2
  84. package/src/fragments/createGroupChannelMembersFragment.tsx +25 -25
  85. package/src/hooks/useContext.ts +3 -10
  86. package/src/index.ts +4 -5
  87. package/src/localization/StringSet.type.ts +0 -12
  88. package/src/platform/createFileService.native.ts +1 -1
  89. package/src/version.ts +1 -1
  90. package/lib/commonjs/contexts/LocalizationCtx.js.map +0 -1
  91. package/lib/commonjs/contexts/PlatformServiceCtx.js.map +0 -1
  92. package/lib/commonjs/contexts/ProfileCardCtx.js +0 -119
  93. package/lib/commonjs/contexts/ProfileCardCtx.js.map +0 -1
  94. package/lib/commonjs/contexts/SendbirdChatCtx.js.map +0 -1
  95. package/lib/module/contexts/LocalizationCtx.js.map +0 -1
  96. package/lib/module/contexts/PlatformServiceCtx.js.map +0 -1
  97. package/lib/module/contexts/ProfileCardCtx.js +0 -97
  98. package/lib/module/contexts/ProfileCardCtx.js.map +0 -1
  99. package/lib/module/contexts/SendbirdChatCtx.js.map +0 -1
  100. package/lib/typescript/src/contexts/ProfileCardCtx.d.ts +0 -15
  101. package/src/contexts/ProfileCardCtx.tsx +0 -125
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
 
8
- var _react = _interopRequireDefault(require("react"));
8
+ var _react = _interopRequireWildcard(require("react"));
9
9
 
10
10
  var _uikitChatHooks = require("@sendbird/uikit-chat-hooks");
11
11
 
@@ -21,6 +21,10 @@ var _useContext = require("../hooks/useContext");
21
21
 
22
22
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
23
23
 
24
+ 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); }
25
+
26
+ 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; }
27
+
24
28
  const noop = () => '';
25
29
 
26
30
  const name = 'createGroupChannelMembersFragment';
@@ -36,19 +40,16 @@ const createGroupChannelMembersFragment = initModule => {
36
40
  } = _ref;
37
41
  const uniqId = (0, _uikitUtils.useUniqId)(name);
38
42
  const forceUpdate = (0, _uikitUtils.useForceUpdate)();
39
- const {
40
- STRINGS
41
- } = (0, _useContext.useLocalization)();
42
43
  const {
43
44
  sdk,
44
45
  currentUser
45
46
  } = (0, _useContext.useSendbirdChat)();
46
- const {
47
- show
48
- } = (0, _useContext.useProfileCard)();
49
47
  const {
50
48
  activeChannel
51
49
  } = (0, _uikitChatHooks.useActiveGroupChannel)(sdk, channel);
50
+ const {
51
+ STRINGS
52
+ } = (0, _useContext.useLocalization)();
52
53
  (0, _uikitChatHooks.useChannelHandler)(sdk, `${name}_${uniqId}`, {
53
54
  // Note: Removed from v4
54
55
  // onUserEntered(channel) {
@@ -96,7 +97,7 @@ const createGroupChannelMembersFragment = initModule => {
96
97
 
97
98
  });
98
99
 
99
- const _renderUser = (0, _uikitUtils.useFreshCallback)((user, selectedUsers, setSelectedUsers) => {
100
+ const _renderUser = (0, _react.useCallback)((user, selectedUsers, setSelectedUsers) => {
100
101
  if (renderUser) return renderUser(user, selectedUsers, setSelectedUsers);
101
102
  return /*#__PURE__*/_react.default.createElement(_UserActionBar.default, {
102
103
  muted: user.isMuted,
@@ -105,10 +106,9 @@ const createGroupChannelMembersFragment = initModule => {
105
106
  name: (user.nickname || STRINGS.LABELS.USER_NO_NAME) + (user.userId === (currentUser === null || currentUser === void 0 ? void 0 : currentUser.userId) ? STRINGS.GROUP_CHANNEL_MEMBERS.USER_BAR_ME_POSTFIX : ''),
106
107
  disabled: user.userId === (currentUser === null || currentUser === void 0 ? void 0 : currentUser.userId) // TODO: implement ban/mute actions, use channel.members with handlers instead member query
107
108
  ,
108
- onPressActionMenu: undefined,
109
- onPressAvatar: () => show(user)
109
+ onPressActionMenu: undefined
110
110
  });
111
- });
111
+ }, [renderUser]);
112
112
 
113
113
  return /*#__PURE__*/_react.default.createElement(UserListModule.Provider, {
114
114
  headerRight: noop,
@@ -1 +1 @@
1
- {"version":3,"names":["noop","name","createGroupChannelMembersFragment","initModule","UserListModule","createUserListModule","channel","onPressHeaderLeft","onPressHeaderRight","renderUser","uniqId","useUniqId","forceUpdate","useForceUpdate","STRINGS","useLocalization","sdk","currentUser","useSendbirdChat","show","useProfileCard","activeChannel","useActiveGroupChannel","useChannelHandler","onUserLeft","url","onUserJoined","onUserUnmuted","onUserUnbanned","onUserBanned","onUserMuted","onChannelMemberCountChanged","channels","find","c","onChannelChanged","onChannelFrozen","onChannelUnfrozen","_renderUser","useFreshCallback","user","selectedUsers","setSelectedUsers","isMuted","profileUrl","role","GROUP_CHANNEL_MEMBERS","USER_BAR_OPERATOR","nickname","LABELS","USER_NO_NAME","userId","USER_BAR_ME_POSTFIX","undefined","HEADER_TITLE","members"],"sources":["createGroupChannelMembersFragment.tsx"],"sourcesContent":["import React from 'react';\n\nimport { useActiveGroupChannel, useChannelHandler } from '@sendbird/uikit-chat-hooks';\nimport { Icon } from '@sendbird/uikit-react-native-foundation';\nimport type { SendbirdMember } from '@sendbird/uikit-utils';\nimport { useForceUpdate, useFreshCallback, useUniqId } from '@sendbird/uikit-utils';\n\nimport UserActionBar from '../components/UserActionBar';\nimport type { GroupChannelMembersFragment } from '../domain/groupChannelUserList/types';\nimport createUserListModule from '../domain/userList/module/createUserListModule';\nimport type { UserListModule } from '../domain/userList/types';\nimport { useLocalization, useProfileCard, useSendbirdChat } from '../hooks/useContext';\n\nconst noop = () => '';\nconst name = 'createGroupChannelMembersFragment';\nconst createGroupChannelMembersFragment = (\n initModule?: Partial<UserListModule<SendbirdMember>>,\n): GroupChannelMembersFragment<SendbirdMember> => {\n const UserListModule = createUserListModule<SendbirdMember>(initModule);\n\n return ({ channel, onPressHeaderLeft, onPressHeaderRight, renderUser }) => {\n const uniqId = useUniqId(name);\n const forceUpdate = useForceUpdate();\n\n const { STRINGS } = useLocalization();\n const { sdk, currentUser } = useSendbirdChat();\n const { show } = useProfileCard();\n\n const { activeChannel } = useActiveGroupChannel(sdk, channel);\n\n useChannelHandler(sdk, `${name}_${uniqId}`, {\n // Note: Removed from v4\n // onUserEntered(channel) {\n // if (channel.url === activeChannel.url) forceUpdate();\n // },\n onUserLeft(channel) {\n if (channel.url === activeChannel.url) forceUpdate();\n },\n onUserJoined(channel) {\n if (channel.url === activeChannel.url) forceUpdate();\n },\n onUserUnmuted(channel) {\n if (channel.url === activeChannel.url) forceUpdate();\n },\n onUserUnbanned(channel) {\n if (channel.url === activeChannel.url) forceUpdate();\n },\n onUserBanned(channel) {\n if (channel.url === activeChannel.url) forceUpdate();\n },\n onUserMuted(channel) {\n if (channel.url === activeChannel.url) forceUpdate();\n },\n onChannelMemberCountChanged(channels) {\n if (channels.find((c) => c.url === channel.url)) forceUpdate();\n },\n onChannelChanged(channel) {\n if (channel.url === activeChannel.url) forceUpdate();\n },\n onChannelFrozen(channel) {\n if (channel.url === activeChannel.url) forceUpdate();\n },\n onChannelUnfrozen(channel) {\n if (channel.url === activeChannel.url) forceUpdate();\n },\n });\n\n const _renderUser: NonNullable<typeof renderUser> = useFreshCallback((user, selectedUsers, setSelectedUsers) => {\n if (renderUser) return renderUser(user, selectedUsers, setSelectedUsers);\n\n return (\n <UserActionBar\n muted={user.isMuted}\n uri={user.profileUrl}\n label={user.role === 'operator' ? STRINGS.GROUP_CHANNEL_MEMBERS.USER_BAR_OPERATOR : ''}\n name={\n (user.nickname || STRINGS.LABELS.USER_NO_NAME) +\n (user.userId === currentUser?.userId ? STRINGS.GROUP_CHANNEL_MEMBERS.USER_BAR_ME_POSTFIX : '')\n }\n disabled={user.userId === currentUser?.userId}\n // TODO: implement ban/mute actions, use channel.members with handlers instead member query\n onPressActionMenu={undefined}\n onPressAvatar={() => show(user)}\n />\n );\n });\n\n return (\n <UserListModule.Provider headerRight={noop} headerTitle={STRINGS.GROUP_CHANNEL_MEMBERS.HEADER_TITLE}>\n <UserListModule.Header\n shouldActivateHeaderRight={() => true}\n onPressHeaderLeft={onPressHeaderLeft}\n right={<Icon icon={'plus'} />}\n onPressHeaderRight={async () => onPressHeaderRight()}\n />\n\n <UserListModule.List\n users={activeChannel.members}\n renderUser={_renderUser}\n onLoadNext={async () => void 0}\n ListEmptyComponent={<UserListModule.StatusEmpty />}\n />\n </UserListModule.Provider>\n );\n };\n};\n\nexport default createGroupChannelMembersFragment;\n"],"mappings":"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"}
1
+ {"version":3,"names":["noop","name","createGroupChannelMembersFragment","initModule","UserListModule","createUserListModule","channel","onPressHeaderLeft","onPressHeaderRight","renderUser","uniqId","useUniqId","forceUpdate","useForceUpdate","sdk","currentUser","useSendbirdChat","activeChannel","useActiveGroupChannel","STRINGS","useLocalization","useChannelHandler","onUserLeft","url","onUserJoined","onUserUnmuted","onUserUnbanned","onUserBanned","onUserMuted","onChannelMemberCountChanged","channels","find","c","onChannelChanged","onChannelFrozen","onChannelUnfrozen","_renderUser","useCallback","user","selectedUsers","setSelectedUsers","isMuted","profileUrl","role","GROUP_CHANNEL_MEMBERS","USER_BAR_OPERATOR","nickname","LABELS","USER_NO_NAME","userId","USER_BAR_ME_POSTFIX","undefined","HEADER_TITLE","members"],"sources":["createGroupChannelMembersFragment.tsx"],"sourcesContent":["import React, { useCallback } from 'react';\n\nimport { useActiveGroupChannel, useChannelHandler } from '@sendbird/uikit-chat-hooks';\nimport { Icon } from '@sendbird/uikit-react-native-foundation';\nimport type { SendbirdMember } from '@sendbird/uikit-utils';\nimport { useForceUpdate, useUniqId } from '@sendbird/uikit-utils';\n\nimport UserActionBar from '../components/UserActionBar';\nimport type { GroupChannelMembersFragment } from '../domain/groupChannelUserList/types';\nimport createUserListModule from '../domain/userList/module/createUserListModule';\nimport type { UserListModule } from '../domain/userList/types';\nimport { useLocalization, useSendbirdChat } from '../hooks/useContext';\n\nconst noop = () => '';\nconst name = 'createGroupChannelMembersFragment';\nconst createGroupChannelMembersFragment = (\n initModule?: Partial<UserListModule<SendbirdMember>>,\n): GroupChannelMembersFragment<SendbirdMember> => {\n const UserListModule = createUserListModule<SendbirdMember>(initModule);\n\n return ({ channel, onPressHeaderLeft, onPressHeaderRight, renderUser }) => {\n const uniqId = useUniqId(name);\n const forceUpdate = useForceUpdate();\n const { sdk, currentUser } = useSendbirdChat();\n const { activeChannel } = useActiveGroupChannel(sdk, channel);\n\n const { STRINGS } = useLocalization();\n\n useChannelHandler(sdk, `${name}_${uniqId}`, {\n // Note: Removed from v4\n // onUserEntered(channel) {\n // if (channel.url === activeChannel.url) forceUpdate();\n // },\n onUserLeft(channel) {\n if (channel.url === activeChannel.url) forceUpdate();\n },\n onUserJoined(channel) {\n if (channel.url === activeChannel.url) forceUpdate();\n },\n onUserUnmuted(channel) {\n if (channel.url === activeChannel.url) forceUpdate();\n },\n onUserUnbanned(channel) {\n if (channel.url === activeChannel.url) forceUpdate();\n },\n onUserBanned(channel) {\n if (channel.url === activeChannel.url) forceUpdate();\n },\n onUserMuted(channel) {\n if (channel.url === activeChannel.url) forceUpdate();\n },\n onChannelMemberCountChanged(channels) {\n if (channels.find((c) => c.url === channel.url)) forceUpdate();\n },\n onChannelChanged(channel) {\n if (channel.url === activeChannel.url) forceUpdate();\n },\n onChannelFrozen(channel) {\n if (channel.url === activeChannel.url) forceUpdate();\n },\n onChannelUnfrozen(channel) {\n if (channel.url === activeChannel.url) forceUpdate();\n },\n });\n\n const _renderUser: NonNullable<typeof renderUser> = useCallback(\n (user, selectedUsers, setSelectedUsers) => {\n if (renderUser) return renderUser(user, selectedUsers, setSelectedUsers);\n\n return (\n <UserActionBar\n muted={user.isMuted}\n uri={user.profileUrl}\n label={user.role === 'operator' ? STRINGS.GROUP_CHANNEL_MEMBERS.USER_BAR_OPERATOR : ''}\n name={\n (user.nickname || STRINGS.LABELS.USER_NO_NAME) +\n (user.userId === currentUser?.userId ? STRINGS.GROUP_CHANNEL_MEMBERS.USER_BAR_ME_POSTFIX : '')\n }\n disabled={user.userId === currentUser?.userId}\n // TODO: implement ban/mute actions, use channel.members with handlers instead member query\n onPressActionMenu={undefined}\n />\n );\n },\n [renderUser],\n );\n\n return (\n <UserListModule.Provider headerRight={noop} headerTitle={STRINGS.GROUP_CHANNEL_MEMBERS.HEADER_TITLE}>\n <UserListModule.Header\n shouldActivateHeaderRight={() => true}\n onPressHeaderLeft={onPressHeaderLeft}\n right={<Icon icon={'plus'} />}\n onPressHeaderRight={async () => onPressHeaderRight()}\n />\n\n <UserListModule.List\n users={activeChannel.members}\n renderUser={_renderUser}\n onLoadNext={async () => void 0}\n ListEmptyComponent={<UserListModule.StatusEmpty />}\n />\n </UserListModule.Provider>\n );\n };\n};\n\nexport default createGroupChannelMembersFragment;\n"],"mappings":"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"}
@@ -3,20 +3,18 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.useSendbirdChat = exports.useProfileCard = exports.usePlatformService = exports.useLocalization = void 0;
6
+ exports.useSendbirdChat = exports.usePlatformService = exports.useLocalization = void 0;
7
7
 
8
8
  var _react = require("react");
9
9
 
10
- var _LocalizationCtx = require("../contexts/LocalizationCtx");
10
+ var _Localization = require("../contexts/Localization");
11
11
 
12
- var _PlatformServiceCtx = require("../contexts/PlatformServiceCtx");
12
+ var _PlatformService = require("../contexts/PlatformService");
13
13
 
14
- var _ProfileCardCtx = require("../contexts/ProfileCardCtx");
15
-
16
- var _SendbirdChatCtx = require("../contexts/SendbirdChatCtx");
14
+ var _SendbirdChat = require("../contexts/SendbirdChat");
17
15
 
18
16
  const useLocalization = () => {
19
- const value = (0, _react.useContext)(_LocalizationCtx.LocalizationContext);
17
+ const value = (0, _react.useContext)(_Localization.LocalizationContext);
20
18
  if (!value) throw new Error('LocalizationContext is not provided');
21
19
  return value;
22
20
  };
@@ -24,7 +22,7 @@ const useLocalization = () => {
24
22
  exports.useLocalization = useLocalization;
25
23
 
26
24
  const usePlatformService = () => {
27
- const value = (0, _react.useContext)(_PlatformServiceCtx.PlatformServiceContext);
25
+ const value = (0, _react.useContext)(_PlatformService.PlatformServiceContext);
28
26
  if (!value) throw new Error('PlatformServiceContext is not provided');
29
27
  return value;
30
28
  };
@@ -32,18 +30,10 @@ const usePlatformService = () => {
32
30
  exports.usePlatformService = usePlatformService;
33
31
 
34
32
  const useSendbirdChat = () => {
35
- const value = (0, _react.useContext)(_SendbirdChatCtx.SendbirdChatContext);
33
+ const value = (0, _react.useContext)(_SendbirdChat.SendbirdChatContext);
36
34
  if (!value) throw new Error('SendbirdChatContext is not provided');
37
35
  return value;
38
36
  };
39
37
 
40
38
  exports.useSendbirdChat = useSendbirdChat;
41
-
42
- const useProfileCard = () => {
43
- const value = (0, _react.useContext)(_ProfileCardCtx.ProfileCardContext);
44
- if (!value) throw new Error('ProfileCardContext is not provided');
45
- return value;
46
- };
47
-
48
- exports.useProfileCard = useProfileCard;
49
39
  //# sourceMappingURL=useContext.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["useLocalization","value","useContext","LocalizationContext","Error","usePlatformService","PlatformServiceContext","useSendbirdChat","SendbirdChatContext","useProfileCard","ProfileCardContext"],"sources":["useContext.ts"],"sourcesContent":["import { useContext } from 'react';\n\nimport { LocalizationContext } from '../contexts/LocalizationCtx';\nimport { PlatformServiceContext } from '../contexts/PlatformServiceCtx';\nimport { ProfileCardContext } from '../contexts/ProfileCardCtx';\nimport { SendbirdChatContext } from '../contexts/SendbirdChatCtx';\n\nexport const useLocalization = () => {\n const value = useContext(LocalizationContext);\n if (!value) throw new Error('LocalizationContext is not provided');\n return value;\n};\n\nexport const usePlatformService = () => {\n const value = useContext(PlatformServiceContext);\n if (!value) throw new Error('PlatformServiceContext is not provided');\n return value;\n};\n\nexport const useSendbirdChat = () => {\n const value = useContext(SendbirdChatContext);\n if (!value) throw new Error('SendbirdChatContext is not provided');\n return value;\n};\n\nexport const useProfileCard = () => {\n const value = useContext(ProfileCardContext);\n if (!value) throw new Error('ProfileCardContext is not provided');\n return value;\n};\n"],"mappings":";;;;;;;AAAA;;AAEA;;AACA;;AACA;;AACA;;AAEO,MAAMA,eAAe,GAAG,MAAM;EACnC,MAAMC,KAAK,GAAG,IAAAC,iBAAA,EAAWC,oCAAX,CAAd;EACA,IAAI,CAACF,KAAL,EAAY,MAAM,IAAIG,KAAJ,CAAU,qCAAV,CAAN;EACZ,OAAOH,KAAP;AACD,CAJM;;;;AAMA,MAAMI,kBAAkB,GAAG,MAAM;EACtC,MAAMJ,KAAK,GAAG,IAAAC,iBAAA,EAAWI,0CAAX,CAAd;EACA,IAAI,CAACL,KAAL,EAAY,MAAM,IAAIG,KAAJ,CAAU,wCAAV,CAAN;EACZ,OAAOH,KAAP;AACD,CAJM;;;;AAMA,MAAMM,eAAe,GAAG,MAAM;EACnC,MAAMN,KAAK,GAAG,IAAAC,iBAAA,EAAWM,oCAAX,CAAd;EACA,IAAI,CAACP,KAAL,EAAY,MAAM,IAAIG,KAAJ,CAAU,qCAAV,CAAN;EACZ,OAAOH,KAAP;AACD,CAJM;;;;AAMA,MAAMQ,cAAc,GAAG,MAAM;EAClC,MAAMR,KAAK,GAAG,IAAAC,iBAAA,EAAWQ,kCAAX,CAAd;EACA,IAAI,CAACT,KAAL,EAAY,MAAM,IAAIG,KAAJ,CAAU,oCAAV,CAAN;EACZ,OAAOH,KAAP;AACD,CAJM"}
1
+ {"version":3,"names":["useLocalization","value","useContext","LocalizationContext","Error","usePlatformService","PlatformServiceContext","useSendbirdChat","SendbirdChatContext"],"sources":["useContext.ts"],"sourcesContent":["import { useContext } from 'react';\n\nimport { LocalizationContext } from '../contexts/Localization';\nimport { PlatformServiceContext } from '../contexts/PlatformService';\nimport { SendbirdChatContext } from '../contexts/SendbirdChat';\n\nexport const useLocalization = () => {\n const value = useContext(LocalizationContext);\n if (!value) throw new Error('LocalizationContext is not provided');\n return value;\n};\n\nexport const usePlatformService = () => {\n const value = useContext(PlatformServiceContext);\n if (!value) throw new Error('PlatformServiceContext is not provided');\n return value;\n};\n\nexport const useSendbirdChat = () => {\n const value = useContext(SendbirdChatContext);\n if (!value) throw new Error('SendbirdChatContext is not provided');\n return value;\n};\n"],"mappings":";;;;;;;AAAA;;AAEA;;AACA;;AACA;;AAEO,MAAMA,eAAe,GAAG,MAAM;EACnC,MAAMC,KAAK,GAAG,IAAAC,iBAAA,EAAWC,iCAAX,CAAd;EACA,IAAI,CAACF,KAAL,EAAY,MAAM,IAAIG,KAAJ,CAAU,qCAAV,CAAN;EACZ,OAAOH,KAAP;AACD,CAJM;;;;AAMA,MAAMI,kBAAkB,GAAG,MAAM;EACtC,MAAMJ,KAAK,GAAG,IAAAC,iBAAA,EAAWI,uCAAX,CAAd;EACA,IAAI,CAACL,KAAL,EAAY,MAAM,IAAIG,KAAJ,CAAU,wCAAV,CAAN;EACZ,OAAOH,KAAP;AACD,CAJM;;;;AAMA,MAAMM,eAAe,GAAG,MAAM;EACnC,MAAMN,KAAK,GAAG,IAAAC,iBAAA,EAAWM,iCAAX,CAAd;EACA,IAAI,CAACP,KAAL,EAAY,MAAM,IAAIG,KAAJ,CAAU,qCAAV,CAAN;EACZ,OAAOH,KAAP;AACD,CAJM"}
@@ -25,8 +25,6 @@ var _exportNames = {
25
25
  SendbirdChatProvider: true,
26
26
  PlatformServiceContext: true,
27
27
  PlatformServiceProvider: true,
28
- ProfileCardContext: true,
29
- ProfileCardProvider: true,
30
28
  LocalizationContext: true,
31
29
  LocalizationProvider: true,
32
30
  useConnection: true,
@@ -34,7 +32,6 @@ var _exportNames = {
34
32
  useLocalization: true,
35
33
  usePlatformService: true,
36
34
  useSendbirdChat: true,
37
- useProfileCard: true,
38
35
  StringSetEn: true,
39
36
  createBaseStringSet: true,
40
37
  createNativeFileService: true,
@@ -70,13 +67,13 @@ Object.defineProperty(exports, "FileViewer", {
70
67
  Object.defineProperty(exports, "LocalizationContext", {
71
68
  enumerable: true,
72
69
  get: function () {
73
- return _LocalizationCtx.LocalizationContext;
70
+ return _Localization.LocalizationContext;
74
71
  }
75
72
  });
76
73
  Object.defineProperty(exports, "LocalizationProvider", {
77
74
  enumerable: true,
78
75
  get: function () {
79
- return _LocalizationCtx.LocalizationProvider;
76
+ return _Localization.LocalizationProvider;
80
77
  }
81
78
  });
82
79
  Object.defineProperty(exports, "MessageRenderer", {
@@ -94,25 +91,13 @@ Object.defineProperty(exports, "NewMessagesButton", {
94
91
  Object.defineProperty(exports, "PlatformServiceContext", {
95
92
  enumerable: true,
96
93
  get: function () {
97
- return _PlatformServiceCtx.PlatformServiceContext;
94
+ return _PlatformService.PlatformServiceContext;
98
95
  }
99
96
  });
100
97
  Object.defineProperty(exports, "PlatformServiceProvider", {
101
98
  enumerable: true,
102
99
  get: function () {
103
- return _PlatformServiceCtx.PlatformServiceProvider;
104
- }
105
- });
106
- Object.defineProperty(exports, "ProfileCardContext", {
107
- enumerable: true,
108
- get: function () {
109
- return _ProfileCardCtx.ProfileCardContext;
110
- }
111
- });
112
- Object.defineProperty(exports, "ProfileCardProvider", {
113
- enumerable: true,
114
- get: function () {
115
- return _ProfileCardCtx.ProfileCardProvider;
100
+ return _PlatformService.PlatformServiceProvider;
116
101
  }
117
102
  });
118
103
  Object.defineProperty(exports, "ProviderLayout", {
@@ -136,13 +121,13 @@ Object.defineProperty(exports, "ScrollToBottomButton", {
136
121
  Object.defineProperty(exports, "SendbirdChatContext", {
137
122
  enumerable: true,
138
123
  get: function () {
139
- return _SendbirdChatCtx.SendbirdChatContext;
124
+ return _SendbirdChat.SendbirdChatContext;
140
125
  }
141
126
  });
142
127
  Object.defineProperty(exports, "SendbirdChatProvider", {
143
128
  enumerable: true,
144
129
  get: function () {
145
- return _SendbirdChatCtx.SendbirdChatProvider;
130
+ return _SendbirdChat.SendbirdChatProvider;
146
131
  }
147
132
  });
148
133
  Object.defineProperty(exports, "SendbirdUIKit", {
@@ -295,12 +280,6 @@ Object.defineProperty(exports, "usePlatformService", {
295
280
  return _useContext.usePlatformService;
296
281
  }
297
282
  });
298
- Object.defineProperty(exports, "useProfileCard", {
299
- enumerable: true,
300
- get: function () {
301
- return _useContext.useProfileCard;
302
- }
303
- });
304
283
  Object.defineProperty(exports, "usePushTokenRegistration", {
305
284
  enumerable: true,
306
285
  get: function () {
@@ -352,13 +331,11 @@ var _createGroupChannelListFragment = _interopRequireDefault(require("./fragment
352
331
 
353
332
  var _createGroupChannelMembersFragment = _interopRequireDefault(require("./fragments/createGroupChannelMembersFragment"));
354
333
 
355
- var _SendbirdChatCtx = require("./contexts/SendbirdChatCtx");
356
-
357
- var _PlatformServiceCtx = require("./contexts/PlatformServiceCtx");
334
+ var _SendbirdChat = require("./contexts/SendbirdChat");
358
335
 
359
- var _ProfileCardCtx = require("./contexts/ProfileCardCtx");
336
+ var _PlatformService = require("./contexts/PlatformService");
360
337
 
361
- var _LocalizationCtx = require("./contexts/LocalizationCtx");
338
+ var _Localization = require("./contexts/Localization");
362
339
 
363
340
  var _useConnection = _interopRequireDefault(require("./hooks/useConnection"));
364
341
 
@@ -1 +1 @@
1
- {"version":3,"names":["Logger","setLogLevel","__DEV__","setTitle","Platform","OS"],"sources":["index.ts"],"sourcesContent":["/** Components **/\nimport { Platform } from 'react-native';\n\nimport { Logger } from '@sendbird/uikit-utils';\n\nexport { default as MessageRenderer } from './components/MessageRenderer';\nexport { default as ChannelCover } from './components/ChannelCover';\nexport { default as ChatFlatList } from './components/ChatFlatList';\nexport { default as FileViewer } from './components/FileViewer';\nexport { default as NewMessagesButton } from './components/NewMessagesButton';\nexport { default as ProviderLayout } from './components/ProviderLayout';\nexport { default as ScrollToBottomButton } from './components/ScrollToBottomButton';\nexport { default as StatusComposition } from './components/StatusComposition';\nexport { default as TypedPlaceholder } from './components/TypedPlaceholder';\nexport { default as UserActionBar } from './components/UserActionBar';\nexport { default as UserSelectableBar } from './components/UserSelectableBar';\n\n/** Fragments **/\nexport { default as createGroupChannelCreateFragment } from './fragments/createGroupChannelCreateFragment';\nexport { default as createGroupChannelFragment } from './fragments/createGroupChannelFragment';\nexport { default as createGroupChannelSettingsFragment } from './fragments/createGroupChannelSettingsFragment';\nexport { default as createGroupChannelInviteFragment } from './fragments/createGroupChannelInviteFragment';\nexport { default as createGroupChannelListFragment } from './fragments/createGroupChannelListFragment';\nexport { default as createGroupChannelMembersFragment } from './fragments/createGroupChannelMembersFragment';\n\n/** Context **/\nexport { SendbirdChatContext, SendbirdChatProvider } from './contexts/SendbirdChatCtx';\nexport { PlatformServiceContext, PlatformServiceProvider } from './contexts/PlatformServiceCtx';\nexport { ProfileCardContext, ProfileCardProvider } from './contexts/ProfileCardCtx';\nexport { LocalizationContext, LocalizationProvider } from './contexts/LocalizationCtx';\n\n/** Hooks **/\nexport { default as useConnection } from './hooks/useConnection';\nexport { default as usePushTokenRegistration } from './hooks/usePushTokenRegistration';\nexport { useLocalization, usePlatformService, useSendbirdChat, useProfileCard } from './hooks/useContext';\n\n/** Localization **/\nexport { default as StringSetEn } from './localization/StringSet.en';\nexport { createBaseStringSet } from './localization/StringSet.type';\nexport type { StringSet } from './localization/StringSet.type';\n\n/** Platform API **/\nexport { default as createNativeFileService } from './platform/createFileService.native';\nexport { default as createNativeClipboardService } from './platform/createClipboardService.native';\nexport { default as createNativeNotificationService } from './platform/createNotificationService.native';\nexport { default as createNativeMediaService } from './platform/createMediaService.native';\nexport { default as createExpoFileService } from './platform/createFileService.expo';\nexport { default as createExpoClipboardService } from './platform/createClipboardService.expo';\nexport { default as createExpoNotificationService } from './platform/createNotificationService.expo';\nexport { default as createExpoMediaService } from './platform/createMediaService.expo';\n\nexport type {\n FileServiceInterface,\n ClipboardServiceInterface,\n FilePickerServiceInterface,\n FileSystemServiceInterface,\n SaveOptions,\n OpenDocumentOptions,\n OpenCameraOptions,\n OpenMediaLibraryOptions,\n OpenResultListener,\n DownloadedPath,\n Unsubscribe,\n FilePickerResponse,\n FileType,\n NotificationServiceInterface,\n} from './platform/types';\n\n/** Domain **/\nexport * from './domain/groupChannel';\nexport type {\n GroupChannelProps,\n GroupChannelModule,\n GroupChannelFragment,\n GroupChannelContextsType,\n} from './domain/groupChannel/types';\n\nexport * from './domain/groupChannelSettings';\nexport type {\n GroupChannelSettingsProps,\n GroupChannelSettingsModule,\n GroupChannelSettingsFragment,\n GroupChannelSettingsContextsType,\n} from './domain/groupChannelSettings/types';\n\nexport * from './domain/groupChannelList';\nexport type {\n GroupChannelType,\n GroupChannelListProps,\n GroupChannelListModule,\n GroupChannelListFragment,\n GroupChannelListContextsType,\n} from './domain/groupChannelList/types';\n\nexport * from './domain/userList';\nexport type { UserListProps, UserListModule, UserListContextsType } from './domain/userList/types';\nexport * from './domain/groupChannelUserList/types';\n\n/** UIKit **/\nexport { default as SendbirdUIKitContainer, SendbirdUIKit } from './containers/SendbirdUIKitContainer';\nexport type { SendbirdUIKitContainerProps } from './containers/SendbirdUIKitContainer';\nexport { default as SBUError } from './libs/SBUError';\n\nexport * from './types';\n\nLogger.setLogLevel(__DEV__ ? 'warn' : 'none');\nLogger.setTitle(`[UIKIT_${Platform.OS}]`);\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA;;AAEA;;AAEA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAGA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAGA;;AACA;;AACA;;AACA;;AAGA;;AACA;;AACA;;AAGA;;AACA;;AAIA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAoBA;;AAAA;EAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;;AAQA;;AAAA;EAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;;AAQA;;AAAA;EAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;;AASA;;AAAA;EAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;;AAEA;;AAAA;EAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;;AAGA;;AAEA;;AAEA;;AAAA;EAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;;;;;;;;AAvGA;;AAiBA;;AAQA;;AAMA;;AAKA;;AAKA;;AA2BA;;AA8BA;AAOAA,kBAAA,CAAOC,WAAP,CAAmBC,OAAO,GAAG,MAAH,GAAY,MAAtC;;AACAF,kBAAA,CAAOG,QAAP,CAAiB,UAASC,qBAAA,CAASC,EAAG,GAAtC"}
1
+ {"version":3,"names":["Logger","setLogLevel","__DEV__","setTitle","Platform","OS"],"sources":["index.ts"],"sourcesContent":["/** Components **/\nimport { Platform } from 'react-native';\n\nimport { Logger } from '@sendbird/uikit-utils';\n\nexport { default as MessageRenderer } from './components/MessageRenderer';\nexport { default as ChannelCover } from './components/ChannelCover';\nexport { default as ChatFlatList } from './components/ChatFlatList';\nexport { default as FileViewer } from './components/FileViewer';\nexport { default as NewMessagesButton } from './components/NewMessagesButton';\nexport { default as ProviderLayout } from './components/ProviderLayout';\nexport { default as ScrollToBottomButton } from './components/ScrollToBottomButton';\nexport { default as StatusComposition } from './components/StatusComposition';\nexport { default as TypedPlaceholder } from './components/TypedPlaceholder';\nexport { default as UserActionBar } from './components/UserActionBar';\nexport { default as UserSelectableBar } from './components/UserSelectableBar';\n\n/** Fragments **/\nexport { default as createGroupChannelCreateFragment } from './fragments/createGroupChannelCreateFragment';\nexport { default as createGroupChannelFragment } from './fragments/createGroupChannelFragment';\nexport { default as createGroupChannelSettingsFragment } from './fragments/createGroupChannelSettingsFragment';\nexport { default as createGroupChannelInviteFragment } from './fragments/createGroupChannelInviteFragment';\nexport { default as createGroupChannelListFragment } from './fragments/createGroupChannelListFragment';\nexport { default as createGroupChannelMembersFragment } from './fragments/createGroupChannelMembersFragment';\n\n/** Context **/\nexport { SendbirdChatContext, SendbirdChatProvider } from './contexts/SendbirdChat';\nexport { PlatformServiceContext, PlatformServiceProvider } from './contexts/PlatformService';\nexport { LocalizationContext, LocalizationProvider } from './contexts/Localization';\n\n/** Hooks **/\nexport { default as useConnection } from './hooks/useConnection';\nexport { default as usePushTokenRegistration } from './hooks/usePushTokenRegistration';\nexport { useLocalization, usePlatformService, useSendbirdChat } from './hooks/useContext';\n\n/** Localization **/\nexport { default as StringSetEn } from './localization/StringSet.en';\nexport { createBaseStringSet } from './localization/StringSet.type';\nexport type { StringSet } from './localization/StringSet.type';\n\n/** Platform API **/\nexport { default as createNativeFileService } from './platform/createFileService.native';\nexport { default as createNativeClipboardService } from './platform/createClipboardService.native';\nexport { default as createNativeNotificationService } from './platform/createNotificationService.native';\nexport { default as createNativeMediaService } from './platform/createMediaService.native';\nexport { default as createExpoFileService } from './platform/createFileService.expo';\nexport { default as createExpoClipboardService } from './platform/createClipboardService.expo';\nexport { default as createExpoNotificationService } from './platform/createNotificationService.expo';\nexport { default as createExpoMediaService } from './platform/createMediaService.expo';\n\nexport type {\n FileServiceInterface,\n ClipboardServiceInterface,\n FilePickerServiceInterface,\n FileSystemServiceInterface,\n SaveOptions,\n OpenDocumentOptions,\n OpenCameraOptions,\n OpenMediaLibraryOptions,\n OpenResultListener,\n DownloadedPath,\n Unsubscribe,\n FilePickerResponse,\n FileType,\n NotificationServiceInterface,\n} from './platform/types';\n\n/** Domain **/\nexport * from './domain/groupChannel';\nexport type {\n GroupChannelProps,\n GroupChannelModule,\n GroupChannelFragment,\n GroupChannelContextsType,\n} from './domain/groupChannel/types';\n\nexport * from './domain/groupChannelSettings';\nexport type {\n GroupChannelSettingsProps,\n GroupChannelSettingsModule,\n GroupChannelSettingsFragment,\n GroupChannelSettingsContextsType,\n} from './domain/groupChannelSettings/types';\n\nexport * from './domain/groupChannelList';\nexport type {\n GroupChannelType,\n GroupChannelListProps,\n GroupChannelListModule,\n GroupChannelListFragment,\n GroupChannelListContextsType,\n} from './domain/groupChannelList/types';\n\nexport * from './domain/userList';\nexport type { UserListProps, UserListModule, UserListContextsType } from './domain/userList/types';\nexport * from './domain/groupChannelUserList/types';\n\n/** UIKit **/\nexport { default as SendbirdUIKitContainer, SendbirdUIKit } from './containers/SendbirdUIKitContainer';\nexport type { SendbirdUIKitContainerProps } from './containers/SendbirdUIKitContainer';\nexport { default as SBUError } from './libs/SBUError';\n\nexport * from './types';\n\nLogger.setLogLevel(__DEV__ ? 'warn' : 'none');\nLogger.setTitle(`[UIKIT_${Platform.OS}]`);\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA;;AAEA;;AAEA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAGA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAGA;;AACA;;AACA;;AAGA;;AACA;;AACA;;AAGA;;AACA;;AAIA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAoBA;;AAAA;EAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;;AAQA;;AAAA;EAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;;AAQA;;AAAA;EAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;;AASA;;AAAA;EAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;;AAEA;;AAAA;EAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;;AAGA;;AAEA;;AAEA;;AAAA;EAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;;;;;;;;AAtGA;;AAiBA;;AAQA;;AAKA;;AAKA;;AAKA;;AA2BA;;AA8BA;AAOAA,kBAAA,CAAOC,WAAP,CAAmBC,OAAO,GAAG,MAAH,GAAY,MAAtC;;AACAF,kBAAA,CAAOG,QAAP,CAAiB,UAASC,qBAAA,CAASC,EAAG,GAAtC"}
@@ -184,12 +184,6 @@ const createBaseStringSet = _ref => {
184
184
  TURN_OFF_NOTIFICATIONS_ERROR: "Couldn't turn off notifications.",
185
185
  LEAVE_CHANNEL_ERROR: "Couldn't leave channel.",
186
186
  ...(overrides === null || overrides === void 0 ? void 0 : overrides.TOAST)
187
- },
188
- PROFILE_CARD: {
189
- BUTTON_MESSAGE: 'Message',
190
- BODY_LABEL: 'User ID',
191
- BODY: user => user.userId,
192
- ...(overrides === null || overrides === void 0 ? void 0 : overrides.PROFILE_CARD)
193
187
  }
194
188
  };
195
189
  };
@@ -1 +1 @@
1
- {"version":3,"names":["createBaseStringSet","dateLocale","overrides","USER_NO_NAME","LABELS","CHANNEL_NO_MEMBERS","GROUP_CHANNEL","HEADER_TITLE","currentUserId","channel","getGroupChannelTitle","LIST_BANNER_FROZEN","LIST_DATE_SEPARATOR","date","locale","dateSeparator","LIST_BUTTON_NEW_MSG","newMessages","length","MESSAGE_BUBBLE_TIME","message","messageTime","Date","createdAt","MESSAGE_BUBBLE_FILE_TITLE","name","MESSAGE_BUBBLE_EDITED_POSTFIX","MESSAGE_BUBBLE_UNKNOWN_TITLE","MESSAGE_BUBBLE_UNKNOWN_DESC","INPUT_PLACEHOLDER_ACTIVE","INPUT_PLACEHOLDER_DISABLED","INPUT_EDIT_OK","INPUT_EDIT_CANCEL","DIALOG_MESSAGE_COPY","DIALOG_MESSAGE_EDIT","DIALOG_MESSAGE_SAVE","DIALOG_MESSAGE_DELETE","DIALOG_MESSAGE_DELETE_CONFIRM_TITLE","DIALOG_MESSAGE_DELETE_CONFIRM_OK","DIALOG_MESSAGE_DELETE_CONFIRM_CANCEL","DIALOG_MESSAGE_FAILED_RETRY","DIALOG_MESSAGE_FAILED_REMOVE","DIALOG_ATTACHMENT_CAMERA","DIALOG_ATTACHMENT_PHOTO_LIBRARY","DIALOG_ATTACHMENT_FILES","GROUP_CHANNEL_SETTINGS","HEADER_RIGHT","MENU_NOTIFICATION","MENU_MEMBERS","MENU_LEAVE_CHANNEL","DIALOG_CHANGE_NAME","DIALOG_CHANGE_NAME_PROMPT_TITLE","DIALOG_CHANGE_NAME_PROMPT_PLACEHOLDER","DIALOG_CHANGE_NAME_PROMPT_OK","DIALOG_CHANGE_NAME_PROMPT_CANCEL","DIALOG_CHANGE_IMAGE","DIALOG_CHANGE_IMAGE_MENU_TITLE","DIALOG_CHANGE_IMAGE_MENU_CAMERA","DIALOG_CHANGE_IMAGE_MENU_PHOTO_LIBRARY","GROUP_CHANNEL_LIST","CHANNEL_PREVIEW_TITLE","CHANNEL_PREVIEW_TITLE_CAPTION","getGroupChannelPreviewTime","CHANNEL_PREVIEW_BODY","getGroupChannelLastMessage","TYPE_SELECTOR_HEADER_TITLE","TYPE_SELECTOR_GROUP","TYPE_SELECTOR_SUPER_GROUP","TYPE_SELECTOR_BROADCAST","DIALOG_CHANNEL_TITLE","DIALOG_CHANNEL_NOTIFICATION","myPushTriggerOption","DIALOG_CHANNEL_LEAVE","GROUP_CHANNEL_MEMBERS","USER_BAR_ME_POSTFIX","USER_BAR_OPERATOR","DIALOG_USER_DISMISS_OPERATOR","DIALOG_USER_MUTE","DIALOG_USER_BAN","GROUP_CHANNEL_CREATE","selectedUsers","len","GROUP_CHANNEL_INVITE","TYPING_INDICATOR_TYPINGS","users","NO_NAME","userNames","map","u","nickname","join","FILE_VIEWER","TITLE","sender","SUBTITLE","PLACEHOLDER","NO_BANNED_MEMBERS","NO_USERS","NO_CHANNELS","NO_MESSAGES","NO_MUTED_MEMBERS","NO_RESULTS_FOUND","ERROR","MESSAGE","RETRY_LABEL","DIALOG","ALERT_DEFAULT_OK","ALERT_PERMISSIONS_TITLE","ALERT_PERMISSIONS_MESSAGE","permission","appName","ALERT_PERMISSIONS_OK","PROMPT_DEFAULT_OK","PROMPT_DEFAULT_CANCEL","PROMPT_DEFAULT_PLACEHOLDER","TOAST","COPY_OK","DOWNLOAD_START","DOWNLOAD_OK","DOWNLOAD_ERROR","OPEN_CAMERA_ERROR","OPEN_FILES_ERROR","OPEN_PHOTO_LIBRARY_ERROR","DELETE_MSG_ERROR","RESEND_MSG_ERROR","SEND_MSG_ERROR","UPDATE_MSG_ERROR","TURN_ON_NOTIFICATIONS_ERROR","TURN_OFF_NOTIFICATIONS_ERROR","LEAVE_CHANNEL_ERROR","PROFILE_CARD","BUTTON_MESSAGE","BODY_LABEL","BODY","user","userId"],"sources":["StringSet.type.ts"],"sourcesContent":["import type { Locale } from 'date-fns';\n\nimport type {\n PartialDeep,\n SendbirdFileMessage,\n SendbirdGroupChannel,\n SendbirdMember,\n SendbirdMessage,\n SendbirdUser,\n} from '@sendbird/uikit-utils';\nimport {\n dateSeparator,\n getGroupChannelLastMessage,\n getGroupChannelPreviewTime,\n getGroupChannelTitle,\n messageTime,\n} from '@sendbird/uikit-utils';\n\n/**\n * StringSet interface\n * Do not configure over 3 depths (for overrides easy)\n * */\nexport interface StringSet {\n GROUP_CHANNEL: {\n /** GroupChannel > Header */\n HEADER_TITLE: (currentUserId: string, channel: SendbirdGroupChannel) => string;\n\n /** GroupChannel > List */\n LIST_BANNER_FROZEN: string;\n LIST_DATE_SEPARATOR: (date: Date, locale?: Locale) => string;\n LIST_BUTTON_NEW_MSG: (newMessages: SendbirdMessage[]) => string;\n\n /** GroupChannel > Message bubble */\n MESSAGE_BUBBLE_TIME: (message: SendbirdMessage, locale?: Locale) => string;\n MESSAGE_BUBBLE_FILE_TITLE: (message: SendbirdFileMessage) => string;\n MESSAGE_BUBBLE_EDITED_POSTFIX: string;\n MESSAGE_BUBBLE_UNKNOWN_TITLE: (message: SendbirdMessage) => string;\n MESSAGE_BUBBLE_UNKNOWN_DESC: (message: SendbirdMessage) => string;\n\n /** GroupChannel > Input */\n INPUT_PLACEHOLDER_ACTIVE: string;\n INPUT_PLACEHOLDER_DISABLED: string;\n INPUT_EDIT_OK: string;\n INPUT_EDIT_CANCEL: string;\n\n /** GroupChannel > Dialog > Message */\n DIALOG_MESSAGE_COPY: string;\n DIALOG_MESSAGE_EDIT: string;\n DIALOG_MESSAGE_SAVE: string;\n DIALOG_MESSAGE_DELETE: string;\n /** GroupChannel > Dialog > Message > Delete confirm */\n DIALOG_MESSAGE_DELETE_CONFIRM_TITLE: string;\n DIALOG_MESSAGE_DELETE_CONFIRM_OK: string;\n DIALOG_MESSAGE_DELETE_CONFIRM_CANCEL: string;\n /** GroupChannel > Dialog > Message > Failed */\n DIALOG_MESSAGE_FAILED_RETRY: string;\n DIALOG_MESSAGE_FAILED_REMOVE: string;\n\n /** GroupChannel > Dialog > Attachments */\n DIALOG_ATTACHMENT_CAMERA: string;\n DIALOG_ATTACHMENT_PHOTO_LIBRARY: string;\n DIALOG_ATTACHMENT_FILES: string;\n };\n GROUP_CHANNEL_SETTINGS: {\n /** GroupChannelSettings > Header */\n HEADER_TITLE: string;\n HEADER_RIGHT: string;\n\n /** GroupChannelSettings > Menu */\n MENU_NOTIFICATION: string;\n MENU_MEMBERS: string;\n MENU_LEAVE_CHANNEL: string;\n\n /** GroupChannelSettings > Dialog */\n DIALOG_CHANGE_NAME: string;\n DIALOG_CHANGE_IMAGE: string;\n DIALOG_CHANGE_NAME_PROMPT_TITLE: string;\n DIALOG_CHANGE_NAME_PROMPT_PLACEHOLDER: string;\n DIALOG_CHANGE_NAME_PROMPT_CANCEL: string;\n DIALOG_CHANGE_NAME_PROMPT_OK: string;\n DIALOG_CHANGE_IMAGE_MENU_TITLE: string;\n DIALOG_CHANGE_IMAGE_MENU_CAMERA: string;\n DIALOG_CHANGE_IMAGE_MENU_PHOTO_LIBRARY: string;\n };\n GROUP_CHANNEL_LIST: {\n /** GroupChannelList > Header */\n HEADER_TITLE: string;\n\n /** GroupChannelList > Channel preview */\n CHANNEL_PREVIEW_TITLE: (currentUserId: string, channel: SendbirdGroupChannel) => string;\n CHANNEL_PREVIEW_TITLE_CAPTION: (channel: SendbirdGroupChannel, locale?: Locale) => string;\n CHANNEL_PREVIEW_BODY: (channel: SendbirdGroupChannel) => string;\n\n /** GroupChannelList > TypeSelector > Header */\n TYPE_SELECTOR_HEADER_TITLE: string;\n /** GroupChannelList > TypeSelector > Type string */\n TYPE_SELECTOR_GROUP: string;\n TYPE_SELECTOR_SUPER_GROUP: string;\n TYPE_SELECTOR_BROADCAST: string;\n\n /** GroupChannelList > Dialog > Channel */\n DIALOG_CHANNEL_TITLE: (currentUserId: string, channel: SendbirdGroupChannel) => string;\n DIALOG_CHANNEL_NOTIFICATION: (channel?: SendbirdGroupChannel) => string;\n DIALOG_CHANNEL_LEAVE: string;\n };\n GROUP_CHANNEL_MEMBERS: {\n /** GroupChannelMembers > Header */\n HEADER_TITLE: string;\n\n /** GroupChannelMembers > UserBar */\n USER_BAR_ME_POSTFIX: string;\n USER_BAR_OPERATOR: string;\n\n /** GroupChannelMembers > Dialog */\n DIALOG_USER_DISMISS_OPERATOR: string;\n DIALOG_USER_MUTE: string;\n DIALOG_USER_BAN: string;\n };\n GROUP_CHANNEL_INVITE: {\n /** GroupChannelInvite > Header */\n HEADER_TITLE: string;\n HEADER_RIGHT: <T>(params: { selectedUsers: Array<T> }) => string;\n };\n GROUP_CHANNEL_CREATE: {\n /** GroupChannelCreate > Header */\n HEADER_TITLE: string;\n HEADER_RIGHT: <T>(params: { selectedUsers: Array<T> }) => string;\n };\n // UI\n LABELS: {\n USER_NO_NAME: string;\n CHANNEL_NO_MEMBERS: string;\n TYPING_INDICATOR_TYPINGS: (users: SendbirdUser[]) => string | undefined;\n };\n FILE_VIEWER: {\n TITLE: (message: SendbirdFileMessage) => string;\n SUBTITLE: (message: SendbirdFileMessage) => string;\n };\n PLACEHOLDER: {\n NO_BANNED_MEMBERS: string;\n NO_USERS: string;\n NO_CHANNELS: string;\n NO_MESSAGES: string;\n NO_MUTED_MEMBERS: string;\n NO_RESULTS_FOUND: string;\n ERROR: {\n MESSAGE: string;\n RETRY_LABEL: string;\n };\n };\n DIALOG: {\n ALERT_DEFAULT_OK: string;\n\n ALERT_PERMISSIONS_TITLE: string;\n ALERT_PERMISSIONS_MESSAGE: (permission: string, appName: string) => string;\n ALERT_PERMISSIONS_OK: string;\n\n PROMPT_DEFAULT_OK: string;\n PROMPT_DEFAULT_CANCEL: string;\n PROMPT_DEFAULT_PLACEHOLDER: string;\n };\n TOAST: {\n COPY_OK: string;\n DOWNLOAD_START: string;\n DOWNLOAD_OK: string;\n DOWNLOAD_ERROR: string;\n OPEN_CAMERA_ERROR: string;\n OPEN_PHOTO_LIBRARY_ERROR: string;\n OPEN_FILES_ERROR: string;\n RESEND_MSG_ERROR: string;\n DELETE_MSG_ERROR: string;\n SEND_MSG_ERROR: string;\n UPDATE_MSG_ERROR: string;\n TURN_ON_NOTIFICATIONS_ERROR: string;\n TURN_OFF_NOTIFICATIONS_ERROR: string;\n LEAVE_CHANNEL_ERROR: string;\n };\n PROFILE_CARD: {\n BUTTON_MESSAGE: string;\n BODY_LABEL: string;\n BODY: (user: SendbirdUser | SendbirdMember) => string;\n };\n}\n\ntype StringSetCreateOptions = {\n dateLocale: Locale;\n overrides?: PartialDeep<StringSet>;\n};\n\n/**\n * Create string set\n * You can create localized String set, you should provide locale for date and string as a parameters\n *\n * @param {StringSetCreateOptions.dateLocale} dateLocale Date locale (from date-fns)\n * @param {StringSetCreateOptions.overrides} [overrides] Localized strings\n * */\nexport const createBaseStringSet = ({ dateLocale, overrides }: StringSetCreateOptions): StringSet => {\n const USER_NO_NAME = overrides?.LABELS?.USER_NO_NAME ?? '(No name)';\n const CHANNEL_NO_MEMBERS = overrides?.LABELS?.CHANNEL_NO_MEMBERS ?? '(No members)';\n return {\n GROUP_CHANNEL: {\n HEADER_TITLE: (currentUserId, channel) =>\n getGroupChannelTitle(currentUserId, channel, USER_NO_NAME, CHANNEL_NO_MEMBERS),\n LIST_BANNER_FROZEN: 'Channel is frozen',\n LIST_DATE_SEPARATOR: (date, locale) => dateSeparator(date, locale ?? dateLocale),\n LIST_BUTTON_NEW_MSG: (newMessages) => `${newMessages.length} new messages`,\n\n MESSAGE_BUBBLE_TIME: (message, locale) => messageTime(new Date(message.createdAt), locale ?? dateLocale),\n MESSAGE_BUBBLE_FILE_TITLE: (message) => message.name,\n MESSAGE_BUBBLE_EDITED_POSTFIX: ' (edited)',\n MESSAGE_BUBBLE_UNKNOWN_TITLE: () => '(Unknown message type)',\n MESSAGE_BUBBLE_UNKNOWN_DESC: () => 'Cannot read this message.',\n\n INPUT_PLACEHOLDER_ACTIVE: 'Enter message',\n INPUT_PLACEHOLDER_DISABLED: 'Chat is unavailable in this channel',\n INPUT_EDIT_OK: 'Save',\n INPUT_EDIT_CANCEL: 'Cancel',\n\n DIALOG_MESSAGE_COPY: 'Copy',\n DIALOG_MESSAGE_EDIT: 'Edit',\n DIALOG_MESSAGE_SAVE: 'Save',\n DIALOG_MESSAGE_DELETE: 'Delete',\n DIALOG_MESSAGE_DELETE_CONFIRM_TITLE: 'Delete message?',\n DIALOG_MESSAGE_DELETE_CONFIRM_OK: 'Delete',\n DIALOG_MESSAGE_DELETE_CONFIRM_CANCEL: 'Cancel',\n DIALOG_MESSAGE_FAILED_RETRY: 'Retry',\n DIALOG_MESSAGE_FAILED_REMOVE: 'Remove',\n\n DIALOG_ATTACHMENT_CAMERA: 'Camera',\n DIALOG_ATTACHMENT_PHOTO_LIBRARY: 'Photo library',\n DIALOG_ATTACHMENT_FILES: 'Files',\n ...overrides?.GROUP_CHANNEL,\n },\n GROUP_CHANNEL_SETTINGS: {\n HEADER_TITLE: 'Channel information',\n HEADER_RIGHT: 'Edit',\n MENU_NOTIFICATION: 'Notifications',\n MENU_MEMBERS: 'Members',\n MENU_LEAVE_CHANNEL: 'Leave channel',\n DIALOG_CHANGE_NAME: 'Change channel name',\n DIALOG_CHANGE_NAME_PROMPT_TITLE: 'Change channel name',\n DIALOG_CHANGE_NAME_PROMPT_PLACEHOLDER: 'Enter name',\n DIALOG_CHANGE_NAME_PROMPT_OK: 'Save',\n DIALOG_CHANGE_NAME_PROMPT_CANCEL: 'Cancel',\n DIALOG_CHANGE_IMAGE: 'Change channel image',\n DIALOG_CHANGE_IMAGE_MENU_TITLE: 'Change channel image',\n DIALOG_CHANGE_IMAGE_MENU_CAMERA: 'Take photo',\n DIALOG_CHANGE_IMAGE_MENU_PHOTO_LIBRARY: 'Choose photo',\n ...overrides?.GROUP_CHANNEL_SETTINGS,\n },\n GROUP_CHANNEL_LIST: {\n HEADER_TITLE: 'Channels',\n CHANNEL_PREVIEW_TITLE: (currentUserId, channel) =>\n getGroupChannelTitle(currentUserId, channel, USER_NO_NAME, CHANNEL_NO_MEMBERS),\n CHANNEL_PREVIEW_TITLE_CAPTION: (channel, locale) => getGroupChannelPreviewTime(channel, locale ?? dateLocale),\n CHANNEL_PREVIEW_BODY: (channel) => getGroupChannelLastMessage(channel),\n TYPE_SELECTOR_HEADER_TITLE: 'Channel type',\n TYPE_SELECTOR_GROUP: 'Group',\n TYPE_SELECTOR_SUPER_GROUP: 'Super group',\n TYPE_SELECTOR_BROADCAST: 'Broadcast',\n DIALOG_CHANNEL_TITLE: (currentUserId, channel) =>\n getGroupChannelTitle(currentUserId, channel, USER_NO_NAME, CHANNEL_NO_MEMBERS),\n DIALOG_CHANNEL_NOTIFICATION: (channel) => {\n if (!channel) return '';\n if (channel.myPushTriggerOption === 'off') return 'Turn on notifications';\n return 'Turn off notifications';\n },\n DIALOG_CHANNEL_LEAVE: 'Leave channel',\n ...overrides?.GROUP_CHANNEL_LIST,\n },\n GROUP_CHANNEL_MEMBERS: {\n HEADER_TITLE: 'Members',\n USER_BAR_ME_POSTFIX: ' (You)',\n USER_BAR_OPERATOR: 'Operator',\n DIALOG_USER_DISMISS_OPERATOR: 'Dismiss operator',\n DIALOG_USER_MUTE: 'Mute',\n DIALOG_USER_BAN: 'Ban',\n ...overrides?.GROUP_CHANNEL_MEMBERS,\n },\n GROUP_CHANNEL_CREATE: {\n HEADER_TITLE: 'New channel',\n HEADER_RIGHT: ({ selectedUsers }) => {\n const len = selectedUsers.length;\n if (len === 0) return 'Create';\n return `Create (${len})`;\n },\n ...overrides?.GROUP_CHANNEL_CREATE,\n },\n GROUP_CHANNEL_INVITE: {\n HEADER_TITLE: 'Invite users',\n HEADER_RIGHT: ({ selectedUsers }) => {\n const len = selectedUsers.length;\n if (len === 0) return 'Invite';\n return `Invite (${len})`;\n },\n ...overrides?.GROUP_CHANNEL_INVITE,\n },\n LABELS: {\n USER_NO_NAME,\n CHANNEL_NO_MEMBERS,\n TYPING_INDICATOR_TYPINGS: (users, NO_NAME = USER_NO_NAME) => {\n const userNames = users.map((u) => u.nickname || NO_NAME);\n if (userNames.length === 0) return;\n if (userNames.length === 1) return `${userNames[0]} is typing...`;\n if (users.length === 2) return `${userNames.join(' and ')} are typing...`;\n return 'Several people are typing...';\n },\n ...overrides?.LABELS,\n },\n FILE_VIEWER: {\n TITLE: (message) => message.sender?.nickname || USER_NO_NAME,\n SUBTITLE: (message) => messageTime(new Date(message.createdAt), dateLocale),\n },\n PLACEHOLDER: {\n NO_BANNED_MEMBERS: 'No banned members',\n NO_USERS: 'No users',\n NO_CHANNELS: 'No channels',\n NO_MESSAGES: 'No messages',\n NO_MUTED_MEMBERS: 'No muted members',\n NO_RESULTS_FOUND: 'No results found',\n ...overrides?.PLACEHOLDER,\n ERROR: {\n MESSAGE: 'Something went wrong',\n RETRY_LABEL: 'Retry',\n ...overrides?.PLACEHOLDER?.ERROR,\n },\n },\n DIALOG: {\n ALERT_DEFAULT_OK: 'OK',\n ALERT_PERMISSIONS_TITLE: 'Allow permission',\n ALERT_PERMISSIONS_MESSAGE: (permission, appName = 'Application') => {\n return `${appName} need permission to access your ${permission}. Go to Settings to allow access`;\n },\n ALERT_PERMISSIONS_OK: 'SETTINGS',\n PROMPT_DEFAULT_OK: 'Submit',\n PROMPT_DEFAULT_CANCEL: 'Cancel',\n PROMPT_DEFAULT_PLACEHOLDER: 'Enter',\n ...overrides?.DIALOG,\n },\n TOAST: {\n COPY_OK: 'Copied',\n DOWNLOAD_START: 'Downloading...',\n DOWNLOAD_OK: 'File saved',\n DOWNLOAD_ERROR: \"Couldn't download file.\",\n OPEN_CAMERA_ERROR: \"Couldn't open camera.\",\n OPEN_FILES_ERROR: \"Couldn't open files.\",\n OPEN_PHOTO_LIBRARY_ERROR: \"Couldn't open photo library.\",\n DELETE_MSG_ERROR: \"Couldn't delete message.\",\n RESEND_MSG_ERROR: \"Couldn't send message.\",\n SEND_MSG_ERROR: \"Couldn't send message.\",\n UPDATE_MSG_ERROR: \"Couldn't edit message.\",\n TURN_ON_NOTIFICATIONS_ERROR: \"Couldn't turn on notifications.\",\n TURN_OFF_NOTIFICATIONS_ERROR: \"Couldn't turn off notifications.\",\n LEAVE_CHANNEL_ERROR: \"Couldn't leave channel.\",\n ...overrides?.TOAST,\n },\n PROFILE_CARD: {\n BUTTON_MESSAGE: 'Message',\n BODY_LABEL: 'User ID',\n BODY: (user) => user.userId,\n ...overrides?.PROFILE_CARD,\n },\n };\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["createBaseStringSet","dateLocale","overrides","USER_NO_NAME","LABELS","CHANNEL_NO_MEMBERS","GROUP_CHANNEL","HEADER_TITLE","currentUserId","channel","getGroupChannelTitle","LIST_BANNER_FROZEN","LIST_DATE_SEPARATOR","date","locale","dateSeparator","LIST_BUTTON_NEW_MSG","newMessages","length","MESSAGE_BUBBLE_TIME","message","messageTime","Date","createdAt","MESSAGE_BUBBLE_FILE_TITLE","name","MESSAGE_BUBBLE_EDITED_POSTFIX","MESSAGE_BUBBLE_UNKNOWN_TITLE","MESSAGE_BUBBLE_UNKNOWN_DESC","INPUT_PLACEHOLDER_ACTIVE","INPUT_PLACEHOLDER_DISABLED","INPUT_EDIT_OK","INPUT_EDIT_CANCEL","DIALOG_MESSAGE_COPY","DIALOG_MESSAGE_EDIT","DIALOG_MESSAGE_SAVE","DIALOG_MESSAGE_DELETE","DIALOG_MESSAGE_DELETE_CONFIRM_TITLE","DIALOG_MESSAGE_DELETE_CONFIRM_OK","DIALOG_MESSAGE_DELETE_CONFIRM_CANCEL","DIALOG_MESSAGE_FAILED_RETRY","DIALOG_MESSAGE_FAILED_REMOVE","DIALOG_ATTACHMENT_CAMERA","DIALOG_ATTACHMENT_PHOTO_LIBRARY","DIALOG_ATTACHMENT_FILES","GROUP_CHANNEL_SETTINGS","HEADER_RIGHT","MENU_NOTIFICATION","MENU_MEMBERS","MENU_LEAVE_CHANNEL","DIALOG_CHANGE_NAME","DIALOG_CHANGE_NAME_PROMPT_TITLE","DIALOG_CHANGE_NAME_PROMPT_PLACEHOLDER","DIALOG_CHANGE_NAME_PROMPT_OK","DIALOG_CHANGE_NAME_PROMPT_CANCEL","DIALOG_CHANGE_IMAGE","DIALOG_CHANGE_IMAGE_MENU_TITLE","DIALOG_CHANGE_IMAGE_MENU_CAMERA","DIALOG_CHANGE_IMAGE_MENU_PHOTO_LIBRARY","GROUP_CHANNEL_LIST","CHANNEL_PREVIEW_TITLE","CHANNEL_PREVIEW_TITLE_CAPTION","getGroupChannelPreviewTime","CHANNEL_PREVIEW_BODY","getGroupChannelLastMessage","TYPE_SELECTOR_HEADER_TITLE","TYPE_SELECTOR_GROUP","TYPE_SELECTOR_SUPER_GROUP","TYPE_SELECTOR_BROADCAST","DIALOG_CHANNEL_TITLE","DIALOG_CHANNEL_NOTIFICATION","myPushTriggerOption","DIALOG_CHANNEL_LEAVE","GROUP_CHANNEL_MEMBERS","USER_BAR_ME_POSTFIX","USER_BAR_OPERATOR","DIALOG_USER_DISMISS_OPERATOR","DIALOG_USER_MUTE","DIALOG_USER_BAN","GROUP_CHANNEL_CREATE","selectedUsers","len","GROUP_CHANNEL_INVITE","TYPING_INDICATOR_TYPINGS","users","NO_NAME","userNames","map","u","nickname","join","FILE_VIEWER","TITLE","sender","SUBTITLE","PLACEHOLDER","NO_BANNED_MEMBERS","NO_USERS","NO_CHANNELS","NO_MESSAGES","NO_MUTED_MEMBERS","NO_RESULTS_FOUND","ERROR","MESSAGE","RETRY_LABEL","DIALOG","ALERT_DEFAULT_OK","ALERT_PERMISSIONS_TITLE","ALERT_PERMISSIONS_MESSAGE","permission","appName","ALERT_PERMISSIONS_OK","PROMPT_DEFAULT_OK","PROMPT_DEFAULT_CANCEL","PROMPT_DEFAULT_PLACEHOLDER","TOAST","COPY_OK","DOWNLOAD_START","DOWNLOAD_OK","DOWNLOAD_ERROR","OPEN_CAMERA_ERROR","OPEN_FILES_ERROR","OPEN_PHOTO_LIBRARY_ERROR","DELETE_MSG_ERROR","RESEND_MSG_ERROR","SEND_MSG_ERROR","UPDATE_MSG_ERROR","TURN_ON_NOTIFICATIONS_ERROR","TURN_OFF_NOTIFICATIONS_ERROR","LEAVE_CHANNEL_ERROR"],"sources":["StringSet.type.ts"],"sourcesContent":["import type { Locale } from 'date-fns';\n\nimport type {\n PartialDeep,\n SendbirdFileMessage,\n SendbirdGroupChannel,\n SendbirdMessage,\n SendbirdUser,\n} from '@sendbird/uikit-utils';\nimport {\n dateSeparator,\n getGroupChannelLastMessage,\n getGroupChannelPreviewTime,\n getGroupChannelTitle,\n messageTime,\n} from '@sendbird/uikit-utils';\n\n/**\n * StringSet interface\n * Do not configure over 3 depths (for overrides easy)\n * */\nexport interface StringSet {\n GROUP_CHANNEL: {\n /** GroupChannel > Header */\n HEADER_TITLE: (currentUserId: string, channel: SendbirdGroupChannel) => string;\n\n /** GroupChannel > List */\n LIST_BANNER_FROZEN: string;\n LIST_DATE_SEPARATOR: (date: Date, locale?: Locale) => string;\n LIST_BUTTON_NEW_MSG: (newMessages: SendbirdMessage[]) => string;\n\n /** GroupChannel > Message bubble */\n MESSAGE_BUBBLE_TIME: (message: SendbirdMessage, locale?: Locale) => string;\n MESSAGE_BUBBLE_FILE_TITLE: (message: SendbirdFileMessage) => string;\n MESSAGE_BUBBLE_EDITED_POSTFIX: string;\n MESSAGE_BUBBLE_UNKNOWN_TITLE: (message: SendbirdMessage) => string;\n MESSAGE_BUBBLE_UNKNOWN_DESC: (message: SendbirdMessage) => string;\n\n /** GroupChannel > Input */\n INPUT_PLACEHOLDER_ACTIVE: string;\n INPUT_PLACEHOLDER_DISABLED: string;\n INPUT_EDIT_OK: string;\n INPUT_EDIT_CANCEL: string;\n\n /** GroupChannel > Dialog > Message */\n DIALOG_MESSAGE_COPY: string;\n DIALOG_MESSAGE_EDIT: string;\n DIALOG_MESSAGE_SAVE: string;\n DIALOG_MESSAGE_DELETE: string;\n /** GroupChannel > Dialog > Message > Delete confirm */\n DIALOG_MESSAGE_DELETE_CONFIRM_TITLE: string;\n DIALOG_MESSAGE_DELETE_CONFIRM_OK: string;\n DIALOG_MESSAGE_DELETE_CONFIRM_CANCEL: string;\n /** GroupChannel > Dialog > Message > Failed */\n DIALOG_MESSAGE_FAILED_RETRY: string;\n DIALOG_MESSAGE_FAILED_REMOVE: string;\n\n /** GroupChannel > Dialog > Attachments */\n DIALOG_ATTACHMENT_CAMERA: string;\n DIALOG_ATTACHMENT_PHOTO_LIBRARY: string;\n DIALOG_ATTACHMENT_FILES: string;\n };\n GROUP_CHANNEL_SETTINGS: {\n /** GroupChannelSettings > Header */\n HEADER_TITLE: string;\n HEADER_RIGHT: string;\n\n /** GroupChannelSettings > Menu */\n MENU_NOTIFICATION: string;\n MENU_MEMBERS: string;\n MENU_LEAVE_CHANNEL: string;\n\n /** GroupChannelSettings > Dialog */\n DIALOG_CHANGE_NAME: string;\n DIALOG_CHANGE_IMAGE: string;\n DIALOG_CHANGE_NAME_PROMPT_TITLE: string;\n DIALOG_CHANGE_NAME_PROMPT_PLACEHOLDER: string;\n DIALOG_CHANGE_NAME_PROMPT_CANCEL: string;\n DIALOG_CHANGE_NAME_PROMPT_OK: string;\n DIALOG_CHANGE_IMAGE_MENU_TITLE: string;\n DIALOG_CHANGE_IMAGE_MENU_CAMERA: string;\n DIALOG_CHANGE_IMAGE_MENU_PHOTO_LIBRARY: string;\n };\n GROUP_CHANNEL_LIST: {\n /** GroupChannelList > Header */\n HEADER_TITLE: string;\n\n /** GroupChannelList > Channel preview */\n CHANNEL_PREVIEW_TITLE: (currentUserId: string, channel: SendbirdGroupChannel) => string;\n CHANNEL_PREVIEW_TITLE_CAPTION: (channel: SendbirdGroupChannel, locale?: Locale) => string;\n CHANNEL_PREVIEW_BODY: (channel: SendbirdGroupChannel) => string;\n\n /** GroupChannelList > TypeSelector > Header */\n TYPE_SELECTOR_HEADER_TITLE: string;\n /** GroupChannelList > TypeSelector > Type string */\n TYPE_SELECTOR_GROUP: string;\n TYPE_SELECTOR_SUPER_GROUP: string;\n TYPE_SELECTOR_BROADCAST: string;\n\n /** GroupChannelList > Dialog > Channel */\n DIALOG_CHANNEL_TITLE: (currentUserId: string, channel: SendbirdGroupChannel) => string;\n DIALOG_CHANNEL_NOTIFICATION: (channel?: SendbirdGroupChannel) => string;\n DIALOG_CHANNEL_LEAVE: string;\n };\n GROUP_CHANNEL_MEMBERS: {\n /** GroupChannelMembers > Header */\n HEADER_TITLE: string;\n\n /** GroupChannelMembers > UserBar */\n USER_BAR_ME_POSTFIX: string;\n USER_BAR_OPERATOR: string;\n\n /** GroupChannelMembers > Dialog */\n DIALOG_USER_DISMISS_OPERATOR: string;\n DIALOG_USER_MUTE: string;\n DIALOG_USER_BAN: string;\n };\n GROUP_CHANNEL_INVITE: {\n /** GroupChannelInvite > Header */\n HEADER_TITLE: string;\n HEADER_RIGHT: <T>(params: { selectedUsers: Array<T> }) => string;\n };\n GROUP_CHANNEL_CREATE: {\n /** GroupChannelCreate > Header */\n HEADER_TITLE: string;\n HEADER_RIGHT: <T>(params: { selectedUsers: Array<T> }) => string;\n };\n // UI\n LABELS: {\n USER_NO_NAME: string;\n CHANNEL_NO_MEMBERS: string;\n TYPING_INDICATOR_TYPINGS: (users: SendbirdUser[]) => string | undefined;\n };\n FILE_VIEWER: {\n TITLE: (message: SendbirdFileMessage) => string;\n SUBTITLE: (message: SendbirdFileMessage) => string;\n };\n PLACEHOLDER: {\n NO_BANNED_MEMBERS: string;\n NO_USERS: string;\n NO_CHANNELS: string;\n NO_MESSAGES: string;\n NO_MUTED_MEMBERS: string;\n NO_RESULTS_FOUND: string;\n ERROR: {\n MESSAGE: string;\n RETRY_LABEL: string;\n };\n };\n DIALOG: {\n ALERT_DEFAULT_OK: string;\n\n ALERT_PERMISSIONS_TITLE: string;\n ALERT_PERMISSIONS_MESSAGE: (permission: string, appName: string) => string;\n ALERT_PERMISSIONS_OK: string;\n\n PROMPT_DEFAULT_OK: string;\n PROMPT_DEFAULT_CANCEL: string;\n PROMPT_DEFAULT_PLACEHOLDER: string;\n };\n TOAST: {\n COPY_OK: string;\n DOWNLOAD_START: string;\n DOWNLOAD_OK: string;\n DOWNLOAD_ERROR: string;\n OPEN_CAMERA_ERROR: string;\n OPEN_PHOTO_LIBRARY_ERROR: string;\n OPEN_FILES_ERROR: string;\n RESEND_MSG_ERROR: string;\n DELETE_MSG_ERROR: string;\n SEND_MSG_ERROR: string;\n UPDATE_MSG_ERROR: string;\n TURN_ON_NOTIFICATIONS_ERROR: string;\n TURN_OFF_NOTIFICATIONS_ERROR: string;\n LEAVE_CHANNEL_ERROR: string;\n };\n}\n\ntype StringSetCreateOptions = {\n dateLocale: Locale;\n overrides?: PartialDeep<StringSet>;\n};\n\n/**\n * Create string set\n * You can create localized String set, you should provide locale for date and string as a parameters\n *\n * @param {StringSetCreateOptions.dateLocale} dateLocale Date locale (from date-fns)\n * @param {StringSetCreateOptions.overrides} [overrides] Localized strings\n * */\nexport const createBaseStringSet = ({ dateLocale, overrides }: StringSetCreateOptions): StringSet => {\n const USER_NO_NAME = overrides?.LABELS?.USER_NO_NAME ?? '(No name)';\n const CHANNEL_NO_MEMBERS = overrides?.LABELS?.CHANNEL_NO_MEMBERS ?? '(No members)';\n return {\n GROUP_CHANNEL: {\n HEADER_TITLE: (currentUserId, channel) =>\n getGroupChannelTitle(currentUserId, channel, USER_NO_NAME, CHANNEL_NO_MEMBERS),\n LIST_BANNER_FROZEN: 'Channel is frozen',\n LIST_DATE_SEPARATOR: (date, locale) => dateSeparator(date, locale ?? dateLocale),\n LIST_BUTTON_NEW_MSG: (newMessages) => `${newMessages.length} new messages`,\n\n MESSAGE_BUBBLE_TIME: (message, locale) => messageTime(new Date(message.createdAt), locale ?? dateLocale),\n MESSAGE_BUBBLE_FILE_TITLE: (message) => message.name,\n MESSAGE_BUBBLE_EDITED_POSTFIX: ' (edited)',\n MESSAGE_BUBBLE_UNKNOWN_TITLE: () => '(Unknown message type)',\n MESSAGE_BUBBLE_UNKNOWN_DESC: () => 'Cannot read this message.',\n\n INPUT_PLACEHOLDER_ACTIVE: 'Enter message',\n INPUT_PLACEHOLDER_DISABLED: 'Chat is unavailable in this channel',\n INPUT_EDIT_OK: 'Save',\n INPUT_EDIT_CANCEL: 'Cancel',\n\n DIALOG_MESSAGE_COPY: 'Copy',\n DIALOG_MESSAGE_EDIT: 'Edit',\n DIALOG_MESSAGE_SAVE: 'Save',\n DIALOG_MESSAGE_DELETE: 'Delete',\n DIALOG_MESSAGE_DELETE_CONFIRM_TITLE: 'Delete message?',\n DIALOG_MESSAGE_DELETE_CONFIRM_OK: 'Delete',\n DIALOG_MESSAGE_DELETE_CONFIRM_CANCEL: 'Cancel',\n DIALOG_MESSAGE_FAILED_RETRY: 'Retry',\n DIALOG_MESSAGE_FAILED_REMOVE: 'Remove',\n\n DIALOG_ATTACHMENT_CAMERA: 'Camera',\n DIALOG_ATTACHMENT_PHOTO_LIBRARY: 'Photo library',\n DIALOG_ATTACHMENT_FILES: 'Files',\n ...overrides?.GROUP_CHANNEL,\n },\n GROUP_CHANNEL_SETTINGS: {\n HEADER_TITLE: 'Channel information',\n HEADER_RIGHT: 'Edit',\n MENU_NOTIFICATION: 'Notifications',\n MENU_MEMBERS: 'Members',\n MENU_LEAVE_CHANNEL: 'Leave channel',\n DIALOG_CHANGE_NAME: 'Change channel name',\n DIALOG_CHANGE_NAME_PROMPT_TITLE: 'Change channel name',\n DIALOG_CHANGE_NAME_PROMPT_PLACEHOLDER: 'Enter name',\n DIALOG_CHANGE_NAME_PROMPT_OK: 'Save',\n DIALOG_CHANGE_NAME_PROMPT_CANCEL: 'Cancel',\n DIALOG_CHANGE_IMAGE: 'Change channel image',\n DIALOG_CHANGE_IMAGE_MENU_TITLE: 'Change channel image',\n DIALOG_CHANGE_IMAGE_MENU_CAMERA: 'Take photo',\n DIALOG_CHANGE_IMAGE_MENU_PHOTO_LIBRARY: 'Choose photo',\n ...overrides?.GROUP_CHANNEL_SETTINGS,\n },\n GROUP_CHANNEL_LIST: {\n HEADER_TITLE: 'Channels',\n CHANNEL_PREVIEW_TITLE: (currentUserId, channel) =>\n getGroupChannelTitle(currentUserId, channel, USER_NO_NAME, CHANNEL_NO_MEMBERS),\n CHANNEL_PREVIEW_TITLE_CAPTION: (channel, locale) => getGroupChannelPreviewTime(channel, locale ?? dateLocale),\n CHANNEL_PREVIEW_BODY: (channel) => getGroupChannelLastMessage(channel),\n TYPE_SELECTOR_HEADER_TITLE: 'Channel type',\n TYPE_SELECTOR_GROUP: 'Group',\n TYPE_SELECTOR_SUPER_GROUP: 'Super group',\n TYPE_SELECTOR_BROADCAST: 'Broadcast',\n DIALOG_CHANNEL_TITLE: (currentUserId, channel) =>\n getGroupChannelTitle(currentUserId, channel, USER_NO_NAME, CHANNEL_NO_MEMBERS),\n DIALOG_CHANNEL_NOTIFICATION: (channel) => {\n if (!channel) return '';\n if (channel.myPushTriggerOption === 'off') return 'Turn on notifications';\n return 'Turn off notifications';\n },\n DIALOG_CHANNEL_LEAVE: 'Leave channel',\n ...overrides?.GROUP_CHANNEL_LIST,\n },\n GROUP_CHANNEL_MEMBERS: {\n HEADER_TITLE: 'Members',\n USER_BAR_ME_POSTFIX: ' (You)',\n USER_BAR_OPERATOR: 'Operator',\n DIALOG_USER_DISMISS_OPERATOR: 'Dismiss operator',\n DIALOG_USER_MUTE: 'Mute',\n DIALOG_USER_BAN: 'Ban',\n ...overrides?.GROUP_CHANNEL_MEMBERS,\n },\n GROUP_CHANNEL_CREATE: {\n HEADER_TITLE: 'New channel',\n HEADER_RIGHT: ({ selectedUsers }) => {\n const len = selectedUsers.length;\n if (len === 0) return 'Create';\n return `Create (${len})`;\n },\n ...overrides?.GROUP_CHANNEL_CREATE,\n },\n GROUP_CHANNEL_INVITE: {\n HEADER_TITLE: 'Invite users',\n HEADER_RIGHT: ({ selectedUsers }) => {\n const len = selectedUsers.length;\n if (len === 0) return 'Invite';\n return `Invite (${len})`;\n },\n ...overrides?.GROUP_CHANNEL_INVITE,\n },\n LABELS: {\n USER_NO_NAME,\n CHANNEL_NO_MEMBERS,\n TYPING_INDICATOR_TYPINGS: (users, NO_NAME = USER_NO_NAME) => {\n const userNames = users.map((u) => u.nickname || NO_NAME);\n if (userNames.length === 0) return;\n if (userNames.length === 1) return `${userNames[0]} is typing...`;\n if (users.length === 2) return `${userNames.join(' and ')} are typing...`;\n return 'Several people are typing...';\n },\n ...overrides?.LABELS,\n },\n FILE_VIEWER: {\n TITLE: (message) => message.sender?.nickname || USER_NO_NAME,\n SUBTITLE: (message) => messageTime(new Date(message.createdAt), dateLocale),\n },\n PLACEHOLDER: {\n NO_BANNED_MEMBERS: 'No banned members',\n NO_USERS: 'No users',\n NO_CHANNELS: 'No channels',\n NO_MESSAGES: 'No messages',\n NO_MUTED_MEMBERS: 'No muted members',\n NO_RESULTS_FOUND: 'No results found',\n ...overrides?.PLACEHOLDER,\n ERROR: {\n MESSAGE: 'Something went wrong',\n RETRY_LABEL: 'Retry',\n ...overrides?.PLACEHOLDER?.ERROR,\n },\n },\n DIALOG: {\n ALERT_DEFAULT_OK: 'OK',\n ALERT_PERMISSIONS_TITLE: 'Allow permission',\n ALERT_PERMISSIONS_MESSAGE: (permission, appName = 'Application') => {\n return `${appName} need permission to access your ${permission}. Go to Settings to allow access`;\n },\n ALERT_PERMISSIONS_OK: 'SETTINGS',\n PROMPT_DEFAULT_OK: 'Submit',\n PROMPT_DEFAULT_CANCEL: 'Cancel',\n PROMPT_DEFAULT_PLACEHOLDER: 'Enter',\n ...overrides?.DIALOG,\n },\n TOAST: {\n COPY_OK: 'Copied',\n DOWNLOAD_START: 'Downloading...',\n DOWNLOAD_OK: 'File saved',\n DOWNLOAD_ERROR: \"Couldn't download file.\",\n OPEN_CAMERA_ERROR: \"Couldn't open camera.\",\n OPEN_FILES_ERROR: \"Couldn't open files.\",\n OPEN_PHOTO_LIBRARY_ERROR: \"Couldn't open photo library.\",\n DELETE_MSG_ERROR: \"Couldn't delete message.\",\n RESEND_MSG_ERROR: \"Couldn't send message.\",\n SEND_MSG_ERROR: \"Couldn't send message.\",\n UPDATE_MSG_ERROR: \"Couldn't edit message.\",\n TURN_ON_NOTIFICATIONS_ERROR: \"Couldn't turn on notifications.\",\n TURN_OFF_NOTIFICATIONS_ERROR: \"Couldn't turn off notifications.\",\n LEAVE_CHANNEL_ERROR: \"Couldn't leave channel.\",\n ...overrides?.TOAST,\n },\n };\n};\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"names":["getAndroidStoragePermissionsByAPILevel","permissionModule","Platform","OS","Version","PERMISSIONS","ANDROID","READ_MEDIA_AUDIO","READ_MEDIA_IMAGES","READ_MEDIA_VIDEO","READ_EXTERNAL_STORAGE","WRITE_EXTERNAL_STORAGE","createNativeFileService","imagePickerModule","documentPickerModule","mediaLibraryModule","fsModule","cameraPermissions","select","ios","IOS","CAMERA","MICROPHONE","android","default","mediaLibraryPermissions","MEDIA_LIBRARY","PHOTO_LIBRARY","NativeFileService","hasCameraPermission","status","checkMultiple","nativePermissionGranted","requestCameraPermission","requestMultiple","hasMediaLibraryPermission","requestMediaLibraryPermission","openCamera","options","hasPermission","granted","onOpenFailure","SBUError","PERMISSIONS_DENIED","response","launchCamera","presentationStyle","cameraType","mediaType","didCancel","errorCode","DEVICE_UNAVAILABLE","Error","errorMessage","fileName","name","fileSize","size","type","uri","assets","fileTypeGuard","openMediaLibrary","selectionLimit","launchImageLibrary","slice","map","openDocument","pickSingle","e","isCancel","isInProgress","UNKNOWN","save","basePath","Dirs","CacheDir","DocumentDir","downloadPath","getFileExtension","extensionFromUrl","fileUrl","getFileType","match","FileSystem","fetch","path","fileType","dirType","cpExternal","normalizeFileName"],"sources":["createFileService.native.ts"],"sourcesContent":["import type { CameraRoll } from '@react-native-camera-roll/camera-roll';\nimport { Platform } from 'react-native';\nimport type * as DocumentPicker from 'react-native-document-picker';\nimport type * as FileAccess from 'react-native-file-access';\nimport type * as ImagePicker from 'react-native-image-picker';\nimport type * as Permissions from 'react-native-permissions';\nimport type { Permission } from 'react-native-permissions';\n\nimport { getFileExtension, getFileType, normalizeFileName } from '@sendbird/uikit-utils';\n\nimport SBUError from '../libs/SBUError';\nimport fileTypeGuard from '../utils/fileTypeGuard';\nimport nativePermissionGranted from '../utils/nativePermissionGranted';\nimport type {\n FilePickerResponse,\n FileServiceInterface,\n OpenCameraOptions,\n OpenDocumentOptions,\n OpenMediaLibraryOptions,\n SaveOptions,\n} from './types';\n\nfunction getAndroidStoragePermissionsByAPILevel(permissionModule: typeof Permissions): Permission[] {\n if (Platform.OS !== 'android') return [];\n\n if (Platform.Version > 32) {\n return [\n permissionModule.PERMISSIONS.ANDROID.READ_MEDIA_AUDIO,\n permissionModule.PERMISSIONS.ANDROID.READ_MEDIA_IMAGES,\n permissionModule.PERMISSIONS.ANDROID.READ_MEDIA_VIDEO,\n ];\n }\n\n if (Platform.Version > 28) {\n return [permissionModule.PERMISSIONS.ANDROID.READ_EXTERNAL_STORAGE];\n }\n\n return [\n permissionModule.PERMISSIONS.ANDROID.WRITE_EXTERNAL_STORAGE,\n permissionModule.PERMISSIONS.ANDROID.READ_EXTERNAL_STORAGE,\n ];\n}\n\nconst createNativeFileService = ({\n imagePickerModule,\n documentPickerModule,\n permissionModule,\n mediaLibraryModule,\n fsModule,\n}: {\n imagePickerModule: typeof ImagePicker;\n documentPickerModule: typeof DocumentPicker;\n permissionModule: typeof Permissions;\n mediaLibraryModule: typeof CameraRoll;\n fsModule: typeof FileAccess;\n}): FileServiceInterface => {\n const cameraPermissions: Permission[] = Platform.select({\n ios: [permissionModule.PERMISSIONS.IOS.CAMERA, permissionModule.PERMISSIONS.IOS.MICROPHONE],\n android: [permissionModule.PERMISSIONS.ANDROID.CAMERA],\n default: [],\n });\n const mediaLibraryPermissions: Permission[] = Platform.select({\n ios: [permissionModule.PERMISSIONS.IOS.MEDIA_LIBRARY, permissionModule.PERMISSIONS.IOS.PHOTO_LIBRARY],\n android: getAndroidStoragePermissionsByAPILevel(permissionModule),\n default: [],\n });\n\n class NativeFileService implements FileServiceInterface {\n async hasCameraPermission(): Promise<boolean> {\n const status = await permissionModule.checkMultiple(cameraPermissions);\n return nativePermissionGranted(status);\n }\n async requestCameraPermission(): Promise<boolean> {\n const status = await permissionModule.requestMultiple(cameraPermissions);\n return nativePermissionGranted(status);\n }\n async hasMediaLibraryPermission(): Promise<boolean> {\n const status = await permissionModule.checkMultiple(mediaLibraryPermissions);\n return nativePermissionGranted(status);\n }\n async requestMediaLibraryPermission(): Promise<boolean> {\n const status = await permissionModule.requestMultiple(mediaLibraryPermissions);\n return nativePermissionGranted(status);\n }\n\n async openCamera(options?: OpenCameraOptions): Promise<FilePickerResponse> {\n const hasPermission = await this.hasCameraPermission();\n if (!hasPermission) {\n const granted = await this.requestCameraPermission();\n if (!granted) {\n options?.onOpenFailure?.(SBUError.PERMISSIONS_DENIED);\n return null;\n }\n }\n\n const response = await imagePickerModule.launchCamera({\n presentationStyle: 'fullScreen',\n cameraType: options?.cameraType ?? 'back',\n mediaType: (() => {\n switch (options?.mediaType) {\n case 'photo':\n return 'photo';\n case 'video':\n return 'video';\n case 'all':\n return 'mixed';\n default:\n return 'photo';\n }\n })(),\n });\n if (response.didCancel) return null;\n if (response.errorCode === 'camera_unavailable') {\n options?.onOpenFailure?.(SBUError.DEVICE_UNAVAILABLE, new Error(response.errorMessage));\n return null;\n }\n\n const { fileName: name, fileSize: size, type, uri } = response.assets?.[0] ?? {};\n return fileTypeGuard({ uri, size, name, type });\n }\n async openMediaLibrary(options?: OpenMediaLibraryOptions): Promise<FilePickerResponse[] | null> {\n /**\n * NOTE: options.selectionLimit {@link https://github.com/react-native-image-picker/react-native-image-picker#options}\n * We do not support 0 (any number of files)\n **/\n const selectionLimit = options?.selectionLimit || 1;\n const hasPermission = await this.hasMediaLibraryPermission();\n if (!hasPermission) {\n const granted = await this.requestMediaLibraryPermission();\n if (!granted) {\n options?.onOpenFailure?.(SBUError.PERMISSIONS_DENIED);\n return null;\n }\n }\n\n const response = await imagePickerModule.launchImageLibrary({\n presentationStyle: 'fullScreen',\n selectionLimit,\n mediaType: (() => {\n switch (options?.mediaType) {\n case 'photo':\n return 'photo';\n case 'video':\n return 'video';\n case 'all':\n return 'mixed';\n default:\n return 'photo';\n }\n })(),\n });\n if (response.didCancel) return null;\n if (response.errorCode === 'camera_unavailable') {\n options?.onOpenFailure?.(SBUError.DEVICE_UNAVAILABLE, new Error(response.errorMessage));\n return null;\n }\n\n return (response.assets || [])\n .slice(0, selectionLimit)\n .map(({ fileName: name, fileSize: size, type, uri }) => fileTypeGuard({ uri, size, name, type }));\n }\n async openDocument(options?: OpenDocumentOptions): Promise<FilePickerResponse> {\n try {\n const { uri, size, name, type } = await documentPickerModule.pickSingle();\n return fileTypeGuard({ uri, size, name, type });\n } catch (e) {\n if (!documentPickerModule.isCancel(e) && documentPickerModule.isInProgress(e)) {\n options?.onOpenFailure?.(SBUError.UNKNOWN, e);\n }\n return null;\n }\n }\n async save(options: SaveOptions): Promise<string> {\n const hasPermission = await this.hasMediaLibraryPermission();\n if (!hasPermission) {\n const granted = await this.requestMediaLibraryPermission();\n if (!granted) throw new Error('Permission not granted');\n }\n\n const basePath = Platform.select({ android: fsModule.Dirs.CacheDir, default: fsModule.Dirs.DocumentDir });\n let downloadPath = `${basePath}/${options.fileName}`;\n if (!getFileExtension(options.fileName)) {\n const extensionFromUrl = getFileExtension(options.fileUrl);\n if (getFileType(extensionFromUrl).match(/image|video/)) {\n downloadPath += extensionFromUrl;\n }\n }\n\n await fsModule.FileSystem.fetch(options.fileUrl, { path: downloadPath });\n const fileType = getFileType(getFileExtension(options.fileUrl));\n\n if (Platform.OS === 'ios' && (fileType === 'image' || fileType === 'video')) {\n const type = ({ 'image': 'photo', 'video': 'video' } as const)[fileType];\n await mediaLibraryModule.save(downloadPath, { type });\n }\n\n if (Platform.OS === 'android') {\n const dirType = { 'file': 'downloads', 'audio': 'audio', 'image': 'images', 'video': 'video' } as const;\n await fsModule.FileSystem.cpExternal(\n downloadPath,\n normalizeFileName(options.fileName, getFileExtension(options.fileUrl)),\n dirType[fileType],\n );\n }\n return downloadPath;\n }\n }\n\n return new NativeFileService();\n};\n\nexport default createNativeFileService;\n"],"mappings":"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"}
1
+ {"version":3,"names":["getAndroidStoragePermissionsByAPILevel","permissionModule","Platform","OS","Version","PERMISSIONS","ANDROID","READ_MEDIA_AUDIO","READ_MEDIA_IMAGES","READ_MEDIA_VIDEO","READ_EXTERNAL_STORAGE","WRITE_EXTERNAL_STORAGE","createNativeFileService","imagePickerModule","documentPickerModule","mediaLibraryModule","fsModule","cameraPermissions","select","ios","IOS","CAMERA","MICROPHONE","android","default","mediaLibraryPermissions","MEDIA_LIBRARY","PHOTO_LIBRARY","NativeFileService","hasCameraPermission","status","checkMultiple","nativePermissionGranted","requestCameraPermission","requestMultiple","hasMediaLibraryPermission","requestMediaLibraryPermission","openCamera","options","hasPermission","granted","onOpenFailure","SBUError","PERMISSIONS_DENIED","response","launchCamera","presentationStyle","cameraType","mediaType","didCancel","errorCode","DEVICE_UNAVAILABLE","Error","errorMessage","fileName","name","fileSize","size","type","uri","assets","fileTypeGuard","openMediaLibrary","selectionLimit","launchImageLibrary","slice","map","openDocument","pickSingle","e","isCancel","isInProgress","UNKNOWN","save","basePath","Dirs","CacheDir","DocumentDir","downloadPath","getFileExtension","extensionFromUrl","fileUrl","getFileType","match","FileSystem","fetch","path","fileType","dirType","cpExternal","normalizeFileName"],"sources":["createFileService.native.ts"],"sourcesContent":["import type CameraRoll from '@react-native-community/cameraroll';\nimport { Platform } from 'react-native';\nimport type * as DocumentPicker from 'react-native-document-picker';\nimport type * as FileAccess from 'react-native-file-access';\nimport type * as ImagePicker from 'react-native-image-picker';\nimport type * as Permissions from 'react-native-permissions';\nimport type { Permission } from 'react-native-permissions';\n\nimport { getFileExtension, getFileType, normalizeFileName } from '@sendbird/uikit-utils';\n\nimport SBUError from '../libs/SBUError';\nimport fileTypeGuard from '../utils/fileTypeGuard';\nimport nativePermissionGranted from '../utils/nativePermissionGranted';\nimport type {\n FilePickerResponse,\n FileServiceInterface,\n OpenCameraOptions,\n OpenDocumentOptions,\n OpenMediaLibraryOptions,\n SaveOptions,\n} from './types';\n\nfunction getAndroidStoragePermissionsByAPILevel(permissionModule: typeof Permissions): Permission[] {\n if (Platform.OS !== 'android') return [];\n\n if (Platform.Version > 32) {\n return [\n permissionModule.PERMISSIONS.ANDROID.READ_MEDIA_AUDIO,\n permissionModule.PERMISSIONS.ANDROID.READ_MEDIA_IMAGES,\n permissionModule.PERMISSIONS.ANDROID.READ_MEDIA_VIDEO,\n ];\n }\n\n if (Platform.Version > 28) {\n return [permissionModule.PERMISSIONS.ANDROID.READ_EXTERNAL_STORAGE];\n }\n\n return [\n permissionModule.PERMISSIONS.ANDROID.WRITE_EXTERNAL_STORAGE,\n permissionModule.PERMISSIONS.ANDROID.READ_EXTERNAL_STORAGE,\n ];\n}\n\nconst createNativeFileService = ({\n imagePickerModule,\n documentPickerModule,\n permissionModule,\n mediaLibraryModule,\n fsModule,\n}: {\n imagePickerModule: typeof ImagePicker;\n documentPickerModule: typeof DocumentPicker;\n permissionModule: typeof Permissions;\n mediaLibraryModule: typeof CameraRoll;\n fsModule: typeof FileAccess;\n}): FileServiceInterface => {\n const cameraPermissions: Permission[] = Platform.select({\n ios: [permissionModule.PERMISSIONS.IOS.CAMERA, permissionModule.PERMISSIONS.IOS.MICROPHONE],\n android: [permissionModule.PERMISSIONS.ANDROID.CAMERA],\n default: [],\n });\n const mediaLibraryPermissions: Permission[] = Platform.select({\n ios: [permissionModule.PERMISSIONS.IOS.MEDIA_LIBRARY, permissionModule.PERMISSIONS.IOS.PHOTO_LIBRARY],\n android: getAndroidStoragePermissionsByAPILevel(permissionModule),\n default: [],\n });\n\n class NativeFileService implements FileServiceInterface {\n async hasCameraPermission(): Promise<boolean> {\n const status = await permissionModule.checkMultiple(cameraPermissions);\n return nativePermissionGranted(status);\n }\n async requestCameraPermission(): Promise<boolean> {\n const status = await permissionModule.requestMultiple(cameraPermissions);\n return nativePermissionGranted(status);\n }\n async hasMediaLibraryPermission(): Promise<boolean> {\n const status = await permissionModule.checkMultiple(mediaLibraryPermissions);\n return nativePermissionGranted(status);\n }\n async requestMediaLibraryPermission(): Promise<boolean> {\n const status = await permissionModule.requestMultiple(mediaLibraryPermissions);\n return nativePermissionGranted(status);\n }\n\n async openCamera(options?: OpenCameraOptions): Promise<FilePickerResponse> {\n const hasPermission = await this.hasCameraPermission();\n if (!hasPermission) {\n const granted = await this.requestCameraPermission();\n if (!granted) {\n options?.onOpenFailure?.(SBUError.PERMISSIONS_DENIED);\n return null;\n }\n }\n\n const response = await imagePickerModule.launchCamera({\n presentationStyle: 'fullScreen',\n cameraType: options?.cameraType ?? 'back',\n mediaType: (() => {\n switch (options?.mediaType) {\n case 'photo':\n return 'photo';\n case 'video':\n return 'video';\n case 'all':\n return 'mixed';\n default:\n return 'photo';\n }\n })(),\n });\n if (response.didCancel) return null;\n if (response.errorCode === 'camera_unavailable') {\n options?.onOpenFailure?.(SBUError.DEVICE_UNAVAILABLE, new Error(response.errorMessage));\n return null;\n }\n\n const { fileName: name, fileSize: size, type, uri } = response.assets?.[0] ?? {};\n return fileTypeGuard({ uri, size, name, type });\n }\n async openMediaLibrary(options?: OpenMediaLibraryOptions): Promise<FilePickerResponse[] | null> {\n /**\n * NOTE: options.selectionLimit {@link https://github.com/react-native-image-picker/react-native-image-picker#options}\n * We do not support 0 (any number of files)\n **/\n const selectionLimit = options?.selectionLimit || 1;\n const hasPermission = await this.hasMediaLibraryPermission();\n if (!hasPermission) {\n const granted = await this.requestMediaLibraryPermission();\n if (!granted) {\n options?.onOpenFailure?.(SBUError.PERMISSIONS_DENIED);\n return null;\n }\n }\n\n const response = await imagePickerModule.launchImageLibrary({\n presentationStyle: 'fullScreen',\n selectionLimit,\n mediaType: (() => {\n switch (options?.mediaType) {\n case 'photo':\n return 'photo';\n case 'video':\n return 'video';\n case 'all':\n return 'mixed';\n default:\n return 'photo';\n }\n })(),\n });\n if (response.didCancel) return null;\n if (response.errorCode === 'camera_unavailable') {\n options?.onOpenFailure?.(SBUError.DEVICE_UNAVAILABLE, new Error(response.errorMessage));\n return null;\n }\n\n return (response.assets || [])\n .slice(0, selectionLimit)\n .map(({ fileName: name, fileSize: size, type, uri }) => fileTypeGuard({ uri, size, name, type }));\n }\n async openDocument(options?: OpenDocumentOptions): Promise<FilePickerResponse> {\n try {\n const { uri, size, name, type } = await documentPickerModule.pickSingle();\n return fileTypeGuard({ uri, size, name, type });\n } catch (e) {\n if (!documentPickerModule.isCancel(e) && documentPickerModule.isInProgress(e)) {\n options?.onOpenFailure?.(SBUError.UNKNOWN, e);\n }\n return null;\n }\n }\n async save(options: SaveOptions): Promise<string> {\n const hasPermission = await this.hasMediaLibraryPermission();\n if (!hasPermission) {\n const granted = await this.requestMediaLibraryPermission();\n if (!granted) throw new Error('Permission not granted');\n }\n\n const basePath = Platform.select({ android: fsModule.Dirs.CacheDir, default: fsModule.Dirs.DocumentDir });\n let downloadPath = `${basePath}/${options.fileName}`;\n if (!getFileExtension(options.fileName)) {\n const extensionFromUrl = getFileExtension(options.fileUrl);\n if (getFileType(extensionFromUrl).match(/image|video/)) {\n downloadPath += extensionFromUrl;\n }\n }\n\n await fsModule.FileSystem.fetch(options.fileUrl, { path: downloadPath });\n const fileType = getFileType(getFileExtension(options.fileUrl));\n\n if (Platform.OS === 'ios' && (fileType === 'image' || fileType === 'video')) {\n const type = ({ 'image': 'photo', 'video': 'video' } as const)[fileType];\n await mediaLibraryModule.save(downloadPath, { type });\n }\n\n if (Platform.OS === 'android') {\n const dirType = { 'file': 'downloads', 'audio': 'audio', 'image': 'images', 'video': 'video' } as const;\n await fsModule.FileSystem.cpExternal(\n downloadPath,\n normalizeFileName(options.fileName, getFileExtension(options.fileUrl)),\n dirType[fileType],\n );\n }\n return downloadPath;\n }\n }\n\n return new NativeFileService();\n};\n\nexport default createNativeFileService;\n"],"mappings":";;;;;;;AACA;;AAOA;;AAEA;;AACA;;AACA;;;;AAUA,SAASA,sCAAT,CAAgDC,gBAAhD,EAAoG;EAClG,IAAIC,qBAAA,CAASC,EAAT,KAAgB,SAApB,EAA+B,OAAO,EAAP;;EAE/B,IAAID,qBAAA,CAASE,OAAT,GAAmB,EAAvB,EAA2B;IACzB,OAAO,CACLH,gBAAgB,CAACI,WAAjB,CAA6BC,OAA7B,CAAqCC,gBADhC,EAELN,gBAAgB,CAACI,WAAjB,CAA6BC,OAA7B,CAAqCE,iBAFhC,EAGLP,gBAAgB,CAACI,WAAjB,CAA6BC,OAA7B,CAAqCG,gBAHhC,CAAP;EAKD;;EAED,IAAIP,qBAAA,CAASE,OAAT,GAAmB,EAAvB,EAA2B;IACzB,OAAO,CAACH,gBAAgB,CAACI,WAAjB,CAA6BC,OAA7B,CAAqCI,qBAAtC,CAAP;EACD;;EAED,OAAO,CACLT,gBAAgB,CAACI,WAAjB,CAA6BC,OAA7B,CAAqCK,sBADhC,EAELV,gBAAgB,CAACI,WAAjB,CAA6BC,OAA7B,CAAqCI,qBAFhC,CAAP;AAID;;AAED,MAAME,uBAAuB,GAAG,QAYJ;EAAA,IAZK;IAC/BC,iBAD+B;IAE/BC,oBAF+B;IAG/Bb,gBAH+B;IAI/Bc,kBAJ+B;IAK/BC;EAL+B,CAYL;;EAC1B,MAAMC,iBAA+B,GAAGf,qBAAA,CAASgB,MAAT,CAAgB;IACtDC,GAAG,EAAE,CAAClB,gBAAgB,CAACI,WAAjB,CAA6Be,GAA7B,CAAiCC,MAAlC,EAA0CpB,gBAAgB,CAACI,WAAjB,CAA6Be,GAA7B,CAAiCE,UAA3E,CADiD;IAEtDC,OAAO,EAAE,CAACtB,gBAAgB,CAACI,WAAjB,CAA6BC,OAA7B,CAAqCe,MAAtC,CAF6C;IAGtDG,OAAO,EAAE;EAH6C,CAAhB,CAAxC;;EAKA,MAAMC,uBAAqC,GAAGvB,qBAAA,CAASgB,MAAT,CAAgB;IAC5DC,GAAG,EAAE,CAAClB,gBAAgB,CAACI,WAAjB,CAA6Be,GAA7B,CAAiCM,aAAlC,EAAiDzB,gBAAgB,CAACI,WAAjB,CAA6Be,GAA7B,CAAiCO,aAAlF,CADuD;IAE5DJ,OAAO,EAAEvB,sCAAsC,CAACC,gBAAD,CAFa;IAG5DuB,OAAO,EAAE;EAHmD,CAAhB,CAA9C;;EAMA,MAAMI,iBAAN,CAAwD;IAC7B,MAAnBC,mBAAmB,GAAqB;MAC5C,MAAMC,MAAM,GAAG,MAAM7B,gBAAgB,CAAC8B,aAAjB,CAA+Bd,iBAA/B,CAArB;MACA,OAAO,IAAAe,gCAAA,EAAwBF,MAAxB,CAAP;IACD;;IAC4B,MAAvBG,uBAAuB,GAAqB;MAChD,MAAMH,MAAM,GAAG,MAAM7B,gBAAgB,CAACiC,eAAjB,CAAiCjB,iBAAjC,CAArB;MACA,OAAO,IAAAe,gCAAA,EAAwBF,MAAxB,CAAP;IACD;;IAC8B,MAAzBK,yBAAyB,GAAqB;MAClD,MAAML,MAAM,GAAG,MAAM7B,gBAAgB,CAAC8B,aAAjB,CAA+BN,uBAA/B,CAArB;MACA,OAAO,IAAAO,gCAAA,EAAwBF,MAAxB,CAAP;IACD;;IACkC,MAA7BM,6BAA6B,GAAqB;MACtD,MAAMN,MAAM,GAAG,MAAM7B,gBAAgB,CAACiC,eAAjB,CAAiCT,uBAAjC,CAArB;MACA,OAAO,IAAAO,gCAAA,EAAwBF,MAAxB,CAAP;IACD;;IAEe,MAAVO,UAAU,CAACC,OAAD,EAA2D;MAAA;;MACzE,MAAMC,aAAa,GAAG,MAAM,KAAKV,mBAAL,EAA5B;;MACA,IAAI,CAACU,aAAL,EAAoB;QAClB,MAAMC,OAAO,GAAG,MAAM,KAAKP,uBAAL,EAAtB;;QACA,IAAI,CAACO,OAAL,EAAc;UAAA;;UACZF,OAAO,SAAP,IAAAA,OAAO,WAAP,qCAAAA,OAAO,CAAEG,aAAT,qFAAAH,OAAO,EAAkBI,iBAAA,CAASC,kBAA3B,CAAP;UACA,OAAO,IAAP;QACD;MACF;;MAED,MAAMC,QAAQ,GAAG,MAAM/B,iBAAiB,CAACgC,YAAlB,CAA+B;QACpDC,iBAAiB,EAAE,YADiC;QAEpDC,UAAU,EAAE,CAAAT,OAAO,SAAP,IAAAA,OAAO,WAAP,YAAAA,OAAO,CAAES,UAAT,KAAuB,MAFiB;QAGpDC,SAAS,EAAE,CAAC,MAAM;UAChB,QAAQV,OAAR,aAAQA,OAAR,uBAAQA,OAAO,CAAEU,SAAjB;YACE,KAAK,OAAL;cACE,OAAO,OAAP;;YACF,KAAK,OAAL;cACE,OAAO,OAAP;;YACF,KAAK,KAAL;cACE,OAAO,OAAP;;YACF;cACE,OAAO,OAAP;UARJ;QAUD,CAXU;MAHyC,CAA/B,CAAvB;MAgBA,IAAIJ,QAAQ,CAACK,SAAb,EAAwB,OAAO,IAAP;;MACxB,IAAIL,QAAQ,CAACM,SAAT,KAAuB,oBAA3B,EAAiD;QAAA;;QAC/CZ,OAAO,SAAP,IAAAA,OAAO,WAAP,sCAAAA,OAAO,CAAEG,aAAT,uFAAAH,OAAO,EAAkBI,iBAAA,CAASS,kBAA3B,EAA+C,IAAIC,KAAJ,CAAUR,QAAQ,CAACS,YAAnB,CAA/C,CAAP;QACA,OAAO,IAAP;MACD;;MAED,MAAM;QAAEC,QAAQ,EAAEC,IAAZ;QAAkBC,QAAQ,EAAEC,IAA5B;QAAkCC,IAAlC;QAAwCC;MAAxC,IAAgD,qBAAAf,QAAQ,CAACgB,MAAT,sEAAkB,CAAlB,MAAwB,EAA9E;MACA,OAAO,IAAAC,sBAAA,EAAc;QAAEF,GAAF;QAAOF,IAAP;QAAaF,IAAb;QAAmBG;MAAnB,CAAd,CAAP;IACD;;IACqB,MAAhBI,gBAAgB,CAACxB,OAAD,EAA0E;MAC9F;AACN;AACA;AACA;MACM,MAAMyB,cAAc,GAAG,CAAAzB,OAAO,SAAP,IAAAA,OAAO,WAAP,YAAAA,OAAO,CAAEyB,cAAT,KAA2B,CAAlD;MACA,MAAMxB,aAAa,GAAG,MAAM,KAAKJ,yBAAL,EAA5B;;MACA,IAAI,CAACI,aAAL,EAAoB;QAClB,MAAMC,OAAO,GAAG,MAAM,KAAKJ,6BAAL,EAAtB;;QACA,IAAI,CAACI,OAAL,EAAc;UAAA;;UACZF,OAAO,SAAP,IAAAA,OAAO,WAAP,sCAAAA,OAAO,CAAEG,aAAT,uFAAAH,OAAO,EAAkBI,iBAAA,CAASC,kBAA3B,CAAP;UACA,OAAO,IAAP;QACD;MACF;;MAED,MAAMC,QAAQ,GAAG,MAAM/B,iBAAiB,CAACmD,kBAAlB,CAAqC;QAC1DlB,iBAAiB,EAAE,YADuC;QAE1DiB,cAF0D;QAG1Df,SAAS,EAAE,CAAC,MAAM;UAChB,QAAQV,OAAR,aAAQA,OAAR,uBAAQA,OAAO,CAAEU,SAAjB;YACE,KAAK,OAAL;cACE,OAAO,OAAP;;YACF,KAAK,OAAL;cACE,OAAO,OAAP;;YACF,KAAK,KAAL;cACE,OAAO,OAAP;;YACF;cACE,OAAO,OAAP;UARJ;QAUD,CAXU;MAH+C,CAArC,CAAvB;MAgBA,IAAIJ,QAAQ,CAACK,SAAb,EAAwB,OAAO,IAAP;;MACxB,IAAIL,QAAQ,CAACM,SAAT,KAAuB,oBAA3B,EAAiD;QAAA;;QAC/CZ,OAAO,SAAP,IAAAA,OAAO,WAAP,sCAAAA,OAAO,CAAEG,aAAT,uFAAAH,OAAO,EAAkBI,iBAAA,CAASS,kBAA3B,EAA+C,IAAIC,KAAJ,CAAUR,QAAQ,CAACS,YAAnB,CAA/C,CAAP;QACA,OAAO,IAAP;MACD;;MAED,OAAO,CAACT,QAAQ,CAACgB,MAAT,IAAmB,EAApB,EACJK,KADI,CACE,CADF,EACKF,cADL,EAEJG,GAFI,CAEA;QAAA,IAAC;UAAEZ,QAAQ,EAAEC,IAAZ;UAAkBC,QAAQ,EAAEC,IAA5B;UAAkCC,IAAlC;UAAwCC;QAAxC,CAAD;QAAA,OAAmD,IAAAE,sBAAA,EAAc;UAAEF,GAAF;UAAOF,IAAP;UAAaF,IAAb;UAAmBG;QAAnB,CAAd,CAAnD;MAAA,CAFA,CAAP;IAGD;;IACiB,MAAZS,YAAY,CAAC7B,OAAD,EAA6D;MAC7E,IAAI;QACF,MAAM;UAAEqB,GAAF;UAAOF,IAAP;UAAaF,IAAb;UAAmBG;QAAnB,IAA4B,MAAM5C,oBAAoB,CAACsD,UAArB,EAAxC;QACA,OAAO,IAAAP,sBAAA,EAAc;UAAEF,GAAF;UAAOF,IAAP;UAAaF,IAAb;UAAmBG;QAAnB,CAAd,CAAP;MACD,CAHD,CAGE,OAAOW,CAAP,EAAU;QACV,IAAI,CAACvD,oBAAoB,CAACwD,QAArB,CAA8BD,CAA9B,CAAD,IAAqCvD,oBAAoB,CAACyD,YAArB,CAAkCF,CAAlC,CAAzC,EAA+E;UAAA;;UAC7E/B,OAAO,SAAP,IAAAA,OAAO,WAAP,sCAAAA,OAAO,CAAEG,aAAT,uFAAAH,OAAO,EAAkBI,iBAAA,CAAS8B,OAA3B,EAAoCH,CAApC,CAAP;QACD;;QACD,OAAO,IAAP;MACD;IACF;;IACS,MAAJI,IAAI,CAACnC,OAAD,EAAwC;MAChD,MAAMC,aAAa,GAAG,MAAM,KAAKJ,yBAAL,EAA5B;;MACA,IAAI,CAACI,aAAL,EAAoB;QAClB,MAAMC,OAAO,GAAG,MAAM,KAAKJ,6BAAL,EAAtB;QACA,IAAI,CAACI,OAAL,EAAc,MAAM,IAAIY,KAAJ,CAAU,wBAAV,CAAN;MACf;;MAED,MAAMsB,QAAQ,GAAGxE,qBAAA,CAASgB,MAAT,CAAgB;QAAEK,OAAO,EAAEP,QAAQ,CAAC2D,IAAT,CAAcC,QAAzB;QAAmCpD,OAAO,EAAER,QAAQ,CAAC2D,IAAT,CAAcE;MAA1D,CAAhB,CAAjB;;MACA,IAAIC,YAAY,GAAI,GAAEJ,QAAS,IAAGpC,OAAO,CAACgB,QAAS,EAAnD;;MACA,IAAI,CAAC,IAAAyB,4BAAA,EAAiBzC,OAAO,CAACgB,QAAzB,CAAL,EAAyC;QACvC,MAAM0B,gBAAgB,GAAG,IAAAD,4BAAA,EAAiBzC,OAAO,CAAC2C,OAAzB,CAAzB;;QACA,IAAI,IAAAC,uBAAA,EAAYF,gBAAZ,EAA8BG,KAA9B,CAAoC,aAApC,CAAJ,EAAwD;UACtDL,YAAY,IAAIE,gBAAhB;QACD;MACF;;MAED,MAAMhE,QAAQ,CAACoE,UAAT,CAAoBC,KAApB,CAA0B/C,OAAO,CAAC2C,OAAlC,EAA2C;QAAEK,IAAI,EAAER;MAAR,CAA3C,CAAN;MACA,MAAMS,QAAQ,GAAG,IAAAL,uBAAA,EAAY,IAAAH,4BAAA,EAAiBzC,OAAO,CAAC2C,OAAzB,CAAZ,CAAjB;;MAEA,IAAI/E,qBAAA,CAASC,EAAT,KAAgB,KAAhB,KAA0BoF,QAAQ,KAAK,OAAb,IAAwBA,QAAQ,KAAK,OAA/D,CAAJ,EAA6E;QAC3E,MAAM7B,IAAI,GAAI;UAAE,SAAS,OAAX;UAAoB,SAAS;QAA7B,CAAD,CAAkD6B,QAAlD,CAAb;QACA,MAAMxE,kBAAkB,CAAC0D,IAAnB,CAAwBK,YAAxB,EAAsC;UAAEpB;QAAF,CAAtC,CAAN;MACD;;MAED,IAAIxD,qBAAA,CAASC,EAAT,KAAgB,SAApB,EAA+B;QAC7B,MAAMqF,OAAO,GAAG;UAAE,QAAQ,WAAV;UAAuB,SAAS,OAAhC;UAAyC,SAAS,QAAlD;UAA4D,SAAS;QAArE,CAAhB;QACA,MAAMxE,QAAQ,CAACoE,UAAT,CAAoBK,UAApB,CACJX,YADI,EAEJ,IAAAY,6BAAA,EAAkBpD,OAAO,CAACgB,QAA1B,EAAoC,IAAAyB,4BAAA,EAAiBzC,OAAO,CAAC2C,OAAzB,CAApC,CAFI,EAGJO,OAAO,CAACD,QAAD,CAHH,CAAN;MAKD;;MACD,OAAOT,YAAP;IACD;;EA1IqD;;EA6IxD,OAAO,IAAIlD,iBAAJ,EAAP;AACD,CAtKD;;eAwKehB,uB"}
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
- const VERSION = '2.0.2';
7
+ const VERSION = '2.0.3';
8
8
  var _default = VERSION;
9
9
  exports.default = _default;
10
10
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["VERSION"],"sources":["version.ts"],"sourcesContent":["const VERSION = '2.0.2';\nexport default VERSION;\n"],"mappings":";;;;;;AAAA,MAAMA,OAAO,GAAG,OAAhB;eACeA,O"}
1
+ {"version":3,"names":["VERSION"],"sources":["version.ts"],"sourcesContent":["const VERSION = '2.0.3';\nexport default VERSION;\n"],"mappings":";;;;;;AAAA,MAAMA,OAAO,GAAG,OAAhB;eACeA,O"}
@@ -1,7 +1,6 @@
1
1
  import React from 'react';
2
- import { Pressable, View } from 'react-native';
2
+ import { View } from 'react-native';
3
3
  import { Avatar, createStyleSheet } from '@sendbird/uikit-react-native-foundation';
4
- import { useProfileCard } from '../../hooks/useContext';
5
4
 
6
5
  const MessageIncomingAvatar = _ref => {
7
6
  var _message$sender;
@@ -10,20 +9,15 @@ const MessageIncomingAvatar = _ref => {
10
9
  message,
11
10
  grouping
12
11
  } = _ref;
13
- const {
14
- show
15
- } = useProfileCard();
16
12
  if (grouping) return /*#__PURE__*/React.createElement(View, {
17
13
  style: styles.avatar
18
14
  });
19
15
  return /*#__PURE__*/React.createElement(View, {
20
16
  style: styles.avatar
21
- }, (message.isFileMessage() || message.isUserMessage()) && /*#__PURE__*/React.createElement(Pressable, {
22
- onPress: () => show(message.sender)
23
- }, /*#__PURE__*/React.createElement(Avatar, {
17
+ }, (message.isFileMessage() || message.isUserMessage()) && /*#__PURE__*/React.createElement(Avatar, {
24
18
  size: 26,
25
19
  uri: (_message$sender = message.sender) === null || _message$sender === void 0 ? void 0 : _message$sender.profileUrl
26
- })));
20
+ }));
27
21
  };
28
22
 
29
23
  const styles = createStyleSheet({
@@ -1 +1 @@
1
- {"version":3,"names":["React","Pressable","View","Avatar","createStyleSheet","useProfileCard","MessageIncomingAvatar","message","grouping","show","styles","avatar","isFileMessage","isUserMessage","sender","profileUrl","width","marginRight"],"sources":["MessageIncomingAvatar.tsx"],"sourcesContent":["import React from 'react';\nimport { Pressable, View } from 'react-native';\n\nimport { Avatar, createStyleSheet } from '@sendbird/uikit-react-native-foundation';\nimport type { SendbirdMessage } from '@sendbird/uikit-utils';\n\nimport { useProfileCard } from '../../hooks/useContext';\n\ntype Props = {\n message: SendbirdMessage;\n grouping: boolean;\n};\nconst MessageIncomingAvatar = ({ message, grouping }: Props) => {\n const { show } = useProfileCard();\n if (grouping) return <View style={styles.avatar} />;\n return (\n <View style={styles.avatar}>\n {(message.isFileMessage() || message.isUserMessage()) && (\n <Pressable onPress={() => show(message.sender)}>\n <Avatar size={26} uri={message.sender?.profileUrl} />\n </Pressable>\n )}\n </View>\n );\n};\n\nconst styles = createStyleSheet({\n avatar: {\n width: 26,\n marginRight: 12,\n },\n});\n\nexport default MessageIncomingAvatar;\n"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,SAAT,EAAoBC,IAApB,QAAgC,cAAhC;AAEA,SAASC,MAAT,EAAiBC,gBAAjB,QAAyC,yCAAzC;AAGA,SAASC,cAAT,QAA+B,wBAA/B;;AAMA,MAAMC,qBAAqB,GAAG,QAAkC;EAAA;;EAAA,IAAjC;IAAEC,OAAF;IAAWC;EAAX,CAAiC;EAC9D,MAAM;IAAEC;EAAF,IAAWJ,cAAc,EAA/B;EACA,IAAIG,QAAJ,EAAc,oBAAO,oBAAC,IAAD;IAAM,KAAK,EAAEE,MAAM,CAACC;EAApB,EAAP;EACd,oBACE,oBAAC,IAAD;IAAM,KAAK,EAAED,MAAM,CAACC;EAApB,GACG,CAACJ,OAAO,CAACK,aAAR,MAA2BL,OAAO,CAACM,aAAR,EAA5B,kBACC,oBAAC,SAAD;IAAW,OAAO,EAAE,MAAMJ,IAAI,CAACF,OAAO,CAACO,MAAT;EAA9B,gBACE,oBAAC,MAAD;IAAQ,IAAI,EAAE,EAAd;IAAkB,GAAG,qBAAEP,OAAO,CAACO,MAAV,oDAAE,gBAAgBC;EAAvC,EADF,CAFJ,CADF;AASD,CAZD;;AAcA,MAAML,MAAM,GAAGN,gBAAgB,CAAC;EAC9BO,MAAM,EAAE;IACNK,KAAK,EAAE,EADD;IAENC,WAAW,EAAE;EAFP;AADsB,CAAD,CAA/B;AAOA,eAAeX,qBAAf"}
1
+ {"version":3,"names":["React","View","Avatar","createStyleSheet","MessageIncomingAvatar","message","grouping","styles","avatar","isFileMessage","isUserMessage","sender","profileUrl","width","marginRight"],"sources":["MessageIncomingAvatar.tsx"],"sourcesContent":["import React from 'react';\nimport { View } from 'react-native';\n\nimport { Avatar, createStyleSheet } from '@sendbird/uikit-react-native-foundation';\nimport type { SendbirdMessage } from '@sendbird/uikit-utils';\n\ntype Props = {\n message: SendbirdMessage;\n grouping: boolean;\n};\nconst MessageIncomingAvatar = ({ message, grouping }: Props) => {\n if (grouping) return <View style={styles.avatar} />;\n return (\n <View style={styles.avatar}>\n {(message.isFileMessage() || message.isUserMessage()) && <Avatar size={26} uri={message.sender?.profileUrl} />}\n </View>\n );\n};\n\nconst styles = createStyleSheet({\n avatar: {\n width: 26,\n marginRight: 12,\n },\n});\n\nexport default MessageIncomingAvatar;\n"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,IAAT,QAAqB,cAArB;AAEA,SAASC,MAAT,EAAiBC,gBAAjB,QAAyC,yCAAzC;;AAOA,MAAMC,qBAAqB,GAAG,QAAkC;EAAA;;EAAA,IAAjC;IAAEC,OAAF;IAAWC;EAAX,CAAiC;EAC9D,IAAIA,QAAJ,EAAc,oBAAO,oBAAC,IAAD;IAAM,KAAK,EAAEC,MAAM,CAACC;EAApB,EAAP;EACd,oBACE,oBAAC,IAAD;IAAM,KAAK,EAAED,MAAM,CAACC;EAApB,GACG,CAACH,OAAO,CAACI,aAAR,MAA2BJ,OAAO,CAACK,aAAR,EAA5B,kBAAwD,oBAAC,MAAD;IAAQ,IAAI,EAAE,EAAd;IAAkB,GAAG,qBAAEL,OAAO,CAACM,MAAV,oDAAE,gBAAgBC;EAAvC,EAD3D,CADF;AAKD,CAPD;;AASA,MAAML,MAAM,GAAGJ,gBAAgB,CAAC;EAC9BK,MAAM,EAAE;IACNK,KAAK,EAAE,EADD;IAENC,WAAW,EAAE;EAFP;AADsB,CAAD,CAA/B;AAOA,eAAeV,qBAAf"}