@codeleap/mobile 1.9.23 → 1.9.26

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 (202) 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 +125 -125
  9. package/dist/components/Button.js +82 -82
  10. package/dist/components/Button.js.map +0 -0
  11. package/dist/components/Checkbox/index.d.ts +15 -15
  12. package/dist/components/Checkbox/index.js +79 -77
  13. package/dist/components/Checkbox/index.js.map +1 -1
  14. package/dist/components/Checkbox/styles.d.ts +55 -55
  15. package/dist/components/Checkbox/styles.js +51 -48
  16. package/dist/components/Checkbox/styles.js.map +1 -1
  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/FileInput.d.ts +31 -28
  21. package/dist/components/FileInput.js +230 -195
  22. package/dist/components/FileInput.js.map +1 -1
  23. package/dist/components/Icon.d.ts +12 -12
  24. package/dist/components/Icon.js +70 -70
  25. package/dist/components/Icon.js.map +0 -0
  26. package/dist/components/Image.d.ts +18 -18
  27. package/dist/components/Image.js +59 -59
  28. package/dist/components/Image.js.map +0 -0
  29. package/dist/components/List.d.ts +14 -14
  30. package/dist/components/List.js +83 -83
  31. package/dist/components/List.js.map +0 -0
  32. package/dist/components/Modal/index.d.ts +26 -26
  33. package/dist/components/Modal/index.js +112 -112
  34. package/dist/components/Modal/index.js.map +0 -0
  35. package/dist/components/Modal/styles.d.ts +69 -69
  36. package/dist/components/Modal/styles.js +64 -64
  37. package/dist/components/Modal/styles.js.map +0 -0
  38. package/dist/components/Navigation/Navigation.d.ts +3 -3
  39. package/dist/components/Navigation/Navigation.js +87 -87
  40. package/dist/components/Navigation/Navigation.js.map +0 -0
  41. package/dist/components/Navigation/constants.d.ts +5 -5
  42. package/dist/components/Navigation/constants.js +10 -10
  43. package/dist/components/Navigation/constants.js.map +0 -0
  44. package/dist/components/Navigation/index.d.ts +3 -3
  45. package/dist/components/Navigation/index.js +19 -19
  46. package/dist/components/Navigation/index.js.map +0 -0
  47. package/dist/components/Navigation/types.d.ts +26 -26
  48. package/dist/components/Navigation/types.js +7 -7
  49. package/dist/components/Navigation/types.js.map +0 -0
  50. package/dist/components/Navigation/utils.d.ts +3 -3
  51. package/dist/components/Navigation/utils.js +69 -69
  52. package/dist/components/Navigation/utils.js.map +0 -0
  53. package/dist/components/NewPager/index.d.ts +26 -0
  54. package/dist/components/NewPager/index.js +92 -0
  55. package/dist/components/NewPager/index.js.map +1 -0
  56. package/dist/components/NewPager/styles.d.ts +87 -0
  57. package/dist/components/NewPager/styles.js +70 -0
  58. package/dist/components/NewPager/styles.js.map +1 -0
  59. package/dist/components/Overlay.d.ts +16 -16
  60. package/dist/components/Overlay.js +69 -69
  61. package/dist/components/Overlay.js.map +0 -0
  62. package/dist/components/Pager/index.d.ts +20 -20
  63. package/dist/components/Pager/index.js +167 -167
  64. package/dist/components/Pager/index.js.map +0 -0
  65. package/dist/components/Pager/styles.d.ts +54 -54
  66. package/dist/components/Pager/styles.js +43 -43
  67. package/dist/components/Pager/styles.js.map +0 -0
  68. package/dist/components/RadioInput/index.d.ts +26 -26
  69. package/dist/components/RadioInput/index.js +72 -72
  70. package/dist/components/RadioInput/index.js.map +0 -0
  71. package/dist/components/RadioInput/styles.d.ts +57 -57
  72. package/dist/components/RadioInput/styles.js +44 -44
  73. package/dist/components/RadioInput/styles.js.map +0 -0
  74. package/dist/components/Scroll.d.ts +13 -13
  75. package/dist/components/Scroll.js +81 -81
  76. package/dist/components/Scroll.js.map +0 -0
  77. package/dist/components/Sections.d.ts +11 -11
  78. package/dist/components/Sections.js +80 -80
  79. package/dist/components/Sections.js.map +0 -0
  80. package/dist/components/Select/index.d.ts +5 -5
  81. package/dist/components/Select/index.js +150 -150
  82. package/dist/components/Select/index.js.map +0 -0
  83. package/dist/components/Select/styles.d.ts +9 -9
  84. package/dist/components/Select/styles.js +56 -56
  85. package/dist/components/Select/styles.js.map +0 -0
  86. package/dist/components/Select/types.d.ts +40 -40
  87. package/dist/components/Select/types.js +2 -2
  88. package/dist/components/Select/types.js.map +0 -0
  89. package/dist/components/Slider/Mark.d.ts +3 -3
  90. package/dist/components/Slider/Mark.js +31 -31
  91. package/dist/components/Slider/Mark.js.map +0 -0
  92. package/dist/components/Slider/Thumb.d.ts +7 -7
  93. package/dist/components/Slider/Thumb.js +29 -29
  94. package/dist/components/Slider/Thumb.js.map +0 -0
  95. package/dist/components/Slider/index.d.ts +3 -3
  96. package/dist/components/Slider/index.js +97 -97
  97. package/dist/components/Slider/index.js.map +0 -0
  98. package/dist/components/Slider/types.d.ts +25 -25
  99. package/dist/components/Slider/types.js +2 -2
  100. package/dist/components/Slider/types.js.map +0 -0
  101. package/dist/components/Switch.d.ts +13 -13
  102. package/dist/components/Switch.js +75 -75
  103. package/dist/components/Switch.js.map +0 -0
  104. package/dist/components/Text.d.ts +12 -12
  105. package/dist/components/Text.js +52 -52
  106. package/dist/components/Text.js.map +0 -0
  107. package/dist/components/TextInput.d.ts +183 -183
  108. package/dist/components/TextInput.js +180 -178
  109. package/dist/components/TextInput.js.map +1 -1
  110. package/dist/components/Touchable.d.ts +14 -14
  111. package/dist/components/Touchable.js +75 -61
  112. package/dist/components/Touchable.js.map +1 -1
  113. package/dist/components/View.d.ts +123 -120
  114. package/dist/components/View.js +55 -54
  115. package/dist/components/View.js.map +1 -1
  116. package/dist/components/components.d.ts +26 -25
  117. package/dist/components/components.js +42 -41
  118. package/dist/components/components.js.map +1 -1
  119. package/dist/index.d.ts +5 -5
  120. package/dist/index.js +28 -28
  121. package/dist/index.js.map +0 -0
  122. package/dist/modules/documentPicker.d.ts +3 -3
  123. package/dist/modules/documentPicker.js +11 -11
  124. package/dist/modules/documentPicker.js.map +0 -0
  125. package/dist/modules/fastImage.d.ts +1 -1
  126. package/dist/modules/fastImage.js +9 -9
  127. package/dist/modules/fastImage.js.map +0 -0
  128. package/dist/modules/reactNavigation.d.ts +3 -3
  129. package/dist/modules/reactNavigation.js +10 -10
  130. package/dist/modules/reactNavigation.js.map +0 -0
  131. package/dist/modules/textInputMask.d.ts +12 -12
  132. package/dist/modules/textInputMask.js +7 -7
  133. package/dist/modules/types/fileTypes.d.ts +138 -138
  134. package/dist/modules/types/fileTypes.js +2 -2
  135. package/dist/modules/types/fileTypes.js.map +0 -0
  136. package/dist/modules/types/textInputMask.d.ts +12 -12
  137. package/dist/modules/types/textInputMask.js +2 -2
  138. package/dist/types/utility.d.ts +2 -2
  139. package/dist/types/utility.js +2 -2
  140. package/dist/types/utility.js.map +0 -0
  141. package/dist/utils/OSAlert.d.ts +31 -31
  142. package/dist/utils/OSAlert.js +141 -141
  143. package/dist/utils/OSAlert.js.map +0 -0
  144. package/dist/utils/misc.d.ts +2 -2
  145. package/dist/utils/misc.js +25 -25
  146. package/dist/utils/misc.js.map +0 -0
  147. package/dist/utils/styles.d.ts +1 -1
  148. package/dist/utils/styles.js +12 -12
  149. package/dist/utils/styles.js.map +0 -0
  150. package/package.json +42 -40
  151. package/src/components/ActivityIndicator.tsx +46 -46
  152. package/src/components/Animated.tsx +34 -34
  153. package/src/components/Button.tsx +95 -95
  154. package/src/components/Checkbox/index.tsx +85 -85
  155. package/src/components/Checkbox/styles.ts +76 -76
  156. package/src/components/ContentView.tsx +58 -58
  157. package/src/components/FileInput.tsx +230 -230
  158. package/src/components/Icon.tsx +58 -58
  159. package/src/components/Image.tsx +61 -61
  160. package/src/components/List.tsx +111 -111
  161. package/src/components/Modal/index.tsx +161 -161
  162. package/src/components/Modal/styles.ts +133 -133
  163. package/src/components/Navigation/Navigation.tsx +58 -58
  164. package/src/components/Navigation/constants.ts +8 -8
  165. package/src/components/Navigation/index.tsx +3 -3
  166. package/src/components/Navigation/types.ts +35 -35
  167. package/src/components/Navigation/utils.tsx +59 -59
  168. package/src/components/NewPager/index.tsx +123 -0
  169. package/src/components/NewPager/styles.ts +76 -0
  170. package/src/components/Overlay.tsx +77 -77
  171. package/src/components/Pager/index.tsx +242 -242
  172. package/src/components/Pager/styles.ts +52 -51
  173. package/src/components/RadioInput/index.tsx +101 -101
  174. package/src/components/RadioInput/styles.ts +67 -67
  175. package/src/components/Scroll.tsx +106 -106
  176. package/src/components/Sections.tsx +101 -101
  177. package/src/components/Select/index.tsx +195 -195
  178. package/src/components/Select/styles.ts +81 -81
  179. package/src/components/Select/types.ts +46 -46
  180. package/src/components/Slider/Mark.tsx +46 -46
  181. package/src/components/Slider/Thumb.tsx +29 -29
  182. package/src/components/Slider/index.tsx +123 -123
  183. package/src/components/Slider/types.ts +25 -25
  184. package/src/components/Switch.tsx +81 -81
  185. package/src/components/Text.tsx +30 -30
  186. package/src/components/TextInput.tsx +247 -247
  187. package/src/components/Touchable.tsx +78 -65
  188. package/src/components/View.tsx +48 -46
  189. package/src/components/components.ts +27 -26
  190. package/src/index.ts +6 -6
  191. package/src/modules/documentPicker.ts +7 -7
  192. package/src/modules/fastImage.ts +2 -2
  193. package/src/modules/index.d.ts +496 -496
  194. package/src/modules/reactNavigation.ts +4 -4
  195. package/src/modules/textInputMask.ts +9 -9
  196. package/src/modules/types/documentPicker.d.ts +215 -215
  197. package/src/modules/types/fileTypes.ts +138 -138
  198. package/src/modules/types/textInputMask.ts +13 -13
  199. package/src/types/utility.ts +3 -3
  200. package/src/utils/OSAlert.ts +180 -180
  201. package/src/utils/misc.ts +24 -24
  202. package/src/utils/styles.ts +14 -14
@@ -0,0 +1,123 @@
1
+ import {
2
+ ComponentVariants,
3
+ useDefaultComponentStyle,
4
+ } from '@codeleap/common'
5
+ import React, {
6
+ ReactNode,
7
+ } from 'react'
8
+ import { StyleSheet } from 'react-native'
9
+ import { StylesOf } from '../../types/utility'
10
+ import { View } from '../View'
11
+ import { NewMobilePagerStyles, NewPagerComposition } from './styles'
12
+ export * from './styles'
13
+
14
+ type PageProps = {
15
+ isLast: boolean
16
+ isFirst: boolean
17
+ isActive: boolean
18
+ isNext: boolean
19
+ page: number
20
+ index: number
21
+ isPrevious: boolean
22
+ }
23
+
24
+ export type NewPagerProps = {
25
+ variants?: ComponentVariants<typeof NewMobilePagerStyles>['variants']
26
+ styles?: StylesOf<NewPagerComposition>
27
+ children?: (((pageData: PageProps) => ReactNode) | ReactNode)[]
28
+ page?: number
29
+ style?: any
30
+ setPage?: (page: number) => void
31
+ returnEarly?: boolean
32
+ renderPageWrapper?:React.FC<PageProps>
33
+ pageWrapperProps?: any
34
+ }
35
+
36
+ export const NewPager:React.FC<NewPagerProps> = (pagerProps) => {
37
+ const {
38
+
39
+ styles,
40
+ variants,
41
+ page,
42
+ style = {},
43
+ returnEarly = true,
44
+ renderPageWrapper,
45
+ pageWrapperProps = {},
46
+
47
+ } = pagerProps
48
+ let { children } = pagerProps
49
+ let variantStyles = useDefaultComponentStyle<'u:Pager', typeof NewMobilePagerStyles>(
50
+ 'u:Pager',
51
+ {
52
+ styles,
53
+ transform: StyleSheet.flatten,
54
+ variants,
55
+ },
56
+ )
57
+ const nChildren = React.Children.count(children)
58
+
59
+ const lastPage = nChildren - 1
60
+
61
+ children = Array.isArray(children) ? children : [children]
62
+
63
+ const WrapperComponent = renderPageWrapper || View
64
+
65
+ // Reamimated seems to glitch if this is not done
66
+ variantStyles = JSON.parse(JSON.stringify(variantStyles))
67
+
68
+ return (
69
+ <View style={[variantStyles.wrapper, style]} >
70
+ {
71
+ children.map((child:NewPagerProps['children'][number], index) => {
72
+ const isActive = index === page
73
+ const isLast = index === lastPage
74
+ const isFirst = index === 0
75
+ const isNext = index === page + 1
76
+ const isPrevious = index === page - 1
77
+ const shouldRender = isActive || isNext || isPrevious
78
+
79
+ if (!shouldRender && returnEarly) return null
80
+ let pos = 0
81
+
82
+ if (isActive) {
83
+ pos = 1
84
+ } else if (index > page) {
85
+ pos = 2
86
+ } else {
87
+ pos = 0
88
+ }
89
+
90
+ const pageProps = {
91
+ isLast,
92
+ isActive,
93
+ isFirst,
94
+ isNext,
95
+ isPrevious,
96
+ index,
97
+ page,
98
+ }
99
+ console.log({
100
+ child,
101
+ })
102
+ const content = typeof child === 'function' ? child(pageProps) : child
103
+
104
+ const wrapperProps = {
105
+ key: index,
106
+ style: variantStyles.page,
107
+ animated: true,
108
+ transition: variantStyles['page:transition'],
109
+ animate: [variantStyles['page:previous'], variantStyles['page:current'], variantStyles['page:next']][pos],
110
+ ...pageWrapperProps,
111
+ }
112
+
113
+ return (
114
+ <WrapperComponent {...wrapperProps}>
115
+ {content}
116
+ </WrapperComponent>
117
+ )
118
+
119
+ })
120
+ }
121
+ </View>
122
+ )
123
+ }
@@ -0,0 +1,76 @@
1
+ import {
2
+ createDefaultVariantFactory,
3
+ includePresets,
4
+ } from '@codeleap/common'
5
+ import { Easing } from 'react-native'
6
+
7
+ export type NewPagerComposition =
8
+ | 'page'
9
+ | 'page:transition'
10
+ | 'page:previous'
11
+ | 'page:next'
12
+ | 'page:current'
13
+ | 'wrapper'
14
+
15
+ const createPagerStyle = createDefaultVariantFactory<NewPagerComposition>()
16
+
17
+ const presets = includePresets((style) => createPagerStyle(() => ({ wrapper: style })),
18
+ )
19
+ export const defaultPagerTransition = {
20
+ type: 'timing',
21
+ duration: 300,
22
+ easing: Easing.linear,
23
+ }
24
+
25
+ export function pagerAnimation(height, width, translate = 'X', transition = defaultPagerTransition) {
26
+ const translateProp = `translate${translate}`
27
+
28
+ const translateVal = translate === 'X' ? width : height
29
+
30
+ return {
31
+ wrapper: {
32
+ height,
33
+ width,
34
+ overflow: 'hidden',
35
+ },
36
+ 'page:transition': {
37
+ [translateProp]: transition,
38
+ },
39
+ 'page:next': {
40
+ [translateProp]: translateVal,
41
+
42
+ },
43
+ 'page:current': {
44
+ [translateProp]: 0,
45
+ },
46
+ 'page:previous': {
47
+ [translateProp]: -translateVal,
48
+ },
49
+ }
50
+ }
51
+
52
+ export const NewMobilePagerStyles = {
53
+ ...presets,
54
+ default: createPagerStyle((theme) => ({
55
+ page: {
56
+ width: '100%',
57
+ height: '100%',
58
+ position: 'absolute',
59
+ left: 0,
60
+ right: 0,
61
+ bottom: 0,
62
+ top: 0,
63
+ },
64
+ })),
65
+ horizontal: createPagerStyle((Theme) => {
66
+
67
+ const width = Theme.values.width
68
+ const height = Theme.values.height * 0.8
69
+ return pagerAnimation(height, width, 'X')
70
+ }),
71
+ vertical: createPagerStyle((Theme) => {
72
+ const height = Theme.values.height * 0.8
73
+ const width = Theme.values.width
74
+ return pagerAnimation(height, width, 'Y')
75
+ }),
76
+ }
@@ -1,77 +1,77 @@
1
- import * as React from 'react'
2
- import {
3
- ComponentVariants,
4
- IconPlaceholder,
5
- OverlayComposition,
6
- OverlayStyles,
7
- useDefaultComponentStyle,
8
- } from '@codeleap/common'
9
- import { ReactNode } from 'react'
10
- import { InputLabel } from './TextInput'
11
- import { Button } from './Button'
12
-
13
- import { View } from './View'
14
- import { StylesOf } from '../types/utility'
15
- import { StyleSheet, ViewProps } from 'react-native'
16
- import { AnimatedTouchable } from './Touchable'
17
-
18
- export type OverlayProps = ViewProps & {
19
- title?: ReactNode
20
- visible?: boolean
21
- showClose?: boolean
22
- variants?: ComponentVariants<typeof OverlayStyles>
23
- styles?: StylesOf<OverlayComposition>
24
- style?: any
25
- onPress?: () => void
26
- } & React.ComponentPropsWithoutRef<typeof AnimatedTouchable>
27
-
28
- export const Overlay: React.FC<OverlayProps> = (overlayProps) => {
29
- const {
30
- showClose,
31
- title,
32
- children,
33
- visible,
34
- styles = {},
35
- style,
36
- variants,
37
- ...props
38
- } = overlayProps
39
-
40
- const variantStyles = useDefaultComponentStyle('Overlay', {
41
- styles,
42
- transform: StyleSheet.flatten,
43
- variants: variants as any,
44
- }) as StylesOf<OverlayComposition>
45
-
46
- const touchableStyle = [
47
- variantStyles.wrapper,
48
- styles.wrapper,
49
- visible && variantStyles['wrapper:visible'],
50
- visible && styles['wrapper:visible'],
51
- ]
52
-
53
- return (
54
- <AnimatedTouchable
55
- // @ts-ignore
56
- transition={'opacity'}
57
- style={touchableStyle}
58
- {...props}
59
- >
60
- <View>
61
- {(title || showClose) && (
62
- <View style={variantStyles.header}>
63
- <InputLabel style={variantStyles.title} label={title} />
64
- {showClose && (
65
- <Button
66
- variants={['icon']}
67
- icon={'close' as IconPlaceholder}
68
- style={variantStyles.closeButton}
69
- debugName={'Close icon'}
70
- />
71
- )}
72
- </View>
73
- )}
74
- </View>
75
- </AnimatedTouchable>
76
- )
77
- }
1
+ import * as React from 'react'
2
+ import {
3
+ ComponentVariants,
4
+ IconPlaceholder,
5
+ OverlayComposition,
6
+ OverlayStyles,
7
+ useDefaultComponentStyle,
8
+ } from '@codeleap/common'
9
+ import { ReactNode } from 'react'
10
+ import { InputLabel } from './TextInput'
11
+ import { Button } from './Button'
12
+
13
+ import { View } from './View'
14
+ import { StylesOf } from '../types/utility'
15
+ import { StyleSheet, ViewProps } from 'react-native'
16
+ import { AnimatedTouchable } from './Touchable'
17
+
18
+ export type OverlayProps = ViewProps & {
19
+ title?: ReactNode
20
+ visible?: boolean
21
+ showClose?: boolean
22
+ variants?: ComponentVariants<typeof OverlayStyles>
23
+ styles?: StylesOf<OverlayComposition>
24
+ style?: any
25
+ onPress?: () => void
26
+ } & React.ComponentPropsWithoutRef<typeof AnimatedTouchable>
27
+
28
+ export const Overlay: React.FC<OverlayProps> = (overlayProps) => {
29
+ const {
30
+ showClose,
31
+ title,
32
+ children,
33
+ visible,
34
+ styles = {},
35
+ style,
36
+ variants,
37
+ ...props
38
+ } = overlayProps
39
+
40
+ const variantStyles = useDefaultComponentStyle('Overlay', {
41
+ styles,
42
+ transform: StyleSheet.flatten,
43
+ variants: variants as any,
44
+ }) as StylesOf<OverlayComposition>
45
+
46
+ const touchableStyle = [
47
+ variantStyles.wrapper,
48
+ styles.wrapper,
49
+ visible && variantStyles['wrapper:visible'],
50
+ visible && styles['wrapper:visible'],
51
+ ]
52
+
53
+ return (
54
+ <AnimatedTouchable
55
+ // @ts-ignore
56
+ transition={'opacity'}
57
+ style={touchableStyle}
58
+ {...props}
59
+ >
60
+ <View>
61
+ {(title || showClose) && (
62
+ <View style={variantStyles.header}>
63
+ <InputLabel style={variantStyles.title} label={title} />
64
+ {showClose && (
65
+ <Button
66
+ variants={['icon']}
67
+ icon={'close' as IconPlaceholder}
68
+ style={variantStyles.closeButton}
69
+ debugName={'Close icon'}
70
+ />
71
+ )}
72
+ </View>
73
+ )}
74
+ </View>
75
+ </AnimatedTouchable>
76
+ )
77
+ }