diff --git a/demo/src/screens/MenuStructure.js b/demo/src/screens/MenuStructure.js index 05014f74ef..4b85987a68 100644 --- a/demo/src/screens/MenuStructure.js +++ b/demo/src/screens/MenuStructure.js @@ -194,7 +194,7 @@ export const navigationData = { tags: 'text field expandable input picker', screen: 'unicorn.components.IncubatorExpandableOverlayScreen' }, - {title: 'Pan View', tags: 'pan swipe drag', screen: 'unicorn.incubator.PanViewScreen'} + {title: 'PanView', tags: 'pan swipe drag', screen: 'unicorn.incubator.PanViewScreen'} ] }, Inspirations: { diff --git a/demo/src/screens/__tests__/__snapshots__/TextFieldScreen.spec.js.snap b/demo/src/screens/__tests__/__snapshots__/TextFieldScreen.spec.js.snap index b3311c5eb7..b5e809facf 100644 --- a/demo/src/screens/__tests__/__snapshots__/TextFieldScreen.spec.js.snap +++ b/demo/src/screens/__tests__/__snapshots__/TextFieldScreen.spec.js.snap @@ -306,7 +306,7 @@ exports[`TextField Screen renders screen 1`] = ` Presets - - Preset: - - - Static vs Floating Placeholder - - + Disabled vs Readonly + + - - - - - + + + Disabled + + + + + Readonly + + + + + + + + + + Name + + + + + + + + + + + + + + + + Static vs Floating Placeholder + + + + + + + + + + + FloatingPlaceholder + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Hint vs HelperText + + + + + + + + + + - FloatingPlaceholder + Enter code + > + + + + + Enter code + + + subtext={true} + testID="undefined.helperText" + > + 1-6 numbers + - Email - - - - - - - - - - - - + testID="undefined.label" + > + Email + - - - - Name - - - - - - - - - + underlineColorAndroid="transparent" + validate={ + [ + "required", + "email", + ] + } + validateOnBlur={true} + validateOnChange={true} + validationMessage={ + [ + "Email is required", + "Email is invalid", + ] + } + value="Initial Value" + /> + + - - - Enter first and last name - - - - - 0/20 - - + ], + ] + } + testID="undefined.validationMessage" + /> - - - - Validate - + /> - - Hint - - + - - + Name + + + undefined, + undefined, + undefined, + undefined, + undefined, + undefined, + undefined, + undefined, + ] + } + > + + + - - Enter password - - - + ] + } + underlineColorAndroid="transparent" + validate="required" + validateOnBlur={true} + validateOnChange={true} + validationMessage="This field is required. That means you have to enter some value" + /> + - - - + + Enter first and last name + + + + + ] + } + testID="undefined.charCounter" + > + 0/20 + + - + + + testID="undefined.label" + > + Validate + - Email + Color @@ -5215,7 +6056,7 @@ exports[`TextField Screen renders screen 1`] = ` } testID="undefined.label" > - Email + Required @@ -6004,6 +6845,7 @@ exports[`TextField Screen renders screen 1`] = ` underlineColorAndroid="transparent" validate="required" validateOnBlur={true} + validateOnChange={true} validationMessage="This field is required" /> @@ -6369,7 +7211,7 @@ exports[`TextField Screen renders screen 1`] = ` ({...product})); -type Item = typeof productsWithIds[0]; +const productsWithIds = products.map(product => ({...product})); +type Item = (typeof productsWithIds)[0]; class SortableGridListScreen extends Component { state = { orientation: Constants.orientation, selectedItemId: undefined, items: productsWithIds, - removedItems: [] as Item[] + removedItems: [] as Item[], + shouldOrderByIndex: false }; itemsOrdered = this.state.items; @@ -44,7 +46,7 @@ class SortableGridListScreen extends Component { removeSelectedItem = () => { const {selectedItemId, removedItems} = this.state; if (!_.isUndefined(selectedItemId)) { - const newItems = [...this.itemsOrdered]; + const newItems = [...this.itemsOrdered]; const removed = _.remove(newItems, item => item.id === selectedItemId); removedItems.push(removed[0]); this.setState({items: newItems, selectedItemId: undefined, removedItems}); @@ -83,7 +85,7 @@ class SortableGridListScreen extends Component { }; render() { - const {items, removedItems, selectedItemId} = this.state; + const {items, removedItems, selectedItemId, shouldOrderByIndex} = this.state; return ( @@ -98,6 +100,9 @@ class SortableGridListScreen extends Component { />