@jobber/components-native 0.30.0 → 0.32.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 (81) hide show
  1. package/README.md +3 -0
  2. package/dist/src/InputNumber/InputNumber.js +82 -0
  3. package/dist/src/InputNumber/index.js +1 -0
  4. package/dist/src/InputNumber/messages.js +8 -0
  5. package/dist/src/Select/Select.js +79 -0
  6. package/dist/src/Select/Select.style.js +45 -0
  7. package/dist/src/Select/components/SelectDefaultPicker/SelectDefaultPicker.ios.js +30 -0
  8. package/dist/src/Select/components/SelectDefaultPicker/SelectDefaultPicker.js +16 -0
  9. package/dist/src/Select/components/SelectDefaultPicker/SelectDefaultPicker.style.js +29 -0
  10. package/dist/src/Select/components/SelectDefaultPicker/index.js +1 -0
  11. package/dist/src/Select/components/SelectDefaultPicker/messages.js +8 -0
  12. package/dist/src/Select/components/SelectIOSPicker/SelectIOSPicker.js +2 -0
  13. package/dist/src/Select/components/SelectIOSPicker/index.js +1 -0
  14. package/dist/src/Select/components/SelectInternalPicker/SelectInternalPicker.js +14 -0
  15. package/dist/src/Select/components/SelectInternalPicker/index.js +1 -0
  16. package/dist/src/Select/components/SelectInternalPicker/utils.js +13 -0
  17. package/dist/src/Select/components/SelectPressable/SelectPressable.js +15 -0
  18. package/dist/src/Select/components/SelectPressable/SelectPressable.style.js +7 -0
  19. package/dist/src/Select/components/SelectPressable/index.js +1 -0
  20. package/dist/src/Select/index.js +1 -0
  21. package/dist/src/Select/messages.js +13 -0
  22. package/dist/src/Select/types.js +1 -0
  23. package/dist/src/index.js +2 -0
  24. package/dist/tsconfig.tsbuildinfo +1 -1
  25. package/dist/types/src/InputNumber/InputNumber.d.ts +20 -0
  26. package/dist/types/src/InputNumber/index.d.ts +2 -0
  27. package/dist/types/src/InputNumber/messages.d.ts +7 -0
  28. package/dist/types/src/Select/Select.d.ts +69 -0
  29. package/dist/types/src/Select/Select.style.d.ts +56 -0
  30. package/dist/types/src/Select/components/SelectDefaultPicker/SelectDefaultPicker.d.ts +5 -0
  31. package/dist/types/src/Select/components/SelectDefaultPicker/SelectDefaultPicker.ios.d.ts +5 -0
  32. package/dist/types/src/Select/components/SelectDefaultPicker/SelectDefaultPicker.style.d.ts +30 -0
  33. package/dist/types/src/Select/components/SelectDefaultPicker/index.d.ts +1 -0
  34. package/dist/types/src/Select/components/SelectDefaultPicker/messages.d.ts +7 -0
  35. package/dist/types/src/Select/components/SelectIOSPicker/SelectIOSPicker.d.ts +10 -0
  36. package/dist/types/src/Select/components/SelectIOSPicker/index.d.ts +1 -0
  37. package/dist/types/src/Select/components/SelectInternalPicker/SelectInternalPicker.d.ts +3 -0
  38. package/dist/types/src/Select/components/SelectInternalPicker/index.d.ts +1 -0
  39. package/dist/types/src/Select/components/SelectInternalPicker/utils.d.ts +3 -0
  40. package/dist/types/src/Select/components/SelectPressable/SelectPressable.d.ts +11 -0
  41. package/dist/types/src/Select/components/SelectPressable/SelectPressable.style.d.ts +5 -0
  42. package/dist/types/src/Select/components/SelectPressable/index.d.ts +1 -0
  43. package/dist/types/src/Select/index.d.ts +1 -0
  44. package/dist/types/src/Select/messages.d.ts +12 -0
  45. package/dist/types/src/Select/types.d.ts +38 -0
  46. package/dist/types/src/index.d.ts +2 -0
  47. package/ios/ComponentsNative-Bridging-Header.h +2 -0
  48. package/ios/ComponentsNative.xcodeproj/project.pbxproj +303 -0
  49. package/ios/Picker/ATLFallBackPickerView.swift +13 -0
  50. package/ios/Picker/ATLPickerOption.swift +44 -0
  51. package/ios/Picker/ATLPickerView.swift +61 -0
  52. package/ios/Picker/RCTATLPickerManager.m +26 -0
  53. package/ios/Picker/RCTATLPickerManager.swift +25 -0
  54. package/jobber-components-native.podspec +35 -0
  55. package/package.json +19 -3
  56. package/src/InputNumber/InputNumber.test.tsx +323 -0
  57. package/src/InputNumber/InputNumber.tsx +126 -0
  58. package/src/InputNumber/index.ts +2 -0
  59. package/src/InputNumber/messages.ts +10 -0
  60. package/src/Select/Select.style.ts +51 -0
  61. package/src/Select/Select.test.tsx +323 -0
  62. package/src/Select/Select.tsx +240 -0
  63. package/src/Select/components/SelectDefaultPicker/SelectDefaultPicker.ios.tsx +64 -0
  64. package/src/Select/components/SelectDefaultPicker/SelectDefaultPicker.style.ts +30 -0
  65. package/src/Select/components/SelectDefaultPicker/SelectDefaultPicker.test.tsx +76 -0
  66. package/src/Select/components/SelectDefaultPicker/SelectDefaultPicker.tsx +45 -0
  67. package/src/Select/components/SelectDefaultPicker/index.ts +1 -0
  68. package/src/Select/components/SelectDefaultPicker/messages.ts +9 -0
  69. package/src/Select/components/SelectIOSPicker/SelectIOSPicker.tsx +16 -0
  70. package/src/Select/components/SelectIOSPicker/index.ts +1 -0
  71. package/src/Select/components/SelectInternalPicker/SelectInternalPicker.test.tsx +100 -0
  72. package/src/Select/components/SelectInternalPicker/SelectInternalPicker.tsx +33 -0
  73. package/src/Select/components/SelectInternalPicker/index.ts +1 -0
  74. package/src/Select/components/SelectInternalPicker/utils.ts +20 -0
  75. package/src/Select/components/SelectPressable/SelectPressable.style.ts +8 -0
  76. package/src/Select/components/SelectPressable/SelectPressable.tsx +32 -0
  77. package/src/Select/components/SelectPressable/index.ts +1 -0
  78. package/src/Select/index.ts +1 -0
  79. package/src/Select/messages.ts +14 -0
  80. package/src/Select/types.ts +46 -0
  81. package/src/index.ts +2 -0
@@ -0,0 +1,20 @@
1
+ import React from "react";
2
+ import { InputTextProps, InputTextRef } from "../InputText";
3
+ type NumberKeyboard = "decimal-pad" | "numbers-and-punctuation";
4
+ export interface InputNumberProps extends Omit<InputTextProps, "keyboard" | "onChangeText" | "value" | "defaultValue"> {
5
+ readonly value?: number;
6
+ readonly defaultValue?: number;
7
+ readonly onChange: (newValue?: number | string | undefined) => void;
8
+ readonly keyboard?: NumberKeyboard;
9
+ /**
10
+ * Used to locate this view in end-to-end tests
11
+ */
12
+ readonly testID?: string;
13
+ }
14
+ export declare const InputNumber: React.ForwardRefExoticComponent<InputNumberProps & React.RefAttributes<InputTextRef>>;
15
+ export declare function shouldShowUserValue(value: string): boolean;
16
+ export declare function useNumberTransform(controlledValue: number | undefined): {
17
+ inputTransform: (internalValue?: number) => string | undefined;
18
+ outputTransform: (value: string) => string | number;
19
+ };
20
+ export {};
@@ -0,0 +1,2 @@
1
+ export { InputNumber } from "./InputNumber";
2
+ export type { InputNumberProps } from "./InputNumber";
@@ -0,0 +1,7 @@
1
+ export declare const messages: {
2
+ notANumberError: {
3
+ id: string;
4
+ defaultMessage: string;
5
+ description: string;
6
+ };
7
+ };
@@ -0,0 +1,69 @@
1
+ import { ReactElement } from "react";
2
+ import { RegisterOptions } from "react-hook-form";
3
+ export interface SelectOption {
4
+ /**
5
+ * Text that shows up as the option
6
+ */
7
+ readonly children: string;
8
+ /**
9
+ * The value that gets returned when an option is selected
10
+ */
11
+ readonly value: string;
12
+ }
13
+ export interface SelectProps {
14
+ /**
15
+ * Current value of the component
16
+ */
17
+ readonly value?: string;
18
+ /**
19
+ * Default value for when the component is uncontrolled
20
+ */
21
+ readonly defaultValue?: string;
22
+ /**
23
+ * Adds a first option to let users select a "no value".
24
+ * Placeholder item selected by default until a selection is made.
25
+ */
26
+ readonly placeholder?: string;
27
+ /**
28
+ * Label text shown above the selection.
29
+ */
30
+ readonly label?: string;
31
+ /**
32
+ * Help text shown below the control.
33
+ */
34
+ readonly assistiveText?: string;
35
+ /**
36
+ * Callback that provides the new value when the selection changes
37
+ */
38
+ readonly onChange?: (newValue?: string) => void;
39
+ /**
40
+ * Disables input selection
41
+ */
42
+ readonly disabled?: boolean;
43
+ /**
44
+ * Indicates the current selection is invalid
45
+ */
46
+ readonly invalid?: boolean;
47
+ /**
48
+ * VoiceOver will read this string when a user selects the element
49
+ */
50
+ readonly accessibilityLabel?: string;
51
+ /**
52
+ * Helps users understand what will happen when they perform an action
53
+ */
54
+ readonly accessibilityHint?: string;
55
+ /**
56
+ * Name of the input.
57
+ */
58
+ readonly name?: string;
59
+ /**
60
+ * The options to select from
61
+ */
62
+ readonly children: ReactElement<SelectOption>[];
63
+ /**
64
+ * The validations that will mark this component as invalid
65
+ */
66
+ readonly validations?: RegisterOptions;
67
+ }
68
+ export declare function Select({ value, defaultValue, onChange, children, placeholder, label, assistiveText, disabled, invalid, validations, accessibilityLabel, name, }: SelectProps): JSX.Element;
69
+ export declare function Option({ children }: SelectOption): JSX.Element;
@@ -0,0 +1,56 @@
1
+ export declare const styles: {
2
+ container: {
3
+ marginVertical: number;
4
+ backgroundColor: string;
5
+ minHeight: number;
6
+ flexDirection: "row";
7
+ justifyContent: "space-between";
8
+ width: string;
9
+ borderColor: string;
10
+ borderStyle: "solid";
11
+ borderBottomWidth: number;
12
+ } | {
13
+ flexDirection: "column";
14
+ justifyContent: "flex-end";
15
+ minHeight: number;
16
+ };
17
+ input: {
18
+ width: string;
19
+ flexShrink: number;
20
+ flexGrow: number;
21
+ color: string;
22
+ fontFamily: string | undefined;
23
+ fontSize: number | undefined;
24
+ letterSpacing: number | undefined;
25
+ minHeight: number;
26
+ padding: number;
27
+ } | {
28
+ flexDirection: "row";
29
+ flexGrow: number;
30
+ paddingBottom: number;
31
+ minHeight: number;
32
+ minWidth: string;
33
+ };
34
+ value: {
35
+ flexGrow: number;
36
+ flexShrink: number;
37
+ };
38
+ icon: {
39
+ flexGrow: number;
40
+ flexShrink: number;
41
+ };
42
+ invalid: {
43
+ color: string;
44
+ borderColor: string;
45
+ };
46
+ errorMessageWrapperIcon: {
47
+ flex: number;
48
+ flexBasis: string;
49
+ paddingTop: number;
50
+ paddingRight: number;
51
+ };
52
+ messageWrapper: {
53
+ paddingTop: number;
54
+ flexDirection: "row";
55
+ };
56
+ };
@@ -0,0 +1,5 @@
1
+ /// <reference types="react" />
2
+ import { SelectInternalPickerProps } from "../../types";
3
+ type SelectDefaultPickerProps = SelectInternalPickerProps;
4
+ export declare function SelectDefaultPicker({ children, options, disabled, onChange, }: SelectDefaultPickerProps): JSX.Element;
5
+ export {};
@@ -0,0 +1,5 @@
1
+ /// <reference types="react" />
2
+ import { SelectInternalPickerProps } from "../../types";
3
+ type SelectDefaultPickerProps = SelectInternalPickerProps;
4
+ export declare function SelectDefaultPicker({ children, options, onChange, }: SelectDefaultPickerProps): JSX.Element;
5
+ export {};
@@ -0,0 +1,30 @@
1
+ export declare const styles: {
2
+ overlay: {
3
+ flex: number;
4
+ };
5
+ actionBar: {
6
+ flexDirection: "row";
7
+ height: number;
8
+ justifyContent: "flex-end";
9
+ alignItems: "center";
10
+ paddingHorizontal: number;
11
+ backgroundColor: string;
12
+ borderTopWidth: number;
13
+ borderTopColor: string;
14
+ zIndex: number;
15
+ };
16
+ pickerContainer: {
17
+ justifyContent: "center";
18
+ backgroundColor: string;
19
+ };
20
+ androidPickerContainer: {
21
+ position: "absolute";
22
+ top: number;
23
+ left: number;
24
+ width: string;
25
+ height: string;
26
+ color: string;
27
+ backgroundColor: string;
28
+ opacity: number;
29
+ };
30
+ };
@@ -0,0 +1 @@
1
+ export * from "./SelectDefaultPicker";
@@ -0,0 +1,7 @@
1
+ export declare const messages: {
2
+ done: {
3
+ id: string;
4
+ defaultMessage: string;
5
+ description: string;
6
+ };
7
+ };
@@ -0,0 +1,10 @@
1
+ import { HostComponent } from "react-native";
2
+ import { SelectInternalPickerProps, SelectOnOptionPressEvent } from "../../types";
3
+ interface NativeSelectIOSPickerProps extends Pick<SelectInternalPickerProps, "options" | "children"> {
4
+ /**
5
+ * Callback when one of the option is pressed
6
+ */
7
+ readonly onOptionPress: (event: SelectOnOptionPressEvent) => void;
8
+ }
9
+ export declare const SelectIOSPicker: HostComponent<NativeSelectIOSPickerProps>;
10
+ export {};
@@ -0,0 +1 @@
1
+ export * from "./SelectIOSPicker";
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ import { SelectInternalPickerProps } from "../../types";
3
+ export declare function SelectInternalPicker({ children, options, disabled, onChange, }: SelectInternalPickerProps): JSX.Element;
@@ -0,0 +1 @@
1
+ export * from "./SelectInternalPicker";
@@ -0,0 +1,3 @@
1
+ import { SelectInternalPickerProps, SelectOnOptionPressEvent } from "../../types";
2
+ export declare function handlePress(onChange: SelectInternalPickerProps["onChange"]): ({ nativeEvent: { event } }: SelectOnOptionPressEvent) => void;
3
+ export declare function isIOS14AndUp(): boolean;
@@ -0,0 +1,11 @@
1
+ /// <reference types="react" />
2
+ import { PressableProps } from "react-native";
3
+ import { SelectInternalPickerProps } from "../../types";
4
+ type SelectPressableProps = Pick<SelectInternalPickerProps, "children"> & Pick<PressableProps, "onPress">;
5
+ /**
6
+ * Switches between Pressable with pressed styling and a fragment when a
7
+ * screen-reader is being used to avoid screen-readers from ignoring the press
8
+ * on the MenuView
9
+ */
10
+ export declare function SelectPressable({ children, onPress, }: SelectPressableProps): JSX.Element;
11
+ export {};
@@ -0,0 +1,5 @@
1
+ export declare const styles: {
2
+ pressed: {
3
+ opacity: number;
4
+ };
5
+ };
@@ -0,0 +1 @@
1
+ export * from "./SelectPressable";
@@ -0,0 +1 @@
1
+ export { Select, Option, SelectOption, SelectProps } from "./Select";
@@ -0,0 +1,12 @@
1
+ export declare const messages: {
2
+ a11yHint: {
3
+ id: string;
4
+ defaultMessage: string;
5
+ description: string;
6
+ };
7
+ emptyValue: {
8
+ id: string;
9
+ defaultMessage: string;
10
+ description: string;
11
+ };
12
+ };
@@ -0,0 +1,38 @@
1
+ import { ReactNode } from "react";
2
+ export interface SelectInternalPickerProps {
3
+ /**
4
+ * Tapping the children opens the picker
5
+ */
6
+ readonly children: ReactNode;
7
+ /**
8
+ * The list of options that user can choose from
9
+ */
10
+ readonly options: SelectInternalPickerOption[];
11
+ /**
12
+ * Prevents the menu from opening
13
+ */
14
+ readonly disabled?: boolean;
15
+ /**
16
+ * Callback to fire when an option is pressed
17
+ */
18
+ readonly onChange: (value: string) => void;
19
+ }
20
+ export interface SelectInternalPickerOption {
21
+ /**
22
+ * The value that gets returned whenever the option is selected
23
+ */
24
+ readonly value: string;
25
+ /**
26
+ * What the user chooses on the UI
27
+ */
28
+ readonly label: string;
29
+ /**
30
+ * Determines if the option is selected or not
31
+ */
32
+ readonly isActive?: boolean;
33
+ }
34
+ export interface SelectOnOptionPressEvent {
35
+ readonly nativeEvent: {
36
+ readonly event: string;
37
+ };
38
+ }
@@ -17,12 +17,14 @@ export * from "./Heading";
17
17
  export * from "./Icon";
18
18
  export * from "./IconButton";
19
19
  export * from "./InputFieldWrapper";
20
+ export * from "./InputNumber";
20
21
  export * from "./InputPassword";
21
22
  export * from "./InputPressable";
22
23
  export * from "./InputSearch";
23
24
  export * from "./InputText";
24
25
  export * from "./TextList";
25
26
  export * from "./ProgressBar";
27
+ export * from "./Select";
26
28
  export * from "./StatusLabel";
27
29
  export * from "./Switch";
28
30
  export * from "./Text";
@@ -0,0 +1,2 @@
1
+ #import <React/RCTBridgeModule.h>
2
+ #import <React/RCTViewManager.h>
@@ -0,0 +1,303 @@
1
+ // !$*UTF8*$!
2
+ {
3
+ archiveVersion = 1;
4
+ classes = {
5
+ };
6
+ objectVersion = 46;
7
+ objects = {
8
+
9
+ /* Begin PBXBuildFile section */
10
+ 3373AC982A2E7708001862FC /* RCTATLPickerManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3373AC972A2E7708001862FC /* RCTATLPickerManager.swift */; };
11
+ 3373AC9B2A2E77B1001862FC /* RCTATLPickerManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 3373AC9A2A2E77B1001862FC /* RCTATLPickerManager.m */; };
12
+ 3373AC9D2A2E77EB001862FC /* ATLPickerView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3373AC9C2A2E77EB001862FC /* ATLPickerView.swift */; };
13
+ 3373AC9F2A2E783E001862FC /* ATLPickerOption.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3373AC9E2A2E783E001862FC /* ATLPickerOption.swift */; };
14
+ 3373ACA12A2E786F001862FC /* ATLFallBackPickerView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3373ACA02A2E786F001862FC /* ATLFallBackPickerView.swift */; };
15
+ /* End PBXBuildFile section */
16
+
17
+ /* Begin PBXCopyFilesBuildPhase section */
18
+ 58B511D91A9E6C8500147676 /* CopyFiles */ = {
19
+ isa = PBXCopyFilesBuildPhase;
20
+ buildActionMask = 2147483647;
21
+ dstPath = "include/$(PRODUCT_NAME)";
22
+ dstSubfolderSpec = 16;
23
+ files = (
24
+ );
25
+ runOnlyForDeploymentPostprocessing = 0;
26
+ };
27
+ /* End PBXCopyFilesBuildPhase section */
28
+
29
+ /* Begin PBXFileReference section */
30
+ 134814201AA4EA6300B7C361 /* libComponentsNative.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libComponentsNative.a; sourceTree = BUILT_PRODUCTS_DIR; };
31
+ 3373AC972A2E7708001862FC /* RCTATLPickerManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RCTATLPickerManager.swift; sourceTree = "<group>"; };
32
+ 3373AC9A2A2E77B1001862FC /* RCTATLPickerManager.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = RCTATLPickerManager.m; sourceTree = "<group>"; };
33
+ 3373AC9C2A2E77EB001862FC /* ATLPickerView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ATLPickerView.swift; sourceTree = "<group>"; };
34
+ 3373AC9E2A2E783E001862FC /* ATLPickerOption.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ATLPickerOption.swift; sourceTree = "<group>"; };
35
+ 3373ACA02A2E786F001862FC /* ATLFallBackPickerView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ATLFallBackPickerView.swift; sourceTree = "<group>"; };
36
+ F4FF95D5245B92E700C19C63 /* ComponentsNative-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "ComponentsNative-Bridging-Header.h"; sourceTree = "<group>"; };
37
+ /* End PBXFileReference section */
38
+
39
+ /* Begin PBXFrameworksBuildPhase section */
40
+ 58B511D81A9E6C8500147676 /* Frameworks */ = {
41
+ isa = PBXFrameworksBuildPhase;
42
+ buildActionMask = 2147483647;
43
+ files = (
44
+ );
45
+ runOnlyForDeploymentPostprocessing = 0;
46
+ };
47
+ /* End PBXFrameworksBuildPhase section */
48
+
49
+ /* Begin PBXGroup section */
50
+ 134814211AA4EA7D00B7C361 /* Products */ = {
51
+ isa = PBXGroup;
52
+ children = (
53
+ 134814201AA4EA6300B7C361 /* libComponentsNative.a */,
54
+ );
55
+ name = Products;
56
+ sourceTree = "<group>";
57
+ };
58
+ 3373AC942A2E7669001862FC /* Picker */ = {
59
+ isa = PBXGroup;
60
+ children = (
61
+ 3373AC972A2E7708001862FC /* RCTATLPickerManager.swift */,
62
+ 3373AC9A2A2E77B1001862FC /* RCTATLPickerManager.m */,
63
+ 3373AC9C2A2E77EB001862FC /* ATLPickerView.swift */,
64
+ 3373AC9E2A2E783E001862FC /* ATLPickerOption.swift */,
65
+ 3373ACA02A2E786F001862FC /* ATLFallBackPickerView.swift */,
66
+ );
67
+ path = Picker;
68
+ sourceTree = "<group>";
69
+ };
70
+ 58B511D21A9E6C8500147676 = {
71
+ isa = PBXGroup;
72
+ children = (
73
+ 3373AC942A2E7669001862FC /* Picker */,
74
+ F4FF95D5245B92E700C19C63 /* ComponentsNative-Bridging-Header.h */,
75
+ 134814211AA4EA7D00B7C361 /* Products */,
76
+ );
77
+ sourceTree = "<group>";
78
+ };
79
+ /* End PBXGroup section */
80
+
81
+ /* Begin PBXNativeTarget section */
82
+ 58B511DA1A9E6C8500147676 /* ComponentsNative */ = {
83
+ isa = PBXNativeTarget;
84
+ buildConfigurationList = 58B511EF1A9E6C8500147676 /* Build configuration list for PBXNativeTarget "ComponentsNative" */;
85
+ buildPhases = (
86
+ 58B511D71A9E6C8500147676 /* Sources */,
87
+ 58B511D81A9E6C8500147676 /* Frameworks */,
88
+ 58B511D91A9E6C8500147676 /* CopyFiles */,
89
+ );
90
+ buildRules = (
91
+ );
92
+ dependencies = (
93
+ );
94
+ name = ComponentsNative;
95
+ productName = RCTDataManager;
96
+ productReference = 134814201AA4EA6300B7C361 /* libComponentsNative.a */;
97
+ productType = "com.apple.product-type.library.static";
98
+ };
99
+ /* End PBXNativeTarget section */
100
+
101
+ /* Begin PBXProject section */
102
+ 58B511D31A9E6C8500147676 /* Project object */ = {
103
+ isa = PBXProject;
104
+ attributes = {
105
+ LastUpgradeCheck = 0920;
106
+ ORGANIZATIONNAME = Facebook;
107
+ TargetAttributes = {
108
+ 58B511DA1A9E6C8500147676 = {
109
+ CreatedOnToolsVersion = 6.1.1;
110
+ };
111
+ };
112
+ };
113
+ buildConfigurationList = 58B511D61A9E6C8500147676 /* Build configuration list for PBXProject "ComponentsNative" */;
114
+ compatibilityVersion = "Xcode 3.2";
115
+ developmentRegion = English;
116
+ hasScannedForEncodings = 0;
117
+ knownRegions = (
118
+ English,
119
+ en,
120
+ );
121
+ mainGroup = 58B511D21A9E6C8500147676;
122
+ productRefGroup = 58B511D21A9E6C8500147676;
123
+ projectDirPath = "";
124
+ projectRoot = "";
125
+ targets = (
126
+ 58B511DA1A9E6C8500147676 /* ComponentsNative */,
127
+ );
128
+ };
129
+ /* End PBXProject section */
130
+
131
+ /* Begin PBXSourcesBuildPhase section */
132
+ 58B511D71A9E6C8500147676 /* Sources */ = {
133
+ isa = PBXSourcesBuildPhase;
134
+ buildActionMask = 2147483647;
135
+ files = (
136
+ 3373AC9D2A2E77EB001862FC /* ATLPickerView.swift in Sources */,
137
+ 3373AC9F2A2E783E001862FC /* ATLPickerOption.swift in Sources */,
138
+ 3373AC982A2E7708001862FC /* RCTATLPickerManager.swift in Sources */,
139
+ 3373ACA12A2E786F001862FC /* ATLFallBackPickerView.swift in Sources */,
140
+ 3373AC9B2A2E77B1001862FC /* RCTATLPickerManager.m in Sources */,
141
+ );
142
+ runOnlyForDeploymentPostprocessing = 0;
143
+ };
144
+ /* End PBXSourcesBuildPhase section */
145
+
146
+ /* Begin XCBuildConfiguration section */
147
+ 58B511ED1A9E6C8500147676 /* Debug */ = {
148
+ isa = XCBuildConfiguration;
149
+ buildSettings = {
150
+ ALWAYS_SEARCH_USER_PATHS = NO;
151
+ CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
152
+ CLANG_CXX_LIBRARY = "libc++";
153
+ CLANG_ENABLE_MODULES = YES;
154
+ CLANG_ENABLE_OBJC_ARC = YES;
155
+ CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
156
+ CLANG_WARN_BOOL_CONVERSION = YES;
157
+ CLANG_WARN_COMMA = YES;
158
+ CLANG_WARN_CONSTANT_CONVERSION = YES;
159
+ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
160
+ CLANG_WARN_EMPTY_BODY = YES;
161
+ CLANG_WARN_ENUM_CONVERSION = YES;
162
+ CLANG_WARN_INFINITE_RECURSION = YES;
163
+ CLANG_WARN_INT_CONVERSION = YES;
164
+ CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
165
+ CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
166
+ CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
167
+ CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
168
+ CLANG_WARN_STRICT_PROTOTYPES = YES;
169
+ CLANG_WARN_SUSPICIOUS_MOVE = YES;
170
+ CLANG_WARN_UNREACHABLE_CODE = YES;
171
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
172
+ COPY_PHASE_STRIP = NO;
173
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
174
+ ENABLE_TESTABILITY = YES;
175
+ "EXCLUDED_ARCHS[sdk=*]" = arm64;
176
+ GCC_C_LANGUAGE_STANDARD = gnu99;
177
+ GCC_DYNAMIC_NO_PIC = NO;
178
+ GCC_NO_COMMON_BLOCKS = YES;
179
+ GCC_OPTIMIZATION_LEVEL = 0;
180
+ GCC_PREPROCESSOR_DEFINITIONS = (
181
+ "DEBUG=1",
182
+ "$(inherited)",
183
+ );
184
+ GCC_SYMBOLS_PRIVATE_EXTERN = NO;
185
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
186
+ GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
187
+ GCC_WARN_UNDECLARED_SELECTOR = YES;
188
+ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
189
+ GCC_WARN_UNUSED_FUNCTION = YES;
190
+ GCC_WARN_UNUSED_VARIABLE = YES;
191
+ IPHONEOS_DEPLOYMENT_TARGET = 8.0;
192
+ MTL_ENABLE_DEBUG_INFO = YES;
193
+ ONLY_ACTIVE_ARCH = YES;
194
+ SDKROOT = iphoneos;
195
+ };
196
+ name = Debug;
197
+ };
198
+ 58B511EE1A9E6C8500147676 /* Release */ = {
199
+ isa = XCBuildConfiguration;
200
+ buildSettings = {
201
+ ALWAYS_SEARCH_USER_PATHS = NO;
202
+ CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
203
+ CLANG_CXX_LIBRARY = "libc++";
204
+ CLANG_ENABLE_MODULES = YES;
205
+ CLANG_ENABLE_OBJC_ARC = YES;
206
+ CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
207
+ CLANG_WARN_BOOL_CONVERSION = YES;
208
+ CLANG_WARN_COMMA = YES;
209
+ CLANG_WARN_CONSTANT_CONVERSION = YES;
210
+ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
211
+ CLANG_WARN_EMPTY_BODY = YES;
212
+ CLANG_WARN_ENUM_CONVERSION = YES;
213
+ CLANG_WARN_INFINITE_RECURSION = YES;
214
+ CLANG_WARN_INT_CONVERSION = YES;
215
+ CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
216
+ CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
217
+ CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
218
+ CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
219
+ CLANG_WARN_STRICT_PROTOTYPES = YES;
220
+ CLANG_WARN_SUSPICIOUS_MOVE = YES;
221
+ CLANG_WARN_UNREACHABLE_CODE = YES;
222
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
223
+ COPY_PHASE_STRIP = YES;
224
+ ENABLE_NS_ASSERTIONS = NO;
225
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
226
+ "EXCLUDED_ARCHS[sdk=*]" = arm64;
227
+ GCC_C_LANGUAGE_STANDARD = gnu99;
228
+ GCC_NO_COMMON_BLOCKS = YES;
229
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
230
+ GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
231
+ GCC_WARN_UNDECLARED_SELECTOR = YES;
232
+ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
233
+ GCC_WARN_UNUSED_FUNCTION = YES;
234
+ GCC_WARN_UNUSED_VARIABLE = YES;
235
+ IPHONEOS_DEPLOYMENT_TARGET = 8.0;
236
+ MTL_ENABLE_DEBUG_INFO = NO;
237
+ SDKROOT = iphoneos;
238
+ VALIDATE_PRODUCT = YES;
239
+ };
240
+ name = Release;
241
+ };
242
+ 58B511F01A9E6C8500147676 /* Debug */ = {
243
+ isa = XCBuildConfiguration;
244
+ buildSettings = {
245
+ HEADER_SEARCH_PATHS = (
246
+ "$(inherited)",
247
+ /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include,
248
+ "$(SRCROOT)/../../../React/**",
249
+ "$(SRCROOT)/../../react-native/React/**",
250
+ );
251
+ LIBRARY_SEARCH_PATHS = "$(inherited)";
252
+ OTHER_LDFLAGS = "-ObjC";
253
+ PRODUCT_NAME = ComponentsNative;
254
+ SKIP_INSTALL = YES;
255
+ SWIFT_OBJC_BRIDGING_HEADER = "ComponentsNative-Bridging-Header.h";
256
+ SWIFT_OPTIMIZATION_LEVEL = "-Onone";
257
+ SWIFT_VERSION = 5.0;
258
+ };
259
+ name = Debug;
260
+ };
261
+ 58B511F11A9E6C8500147676 /* Release */ = {
262
+ isa = XCBuildConfiguration;
263
+ buildSettings = {
264
+ HEADER_SEARCH_PATHS = (
265
+ "$(inherited)",
266
+ /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include,
267
+ "$(SRCROOT)/../../../React/**",
268
+ "$(SRCROOT)/../../react-native/React/**",
269
+ );
270
+ LIBRARY_SEARCH_PATHS = "$(inherited)";
271
+ OTHER_LDFLAGS = "-ObjC";
272
+ PRODUCT_NAME = ComponentsNative;
273
+ SKIP_INSTALL = YES;
274
+ SWIFT_OBJC_BRIDGING_HEADER = "ComponentsNative-Bridging-Header.h";
275
+ SWIFT_VERSION = 5.0;
276
+ };
277
+ name = Release;
278
+ };
279
+ /* End XCBuildConfiguration section */
280
+
281
+ /* Begin XCConfigurationList section */
282
+ 58B511D61A9E6C8500147676 /* Build configuration list for PBXProject "ComponentsNative" */ = {
283
+ isa = XCConfigurationList;
284
+ buildConfigurations = (
285
+ 58B511ED1A9E6C8500147676 /* Debug */,
286
+ 58B511EE1A9E6C8500147676 /* Release */,
287
+ );
288
+ defaultConfigurationIsVisible = 0;
289
+ defaultConfigurationName = Release;
290
+ };
291
+ 58B511EF1A9E6C8500147676 /* Build configuration list for PBXNativeTarget "ComponentsNative" */ = {
292
+ isa = XCConfigurationList;
293
+ buildConfigurations = (
294
+ 58B511F01A9E6C8500147676 /* Debug */,
295
+ 58B511F11A9E6C8500147676 /* Release */,
296
+ );
297
+ defaultConfigurationIsVisible = 0;
298
+ defaultConfigurationName = Release;
299
+ };
300
+ /* End XCConfigurationList section */
301
+ };
302
+ rootObject = 58B511D31A9E6C8500147676 /* Project object */;
303
+ }
@@ -0,0 +1,13 @@
1
+ //
2
+ // FallBackPickerView.swift
3
+ // @jobber/components-native
4
+ //
5
+ // Created by Darryl Tec on 2022-07-21.
6
+ // Copyright © 2022 Octopusapp Inc. All rights reserved.
7
+ //
8
+
9
+ import Foundation
10
+
11
+ // Do nothing. This is handled within React component.
12
+ @objc(ATLFallBackPickerView)
13
+ class ATLFallBackPickerView: UIView {}