groovinads-ui 1.2.20 → 1.2.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.yarn/install-state.gz +0 -0
- package/README.md +82 -0
- package/dist/index.es.js +8 -3
- package/dist/index.js +8 -3
- package/package.json +4 -1
- package/src/components/Dropdowns/DropdownComponent.jsx +10 -7
- package/src/components/Dropdowns/DropdownFilter.jsx +1 -1
- package/src/components/Dropdowns/DropdownsDatePicker/DropdownDatePicker copy.jsx +306 -0
- package/src/components/Dropdowns/DropdownsDatePicker/DropdownDatePicker.jsx +320 -0
- package/src/components/Dropdowns/DropdownsDatePicker/PeriodAndDetailDropdowns.tsx +351 -0
- package/src/components/Dropdowns/DropdownsDatePicker/index.js +3 -0
- package/src/components/Dropdowns/index.js +2 -1
- package/src/components/Navigation/Tabnav.jsx +45 -32
- package/src/hooks/useTextFormatter.jsx +3 -1
- package/src/index.js +30 -1
- package/src/stories/DropdownDatePicker.stories.jsx +67 -0
|
@@ -0,0 +1,351 @@
|
|
|
1
|
+
import React, { useRef } from 'react';
|
|
2
|
+
|
|
3
|
+
const PeriodAndDetailDropdowns = ({
|
|
4
|
+
DDPeriod1,
|
|
5
|
+
setDDPeriod1,
|
|
6
|
+
DDDetailLevel1,
|
|
7
|
+
setDDDetailLevel1,
|
|
8
|
+
DDPeriod2,
|
|
9
|
+
setDDPeriod2,
|
|
10
|
+
DDDetailLevel2,
|
|
11
|
+
setDDDetailLevel2,
|
|
12
|
+
}) => {
|
|
13
|
+
const DDPeriod1Btn = useRef(null);
|
|
14
|
+
const DDPeriod1Dropwdown = useRef(null);
|
|
15
|
+
const DDDetailLevel1Btn = useRef(null);
|
|
16
|
+
const DDDetailLevel1Dropwdown = useRef(null);
|
|
17
|
+
|
|
18
|
+
const DDPeriod2Btn = useRef(null);
|
|
19
|
+
const DDPeriod2Dropwdown = useRef(null);
|
|
20
|
+
const DDDetailLevel2Btn = useRef(null);
|
|
21
|
+
const DDDetailLevel2Dropwdown = useRef(null);
|
|
22
|
+
|
|
23
|
+
const closeDropwdown = (DDRef, btnRef) => {
|
|
24
|
+
if (DDRef?.current?.className) {
|
|
25
|
+
DDRef.current.className = 'dropdown-menu dropdown-submenu shadow-2';
|
|
26
|
+
}
|
|
27
|
+
if (btnRef?.current?.className) {
|
|
28
|
+
btnRef.current.className = 'btn btn-input grey dropdown-toggle';
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
const updateDDPeriod1 = (value, dropdown) => {
|
|
33
|
+
setDDPeriod1(value);
|
|
34
|
+
closeDropwdown(dropdown, DDPeriod1Btn);
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
const updateDDDetailLevel1 = (value, dropdown) => {
|
|
38
|
+
setDDDetailLevel1(value);
|
|
39
|
+
closeDropwdown(dropdown, DDDetailLevel1Btn);
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
const updateDDPeriod2 = (value, dropdown) => {
|
|
43
|
+
setDDPeriod2(value);
|
|
44
|
+
closeDropwdown(dropdown, DDPeriod2Btn);
|
|
45
|
+
};
|
|
46
|
+
|
|
47
|
+
const updateDDDetailLevel2 = (value, dropdown) => {
|
|
48
|
+
setDDDetailLevel2(value);
|
|
49
|
+
closeDropwdown(dropdown, DDDetailLevel2Btn);
|
|
50
|
+
};
|
|
51
|
+
|
|
52
|
+
return (
|
|
53
|
+
<div className='tab-content' id='dateComparisonTabsContent'>
|
|
54
|
+
{/* DROPDOWNS FOR DATE 1 */}
|
|
55
|
+
<div
|
|
56
|
+
className='tab-pane fade show active'
|
|
57
|
+
id='date1ComparisonTabPane'
|
|
58
|
+
role='tabpanel'
|
|
59
|
+
aria-labelledby='date1ComparisonTab'
|
|
60
|
+
tabIndex={0}
|
|
61
|
+
>
|
|
62
|
+
<div className='d-flex gap-3 flex-column flex-md-row'>
|
|
63
|
+
<div className='dropdown dropdown-pills'>
|
|
64
|
+
<label className='dropdown-label' htmlFor='periodDate1'>
|
|
65
|
+
Period
|
|
66
|
+
</label>
|
|
67
|
+
<button
|
|
68
|
+
className='btn btn-input grey dropdown-toggle'
|
|
69
|
+
type='button'
|
|
70
|
+
data-bs-toggle='dropdown'
|
|
71
|
+
aria-expanded='false'
|
|
72
|
+
id='periodDate1'
|
|
73
|
+
ref={DDPeriod1Btn}
|
|
74
|
+
>
|
|
75
|
+
<span>{DDPeriod1}</span>
|
|
76
|
+
<i className='fa-solid fa-angle-down icon caret'></i>
|
|
77
|
+
</button>
|
|
78
|
+
|
|
79
|
+
<ul
|
|
80
|
+
className='dropdown-menu dropdown-submenu shadow-2'
|
|
81
|
+
ref={DDPeriod1Dropwdown}
|
|
82
|
+
>
|
|
83
|
+
<li>
|
|
84
|
+
<button
|
|
85
|
+
className='dropdown-item'
|
|
86
|
+
onClick={() =>
|
|
87
|
+
updateDDPeriod1('Custom range', DDPeriod1Dropwdown)
|
|
88
|
+
}
|
|
89
|
+
>
|
|
90
|
+
Custom range
|
|
91
|
+
</button>
|
|
92
|
+
</li>
|
|
93
|
+
|
|
94
|
+
<li>
|
|
95
|
+
<button
|
|
96
|
+
className='dropdown-item'
|
|
97
|
+
onClick={() => updateDDPeriod1('Today', DDPeriod1Dropwdown)}
|
|
98
|
+
>
|
|
99
|
+
Today
|
|
100
|
+
</button>
|
|
101
|
+
</li>
|
|
102
|
+
|
|
103
|
+
<li>
|
|
104
|
+
<button
|
|
105
|
+
className='dropdown-item'
|
|
106
|
+
onClick={() =>
|
|
107
|
+
updateDDPeriod1('Yesterday', DDPeriod1Dropwdown)
|
|
108
|
+
}
|
|
109
|
+
>
|
|
110
|
+
Yesterday
|
|
111
|
+
</button>
|
|
112
|
+
</li>
|
|
113
|
+
|
|
114
|
+
<li>
|
|
115
|
+
<button
|
|
116
|
+
className='dropdown-item'
|
|
117
|
+
onClick={() =>
|
|
118
|
+
updateDDPeriod1('Yesterday and today', DDPeriod1Dropwdown)
|
|
119
|
+
}
|
|
120
|
+
>
|
|
121
|
+
Yesterday and today
|
|
122
|
+
</button>
|
|
123
|
+
</li>
|
|
124
|
+
|
|
125
|
+
<li>
|
|
126
|
+
<button
|
|
127
|
+
className='dropdown-item'
|
|
128
|
+
onClick={() =>
|
|
129
|
+
updateDDPeriod1('This week', DDPeriod1Dropwdown)
|
|
130
|
+
}
|
|
131
|
+
>
|
|
132
|
+
This week
|
|
133
|
+
</button>
|
|
134
|
+
</li>
|
|
135
|
+
</ul>
|
|
136
|
+
</div>
|
|
137
|
+
|
|
138
|
+
<div className='dropdown dropdown-pills'>
|
|
139
|
+
<label className='dropdown-label' htmlFor='detailLevelDate1'>
|
|
140
|
+
Detail level
|
|
141
|
+
</label>
|
|
142
|
+
<button
|
|
143
|
+
className='btn btn-input grey dropdown-toggle'
|
|
144
|
+
type='button'
|
|
145
|
+
data-bs-toggle='dropdown'
|
|
146
|
+
aria-expanded='false'
|
|
147
|
+
id='detailLevelDate1'
|
|
148
|
+
ref={DDDetailLevel1Btn}
|
|
149
|
+
>
|
|
150
|
+
<span>{DDDetailLevel1}</span>
|
|
151
|
+
<i className='fa-solid fa-angle-down icon caret'></i>
|
|
152
|
+
</button>
|
|
153
|
+
|
|
154
|
+
<ul
|
|
155
|
+
className='dropdown-menu dropdown-submenu shadow-2'
|
|
156
|
+
ref={DDDetailLevel1Dropwdown}
|
|
157
|
+
>
|
|
158
|
+
<li>
|
|
159
|
+
<button
|
|
160
|
+
className='dropdown-item'
|
|
161
|
+
onClick={() =>
|
|
162
|
+
updateDDDetailLevel1('Hourly', DDDetailLevel1Dropwdown)
|
|
163
|
+
}
|
|
164
|
+
>
|
|
165
|
+
Hourly
|
|
166
|
+
</button>
|
|
167
|
+
</li>
|
|
168
|
+
<li>
|
|
169
|
+
<button
|
|
170
|
+
className='dropdown-item'
|
|
171
|
+
onClick={() =>
|
|
172
|
+
updateDDDetailLevel1('Daily', DDDetailLevel1Dropwdown)
|
|
173
|
+
}
|
|
174
|
+
>
|
|
175
|
+
Daily
|
|
176
|
+
</button>
|
|
177
|
+
</li>
|
|
178
|
+
<li>
|
|
179
|
+
<button
|
|
180
|
+
className='dropdown-item'
|
|
181
|
+
onClick={() =>
|
|
182
|
+
updateDDDetailLevel1('Monthly', DDDetailLevel1Dropwdown)
|
|
183
|
+
}
|
|
184
|
+
>
|
|
185
|
+
Monthly
|
|
186
|
+
</button>
|
|
187
|
+
</li>
|
|
188
|
+
<li>
|
|
189
|
+
<button
|
|
190
|
+
className='dropdown-item'
|
|
191
|
+
onClick={() =>
|
|
192
|
+
updateDDDetailLevel1('Total', DDDetailLevel1Dropwdown)
|
|
193
|
+
}
|
|
194
|
+
>
|
|
195
|
+
Total
|
|
196
|
+
</button>
|
|
197
|
+
</li>
|
|
198
|
+
</ul>
|
|
199
|
+
</div>
|
|
200
|
+
</div>
|
|
201
|
+
</div>
|
|
202
|
+
|
|
203
|
+
{/* DROPDOWNS FOR DATE 2 */}
|
|
204
|
+
<div
|
|
205
|
+
className='tab-pane fade show'
|
|
206
|
+
id='date2ComparisonTabPane'
|
|
207
|
+
role='tabpanel'
|
|
208
|
+
aria-labelledby='date2ComparisonTab'
|
|
209
|
+
tabIndex={0}
|
|
210
|
+
>
|
|
211
|
+
<div className='d-flex gap-3 flex-column flex-md-row'>
|
|
212
|
+
<div className='dropdown dropdown-pills'>
|
|
213
|
+
<label className='dropdown-label' htmlFor='periodDate2'>
|
|
214
|
+
Period
|
|
215
|
+
</label>
|
|
216
|
+
<button
|
|
217
|
+
className='btn btn-input grey dropdown-toggle'
|
|
218
|
+
type='button'
|
|
219
|
+
data-bs-toggle='dropdown'
|
|
220
|
+
aria-expanded='false'
|
|
221
|
+
id='periodDate2'
|
|
222
|
+
ref={DDPeriod2Btn}
|
|
223
|
+
>
|
|
224
|
+
<span>{DDPeriod2}</span>
|
|
225
|
+
<i className='fa-solid fa-angle-down icon caret'></i>
|
|
226
|
+
</button>
|
|
227
|
+
|
|
228
|
+
<ul
|
|
229
|
+
className='dropdown-menu dropdown-submenu shadow-2'
|
|
230
|
+
ref={DDPeriod2Dropwdown}
|
|
231
|
+
>
|
|
232
|
+
<li>
|
|
233
|
+
<button
|
|
234
|
+
className='dropdown-item'
|
|
235
|
+
onClick={() =>
|
|
236
|
+
updateDDPeriod2('Custom range', DDPeriod2Dropwdown)
|
|
237
|
+
}
|
|
238
|
+
>
|
|
239
|
+
Custom range
|
|
240
|
+
</button>
|
|
241
|
+
</li>
|
|
242
|
+
<li>
|
|
243
|
+
<button
|
|
244
|
+
className='dropdown-item'
|
|
245
|
+
onClick={() => updateDDPeriod2('Today', DDPeriod2Dropwdown)}
|
|
246
|
+
>
|
|
247
|
+
Today
|
|
248
|
+
</button>
|
|
249
|
+
</li>
|
|
250
|
+
<li>
|
|
251
|
+
<button
|
|
252
|
+
className='dropdown-item'
|
|
253
|
+
onClick={() =>
|
|
254
|
+
updateDDPeriod2('Yesterday', DDPeriod2Dropwdown)
|
|
255
|
+
}
|
|
256
|
+
>
|
|
257
|
+
Yesterday
|
|
258
|
+
</button>
|
|
259
|
+
</li>
|
|
260
|
+
<li>
|
|
261
|
+
<button
|
|
262
|
+
className='dropdown-item'
|
|
263
|
+
onClick={() =>
|
|
264
|
+
updateDDPeriod2('Yesterday and today', DDPeriod2Dropwdown)
|
|
265
|
+
}
|
|
266
|
+
>
|
|
267
|
+
Yesterday and today
|
|
268
|
+
</button>
|
|
269
|
+
</li>
|
|
270
|
+
<li>
|
|
271
|
+
<button
|
|
272
|
+
className='dropdown-item'
|
|
273
|
+
onClick={() =>
|
|
274
|
+
updateDDPeriod2('This week', DDPeriod2Dropwdown)
|
|
275
|
+
}
|
|
276
|
+
>
|
|
277
|
+
This week
|
|
278
|
+
</button>
|
|
279
|
+
</li>
|
|
280
|
+
</ul>
|
|
281
|
+
</div>
|
|
282
|
+
|
|
283
|
+
<div className='dropdown dropdown-pills'>
|
|
284
|
+
<label className='dropdown-label' htmlFor='detailLevelDate2'>
|
|
285
|
+
Detail level
|
|
286
|
+
</label>
|
|
287
|
+
<button
|
|
288
|
+
className='btn btn-input grey dropdown-toggle'
|
|
289
|
+
type='button'
|
|
290
|
+
data-bs-toggle='dropdown'
|
|
291
|
+
aria-expanded='false'
|
|
292
|
+
id='detailLevelDate2'
|
|
293
|
+
ref={DDDetailLevel2Btn}
|
|
294
|
+
>
|
|
295
|
+
<span>{DDDetailLevel2}</span>
|
|
296
|
+
<i className='fa-solid fa-angle-down icon caret'></i>
|
|
297
|
+
</button>
|
|
298
|
+
|
|
299
|
+
<ul
|
|
300
|
+
className='dropdown-menu dropdown-submenu shadow-2'
|
|
301
|
+
ref={DDDetailLevel2Dropwdown}
|
|
302
|
+
>
|
|
303
|
+
<li>
|
|
304
|
+
<button
|
|
305
|
+
className='dropdown-item'
|
|
306
|
+
onClick={() =>
|
|
307
|
+
updateDDDetailLevel2('Hourly', DDDetailLevel2Dropwdown)
|
|
308
|
+
}
|
|
309
|
+
>
|
|
310
|
+
Hourly
|
|
311
|
+
</button>
|
|
312
|
+
</li>
|
|
313
|
+
<li>
|
|
314
|
+
<button
|
|
315
|
+
className='dropdown-item'
|
|
316
|
+
onClick={() =>
|
|
317
|
+
updateDDDetailLevel2('Daily', DDDetailLevel2Dropwdown)
|
|
318
|
+
}
|
|
319
|
+
>
|
|
320
|
+
Daily
|
|
321
|
+
</button>
|
|
322
|
+
</li>
|
|
323
|
+
<li>
|
|
324
|
+
<button
|
|
325
|
+
className='dropdown-item'
|
|
326
|
+
onClick={() =>
|
|
327
|
+
updateDDDetailLevel2('Monthly', DDDetailLevel2Dropwdown)
|
|
328
|
+
}
|
|
329
|
+
>
|
|
330
|
+
Monthly
|
|
331
|
+
</button>
|
|
332
|
+
</li>
|
|
333
|
+
<li>
|
|
334
|
+
<button
|
|
335
|
+
className='dropdown-item'
|
|
336
|
+
onClick={() =>
|
|
337
|
+
updateDDDetailLevel2('Total', DDDetailLevel2Dropwdown)
|
|
338
|
+
}
|
|
339
|
+
>
|
|
340
|
+
Total
|
|
341
|
+
</button>
|
|
342
|
+
</li>
|
|
343
|
+
</ul>
|
|
344
|
+
</div>
|
|
345
|
+
</div>
|
|
346
|
+
</div>
|
|
347
|
+
</div>
|
|
348
|
+
);
|
|
349
|
+
};
|
|
350
|
+
|
|
351
|
+
export default PeriodAndDetailDropdowns;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import DropdownComponent from './DropdownComponent';
|
|
2
2
|
import DropdownFilter from './DropdownFilter';
|
|
3
3
|
import DropdownMultiSelect from './DropdownMultiSelect';
|
|
4
|
+
import { DropdownDatePicker } from './DropdownsDatePicker/index';
|
|
4
5
|
|
|
5
|
-
export { DropdownComponent, DropdownFilter, DropdownMultiSelect }
|
|
6
|
+
export { DropdownComponent, DropdownFilter, DropdownMultiSelect, DropdownDatePicker }
|
|
@@ -8,42 +8,55 @@ import { Icon } from '../Labels';
|
|
|
8
8
|
// HOOKS
|
|
9
9
|
import useTextFormatter from '../../hooks/useTextFormatter';
|
|
10
10
|
|
|
11
|
-
function Tabnav({ tabs = [], activeTab }) {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
if (tab === 'api_keys') {
|
|
23
|
-
return 'API Keys';
|
|
11
|
+
function Tabnav({ tabs = [], activeTab = 1, customFunction = false}) {
|
|
12
|
+
const { toCamelCase } = useTextFormatter();
|
|
13
|
+
|
|
14
|
+
const handleSelect = (k) => {
|
|
15
|
+
if (customFunction){
|
|
16
|
+
console.log('custom function');
|
|
17
|
+
}else{
|
|
18
|
+
const tabIndex = tabs.findIndex((tab) => toCamelCase(tab.tab) === k);
|
|
19
|
+
console.log(tabs[tabIndex].url);
|
|
20
|
+
|
|
21
|
+
window.location.href = tabs[tabIndex].url;
|
|
24
22
|
}
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
23
|
+
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
const formatTabsName = (tab) => {
|
|
27
|
+
if (tab === 'api_keys') {
|
|
28
|
+
return 'API Keys';
|
|
29
|
+
}
|
|
30
|
+
const tabReplace = tab.replace('_', ' ');
|
|
31
|
+
return tabReplace.charAt(0).toUpperCase() + tabReplace.slice(1);
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
return (
|
|
35
|
+
<Nav
|
|
36
|
+
variant='tabs'
|
|
37
|
+
activeKey={toCamelCase(tabs[activeTab - 1].tab)}
|
|
38
|
+
onSelect={handleSelect}
|
|
39
|
+
>
|
|
40
|
+
{tabs.map(({ tab, badgeNumber, warningIcon }, index) => (
|
|
41
|
+
<Nav.Item key={index}>
|
|
42
|
+
<Nav.Link
|
|
43
|
+
eventKey={toCamelCase(tab)}
|
|
44
|
+
>
|
|
45
|
+
{/* Dia 1 => dia1 */}
|
|
46
|
+
{warningIcon && <Icon iconName='triangle-exclamation' />}
|
|
47
|
+
{formatTabsName(tab)}
|
|
48
|
+
{badgeNumber && <span className='tab-badge'>{badgeNumber}</span>}
|
|
49
|
+
</Nav.Link>
|
|
50
|
+
</Nav.Item>
|
|
51
|
+
))}
|
|
52
|
+
</Nav>
|
|
53
|
+
);
|
|
42
54
|
}
|
|
43
55
|
|
|
44
56
|
Tabnav.propTypes = {
|
|
45
|
-
|
|
46
|
-
|
|
57
|
+
tabs: PropTypes.array,
|
|
58
|
+
activeTab: PropTypes.number,
|
|
59
|
+
customFunction: PropTypes.bool
|
|
47
60
|
};
|
|
48
61
|
|
|
49
62
|
export default Tabnav;
|
|
@@ -16,6 +16,8 @@ const useTextFormatter = () => {
|
|
|
16
16
|
return s;
|
|
17
17
|
}, []);
|
|
18
18
|
|
|
19
|
+
const capitalice = (str) => (str ? `${str.charAt(0).toUpperCase()}${str.slice(1)}` : '');
|
|
20
|
+
|
|
19
21
|
const highlightText = (text, query) => {
|
|
20
22
|
if (!query) return text;
|
|
21
23
|
|
|
@@ -40,7 +42,7 @@ const useTextFormatter = () => {
|
|
|
40
42
|
|
|
41
43
|
// Additional methods can be added here
|
|
42
44
|
|
|
43
|
-
return { toCamelCase, highlightText };
|
|
45
|
+
return { toCamelCase, highlightText, capitalice };
|
|
44
46
|
};
|
|
45
47
|
|
|
46
48
|
export default useTextFormatter;
|
package/src/index.js
CHANGED
|
@@ -5,6 +5,7 @@ import Button from "./components/Button/Button";
|
|
|
5
5
|
import DropdownComponent from './components/Dropdowns/DropdownComponent';
|
|
6
6
|
import DropdownFilter from './components/Dropdowns/DropdownFilter';
|
|
7
7
|
import DropdownMultiSelect from './components/Dropdowns/DropdownMultiSelect';
|
|
8
|
+
import DropdownDatePicker from './components/Dropdowns/DropdownsDatePicker/DropdownDatePicker';
|
|
8
9
|
|
|
9
10
|
// Inputs
|
|
10
11
|
import Checkbox from './components/Inputs/Checkbox';
|
|
@@ -30,4 +31,32 @@ import Navbar from './components/Navigation/Navbar';
|
|
|
30
31
|
import Stepper from './components/Navigation/Stepper';
|
|
31
32
|
import Tabnav from './components/Navigation/Tabnav';
|
|
32
33
|
|
|
33
|
-
export {
|
|
34
|
+
export {
|
|
35
|
+
// Buttons
|
|
36
|
+
Button,
|
|
37
|
+
// Dropdowns
|
|
38
|
+
DropdownComponent,
|
|
39
|
+
DropdownFilter,
|
|
40
|
+
DropdownMultiSelect,
|
|
41
|
+
DropdownDatePicker,
|
|
42
|
+
// Inputs
|
|
43
|
+
Checkbox,
|
|
44
|
+
Input,
|
|
45
|
+
Radio,
|
|
46
|
+
Switch,
|
|
47
|
+
Textarea,
|
|
48
|
+
// Labels
|
|
49
|
+
Alert,
|
|
50
|
+
Icon,
|
|
51
|
+
LoginSource,
|
|
52
|
+
PillComponent,
|
|
53
|
+
Spinner,
|
|
54
|
+
StatusIcon,
|
|
55
|
+
// Toasts
|
|
56
|
+
ToastComponent,
|
|
57
|
+
ToastProgress,
|
|
58
|
+
// Navigation
|
|
59
|
+
Navbar,
|
|
60
|
+
Stepper,
|
|
61
|
+
Tabnav
|
|
62
|
+
}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import React, { useState } from 'react';
|
|
2
|
+
import { DropdownDatePicker } from '../components/Dropdowns';
|
|
3
|
+
|
|
4
|
+
export default {
|
|
5
|
+
title: 'Dropdown/DropdownDatePicker',
|
|
6
|
+
component: DropdownDatePicker,
|
|
7
|
+
};
|
|
8
|
+
|
|
9
|
+
const Template = (args) => {
|
|
10
|
+
const [show, setShow] = useState(false);
|
|
11
|
+
|
|
12
|
+
const [fromDate1, setFromDate1] = useState('');
|
|
13
|
+
const [toDate1, setToDate1] = useState('');
|
|
14
|
+
|
|
15
|
+
const [fromDate2, setFromDate2] = useState('');
|
|
16
|
+
const [toDate2, setToDate2] = useState('');
|
|
17
|
+
|
|
18
|
+
const handleToggle = () => setShow((prevShow) => !prevShow);
|
|
19
|
+
|
|
20
|
+
// const [dateFrom, setDateFrom] = useState();
|
|
21
|
+
// const [dateTo, setDateTo] = useState();
|
|
22
|
+
|
|
23
|
+
// const [datePicker1StartDate, setDatePicker1StartDate] = useState();
|
|
24
|
+
// const [datePicker1EndDate, setDatePicker1EndDate] = useState();
|
|
25
|
+
// const [datePicker2StartDate, setDatePicker2StartDate] = useState();
|
|
26
|
+
// const [datePicker2EndDate, setDatePicker2EndDate] = useState();
|
|
27
|
+
// const [tableQueryObj, setTableQueryObj] = useState();
|
|
28
|
+
|
|
29
|
+
return (
|
|
30
|
+
<>
|
|
31
|
+
<button onClick={() => setShow(!show)}>Toggle</button>
|
|
32
|
+
<div>
|
|
33
|
+
<DropdownDatePicker
|
|
34
|
+
{...args}
|
|
35
|
+
show={show}
|
|
36
|
+
setShow={setShow}
|
|
37
|
+
onToggle={handleToggle}
|
|
38
|
+
fromDate1={fromDate1}
|
|
39
|
+
setFromDate1={setFromDate1}
|
|
40
|
+
toDate1={toDate1}
|
|
41
|
+
setToDate1={setToDate1}
|
|
42
|
+
fromDate2={fromDate2}
|
|
43
|
+
setFromDate2={setFromDate2}
|
|
44
|
+
toDate2={toDate2}
|
|
45
|
+
setToDate2={setToDate2}
|
|
46
|
+
// dateFrom={dateFrom}
|
|
47
|
+
// setDateFrom={setDateFrom}
|
|
48
|
+
// dateTo={dateTo}
|
|
49
|
+
// setDateTo={setDateTo}
|
|
50
|
+
// datePicker1StartDate={datePicker1StartDate}
|
|
51
|
+
// setDatePicker1StartDate={setDatePicker1StartDate}
|
|
52
|
+
// datePicker1EndDate={datePicker1EndDate}
|
|
53
|
+
// setDatePicker1EndDate={setDatePicker1EndDate}
|
|
54
|
+
// datePicker2StartDate={datePicker2StartDate}
|
|
55
|
+
// setDatePicker2StartDate={setDatePicker2StartDate}
|
|
56
|
+
// datePicker2EndDate={datePicker2EndDate}
|
|
57
|
+
// setDatePicker2EndDate={setDatePicker2EndDate}
|
|
58
|
+
// tableQueryObj={tableQueryObj}
|
|
59
|
+
// setTableQueryObj={setTableQueryObj}
|
|
60
|
+
// fetchData={() => {}}
|
|
61
|
+
/>
|
|
62
|
+
</div>
|
|
63
|
+
</>
|
|
64
|
+
);
|
|
65
|
+
};
|
|
66
|
+
|
|
67
|
+
export const Default = Template.bind({});
|