@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.
Files changed (222) hide show
  1. package/CodeLeap-Mobile-Packages.code-workspace +7 -7
  2. package/dist/components/ActivityIndicator.d.ts +13 -13
  3. package/dist/components/ActivityIndicator.js +54 -54
  4. package/dist/components/ActivityIndicator.js.map +0 -0
  5. package/dist/components/Animated.d.ts +123 -15
  6. package/dist/components/Animated.js +58 -58
  7. package/dist/components/Animated.js.map +0 -0
  8. package/dist/components/Button.d.ts +132 -125
  9. package/dist/components/Button.js +93 -82
  10. package/dist/components/Button.js.map +1 -1
  11. package/dist/components/Checkbox/index.d.ts +15 -15
  12. package/dist/components/Checkbox/index.js +79 -79
  13. package/dist/components/Checkbox/index.js.map +0 -0
  14. package/dist/components/Checkbox/styles.d.ts +55 -55
  15. package/dist/components/Checkbox/styles.js +51 -51
  16. package/dist/components/Checkbox/styles.js.map +0 -0
  17. package/dist/components/ContentView.d.ts +10 -10
  18. package/dist/components/ContentView.js +50 -50
  19. package/dist/components/ContentView.js.map +0 -0
  20. package/dist/components/EmptyPlaceholder.d.ts +12 -0
  21. package/dist/components/EmptyPlaceholder.js +54 -0
  22. package/dist/components/EmptyPlaceholder.js.map +1 -0
  23. package/dist/components/FileInput.d.ts +31 -31
  24. package/dist/components/FileInput.js +230 -230
  25. package/dist/components/FileInput.js.map +0 -0
  26. package/dist/components/Gap.d.ts +8 -0
  27. package/dist/components/Gap.js +60 -0
  28. package/dist/components/Gap.js.map +1 -0
  29. package/dist/components/Icon.d.ts +12 -12
  30. package/dist/components/Icon.js +70 -70
  31. package/dist/components/Icon.js.map +0 -0
  32. package/dist/components/Image.d.ts +18 -18
  33. package/dist/components/Image.js +59 -59
  34. package/dist/components/Image.js.map +0 -0
  35. package/dist/components/List.d.ts +14 -14
  36. package/dist/components/List.js +84 -83
  37. package/dist/components/List.js.map +1 -1
  38. package/dist/components/Modal/index.d.ts +27 -26
  39. package/dist/components/Modal/index.js +113 -112
  40. package/dist/components/Modal/index.js.map +1 -1
  41. package/dist/components/Modal/styles.d.ts +64 -69
  42. package/dist/components/Modal/styles.js +59 -64
  43. package/dist/components/Modal/styles.js.map +1 -1
  44. package/dist/components/Navigation/Navigation.d.ts +3 -3
  45. package/dist/components/Navigation/Navigation.js +87 -87
  46. package/dist/components/Navigation/Navigation.js.map +0 -0
  47. package/dist/components/Navigation/constants.d.ts +5 -5
  48. package/dist/components/Navigation/constants.js +10 -10
  49. package/dist/components/Navigation/constants.js.map +0 -0
  50. package/dist/components/Navigation/index.d.ts +3 -3
  51. package/dist/components/Navigation/index.js +19 -19
  52. package/dist/components/Navigation/index.js.map +0 -0
  53. package/dist/components/Navigation/types.d.ts +26 -26
  54. package/dist/components/Navigation/types.js +7 -7
  55. package/dist/components/Navigation/types.js.map +0 -0
  56. package/dist/components/Navigation/utils.d.ts +3 -3
  57. package/dist/components/Navigation/utils.js +69 -69
  58. package/dist/components/Navigation/utils.js.map +0 -0
  59. package/dist/components/NewPager/index.d.ts +26 -0
  60. package/dist/components/NewPager/index.js +88 -0
  61. package/dist/components/NewPager/index.js.map +1 -0
  62. package/dist/components/NewPager/styles.d.ts +87 -0
  63. package/dist/components/NewPager/styles.js +70 -0
  64. package/dist/components/NewPager/styles.js.map +1 -0
  65. package/dist/components/Overlay.d.ts +16 -16
  66. package/dist/components/Overlay.js +69 -69
  67. package/dist/components/Overlay.js.map +0 -0
  68. package/dist/components/Pager/index.d.ts +20 -20
  69. package/dist/components/Pager/index.js +167 -167
  70. package/dist/components/Pager/index.js.map +0 -0
  71. package/dist/components/Pager/styles.d.ts +54 -54
  72. package/dist/components/Pager/styles.js +43 -43
  73. package/dist/components/Pager/styles.js.map +0 -0
  74. package/dist/components/RadioInput/index.d.ts +26 -26
  75. package/dist/components/RadioInput/index.js +72 -72
  76. package/dist/components/RadioInput/index.js.map +0 -0
  77. package/dist/components/RadioInput/styles.d.ts +57 -57
  78. package/dist/components/RadioInput/styles.js +44 -44
  79. package/dist/components/RadioInput/styles.js.map +0 -0
  80. package/dist/components/Scroll.d.ts +13 -13
  81. package/dist/components/Scroll.js +81 -81
  82. package/dist/components/Scroll.js.map +0 -0
  83. package/dist/components/Sections.d.ts +11 -11
  84. package/dist/components/Sections.js +80 -80
  85. package/dist/components/Sections.js.map +0 -0
  86. package/dist/components/Select/index.d.ts +5 -5
  87. package/dist/components/Select/index.js +150 -150
  88. package/dist/components/Select/index.js.map +0 -0
  89. package/dist/components/Select/styles.d.ts +9 -9
  90. package/dist/components/Select/styles.js +56 -56
  91. package/dist/components/Select/styles.js.map +0 -0
  92. package/dist/components/Select/types.d.ts +40 -40
  93. package/dist/components/Select/types.js +2 -2
  94. package/dist/components/Select/types.js.map +0 -0
  95. package/dist/components/Slider/Mark.d.ts +3 -3
  96. package/dist/components/Slider/Mark.js +31 -31
  97. package/dist/components/Slider/Mark.js.map +0 -0
  98. package/dist/components/Slider/Thumb.d.ts +7 -7
  99. package/dist/components/Slider/Thumb.js +29 -29
  100. package/dist/components/Slider/Thumb.js.map +0 -0
  101. package/dist/components/Slider/index.d.ts +3 -3
  102. package/dist/components/Slider/index.js +97 -97
  103. package/dist/components/Slider/index.js.map +0 -0
  104. package/dist/components/Slider/types.d.ts +25 -25
  105. package/dist/components/Slider/types.js +2 -2
  106. package/dist/components/Slider/types.js.map +0 -0
  107. package/dist/components/Switch.d.ts +13 -13
  108. package/dist/components/Switch.js +75 -75
  109. package/dist/components/Switch.js.map +0 -0
  110. package/dist/components/Text.d.ts +12 -12
  111. package/dist/components/Text.js +52 -52
  112. package/dist/components/Text.js.map +0 -0
  113. package/dist/components/TextInput.d.ts +183 -183
  114. package/dist/components/TextInput.js +180 -180
  115. package/dist/components/TextInput.js.map +0 -0
  116. package/dist/components/Touchable.d.ts +14 -14
  117. package/dist/components/Touchable.js +75 -75
  118. package/dist/components/Touchable.js.map +0 -0
  119. package/dist/components/View.d.ts +123 -120
  120. package/dist/components/View.js +55 -54
  121. package/dist/components/View.js.map +1 -1
  122. package/dist/components/components.d.ts +28 -25
  123. package/dist/components/components.js +44 -41
  124. package/dist/components/components.js.map +1 -1
  125. package/dist/index.d.ts +6 -5
  126. package/dist/index.js +30 -28
  127. package/dist/index.js.map +1 -1
  128. package/dist/modules/documentPicker.d.ts +3 -3
  129. package/dist/modules/documentPicker.js +11 -11
  130. package/dist/modules/documentPicker.js.map +0 -0
  131. package/dist/modules/fastImage.d.ts +1 -1
  132. package/dist/modules/fastImage.js +9 -9
  133. package/dist/modules/fastImage.js.map +0 -0
  134. package/dist/modules/reactNavigation.d.ts +3 -3
  135. package/dist/modules/reactNavigation.js +10 -10
  136. package/dist/modules/reactNavigation.js.map +0 -0
  137. package/dist/modules/textInputMask.d.ts +9 -12
  138. package/dist/modules/textInputMask.js +7 -7
  139. package/dist/modules/types/fileTypes.d.ts +138 -138
  140. package/dist/modules/types/fileTypes.js +2 -2
  141. package/dist/modules/types/fileTypes.js.map +0 -0
  142. package/dist/modules/types/textInputMask.d.ts +7 -12
  143. package/dist/modules/types/textInputMask.js +2 -2
  144. package/dist/types/utility.d.ts +2 -2
  145. package/dist/types/utility.js +2 -2
  146. package/dist/types/utility.js.map +0 -0
  147. package/dist/utils/ModalManager/components.d.ts +12 -0
  148. package/dist/utils/ModalManager/components.js +79 -0
  149. package/dist/utils/ModalManager/components.js.map +1 -0
  150. package/dist/utils/ModalManager/context.d.ts +42 -0
  151. package/dist/utils/ModalManager/context.js +172 -0
  152. package/dist/utils/ModalManager/context.js.map +1 -0
  153. package/dist/utils/ModalManager/index.d.ts +14 -0
  154. package/dist/utils/ModalManager/index.js +12 -0
  155. package/dist/utils/ModalManager/index.js.map +1 -0
  156. package/dist/utils/OSAlert.d.ts +31 -31
  157. package/dist/utils/OSAlert.js +141 -141
  158. package/dist/utils/OSAlert.js.map +0 -0
  159. package/dist/utils/misc.d.ts +2 -2
  160. package/dist/utils/misc.js +25 -25
  161. package/dist/utils/misc.js.map +0 -0
  162. package/dist/utils/styles.d.ts +1 -1
  163. package/dist/utils/styles.js +12 -12
  164. package/dist/utils/styles.js.map +0 -0
  165. package/package.json +43 -40
  166. package/src/components/ActivityIndicator.tsx +46 -46
  167. package/src/components/Animated.tsx +34 -34
  168. package/src/components/Button.tsx +117 -95
  169. package/src/components/Checkbox/index.tsx +85 -85
  170. package/src/components/Checkbox/styles.ts +76 -76
  171. package/src/components/ContentView.tsx +58 -58
  172. package/src/components/EmptyPlaceholder.tsx +53 -0
  173. package/src/components/FileInput.tsx +230 -230
  174. package/src/components/Gap.tsx +40 -0
  175. package/src/components/Icon.tsx +58 -58
  176. package/src/components/Image.tsx +61 -61
  177. package/src/components/List.tsx +116 -111
  178. package/src/components/Modal/index.tsx +162 -161
  179. package/src/components/Modal/styles.ts +126 -133
  180. package/src/components/Navigation/Navigation.tsx +58 -58
  181. package/src/components/Navigation/constants.ts +8 -8
  182. package/src/components/Navigation/index.tsx +3 -3
  183. package/src/components/Navigation/types.ts +35 -35
  184. package/src/components/Navigation/utils.tsx +59 -59
  185. package/src/components/NewPager/index.tsx +121 -0
  186. package/src/components/NewPager/styles.ts +76 -0
  187. package/src/components/Overlay.tsx +77 -77
  188. package/src/components/Pager/index.tsx +242 -242
  189. package/src/components/Pager/styles.ts +51 -51
  190. package/src/components/RadioInput/index.tsx +101 -101
  191. package/src/components/RadioInput/styles.ts +67 -67
  192. package/src/components/Scroll.tsx +106 -106
  193. package/src/components/Sections.tsx +101 -101
  194. package/src/components/Select/index.tsx +195 -195
  195. package/src/components/Select/styles.ts +81 -81
  196. package/src/components/Select/types.ts +46 -46
  197. package/src/components/Slider/Mark.tsx +46 -46
  198. package/src/components/Slider/Thumb.tsx +29 -29
  199. package/src/components/Slider/index.tsx +123 -123
  200. package/src/components/Slider/types.ts +25 -25
  201. package/src/components/Switch.tsx +81 -81
  202. package/src/components/Text.tsx +30 -30
  203. package/src/components/TextInput.tsx +247 -247
  204. package/src/components/Touchable.tsx +78 -78
  205. package/src/components/View.tsx +48 -46
  206. package/src/components/components.ts +28 -26
  207. package/src/index.ts +6 -6
  208. package/src/modules/documentPicker.ts +7 -7
  209. package/src/modules/fastImage.ts +2 -2
  210. package/src/modules/index.d.ts +496 -496
  211. package/src/modules/reactNavigation.ts +4 -4
  212. package/src/modules/textInputMask.ts +9 -9
  213. package/src/modules/types/documentPicker.d.ts +215 -215
  214. package/src/modules/types/fileTypes.ts +138 -138
  215. package/src/modules/types/textInputMask.ts +9 -13
  216. package/src/types/utility.ts +3 -3
  217. package/src/utils/ModalManager/components.tsx +58 -0
  218. package/src/utils/ModalManager/context.tsx +208 -0
  219. package/src/utils/ModalManager/index.ts +9 -0
  220. package/src/utils/OSAlert.ts +180 -180
  221. package/src/utils/misc.ts +24 -24
  222. 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 { ComponentPropsWithoutRef } from 'react'
3
- import { TextInput as NativeTextInput } from 'react-native'
4
- type NativeProps = ComponentPropsWithoutRef<typeof NativeTextInput>
5
- // @ts-ignore
6
- import { TextInputMaskProps as RNTextInputMaskProps } from 'react-native-masked-text'
7
-
8
- export type TextInputMaskProps = {
9
- masking: FormTypes.TextField['masking'] & {
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
+ }
@@ -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
+ }
@@ -0,0 +1,9 @@
1
+ import { useModalContext, useModalSequence, Provider } from './context'
2
+ import { AbsoluteModal } from './components'
3
+
4
+ export const ModalManager = {
5
+ useModalContext,
6
+ AbsoluteModal,
7
+ Provider,
8
+ useModalSequence,
9
+ }