@@ -5,7 +5,6 @@ import {ModalTopBarProps} from '../modal/TopBar';
5
5
// TODO: Replace with new TextField Props after migration to new TextField has completed
6
6
// import {TextFieldProps} from '../../../typings/components/Inputs';
7
7
import { TextFieldMethods , TextFieldProps as NewTextFieldProps } from '../../incubator/TextField' ;
8
- import type { ThemeComponent } from '../../typings/common' ;
9
8
10
9
// Note: enum values are uppercase due to legacy
11
10
export enum PickerModes {
@@ -48,144 +47,143 @@ export interface PickerSearchStyle {
48
47
selectionColor ?: string ;
49
48
}
50
49
51
- export type PickerBaseProps = Omit < NewTextFieldProps , 'value' | 'onChange' > &
52
- ThemeComponent & {
53
- /* ...TextField.propTypes, */
54
- /**
55
- * Temporary prop required for migration to Picker's new API
56
- */
57
- migrate ?: boolean ;
58
- /**
59
- * Temporary prop required for inner text field migration
60
- */
61
- migrateTextField ?: boolean ;
62
- /**
63
- * Pass for different field type UI (form, filter or settings)
64
- */
65
- fieldType ?: PickerFieldTypes ;
66
- /**
67
- * Picker current value in the shape of {value: ..., label: ...}, for custom shape use 'getItemValue' prop
68
- */
69
- value ?: PickerValue ;
70
- /**
71
- * Callback for when picker value change
72
- */
73
- onChange ?: ( value : PickerValue ) => void ;
74
- /**
75
- * SINGLE mode or MULTI mode
76
- */
77
- mode ?: PickerModes ;
78
- /**
79
- * Limit the number of selected items
80
- */
81
- selectionLimit ?: number ;
82
- /**
83
- * Adds blur effect to picker modal (iOS only)
84
- */
85
- enableModalBlur ?: boolean ;
86
- /**
87
- * Render custom picker - input will be value (see above)
88
- * Example:
89
- * renderPicker = (selectedItem) => {...}
90
- */
91
- renderPicker ?: RenderPicker ;
92
- /**
93
- * Render custom picker item
94
- */
95
- renderItem ?: (
96
- value : PickerValue ,
97
- itemProps : PickerItemProps & { isSelected : boolean ; isItemDisabled : boolean } ,
98
- label ?: string
99
- ) => React . ReactElement ;
100
- /**
101
- * Render custom picker modal (e.g ({visible, children, toggleModal}) => {...})
102
- */
103
- renderCustomModal ?: ( modalProps : RenderCustomModalProps ) => React . ReactElement ;
104
- /**
105
- * Custom picker props (when using renderPicker, will apply on the button wrapper)
106
- */
107
- customPickerProps ?: ExpandableOverlayProps ;
108
- /**
109
- * Add onPress callback for when pressing the picker
110
- */
111
- onPress ?: ( ) => void ;
112
- /**
113
- * @deprecated
114
- * A function that extract the unique value out of the value prop in case value has a custom structure (e.g. {myValue, myLabel})
115
- */
116
- getItemValue ?: ( value : PickerValue ) => any ;
117
- /**
118
- * @deprecated
119
- * A function that extract the label out of the value prop in case value has a custom structure (e.g. {myValue, myLabel})
120
- */
121
- getItemLabel ?: ( value : PickerValue ) => string ;
122
- /**
123
- * A function that returns the label to show for the selected Picker value
124
- */
125
- getLabel ?: ( value : PickerValue ) => string ;
126
- /**
127
- * The picker modal top bar props
128
- */
129
- topBarProps ?: ModalTopBarProps ;
130
- /**
131
- * Show search input to filter picker items by label
132
- */
133
- showSearch ?: boolean ;
134
- /**
135
- * Style object for the search input (only when passing showSearch)
136
- */
137
- searchStyle ?: PickerSearchStyle ;
138
- /**
139
- * Placeholder text for the search input (only when passing showSearch)
140
- */
141
- searchPlaceholder ?: string ;
142
- /**
143
- * callback for picker modal search input text change (only when passing showSearch)
144
- */
145
- onSearchChange ?: ( searchValue : string ) => void ;
146
- /**
147
- * Render custom search input (only when passing showSearch)
148
- */
149
- renderCustomSearch ?: ( props : PickerItemsListProps ) => React . ReactElement ;
150
- // /**
151
- // * @deprecated pass useWheelPicker prop instead
152
- // * Allow to use the native picker solution (different style for iOS and Android)
153
- // */
154
- // useNativePicker?: boolean;
155
- /**
156
- * Use wheel picker instead of a list picker
157
- */
158
- useWheelPicker ?: boolean ;
159
- /**
160
- * Pass props to the list component that wraps the picker options (allows to control FlatList behavior)
161
- */
162
- listProps ?: Partial < FlatListProps < any > > ;
163
- /**
164
- * Pass props to the picker modal
165
- */
166
- pickerModalProps ?: object ;
167
- /**
168
- * Custom container style
169
- */
170
- containerStyle ?: StyleProp < ViewStyle > ;
171
- /**
172
- * Callback for modal onShow event
173
- */
174
- onShow ?: ( ) => void ;
175
- /**
176
- * Add safe area in the Picker modal view
177
- */
178
- useSafeArea ?: boolean ;
179
- /**
180
- * Data source for Picker
181
- */
182
- items ?: Pick < PickerItemProps , 'label' | 'value' | 'disabled' > [ ] ;
183
- /**
184
- * Component test id
185
- */
186
- testID ?: string ;
187
- children ?: ReactNode | undefined ;
188
- } ;
50
+ export type PickerBaseProps = Omit < NewTextFieldProps , 'value' | 'onChange' > & {
51
+ /* ...TextField.propTypes, */
52
+ /**
53
+ * Temporary prop required for migration to Picker's new API
54
+ */
55
+ migrate ?: boolean ;
56
+ /**
57
+ * Temporary prop required for inner text field migration
58
+ */
59
+ migrateTextField ?: boolean ;
60
+ /**
61
+ * Pass for different field type UI (form, filter or settings)
62
+ */
63
+ fieldType ?: PickerFieldTypes ;
64
+ /**
65
+ * Picker current value in the shape of {value: ..., label: ...}, for custom shape use 'getItemValue' prop
66
+ */
67
+ value ?: PickerValue ;
68
+ /**
69
+ * Callback for when picker value change
70
+ */
71
+ onChange ?: ( value : PickerValue ) => void ;
72
+ /**
73
+ * SINGLE mode or MULTI mode
74
+ */
75
+ mode ?: PickerModes ;
76
+ /**
77
+ * Limit the number of selected items
78
+ */
79
+ selectionLimit ?: number ;
80
+ /**
81
+ * Adds blur effect to picker modal (iOS only)
82
+ */
83
+ enableModalBlur ?: boolean ;
84
+ /**
85
+ * Render custom picker - input will be value (see above)
86
+ * Example:
87
+ * renderPicker = (selectedItem) => {...}
88
+ */
89
+ renderPicker ?: RenderPicker ;
90
+ /**
91
+ * Render custom picker item
92
+ */
93
+ renderItem ?: (
94
+ value : PickerValue ,
95
+ itemProps : PickerItemProps & { isSelected : boolean ; isItemDisabled : boolean } ,
96
+ label ?: string
97
+ ) => React . ReactElement ;
98
+ /**
99
+ * Render custom picker modal (e.g ({visible, children, toggleModal}) => {...})
100
+ */
101
+ renderCustomModal ?: ( modalProps : RenderCustomModalProps ) => React . ReactElement ;
102
+ /**
103
+ * Custom picker props (when using renderPicker, will apply on the button wrapper)
104
+ */
105
+ customPickerProps ?: ExpandableOverlayProps ;
106
+ /**
107
+ * Add onPress callback for when pressing the picker
108
+ */
109
+ onPress ?: ( ) => void ;
110
+ /**
111
+ * @deprecated
112
+ * A function that extract the unique value out of the value prop in case value has a custom structure (e.g. {myValue, myLabel})
113
+ */
114
+ getItemValue ?: ( value : PickerValue ) => any ;
115
+ /**
116
+ * @deprecated
117
+ * A function that extract the label out of the value prop in case value has a custom structure (e.g. {myValue, myLabel})
118
+ */
119
+ getItemLabel ?: ( value : PickerValue ) => string ;
120
+ /**
121
+ * A function that returns the label to show for the selected Picker value
122
+ */
123
+ getLabel ?: ( value : PickerValue ) => string ;
124
+ /**
125
+ * The picker modal top bar props
126
+ */
127
+ topBarProps ?: ModalTopBarProps ;
128
+ /**
129
+ * Show search input to filter picker items by label
130
+ */
131
+ showSearch ?: boolean ;
132
+ /**
133
+ * Style object for the search input (only when passing showSearch)
134
+ */
135
+ searchStyle ?: PickerSearchStyle ;
136
+ /**
137
+ * Placeholder text for the search input (only when passing showSearch)
138
+ */
139
+ searchPlaceholder ?: string ;
140
+ /**
141
+ * callback for picker modal search input text change (only when passing showSearch)
142
+ */
143
+ onSearchChange ?: ( searchValue : string ) => void ;
144
+ /**
145
+ * Render custom search input (only when passing showSearch)
146
+ */
147
+ renderCustomSearch ?: ( props : PickerItemsListProps ) => React . ReactElement ;
148
+ // /**
149
+ // * @deprecated pass useWheelPicker prop instead
150
+ // * Allow to use the native picker solution (different style for iOS and Android)
151
+ // */
152
+ // useNativePicker?: boolean;
153
+ /**
154
+ * Use wheel picker instead of a list picker
155
+ */
156
+ useWheelPicker ?: boolean ;
157
+ /**
158
+ * Pass props to the list component that wraps the picker options (allows to control FlatList behavior)
159
+ */
160
+ listProps ?: Partial < FlatListProps < any > > ;
161
+ /**
162
+ * Pass props to the picker modal
163
+ */
164
+ pickerModalProps ?: object ;
165
+ /**
166
+ * Custom container style
167
+ */
168
+ containerStyle ?: StyleProp < ViewStyle > ;
169
+ /**
170
+ * Callback for modal onShow event
171
+ */
172
+ onShow ?: ( ) => void ;
173
+ /**
174
+ * Add safe area in the Picker modal view
175
+ */
176
+ useSafeArea ?: boolean ;
177
+ /**
178
+ * Data source for Picker
179
+ */
180
+ items ?: Pick < PickerItemProps , 'label' | 'value' | 'disabled' > [ ] ;
181
+ /**
182
+ * Component test id
183
+ */
184
+ testID ?: string ;
185
+ children ?: ReactNode | undefined ;
186
+ } ;
189
187
190
188
export type PickerPropsWithSingle = PickerBaseProps & {
191
189
mode ?: PickerModes . SINGLE ;
0 commit comments