@codeleap/mobile 1.4.0 → 1.4.3

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 (191) hide show
  1. package/.eslintignore +1 -1
  2. package/.eslintrc.js +3 -3
  3. package/.vscode/settings.json +10 -10
  4. package/CodeLeap-Mobile-Packages.code-workspace +7 -7
  5. package/dist/components/ActivityIndicator.d.ts +13 -13
  6. package/dist/components/ActivityIndicator.js +50 -51
  7. package/dist/components/ActivityIndicator.js.map +1 -1
  8. package/dist/components/Animated.d.ts +15 -15
  9. package/dist/components/Animated.js +54 -54
  10. package/dist/components/Animated.js.map +0 -0
  11. package/dist/components/Button.d.ts +119 -119
  12. package/dist/components/Button.js +77 -77
  13. package/dist/components/Button.js.map +1 -1
  14. package/dist/components/Checkbox/index.d.ts +14 -14
  15. package/dist/components/Checkbox/index.js +73 -73
  16. package/dist/components/Checkbox/index.js.map +1 -1
  17. package/dist/components/Checkbox/styles.d.ts +52 -52
  18. package/dist/components/Checkbox/styles.js +48 -48
  19. package/dist/components/Checkbox/styles.js.map +0 -0
  20. package/dist/components/ContentView.d.ts +10 -10
  21. package/dist/components/ContentView.js +50 -50
  22. package/dist/components/ContentView.js.map +0 -0
  23. package/dist/components/FileInput.d.ts +26 -26
  24. package/dist/components/FileInput.js +174 -174
  25. package/dist/components/FileInput.js.map +1 -1
  26. package/dist/components/Icon.d.ts +12 -11
  27. package/dist/components/Icon.js +66 -60
  28. package/dist/components/Icon.js.map +1 -1
  29. package/dist/components/Image.d.ts +18 -17
  30. package/dist/components/Image.js +53 -47
  31. package/dist/components/Image.js.map +1 -1
  32. package/dist/components/List.d.ts +11 -11
  33. package/dist/components/List.js +76 -76
  34. package/dist/components/List.js.map +0 -0
  35. package/dist/components/Modal/index.d.ts +25 -25
  36. package/dist/components/Modal/index.js +108 -108
  37. package/dist/components/Modal/index.js.map +0 -0
  38. package/dist/components/Modal/styles.d.ts +66 -66
  39. package/dist/components/Modal/styles.js +64 -56
  40. package/dist/components/Modal/styles.js.map +1 -1
  41. package/dist/components/Navigation/Navigation.d.ts +3 -3
  42. package/dist/components/Navigation/Navigation.js +83 -75
  43. package/dist/components/Navigation/Navigation.js.map +1 -1
  44. package/dist/components/Navigation/constants.d.ts +5 -5
  45. package/dist/components/Navigation/constants.js +10 -10
  46. package/dist/components/Navigation/constants.js.map +0 -0
  47. package/dist/components/Navigation/index.d.ts +3 -3
  48. package/dist/components/Navigation/index.js +15 -15
  49. package/dist/components/Navigation/index.js.map +0 -0
  50. package/dist/components/Navigation/types.d.ts +26 -26
  51. package/dist/components/Navigation/types.js +7 -7
  52. package/dist/components/Navigation/types.js.map +1 -1
  53. package/dist/components/Navigation/utils.d.ts +3 -3
  54. package/dist/components/Navigation/utils.js +69 -66
  55. package/dist/components/Navigation/utils.js.map +1 -1
  56. package/dist/components/Overlay.d.ts +16 -16
  57. package/dist/components/Overlay.js +65 -65
  58. package/dist/components/Overlay.js.map +1 -1
  59. package/dist/components/Pager/index.d.ts +19 -19
  60. package/dist/components/Pager/index.js +163 -163
  61. package/dist/components/Pager/index.js.map +1 -1
  62. package/dist/components/Pager/styles.d.ts +51 -51
  63. package/dist/components/Pager/styles.js +43 -43
  64. package/dist/components/Pager/styles.js.map +0 -0
  65. package/dist/components/RadioInput/index.d.ts +26 -26
  66. package/dist/components/RadioInput/index.js +68 -68
  67. package/dist/components/RadioInput/index.js.map +1 -1
  68. package/dist/components/RadioInput/styles.d.ts +54 -54
  69. package/dist/components/RadioInput/styles.js +44 -44
  70. package/dist/components/RadioInput/styles.js.map +0 -0
  71. package/dist/components/Scroll.d.ts +11 -11
  72. package/dist/components/Scroll.js +75 -75
  73. package/dist/components/Scroll.js.map +0 -0
  74. package/dist/components/Sections.d.ts +11 -11
  75. package/dist/components/Sections.js +76 -76
  76. package/dist/components/Sections.js.map +0 -0
  77. package/dist/components/Select/index.d.ts +5 -5
  78. package/dist/components/Select/index.js +144 -143
  79. package/dist/components/Select/index.js.map +1 -1
  80. package/dist/components/Select/styles.d.ts +9 -9
  81. package/dist/components/Select/styles.js +56 -56
  82. package/dist/components/Select/styles.js.map +0 -0
  83. package/dist/components/Select/types.d.ts +33 -33
  84. package/dist/components/Select/types.js +2 -2
  85. package/dist/components/Select/types.js.map +0 -0
  86. package/dist/components/Slider/Mark.d.ts +3 -3
  87. package/dist/components/Slider/Mark.js +31 -31
  88. package/dist/components/Slider/Mark.js.map +0 -0
  89. package/dist/components/Slider/Thumb.d.ts +7 -7
  90. package/dist/components/Slider/Thumb.js +29 -29
  91. package/dist/components/Slider/Thumb.js.map +0 -0
  92. package/dist/components/Slider/index.d.ts +3 -3
  93. package/dist/components/Slider/index.js +93 -93
  94. package/dist/components/Slider/index.js.map +0 -0
  95. package/dist/components/Slider/types.d.ts +25 -25
  96. package/dist/components/Slider/types.js +2 -2
  97. package/dist/components/Slider/types.js.map +0 -0
  98. package/dist/components/Switch.d.ts +13 -13
  99. package/dist/components/Switch.js +71 -71
  100. package/dist/components/Switch.js.map +1 -1
  101. package/dist/components/Text.d.ts +12 -12
  102. package/dist/components/Text.js +48 -48
  103. package/dist/components/Text.js.map +0 -0
  104. package/dist/components/TextInput.d.ts +162 -160
  105. package/dist/components/TextInput.js +149 -149
  106. package/dist/components/TextInput.js.map +1 -1
  107. package/dist/components/Touchable.d.ts +14 -14
  108. package/dist/components/Touchable.js +57 -57
  109. package/dist/components/Touchable.js.map +1 -1
  110. package/dist/components/View.d.ts +114 -114
  111. package/dist/components/View.js +50 -50
  112. package/dist/components/View.js.map +0 -0
  113. package/dist/components/components.d.ts +24 -24
  114. package/dist/components/components.js +36 -36
  115. package/dist/components/components.js.map +0 -0
  116. package/dist/index.d.ts +5 -5
  117. package/dist/index.js +24 -24
  118. package/dist/index.js.map +0 -0
  119. package/dist/modules/documentPicker.d.ts +3 -3
  120. package/dist/modules/documentPicker.js +11 -11
  121. package/dist/modules/documentPicker.js.map +1 -1
  122. package/dist/modules/fastImage.d.ts +1 -1
  123. package/dist/modules/fastImage.js +9 -9
  124. package/dist/modules/fastImage.js.map +0 -0
  125. package/dist/modules/reactNavigation.d.ts +3 -3
  126. package/dist/modules/reactNavigation.js +10 -10
  127. package/dist/modules/reactNavigation.js.map +0 -0
  128. package/dist/modules/types/fileTypes.d.ts +138 -138
  129. package/dist/modules/types/fileTypes.js +2 -2
  130. package/dist/modules/types/fileTypes.js.map +0 -0
  131. package/dist/types/utility.d.ts +2 -2
  132. package/dist/types/utility.js +2 -2
  133. package/dist/types/utility.js.map +0 -0
  134. package/dist/utils/OSAlert.d.ts +31 -31
  135. package/dist/utils/OSAlert.js +141 -88
  136. package/dist/utils/OSAlert.js.map +1 -1
  137. package/dist/utils/misc.d.ts +2 -2
  138. package/dist/utils/misc.js +25 -25
  139. package/dist/utils/misc.js.map +0 -0
  140. package/dist/utils/styles.d.ts +1 -1
  141. package/dist/utils/styles.js +12 -12
  142. package/dist/utils/styles.js.map +0 -0
  143. package/package.json +40 -38
  144. package/src/components/ActivityIndicator.tsx +46 -47
  145. package/src/components/Animated.tsx +34 -34
  146. package/src/components/Button.tsx +95 -95
  147. package/src/components/Checkbox/index.tsx +81 -80
  148. package/src/components/Checkbox/styles.ts +72 -72
  149. package/src/components/ContentView.tsx +58 -58
  150. package/src/components/FileInput.tsx +179 -178
  151. package/src/components/Icon.tsx +58 -48
  152. package/src/components/Image.tsx +61 -49
  153. package/src/components/List.tsx +100 -100
  154. package/src/components/Modal/index.tsx +158 -158
  155. package/src/components/Modal/styles.ts +133 -118
  156. package/src/components/Navigation/Navigation.tsx +58 -51
  157. package/src/components/Navigation/constants.ts +8 -8
  158. package/src/components/Navigation/index.tsx +3 -3
  159. package/src/components/Navigation/types.ts +35 -37
  160. package/src/components/Navigation/utils.tsx +59 -54
  161. package/src/components/Overlay.tsx +77 -76
  162. package/src/components/Pager/index.tsx +240 -241
  163. package/src/components/Pager/styles.ts +51 -51
  164. package/src/components/RadioInput/index.tsx +101 -100
  165. package/src/components/RadioInput/styles.ts +67 -67
  166. package/src/components/Scroll.tsx +98 -98
  167. package/src/components/Sections.tsx +100 -0
  168. package/src/components/Select/index.tsx +184 -181
  169. package/src/components/Select/styles.ts +81 -81
  170. package/src/components/Select/types.ts +41 -41
  171. package/src/components/Slider/Mark.tsx +46 -46
  172. package/src/components/Slider/Thumb.tsx +29 -29
  173. package/src/components/Slider/index.tsx +123 -123
  174. package/src/components/Slider/types.ts +25 -25
  175. package/src/components/Switch.tsx +81 -82
  176. package/src/components/Text.tsx +30 -30
  177. package/src/components/TextInput.tsx +204 -203
  178. package/src/components/Touchable.tsx +65 -64
  179. package/src/components/View.tsx +46 -46
  180. package/src/components/components.ts +26 -26
  181. package/src/index.ts +6 -6
  182. package/src/modules/documentPicker.ts +7 -8
  183. package/src/modules/fastImage.ts +2 -2
  184. package/src/modules/index.d.ts +496 -496
  185. package/src/modules/reactNavigation.ts +4 -4
  186. package/src/modules/types/documentPicker.d.ts +215 -215
  187. package/src/modules/types/fileTypes.ts +122 -122
  188. package/src/types/utility.ts +3 -3
  189. package/src/utils/OSAlert.ts +180 -124
  190. package/src/utils/misc.ts +24 -24
  191. package/src/utils/styles.ts +14 -14
@@ -1,138 +1,138 @@
1
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';
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
16
  }>
17
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';
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
32
  }>
33
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';
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
48
  }>
49
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';
50
+ android: typeof mimeTypes
51
+ ios: typeof utis
52
+ windows: typeof extensions
53
+ }
54
+ export declare type SupportedPlatforms = 'ios' | 'android' | 'windows'
55
55
  export declare const perPlatformTypes: {
56
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
- }>;
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
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
- }>;
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
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
- }>;
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
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
- }>;
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
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
- }>;
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
136
  }
137
137
  export declare const typesAreEqual: true
138
138
  export {}
@@ -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>>>
@@ -1,124 +1,180 @@
1
- /* eslint no-restricted-imports: 'off' */
2
- import { Alert, AlertButton } from 'react-native'
3
-
4
- /**
5
- * Alert.{function} receives three parameters, the last one being an object:
6
- *
7
- * @param {string} title text to appear in title
8
- * @param {string} body text to appear in body
9
- * @param {object} options array of buttons and callbacks
10
- *
11
- * options properties
12
- * @property {string} name object description
13
- * @property {function} run callback function to run on press
14
- */
15
-
16
- type NativeAlertArgs = Parameters<typeof Alert.alert>;
17
-
18
- type OSAlertArgs = {
19
- title: NativeAlertArgs['0'];
20
- body?: NativeAlertArgs['1'];
21
- options?: NativeAlertArgs['2'];
22
- };
23
- type AlertEvent = AlertButton['onPress'];
24
-
25
- type NamedEvents<E extends string> = Partial<Record<E, AlertEvent>>;
26
-
27
- function ask({ title, body, options = null }: OSAlertArgs) {
28
- if (!title) {
29
- title = 'Quick quetion'
30
- }
31
- OSAlert({
32
- title,
33
- body,
34
- options,
35
- })
36
- }
37
-
38
- function warn({
39
- title,
40
- body,
41
- onAccept,
42
- onReject,
43
- }: OSAlertArgs & NamedEvents<'onReject' | 'onAccept'>) {
44
- if (!title) {
45
- title = 'Hang on'
46
- }
47
- if (!body) {
48
- body = 'Are you sure?'
49
- }
50
- if (!onReject) {
51
- onReject = () => null
52
- }
53
- OSAlert({
54
- title,
55
- body,
56
- options: [
57
- {
58
- text: 'Cancel',
59
- onPress: onReject,
60
- },
61
- {
62
- text: 'OK',
63
- style: 'destructive',
64
- onPress: onAccept,
65
- },
66
- ],
67
- })
68
- }
69
-
70
- function info({
71
- title,
72
- body,
73
- onDismiss = () => null,
74
- }: OSAlertArgs & NamedEvents<'onDismiss'>) {
75
- if (!title) {
76
- title = 'FYI'
77
- }
78
- OSAlert({
79
- title,
80
- body,
81
- options: [
82
- {
83
- text: 'OK',
84
- onPress: onDismiss,
85
- },
86
- ],
87
- })
88
- }
89
-
90
- function OSError({
91
- title,
92
- body,
93
- onDismiss = () => null,
94
- }: OSAlertArgs & NamedEvents<'onDismiss'>) {
95
- if (!title) {
96
- title = 'Whoops!'
97
- }
98
- if (!body) {
99
- body = 'Something went wrong'
100
- }
101
- OSAlert({
102
- title,
103
- body,
104
- options: [
105
- {
106
- text: 'OK',
107
- onPress: () => onDismiss(),
108
- },
109
- ],
110
- })
111
- }
112
-
113
- function OSAlert(params: OSAlertArgs) {
114
- Alert.alert(params.title, params.body, params.options, {
115
- cancelable: false,
116
- })
117
- }
118
-
119
- export default {
120
- ask,
121
- warn,
122
- info,
123
- error: OSError,
124
- }
1
+ /* eslint no-restricted-imports: 'off' */
2
+ /* eslint prefer-const: 'off' */
3
+ import { Alert, AlertButton } from 'react-native'
4
+
5
+ /**
6
+ * Alert.{function} receives three parameters, the last one being an object:
7
+ *
8
+ * @param {string} title text to appear in title
9
+ * @param {string} body text to appear in body
10
+ * @param {object} options array of buttons and callbacks
11
+ *
12
+ * options properties
13
+ * @property {string} name object description
14
+ * @property {function} run callback function to run on press
15
+ */
16
+
17
+ type NativeAlertArgs = Parameters<typeof Alert.alert>
18
+
19
+ type OSAlertArgs = {
20
+ title: NativeAlertArgs['0']
21
+ body?: NativeAlertArgs['1']
22
+ options?: NativeAlertArgs['2']
23
+ }
24
+ type AlertEvent = AlertButton['onPress']
25
+ type OSAlertType = 'info' | 'error' | 'warn' | 'ask'
26
+ type NamedEvents<E extends string> = Partial<Record<E, AlertEvent>>
27
+
28
+ const currentAlerts = {
29
+
30
+ }
31
+
32
+ function generateAlertID(from:OSAlertArgs & {type: OSAlertType}) {
33
+ return [
34
+ from.type,
35
+ from.title,
36
+ from.body,
37
+ ].join('-')
38
+ }
39
+
40
+ function shouldShowAlert(args:OSAlertArgs, type: OSAlertType) {
41
+ const alertId = generateAlertID({ ...args, type })
42
+
43
+ if (!Object.keys(currentAlerts).includes(alertId)) {
44
+ currentAlerts[alertId] = true
45
+
46
+ return alertId
47
+ }
48
+
49
+ return ''
50
+ }
51
+
52
+ function popAlert(id:string) {
53
+ delete currentAlerts[id]
54
+ }
55
+
56
+ function ask({ title, body, options = null }: OSAlertArgs) {
57
+ if (!title) {
58
+ title = 'Quick quetion'
59
+ }
60
+ OSAlert({
61
+ title,
62
+ body,
63
+ options,
64
+ })
65
+ }
66
+
67
+ function warn(args: OSAlertArgs & NamedEvents<'onReject' | 'onAccept'>) {
68
+ const id = shouldShowAlert(args, 'warn')
69
+
70
+ if (!id) return
71
+ let {
72
+ title,
73
+ body,
74
+ onAccept,
75
+ onReject,
76
+ } = args
77
+
78
+ if (!title) {
79
+ title = 'Hang on'
80
+ }
81
+ if (!body) {
82
+ body = 'Are you sure?'
83
+ }
84
+ if (!onReject) {
85
+ onReject = () => null
86
+ }
87
+ OSAlert({
88
+ title,
89
+ body,
90
+ options: [
91
+ {
92
+ text: 'Cancel',
93
+ onPress: () => {
94
+ popAlert(id)
95
+ onReject()
96
+ },
97
+ },
98
+ {
99
+ text: 'OK',
100
+ style: 'destructive',
101
+ onPress: () => {
102
+ popAlert(id)
103
+ onAccept?.()
104
+ },
105
+ },
106
+ ],
107
+ })
108
+ }
109
+
110
+ function info(args: OSAlertArgs & NamedEvents<'onDismiss'>) {
111
+ const id = shouldShowAlert(args, 'info')
112
+
113
+ if (!id) return
114
+ let {
115
+ title,
116
+ body,
117
+ onDismiss = () => null,
118
+ } = args
119
+
120
+ if (!title) {
121
+ title = 'FYI'
122
+ }
123
+ OSAlert({
124
+ title,
125
+ body,
126
+ options: [
127
+ {
128
+ text: 'OK',
129
+ onPress: () => {
130
+ popAlert(id)
131
+ onDismiss?.()
132
+ },
133
+ },
134
+ ],
135
+ })
136
+ }
137
+
138
+ function OSError(args: OSAlertArgs & NamedEvents<'onDismiss'>) {
139
+ const id = shouldShowAlert(args, 'error')
140
+
141
+ if (!id) return
142
+
143
+ let {
144
+ title,
145
+ body,
146
+ } = args
147
+
148
+ if (!title) {
149
+ title = 'Whoops!'
150
+ }
151
+ if (!body) {
152
+ body = 'Something went wrong'
153
+ }
154
+ OSAlert({
155
+ title,
156
+ body,
157
+ options: [
158
+ {
159
+ text: 'OK',
160
+ onPress: () => {
161
+ popAlert(id)
162
+ args?.onDismiss?.()
163
+ },
164
+ },
165
+ ],
166
+ })
167
+ }
168
+
169
+ function OSAlert(params: OSAlertArgs) {
170
+ Alert.alert(params.title, params.body, params.options, {
171
+ cancelable: false,
172
+ })
173
+ }
174
+
175
+ export default {
176
+ ask,
177
+ warn,
178
+ info,
179
+ error: OSError,
180
+ }
package/src/utils/misc.ts CHANGED
@@ -1,24 +1,24 @@
1
- import { MobileInputFile, parseFilePathData } from '@codeleap/common'
2
-
3
- export const stringToFile = (str: string): MobileInputFile => {
4
- if (!str) {
5
- return {
6
- file: null,
7
- preview: null,
8
- }
9
- }
10
- const fileData = parseFilePathData(str)
11
-
12
- const data: MobileInputFile['file'] = {
13
- name: fileData.name,
14
- type: 'image/' + fileData.extension,
15
- size: 1000,
16
- uri: str,
17
- fileCopyUri: str,
18
- }
19
-
20
- return {
21
- file: data,
22
- preview: data.uri,
23
- }
24
- }
1
+ import { MobileInputFile, parseFilePathData } from '@codeleap/common'
2
+
3
+ export const stringToFile = (str: string): MobileInputFile => {
4
+ if (!str) {
5
+ return {
6
+ file: null,
7
+ preview: null,
8
+ }
9
+ }
10
+ const fileData = parseFilePathData(str)
11
+
12
+ const data: MobileInputFile['file'] = {
13
+ name: fileData.name,
14
+ type: 'image/' + fileData.extension,
15
+ size: 1000,
16
+ uri: str,
17
+ fileCopyUri: str,
18
+ }
19
+
20
+ return {
21
+ file: data,
22
+ preview: data.uri,
23
+ }
24
+ }
@@ -1,14 +1,14 @@
1
- import { useCodeleapContext } from '@codeleap/common'
2
- import { StyleSheet } from 'react-native'
3
-
4
- export function useLogStyles() {
5
- const { logger } = useCodeleapContext()
6
-
7
- return (name, styles) => {
8
- logger.debug.blue(
9
- name,
10
- JSON.stringify(StyleSheet.flatten(styles), null, 2),
11
- 'Component Styles',
12
- )
13
- }
14
- }
1
+ import { useCodeleapContext } from '@codeleap/common'
2
+ import { StyleSheet } from 'react-native'
3
+
4
+ export function useLogStyles() {
5
+ const { logger } = useCodeleapContext()
6
+
7
+ return (name, styles) => {
8
+ logger.debug.blue(
9
+ name,
10
+ JSON.stringify(StyleSheet.flatten(styles), null, 2),
11
+ 'Component Styles',
12
+ )
13
+ }
14
+ }