@draftbit/core 48.4.12-f20512.2 → 48.4.12

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 (111) hide show
  1. package/lib/commonjs/components/Picker/Picker.js +1 -0
  2. package/lib/commonjs/components/Picker/PickerComponent.android.js +1 -0
  3. package/lib/commonjs/components/Picker/PickerComponent.ios.js +1 -0
  4. package/lib/commonjs/components/Picker/PickerComponent.web.js +1 -0
  5. package/lib/commonjs/components/Picker/PickerTypes.js +1 -0
  6. package/lib/commonjs/components/TextField.js +1 -1
  7. package/lib/commonjs/hooks.js +1 -1
  8. package/lib/commonjs/index.js +1 -1
  9. package/lib/commonjs/utilities.js +1 -1
  10. package/lib/typescript/src/components/Picker/Picker.d.ts +36 -0
  11. package/lib/typescript/src/components/Picker/Picker.js +288 -0
  12. package/lib/typescript/src/components/Picker/Picker.js.map +1 -0
  13. package/lib/typescript/src/components/Picker/PickerComponent.android.d.ts +6 -0
  14. package/lib/typescript/src/components/Picker/PickerComponent.android.js +70 -0
  15. package/lib/typescript/src/components/Picker/PickerComponent.android.js.map +1 -0
  16. package/lib/typescript/src/components/Picker/PickerComponent.ios.d.ts +7 -0
  17. package/lib/typescript/src/components/Picker/PickerComponent.ios.js +80 -0
  18. package/lib/typescript/src/components/Picker/PickerComponent.ios.js.map +1 -0
  19. package/lib/typescript/src/components/Picker/PickerComponent.web.d.ts +6 -0
  20. package/lib/typescript/src/components/Picker/PickerComponent.web.js +71 -0
  21. package/lib/typescript/src/components/Picker/PickerComponent.web.js.map +1 -0
  22. package/lib/typescript/src/components/Picker/PickerTypes.d.ts +18 -0
  23. package/lib/typescript/src/components/Picker/PickerTypes.js +2 -0
  24. package/lib/typescript/src/components/Picker/PickerTypes.js.map +1 -0
  25. package/lib/typescript/src/components/TextField.d.ts +3 -3
  26. package/lib/typescript/src/components/TextField.js +7 -11
  27. package/lib/typescript/src/components/TextField.js.map +1 -1
  28. package/lib/typescript/src/hooks.js +2 -2
  29. package/lib/typescript/src/index.d.ts +1 -1
  30. package/lib/typescript/src/index.js +1 -1
  31. package/lib/typescript/src/index.js.map +1 -1
  32. package/lib/typescript/src/utilities.d.ts +0 -8
  33. package/lib/typescript/src/utilities.js +1 -22
  34. package/lib/typescript/src/utilities.js.map +1 -1
  35. package/lib/typescript/tsconfig.tsbuildinfo +1 -1
  36. package/package.json +3 -5
  37. package/src/components/Picker/Picker.js +288 -0
  38. package/src/components/Picker/Picker.js.map +1 -0
  39. package/src/components/Picker/Picker.tsx +509 -0
  40. package/src/components/Picker/PickerComponent.android.js +70 -0
  41. package/src/components/Picker/PickerComponent.android.js.map +1 -0
  42. package/src/components/Picker/PickerComponent.android.tsx +116 -0
  43. package/src/components/Picker/PickerComponent.ios.js +80 -0
  44. package/src/components/Picker/PickerComponent.ios.js.map +1 -0
  45. package/src/components/Picker/PickerComponent.ios.tsx +142 -0
  46. package/src/components/Picker/PickerComponent.web.js +71 -0
  47. package/src/components/Picker/PickerComponent.web.js.map +1 -0
  48. package/src/components/Picker/PickerComponent.web.tsx +117 -0
  49. package/src/components/Picker/PickerTypes.js +2 -0
  50. package/src/components/Picker/PickerTypes.js.map +1 -0
  51. package/src/components/Picker/PickerTypes.ts +18 -0
  52. package/src/components/TextField.js +7 -11
  53. package/src/components/TextField.js.map +1 -1
  54. package/src/components/TextField.tsx +9 -17
  55. package/src/hooks.js +2 -2
  56. package/src/hooks.ts +2 -2
  57. package/src/index.js +1 -1
  58. package/src/index.js.map +1 -1
  59. package/src/index.tsx +1 -1
  60. package/src/utilities.js +1 -22
  61. package/src/utilities.js.map +1 -1
  62. package/src/utilities.ts +1 -33
  63. package/lib/commonjs/components/Picker/NativePicker.js +0 -1
  64. package/lib/commonjs/components/Picker/PickerCommon.js +0 -1
  65. package/lib/commonjs/components/Picker/PickerInputContainer.js +0 -1
  66. package/lib/commonjs/components/Picker/dropdown/DropDownPicker.js +0 -1
  67. package/lib/commonjs/components/Picker/dropdown/MultiSelectPicker.js +0 -1
  68. package/lib/commonjs/components/Picker/dropdown/PickerItem.js +0 -1
  69. package/lib/commonjs/components/Picker/index.js +0 -1
  70. package/lib/typescript/src/components/Picker/NativePicker.d.ts +0 -6
  71. package/lib/typescript/src/components/Picker/NativePicker.js +0 -95
  72. package/lib/typescript/src/components/Picker/NativePicker.js.map +0 -1
  73. package/lib/typescript/src/components/Picker/PickerCommon.d.ts +0 -51
  74. package/lib/typescript/src/components/Picker/PickerCommon.js +0 -23
  75. package/lib/typescript/src/components/Picker/PickerCommon.js.map +0 -1
  76. package/lib/typescript/src/components/Picker/PickerInputContainer.d.ts +0 -11
  77. package/lib/typescript/src/components/Picker/PickerInputContainer.js +0 -37
  78. package/lib/typescript/src/components/Picker/PickerInputContainer.js.map +0 -1
  79. package/lib/typescript/src/components/Picker/dropdown/DropDownPicker.d.ts +0 -6
  80. package/lib/typescript/src/components/Picker/dropdown/DropDownPicker.js +0 -65
  81. package/lib/typescript/src/components/Picker/dropdown/DropDownPicker.js.map +0 -1
  82. package/lib/typescript/src/components/Picker/dropdown/MultiSelectPicker.d.ts +0 -6
  83. package/lib/typescript/src/components/Picker/dropdown/MultiSelectPicker.js +0 -9
  84. package/lib/typescript/src/components/Picker/dropdown/MultiSelectPicker.js.map +0 -1
  85. package/lib/typescript/src/components/Picker/dropdown/PickerItem.d.ts +0 -14
  86. package/lib/typescript/src/components/Picker/dropdown/PickerItem.js +0 -9
  87. package/lib/typescript/src/components/Picker/dropdown/PickerItem.js.map +0 -1
  88. package/lib/typescript/src/components/Picker/index.d.ts +0 -10
  89. package/lib/typescript/src/components/Picker/index.js +0 -18
  90. package/lib/typescript/src/components/Picker/index.js.map +0 -1
  91. package/src/components/Picker/NativePicker.js +0 -95
  92. package/src/components/Picker/NativePicker.js.map +0 -1
  93. package/src/components/Picker/NativePicker.tsx +0 -158
  94. package/src/components/Picker/PickerCommon.js +0 -23
  95. package/src/components/Picker/PickerCommon.js.map +0 -1
  96. package/src/components/Picker/PickerCommon.ts +0 -87
  97. package/src/components/Picker/PickerInputContainer.js +0 -37
  98. package/src/components/Picker/PickerInputContainer.js.map +0 -1
  99. package/src/components/Picker/PickerInputContainer.tsx +0 -89
  100. package/src/components/Picker/dropdown/DropDownPicker.js +0 -65
  101. package/src/components/Picker/dropdown/DropDownPicker.js.map +0 -1
  102. package/src/components/Picker/dropdown/DropDownPicker.tsx +0 -151
  103. package/src/components/Picker/dropdown/MultiSelectPicker.js +0 -9
  104. package/src/components/Picker/dropdown/MultiSelectPicker.js.map +0 -1
  105. package/src/components/Picker/dropdown/MultiSelectPicker.tsx +0 -16
  106. package/src/components/Picker/dropdown/PickerItem.js +0 -9
  107. package/src/components/Picker/dropdown/PickerItem.js.map +0 -1
  108. package/src/components/Picker/dropdown/PickerItem.tsx +0 -19
  109. package/src/components/Picker/index.js +0 -18
  110. package/src/components/Picker/index.js.map +0 -1
  111. package/src/components/Picker/index.tsx +0 -27
@@ -1,65 +0,0 @@
1
- import * as React from "react";
2
- import { Keyboard } from "react-native";
3
- import { extractStyles, flattenReactFragments, useDeepCompareMemo, } from "../../../utilities";
4
- import { normalizeToPickerOptions, } from "../PickerCommon";
5
- import PickerInputContainer from "../PickerInputContainer";
6
- import DropDownPickerComponent from "react-native-dropdown-picker";
7
- import { withTheme } from "../../../theming";
8
- import PickerItem from "./PickerItem";
9
- const DropDownPicker = ({ theme, options: optionsProp = [], onValueChange, Icon, placeholder, value, autoDismissKeyboard = true, selectedIconName = "Feather/check", selectedIconColor = theme.colors.strong, selectedIconSize = 20, dropDownBackgroundColor = theme.colors.background, dropDownBorderColor = theme.colors.divider, dropDownBorderWidth = 1, dropDownBorderRadius = 8, children: childrenProp, ...rest }) => {
10
- const [pickerVisible, setPickerVisible] = React.useState(false);
11
- const [internalValue, setInternalValue] = React.useState();
12
- const isMultiSelect = Array.isArray(value);
13
- const pickerItemProps = React.useMemo(() => {
14
- const children = flattenReactFragments(React.Children.toArray(childrenProp));
15
- let firstPickerItem; // Only the props of the first PickerItem are used, any others are ignored
16
- for (const child of children) {
17
- if (child.type === PickerItem) {
18
- firstPickerItem = child;
19
- }
20
- }
21
- return (firstPickerItem === null || firstPickerItem === void 0 ? void 0 : firstPickerItem.props) || {};
22
- }, [childrenProp]);
23
- const { viewStyles: pickerItemViewStyles, textStyles: pickerItemTextStyles } = extractStyles(pickerItemProps.style);
24
- const options = useDeepCompareMemo(() => normalizeToPickerOptions(optionsProp).map((option) => ({
25
- label: option.label.toString(),
26
- value: option.value,
27
- })), [optionsProp]);
28
- React.useEffect(() => {
29
- onValueChange === null || onValueChange === void 0 ? void 0 : onValueChange((isMultiSelect ? internalValue !== null && internalValue !== void 0 ? internalValue : [] : internalValue !== null && internalValue !== void 0 ? internalValue : "") // cannot determine if multiselect or not on compile time
30
- );
31
- // eslint-disable-next-line react-hooks/exhaustive-deps
32
- }, [internalValue]);
33
- React.useEffect(() => {
34
- if (pickerVisible && autoDismissKeyboard) {
35
- Keyboard.dismiss();
36
- }
37
- }, [pickerVisible, autoDismissKeyboard]);
38
- return (React.createElement(PickerInputContainer, { testID: "dropdown-picker", Icon: Icon, placeholder: placeholder, selectedValue: value, options: options, onPress: () => setPickerVisible(!pickerVisible), zIndex: pickerVisible ? 100 : undefined, ...rest },
39
- React.createElement(DropDownPickerComponent, { open: pickerVisible, setOpen: setPickerVisible, value: (value || null), setValue: setInternalValue, items: options, placeholder: placeholder, listMode: "SCROLLVIEW", multiple: isMultiSelect, style: { display: "none" }, listItemLabelStyle: [
40
- { color: theme.colors.strong, fontSize: 14 },
41
- pickerItemTextStyles,
42
- ], selectedItemLabelStyle: [
43
- pickerItemProps.selectedTextColor
44
- ? {
45
- color: pickerItemProps.selectedTextColor,
46
- }
47
- : {},
48
- pickerItemProps.selectedTextSize
49
- ? {
50
- fontSize: pickerItemProps.selectedTextSize,
51
- }
52
- : {},
53
- ], listItemContainerStyle: pickerItemViewStyles, selectedItemContainerStyle: pickerItemProps.selectedBackgroundColor
54
- ? {
55
- backgroundColor: pickerItemProps.selectedBackgroundColor,
56
- }
57
- : {}, dropDownContainerStyle: {
58
- borderColor: dropDownBorderColor,
59
- borderWidth: dropDownBorderWidth,
60
- borderRadius: dropDownBorderRadius,
61
- backgroundColor: dropDownBackgroundColor,
62
- }, TickIconComponent: () => (React.createElement(Icon, { name: selectedIconName, size: selectedIconSize, color: selectedIconColor })) })));
63
- };
64
- export default withTheme(DropDownPicker);
65
- //# sourceMappingURL=DropDownPicker.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DropDownPicker.js","sourceRoot":"","sources":["../../../../../../src/components/Picker/dropdown/DropDownPicker.tsx"],"names":[],"mappings":"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"}
@@ -1,6 +0,0 @@
1
- import * as React from "react";
2
- import { CommonDropDownPickerProps, MultiSelectPickerProps } from "../PickerCommon";
3
- declare const _default: React.ComponentType<import("@draftbit/react-theme-provider").$Without<React.PropsWithChildren<CommonDropDownPickerProps & MultiSelectPickerProps>, "theme"> & {
4
- theme?: import("@draftbit/react-theme-provider").$DeepPartial<any> | undefined;
5
- }> & import("@draftbit/react-theme-provider/typings/hoist-non-react-statics").NonReactStatics<React.ComponentType<React.PropsWithChildren<CommonDropDownPickerProps & MultiSelectPickerProps>> & React.FC<React.PropsWithChildren<CommonDropDownPickerProps & MultiSelectPickerProps>>, {}>;
6
- export default _default;
@@ -1,9 +0,0 @@
1
- import * as React from "react";
2
- import DropDownPicker from "./DropDownPicker";
3
- import { withTheme } from "../../../theming";
4
- const MultiSelectPicker = ({ value, ...rest }) => {
5
- //@ts-ignore Ignore theme type issues
6
- return React.createElement(DropDownPicker, { value: value || [], ...rest });
7
- };
8
- export default withTheme(MultiSelectPicker);
9
- //# sourceMappingURL=MultiSelectPicker.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MultiSelectPicker.js","sourceRoot":"","sources":["../../../../../../src/components/Picker/dropdown/MultiSelectPicker.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C,MAAM,iBAAiB,GAEnB,CAAC,EAAE,KAAK,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE;IACzB,qCAAqC;IACrC,OAAO,oBAAC,cAAc,IAAC,KAAK,EAAE,KAAK,IAAI,EAAE,KAAM,IAAI,GAAI,CAAC;AAC1D,CAAC,CAAC;AAEF,eAAe,SAAS,CAAC,iBAAiB,CAAC,CAAC"}
@@ -1,14 +0,0 @@
1
- import React from "react";
2
- import { StyleProp, ViewStyle, TextStyle } from "react-native";
3
- export interface PickerItemProps {
4
- selectedTextSize?: number;
5
- selectedTextColor?: string;
6
- selectedBackgroundColor?: string;
7
- style?: StyleProp<ViewStyle | TextStyle>;
8
- }
9
- /**
10
- * Renders nothing, only serves as a container for the props
11
- * Prop values are used by the DropDownPicker
12
- */
13
- export declare const PickerItem: React.FC<PickerItemProps>;
14
- export default PickerItem;
@@ -1,9 +0,0 @@
1
- /**
2
- * Renders nothing, only serves as a container for the props
3
- * Prop values are used by the DropDownPicker
4
- */
5
- export const PickerItem = () => {
6
- return null;
7
- };
8
- export default PickerItem;
9
- //# sourceMappingURL=PickerItem.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PickerItem.js","sourceRoot":"","sources":["../../../../../../src/components/Picker/dropdown/PickerItem.tsx"],"names":[],"mappings":"AAUA;;;GAGG;AACH,MAAM,CAAC,MAAM,UAAU,GAA8B,GAAG,EAAE;IACxD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,eAAe,UAAU,CAAC"}
@@ -1,10 +0,0 @@
1
- import React from "react";
2
- import { CommonDropDownPickerProps, SinglePickerProps } from "./PickerCommon";
3
- interface PickerProps extends CommonDropDownPickerProps, SinglePickerProps {
4
- mode?: "native" | "dropdown";
5
- }
6
- export declare const Picker: React.ComponentType<import("@draftbit/react-theme-provider").$Without<React.PropsWithChildren<PickerProps>, "theme"> & {
7
- theme?: import("@draftbit/react-theme-provider").$DeepPartial<any> | undefined;
8
- }> & import("@draftbit/react-theme-provider/typings/hoist-non-react-statics").NonReactStatics<React.ComponentType<React.PropsWithChildren<PickerProps>> & React.FC<React.PropsWithChildren<PickerProps>>, {}>;
9
- export { default as MultiSelectPicker } from "./dropdown/MultiSelectPicker";
10
- export { default as PickerItem } from "./dropdown/PickerItem";
@@ -1,18 +0,0 @@
1
- import React from "react";
2
- import NativePicker from "./NativePicker";
3
- import DropDownPicker from "./dropdown/DropDownPicker";
4
- import { withTheme } from "../../theming";
5
- const SinglePicker = ({ mode = "native", ...rest }) => {
6
- switch (mode) {
7
- case "native":
8
- //@ts-ignore Ignore theme type issues
9
- return React.createElement(NativePicker, { ...rest });
10
- case "dropdown":
11
- //@ts-ignore
12
- return React.createElement(DropDownPicker, { ...rest });
13
- }
14
- };
15
- export const Picker = withTheme(SinglePicker);
16
- export { default as MultiSelectPicker } from "./dropdown/MultiSelectPicker";
17
- export { default as PickerItem } from "./dropdown/PickerItem";
18
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/components/Picker/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAC1C,OAAO,cAAc,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAM1C,MAAM,YAAY,GAAmD,CAAC,EACpE,IAAI,GAAG,QAAQ,EACf,GAAG,IAAI,EACR,EAAE,EAAE;IACH,QAAQ,IAAI,EAAE;QACZ,KAAK,QAAQ;YACX,qCAAqC;YACrC,OAAO,oBAAC,YAAY,OAAK,IAAI,GAAI,CAAC;QACpC,KAAK,UAAU;YACb,YAAY;YACZ,OAAO,oBAAC,cAAc,OAAK,IAAI,GAAI,CAAC;KACvC;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,MAAM,GAAG,SAAS,CAAC,YAAY,CAAC,CAAC;AAC9C,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAC5E,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,uBAAuB,CAAC"}
@@ -1,95 +0,0 @@
1
- import * as React from "react";
2
- import { StyleSheet, Platform, Keyboard } from "react-native";
3
- import { SafeAreaView } from "react-native-safe-area-context";
4
- import { Picker as NativePickerComponent } from "@react-native-picker/picker";
5
- import Portal from "../Portal/Portal";
6
- import { Button } from "../Button";
7
- import { useDeepCompareMemo } from "../../utilities";
8
- import { normalizeToPickerOptions, } from "./PickerCommon";
9
- import PickerInputContainer from "./PickerInputContainer";
10
- import { withTheme } from "../../theming";
11
- const isIos = Platform.OS === "ios";
12
- const isWeb = Platform.OS === "web";
13
- const NativePicker = ({ options: optionsProp = [], onValueChange, Icon, placeholder, value, autoDismissKeyboard = true, theme, disabled, ...rest }) => {
14
- const pickerRef = React.useRef(null);
15
- const [pickerVisible, setPickerVisible] = React.useState(false);
16
- const options = useDeepCompareMemo(() => {
17
- const normalizedOptions = normalizeToPickerOptions(optionsProp);
18
- // Underlying Picker component defaults selection to first element when value is not provided (or undefined)
19
- // Placholder must be the 1st option in order to allow selection of the 'actual' 1st option
20
- if (placeholder) {
21
- return [{ label: placeholder, value: placeholder }, ...normalizedOptions];
22
- }
23
- else {
24
- return normalizedOptions;
25
- }
26
- }, [placeholder, optionsProp]);
27
- // When no placeholder is provided then first item should be marked selected to reflect underlying Picker internal state
28
- if (!placeholder && options.length && !value && value !== options[0].value) {
29
- onValueChange === null || onValueChange === void 0 ? void 0 : onValueChange(options[0].value);
30
- }
31
- const renderNativePicker = () => (React.createElement(NativePickerComponent, { ref: pickerRef, testID: "native-picker-component", selectedValue: value, onValueChange: (newValue) => {
32
- if (newValue !== placeholder) {
33
- onValueChange === null || onValueChange === void 0 ? void 0 : onValueChange(newValue);
34
- }
35
- else if (newValue === placeholder) {
36
- onValueChange === null || onValueChange === void 0 ? void 0 : onValueChange("");
37
- }
38
- }, style: isIos ? styles.iosNativePicker : styles.nativePicker, onBlur: () => setPickerVisible(false) }, options.map((option) => (React.createElement(NativePickerComponent.Item, { testID: "native-picker-item", label: option.label.toString(), value: option.value, key: option.value })))));
39
- const renderPicker = () => {
40
- if (isIos) {
41
- return (React.createElement(Portal, null,
42
- React.createElement(SafeAreaView, { style: styles.iosPickerContent },
43
- React.createElement(Button, { Icon: Icon, onPress: () => setPickerVisible(!pickerVisible), style: [styles.iosButton, { color: theme.colors.primary }], title: "Close" }),
44
- renderNativePicker())));
45
- }
46
- else {
47
- return renderNativePicker();
48
- }
49
- };
50
- React.useEffect(() => {
51
- var _a;
52
- if (pickerVisible && pickerRef.current) {
53
- (_a = pickerRef === null || pickerRef === void 0 ? void 0 : pickerRef.current) === null || _a === void 0 ? void 0 : _a.focus();
54
- }
55
- }, [pickerVisible, pickerRef]);
56
- React.useEffect(() => {
57
- if (pickerVisible && autoDismissKeyboard) {
58
- Keyboard.dismiss();
59
- }
60
- }, [pickerVisible, autoDismissKeyboard]);
61
- return (React.createElement(PickerInputContainer, { testID: "native-picker", Icon: Icon, placeholder: placeholder, selectedValue: value, options: options, onPress: () => setPickerVisible(!pickerVisible), disabled: disabled, ...rest }, (pickerVisible || isWeb) && !disabled && renderPicker()));
62
- };
63
- const styles = StyleSheet.create({
64
- nativePicker: {
65
- position: "absolute",
66
- bottom: 0,
67
- left: 0,
68
- right: 0,
69
- flexDirection: "row",
70
- justifyContent: "center",
71
- width: "100%",
72
- backgroundColor: "white",
73
- opacity: 0,
74
- ...Platform.select({
75
- web: {
76
- height: "100%", //To have the <select/> element fill the height
77
- },
78
- }),
79
- },
80
- iosNativePicker: {
81
- backgroundColor: "white",
82
- },
83
- iosPickerContent: {
84
- width: "100%",
85
- position: "absolute",
86
- bottom: 0,
87
- backgroundColor: "white",
88
- },
89
- iosButton: {
90
- backgroundColor: "transparent",
91
- borderWidth: 0,
92
- },
93
- });
94
- export default withTheme(NativePicker);
95
- //# sourceMappingURL=NativePicker.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"NativePicker.js","sourceRoot":"","sources":["NativePicker.tsx"],"names":[],"mappings":"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"}
@@ -1,158 +0,0 @@
1
- import * as React from "react";
2
- import { StyleSheet, Platform, Keyboard } from "react-native";
3
- import { SafeAreaView } from "react-native-safe-area-context";
4
- import { Picker as NativePickerComponent } from "@react-native-picker/picker";
5
- import Portal from "../Portal/Portal";
6
- import { Button } from "../Button";
7
- import { useDeepCompareMemo } from "../../utilities";
8
- import {
9
- CommonPickerProps,
10
- SinglePickerProps,
11
- normalizeToPickerOptions,
12
- } from "./PickerCommon";
13
- import PickerInputContainer from "./PickerInputContainer";
14
- import { withTheme } from "../../theming";
15
-
16
- const isIos = Platform.OS === "ios";
17
- const isWeb = Platform.OS === "web";
18
-
19
- const NativePicker: React.FC<CommonPickerProps & SinglePickerProps> = ({
20
- options: optionsProp = [],
21
- onValueChange,
22
- Icon,
23
- placeholder,
24
- value,
25
- autoDismissKeyboard = true,
26
- theme,
27
- disabled,
28
- ...rest
29
- }) => {
30
- const pickerRef = React.useRef<NativePickerComponent<string | number>>(null);
31
-
32
- const [pickerVisible, setPickerVisible] = React.useState(false);
33
-
34
- const options = useDeepCompareMemo(() => {
35
- const normalizedOptions = normalizeToPickerOptions(optionsProp);
36
-
37
- // Underlying Picker component defaults selection to first element when value is not provided (or undefined)
38
- // Placholder must be the 1st option in order to allow selection of the 'actual' 1st option
39
- if (placeholder) {
40
- return [{ label: placeholder, value: placeholder }, ...normalizedOptions];
41
- } else {
42
- return normalizedOptions;
43
- }
44
- }, [placeholder, optionsProp]);
45
-
46
- // When no placeholder is provided then first item should be marked selected to reflect underlying Picker internal state
47
- if (!placeholder && options.length && !value && value !== options[0].value) {
48
- onValueChange?.(options[0].value);
49
- }
50
-
51
- const renderNativePicker = () => (
52
- <NativePickerComponent
53
- ref={pickerRef}
54
- testID="native-picker-component"
55
- selectedValue={value}
56
- onValueChange={(newValue) => {
57
- if (newValue !== placeholder) {
58
- onValueChange?.(newValue);
59
- } else if (newValue === placeholder) {
60
- onValueChange?.("");
61
- }
62
- }}
63
- style={isIos ? styles.iosNativePicker : styles.nativePicker}
64
- onBlur={() => setPickerVisible(false)}
65
- >
66
- {options.map((option) => (
67
- <NativePickerComponent.Item
68
- testID="native-picker-item"
69
- label={option.label.toString()}
70
- value={option.value}
71
- key={option.value}
72
- />
73
- ))}
74
- </NativePickerComponent>
75
- );
76
-
77
- const renderPicker = () => {
78
- if (isIos) {
79
- return (
80
- <Portal>
81
- <SafeAreaView style={styles.iosPickerContent}>
82
- <Button
83
- Icon={Icon}
84
- onPress={() => setPickerVisible(!pickerVisible)}
85
- style={[styles.iosButton, { color: theme.colors.primary }]}
86
- title="Close"
87
- />
88
- {renderNativePicker()}
89
- </SafeAreaView>
90
- </Portal>
91
- );
92
- } else {
93
- return renderNativePicker();
94
- }
95
- };
96
-
97
- React.useEffect(() => {
98
- if (pickerVisible && pickerRef.current) {
99
- pickerRef?.current?.focus();
100
- }
101
- }, [pickerVisible, pickerRef]);
102
-
103
- React.useEffect(() => {
104
- if (pickerVisible && autoDismissKeyboard) {
105
- Keyboard.dismiss();
106
- }
107
- }, [pickerVisible, autoDismissKeyboard]);
108
-
109
- return (
110
- <PickerInputContainer
111
- testID="native-picker"
112
- Icon={Icon}
113
- placeholder={placeholder}
114
- selectedValue={value}
115
- options={options}
116
- onPress={() => setPickerVisible(!pickerVisible)}
117
- disabled={disabled}
118
- {...rest}
119
- >
120
- {/* Web version is collapsed by default, always show to allow direct expand */}
121
- {(pickerVisible || isWeb) && !disabled && renderPicker()}
122
- </PickerInputContainer>
123
- );
124
- };
125
-
126
- const styles = StyleSheet.create({
127
- nativePicker: {
128
- position: "absolute",
129
- bottom: 0,
130
- left: 0,
131
- right: 0,
132
- flexDirection: "row",
133
- justifyContent: "center",
134
- width: "100%",
135
- backgroundColor: "white",
136
- opacity: 0,
137
- ...Platform.select({
138
- web: {
139
- height: "100%", //To have the <select/> element fill the height
140
- },
141
- }),
142
- },
143
- iosNativePicker: {
144
- backgroundColor: "white",
145
- },
146
- iosPickerContent: {
147
- width: "100%",
148
- position: "absolute",
149
- bottom: 0,
150
- backgroundColor: "white",
151
- },
152
- iosButton: {
153
- backgroundColor: "transparent",
154
- borderWidth: 0,
155
- },
156
- });
157
-
158
- export default withTheme(NativePicker);
@@ -1,23 +0,0 @@
1
- import { isObject } from "lodash";
2
- export function normalizeToPickerOptions(options) {
3
- if (options.length === 0) {
4
- return [];
5
- }
6
- const firstOption = options[0];
7
- if (typeof firstOption === ("string" || "number")) {
8
- return options.map((option) => ({
9
- label: option,
10
- value: option,
11
- }));
12
- }
13
- if (isObject(firstOption) && firstOption.value && firstOption.label) {
14
- return options.map((option) => {
15
- return {
16
- label: option.label,
17
- value: option.value,
18
- };
19
- });
20
- }
21
- throw new Error('Picker options must be either an array of strings, numbers, or an array of { "label": string | number; "value": string | number; } objects.');
22
- }
23
- //# sourceMappingURL=PickerCommon.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PickerCommon.js","sourceRoot":"","sources":["PickerCommon.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAwDlC,MAAM,UAAU,wBAAwB,CACtC,OAA6C;IAE7C,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;QACxB,OAAO,EAAE,CAAC;KACX;IAED,MAAM,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAE/B,IAAI,OAAO,WAAW,KAAK,CAAC,QAAQ,IAAI,QAAQ,CAAC,EAAE;QACjD,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YAC9B,KAAK,EAAE,MAAyB;YAChC,KAAK,EAAE,MAAyB;SACjC,CAAC,CAAC,CAAC;KACL;IAED,IAAI,QAAQ,CAAC,WAAW,CAAC,IAAI,WAAW,CAAC,KAAK,IAAI,WAAW,CAAC,KAAK,EAAE;QACnE,OAAQ,OAA0B,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;YAChD,OAAO;gBACL,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,KAAK,EAAE,MAAM,CAAC,KAAK;aACpB,CAAC;QACJ,CAAC,CAAC,CAAC;KACJ;IAED,MAAM,IAAI,KAAK,CACb,6IAA6I,CAC9I,CAAC;AACJ,CAAC"}
@@ -1,87 +0,0 @@
1
- import { StyleProp, ViewStyle, TextStyle } from "react-native";
2
- import { IconSlot } from "../../interfaces/Icon";
3
- import { isObject } from "lodash";
4
- import { Theme } from "../../styles/DefaultTheme";
5
-
6
- export interface PickerOption {
7
- value: string | number;
8
- label: string | number;
9
- }
10
-
11
- export interface PickerInputContainerProps extends IconSlot {
12
- error?: boolean;
13
- placeholder?: string;
14
- disabled?: boolean;
15
- style?: StyleProp<ViewStyle> | TextStyle;
16
- label?: string;
17
- assistiveText?: string;
18
- iconColor?: string;
19
- iconSize?: number;
20
- leftIconMode?: "inset" | "outset";
21
- leftIconName?: string;
22
- placeholderTextColor?: string;
23
- rightIconName?: string;
24
- type?: "solid" | "underline";
25
- }
26
-
27
- export interface CommonPickerProps extends PickerInputContainerProps {
28
- options: PickerOption[] | string[] | number[];
29
- autoDismissKeyboard?: boolean;
30
- theme: Theme;
31
- }
32
-
33
- export interface SinglePickerProps {
34
- value?: string | number;
35
- onValueChange: (value: string | number) => void;
36
- }
37
-
38
- export interface MultiSelectPickerProps {
39
- value?: (string | number)[];
40
- onValueChange: (value: (string | number)[]) => void;
41
- }
42
-
43
- export interface CommonDropDownPickerProps extends CommonPickerProps {
44
- selectedIconName?: string;
45
- selectedIconColor?: string;
46
- selectedIconSize?: number;
47
- itemTextSize?: number;
48
- itemTextColor?: string;
49
- itemBackgroundColor?: string;
50
- selectedItemTextSize?: number;
51
- selectedItemTextColor?: string;
52
- selectedItemBackgroundColor?: string;
53
- dropDownBackgroundColor?: string;
54
- dropDownBorderColor?: string;
55
- dropDownBorderWidth?: number;
56
- dropDownBorderRadius?: number;
57
- }
58
-
59
- export function normalizeToPickerOptions(
60
- options: PickerOption[] | string[] | number[]
61
- ): PickerOption[] {
62
- if (options.length === 0) {
63
- return [];
64
- }
65
-
66
- const firstOption = options[0];
67
-
68
- if (typeof firstOption === ("string" || "number")) {
69
- return options.map((option) => ({
70
- label: option as string | number,
71
- value: option as string | number,
72
- }));
73
- }
74
-
75
- if (isObject(firstOption) && firstOption.value && firstOption.label) {
76
- return (options as PickerOption[]).map((option) => {
77
- return {
78
- label: option.label,
79
- value: option.value,
80
- };
81
- });
82
- }
83
-
84
- throw new Error(
85
- 'Picker options must be either an array of strings, numbers, or an array of { "label": string | number; "value": string | number; } objects.'
86
- );
87
- }
@@ -1,37 +0,0 @@
1
- import React from "react";
2
- import { View, StyleSheet } from "react-native";
3
- import omit from "lodash.omit";
4
- import { extractSizeStyles, extractPositionStyles, extractFlexItemStyles, extractBorderAndMarginStyles, } from "../../utilities";
5
- import TextField from "../TextField";
6
- import Touchable from "../Touchable";
7
- const PickerInputContainer = ({ options = [], onPress, Icon, style, selectedValue, disabled = false, zIndex, children, testID, ...rest }) => {
8
- var _a;
9
- const containerStyle = StyleSheet.flatten([
10
- extractSizeStyles(style),
11
- extractPositionStyles(style),
12
- extractFlexItemStyles(style),
13
- extractBorderAndMarginStyles(style).marginStyles,
14
- ]);
15
- const textFieldStyle = omit(StyleSheet.flatten(style), Object.keys(containerStyle));
16
- let selectedLabel = "";
17
- if (Array.isArray(selectedValue)) {
18
- selectedLabel = selectedValue
19
- .map((value) => {
20
- var _a;
21
- return ((_a = options.find((option) => option.value === value)) === null || _a === void 0 ? void 0 : _a.label.toString()) ||
22
- value;
23
- })
24
- .join(", ");
25
- }
26
- else {
27
- selectedLabel =
28
- ((_a = options
29
- .find((option) => option.value === selectedValue)) === null || _a === void 0 ? void 0 : _a.label.toString()) || selectedValue;
30
- }
31
- return (React.createElement(View, { testID: testID, style: [containerStyle, { zIndex }] },
32
- React.createElement(TextField, { Icon: Icon, numberOfLines: 1, onChangeText: () => { }, value: selectedLabel === null || selectedLabel === void 0 ? void 0 : selectedLabel.toString(), editable: false, disabled: disabled, style: textFieldStyle, ...rest }),
33
- React.createElement(Touchable, { style: StyleSheet.absoluteFillObject, disabled: disabled, onPress: onPress }),
34
- children));
35
- };
36
- export default PickerInputContainer;
37
- //# sourceMappingURL=PickerInputContainer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PickerInputContainer.js","sourceRoot":"","sources":["PickerInputContainer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,IAAI,MAAM,aAAa,CAAC;AAC/B,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,qBAAqB,EACrB,4BAA4B,GAC7B,MAAM,iBAAiB,CAAC;AACzB,OAAO,SAAS,MAAM,cAAc,CAAC;AACrC,OAAO,SAAS,MAAM,cAAc,CAAC;AAcrC,MAAM,oBAAoB,GAEtB,CAAC,EACH,OAAO,GAAG,EAAE,EACZ,OAAO,EACP,IAAI,EACJ,KAAK,EACL,aAAa,EACb,QAAQ,GAAG,KAAK,EAChB,MAAM,EACN,QAAQ,EACR,MAAM,EACN,GAAG,IAAI,EACR,EAAE,EAAE;;IACH,MAAM,cAAc,GAAG,UAAU,CAAC,OAAO,CAAC;QACxC,iBAAiB,CAAC,KAAK,CAAC;QACxB,qBAAqB,CAAC,KAAK,CAAC;QAC5B,qBAAqB,CAAC,KAAK,CAAC;QAC5B,4BAA4B,CAAC,KAAK,CAAC,CAAC,YAAY;KACjD,CAAC,CAAC;IAEH,MAAM,cAAc,GAAG,IAAI,CACzB,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,EACzB,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAC5B,CAAC;IAEF,IAAI,aAAa,GAAgC,EAAE,CAAC;IACpD,IAAI,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE;QAChC,aAAa,GAAG,aAAa;aAC1B,GAAG,CACF,CAAC,KAAK,EAAE,EAAE;;YACR,OAAA,CAAA,MAAA,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,KAAK,KAAK,CAAC,0CAAE,KAAK,CAAC,QAAQ,EAAE;gBAClE,KAAK,CAAA;SAAA,CACR;aACA,IAAI,CAAC,IAAI,CAAC,CAAC;KACf;SAAM;QACL,aAAa;YACX,CAAA,MAAA,OAAO;iBACJ,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,KAAK,aAAa,CAAC,0CAC/C,KAAK,CAAC,QAAQ,EAAE,KAAI,aAAa,CAAC;KACzC;IAED,OAAO,CACL,oBAAC,IAAI,IAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,cAAc,EAAE,EAAE,MAAM,EAAE,CAAC;QACvD,oBAAC,SAAS,IACR,IAAI,EAAE,IAAI,EACV,aAAa,EAAE,CAAC,EAChB,YAAY,EAAE,GAAG,EAAE,GAAE,CAAC,EACtB,KAAK,EAAE,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,QAAQ,EAAE,EAChC,QAAQ,EAAE,KAAK,EACf,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,cAAc,KACjB,IAAI,GACR;QACF,oBAAC,SAAS,IACR,KAAK,EAAE,UAAU,CAAC,kBAAkB,EACpC,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,OAAO,GAChB;QACD,QAAQ,CACJ,CACR,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,oBAAoB,CAAC"}