@chem-po/react-native 0.0.9 → 0.0.11

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 (129) hide show
  1. package/lib/commonjs/components/box/Expandable.js +10 -10
  2. package/lib/commonjs/components/box/Expandable.js.map +1 -1
  3. package/lib/commonjs/components/box/FullSizeContainer.js +4 -4
  4. package/lib/commonjs/components/box/FullSizeContainer.js.map +1 -1
  5. package/lib/commonjs/components/button/DeleteButton.js +1 -1
  6. package/lib/commonjs/components/button/DeleteButton.js.map +1 -1
  7. package/lib/commonjs/components/form/Form.js +12 -10
  8. package/lib/commonjs/components/form/Form.js.map +1 -1
  9. package/lib/commonjs/components/form/FormFooter.js +2 -2
  10. package/lib/commonjs/components/form/FormFooter.js.map +1 -1
  11. package/lib/commonjs/components/form/input/Editable.js +76 -19
  12. package/lib/commonjs/components/form/input/Editable.js.map +1 -1
  13. package/lib/commonjs/components/form/input/date/index.js +3 -5
  14. package/lib/commonjs/components/form/input/date/index.js.map +1 -1
  15. package/lib/commonjs/components/form/input/datetime/index.js +3 -5
  16. package/lib/commonjs/components/form/input/datetime/index.js.map +1 -1
  17. package/lib/commonjs/components/form/input/file/index.js +2 -1
  18. package/lib/commonjs/components/form/input/file/index.js.map +1 -1
  19. package/lib/commonjs/components/form/input/input.js +6 -5
  20. package/lib/commonjs/components/form/input/input.js.map +1 -1
  21. package/lib/commonjs/components/form/input/multipleSelect/index.js +6 -2
  22. package/lib/commonjs/components/form/input/multipleSelect/index.js.map +1 -1
  23. package/lib/commonjs/components/form/input/number/index.js +4 -17
  24. package/lib/commonjs/components/form/input/number/index.js.map +1 -1
  25. package/lib/commonjs/components/form/input/select/index.js +22 -14
  26. package/lib/commonjs/components/form/input/select/index.js.map +1 -1
  27. package/lib/commonjs/components/form/input/styles.js +17 -0
  28. package/lib/commonjs/components/form/input/styles.js.map +1 -0
  29. package/lib/commonjs/components/form/input/text/index.js +12 -14
  30. package/lib/commonjs/components/form/input/text/index.js.map +1 -1
  31. package/lib/commonjs/components/form/input/time/index.js +3 -5
  32. package/lib/commonjs/components/form/input/time/index.js.map +1 -1
  33. package/lib/commonjs/components/form/view/index.js +8 -5
  34. package/lib/commonjs/components/form/view/index.js.map +1 -1
  35. package/lib/commonjs/components/form/view/multipleSelect.js +11 -6
  36. package/lib/commonjs/components/form/view/multipleSelect.js.map +1 -1
  37. package/lib/commonjs/components/form/view/select.js +10 -4
  38. package/lib/commonjs/components/form/view/select.js.map +1 -1
  39. package/lib/commonjs/components/loading/Loading.js +24 -4
  40. package/lib/commonjs/components/loading/Loading.js.map +1 -1
  41. package/lib/module/components/box/Expandable.js +10 -10
  42. package/lib/module/components/box/Expandable.js.map +1 -1
  43. package/lib/module/components/box/FullSizeContainer.js +4 -4
  44. package/lib/module/components/box/FullSizeContainer.js.map +1 -1
  45. package/lib/module/components/button/DeleteButton.js +1 -1
  46. package/lib/module/components/button/DeleteButton.js.map +1 -1
  47. package/lib/module/components/form/Form.js +13 -11
  48. package/lib/module/components/form/Form.js.map +1 -1
  49. package/lib/module/components/form/FormFooter.js +2 -2
  50. package/lib/module/components/form/FormFooter.js.map +1 -1
  51. package/lib/module/components/form/input/Editable.js +78 -21
  52. package/lib/module/components/form/input/Editable.js.map +1 -1
  53. package/lib/module/components/form/input/date/index.js +3 -5
  54. package/lib/module/components/form/input/date/index.js.map +1 -1
  55. package/lib/module/components/form/input/datetime/index.js +3 -5
  56. package/lib/module/components/form/input/datetime/index.js.map +1 -1
  57. package/lib/module/components/form/input/file/index.js +2 -1
  58. package/lib/module/components/form/input/file/index.js.map +1 -1
  59. package/lib/module/components/form/input/input.js +6 -5
  60. package/lib/module/components/form/input/input.js.map +1 -1
  61. package/lib/module/components/form/input/multipleSelect/index.js +6 -2
  62. package/lib/module/components/form/input/multipleSelect/index.js.map +1 -1
  63. package/lib/module/components/form/input/number/index.js +4 -17
  64. package/lib/module/components/form/input/number/index.js.map +1 -1
  65. package/lib/module/components/form/input/select/index.js +22 -14
  66. package/lib/module/components/form/input/select/index.js.map +1 -1
  67. package/lib/module/components/form/input/styles.js +11 -0
  68. package/lib/module/components/form/input/styles.js.map +1 -0
  69. package/lib/module/components/form/input/text/index.js +12 -14
  70. package/lib/module/components/form/input/text/index.js.map +1 -1
  71. package/lib/module/components/form/input/time/index.js +3 -5
  72. package/lib/module/components/form/input/time/index.js.map +1 -1
  73. package/lib/module/components/form/view/index.js +9 -6
  74. package/lib/module/components/form/view/index.js.map +1 -1
  75. package/lib/module/components/form/view/multipleSelect.js +12 -7
  76. package/lib/module/components/form/view/multipleSelect.js.map +1 -1
  77. package/lib/module/components/form/view/select.js +12 -6
  78. package/lib/module/components/form/view/select.js.map +1 -1
  79. package/lib/module/components/loading/Loading.js +26 -6
  80. package/lib/module/components/loading/Loading.js.map +1 -1
  81. package/lib/typescript/components/box/Expandable.d.ts +1 -1
  82. package/lib/typescript/components/box/Expandable.d.ts.map +1 -1
  83. package/lib/typescript/components/box/FullSizeContainer.d.ts +1 -1
  84. package/lib/typescript/components/box/FullSizeContainer.d.ts.map +1 -1
  85. package/lib/typescript/components/form/Form.d.ts +1 -1
  86. package/lib/typescript/components/form/Form.d.ts.map +1 -1
  87. package/lib/typescript/components/form/FormFooter.d.ts +1 -1
  88. package/lib/typescript/components/form/FormFooter.d.ts.map +1 -1
  89. package/lib/typescript/components/form/input/Editable.d.ts +1 -1
  90. package/lib/typescript/components/form/input/Editable.d.ts.map +1 -1
  91. package/lib/typescript/components/form/input/date/index.d.ts.map +1 -1
  92. package/lib/typescript/components/form/input/datetime/index.d.ts.map +1 -1
  93. package/lib/typescript/components/form/input/file/index.d.ts.map +1 -1
  94. package/lib/typescript/components/form/input/hooks/useInputImperativeHandle.d.ts +1 -1
  95. package/lib/typescript/components/form/input/hooks/useInputImperativeHandle.d.ts.map +1 -1
  96. package/lib/typescript/components/form/input/input.d.ts.map +1 -1
  97. package/lib/typescript/components/form/input/number/index.d.ts.map +1 -1
  98. package/lib/typescript/components/form/input/select/index.d.ts.map +1 -1
  99. package/lib/typescript/components/form/input/styles.d.ts +10 -0
  100. package/lib/typescript/components/form/input/styles.d.ts.map +1 -0
  101. package/lib/typescript/components/form/input/text/index.d.ts.map +1 -1
  102. package/lib/typescript/components/form/input/time/index.d.ts.map +1 -1
  103. package/lib/typescript/components/form/view/index.d.ts.map +1 -1
  104. package/lib/typescript/components/form/view/multipleSelect.d.ts +1 -1
  105. package/lib/typescript/components/form/view/multipleSelect.d.ts.map +1 -1
  106. package/lib/typescript/components/form/view/select.d.ts.map +1 -1
  107. package/lib/typescript/components/loading/Loading.d.ts +1 -1
  108. package/lib/typescript/components/loading/Loading.d.ts.map +1 -1
  109. package/package.json +24 -41
  110. package/src/components/box/Expandable.tsx +6 -6
  111. package/src/components/box/FullSizeContainer.tsx +2 -2
  112. package/src/components/button/DeleteButton.tsx +1 -1
  113. package/src/components/form/Form.tsx +13 -7
  114. package/src/components/form/FormFooter.tsx +3 -3
  115. package/src/components/form/input/Editable.tsx +108 -38
  116. package/src/components/form/input/date/index.tsx +2 -4
  117. package/src/components/form/input/datetime/index.tsx +2 -4
  118. package/src/components/form/input/file/index.tsx +3 -1
  119. package/src/components/form/input/input.tsx +20 -11
  120. package/src/components/form/input/multipleSelect/index.tsx +2 -2
  121. package/src/components/form/input/number/index.tsx +3 -12
  122. package/src/components/form/input/select/index.tsx +14 -15
  123. package/src/components/form/input/styles.ts +11 -0
  124. package/src/components/form/input/text/index.tsx +10 -14
  125. package/src/components/form/input/time/index.tsx +2 -4
  126. package/src/components/form/view/index.tsx +6 -5
  127. package/src/components/form/view/multipleSelect.tsx +8 -6
  128. package/src/components/form/view/select.tsx +13 -6
  129. package/src/components/loading/Loading.tsx +35 -5
@@ -1,6 +1,7 @@
1
- import { SelectField, usePlaceholderColor } from '@chem-po/react'
1
+ import { RenderSelectOptionProps } from '@chem-po/core'
2
+ import { SelectField, useColorMode, usePlaceholderColor } from '@chem-po/react'
2
3
  import React from 'react'
3
- import { StyleSheet, Text, useColorScheme, View, ViewStyle } from 'react-native'
4
+ import { StyleSheet, Text, View, ViewStyle } from 'react-native'
4
5
  import { Txt } from '../../text'
5
6
 
6
7
  const styles = StyleSheet.create({
@@ -14,7 +15,9 @@ const styles = StyleSheet.create({
14
15
  },
15
16
  })
16
17
 
17
- const DefaultRenderOption = (value: any) => {
18
+ const DefaultRenderOption = <T extends SelectField>({
19
+ value,
20
+ }: RenderSelectOptionProps<T['defaultValue']>) => {
18
21
  return <Txt>{typeof value === 'string' ? value : JSON.stringify(value)}</Txt>
19
22
  }
20
23
 
@@ -30,13 +33,17 @@ export const SelectFieldView = ({
30
33
  style?: ViewStyle
31
34
  }) => {
32
35
  const { placeholder, renderOption: customRender } = field
33
- const colorScheme = useColorScheme() ?? 'light'
36
+ const colorMode = useColorMode()
34
37
  const placeholderColor = usePlaceholderColor()
35
- const renderOption = customRender ?? DefaultRenderOption
38
+ const RenderOption = customRender ?? DefaultRenderOption
36
39
  return (
37
40
  <View style={[styles.container, style]}>
38
41
  {!noLabel && <Text style={[styles.label, { color: placeholderColor }]}>{placeholder}</Text>}
39
- {value ? renderOption(value, colorScheme, true) : 'None'}
42
+ <RenderOption
43
+ value={value && value !== '' ? value : 'None'}
44
+ colorMode={colorMode}
45
+ isSelected={true}
46
+ />
40
47
  </View>
41
48
  )
42
49
  }
@@ -1,7 +1,7 @@
1
1
  import { ThemedAsset, useAppAssets, useTheme } from '@chem-po/react'
2
2
  import LottieView from 'lottie-react-native'
3
- import React, { useMemo } from 'react'
4
- import { Image, StyleSheet, Text, View, ViewStyle } from 'react-native'
3
+ import React, { useEffect, useMemo, useState } from 'react'
4
+ import { Animated, Image, StyleSheet, Text, View, ViewStyle } from 'react-native'
5
5
 
6
6
  export const LottieLoadingLogo = ({
7
7
  size = 30,
@@ -137,16 +137,46 @@ export const LoadingOverlay = ({
137
137
  }) => {
138
138
  const { colorMode } = useTheme()
139
139
  const bgColor = colorMode === 'dark' ? 'rgba(0, 0, 0, 0.53)' : 'rgba(255, 255, 255, 0.67)'
140
+ const opacity = useMemo(() => new Animated.Value(0), [])
141
+ const [isAnimating, setIsAnimating] = useState(false)
142
+
143
+ useEffect(() => {
144
+ if (isLoading) {
145
+ setIsAnimating(true)
146
+ Animated.timing(opacity, {
147
+ toValue: 1,
148
+ duration: 200,
149
+ useNativeDriver: true,
150
+ }).start()
151
+ } else {
152
+ Animated.timing(opacity, {
153
+ toValue: 0,
154
+ duration: 200,
155
+ useNativeDriver: true,
156
+ }).start(() => {
157
+ setIsAnimating(false)
158
+ })
159
+ }
160
+ }, [isLoading, opacity])
161
+
162
+ if (!isLoading && !isAnimating) return null
140
163
 
141
164
  return (
142
- <View
143
- style={[styles.overlay, { backgroundColor: bgColor }, { opacity: isLoading ? 1 : 0 }, style]}>
165
+ <Animated.View
166
+ style={[
167
+ styles.overlay,
168
+ {
169
+ backgroundColor: bgColor,
170
+ opacity,
171
+ },
172
+ style,
173
+ ]}>
144
174
  {!text ? (
145
175
  <LoadingLogo inFeed={inFeed} size={100} isLoading={isLoading} />
146
176
  ) : (
147
177
  <Loading text={text} />
148
178
  )}
149
- </View>
179
+ </Animated.View>
150
180
  )
151
181
  }
152
182