@planningcenter/chat-react-native 3.32.1-rc.0 → 3.33.0-rc.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/components/conversation/message_form.d.ts.map +1 -1
- package/build/components/conversation/message_form.js +22 -1
- package/build/components/conversation/message_form.js.map +1 -1
- package/build/components/display/emoji_avatar.d.ts.map +1 -1
- package/build/components/display/emoji_avatar.js +2 -0
- package/build/components/display/emoji_avatar.js.map +1 -1
- package/build/components/display/icon_avatar.d.ts.map +1 -1
- package/build/components/display/icon_avatar.js +2 -0
- package/build/components/display/icon_avatar.js.map +1 -1
- package/build/components/display/utils/avatar_gradient_colors.d.ts +3 -0
- package/build/components/display/utils/avatar_gradient_colors.d.ts.map +1 -1
- package/build/components/display/utils/avatar_gradient_colors.js +8 -3
- package/build/components/display/utils/avatar_gradient_colors.js.map +1 -1
- package/build/components/page/error_boundary.d.ts.map +1 -1
- package/build/components/page/error_boundary.js +13 -10
- package/build/components/page/error_boundary.js.map +1 -1
- package/build/components/primitive/avatar_primitive.d.ts +3 -1
- package/build/components/primitive/avatar_primitive.d.ts.map +1 -1
- package/build/components/primitive/avatar_primitive.js +10 -2
- package/build/components/primitive/avatar_primitive.js.map +1 -1
- package/build/contexts/api_provider.d.ts.map +1 -1
- package/build/contexts/api_provider.js +2 -0
- package/build/contexts/api_provider.js.map +1 -1
- package/build/hooks/attachments/fallback_chat_configuration.d.ts +4 -0
- package/build/hooks/attachments/fallback_chat_configuration.d.ts.map +1 -0
- package/build/hooks/attachments/fallback_chat_configuration.js +59 -0
- package/build/hooks/attachments/fallback_chat_configuration.js.map +1 -0
- package/build/hooks/groups/use_groups_conversation_create.d.ts.map +1 -1
- package/build/hooks/groups/use_groups_conversation_create.js +1 -1
- package/build/hooks/groups/use_groups_conversation_create.js.map +1 -1
- package/build/hooks/services/use_find_or_create_services_conversation.d.ts +43 -11
- package/build/hooks/services/use_find_or_create_services_conversation.d.ts.map +1 -1
- package/build/hooks/services/use_find_or_create_services_conversation.js +5 -5
- package/build/hooks/services/use_find_or_create_services_conversation.js.map +1 -1
- package/build/hooks/use_attachment_uploader.d.ts.map +1 -1
- package/build/hooks/use_attachment_uploader.js +39 -14
- package/build/hooks/use_attachment_uploader.js.map +1 -1
- package/build/hooks/use_chat_configuration.d.ts +6 -0
- package/build/hooks/use_chat_configuration.d.ts.map +1 -0
- package/build/hooks/use_chat_configuration.js +41 -0
- package/build/hooks/use_chat_configuration.js.map +1 -0
- package/build/hooks/use_conversation_avatar_update.d.ts +26 -0
- package/build/hooks/use_conversation_avatar_update.d.ts.map +1 -0
- package/build/hooks/use_conversation_avatar_update.js +130 -0
- package/build/hooks/use_conversation_avatar_update.js.map +1 -0
- package/build/hooks/use_features.d.ts +1 -0
- package/build/hooks/use_features.d.ts.map +1 -1
- package/build/hooks/use_features.js +1 -0
- package/build/hooks/use_features.js.map +1 -1
- package/build/navigation/index.d.ts +16 -0
- package/build/navigation/index.d.ts.map +1 -1
- package/build/navigation/index.js +9 -0
- package/build/navigation/index.js.map +1 -1
- package/build/screens/avatar_picker/avatar_picker_screen.d.ts +12 -0
- package/build/screens/avatar_picker/avatar_picker_screen.d.ts.map +1 -0
- package/build/screens/avatar_picker/avatar_picker_screen.js +193 -0
- package/build/screens/avatar_picker/avatar_picker_screen.js.map +1 -0
- package/build/screens/avatar_picker/avatar_picker_state.d.ts +38 -0
- package/build/screens/avatar_picker/avatar_picker_state.d.ts.map +1 -0
- package/build/screens/avatar_picker/avatar_picker_state.js +101 -0
- package/build/screens/avatar_picker/avatar_picker_state.js.map +1 -0
- package/build/screens/avatar_picker/avatar_preview.d.ts +9 -0
- package/build/screens/avatar_picker/avatar_preview.d.ts.map +1 -0
- package/build/screens/avatar_picker/avatar_preview.js +39 -0
- package/build/screens/avatar_picker/avatar_preview.js.map +1 -0
- package/build/screens/avatar_picker/color_picker.d.ts +9 -0
- package/build/screens/avatar_picker/color_picker.d.ts.map +1 -0
- package/build/screens/avatar_picker/color_picker.js +53 -0
- package/build/screens/avatar_picker/color_picker.js.map +1 -0
- package/build/screens/avatar_picker/constants.d.ts +3 -0
- package/build/screens/avatar_picker/constants.d.ts.map +1 -0
- package/build/screens/avatar_picker/constants.js +53 -0
- package/build/screens/avatar_picker/constants.js.map +1 -0
- package/build/screens/avatar_picker/emoji_tab.d.ts +7 -0
- package/build/screens/avatar_picker/emoji_tab.d.ts.map +1 -0
- package/build/screens/avatar_picker/emoji_tab.js +55 -0
- package/build/screens/avatar_picker/emoji_tab.js.map +1 -0
- package/build/screens/avatar_picker/icon_grid.d.ts +8 -0
- package/build/screens/avatar_picker/icon_grid.d.ts.map +1 -0
- package/build/screens/avatar_picker/icon_grid.js +48 -0
- package/build/screens/avatar_picker/icon_grid.js.map +1 -0
- package/build/screens/avatar_picker/upload_tab.d.ts +9 -0
- package/build/screens/avatar_picker/upload_tab.d.ts.map +1 -0
- package/build/screens/avatar_picker/upload_tab.js +39 -0
- package/build/screens/avatar_picker/upload_tab.js.map +1 -0
- package/build/screens/conversation_details_screen.d.ts.map +1 -1
- package/build/screens/conversation_details_screen.js +37 -1
- package/build/screens/conversation_details_screen.js.map +1 -1
- package/build/screens/conversation_new/components/avatar_selection_row.d.ts +12 -0
- package/build/screens/conversation_new/components/avatar_selection_row.d.ts.map +1 -0
- package/build/screens/conversation_new/components/avatar_selection_row.js +60 -0
- package/build/screens/conversation_new/components/avatar_selection_row.js.map +1 -0
- package/build/screens/conversation_new/components/gender_filter_toggle.d.ts.map +1 -1
- package/build/screens/conversation_new/components/gender_filter_toggle.js +3 -9
- package/build/screens/conversation_new/components/gender_filter_toggle.js.map +1 -1
- package/build/screens/conversation_new/components/groups_form.d.ts +3 -1
- package/build/screens/conversation_new/components/groups_form.d.ts.map +1 -1
- package/build/screens/conversation_new/components/groups_form.js +22 -8
- package/build/screens/conversation_new/components/groups_form.js.map +1 -1
- package/build/screens/conversation_new/components/services_form.d.ts +3 -1
- package/build/screens/conversation_new/components/services_form.d.ts.map +1 -1
- package/build/screens/conversation_new/components/services_form.js +22 -8
- package/build/screens/conversation_new/components/services_form.js.map +1 -1
- package/build/screens/conversation_new/conversation_new_screen.d.ts +2 -0
- package/build/screens/conversation_new/conversation_new_screen.d.ts.map +1 -1
- package/build/screens/conversation_new/conversation_new_screen.js +3 -3
- package/build/screens/conversation_new/conversation_new_screen.js.map +1 -1
- package/build/screens/team_conversation_screen.d.ts.map +1 -1
- package/build/screens/team_conversation_screen.js +1 -1
- package/build/screens/team_conversation_screen.js.map +1 -1
- package/build/types/resources/chat_configuration_resource.d.ts +8 -0
- package/build/types/resources/chat_configuration_resource.d.ts.map +1 -0
- package/build/types/resources/chat_configuration_resource.js +2 -0
- package/build/types/resources/chat_configuration_resource.js.map +1 -0
- package/build/utils/auth_events.d.ts +7 -0
- package/build/utils/auth_events.d.ts.map +1 -0
- package/build/utils/auth_events.js +17 -0
- package/build/utils/auth_events.js.map +1 -0
- package/build/utils/native_adapters/configuration.d.ts +3 -0
- package/build/utils/native_adapters/configuration.d.ts.map +1 -1
- package/build/utils/native_adapters/configuration.js +8 -0
- package/build/utils/native_adapters/configuration.js.map +1 -1
- package/build/utils/native_adapters/document_picker.d.ts +21 -0
- package/build/utils/native_adapters/document_picker.d.ts.map +1 -0
- package/build/utils/native_adapters/document_picker.js +7 -0
- package/build/utils/native_adapters/document_picker.js.map +1 -0
- package/build/utils/native_adapters/image_picker.d.ts +7 -1
- package/build/utils/native_adapters/image_picker.d.ts.map +1 -1
- package/build/utils/native_adapters/image_picker.js.map +1 -1
- package/build/utils/native_adapters/index.d.ts +1 -0
- package/build/utils/native_adapters/index.d.ts.map +1 -1
- package/build/utils/native_adapters/index.js +1 -0
- package/build/utils/native_adapters/index.js.map +1 -1
- package/build/utils/request/get_chat_configuration.d.ts +10 -0
- package/build/utils/request/get_chat_configuration.d.ts.map +1 -0
- package/build/utils/request/get_chat_configuration.js +21 -0
- package/build/utils/request/get_chat_configuration.js.map +1 -0
- package/package.json +4 -3
- package/src/__tests__/hooks/use_attachment_uploader.test.tsx +219 -0
- package/src/__tests__/hooks/use_chat_configuration.test.tsx +80 -0
- package/src/__tests__/utils/native_adapters/configuration.ts +25 -1
- package/src/components/conversation/message_form.tsx +39 -1
- package/src/components/display/emoji_avatar.tsx +7 -2
- package/src/components/display/icon_avatar.tsx +7 -2
- package/src/components/display/utils/avatar_gradient_colors.ts +10 -3
- package/src/components/page/error_boundary.tsx +16 -9
- package/src/components/primitive/avatar_primitive.tsx +11 -2
- package/src/contexts/api_provider.tsx +3 -0
- package/src/hooks/attachments/fallback_chat_configuration.ts +61 -0
- package/src/hooks/groups/use_groups_conversation_create.ts +2 -1
- package/src/hooks/services/use_find_or_create_services_conversation.ts +7 -7
- package/src/hooks/use_attachment_uploader.ts +39 -15
- package/src/hooks/use_chat_configuration.ts +54 -0
- package/src/hooks/use_conversation_avatar_update.ts +163 -0
- package/src/hooks/use_features.ts +1 -0
- package/src/navigation/index.tsx +13 -0
- package/src/screens/avatar_picker/__tests__/avatar_picker_state.test.ts +157 -0
- package/src/screens/avatar_picker/avatar_picker_screen.tsx +312 -0
- package/src/screens/avatar_picker/avatar_picker_state.ts +141 -0
- package/src/screens/avatar_picker/avatar_preview.tsx +46 -0
- package/src/screens/avatar_picker/color_picker.tsx +91 -0
- package/src/screens/avatar_picker/constants.ts +53 -0
- package/src/screens/avatar_picker/emoji_tab.tsx +76 -0
- package/src/screens/avatar_picker/icon_grid.tsx +81 -0
- package/src/screens/avatar_picker/upload_tab.tsx +62 -0
- package/src/screens/conversation_details_screen.tsx +60 -1
- package/src/screens/conversation_new/components/avatar_selection_row.tsx +82 -0
- package/src/screens/conversation_new/components/gender_filter_toggle.tsx +3 -9
- package/src/screens/conversation_new/components/groups_form.tsx +33 -6
- package/src/screens/conversation_new/components/services_form.tsx +37 -6
- package/src/screens/conversation_new/conversation_new_screen.tsx +17 -3
- package/src/screens/team_conversation_screen.tsx +2 -1
- package/src/types/resources/chat_configuration_resource.ts +11 -0
- package/src/utils/auth_events.ts +21 -0
- package/src/utils/native_adapters/configuration.ts +10 -0
- package/src/utils/native_adapters/document_picker.ts +26 -0
- package/src/utils/native_adapters/image_picker.ts +8 -1
- package/src/utils/native_adapters/index.ts +1 -0
- package/src/utils/request/get_chat_configuration.ts +23 -0
- package/build/hooks/attachments/supported_extensions.d.ts +0 -2
- package/build/hooks/attachments/supported_extensions.d.ts.map +0 -1
- package/build/hooks/attachments/supported_extensions.js +0 -48
- package/build/hooks/attachments/supported_extensions.js.map +0 -1
- package/src/hooks/attachments/supported_extensions.ts +0 -47
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { StaticScreenProps } from '@react-navigation/native'
|
|
2
2
|
import React from 'react'
|
|
3
|
+
import type { AvatarUpdatePayload } from '../../hooks/use_conversation_avatar_update'
|
|
3
4
|
import { AppName } from '../../types/resources/app_name'
|
|
4
5
|
import { GraphId } from '../../types/resources/group_resource'
|
|
5
6
|
import { TeamFilterTypes } from '../conversation_filter_recipients/types'
|
|
@@ -15,16 +16,28 @@ type ConversationNewScreenProps = StaticScreenProps<{
|
|
|
15
16
|
source_app_name: AppName
|
|
16
17
|
chat_group_graph_id?: GraphId
|
|
17
18
|
group_source_app_name?: AppName
|
|
19
|
+
avatar_selection?: AvatarUpdatePayload
|
|
18
20
|
}>
|
|
19
21
|
|
|
20
22
|
export const ConversationNewScreen = ({ route }: ConversationNewScreenProps) => {
|
|
21
|
-
const {
|
|
22
|
-
|
|
23
|
+
const {
|
|
24
|
+
group_id,
|
|
25
|
+
team_ids,
|
|
26
|
+
source_app_name,
|
|
27
|
+
plan_id,
|
|
28
|
+
chat_group_graph_id,
|
|
29
|
+
team_filter_type,
|
|
30
|
+
avatar_selection,
|
|
31
|
+
} = route.params
|
|
23
32
|
|
|
24
33
|
switch (source_app_name) {
|
|
25
34
|
case 'Groups':
|
|
26
35
|
return group_id ? (
|
|
27
|
-
<GroupsForm
|
|
36
|
+
<GroupsForm
|
|
37
|
+
groupId={group_id}
|
|
38
|
+
chat_group_graph_id={chat_group_graph_id}
|
|
39
|
+
avatarSelection={avatar_selection}
|
|
40
|
+
/>
|
|
28
41
|
) : (
|
|
29
42
|
<SourceAppErrorCard />
|
|
30
43
|
)
|
|
@@ -34,6 +47,7 @@ export const ConversationNewScreen = ({ route }: ConversationNewScreenProps) =>
|
|
|
34
47
|
initialTeamIds={team_ids}
|
|
35
48
|
initialPlanId={plan_id}
|
|
36
49
|
teamFilterType={team_filter_type}
|
|
50
|
+
avatarSelection={avatar_selection}
|
|
37
51
|
/>
|
|
38
52
|
)
|
|
39
53
|
default:
|
|
@@ -22,7 +22,8 @@ export const TeamConversationScreen = ({ route }: TeamConversationScreenProps) =
|
|
|
22
22
|
const teamAndPlanParams = buildTeamAndPlanParams(route.params.team_ids, route.params.plan_id)
|
|
23
23
|
const { data: conversation } = useQuery({
|
|
24
24
|
queryKey: ['team-conversation', route.params.team_ids, route.params.plan_id],
|
|
25
|
-
queryFn: () =>
|
|
25
|
+
queryFn: () =>
|
|
26
|
+
findOrCreateServicesConversation(apiClient, teamAndPlanParams).then(r => r.conversation),
|
|
26
27
|
})
|
|
27
28
|
|
|
28
29
|
useEffect(() => {
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
// Shape after transform_response flattens attributes and camelCases keys.
|
|
2
|
+
// The wire format uses snake_case nested under attributes (see the Rails
|
|
3
|
+
// ChatConfigurationVertex); the JS client transforms it before consumers
|
|
4
|
+
// see it.
|
|
5
|
+
export interface ChatConfigurationResource {
|
|
6
|
+
type: 'ChatConfiguration'
|
|
7
|
+
id: string
|
|
8
|
+
allowedFileExtensions: string[]
|
|
9
|
+
maxFileSizeInBytes: number
|
|
10
|
+
maxAttachmentsPerMessage: number
|
|
11
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
type Listener = () => void
|
|
2
|
+
const listeners = new Set<Listener>()
|
|
3
|
+
|
|
4
|
+
export function onAuthRefresh(listener: Listener) {
|
|
5
|
+
listeners.add(listener)
|
|
6
|
+
return () => {
|
|
7
|
+
listeners.delete(listener)
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export function emitAuthRefresh() {
|
|
12
|
+
listeners.forEach(fn => fn())
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export function __resetAuthRefreshListenersForTests() {
|
|
16
|
+
listeners.clear()
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export function __getAuthRefreshListenerCountForTests() {
|
|
20
|
+
return listeners.size
|
|
21
|
+
}
|
|
@@ -2,6 +2,7 @@ import AsyncStorage from '@react-native-async-storage/async-storage'
|
|
|
2
2
|
import { Linking as RNLinking } from 'react-native'
|
|
3
3
|
import { AudioAdapter } from './audio'
|
|
4
4
|
import { ClipboardAdapter } from './clipboard'
|
|
5
|
+
import { DocumentPickerAdapter } from './document_picker'
|
|
5
6
|
import { HapticAdapter } from './haptic'
|
|
6
7
|
import { ImagePickerAdapter } from './image_picker'
|
|
7
8
|
import { LinkingAdapter } from './linking'
|
|
@@ -14,6 +15,7 @@ type ChatConfigurations = {
|
|
|
14
15
|
audio: AudioAdapter
|
|
15
16
|
video: VideoAdapter
|
|
16
17
|
imagePicker: ImagePickerAdapter
|
|
18
|
+
documentPicker: DocumentPickerAdapter
|
|
17
19
|
log?: LogAdapter
|
|
18
20
|
linking?: LinkingAdapter
|
|
19
21
|
haptic?: HapticAdapter
|
|
@@ -25,6 +27,7 @@ export class ChatAdapters {
|
|
|
25
27
|
Audio = configurations.audio
|
|
26
28
|
Video = configurations.video
|
|
27
29
|
ImagePicker = configurations.imagePicker
|
|
30
|
+
DocumentPicker = configurations.documentPicker
|
|
28
31
|
Log = configurations.log || new LogAdapter()
|
|
29
32
|
Linking = configurations.linking || new LinkingAdapter(RNLinking)
|
|
30
33
|
Haptic = configurations.haptic || new HapticAdapter()
|
|
@@ -71,6 +74,13 @@ export let ImagePicker: ImagePickerAdapter = new ImagePickerAdapter({
|
|
|
71
74
|
},
|
|
72
75
|
})
|
|
73
76
|
|
|
77
|
+
export let DocumentPicker: DocumentPickerAdapter = new DocumentPickerAdapter({
|
|
78
|
+
openAsync: async () => {
|
|
79
|
+
methodMissing()
|
|
80
|
+
return { canceled: true, assets: null }
|
|
81
|
+
},
|
|
82
|
+
})
|
|
83
|
+
|
|
74
84
|
export let Log: LogAdapter = new LogAdapter()
|
|
75
85
|
|
|
76
86
|
export let Linking: LinkingAdapter = new LinkingAdapter(RNLinking)
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
export type DocumentPickerAsset = {
|
|
2
|
+
uri: string
|
|
3
|
+
name: string
|
|
4
|
+
size?: number
|
|
5
|
+
mimeType?: string
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
type DocumentPickerSuccessResult = {
|
|
9
|
+
canceled: false
|
|
10
|
+
assets: DocumentPickerAsset[]
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
type DocumentPickerCanceledResult = {
|
|
14
|
+
canceled: true
|
|
15
|
+
assets: null
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
export type DocumentPickerResult = DocumentPickerSuccessResult | DocumentPickerCanceledResult
|
|
19
|
+
|
|
20
|
+
export class DocumentPickerAdapter {
|
|
21
|
+
openAsync: () => Promise<DocumentPickerResult>
|
|
22
|
+
|
|
23
|
+
constructor(methods: DocumentPickerAdapter) {
|
|
24
|
+
this.openAsync = methods.openAsync
|
|
25
|
+
}
|
|
26
|
+
}
|
|
@@ -20,9 +20,16 @@ type ImagePickerCanceledResult = {
|
|
|
20
20
|
|
|
21
21
|
export type ImagePickerResult = ImagePickerSuccessResult | ImagePickerCanceledResult
|
|
22
22
|
|
|
23
|
+
export interface ImagePickerOptions {
|
|
24
|
+
selectionLimit?: number
|
|
25
|
+
allowsEditing?: boolean
|
|
26
|
+
allowsMultipleSelection?: boolean
|
|
27
|
+
mediaTypes?: Array<'images' | 'videos' | 'livePhotos'>
|
|
28
|
+
}
|
|
29
|
+
|
|
23
30
|
export class ImagePickerAdapter {
|
|
24
31
|
openCameraAsync: () => Promise<ImagePickerResult>
|
|
25
|
-
openImageLibraryAsync: () => Promise<ImagePickerResult>
|
|
32
|
+
openImageLibraryAsync: (options?: ImagePickerOptions) => Promise<ImagePickerResult>
|
|
26
33
|
|
|
27
34
|
constructor(methods: ImagePickerAdapter) {
|
|
28
35
|
this.openCameraAsync = methods.openCameraAsync
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { getRequestQueryKey } from '../../hooks/use_suspense_api'
|
|
2
|
+
|
|
3
|
+
export const getChatConfigurationRequestArgs = () => {
|
|
4
|
+
const url = '/me/chat_configuration'
|
|
5
|
+
|
|
6
|
+
return {
|
|
7
|
+
url,
|
|
8
|
+
data: {
|
|
9
|
+
fields: {
|
|
10
|
+
ChatConfiguration: [
|
|
11
|
+
'allowed_file_extensions',
|
|
12
|
+
'max_file_size_in_bytes',
|
|
13
|
+
'max_attachments_per_message',
|
|
14
|
+
],
|
|
15
|
+
},
|
|
16
|
+
},
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
export const getChatConfigurationQueryKey = () => {
|
|
21
|
+
const requestArgs = getChatConfigurationRequestArgs()
|
|
22
|
+
return getRequestQueryKey(requestArgs)
|
|
23
|
+
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"supported_extensions.d.ts","sourceRoot":"","sources":["../../../src/hooks/attachments/supported_extensions.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB,UA8ChC,CAAA"}
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
export const SUPPORTED_EXTENSIONS = [
|
|
2
|
-
'.3ga',
|
|
3
|
-
'.3gp',
|
|
4
|
-
'.aac',
|
|
5
|
-
'.amr',
|
|
6
|
-
'.avi',
|
|
7
|
-
'.bmp',
|
|
8
|
-
'.doc',
|
|
9
|
-
'.docx',
|
|
10
|
-
'.gif',
|
|
11
|
-
'.h263',
|
|
12
|
-
'.h264',
|
|
13
|
-
'.heic',
|
|
14
|
-
'.heif',
|
|
15
|
-
'.jpeg',
|
|
16
|
-
'.jpg',
|
|
17
|
-
'.key',
|
|
18
|
-
'.m4a',
|
|
19
|
-
'.m4b',
|
|
20
|
-
'.m4p',
|
|
21
|
-
'.m4r',
|
|
22
|
-
'.m4v',
|
|
23
|
-
'.mkv',
|
|
24
|
-
'.mov',
|
|
25
|
-
'.mp3',
|
|
26
|
-
'.mp4',
|
|
27
|
-
'.mp4-latm',
|
|
28
|
-
'.mpeg',
|
|
29
|
-
'.mpeg4',
|
|
30
|
-
'.mpg',
|
|
31
|
-
'.numbers',
|
|
32
|
-
'.ogg',
|
|
33
|
-
'.pages',
|
|
34
|
-
'.pdf',
|
|
35
|
-
'.png',
|
|
36
|
-
'.ppt',
|
|
37
|
-
'.pptx',
|
|
38
|
-
'.rtf',
|
|
39
|
-
'.txt',
|
|
40
|
-
'.vcf',
|
|
41
|
-
'.wav',
|
|
42
|
-
'.webm',
|
|
43
|
-
'.webp',
|
|
44
|
-
'.wmv',
|
|
45
|
-
'.xls',
|
|
46
|
-
'.xlsx',
|
|
47
|
-
];
|
|
48
|
-
//# sourceMappingURL=supported_extensions.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"supported_extensions.js","sourceRoot":"","sources":["../../../src/hooks/attachments/supported_extensions.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,OAAO;IACP,MAAM;IACN,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,WAAW;IACX,OAAO;IACP,QAAQ;IACR,MAAM;IACN,UAAU;IACV,MAAM;IACN,QAAQ;IACR,MAAM;IACN,MAAM;IACN,MAAM;IACN,OAAO;IACP,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,OAAO;IACP,OAAO;IACP,MAAM;IACN,MAAM;IACN,OAAO;CACR,CAAA","sourcesContent":["export const SUPPORTED_EXTENSIONS = [\n '.3ga',\n '.3gp',\n '.aac',\n '.amr',\n '.avi',\n '.bmp',\n '.doc',\n '.docx',\n '.gif',\n '.h263',\n '.h264',\n '.heic',\n '.heif',\n '.jpeg',\n '.jpg',\n '.key',\n '.m4a',\n '.m4b',\n '.m4p',\n '.m4r',\n '.m4v',\n '.mkv',\n '.mov',\n '.mp3',\n '.mp4',\n '.mp4-latm',\n '.mpeg',\n '.mpeg4',\n '.mpg',\n '.numbers',\n '.ogg',\n '.pages',\n '.pdf',\n '.png',\n '.ppt',\n '.pptx',\n '.rtf',\n '.txt',\n '.vcf',\n '.wav',\n '.webm',\n '.webp',\n '.wmv',\n '.xls',\n '.xlsx',\n]\n"]}
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
export const SUPPORTED_EXTENSIONS = [
|
|
2
|
-
'.3ga',
|
|
3
|
-
'.3gp',
|
|
4
|
-
'.aac',
|
|
5
|
-
'.amr',
|
|
6
|
-
'.avi',
|
|
7
|
-
'.bmp',
|
|
8
|
-
'.doc',
|
|
9
|
-
'.docx',
|
|
10
|
-
'.gif',
|
|
11
|
-
'.h263',
|
|
12
|
-
'.h264',
|
|
13
|
-
'.heic',
|
|
14
|
-
'.heif',
|
|
15
|
-
'.jpeg',
|
|
16
|
-
'.jpg',
|
|
17
|
-
'.key',
|
|
18
|
-
'.m4a',
|
|
19
|
-
'.m4b',
|
|
20
|
-
'.m4p',
|
|
21
|
-
'.m4r',
|
|
22
|
-
'.m4v',
|
|
23
|
-
'.mkv',
|
|
24
|
-
'.mov',
|
|
25
|
-
'.mp3',
|
|
26
|
-
'.mp4',
|
|
27
|
-
'.mp4-latm',
|
|
28
|
-
'.mpeg',
|
|
29
|
-
'.mpeg4',
|
|
30
|
-
'.mpg',
|
|
31
|
-
'.numbers',
|
|
32
|
-
'.ogg',
|
|
33
|
-
'.pages',
|
|
34
|
-
'.pdf',
|
|
35
|
-
'.png',
|
|
36
|
-
'.ppt',
|
|
37
|
-
'.pptx',
|
|
38
|
-
'.rtf',
|
|
39
|
-
'.txt',
|
|
40
|
-
'.vcf',
|
|
41
|
-
'.wav',
|
|
42
|
-
'.webm',
|
|
43
|
-
'.webp',
|
|
44
|
-
'.wmv',
|
|
45
|
-
'.xls',
|
|
46
|
-
'.xlsx',
|
|
47
|
-
]
|