Skip to content

Commit 76dbe27

Browse files
authored
Picker - export RenderCustomModalProps and PickerItemsListProps (#2961)
1 parent 11b3da5 commit 76dbe27

File tree

5 files changed

+32
-8
lines changed

5 files changed

+32
-8
lines changed

demo/src/screens/componentScreens/PickerScreen.tsx

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ import {
1313
PanningProvider,
1414
Typography,
1515
PickerProps,
16+
RenderCustomModalProps,
1617
PickerMethods,
1718
Button
1819
} from 'react-native-ui-lib'; //eslint-disable-line
@@ -73,15 +74,15 @@ export default class PickerScreen extends Component {
7374
contact: 0
7475
};
7576

76-
renderDialog: PickerProps['renderCustomModal'] = modalProps => {
77+
renderDialog: PickerProps['renderCustomModal'] = (modalProps: RenderCustomModalProps) => {
7778
const {visible, children, toggleModal, onDone} = modalProps;
7879

7980
return (
8081
<Incubator.Dialog
8182
visible={visible}
8283
onDismiss={() => {
8384
onDone();
84-
toggleModal(false);
85+
toggleModal();
8586
}}
8687
width="100%"
8788
height="45%"

src/components/picker/index.tsx

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,8 @@ import {
3232
PickerModes,
3333
PickerFieldTypes,
3434
PickerSearchStyle,
35+
RenderCustomModalProps,
36+
PickerItemsListProps,
3537
PickerMethods
3638
} from './types';
3739

@@ -344,6 +346,16 @@ Picker.fieldTypes = PickerFieldTypes;
344346
// @ts-expect-error
345347
Picker.extractPickerItems = extractPickerItems;
346348

347-
export {PickerProps, PickerItemProps, PickerValue, PickerModes, PickerFieldTypes, PickerSearchStyle, PickerMethods};
349+
export {
350+
PickerProps,
351+
PickerItemProps,
352+
PickerValue,
353+
PickerModes,
354+
PickerFieldTypes,
355+
PickerSearchStyle,
356+
RenderCustomModalProps,
357+
PickerItemsListProps,
358+
PickerMethods
359+
};
348360
export {Picker}; // For tests
349361
export default Picker as typeof Picker & PickerStatics;

src/components/picker/types.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,9 +31,9 @@ type RenderPickerOverloads<ValueType> = ValueType extends PickerValue
3131
: never;
3232
type RenderPicker = RenderPickerOverloads<PickerValue>;
3333

34-
type RenderCustomModalProps = {
34+
export type RenderCustomModalProps = {
3535
visible: boolean;
36-
toggleModal: (show: boolean) => void;
36+
toggleModal: () => void;
3737
onSearchChange: (searchValue: string) => void;
3838
children: ReactNode;
3939
// onDone is relevant to multi mode only

src/index.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -118,6 +118,8 @@ export {
118118
PickerModes,
119119
PickerFieldTypes,
120120
PickerSearchStyle,
121+
RenderCustomModalProps,
122+
PickerItemsListProps,
121123
PickerMethods
122124
} from './components/picker';
123125
export {default as ProgressBar, ProgressBarProps} from './components/progressBar';

webDemo/src/examples/Picker.tsx

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,15 @@
11
import React, {useState} from 'react';
22
import {ScrollView} from 'react-native-gesture-handler';
3-
import {Picker, Colors, View, Text, Incubator, PickerProps, PanningProvider} from 'react-native-ui-lib';
3+
import {
4+
Picker,
5+
Colors,
6+
View,
7+
Text,
8+
Incubator,
9+
PickerProps,
10+
RenderCustomModalProps,
11+
PanningProvider
12+
} from 'react-native-ui-lib';
413

514
const options = [
615
{label: 'JavaScript', value: 'js'},
@@ -29,15 +38,15 @@ const PickerWrapper = () => {
2938
const [language, setLanguage] = useState(undefined);
3039
const [filter, setFilter] = useState(undefined);
3140
const [customModalValues, setCustomModalValues] = useState(undefined);
32-
const renderDialog: PickerProps['renderCustomModal'] = (modalProps: any) => {
41+
const renderDialog: PickerProps['renderCustomModal'] = (modalProps: RenderCustomModalProps) => {
3342
const {visible, children, toggleModal, onDone} = modalProps;
3443

3544
return (
3645
<Incubator.Dialog
3746
visible={visible}
3847
onDismiss={() => {
3948
onDone();
40-
toggleModal(false);
49+
toggleModal();
4150
}}
4251
width="40%"
4352
height="45%"

0 commit comments

Comments
 (0)