intelicoreact 0.0.85 → 0.0.91
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/dist/Atomic/FormElements/Dropdown/Dropdown.js +43 -19
- package/dist/Atomic/FormElements/Dropdown/Dropdown.scss +6 -0
- package/dist/Atomic/FormElements/Dropdown/Dropdown.stories.js +34 -7
- package/dist/Atomic/FormElements/Dropdown/components/DropdownLoader.js +23 -0
- package/dist/Atomic/FormElements/Dropdown/components/Loader.scss +57 -0
- package/dist/Atomic/FormElements/Input/Input.js +30 -10
- package/dist/Atomic/FormElements/InputCalendar/InputCalendar.js +7 -1
- package/dist/Atomic/FormElements/InputCalendar/InputCalendar.stories.js +21 -20
- package/dist/Atomic/FormElements/InputDateRange/InputDateRange.js +8 -2
- package/dist/Atomic/FormElements/InputDateRange/InputDateRange.stories.js +2 -0
- package/dist/Atomic/FormElements/InputDateRange/components/Datepicker.js +35 -20
- package/dist/Atomic/FormElements/InputDateRange/components/OpenedPart.js +8 -2
- package/dist/Atomic/FormElements/InputDateRange/dependencies.js +1 -1
- package/dist/Atomic/FormElements/NumericInput/NumericInput.js +1 -0
- package/dist/Atomic/UI/Calendar/Calendar.js +1 -1
- package/dist/Atomic/UI/Calendar/Calendar.scss +7 -0
- package/package.json +1 -2
- package/src/Atomic/FormElements/Dropdown/Dropdown.js +66 -35
- package/src/Atomic/FormElements/Dropdown/Dropdown.scss +6 -0
- package/src/Atomic/FormElements/Dropdown/Dropdown.stories.js +22 -8
- package/src/Atomic/FormElements/Dropdown/components/DropdownLoader.js +17 -0
- package/src/Atomic/FormElements/Dropdown/components/Loader.scss +57 -0
- package/src/Atomic/FormElements/Input/Input.js +46 -33
- package/src/Atomic/FormElements/InputCalendar/InputCalendar.js +9 -1
- package/src/Atomic/FormElements/InputCalendar/InputCalendar.stories.js +14 -10
- package/src/Atomic/FormElements/InputDateRange/InputDateRange.js +5 -0
- package/src/Atomic/FormElements/InputDateRange/InputDateRange.stories.js +2 -0
- package/src/Atomic/FormElements/InputDateRange/components/Datepicker.js +41 -20
- package/src/Atomic/FormElements/InputDateRange/components/OpenedPart.js +5 -1
- package/src/Atomic/FormElements/InputDateRange/dependencies.js +1 -1
- package/src/Atomic/FormElements/NumericInput/NumericInput.js +1 -0
- package/src/Atomic/UI/Calendar/Calendar.js +1 -1
- package/src/Atomic/UI/Calendar/Calendar.scss +7 -0
|
@@ -41,7 +41,9 @@ const Datepicker = props => {
|
|
|
41
41
|
limitRange,
|
|
42
42
|
handleItemClick,
|
|
43
43
|
setActiveInterval,
|
|
44
|
-
isShortWeekNames
|
|
44
|
+
isShortWeekNames,
|
|
45
|
+
minDate = null,
|
|
46
|
+
maxDate = null
|
|
45
47
|
} = props;
|
|
46
48
|
const { start = null, end = null, compare = false } = values;
|
|
47
49
|
const startDateInputRef = useRef(null);
|
|
@@ -191,7 +193,7 @@ const Datepicker = props => {
|
|
|
191
193
|
const handleChangeStartHour = val => {
|
|
192
194
|
setStartHour(+val);
|
|
193
195
|
setStartDate(
|
|
194
|
-
moment(startDate)
|
|
196
|
+
moment(startDate || moment())
|
|
195
197
|
.set('hour', +val)
|
|
196
198
|
.toDate(),
|
|
197
199
|
);
|
|
@@ -200,14 +202,16 @@ const Datepicker = props => {
|
|
|
200
202
|
const handleChangeEndHour = val => {
|
|
201
203
|
const newHour = +val;
|
|
202
204
|
setEndHour(newHour);
|
|
203
|
-
let newEndDate;
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
205
|
+
let newEndDate = moment();
|
|
206
|
+
|
|
207
|
+
if(endDate){
|
|
208
|
+
if (prevEndHour.current === 0 && newHour !== 0) {
|
|
209
|
+
newEndDate = moment(endDate).subtract(1, 'days');
|
|
210
|
+
} else if (prevEndHour.current !== 0 && newHour === 0) {
|
|
211
|
+
newEndDate = moment(endDate).add(1, 'days');
|
|
212
|
+
}
|
|
210
213
|
}
|
|
214
|
+
|
|
211
215
|
prevEndHour.current = newHour;
|
|
212
216
|
setEndDate(moment(newEndDate).set('hour', newHour).toDate());
|
|
213
217
|
};
|
|
@@ -256,13 +260,22 @@ const Datepicker = props => {
|
|
|
256
260
|
|
|
257
261
|
const handleStartDateBlur = e => {
|
|
258
262
|
let newDate;
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
263
|
+
|
|
264
|
+
if(!moment(startDateInput).isValid()){
|
|
265
|
+
newDate = startDate;
|
|
262
266
|
} else {
|
|
263
|
-
|
|
264
|
-
|
|
267
|
+
if(minDate && !moment(startDateInput).isSameOrAfter(minDate)){
|
|
268
|
+
newDate = minDate;
|
|
269
|
+
} else if(maxDate && !moment(startDateInput).isSameOrBefore(maxDate)){
|
|
270
|
+
newDate = maxDate;
|
|
271
|
+
} else {
|
|
272
|
+
newDate = moment(startDateInput);
|
|
273
|
+
}
|
|
265
274
|
}
|
|
275
|
+
|
|
276
|
+
setStartDateInput(newDate);
|
|
277
|
+
setStartDate(newDate.set('hour', parseInt(startHour, 10)).toDate());
|
|
278
|
+
|
|
266
279
|
doBlur('start', e);
|
|
267
280
|
setDate1(
|
|
268
281
|
moment(newDate).isSameOrAfter(moment(date2), 'month') ? moment(date2).subtract(1, 'month') : moment(newDate),
|
|
@@ -277,16 +290,24 @@ const Datepicker = props => {
|
|
|
277
290
|
|
|
278
291
|
const handleEndDateBlur = e => {
|
|
279
292
|
let newDate;
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
293
|
+
|
|
294
|
+
if(!moment(endDateInput).isValid()){
|
|
295
|
+
newDate = endDate;
|
|
283
296
|
} else {
|
|
284
|
-
|
|
285
|
-
|
|
297
|
+
if(minDate && !moment(endDateInput).isSameOrAfter(minDate)){
|
|
298
|
+
newDate = minDate;
|
|
299
|
+
} else if(maxDate && !moment(endDateInput).isSameOrBefore(maxDate)){
|
|
300
|
+
newDate = maxDate;
|
|
301
|
+
} else {
|
|
302
|
+
newDate = moment(endDateInput);
|
|
303
|
+
}
|
|
286
304
|
}
|
|
305
|
+
|
|
306
|
+
setEndDate(addDay(newDate.set('hour', parseInt(endHour, 10)).toDate()));
|
|
307
|
+
setEndDateInput(newDate);
|
|
308
|
+
|
|
287
309
|
doBlur('end', e);
|
|
288
310
|
setDate2(newDate);
|
|
289
|
-
setEndDateInput();
|
|
290
311
|
};
|
|
291
312
|
|
|
292
313
|
const handleKeyPressed = (code, e, type) => {
|
|
@@ -25,7 +25,9 @@ const OpenedPart = React.forwardRef((props, ref) => {
|
|
|
25
25
|
isCompare,
|
|
26
26
|
setIsCompare,
|
|
27
27
|
toggleOff,
|
|
28
|
-
isShortWeekNames
|
|
28
|
+
isShortWeekNames,
|
|
29
|
+
minDate = null,
|
|
30
|
+
maxDate = null
|
|
29
31
|
} = props;
|
|
30
32
|
|
|
31
33
|
const items = isCompact ? [...Object.keys(intervals)] : [...Object.keys(intervals), customKey];
|
|
@@ -105,6 +107,8 @@ const OpenedPart = React.forwardRef((props, ref) => {
|
|
|
105
107
|
limitRange={limitRange}
|
|
106
108
|
setActiveInterval={setActiveInterval}
|
|
107
109
|
isShortWeekNames={isShortWeekNames}
|
|
110
|
+
minDate={minDate}
|
|
111
|
+
maxDate={maxDate}
|
|
108
112
|
/>
|
|
109
113
|
)}
|
|
110
114
|
</div>
|
|
@@ -70,7 +70,7 @@ export default function (props) {
|
|
|
70
70
|
};
|
|
71
71
|
|
|
72
72
|
return (
|
|
73
|
-
<div className={`calendar ${className}`}>
|
|
73
|
+
<div className={`calendar ${className ? className : ""}`}>
|
|
74
74
|
<div className="calendar-header">
|
|
75
75
|
<div className="calendar-header__prev">
|
|
76
76
|
{allowPrev && (
|
|
@@ -429,6 +429,12 @@
|
|
|
429
429
|
display: flex;
|
|
430
430
|
justify-content: center;
|
|
431
431
|
align-items: center;
|
|
432
|
+
|
|
433
|
+
&__prev,
|
|
434
|
+
&__next{
|
|
435
|
+
display: flex;
|
|
436
|
+
height: auto;
|
|
437
|
+
}
|
|
432
438
|
}
|
|
433
439
|
.calendar {
|
|
434
440
|
background: #ffffff;
|
|
@@ -515,6 +521,7 @@
|
|
|
515
521
|
position: relative;
|
|
516
522
|
.calendar {
|
|
517
523
|
position: absolute;
|
|
524
|
+
z-index: 9;
|
|
518
525
|
top: 100%;
|
|
519
526
|
padding: 10px 16px;
|
|
520
527
|
border: 1px solid var(--border-color);
|