react-native-better-html 1.0.7 → 1.0.9

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
@@ -30,7 +30,7 @@ type BetterComponentsProviderProps = BetterProviderCommonProps & {
30
30
  config?: BetterComponentsProviderConfig;
31
31
  };
32
32
  declare function BetterComponentsProvider({ config, ...props }: BetterComponentsProviderProps): react_jsx_runtime.JSX.Element;
33
- declare const _default: react.MemoExoticComponent<typeof BetterComponentsProvider>;
33
+ declare const _default$1: react.MemoExoticComponent<typeof BetterComponentsProvider>;
34
34
 
35
35
  type ComponentStyle<Style extends ViewStyle = ViewStyle> = OmitProps<Style, "shadowOffset" | ComponentExcludeMarginProps | ComponentExcludePaddingProps> & {
36
36
  shadowOffsetWidth?: number;
@@ -269,6 +269,8 @@ type ScreenHolderProps = {
269
269
  /** @default false */
270
270
  keepFooterOnKeyboardOpened?: boolean;
271
271
  keyboardVerticalOffset?: number;
272
+ /** @default false */
273
+ withNoHeader?: boolean;
272
274
  children?: React.ReactNode;
273
275
  };
274
276
  type ScreenHolderComponentType = {
@@ -283,6 +285,8 @@ type FooterProps = {
283
285
  backgroundColor?: ViewProps["backgroundColor"];
284
286
  /** @default false */
285
287
  insideBottomSafeArea?: boolean;
288
+ /** @default false */
289
+ withNoHeader?: boolean;
286
290
  children?: React.ReactNode;
287
291
  };
288
292
  declare const ScreenHolder: typeof ScreenHolderComponent & {
@@ -344,8 +348,16 @@ declare const InputField: typeof InputFieldComponent & {
344
348
  password: typeof InputFieldComponent.password;
345
349
  };
346
350
 
351
+ type StatusBarProps = {
352
+ darkStatusBar?: boolean;
353
+ /** @default false */
354
+ hidden?: boolean;
355
+ };
356
+ declare function StatusBar({ darkStatusBar, hidden }: StatusBarProps): react_jsx_runtime.JSX.Element;
357
+ declare const _default: react.MemoExoticComponent<typeof StatusBar>;
358
+
347
359
  type AsyncStoragePluginOptions = {};
348
360
  declare const defaultAsyncStoragePluginOptions: Required<AsyncStoragePluginOptions>;
349
361
  declare const asyncStoragePlugin: BetterComponentsPluginConstructor<AsyncStoragePluginOptions>;
350
362
 
351
- export { Animate, type AnimateTextProps, type AnimateViewProps, type AppConfig, type AsyncStoragePluginOptions, type BetterComponentsConfig, type BetterComponentsPlugin, _default as BetterComponentsProvider, type BetterComponentsProviderConfig, Button, type ButtonProps, type ComponentMarginProps, type ComponentPaddingProps, type FooterProps, Image, type ImageProps, InputField, type InputFieldProps, Loader, type LoaderProps, type LoaderSize, type PluginName, ScreenHolder, type ScreenHolderProps, Text, type TextProps, View, type ViewProps, asyncStoragePlugin, defaultAsyncStoragePluginOptions, generateAsyncStorage, pressStrength, useBetterComponentsContext, useDevice, useKeyboard };
363
+ export { Animate, type AnimateTextProps, type AnimateViewProps, type AppConfig, type AsyncStoragePluginOptions, type BetterComponentsConfig, type BetterComponentsPlugin, _default$1 as BetterComponentsProvider, type BetterComponentsProviderConfig, Button, type ButtonProps, type ComponentMarginProps, type ComponentPaddingProps, type FooterProps, Image, type ImageProps, InputField, type InputFieldProps, Loader, type LoaderProps, type LoaderSize, type PluginName, ScreenHolder, type ScreenHolderProps, _default as StatusBar, type StatusBarProps, Text, type TextProps, View, type ViewProps, asyncStoragePlugin, defaultAsyncStoragePluginOptions, generateAsyncStorage, pressStrength, useBetterComponentsContext, useDevice, useKeyboard };
package/dist/index.d.ts CHANGED
@@ -30,7 +30,7 @@ type BetterComponentsProviderProps = BetterProviderCommonProps & {
30
30
  config?: BetterComponentsProviderConfig;
31
31
  };
32
32
  declare function BetterComponentsProvider({ config, ...props }: BetterComponentsProviderProps): react_jsx_runtime.JSX.Element;
33
- declare const _default: react.MemoExoticComponent<typeof BetterComponentsProvider>;
33
+ declare const _default$1: react.MemoExoticComponent<typeof BetterComponentsProvider>;
34
34
 
35
35
  type ComponentStyle<Style extends ViewStyle = ViewStyle> = OmitProps<Style, "shadowOffset" | ComponentExcludeMarginProps | ComponentExcludePaddingProps> & {
36
36
  shadowOffsetWidth?: number;
@@ -269,6 +269,8 @@ type ScreenHolderProps = {
269
269
  /** @default false */
270
270
  keepFooterOnKeyboardOpened?: boolean;
271
271
  keyboardVerticalOffset?: number;
272
+ /** @default false */
273
+ withNoHeader?: boolean;
272
274
  children?: React.ReactNode;
273
275
  };
274
276
  type ScreenHolderComponentType = {
@@ -283,6 +285,8 @@ type FooterProps = {
283
285
  backgroundColor?: ViewProps["backgroundColor"];
284
286
  /** @default false */
285
287
  insideBottomSafeArea?: boolean;
288
+ /** @default false */
289
+ withNoHeader?: boolean;
286
290
  children?: React.ReactNode;
287
291
  };
288
292
  declare const ScreenHolder: typeof ScreenHolderComponent & {
@@ -344,8 +348,16 @@ declare const InputField: typeof InputFieldComponent & {
344
348
  password: typeof InputFieldComponent.password;
345
349
  };
346
350
 
351
+ type StatusBarProps = {
352
+ darkStatusBar?: boolean;
353
+ /** @default false */
354
+ hidden?: boolean;
355
+ };
356
+ declare function StatusBar({ darkStatusBar, hidden }: StatusBarProps): react_jsx_runtime.JSX.Element;
357
+ declare const _default: react.MemoExoticComponent<typeof StatusBar>;
358
+
347
359
  type AsyncStoragePluginOptions = {};
348
360
  declare const defaultAsyncStoragePluginOptions: Required<AsyncStoragePluginOptions>;
349
361
  declare const asyncStoragePlugin: BetterComponentsPluginConstructor<AsyncStoragePluginOptions>;
350
362
 
351
- export { Animate, type AnimateTextProps, type AnimateViewProps, type AppConfig, type AsyncStoragePluginOptions, type BetterComponentsConfig, type BetterComponentsPlugin, _default as BetterComponentsProvider, type BetterComponentsProviderConfig, Button, type ButtonProps, type ComponentMarginProps, type ComponentPaddingProps, type FooterProps, Image, type ImageProps, InputField, type InputFieldProps, Loader, type LoaderProps, type LoaderSize, type PluginName, ScreenHolder, type ScreenHolderProps, Text, type TextProps, View, type ViewProps, asyncStoragePlugin, defaultAsyncStoragePluginOptions, generateAsyncStorage, pressStrength, useBetterComponentsContext, useDevice, useKeyboard };
363
+ export { Animate, type AnimateTextProps, type AnimateViewProps, type AppConfig, type AsyncStoragePluginOptions, type BetterComponentsConfig, type BetterComponentsPlugin, _default$1 as BetterComponentsProvider, type BetterComponentsProviderConfig, Button, type ButtonProps, type ComponentMarginProps, type ComponentPaddingProps, type FooterProps, Image, type ImageProps, InputField, type InputFieldProps, Loader, type LoaderProps, type LoaderSize, type PluginName, ScreenHolder, type ScreenHolderProps, _default as StatusBar, type StatusBarProps, Text, type TextProps, View, type ViewProps, asyncStoragePlugin, defaultAsyncStoragePluginOptions, generateAsyncStorage, pressStrength, useBetterComponentsContext, useDevice, useKeyboard };
package/dist/index.js CHANGED
@@ -37,36 +37,37 @@ __export(index_exports, {
37
37
  InputField: () => InputField_default,
38
38
  Loader: () => Loader_default,
39
39
  ScreenHolder: () => ScreenHolder_default,
40
+ StatusBar: () => StatusBar_default,
40
41
  Text: () => Text_default,
41
42
  View: () => View_default,
42
43
  asyncStoragePlugin: () => asyncStoragePlugin,
43
- colorThemeControls: () => import_react_better_core10.colorThemeControls,
44
- countries: () => import_react_better_core10.countries,
45
- darkenColor: () => import_react_better_core10.darkenColor,
44
+ colorThemeControls: () => import_react_better_core11.colorThemeControls,
45
+ countries: () => import_react_better_core11.countries,
46
+ darkenColor: () => import_react_better_core11.darkenColor,
46
47
  defaultAsyncStoragePluginOptions: () => defaultAsyncStoragePluginOptions,
47
- desaturateColor: () => import_react_better_core10.desaturateColor,
48
- eventPreventDefault: () => import_react_better_core10.eventPreventDefault,
49
- eventPreventStop: () => import_react_better_core10.eventPreventStop,
50
- eventStopPropagation: () => import_react_better_core10.eventStopPropagation,
51
- formatPhoneNumber: () => import_react_better_core10.formatPhoneNumber,
48
+ desaturateColor: () => import_react_better_core11.desaturateColor,
49
+ eventPreventDefault: () => import_react_better_core11.eventPreventDefault,
50
+ eventPreventStop: () => import_react_better_core11.eventPreventStop,
51
+ eventStopPropagation: () => import_react_better_core11.eventStopPropagation,
52
+ formatPhoneNumber: () => import_react_better_core11.formatPhoneNumber,
52
53
  generateAsyncStorage: () => generateAsyncStorage,
53
- generateRandomString: () => import_react_better_core10.generateRandomString,
54
- getPluralWord: () => import_react_better_core10.getPluralWord,
55
- lightenColor: () => import_react_better_core10.lightenColor,
56
- loaderControls: () => import_react_better_core10.loaderControls,
54
+ generateRandomString: () => import_react_better_core11.generateRandomString,
55
+ getPluralWord: () => import_react_better_core11.getPluralWord,
56
+ lightenColor: () => import_react_better_core11.lightenColor,
57
+ loaderControls: () => import_react_better_core11.loaderControls,
57
58
  pressStrength: () => pressStrength,
58
- saturateColor: () => import_react_better_core10.saturateColor,
59
+ saturateColor: () => import_react_better_core11.saturateColor,
59
60
  useBetterComponentsContext: () => useBetterComponentsContext,
60
- useBooleanState: () => import_react_better_core10.useBooleanState,
61
- useDebounceState: () => import_react_better_core10.useDebounceState,
61
+ useBooleanState: () => import_react_better_core11.useBooleanState,
62
+ useDebounceState: () => import_react_better_core11.useDebounceState,
62
63
  useDevice: () => useDevice,
63
64
  useKeyboard: () => useKeyboard,
64
- useLoader: () => import_react_better_core10.useLoader,
65
- useLoaderControls: () => import_react_better_core10.useLoaderControls,
66
- useTheme: () => import_react_better_core10.useTheme
65
+ useLoader: () => import_react_better_core11.useLoader,
66
+ useLoaderControls: () => import_react_better_core11.useLoaderControls,
67
+ useTheme: () => import_react_better_core11.useTheme
67
68
  });
68
69
  module.exports = __toCommonJS(index_exports);
69
- var import_react_better_core10 = require("react-better-core");
70
+ var import_react_better_core11 = require("react-better-core");
70
71
 
71
72
  // src/components/BetterComponentsProvider.tsx
72
73
  var import_react = require("react");
@@ -1030,6 +1031,7 @@ var ScreenHolderComponent = ({
1030
1031
  footer,
1031
1032
  keepFooterOnKeyboardOpened,
1032
1033
  keyboardVerticalOffset,
1034
+ withNoHeader,
1033
1035
  children
1034
1036
  }) => {
1035
1037
  const theme2 = (0, import_react_better_core7.useTheme)();
@@ -1065,7 +1067,7 @@ var ScreenHolderComponent = ({
1065
1067
  import_react_native6.KeyboardAvoidingView,
1066
1068
  {
1067
1069
  style: keyboardAvoidingViewStyle,
1068
- keyboardVerticalOffset: keyboardVerticalOffset ?? (keepFooterOnKeyboardOpened ? import_react_native6.Platform.OS === "ios" ? device.safeArea.afterCalculations.bottom : theme2.styles.gap : void 0),
1070
+ keyboardVerticalOffset: keyboardVerticalOffset ?? (withNoHeader ? import_react_native6.Platform.OS === "ios" ? 0 : theme2.styles.gap : keepFooterOnKeyboardOpened ? import_react_native6.Platform.OS === "ios" ? device.safeArea.afterCalculations.bottom : theme2.styles.gap : void 0),
1069
1071
  behavior: import_react_native6.Platform.OS === "ios" ? "padding" : "height",
1070
1072
  children: [
1071
1073
  /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(View_default, { flex: 1, children: noScroll ? content : /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
@@ -1075,7 +1077,13 @@ var ScreenHolderComponent = ({
1075
1077
  children: content
1076
1078
  }
1077
1079
  ) }),
1078
- keepFooterOnKeyboardOpened || (import_react_native6.Platform.OS === "ios" ? !keyboard.willOpen : !keyboard.isOpened) ? footer && /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(View_default, { children: footer }) : /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(View_default, { width: "100%", height: device.safeArea.afterCalculations.bottom })
1080
+ keepFooterOnKeyboardOpened || (import_react_native6.Platform.OS === "ios" ? !keyboard.willOpen : !keyboard.isOpened) ? footer && /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(View_default, { children: footer }) : !withNoHeader && /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
1081
+ View_default,
1082
+ {
1083
+ width: "100%",
1084
+ height: device.safeArea.afterCalculations.bottom + (import_react_native6.Platform.OS === "android" ? theme2.styles.gap : 0)
1085
+ }
1086
+ )
1079
1087
  ]
1080
1088
  }
1081
1089
  ) });
@@ -1084,17 +1092,19 @@ ScreenHolderComponent.footer = function Footer({
1084
1092
  noSideSpace,
1085
1093
  backgroundColor,
1086
1094
  insideBottomSafeArea,
1095
+ withNoHeader,
1087
1096
  children
1088
1097
  }) {
1089
1098
  const theme2 = (0, import_react_better_core7.useTheme)();
1090
1099
  const device = useDevice();
1100
+ const keyboard = useKeyboard();
1091
1101
  return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
1092
1102
  View_default,
1093
1103
  {
1094
1104
  backgroundColor: backgroundColor ?? theme2.colors.backgroundBase,
1095
1105
  paddingHorizontal: !noSideSpace ? theme2.styles.space : void 0,
1096
1106
  paddingTop: theme2.styles.gap,
1097
- paddingBottom: insideBottomSafeArea ? device.safeArea.afterCalculations.bottom : void 0,
1107
+ paddingBottom: (import_react_native6.Platform.OS === "ios" ? keyboard.willOpen : keyboard.isOpened) && withNoHeader ? theme2.styles.gap : insideBottomSafeArea ? device.safeArea.afterCalculations.bottom : void 0,
1098
1108
  children
1099
1109
  }
1100
1110
  );
@@ -1342,6 +1352,23 @@ InputField.email = InputFieldComponent.email;
1342
1352
  InputField.password = InputFieldComponent.password;
1343
1353
  var InputField_default = InputField;
1344
1354
 
1355
+ // src/components/StatusBar.tsx
1356
+ var import_react11 = require("react");
1357
+ var import_react_better_core10 = require("react-better-core");
1358
+ var import_react_native9 = require("react-native");
1359
+ var import_jsx_runtime10 = require("react/jsx-runtime");
1360
+ function StatusBar({ darkStatusBar, hidden }) {
1361
+ const theme2 = (0, import_react_better_core10.useTheme)();
1362
+ return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
1363
+ import_react_native9.StatusBar,
1364
+ {
1365
+ backgroundColor: darkStatusBar ? theme2.colors.backgroundSecondary : void 0,
1366
+ hidden
1367
+ }
1368
+ );
1369
+ }
1370
+ var StatusBar_default = (0, import_react11.memo)(StatusBar);
1371
+
1345
1372
  // src/plugins/asyncStorage.ts
1346
1373
  var defaultAsyncStoragePluginOptions = {};
1347
1374
  var asyncStoragePlugin = (options) => ({
@@ -1363,6 +1390,7 @@ var asyncStoragePlugin = (options) => ({
1363
1390
  InputField,
1364
1391
  Loader,
1365
1392
  ScreenHolder,
1393
+ StatusBar,
1366
1394
  Text,
1367
1395
  View,
1368
1396
  asyncStoragePlugin,