/
BadgeList.stories.tsx
132 lines (122 loc) · 3.65 KB
/
BadgeList.stories.tsx
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
import * as React from "react";
import { action } from "@storybook/addon-actions";
import { text, select, boolean } from "@storybook/addon-knobs";
import * as Icons from "../icons";
import Tooltip from "../Tooltip";
import TextLink from "../TextLink";
import { SIZE_OPTIONS, TYPE_OPTIONS } from "./consts";
import Text from "../Text";
import RenderInRtl from "../utils/rtl/RenderInRtl";
import BadgeList, { BadgeListItem } from ".";
export default {
title: "BadgeList",
};
export const Default = () => {
return (
<BadgeList>
<BadgeListItem icon={<Icons.AlertCircle />}>
You're departing from a different place
</BadgeListItem>
<BadgeListItem icon={<Icons.BaggageCabin />}>
You must collect and recheck your baggage
</BadgeListItem>
</BadgeList>
);
};
export const Types = () => {
const component = type => (
<BadgeListItem icon={<Icons.KiwicomGuarantee />} type={type}>
<TextLink onClick={action("link clicked")} type="secondary">
Transfer protected
</TextLink>{" "}
by the Kiwi.com Guarantee
</BadgeListItem>
);
return (
<BadgeList>
{component(TYPE_OPTIONS.NEUTRAL)}
{component(TYPE_OPTIONS.INFO)}
{component(TYPE_OPTIONS.SUCCESS)}
{component(TYPE_OPTIONS.WARNING)}
{component(TYPE_OPTIONS.CRITICAL)}
</BadgeList>
);
};
export const Sizes = () => (
<BadgeList>
<BadgeListItem icon={<Icons.AlertCircle />} size="small">
Size small
</BadgeListItem>
<BadgeListItem icon={<Icons.BaggageCabin />} size="normal">
Size normal
</BadgeListItem>
</BadgeList>
);
export const Playground = () => {
const dataTest = text("dataTest", "test");
const type = select("type", Object.values(TYPE_OPTIONS), TYPE_OPTIONS.NEUTRAL);
const size = select("size", Object.values(SIZE_OPTIONS), SIZE_OPTIONS.SMALL);
const strikeThrough = boolean("strikeThrough", false);
return (
<BadgeList dataTest={dataTest}>
<BadgeListItem
icon={<Icons.AlertCircle />}
type={type}
strikeThrough={strikeThrough}
size={size}
>
You're departing from a different place
</BadgeListItem>
<BadgeListItem
icon={<Icons.SelfTransfer />}
type={type}
strikeThrough={strikeThrough}
size={size}
>
<Tooltip content="Additional information">
<Text>Self transfer at Vienna</Text>
</Tooltip>{" "}
is your responsibility
</BadgeListItem>
<BadgeListItem
icon={<Icons.KiwicomGuarantee />}
type={type}
strikeThrough={strikeThrough}
size={size}
>
<TextLink onClick={action("link clicked")} type="secondary">
Transfer protected
</TextLink>{" "}
by the Kiwi.com Guarantee
</BadgeListItem>
</BadgeList>
);
};
Playground.story = {
parameters: {
info: "Here you can try BadgeList component with additional functionality.",
},
};
export const RTL = () => {
return (
<RenderInRtl>
<BadgeList>
<BadgeListItem icon={<Icons.AlertCircle />}>
You're departing from a different place
</BadgeListItem>
<BadgeListItem icon={<Icons.SelfTransfer />}>
<Tooltip content="Additional information">
<Text>Self transfer at Vienna</Text>
</Tooltip>{" "}
is your responsibility
</BadgeListItem>
<BadgeListItem icon={<Icons.KiwicomGuarantee />}>
<TextLink onClick={action("link clicked")} type="secondary">
Transfer protected
</TextLink>{" "}
by the Kiwi.com Guarantee
</BadgeListItem>
</BadgeList>
</RenderInRtl>
);
};