@codeleap/mobile 1.9.18 → 1.9.21

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 (194) 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 +15 -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/Overlay.d.ts +16 -16
  54. package/dist/components/Overlay.js +69 -69
  55. package/dist/components/Overlay.js.map +0 -0
  56. package/dist/components/Pager/index.d.ts +20 -20
  57. package/dist/components/Pager/index.js +167 -167
  58. package/dist/components/Pager/index.js.map +0 -0
  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 -72
  64. package/dist/components/RadioInput/index.js.map +0 -0
  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 +13 -13
  69. package/dist/components/Scroll.js +81 -81
  70. package/dist/components/Scroll.js.map +0 -0
  71. package/dist/components/Sections.d.ts +11 -11
  72. package/dist/components/Sections.js +80 -80
  73. package/dist/components/Sections.js.map +0 -0
  74. package/dist/components/Select/index.d.ts +5 -5
  75. package/dist/components/Select/index.js +150 -150
  76. package/dist/components/Select/index.js.map +0 -0
  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 +40 -40
  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 -97
  91. package/dist/components/Slider/index.js.map +0 -0
  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 -75
  97. package/dist/components/Switch.js.map +0 -0
  98. package/dist/components/Text.d.ts +12 -12
  99. package/dist/components/Text.js +52 -52
  100. package/dist/components/Text.js.map +0 -0
  101. package/dist/components/TextInput.d.ts +183 -183
  102. package/dist/components/TextInput.js +180 -178
  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 -61
  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 -54
  109. package/dist/components/View.js.map +0 -0
  110. package/dist/components/components.d.ts +25 -25
  111. package/dist/components/components.js +41 -41
  112. package/dist/components/components.js.map +0 -0
  113. package/dist/index.d.ts +5 -5
  114. package/dist/index.js +28 -28
  115. package/dist/index.js.map +0 -0
  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 +12 -12
  126. package/dist/modules/textInputMask.js +7 -7
  127. package/dist/modules/types/fileTypes.d.ts +138 -138
  128. package/dist/modules/types/fileTypes.js +2 -2
  129. package/dist/modules/types/fileTypes.js.map +0 -0
  130. package/dist/modules/types/textInputMask.d.ts +12 -12
  131. package/dist/modules/types/textInputMask.js +2 -2
  132. package/dist/types/utility.d.ts +2 -2
  133. package/dist/types/utility.js +2 -2
  134. package/dist/types/utility.js.map +0 -0
  135. package/dist/utils/OSAlert.d.ts +31 -31
  136. package/dist/utils/OSAlert.js +141 -141
  137. package/dist/utils/OSAlert.js.map +0 -0
  138. package/dist/utils/misc.d.ts +2 -2
  139. package/dist/utils/misc.js +25 -25
  140. package/dist/utils/misc.js.map +0 -0
  141. package/dist/utils/styles.d.ts +1 -1
  142. package/dist/utils/styles.js +12 -12
  143. package/dist/utils/styles.js.map +0 -0
  144. package/package.json +40 -40
  145. package/src/components/ActivityIndicator.tsx +46 -46
  146. package/src/components/Animated.tsx +34 -34
  147. package/src/components/Button.tsx +95 -95
  148. package/src/components/Checkbox/index.tsx +85 -85
  149. package/src/components/Checkbox/styles.ts +76 -76
  150. package/src/components/ContentView.tsx +58 -58
  151. package/src/components/FileInput.tsx +230 -229
  152. package/src/components/Icon.tsx +58 -58
  153. package/src/components/Image.tsx +61 -61
  154. package/src/components/List.tsx +111 -111
  155. package/src/components/Modal/index.tsx +161 -161
  156. package/src/components/Modal/styles.ts +133 -133
  157. package/src/components/Navigation/Navigation.tsx +58 -58
  158. package/src/components/Navigation/constants.ts +8 -8
  159. package/src/components/Navigation/index.tsx +3 -3
  160. package/src/components/Navigation/types.ts +35 -35
  161. package/src/components/Navigation/utils.tsx +59 -59
  162. package/src/components/Overlay.tsx +77 -77
  163. package/src/components/Pager/index.tsx +242 -242
  164. package/src/components/Pager/styles.ts +51 -51
  165. package/src/components/RadioInput/index.tsx +101 -101
  166. package/src/components/RadioInput/styles.ts +67 -67
  167. package/src/components/Scroll.tsx +106 -106
  168. package/src/components/Sections.tsx +101 -101
  169. package/src/components/Select/index.tsx +195 -195
  170. package/src/components/Select/styles.ts +81 -81
  171. package/src/components/Select/types.ts +46 -46
  172. package/src/components/Slider/Mark.tsx +46 -46
  173. package/src/components/Slider/Thumb.tsx +29 -29
  174. package/src/components/Slider/index.tsx +123 -123
  175. package/src/components/Slider/types.ts +25 -25
  176. package/src/components/Switch.tsx +81 -81
  177. package/src/components/Text.tsx +30 -30
  178. package/src/components/TextInput.tsx +247 -245
  179. package/src/components/Touchable.tsx +65 -67
  180. package/src/components/View.tsx +46 -46
  181. package/src/components/components.ts +26 -26
  182. package/src/index.ts +6 -6
  183. package/src/modules/documentPicker.ts +7 -7
  184. package/src/modules/fastImage.ts +2 -2
  185. package/src/modules/index.d.ts +496 -496
  186. package/src/modules/reactNavigation.ts +4 -4
  187. package/src/modules/textInputMask.ts +9 -9
  188. package/src/modules/types/documentPicker.d.ts +215 -215
  189. package/src/modules/types/fileTypes.ts +138 -138
  190. package/src/modules/types/textInputMask.ts +13 -13
  191. package/src/types/utility.ts +3 -3
  192. package/src/utils/OSAlert.ts +180 -180
  193. package/src/utils/misc.ts +24 -24
  194. package/src/utils/styles.ts +14 -14
@@ -1,51 +1,51 @@
1
- import {
2
- createDefaultVariantFactory,
3
- includePresets,
4
- } from '@codeleap/common'
5
-
6
- export type PagerComposition =
7
- | 'page'
8
- | 'page:transition'
9
- | 'page:pose:previous'
10
- | 'page:pose:next'
11
- | 'page:pose:current'
12
- | 'wrapper'
13
-
14
- const createPagerStyle = createDefaultVariantFactory<PagerComposition>()
15
-
16
- const presets = includePresets((style) => createPagerStyle(() => ({ wrapper: style })),
17
- )
18
-
19
- export const MobilePagerStyles = {
20
- ...presets,
21
- default: createPagerStyle((Theme) => {
22
- const transition = {
23
- duration: 500,
24
- ease: 'easeInOut',
25
- useNativeDriver: true,
26
- }
27
-
28
- return {
29
- wrapper: {
30
- ...Theme.presets.full,
31
- },
32
- 'page:pose:next': {
33
- left: Theme.values.width * 1.8,
34
- transition: transition,
35
- },
36
- 'page:pose:current': {
37
- left: 0,
38
- transition: transition,
39
- },
40
- 'page:pose:previous': {
41
- left: -Theme.values.width * 1.8,
42
- transition: transition,
43
- },
44
- page: {
45
- width: '100%',
46
- height: '100%',
47
- },
48
- }
49
- }),
50
- pageless: createPagerStyle(() => ({})),
51
- }
1
+ import {
2
+ createDefaultVariantFactory,
3
+ includePresets,
4
+ } from '@codeleap/common'
5
+
6
+ export type PagerComposition =
7
+ | 'page'
8
+ | 'page:transition'
9
+ | 'page:pose:previous'
10
+ | 'page:pose:next'
11
+ | 'page:pose:current'
12
+ | 'wrapper'
13
+
14
+ const createPagerStyle = createDefaultVariantFactory<PagerComposition>()
15
+
16
+ const presets = includePresets((style) => createPagerStyle(() => ({ wrapper: style })),
17
+ )
18
+
19
+ export const MobilePagerStyles = {
20
+ ...presets,
21
+ default: createPagerStyle((Theme) => {
22
+ const transition = {
23
+ duration: 500,
24
+ ease: 'easeInOut',
25
+ useNativeDriver: true,
26
+ }
27
+
28
+ return {
29
+ wrapper: {
30
+ ...Theme.presets.full,
31
+ },
32
+ 'page:pose:next': {
33
+ left: Theme.values.width * 1.8,
34
+ transition: transition,
35
+ },
36
+ 'page:pose:current': {
37
+ left: 0,
38
+ transition: transition,
39
+ },
40
+ 'page:pose:previous': {
41
+ left: -Theme.values.width * 1.8,
42
+ transition: transition,
43
+ },
44
+ page: {
45
+ width: '100%',
46
+ height: '100%',
47
+ },
48
+ }
49
+ }),
50
+ pageless: createPagerStyle(() => ({})),
51
+ }
@@ -1,101 +1,101 @@
1
- import * as React from 'react'
2
- import { ReactNode, useRef, ComponentPropsWithoutRef } from 'react'
3
- import { v4 } from 'uuid'
4
-
5
- import { Text } from '../Text'
6
- import { Touchable } from '../Touchable'
7
- import {
8
- ComponentVariants,
9
- StylesOf,
10
- useDefaultComponentStyle,
11
- } from '@codeleap/common'
12
- import { View } from '../View'
13
- import { MobileRadioInputStyles, MobileRadioInputComposition } from './styles'
14
-
15
- export * from './styles'
16
-
17
- type RadioItem<T extends unknown = any> = {
18
- value: T
19
- label: ReactNode
20
- }
21
-
22
- const getRadioStyle = (props) => useDefaultComponentStyle('RadioInput', props)
23
-
24
- export type RadioButtonProps = Omit<
25
- ComponentPropsWithoutRef<typeof Touchable>,
26
- 'style'
27
- > & {
28
- item: RadioItem
29
- select: () => void
30
- style: StylesOf<MobileRadioInputComposition>
31
- checked: boolean
32
- defaultValue?: number
33
- }
34
-
35
- export type RadioGroupProps<T> = {
36
- options: RadioItem<T>[]
37
- value: T
38
- onValueChange(value: T): void
39
- label: ReactNode
40
- styles?: StylesOf<MobileRadioInputComposition>
41
- } & ComponentVariants<typeof MobileRadioInputStyles>
42
-
43
- export const RadioButton: React.FC<RadioButtonProps> = ({
44
- item,
45
- select,
46
- style,
47
- checked,
48
- ...props
49
- }) => {
50
- return (
51
- <Touchable onPress={select} style={style.itemWrapper} debugName={'Change radioButton value'}>
52
- <View style={[style.button, checked && style['button:checked']]}>
53
- <View
54
- style={[style.buttonMark, checked && style['buttonMark:checked']]}
55
- />
56
- </View>
57
- {typeof item.label === 'string' ? (
58
- <Text text={item.label} style={style.text} />
59
- ) : (
60
- item.label
61
- )}
62
- </Touchable>
63
- )
64
- }
65
-
66
- export const RadioGroup = <T extends unknown>(
67
- radioGroupProps: RadioGroupProps<T>,
68
- ) => {
69
- const {
70
- options,
71
- value,
72
- onValueChange,
73
- label,
74
- responsiveVariants,
75
- variants,
76
- styles,
77
- } = radioGroupProps
78
-
79
- const radioStyle = getRadioStyle({
80
- responsiveVariants,
81
- variants,
82
- styles,
83
- })
84
- return (
85
- <View style={radioStyle.wrapper}>
86
- {typeof label === 'string' ? <Text text={label} /> : label}
87
- <View style={radioStyle.listWrapper}>
88
- {options?.map((item, idx) => (
89
- <RadioButton
90
- debugName={'RadioButton'}
91
- item={item}
92
- key={idx}
93
- style={radioStyle}
94
- checked={value === item.value}
95
- select={() => onValueChange(item.value)}
96
- />
97
- ))}
98
- </View>
99
- </View>
100
- )
101
- }
1
+ import * as React from 'react'
2
+ import { ReactNode, useRef, ComponentPropsWithoutRef } from 'react'
3
+ import { v4 } from 'uuid'
4
+
5
+ import { Text } from '../Text'
6
+ import { Touchable } from '../Touchable'
7
+ import {
8
+ ComponentVariants,
9
+ StylesOf,
10
+ useDefaultComponentStyle,
11
+ } from '@codeleap/common'
12
+ import { View } from '../View'
13
+ import { MobileRadioInputStyles, MobileRadioInputComposition } from './styles'
14
+
15
+ export * from './styles'
16
+
17
+ type RadioItem<T extends unknown = any> = {
18
+ value: T
19
+ label: ReactNode
20
+ }
21
+
22
+ const getRadioStyle = (props) => useDefaultComponentStyle('RadioInput', props)
23
+
24
+ export type RadioButtonProps = Omit<
25
+ ComponentPropsWithoutRef<typeof Touchable>,
26
+ 'style'
27
+ > & {
28
+ item: RadioItem
29
+ select: () => void
30
+ style: StylesOf<MobileRadioInputComposition>
31
+ checked: boolean
32
+ defaultValue?: number
33
+ }
34
+
35
+ export type RadioGroupProps<T> = {
36
+ options: RadioItem<T>[]
37
+ value: T
38
+ onValueChange(value: T): void
39
+ label: ReactNode
40
+ styles?: StylesOf<MobileRadioInputComposition>
41
+ } & ComponentVariants<typeof MobileRadioInputStyles>
42
+
43
+ export const RadioButton: React.FC<RadioButtonProps> = ({
44
+ item,
45
+ select,
46
+ style,
47
+ checked,
48
+ ...props
49
+ }) => {
50
+ return (
51
+ <Touchable onPress={select} style={style.itemWrapper} debugName={'Change radioButton value'}>
52
+ <View style={[style.button, checked && style['button:checked']]}>
53
+ <View
54
+ style={[style.buttonMark, checked && style['buttonMark:checked']]}
55
+ />
56
+ </View>
57
+ {typeof item.label === 'string' ? (
58
+ <Text text={item.label} style={style.text} />
59
+ ) : (
60
+ item.label
61
+ )}
62
+ </Touchable>
63
+ )
64
+ }
65
+
66
+ export const RadioGroup = <T extends unknown>(
67
+ radioGroupProps: RadioGroupProps<T>,
68
+ ) => {
69
+ const {
70
+ options,
71
+ value,
72
+ onValueChange,
73
+ label,
74
+ responsiveVariants,
75
+ variants,
76
+ styles,
77
+ } = radioGroupProps
78
+
79
+ const radioStyle = getRadioStyle({
80
+ responsiveVariants,
81
+ variants,
82
+ styles,
83
+ })
84
+ return (
85
+ <View style={radioStyle.wrapper}>
86
+ {typeof label === 'string' ? <Text text={label} /> : label}
87
+ <View style={radioStyle.listWrapper}>
88
+ {options?.map((item, idx) => (
89
+ <RadioButton
90
+ debugName={'RadioButton'}
91
+ item={item}
92
+ key={idx}
93
+ style={radioStyle}
94
+ checked={value === item.value}
95
+ select={() => onValueChange(item.value)}
96
+ />
97
+ ))}
98
+ </View>
99
+ </View>
100
+ )
101
+ }
@@ -1,67 +1,67 @@
1
- import {
2
- createDefaultVariantFactory,
3
- RadioInputStyles,
4
- } from '@codeleap/common'
5
- type RadioParts = 'button' | 'itemWrapper' | 'text' | 'buttonMark'
6
-
7
- type RadioGroupParts = 'label' | 'wrapper' | 'list'
8
-
9
- export type MobileRadioInputComposition =
10
- | `${RadioParts}:checked`
11
- | RadioParts
12
- | RadioGroupParts
13
-
14
- const createRadioStyle =
15
- createDefaultVariantFactory<MobileRadioInputComposition>()
16
-
17
- const defaultStyles = RadioInputStyles.default
18
-
19
- export const MobileRadioInputStyles = {
20
- ...RadioInputStyles,
21
- default: createRadioStyle((theme) => {
22
- const style = defaultStyles(theme)
23
-
24
- const itemHeight = theme.typography.baseFontSize * 1.2
25
- const markHeight = itemHeight / 2
26
- const translateX = -(markHeight / 2)
27
- const translateY = -(markHeight / 2)
28
- return {
29
- ...style,
30
- itemWrapper: {
31
- ...style.itemWrapper,
32
- },
33
- button: {
34
- height: itemHeight,
35
- width: itemHeight,
36
- ...theme.border.primary(1),
37
- borderRadius: theme.borderRadius.large,
38
-
39
- position: 'relative',
40
- ...theme.spacing.marginRight(1),
41
- },
42
- buttonMark: {
43
- backgroundColor: theme.colors.primary,
44
- position: 'absolute',
45
- left: '50%',
46
- top: '50%',
47
- height: markHeight,
48
- width: markHeight,
49
-
50
- transform: [{ translateX }, { translateY }],
51
- borderRadius: theme.borderRadius.large,
52
- opacity: 0,
53
- },
54
- 'buttonMark:checked': {
55
- opacity: 1,
56
- },
57
- }
58
- }),
59
- square: createRadioStyle(() => ({
60
- buttonMark: {
61
- borderRadius: 0,
62
- },
63
- button: {
64
- borderRadius: 0,
65
- },
66
- })),
67
- }
1
+ import {
2
+ createDefaultVariantFactory,
3
+ RadioInputStyles,
4
+ } from '@codeleap/common'
5
+ type RadioParts = 'button' | 'itemWrapper' | 'text' | 'buttonMark'
6
+
7
+ type RadioGroupParts = 'label' | 'wrapper' | 'list'
8
+
9
+ export type MobileRadioInputComposition =
10
+ | `${RadioParts}:checked`
11
+ | RadioParts
12
+ | RadioGroupParts
13
+
14
+ const createRadioStyle =
15
+ createDefaultVariantFactory<MobileRadioInputComposition>()
16
+
17
+ const defaultStyles = RadioInputStyles.default
18
+
19
+ export const MobileRadioInputStyles = {
20
+ ...RadioInputStyles,
21
+ default: createRadioStyle((theme) => {
22
+ const style = defaultStyles(theme)
23
+
24
+ const itemHeight = theme.typography.baseFontSize * 1.2
25
+ const markHeight = itemHeight / 2
26
+ const translateX = -(markHeight / 2)
27
+ const translateY = -(markHeight / 2)
28
+ return {
29
+ ...style,
30
+ itemWrapper: {
31
+ ...style.itemWrapper,
32
+ },
33
+ button: {
34
+ height: itemHeight,
35
+ width: itemHeight,
36
+ ...theme.border.primary(1),
37
+ borderRadius: theme.borderRadius.large,
38
+
39
+ position: 'relative',
40
+ ...theme.spacing.marginRight(1),
41
+ },
42
+ buttonMark: {
43
+ backgroundColor: theme.colors.primary,
44
+ position: 'absolute',
45
+ left: '50%',
46
+ top: '50%',
47
+ height: markHeight,
48
+ width: markHeight,
49
+
50
+ transform: [{ translateX }, { translateY }],
51
+ borderRadius: theme.borderRadius.large,
52
+ opacity: 0,
53
+ },
54
+ 'buttonMark:checked': {
55
+ opacity: 1,
56
+ },
57
+ }
58
+ }),
59
+ square: createRadioStyle(() => ({
60
+ buttonMark: {
61
+ borderRadius: 0,
62
+ },
63
+ button: {
64
+ borderRadius: 0,
65
+ },
66
+ })),
67
+ }
@@ -1,106 +1,106 @@
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
-
11
- import {
12
- KeyboardAwareScrollViewProps,
13
- KeyboardAwareScrollView as KBDView,
14
- // @ts-ignore
15
- } from 'react-native-keyboard-aware-scroll-view'
16
- import { RefreshControl, ScrollView, ScrollViewProps, ViewStyle } from 'react-native'
17
- import { ViewProps } from './View'
18
-
19
- export type ScrollProps = KeyboardAwareScrollViewProps &
20
- ViewProps & {
21
- onRefresh?: () => void
22
- refreshTimeout?: number
23
- changeData?: any
24
- keyboardAware?: boolean
25
- refreshing?: boolean
26
- styles?: ViewStyle
27
- }
28
-
29
- const KeyboardAwareScrollView =
30
- KBDView as unknown as React.ForwardRefExoticComponent<
31
- ViewProps & {
32
- refreshControl?: JSX.Element
33
- ref?: ScrollView
34
-
35
- } & ScrollViewProps
36
- >
37
-
38
- export const Scroll = forwardRef<ScrollView, ScrollProps>(
39
- (scrollProps, ref) => {
40
- const {
41
- variants = [],
42
- style,
43
- refreshTimeout = 3000,
44
- children,
45
- changeData,
46
- styles,
47
- keyboardAware = true,
48
- ...props
49
- } = scrollProps
50
- const hasRefresh = !!props.onRefresh
51
- const [refreshingState, setRefreshing] = useState(false)
52
- const refreshingDisplay = props.refreshing !== undefined ? props.refreshing : refreshingState
53
-
54
- const timer = React.useRef(null)
55
- const previousData = usePrevious(changeData)
56
-
57
- const onRefresh = () => {
58
- if (timer.current) {
59
- clearTimeout(timer.current)
60
- }
61
-
62
- setRefreshing(true)
63
-
64
- props.onRefresh()
65
-
66
- timer.current = setTimeout(() => {
67
- setRefreshing(false)
68
- }, refreshTimeout)
69
- }
70
- onUpdate(() => {
71
- if (refreshingDisplay && !deepEqual(previousData, changeData)) {
72
- setRefreshing(false)
73
- if (timer.current) {
74
- clearTimeout(timer.current)
75
- }
76
- }
77
- }, [refreshingDisplay, changeData])
78
- const { Theme } = useCodeleapContext()
79
-
80
- const variantStyles = useDefaultComponentStyle('View', {
81
- variants,
82
- styles: {
83
- wrapper: styles,
84
- },
85
- rootElement: 'wrapper',
86
- })
87
-
88
- const Component = keyboardAware ? KeyboardAwareScrollView : ScrollView
89
-
90
- return (
91
- <Component
92
- style={[Theme.presets.full, style]}
93
- contentContainerStyle={[variantStyles.wrapper]}
94
- ref={ref as unknown as ScrollView}
95
- refreshControl={
96
- hasRefresh && (
97
- <RefreshControl refreshing={refreshingDisplay} onRefresh={onRefresh} />
98
- )
99
- }
100
- {...props}
101
- >
102
- {children}
103
- </Component>
104
- )
105
- },
106
- )
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
+
11
+ import {
12
+ KeyboardAwareScrollViewProps,
13
+ KeyboardAwareScrollView as KBDView,
14
+ // @ts-ignore
15
+ } from 'react-native-keyboard-aware-scroll-view'
16
+ import { RefreshControl, ScrollView, ScrollViewProps, ViewStyle } from 'react-native'
17
+ import { ViewProps } from './View'
18
+
19
+ export type ScrollProps = KeyboardAwareScrollViewProps &
20
+ ViewProps & {
21
+ onRefresh?: () => void
22
+ refreshTimeout?: number
23
+ changeData?: any
24
+ keyboardAware?: boolean
25
+ refreshing?: boolean
26
+ styles?: ViewStyle
27
+ }
28
+
29
+ const KeyboardAwareScrollView =
30
+ KBDView as unknown as React.ForwardRefExoticComponent<
31
+ ViewProps & {
32
+ refreshControl?: JSX.Element
33
+ ref?: ScrollView
34
+
35
+ } & ScrollViewProps
36
+ >
37
+
38
+ export const Scroll = forwardRef<ScrollView, ScrollProps>(
39
+ (scrollProps, ref) => {
40
+ const {
41
+ variants = [],
42
+ style,
43
+ refreshTimeout = 3000,
44
+ children,
45
+ changeData,
46
+ styles,
47
+ keyboardAware = true,
48
+ ...props
49
+ } = scrollProps
50
+ const hasRefresh = !!props.onRefresh
51
+ const [refreshingState, setRefreshing] = useState(false)
52
+ const refreshingDisplay = props.refreshing !== undefined ? props.refreshing : refreshingState
53
+
54
+ const timer = React.useRef(null)
55
+ const previousData = usePrevious(changeData)
56
+
57
+ const onRefresh = () => {
58
+ if (timer.current) {
59
+ clearTimeout(timer.current)
60
+ }
61
+
62
+ setRefreshing(true)
63
+
64
+ props.onRefresh()
65
+
66
+ timer.current = setTimeout(() => {
67
+ setRefreshing(false)
68
+ }, refreshTimeout)
69
+ }
70
+ onUpdate(() => {
71
+ if (refreshingDisplay && !deepEqual(previousData, changeData)) {
72
+ setRefreshing(false)
73
+ if (timer.current) {
74
+ clearTimeout(timer.current)
75
+ }
76
+ }
77
+ }, [refreshingDisplay, changeData])
78
+ const { Theme } = useCodeleapContext()
79
+
80
+ const variantStyles = useDefaultComponentStyle('View', {
81
+ variants,
82
+ styles: {
83
+ wrapper: styles,
84
+ },
85
+ rootElement: 'wrapper',
86
+ })
87
+
88
+ const Component = keyboardAware ? KeyboardAwareScrollView : ScrollView
89
+
90
+ return (
91
+ <Component
92
+ style={[Theme.presets.full, style]}
93
+ contentContainerStyle={[variantStyles.wrapper]}
94
+ ref={ref as unknown as ScrollView}
95
+ refreshControl={
96
+ hasRefresh && (
97
+ <RefreshControl refreshing={refreshingDisplay} onRefresh={onRefresh} />
98
+ )
99
+ }
100
+ {...props}
101
+ >
102
+ {children}
103
+ </Component>
104
+ )
105
+ },
106
+ )