react-native-better-html 1.0.17 → 1.0.19

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
@@ -3,7 +3,7 @@ export { AnyOtherString, AssetName, AssetsConfig, Color, ColorName, ColorTheme,
3
3
  import * as react from 'react';
4
4
  import * as react_jsx_runtime from 'react/jsx-runtime';
5
5
  import * as react_native from 'react-native';
6
- import { ViewStyle, GestureResponderEvent, ViewProps as ViewProps$1, TextInput, TextStyle, NativeSyntheticEvent, NativeTouchEvent, FocusEvent, TextInputSubmitEditingEvent, TextProps as TextProps$1, ColorValue, ImageSourcePropType, ImageProps as ImageProps$1, ImageStyle, StatusBar as StatusBar$1 } from 'react-native';
6
+ import { ViewStyle, GestureResponderEvent, ViewProps as ViewProps$1, ColorValue, TextInput, TextStyle, NativeSyntheticEvent, NativeTouchEvent, FocusEvent, TextInputSubmitEditingEvent, TextProps as TextProps$1, ImageSourcePropType, ImageProps as ImageProps$1, ImageStyle, StatusBar as StatusBar$1 } from 'react-native';
7
7
  import { SymbolView } from 'expo-symbols';
8
8
  import { EaseFunction, PropsTransforms } from '@legendapp/motion';
9
9
 
@@ -12,7 +12,7 @@ type BetterComponentsConfig = {
12
12
  app: AppConfig;
13
13
  };
14
14
 
15
- type PluginName = "asyncStorage";
15
+ type PluginName = "alerts" | "asyncStorage";
16
16
  type BetterComponentsPluginConstructor<T extends object = object> = (config?: T) => BetterComponentsPlugin<T>;
17
17
  type BetterComponentsPlugin<T = object> = {
18
18
  name: PluginName;
@@ -20,7 +20,26 @@ type BetterComponentsPlugin<T = object> = {
20
20
  getConfig: () => T;
21
21
  };
22
22
 
23
+ type AlertType = "info" | "success" | "warning" | "error";
24
+ type AlertDuration = number | "auto";
25
+ type AlertDisplay = "default" | "prominent";
26
+ type Alert = {
27
+ id: string;
28
+ type: AlertType;
29
+ /** @default "default" */
30
+ display?: AlertDisplay;
31
+ title?: string;
32
+ message?: string;
33
+ /** @default "auto" */
34
+ duration?: AlertDuration;
35
+ onClose?: (alert: Alert) => void;
36
+ };
37
+
23
38
  declare const useBetterComponentsContext: () => BetterComponentsConfig & BetterCoreConfig;
39
+ declare const useAlertControls: () => {
40
+ createAlert: (alert: OmitProps<Alert, "id">) => Alert;
41
+ removeAlert: (alertId: string) => void;
42
+ };
24
43
  type BetterComponentsProviderInternalConfig = DeepPartialRecord<BetterComponentsConfig>;
25
44
  type BetterProviderCommonProps = {
26
45
  plugins?: BetterComponentsPlugin[];
@@ -31,7 +50,7 @@ type BetterComponentsProviderProps = BetterProviderCommonProps & {
31
50
  config?: BetterComponentsProviderConfig;
32
51
  };
33
52
  declare function BetterComponentsProvider({ config, ...props }: BetterComponentsProviderProps): react_jsx_runtime.JSX.Element;
34
- declare const _default$2: react.MemoExoticComponent<typeof BetterComponentsProvider>;
53
+ declare const _default$4: react.MemoExoticComponent<typeof BetterComponentsProvider>;
35
54
 
36
55
  type ComponentStyle<Style extends ViewStyle = ViewStyle> = OmitProps<Style, "shadowOffset" | ComponentExcludeMarginProps | ComponentExcludePaddingProps> & {
37
56
  shadowOffsetWidth?: number;
@@ -45,6 +64,10 @@ type ComponentPropWithRef<ComponentRef, ComponentProps> = ComponentProps & {
45
64
  ref?: React.Ref<ComponentRef>;
46
65
  };
47
66
 
67
+ declare const alertControls: {
68
+ createAlert: (alert: OmitProps<Alert, "id">) => Alert;
69
+ removeAlert: (alertId: string) => void;
70
+ };
48
71
  declare const pressStrength: () => Record<"p05" | "p1" | "p2" | "p3", number>;
49
72
 
50
73
  type ViewProps<Value = unknown> = {
@@ -75,15 +98,16 @@ declare const View: typeof ViewComponent & {
75
98
  box: typeof ViewComponent.box;
76
99
  };
77
100
 
101
+ type IconNameIOS = React.ComponentProps<typeof SymbolView>["name"];
78
102
  type IconProps = {
79
103
  name: IconName | AnyOtherString;
80
- nameIOS?: React.ComponentProps<typeof SymbolView>["name"];
104
+ nameIOS?: IconNameIOS;
81
105
  /** @default 16 */
82
106
  size?: number;
83
- color?: string;
107
+ color?: ColorValue;
84
108
  } & OmitProps<ViewProps, "width" | "height" | "pressType">;
85
109
  declare function Icon({ name, nameIOS, size, color, ...props }: IconProps): react_jsx_runtime.JSX.Element;
86
- declare const _default$1: react.MemoExoticComponent<typeof Icon>;
110
+ declare const _default$3: react.MemoExoticComponent<typeof Icon>;
87
111
 
88
112
  type InputFieldProps = {
89
113
  flex?: ViewStyle["flex"];
@@ -107,7 +131,6 @@ type InputFieldProps = {
107
131
  autoCapitalize?: React.ComponentProps<typeof TextInput>["autoCapitalize"];
108
132
  autoComplete?: React.ComponentProps<typeof TextInput>["autoComplete"];
109
133
  autoCorrect?: React.ComponentProps<typeof TextInput>["autoCorrect"];
110
- /** @default "default" */
111
134
  keyboardAppearance?: React.ComponentProps<typeof TextInput>["keyboardAppearance"];
112
135
  keyboardType?: React.ComponentProps<typeof TextInput>["keyboardType"];
113
136
  /** @default false */
@@ -164,6 +187,16 @@ declare const InputField: typeof InputFieldComponent & {
164
187
  code: typeof InputFieldComponent.code;
165
188
  };
166
189
 
190
+ type SwitchProps = {
191
+ isEnabled?: boolean;
192
+ defaultIsEnabled?: boolean;
193
+ /** @default false */
194
+ disabled?: boolean;
195
+ onChange?: (isEnabled: boolean) => void;
196
+ };
197
+ declare function Switch({ isEnabled, defaultIsEnabled, disabled, onChange }: SwitchProps): react_jsx_runtime.JSX.Element;
198
+ declare const _default$2: react.MemoExoticComponent<typeof Switch>;
199
+
167
200
  declare function useDevice(): {
168
201
  safeArea: {
169
202
  /** @description The safe area insets after calculations. Recommended to use this instead of the raw insets. */
@@ -207,6 +240,7 @@ declare function useForm<FormFields extends Record<string | number, FormFieldVal
207
240
  setFieldValue: <FieldName extends keyof FormFields>(field: FieldName, value: FormFields[FieldName] | undefined) => void;
208
241
  setFieldsValue: (values: Partial<FormFields>) => void;
209
242
  getInputFieldProps: <FieldName extends keyof FormFields>(field: FieldName) => ComponentPropWithRef<InputFieldRef, InputFieldProps>;
243
+ getSwitchProps: <FieldName extends keyof FormFields>(field: FieldName, insideListItem?: boolean) => SwitchProps;
210
244
  focusField: (field: keyof FormFields) => void;
211
245
  inputFieldRefs: Record<keyof FormFields, TextInput | undefined>;
212
246
  validate: () => {};
@@ -259,6 +293,7 @@ type ButtonProps<Value> = {
259
293
  /** @default "base" */
260
294
  textColor?: ColorValue;
261
295
  icon?: IconName | AnyOtherString;
296
+ iconIOS?: IconNameIOS;
262
297
  /** @default "left" */
263
298
  iconPosition?: "left" | "right";
264
299
  /** @default Same as text color */
@@ -285,17 +320,26 @@ type ButtonComponentType = {
285
320
  secondary: <Value>(props: ButtonProps<Value>) => React.ReactElement;
286
321
  destructive: <Value>(props: ButtonProps<Value>) => React.ReactElement;
287
322
  text: <Value>(props: ButtonProps<Value>) => React.ReactElement;
323
+ icon: <Value>(props: OmitProps<ButtonProps<Value>, "width" | "height" | "isSmall"> & {
324
+ /** @default 16 */
325
+ size?: number;
326
+ }) => React.ReactElement;
288
327
  };
289
328
  declare const ButtonComponent: {
290
- <Value>({ text, textFontSize, textFontWeight, textDecorationLine, textColor, icon, iconPosition, iconColor, iconSize, image, imagePosition, imageWidth, imageHeight, loaderName, isLoading, isSmall, animateOpacity, flex, alignSelf, disabled, ...props }: InternalButtonProps<Value>): react_jsx_runtime.JSX.Element;
329
+ <Value>({ value, text, textFontSize, textFontWeight, textDecorationLine, textColor, icon, iconIOS, iconPosition, iconColor, iconSize, image, imagePosition, imageWidth, imageHeight, loaderName, isLoading, isSmall, animateOpacity, flex, alignSelf, disabled, onPress, onPressWithValue, ...props }: InternalButtonProps<Value>): react_jsx_runtime.JSX.Element;
291
330
  secondary: <Value>(props: ButtonProps<Value>) => React.ReactElement;
292
331
  destructive: <Value>(props: ButtonProps<Value>) => React.ReactElement;
293
332
  text: <Value>(props: ButtonProps<Value>) => React.ReactElement;
333
+ icon: <Value>(props: OmitProps<ButtonProps<Value>, "width" | "height" | "isSmall"> & {
334
+ /** @default 16 */
335
+ size?: number;
336
+ }) => React.ReactElement;
294
337
  };
295
338
  declare const Button: ButtonComponentType & {
296
339
  secondary: typeof ButtonComponent.secondary;
297
340
  destructive: typeof ButtonComponent.destructive;
298
341
  text: typeof ButtonComponent.text;
342
+ icon: typeof ButtonComponent.icon;
299
343
  };
300
344
 
301
345
  type LoaderSize = "small" | "large";
@@ -447,10 +491,42 @@ type StatusBarProps = {
447
491
  iOSBarStyle?: React.ComponentProps<typeof StatusBar$1>["barStyle"];
448
492
  };
449
493
  declare function StatusBar({ darkStatusBar, hidden, barStyle, androidBarStyle, iOSBarStyle }: StatusBarProps): react_jsx_runtime.JSX.Element;
450
- declare const _default: react.MemoExoticComponent<typeof StatusBar>;
494
+ declare const _default$1: react.MemoExoticComponent<typeof StatusBar>;
495
+
496
+ type ListItemProps = {
497
+ icon?: IconName | AnyOtherString;
498
+ iconIOS?: IconNameIOS;
499
+ title?: string;
500
+ description?: string;
501
+ descriptionSelectable?: boolean;
502
+ rightElement?: "arrow" | "switch";
503
+ /** @default theme.colors.backgroundBase */
504
+ backgroundColor?: ViewProps["backgroundColor"];
505
+ /** @default false */
506
+ insideScreenHolder?: boolean;
507
+ onPress?: () => void;
508
+ rightValue?: string | number;
509
+ rightValueSelectable?: boolean;
510
+ switchIsEnabled?: boolean;
511
+ switchOnChange?: (isEnabled: boolean) => void;
512
+ };
513
+ declare function ListItem({ icon, iconIOS, title, description, descriptionSelectable, rightElement, backgroundColor, insideScreenHolder, onPress, rightValue, rightValueSelectable, switchIsEnabled, switchOnChange, }: ListItemProps): react_jsx_runtime.JSX.Element;
514
+ declare const _default: react.MemoExoticComponent<typeof ListItem>;
515
+
516
+ type AlertsPluginOptions = {
517
+ /** @default "right" */
518
+ align?: "left" | "center" | "right";
519
+ /** @default "auto" */
520
+ defaultDuration?: AlertDuration;
521
+ defaultDisplay?: PartialRecord<AlertType, AlertDisplay>;
522
+ /** @default true */
523
+ withCloseButton?: boolean;
524
+ };
525
+ declare const defaultAlertsPluginOptions: Required<AlertsPluginOptions>;
526
+ declare const alertsPlugin: BetterComponentsPluginConstructor<AlertsPluginOptions>;
451
527
 
452
528
  type AsyncStoragePluginOptions = {};
453
529
  declare const defaultAsyncStoragePluginOptions: Required<AsyncStoragePluginOptions>;
454
530
  declare const asyncStoragePlugin: BetterComponentsPluginConstructor<AsyncStoragePluginOptions>;
455
531
 
456
- export { Animate, type AnimateTextProps, type AnimateViewProps, type AppConfig, type AsyncStoragePluginOptions, type BetterComponentsConfig, type BetterComponentsPlugin, _default$2 as BetterComponentsProvider, type BetterComponentsProviderConfig, Button, type ButtonProps, type ComponentMarginProps, type ComponentPaddingProps, type FooterProps, _default$1 as Icon, type IconProps, Image, type ImageProps, InputField, type InputFieldProps, type InputFieldRef, Loader, type LoaderProps, type LoaderSize, type PluginName, ScreenHolder, type ScreenHolderProps, _default as StatusBar, type StatusBarProps, Text, type TextProps, View, type ViewProps, asyncStoragePlugin, defaultAsyncStoragePluginOptions, generateAsyncStorage, getFormErrorObject, pressStrength, useBetterComponentsContext, useDevice, useEventEmitter, useForm, useKeyboard };
532
+ 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 };
package/dist/index.d.ts CHANGED
@@ -3,7 +3,7 @@ export { AnyOtherString, AssetName, AssetsConfig, Color, ColorName, ColorTheme,
3
3
  import * as react from 'react';
4
4
  import * as react_jsx_runtime from 'react/jsx-runtime';
5
5
  import * as react_native from 'react-native';
6
- import { ViewStyle, GestureResponderEvent, ViewProps as ViewProps$1, TextInput, TextStyle, NativeSyntheticEvent, NativeTouchEvent, FocusEvent, TextInputSubmitEditingEvent, TextProps as TextProps$1, ColorValue, ImageSourcePropType, ImageProps as ImageProps$1, ImageStyle, StatusBar as StatusBar$1 } from 'react-native';
6
+ import { ViewStyle, GestureResponderEvent, ViewProps as ViewProps$1, ColorValue, TextInput, TextStyle, NativeSyntheticEvent, NativeTouchEvent, FocusEvent, TextInputSubmitEditingEvent, TextProps as TextProps$1, ImageSourcePropType, ImageProps as ImageProps$1, ImageStyle, StatusBar as StatusBar$1 } from 'react-native';
7
7
  import { SymbolView } from 'expo-symbols';
8
8
  import { EaseFunction, PropsTransforms } from '@legendapp/motion';
9
9
 
@@ -12,7 +12,7 @@ type BetterComponentsConfig = {
12
12
  app: AppConfig;
13
13
  };
14
14
 
15
- type PluginName = "asyncStorage";
15
+ type PluginName = "alerts" | "asyncStorage";
16
16
  type BetterComponentsPluginConstructor<T extends object = object> = (config?: T) => BetterComponentsPlugin<T>;
17
17
  type BetterComponentsPlugin<T = object> = {
18
18
  name: PluginName;
@@ -20,7 +20,26 @@ type BetterComponentsPlugin<T = object> = {
20
20
  getConfig: () => T;
21
21
  };
22
22
 
23
+ type AlertType = "info" | "success" | "warning" | "error";
24
+ type AlertDuration = number | "auto";
25
+ type AlertDisplay = "default" | "prominent";
26
+ type Alert = {
27
+ id: string;
28
+ type: AlertType;
29
+ /** @default "default" */
30
+ display?: AlertDisplay;
31
+ title?: string;
32
+ message?: string;
33
+ /** @default "auto" */
34
+ duration?: AlertDuration;
35
+ onClose?: (alert: Alert) => void;
36
+ };
37
+
23
38
  declare const useBetterComponentsContext: () => BetterComponentsConfig & BetterCoreConfig;
39
+ declare const useAlertControls: () => {
40
+ createAlert: (alert: OmitProps<Alert, "id">) => Alert;
41
+ removeAlert: (alertId: string) => void;
42
+ };
24
43
  type BetterComponentsProviderInternalConfig = DeepPartialRecord<BetterComponentsConfig>;
25
44
  type BetterProviderCommonProps = {
26
45
  plugins?: BetterComponentsPlugin[];
@@ -31,7 +50,7 @@ type BetterComponentsProviderProps = BetterProviderCommonProps & {
31
50
  config?: BetterComponentsProviderConfig;
32
51
  };
33
52
  declare function BetterComponentsProvider({ config, ...props }: BetterComponentsProviderProps): react_jsx_runtime.JSX.Element;
34
- declare const _default$2: react.MemoExoticComponent<typeof BetterComponentsProvider>;
53
+ declare const _default$4: react.MemoExoticComponent<typeof BetterComponentsProvider>;
35
54
 
36
55
  type ComponentStyle<Style extends ViewStyle = ViewStyle> = OmitProps<Style, "shadowOffset" | ComponentExcludeMarginProps | ComponentExcludePaddingProps> & {
37
56
  shadowOffsetWidth?: number;
@@ -45,6 +64,10 @@ type ComponentPropWithRef<ComponentRef, ComponentProps> = ComponentProps & {
45
64
  ref?: React.Ref<ComponentRef>;
46
65
  };
47
66
 
67
+ declare const alertControls: {
68
+ createAlert: (alert: OmitProps<Alert, "id">) => Alert;
69
+ removeAlert: (alertId: string) => void;
70
+ };
48
71
  declare const pressStrength: () => Record<"p05" | "p1" | "p2" | "p3", number>;
49
72
 
50
73
  type ViewProps<Value = unknown> = {
@@ -75,15 +98,16 @@ declare const View: typeof ViewComponent & {
75
98
  box: typeof ViewComponent.box;
76
99
  };
77
100
 
101
+ type IconNameIOS = React.ComponentProps<typeof SymbolView>["name"];
78
102
  type IconProps = {
79
103
  name: IconName | AnyOtherString;
80
- nameIOS?: React.ComponentProps<typeof SymbolView>["name"];
104
+ nameIOS?: IconNameIOS;
81
105
  /** @default 16 */
82
106
  size?: number;
83
- color?: string;
107
+ color?: ColorValue;
84
108
  } & OmitProps<ViewProps, "width" | "height" | "pressType">;
85
109
  declare function Icon({ name, nameIOS, size, color, ...props }: IconProps): react_jsx_runtime.JSX.Element;
86
- declare const _default$1: react.MemoExoticComponent<typeof Icon>;
110
+ declare const _default$3: react.MemoExoticComponent<typeof Icon>;
87
111
 
88
112
  type InputFieldProps = {
89
113
  flex?: ViewStyle["flex"];
@@ -107,7 +131,6 @@ type InputFieldProps = {
107
131
  autoCapitalize?: React.ComponentProps<typeof TextInput>["autoCapitalize"];
108
132
  autoComplete?: React.ComponentProps<typeof TextInput>["autoComplete"];
109
133
  autoCorrect?: React.ComponentProps<typeof TextInput>["autoCorrect"];
110
- /** @default "default" */
111
134
  keyboardAppearance?: React.ComponentProps<typeof TextInput>["keyboardAppearance"];
112
135
  keyboardType?: React.ComponentProps<typeof TextInput>["keyboardType"];
113
136
  /** @default false */
@@ -164,6 +187,16 @@ declare const InputField: typeof InputFieldComponent & {
164
187
  code: typeof InputFieldComponent.code;
165
188
  };
166
189
 
190
+ type SwitchProps = {
191
+ isEnabled?: boolean;
192
+ defaultIsEnabled?: boolean;
193
+ /** @default false */
194
+ disabled?: boolean;
195
+ onChange?: (isEnabled: boolean) => void;
196
+ };
197
+ declare function Switch({ isEnabled, defaultIsEnabled, disabled, onChange }: SwitchProps): react_jsx_runtime.JSX.Element;
198
+ declare const _default$2: react.MemoExoticComponent<typeof Switch>;
199
+
167
200
  declare function useDevice(): {
168
201
  safeArea: {
169
202
  /** @description The safe area insets after calculations. Recommended to use this instead of the raw insets. */
@@ -207,6 +240,7 @@ declare function useForm<FormFields extends Record<string | number, FormFieldVal
207
240
  setFieldValue: <FieldName extends keyof FormFields>(field: FieldName, value: FormFields[FieldName] | undefined) => void;
208
241
  setFieldsValue: (values: Partial<FormFields>) => void;
209
242
  getInputFieldProps: <FieldName extends keyof FormFields>(field: FieldName) => ComponentPropWithRef<InputFieldRef, InputFieldProps>;
243
+ getSwitchProps: <FieldName extends keyof FormFields>(field: FieldName, insideListItem?: boolean) => SwitchProps;
210
244
  focusField: (field: keyof FormFields) => void;
211
245
  inputFieldRefs: Record<keyof FormFields, TextInput | undefined>;
212
246
  validate: () => {};
@@ -259,6 +293,7 @@ type ButtonProps<Value> = {
259
293
  /** @default "base" */
260
294
  textColor?: ColorValue;
261
295
  icon?: IconName | AnyOtherString;
296
+ iconIOS?: IconNameIOS;
262
297
  /** @default "left" */
263
298
  iconPosition?: "left" | "right";
264
299
  /** @default Same as text color */
@@ -285,17 +320,26 @@ type ButtonComponentType = {
285
320
  secondary: <Value>(props: ButtonProps<Value>) => React.ReactElement;
286
321
  destructive: <Value>(props: ButtonProps<Value>) => React.ReactElement;
287
322
  text: <Value>(props: ButtonProps<Value>) => React.ReactElement;
323
+ icon: <Value>(props: OmitProps<ButtonProps<Value>, "width" | "height" | "isSmall"> & {
324
+ /** @default 16 */
325
+ size?: number;
326
+ }) => React.ReactElement;
288
327
  };
289
328
  declare const ButtonComponent: {
290
- <Value>({ text, textFontSize, textFontWeight, textDecorationLine, textColor, icon, iconPosition, iconColor, iconSize, image, imagePosition, imageWidth, imageHeight, loaderName, isLoading, isSmall, animateOpacity, flex, alignSelf, disabled, ...props }: InternalButtonProps<Value>): react_jsx_runtime.JSX.Element;
329
+ <Value>({ value, text, textFontSize, textFontWeight, textDecorationLine, textColor, icon, iconIOS, iconPosition, iconColor, iconSize, image, imagePosition, imageWidth, imageHeight, loaderName, isLoading, isSmall, animateOpacity, flex, alignSelf, disabled, onPress, onPressWithValue, ...props }: InternalButtonProps<Value>): react_jsx_runtime.JSX.Element;
291
330
  secondary: <Value>(props: ButtonProps<Value>) => React.ReactElement;
292
331
  destructive: <Value>(props: ButtonProps<Value>) => React.ReactElement;
293
332
  text: <Value>(props: ButtonProps<Value>) => React.ReactElement;
333
+ icon: <Value>(props: OmitProps<ButtonProps<Value>, "width" | "height" | "isSmall"> & {
334
+ /** @default 16 */
335
+ size?: number;
336
+ }) => React.ReactElement;
294
337
  };
295
338
  declare const Button: ButtonComponentType & {
296
339
  secondary: typeof ButtonComponent.secondary;
297
340
  destructive: typeof ButtonComponent.destructive;
298
341
  text: typeof ButtonComponent.text;
342
+ icon: typeof ButtonComponent.icon;
299
343
  };
300
344
 
301
345
  type LoaderSize = "small" | "large";
@@ -447,10 +491,42 @@ type StatusBarProps = {
447
491
  iOSBarStyle?: React.ComponentProps<typeof StatusBar$1>["barStyle"];
448
492
  };
449
493
  declare function StatusBar({ darkStatusBar, hidden, barStyle, androidBarStyle, iOSBarStyle }: StatusBarProps): react_jsx_runtime.JSX.Element;
450
- declare const _default: react.MemoExoticComponent<typeof StatusBar>;
494
+ declare const _default$1: react.MemoExoticComponent<typeof StatusBar>;
495
+
496
+ type ListItemProps = {
497
+ icon?: IconName | AnyOtherString;
498
+ iconIOS?: IconNameIOS;
499
+ title?: string;
500
+ description?: string;
501
+ descriptionSelectable?: boolean;
502
+ rightElement?: "arrow" | "switch";
503
+ /** @default theme.colors.backgroundBase */
504
+ backgroundColor?: ViewProps["backgroundColor"];
505
+ /** @default false */
506
+ insideScreenHolder?: boolean;
507
+ onPress?: () => void;
508
+ rightValue?: string | number;
509
+ rightValueSelectable?: boolean;
510
+ switchIsEnabled?: boolean;
511
+ switchOnChange?: (isEnabled: boolean) => void;
512
+ };
513
+ declare function ListItem({ icon, iconIOS, title, description, descriptionSelectable, rightElement, backgroundColor, insideScreenHolder, onPress, rightValue, rightValueSelectable, switchIsEnabled, switchOnChange, }: ListItemProps): react_jsx_runtime.JSX.Element;
514
+ declare const _default: react.MemoExoticComponent<typeof ListItem>;
515
+
516
+ type AlertsPluginOptions = {
517
+ /** @default "right" */
518
+ align?: "left" | "center" | "right";
519
+ /** @default "auto" */
520
+ defaultDuration?: AlertDuration;
521
+ defaultDisplay?: PartialRecord<AlertType, AlertDisplay>;
522
+ /** @default true */
523
+ withCloseButton?: boolean;
524
+ };
525
+ declare const defaultAlertsPluginOptions: Required<AlertsPluginOptions>;
526
+ declare const alertsPlugin: BetterComponentsPluginConstructor<AlertsPluginOptions>;
451
527
 
452
528
  type AsyncStoragePluginOptions = {};
453
529
  declare const defaultAsyncStoragePluginOptions: Required<AsyncStoragePluginOptions>;
454
530
  declare const asyncStoragePlugin: BetterComponentsPluginConstructor<AsyncStoragePluginOptions>;
455
531
 
456
- export { Animate, type AnimateTextProps, type AnimateViewProps, type AppConfig, type AsyncStoragePluginOptions, type BetterComponentsConfig, type BetterComponentsPlugin, _default$2 as BetterComponentsProvider, type BetterComponentsProviderConfig, Button, type ButtonProps, type ComponentMarginProps, type ComponentPaddingProps, type FooterProps, _default$1 as Icon, type IconProps, Image, type ImageProps, InputField, type InputFieldProps, type InputFieldRef, Loader, type LoaderProps, type LoaderSize, type PluginName, ScreenHolder, type ScreenHolderProps, _default as StatusBar, type StatusBarProps, Text, type TextProps, View, type ViewProps, asyncStoragePlugin, defaultAsyncStoragePluginOptions, generateAsyncStorage, getFormErrorObject, pressStrength, useBetterComponentsContext, useDevice, useEventEmitter, useForm, useKeyboard };
532
+ 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 };