This repository has been archived by the owner on Dec 30, 2022. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 386
/
Menu.stories.js
83 lines (80 loc) · 2.51 KB
/
Menu.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
import React from 'react';
import orderBy from 'lodash.orderby';
import { storiesOf } from '@storybook/react';
import { text, boolean, number } from '@storybook/addon-knobs';
import { Menu, Panel, SearchBox } from 'react-instantsearch-dom';
import { WrapWithHits } from './util';
const stories = storiesOf('Menu', module);
stories
.add('default', () => (
<WrapWithHits hasPlayground={true} linkedStoryGroup="Menu.stories.js">
<Menu attribute="brand" />
</WrapWithHits>
))
.add('with default selected item', () => (
<WrapWithHits hasPlayground={true} linkedStoryGroup="Menu.stories.js">
<Menu attribute="brand" defaultRefinement="Apple" />
</WrapWithHits>
))
.add('with show more', () => (
<WrapWithHits hasPlayground={true} linkedStoryGroup="Menu.stories.js">
<Menu attribute="brand" limit={2} showMoreLimit={5} showMore={true} />
</WrapWithHits>
))
.add('with search inside items', () => (
<WrapWithHits hasPlayground={true} linkedStoryGroup="Menu.stories.js">
<Menu
attribute="brand"
searchable
transformItems={(items) =>
orderBy(
items,
['isRefined', 'count', 'label'],
['desc', 'desc', 'asc']
)
}
/>
</WrapWithHits>
))
.add('with the sort strategy changed', () => (
<WrapWithHits hasPlayground={true} linkedStoryGroup="Menu.stories.js">
<Menu
attribute="brand"
transformItems={(items) =>
orderBy(items, ['label', 'count'], ['asc', 'desc'])
}
/>
</WrapWithHits>
))
.add('with Panel', () => (
<WrapWithHits hasPlayground={true} linkedStoryGroup="Menu.stories.js">
<Panel header="Menu" footer="Footer">
<Menu attribute="brand" />
</Panel>
</WrapWithHits>
))
.add('with Panel but no refinement', () => (
<WrapWithHits
searchBox={false}
hasPlayground={true}
linkedStoryGroup="Menu.stories.js"
>
<Panel header="Menu" footer="Footer">
<Menu attribute="brand" />
</Panel>
<div style={{ display: 'none' }}>
<SearchBox defaultRefinement="dkjsakdjskajdksjakdjaskj" />
</div>
</WrapWithHits>
))
.add('playground', () => (
<WrapWithHits linkedStoryGroup="Menu.stories.js">
<Menu
attribute="brand"
defaultRefinement={text('defaultSelectedItem', 'Apple')}
limit={number('limit', 10)}
showMoreLimit={number('showMoreLimit', 20)}
showMore={boolean('showMore', true)}
/>
</WrapWithHits>
));