ferns-ui 1.0.6 → 1.1.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.
@@ -3,30 +3,34 @@ import { Animated, TouchableWithoutFeedback, View } from "react-native";
3
3
  import { FieldHelperText, FieldTitle } from "./fieldElements";
4
4
  import { Text } from "./Text";
5
5
  import { useTheme } from "./Theme";
6
+ const TOUCHABLE_SIZE = 20;
7
+ const OFFSET = 10;
8
+ const WIDTH = 36;
9
+ const WIDTH_WITH_OFFSET = OFFSET + WIDTH;
6
10
  export const BooleanField = ({ title, variant, value, onChange, disabled, disabledHelperText, helperText, }) => {
7
11
  const { theme } = useTheme();
8
- const backgroundColor = useRef(new Animated.Value(value ? 75 : -75)).current;
9
- const circleColor = useRef(new Animated.Value(value ? 75 : -75)).current;
10
- const circleBorderColor = useRef(new Animated.Value(value ? 75 : -75)).current;
11
- const transformSwitch = useRef(new Animated.Value(value ? 15 : -15)).current;
12
+ const backgroundColor = useRef(new Animated.Value(value ? WIDTH_WITH_OFFSET : -1 * WIDTH_WITH_OFFSET)).current;
13
+ const circleColor = useRef(new Animated.Value(value ? WIDTH_WITH_OFFSET : -1 * WIDTH_WITH_OFFSET)).current;
14
+ const circleBorderColor = useRef(new Animated.Value(value ? WIDTH_WITH_OFFSET : -1 * WIDTH_WITH_OFFSET)).current;
15
+ const transformSwitch = useRef(new Animated.Value(value ? OFFSET : -1 * OFFSET)).current;
12
16
  const animateSwitch = (newValue) => {
13
17
  Animated.parallel([
14
18
  Animated.spring(transformSwitch, {
15
- toValue: newValue ? 15 : -15,
19
+ toValue: newValue ? OFFSET : -1 * OFFSET,
16
20
  useNativeDriver: false,
17
21
  }),
18
22
  Animated.timing(backgroundColor, {
19
- toValue: newValue ? 75 : -75,
23
+ toValue: newValue ? WIDTH_WITH_OFFSET : -1 * WIDTH_WITH_OFFSET,
20
24
  duration: 200,
21
25
  useNativeDriver: false,
22
26
  }),
23
27
  Animated.timing(circleColor, {
24
- toValue: newValue ? 75 : -75,
28
+ toValue: newValue ? WIDTH_WITH_OFFSET : -1 * WIDTH_WITH_OFFSET,
25
29
  duration: 200,
26
30
  useNativeDriver: false,
27
31
  }),
28
32
  Animated.timing(circleBorderColor, {
29
- toValue: value ? 75 : -75,
33
+ toValue: value ? WIDTH_WITH_OFFSET : -1 * WIDTH_WITH_OFFSET,
30
34
  duration: 200,
31
35
  useNativeDriver: false,
32
36
  }),
@@ -45,7 +49,7 @@ export const BooleanField = ({ title, variant, value, onChange, disabled, disabl
45
49
  // eslint-disable-next-line react-hooks/exhaustive-deps
46
50
  }, [value]);
47
51
  const interpolatedColorAnimation = backgroundColor.interpolate({
48
- inputRange: [-75, 75],
52
+ inputRange: [-1 * WIDTH_WITH_OFFSET, WIDTH_WITH_OFFSET],
49
53
  outputRange: [theme.surface.base, theme.surface.secondaryDark],
50
54
  });
51
55
  return (React.createElement(View, { style: {
@@ -61,18 +65,18 @@ export const BooleanField = ({ title, variant, value, onChange, disabled, disabl
61
65
  React.createElement(TouchableWithoutFeedback, { accessibilityRole: "button", onPress: handleSwitch },
62
66
  React.createElement(View, { style: { flexDirection: "row", alignItems: "center", justifyContent: "center" } },
63
67
  React.createElement(Animated.View, { style: {
64
- width: 60,
65
- height: 30,
66
- borderRadius: 30,
68
+ width: WIDTH,
69
+ height: TOUCHABLE_SIZE,
70
+ borderRadius: TOUCHABLE_SIZE,
67
71
  backgroundColor: disabled ? theme.surface.disabled : interpolatedColorAnimation,
68
72
  borderColor: disabled ? theme.surface.disabled : theme.surface.secondaryDark,
69
73
  borderWidth: 1,
70
- marginHorizontal: variant === "title" ? undefined : 8,
71
- marginRight: variant === "title" ? 8 : undefined,
74
+ marginHorizontal: variant === "title" ? undefined : OFFSET,
75
+ marginRight: variant === "title" ? OFFSET : undefined,
72
76
  } },
73
77
  React.createElement(Animated.View, { style: {
74
78
  flex: 1,
75
- width: 60,
79
+ width: WIDTH,
76
80
  flexDirection: "row",
77
81
  justifyContent: "center",
78
82
  alignItems: "center",
@@ -82,9 +86,9 @@ export const BooleanField = ({ title, variant, value, onChange, disabled, disabl
82
86
  borderWidth: 1,
83
87
  borderColor: disabled ? theme.surface.disabled : theme.surface.secondaryDark,
84
88
  backgroundColor: theme.surface.base,
85
- width: 30,
86
- height: 30,
87
- borderRadius: 15,
89
+ width: TOUCHABLE_SIZE,
90
+ height: TOUCHABLE_SIZE,
91
+ borderRadius: 10,
88
92
  alignItems: "center",
89
93
  justifyContent: "center",
90
94
  } }))),
@@ -1 +1 @@
1
- {"version":3,"file":"BooleanField.js","sourceRoot":"","sources":["../src/BooleanField.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BooleanField.js","sourceRoot":"","sources":["../src/BooleanField.tsx"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
1
  import React from "react";
2
2
  import { DateTimeFieldProps } from "./Common";
3
- export declare const DateTimeField: ({ type, value, onChange, timezone: tz, ...rest }: DateTimeFieldProps) => React.ReactElement;
3
+ export declare const DateTimeField: ({ type, value, onChange, timezone: tz, errorText, disabled, ...rest }: DateTimeFieldProps) => React.ReactElement;
@@ -18,10 +18,33 @@ import { TextField } from "./TextField";
18
18
  // TODO: allow use of keyboard to type in date/time
19
19
  export const DateTimeField = (_a) => {
20
20
  var _b;
21
- var { type, value, onChange, timezone: tz } = _a, rest = __rest(_a, ["type", "value", "onChange", "timezone"]);
21
+ var { type, value, onChange, timezone: tz, errorText, disabled } = _a, rest = __rest(_a, ["type", "value", "onChange", "timezone", "errorText", "disabled"]);
22
22
  const calendar = getCalendars()[0];
23
23
  const timezone = (_b = (tz || (calendar === null || calendar === void 0 ? void 0 : calendar.timeZone))) !== null && _b !== void 0 ? _b : "UTC"; // Fallback to UTC if timezone is undefined
24
+ let placeholder = "";
25
+ if (type === "time") {
26
+ placeholder = "hh:mm a";
27
+ }
28
+ else if (type === "datetime") {
29
+ placeholder = "mm/dd/yyyy hh:mm a";
30
+ }
31
+ else if (type === "date") {
32
+ placeholder = "mm/dd/yyyy";
33
+ }
34
+ let iconName;
35
+ if (disabled) {
36
+ iconName = undefined;
37
+ }
38
+ else if (type === "time") {
39
+ iconName = "clock";
40
+ }
41
+ else {
42
+ iconName = "calendar";
43
+ }
24
44
  const formatValue = useCallback((val) => {
45
+ if (!val) {
46
+ return "";
47
+ }
25
48
  switch (type) {
26
49
  case "time":
27
50
  return printTime(val, { timezone, showTimezone: true });
@@ -76,7 +99,7 @@ export const DateTimeField = (_a) => {
76
99
  const dateActionSheetRef = React.createRef();
77
100
  const [formattedDate, setFormattedDate] = useState(value ? formatValue(value) : "");
78
101
  const [showDate, setShowDate] = useState(false);
79
- const [error, setError] = useState("");
102
+ const [localError, setLocalError] = useState("");
80
103
  const onTextFieldChange = useCallback((inputDate) => {
81
104
  const formattedInput = formatInputDate(inputDate);
82
105
  const cleanedInput = formattedInput.replace(/[^0-9]/g, "");
@@ -106,48 +129,50 @@ export const DateTimeField = (_a) => {
106
129
  .startOf("day")
107
130
  .toUTC(0, { keepLocalTime: true });
108
131
  }
132
+ if (!parsedDate) {
133
+ setLocalError("Invalid date/time. Please format as " + `${placeholder}`);
134
+ setFormattedDate(formattedInput);
135
+ onChange("");
136
+ return;
137
+ }
109
138
  if (parsedDate === null || parsedDate === void 0 ? void 0 : parsedDate.isValid) {
110
139
  setFormattedDate(formatValue(parsedDate.toISO()));
111
- setError("");
140
+ setLocalError("");
112
141
  onChange(parsedDate.toISO());
113
142
  }
114
143
  else if (cleanedInput.length > (type === "datetime" ? 12 : type === "time" ? 4 : 8)) {
115
- setError("Invalid date/time");
144
+ setLocalError("Invalid date/time");
116
145
  setFormattedDate(formattedInput);
117
146
  onChange("");
118
147
  }
119
148
  else {
120
149
  setFormattedDate(formattedInput);
121
- setError("");
150
+ setLocalError("Invalid date/time. Please format as " + `${placeholder}`);
122
151
  }
123
- }, [formatInputDate, type, timezone, formatValue, onChange]);
152
+ }, [formatInputDate, type, timezone, formatValue, onChange, placeholder]);
124
153
  const onActionSheetChange = useCallback((inputDate) => {
125
154
  onChange(inputDate);
126
155
  setFormattedDate(formatValue(inputDate));
127
156
  setShowDate(false);
128
- setError("");
157
+ setLocalError("");
129
158
  }, [formatValue, onChange]);
130
- let placeholder = "";
131
- if (type === "time") {
132
- placeholder = "hh:mm a";
133
- }
134
- else if (type === "datetime") {
135
- placeholder = "mm/dd/yyyy hh:mm a";
136
- }
137
- else if (type === "date") {
138
- placeholder = "mm/dd/yyyy";
139
- }
140
159
  // if the value of the overall field changes via prop from the parent,
141
160
  // update the formattedDate to keep the value of the TextField and DateTimeActionSheet in sync
142
161
  useEffect(() => {
143
- if (value && formatValue(value) !== formattedDate) {
144
- setFormattedDate(formatValue(value));
162
+ if (value) {
163
+ const formatted = formatValue(value);
164
+ if (formattedDate !== formatted) {
165
+ setFormattedDate(formatted);
166
+ }
167
+ if (errorText) {
168
+ setLocalError(errorText);
169
+ }
145
170
  }
146
- }, [formatValue, formattedDate, value]);
171
+ }, [value, formatValue, formattedDate, errorText]);
147
172
  return (React.createElement(React.Fragment, null,
148
- React.createElement(TextField, Object.assign({ errorText: error, iconName: type === "time" ? "clock" : "calendar", placeholder: placeholder, type: "text", value: formattedDate, onChange: onTextFieldChange, onIconClick: () => {
173
+ React.createElement(TextField, Object.assign({ disabled: disabled, errorText: localError, iconName: iconName, placeholder: placeholder, type: "text", value: formattedDate, onChange: onTextFieldChange, onIconClick: () => {
149
174
  setShowDate(true);
150
175
  } }, rest)),
151
- React.createElement(DateTimeActionSheet, { actionSheetRef: dateActionSheetRef, timezone: timezone, type: type, value: value, visible: showDate, onChange: onActionSheetChange, onDismiss: () => setShowDate(false) })));
176
+ !disabled && (React.createElement(DateTimeActionSheet, { actionSheetRef: dateActionSheetRef, timezone: timezone, type: type, value: value, visible: showDate, onChange: onActionSheetChange, onDismiss: () => setShowDate(false) }))));
152
177
  };
153
178
  //# sourceMappingURL=DateTimeField.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DateTimeField.js","sourceRoot":"","sources":["../src/DateTimeField.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DateTimeField.js","sourceRoot":"","sources":["../src/DateTimeField.tsx"],"names":[],"mappings":"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"}
@@ -9,7 +9,7 @@ var __rest = (this && this.__rest) || function (s, e) {
9
9
  }
10
10
  return t;
11
11
  };
12
- import React, { useCallback, useState } from "react";
12
+ import React, { useCallback, useEffect, useState } from "react";
13
13
  import { TextField } from "./TextField";
14
14
  export const EmailField = (_a) => {
15
15
  var { errorText, iconName, placeholder, value, onChange, onBlur } = _a, rest = __rest(_a, ["errorText", "iconName", "placeholder", "value", "onChange", "onBlur"]);
@@ -25,6 +25,11 @@ export const EmailField = (_a) => {
25
25
  }
26
26
  return undefined;
27
27
  }, []);
28
+ // Sync local state with incoming prop values
29
+ useEffect(() => {
30
+ setLocalValue(value || "");
31
+ setError(errorText);
32
+ }, [value, errorText]);
28
33
  const handleBlur = useCallback((email) => {
29
34
  if (onBlur) {
30
35
  onBlur(email);
@@ -47,6 +52,16 @@ export const EmailField = (_a) => {
47
52
  onChange(email);
48
53
  }
49
54
  }, [onChange, error, validateEmail]);
50
- return (React.createElement(TextField, Object.assign({ errorText: error, iconName: iconName, placeholder: placeholder, type: "email", value: localValue, onBlur: (e) => handleBlur(e), onChange: (e) => handleChange(e) }, rest)));
55
+ return (React.createElement(TextField, Object.assign({ errorText: error, iconName: iconName, placeholder: placeholder, type: "email", value: localValue, onBlur: (e) => {
56
+ handleBlur(e);
57
+ if (onBlur) {
58
+ onBlur(value || "");
59
+ }
60
+ }, onChange: (e) => {
61
+ handleChange(e);
62
+ if (onChange) {
63
+ onChange;
64
+ }
65
+ } }, rest)));
51
66
  };
52
67
  //# sourceMappingURL=EmailField.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"EmailField.js","sourceRoot":"","sources":["../src/EmailField.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAK,EAAE,EAAK,WAAW,EAAE,QAAQ,EAAC,MAAM,OAAO,CAAC;AAGvD,OAAO,EAAC,SAAS,EAAC,MAAM,aAAa,CAAC;AAEtC,MAAM,CAAC,MAAM,UAAU,GAAwB,CAAC,EAQ/C,EAAE,EAAE;QAR2C,EAC9C,SAAS,EACT,QAAQ,EACR,WAAW,EACX,KAAK,EACL,QAAQ,EACR,MAAM,OAEP,EADI,IAAI,cAPuC,uEAQ/C,CADQ;IAEP,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAS,KAAK,IAAI,EAAE,CAAC,CAAC;IAClE,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAqB,SAAS,CAAC,CAAC;IAElE,MAAM,aAAa,GAAG,WAAW,CAAC,CAAC,KAAa,EAAsB,EAAE;QACtE,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YACxB,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,MAAM,UAAU,GAAG,4BAA4B,CAAC;QAChD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YAC5B,OAAO,8BAA8B,CAAC;QACxC,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,UAAU,GAAG,WAAW,CAC5B,CAAC,KAAa,EAAE,EAAE;QAChB,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,CAAC,KAAK,CAAC,CAAC;QAChB,CAAC;QACD,MAAM,eAAe,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;QAC7C,IAAI,eAAe,EAAE,CAAC;YACpB,QAAQ,CAAC,eAAe,CAAC,CAAC;QAC5B,CAAC;aAAM,CAAC;YACN,QAAQ,CAAC,SAAS,CAAC,CAAC;QACtB,CAAC;IACH,CAAC,EACD,CAAC,MAAM,EAAE,aAAa,CAAC,CACxB,CAAC;IAEF,MAAM,YAAY,GAAG,WAAW,CAC9B,CAAC,KAAa,EAAE,EAAE;QAChB,aAAa,CAAC,KAAK,CAAC,CAAC;QACrB,MAAM,eAAe,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;QAC7C,IAAI,KAAK,IAAI,CAAC,eAAe,EAAE,CAAC;YAC9B,QAAQ,CAAC,SAAS,CAAC,CAAC;QACtB,CAAC;QACD,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,QAAQ,CAAC,KAAK,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,EACD,CAAC,QAAQ,EAAE,KAAK,EAAE,aAAa,CAAC,CACjC,CAAC;IAEF,OAAO,CACL,oBAAC,SAAS,kBACR,SAAS,EAAE,KAAK,EAChB,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,WAAW,EACxB,IAAI,EAAC,OAAO,EACZ,KAAK,EAAE,UAAU,EACjB,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,EAC5B,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,IAC5B,IAAI,EACR,CACH,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"EmailField.js","sourceRoot":"","sources":["../src/EmailField.tsx"],"names":[],"mappings":"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"}
@@ -9,11 +9,15 @@ var __rest = (this && this.__rest) || function (s, e) {
9
9
  }
10
10
  return t;
11
11
  };
12
- import React, { useCallback, useState } from "react";
12
+ import React, { useCallback, useEffect, useState } from "react";
13
13
  import { TextField } from "./TextField";
14
14
  export const NumberField = (_a) => {
15
15
  var { errorText, value: valueProp, max, min, type } = _a, rest = __rest(_a, ["errorText", "value", "max", "min", "type"]);
16
16
  const [value, setValue] = useState(valueProp !== null && valueProp !== void 0 ? valueProp : "");
17
+ // Sync local state with incoming prop values
18
+ useEffect(() => {
19
+ setValue(valueProp !== null && valueProp !== void 0 ? valueProp : "");
20
+ }, [valueProp]);
17
21
  const getError = useCallback((newV) => {
18
22
  const v = String(newV);
19
23
  if (!v) {
@@ -1 +1 @@
1
- {"version":3,"file":"NumberField.js","sourceRoot":"","sources":["../src/NumberField.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAK,EAAE,EAAK,WAAW,EAAE,QAAQ,EAAC,MAAM,OAAO,CAAC;AAGvD,OAAO,EAAC,SAAS,EAAC,MAAM,aAAa,CAAC;AAEtC,MAAM,CAAC,MAAM,WAAW,GAAyB,CAAC,EAO/B,EAAE,EAAE;QAP2B,EAChD,SAAS,EACT,KAAK,EAAE,SAAS,EAChB,GAAG,EACH,GAAG,EACH,IAAI,OAEa,EADd,IAAI,cANyC,4CAOjD,CADQ;IAEP,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,EAAE,CAAC,CAAC;IAEpD,MAAM,QAAQ,GAAG,WAAW,CAC1B,CAAC,IAAa,EAAE,EAAE;QAChB,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;QACvB,IAAI,CAAC,CAAC,EAAE,CAAC;YACP,OAAO;QACT,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAC5D,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC;YACpE,OAAO,0BAA0B,CAAC;QACpC,CAAC;aAAM,IACL,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,IAAI,CAAC;YACpD,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,EACjC,CAAC;YACD,OAAO,yBAAyB,CAAC;QACnC,CAAC;aAAM,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,GAAG,GAAG,EAAE,CAAC;YAC1C,OAAO,uCAAuC,GAAG,EAAE,CAAC;QACtD,CAAC;aAAM,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,GAAG,GAAG,EAAE,CAAC;YAC1C,OAAO,0CAA0C,GAAG,EAAE,CAAC;QACzD,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC,EACD,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CACjB,CAAC;IAEF,MAAM,KAAK,GAAG,SAAS,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC;IAE3C,gDAAgD;IAChD,MAAM,aAAa,GAAG,WAAW,CAC/B,CAAC,CAAS,EAAE,EAAE;QACZ,QAAQ,CAAC,CAAC,CAAC,CAAC;QACZ,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QACxB,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QACnB,CAAC;IACH,CAAC,EACD,CAAC,QAAQ,EAAE,IAAI,CAAC,CACjB,CAAC;IAEF,OAAO,oBAAC,SAAS,oBAAK,IAAI,IAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,aAAa,IAAI,CAAC;AAC1F,CAAC,CAAC"}
1
+ {"version":3,"file":"NumberField.js","sourceRoot":"","sources":["../src/NumberField.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAK,EAAE,EAAK,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAC,MAAM,OAAO,CAAC;AAGlE,OAAO,EAAC,SAAS,EAAC,MAAM,aAAa,CAAC;AAEtC,MAAM,CAAC,MAAM,WAAW,GAAyB,CAAC,EAO/B,EAAE,EAAE;QAP2B,EAChD,SAAS,EACT,KAAK,EAAE,SAAS,EAChB,GAAG,EACH,GAAG,EACH,IAAI,OAEa,EADd,IAAI,cANyC,4CAOjD,CADQ;IAEP,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,EAAE,CAAC,CAAC;IAEpD,6CAA6C;IAC7C,SAAS,CAAC,GAAG,EAAE;QACb,QAAQ,CAAC,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,EAAE,CAAC,CAAC;IAC5B,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;IAEhB,MAAM,QAAQ,GAAG,WAAW,CAC1B,CAAC,IAAa,EAAE,EAAE;QAChB,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;QACvB,IAAI,CAAC,CAAC,EAAE,CAAC;YACP,OAAO;QACT,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAC5D,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC;YACpE,OAAO,0BAA0B,CAAC;QACpC,CAAC;aAAM,IACL,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,IAAI,CAAC;YACpD,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,EACjC,CAAC;YACD,OAAO,yBAAyB,CAAC;QACnC,CAAC;aAAM,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,GAAG,GAAG,EAAE,CAAC;YAC1C,OAAO,uCAAuC,GAAG,EAAE,CAAC;QACtD,CAAC;aAAM,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,GAAG,GAAG,EAAE,CAAC;YAC1C,OAAO,0CAA0C,GAAG,EAAE,CAAC;QACzD,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC,EACD,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CACjB,CAAC;IAEF,MAAM,KAAK,GAAG,SAAS,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC;IAE3C,gDAAgD;IAChD,MAAM,aAAa,GAAG,WAAW,CAC/B,CAAC,CAAS,EAAE,EAAE;QACZ,QAAQ,CAAC,CAAC,CAAC,CAAC;QACZ,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QACxB,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QACnB,CAAC;IACH,CAAC,EACD,CAAC,QAAQ,EAAE,IAAI,CAAC,CACjB,CAAC;IAEF,OAAO,oBAAC,SAAS,oBAAK,IAAI,IAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,aAAa,IAAI,CAAC;AAC1F,CAAC,CAAC"}
@@ -10,12 +10,17 @@ var __rest = (this && this.__rest) || function (s, e) {
10
10
  return t;
11
11
  };
12
12
  import { AsYouType, parsePhoneNumberFromString } from "libphonenumber-js";
13
- import React, { useCallback, useState } from "react";
13
+ import React, { useCallback, useEffect, useState } from "react";
14
14
  import { TextField } from "./TextField";
15
15
  export const PhoneNumberField = (_a) => {
16
16
  var { errorText, iconName, placeholder, value, onChange, onBlur, defaultCountryCode = "US" } = _a, rest = __rest(_a, ["errorText", "iconName", "placeholder", "value", "onChange", "onBlur", "defaultCountryCode"]);
17
17
  const [localValue, setLocalValue] = useState(value || "");
18
18
  const [error, setError] = useState(errorText);
19
+ // Sync local state with incoming prop values
20
+ useEffect(() => {
21
+ setLocalValue(value || "");
22
+ setError(errorText);
23
+ }, [value, errorText]);
19
24
  const validatePhoneNumber = useCallback((phoneNumber) => {
20
25
  if (phoneNumber.trim() === "") {
21
26
  return undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"PhoneNumberField.js","sourceRoot":"","sources":["../src/PhoneNumberField.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PhoneNumberField.js","sourceRoot":"","sources":["../src/PhoneNumberField.tsx"],"names":[],"mappings":"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"}
package/dist/TextField.js CHANGED
@@ -104,8 +104,8 @@ export const TextField = ({ title, disabled, helperText, errorText, value, onCha
104
104
  flexDirection: "column",
105
105
  width: "100%",
106
106
  } },
107
- title && React.createElement(FieldTitle, { text: title }),
108
- Boolean(errorText) && errorText && React.createElement(FieldError, { text: errorText }),
107
+ Boolean(title) && React.createElement(FieldTitle, { text: title }),
108
+ Boolean(errorText) && React.createElement(FieldError, { text: errorText }),
109
109
  React.createElement(View, { style: {
110
110
  flexDirection: "row",
111
111
  alignItems: "center",
@@ -150,6 +150,6 @@ export const TextField = ({ title, disabled, helperText, errorText, value, onCha
150
150
  } }),
151
151
  Boolean(iconName) && (React.createElement(Pressable, { accessibilityRole: "button", onPress: onIconClick },
152
152
  React.createElement(Icon, { iconName: iconName, size: "md" })))),
153
- helperText && React.createElement(FieldHelperText, { text: helperText })));
153
+ Boolean(helperText) && React.createElement(FieldHelperText, { text: helperText })));
154
154
  };
155
155
  //# sourceMappingURL=TextField.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TextField.js","sourceRoot":"","sources":["../src/TextField.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TextField.js","sourceRoot":"","sources":["../src/TextField.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ferns-ui",
3
- "version": "1.0.6",
3
+ "version": "1.1.0",
4
4
  "main": "dist/index.js",
5
5
  "license": "Apache-2.0",
6
6
  "scripts": {
@@ -85,15 +85,15 @@
85
85
  "devDependencies": {
86
86
  "@expo/config-plugins": "~8.0.0",
87
87
  "@types/jest": "^29.5.12",
88
- "@types/lodash": "^4.17.4",
88
+ "@types/lodash": "^4.17.0",
89
89
  "@types/luxon": "^3.4.2",
90
90
  "@types/mdurl": "^2.0.0",
91
91
  "@types/react": "~18.2.45",
92
92
  "@types/react-datetime-picker": "^5.0.0",
93
93
  "@types/react-signature-canvas": "^1.0.5",
94
94
  "@types/react-time-picker": "^6.0.0",
95
- "@typescript-eslint/eslint-plugin": "^7.8.0",
96
- "@typescript-eslint/parser": "^7.8.0",
95
+ "@typescript-eslint/eslint-plugin": "^8.2.0",
96
+ "@typescript-eslint/parser": "^8.2.0",
97
97
  "babel-jest": "^29.7.0",
98
98
  "babel-preset-react-app": "^10.0.1",
99
99
  "eslint": "^8.57.0",
@@ -151,10 +151,10 @@
151
151
  "react-datetime-picker": "^6.0.1",
152
152
  "react-dev-utils": "^12.0.1",
153
153
  "react-dom": "18.2.0",
154
- "react-native": "0.74.1",
154
+ "react-native": "0.74.5",
155
155
  "react-native-actions-sheet": "^0.9.3",
156
156
  "react-native-calendars": "^1.1305.0",
157
- "react-native-drawer-layout": "3.3.0",
157
+ "react-native-drawer-layout": "^3.3.2",
158
158
  "react-native-gesture-handler": "~2.16.1",
159
159
  "react-native-google-places-autocomplete": "^2.5.6",
160
160
  "react-native-modalize": "^2.1.1",
@@ -164,7 +164,7 @@
164
164
  "react-native-reanimated": "~3.10.1",
165
165
  "react-native-signature-canvas": "^4.7.2",
166
166
  "react-native-svg": "15.2.0",
167
- "react-native-swiper-flatlist": "^3.2.4",
167
+ "react-native-swiper-flatlist": "^3.2.3",
168
168
  "react-native-toast-notifications": "^3.4.0",
169
169
  "react-native-webview": "13.8.6",
170
170
  "react-signature-canvas": "^1.0.6",
@@ -6,6 +6,11 @@ import {FieldHelperText, FieldTitle} from "./fieldElements";
6
6
  import {Text} from "./Text";
7
7
  import {useTheme} from "./Theme";
8
8
 
9
+ const TOUCHABLE_SIZE = 20;
10
+ const OFFSET = 10;
11
+ const WIDTH = 36;
12
+ const WIDTH_WITH_OFFSET = OFFSET + WIDTH;
13
+
9
14
  export const BooleanField = ({
10
15
  title,
11
16
  variant,
@@ -16,29 +21,29 @@ export const BooleanField = ({
16
21
  helperText,
17
22
  }: BooleanFieldProps): ReactElement => {
18
23
  const {theme} = useTheme();
19
- const backgroundColor = useRef(new Animated.Value(value ? 75 : -75)).current;
20
- const circleColor = useRef(new Animated.Value(value ? 75 : -75)).current;
21
- const circleBorderColor = useRef(new Animated.Value(value ? 75 : -75)).current;
22
- const transformSwitch = useRef(new Animated.Value(value ? 15 : -15)).current;
24
+ const backgroundColor = useRef(new Animated.Value(value ? WIDTH_WITH_OFFSET : -1 * WIDTH_WITH_OFFSET)).current;
25
+ const circleColor = useRef(new Animated.Value(value ? WIDTH_WITH_OFFSET : -1 * WIDTH_WITH_OFFSET)).current;
26
+ const circleBorderColor = useRef(new Animated.Value(value ? WIDTH_WITH_OFFSET : -1 * WIDTH_WITH_OFFSET)).current;
27
+ const transformSwitch = useRef(new Animated.Value(value ? OFFSET : -1 * OFFSET)).current;
23
28
 
24
29
  const animateSwitch = (newValue: boolean) => {
25
30
  Animated.parallel([
26
31
  Animated.spring(transformSwitch, {
27
- toValue: newValue ? 15 : -15,
32
+ toValue: newValue ? OFFSET : -1 * OFFSET,
28
33
  useNativeDriver: false,
29
34
  }),
30
35
  Animated.timing(backgroundColor, {
31
- toValue: newValue ? 75 : -75,
36
+ toValue: newValue ? WIDTH_WITH_OFFSET : -1 * WIDTH_WITH_OFFSET,
32
37
  duration: 200,
33
38
  useNativeDriver: false,
34
39
  }),
35
40
  Animated.timing(circleColor, {
36
- toValue: newValue ? 75 : -75,
41
+ toValue: newValue ? WIDTH_WITH_OFFSET : -1 * WIDTH_WITH_OFFSET,
37
42
  duration: 200,
38
43
  useNativeDriver: false,
39
44
  }),
40
45
  Animated.timing(circleBorderColor, {
41
- toValue: value ? 75 : -75,
46
+ toValue: value ? WIDTH_WITH_OFFSET : -1 * WIDTH_WITH_OFFSET,
42
47
  duration: 200,
43
48
  useNativeDriver: false,
44
49
  }),
@@ -60,7 +65,7 @@ export const BooleanField = ({
60
65
  }, [value]);
61
66
 
62
67
  const interpolatedColorAnimation = backgroundColor.interpolate({
63
- inputRange: [-75, 75],
68
+ inputRange: [-1 * WIDTH_WITH_OFFSET, WIDTH_WITH_OFFSET],
64
69
  outputRange: [theme.surface.base, theme.surface.secondaryDark],
65
70
  });
66
71
 
@@ -83,20 +88,20 @@ export const BooleanField = ({
83
88
  <View style={{flexDirection: "row", alignItems: "center", justifyContent: "center"}}>
84
89
  <Animated.View
85
90
  style={{
86
- width: 60,
87
- height: 30,
88
- borderRadius: 30,
91
+ width: WIDTH,
92
+ height: TOUCHABLE_SIZE,
93
+ borderRadius: TOUCHABLE_SIZE,
89
94
  backgroundColor: disabled ? theme.surface.disabled : interpolatedColorAnimation,
90
95
  borderColor: disabled ? theme.surface.disabled : theme.surface.secondaryDark,
91
96
  borderWidth: 1,
92
- marginHorizontal: variant === "title" ? undefined : 8,
93
- marginRight: variant === "title" ? 8 : undefined,
97
+ marginHorizontal: variant === "title" ? undefined : OFFSET,
98
+ marginRight: variant === "title" ? OFFSET : undefined,
94
99
  }}
95
100
  >
96
101
  <Animated.View
97
102
  style={{
98
103
  flex: 1,
99
- width: 60,
104
+ width: WIDTH,
100
105
  flexDirection: "row",
101
106
  justifyContent: "center",
102
107
  alignItems: "center",
@@ -108,9 +113,9 @@ export const BooleanField = ({
108
113
  borderWidth: 1,
109
114
  borderColor: disabled ? theme.surface.disabled : theme.surface.secondaryDark,
110
115
  backgroundColor: theme.surface.base,
111
- width: 30,
112
- height: 30,
113
- borderRadius: 15,
116
+ width: TOUCHABLE_SIZE,
117
+ height: TOUCHABLE_SIZE,
118
+ borderRadius: 10,
114
119
  alignItems: "center",
115
120
  justifyContent: "center",
116
121
  }}
@@ -2,7 +2,7 @@ import {getCalendars} from "expo-localization";
2
2
  import {DateTime} from "luxon";
3
3
  import React, {useCallback, useEffect, useState} from "react";
4
4
 
5
- import {DateTimeFieldProps} from "./Common";
5
+ import {DateTimeFieldProps, IconName} from "./Common";
6
6
  import {DateTimeActionSheet} from "./DateTimeActionSheet";
7
7
  import {printDate, printDateAndTime, printTime} from "./DateUtilities";
8
8
  import {TextField} from "./TextField";
@@ -13,13 +13,36 @@ export const DateTimeField = ({
13
13
  value,
14
14
  onChange,
15
15
  timezone: tz,
16
+ errorText,
17
+ disabled,
16
18
  ...rest
17
19
  }: DateTimeFieldProps): React.ReactElement => {
18
20
  const calendar = getCalendars()[0];
19
21
  const timezone = (tz || calendar?.timeZone) ?? "UTC"; // Fallback to UTC if timezone is undefined
20
22
 
23
+ let placeholder: string = "";
24
+ if (type === "time") {
25
+ placeholder = "hh:mm a";
26
+ } else if (type === "datetime") {
27
+ placeholder = "mm/dd/yyyy hh:mm a";
28
+ } else if (type === "date") {
29
+ placeholder = "mm/dd/yyyy";
30
+ }
31
+
32
+ let iconName: IconName | undefined;
33
+ if (disabled) {
34
+ iconName = undefined;
35
+ } else if (type === "time") {
36
+ iconName = "clock";
37
+ } else {
38
+ iconName = "calendar";
39
+ }
40
+
21
41
  const formatValue = useCallback(
22
42
  (val: string) => {
43
+ if (!val) {
44
+ return "";
45
+ }
23
46
  switch (type) {
24
47
  case "time":
25
48
  return printTime(val, {timezone, showTimezone: true});
@@ -82,7 +105,7 @@ export const DateTimeField = ({
82
105
  const dateActionSheetRef: React.RefObject<any> = React.createRef();
83
106
  const [formattedDate, setFormattedDate] = useState<string>(value ? formatValue(value) : "");
84
107
  const [showDate, setShowDate] = useState(false);
85
- const [error, setError] = useState<string>("");
108
+ const [localError, setLocalError] = useState<string>("");
86
109
 
87
110
  const onTextFieldChange = useCallback(
88
111
  (inputDate: string) => {
@@ -114,20 +137,26 @@ export const DateTimeField = ({
114
137
  .toUTC(0, {keepLocalTime: true});
115
138
  }
116
139
 
140
+ if (!parsedDate) {
141
+ setLocalError("Invalid date/time. Please format as " + `${placeholder}`);
142
+ setFormattedDate(formattedInput);
143
+ onChange("");
144
+ return;
145
+ }
117
146
  if (parsedDate?.isValid) {
118
147
  setFormattedDate(formatValue(parsedDate.toISO()));
119
- setError("");
148
+ setLocalError("");
120
149
  onChange(parsedDate.toISO());
121
150
  } else if (cleanedInput.length > (type === "datetime" ? 12 : type === "time" ? 4 : 8)) {
122
- setError("Invalid date/time");
151
+ setLocalError("Invalid date/time");
123
152
  setFormattedDate(formattedInput);
124
153
  onChange("");
125
154
  } else {
126
155
  setFormattedDate(formattedInput);
127
- setError("");
156
+ setLocalError("Invalid date/time. Please format as " + `${placeholder}`);
128
157
  }
129
158
  },
130
- [formatInputDate, type, timezone, formatValue, onChange]
159
+ [formatInputDate, type, timezone, formatValue, onChange, placeholder]
131
160
  );
132
161
 
133
162
  const onActionSheetChange = useCallback(
@@ -135,33 +164,31 @@ export const DateTimeField = ({
135
164
  onChange(inputDate);
136
165
  setFormattedDate(formatValue(inputDate));
137
166
  setShowDate(false);
138
- setError("");
167
+ setLocalError("");
139
168
  },
140
169
  [formatValue, onChange]
141
170
  );
142
171
 
143
- let placeholder: string = "";
144
- if (type === "time") {
145
- placeholder = "hh:mm a";
146
- } else if (type === "datetime") {
147
- placeholder = "mm/dd/yyyy hh:mm a";
148
- } else if (type === "date") {
149
- placeholder = "mm/dd/yyyy";
150
- }
151
-
152
172
  // if the value of the overall field changes via prop from the parent,
153
173
  // update the formattedDate to keep the value of the TextField and DateTimeActionSheet in sync
154
174
  useEffect(() => {
155
- if (value && formatValue(value) !== formattedDate) {
156
- setFormattedDate(formatValue(value));
175
+ if (value) {
176
+ const formatted = formatValue(value);
177
+ if (formattedDate !== formatted) {
178
+ setFormattedDate(formatted);
179
+ }
180
+ if (errorText) {
181
+ setLocalError(errorText);
182
+ }
157
183
  }
158
- }, [formatValue, formattedDate, value]);
184
+ }, [value, formatValue, formattedDate, errorText]);
159
185
 
160
186
  return (
161
187
  <>
162
188
  <TextField
163
- errorText={error}
164
- iconName={type === "time" ? "clock" : "calendar"}
189
+ disabled={disabled}
190
+ errorText={localError}
191
+ iconName={iconName}
165
192
  placeholder={placeholder}
166
193
  type="text"
167
194
  value={formattedDate}
@@ -171,15 +198,17 @@ export const DateTimeField = ({
171
198
  }}
172
199
  {...rest}
173
200
  />
174
- <DateTimeActionSheet
175
- actionSheetRef={dateActionSheetRef}
176
- timezone={timezone}
177
- type={type}
178
- value={value}
179
- visible={showDate}
180
- onChange={onActionSheetChange}
181
- onDismiss={() => setShowDate(false)}
182
- />
201
+ {!disabled && (
202
+ <DateTimeActionSheet
203
+ actionSheetRef={dateActionSheetRef}
204
+ timezone={timezone}
205
+ type={type}
206
+ value={value}
207
+ visible={showDate}
208
+ onChange={onActionSheetChange}
209
+ onDismiss={() => setShowDate(false)}
210
+ />
211
+ )}
183
212
  </>
184
213
  );
185
214
  };
@@ -1,4 +1,4 @@
1
- import React, {FC, useCallback, useState} from "react";
1
+ import React, {FC, useCallback, useEffect, useState} from "react";
2
2
 
3
3
  import {EmailFieldProps} from "./Common";
4
4
  import {TextField} from "./TextField";
@@ -26,6 +26,12 @@ export const EmailField: FC<EmailFieldProps> = ({
26
26
  return undefined;
27
27
  }, []);
28
28
 
29
+ // Sync local state with incoming prop values
30
+ useEffect(() => {
31
+ setLocalValue(value || "");
32
+ setError(errorText);
33
+ }, [value, errorText]);
34
+
29
35
  const handleBlur = useCallback(
30
36
  (email: string) => {
31
37
  if (onBlur) {
@@ -62,8 +68,18 @@ export const EmailField: FC<EmailFieldProps> = ({
62
68
  placeholder={placeholder}
63
69
  type="email"
64
70
  value={localValue}
65
- onBlur={(e) => handleBlur(e)}
66
- onChange={(e) => handleChange(e)}
71
+ onBlur={(e) => {
72
+ handleBlur(e);
73
+ if (onBlur) {
74
+ onBlur(value || "");
75
+ }
76
+ }}
77
+ onChange={(e) => {
78
+ handleChange(e);
79
+ if (onChange) {
80
+ onChange;
81
+ }
82
+ }}
67
83
  {...rest}
68
84
  />
69
85
  );
@@ -1,4 +1,4 @@
1
- import React, {FC, useCallback, useState} from "react";
1
+ import React, {FC, useCallback, useEffect, useState} from "react";
2
2
 
3
3
  import {NumberFieldProps} from "./Common";
4
4
  import {TextField} from "./TextField";
@@ -13,6 +13,11 @@ export const NumberField: FC<NumberFieldProps> = ({
13
13
  }: NumberFieldProps) => {
14
14
  const [value, setValue] = useState(valueProp ?? "");
15
15
 
16
+ // Sync local state with incoming prop values
17
+ useEffect(() => {
18
+ setValue(valueProp ?? "");
19
+ }, [valueProp]);
20
+
16
21
  const getError = useCallback(
17
22
  (newV?: string) => {
18
23
  const v = String(newV);
@@ -1,5 +1,5 @@
1
1
  import {AsYouType, parsePhoneNumberFromString} from "libphonenumber-js";
2
- import React, {FC, useCallback, useState} from "react";
2
+ import React, {FC, useCallback, useEffect, useState} from "react";
3
3
 
4
4
  import {PhoneNumberFieldProps} from "./Common";
5
5
  import {TextField} from "./TextField";
@@ -17,6 +17,12 @@ export const PhoneNumberField: FC<PhoneNumberFieldProps> = ({
17
17
  const [localValue, setLocalValue] = useState<string>(value || "");
18
18
  const [error, setError] = useState<string | undefined>(errorText);
19
19
 
20
+ // Sync local state with incoming prop values
21
+ useEffect(() => {
22
+ setLocalValue(value || "");
23
+ setError(errorText);
24
+ }, [value, errorText]);
25
+
20
26
  const validatePhoneNumber = useCallback(
21
27
  (phoneNumber: string): string | undefined => {
22
28
  if (phoneNumber.trim() === "") {
package/src/TextField.tsx CHANGED
@@ -152,8 +152,8 @@ export const TextField: FC<TextFieldProps> = ({
152
152
  width: "100%",
153
153
  }}
154
154
  >
155
- {title && <FieldTitle text={title} />}
156
- {Boolean(errorText) && errorText && <FieldError text={errorText} />}
155
+ {Boolean(title) && <FieldTitle text={title!} />}
156
+ {Boolean(errorText) && <FieldError text={errorText!} />}
157
157
  <View
158
158
  style={{
159
159
  flexDirection: "row",
@@ -229,7 +229,7 @@ export const TextField: FC<TextFieldProps> = ({
229
229
  </Pressable>
230
230
  )}
231
231
  </View>
232
- {helperText && <FieldHelperText text={helperText} />}
232
+ {Boolean(helperText) && <FieldHelperText text={helperText!} />}
233
233
  {/* {type === "numberRange" && value && (
234
234
  <NumberPickerActionSheet
235
235
  actionSheetRef={numberRangeActionSheetRef}