@messenger-box/slack-ui-mobile 10.0.3-alpha.35 → 10.0.3-alpha.37

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (23) hide show
  1. package/lib/screens/Home/Components/Channels/Channels.js +91 -103
  2. package/lib/screens/Home/Components/Channels/Channels.js.map +1 -1
  3. package/lib/screens/Home/Components/DirectChannels/DirectChannels.js +163 -231
  4. package/lib/screens/Home/Components/DirectChannels/DirectChannels.js.map +1 -1
  5. package/lib/screens/Home/Components/Teams/Teams.js +76 -91
  6. package/lib/screens/Home/Components/Teams/Teams.js.map +1 -1
  7. package/lib/screens/Home/HomeScreen.js +3 -5
  8. package/lib/screens/Home/HomeScreen.js.map +1 -1
  9. package/lib/screens/Search/SearchAddChannel.js +1 -4
  10. package/lib/screens/Search/SearchAddChannel.js.map +1 -1
  11. package/package.json +3 -3
  12. package/lib/screens/Home/Components/Channels/channels-xstate.js +0 -247
  13. package/lib/screens/Home/Components/Channels/channels-xstate.js.map +0 -1
  14. package/lib/screens/Home/Components/Channels/useSafeChannelsMachine.js +0 -128
  15. package/lib/screens/Home/Components/Channels/useSafeChannelsMachine.js.map +0 -1
  16. package/lib/screens/Home/Components/DirectChannels/directChannels-xstate.js +0 -202
  17. package/lib/screens/Home/Components/DirectChannels/directChannels-xstate.js.map +0 -1
  18. package/lib/screens/Home/Components/DirectChannels/useSafeDirectChannelsMachine.js +0 -108
  19. package/lib/screens/Home/Components/DirectChannels/useSafeDirectChannelsMachine.js.map +0 -1
  20. package/lib/screens/Home/Components/Teams/hooks/useSafeMachine.js +0 -96
  21. package/lib/screens/Home/Components/Teams/hooks/useSafeMachine.js.map +0 -1
  22. package/lib/screens/Home/Components/Teams/workflow/teams-xstate.js +0 -198
  23. package/lib/screens/Home/Components/Teams/workflow/teams-xstate.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"HomeScreen.js","sources":["../../../src/screens/Home/HomeScreen.tsx"],"sourcesContent":["import { Ionicons, AntDesign, FontAwesome5, MaterialCommunityIcons } from '@expo/vector-icons';\nimport { useFocusEffect, useNavigation } from '@react-navigation/native';\nimport React, { useCallback, useState, useMemo, createContext } from 'react';\nimport { TouchableHighlight, Share, Dimensions } from 'react-native';\nimport { useSelector, shallowEqual } from 'react-redux';\nimport styles from './styles';\nimport {\n Box,\n Avatar,\n Icon,\n AddIcon,\n Text,\n Spinner,\n Center,\n Fab,\n HStack,\n Divider,\n VStack,\n} from '@admin-layout/gluestack-ui-mobile';\nimport { RoomType } from 'common';\nimport { useSetDeviceTokenMutation, useGetOrganizationSharableLinkQuery } from 'common/graphql';\nimport VirtualizedScrollView from '../../components/VirtualizedScrollView';\nimport { useDrawerLayout } from '../../hooks/useDrawerLayout';\nimport { useDisclose } from '../../hooks/useDisclose';\nimport { useExpoNotification } from '../../hooks/useExpoNotificationProvider';\nimport { Teams } from './Components/Teams';\nimport { Channels } from './Components/Channels/index';\nimport { DirectChannels } from './Components/DirectChannels';\nimport { TopCommonSlider } from './Components/TopCommonSlider';\nimport { InviteMembers } from './Components/InviteMembers';\nimport { NavigationRoutes, colors } from '../../constants';\nimport { LoadingSpinnerDefault, Actionsheet } from '../../components';\nimport { config } from '../../config';\nimport Colors from 'tailwindcss/colors';\n\nconst windowHeight = Dimensions.get('window').height;\n\nconst defaultChannelType = [RoomType.Channel, RoomType.Private, RoomType.Public];\n\n// Create a context to control refetching across child components\nexport const RefetchContext = createContext({\n shouldRefetch: false,\n setRefetchStatus: (status: boolean) => {},\n});\n\nconst HomeScreen = ({ navigation, route }) => {\n const user = useSelector((state: any) => state.user, shallowEqual);\n const { isOpen, onOpen, onClose } = useDisclose();\n const { setSwipeEnabled, orgName, organizationDetail } = useDrawerLayout();\n const { expoToken } = useExpoNotification();\n const [setDeviceTokenMutation] = useSetDeviceTokenMutation();\n const [isLoading, setIsLoading] = useState(true);\n const [shouldRefetch, setShouldRefetch] = useState(false);\n\n // Memoize the refetch context value\n const refetchContextValue = useMemo(\n () => ({\n shouldRefetch,\n setRefetchStatus: setShouldRefetch,\n }),\n [shouldRefetch],\n );\n\n // Only fetch sharable link when needed (when action sheet is open)\n const { data: organizationSharableLink } = useGetOrganizationSharableLinkQuery({\n fetchPolicy: 'cache-and-network',\n skip: !isOpen,\n });\n\n // Define shareLink before it's used in the memo\n const shareLink = useCallback(async () => {\n try {\n const result = await Share.share({\n message: `${config.APP_NAME} - ${organizationSharableLink?.getOrganizationSharableLink ?? ''}`,\n });\n } catch (error: any) {\n alert(error.message);\n }\n }, [organizationSharableLink?.getOrganizationSharableLink]);\n\n // Memoize action items to prevent unnecessary re-renders\n const actionItems = useMemo(\n () => [\n {\n id: 1,\n label: (\n <HStack\n space={'sm'}\n className=\"flex-1 justify-center items-center\"\n style={{\n backgroundColor: colors.primaryBgColor,\n paddingVertical: 12,\n borderRadius: 8,\n marginHorizontal: 10,\n marginVertical: 5,\n }}\n >\n <Ionicons color={'white'} name=\"share-outline\" size={22} />\n <Text className=\"text-white\" style={{ color: 'white', fontWeight: '600', fontSize: 16 }}>\n Share a Link\n </Text>\n </HStack>\n ),\n onPress: async () => await shareLink(),\n },\n {\n id: 2,\n label: (\n <HStack\n space={'sm'}\n className=\"flex-1 justify-center items-center\"\n style={{\n paddingVertical: 12,\n borderRadius: 8,\n marginHorizontal: 10,\n marginVertical: 5,\n backgroundColor: Colors.gray[50],\n }}\n >\n <AntDesign color={Colors.gray[900]} name=\"adduser\" size={22} />\n <Text style={{ color: Colors.gray[900], fontWeight: '600', fontSize: 16 }}>\n Add from Contacts\n </Text>\n </HStack>\n ),\n onPress: () =>\n navigation.navigate(NavigationRoutes.AddPeopleFromContacts, {\n orgName,\n }),\n },\n {\n id: 3,\n label: (\n <HStack\n space={'sm'}\n className=\"flex-1 justify-center items-center\"\n style={{\n paddingVertical: 12,\n borderRadius: 8,\n marginHorizontal: 10,\n marginVertical: 5,\n backgroundColor: Colors.gray[50],\n }}\n >\n <MaterialCommunityIcons color={Colors.gray[900]} name=\"email-outline\" size={22} />\n <Text style={{ color: Colors.gray[900], fontWeight: '600', fontSize: 16 }}>Add by Email</Text>\n </HStack>\n ),\n onPress: () =>\n navigation.navigate(NavigationRoutes.AddPeopleByEmail, {\n orgName,\n }),\n },\n ],\n [isOpen, navigation, orgName, shareLink],\n );\n\n // Optimize token handling\n const handlerExpoToken = useCallback(() => {\n if (expoToken) {\n setDeviceTokenMutation({\n variables: {\n deviceToken: expoToken,\n },\n });\n }\n }, [expoToken, setDeviceTokenMutation]);\n\n useFocusEffect(\n useCallback(() => {\n setSwipeEnabled(true);\n handlerExpoToken();\n setShouldRefetch(true);\n\n // Simplified loading logic\n const timer = setTimeout(() => {\n setIsLoading(false);\n setShouldRefetch(false);\n }, 500);\n\n return () => {\n clearTimeout(timer);\n setSwipeEnabled(false);\n };\n }, [orgName, setSwipeEnabled, handlerExpoToken]),\n );\n\n // Memoize the AddTeammates component\n const AddTeammates = useCallback(\n () => (\n <Box style={[styles.bottomContainer, { marginBottom: 8, paddingHorizontal: 16 }]}>\n <TouchableHighlight underlayColor={Colors.gray[50]} onPress={onOpen}>\n <Box className=\"py-3 px-2\">\n <HStack className=\"w-full flex-1 items-center space-x-3\">\n <Box\n style={{\n backgroundColor: Colors.gray[100],\n borderRadius: 20,\n padding: 6,\n }}\n >\n <Icon as={AddIcon} style={{ width: 20, height: 20 }} color={Colors.gray[700]} />\n </Box>\n <Text style={{ fontSize: 15, fontWeight: '500' }} color={Colors.gray[800]}>\n Add teammates\n </Text>\n </HStack>\n </Box>\n </TouchableHighlight>\n\n <Actionsheet\n isOpen={isOpen}\n actionItems={actionItems}\n onCancel={onClose}\n hideBottomWidth={true}\n header={\n <Text\n className=\"text-center font-bold text-lg\"\n style={{\n paddingVertical: 16,\n color: Colors.gray[900],\n }}\n >\n Invite people to join your team\n </Text>\n }\n />\n </Box>\n ),\n [isOpen, onOpen, onClose, actionItems],\n );\n\n if (!orgName) {\n return (\n <Center className=\"flex-1 bg-white\">\n <Spinner size=\"large\" color={colors.primaryBgColor} />\n </Center>\n );\n }\n\n return (\n <RefetchContext.Provider value={refetchContextValue}>\n <VirtualizedScrollView className=\"bg-white flex-1\">\n <Box className=\"flex-1 bg-white pb-10\">\n {isLoading ? (\n <VStack space=\"md\" className=\"p-4\">\n <Box className=\"h-12 bg-gray-100 rounded-md animate-pulse\" />\n <Box className=\"h-32 bg-gray-100 rounded-md animate-pulse\" />\n <Box className=\"h-24 bg-gray-100 rounded-md animate-pulse\" />\n <Box className=\"h-40 bg-gray-100 rounded-md animate-pulse\" />\n </VStack>\n ) : (\n <>\n <TopCommonSlider />\n <Divider style={{ marginVertical: 12 }} />\n <Teams />\n <Divider style={{ marginVertical: 12 }} />\n <Channels />\n <Divider style={{ marginVertical: 12 }} />\n <DirectChannels />\n <Divider style={{ marginVertical: 12 }} />\n {/* <AddTeammates />\n <Divider style={{ marginVertical: 12 }} /> */}\n <InviteMembers />\n </>\n )}\n </Box>\n </VirtualizedScrollView>\n <Fab\n onPress={() => navigation.navigate(NavigationRoutes.SearchAddChannel, { orgName })}\n size=\"sm\"\n className=\"items-center shadow-lg\"\n style={{ backgroundColor: colors.primaryBgColor, marginBottom: 20, marginRight: 20 }}\n >\n <FontAwesome5 color=\"white\" name=\"edit\" size={18} />\n </Fab>\n </RefetchContext.Provider>\n );\n};\n\n// Memoize the entire Home component\nconst Home = React.memo((props: any) => {\n const user = useSelector((state: any) => state.user, shallowEqual);\n const { orgName } = useDrawerLayout();\n const navigation = useNavigation<any>();\n\n useFocusEffect(\n React.useCallback(() => {\n if (!user?.profile) navigation?.navigate(NavigationRoutes.Login);\n return () => {};\n }, []),\n );\n\n if (!orgName) return <LoadingSpinnerDefault />;\n\n return <HomeScreen {...props} />;\n});\n\nexport default Home;\n"],"names":["React","colors","Colors","Actionsheet"],"mappings":"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"}
1
+ {"version":3,"file":"HomeScreen.js","sources":["../../../src/screens/Home/HomeScreen.tsx"],"sourcesContent":["import { Ionicons, AntDesign, FontAwesome5, MaterialCommunityIcons } from '@expo/vector-icons';\nimport { useFocusEffect, useNavigation } from '@react-navigation/native';\nimport React, { useCallback, useState, useMemo, createContext } from 'react';\nimport { TouchableHighlight, Share, Dimensions } from 'react-native';\nimport { useSelector, shallowEqual } from 'react-redux';\nimport styles from './styles';\nimport {\n Box,\n Avatar,\n Icon,\n AddIcon,\n Text,\n Spinner,\n Center,\n Fab,\n HStack,\n Divider,\n VStack,\n} from '@admin-layout/gluestack-ui-mobile';\nimport { RoomType } from 'common';\nimport { useSetDeviceTokenMutation, useGetOrganizationSharableLinkQuery } from 'common/graphql';\nimport VirtualizedScrollView from '../../components/VirtualizedScrollView';\nimport { useDrawerLayout } from '../../hooks/useDrawerLayout';\nimport { useDisclose } from '../../hooks/useDisclose';\nimport { useExpoNotification } from '../../hooks/useExpoNotificationProvider';\nimport { Teams } from './Components/Teams';\nimport { Channels } from './Components/Channels/index';\nimport { DirectChannels } from './Components/DirectChannels';\nimport { TopCommonSlider } from './Components/TopCommonSlider';\nimport { InviteMembers } from './Components/InviteMembers';\nimport { NavigationRoutes, colors } from '../../constants';\nimport { LoadingSpinnerDefault, Actionsheet } from '../../components';\nimport { config } from '../../config';\nimport Colors from 'tailwindcss/colors';\n\nconst windowHeight = Dimensions.get('window').height;\n\nconst defaultChannelType = [RoomType.Channel, RoomType.Private, RoomType.Public];\n\n// Create a context to control refetching across child components\nexport const RefetchContext = createContext({\n shouldRefetch: false,\n setRefetchStatus: (status: boolean) => {},\n});\n\nconst HomeScreen = ({ navigation, route }) => {\n const user = useSelector((state: any) => state.user, shallowEqual);\n const { isOpen, onOpen, onClose } = useDisclose();\n const { setSwipeEnabled, orgName, organizationDetail } = useDrawerLayout();\n const { expoToken } = useExpoNotification();\n const [setDeviceTokenMutation] = useSetDeviceTokenMutation();\n const [shouldRefetch, setShouldRefetch] = useState(false);\n\n // Memoize the refetch context value\n const refetchContextValue = useMemo(\n () => ({\n shouldRefetch,\n setRefetchStatus: setShouldRefetch,\n }),\n [shouldRefetch],\n );\n\n // Only fetch sharable link when needed (when action sheet is open)\n const { data: organizationSharableLink } = useGetOrganizationSharableLinkQuery({\n fetchPolicy: 'cache-and-network',\n skip: !isOpen,\n });\n\n // Define shareLink before it's used in the memo\n const shareLink = useCallback(async () => {\n try {\n const result = await Share.share({\n message: `${config.APP_NAME} - ${organizationSharableLink?.getOrganizationSharableLink ?? ''}`,\n });\n } catch (error: any) {\n alert(error.message);\n }\n }, [organizationSharableLink?.getOrganizationSharableLink]);\n\n // Memoize action items to prevent unnecessary re-renders\n const actionItems = useMemo(\n () => [\n {\n id: 1,\n label: (\n <HStack\n space={'sm'}\n className=\"flex-1 justify-center items-center\"\n style={{\n backgroundColor: colors.primaryBgColor,\n paddingVertical: 12,\n borderRadius: 8,\n marginHorizontal: 10,\n marginVertical: 5,\n }}\n >\n <Ionicons color={'white'} name=\"share-outline\" size={22} />\n <Text className=\"text-white\" style={{ color: 'white', fontWeight: '600', fontSize: 16 }}>\n Share a Link\n </Text>\n </HStack>\n ),\n onPress: async () => await shareLink(),\n },\n {\n id: 2,\n label: (\n <HStack\n space={'sm'}\n className=\"flex-1 justify-center items-center\"\n style={{\n paddingVertical: 12,\n borderRadius: 8,\n marginHorizontal: 10,\n marginVertical: 5,\n backgroundColor: Colors.gray[50],\n }}\n >\n <AntDesign color={Colors.gray[900]} name=\"adduser\" size={22} />\n <Text style={{ color: Colors.gray[900], fontWeight: '600', fontSize: 16 }}>\n Add from Contacts\n </Text>\n </HStack>\n ),\n onPress: () =>\n navigation.navigate(NavigationRoutes.AddPeopleFromContacts, {\n orgName,\n }),\n },\n {\n id: 3,\n label: (\n <HStack\n space={'sm'}\n className=\"flex-1 justify-center items-center\"\n style={{\n paddingVertical: 12,\n borderRadius: 8,\n marginHorizontal: 10,\n marginVertical: 5,\n backgroundColor: Colors.gray[50],\n }}\n >\n <MaterialCommunityIcons color={Colors.gray[900]} name=\"email-outline\" size={22} />\n <Text style={{ color: Colors.gray[900], fontWeight: '600', fontSize: 16 }}>Add by Email</Text>\n </HStack>\n ),\n onPress: () =>\n navigation.navigate(NavigationRoutes.AddPeopleByEmail, {\n orgName,\n }),\n },\n ],\n [isOpen, navigation, orgName, shareLink],\n );\n\n // Optimize token handling\n const handlerExpoToken = useCallback(() => {\n if (expoToken) {\n setDeviceTokenMutation({\n variables: {\n deviceToken: expoToken,\n },\n });\n }\n }, [expoToken, setDeviceTokenMutation]);\n\n useFocusEffect(\n useCallback(() => {\n setSwipeEnabled(true);\n handlerExpoToken();\n setShouldRefetch(true);\n\n // Set refetch status to false after a short delay\n const timer = setTimeout(() => {\n setShouldRefetch(false);\n }, 500);\n\n return () => {\n clearTimeout(timer);\n setSwipeEnabled(false);\n };\n }, [orgName, setSwipeEnabled, handlerExpoToken]),\n );\n\n // Memoize the AddTeammates component\n const AddTeammates = useCallback(\n () => (\n <Box style={[styles.bottomContainer, { marginBottom: 8, paddingHorizontal: 16 }]}>\n <TouchableHighlight underlayColor={Colors.gray[50]} onPress={onOpen}>\n <Box className=\"py-3 px-2\">\n <HStack className=\"w-full flex-1 items-center space-x-3\">\n <Box\n style={{\n backgroundColor: Colors.gray[100],\n borderRadius: 20,\n padding: 6,\n }}\n >\n <Icon as={AddIcon} style={{ width: 20, height: 20 }} color={Colors.gray[700]} />\n </Box>\n <Text style={{ fontSize: 15, fontWeight: '500' }} color={Colors.gray[800]}>\n Add teammates\n </Text>\n </HStack>\n </Box>\n </TouchableHighlight>\n\n <Actionsheet\n isOpen={isOpen}\n actionItems={actionItems}\n onCancel={onClose}\n hideBottomWidth={true}\n header={\n <Text\n className=\"text-center font-bold text-lg\"\n style={{\n paddingVertical: 16,\n color: Colors.gray[900],\n }}\n >\n Invite people to join your team\n </Text>\n }\n />\n </Box>\n ),\n [isOpen, onOpen, onClose, actionItems],\n );\n\n if (!orgName) {\n return (\n <Center className=\"flex-1 bg-white\">\n <Spinner size=\"large\" color={colors.primaryBgColor} />\n </Center>\n );\n }\n\n return (\n <RefetchContext.Provider value={refetchContextValue}>\n <VirtualizedScrollView className=\"bg-white flex-1\">\n <Box className=\"flex-1 bg-white pb-10\">\n <TopCommonSlider />\n <Divider style={{ marginVertical: 12 }} />\n <Teams />\n <Divider style={{ marginVertical: 12 }} />\n <Channels />\n <Divider style={{ marginVertical: 12 }} />\n <DirectChannels />\n <Divider style={{ marginVertical: 12 }} />\n {/* <AddTeammates />\n <Divider style={{ marginVertical: 12 }} /> */}\n <InviteMembers />\n </Box>\n </VirtualizedScrollView>\n <Fab\n onPress={() => navigation.navigate(NavigationRoutes.SearchAddChannel, { orgName })}\n size=\"sm\"\n className=\"items-center shadow-lg\"\n style={{ backgroundColor: colors.primaryBgColor, marginBottom: 20, marginRight: 20 }}\n >\n <FontAwesome5 color=\"white\" name=\"edit\" size={18} />\n </Fab>\n </RefetchContext.Provider>\n );\n};\n\n// Memoize the entire Home component\nconst Home = React.memo((props: any) => {\n const user = useSelector((state: any) => state.user, shallowEqual);\n const { orgName } = useDrawerLayout();\n const navigation = useNavigation<any>();\n\n useFocusEffect(\n React.useCallback(() => {\n if (!user?.profile) navigation?.navigate(NavigationRoutes.Login);\n return () => {};\n }, []),\n );\n\n if (!orgName) return <LoadingSpinnerDefault />;\n\n return <HomeScreen {...props} />;\n});\n\nexport default Home;\n"],"names":["React","colors","Colors","Actionsheet"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import React__default,{useState,useEffect,useRef}from'react';import {Box,HStack,Text,ScrollView,Avatar,AvatarImage,AvatarFallbackText,AvatarBadge}from'@admin-layout/gluestack-ui-mobile';import {Keyboard,TouchableOpacity,SafeAreaView,StyleSheet,View,TextInput,Dimensions}from'react-native';import {RoomType}from'common';import {useGetChannelsByUserLazyQuery,useGetOrganizationMembersWithChannelsQuery}from'common/graphql';import {MaterialIcons,Feather,SimpleLineIcons,Octicons}from'@expo/vector-icons';import {useNavigation,useIsFocused,useFocusEffect}from'@react-navigation/native';import {userSelector}from'@adminide-stack/user-auth0-client';import {useSelector}from'react-redux';import {startCase,uniqBy}from'lodash-es';import'expo-font';import'expo-splash-screen';import {useDrawerLayout}from'../../hooks/useDrawerLayout.js';import'../../hooks/useExpoNotificationProvider.js';Dimensions.get("window").width;
1
+ import React__default,{useState,useEffect,useRef}from'react';import {Box,HStack,Text,ScrollView,Avatar,AvatarImage,AvatarFallbackText,AvatarBadge}from'@admin-layout/gluestack-ui-mobile';import {Keyboard,TouchableOpacity,SafeAreaView,StyleSheet,View,TextInput,Dimensions}from'react-native';import {RoomType}from'common';import {useGetChannelsByUserLazyQuery,useGetOrganizationMembersWithChannelsQuery}from'common/graphql';import {useNavigation,useIsFocused,useFocusEffect}from'@react-navigation/native';import {userSelector}from'@adminide-stack/user-auth0-client';import {useSelector}from'react-redux';import {startCase,uniqBy}from'lodash-es';import {MaterialIcons,Feather,Octicons}from'@expo/vector-icons';import'expo-font';import'expo-splash-screen';import {useDrawerLayout}from'../../hooks/useDrawerLayout.js';import'../../hooks/useExpoNotificationProvider.js';Dimensions.get("window").width;
2
2
  Dimensions.get("window").height;
3
3
  Dimensions.get("screen").height;
4
4
  const defaultChannelType = [RoomType.Channel, RoomType.Private, RoomType.Public, RoomType.Direct];
@@ -204,9 +204,6 @@ const SearchAddChannel = (props) => {
204
204
  }, alt: item.title }) : /* @__PURE__ */ React__default.createElement(AvatarFallbackText, null, item.imageAcronym || item.title.charAt(0))), /* @__PURE__ */ React__default.createElement(Text, { style: styles.chipText }, item.title));
205
205
  };
206
206
  const renderListItem = (item, index) => {
207
- if (item.type === "header") {
208
- return /* @__PURE__ */ React__default.createElement(HStack, { key: index, style: styles.sectionHeader }, /* @__PURE__ */ React__default.createElement(SimpleLineIcons, { name: "bell", size: 16, color: "#2563EB" }), /* @__PURE__ */ React__default.createElement(Text, { style: styles.sectionHeaderText }, item.title));
209
- }
210
207
  return /* @__PURE__ */ React__default.createElement(HStack, { key: index, style: styles.listItem }, /* @__PURE__ */ React__default.createElement(HStack, { style: styles.listItemLeft }, item.type == RoomType.Channel && /* @__PURE__ */ React__default.createElement(View, { style: styles.iconContainer }, /* @__PURE__ */ React__default.createElement(Octicons, { name: "hash", size: 20, color: "#000" })), item.type == RoomType.Private && /* @__PURE__ */ React__default.createElement(View, { style: styles.iconContainer }, /* @__PURE__ */ React__default.createElement(Octicons, { name: "lock", size: 20, color: "#000" })), item.type == RoomType.Direct && /* @__PURE__ */ React__default.createElement(Avatar, { size: "sm", style: styles.userAvatar }, item.channelImage ? /* @__PURE__ */ React__default.createElement(AvatarImage, { source: {
211
208
  uri: item.channelImage
212
209
  }, alt: item.title }) : /* @__PURE__ */ React__default.createElement(AvatarFallbackText, null, item.title.charAt(0)), /* @__PURE__ */ React__default.createElement(AvatarBadge, { style: styles.onlineBadge })), /* @__PURE__ */ React__default.createElement(HStack, { style: styles.titleContainer }, /* @__PURE__ */ React__default.createElement(Text, { style: styles.itemTitle }, item.title), item.type === "app" && /* @__PURE__ */ React__default.createElement(View, { style: styles.appLabel }, /* @__PURE__ */ React__default.createElement(Text, { style: styles.appLabelText }, "APP")))), /* @__PURE__ */ React__default.createElement(TouchableOpacity, { onPress: () => toggleItemSelection(item) }, isItemSelected(item) ? /* @__PURE__ */ React__default.createElement(View, { style: styles.checkedBox }, /* @__PURE__ */ React__default.createElement(Feather, { name: "check", size: 18, color: "#fff" })) : /* @__PURE__ */ React__default.createElement(View, { style: styles.uncheckedBox })));
@@ -1 +1 @@
1
- {"version":3,"file":"SearchAddChannel.js","sources":["../../../src/screens/Search/SearchAddChannel.tsx"],"sourcesContent":["import React, { useState, useEffect, useCallback, useRef } from 'react';\nimport {\n Text,\n Button,\n ButtonText,\n Box,\n Icon,\n HStack,\n Avatar,\n AvatarFallbackText,\n AvatarImage,\n AvatarBadge,\n AvatarGroup,\n Checkbox,\n CheckboxLabel,\n CheckboxIndicator,\n CheckboxIcon,\n CheckIcon,\n VStack,\n ScrollView,\n} from '@admin-layout/gluestack-ui-mobile';\nimport {\n TouchableOpacity,\n Dimensions,\n Keyboard,\n KeyboardEvent,\n TextInput,\n View,\n StyleSheet,\n SafeAreaView,\n} from 'react-native';\nimport { RoomType } from 'common';\nimport {\n useGetOrganizationMembersWithChannelsQuery,\n useGetChannelsByUserLazyQuery,\n useGetOrganizationMembersQuery,\n} from 'common/graphql';\n// import { NavigationRoutes } from '../../constants/routes';\nimport { AntDesign, SimpleLineIcons, MaterialCommunityIcons, Entypo } from '@expo/vector-icons';\nimport { Inbox, DialogMessages, DialogThreads } from '@messenger-box/platform-mobile';\n// import VirtualizedScrollView from '../../components/VirtualizedScrollView';\nimport { useIsFocused, useFocusEffect, useNavigation } from '@react-navigation/native';\nimport { userSelector } from '@adminide-stack/user-auth0-client';\nimport { useSelector } from 'react-redux';\nimport { startCase, orderBy, uniqBy } from 'lodash-es';\nimport { Feather, Octicons, MaterialIcons } from '@expo/vector-icons';\nimport { useDrawerLayout } from '../../hooks';\nimport { LoadingSpinnerDefault, SlackInput } from '../../components';\nimport colors from 'tailwindcss/colors';\nconst windowWidth = Dimensions.get('window').width;\nconst windowHeight = Dimensions.get('window').height;\n\nconst screenHeight = Dimensions.get('screen').height;\n\nconst defaultChannelType = [RoomType.Channel, RoomType.Private, RoomType.Public, RoomType.Direct];\nconst orgMemersDataFetchLimit = 10;\nexport const useKeyboard = () => {\n const [keyboardHeight, setKeyboardHeight] = useState(0);\n\n useEffect(() => {\n function onKeyboardDidShow(e: KeyboardEvent) {\n // Remove type here if not using TypeScript\n setKeyboardHeight(e?.endCoordinates?.height ?? 0);\n }\n\n function onKeyboardDidHide() {\n setKeyboardHeight(0);\n }\n\n const showSubscription = Keyboard.addListener('keyboardDidShow', onKeyboardDidShow);\n const hideSubscription = Keyboard.addListener('keyboardDidHide', onKeyboardDidHide);\n return () => {\n showSubscription.remove();\n hideSubscription.remove();\n };\n }, []);\n\n return keyboardHeight;\n};\n\n// const listData = [\n// { id: 'header1', type: 'header', title: 'Message with external people' },\n// { id: 'figma', title: 'Figma', type: 'app', appName: 'figma' },\n// { id: 'github', title: 'GitHub (deactivated)', type: 'app', appName: 'github' },\n// { id: 'huzaifa', title: 'Huzaifa Ali', type: 'user', picture: 'https://i.pravatar.cc/150?img=33' },\n// { id: 'muflah', title: 'Muflah Nasir', type: 'user', picture: 'https://i.pravatar.cc/150?img=60' },\n// { id: 'shubham', title: 'Shubham A', type: 'user', picture: 'https://i.pravatar.cc/150?img=12' },\n// { id: 'shubhamk', title: 'Shubham K', type: 'user', picture: 'https://i.pravatar.cc/150?img=11' },\n// { id: 'cdecode', title: 'cdecode', type: 'private' },\n// { id: 'general', title: 'general', type: 'channel' },\n// { id: 'mobile', title: 'mobile', type: 'private' },\n// ];\n\nconst SearchAddChannel = (props: any) => {\n const navigation = useNavigation<any>();\n const { orgName, organizationDetail } = useDrawerLayout();\n const isFocused = useIsFocused();\n const user = useSelector(userSelector);\n const [channels, setChannels] = useState<any>([]);\n const [initialOrgMembers, setInitialOrgMembers] = useState<any>([]);\n const [selectedItems, setSelectedItems] = useState<any[]>([]);\n const [searchText, setSearchText] = useState('');\n const [offset, setOffset] = useState(0);\n const [channelId, setChannelId] = useState<any>(null);\n const [isCreateNewChannel, setIsCreateNewChannel] = useState<boolean>(false);\n const keyboardHeight = useKeyboard();\n const inputRef = useRef<TextInput>(null);\n const [tags, setTags] = useState<any[]>([]);\n const labelExtractor = (tag: any) => (tag?.id ? tag?.id : tag?.userId);\n const [getChannelByUser, { loading: isChannelByUserLoading }] = useGetChannelsByUserLazyQuery();\n const {\n data,\n loading: oLoading,\n error: oError,\n refetch,\n } = useGetOrganizationMembersWithChannelsQuery({\n variables: {\n orgName: orgName,\n channelCriteria: {\n orgName: orgName,\n type: defaultChannelType,\n },\n offset: offset,\n limit: orgMemersDataFetchLimit,\n },\n fetchPolicy: 'cache-and-network',\n });\n\n useFocusEffect(\n React.useCallback(() => {\n refetch({\n orgName: orgName,\n channelCriteria: {\n orgName: orgName,\n type: defaultChannelType,\n },\n offset: offset,\n limit: orgMemersDataFetchLimit,\n });\n return () => {\n // Do something when the screen is unfocused\n // Useful for cleanup functions\n setChannels([]);\n setChannelId(null);\n setInitialOrgMembers([]);\n };\n }, [orgName]),\n );\n\n React.useEffect(() => {\n navigation.setOptions({\n headerLeft: (props: any) => (\n <TouchableOpacity onPress={() => navigation.goBack()}>\n <MaterialIcons size={20} name=\"close\" color={'black'} />\n </TouchableOpacity>\n ),\n });\n }, []);\n\n React.useEffect(() => {\n if (data?.channelsByUser) {\n const allChannels: any =\n data?.channelsByUser\n ?.filter((ch: any) =>\n ch.type == RoomType.Direct &&\n ch?.members?.length == 1 &&\n ch?.members?.filter((ch: any) => ch?.user?.id == user?.id)\n ? ch\n : ch?.members?.filter((m: any) => m?.user?.id != user?.id),\n )\n ?.map((i: any) => {\n const ch: any = { id: i?.id, title: i?.title, type: i?.type };\n const channelMembers =\n i.members\n ?.map((m: any) => m?.user)\n ?.filter((ch: any) =>\n i.members?.length == 1 && ch?.id == user?.id ? ch : ch?.id != user?.id,\n ) ?? null;\n const title =\n ch.type == RoomType.Direct\n ? channelMembers\n ?.map((u: any) => u?.givenName + ' ' + (u?.familyName ?? ''))\n ?.filter((mu: any) => mu)\n ?.join(', ') ?? ''\n : ch.title;\n ch.title = title;\n ch.channelImage = channelMembers[0]?.picture;\n ch.imageAcronym = startCase(channelMembers[0]?.username?.charAt(0));\n ch.members = channelMembers;\n ch.totalMembers = channelMembers?.length;\n ch.userId = null;\n ch.isOrgMembers = false;\n\n return ch;\n })\n ?.filter((ch: any) => ch) ?? [];\n\n const existingDirectChannelsToDelete = new Set(\n data?.channelsByUser?.map((ch: any) => ch?.members?.map((m: any) => m?.user?.id))?.flat(1),\n );\n\n const allOrgMembers: any =\n data?.getOrganizationMembers?.data\n ?.filter((m: any) => m?.user?.id != user?.id)\n .filter((obj: any) => !existingDirectChannelsToDelete.has(obj?.userId))\n ?.map((i: any) => {\n const ch: any = {\n id: null,\n title: i?.user?.givenName + ' ' + i?.user?.familyName,\n type: RoomType.Direct,\n channelImage: i?.user?.picture,\n imageAcronym: startCase(i?.user?.username?.charAt(0)),\n members: [],\n totalMembers: 1,\n userId: i?.user?.id,\n isOrgMembers: true,\n };\n\n return ch;\n })\n ?.filter((ch: any) => ch) ?? [];\n setChannels((oldChannels: any) =>\n uniqBy([...allChannels, ...allOrgMembers, ...oldChannels], ({ id, userId }) => id + userId),\n );\n setInitialOrgMembers((oldChannels: any) =>\n uniqBy([...allChannels, ...allOrgMembers, ...oldChannels], ({ id, userId }) => id + userId),\n );\n }\n }, [data]);\n\n React.useEffect(() => {\n if (channelId && tags?.length === 0) setChannelId(null);\n if (!channelId && tags?.length > 0) {\n const userIds = [\n ...new Set(\n tags?.map((t: any) => (t?.userId ? t?.userId : t?.members?.map((m: any) => m?.id)))?.flat(1),\n ),\n ];\n\n getChannelId(userIds);\n }\n console.log('channelid', channelId, ' tags?.length', tags?.length);\n }, [channelId, tags, orgName]);\n\n const getChannelId = React.useCallback(\n async (userIds: any[]) => {\n const res = await getChannelByUser({\n variables: {\n criteria: {\n orgName: orgName,\n type: RoomType.Direct,\n 'members.user': { $all: [...userIds, user?.id] },\n },\n limit: 1,\n },\n });\n\n if (res?.data?.channelsByUser?.length > 0) {\n setChannelId(res?.data?.channelsByUser?.[0]?.id);\n setIsCreateNewChannel(false);\n } else {\n setChannelId(null);\n setIsCreateNewChannel(true);\n }\n // ?.then((res) => {\n // if (res?.data?.channelsByUser?.length > 0) {\n // setChannelId(res?.data?.channelsByUser?.[0]?.id);\n // setInputFocusOut(true);\n // } else {\n // setChannelId(null);\n // setInputFocusOut(false);\n // }\n // });\n },\n [orgName, user],\n );\n\n // Toggle selection of an item\n const toggleItemSelection = (item: any) => {\n const itemExists = selectedItems.some(\n (selectedItem) =>\n (selectedItem.id && selectedItem.id === item.id) ||\n (selectedItem.userId && selectedItem.userId === item.userId),\n );\n\n if (itemExists) {\n setSelectedItems(\n selectedItems.filter(\n (selectedItem) =>\n !(\n (selectedItem.id && selectedItem.id === item.id) ||\n (selectedItem.userId && selectedItem.userId === item.userId)\n ),\n ),\n );\n } else {\n setSelectedItems([...selectedItems, item]);\n }\n };\n\n // Check if an item is selected\n const isItemSelected = (item: any) => {\n return selectedItems.some(\n (selectedItem) =>\n (selectedItem.id && selectedItem.id === item.id) ||\n (selectedItem.userId && selectedItem.userId === item.userId),\n );\n };\n\n // Remove a selected item (chip)\n const removeSelectedItem = (item: any) => {\n setSelectedItems(\n selectedItems.filter(\n (selectedItem) =>\n !(\n (selectedItem.id && selectedItem.id === item.id) ||\n (selectedItem.userId && selectedItem.userId === item.userId)\n ),\n ),\n );\n };\n\n // Render a selected item as a chip in the To: field\n const renderSelectedItemChip = (item: any, index: number) => {\n return (\n <View key={index} style={styles.chipContainer}>\n <Avatar size=\"xs\" style={styles.chipAvatar}>\n {item.channelImage ? (\n <AvatarImage source={{ uri: item.channelImage }} alt={item.title} />\n ) : (\n <AvatarFallbackText>{item.imageAcronym || item.title.charAt(0)}</AvatarFallbackText>\n )}\n </Avatar>\n <Text style={styles.chipText}>{item.title}</Text>\n </View>\n );\n };\n\n // Render list items (channels and users)\n const renderListItem = (item: any, index: number) => {\n if (item.type === 'header') {\n return (\n <HStack key={index} style={styles.sectionHeader}>\n <SimpleLineIcons name=\"bell\" size={16} color=\"#2563EB\" />\n <Text style={styles.sectionHeaderText}>{item.title}</Text>\n </HStack>\n );\n }\n\n return (\n <HStack key={index} style={styles.listItem}>\n <HStack style={styles.listItemLeft}>\n {/* {item.type === 'app' && item.appName === 'figma' && (\n <View style={styles.iconContainer}>\n <MaterialCommunityIcons name=\"sigma\" size={20} color=\"#F24E1E\" />\n </View>\n )} */}\n\n {/* {item.type === 'app' && item.appName === 'github' && (\n <View style={styles.iconContainer}>\n <AntDesign name=\"github\" size={20} color=\"#000\" />\n </View>\n )} */}\n\n {item.type == RoomType.Channel && (\n <View style={styles.iconContainer}>\n <Octicons name=\"hash\" size={20} color=\"#000\" />\n </View>\n )}\n\n {item.type == RoomType.Private && (\n <View style={styles.iconContainer}>\n <Octicons name=\"lock\" size={20} color=\"#000\" />\n </View>\n )}\n\n {item.type == RoomType.Direct && (\n <Avatar size=\"sm\" style={styles.userAvatar}>\n {item.channelImage ? (\n <AvatarImage source={{ uri: item.channelImage }} alt={item.title} />\n ) : (\n <AvatarFallbackText>{item.title.charAt(0)}</AvatarFallbackText>\n )}\n <AvatarBadge style={styles.onlineBadge} />\n </Avatar>\n )}\n\n <HStack style={styles.titleContainer}>\n <Text style={styles.itemTitle}>{item.title}</Text>\n {item.type === 'app' && (\n <View style={styles.appLabel}>\n <Text style={styles.appLabelText}>APP</Text>\n </View>\n )}\n </HStack>\n </HStack>\n\n <TouchableOpacity onPress={() => toggleItemSelection(item)}>\n {isItemSelected(item) ? (\n <View style={styles.checkedBox}>\n <Feather name=\"check\" size={18} color=\"#fff\" />\n </View>\n ) : (\n <View style={styles.uncheckedBox} />\n )}\n </TouchableOpacity>\n </HStack>\n );\n };\n\n // Sample data for the channel list\n // const listData = [\n // { id: 'header1', type: 'header', title: 'Message with external people' },\n // { id: 'figma', title: 'Figma', type: 'app', appName: 'figma' },\n // { id: 'github', title: 'GitHub (deactivated)', type: 'app', appName: 'github' },\n // { id: 'huzaifa', title: 'Huzaifa Ali', type: 'user', picture: 'https://i.pravatar.cc/150?img=33' },\n // { id: 'muflah', title: 'Muflah Nasir', type: 'user', picture: 'https://i.pravatar.cc/150?img=60' },\n // { id: 'shubham', title: 'Shubham A', type: 'user', picture: 'https://i.pravatar.cc/150?img=12' },\n // { id: 'shubhamk', title: 'Shubham K', type: 'user', picture: 'https://i.pravatar.cc/150?img=11' },\n // { id: 'cdecode', title: 'cdecode', type: 'private' },\n // { id: 'general', title: 'general', type: 'channel' },\n // { id: 'mobile', title: 'mobile', type: 'private' },\n // ];\n\n const listData = [{ id: 'header1', type: 'header', title: 'Message with external people' }, ...channels];\n\n const filteredData = searchText.trim()\n ? listData.filter(\n (item) => item.type !== 'header' && item.title.toLowerCase().includes(searchText.toLowerCase()),\n )\n : listData;\n\n return (\n <SafeAreaView style={{ flex: 1, backgroundColor: '#fff' }}>\n <Box style={styles.container}>\n {/* To: field with search */}\n <HStack style={styles.searchContainer}>\n <Text style={styles.toLabel}>To:</Text>\n <View style={styles.chipContainerWrapper}>\n <View style={styles.chipWrapView}>\n {selectedItems.map(renderSelectedItemChip)}\n <TextInput\n ref={inputRef}\n style={styles.searchInput}\n placeholder={selectedItems.length ? '' : 'Search for a channel or conversation'}\n placeholderTextColor=\"#9CA3AF\"\n value={searchText}\n onChange={(event) => setSearchText(event.nativeEvent.text)}\n />\n </View>\n </View>\n </HStack>\n\n {/* List of channels and people */}\n <ScrollView style={styles.listContainer}>{filteredData.map(renderListItem)}</ScrollView>\n\n {/* Message input at bottom */}\n <HStack style={styles.messageInputContainer}>\n <TextInput\n style={styles.messageInput}\n placeholder={`Message ${selectedItems.map((item) => item.title).join(', ')}`}\n placeholderTextColor=\"#9CA3AF\"\n />\n <TouchableOpacity style={styles.sendButton}>\n <Feather name=\"arrow-right\" size={22} color=\"#fff\" />\n </TouchableOpacity>\n </HStack>\n </Box>\n </SafeAreaView>\n );\n};\n\nconst styles = StyleSheet.create({\n container: {\n flex: 1,\n backgroundColor: '#fff',\n },\n header: {\n flexDirection: 'row',\n justifyContent: 'space-between',\n alignItems: 'center',\n paddingHorizontal: 16,\n paddingVertical: 12,\n borderBottomWidth: 1,\n borderBottomColor: '#E5E5E5',\n },\n headerTitle: {\n fontSize: 18,\n fontWeight: 'bold',\n },\n searchContainer: {\n paddingHorizontal: 16,\n paddingVertical: 12,\n borderBottomWidth: 1,\n borderBottomColor: '#E5E5E5',\n flexDirection: 'row',\n alignItems: 'flex-start',\n },\n toLabel: {\n fontSize: 16,\n marginRight: 8,\n marginTop: 8,\n color: '#374151',\n },\n chipContainerWrapper: {\n flex: 1,\n },\n chipWrapView: {\n flexDirection: 'row',\n flexWrap: 'wrap',\n },\n chipScrollView: {\n flex: 1,\n },\n chipScrollContent: {\n alignItems: 'center',\n flexDirection: 'row',\n flexWrap: 'wrap',\n },\n chipContainer: {\n flexDirection: 'row',\n alignItems: 'center',\n backgroundColor: '#EFF6FF',\n borderRadius: 4,\n paddingHorizontal: 8,\n paddingVertical: 6,\n marginRight: 8,\n marginBottom: 8,\n },\n chipAvatar: {\n width: 20,\n height: 20,\n marginRight: 4,\n },\n chipText: {\n color: '#1E40AF',\n fontSize: 14,\n },\n searchInput: {\n flex: 1,\n height: 40,\n fontSize: 16,\n minWidth: 100,\n },\n listContainer: {\n flex: 1,\n },\n sectionHeader: {\n flexDirection: 'row',\n alignItems: 'center',\n padding: 16,\n paddingBottom: 8,\n },\n sectionHeaderText: {\n marginLeft: 8,\n fontWeight: 'bold',\n fontSize: 16,\n color: '#374151',\n },\n listItem: {\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'space-between',\n paddingHorizontal: 16,\n paddingVertical: 12,\n },\n listItemLeft: {\n flexDirection: 'row',\n alignItems: 'center',\n flex: 1,\n },\n iconContainer: {\n width: 24,\n height: 24,\n justifyContent: 'center',\n alignItems: 'center',\n marginRight: 12,\n },\n userAvatar: {\n marginRight: 12,\n },\n onlineBadge: {\n width: 8,\n height: 8,\n backgroundColor: '#10B981',\n borderWidth: 1,\n borderColor: '#FFFFFF',\n bottom: 0,\n right: 0,\n },\n titleContainer: {\n flexDirection: 'row',\n alignItems: 'center',\n },\n itemTitle: {\n fontSize: 16,\n color: '#1F2937',\n },\n appLabel: {\n backgroundColor: '#E5E5E5',\n borderRadius: 4,\n paddingHorizontal: 6,\n paddingVertical: 2,\n marginLeft: 8,\n },\n appLabelText: {\n fontSize: 10,\n fontWeight: 'bold',\n color: '#4B5563',\n },\n uncheckedBox: {\n width: 22,\n height: 22,\n borderRadius: 4,\n borderWidth: 1,\n borderColor: '#D1D5DB',\n },\n checkedBox: {\n width: 22,\n height: 22,\n borderRadius: 4,\n backgroundColor: '#2563EB',\n justifyContent: 'center',\n alignItems: 'center',\n },\n messageInputContainer: {\n borderTopWidth: 1,\n borderTopColor: '#E5E5E5',\n paddingHorizontal: 16,\n paddingVertical: 12,\n flexDirection: 'row',\n alignItems: 'center',\n },\n messageInput: {\n flex: 1,\n height: 40,\n backgroundColor: '#F9FAFB',\n borderRadius: 20,\n paddingHorizontal: 16,\n marginRight: 12,\n fontSize: 16,\n },\n sendButton: {\n width: 40,\n height: 40,\n borderRadius: 20,\n backgroundColor: '#2563EB',\n justifyContent: 'center',\n alignItems: 'center',\n },\n});\n\nexport default React.memo(SearchAddChannel);\n"],"names":["React","props","_a","_b","_c","ch","_d","_e","_f","_g","_h","_i"],"mappings":"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"}
1
+ {"version":3,"file":"SearchAddChannel.js","sources":["../../../src/screens/Search/SearchAddChannel.tsx"],"sourcesContent":["import React, { useState, useEffect, useCallback, useRef } from 'react';\nimport {\n Text,\n Button,\n ButtonText,\n Box,\n Icon,\n HStack,\n Avatar,\n AvatarFallbackText,\n AvatarImage,\n AvatarBadge,\n AvatarGroup,\n Checkbox,\n CheckboxLabel,\n CheckboxIndicator,\n CheckboxIcon,\n CheckIcon,\n VStack,\n ScrollView,\n} from '@admin-layout/gluestack-ui-mobile';\nimport {\n TouchableOpacity,\n Dimensions,\n Keyboard,\n KeyboardEvent,\n TextInput,\n View,\n StyleSheet,\n SafeAreaView,\n} from 'react-native';\nimport { RoomType } from 'common';\nimport {\n useGetOrganizationMembersWithChannelsQuery,\n useGetChannelsByUserLazyQuery,\n useGetOrganizationMembersQuery,\n} from 'common/graphql';\n// import { NavigationRoutes } from '../../constants/routes';\nimport { AntDesign, SimpleLineIcons, MaterialCommunityIcons, Entypo } from '@expo/vector-icons';\nimport { Inbox, DialogMessages, DialogThreads } from '@messenger-box/platform-mobile';\n// import VirtualizedScrollView from '../../components/VirtualizedScrollView';\nimport { useIsFocused, useFocusEffect, useNavigation } from '@react-navigation/native';\nimport { userSelector } from '@adminide-stack/user-auth0-client';\nimport { useSelector } from 'react-redux';\nimport { startCase, orderBy, uniqBy } from 'lodash-es';\nimport { Feather, Octicons, MaterialIcons } from '@expo/vector-icons';\nimport { useDrawerLayout } from '../../hooks';\nimport { LoadingSpinnerDefault, SlackInput } from '../../components';\nimport colors from 'tailwindcss/colors';\nconst windowWidth = Dimensions.get('window').width;\nconst windowHeight = Dimensions.get('window').height;\n\nconst screenHeight = Dimensions.get('screen').height;\n\nconst defaultChannelType = [RoomType.Channel, RoomType.Private, RoomType.Public, RoomType.Direct];\nconst orgMemersDataFetchLimit = 10;\nexport const useKeyboard = () => {\n const [keyboardHeight, setKeyboardHeight] = useState(0);\n\n useEffect(() => {\n function onKeyboardDidShow(e: KeyboardEvent) {\n // Remove type here if not using TypeScript\n setKeyboardHeight(e?.endCoordinates?.height ?? 0);\n }\n\n function onKeyboardDidHide() {\n setKeyboardHeight(0);\n }\n\n const showSubscription = Keyboard.addListener('keyboardDidShow', onKeyboardDidShow);\n const hideSubscription = Keyboard.addListener('keyboardDidHide', onKeyboardDidHide);\n return () => {\n showSubscription.remove();\n hideSubscription.remove();\n };\n }, []);\n\n return keyboardHeight;\n};\n\n// const listData = [\n// { id: 'header1', type: 'header', title: 'Message with external people' },\n// { id: 'figma', title: 'Figma', type: 'app', appName: 'figma' },\n// { id: 'github', title: 'GitHub (deactivated)', type: 'app', appName: 'github' },\n// { id: 'huzaifa', title: 'Huzaifa Ali', type: 'user', picture: 'https://i.pravatar.cc/150?img=33' },\n// { id: 'muflah', title: 'Muflah Nasir', type: 'user', picture: 'https://i.pravatar.cc/150?img=60' },\n// { id: 'shubham', title: 'Shubham A', type: 'user', picture: 'https://i.pravatar.cc/150?img=12' },\n// { id: 'shubhamk', title: 'Shubham K', type: 'user', picture: 'https://i.pravatar.cc/150?img=11' },\n// { id: 'cdecode', title: 'cdecode', type: 'private' },\n// { id: 'general', title: 'general', type: 'channel' },\n// { id: 'mobile', title: 'mobile', type: 'private' },\n// ];\n\nconst SearchAddChannel = (props: any) => {\n const navigation = useNavigation<any>();\n const { orgName, organizationDetail } = useDrawerLayout();\n const isFocused = useIsFocused();\n const user = useSelector(userSelector);\n const [channels, setChannels] = useState<any>([]);\n const [initialOrgMembers, setInitialOrgMembers] = useState<any>([]);\n const [selectedItems, setSelectedItems] = useState<any[]>([]);\n const [searchText, setSearchText] = useState('');\n const [offset, setOffset] = useState(0);\n const [channelId, setChannelId] = useState<any>(null);\n const [isCreateNewChannel, setIsCreateNewChannel] = useState<boolean>(false);\n const keyboardHeight = useKeyboard();\n const inputRef = useRef<TextInput>(null);\n const [tags, setTags] = useState<any[]>([]);\n const labelExtractor = (tag: any) => (tag?.id ? tag?.id : tag?.userId);\n const [getChannelByUser, { loading: isChannelByUserLoading }] = useGetChannelsByUserLazyQuery();\n const {\n data,\n loading: oLoading,\n error: oError,\n refetch,\n } = useGetOrganizationMembersWithChannelsQuery({\n variables: {\n orgName: orgName,\n channelCriteria: {\n orgName: orgName,\n type: defaultChannelType,\n },\n offset: offset,\n limit: orgMemersDataFetchLimit,\n },\n fetchPolicy: 'cache-and-network',\n });\n\n useFocusEffect(\n React.useCallback(() => {\n refetch({\n orgName: orgName,\n channelCriteria: {\n orgName: orgName,\n type: defaultChannelType,\n },\n offset: offset,\n limit: orgMemersDataFetchLimit,\n });\n return () => {\n // Do something when the screen is unfocused\n // Useful for cleanup functions\n setChannels([]);\n setChannelId(null);\n setInitialOrgMembers([]);\n };\n }, [orgName]),\n );\n\n React.useEffect(() => {\n navigation.setOptions({\n headerLeft: (props: any) => (\n <TouchableOpacity onPress={() => navigation.goBack()}>\n <MaterialIcons size={20} name=\"close\" color={'black'} />\n </TouchableOpacity>\n ),\n });\n }, []);\n\n React.useEffect(() => {\n if (data?.channelsByUser) {\n const allChannels: any =\n data?.channelsByUser\n ?.filter((ch: any) =>\n ch.type == RoomType.Direct &&\n ch?.members?.length == 1 &&\n ch?.members?.filter((ch: any) => ch?.user?.id == user?.id)\n ? ch\n : ch?.members?.filter((m: any) => m?.user?.id != user?.id),\n )\n ?.map((i: any) => {\n const ch: any = { id: i?.id, title: i?.title, type: i?.type };\n const channelMembers =\n i.members\n ?.map((m: any) => m?.user)\n ?.filter((ch: any) =>\n i.members?.length == 1 && ch?.id == user?.id ? ch : ch?.id != user?.id,\n ) ?? null;\n const title =\n ch.type == RoomType.Direct\n ? channelMembers\n ?.map((u: any) => u?.givenName + ' ' + (u?.familyName ?? ''))\n ?.filter((mu: any) => mu)\n ?.join(', ') ?? ''\n : ch.title;\n ch.title = title;\n ch.channelImage = channelMembers[0]?.picture;\n ch.imageAcronym = startCase(channelMembers[0]?.username?.charAt(0));\n ch.members = channelMembers;\n ch.totalMembers = channelMembers?.length;\n ch.userId = null;\n ch.isOrgMembers = false;\n\n return ch;\n })\n ?.filter((ch: any) => ch) ?? [];\n\n const existingDirectChannelsToDelete = new Set(\n data?.channelsByUser?.map((ch: any) => ch?.members?.map((m: any) => m?.user?.id))?.flat(1),\n );\n\n const allOrgMembers: any =\n data?.getOrganizationMembers?.data\n ?.filter((m: any) => m?.user?.id != user?.id)\n .filter((obj: any) => !existingDirectChannelsToDelete.has(obj?.userId))\n ?.map((i: any) => {\n const ch: any = {\n id: null,\n title: i?.user?.givenName + ' ' + i?.user?.familyName,\n type: RoomType.Direct,\n channelImage: i?.user?.picture,\n imageAcronym: startCase(i?.user?.username?.charAt(0)),\n members: [],\n totalMembers: 1,\n userId: i?.user?.id,\n isOrgMembers: true,\n };\n\n return ch;\n })\n ?.filter((ch: any) => ch) ?? [];\n setChannels((oldChannels: any) =>\n uniqBy([...allChannels, ...allOrgMembers, ...oldChannels], ({ id, userId }) => id + userId),\n );\n setInitialOrgMembers((oldChannels: any) =>\n uniqBy([...allChannels, ...allOrgMembers, ...oldChannels], ({ id, userId }) => id + userId),\n );\n }\n }, [data]);\n\n React.useEffect(() => {\n if (channelId && tags?.length === 0) setChannelId(null);\n if (!channelId && tags?.length > 0) {\n const userIds = [\n ...new Set(\n tags?.map((t: any) => (t?.userId ? t?.userId : t?.members?.map((m: any) => m?.id)))?.flat(1),\n ),\n ];\n\n getChannelId(userIds);\n }\n console.log('channelid', channelId, ' tags?.length', tags?.length);\n }, [channelId, tags, orgName]);\n\n const getChannelId = React.useCallback(\n async (userIds: any[]) => {\n const res = await getChannelByUser({\n variables: {\n criteria: {\n orgName: orgName,\n type: RoomType.Direct,\n 'members.user': { $all: [...userIds, user?.id] },\n },\n limit: 1,\n },\n });\n\n if (res?.data?.channelsByUser?.length > 0) {\n setChannelId(res?.data?.channelsByUser?.[0]?.id);\n setIsCreateNewChannel(false);\n } else {\n setChannelId(null);\n setIsCreateNewChannel(true);\n }\n // ?.then((res) => {\n // if (res?.data?.channelsByUser?.length > 0) {\n // setChannelId(res?.data?.channelsByUser?.[0]?.id);\n // setInputFocusOut(true);\n // } else {\n // setChannelId(null);\n // setInputFocusOut(false);\n // }\n // });\n },\n [orgName, user],\n );\n\n // Toggle selection of an item\n const toggleItemSelection = (item: any) => {\n const itemExists = selectedItems.some(\n (selectedItem) =>\n (selectedItem.id && selectedItem.id === item.id) ||\n (selectedItem.userId && selectedItem.userId === item.userId),\n );\n\n if (itemExists) {\n setSelectedItems(\n selectedItems.filter(\n (selectedItem) =>\n !(\n (selectedItem.id && selectedItem.id === item.id) ||\n (selectedItem.userId && selectedItem.userId === item.userId)\n ),\n ),\n );\n } else {\n setSelectedItems([...selectedItems, item]);\n }\n };\n\n // Check if an item is selected\n const isItemSelected = (item: any) => {\n return selectedItems.some(\n (selectedItem) =>\n (selectedItem.id && selectedItem.id === item.id) ||\n (selectedItem.userId && selectedItem.userId === item.userId),\n );\n };\n\n // Remove a selected item (chip)\n const removeSelectedItem = (item: any) => {\n setSelectedItems(\n selectedItems.filter(\n (selectedItem) =>\n !(\n (selectedItem.id && selectedItem.id === item.id) ||\n (selectedItem.userId && selectedItem.userId === item.userId)\n ),\n ),\n );\n };\n\n // Render a selected item as a chip in the To: field\n const renderSelectedItemChip = (item: any, index: number) => {\n return (\n <View key={index} style={styles.chipContainer}>\n <Avatar size=\"xs\" style={styles.chipAvatar}>\n {item.channelImage ? (\n <AvatarImage source={{ uri: item.channelImage }} alt={item.title} />\n ) : (\n <AvatarFallbackText>{item.imageAcronym || item.title.charAt(0)}</AvatarFallbackText>\n )}\n </Avatar>\n <Text style={styles.chipText}>{item.title}</Text>\n </View>\n );\n };\n\n // Render list items (channels and users)\n const renderListItem = (item: any, index: number) => {\n // if (item.type === 'header') {\n // return (\n // <HStack key={index} style={styles.sectionHeader}>\n // <SimpleLineIcons name=\"bell\" size={16} color=\"#2563EB\" />\n // <Text style={styles.sectionHeaderText}>{item.title}</Text>\n // </HStack>\n // );\n // }\n\n return (\n <HStack key={index} style={styles.listItem}>\n <HStack style={styles.listItemLeft}>\n {/* {item.type === 'app' && item.appName === 'figma' && (\n <View style={styles.iconContainer}>\n <MaterialCommunityIcons name=\"sigma\" size={20} color=\"#F24E1E\" />\n </View>\n )} */}\n\n {/* {item.type === 'app' && item.appName === 'github' && (\n <View style={styles.iconContainer}>\n <AntDesign name=\"github\" size={20} color=\"#000\" />\n </View>\n )} */}\n\n {item.type == RoomType.Channel && (\n <View style={styles.iconContainer}>\n <Octicons name=\"hash\" size={20} color=\"#000\" />\n </View>\n )}\n\n {item.type == RoomType.Private && (\n <View style={styles.iconContainer}>\n <Octicons name=\"lock\" size={20} color=\"#000\" />\n </View>\n )}\n\n {item.type == RoomType.Direct && (\n <Avatar size=\"sm\" style={styles.userAvatar}>\n {item.channelImage ? (\n <AvatarImage source={{ uri: item.channelImage }} alt={item.title} />\n ) : (\n <AvatarFallbackText>{item.title.charAt(0)}</AvatarFallbackText>\n )}\n <AvatarBadge style={styles.onlineBadge} />\n </Avatar>\n )}\n\n <HStack style={styles.titleContainer}>\n <Text style={styles.itemTitle}>{item.title}</Text>\n {item.type === 'app' && (\n <View style={styles.appLabel}>\n <Text style={styles.appLabelText}>APP</Text>\n </View>\n )}\n </HStack>\n </HStack>\n\n <TouchableOpacity onPress={() => toggleItemSelection(item)}>\n {isItemSelected(item) ? (\n <View style={styles.checkedBox}>\n <Feather name=\"check\" size={18} color=\"#fff\" />\n </View>\n ) : (\n <View style={styles.uncheckedBox} />\n )}\n </TouchableOpacity>\n </HStack>\n );\n };\n\n // Sample data for the channel list\n // const listData = [\n // { id: 'header1', type: 'header', title: 'Message with external people' },\n // { id: 'figma', title: 'Figma', type: 'app', appName: 'figma' },\n // { id: 'github', title: 'GitHub (deactivated)', type: 'app', appName: 'github' },\n // { id: 'huzaifa', title: 'Huzaifa Ali', type: 'user', picture: 'https://i.pravatar.cc/150?img=33' },\n // { id: 'muflah', title: 'Muflah Nasir', type: 'user', picture: 'https://i.pravatar.cc/150?img=60' },\n // { id: 'shubham', title: 'Shubham A', type: 'user', picture: 'https://i.pravatar.cc/150?img=12' },\n // { id: 'shubhamk', title: 'Shubham K', type: 'user', picture: 'https://i.pravatar.cc/150?img=11' },\n // { id: 'cdecode', title: 'cdecode', type: 'private' },\n // { id: 'general', title: 'general', type: 'channel' },\n // { id: 'mobile', title: 'mobile', type: 'private' },\n // ];\n\n const listData = [{ id: 'header1', type: 'header', title: 'Message with external people' }, ...channels];\n\n const filteredData = searchText.trim()\n ? listData.filter(\n (item) => item.type !== 'header' && item.title.toLowerCase().includes(searchText.toLowerCase()),\n )\n : listData;\n\n return (\n <SafeAreaView style={{ flex: 1, backgroundColor: '#fff' }}>\n <Box style={styles.container}>\n {/* To: field with search */}\n <HStack style={styles.searchContainer}>\n <Text style={styles.toLabel}>To:</Text>\n <View style={styles.chipContainerWrapper}>\n <View style={styles.chipWrapView}>\n {selectedItems.map(renderSelectedItemChip)}\n <TextInput\n ref={inputRef}\n style={styles.searchInput}\n placeholder={selectedItems.length ? '' : 'Search for a channel or conversation'}\n placeholderTextColor=\"#9CA3AF\"\n value={searchText}\n onChange={(event) => setSearchText(event.nativeEvent.text)}\n />\n </View>\n </View>\n </HStack>\n\n {/* List of channels and people */}\n <ScrollView style={styles.listContainer}>{filteredData.map(renderListItem)}</ScrollView>\n\n {/* Message input at bottom */}\n <HStack style={styles.messageInputContainer}>\n <TextInput\n style={styles.messageInput}\n placeholder={`Message ${selectedItems.map((item) => item.title).join(', ')}`}\n placeholderTextColor=\"#9CA3AF\"\n />\n <TouchableOpacity style={styles.sendButton}>\n <Feather name=\"arrow-right\" size={22} color=\"#fff\" />\n </TouchableOpacity>\n </HStack>\n </Box>\n </SafeAreaView>\n );\n};\n\nconst styles = StyleSheet.create({\n container: {\n flex: 1,\n backgroundColor: '#fff',\n },\n header: {\n flexDirection: 'row',\n justifyContent: 'space-between',\n alignItems: 'center',\n paddingHorizontal: 16,\n paddingVertical: 12,\n borderBottomWidth: 1,\n borderBottomColor: '#E5E5E5',\n },\n headerTitle: {\n fontSize: 18,\n fontWeight: 'bold',\n },\n searchContainer: {\n paddingHorizontal: 16,\n paddingVertical: 12,\n borderBottomWidth: 1,\n borderBottomColor: '#E5E5E5',\n flexDirection: 'row',\n alignItems: 'flex-start',\n },\n toLabel: {\n fontSize: 16,\n marginRight: 8,\n marginTop: 8,\n color: '#374151',\n },\n chipContainerWrapper: {\n flex: 1,\n },\n chipWrapView: {\n flexDirection: 'row',\n flexWrap: 'wrap',\n },\n chipScrollView: {\n flex: 1,\n },\n chipScrollContent: {\n alignItems: 'center',\n flexDirection: 'row',\n flexWrap: 'wrap',\n },\n chipContainer: {\n flexDirection: 'row',\n alignItems: 'center',\n backgroundColor: '#EFF6FF',\n borderRadius: 4,\n paddingHorizontal: 8,\n paddingVertical: 6,\n marginRight: 8,\n marginBottom: 8,\n },\n chipAvatar: {\n width: 20,\n height: 20,\n marginRight: 4,\n },\n chipText: {\n color: '#1E40AF',\n fontSize: 14,\n },\n searchInput: {\n flex: 1,\n height: 40,\n fontSize: 16,\n minWidth: 100,\n },\n listContainer: {\n flex: 1,\n },\n sectionHeader: {\n flexDirection: 'row',\n alignItems: 'center',\n padding: 16,\n paddingBottom: 8,\n },\n sectionHeaderText: {\n marginLeft: 8,\n fontWeight: 'bold',\n fontSize: 16,\n color: '#374151',\n },\n listItem: {\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'space-between',\n paddingHorizontal: 16,\n paddingVertical: 12,\n },\n listItemLeft: {\n flexDirection: 'row',\n alignItems: 'center',\n flex: 1,\n },\n iconContainer: {\n width: 24,\n height: 24,\n justifyContent: 'center',\n alignItems: 'center',\n marginRight: 12,\n },\n userAvatar: {\n marginRight: 12,\n },\n onlineBadge: {\n width: 8,\n height: 8,\n backgroundColor: '#10B981',\n borderWidth: 1,\n borderColor: '#FFFFFF',\n bottom: 0,\n right: 0,\n },\n titleContainer: {\n flexDirection: 'row',\n alignItems: 'center',\n },\n itemTitle: {\n fontSize: 16,\n color: '#1F2937',\n },\n appLabel: {\n backgroundColor: '#E5E5E5',\n borderRadius: 4,\n paddingHorizontal: 6,\n paddingVertical: 2,\n marginLeft: 8,\n },\n appLabelText: {\n fontSize: 10,\n fontWeight: 'bold',\n color: '#4B5563',\n },\n uncheckedBox: {\n width: 22,\n height: 22,\n borderRadius: 4,\n borderWidth: 1,\n borderColor: '#D1D5DB',\n },\n checkedBox: {\n width: 22,\n height: 22,\n borderRadius: 4,\n backgroundColor: '#2563EB',\n justifyContent: 'center',\n alignItems: 'center',\n },\n messageInputContainer: {\n borderTopWidth: 1,\n borderTopColor: '#E5E5E5',\n paddingHorizontal: 16,\n paddingVertical: 12,\n flexDirection: 'row',\n alignItems: 'center',\n },\n messageInput: {\n flex: 1,\n height: 40,\n backgroundColor: '#F9FAFB',\n borderRadius: 20,\n paddingHorizontal: 16,\n marginRight: 12,\n fontSize: 16,\n },\n sendButton: {\n width: 40,\n height: 40,\n borderRadius: 20,\n backgroundColor: '#2563EB',\n justifyContent: 'center',\n alignItems: 'center',\n },\n});\n\nexport default React.memo(SearchAddChannel);\n"],"names":["React","props","_a","_b","_c","ch","_d","_e","_f","_g","_h","_i"],"mappings":"+1BAiBoB,UAAA,CAAW,GAAI,CAAA,QAAQ,CAAE,CAAA;AACxB,UAAA,CAAW,GAAI,CAAA,QAAQ,CAAE,CAAA;AACzB,UAAA,CAAW,GAAI,CAAA,QAAQ,CAAE,CAAA;AAC9C,MAAM,kBAAA,GAAqB,CAAC,QAAS,CAAA,OAAA,EAAS,SAAS,OAAS,EAAA,QAAA,CAAS,MAAQ,EAAA,QAAA,CAAS,MAAM,CAAA;AAChG,MAAM,uBAA0B,GAAA,EAAA;AACzB,MAAM,cAAc,MAAM;AAC/B,EAAA,MAAM,CAAC,cAAA,EAAgB,iBAAiB,CAAA,GAAI,SAAS,CAAC,CAAA;AACtD,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,SAAS,kBAAkB,CAAkB,EAAA;AAzBjD,MAAA,IAAA,EAAA,EAAA,EAAA;AA2BM,MAAA,iBAAA,CAAA,CAAkB,EAAG,GAAA,CAAA,EAAA,GAAA,CAAA,IAAA,IAAA,GAAA,MAAA,GAAA,CAAA,CAAA,cAAA,KAAH,IAAmB,GAAA,MAAA,GAAA,EAAA,CAAA,MAAA,KAAnB,YAA6B,CAAC,CAAA;AAAA;AAElD,IAAA,SAAS,iBAAoB,GAAA;AAC3B,MAAA,iBAAA,CAAkB,CAAC,CAAA;AAAA;AAErB,IAAA,MAAM,gBAAmB,GAAA,QAAA,CAAS,WAAY,CAAA,iBAAA,EAAmB,iBAAiB,CAAA;AAClF,IAAA,MAAM,gBAAmB,GAAA,QAAA,CAAS,WAAY,CAAA,iBAAA,EAAmB,iBAAiB,CAAA;AAClF,IAAA,OAAO,MAAM;AACX,MAAA,gBAAA,CAAiB,MAAO,EAAA;AACxB,MAAA,gBAAA,CAAiB,MAAO,EAAA;AAAA,KAC1B;AAAA,GACF,EAAG,EAAE,CAAA;AACL,EAAO,OAAA,cAAA;AACT;AAeA,MAAM,gBAAA,GAAmB,CAAC,KAAe,KAAA;AACvC,EAAA,MAAM,aAAa,aAAmB,EAAA;AACtC,EAAM,MAAA;AAAA,IACJ,OAAA;AAAA,IACA;AAAA,MACE,eAAgB,EAAA;AACpB,EAAkB,YAAa;AAC/B,EAAM,MAAA,IAAA,GAAO,YAAY,YAAY,CAAA;AACrC,EAAA,MAAM,CAAC,QAAU,EAAA,WAAW,CAAI,GAAA,QAAA,CAAc,EAAE,CAAA;AAChD,EAAA,MAAM,CAAC,iBAAmB,EAAA,oBAAoB,CAAI,GAAA,QAAA,CAAc,EAAE,CAAA;AAClE,EAAA,MAAM,CAAC,aAAe,EAAA,gBAAgB,CAAI,GAAA,QAAA,CAAgB,EAAE,CAAA;AAC5D,EAAA,MAAM,CAAC,UAAA,EAAY,aAAa,CAAA,GAAI,SAAS,EAAE,CAAA;AAC/C,EAAA,MAAM,CAAC,MAAA,EAAQ,SAAS,CAAA,GAAI,SAAS,CAAC,CAAA;AACtC,EAAA,MAAM,CAAC,SAAA,EAAW,YAAY,CAAA,GAAI,SAAc,IAAI,CAAA;AACpD,EAAA,MAAM,CAAC,kBAAA,EAAoB,qBAAqB,CAAA,GAAI,SAAkB,KAAK,CAAA;AAC3E,EAAuB,WAAY;AACnC,EAAM,MAAA,QAAA,GAAW,OAAkB,IAAI,CAAA;AACvC,EAAA,MAAM,CAAC,IAAM,EAAA,OAAO,CAAI,GAAA,QAAA,CAAgB,EAAE,CAAA;AAE1C,EAAA,MAAM,CAAC,gBAAkB,EAAA;AAAA,IACvB,OAAS,EAAA;AAAA,GACV,IAAI,6BAA8B,EAAA;AACnC,EAAM,MAAA;AAAA,IACJ,IAAA;AAAA,IACA,OAAS,EAAA,QAAA;AAAA,IACT,KAAO,EAAA,MAAA;AAAA,IACP;AAAA,MACE,0CAA2C,CAAA;AAAA,IAC7C,SAAW,EAAA;AAAA,MACT,OAAA;AAAA,MACA,eAAiB,EAAA;AAAA,QACf,OAAA;AAAA,QACA,IAAM,EAAA;AAAA,OACR;AAAA,MACA,MAAA;AAAA,MACA,KAAO,EAAA;AAAA,KACT;AAAA,IACA,WAAa,EAAA;AAAA,GACd,CAAA;AACD,EAAe,cAAA,CAAAA,cAAA,CAAM,YAAY,MAAM;AACrC,IAAQ,OAAA,CAAA;AAAA,MACN,OAAA;AAAA,MACA,eAAiB,EAAA;AAAA,QACf,OAAA;AAAA,QACA,IAAM,EAAA;AAAA,OACR;AAAA,MACA,MAAA;AAAA,MACA,KAAO,EAAA;AAAA,KACR,CAAA;AACD,IAAA,OAAO,MAAM;AAGX,MAAA,WAAA,CAAY,EAAE,CAAA;AACd,MAAA,YAAA,CAAa,IAAI,CAAA;AACjB,MAAA,oBAAA,CAAqB,EAAE,CAAA;AAAA,KACzB;AAAA,GACC,EAAA,CAAC,OAAO,CAAC,CAAC,CAAA;AACb,EAAAA,cAAA,CAAM,UAAU,MAAM;AACpB,IAAA,UAAA,CAAW,UAAW,CAAA;AAAA,MACpB,YAAY,CAACC,MAAAA,kDAAgB,gBAAiB,EAAA,EAAA,OAAA,EAAS,MAAM,UAAW,CAAA,MAAA,EAC1D,EAAA,kBAAAD,cAAA,CAAA,aAAA,CAAC,iBAAc,IAAM,EAAA,EAAA,EAAI,MAAK,OAAQ,EAAA,KAAA,EAAO,SAAS,CAC1D;AAAA,KACX,CAAA;AAAA,GACH,EAAG,EAAE,CAAA;AACL,EAAAA,cAAA,CAAM,UAAU,MAAM;AAvHxB,IAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA;AAwHI,IAAA,IAAI,6BAAM,cAAgB,EAAA;AACxB,MAAA,MAAM,eAAmB,EAAM,GAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAA,cAAA,KAAN,IAAsB,GAAA,MAAA,GAAA,EAAA,CAAA,MAAA,CAAO,CAAC,EAAS,KAAA;AAzHtE,QAAA,IAAAE,KAAAC,GAAAC,EAAAA,GAAAA;AAyHyE,QAAA,OAAA,EAAA,CAAG,QAAQ,QAAS,CAAA,MAAA,IAAA,CAAA,CAAUF,GAAA,GAAA,EAAA,IAAA,IAAA,GAAA,MAAA,GAAA,EAAA,CAAI,YAAJ,IAAAA,GAAAA,MAAAA,GAAAA,GAAAA,CAAa,MAAU,KAAA,CAAA,KAAA,CAAKC,MAAA,EAAI,IAAA,IAAA,GAAA,MAAA,GAAA,EAAA,CAAA,OAAA,KAAJ,gBAAAA,GAAa,CAAA,MAAA,CAAO,CAACE,GAAS,KAAA;AAzHjK,UAAAH,IAAAA,GAAAA;AAyHoK,UAAAA,OAAAA,CAAAA,CAAAA,GAAAA,GAAAG,OAAA,IAAAA,GAAAA,MAAAA,GAAAA,GAAAA,CAAI,SAAJ,IAAAH,GAAAA,MAAAA,GAAAA,GAAAA,CAAU,QAAM,IAAM,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAA,EAAA,CAAA;AAAA,SAAM,CAAA,CAAA,GAAA,EAAA,GAAA,CAAKE,MAAA,EAAI,IAAA,IAAA,GAAA,MAAA,GAAA,EAAA,CAAA,OAAA,KAAJ,gBAAAA,GAAa,CAAA,MAAA,CAAO,CAAC,CAAQ,KAAA;AAzHlO,UAAAF,IAAAA,GAAAA;AAyHqO,UAAA,OAAA,CAAA,CAAAA,MAAA,CAAG,IAAA,IAAA,GAAA,MAAA,GAAA,CAAA,CAAA,IAAA,KAAH,IAAAA,GAAAA,MAAAA,GAAAA,GAAAA,CAAS,QAAM,IAAM,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAA,EAAA,CAAA;AAAA,SAAA,CAAA;AAAA,OAA3N,CAAA,KAAA,IAAA,GAAA,MAAA,GAAA,EAAA,CAAiO,GAAI,CAAA,CAAC,CAAW,KAAA;AAzHhR,QAAA,IAAAA,KAAAC,GAAAC,EAAAA,GAAAA,EAAAE,KAAAC,GAAAC,EAAAA,GAAAA,EAAAC,KAAAC,GAAAC,EAAAA,GAAAA;AA0HQ,QAAA,MAAM,EAAU,GAAA;AAAA,UACd,IAAI,CAAG,IAAA,IAAA,GAAA,MAAA,GAAA,CAAA,CAAA,EAAA;AAAA,UACP,OAAO,CAAG,IAAA,IAAA,GAAA,MAAA,GAAA,CAAA,CAAA,KAAA;AAAA,UACV,MAAM,CAAG,IAAA,IAAA,GAAA,MAAA,GAAA,CAAA,CAAA;AAAA,SACX;AACA,QAAA,MAAM,kBAAiBP,GAAAD,GAAAA,CAAAA,GAAAA,GAAAA,CAAAD,GAAA,GAAA,CAAA,CAAE,YAAF,IAAAA,GAAAA,MAAAA,GAAAA,GAAAA,CAAW,GAAI,CAAA,CAAC,MAAW,CAAG,IAAA,IAAA,GAAA,MAAA,GAAA,CAAA,CAAA,IAAA,CAAA,KAA9B,gBAAAC,GAAqC,CAAA,MAAA,CAAO,CAACE,GAAS,KAAA;AA/HrF,UAAAH,IAAAA,GAAAA;AA+HwF,UAAA,OAAA,CAAA,CAAAA,MAAA,CAAE,CAAA,OAAA,KAAF,gBAAAA,GAAW,CAAA,MAAA,KAAU,MAAKG,GAAA,IAAA,IAAA,GAAA,MAAA,GAAAA,GAAI,CAAA,EAAA,MAAM,6BAAM,EAAKA,CAAAA,GAAAA,GAAAA,GAAAA,CAAKA,OAAA,IAAAA,GAAAA,MAAAA,GAAAA,GAAAA,CAAI,QAAM,IAAM,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAA,EAAA,CAAA;AAAA,SAAA,CAAA,KAA7H,OAAAD,GAAoI,GAAA,IAAA;AAC3J,QAAM,MAAA,KAAA,GAAQ,EAAG,CAAA,IAAA,IAAQ,QAAS,CAAA,MAAA,GAAA,CAASI,GAAAD,GAAAA,CAAAA,GAAAA,GAAAA,CAAAD,GAAA,GAAA,cAAA,IAAA,IAAA,GAAA,MAAA,GAAA,cAAA,CAAgB,GAAI,CAAA,CAAC,CAAQ,KAAA;AAhIhF,UAAAJ,IAAAA,GAAAA;AAgImF,UAAA,OAAA,CAAA,CAAA,IAAA,IAAA,GAAA,MAAA,GAAA,CAAA,CAAG,aAAY,GAAOA,IAAAA,CAAAA,GAAAA,GAAA,CAAG,IAAA,IAAA,GAAA,MAAA,GAAA,CAAA,CAAA,UAAA,KAAH,OAAAA,GAAiB,GAAA,EAAA,CAAA;AAAA,SAAA,CAAA,KAAvE,IAAAI,GAAAA,MAAAA,GAAAA,GAAAA,CAA6E,MAAO,CAAA,CAAC,EAAY,KAAA,EAAA,CAAA,KAAjG,IAAAC,GAAAA,MAAAA,GAAAA,GAAAA,CAAsG,IAAK,CAAA,IAAA,CAAA,KAA3G,IAAAC,GAAAA,GAAAA,GAAoH,KAAK,EAAG,CAAA,KAAA;AACvK,QAAA,EAAA,CAAG,KAAQ,GAAA,KAAA;AACX,QAAA,EAAA,CAAG,YAAeC,GAAAA,CAAAA,GAAAA,GAAA,cAAe,CAAA,CAAA,CAAA,KAAf,gBAAAA,GAAmB,CAAA,OAAA;AACrC,QAAA,EAAA,CAAG,YAAe,GAAA,SAAA,CAAA,CAAUE,GAAAD,GAAAA,CAAAA,GAAAA,GAAA,cAAe,CAAA,CAAA,CAAA,KAAf,IAAAA,GAAAA,MAAAA,GAAAA,GAAAA,CAAmB,QAAnB,KAAA,IAAA,GAAA,MAAA,GAAAC,GAA6B,CAAA,MAAA,CAAO,CAAE,CAAA,CAAA;AAClE,QAAA,EAAA,CAAG,OAAU,GAAA,cAAA;AACb,QAAA,EAAA,CAAG,eAAe,cAAgB,IAAA,IAAA,GAAA,MAAA,GAAA,cAAA,CAAA,MAAA;AAClC,QAAA,EAAA,CAAG,MAAS,GAAA,IAAA;AACZ,QAAA,EAAA,CAAG,YAAe,GAAA,KAAA;AAClB,QAAO,OAAA,EAAA;AAAA,aAfgB,IAgBrB,GAAA,MAAA,GAAA,EAAA,CAAA,MAAA,CAAO,CAAC,EAAY,KAAA,EAAA,CAAA,KAhBC,YAgBM,EAAC;AAChC,MAAM,MAAA,8BAAA,GAAiC,IAAI,GAAI,CAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAM,mBAAN,IAAsB,GAAA,MAAA,GAAA,EAAA,CAAA,GAAA,CAAI,CAAC,EAAS,KAAA;AA1IzF,QAAAT,IAAAA,GAAAA;AA0I4F,QAAA,OAAA,CAAAA,MAAA,EAAI,IAAA,IAAA,GAAA,MAAA,GAAA,EAAA,CAAA,OAAA,KAAJ,gBAAAA,GAAa,CAAA,GAAA,CAAI,CAAC,CAAQ,KAAA;AA1ItH,UAAAA,IAAAA,GAAAA;AA0IyH,UAAA,OAAA,CAAAA,GAAA,GAAA,CAAA,IAAA,IAAA,GAAA,MAAA,GAAA,CAAA,CAAG,IAAH,KAAA,IAAA,GAAA,MAAA,GAAAA,GAAS,CAAA,EAAA;AAAA,SAAA,CAAA;AAAA,OAA7E,CAAA,KAAA,IAAA,GAAA,MAAA,GAAA,EAAA,CAAmF,KAAK,CAAE,CAAA,CAAA;AACzI,MAAM,MAAA,aAAA,GAAA,CAAqB,0DAAM,sBAAN,KAAA,IAAA,GAAA,MAAA,GAAA,EAAA,CAA8B,SAA9B,IAAoC,GAAA,MAAA,GAAA,EAAA,CAAA,MAAA,CAAO,CAAC,CAAQ,KAAA;AA3IrF,QAAAA,IAAAA,GAAAA;AA2IwF,QAAA,OAAA,CAAA,CAAAA,MAAA,CAAG,IAAA,IAAA,GAAA,MAAA,GAAA,CAAA,CAAA,IAAA,KAAH,IAAAA,GAAAA,MAAAA,GAAAA,GAAAA,CAAS,QAAM,IAAM,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAA,EAAA,CAAA;AAAA,OAAA,CAAA,CAAI,MAAO,CAAA,CAAC,GAAa,KAAA,CAAC,8BAA+B,CAAA,GAAA,CAAI,GAAK,IAAA,IAAA,GAAA,MAAA,GAAA,GAAA,CAAA,MAAM,CAApJ,CAAA,KAAA,IAAA,GAAA,MAAA,GAAA,EAAA,CAAwJ,GAAI,CAAA,CAAC,CAAW,KAAA;AA3IzM,QAAA,IAAAA,GAAAC,EAAAA,GAAAA,EAAAC,GAAAE,EAAAA,GAAAA,EAAAC,GAAAC,EAAAA,GAAAA;AA4IQ,QAAA,MAAM,EAAU,GAAA;AAAA,UACd,EAAI,EAAA,IAAA;AAAA,UACJ,KAAON,EAAAA,CAAAA,CAAAA,GAAAA,GAAA,CAAG,IAAA,IAAA,GAAA,MAAA,GAAA,CAAA,CAAA,IAAA,KAAH,IAAAA,GAAAA,MAAAA,GAAAA,GAAAA,CAAS,SAAY,IAAA,GAAA,IAAA,CAAMC,GAAA,GAAA,CAAA,IAAA,IAAA,GAAA,MAAA,GAAA,CAAA,CAAG,IAAH,KAAA,IAAA,GAAA,MAAA,GAAAA,GAAS,CAAA,UAAA,CAAA;AAAA,UAC3C,MAAM,QAAS,CAAA,MAAA;AAAA,UACf,YAAcC,EAAAA,CAAAA,GAAAA,GAAA,CAAG,IAAA,IAAA,GAAA,MAAA,GAAA,CAAA,CAAA,IAAA,KAAH,gBAAAA,GAAS,CAAA,OAAA;AAAA,UACvB,YAAc,EAAA,SAAA,CAAA,CAAUG,GAAAD,GAAAA,CAAAA,GAAAA,GAAA,CAAG,IAAA,IAAA,GAAA,MAAA,GAAA,CAAA,CAAA,IAAA,KAAH,IAAAA,GAAAA,MAAAA,GAAAA,GAAAA,CAAS,QAAT,KAAA,IAAA,GAAA,MAAA,GAAAC,GAAmB,CAAA,MAAA,CAAO,CAAE,CAAA,CAAA;AAAA,UACpD,SAAS,EAAC;AAAA,UACV,YAAc,EAAA,CAAA;AAAA,UACd,MAAQC,EAAAA,CAAAA,GAAAA,GAAA,CAAG,IAAA,IAAA,GAAA,MAAA,GAAA,CAAA,CAAA,IAAA,KAAH,gBAAAA,GAAS,CAAA,EAAA;AAAA,UACjB,YAAc,EAAA;AAAA,SAChB;AACA,QAAO,OAAA,EAAA;AAAA,aAZkB,IAavB,GAAA,MAAA,GAAA,EAAA,CAAA,MAAA,CAAO,CAAC,EAAY,KAAA,EAAA,CAAA,KAbG,YAaI,EAAC;AAChC,MAAY,WAAA,CAAA,CAAC,WAAqB,KAAA,MAAA,CAAO,CAAC,GAAG,WAAa,EAAA,GAAG,aAAe,EAAA,GAAG,WAAW,CAAA,EAAG,CAAC;AAAA,QAC5F,EAAA;AAAA,QACA;AAAA,OACF,KAAM,EAAK,GAAA,MAAM,CAAC,CAAA;AAClB,MAAqB,oBAAA,CAAA,CAAC,WAAqB,KAAA,MAAA,CAAO,CAAC,GAAG,WAAa,EAAA,GAAG,aAAe,EAAA,GAAG,WAAW,CAAA,EAAG,CAAC;AAAA,QACrG,EAAA;AAAA,QACA;AAAA,OACF,KAAM,EAAK,GAAA,MAAM,CAAC,CAAA;AAAA;AACpB,GACF,EAAG,CAAC,IAAI,CAAC,CAAA;AACT,EAAAR,cAAA,CAAM,UAAU,MAAM;AAnKxB,IAAA,IAAA,EAAA;AAoKI,IAAI,IAAA,SAAA,IAAA,CAAa,6BAAM,MAAW,MAAA,CAAA;AAAG,MAAA,YAAA,CAAa,IAAI,CAAA;AACtD,IAAA,IAAI,CAAC,SAAA,IAAA,CAAa,IAAM,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAA,MAAA,IAAS,CAAG,EAAA;AAClC,MAAM,MAAA,OAAA,GAAU,CAAC,GAAG,IAAI,KAAI,EAAM,GAAA,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAA,GAAA,CAAI,CAAC,CAAQ,KAAA;AAtKrD,QAAAE,IAAAA,GAAAA;AAsKwD,QAAG,OAAA,CAAA,CAAA,IAAA,IAAA,GAAA,MAAA,GAAA,CAAA,CAAA,MAAA,IAAS,CAAG,IAAA,IAAA,GAAA,MAAA,GAAA,CAAA,CAAA,MAAA,GAAA,CAASA,GAAA,GAAA,CAAA,IAAA,IAAA,GAAA,MAAA,GAAA,CAAA,CAAG,OAAH,KAAA,IAAA,GAAA,MAAA,GAAAA,GAAY,CAAA,GAAA,CAAI,CAAC,CAAA,KAAW,CAAG,IAAA,IAAA,GAAA,MAAA,GAAA,CAAA,CAAA,EAAA,CAAA;AAAA,OAA7E,CAAA,KAAA,IAAA,GAAA,MAAA,GAAA,EAAA,CAAmF,IAAK,CAAA,CAAA,CAAE,CAAC,CAAA;AACvH,MAAA,YAAA,CAAa,OAAO,CAAA;AAAA;AAEtB,IAAA,OAAA,CAAQ,GAAI,CAAA,WAAA,EAAa,SAAW,EAAA,eAAA,EAAiB,6BAAM,MAAM,CAAA;AAAA,GAChE,EAAA,CAAC,SAAW,EAAA,IAAA,EAAM,OAAO,CAAC,CAAA;AAC7B,EAAA,MAAM,YAAe,GAAAF,cAAA,CAAM,WAAY,CAAA,OAAO,OAAmB,KAAA;AA3KnE,IAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA;AA4KI,IAAM,MAAA,GAAA,GAAM,MAAM,gBAAiB,CAAA;AAAA,MACjC,SAAW,EAAA;AAAA,QACT,QAAU,EAAA;AAAA,UACR,OAAA;AAAA,UACA,MAAM,QAAS,CAAA,MAAA;AAAA,UACf,cAAgB,EAAA;AAAA,YACd,IAAM,EAAA,CAAC,GAAG,OAAA,EAAS,6BAAM,EAAE;AAAA;AAC7B,SACF;AAAA,QACA,KAAO,EAAA;AAAA;AACT,KACD,CAAA;AACD,IAAA,IAAA,CAAA,CAAI,sCAAK,IAAL,KAAA,IAAA,GAAA,MAAA,GAAA,EAAA,CAAW,cAAX,KAAA,IAAA,GAAA,MAAA,GAAA,EAAA,CAA2B,UAAS,CAAG,EAAA;AACzC,MAAA,YAAA,CAAA,CAAa,4CAAK,IAAL,KAAA,IAAA,GAAA,MAAA,GAAA,EAAA,CAAW,mBAAX,IAA4B,GAAA,MAAA,GAAA,EAAA,CAAA,CAAA,CAAA,KAA5B,mBAAgC,EAAE,CAAA;AAC/C,MAAA,qBAAA,CAAsB,KAAK,CAAA;AAAA,KACtB,MAAA;AACL,MAAA,YAAA,CAAa,IAAI,CAAA;AACjB,MAAA,qBAAA,CAAsB,IAAI,CAAA;AAAA;AAC5B,GAUC,EAAA,CAAC,OAAS,EAAA,IAAI,CAAC,CAAA;AAGlB,EAAM,MAAA,mBAAA,GAAsB,CAAC,IAAc,KAAA;AACzC,IAAA,MAAM,UAAa,GAAA,aAAA,CAAc,IAAK,CAAA,CAAA,YAAA,KAAgB,aAAa,EAAM,IAAA,YAAA,CAAa,EAAO,KAAA,IAAA,CAAK,MAAM,YAAa,CAAA,MAAA,IAAU,YAAa,CAAA,MAAA,KAAW,KAAK,MAAM,CAAA;AAClK,IAAA,IAAI,UAAY,EAAA;AACd,MAAA,gBAAA,CAAiB,cAAc,MAAO,CAAA,CAAA,YAAA,KAAgB,EAAE,YAAA,CAAa,MAAM,YAAa,CAAA,EAAA,KAAO,IAAK,CAAA,EAAA,IAAM,aAAa,MAAU,IAAA,YAAA,CAAa,MAAW,KAAA,IAAA,CAAK,OAAO,CAAC,CAAA;AAAA,KACjK,MAAA;AACL,MAAA,gBAAA,CAAiB,CAAC,GAAG,aAAe,EAAA,IAAI,CAAC,CAAA;AAAA;AAC3C,GACF;AAGA,EAAM,MAAA,cAAA,GAAiB,CAAC,IAAc,KAAA;AACpC,IAAA,OAAO,aAAc,CAAA,IAAA,CAAK,CAAgB,YAAA,KAAA,YAAA,CAAa,MAAM,YAAa,CAAA,EAAA,KAAO,IAAK,CAAA,EAAA,IAAM,YAAa,CAAA,MAAA,IAAU,YAAa,CAAA,MAAA,KAAW,KAAK,MAAM,CAAA;AAAA,GACxJ;AAQA,EAAM,MAAA,sBAAA,GAAyB,CAAC,IAAA,EAAW,KAAkB,KAAA;AAC3D,IAAA,oDAAQ,IAAK,EAAA,EAAA,GAAA,EAAK,OAAO,KAAO,EAAA,MAAA,CAAO,iCAC1BA,cAAA,CAAA,aAAA,CAAA,MAAA,EAAA,EAAO,IAAK,EAAA,IAAA,EAAK,OAAO,MAAO,CAAA,UAAA,EAAA,EAC3B,KAAK,YAAe,mBAAAA,cAAA,CAAA,aAAA,CAAC,eAAY,MAAQ,EAAA;AAAA,MACpD,KAAK,IAAK,CAAA;AAAA,KACZ,EAAG,KAAK,IAAK,CAAA,KAAA,EAAO,oBAAMA,cAAA,CAAA,aAAA,CAAA,kBAAA,EAAA,IAAA,EAAoB,IAAK,CAAA,YAAA,IAAgB,IAAK,CAAA,KAAA,CAAM,OAAO,CAAC,CAAE,CAChF,CAAA,kBACCA,cAAA,CAAA,aAAA,CAAA,IAAA,EAAA,EAAK,OAAO,MAAO,CAAA,QAAA,EAAA,EAAW,IAAK,CAAA,KAAM,CAC9C,CAAA;AAAA,GACV;AAGA,EAAM,MAAA,cAAA,GAAiB,CAAC,IAAA,EAAW,KAAkB,KAAA;AAUnD,IAAA,uBAAQA,cAAA,CAAA,aAAA,CAAA,MAAA,EAAA,EAAO,GAAK,EAAA,KAAA,EAAO,KAAO,EAAA,MAAA,CAAO,QAC7B,EAAA,kBAAAA,cAAA,CAAA,aAAA,CAAC,MAAO,EAAA,EAAA,KAAA,EAAO,MAAO,CAAA,YAAA,EAAA,EAajB,KAAK,IAAQ,IAAA,QAAA,CAAS,OAAW,oBAAAA,cAAA,CAAA,aAAA,CAAC,IAAK,EAAA,EAAA,KAAA,EAAO,MAAO,CAAA,aAAA,EAAA,kBAC7CA,cAAA,CAAA,aAAA,CAAA,QAAA,EAAA,EAAS,IAAK,EAAA,MAAA,EAAO,IAAM,EAAA,EAAA,EAAI,KAAM,EAAA,MAAA,EAAO,CACjD,CAEH,EAAA,IAAA,CAAK,IAAQ,IAAA,QAAA,CAAS,OAAW,oBAAAA,cAAA,CAAA,aAAA,CAAC,IAAK,EAAA,EAAA,KAAA,EAAO,MAAO,CAAA,aAAA,EAAA,kBAC7CA,cAAA,CAAA,aAAA,CAAA,QAAA,EAAA,EAAS,IAAK,EAAA,MAAA,EAAO,IAAM,EAAA,EAAA,EAAI,OAAM,MAAO,EAAA,CACjD,CAEH,EAAA,IAAA,CAAK,IAAQ,IAAA,QAAA,CAAS,MAAU,oBAAAA,cAAA,CAAA,aAAA,CAAC,UAAO,IAAK,EAAA,IAAA,EAAK,KAAO,EAAA,MAAA,CAAO,UACxD,EAAA,EAAA,IAAA,CAAK,YAAe,mBAAAA,cAAA,CAAA,aAAA,CAAC,eAAY,MAAQ,EAAA;AAAA,MAC1D,KAAK,IAAK,CAAA;AAAA,OACT,GAAK,EAAA,IAAA,CAAK,KAAO,EAAA,CAAA,gDAAM,kBAAoB,EAAA,IAAA,EAAA,IAAA,CAAK,KAAM,CAAA,MAAA,CAAO,CAAC,CAAE,CAAA,+CAChD,WAAY,EAAA,EAAA,KAAA,EAAO,OAAO,WAAa,EAAA,CAC5C,CAEJ,kBAAAA,cAAA,CAAA,aAAA,CAAC,UAAO,KAAO,EAAA,MAAA,CAAO,kCACjBA,cAAA,CAAA,aAAA,CAAA,IAAA,EAAA,EAAK,OAAO,MAAO,CAAA,SAAA,EAAA,EAAY,IAAK,CAAA,KAAM,GAC1C,IAAK,CAAA,IAAA,KAAS,yBAAUA,cAAA,CAAA,aAAA,CAAA,IAAA,EAAA,EAAK,OAAO,MAAO,CAAA,QAAA,EAAA,kBACnCA,cAAA,CAAA,aAAA,CAAA,IAAA,EAAA,EAAK,OAAO,MAAO,CAAA,YAAA,EAAA,EAAc,KAAG,CACzC,CACR,CACJ,CAAA,kBAECA,cAAA,CAAA,aAAA,CAAA,gBAAA,EAAA,EAAiB,SAAS,MAAM,mBAAA,CAAoB,IAAI,CACpD,EAAA,EAAA,cAAA,CAAe,IAAI,CAAI,mBAAAA,cAAA,CAAA,aAAA,CAAC,IAAK,EAAA,EAAA,KAAA,EAAO,OAAO,UACpC,EAAA,kBAAAA,cAAA,CAAA,aAAA,CAAC,WAAQ,IAAK,EAAA,OAAA,EAAQ,MAAM,EAAI,EAAA,KAAA,EAAM,MAAO,EAAA,CACjD,oBAAWA,cAAA,CAAA,aAAA,CAAA,IAAA,EAAA,EAAK,OAAO,MAAO,CAAA,YAAA,EAAc,CACpD,CACJ,CAAA;AAAA,GACV;AAgBA,EAAA,MAAM,WAAW,CAAC;AAAA,IAChB,EAAI,EAAA,SAAA;AAAA,IACJ,IAAM,EAAA,QAAA;AAAA,IACN,KAAO,EAAA;AAAA,GACT,EAAG,GAAG,QAAQ,CAAA;AACd,EAAA,MAAM,eAAe,UAAW,CAAA,IAAA,KAAS,QAAS,CAAA,MAAA,CAAO,UAAQ,IAAK,CAAA,IAAA,KAAS,YAAY,IAAK,CAAA,KAAA,CAAM,aAAc,CAAA,QAAA,CAAS,WAAW,WAAY,EAAC,CAAC,CAAI,GAAA,QAAA;AAC1J,EAAO,uBAAAA,cAAA,CAAA,aAAA,CAAC,gBAAa,KAAO,EAAA;AAAA,IAC1B,IAAM,EAAA,CAAA;AAAA,IACN,eAAiB,EAAA;AAAA,GACnB,EAAA,kBACWA,cAAA,CAAA,aAAA,CAAA,GAAA,EAAA,EAAI,KAAO,EAAA,MAAA,CAAO,6BAEdA,cAAA,CAAA,aAAA,CAAA,MAAA,EAAA,EAAO,KAAO,EAAA,MAAA,CAAO,eAClB,EAAA,kBAAAA,cAAA,CAAA,aAAA,CAAC,QAAK,KAAO,EAAA,MAAA,CAAO,OAAS,EAAA,EAAA,KAAG,CAChC,kBAAAA,cAAA,CAAA,aAAA,CAAC,QAAK,KAAO,EAAA,MAAA,CAAO,oBAChB,EAAA,kBAAAA,cAAA,CAAA,aAAA,CAAC,IAAK,EAAA,EAAA,KAAA,EAAO,OAAO,YACf,EAAA,EAAA,aAAA,CAAc,GAAI,CAAA,sBAAsB,CACzC,kBAAAA,cAAA,CAAA,aAAA,CAAC,aAAU,GAAK,EAAA,QAAA,EAAU,KAAO,EAAA,MAAA,CAAO,WAAa,EAAA,WAAA,EAAa,cAAc,MAAS,GAAA,EAAA,GAAK,sCAAwC,EAAA,oBAAA,EAAqB,SAAU,EAAA,KAAA,EAAO,YAAY,QAAU,EAAA,CAAA,KAAA,KAAS,aAAc,CAAA,KAAA,CAAM,WAAY,CAAA,IAAI,GAAG,CACtP,CACJ,CACJ,CAAA,kBAGCA,cAAA,CAAA,aAAA,CAAA,UAAA,EAAA,EAAW,OAAO,MAAO,CAAA,aAAA,EAAA,EAAgB,YAAa,CAAA,GAAA,CAAI,cAAc,CAAE,mBAG1EA,cAAA,CAAA,aAAA,CAAA,MAAA,EAAA,EAAO,KAAO,EAAA,MAAA,CAAO,qBAClB,EAAA,kBAAAA,cAAA,CAAA,aAAA,CAAC,aAAU,KAAO,EAAA,MAAA,CAAO,YAAc,EAAA,WAAA,EAAa,CAAW,QAAA,EAAA,aAAA,CAAc,IAAI,CAAQ,IAAA,KAAA,IAAA,CAAK,KAAK,CAAA,CAAE,IAAK,CAAA,IAAI,KAAK,oBAAqB,EAAA,SAAA,EAAU,CAClJ,kBAAAA,cAAA,CAAA,aAAA,CAAC,gBAAiB,EAAA,EAAA,KAAA,EAAO,OAAO,UAC5B,EAAA,kBAAAA,cAAA,CAAA,aAAA,CAAC,OAAQ,EAAA,EAAA,IAAA,EAAK,aAAc,EAAA,IAAA,EAAM,EAAI,EAAA,KAAA,EAAM,MAAO,EAAA,CACvD,CACJ,CACJ,CACJ,CAAA;AACR,CAAA;AACA,MAAM,MAAA,GAAS,WAAW,MAAO,CAAA;AAAA,EAC/B,SAAW,EAAA;AAAA,IACT,IAAM,EAAA,CAAA;AAAA,IACN,eAAiB,EAAA;AAAA,GACnB;AAAA,EACA,MAAQ,EAAA;AAAA,IACN,aAAe,EAAA,KAAA;AAAA,IACf,cAAgB,EAAA,eAAA;AAAA,IAChB,UAAY,EAAA,QAAA;AAAA,IACZ,iBAAmB,EAAA,EAAA;AAAA,IACnB,eAAiB,EAAA,EAAA;AAAA,IACjB,iBAAmB,EAAA,CAAA;AAAA,IACnB,iBAAmB,EAAA;AAAA,GACrB;AAAA,EACA,WAAa,EAAA;AAAA,IACX,QAAU,EAAA,EAAA;AAAA,IACV,UAAY,EAAA;AAAA,GACd;AAAA,EACA,eAAiB,EAAA;AAAA,IACf,iBAAmB,EAAA,EAAA;AAAA,IACnB,eAAiB,EAAA,EAAA;AAAA,IACjB,iBAAmB,EAAA,CAAA;AAAA,IACnB,iBAAmB,EAAA,SAAA;AAAA,IACnB,aAAe,EAAA,KAAA;AAAA,IACf,UAAY,EAAA;AAAA,GACd;AAAA,EACA,OAAS,EAAA;AAAA,IACP,QAAU,EAAA,EAAA;AAAA,IACV,WAAa,EAAA,CAAA;AAAA,IACb,SAAW,EAAA,CAAA;AAAA,IACX,KAAO,EAAA;AAAA,GACT;AAAA,EACA,oBAAsB,EAAA;AAAA,IACpB,IAAM,EAAA;AAAA,GACR;AAAA,EACA,YAAc,EAAA;AAAA,IACZ,aAAe,EAAA,KAAA;AAAA,IACf,QAAU,EAAA;AAAA,GACZ;AAAA,EACA,cAAgB,EAAA;AAAA,IACd,IAAM,EAAA;AAAA,GACR;AAAA,EACA,iBAAmB,EAAA;AAAA,IACjB,UAAY,EAAA,QAAA;AAAA,IACZ,aAAe,EAAA,KAAA;AAAA,IACf,QAAU,EAAA;AAAA,GACZ;AAAA,EACA,aAAe,EAAA;AAAA,IACb,aAAe,EAAA,KAAA;AAAA,IACf,UAAY,EAAA,QAAA;AAAA,IACZ,eAAiB,EAAA,SAAA;AAAA,IACjB,YAAc,EAAA,CAAA;AAAA,IACd,iBAAmB,EAAA,CAAA;AAAA,IACnB,eAAiB,EAAA,CAAA;AAAA,IACjB,WAAa,EAAA,CAAA;AAAA,IACb,YAAc,EAAA;AAAA,GAChB;AAAA,EACA,UAAY,EAAA;AAAA,IACV,KAAO,EAAA,EAAA;AAAA,IACP,MAAQ,EAAA,EAAA;AAAA,IACR,WAAa,EAAA;AAAA,GACf;AAAA,EACA,QAAU,EAAA;AAAA,IACR,KAAO,EAAA,SAAA;AAAA,IACP,QAAU,EAAA;AAAA,GACZ;AAAA,EACA,WAAa,EAAA;AAAA,IACX,IAAM,EAAA,CAAA;AAAA,IACN,MAAQ,EAAA,EAAA;AAAA,IACR,QAAU,EAAA,EAAA;AAAA,IACV,QAAU,EAAA;AAAA,GACZ;AAAA,EACA,aAAe,EAAA;AAAA,IACb,IAAM,EAAA;AAAA,GACR;AAAA,EACA,aAAe,EAAA;AAAA,IACb,aAAe,EAAA,KAAA;AAAA,IACf,UAAY,EAAA,QAAA;AAAA,IACZ,OAAS,EAAA,EAAA;AAAA,IACT,aAAe,EAAA;AAAA,GACjB;AAAA,EACA,iBAAmB,EAAA;AAAA,IACjB,UAAY,EAAA,CAAA;AAAA,IACZ,UAAY,EAAA,MAAA;AAAA,IACZ,QAAU,EAAA,EAAA;AAAA,IACV,KAAO,EAAA;AAAA,GACT;AAAA,EACA,QAAU,EAAA;AAAA,IACR,aAAe,EAAA,KAAA;AAAA,IACf,UAAY,EAAA,QAAA;AAAA,IACZ,cAAgB,EAAA,eAAA;AAAA,IAChB,iBAAmB,EAAA,EAAA;AAAA,IACnB,eAAiB,EAAA;AAAA,GACnB;AAAA,EACA,YAAc,EAAA;AAAA,IACZ,aAAe,EAAA,KAAA;AAAA,IACf,UAAY,EAAA,QAAA;AAAA,IACZ,IAAM,EAAA;AAAA,GACR;AAAA,EACA,aAAe,EAAA;AAAA,IACb,KAAO,EAAA,EAAA;AAAA,IACP,MAAQ,EAAA,EAAA;AAAA,IACR,cAAgB,EAAA,QAAA;AAAA,IAChB,UAAY,EAAA,QAAA;AAAA,IACZ,WAAa,EAAA;AAAA,GACf;AAAA,EACA,UAAY,EAAA;AAAA,IACV,WAAa,EAAA;AAAA,GACf;AAAA,EACA,WAAa,EAAA;AAAA,IACX,KAAO,EAAA,CAAA;AAAA,IACP,MAAQ,EAAA,CAAA;AAAA,IACR,eAAiB,EAAA,SAAA;AAAA,IACjB,WAAa,EAAA,CAAA;AAAA,IACb,WAAa,EAAA,SAAA;AAAA,IACb,MAAQ,EAAA,CAAA;AAAA,IACR,KAAO,EAAA;AAAA,GACT;AAAA,EACA,cAAgB,EAAA;AAAA,IACd,aAAe,EAAA,KAAA;AAAA,IACf,UAAY,EAAA;AAAA,GACd;AAAA,EACA,SAAW,EAAA;AAAA,IACT,QAAU,EAAA,EAAA;AAAA,IACV,KAAO,EAAA;AAAA,GACT;AAAA,EACA,QAAU,EAAA;AAAA,IACR,eAAiB,EAAA,SAAA;AAAA,IACjB,YAAc,EAAA,CAAA;AAAA,IACd,iBAAmB,EAAA,CAAA;AAAA,IACnB,eAAiB,EAAA,CAAA;AAAA,IACjB,UAAY,EAAA;AAAA,GACd;AAAA,EACA,YAAc,EAAA;AAAA,IACZ,QAAU,EAAA,EAAA;AAAA,IACV,UAAY,EAAA,MAAA;AAAA,IACZ,KAAO,EAAA;AAAA,GACT;AAAA,EACA,YAAc,EAAA;AAAA,IACZ,KAAO,EAAA,EAAA;AAAA,IACP,MAAQ,EAAA,EAAA;AAAA,IACR,YAAc,EAAA,CAAA;AAAA,IACd,WAAa,EAAA,CAAA;AAAA,IACb,WAAa,EAAA;AAAA,GACf;AAAA,EACA,UAAY,EAAA;AAAA,IACV,KAAO,EAAA,EAAA;AAAA,IACP,MAAQ,EAAA,EAAA;AAAA,IACR,YAAc,EAAA,CAAA;AAAA,IACd,eAAiB,EAAA,SAAA;AAAA,IACjB,cAAgB,EAAA,QAAA;AAAA,IAChB,UAAY,EAAA;AAAA,GACd;AAAA,EACA,qBAAuB,EAAA;AAAA,IACrB,cAAgB,EAAA,CAAA;AAAA,IAChB,cAAgB,EAAA,SAAA;AAAA,IAChB,iBAAmB,EAAA,EAAA;AAAA,IACnB,eAAiB,EAAA,EAAA;AAAA,IACjB,aAAe,EAAA,KAAA;AAAA,IACf,UAAY,EAAA;AAAA,GACd;AAAA,EACA,YAAc,EAAA;AAAA,IACZ,IAAM,EAAA,CAAA;AAAA,IACN,MAAQ,EAAA,EAAA;AAAA,IACR,eAAiB,EAAA,SAAA;AAAA,IACjB,YAAc,EAAA,EAAA;AAAA,IACd,iBAAmB,EAAA,EAAA;AAAA,IACnB,WAAa,EAAA,EAAA;AAAA,IACb,QAAU,EAAA;AAAA,GACZ;AAAA,EACA,UAAY,EAAA;AAAA,IACV,KAAO,EAAA,EAAA;AAAA,IACP,MAAQ,EAAA,EAAA;AAAA,IACR,YAAc,EAAA,EAAA;AAAA,IACd,eAAiB,EAAA,SAAA;AAAA,IACjB,cAAgB,EAAA,QAAA;AAAA,IAChB,UAAY,EAAA;AAAA;AAEhB,CAAC,CAAA;AACD,yBAAeA,cAAA,CAAM,KAAK,gBAAgB,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@messenger-box/slack-ui-mobile",
3
- "version": "10.0.3-alpha.35",
3
+ "version": "10.0.3-alpha.37",
4
4
  "description": "Slack ui ref mobile package",
5
5
  "license": "ISC",
6
6
  "author": "CDMBase LLC",
@@ -23,7 +23,7 @@
23
23
  "watch-ts": "tsc --watch"
24
24
  },
25
25
  "dependencies": {
26
- "@messenger-box/platform-mobile": "10.0.3-alpha.34"
26
+ "@messenger-box/platform-mobile": "10.0.3-alpha.37"
27
27
  },
28
28
  "devDependencies": {
29
29
  "cp-cli": "^2.0.0"
@@ -48,5 +48,5 @@
48
48
  "typescript": {
49
49
  "definition": "lib/index.d.ts"
50
50
  },
51
- "gitHead": "9e913e5f14825e3e1d1376fe96823896378642c0"
51
+ "gitHead": "4a360a1be756050ed8c3c1cd61a037c6109f8866"
52
52
  }
@@ -1,247 +0,0 @@
1
- import {setup,assign}from'xstate';import {merge}from'lodash-es';var __defProp = Object.defineProperty;
2
- var __defProps = Object.defineProperties;
3
- var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
4
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
7
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
8
- var __spreadValues = (a, b) => {
9
- for (var prop in b || (b = {}))
10
- if (__hasOwnProp.call(b, prop))
11
- __defNormalProp(a, prop, b[prop]);
12
- if (__getOwnPropSymbols)
13
- for (var prop of __getOwnPropSymbols(b)) {
14
- if (__propIsEnum.call(b, prop))
15
- __defNormalProp(a, prop, b[prop]);
16
- }
17
- return a;
18
- };
19
- var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
20
- var BaseState = /* @__PURE__ */ ((BaseState2) => {
21
- BaseState2["Idle"] = "idle";
22
- BaseState2["Error"] = "error";
23
- BaseState2["Loading"] = "loading";
24
- BaseState2["Done"] = "done";
25
- BaseState2["FetchData"] = "fetchData";
26
- return BaseState2;
27
- })(BaseState || {});
28
- setup({
29
- types: {
30
- context: {},
31
- events: {}
32
- },
33
- actions: {
34
- errorState: assign(({
35
- context,
36
- event
37
- }) => {
38
- var _a;
39
- return __spreadProps(__spreadValues({}, context), {
40
- error: ((_a = event.data) == null ? void 0 : _a.message) || "An error occurred",
41
- loading: false,
42
- channelsLoading: false,
43
- moreChannelsLoading: false
44
- });
45
- }),
46
- handleEmptyData: assign(({
47
- context
48
- }) => {
49
- console.log("No data available, setting loading to false");
50
- return __spreadProps(__spreadValues({}, context), {
51
- loading: false,
52
- channelsLoading: false,
53
- moreChannelsLoading: false
54
- });
55
- }),
56
- setInitialContext: assign(({
57
- context,
58
- event
59
- }) => {
60
- var _a;
61
- return merge(__spreadProps(__spreadValues({}, context), {
62
- orgName: ((_a = event.data) == null ? void 0 : _a.orgName) || null,
63
- loading: true,
64
- channelsLoading: true
65
- }));
66
- }),
67
- setChannels: assign(({
68
- context,
69
- event
70
- }) => {
71
- var _a;
72
- return __spreadProps(__spreadValues({}, context), {
73
- channels: ((_a = event.data) == null ? void 0 : _a.channels) || [],
74
- channelsLoading: false,
75
- loading: false
76
- });
77
- }),
78
- addMoreChannels: assign(({
79
- context,
80
- event
81
- }) => {
82
- var _a;
83
- const newChannels = ((_a = event.data) == null ? void 0 : _a.channels) || [];
84
- const showMore = newChannels.length > 0;
85
- return __spreadProps(__spreadValues({}, context), {
86
- channels: [...context.channels, ...newChannels],
87
- moreChannelsLoading: false,
88
- showMoreChannels: showMore
89
- });
90
- }),
91
- updateChannelsSkip: assign(({
92
- context
93
- }) => {
94
- return __spreadProps(__spreadValues({}, context), {
95
- channelsSkip: context.channels.length,
96
- moreChannelsLoading: true
97
- });
98
- }),
99
- clearData: assign(({
100
- context
101
- }) => {
102
- return __spreadProps(__spreadValues({}, context), {
103
- channels: [],
104
- channelsSkip: 0,
105
- showMoreChannels: true
106
- });
107
- }),
108
- startLoading: assign(({
109
- context
110
- }) => {
111
- return __spreadProps(__spreadValues({}, context), {
112
- loading: true
113
- });
114
- }),
115
- stopLoading: assign(({
116
- context
117
- }) => {
118
- return __spreadProps(__spreadValues({}, context), {
119
- loading: false,
120
- channelsLoading: false,
121
- moreChannelsLoading: false
122
- });
123
- }),
124
- startChannelsLoading: assign(({
125
- context
126
- }) => {
127
- return __spreadProps(__spreadValues({}, context), {
128
- channelsLoading: true
129
- });
130
- })
131
- },
132
- guards: {
133
- hasMoreChannels: ({
134
- context
135
- }) => {
136
- return context.showMoreChannels;
137
- }
138
- },
139
- schemas: {
140
- events: {
141
- type: "object",
142
- properties: {
143
- type: {
144
- type: "string"
145
- },
146
- data: {
147
- type: "object"
148
- }
149
- },
150
- required: ["type"]
151
- }
152
- }
153
- }).createMachine({
154
- id: "channels",
155
- initial: "idle" /* Idle */,
156
- context: {
157
- orgName: null,
158
- channels: [],
159
- loading: false,
160
- channelsLoading: false,
161
- moreChannelsLoading: false,
162
- error: null,
163
- channelsSkip: 0,
164
- showMoreChannels: true
165
- },
166
- states: {
167
- ["idle" /* Idle */]: {
168
- on: {
169
- ["INITIAL_CONTEXT" /* INITIAL_CONTEXT */]: {
170
- target: "fetchData" /* FetchData */,
171
- actions: ["setInitialContext"]
172
- },
173
- ["FETCH_MORE_CHANNELS" /* FETCH_MORE_CHANNELS */]: {
174
- target: "fetchMoreChannels" /* FetchMoreChannels */,
175
- actions: ["updateChannelsSkip"],
176
- guard: "hasMoreChannels"
177
- },
178
- ["REFETCH_CHANNELS" /* REFETCH_CHANNELS */]: {
179
- target: "refetchChannels" /* RefetchChannels */,
180
- actions: ["startChannelsLoading"]
181
- },
182
- ["CLEAR_DATA" /* CLEAR_DATA */]: {
183
- target: "idle" /* Idle */,
184
- actions: ["clearData"]
185
- },
186
- ["START_LOADING" /* START_LOADING */]: {
187
- target: "idle" /* Idle */,
188
- actions: ["startLoading"]
189
- },
190
- ["STOP_LOADING" /* STOP_LOADING */]: {
191
- target: "idle" /* Idle */,
192
- actions: ["stopLoading"]
193
- }
194
- }
195
- },
196
- ["error" /* Error */]: {
197
- entry: ["errorState"],
198
- on: {
199
- ["ERROR_HANDLED" /* ERROR_HANDLED */]: {
200
- target: "idle" /* Idle */
201
- }
202
- }
203
- },
204
- ["fetchData" /* FetchData */]: {
205
- on: {
206
- ["SET_CHANNELS" /* SET_CHANNELS */]: {
207
- target: "idle" /* Idle */,
208
- actions: ["setChannels"]
209
- },
210
- TIMEOUT: {
211
- target: "idle" /* Idle */,
212
- actions: ["handleEmptyData"]
213
- }
214
- },
215
- after: {
216
- 5e3: {
217
- target: "idle" /* Idle */,
218
- actions: ["handleEmptyData"]
219
- }
220
- }
221
- },
222
- ["fetchMoreChannels" /* FetchMoreChannels */]: {
223
- on: {
224
- ["FETCH_MORE_CHANNELS_SUCCESS" /* FETCH_MORE_CHANNELS_SUCCESS */]: {
225
- target: "idle" /* Idle */,
226
- actions: ["addMoreChannels"]
227
- },
228
- ["ERROR" /* ERROR */]: {
229
- target: "error" /* Error */,
230
- actions: []
231
- }
232
- }
233
- },
234
- ["refetchChannels" /* RefetchChannels */]: {
235
- on: {
236
- ["SET_CHANNELS" /* SET_CHANNELS */]: {
237
- target: "idle" /* Idle */,
238
- actions: ["setChannels"]
239
- },
240
- ["ERROR" /* ERROR */]: {
241
- target: "error" /* Error */,
242
- actions: []
243
- }
244
- }
245
- }
246
- }
247
- });export{BaseState};//# sourceMappingURL=channels-xstate.js.map