@codeleap/mobile 4.3.9 → 5.0.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 (209) hide show
  1. package/dist/components/Autocomplete/index.js.map +1 -1
  2. package/dist/components/Autocomplete/types.d.ts +9 -10
  3. package/dist/components/Backdrop/index.js.map +1 -1
  4. package/dist/components/Checkbox/index.js +13 -9
  5. package/dist/components/Checkbox/index.js.map +1 -1
  6. package/dist/components/Checkbox/types.d.ts +5 -2
  7. package/dist/components/DatePickerModal/index.js +18 -11
  8. package/dist/components/DatePickerModal/index.js.map +1 -1
  9. package/dist/components/DatePickerModal/types.d.ts +12 -9
  10. package/dist/components/FileInput/types.d.ts +3 -4
  11. package/dist/components/Grid/index.js.map +1 -1
  12. package/dist/components/Image/types.d.ts +2 -5
  13. package/dist/components/InputBase/index.d.ts +2 -6
  14. package/dist/components/InputBase/index.js +9 -5
  15. package/dist/components/InputBase/index.js.map +1 -1
  16. package/dist/components/InputBase/types.d.ts +2 -0
  17. package/dist/components/InputBase/useInputBase.d.ts +24 -0
  18. package/dist/components/InputBase/useInputBase.js +46 -0
  19. package/dist/components/InputBase/useInputBase.js.map +1 -0
  20. package/dist/components/InputBase/useInputBasePartialStyles.d.ts +2 -0
  21. package/dist/components/InputBase/useInputBasePartialStyles.js +30 -0
  22. package/dist/components/InputBase/useInputBasePartialStyles.js.map +1 -0
  23. package/dist/components/InputBase/utils.js +16 -16
  24. package/dist/components/InputBase/utils.js.map +1 -1
  25. package/dist/components/List/index.js +1 -1
  26. package/dist/components/List/index.js.map +1 -1
  27. package/dist/components/Modal/index.js +4 -14
  28. package/dist/components/Modal/index.js.map +1 -1
  29. package/dist/components/NumberIncrement/index.js +21 -132
  30. package/dist/components/NumberIncrement/index.js.map +1 -1
  31. package/dist/components/NumberIncrement/types.d.ts +7 -5
  32. package/dist/components/NumberIncrement/useNumberIncrement.d.ts +55 -0
  33. package/dist/components/NumberIncrement/useNumberIncrement.js +107 -0
  34. package/dist/components/NumberIncrement/useNumberIncrement.js.map +1 -0
  35. package/dist/components/RadioInput/index.d.ts +1 -1
  36. package/dist/components/RadioInput/index.js +20 -41
  37. package/dist/components/RadioInput/index.js.map +1 -1
  38. package/dist/components/RadioInput/types.d.ts +11 -9
  39. package/dist/components/Scroll/index.js +25 -28
  40. package/dist/components/Scroll/index.js.map +1 -1
  41. package/dist/components/Scroll/types.d.ts +4 -4
  42. package/dist/components/Sections/index.js +1 -1
  43. package/dist/components/Sections/index.js.map +1 -1
  44. package/dist/components/SegmentedControl/index.js +6 -4
  45. package/dist/components/SegmentedControl/index.js.map +1 -1
  46. package/dist/components/SegmentedControl/types.d.ts +4 -3
  47. package/dist/components/Select/index.js +10 -6
  48. package/dist/components/Select/index.js.map +1 -1
  49. package/dist/components/Select/types.d.ts +19 -18
  50. package/dist/components/Slider/index.js +18 -57
  51. package/dist/components/Slider/index.js.map +1 -1
  52. package/dist/components/Slider/types.d.ts +7 -5
  53. package/dist/components/SortablePhotos/index.js +17 -18
  54. package/dist/components/SortablePhotos/index.js.map +1 -1
  55. package/dist/components/SortablePhotos/types.d.ts +5 -15
  56. package/dist/components/SortablePhotos/useSortablePhotos.d.ts +11 -8
  57. package/dist/components/SortablePhotos/useSortablePhotos.js +18 -11
  58. package/dist/components/SortablePhotos/useSortablePhotos.js.map +1 -1
  59. package/dist/components/Switch/index.js +13 -9
  60. package/dist/components/Switch/index.js.map +1 -1
  61. package/dist/components/Switch/types.d.ts +5 -2
  62. package/dist/components/TextInput/index.js +26 -70
  63. package/dist/components/TextInput/index.js.map +1 -1
  64. package/dist/components/TextInput/types.d.ts +8 -6
  65. package/dist/components/TextInput/useTextInput.d.ts +54 -0
  66. package/dist/components/TextInput/useTextInput.js +59 -0
  67. package/dist/components/TextInput/useTextInput.js.map +1 -0
  68. package/dist/components/Touchable/index.js +4 -3
  69. package/dist/components/Touchable/index.js.map +1 -1
  70. package/dist/components/View/index.d.ts +7 -12
  71. package/dist/components/View/index.js +9 -7
  72. package/dist/components/View/index.js.map +1 -1
  73. package/dist/components/View/types.d.ts +6 -6
  74. package/dist/components/components.d.ts +0 -2
  75. package/dist/components/components.js +0 -2
  76. package/dist/components/components.js.map +1 -1
  77. package/dist/hooks/index.d.ts +3 -2
  78. package/dist/hooks/index.js +3 -10
  79. package/dist/hooks/index.js.map +1 -1
  80. package/dist/hooks/useKeyboardController.d.ts +6 -0
  81. package/dist/hooks/useKeyboardController.js +19 -0
  82. package/dist/hooks/useKeyboardController.js.map +1 -0
  83. package/dist/hooks/useStatusBar.d.ts +6 -0
  84. package/dist/hooks/useStatusBar.js +15 -0
  85. package/dist/hooks/useStatusBar.js.map +1 -0
  86. package/dist/hooks/useStylesFor.d.ts +2 -0
  87. package/dist/hooks/useStylesFor.js +11 -0
  88. package/dist/hooks/useStylesFor.js.map +1 -0
  89. package/dist/index.d.ts +2 -1
  90. package/dist/index.js +2 -1
  91. package/dist/index.js.map +1 -1
  92. package/dist/modules/backgroundTimer.d.ts +3 -0
  93. package/dist/modules/backgroundTimer.js +31 -0
  94. package/dist/modules/backgroundTimer.js.map +1 -0
  95. package/dist/modules/index.d.ts +3 -0
  96. package/dist/modules/index.js +3 -0
  97. package/dist/modules/index.js.map +1 -0
  98. package/dist/modules/reactNavigation.d.ts +8 -21
  99. package/dist/modules/reactNavigation.js +38 -12
  100. package/dist/modules/reactNavigation.js.map +1 -1
  101. package/dist/modules/scroll.d.ts +18 -0
  102. package/dist/modules/scroll.js +57 -0
  103. package/dist/modules/scroll.js.map +1 -0
  104. package/dist/modules/types/textInputMask.d.ts +6 -2
  105. package/dist/utils/KeyboardAware/context.js +2 -6
  106. package/dist/utils/KeyboardAware/context.js.map +1 -1
  107. package/dist/utils/KeyboardAware/index.d.ts +0 -1
  108. package/dist/utils/KeyboardAware/index.js +0 -1
  109. package/dist/utils/KeyboardAware/index.js.map +1 -1
  110. package/dist/utils/ModalManager/context.js +2 -2
  111. package/dist/utils/ModalManager/context.js.map +1 -1
  112. package/dist/utils/hooks.js +4 -4
  113. package/dist/utils/hooks.js.map +1 -1
  114. package/dist/utils/locale.d.ts +1 -1
  115. package/dist/utils/locale.js +10 -5
  116. package/dist/utils/locale.js.map +1 -1
  117. package/dist/utils/theme.d.ts +1 -0
  118. package/dist/utils/theme.js +4 -2
  119. package/dist/utils/theme.js.map +1 -1
  120. package/package.json +32 -36
  121. package/package.json.bak +16 -20
  122. package/src/components/Autocomplete/index.tsx +2 -3
  123. package/src/components/Autocomplete/types.ts +9 -10
  124. package/src/components/Backdrop/index.tsx +0 -1
  125. package/src/components/Checkbox/index.tsx +23 -9
  126. package/src/components/Checkbox/types.ts +5 -2
  127. package/src/components/DatePickerModal/index.tsx +27 -18
  128. package/src/components/DatePickerModal/types.ts +12 -9
  129. package/src/components/FileInput/types.ts +3 -4
  130. package/src/components/Grid/index.tsx +3 -3
  131. package/src/components/Image/types.ts +3 -6
  132. package/src/components/InputBase/index.tsx +13 -7
  133. package/src/components/InputBase/types.ts +2 -0
  134. package/src/components/InputBase/useInputBase.ts +60 -0
  135. package/src/components/InputBase/useInputBasePartialStyles.ts +38 -0
  136. package/src/components/InputBase/utils.ts +17 -17
  137. package/src/components/List/index.tsx +0 -1
  138. package/src/components/Modal/index.tsx +4 -15
  139. package/src/components/NumberIncrement/index.tsx +52 -160
  140. package/src/components/NumberIncrement/types.ts +7 -5
  141. package/src/components/NumberIncrement/useNumberIncrement.ts +152 -0
  142. package/src/components/RadioInput/index.tsx +37 -53
  143. package/src/components/RadioInput/types.ts +11 -9
  144. package/src/components/Scroll/index.tsx +44 -45
  145. package/src/components/Scroll/types.ts +4 -4
  146. package/src/components/Sections/index.tsx +0 -1
  147. package/src/components/SegmentedControl/index.tsx +8 -6
  148. package/src/components/SegmentedControl/types.ts +4 -3
  149. package/src/components/Select/index.tsx +32 -24
  150. package/src/components/Select/types.ts +19 -18
  151. package/src/components/Slider/index.tsx +34 -66
  152. package/src/components/Slider/types.ts +7 -5
  153. package/src/components/SortablePhotos/index.tsx +31 -47
  154. package/src/components/SortablePhotos/types.ts +6 -15
  155. package/src/components/SortablePhotos/useSortablePhotos.ts +28 -22
  156. package/src/components/Switch/index.tsx +23 -9
  157. package/src/components/Switch/types.ts +5 -2
  158. package/src/components/TextInput/index.tsx +55 -89
  159. package/src/components/TextInput/types.ts +9 -7
  160. package/src/components/TextInput/useTextInput.ts +88 -0
  161. package/src/components/Touchable/index.tsx +5 -1
  162. package/src/components/View/index.tsx +19 -12
  163. package/src/components/View/types.ts +7 -6
  164. package/src/components/components.ts +0 -2
  165. package/src/hooks/index.ts +3 -13
  166. package/src/hooks/useKeyboardController.ts +28 -0
  167. package/src/hooks/useStatusBar.ts +21 -0
  168. package/src/hooks/useStylesFor.ts +13 -0
  169. package/src/index.ts +3 -1
  170. package/src/modules/backgroundTimer.ts +39 -0
  171. package/src/modules/index.ts +3 -0
  172. package/src/modules/reactNavigation.ts +64 -14
  173. package/src/modules/scroll.tsx +89 -0
  174. package/src/modules/types/textInputMask.ts +8 -4
  175. package/src/types/index.ts +1 -0
  176. package/src/utils/KeyboardAware/context.tsx +2 -6
  177. package/src/utils/KeyboardAware/index.ts +1 -1
  178. package/src/utils/ModalManager/context.tsx +2 -2
  179. package/src/utils/hooks.ts +4 -4
  180. package/src/utils/locale.ts +13 -5
  181. package/src/utils/theme.ts +6 -2
  182. package/dist/components/Navigation/Navigation.d.ts +0 -55
  183. package/dist/components/Navigation/Navigation.js +0 -41
  184. package/dist/components/Navigation/Navigation.js.map +0 -1
  185. package/dist/components/Navigation/constants.d.ts +0 -9
  186. package/dist/components/Navigation/constants.js +0 -9
  187. package/dist/components/Navigation/constants.js.map +0 -1
  188. package/dist/components/Navigation/index.d.ts +0 -3
  189. package/dist/components/Navigation/index.js +0 -4
  190. package/dist/components/Navigation/index.js.map +0 -1
  191. package/dist/components/Navigation/types.d.ts +0 -26
  192. package/dist/components/Navigation/types.js +0 -2
  193. package/dist/components/Navigation/types.js.map +0 -1
  194. package/dist/components/Navigation/utils.d.ts +0 -3
  195. package/dist/components/Navigation/utils.js +0 -34
  196. package/dist/components/Navigation/utils.js.map +0 -1
  197. package/dist/components/NumberIncrement/utils.d.ts +0 -5
  198. package/dist/components/NumberIncrement/utils.js +0 -23
  199. package/dist/components/NumberIncrement/utils.js.map +0 -1
  200. package/dist/utils/KeyboardAware/types.d.ts +0 -1
  201. package/dist/utils/KeyboardAware/types.js +0 -6
  202. package/dist/utils/KeyboardAware/types.js.map +0 -1
  203. package/src/components/Navigation/Navigation.tsx +0 -55
  204. package/src/components/Navigation/constants.ts +0 -24
  205. package/src/components/Navigation/index.tsx +0 -3
  206. package/src/components/Navigation/types.ts +0 -28
  207. package/src/components/Navigation/utils.tsx +0 -57
  208. package/src/components/NumberIncrement/utils.ts +0 -27
  209. package/src/utils/KeyboardAware/types.ts +0 -159
@@ -1,6 +1,5 @@
1
1
  import React from 'react';
2
2
  import { Slider as RNSlider } from '@miblanchard/react-native-slider';
3
- import { StyleSheet } from 'react-native';
4
3
  import { TypeGuards } from '@codeleap/types';
5
4
  import { onUpdate } from '@codeleap/hooks';
6
5
  import { InputBase, selectInputBaseProps } from '../InputBase';
@@ -9,6 +8,9 @@ import { View } from '../View';
9
8
  import { Touchable } from '../Touchable';
10
9
  import { MobileStyleRegistry } from '../../Registry';
11
10
  import { useStylesFor } from '../../hooks';
11
+ import { useInputBase } from '../InputBase/useInputBase';
12
+ import { fields } from '@codeleap/form';
13
+ import { useInputBasePartialStyles } from '../InputBase/useInputBasePartialStyles';
12
14
  export * from './styles';
13
15
  export * from './types';
14
16
  const DefaultSliderTrackMark = (props) => {
@@ -27,46 +29,18 @@ export const Slider = (props) => {
27
29
  ...Slider.defaultProps,
28
30
  ...props,
29
31
  });
30
- const { debounce = null, onValueChange, value, label, description, debugName, style, disabled, trackMarks, trackMarksClickable, labelClickable, updateImmediately = false, trackMarkComponent: SliderTrackMark, ...sliderProps } = others;
31
- const [_value, _setValue] = updateImmediately ? [value, onValueChange] : React.useState(value);
32
+ const { debounce = null, field, label, description, debugName, style, disabled, trackMarks, trackMarksClickable, labelClickable, updateImmediately = false, trackMarkComponent: SliderTrackMark, value, onValueChange, ...sliderProps } = others;
33
+ const { fieldHandle, wrapperRef, } = useInputBase(field, fields.number, [value, onValueChange]);
34
+ const [_value, _setValue] = updateImmediately ? [fieldHandle?.value, fieldHandle.setValue] : React.useState(0);
32
35
  onUpdate(() => {
33
36
  if (updateImmediately)
34
37
  return;
35
- if (value !== _value) {
36
- _setValue(value);
38
+ if (fieldHandle?.value !== _value) {
39
+ _setValue(fieldHandle?.value);
37
40
  }
38
- }, [value]);
41
+ }, [fieldHandle?.value]);
39
42
  const styles = useStylesFor(Slider.styleRegistryName, style);
40
- const thumbStyle = React.useMemo(() => {
41
- return StyleSheet.flatten([
42
- styles?.thumb,
43
- disabled && styles['thumb:disabled'],
44
- ]);
45
- }, []);
46
- const trackStyle = React.useMemo(() => {
47
- return StyleSheet.flatten([
48
- styles?.track,
49
- disabled && styles['track:disabled'],
50
- ]);
51
- }, [disabled]);
52
- const selectedTrackStyle = React.useMemo(() => {
53
- return StyleSheet.flatten([
54
- styles?.selectedTrack,
55
- disabled && styles['selectedTrack:disabled'],
56
- ]);
57
- }, [disabled]);
58
- const unselectedTrackStyle = React.useMemo(() => {
59
- return StyleSheet.flatten([
60
- styles?.unselectedTrack,
61
- disabled && styles['unselectedTrack:disabled'],
62
- ]);
63
- }, [disabled]);
64
- const containerStyle = React.useMemo(() => {
65
- return StyleSheet.flatten([
66
- styles?.sliderContainer,
67
- disabled && styles['sliderContainer:disabled'],
68
- ]);
69
- }, [disabled]);
43
+ const partialStyles = useInputBasePartialStyles(styles, ['thumb', 'track', 'selectedTrack', 'unselectedTrack', 'sliderContainer', 'trackMark'], { disabled });
70
44
  const trackMarksHaveContent = !(TypeGuards.isArray(trackMarks) || TypeGuards.isNil(trackMarks));
71
45
  const trackMarksProp = React.useMemo(() => {
72
46
  if (!trackMarksHaveContent) {
@@ -74,30 +48,20 @@ export const Slider = (props) => {
74
48
  }
75
49
  return Object.keys(trackMarks).map((key) => Number(key));
76
50
  }, [trackMarksHaveContent]);
77
- const trackMarkStyle = React.useMemo(() => {
78
- return StyleSheet.flatten([
79
- styles?.trackMark,
80
- disabled && styles['trackMark:disabled'],
81
- ]);
82
- }, [disabled]);
83
- return (<InputBase {..._inputBaseProps} disabled={disabled} style={styles} labelAsRow>
51
+ return (<InputBase {..._inputBaseProps} ref={wrapperRef} disabled={disabled} style={styles} labelAsRow>
84
52
  {label || description ? (<View style={styles.labelRow}>
85
- {label ? (<Touchable onPress={() => labelClickable ? onValueChange(sliderProps?.minimumValue || minimumValue) : null} style={styles.labelBtn} debugName='slider title'>
53
+ {label ? (<Touchable onPress={() => labelClickable ? fieldHandle.setValue(sliderProps?.minimumValue || minimumValue) : null} style={styles.labelBtn} debugName='slider title'>
86
54
  <Text style={styles?.label} text={label}/>
87
55
  </Touchable>) : null}
88
- {description ? (<Touchable onPress={() => labelClickable ? onValueChange(sliderProps?.maximumValue || maximumValue) : null} style={styles?.descriptionBtn} debugName='slider description'>
56
+ {description ? (<Touchable onPress={() => labelClickable ? fieldHandle.setValue(sliderProps?.maximumValue || maximumValue) : null} style={styles?.descriptionBtn} debugName='slider description'>
89
57
  <Text style={styles?.description} text={description}/>
90
58
  </Touchable>) : null}
91
59
  </View>) : null}
92
60
 
93
- <RNSlider value={_value} onValueChange={_setValue}
94
- // @ts-ignore
95
- thumbStyle={thumbStyle}
96
- // @ts-ignore
97
- trackStyle={trackStyle} minimumTrackStyle={selectedTrackStyle} maximumTrackStyle={unselectedTrackStyle} containerStyle={containerStyle} minimumValue={minimumValue} maximumValue={maximumValue} onSlidingComplete={() => {
61
+ <RNSlider value={_value} onValueChange={_setValue} thumbStyle={partialStyles?.thumb} trackStyle={partialStyles?.track} minimumTrackStyle={partialStyles?.selectedTrack} maximumTrackStyle={partialStyles?.unselectedTrack} containerStyle={partialStyles?.sliderContainer} minimumValue={minimumValue} maximumValue={maximumValue} onSlidingComplete={() => {
98
62
  if (updateImmediately)
99
63
  return;
100
- onValueChange(_value);
64
+ fieldHandle.setValue(_value);
101
65
  }} disabled={disabled} {...sliderProps} trackMarks={trackMarksProp}/>
102
66
  {trackMarksProp ? (<View style={styles?.trackMarkWrapper}>
103
67
  {trackMarksProp.map((_, idx) => {
@@ -108,16 +72,13 @@ export const Slider = (props) => {
108
72
  else if (idx === trackMarksProp.length - 1) {
109
73
  idxStyle = styles?.lastTrackMark;
110
74
  }
111
- const style = [
112
- trackMarkStyle,
113
- idxStyle,
114
- ];
75
+ const style = [partialStyles?.trackMark, idxStyle];
115
76
  if (!trackMarksHaveContent) {
116
- return <SliderTrackMark index={idx} style={style} key={idx} onPress={() => trackMarksClickable ? onValueChange(trackMarksProp[idx]) : null}/>;
77
+ return <SliderTrackMark index={idx} style={style} key={idx} onPress={() => trackMarksClickable ? fieldHandle.setValue(trackMarksProp[idx]) : null}/>;
117
78
  }
118
79
  const relativeValue = trackMarksProp[idx];
119
80
  const content = trackMarks[relativeValue];
120
- return <SliderTrackMark index={idx} content={content} style={style} key={idx} onPress={() => trackMarksClickable ? onValueChange(trackMarksProp[idx]) : null}/>;
81
+ return <SliderTrackMark index={idx} content={content} style={style} key={idx} onPress={() => trackMarksClickable ? fieldHandle.setValue(trackMarksProp[idx]) : null}/>;
121
82
  })}
122
83
  </View>) : null}
123
84
  </InputBase>);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/Slider/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/Slider/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,MAAM,IAAI,QAAQ,EAAE,MAAM,kCAAkC,CAAA;AACrE,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAE1C,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAA;AAC9D,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAC9B,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAC9B,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAExC,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAA;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AACxD,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AACvC,OAAO,EAAE,yBAAyB,EAAE,MAAM,wCAAwC,CAAA;AAElF,cAAc,UAAU,CAAA;AACxB,cAAc,SAAS,CAAA;AAEvB,MAAM,sBAAsB,GAAG,CAAC,KAAqB,EAAE,EAAE;IACvD,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,KAAK,CAAA;IAEhC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE;QACvC,OAAO,EACL;MAAA,CAAC,KAAK,CAAC,OAAO,CAChB;IAAA,GAAG,CAAA;KACJ;IAED,OAAO,CAAC,IAAI,CACV,IAAI,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CACpB,KAAK,CAAC,CAAC,KAAK,CAAC,CACb,OAAO,CAAC,CAAC,OAAO,CAAC,EACjB,CAAA;AACJ,CAAC,CAAA;AAED,MAAM,YAAY,GAAG,CAAC,CAAA;AACtB,MAAM,YAAY,GAAG,GAAG,CAAA;AAExB,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,KAAkB,EAAE,EAAE;IAC3C,MAAM,EACJ,cAAc,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,GAAG,eAAe,EAAE,EAChF,MAAM,GACP,GAAG,oBAAoB,CAAC;QACvB,GAAG,MAAM,CAAC,YAAY;QACtB,GAAG,KAAK;KACT,CAAC,CAAA;IAEF,MAAM,EACJ,QAAQ,GAAG,IAAI,EACf,KAAK,EACL,KAAK,EACL,WAAW,EACX,SAAS,EACT,KAAK,EACL,QAAQ,EACR,UAAU,EACV,mBAAmB,EACnB,cAAc,EACd,iBAAiB,GAAG,KAAK,EACzB,kBAAkB,EAAE,eAAe,EACnC,KAAK,EACL,aAAa,EACb,GAAG,WAAW,EACf,GAAG,MAAM,CAAA;IAEV,MAAM,EACJ,WAAW,EACX,UAAU,GACX,GAAG,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC,CAAA;IAE9D,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAyB,CAAC,CAAC,CAAA;IAEtI,QAAQ,CAAC,GAAG,EAAE;QACZ,IAAI,iBAAiB;YAAE,OAAM;QAC7B,IAAI,WAAW,EAAE,KAAK,KAAK,MAAM,EAAE;YACjC,SAAS,CAAC,WAAW,EAAE,KAAK,CAAC,CAAA;SAC9B;IACH,CAAC,EAAE,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,CAAA;IAExB,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAA;IAE5D,MAAM,aAAa,GAAG,yBAAyB,CAC7C,MAAM,EACN,CAAC,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,WAAW,CAAC,EACtF,EAAE,QAAQ,EAAE,CACb,CAAA;IAED,MAAM,qBAAqB,GAAG,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAA;IAE/F,MAAM,cAAc,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;QACxC,IAAI,CAAC,qBAAqB,EAAE;YAC1B,OAAO,UAAU,CAAA;SAClB;QACD,OAAO,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAA;IAC1D,CAAC,EAAE,CAAC,qBAAqB,CAAC,CAAC,CAAA;IAE3B,OAAO,CACL,CAAC,SAAS,CACR,IAAI,eAAe,CAAC,CACpB,GAAG,CAAC,CAAC,UAAU,CAAC,CAChB,QAAQ,CAAC,CAAC,QAAQ,CAAC,CACnB,KAAK,CAAC,CAAC,MAAM,CAAC,CACd,UAAU,CAEV;MAAA,CAAC,KAAK,IAAI,WAAW,CAAC,CAAC,CAAC,CACtB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAC3B;UAAA,CAAC,KAAK,CAAC,CAAC,CAAC,CACP,CAAC,SAAS,CACR,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,WAAW,EAAE,YAAY,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CACvG,KAAK,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CACvB,SAAS,CAAC,cAAc,CAExB;cAAA,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,EAC1C;YAAA,EAAE,SAAS,CAAC,CACb,CAAC,CAAC,CAAC,IAAI,CACR;UAAA,CAAC,WAAW,CAAC,CAAC,CAAC,CACb,CAAC,SAAS,CACR,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,WAAW,EAAE,YAAY,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CACvG,KAAK,CAAC,CAAC,MAAM,EAAE,cAAc,CAAC,CAC9B,SAAS,CAAC,oBAAoB,CAE9B;cAAA,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,EACtD;YAAA,EAAE,SAAS,CAAC,CACb,CAAC,CAAC,CAAC,IAAI,CACV;QAAA,EAAE,IAAI,CAAC,CACR,CAAC,CAAC,CAAC,IAAI,CAER;;MAAA,CAAC,QAAQ,CACP,KAAK,CAAC,CAAC,MAAM,CAAC,CACd,aAAa,CAAC,CAAC,SAAS,CAAC,CACzB,UAAU,CAAC,CAAC,aAAa,EAAE,KAAK,CAAC,CACjC,UAAU,CAAC,CAAC,aAAa,EAAE,KAAK,CAAC,CACjC,iBAAiB,CAAC,CAAC,aAAa,EAAE,aAAa,CAAC,CAChD,iBAAiB,CAAC,CAAC,aAAa,EAAE,eAAe,CAAC,CAClD,cAAc,CAAC,CAAC,aAAa,EAAE,eAAe,CAAC,CAC/C,YAAY,CAAC,CAAC,YAAY,CAAC,CAC3B,YAAY,CAAC,CAAC,YAAY,CAAC,CAC3B,iBAAiB,CAAC,CAAC,GAAG,EAAE;YACtB,IAAI,iBAAiB;gBAAE,OAAM;YAC7B,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;QAC9B,CAAC,CAAC,CACF,QAAQ,CAAC,CAAC,QAAQ,CAAC,CACnB,IAAI,WAAW,CAAC,CAChB,UAAU,CAAC,CAAC,cAAc,CAAC,EAE7B;MAAA,CACE,cAAc,CAAC,CAAC,CAAC,CACf,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,gBAAgB,CAAC,CACpC;YAAA,CACE,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE;gBAC5B,IAAI,QAAQ,GAAG,EAAE,CAAA;gBAEjB,IAAI,GAAG,KAAK,CAAC,EAAE;oBACb,QAAQ,GAAG,MAAM,EAAE,cAAc,CAAA;iBAClC;qBAAM,IAAI,GAAG,KAAK,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE;oBAC5C,QAAQ,GAAG,MAAM,EAAE,aAAa,CAAA;iBACjC;gBAED,MAAM,KAAK,GAAG,CAAC,aAAa,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAA;gBAElD,IAAI,CAAC,qBAAqB,EAAE;oBAC1B,OAAO,CAAC,eAAe,CACrB,KAAK,CAAC,CAAC,GAAG,CAAC,CACX,KAAK,CAAC,CAAC,KAAK,CAAC,CACb,GAAG,CAAC,CAAC,GAAG,CAAC,CACT,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,mBAAmB,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EACtF,CAAA;iBACH;gBAED,MAAM,aAAa,GAAG,cAAc,CAAC,GAAG,CAAC,CAAA;gBACzC,MAAM,OAAO,GAAG,UAAU,CAAC,aAAa,CAAC,CAAA;gBAEzC,OAAO,CAAC,eAAe,CACrB,KAAK,CAAC,CAAC,GAAG,CAAC,CACX,OAAO,CAAC,CAAC,OAAO,CAAC,CACjB,KAAK,CAAC,CAAC,KAAK,CAAC,CACb,GAAG,CAAC,CAAC,GAAG,CAAC,CACT,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,mBAAmB,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EACtF,CAAA;YACJ,CAAC,CAAC,CAEN;UAAA,EAAE,IAAI,CAAC,CACR,CAAC,CAAC,CAAC,IAAI,CAEZ;IAAA,EAAE,SAAS,CAAC,CACb,CAAA;AACH,CAAC,CAAA;AAED,MAAM,CAAC,iBAAiB,GAAG,QAAQ,CAAA;AACnC,MAAM,CAAC,WAAW,GAAG,SAAS,CAAA;AAC9B,MAAM,CAAC,QAAQ,GAAG;IAChB,GAAG,SAAS,CAAC,QAAQ;IACrB,OAAO;IACP,OAAO;IACP,eAAe;IACf,iBAAiB;IACjB,gBAAgB;IAChB,eAAe;IACf,iBAAiB;IACjB,UAAU;IACV,gBAAgB;CACjB,CAAA;AAED,MAAM,CAAC,gBAAgB,GAAG,CAAsB,MAAS,EAAE,EAAE;IAC3D,OAAO,MAA2E,CAAA;AACpF,CAAC,CAAA;AAED,MAAM,CAAC,YAAY,GAAG;IACpB,mBAAmB,EAAE,KAAK;IAC1B,cAAc,EAAE,KAAK;IACrB,kBAAkB,EAAE,sBAAsB;CACnB,CAAA;AAEzB,mBAAmB,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAA"}
@@ -2,22 +2,24 @@
2
2
  import { SliderComposition } from './styles';
3
3
  import { SliderProps as RNSliderProps } from '@miblanchard/react-native-slider/lib/types';
4
4
  import { InputBaseProps } from '../InputBase';
5
- import { StyledProp } from '@codeleap/styles';
5
+ import { ICSS, StyledProp } from '@codeleap/styles';
6
+ import { NumberField } from '@codeleap/form';
6
7
  export type SliderProps = Partial<Omit<RNSliderProps, 'value' | 'onValueChange' | 'style'>> & Pick<InputBaseProps, 'disabled' | 'debugName' | 'description' | 'label'> & {
7
8
  debounce?: number | null;
8
- trackMarklabels: string[];
9
- value: number | number[];
10
- onValueChange: (val: number | number[]) => void;
9
+ trackMarklabels?: string[];
11
10
  trackMarks?: RNSliderProps['trackMarks'] | Record<number, string>;
12
11
  trackMarksClickable?: boolean;
13
12
  labelClickable?: boolean;
14
13
  trackMarkComponent?: React.ComponentType<TrackMarkProps>;
15
14
  style?: StyledProp<SliderComposition>;
16
15
  updateImmediately?: boolean;
16
+ field?: NumberField<any>;
17
+ value?: number | number[];
18
+ onValueChange?: (value: number | number[]) => void;
17
19
  };
18
20
  export type TrackMarkProps = {
19
21
  index: number;
20
22
  content?: string | React.ReactNode;
21
- style?: any;
23
+ style?: ICSS | ICSS[];
22
24
  onPress?: () => void;
23
25
  };
@@ -2,17 +2,19 @@ import { useNestedStylesByKey } from '@codeleap/styles';
2
2
  import { FileInput } from '../FileInput';
3
3
  import { Icon } from '../Icon';
4
4
  import { Image } from '../Image';
5
- import { Dimensions, View } from 'react-native';
6
- import { DragSortableView } from 'react-native-drag-sort';
5
+ import { View } from 'react-native';
7
6
  import { useSortablePhotos } from './useSortablePhotos';
8
7
  import { useStylesFor } from '../../hooks';
9
8
  import { MobileStyleRegistry } from '../../Registry';
10
9
  import { ActivityIndicator } from '../ActivityIndicator';
10
+ import Sortable from 'react-native-sortables';
11
+ import { GestureHandlerRootView } from 'react-native-gesture-handler';
12
+ import { useCallback } from 'react';
11
13
  export * from './styles';
12
14
  export * from './types';
13
15
  const DefaultItem = (props) => {
14
- const { photo, width, height, styles, emptyIcon } = props;
15
- return (<View style={[{ width, height }, styles.photoWrapper]}>
16
+ const { photo, styles, emptyIcon } = props;
17
+ return (<View style={styles.photoWrapper}>
16
18
  {!!photo?.filename
17
19
  ? <Image resizeMode='cover' source={{ uri: photo?.file }} style={styles.photoImage}/>
18
20
  : <Icon name={emptyIcon} style={styles.photoEmptyIcon}/>}
@@ -27,38 +29,36 @@ const defaultGetFilename = (file) => {
27
29
  }
28
30
  return new Date().toISOString();
29
31
  };
30
- const screenWidth = Dimensions.get('screen').width;
31
32
  export const SortablePhotos = (props) => {
32
33
  const allProps = {
33
34
  ...SortablePhotos.defaultProps,
34
35
  ...props,
35
36
  };
36
- const { numColumns, renderPhoto: RenderItem, gap, multiple, pickerConfig, emptyIcon, disableDragDropEmptyItems, itemWidth: _itemWidth, itemHeight: _itemHeight, width: _parentWidth, style, loading, ...rest } = allProps;
37
+ const { numColumns, renderPhoto: RenderItem, gap, multiple, pickerConfig, emptyIcon, style, loading, ...rest } = allProps;
37
38
  const styles = useStylesFor(SortablePhotos.styleRegistryName, style);
38
39
  const loaderStyles = useNestedStylesByKey('loader', styles);
39
- const { input, handlePressPhoto, numberPhotosMissing, emptyIndexes, onChangePhotosOrder, data, } = useSortablePhotos(allProps);
40
- const defaultParentWidth = screenWidth - (gap * 2);
41
- const defaultItemWidth = (defaultParentWidth / numColumns) - gap;
42
- const itemWidth = _itemWidth ?? defaultItemWidth;
43
- const itemHeight = _itemHeight ?? itemWidth;
44
- const parentWidth = _parentWidth ?? defaultParentWidth;
45
- const childrenMargin = gap / 2;
40
+ const { input, handlePressPhoto, numberPhotosMissing, enabledDragDrop, onChangePhotosOrder, data, } = useSortablePhotos(allProps);
46
41
  const fileInputPickerOptions = {
47
42
  ...SortablePhotos.defaultProps.pickerConfig,
48
43
  ...pickerConfig,
49
44
  multiple,
50
45
  maxFiles: numberPhotosMissing,
51
46
  };
47
+ const renderItem = useCallback(({ item, index }) => (<Sortable.Pressable onPress={() => handlePressPhoto(item, index)}>
48
+ <RenderItem photo={item} order={index} styles={styles} emptyIcon={emptyIcon}/>
49
+ </Sortable.Pressable>), [handlePressPhoto]);
52
50
  if (loading) {
53
51
  return (<View style={[styles.wrapper, styles['wrapper:loading']]}>
54
52
  <ActivityIndicator style={loaderStyles}/>
55
53
  </View>);
56
54
  }
57
- return (<View style={styles.wrapper}>
55
+ return <GestureHandlerRootView>
56
+ <View style={styles.wrapper}>
58
57
  <FileInput mode='hidden' ref={input.ref} pickerOptions={fileInputPickerOptions}/>
59
58
 
60
- <DragSortableView dataSource={data} childrenHeight={itemHeight} childrenWidth={itemWidth} parentWidth={parentWidth} marginChildrenBottom={childrenMargin} marginChildrenLeft={childrenMargin} marginChildrenRight={childrenMargin} marginChildrenTop={childrenMargin} onDataChange={onChangePhotosOrder} onClickItem={handlePressPhoto} fixedItems={disableDragDropEmptyItems ? emptyIndexes : undefined} {...rest} renderItem={(item, order) => (<RenderItem width={itemWidth} height={itemHeight} photo={item} order={order} styles={styles} emptyIcon={emptyIcon}/>)}/>
61
- </View>);
59
+ <Sortable.Grid columns={numColumns} columnGap={gap} rowGap={gap} sortEnabled={enabledDragDrop} showDropIndicator {...rest} data={data} renderItem={renderItem} onDragEnd={({ data }) => onChangePhotosOrder(data)}/>
60
+ </View>
61
+ </GestureHandlerRootView>;
62
62
  };
63
63
  SortablePhotos.styleRegistryName = 'SortablePhotos';
64
64
  SortablePhotos.elements = ['wrapper', 'photo', 'loader'];
@@ -71,8 +71,7 @@ SortablePhotos.defaultProps = {
71
71
  numColumns: 3,
72
72
  renderPhoto: DefaultItem,
73
73
  multiple: true,
74
- disableDragDropEmptyItems: true,
75
- gap: 16,
74
+ gap: 8,
76
75
  emptyIcon: 'plus',
77
76
  modalTitle: 'Photos',
78
77
  modalBody: null,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/SortablePhotos/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/SortablePhotos/index.tsx"],"names":[],"mappings":"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"}
@@ -1,15 +1,17 @@
1
1
  import { AppIcon, ICSS, StyledProp } from '@codeleap/styles';
2
2
  import { ReactElement } from 'react';
3
3
  import { SortablePhotosComposition } from './styles';
4
+ import { type SortableGridProps } from 'react-native-sortables';
4
5
  export type SortablePhoto = {
5
6
  filename: string | null;
6
7
  file: string | null;
7
8
  };
9
+ export type WithId<T extends SortablePhoto> = T & {
10
+ key: string;
11
+ };
8
12
  export type SortableItemProps<T extends SortablePhoto> = {
9
13
  photo: T;
10
14
  order: number;
11
- height: number;
12
- width: number;
13
15
  styles: Record<SortablePhotosComposition, ICSS>;
14
16
  emptyIcon: AppIcon;
15
17
  };
@@ -20,29 +22,17 @@ export type SortablePhotosPickerConfig = {
20
22
  compressImageQuality?: number;
21
23
  showCropFrame?: boolean;
22
24
  };
23
- export type SortablePhotosProps<T extends SortablePhoto> = {
25
+ export type SortablePhotosProps<T extends SortablePhoto> = Omit<SortableGridProps<T>, 'data' | 'columns'> & {
24
26
  numColumns?: number;
25
27
  numPhotos?: number;
26
28
  renderPhoto?: (props: SortableItemProps<T>) => ReactElement;
27
29
  photos: T[];
28
30
  onChangePhotos: (newPhotos: T[]) => void;
29
31
  gap?: number;
30
- itemHeight?: number;
31
- itemWidth?: number;
32
- width?: number;
33
32
  onPressPhoto?: (data: T[], photo: T, order: number) => void;
34
- onDragStart?: (fromIndex: number) => void;
35
- onDragEnd?: (fromIndex: number, toIndex: number) => void;
36
- keyExtractor?: (photo: T, order: number) => any;
37
- delayLongPress?: number;
38
33
  pickerConfig?: SortablePhotosPickerConfig;
39
34
  multiple?: boolean;
40
- maxScale?: number;
41
- minOpacity?: number;
42
- scaleDuration?: number;
43
- slideDuration?: number;
44
35
  emptyIcon?: AppIcon;
45
- disableDragDropEmptyItems?: boolean;
46
36
  style?: StyledProp<SortablePhotosComposition>;
47
37
  modalTitle?: string;
48
38
  modalBody?: string;
@@ -1,21 +1,24 @@
1
1
  /// <reference types="react" />
2
2
  /// <reference types="react-native-image-crop-picker" />
3
3
  import { FileInputImageSource } from '../FileInput';
4
- import { SortablePhoto, SortablePhotosProps } from './types';
4
+ import { SortablePhoto, SortablePhotosProps, WithId } from './types';
5
5
  export declare const useSortablePhotos: <T extends SortablePhoto>(props: SortablePhotosProps<T>) => {
6
6
  input: {
7
- openFilePicker: (imageSource?: FileInputImageSource, options?: Partial<import("react-native-image-crop-picker").Options>) => Promise<import("@codeleap/form/src/types").AnyFile[]>;
7
+ openFilePicker: (imageSource?: FileInputImageSource, options?: Partial<import("react-native-image-crop-picker").Options>) => Promise<import("../FileInput").FileResult[]>;
8
8
  ref: import("react").MutableRefObject<import("../FileInput").FileInputRef>;
9
9
  };
10
- handlePressPhoto: (currentData: T[], photo: T, order: number) => void;
10
+ handlePressPhoto: (photo: T, order: number) => void;
11
11
  handleDeletePhoto: (photo: T, order: number) => void;
12
12
  handleOpenPicker: (pickerType: FileInputImageSource, photo: T, order: number) => Promise<any>;
13
- sortPhotos: (_unorderedPhotos: T[]) => {
14
- sortedPhotos: T[];
15
- newPhotos: T[];
13
+ sortPhotos: (_unorderedPhotos: WithId<T>[]) => {
14
+ sortedPhotos: (T & {
15
+ key: string;
16
+ })[];
17
+ newPhotos: any[];
16
18
  };
17
19
  numberPhotosMissing: number;
18
- onChangePhotosOrder: (newData: T[]) => void;
20
+ onChangePhotosOrder: (newData: WithId<T>[]) => void;
19
21
  emptyIndexes: any[];
20
- data: T[];
22
+ data: WithId<T>[];
23
+ enabledDragDrop: boolean;
21
24
  };
@@ -16,12 +16,12 @@ export const useSortablePhotos = (props) => {
16
16
  const currentLength = currentPhotos?.length ?? 0;
17
17
  const length = Math.abs(numPhotos - currentLength);
18
18
  const fillPhotos = Array(length).fill({ filename: null, file: null });
19
- const newPhotos = currentPhotos.concat(fillPhotos);
19
+ const newPhotos = currentPhotos.concat(fillPhotos).map((photo, idx) => ({ ...photo, key: idx + '-photo' }));
20
20
  setData(newPhotos);
21
- onChangePhotos(currentPhotos);
21
+ onChangePhotos(assignOrder(currentPhotos));
22
22
  }
23
23
  }, [loading]);
24
- const { emptyIndexes, numberPhotosMissing } = useMemo(() => {
24
+ const { emptyIndexes, numberPhotosMissing, enabledDragDrop } = useMemo(() => {
25
25
  const copyPhotos = [...data];
26
26
  const emptyIndexes = copyPhotos.reduce((indexes, photo, index) => {
27
27
  if (!photo?.filename) {
@@ -30,21 +30,26 @@ export const useSortablePhotos = (props) => {
30
30
  return indexes;
31
31
  }, []);
32
32
  const numberPhotosMissing = emptyIndexes?.length;
33
+ const enabledDragDrop = numberPhotosMissing < numPhotos - 1;
33
34
  return {
34
35
  emptyIndexes,
35
36
  numberPhotosMissing,
37
+ enabledDragDrop,
36
38
  };
37
39
  }, [JSON.stringify(data)]);
40
+ const assignOrder = (photos) => {
41
+ return photos.map((photo, idx) => ({ ...photo, order: idx }));
42
+ };
38
43
  const sortPhotos = (_unorderedPhotos) => {
39
44
  const unorderedPhotos = [..._unorderedPhotos];
40
- const [newPhotos, emptyPhotos] = unorderedPhotos.reduce(([newPhotos, emptyPhotos], photo) => {
41
- !!photo?.filename ? newPhotos.push(photo) : emptyPhotos.push(photo);
42
- return [newPhotos, emptyPhotos];
43
- }, [[], []]);
44
- const sortedPhotos = newPhotos.concat(emptyPhotos);
45
+ const newPhotos = unorderedPhotos.filter(photo => !!photo?.filename);
46
+ const sortedPhotos = unorderedPhotos.map((photo, index) => ({
47
+ ...(newPhotos[index] ?? { file: null, filename: null }),
48
+ key: photo?.key
49
+ }));
45
50
  return {
46
51
  sortedPhotos,
47
- newPhotos,
52
+ newPhotos: assignOrder(newPhotos),
48
53
  };
49
54
  };
50
55
  const handleOpenPicker = async (pickerType, photo, order) => {
@@ -96,7 +101,7 @@ export const useSortablePhotos = (props) => {
96
101
  };
97
102
  onChange(newPhotos);
98
103
  };
99
- const handlePressPhoto = (currentData, photo, order) => {
104
+ const handlePressPhoto = (photo, order) => {
100
105
  SortableAlert.custom({
101
106
  title: modalTitle,
102
107
  body: modalBody,
@@ -106,9 +111,10 @@ export const useSortablePhotos = (props) => {
106
111
  !!photo?.filename && { text: modalDeleteText, onPress: () => handleDeletePhoto(photo, order) },
107
112
  ],
108
113
  // @ts-expect-error
114
+ closable: true,
109
115
  isRow: false,
110
116
  });
111
- onPressPhoto?.(currentData, photo, order);
117
+ onPressPhoto?.(data, photo, order);
112
118
  };
113
119
  const onChangePhotosOrder = (newData) => {
114
120
  onChange(newData);
@@ -123,6 +129,7 @@ export const useSortablePhotos = (props) => {
123
129
  onChangePhotosOrder,
124
130
  emptyIndexes,
125
131
  data,
132
+ enabledDragDrop,
126
133
  };
127
134
  };
128
135
  //# sourceMappingURL=useSortablePhotos.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useSortablePhotos.js","sourceRoot":"","sources":["../../../src/components/SortablePhotos/useSortablePhotos.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useSortablePhotos.js","sourceRoot":"","sources":["../../../src/components/SortablePhotos/useSortablePhotos.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,8 @@ import { useAnimatedVariantStyles } from '../..';
5
5
  import { Touchable } from '../Touchable';
6
6
  import { MobileStyleRegistry } from '../../Registry';
7
7
  import { useStylesFor } from '../../hooks';
8
+ import { useInputBase } from '../InputBase/useInputBase';
9
+ import { fields } from '@codeleap/form';
8
10
  export * from './styles';
9
11
  export * from './types';
10
12
  const reversedOrder = [...InputBaseDefaultOrder].reverse();
@@ -13,8 +15,9 @@ export const Switch = (props) => {
13
15
  ...Switch.defaultProps,
14
16
  ...props,
15
17
  });
16
- const { style, value, disabled, debugName, onValueChange, switchOnLeft, } = others;
18
+ const { style, disabled, debugName, switchOnLeft, field, forceError, value, onValueChange, } = others;
17
19
  const styles = useStylesFor(Switch.styleRegistryName, style);
20
+ const { fieldHandle, validation, wrapperRef, } = useInputBase(field, fields.boolean, [value, onValueChange]);
18
21
  const trackAnimation = useAnimatedVariantStyles({
19
22
  variantStyles: styles,
20
23
  animatedProperties: ['track:off', 'track:disabled', 'track:on', 'track:disabled-on', 'track:disabled-off'],
@@ -23,15 +26,15 @@ export const Switch = (props) => {
23
26
  'worklet';
24
27
  let disabledStyle = {};
25
28
  if (disabled) {
26
- disabledStyle = value ? styles['track:disabled-on'] : styles['track:disabled-off'];
29
+ disabledStyle = fieldHandle?.value ? styles['track:disabled-on'] : styles['track:disabled-off'];
27
30
  }
28
- const style = value ? styles['track:on'] : styles['track:off'];
31
+ const style = fieldHandle?.value ? styles['track:on'] : styles['track:off'];
29
32
  return {
30
33
  ...style,
31
34
  ...disabledStyle,
32
35
  };
33
36
  },
34
- dependencies: [value, disabled],
37
+ dependencies: [fieldHandle?.value, disabled],
35
38
  });
36
39
  const thumbAnimation = useAnimatedVariantStyles({
37
40
  variantStyles: styles,
@@ -41,21 +44,22 @@ export const Switch = (props) => {
41
44
  'worklet';
42
45
  let disabledStyle = {};
43
46
  if (disabled) {
44
- disabledStyle = value ? styles['thumb:disabled-on'] : styles['thumb:disabled-off'];
47
+ disabledStyle = fieldHandle?.value ? styles['thumb:disabled-on'] : styles['thumb:disabled-off'];
45
48
  }
46
- const style = value ? styles['thumb:on'] : styles['thumb:off'];
49
+ const style = fieldHandle?.value ? styles['thumb:on'] : styles['thumb:off'];
47
50
  return {
48
51
  ...style,
49
52
  ...disabledStyle,
50
53
  };
51
54
  },
52
- dependencies: [value, disabled],
55
+ dependencies: [fieldHandle?.value, disabled],
53
56
  });
54
57
  // @ts-expect-error
55
58
  const _switchOnLeft = switchOnLeft ?? styles?.__props?.switchOnLeft;
56
- return <InputBase {...inputBaseProps} debugName={debugName} wrapper={Touchable} style={styles} wrapperProps={{
59
+ const hasError = validation.showError || forceError;
60
+ return <InputBase {...inputBaseProps} ref={wrapperRef} debugName={debugName} wrapper={Touchable} error={hasError ? validation.message || forceError : null} style={styles} wrapperProps={{
57
61
  onPress: () => {
58
- onValueChange(!value);
62
+ fieldHandle.setValue(!fieldHandle?.value);
59
63
  },
60
64
  disabled,
61
65
  rippleDisabled: true,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/Switch/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/Switch/index.tsx"],"names":[],"mappings":"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"}
@@ -1,9 +1,12 @@
1
1
  import { StyledProp } from '@codeleap/styles';
2
2
  import { InputBaseProps } from '../InputBase';
3
3
  import { SwitchComposition } from './styles';
4
+ import { BooleanField } from '@codeleap/form';
4
5
  export type SwitchProps = Omit<InputBaseProps, 'style'> & {
5
- value: boolean;
6
- onValueChange: (value: boolean) => void;
6
+ field?: BooleanField<any>;
7
7
  style?: StyledProp<SwitchComposition>;
8
8
  switchOnLeft?: boolean;
9
+ forceError?: boolean;
10
+ value?: boolean;
11
+ onValueChange?: (value: boolean) => void;
9
12
  };