@sendbird/uikit-react-native-foundation 2.4.1 → 2.5.0-rc.0

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 (245) hide show
  1. package/README.md +1 -1
  2. package/lib/commonjs/assets/bundle-icons.js +0 -3
  3. package/lib/commonjs/assets/bundle-icons.js.map +1 -1
  4. package/lib/commonjs/assets/icon/index.js.map +1 -1
  5. package/lib/commonjs/components/Box/index.js +0 -9
  6. package/lib/commonjs/components/Box/index.js.map +1 -1
  7. package/lib/commonjs/components/Divider/index.js +0 -7
  8. package/lib/commonjs/components/Divider/index.js.map +1 -1
  9. package/lib/commonjs/components/Icon/index.js +0 -9
  10. package/lib/commonjs/components/Icon/index.js.map +1 -1
  11. package/lib/commonjs/components/Image/Image.fastimage.js +8 -17
  12. package/lib/commonjs/components/Image/Image.fastimage.js.map +1 -1
  13. package/lib/commonjs/components/Image/Image.reactnative.js +0 -6
  14. package/lib/commonjs/components/Image/Image.reactnative.js.map +1 -1
  15. package/lib/commonjs/components/Image/index.js +0 -5
  16. package/lib/commonjs/components/Image/index.js.map +1 -1
  17. package/lib/commonjs/components/ImageWithPlaceholder/index.js +0 -15
  18. package/lib/commonjs/components/ImageWithPlaceholder/index.js.map +1 -1
  19. package/lib/commonjs/components/Modal/index.js +6 -24
  20. package/lib/commonjs/components/Modal/index.js.map +1 -1
  21. package/lib/commonjs/components/PressBox/index.js +0 -11
  22. package/lib/commonjs/components/PressBox/index.js.map +1 -1
  23. package/lib/commonjs/components/RegexText/index.js +2 -8
  24. package/lib/commonjs/components/RegexText/index.js.map +1 -1
  25. package/lib/commonjs/components/Switch/index.js +0 -14
  26. package/lib/commonjs/components/Switch/index.js.map +1 -1
  27. package/lib/commonjs/components/Text/index.js +0 -8
  28. package/lib/commonjs/components/Text/index.js.map +1 -1
  29. package/lib/commonjs/components/TextInput/index.js +0 -8
  30. package/lib/commonjs/components/TextInput/index.js.map +1 -1
  31. package/lib/commonjs/components/URLParsedText/index.js +0 -14
  32. package/lib/commonjs/components/URLParsedText/index.js.map +1 -1
  33. package/lib/commonjs/index.js +0 -49
  34. package/lib/commonjs/index.js.map +1 -1
  35. package/lib/commonjs/styles/HeaderStyleContext.js +0 -9
  36. package/lib/commonjs/styles/HeaderStyleContext.js.map +1 -1
  37. package/lib/commonjs/styles/createScaleFactor.js +0 -6
  38. package/lib/commonjs/styles/createScaleFactor.js.map +1 -1
  39. package/lib/commonjs/styles/createSelectByColorScheme.js +0 -2
  40. package/lib/commonjs/styles/createSelectByColorScheme.js.map +1 -1
  41. package/lib/commonjs/styles/createStyleSheet.js +1 -6
  42. package/lib/commonjs/styles/createStyleSheet.js.map +1 -1
  43. package/lib/commonjs/styles/createTypography.js +0 -3
  44. package/lib/commonjs/styles/createTypography.js.map +1 -1
  45. package/lib/commonjs/styles/getDefaultHeaderHeight.js +0 -2
  46. package/lib/commonjs/styles/getDefaultHeaderHeight.js.map +1 -1
  47. package/lib/commonjs/styles/useHeaderStyle.js +0 -4
  48. package/lib/commonjs/styles/useHeaderStyle.js.map +1 -1
  49. package/lib/commonjs/theme/DarkUIKitTheme.js +0 -3
  50. package/lib/commonjs/theme/DarkUIKitTheme.js.map +1 -1
  51. package/lib/commonjs/theme/LightUIKitTheme.js +0 -3
  52. package/lib/commonjs/theme/LightUIKitTheme.js.map +1 -1
  53. package/lib/commonjs/theme/Palette.js.map +1 -1
  54. package/lib/commonjs/theme/UIKitThemeContext.js +0 -4
  55. package/lib/commonjs/theme/UIKitThemeContext.js.map +1 -1
  56. package/lib/commonjs/theme/UIKitThemeProvider.js +0 -6
  57. package/lib/commonjs/theme/UIKitThemeProvider.js.map +1 -1
  58. package/lib/commonjs/theme/createTheme.js +0 -13
  59. package/lib/commonjs/theme/createTheme.js.map +1 -1
  60. package/lib/commonjs/theme/useUIKitTheme.js +0 -5
  61. package/lib/commonjs/theme/useUIKitTheme.js.map +1 -1
  62. package/lib/commonjs/ui/ActionMenu/index.js +2 -20
  63. package/lib/commonjs/ui/ActionMenu/index.js.map +1 -1
  64. package/lib/commonjs/ui/Alert/index.js +0 -12
  65. package/lib/commonjs/ui/Alert/index.js.map +1 -1
  66. package/lib/commonjs/ui/Avatar/AvatarGroup.js +0 -17
  67. package/lib/commonjs/ui/Avatar/AvatarGroup.js.map +1 -1
  68. package/lib/commonjs/ui/Avatar/AvatarIcon.js +0 -8
  69. package/lib/commonjs/ui/Avatar/AvatarIcon.js.map +1 -1
  70. package/lib/commonjs/ui/Avatar/index.js +0 -15
  71. package/lib/commonjs/ui/Avatar/index.js.map +1 -1
  72. package/lib/commonjs/ui/Badge/index.js +0 -9
  73. package/lib/commonjs/ui/Badge/index.js.map +1 -1
  74. package/lib/commonjs/ui/BottomSheet/index.js +0 -10
  75. package/lib/commonjs/ui/BottomSheet/index.js.map +1 -1
  76. package/lib/commonjs/ui/Button/index.js +0 -11
  77. package/lib/commonjs/ui/Button/index.js.map +1 -1
  78. package/lib/commonjs/ui/ChannelFrozenBanner/index.js +0 -8
  79. package/lib/commonjs/ui/ChannelFrozenBanner/index.js.map +1 -1
  80. package/lib/commonjs/ui/Dialog/DialogBox.js +0 -7
  81. package/lib/commonjs/ui/Dialog/DialogBox.js.map +1 -1
  82. package/lib/commonjs/ui/Dialog/DialogSheet.js +0 -10
  83. package/lib/commonjs/ui/Dialog/DialogSheet.js.map +1 -1
  84. package/lib/commonjs/ui/Dialog/index.js +0 -30
  85. package/lib/commonjs/ui/Dialog/index.js.map +1 -1
  86. package/lib/commonjs/ui/GroupChannelPreview/index.js +1 -13
  87. package/lib/commonjs/ui/GroupChannelPreview/index.js.map +1 -1
  88. package/lib/commonjs/ui/Header/index.js +0 -24
  89. package/lib/commonjs/ui/Header/index.js.map +1 -1
  90. package/lib/commonjs/ui/LoadingSpinner/index.js +0 -12
  91. package/lib/commonjs/ui/LoadingSpinner/index.js.map +1 -1
  92. package/lib/commonjs/ui/MenuBar/index.js +0 -11
  93. package/lib/commonjs/ui/MenuBar/index.js.map +1 -1
  94. package/lib/commonjs/ui/OpenChannelMessage/Message.admin.js +0 -7
  95. package/lib/commonjs/ui/OpenChannelMessage/Message.admin.js.map +1 -1
  96. package/lib/commonjs/ui/OpenChannelMessage/Message.file.image.js +0 -10
  97. package/lib/commonjs/ui/OpenChannelMessage/Message.file.image.js.map +1 -1
  98. package/lib/commonjs/ui/OpenChannelMessage/Message.file.js +0 -14
  99. package/lib/commonjs/ui/OpenChannelMessage/Message.file.js.map +1 -1
  100. package/lib/commonjs/ui/OpenChannelMessage/Message.file.video.js +0 -16
  101. package/lib/commonjs/ui/OpenChannelMessage/Message.file.video.js.map +1 -1
  102. package/lib/commonjs/ui/OpenChannelMessage/Message.unknown.js +0 -10
  103. package/lib/commonjs/ui/OpenChannelMessage/Message.unknown.js.map +1 -1
  104. package/lib/commonjs/ui/OpenChannelMessage/Message.user.js +0 -14
  105. package/lib/commonjs/ui/OpenChannelMessage/Message.user.js.map +1 -1
  106. package/lib/commonjs/ui/OpenChannelMessage/Message.user.og.js +0 -17
  107. package/lib/commonjs/ui/OpenChannelMessage/Message.user.og.js.map +1 -1
  108. package/lib/commonjs/ui/OpenChannelMessage/MessageContainer.js +0 -21
  109. package/lib/commonjs/ui/OpenChannelMessage/MessageContainer.js.map +1 -1
  110. package/lib/commonjs/ui/OpenChannelMessage/index.js +0 -9
  111. package/lib/commonjs/ui/OpenChannelMessage/index.js.map +1 -1
  112. package/lib/commonjs/ui/OpenChannelPreview/index.js +0 -12
  113. package/lib/commonjs/ui/OpenChannelPreview/index.js.map +1 -1
  114. package/lib/commonjs/ui/OutlinedButton/index.js +0 -8
  115. package/lib/commonjs/ui/OutlinedButton/index.js.map +1 -1
  116. package/lib/commonjs/ui/Placeholder/index.js +2 -13
  117. package/lib/commonjs/ui/Placeholder/index.js.map +1 -1
  118. package/lib/commonjs/ui/ProfileCard/index.js +0 -10
  119. package/lib/commonjs/ui/ProfileCard/index.js.map +1 -1
  120. package/lib/commonjs/ui/Prompt/index.js +3 -20
  121. package/lib/commonjs/ui/Prompt/index.js.map +1 -1
  122. package/lib/commonjs/ui/Toast/index.js +2 -23
  123. package/lib/commonjs/ui/Toast/index.js.map +1 -1
  124. package/lib/module/assets/bundle-icons.js +0 -3
  125. package/lib/module/assets/bundle-icons.js.map +1 -1
  126. package/lib/module/assets/icon/index.js.map +1 -1
  127. package/lib/module/components/Box/index.js +0 -4
  128. package/lib/module/components/Box/index.js.map +1 -1
  129. package/lib/module/components/Divider/index.js +0 -2
  130. package/lib/module/components/Divider/index.js.map +1 -1
  131. package/lib/module/components/Icon/index.js +0 -2
  132. package/lib/module/components/Icon/index.js.map +1 -1
  133. package/lib/module/components/Image/Image.fastimage.js +8 -15
  134. package/lib/module/components/Image/Image.fastimage.js.map +1 -1
  135. package/lib/module/components/Image/Image.reactnative.js +0 -3
  136. package/lib/module/components/Image/Image.reactnative.js.map +1 -1
  137. package/lib/module/components/Image/index.js +0 -3
  138. package/lib/module/components/Image/index.js.map +1 -1
  139. package/lib/module/components/ImageWithPlaceholder/index.js +0 -4
  140. package/lib/module/components/ImageWithPlaceholder/index.js.map +1 -1
  141. package/lib/module/components/Modal/index.js +6 -16
  142. package/lib/module/components/Modal/index.js.map +1 -1
  143. package/lib/module/components/PressBox/index.js +0 -5
  144. package/lib/module/components/PressBox/index.js.map +1 -1
  145. package/lib/module/components/RegexText/index.js +2 -4
  146. package/lib/module/components/RegexText/index.js.map +1 -1
  147. package/lib/module/components/Switch/index.js +0 -6
  148. package/lib/module/components/Switch/index.js.map +1 -1
  149. package/lib/module/components/Text/index.js +0 -4
  150. package/lib/module/components/Text/index.js.map +1 -1
  151. package/lib/module/components/TextInput/index.js +0 -1
  152. package/lib/module/components/TextInput/index.js.map +1 -1
  153. package/lib/module/components/URLParsedText/index.js +0 -5
  154. package/lib/module/components/URLParsedText/index.js.map +1 -1
  155. package/lib/module/index.js +5 -4
  156. package/lib/module/index.js.map +1 -1
  157. package/lib/module/styles/HeaderStyleContext.js.map +1 -1
  158. package/lib/module/styles/createScaleFactor.js +0 -3
  159. package/lib/module/styles/createScaleFactor.js.map +1 -1
  160. package/lib/module/styles/createSelectByColorScheme.js +0 -1
  161. package/lib/module/styles/createSelectByColorScheme.js.map +1 -1
  162. package/lib/module/styles/createStyleSheet.js +1 -4
  163. package/lib/module/styles/createStyleSheet.js.map +1 -1
  164. package/lib/module/styles/createTypography.js +0 -2
  165. package/lib/module/styles/createTypography.js.map +1 -1
  166. package/lib/module/styles/getDefaultHeaderHeight.js +0 -2
  167. package/lib/module/styles/getDefaultHeaderHeight.js.map +1 -1
  168. package/lib/module/styles/useHeaderStyle.js +0 -2
  169. package/lib/module/styles/useHeaderStyle.js.map +1 -1
  170. package/lib/module/theme/DarkUIKitTheme.js.map +1 -1
  171. package/lib/module/theme/LightUIKitTheme.js.map +1 -1
  172. package/lib/module/theme/Palette.js.map +1 -1
  173. package/lib/module/theme/UIKitThemeContext.js.map +1 -1
  174. package/lib/module/theme/UIKitThemeProvider.js +0 -2
  175. package/lib/module/theme/UIKitThemeProvider.js.map +1 -1
  176. package/lib/module/theme/createTheme.js +0 -9
  177. package/lib/module/theme/createTheme.js.map +1 -1
  178. package/lib/module/theme/useUIKitTheme.js +0 -2
  179. package/lib/module/theme/useUIKitTheme.js.map +1 -1
  180. package/lib/module/ui/ActionMenu/index.js +2 -7
  181. package/lib/module/ui/ActionMenu/index.js.map +1 -1
  182. package/lib/module/ui/Alert/index.js +0 -2
  183. package/lib/module/ui/Alert/index.js.map +1 -1
  184. package/lib/module/ui/Avatar/AvatarGroup.js +0 -12
  185. package/lib/module/ui/Avatar/AvatarGroup.js.map +1 -1
  186. package/lib/module/ui/Avatar/AvatarIcon.js +0 -2
  187. package/lib/module/ui/Avatar/AvatarIcon.js.map +1 -1
  188. package/lib/module/ui/Avatar/index.js +0 -3
  189. package/lib/module/ui/Avatar/index.js.map +1 -1
  190. package/lib/module/ui/Badge/index.js +0 -2
  191. package/lib/module/ui/Badge/index.js.map +1 -1
  192. package/lib/module/ui/BottomSheet/index.js +0 -3
  193. package/lib/module/ui/BottomSheet/index.js.map +1 -1
  194. package/lib/module/ui/Button/index.js +0 -4
  195. package/lib/module/ui/Button/index.js.map +1 -1
  196. package/lib/module/ui/ChannelFrozenBanner/index.js +0 -2
  197. package/lib/module/ui/ChannelFrozenBanner/index.js.map +1 -1
  198. package/lib/module/ui/Dialog/DialogBox.js +0 -2
  199. package/lib/module/ui/Dialog/DialogBox.js.map +1 -1
  200. package/lib/module/ui/Dialog/DialogSheet.js +0 -3
  201. package/lib/module/ui/Dialog/DialogSheet.js.map +1 -1
  202. package/lib/module/ui/Dialog/index.js +0 -6
  203. package/lib/module/ui/Dialog/index.js.map +1 -1
  204. package/lib/module/ui/GroupChannelPreview/index.js +1 -3
  205. package/lib/module/ui/GroupChannelPreview/index.js.map +1 -1
  206. package/lib/module/ui/Header/index.js +0 -14
  207. package/lib/module/ui/Header/index.js.map +1 -1
  208. package/lib/module/ui/LoadingSpinner/index.js +0 -4
  209. package/lib/module/ui/LoadingSpinner/index.js.map +1 -1
  210. package/lib/module/ui/MenuBar/index.js +0 -2
  211. package/lib/module/ui/MenuBar/index.js.map +1 -1
  212. package/lib/module/ui/OpenChannelMessage/Message.admin.js +0 -2
  213. package/lib/module/ui/OpenChannelMessage/Message.admin.js.map +1 -1
  214. package/lib/module/ui/OpenChannelMessage/Message.file.image.js +0 -2
  215. package/lib/module/ui/OpenChannelMessage/Message.file.image.js.map +1 -1
  216. package/lib/module/ui/OpenChannelMessage/Message.file.js +0 -3
  217. package/lib/module/ui/OpenChannelMessage/Message.file.js.map +1 -1
  218. package/lib/module/ui/OpenChannelMessage/Message.file.video.js +0 -4
  219. package/lib/module/ui/OpenChannelMessage/Message.file.video.js.map +1 -1
  220. package/lib/module/ui/OpenChannelMessage/Message.unknown.js +0 -4
  221. package/lib/module/ui/OpenChannelMessage/Message.unknown.js.map +1 -1
  222. package/lib/module/ui/OpenChannelMessage/Message.user.js +0 -6
  223. package/lib/module/ui/OpenChannelMessage/Message.user.js.map +1 -1
  224. package/lib/module/ui/OpenChannelMessage/Message.user.og.js +0 -6
  225. package/lib/module/ui/OpenChannelMessage/Message.user.og.js.map +1 -1
  226. package/lib/module/ui/OpenChannelMessage/MessageContainer.js +0 -9
  227. package/lib/module/ui/OpenChannelMessage/MessageContainer.js.map +1 -1
  228. package/lib/module/ui/OpenChannelMessage/index.js.map +1 -1
  229. package/lib/module/ui/OpenChannelPreview/index.js +0 -3
  230. package/lib/module/ui/OpenChannelPreview/index.js.map +1 -1
  231. package/lib/module/ui/OutlinedButton/index.js +0 -2
  232. package/lib/module/ui/OutlinedButton/index.js.map +1 -1
  233. package/lib/module/ui/Placeholder/index.js +2 -3
  234. package/lib/module/ui/Placeholder/index.js.map +1 -1
  235. package/lib/module/ui/ProfileCard/index.js +0 -2
  236. package/lib/module/ui/ProfileCard/index.js.map +1 -1
  237. package/lib/module/ui/Prompt/index.js +3 -6
  238. package/lib/module/ui/Prompt/index.js.map +1 -1
  239. package/lib/module/ui/Toast/index.js +2 -8
  240. package/lib/module/ui/Toast/index.js.map +1 -1
  241. package/lib/typescript/src/components/PressBox/index.d.ts +2 -1
  242. package/package.json +15 -9
  243. package/src/components/Image/Image.fastimage.tsx +17 -1
  244. package/src/components/PressBox/index.tsx +2 -1
  245. package/src/ui/GroupChannelPreview/index.tsx +7 -1
@@ -1 +1 @@
1
- {"version":3,"names":["AlertContext","React","createContext","ActionMenuContext","PromptContext","BottomSheetContext","DISMISS_TIMEOUT","DialogProvider","defaultLabels","children","waitDismissTimeout","useRef","waitDismissPromise","waitDismiss","useCallback","resolver","current","setTimeout","completeDismiss","clearTimeout","undefined","render","useForceUpdate","dialogQueue","workingDialogJob","visibleState","isProcessing","Boolean","updateToShow","updateToHide","Promise","resolve","consumeQueue","job","shift","createJob","type","props","jobItem","push","alert","openMenu","openPrompt","openSheet","title","menuItems","message","buttons","text","ok","onSubmit","defaultValue","submitLabel","prompt","cancelLabel","cancel","placeholder","sheetItems","HeaderComponent","useActionMenu","context","useContext","Error","useAlert","usePrompt","useBottomSheet"],"sources":["index.tsx"],"sourcesContent":["import React, { useCallback, useContext, useRef } from 'react';\n\nimport { useForceUpdate } from '@sendbird/uikit-utils';\n\nimport type { ActionMenuItem } from '../ActionMenu';\nimport ActionMenu from '../ActionMenu';\nimport type { AlertItem } from '../Alert';\nimport Alert from '../Alert';\nimport type { BottomSheetItem } from '../BottomSheet';\nimport BottomSheet from '../BottomSheet';\nimport type { PromptItem } from '../Prompt';\nimport Prompt from '../Prompt';\n\ntype DialogJob =\n | {\n type: 'ActionMenu';\n props: ActionMenuItem;\n }\n | {\n type: 'Alert';\n props: AlertItem;\n }\n | {\n type: 'Prompt';\n props: PromptItem;\n }\n | {\n type: 'BottomSheet';\n props: BottomSheetItem;\n };\n\ntype DialogPropsBy<T extends DialogJob['type'], U extends DialogJob = DialogJob> = U extends { type: T; props: infer P }\n ? P\n : never;\n\ntype DialogContextType = {\n openMenu: (props: DialogPropsBy<'ActionMenu'>) => void;\n alert: (props: DialogPropsBy<'Alert'>) => void;\n openPrompt: (props: DialogPropsBy<'Prompt'>) => void;\n openSheet: (props: DialogPropsBy<'BottomSheet'>) => void;\n};\n\nconst AlertContext = React.createContext<Pick<DialogContextType, 'alert'> | null>(null);\nconst ActionMenuContext = React.createContext<Pick<DialogContextType, 'openMenu'> | null>(null);\nconst PromptContext = React.createContext<Pick<DialogContextType, 'openPrompt'> | null>(null);\nconst BottomSheetContext = React.createContext<Pick<DialogContextType, 'openSheet'> | null>(null);\n\ntype Props = React.PropsWithChildren<{\n defaultLabels?: {\n alert?: { ok?: string };\n prompt?: { placeholder?: string; ok?: string; cancel?: string };\n };\n}>;\nconst DISMISS_TIMEOUT = 3000;\nexport const DialogProvider = ({ defaultLabels, children }: Props) => {\n const waitDismissTimeout = useRef<NodeJS.Timeout>();\n const waitDismissPromise = useRef<() => void>();\n const waitDismiss = useCallback((resolver: () => void) => {\n waitDismissPromise.current = resolver;\n waitDismissTimeout.current = setTimeout(completeDismiss, DISMISS_TIMEOUT);\n }, []);\n const completeDismiss = useCallback(() => {\n if (waitDismissTimeout.current) clearTimeout(waitDismissTimeout.current);\n if (waitDismissPromise.current) waitDismissPromise.current();\n waitDismissTimeout.current = undefined;\n waitDismissPromise.current = undefined;\n }, []);\n\n const render = useForceUpdate();\n const dialogQueue = useRef<DialogJob[]>([]);\n const workingDialogJob = useRef<DialogJob>();\n const visibleState = useRef(false);\n\n const isProcessing = () => Boolean(workingDialogJob.current);\n const updateToShow = useCallback(() => {\n visibleState.current = true;\n render();\n }, []);\n const updateToHide = useCallback((): Promise<void> => {\n return new Promise((resolve) => {\n visibleState.current = false;\n render();\n waitDismiss(resolve);\n });\n }, []);\n const consumeQueue = useCallback(() => {\n completeDismiss();\n const job = dialogQueue.current.shift();\n if (job) {\n workingDialogJob.current = job;\n updateToShow();\n } else {\n workingDialogJob.current = undefined;\n }\n }, []);\n\n const createJob =\n <T extends DialogJob['type']>(type: T) =>\n (props: DialogPropsBy<T>) => {\n const jobItem = { type, props } as DialogJob;\n if (isProcessing()) dialogQueue.current.push(jobItem);\n else {\n workingDialogJob.current = jobItem;\n updateToShow();\n }\n };\n\n const alert = useCallback(createJob('Alert'), []);\n const openMenu = useCallback(createJob('ActionMenu'), []);\n const openPrompt = useCallback(createJob('Prompt'), []);\n const openSheet = useCallback(createJob('BottomSheet'), []);\n\n return (\n <AlertContext.Provider value={{ alert }}>\n <ActionMenuContext.Provider value={{ openMenu }}>\n <PromptContext.Provider value={{ openPrompt }}>\n <BottomSheetContext.Provider value={{ openSheet }}>\n {children}\n {workingDialogJob.current?.type === 'ActionMenu' && (\n <ActionMenu\n onHide={updateToHide}\n onDismiss={consumeQueue}\n visible={visibleState.current}\n title={workingDialogJob.current.props.title}\n menuItems={workingDialogJob.current.props.menuItems}\n />\n )}\n {workingDialogJob.current?.type === 'Alert' && (\n <Alert\n onHide={updateToHide}\n onDismiss={consumeQueue}\n visible={visibleState.current}\n title={workingDialogJob.current.props.title}\n message={workingDialogJob.current.props.message}\n buttons={workingDialogJob.current.props.buttons ?? [{ text: defaultLabels?.alert?.ok || 'OK' }]}\n />\n )}\n {workingDialogJob.current?.type === 'Prompt' && (\n <Prompt\n onHide={updateToHide}\n onDismiss={consumeQueue}\n visible={visibleState.current}\n title={workingDialogJob.current.props.title}\n onSubmit={workingDialogJob.current.props.onSubmit}\n defaultValue={workingDialogJob.current.props.defaultValue}\n submitLabel={workingDialogJob.current.props.submitLabel ?? defaultLabels?.prompt?.ok}\n cancelLabel={workingDialogJob.current.props.cancelLabel ?? defaultLabels?.prompt?.cancel}\n placeholder={workingDialogJob.current.props.placeholder ?? defaultLabels?.prompt?.placeholder}\n />\n )}\n {workingDialogJob.current?.type === 'BottomSheet' && (\n <BottomSheet\n onHide={updateToHide}\n onDismiss={consumeQueue}\n visible={visibleState.current}\n sheetItems={workingDialogJob.current.props.sheetItems}\n HeaderComponent={workingDialogJob.current.props.HeaderComponent}\n />\n )}\n </BottomSheetContext.Provider>\n </PromptContext.Provider>\n </ActionMenuContext.Provider>\n </AlertContext.Provider>\n );\n};\n\nexport const useActionMenu = () => {\n const context = useContext(ActionMenuContext);\n if (!context) throw new Error('ActionMenuContext is not provided, wrap your app with DialogProvider');\n return context;\n};\nexport const useAlert = () => {\n const context = useContext(AlertContext);\n if (!context) throw new Error('AlertContext is not provided, wrap your app with DialogProvider');\n return context;\n};\nexport const usePrompt = () => {\n const context = useContext(PromptContext);\n if (!context) throw new Error('PromptContext is not provided, wrap your app with DialogProvider');\n return context;\n};\nexport const useBottomSheet = () => {\n const context = useContext(BottomSheetContext);\n if (!context) throw new Error('BottomSheetContext is not provided, wrap your app with DialogProvider');\n return context;\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_uikitUtils","_ActionMenu","_interopRequireDefault","_Alert","_BottomSheet","_Prompt","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","AlertContext","React","createContext","ActionMenuContext","PromptContext","BottomSheetContext","DISMISS_TIMEOUT","DialogProvider","_ref","_workingDialogJob$cur","_workingDialogJob$cur2","_defaultLabels$alert","_workingDialogJob$cur3","_defaultLabels$prompt","_defaultLabels$prompt2","_defaultLabels$prompt3","_workingDialogJob$cur4","defaultLabels","children","waitDismissTimeout","useRef","waitDismissPromise","waitDismiss","useCallback","resolver","current","setTimeout","completeDismiss","clearTimeout","undefined","render","useForceUpdate","dialogQueue","workingDialogJob","visibleState","isProcessing","Boolean","updateToShow","updateToHide","Promise","resolve","consumeQueue","job","shift","createJob","type","props","jobItem","push","alert","openMenu","openPrompt","openSheet","createElement","Provider","value","onHide","onDismiss","visible","title","menuItems","message","buttons","text","ok","onSubmit","defaultValue","submitLabel","prompt","cancelLabel","cancel","placeholder","sheetItems","HeaderComponent","exports","useActionMenu","context","useContext","Error","useAlert","usePrompt","useBottomSheet"],"sources":["index.tsx"],"sourcesContent":["import React, { useCallback, useContext, useRef } from 'react';\n\nimport { useForceUpdate } from '@sendbird/uikit-utils';\n\nimport type { ActionMenuItem } from '../ActionMenu';\nimport ActionMenu from '../ActionMenu';\nimport type { AlertItem } from '../Alert';\nimport Alert from '../Alert';\nimport type { BottomSheetItem } from '../BottomSheet';\nimport BottomSheet from '../BottomSheet';\nimport type { PromptItem } from '../Prompt';\nimport Prompt from '../Prompt';\n\ntype DialogJob =\n | {\n type: 'ActionMenu';\n props: ActionMenuItem;\n }\n | {\n type: 'Alert';\n props: AlertItem;\n }\n | {\n type: 'Prompt';\n props: PromptItem;\n }\n | {\n type: 'BottomSheet';\n props: BottomSheetItem;\n };\n\ntype DialogPropsBy<T extends DialogJob['type'], U extends DialogJob = DialogJob> = U extends { type: T; props: infer P }\n ? P\n : never;\n\ntype DialogContextType = {\n openMenu: (props: DialogPropsBy<'ActionMenu'>) => void;\n alert: (props: DialogPropsBy<'Alert'>) => void;\n openPrompt: (props: DialogPropsBy<'Prompt'>) => void;\n openSheet: (props: DialogPropsBy<'BottomSheet'>) => void;\n};\n\nconst AlertContext = React.createContext<Pick<DialogContextType, 'alert'> | null>(null);\nconst ActionMenuContext = React.createContext<Pick<DialogContextType, 'openMenu'> | null>(null);\nconst PromptContext = React.createContext<Pick<DialogContextType, 'openPrompt'> | null>(null);\nconst BottomSheetContext = React.createContext<Pick<DialogContextType, 'openSheet'> | null>(null);\n\ntype Props = React.PropsWithChildren<{\n defaultLabels?: {\n alert?: { ok?: string };\n prompt?: { placeholder?: string; ok?: string; cancel?: string };\n };\n}>;\nconst DISMISS_TIMEOUT = 3000;\nexport const DialogProvider = ({ defaultLabels, children }: Props) => {\n const waitDismissTimeout = useRef<NodeJS.Timeout>();\n const waitDismissPromise = useRef<() => void>();\n const waitDismiss = useCallback((resolver: () => void) => {\n waitDismissPromise.current = resolver;\n waitDismissTimeout.current = setTimeout(completeDismiss, DISMISS_TIMEOUT);\n }, []);\n const completeDismiss = useCallback(() => {\n if (waitDismissTimeout.current) clearTimeout(waitDismissTimeout.current);\n if (waitDismissPromise.current) waitDismissPromise.current();\n waitDismissTimeout.current = undefined;\n waitDismissPromise.current = undefined;\n }, []);\n\n const render = useForceUpdate();\n const dialogQueue = useRef<DialogJob[]>([]);\n const workingDialogJob = useRef<DialogJob>();\n const visibleState = useRef(false);\n\n const isProcessing = () => Boolean(workingDialogJob.current);\n const updateToShow = useCallback(() => {\n visibleState.current = true;\n render();\n }, []);\n const updateToHide = useCallback((): Promise<void> => {\n return new Promise((resolve) => {\n visibleState.current = false;\n render();\n waitDismiss(resolve);\n });\n }, []);\n const consumeQueue = useCallback(() => {\n completeDismiss();\n const job = dialogQueue.current.shift();\n if (job) {\n workingDialogJob.current = job;\n updateToShow();\n } else {\n workingDialogJob.current = undefined;\n }\n }, []);\n\n const createJob =\n <T extends DialogJob['type']>(type: T) =>\n (props: DialogPropsBy<T>) => {\n const jobItem = { type, props } as DialogJob;\n if (isProcessing()) dialogQueue.current.push(jobItem);\n else {\n workingDialogJob.current = jobItem;\n updateToShow();\n }\n };\n\n const alert = useCallback(createJob('Alert'), []);\n const openMenu = useCallback(createJob('ActionMenu'), []);\n const openPrompt = useCallback(createJob('Prompt'), []);\n const openSheet = useCallback(createJob('BottomSheet'), []);\n\n return (\n <AlertContext.Provider value={{ alert }}>\n <ActionMenuContext.Provider value={{ openMenu }}>\n <PromptContext.Provider value={{ openPrompt }}>\n <BottomSheetContext.Provider value={{ openSheet }}>\n {children}\n {workingDialogJob.current?.type === 'ActionMenu' && (\n <ActionMenu\n onHide={updateToHide}\n onDismiss={consumeQueue}\n visible={visibleState.current}\n title={workingDialogJob.current.props.title}\n menuItems={workingDialogJob.current.props.menuItems}\n />\n )}\n {workingDialogJob.current?.type === 'Alert' && (\n <Alert\n onHide={updateToHide}\n onDismiss={consumeQueue}\n visible={visibleState.current}\n title={workingDialogJob.current.props.title}\n message={workingDialogJob.current.props.message}\n buttons={workingDialogJob.current.props.buttons ?? [{ text: defaultLabels?.alert?.ok || 'OK' }]}\n />\n )}\n {workingDialogJob.current?.type === 'Prompt' && (\n <Prompt\n onHide={updateToHide}\n onDismiss={consumeQueue}\n visible={visibleState.current}\n title={workingDialogJob.current.props.title}\n onSubmit={workingDialogJob.current.props.onSubmit}\n defaultValue={workingDialogJob.current.props.defaultValue}\n submitLabel={workingDialogJob.current.props.submitLabel ?? defaultLabels?.prompt?.ok}\n cancelLabel={workingDialogJob.current.props.cancelLabel ?? defaultLabels?.prompt?.cancel}\n placeholder={workingDialogJob.current.props.placeholder ?? defaultLabels?.prompt?.placeholder}\n />\n )}\n {workingDialogJob.current?.type === 'BottomSheet' && (\n <BottomSheet\n onHide={updateToHide}\n onDismiss={consumeQueue}\n visible={visibleState.current}\n sheetItems={workingDialogJob.current.props.sheetItems}\n HeaderComponent={workingDialogJob.current.props.HeaderComponent}\n />\n )}\n </BottomSheetContext.Provider>\n </PromptContext.Provider>\n </ActionMenuContext.Provider>\n </AlertContext.Provider>\n );\n};\n\nexport const useActionMenu = () => {\n const context = useContext(ActionMenuContext);\n if (!context) throw new Error('ActionMenuContext is not provided, wrap your app with DialogProvider');\n return context;\n};\nexport const useAlert = () => {\n const context = useContext(AlertContext);\n if (!context) throw new Error('AlertContext is not provided, wrap your app with DialogProvider');\n return context;\n};\nexport const usePrompt = () => {\n const context = useContext(PromptContext);\n if (!context) throw new Error('PromptContext is not provided, wrap your app with DialogProvider');\n return context;\n};\nexport const useBottomSheet = () => {\n const context = useContext(BottomSheetContext);\n if (!context) throw new Error('BottomSheetContext is not provided, wrap your app with DialogProvider');\n return context;\n};\n"],"mappings":"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"}
@@ -4,27 +4,16 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
-
8
7
  var _react = _interopRequireDefault(require("react"));
9
-
10
8
  var _reactNative = require("react-native");
11
-
12
9
  var _uikitUtils = require("@sendbird/uikit-utils");
13
-
14
10
  var _Icon = _interopRequireDefault(require("../../components/Icon"));
15
-
16
11
  var _Image = _interopRequireDefault(require("../../components/Image"));
17
-
18
12
  var _Text = _interopRequireDefault(require("../../components/Text"));
19
-
20
13
  var _createStyleSheet = _interopRequireDefault(require("../../styles/createStyleSheet"));
21
-
22
14
  var _useUIKitTheme = _interopRequireDefault(require("../../theme/useUIKitTheme"));
23
-
24
15
  var _Badge = _interopRequireDefault(require("../Badge"));
25
-
26
16
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
27
-
28
17
  const GroupChannelPreview = _ref => {
29
18
  let {
30
19
  customCover,
@@ -112,6 +101,7 @@ const GroupChannelPreview = _ref => {
112
101
  }), /*#__PURE__*/_react.default.createElement(_Text.default, {
113
102
  body3: true,
114
103
  numberOfLines: 1,
104
+ ellipsizeMode: bodyIcon ? 'middle' : 'tail',
115
105
  style: styles.bodyText,
116
106
  color: color.default.none.textBody
117
107
  }, body))), /*#__PURE__*/_react.default.createElement(_reactNative.View, {
@@ -127,7 +117,6 @@ const GroupChannelPreview = _ref => {
127
117
  color: color.default.none.separator
128
118
  })));
129
119
  };
130
-
131
120
  const Separator = _ref2 => {
132
121
  let {
133
122
  color
@@ -138,7 +127,6 @@ const Separator = _ref2 => {
138
127
  }]
139
128
  });
140
129
  };
141
-
142
130
  const styles = (0, _createStyleSheet.default)({
143
131
  container: {
144
132
  height: 76,
@@ -1 +1 @@
1
- {"version":3,"names":["GroupChannelPreview","customCover","coverUrl","memberCount","badgeCount","maxBadgeCount","body","bodyIcon","title","titleCaption","titleCaptionLeft","frozen","notificationOff","broadcast","mentioned","mentionTrigger","colors","useUIKitTheme","color","ui","groupChannelPreview","styles","container","backgroundColor","default","none","background","coverContainer","conditionChaining","Boolean","channelCover","coverBackground","uri","rightSection","rightTopSection","channelInfoContainer","secondary","channelInfoBroadcast","channelInfoTitle","textTitle","channelInfoMemberCount","primary","channelInfoFrozen","onBackground03","titleCaptionContainer","textTitleCaption","titleCaptionText","rightBottomSection","bodyWrapper","bodyIconBackground","bodyText","textBody","unreadContainer","badge","unreadMention","separator","Separator","createStyleSheet","height","width","flexDirection","alignItems","justifyContent","marginLeft","marginRight","borderRadius","flex","paddingTop","paddingRight","marginBottom","flexShrink","marginTop","position","left","right","bottom"],"sources":["index.tsx"],"sourcesContent":["import React from 'react';\nimport { View } from 'react-native';\n\nimport { conditionChaining } from '@sendbird/uikit-utils';\n\nimport Icon from '../../components/Icon';\nimport Image from '../../components/Image';\nimport Text from '../../components/Text';\nimport createStyleSheet from '../../styles/createStyleSheet';\nimport useUIKitTheme from '../../theme/useUIKitTheme';\nimport Badge from '../Badge';\n\ntype Props = {\n customCover?: React.ReactElement;\n coverUrl: string;\n\n title: string;\n\n titleCaption: string;\n titleCaptionLeft?: React.ReactElement;\n\n bodyIcon?: keyof typeof Icon.Assets;\n body: string;\n\n memberCount?: number;\n badgeCount: number;\n maxBadgeCount?: number;\n\n frozen?: boolean;\n notificationOff?: boolean;\n broadcast?: boolean;\n mentioned?: boolean;\n mentionTrigger?: string;\n};\n\nconst GroupChannelPreview = ({\n customCover,\n coverUrl,\n memberCount,\n badgeCount,\n maxBadgeCount,\n body,\n bodyIcon,\n title,\n titleCaption,\n titleCaptionLeft,\n frozen,\n notificationOff,\n broadcast,\n mentioned,\n mentionTrigger = '@',\n}: Props) => {\n const { colors } = useUIKitTheme();\n const color = colors.ui.groupChannelPreview;\n\n return (\n <View style={[styles.container, { backgroundColor: color.default.none.background }]}>\n <View style={styles.coverContainer}>\n {conditionChaining(\n [Boolean(customCover)],\n [\n customCover,\n <Image\n resizeMode={'cover'}\n style={[styles.channelCover, { backgroundColor: color.default.none.coverBackground }]}\n source={{ uri: coverUrl }}\n />,\n ],\n )}\n </View>\n <View style={styles.rightSection}>\n <View style={styles.rightTopSection}>\n <View style={styles.channelInfoContainer}>\n {broadcast && (\n <Icon\n size={16}\n icon={'broadcast'}\n color={colors.secondary}\n containerStyle={styles.channelInfoBroadcast}\n />\n )}\n <Text numberOfLines={1} subtitle1 style={styles.channelInfoTitle} color={color.default.none.textTitle}>\n {title}\n </Text>\n {Boolean(memberCount) && (\n <Text caption1 style={styles.channelInfoMemberCount} color={color.default.none.memberCount}>\n {memberCount}\n </Text>\n )}\n {frozen && (\n <Icon size={16} icon={'freeze'} color={colors.primary} containerStyle={styles.channelInfoFrozen} />\n )}\n {notificationOff && <Icon size={16} icon={'notifications-off-filled'} color={colors.onBackground03} />}\n </View>\n <View style={styles.titleCaptionContainer}>\n {titleCaptionLeft}\n <Text caption2 color={color.default.none.textTitleCaption} style={styles.titleCaptionText}>\n {titleCaption}\n </Text>\n </View>\n </View>\n\n <View style={styles.rightBottomSection}>\n <View style={styles.body}>\n <View style={styles.bodyWrapper}>\n {bodyIcon && (\n <Icon\n size={18}\n icon={bodyIcon}\n color={color.default.none.bodyIcon}\n containerStyle={[\n styles.bodyIcon,\n { backgroundColor: colors.ui.groupChannelPreview.default.none.bodyIconBackground },\n ]}\n />\n )}\n <Text body3 numberOfLines={1} style={styles.bodyText} color={color.default.none.textBody}>\n {body}\n </Text>\n </View>\n </View>\n <View style={styles.unreadContainer}>\n {mentioned && (\n <Text h2 color={colors.ui.badge.default.none.background} style={styles.unreadMention}>\n {mentionTrigger}\n </Text>\n )}\n {badgeCount > 0 && <Badge count={badgeCount} maxCount={maxBadgeCount} />}\n </View>\n </View>\n <Separator color={color.default.none.separator} />\n </View>\n </View>\n );\n};\n\ntype SeparatorProps = { color: string };\nconst Separator = ({ color }: SeparatorProps) => <View style={[styles.separator, { backgroundColor: color }]} />;\n\nconst styles = createStyleSheet({\n container: {\n height: 76,\n width: '100%',\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'center',\n },\n coverContainer: {\n marginLeft: 16,\n marginRight: 16,\n },\n channelCover: {\n width: 56,\n height: 56,\n borderRadius: 28,\n },\n rightSection: {\n flex: 1,\n paddingTop: 10,\n paddingRight: 16,\n },\n rightTopSection: {\n flexDirection: 'row',\n marginBottom: 4,\n },\n channelInfoContainer: {\n flex: 1,\n marginRight: 4,\n alignItems: 'center',\n flexDirection: 'row',\n },\n channelInfoBroadcast: {\n marginRight: 4,\n },\n channelInfoTitle: {\n flexShrink: 1,\n marginRight: 4,\n },\n channelInfoMemberCount: {\n paddingTop: 2,\n marginRight: 4,\n },\n channelInfoFrozen: {\n marginRight: 4,\n },\n titleCaptionContainer: {\n alignItems: 'flex-start',\n flexDirection: 'row',\n marginLeft: 4,\n },\n titleCaptionText: {\n marginTop: 2,\n },\n rightBottomSection: {\n flex: 1,\n height: '100%',\n flexDirection: 'row',\n },\n body: {\n marginRight: 4,\n flex: 1,\n flexDirection: 'row',\n alignItems: 'flex-start',\n },\n bodyWrapper: {\n flexDirection: 'row',\n alignItems: 'center',\n },\n bodyText: {\n flex: 1,\n },\n bodyIcon: {\n borderRadius: 8,\n width: 26,\n height: 26,\n marginRight: 4,\n },\n unreadContainer: {\n flexDirection: 'row',\n alignItems: 'flex-start',\n },\n unreadMention: {\n marginRight: 4,\n },\n separator: {\n position: 'absolute',\n left: 0,\n right: -16,\n bottom: 0,\n height: 1,\n },\n});\n\nexport default GroupChannelPreview;\n"],"mappings":"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"}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_uikitUtils","_Icon","_Image","_Text","_createStyleSheet","_useUIKitTheme","_Badge","obj","__esModule","default","GroupChannelPreview","_ref","customCover","coverUrl","memberCount","badgeCount","maxBadgeCount","body","bodyIcon","title","titleCaption","titleCaptionLeft","frozen","notificationOff","broadcast","mentioned","mentionTrigger","colors","useUIKitTheme","color","ui","groupChannelPreview","createElement","View","style","styles","container","backgroundColor","none","background","coverContainer","conditionChaining","Boolean","resizeMode","channelCover","coverBackground","source","uri","rightSection","rightTopSection","channelInfoContainer","size","icon","secondary","containerStyle","channelInfoBroadcast","numberOfLines","subtitle1","channelInfoTitle","textTitle","caption1","channelInfoMemberCount","primary","channelInfoFrozen","onBackground03","titleCaptionContainer","caption2","textTitleCaption","titleCaptionText","rightBottomSection","bodyWrapper","bodyIconBackground","body3","ellipsizeMode","bodyText","textBody","unreadContainer","h2","badge","unreadMention","count","maxCount","Separator","separator","_ref2","createStyleSheet","height","width","flexDirection","alignItems","justifyContent","marginLeft","marginRight","borderRadius","flex","paddingTop","paddingRight","marginBottom","flexShrink","marginTop","position","left","right","bottom","_default","exports"],"sources":["index.tsx"],"sourcesContent":["import React from 'react';\nimport { View } from 'react-native';\n\nimport { conditionChaining } from '@sendbird/uikit-utils';\n\nimport Icon from '../../components/Icon';\nimport Image from '../../components/Image';\nimport Text from '../../components/Text';\nimport createStyleSheet from '../../styles/createStyleSheet';\nimport useUIKitTheme from '../../theme/useUIKitTheme';\nimport Badge from '../Badge';\n\ntype Props = {\n customCover?: React.ReactElement;\n coverUrl: string;\n\n title: string;\n\n titleCaption: string;\n titleCaptionLeft?: React.ReactElement;\n\n bodyIcon?: keyof typeof Icon.Assets;\n body: string;\n\n memberCount?: number;\n badgeCount: number;\n maxBadgeCount?: number;\n\n frozen?: boolean;\n notificationOff?: boolean;\n broadcast?: boolean;\n mentioned?: boolean;\n mentionTrigger?: string;\n};\n\nconst GroupChannelPreview = ({\n customCover,\n coverUrl,\n memberCount,\n badgeCount,\n maxBadgeCount,\n body,\n bodyIcon,\n title,\n titleCaption,\n titleCaptionLeft,\n frozen,\n notificationOff,\n broadcast,\n mentioned,\n mentionTrigger = '@',\n}: Props) => {\n const { colors } = useUIKitTheme();\n const color = colors.ui.groupChannelPreview;\n\n return (\n <View style={[styles.container, { backgroundColor: color.default.none.background }]}>\n <View style={styles.coverContainer}>\n {conditionChaining(\n [Boolean(customCover)],\n [\n customCover,\n <Image\n resizeMode={'cover'}\n style={[styles.channelCover, { backgroundColor: color.default.none.coverBackground }]}\n source={{ uri: coverUrl }}\n />,\n ],\n )}\n </View>\n <View style={styles.rightSection}>\n <View style={styles.rightTopSection}>\n <View style={styles.channelInfoContainer}>\n {broadcast && (\n <Icon\n size={16}\n icon={'broadcast'}\n color={colors.secondary}\n containerStyle={styles.channelInfoBroadcast}\n />\n )}\n <Text numberOfLines={1} subtitle1 style={styles.channelInfoTitle} color={color.default.none.textTitle}>\n {title}\n </Text>\n {Boolean(memberCount) && (\n <Text caption1 style={styles.channelInfoMemberCount} color={color.default.none.memberCount}>\n {memberCount}\n </Text>\n )}\n {frozen && (\n <Icon size={16} icon={'freeze'} color={colors.primary} containerStyle={styles.channelInfoFrozen} />\n )}\n {notificationOff && <Icon size={16} icon={'notifications-off-filled'} color={colors.onBackground03} />}\n </View>\n <View style={styles.titleCaptionContainer}>\n {titleCaptionLeft}\n <Text caption2 color={color.default.none.textTitleCaption} style={styles.titleCaptionText}>\n {titleCaption}\n </Text>\n </View>\n </View>\n\n <View style={styles.rightBottomSection}>\n <View style={styles.body}>\n <View style={styles.bodyWrapper}>\n {bodyIcon && (\n <Icon\n size={18}\n icon={bodyIcon}\n color={color.default.none.bodyIcon}\n containerStyle={[\n styles.bodyIcon,\n { backgroundColor: colors.ui.groupChannelPreview.default.none.bodyIconBackground },\n ]}\n />\n )}\n <Text\n body3\n numberOfLines={1}\n ellipsizeMode={bodyIcon ? 'middle' : 'tail'}\n style={styles.bodyText}\n color={color.default.none.textBody}\n >\n {body}\n </Text>\n </View>\n </View>\n <View style={styles.unreadContainer}>\n {mentioned && (\n <Text h2 color={colors.ui.badge.default.none.background} style={styles.unreadMention}>\n {mentionTrigger}\n </Text>\n )}\n {badgeCount > 0 && <Badge count={badgeCount} maxCount={maxBadgeCount} />}\n </View>\n </View>\n <Separator color={color.default.none.separator} />\n </View>\n </View>\n );\n};\n\ntype SeparatorProps = { color: string };\nconst Separator = ({ color }: SeparatorProps) => <View style={[styles.separator, { backgroundColor: color }]} />;\n\nconst styles = createStyleSheet({\n container: {\n height: 76,\n width: '100%',\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'center',\n },\n coverContainer: {\n marginLeft: 16,\n marginRight: 16,\n },\n channelCover: {\n width: 56,\n height: 56,\n borderRadius: 28,\n },\n rightSection: {\n flex: 1,\n paddingTop: 10,\n paddingRight: 16,\n },\n rightTopSection: {\n flexDirection: 'row',\n marginBottom: 4,\n },\n channelInfoContainer: {\n flex: 1,\n marginRight: 4,\n alignItems: 'center',\n flexDirection: 'row',\n },\n channelInfoBroadcast: {\n marginRight: 4,\n },\n channelInfoTitle: {\n flexShrink: 1,\n marginRight: 4,\n },\n channelInfoMemberCount: {\n paddingTop: 2,\n marginRight: 4,\n },\n channelInfoFrozen: {\n marginRight: 4,\n },\n titleCaptionContainer: {\n alignItems: 'flex-start',\n flexDirection: 'row',\n marginLeft: 4,\n },\n titleCaptionText: {\n marginTop: 2,\n },\n rightBottomSection: {\n flex: 1,\n height: '100%',\n flexDirection: 'row',\n },\n body: {\n marginRight: 4,\n flex: 1,\n flexDirection: 'row',\n alignItems: 'flex-start',\n },\n bodyWrapper: {\n flexDirection: 'row',\n alignItems: 'center',\n },\n bodyText: {\n flex: 1,\n },\n bodyIcon: {\n borderRadius: 8,\n width: 26,\n height: 26,\n marginRight: 4,\n },\n unreadContainer: {\n flexDirection: 'row',\n alignItems: 'flex-start',\n },\n unreadMention: {\n marginRight: 4,\n },\n separator: {\n position: 'absolute',\n left: 0,\n right: -16,\n bottom: 0,\n height: 1,\n },\n});\n\nexport default GroupChannelPreview;\n"],"mappings":"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"}
@@ -4,33 +4,21 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
-
8
7
  var _react = _interopRequireDefault(require("react"));
9
-
10
8
  var _reactNative = require("react-native");
11
-
12
9
  var _reactNativeSafeAreaContext = require("react-native-safe-area-context");
13
-
14
10
  var _uikitUtils = require("@sendbird/uikit-utils");
15
-
16
11
  var _Text = _interopRequireDefault(require("../../components/Text"));
17
-
18
12
  var _createStyleSheet = _interopRequireDefault(require("../../styles/createStyleSheet"));
19
-
20
13
  var _useHeaderStyle = _interopRequireDefault(require("../../styles/useHeaderStyle"));
21
-
22
14
  var _useUIKitTheme = _interopRequireDefault(require("../../theme/useUIKitTheme"));
23
-
24
15
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
25
-
26
16
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
27
-
28
17
  const AlignMapper = {
29
18
  left: 'flex-start',
30
19
  center: 'center',
31
20
  right: 'flex-end'
32
21
  };
33
-
34
22
  const Header = _ref => {
35
23
  let {
36
24
  children,
@@ -58,7 +46,6 @@ const Header = _ref => {
58
46
  } = (0, _reactNativeSafeAreaContext.useSafeAreaInsets)();
59
47
  const actualTitleAlign = titleAlign ?? defaultTitleAlign;
60
48
  const actualTopInset = clearStatusBarTopInset ? 0 : topInset;
61
-
62
49
  if (!title && !left && !right) {
63
50
  return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
64
51
  style: {
@@ -67,7 +54,6 @@ const Header = _ref => {
67
54
  }
68
55
  }, children);
69
56
  }
70
-
71
57
  return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
72
58
  style: [styles.container, {
73
59
  [statusBarTopInsetAs === 'padding' ? 'paddingTop' : 'marginTop']: actualTopInset,
@@ -96,14 +82,12 @@ const Header = _ref => {
96
82
  onPressRight: onPressRight
97
83
  })), children);
98
84
  };
99
-
100
85
  const LeftSide = _ref2 => {
101
86
  let {
102
87
  titleAlign,
103
88
  onPressLeft,
104
89
  left
105
90
  } = _ref2;
106
-
107
91
  if (titleAlign === 'center') {
108
92
  return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
109
93
  style: styles.left
@@ -111,7 +95,6 @@ const LeftSide = _ref2 => {
111
95
  onPress: onPressLeft
112
96
  }, left));
113
97
  }
114
-
115
98
  if (!left) return null;
116
99
  return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
117
100
  style: styles.left
@@ -119,14 +102,12 @@ const LeftSide = _ref2 => {
119
102
  onPress: onPressLeft
120
103
  }, left));
121
104
  };
122
-
123
105
  const RightSide = _ref3 => {
124
106
  let {
125
107
  titleAlign,
126
108
  onPressRight,
127
109
  right
128
110
  } = _ref3;
129
-
130
111
  if (titleAlign === 'center') {
131
112
  return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
132
113
  style: styles.right
@@ -134,7 +115,6 @@ const RightSide = _ref3 => {
134
115
  onPress: onPressRight
135
116
  }, right));
136
117
  }
137
-
138
118
  if (!right) return null;
139
119
  return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
140
120
  style: styles.right
@@ -142,7 +122,6 @@ const RightSide = _ref3 => {
142
122
  onPress: onPressRight
143
123
  }, right));
144
124
  };
145
-
146
125
  const HeaderTitle = _ref4 => {
147
126
  let {
148
127
  children,
@@ -155,7 +134,6 @@ const HeaderTitle = _ref4 => {
155
134
  style: style
156
135
  }), children);
157
136
  };
158
-
159
137
  const HeaderSubtitle = _ref5 => {
160
138
  let {
161
139
  children,
@@ -173,7 +151,6 @@ const HeaderSubtitle = _ref5 => {
173
151
  style: style
174
152
  }), children);
175
153
  };
176
-
177
154
  const HeaderButton = _ref6 => {
178
155
  let {
179
156
  children,
@@ -194,7 +171,6 @@ const HeaderButton = _ref6 => {
194
171
  color: color
195
172
  }, children), children]));
196
173
  };
197
-
198
174
  const styles = (0, _createStyleSheet.default)({
199
175
  container: {
200
176
  paddingHorizontal: 12,
@@ -1 +1 @@
1
- {"version":3,"names":["AlignMapper","left","center","right","Header","children","titleAlign","title","onPressLeft","onPressRight","clearTitleMargin","clearStatusBarTopInset","statusBarTopInsetAs","topInset","defaultTitleAlign","defaultHeight","useHeaderStyle","colors","useUIKitTheme","paddingLeft","paddingRight","useSafeAreaInsets","actualTitleAlign","actualTopInset","paddingTop","backgroundColor","ui","header","nav","none","background","styles","container","paddingHorizontal","borderBottomColor","borderBottom","height","marginHorizontal","justifyContent","LeftSide","RightSide","HeaderTitle","style","props","HeaderSubtitle","onBackground03","HeaderButton","disabled","onPress","color","button","e","conditionChaining","createStyleSheet","borderBottomWidth","flexDirection","flex","alignItems","minWidth","marginRight","marginLeft","padding","Button","Title","Subtitle"],"sources":["index.tsx"],"sourcesContent":["import React from 'react';\nimport { TouchableOpacity, TouchableOpacityProps, View } from 'react-native';\nimport { useSafeAreaInsets } from 'react-native-safe-area-context';\n\nimport { conditionChaining } from '@sendbird/uikit-utils';\n\nimport Text, { TextProps } from '../../components/Text';\nimport type { BaseHeaderProps } from '../../index';\nimport createStyleSheet from '../../styles/createStyleSheet';\nimport useHeaderStyle from '../../styles/useHeaderStyle';\nimport useUIKitTheme from '../../theme/useUIKitTheme';\n\ntype HeaderElement = string | React.ReactElement | null;\nexport type HeaderProps = BaseHeaderProps<\n {\n title?: HeaderElement;\n left?: HeaderElement;\n right?: HeaderElement;\n onPressLeft?: () => void;\n onPressRight?: () => void;\n },\n {\n clearTitleMargin?: boolean;\n clearStatusBarTopInset?: boolean;\n statusBarTopInsetAs?: 'padding' | 'margin';\n }\n>;\n\nconst AlignMapper = { left: 'flex-start', center: 'center', right: 'flex-end' } as const;\nconst Header: ((props: HeaderProps) => JSX.Element) & {\n Button: typeof HeaderButton;\n Title: typeof HeaderTitle;\n Subtitle: typeof HeaderSubtitle;\n} = ({\n children,\n titleAlign,\n title = null,\n left = null,\n right = null,\n onPressLeft,\n onPressRight,\n clearTitleMargin = false,\n clearStatusBarTopInset = false,\n statusBarTopInsetAs = 'padding',\n}) => {\n const { topInset, defaultTitleAlign, defaultHeight } = useHeaderStyle();\n\n const { colors } = useUIKitTheme();\n const { left: paddingLeft, right: paddingRight } = useSafeAreaInsets();\n\n const actualTitleAlign = titleAlign ?? defaultTitleAlign;\n const actualTopInset = clearStatusBarTopInset ? 0 : topInset;\n\n if (!title && !left && !right) {\n return (\n <View style={{ paddingTop: actualTopInset, backgroundColor: colors.ui.header.nav.none.background }}>\n {children}\n </View>\n );\n }\n\n return (\n <View\n style={[\n styles.container,\n {\n [statusBarTopInsetAs === 'padding' ? 'paddingTop' : 'marginTop']: actualTopInset,\n paddingLeft: paddingLeft + styles.container.paddingHorizontal,\n paddingRight: paddingRight + styles.container.paddingHorizontal,\n backgroundColor: colors.ui.header.nav.none.background,\n borderBottomColor: colors.ui.header.nav.none.borderBottom,\n },\n ]}\n >\n <View style={[styles.header, { height: defaultHeight }]}>\n <LeftSide titleAlign={actualTitleAlign} left={left} onPressLeft={onPressLeft} />\n <View\n style={[\n styles.title,\n clearTitleMargin && { marginHorizontal: 0 },\n { justifyContent: AlignMapper[actualTitleAlign] },\n ]}\n >\n {typeof title === 'string' ? <HeaderTitle>{title}</HeaderTitle> : title}\n </View>\n <RightSide titleAlign={actualTitleAlign} right={right} onPressRight={onPressRight} />\n </View>\n {children}\n </View>\n );\n};\n\nconst LeftSide = ({ titleAlign, onPressLeft, left }: HeaderProps) => {\n if (titleAlign === 'center') {\n return <View style={styles.left}>{left && <HeaderButton onPress={onPressLeft}>{left}</HeaderButton>}</View>;\n }\n if (!left) return null;\n return (\n <View style={styles.left}>\n <HeaderButton onPress={onPressLeft}>{left}</HeaderButton>\n </View>\n );\n};\n\nconst RightSide = ({ titleAlign, onPressRight, right }: HeaderProps) => {\n if (titleAlign === 'center') {\n return <View style={styles.right}>{right && <HeaderButton onPress={onPressRight}>{right}</HeaderButton>}</View>;\n }\n if (!right) return null;\n return (\n <View style={styles.right}>\n <HeaderButton onPress={onPressRight}>{right}</HeaderButton>\n </View>\n );\n};\n\nconst HeaderTitle = ({ children, style, ...props }: TextProps) => {\n return (\n <Text {...props} h1 numberOfLines={1} style={style}>\n {children}\n </Text>\n );\n};\nconst HeaderSubtitle = ({ children, style, ...props }: TextProps) => {\n const { colors } = useUIKitTheme();\n return (\n <Text color={colors.onBackground03} {...props} caption2 numberOfLines={1} style={style}>\n {children}\n </Text>\n );\n};\nconst HeaderButton = ({ children, disabled, onPress, color, ...props }: TouchableOpacityProps & { color?: string }) => {\n return (\n <TouchableOpacity\n style={styles.button}\n {...props}\n disabled={!onPress || disabled}\n onPress={(e) => onPress?.(e)}\n activeOpacity={0.7}\n >\n {conditionChaining(\n [typeof children === 'string' || typeof children === 'number'],\n [\n <Text button numberOfLines={1} color={color}>\n {children}\n </Text>,\n children,\n ],\n )}\n </TouchableOpacity>\n );\n};\n\nconst styles = createStyleSheet({\n container: {\n paddingHorizontal: 12,\n borderBottomWidth: 1,\n },\n header: {\n flexDirection: 'row',\n },\n title: {\n flex: 1,\n flexDirection: 'row',\n alignItems: 'center',\n marginHorizontal: 12,\n },\n left: {\n height: '100%',\n minWidth: 32,\n alignItems: 'center',\n justifyContent: 'center',\n marginRight: 12,\n },\n right: {\n height: '100%',\n minWidth: 32,\n alignItems: 'center',\n justifyContent: 'center',\n marginLeft: 12,\n },\n button: {\n padding: 4,\n },\n});\n\nHeader.Button = HeaderButton;\nHeader.Title = HeaderTitle;\nHeader.Subtitle = HeaderSubtitle;\nexport default Header;\n"],"mappings":"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"}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_reactNativeSafeAreaContext","_uikitUtils","_Text","_createStyleSheet","_useHeaderStyle","_useUIKitTheme","obj","__esModule","default","_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","AlignMapper","left","center","right","Header","_ref","children","titleAlign","title","onPressLeft","onPressRight","clearTitleMargin","clearStatusBarTopInset","statusBarTopInsetAs","topInset","defaultTitleAlign","defaultHeight","useHeaderStyle","colors","useUIKitTheme","paddingLeft","paddingRight","useSafeAreaInsets","actualTitleAlign","actualTopInset","createElement","View","style","paddingTop","backgroundColor","ui","header","nav","none","background","styles","container","paddingHorizontal","borderBottomColor","borderBottom","height","LeftSide","marginHorizontal","justifyContent","HeaderTitle","RightSide","_ref2","HeaderButton","onPress","_ref3","_ref4","props","h1","numberOfLines","HeaderSubtitle","_ref5","color","onBackground03","caption2","_ref6","disabled","TouchableOpacity","button","e","activeOpacity","conditionChaining","createStyleSheet","borderBottomWidth","flexDirection","flex","alignItems","minWidth","marginRight","marginLeft","padding","Button","Title","Subtitle","_default","exports"],"sources":["index.tsx"],"sourcesContent":["import React from 'react';\nimport { TouchableOpacity, TouchableOpacityProps, View } from 'react-native';\nimport { useSafeAreaInsets } from 'react-native-safe-area-context';\n\nimport { conditionChaining } from '@sendbird/uikit-utils';\n\nimport Text, { TextProps } from '../../components/Text';\nimport type { BaseHeaderProps } from '../../index';\nimport createStyleSheet from '../../styles/createStyleSheet';\nimport useHeaderStyle from '../../styles/useHeaderStyle';\nimport useUIKitTheme from '../../theme/useUIKitTheme';\n\ntype HeaderElement = string | React.ReactElement | null;\nexport type HeaderProps = BaseHeaderProps<\n {\n title?: HeaderElement;\n left?: HeaderElement;\n right?: HeaderElement;\n onPressLeft?: () => void;\n onPressRight?: () => void;\n },\n {\n clearTitleMargin?: boolean;\n clearStatusBarTopInset?: boolean;\n statusBarTopInsetAs?: 'padding' | 'margin';\n }\n>;\n\nconst AlignMapper = { left: 'flex-start', center: 'center', right: 'flex-end' } as const;\nconst Header: ((props: HeaderProps) => JSX.Element) & {\n Button: typeof HeaderButton;\n Title: typeof HeaderTitle;\n Subtitle: typeof HeaderSubtitle;\n} = ({\n children,\n titleAlign,\n title = null,\n left = null,\n right = null,\n onPressLeft,\n onPressRight,\n clearTitleMargin = false,\n clearStatusBarTopInset = false,\n statusBarTopInsetAs = 'padding',\n}) => {\n const { topInset, defaultTitleAlign, defaultHeight } = useHeaderStyle();\n\n const { colors } = useUIKitTheme();\n const { left: paddingLeft, right: paddingRight } = useSafeAreaInsets();\n\n const actualTitleAlign = titleAlign ?? defaultTitleAlign;\n const actualTopInset = clearStatusBarTopInset ? 0 : topInset;\n\n if (!title && !left && !right) {\n return (\n <View style={{ paddingTop: actualTopInset, backgroundColor: colors.ui.header.nav.none.background }}>\n {children}\n </View>\n );\n }\n\n return (\n <View\n style={[\n styles.container,\n {\n [statusBarTopInsetAs === 'padding' ? 'paddingTop' : 'marginTop']: actualTopInset,\n paddingLeft: paddingLeft + styles.container.paddingHorizontal,\n paddingRight: paddingRight + styles.container.paddingHorizontal,\n backgroundColor: colors.ui.header.nav.none.background,\n borderBottomColor: colors.ui.header.nav.none.borderBottom,\n },\n ]}\n >\n <View style={[styles.header, { height: defaultHeight }]}>\n <LeftSide titleAlign={actualTitleAlign} left={left} onPressLeft={onPressLeft} />\n <View\n style={[\n styles.title,\n clearTitleMargin && { marginHorizontal: 0 },\n { justifyContent: AlignMapper[actualTitleAlign] },\n ]}\n >\n {typeof title === 'string' ? <HeaderTitle>{title}</HeaderTitle> : title}\n </View>\n <RightSide titleAlign={actualTitleAlign} right={right} onPressRight={onPressRight} />\n </View>\n {children}\n </View>\n );\n};\n\nconst LeftSide = ({ titleAlign, onPressLeft, left }: HeaderProps) => {\n if (titleAlign === 'center') {\n return <View style={styles.left}>{left && <HeaderButton onPress={onPressLeft}>{left}</HeaderButton>}</View>;\n }\n if (!left) return null;\n return (\n <View style={styles.left}>\n <HeaderButton onPress={onPressLeft}>{left}</HeaderButton>\n </View>\n );\n};\n\nconst RightSide = ({ titleAlign, onPressRight, right }: HeaderProps) => {\n if (titleAlign === 'center') {\n return <View style={styles.right}>{right && <HeaderButton onPress={onPressRight}>{right}</HeaderButton>}</View>;\n }\n if (!right) return null;\n return (\n <View style={styles.right}>\n <HeaderButton onPress={onPressRight}>{right}</HeaderButton>\n </View>\n );\n};\n\nconst HeaderTitle = ({ children, style, ...props }: TextProps) => {\n return (\n <Text {...props} h1 numberOfLines={1} style={style}>\n {children}\n </Text>\n );\n};\nconst HeaderSubtitle = ({ children, style, ...props }: TextProps) => {\n const { colors } = useUIKitTheme();\n return (\n <Text color={colors.onBackground03} {...props} caption2 numberOfLines={1} style={style}>\n {children}\n </Text>\n );\n};\nconst HeaderButton = ({ children, disabled, onPress, color, ...props }: TouchableOpacityProps & { color?: string }) => {\n return (\n <TouchableOpacity\n style={styles.button}\n {...props}\n disabled={!onPress || disabled}\n onPress={(e) => onPress?.(e)}\n activeOpacity={0.7}\n >\n {conditionChaining(\n [typeof children === 'string' || typeof children === 'number'],\n [\n <Text button numberOfLines={1} color={color}>\n {children}\n </Text>,\n children,\n ],\n )}\n </TouchableOpacity>\n );\n};\n\nconst styles = createStyleSheet({\n container: {\n paddingHorizontal: 12,\n borderBottomWidth: 1,\n },\n header: {\n flexDirection: 'row',\n },\n title: {\n flex: 1,\n flexDirection: 'row',\n alignItems: 'center',\n marginHorizontal: 12,\n },\n left: {\n height: '100%',\n minWidth: 32,\n alignItems: 'center',\n justifyContent: 'center',\n marginRight: 12,\n },\n right: {\n height: '100%',\n minWidth: 32,\n alignItems: 'center',\n justifyContent: 'center',\n marginLeft: 12,\n },\n button: {\n padding: 4,\n },\n});\n\nHeader.Button = HeaderButton;\nHeader.Title = HeaderTitle;\nHeader.Subtitle = HeaderSubtitle;\nexport default Header;\n"],"mappings":"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"}
@@ -4,21 +4,13 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
-
8
7
  var _react = _interopRequireWildcard(require("react"));
9
-
10
8
  var _reactNative = require("react-native");
11
-
12
9
  var _Icon = _interopRequireDefault(require("../../components/Icon"));
13
-
14
10
  var _useUIKitTheme = _interopRequireDefault(require("../../theme/useUIKitTheme"));
15
-
16
11
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
-
18
12
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
19
-
20
13
  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; }
21
-
22
14
  const LoadingSpinner = _ref => {
23
15
  let {
24
16
  size = 24,
@@ -36,7 +28,6 @@ const LoadingSpinner = _ref => {
36
28
  color: color ?? colors.primary
37
29
  }));
38
30
  };
39
-
40
31
  const useLoopAnimated = function (duration) {
41
32
  let useNativeDriver = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
42
33
  const animated = (0, _react.useRef)(new _reactNative.Animated.Value(0)).current;
@@ -49,7 +40,6 @@ const useLoopAnimated = function (duration) {
49
40
  }), {
50
41
  resetBeforeIteration: true
51
42
  }).start();
52
-
53
43
  return () => {
54
44
  animated.stopAnimation();
55
45
  animated.setValue(0);
@@ -57,7 +47,6 @@ const useLoopAnimated = function (duration) {
57
47
  }, []);
58
48
  return animated;
59
49
  };
60
-
61
50
  const Rotate = _ref2 => {
62
51
  let {
63
52
  children,
@@ -76,7 +65,6 @@ const Rotate = _ref2 => {
76
65
  }]
77
66
  }, children);
78
67
  };
79
-
80
68
  var _default = LoadingSpinner;
81
69
  exports.default = _default;
82
70
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["LoadingSpinner","size","color","style","colors","useUIKitTheme","primary","useLoopAnimated","duration","useNativeDriver","animated","useRef","Animated","Value","current","useEffect","loop","timing","toValue","easing","Easing","inOut","linear","resetBeforeIteration","start","stopAnimation","setValue","Rotate","children","rotate","interpolate","inputRange","outputRange","transform"],"sources":["index.tsx"],"sourcesContent":["import React, { useEffect, useRef } from 'react';\nimport { Animated, Easing, StyleProp, ViewStyle } from 'react-native';\n\nimport Icon from '../../components/Icon';\nimport useUIKitTheme from '../../theme/useUIKitTheme';\n\ntype Props = {\n size?: number;\n color?: string;\n style?: StyleProp<ViewStyle>;\n};\n\nconst LoadingSpinner = ({ size = 24, color, style }: Props) => {\n const { colors } = useUIKitTheme();\n return (\n <Rotate style={style}>\n <Icon icon={'spinner'} size={size} color={color ?? colors.primary} />\n </Rotate>\n );\n};\n\nconst useLoopAnimated = (duration: number, useNativeDriver = true) => {\n const animated = useRef(new Animated.Value(0)).current;\n\n useEffect(() => {\n Animated.loop(\n Animated.timing(animated, { toValue: 1, duration, useNativeDriver, easing: Easing.inOut(Easing.linear) }),\n { resetBeforeIteration: true },\n ).start();\n\n return () => {\n animated.stopAnimation();\n animated.setValue(0);\n };\n }, []);\n\n return animated;\n};\n\nconst Rotate = ({ children, style }: React.PropsWithChildren<{ style: StyleProp<ViewStyle> }>) => {\n const loop = useLoopAnimated(1000);\n const rotate = loop.interpolate({ inputRange: [0, 1], outputRange: ['0deg', '360deg'] });\n return <Animated.View style={[style, { transform: [{ rotate }] }]}>{children}</Animated.View>;\n};\n\nexport default LoadingSpinner;\n"],"mappings":";;;;;;;AAAA;;AACA;;AAEA;;AACA;;;;;;;;AAQA,MAAMA,cAAc,GAAG,QAAwC;EAAA,IAAvC;IAAEC,IAAI,GAAG,EAAT;IAAaC,KAAb;IAAoBC;EAApB,CAAuC;EAC7D,MAAM;IAAEC;EAAF,IAAa,IAAAC,sBAAA,GAAnB;EACA,oBACE,6BAAC,MAAD;IAAQ,KAAK,EAAEF;EAAf,gBACE,6BAAC,aAAD;IAAM,IAAI,EAAE,SAAZ;IAAuB,IAAI,EAAEF,IAA7B;IAAmC,KAAK,EAAEC,KAAK,IAAIE,MAAM,CAACE;EAA1D,EADF,CADF;AAKD,CAPD;;AASA,MAAMC,eAAe,GAAG,UAACC,QAAD,EAA8C;EAAA,IAA3BC,eAA2B,uEAAT,IAAS;EACpE,MAAMC,QAAQ,GAAG,IAAAC,aAAA,EAAO,IAAIC,qBAAA,CAASC,KAAb,CAAmB,CAAnB,CAAP,EAA8BC,OAA/C;EAEA,IAAAC,gBAAA,EAAU,MAAM;IACdH,qBAAA,CAASI,IAAT,CACEJ,qBAAA,CAASK,MAAT,CAAgBP,QAAhB,EAA0B;MAAEQ,OAAO,EAAE,CAAX;MAAcV,QAAd;MAAwBC,eAAxB;MAAyCU,MAAM,EAAEC,mBAAA,CAAOC,KAAP,CAAaD,mBAAA,CAAOE,MAApB;IAAjD,CAA1B,CADF,EAEE;MAAEC,oBAAoB,EAAE;IAAxB,CAFF,EAGEC,KAHF;;IAKA,OAAO,MAAM;MACXd,QAAQ,CAACe,aAAT;MACAf,QAAQ,CAACgB,QAAT,CAAkB,CAAlB;IACD,CAHD;EAID,CAVD,EAUG,EAVH;EAYA,OAAOhB,QAAP;AACD,CAhBD;;AAkBA,MAAMiB,MAAM,GAAG,SAAmF;EAAA,IAAlF;IAAEC,QAAF;IAAYzB;EAAZ,CAAkF;EAChG,MAAMa,IAAI,GAAGT,eAAe,CAAC,IAAD,CAA5B;EACA,MAAMsB,MAAM,GAAGb,IAAI,CAACc,WAAL,CAAiB;IAAEC,UAAU,EAAE,CAAC,CAAD,EAAI,CAAJ,CAAd;IAAsBC,WAAW,EAAE,CAAC,MAAD,EAAS,QAAT;EAAnC,CAAjB,CAAf;EACA,oBAAO,6BAAC,qBAAD,CAAU,IAAV;IAAe,KAAK,EAAE,CAAC7B,KAAD,EAAQ;MAAE8B,SAAS,EAAE,CAAC;QAAEJ;MAAF,CAAD;IAAb,CAAR;EAAtB,GAA6DD,QAA7D,CAAP;AACD,CAJD;;eAMe5B,c"}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_Icon","_interopRequireDefault","_useUIKitTheme","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","LoadingSpinner","_ref","size","color","style","colors","useUIKitTheme","createElement","Rotate","icon","primary","useLoopAnimated","duration","useNativeDriver","arguments","length","undefined","animated","useRef","Animated","Value","current","useEffect","loop","timing","toValue","easing","Easing","inOut","linear","resetBeforeIteration","start","stopAnimation","setValue","_ref2","children","rotate","interpolate","inputRange","outputRange","View","transform","_default","exports"],"sources":["index.tsx"],"sourcesContent":["import React, { useEffect, useRef } from 'react';\nimport { Animated, Easing, StyleProp, ViewStyle } from 'react-native';\n\nimport Icon from '../../components/Icon';\nimport useUIKitTheme from '../../theme/useUIKitTheme';\n\ntype Props = {\n size?: number;\n color?: string;\n style?: StyleProp<ViewStyle>;\n};\n\nconst LoadingSpinner = ({ size = 24, color, style }: Props) => {\n const { colors } = useUIKitTheme();\n return (\n <Rotate style={style}>\n <Icon icon={'spinner'} size={size} color={color ?? colors.primary} />\n </Rotate>\n );\n};\n\nconst useLoopAnimated = (duration: number, useNativeDriver = true) => {\n const animated = useRef(new Animated.Value(0)).current;\n\n useEffect(() => {\n Animated.loop(\n Animated.timing(animated, { toValue: 1, duration, useNativeDriver, easing: Easing.inOut(Easing.linear) }),\n { resetBeforeIteration: true },\n ).start();\n\n return () => {\n animated.stopAnimation();\n animated.setValue(0);\n };\n }, []);\n\n return animated;\n};\n\nconst Rotate = ({ children, style }: React.PropsWithChildren<{ style: StyleProp<ViewStyle> }>) => {\n const loop = useLoopAnimated(1000);\n const rotate = loop.interpolate({ inputRange: [0, 1], outputRange: ['0deg', '360deg'] });\n return <Animated.View style={[style, { transform: [{ rotate }] }]}>{children}</Animated.View>;\n};\n\nexport default LoadingSpinner;\n"],"mappings":"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"}
@@ -4,25 +4,15 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
-
8
7
  var _react = _interopRequireDefault(require("react"));
9
-
10
8
  var _reactNative = require("react-native");
11
-
12
9
  var _uikitUtils = require("@sendbird/uikit-utils");
13
-
14
10
  var _Divider = _interopRequireDefault(require("../../components/Divider"));
15
-
16
11
  var _Icon = _interopRequireDefault(require("../../components/Icon"));
17
-
18
12
  var _Text = _interopRequireDefault(require("../../components/Text"));
19
-
20
13
  var _createStyleSheet = _interopRequireDefault(require("../../styles/createStyleSheet"));
21
-
22
14
  var _useUIKitTheme = _interopRequireDefault(require("../../theme/useUIKitTheme"));
23
-
24
15
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
25
-
26
16
  const MenuBar = _ref => {
27
17
  let {
28
18
  variant = 'default',
@@ -63,7 +53,6 @@ const MenuBar = _ref => {
63
53
  style: styles.actionLabel
64
54
  }, actionLabel), actionItem), /*#__PURE__*/_react.default.createElement(_Divider.default, null));
65
55
  };
66
-
67
56
  const styles = (0, _createStyleSheet.default)({
68
57
  container: {
69
58
  paddingVertical: 16,
@@ -1 +1 @@
1
- {"version":3,"names":["MenuBar","variant","disabled","visible","onPress","name","icon","iconColor","iconBackgroundColor","actionLabel","actionItem","palette","colors","useUIKitTheme","styles","container","conditionChaining","background50","primary","containedIcon","backgroundColor","background400","Boolean","onBackground02","createStyleSheet","paddingVertical","flexDirection","alignItems","flex","marginRight","borderRadius","padding"],"sources":["index.tsx"],"sourcesContent":["import React from 'react';\nimport { Pressable, View } from 'react-native';\n\nimport { conditionChaining } from '@sendbird/uikit-utils';\n\nimport Divider from '../../components/Divider';\nimport Icon from '../../components/Icon';\nimport Text from '../../components/Text';\nimport createStyleSheet from '../../styles/createStyleSheet';\nimport useUIKitTheme from '../../theme/useUIKitTheme';\n\nexport type MenuBarProps = {\n variant?: 'default' | 'contained';\n\n onPress: () => void;\n disabled?: boolean;\n visible?: boolean;\n\n icon: keyof typeof Icon.Assets;\n iconColor?: string;\n iconBackgroundColor?: string;\n name: string;\n\n actionLabel?: string;\n actionItem?: React.ReactNode;\n};\nconst MenuBar = ({\n variant = 'default',\n disabled,\n visible = true,\n onPress,\n name,\n icon,\n iconColor,\n iconBackgroundColor,\n actionLabel,\n actionItem = null,\n}: MenuBarProps) => {\n const { palette, colors } = useUIKitTheme();\n\n if (!visible) return null;\n\n return (\n <View>\n <Pressable disabled={disabled} onPress={onPress} style={styles.container}>\n {icon && (\n <Icon\n icon={icon}\n size={variant === 'contained' ? 16 : 24}\n color={conditionChaining(\n [variant === 'contained', iconColor],\n [palette.background50, iconColor, colors.primary],\n )}\n containerStyle={[\n styles.icon,\n variant === 'contained' && styles.containedIcon,\n variant === 'contained' && { backgroundColor: iconBackgroundColor ?? palette.background400 },\n ]}\n />\n )}\n <Text subtitle2 numberOfLines={1} style={styles.name}>\n {name}\n </Text>\n {Boolean(actionLabel) && (\n <Text subtitle2 numberOfLines={1} color={colors.onBackground02} style={styles.actionLabel}>\n {actionLabel}\n </Text>\n )}\n {actionItem}\n </Pressable>\n <Divider />\n </View>\n );\n};\n\nconst styles = createStyleSheet({\n container: {\n paddingVertical: 16,\n flexDirection: 'row',\n alignItems: 'center',\n },\n name: {\n flex: 1,\n marginRight: 8,\n },\n icon: {\n marginRight: 16,\n },\n containedIcon: {\n borderRadius: 24,\n padding: 4,\n },\n actionLabel: {\n marginRight: 4,\n },\n});\n\nexport default MenuBar;\n"],"mappings":";;;;;;;AAAA;;AACA;;AAEA;;AAEA;;AACA;;AACA;;AACA;;AACA;;;;AAiBA,MAAMA,OAAO,GAAG,QAWI;EAAA,IAXH;IACfC,OAAO,GAAG,SADK;IAEfC,QAFe;IAGfC,OAAO,GAAG,IAHK;IAIfC,OAJe;IAKfC,IALe;IAMfC,IANe;IAOfC,SAPe;IAQfC,mBARe;IASfC,WATe;IAUfC,UAAU,GAAG;EAVE,CAWG;EAClB,MAAM;IAAEC,OAAF;IAAWC;EAAX,IAAsB,IAAAC,sBAAA,GAA5B;EAEA,IAAI,CAACV,OAAL,EAAc,OAAO,IAAP;EAEd,oBACE,6BAAC,iBAAD,qBACE,6BAAC,sBAAD;IAAW,QAAQ,EAAED,QAArB;IAA+B,OAAO,EAAEE,OAAxC;IAAiD,KAAK,EAAEU,MAAM,CAACC;EAA/D,GACGT,IAAI,iBACH,6BAAC,aAAD;IACE,IAAI,EAAEA,IADR;IAEE,IAAI,EAAEL,OAAO,KAAK,WAAZ,GAA0B,EAA1B,GAA+B,EAFvC;IAGE,KAAK,EAAE,IAAAe,6BAAA,EACL,CAACf,OAAO,KAAK,WAAb,EAA0BM,SAA1B,CADK,EAEL,CAACI,OAAO,CAACM,YAAT,EAAuBV,SAAvB,EAAkCK,MAAM,CAACM,OAAzC,CAFK,CAHT;IAOE,cAAc,EAAE,CACdJ,MAAM,CAACR,IADO,EAEdL,OAAO,KAAK,WAAZ,IAA2Ba,MAAM,CAACK,aAFpB,EAGdlB,OAAO,KAAK,WAAZ,IAA2B;MAAEmB,eAAe,EAAEZ,mBAAmB,IAAIG,OAAO,CAACU;IAAlD,CAHb;EAPlB,EAFJ,eAgBE,6BAAC,aAAD;IAAM,SAAS,MAAf;IAAgB,aAAa,EAAE,CAA/B;IAAkC,KAAK,EAAEP,MAAM,CAACT;EAAhD,GACGA,IADH,CAhBF,EAmBGiB,OAAO,CAACb,WAAD,CAAP,iBACC,6BAAC,aAAD;IAAM,SAAS,MAAf;IAAgB,aAAa,EAAE,CAA/B;IAAkC,KAAK,EAAEG,MAAM,CAACW,cAAhD;IAAgE,KAAK,EAAET,MAAM,CAACL;EAA9E,GACGA,WADH,CApBJ,EAwBGC,UAxBH,CADF,eA2BE,6BAAC,gBAAD,OA3BF,CADF;AA+BD,CA/CD;;AAiDA,MAAMI,MAAM,GAAG,IAAAU,yBAAA,EAAiB;EAC9BT,SAAS,EAAE;IACTU,eAAe,EAAE,EADR;IAETC,aAAa,EAAE,KAFN;IAGTC,UAAU,EAAE;EAHH,CADmB;EAM9BtB,IAAI,EAAE;IACJuB,IAAI,EAAE,CADF;IAEJC,WAAW,EAAE;EAFT,CANwB;EAU9BvB,IAAI,EAAE;IACJuB,WAAW,EAAE;EADT,CAVwB;EAa9BV,aAAa,EAAE;IACbW,YAAY,EAAE,EADD;IAEbC,OAAO,EAAE;EAFI,CAbe;EAiB9BtB,WAAW,EAAE;IACXoB,WAAW,EAAE;EADF;AAjBiB,CAAjB,CAAf;eAsBe7B,O"}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_uikitUtils","_Divider","_Icon","_Text","_createStyleSheet","_useUIKitTheme","obj","__esModule","default","MenuBar","_ref","variant","disabled","visible","onPress","name","icon","iconColor","iconBackgroundColor","actionLabel","actionItem","palette","colors","useUIKitTheme","createElement","View","Pressable","style","styles","container","size","color","conditionChaining","background50","primary","containerStyle","containedIcon","backgroundColor","background400","subtitle2","numberOfLines","Boolean","onBackground02","createStyleSheet","paddingVertical","flexDirection","alignItems","flex","marginRight","borderRadius","padding","_default","exports"],"sources":["index.tsx"],"sourcesContent":["import React from 'react';\nimport { Pressable, View } from 'react-native';\n\nimport { conditionChaining } from '@sendbird/uikit-utils';\n\nimport Divider from '../../components/Divider';\nimport Icon from '../../components/Icon';\nimport Text from '../../components/Text';\nimport createStyleSheet from '../../styles/createStyleSheet';\nimport useUIKitTheme from '../../theme/useUIKitTheme';\n\nexport type MenuBarProps = {\n variant?: 'default' | 'contained';\n\n onPress: () => void;\n disabled?: boolean;\n visible?: boolean;\n\n icon: keyof typeof Icon.Assets;\n iconColor?: string;\n iconBackgroundColor?: string;\n name: string;\n\n actionLabel?: string;\n actionItem?: React.ReactNode;\n};\nconst MenuBar = ({\n variant = 'default',\n disabled,\n visible = true,\n onPress,\n name,\n icon,\n iconColor,\n iconBackgroundColor,\n actionLabel,\n actionItem = null,\n}: MenuBarProps) => {\n const { palette, colors } = useUIKitTheme();\n\n if (!visible) return null;\n\n return (\n <View>\n <Pressable disabled={disabled} onPress={onPress} style={styles.container}>\n {icon && (\n <Icon\n icon={icon}\n size={variant === 'contained' ? 16 : 24}\n color={conditionChaining(\n [variant === 'contained', iconColor],\n [palette.background50, iconColor, colors.primary],\n )}\n containerStyle={[\n styles.icon,\n variant === 'contained' && styles.containedIcon,\n variant === 'contained' && { backgroundColor: iconBackgroundColor ?? palette.background400 },\n ]}\n />\n )}\n <Text subtitle2 numberOfLines={1} style={styles.name}>\n {name}\n </Text>\n {Boolean(actionLabel) && (\n <Text subtitle2 numberOfLines={1} color={colors.onBackground02} style={styles.actionLabel}>\n {actionLabel}\n </Text>\n )}\n {actionItem}\n </Pressable>\n <Divider />\n </View>\n );\n};\n\nconst styles = createStyleSheet({\n container: {\n paddingVertical: 16,\n flexDirection: 'row',\n alignItems: 'center',\n },\n name: {\n flex: 1,\n marginRight: 8,\n },\n icon: {\n marginRight: 16,\n },\n containedIcon: {\n borderRadius: 24,\n padding: 4,\n },\n actionLabel: {\n marginRight: 4,\n },\n});\n\nexport default MenuBar;\n"],"mappings":"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"}
@@ -4,17 +4,11 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
-
8
7
  var _react = _interopRequireDefault(require("react"));
9
-
10
8
  var _Box = _interopRequireDefault(require("../../components/Box"));
11
-
12
9
  var _Text = _interopRequireDefault(require("../../components/Text"));
13
-
14
10
  var _useUIKitTheme = _interopRequireDefault(require("../../theme/useUIKitTheme"));
15
-
16
11
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
-
18
12
  const AdminMessage = props => {
19
13
  const {
20
14
  colors
@@ -34,7 +28,6 @@ const AdminMessage = props => {
34
28
  color: colors.onBackground02
35
29
  }, props.message.message)));
36
30
  };
37
-
38
31
  var _default = AdminMessage;
39
32
  exports.default = _default;
40
33
  //# sourceMappingURL=Message.admin.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["AdminMessage","props","colors","useUIKitTheme","color","ui","openChannelMessage","default","background","enabled","adminBackground","onBackground02","message"],"sources":["Message.admin.tsx"],"sourcesContent":["import React from 'react';\n\nimport type { SendbirdAdminMessage } from '@sendbird/uikit-utils';\n\nimport Box from '../../components/Box';\nimport Text from '../../components/Text';\nimport useUIKitTheme from '../../theme/useUIKitTheme';\nimport type { OpenChannelMessageProps } from './index';\n\nconst AdminMessage = (props: OpenChannelMessageProps<SendbirdAdminMessage>) => {\n const { colors } = useUIKitTheme();\n const color = colors.ui.openChannelMessage.default;\n return (\n <Box marginVertical={8} paddingHorizontal={12} backgroundColor={colors.background}>\n <Box borderRadius={8} paddingHorizontal={16} paddingVertical={14} backgroundColor={color.enabled.adminBackground}>\n <Text caption2 color={colors.onBackground02}>\n {props.message.message}\n </Text>\n </Box>\n </Box>\n );\n};\n\nexport default AdminMessage;\n"],"mappings":";;;;;;;AAAA;;AAIA;;AACA;;AACA;;;;AAGA,MAAMA,YAAY,GAAIC,KAAD,IAA0D;EAC7E,MAAM;IAAEC;EAAF,IAAa,IAAAC,sBAAA,GAAnB;EACA,MAAMC,KAAK,GAAGF,MAAM,CAACG,EAAP,CAAUC,kBAAV,CAA6BC,OAA3C;EACA,oBACE,6BAAC,YAAD;IAAK,cAAc,EAAE,CAArB;IAAwB,iBAAiB,EAAE,EAA3C;IAA+C,eAAe,EAAEL,MAAM,CAACM;EAAvE,gBACE,6BAAC,YAAD;IAAK,YAAY,EAAE,CAAnB;IAAsB,iBAAiB,EAAE,EAAzC;IAA6C,eAAe,EAAE,EAA9D;IAAkE,eAAe,EAAEJ,KAAK,CAACK,OAAN,CAAcC;EAAjG,gBACE,6BAAC,aAAD;IAAM,QAAQ,MAAd;IAAe,KAAK,EAAER,MAAM,CAACS;EAA7B,GACGV,KAAK,CAACW,OAAN,CAAcA,OADjB,CADF,CADF,CADF;AASD,CAZD;;eAceZ,Y"}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_Box","_Text","_useUIKitTheme","obj","__esModule","default","AdminMessage","props","colors","useUIKitTheme","color","ui","openChannelMessage","createElement","marginVertical","paddingHorizontal","backgroundColor","background","borderRadius","paddingVertical","enabled","adminBackground","caption2","onBackground02","message","_default","exports"],"sources":["Message.admin.tsx"],"sourcesContent":["import React from 'react';\n\nimport type { SendbirdAdminMessage } from '@sendbird/uikit-utils';\n\nimport Box from '../../components/Box';\nimport Text from '../../components/Text';\nimport useUIKitTheme from '../../theme/useUIKitTheme';\nimport type { OpenChannelMessageProps } from './index';\n\nconst AdminMessage = (props: OpenChannelMessageProps<SendbirdAdminMessage>) => {\n const { colors } = useUIKitTheme();\n const color = colors.ui.openChannelMessage.default;\n return (\n <Box marginVertical={8} paddingHorizontal={12} backgroundColor={colors.background}>\n <Box borderRadius={8} paddingHorizontal={16} paddingVertical={14} backgroundColor={color.enabled.adminBackground}>\n <Text caption2 color={colors.onBackground02}>\n {props.message.message}\n </Text>\n </Box>\n </Box>\n );\n};\n\nexport default AdminMessage;\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAIA,IAAAC,IAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,KAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,cAAA,GAAAJ,sBAAA,CAAAC,OAAA;AAAsD,SAAAD,uBAAAK,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAGtD,MAAMG,YAAY,GAAIC,KAAoD,IAAK;EAC7E,MAAM;IAAEC;EAAO,CAAC,GAAG,IAAAC,sBAAa,GAAE;EAClC,MAAMC,KAAK,GAAGF,MAAM,CAACG,EAAE,CAACC,kBAAkB,CAACP,OAAO;EAClD,oBACER,MAAA,CAAAQ,OAAA,CAAAQ,aAAA,CAACb,IAAA,CAAAK,OAAG;IAACS,cAAc,EAAE,CAAE;IAACC,iBAAiB,EAAE,EAAG;IAACC,eAAe,EAAER,MAAM,CAACS;EAAW,gBAChFpB,MAAA,CAAAQ,OAAA,CAAAQ,aAAA,CAACb,IAAA,CAAAK,OAAG;IAACa,YAAY,EAAE,CAAE;IAACH,iBAAiB,EAAE,EAAG;IAACI,eAAe,EAAE,EAAG;IAACH,eAAe,EAAEN,KAAK,CAACU,OAAO,CAACC;EAAgB,gBAC/GxB,MAAA,CAAAQ,OAAA,CAAAQ,aAAA,CAACZ,KAAA,CAAAI,OAAI;IAACiB,QAAQ;IAACZ,KAAK,EAAEF,MAAM,CAACe;EAAe,GACzChB,KAAK,CAACiB,OAAO,CAACA,OAAO,CACjB,CACH,CACF;AAEV,CAAC;AAAC,IAAAC,QAAA,GAEanB,YAAY;AAAAoB,OAAA,CAAArB,OAAA,GAAAoB,QAAA"}
@@ -4,23 +4,14 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
-
8
7
  var _react = _interopRequireDefault(require("react"));
9
-
10
8
  var _uikitUtils = require("@sendbird/uikit-utils");
11
-
12
9
  var _Box = _interopRequireDefault(require("../../components/Box"));
13
-
14
10
  var _ImageWithPlaceholder = _interopRequireDefault(require("../../components/ImageWithPlaceholder"));
15
-
16
11
  var _PressBox = _interopRequireDefault(require("../../components/PressBox"));
17
-
18
12
  var _createStyleSheet = _interopRequireDefault(require("../../styles/createStyleSheet"));
19
-
20
13
  var _MessageContainer = _interopRequireDefault(require("./MessageContainer"));
21
-
22
14
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
23
-
24
15
  const ImageFileMessage = props => {
25
16
  const {
26
17
  onPress,
@@ -45,7 +36,6 @@ const ImageFileMessage = props => {
45
36
  height: '100%'
46
37
  }))));
47
38
  };
48
-
49
39
  const styles = (0, _createStyleSheet.default)({
50
40
  container: {
51
41
  maxWidth: 296,