@messenger-box/slack-ui-mobile 10.0.3-alpha.5 → 10.0.3-alpha.54
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/components/Actionsheet.js +96 -0
- package/lib/components/Actionsheet.js.map +1 -0
- package/lib/components/AppRootContextProviderComponent.js +16 -2
- package/lib/components/AppRootContextProviderComponent.js.map +1 -1
- package/lib/components/Channels/ChannelsByAlphabeticalAccordion.js +13 -7
- package/lib/components/Channels/ChannelsByAlphabeticalAccordion.js.map +1 -1
- package/lib/components/CustomBottomTabs/CustomBottomTabs.js +10 -23
- package/lib/components/CustomBottomTabs/CustomBottomTabs.js.map +1 -1
- package/lib/components/CustomDrawer/CustomDrawer.js +29 -29
- package/lib/components/CustomDrawer/CustomDrawer.js.map +1 -1
- package/lib/components/Header/styles.js +2 -2
- package/lib/components/Header/styles.js.map +1 -1
- package/lib/components/LoadingSpinner/index.js +3 -3
- package/lib/components/LoadingSpinner/index.js.map +1 -1
- package/lib/components/NavigationHeader/InboxNavigationHeader.js +20 -25
- package/lib/components/NavigationHeader/InboxNavigationHeader.js.map +1 -1
- package/lib/components/NavigationHeader/NavigationHeader.js +58 -40
- package/lib/components/NavigationHeader/NavigationHeader.js.map +1 -1
- package/lib/components/NavigationHeader/NavigationHeaderChat.js +9 -9
- package/lib/components/NavigationHeader/NavigationHeaderChat.js.map +1 -1
- package/lib/components/NavigationHeader/index.js +1 -1
- package/lib/components/SlackSearchInput/Suggestion.js +1 -1
- package/lib/components/SlackSearchInput/Tag.js +1 -1
- package/lib/components/SlackSearchInput/index.js +3 -3
- package/lib/components/SlackSearchInput/index.js.map +1 -1
- package/lib/components/VirtualizedScrollView/VirtualizedScrollView.js +19 -4
- package/lib/components/VirtualizedScrollView/VirtualizedScrollView.js.map +1 -1
- package/lib/components/WorkSpaceDrawer/WorkSpaceDrawer.js +39 -29
- package/lib/components/WorkSpaceDrawer/WorkSpaceDrawer.js.map +1 -1
- package/lib/compute.js +32 -23
- package/lib/compute.js.map +1 -1
- package/lib/constants/Colors.js +2 -2
- package/lib/constants/globalStyles.js +3 -3
- package/lib/constants/globalStyles.js.map +1 -1
- package/lib/hooks/useOptimizedChannelsQueries.js +106 -0
- package/lib/hooks/useOptimizedChannelsQueries.js.map +1 -0
- package/lib/index.js +1 -1
- package/lib/index.js.map +1 -1
- package/lib/navigation/SearchTabNavigation.js +47 -39
- package/lib/navigation/SearchTabNavigation.js.map +1 -1
- package/lib/navigation/TeamTabNavigation.js +51 -38
- package/lib/navigation/TeamTabNavigation.js.map +1 -1
- package/lib/queries/slackuiQueries.js +129 -0
- package/lib/queries/slackuiQueries.js.map +1 -0
- package/lib/routes.json +32 -23
- package/lib/screens/Account/AccountScreen.js +23 -26
- package/lib/screens/Account/AccountScreen.js.map +1 -1
- package/lib/screens/Activity/ActivityScreen.js +6 -2
- package/lib/screens/Activity/ActivityScreen.js.map +1 -1
- package/lib/screens/Channels/Add/AddName.js +33 -8
- package/lib/screens/Channels/Add/AddName.js.map +1 -1
- package/lib/screens/Channels/Add/AddVisibility.js +6 -6
- package/lib/screens/Channels/Add/AddVisibility.js.map +1 -1
- package/lib/screens/Channels/AddChannel.js +5 -3
- package/lib/screens/Channels/AddChannel.js.map +1 -1
- package/lib/screens/Channels/Channels.js +101 -95
- package/lib/screens/Channels/Channels.js.map +1 -1
- package/lib/screens/Files/FilesScreen.js +2 -2
- package/lib/screens/Files/FilesScreen.js.map +1 -1
- package/lib/screens/Home/Components/Channels/Channels.js +91 -77
- package/lib/screens/Home/Components/Channels/Channels.js.map +1 -1
- package/lib/screens/Home/Components/DirectChannels/DirectChannels.js +249 -115
- package/lib/screens/Home/Components/DirectChannels/DirectChannels.js.map +1 -1
- package/lib/screens/Home/Components/InviteMembers/index.js +88 -0
- package/lib/screens/Home/Components/InviteMembers/index.js.map +1 -0
- package/lib/screens/Home/Components/Teams/Teams.js +110 -47
- package/lib/screens/Home/Components/Teams/Teams.js.map +1 -1
- package/lib/screens/Home/Components/TopCommonSlider/TopCommonSlider.js +44 -75
- package/lib/screens/Home/Components/TopCommonSlider/TopCommonSlider.js.map +1 -1
- package/lib/screens/Home/HomeScreen.js +161 -194
- package/lib/screens/Home/HomeScreen.js.map +1 -1
- package/lib/screens/Home/styles.js +4 -4
- package/lib/screens/Home/styles.js.map +1 -1
- package/lib/screens/Inbox/InboxChannelDetail.js +67 -34
- package/lib/screens/Inbox/InboxChannelDetail.js.map +1 -1
- package/lib/screens/Inbox/InboxDialogMessages.js +2 -2
- package/lib/screens/Inbox/InboxDialogMessages.js.map +1 -1
- package/lib/screens/Inbox/InboxScreen.js +3 -3
- package/lib/screens/Inbox/InboxScreen.js.map +1 -1
- package/lib/screens/Login.js +4 -2
- package/lib/screens/Login.js.map +1 -1
- package/lib/screens/Organization/AddWorkspace.js +42 -38
- package/lib/screens/Organization/AddWorkspace.js.map +1 -1
- package/lib/screens/Organization/CreateOrganization.js +11 -2
- package/lib/screens/Organization/CreateOrganization.js.map +1 -1
- package/lib/screens/Organization/InitialChannelOnboarding.js +22 -4
- package/lib/screens/Organization/InitialChannelOnboarding.js.map +1 -1
- package/lib/screens/Organization/InitializeOrganizationChannel.js +9 -4
- package/lib/screens/Organization/InitializeOrganizationChannel.js.map +1 -1
- package/lib/screens/Organization/InviteOrganizationMembers.js +52 -10
- package/lib/screens/Organization/InviteOrganizationMembers.js.map +1 -1
- package/lib/screens/Peoples/AddByEmail.js +24 -6
- package/lib/screens/Peoples/AddByEmail.js.map +1 -1
- package/lib/screens/Peoples/AddFromContacts.js +172 -87
- package/lib/screens/Peoples/AddFromContacts.js.map +1 -1
- package/lib/screens/Peoples/AddPeople.js +21 -42
- package/lib/screens/Peoples/AddPeople.js.map +1 -1
- package/lib/screens/Peoples/People.js +42 -4
- package/lib/screens/Peoples/People.js.map +1 -1
- package/lib/screens/Profile/ProfileScreen.js +27 -12
- package/lib/screens/Profile/ProfileScreen.js.map +1 -1
- package/lib/screens/Saved/SavedScreen.js +2 -2
- package/lib/screens/Saved/SavedScreen.js.map +1 -1
- package/lib/screens/Search/Channels.js +20 -32
- package/lib/screens/Search/Channels.js.map +1 -1
- package/lib/screens/Search/Files.js +2 -2
- package/lib/screens/Search/Files.js.map +1 -1
- package/lib/screens/Search/JumpTo.js +2 -2
- package/lib/screens/Search/JumpTo.js.map +1 -1
- package/lib/screens/Search/People.js +19 -27
- package/lib/screens/Search/People.js.map +1 -1
- package/lib/screens/Search/Recents.js +26 -31
- package/lib/screens/Search/Recents.js.map +1 -1
- package/lib/screens/Search/SearchAddChannel.js +366 -227
- package/lib/screens/Search/SearchAddChannel.js.map +1 -1
- package/lib/screens/Search/SearchChannelPeople.js +70 -37
- package/lib/screens/Search/SearchChannelPeople.js.map +1 -1
- package/lib/screens/Search/SearchScreen.js +5 -3
- package/lib/screens/Search/SearchScreen.js.map +1 -1
- package/lib/screens/Search/styles.js +2 -2
- package/lib/screens/Search/styles.js.map +1 -1
- package/lib/screens/Teams/AddTeam.js +3 -3
- package/lib/screens/Teams/AddTeam.js.map +1 -1
- package/lib/screens/Teams/Components/Channels/Channels.js +6 -6
- package/lib/screens/Teams/Components/Channels/Channels.js.map +1 -1
- package/lib/screens/Teams/Components/Members/Members.js +7 -3
- package/lib/screens/Teams/Components/Members/Members.js.map +1 -1
- package/lib/screens/Teams/Team.js +6 -8
- package/lib/screens/Teams/Team.js.map +1 -1
- package/lib/screens/Teams/Teams.js +137 -106
- package/lib/screens/Teams/Teams.js.map +1 -1
- package/lib/screens/Teams/useTeams.js +41 -0
- package/lib/screens/Teams/useTeams.js.map +1 -0
- package/lib/screens/Wiki/WikiScreen.js +2 -2
- package/lib/screens/Wiki/WikiScreen.js.map +1 -1
- package/lib/theme/index.js +2 -2
- package/lib/theme/index.js.map +1 -1
- package/package.json +6 -4
- package/lib/navigation/ActivityNavigator.js +0 -61
- package/lib/navigation/ActivityNavigator.js.map +0 -1
- package/lib/navigation/ExploreNavigator.js +0 -583
- package/lib/navigation/ExploreNavigator.js.map +0 -1
- package/lib/navigation/InboxNavigator.js +0 -183
- package/lib/navigation/InboxNavigator.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NavigationHeader.js","sources":["../../../src/components/NavigationHeader/NavigationHeader.tsx"],"sourcesContent":["import { useNavigation, useFocusEffect } from '@react-navigation/core';\nimport React from 'react';\nimport { Pressable, View, Dimensions, Keyboard, Animated } from 'react-native';\nimport {\n SafeAreaView,\n VStack,\n HStack,\n Input,\n InputField,\n InputSlot,\n Button,\n ButtonText,\n Icon,\n Text,\n Center,\n Box,\n Image,\n Avatar,\n AvatarFallbackText,\n AvatarImage,\n AvatarBadge,\n AvatarGroup,\n} from '@admin-layout/gluestack-ui-mobile';\nimport { StatusBar } from 'expo-status-bar';\nimport { getHeaderTitle } from '@react-navigation/elements';\nimport { Ionicons, MaterialIcons } from '@expo/vector-icons';\nimport { useDrawerLayout } from '../../hooks/useDrawerLayout';\nimport { useSelector } from 'react-redux';\nimport { IUserState } from '@adminide-stack/core';\nimport { Store, userSelector } from '@adminide-stack/user-auth0-client';\nimport { NavigationRoutes } from '../../constants/routes';\nimport { startCase } from 'lodash-es';\nimport Colors from '../../constants/Colors';\nimport { navigationRef } from '@common-stack/client-react';\nconst windowWidth = Dimensions.get('window').width;\nconst windowHeight = Dimensions.get('window').height;\n\nconst CustomNavigationHeader = ({\n navigation,\n route,\n options,\n back,\n backBtnColor = 'white',\n showToggle = null,\n showFilter = null,\n customHeader = null,\n showTitle = true,\n titleColor = 'white',\n showOrganizationTitle = false,\n showProfile = true,\n isSearchBack = null,\n showDefaultSearchBox = true,\n statusBarType = 'light',\n headerBgColor = Colors.primaryBgColor,\n ...props\n}: any) => {\n const [statusBarStyle, setStatusBarStyle] = React.useState<any>(statusBarType);\n const { orgName, organizationDetail, open, setOpen, headerAnimationOffsetValue } = useDrawerLayout();\n //const user = useSelector((state: any) => state?.user);\n const headerInputRef = React.useRef(null);\n const user: any = useSelector<Store.Auth, IUserState>(userSelector);\n const offset = React.useRef(new Animated.Value(headerAnimationOffsetValue)).current;\n // const title = user?.accessToken ? getHeaderTitle?.(options, route.name) ?? 'Home' : 'Home';\n const title = getHeaderTitle?.(options, route.name) ?? 'Home';\n const matches: any =\n user?.accessToken && showOrganizationTitle && organizationDetail?.title\n ? organizationDetail?.title?.match(/\\b(\\w)/g) ?? orgName\n : title?.match(/\\b(\\w)/g) ?? '';\n const acronym: any = Array.isArray(matches) ? matches?.join('')?.substring(0, 2)?.toUpperCase() : ''; // JSON\n const isHeaderTitleString = typeof options?.headerTitle === 'string' || options?.headerTitle instanceof String;\n React.useEffect(() => {\n if (headerAnimationOffsetValue && offset) {\n offset.setValue(headerAnimationOffsetValue);\n }\n }, [headerAnimationOffsetValue]);\n\n React.useEffect(() => {\n if (open) setStatusBarStyle('dark');\n else setStatusBarStyle(statusBarType);\n }, [open, statusBarType]);\n\n const toggleDrawer = React.useCallback(() => {\n setOpen((pre: boolean) => !pre);\n }, []);\n // const toggleDrawer = () => {\n // setOpen((pre: boolean) => !pre);\n // };\n\n return (\n <>\n <StatusBar style={statusBarStyle} />\n {/* <StatusBar backgroundColor={'black'} barStyle={'light-content'} /> */}\n <SafeAreaView bg={headerBgColor}>\n <Box bg={headerBgColor} style={options?.headerStyle ?? {}}>\n <Animated.View\n style={{\n transform: [\n {\n translateY: offset.interpolate({\n inputRange: [100, 200],\n outputRange: [0, -1],\n extrapolateLeft: 'clamp',\n }),\n },\n ],\n }}\n >\n {customHeader ? (\n <HStack\n bg={headerBgColor}\n px=\"$1\"\n py=\"$3\"\n justifyContent=\"space-between\"\n alignItems=\"center\"\n w=\"100%\"\n flex={1}\n >\n {customHeader}\n </HStack>\n ) : (\n <VStack bg={headerBgColor} px=\"$2\" py=\"$3\" space={'sm'}>\n <HStack px=\"$1\" justifyContent=\"space-between\" w=\"100%\">\n <HStack space={'sm'} alignItems=\"center\" w={'85%'} rounded={'$xl'}>\n {back ? (\n <Button size={'sm'} bg={'transparent'} onPress={() => navigation.goBack()}>\n <Ionicons size={30} name=\"chevron-back-sharp\" color={backBtnColor} />\n </Button>\n ) : showToggle && headerAnimationOffsetValue === 0 ? (\n <Button\n px={'$1.5'}\n py={'$0.5'}\n variant={'solid'}\n size={'xs'}\n alignItems=\"center\"\n borderRadius={'$md'}\n bg={Colors.toggleButtonBgColor}\n disabled={!user?.accessToken ? true : false}\n onPress={() => {\n if (user?.accessToken) {\n if (props?.navigation) navigation.toggleDrawer();\n else toggleDrawer();\n }\n }}\n >\n <ButtonText py={'$0'} style={{ color: '#000', fontWeight: '600' }}>\n {startCase(acronym)}\n </ButtonText>\n {/* <Avatar bg={'transparent'}>\n <AvatarFallbackText style={{ color: '#000', fontWeight: '600' }}>\n {startCase(acronym)}\n </AvatarFallbackText>\n </Avatar> */}\n </Button>\n ) : (\n <></>\n )}\n {!isHeaderTitleString &&\n options?.headerTitle?.() &&\n headerAnimationOffsetValue === 0 && <Box>{options?.headerTitle?.()}</Box>}\n {showTitle && headerAnimationOffsetValue === 0 && (\n <Text style={{ fontSize: 20, fontWeight: 'bold', color: titleColor }}>\n {startCase(title)}\n </Text>\n )}\n\n {showOrganizationTitle && headerAnimationOffsetValue === 0 && (\n <Text style={{ fontSize: 20, fontWeight: 'bold', color: 'white' }}>\n {user?.accessToken\n ? startCase(organizationDetail?.title ?? orgName ?? 'Home')\n : 'Home'}\n </Text>\n )}\n </HStack>\n <HStack>\n {showProfile && headerAnimationOffsetValue === 0 && user?.accessToken && (\n <Button\n bg={'transparent'}\n variant={'solid'}\n rounded={'$md'}\n size={'md'}\n //$pressed-bg={Colors.primaryBgLightColor}\n $pressed-bg={Colors.primaryBgLightColor}\n $active-bg={Colors.primaryBgLightColor}\n // _pressed={{ bg: Colors.primaryBgLightColor }}\n onPress={() => navigation?.navigate(NavigationRoutes.UserAccount)}\n >\n <Avatar key={'profile-image-key'} size={'sm'} bg={'transparent'}>\n <AvatarFallbackText>\n {startCase(user?.profile?.given_name?.charAt(0))}\n </AvatarFallbackText>\n {user?.profile?.picture && (\n <AvatarImage\n alt={'image'}\n style={{\n width: 35,\n height: 30,\n borderRadius: 6,\n borderWidth: 2,\n borderColor: '#fff',\n }}\n source={{\n uri: user?.profile?.picture,\n }}\n />\n )}\n <AvatarBadge bg=\"$green800\" style={{ width: 10, height: 10 }} />\n </Avatar>\n </Button>\n )}\n </HStack>\n </HStack>\n\n <HStack\n px=\"$1\"\n justifyContent=\"space-between\"\n w=\"100%\"\n display={user?.accessToken ? 'flex' : 'none'}\n //style={{ display: user?.accessToken ? 'block' : 'none' }}\n >\n {!showFilter && isSearchBack ? (\n <SearchInputComponent navigation={navigation} inputRef={headerInputRef} />\n ) : (\n showDefaultSearchBox && (\n <DefalutSearchComponent navigation={navigation} showFilter={showFilter} />\n )\n )}\n {user?.accessToken && showFilter && (\n <HStack\n space={'sm'}\n alignItems=\"center\"\n rounded={'$xl'}\n borderColor={'transparent'}\n bg={Colors.primaryBgLightColor}\n borderWidth={'$1'}\n >\n <Button bg={Colors.primaryBgLightColor} rounded={'$sm'} size={'sm'}>\n <Ionicons name={'filter'} size={18} color={'#fff'} />\n </Button>\n </HStack>\n )}\n </HStack>\n\n {/* <HStack space={2} justifyContent=\"space-between\" alignItems=\"center\" w=\"100%\">\n <Box flex={1}>\n <HStack alignItems=\"center\">\n {back ? (\n <IconButton\n onPress={() => navigation.goBack()}\n icon={\n <Icon size={'lg'} as={MaterialIcons} name=\"arrow-back\" color=\"white\" />\n }\n />\n ) : showToggle ? (\n <IconButton\n mx={2}\n px={2}\n py={2}\n size={6}\n bg={Colors.toggleButtonBgColor}\n disabled={!user?.accessToken ? true : false}\n onPress={() => {\n if (user?.accessToken) {\n if (props?.navigation) navigation.toggleDrawer();\n else toggleDrawer();\n }\n }}\n icon={\n <Avatar\n bg={'transparent'}\n size={8}\n _text={{ color: '#000', fontWeight: 600 }}\n >\n {acronym}\n </Avatar>\n }\n />\n ) : (\n <></>\n )}\n\n <Text px={2} color=\"white\" fontSize=\"20\" fontWeight=\"bold\">\n {startCase(title)}\n </Text>\n </HStack>\n </Box>\n <Box>\n <Button\n bg={'transparent'}\n variant={'ghost'}\n _pressed={{ bg: Colors.primaryButtonPressBgColor }}\n >\n <Avatar\n key={'profile-image-key'}\n size={'sm'}\n bg={'transparent'}\n _image={{\n style: {\n width: 30,\n height: 30,\n borderRadius: 6,\n borderWidth: 2,\n borderColor: '#fff',\n },\n }}\n source={{\n uri: user?.profile?.picture,\n }}\n >\n {startCase(user?.profile?.given_name?.charAt(0))}\n <Avatar.Badge bg=\"green.800\" />\n </Avatar>\n </Button>\n </Box>\n </HStack>\n <HStack space={2} justifyContent=\"space-between\" alignItems=\"center\" w=\"100%\">\n <Box flex={1}>\n <Input\n InputLeftElement={\n <IconButton\n size={'sm'}\n onPress={() => navigation.goBack()}\n icon={<Icon size={6} color=\"white\" as={Ionicons} name=\"search\" />}\n />\n }\n InputRightElement={\n <IconButton\n size={'sm'}\n onPress={() => navigation.goBack()}\n icon={<Icon size={'sm'} color=\"white\" as={Ionicons} name=\"mic-outline\" />}\n />\n }\n size=\"md\"\n placeholder=\"Jump to or search...\"\n variant=\"filled\"\n bg={Colors.primaryBgLightColor}\n borderColor={'transparent'}\n rounded={'xl'}\n placeholderTextColor={'white'}\n fontSize={15}\n mx={2}\n px={2}\n w={'85%'}\n />\n </Box>\n <Box>\n {user?.accessToken && showFilter && (\n <IconButton\n bg={Colors.primaryBgLightColor}\n rounded={'xl'}\n size={'md'}\n icon={<Ionicons name={'ios-filter'} size={18} color={'#fff'} />}\n />\n )}\n </Box>\n </HStack> */}\n </VStack>\n )}\n </Animated.View>\n </Box>\n </SafeAreaView>\n </>\n );\n};\n\nexport const DefalutSearchComponent = React.memo(({ navigation, showFilter }: any) => {\n const goToSearch = React.useCallback(() => {\n if (Keyboard) Keyboard.dismiss();\n navigation.navigate(NavigationRoutes.Search);\n }, [navigation]);\n\n return (\n <HStack\n space={'sm'}\n alignItems=\"center\"\n w={showFilter ? '85%' : '100%'}\n rounded={'$xl'}\n borderColor={'transparent'}\n bg={Colors.primaryBgLightColor}\n borderWidth={1}\n >\n <Button bg={'transparent'} size={'xs'} onPress={() => console.log('mic')}>\n <Ionicons size={20} color=\"white\" name=\"search\" />\n </Button>\n <Button\n bg={'transparent'}\n onPress={() => goToSearch()}\n //$pressed-bg={Colors.primaryBgLightColor}\n $pressed-bg={Colors.primaryBgLightColor}\n $active-bg={Colors.primaryBgLightColor}\n //_pressed={{ bg: Colors.primaryBgLightColor }}\n flex={1}\n variant={'solid'}\n pl={'$0'}\n justifyContent={'flex-start'}\n >\n <ButtonText style={{ fontSize: 15, color: 'white' }}>Jump to or search....</ButtonText>\n </Button>\n\n <Button bg={'transparent'} size={'xs'} onPress={() => console.log('mic')}>\n <Ionicons size={20} color=\"white\" name=\"mic-outline\" />\n </Button>\n </HStack>\n );\n});\n\nexport const SearchInputComponent = React.memo(({ navigation, inputRef }: any) => {\n const goBack = React.useCallback(() => {\n Keyboard.dismiss();\n if (inputRef.current) inputRef.current = null;\n navigation.goBack(null);\n }, [navigation, inputRef]);\n\n return (\n <HStack\n space={'sm'}\n alignItems=\"center\"\n w={'100%'}\n rounded={'$xl'}\n borderColor={'transparent'}\n bg={Colors.primaryBgLightColor}\n borderWidth={'$1'}\n $light-borderColor={'transparent'}\n $dark-borderColor={'transparent'}\n flex={1}\n >\n <Input ref={inputRef} flex={1} w={'100%'} bg={Colors.primaryBgLightColor} borderColor={'transparent'}>\n <InputSlot pl=\"$3\">\n <Button bg={'transparent'} size={'xs'} onPress={() => goBack()}>\n <Ionicons size={20} name=\"chevron-back-sharp\" color=\"white\" />\n </Button>\n </InputSlot>\n <InputField\n placeholder=\"Jump to or search...\"\n bg={Colors.primaryBgLightColor}\n borderColor={'transparent'}\n rounded={'$xl'}\n placeholderTextColor={'white'}\n style={{ fontSize: 15 }}\n autoFocus={true}\n />\n <InputSlot pr=\"$3\">\n <Button bg={'transparent'} size={'xs'} onPress={() => console.log('mic')}>\n <Ionicons size={20} color=\"white\" name=\"mic-outline\" />\n </Button>\n </InputSlot>\n </Input>\n\n {/* <Input\n ref={inputRef}\n InputLeftElement={\n <>\n <Button bg={'transparent'} onPress={() => goBack()}>\n <Ionicons size={20} name=\"md-chevron-back-sharp\" color=\"white\" />\n </Button>\n </>\n }\n InputRightElement={\n <Button bg={'transparent'} size={'sm'} onPress={() => console.log('mic')}>\n <Ionicons size={20} color=\"white\" name=\"mic-outline\" />\n </Button>\n }\n placeholder=\"Jump to or search...\"\n bg={Colors.primaryBgLightColor}\n borderColor={'transparent'}\n rounded={'xl'}\n placeholderTextColor={'white'}\n fontSize={15}\n autoFocus={true}\n /> */}\n </HStack>\n );\n});\n\n// const NavigationHeader = (props: any) => {\n// const user: any = useSelector<Store.Auth, IUserState>(userSelector);\n// return !user?.accessToken ? (\n// <>\n// <StatusBar style={props?.statusBarType ?? 'light'} />\n// <SafeAreaView>\n// <Box\n// bg={props?.headerBgColor ?? Colors.primaryBgColor}\n// style={props?.options?.headerStyle ?? {}}\n// pb={'$4'}\n// />\n// </SafeAreaView>\n// </>\n// ) : (\n// <CustomNavigationHeader {...props} />\n// );\n// };\n\nconst NavigationHeader = (props: any) => {\n const user: any = useSelector<Store.Auth, IUserState>(userSelector);\n return !user?.accessToken ? (\n <Box bg={props?.headerBgColor ?? Colors.primaryBgColor} style={props?.options?.headerStyle ?? {}} pb={'$2'} />\n ) : (\n <CustomNavigationHeader {...props} />\n );\n};\n\nexport default React.memo(NavigationHeader);\n"],"names":["Colors","_a","_b","React"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAeoB,UAAA,CAAW,GAAI,CAAA,QAAQ,CAAE,CAAA;AACxB,UAAA,CAAW,GAAI,CAAA,QAAQ,CAAE,CAAA;AAC9C,MAAM,sBAAA,GAAyB,CAAC,EAkBrB,KAAA;AAlBqB,EAC9B,IAAA,EAAA,GAAA,EAAA,EAAA;AAAA,IAAA,UAAA;AAAA,IACA,KAAA;AAAA,IACA,OAAA;AAAA,IACA,IAAA;AAAA,IACA,YAAe,GAAA,OAAA;AAAA,IACf,UAAa,GAAA,IAAA;AAAA,IACb,UAAa,GAAA,IAAA;AAAA,IACb,YAAe,GAAA,IAAA;AAAA,IACf,SAAY,GAAA,IAAA;AAAA,IACZ,UAAa,GAAA,OAAA;AAAA,IACb,qBAAwB,GAAA,KAAA;AAAA,IACxB,WAAc,GAAA,IAAA;AAAA,IACd,YAAe,GAAA,IAAA;AAAA,IACf,oBAAuB,GAAA,IAAA;AAAA,IACvB,aAAgB,GAAA,OAAA;AAAA,IAChB,gBAAgBA,MAAO,CAAA;AAAA,GAjCzB,GAiBgC,EAiB3B,EAAA,KAAA,GAAA,SAAA,CAjB2B,EAiB3B,EAAA;AAAA,IAhBH,YAAA;AAAA,IACA,OAAA;AAAA,IACA,SAAA;AAAA,IACA,MAAA;AAAA,IACA,cAAA;AAAA,IACA,YAAA;AAAA,IACA,YAAA;AAAA,IACA,cAAA;AAAA,IACA,WAAA;AAAA,IACA,YAAA;AAAA,IACA,uBAAA;AAAA,IACA,aAAA;AAAA,IACA,cAAA;AAAA,IACA,sBAAA;AAAA,IACA,eAAA;AAAA,IACA;AAAA,GAAA,CAAA;AAjCF,EAAA,IAAAC,KAAAC,GAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA;AAoCE,EAAA,MAAM,CAAC,cAAgB,EAAA,iBAAiB,CAAI,GAAAC,cAAA,CAAM,SAAc,aAAa,CAAA;AAC7E,EAAM,MAAA;AAAA,IACJ,OAAA;AAAA,IACA,kBAAA;AAAA,IACA,IAAA;AAAA,IACA,OAAA;AAAA,IACA;AAAA,MACE,eAAgB,EAAA;AAEpB,EAAM,MAAA,cAAA,GAAiBA,cAAM,CAAA,MAAA,CAAO,IAAI,CAAA;AACxC,EAAM,MAAA,IAAA,GAAY,YAAoC,YAAY,CAAA;AAClE,EAAM,MAAA,MAAA,GAASA,eAAM,MAAO,CAAA,IAAI,SAAS,KAAM,CAAA,0BAA0B,CAAC,CAAE,CAAA,OAAA;AAE5E,EAAM,MAAA,KAAA,GAAA,CAAQD,OAAAD,GAAA,GAAA,cAAA,KAAA,IAAA,GAAA,MAAA,GAAAA,IAAiB,OAAS,EAAA,KAAA,CAAM,IAAhC,CAAA,KAAA,IAAA,GAAAC,GAAyC,GAAA,MAAA;AACvD,EAAA,MAAM,WAAe,IAAM,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAA,WAAA,KAAe,qBAAyB,KAAA,kBAAA,IAAA,IAAA,GAAA,MAAA,GAAA,kBAAA,CAAoB,UAAQ,EAAoB,GAAA,CAAA,EAAA,GAAA,kBAAA,IAAA,IAAA,GAAA,MAAA,GAAA,kBAAA,CAAA,KAAA,KAApB,IAA2B,GAAA,MAAA,GAAA,EAAA,CAAA,KAAA,CAAM,eAAjC,IAA+C,GAAA,EAAA,GAAA,OAAA,GAAA,CAAU,EAAO,GAAA,KAAA,IAAA,IAAA,GAAA,MAAA,GAAA,KAAA,CAAA,KAAA,CAAM,eAAb,IAA2B,GAAA,EAAA,GAAA,EAAA;AACnL,EAAA,MAAM,OAAe,GAAA,KAAA,CAAM,OAAQ,CAAA,OAAO,CAAI,GAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,OAAA,IAAA,IAAA,GAAA,MAAA,GAAA,OAAA,CAAS,IAAK,CAAA,EAAA,CAAA,KAAd,IAAmB,GAAA,MAAA,GAAA,EAAA,CAAA,SAAA,CAAU,CAAG,EAAA,CAAA,CAAA,KAAhC,mBAAoC,WAAgB,EAAA,GAAA,EAAA;AAClG,EAAA,MAAM,sBAAsB,QAAO,OAAA,IAAA,IAAA,GAAA,MAAA,GAAA,OAAA,CAAS,WAAgB,CAAA,KAAA,QAAA,IAAA,CAAY,mCAAS,WAAuB,aAAA,MAAA;AACxG,EAAAC,cAAA,CAAM,UAAU,MAAM;AACpB,IAAA,IAAI,8BAA8B,MAAQ,EAAA;AACxC,MAAA,MAAA,CAAO,SAAS,0BAA0B,CAAA;AAAA;AAC5C,GACF,EAAG,CAAC,0BAA0B,CAAC,CAAA;AAC/B,EAAAA,cAAA,CAAM,UAAU,MAAM;AACpB,IAAI,IAAA,IAAA;AAAM,MAAA,iBAAA,CAAkB,MAAM,CAAA;AAAA;AAAO,MAAA,iBAAA,CAAkB,aAAa,CAAA;AAAA,GACvE,EAAA,CAAC,IAAM,EAAA,aAAa,CAAC,CAAA;AACxB,EAAM,MAAA,YAAA,GAAeA,cAAM,CAAA,WAAA,CAAY,MAAM;AAC3C,IAAQ,OAAA,CAAA,CAAC,GAAiB,KAAA,CAAC,GAAG,CAAA;AAAA,GAChC,EAAG,EAAE,CAAA;AAKL,EAAO,uBAAAA,cAAA,CAAA,aAAA,CAAAA,cAAA,CAAA,QAAA,EAAA,IAAA,kBACIA,cAAA,CAAA,aAAA,CAAA,SAAA,EAAA,EAAU,KAAO,EAAA,cAAA,EAAgB,mBAEjCA,cAAA,CAAA,aAAA,CAAA,YAAA,EAAA,EAAa,EAAI,EAAA,aAAA,EAAA,kBACbA,cAAA,CAAA,aAAA,CAAA,GAAA,EAAA,EAAI,IAAI,aAAe,EAAA,KAAA,EAAA,CAAO,EAAS,GAAA,OAAA,IAAA,IAAA,GAAA,MAAA,GAAA,OAAA,CAAA,WAAA,KAAT,IAAwB,GAAA,EAAA,GAAA,sBAClDA,cAAA,CAAA,aAAA,CAAA,QAAA,CAAS,IAAT,EAAA,EAAc,KAAO,EAAA;AAAA,IAChC,WAAW,CAAC;AAAA,MACV,UAAA,EAAY,OAAO,WAAY,CAAA;AAAA,QAC7B,UAAA,EAAY,CAAC,GAAA,EAAK,GAAG,CAAA;AAAA,QACrB,WAAA,EAAa,CAAC,CAAA,EAAG,EAAE,CAAA;AAAA,QACnB,eAAiB,EAAA;AAAA,OAClB;AAAA,KACF;AAAA,GACH,EAAA,EACiB,+BAAgBA,cAAA,CAAA,aAAA,CAAA,MAAA,EAAA,EAAO,IAAI,aAAe,EAAA,EAAA,EAAG,MAAK,EAAG,EAAA,IAAA,EAAK,gBAAe,eAAgB,EAAA,UAAA,EAAW,UAAS,CAAE,EAAA,MAAA,EAAO,MAAM,CACpH,EAAA,EAAA,YACL,CAAY,mBAAAA,cAAA,CAAA,aAAA,CAAC,MAAO,EAAA,EAAA,EAAA,EAAI,eAAe,EAAG,EAAA,IAAA,EAAK,IAAG,IAAK,EAAA,KAAA,EAAO,wBACzDA,cAAA,CAAA,aAAA,CAAA,MAAA,EAAA,EAAO,IAAG,IAAK,EAAA,cAAA,EAAe,iBAAgB,CAAE,EAAA,MAAA,EAAA,+CAC5C,MAAO,EAAA,EAAA,KAAA,EAAO,MAAM,UAAW,EAAA,QAAA,EAAS,CAAG,EAAA,KAAA,EAAO,OAAS,EAAA,KAAA,EAAA,EACvD,uBAAQA,cAAA,CAAA,aAAA,CAAA,MAAA,EAAA,EAAO,MAAM,IAAM,EAAA,EAAA,EAAI,eAAe,OAAS,EAAA,MAAM,WAAW,MAAO,EAAA,EAAA,+CACvE,QAAS,EAAA,EAAA,IAAA,EAAM,IAAI,IAAK,EAAA,oBAAA,EAAqB,OAAO,YAAc,EAAA,CACvE,CAAY,GAAA,UAAA,IAAc,0BAA+B,KAAA,CAAA,gDAAK,MAAO,EAAA,EAAA,EAAA,EAAI,QAAQ,EAAI,EAAA,MAAA,EAAQ,SAAS,OAAS,EAAA,IAAA,EAAM,IAAM,EAAA,UAAA,EAAW,QAAS,EAAA,YAAA,EAAc,OAAO,EAAI,EAAAH,MAAA,CAAO,qBAAqB,QAAU,EAAA,EAAC,6BAAM,WAAc,CAAA,GAAA,IAAA,GAAO,KAAO,EAAA,OAAA,EAAS,MAAM;AAC1R,IAAA,IAAI,6BAAM,WAAa,EAAA;AACrB,MAAA,IAAI,KAAO,IAAA,IAAA,GAAA,MAAA,GAAA,KAAA,CAAA,UAAA;AAAY,QAAA,UAAA,CAAW,YAAa,EAAA;AAAA;AAAO,QAAa,YAAA,EAAA;AAAA;AACrE,GAE8B,EAAA,kBAAAG,cAAA,CAAA,aAAA,CAAC,UAAW,EAAA,EAAA,EAAA,EAAI,MAAM,KAAO,EAAA;AAAA,IACzD,KAAO,EAAA,MAAA;AAAA,IACP,UAAY,EAAA;AAAA,GACd,EAAA,EACmC,SAAU,CAAA,OAAO,CACtB,CAMJ,CAAY,mBAAAA,cAAA,CAAA,aAAA,CAAAA,cAAA,CAAA,QAAA,EAAA,IAAE,CACjB,EAAA,CAAC,mBAAuB,KAAA,CAAA,EAAA,GAAA,OAAA,IAAA,IAAA,GAAA,MAAA,GAAA,OAAA,CAAS,WAAT,KAAA,IAAA,GAAA,MAAA,GAAA,EAAA,CAAA,IAAA,CAAA,OAAA,CAAA,CAAA,IAA4B,+BAA+B,CAAK,oBAAAA,cAAA,CAAA,aAAA,CAAC,GAAK,EAAA,IAAA,EAAA,CAAA,EAAA,GAAA,OAAA,IAAA,IAAA,GAAA,MAAA,GAAA,OAAA,CAAS,WAAT,KAAA,IAAA,GAAA,MAAA,GAAA,EAAA,CAAA,IAAA,CAAA,OAAA,CAAyB,CACvH,EAAA,SAAA,IAAa,0BAA+B,KAAA,CAAA,oBAAMA,cAAA,CAAA,aAAA,CAAA,IAAA,EAAA,EAAK,KAAO,EAAA;AAAA,IACrF,QAAU,EAAA,EAAA;AAAA,IACV,UAAY,EAAA,MAAA;AAAA,IACZ,KAAO,EAAA;AAAA,GACT,EAAA,EACiC,SAAU,CAAA,KAAK,CACpB,CAAA,EAEH,yBAAyB,0BAA+B,KAAA,CAAA,oBAAMA,cAAA,CAAA,aAAA,CAAA,IAAA,EAAA,EAAK,KAAO,EAAA;AAAA,IACjG,QAAU,EAAA,EAAA;AAAA,IACV,UAAY,EAAA,MAAA;AAAA,IACZ,KAAO,EAAA;AAAA,GACT,EAAA,EAAA,CACiC,6BAAM,WAAc,IAAA,SAAA,CAAA,CAAU,oEAAoB,KAApB,KAAA,IAAA,GAAA,EAAA,GAA6B,YAA7B,IAAwC,GAAA,EAAA,GAAA,MAAM,IAAI,MACrF,CACR,mBACCA,cAAA,CAAA,aAAA,CAAA,MAAA,EAAA,IAAA,EACI,eAAe,0BAA+B,KAAA,CAAA,KAAK,6BAAM,WAAe,CAAA,oBAAAA,cAAA,CAAA,aAAA;AAAA,IAAC,MAAA;AAAA,IAAA;AAAA,MAAO,EAAI,EAAA,aAAA;AAAA,MAAe,OAAS,EAAA,OAAA;AAAA,MAAS,OAAS,EAAA,KAAA;AAAA,MAAO,IAAM,EAAA,IAAA;AAAA,MAEpK,eAAaH,MAAO,CAAA,mBAAA;AAAA,MAAqB,cAAYA,MAAO,CAAA,mBAAA;AAAA,MAE5D,OAAS,EAAA,MAAM,UAAY,IAAA,IAAA,GAAA,MAAA,GAAA,UAAA,CAAA,QAAA,CAAS,gBAAiB,CAAA,WAAA;AAAA,KAAA;AAAA,oBACpBG,cAAA,CAAA,aAAA,CAAA,MAAA,EAAA,EAAO,GAAK,EAAA,mBAAA,EAAqB,IAAM,EAAA,IAAA,EAAM,EAAI,EAAA,aAAA,EAAA,kBAC7CA,cAAA,CAAA,aAAA,CAAA,kBAAA,EAAA,IAAA,EACI,SAAU,CAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAM,OAAN,KAAA,IAAA,GAAA,MAAA,GAAA,EAAA,CAAe,UAAf,KAAA,IAAA,GAAA,MAAA,GAAA,EAAA,CAA2B,MAAO,CAAA,CAAA,CAAE,CACnD,CAAA,EAAA,CAAA,CACC,EAAM,GAAA,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAA,OAAA,KAAN,IAAe,GAAA,MAAA,GAAA,EAAA,CAAA,OAAA,qBAAYA,cAAA,CAAA,aAAA,CAAA,WAAA,EAAA,EAAY,GAAK,EAAA,OAAA,EAAS,KAAO,EAAA;AAAA,MAC3F,KAAO,EAAA,EAAA;AAAA,MACP,MAAQ,EAAA,EAAA;AAAA,MACR,YAAc,EAAA,CAAA;AAAA,MACd,WAAa,EAAA,CAAA;AAAA,MACb,WAAa,EAAA;AAAA,OACZ,MAAQ,EAAA;AAAA,MACT,GAAA,EAAA,CAAK,EAAM,GAAA,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAA,OAAA,KAAN,IAAe,GAAA,MAAA,GAAA,EAAA,CAAA;AAAA,OACnB,CAC6B,kBAAAA,cAAA,CAAA,aAAA,CAAC,WAAY,EAAA,EAAA,EAAA,EAAG,aAAY,KAAO,EAAA;AAAA,MACjE,KAAO,EAAA,EAAA;AAAA,MACP,MAAQ,EAAA;AAAA,OACP,CACyB;AAAA,GAEZ,CACJ,CAEA,kBAAAA,cAAA,CAAA,aAAA;AAAA,IAAC,MAAA;AAAA,IAAA;AAAA,MAAO,EAAG,EAAA,IAAA;AAAA,MAAK,cAAe,EAAA,eAAA;AAAA,MAAgB,CAAE,EAAA,MAAA;AAAA,MAAO,OAAA,EAAA,CAAS,IAAM,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAA,WAAA,IAAc,MAAS,GAAA;AAAA,KAAA;AAAA,IAGzF,CAAC,UAAA,IAAc,YAAe,mBAAAA,cAAA,CAAA,aAAA,CAAC,oBAAqB,EAAA,EAAA,UAAA,EAAwB,QAAU,EAAA,cAAA,EAAgB,CAAK,GAAA,oBAAA,oBAAyBA,cAAA,CAAA,aAAA,CAAA,sBAAA,EAAA,EAAuB,YAAwB,UAAwB,EAAA,CAAA;AAAA,IAAA,CAC3M,6BAAM,WAAe,KAAA,UAAA,oBAAeA,cAAA,CAAA,aAAA,CAAA,MAAA,EAAA,EAAO,OAAO,IAAM,EAAA,UAAA,EAAW,QAAS,EAAA,OAAA,EAAS,OAAO,WAAa,EAAA,aAAA,EAAe,EAAI,EAAAH,MAAA,CAAO,qBAAqB,WAAa,EAAA,IAAA,EAAA,kBAC7JG,cAAA,CAAA,aAAA,CAAA,MAAA,EAAA,EAAO,IAAIH,MAAO,CAAA,mBAAA,EAAqB,OAAS,EAAA,KAAA,EAAO,MAAM,IAC1D,EAAA,kBAAAG,cAAA,CAAA,aAAA,CAAC,QAAS,EAAA,EAAA,IAAA,EAAM,UAAU,IAAM,EAAA,EAAA,EAAI,KAAO,EAAA,MAAA,EAAQ,CACvD,CACJ;AAAA,GAmHZ,CACR,CACJ,CACJ,CACJ,CAAA;AACR,CAAA;AACa,MAAA,sBAAA,GAAyBA,cAAM,CAAA,IAAA,CAAK,CAAC;AAAA,EAChD,UAAA;AAAA,EACA;AACF,CAAW,KAAA;AACT,EAAM,MAAA,UAAA,GAAaA,cAAM,CAAA,WAAA,CAAY,MAAM;AACzC,IAAI,IAAA,QAAA;AAAU,MAAA,QAAA,CAAS,OAAQ,EAAA;AAC/B,IAAW,UAAA,CAAA,QAAA,CAAS,iBAAiB,MAAM,CAAA;AAAA,GAC7C,EAAG,CAAC,UAAU,CAAC,CAAA;AACf,EAAA,oDAAQ,MAAO,EAAA,EAAA,KAAA,EAAO,MAAM,UAAW,EAAA,QAAA,EAAS,GAAG,UAAa,GAAA,KAAA,GAAQ,MAAQ,EAAA,OAAA,EAAS,OAAO,WAAa,EAAA,aAAA,EAAe,IAAIH,MAAO,CAAA,mBAAA,EAAqB,aAAa,CAC/J,EAAA,kBAAAG,cAAA,CAAA,aAAA,CAAC,MAAO,EAAA,EAAA,EAAA,EAAI,eAAe,IAAM,EAAA,IAAA,EAAM,SAAS,MAAM,OAAA,CAAQ,IAAI,KAAK,CAAA,EAAA,kBAClEA,cAAA,CAAA,aAAA,CAAA,QAAA,EAAA,EAAS,MAAM,EAAI,EAAA,KAAA,EAAM,SAAQ,IAAK,EAAA,QAAA,EAAS,CACpD,CACA,kBAAAA,cAAA,CAAA,aAAA;AAAA,IAAC,MAAA;AAAA,IAAA;AAAA,MAAO,EAAI,EAAA,aAAA;AAAA,MAAe,OAAA,EAAS,MAAM,UAAW,EAAA;AAAA,MAE7D,eAAaH,MAAO,CAAA,mBAAA;AAAA,MAAqB,cAAYA,MAAO,CAAA,mBAAA;AAAA,MAE5D,IAAM,EAAA,CAAA;AAAA,MAAG,OAAS,EAAA,OAAA;AAAA,MAAS,EAAI,EAAA,IAAA;AAAA,MAAM,cAAgB,EAAA;AAAA,KAAA;AAAA,oBACzCG,cAAA,CAAA,aAAA,CAAC,cAAW,KAAO,EAAA;AAAA,MAC3B,QAAU,EAAA,EAAA;AAAA,MACV,KAAO,EAAA;AAAA,SACN,uBAAqB;AAAA,GAClB,+CAEC,MAAO,EAAA,EAAA,EAAA,EAAI,eAAe,IAAM,EAAA,IAAA,EAAM,OAAS,EAAA,MAAM,OAAQ,CAAA,GAAA,CAAI,KAAK,CACnE,EAAA,kBAAAA,cAAA,CAAA,aAAA,CAAC,YAAS,IAAM,EAAA,EAAA,EAAI,OAAM,OAAQ,EAAA,IAAA,EAAK,aAAc,EAAA,CACzD,CACJ,CAAA;AACR,CAAC;AACY,MAAA,oBAAA,GAAuBA,cAAM,CAAA,IAAA,CAAK,CAAC;AAAA,EAC9C,UAAA;AAAA,EACA;AACF,CAAW,KAAA;AACT,EAAM,MAAA,MAAA,GAASA,cAAM,CAAA,WAAA,CAAY,MAAM;AACrC,IAAA,QAAA,CAAS,OAAQ,EAAA;AACjB,IAAA,IAAI,QAAS,CAAA,OAAA;AAAS,MAAA,QAAA,CAAS,OAAU,GAAA,IAAA;AACzC,IAAA,UAAA,CAAW,OAAO,IAAI,CAAA;AAAA,GACrB,EAAA,CAAC,UAAY,EAAA,QAAQ,CAAC,CAAA;AACzB,EAAA,uBAAQA,cAAA,CAAA,aAAA,CAAA,MAAA,EAAA,EAAO,KAAO,EAAA,IAAA,EAAM,YAAW,QAAS,EAAA,CAAA,EAAG,MAAQ,EAAA,OAAA,EAAS,OAAO,WAAa,EAAA,aAAA,EAAe,EAAI,EAAAH,MAAA,CAAO,qBAAqB,WAAa,EAAA,IAAA,EAAM,oBAAoB,EAAA,aAAA,EAAe,qBAAmB,aAAe,EAAA,IAAA,EAAM,CAC3N,EAAA,kBAAAG,cAAA,CAAA,aAAA,CAAC,SAAM,GAAK,EAAA,QAAA,EAAU,IAAM,EAAA,CAAA,EAAG,GAAG,MAAQ,EAAA,EAAA,EAAIH,MAAO,CAAA,mBAAA,EAAqB,aAAa,aACnF,EAAA,kBAAAG,cAAA,CAAA,aAAA,CAAC,SAAU,EAAA,EAAA,EAAA,EAAG,IACV,EAAA,kBAAAA,cAAA,CAAA,aAAA,CAAC,MAAO,EAAA,EAAA,EAAA,EAAI,eAAe,IAAM,EAAA,IAAA,EAAM,OAAS,EAAA,MAAM,QAClD,EAAA,kBAAAA,cAAA,CAAA,aAAA,CAAC,QAAS,EAAA,EAAA,IAAA,EAAM,IAAI,IAAK,EAAA,oBAAA,EAAqB,KAAM,EAAA,OAAA,EAAQ,CAChE,CACJ,CAAA,kBACCA,cAAA,CAAA,aAAA,CAAA,UAAA,EAAA,EAAW,aAAY,sBAAuB,EAAA,EAAA,EAAIH,MAAO,CAAA,mBAAA,EAAqB,aAAa,aAAe,EAAA,OAAA,EAAS,KAAO,EAAA,oBAAA,EAAsB,SAAS,KAAO,EAAA;AAAA,IACzK,QAAU,EAAA;AAAA,GACT,EAAA,SAAA,EAAW,IAAM,EAAA,CAAA,kBACTG,cAAA,CAAA,aAAA,CAAA,SAAA,EAAA,EAAU,EAAG,EAAA,IAAA,EAAA,kBACTA,cAAA,CAAA,aAAA,CAAA,MAAA,EAAA,EAAO,EAAI,EAAA,aAAA,EAAe,MAAM,IAAM,EAAA,OAAA,EAAS,MAAM,OAAA,CAAQ,GAAI,CAAA,KAAK,CACnE,EAAA,kBAAAA,cAAA,CAAA,aAAA,CAAC,YAAS,IAAM,EAAA,EAAA,EAAI,KAAM,EAAA,OAAA,EAAQ,IAAK,EAAA,aAAA,EAAc,CACzD,CACJ,CACJ,CAwBJ,CAAA;AACR,CAAC;AAoBD,MAAM,gBAAA,GAAmB,CAAC,KAAe,KAAA;AAzXzC,EAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA;AA0XE,EAAM,MAAA,IAAA,GAAY,YAAoC,YAAY,CAAA;AAClE,EAAO,OAAA,EAAC,IAAM,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAA,WAAA,CAAA,mBAAeA,cAAA,CAAA,aAAA,CAAA,GAAA,EAAA,EAAI,KAAI,EAAO,GAAA,KAAA,IAAA,IAAA,GAAA,MAAA,GAAA,KAAA,CAAA,aAAA,KAAP,IAAwB,GAAA,EAAA,GAAAH,MAAA,CAAO,cAAgB,EAAA,KAAA,EAAA,CAAO,0CAAO,OAAP,KAAA,IAAA,GAAA,MAAA,GAAA,EAAA,CAAgB,WAAhB,KAAA,IAAA,GAAA,EAAA,GAA+B,EAAC,EAAG,IAAI,IAAM,EAAA,CAAA,mBAAMG,cAAA,CAAA,aAAA,CAAA,sBAAA,EAAA,cAAA,CAAA,EAAA,EAA2B,KAAO,CAAA,CAAA;AAClL,CAAA;AACA,yBAAeA,cAAA,CAAM,KAAK,gBAAgB,CAAA"}
|
|
1
|
+
{"version":3,"file":"NavigationHeader.js","sources":["../../../src/components/NavigationHeader/NavigationHeader.tsx"],"sourcesContent":["import { useNavigation, useFocusEffect } from '@react-navigation/core';\nimport React from 'react';\nimport { Pressable, View, Dimensions, Keyboard, Animated, SafeAreaView, Platform } from 'react-native';\nimport {\n VStack,\n HStack,\n Input,\n InputField,\n InputSlot,\n Button,\n ButtonText,\n Icon,\n Text,\n Center,\n Box,\n Image,\n Avatar,\n AvatarFallbackText,\n AvatarImage,\n AvatarBadge,\n AvatarGroup,\n} from '@admin-layout/gluestack-ui-mobile';\nimport { StatusBar } from 'expo-status-bar';\nimport { getHeaderTitle } from '@react-navigation/elements';\nimport { Ionicons, MaterialIcons } from '@expo/vector-icons';\nimport { useDrawerLayout } from '../../hooks/useDrawerLayout';\nimport { useSelector, shallowEqual } from 'react-redux';\nimport { IUserState } from '@adminide-stack/core';\nimport { Store, userSelector } from '@adminide-stack/user-auth0-client';\nimport { NavigationRoutes } from '../../constants/routes';\nimport { startCase } from 'lodash-es';\nimport Colors from '../../constants/Colors';\nimport { navigationRef } from '@common-stack/client-react';\nconst windowWidth = Dimensions.get('window').width;\nconst windowHeight = Dimensions.get('window').height;\n\nconst CustomNavigationHeader = ({\n navigation,\n route,\n options,\n back,\n backBtnColor = 'white',\n showToggle = null,\n showFilter = null,\n customHeader = null,\n showTitle = true,\n titleColor = 'white',\n showOrganizationTitle = false,\n showProfile = true,\n isSearchBack = null,\n showDefaultSearchBox = true,\n statusBarType = 'light',\n headerBgColor = Colors.primaryBgColor,\n ...props\n}: any) => {\n const [statusBarStyle, setStatusBarStyle] = React.useState<any>(statusBarType);\n const { orgName, organizationDetail, open, setOpen, headerAnimationOffsetValue } = useDrawerLayout();\n //const user = useSelector((state: any) => state?.user);\n const headerInputRef = React.useRef(null);\n const user: any = useSelector<Store.Auth, IUserState>(userSelector, shallowEqual);\n const offset = React.useRef(new Animated.Value(headerAnimationOffsetValue)).current;\n // const title = user?.accessToken ? getHeaderTitle?.(options, route.name) ?? 'Home' : 'Home';\n const title = getHeaderTitle?.(options, route.name) ?? 'Home';\n const matches: any =\n user?.accessToken && showOrganizationTitle && organizationDetail?.title\n ? organizationDetail?.title?.match(/\\b(\\w)/g) ?? orgName\n : title?.match(/\\b(\\w)/g) ?? '';\n const acronym: any = Array.isArray(matches) ? matches?.join('')?.substring(0, 2)?.toUpperCase() : ''; // JSON\n const isHeaderTitleString = typeof options?.headerTitle === 'string' || options?.headerTitle instanceof String;\n React.useEffect(() => {\n if (headerAnimationOffsetValue && offset) {\n offset.setValue(headerAnimationOffsetValue);\n }\n }, [headerAnimationOffsetValue]);\n\n React.useEffect(() => {\n if (open) setStatusBarStyle('dark');\n else setStatusBarStyle(statusBarType);\n }, [open, statusBarType]);\n\n const toggleDrawer = React.useCallback(() => {\n setOpen((pre: boolean) => !pre);\n }, []);\n // const toggleDrawer = () => {\n // setOpen((pre: boolean) => !pre);\n // };\n\n return (\n <>\n <StatusBar style={statusBarStyle} />\n {/* <StatusBar backgroundColor={'black'} barStyle={'light-content'} /> */}\n <SafeAreaView style={{ backgroundColor: headerBgColor }}>\n <Box className={`bg-[${headerBgColor}]`} style={options?.headerStyle ?? {}}>\n <Animated.View\n style={{\n transform: [\n {\n translateY: offset.interpolate({\n inputRange: [100, 200],\n outputRange: [0, -1],\n extrapolateLeft: 'clamp',\n }),\n },\n ],\n }}\n >\n {customHeader ? (\n <HStack\n className={`bg-[${headerBgColor}] px-1 py-3 justify-between items-center w-full flex-1`}\n >\n {customHeader}\n </HStack>\n ) : (\n <VStack className={`bg-[${headerBgColor}] py-3 px-2`} space={'sm'}>\n <HStack className=\"px-1 justify-between w-full\">\n <HStack space={'sm'} className=\"items-center w-[85%] rounded-xl\">\n {back ? (\n <Button\n size={'sm'}\n className=\"bg-transparent\"\n //onPress={() => navigation.goBack()}\n onPress={() => {\n if (Platform.OS === 'macos') {\n navigation.navigate('MainStack', {\n screen: NavigationRoutes.Home,\n params: { orgName },\n });\n } else if (navigation.canGoBack()) {\n navigation.goBack();\n } else {\n navigation.navigate('MainStack', {\n screen: NavigationRoutes.Home,\n params: { orgName },\n });\n }\n }}\n >\n <Ionicons size={30} name=\"chevron-back-sharp\" color={backBtnColor} />\n </Button>\n ) : showToggle && headerAnimationOffsetValue === 0 ? (\n <Button\n variant={'solid'}\n size={'xs'}\n className={`px-2 py-0.5 items-center rounded-md bg-white`}\n disabled={!user?.accessToken ? true : false}\n onPress={() => {\n if (user?.accessToken) {\n if (props?.navigation) navigation.toggleDrawer();\n else toggleDrawer();\n }\n }}\n >\n <ButtonText\n className=\"py-0\"\n style={{ color: '#000', fontWeight: '600' }}\n >\n {startCase(acronym)}\n </ButtonText>\n {/* <Avatar bg={'transparent'}>\n <AvatarFallbackText style={{ color: '#000', fontWeight: '600' }}>\n {startCase(acronym)}\n </AvatarFallbackText>\n </Avatar> */}\n </Button>\n ) : (\n <></>\n )}\n {!isHeaderTitleString &&\n options?.headerTitle?.() &&\n headerAnimationOffsetValue === 0 && <Box>{options?.headerTitle?.()}</Box>}\n {showTitle && headerAnimationOffsetValue === 0 && (\n <Text style={{ fontSize: 20, fontWeight: 'bold', color: titleColor }}>\n {startCase(title)}\n </Text>\n )}\n\n {showOrganizationTitle && headerAnimationOffsetValue === 0 && (\n <Text style={{ fontSize: 20, fontWeight: 'bold', color: 'white' }}>\n {user?.accessToken\n ? startCase(organizationDetail?.title ?? orgName ?? 'Home')\n : 'Home'}\n </Text>\n )}\n </HStack>\n <HStack>\n {showProfile && headerAnimationOffsetValue === 0 && user?.accessToken && (\n <Button\n variant={'solid'}\n size={'md'}\n className={`bg-transparent rounded-none active:bg-[${Colors.primaryBgLightColor}] hover:bg-[${Colors.primaryBgLightColor}]`}\n // _pressed={{ bg: Colors.primaryBgLightColor }}\n onPress={() => navigation?.navigate(NavigationRoutes.UserAccount)}\n >\n <Avatar\n key={'profile-image-key'}\n size={'sm'}\n className=\"bg-transparent\"\n style={{ borderRadius: 'none' }}\n >\n <AvatarFallbackText>\n {startCase(user?.profile?.given_name?.charAt(0))}\n </AvatarFallbackText>\n {user?.profile?.picture && (\n <AvatarImage\n alt={'image'}\n style={{\n width: 35,\n height: 30,\n // borderRadius: 6,\n // borderWidth: 2,\n borderColor: '#fff',\n }}\n source={{\n uri: user?.profile?.picture,\n }}\n className=\"rounded-none\"\n />\n )}\n <AvatarBadge\n className=\"bg-green-800\"\n style={{ width: 10, height: 10 }}\n />\n </Avatar>\n </Button>\n )}\n </HStack>\n </HStack>\n\n <HStack\n className={`px-1 justify-between w-full ${user?.accessToken ? 'flex' : 'hidden'}`}\n //style={{ display: user?.accessToken ? 'block' : 'none' }}\n >\n {!showFilter && isSearchBack ? (\n <SearchInputComponent navigation={navigation} inputRef={headerInputRef} />\n ) : (\n showDefaultSearchBox && (\n <DefalutSearchComponent navigation={navigation} showFilter={showFilter} />\n )\n )}\n {user?.accessToken && showFilter && (\n <Button className={`bg-pink-500 rounded-sm`} size={'sm'}>\n <Ionicons name={'filter'} size={18} color={'#fff'} />\n </Button>\n )}\n </HStack>\n\n {/* <HStack space={2} justifyContent=\"space-between\" alignItems=\"center\" w=\"100%\">\n <Box flex={1}>\n <HStack alignItems=\"center\">\n {back ? (\n <IconButton\n onPress={() => navigation.goBack()}\n icon={\n <Icon size={'lg'} as={MaterialIcons} name=\"arrow-back\" color=\"white\" />\n }\n />\n ) : showToggle ? (\n <IconButton\n mx={2}\n px={2}\n py={2}\n size={6}\n bg={Colors.toggleButtonBgColor}\n disabled={!user?.accessToken ? true : false}\n onPress={() => {\n if (user?.accessToken) {\n if (props?.navigation) navigation.toggleDrawer();\n else toggleDrawer();\n }\n }}\n icon={\n <Avatar\n bg={'transparent'}\n size={8}\n _text={{ color: '#000', fontWeight: 600 }}\n >\n {acronym}\n </Avatar>\n }\n />\n ) : (\n <></>\n )}\n\n <Text px={2} color=\"white\" fontSize=\"20\" fontWeight=\"bold\">\n {startCase(title)}\n </Text>\n </HStack>\n </Box>\n <Box>\n <Button\n bg={'transparent'}\n variant={'ghost'}\n _pressed={{ bg: Colors.primaryButtonPressBgColor }}\n >\n <Avatar\n key={'profile-image-key'}\n size={'sm'}\n bg={'transparent'}\n _image={{\n style: {\n width: 30,\n height: 30,\n borderRadius: 6,\n borderWidth: 2,\n borderColor: '#fff',\n },\n }}\n source={{\n uri: user?.profile?.picture,\n }}\n >\n {startCase(user?.profile?.given_name?.charAt(0))}\n <Avatar.Badge bg=\"green.800\" />\n </Avatar>\n </Button>\n </Box>\n </HStack>\n <HStack space={2} justifyContent=\"space-between\" alignItems=\"center\" w=\"100%\">\n <Box flex={1}>\n <Input\n InputLeftElement={\n <IconButton\n size={'sm'}\n onPress={() => navigation.goBack()}\n icon={<Icon size={6} color=\"white\" as={Ionicons} name=\"search\" />}\n />\n }\n InputRightElement={\n <IconButton\n size={'sm'}\n onPress={() => navigation.goBack()}\n icon={<Icon size={'sm'} color=\"white\" as={Ionicons} name=\"mic-outline\" />}\n />\n }\n size=\"md\"\n placeholder=\"Jump to or search...\"\n variant=\"filled\"\n bg={Colors.primaryBgLightColor}\n borderColor={'transparent'}\n rounded={'xl'}\n placeholderTextColor={'white'}\n fontSize={15}\n mx={2}\n px={2}\n w={'85%'}\n />\n </Box>\n <Box>\n {user?.accessToken && showFilter && (\n <IconButton\n bg={Colors.primaryBgLightColor}\n rounded={'xl'}\n size={'md'}\n icon={<Ionicons name={'ios-filter'} size={18} color={'#fff'} />}\n />\n )}\n </Box>\n </HStack> */}\n </VStack>\n )}\n </Animated.View>\n </Box>\n </SafeAreaView>\n </>\n );\n};\n\nexport const DefalutSearchComponent = React.memo(({ navigation, showFilter }: any) => {\n const goToSearch = React.useCallback(() => {\n if (Keyboard) Keyboard.dismiss();\n navigation.navigate(NavigationRoutes.Search);\n }, [navigation]);\n\n return (\n <HStack\n space={'sm'}\n className={`flex-1 items-center ${showFilter ? 'w-[85%]' : 'w-full'} rounded-xl border-transparent bg-[${\n Colors.primaryBgLightColor\n }] dark:bg-transparent`}\n style={{ backgroundColor: Colors.primaryBgLightColor }}\n >\n <Button className=\"bg-transparent\" size={'xs'} onPress={() => console.log('mic')}>\n <Ionicons size={20} color=\"white\" name=\"search\" />\n </Button>\n <Button\n onPress={() => goToSearch()}\n variant={'solid'}\n className={`bg-transparent flex-1 pl-0 justify-start active:bg-[${Colors.primaryBgLightColor}] hover:bg-[${Colors.primaryBgLightColor}] dark:bg-transparent`}\n style={{ backgroundColor: 'transparent' }}\n >\n <ButtonText style={{ fontSize: 15, color: 'white' }}>Jump to or search....</ButtonText>\n </Button>\n\n <Button className=\"bg-transparent\" size={'xs'} onPress={() => console.log('mic')}>\n <Ionicons size={20} color=\"white\" name=\"mic-outline\" />\n </Button>\n </HStack>\n );\n});\n\nexport const SearchInputComponent = React.memo(({ navigation, inputRef }: any) => {\n const goBack = React.useCallback(() => {\n Keyboard.dismiss();\n if (inputRef.current) inputRef.current = null;\n navigation.goBack(null);\n }, [navigation, inputRef]);\n\n return (\n <HStack\n space={'sm'}\n className={`items-center w-full rounded-xl flex-1 bg-[${Colors.primaryBgLightColor}] bg-transparent dark:bg-transparent`}\n style={{ backgroundColor: Colors.primaryBgLightColor, borderColor: '#fff' }}\n >\n <Input\n ref={inputRef}\n style={{ borderColor: 'transparent' }}\n className={`flex-1 w-full border-transparent bg-[${Colors.primaryBgLightColor}]`}\n >\n <InputSlot className=\"pl-3\">\n <Button className=\"bg-transparent\" size={'xs'} onPress={() => goBack?.()}>\n <Ionicons size={20} name=\"chevron-back-sharp\" color=\"white\" />\n </Button>\n </InputSlot>\n <InputField\n placeholder=\"Jump to or search...\"\n placeholderTextColor={'white'}\n style={{ fontSize: 15 }}\n autoFocus={true}\n className={`bg-[${Colors.primaryBgLightColor}] border-transparent rounded-xl`}\n />\n <InputSlot className=\"pr-3\">\n <Button className=\"bg-transparent\" size={'xs'} onPress={() => console.log('mic')}>\n <Ionicons size={20} color=\"white\" name=\"mic-outline\" />\n </Button>\n </InputSlot>\n </Input>\n\n {/* <Input\n ref={inputRef}\n InputLeftElement={\n <>\n <Button bg={'transparent'} onPress={() => goBack()}>\n <Ionicons size={20} name=\"md-chevron-back-sharp\" color=\"white\" />\n </Button>\n </>\n }\n InputRightElement={\n <Button bg={'transparent'} size={'sm'} onPress={() => console.log('mic')}>\n <Ionicons size={20} color=\"white\" name=\"mic-outline\" />\n </Button>\n }\n placeholder=\"Jump to or search...\"\n bg={Colors.primaryBgLightColor}\n borderColor={'transparent'}\n rounded={'xl'}\n placeholderTextColor={'white'}\n fontSize={15}\n autoFocus={true}\n /> */}\n </HStack>\n );\n});\n\n// const NavigationHeader = (props: any) => {\n// const user: any = useSelector<Store.Auth, IUserState>(userSelector);\n// return !user?.accessToken ? (\n// <>\n// <StatusBar style={props?.statusBarType ?? 'light'} />\n// <SafeAreaView>\n// <Box\n// bg={props?.headerBgColor ?? Colors.primaryBgColor}\n// style={props?.options?.headerStyle ?? {}}\n// pb={'$4'}\n// />\n// </SafeAreaView>\n// </>\n// ) : (\n// <CustomNavigationHeader {...props} />\n// );\n// };\n\nconst NavigationHeader = (props: any) => {\n const user: any = useSelector<Store.Auth, IUserState>(userSelector, shallowEqual);\n return !user?.accessToken ? (\n <Box\n className={`pb-2 bg-[${props?.headerBgColor ?? Colors.primaryBgColor}]`}\n style={props?.options?.headerStyle ?? {}}\n />\n ) : (\n <CustomNavigationHeader {...props} />\n );\n};\n\nexport default React.memo(NavigationHeader);\n"],"names":["_a","_b","React"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React__default from'react';import {SafeAreaView
|
|
1
|
+
import React__default from'react';import {SafeAreaView}from'react-native';import {Box,VStack,HStack,Button,Avatar,AvatarFallbackText,Text}from'@admin-layout/gluestack-ui-mobile';import {getHeaderTitle}from'@react-navigation/elements';import {MaterialIcons,AntDesign}from'@expo/vector-icons';import {NavigationRoutes}from'../../constants/routes.js';import {navigationRef}from'@common-stack/client-react';const NavigationHeaderChat = ({
|
|
2
2
|
navigation,
|
|
3
3
|
route,
|
|
4
4
|
options,
|
|
@@ -10,29 +10,29 @@ import React__default from'react';import {SafeAreaView,Box,VStack,HStack,Button,
|
|
|
10
10
|
const title = getHeaderTitle(options, route.name);
|
|
11
11
|
const matches = title.match(/\b(\w)/g);
|
|
12
12
|
const acronym = matches.join("").substring(0, 2);
|
|
13
|
-
return /* @__PURE__ */ React__default.createElement(SafeAreaView,
|
|
13
|
+
return /* @__PURE__ */ React__default.createElement(SafeAreaView, { style: {
|
|
14
|
+
flex: 1
|
|
15
|
+
} }, /* @__PURE__ */ React__default.createElement(Box, { className: "border-b border-b-gray-200" }, /* @__PURE__ */ React__default.createElement(VStack, null, /* @__PURE__ */ React__default.createElement(HStack, { className: "px-1 py-3 bg-white justify-between items-center w-full" }, back ? /* @__PURE__ */ React__default.createElement(
|
|
14
16
|
Button,
|
|
15
17
|
{
|
|
16
|
-
|
|
17
|
-
"$pressed-bg": "$trueGray200",
|
|
18
|
-
"$active-bg": "$trueGray200",
|
|
18
|
+
className: "bg-transparent active:bg-gray-200 hover:bg-gray-200",
|
|
19
19
|
onPress: () => {
|
|
20
20
|
var _a2, _b2, _c2;
|
|
21
21
|
return ((_a2 = navigationRef) == null ? void 0 : _a2.isReady()) && ((_c2 = (_b2 = navigationRef) == null ? void 0 : _b2.current) == null ? void 0 : _c2.goBack());
|
|
22
22
|
}
|
|
23
23
|
},
|
|
24
24
|
/* @__PURE__ */ React__default.createElement(MaterialIcons, { size: 30, name: "keyboard-arrow-left", color: "black" })
|
|
25
|
-
) : showToggle ? /* @__PURE__ */ React__default.createElement(Button, {
|
|
25
|
+
) : showToggle ? /* @__PURE__ */ React__default.createElement(Button, { size: "md", className: "mx-2 px-2 py-2 bg-gray-300", onPress: () => navigation.toggleDrawer() }, /* @__PURE__ */ React__default.createElement(Avatar, { className: "bg-transparent", size: "md" }, /* @__PURE__ */ React__default.createElement(AvatarFallbackText, { style: {
|
|
26
26
|
color: "#000",
|
|
27
27
|
fontWeight: "600"
|
|
28
|
-
} }, acronym))) : /* @__PURE__ */ React__default.createElement(React__default.Fragment, null), /* @__PURE__ */ React__default.createElement(Box, {
|
|
28
|
+
} }, acronym))) : /* @__PURE__ */ React__default.createElement(React__default.Fragment, null), /* @__PURE__ */ React__default.createElement(Box, { className: "flex-1" }, /* @__PURE__ */ React__default.createElement(Text, { style: {
|
|
29
29
|
fontSize: 20
|
|
30
|
-
},
|
|
30
|
+
}, className: "px-2 text-black flex-wrap font-bold" }, (_b = (_a = route == null ? void 0 : route.params) == null ? void 0 : _a.title) != null ? _b : title)), ((_c = route == null ? void 0 : route.params) == null ? void 0 : _c.addMember) && /* @__PURE__ */ React__default.createElement(Button, { onPress: () => {
|
|
31
31
|
var _a2, _b2, _c2;
|
|
32
32
|
return navigation.navigate(NavigationRoutes.AddPeople, {
|
|
33
33
|
channelId: (_a2 = route == null ? void 0 : route.params) == null ? void 0 : _a2.channelId,
|
|
34
34
|
addMember: (_b2 = route == null ? void 0 : route.params) == null ? void 0 : _b2.addMember,
|
|
35
35
|
orgName: (_c2 = route == null ? void 0 : route.params) == null ? void 0 : _c2.orgName
|
|
36
36
|
});
|
|
37
|
-
},
|
|
37
|
+
}, size: "lg", className: "bg-transparent active:bg-transparent hover:bg-transparent" }, /* @__PURE__ */ React__default.createElement(AntDesign, { color: "black", size: 30, name: "addusergroup" }))))));
|
|
38
38
|
};export{NavigationHeaderChat as default};//# sourceMappingURL=NavigationHeaderChat.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NavigationHeaderChat.js","sources":["../../../src/components/NavigationHeader/NavigationHeaderChat.tsx"],"sourcesContent":["import { useNavigation } from '@react-navigation/core';\nimport React from 'react';\nimport { Pressable,
|
|
1
|
+
{"version":3,"file":"NavigationHeaderChat.js","sources":["../../../src/components/NavigationHeader/NavigationHeaderChat.tsx"],"sourcesContent":["import { useNavigation } from '@react-navigation/core';\nimport React from 'react';\nimport { Pressable, SafeAreaView } from 'react-native';\nimport {\n VStack,\n HStack,\n Button,\n Icon,\n Text,\n Center,\n Box,\n StatusBar,\n Image,\n Avatar,\n AvatarFallbackText,\n AvatarImage,\n AvatarBadge,\n} from '@admin-layout/gluestack-ui-mobile';\nimport { getHeaderTitle } from '@react-navigation/elements';\nimport { Ionicons, MaterialIcons, AntDesign } from '@expo/vector-icons';\n// import AddMemberToChannel from '../AddMemberToChannel';\nimport { NavigationRoutes } from '../../constants/routes';\n// import { navigate } from '@common-stack/client-react';\nimport { navigationRef } from '@common-stack/client-react';\n\nconst NavigationHeaderChat = ({ navigation, route, options, back, showToggle = null, showFilter = null }: any) => {\n const title = getHeaderTitle(options, route.name);\n\n const matches: any = title.match(/\\b(\\w)/g);\n const acronym: any = matches.join('').substring(0, 2); // JSON\n\n return (\n <SafeAreaView style={{ flex: 1 }}>\n <Box className=\"border-b border-b-gray-200\">\n <VStack>\n <HStack className=\"px-1 py-3 bg-white justify-between items-center w-full\">\n {back ? (\n <Button\n className=\"bg-transparent active:bg-gray-200 hover:bg-gray-200\"\n //onPress={() => navigation?.goBack?.()}\n onPress={() => navigationRef?.isReady() && navigationRef?.current?.goBack()}\n >\n <MaterialIcons size={30} name=\"keyboard-arrow-left\" color=\"black\" />\n </Button>\n ) : showToggle ? (\n <Button\n size={'md'}\n className=\"mx-2 px-2 py-2 bg-gray-300\"\n onPress={() => navigation.toggleDrawer()}\n >\n <Avatar className=\"bg-transparent\" size={'md'}>\n <AvatarFallbackText style={{ color: '#000', fontWeight: '600' }}>\n {acronym}\n </AvatarFallbackText>\n </Avatar>\n </Button>\n ) : (\n <></>\n )}\n\n <Box className=\"flex-1\">\n <Text style={{ fontSize: 20 }} className=\"px-2 text-black flex-wrap font-bold\">\n {route?.params?.title ?? title}\n </Text>\n </Box>\n\n {route?.params?.addMember && (\n <Button\n onPress={() =>\n navigation.navigate(NavigationRoutes.AddPeople, {\n channelId: route?.params?.channelId,\n addMember: route?.params?.addMember,\n orgName: route?.params?.orgName,\n })\n }\n size={'lg'}\n className=\"bg-transparent active:bg-transparent hover:bg-transparent\"\n >\n <AntDesign color={'black'} size={30} name=\"addusergroup\" />\n </Button>\n )}\n\n {/* <HStack flex={1}>\n {route?.params?.addMember && (\n <IconButton\n onPress={() =>\n navigation.navigate(NavigationRoutes.AddPeople, {\n channelId: route?.params?.channelId,\n addMember: route?.params?.addMember,\n orgName: route?.params?.orgName,\n })\n }\n _pressed={{ backgroundColor: 'transparent' }}\n size={'lg'}\n icon={<Icon color={'black'} size={'lg'} as={AntDesign} name=\"addusergroup\" />}\n />\n )}\n </HStack> */}\n </HStack>\n </VStack>\n </Box>\n </SafeAreaView>\n );\n};\n\nexport default NavigationHeaderChat;\n"],"names":["React","_a","_b","_c"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import NavigationHeader from'./NavigationHeader.js';import'react';import'@admin-layout/gluestack-ui-mobile';import'@react-navigation/elements';import'@expo/vector-icons';import'@common-stack/client-react';export{default as InboxNavigationHeader}from'./InboxNavigationHeader.js';export{NavigationHeader as default};//# sourceMappingURL=index.js.map
|
|
1
|
+
import NavigationHeader from'./NavigationHeader.js';import'react';import'react-native';import'@admin-layout/gluestack-ui-mobile';import'@react-navigation/elements';import'@expo/vector-icons';import'@common-stack/client-react';export{default as InboxNavigationHeader}from'./InboxNavigationHeader.js';export{NavigationHeader as default};//# sourceMappingURL=index.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React__default from'react';import {Pressable,
|
|
1
|
+
import React__default from'react';import {StyleSheet,Pressable,Text}from'react-native';var __defProp = Object.defineProperty;
|
|
2
2
|
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
3
3
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
4
4
|
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React__default from'react';import {Pressable,Text
|
|
1
|
+
import React__default from'react';import {StyleSheet,Pressable,Text}from'react-native';var __defProp = Object.defineProperty;
|
|
2
2
|
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
3
3
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
4
4
|
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React__default,{useState,useRef,useEffect,useCallback}from'react';import {View,
|
|
1
|
+
import React__default,{useState,useRef,useEffect,useCallback}from'react';import {StyleSheet,View,TextInput}from'react-native';import Suggestion from'./Suggestion.js';import Tag from'./Tag.js';import {HStack,Box,FlatList}from'@admin-layout/gluestack-ui-mobile';var __defProp = Object.defineProperty;
|
|
2
2
|
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
3
3
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
4
4
|
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
@@ -120,13 +120,13 @@ const SlackInput = ({
|
|
|
120
120
|
const regex = new RegExp(`${text.trim()}`, "i");
|
|
121
121
|
return suggestions == null ? void 0 : suggestions.filter((item) => extractor(item).search(regex) >= 0);
|
|
122
122
|
}, [text, suggestions]);
|
|
123
|
-
return /* @__PURE__ */ React__default.createElement(View, { style: [styles.container, containerStyle] }, /* @__PURE__ */ React__default.createElement(HStack, { style: [styles.tagContainer, tagContainerStyle],
|
|
123
|
+
return /* @__PURE__ */ React__default.createElement(View, { style: [styles.container, containerStyle] }, /* @__PURE__ */ React__default.createElement(HStack, { style: [styles.tagContainer, tagContainerStyle], className: "items-center justify-between" }, /* @__PURE__ */ React__default.createElement(Box, null, renderLeftElement == null ? void 0 : renderLeftElement()), /* @__PURE__ */ React__default.createElement(HStack, { className: `flex-[${renderRightElement ? 1 : 1}] flex-wrap items-center` }, tags == null ? void 0 : tags.map(renderTagComponent), /* @__PURE__ */ React__default.createElement(
|
|
124
124
|
TextInput,
|
|
125
125
|
__spreadValues({
|
|
126
126
|
value: text,
|
|
127
127
|
onKeyPress,
|
|
128
128
|
ref: inputRef,
|
|
129
|
-
|
|
129
|
+
onChange: (event) => handleTextChange(event.nativeEvent.text),
|
|
130
130
|
style: [styles.input, inputStyle]
|
|
131
131
|
}, inputProps)
|
|
132
132
|
)), /* @__PURE__ */ React__default.createElement(Box, null, renderRightElement == null ? void 0 : renderRightElement())), /* @__PURE__ */ React__default.createElement(View, { style: flatListContainerStyle }, /* @__PURE__ */ React__default.createElement(
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../src/components/SlackSearchInput/index.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useRef, useState } from 'react';\nimport {\n //FlatList,\n FlatListProps,\n StyleSheet,\n TextInput,\n TextInputProps,\n TextStyle,\n View,\n ViewStyle,\n} from 'react-native';\nimport Suggestion from './Suggestion';\nimport Tag from './Tag';\nimport { HStack, Box, FlatList } from '@admin-layout/gluestack-ui-mobile';\n\nexport type Tag = any;\nexport type Suggestion = any;\n// export type inputProps = TextInputProps & IInputProps;\nexport type inputProps = TextInputProps;\n\nexport type SlackInputProps = {\n /** array of tags to render */\n tags: Tag[];\n\n /** array of all possible suggestions that the autocomplete pulls from */\n suggestions?: Suggestion[];\n\n /** function called when tags needs to be updated */\n onChangeTags: (newTags: Tag[]) => void;\n\n /** given a tag, returns the string that should be rendered in a Tag */\n labelExtractor: (tag: Tag) => string;\n\n /** called when a tag is pressed, instead of calling `onChangeTags` with the pressed tag removed */\n onTagPress?: (tag: Tag) => void;\n\n /** an array of characters that should trigger a new tag and clear the TextInput\n * @default [',', ' ', ';', '\\n'] */\n parseChars?: string[];\n\n /** called when the user types a character in parseChars and should therefore add a new tag\n * if undefined, will call `onChangeTags` with `[...tags, userInputText]`\n */\n onAddNewTag?: (userInput: string) => void;\n\n /** whether or not to allow the user to create a Tag that doesn't come from `suggestions`\n * @default true\n */\n allowCustomTags?: boolean;\n\n /** called when a suggestion is pressed\n * defaultly calls `onChangeTags` with `[...tags, pressedSuggestion]`\n */\n onSuggestionPress?: (suggestion: Suggestion) => void;\n\n /** given a Suggestion, returns a string that can be compared to the user's search */\n suggestionExtractor?: (suggestion: Suggestion) => string;\n\n /** a function for filtering suggestions based on the TextInput value */\n filterSuggestions?: (text: string) => Suggestion[];\n\n /** a function that returns a custom tag component */\n renderTag?: (tag: Tag, onPress: (tag: Tag) => void, index?: any) => JSX.Element;\n\n /** a function that returns a custom suggestion component */\n renderSuggestion?: (suggestion: Suggestion, onPress: (tag: Suggestion) => void, index?: any) => JSX.Element;\n\n /** any custom TextInputProps */\n inputProps?: Partial<inputProps>;\n\n /** any additional FlatListProps */\n flatListProps?: Partial<FlatListProps<any>>;\n\n flatListGluestackUiProps?: any;\n\n /** style for the outer-most View that houses both the tagContainer and suggestion list */\n containerStyle?: ViewStyle;\n\n /** styles for the container View that houses the tags and the input */\n tagContainerStyle?: ViewStyle;\n\n /** styles for the TextInput component */\n inputStyle?: TextStyle;\n\n /** styles for the FlatList that renders suggestions */\n flatListStyle?: ViewStyle;\n\n /** styles for the container View of FlatList that renders suggestions */\n flatListContainerStyle?: ViewStyle;\n\n renderLeftElement?: () => JSX.Element;\n\n renderRightElement?: () => JSX.Element;\n\n isSetInputFocusOut?: boolean;\n};\n\nexport const SlackInput = ({\n tags,\n suggestions,\n labelExtractor,\n suggestionExtractor,\n onChangeTags,\n onTagPress,\n parseChars,\n allowCustomTags,\n onAddNewTag,\n onSuggestionPress,\n filterSuggestions,\n renderTag,\n renderSuggestion,\n renderLeftElement,\n renderRightElement,\n containerStyle,\n tagContainerStyle,\n inputStyle,\n flatListStyle,\n flatListContainerStyle,\n inputProps,\n flatListProps,\n flatListGluestackUiProps,\n isSetInputFocusOut,\n}: SlackInputProps) => {\n const [text, setText] = useState('');\n const inputRef = useRef<TextInput | null>(null);\n const extractor = suggestionExtractor || labelExtractor;\n\n useEffect(() => {\n console.log('isSetInputFocusOut', isSetInputFocusOut);\n if (isSetInputFocusOut) inputRef.current?.blur();\n }, [isSetInputFocusOut]);\n\n const handleTagPress = useCallback((tag: Tag) => {\n if (onTagPress) {\n onTagPress(tag);\n } else {\n onChangeTags(tags.filter((t) => labelExtractor(t) !== labelExtractor(tag)));\n }\n }, []);\n\n // const handleTagPress = (tag: Tag) => {\n // if (onTagPress) {\n // onTagPress(tag);\n // } else {\n // onChangeTags(tags.filter((t) => labelExtractor(t) !== labelExtractor(tag)));\n // }\n // };\n\n const handleSuggestionPress = useCallback(\n (suggestion: Suggestion) => {\n setText('');\n if (onSuggestionPress) {\n onSuggestionPress(suggestion);\n } else {\n onChangeTags([...tags, suggestion]);\n }\n\n inputRef.current?.focus();\n },\n [tags, inputRef, isSetInputFocusOut],\n );\n\n // const handleSuggestionPress = (suggestion: Suggestion) => {\n // setText('');\n // if (onSuggestionPress) {\n // onSuggestionPress(suggestion);\n // } else {\n // onChangeTags([...tags, suggestion]);\n // }\n // inputRef.current?.focus();\n // };\n\n const handleTextChange = useCallback(\n (input: string) => {\n setText(input);\n\n const lastTyped = input.charAt(input.length - 1);\n if (parseChars && parseChars.indexOf(lastTyped) > -1) {\n setText('');\n if (allowCustomTags) {\n const label = input.slice(0, -1);\n if (onAddNewTag) {\n onAddNewTag(label);\n } else {\n onChangeTags([...tags, label]);\n }\n }\n }\n },\n [tags],\n );\n\n // const handleTextChange = (input: string) => {\n // setText(input);\n\n // const lastTyped = input.charAt(input.length - 1);\n // if (parseChars && parseChars.indexOf(lastTyped) > -1) {\n // setText('');\n // if (allowCustomTags) {\n // const label = input.slice(0, -1);\n // if (onAddNewTag) {\n // onAddNewTag(label);\n // } else {\n // onChangeTags([...tags, label]);\n // }\n // }\n // }\n // };\n\n const renderTagComponent = (tag: Tag, index: any) => {\n const onPress = () => handleTagPress(tag);\n if (renderTag) {\n return renderTag(tag, onPress, index);\n }\n return <Tag label={labelExtractor(tag)} key={`render-tag-key-${index}`} onPress={onPress} />;\n // return <Tag label={labelExtractor(tag)} key={labelExtractor(tag)} onPress={onPress} />;\n };\n\n const renderSuggestionComponent = ({ item, index }: { item: Suggestion; index: any }) => {\n const onPress = () => handleSuggestionPress(item);\n if (renderSuggestion) {\n return renderSuggestion(item, onPress, index);\n }\n return <Suggestion label={extractor(item)} onPress={onPress} />;\n };\n\n const onKeyPress = useCallback(\n ({ nativeEvent: { key } }: { nativeEvent: { key: string } }) => {\n if (text !== '' || key !== 'Backspace' || tags.length < 1) {\n return;\n }\n const updatedTags = [...tags];\n updatedTags.pop();\n onChangeTags(updatedTags);\n },\n [tags, text],\n );\n\n // const onKeyPress = ({ nativeEvent: { key } }: { nativeEvent: { key: string } }) => {\n // if (text !== '' || key !== 'Backspace' || tags.length < 1) {\n // return;\n // }\n // const updatedTags = [...tags];\n // updatedTags.pop();\n // onChangeTags(updatedTags);\n // };\n\n const getSuggestions = useCallback(() => {\n if (filterSuggestions) {\n return filterSuggestions(text);\n }\n if (!text || text === '') {\n return [];\n }\n const regex = new RegExp(`${text.trim()}`, 'i');\n return suggestions?.filter((item) => extractor(item).search(regex) >= 0);\n }, [text, suggestions]);\n\n // const getSuggestions = () => {\n // if (filterSuggestions) {\n // return filterSuggestions(text);\n // }\n // if (!text || text === '') {\n // return [];\n // }\n // const regex = new RegExp(`${text.trim()}`, 'i');\n // return suggestions?.filter((item) => extractor(item).search(regex) >= 0);\n // };\n\n return (\n <View style={[styles.container, containerStyle]}>\n <HStack\n style={[styles.tagContainer, tagContainerStyle]}\n alignItems={'center'}\n justifyContent={'space-between'}\n >\n <Box>{renderLeftElement?.()}</Box>\n <HStack flex={renderRightElement ? 1 : 1} flexWrap={'wrap'} alignItems={'center'}>\n {tags?.map(renderTagComponent)}\n <TextInput\n // variant={'unstyled'}\n value={text}\n onKeyPress={onKeyPress}\n ref={inputRef}\n onChangeText={handleTextChange}\n style={[styles.input, inputStyle]}\n {...inputProps}\n />\n </HStack>\n <Box>{renderRightElement?.()}</Box>\n </HStack>\n <View style={flatListContainerStyle}>\n <FlatList\n data={getSuggestions()}\n //keyExtractor={extractor}\n keyExtractor={(item, index) => String(index)}\n renderItem={renderSuggestionComponent}\n keyboardShouldPersistTaps=\"handled\"\n style={[styles.list, flatListStyle]}\n {...flatListProps}\n {...flatListGluestackUiProps}\n />\n </View>\n </View>\n );\n};\n\nconst styles = StyleSheet.create({\n container: {\n zIndex: 2000,\n width: '100%',\n },\n tagContainer: {\n // flexDirection: 'row',\n flexWrap: 'wrap',\n // alignItems: 'center',\n },\n input: {\n flex: 1,\n minWidth: 100,\n },\n list: {\n maxHeight: 100,\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n },\n});\n\n// SlackInput.defaultProps = {\n// parseChars: [',', ' ', ';', '\\n'],\n// allowCustomTags: true,\n// suggestions: [],\n// };\n\nexport default React.memo(SlackInput);\n"],"names":["React"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/components/SlackSearchInput/index.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useRef, useState } from 'react';\nimport {\n //FlatList,\n FlatListProps,\n StyleSheet,\n TextInput,\n TextInputProps,\n TextStyle,\n View,\n ViewStyle,\n} from 'react-native';\nimport Suggestion from './Suggestion';\nimport Tag from './Tag';\nimport { HStack, Box, FlatList } from '@admin-layout/gluestack-ui-mobile';\n\nexport type Tag = any;\nexport type Suggestion = any;\n// export type inputProps = TextInputProps & IInputProps;\nexport type inputProps = TextInputProps;\n\nexport type SlackInputProps = {\n /** array of tags to render */\n tags: Tag[];\n\n /** array of all possible suggestions that the autocomplete pulls from */\n suggestions?: Suggestion[];\n\n /** function called when tags needs to be updated */\n onChangeTags: (newTags: Tag[]) => void;\n\n /** given a tag, returns the string that should be rendered in a Tag */\n labelExtractor: (tag: Tag) => string;\n\n /** called when a tag is pressed, instead of calling `onChangeTags` with the pressed tag removed */\n onTagPress?: (tag: Tag) => void;\n\n /** an array of characters that should trigger a new tag and clear the TextInput\n * @default [',', ' ', ';', '\\n'] */\n parseChars?: string[];\n\n /** called when the user types a character in parseChars and should therefore add a new tag\n * if undefined, will call `onChangeTags` with `[...tags, userInputText]`\n */\n onAddNewTag?: (userInput: string) => void;\n\n /** whether or not to allow the user to create a Tag that doesn't come from `suggestions`\n * @default true\n */\n allowCustomTags?: boolean;\n\n /** called when a suggestion is pressed\n * defaultly calls `onChangeTags` with `[...tags, pressedSuggestion]`\n */\n onSuggestionPress?: (suggestion: Suggestion) => void;\n\n /** given a Suggestion, returns a string that can be compared to the user's search */\n suggestionExtractor?: (suggestion: Suggestion) => string;\n\n /** a function for filtering suggestions based on the TextInput value */\n filterSuggestions?: (text: string) => Suggestion[];\n\n /** a function that returns a custom tag component */\n renderTag?: (tag: Tag, onPress: (tag: Tag) => void, index?: any) => JSX.Element;\n\n /** a function that returns a custom suggestion component */\n renderSuggestion?: (suggestion: Suggestion, onPress: (tag: Suggestion) => void, index?: any) => JSX.Element;\n\n /** any custom TextInputProps */\n inputProps?: Partial<inputProps>;\n\n /** any additional FlatListProps */\n flatListProps?: Partial<FlatListProps<any>>;\n\n flatListGluestackUiProps?: any;\n\n /** style for the outer-most View that houses both the tagContainer and suggestion list */\n containerStyle?: ViewStyle;\n\n /** styles for the container View that houses the tags and the input */\n tagContainerStyle?: ViewStyle;\n\n /** styles for the TextInput component */\n inputStyle?: TextStyle;\n\n /** styles for the FlatList that renders suggestions */\n flatListStyle?: ViewStyle;\n\n /** styles for the container View of FlatList that renders suggestions */\n flatListContainerStyle?: ViewStyle;\n\n renderLeftElement?: () => JSX.Element;\n\n renderRightElement?: () => JSX.Element;\n\n isSetInputFocusOut?: boolean;\n};\n\nexport const SlackInput = ({\n tags,\n suggestions,\n labelExtractor,\n suggestionExtractor,\n onChangeTags,\n onTagPress,\n parseChars,\n allowCustomTags,\n onAddNewTag,\n onSuggestionPress,\n filterSuggestions,\n renderTag,\n renderSuggestion,\n renderLeftElement,\n renderRightElement,\n containerStyle,\n tagContainerStyle,\n inputStyle,\n flatListStyle,\n flatListContainerStyle,\n inputProps,\n flatListProps,\n flatListGluestackUiProps,\n isSetInputFocusOut,\n}: SlackInputProps) => {\n const [text, setText] = useState('');\n const inputRef = useRef<TextInput | null>(null);\n const extractor = suggestionExtractor || labelExtractor;\n\n useEffect(() => {\n console.log('isSetInputFocusOut', isSetInputFocusOut);\n if (isSetInputFocusOut) inputRef.current?.blur();\n }, [isSetInputFocusOut]);\n\n const handleTagPress = useCallback((tag: Tag) => {\n if (onTagPress) {\n onTagPress(tag);\n } else {\n onChangeTags(tags.filter((t) => labelExtractor(t) !== labelExtractor(tag)));\n }\n }, []);\n\n // const handleTagPress = (tag: Tag) => {\n // if (onTagPress) {\n // onTagPress(tag);\n // } else {\n // onChangeTags(tags.filter((t) => labelExtractor(t) !== labelExtractor(tag)));\n // }\n // };\n\n const handleSuggestionPress = useCallback(\n (suggestion: Suggestion) => {\n setText('');\n if (onSuggestionPress) {\n onSuggestionPress(suggestion);\n } else {\n onChangeTags([...tags, suggestion]);\n }\n\n inputRef.current?.focus();\n },\n [tags, inputRef, isSetInputFocusOut],\n );\n\n // const handleSuggestionPress = (suggestion: Suggestion) => {\n // setText('');\n // if (onSuggestionPress) {\n // onSuggestionPress(suggestion);\n // } else {\n // onChangeTags([...tags, suggestion]);\n // }\n // inputRef.current?.focus();\n // };\n\n const handleTextChange = useCallback(\n (input: string) => {\n setText(input);\n\n const lastTyped = input.charAt(input.length - 1);\n if (parseChars && parseChars.indexOf(lastTyped) > -1) {\n setText('');\n if (allowCustomTags) {\n const label = input.slice(0, -1);\n if (onAddNewTag) {\n onAddNewTag(label);\n } else {\n onChangeTags([...tags, label]);\n }\n }\n }\n },\n [tags],\n );\n\n // const handleTextChange = (input: string) => {\n // setText(input);\n\n // const lastTyped = input.charAt(input.length - 1);\n // if (parseChars && parseChars.indexOf(lastTyped) > -1) {\n // setText('');\n // if (allowCustomTags) {\n // const label = input.slice(0, -1);\n // if (onAddNewTag) {\n // onAddNewTag(label);\n // } else {\n // onChangeTags([...tags, label]);\n // }\n // }\n // }\n // };\n\n const renderTagComponent = (tag: Tag, index: any) => {\n const onPress = () => handleTagPress(tag);\n if (renderTag) {\n return renderTag(tag, onPress, index);\n }\n return <Tag label={labelExtractor(tag)} key={`render-tag-key-${index}`} onPress={onPress} />;\n // return <Tag label={labelExtractor(tag)} key={labelExtractor(tag)} onPress={onPress} />;\n };\n\n const renderSuggestionComponent = ({ item, index }: { item: Suggestion; index: any }) => {\n const onPress = () => handleSuggestionPress(item);\n if (renderSuggestion) {\n return renderSuggestion(item, onPress, index);\n }\n return <Suggestion label={extractor(item)} onPress={onPress} />;\n };\n\n const onKeyPress = useCallback(\n ({ nativeEvent: { key } }: { nativeEvent: { key: string } }) => {\n if (text !== '' || key !== 'Backspace' || tags.length < 1) {\n return;\n }\n const updatedTags = [...tags];\n updatedTags.pop();\n onChangeTags(updatedTags);\n },\n [tags, text],\n );\n\n // const onKeyPress = ({ nativeEvent: { key } }: { nativeEvent: { key: string } }) => {\n // if (text !== '' || key !== 'Backspace' || tags.length < 1) {\n // return;\n // }\n // const updatedTags = [...tags];\n // updatedTags.pop();\n // onChangeTags(updatedTags);\n // };\n\n const getSuggestions = useCallback(() => {\n if (filterSuggestions) {\n return filterSuggestions(text);\n }\n if (!text || text === '') {\n return [];\n }\n const regex = new RegExp(`${text.trim()}`, 'i');\n return suggestions?.filter((item) => extractor(item).search(regex) >= 0);\n }, [text, suggestions]);\n\n // const getSuggestions = () => {\n // if (filterSuggestions) {\n // return filterSuggestions(text);\n // }\n // if (!text || text === '') {\n // return [];\n // }\n // const regex = new RegExp(`${text.trim()}`, 'i');\n // return suggestions?.filter((item) => extractor(item).search(regex) >= 0);\n // };\n\n return (\n <View style={[styles.container, containerStyle]}>\n <HStack style={[styles.tagContainer, tagContainerStyle]} className=\"items-center justify-between\">\n <Box>{renderLeftElement?.()}</Box>\n <HStack className={`flex-[${renderRightElement ? 1 : 1}] flex-wrap items-center`}>\n {tags?.map(renderTagComponent)}\n <TextInput\n // variant={'unstyled'}\n value={text}\n onKeyPress={onKeyPress}\n ref={inputRef}\n onChange={(event) => handleTextChange(event.nativeEvent.text)}\n style={[styles.input, inputStyle]}\n {...inputProps}\n />\n </HStack>\n <Box>{renderRightElement?.()}</Box>\n </HStack>\n <View style={flatListContainerStyle}>\n <FlatList\n data={getSuggestions()}\n //keyExtractor={extractor}\n keyExtractor={(item, index) => String(index)}\n renderItem={renderSuggestionComponent}\n keyboardShouldPersistTaps=\"handled\"\n style={[styles.list, flatListStyle]}\n {...flatListProps}\n {...flatListGluestackUiProps}\n />\n </View>\n </View>\n );\n};\n\nconst styles = StyleSheet.create({\n container: {\n zIndex: 2000,\n width: '100%',\n },\n tagContainer: {\n // flexDirection: 'row',\n flexWrap: 'wrap',\n // alignItems: 'center',\n },\n input: {\n flex: 1,\n minWidth: 100,\n },\n list: {\n maxHeight: 100,\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n },\n});\n\n// SlackInput.defaultProps = {\n// parseChars: [',', ' ', ';', '\\n'],\n// allowCustomTags: true,\n// suggestions: [],\n// };\n\nexport default React.memo(SlackInput);\n"],"names":["React"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React__default from'react';import {FlatList}from'@admin-layout/gluestack-ui-mobile';import'@expo/vector-icons';import'expo-font';import'expo-splash-screen';import'react-native';import {useDrawerLayout}from'../../hooks/useDrawerLayout.js';import'../../hooks/useExpoNotificationProvider.js';var __defProp = Object.defineProperty;
|
|
1
|
+
import React__default from'react';import {FlatList}from'@admin-layout/gluestack-ui-mobile';import'@expo/vector-icons';import'expo-font';import'expo-splash-screen';import'react-native';import {useDrawerLayout}from'../../hooks/useDrawerLayout.js';import'../../hooks/useExpoNotificationProvider.js';import'../../hooks/useOptimizedChannelsQueries.js';var __defProp = Object.defineProperty;
|
|
2
2
|
var __defProps = Object.defineProperties;
|
|
3
3
|
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
4
4
|
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
@@ -22,7 +22,22 @@ const VirtualizedScrollView = (props) => {
|
|
|
22
22
|
headerAnimationOffsetValue,
|
|
23
23
|
setHeaderAnimationOffsetValue
|
|
24
24
|
} = useDrawerLayout();
|
|
25
|
-
return /* @__PURE__ */ React__default.createElement(
|
|
26
|
-
|
|
27
|
-
|
|
25
|
+
return /* @__PURE__ */ React__default.createElement(
|
|
26
|
+
FlatList,
|
|
27
|
+
__spreadProps(__spreadValues({}, props), {
|
|
28
|
+
onScroll: (e) => {
|
|
29
|
+
e.nativeEvent.contentOffset.y;
|
|
30
|
+
},
|
|
31
|
+
nestedScrollEnabled: (props == null ? void 0 : props.nestedScrollEnabled) || true,
|
|
32
|
+
style: [props == null ? void 0 : props.style, {
|
|
33
|
+
paddingBottom: 10,
|
|
34
|
+
flex: 1
|
|
35
|
+
}],
|
|
36
|
+
data: [],
|
|
37
|
+
keyExtractor: (e, i) => "dom" + i.toString(),
|
|
38
|
+
ListEmptyComponent: null,
|
|
39
|
+
renderItem: null,
|
|
40
|
+
ListHeaderComponent: () => /* @__PURE__ */ React__default.createElement(React__default.Fragment, null, props.children)
|
|
41
|
+
})
|
|
42
|
+
);
|
|
28
43
|
};export{VirtualizedScrollView as default};//# sourceMappingURL=VirtualizedScrollView.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VirtualizedScrollView.js","sources":["../../../src/components/VirtualizedScrollView/VirtualizedScrollView.tsx"],"sourcesContent":["import React from 'react';\nimport { FlatList } from '@admin-layout/gluestack-ui-mobile';\nimport { useDrawerLayout } from '../../hooks';\n\nconst VirtualizedScrollView = (props: any) => {\n const { headerAnimationOffsetValue, setHeaderAnimationOffsetValue } = useDrawerLayout();\n\n return (\n <FlatList\n {...props}\n onScroll={(e) => {\n const currentOffset = e.nativeEvent.contentOffset.y;\n const direction = currentOffset > headerAnimationOffsetValue ? 'down' : 'up';\n\n //..last commented..// if (currentOffset >= 0 || (direction === 'down' && currentOffset >= 200 && currentOffset <= 500))\n // setHeaderAnimationOffsetValue(e.nativeEvent.contentOffset.y);\n\n // if (e.nativeEvent.contentOffset.y >= 0) setHeaderAnimationOffsetValue(e.nativeEvent.contentOffset.y);\n }}\n nestedScrollEnabled={props?.nestedScrollEnabled || true}\n pb={'$10'}\n data={[]}\n keyExtractor={(e, i) => 'dom' + i.toString()}\n ListEmptyComponent={null}\n renderItem={null}\n ListHeaderComponent={() => <>{props.children}</>}\n />\n );\n};\n\nexport default VirtualizedScrollView;\n"],"names":["React"],"mappings":";;;;;;;;;;;;;;;;;;;AAGM,MAAA,qBAAA,GAAwB,CAAC,KAAe,KAAA;AAC5C,EAAM,MAAA;AAAA,IACJ,0BAAA;AAAA,IACA;AAAA,MACE,eAAgB,EAAA;AACpB,
|
|
1
|
+
{"version":3,"file":"VirtualizedScrollView.js","sources":["../../../src/components/VirtualizedScrollView/VirtualizedScrollView.tsx"],"sourcesContent":["import React from 'react';\nimport { FlatList } from '@admin-layout/gluestack-ui-mobile';\nimport { useDrawerLayout } from '../../hooks';\n\nconst VirtualizedScrollView = (props: any) => {\n const { headerAnimationOffsetValue, setHeaderAnimationOffsetValue } = useDrawerLayout();\n\n return (\n <FlatList\n {...props}\n onScroll={(e) => {\n const currentOffset = e.nativeEvent.contentOffset.y;\n const direction = currentOffset > headerAnimationOffsetValue ? 'down' : 'up';\n\n //..last commented..// if (currentOffset >= 0 || (direction === 'down' && currentOffset >= 200 && currentOffset <= 500))\n // setHeaderAnimationOffsetValue(e.nativeEvent.contentOffset.y);\n\n // if (e.nativeEvent.contentOffset.y >= 0) setHeaderAnimationOffsetValue(e.nativeEvent.contentOffset.y);\n }}\n nestedScrollEnabled={props?.nestedScrollEnabled || true}\n // pb={'$10'}\n style={[props?.style, { paddingBottom: 10, flex: 1 }]}\n data={[]}\n keyExtractor={(e, i) => 'dom' + i.toString()}\n ListEmptyComponent={null}\n renderItem={null}\n ListHeaderComponent={() => <>{props.children}</>}\n />\n );\n};\n\nexport default VirtualizedScrollView;\n"],"names":["React"],"mappings":";;;;;;;;;;;;;;;;;;;AAGM,MAAA,qBAAA,GAAwB,CAAC,KAAe,KAAA;AAC5C,EAAM,MAAA;AAAA,IACJ,0BAAA;AAAA,IACA;AAAA,MACE,eAAgB,EAAA;AACpB,EAAO,uBAAAA,cAAA,CAAA,aAAA;AAAA,IAAC,QAAA;AAAA,IAAA,aAAA,CAAA,cAAA,CAAA,EAAA,EAAa,KAAb,CAAA,EAAA;AAAA,MAAoB,UAAU,CAAK,CAAA,KAAA;AACzC,QAAsB,CAAE,CAAA,WAAA,CAAY,aAAc,CAAA;AACsB,OAM1E;AAAA,MAAG,mBAAA,EAAA,CAAqB,+BAAO,mBAAuB,KAAA,IAAA;AAAA,MAEtD,KAAA,EAAO,CAAC,KAAA,IAAA,IAAA,GAAA,MAAA,GAAA,KAAA,CAAO,KAAO,EAAA;AAAA,QACpB,aAAe,EAAA,EAAA;AAAA,QACf,IAAM,EAAA;AAAA,OACP,CAAA;AAAA,MAAG,MAAM,EAAC;AAAA,MAAG,cAAc,CAAC,CAAA,EAAG,CAAM,KAAA,KAAA,GAAQ,EAAE,QAAS,EAAA;AAAA,MAAG,kBAAoB,EAAA,IAAA;AAAA,MAAM,UAAY,EAAA,IAAA;AAAA,MAAM,mBAAqB,EAAA,sBAASA,cAAA,CAAA,aAAA,CAAAA,cAAA,CAAA,QAAA,EAAA,IAAA,EAAA,KAAA,CAAM,QAAS;AAAA,KAAA;AAAA,GAAK;AAC5J"}
|