@sendbird/uikit-react-native-foundation 3.7.6 → 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.
- package/lib/commonjs/assets/bundle-icons.js.map +1 -1
- package/lib/commonjs/assets/icon/icon-thread.png +0 -0
- package/lib/commonjs/assets/icon/icon-thread@2x.png +0 -0
- package/lib/commonjs/assets/icon/icon-thread@3x.png +0 -0
- package/lib/commonjs/assets/icon/index.js +1 -2
- package/lib/commonjs/assets/icon/index.js.map +1 -1
- package/lib/commonjs/components/Box/index.js +8 -10
- package/lib/commonjs/components/Box/index.js.map +1 -1
- package/lib/commonjs/components/Divider/index.js +6 -8
- package/lib/commonjs/components/Divider/index.js.map +1 -1
- package/lib/commonjs/components/Icon/index.js +36 -18
- package/lib/commonjs/components/Icon/index.js.map +1 -1
- package/lib/commonjs/components/Image/FastImageInternal.js +1 -2
- package/lib/commonjs/components/Image/FastImageInternal.js.map +1 -1
- package/lib/commonjs/components/Image/Image.fastimage.js +14 -17
- package/lib/commonjs/components/Image/Image.fastimage.js.map +1 -1
- package/lib/commonjs/components/Image/Image.reactnative.js +10 -12
- package/lib/commonjs/components/Image/Image.reactnative.js.map +1 -1
- package/lib/commonjs/components/Image/index.js +1 -2
- package/lib/commonjs/components/Image/index.js.map +1 -1
- package/lib/commonjs/components/ImageWithPlaceholder/index.js +5 -7
- package/lib/commonjs/components/ImageWithPlaceholder/index.js.map +1 -1
- package/lib/commonjs/components/Modal/index.js +28 -37
- package/lib/commonjs/components/Modal/index.js.map +1 -1
- package/lib/commonjs/components/PressBox/index.js +17 -20
- package/lib/commonjs/components/PressBox/index.js.map +1 -1
- package/lib/commonjs/components/ProgressBar/index.js +24 -16
- package/lib/commonjs/components/ProgressBar/index.js.map +1 -1
- package/lib/commonjs/components/RegexText/index.js +11 -14
- package/lib/commonjs/components/RegexText/index.js.map +1 -1
- package/lib/commonjs/components/Switch/index.js +19 -19
- package/lib/commonjs/components/Switch/index.js.map +1 -1
- package/lib/commonjs/components/Text/index.js +46 -29
- package/lib/commonjs/components/Text/index.js.map +1 -1
- package/lib/commonjs/components/TextInput/index.js +38 -18
- package/lib/commonjs/components/TextInput/index.js.map +1 -1
- package/lib/commonjs/components/VideoThumbnail/index.js +11 -13
- package/lib/commonjs/components/VideoThumbnail/index.js.map +1 -1
- package/lib/commonjs/index.js +3 -3
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/styles/HeaderStyleContext.js +8 -10
- package/lib/commonjs/styles/HeaderStyleContext.js.map +1 -1
- package/lib/commonjs/styles/createScaleFactor.js +3 -6
- package/lib/commonjs/styles/createScaleFactor.js.map +1 -1
- package/lib/commonjs/styles/createSelectByColorScheme.js +1 -2
- package/lib/commonjs/styles/createSelectByColorScheme.js.map +1 -1
- package/lib/commonjs/styles/createStyleSheet.js +9 -4
- package/lib/commonjs/styles/createStyleSheet.js.map +1 -1
- package/lib/commonjs/styles/createTypography.js +2 -5
- package/lib/commonjs/styles/createTypography.js.map +1 -1
- package/lib/commonjs/styles/getDefaultHeaderHeight.js +1 -2
- package/lib/commonjs/styles/getDefaultHeaderHeight.js.map +1 -1
- package/lib/commonjs/styles/useHeaderStyle.js +1 -2
- package/lib/commonjs/styles/useHeaderStyle.js.map +1 -1
- package/lib/commonjs/theme/DarkUIKitTheme.js +2 -3
- package/lib/commonjs/theme/DarkUIKitTheme.js.map +1 -1
- package/lib/commonjs/theme/LightUIKitTheme.js +2 -3
- package/lib/commonjs/theme/LightUIKitTheme.js.map +1 -1
- package/lib/commonjs/theme/Palette.js +1 -2
- package/lib/commonjs/theme/Palette.js.map +1 -1
- package/lib/commonjs/theme/UIKitThemeContext.js +2 -3
- package/lib/commonjs/theme/UIKitThemeContext.js.map +1 -1
- package/lib/commonjs/theme/UIKitThemeProvider.js +6 -8
- package/lib/commonjs/theme/UIKitThemeProvider.js.map +1 -1
- package/lib/commonjs/theme/createTheme.js +11 -13
- package/lib/commonjs/theme/createTheme.js.map +1 -1
- package/lib/commonjs/theme/useUIKitTheme.js +2 -3
- package/lib/commonjs/theme/useUIKitTheme.js.map +1 -1
- package/lib/commonjs/types.js.map +1 -1
- package/lib/commonjs/ui/ActionMenu/index.js +17 -17
- package/lib/commonjs/ui/ActionMenu/index.js.map +1 -1
- package/lib/commonjs/ui/Alert/index.js +23 -29
- package/lib/commonjs/ui/Alert/index.js.map +1 -1
- package/lib/commonjs/ui/Avatar/AvatarGroup.js +13 -15
- package/lib/commonjs/ui/Avatar/AvatarGroup.js.map +1 -1
- package/lib/commonjs/ui/Avatar/AvatarIcon.js +8 -10
- package/lib/commonjs/ui/Avatar/AvatarIcon.js.map +1 -1
- package/lib/commonjs/ui/Avatar/AvatarStack.js +13 -15
- package/lib/commonjs/ui/Avatar/AvatarStack.js.map +1 -1
- package/lib/commonjs/ui/Avatar/index.js +14 -17
- package/lib/commonjs/ui/Avatar/index.js.map +1 -1
- package/lib/commonjs/ui/Badge/index.js +10 -12
- package/lib/commonjs/ui/Badge/index.js.map +1 -1
- package/lib/commonjs/ui/BottomSheet/index.js +30 -39
- package/lib/commonjs/ui/BottomSheet/index.js.map +1 -1
- package/lib/commonjs/ui/Button/index.js +19 -23
- package/lib/commonjs/ui/Button/index.js.map +1 -1
- package/lib/commonjs/ui/ChannelFrozenBanner/index.js +8 -10
- package/lib/commonjs/ui/ChannelFrozenBanner/index.js.map +1 -1
- package/lib/commonjs/ui/Dialog/DialogBox.js +6 -8
- package/lib/commonjs/ui/Dialog/DialogBox.js.map +1 -1
- package/lib/commonjs/ui/Dialog/DialogSheet.js +23 -22
- package/lib/commonjs/ui/Dialog/DialogSheet.js.map +1 -1
- package/lib/commonjs/ui/Dialog/index.js +11 -12
- package/lib/commonjs/ui/Dialog/index.js.map +1 -1
- package/lib/commonjs/ui/GroupChannelMessage/Message.admin.js +2 -3
- package/lib/commonjs/ui/GroupChannelMessage/Message.admin.js.map +1 -1
- package/lib/commonjs/ui/GroupChannelMessage/Message.file.image.js +2 -3
- package/lib/commonjs/ui/GroupChannelMessage/Message.file.image.js.map +1 -1
- package/lib/commonjs/ui/GroupChannelMessage/Message.file.js +6 -8
- package/lib/commonjs/ui/GroupChannelMessage/Message.file.js.map +1 -1
- package/lib/commonjs/ui/GroupChannelMessage/Message.file.video.js +2 -3
- package/lib/commonjs/ui/GroupChannelMessage/Message.file.video.js.map +1 -1
- package/lib/commonjs/ui/GroupChannelMessage/Message.file.voice.js +8 -9
- package/lib/commonjs/ui/GroupChannelMessage/Message.file.voice.js.map +1 -1
- package/lib/commonjs/ui/GroupChannelMessage/Message.unknown.js +5 -7
- package/lib/commonjs/ui/GroupChannelMessage/Message.unknown.js.map +1 -1
- package/lib/commonjs/ui/GroupChannelMessage/Message.user.js +8 -12
- package/lib/commonjs/ui/GroupChannelMessage/Message.user.js.map +1 -1
- package/lib/commonjs/ui/GroupChannelMessage/Message.user.og.js +16 -20
- package/lib/commonjs/ui/GroupChannelMessage/Message.user.og.js.map +1 -1
- package/lib/commonjs/ui/GroupChannelMessage/MessageBubbleWithText.js +28 -24
- package/lib/commonjs/ui/GroupChannelMessage/MessageBubbleWithText.js.map +1 -1
- package/lib/commonjs/ui/GroupChannelMessage/MessageContainer.js +29 -31
- package/lib/commonjs/ui/GroupChannelMessage/MessageContainer.js.map +1 -1
- package/lib/commonjs/ui/GroupChannelMessage/MessageOpenGraph.js +38 -43
- package/lib/commonjs/ui/GroupChannelMessage/MessageOpenGraph.js.map +1 -1
- package/lib/commonjs/ui/GroupChannelMessage/index.js +2 -3
- package/lib/commonjs/ui/GroupChannelMessage/index.js.map +1 -1
- package/lib/commonjs/ui/GroupChannelPreview/index.js +55 -61
- package/lib/commonjs/ui/GroupChannelPreview/index.js.map +1 -1
- package/lib/commonjs/ui/Header/index.js +45 -56
- package/lib/commonjs/ui/Header/index.js.map +1 -1
- package/lib/commonjs/ui/LoadingSpinner/index.js +14 -18
- package/lib/commonjs/ui/LoadingSpinner/index.js.map +1 -1
- package/lib/commonjs/ui/MenuBar/index.js +23 -21
- package/lib/commonjs/ui/MenuBar/index.js.map +1 -1
- package/lib/commonjs/ui/OpenChannelMessage/Message.admin.js +2 -3
- package/lib/commonjs/ui/OpenChannelMessage/Message.admin.js.map +1 -1
- package/lib/commonjs/ui/OpenChannelMessage/Message.file.image.js +2 -3
- package/lib/commonjs/ui/OpenChannelMessage/Message.file.image.js.map +1 -1
- package/lib/commonjs/ui/OpenChannelMessage/Message.file.js +6 -8
- package/lib/commonjs/ui/OpenChannelMessage/Message.file.js.map +1 -1
- package/lib/commonjs/ui/OpenChannelMessage/Message.file.video.js +2 -3
- package/lib/commonjs/ui/OpenChannelMessage/Message.file.video.js.map +1 -1
- package/lib/commonjs/ui/OpenChannelMessage/Message.unknown.js +6 -8
- package/lib/commonjs/ui/OpenChannelMessage/Message.unknown.js.map +1 -1
- package/lib/commonjs/ui/OpenChannelMessage/Message.user.js +28 -20
- package/lib/commonjs/ui/OpenChannelMessage/Message.user.js.map +1 -1
- package/lib/commonjs/ui/OpenChannelMessage/Message.user.og.js +54 -49
- package/lib/commonjs/ui/OpenChannelMessage/Message.user.og.js.map +1 -1
- package/lib/commonjs/ui/OpenChannelMessage/MessageContainer.js +16 -19
- package/lib/commonjs/ui/OpenChannelMessage/MessageContainer.js.map +1 -1
- package/lib/commonjs/ui/OpenChannelMessage/index.js +2 -3
- package/lib/commonjs/ui/OpenChannelMessage/index.js.map +1 -1
- package/lib/commonjs/ui/OpenChannelPreview/index.js +25 -30
- package/lib/commonjs/ui/OpenChannelPreview/index.js.map +1 -1
- package/lib/commonjs/ui/OutlinedButton/index.js +7 -9
- package/lib/commonjs/ui/OutlinedButton/index.js.map +1 -1
- package/lib/commonjs/ui/Placeholder/index.js +9 -11
- package/lib/commonjs/ui/Placeholder/index.js.map +1 -1
- package/lib/commonjs/ui/ProfileCard/index.js +11 -12
- package/lib/commonjs/ui/ProfileCard/index.js.map +1 -1
- package/lib/commonjs/ui/Prompt/index.js +30 -37
- package/lib/commonjs/ui/Prompt/index.js.map +1 -1
- package/lib/commonjs/ui/Toast/index.js +21 -27
- package/lib/commonjs/ui/Toast/index.js.map +1 -1
- package/lib/commonjs/ui/TypingIndicatorBubble/index.js +25 -32
- package/lib/commonjs/ui/TypingIndicatorBubble/index.js.map +1 -1
- package/lib/module/assets/bundle-icons.js.map +1 -1
- package/lib/module/assets/icon/icon-thread.png +0 -0
- package/lib/module/assets/icon/icon-thread@2x.png +0 -0
- package/lib/module/assets/icon/icon-thread@3x.png +0 -0
- package/lib/module/assets/icon/index.js.map +1 -1
- package/lib/module/components/Box/index.js +6 -7
- package/lib/module/components/Box/index.js.map +1 -1
- package/lib/module/components/Divider/index.js +4 -5
- package/lib/module/components/Divider/index.js.map +1 -1
- package/lib/module/components/Icon/index.js +35 -16
- package/lib/module/components/Icon/index.js.map +1 -1
- package/lib/module/components/Image/FastImageInternal.js.map +1 -1
- package/lib/module/components/Image/Image.fastimage.js +12 -14
- package/lib/module/components/Image/Image.fastimage.js.map +1 -1
- package/lib/module/components/Image/Image.reactnative.js +8 -9
- package/lib/module/components/Image/Image.reactnative.js.map +1 -1
- package/lib/module/components/Image/index.js.map +1 -1
- package/lib/module/components/ImageWithPlaceholder/index.js +1 -2
- package/lib/module/components/ImageWithPlaceholder/index.js.map +1 -1
- package/lib/module/components/Modal/index.js +24 -32
- package/lib/module/components/Modal/index.js.map +1 -1
- package/lib/module/components/PressBox/index.js +10 -12
- package/lib/module/components/PressBox/index.js.map +1 -1
- package/lib/module/components/ProgressBar/index.js +21 -12
- package/lib/module/components/ProgressBar/index.js.map +1 -1
- package/lib/module/components/RegexText/index.js +9 -11
- package/lib/module/components/RegexText/index.js.map +1 -1
- package/lib/module/components/Switch/index.js +16 -15
- package/lib/module/components/Switch/index.js.map +1 -1
- package/lib/module/components/Text/index.js +45 -27
- package/lib/module/components/Text/index.js.map +1 -1
- package/lib/module/components/TextInput/index.js +37 -16
- package/lib/module/components/TextInput/index.js.map +1 -1
- package/lib/module/components/VideoThumbnail/index.js +8 -10
- package/lib/module/components/VideoThumbnail/index.js.map +1 -1
- package/lib/module/index.js.map +1 -1
- package/lib/module/styles/HeaderStyleContext.js +6 -7
- package/lib/module/styles/HeaderStyleContext.js.map +1 -1
- package/lib/module/styles/createScaleFactor.js +1 -2
- package/lib/module/styles/createScaleFactor.js.map +1 -1
- package/lib/module/styles/createSelectByColorScheme.js.map +1 -1
- package/lib/module/styles/createStyleSheet.js +8 -2
- package/lib/module/styles/createStyleSheet.js.map +1 -1
- package/lib/module/styles/createTypography.js +1 -3
- package/lib/module/styles/createTypography.js.map +1 -1
- package/lib/module/styles/getDefaultHeaderHeight.js.map +1 -1
- package/lib/module/styles/useHeaderStyle.js.map +1 -1
- package/lib/module/theme/DarkUIKitTheme.js.map +1 -1
- package/lib/module/theme/LightUIKitTheme.js.map +1 -1
- package/lib/module/theme/Palette.js.map +1 -1
- package/lib/module/theme/UIKitThemeContext.js.map +1 -1
- package/lib/module/theme/UIKitThemeProvider.js +4 -5
- package/lib/module/theme/UIKitThemeProvider.js.map +1 -1
- package/lib/module/theme/createTheme.js +9 -10
- package/lib/module/theme/createTheme.js.map +1 -1
- package/lib/module/theme/useUIKitTheme.js.map +1 -1
- package/lib/module/types.js.map +1 -1
- package/lib/module/ui/ActionMenu/index.js +13 -12
- package/lib/module/ui/ActionMenu/index.js.map +1 -1
- package/lib/module/ui/Alert/index.js +21 -26
- package/lib/module/ui/Alert/index.js.map +1 -1
- package/lib/module/ui/Avatar/AvatarGroup.js +11 -12
- package/lib/module/ui/Avatar/AvatarGroup.js.map +1 -1
- package/lib/module/ui/Avatar/AvatarIcon.js +6 -7
- package/lib/module/ui/Avatar/AvatarIcon.js.map +1 -1
- package/lib/module/ui/Avatar/AvatarStack.js +11 -12
- package/lib/module/ui/Avatar/AvatarStack.js.map +1 -1
- package/lib/module/ui/Avatar/index.js +10 -12
- package/lib/module/ui/Avatar/index.js.map +1 -1
- package/lib/module/ui/Badge/index.js +8 -9
- package/lib/module/ui/Badge/index.js.map +1 -1
- package/lib/module/ui/BottomSheet/index.js +28 -36
- package/lib/module/ui/BottomSheet/index.js.map +1 -1
- package/lib/module/ui/Button/index.js +17 -20
- package/lib/module/ui/Button/index.js.map +1 -1
- package/lib/module/ui/ChannelFrozenBanner/index.js +6 -7
- package/lib/module/ui/ChannelFrozenBanner/index.js.map +1 -1
- package/lib/module/ui/Dialog/DialogBox.js +4 -5
- package/lib/module/ui/Dialog/DialogBox.js.map +1 -1
- package/lib/module/ui/Dialog/DialogSheet.js +21 -19
- package/lib/module/ui/Dialog/DialogSheet.js.map +1 -1
- package/lib/module/ui/Dialog/index.js +8 -9
- package/lib/module/ui/Dialog/index.js.map +1 -1
- package/lib/module/ui/GroupChannelMessage/Message.admin.js.map +1 -1
- package/lib/module/ui/GroupChannelMessage/Message.file.image.js.map +1 -1
- package/lib/module/ui/GroupChannelMessage/Message.file.js +4 -5
- package/lib/module/ui/GroupChannelMessage/Message.file.js.map +1 -1
- package/lib/module/ui/GroupChannelMessage/Message.file.video.js.map +1 -1
- package/lib/module/ui/GroupChannelMessage/Message.file.voice.js +4 -4
- package/lib/module/ui/GroupChannelMessage/Message.file.voice.js.map +1 -1
- package/lib/module/ui/GroupChannelMessage/Message.unknown.js +3 -4
- package/lib/module/ui/GroupChannelMessage/Message.unknown.js.map +1 -1
- package/lib/module/ui/GroupChannelMessage/Message.user.js +6 -9
- package/lib/module/ui/GroupChannelMessage/Message.user.js.map +1 -1
- package/lib/module/ui/GroupChannelMessage/Message.user.og.js +14 -17
- package/lib/module/ui/GroupChannelMessage/Message.user.og.js.map +1 -1
- package/lib/module/ui/GroupChannelMessage/MessageBubbleWithText.js +26 -21
- package/lib/module/ui/GroupChannelMessage/MessageBubbleWithText.js.map +1 -1
- package/lib/module/ui/GroupChannelMessage/MessageContainer.js +27 -28
- package/lib/module/ui/GroupChannelMessage/MessageContainer.js.map +1 -1
- package/lib/module/ui/GroupChannelMessage/MessageOpenGraph.js +36 -40
- package/lib/module/ui/GroupChannelMessage/MessageOpenGraph.js.map +1 -1
- package/lib/module/ui/GroupChannelMessage/index.js.map +1 -1
- package/lib/module/ui/GroupChannelPreview/index.js +53 -58
- package/lib/module/ui/GroupChannelPreview/index.js.map +1 -1
- package/lib/module/ui/Header/index.js +44 -54
- package/lib/module/ui/Header/index.js.map +1 -1
- package/lib/module/ui/LoadingSpinner/index.js +10 -13
- package/lib/module/ui/LoadingSpinner/index.js.map +1 -1
- package/lib/module/ui/MenuBar/index.js +21 -18
- package/lib/module/ui/MenuBar/index.js.map +1 -1
- package/lib/module/ui/OpenChannelMessage/Message.admin.js.map +1 -1
- package/lib/module/ui/OpenChannelMessage/Message.file.image.js.map +1 -1
- package/lib/module/ui/OpenChannelMessage/Message.file.js +4 -5
- package/lib/module/ui/OpenChannelMessage/Message.file.js.map +1 -1
- package/lib/module/ui/OpenChannelMessage/Message.file.video.js.map +1 -1
- package/lib/module/ui/OpenChannelMessage/Message.unknown.js +4 -5
- package/lib/module/ui/OpenChannelMessage/Message.unknown.js.map +1 -1
- package/lib/module/ui/OpenChannelMessage/Message.user.js +26 -17
- package/lib/module/ui/OpenChannelMessage/Message.user.js.map +1 -1
- package/lib/module/ui/OpenChannelMessage/Message.user.og.js +52 -46
- package/lib/module/ui/OpenChannelMessage/Message.user.og.js.map +1 -1
- package/lib/module/ui/OpenChannelMessage/MessageContainer.js +14 -16
- package/lib/module/ui/OpenChannelMessage/MessageContainer.js.map +1 -1
- package/lib/module/ui/OpenChannelMessage/index.js.map +1 -1
- package/lib/module/ui/OpenChannelPreview/index.js +23 -27
- package/lib/module/ui/OpenChannelPreview/index.js.map +1 -1
- package/lib/module/ui/OutlinedButton/index.js +5 -6
- package/lib/module/ui/OutlinedButton/index.js.map +1 -1
- package/lib/module/ui/Placeholder/index.js +7 -8
- package/lib/module/ui/Placeholder/index.js.map +1 -1
- package/lib/module/ui/ProfileCard/index.js +9 -9
- package/lib/module/ui/ProfileCard/index.js.map +1 -1
- package/lib/module/ui/Prompt/index.js +26 -32
- package/lib/module/ui/Prompt/index.js.map +1 -1
- package/lib/module/ui/Toast/index.js +17 -22
- package/lib/module/ui/Toast/index.js.map +1 -1
- package/lib/module/ui/TypingIndicatorBubble/index.js +21 -27
- package/lib/module/ui/TypingIndicatorBubble/index.js.map +1 -1
- package/lib/typescript/src/components/Box/index.d.ts +12 -2
- package/lib/typescript/src/components/Icon/index.d.ts +2 -1
- package/lib/typescript/src/components/Text/index.d.ts +14 -2
- package/lib/typescript/src/components/TextInput/index.d.ts +2 -1
- package/package.json +3 -3
- package/src/assets/icon/icon-thread.png +0 -0
- package/src/assets/icon/icon-thread@2x.png +0 -0
- package/src/assets/icon/icon-thread@3x.png +0 -0
- package/src/components/Box/index.tsx +16 -5
- package/src/components/Icon/index.tsx +35 -3
- package/src/components/ProgressBar/index.tsx +23 -12
- package/src/components/Switch/index.tsx +10 -6
- package/src/components/Text/index.tsx +48 -7
- package/src/components/TextInput/index.tsx +39 -12
- package/src/styles/createStyleSheet.ts +8 -2
- package/src/ui/ActionMenu/index.tsx +3 -1
- package/src/ui/Alert/index.tsx +4 -4
- package/src/ui/Avatar/AvatarGroup.tsx +6 -6
- package/src/ui/Avatar/AvatarStack.tsx +3 -3
- package/src/ui/BottomSheet/index.tsx +5 -4
- package/src/ui/Button/index.tsx +1 -1
- package/src/ui/Dialog/DialogSheet.tsx +15 -12
- package/src/ui/GroupChannelMessage/Message.file.tsx +1 -1
- package/src/ui/GroupChannelMessage/Message.file.voice.tsx +1 -1
- package/src/ui/GroupChannelMessage/MessageBubbleWithText.tsx +5 -2
- package/src/ui/GroupChannelMessage/MessageContainer.tsx +7 -7
- package/src/ui/GroupChannelPreview/index.tsx +46 -48
- package/src/ui/Header/index.tsx +4 -5
- package/src/ui/MenuBar/index.tsx +9 -6
- package/src/ui/OpenChannelMessage/Message.file.tsx +1 -1
- package/src/ui/OpenChannelMessage/Message.user.og.tsx +43 -29
- package/src/ui/OpenChannelMessage/Message.user.tsx +46 -29
- package/src/ui/OpenChannelMessage/MessageContainer.tsx +4 -4
- package/src/ui/OpenChannelPreview/index.tsx +9 -9
- package/src/ui/ProfileCard/index.tsx +1 -0
- package/src/ui/Prompt/index.tsx +4 -5
- package/src/ui/Toast/index.tsx +1 -1
- package/src/ui/TypingIndicatorBubble/index.tsx +2 -2
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (
|
|
1
|
+
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
2
2
|
import * as React from 'react';
|
|
3
3
|
import { useState } from 'react';
|
|
4
4
|
import { Pressable, TouchableOpacity } from 'react-native';
|
|
@@ -8,22 +8,20 @@ const PressBox = props => {
|
|
|
8
8
|
if (props.activeOpacity && props.activeOpacity < 1) return /*#__PURE__*/React.createElement(PressBoxWithTouchableOpacity, props);
|
|
9
9
|
return /*#__PURE__*/React.createElement(PressBoxWithPressable, props);
|
|
10
10
|
};
|
|
11
|
-
const PressBoxWithPressable =
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
} = _ref;
|
|
11
|
+
const PressBoxWithPressable = ({
|
|
12
|
+
children,
|
|
13
|
+
...props
|
|
14
|
+
}) => {
|
|
16
15
|
return /*#__PURE__*/React.createElement(Pressable, _extends({
|
|
17
16
|
disabled: !props.onPress && !props.onLongPress,
|
|
18
17
|
delayLongPress: DEFAULT_LONG_PRESS_DELAY
|
|
19
18
|
}, props), state => isFunction(children) ? children(state) : children);
|
|
20
19
|
};
|
|
21
|
-
const PressBoxWithTouchableOpacity =
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
} = _ref2;
|
|
20
|
+
const PressBoxWithTouchableOpacity = ({
|
|
21
|
+
children,
|
|
22
|
+
style,
|
|
23
|
+
...props
|
|
24
|
+
}) => {
|
|
27
25
|
const [pressed, setPressed] = useState(false);
|
|
28
26
|
const state = {
|
|
29
27
|
pressed
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useState","Pressable","TouchableOpacity","isFunction","DEFAULT_LONG_PRESS_DELAY","PressBox","props","activeOpacity","createElement","PressBoxWithTouchableOpacity","PressBoxWithPressable","
|
|
1
|
+
{"version":3,"names":["React","useState","Pressable","TouchableOpacity","isFunction","DEFAULT_LONG_PRESS_DELAY","PressBox","props","activeOpacity","createElement","PressBoxWithTouchableOpacity","PressBoxWithPressable","children","_extends","disabled","onPress","onLongPress","delayLongPress","state","style","pressed","setPressed","onPressIn","onPressOut"],"sources":["index.tsx"],"sourcesContent":["import * as React from 'react';\nimport { useState } from 'react';\nimport type { GestureResponderEvent, StyleProp, ViewProps, ViewStyle } from 'react-native';\nimport { Pressable, TouchableOpacity } from 'react-native';\n\nimport { isFunction } from '@sendbird/uikit-utils';\n\ntype PressBoxStateParams = {\n pressed: boolean;\n};\n\ntype Props = {\n disabled?: boolean;\n onPress?: (event: GestureResponderEvent) => void;\n onLongPress?: (event: GestureResponderEvent) => void;\n delayLongPress?: number;\n activeOpacity?: number;\n style?: StyleProp<ViewStyle> | ((state: PressBoxStateParams) => StyleProp<ViewStyle>);\n hitSlop?: ViewProps['hitSlop'];\n children?: React.ReactNode | ((params: PressBoxStateParams) => React.ReactNode);\n};\n\nexport const DEFAULT_LONG_PRESS_DELAY = 350;\n\nconst PressBox = (props: Props) => {\n if (props.activeOpacity && props.activeOpacity < 1) return <PressBoxWithTouchableOpacity {...props} />;\n return <PressBoxWithPressable {...props} />;\n};\n\nconst PressBoxWithPressable = ({ children, ...props }: Props) => {\n return (\n <Pressable disabled={!props.onPress && !props.onLongPress} delayLongPress={DEFAULT_LONG_PRESS_DELAY} {...props}>\n {(state) => (isFunction(children) ? children(state) : children)}\n </Pressable>\n );\n};\n\nconst PressBoxWithTouchableOpacity = ({ children, style, ...props }: Props) => {\n const [pressed, setPressed] = useState(false);\n const state: PressBoxStateParams = { pressed };\n return (\n <TouchableOpacity\n disabled={!props.onPress && !props.onLongPress}\n delayLongPress={DEFAULT_LONG_PRESS_DELAY}\n style={isFunction(style) ? style(state) : style}\n onPressIn={() => setPressed(true)}\n onPressOut={() => setPressed(false)}\n {...props}\n >\n {isFunction(children) ? children(state) : children}\n </TouchableOpacity>\n );\n};\n\nexport default PressBox;\n"],"mappings":";AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,SAASC,QAAQ,QAAQ,OAAO;AAEhC,SAASC,SAAS,EAAEC,gBAAgB,QAAQ,cAAc;AAE1D,SAASC,UAAU,QAAQ,uBAAuB;AAiBlD,OAAO,MAAMC,wBAAwB,GAAG,GAAG;AAE3C,MAAMC,QAAQ,GAAIC,KAAY,IAAK;EACjC,IAAIA,KAAK,CAACC,aAAa,IAAID,KAAK,CAACC,aAAa,GAAG,CAAC,EAAE,oBAAOR,KAAA,CAAAS,aAAA,CAACC,4BAA4B,EAAKH,KAAQ,CAAC;EACtG,oBAAOP,KAAA,CAAAS,aAAA,CAACE,qBAAqB,EAAKJ,KAAQ,CAAC;AAC7C,CAAC;AAED,MAAMI,qBAAqB,GAAGA,CAAC;EAAEC,QAAQ;EAAE,GAAGL;AAAa,CAAC,KAAK;EAC/D,oBACEP,KAAA,CAAAS,aAAA,CAACP,SAAS,EAAAW,QAAA;IAACC,QAAQ,EAAE,CAACP,KAAK,CAACQ,OAAO,IAAI,CAACR,KAAK,CAACS,WAAY;IAACC,cAAc,EAAEZ;EAAyB,GAAKE,KAAK,GAC1GW,KAAK,IAAMd,UAAU,CAACQ,QAAQ,CAAC,GAAGA,QAAQ,CAACM,KAAK,CAAC,GAAGN,QAC7C,CAAC;AAEhB,CAAC;AAED,MAAMF,4BAA4B,GAAGA,CAAC;EAAEE,QAAQ;EAAEO,KAAK;EAAE,GAAGZ;AAAa,CAAC,KAAK;EAC7E,MAAM,CAACa,OAAO,EAAEC,UAAU,CAAC,GAAGpB,QAAQ,CAAC,KAAK,CAAC;EAC7C,MAAMiB,KAA0B,GAAG;IAAEE;EAAQ,CAAC;EAC9C,oBACEpB,KAAA,CAAAS,aAAA,CAACN,gBAAgB,EAAAU,QAAA;IACfC,QAAQ,EAAE,CAACP,KAAK,CAACQ,OAAO,IAAI,CAACR,KAAK,CAACS,WAAY;IAC/CC,cAAc,EAAEZ,wBAAyB;IACzCc,KAAK,EAAEf,UAAU,CAACe,KAAK,CAAC,GAAGA,KAAK,CAACD,KAAK,CAAC,GAAGC,KAAM;IAChDG,SAAS,EAAEA,CAAA,KAAMD,UAAU,CAAC,IAAI,CAAE;IAClCE,UAAU,EAAEA,CAAA,KAAMF,UAAU,CAAC,KAAK;EAAE,GAChCd,KAAK,GAERH,UAAU,CAACQ,QAAQ,CAAC,GAAGA,QAAQ,CAACM,KAAK,CAAC,GAAGN,QAC1B,CAAC;AAEvB,CAAC;AAED,eAAeN,QAAQ","ignoreList":[]}
|
|
@@ -1,17 +1,16 @@
|
|
|
1
1
|
import React, { useEffect, useRef } from 'react';
|
|
2
|
-
import { Animated, Easing, StyleSheet } from 'react-native';
|
|
2
|
+
import { Animated, Easing, I18nManager, StyleSheet } from 'react-native';
|
|
3
3
|
import { NOOP } from '@sendbird/uikit-utils';
|
|
4
4
|
import useUIKitTheme from '../../theme/useUIKitTheme';
|
|
5
5
|
import Box from '../Box';
|
|
6
|
-
const ProgressBar =
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
} = _ref;
|
|
6
|
+
const ProgressBar = ({
|
|
7
|
+
current = 100,
|
|
8
|
+
total = 100,
|
|
9
|
+
trackColor,
|
|
10
|
+
barColor,
|
|
11
|
+
overlay,
|
|
12
|
+
style
|
|
13
|
+
}) => {
|
|
15
14
|
const {
|
|
16
15
|
colors
|
|
17
16
|
} = useUIKitTheme();
|
|
@@ -35,6 +34,16 @@ const ProgressBar = _ref => {
|
|
|
35
34
|
}
|
|
36
35
|
return NOOP;
|
|
37
36
|
}, [percent]);
|
|
37
|
+
const progressBarPosition = (() => {
|
|
38
|
+
if (I18nManager.isRTL && I18nManager.doLeftAndRightSwapInRTL) {
|
|
39
|
+
return {
|
|
40
|
+
right: 0
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
return {
|
|
44
|
+
left: 0
|
|
45
|
+
};
|
|
46
|
+
})();
|
|
38
47
|
return /*#__PURE__*/React.createElement(Box, {
|
|
39
48
|
height: 36,
|
|
40
49
|
flexDirection: 'row',
|
|
@@ -43,7 +52,7 @@ const ProgressBar = _ref => {
|
|
|
43
52
|
overflow: 'hidden',
|
|
44
53
|
style: style
|
|
45
54
|
}, /*#__PURE__*/React.createElement(Animated.View, {
|
|
46
|
-
style: {
|
|
55
|
+
style: [progressBarPosition, {
|
|
47
56
|
position: 'absolute',
|
|
48
57
|
width: progress.interpolate({
|
|
49
58
|
inputRange: [0, 1],
|
|
@@ -53,7 +62,7 @@ const ProgressBar = _ref => {
|
|
|
53
62
|
height: '100%',
|
|
54
63
|
opacity: 0.38,
|
|
55
64
|
backgroundColor: uiColors.bar
|
|
56
|
-
}
|
|
65
|
+
}]
|
|
57
66
|
}), /*#__PURE__*/React.createElement(Box, {
|
|
58
67
|
style: StyleSheet.absoluteFill
|
|
59
68
|
}, overlay));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useEffect","useRef","Animated","Easing","StyleSheet","NOOP","useUIKitTheme","Box","ProgressBar","
|
|
1
|
+
{"version":3,"names":["React","useEffect","useRef","Animated","Easing","I18nManager","StyleSheet","NOOP","useUIKitTheme","Box","ProgressBar","current","total","trackColor","barColor","overlay","style","colors","uiColors","track","primary","bar","onBackground01","progress","Value","percent","stopped","Number","isNaN","animation","timing","toValue","duration","useNativeDriver","easing","linear","start","stop","progressBarPosition","isRTL","doLeftAndRightSwapInRTL","right","left","createElement","height","flexDirection","backgroundColor","alignItems","overflow","View","position","width","interpolate","inputRange","outputRange","extrapolate","opacity","absoluteFill"],"sources":["index.tsx"],"sourcesContent":["import React, { ReactNode, useEffect, useRef } from 'react';\nimport { Animated, Easing, I18nManager, StyleSheet, ViewStyle } from 'react-native';\n\nimport { NOOP } from '@sendbird/uikit-utils';\n\nimport useUIKitTheme from '../../theme/useUIKitTheme';\nimport Box from '../Box';\n\ntype Props = {\n current: number;\n total: number;\n trackColor?: string;\n barColor?: string;\n overlay?: ReactNode | undefined;\n style?: ViewStyle;\n};\nconst ProgressBar = ({ current = 100, total = 100, trackColor, barColor, overlay, style }: Props) => {\n const { colors } = useUIKitTheme();\n\n const uiColors = {\n track: trackColor ?? colors.primary,\n bar: barColor ?? colors.onBackground01,\n };\n\n const progress = useRef(new Animated.Value(0)).current;\n const percent = current / total;\n const stopped = percent === 0;\n\n useEffect(() => {\n if (!Number.isNaN(percent)) {\n const animation = Animated.timing(progress, {\n toValue: stopped ? 0 : percent,\n duration: stopped ? 0 : 100,\n useNativeDriver: false,\n easing: Easing.linear,\n });\n\n animation.start();\n return () => animation.stop();\n }\n\n return NOOP;\n }, [percent]);\n\n const progressBarPosition = (() => {\n if (I18nManager.isRTL && I18nManager.doLeftAndRightSwapInRTL) {\n return { right: 0 };\n }\n\n return { left: 0 };\n })();\n\n return (\n <Box\n height={36}\n flexDirection={'row'}\n backgroundColor={uiColors.track}\n alignItems={'center'}\n overflow={'hidden'}\n style={style}\n >\n <Animated.View\n style={[\n progressBarPosition,\n {\n position: 'absolute',\n width: progress.interpolate({\n inputRange: [0, 1],\n outputRange: ['0%', '100%'],\n extrapolate: 'clamp',\n }),\n height: '100%',\n opacity: 0.38,\n backgroundColor: uiColors.bar,\n },\n ]}\n />\n <Box style={StyleSheet.absoluteFill}>{overlay}</Box>\n </Box>\n );\n};\n\nexport default ProgressBar;\n"],"mappings":"AAAA,OAAOA,KAAK,IAAeC,SAAS,EAAEC,MAAM,QAAQ,OAAO;AAC3D,SAASC,QAAQ,EAAEC,MAAM,EAAEC,WAAW,EAAEC,UAAU,QAAmB,cAAc;AAEnF,SAASC,IAAI,QAAQ,uBAAuB;AAE5C,OAAOC,aAAa,MAAM,2BAA2B;AACrD,OAAOC,GAAG,MAAM,QAAQ;AAUxB,MAAMC,WAAW,GAAGA,CAAC;EAAEC,OAAO,GAAG,GAAG;EAAEC,KAAK,GAAG,GAAG;EAAEC,UAAU;EAAEC,QAAQ;EAAEC,OAAO;EAAEC;AAAa,CAAC,KAAK;EACnG,MAAM;IAAEC;EAAO,CAAC,GAAGT,aAAa,CAAC,CAAC;EAElC,MAAMU,QAAQ,GAAG;IACfC,KAAK,EAAEN,UAAU,IAAII,MAAM,CAACG,OAAO;IACnCC,GAAG,EAAEP,QAAQ,IAAIG,MAAM,CAACK;EAC1B,CAAC;EAED,MAAMC,QAAQ,GAAGrB,MAAM,CAAC,IAAIC,QAAQ,CAACqB,KAAK,CAAC,CAAC,CAAC,CAAC,CAACb,OAAO;EACtD,MAAMc,OAAO,GAAGd,OAAO,GAAGC,KAAK;EAC/B,MAAMc,OAAO,GAAGD,OAAO,KAAK,CAAC;EAE7BxB,SAAS,CAAC,MAAM;IACd,IAAI,CAAC0B,MAAM,CAACC,KAAK,CAACH,OAAO,CAAC,EAAE;MAC1B,MAAMI,SAAS,GAAG1B,QAAQ,CAAC2B,MAAM,CAACP,QAAQ,EAAE;QAC1CQ,OAAO,EAAEL,OAAO,GAAG,CAAC,GAAGD,OAAO;QAC9BO,QAAQ,EAAEN,OAAO,GAAG,CAAC,GAAG,GAAG;QAC3BO,eAAe,EAAE,KAAK;QACtBC,MAAM,EAAE9B,MAAM,CAAC+B;MACjB,CAAC,CAAC;MAEFN,SAAS,CAACO,KAAK,CAAC,CAAC;MACjB,OAAO,MAAMP,SAAS,CAACQ,IAAI,CAAC,CAAC;IAC/B;IAEA,OAAO9B,IAAI;EACb,CAAC,EAAE,CAACkB,OAAO,CAAC,CAAC;EAEb,MAAMa,mBAAmB,GAAG,CAAC,MAAM;IACjC,IAAIjC,WAAW,CAACkC,KAAK,IAAIlC,WAAW,CAACmC,uBAAuB,EAAE;MAC5D,OAAO;QAAEC,KAAK,EAAE;MAAE,CAAC;IACrB;IAEA,OAAO;MAAEC,IAAI,EAAE;IAAE,CAAC;EACpB,CAAC,EAAE,CAAC;EAEJ,oBACE1C,KAAA,CAAA2C,aAAA,CAAClC,GAAG;IACFmC,MAAM,EAAE,EAAG;IACXC,aAAa,EAAE,KAAM;IACrBC,eAAe,EAAE5B,QAAQ,CAACC,KAAM;IAChC4B,UAAU,EAAE,QAAS;IACrBC,QAAQ,EAAE,QAAS;IACnBhC,KAAK,EAAEA;EAAM,gBAEbhB,KAAA,CAAA2C,aAAA,CAACxC,QAAQ,CAAC8C,IAAI;IACZjC,KAAK,EAAE,CACLsB,mBAAmB,EACnB;MACEY,QAAQ,EAAE,UAAU;MACpBC,KAAK,EAAE5B,QAAQ,CAAC6B,WAAW,CAAC;QAC1BC,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;QAClBC,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC;QAC3BC,WAAW,EAAE;MACf,CAAC,CAAC;MACFX,MAAM,EAAE,MAAM;MACdY,OAAO,EAAE,IAAI;MACbV,eAAe,EAAE5B,QAAQ,CAACG;IAC5B,CAAC;EACD,CACH,CAAC,eACFrB,KAAA,CAAA2C,aAAA,CAAClC,GAAG;IAACO,KAAK,EAAEV,UAAU,CAACmD;EAAa,GAAE1C,OAAa,CAChD,CAAC;AAEV,CAAC;AAED,eAAeL,WAAW","ignoreList":[]}
|
|
@@ -1,19 +1,17 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { replaceWithRegex } from '@sendbird/uikit-utils';
|
|
3
3
|
import Text from '../Text';
|
|
4
|
-
const RegexText =
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
} = _ref;
|
|
4
|
+
const RegexText = ({
|
|
5
|
+
children,
|
|
6
|
+
patterns,
|
|
7
|
+
...props
|
|
8
|
+
}) => {
|
|
10
9
|
if (patterns.length === 0 || typeof children !== 'string') return /*#__PURE__*/React.createElement(React.Fragment, null, children);
|
|
11
10
|
const matchedTexts = [children];
|
|
12
|
-
patterns.forEach((
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
} = _ref2;
|
|
11
|
+
patterns.forEach(({
|
|
12
|
+
regex,
|
|
13
|
+
replacer
|
|
14
|
+
}, patterIndex) => {
|
|
17
15
|
const matchedTextsTemp = matchedTexts.concat();
|
|
18
16
|
let offset = 0;
|
|
19
17
|
matchedTextsTemp.forEach((text, index) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","replaceWithRegex","Text","RegexText","
|
|
1
|
+
{"version":3,"names":["React","replaceWithRegex","Text","RegexText","children","patterns","props","length","createElement","Fragment","matchedTexts","forEach","regex","replacer","patterIndex","matchedTextsTemp","concat","offset","text","index","params","parentProps","keyPrefix","String","splice"],"sources":["index.tsx"],"sourcesContent":["import React, { ReactNode } from 'react';\n\nimport { replaceWithRegex } from '@sendbird/uikit-utils';\n\nimport Text, { TextProps } from '../Text';\n\nexport interface RegexTextPattern {\n regex: RegExp;\n replacer(params: {\n match: string;\n groups: string[];\n index: number;\n keyPrefix: string;\n parentProps?: TextProps;\n }): string | ReactNode;\n}\n\ntype Props = { patterns: RegexTextPattern[] } & TextProps;\n\nconst RegexText = ({ children, patterns, ...props }: Props) => {\n if (patterns.length === 0 || typeof children !== 'string') return <>{children}</>;\n\n const matchedTexts: Array<string | ReactNode> = [children];\n\n patterns.forEach(({ regex, replacer }, patterIndex) => {\n const matchedTextsTemp = matchedTexts.concat();\n let offset = 0;\n matchedTextsTemp.forEach((text, index) => {\n if (typeof text === 'string' && text) {\n const children = replaceWithRegex(\n text,\n regex,\n (params) => replacer({ ...params, parentProps: props, keyPrefix: index + params.keyPrefix }),\n String(patterIndex),\n );\n\n if (children.length > 1) {\n matchedTexts.splice(index + offset, 1, ...children);\n offset += children.length - 1;\n }\n }\n });\n });\n\n return <Text {...props}>{matchedTexts}</Text>;\n};\n\nexport default RegexText;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAqB,OAAO;AAExC,SAASC,gBAAgB,QAAQ,uBAAuB;AAExD,OAAOC,IAAI,MAAqB,SAAS;AAezC,MAAMC,SAAS,GAAGA,CAAC;EAAEC,QAAQ;EAAEC,QAAQ;EAAE,GAAGC;AAAa,CAAC,KAAK;EAC7D,IAAID,QAAQ,CAACE,MAAM,KAAK,CAAC,IAAI,OAAOH,QAAQ,KAAK,QAAQ,EAAE,oBAAOJ,KAAA,CAAAQ,aAAA,CAAAR,KAAA,CAAAS,QAAA,QAAGL,QAAW,CAAC;EAEjF,MAAMM,YAAuC,GAAG,CAACN,QAAQ,CAAC;EAE1DC,QAAQ,CAACM,OAAO,CAAC,CAAC;IAAEC,KAAK;IAAEC;EAAS,CAAC,EAAEC,WAAW,KAAK;IACrD,MAAMC,gBAAgB,GAAGL,YAAY,CAACM,MAAM,CAAC,CAAC;IAC9C,IAAIC,MAAM,GAAG,CAAC;IACdF,gBAAgB,CAACJ,OAAO,CAAC,CAACO,IAAI,EAAEC,KAAK,KAAK;MACxC,IAAI,OAAOD,IAAI,KAAK,QAAQ,IAAIA,IAAI,EAAE;QACpC,MAAMd,QAAQ,GAAGH,gBAAgB,CAC/BiB,IAAI,EACJN,KAAK,EACJQ,MAAM,IAAKP,QAAQ,CAAC;UAAE,GAAGO,MAAM;UAAEC,WAAW,EAAEf,KAAK;UAAEgB,SAAS,EAAEH,KAAK,GAAGC,MAAM,CAACE;QAAU,CAAC,CAAC,EAC5FC,MAAM,CAACT,WAAW,CACpB,CAAC;QAED,IAAIV,QAAQ,CAACG,MAAM,GAAG,CAAC,EAAE;UACvBG,YAAY,CAACc,MAAM,CAACL,KAAK,GAAGF,MAAM,EAAE,CAAC,EAAE,GAAGb,QAAQ,CAAC;UACnDa,MAAM,IAAIb,QAAQ,CAACG,MAAM,GAAG,CAAC;QAC/B;MACF;IACF,CAAC,CAAC;EACJ,CAAC,CAAC;EAEF,oBAAOP,KAAA,CAAAQ,aAAA,CAACN,IAAI,EAAKI,KAAK,EAAGI,YAAmB,CAAC;AAC/C,CAAC;AAED,eAAeP,SAAS","ignoreList":[]}
|
|
@@ -1,25 +1,26 @@
|
|
|
1
1
|
import React, { useEffect, useRef } from 'react';
|
|
2
|
-
import { Animated, Platform, Pressable } from 'react-native';
|
|
2
|
+
import { Animated, I18nManager, Platform, Pressable } from 'react-native';
|
|
3
3
|
import createStyleSheet from '../../styles/createStyleSheet';
|
|
4
4
|
import useUIKitTheme from '../../theme/useUIKitTheme';
|
|
5
|
-
const Switch =
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
} = _ref;
|
|
5
|
+
const Switch = ({
|
|
6
|
+
value,
|
|
7
|
+
onChangeValue,
|
|
8
|
+
inactiveThumbColor,
|
|
9
|
+
inactiveTrackColor,
|
|
10
|
+
trackColor,
|
|
11
|
+
thumbColor
|
|
12
|
+
}) => {
|
|
14
13
|
const {
|
|
15
14
|
select,
|
|
16
15
|
palette,
|
|
17
16
|
colors
|
|
18
17
|
} = useUIKitTheme();
|
|
19
18
|
const position = useRef(new Animated.Value(0)).current;
|
|
19
|
+
const start = I18nManager.isRTL ? styles.thumbOn.start : styles.thumbOff.start;
|
|
20
|
+
const end = I18nManager.isRTL ? styles.thumbOff.start : styles.thumbOn.start;
|
|
20
21
|
useEffect(() => {
|
|
21
22
|
const animation = Animated.timing(position, {
|
|
22
|
-
toValue: value ?
|
|
23
|
+
toValue: value ? end : start,
|
|
23
24
|
duration: 150,
|
|
24
25
|
useNativeDriver: false
|
|
25
26
|
});
|
|
@@ -28,8 +29,8 @@ const Switch = _ref => {
|
|
|
28
29
|
}, [value]);
|
|
29
30
|
const createInterpolate = (offValue, onValue) => {
|
|
30
31
|
return position.interpolate({
|
|
31
|
-
inputRange: [styles.thumbOff.
|
|
32
|
-
outputRange: [offValue, onValue],
|
|
32
|
+
inputRange: [styles.thumbOff.start, styles.thumbOn.start],
|
|
33
|
+
outputRange: I18nManager.isRTL ? [onValue, offValue] : [offValue, onValue],
|
|
33
34
|
extrapolate: 'clamp'
|
|
34
35
|
});
|
|
35
36
|
};
|
|
@@ -91,10 +92,10 @@ const styles = createStyleSheet({
|
|
|
91
92
|
})
|
|
92
93
|
},
|
|
93
94
|
thumbOn: {
|
|
94
|
-
|
|
95
|
+
start: OFFSET.H / 2
|
|
95
96
|
},
|
|
96
97
|
thumbOff: {
|
|
97
|
-
|
|
98
|
+
start: -OFFSET.H / 2
|
|
98
99
|
}
|
|
99
100
|
});
|
|
100
101
|
export default Switch;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useEffect","useRef","Animated","Platform","Pressable","createStyleSheet","useUIKitTheme","Switch","
|
|
1
|
+
{"version":3,"names":["React","useEffect","useRef","Animated","I18nManager","Platform","Pressable","createStyleSheet","useUIKitTheme","Switch","value","onChangeValue","inactiveThumbColor","inactiveTrackColor","trackColor","thumbColor","select","palette","colors","position","Value","current","start","isRTL","styles","thumbOn","thumbOff","end","animation","timing","toValue","duration","useNativeDriver","stop","createInterpolate","offValue","onValue","interpolate","inputRange","outputRange","extrapolate","_trackColor","onBackground04","primary200","_thumbColor","background300","light","primary400","dark","primary300","createElement","onPress","style","container","View","track","backgroundColor","thumb","transform","translateX","OFFSET","W","H","width","height","alignItems","justifyContent","borderRadius","android","elevation","ios","shadowColor","shadowRadius","shadowOffset","shadowOpacity"],"sources":["index.tsx"],"sourcesContent":["import React, { useEffect, useRef } from 'react';\nimport { Animated, I18nManager, Platform, Pressable } from 'react-native';\n\nimport createStyleSheet from '../../styles/createStyleSheet';\nimport useUIKitTheme from '../../theme/useUIKitTheme';\n\ntype SwitchProps = React.PropsWithChildren<{\n trackColor?: string;\n thumbColor?: string;\n inactiveThumbColor?: string;\n inactiveTrackColor?: string;\n\n value: boolean;\n onChangeValue: (val: boolean) => void;\n}>;\nconst Switch = ({\n value,\n onChangeValue,\n inactiveThumbColor,\n inactiveTrackColor,\n trackColor,\n thumbColor,\n}: SwitchProps) => {\n const { select, palette, colors } = useUIKitTheme();\n const position = useRef(new Animated.Value(0)).current;\n\n const start = I18nManager.isRTL ? styles.thumbOn.start : styles.thumbOff.start;\n const end = I18nManager.isRTL ? styles.thumbOff.start : styles.thumbOn.start;\n\n useEffect(() => {\n const animation = Animated.timing(position, {\n toValue: value ? end : start,\n duration: 150,\n useNativeDriver: false,\n });\n animation.start();\n return () => animation.stop();\n }, [value]);\n\n const createInterpolate = <T extends string>(offValue: T, onValue: T) => {\n return position.interpolate({\n inputRange: [styles.thumbOff.start, styles.thumbOn.start],\n outputRange: I18nManager.isRTL ? [onValue, offValue] : [offValue, onValue],\n extrapolate: 'clamp',\n });\n };\n\n const _trackColor = createInterpolate(inactiveTrackColor ?? colors.onBackground04, trackColor ?? palette.primary200);\n const _thumbColor = createInterpolate(\n inactiveThumbColor ?? palette.background300,\n thumbColor ?? select({ light: palette.primary400, dark: palette.primary300 }),\n );\n\n return (\n <Pressable onPress={() => onChangeValue(!value)} style={[styles.container]}>\n <Animated.View style={[styles.track, { backgroundColor: _trackColor }]} />\n <Animated.View style={[styles.thumb, { backgroundColor: _thumbColor, transform: [{ translateX: position }] }]} />\n </Pressable>\n );\n};\n\nconst OFFSET = { W: 20, H: 16 };\nconst styles = createStyleSheet({\n container: {\n width: OFFSET.W + OFFSET.H,\n height: OFFSET.H,\n alignItems: 'center',\n justifyContent: 'center',\n },\n track: {\n width: '100%',\n height: '100%',\n borderRadius: OFFSET.H / 2,\n position: 'absolute',\n },\n thumb: {\n width: OFFSET.W,\n height: OFFSET.W,\n borderRadius: OFFSET.W / 2,\n ...Platform.select({\n android: {\n elevation: 2,\n },\n ios: {\n shadowColor: 'black',\n shadowRadius: 1,\n shadowOffset: { width: 0, height: 2 },\n shadowOpacity: 0.4,\n },\n }),\n },\n thumbOn: {\n start: OFFSET.H / 2,\n },\n thumbOff: {\n start: -OFFSET.H / 2,\n },\n});\n\nexport default Switch;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,39 +1,57 @@
|
|
|
1
|
-
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (
|
|
1
|
+
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
2
2
|
import React from 'react';
|
|
3
|
-
import { Text as RNText } from 'react-native';
|
|
3
|
+
import { I18nManager, Text as RNText, StyleSheet } from 'react-native';
|
|
4
|
+
import { isStartsWithRTL } from '@sendbird/uikit-utils';
|
|
4
5
|
import useUIKitTheme from '../../theme/useUIKitTheme';
|
|
5
|
-
const Text =
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
6
|
+
const Text = ({
|
|
7
|
+
children,
|
|
8
|
+
color,
|
|
9
|
+
style,
|
|
10
|
+
supportRTLAlign = true,
|
|
11
|
+
originalText,
|
|
12
|
+
...props
|
|
13
|
+
}) => {
|
|
12
14
|
const {
|
|
13
15
|
colors
|
|
14
16
|
} = useUIKitTheme();
|
|
15
17
|
const typoStyle = useTypographyFilter(props);
|
|
18
|
+
const textStyle = StyleSheet.flatten([{
|
|
19
|
+
color: typeof color === 'string' ? color : (color === null || color === void 0 ? void 0 : color(colors)) ?? colors.text
|
|
20
|
+
}, typoStyle, style]);
|
|
21
|
+
const textAlign = (() => {
|
|
22
|
+
if (textStyle.textAlign && textStyle.textAlign !== 'left' && textStyle.textAlign !== 'right') {
|
|
23
|
+
return textStyle.textAlign;
|
|
24
|
+
}
|
|
25
|
+
if (I18nManager.isRTL && supportRTLAlign) {
|
|
26
|
+
if (originalText && isStartsWithRTL(originalText) || typeof children === 'string' && isStartsWithRTL(children)) {
|
|
27
|
+
return I18nManager.doLeftAndRightSwapInRTL ? 'left' : 'right';
|
|
28
|
+
} else {
|
|
29
|
+
return I18nManager.doLeftAndRightSwapInRTL ? 'right' : 'left';
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
if (textStyle.textAlign) return textStyle.textAlign;
|
|
33
|
+
return undefined;
|
|
34
|
+
})();
|
|
16
35
|
return /*#__PURE__*/React.createElement(RNText, _extends({
|
|
17
|
-
style: [{
|
|
18
|
-
|
|
19
|
-
}
|
|
36
|
+
style: [textStyle, {
|
|
37
|
+
textAlign
|
|
38
|
+
}]
|
|
20
39
|
}, props), children);
|
|
21
40
|
};
|
|
22
|
-
const useTypographyFilter =
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
} = _ref2;
|
|
41
|
+
const useTypographyFilter = ({
|
|
42
|
+
h1,
|
|
43
|
+
h2,
|
|
44
|
+
subtitle1,
|
|
45
|
+
subtitle2,
|
|
46
|
+
body1,
|
|
47
|
+
body2,
|
|
48
|
+
body3,
|
|
49
|
+
button,
|
|
50
|
+
caption1,
|
|
51
|
+
caption2,
|
|
52
|
+
caption3,
|
|
53
|
+
caption4
|
|
54
|
+
}) => {
|
|
37
55
|
const {
|
|
38
56
|
typography
|
|
39
57
|
} = useUIKitTheme();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","Text","RNText","
|
|
1
|
+
{"version":3,"names":["React","I18nManager","Text","RNText","StyleSheet","isStartsWithRTL","useUIKitTheme","children","color","style","supportRTLAlign","originalText","props","colors","typoStyle","useTypographyFilter","textStyle","flatten","text","textAlign","isRTL","doLeftAndRightSwapInRTL","undefined","createElement","_extends","h1","h2","subtitle1","subtitle2","body1","body2","body3","button","caption1","caption2","caption3","caption4","typography"],"sources":["index.tsx"],"sourcesContent":["import React from 'react';\nimport { I18nManager, Text as RNText, TextProps as RNTextProps, StyleSheet, TextStyle } from 'react-native';\n\nimport { isStartsWithRTL } from '@sendbird/uikit-utils';\n\nimport useUIKitTheme from '../../theme/useUIKitTheme';\nimport type { TypoName, UIKitTheme } from '../../types';\n\nexport interface RTLTextAlignSupportProps {\n /**\n * If `I18nManager.isRTL` is `true` and this value is enabled, the text will be aligned according to RTL if it starts in an RTL language.\n * In the case of the `Text` component, the alignment value is calculated based on `I18nManager.doLeftAndRightSwapInRTL`.\n * For the `TextInput` component, the alignment value is calculated as a physical alignment, unaffected by `I18nManager.doLeftAndRightSwapInRTL`.\n */\n supportRTLAlign?: boolean;\n /**\n * If you want to enable `supportRTLAlign` but are using nested `Text` components that are not simple text under the `Text` component, pass the original text here.\n */\n originalText?: string;\n}\n\ntype TypographyProps = Partial<Record<TypoName, boolean>>;\nexport type TextProps = RNTextProps &\n TypographyProps & { color?: ((colors: UIKitTheme['colors']) => string) | string } & RTLTextAlignSupportProps;\n\nconst Text = ({ children, color, style, supportRTLAlign = true, originalText, ...props }: TextProps) => {\n const { colors } = useUIKitTheme();\n const typoStyle = useTypographyFilter(props);\n\n const textStyle = StyleSheet.flatten([\n { color: typeof color === 'string' ? color : color?.(colors) ?? colors.text },\n typoStyle,\n style,\n ]) as TextStyle;\n\n const textAlign = (() => {\n if (textStyle.textAlign && textStyle.textAlign !== 'left' && textStyle.textAlign !== 'right') {\n return textStyle.textAlign;\n }\n\n if (I18nManager.isRTL && supportRTLAlign) {\n if (\n (originalText && isStartsWithRTL(originalText)) ||\n (typeof children === 'string' && isStartsWithRTL(children))\n ) {\n return I18nManager.doLeftAndRightSwapInRTL ? 'left' : 'right';\n } else {\n return I18nManager.doLeftAndRightSwapInRTL ? 'right' : 'left';\n }\n }\n\n if (textStyle.textAlign) return textStyle.textAlign;\n return undefined;\n })();\n\n return (\n <RNText style={[textStyle, { textAlign }]} {...props}>\n {children}\n </RNText>\n );\n};\n\nconst useTypographyFilter = ({\n h1,\n h2,\n subtitle1,\n subtitle2,\n body1,\n body2,\n body3,\n button,\n caption1,\n caption2,\n caption3,\n caption4,\n}: TypographyProps) => {\n const { typography } = useUIKitTheme();\n if (h1) return typography.h1;\n if (h2) return typography.h2;\n if (subtitle1) return typography.subtitle1;\n if (subtitle2) return typography.subtitle2;\n if (body1) return typography.body1;\n if (body2) return typography.body2;\n if (body3) return typography.body3;\n if (button) return typography.button;\n if (caption1) return typography.caption1;\n if (caption2) return typography.caption2;\n if (caption3) return typography.caption3;\n if (caption4) return typography.caption4;\n return {};\n};\n\nexport default Text;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,16 +1,18 @@
|
|
|
1
|
-
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (
|
|
1
|
+
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
2
2
|
import React from 'react';
|
|
3
|
-
import { TextInput as RNTextInput } from 'react-native';
|
|
3
|
+
import { I18nManager, TextInput as RNTextInput, StyleSheet } from 'react-native';
|
|
4
|
+
import { isStartsWithRTL } from '@sendbird/uikit-utils';
|
|
4
5
|
import createStyleSheet from '../../styles/createStyleSheet';
|
|
5
6
|
import useUIKitTheme from '../../theme/useUIKitTheme';
|
|
6
|
-
const TextInput = /*#__PURE__*/React.forwardRef(function TextInput(
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
7
|
+
const TextInput = /*#__PURE__*/React.forwardRef(function TextInput({
|
|
8
|
+
children,
|
|
9
|
+
style,
|
|
10
|
+
variant = 'default',
|
|
11
|
+
editable = true,
|
|
12
|
+
originalText,
|
|
13
|
+
supportRTLAlign = true,
|
|
14
|
+
...props
|
|
15
|
+
}, ref) {
|
|
14
16
|
const {
|
|
15
17
|
typography,
|
|
16
18
|
colors
|
|
@@ -25,15 +27,34 @@ const TextInput = /*#__PURE__*/React.forwardRef(function TextInput(_ref, ref) {
|
|
|
25
27
|
...typography.body3,
|
|
26
28
|
lineHeight: typography.body3.fontSize ? typography.body3.fontSize * 1.2 : undefined
|
|
27
29
|
};
|
|
30
|
+
const textStyle = StyleSheet.flatten([fontStyle, styles.input, {
|
|
31
|
+
color: inputStyle.text,
|
|
32
|
+
backgroundColor: inputStyle.background
|
|
33
|
+
}, underlineStyle, style]);
|
|
34
|
+
const textAlign = (() => {
|
|
35
|
+
if (textStyle.textAlign && textStyle.textAlign !== 'left' && textStyle.textAlign !== 'right') {
|
|
36
|
+
return textStyle.textAlign;
|
|
37
|
+
}
|
|
38
|
+
if (I18nManager.isRTL && supportRTLAlign) {
|
|
39
|
+
const text = originalText || props.value || props.placeholder;
|
|
40
|
+
// Note: TextInput is not affected by doLeftAndRightSwapInRTL
|
|
41
|
+
if (text && isStartsWithRTL(text)) {
|
|
42
|
+
return 'right';
|
|
43
|
+
} else {
|
|
44
|
+
return 'left';
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
if (textStyle.textAlign) return textStyle.textAlign;
|
|
48
|
+
return undefined;
|
|
49
|
+
})();
|
|
28
50
|
return /*#__PURE__*/React.createElement(RNTextInput, _extends({
|
|
29
51
|
ref: ref,
|
|
30
52
|
editable: editable,
|
|
31
53
|
selectionColor: inputStyle.highlight,
|
|
32
54
|
placeholderTextColor: inputStyle.placeholder,
|
|
33
|
-
style: [
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
}, underlineStyle, style]
|
|
55
|
+
style: [textStyle, {
|
|
56
|
+
textAlign
|
|
57
|
+
}]
|
|
37
58
|
}, props), children);
|
|
38
59
|
});
|
|
39
60
|
const styles = createStyleSheet({
|
|
@@ -41,8 +62,8 @@ const styles = createStyleSheet({
|
|
|
41
62
|
includeFontPadding: false,
|
|
42
63
|
paddingTop: 8,
|
|
43
64
|
paddingBottom: 8,
|
|
44
|
-
|
|
45
|
-
|
|
65
|
+
paddingStart: 16,
|
|
66
|
+
paddingEnd: 16
|
|
46
67
|
}
|
|
47
68
|
});
|
|
48
69
|
export default TextInput;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","TextInput","RNTextInput","
|
|
1
|
+
{"version":3,"names":["React","I18nManager","TextInput","RNTextInput","StyleSheet","isStartsWithRTL","createStyleSheet","useUIKitTheme","forwardRef","children","style","variant","editable","originalText","supportRTLAlign","props","ref","typography","colors","variantStyle","inputStyle","active","disabled","underlineStyle","borderBottomWidth","borderBottomColor","highlight","fontStyle","body3","lineHeight","fontSize","undefined","textStyle","flatten","styles","input","color","text","backgroundColor","background","textAlign","isRTL","value","placeholder","createElement","_extends","selectionColor","placeholderTextColor","includeFontPadding","paddingTop","paddingBottom","paddingStart","paddingEnd"],"sources":["index.tsx"],"sourcesContent":["import React from 'react';\nimport { I18nManager, TextInput as RNTextInput, StyleSheet, TextInputProps, TextStyle } from 'react-native';\n\nimport { isStartsWithRTL } from '@sendbird/uikit-utils';\n\nimport createStyleSheet from '../../styles/createStyleSheet';\nimport useUIKitTheme from '../../theme/useUIKitTheme';\nimport type { UIKitTheme } from '../../types';\nimport { RTLTextAlignSupportProps } from '../Text';\n\ntype Props = {\n variant?: keyof UIKitTheme['colors']['ui']['input'];\n} & TextInputProps &\n RTLTextAlignSupportProps;\nconst TextInput = React.forwardRef<RNTextInput, Props>(function TextInput(\n { children, style, variant = 'default', editable = true, originalText, supportRTLAlign = true, ...props },\n ref,\n) {\n const { typography, colors } = useUIKitTheme();\n\n const variantStyle = colors['ui']['input'][variant];\n const inputStyle = editable ? variantStyle.active : variantStyle.disabled;\n const underlineStyle = variant === 'underline' && { borderBottomWidth: 2, borderBottomColor: inputStyle.highlight };\n const fontStyle = {\n ...typography.body3,\n lineHeight: typography.body3.fontSize ? typography.body3.fontSize * 1.2 : undefined,\n };\n\n const textStyle = StyleSheet.flatten([\n fontStyle,\n styles.input,\n { color: inputStyle.text, backgroundColor: inputStyle.background },\n underlineStyle,\n style,\n ]) as TextStyle;\n\n const textAlign = (() => {\n if (textStyle.textAlign && textStyle.textAlign !== 'left' && textStyle.textAlign !== 'right') {\n return textStyle.textAlign;\n }\n\n if (I18nManager.isRTL && supportRTLAlign) {\n const text = originalText || props.value || props.placeholder;\n // Note: TextInput is not affected by doLeftAndRightSwapInRTL\n if (text && isStartsWithRTL(text)) {\n return 'right';\n } else {\n return 'left';\n }\n }\n\n if (textStyle.textAlign) return textStyle.textAlign;\n return undefined;\n })();\n\n return (\n <RNTextInput\n ref={ref}\n editable={editable}\n selectionColor={inputStyle.highlight}\n placeholderTextColor={inputStyle.placeholder}\n style={[textStyle, { textAlign }]}\n {...props}\n >\n {children}\n </RNTextInput>\n );\n});\n\nconst styles = createStyleSheet({\n input: {\n includeFontPadding: false,\n paddingTop: 8,\n paddingBottom: 8,\n paddingStart: 16,\n paddingEnd: 16,\n },\n});\n\nexport default TextInput;\n"],"mappings":";AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,WAAW,EAAEC,SAAS,IAAIC,WAAW,EAAEC,UAAU,QAAmC,cAAc;AAE3G,SAASC,eAAe,QAAQ,uBAAuB;AAEvD,OAAOC,gBAAgB,MAAM,+BAA+B;AAC5D,OAAOC,aAAa,MAAM,2BAA2B;AAQrD,MAAML,SAAS,gBAAGF,KAAK,CAACQ,UAAU,CAAqB,SAASN,SAASA,CACvE;EAAEO,QAAQ;EAAEC,KAAK;EAAEC,OAAO,GAAG,SAAS;EAAEC,QAAQ,GAAG,IAAI;EAAEC,YAAY;EAAEC,eAAe,GAAG,IAAI;EAAE,GAAGC;AAAM,CAAC,EACzGC,GAAG,EACH;EACA,MAAM;IAAEC,UAAU;IAAEC;EAAO,CAAC,GAAGX,aAAa,CAAC,CAAC;EAE9C,MAAMY,YAAY,GAAGD,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAACP,OAAO,CAAC;EACnD,MAAMS,UAAU,GAAGR,QAAQ,GAAGO,YAAY,CAACE,MAAM,GAAGF,YAAY,CAACG,QAAQ;EACzE,MAAMC,cAAc,GAAGZ,OAAO,KAAK,WAAW,IAAI;IAAEa,iBAAiB,EAAE,CAAC;IAAEC,iBAAiB,EAAEL,UAAU,CAACM;EAAU,CAAC;EACnH,MAAMC,SAAS,GAAG;IAChB,GAAGV,UAAU,CAACW,KAAK;IACnBC,UAAU,EAAEZ,UAAU,CAACW,KAAK,CAACE,QAAQ,GAAGb,UAAU,CAACW,KAAK,CAACE,QAAQ,GAAG,GAAG,GAAGC;EAC5E,CAAC;EAED,MAAMC,SAAS,GAAG5B,UAAU,CAAC6B,OAAO,CAAC,CACnCN,SAAS,EACTO,MAAM,CAACC,KAAK,EACZ;IAAEC,KAAK,EAAEhB,UAAU,CAACiB,IAAI;IAAEC,eAAe,EAAElB,UAAU,CAACmB;EAAW,CAAC,EAClEhB,cAAc,EACdb,KAAK,CACN,CAAc;EAEf,MAAM8B,SAAS,GAAG,CAAC,MAAM;IACvB,IAAIR,SAAS,CAACQ,SAAS,IAAIR,SAAS,CAACQ,SAAS,KAAK,MAAM,IAAIR,SAAS,CAACQ,SAAS,KAAK,OAAO,EAAE;MAC5F,OAAOR,SAAS,CAACQ,SAAS;IAC5B;IAEA,IAAIvC,WAAW,CAACwC,KAAK,IAAI3B,eAAe,EAAE;MACxC,MAAMuB,IAAI,GAAGxB,YAAY,IAAIE,KAAK,CAAC2B,KAAK,IAAI3B,KAAK,CAAC4B,WAAW;MAC7D;MACA,IAAIN,IAAI,IAAIhC,eAAe,CAACgC,IAAI,CAAC,EAAE;QACjC,OAAO,OAAO;MAChB,CAAC,MAAM;QACL,OAAO,MAAM;MACf;IACF;IAEA,IAAIL,SAAS,CAACQ,SAAS,EAAE,OAAOR,SAAS,CAACQ,SAAS;IACnD,OAAOT,SAAS;EAClB,CAAC,EAAE,CAAC;EAEJ,oBACE/B,KAAA,CAAA4C,aAAA,CAACzC,WAAW,EAAA0C,QAAA;IACV7B,GAAG,EAAEA,GAAI;IACTJ,QAAQ,EAAEA,QAAS;IACnBkC,cAAc,EAAE1B,UAAU,CAACM,SAAU;IACrCqB,oBAAoB,EAAE3B,UAAU,CAACuB,WAAY;IAC7CjC,KAAK,EAAE,CAACsB,SAAS,EAAE;MAAEQ;IAAU,CAAC;EAAE,GAC9BzB,KAAK,GAERN,QACU,CAAC;AAElB,CAAC,CAAC;AAEF,MAAMyB,MAAM,GAAG5B,gBAAgB,CAAC;EAC9B6B,KAAK,EAAE;IACLa,kBAAkB,EAAE,KAAK;IACzBC,UAAU,EAAE,CAAC;IACbC,aAAa,EAAE,CAAC;IAChBC,YAAY,EAAE,EAAE;IAChBC,UAAU,EAAE;EACd;AACF,CAAC,CAAC;AAEF,eAAelD,SAAS","ignoreList":[]}
|
|
@@ -6,14 +6,13 @@ import useUIKitTheme from '../../theme/useUIKitTheme';
|
|
|
6
6
|
import Box from '../Box';
|
|
7
7
|
import Icon from '../Icon';
|
|
8
8
|
import ImageWithPlaceholder from '../ImageWithPlaceholder';
|
|
9
|
-
export const VideoThumbnail =
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
} = _ref;
|
|
9
|
+
export const VideoThumbnail = ({
|
|
10
|
+
fetchThumbnailFromVideoSource,
|
|
11
|
+
style,
|
|
12
|
+
source,
|
|
13
|
+
videoSource,
|
|
14
|
+
iconSize = 28
|
|
15
|
+
}) => {
|
|
17
16
|
const {
|
|
18
17
|
palette,
|
|
19
18
|
select
|
|
@@ -53,8 +52,7 @@ export const VideoThumbnail = _ref => {
|
|
|
53
52
|
}]
|
|
54
53
|
})));
|
|
55
54
|
};
|
|
56
|
-
const useRetry =
|
|
57
|
-
let retryCount = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 5;
|
|
55
|
+
const useRetry = (fetch, retryCount = 5) => {
|
|
58
56
|
const [state, setState] = useState({
|
|
59
57
|
thumbnail: null,
|
|
60
58
|
loading: true
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useEffect","useRef","useState","StyleSheet","isImage","createStyleSheet","useUIKitTheme","Box","Icon","ImageWithPlaceholder","VideoThumbnail","
|
|
1
|
+
{"version":3,"names":["React","useEffect","useRef","useState","StyleSheet","isImage","createStyleSheet","useUIKitTheme","Box","Icon","ImageWithPlaceholder","VideoThumbnail","fetchThumbnailFromVideoSource","style","source","videoSource","iconSize","palette","select","thumbnail","loading","useRetry","path","createElement","absoluteFill","backgroundColor","dark","background400","light","background100","uri","alignItems","justifyContent","icon","size","color","onBackgroundLight02","containerStyle","styles","playIcon","onBackgroundDark01","fetch","retryCount","state","setState","retryCountRef","fetchThumbnail","current","_timeout","_cancelled","tryFetchThumbnail","timeout","retry","finish","setTimeout","then","result","catch","clearTimeout","padding","borderRadius"],"sources":["index.tsx"],"sourcesContent":["import React, { useEffect, useRef, useState } from 'react';\nimport { StyleProp, StyleSheet, ViewStyle } from 'react-native';\n\nimport { isImage } from '@sendbird/uikit-utils';\n\nimport createStyleSheet from '../../styles/createStyleSheet';\nimport useUIKitTheme from '../../theme/useUIKitTheme';\nimport Box from '../Box';\nimport Icon from '../Icon';\nimport ImageWithPlaceholder from '../ImageWithPlaceholder';\n\ntype Props = {\n source: string;\n fetchThumbnailFromVideoSource: (uri: string) => Promise<{ path: string } | null>;\n\n style?: StyleProp<ViewStyle>;\n iconSize?: number;\n /** @deprecated please use `source` prop **/\n videoSource?: string;\n};\n\nexport const VideoThumbnail = ({ fetchThumbnailFromVideoSource, style, source, videoSource, iconSize = 28 }: Props) => {\n const { palette, select } = useUIKitTheme();\n const { thumbnail, loading } = useRetry(async () => {\n if (isImage(source ?? videoSource)) return { path: source ?? videoSource };\n return fetchThumbnailFromVideoSource(source ?? videoSource);\n });\n\n return (\n <Box style={style}>\n {loading ? (\n <Box\n style={StyleSheet.absoluteFill}\n backgroundColor={select({ dark: palette.background400, light: palette.background100 })}\n />\n ) : (\n <ImageWithPlaceholder source={{ uri: thumbnail ?? 'invalid-image' }} style={StyleSheet.absoluteFill} />\n )}\n\n {(loading || thumbnail !== null) && iconSize > 0 && (\n <Box style={StyleSheet.absoluteFill} alignItems={'center'} justifyContent={'center'}>\n <Icon\n icon={'play'}\n size={iconSize}\n color={palette.onBackgroundLight02}\n containerStyle={[styles.playIcon, { backgroundColor: palette.onBackgroundDark01 }]}\n />\n </Box>\n )}\n </Box>\n );\n};\n\nconst useRetry = (fetch: () => Promise<{ path: string } | null>, retryCount = 5) => {\n const [state, setState] = useState({ thumbnail: null as null | string, loading: true });\n const retryCountRef = useRef(0);\n const fetchThumbnail = useRef(fetch);\n fetchThumbnail.current = fetch;\n\n useEffect(() => {\n let _timeout: NodeJS.Timeout;\n let _cancelled = false;\n\n if (!state.thumbnail) {\n const tryFetchThumbnail = (timeout: number) => {\n const retry = () => {\n retryCountRef.current++;\n tryFetchThumbnail(timeout + 5000);\n };\n\n const finish = (path: string | null) => {\n if (!_cancelled) setState({ loading: false, thumbnail: path });\n };\n\n if (retryCountRef.current < retryCount) {\n _timeout = setTimeout(() => {\n fetchThumbnail\n .current()\n .then((result) => {\n if (result === null) retry();\n else finish(result.path);\n })\n .catch(() => retry());\n }, timeout);\n } else {\n finish(null);\n }\n };\n\n tryFetchThumbnail(0);\n }\n\n return () => {\n _cancelled = true;\n clearTimeout(_timeout);\n };\n }, [state.thumbnail]);\n\n return state;\n};\n\nconst styles = createStyleSheet({\n playIcon: {\n padding: 10,\n borderRadius: 50,\n },\n});\n"],"mappings":"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","ignoreList":[]}
|