/* 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!") } }} /> )} ))