stream-chat-react-native-core 4.3.0 → 4.3.1-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/commonjs/components/ImageGallery/ImageGallery.js +21 -20
- package/lib/commonjs/components/ImageGallery/ImageGallery.js.map +1 -1
- package/lib/commonjs/contexts/overlayContext/OverlayContext.js.map +1 -1
- package/lib/commonjs/contexts/overlayContext/OverlayProvider.js +1 -2
- package/lib/commonjs/contexts/overlayContext/OverlayProvider.js.map +1 -1
- package/lib/commonjs/version.json +1 -1
- package/lib/module/components/ImageGallery/ImageGallery.js +21 -20
- package/lib/module/components/ImageGallery/ImageGallery.js.map +1 -1
- package/lib/module/contexts/overlayContext/OverlayContext.js.map +1 -1
- package/lib/module/contexts/overlayContext/OverlayProvider.js +1 -2
- package/lib/module/contexts/overlayContext/OverlayProvider.js.map +1 -1
- package/lib/module/version.json +1 -1
- package/lib/typescript/components/ImageGallery/ImageGallery.d.ts +1 -7
- package/lib/typescript/contexts/overlayContext/OverlayContext.d.ts +1 -1
- package/package.json +1 -1
- package/src/components/ImageGallery/ImageGallery.tsx +9 -8
- package/src/contexts/overlayContext/OverlayContext.tsx +1 -1
- package/src/contexts/overlayContext/OverlayProvider.tsx +1 -1
- package/src/version.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["OverlayProvider.tsx"],"names":["OverlayProvider","props","AttachmentPickerBottomSheetHandle","DefaultAttachmentPickerBottomSheetHandle","attachmentPickerBottomSheetHandleHeight","attachmentPickerBottomSheetHeight","AttachmentPickerError","DefaultAttachmentPickerError","attachmentPickerErrorButtonText","AttachmentPickerErrorImage","DefaultAttachmentPickerErrorImage","attachmentPickerErrorText","attachmentSelectionBarHeight","bottomInset","CameraSelectorIcon","DefaultCameraSelectorIcon","children","closePicker","ref","current","close","FileSelectorIcon","DefaultFileSelectorIcon","giphyVersion","i18nInstance","imageGalleryCustomComponents","imageGalleryGridHandleHeight","imageGalleryGridSnapPoints","ImageOverlaySelectedComponent","DefaultImageOverlaySelectedComponent","ImageSelectorIcon","DefaultImageSelectorIcon","MessageActionList","MessageActionListItem","messageTextNumberOfLines","numberOfAttachmentImagesToLoadPerCall","numberOfAttachmentPickerImageColumns","numberOfImageGalleryGridColumns","openPicker","snapToIndex","console","warn","topInset","translucentStatusBar","OverlayReactionList","OverlayReactions","OverlayReactionsAvatar","value","attachmentPickerProps","bottomSheetRef","t","key","tDateTimeParser","input","translators","setTranslators","overlay","setOverlay","overlayOpacity","Dimensions","get","height","width","loadingTranslators","backAction","backHandler","BackHandler","addEventListener","remove","attachmentPickerContext","overlayStyle","opacity","overlayContext","style","StyleSheet","absoluteFill"],"mappings":"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","sourcesContent":["import React, { PropsWithChildren, useEffect, useRef, useState } from 'react';\nimport { BackHandler, Dimensions, StyleSheet, ViewStyle } from 'react-native';\n\nimport Animated, {\n cancelAnimation,\n useAnimatedStyle,\n useSharedValue,\n withTiming,\n} from 'react-native-reanimated';\n\nimport type BottomSheet from '@gorhom/bottom-sheet';\nimport Dayjs from 'dayjs';\n\nimport { OverlayContext, OverlayProviderProps } from './OverlayContext';\n\nimport { AttachmentPicker } from '../../components/AttachmentPicker/AttachmentPicker';\n\nimport { AttachmentPickerBottomSheetHandle as DefaultAttachmentPickerBottomSheetHandle } from '../../components/AttachmentPicker/components/AttachmentPickerBottomSheetHandle';\nimport { AttachmentPickerError as DefaultAttachmentPickerError } from '../../components/AttachmentPicker/components/AttachmentPickerError';\nimport { AttachmentPickerErrorImage as DefaultAttachmentPickerErrorImage } from '../../components/AttachmentPicker/components/AttachmentPickerErrorImage';\nimport { CameraSelectorIcon as DefaultCameraSelectorIcon } from '../../components/AttachmentPicker/components/CameraSelectorIcon';\nimport { FileSelectorIcon as DefaultFileSelectorIcon } from '../../components/AttachmentPicker/components/FileSelectorIcon';\nimport { ImageOverlaySelectedComponent as DefaultImageOverlaySelectedComponent } from '../../components/AttachmentPicker/components/ImageOverlaySelectedComponent';\nimport { ImageSelectorIcon as DefaultImageSelectorIcon } from '../../components/AttachmentPicker/components/ImageSelectorIcon';\nimport { ImageGallery } from '../../components/ImageGallery/ImageGallery';\nimport { MessageOverlay } from '../../components/MessageOverlay/MessageOverlay';\nimport { OverlayBackdrop } from '../../components/MessageOverlay/OverlayBackdrop';\nimport { ChannelsStateProvider } from '../../contexts/channelsStateContext/ChannelsStateContext';\nimport { useStreami18n } from '../../hooks/useStreami18n';\n\nimport type { DefaultStreamChatGenerics } from '../../types/types';\nimport { AttachmentPickerProvider } from '../attachmentPickerContext/AttachmentPickerContext';\nimport { ImageGalleryProvider } from '../imageGalleryContext/ImageGalleryContext';\nimport { MessageOverlayProvider } from '../messageOverlayContext/MessageOverlayContext';\nimport { ThemeProvider } from '../themeContext/ThemeContext';\nimport {\n TranslationContextValue,\n TranslationProvider,\n} from '../translationContext/TranslationContext';\n\n/**\n * - The highest level of these components is the `OverlayProvider`. The `OverlayProvider` allows users to interact with messages on long press above the underlying views, use the full screen image viewer, and use the `AttachmentPicker` as a keyboard-esk view.\n * Because these views must exist above all others `OverlayProvider` should wrap your navigation stack as well. Assuming [`React Navigation`](https://reactnavigation.org/) is being used, your highest level navigation stack should be wrapped in the provider:\n *\n * ```js\n * <NavigationContainer>\n * <OverlayProvider>\n * <Stack.Navigator>\n * <Stack.Screen />\n * </Stack.Navigator>\n * </OverlayProvider>\n * </NavigationContainer>\n * ```\n *\n * - Don't forget to check our cookbook section of [OverlayProvider](https://github.com/GetStream/stream-chat-react-native/wiki/Cookbook-v3.0#overlayprovider)\n *\n * - Also check the [visual component guide](https://github.com/GetStream/stream-chat-react-native/wiki/Cookbook-v3.0#custom-components), to learn about component customizations.\n *\n * @example ./OverlayProvider.md\n */\nexport const OverlayProvider = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: PropsWithChildren<OverlayProviderProps<StreamChatGenerics>>,\n) => {\n const {\n AttachmentPickerBottomSheetHandle = DefaultAttachmentPickerBottomSheetHandle,\n attachmentPickerBottomSheetHandleHeight,\n attachmentPickerBottomSheetHeight,\n AttachmentPickerError = DefaultAttachmentPickerError,\n attachmentPickerErrorButtonText,\n AttachmentPickerErrorImage = DefaultAttachmentPickerErrorImage,\n attachmentPickerErrorText,\n attachmentSelectionBarHeight,\n bottomInset,\n CameraSelectorIcon = DefaultCameraSelectorIcon,\n children,\n closePicker = (ref) => {\n if (ref.current) {\n ref.current.close();\n }\n },\n FileSelectorIcon = DefaultFileSelectorIcon,\n giphyVersion = 'fixed_height',\n i18nInstance,\n imageGalleryCustomComponents,\n imageGalleryGridHandleHeight,\n imageGalleryGridSnapPoints,\n ImageOverlaySelectedComponent = DefaultImageOverlaySelectedComponent,\n ImageSelectorIcon = DefaultImageSelectorIcon,\n MessageActionList,\n MessageActionListItem,\n messageTextNumberOfLines,\n numberOfAttachmentImagesToLoadPerCall,\n numberOfAttachmentPickerImageColumns,\n numberOfImageGalleryGridColumns,\n openPicker = (ref) => {\n if (ref.current?.snapToIndex) {\n ref.current.snapToIndex(0);\n } else {\n console.warn('bottom and top insets must be set for the image picker to work correctly');\n }\n },\n topInset,\n translucentStatusBar,\n OverlayReactionList,\n OverlayReactions,\n OverlayReactionsAvatar,\n value,\n } = props;\n\n const attachmentPickerProps = {\n AttachmentPickerBottomSheetHandle,\n attachmentPickerBottomSheetHandleHeight,\n attachmentPickerBottomSheetHeight,\n AttachmentPickerError,\n attachmentPickerErrorButtonText,\n AttachmentPickerErrorImage,\n attachmentPickerErrorText,\n attachmentSelectionBarHeight,\n ImageOverlaySelectedComponent,\n numberOfAttachmentImagesToLoadPerCall,\n numberOfAttachmentPickerImageColumns,\n translucentStatusBar,\n };\n\n const bottomSheetRef = useRef<BottomSheet>(null);\n\n const [translators, setTranslators] = useState<TranslationContextValue>({\n t: (key: string) => key,\n tDateTimeParser: (input?: string | number | Date) => Dayjs(input),\n });\n const [overlay, setOverlay] = useState(value?.overlay || 'none');\n\n const overlayOpacity = useSharedValue(0);\n const { height, width } = Dimensions.get('screen');\n\n // Setup translators\n const loadingTranslators = useStreami18n({ i18nInstance, setTranslators });\n\n useEffect(() => {\n const backAction = () => {\n if (overlay !== 'none') {\n setOverlay('none');\n return true;\n }\n\n return false;\n };\n\n const backHandler = BackHandler.addEventListener('hardwareBackPress', backAction);\n\n return () => backHandler.remove();\n }, [overlay]);\n\n useEffect(() => {\n if (bottomSheetRef.current) {\n bottomSheetRef.current.close?.();\n }\n cancelAnimation(overlayOpacity);\n if (overlay !== 'none') {\n overlayOpacity.value = withTiming(1);\n } else {\n overlayOpacity.value = withTiming(0);\n }\n }, [overlay]);\n\n // Setup translators\n useStreami18n({ i18nInstance, setTranslators });\n\n const attachmentPickerContext = {\n attachmentPickerBottomSheetHeight,\n attachmentSelectionBarHeight,\n bottomInset,\n CameraSelectorIcon,\n closePicker: () => closePicker(bottomSheetRef),\n FileSelectorIcon,\n ImageSelectorIcon,\n openPicker: () => openPicker(bottomSheetRef),\n topInset,\n };\n\n const overlayStyle = useAnimatedStyle<ViewStyle>(\n () => ({\n opacity: overlayOpacity.value,\n }),\n [],\n );\n\n const overlayContext = {\n overlay,\n setOverlay,\n style: value?.style,\n translucentStatusBar,\n };\n\n if (loadingTranslators) return null;\n\n return (\n <TranslationProvider value={translators}>\n <OverlayContext.Provider value={overlayContext}>\n <MessageOverlayProvider<StreamChatGenerics>>\n <AttachmentPickerProvider value={attachmentPickerContext}>\n <ImageGalleryProvider>\n <ChannelsStateProvider<StreamChatGenerics>>{children}</ChannelsStateProvider>\n <ThemeProvider style={overlayContext.style}>\n <Animated.View\n pointerEvents={overlay === 'none' ? 'none' : 'auto'}\n style={[StyleSheet.absoluteFill, overlayStyle]}\n >\n <OverlayBackdrop style={[StyleSheet.absoluteFill, { height, width }]} />\n </Animated.View>\n {overlay === 'message' && (\n <MessageOverlay<StreamChatGenerics>\n MessageActionList={MessageActionList}\n MessageActionListItem={MessageActionListItem}\n messageTextNumberOfLines={messageTextNumberOfLines}\n overlayOpacity={overlayOpacity}\n OverlayReactionList={OverlayReactionList}\n OverlayReactions={OverlayReactions}\n OverlayReactionsAvatar={OverlayReactionsAvatar}\n />\n )}\n {overlay === 'gallery' && (\n <ImageGallery<StreamChatGenerics>\n giphyVersion={giphyVersion}\n imageGalleryCustomComponents={imageGalleryCustomComponents}\n imageGalleryGridHandleHeight={imageGalleryGridHandleHeight}\n imageGalleryGridSnapPoints={imageGalleryGridSnapPoints}\n numberOfImageGalleryGridColumns={numberOfImageGalleryGridColumns}\n overlayOpacity={overlayOpacity}\n />\n )}\n <AttachmentPicker ref={bottomSheetRef} {...attachmentPickerProps} />\n </ThemeProvider>\n </ImageGalleryProvider>\n </AttachmentPickerProvider>\n </MessageOverlayProvider>\n </OverlayContext.Provider>\n </TranslationProvider>\n );\n};\n"]}
|
|
1
|
+
{"version":3,"sources":["OverlayProvider.tsx"],"names":["OverlayProvider","props","AttachmentPickerBottomSheetHandle","DefaultAttachmentPickerBottomSheetHandle","attachmentPickerBottomSheetHandleHeight","attachmentPickerBottomSheetHeight","AttachmentPickerError","DefaultAttachmentPickerError","attachmentPickerErrorButtonText","AttachmentPickerErrorImage","DefaultAttachmentPickerErrorImage","attachmentPickerErrorText","attachmentSelectionBarHeight","bottomInset","CameraSelectorIcon","DefaultCameraSelectorIcon","children","closePicker","ref","current","close","FileSelectorIcon","DefaultFileSelectorIcon","giphyVersion","i18nInstance","imageGalleryCustomComponents","imageGalleryGridHandleHeight","imageGalleryGridSnapPoints","ImageOverlaySelectedComponent","DefaultImageOverlaySelectedComponent","ImageSelectorIcon","DefaultImageSelectorIcon","MessageActionList","MessageActionListItem","messageTextNumberOfLines","numberOfAttachmentImagesToLoadPerCall","numberOfAttachmentPickerImageColumns","numberOfImageGalleryGridColumns","openPicker","snapToIndex","console","warn","topInset","translucentStatusBar","OverlayReactionList","OverlayReactions","OverlayReactionsAvatar","value","attachmentPickerProps","bottomSheetRef","t","key","tDateTimeParser","input","translators","setTranslators","overlay","setOverlay","overlayOpacity","Dimensions","get","height","width","loadingTranslators","backAction","backHandler","BackHandler","addEventListener","remove","attachmentPickerContext","overlayStyle","opacity","overlayContext","style","StyleSheet","absoluteFill"],"mappings":"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","sourcesContent":["import React, { PropsWithChildren, useEffect, useRef, useState } from 'react';\nimport { BackHandler, Dimensions, StyleSheet, ViewStyle } from 'react-native';\n\nimport Animated, {\n cancelAnimation,\n useAnimatedStyle,\n useSharedValue,\n withTiming,\n} from 'react-native-reanimated';\n\nimport type BottomSheet from '@gorhom/bottom-sheet';\nimport Dayjs from 'dayjs';\n\nimport { OverlayContext, OverlayProviderProps } from './OverlayContext';\n\nimport { AttachmentPicker } from '../../components/AttachmentPicker/AttachmentPicker';\n\nimport { AttachmentPickerBottomSheetHandle as DefaultAttachmentPickerBottomSheetHandle } from '../../components/AttachmentPicker/components/AttachmentPickerBottomSheetHandle';\nimport { AttachmentPickerError as DefaultAttachmentPickerError } from '../../components/AttachmentPicker/components/AttachmentPickerError';\nimport { AttachmentPickerErrorImage as DefaultAttachmentPickerErrorImage } from '../../components/AttachmentPicker/components/AttachmentPickerErrorImage';\nimport { CameraSelectorIcon as DefaultCameraSelectorIcon } from '../../components/AttachmentPicker/components/CameraSelectorIcon';\nimport { FileSelectorIcon as DefaultFileSelectorIcon } from '../../components/AttachmentPicker/components/FileSelectorIcon';\nimport { ImageOverlaySelectedComponent as DefaultImageOverlaySelectedComponent } from '../../components/AttachmentPicker/components/ImageOverlaySelectedComponent';\nimport { ImageSelectorIcon as DefaultImageSelectorIcon } from '../../components/AttachmentPicker/components/ImageSelectorIcon';\nimport { ImageGallery } from '../../components/ImageGallery/ImageGallery';\nimport { MessageOverlay } from '../../components/MessageOverlay/MessageOverlay';\nimport { OverlayBackdrop } from '../../components/MessageOverlay/OverlayBackdrop';\nimport { ChannelsStateProvider } from '../../contexts/channelsStateContext/ChannelsStateContext';\nimport { useStreami18n } from '../../hooks/useStreami18n';\n\nimport type { DefaultStreamChatGenerics } from '../../types/types';\nimport { AttachmentPickerProvider } from '../attachmentPickerContext/AttachmentPickerContext';\nimport { ImageGalleryProvider } from '../imageGalleryContext/ImageGalleryContext';\nimport { MessageOverlayProvider } from '../messageOverlayContext/MessageOverlayContext';\nimport { ThemeProvider } from '../themeContext/ThemeContext';\nimport {\n TranslationContextValue,\n TranslationProvider,\n} from '../translationContext/TranslationContext';\n\n/**\n * - The highest level of these components is the `OverlayProvider`. The `OverlayProvider` allows users to interact with messages on long press above the underlying views, use the full screen image viewer, and use the `AttachmentPicker` as a keyboard-esk view.\n * Because these views must exist above all others `OverlayProvider` should wrap your navigation stack as well. Assuming [`React Navigation`](https://reactnavigation.org/) is being used, your highest level navigation stack should be wrapped in the provider:\n *\n * ```js\n * <NavigationContainer>\n * <OverlayProvider>\n * <Stack.Navigator>\n * <Stack.Screen />\n * </Stack.Navigator>\n * </OverlayProvider>\n * </NavigationContainer>\n * ```\n *\n * - Don't forget to check our cookbook section of [OverlayProvider](https://github.com/GetStream/stream-chat-react-native/wiki/Cookbook-v3.0#overlayprovider)\n *\n * - Also check the [visual component guide](https://github.com/GetStream/stream-chat-react-native/wiki/Cookbook-v3.0#custom-components), to learn about component customizations.\n *\n * @example ./OverlayProvider.md\n */\nexport const OverlayProvider = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: PropsWithChildren<OverlayProviderProps<StreamChatGenerics>>,\n) => {\n const {\n AttachmentPickerBottomSheetHandle = DefaultAttachmentPickerBottomSheetHandle,\n attachmentPickerBottomSheetHandleHeight,\n attachmentPickerBottomSheetHeight,\n AttachmentPickerError = DefaultAttachmentPickerError,\n attachmentPickerErrorButtonText,\n AttachmentPickerErrorImage = DefaultAttachmentPickerErrorImage,\n attachmentPickerErrorText,\n attachmentSelectionBarHeight,\n bottomInset,\n CameraSelectorIcon = DefaultCameraSelectorIcon,\n children,\n closePicker = (ref) => {\n if (ref.current) {\n ref.current.close();\n }\n },\n FileSelectorIcon = DefaultFileSelectorIcon,\n giphyVersion,\n i18nInstance,\n imageGalleryCustomComponents,\n imageGalleryGridHandleHeight,\n imageGalleryGridSnapPoints,\n ImageOverlaySelectedComponent = DefaultImageOverlaySelectedComponent,\n ImageSelectorIcon = DefaultImageSelectorIcon,\n MessageActionList,\n MessageActionListItem,\n messageTextNumberOfLines,\n numberOfAttachmentImagesToLoadPerCall,\n numberOfAttachmentPickerImageColumns,\n numberOfImageGalleryGridColumns,\n openPicker = (ref) => {\n if (ref.current?.snapToIndex) {\n ref.current.snapToIndex(0);\n } else {\n console.warn('bottom and top insets must be set for the image picker to work correctly');\n }\n },\n topInset,\n translucentStatusBar,\n OverlayReactionList,\n OverlayReactions,\n OverlayReactionsAvatar,\n value,\n } = props;\n\n const attachmentPickerProps = {\n AttachmentPickerBottomSheetHandle,\n attachmentPickerBottomSheetHandleHeight,\n attachmentPickerBottomSheetHeight,\n AttachmentPickerError,\n attachmentPickerErrorButtonText,\n AttachmentPickerErrorImage,\n attachmentPickerErrorText,\n attachmentSelectionBarHeight,\n ImageOverlaySelectedComponent,\n numberOfAttachmentImagesToLoadPerCall,\n numberOfAttachmentPickerImageColumns,\n translucentStatusBar,\n };\n\n const bottomSheetRef = useRef<BottomSheet>(null);\n\n const [translators, setTranslators] = useState<TranslationContextValue>({\n t: (key: string) => key,\n tDateTimeParser: (input?: string | number | Date) => Dayjs(input),\n });\n const [overlay, setOverlay] = useState(value?.overlay || 'none');\n\n const overlayOpacity = useSharedValue(0);\n const { height, width } = Dimensions.get('screen');\n\n // Setup translators\n const loadingTranslators = useStreami18n({ i18nInstance, setTranslators });\n\n useEffect(() => {\n const backAction = () => {\n if (overlay !== 'none') {\n setOverlay('none');\n return true;\n }\n\n return false;\n };\n\n const backHandler = BackHandler.addEventListener('hardwareBackPress', backAction);\n\n return () => backHandler.remove();\n }, [overlay]);\n\n useEffect(() => {\n if (bottomSheetRef.current) {\n bottomSheetRef.current.close?.();\n }\n cancelAnimation(overlayOpacity);\n if (overlay !== 'none') {\n overlayOpacity.value = withTiming(1);\n } else {\n overlayOpacity.value = withTiming(0);\n }\n }, [overlay]);\n\n // Setup translators\n useStreami18n({ i18nInstance, setTranslators });\n\n const attachmentPickerContext = {\n attachmentPickerBottomSheetHeight,\n attachmentSelectionBarHeight,\n bottomInset,\n CameraSelectorIcon,\n closePicker: () => closePicker(bottomSheetRef),\n FileSelectorIcon,\n ImageSelectorIcon,\n openPicker: () => openPicker(bottomSheetRef),\n topInset,\n };\n\n const overlayStyle = useAnimatedStyle<ViewStyle>(\n () => ({\n opacity: overlayOpacity.value,\n }),\n [],\n );\n\n const overlayContext = {\n overlay,\n setOverlay,\n style: value?.style,\n translucentStatusBar,\n };\n\n if (loadingTranslators) return null;\n\n return (\n <TranslationProvider value={translators}>\n <OverlayContext.Provider value={overlayContext}>\n <MessageOverlayProvider<StreamChatGenerics>>\n <AttachmentPickerProvider value={attachmentPickerContext}>\n <ImageGalleryProvider>\n <ChannelsStateProvider<StreamChatGenerics>>{children}</ChannelsStateProvider>\n <ThemeProvider style={overlayContext.style}>\n <Animated.View\n pointerEvents={overlay === 'none' ? 'none' : 'auto'}\n style={[StyleSheet.absoluteFill, overlayStyle]}\n >\n <OverlayBackdrop style={[StyleSheet.absoluteFill, { height, width }]} />\n </Animated.View>\n {overlay === 'message' && (\n <MessageOverlay<StreamChatGenerics>\n MessageActionList={MessageActionList}\n MessageActionListItem={MessageActionListItem}\n messageTextNumberOfLines={messageTextNumberOfLines}\n overlayOpacity={overlayOpacity}\n OverlayReactionList={OverlayReactionList}\n OverlayReactions={OverlayReactions}\n OverlayReactionsAvatar={OverlayReactionsAvatar}\n />\n )}\n {overlay === 'gallery' && (\n <ImageGallery<StreamChatGenerics>\n giphyVersion={giphyVersion}\n imageGalleryCustomComponents={imageGalleryCustomComponents}\n imageGalleryGridHandleHeight={imageGalleryGridHandleHeight}\n imageGalleryGridSnapPoints={imageGalleryGridSnapPoints}\n numberOfImageGalleryGridColumns={numberOfImageGalleryGridColumns}\n overlayOpacity={overlayOpacity}\n />\n )}\n <AttachmentPicker ref={bottomSheetRef} {...attachmentPickerProps} />\n </ThemeProvider>\n </ImageGalleryProvider>\n </AttachmentPickerProvider>\n </MessageOverlayProvider>\n </OverlayContext.Provider>\n </TranslationProvider>\n );\n};\n"]}
|
|
@@ -84,7 +84,8 @@ exports.IsSwiping = IsSwiping;
|
|
|
84
84
|
var ImageGallery = function ImageGallery(props) {
|
|
85
85
|
var _StatusBar$currentHei, _photos$selectedIndex;
|
|
86
86
|
|
|
87
|
-
var giphyVersion = props.giphyVersion,
|
|
87
|
+
var _props$giphyVersion = props.giphyVersion,
|
|
88
|
+
giphyVersion = _props$giphyVersion === void 0 ? 'fixed_height' : _props$giphyVersion,
|
|
88
89
|
imageGalleryCustomComponents = props.imageGalleryCustomComponents,
|
|
89
90
|
imageGalleryGridHandleHeight = props.imageGalleryGridHandleHeight,
|
|
90
91
|
imageGalleryGridSnapPoints = props.imageGalleryGridSnapPoints,
|
|
@@ -585,7 +586,7 @@ var ImageGallery = function ImageGallery(props) {
|
|
|
585
586
|
__self: _this,
|
|
586
587
|
__source: {
|
|
587
588
|
fileName: _jsxFileName,
|
|
588
|
-
lineNumber:
|
|
589
|
+
lineNumber: 1051,
|
|
589
590
|
columnNumber: 5
|
|
590
591
|
}
|
|
591
592
|
}, _react["default"].createElement(_reactNativeReanimated["default"].View, {
|
|
@@ -593,7 +594,7 @@ var ImageGallery = function ImageGallery(props) {
|
|
|
593
594
|
__self: _this,
|
|
594
595
|
__source: {
|
|
595
596
|
fileName: _jsxFileName,
|
|
596
|
-
lineNumber:
|
|
597
|
+
lineNumber: 1052,
|
|
597
598
|
columnNumber: 7
|
|
598
599
|
}
|
|
599
600
|
}), _react["default"].createElement(_reactNativeGestureHandler.TapGestureHandler, {
|
|
@@ -605,7 +606,7 @@ var ImageGallery = function ImageGallery(props) {
|
|
|
605
606
|
__self: _this,
|
|
606
607
|
__source: {
|
|
607
608
|
fileName: _jsxFileName,
|
|
608
|
-
lineNumber:
|
|
609
|
+
lineNumber: 1053,
|
|
609
610
|
columnNumber: 7
|
|
610
611
|
}
|
|
611
612
|
}, _react["default"].createElement(_reactNativeReanimated["default"].View, {
|
|
@@ -613,7 +614,7 @@ var ImageGallery = function ImageGallery(props) {
|
|
|
613
614
|
__self: _this,
|
|
614
615
|
__source: {
|
|
615
616
|
fileName: _jsxFileName,
|
|
616
|
-
lineNumber:
|
|
617
|
+
lineNumber: 1060,
|
|
617
618
|
columnNumber: 9
|
|
618
619
|
}
|
|
619
620
|
}, _react["default"].createElement(_reactNativeGestureHandler.TapGestureHandler, {
|
|
@@ -627,7 +628,7 @@ var ImageGallery = function ImageGallery(props) {
|
|
|
627
628
|
__self: _this,
|
|
628
629
|
__source: {
|
|
629
630
|
fileName: _jsxFileName,
|
|
630
|
-
lineNumber:
|
|
631
|
+
lineNumber: 1061,
|
|
631
632
|
columnNumber: 11
|
|
632
633
|
}
|
|
633
634
|
}, _react["default"].createElement(_reactNativeReanimated["default"].View, {
|
|
@@ -635,7 +636,7 @@ var ImageGallery = function ImageGallery(props) {
|
|
|
635
636
|
__self: _this,
|
|
636
637
|
__source: {
|
|
637
638
|
fileName: _jsxFileName,
|
|
638
|
-
lineNumber:
|
|
639
|
+
lineNumber: 1070,
|
|
639
640
|
columnNumber: 13
|
|
640
641
|
}
|
|
641
642
|
}, _react["default"].createElement(_reactNativeGestureHandler.PinchGestureHandler, {
|
|
@@ -645,7 +646,7 @@ var ImageGallery = function ImageGallery(props) {
|
|
|
645
646
|
__self: _this,
|
|
646
647
|
__source: {
|
|
647
648
|
fileName: _jsxFileName,
|
|
648
|
-
lineNumber:
|
|
649
|
+
lineNumber: 1071,
|
|
649
650
|
columnNumber: 15
|
|
650
651
|
}
|
|
651
652
|
}, _react["default"].createElement(_reactNativeReanimated["default"].View, {
|
|
@@ -653,7 +654,7 @@ var ImageGallery = function ImageGallery(props) {
|
|
|
653
654
|
__self: _this,
|
|
654
655
|
__source: {
|
|
655
656
|
fileName: _jsxFileName,
|
|
656
|
-
lineNumber:
|
|
657
|
+
lineNumber: 1076,
|
|
657
658
|
columnNumber: 17
|
|
658
659
|
}
|
|
659
660
|
}, _react["default"].createElement(_reactNativeGestureHandler.PanGestureHandler, {
|
|
@@ -666,7 +667,7 @@ var ImageGallery = function ImageGallery(props) {
|
|
|
666
667
|
__self: _this,
|
|
667
668
|
__source: {
|
|
668
669
|
fileName: _jsxFileName,
|
|
669
|
-
lineNumber:
|
|
670
|
+
lineNumber: 1077,
|
|
670
671
|
columnNumber: 19
|
|
671
672
|
}
|
|
672
673
|
}, _react["default"].createElement(_reactNativeReanimated["default"].View, {
|
|
@@ -674,7 +675,7 @@ var ImageGallery = function ImageGallery(props) {
|
|
|
674
675
|
__self: _this,
|
|
675
676
|
__source: {
|
|
676
677
|
fileName: _jsxFileName,
|
|
677
|
-
lineNumber:
|
|
678
|
+
lineNumber: 1085,
|
|
678
679
|
columnNumber: 21
|
|
679
680
|
}
|
|
680
681
|
}, _react["default"].createElement(_reactNativeReanimated["default"].View, {
|
|
@@ -688,7 +689,7 @@ var ImageGallery = function ImageGallery(props) {
|
|
|
688
689
|
__self: _this,
|
|
689
690
|
__source: {
|
|
690
691
|
fileName: _jsxFileName,
|
|
691
|
-
lineNumber:
|
|
692
|
+
lineNumber: 1086,
|
|
692
693
|
columnNumber: 23
|
|
693
694
|
}
|
|
694
695
|
}, photos.map(function (photo, i) {
|
|
@@ -712,7 +713,7 @@ var ImageGallery = function ImageGallery(props) {
|
|
|
712
713
|
__self: _this,
|
|
713
714
|
__source: {
|
|
714
715
|
fileName: _jsxFileName,
|
|
715
|
-
lineNumber:
|
|
716
|
+
lineNumber: 1102,
|
|
716
717
|
columnNumber: 27
|
|
717
718
|
}
|
|
718
719
|
});
|
|
@@ -724,7 +725,7 @@ var ImageGallery = function ImageGallery(props) {
|
|
|
724
725
|
__self: _this,
|
|
725
726
|
__source: {
|
|
726
727
|
fileName: _jsxFileName,
|
|
727
|
-
lineNumber:
|
|
728
|
+
lineNumber: 1133,
|
|
728
729
|
columnNumber: 7
|
|
729
730
|
}
|
|
730
731
|
})), _react["default"].createElement(_ImageGalleryFooter.ImageGalleryFooter, (0, _extends2["default"])({
|
|
@@ -738,7 +739,7 @@ var ImageGallery = function ImageGallery(props) {
|
|
|
738
739
|
__self: _this,
|
|
739
740
|
__source: {
|
|
740
741
|
fileName: _jsxFileName,
|
|
741
|
-
lineNumber:
|
|
742
|
+
lineNumber: 1139,
|
|
742
743
|
columnNumber: 7
|
|
743
744
|
}
|
|
744
745
|
})), _react["default"].createElement(_ImageGalleryOverlay.ImageGalleryOverlay, {
|
|
@@ -748,14 +749,14 @@ var ImageGallery = function ImageGallery(props) {
|
|
|
748
749
|
__self: _this,
|
|
749
750
|
__source: {
|
|
750
751
|
fileName: _jsxFileName,
|
|
751
|
-
lineNumber:
|
|
752
|
+
lineNumber: 1148,
|
|
752
753
|
columnNumber: 7
|
|
753
754
|
}
|
|
754
755
|
}), _react["default"].createElement(_bottomSheet.BottomSheetModalProvider, {
|
|
755
756
|
__self: _this,
|
|
756
757
|
__source: {
|
|
757
758
|
fileName: _jsxFileName,
|
|
758
|
-
lineNumber:
|
|
759
|
+
lineNumber: 1153,
|
|
759
760
|
columnNumber: 7
|
|
760
761
|
}
|
|
761
762
|
}, _react["default"].createElement(_bottomSheet.BottomSheetModal, {
|
|
@@ -768,7 +769,7 @@ var ImageGallery = function ImageGallery(props) {
|
|
|
768
769
|
__self: _this,
|
|
769
770
|
__source: {
|
|
770
771
|
fileName: _jsxFileName,
|
|
771
|
-
lineNumber:
|
|
772
|
+
lineNumber: 1158,
|
|
772
773
|
columnNumber: 13
|
|
773
774
|
}
|
|
774
775
|
}));
|
|
@@ -783,7 +784,7 @@ var ImageGallery = function ImageGallery(props) {
|
|
|
783
784
|
__self: _this,
|
|
784
785
|
__source: {
|
|
785
786
|
fileName: _jsxFileName,
|
|
786
|
-
lineNumber:
|
|
787
|
+
lineNumber: 1154,
|
|
787
788
|
columnNumber: 9
|
|
788
789
|
}
|
|
789
790
|
}, _react["default"].createElement(_ImageGrid.ImageGrid, (0, _extends2["default"])({
|
|
@@ -795,7 +796,7 @@ var ImageGallery = function ImageGallery(props) {
|
|
|
795
796
|
__self: _this,
|
|
796
797
|
__source: {
|
|
797
798
|
fileName: _jsxFileName,
|
|
798
|
-
lineNumber:
|
|
799
|
+
lineNumber: 1169,
|
|
799
800
|
columnNumber: 11
|
|
800
801
|
}
|
|
801
802
|
})))));
|