@codeleap/mobile 4.3.9 → 5.0.0

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 +31 -35
  121. package/package.json.bak +17 -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,104 +1,59 @@
1
- import React, { useState } from 'react';
2
- import { useValidate } from '@codeleap/form';
3
- import { useBooleanToggle } from '@codeleap/hooks';
1
+ import React from 'react';
4
2
  import { TypeGuards } from '@codeleap/types';
5
- import { forwardRef, useImperativeHandle } from 'react';
3
+ import { forwardRef } from 'react';
6
4
  import { TextInput as NativeTextInput } from 'react-native';
7
5
  import { InputBase, selectInputBaseProps } from '../InputBase';
8
6
  import { Touchable } from '../Touchable';
9
7
  import { MaskedTextInput } from '../../modules/textInputMask';
10
8
  import { MobileStyleRegistry } from '../../Registry';
11
9
  import { useStylesFor } from '../../hooks';
10
+ import { useTextInput } from './useTextInput';
11
+ import { useInputBasePartialStyles } from '../InputBase/useInputBasePartialStyles';
12
12
  export * from './styles';
13
13
  export * from './types';
14
14
  export const TextInput = forwardRef((props, inputRef) => {
15
- const innerInputRef = React.useRef(null);
16
- const [isFocused, setIsFocused] = useState(false);
17
- const [currentSelection, setCurrentSelection] = useState({ start: 0 });
18
- const { inputBaseProps, others, } = selectInputBaseProps({
15
+ const allProps = {
19
16
  ...TextInput.defaultProps,
20
17
  ...props,
21
- });
22
- const { value, validate, debugName, visibilityToggle, masking, password, onChangeMask, onPress, visibleIcon, hiddenIcon, style, autoAdjustSelection, selectionStart, _error = null, ...textInputProps } = others;
23
- const [secureTextEntry, toggleSecureTextEntry] = useBooleanToggle(true);
24
- const isMasked = !!masking;
25
- const InputElement = isMasked ? MaskedTextInput : NativeTextInput;
18
+ };
19
+ const { inputBaseProps, others, } = selectInputBaseProps(allProps);
20
+ const { debugName, visibilityToggle, masking, secure, field, onChangeMask, onPress, visibleIcon, hiddenIcon, style, autoAdjustSelection, selectionStart, forceError, onChangeText, multiline, ...textInputProps } = others;
26
21
  const styles = useStylesFor(TextInput.styleRegistryName, style);
27
- // @ts-expect-error - React's ref type system is weird
28
- useImperativeHandle(inputRef, () => {
29
- return {
30
- ...innerInputRef.current,
31
- focus: () => {
32
- innerInputRef.current?.focus?.();
33
- },
34
- isTextInput: true,
35
- };
36
- }, [!!innerInputRef?.current?.focus]);
22
+ const { fieldHandle, validation, innerInputRef, wrapperRef, isFocused, secureTextEntry, currentSelection, hasMultipleLines, hasValue, hasError, toggleSecureTextEntry, handleMaskChange, handleBlur, handleFocus, } = useTextInput(allProps);
23
+ const InputElement = masking ? MaskedTextInput : NativeTextInput;
37
24
  const isPressable = TypeGuards.isFunction(onPress);
38
- const validation = useValidate(value, validate);
39
- const handleBlur = React.useCallback((e) => {
40
- validation.onInputBlurred();
41
- setIsFocused(false);
42
- if (autoAdjustSelection)
43
- setCurrentSelection({ start: selectionStart });
44
- props.onBlur?.(e);
45
- }, [validation.onInputBlurred, props.onBlur]);
46
- const handleFocus = React.useCallback((e) => {
47
- validation.onInputFocused();
48
- setIsFocused(true);
49
- if (autoAdjustSelection)
50
- setCurrentSelection(null);
51
- props.onFocus?.(e);
52
- }, [validation.onInputFocused, props.onFocus]);
53
- const handleMaskChange = (masked, unmasked) => {
54
- if (textInputProps.onChangeText)
55
- textInputProps.onChangeText(masking?.saveFormatted ? masked : masked);
56
- if (onChangeMask)
57
- onChangeMask(masked, unmasked);
58
- };
59
- const isMultiline = textInputProps.multiline;
60
25
  const isDisabled = !!inputBaseProps.disabled;
61
- const placeholderTextColor = [
62
- [isDisabled, styles['placeholder:disabled']],
63
- [!validation.isValid, styles['placeholder:error']],
64
- [isFocused, styles['placeholder:focus']],
65
- [true, styles?.placeholder],
66
- // @ts-expect-error
67
- ].find(([x]) => x)?.[1]?.color;
68
- const selectionColor = [
69
- [isDisabled, styles['selection:disabled']],
70
- [!validation.isValid, styles['selection:error']],
71
- [isFocused, styles['selection:focus']],
72
- [true, styles?.selection],
73
- // @ts-expect-error
74
- ].find(([x]) => x)?.[1]?.color;
26
+ const partialStyles = useInputBasePartialStyles(styles, ['placeholder', 'selection'], {
27
+ disabled: isDisabled,
28
+ error: !!hasError,
29
+ focus: isFocused,
30
+ });
75
31
  const visibilityToggleProps = visibilityToggle ? {
76
32
  onPress: toggleSecureTextEntry,
77
33
  icon: (secureTextEntry ? hiddenIcon : visibleIcon),
78
34
  debugName: `${debugName} toggle visibility`,
79
35
  } : null;
80
36
  const rightIcon = inputBaseProps?.rightIcon ?? visibilityToggleProps;
81
- const maskingExtraProps = isMasked ? {
37
+ const maskingExtraProps = masking ? {
82
38
  onChangeText: handleMaskChange,
83
39
  ref: null,
84
40
  refInput: (inputRef) => {
85
- if (!!inputRef) {
41
+ if (!!inputRef)
86
42
  innerInputRef.current = inputRef;
87
- }
88
43
  },
89
44
  ...masking,
90
- } : {};
45
+ } : {
46
+ onChangeText: fieldHandle.setValue
47
+ };
91
48
  const buttonModeProps = isPressable ? {
92
49
  editable: false,
93
50
  caretHidden: true,
94
51
  } : {};
95
- const hasMultipleLines = isMultiline && value?.includes('\n');
96
- const hasValue = value?.length > 0;
97
- return <InputBase {...inputBaseProps} innerWrapper={isPressable ? Touchable : undefined} debugName={debugName} error={(validation.isValid && !_error) ? null : _error || validation.message} style={{
52
+ return <InputBase {...inputBaseProps} ref={wrapperRef} innerWrapper={isPressable ? Touchable : undefined} debugName={debugName} error={hasError ? validation.message || forceError : null} style={{
98
53
  ...styles,
99
54
  innerWrapper: [
100
55
  styles?.innerWrapper,
101
- isMultiline && styles['innerWrapper:multiline'],
56
+ multiline && styles['innerWrapper:multiline'],
102
57
  hasMultipleLines && styles['innerWrapper:hasMultipleLines'],
103
58
  ],
104
59
  }} innerWrapperProps={{
@@ -107,11 +62,11 @@ export const TextInput = forwardRef((props, inputRef) => {
107
62
  debugName,
108
63
  dismissKeyboard: false,
109
64
  }} rightIcon={rightIcon} focused={isFocused} hasValue={hasValue}>
110
- <InputElement allowFontScaling={false} editable={!isPressable && !isDisabled} {...buttonModeProps} selection={autoAdjustSelection ? currentSelection : undefined} placeholderTextColor={placeholderTextColor} value={value} selectionColor={selectionColor} secureTextEntry={password && secureTextEntry} textAlignVertical={isMultiline ? 'top' : undefined} {...textInputProps} onBlur={handleBlur} onFocus={handleFocus} style={[
65
+ <InputElement allowFontScaling={false} editable={!isPressable && !isDisabled} {...buttonModeProps} selection={autoAdjustSelection ? currentSelection : undefined} placeholderTextColor={partialStyles?.placeholder?.color} value={fieldHandle?.value} selectionColor={partialStyles?.selection?.color} secureTextEntry={secure && secureTextEntry} textAlignVertical={multiline ? 'top' : undefined} multiline={multiline} {...textInputProps} onBlur={handleBlur} onFocus={handleFocus} style={[
111
66
  styles?.input,
112
- isMultiline && styles['input:multiline'],
67
+ multiline && styles['input:multiline'],
113
68
  isFocused && styles['input:focused'],
114
- !validation.isValid && styles['input:error'],
69
+ hasError && styles['input:error'],
115
70
  isDisabled && styles['input:disabled'],
116
71
  hasMultipleLines && styles['input:hasMultipleLines'],
117
72
  hasValue && styles['input:typed'],
@@ -130,6 +85,7 @@ TextInput.defaultProps = {
130
85
  visibilityToggle: false,
131
86
  autoAdjustSelection: false,
132
87
  selectionStart: 0,
88
+ secure: false,
133
89
  };
134
90
  MobileStyleRegistry.registerComponent(TextInput);
135
91
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/TextInput/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AACvC,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,OAAO,CAAA;AACvD,OAAO,EAAE,SAAS,IAAI,eAAe,EAAiD,MAAM,cAAc,CAAA;AAC1G,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAA;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAA;AAG7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAA;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAE1C,cAAc,UAAU,CAAA;AACxB,cAAc,SAAS,CAAA;AAEvB,MAAM,CAAC,MAAM,SAAS,GAAG,UAAU,CAAkC,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE;IACvF,MAAM,aAAa,GAAG,KAAK,CAAC,MAAM,CAAkB,IAAI,CAAC,CAAA;IAEzD,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IACjD,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAA;IAEtE,MAAM,EACJ,cAAc,EACd,MAAM,GACP,GAAG,oBAAoB,CAAC;QACvB,GAAG,SAAS,CAAC,YAAY;QACzB,GAAG,KAAK;KACT,CAAC,CAAA;IAEF,MAAM,EACJ,KAAK,EACL,QAAQ,EACR,SAAS,EACT,gBAAgB,EAChB,OAAO,EACP,QAAQ,EACR,YAAY,EACZ,OAAO,EACP,WAAW,EACX,UAAU,EACV,KAAK,EACL,mBAAmB,EACnB,cAAc,EACd,MAAM,GAAG,IAAI,EACb,GAAG,cAAc,EAClB,GAAG,MAAM,CAAA;IAEV,MAAM,CAAC,eAAe,EAAE,qBAAqB,CAAC,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAA;IAEvE,MAAM,QAAQ,GAAG,CAAC,CAAC,OAAO,CAAA;IAE1B,MAAM,YAAY,GAAG,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,eAAe,CAAA;IAEjE,MAAM,MAAM,GAAG,YAAY,CAAC,SAAS,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAA;IAE/D,sDAAsD;IACtD,mBAAmB,CAAC,QAAQ,EAAE,GAAG,EAAE;QACjC,OAAO;YACL,GAAG,aAAa,CAAC,OAAO;YACxB,KAAK,EAAE,GAAG,EAAE;gBACV,aAAa,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAA;YAClC,CAAC;YACD,WAAW,EAAE,IAAI;SAClB,CAAA;IACH,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAA;IAErC,MAAM,WAAW,GAAG,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;IAElD,MAAM,UAAU,GAAG,WAAW,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;IAE/C,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,CAAgD,EAAE,EAAE;QACxF,UAAU,CAAC,cAAc,EAAE,CAAA;QAC3B,YAAY,CAAC,KAAK,CAAC,CAAA;QACnB,IAAI,mBAAmB;YAAE,mBAAmB,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,CAAA;QACvE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAA;IACnB,CAAC,EAAE,CAAC,UAAU,CAAC,cAAc,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAA;IAE7C,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,CAAgD,EAAE,EAAE;QACzF,UAAU,CAAC,cAAc,EAAE,CAAA;QAC3B,YAAY,CAAC,IAAI,CAAC,CAAA;QAClB,IAAI,mBAAmB;YAAE,mBAAmB,CAAC,IAAI,CAAC,CAAA;QAClD,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAA;IACpB,CAAC,EAAE,CAAC,UAAU,CAAC,cAAc,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAA;IAE9C,MAAM,gBAAgB,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE;QAC5C,IAAI,cAAc,CAAC,YAAY;YAAE,cAAc,CAAC,YAAY,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;QACtG,IAAI,YAAY;YAAE,YAAY,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;IAClD,CAAC,CAAA;IAED,MAAM,WAAW,GAAG,cAAc,CAAC,SAAS,CAAA;IAC5C,MAAM,UAAU,GAAG,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAA;IAE5C,MAAM,oBAAoB,GAAG;QAC3B,CAAC,UAAU,EAAE,MAAM,CAAC,sBAAsB,CAAC,CAAC;QAC5C,CAAC,CAAC,UAAU,CAAC,OAAO,EAAE,MAAM,CAAC,mBAAmB,CAAC,CAAC;QAClD,CAAC,SAAS,EAAE,MAAM,CAAC,mBAAmB,CAAC,CAAC;QACxC,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,CAAC;QAC3B,mBAAmB;KACpB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,CAAA;IAE9B,MAAM,cAAc,GAAG;QACrB,CAAC,UAAU,EAAE,MAAM,CAAC,oBAAoB,CAAC,CAAC;QAC1C,CAAC,CAAC,UAAU,CAAC,OAAO,EAAE,MAAM,CAAC,iBAAiB,CAAC,CAAC;QAChD,CAAC,SAAS,EAAE,MAAM,CAAC,iBAAiB,CAAC,CAAC;QACtC,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC;QACzB,mBAAmB;KACpB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,CAAA;IAE9B,MAAM,qBAAqB,GAAG,gBAAgB,CAAC,CAAC,CAAC;QAC/C,OAAO,EAAE,qBAAqB;QAC9B,IAAI,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,CAAY;QAC7D,SAAS,EAAE,GAAG,SAAS,oBAAoB;KAC5C,CAAC,CAAC,CAAC,IAAI,CAAA;IAER,MAAM,SAAS,GAAG,cAAc,EAAE,SAAS,IAAI,qBAAqB,CAAA;IAEpE,MAAM,iBAAiB,GAAG,QAAQ,CAAC,CAAC,CAAC;QACnC,YAAY,EAAE,gBAAgB;QAC9B,GAAG,EAAE,IAAI;QACT,QAAQ,EAAE,CAAC,QAAQ,EAAE,EAAE;YACrB,IAAI,CAAC,CAAC,QAAQ,EAAE;gBACd,aAAa,CAAC,OAAO,GAAG,QAAQ,CAAA;aACjC;QACH,CAAC;QACD,GAAG,OAAO;KACX,CAAC,CAAC,CAAC,EAAE,CAAA;IAEN,MAAM,eAAe,GAAG,WAAW,CAAC,CAAC,CAAC;QACpC,QAAQ,EAAE,KAAK;QACf,WAAW,EAAE,IAAI;KAClB,CAAC,CAAC,CAAC,EAAE,CAAA;IAEN,MAAM,gBAAgB,GAAG,WAAW,IAAI,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAA;IAE7D,MAAM,QAAQ,GAAG,KAAK,EAAE,MAAM,GAAG,CAAC,CAAA;IAElC,OAAO,CAAC,SAAS,CACf,IAAI,cAAc,CAAC,CACnB,YAAY,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAClD,SAAS,CAAC,CAAC,SAAS,CAAC,CACrB,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,IAAI,UAAU,CAAC,OAAO,CAAC,CAC7E,KAAK,CAAC,CAAC;YACL,GAAG,MAAM;YACT,YAAY,EAAE;gBACZ,MAAM,EAAE,YAAY;gBACpB,WAAW,IAAI,MAAM,CAAC,wBAAwB,CAAC;gBAC/C,gBAAgB,IAAI,MAAM,CAAC,+BAA+B,CAAC;aAC5D;SACF,CAAC,CACF,iBAAiB,CAAC,CAAC;YACjB,GAAG,CAAC,cAAc,CAAC,iBAAiB,IAAI,EAAE,CAAC;YAC3C,OAAO;YACP,SAAS;YACT,eAAe,EAAE,KAAK;SACvB,CAAC,CACF,SAAS,CAAC,CAAC,SAAS,CAAC,CACrB,OAAO,CAAC,CAAC,SAAS,CAAC,CACnB,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAEnB;IAAA,CAAC,YAAY,CACX,gBAAgB,CAAC,CAAC,KAAK,CAAC,CACxB,QAAQ,CAAC,CAAC,CAAC,WAAW,IAAI,CAAC,UAAU,CAAC,CACtC,IAAI,eAAe,CAAC,CACpB,SAAS,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAC,CAC9D,oBAAoB,CAAC,CAAC,oBAAoB,CAAC,CAC3C,KAAK,CAAC,CAAC,KAAK,CAAC,CACb,cAAc,CAAC,CAAC,cAAc,CAAC,CAC/B,eAAe,CAAC,CAAC,QAAQ,IAAI,eAAe,CAAC,CAC7C,iBAAiB,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CACnD,IAAI,cAAc,CAAC,CACnB,MAAM,CAAC,CAAC,UAAU,CAAC,CACnB,OAAO,CAAC,CAAC,WAAW,CAAC,CACrB,KAAK,CAAC,CAAC;YACL,MAAM,EAAE,KAAK;YACb,WAAW,IAAI,MAAM,CAAC,iBAAiB,CAAC;YACxC,SAAS,IAAI,MAAM,CAAC,eAAe,CAAC;YACpC,CAAC,UAAU,CAAC,OAAO,IAAI,MAAM,CAAC,aAAa,CAAC;YAC5C,UAAU,IAAI,MAAM,CAAC,gBAAgB,CAAC;YACtC,gBAAgB,IAAI,MAAM,CAAC,wBAAwB,CAAC;YACpD,QAAQ,IAAI,MAAM,CAAC,aAAa,CAAC;SAElC,CAAC,CACF,GAAG,CAAC,CAAC,aAAa,CAAC,CACnB,aAAa,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAChD,IAAI,iBAAiB,CAAC,EAE1B;EAAA,EAAE,SAAS,CAAC,CAAA;AACd,CAAC,CAA6C,CAAA;AAE9C,SAAS,CAAC,iBAAiB,GAAG,WAAW,CAAA;AACzC,SAAS,CAAC,QAAQ,GAAG,CAAC,GAAG,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE,aAAa,EAAE,WAAW,CAAC,CAAA;AACjF,SAAS,CAAC,WAAW,GAAG,SAAS,CAAA;AAEjC,SAAS,CAAC,gBAAgB,GAAG,CAAsB,MAAS,EAAE,EAAE;IAC9D,OAAO,SAAiF,CAAA;AAC1F,CAAC,CAAA;AAED,SAAS,CAAC,YAAY,GAAG;IACvB,UAAU,EAAE,wBAAmC;IAC/C,WAAW,EAAE,yBAAoC;IACjD,gBAAgB,EAAE,KAAK;IACvB,mBAAmB,EAAE,KAAK;IAC1B,cAAc,EAAE,CAAC;CACS,CAAA;AAE5B,mBAAmB,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/TextInput/index.tsx"],"names":[],"mappings":"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"}
@@ -2,23 +2,25 @@
2
2
  import { InputBaseProps } from '../InputBase';
3
3
  import { TextInputProps as RNTextInputProps, TextInput as RNTextInput } from 'react-native';
4
4
  import { AnyFunction } from '@codeleap/types';
5
- import { FormTypes, yup } from '@codeleap/form';
6
5
  import { AppIcon, StyledProp } from '@codeleap/styles';
7
6
  import { TextInputMaskProps } from '../../modules/textInputMask';
8
7
  import { TextInputComposition } from './styles';
9
- export type TextInputProps = Omit<InputBaseProps, 'style'> & Omit<RNTextInputProps, 'style'> & {
10
- password?: boolean;
11
- validate?: FormTypes.ValidatorFunctionWithoutForm | yup.SchemaOf<string>;
8
+ import { Field } from '@codeleap/form';
9
+ export type TextInputProps = Omit<InputBaseProps, 'style' | 'ref'> & Omit<RNTextInputProps, 'style'> & {
10
+ secure?: boolean;
12
11
  debugName: string;
13
12
  autoAdjustSelection?: boolean;
14
13
  selectionStart?: number;
15
14
  visibilityToggle?: boolean;
16
- masking?: FormTypes.TextField['masking'];
17
15
  onChangeMask?: TextInputMaskProps['onChangeText'];
16
+ masking?: TextInputMaskProps['masking'];
18
17
  visibleIcon?: AppIcon;
19
18
  hiddenIcon?: AppIcon;
20
- _error?: string;
19
+ forceError?: string;
21
20
  onPress?: AnyFunction;
22
21
  style?: StyledProp<TextInputComposition>;
23
22
  ref?: React.Ref<RNTextInput>;
23
+ field?: Field<string, any, any>;
24
+ value?: string;
25
+ onValueChange?: (value: string) => void;
24
26
  };
@@ -0,0 +1,54 @@
1
+ /// <reference types="react" />
2
+ import { TextInputProps } from './types';
3
+ import { NativeSyntheticEvent, TextInputFocusEventData } from 'react-native/types';
4
+ export declare function useTextInput(props: Partial<TextInputProps>): {
5
+ isFocused: boolean;
6
+ currentSelection: {
7
+ start: number;
8
+ };
9
+ secureTextEntry: boolean;
10
+ handleBlur: (e: NativeSyntheticEvent<TextInputFocusEventData>) => void;
11
+ handleFocus: (e: NativeSyntheticEvent<TextInputFocusEventData>) => void;
12
+ handleMaskChange: (masked: any, unmasked: any) => void;
13
+ fieldHandle: {
14
+ validation: {
15
+ onInputBlurred(): void;
16
+ hasBlurred: boolean;
17
+ hasChanged: boolean;
18
+ startedUnset: boolean;
19
+ isSet: boolean;
20
+ isInvalid: boolean;
21
+ isValid: boolean;
22
+ message: any;
23
+ showError: boolean;
24
+ isUnset: boolean;
25
+ validation: import("@codeleap/form").ValidationResult<any, unknown>;
26
+ value: string;
27
+ };
28
+ value: string;
29
+ setValue: (to: string) => void;
30
+ changed: boolean;
31
+ representation: any;
32
+ options: import("@codeleap/form").FieldOptions<string, any>;
33
+ };
34
+ validation: {
35
+ onInputBlurred(): void;
36
+ hasBlurred: boolean;
37
+ hasChanged: boolean;
38
+ startedUnset: boolean;
39
+ isSet: boolean;
40
+ isInvalid: boolean;
41
+ isValid: boolean;
42
+ message: any;
43
+ showError: boolean;
44
+ isUnset: boolean;
45
+ validation: import("@codeleap/form").ValidationResult<any, unknown>;
46
+ value: string;
47
+ };
48
+ innerInputRef: import("react").MutableRefObject<import("react-native/types").TextInput>;
49
+ wrapperRef: import("react").MutableRefObject<import("react-native/types").View>;
50
+ toggleSecureTextEntry: () => void;
51
+ hasMultipleLines: boolean;
52
+ hasValue: boolean;
53
+ hasError: string | true;
54
+ };
@@ -0,0 +1,59 @@
1
+ import { useCallback, useState } from 'react';
2
+ import { useInputBase } from '../InputBase/useInputBase';
3
+ import { fields } from '@codeleap/form';
4
+ export function useTextInput(props) {
5
+ const { onFocus, onBlur, secure, field, autoAdjustSelection, selectionStart, masking, onChangeMask, multiline, forceError, value, onValueChange, } = props;
6
+ const [isFocused, setIsFocused] = useState(false);
7
+ const [currentSelection, setCurrentSelection] = useState({ start: 0 });
8
+ const [secureTextEntry, setSecureTextEntry] = useState(secure);
9
+ const toggleSecureTextEntry = () => setSecureTextEntry(s => !s);
10
+ const { fieldHandle, validation, innerInputRef, wrapperRef, } = useInputBase(field, fields.text, [value, onValueChange], {
11
+ revealValue() {
12
+ setSecureTextEntry(false);
13
+ },
14
+ hideValue() {
15
+ setSecureTextEntry(true);
16
+ },
17
+ toggleValueVisibility() {
18
+ toggleSecureTextEntry();
19
+ },
20
+ }, [setSecureTextEntry]);
21
+ const handleBlur = useCallback((e) => {
22
+ validation.onInputBlurred();
23
+ setIsFocused(false);
24
+ if (autoAdjustSelection)
25
+ setCurrentSelection({ start: selectionStart });
26
+ onBlur?.(e);
27
+ }, [validation.onInputBlurred, onBlur]);
28
+ const handleFocus = useCallback((e) => {
29
+ setIsFocused(true);
30
+ if (autoAdjustSelection)
31
+ setCurrentSelection(null);
32
+ onFocus?.(e);
33
+ }, [onFocus]);
34
+ const handleMaskChange = useCallback((masked, unmasked) => {
35
+ fieldHandle.setValue(masking?.saveFormatted ? masked : masked);
36
+ if (onChangeMask)
37
+ onChangeMask(masked, unmasked);
38
+ }, [masking?.saveFormatted, onChangeMask]);
39
+ const hasMultipleLines = multiline && fieldHandle?.value?.includes('\n');
40
+ const hasValue = fieldHandle?.value?.length > 0;
41
+ const hasError = validation.showError || forceError;
42
+ return {
43
+ isFocused,
44
+ currentSelection,
45
+ secureTextEntry,
46
+ handleBlur,
47
+ handleFocus,
48
+ handleMaskChange,
49
+ fieldHandle,
50
+ validation,
51
+ innerInputRef,
52
+ wrapperRef,
53
+ toggleSecureTextEntry,
54
+ hasMultipleLines,
55
+ hasValue,
56
+ hasError,
57
+ };
58
+ }
59
+ //# sourceMappingURL=useTextInput.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useTextInput.js","sourceRoot":"","sources":["../../../src/components/TextInput/useTextInput.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAG7C,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AACxD,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAEvC,MAAM,UAAU,YAAY,CAAC,KAA8B;IACzD,MAAM,EACJ,OAAO,EACP,MAAM,EACN,MAAM,EACN,KAAK,EACL,mBAAmB,EACnB,cAAc,EACd,OAAO,EACP,YAAY,EACZ,SAAS,EACT,UAAU,EACV,KAAK,EACL,aAAa,GACd,GAAG,KAAK,CAAA;IAET,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IAEjD,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAA;IAEtE,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAA;IAE9D,MAAM,qBAAqB,GAAG,GAAG,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;IAE/D,MAAM,EACJ,WAAW,EACX,UAAU,EACV,aAAa,EACb,UAAU,GACX,GAAG,YAAY,CAAS,KAAK,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,aAAa,CAAC,EAAE;QACnE,WAAW;YACT,kBAAkB,CAAC,KAAK,CAAC,CAAA;QAC3B,CAAC;QACD,SAAS;YACP,kBAAkB,CAAC,IAAI,CAAC,CAAA;QAC1B,CAAC;QACD,qBAAqB;YACnB,qBAAqB,EAAE,CAAA;QACzB,CAAC;KACF,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAA;IAExB,MAAM,UAAU,GAAG,WAAW,CAAC,CAAC,CAAgD,EAAE,EAAE;QAClF,UAAU,CAAC,cAAc,EAAE,CAAA;QAC3B,YAAY,CAAC,KAAK,CAAC,CAAA;QACnB,IAAI,mBAAmB;YAAE,mBAAmB,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,CAAA;QACvE,MAAM,EAAE,CAAC,CAAC,CAAC,CAAA;IACb,CAAC,EAAE,CAAC,UAAU,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC,CAAA;IAEvC,MAAM,WAAW,GAAG,WAAW,CAAC,CAAC,CAAgD,EAAE,EAAE;QACnF,YAAY,CAAC,IAAI,CAAC,CAAA;QAClB,IAAI,mBAAmB;YAAE,mBAAmB,CAAC,IAAI,CAAC,CAAA;QAClD,OAAO,EAAE,CAAC,CAAC,CAAC,CAAA;IACd,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAA;IAEb,MAAM,gBAAgB,GAAG,WAAW,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE;QACxD,WAAW,CAAC,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;QAC9D,IAAI,YAAY;YAAE,YAAY,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;IAClD,CAAC,EAAE,CAAC,OAAO,EAAE,aAAa,EAAE,YAAY,CAAC,CAAC,CAAA;IAE1C,MAAM,gBAAgB,GAAG,SAAS,IAAI,WAAW,EAAE,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAA;IAExE,MAAM,QAAQ,GAAG,WAAW,EAAE,KAAK,EAAE,MAAM,GAAG,CAAC,CAAA;IAE/C,MAAM,QAAQ,GAAG,UAAU,CAAC,SAAS,IAAI,UAAU,CAAA;IAEnD,OAAO;QACL,SAAS;QACT,gBAAgB;QAChB,eAAe;QACf,UAAU;QACV,WAAW;QACX,gBAAgB;QAChB,WAAW;QACX,UAAU;QACV,aAAa;QACb,UAAU;QACV,qBAAqB;QACrB,gBAAgB;QAChB,QAAQ;QACR,QAAQ;KACT,CAAA;AACH,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import React, { forwardRef } from 'react';
2
2
  import { TypeGuards } from '@codeleap/types';
3
- import { onMount } from '@codeleap/hooks';
3
+ import { onMount, useComponentTestId } from '@codeleap/hooks';
4
4
  import { useGlobalContext } from '@codeleap/hooks';
5
5
  import { Pressable, StyleSheet, Platform } from 'react-native';
6
6
  import { View } from '../View';
@@ -26,6 +26,7 @@ export const Touchable = forwardRef((touchableProps, ref) => {
26
26
  });
27
27
  const styles = useStylesFor(Touchable.styleRegistryName, style);
28
28
  const { logger } = useGlobalContext();
29
+ const testId = useComponentTestId(Touchable, touchableProps, ['style', 'children', 'debounce']);
29
30
  const press = () => {
30
31
  if (!onPress)
31
32
  return;
@@ -138,7 +139,7 @@ export const Touchable = forwardRef((touchableProps, ref) => {
138
139
  } : props.hitSlop;
139
140
  const disableRipple = disableFeedback || rippleDisabled || Platform.OS !== 'android';
140
141
  return (<Wrapper style={wrapperStyle} hitSlop={hitSlop}>
141
- {!disableRipple ? (<PressableRipple onPress={press} {...props} style={[pressableStyle, styles?.pressable]} rippleFades={false} rippleDuration={350} rippleOpacity={0.1} {...rippleConfig} radiusStyles={radiusStyle}
142
+ {!disableRipple ? (<PressableRipple onPress={press} testID={testId} {...props} style={[pressableStyle, styles?.pressable]} rippleFades={false} rippleDuration={350} rippleOpacity={0.1} {...rippleConfig} radiusStyles={radiusStyle}
142
143
  // @ts-ignore
143
144
  ref={ref}>
144
145
  {children}
@@ -146,7 +147,7 @@ export const Touchable = forwardRef((touchableProps, ref) => {
146
147
  pressableStyle,
147
148
  getFeedbackStyle(pressed),
148
149
  styles?.pressable,
149
- ])} {...props} ref={ref}>
150
+ ])} testID={testId} {...props} ref={ref}>
150
151
  {children}
151
152
  </Pressable>)}
152
153
  </Wrapper>);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/Touchable/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/Touchable/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAAE,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAClD,OAAO,EAAE,SAAS,EAAE,UAAU,EAA0B,QAAQ,EAAE,MAAM,cAAc,CAAA;AACtF,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAC9B,OAAO,EAA2B,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAC3E,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AACvC,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAG/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAA;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAE1C,cAAc,UAAU,CAAA;AACxB,cAAc,SAAS,CAAA;AAEvB,MAAM,CAAC,MAAM,SAAS,GAAG,UAAU,CAAyB,CAAC,cAAc,EAAE,GAAG,EAAE,EAAE;IAClF,MAAM,EACJ,QAAQ,EACR,OAAO,EACP,KAAK,EACL,SAAS,EACT,cAAc,EACd,QAAQ,EACR,eAAe,EACf,UAAU,EACV,UAAU,EACV,cAAc,EACd,gBAAgB,EAChB,aAAa,EACb,aAAa,GAAG,EAAE,EAClB,eAAe,EACf,GAAG,KAAK,EACT,GAAG;QACF,GAAG,SAAS,CAAC,YAAY;QACzB,GAAG,cAAc;KAClB,CAAA;IAED,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC,CAAA;IAE/C,OAAO,CAAC,GAAG,EAAE;QACX,IAAI,CAAC,CAAC,eAAe,IAAI,CAAC,CAAC,QAAQ,EAAE;YACnC,UAAU,CAAC,GAAG,EAAE;gBACd,OAAO,CAAC,OAAO,GAAG,KAAK,CAAA;YACzB,CAAC,EAAE,QAAQ,CAAC,CAAA;SACb;IACH,CAAC,CAAC,CAAA;IAEF,MAAM,MAAM,GAAG,YAAY,CAAC,SAAS,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAA;IAE/D,MAAM,EAAE,MAAM,EAAE,GAAG,gBAAgB,EAAE,CAAA;IAErC,MAAM,MAAM,GAAG,kBAAkB,CAAC,SAAS,EAAE,cAAc,EAAE,CAAC,OAAO,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC,CAAA;IAE/F,MAAM,KAAK,GAAG,GAAG,EAAE;QACjB,IAAI,CAAC,OAAO;YAAE,OAAM;QAEpB,MAAM,QAAQ,GAAG,GAAG,EAAE;YACpB,MAAM,CAAC,GAAG,CACR,IAAI,cAAc,IAAI,WAAW,aAAa,EAC9C,SAAS,EACT,kBAAkB,CACnB,CAAA;YACD,IAAI,eAAe,EAAE;gBACnB,QAAQ,CAAC,OAAO,EAAE,CAAA;aACnB;YACD,IAAI,gBAAgB,EAAE;gBACpB,MAAM,IAAI,GAAG,aAAa,IAAI,SAAS,CAAA;gBACvC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE;oBACpB,MAAM,CAAC,SAAS,EAAE,WAAW,CAAC,IAAI,EAAE,aAAa,CAAC,CAAA;iBACnD;aACF;YAED,OAAO,EAAE,CAAA;QACX,CAAC,CAAA;QAED,IAAI,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;YACjC,IAAI,OAAO,CAAC,OAAO,EAAE;gBACnB,OAAM;aACP;YACD,UAAU,EAAE,CAAC,IAAI,CAAC,CAAA;YAClB,OAAO,CAAC,OAAO,GAAG,IAAI,CAAA;YACtB,QAAQ,EAAE,CAAA;YACV,UAAU,CAAC,GAAG,EAAE;gBACd,UAAU,EAAE,CAAC,KAAK,CAAC,CAAA;gBACnB,OAAO,CAAC,OAAO,GAAG,KAAK,CAAA;YACzB,CAAC,EAAE,QAAQ,CAAC,CAAA;SACb;aAAM;YACL,QAAQ,EAAE,CAAA;SACX;IACH,CAAC,CAAA;IAED,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,IAAI,MAAM,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAA;IAEtG,MAAM,eAAe,GAAG,CAAC,OAAO,IAAI,UAAU,CAAA;IAE9C,MAAM,EAAE,YAAY,EAAE,gBAAgB,EAAE,GAAG,oBAAoB,CAAC,OAAO,EAAE;QACvE,oBAAoB,EAAE,iBAAiB;QACvC,qBAAqB,EAAE,iBAAiB;QACxC,QAAQ,EAAE,eAAe;QACzB,cAAc,EAAE,MAAM,EAAE,QAAmC;KAC5D,CAAC,CAAA;IAEF,MAAM,OAAO,GAAG,IAAI,CAAA;IAEpB,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,cAAc,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;QACvE,MAAM,WAAW,GAAG;YAClB,QAAQ;YACR,WAAW;YACX,MAAM;YACN,OAAO;YACP,QAAQ;YACR,SAAS;YACT,WAAW;YACX,YAAY;SACb,CAAA;QAED,MAAM,SAAS,GAAG;YAChB,SAAS;SACV,CAAA;QAED,MAAM,UAAU,GAAG;YACjB,QAAQ;YACR,SAAS;YACT,OAAO;YACP,kBAAkB;SACnB,CAAA;QAED,MAAM,YAAY,GAAG,EAAS,CAAA;QAC9B,MAAM,cAAc,GAAG,EAAS,CAAA;QAChC,MAAM,WAAW,GAAG,EAAS,CAAA;QAE7B,MAAM,KAAK,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE;YACvB,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;gBACnB,OAAO,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAA;aAClD;iBAAM,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;gBAC1B,OAAO,GAAG,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;aAC5C;iBAAM;gBAEL,OAAO,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAA;aACzB;QACH,CAAC,CAAA;QAED,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;YAC/C,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE;gBACtC,YAAY,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;gBACzB,cAAc,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;gBAC3B,WAAW,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;gBACxB,OAAM;aACP;YAED,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE;gBACxC,YAAY,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;aAC1B;iBAAM,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE;gBAC9C,YAAY,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;gBAEzB,cAAc,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;aAC5B;iBAAM;gBACL,cAAc,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;aAC5B;QACH,CAAC,CAAC,CAAA;QAEF,IAAI,YAAY,CAAC,QAAQ,KAAK,UAAU,EAAE;YACxC,cAAc,CAAC,KAAK,GAAG,MAAM,CAAA;YAC7B,cAAc,CAAC,MAAM,GAAG,MAAM,CAAA;SAC/B;QAED,YAAY,CAAC,QAAQ,GAAG,SAAS,CAAA;QAEjC,OAAO;YACL,YAAY;YACZ,cAAc;YACd,WAAW;SACZ,CAAA;IACH,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;IAE7B,MAAM,OAAO,GAAG,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACnD,GAAG,EAAE,KAAK,CAAC,OAAO;QAClB,IAAI,EAAE,KAAK,CAAC,OAAO;QACnB,KAAK,EAAE,KAAK,CAAC,OAAO;QACpB,MAAM,EAAE,KAAK,CAAC,OAAO;KACZ,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAA;IAE3B,MAAM,aAAa,GAAG,eAAe,IAAI,cAAc,IAAI,QAAQ,CAAC,EAAE,KAAK,SAAS,CAAA;IAEpF,OAAO,CACL,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAC7C;MAAA,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAChB,CAAC,eAAe,CACd,OAAO,CAAC,CAAC,KAAK,CAAC,CACf,MAAM,CAAC,CAAC,MAAM,CAAC,CACf,IAAI,KAAK,CAAC,CACV,KAAK,CAAC,CAAC,CAAC,cAAc,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,CAC3C,WAAW,CAAC,CAAC,KAAK,CAAC,CACnB,cAAc,CAAC,CAAC,GAAG,CAAC,CACpB,aAAa,CAAC,CAAC,GAAG,CAAC,CACnB,IAAI,YAAY,CAAC,CACjB,YAAY,CAAC,CAAC,WAAW,CAAC;QAC1B,aAAa;QACb,GAAG,CAAC,CAAC,GAAG,CAAC,CAET;UAAA,CAAC,QAAQ,CACX;QAAA,EAAE,eAAe,CAAC,CACnB,CAAC,CAAC,CAAC,CACF,CAAC,SAAS,CACR,OAAO,CAAC,CAAC,KAAK,CAAC,CACf,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;gBACvB,cAAc;gBACd,gBAAgB,CAAC,OAAO,CAAC;gBACzB,MAAM,EAAE,SAAS;aAClB,CAAC,CAAC,CACH,MAAM,CAAC,CAAC,MAAM,CAAC,CACf,IAAI,KAAK,CAAC,CACV,GAAG,CAAC,CAAC,GAAG,CAAC,CAET;UAAA,CAAC,QAAQ,CACX;QAAA,EAAE,SAAS,CAAC,CACb,CACH;IAAA,EAAE,OAAO,CAAC,CACX,CAAA;AACH,CAAC,CAA6C,CAAA;AAE9C,SAAS,CAAC,iBAAiB,GAAG,WAAW,CAAA;AACzC,SAAS,CAAC,QAAQ,GAAG,CAAC,SAAS,EAAE,UAAU,EAAE,WAAW,CAAC,CAAA;AACzD,SAAS,CAAC,WAAW,GAAG,SAAS,CAAA;AAEjC,SAAS,CAAC,gBAAgB,GAAG,CAAsB,MAAS,EAAE,EAAE;IAC9D,OAAO,SAAiF,CAAA;AAC1F,CAAC,CAAA;AAED,SAAS,CAAC,YAAY,GAAG;IACvB,QAAQ,EAAE,GAAG;IACb,UAAU,EAAE,KAAK;IACjB,cAAc,EAAE,KAAK;IACrB,gBAAgB,EAAE,KAAK;IACvB,aAAa,EAAE,IAAI;IACnB,eAAe,EAAE,IAAI;CACK,CAAA;AAE5B,mBAAmB,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAA"}
@@ -1,15 +1,10 @@
1
- import React from 'react';
2
- import { View as RNView } from 'react-native';
3
- import { AnyRecord, IJSX, StyledComponentProps } from '@codeleap/styles';
4
- import Animated from 'react-native-reanimated';
5
- import { ViewProps } from './types';
1
+ /// <reference types="react" />
2
+ /// <reference types="react" />
3
+ import { ViewAnimatedProps, ViewProps } from './types';
6
4
  export * from './types';
7
5
  export * from './styles';
8
- export declare const View: {
9
- <T extends React.ComponentType<{}> = typeof RNView>(props: ViewProps<T>): JSX.Element;
10
- Animated(props: ViewProps<typeof Animated.View>): JSX.Element;
11
- styleRegistryName: string;
12
- elements: string[];
13
- rootElement: string;
14
- withVariantTypes<S extends AnyRecord>(styles: S): <T_1 extends React.ComponentType<{}> = typeof RNView>(props: StyledComponentProps<ViewProps<T_1>, S>) => IJSX;
6
+ export declare const View: ((props: ViewProps) => JSX.Element) & {
7
+ defaultProps?: Partial<ViewProps>;
8
+ } & import("@codeleap/styles").GenericStyledComponentAttributes<ViewProps> & {
9
+ Animated?: (props: ViewAnimatedProps) => JSX.Element;
15
10
  };
@@ -1,18 +1,20 @@
1
- import React from 'react';
1
+ import React, { forwardRef } from 'react';
2
2
  import { View as RNView } from 'react-native';
3
3
  import { MobileStyleRegistry } from '../../Registry';
4
4
  import Animated from 'react-native-reanimated';
5
5
  import { useStylesFor } from '../../hooks';
6
+ import { useComponentTestId } from '@codeleap/hooks';
6
7
  export * from './types';
7
8
  export * from './styles';
8
- export const View = (props) => {
9
- const { style, component: _Component = RNView, animated = false, animatedStyle, ...viewProps } = props;
9
+ export const View = forwardRef((props, ref) => {
10
+ const { style, animated = false, animatedStyle, ...viewProps } = props;
10
11
  const styles = useStylesFor(View.styleRegistryName, style);
11
- const Component = animated ? Animated.View : _Component;
12
- return (<Component {...viewProps} style={[styles.wrapper, animatedStyle]}/>);
13
- };
12
+ const testId = useComponentTestId(View, props, ['style', 'children', 'animated']);
13
+ const Component = animated ? Animated.View : RNView;
14
+ return (<Component testID={testId} {...viewProps} style={[styles.wrapper, animatedStyle]} ref={ref}/>);
15
+ });
14
16
  View.Animated = (props) => {
15
- return <View {...props} animated/>;
17
+ return <View {...props}/>;
16
18
  };
17
19
  View.styleRegistryName = 'View';
18
20
  View.elements = ['wrapper'];
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/View/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,IAAI,IAAI,MAAM,EAAE,MAAM,cAAc,CAAA;AAE7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAA;AACpD,OAAO,QAAQ,MAAM,yBAAyB,CAAA;AAE9C,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAE1C,cAAc,SAAS,CAAA;AACvB,cAAc,UAAU,CAAA;AAExB,MAAM,CAAC,MAAM,IAAI,GAAG,CAAgD,KAAmB,EAAE,EAAE;IACzF,MAAM,EACJ,KAAK,EACL,SAAS,EAAE,UAAU,GAAG,MAAM,EAC9B,QAAQ,GAAG,KAAK,EAChB,aAAa,EACb,GAAG,SAAS,EACb,GAAG,KAAK,CAAA;IAET,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAA;IAE1D,MAAM,SAAS,GAAmC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAA;IAEvF,OAAO,CACL,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC,EAAG,CACrE,CAAA;AACH,CAAC,CAAA;AAED,IAAI,CAAC,QAAQ,GAAG,CAAC,KAAsC,EAAE,EAAE;IACzD,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,CAAC,QAAQ,EAAG,CAAA;AACrC,CAAC,CAAA;AAED,IAAI,CAAC,iBAAiB,GAAG,MAAM,CAAA;AAC/B,IAAI,CAAC,QAAQ,GAAG,CAAC,SAAS,CAAC,CAAA;AAC3B,IAAI,CAAC,WAAW,GAAG,SAAS,CAAA;AAE5B,IAAI,CAAC,gBAAgB,GAAG,CAAsB,MAAS,EAAE,EAAE;IACzD,OAAO,IAA2H,CAAA;AACpI,CAAC,CAAA;AAED,mBAAmB,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/View/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AACzC,OAAO,EAAE,IAAI,IAAI,MAAM,EAAE,MAAM,cAAc,CAAA;AAE7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAA;AACpD,OAAO,QAAQ,MAAM,yBAAyB,CAAA;AAE9C,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AAEpD,cAAc,SAAS,CAAA;AACvB,cAAc,UAAU,CAAA;AAExB,MAAM,CAAC,MAAM,IAAI,GAAG,UAAU,CAAoB,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;IAC/D,MAAM,EACJ,KAAK,EACL,QAAQ,GAAG,KAAK,EAChB,aAAa,EACb,GAAG,SAAS,EACb,GAAG,KAAK,CAAA;IAET,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAA;IAE1D,MAAM,MAAM,GAAG,kBAAkB,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,OAAO,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC,CAAA;IAEjF,MAAM,SAAS,GAAmC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAA;IAEnF,OAAO,CACL,CAAC,SAAS,CACR,MAAM,CAAC,CAAC,MAAM,CAAC,CACf,IAAI,SAAS,CAAC,CACd,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC,CACvC,GAAG,CAAC,CAAC,GAAG,CAAC,EACT,CACH,CAAA;AACH,CAAC,CAAmG,CAAA;AAEpG,IAAI,CAAC,QAAQ,GAAG,CAAC,KAAwB,EAAE,EAAE;IAC3C,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,EAAG,CAAA;AAC5B,CAAC,CAAA;AAED,IAAI,CAAC,iBAAiB,GAAG,MAAM,CAAA;AAC/B,IAAI,CAAC,QAAQ,GAAG,CAAC,SAAS,CAAC,CAAA;AAC3B,IAAI,CAAC,WAAW,GAAG,SAAS,CAAA;AAE5B,IAAI,CAAC,gBAAgB,GAAG,CAAsB,MAAS,EAAE,EAAE;IACzD,OAAO,IAAuE,CAAA;AAChF,CAAC,CAAA;AAED,mBAAmB,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAA"}
@@ -1,13 +1,13 @@
1
1
  /// <reference types="react" />
2
- import { PropsOf } from '@codeleap/types';
3
2
  import { StyledProp } from '@codeleap/styles';
4
- import { ImageStyle, TextStyle, View as RNView, ViewStyle } from 'react-native';
5
- import { AnimatedStyleProp } from 'react-native-reanimated';
3
+ import { ImageStyle, TextStyle, ViewProps as RNViewProps, ViewStyle } from 'react-native';
4
+ import Animated, { AnimatedStyleProp } from 'react-native-reanimated';
6
5
  import { ViewComposition } from './styles';
7
- export type ViewProps<T extends React.ComponentType = typeof RNView> = {
8
- component?: T;
6
+ import { PropsOf } from '@codeleap/types';
7
+ export type ViewProps = Omit<RNViewProps, 'style'> & {
9
8
  style?: StyledProp<ViewComposition>;
10
9
  animated?: boolean;
11
10
  children?: React.ReactNode;
12
11
  animatedStyle?: AnimatedStyleProp<ViewStyle | ImageStyle | TextStyle>;
13
- } & PropsOf<T>;
12
+ };
13
+ export type ViewAnimatedProps = ViewProps & Omit<PropsOf<typeof Animated.View>, 'style'>;
@@ -12,7 +12,6 @@ export * from './Select';
12
12
  export * from './FileInput';
13
13
  export * from './Slider';
14
14
  export * from './SegmentedControl';
15
- export * from './Navigation';
16
15
  export * from './Scroll';
17
16
  export * from './List';
18
17
  export * from './ActivityIndicator';
@@ -20,7 +19,6 @@ export * from './Button';
20
19
  export * from './Modal';
21
20
  export * from './Calendar';
22
21
  export * from './ImageView';
23
- export * from './Navigation';
24
22
  export * from './Pager';
25
23
  export * from './EmptyPlaceholder';
26
24
  export * from './Backdrop';
@@ -12,7 +12,6 @@ export * from './Select';
12
12
  export * from './FileInput';
13
13
  export * from './Slider';
14
14
  export * from './SegmentedControl';
15
- export * from './Navigation';
16
15
  export * from './Scroll';
17
16
  export * from './List';
18
17
  export * from './ActivityIndicator';
@@ -20,7 +19,6 @@ export * from './Button';
20
19
  export * from './Modal';
21
20
  export * from './Calendar';
22
21
  export * from './ImageView';
23
- export * from './Navigation';
24
22
  export * from './Pager';
25
23
  export * from './EmptyPlaceholder';
26
24
  export * from './Backdrop';
@@ -1 +1 @@
1
- {"version":3,"file":"components.js","sourceRoot":"","sources":["../../src/components/components.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAA;AACtB,cAAc,QAAQ,CAAA;AACtB,cAAc,aAAa,CAAA;AAC3B,cAAc,QAAQ,CAAA;AACtB,cAAc,SAAS,CAAA;AACvB,cAAc,YAAY,CAAA;AAC1B,cAAc,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA;AAC5B,cAAc,UAAU,CAAA;AACxB,cAAc,YAAY,CAAA;AAC1B,cAAc,UAAU,CAAA;AACxB,cAAc,aAAa,CAAA;AAC3B,cAAc,UAAU,CAAA;AACxB,cAAc,oBAAoB,CAAA;AAClC,cAAc,cAAc,CAAA;AAC5B,cAAc,UAAU,CAAA;AACxB,cAAc,QAAQ,CAAA;AACtB,cAAc,qBAAqB,CAAA;AACnC,cAAc,UAAU,CAAA;AACxB,cAAc,SAAS,CAAA;AACvB,cAAc,YAAY,CAAA;AAC1B,cAAc,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA;AAC5B,cAAc,SAAS,CAAA;AACvB,cAAc,oBAAoB,CAAA;AAClC,cAAc,YAAY,CAAA;AAC1B,cAAc,oBAAoB,CAAA;AAClC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,QAAQ,CAAA;AACtB,cAAc,kBAAkB,CAAA;AAChC,cAAc,cAAc,CAAA;AAC5B,cAAc,aAAa,CAAA;AAC3B,cAAc,mBAAmB,CAAA;AACjC,cAAc,kBAAkB,CAAA;AAChC,cAAc,UAAU,CAAA;AACxB,cAAc,eAAe,CAAA;AAC7B,cAAc,mBAAmB,CAAA;AACjC,cAAc,SAAS,CAAA;AACvB,cAAc,eAAe,CAAA;AAC7B,cAAc,uBAAuB,CAAA;AACrC,cAAc,sBAAsB,CAAA;AACpC,cAAc,kBAAkB,CAAA;AAChC,cAAc,kBAAkB,CAAA"}
1
+ {"version":3,"file":"components.js","sourceRoot":"","sources":["../../src/components/components.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAA;AACtB,cAAc,QAAQ,CAAA;AACtB,cAAc,aAAa,CAAA;AAC3B,cAAc,QAAQ,CAAA;AACtB,cAAc,SAAS,CAAA;AACvB,cAAc,YAAY,CAAA;AAC1B,cAAc,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA;AAC5B,cAAc,UAAU,CAAA;AACxB,cAAc,YAAY,CAAA;AAC1B,cAAc,UAAU,CAAA;AACxB,cAAc,aAAa,CAAA;AAC3B,cAAc,UAAU,CAAA;AACxB,cAAc,oBAAoB,CAAA;AAClC,cAAc,UAAU,CAAA;AACxB,cAAc,QAAQ,CAAA;AACtB,cAAc,qBAAqB,CAAA;AACnC,cAAc,UAAU,CAAA;AACxB,cAAc,SAAS,CAAA;AACvB,cAAc,YAAY,CAAA;AAC1B,cAAc,aAAa,CAAA;AAC3B,cAAc,SAAS,CAAA;AACvB,cAAc,oBAAoB,CAAA;AAClC,cAAc,YAAY,CAAA;AAC1B,cAAc,oBAAoB,CAAA;AAClC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,QAAQ,CAAA;AACtB,cAAc,kBAAkB,CAAA;AAChC,cAAc,cAAc,CAAA;AAC5B,cAAc,aAAa,CAAA;AAC3B,cAAc,mBAAmB,CAAA;AACjC,cAAc,kBAAkB,CAAA;AAChC,cAAc,UAAU,CAAA;AACxB,cAAc,eAAe,CAAA;AAC7B,cAAc,mBAAmB,CAAA;AACjC,cAAc,SAAS,CAAA;AACvB,cAAc,eAAe,CAAA;AAC7B,cAAc,uBAAuB,CAAA;AACrC,cAAc,sBAAsB,CAAA;AACpC,cAAc,kBAAkB,CAAA;AAChC,cAAc,kBAAkB,CAAA"}
@@ -1,2 +1,3 @@
1
- import { StyleProp } from '@codeleap/styles';
2
- export declare const useStylesFor: <T = unknown>(componentName: string, style: StyleProp<T, string>) => T;
1
+ export * from './useStylesFor';
2
+ export * from './useStatusBar';
3
+ export * from './useKeyboardController';
@@ -1,11 +1,4 @@
1
- import { useStyleObserver } from '@codeleap/styles';
2
- import { useMemo } from 'react';
3
- import { MobileStyleRegistry } from '../Registry';
4
- export const useStylesFor = (componentName, style) => {
5
- const styleObserver = useStyleObserver(style);
6
- const styles = useMemo(() => {
7
- return MobileStyleRegistry.current.styleFor(componentName, style);
8
- }, [styleObserver]);
9
- return styles;
10
- };
1
+ export * from './useStylesFor';
2
+ export * from './useStatusBar';
3
+ export * from './useKeyboardController';
11
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AAC9D,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAC/B,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAEjD,MAAM,CAAC,MAAM,YAAY,GAAG,CAAc,aAAqB,EAAE,KAA2B,EAAK,EAAE;IACjG,MAAM,aAAa,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAA;IAE7C,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE;QAC1B,OAAO,mBAAmB,CAAC,OAAO,CAAC,QAAQ,CAAC,aAAa,EAAE,KAAK,CAAC,CAAA;IACnE,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAA;IAEnB,OAAO,MAAM,CAAA;AACf,CAAC,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAA;AAC9B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,yBAAyB,CAAA"}
@@ -0,0 +1,6 @@
1
+ type KeyboardControllerState = {
2
+ height: number;
3
+ isVisible: boolean;
4
+ };
5
+ export declare function useKeyboardController(): KeyboardControllerState;
6
+ export {};
@@ -0,0 +1,19 @@
1
+ import { useEffect, useState } from 'react';
2
+ import { KeyboardEvents } from 'react-native-keyboard-controller';
3
+ export function useKeyboardController() {
4
+ const [keyboardState, setKeyboardState] = useState({ isVisible: false, height: 0 });
5
+ useEffect(() => {
6
+ const show = KeyboardEvents.addListener('keyboardWillShow', event => {
7
+ setKeyboardState({ isVisible: true, height: event?.height });
8
+ });
9
+ const hide = KeyboardEvents.addListener('keyboardWillHide', event => {
10
+ setKeyboardState(prev => ({ isVisible: false, height: prev?.height }));
11
+ });
12
+ return () => {
13
+ show.remove();
14
+ hide.remove();
15
+ };
16
+ }, []);
17
+ return keyboardState;
18
+ }
19
+ //# sourceMappingURL=useKeyboardController.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useKeyboardController.js","sourceRoot":"","sources":["../../src/hooks/useKeyboardController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAA;AAOjE,MAAM,UAAU,qBAAqB;IACnC,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAA0B,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAA;IAE5G,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,IAAI,GAAG,cAAc,CAAC,WAAW,CAAC,kBAAkB,EAAE,KAAK,CAAC,EAAE;YAClE,gBAAgB,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAA;QAC9D,CAAC,CAAC,CAAA;QAEF,MAAM,IAAI,GAAG,cAAc,CAAC,WAAW,CAAC,kBAAkB,EAAE,KAAK,CAAC,EAAE;YAClE,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,CAAA;QACxE,CAAC,CAAC,CAAA;QAEF,OAAO,GAAG,EAAE;YACV,IAAI,CAAC,MAAM,EAAE,CAAA;YACb,IAAI,CAAC,MAAM,EAAE,CAAA;QACf,CAAC,CAAA;IACH,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,OAAO,aAAa,CAAA;AACtB,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { StatusBarStyle } from 'react-native';
2
+ type UseStatusBarOptions = {
3
+ statusBarColor?: StatusBarStyle;
4
+ };
5
+ export declare function useStatusBar({ statusBarColor }: UseStatusBarOptions): void;
6
+ export {};
@@ -0,0 +1,15 @@
1
+ import { useIsFocused } from '@react-navigation/native';
2
+ import { useLayoutEffect } from '@codeleap/hooks';
3
+ import { StatusBar } from 'react-native';
4
+ export function useStatusBar({ statusBarColor }) {
5
+ const focused = useIsFocused();
6
+ useLayoutEffect(() => {
7
+ if (!focused || !statusBarColor)
8
+ return;
9
+ const statusBarEntry = StatusBar.pushStackEntry({ barStyle: statusBarColor });
10
+ return () => {
11
+ StatusBar.popStackEntry(statusBarEntry);
12
+ };
13
+ }, [statusBarColor, focused]);
14
+ }
15
+ //# sourceMappingURL=useStatusBar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useStatusBar.js","sourceRoot":"","sources":["../../src/hooks/useStatusBar.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AACjD,OAAO,EAAE,SAAS,EAAkB,MAAM,cAAc,CAAA;AAMxD,MAAM,UAAU,YAAY,CAAC,EAAE,cAAc,EAAuB;IAClE,MAAM,OAAO,GAAG,YAAY,EAAE,CAAA;IAE9B,eAAe,CAAC,GAAG,EAAE;QACnB,IAAI,CAAC,OAAO,IAAI,CAAC,cAAc;YAAE,OAAM;QAEvC,MAAM,cAAc,GAAG,SAAS,CAAC,cAAc,CAAC,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAC,CAAA;QAE7E,OAAO,GAAG,EAAE;YACV,SAAS,CAAC,aAAa,CAAC,cAAc,CAAC,CAAA;QACzC,CAAC,CAAA;IACH,CAAC,EAAE,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC,CAAA;AAC/B,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { StyleProp } from '@codeleap/styles';
2
+ export declare const useStylesFor: <T = unknown>(componentName: string, style?: StyleProp<T, string>) => T;