@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,61 +1,61 @@
1
- import * as React from 'react'
2
- import {
3
- ComponentVariants,
4
- ImageStyles,
5
- MobileInputFile,
6
- useDefaultComponentStyle,
7
- arePropsEqual,
8
- } from '@codeleap/common'
9
- import { ComponentPropsWithoutRef } from 'react'
10
- import {
11
- Image as NativeImage,
12
- ImageStyle,
13
- StyleProp,
14
- TextStyle,
15
- ViewStyle,
16
- } from 'react-native'
17
- import { FastImage } from '../modules/fastImage'
18
-
19
- type NativeImageProps = ComponentPropsWithoutRef<typeof NativeImage>
20
- export type ImageProps = Omit<NativeImageProps, 'source' | 'style'> & {
21
- variants?: ComponentVariants<typeof ImageStyles>['variants']
22
- fast?: boolean
23
- style?: StyleProp<ImageStyle | TextStyle | ViewStyle>
24
- source:
25
- | (NativeImageProps['source'] & {
26
- priority?: keyof typeof FastImage.priority
27
- })
28
- | MobileInputFile
29
- | string
30
- resizeMode?: keyof typeof FastImage.resizeMode
31
- }
32
-
33
- export const ImageComponent: React.FC<ImageProps> = (props) => {
34
- const { variants, style, fast = true, resizeMode = 'contain', ...imageProps } = props
35
-
36
- const variantStyles = useDefaultComponentStyle('Image', { variants })
37
-
38
- const styles = [variantStyles.wrapper, style]
39
-
40
- if (fast) {
41
- return (
42
- <FastImage
43
- style={styles}
44
- // @ts-ignore
45
- tintColor={style?.tintColor}
46
- resizeMode={FastImage.resizeMode[resizeMode || 'contain']}
47
- {...imageProps}
48
- />
49
- )
50
- }
51
- return <NativeImage style={styles} resizeMode={resizeMode} {...(imageProps as any)} />
52
- }
53
-
54
- function areEqual(prevProps, nextProps) {
55
- const check = ['source', 'style', 'variants', 'resizeMode', 'fast']
56
- const res = arePropsEqual(prevProps, nextProps, { check })
57
- return res
58
- }
59
-
60
- export const Image = React.memo(ImageComponent, areEqual)
61
-
1
+ import * as React from 'react'
2
+ import {
3
+ ComponentVariants,
4
+ ImageStyles,
5
+ MobileInputFile,
6
+ useDefaultComponentStyle,
7
+ arePropsEqual,
8
+ } from '@codeleap/common'
9
+ import { ComponentPropsWithoutRef } from 'react'
10
+ import {
11
+ Image as NativeImage,
12
+ ImageStyle,
13
+ StyleProp,
14
+ TextStyle,
15
+ ViewStyle,
16
+ } from 'react-native'
17
+ import { FastImage } from '../modules/fastImage'
18
+
19
+ type NativeImageProps = ComponentPropsWithoutRef<typeof NativeImage>
20
+ export type ImageProps = Omit<NativeImageProps, 'source' | 'style'> & {
21
+ variants?: ComponentVariants<typeof ImageStyles>['variants']
22
+ fast?: boolean
23
+ style?: StyleProp<ImageStyle | TextStyle | ViewStyle>
24
+ source:
25
+ | (NativeImageProps['source'] & {
26
+ priority?: keyof typeof FastImage.priority
27
+ })
28
+ | MobileInputFile
29
+ | string
30
+ resizeMode?: keyof typeof FastImage.resizeMode
31
+ }
32
+
33
+ export const ImageComponent: React.FC<ImageProps> = (props) => {
34
+ const { variants, style, fast = true, resizeMode = 'contain', ...imageProps } = props
35
+
36
+ const variantStyles = useDefaultComponentStyle('Image', { variants })
37
+
38
+ const styles = [variantStyles.wrapper, style]
39
+
40
+ if (fast) {
41
+ return (
42
+ <FastImage
43
+ style={styles}
44
+ // @ts-ignore
45
+ tintColor={style?.tintColor}
46
+ resizeMode={FastImage.resizeMode[resizeMode || 'contain']}
47
+ {...imageProps}
48
+ />
49
+ )
50
+ }
51
+ return <NativeImage style={styles} resizeMode={resizeMode} {...(imageProps as any)} />
52
+ }
53
+
54
+ function areEqual(prevProps, nextProps) {
55
+ const check = ['source', 'style', 'variants', 'resizeMode', 'fast']
56
+ const res = arePropsEqual(prevProps, nextProps, { check })
57
+ return res
58
+ }
59
+
60
+ export const Image = React.memo(ImageComponent, areEqual)
61
+
@@ -1,111 +1,116 @@
1
- import * as React from 'react'
2
- import { forwardRef, useState } from 'react'
3
- import {
4
- deepEqual,
5
- onUpdate,
6
- useDefaultComponentStyle,
7
- usePrevious,
8
- useCodeleapContext,
9
- } from '@codeleap/common'
10
- import {
11
-
12
- KeyboardAwareFlatList as KBDView,
13
- // @ts-ignore
14
- } from 'react-native-keyboard-aware-scroll-view'
15
-
16
- import { RefreshControl, FlatList } from 'react-native'
17
- import { View, ViewProps } from './View'
18
-
19
- type RNFlatListProps<T = any> = FlatList<T>['props']
20
- export type FlatListProps<T = any> = RNFlatListProps<T> &
21
- ViewProps & {
22
- onRefresh?: () => void
23
- refreshTimeout?: number
24
- changeData?: any
25
- separators?: boolean
26
- refreshing?: boolean
27
- keyboardAware?: boolean
28
- }
29
-
30
- const KeyboardAwareFlatList =
31
- KBDView as unknown as React.ForwardRefExoticComponent<
32
- ViewProps & {
33
- refreshControl?: JSX.Element
34
- ref?: FlatList
35
- }
36
- >
37
-
38
- const ListCP = forwardRef<FlatList, FlatListProps>(
39
- (flatListProps, ref) => {
40
- const {
41
- variants = [],
42
- style,
43
- refreshTimeout = 3000,
44
- changeData,
45
- keyboardAware = true,
46
- ...props
47
- } = flatListProps
48
- const hasRefresh = !!props.onRefresh
49
- const [refreshingState, setRefreshing] = useState(false)
50
- const refreshingDisplay = props.refreshing !== undefined ? props.refreshing : refreshingState
51
-
52
- const timer = React.useRef(null)
53
- const previousData = usePrevious(changeData)
54
-
55
- const onRefresh = () => {
56
- if (timer.current) {
57
- clearTimeout(timer.current)
58
- }
59
-
60
- setRefreshing(true)
61
-
62
- props.onRefresh()
63
-
64
- timer.current = setTimeout(() => {
65
- setRefreshing(false)
66
- }, refreshTimeout)
67
- }
68
- onUpdate(() => {
69
- if (refreshingDisplay && !deepEqual(previousData, changeData)) {
70
- setRefreshing(false)
71
- if (timer.current) {
72
- clearTimeout(timer.current)
73
- }
74
- }
75
- }, [refreshingDisplay, changeData])
76
- const { Theme } = useCodeleapContext()
77
-
78
- const variantStyles = useDefaultComponentStyle('View', {
79
- variants,
80
- })
81
-
82
- const renderSeparator = () => {
83
- return (
84
- <View variants={['separator']}></View>
85
- )
86
- }
87
-
88
- const separatorProp = props.separators
89
- const isEmpty = !props.data || !props.data.length
90
- const separator = !isEmpty && separatorProp == true && renderSeparator
91
-
92
- const Component = keyboardAware ? KeyboardAwareFlatList : FlatList
93
-
94
- return (
95
- <Component
96
- style={[Theme.presets.full, style]}
97
- contentContainerStyle={[variantStyles.wrapper]}
98
- ref={ref as unknown as FlatList}
99
- ItemSeparatorComponent={separator}
100
- refreshControl={
101
- hasRefresh && (
102
- <RefreshControl refreshing={refreshingDisplay} onRefresh={onRefresh} />
103
- )
104
- }
105
- {...props}
106
- />
107
- )
108
- },
109
- )
110
-
111
- export const List = ListCP as (<T = any>(props: FlatListProps<T>) => JSX.Element)
1
+ import * as React from 'react'
2
+ import { forwardRef, useState } from 'react'
3
+ import {
4
+ deepEqual,
5
+ onUpdate,
6
+ useDefaultComponentStyle,
7
+ usePrevious,
8
+ useCodeleapContext,
9
+ } from '@codeleap/common'
10
+ import {
11
+
12
+ KeyboardAwareFlatList as KBDView,
13
+ // @ts-ignore
14
+ } from 'react-native-keyboard-aware-scroll-view'
15
+
16
+ import { RefreshControl, FlatList, FlatListProps as RNFlatListProps } from 'react-native'
17
+ import { View, ViewProps } from './View'
18
+ import { EmptyPlaceholder, EmptyPlaceholderProps } from './EmptyPlaceholder'
19
+
20
+ export type FlatListProps<T = any> = RNFlatListProps<T> &
21
+ ViewProps & {
22
+ onRefresh?: () => void
23
+ refreshTimeout?: number
24
+ changeData?: any
25
+ separators?: boolean
26
+ refreshing?: boolean
27
+ placeholder?: EmptyPlaceholderProps
28
+ keyboardAware?: boolean
29
+
30
+ }
31
+
32
+ const KeyboardAwareFlatList =
33
+ KBDView as unknown as React.ForwardRefExoticComponent<
34
+ ViewProps & {
35
+ refreshControl?: JSX.Element
36
+ ref?: FlatList
37
+ }
38
+ >
39
+
40
+ const ListCP = forwardRef<FlatList, FlatListProps>(
41
+ (flatListProps, ref) => {
42
+ const {
43
+ variants = [],
44
+ style,
45
+ refreshTimeout = 3000,
46
+ changeData,
47
+ placeholder,
48
+ keyboardAware = true,
49
+ ...props
50
+ } = flatListProps
51
+ const hasRefresh = !!props.onRefresh
52
+ const [refreshingState, setRefreshing] = useState(false)
53
+ const refreshingDisplay = props.refreshing !== undefined ? props.refreshing : refreshingState
54
+
55
+ const timer = React.useRef(null)
56
+ const previousData = usePrevious(changeData)
57
+
58
+ const onRefresh = () => {
59
+ if (timer.current) {
60
+ clearTimeout(timer.current)
61
+ }
62
+
63
+ setRefreshing(true)
64
+
65
+ props.onRefresh()
66
+
67
+ timer.current = setTimeout(() => {
68
+ setRefreshing(false)
69
+ }, refreshTimeout)
70
+ }
71
+ onUpdate(() => {
72
+ if (refreshingDisplay && !deepEqual(previousData, changeData)) {
73
+ setRefreshing(false)
74
+ if (timer.current) {
75
+ clearTimeout(timer.current)
76
+ }
77
+ }
78
+ }, [refreshingDisplay, changeData])
79
+ const { Theme } = useCodeleapContext()
80
+
81
+ const variantStyles = useDefaultComponentStyle('View', {
82
+ variants,
83
+ })
84
+
85
+ const renderSeparator = () => {
86
+ return (
87
+ <View variants={['separator']}></View>
88
+ )
89
+ }
90
+
91
+ const separatorProp = props.separators
92
+ const isEmpty = !props.data || !props.data.length
93
+ const separator = !isEmpty && separatorProp == true && renderSeparator
94
+
95
+ const Component = keyboardAware ? KeyboardAwareFlatList : FlatList
96
+
97
+ return (
98
+ <Component
99
+ style={[Theme.presets.full, style]}
100
+ contentContainerStyle={[variantStyles.wrapper]}
101
+ ref={ref as unknown as FlatList}
102
+ ItemSeparatorComponent={separator}
103
+ refreshControl={
104
+ hasRefresh && (
105
+ <RefreshControl refreshing={refreshingDisplay} onRefresh={onRefresh} />
106
+ )
107
+ }
108
+ ListEmptyComponent={<EmptyPlaceholder {...placeholder}/>}
109
+ {...props}
110
+ />
111
+ )
112
+ },
113
+ )
114
+
115
+ export const List = ListCP as (<T = any>(props: FlatListProps<T>) => JSX.Element)
116
+