@sendbird/uikit-react-native-foundation 3.7.5 → 3.8.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 (336) hide show
  1. package/lib/commonjs/assets/bundle-icons.js.map +1 -1
  2. package/lib/commonjs/assets/icon/icon-thread.png +0 -0
  3. package/lib/commonjs/assets/icon/icon-thread@2x.png +0 -0
  4. package/lib/commonjs/assets/icon/icon-thread@3x.png +0 -0
  5. package/lib/commonjs/assets/icon/index.js +1 -2
  6. package/lib/commonjs/assets/icon/index.js.map +1 -1
  7. package/lib/commonjs/components/Box/index.js +8 -10
  8. package/lib/commonjs/components/Box/index.js.map +1 -1
  9. package/lib/commonjs/components/Divider/index.js +6 -8
  10. package/lib/commonjs/components/Divider/index.js.map +1 -1
  11. package/lib/commonjs/components/Icon/index.js +36 -18
  12. package/lib/commonjs/components/Icon/index.js.map +1 -1
  13. package/lib/commonjs/components/Image/FastImageInternal.js +1 -2
  14. package/lib/commonjs/components/Image/FastImageInternal.js.map +1 -1
  15. package/lib/commonjs/components/Image/Image.fastimage.js +14 -17
  16. package/lib/commonjs/components/Image/Image.fastimage.js.map +1 -1
  17. package/lib/commonjs/components/Image/Image.reactnative.js +10 -12
  18. package/lib/commonjs/components/Image/Image.reactnative.js.map +1 -1
  19. package/lib/commonjs/components/Image/index.js +1 -2
  20. package/lib/commonjs/components/Image/index.js.map +1 -1
  21. package/lib/commonjs/components/ImageWithPlaceholder/index.js +5 -7
  22. package/lib/commonjs/components/ImageWithPlaceholder/index.js.map +1 -1
  23. package/lib/commonjs/components/Modal/index.js +28 -37
  24. package/lib/commonjs/components/Modal/index.js.map +1 -1
  25. package/lib/commonjs/components/PressBox/index.js +17 -20
  26. package/lib/commonjs/components/PressBox/index.js.map +1 -1
  27. package/lib/commonjs/components/ProgressBar/index.js +24 -16
  28. package/lib/commonjs/components/ProgressBar/index.js.map +1 -1
  29. package/lib/commonjs/components/RegexText/index.js +11 -14
  30. package/lib/commonjs/components/RegexText/index.js.map +1 -1
  31. package/lib/commonjs/components/Switch/index.js +19 -19
  32. package/lib/commonjs/components/Switch/index.js.map +1 -1
  33. package/lib/commonjs/components/Text/index.js +46 -29
  34. package/lib/commonjs/components/Text/index.js.map +1 -1
  35. package/lib/commonjs/components/TextInput/index.js +38 -18
  36. package/lib/commonjs/components/TextInput/index.js.map +1 -1
  37. package/lib/commonjs/components/VideoThumbnail/index.js +11 -13
  38. package/lib/commonjs/components/VideoThumbnail/index.js.map +1 -1
  39. package/lib/commonjs/index.js +3 -3
  40. package/lib/commonjs/index.js.map +1 -1
  41. package/lib/commonjs/styles/HeaderStyleContext.js +8 -10
  42. package/lib/commonjs/styles/HeaderStyleContext.js.map +1 -1
  43. package/lib/commonjs/styles/createScaleFactor.js +3 -6
  44. package/lib/commonjs/styles/createScaleFactor.js.map +1 -1
  45. package/lib/commonjs/styles/createSelectByColorScheme.js +1 -2
  46. package/lib/commonjs/styles/createSelectByColorScheme.js.map +1 -1
  47. package/lib/commonjs/styles/createStyleSheet.js +9 -4
  48. package/lib/commonjs/styles/createStyleSheet.js.map +1 -1
  49. package/lib/commonjs/styles/createTypography.js +2 -5
  50. package/lib/commonjs/styles/createTypography.js.map +1 -1
  51. package/lib/commonjs/styles/getDefaultHeaderHeight.js +1 -2
  52. package/lib/commonjs/styles/getDefaultHeaderHeight.js.map +1 -1
  53. package/lib/commonjs/styles/useHeaderStyle.js +1 -2
  54. package/lib/commonjs/styles/useHeaderStyle.js.map +1 -1
  55. package/lib/commonjs/theme/DarkUIKitTheme.js +2 -3
  56. package/lib/commonjs/theme/DarkUIKitTheme.js.map +1 -1
  57. package/lib/commonjs/theme/LightUIKitTheme.js +2 -3
  58. package/lib/commonjs/theme/LightUIKitTheme.js.map +1 -1
  59. package/lib/commonjs/theme/Palette.js +1 -2
  60. package/lib/commonjs/theme/Palette.js.map +1 -1
  61. package/lib/commonjs/theme/UIKitThemeContext.js +2 -3
  62. package/lib/commonjs/theme/UIKitThemeContext.js.map +1 -1
  63. package/lib/commonjs/theme/UIKitThemeProvider.js +6 -8
  64. package/lib/commonjs/theme/UIKitThemeProvider.js.map +1 -1
  65. package/lib/commonjs/theme/createTheme.js +11 -13
  66. package/lib/commonjs/theme/createTheme.js.map +1 -1
  67. package/lib/commonjs/theme/useUIKitTheme.js +2 -3
  68. package/lib/commonjs/theme/useUIKitTheme.js.map +1 -1
  69. package/lib/commonjs/types.js.map +1 -1
  70. package/lib/commonjs/ui/ActionMenu/index.js +17 -17
  71. package/lib/commonjs/ui/ActionMenu/index.js.map +1 -1
  72. package/lib/commonjs/ui/Alert/index.js +23 -29
  73. package/lib/commonjs/ui/Alert/index.js.map +1 -1
  74. package/lib/commonjs/ui/Avatar/AvatarGroup.js +13 -15
  75. package/lib/commonjs/ui/Avatar/AvatarGroup.js.map +1 -1
  76. package/lib/commonjs/ui/Avatar/AvatarIcon.js +8 -10
  77. package/lib/commonjs/ui/Avatar/AvatarIcon.js.map +1 -1
  78. package/lib/commonjs/ui/Avatar/AvatarStack.js +13 -15
  79. package/lib/commonjs/ui/Avatar/AvatarStack.js.map +1 -1
  80. package/lib/commonjs/ui/Avatar/index.js +14 -17
  81. package/lib/commonjs/ui/Avatar/index.js.map +1 -1
  82. package/lib/commonjs/ui/Badge/index.js +10 -12
  83. package/lib/commonjs/ui/Badge/index.js.map +1 -1
  84. package/lib/commonjs/ui/BottomSheet/index.js +30 -39
  85. package/lib/commonjs/ui/BottomSheet/index.js.map +1 -1
  86. package/lib/commonjs/ui/Button/index.js +19 -23
  87. package/lib/commonjs/ui/Button/index.js.map +1 -1
  88. package/lib/commonjs/ui/ChannelFrozenBanner/index.js +8 -10
  89. package/lib/commonjs/ui/ChannelFrozenBanner/index.js.map +1 -1
  90. package/lib/commonjs/ui/Dialog/DialogBox.js +6 -8
  91. package/lib/commonjs/ui/Dialog/DialogBox.js.map +1 -1
  92. package/lib/commonjs/ui/Dialog/DialogSheet.js +23 -22
  93. package/lib/commonjs/ui/Dialog/DialogSheet.js.map +1 -1
  94. package/lib/commonjs/ui/Dialog/index.js +11 -12
  95. package/lib/commonjs/ui/Dialog/index.js.map +1 -1
  96. package/lib/commonjs/ui/GroupChannelMessage/Message.admin.js +2 -3
  97. package/lib/commonjs/ui/GroupChannelMessage/Message.admin.js.map +1 -1
  98. package/lib/commonjs/ui/GroupChannelMessage/Message.file.image.js +2 -3
  99. package/lib/commonjs/ui/GroupChannelMessage/Message.file.image.js.map +1 -1
  100. package/lib/commonjs/ui/GroupChannelMessage/Message.file.js +6 -8
  101. package/lib/commonjs/ui/GroupChannelMessage/Message.file.js.map +1 -1
  102. package/lib/commonjs/ui/GroupChannelMessage/Message.file.video.js +2 -3
  103. package/lib/commonjs/ui/GroupChannelMessage/Message.file.video.js.map +1 -1
  104. package/lib/commonjs/ui/GroupChannelMessage/Message.file.voice.js +8 -9
  105. package/lib/commonjs/ui/GroupChannelMessage/Message.file.voice.js.map +1 -1
  106. package/lib/commonjs/ui/GroupChannelMessage/Message.unknown.js +5 -7
  107. package/lib/commonjs/ui/GroupChannelMessage/Message.unknown.js.map +1 -1
  108. package/lib/commonjs/ui/GroupChannelMessage/Message.user.js +8 -12
  109. package/lib/commonjs/ui/GroupChannelMessage/Message.user.js.map +1 -1
  110. package/lib/commonjs/ui/GroupChannelMessage/Message.user.og.js +16 -20
  111. package/lib/commonjs/ui/GroupChannelMessage/Message.user.og.js.map +1 -1
  112. package/lib/commonjs/ui/GroupChannelMessage/MessageBubbleWithText.js +28 -24
  113. package/lib/commonjs/ui/GroupChannelMessage/MessageBubbleWithText.js.map +1 -1
  114. package/lib/commonjs/ui/GroupChannelMessage/MessageContainer.js +29 -31
  115. package/lib/commonjs/ui/GroupChannelMessage/MessageContainer.js.map +1 -1
  116. package/lib/commonjs/ui/GroupChannelMessage/MessageOpenGraph.js +38 -43
  117. package/lib/commonjs/ui/GroupChannelMessage/MessageOpenGraph.js.map +1 -1
  118. package/lib/commonjs/ui/GroupChannelMessage/index.js +2 -3
  119. package/lib/commonjs/ui/GroupChannelMessage/index.js.map +1 -1
  120. package/lib/commonjs/ui/GroupChannelPreview/index.js +55 -61
  121. package/lib/commonjs/ui/GroupChannelPreview/index.js.map +1 -1
  122. package/lib/commonjs/ui/Header/index.js +45 -56
  123. package/lib/commonjs/ui/Header/index.js.map +1 -1
  124. package/lib/commonjs/ui/LoadingSpinner/index.js +14 -18
  125. package/lib/commonjs/ui/LoadingSpinner/index.js.map +1 -1
  126. package/lib/commonjs/ui/MenuBar/index.js +23 -21
  127. package/lib/commonjs/ui/MenuBar/index.js.map +1 -1
  128. package/lib/commonjs/ui/OpenChannelMessage/Message.admin.js +2 -3
  129. package/lib/commonjs/ui/OpenChannelMessage/Message.admin.js.map +1 -1
  130. package/lib/commonjs/ui/OpenChannelMessage/Message.file.image.js +2 -3
  131. package/lib/commonjs/ui/OpenChannelMessage/Message.file.image.js.map +1 -1
  132. package/lib/commonjs/ui/OpenChannelMessage/Message.file.js +6 -8
  133. package/lib/commonjs/ui/OpenChannelMessage/Message.file.js.map +1 -1
  134. package/lib/commonjs/ui/OpenChannelMessage/Message.file.video.js +2 -3
  135. package/lib/commonjs/ui/OpenChannelMessage/Message.file.video.js.map +1 -1
  136. package/lib/commonjs/ui/OpenChannelMessage/Message.unknown.js +6 -8
  137. package/lib/commonjs/ui/OpenChannelMessage/Message.unknown.js.map +1 -1
  138. package/lib/commonjs/ui/OpenChannelMessage/Message.user.js +28 -20
  139. package/lib/commonjs/ui/OpenChannelMessage/Message.user.js.map +1 -1
  140. package/lib/commonjs/ui/OpenChannelMessage/Message.user.og.js +54 -49
  141. package/lib/commonjs/ui/OpenChannelMessage/Message.user.og.js.map +1 -1
  142. package/lib/commonjs/ui/OpenChannelMessage/MessageContainer.js +16 -19
  143. package/lib/commonjs/ui/OpenChannelMessage/MessageContainer.js.map +1 -1
  144. package/lib/commonjs/ui/OpenChannelMessage/index.js +2 -3
  145. package/lib/commonjs/ui/OpenChannelMessage/index.js.map +1 -1
  146. package/lib/commonjs/ui/OpenChannelPreview/index.js +25 -30
  147. package/lib/commonjs/ui/OpenChannelPreview/index.js.map +1 -1
  148. package/lib/commonjs/ui/OutlinedButton/index.js +7 -9
  149. package/lib/commonjs/ui/OutlinedButton/index.js.map +1 -1
  150. package/lib/commonjs/ui/Placeholder/index.js +9 -11
  151. package/lib/commonjs/ui/Placeholder/index.js.map +1 -1
  152. package/lib/commonjs/ui/ProfileCard/index.js +11 -12
  153. package/lib/commonjs/ui/ProfileCard/index.js.map +1 -1
  154. package/lib/commonjs/ui/Prompt/index.js +30 -37
  155. package/lib/commonjs/ui/Prompt/index.js.map +1 -1
  156. package/lib/commonjs/ui/Toast/index.js +21 -27
  157. package/lib/commonjs/ui/Toast/index.js.map +1 -1
  158. package/lib/commonjs/ui/TypingIndicatorBubble/index.js +25 -32
  159. package/lib/commonjs/ui/TypingIndicatorBubble/index.js.map +1 -1
  160. package/lib/module/assets/bundle-icons.js.map +1 -1
  161. package/lib/module/assets/icon/icon-thread.png +0 -0
  162. package/lib/module/assets/icon/icon-thread@2x.png +0 -0
  163. package/lib/module/assets/icon/icon-thread@3x.png +0 -0
  164. package/lib/module/assets/icon/index.js.map +1 -1
  165. package/lib/module/components/Box/index.js +6 -7
  166. package/lib/module/components/Box/index.js.map +1 -1
  167. package/lib/module/components/Divider/index.js +4 -5
  168. package/lib/module/components/Divider/index.js.map +1 -1
  169. package/lib/module/components/Icon/index.js +35 -16
  170. package/lib/module/components/Icon/index.js.map +1 -1
  171. package/lib/module/components/Image/FastImageInternal.js.map +1 -1
  172. package/lib/module/components/Image/Image.fastimage.js +12 -14
  173. package/lib/module/components/Image/Image.fastimage.js.map +1 -1
  174. package/lib/module/components/Image/Image.reactnative.js +8 -9
  175. package/lib/module/components/Image/Image.reactnative.js.map +1 -1
  176. package/lib/module/components/Image/index.js.map +1 -1
  177. package/lib/module/components/ImageWithPlaceholder/index.js +1 -2
  178. package/lib/module/components/ImageWithPlaceholder/index.js.map +1 -1
  179. package/lib/module/components/Modal/index.js +24 -32
  180. package/lib/module/components/Modal/index.js.map +1 -1
  181. package/lib/module/components/PressBox/index.js +10 -12
  182. package/lib/module/components/PressBox/index.js.map +1 -1
  183. package/lib/module/components/ProgressBar/index.js +21 -12
  184. package/lib/module/components/ProgressBar/index.js.map +1 -1
  185. package/lib/module/components/RegexText/index.js +9 -11
  186. package/lib/module/components/RegexText/index.js.map +1 -1
  187. package/lib/module/components/Switch/index.js +16 -15
  188. package/lib/module/components/Switch/index.js.map +1 -1
  189. package/lib/module/components/Text/index.js +45 -27
  190. package/lib/module/components/Text/index.js.map +1 -1
  191. package/lib/module/components/TextInput/index.js +37 -16
  192. package/lib/module/components/TextInput/index.js.map +1 -1
  193. package/lib/module/components/VideoThumbnail/index.js +8 -10
  194. package/lib/module/components/VideoThumbnail/index.js.map +1 -1
  195. package/lib/module/index.js.map +1 -1
  196. package/lib/module/styles/HeaderStyleContext.js +6 -7
  197. package/lib/module/styles/HeaderStyleContext.js.map +1 -1
  198. package/lib/module/styles/createScaleFactor.js +1 -2
  199. package/lib/module/styles/createScaleFactor.js.map +1 -1
  200. package/lib/module/styles/createSelectByColorScheme.js.map +1 -1
  201. package/lib/module/styles/createStyleSheet.js +8 -2
  202. package/lib/module/styles/createStyleSheet.js.map +1 -1
  203. package/lib/module/styles/createTypography.js +1 -3
  204. package/lib/module/styles/createTypography.js.map +1 -1
  205. package/lib/module/styles/getDefaultHeaderHeight.js.map +1 -1
  206. package/lib/module/styles/useHeaderStyle.js.map +1 -1
  207. package/lib/module/theme/DarkUIKitTheme.js.map +1 -1
  208. package/lib/module/theme/LightUIKitTheme.js.map +1 -1
  209. package/lib/module/theme/Palette.js.map +1 -1
  210. package/lib/module/theme/UIKitThemeContext.js.map +1 -1
  211. package/lib/module/theme/UIKitThemeProvider.js +4 -5
  212. package/lib/module/theme/UIKitThemeProvider.js.map +1 -1
  213. package/lib/module/theme/createTheme.js +9 -10
  214. package/lib/module/theme/createTheme.js.map +1 -1
  215. package/lib/module/theme/useUIKitTheme.js.map +1 -1
  216. package/lib/module/types.js.map +1 -1
  217. package/lib/module/ui/ActionMenu/index.js +13 -12
  218. package/lib/module/ui/ActionMenu/index.js.map +1 -1
  219. package/lib/module/ui/Alert/index.js +21 -26
  220. package/lib/module/ui/Alert/index.js.map +1 -1
  221. package/lib/module/ui/Avatar/AvatarGroup.js +11 -12
  222. package/lib/module/ui/Avatar/AvatarGroup.js.map +1 -1
  223. package/lib/module/ui/Avatar/AvatarIcon.js +6 -7
  224. package/lib/module/ui/Avatar/AvatarIcon.js.map +1 -1
  225. package/lib/module/ui/Avatar/AvatarStack.js +11 -12
  226. package/lib/module/ui/Avatar/AvatarStack.js.map +1 -1
  227. package/lib/module/ui/Avatar/index.js +10 -12
  228. package/lib/module/ui/Avatar/index.js.map +1 -1
  229. package/lib/module/ui/Badge/index.js +8 -9
  230. package/lib/module/ui/Badge/index.js.map +1 -1
  231. package/lib/module/ui/BottomSheet/index.js +28 -36
  232. package/lib/module/ui/BottomSheet/index.js.map +1 -1
  233. package/lib/module/ui/Button/index.js +17 -20
  234. package/lib/module/ui/Button/index.js.map +1 -1
  235. package/lib/module/ui/ChannelFrozenBanner/index.js +6 -7
  236. package/lib/module/ui/ChannelFrozenBanner/index.js.map +1 -1
  237. package/lib/module/ui/Dialog/DialogBox.js +4 -5
  238. package/lib/module/ui/Dialog/DialogBox.js.map +1 -1
  239. package/lib/module/ui/Dialog/DialogSheet.js +21 -19
  240. package/lib/module/ui/Dialog/DialogSheet.js.map +1 -1
  241. package/lib/module/ui/Dialog/index.js +8 -9
  242. package/lib/module/ui/Dialog/index.js.map +1 -1
  243. package/lib/module/ui/GroupChannelMessage/Message.admin.js.map +1 -1
  244. package/lib/module/ui/GroupChannelMessage/Message.file.image.js.map +1 -1
  245. package/lib/module/ui/GroupChannelMessage/Message.file.js +4 -5
  246. package/lib/module/ui/GroupChannelMessage/Message.file.js.map +1 -1
  247. package/lib/module/ui/GroupChannelMessage/Message.file.video.js.map +1 -1
  248. package/lib/module/ui/GroupChannelMessage/Message.file.voice.js +4 -4
  249. package/lib/module/ui/GroupChannelMessage/Message.file.voice.js.map +1 -1
  250. package/lib/module/ui/GroupChannelMessage/Message.unknown.js +3 -4
  251. package/lib/module/ui/GroupChannelMessage/Message.unknown.js.map +1 -1
  252. package/lib/module/ui/GroupChannelMessage/Message.user.js +6 -9
  253. package/lib/module/ui/GroupChannelMessage/Message.user.js.map +1 -1
  254. package/lib/module/ui/GroupChannelMessage/Message.user.og.js +14 -17
  255. package/lib/module/ui/GroupChannelMessage/Message.user.og.js.map +1 -1
  256. package/lib/module/ui/GroupChannelMessage/MessageBubbleWithText.js +26 -21
  257. package/lib/module/ui/GroupChannelMessage/MessageBubbleWithText.js.map +1 -1
  258. package/lib/module/ui/GroupChannelMessage/MessageContainer.js +27 -28
  259. package/lib/module/ui/GroupChannelMessage/MessageContainer.js.map +1 -1
  260. package/lib/module/ui/GroupChannelMessage/MessageOpenGraph.js +36 -40
  261. package/lib/module/ui/GroupChannelMessage/MessageOpenGraph.js.map +1 -1
  262. package/lib/module/ui/GroupChannelMessage/index.js.map +1 -1
  263. package/lib/module/ui/GroupChannelPreview/index.js +53 -58
  264. package/lib/module/ui/GroupChannelPreview/index.js.map +1 -1
  265. package/lib/module/ui/Header/index.js +44 -54
  266. package/lib/module/ui/Header/index.js.map +1 -1
  267. package/lib/module/ui/LoadingSpinner/index.js +10 -13
  268. package/lib/module/ui/LoadingSpinner/index.js.map +1 -1
  269. package/lib/module/ui/MenuBar/index.js +21 -18
  270. package/lib/module/ui/MenuBar/index.js.map +1 -1
  271. package/lib/module/ui/OpenChannelMessage/Message.admin.js.map +1 -1
  272. package/lib/module/ui/OpenChannelMessage/Message.file.image.js.map +1 -1
  273. package/lib/module/ui/OpenChannelMessage/Message.file.js +4 -5
  274. package/lib/module/ui/OpenChannelMessage/Message.file.js.map +1 -1
  275. package/lib/module/ui/OpenChannelMessage/Message.file.video.js.map +1 -1
  276. package/lib/module/ui/OpenChannelMessage/Message.unknown.js +4 -5
  277. package/lib/module/ui/OpenChannelMessage/Message.unknown.js.map +1 -1
  278. package/lib/module/ui/OpenChannelMessage/Message.user.js +26 -17
  279. package/lib/module/ui/OpenChannelMessage/Message.user.js.map +1 -1
  280. package/lib/module/ui/OpenChannelMessage/Message.user.og.js +52 -46
  281. package/lib/module/ui/OpenChannelMessage/Message.user.og.js.map +1 -1
  282. package/lib/module/ui/OpenChannelMessage/MessageContainer.js +14 -16
  283. package/lib/module/ui/OpenChannelMessage/MessageContainer.js.map +1 -1
  284. package/lib/module/ui/OpenChannelMessage/index.js.map +1 -1
  285. package/lib/module/ui/OpenChannelPreview/index.js +23 -27
  286. package/lib/module/ui/OpenChannelPreview/index.js.map +1 -1
  287. package/lib/module/ui/OutlinedButton/index.js +5 -6
  288. package/lib/module/ui/OutlinedButton/index.js.map +1 -1
  289. package/lib/module/ui/Placeholder/index.js +7 -8
  290. package/lib/module/ui/Placeholder/index.js.map +1 -1
  291. package/lib/module/ui/ProfileCard/index.js +9 -9
  292. package/lib/module/ui/ProfileCard/index.js.map +1 -1
  293. package/lib/module/ui/Prompt/index.js +26 -32
  294. package/lib/module/ui/Prompt/index.js.map +1 -1
  295. package/lib/module/ui/Toast/index.js +17 -22
  296. package/lib/module/ui/Toast/index.js.map +1 -1
  297. package/lib/module/ui/TypingIndicatorBubble/index.js +21 -27
  298. package/lib/module/ui/TypingIndicatorBubble/index.js.map +1 -1
  299. package/lib/typescript/src/components/Box/index.d.ts +12 -2
  300. package/lib/typescript/src/components/Icon/index.d.ts +2 -1
  301. package/lib/typescript/src/components/Text/index.d.ts +14 -2
  302. package/lib/typescript/src/components/TextInput/index.d.ts +2 -1
  303. package/package.json +3 -3
  304. package/src/assets/icon/icon-thread.png +0 -0
  305. package/src/assets/icon/icon-thread@2x.png +0 -0
  306. package/src/assets/icon/icon-thread@3x.png +0 -0
  307. package/src/components/Box/index.tsx +16 -5
  308. package/src/components/Icon/index.tsx +35 -3
  309. package/src/components/ProgressBar/index.tsx +23 -12
  310. package/src/components/Switch/index.tsx +10 -6
  311. package/src/components/Text/index.tsx +48 -7
  312. package/src/components/TextInput/index.tsx +39 -12
  313. package/src/styles/createStyleSheet.ts +8 -2
  314. package/src/ui/ActionMenu/index.tsx +3 -1
  315. package/src/ui/Alert/index.tsx +4 -4
  316. package/src/ui/Avatar/AvatarGroup.tsx +6 -6
  317. package/src/ui/Avatar/AvatarStack.tsx +3 -3
  318. package/src/ui/BottomSheet/index.tsx +5 -4
  319. package/src/ui/Button/index.tsx +1 -1
  320. package/src/ui/Dialog/DialogSheet.tsx +15 -12
  321. package/src/ui/GroupChannelMessage/Message.file.tsx +1 -1
  322. package/src/ui/GroupChannelMessage/Message.file.voice.tsx +1 -1
  323. package/src/ui/GroupChannelMessage/MessageBubbleWithText.tsx +5 -2
  324. package/src/ui/GroupChannelMessage/MessageContainer.tsx +7 -7
  325. package/src/ui/GroupChannelPreview/index.tsx +46 -48
  326. package/src/ui/Header/index.tsx +4 -5
  327. package/src/ui/MenuBar/index.tsx +9 -6
  328. package/src/ui/OpenChannelMessage/Message.file.tsx +1 -1
  329. package/src/ui/OpenChannelMessage/Message.user.og.tsx +43 -29
  330. package/src/ui/OpenChannelMessage/Message.user.tsx +46 -29
  331. package/src/ui/OpenChannelMessage/MessageContainer.tsx +4 -4
  332. package/src/ui/OpenChannelPreview/index.tsx +9 -9
  333. package/src/ui/ProfileCard/index.tsx +1 -0
  334. package/src/ui/Prompt/index.tsx +4 -5
  335. package/src/ui/Toast/index.tsx +1 -1
  336. package/src/ui/TypingIndicatorBubble/index.tsx +2 -2
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport type { ReactNode } from 'react';\nimport type { TextStyle } from 'react-native';\n\nexport interface UIKitTypography {\n h1: FontAttributes;\n h2: FontAttributes;\n subtitle1: FontAttributes;\n subtitle2: FontAttributes;\n body1: FontAttributes;\n body2: FontAttributes;\n body3: FontAttributes;\n button: FontAttributes;\n caption1: FontAttributes;\n caption2: FontAttributes;\n caption3: FontAttributes;\n caption4: FontAttributes;\n}\nexport type TypoName = keyof UIKitTypography;\nexport type FontAttributes = Pick<TextStyle, 'fontFamily' | 'fontSize' | 'lineHeight' | 'letterSpacing' | 'fontWeight'>;\n\nexport type UIKitColorScheme = 'light' | 'dark';\nexport interface UIKitTheme {\n colorScheme: UIKitColorScheme;\n select<V>(options: { [key in UIKitColorScheme | 'default']?: V }): V;\n\n palette: UIKitPalette;\n colors: UIKitColors;\n\n typography: UIKitTypography;\n}\n\nexport type Component =\n | 'Header'\n | 'Button'\n | 'Dialog'\n | 'Input'\n | 'Badge'\n | 'Placeholder'\n | 'DateSeparator'\n | 'GroupChannelMessage'\n | 'GroupChannelPreview'\n | 'ProfileCard'\n | 'Reaction'\n | 'OpenChannelMessage'\n | 'OpenChannelPreview'\n | 'VoiceMessageInput';\n\nexport type GetColorTree<\n Tree extends {\n Variant: {\n [key in Component]: string;\n };\n State: {\n [key in Component]: string;\n };\n ColorPart: {\n [key in Component]: string;\n };\n },\n> = Tree;\n\nexport type ComponentColorTree = GetColorTree<{\n Variant: {\n Header: 'nav';\n Button: 'contained' | 'text';\n Dialog: 'default';\n Input: 'default' | 'underline';\n Badge: 'default';\n Placeholder: 'default';\n DateSeparator: 'default';\n GroupChannelMessage: 'incoming' | 'outgoing';\n GroupChannelPreview: 'default';\n ProfileCard: 'default';\n Reaction: 'default' | 'rounded';\n OpenChannelMessage: 'default';\n OpenChannelPreview: 'default';\n VoiceMessageInput: 'default';\n };\n State: {\n Header: 'none';\n Button: 'enabled' | 'pressed' | 'disabled';\n Dialog: 'none';\n Input: 'active' | 'disabled';\n Badge: 'none';\n Placeholder: 'none';\n DateSeparator: 'none';\n GroupChannelMessage: 'enabled' | 'pressed';\n GroupChannelPreview: 'none';\n ProfileCard: 'none';\n Reaction: 'enabled' | 'selected';\n OpenChannelMessage: 'enabled' | 'pressed';\n OpenChannelPreview: 'none';\n VoiceMessageInput: 'active' | 'inactive';\n };\n ColorPart: {\n Header: 'background' | 'borderBottom';\n Button: 'background' | 'content';\n Dialog: 'background' | 'text' | 'message' | 'highlight' | 'destructive' | 'blurred';\n Input: 'text' | 'placeholder' | 'background' | 'highlight';\n Badge: 'text' | 'background';\n Placeholder: 'content' | 'highlight';\n DateSeparator: 'text' | 'background';\n GroupChannelMessage:\n | 'textMsg'\n | 'textEdited'\n | 'textSenderName'\n | 'textTime'\n | 'textVoicePlaytime'\n | 'background'\n | 'voiceSpinner'\n | 'voiceProgressTrack'\n | 'voiceActionIcon'\n | 'voiceActionIconBackground';\n GroupChannelPreview:\n | 'textTitle'\n | 'textTitleCaption'\n | 'textBody'\n | 'memberCount'\n | 'bodyIcon'\n | 'background'\n | 'coverBackground'\n | 'bodyIconBackground'\n | 'separator';\n ProfileCard: 'textUsername' | 'textBodyLabel' | 'textBody' | 'background';\n Reaction: 'background' | 'highlight';\n OpenChannelMessage:\n | 'textMsg'\n | 'textMsgPostfix'\n | 'textSenderName'\n | 'textTime'\n | 'textOperator'\n | 'background'\n | 'bubbleBackground'\n | 'adminBackground';\n OpenChannelPreview:\n | 'textTitle'\n | 'textParticipants'\n | 'frozenIcon'\n | 'participantsIcon'\n | 'background'\n | 'coverBackground'\n | 'separator';\n VoiceMessageInput:\n | 'textCancel'\n | 'textTime'\n | 'background'\n | 'actionIcon'\n | 'actionIconBackground'\n | 'sendIcon'\n | 'sendIconBackground'\n | 'progressTrack'\n | 'recording';\n };\n}>;\nexport type ComponentColors<T extends Component> = {\n [key in ComponentColorTree['Variant'][T]]: {\n [key in ComponentColorTree['State'][T]]: {\n [key in ComponentColorTree['ColorPart'][T]]: string;\n };\n };\n};\n\nexport interface UIKitColors {\n primary: string;\n secondary: string;\n error: string;\n background: string;\n text: string;\n onBackground01: string;\n onBackground02: string;\n onBackground03: string;\n onBackground04: string;\n onBackgroundReverse01: string;\n onBackgroundReverse02: string;\n onBackgroundReverse03: string;\n onBackgroundReverse04: string;\n /**\n * UI Colors has below structure\n * Component.{Variant}.{State}.{ColorPart}\n * @example\n * ```\n * const { colors } = useUIKitTheme();\n * colors.ui.button.contained.disabled.backgroundColor\n * ```\n * */\n ui: {\n header: ComponentColors<'Header'>;\n button: ComponentColors<'Button'>;\n dialog: ComponentColors<'Dialog'>;\n input: ComponentColors<'Input'>;\n badge: ComponentColors<'Badge'>;\n placeholder: ComponentColors<'Placeholder'>;\n dateSeparator: ComponentColors<'DateSeparator'>;\n groupChannelMessage: ComponentColors<'GroupChannelMessage'>;\n groupChannelPreview: ComponentColors<'GroupChannelPreview'>;\n profileCard: ComponentColors<'ProfileCard'>;\n reaction: ComponentColors<'Reaction'>;\n openChannelMessage: ComponentColors<'OpenChannelMessage'>;\n openChannelPreview: ComponentColors<'OpenChannelPreview'>;\n voiceMessageInput: ComponentColors<'VoiceMessageInput'>;\n };\n}\n\nexport type HeaderElement = ReactNode;\nexport type HeaderPartProps = {\n title?: ReactNode;\n right?: ReactNode;\n left?: ReactNode;\n onPressLeft?: (...params: any[]) => any;\n onPressRight?: (...params: any[]) => any;\n};\nexport type BaseHeaderProps<HeaderParts extends HeaderPartProps = {}, AdditionalProps = {}> = {\n titleAlign?: 'left' | 'center' | 'right';\n children?: ReactNode;\n} & HeaderParts &\n AdditionalProps;\nexport interface UIKitPalette {\n primary100: string;\n primary200: string;\n primary300: string;\n primary400: string;\n primary500: string;\n\n secondary100: string;\n secondary200: string;\n secondary300: string;\n secondary400: string;\n secondary500: string;\n\n error100: string;\n error200: string;\n error300: string;\n error400: string;\n error500: string;\n\n background50: string;\n background100: string;\n background200: string;\n background300: string;\n background400: string;\n background500: string;\n background600: string;\n background700: string;\n\n overlay01: string;\n overlay02: string;\n\n information: string;\n highlight: string;\n transparent: 'transparent';\n\n onBackgroundLight01: string;\n onBackgroundLight02: string;\n onBackgroundLight03: string;\n onBackgroundLight04: string;\n\n onBackgroundDark01: string;\n onBackgroundDark02: string;\n onBackgroundDark03: string;\n onBackgroundDark04: string;\n}\n"],"mappings":""}
1
+ {"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport type { ReactNode } from 'react';\nimport type { TextStyle } from 'react-native';\n\nexport interface UIKitTypography {\n h1: FontAttributes;\n h2: FontAttributes;\n subtitle1: FontAttributes;\n subtitle2: FontAttributes;\n body1: FontAttributes;\n body2: FontAttributes;\n body3: FontAttributes;\n button: FontAttributes;\n caption1: FontAttributes;\n caption2: FontAttributes;\n caption3: FontAttributes;\n caption4: FontAttributes;\n}\nexport type TypoName = keyof UIKitTypography;\nexport type FontAttributes = Pick<TextStyle, 'fontFamily' | 'fontSize' | 'lineHeight' | 'letterSpacing' | 'fontWeight'>;\n\nexport type UIKitColorScheme = 'light' | 'dark';\nexport interface UIKitTheme {\n colorScheme: UIKitColorScheme;\n select<V>(options: { [key in UIKitColorScheme | 'default']?: V }): V;\n\n palette: UIKitPalette;\n colors: UIKitColors;\n\n typography: UIKitTypography;\n}\n\nexport type Component =\n | 'Header'\n | 'Button'\n | 'Dialog'\n | 'Input'\n | 'Badge'\n | 'Placeholder'\n | 'DateSeparator'\n | 'GroupChannelMessage'\n | 'GroupChannelPreview'\n | 'ProfileCard'\n | 'Reaction'\n | 'OpenChannelMessage'\n | 'OpenChannelPreview'\n | 'VoiceMessageInput';\n\nexport type GetColorTree<\n Tree extends {\n Variant: {\n [key in Component]: string;\n };\n State: {\n [key in Component]: string;\n };\n ColorPart: {\n [key in Component]: string;\n };\n },\n> = Tree;\n\nexport type ComponentColorTree = GetColorTree<{\n Variant: {\n Header: 'nav';\n Button: 'contained' | 'text';\n Dialog: 'default';\n Input: 'default' | 'underline';\n Badge: 'default';\n Placeholder: 'default';\n DateSeparator: 'default';\n GroupChannelMessage: 'incoming' | 'outgoing';\n GroupChannelPreview: 'default';\n ProfileCard: 'default';\n Reaction: 'default' | 'rounded';\n OpenChannelMessage: 'default';\n OpenChannelPreview: 'default';\n VoiceMessageInput: 'default';\n };\n State: {\n Header: 'none';\n Button: 'enabled' | 'pressed' | 'disabled';\n Dialog: 'none';\n Input: 'active' | 'disabled';\n Badge: 'none';\n Placeholder: 'none';\n DateSeparator: 'none';\n GroupChannelMessage: 'enabled' | 'pressed';\n GroupChannelPreview: 'none';\n ProfileCard: 'none';\n Reaction: 'enabled' | 'selected';\n OpenChannelMessage: 'enabled' | 'pressed';\n OpenChannelPreview: 'none';\n VoiceMessageInput: 'active' | 'inactive';\n };\n ColorPart: {\n Header: 'background' | 'borderBottom';\n Button: 'background' | 'content';\n Dialog: 'background' | 'text' | 'message' | 'highlight' | 'destructive' | 'blurred';\n Input: 'text' | 'placeholder' | 'background' | 'highlight';\n Badge: 'text' | 'background';\n Placeholder: 'content' | 'highlight';\n DateSeparator: 'text' | 'background';\n GroupChannelMessage:\n | 'textMsg'\n | 'textEdited'\n | 'textSenderName'\n | 'textTime'\n | 'textVoicePlaytime'\n | 'background'\n | 'voiceSpinner'\n | 'voiceProgressTrack'\n | 'voiceActionIcon'\n | 'voiceActionIconBackground';\n GroupChannelPreview:\n | 'textTitle'\n | 'textTitleCaption'\n | 'textBody'\n | 'memberCount'\n | 'bodyIcon'\n | 'background'\n | 'coverBackground'\n | 'bodyIconBackground'\n | 'separator';\n ProfileCard: 'textUsername' | 'textBodyLabel' | 'textBody' | 'background';\n Reaction: 'background' | 'highlight';\n OpenChannelMessage:\n | 'textMsg'\n | 'textMsgPostfix'\n | 'textSenderName'\n | 'textTime'\n | 'textOperator'\n | 'background'\n | 'bubbleBackground'\n | 'adminBackground';\n OpenChannelPreview:\n | 'textTitle'\n | 'textParticipants'\n | 'frozenIcon'\n | 'participantsIcon'\n | 'background'\n | 'coverBackground'\n | 'separator';\n VoiceMessageInput:\n | 'textCancel'\n | 'textTime'\n | 'background'\n | 'actionIcon'\n | 'actionIconBackground'\n | 'sendIcon'\n | 'sendIconBackground'\n | 'progressTrack'\n | 'recording';\n };\n}>;\nexport type ComponentColors<T extends Component> = {\n [key in ComponentColorTree['Variant'][T]]: {\n [key in ComponentColorTree['State'][T]]: {\n [key in ComponentColorTree['ColorPart'][T]]: string;\n };\n };\n};\n\nexport interface UIKitColors {\n primary: string;\n secondary: string;\n error: string;\n background: string;\n text: string;\n onBackground01: string;\n onBackground02: string;\n onBackground03: string;\n onBackground04: string;\n onBackgroundReverse01: string;\n onBackgroundReverse02: string;\n onBackgroundReverse03: string;\n onBackgroundReverse04: string;\n /**\n * UI Colors has below structure\n * Component.{Variant}.{State}.{ColorPart}\n * @example\n * ```\n * const { colors } = useUIKitTheme();\n * colors.ui.button.contained.disabled.backgroundColor\n * ```\n * */\n ui: {\n header: ComponentColors<'Header'>;\n button: ComponentColors<'Button'>;\n dialog: ComponentColors<'Dialog'>;\n input: ComponentColors<'Input'>;\n badge: ComponentColors<'Badge'>;\n placeholder: ComponentColors<'Placeholder'>;\n dateSeparator: ComponentColors<'DateSeparator'>;\n groupChannelMessage: ComponentColors<'GroupChannelMessage'>;\n groupChannelPreview: ComponentColors<'GroupChannelPreview'>;\n profileCard: ComponentColors<'ProfileCard'>;\n reaction: ComponentColors<'Reaction'>;\n openChannelMessage: ComponentColors<'OpenChannelMessage'>;\n openChannelPreview: ComponentColors<'OpenChannelPreview'>;\n voiceMessageInput: ComponentColors<'VoiceMessageInput'>;\n };\n}\n\nexport type HeaderElement = ReactNode;\nexport type HeaderPartProps = {\n title?: ReactNode;\n right?: ReactNode;\n left?: ReactNode;\n onPressLeft?: (...params: any[]) => any;\n onPressRight?: (...params: any[]) => any;\n};\nexport type BaseHeaderProps<HeaderParts extends HeaderPartProps = {}, AdditionalProps = {}> = {\n titleAlign?: 'left' | 'center' | 'right';\n children?: ReactNode;\n} & HeaderParts &\n AdditionalProps;\nexport interface UIKitPalette {\n primary100: string;\n primary200: string;\n primary300: string;\n primary400: string;\n primary500: string;\n\n secondary100: string;\n secondary200: string;\n secondary300: string;\n secondary400: string;\n secondary500: string;\n\n error100: string;\n error200: string;\n error300: string;\n error400: string;\n error500: string;\n\n background50: string;\n background100: string;\n background200: string;\n background300: string;\n background400: string;\n background500: string;\n background600: string;\n background700: string;\n\n overlay01: string;\n overlay02: string;\n\n information: string;\n highlight: string;\n transparent: 'transparent';\n\n onBackgroundLight01: string;\n onBackgroundLight02: string;\n onBackgroundLight03: string;\n onBackgroundLight04: string;\n\n onBackgroundDark01: string;\n onBackgroundDark02: string;\n onBackgroundDark03: string;\n onBackgroundDark04: string;\n}\n"],"mappings":"","ignoreList":[]}
@@ -14,18 +14,17 @@ var _useHeaderStyle = _interopRequireDefault(require("../../styles/useHeaderStyl
14
14
  var _useUIKitTheme = _interopRequireDefault(require("../../theme/useUIKitTheme"));
15
15
  var _DialogBox = _interopRequireDefault(require("../Dialog/DialogBox"));
16
16
  var _LoadingSpinner = _interopRequireDefault(require("../LoadingSpinner"));
17
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
18
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
19
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
20
- const ActionMenu = _ref => {
21
- let {
22
- visible,
23
- onHide,
24
- onError,
25
- onDismiss,
26
- title,
27
- menuItems
28
- } = _ref;
17
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
18
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
19
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
20
+ const ActionMenu = ({
21
+ visible,
22
+ onHide,
23
+ onError,
24
+ onDismiss,
25
+ title,
26
+ menuItems
27
+ }) => {
29
28
  const {
30
29
  statusBarTranslucent
31
30
  } = (0, _useHeaderStyle.default)();
@@ -61,7 +60,7 @@ const ActionMenu = _ref => {
61
60
  color: colors.ui.dialog.default.none.highlight,
62
61
  style: {
63
62
  width: '10%',
64
- marginLeft: '4%'
63
+ marginStart: '4%'
65
64
  }
66
65
  })), /*#__PURE__*/_react.default.createElement(_reactNative.View, {
67
66
  style: styles.buttonContainer
@@ -78,7 +77,7 @@ const ActionMenu = _ref => {
78
77
  await ((_item$onPress = item.onPress) === null || _item$onPress === void 0 ? void 0 : _item$onPress.call(item));
79
78
  } catch (e) {
80
79
  const errorHandler = onError ?? item.onError;
81
- errorHandler === null || errorHandler === void 0 ? void 0 : errorHandler(e);
80
+ errorHandler === null || errorHandler === void 0 || errorHandler(e);
82
81
  if (!errorHandler) _uikitUtils.Logger.error('ActionMenu onPress error', e);
83
82
  } finally {
84
83
  onHide();
@@ -97,9 +96,11 @@ const styles = (0, _createStyleSheet.default)({
97
96
  flexDirection: 'row',
98
97
  paddingHorizontal: 24,
99
98
  paddingVertical: 20,
100
- alignItems: 'center'
99
+ alignItems: 'center',
100
+ justifyContent: 'flex-start'
101
101
  },
102
102
  buttonContainer: {
103
+ alignItems: 'flex-start',
103
104
  marginTop: 4,
104
105
  marginBottom: 8
105
106
  },
@@ -108,6 +109,5 @@ const styles = (0, _createStyleSheet.default)({
108
109
  paddingVertical: 12
109
110
  }
110
111
  });
111
- var _default = ActionMenu;
112
- exports.default = _default;
112
+ var _default = exports.default = ActionMenu;
113
113
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_uikitUtils","_Modal","_interopRequireDefault","_Text","_createStyleSheet","_useHeaderStyle","_useUIKitTheme","_DialogBox","_LoadingSpinner","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ActionMenu","_ref","visible","onHide","onError","onDismiss","title","menuItems","statusBarTranslucent","useHeaderStyle","colors","useUIKitTheme","pending","setPending","useState","_onHide","createElement","onClose","backgroundStyle","alignItems","justifyContent","View","style","styles","h1","color","ui","dialog","none","text","numberOfLines","maxWidth","size","highlight","width","marginLeft","buttonContainer","map","item","index","TouchableOpacity","activeOpacity","button","disabled","onPress","_item$onPress","e","errorHandler","Logger","error","subtitle2","destructive","createStyleSheet","flexDirection","paddingHorizontal","paddingVertical","marginTop","marginBottom","_default","exports"],"sources":["index.tsx"],"sourcesContent":["import React, { useState } from 'react';\nimport { TouchableOpacity, View } from 'react-native';\n\nimport { Logger } from '@sendbird/uikit-utils';\n\nimport Modal from '../../components/Modal';\nimport Text from '../../components/Text';\nimport createStyleSheet from '../../styles/createStyleSheet';\nimport useHeaderStyle from '../../styles/useHeaderStyle';\nimport useUIKitTheme from '../../theme/useUIKitTheme';\nimport DialogBox from '../Dialog/DialogBox';\nimport LoadingSpinner from '../LoadingSpinner';\n\nexport type ActionMenuItem = {\n title?: string;\n menuItems: {\n title: string;\n style?: 'destructive';\n onPress?: (() => Promise<void>) | (() => void);\n onError?: () => void;\n }[];\n};\n\ntype Props = {\n visible: boolean;\n onHide: () => void;\n onError?: (error: unknown) => void;\n onDismiss?: () => void;\n} & ActionMenuItem;\nconst ActionMenu = ({ visible, onHide, onError, onDismiss, title, menuItems }: Props) => {\n const { statusBarTranslucent } = useHeaderStyle();\n const { colors } = useUIKitTheme();\n const [pending, setPending] = useState(false);\n const _onHide = () => {\n if (!pending) onHide();\n };\n\n return (\n <Modal\n onClose={_onHide}\n onDismiss={onDismiss}\n statusBarTranslucent={statusBarTranslucent}\n visible={visible}\n backgroundStyle={{ alignItems: 'center', justifyContent: 'center' }}\n >\n <DialogBox>\n <View style={styles.title}>\n <Text\n h1\n color={colors.ui.dialog.default.none.text}\n numberOfLines={1}\n // style={{ flex: 1 }}\n style={{ maxWidth: pending ? '86%' : '100%' }}\n >\n {title}\n </Text>\n {pending && (\n <LoadingSpinner\n size={20}\n color={colors.ui.dialog.default.none.highlight}\n style={{ width: '10%', marginLeft: '4%' }}\n />\n )}\n </View>\n <View style={styles.buttonContainer}>\n {menuItems.map((item, index) => {\n return (\n <TouchableOpacity\n activeOpacity={0.75}\n key={item.title + index}\n style={styles.button}\n disabled={pending}\n onPress={async () => {\n setPending(true);\n try {\n await item.onPress?.();\n } catch (e: unknown) {\n const errorHandler = onError ?? item.onError;\n errorHandler?.(e);\n if (!errorHandler) Logger.error('ActionMenu onPress error', e);\n } finally {\n onHide();\n setPending(false);\n }\n }}\n >\n <Text\n subtitle2\n color={\n item.style === 'destructive'\n ? colors.ui.dialog.default.none.destructive\n : colors.ui.dialog.default.none.text\n }\n numberOfLines={1}\n >\n {item.title}\n </Text>\n </TouchableOpacity>\n );\n })}\n </View>\n </DialogBox>\n </Modal>\n );\n};\n\nconst styles = createStyleSheet({\n title: {\n flexDirection: 'row',\n paddingHorizontal: 24,\n paddingVertical: 20,\n alignItems: 'center',\n },\n buttonContainer: {\n marginTop: 4,\n marginBottom: 8,\n },\n button: {\n paddingHorizontal: 24,\n paddingVertical: 12,\n },\n});\n\nexport default ActionMenu;\n"],"mappings":"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"}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_uikitUtils","_Modal","_interopRequireDefault","_Text","_createStyleSheet","_useHeaderStyle","_useUIKitTheme","_DialogBox","_LoadingSpinner","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ActionMenu","visible","onHide","onError","onDismiss","title","menuItems","statusBarTranslucent","useHeaderStyle","colors","useUIKitTheme","pending","setPending","useState","_onHide","createElement","onClose","backgroundStyle","alignItems","justifyContent","View","style","styles","h1","color","ui","dialog","none","text","numberOfLines","maxWidth","size","highlight","width","marginStart","buttonContainer","map","item","index","TouchableOpacity","activeOpacity","key","button","disabled","onPress","_item$onPress","errorHandler","Logger","error","subtitle2","destructive","createStyleSheet","flexDirection","paddingHorizontal","paddingVertical","marginTop","marginBottom","_default","exports"],"sources":["index.tsx"],"sourcesContent":["import React, { useState } from 'react';\nimport { TouchableOpacity, View } from 'react-native';\n\nimport { Logger } from '@sendbird/uikit-utils';\n\nimport Modal from '../../components/Modal';\nimport Text from '../../components/Text';\nimport createStyleSheet from '../../styles/createStyleSheet';\nimport useHeaderStyle from '../../styles/useHeaderStyle';\nimport useUIKitTheme from '../../theme/useUIKitTheme';\nimport DialogBox from '../Dialog/DialogBox';\nimport LoadingSpinner from '../LoadingSpinner';\n\nexport type ActionMenuItem = {\n title?: string;\n menuItems: {\n title: string;\n style?: 'destructive';\n onPress?: (() => Promise<void>) | (() => void);\n onError?: () => void;\n }[];\n};\n\ntype Props = {\n visible: boolean;\n onHide: () => void;\n onError?: (error: unknown) => void;\n onDismiss?: () => void;\n} & ActionMenuItem;\nconst ActionMenu = ({ visible, onHide, onError, onDismiss, title, menuItems }: Props) => {\n const { statusBarTranslucent } = useHeaderStyle();\n const { colors } = useUIKitTheme();\n const [pending, setPending] = useState(false);\n const _onHide = () => {\n if (!pending) onHide();\n };\n\n return (\n <Modal\n onClose={_onHide}\n onDismiss={onDismiss}\n statusBarTranslucent={statusBarTranslucent}\n visible={visible}\n backgroundStyle={{ alignItems: 'center', justifyContent: 'center' }}\n >\n <DialogBox>\n <View style={styles.title}>\n <Text\n h1\n color={colors.ui.dialog.default.none.text}\n numberOfLines={1}\n // style={{ flex: 1 }}\n style={{ maxWidth: pending ? '86%' : '100%' }}\n >\n {title}\n </Text>\n {pending && (\n <LoadingSpinner\n size={20}\n color={colors.ui.dialog.default.none.highlight}\n style={{ width: '10%', marginStart: '4%' }}\n />\n )}\n </View>\n <View style={styles.buttonContainer}>\n {menuItems.map((item, index) => {\n return (\n <TouchableOpacity\n activeOpacity={0.75}\n key={item.title + index}\n style={styles.button}\n disabled={pending}\n onPress={async () => {\n setPending(true);\n try {\n await item.onPress?.();\n } catch (e: unknown) {\n const errorHandler = onError ?? item.onError;\n errorHandler?.(e);\n if (!errorHandler) Logger.error('ActionMenu onPress error', e);\n } finally {\n onHide();\n setPending(false);\n }\n }}\n >\n <Text\n subtitle2\n color={\n item.style === 'destructive'\n ? colors.ui.dialog.default.none.destructive\n : colors.ui.dialog.default.none.text\n }\n numberOfLines={1}\n >\n {item.title}\n </Text>\n </TouchableOpacity>\n );\n })}\n </View>\n </DialogBox>\n </Modal>\n );\n};\n\nconst styles = createStyleSheet({\n title: {\n flexDirection: 'row',\n paddingHorizontal: 24,\n paddingVertical: 20,\n alignItems: 'center',\n justifyContent: 'flex-start',\n },\n buttonContainer: {\n alignItems: 'flex-start',\n marginTop: 4,\n marginBottom: 8,\n },\n button: {\n paddingHorizontal: 24,\n paddingVertical: 12,\n },\n});\n\nexport default ActionMenu;\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAEA,IAAAE,WAAA,GAAAF,OAAA;AAEA,IAAAG,MAAA,GAAAC,sBAAA,CAAAJ,OAAA;AACA,IAAAK,KAAA,GAAAD,sBAAA,CAAAJ,OAAA;AACA,IAAAM,iBAAA,GAAAF,sBAAA,CAAAJ,OAAA;AACA,IAAAO,eAAA,GAAAH,sBAAA,CAAAJ,OAAA;AACA,IAAAQ,cAAA,GAAAJ,sBAAA,CAAAJ,OAAA;AACA,IAAAS,UAAA,GAAAL,sBAAA,CAAAJ,OAAA;AACA,IAAAU,eAAA,GAAAN,sBAAA,CAAAJ,OAAA;AAA+C,SAAAI,uBAAAO,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAAA,SAAAG,yBAAAH,CAAA,6BAAAI,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAD,wBAAA,YAAAA,CAAAH,CAAA,WAAAA,CAAA,GAAAM,CAAA,GAAAD,CAAA,KAAAL,CAAA;AAAA,SAAAZ,wBAAAY,CAAA,EAAAK,CAAA,SAAAA,CAAA,IAAAL,CAAA,IAAAA,CAAA,CAAAC,UAAA,SAAAD,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAE,OAAA,EAAAF,CAAA,QAAAM,CAAA,GAAAH,wBAAA,CAAAE,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAC,GAAA,CAAAP,CAAA,UAAAM,CAAA,CAAAE,GAAA,CAAAR,CAAA,OAAAS,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAf,CAAA,oBAAAe,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAe,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAd,CAAA,EAAAe,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAf,CAAA,CAAAe,CAAA,YAAAN,CAAA,CAAAP,OAAA,GAAAF,CAAA,EAAAM,CAAA,IAAAA,CAAA,CAAAa,GAAA,CAAAnB,CAAA,EAAAS,CAAA,GAAAA,CAAA;AAkB/C,MAAMW,UAAU,GAAGA,CAAC;EAAEC,OAAO;EAAEC,MAAM;EAAEC,OAAO;EAAEC,SAAS;EAAEC,KAAK;EAAEC;AAAiB,CAAC,KAAK;EACvF,MAAM;IAAEC;EAAqB,CAAC,GAAG,IAAAC,uBAAc,EAAC,CAAC;EACjD,MAAM;IAAEC;EAAO,CAAC,GAAG,IAAAC,sBAAa,EAAC,CAAC;EAClC,MAAM,CAACC,OAAO,EAAEC,UAAU,CAAC,GAAG,IAAAC,eAAQ,EAAC,KAAK,CAAC;EAC7C,MAAMC,OAAO,GAAGA,CAAA,KAAM;IACpB,IAAI,CAACH,OAAO,EAAET,MAAM,CAAC,CAAC;EACxB,CAAC;EAED,oBACEnC,MAAA,CAAAe,OAAA,CAAAiC,aAAA,CAAC3C,MAAA,CAAAU,OAAK;IACJkC,OAAO,EAAEF,OAAQ;IACjBV,SAAS,EAAEA,SAAU;IACrBG,oBAAoB,EAAEA,oBAAqB;IAC3CN,OAAO,EAAEA,OAAQ;IACjBgB,eAAe,EAAE;MAAEC,UAAU,EAAE,QAAQ;MAAEC,cAAc,EAAE;IAAS;EAAE,gBAEpEpD,MAAA,CAAAe,OAAA,CAAAiC,aAAA,CAACrC,UAAA,CAAAI,OAAS,qBACRf,MAAA,CAAAe,OAAA,CAAAiC,aAAA,CAAC7C,YAAA,CAAAkD,IAAI;IAACC,KAAK,EAAEC,MAAM,CAACjB;EAAM,gBACxBtC,MAAA,CAAAe,OAAA,CAAAiC,aAAA,CAACzC,KAAA,CAAAQ,OAAI;IACHyC,EAAE;IACFC,KAAK,EAAEf,MAAM,CAACgB,EAAE,CAACC,MAAM,CAAC5C,OAAO,CAAC6C,IAAI,CAACC,IAAK;IAC1CC,aAAa,EAAE;IACf;IAAA;IACAR,KAAK,EAAE;MAAES,QAAQ,EAAEnB,OAAO,GAAG,KAAK,GAAG;IAAO;EAAE,GAE7CN,KACG,CAAC,EACNM,OAAO,iBACN5C,MAAA,CAAAe,OAAA,CAAAiC,aAAA,CAACpC,eAAA,CAAAG,OAAc;IACbiD,IAAI,EAAE,EAAG;IACTP,KAAK,EAAEf,MAAM,CAACgB,EAAE,CAACC,MAAM,CAAC5C,OAAO,CAAC6C,IAAI,CAACK,SAAU;IAC/CX,KAAK,EAAE;MAAEY,KAAK,EAAE,KAAK;MAAEC,WAAW,EAAE;IAAK;EAAE,CAC5C,CAEC,CAAC,eACPnE,MAAA,CAAAe,OAAA,CAAAiC,aAAA,CAAC7C,YAAA,CAAAkD,IAAI;IAACC,KAAK,EAAEC,MAAM,CAACa;EAAgB,GACjC7B,SAAS,CAAC8B,GAAG,CAAC,CAACC,IAAI,EAAEC,KAAK,KAAK;IAC9B,oBACEvE,MAAA,CAAAe,OAAA,CAAAiC,aAAA,CAAC7C,YAAA,CAAAqE,gBAAgB;MACfC,aAAa,EAAE,IAAK;MACpBC,GAAG,EAAEJ,IAAI,CAAChC,KAAK,GAAGiC,KAAM;MACxBjB,KAAK,EAAEC,MAAM,CAACoB,MAAO;MACrBC,QAAQ,EAAEhC,OAAQ;MAClBiC,OAAO,EAAE,MAAAA,CAAA,KAAY;QACnBhC,UAAU,CAAC,IAAI,CAAC;QAChB,IAAI;UAAA,IAAAiC,aAAA;UACF,QAAAA,aAAA,GAAMR,IAAI,CAACO,OAAO,cAAAC,aAAA,uBAAZA,aAAA,CAAAhD,IAAA,CAAAwC,IAAe,CAAC;QACxB,CAAC,CAAC,OAAOzD,CAAU,EAAE;UACnB,MAAMkE,YAAY,GAAG3C,OAAO,IAAIkC,IAAI,CAAClC,OAAO;UAC5C2C,YAAY,aAAZA,YAAY,eAAZA,YAAY,CAAGlE,CAAC,CAAC;UACjB,IAAI,CAACkE,YAAY,EAAEC,kBAAM,CAACC,KAAK,CAAC,0BAA0B,EAAEpE,CAAC,CAAC;QAChE,CAAC,SAAS;UACRsB,MAAM,CAAC,CAAC;UACRU,UAAU,CAAC,KAAK,CAAC;QACnB;MACF;IAAE,gBAEF7C,MAAA,CAAAe,OAAA,CAAAiC,aAAA,CAACzC,KAAA,CAAAQ,OAAI;MACHmE,SAAS;MACTzB,KAAK,EACHa,IAAI,CAAChB,KAAK,KAAK,aAAa,GACxBZ,MAAM,CAACgB,EAAE,CAACC,MAAM,CAAC5C,OAAO,CAAC6C,IAAI,CAACuB,WAAW,GACzCzC,MAAM,CAACgB,EAAE,CAACC,MAAM,CAAC5C,OAAO,CAAC6C,IAAI,CAACC,IACnC;MACDC,aAAa,EAAE;IAAE,GAEhBQ,IAAI,CAAChC,KACF,CACU,CAAC;EAEvB,CAAC,CACG,CACG,CACN,CAAC;AAEZ,CAAC;AAED,MAAMiB,MAAM,GAAG,IAAA6B,yBAAgB,EAAC;EAC9B9C,KAAK,EAAE;IACL+C,aAAa,EAAE,KAAK;IACpBC,iBAAiB,EAAE,EAAE;IACrBC,eAAe,EAAE,EAAE;IACnBpC,UAAU,EAAE,QAAQ;IACpBC,cAAc,EAAE;EAClB,CAAC;EACDgB,eAAe,EAAE;IACfjB,UAAU,EAAE,YAAY;IACxBqC,SAAS,EAAE,CAAC;IACZC,YAAY,EAAE;EAChB,CAAC;EACDd,MAAM,EAAE;IACNW,iBAAiB,EAAE,EAAE;IACrBC,eAAe,EAAE;EACnB;AACF,CAAC,CAAC;AAAC,IAAAG,QAAA,GAAAC,OAAA,CAAA5E,OAAA,GAEYkB,UAAU","ignoreList":[]}
@@ -13,18 +13,17 @@ var _useHeaderStyle = _interopRequireDefault(require("../../styles/useHeaderStyl
13
13
  var _useUIKitTheme = _interopRequireDefault(require("../../theme/useUIKitTheme"));
14
14
  var _Button = _interopRequireDefault(require("../Button"));
15
15
  var _DialogBox = _interopRequireDefault(require("../Dialog/DialogBox"));
16
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
- const Alert = _ref => {
18
- let {
19
- onDismiss,
20
- visible,
21
- onHide,
22
- title = '',
23
- message = '',
24
- buttons = [{
25
- text: 'OK'
26
- }]
27
- } = _ref;
16
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
17
+ const Alert = ({
18
+ onDismiss,
19
+ visible,
20
+ onHide,
21
+ title = '',
22
+ message = '',
23
+ buttons = [{
24
+ text: 'OK'
25
+ }]
26
+ }) => {
28
27
  const {
29
28
  statusBarTranslucent
30
29
  } = (0, _useHeaderStyle.default)();
@@ -47,10 +46,7 @@ const Alert = _ref => {
47
46
  }, /*#__PURE__*/_react.default.createElement(_Text.default, {
48
47
  h1: true,
49
48
  color: colors.ui.dialog.default.none.text,
50
- numberOfLines: 1,
51
- style: {
52
- flex: 1
53
- }
49
+ numberOfLines: 1
54
50
  }, title)), /*#__PURE__*/_react.default.createElement(_reactNative.View, {
55
51
  style: styles.messageContainer
56
52
  }, Boolean(message) && /*#__PURE__*/_react.default.createElement(_Text.default, {
@@ -60,19 +56,18 @@ const Alert = _ref => {
60
56
  numberOfLines: 3
61
57
  }, message)), /*#__PURE__*/_react.default.createElement(_reactNative.View, {
62
58
  style: styles.buttonContainer
63
- }, buttons.map((_ref2, index) => {
64
- let {
65
- text = 'OK',
66
- style = 'default',
67
- onPress
68
- } = _ref2;
59
+ }, buttons.map(({
60
+ text = 'OK',
61
+ style = 'default',
62
+ onPress
63
+ }, index) => {
69
64
  return /*#__PURE__*/_react.default.createElement(_Button.default, {
70
65
  key: text + index,
71
66
  variant: 'text',
72
67
  style: styles.button,
73
68
  onPress: async () => {
74
69
  try {
75
- onPress === null || onPress === void 0 ? void 0 : onPress();
70
+ onPress === null || onPress === void 0 || onPress();
76
71
  } finally {
77
72
  onHide();
78
73
  }
@@ -88,15 +83,15 @@ const styles = (0, _createStyleSheet.default)({
88
83
  titleContainer: {
89
84
  paddingBottom: 16,
90
85
  paddingHorizontal: 24,
91
- flexDirection: 'row',
92
- alignItems: 'center'
86
+ alignItems: 'flex-start'
93
87
  },
94
88
  messageContainer: {
95
89
  paddingHorizontal: 24,
96
- marginBottom: 12
90
+ marginBottom: 12,
91
+ alignItems: 'flex-start'
97
92
  },
98
93
  button: {
99
- marginLeft: 8
94
+ marginStart: 8
100
95
  },
101
96
  buttonContainer: {
102
97
  flexDirection: 'row',
@@ -105,6 +100,5 @@ const styles = (0, _createStyleSheet.default)({
105
100
  padding: 12
106
101
  }
107
102
  });
108
- var _default = Alert;
109
- exports.default = _default;
103
+ var _default = exports.default = Alert;
110
104
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_Modal","_Text","_createStyleSheet","_useHeaderStyle","_useUIKitTheme","_Button","_DialogBox","obj","__esModule","default","Alert","_ref","onDismiss","visible","onHide","title","message","buttons","text","statusBarTranslucent","useHeaderStyle","colors","useUIKitTheme","createElement","onClose","backgroundStyle","alignItems","justifyContent","style","styles","container","Boolean","View","titleContainer","h1","color","ui","dialog","none","numberOfLines","flex","messageContainer","subtitle2","body3","buttonContainer","map","_ref2","index","onPress","key","variant","button","contentColor","destructive","highlight","createStyleSheet","paddingTop","paddingBottom","paddingHorizontal","flexDirection","marginBottom","marginLeft","padding","_default","exports"],"sources":["index.tsx"],"sourcesContent":["import React from 'react';\nimport { AlertButton, View } from 'react-native';\n\nimport Modal from '../../components/Modal';\nimport Text from '../../components/Text';\nimport createStyleSheet from '../../styles/createStyleSheet';\nimport useHeaderStyle from '../../styles/useHeaderStyle';\nimport useUIKitTheme from '../../theme/useUIKitTheme';\nimport Button from '../Button';\nimport DialogBox from '../Dialog/DialogBox';\n\nexport type AlertItem = {\n title?: string;\n message?: string;\n buttons?: AlertButton[];\n};\n\ntype Props = {\n visible: boolean;\n onHide: () => void;\n onDismiss?: () => void;\n} & AlertItem;\nconst Alert = ({ onDismiss, visible, onHide, title = '', message = '', buttons = [{ text: 'OK' }] }: Props) => {\n const { statusBarTranslucent } = useHeaderStyle();\n const { colors } = useUIKitTheme();\n\n return (\n <Modal\n onClose={onHide}\n onDismiss={onDismiss}\n statusBarTranslucent={statusBarTranslucent}\n visible={visible}\n backgroundStyle={{ alignItems: 'center', justifyContent: 'center' }}\n >\n <DialogBox style={styles.container}>\n {Boolean(title) && (\n <View style={styles.titleContainer}>\n <Text h1 color={colors.ui.dialog.default.none.text} numberOfLines={1} style={{ flex: 1 }}>\n {title}\n </Text>\n </View>\n )}\n\n <View style={styles.messageContainer}>\n {Boolean(message) && (\n <Text\n subtitle2={!title}\n body3={Boolean(title)}\n color={!title ? colors.ui.dialog.default.none.text : colors.ui.dialog.default.none.message}\n numberOfLines={3}\n >\n {message}\n </Text>\n )}\n </View>\n\n <View style={styles.buttonContainer}>\n {buttons.map(({ text = 'OK', style = 'default', onPress }, index) => {\n return (\n <Button\n key={text + index}\n variant={'text'}\n style={styles.button}\n onPress={async () => {\n try {\n onPress?.();\n } finally {\n onHide();\n }\n }}\n contentColor={\n style === 'destructive'\n ? colors.ui.dialog.default.none.destructive\n : colors.ui.dialog.default.none.highlight\n }\n >\n {text}\n </Button>\n );\n })}\n </View>\n </DialogBox>\n </Modal>\n );\n};\n\nconst styles = createStyleSheet({\n container: {\n paddingTop: 20,\n },\n titleContainer: {\n paddingBottom: 16,\n paddingHorizontal: 24,\n flexDirection: 'row',\n alignItems: 'center',\n },\n messageContainer: {\n paddingHorizontal: 24,\n marginBottom: 12,\n },\n button: {\n marginLeft: 8,\n },\n buttonContainer: {\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'flex-end',\n padding: 12,\n },\n});\n\nexport default Alert;\n"],"mappings":"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"}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_Modal","_Text","_createStyleSheet","_useHeaderStyle","_useUIKitTheme","_Button","_DialogBox","e","__esModule","default","Alert","onDismiss","visible","onHide","title","message","buttons","text","statusBarTranslucent","useHeaderStyle","colors","useUIKitTheme","createElement","onClose","backgroundStyle","alignItems","justifyContent","style","styles","container","Boolean","View","titleContainer","h1","color","ui","dialog","none","numberOfLines","messageContainer","subtitle2","body3","buttonContainer","map","onPress","index","key","variant","button","contentColor","destructive","highlight","createStyleSheet","paddingTop","paddingBottom","paddingHorizontal","marginBottom","marginStart","flexDirection","padding","_default","exports"],"sources":["index.tsx"],"sourcesContent":["import React from 'react';\nimport { AlertButton, View } from 'react-native';\n\nimport Modal from '../../components/Modal';\nimport Text from '../../components/Text';\nimport createStyleSheet from '../../styles/createStyleSheet';\nimport useHeaderStyle from '../../styles/useHeaderStyle';\nimport useUIKitTheme from '../../theme/useUIKitTheme';\nimport Button from '../Button';\nimport DialogBox from '../Dialog/DialogBox';\n\nexport type AlertItem = {\n title?: string;\n message?: string;\n buttons?: AlertButton[];\n};\n\ntype Props = {\n visible: boolean;\n onHide: () => void;\n onDismiss?: () => void;\n} & AlertItem;\nconst Alert = ({ onDismiss, visible, onHide, title = '', message = '', buttons = [{ text: 'OK' }] }: Props) => {\n const { statusBarTranslucent } = useHeaderStyle();\n const { colors } = useUIKitTheme();\n\n return (\n <Modal\n onClose={onHide}\n onDismiss={onDismiss}\n statusBarTranslucent={statusBarTranslucent}\n visible={visible}\n backgroundStyle={{ alignItems: 'center', justifyContent: 'center' }}\n >\n <DialogBox style={styles.container}>\n {Boolean(title) && (\n <View style={styles.titleContainer}>\n <Text h1 color={colors.ui.dialog.default.none.text} numberOfLines={1}>\n {title}\n </Text>\n </View>\n )}\n\n <View style={styles.messageContainer}>\n {Boolean(message) && (\n <Text\n subtitle2={!title}\n body3={Boolean(title)}\n color={!title ? colors.ui.dialog.default.none.text : colors.ui.dialog.default.none.message}\n numberOfLines={3}\n >\n {message}\n </Text>\n )}\n </View>\n\n <View style={styles.buttonContainer}>\n {buttons.map(({ text = 'OK', style = 'default', onPress }, index) => {\n return (\n <Button\n key={text + index}\n variant={'text'}\n style={styles.button}\n onPress={async () => {\n try {\n onPress?.();\n } finally {\n onHide();\n }\n }}\n contentColor={\n style === 'destructive'\n ? colors.ui.dialog.default.none.destructive\n : colors.ui.dialog.default.none.highlight\n }\n >\n {text}\n </Button>\n );\n })}\n </View>\n </DialogBox>\n </Modal>\n );\n};\n\nconst styles = createStyleSheet({\n container: {\n paddingTop: 20,\n },\n titleContainer: {\n paddingBottom: 16,\n paddingHorizontal: 24,\n alignItems: 'flex-start',\n },\n messageContainer: {\n paddingHorizontal: 24,\n marginBottom: 12,\n alignItems: 'flex-start',\n },\n button: {\n marginStart: 8,\n },\n buttonContainer: {\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'flex-end',\n padding: 12,\n },\n});\n\nexport default Alert;\n"],"mappings":"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","ignoreList":[]}
@@ -6,14 +6,13 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.default = void 0;
7
7
  var _react = _interopRequireDefault(require("react"));
8
8
  var _reactNative = require("react-native");
9
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
9
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
10
10
  const MAX = 4;
11
- const AvatarGroup = _ref => {
12
- let {
13
- children,
14
- containerStyle,
15
- size = 56
16
- } = _ref;
11
+ const AvatarGroup = ({
12
+ children,
13
+ containerStyle,
14
+ size = 56
15
+ }) => {
17
16
  const childAmount = _react.default.Children.count(children);
18
17
  if (childAmount === 0) {
19
18
  return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
@@ -36,17 +35,17 @@ const AvatarGroup = _ref => {
36
35
  containerStyle
37
36
  });
38
37
  const top = getTopPoint(index, childAmount) * size;
39
- const left = getLeftPoint(index) * size;
38
+ const start = getStartPoint(index) * size;
40
39
  const width = getWidthPoint(index, childAmount) * size;
41
40
  const height = getHeightPoint(index, childAmount) * size;
42
- const innerLeft = -getInnerLeft(index, childAmount) * size;
41
+ const innerStart = -getInnerStart(index, childAmount) * size;
43
42
  const innerTop = -getInnerTop(childAmount) * size;
44
43
  return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
45
44
  style: {
46
45
  overflow: 'hidden',
47
46
  position: 'absolute',
48
47
  top,
49
- left,
48
+ start,
50
49
  width,
51
50
  height
52
51
  }
@@ -54,7 +53,7 @@ const AvatarGroup = _ref => {
54
53
  size,
55
54
  square: true,
56
55
  containerStyle: {
57
- left: innerLeft,
56
+ start: innerStart,
58
57
  top: innerTop
59
58
  }
60
59
  }));
@@ -84,11 +83,11 @@ const getTopPoint = (idx, total) => {
84
83
  if (idx === 0 || idx === 1) return -0.025;
85
84
  return 0.525;
86
85
  };
87
- const getLeftPoint = idx => {
86
+ const getStartPoint = idx => {
88
87
  if (idx === 0 || idx === 2) return -0.025;
89
88
  return 0.525;
90
89
  };
91
- const getInnerLeft = (idx, total) => {
90
+ const getInnerStart = (idx, total) => {
92
91
  if (total === 3 && idx === 0) return 0;
93
92
  return 0.25;
94
93
  };
@@ -96,6 +95,5 @@ const getInnerTop = total => {
96
95
  if (total === 2) return 0;
97
96
  return 0.25;
98
97
  };
99
- var _default = AvatarGroup;
100
- exports.default = _default;
98
+ var _default = exports.default = AvatarGroup;
101
99
  //# sourceMappingURL=AvatarGroup.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","obj","__esModule","default","MAX","AvatarGroup","_ref","children","containerStyle","size","childAmount","React","Children","count","createElement","View","style","overflow","width","height","borderRadius","backgroundColor","renderAvatars","_React$Children$map","map","child","index","isValidElement","cloneElement","top","getTopPoint","left","getLeftPoint","getWidthPoint","getHeightPoint","innerLeft","getInnerLeft","innerTop","getInnerTop","position","square","slice","_","total","idx","_default","exports"],"sources":["AvatarGroup.tsx"],"sourcesContent":["import React, { ReactElement } from 'react';\nimport { StyleProp, View, ViewStyle } from 'react-native';\n\nconst MAX = 4;\n\ntype Props = React.PropsWithChildren<{\n size?: number;\n containerStyle?: StyleProp<ViewStyle>;\n}>;\nconst AvatarGroup = ({ children, containerStyle, size = 56 }: Props) => {\n const childAmount = React.Children.count(children);\n\n if (childAmount === 0) {\n return (\n <View\n style={[\n containerStyle,\n {\n overflow: 'hidden',\n width: size,\n height: size,\n borderRadius: size,\n backgroundColor: 'rgba(120,120,120,0.2)',\n },\n ]}\n />\n );\n }\n\n const renderAvatars = () => {\n return (\n React.Children.map(children, (child, index) => {\n if (index + 1 > MAX) return child;\n if (!React.isValidElement(child)) return child;\n\n if (childAmount === 1) return React.cloneElement(child as ReactElement, { size, containerStyle });\n\n const top = getTopPoint(index, childAmount) * size;\n const left = getLeftPoint(index) * size;\n const width = getWidthPoint(index, childAmount) * size;\n const height = getHeightPoint(index, childAmount) * size;\n const innerLeft = -getInnerLeft(index, childAmount) * size;\n const innerTop = -getInnerTop(childAmount) * size;\n\n return (\n <View style={{ overflow: 'hidden', position: 'absolute', top, left, width, height }}>\n {React.cloneElement(child as ReactElement, {\n size,\n square: true,\n containerStyle: { left: innerLeft, top: innerTop },\n })}\n </View>\n );\n })?.slice(0, 4) ?? []\n );\n };\n\n return (\n <View style={[containerStyle, { overflow: 'hidden', width: size, height: size, borderRadius: size }]}>\n {renderAvatars()}\n </View>\n );\n};\n\nconst getHeightPoint = (_: number, total: number) => {\n if (total === 2) return 1;\n return 0.5;\n};\nconst getWidthPoint = (idx: number, total: number) => {\n if (total === 3 && idx === 0) return 1;\n return 0.5;\n};\nconst getTopPoint = (idx: number, total: number) => {\n if (total === 2) return 0;\n if (total === 3 && idx === 0) return -0.025;\n if (total === 3 && idx !== 0) return 0.525;\n if (idx === 0 || idx === 1) return -0.025;\n return 0.525;\n};\nconst getLeftPoint = (idx: number) => {\n if (idx === 0 || idx === 2) return -0.025;\n return 0.525;\n};\nconst getInnerLeft = (idx: number, total: number) => {\n if (total === 3 && idx === 0) return 0;\n return 0.25;\n};\nconst getInnerTop = (total: number) => {\n if (total === 2) return 0;\n return 0.25;\n};\n\nexport default AvatarGroup;\n"],"mappings":"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"}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","e","__esModule","default","MAX","AvatarGroup","children","containerStyle","size","childAmount","React","Children","count","createElement","View","style","overflow","width","height","borderRadius","backgroundColor","renderAvatars","_React$Children$map","map","child","index","isValidElement","cloneElement","top","getTopPoint","start","getStartPoint","getWidthPoint","getHeightPoint","innerStart","getInnerStart","innerTop","getInnerTop","position","square","slice","_","total","idx","_default","exports"],"sources":["AvatarGroup.tsx"],"sourcesContent":["import React, { ReactElement } from 'react';\nimport { StyleProp, View, ViewStyle } from 'react-native';\n\nconst MAX = 4;\n\ntype Props = React.PropsWithChildren<{\n size?: number;\n containerStyle?: StyleProp<ViewStyle>;\n}>;\nconst AvatarGroup = ({ children, containerStyle, size = 56 }: Props) => {\n const childAmount = React.Children.count(children);\n\n if (childAmount === 0) {\n return (\n <View\n style={[\n containerStyle,\n {\n overflow: 'hidden',\n width: size,\n height: size,\n borderRadius: size,\n backgroundColor: 'rgba(120,120,120,0.2)',\n },\n ]}\n />\n );\n }\n\n const renderAvatars = () => {\n return (\n React.Children.map(children, (child, index) => {\n if (index + 1 > MAX) return child;\n if (!React.isValidElement(child)) return child;\n\n if (childAmount === 1) return React.cloneElement(child as ReactElement, { size, containerStyle });\n\n const top = getTopPoint(index, childAmount) * size;\n const start = getStartPoint(index) * size;\n const width = getWidthPoint(index, childAmount) * size;\n const height = getHeightPoint(index, childAmount) * size;\n const innerStart = -getInnerStart(index, childAmount) * size;\n const innerTop = -getInnerTop(childAmount) * size;\n\n return (\n <View style={{ overflow: 'hidden', position: 'absolute', top, start, width, height }}>\n {React.cloneElement(child as ReactElement, {\n size,\n square: true,\n containerStyle: { start: innerStart, top: innerTop },\n })}\n </View>\n );\n })?.slice(0, 4) ?? []\n );\n };\n\n return (\n <View style={[containerStyle, { overflow: 'hidden', width: size, height: size, borderRadius: size }]}>\n {renderAvatars()}\n </View>\n );\n};\n\nconst getHeightPoint = (_: number, total: number) => {\n if (total === 2) return 1;\n return 0.5;\n};\nconst getWidthPoint = (idx: number, total: number) => {\n if (total === 3 && idx === 0) return 1;\n return 0.5;\n};\nconst getTopPoint = (idx: number, total: number) => {\n if (total === 2) return 0;\n if (total === 3 && idx === 0) return -0.025;\n if (total === 3 && idx !== 0) return 0.525;\n if (idx === 0 || idx === 1) return -0.025;\n return 0.525;\n};\nconst getStartPoint = (idx: number) => {\n if (idx === 0 || idx === 2) return -0.025;\n return 0.525;\n};\nconst getInnerStart = (idx: number, total: number) => {\n if (total === 3 && idx === 0) return 0;\n return 0.25;\n};\nconst getInnerTop = (total: number) => {\n if (total === 2) return 0;\n return 0.25;\n};\n\nexport default AvatarGroup;\n"],"mappings":"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","ignoreList":[]}
@@ -9,14 +9,13 @@ var _reactNative = require("react-native");
9
9
  var _Icon = _interopRequireDefault(require("../../components/Icon"));
10
10
  var _createStyleSheet = _interopRequireDefault(require("../../styles/createStyleSheet"));
11
11
  var _useUIKitTheme = _interopRequireDefault(require("../../theme/useUIKitTheme"));
12
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
- const AvatarIcon = _ref => {
14
- let {
15
- size = 56,
16
- icon,
17
- containerStyle,
18
- backgroundColor
19
- } = _ref;
12
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
13
+ const AvatarIcon = ({
14
+ size = 56,
15
+ icon,
16
+ containerStyle,
17
+ backgroundColor
18
+ }) => {
20
19
  const {
21
20
  colors,
22
21
  palette
@@ -41,6 +40,5 @@ const styles = (0, _createStyleSheet.default)({
41
40
  justifyContent: 'center'
42
41
  }
43
42
  });
44
- var _default = AvatarIcon;
45
- exports.default = _default;
43
+ var _default = exports.default = AvatarIcon;
46
44
  //# sourceMappingURL=AvatarIcon.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_Icon","_createStyleSheet","_useUIKitTheme","obj","__esModule","default","AvatarIcon","_ref","size","icon","containerStyle","backgroundColor","colors","palette","useUIKitTheme","createElement","View","style","styles","container","width","height","borderRadius","background300","color","onBackgroundReverse01","createStyleSheet","overflow","alignItems","justifyContent","_default","exports"],"sources":["AvatarIcon.tsx"],"sourcesContent":["import React from 'react';\nimport { StyleProp, View, ViewStyle } from 'react-native';\n\nimport Icon from '../../components/Icon';\nimport createStyleSheet from '../../styles/createStyleSheet';\nimport useUIKitTheme from '../../theme/useUIKitTheme';\n\ntype Props = {\n icon: keyof typeof Icon.Assets;\n size?: number;\n backgroundColor?: string;\n containerStyle?: StyleProp<ViewStyle>;\n};\nconst AvatarIcon = ({ size = 56, icon, containerStyle, backgroundColor }: Props) => {\n const { colors, palette } = useUIKitTheme();\n return (\n <View\n style={[\n styles.container,\n {\n width: size,\n height: size,\n borderRadius: size / 2,\n backgroundColor: backgroundColor ?? palette.background300,\n },\n containerStyle,\n ]}\n >\n <Icon icon={icon} size={size / 2} color={colors.onBackgroundReverse01} />\n </View>\n );\n};\nconst styles = createStyleSheet({\n container: {\n overflow: 'hidden',\n alignItems: 'center',\n justifyContent: 'center',\n },\n});\nexport default AvatarIcon;\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAEA,IAAAE,KAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,iBAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,cAAA,GAAAL,sBAAA,CAAAC,OAAA;AAAsD,SAAAD,uBAAAM,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAQtD,MAAMG,UAAU,GAAGC,IAAA,IAAiE;EAAA,IAAhE;IAAEC,IAAI,GAAG,EAAE;IAAEC,IAAI;IAAEC,cAAc;IAAEC;EAAuB,CAAC,GAAAJ,IAAA;EAC7E,MAAM;IAAEK,MAAM;IAAEC;EAAQ,CAAC,GAAG,IAAAC,sBAAa,GAAE;EAC3C,oBACElB,MAAA,CAAAS,OAAA,CAAAU,aAAA,CAAChB,YAAA,CAAAiB,IAAI;IACHC,KAAK,EAAE,CACLC,MAAM,CAACC,SAAS,EAChB;MACEC,KAAK,EAAEZ,IAAI;MACXa,MAAM,EAAEb,IAAI;MACZc,YAAY,EAAEd,IAAI,GAAG,CAAC;MACtBG,eAAe,EAAEA,eAAe,IAAIE,OAAO,CAACU;IAC9C,CAAC,EACDb,cAAc;EACd,gBAEFd,MAAA,CAAAS,OAAA,CAAAU,aAAA,CAACf,KAAA,CAAAK,OAAI;IAACI,IAAI,EAAEA,IAAK;IAACD,IAAI,EAAEA,IAAI,GAAG,CAAE;IAACgB,KAAK,EAAEZ,MAAM,CAACa;EAAsB,EAAG,CACpE;AAEX,CAAC;AACD,MAAMP,MAAM,GAAG,IAAAQ,yBAAgB,EAAC;EAC9BP,SAAS,EAAE;IACTQ,QAAQ,EAAE,QAAQ;IAClBC,UAAU,EAAE,QAAQ;IACpBC,cAAc,EAAE;EAClB;AACF,CAAC,CAAC;AAAC,IAAAC,QAAA,GACYxB,UAAU;AAAAyB,OAAA,CAAA1B,OAAA,GAAAyB,QAAA"}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_Icon","_createStyleSheet","_useUIKitTheme","e","__esModule","default","AvatarIcon","size","icon","containerStyle","backgroundColor","colors","palette","useUIKitTheme","createElement","View","style","styles","container","width","height","borderRadius","background300","color","onBackgroundReverse01","createStyleSheet","overflow","alignItems","justifyContent","_default","exports"],"sources":["AvatarIcon.tsx"],"sourcesContent":["import React from 'react';\nimport { StyleProp, View, ViewStyle } from 'react-native';\n\nimport Icon from '../../components/Icon';\nimport createStyleSheet from '../../styles/createStyleSheet';\nimport useUIKitTheme from '../../theme/useUIKitTheme';\n\ntype Props = {\n icon: keyof typeof Icon.Assets;\n size?: number;\n backgroundColor?: string;\n containerStyle?: StyleProp<ViewStyle>;\n};\nconst AvatarIcon = ({ size = 56, icon, containerStyle, backgroundColor }: Props) => {\n const { colors, palette } = useUIKitTheme();\n return (\n <View\n style={[\n styles.container,\n {\n width: size,\n height: size,\n borderRadius: size / 2,\n backgroundColor: backgroundColor ?? palette.background300,\n },\n containerStyle,\n ]}\n >\n <Icon icon={icon} size={size / 2} color={colors.onBackgroundReverse01} />\n </View>\n );\n};\nconst styles = createStyleSheet({\n container: {\n overflow: 'hidden',\n alignItems: 'center',\n justifyContent: 'center',\n },\n});\nexport default AvatarIcon;\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAEA,IAAAE,KAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,iBAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,cAAA,GAAAL,sBAAA,CAAAC,OAAA;AAAsD,SAAAD,uBAAAM,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAQtD,MAAMG,UAAU,GAAGA,CAAC;EAAEC,IAAI,GAAG,EAAE;EAAEC,IAAI;EAAEC,cAAc;EAAEC;AAAuB,CAAC,KAAK;EAClF,MAAM;IAAEC,MAAM;IAAEC;EAAQ,CAAC,GAAG,IAAAC,sBAAa,EAAC,CAAC;EAC3C,oBACEjB,MAAA,CAAAS,OAAA,CAAAS,aAAA,CAACf,YAAA,CAAAgB,IAAI;IACHC,KAAK,EAAE,CACLC,MAAM,CAACC,SAAS,EAChB;MACEC,KAAK,EAAEZ,IAAI;MACXa,MAAM,EAAEb,IAAI;MACZc,YAAY,EAAEd,IAAI,GAAG,CAAC;MACtBG,eAAe,EAAEA,eAAe,IAAIE,OAAO,CAACU;IAC9C,CAAC,EACDb,cAAc;EACd,gBAEFb,MAAA,CAAAS,OAAA,CAAAS,aAAA,CAACd,KAAA,CAAAK,OAAI;IAACG,IAAI,EAAEA,IAAK;IAACD,IAAI,EAAEA,IAAI,GAAG,CAAE;IAACgB,KAAK,EAAEZ,MAAM,CAACa;EAAsB,CAAE,CACpE,CAAC;AAEX,CAAC;AACD,MAAMP,MAAM,GAAG,IAAAQ,yBAAgB,EAAC;EAC9BP,SAAS,EAAE;IACTQ,QAAQ,EAAE,QAAQ;IAClBC,UAAU,EAAE,QAAQ;IACpBC,cAAc,EAAE;EAClB;AACF,CAAC,CAAC;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAzB,OAAA,GACYC,UAAU","ignoreList":[]}
@@ -8,21 +8,20 @@ var _react = _interopRequireDefault(require("react"));
8
8
  var _reactNative = require("react-native");
9
9
  var _Text = _interopRequireDefault(require("../../components/Text"));
10
10
  var _useUIKitTheme = _interopRequireDefault(require("../../theme/useUIKitTheme"));
11
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
12
12
  const DEFAULT_MAX = 3;
13
13
  const DEFAULT_BORDER_WIDTH = 2;
14
14
  const DEFAULT_AVATAR_GAP = -4;
15
15
  const DEFAULT_AVATAR_SIZE = 26;
16
16
  const DEFAULT_REMAINS_MAX = 99;
17
- const AvatarStack = _ref => {
18
- let {
19
- children,
20
- containerStyle,
21
- styles,
22
- maxAvatar = DEFAULT_MAX,
23
- size = DEFAULT_AVATAR_SIZE,
24
- avatarGap = DEFAULT_AVATAR_GAP
25
- } = _ref;
17
+ const AvatarStack = ({
18
+ children,
19
+ containerStyle,
20
+ styles,
21
+ maxAvatar = DEFAULT_MAX,
22
+ size = DEFAULT_AVATAR_SIZE,
23
+ avatarGap = DEFAULT_AVATAR_GAP
24
+ }) => {
26
25
  const {
27
26
  colors,
28
27
  palette,
@@ -50,7 +49,7 @@ const AvatarStack = _ref => {
50
49
  return childrenArray.slice(0, maxAvatar).map((child, index) => /*#__PURE__*/_react.default.cloneElement(child, {
51
50
  size: actualSize,
52
51
  containerStyle: {
53
- left: actualGap * index,
52
+ start: actualGap * index,
54
53
  borderWidth: avatarStyles.borderWidth,
55
54
  borderColor: avatarStyles.borderColor
56
55
  }
@@ -60,7 +59,7 @@ const AvatarStack = _ref => {
60
59
  if (!shouldRenderRemains) return null;
61
60
  return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
62
61
  style: [avatarStyles, {
63
- left: actualGap * maxAvatar,
62
+ start: actualGap * maxAvatar,
64
63
  width: actualSize,
65
64
  height: actualSize,
66
65
  borderRadius: actualSize / 2,
@@ -85,12 +84,11 @@ const AvatarStack = _ref => {
85
84
  };
86
85
  return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
87
86
  style: [containerStyle, {
88
- left: -avatarStyles.borderWidth,
87
+ start: -avatarStyles.borderWidth,
89
88
  flexDirection: 'row',
90
89
  width: calculateWidth()
91
90
  }]
92
91
  }, renderAvatars(), renderRemainsCount());
93
92
  };
94
- var _default = AvatarStack;
95
- exports.default = _default;
93
+ var _default = exports.default = AvatarStack;
96
94
  //# sourceMappingURL=AvatarStack.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_Text","_useUIKitTheme","obj","__esModule","default","DEFAULT_MAX","DEFAULT_BORDER_WIDTH","DEFAULT_AVATAR_GAP","DEFAULT_AVATAR_SIZE","DEFAULT_REMAINS_MAX","AvatarStack","_ref","children","containerStyle","styles","maxAvatar","size","avatarGap","colors","palette","select","useUIKitTheme","defaultStyles","borderWidth","borderColor","background","remainsTextColor","onBackground02","remainsBackgroundColor","light","background100","dark","background600","avatarStyles","childrenArray","React","Children","toArray","filter","it","isValidElement","remains","length","shouldRenderRemains","actualSize","actualGap","renderAvatars","slice","map","child","index","cloneElement","left","renderRemainsCount","createElement","View","style","width","height","borderRadius","alignItems","justifyContent","backgroundColor","color","fontSize","caption4","Math","min","calculateWidth","widthEach","avatarCountOffset","avatarCount","count","flexDirection","_default","exports"],"sources":["AvatarStack.tsx"],"sourcesContent":["import React, { ReactElement } from 'react';\nimport { StyleProp, View, ViewStyle } from 'react-native';\n\nimport Text from '../../components/Text';\nimport useUIKitTheme from '../../theme/useUIKitTheme';\n\nconst DEFAULT_MAX = 3;\nconst DEFAULT_BORDER_WIDTH = 2;\nconst DEFAULT_AVATAR_GAP = -4;\nconst DEFAULT_AVATAR_SIZE = 26;\nconst DEFAULT_REMAINS_MAX = 99;\n\ntype Props = React.PropsWithChildren<{\n size?: number;\n containerStyle?: StyleProp<ViewStyle>;\n maxAvatar?: number;\n avatarGap?: number;\n styles?: {\n borderWidth?: number;\n borderColor?: string;\n remainsTextColor?: string;\n remainsBackgroundColor?: string;\n };\n}>;\n\nconst AvatarStack = ({\n children,\n containerStyle,\n styles,\n maxAvatar = DEFAULT_MAX,\n size = DEFAULT_AVATAR_SIZE,\n avatarGap = DEFAULT_AVATAR_GAP,\n}: Props) => {\n const { colors, palette, select } = useUIKitTheme();\n const defaultStyles = {\n borderWidth: DEFAULT_BORDER_WIDTH,\n borderColor: colors.background,\n remainsTextColor: colors.onBackground02,\n remainsBackgroundColor: select({ light: palette.background100, dark: palette.background600 }),\n };\n const avatarStyles = { ...defaultStyles, ...styles };\n\n const childrenArray = React.Children.toArray(children).filter((it) => React.isValidElement(it));\n const remains = childrenArray.length - maxAvatar;\n const shouldRenderRemains = remains > 0;\n\n const actualSize = size + avatarStyles.borderWidth * 2;\n const actualGap = avatarGap - avatarStyles.borderWidth;\n\n const renderAvatars = () => {\n return childrenArray.slice(0, maxAvatar).map((child, index) =>\n React.cloneElement(child as ReactElement, {\n size: actualSize,\n containerStyle: {\n left: actualGap * index,\n borderWidth: avatarStyles.borderWidth,\n borderColor: avatarStyles.borderColor,\n },\n }),\n );\n };\n\n const renderRemainsCount = () => {\n if (!shouldRenderRemains) return null;\n return (\n <View\n style={[\n avatarStyles,\n {\n left: actualGap * maxAvatar,\n width: actualSize,\n height: actualSize,\n borderRadius: actualSize / 2,\n alignItems: 'center',\n justifyContent: 'center',\n backgroundColor: avatarStyles.remainsBackgroundColor,\n },\n ]}\n >\n <Text style={{ color: avatarStyles.remainsTextColor, fontSize: 8 }} caption4>\n {`+${Math.min(remains, DEFAULT_REMAINS_MAX)}`}\n </Text>\n </View>\n );\n };\n\n const calculateWidth = () => {\n const widthEach = actualSize + actualGap;\n const avatarCountOffset = shouldRenderRemains ? 1 : 0;\n const avatarCount = shouldRenderRemains ? maxAvatar : childrenArray.length;\n const count = avatarCount + avatarCountOffset;\n return widthEach * count + avatarStyles.borderWidth;\n };\n\n return (\n <View style={[containerStyle, { left: -avatarStyles.borderWidth, flexDirection: 'row', width: calculateWidth() }]}>\n {renderAvatars()}\n {renderRemainsCount()}\n </View>\n );\n};\n\nexport default AvatarStack;\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAEA,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;AAEtD,MAAMG,WAAW,GAAG,CAAC;AACrB,MAAMC,oBAAoB,GAAG,CAAC;AAC9B,MAAMC,kBAAkB,GAAG,CAAC,CAAC;AAC7B,MAAMC,mBAAmB,GAAG,EAAE;AAC9B,MAAMC,mBAAmB,GAAG,EAAE;AAe9B,MAAMC,WAAW,GAAGC,IAAA,IAOP;EAAA,IAPQ;IACnBC,QAAQ;IACRC,cAAc;IACdC,MAAM;IACNC,SAAS,GAAGV,WAAW;IACvBW,IAAI,GAAGR,mBAAmB;IAC1BS,SAAS,GAAGV;EACP,CAAC,GAAAI,IAAA;EACN,MAAM;IAAEO,MAAM;IAAEC,OAAO;IAAEC;EAAO,CAAC,GAAG,IAAAC,sBAAa,GAAE;EACnD,MAAMC,aAAa,GAAG;IACpBC,WAAW,EAAEjB,oBAAoB;IACjCkB,WAAW,EAAEN,MAAM,CAACO,UAAU;IAC9BC,gBAAgB,EAAER,MAAM,CAACS,cAAc;IACvCC,sBAAsB,EAAER,MAAM,CAAC;MAAES,KAAK,EAAEV,OAAO,CAACW,aAAa;MAAEC,IAAI,EAAEZ,OAAO,CAACa;IAAc,CAAC;EAC9F,CAAC;EACD,MAAMC,YAAY,GAAG;IAAE,GAAGX,aAAa;IAAE,GAAGR;EAAO,CAAC;EAEpD,MAAMoB,aAAa,GAAGC,cAAK,CAACC,QAAQ,CAACC,OAAO,CAACzB,QAAQ,CAAC,CAAC0B,MAAM,CAAEC,EAAE,iBAAKJ,cAAK,CAACK,cAAc,CAACD,EAAE,CAAC,CAAC;EAC/F,MAAME,OAAO,GAAGP,aAAa,CAACQ,MAAM,GAAG3B,SAAS;EAChD,MAAM4B,mBAAmB,GAAGF,OAAO,GAAG,CAAC;EAEvC,MAAMG,UAAU,GAAG5B,IAAI,GAAGiB,YAAY,CAACV,WAAW,GAAG,CAAC;EACtD,MAAMsB,SAAS,GAAG5B,SAAS,GAAGgB,YAAY,CAACV,WAAW;EAEtD,MAAMuB,aAAa,GAAGA,CAAA,KAAM;IAC1B,OAAOZ,aAAa,CAACa,KAAK,CAAC,CAAC,EAAEhC,SAAS,CAAC,CAACiC,GAAG,CAAC,CAACC,KAAK,EAAEC,KAAK,kBACxDf,cAAK,CAACgB,YAAY,CAACF,KAAK,EAAkB;MACxCjC,IAAI,EAAE4B,UAAU;MAChB/B,cAAc,EAAE;QACduC,IAAI,EAAEP,SAAS,GAAGK,KAAK;QACvB3B,WAAW,EAAEU,YAAY,CAACV,WAAW;QACrCC,WAAW,EAAES,YAAY,CAACT;MAC5B;IACF,CAAC,CAAC,CACH;EACH,CAAC;EAED,MAAM6B,kBAAkB,GAAGA,CAAA,KAAM;IAC/B,IAAI,CAACV,mBAAmB,EAAE,OAAO,IAAI;IACrC,oBACE/C,MAAA,CAAAQ,OAAA,CAAAkD,aAAA,CAACvD,YAAA,CAAAwD,IAAI;MACHC,KAAK,EAAE,CACLvB,YAAY,EACZ;QACEmB,IAAI,EAAEP,SAAS,GAAG9B,SAAS;QAC3B0C,KAAK,EAAEb,UAAU;QACjBc,MAAM,EAAEd,UAAU;QAClBe,YAAY,EAAEf,UAAU,GAAG,CAAC;QAC5BgB,UAAU,EAAE,QAAQ;QACpBC,cAAc,EAAE,QAAQ;QACxBC,eAAe,EAAE7B,YAAY,CAACL;MAChC,CAAC;IACD,gBAEFhC,MAAA,CAAAQ,OAAA,CAAAkD,aAAA,CAACtD,KAAA,CAAAI,OAAI;MAACoD,KAAK,EAAE;QAAEO,KAAK,EAAE9B,YAAY,CAACP,gBAAgB;QAAEsC,QAAQ,EAAE;MAAE,CAAE;MAACC,QAAQ;IAAA,GACxE,IAAGC,IAAI,CAACC,GAAG,CAAC1B,OAAO,EAAEhC,mBAAmB,CAAE,EAAC,CACxC,CACF;EAEX,CAAC;EAED,MAAM2D,cAAc,GAAGA,CAAA,KAAM;IAC3B,MAAMC,SAAS,GAAGzB,UAAU,GAAGC,SAAS;IACxC,MAAMyB,iBAAiB,GAAG3B,mBAAmB,GAAG,CAAC,GAAG,CAAC;IACrD,MAAM4B,WAAW,GAAG5B,mBAAmB,GAAG5B,SAAS,GAAGmB,aAAa,CAACQ,MAAM;IAC1E,MAAM8B,KAAK,GAAGD,WAAW,GAAGD,iBAAiB;IAC7C,OAAOD,SAAS,GAAGG,KAAK,GAAGvC,YAAY,CAACV,WAAW;EACrD,CAAC;EAED,oBACE3B,MAAA,CAAAQ,OAAA,CAAAkD,aAAA,CAACvD,YAAA,CAAAwD,IAAI;IAACC,KAAK,EAAE,CAAC3C,cAAc,EAAE;MAAEuC,IAAI,EAAE,CAACnB,YAAY,CAACV,WAAW;MAAEkD,aAAa,EAAE,KAAK;MAAEhB,KAAK,EAAEW,cAAc;IAAG,CAAC;EAAE,GAC/GtB,aAAa,EAAE,EACfO,kBAAkB,EAAE,CAChB;AAEX,CAAC;AAAC,IAAAqB,QAAA,GAEahE,WAAW;AAAAiE,OAAA,CAAAvE,OAAA,GAAAsE,QAAA"}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_Text","_useUIKitTheme","e","__esModule","default","DEFAULT_MAX","DEFAULT_BORDER_WIDTH","DEFAULT_AVATAR_GAP","DEFAULT_AVATAR_SIZE","DEFAULT_REMAINS_MAX","AvatarStack","children","containerStyle","styles","maxAvatar","size","avatarGap","colors","palette","select","useUIKitTheme","defaultStyles","borderWidth","borderColor","background","remainsTextColor","onBackground02","remainsBackgroundColor","light","background100","dark","background600","avatarStyles","childrenArray","React","Children","toArray","filter","it","isValidElement","remains","length","shouldRenderRemains","actualSize","actualGap","renderAvatars","slice","map","child","index","cloneElement","start","renderRemainsCount","createElement","View","style","width","height","borderRadius","alignItems","justifyContent","backgroundColor","color","fontSize","caption4","Math","min","calculateWidth","widthEach","avatarCountOffset","avatarCount","count","flexDirection","_default","exports"],"sources":["AvatarStack.tsx"],"sourcesContent":["import React, { ReactElement } from 'react';\nimport { StyleProp, View, ViewStyle } from 'react-native';\n\nimport Text from '../../components/Text';\nimport useUIKitTheme from '../../theme/useUIKitTheme';\n\nconst DEFAULT_MAX = 3;\nconst DEFAULT_BORDER_WIDTH = 2;\nconst DEFAULT_AVATAR_GAP = -4;\nconst DEFAULT_AVATAR_SIZE = 26;\nconst DEFAULT_REMAINS_MAX = 99;\n\ntype Props = React.PropsWithChildren<{\n size?: number;\n containerStyle?: StyleProp<ViewStyle>;\n maxAvatar?: number;\n avatarGap?: number;\n styles?: {\n borderWidth?: number;\n borderColor?: string;\n remainsTextColor?: string;\n remainsBackgroundColor?: string;\n };\n}>;\n\nconst AvatarStack = ({\n children,\n containerStyle,\n styles,\n maxAvatar = DEFAULT_MAX,\n size = DEFAULT_AVATAR_SIZE,\n avatarGap = DEFAULT_AVATAR_GAP,\n}: Props) => {\n const { colors, palette, select } = useUIKitTheme();\n const defaultStyles = {\n borderWidth: DEFAULT_BORDER_WIDTH,\n borderColor: colors.background,\n remainsTextColor: colors.onBackground02,\n remainsBackgroundColor: select({ light: palette.background100, dark: palette.background600 }),\n };\n const avatarStyles = { ...defaultStyles, ...styles };\n\n const childrenArray = React.Children.toArray(children).filter((it) => React.isValidElement(it));\n const remains = childrenArray.length - maxAvatar;\n const shouldRenderRemains = remains > 0;\n\n const actualSize = size + avatarStyles.borderWidth * 2;\n const actualGap = avatarGap - avatarStyles.borderWidth;\n\n const renderAvatars = () => {\n return childrenArray.slice(0, maxAvatar).map((child, index) =>\n React.cloneElement(child as ReactElement, {\n size: actualSize,\n containerStyle: {\n start: actualGap * index,\n borderWidth: avatarStyles.borderWidth,\n borderColor: avatarStyles.borderColor,\n },\n }),\n );\n };\n\n const renderRemainsCount = () => {\n if (!shouldRenderRemains) return null;\n return (\n <View\n style={[\n avatarStyles,\n {\n start: actualGap * maxAvatar,\n width: actualSize,\n height: actualSize,\n borderRadius: actualSize / 2,\n alignItems: 'center',\n justifyContent: 'center',\n backgroundColor: avatarStyles.remainsBackgroundColor,\n },\n ]}\n >\n <Text style={{ color: avatarStyles.remainsTextColor, fontSize: 8 }} caption4>\n {`+${Math.min(remains, DEFAULT_REMAINS_MAX)}`}\n </Text>\n </View>\n );\n };\n\n const calculateWidth = () => {\n const widthEach = actualSize + actualGap;\n const avatarCountOffset = shouldRenderRemains ? 1 : 0;\n const avatarCount = shouldRenderRemains ? maxAvatar : childrenArray.length;\n const count = avatarCount + avatarCountOffset;\n return widthEach * count + avatarStyles.borderWidth;\n };\n\n return (\n <View style={[containerStyle, { start: -avatarStyles.borderWidth, flexDirection: 'row', width: calculateWidth() }]}>\n {renderAvatars()}\n {renderRemainsCount()}\n </View>\n );\n};\n\nexport default AvatarStack;\n"],"mappings":"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","ignoreList":[]}