react-native-better-html 1.0.24 → 1.0.25

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.d.mts CHANGED
@@ -50,7 +50,7 @@ type BetterComponentsProviderProps = BetterProviderCommonProps & {
50
50
  config?: BetterComponentsProviderConfig;
51
51
  };
52
52
  declare function BetterComponentsProvider({ config, ...props }: BetterComponentsProviderProps): react_jsx_runtime.JSX.Element;
53
- declare const _default$4: react.MemoExoticComponent<typeof BetterComponentsProvider>;
53
+ declare const _default$5: react.MemoExoticComponent<typeof BetterComponentsProvider>;
54
54
 
55
55
  type ComponentStyle<Style extends ViewStyle = ViewStyle> = OmitProps<Style, "shadowOffset" | ComponentExcludeMarginProps | ComponentExcludePaddingProps> & {
56
56
  shadowOffsetWidth?: number;
@@ -107,7 +107,7 @@ type IconProps = {
107
107
  color?: ColorValue;
108
108
  } & OmitProps<ViewProps, "width" | "height" | "pressType">;
109
109
  declare function Icon({ name, nameIOS, size, color, ...props }: IconProps): react_jsx_runtime.JSX.Element;
110
- declare const _default$3: react.MemoExoticComponent<typeof Icon>;
110
+ declare const _default$4: react.MemoExoticComponent<typeof Icon>;
111
111
 
112
112
  type InputFieldProps = {
113
113
  flex?: ViewStyle["flex"];
@@ -195,7 +195,19 @@ type SwitchProps = {
195
195
  onChange?: (isEnabled: boolean) => void;
196
196
  };
197
197
  declare function Switch({ isEnabled, defaultIsEnabled, disabled, onChange }: SwitchProps): react_jsx_runtime.JSX.Element;
198
- declare const _default$2: react.MemoExoticComponent<typeof Switch>;
198
+ declare const _default$3: react.MemoExoticComponent<typeof Switch>;
199
+
200
+ type CheckBoxProps = {
201
+ isChecked?: boolean;
202
+ defaultIsChecked?: boolean;
203
+ /** @default 36 */
204
+ size?: number;
205
+ /** @default false */
206
+ disabled?: boolean;
207
+ onChange?: (isChecked: boolean) => void;
208
+ };
209
+ declare function CheckBox({ isChecked, defaultIsChecked, size, disabled, onChange }: CheckBoxProps): react_jsx_runtime.JSX.Element;
210
+ declare const _default$2: react.MemoExoticComponent<typeof CheckBox>;
199
211
 
200
212
  declare function useDevice(): {
201
213
  safeArea: {
@@ -241,6 +253,7 @@ declare function useForm<FormFields extends Record<string | number, FormFieldVal
241
253
  setFieldsValue: (values: Partial<FormFields>) => void;
242
254
  getInputFieldProps: <FieldName extends keyof FormFields>(field: FieldName) => ComponentPropWithRef<InputFieldRef, InputFieldProps>;
243
255
  getSwitchProps: <FieldName extends keyof FormFields>(field: FieldName, insideListItem?: boolean) => SwitchProps;
256
+ getCheckBoxProps: <FieldName extends keyof FormFields>(field: FieldName, insideListItem?: boolean) => CheckBoxProps;
244
257
  focusField: (field: keyof FormFields) => void;
245
258
  inputFieldRefs: Record<keyof FormFields, TextInput | undefined>;
246
259
  validate: () => {};
@@ -501,7 +514,7 @@ type ListItemProps = {
501
514
  title?: string;
502
515
  description?: string;
503
516
  descriptionSelectable?: boolean;
504
- rightElement?: "arrow" | "switch";
517
+ rightElement?: "arrow" | "switch" | "checkBox";
505
518
  /** @default theme.colors.backgroundBase */
506
519
  backgroundColor?: ViewProps["backgroundColor"];
507
520
  /** @default false */
@@ -511,8 +524,10 @@ type ListItemProps = {
511
524
  rightValueSelectable?: boolean;
512
525
  switchIsEnabled?: boolean;
513
526
  switchOnChange?: (isEnabled: boolean) => void;
527
+ checkBoxIsChecked?: boolean;
528
+ checkBoxOnChange?: (isChecked: boolean) => void;
514
529
  };
515
- declare function ListItem({ icon, iconIOS, title, description, descriptionSelectable, rightElement, backgroundColor, insideScreenHolder, onPress, rightValue, rightValueSelectable, switchIsEnabled, switchOnChange, }: ListItemProps): react_jsx_runtime.JSX.Element;
530
+ declare function ListItem({ icon, iconIOS, title, description, descriptionSelectable, rightElement, backgroundColor, insideScreenHolder, onPress, rightValue, rightValueSelectable, switchIsEnabled, switchOnChange, checkBoxIsChecked, checkBoxOnChange, }: ListItemProps): react_jsx_runtime.JSX.Element;
516
531
  declare const _default: react.MemoExoticComponent<typeof ListItem>;
517
532
 
518
533
  type AlertsPluginOptions = {
@@ -531,4 +546,4 @@ type AsyncStoragePluginOptions = {};
531
546
  declare const defaultAsyncStoragePluginOptions: Required<AsyncStoragePluginOptions>;
532
547
  declare const asyncStoragePlugin: BetterComponentsPluginConstructor<AsyncStoragePluginOptions>;
533
548
 
534
- export { type AlertsPluginOptions, Animate, type AnimateTextProps, type AnimateViewProps, type AppConfig, type AsyncStoragePluginOptions, type BetterComponentsConfig, type BetterComponentsPlugin, _default$4 as BetterComponentsProvider, type BetterComponentsProviderConfig, Button, type ButtonProps, type ComponentMarginProps, type ComponentPaddingProps, type FooterProps, _default$3 as Icon, type IconNameIOS, type IconProps, Image, type ImageProps, InputField, type InputFieldProps, type InputFieldRef, _default as ListItem, type ListItemProps, Loader, type LoaderProps, type LoaderSize, type PluginName, ScreenHolder, type ScreenHolderProps, _default$1 as StatusBar, type StatusBarProps, _default$2 as Switch, type SwitchProps, Text, type TextProps, View, type ViewProps, alertControls, alertsPlugin, asyncStoragePlugin, defaultAlertsPluginOptions, defaultAsyncStoragePluginOptions, generateAsyncStorage, getFormErrorObject, pressStrength, useAlertControls, useBetterComponentsContext, useDevice, useEventEmitter, useForm, useKeyboard };
549
+ export { type AlertsPluginOptions, Animate, type AnimateTextProps, type AnimateViewProps, type AppConfig, type AsyncStoragePluginOptions, type BetterComponentsConfig, type BetterComponentsPlugin, _default$5 as BetterComponentsProvider, type BetterComponentsProviderConfig, Button, type ButtonProps, _default$2 as CheckBox, type CheckBoxProps, type ComponentMarginProps, type ComponentPaddingProps, type FooterProps, _default$4 as Icon, type IconNameIOS, type IconProps, Image, type ImageProps, InputField, type InputFieldProps, type InputFieldRef, _default as ListItem, type ListItemProps, Loader, type LoaderProps, type LoaderSize, type PluginName, ScreenHolder, type ScreenHolderProps, _default$1 as StatusBar, type StatusBarProps, _default$3 as Switch, type SwitchProps, Text, type TextProps, View, type ViewProps, alertControls, alertsPlugin, asyncStoragePlugin, defaultAlertsPluginOptions, defaultAsyncStoragePluginOptions, generateAsyncStorage, getFormErrorObject, pressStrength, useAlertControls, useBetterComponentsContext, useDevice, useEventEmitter, useForm, useKeyboard };
package/dist/index.d.ts CHANGED
@@ -50,7 +50,7 @@ type BetterComponentsProviderProps = BetterProviderCommonProps & {
50
50
  config?: BetterComponentsProviderConfig;
51
51
  };
52
52
  declare function BetterComponentsProvider({ config, ...props }: BetterComponentsProviderProps): react_jsx_runtime.JSX.Element;
53
- declare const _default$4: react.MemoExoticComponent<typeof BetterComponentsProvider>;
53
+ declare const _default$5: react.MemoExoticComponent<typeof BetterComponentsProvider>;
54
54
 
55
55
  type ComponentStyle<Style extends ViewStyle = ViewStyle> = OmitProps<Style, "shadowOffset" | ComponentExcludeMarginProps | ComponentExcludePaddingProps> & {
56
56
  shadowOffsetWidth?: number;
@@ -107,7 +107,7 @@ type IconProps = {
107
107
  color?: ColorValue;
108
108
  } & OmitProps<ViewProps, "width" | "height" | "pressType">;
109
109
  declare function Icon({ name, nameIOS, size, color, ...props }: IconProps): react_jsx_runtime.JSX.Element;
110
- declare const _default$3: react.MemoExoticComponent<typeof Icon>;
110
+ declare const _default$4: react.MemoExoticComponent<typeof Icon>;
111
111
 
112
112
  type InputFieldProps = {
113
113
  flex?: ViewStyle["flex"];
@@ -195,7 +195,19 @@ type SwitchProps = {
195
195
  onChange?: (isEnabled: boolean) => void;
196
196
  };
197
197
  declare function Switch({ isEnabled, defaultIsEnabled, disabled, onChange }: SwitchProps): react_jsx_runtime.JSX.Element;
198
- declare const _default$2: react.MemoExoticComponent<typeof Switch>;
198
+ declare const _default$3: react.MemoExoticComponent<typeof Switch>;
199
+
200
+ type CheckBoxProps = {
201
+ isChecked?: boolean;
202
+ defaultIsChecked?: boolean;
203
+ /** @default 36 */
204
+ size?: number;
205
+ /** @default false */
206
+ disabled?: boolean;
207
+ onChange?: (isChecked: boolean) => void;
208
+ };
209
+ declare function CheckBox({ isChecked, defaultIsChecked, size, disabled, onChange }: CheckBoxProps): react_jsx_runtime.JSX.Element;
210
+ declare const _default$2: react.MemoExoticComponent<typeof CheckBox>;
199
211
 
200
212
  declare function useDevice(): {
201
213
  safeArea: {
@@ -241,6 +253,7 @@ declare function useForm<FormFields extends Record<string | number, FormFieldVal
241
253
  setFieldsValue: (values: Partial<FormFields>) => void;
242
254
  getInputFieldProps: <FieldName extends keyof FormFields>(field: FieldName) => ComponentPropWithRef<InputFieldRef, InputFieldProps>;
243
255
  getSwitchProps: <FieldName extends keyof FormFields>(field: FieldName, insideListItem?: boolean) => SwitchProps;
256
+ getCheckBoxProps: <FieldName extends keyof FormFields>(field: FieldName, insideListItem?: boolean) => CheckBoxProps;
244
257
  focusField: (field: keyof FormFields) => void;
245
258
  inputFieldRefs: Record<keyof FormFields, TextInput | undefined>;
246
259
  validate: () => {};
@@ -501,7 +514,7 @@ type ListItemProps = {
501
514
  title?: string;
502
515
  description?: string;
503
516
  descriptionSelectable?: boolean;
504
- rightElement?: "arrow" | "switch";
517
+ rightElement?: "arrow" | "switch" | "checkBox";
505
518
  /** @default theme.colors.backgroundBase */
506
519
  backgroundColor?: ViewProps["backgroundColor"];
507
520
  /** @default false */
@@ -511,8 +524,10 @@ type ListItemProps = {
511
524
  rightValueSelectable?: boolean;
512
525
  switchIsEnabled?: boolean;
513
526
  switchOnChange?: (isEnabled: boolean) => void;
527
+ checkBoxIsChecked?: boolean;
528
+ checkBoxOnChange?: (isChecked: boolean) => void;
514
529
  };
515
- declare function ListItem({ icon, iconIOS, title, description, descriptionSelectable, rightElement, backgroundColor, insideScreenHolder, onPress, rightValue, rightValueSelectable, switchIsEnabled, switchOnChange, }: ListItemProps): react_jsx_runtime.JSX.Element;
530
+ declare function ListItem({ icon, iconIOS, title, description, descriptionSelectable, rightElement, backgroundColor, insideScreenHolder, onPress, rightValue, rightValueSelectable, switchIsEnabled, switchOnChange, checkBoxIsChecked, checkBoxOnChange, }: ListItemProps): react_jsx_runtime.JSX.Element;
516
531
  declare const _default: react.MemoExoticComponent<typeof ListItem>;
517
532
 
518
533
  type AlertsPluginOptions = {
@@ -531,4 +546,4 @@ type AsyncStoragePluginOptions = {};
531
546
  declare const defaultAsyncStoragePluginOptions: Required<AsyncStoragePluginOptions>;
532
547
  declare const asyncStoragePlugin: BetterComponentsPluginConstructor<AsyncStoragePluginOptions>;
533
548
 
534
- export { type AlertsPluginOptions, Animate, type AnimateTextProps, type AnimateViewProps, type AppConfig, type AsyncStoragePluginOptions, type BetterComponentsConfig, type BetterComponentsPlugin, _default$4 as BetterComponentsProvider, type BetterComponentsProviderConfig, Button, type ButtonProps, type ComponentMarginProps, type ComponentPaddingProps, type FooterProps, _default$3 as Icon, type IconNameIOS, type IconProps, Image, type ImageProps, InputField, type InputFieldProps, type InputFieldRef, _default as ListItem, type ListItemProps, Loader, type LoaderProps, type LoaderSize, type PluginName, ScreenHolder, type ScreenHolderProps, _default$1 as StatusBar, type StatusBarProps, _default$2 as Switch, type SwitchProps, Text, type TextProps, View, type ViewProps, alertControls, alertsPlugin, asyncStoragePlugin, defaultAlertsPluginOptions, defaultAsyncStoragePluginOptions, generateAsyncStorage, getFormErrorObject, pressStrength, useAlertControls, useBetterComponentsContext, useDevice, useEventEmitter, useForm, useKeyboard };
549
+ export { type AlertsPluginOptions, Animate, type AnimateTextProps, type AnimateViewProps, type AppConfig, type AsyncStoragePluginOptions, type BetterComponentsConfig, type BetterComponentsPlugin, _default$5 as BetterComponentsProvider, type BetterComponentsProviderConfig, Button, type ButtonProps, _default$2 as CheckBox, type CheckBoxProps, type ComponentMarginProps, type ComponentPaddingProps, type FooterProps, _default$4 as Icon, type IconNameIOS, type IconProps, Image, type ImageProps, InputField, type InputFieldProps, type InputFieldRef, _default as ListItem, type ListItemProps, Loader, type LoaderProps, type LoaderSize, type PluginName, ScreenHolder, type ScreenHolderProps, _default$1 as StatusBar, type StatusBarProps, _default$3 as Switch, type SwitchProps, Text, type TextProps, View, type ViewProps, alertControls, alertsPlugin, asyncStoragePlugin, defaultAlertsPluginOptions, defaultAsyncStoragePluginOptions, generateAsyncStorage, getFormErrorObject, pressStrength, useAlertControls, useBetterComponentsContext, useDevice, useEventEmitter, useForm, useKeyboard };
package/dist/index.js CHANGED
@@ -33,6 +33,7 @@ __export(index_exports, {
33
33
  Animate: () => Animate_default,
34
34
  BetterComponentsProvider: () => BetterComponentsProvider_default,
35
35
  Button: () => Button_default,
36
+ CheckBox: () => CheckBox_default,
36
37
  Icon: () => Icon_default,
37
38
  Image: () => Image_default,
38
39
  InputField: () => InputField_default,
@@ -46,38 +47,38 @@ __export(index_exports, {
46
47
  alertControls: () => alertControls,
47
48
  alertsPlugin: () => alertsPlugin,
48
49
  asyncStoragePlugin: () => asyncStoragePlugin,
49
- colorThemeControls: () => import_react_better_core17.colorThemeControls,
50
- countries: () => import_react_better_core17.countries,
51
- darkenColor: () => import_react_better_core17.darkenColor,
50
+ colorThemeControls: () => import_react_better_core18.colorThemeControls,
51
+ countries: () => import_react_better_core18.countries,
52
+ darkenColor: () => import_react_better_core18.darkenColor,
52
53
  defaultAlertsPluginOptions: () => defaultAlertsPluginOptions,
53
54
  defaultAsyncStoragePluginOptions: () => defaultAsyncStoragePluginOptions,
54
- desaturateColor: () => import_react_better_core17.desaturateColor,
55
- eventPreventDefault: () => import_react_better_core17.eventPreventDefault,
56
- eventPreventStop: () => import_react_better_core17.eventPreventStop,
57
- eventStopPropagation: () => import_react_better_core17.eventStopPropagation,
58
- formatPhoneNumber: () => import_react_better_core17.formatPhoneNumber,
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,
59
60
  generateAsyncStorage: () => generateAsyncStorage,
60
- generateRandomString: () => import_react_better_core17.generateRandomString,
61
+ generateRandomString: () => import_react_better_core18.generateRandomString,
61
62
  getFormErrorObject: () => getFormErrorObject,
62
- getPluralWord: () => import_react_better_core17.getPluralWord,
63
- lightenColor: () => import_react_better_core17.lightenColor,
64
- loaderControls: () => import_react_better_core17.loaderControls,
63
+ getPluralWord: () => import_react_better_core18.getPluralWord,
64
+ lightenColor: () => import_react_better_core18.lightenColor,
65
+ loaderControls: () => import_react_better_core18.loaderControls,
65
66
  pressStrength: () => pressStrength,
66
- saturateColor: () => import_react_better_core17.saturateColor,
67
+ saturateColor: () => import_react_better_core18.saturateColor,
67
68
  useAlertControls: () => useAlertControls,
68
69
  useBetterComponentsContext: () => useBetterComponentsContext,
69
- useBooleanState: () => import_react_better_core17.useBooleanState,
70
- useDebounceState: () => import_react_better_core17.useDebounceState,
70
+ useBooleanState: () => import_react_better_core18.useBooleanState,
71
+ useDebounceState: () => import_react_better_core18.useDebounceState,
71
72
  useDevice: () => useDevice,
72
73
  useEventEmitter: () => useEventEmitter,
73
74
  useForm: () => useForm,
74
75
  useKeyboard: () => useKeyboard,
75
- useLoader: () => import_react_better_core17.useLoader,
76
- useLoaderControls: () => import_react_better_core17.useLoaderControls,
77
- useTheme: () => import_react_better_core17.useTheme
76
+ useLoader: () => import_react_better_core18.useLoader,
77
+ useLoaderControls: () => import_react_better_core18.useLoaderControls,
78
+ useTheme: () => import_react_better_core18.useTheme
78
79
  });
79
80
  module.exports = __toCommonJS(index_exports);
80
- var import_react_better_core17 = require("react-better-core");
81
+ var import_react_better_core18 = require("react-better-core");
81
82
 
82
83
  // src/components/BetterComponentsProvider.tsx
83
84
  var import_react12 = require("react");
@@ -507,6 +508,22 @@ function useForm(options) {
507
508
  },
508
509
  [values, setFieldValue]
509
510
  );
511
+ const getCheckBoxProps = (0, import_react.useCallback)(
512
+ (field, insideListItem) => {
513
+ return insideListItem ? {
514
+ checkBoxIsChecked: values[field],
515
+ checkBoxOnChange: (value) => {
516
+ setFieldValue(field, value);
517
+ }
518
+ } : {
519
+ isChecked: values[field],
520
+ onChange: (value) => {
521
+ setFieldValue(field, value);
522
+ }
523
+ };
524
+ },
525
+ [values, setFieldValue]
526
+ );
510
527
  const reset = (0, import_react.useCallback)(() => {
511
528
  setValues(defaultValues);
512
529
  setErrors({});
@@ -531,6 +548,7 @@ function useForm(options) {
531
548
  setFieldsValue,
532
549
  getInputFieldProps,
533
550
  getSwitchProps,
551
+ getCheckBoxProps,
534
552
  focusField,
535
553
  inputFieldRefs: inputFieldRefs.current,
536
554
  validate: validateForm,
@@ -2241,10 +2259,10 @@ function Switch({ isEnabled, defaultIsEnabled, disabled, onChange }) {
2241
2259
  width: "100%",
2242
2260
  height: ballGap + ballSize + ballGap,
2243
2261
  borderRadius: 999,
2244
- initialOpacity: 1,
2245
- animateOpacity: disabled ? 0.6 : 1,
2246
2262
  initialBackgroundColor: theme2.colors.border,
2247
2263
  animateBackgroundColor: enabled ? theme2.colors.primary : theme2.colors.border,
2264
+ initialOpacity: 1,
2265
+ animateOpacity: disabled ? 0.6 : 1,
2248
2266
  children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
2249
2267
  Animate_default.View,
2250
2268
  {
@@ -2252,6 +2270,9 @@ function Switch({ isEnabled, defaultIsEnabled, disabled, onChange }) {
2252
2270
  height: ballSize,
2253
2271
  top: ballGap,
2254
2272
  borderRadius: 999,
2273
+ transitionType: "spring",
2274
+ transitionDamping: 20,
2275
+ transitionStiffness: 230,
2255
2276
  backgroundColor: theme2.colors.backgroundContent,
2256
2277
  initialX: ballGap,
2257
2278
  animateX: enabled ? holderWidth - ballGap - ballSize : ballGap
@@ -2264,28 +2285,95 @@ function Switch({ isEnabled, defaultIsEnabled, disabled, onChange }) {
2264
2285
  }
2265
2286
  var Switch_default = (0, import_react15.memo)(Switch);
2266
2287
 
2267
- // src/components/StatusBar.tsx
2288
+ // src/components/CheckBox.tsx
2268
2289
  var import_react16 = require("react");
2269
- var import_react_better_core15 = require("react-better-core");
2270
2290
  var import_react_native11 = require("react-native");
2291
+ var import_react_better_core15 = require("react-better-core");
2271
2292
  var import_jsx_runtime14 = require("react/jsx-runtime");
2272
- function StatusBar({ darkStatusBar, hidden, barStyle, androidBarStyle, iOSBarStyle }) {
2293
+ function CheckBox({ isChecked, defaultIsChecked, size = 36, disabled, onChange }) {
2273
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)(() => {
2297
+ onChange?.(!checked);
2298
+ setChecked.toggle();
2299
+ }, [onChange, checked]);
2300
+ (0, import_react16.useEffect)(() => {
2301
+ if (isChecked === void 0) return;
2302
+ setChecked.setState(isChecked);
2303
+ }, [isChecked]);
2274
2304
  return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
2275
- import_react_native11.StatusBar,
2305
+ View_default,
2276
2306
  {
2277
- backgroundColor: darkStatusBar ? theme2.colors.backgroundSecondary : void 0,
2278
- barStyle: barStyle ?? (import_react_native11.Platform.OS === "android" ? androidBarStyle : iOSBarStyle),
2279
- hidden
2307
+ width: size,
2308
+ borderRadius: theme2.styles.borderRadius,
2309
+ pressStrength: pressStrength().p05,
2310
+ disabled,
2311
+ onPress: !disabled ? onPressElement : void 0,
2312
+ children: /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
2313
+ Animate_default.View,
2314
+ {
2315
+ width: "100%",
2316
+ height: size,
2317
+ borderWidth: 1,
2318
+ borderRadius: theme2.styles.borderRadius,
2319
+ initialBackgroundColor: theme2.colors.backgroundContent,
2320
+ animateBackgroundColor: checked ? theme2.colors.primary : theme2.colors.backgroundContent,
2321
+ initialBorderColor: theme2.colors.border,
2322
+ animateBorderColor: checked ? theme2.colors.primary : theme2.colors.border,
2323
+ initialOpacity: 1,
2324
+ animateOpacity: disabled ? 0.6 : 1,
2325
+ children: /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
2326
+ Animate_default.View,
2327
+ {
2328
+ width: "100%",
2329
+ height: "100%",
2330
+ alignItems: "center",
2331
+ justifyContent: "center",
2332
+ transitionType: "spring",
2333
+ transitionDamping: 20,
2334
+ transitionStiffness: 230,
2335
+ initialScale: 0,
2336
+ animateScale: checked ? 1 : 0,
2337
+ children: /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
2338
+ Icon_default,
2339
+ {
2340
+ name: "check",
2341
+ nameIOS: "checkmark",
2342
+ size: size * (import_react_native11.Platform.OS === "ios" ? 0.5 : 0.6),
2343
+ color: theme2.colors.base
2344
+ }
2345
+ )
2346
+ }
2347
+ )
2348
+ }
2349
+ )
2280
2350
  }
2281
2351
  );
2282
2352
  }
2283
- var StatusBar_default = (0, import_react16.memo)(StatusBar);
2353
+ var CheckBox_default = (0, import_react16.memo)(CheckBox);
2284
2354
 
2285
- // src/components/ListItem.tsx
2355
+ // src/components/StatusBar.tsx
2286
2356
  var import_react17 = require("react");
2287
2357
  var import_react_better_core16 = require("react-better-core");
2358
+ var import_react_native12 = require("react-native");
2288
2359
  var import_jsx_runtime15 = require("react/jsx-runtime");
2360
+ function StatusBar({ darkStatusBar, hidden, barStyle, androidBarStyle, iOSBarStyle }) {
2361
+ const theme2 = (0, import_react_better_core16.useTheme)();
2362
+ return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
2363
+ import_react_native12.StatusBar,
2364
+ {
2365
+ backgroundColor: darkStatusBar ? theme2.colors.backgroundSecondary : void 0,
2366
+ barStyle: barStyle ?? (import_react_native12.Platform.OS === "android" ? androidBarStyle : iOSBarStyle),
2367
+ hidden
2368
+ }
2369
+ );
2370
+ }
2371
+ var StatusBar_default = (0, import_react17.memo)(StatusBar);
2372
+
2373
+ // 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");
2289
2377
  function ListItem({
2290
2378
  icon,
2291
2379
  iconIOS,
@@ -2299,12 +2387,14 @@ function ListItem({
2299
2387
  rightValue,
2300
2388
  rightValueSelectable,
2301
2389
  switchIsEnabled,
2302
- switchOnChange
2390
+ switchOnChange,
2391
+ checkBoxIsChecked,
2392
+ checkBoxOnChange
2303
2393
  }) {
2304
- const theme2 = (0, import_react_better_core16.useTheme)();
2394
+ const theme2 = (0, import_react_better_core17.useTheme)();
2305
2395
  const device = useDevice();
2306
2396
  const sideSpace = theme2.styles.space;
2307
- return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
2397
+ return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
2308
2398
  View_default,
2309
2399
  {
2310
2400
  width: insideScreenHolder ? device.windowDimensions.width : "100%",
@@ -2314,15 +2404,15 @@ function ListItem({
2314
2404
  paddingHorizontal: sideSpace,
2315
2405
  pressStrength: pressStrength().p05,
2316
2406
  onPress,
2317
- children: /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(View_default, { isRow: true, alignItems: "center", gap: theme2.styles.space, children: [
2318
- icon && /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Icon_default, { name: icon, nameIOS: iconIOS, size: 22, color: theme2.colors.primary }),
2319
- /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(View_default, { flex: 1, flexDirection: "row", alignItems: "center", gap: theme2.styles.gap, children: /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(View_default, { flex: 1, children: [
2320
- title && /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Text_default, { fontSize: 20, fontWeight: 700, children: title }),
2321
- description && /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Text_default.body, { selectable: descriptionSelectable, children: description })
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 })
2322
2412
  ] }) }),
2323
- rightElement ? /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_jsx_runtime15.Fragment, { children: rightValue !== void 0 || rightElement === "arrow" ? /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(View_default, { isRow: true, alignItems: "center", gap: theme2.styles.gap / 2, children: [
2324
- rightValue !== void 0 && /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Text_default, { fontSize: 14, fontWeight: 700, selectable: rightValueSelectable, children: rightValue }),
2325
- rightElement === "arrow" && /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
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)(
2326
2416
  Icon_default,
2327
2417
  {
2328
2418
  name: "chevronRight",
@@ -2330,17 +2420,18 @@ function ListItem({
2330
2420
  color: rightValue !== void 0 ? theme2.colors.textPrimary : theme2.colors.textSecondary
2331
2421
  }
2332
2422
  )
2333
- ] }) : rightElement === "switch" ? /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Switch_default, { isEnabled: switchIsEnabled, onChange: switchOnChange }) : void 0 }) : void 0
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
2334
2424
  ] })
2335
2425
  }
2336
2426
  );
2337
2427
  }
2338
- var ListItem_default = (0, import_react17.memo)(ListItem);
2428
+ var ListItem_default = (0, import_react18.memo)(ListItem);
2339
2429
  // Annotate the CommonJS export names for ESM import in node:
2340
2430
  0 && (module.exports = {
2341
2431
  Animate,
2342
2432
  BetterComponentsProvider,
2343
2433
  Button,
2434
+ CheckBox,
2344
2435
  Icon,
2345
2436
  Image,
2346
2437
  InputField,