react-native-better-html 1.0.25 → 1.0.27

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.
package/dist/index.js CHANGED
@@ -37,6 +37,7 @@ __export(index_exports, {
37
37
  Icon: () => Icon_default,
38
38
  Image: () => Image_default,
39
39
  InputField: () => InputField_default,
40
+ Label: () => Label_default,
40
41
  ListItem: () => ListItem_default,
41
42
  Loader: () => Loader_default,
42
43
  ScreenHolder: () => ScreenHolder_default,
@@ -47,38 +48,38 @@ __export(index_exports, {
47
48
  alertControls: () => alertControls,
48
49
  alertsPlugin: () => alertsPlugin,
49
50
  asyncStoragePlugin: () => asyncStoragePlugin,
50
- colorThemeControls: () => import_react_better_core18.colorThemeControls,
51
- countries: () => import_react_better_core18.countries,
52
- darkenColor: () => import_react_better_core18.darkenColor,
51
+ colorThemeControls: () => import_react_better_core19.colorThemeControls,
52
+ countries: () => import_react_better_core19.countries,
53
+ darkenColor: () => import_react_better_core19.darkenColor,
53
54
  defaultAlertsPluginOptions: () => defaultAlertsPluginOptions,
54
55
  defaultAsyncStoragePluginOptions: () => defaultAsyncStoragePluginOptions,
55
- desaturateColor: () => import_react_better_core18.desaturateColor,
56
- eventPreventDefault: () => import_react_better_core18.eventPreventDefault,
57
- eventPreventStop: () => import_react_better_core18.eventPreventStop,
58
- eventStopPropagation: () => import_react_better_core18.eventStopPropagation,
59
- formatPhoneNumber: () => import_react_better_core18.formatPhoneNumber,
56
+ desaturateColor: () => import_react_better_core19.desaturateColor,
57
+ eventPreventDefault: () => import_react_better_core19.eventPreventDefault,
58
+ eventPreventStop: () => import_react_better_core19.eventPreventStop,
59
+ eventStopPropagation: () => import_react_better_core19.eventStopPropagation,
60
+ formatPhoneNumber: () => import_react_better_core19.formatPhoneNumber,
60
61
  generateAsyncStorage: () => generateAsyncStorage,
61
- generateRandomString: () => import_react_better_core18.generateRandomString,
62
+ generateRandomString: () => import_react_better_core19.generateRandomString,
62
63
  getFormErrorObject: () => getFormErrorObject,
63
- getPluralWord: () => import_react_better_core18.getPluralWord,
64
- lightenColor: () => import_react_better_core18.lightenColor,
65
- loaderControls: () => import_react_better_core18.loaderControls,
64
+ getPluralWord: () => import_react_better_core19.getPluralWord,
65
+ lightenColor: () => import_react_better_core19.lightenColor,
66
+ loaderControls: () => import_react_better_core19.loaderControls,
66
67
  pressStrength: () => pressStrength,
67
- saturateColor: () => import_react_better_core18.saturateColor,
68
+ saturateColor: () => import_react_better_core19.saturateColor,
68
69
  useAlertControls: () => useAlertControls,
69
70
  useBetterComponentsContext: () => useBetterComponentsContext,
70
- useBooleanState: () => import_react_better_core18.useBooleanState,
71
- useDebounceState: () => import_react_better_core18.useDebounceState,
71
+ useBooleanState: () => import_react_better_core19.useBooleanState,
72
+ useDebounceState: () => import_react_better_core19.useDebounceState,
72
73
  useDevice: () => useDevice,
73
74
  useEventEmitter: () => useEventEmitter,
74
75
  useForm: () => useForm,
75
76
  useKeyboard: () => useKeyboard,
76
- useLoader: () => import_react_better_core18.useLoader,
77
- useLoaderControls: () => import_react_better_core18.useLoaderControls,
78
- useTheme: () => import_react_better_core18.useTheme
77
+ useLoader: () => import_react_better_core19.useLoader,
78
+ useLoaderControls: () => import_react_better_core19.useLoaderControls,
79
+ useTheme: () => import_react_better_core19.useTheme
79
80
  });
80
81
  module.exports = __toCommonJS(index_exports);
81
- var import_react_better_core18 = require("react-better-core");
82
+ var import_react_better_core19 = require("react-better-core");
82
83
 
83
84
  // src/components/BetterComponentsProvider.tsx
84
85
  var import_react12 = require("react");
@@ -516,13 +517,15 @@ function useForm(options) {
516
517
  setFieldValue(field, value);
517
518
  }
518
519
  } : {
520
+ required: requiredFields?.includes(field),
519
521
  isChecked: values[field],
522
+ errorMessage: errors[field],
520
523
  onChange: (value) => {
521
524
  setFieldValue(field, value);
522
525
  }
523
526
  };
524
527
  },
525
- [values, setFieldValue]
528
+ [values, setFieldValue, errors, requiredFields]
526
529
  );
527
530
  const reset = (0, import_react.useCallback)(() => {
528
531
  setValues(defaultValues);
@@ -537,7 +540,9 @@ function useForm(options) {
537
540
  return Object.keys(validationErrors).length === 0;
538
541
  }, [validate, values]);
539
542
  const canSubmit = (0, import_react.useMemo)(() => {
540
- const requiredFieldsHaveValues = requiredFields?.every((field) => values[field] !== void 0 && values[field] !== "") ?? true;
543
+ const requiredFieldsHaveValues = requiredFields?.every(
544
+ (field) => values[field] !== void 0 && values[field] !== "" && values[field] !== false
545
+ ) ?? true;
541
546
  return isValid && requiredFieldsHaveValues;
542
547
  }, [isValid, requiredFields]);
543
548
  return {
@@ -1647,11 +1652,24 @@ function generateAsyncStorage() {
1647
1652
  };
1648
1653
  }
1649
1654
 
1650
- // src/components/ScreenHolder.tsx
1655
+ // src/components/Label.tsx
1651
1656
  var import_react13 = require("react");
1652
- var import_react_native8 = require("react-native");
1653
1657
  var import_react_better_core12 = require("react-better-core");
1654
1658
  var import_jsx_runtime11 = require("react/jsx-runtime");
1659
+ function Label({ text, required, isError }) {
1660
+ const theme2 = (0, import_react_better_core12.useTheme)();
1661
+ return /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(View_default, { isRow: true, alignItems: "center", gap: 2, children: [
1662
+ text && /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(Text_default, { fontSize: 14, color: isError ? theme2.colors.error : theme2.colors.textSecondary, children: text }),
1663
+ required && /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(Text_default, { color: theme2.colors.error, children: "*" })
1664
+ ] });
1665
+ }
1666
+ var Label_default = (0, import_react13.memo)(Label);
1667
+
1668
+ // src/components/ScreenHolder.tsx
1669
+ var import_react14 = require("react");
1670
+ var import_react_native8 = require("react-native");
1671
+ var import_react_better_core13 = require("react-better-core");
1672
+ var import_jsx_runtime12 = require("react/jsx-runtime");
1655
1673
  var ScreenHolderComponent = ({
1656
1674
  noScroll,
1657
1675
  noSideSpace,
@@ -1669,17 +1687,17 @@ var ScreenHolderComponent = ({
1669
1687
  withNoHeader,
1670
1688
  children
1671
1689
  }) => {
1672
- const theme2 = (0, import_react_better_core12.useTheme)();
1690
+ const theme2 = (0, import_react_better_core13.useTheme)();
1673
1691
  const device = useDevice();
1674
1692
  const keyboard = useKeyboard();
1675
- const [isRefreshing, setIsRefreshing] = (0, import_react_better_core12.useBooleanState)();
1676
- const keyboardAvoidingViewStyle = (0, import_react13.useMemo)(
1693
+ const [isRefreshing, setIsRefreshing] = (0, import_react_better_core13.useBooleanState)();
1694
+ const keyboardAvoidingViewStyle = (0, import_react14.useMemo)(
1677
1695
  () => ({
1678
1696
  flex: 1
1679
1697
  }),
1680
1698
  []
1681
1699
  );
1682
- const onRefreshElement = (0, import_react13.useCallback)(() => {
1700
+ const onRefreshElement = (0, import_react14.useCallback)(() => {
1683
1701
  setIsRefreshing.setTrue();
1684
1702
  onRefresh?.();
1685
1703
  setTimeout(() => {
@@ -1687,7 +1705,7 @@ var ScreenHolderComponent = ({
1687
1705
  onRefreshEnd?.();
1688
1706
  }, refreshTimeout * 1e3);
1689
1707
  }, [onRefresh, onRefreshEnd, refreshTimeout]);
1690
- const content = /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
1708
+ const content = /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
1691
1709
  View_default,
1692
1710
  {
1693
1711
  flex: 1,
@@ -1698,21 +1716,21 @@ var ScreenHolderComponent = ({
1698
1716
  }
1699
1717
  );
1700
1718
  const withRefresh = onRefresh || onRefreshEnd;
1701
- return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(View_default, { flex: 1, backgroundColor: backgroundColor ?? theme2.colors.backgroundBase, children: /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(
1719
+ return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(View_default, { flex: 1, backgroundColor: backgroundColor ?? theme2.colors.backgroundBase, children: /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(
1702
1720
  import_react_native8.KeyboardAvoidingView,
1703
1721
  {
1704
1722
  style: keyboardAvoidingViewStyle,
1705
1723
  keyboardVerticalOffset: keyboardVerticalOffset ?? (withNoHeader ? import_react_native8.Platform.OS === "ios" ? 0 : theme2.styles.gap : keepFooterOnKeyboardOpened ? import_react_native8.Platform.OS === "ios" ? device.safeArea.afterCalculations.bottom : theme2.styles.gap : void 0),
1706
1724
  behavior: import_react_native8.Platform.OS === "ios" ? "padding" : "height",
1707
1725
  children: [
1708
- /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(View_default, { flex: 1, children: noScroll ? content : /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
1726
+ /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(View_default, { flex: 1, children: noScroll ? content : /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
1709
1727
  import_react_native8.ScrollView,
1710
1728
  {
1711
- refreshControl: withRefresh ? /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_react_native8.RefreshControl, { refreshing: isRefreshing, onRefresh: onRefreshElement }) : void 0,
1729
+ refreshControl: withRefresh ? /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_react_native8.RefreshControl, { refreshing: isRefreshing, onRefresh: onRefreshElement }) : void 0,
1712
1730
  children: content
1713
1731
  }
1714
1732
  ) }),
1715
- keepFooterOnKeyboardOpened || (import_react_native8.Platform.OS === "ios" ? !keyboard.willOpen : !keyboard.isOpened) ? footer && /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(View_default, { children: footer }) : !withNoHeader && /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
1733
+ keepFooterOnKeyboardOpened || (import_react_native8.Platform.OS === "ios" ? !keyboard.willOpen : !keyboard.isOpened) ? footer && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(View_default, { children: footer }) : !withNoHeader && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
1716
1734
  View_default,
1717
1735
  {
1718
1736
  width: "100%",
@@ -1730,10 +1748,10 @@ ScreenHolderComponent.footer = function Footer({
1730
1748
  withNoHeader,
1731
1749
  children
1732
1750
  }) {
1733
- const theme2 = (0, import_react_better_core12.useTheme)();
1751
+ const theme2 = (0, import_react_better_core13.useTheme)();
1734
1752
  const device = useDevice();
1735
1753
  const keyboard = useKeyboard();
1736
- return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
1754
+ return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
1737
1755
  View_default,
1738
1756
  {
1739
1757
  backgroundColor: backgroundColor ?? theme2.colors.backgroundBase,
@@ -1744,17 +1762,17 @@ ScreenHolderComponent.footer = function Footer({
1744
1762
  }
1745
1763
  );
1746
1764
  };
1747
- var ScreenHolder = (0, import_react13.memo)(ScreenHolderComponent);
1765
+ var ScreenHolder = (0, import_react14.memo)(ScreenHolderComponent);
1748
1766
  ScreenHolder.footer = ScreenHolderComponent.footer;
1749
1767
  var ScreenHolder_default = ScreenHolder;
1750
1768
 
1751
1769
  // src/components/InputField.tsx
1752
- var import_react14 = require("react");
1770
+ var import_react15 = require("react");
1753
1771
  var import_react_native9 = require("react-native");
1754
1772
  var import_datetimepicker = __toESM(require("@react-native-community/datetimepicker"));
1755
- var import_react_better_core13 = require("react-better-core");
1756
- var import_jsx_runtime12 = require("react/jsx-runtime");
1757
- var InputFieldComponent = (0, import_react14.forwardRef)(
1773
+ var import_react_better_core14 = require("react-better-core");
1774
+ var import_jsx_runtime13 = require("react/jsx-runtime");
1775
+ var InputFieldComponent = (0, import_react15.forwardRef)(
1758
1776
  ({
1759
1777
  flex,
1760
1778
  placeholder,
@@ -1805,12 +1823,12 @@ var InputFieldComponent = (0, import_react14.forwardRef)(
1805
1823
  onPressEnter,
1806
1824
  ...props
1807
1825
  }, ref) => {
1808
- const theme2 = (0, import_react_better_core13.useTheme)();
1809
- const { colorTheme } = (0, import_react_better_core13.useBetterCoreContext)();
1810
- const textInputRef = (0, import_react14.useRef)(null);
1811
- const [internalValue, setInternalValue] = (0, import_react14.useState)(value?.toString() || defaultValue || "");
1812
- const [internalDateValue, setInternalDateValue] = (0, import_react14.useState)();
1813
- const [isFocused, setIsFocused] = (0, import_react_better_core13.useBooleanState)();
1826
+ const theme2 = (0, import_react_better_core14.useTheme)();
1827
+ const { colorTheme } = (0, import_react_better_core14.useBetterCoreContext)();
1828
+ const textInputRef = (0, import_react15.useRef)(null);
1829
+ const [internalValue, setInternalValue] = (0, import_react15.useState)(value?.toString() || defaultValue || "");
1830
+ const [internalDateValue, setInternalDateValue] = (0, import_react15.useState)();
1831
+ const [isFocused, setIsFocused] = (0, import_react_better_core14.useBooleanState)();
1814
1832
  const isIOSDateTime = import_react_native9.Platform.OS === "ios" && (type === "date" || type === "time");
1815
1833
  const iconSize = 16;
1816
1834
  const iconPadding = onPressRightIcon ? theme2.styles.gap : 0;
@@ -1819,14 +1837,14 @@ var InputFieldComponent = (0, import_react14.forwardRef)(
1819
1837
  const readyPaddingHorizontal = paddingHorizontal ?? theme2.styles.space;
1820
1838
  const readyPaddingVertical = paddingVertical ? parseFloat(paddingVertical.toString()) : (theme2.styles.space + theme2.styles.gap) / 2;
1821
1839
  const readyHeight = height ?? isIOSDateTime ? void 0 : borderWidth + readyPaddingVertical + lineHeight + readyPaddingVertical + borderWidth + (import_react_native9.Platform.OS === "android" ? 2 : 0);
1822
- const onValueChangeRNDateTimePicker = (0, import_react14.useCallback)(
1840
+ const onValueChangeRNDateTimePicker = (0, import_react15.useCallback)(
1823
1841
  (event, data) => {
1824
1842
  setInternalDateValue(data);
1825
1843
  onChange?.(data?.toISOString() ?? "");
1826
1844
  },
1827
1845
  [onChange]
1828
1846
  );
1829
- const onPressInputField = (0, import_react14.useCallback)(
1847
+ const onPressInputField = (0, import_react15.useCallback)(
1830
1848
  (event) => {
1831
1849
  onPress?.(event);
1832
1850
  if (type === "date" || type === "time") {
@@ -1854,22 +1872,22 @@ var InputFieldComponent = (0, import_react14.forwardRef)(
1854
1872
  },
1855
1873
  [onPress, type, internalDateValue, onValueChangeRNDateTimePicker]
1856
1874
  );
1857
- const onFocusElement = (0, import_react14.useCallback)((event) => {
1875
+ const onFocusElement = (0, import_react15.useCallback)((event) => {
1858
1876
  setIsFocused.setTrue();
1859
1877
  onFocus?.(event);
1860
1878
  }, []);
1861
- const onBlurElement = (0, import_react14.useCallback)((event) => {
1879
+ const onBlurElement = (0, import_react15.useCallback)((event) => {
1862
1880
  setIsFocused.setFalse();
1863
1881
  onBlur?.(event);
1864
1882
  }, []);
1865
- const onChangeText = (0, import_react14.useCallback)(
1883
+ const onChangeText = (0, import_react15.useCallback)(
1866
1884
  (text) => {
1867
1885
  setInternalValue(text);
1868
1886
  onChange?.(text);
1869
1887
  },
1870
1888
  [onChange]
1871
1889
  );
1872
- const textInputStyle = (0, import_react14.useMemo)(
1890
+ const textInputStyle = (0, import_react15.useMemo)(
1873
1891
  () => ({
1874
1892
  flex: 1,
1875
1893
  fontSize,
@@ -1894,14 +1912,14 @@ var InputFieldComponent = (0, import_react14.forwardRef)(
1894
1912
  rightIcon
1895
1913
  ]
1896
1914
  );
1897
- const rnDateTimePickerStyle = (0, import_react14.useMemo)(
1915
+ const rnDateTimePickerStyle = (0, import_react15.useMemo)(
1898
1916
  () => ({
1899
1917
  flex: iOSDateTimeFullSize ? 1 : void 0,
1900
1918
  marginLeft: -8 + (iOSDateTimeFullSize ? 0 : theme2.styles.space)
1901
1919
  }),
1902
1920
  [iOSDateTimeFullSize]
1903
1921
  );
1904
- (0, import_react14.useEffect)(() => {
1922
+ (0, import_react15.useEffect)(() => {
1905
1923
  if (value === void 0) return;
1906
1924
  setInternalValue(value.toString());
1907
1925
  try {
@@ -1909,7 +1927,7 @@ var InputFieldComponent = (0, import_react14.forwardRef)(
1909
1927
  } catch (error) {
1910
1928
  }
1911
1929
  }, [value]);
1912
- (0, import_react14.useEffect)(() => {
1930
+ (0, import_react15.useEffect)(() => {
1913
1931
  if (type !== "date" && type !== "time") return;
1914
1932
  const date = internalDateValue?.toISOString().split("T")[0] ?? "";
1915
1933
  const hours = internalDateValue ? internalDateValue.getHours().toString() : "00";
@@ -1918,17 +1936,14 @@ var InputFieldComponent = (0, import_react14.forwardRef)(
1918
1936
  type === "date" ? date : internalDateValue ? `${hours.length === 1 ? `0${hours}` : hours}:${minutes.length === 1 ? `0${minutes}` : minutes}` : ""
1919
1937
  );
1920
1938
  }, [internalDateValue]);
1921
- (0, import_react14.useImperativeHandle)(ref, () => {
1939
+ (0, import_react15.useImperativeHandle)(ref, () => {
1922
1940
  return textInputRef.current;
1923
1941
  }, []);
1924
1942
  const withPressInputField = !!onPress || type === "date" || type === "time";
1925
- const prefixSuffixBackgroundColor = colorTheme === "light" ? (0, import_react_better_core13.darkenColor)(theme2.colors.backgroundContent, 0.03) : (0, import_react_better_core13.lightenColor)(theme2.colors.backgroundContent, 0.1);
1926
- const labelComponent = label && /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(View_default, { isRow: true, alignItems: "center", gap: 2, children: [
1927
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(Text_default, { fontSize: 14, color: isError ? theme2.colors.error : theme2.colors.textSecondary, children: label }),
1928
- required && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(Text_default, { color: theme2.colors.error, children: "*" })
1929
- ] });
1943
+ const prefixSuffixBackgroundColor = colorTheme === "light" ? (0, import_react_better_core14.darkenColor)(theme2.colors.backgroundContent, 0.03) : (0, import_react_better_core14.lightenColor)(theme2.colors.backgroundContent, 0.1);
1944
+ const labelComponent = label ? /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(Label_default, { text: label, isError, required }) : void 0;
1930
1945
  const borderColor = isFocused ? theme2.colors.primary : isError ? theme2.colors.error : theme2.colors.border;
1931
- return /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(
1946
+ return /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(
1932
1947
  Animate_default.View,
1933
1948
  {
1934
1949
  flex,
@@ -1938,8 +1953,8 @@ var InputFieldComponent = (0, import_react14.forwardRef)(
1938
1953
  ...props,
1939
1954
  children: [
1940
1955
  isIOSDateTime && !iOSDateTimeFullSize ? void 0 : labelComponent,
1941
- /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(View_default, { isRow: true, position: "relative", alignItems: "center", height: readyHeight, children: [
1942
- prefix && /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(
1956
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(View_default, { isRow: true, position: "relative", alignItems: "center", height: readyHeight, children: [
1957
+ prefix && /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(
1943
1958
  View_default,
1944
1959
  {
1945
1960
  isRow: true,
@@ -1957,8 +1972,8 @@ var InputFieldComponent = (0, import_react14.forwardRef)(
1957
1972
  zIndex: 1,
1958
1973
  onPress: onPressPrefix,
1959
1974
  children: [
1960
- typeof prefix === "string" ? /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(Text_default, { fontWeight: 700, lineHeight, children: prefix }) : prefix,
1961
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
1975
+ typeof prefix === "string" ? /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(Text_default, { fontWeight: 700, lineHeight, children: prefix }) : prefix,
1976
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
1962
1977
  Animate_default.View,
1963
1978
  {
1964
1979
  position: "absolute",
@@ -1973,9 +1988,9 @@ var InputFieldComponent = (0, import_react14.forwardRef)(
1973
1988
  ]
1974
1989
  }
1975
1990
  ),
1976
- isIOSDateTime ? /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(import_jsx_runtime12.Fragment, { children: [
1991
+ isIOSDateTime ? /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(import_jsx_runtime13.Fragment, { children: [
1977
1992
  !iOSDateTimeFullSize ? labelComponent : void 0,
1978
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
1993
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
1979
1994
  import_datetimepicker.default,
1980
1995
  {
1981
1996
  value: internalDateValue ?? /* @__PURE__ */ new Date(),
@@ -1987,7 +2002,7 @@ var InputFieldComponent = (0, import_react14.forwardRef)(
1987
2002
  onValueChange: onValueChangeRNDateTimePicker
1988
2003
  }
1989
2004
  )
1990
- ] }) : /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
2005
+ ] }) : /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
1991
2006
  View_default,
1992
2007
  {
1993
2008
  flex: 1,
@@ -1998,7 +2013,7 @@ var InputFieldComponent = (0, import_react14.forwardRef)(
1998
2013
  borderBottomRightRadius: suffix ? 0 : theme2.styles.borderRadius,
1999
2014
  pressStrength: 1,
2000
2015
  onPress: import_react_native9.Platform.OS === "android" ? editable === false || withPressInputField ? onPressInputField : void 0 : void 0,
2001
- children: /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(
2016
+ children: /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(
2002
2017
  Animate_default.View,
2003
2018
  {
2004
2019
  position: "relative",
@@ -2016,7 +2031,7 @@ var InputFieldComponent = (0, import_react14.forwardRef)(
2016
2031
  animateBorderColor: borderColor,
2017
2032
  overflow: "hidden",
2018
2033
  children: [
2019
- leftIcon && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
2034
+ leftIcon && /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
2020
2035
  Icon_default,
2021
2036
  {
2022
2037
  position: "absolute",
@@ -2029,7 +2044,7 @@ var InputFieldComponent = (0, import_react14.forwardRef)(
2029
2044
  onPress: onPressLeftIcon
2030
2045
  }
2031
2046
  ),
2032
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
2047
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
2033
2048
  import_react_native9.TextInput,
2034
2049
  {
2035
2050
  style: textInputStyle,
@@ -2062,7 +2077,7 @@ var InputFieldComponent = (0, import_react14.forwardRef)(
2062
2077
  ref: textInputRef
2063
2078
  }
2064
2079
  ),
2065
- rightIcon && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
2080
+ rightIcon && /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
2066
2081
  Icon_default,
2067
2082
  {
2068
2083
  position: "absolute",
@@ -2080,7 +2095,7 @@ var InputFieldComponent = (0, import_react14.forwardRef)(
2080
2095
  )
2081
2096
  }
2082
2097
  ),
2083
- suffix && /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(
2098
+ suffix && /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(
2084
2099
  View_default,
2085
2100
  {
2086
2101
  isRow: true,
@@ -2098,8 +2113,8 @@ var InputFieldComponent = (0, import_react14.forwardRef)(
2098
2113
  zIndex: 1,
2099
2114
  onPress: onPressSuffix,
2100
2115
  children: [
2101
- typeof suffix === "string" ? /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(Text_default, { fontWeight: 700, lineHeight, children: suffix }) : suffix,
2102
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
2116
+ typeof suffix === "string" ? /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(Text_default, { fontWeight: 700, lineHeight, children: suffix }) : suffix,
2117
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
2103
2118
  Animate_default.View,
2104
2119
  {
2105
2120
  position: "absolute",
@@ -2115,7 +2130,7 @@ var InputFieldComponent = (0, import_react14.forwardRef)(
2115
2130
  }
2116
2131
  )
2117
2132
  ] }),
2118
- infoMessage && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
2133
+ infoMessage && /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
2119
2134
  Animate_default.Text,
2120
2135
  {
2121
2136
  fontSize: 14,
@@ -2127,7 +2142,7 @@ var InputFieldComponent = (0, import_react14.forwardRef)(
2127
2142
  children: infoMessage
2128
2143
  }
2129
2144
  ),
2130
- errorMessage && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
2145
+ errorMessage && /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
2131
2146
  Animate_default.Text,
2132
2147
  {
2133
2148
  fontSize: 14,
@@ -2144,8 +2159,8 @@ var InputFieldComponent = (0, import_react14.forwardRef)(
2144
2159
  );
2145
2160
  }
2146
2161
  );
2147
- InputFieldComponent.email = (0, import_react14.forwardRef)(function Email(props, ref) {
2148
- return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
2162
+ InputFieldComponent.email = (0, import_react15.forwardRef)(function Email(props, ref) {
2163
+ return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
2149
2164
  InputFieldComponent,
2150
2165
  {
2151
2166
  placeholder: "your@email.here",
@@ -2158,17 +2173,17 @@ InputFieldComponent.email = (0, import_react14.forwardRef)(function Email(props,
2158
2173
  }
2159
2174
  );
2160
2175
  });
2161
- InputFieldComponent.password = (0, import_react14.forwardRef)(function Password(props, ref) {
2162
- const inputFieldRef = (0, import_react14.useRef)(null);
2163
- const [showPassword, setShowPassword] = (0, import_react_better_core13.useBooleanState)();
2164
- const onPressEye = (0, import_react14.useCallback)(() => {
2176
+ InputFieldComponent.password = (0, import_react15.forwardRef)(function Password(props, ref) {
2177
+ const inputFieldRef = (0, import_react15.useRef)(null);
2178
+ const [showPassword, setShowPassword] = (0, import_react_better_core14.useBooleanState)();
2179
+ const onPressEye = (0, import_react15.useCallback)(() => {
2165
2180
  setShowPassword.toggle();
2166
2181
  inputFieldRef.current?.focus();
2167
2182
  }, []);
2168
- (0, import_react14.useImperativeHandle)(ref, () => {
2183
+ (0, import_react15.useImperativeHandle)(ref, () => {
2169
2184
  return inputFieldRef.current;
2170
2185
  }, []);
2171
- return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
2186
+ return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
2172
2187
  InputFieldComponent,
2173
2188
  {
2174
2189
  secureTextEntry: !showPassword,
@@ -2183,12 +2198,12 @@ InputFieldComponent.password = (0, import_react14.forwardRef)(function Password(
2183
2198
  }
2184
2199
  );
2185
2200
  });
2186
- InputFieldComponent.search = (0, import_react14.forwardRef)(function Search(props, ref) {
2187
- return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(InputFieldComponent, { placeholder: "Search...", leftIcon: "magnifyingGlass", ...props, ref });
2201
+ InputFieldComponent.search = (0, import_react15.forwardRef)(function Search(props, ref) {
2202
+ return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(InputFieldComponent, { placeholder: "Search...", leftIcon: "magnifyingGlass", ...props, ref });
2188
2203
  });
2189
- InputFieldComponent.code = (0, import_react14.forwardRef)(function Password2({ isSmall, ...props }, ref) {
2190
- const theme2 = (0, import_react_better_core13.useTheme)();
2191
- return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
2204
+ InputFieldComponent.code = (0, import_react15.forwardRef)(function Password2({ isSmall, ...props }, ref) {
2205
+ const theme2 = (0, import_react_better_core14.useTheme)();
2206
+ return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
2192
2207
  InputFieldComponent,
2193
2208
  {
2194
2209
  flex: 1,
@@ -2203,7 +2218,7 @@ InputFieldComponent.code = (0, import_react14.forwardRef)(function Password2({ i
2203
2218
  }
2204
2219
  );
2205
2220
  });
2206
- var InputField = (0, import_react14.memo)(InputFieldComponent);
2221
+ var InputField = (0, import_react15.memo)(InputFieldComponent);
2207
2222
  InputField.email = InputFieldComponent.email;
2208
2223
  InputField.password = InputFieldComponent.password;
2209
2224
  InputField.search = InputFieldComponent.search;
@@ -2211,32 +2226,32 @@ InputField.code = InputFieldComponent.code;
2211
2226
  var InputField_default = InputField;
2212
2227
 
2213
2228
  // src/components/Switch.tsx
2214
- var import_react15 = require("react");
2229
+ var import_react16 = require("react");
2215
2230
  var import_react_native10 = require("react-native");
2216
- var import_react_better_core14 = require("react-better-core");
2217
- var import_jsx_runtime13 = require("react/jsx-runtime");
2231
+ var import_react_better_core15 = require("react-better-core");
2232
+ var import_jsx_runtime14 = require("react/jsx-runtime");
2218
2233
  function Switch({ isEnabled, defaultIsEnabled, disabled, onChange }) {
2219
- const theme2 = (0, import_react_better_core14.useTheme)();
2220
- const [enabled, setEnabled] = (0, import_react_better_core14.useBooleanState)(isEnabled ?? defaultIsEnabled);
2221
- const onPressElement = (0, import_react15.useCallback)(() => {
2234
+ const theme2 = (0, import_react_better_core15.useTheme)();
2235
+ const [enabled, setEnabled] = (0, import_react_better_core15.useBooleanState)(isEnabled ?? defaultIsEnabled);
2236
+ const onPressElement = (0, import_react16.useCallback)(() => {
2222
2237
  onChange?.(!enabled);
2223
2238
  setEnabled.toggle();
2224
2239
  }, [onChange, enabled]);
2225
- const trackColor = (0, import_react15.useMemo)(
2240
+ const trackColor = (0, import_react16.useMemo)(
2226
2241
  () => ({
2227
2242
  false: theme2.colors.border,
2228
2243
  true: theme2.colors.primary
2229
2244
  }),
2230
2245
  [theme2.colors]
2231
2246
  );
2232
- (0, import_react15.useEffect)(() => {
2247
+ (0, import_react16.useEffect)(() => {
2233
2248
  if (isEnabled === void 0) return;
2234
2249
  setEnabled.setState(isEnabled);
2235
2250
  }, [isEnabled]);
2236
2251
  const ballSize = 26;
2237
2252
  const ballGap = 3;
2238
2253
  const holderWidth = ballSize * 2.1;
2239
- return import_react_native10.Platform.OS === "ios" ? /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
2254
+ return import_react_native10.Platform.OS === "ios" ? /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
2240
2255
  import_react_native10.Switch,
2241
2256
  {
2242
2257
  trackColor,
@@ -2245,7 +2260,7 @@ function Switch({ isEnabled, defaultIsEnabled, disabled, onChange }) {
2245
2260
  value: enabled,
2246
2261
  disabled
2247
2262
  }
2248
- ) : /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
2263
+ ) : /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
2249
2264
  View_default,
2250
2265
  {
2251
2266
  width: holderWidth,
@@ -2253,7 +2268,7 @@ function Switch({ isEnabled, defaultIsEnabled, disabled, onChange }) {
2253
2268
  pressStrength: pressStrength().p05,
2254
2269
  disabled,
2255
2270
  onPress: !disabled ? onPressElement : void 0,
2256
- children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
2271
+ children: /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
2257
2272
  Animate_default.View,
2258
2273
  {
2259
2274
  width: "100%",
@@ -2263,7 +2278,7 @@ function Switch({ isEnabled, defaultIsEnabled, disabled, onChange }) {
2263
2278
  animateBackgroundColor: enabled ? theme2.colors.primary : theme2.colors.border,
2264
2279
  initialOpacity: 1,
2265
2280
  animateOpacity: disabled ? 0.6 : 1,
2266
- children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
2281
+ children: /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
2267
2282
  Animate_default.View,
2268
2283
  {
2269
2284
  width: ballSize,
@@ -2283,25 +2298,35 @@ function Switch({ isEnabled, defaultIsEnabled, disabled, onChange }) {
2283
2298
  }
2284
2299
  );
2285
2300
  }
2286
- var Switch_default = (0, import_react15.memo)(Switch);
2301
+ var Switch_default = (0, import_react16.memo)(Switch);
2287
2302
 
2288
2303
  // src/components/CheckBox.tsx
2289
- var import_react16 = require("react");
2304
+ var import_react17 = require("react");
2290
2305
  var import_react_native11 = require("react-native");
2291
- var import_react_better_core15 = require("react-better-core");
2292
- var import_jsx_runtime14 = require("react/jsx-runtime");
2293
- function CheckBox({ isChecked, defaultIsChecked, size = 36, disabled, onChange }) {
2294
- const theme2 = (0, import_react_better_core15.useTheme)();
2295
- const [checked, setChecked] = (0, import_react_better_core15.useBooleanState)(isChecked ?? defaultIsChecked);
2296
- const onPressElement = (0, import_react16.useCallback)(() => {
2306
+ var import_react_better_core16 = require("react-better-core");
2307
+ var import_jsx_runtime15 = require("react/jsx-runtime");
2308
+ function CheckBox({
2309
+ isChecked,
2310
+ defaultIsChecked,
2311
+ size = 36,
2312
+ text,
2313
+ required,
2314
+ disabled,
2315
+ infoMessage,
2316
+ errorMessage,
2317
+ onChange
2318
+ }) {
2319
+ const theme2 = (0, import_react_better_core16.useTheme)();
2320
+ const [checked, setChecked] = (0, import_react_better_core16.useBooleanState)(isChecked ?? defaultIsChecked);
2321
+ const onPressElement = (0, import_react17.useCallback)(() => {
2297
2322
  onChange?.(!checked);
2298
2323
  setChecked.toggle();
2299
2324
  }, [onChange, checked]);
2300
- (0, import_react16.useEffect)(() => {
2325
+ (0, import_react17.useEffect)(() => {
2301
2326
  if (isChecked === void 0) return;
2302
2327
  setChecked.setState(isChecked);
2303
2328
  }, [isChecked]);
2304
- return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
2329
+ const checkBox = /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
2305
2330
  View_default,
2306
2331
  {
2307
2332
  width: size,
@@ -2309,7 +2334,7 @@ function CheckBox({ isChecked, defaultIsChecked, size = 36, disabled, onChange }
2309
2334
  pressStrength: pressStrength().p05,
2310
2335
  disabled,
2311
2336
  onPress: !disabled ? onPressElement : void 0,
2312
- children: /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
2337
+ children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
2313
2338
  Animate_default.View,
2314
2339
  {
2315
2340
  width: "100%",
@@ -2322,7 +2347,7 @@ function CheckBox({ isChecked, defaultIsChecked, size = 36, disabled, onChange }
2322
2347
  animateBorderColor: checked ? theme2.colors.primary : theme2.colors.border,
2323
2348
  initialOpacity: 1,
2324
2349
  animateOpacity: disabled ? 0.6 : 1,
2325
- children: /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
2350
+ children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
2326
2351
  Animate_default.View,
2327
2352
  {
2328
2353
  width: "100%",
@@ -2334,7 +2359,7 @@ function CheckBox({ isChecked, defaultIsChecked, size = 36, disabled, onChange }
2334
2359
  transitionStiffness: 230,
2335
2360
  initialScale: 0,
2336
2361
  animateScale: checked ? 1 : 0,
2337
- children: /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
2362
+ children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
2338
2363
  Icon_default,
2339
2364
  {
2340
2365
  name: "check",
@@ -2349,17 +2374,60 @@ function CheckBox({ isChecked, defaultIsChecked, size = 36, disabled, onChange }
2349
2374
  )
2350
2375
  }
2351
2376
  );
2377
+ return text ? /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(View_default, { gap: theme2.styles.gap / 3, children: [
2378
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(View_default, { isRow: true, alignItems: "center", gap: theme2.styles.gap, children: [
2379
+ checkBox,
2380
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
2381
+ View_default,
2382
+ {
2383
+ width: "100%",
2384
+ flexShrink: 1,
2385
+ pressType: "opacity",
2386
+ pressStrength: pressStrength().p3,
2387
+ onPress: !disabled ? onPressElement : void 0,
2388
+ children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Animate_default.View, { initialOpacity: 1, animateOpacity: disabled ? 0.6 : 1, children: /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(View_default, { isRow: true, alignItems: "flex-start", gap: 2, children: [
2389
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(View_default, { flexShrink: 1, children: typeof text === "string" ? /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Text_default, { children: text }) : text }),
2390
+ required && /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Label_default, { required: true })
2391
+ ] }) })
2392
+ }
2393
+ )
2394
+ ] }),
2395
+ infoMessage && /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
2396
+ Animate_default.Text,
2397
+ {
2398
+ fontSize: 14,
2399
+ color: theme2.colors.textSecondary,
2400
+ initialHeight: 0,
2401
+ initialOpacity: 0,
2402
+ animateHeight: 17,
2403
+ animateOpacity: 1,
2404
+ children: infoMessage
2405
+ }
2406
+ ),
2407
+ errorMessage && /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
2408
+ Animate_default.Text,
2409
+ {
2410
+ fontSize: 14,
2411
+ color: theme2.colors.error,
2412
+ initialHeight: 0,
2413
+ initialOpacity: 0,
2414
+ animateHeight: 17,
2415
+ animateOpacity: 1,
2416
+ children: errorMessage
2417
+ }
2418
+ )
2419
+ ] }) : checkBox;
2352
2420
  }
2353
- var CheckBox_default = (0, import_react16.memo)(CheckBox);
2421
+ var CheckBox_default = (0, import_react17.memo)(CheckBox);
2354
2422
 
2355
2423
  // src/components/StatusBar.tsx
2356
- var import_react17 = require("react");
2357
- var import_react_better_core16 = require("react-better-core");
2424
+ var import_react18 = require("react");
2425
+ var import_react_better_core17 = require("react-better-core");
2358
2426
  var import_react_native12 = require("react-native");
2359
- var import_jsx_runtime15 = require("react/jsx-runtime");
2427
+ var import_jsx_runtime16 = require("react/jsx-runtime");
2360
2428
  function StatusBar({ darkStatusBar, hidden, barStyle, androidBarStyle, iOSBarStyle }) {
2361
- const theme2 = (0, import_react_better_core16.useTheme)();
2362
- return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
2429
+ const theme2 = (0, import_react_better_core17.useTheme)();
2430
+ return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
2363
2431
  import_react_native12.StatusBar,
2364
2432
  {
2365
2433
  backgroundColor: darkStatusBar ? theme2.colors.backgroundSecondary : void 0,
@@ -2368,12 +2436,12 @@ function StatusBar({ darkStatusBar, hidden, barStyle, androidBarStyle, iOSBarSty
2368
2436
  }
2369
2437
  );
2370
2438
  }
2371
- var StatusBar_default = (0, import_react17.memo)(StatusBar);
2439
+ var StatusBar_default = (0, import_react18.memo)(StatusBar);
2372
2440
 
2373
2441
  // src/components/ListItem.tsx
2374
- var import_react18 = require("react");
2375
- var import_react_better_core17 = require("react-better-core");
2376
- var import_jsx_runtime16 = require("react/jsx-runtime");
2442
+ var import_react19 = require("react");
2443
+ var import_react_better_core18 = require("react-better-core");
2444
+ var import_jsx_runtime17 = require("react/jsx-runtime");
2377
2445
  function ListItem({
2378
2446
  icon,
2379
2447
  iconIOS,
@@ -2391,10 +2459,10 @@ function ListItem({
2391
2459
  checkBoxIsChecked,
2392
2460
  checkBoxOnChange
2393
2461
  }) {
2394
- const theme2 = (0, import_react_better_core17.useTheme)();
2462
+ const theme2 = (0, import_react_better_core18.useTheme)();
2395
2463
  const device = useDevice();
2396
2464
  const sideSpace = theme2.styles.space;
2397
- return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
2465
+ return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
2398
2466
  View_default,
2399
2467
  {
2400
2468
  width: insideScreenHolder ? device.windowDimensions.width : "100%",
@@ -2404,15 +2472,15 @@ function ListItem({
2404
2472
  paddingHorizontal: sideSpace,
2405
2473
  pressStrength: pressStrength().p05,
2406
2474
  onPress,
2407
- children: /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(View_default, { isRow: true, alignItems: "center", gap: theme2.styles.space, children: [
2408
- icon && /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(Icon_default, { name: icon, nameIOS: iconIOS, size: 22, color: theme2.colors.primary }),
2409
- /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(View_default, { flex: 1, flexDirection: "row", alignItems: "center", gap: theme2.styles.gap, children: /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(View_default, { flex: 1, children: [
2410
- title && /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(Text_default, { fontSize: 20, fontWeight: 700, children: title }),
2411
- description && /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(Text_default.body, { selectable: descriptionSelectable, children: description })
2475
+ children: /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(View_default, { isRow: true, alignItems: "center", gap: theme2.styles.space, children: [
2476
+ icon && /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(Icon_default, { name: icon, nameIOS: iconIOS, size: 22, color: theme2.colors.primary }),
2477
+ /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(View_default, { flex: 1, flexDirection: "row", alignItems: "center", gap: theme2.styles.gap, children: /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(View_default, { flex: 1, children: [
2478
+ title && /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(Text_default, { fontSize: 20, fontWeight: 700, children: title }),
2479
+ description && /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(Text_default.body, { selectable: descriptionSelectable, children: description })
2412
2480
  ] }) }),
2413
- rightElement ? /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_jsx_runtime16.Fragment, { children: rightValue !== void 0 || rightElement === "arrow" ? /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(View_default, { isRow: true, alignItems: "center", gap: theme2.styles.gap / 2, children: [
2414
- rightValue !== void 0 && /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(Text_default, { fontSize: 14, fontWeight: 700, selectable: rightValueSelectable, children: rightValue }),
2415
- rightElement === "arrow" && /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
2481
+ rightElement ? /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_jsx_runtime17.Fragment, { children: rightValue !== void 0 || rightElement === "arrow" ? /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(View_default, { isRow: true, alignItems: "center", gap: theme2.styles.gap / 2, children: [
2482
+ rightValue !== void 0 && /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(Text_default, { fontSize: 14, fontWeight: 700, selectable: rightValueSelectable, children: rightValue }),
2483
+ rightElement === "arrow" && /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
2416
2484
  Icon_default,
2417
2485
  {
2418
2486
  name: "chevronRight",
@@ -2420,12 +2488,12 @@ function ListItem({
2420
2488
  color: rightValue !== void 0 ? theme2.colors.textPrimary : theme2.colors.textSecondary
2421
2489
  }
2422
2490
  )
2423
- ] }) : rightElement === "switch" ? /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(Switch_default, { isEnabled: switchIsEnabled, onChange: switchOnChange }) : rightElement === "checkBox" ? /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(CheckBox_default, { isChecked: checkBoxIsChecked, onChange: checkBoxOnChange }) : void 0 }) : void 0
2491
+ ] }) : rightElement === "switch" ? /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(Switch_default, { isEnabled: switchIsEnabled, onChange: switchOnChange }) : rightElement === "checkBox" ? /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(CheckBox_default, { isChecked: checkBoxIsChecked, onChange: checkBoxOnChange }) : void 0 }) : void 0
2424
2492
  ] })
2425
2493
  }
2426
2494
  );
2427
2495
  }
2428
- var ListItem_default = (0, import_react18.memo)(ListItem);
2496
+ var ListItem_default = (0, import_react19.memo)(ListItem);
2429
2497
  // Annotate the CommonJS export names for ESM import in node:
2430
2498
  0 && (module.exports = {
2431
2499
  Animate,
@@ -2435,6 +2503,7 @@ var ListItem_default = (0, import_react18.memo)(ListItem);
2435
2503
  Icon,
2436
2504
  Image,
2437
2505
  InputField,
2506
+ Label,
2438
2507
  ListItem,
2439
2508
  Loader,
2440
2509
  ScreenHolder,