@jobber/components-native 0.38.0 → 0.40.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.
Files changed (184) hide show
  1. package/dist/src/AtlantisContext/AtlantisContext.js +2 -0
  2. package/dist/src/Form/Form.js +187 -0
  3. package/dist/src/Form/Form.style.js +33 -0
  4. package/dist/src/Form/components/FormActionBar/FormActionBar.js +21 -0
  5. package/dist/src/Form/components/FormActionBar/FormActionBar.style.js +5 -0
  6. package/dist/src/Form/components/FormActionBar/index.js +1 -0
  7. package/dist/src/Form/components/FormBody/FormBody.js +20 -0
  8. package/dist/src/Form/components/FormBody/FormBody.style.js +26 -0
  9. package/dist/src/Form/components/FormBody/index.js +1 -0
  10. package/dist/src/Form/components/FormCache/FormCache.js +34 -0
  11. package/dist/src/Form/components/FormErrorBanner/FormErrorBanner.js +21 -0
  12. package/dist/src/Form/components/FormErrorBanner/index.js +1 -0
  13. package/dist/src/Form/components/FormErrorBanner/messages.js +13 -0
  14. package/dist/src/Form/components/FormMask/FormMask.js +11 -0
  15. package/dist/src/Form/components/FormMask/FormMask.style.js +15 -0
  16. package/dist/src/Form/components/FormMask/index.js +1 -0
  17. package/dist/src/Form/components/FormMessage/FormMessage.js +48 -0
  18. package/dist/src/Form/components/FormMessage/components/InternalFormMessage/InternalFormMessage.js +28 -0
  19. package/dist/src/Form/components/FormMessage/components/InternalFormMessage/InternalFormMessage.style.js +17 -0
  20. package/dist/src/Form/components/FormMessage/components/InternalFormMessage/index.js +1 -0
  21. package/dist/src/Form/components/FormMessage/components/InternalFormMessage/messages.js +8 -0
  22. package/dist/src/Form/components/FormMessage/index.js +1 -0
  23. package/dist/src/Form/components/FormMessageBanner/FormMessageBanner.js +15 -0
  24. package/dist/src/Form/components/FormMessageBanner/index.js +1 -0
  25. package/dist/src/Form/components/FormSaveButton/FormSaveButton.js +69 -0
  26. package/dist/src/Form/components/FormSaveButton/index.js +1 -0
  27. package/dist/src/Form/components/FormSaveButton/messages.js +8 -0
  28. package/dist/src/Form/constants.js +2 -0
  29. package/dist/src/Form/context/AtlantisFormContext.js +16 -0
  30. package/dist/src/Form/context/index.js +1 -0
  31. package/dist/src/Form/context/types.js +1 -0
  32. package/dist/src/Form/hooks/useFormViewRefs.js +14 -0
  33. package/dist/src/Form/hooks/useInternalForm.js +37 -0
  34. package/dist/src/Form/hooks/useOfflineHandler.js +24 -0
  35. package/dist/src/Form/hooks/useSaveButtonPosition.js +25 -0
  36. package/dist/src/Form/hooks/useScreenInformation.js +15 -0
  37. package/dist/src/Form/hooks/useScrollToError/index.js +1 -0
  38. package/dist/src/Form/hooks/useScrollToError/useScrollToError.js +63 -0
  39. package/dist/src/Form/index.js +4 -0
  40. package/dist/src/Form/messages.js +28 -0
  41. package/dist/src/Form/types.js +10 -0
  42. package/dist/src/InputDate/InputDate.js +76 -0
  43. package/dist/src/InputDate/index.js +1 -0
  44. package/dist/src/InputDate/messages.js +8 -0
  45. package/dist/src/Menu/Menu.js +67 -0
  46. package/dist/src/Menu/Menu.style.js +6 -0
  47. package/dist/src/Menu/components/MenuOption/MenuOption.js +25 -0
  48. package/dist/src/Menu/components/MenuOption/MenuOption.style.js +10 -0
  49. package/dist/src/Menu/components/MenuOption/index.js +1 -0
  50. package/dist/src/Menu/components/Overlay/Overlay.js +9 -0
  51. package/dist/src/Menu/components/Overlay/Overlay.style.js +6 -0
  52. package/dist/src/Menu/components/Overlay/index.js +1 -0
  53. package/dist/src/Menu/index.js +1 -0
  54. package/dist/src/Menu/messages.js +8 -0
  55. package/dist/src/Menu/types.js +1 -0
  56. package/dist/src/Menu/utils.js +84 -0
  57. package/dist/src/index.js +3 -0
  58. package/dist/tsconfig.tsbuildinfo +1 -1
  59. package/dist/types/src/AtlantisContext/AtlantisContext.d.ts +7 -1
  60. package/dist/types/src/Form/Form.d.ts +4 -0
  61. package/dist/types/src/Form/Form.style.d.ts +31 -0
  62. package/dist/types/src/Form/components/FormActionBar/FormActionBar.d.ts +13 -0
  63. package/dist/types/src/Form/components/FormActionBar/FormActionBar.style.d.ts +15 -0
  64. package/dist/types/src/Form/components/FormActionBar/index.d.ts +2 -0
  65. package/dist/types/src/Form/components/FormBody/FormBody.d.ts +10 -0
  66. package/dist/types/src/Form/components/FormBody/FormBody.style.d.ts +24 -0
  67. package/dist/types/src/Form/components/FormBody/index.d.ts +1 -0
  68. package/dist/types/src/Form/components/FormCache/FormCache.d.ts +10 -0
  69. package/dist/types/src/Form/components/FormErrorBanner/FormErrorBanner.d.ts +3 -0
  70. package/dist/types/src/Form/components/FormErrorBanner/index.d.ts +1 -0
  71. package/dist/types/src/Form/components/FormErrorBanner/messages.d.ts +12 -0
  72. package/dist/types/src/Form/components/FormMask/FormMask.d.ts +2 -0
  73. package/dist/types/src/Form/components/FormMask/FormMask.style.d.ts +13 -0
  74. package/dist/types/src/Form/components/FormMask/index.d.ts +1 -0
  75. package/dist/types/src/Form/components/FormMessage/FormMessage.d.ts +19 -0
  76. package/dist/types/src/Form/components/FormMessage/components/InternalFormMessage/InternalFormMessage.d.ts +8 -0
  77. package/dist/types/src/Form/components/FormMessage/components/InternalFormMessage/InternalFormMessage.style.d.ts +20 -0
  78. package/dist/types/src/Form/components/FormMessage/components/InternalFormMessage/index.d.ts +1 -0
  79. package/dist/types/src/Form/components/FormMessage/components/InternalFormMessage/messages.d.ts +7 -0
  80. package/dist/types/src/Form/components/FormMessage/index.d.ts +1 -0
  81. package/dist/types/src/Form/components/FormMessageBanner/FormMessageBanner.d.ts +7 -0
  82. package/dist/types/src/Form/components/FormMessageBanner/index.d.ts +1 -0
  83. package/dist/types/src/Form/components/FormSaveButton/FormSaveButton.d.ts +3 -0
  84. package/dist/types/src/Form/components/FormSaveButton/index.d.ts +1 -0
  85. package/dist/types/src/Form/components/FormSaveButton/messages.d.ts +7 -0
  86. package/dist/types/src/Form/constants.d.ts +2 -0
  87. package/dist/types/src/Form/context/AtlantisFormContext.d.ts +12 -0
  88. package/dist/types/src/Form/context/index.d.ts +2 -0
  89. package/dist/types/src/Form/context/types.d.ts +26 -0
  90. package/dist/types/src/Form/hooks/useFormViewRefs.d.ts +10 -0
  91. package/dist/types/src/Form/hooks/useInternalForm.d.ts +19 -0
  92. package/dist/types/src/Form/hooks/useOfflineHandler.d.ts +1 -0
  93. package/dist/types/src/Form/hooks/useSaveButtonPosition.d.ts +12 -0
  94. package/dist/types/src/Form/hooks/useScreenInformation.d.ts +8 -0
  95. package/dist/types/src/Form/hooks/useScrollToError/index.d.ts +1 -0
  96. package/dist/types/src/Form/hooks/useScrollToError/useScrollToError.d.ts +10 -0
  97. package/dist/types/src/Form/index.d.ts +5 -0
  98. package/dist/types/src/Form/messages.d.ts +27 -0
  99. package/dist/types/src/Form/types.d.ts +199 -0
  100. package/dist/types/src/InputDate/InputDate.d.ts +74 -0
  101. package/dist/types/src/InputDate/index.d.ts +1 -0
  102. package/dist/types/src/InputDate/messages.d.ts +7 -0
  103. package/dist/types/src/InputNumber/InputNumber.d.ts +1 -1
  104. package/dist/types/src/Menu/Menu.d.ts +3 -0
  105. package/dist/types/src/Menu/Menu.style.d.ts +18 -0
  106. package/dist/types/src/Menu/components/MenuOption/MenuOption.d.ts +3 -0
  107. package/dist/types/src/Menu/components/MenuOption/MenuOption.style.d.ts +8 -0
  108. package/dist/types/src/Menu/components/MenuOption/index.d.ts +1 -0
  109. package/dist/types/src/Menu/components/Overlay/Overlay.d.ts +3 -0
  110. package/dist/types/src/Menu/components/Overlay/Overlay.style.d.ts +12 -0
  111. package/dist/types/src/Menu/components/Overlay/index.d.ts +1 -0
  112. package/dist/types/src/Menu/index.d.ts +2 -0
  113. package/dist/types/src/Menu/messages.d.ts +7 -0
  114. package/dist/types/src/Menu/types.d.ts +22 -0
  115. package/dist/types/src/Menu/utils.d.ts +10 -0
  116. package/dist/types/src/index.d.ts +3 -0
  117. package/package.json +3 -2
  118. package/src/AtlantisContext/AtlantisContext.tsx +10 -1
  119. package/src/Form/Form.style.ts +34 -0
  120. package/src/Form/Form.test.tsx +588 -0
  121. package/src/Form/Form.tsx +296 -0
  122. package/src/Form/components/FormActionBar/FormActionBar.style.ts +11 -0
  123. package/src/Form/components/FormActionBar/FormActionBar.tsx +63 -0
  124. package/src/Form/components/FormActionBar/index.ts +2 -0
  125. package/src/Form/components/FormBody/FormBody.style.ts +27 -0
  126. package/src/Form/components/FormBody/FormBody.tsx +62 -0
  127. package/src/Form/components/FormBody/index.ts +1 -0
  128. package/src/Form/components/FormCache/FormCache.tsx +50 -0
  129. package/src/Form/components/FormErrorBanner/FormErrorBanner.test.tsx +124 -0
  130. package/src/Form/components/FormErrorBanner/FormErrorBanner.tsx +34 -0
  131. package/src/Form/components/FormErrorBanner/index.ts +1 -0
  132. package/src/Form/components/FormErrorBanner/messages.ts +14 -0
  133. package/src/Form/components/FormMask/FormMask.style.tsx +16 -0
  134. package/src/Form/components/FormMask/FormMask.tsx +19 -0
  135. package/src/Form/components/FormMask/index.ts +1 -0
  136. package/src/Form/components/FormMessage/FormMessage.test.tsx +72 -0
  137. package/src/Form/components/FormMessage/FormMessage.tsx +63 -0
  138. package/src/Form/components/FormMessage/components/InternalFormMessage/InternalFormMessage.style.ts +18 -0
  139. package/src/Form/components/FormMessage/components/InternalFormMessage/InternalFormMessage.tsx +55 -0
  140. package/src/Form/components/FormMessage/components/InternalFormMessage/index.ts +1 -0
  141. package/src/Form/components/FormMessage/components/InternalFormMessage/messages.ts +10 -0
  142. package/src/Form/components/FormMessage/index.ts +1 -0
  143. package/src/Form/components/FormMessageBanner/FormMessageBanner.test.tsx +27 -0
  144. package/src/Form/components/FormMessageBanner/FormMessageBanner.tsx +33 -0
  145. package/src/Form/components/FormMessageBanner/index.ts +1 -0
  146. package/src/Form/components/FormSaveButton/FormSaveButton.test.tsx +159 -0
  147. package/src/Form/components/FormSaveButton/FormSaveButton.tsx +103 -0
  148. package/src/Form/components/FormSaveButton/index.ts +1 -0
  149. package/src/Form/components/FormSaveButton/messages.ts +9 -0
  150. package/src/Form/constants.ts +2 -0
  151. package/src/Form/context/AtlantisFormContext.test.tsx +45 -0
  152. package/src/Form/context/AtlantisFormContext.tsx +21 -0
  153. package/src/Form/context/index.ts +5 -0
  154. package/src/Form/context/types.ts +34 -0
  155. package/src/Form/hooks/useFormViewRefs.ts +23 -0
  156. package/src/Form/hooks/useInternalForm.ts +99 -0
  157. package/src/Form/hooks/useOfflineHandler.ts +36 -0
  158. package/src/Form/hooks/useSaveButtonPosition.ts +52 -0
  159. package/src/Form/hooks/useScreenInformation.ts +25 -0
  160. package/src/Form/hooks/useScrollToError/index.ts +1 -0
  161. package/src/Form/hooks/useScrollToError/useScrollToError.test.tsx +103 -0
  162. package/src/Form/hooks/useScrollToError/useScrollToError.ts +102 -0
  163. package/src/Form/index.ts +13 -0
  164. package/src/Form/messages.ts +33 -0
  165. package/src/Form/types.ts +255 -0
  166. package/src/InputDate/InputDate.test.tsx +295 -0
  167. package/src/InputDate/InputDate.tsx +231 -0
  168. package/src/InputDate/index.ts +1 -0
  169. package/src/InputDate/messages.ts +9 -0
  170. package/src/InputNumber/InputNumber.tsx +1 -1
  171. package/src/Menu/Menu.style.ts +16 -0
  172. package/src/Menu/Menu.test.tsx +201 -0
  173. package/src/Menu/Menu.tsx +116 -0
  174. package/src/Menu/components/MenuOption/MenuOption.style.tsx +11 -0
  175. package/src/Menu/components/MenuOption/MenuOption.tsx +63 -0
  176. package/src/Menu/components/MenuOption/index.ts +1 -0
  177. package/src/Menu/components/Overlay/Overlay.style.ts +13 -0
  178. package/src/Menu/components/Overlay/Overlay.tsx +16 -0
  179. package/src/Menu/components/Overlay/index.ts +1 -0
  180. package/src/Menu/index.ts +6 -0
  181. package/src/Menu/messages.ts +9 -0
  182. package/src/Menu/types.ts +25 -0
  183. package/src/Menu/utils.ts +151 -0
  184. package/src/index.ts +3 -0
@@ -0,0 +1,74 @@
1
+ /// <reference types="react" />
2
+ import { UseControllerProps } from "react-hook-form";
3
+ import { XOR } from "ts-xor";
4
+ import { Clearable, InputFieldWrapperProps } from "../InputFieldWrapper";
5
+ interface BaseInputDateProps extends Pick<InputFieldWrapperProps, "invalid" | "disabled" | "placeholder"> {
6
+ /**
7
+ * Defaulted to "always" so user can clear the dates whenever there's a value.
8
+ */
9
+ readonly clearable?: Extract<Clearable, "always" | "never">;
10
+ /**
11
+ * This label is shown to the user when there's no selected date.
12
+ */
13
+ readonly emptyValueLabel?: string;
14
+ /**
15
+ * Maximum date the user can set.
16
+ */
17
+ readonly maxDate?: Date;
18
+ /**
19
+ * Minimum date the user can set
20
+ */
21
+ readonly minDate?: Date;
22
+ /**
23
+ * VoiceOver will read this string when a user selects the element
24
+ */
25
+ readonly accessibilityLabel?: string;
26
+ /**
27
+ * Helps users understand what will happen when they perform an action
28
+ */
29
+ readonly accessibilityHint?: string;
30
+ }
31
+ interface FormControlledInputDate extends BaseInputDateProps {
32
+ /**
33
+ * Adding a `name` would make this component "Form controlled" and must be
34
+ * nested within a `<Form />` component.
35
+ *
36
+ * Cannot be declared if `value` prop is used.
37
+ */
38
+ readonly name: string;
39
+ /**
40
+ * Shows an error message below the field and highlights it red when the
41
+ * value is invalid. Only applies when nested within a `<Form />` component.
42
+ *
43
+ * You can see **most** of the rules you can pass in
44
+ * [React-hook-form Documentation](https://react-hook-form.com/api/useform/register#options).
45
+ */
46
+ readonly validations?: UseControllerProps["rules"];
47
+ /**
48
+ * The initial value for the input.
49
+ */
50
+ readonly defaultValue?: Date;
51
+ /**
52
+ * The callback that fires whenever a date gets selected.
53
+ */
54
+ readonly onChange?: (value?: Date | null) => void;
55
+ }
56
+ interface DevControlledInputDate extends BaseInputDateProps {
57
+ /**
58
+ * The value shown on the field. This gets automatically formatted to the
59
+ * account's date format.
60
+ *
61
+ * Cannot be declared if `name` prop is used.
62
+ */
63
+ readonly value: Date | string | undefined;
64
+ /**
65
+ * The callback that fires whenever a date gets selected.
66
+ */
67
+ readonly onChange: (value?: Date) => void;
68
+ }
69
+ export type InputDateProps = XOR<FormControlledInputDate, DevControlledInputDate>;
70
+ /**
71
+ * Allow users to select a date using the device date picker.
72
+ */
73
+ export declare function InputDate(props: InputDateProps): JSX.Element;
74
+ export {};
@@ -0,0 +1 @@
1
+ export { InputDate, InputDateProps } from "./InputDate";
@@ -0,0 +1,7 @@
1
+ export declare const messages: {
2
+ datePlaceholder: {
3
+ id: string;
4
+ defaultMessage: string;
5
+ description: string;
6
+ };
7
+ };
@@ -4,7 +4,7 @@ type NumberKeyboard = "decimal-pad" | "numbers-and-punctuation";
4
4
  export interface InputNumberProps extends Omit<InputTextProps, "keyboard" | "onChangeText" | "value" | "defaultValue"> {
5
5
  readonly value?: number;
6
6
  readonly defaultValue?: number;
7
- readonly onChange: (newValue?: number | string | undefined) => void;
7
+ readonly onChange?: (newValue?: number | string | undefined) => void;
8
8
  readonly keyboard?: NumberKeyboard;
9
9
  /**
10
10
  * Used to locate this view in end-to-end tests
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ import { MenuProps } from "./types";
3
+ export declare function Menu({ menuOptions, customActivator }: MenuProps): JSX.Element;
@@ -0,0 +1,18 @@
1
+ export declare const styles: {
2
+ menu: {
3
+ shadowColor: string;
4
+ shadowOffset: {
5
+ width: number;
6
+ height: number;
7
+ };
8
+ shadowOpacity: number;
9
+ shadowRadius: number;
10
+ elevation: number;
11
+ position: "absolute";
12
+ backgroundColor: string;
13
+ paddingHorizontal: number;
14
+ paddingVertical: number;
15
+ borderRadius: number;
16
+ width: number;
17
+ };
18
+ };
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ import { MenuOptionInternalProps } from "../../types";
3
+ export declare function MenuOption({ label, icon, iconColor, textAlign, destructive, textTransform, onPress, setOpen, }: MenuOptionInternalProps): JSX.Element;
@@ -0,0 +1,8 @@
1
+ export declare const styles: {
2
+ menuOption: {
3
+ display: "flex";
4
+ paddingHorizontal: number;
5
+ paddingVertical: number;
6
+ borderRadius: number;
7
+ };
8
+ };
@@ -0,0 +1 @@
1
+ export { MenuOption } from "./MenuOption";
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ import { OverlayProp } from "../../types";
3
+ export declare function Overlay({ setOpen }: OverlayProp): JSX.Element;
@@ -0,0 +1,12 @@
1
+ export declare const styles: {
2
+ overlay: {
3
+ backgroundColor: string;
4
+ opacity: number;
5
+ height: number;
6
+ position: "absolute";
7
+ left: 0;
8
+ right: 0;
9
+ top: 0;
10
+ bottom: 0;
11
+ };
12
+ };
@@ -0,0 +1 @@
1
+ export { Overlay } from "./Overlay";
@@ -0,0 +1,2 @@
1
+ export { Menu } from "./Menu";
2
+ export type { MenuProps, MenuOptionProps, MenuOptionInternalProps, } from "./types";
@@ -0,0 +1,7 @@
1
+ export declare const messages: {
2
+ more: {
3
+ id: string;
4
+ defaultMessage: string;
5
+ description: string;
6
+ };
7
+ };
@@ -0,0 +1,22 @@
1
+ /// <reference types="react" />
2
+ import { IconColorNames, IconNames } from "@jobber/design";
3
+ import { TextAlign } from "../Typography";
4
+ export interface MenuOptionProps {
5
+ readonly label: string;
6
+ readonly icon?: IconNames;
7
+ readonly iconColor?: IconColorNames;
8
+ readonly textAlign?: TextAlign;
9
+ readonly destructive?: boolean;
10
+ readonly textTransform?: "none" | "capitalize";
11
+ onPress: () => void;
12
+ }
13
+ export interface MenuOptionInternalProps extends MenuOptionProps {
14
+ setOpen: (bool: boolean) => void;
15
+ }
16
+ export interface MenuProps {
17
+ readonly menuOptions?: MenuOptionProps[];
18
+ readonly customActivator?: JSX.Element;
19
+ }
20
+ export interface OverlayProp {
21
+ setOpen: (bool: boolean) => void;
22
+ }
@@ -0,0 +1,10 @@
1
+ import { LayoutRectangle } from "react-native";
2
+ interface ScreenInfo {
3
+ windowHeight: number;
4
+ headerHeight: number;
5
+ windowWidth: number;
6
+ }
7
+ export declare function findViewpoint(screenInfo: ScreenInfo, activatorLayout: LayoutRectangle): {
8
+ [key: string]: number | undefined;
9
+ };
10
+ export {};
@@ -16,18 +16,21 @@ export * from "./Divider";
16
16
  export * from "./EmptyState";
17
17
  export * from "./ErrorMessageWrapper";
18
18
  export * from "./Flex";
19
+ export * from "./Form";
19
20
  export * from "./FormField";
20
21
  export * from "./Heading";
21
22
  export * from "./Icon";
22
23
  export * from "./IconButton";
23
24
  export * from "./InputFieldWrapper";
24
25
  export * from "./InputCurrency";
26
+ export * from "./InputDate";
25
27
  export * from "./InputNumber";
26
28
  export * from "./InputPassword";
27
29
  export * from "./InputPressable";
28
30
  export * from "./InputSearch";
29
31
  export * from "./InputTime";
30
32
  export * from "./InputText";
33
+ export * from "./Menu";
31
34
  export * from "./TextList";
32
35
  export * from "./ProgressBar";
33
36
  export * from "./Select";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jobber/components-native",
3
- "version": "0.38.0",
3
+ "version": "0.40.0",
4
4
  "license": "MIT",
5
5
  "description": "React Native implementation of Atlantis",
6
6
  "repository": {
@@ -63,6 +63,7 @@
63
63
  "@types/react-native": "^0.71.6",
64
64
  "@types/react-native-uuid": "^1.4.0",
65
65
  "metro-react-native-babel-preset": "^0.76.0",
66
+ "react-native-keyboard-aware-scroll-view": "^0.9.5",
66
67
  "react-test-renderer": "^18.2.0",
67
68
  "typescript": "^4.9.5"
68
69
  },
@@ -75,5 +76,5 @@
75
76
  "react-native": ">=0.69.2",
76
77
  "react-native-modal-datetime-picker": " >=13.0.0"
77
78
  },
78
- "gitHead": "5c76dda512a1f72636c5695a9b73fc8470291066"
79
+ "gitHead": "1693e3ec2d25c6d53581ea586364fa5d651bd210"
79
80
  }
@@ -7,7 +7,7 @@ export interface AtlantisContextProps {
7
7
  /**
8
8
  * The date format Atlantis components would use
9
9
  */
10
- readonly dateFormat?: string;
10
+ readonly dateFormat: string;
11
11
 
12
12
  /**
13
13
  * The time format Atlantis components would use
@@ -40,9 +40,17 @@ export interface AtlantisContextProps {
40
40
  * The currency symbol Atlantis components will use
41
41
  */
42
42
  readonly currencySymbol: string;
43
+
44
+ /**
45
+ * The `headerHeight` property represents the height of the app header in Atlantis.
46
+ * It plays a crucial role in determining the positioning of various elements within the app.
47
+ * By accurately defining this value, Atlantis can effectively calculate the layout and alignment of its components.
48
+ */
49
+ readonly headerHeight: number;
43
50
  }
44
51
 
45
52
  export const defaultValues: AtlantisContextProps = {
53
+ dateFormat: "PP",
46
54
  // The system time is "p"
47
55
  timeFormat: "p",
48
56
  timeZone: RNLocalize.getTimeZone(),
@@ -52,6 +60,7 @@ export const defaultValues: AtlantisContextProps = {
52
60
  },
53
61
  floatSeparators: { group: ",", decimal: "." },
54
62
  currencySymbol: DEFAULT_CURRENCY_SYMBOL,
63
+ headerHeight: 0,
55
64
  };
56
65
 
57
66
  export const AtlantisContext = createContext(defaultValues);
@@ -0,0 +1,34 @@
1
+ import { StyleSheet } from "react-native";
2
+ import { tokens } from "../utils/design";
3
+
4
+ export const styles = StyleSheet.create({
5
+ container: {
6
+ flex: 1,
7
+ flexGrow: 1,
8
+ width: "100%",
9
+ },
10
+ safeArea: {
11
+ backgroundColor: tokens["color-surface"],
12
+ },
13
+ scrollContentContainer: {
14
+ flexGrow: 1,
15
+ },
16
+ scrollView: {
17
+ flexGrow: 1,
18
+ },
19
+ formChildContainer: {
20
+ flexGrow: 1,
21
+ justifyContent: "flex-start",
22
+ },
23
+ formContent: {
24
+ paddingVertical: tokens["space-small"],
25
+ },
26
+ fixedSaveButton: {
27
+ padding: tokens["space-base"],
28
+ backgroundColor: tokens["color-surface"],
29
+ },
30
+ activityIndicator: {
31
+ marginVertical: tokens["space-base"],
32
+ flex: 1,
33
+ },
34
+ });