Skip to content

Commit 69c2bcb

Browse files
authored
Picker in wheel picker mode supports top bar props (#2681)
1 parent 1d9a811 commit 69c2bcb

File tree

1 file changed

+25
-4
lines changed

1 file changed

+25
-4
lines changed

src/components/picker/PickerItemsList.tsx

Lines changed: 25 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import Modal from '../modal';
77
import View from '../view';
88
import Text from '../text';
99
import Icon from '../icon';
10+
import Button from '../button';
1011
import WheelPicker from '../WheelPicker';
1112
import {PickerItemProps, PickerItemsListProps, PickerSingleValue} from './types';
1213
import PickerContext from './PickerContext';
@@ -95,13 +96,33 @@ const PickerItemsList = (props: PickerItemsListProps) => {
9596
);
9697
};
9798

99+
const renderCancel = () => {
100+
const {cancelButtonProps, cancelLabel, onCancel} = topBarProps ?? {};
101+
102+
return (
103+
<>
104+
{cancelLabel ? (
105+
<Text text70 $textPrimary accessibilityRole={'button'} onPress={onCancel}>
106+
{cancelLabel}
107+
</Text>
108+
) : cancelButtonProps ? (
109+
<Button key={'cancel-button'} link onPress={onCancel} {...cancelButtonProps}/>
110+
) : undefined}
111+
</>
112+
);
113+
};
114+
98115
const renderWheel = () => {
116+
const {cancelButtonProps, cancelLabel, doneLabel, title, titleStyle, containerStyle, useSafeArea} =
117+
topBarProps ?? {};
118+
99119
return (
100-
<View>
101-
<View row spread padding-page>
102-
<Text>{topBarProps?.title}</Text>
120+
<View useSafeArea={useSafeArea}>
121+
<View row spread padding-page style={containerStyle}>
122+
{(cancelButtonProps || cancelLabel) && renderCancel()}
123+
<Text style={titleStyle}>{title}</Text>
103124
<Text text70 $textPrimary accessibilityRole={'button'} onPress={() => context.onPress(wheelPickerValue)}>
104-
{topBarProps?.doneLabel ?? 'Select'}
125+
{doneLabel ?? 'Select'}
105126
</Text>
106127
</View>
107128
<WheelPicker

0 commit comments

Comments
 (0)