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
108
109
110
|
/* eslint-disable react-native/no-inline-styles */
/* eslint-disable react-native/no-color-literals */
import * as React from "react"
import { View, ViewStyle } from "react-native"
import { storiesOf } from "@storybook/react-native"
import { StoryScreen, Story, UseCase } from "../../../storybook/views"
import { Toggle } from "react-powerplug"
import { Switch } from "./switch"
declare let module
const styleArray: ViewStyle[] = [{ borderColor: "#686868" }]
const trackOffStyle: ViewStyle[] = [
{ backgroundColor: "#686868" },
{
height: 80,
borderRadius: 0,
},
]
const trackOnStyle: ViewStyle[] = [
{
backgroundColor: "#b1008e",
borderColor: "#686868",
},
{
height: 80,
borderRadius: 0,
},
]
const thumbOffStyle: ViewStyle[] = [
{
backgroundColor: "#b1008e",
borderColor: "#686868",
},
{
height: 80,
borderRadius: 0,
},
]
const thumbOnStyle: ViewStyle[] = [
{ backgroundColor: "#f0c" },
{
height: 80,
borderRadius: 0,
borderColor: "#686868",
},
]
storiesOf("Switch", module)
.addDecorator((fn) => <StoryScreen>{fn()}</StoryScreen>)
.add("Behaviour", () => (
<Story>
<UseCase text="The Toggle Switch" usage="Use the switch to represent on/off states.">
<Toggle initial={false}>
{({ on, toggle }) => <Switch value={on} onToggle={toggle} />}
</Toggle>
</UseCase>
<UseCase text="value = true" usage="This is permanently on.">
<Switch value={true} />
</UseCase>
<UseCase text="value = false" usage="This is permanantly off.">
<Switch value={false} />
</UseCase>
</Story>
))
.add("Styling", () => (
<Story>
<UseCase text="Custom Styling" usage="Promise me this won't happen.">
<Toggle initial={false}>
{({ on, toggle }) => (
<View>
<Switch
trackOnStyle={{ backgroundColor: "green", borderColor: "black" }}
trackOffStyle={{ backgroundColor: "red", borderColor: "maroon" }}
thumbOnStyle={{ backgroundColor: "cyan" }}
thumbOffStyle={{ backgroundColor: "pink" }}
value={on}
onToggle={toggle}
/>
</View>
)}
</Toggle>
</UseCase>
<UseCase text="Style array" usage="This either.">
<Toggle initial={false}>
{({ on, toggle }) => (
<View>
<Switch
style={styleArray}
trackOffStyle={trackOffStyle}
trackOnStyle={trackOnStyle}
thumbOffStyle={thumbOffStyle}
thumbOnStyle={thumbOnStyle}
// trackOnStyle={{ backgroundColor: "green", borderColor: "black" }}
// trackOffStyle={{ backgroundColor: "red", borderColor: "maroon" }}
// thumbOnStyle={{ backgroundColor: "cyan" }}
// thumbOffStyle={{ backgroundColor: "pink" }}
value={on}
onToggle={toggle}
/>
</View>
)}
</Toggle>
</UseCase>
</Story>
))
|