@codeleap/mobile 1.9.25 → 1.9.28
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/CodeLeap-Mobile-Packages.code-workspace +7 -7
- package/dist/components/ActivityIndicator.d.ts +13 -13
- package/dist/components/ActivityIndicator.js +54 -54
- package/dist/components/ActivityIndicator.js.map +0 -0
- package/dist/components/Animated.d.ts +123 -15
- package/dist/components/Animated.js +58 -58
- package/dist/components/Animated.js.map +0 -0
- package/dist/components/Button.d.ts +132 -125
- package/dist/components/Button.js +93 -82
- package/dist/components/Button.js.map +1 -1
- package/dist/components/Checkbox/index.d.ts +15 -15
- package/dist/components/Checkbox/index.js +79 -79
- package/dist/components/Checkbox/index.js.map +0 -0
- package/dist/components/Checkbox/styles.d.ts +55 -55
- package/dist/components/Checkbox/styles.js +51 -51
- package/dist/components/Checkbox/styles.js.map +0 -0
- package/dist/components/ContentView.d.ts +10 -10
- package/dist/components/ContentView.js +50 -50
- package/dist/components/ContentView.js.map +0 -0
- package/dist/components/EmptyPlaceholder.d.ts +12 -0
- package/dist/components/EmptyPlaceholder.js +54 -0
- package/dist/components/EmptyPlaceholder.js.map +1 -0
- package/dist/components/FileInput.d.ts +31 -31
- package/dist/components/FileInput.js +230 -230
- package/dist/components/FileInput.js.map +0 -0
- package/dist/components/Gap.d.ts +8 -0
- package/dist/components/Gap.js +60 -0
- package/dist/components/Gap.js.map +1 -0
- package/dist/components/Icon.d.ts +12 -12
- package/dist/components/Icon.js +70 -70
- package/dist/components/Icon.js.map +0 -0
- package/dist/components/Image.d.ts +18 -18
- package/dist/components/Image.js +59 -59
- package/dist/components/Image.js.map +0 -0
- package/dist/components/List.d.ts +14 -14
- package/dist/components/List.js +84 -83
- package/dist/components/List.js.map +1 -1
- package/dist/components/Modal/index.d.ts +27 -26
- package/dist/components/Modal/index.js +113 -112
- package/dist/components/Modal/index.js.map +1 -1
- package/dist/components/Modal/styles.d.ts +64 -69
- package/dist/components/Modal/styles.js +59 -64
- package/dist/components/Modal/styles.js.map +1 -1
- package/dist/components/Navigation/Navigation.d.ts +3 -3
- package/dist/components/Navigation/Navigation.js +87 -87
- package/dist/components/Navigation/Navigation.js.map +0 -0
- package/dist/components/Navigation/constants.d.ts +5 -5
- package/dist/components/Navigation/constants.js +10 -10
- package/dist/components/Navigation/constants.js.map +0 -0
- package/dist/components/Navigation/index.d.ts +3 -3
- package/dist/components/Navigation/index.js +19 -19
- package/dist/components/Navigation/index.js.map +0 -0
- package/dist/components/Navigation/types.d.ts +26 -26
- package/dist/components/Navigation/types.js +7 -7
- package/dist/components/Navigation/types.js.map +0 -0
- package/dist/components/Navigation/utils.d.ts +3 -3
- package/dist/components/Navigation/utils.js +69 -69
- package/dist/components/Navigation/utils.js.map +0 -0
- package/dist/components/NewPager/index.d.ts +26 -0
- package/dist/components/NewPager/index.js +88 -0
- package/dist/components/NewPager/index.js.map +1 -0
- package/dist/components/NewPager/styles.d.ts +87 -0
- package/dist/components/NewPager/styles.js +70 -0
- package/dist/components/NewPager/styles.js.map +1 -0
- package/dist/components/Overlay.d.ts +16 -16
- package/dist/components/Overlay.js +69 -69
- package/dist/components/Overlay.js.map +0 -0
- package/dist/components/Pager/index.d.ts +20 -20
- package/dist/components/Pager/index.js +167 -167
- package/dist/components/Pager/index.js.map +0 -0
- package/dist/components/Pager/styles.d.ts +54 -54
- package/dist/components/Pager/styles.js +43 -43
- package/dist/components/Pager/styles.js.map +0 -0
- package/dist/components/RadioInput/index.d.ts +26 -26
- package/dist/components/RadioInput/index.js +72 -72
- package/dist/components/RadioInput/index.js.map +0 -0
- package/dist/components/RadioInput/styles.d.ts +57 -57
- package/dist/components/RadioInput/styles.js +44 -44
- package/dist/components/RadioInput/styles.js.map +0 -0
- package/dist/components/Scroll.d.ts +13 -13
- package/dist/components/Scroll.js +81 -81
- package/dist/components/Scroll.js.map +0 -0
- package/dist/components/Sections.d.ts +11 -11
- package/dist/components/Sections.js +80 -80
- package/dist/components/Sections.js.map +0 -0
- package/dist/components/Select/index.d.ts +5 -5
- package/dist/components/Select/index.js +150 -150
- package/dist/components/Select/index.js.map +0 -0
- package/dist/components/Select/styles.d.ts +9 -9
- package/dist/components/Select/styles.js +56 -56
- package/dist/components/Select/styles.js.map +0 -0
- package/dist/components/Select/types.d.ts +40 -40
- package/dist/components/Select/types.js +2 -2
- package/dist/components/Select/types.js.map +0 -0
- package/dist/components/Slider/Mark.d.ts +3 -3
- package/dist/components/Slider/Mark.js +31 -31
- package/dist/components/Slider/Mark.js.map +0 -0
- package/dist/components/Slider/Thumb.d.ts +7 -7
- package/dist/components/Slider/Thumb.js +29 -29
- package/dist/components/Slider/Thumb.js.map +0 -0
- package/dist/components/Slider/index.d.ts +3 -3
- package/dist/components/Slider/index.js +97 -97
- package/dist/components/Slider/index.js.map +0 -0
- package/dist/components/Slider/types.d.ts +25 -25
- package/dist/components/Slider/types.js +2 -2
- package/dist/components/Slider/types.js.map +0 -0
- package/dist/components/Switch.d.ts +13 -13
- package/dist/components/Switch.js +75 -75
- package/dist/components/Switch.js.map +0 -0
- package/dist/components/Text.d.ts +12 -12
- package/dist/components/Text.js +52 -52
- package/dist/components/Text.js.map +0 -0
- package/dist/components/TextInput.d.ts +183 -183
- package/dist/components/TextInput.js +180 -180
- package/dist/components/TextInput.js.map +0 -0
- package/dist/components/Touchable.d.ts +14 -14
- package/dist/components/Touchable.js +75 -75
- package/dist/components/Touchable.js.map +0 -0
- package/dist/components/View.d.ts +123 -120
- package/dist/components/View.js +55 -54
- package/dist/components/View.js.map +1 -1
- package/dist/components/components.d.ts +28 -25
- package/dist/components/components.js +44 -41
- package/dist/components/components.js.map +1 -1
- package/dist/index.d.ts +6 -5
- package/dist/index.js +30 -28
- package/dist/index.js.map +1 -1
- package/dist/modules/documentPicker.d.ts +3 -3
- package/dist/modules/documentPicker.js +11 -11
- package/dist/modules/documentPicker.js.map +0 -0
- package/dist/modules/fastImage.d.ts +1 -1
- package/dist/modules/fastImage.js +9 -9
- package/dist/modules/fastImage.js.map +0 -0
- package/dist/modules/reactNavigation.d.ts +3 -3
- package/dist/modules/reactNavigation.js +10 -10
- package/dist/modules/reactNavigation.js.map +0 -0
- package/dist/modules/textInputMask.d.ts +9 -12
- package/dist/modules/textInputMask.js +7 -7
- package/dist/modules/types/fileTypes.d.ts +138 -138
- package/dist/modules/types/fileTypes.js +2 -2
- package/dist/modules/types/fileTypes.js.map +0 -0
- package/dist/modules/types/textInputMask.d.ts +7 -12
- package/dist/modules/types/textInputMask.js +2 -2
- package/dist/types/utility.d.ts +2 -2
- package/dist/types/utility.js +2 -2
- package/dist/types/utility.js.map +0 -0
- package/dist/utils/ModalManager/components.d.ts +12 -0
- package/dist/utils/ModalManager/components.js +79 -0
- package/dist/utils/ModalManager/components.js.map +1 -0
- package/dist/utils/ModalManager/context.d.ts +42 -0
- package/dist/utils/ModalManager/context.js +172 -0
- package/dist/utils/ModalManager/context.js.map +1 -0
- package/dist/utils/ModalManager/index.d.ts +14 -0
- package/dist/utils/ModalManager/index.js +12 -0
- package/dist/utils/ModalManager/index.js.map +1 -0
- package/dist/utils/OSAlert.d.ts +31 -31
- package/dist/utils/OSAlert.js +141 -141
- package/dist/utils/OSAlert.js.map +0 -0
- package/dist/utils/misc.d.ts +2 -2
- package/dist/utils/misc.js +25 -25
- package/dist/utils/misc.js.map +0 -0
- package/dist/utils/styles.d.ts +1 -1
- package/dist/utils/styles.js +12 -12
- package/dist/utils/styles.js.map +0 -0
- package/package.json +43 -40
- package/src/components/ActivityIndicator.tsx +46 -46
- package/src/components/Animated.tsx +34 -34
- package/src/components/Button.tsx +117 -95
- package/src/components/Checkbox/index.tsx +85 -85
- package/src/components/Checkbox/styles.ts +76 -76
- package/src/components/ContentView.tsx +58 -58
- package/src/components/EmptyPlaceholder.tsx +53 -0
- package/src/components/FileInput.tsx +230 -230
- package/src/components/Gap.tsx +40 -0
- package/src/components/Icon.tsx +58 -58
- package/src/components/Image.tsx +61 -61
- package/src/components/List.tsx +116 -111
- package/src/components/Modal/index.tsx +162 -161
- package/src/components/Modal/styles.ts +126 -133
- package/src/components/Navigation/Navigation.tsx +58 -58
- package/src/components/Navigation/constants.ts +8 -8
- package/src/components/Navigation/index.tsx +3 -3
- package/src/components/Navigation/types.ts +35 -35
- package/src/components/Navigation/utils.tsx +59 -59
- package/src/components/NewPager/index.tsx +121 -0
- package/src/components/NewPager/styles.ts +76 -0
- package/src/components/Overlay.tsx +77 -77
- package/src/components/Pager/index.tsx +242 -242
- package/src/components/Pager/styles.ts +51 -51
- package/src/components/RadioInput/index.tsx +101 -101
- package/src/components/RadioInput/styles.ts +67 -67
- package/src/components/Scroll.tsx +106 -106
- package/src/components/Sections.tsx +101 -101
- package/src/components/Select/index.tsx +195 -195
- package/src/components/Select/styles.ts +81 -81
- package/src/components/Select/types.ts +46 -46
- package/src/components/Slider/Mark.tsx +46 -46
- package/src/components/Slider/Thumb.tsx +29 -29
- package/src/components/Slider/index.tsx +123 -123
- package/src/components/Slider/types.ts +25 -25
- package/src/components/Switch.tsx +81 -81
- package/src/components/Text.tsx +30 -30
- package/src/components/TextInput.tsx +247 -247
- package/src/components/Touchable.tsx +78 -78
- package/src/components/View.tsx +48 -46
- package/src/components/components.ts +28 -26
- package/src/index.ts +6 -6
- package/src/modules/documentPicker.ts +7 -7
- package/src/modules/fastImage.ts +2 -2
- package/src/modules/index.d.ts +496 -496
- package/src/modules/reactNavigation.ts +4 -4
- package/src/modules/textInputMask.ts +9 -9
- package/src/modules/types/documentPicker.d.ts +215 -215
- package/src/modules/types/fileTypes.ts +138 -138
- package/src/modules/types/textInputMask.ts +9 -13
- package/src/types/utility.ts +3 -3
- package/src/utils/ModalManager/components.tsx +58 -0
- package/src/utils/ModalManager/context.tsx +208 -0
- package/src/utils/ModalManager/index.ts +9 -0
- package/src/utils/OSAlert.ts +180 -180
- package/src/utils/misc.ts +24 -24
- package/src/utils/styles.ts +14 -14
|
@@ -1,138 +1,138 @@
|
|
|
1
|
-
declare const mimeTypes: Readonly<{
|
|
2
|
-
readonly allFiles: '*/*'
|
|
3
|
-
readonly audio: 'audio/*'
|
|
4
|
-
readonly csv: 'text/csv'
|
|
5
|
-
readonly doc: 'application/msword'
|
|
6
|
-
readonly docx: 'application/vnd.openxmlformats-officedocument.wordprocessingml.document'
|
|
7
|
-
readonly images: 'image/*'
|
|
8
|
-
readonly pdf: 'application/pdf'
|
|
9
|
-
readonly plainText: 'text/plain'
|
|
10
|
-
readonly ppt: 'application/vnd.ms-powerpoint'
|
|
11
|
-
readonly pptx: 'application/vnd.openxmlformats-officedocument.presentationml.presentation'
|
|
12
|
-
readonly video: 'video/*'
|
|
13
|
-
readonly xls: 'application/vnd.ms-excel'
|
|
14
|
-
readonly xlsx: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'
|
|
15
|
-
readonly zip: 'application/zip'
|
|
16
|
-
}>
|
|
17
|
-
declare const utis: Readonly<{
|
|
18
|
-
readonly allFiles: 'public.item'
|
|
19
|
-
readonly audio: 'public.audio'
|
|
20
|
-
readonly csv: 'public.comma-separated-values-text'
|
|
21
|
-
readonly doc: 'com.microsoft.word.doc'
|
|
22
|
-
readonly docx: 'org.openxmlformats.wordprocessingml.document'
|
|
23
|
-
readonly images: 'public.image'
|
|
24
|
-
readonly pdf: 'com.adobe.pdf'
|
|
25
|
-
readonly plainText: 'public.plain-text'
|
|
26
|
-
readonly ppt: 'com.microsoft.powerpoint.ppt'
|
|
27
|
-
readonly pptx: 'org.openxmlformats.presentationml.presentation'
|
|
28
|
-
readonly video: 'public.movie'
|
|
29
|
-
readonly xls: 'com.microsoft.excel.xls'
|
|
30
|
-
readonly xlsx: 'org.openxmlformats.spreadsheetml.sheet'
|
|
31
|
-
readonly zip: 'public.zip-archive'
|
|
32
|
-
}>
|
|
33
|
-
declare const extensions: Readonly<{
|
|
34
|
-
readonly allFiles: '*'
|
|
35
|
-
readonly audio: '.3g2 .3gp .aac .adt .adts .aif .aifc .aiff .asf .au .m3u .m4a .m4b .mid .midi .mp2 .mp3 .mp4 .rmi .snd .wav .wax .wma'
|
|
36
|
-
readonly csv: '.csv'
|
|
37
|
-
readonly doc: '.doc'
|
|
38
|
-
readonly docx: '.docx'
|
|
39
|
-
readonly images: '.jpeg .jpg .png'
|
|
40
|
-
readonly pdf: '.pdf'
|
|
41
|
-
readonly plainText: '.txt'
|
|
42
|
-
readonly ppt: '.ppt'
|
|
43
|
-
readonly pptx: '.pptx'
|
|
44
|
-
readonly video: '.mp4'
|
|
45
|
-
readonly xls: '.xls'
|
|
46
|
-
readonly xlsx: '.xlsx'
|
|
47
|
-
readonly zip: '.zip .gz'
|
|
48
|
-
}>
|
|
49
|
-
export declare type PlatformTypes = {
|
|
50
|
-
android: typeof mimeTypes
|
|
51
|
-
ios: typeof utis
|
|
52
|
-
windows: typeof extensions
|
|
53
|
-
}
|
|
54
|
-
export declare type SupportedPlatforms = 'ios' | 'android' | 'windows'
|
|
55
|
-
export declare const perPlatformTypes: {
|
|
56
|
-
android: Readonly<{
|
|
57
|
-
readonly allFiles: '*/*'
|
|
58
|
-
readonly audio: 'audio/*'
|
|
59
|
-
readonly csv: 'text/csv'
|
|
60
|
-
readonly doc: 'application/msword'
|
|
61
|
-
readonly docx: 'application/vnd.openxmlformats-officedocument.wordprocessingml.document'
|
|
62
|
-
readonly images: 'image/*'
|
|
63
|
-
readonly pdf: 'application/pdf'
|
|
64
|
-
readonly plainText: 'text/plain'
|
|
65
|
-
readonly ppt: 'application/vnd.ms-powerpoint'
|
|
66
|
-
readonly pptx: 'application/vnd.openxmlformats-officedocument.presentationml.presentation'
|
|
67
|
-
readonly video: 'video/*'
|
|
68
|
-
readonly xls: 'application/vnd.ms-excel'
|
|
69
|
-
readonly xlsx: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'
|
|
70
|
-
readonly zip: 'application/zip'
|
|
71
|
-
}>
|
|
72
|
-
ios: Readonly<{
|
|
73
|
-
readonly allFiles: 'public.item'
|
|
74
|
-
readonly audio: 'public.audio'
|
|
75
|
-
readonly csv: 'public.comma-separated-values-text'
|
|
76
|
-
readonly doc: 'com.microsoft.word.doc'
|
|
77
|
-
readonly docx: 'org.openxmlformats.wordprocessingml.document'
|
|
78
|
-
readonly images: 'public.image'
|
|
79
|
-
readonly pdf: 'com.adobe.pdf'
|
|
80
|
-
readonly plainText: 'public.plain-text'
|
|
81
|
-
readonly ppt: 'com.microsoft.powerpoint.ppt'
|
|
82
|
-
readonly pptx: 'org.openxmlformats.presentationml.presentation'
|
|
83
|
-
readonly video: 'public.movie'
|
|
84
|
-
readonly xls: 'com.microsoft.excel.xls'
|
|
85
|
-
readonly xlsx: 'org.openxmlformats.spreadsheetml.sheet'
|
|
86
|
-
readonly zip: 'public.zip-archive'
|
|
87
|
-
}>
|
|
88
|
-
windows: Readonly<{
|
|
89
|
-
readonly allFiles: '*'
|
|
90
|
-
readonly audio: '.3g2 .3gp .aac .adt .adts .aif .aifc .aiff .asf .au .m3u .m4a .m4b .mid .midi .mp2 .mp3 .mp4 .rmi .snd .wav .wax .wma'
|
|
91
|
-
readonly csv: '.csv'
|
|
92
|
-
readonly doc: '.doc'
|
|
93
|
-
readonly docx: '.docx'
|
|
94
|
-
readonly images: '.jpeg .jpg .png'
|
|
95
|
-
readonly pdf: '.pdf'
|
|
96
|
-
readonly plainText: '.txt'
|
|
97
|
-
readonly ppt: '.ppt'
|
|
98
|
-
readonly pptx: '.pptx'
|
|
99
|
-
readonly video: '.mp4'
|
|
100
|
-
readonly xls: '.xls'
|
|
101
|
-
readonly xlsx: '.xlsx'
|
|
102
|
-
readonly zip: '.zip .gz'
|
|
103
|
-
}>
|
|
104
|
-
macos: Readonly<{
|
|
105
|
-
readonly allFiles: '*'
|
|
106
|
-
readonly audio: '.3g2 .3gp .aac .adt .adts .aif .aifc .aiff .asf .au .m3u .m4a .m4b .mid .midi .mp2 .mp3 .mp4 .rmi .snd .wav .wax .wma'
|
|
107
|
-
readonly csv: '.csv'
|
|
108
|
-
readonly doc: '.doc'
|
|
109
|
-
readonly docx: '.docx'
|
|
110
|
-
readonly images: '.jpeg .jpg .png'
|
|
111
|
-
readonly pdf: '.pdf'
|
|
112
|
-
readonly plainText: '.txt'
|
|
113
|
-
readonly ppt: '.ppt'
|
|
114
|
-
readonly pptx: '.pptx'
|
|
115
|
-
readonly video: '.mp4'
|
|
116
|
-
readonly xls: '.xls'
|
|
117
|
-
readonly xlsx: '.xlsx'
|
|
118
|
-
readonly zip: '.zip .gz'
|
|
119
|
-
}>
|
|
120
|
-
web: Readonly<{
|
|
121
|
-
readonly allFiles: '*'
|
|
122
|
-
readonly audio: '.3g2 .3gp .aac .adt .adts .aif .aifc .aiff .asf .au .m3u .m4a .m4b .mid .midi .mp2 .mp3 .mp4 .rmi .snd .wav .wax .wma'
|
|
123
|
-
readonly csv: '.csv'
|
|
124
|
-
readonly doc: '.doc'
|
|
125
|
-
readonly docx: '.docx'
|
|
126
|
-
readonly images: '.jpeg .jpg .png'
|
|
127
|
-
readonly pdf: '.pdf'
|
|
128
|
-
readonly plainText: '.txt'
|
|
129
|
-
readonly ppt: '.ppt'
|
|
130
|
-
readonly pptx: '.pptx'
|
|
131
|
-
readonly video: '.mp4'
|
|
132
|
-
readonly xls: '.xls'
|
|
133
|
-
readonly xlsx: '.xlsx'
|
|
134
|
-
readonly zip: '.zip .gz'
|
|
135
|
-
}>
|
|
136
|
-
}
|
|
137
|
-
export declare const typesAreEqual: true
|
|
138
|
-
export {}
|
|
1
|
+
declare const mimeTypes: Readonly<{
|
|
2
|
+
readonly allFiles: '*/*'
|
|
3
|
+
readonly audio: 'audio/*'
|
|
4
|
+
readonly csv: 'text/csv'
|
|
5
|
+
readonly doc: 'application/msword'
|
|
6
|
+
readonly docx: 'application/vnd.openxmlformats-officedocument.wordprocessingml.document'
|
|
7
|
+
readonly images: 'image/*'
|
|
8
|
+
readonly pdf: 'application/pdf'
|
|
9
|
+
readonly plainText: 'text/plain'
|
|
10
|
+
readonly ppt: 'application/vnd.ms-powerpoint'
|
|
11
|
+
readonly pptx: 'application/vnd.openxmlformats-officedocument.presentationml.presentation'
|
|
12
|
+
readonly video: 'video/*'
|
|
13
|
+
readonly xls: 'application/vnd.ms-excel'
|
|
14
|
+
readonly xlsx: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'
|
|
15
|
+
readonly zip: 'application/zip'
|
|
16
|
+
}>
|
|
17
|
+
declare const utis: Readonly<{
|
|
18
|
+
readonly allFiles: 'public.item'
|
|
19
|
+
readonly audio: 'public.audio'
|
|
20
|
+
readonly csv: 'public.comma-separated-values-text'
|
|
21
|
+
readonly doc: 'com.microsoft.word.doc'
|
|
22
|
+
readonly docx: 'org.openxmlformats.wordprocessingml.document'
|
|
23
|
+
readonly images: 'public.image'
|
|
24
|
+
readonly pdf: 'com.adobe.pdf'
|
|
25
|
+
readonly plainText: 'public.plain-text'
|
|
26
|
+
readonly ppt: 'com.microsoft.powerpoint.ppt'
|
|
27
|
+
readonly pptx: 'org.openxmlformats.presentationml.presentation'
|
|
28
|
+
readonly video: 'public.movie'
|
|
29
|
+
readonly xls: 'com.microsoft.excel.xls'
|
|
30
|
+
readonly xlsx: 'org.openxmlformats.spreadsheetml.sheet'
|
|
31
|
+
readonly zip: 'public.zip-archive'
|
|
32
|
+
}>
|
|
33
|
+
declare const extensions: Readonly<{
|
|
34
|
+
readonly allFiles: '*'
|
|
35
|
+
readonly audio: '.3g2 .3gp .aac .adt .adts .aif .aifc .aiff .asf .au .m3u .m4a .m4b .mid .midi .mp2 .mp3 .mp4 .rmi .snd .wav .wax .wma'
|
|
36
|
+
readonly csv: '.csv'
|
|
37
|
+
readonly doc: '.doc'
|
|
38
|
+
readonly docx: '.docx'
|
|
39
|
+
readonly images: '.jpeg .jpg .png'
|
|
40
|
+
readonly pdf: '.pdf'
|
|
41
|
+
readonly plainText: '.txt'
|
|
42
|
+
readonly ppt: '.ppt'
|
|
43
|
+
readonly pptx: '.pptx'
|
|
44
|
+
readonly video: '.mp4'
|
|
45
|
+
readonly xls: '.xls'
|
|
46
|
+
readonly xlsx: '.xlsx'
|
|
47
|
+
readonly zip: '.zip .gz'
|
|
48
|
+
}>
|
|
49
|
+
export declare type PlatformTypes = {
|
|
50
|
+
android: typeof mimeTypes
|
|
51
|
+
ios: typeof utis
|
|
52
|
+
windows: typeof extensions
|
|
53
|
+
}
|
|
54
|
+
export declare type SupportedPlatforms = 'ios' | 'android' | 'windows'
|
|
55
|
+
export declare const perPlatformTypes: {
|
|
56
|
+
android: Readonly<{
|
|
57
|
+
readonly allFiles: '*/*'
|
|
58
|
+
readonly audio: 'audio/*'
|
|
59
|
+
readonly csv: 'text/csv'
|
|
60
|
+
readonly doc: 'application/msword'
|
|
61
|
+
readonly docx: 'application/vnd.openxmlformats-officedocument.wordprocessingml.document'
|
|
62
|
+
readonly images: 'image/*'
|
|
63
|
+
readonly pdf: 'application/pdf'
|
|
64
|
+
readonly plainText: 'text/plain'
|
|
65
|
+
readonly ppt: 'application/vnd.ms-powerpoint'
|
|
66
|
+
readonly pptx: 'application/vnd.openxmlformats-officedocument.presentationml.presentation'
|
|
67
|
+
readonly video: 'video/*'
|
|
68
|
+
readonly xls: 'application/vnd.ms-excel'
|
|
69
|
+
readonly xlsx: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'
|
|
70
|
+
readonly zip: 'application/zip'
|
|
71
|
+
}>
|
|
72
|
+
ios: Readonly<{
|
|
73
|
+
readonly allFiles: 'public.item'
|
|
74
|
+
readonly audio: 'public.audio'
|
|
75
|
+
readonly csv: 'public.comma-separated-values-text'
|
|
76
|
+
readonly doc: 'com.microsoft.word.doc'
|
|
77
|
+
readonly docx: 'org.openxmlformats.wordprocessingml.document'
|
|
78
|
+
readonly images: 'public.image'
|
|
79
|
+
readonly pdf: 'com.adobe.pdf'
|
|
80
|
+
readonly plainText: 'public.plain-text'
|
|
81
|
+
readonly ppt: 'com.microsoft.powerpoint.ppt'
|
|
82
|
+
readonly pptx: 'org.openxmlformats.presentationml.presentation'
|
|
83
|
+
readonly video: 'public.movie'
|
|
84
|
+
readonly xls: 'com.microsoft.excel.xls'
|
|
85
|
+
readonly xlsx: 'org.openxmlformats.spreadsheetml.sheet'
|
|
86
|
+
readonly zip: 'public.zip-archive'
|
|
87
|
+
}>
|
|
88
|
+
windows: Readonly<{
|
|
89
|
+
readonly allFiles: '*'
|
|
90
|
+
readonly audio: '.3g2 .3gp .aac .adt .adts .aif .aifc .aiff .asf .au .m3u .m4a .m4b .mid .midi .mp2 .mp3 .mp4 .rmi .snd .wav .wax .wma'
|
|
91
|
+
readonly csv: '.csv'
|
|
92
|
+
readonly doc: '.doc'
|
|
93
|
+
readonly docx: '.docx'
|
|
94
|
+
readonly images: '.jpeg .jpg .png'
|
|
95
|
+
readonly pdf: '.pdf'
|
|
96
|
+
readonly plainText: '.txt'
|
|
97
|
+
readonly ppt: '.ppt'
|
|
98
|
+
readonly pptx: '.pptx'
|
|
99
|
+
readonly video: '.mp4'
|
|
100
|
+
readonly xls: '.xls'
|
|
101
|
+
readonly xlsx: '.xlsx'
|
|
102
|
+
readonly zip: '.zip .gz'
|
|
103
|
+
}>
|
|
104
|
+
macos: Readonly<{
|
|
105
|
+
readonly allFiles: '*'
|
|
106
|
+
readonly audio: '.3g2 .3gp .aac .adt .adts .aif .aifc .aiff .asf .au .m3u .m4a .m4b .mid .midi .mp2 .mp3 .mp4 .rmi .snd .wav .wax .wma'
|
|
107
|
+
readonly csv: '.csv'
|
|
108
|
+
readonly doc: '.doc'
|
|
109
|
+
readonly docx: '.docx'
|
|
110
|
+
readonly images: '.jpeg .jpg .png'
|
|
111
|
+
readonly pdf: '.pdf'
|
|
112
|
+
readonly plainText: '.txt'
|
|
113
|
+
readonly ppt: '.ppt'
|
|
114
|
+
readonly pptx: '.pptx'
|
|
115
|
+
readonly video: '.mp4'
|
|
116
|
+
readonly xls: '.xls'
|
|
117
|
+
readonly xlsx: '.xlsx'
|
|
118
|
+
readonly zip: '.zip .gz'
|
|
119
|
+
}>
|
|
120
|
+
web: Readonly<{
|
|
121
|
+
readonly allFiles: '*'
|
|
122
|
+
readonly audio: '.3g2 .3gp .aac .adt .adts .aif .aifc .aiff .asf .au .m3u .m4a .m4b .mid .midi .mp2 .mp3 .mp4 .rmi .snd .wav .wax .wma'
|
|
123
|
+
readonly csv: '.csv'
|
|
124
|
+
readonly doc: '.doc'
|
|
125
|
+
readonly docx: '.docx'
|
|
126
|
+
readonly images: '.jpeg .jpg .png'
|
|
127
|
+
readonly pdf: '.pdf'
|
|
128
|
+
readonly plainText: '.txt'
|
|
129
|
+
readonly ppt: '.ppt'
|
|
130
|
+
readonly pptx: '.pptx'
|
|
131
|
+
readonly video: '.mp4'
|
|
132
|
+
readonly xls: '.xls'
|
|
133
|
+
readonly xlsx: '.xlsx'
|
|
134
|
+
readonly zip: '.zip .gz'
|
|
135
|
+
}>
|
|
136
|
+
}
|
|
137
|
+
export declare const typesAreEqual: true
|
|
138
|
+
export {}
|
|
@@ -1,13 +1,9 @@
|
|
|
1
|
-
import { FormTypes } from '@codeleap/common'
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
type: RNTextInputMaskProps['type']
|
|
11
|
-
}
|
|
12
|
-
onChangeText?: (maskedText:string, unmaskedText:string) => any
|
|
13
|
-
} & NativeProps & RNTextInputMaskProps
|
|
1
|
+
import { FormTypes } from '@codeleap/common'
|
|
2
|
+
import { TextInputProps } from 'react-native'
|
|
3
|
+
|
|
4
|
+
import { TextInputMaskProps as RNTextInputMaskProps } from 'react-native-masked-text'
|
|
5
|
+
|
|
6
|
+
export type TextInputMaskProps =Omit<RNTextInputMaskProps, keyof TextInputProps > & {
|
|
7
|
+
masking: FormTypes.TextField['masking']
|
|
8
|
+
onChangeText: RNTextInputMaskProps['onChangeText']
|
|
9
|
+
}
|
package/src/types/utility.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { StyleProp } from 'react-native'
|
|
2
|
-
|
|
3
|
-
export type StylesOf<C extends string> = Partial<Record<C, StyleProp<any>>>
|
|
1
|
+
import { StyleProp } from 'react-native'
|
|
2
|
+
|
|
3
|
+
export type StylesOf<C extends string> = Partial<Record<C, StyleProp<any>>>
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import * as React from 'react'
|
|
2
|
+
import { usePrevious, onMount, onUpdate, PropsOf } from '@codeleap/common'
|
|
3
|
+
import { useModalContext } from './context'
|
|
4
|
+
import { Portal } from '@gorhom/portal'
|
|
5
|
+
import { Modal } from '../../components/Modal'
|
|
6
|
+
|
|
7
|
+
type AbsoluteModalProps = Omit<PropsOf<typeof Modal>, 'visible' | 'toggle'> & {
|
|
8
|
+
id?: string
|
|
9
|
+
initialVisible ?: boolean
|
|
10
|
+
parent?: string
|
|
11
|
+
visible?: boolean
|
|
12
|
+
toggle?: PropsOf<typeof Modal>['toggle']
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export const AbsoluteModal:React.FC<AbsoluteModalProps> = ({
|
|
16
|
+
children,
|
|
17
|
+
id,
|
|
18
|
+
initialVisible = false,
|
|
19
|
+
parent,
|
|
20
|
+
...props
|
|
21
|
+
}) => {
|
|
22
|
+
|
|
23
|
+
const modalId = id
|
|
24
|
+
const modals = useModalContext()
|
|
25
|
+
|
|
26
|
+
onMount(() => {
|
|
27
|
+
if (!modalId) return
|
|
28
|
+
modals.setModal(modalId, {
|
|
29
|
+
attachedTo: [],
|
|
30
|
+
attachments: [],
|
|
31
|
+
visible: initialVisible,
|
|
32
|
+
})
|
|
33
|
+
})
|
|
34
|
+
|
|
35
|
+
const prevParent = usePrevious(parent)
|
|
36
|
+
|
|
37
|
+
onUpdate(() => {
|
|
38
|
+
if (!modalId) return
|
|
39
|
+
if (!!parent || !!prevParent) {
|
|
40
|
+
modals.attach(modalId, parent)
|
|
41
|
+
}
|
|
42
|
+
}, [parent])
|
|
43
|
+
|
|
44
|
+
const visible = modalId ? modals.isVisible(modalId) : props.visible
|
|
45
|
+
|
|
46
|
+
return <Portal>
|
|
47
|
+
<Modal {...props} visible={visible} toggle={() => {
|
|
48
|
+
if (modalId) {
|
|
49
|
+
modals.toggleModal(modalId)
|
|
50
|
+
} else {
|
|
51
|
+
props.toggle()
|
|
52
|
+
}
|
|
53
|
+
}}>
|
|
54
|
+
{children}
|
|
55
|
+
</Modal>
|
|
56
|
+
</Portal>
|
|
57
|
+
}
|
|
58
|
+
|
|
@@ -0,0 +1,208 @@
|
|
|
1
|
+
import * as React from 'react'
|
|
2
|
+
import { AnyFunction, useCodeleapContext, useState } from '@codeleap/common'
|
|
3
|
+
import { PortalProvider } from '@gorhom/portal'
|
|
4
|
+
|
|
5
|
+
export type AppModalProps = {
|
|
6
|
+
visible: boolean
|
|
7
|
+
attachments: string[]
|
|
8
|
+
attachedTo: string[]
|
|
9
|
+
}
|
|
10
|
+
type TModalState = AppModalProps
|
|
11
|
+
type ModalTransitionOptions = {
|
|
12
|
+
duration?: number
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
type TModalContext = {
|
|
16
|
+
state: Record<string, TModalState>
|
|
17
|
+
toggleModal: (name: string, setTo?: boolean) => void
|
|
18
|
+
setModal: (name: string, to: Partial<TModalState>) => void
|
|
19
|
+
currentModal: string
|
|
20
|
+
isVisible: (name: string) => boolean
|
|
21
|
+
transition: (from: string, to: string, options?: ModalTransitionOptions) => Promise<void>
|
|
22
|
+
attach: (modal: string, to: string) => void
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
const ModalContext = React.createContext({} as TModalContext)
|
|
26
|
+
|
|
27
|
+
export function Provider({ children }) {
|
|
28
|
+
const [modals, setModals] = useState<TModalContext['state']>({})
|
|
29
|
+
const currentModal = Object.keys(modals).find(name => modals[name].visible)
|
|
30
|
+
|
|
31
|
+
function isVisible(name: string) {
|
|
32
|
+
return !!modals[name]?.visible
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
const toggleModal:TModalContext['toggleModal'] = (name, set?: boolean) => {
|
|
36
|
+
const visible = isVisible(name)
|
|
37
|
+
|
|
38
|
+
const newVisible = typeof set === 'boolean' ? set : !visible
|
|
39
|
+
|
|
40
|
+
setModals((current) => {
|
|
41
|
+
const attached = newVisible ? [] : current[name].attachments.map(m => [m, { ...current[m], visible: false }])
|
|
42
|
+
return {
|
|
43
|
+
...current,
|
|
44
|
+
[name]: {
|
|
45
|
+
...current[name],
|
|
46
|
+
visible: newVisible,
|
|
47
|
+
},
|
|
48
|
+
...Object.fromEntries(attached),
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
})
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
const setModal:TModalContext['setModal'] = (name, to) => {
|
|
55
|
+
|
|
56
|
+
setModals((current) => ({
|
|
57
|
+
...current,
|
|
58
|
+
[name]: {
|
|
59
|
+
...current[name],
|
|
60
|
+
...to,
|
|
61
|
+
},
|
|
62
|
+
}))
|
|
63
|
+
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
const codeleapCtx = useCodeleapContext()
|
|
67
|
+
|
|
68
|
+
const transition:TModalContext['transition'] = (from, to, options) => {
|
|
69
|
+
const _options:ModalTransitionOptions = {
|
|
70
|
+
duration: codeleapCtx?.Theme?.values?.modalTransitionDuration || 300,
|
|
71
|
+
...options,
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
const toVisible = isVisible(to)
|
|
75
|
+
const fromVisible = isVisible(from)
|
|
76
|
+
if (toVisible) return
|
|
77
|
+
if (!fromVisible && !toVisible) {
|
|
78
|
+
toggleModal(to)
|
|
79
|
+
return
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
toggleModal(from)
|
|
83
|
+
return new Promise((resolve) => {
|
|
84
|
+
setTimeout(() => {
|
|
85
|
+
if (to) {
|
|
86
|
+
toggleModal(to)
|
|
87
|
+
}
|
|
88
|
+
resolve()
|
|
89
|
+
}, _options.duration)
|
|
90
|
+
|
|
91
|
+
})
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
function attach(modal: string, to: string) {
|
|
95
|
+
setModals((modals) => {
|
|
96
|
+
const toModal = modals[to]
|
|
97
|
+
const _modal = modals[modal]
|
|
98
|
+
if (!toModal || !_modal) return modals
|
|
99
|
+
|
|
100
|
+
const isAttached = toModal.attachments.includes(modal) || _modal.attachedTo.includes(to)
|
|
101
|
+
|
|
102
|
+
const newVal = { ...modals }
|
|
103
|
+
if (isAttached) {
|
|
104
|
+
|
|
105
|
+
newVal[to].attachments = newVal[to].attachments.filter(x => x !== modal)
|
|
106
|
+
newVal[modal].attachedTo = newVal[modal].attachedTo.filter(x => x !== to)
|
|
107
|
+
|
|
108
|
+
} else {
|
|
109
|
+
|
|
110
|
+
newVal[to].attachments.push(modal)
|
|
111
|
+
newVal[modal].attachedTo.push(to)
|
|
112
|
+
|
|
113
|
+
}
|
|
114
|
+
return newVal
|
|
115
|
+
})
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
return <ModalContext.Provider value={{
|
|
119
|
+
state: modals,
|
|
120
|
+
toggleModal,
|
|
121
|
+
setModal,
|
|
122
|
+
currentModal,
|
|
123
|
+
attach,
|
|
124
|
+
isVisible,
|
|
125
|
+
transition,
|
|
126
|
+
|
|
127
|
+
}}>
|
|
128
|
+
<PortalProvider>
|
|
129
|
+
|
|
130
|
+
{children}
|
|
131
|
+
</PortalProvider>
|
|
132
|
+
</ModalContext.Provider>
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
export function useModalContext() {
|
|
136
|
+
const context = React.useContext(ModalContext)
|
|
137
|
+
return context
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
export type UseModalSequenceOptions = {
|
|
141
|
+
onFinish?: AnyFunction
|
|
142
|
+
resetOnFinish?: boolean
|
|
143
|
+
closeLastOnFinish?: boolean
|
|
144
|
+
waitForLastToCloseBeforeCallingFinish?: boolean
|
|
145
|
+
transitionOpts?: Partial<Parameters<TModalContext['transition']>[2]>
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
export function useModalSequence(ids: string[], options?: UseModalSequenceOptions) {
|
|
149
|
+
|
|
150
|
+
const _options:UseModalSequenceOptions = {
|
|
151
|
+
closeLastOnFinish: true,
|
|
152
|
+
onFinish: () => {},
|
|
153
|
+
resetOnFinish: false,
|
|
154
|
+
waitForLastToCloseBeforeCallingFinish: true,
|
|
155
|
+
...options,
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
const modals = useModalContext()
|
|
159
|
+
const [idx, setIdx] = useState(0)
|
|
160
|
+
|
|
161
|
+
const state = {
|
|
162
|
+
currentId: ids[idx],
|
|
163
|
+
nextId: ids[idx + 1],
|
|
164
|
+
previousId: ids[idx - 1],
|
|
165
|
+
}
|
|
166
|
+
function next() {
|
|
167
|
+
if (idx === ids.length - 1) {
|
|
168
|
+
if (_options.closeLastOnFinish) {
|
|
169
|
+
modals.transition(ids[idx], null).then(() => {
|
|
170
|
+
if (_options.waitForLastToCloseBeforeCallingFinish) {
|
|
171
|
+
_options.onFinish()
|
|
172
|
+
}
|
|
173
|
+
})
|
|
174
|
+
}
|
|
175
|
+
if (_options.resetOnFinish) {
|
|
176
|
+
reset()
|
|
177
|
+
}
|
|
178
|
+
if (!(_options.waitForLastToCloseBeforeCallingFinish && _options.closeLastOnFinish)) {
|
|
179
|
+
_options.onFinish()
|
|
180
|
+
}
|
|
181
|
+
return
|
|
182
|
+
} else {
|
|
183
|
+
if (!state.nextId) return
|
|
184
|
+
modals.transition(ids[idx], ids[idx + 1])
|
|
185
|
+
setIdx(i => i + 1)
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
function previous() {
|
|
189
|
+
if (!state.previousId) return
|
|
190
|
+
modals.transition(ids[idx], ids[idx - 1])
|
|
191
|
+
setIdx(i => i - 1)
|
|
192
|
+
|
|
193
|
+
}
|
|
194
|
+
function reset() {
|
|
195
|
+
setIdx(0)
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
return {
|
|
199
|
+
reset,
|
|
200
|
+
next,
|
|
201
|
+
previous,
|
|
202
|
+
setModal: setIdx,
|
|
203
|
+
currentIdx: idx,
|
|
204
|
+
...state,
|
|
205
|
+
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
}
|