Skip to content

Commit f731529

Browse files
authored
WheelPicker - move from incubator (#2486)
1 parent b3806ab commit f731529

File tree

18 files changed

+31
-31
lines changed

18 files changed

+31
-31
lines changed

demo/src/screens/MenuStructure.js

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,12 @@ export const navigationData = {
7070
{title: 'Stepper', tags: 'stepper form', screen: 'unicorn.components.StepperScreen'},
7171
{title: 'Slider', tags: 'slider', screen: 'unicorn.components.SliderScreen'},
7272
{title: 'Switch', tags: 'switch toggle', screen: 'unicorn.components.SwitchScreen'},
73-
{title: 'Masked Inputs', tags: 'text input form mask', screen: 'unicorn.components.MaskedInputScreen'}
73+
{title: 'Masked Inputs', tags: 'text input form mask', screen: 'unicorn.components.MaskedInputScreen'},
74+
{
75+
title: 'WheelPicker',
76+
tags: 'wheel picker spinner',
77+
screen: 'unicorn.components.WheelPickerScreen'
78+
}
7479
]
7580
},
7681
Overlays: {
@@ -181,11 +186,6 @@ export const navigationData = {
181186
tags: 'text field expandable input picker',
182187
screen: 'unicorn.components.IncubatorExpandableOverlayScreen'
183188
},
184-
{
185-
title: 'WheelPicker (Incubator)',
186-
tags: 'wheel picker spinner experimental',
187-
screen: 'unicorn.incubator.WheelPickerScreen'
188-
},
189189
{title: 'Pan View', tags: 'pan swipe drag', screen: 'unicorn.incubator.PanViewScreen'}
190190
]
191191
},

demo/src/screens/componentScreens/SectionsWheelPickerScreen.tsx

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,13 @@ import {
77
SectionsWheelPicker,
88
SegmentedControl,
99
Button,
10-
Incubator,
10+
WheelPicker,
11+
WheelPickerProps,
1112
Constants,
1213
Switch,
1314
Colors
1415
} from 'react-native-ui-lib';
1516

16-
const {WheelPicker} = Incubator;
17-
1817
const DAYS = _.times(10, i => i);
1918
const HOURS = _.times(24, i => i);
2019
const MINUTES = _.times(60, i => i);
@@ -75,7 +74,7 @@ const SectionsWheelPickerScreen = () => {
7574
setSelectedMinutes(0);
7675
}, []);
7776

78-
const sections: Incubator.WheelPickerProps[] = useMemo(() => {
77+
const sections: WheelPickerProps[] = useMemo(() => {
7978
return [
8079
{
8180
items: getItems(DAYS),

demo/src/screens/incubatorScreens/WheelPickerScreen.tsx renamed to demo/src/screens/componentScreens/WheelPickerScreen.tsx

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import _ from 'lodash';
22
import React, {useCallback, useState} from 'react';
3-
import {View, Text, Incubator, Colors, Typography, Button} from 'react-native-ui-lib';
3+
import {View, Text, Incubator, WheelPicker, WheelPickerAlign, Colors, Typography, Button} from 'react-native-ui-lib';
44

55
const monthItems = _.map([
66
'January',
@@ -16,7 +16,7 @@ const monthItems = _.map([
1616
'November',
1717
'December'
1818
],
19-
item => ({label: item, value: item, align: Incubator.WheelPickerAlign.RIGHT}));
19+
item => ({label: item, value: item, align: WheelPickerAlign.RIGHT}));
2020

2121
const yearItems = _.times(2050, i => i)
2222
.reverse()
@@ -51,7 +51,7 @@ export default () => {
5151
<View row center marginT-30>
5252
<View center>
5353
<Text h3>Months</Text>
54-
<Incubator.WheelPicker
54+
<WheelPicker
5555
initialValue={'February'}
5656
activeTextColor={Colors.$textPrimary}
5757
inactiveTextColor={Colors.$textNeutralHeavy}
@@ -63,7 +63,7 @@ export default () => {
6363

6464
<View center>
6565
<Text h3>Years</Text>
66-
<Incubator.WheelPicker
66+
<WheelPicker
6767
numberOfVisibleRows={3}
6868
initialValue={yearsValue}
6969
items={yearItems}
@@ -80,22 +80,22 @@ export default () => {
8080
(by updating the initialValue prop)
8181
</Text>
8282
<View marginT-10 row>
83-
<Button size="medium" label={'Previous'} marginR-20 onPress={() => updateYearsInitialValue(false)}/>
84-
<Button size="medium" label={'Next'} onPress={() => updateYearsInitialValue(true)}/>
83+
<Button size={Button.sizes.medium} label={'Previous'} marginR-20 onPress={() => updateYearsInitialValue(false)}/>
84+
<Button size={Button.sizes.medium} label={'Next'} onPress={() => updateYearsInitialValue(true)}/>
8585
</View>
8686
</View>
8787

8888
<View center marginT-40>
8989
<Text h3 marginB-20>Days</Text>
90-
<Button size="small" label={'Pick Days'} onPress={onPickDaysPress}/>
90+
<Button size={Button.sizes.small} label={'Pick Days'} onPress={onPickDaysPress}/>
9191
<Incubator.Dialog
9292
width={'90%'}
9393
bottom
9494
visible={showDialog}
9595
onDismiss={onDialogDismissed}
9696
headerProps={{showKnob: false, showDivider: false}}
9797
>
98-
<Incubator.WheelPicker initialValue={5} label={'Days'} items={dayItems}/>
98+
<WheelPicker initialValue={5} label={'Days'} items={dayItems}/>
9999
</Incubator.Dialog>
100100
</View>
101101
</View>

demo/src/screens/componentScreens/index.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import {gestureHandlerRootHOC} from 'react-native-gesture-handler';
12

23
export function registerScreens(registrar) {
34

@@ -60,6 +61,7 @@ export function registerScreens(registrar) {
6061
registrar('unicorn.components.TourScreen', () => require('./TourScreen').default);
6162
registrar('unicorn.components.ViewScreen', () => require('./ViewScreen').default);
6263
registrar('unicorn.components.WizardScreen', () => require('./WizardScreen').default);
64+
registrar('unicorn.components.WheelPickerScreen', () => gestureHandlerRootHOC(require('./WheelPickerScreen').default));
6365
// List Components
6466
registrar('unicorn.lists.BasicListScreen', () => require('./BasicListScreen').default);
6567
registrar('unicorn.lists.ContactsListScreen', () => require('./ContactsListScreen').default);

demo/src/screens/incubatorScreens/index.js

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,5 +8,4 @@ export function registerScreens(registrar) {
88
registrar('unicorn.components.IncubatorExpandableOverlayScreen', () => require('./IncubatorExpandableOverlayScreen').default);
99
registrar('unicorn.components.IncubatorToastScreen', () => require('./IncubatorToastScreen').default);
1010
registrar('unicorn.incubator.PanViewScreen', () => require('./PanViewScreen').default);
11-
registrar('unicorn.incubator.WheelPickerScreen', () => gestureHandlerRootHOC(require('./WheelPickerScreen').default));
1211
}

src/incubator/WheelPicker/Item.tsx renamed to src/components/WheelPicker/Item.tsx

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,6 @@ const WheelPickerItem = memo(({
110110
);
111111
});
112112

113-
WheelPickerItem.displayName = 'Incubator.WheelPickerItem';
114113
export default asBaseComponent<InternalProps>(WheelPickerItem);
115114

116115
const styles = StyleSheet.create({

src/incubator/WheelPicker/__tests__/index.spec.js renamed to src/components/WheelPicker/__tests__/index.spec.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import React from 'react';
33
import {render} from '@testing-library/react-native';
44
import {fireOnMomentumScrollEnd} from '../../../uilib-test-renderer';
55
import {Colors} from 'style';
6-
import {WheelPicker} from '../../../incubator';
6+
import WheelPicker from '../index';
77

88

99
const ITEM_HEIGHT = 50;

src/incubator/WheelPicker/index.tsx renamed to src/components/WheelPicker/index.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ import Item, {ItemProps} from './Item';
2020
import Text, {TextProps} from '../../components/text';
2121
import usePresenter from './usePresenter';
2222
import {WheelPickerAlign} from './types';
23+
export {WheelPickerAlign};
2324

2425
const AnimatedFlatList = Animated.createAnimatedComponent<FlatListProps<ItemProps>>(FlatList);
2526

@@ -358,7 +359,6 @@ const WheelPicker = ({
358359
};
359360

360361
WheelPicker.alignments = WheelPickerAlign;
361-
WheelPicker.displayName = 'Incubator.WheelPicker';
362362
export default asBaseComponent<WheelPickerProps, typeof WheelPicker>(WheelPicker);
363363
export {ItemProps as WheelPickerItemProps};
364364

src/incubator/WheelPicker/wheelPicker.api.json renamed to src/components/WheelPicker/wheelPicker.api.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
{
22
"name": "WheelPicker",
3-
"category": "incubator",
3+
"category": "form",
44
"description": "A customizable WheelPicker component",
5-
"example": "https://github.com/wix/react-native-ui-lib/blob/master/demo/src/screens/incubatorScreens/WheelPickerScreen.tsx",
5+
"example": "https://github.com/wix/react-native-ui-lib/blob/master/demo/src/screens/componentScreens/WheelPickerScreen.tsx",
66
"images": [],
77
"props": [
88
{"name": "initialValue", "type": "number | string", "description": "Initial value (uncontrolled)"},

src/components/picker/PickerItemsList.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import Modal from '../modal';
77
import View from '../view';
88
import Text from '../text';
99
import Icon from '../icon';
10-
import WheelPicker from '../../incubator/WheelPicker';
10+
import WheelPicker from '../WheelPicker';
1111
import {PickerItemProps, PickerItemsListProps, PickerSingleValue} from './types';
1212
import PickerContext from './PickerContext';
1313

src/components/sectionsWheelPicker/index.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import React, {useMemo} from 'react';
33
import {TextStyle, StyleSheet} from 'react-native';
44
import {Constants, asBaseComponent} from '../../commons/new';
55
import View from '../view';
6-
import {WheelPicker, WheelPickerProps} from '../../incubator';
6+
import WheelPicker, {WheelPickerProps} from '../WheelPicker';
77

88
export type SectionsWheelPickerProps = {
99
/**

src/incubator/index.ts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,5 @@ export {default as ExpandableOverlay} from './expandableOverlay';
55
export {default as TextField, TextFieldProps, FieldContextType, TextFieldMethods} from './TextField';
66
export {default as Toast, ToastProps, ToastPresets} from './toast';
77
export {default as TouchableOpacity, TouchableOpacityProps} from './TouchableOpacity';
8-
export {default as WheelPicker, WheelPickerProps, WheelPickerItemProps} from './WheelPicker';
9-
export {WheelPickerAlign} from './WheelPicker/types';
108
export {default as PanView, PanViewProps, PanViewDirections, PanViewDismissThreshold} from './panView';
119
export {default as Dialog, DialogProps, DialogHeaderProps, DialogStatics, DialogImperativeMethods} from './Dialog';

src/index.ts

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,9 +32,6 @@ export {
3232
FieldContextType,
3333
ToastProps,
3434
ToastPresets,
35-
WheelPickerProps,
36-
WheelPickerItemProps,
37-
WheelPickerAlign,
3835
PanViewProps,
3936
PanViewDirections,
4037
PanViewDismissThreshold
@@ -172,6 +169,12 @@ export {
172169
WizardStepConfig,
173170
WizardStepsConfig
174171
} from './components/wizard';
172+
export {
173+
default as WheelPicker,
174+
WheelPickerProps,
175+
WheelPickerItemProps,
176+
WheelPickerAlign
177+
} from './components/WheelPicker';
175178

176179
/* ===== TestKit ===== */
177180
// export {default as TextTestKit} from './components/text/Text.driver';

0 commit comments

Comments
 (0)