1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
|
/* 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, FormRow } from '../'
import { color } from '../../theme/color'
import { ViewStyle } from 'react-native'
declare let module
const TEXT_STYLE_OVERRIDE = {
color: color.storybookTextColor,
}
const arrayStyle: ViewStyle[] = [{ borderWidth: 5 }, { borderColor: '#32cd32' }]
storiesOf('FormRow', module)
.addDecorator((fn) => <StoryScreen>{fn()}</StoryScreen>)
.add('Assembled', () => (
<Story>
<UseCase
text="Fully Assembled"
usage="FormRow has many parts designed to fit together. Here is what it looks like all assembled."
>
<FormRow preset="top">
<Text preset="fieldLabel" style={TEXT_STYLE_OVERRIDE}>
Hello! I am at the top
</Text>
</FormRow>
<FormRow preset="middle">
<Text style={TEXT_STYLE_OVERRIDE}>
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Commodi officia quo rerum
impedit asperiores hic ex quae, quam dolores vel odit doloribus, tempore atque deserunt
possimus incidunt, obcaecati numquam officiis.
</Text>
</FormRow>
<FormRow preset="middle">
<Text preset="secondary" style={TEXT_STYLE_OVERRIDE}>
...one more thing
</Text>
</FormRow>
<FormRow preset="bottom">
<Text style={TEXT_STYLE_OVERRIDE}>🎉 Footers!</Text>
</FormRow>
</UseCase>
<UseCase text="Alternatives" usage="Less commonly used presets.">
<FormRow preset="clear">
<Text style={TEXT_STYLE_OVERRIDE}>
My borders are still there, but they are clear. This causes the text to still align
properly due to the box model of flexbox.
</Text>
</FormRow>
<FormRow preset="soloRound">
<Text style={TEXT_STYLE_OVERRIDE}>I'm round</Text>
</FormRow>
<FormRow preset="soloStraight" style={{ marginTop: 10, backgroundColor: '#ffe' }}>
<Text style={TEXT_STYLE_OVERRIDE}>I'm square and have a custom style.</Text>
</FormRow>
</UseCase>
</Story>
))
.add('Presets', () => (
<Story>
<UseCase text="top" usage="The top of a form.">
<FormRow preset="top">
<Text style={TEXT_STYLE_OVERRIDE}>Curved borders at the top.</Text>
<Text style={TEXT_STYLE_OVERRIDE}>Nothing below</Text>
</FormRow>
</UseCase>
<UseCase text="middle" usage="A row in the middle of a form.">
<FormRow preset="middle">
<Text style={TEXT_STYLE_OVERRIDE}>No curves and empty at the bottom.</Text>
</FormRow>
</UseCase>
<UseCase text="bottom" usage="The bottom of a form.">
<FormRow preset="bottom">
<Text style={TEXT_STYLE_OVERRIDE}>Curved at the bottom</Text>
<Text style={TEXT_STYLE_OVERRIDE}>Line at the top.</Text>
</FormRow>
</UseCase>
<UseCase text="soloRound" usage="A standalone curved form row.">
<FormRow preset="soloRound">
<Text style={TEXT_STYLE_OVERRIDE}>Curves all around.</Text>
</FormRow>
</UseCase>
<UseCase text="soloStraight" usage="A standalone straight form row.">
<FormRow preset="soloStraight">
<Text style={TEXT_STYLE_OVERRIDE}>Curves nowhere.</Text>
</FormRow>
</UseCase>
<UseCase text="clear" usage="Identical dimensions but transparent edges.">
<FormRow preset="clear">
<Text style={TEXT_STYLE_OVERRIDE}>Curves nowhere.</Text>
</FormRow>
</UseCase>
</Story>
))
.add('Styling', () => (
<Story>
<UseCase text="Style array" usage="Form row with an array of styles">
<FormRow preset="soloStraight" style={arrayStyle}>
<Text style={TEXT_STYLE_OVERRIDE}>Array style.</Text>
</FormRow>
</UseCase>
</Story>
))
|