/* eslint-disable react-native/no-inline-styles */
/* eslint-disable react-native/no-color-literals */
import * as React from 'react'
import { storiesOf } from '@storybook/react-native'
import { StoryScreen, Story, UseCase } from '../../../storybook/views'
import { Text, TextField } from '../'
import { State } from 'react-powerplug'
import { ViewStyle, TextStyle, Alert } from 'react-native'
declare let module
const styleArray: ViewStyle[] = [{ paddingHorizontal: 30 }, { borderWidth: 30 }]
const inputStyleArray: TextStyle[] = [
{
backgroundColor: 'rebeccapurple',
color: 'white',
padding: 40,
},
{
borderWidth: 10,
borderRadius: 4,
borderColor: '#7fff00',
},
]
let alertWhenFocused = true
storiesOf('TextField', module)
.addDecorator((fn) => {fn()})
.add('Labelling', () => (
{({ state, setState }) => (
setState({ value })}
value={state.value}
label="Name"
placeholder="omg your name"
/>
)}
{({ state, setState }) => (
setState({ value })}
value={state.value}
placeholderTx="storybook.placeholder"
labelTx="storybook.field"
/>
)}
))
.add('Style Overrides', () => (
{({ state, setState }) => (
setState({ value })}
value={state.value}
label="First Name"
style={{ paddingTop: 0, paddingHorizontal: 40 }}
/>
)}
{({ state, setState }) => (
setState({ value })}
value={state.value}
label="Last Name"
style={{ paddingBottom: 0 }}
/>
)}
{({ state, setState }) => (
setState({ value })}
value={state.value}
label="Name"
inputStyle={{
backgroundColor: 'rebeccapurple',
color: 'white',
padding: 40,
borderWidth: 10,
borderRadius: 4,
borderColor: 'hotpink',
}}
/>
)}
{({ state, setState }) => (
setState({ value })}
value={state.value}
label="Name"
style={styleArray}
inputStyle={inputStyleArray}
/>
)}
))
.add('Ref Forwarding', () => (
{({ state, setState }) => (
setState({ value })}
value={state.value}
label="Name"
inputStyle={{
backgroundColor: 'rebeccapurple',
color: 'white',
padding: 40,
borderWidth: 10,
borderRadius: 4,
borderColor: 'hotpink',
}}
forwardedRef={(ref) => ref}
onFocus={() => {
if (alertWhenFocused) {
// Prevent text field focus from being repeatedly triggering alert
alertWhenFocused = false
Alert.alert('Text field focuesed with forwarded ref!')
}
}}
/>
)}
))