forked from Skyscanner/backpack
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathstories.js
159 lines (155 loc) · 8.95 KB
/
stories.js
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
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
/*
* Backpack - Skyscanner's Design System
*
* Copyright 2017 Skyscanner Ltd
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import React from 'react';
import { storiesOf } from '@storybook/react';
import { action } from '@storybook/addon-actions';
import TOKENS from '../bpk-tokens/tokens/base.common';
import { withButtonAlignment, withLargeButtonAlignment, withRtlSupport } from '../bpk-component-icon';
import SmallLongArrowRightIcon from '../bpk-component-icon/sm/long-arrow-right';
import LargeLongArrowRightIcon from '../bpk-component-icon/lg/long-arrow-right';
import BpkButton from './index';
const AlignedSmallLongArrowRightIcon = withButtonAlignment(withRtlSupport(SmallLongArrowRightIcon));
const AlignedLargeLongArrowRightIcon = withLargeButtonAlignment(withRtlSupport(LargeLongArrowRightIcon));
storiesOf('bpk-component-button', module)
.add('Primary', () => (
<div>
<BpkButton onClick={action('primary clicked')}>Button</BpkButton>
<BpkButton selected onClick={action('primary selected clicked')}>Selected</BpkButton>
<BpkButton disabled onClick={action('THIS SHOULD NOT HAPPEN')}>Disabled</BpkButton>
<BpkButton large onClick={action('large primary clicked')}>Button</BpkButton>
<BpkButton large selected onClick={action('large primary selected clicked')}>Selected</BpkButton>
<BpkButton large disabled onClick={action('THIS SHOULD NOT HAPPEN')}>Disabled</BpkButton>
</div>
))
.add('Secondary', () => (
<div>
<BpkButton secondary onClick={action('secondary clicked')}>Button</BpkButton>
<BpkButton secondary selected onClick={action('secondary selected clicked')}>Selected</BpkButton>
<BpkButton secondary disabled onClick={action('THIS SHOULD NOT HAPPEN')}>Disabled</BpkButton>
<BpkButton secondary large onClick={action('large secondary clicked')}>Button</BpkButton>
<BpkButton
secondary
large
selected
onClick={action('large secondary selected clicked')}
>
Selected
</BpkButton>
<BpkButton secondary large disabled onClick={action('THIS SHOULD NOT HAPPEN')}>Disabled</BpkButton>
</div>
))
.add('Destructive', () => (
<div>
<BpkButton destructive onClick={action('destructive clicked')}>Button</BpkButton>
<BpkButton destructive disabled onClick={action('THIS SHOULD NOT HAPPEN')}>Disabled</BpkButton>
<BpkButton destructive large onClick={action('large destructive clicked')}>Button</BpkButton>
<BpkButton destructive large disabled onClick={action('THIS SHOULD NOT HAPPEN')}>Disabled</BpkButton>
</div>
))
.add('Link button', () => (
<div>
<BpkButton link onClick={action('link button clicked')}>Button</BpkButton>
<BpkButton link selected onClick={action('link button selected clicked')}>Selected</BpkButton>
<BpkButton link disabled onClick={action('THIS SHOULD NOT HAPPEN')}>Disabled</BpkButton>
<BpkButton link large onClick={action('large link button clicked')}>Button</BpkButton>
<BpkButton link large selected onClick={action('large link button selected clicked')}>Selected</BpkButton>
<BpkButton link large disabled onClick={action('THIS SHOULD NOT HAPPEN')}>Disabled</BpkButton>
</div>
))
.add('Featured', () => (
<div>
<BpkButton featured onClick={action('featured button clicked')}>Button</BpkButton>
<BpkButton featured selected onClick={action('featured button selected clicked')}>Selected</BpkButton>
<BpkButton featured disabled onClick={action('THIS SHOULD NOT HAPPEN')}>Disabled</BpkButton>
<BpkButton featured large onClick={action('featured button clicked')}>Button</BpkButton>
<BpkButton featured large selected onClick={action('featured button selected clicked')}>Selected</BpkButton>
<BpkButton featured large disabled onClick={action('THIS SHOULD NOT HAPPEN')}>Disabled</BpkButton>
</div>
))
.add('Icon-only button', () => (
<div>
<div>
<BpkButton iconOnly onClick={action('iconOnly button clicked')}>
<AlignedSmallLongArrowRightIcon fill={TOKENS.colorWhite} />
</BpkButton>
<BpkButton iconOnly secondary onClick={action('iconOnly button secondary clicked')}>
<AlignedSmallLongArrowRightIcon fill={TOKENS.buttonSecondaryColor} />
</BpkButton>
<BpkButton iconOnly destructive onClick={action('iconOnly button destructive clicked')}>
<AlignedSmallLongArrowRightIcon fill={TOKENS.buttonDestructiveColor} />
</BpkButton>
<BpkButton iconOnly selected onClick={action('iconOnly button selected clicked')}>
<AlignedSmallLongArrowRightIcon fill={TOKENS.colorWhite} />
</BpkButton>
<BpkButton iconOnly disabled onClick={action('THIS SHOULD NOT HAPPEN')}>
<AlignedSmallLongArrowRightIcon fill={TOKENS.colorWhite} />
</BpkButton>
<BpkButton iconOnly featured onClick={action('iconOnly button featured clicked')}>
<AlignedSmallLongArrowRightIcon fill={TOKENS.colorWhite} />
</BpkButton>
</div>
<div>
<BpkButton iconOnly large onClick={action('large iconOnly button clicked')}>
<AlignedLargeLongArrowRightIcon fill={TOKENS.colorWhite} />
</BpkButton>
<BpkButton iconOnly large secondary onClick={action('large iconOnly button secondary clicked')}>
<AlignedLargeLongArrowRightIcon fill={TOKENS.buttonSecondaryColor} />
</BpkButton>
<BpkButton iconOnly large destructive onClick={action('large iconOnly button destructive clicked')}>
<AlignedLargeLongArrowRightIcon fill={TOKENS.buttonDestructiveColor} />
</BpkButton>
<BpkButton iconOnly large selected onClick={action('large iconOnly button selected clicked')}>
<AlignedLargeLongArrowRightIcon fill={TOKENS.colorWhite} />
</BpkButton>
<BpkButton iconOnly large disabled onClick={action('THIS SHOULD NOT HAPPEN')}>
<AlignedLargeLongArrowRightIcon fill={TOKENS.colorWhite} />
</BpkButton>
<BpkButton iconOnly large featured onClick={action('large iconOnly button featured clicked')}>
<AlignedLargeLongArrowRightIcon fill={TOKENS.colorWhite} />
</BpkButton>
</div>
</div>
))
.add('Mixture', () => (
<div>
<BpkButton onClick={action('primary button clicked')}>Button</BpkButton>
<BpkButton secondary onClick={action('secondary button clicked')}>Button</BpkButton>
<BpkButton destructive onClick={action('destructive button clicked')}>Button</BpkButton>
<BpkButton link onClick={action('link button clicked')}>Button</BpkButton>
<BpkButton featured onClick={action('featured button clicked')}>Button</BpkButton>
<BpkButton large onClick={action('primary button clicked')}>Button</BpkButton>
<BpkButton large secondary onClick={action('secondary button clicked')}>Button</BpkButton>
<BpkButton large destructive onClick={action('destructive button clicked')}>Button</BpkButton>
<BpkButton large link onClick={action('link button clicked')}>Button</BpkButton>
<BpkButton large featured onClick={action('featured button clicked')}>Button</BpkButton>
</div>
))
.add('Anchor tags', () => (
<div>
<BpkButton href="#" onClick={action('primary anchor clicked')}>Button</BpkButton>
<BpkButton href="#" secondary onClick={action('secondary anchor clicked')}>Button</BpkButton>
<BpkButton href="#" destructive onClick={action('destructive anchor clicked')}>Button</BpkButton>
<BpkButton href="#" link onClick={action('link anchor clicked')}>Button</BpkButton>
<BpkButton href="#" featured onClick={action('featured anchor clicked')}>Button</BpkButton>
<BpkButton href="#" large onClick={action('primary anchor clicked')}>Button</BpkButton>
<BpkButton href="#" large secondary onClick={action('secondary anchor clicked')}>Button</BpkButton>
<BpkButton href="#" large destructive onClick={action('destructive anchor clicked')}>Button</BpkButton>
<BpkButton href="#" large link onClick={action('link anchor clicked')}>Button</BpkButton>
<BpkButton href="#" large featured onClick={action('featured anchor clicked')}>Button</BpkButton>
</div>
));