@codeleap/mobile 1.5.1 → 1.5.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (191) hide show
  1. package/.eslintignore +1 -1
  2. package/.eslintrc.js +3 -3
  3. package/.vscode/settings.json +10 -10
  4. package/CodeLeap-Mobile-Packages.code-workspace +7 -7
  5. package/dist/components/ActivityIndicator.d.ts +13 -13
  6. package/dist/components/ActivityIndicator.js +50 -54
  7. package/dist/components/ActivityIndicator.js.map +1 -1
  8. package/dist/components/Animated.d.ts +15 -15
  9. package/dist/components/Animated.js +54 -58
  10. package/dist/components/Animated.js.map +1 -1
  11. package/dist/components/Button.d.ts +119 -125
  12. package/dist/components/Button.js +78 -82
  13. package/dist/components/Button.js.map +1 -1
  14. package/dist/components/Checkbox/index.d.ts +14 -14
  15. package/dist/components/Checkbox/index.js +73 -77
  16. package/dist/components/Checkbox/index.js.map +1 -1
  17. package/dist/components/Checkbox/styles.d.ts +52 -55
  18. package/dist/components/Checkbox/styles.js +48 -48
  19. package/dist/components/Checkbox/styles.js.map +0 -0
  20. package/dist/components/ContentView.d.ts +10 -10
  21. package/dist/components/ContentView.js +50 -50
  22. package/dist/components/ContentView.js.map +0 -0
  23. package/dist/components/FileInput.d.ts +26 -26
  24. package/dist/components/FileInput.js +174 -178
  25. package/dist/components/FileInput.js.map +1 -1
  26. package/dist/components/Icon.d.ts +12 -12
  27. package/dist/components/Icon.js +66 -70
  28. package/dist/components/Icon.js.map +1 -1
  29. package/dist/components/Image.d.ts +18 -18
  30. package/dist/components/Image.js +55 -57
  31. package/dist/components/Image.js.map +1 -1
  32. package/dist/components/List.d.ts +12 -11
  33. package/dist/components/List.js +77 -80
  34. package/dist/components/List.js.map +1 -1
  35. package/dist/components/Modal/index.d.ts +26 -25
  36. package/dist/components/Modal/index.js +108 -112
  37. package/dist/components/Modal/index.js.map +1 -1
  38. package/dist/components/Modal/styles.d.ts +66 -69
  39. package/dist/components/Modal/styles.js +64 -64
  40. package/dist/components/Modal/styles.js.map +0 -0
  41. package/dist/components/Navigation/Navigation.d.ts +3 -3
  42. package/dist/components/Navigation/Navigation.js +83 -87
  43. package/dist/components/Navigation/Navigation.js.map +1 -1
  44. package/dist/components/Navigation/constants.d.ts +5 -5
  45. package/dist/components/Navigation/constants.js +10 -10
  46. package/dist/components/Navigation/constants.js.map +0 -0
  47. package/dist/components/Navigation/index.d.ts +3 -3
  48. package/dist/components/Navigation/index.js +15 -19
  49. package/dist/components/Navigation/index.js.map +1 -1
  50. package/dist/components/Navigation/types.d.ts +26 -26
  51. package/dist/components/Navigation/types.js +7 -7
  52. package/dist/components/Navigation/types.js.map +0 -0
  53. package/dist/components/Navigation/utils.d.ts +3 -3
  54. package/dist/components/Navigation/utils.js +69 -69
  55. package/dist/components/Navigation/utils.js.map +0 -0
  56. package/dist/components/Overlay.d.ts +16 -16
  57. package/dist/components/Overlay.js +65 -69
  58. package/dist/components/Overlay.js.map +1 -1
  59. package/dist/components/Pager/index.d.ts +19 -19
  60. package/dist/components/Pager/index.js +163 -167
  61. package/dist/components/Pager/index.js.map +1 -1
  62. package/dist/components/Pager/styles.d.ts +51 -54
  63. package/dist/components/Pager/styles.js +43 -43
  64. package/dist/components/Pager/styles.js.map +0 -0
  65. package/dist/components/RadioInput/index.d.ts +26 -26
  66. package/dist/components/RadioInput/index.js +68 -72
  67. package/dist/components/RadioInput/index.js.map +1 -1
  68. package/dist/components/RadioInput/styles.d.ts +54 -57
  69. package/dist/components/RadioInput/styles.js +44 -44
  70. package/dist/components/RadioInput/styles.js.map +0 -0
  71. package/dist/components/Scroll.d.ts +12 -11
  72. package/dist/components/Scroll.js +76 -79
  73. package/dist/components/Scroll.js.map +1 -1
  74. package/dist/components/Sections.d.ts +11 -11
  75. package/dist/components/Sections.js +76 -80
  76. package/dist/components/Sections.js.map +1 -1
  77. package/dist/components/Select/index.d.ts +5 -5
  78. package/dist/components/Select/index.js +144 -148
  79. package/dist/components/Select/index.js.map +1 -1
  80. package/dist/components/Select/styles.d.ts +9 -9
  81. package/dist/components/Select/styles.js +56 -56
  82. package/dist/components/Select/styles.js.map +0 -0
  83. package/dist/components/Select/types.d.ts +33 -33
  84. package/dist/components/Select/types.js +2 -2
  85. package/dist/components/Select/types.js.map +0 -0
  86. package/dist/components/Slider/Mark.d.ts +3 -3
  87. package/dist/components/Slider/Mark.js +31 -31
  88. package/dist/components/Slider/Mark.js.map +0 -0
  89. package/dist/components/Slider/Thumb.d.ts +7 -7
  90. package/dist/components/Slider/Thumb.js +29 -29
  91. package/dist/components/Slider/Thumb.js.map +0 -0
  92. package/dist/components/Slider/index.d.ts +3 -3
  93. package/dist/components/Slider/index.js +93 -97
  94. package/dist/components/Slider/index.js.map +1 -1
  95. package/dist/components/Slider/types.d.ts +25 -25
  96. package/dist/components/Slider/types.js +2 -2
  97. package/dist/components/Slider/types.js.map +0 -0
  98. package/dist/components/Switch.d.ts +13 -13
  99. package/dist/components/Switch.js +71 -75
  100. package/dist/components/Switch.js.map +1 -1
  101. package/dist/components/Text.d.ts +12 -12
  102. package/dist/components/Text.js +48 -52
  103. package/dist/components/Text.js.map +1 -1
  104. package/dist/components/TextInput.d.ts +164 -168
  105. package/dist/components/TextInput.js +157 -153
  106. package/dist/components/TextInput.js.map +1 -1
  107. package/dist/components/Touchable.d.ts +14 -14
  108. package/dist/components/Touchable.js +57 -61
  109. package/dist/components/Touchable.js.map +1 -1
  110. package/dist/components/View.d.ts +114 -120
  111. package/dist/components/View.js +50 -54
  112. package/dist/components/View.js.map +1 -1
  113. package/dist/components/components.d.ts +24 -24
  114. package/dist/components/components.js +36 -40
  115. package/dist/components/components.js.map +1 -1
  116. package/dist/index.d.ts +5 -5
  117. package/dist/index.js +24 -28
  118. package/dist/index.js.map +1 -1
  119. package/dist/modules/documentPicker.d.ts +3 -3
  120. package/dist/modules/documentPicker.js +11 -11
  121. package/dist/modules/documentPicker.js.map +0 -0
  122. package/dist/modules/fastImage.d.ts +1 -1
  123. package/dist/modules/fastImage.js +9 -9
  124. package/dist/modules/fastImage.js.map +0 -0
  125. package/dist/modules/reactNavigation.d.ts +3 -3
  126. package/dist/modules/reactNavigation.js +10 -10
  127. package/dist/modules/reactNavigation.js.map +0 -0
  128. package/dist/modules/types/fileTypes.d.ts +138 -138
  129. package/dist/modules/types/fileTypes.js +2 -2
  130. package/dist/modules/types/fileTypes.js.map +0 -0
  131. package/dist/types/utility.d.ts +2 -2
  132. package/dist/types/utility.js +2 -2
  133. package/dist/types/utility.js.map +0 -0
  134. package/dist/utils/OSAlert.d.ts +31 -31
  135. package/dist/utils/OSAlert.js +141 -141
  136. package/dist/utils/OSAlert.js.map +1 -1
  137. package/dist/utils/misc.d.ts +2 -2
  138. package/dist/utils/misc.js +25 -25
  139. package/dist/utils/misc.js.map +0 -0
  140. package/dist/utils/styles.d.ts +1 -1
  141. package/dist/utils/styles.js +12 -12
  142. package/dist/utils/styles.js.map +0 -0
  143. package/package.json +40 -40
  144. package/src/components/ActivityIndicator.tsx +46 -46
  145. package/src/components/Animated.tsx +34 -34
  146. package/src/components/Button.tsx +95 -95
  147. package/src/components/Checkbox/index.tsx +81 -81
  148. package/src/components/Checkbox/styles.ts +72 -72
  149. package/src/components/ContentView.tsx +58 -58
  150. package/src/components/FileInput.tsx +179 -179
  151. package/src/components/Icon.tsx +58 -58
  152. package/src/components/Image.tsx +61 -59
  153. package/src/components/List.tsx +104 -100
  154. package/src/components/Modal/index.tsx +161 -158
  155. package/src/components/Modal/styles.ts +133 -133
  156. package/src/components/Navigation/Navigation.tsx +58 -58
  157. package/src/components/Navigation/constants.ts +8 -8
  158. package/src/components/Navigation/index.tsx +3 -3
  159. package/src/components/Navigation/types.ts +35 -35
  160. package/src/components/Navigation/utils.tsx +59 -59
  161. package/src/components/Overlay.tsx +77 -77
  162. package/src/components/Pager/index.tsx +240 -240
  163. package/src/components/Pager/styles.ts +51 -51
  164. package/src/components/RadioInput/index.tsx +101 -101
  165. package/src/components/RadioInput/styles.ts +67 -67
  166. package/src/components/Scroll.tsx +102 -98
  167. package/src/components/Sections.tsx +100 -100
  168. package/src/components/Select/index.tsx +185 -184
  169. package/src/components/Select/styles.ts +81 -81
  170. package/src/components/Select/types.ts +41 -41
  171. package/src/components/Slider/Mark.tsx +46 -46
  172. package/src/components/Slider/Thumb.tsx +29 -29
  173. package/src/components/Slider/index.tsx +123 -123
  174. package/src/components/Slider/types.ts +25 -25
  175. package/src/components/Switch.tsx +81 -81
  176. package/src/components/Text.tsx +30 -30
  177. package/src/components/TextInput.tsx +211 -204
  178. package/src/components/Touchable.tsx +64 -64
  179. package/src/components/View.tsx +46 -46
  180. package/src/components/components.ts +26 -26
  181. package/src/index.ts +6 -6
  182. package/src/modules/documentPicker.ts +7 -7
  183. package/src/modules/fastImage.ts +2 -2
  184. package/src/modules/index.d.ts +496 -496
  185. package/src/modules/reactNavigation.ts +4 -4
  186. package/src/modules/types/documentPicker.d.ts +215 -215
  187. package/src/modules/types/fileTypes.ts +138 -138
  188. package/src/types/utility.ts +3 -3
  189. package/src/utils/OSAlert.ts +180 -180
  190. package/src/utils/misc.ts +24 -24
  191. 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
+