@jobber/components-native 0.88.1 → 0.89.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -5,6 +5,7 @@ export declare const atlantisFormContextDefaultValues: {
5
5
  setLocalCache: () => undefined;
6
6
  removeLocalCache: () => undefined;
7
7
  };
8
+ edgeToEdgeEnabled: boolean;
8
9
  };
9
10
  export declare const AtlantisFormContext: import("react").Context<AtlantisFormContextProps>;
10
11
  export declare function useAtlantisFormContext(): AtlantisFormContextProps;
@@ -21,5 +21,6 @@ export interface AtlantisFormContextProps {
21
21
  setLocalCache: (data: DeepPartial<TData>) => void;
22
22
  removeLocalCache: () => void;
23
23
  };
24
+ edgeToEdgeEnabled?: boolean;
24
25
  }
25
26
  export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jobber/components-native",
3
- "version": "0.88.1",
3
+ "version": "0.89.0",
4
4
  "license": "MIT",
5
5
  "description": "React Native implementation of Atlantis",
6
6
  "repository": {
@@ -94,5 +94,5 @@
94
94
  "react-native-safe-area-context": "^5.4.0",
95
95
  "react-native-svg": ">=12.0.0"
96
96
  },
97
- "gitHead": "02b60328dca8a6166794f853db3219e7b3f9bca1"
97
+ "gitHead": "11776ee31e17536a81a51c143933031f0601a270"
98
98
  }
package/src/Form/Form.tsx CHANGED
@@ -26,6 +26,7 @@ import { useScrollToError } from "./hooks/useScrollToError";
26
26
  import { FormSaveButton } from "./components/FormSaveButton";
27
27
  import { useSaveButtonPosition } from "./hooks/useSaveButtonPosition";
28
28
  import { FormCache } from "./components/FormCache/FormCache";
29
+ import { useAtlantisFormContext } from "./context/AtlantisFormContext";
29
30
  import { InputAccessoriesProvider } from "../InputText";
30
31
  import { tokens } from "../utils/design";
31
32
  import { ErrorMessageProvider } from "../ErrorMessageWrapper";
@@ -134,6 +135,8 @@ function InternalForm<T extends FieldValues, S>({
134
135
 
135
136
  const styles = useStyles();
136
137
 
138
+ const { edgeToEdgeEnabled } = useAtlantisFormContext();
139
+
137
140
  return (
138
141
  <FormProvider {...formMethods}>
139
142
  <>
@@ -161,6 +164,7 @@ function InternalForm<T extends FieldValues, S>({
161
164
  <KeyboardAwareScrollView
162
165
  enableResetScrollToCoords={false}
163
166
  enableAutomaticScroll={true}
167
+ enableOnAndroid={edgeToEdgeEnabled}
164
168
  keyboardOpeningTime={
165
169
  Platform.OS === "ios" ? tokens["timing-slowest"] : 0
166
170
  }
@@ -168,6 +172,7 @@ function InternalForm<T extends FieldValues, S>({
168
172
  ref={scrollViewRef}
169
173
  {...keyboardProps}
170
174
  extraHeight={headerHeight}
175
+ extraScrollHeight={edgeToEdgeEnabled ? tokens["space-large"] : 0}
171
176
  contentContainerStyle={
172
177
  !keyboardHeight && styles.scrollContentContainer
173
178
  }
@@ -11,6 +11,7 @@ export const atlantisFormContextDefaultValues = {
11
11
  setLocalCache: () => undefined,
12
12
  removeLocalCache: () => undefined,
13
13
  }),
14
+ edgeToEdgeEnabled: false,
14
15
  };
15
16
 
16
17
  export const AtlantisFormContext = createContext<AtlantisFormContextProps>(
@@ -30,4 +30,5 @@ export interface AtlantisFormContextProps {
30
30
  setLocalCache: (data: DeepPartial<TData>) => void;
31
31
  removeLocalCache: () => void;
32
32
  };
33
+ edgeToEdgeEnabled?: boolean;
33
34
  }