groovinads-ui 1.2.74 → 1.9.0

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.
Files changed (90) hide show
  1. package/README.md +628 -236
  2. package/dist/index.es.js +2 -15
  3. package/dist/index.js +2 -15
  4. package/index.d.ts +364 -0
  5. package/package.json +87 -79
  6. package/.babelrc +0 -3
  7. package/.eslintignore +0 -2
  8. package/.eslintrc.cjs +0 -32
  9. package/.prettierignore +0 -9
  10. package/.prettierrc +0 -7
  11. package/.storybook/main.js +0 -19
  12. package/.storybook/preview-head.html +0 -6
  13. package/.storybook/preview.js +0 -13
  14. package/.yarn/releases/yarn-4.1.1.cjs +0 -893
  15. package/.yarnrc.yml +0 -3
  16. package/rollup.config.mjs +0 -42
  17. package/src/components/Button/Button.jsx +0 -78
  18. package/src/components/Button/index.js +0 -3
  19. package/src/components/Dropdowns/DropdownComponent.jsx +0 -135
  20. package/src/components/Dropdowns/DropdownFilter.jsx +0 -304
  21. package/src/components/Dropdowns/DropdownMultiSelect.jsx +0 -304
  22. package/src/components/Dropdowns/DropdownSimpleDatePicker.jsx +0 -175
  23. package/src/components/Dropdowns/DropdownsDatePicker/DropdownDatePicker.jsx +0 -313
  24. package/src/components/Dropdowns/DropdownsDatePicker/PeriodAndDetailDropdowns.tsx +0 -351
  25. package/src/components/Dropdowns/DropdownsDatePicker/index.js +0 -3
  26. package/src/components/Dropdowns/index.js +0 -7
  27. package/src/components/Inputs/Checkbox.jsx +0 -55
  28. package/src/components/Inputs/Input.jsx +0 -155
  29. package/src/components/Inputs/InputChip.jsx +0 -168
  30. package/src/components/Inputs/InputEmail.jsx +0 -175
  31. package/src/components/Inputs/Radio.jsx +0 -57
  32. package/src/components/Inputs/Switch.jsx +0 -70
  33. package/src/components/Inputs/Textarea.jsx +0 -68
  34. package/src/components/Inputs/index.js +0 -9
  35. package/src/components/Labels/Alert.jsx +0 -62
  36. package/src/components/Labels/Icon.jsx +0 -76
  37. package/src/components/Labels/LoginSource.jsx +0 -19
  38. package/src/components/Labels/PillComponent.jsx +0 -47
  39. package/src/components/Labels/Spinner.jsx +0 -35
  40. package/src/components/Labels/StatusIcon.jsx +0 -66
  41. package/src/components/Labels/index.js +0 -8
  42. package/src/components/Navigation/Dropdowns/DeckDropdown.jsx +0 -210
  43. package/src/components/Navigation/Dropdowns/DropdownClient.jsx +0 -171
  44. package/src/components/Navigation/Dropdowns/UserDropdown.jsx +0 -69
  45. package/src/components/Navigation/Dropdowns/index.js +0 -5
  46. package/src/components/Navigation/Navbar.jsx +0 -83
  47. package/src/components/Navigation/Sidebar.jsx +0 -201
  48. package/src/components/Navigation/Stepper.jsx +0 -22
  49. package/src/components/Navigation/Tabnav.jsx +0 -73
  50. package/src/components/Navigation/index.js +0 -6
  51. package/src/components/Toasts/Toast/ToastCardComponent.jsx +0 -47
  52. package/src/components/Toasts/ToastComponent.jsx +0 -45
  53. package/src/components/Toasts/ToastProgress.jsx +0 -118
  54. package/src/components/Toasts/index.js +0 -4
  55. package/src/components/index.js +0 -50
  56. package/src/hooks/index.js +0 -4
  57. package/src/hooks/useGetBaseDomain.jsx +0 -9
  58. package/src/hooks/useTextFormatter.jsx +0 -48
  59. package/src/index.js +0 -51
  60. package/src/services/components.services.js +0 -29
  61. package/src/services/helpers.js +0 -32
  62. package/src/services/index.jsx +0 -10
  63. package/src/services/url.path.js +0 -29
  64. package/src/stories/Alert.stories.jsx +0 -11
  65. package/src/stories/Button.stories.jsx +0 -20
  66. package/src/stories/Checkbox.stories.jsx +0 -17
  67. package/src/stories/DropdownComponent.stories.jsx +0 -89
  68. package/src/stories/DropdownDatePicker.stories.jsx +0 -69
  69. package/src/stories/DropdownFilter.stories.jsx +0 -60
  70. package/src/stories/DropdownMultiSelect.stories.jsx +0 -72
  71. package/src/stories/DropdownSimpleDatePicker.stories.jsx +0 -64
  72. package/src/stories/Icon.stories.jsx +0 -11
  73. package/src/stories/Input.stories.jsx +0 -20
  74. package/src/stories/InputChip.stories.jsx +0 -44
  75. package/src/stories/InputEmail.stories.jsx +0 -27
  76. package/src/stories/Layout.stories.jsx +0 -73
  77. package/src/stories/LoginSource.stories.jsx +0 -11
  78. package/src/stories/Navbar.stories.jsx +0 -24
  79. package/src/stories/PillComponent.stories.jsx +0 -22
  80. package/src/stories/Radio.stories.jsx +0 -18
  81. package/src/stories/Sidebar.stories.jsx +0 -169
  82. package/src/stories/Spinner.stories.jsx +0 -11
  83. package/src/stories/StatusIcon.stories.jsx +0 -11
  84. package/src/stories/Stepper.stories.jsx +0 -16
  85. package/src/stories/Switch.stories.jsx +0 -17
  86. package/src/stories/Tabnav.stories.jsx +0 -55
  87. package/src/stories/Textarea.stories.jsx +0 -20
  88. package/src/stories/ToastComponent.stories.jsx +0 -62
  89. package/src/stories/ToastProgress.stories.jsx +0 -11
  90. package/version.js +0 -8
@@ -1,313 +0,0 @@
1
- import React, { useEffect, useState } from 'react';
2
- import DatePicker from 'react-datepicker'; // https://reactdatepicker.com
3
- import PropTypes from 'prop-types';
4
- import Dropdown from 'react-bootstrap/Dropdown';
5
-
6
- // COMPONENTS
7
- import { Icon } from '../../Labels';
8
- import { Button } from '../../Button';
9
-
10
- // HOOKS
11
- import { useTextFormatter } from '../../../hooks';
12
-
13
- const DropdownDatePicker = ({
14
- className = '',
15
- variant = 'input',
16
- show,
17
- setShow,
18
- onToggle,
19
- inputLabel = 'period',
20
- locked = false,
21
- overflow = false,
22
- onRemoveFilter,
23
- dateFrom,
24
- setDateFrom,
25
- dateTo,
26
- setDateTo,
27
- dateFrom2,
28
- setDateFrom2,
29
- dateTo2,
30
- setDateTo2,
31
- minDate,
32
- maxDate,
33
- }) => {
34
- // const [activeTab, setActiveTab] = useState(1);
35
-
36
- const [compareDates, setCompareDates] = useState(true);
37
-
38
- /* We have a 'local' state for datepickers inside the dropdown, so the user can cancel the dropdown and go back to previous values. */
39
- /* When user confirms selected values, the 'local' state replaces the values previously stored in the DateFilters component. */
40
- /* ========== STATE FOR DATEPCIKER 1 ========== */
41
- const [editingDateFrom, setEditingDateFrom] = useState(dateFrom);
42
- const [editingDateTo, setEditingDateTo] = useState(dateTo);
43
-
44
- const [internalShow, setInternalShow] = useState(!!show);
45
-
46
- const { capitalice } = useTextFormatter();
47
-
48
- const isMobile = window?.innerWidth < 500;
49
-
50
- const onChangeDate1 = (dates) => {
51
- const [start, end] = dates;
52
- setEditingDateFrom(start);
53
- setEditingDateTo(end);
54
- };
55
-
56
- const internalToggle = () => {
57
- setInternalShow((prevShow) => !prevShow);
58
- try {
59
- onToggle();
60
- } catch (error) {}
61
- };
62
-
63
- const closeDropdown = () => {
64
- setInternalShow(false);
65
- try {
66
- setShow(false);
67
- } catch (error) {}
68
- };
69
-
70
- const updateDateFilters = () => {
71
- setDateFrom(editingDateFrom?.toString());
72
-
73
- if (editingDateTo === null) {
74
- setDateTo(editingDateFrom?.toString());
75
- } else {
76
- setDateTo(editingDateTo?.toString());
77
- }
78
- if (setDateFrom2) setDateFrom2(dateFrom2?.toString());
79
- if (setDateTo2) setDateTo2(dateTo2?.toString());
80
-
81
- closeDropdown();
82
- };
83
-
84
- useEffect(() => {
85
- setInternalShow(!!show);
86
- }, [show]);
87
-
88
- return (
89
- <Dropdown
90
- show={internalShow}
91
- className={`${variant === 'filter' ? 'dropdown-filter' : ''} ${className}`}
92
- >
93
- <Dropdown.Toggle
94
- variant='toggle-filter'
95
- onClick={internalToggle}
96
- className={`${variant === 'input' ? 'btn btn-input' : ''}`}
97
- >
98
- {variant === 'input' ? (
99
- <>
100
- {(editingDateFrom || editingDateTo) && (
101
- <span className={'wrapper'}>
102
- <strong>
103
- {editingDateFrom
104
- ? editingDateFrom.toString().split('00')[0]
105
- : ''}
106
- </strong>
107
- to
108
- <strong>
109
- {editingDateTo ? editingDateTo.toString().split('00')[0] : ''}
110
- </strong>
111
- </span>
112
- )}
113
- <span className='label'>{capitalice(inputLabel)}</span>
114
- <Icon iconName='calendar-day' />
115
- </>
116
- ) : (
117
- <>
118
- <div className='filter-heading'>
119
- <div className='filter-title'>
120
- <span>{capitalice(inputLabel)}</span>
121
- {locked && (
122
- <Icon style={'solid'} iconName={'lock-keyhole'} scale={0.7} />
123
- )}
124
- </div>
125
- <Icon
126
- style={'solid'}
127
- iconName={'chevron-down'}
128
- scale={1}
129
- className='caret'
130
- />
131
- </div>
132
- <div className='filter-values'>
133
- {editingDateFrom || editingDateTo ? (
134
- <>
135
- <strong>
136
- {editingDateFrom
137
- ? editingDateFrom.toString().split('00')[0]
138
- : ''}
139
- </strong>
140
- to{' '}
141
- <strong>
142
- {editingDateTo
143
- ? editingDateTo.toString().split('00')[0]
144
- : ''}
145
- </strong>
146
- </>
147
- ) : (
148
- <>None</>
149
- )}
150
- </div>
151
- </>
152
- )}
153
- </Dropdown.Toggle>
154
- {variant === 'filter' && !locked && (
155
- <Button
156
- variant='terciary'
157
- icon='xmark-circle'
158
- size='md'
159
- className='remove-filter'
160
- onClick={onRemoveFilter}
161
- />
162
- )}
163
-
164
- <Dropdown.Menu
165
- popperConfig={
166
- overflow
167
- ? {
168
- strategy: 'fixed',
169
- onFirstUpdate: () =>
170
- window.dispatchEvent(new CustomEvent('scroll')),
171
- }
172
- : undefined
173
- }
174
- >
175
- <Dropdown.Item as={'div'}>
176
- {compareDates && (
177
- <>
178
- {/* DATE TABS */}
179
- {/* <ul
180
- className='nav nav-tabs'
181
- id='dateComparisonTabs'
182
- role='tablist'
183
- >
184
- <li
185
- className='nav-item'
186
- role='presentation'
187
- onClick={() => setActiveTab(1)}
188
- >
189
-
190
- <button
191
- className='nav-link active'
192
- id='date1ComparisonTab'
193
- data-bs-toggle='tab'
194
- data-bs-target='#date1ComparisonTabPane'
195
- type='button'
196
- role='tab'
197
- aria-controls='date1ComparisonTabPane'
198
- aria-selected='true'
199
- >
200
- Date 1
201
- </button>
202
- </li>
203
-
204
- <li
205
- className='nav-item'
206
- role='presentation'
207
- onClick={() => setActiveTab(2)}
208
- >
209
- <button
210
- id='date2ComparisonTab'
211
- data-bs-toggle='tab'
212
- data-bs-target='#date2ComparisonTabPane'
213
- type='button'
214
- role='tab'
215
- aria-controls='date2ComparisonTabPane'
216
- aria-selected='false'
217
- >
218
-
219
- </button>
220
- </li>
221
- </ul> */}
222
-
223
- {/* <Tabnav
224
- tabs={[{ tab: 'Date 1' }, { tab: 'Date 2' }]}
225
- activeTab={1}
226
- customFunction={true}
227
- /> */}
228
- {/* TO DO: permitir que TabNav maneje interna y externamente el estado de AtiveTab */}
229
-
230
- {/* PERIOD AND DETAIL LEVEL DROPDOWNS */}
231
- {/* <PeriodAndDetailDropdowns
232
- DDPeriod1={DDPeriod1}
233
- setDDPeriod1={setDDPeriod1}
234
- DDDetailLevel1={DDDetailLevel1}
235
- setDDDetailLevel1={setDDDetailLevel1}
236
- DDPeriod2={DDPeriod2}
237
- setDDPeriod2={setDDPeriod2}
238
- DDDetailLevel2={DDDetailLevel2}
239
- setDDDetailLevel2={setDDDetailLevel2}
240
- /> */}
241
- </>
242
- )}
243
-
244
- <DatePicker
245
- className='form-control form-search'
246
- selected={editingDateFrom}
247
- onChange={onChangeDate1}
248
- startDate={editingDateFrom}
249
- endDate={editingDateTo}
250
- monthsShown={isMobile ? 1 : 2}
251
- selectsRange
252
- inline
253
- minDate={minDate}
254
- maxDate={maxDate}
255
- />
256
-
257
- <div className='datepicker-footer'>
258
- {/* <Switch
259
- status={compareDates}
260
- setStatus={() => {
261
- setCompareDates(!compareDates);
262
- }}
263
- >
264
- Compare dates
265
- </Switch> */}
266
- <div className='datepicker-buttons-wrapper'>
267
- <Button
268
- onClick={() => closeDropdown()}
269
- size='xs'
270
- variant='terciary'
271
- >
272
- Cancel
273
- </Button>
274
-
275
- <Button
276
- size='xs'
277
- // disabled={!DDStartDate1 || !DDEndDate1} // Start and end dates must be selected
278
- onClick={() => updateDateFilters()}
279
- >
280
- Set date
281
- </Button>
282
- </div>
283
- </div>
284
- </Dropdown.Item>
285
- </Dropdown.Menu>
286
- </Dropdown>
287
- );
288
- };
289
-
290
- DropdownDatePicker.propTypes = {
291
- className: PropTypes.string,
292
- variant: PropTypes.oneOf(['input', 'filter']),
293
- show: PropTypes.bool,
294
- setShow: PropTypes.func,
295
- onToggle: PropTypes.func,
296
- dateFrom: PropTypes.string,
297
- setDateFrom: PropTypes.func,
298
- dateTo: PropTypes.string,
299
- setDateTo: PropTypes.func,
300
- locked: PropTypes.bool,
301
- overflow: PropTypes.bool,
302
- onRemoveFilter: PropTypes.func,
303
- editingDateFrom: PropTypes.string,
304
- setEditingDateFrom: PropTypes.string,
305
- editingDateTo1: PropTypes.string,
306
- setEditingDateTo1: PropTypes.string,
307
- EditingDateFrom2: PropTypes.string,
308
- setEditingDateFrom2: PropTypes.string,
309
- EditingDateTo2: PropTypes.string,
310
- setEditingDateTo2: PropTypes.string,
311
- };
312
-
313
- export default DropdownDatePicker;
@@ -1,351 +0,0 @@
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,3 +0,0 @@
1
- import DropdownDatePicker from "./DropdownDatePicker";
2
-
3
- export { DropdownDatePicker };
@@ -1,7 +0,0 @@
1
- import DropdownComponent from './DropdownComponent';
2
- import DropdownFilter from './DropdownFilter';
3
- import DropdownMultiSelect from './DropdownMultiSelect';
4
- import DropdownSimpleDatePicker from './DropdownSimpleDatePicker';
5
- import { DropdownDatePicker } from './DropdownsDatePicker/index';
6
-
7
- export { DropdownComponent, DropdownFilter, DropdownMultiSelect, DropdownDatePicker, DropdownSimpleDatePicker }