@codeleap/mobile 1.8.3 → 1.9.1

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 (196) 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 -50
  4. package/dist/components/ActivityIndicator.js.map +1 -1
  5. package/dist/components/Animated.d.ts +15 -15
  6. package/dist/components/Animated.js +58 -54
  7. package/dist/components/Animated.js.map +1 -1
  8. package/dist/components/Button.d.ts +125 -125
  9. package/dist/components/Button.js +82 -78
  10. package/dist/components/Button.js.map +1 -1
  11. package/dist/components/Checkbox/index.d.ts +15 -14
  12. package/dist/components/Checkbox/index.js +77 -73
  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 +48 -48
  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/FileInput.d.ts +27 -26
  21. package/dist/components/FileInput.js +178 -174
  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 -66
  25. package/dist/components/Icon.js.map +1 -1
  26. package/dist/components/Image.d.ts +18 -18
  27. package/dist/components/Image.js +59 -55
  28. package/dist/components/Image.js.map +1 -1
  29. package/dist/components/List.d.ts +13 -13
  30. package/dist/components/List.js +82 -78
  31. package/dist/components/List.js.map +1 -1
  32. package/dist/components/Modal/index.d.ts +26 -26
  33. package/dist/components/Modal/index.js +112 -108
  34. package/dist/components/Modal/index.js.map +1 -1
  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 -83
  40. package/dist/components/Navigation/Navigation.js.map +1 -1
  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 -15
  46. package/dist/components/Navigation/index.js.map +1 -1
  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/Overlay.d.ts +16 -16
  54. package/dist/components/Overlay.js +69 -65
  55. package/dist/components/Overlay.js.map +1 -1
  56. package/dist/components/Pager/index.d.ts +20 -20
  57. package/dist/components/Pager/index.js +167 -163
  58. package/dist/components/Pager/index.js.map +1 -1
  59. package/dist/components/Pager/styles.d.ts +54 -54
  60. package/dist/components/Pager/styles.js +43 -43
  61. package/dist/components/Pager/styles.js.map +0 -0
  62. package/dist/components/RadioInput/index.d.ts +26 -26
  63. package/dist/components/RadioInput/index.js +72 -68
  64. package/dist/components/RadioInput/index.js.map +1 -1
  65. package/dist/components/RadioInput/styles.d.ts +57 -57
  66. package/dist/components/RadioInput/styles.js +44 -44
  67. package/dist/components/RadioInput/styles.js.map +0 -0
  68. package/dist/components/Scroll.d.ts +12 -12
  69. package/dist/components/Scroll.js +80 -76
  70. package/dist/components/Scroll.js.map +1 -1
  71. package/dist/components/Sections.d.ts +11 -11
  72. package/dist/components/Sections.js +80 -76
  73. package/dist/components/Sections.js.map +1 -1
  74. package/dist/components/Select/index.d.ts +5 -5
  75. package/dist/components/Select/index.js +150 -146
  76. package/dist/components/Select/index.js.map +1 -1
  77. package/dist/components/Select/styles.d.ts +9 -9
  78. package/dist/components/Select/styles.js +56 -56
  79. package/dist/components/Select/styles.js.map +0 -0
  80. package/dist/components/Select/types.d.ts +39 -39
  81. package/dist/components/Select/types.js +2 -2
  82. package/dist/components/Select/types.js.map +0 -0
  83. package/dist/components/Slider/Mark.d.ts +3 -3
  84. package/dist/components/Slider/Mark.js +31 -31
  85. package/dist/components/Slider/Mark.js.map +0 -0
  86. package/dist/components/Slider/Thumb.d.ts +7 -7
  87. package/dist/components/Slider/Thumb.js +29 -29
  88. package/dist/components/Slider/Thumb.js.map +0 -0
  89. package/dist/components/Slider/index.d.ts +3 -3
  90. package/dist/components/Slider/index.js +97 -93
  91. package/dist/components/Slider/index.js.map +1 -1
  92. package/dist/components/Slider/types.d.ts +25 -25
  93. package/dist/components/Slider/types.js +2 -2
  94. package/dist/components/Slider/types.js.map +0 -0
  95. package/dist/components/Switch.d.ts +13 -13
  96. package/dist/components/Switch.js +75 -71
  97. package/dist/components/Switch.js.map +1 -1
  98. package/dist/components/Text.d.ts +12 -12
  99. package/dist/components/Text.js +52 -48
  100. package/dist/components/Text.js.map +1 -1
  101. package/dist/components/TextInput.d.ts +183 -171
  102. package/dist/components/TextInput.js +178 -157
  103. package/dist/components/TextInput.js.map +1 -1
  104. package/dist/components/Touchable.d.ts +14 -14
  105. package/dist/components/Touchable.js +61 -57
  106. package/dist/components/Touchable.js.map +1 -1
  107. package/dist/components/View.d.ts +120 -120
  108. package/dist/components/View.js +54 -50
  109. package/dist/components/View.js.map +1 -1
  110. package/dist/components/components.d.ts +25 -24
  111. package/dist/components/components.js +41 -36
  112. package/dist/components/components.js.map +1 -1
  113. package/dist/index.d.ts +5 -5
  114. package/dist/index.js +28 -24
  115. package/dist/index.js.map +1 -1
  116. package/dist/modules/documentPicker.d.ts +3 -3
  117. package/dist/modules/documentPicker.js +11 -11
  118. package/dist/modules/documentPicker.js.map +0 -0
  119. package/dist/modules/fastImage.d.ts +1 -1
  120. package/dist/modules/fastImage.js +9 -9
  121. package/dist/modules/fastImage.js.map +0 -0
  122. package/dist/modules/reactNavigation.d.ts +3 -3
  123. package/dist/modules/reactNavigation.js +10 -10
  124. package/dist/modules/reactNavigation.js.map +0 -0
  125. package/dist/modules/textInputMask.d.ts +7 -0
  126. package/dist/modules/textInputMask.js +10 -0
  127. package/dist/modules/textInputMask.js.map +1 -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/modules/types/textInputMask.d.ts +9 -0
  132. package/dist/modules/types/textInputMask.js +3 -0
  133. package/dist/modules/types/textInputMask.js.map +1 -0
  134. package/dist/types/utility.d.ts +2 -2
  135. package/dist/types/utility.js +2 -2
  136. package/dist/types/utility.js.map +0 -0
  137. package/dist/utils/OSAlert.d.ts +31 -31
  138. package/dist/utils/OSAlert.js +141 -141
  139. package/dist/utils/OSAlert.js.map +1 -1
  140. package/dist/utils/misc.d.ts +2 -2
  141. package/dist/utils/misc.js +25 -25
  142. package/dist/utils/misc.js.map +0 -0
  143. package/dist/utils/styles.d.ts +1 -1
  144. package/dist/utils/styles.js +12 -12
  145. package/dist/utils/styles.js.map +0 -0
  146. package/package.json +39 -38
  147. package/src/components/ActivityIndicator.tsx +46 -46
  148. package/src/components/Animated.tsx +34 -34
  149. package/src/components/Button.tsx +95 -95
  150. package/src/components/Checkbox/index.tsx +83 -81
  151. package/src/components/Checkbox/styles.ts +72 -72
  152. package/src/components/ContentView.tsx +58 -58
  153. package/src/components/FileInput.tsx +181 -179
  154. package/src/components/Icon.tsx +58 -58
  155. package/src/components/Image.tsx +61 -61
  156. package/src/components/List.tsx +109 -109
  157. package/src/components/Modal/index.tsx +161 -161
  158. package/src/components/Modal/styles.ts +133 -133
  159. package/src/components/Navigation/Navigation.tsx +58 -58
  160. package/src/components/Navigation/constants.ts +8 -8
  161. package/src/components/Navigation/index.tsx +3 -3
  162. package/src/components/Navigation/types.ts +35 -35
  163. package/src/components/Navigation/utils.tsx +59 -59
  164. package/src/components/Overlay.tsx +77 -77
  165. package/src/components/Pager/index.tsx +242 -242
  166. package/src/components/Pager/styles.ts +51 -51
  167. package/src/components/RadioInput/index.tsx +101 -101
  168. package/src/components/RadioInput/styles.ts +67 -67
  169. package/src/components/Scroll.tsx +104 -104
  170. package/src/components/Sections.tsx +101 -101
  171. package/src/components/Select/index.tsx +195 -195
  172. package/src/components/Select/styles.ts +81 -81
  173. package/src/components/Select/types.ts +45 -45
  174. package/src/components/Slider/Mark.tsx +46 -46
  175. package/src/components/Slider/Thumb.tsx +29 -29
  176. package/src/components/Slider/index.tsx +123 -123
  177. package/src/components/Slider/types.ts +25 -25
  178. package/src/components/Switch.tsx +81 -81
  179. package/src/components/Text.tsx +30 -30
  180. package/src/components/TextInput.tsx +246 -218
  181. package/src/components/Touchable.tsx +64 -64
  182. package/src/components/View.tsx +46 -46
  183. package/src/components/components.ts +26 -26
  184. package/src/index.ts +6 -6
  185. package/src/modules/documentPicker.ts +7 -7
  186. package/src/modules/fastImage.ts +2 -2
  187. package/src/modules/index.d.ts +496 -496
  188. package/src/modules/reactNavigation.ts +4 -4
  189. package/src/modules/textInputMask.ts +7 -0
  190. package/src/modules/types/documentPicker.d.ts +215 -215
  191. package/src/modules/types/fileTypes.ts +138 -138
  192. package/src/modules/types/textInputMask.ts +9 -0
  193. package/src/types/utility.ts +3 -3
  194. package/src/utils/OSAlert.ts +180 -180
  195. package/src/utils/misc.ts +24 -24
  196. package/src/utils/styles.ts +14 -14
@@ -1,133 +1,133 @@
1
- import {
2
- ButtonComposition,
3
- createDefaultVariantFactory,
4
- includePresets,
5
- ModalComposition,
6
- ModalStyles,
7
- assignTextStyle,
8
- } from '@codeleap/common'
9
-
10
- export const backgroundTransition = {
11
- duration: 200,
12
- ease: 'easeOut',
13
- useNativeDriver: false,
14
- }
15
-
16
- export const modalTransition = {
17
- duration: 150,
18
- ease: 'easeOut',
19
- useNativeDriver: false,
20
- }
21
-
22
- export type MobileModalParts =
23
- | 'wrapper'
24
- | 'overlay'
25
- | 'innerWrapper'
26
- | 'innerWrapperScroll'
27
- | 'box'
28
- | 'footer'
29
- | 'body'
30
- | 'header'
31
- | 'touchableBackdrop'
32
- | 'box:pose'
33
- | 'title'
34
- | `closeButton${Capitalize<ButtonComposition>}`
35
-
36
- export type MobileModalComposition =
37
- | MobileModalParts
38
- | `${MobileModalParts}:visible`
39
-
40
- const createModalStyle = createDefaultVariantFactory<MobileModalComposition>()
41
-
42
- const presets = includePresets((style) => createModalStyle(() => ({ body: style })),
43
- )
44
-
45
- const defaultModalStyles = ModalStyles
46
-
47
- export const MobileModalStyles = {
48
- ...defaultModalStyles,
49
- ...presets,
50
- default: createModalStyle((Theme) => {
51
- const fullSize = {
52
- ...Theme.presets.whole,
53
- position: 'absolute',
54
- width: Theme?.values?.width,
55
- height: Theme?.values?.height,
56
- }
57
-
58
- return {
59
- wrapper: {
60
- zIndex: 1,
61
-
62
- ...fullSize,
63
- },
64
-
65
- overlay: {
66
- opacity: 0,
67
-
68
- backgroundColor: Theme.colors.black,
69
- ...fullSize,
70
- },
71
- 'overlay:visible': {
72
- opacity: 0.5,
73
- },
74
- innerWrapper: {},
75
- innerWrapperScroll: {
76
- display: 'flex',
77
- alignItems: 'center',
78
- ...Theme.presets.justifyCenter,
79
- minHeight: Theme.values.height,
80
- },
81
- box: {
82
- width: '80%',
83
- backgroundColor: Theme.colors.background,
84
- borderRadius: Theme.borderRadius.medium,
85
- ...Theme.spacing.padding(2),
86
- },
87
- touchableBackdrop: {
88
- ...fullSize,
89
- },
90
- 'box:pose': {
91
- opacity: 0,
92
- scale: 0.8,
93
- transition: modalTransition,
94
- },
95
- 'box:pose:visible': {
96
- opacity: 1,
97
- scale: 1,
98
- transition: modalTransition,
99
- },
100
- header: {
101
- flexDirection: 'row',
102
- ...Theme.presets.justifySpaceBetween,
103
- ...Theme.presets.alignCenter,
104
- },
105
- closeButtonWrapper: {
106
- alignSelf: 'center',
107
- ...Theme.spacing.marginLeft('auto'),
108
- },
109
- title: {
110
- ...Theme.presets.textCenter,
111
- ...assignTextStyle('h3')(Theme).text,
112
- ...Theme.spacing.paddingBottom(1),
113
- flex: 1,
114
- },
115
- }
116
- }),
117
- popup: createModalStyle((theme) => ({})),
118
- fullscreen: createModalStyle((theme) => ({
119
- overlay: {
120
- backgroundColor: theme.colors.background,
121
- },
122
- 'overlay:visible': {
123
- opacity: 1,
124
- },
125
- box: {
126
- flex: 1,
127
- borderRadius: 0,
128
- width: theme.values.width,
129
- height: theme.values.height,
130
- ...theme.presets.center,
131
- },
132
- })),
133
- }
1
+ import {
2
+ ButtonComposition,
3
+ createDefaultVariantFactory,
4
+ includePresets,
5
+ ModalComposition,
6
+ ModalStyles,
7
+ assignTextStyle,
8
+ } from '@codeleap/common'
9
+
10
+ export const backgroundTransition = {
11
+ duration: 200,
12
+ ease: 'easeOut',
13
+ useNativeDriver: false,
14
+ }
15
+
16
+ export const modalTransition = {
17
+ duration: 150,
18
+ ease: 'easeOut',
19
+ useNativeDriver: false,
20
+ }
21
+
22
+ export type MobileModalParts =
23
+ | 'wrapper'
24
+ | 'overlay'
25
+ | 'innerWrapper'
26
+ | 'innerWrapperScroll'
27
+ | 'box'
28
+ | 'footer'
29
+ | 'body'
30
+ | 'header'
31
+ | 'touchableBackdrop'
32
+ | 'box:pose'
33
+ | 'title'
34
+ | `closeButton${Capitalize<ButtonComposition>}`
35
+
36
+ export type MobileModalComposition =
37
+ | MobileModalParts
38
+ | `${MobileModalParts}:visible`
39
+
40
+ const createModalStyle = createDefaultVariantFactory<MobileModalComposition>()
41
+
42
+ const presets = includePresets((style) => createModalStyle(() => ({ body: style })),
43
+ )
44
+
45
+ const defaultModalStyles = ModalStyles
46
+
47
+ export const MobileModalStyles = {
48
+ ...defaultModalStyles,
49
+ ...presets,
50
+ default: createModalStyle((Theme) => {
51
+ const fullSize = {
52
+ ...Theme.presets.whole,
53
+ position: 'absolute',
54
+ width: Theme?.values?.width,
55
+ height: Theme?.values?.height,
56
+ }
57
+
58
+ return {
59
+ wrapper: {
60
+ zIndex: 1,
61
+
62
+ ...fullSize,
63
+ },
64
+
65
+ overlay: {
66
+ opacity: 0,
67
+
68
+ backgroundColor: Theme.colors.black,
69
+ ...fullSize,
70
+ },
71
+ 'overlay:visible': {
72
+ opacity: 0.5,
73
+ },
74
+ innerWrapper: {},
75
+ innerWrapperScroll: {
76
+ display: 'flex',
77
+ alignItems: 'center',
78
+ ...Theme.presets.justifyCenter,
79
+ minHeight: Theme.values.height,
80
+ },
81
+ box: {
82
+ width: '80%',
83
+ backgroundColor: Theme.colors.background,
84
+ borderRadius: Theme.borderRadius.medium,
85
+ ...Theme.spacing.padding(2),
86
+ },
87
+ touchableBackdrop: {
88
+ ...fullSize,
89
+ },
90
+ 'box:pose': {
91
+ opacity: 0,
92
+ scale: 0.8,
93
+ transition: modalTransition,
94
+ },
95
+ 'box:pose:visible': {
96
+ opacity: 1,
97
+ scale: 1,
98
+ transition: modalTransition,
99
+ },
100
+ header: {
101
+ flexDirection: 'row',
102
+ ...Theme.presets.justifySpaceBetween,
103
+ ...Theme.presets.alignCenter,
104
+ },
105
+ closeButtonWrapper: {
106
+ alignSelf: 'center',
107
+ ...Theme.spacing.marginLeft('auto'),
108
+ },
109
+ title: {
110
+ ...Theme.presets.textCenter,
111
+ ...assignTextStyle('h3')(Theme).text,
112
+ ...Theme.spacing.paddingBottom(1),
113
+ flex: 1,
114
+ },
115
+ }
116
+ }),
117
+ popup: createModalStyle((theme) => ({})),
118
+ fullscreen: createModalStyle((theme) => ({
119
+ overlay: {
120
+ backgroundColor: theme.colors.background,
121
+ },
122
+ 'overlay:visible': {
123
+ opacity: 1,
124
+ },
125
+ box: {
126
+ flex: 1,
127
+ borderRadius: 0,
128
+ width: theme.values.width,
129
+ height: theme.values.height,
130
+ ...theme.presets.center,
131
+ },
132
+ })),
133
+ }
@@ -1,58 +1,58 @@
1
- // @ts-nocheck
2
- import * as React from 'react'
3
- import {
4
- TypeGuards,
5
- } from '@codeleap/common'
6
- import { Icon } from '../Icon'
7
- import { NavigationProps, NavigatorType, PropTypes, TNavigators } from './types'
8
- import { Navigators } from './constants'
9
-
10
- export const Navigation = <T extends NavigatorType>({ type, scenes, ...props }: NavigationProps<T>) => {
11
- const NavigationComponent = Navigators[type] as TNavigators[T]
12
-
13
- const defaultProps = {}
14
- if (type === 'Tab') {
15
- defaultProps.screenOptions = { headerShown: false }
16
- }
17
- // console.log('render Navigation', { type, scenes, props, defaultProps })
18
-
19
- return <NavigationComponent.Navigator {...(props as any)} {...defaultProps}>
20
- {
21
- Object.entries(scenes).map(([name, content], idx) => {
22
- const isFunction = TypeGuards.isFunction(content)
23
-
24
- let screenProps = {
25
- name,
26
- } as PropTypes[T]['Screen']
27
-
28
- if (isFunction) {
29
- screenProps.component = content
30
- // console.log('Render NavigationScreen', { scenes, screenProps, content, isFunction }, 'PACKAGES')
31
- } else {
32
- screenProps.component = content?.component?.default || content?.component || content?.default
33
- const nameParts = name.split('.')
34
- const title = content?.title || nameParts[nameParts.length - 1] || name.replace('.', '')
35
-
36
- screenProps = {
37
- ...screenProps,
38
- options: (optionProps) => ({
39
- title,
40
- tabBarIcon: (style) => <Icon name={content?.icon} style={style}/>,
41
- tabBarIconFocused: content?.iconFocused ? (style) => <Icon name={content?.iconFocused} style={style}/> : null,
42
- ...(TypeGuards.isFunction(content.options) ? content.options(optionProps) : content.options),
43
- }),
44
- }
45
- // console.log('Render NavigationScreen loop', { scenes, screenProps, content, title, isFunction, props }, 'PACKAGES')
46
- }
47
-
48
- return (
49
- // @ts-ignore
50
- <NavigationComponent.Screen
51
- key={idx}
52
- {...screenProps}
53
- />
54
- )
55
- })
56
- }
57
- </NavigationComponent.Navigator>
58
- }
1
+ // @ts-nocheck
2
+ import * as React from 'react'
3
+ import {
4
+ TypeGuards,
5
+ } from '@codeleap/common'
6
+ import { Icon } from '../Icon'
7
+ import { NavigationProps, NavigatorType, PropTypes, TNavigators } from './types'
8
+ import { Navigators } from './constants'
9
+
10
+ export const Navigation = <T extends NavigatorType>({ type, scenes, ...props }: NavigationProps<T>) => {
11
+ const NavigationComponent = Navigators[type] as TNavigators[T]
12
+
13
+ const defaultProps = {}
14
+ if (type === 'Tab') {
15
+ defaultProps.screenOptions = { headerShown: false }
16
+ }
17
+ // console.log('render Navigation', { type, scenes, props, defaultProps })
18
+
19
+ return <NavigationComponent.Navigator {...(props as any)} {...defaultProps}>
20
+ {
21
+ Object.entries(scenes).map(([name, content], idx) => {
22
+ const isFunction = TypeGuards.isFunction(content)
23
+
24
+ let screenProps = {
25
+ name,
26
+ } as PropTypes[T]['Screen']
27
+
28
+ if (isFunction) {
29
+ screenProps.component = content
30
+ // console.log('Render NavigationScreen', { scenes, screenProps, content, isFunction }, 'PACKAGES')
31
+ } else {
32
+ screenProps.component = content?.component?.default || content?.component || content?.default
33
+ const nameParts = name.split('.')
34
+ const title = content?.title || nameParts[nameParts.length - 1] || name.replace('.', '')
35
+
36
+ screenProps = {
37
+ ...screenProps,
38
+ options: (optionProps) => ({
39
+ title,
40
+ tabBarIcon: (style) => <Icon name={content?.icon} style={style}/>,
41
+ tabBarIconFocused: content?.iconFocused ? (style) => <Icon name={content?.iconFocused} style={style}/> : null,
42
+ ...(TypeGuards.isFunction(content.options) ? content.options(optionProps) : content.options),
43
+ }),
44
+ }
45
+ // console.log('Render NavigationScreen loop', { scenes, screenProps, content, title, isFunction, props }, 'PACKAGES')
46
+ }
47
+
48
+ return (
49
+ // @ts-ignore
50
+ <NavigationComponent.Screen
51
+ key={idx}
52
+ {...screenProps}
53
+ />
54
+ )
55
+ })
56
+ }
57
+ </NavigationComponent.Navigator>
58
+ }
@@ -1,8 +1,8 @@
1
- // @ts-nocheck
2
- import { createBottomTabNavigator, createDrawerNavigator, createStackNavigator } from '../../modules/reactNavigation'
3
-
4
- export const Navigators = {
5
- Drawer: createDrawerNavigator(),
6
- Stack: createStackNavigator(),
7
- Tab: createBottomTabNavigator(),
8
- }
1
+ // @ts-nocheck
2
+ import { createBottomTabNavigator, createDrawerNavigator, createStackNavigator } from '../../modules/reactNavigation'
3
+
4
+ export const Navigators = {
5
+ Drawer: createDrawerNavigator(),
6
+ Stack: createStackNavigator(),
7
+ Tab: createBottomTabNavigator(),
8
+ }
@@ -1,3 +1,3 @@
1
- export * from './Navigation'
2
- export * from './types'
3
- export * from './utils'
1
+ export * from './Navigation'
2
+ export * from './types'
3
+ export * from './utils'
@@ -1,35 +1,35 @@
1
- import { IconPlaceholder } from '@codeleap/common'
2
- import { Navigators } from './constants'
3
-
4
- export type TNavigators = typeof Navigators
5
- export type NavigatorType = keyof TNavigators
6
-
7
- export type PropTypes = {
8
- [P in NavigatorType] : {
9
- Screen: Omit<React.ComponentPropsWithRef<TNavigators[P]['Screen']>, 'children'|'name'>
10
- Navigator: Omit<React.ComponentPropsWithRef<TNavigators[P]['Navigator']>, 'children'|'name'>
11
- Group: Omit<React.ComponentPropsWithRef<TNavigators[P]['Group']>, 'children'|'name'>
12
- }
13
- }
14
- export type SceneComponent<K extends NavigatorType> = PropTypes[K]['Screen']
15
- export type SceneOptions<K extends NavigatorType> =
16
- { icon?: IconPlaceholder; default?:SceneComponent<K> } & PropTypes[K]['Screen']
17
- export type Scene<K extends NavigatorType> = SceneComponent<K> | SceneOptions<K>
18
-
19
- export type Scenes<K extends NavigatorType> = {
20
- [x:string] : Scene<K>
21
- }
22
-
23
- export type SceneProps = any
24
-
25
- export type NavigationProps<T extends NavigatorType> = {
26
- type: T
27
- scenes: Scenes<T>
28
- } & PropTypes[T]['Navigator']
29
-
30
- // export type NavigationStructure = {
31
- // [module:string] : {
32
- // scenes: Scenes,
33
-
34
- // }
35
- // }
1
+ import { IconPlaceholder } from '@codeleap/common'
2
+ import { Navigators } from './constants'
3
+
4
+ export type TNavigators = typeof Navigators
5
+ export type NavigatorType = keyof TNavigators
6
+
7
+ export type PropTypes = {
8
+ [P in NavigatorType] : {
9
+ Screen: Omit<React.ComponentPropsWithRef<TNavigators[P]['Screen']>, 'children'|'name'>
10
+ Navigator: Omit<React.ComponentPropsWithRef<TNavigators[P]['Navigator']>, 'children'|'name'>
11
+ Group: Omit<React.ComponentPropsWithRef<TNavigators[P]['Group']>, 'children'|'name'>
12
+ }
13
+ }
14
+ export type SceneComponent<K extends NavigatorType> = PropTypes[K]['Screen']
15
+ export type SceneOptions<K extends NavigatorType> =
16
+ { icon?: IconPlaceholder; default?:SceneComponent<K> } & PropTypes[K]['Screen']
17
+ export type Scene<K extends NavigatorType> = SceneComponent<K> | SceneOptions<K>
18
+
19
+ export type Scenes<K extends NavigatorType> = {
20
+ [x:string] : Scene<K>
21
+ }
22
+
23
+ export type SceneProps = any
24
+
25
+ export type NavigationProps<T extends NavigatorType> = {
26
+ type: T
27
+ scenes: Scenes<T>
28
+ } & PropTypes[T]['Navigator']
29
+
30
+ // export type NavigationStructure = {
31
+ // [module:string] : {
32
+ // scenes: Scenes,
33
+
34
+ // }
35
+ // }
@@ -1,59 +1,59 @@
1
- import React from 'react'
2
- import { Navigation } from './Navigation'
3
-
4
- export function createAppNavigation(Scenes:any) {
5
-
6
- console.log('Creating app navigation', { Scenes }, 'PACKAGES')
7
-
8
- const AllScenes = Object.entries<any>(Scenes).reduce((allScenes, [moduleName, content]) => {
9
-
10
- const subScenes = []
11
-
12
- for (const [name, sceneContent] of Object.entries(content.scenes)) {
13
- subScenes.push(
14
- [`${moduleName}.${name}`, sceneContent],
15
- )
16
- }
17
-
18
- return [
19
- ...allScenes,
20
- ...subScenes,
21
- ]
22
- }, [])
23
-
24
- const AppScenes = Object.fromEntries(AllScenes)
25
-
26
- const SCENES_RESULT = Object.fromEntries(
27
- Object.entries<any>(Scenes)
28
- .map(([S, { _ig_scenes, exclude, type, navigationProps, ...otherProps }]) => {
29
- let filterScenes = null
30
-
31
- if (exclude) {
32
- filterScenes = Object.fromEntries(
33
- AllScenes.filter(([path]) => !exclude.some(param => path.startsWith(param))),
34
- )
35
- }
36
-
37
- const Component = () => <Navigation
38
- type={type || 'Stack'}
39
- scenes={filterScenes || AppScenes}
40
- screenOptions={{
41
- headerShown: false,
42
- ...navigationProps?.screenOptions,
43
- }}
44
- {...navigationProps}
45
- />
46
- // console.log('SCENES_RESULT create', { _ig_scenes, exclude, type, navigationProps, otherProps })
47
-
48
- return [S, {
49
- ...otherProps,
50
- component: Component,
51
- }]
52
- }),
53
- )
54
-
55
- // console.log('SCENES_RESULT', SCENES_RESULT)
56
-
57
- return SCENES_RESULT
58
- }
59
-
1
+ import React from 'react'
2
+ import { Navigation } from './Navigation'
3
+
4
+ export function createAppNavigation(Scenes:any) {
5
+
6
+ console.log('Creating app navigation', { Scenes }, 'PACKAGES')
7
+
8
+ const AllScenes = Object.entries<any>(Scenes).reduce((allScenes, [moduleName, content]) => {
9
+
10
+ const subScenes = []
11
+
12
+ for (const [name, sceneContent] of Object.entries(content.scenes)) {
13
+ subScenes.push(
14
+ [`${moduleName}.${name}`, sceneContent],
15
+ )
16
+ }
17
+
18
+ return [
19
+ ...allScenes,
20
+ ...subScenes,
21
+ ]
22
+ }, [])
23
+
24
+ const AppScenes = Object.fromEntries(AllScenes)
25
+
26
+ const SCENES_RESULT = Object.fromEntries(
27
+ Object.entries<any>(Scenes)
28
+ .map(([S, { _ig_scenes, exclude, type, navigationProps, ...otherProps }]) => {
29
+ let filterScenes = null
30
+
31
+ if (exclude) {
32
+ filterScenes = Object.fromEntries(
33
+ AllScenes.filter(([path]) => !exclude.some(param => path.startsWith(param))),
34
+ )
35
+ }
36
+
37
+ const Component = () => <Navigation
38
+ type={type || 'Stack'}
39
+ scenes={filterScenes || AppScenes}
40
+ screenOptions={{
41
+ headerShown: false,
42
+ ...navigationProps?.screenOptions,
43
+ }}
44
+ {...navigationProps}
45
+ />
46
+ // console.log('SCENES_RESULT create', { _ig_scenes, exclude, type, navigationProps, otherProps })
47
+
48
+ return [S, {
49
+ ...otherProps,
50
+ component: Component,
51
+ }]
52
+ }),
53
+ )
54
+
55
+ // console.log('SCENES_RESULT', SCENES_RESULT)
56
+
57
+ return SCENES_RESULT
58
+ }
59
+