@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.
- package/README.md +3 -0
- package/dist/src/InputNumber/InputNumber.js +82 -0
- package/dist/src/InputNumber/index.js +1 -0
- package/dist/src/InputNumber/messages.js +8 -0
- package/dist/src/Select/Select.js +79 -0
- package/dist/src/Select/Select.style.js +45 -0
- package/dist/src/Select/components/SelectDefaultPicker/SelectDefaultPicker.ios.js +30 -0
- package/dist/src/Select/components/SelectDefaultPicker/SelectDefaultPicker.js +16 -0
- package/dist/src/Select/components/SelectDefaultPicker/SelectDefaultPicker.style.js +29 -0
- package/dist/src/Select/components/SelectDefaultPicker/index.js +1 -0
- package/dist/src/Select/components/SelectDefaultPicker/messages.js +8 -0
- package/dist/src/Select/components/SelectIOSPicker/SelectIOSPicker.js +2 -0
- package/dist/src/Select/components/SelectIOSPicker/index.js +1 -0
- package/dist/src/Select/components/SelectInternalPicker/SelectInternalPicker.js +14 -0
- package/dist/src/Select/components/SelectInternalPicker/index.js +1 -0
- package/dist/src/Select/components/SelectInternalPicker/utils.js +13 -0
- package/dist/src/Select/components/SelectPressable/SelectPressable.js +15 -0
- package/dist/src/Select/components/SelectPressable/SelectPressable.style.js +7 -0
- package/dist/src/Select/components/SelectPressable/index.js +1 -0
- package/dist/src/Select/index.js +1 -0
- package/dist/src/Select/messages.js +13 -0
- package/dist/src/Select/types.js +1 -0
- package/dist/src/index.js +2 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/types/src/InputNumber/InputNumber.d.ts +20 -0
- package/dist/types/src/InputNumber/index.d.ts +2 -0
- package/dist/types/src/InputNumber/messages.d.ts +7 -0
- package/dist/types/src/Select/Select.d.ts +69 -0
- package/dist/types/src/Select/Select.style.d.ts +56 -0
- package/dist/types/src/Select/components/SelectDefaultPicker/SelectDefaultPicker.d.ts +5 -0
- package/dist/types/src/Select/components/SelectDefaultPicker/SelectDefaultPicker.ios.d.ts +5 -0
- package/dist/types/src/Select/components/SelectDefaultPicker/SelectDefaultPicker.style.d.ts +30 -0
- package/dist/types/src/Select/components/SelectDefaultPicker/index.d.ts +1 -0
- package/dist/types/src/Select/components/SelectDefaultPicker/messages.d.ts +7 -0
- package/dist/types/src/Select/components/SelectIOSPicker/SelectIOSPicker.d.ts +10 -0
- package/dist/types/src/Select/components/SelectIOSPicker/index.d.ts +1 -0
- package/dist/types/src/Select/components/SelectInternalPicker/SelectInternalPicker.d.ts +3 -0
- package/dist/types/src/Select/components/SelectInternalPicker/index.d.ts +1 -0
- package/dist/types/src/Select/components/SelectInternalPicker/utils.d.ts +3 -0
- package/dist/types/src/Select/components/SelectPressable/SelectPressable.d.ts +11 -0
- package/dist/types/src/Select/components/SelectPressable/SelectPressable.style.d.ts +5 -0
- package/dist/types/src/Select/components/SelectPressable/index.d.ts +1 -0
- package/dist/types/src/Select/index.d.ts +1 -0
- package/dist/types/src/Select/messages.d.ts +12 -0
- package/dist/types/src/Select/types.d.ts +38 -0
- package/dist/types/src/index.d.ts +2 -0
- package/ios/ComponentsNative-Bridging-Header.h +2 -0
- package/ios/ComponentsNative.xcodeproj/project.pbxproj +303 -0
- package/ios/Picker/ATLFallBackPickerView.swift +13 -0
- package/ios/Picker/ATLPickerOption.swift +44 -0
- package/ios/Picker/ATLPickerView.swift +61 -0
- package/ios/Picker/RCTATLPickerManager.m +26 -0
- package/ios/Picker/RCTATLPickerManager.swift +25 -0
- package/jobber-components-native.podspec +35 -0
- package/package.json +19 -3
- package/src/InputNumber/InputNumber.test.tsx +323 -0
- package/src/InputNumber/InputNumber.tsx +126 -0
- package/src/InputNumber/index.ts +2 -0
- package/src/InputNumber/messages.ts +10 -0
- package/src/Select/Select.style.ts +51 -0
- package/src/Select/Select.test.tsx +323 -0
- package/src/Select/Select.tsx +240 -0
- package/src/Select/components/SelectDefaultPicker/SelectDefaultPicker.ios.tsx +64 -0
- package/src/Select/components/SelectDefaultPicker/SelectDefaultPicker.style.ts +30 -0
- package/src/Select/components/SelectDefaultPicker/SelectDefaultPicker.test.tsx +76 -0
- package/src/Select/components/SelectDefaultPicker/SelectDefaultPicker.tsx +45 -0
- package/src/Select/components/SelectDefaultPicker/index.ts +1 -0
- package/src/Select/components/SelectDefaultPicker/messages.ts +9 -0
- package/src/Select/components/SelectIOSPicker/SelectIOSPicker.tsx +16 -0
- package/src/Select/components/SelectIOSPicker/index.ts +1 -0
- package/src/Select/components/SelectInternalPicker/SelectInternalPicker.test.tsx +100 -0
- package/src/Select/components/SelectInternalPicker/SelectInternalPicker.tsx +33 -0
- package/src/Select/components/SelectInternalPicker/index.ts +1 -0
- package/src/Select/components/SelectInternalPicker/utils.ts +20 -0
- package/src/Select/components/SelectPressable/SelectPressable.style.ts +8 -0
- package/src/Select/components/SelectPressable/SelectPressable.tsx +32 -0
- package/src/Select/components/SelectPressable/index.ts +1 -0
- package/src/Select/index.ts +1 -0
- package/src/Select/messages.ts +14 -0
- package/src/Select/types.ts +46 -0
- 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,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,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 @@
|
|
|
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 @@
|
|
|
1
|
+
export * from "./SelectPressable";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { Select, Option, SelectOption, SelectProps } from "./Select";
|
|
@@ -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,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 {}
|