-
Notifications
You must be signed in to change notification settings - Fork 17
Expand file tree
/
Copy pathAlert.stories.tsx
More file actions
73 lines (64 loc) · 1.67 KB
/
Alert.stories.tsx
File metadata and controls
73 lines (64 loc) · 1.67 KB
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
// Libraries
import React, {createRef} from 'react'
import marked from 'marked'
// Storybook
import {storiesOf} from '@storybook/react'
import {withKnobs, text, select} from '@storybook/addon-knobs'
import {mapEnumKeys, removeUnusedEnumKeyValue} from '../../../Utils/storybook'
// Components
import {Alert, AlertRef} from '../Alert'
// Types
import {ComponentColor, IconFont} from '../../../Types'
// Notes
import AlertReadme from './Alert.md'
const alertStories = storiesOf('Components/Alert', module).addDecorator(
withKnobs
)
// There is no css stylijng for these unused enums
const unusedAlertColorEnium = ['Colorless', 'Tertiary', 'Secondary', 'Default']
const reducedAlertColorEnum = removeUnusedEnumKeyValue(
ComponentColor,
unusedAlertColorEnium
)
alertStories.add(
'Example',
() => {
const alertRef = createRef<AlertRef>()
const logRef = (): void => {
/* eslint-disable */
console.log(alertRef.current)
/* eslint-enable */
}
return (
<div className="story--example">
<Alert
ref={alertRef}
color={
ComponentColor[
select('color', mapEnumKeys(reducedAlertColorEnum), 'Primary')
]
}
icon={
IconFont[
select(
'icon',
{None: 'none', ...mapEnumKeys(IconFont)},
'AlertTriangle'
)
]
}
>
{text('text', 'Alert Text')}
</Alert>
<div className="story--test-buttons">
<button onClick={logRef}>Log Ref</button>
</div>
</div>
)
},
{
readme: {
content: marked(AlertReadme),
},
}
)