intelicoreact 0.1.15 → 0.1.18
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/AdvancedStatus/AdvancedStatus.stories.js +0 -1
- package/dist/Atomic/FormElements/InputDateRange/InputDateRange.scss +56 -40
- package/dist/Atomic/FormElements/InputDateRange/components/OpenedPart.js +27 -11
- package/dist/Atomic/FormElements/NumericInput/NumericInput.js +1 -0
- package/dist/Functions/useFormTools.js +429 -0
- package/dist/Functions/useLocationParams.js +38 -0
- package/dist/Functions/utils.js +19 -2
- package/package.json +2 -2
|
@@ -43,7 +43,6 @@ var Template = function Template(args) {
|
|
|
43
43
|
if (value === null) setTimeout(function () {
|
|
44
44
|
return setValue(args.value);
|
|
45
45
|
}, 1500);
|
|
46
|
-
console.log(value);
|
|
47
46
|
}, [value]);
|
|
48
47
|
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_AdvancedStatus.default, (0, _extends2.default)({}, args, {
|
|
49
48
|
value: value,
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
--input-height: 28px;
|
|
3
3
|
--label-line-height: 16px;
|
|
4
4
|
// --border-color: rgba(0, 0, 0, 0.3);
|
|
5
|
-
--border-color: #
|
|
5
|
+
--border-color: #e2e5ec;
|
|
6
6
|
--calendar-range-point-color: #6b81dd;
|
|
7
|
-
--font-family:
|
|
7
|
+
--font-family: "Roboto";
|
|
8
8
|
--font-size: 13px;
|
|
9
9
|
--line-height: 20px;
|
|
10
10
|
--border-radius: 3px;
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
|
|
23
23
|
input::-webkit-outer-spin-button,
|
|
24
24
|
input::-webkit-inner-spin-button {
|
|
25
|
-
|
|
25
|
+
-webkit-appearance: none;
|
|
26
26
|
}
|
|
27
27
|
|
|
28
28
|
&__label {
|
|
@@ -42,27 +42,21 @@
|
|
|
42
42
|
&__absolut-wraper {
|
|
43
43
|
width: 100%;
|
|
44
44
|
height: fit-content;
|
|
45
|
-
|
|
46
|
-
position: absolute;
|
|
47
|
-
top: 0;
|
|
48
|
-
left: 0;
|
|
45
|
+
position: relative;
|
|
49
46
|
display: flex;
|
|
50
47
|
flex-flow: column nowrap;
|
|
51
48
|
justify-content: flex-start;
|
|
52
49
|
align-items: flex-start;
|
|
53
|
-
|
|
54
50
|
background: transparent;
|
|
55
51
|
z-index: 1;
|
|
56
52
|
|
|
57
|
-
|
|
58
53
|
&_right-position {
|
|
59
54
|
left: auto;
|
|
60
55
|
right: 0;
|
|
61
56
|
}
|
|
62
|
-
|
|
63
57
|
}
|
|
64
58
|
|
|
65
|
-
&__static-part{
|
|
59
|
+
&__static-part {
|
|
66
60
|
box-sizing: border-box;
|
|
67
61
|
width: 100%;
|
|
68
62
|
height: var(--input-height);
|
|
@@ -73,7 +67,7 @@
|
|
|
73
67
|
justify-content: flex-end;
|
|
74
68
|
align-items: flex-start;
|
|
75
69
|
|
|
76
|
-
background: #
|
|
70
|
+
background: #ffffff;
|
|
77
71
|
border: 1px solid var(--border-color);
|
|
78
72
|
}
|
|
79
73
|
|
|
@@ -107,7 +101,7 @@
|
|
|
107
101
|
pointer-events: none;
|
|
108
102
|
}
|
|
109
103
|
|
|
110
|
-
&__range{
|
|
104
|
+
&__range {
|
|
111
105
|
display: inline-block;
|
|
112
106
|
pointer-events: none;
|
|
113
107
|
word-wrap: break-word;
|
|
@@ -130,7 +124,7 @@
|
|
|
130
124
|
}
|
|
131
125
|
}
|
|
132
126
|
|
|
133
|
-
&__arrows-block{
|
|
127
|
+
&__arrows-block {
|
|
134
128
|
box-sizing: border-box;
|
|
135
129
|
width: fit-content;
|
|
136
130
|
height: 100%;
|
|
@@ -164,7 +158,7 @@
|
|
|
164
158
|
|
|
165
159
|
&_error {
|
|
166
160
|
.date-range-input__wraper {
|
|
167
|
-
border-color: #
|
|
161
|
+
border-color: #fa564c;
|
|
168
162
|
}
|
|
169
163
|
}
|
|
170
164
|
|
|
@@ -185,18 +179,21 @@
|
|
|
185
179
|
bottom: -20px;
|
|
186
180
|
font-size: var(--font-size);
|
|
187
181
|
line-height: var(--line-height);
|
|
188
|
-
color: #
|
|
182
|
+
color: #fa564c;
|
|
189
183
|
}
|
|
190
184
|
|
|
191
185
|
&__opened-part {
|
|
192
186
|
width: fit-content;
|
|
193
187
|
height: fit-content;
|
|
194
|
-
padding-top: 6px;
|
|
195
188
|
background-color: transparent;
|
|
196
189
|
}
|
|
197
190
|
}
|
|
198
191
|
|
|
199
192
|
.opened-part {
|
|
193
|
+
position: absolute;
|
|
194
|
+
top: 31px;
|
|
195
|
+
left: 0;
|
|
196
|
+
|
|
200
197
|
&__wrapper {
|
|
201
198
|
display: flex;
|
|
202
199
|
flex-flow: row nowrap;
|
|
@@ -204,7 +201,7 @@
|
|
|
204
201
|
align-items: stretch;
|
|
205
202
|
border: 1px solid var(--border-color);
|
|
206
203
|
border-radius: var(--border-radius);
|
|
207
|
-
background: #
|
|
204
|
+
background: #ffffff;
|
|
208
205
|
box-shadow: 0 4px 25px rgba(0, 0, 0, 0.25);
|
|
209
206
|
&_right-position-once-element {
|
|
210
207
|
justify-content: flex-end;
|
|
@@ -240,7 +237,7 @@
|
|
|
240
237
|
|
|
241
238
|
&:hover {
|
|
242
239
|
// background-color: rgba(128, 128, 128, 0.1);
|
|
243
|
-
background-color: #
|
|
240
|
+
background-color: #f2f2f8;
|
|
244
241
|
}
|
|
245
242
|
&_active {
|
|
246
243
|
background: #f2f2f8;
|
|
@@ -262,6 +259,23 @@
|
|
|
262
259
|
width: fit-content;
|
|
263
260
|
border: none;
|
|
264
261
|
}
|
|
262
|
+
|
|
263
|
+
&--left {
|
|
264
|
+
left: auto;
|
|
265
|
+
right: 0
|
|
266
|
+
}
|
|
267
|
+
|
|
268
|
+
&--top {
|
|
269
|
+
top: auto;
|
|
270
|
+
bottom: 31px;
|
|
271
|
+
}
|
|
272
|
+
|
|
273
|
+
&--top-left {
|
|
274
|
+
left: auto;
|
|
275
|
+
top: auto;
|
|
276
|
+
bottom: 31px;
|
|
277
|
+
right: 0;
|
|
278
|
+
}
|
|
265
279
|
}
|
|
266
280
|
|
|
267
281
|
.date-picker {
|
|
@@ -276,7 +290,7 @@
|
|
|
276
290
|
height: fit-content;
|
|
277
291
|
padding: 7.5px 15px;
|
|
278
292
|
border: none;
|
|
279
|
-
background-color: #
|
|
293
|
+
background-color: #f7fafc;
|
|
280
294
|
|
|
281
295
|
display: flex;
|
|
282
296
|
flex-flow: column nowrap;
|
|
@@ -294,7 +308,7 @@
|
|
|
294
308
|
font-size: var(--font-size);
|
|
295
309
|
line-height: var(--line-height);
|
|
296
310
|
|
|
297
|
-
|
|
311
|
+
& > div:not(.date-picker__inputs-separator) {
|
|
298
312
|
width: 110px;
|
|
299
313
|
min-height: 100%;
|
|
300
314
|
margin-right: 9px;
|
|
@@ -318,7 +332,7 @@
|
|
|
318
332
|
}
|
|
319
333
|
}
|
|
320
334
|
|
|
321
|
-
|
|
335
|
+
& > div.dropdown {
|
|
322
336
|
width: 80px;
|
|
323
337
|
border-radius: var(--border-radius);
|
|
324
338
|
}
|
|
@@ -352,7 +366,7 @@
|
|
|
352
366
|
height: fit-content;
|
|
353
367
|
border-radius: var(--border-radius);
|
|
354
368
|
|
|
355
|
-
|
|
369
|
+
& > .dropdown__trigger {
|
|
356
370
|
width: 100%;
|
|
357
371
|
height: 28px;
|
|
358
372
|
padding-left: 10px;
|
|
@@ -371,7 +385,7 @@
|
|
|
371
385
|
border: none;
|
|
372
386
|
}
|
|
373
387
|
|
|
374
|
-
& .dropdown__list-item{
|
|
388
|
+
& .dropdown__list-item {
|
|
375
389
|
font-family: inherit;
|
|
376
390
|
font-style: inherit;
|
|
377
391
|
font-weight: inherit;
|
|
@@ -393,7 +407,7 @@
|
|
|
393
407
|
padding: 10px 16px;
|
|
394
408
|
border-top: 1px solid var(--border-color);
|
|
395
409
|
border-bottom: 1px solid var(--border-color);
|
|
396
|
-
background-color: #
|
|
410
|
+
background-color: #ffffff;
|
|
397
411
|
|
|
398
412
|
display: flex;
|
|
399
413
|
flex-flow: row nowrap;
|
|
@@ -410,7 +424,7 @@
|
|
|
410
424
|
}
|
|
411
425
|
|
|
412
426
|
.date-picker__calendar {
|
|
413
|
-
&:first-child{
|
|
427
|
+
&:first-child {
|
|
414
428
|
margin-right: 10px;
|
|
415
429
|
}
|
|
416
430
|
}
|
|
@@ -438,7 +452,8 @@
|
|
|
438
452
|
text-align: center;
|
|
439
453
|
}
|
|
440
454
|
|
|
441
|
-
&__next,
|
|
455
|
+
&__next,
|
|
456
|
+
&__prev {
|
|
442
457
|
background-color: transparent;
|
|
443
458
|
cursor: pointer;
|
|
444
459
|
}
|
|
@@ -474,7 +489,7 @@
|
|
|
474
489
|
cursor: pointer;
|
|
475
490
|
|
|
476
491
|
&:hover {
|
|
477
|
-
background: #
|
|
492
|
+
background: #e2e6f8;
|
|
478
493
|
}
|
|
479
494
|
}
|
|
480
495
|
|
|
@@ -513,30 +528,31 @@
|
|
|
513
528
|
// }
|
|
514
529
|
// }
|
|
515
530
|
|
|
516
|
-
&--range-start,
|
|
531
|
+
&--range-start,
|
|
532
|
+
&--range-end {
|
|
517
533
|
background: var(--calendar-range-point-color);
|
|
518
534
|
border: 1px solid var(--calendar-range-point-color);
|
|
519
535
|
box-sizing: border-box;
|
|
520
536
|
border-radius: var(--border-radius);
|
|
521
|
-
color: #
|
|
537
|
+
color: #f8fbff;
|
|
522
538
|
|
|
523
539
|
&:hover {
|
|
524
540
|
background: var(--calendar-range-point-color);
|
|
525
|
-
color: #
|
|
541
|
+
color: #f8fbff;
|
|
526
542
|
}
|
|
527
543
|
}
|
|
528
544
|
|
|
529
545
|
&--range-inside {
|
|
530
|
-
background: #
|
|
546
|
+
background: #eaf2ff;
|
|
531
547
|
}
|
|
532
548
|
|
|
533
549
|
&--prev-range-end {
|
|
534
|
-
background: #
|
|
550
|
+
background: #e2e5ec;
|
|
535
551
|
border-radius: var(--border-radius);
|
|
536
552
|
}
|
|
537
553
|
|
|
538
554
|
&--prev-range-inside {
|
|
539
|
-
background: #
|
|
555
|
+
background: #f7f8fa;
|
|
540
556
|
}
|
|
541
557
|
|
|
542
558
|
&--title {
|
|
@@ -557,14 +573,14 @@
|
|
|
557
573
|
padding: 8px 16px;
|
|
558
574
|
border-radius: 0 0 var(--border-radius) 0;
|
|
559
575
|
border: none;
|
|
560
|
-
background-color: #
|
|
576
|
+
background-color: #f7fafc;
|
|
561
577
|
|
|
562
578
|
display: flex;
|
|
563
579
|
flex-flow: row nowrap;
|
|
564
580
|
justify-content: space-between;
|
|
565
581
|
align-items: center;
|
|
566
582
|
|
|
567
|
-
&_once-element{
|
|
583
|
+
&_once-element {
|
|
568
584
|
justify-content: flex-end;
|
|
569
585
|
}
|
|
570
586
|
}
|
|
@@ -581,8 +597,8 @@
|
|
|
581
597
|
&:first-child {
|
|
582
598
|
width: 80px;
|
|
583
599
|
margin-right: 16px;
|
|
584
|
-
background-color: #
|
|
585
|
-
border: 1px solid #
|
|
600
|
+
background-color: #ffffff;
|
|
601
|
+
border: 1px solid #a6acb1;
|
|
586
602
|
border-radius: var(--border-radius);
|
|
587
603
|
}
|
|
588
604
|
|
|
@@ -611,14 +627,14 @@
|
|
|
611
627
|
}
|
|
612
628
|
|
|
613
629
|
.date-picker__header {
|
|
614
|
-
flex-flow: row wrap
|
|
630
|
+
flex-flow: row wrap;
|
|
615
631
|
}
|
|
616
632
|
.date-picker__calendars-wrapper {
|
|
617
633
|
display: block;
|
|
618
634
|
margin: auto;
|
|
619
635
|
}
|
|
620
636
|
.date-picker__calendars .range-calendar {
|
|
621
|
-
margin: 0!important;
|
|
637
|
+
margin: 0 !important;
|
|
622
638
|
width: 100%;
|
|
623
639
|
}
|
|
624
640
|
}
|
|
@@ -9,12 +9,12 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
9
9
|
});
|
|
10
10
|
exports.default = void 0;
|
|
11
11
|
|
|
12
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
13
|
+
|
|
12
14
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
13
15
|
|
|
14
16
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
15
17
|
|
|
16
|
-
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
17
|
-
|
|
18
18
|
var _react = _interopRequireWildcard(require("react"));
|
|
19
19
|
|
|
20
20
|
var _momentTimezone = _interopRequireDefault(require("moment-timezone"));
|
|
@@ -27,6 +27,8 @@ var _SelectItem = _interopRequireDefault(require("./SelectItem"));
|
|
|
27
27
|
|
|
28
28
|
var _Datepicker = _interopRequireDefault(require("./Datepicker"));
|
|
29
29
|
|
|
30
|
+
var _utils = require("../../../../Functions/utils");
|
|
31
|
+
|
|
30
32
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
31
33
|
|
|
32
34
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
@@ -35,6 +37,8 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
|
|
|
35
37
|
|
|
36
38
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
37
39
|
|
|
40
|
+
var classNames = require('classnames');
|
|
41
|
+
|
|
38
42
|
var OpenedPart = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
39
43
|
var txt = props.txt,
|
|
40
44
|
buttonsTypes = props.buttonsTypes,
|
|
@@ -64,12 +68,23 @@ var OpenedPart = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
64
68
|
momentMaxDate = props.momentMaxDate,
|
|
65
69
|
isDontLimitFuture = props.isDontLimitFuture;
|
|
66
70
|
|
|
67
|
-
var
|
|
71
|
+
var boxRef = (0, _react.useRef)();
|
|
68
72
|
|
|
69
|
-
var _useState = (0, _react.useState)(
|
|
73
|
+
var _useState = (0, _react.useState)(''),
|
|
70
74
|
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
71
|
-
|
|
72
|
-
|
|
75
|
+
elemPosition = _useState2[0],
|
|
76
|
+
setElemPosition = _useState2[1];
|
|
77
|
+
|
|
78
|
+
var openedPartClass = classNames('date-range-input__opened-part', 'opened-part', (0, _defineProperty2.default)({}, "opened-part--".concat(elemPosition), elemPosition));
|
|
79
|
+
var openedPartWrapperClass = classNames('opened-part__wrapper', {
|
|
80
|
+
'opened-part__wrapper_right-position-once-element': isOptionsRight && (isCompact || isIntervalsHidden)
|
|
81
|
+
});
|
|
82
|
+
var items = isCompact ? (0, _toConsumableArray2.default)(Object.keys(_dependencies.INTERVALS)) : [].concat((0, _toConsumableArray2.default)(Object.keys(_dependencies.INTERVALS)), [_dependencies.CUSTOM_INTERVAL_KEY]);
|
|
83
|
+
|
|
84
|
+
var _useState3 = (0, _react.useState)(actualValues.intervalKey),
|
|
85
|
+
_useState4 = (0, _slicedToArray2.default)(_useState3, 2),
|
|
86
|
+
activeInterval = _useState4[0],
|
|
87
|
+
setActiveInterval = _useState4[1];
|
|
73
88
|
|
|
74
89
|
var handleItemClick = function handleItemClick(item) {
|
|
75
90
|
if (item !== _dependencies.CUSTOM_INTERVAL_KEY) {
|
|
@@ -107,13 +122,14 @@ var OpenedPart = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
107
122
|
return _dependencies.CUSTOM_INTERVAL_KEY;
|
|
108
123
|
};
|
|
109
124
|
|
|
125
|
+
(0, _react.useLayoutEffect)(function () {
|
|
126
|
+
setElemPosition((0, _utils.defineBoxPositionByScreen)(boxRef));
|
|
127
|
+
}, []);
|
|
110
128
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
111
|
-
className:
|
|
112
|
-
|
|
129
|
+
className: openedPartClass,
|
|
130
|
+
ref: boxRef
|
|
113
131
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
114
|
-
className:
|
|
115
|
-
'opened-part__wrapper_right-position-once-element': isOptionsRight && (isCompact || isIntervalsHidden)
|
|
116
|
-
})
|
|
132
|
+
className: openedPartWrapperClass
|
|
117
133
|
}, !isIntervalsHidden && /*#__PURE__*/_react.default.createElement("div", {
|
|
118
134
|
className: (0, _classnames.default)('opened-part__intervals-list' // 'form-select-options',
|
|
119
135
|
// { 'form-select-options--short': short },
|
|
@@ -252,6 +252,7 @@ var NumericInput = function NumericInput(_ref) {
|
|
|
252
252
|
} : {});
|
|
253
253
|
|
|
254
254
|
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("input", (0, _extends2.default)({}, uniProps, {
|
|
255
|
+
value: value,
|
|
255
256
|
ref: inputRef,
|
|
256
257
|
type: "text"
|
|
257
258
|
})), /*#__PURE__*/_react.default.createElement("div", {
|
|
@@ -0,0 +1,429 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.default = useFormTools;
|
|
9
|
+
|
|
10
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
11
|
+
|
|
12
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
13
|
+
|
|
14
|
+
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
15
|
+
|
|
16
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
17
|
+
|
|
18
|
+
var _react = require("react");
|
|
19
|
+
|
|
20
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
21
|
+
|
|
22
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
23
|
+
|
|
24
|
+
function useFormTools(_ref) {
|
|
25
|
+
var form = _ref.form,
|
|
26
|
+
setForm = _ref.setForm,
|
|
27
|
+
FormType = _ref.FormType,
|
|
28
|
+
FormFields = _ref.FormFields;
|
|
29
|
+
|
|
30
|
+
///////////////////////////////////////////////////////////////
|
|
31
|
+
//--- OnChange Observer ---//--- START ---//
|
|
32
|
+
var _useState = (0, _react.useState)({}),
|
|
33
|
+
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
34
|
+
onChangeObservers = _useState2[0],
|
|
35
|
+
setOnChangeObservers = _useState2[1];
|
|
36
|
+
|
|
37
|
+
var addOnChangeObserver = function addOnChangeObserver(key, cb) {
|
|
38
|
+
var observerId = null;
|
|
39
|
+
setOnChangeObservers(function (state) {
|
|
40
|
+
//Set Default Value
|
|
41
|
+
if (!state[key]) state[key] = {};
|
|
42
|
+
observerId = state[key].length;
|
|
43
|
+
state[key][observerId] = cb;
|
|
44
|
+
return state;
|
|
45
|
+
});
|
|
46
|
+
return observerId;
|
|
47
|
+
};
|
|
48
|
+
|
|
49
|
+
var removeOnChangeObserver = function removeOnChangeObserver(key, id) {
|
|
50
|
+
setOnChangeObservers(function (state) {
|
|
51
|
+
//Set Default Value
|
|
52
|
+
if (!state[key]) return state;
|
|
53
|
+
state[key] = Object.keys(state).filter(function (cbId) {
|
|
54
|
+
return cbId !== id;
|
|
55
|
+
}).map(function (cbId) {
|
|
56
|
+
return state[key][cbId];
|
|
57
|
+
});
|
|
58
|
+
return state;
|
|
59
|
+
});
|
|
60
|
+
};
|
|
61
|
+
|
|
62
|
+
var onChangeObserver = function onChangeObserver(key, value) {
|
|
63
|
+
if (!onChangeObservers[key] || (0, _typeof2.default)(onChangeObservers[key]) !== 'object') return;
|
|
64
|
+
var Observers = onChangeObservers[key];
|
|
65
|
+
Object.values(Observers).map(function (cb) {
|
|
66
|
+
cb({
|
|
67
|
+
value: value,
|
|
68
|
+
form: form
|
|
69
|
+
});
|
|
70
|
+
return null;
|
|
71
|
+
});
|
|
72
|
+
};
|
|
73
|
+
|
|
74
|
+
var onFieldChange = function onFieldChange(key, value) {
|
|
75
|
+
var _form$fields$key;
|
|
76
|
+
|
|
77
|
+
if (value === (form === null || form === void 0 ? void 0 : (_form$fields$key = form.fields[key]) === null || _form$fields$key === void 0 ? void 0 : _form$fields$key.value)) return false;
|
|
78
|
+
onChangeObserver(key, value);
|
|
79
|
+
setForm(function (form) {
|
|
80
|
+
return _objectSpread(_objectSpread({}, form), {}, {
|
|
81
|
+
fields: _objectSpread(_objectSpread({}, form.fields), {}, (0, _defineProperty2.default)({}, key, _objectSpread(_objectSpread({}, form.fields[key]), {}, {
|
|
82
|
+
error: '',
|
|
83
|
+
value: value
|
|
84
|
+
})))
|
|
85
|
+
});
|
|
86
|
+
});
|
|
87
|
+
}; //--- OnChange Observer ---//--- END ---//
|
|
88
|
+
///////////////////////////////////////////////////////////////
|
|
89
|
+
///////////////////////////////////////////////////////////////
|
|
90
|
+
//--- Form Submit Blocker ---//--- START ---//
|
|
91
|
+
|
|
92
|
+
|
|
93
|
+
var _useState3 = (0, _react.useState)([]),
|
|
94
|
+
_useState4 = (0, _slicedToArray2.default)(_useState3, 2),
|
|
95
|
+
formSubmitBlockers = _useState4[0],
|
|
96
|
+
setFormSubmitBlockers = _useState4[1];
|
|
97
|
+
|
|
98
|
+
var toggleFormSubmitBlock = function toggleFormSubmitBlock(key, value) {
|
|
99
|
+
setFormSubmitBlockers(function (state) {
|
|
100
|
+
return state.includes(key) || !value ? (0, _toConsumableArray2.default)(state.filter(function (k) {
|
|
101
|
+
return k !== key;
|
|
102
|
+
})) : [].concat((0, _toConsumableArray2.default)(state), [key]);
|
|
103
|
+
});
|
|
104
|
+
};
|
|
105
|
+
|
|
106
|
+
var clearFormSubmitBlockers = function clearFormSubmitBlockers() {
|
|
107
|
+
return setFormSubmitBlockers([]);
|
|
108
|
+
}; //--- Form Submit Blocker ---//--- END ---//
|
|
109
|
+
///////////////////////////////////////////////////////////////
|
|
110
|
+
///////////////////////////////////////////////////////////////
|
|
111
|
+
//--- Property Observer Blocker ---//--- START ---//
|
|
112
|
+
// const [propertyObservers, setPropertyObservers] = useState({});
|
|
113
|
+
// function addPropertyObserver () {
|
|
114
|
+
// };
|
|
115
|
+
//--- Property Observer Blocker ---//--- END ---//
|
|
116
|
+
///////////////////////////////////////////////////////////////
|
|
117
|
+
///////////////////////////////////////////////////////////////
|
|
118
|
+
//--- Render Fields Controller ---//--- START ---//
|
|
119
|
+
|
|
120
|
+
|
|
121
|
+
var _useState5 = (0, _react.useState)([]),
|
|
122
|
+
_useState6 = (0, _slicedToArray2.default)(_useState5, 2),
|
|
123
|
+
renderFormFields = _useState6[0],
|
|
124
|
+
setRenderFormFields = _useState6[1];
|
|
125
|
+
|
|
126
|
+
var addRenderFields = function addRenderFields(fields) {
|
|
127
|
+
setForm(function (state) {
|
|
128
|
+
return _objectSpread(_objectSpread({}, state), {}, {
|
|
129
|
+
fields: _objectSpread(_objectSpread({}, state.fields), fields.reduce(function (result, fieldKey) {
|
|
130
|
+
result[fieldKey] = FormFields[fieldKey];
|
|
131
|
+
return result;
|
|
132
|
+
}, {}))
|
|
133
|
+
});
|
|
134
|
+
});
|
|
135
|
+
setRenderFormFields(function (state) {
|
|
136
|
+
return [].concat((0, _toConsumableArray2.default)(state), (0, _toConsumableArray2.default)(fields));
|
|
137
|
+
});
|
|
138
|
+
};
|
|
139
|
+
|
|
140
|
+
var removeRenderFields = function removeRenderFields(fields) {
|
|
141
|
+
setRenderFormFields(function (state) {
|
|
142
|
+
return state.filter(function (field) {
|
|
143
|
+
return !fields.includes(field);
|
|
144
|
+
});
|
|
145
|
+
});
|
|
146
|
+
}; //On Render Fields Change
|
|
147
|
+
|
|
148
|
+
|
|
149
|
+
(0, _react.useEffect)(function () {
|
|
150
|
+
//Add Form Fields
|
|
151
|
+
setForm(function (state) {
|
|
152
|
+
var fields = _objectSpread({}, state.fields);
|
|
153
|
+
|
|
154
|
+
renderFormFields.forEach(function (key) {
|
|
155
|
+
var _FormFields$key2;
|
|
156
|
+
|
|
157
|
+
if (!fields[key]) {
|
|
158
|
+
var _fields$key$className;
|
|
159
|
+
|
|
160
|
+
fields[key] = FormFields[key]; // eslint-disable-next-line no-use-before-define
|
|
161
|
+
|
|
162
|
+
if (!fields[key].className || ((_fields$key$className = fields[key].className) === null || _fields$key$className === void 0 ? void 0 : _fields$key$className.indexOf(getFieldClassName(key, FormType))) === -1) {
|
|
163
|
+
var _FormFields$key;
|
|
164
|
+
|
|
165
|
+
fields[key].className = "".concat((_FormFields$key = FormFields[key]) === null || _FormFields$key === void 0 ? void 0 : _FormFields$key.className, " ").concat(getFieldClassName(key, FormType));
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
if ((0, _typeof2.default)((_FormFields$key2 = FormFields[key]) === null || _FormFields$key2 === void 0 ? void 0 : _FormFields$key2.label) === 'object') {
|
|
170
|
+
fields[key].label = FormFields[key].label[FormType] || FormFields[key].label.default;
|
|
171
|
+
} // (node, key) => { refs.current[key] = node); }
|
|
172
|
+
|
|
173
|
+
|
|
174
|
+
fields[key].ref = /*#__PURE__*/(0, _react.createRef)();
|
|
175
|
+
});
|
|
176
|
+
return _objectSpread(_objectSpread({}, state), {}, {
|
|
177
|
+
fields: fields
|
|
178
|
+
});
|
|
179
|
+
});
|
|
180
|
+
}, [renderFormFields]); //--- Render Fields Controller ---//--- END ---//
|
|
181
|
+
///////////////////////////////////////////////////////////////
|
|
182
|
+
///////////////////////////////////////////////////////////////
|
|
183
|
+
//--- HIGHTLIGHT LABELS IF FIELD WITH ERROR ---//--- START ---//
|
|
184
|
+
|
|
185
|
+
var hightliteErrorLabels = function hightliteErrorLabels() {
|
|
186
|
+
var filtered = Object.keys(form.fields).reduce(function (result, field) {
|
|
187
|
+
var _form$fields$field;
|
|
188
|
+
|
|
189
|
+
if ((_form$fields$field = form.fields[field]) !== null && _form$fields$field !== void 0 && _form$fields$field.errorLabelHightlite) {
|
|
190
|
+
// eslint-disable-next-line no-use-before-define
|
|
191
|
+
result.push(_objectSpread(_objectSpread({}, form.fields[field]), {}, {
|
|
192
|
+
className: getFieldClassName(field, FormType)
|
|
193
|
+
}));
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
return result;
|
|
197
|
+
}, []);
|
|
198
|
+
filtered.map(function (field) {
|
|
199
|
+
var formField = document.querySelector(".".concat(field === null || field === void 0 ? void 0 : field.className));
|
|
200
|
+
if (!formField) return null;
|
|
201
|
+
formField.classList.remove('errorLabelHightlite');
|
|
202
|
+
|
|
203
|
+
if (field !== null && field !== void 0 && field.error) {
|
|
204
|
+
formField.classList.add('errorLabelHightlite');
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
return null;
|
|
208
|
+
});
|
|
209
|
+
};
|
|
210
|
+
|
|
211
|
+
(0, _react.useEffect)(function () {
|
|
212
|
+
hightliteErrorLabels();
|
|
213
|
+
}, [form]); //--- HIGHTLIGHT LABELS IF FIELD WITH ERROR ---//--- END ---//
|
|
214
|
+
///////////////////////////////////////////////////////////////
|
|
215
|
+
///////////////////////////////////////////////////////////////
|
|
216
|
+
//--- Fields Focus Controller ---//--- START ---//
|
|
217
|
+
|
|
218
|
+
var _useState7 = (0, _react.useState)(false),
|
|
219
|
+
_useState8 = (0, _slicedToArray2.default)(_useState7, 2),
|
|
220
|
+
isInitFocused = _useState8[0],
|
|
221
|
+
setIsInitFocused = _useState8[1];
|
|
222
|
+
|
|
223
|
+
var initFocused = function initFocused() {
|
|
224
|
+
return setIsInitFocused(true);
|
|
225
|
+
};
|
|
226
|
+
|
|
227
|
+
var resetIsInitFocused = function resetIsInitFocused() {
|
|
228
|
+
return setIsInitFocused(false);
|
|
229
|
+
};
|
|
230
|
+
|
|
231
|
+
var setFieldFocus = function setFieldFocus(_ref2) {
|
|
232
|
+
var key = _ref2.key,
|
|
233
|
+
_ref2$cb = _ref2.cb,
|
|
234
|
+
cb = _ref2$cb === void 0 ? function () {} : _ref2$cb,
|
|
235
|
+
argForm = _ref2.form;
|
|
236
|
+
if (!key) return null;
|
|
237
|
+
if (!argForm) argForm = form;
|
|
238
|
+
var formField = argForm.fields[key];
|
|
239
|
+
|
|
240
|
+
if (!formField || !formField.ref) {
|
|
241
|
+
return false;
|
|
242
|
+
}
|
|
243
|
+
|
|
244
|
+
setTimeout(function () {
|
|
245
|
+
formField.ref.current.querySelector((formField === null || formField === void 0 ? void 0 : formField.focusSelector) || 'input').focus();
|
|
246
|
+
cb();
|
|
247
|
+
}, 1);
|
|
248
|
+
};
|
|
249
|
+
|
|
250
|
+
var setFirstFieldFocus = function setFirstFieldFocus() {
|
|
251
|
+
var _renderFormFields = (0, _slicedToArray2.default)(renderFormFields, 1),
|
|
252
|
+
firstField = _renderFormFields[0];
|
|
253
|
+
|
|
254
|
+
setFieldFocus({
|
|
255
|
+
key: firstField,
|
|
256
|
+
cb: initFocused,
|
|
257
|
+
form: form
|
|
258
|
+
});
|
|
259
|
+
};
|
|
260
|
+
|
|
261
|
+
var _useState9 = (0, _react.useState)([]),
|
|
262
|
+
_useState10 = (0, _slicedToArray2.default)(_useState9, 2),
|
|
263
|
+
focusOnRenderFields = _useState10[0],
|
|
264
|
+
setFocusOnRenderFields = _useState10[1];
|
|
265
|
+
|
|
266
|
+
var addFocusFieldOnRender = function addFocusFieldOnRender(key) {
|
|
267
|
+
setFocusOnRenderFields(function (state) {
|
|
268
|
+
return [].concat((0, _toConsumableArray2.default)(state), [key]);
|
|
269
|
+
});
|
|
270
|
+
};
|
|
271
|
+
|
|
272
|
+
var removeFocusFieldOnRender = function removeFocusFieldOnRender(key) {
|
|
273
|
+
setFocusOnRenderFields(function (state) {
|
|
274
|
+
return state.filter(function (field) {
|
|
275
|
+
return field !== key;
|
|
276
|
+
});
|
|
277
|
+
});
|
|
278
|
+
};
|
|
279
|
+
|
|
280
|
+
(0, _react.useEffect)(function () {
|
|
281
|
+
Object.keys(form === null || form === void 0 ? void 0 : form.fields).map(function (field) {
|
|
282
|
+
if (focusOnRenderFields.includes(field)) {
|
|
283
|
+
setFieldFocus({
|
|
284
|
+
key: field,
|
|
285
|
+
form: form,
|
|
286
|
+
cb: function cb() {
|
|
287
|
+
return removeFocusFieldOnRender(field);
|
|
288
|
+
}
|
|
289
|
+
});
|
|
290
|
+
}
|
|
291
|
+
|
|
292
|
+
return null;
|
|
293
|
+
});
|
|
294
|
+
}, [form.fields]); //--- Fields Focus Controller ---//--- END ---//
|
|
295
|
+
///////////////////////////////////////////////////////////////
|
|
296
|
+
///////////////////////////////////////////////////////////////
|
|
297
|
+
//--- OnFieldRendered Observer ---//--- START ---//
|
|
298
|
+
|
|
299
|
+
var _useState11 = (0, _react.useState)({}),
|
|
300
|
+
_useState12 = (0, _slicedToArray2.default)(_useState11, 2),
|
|
301
|
+
onFieldRenderedObservers = _useState12[0],
|
|
302
|
+
setOnFieldRenderedObservers = _useState12[1];
|
|
303
|
+
|
|
304
|
+
var _useState13 = (0, _react.useState)([]),
|
|
305
|
+
_useState14 = (0, _slicedToArray2.default)(_useState13, 2),
|
|
306
|
+
workedOutFieldRenderedObservers = _useState14[0],
|
|
307
|
+
setWorkedOutFieldRenderedObservers = _useState14[1];
|
|
308
|
+
|
|
309
|
+
var addWorkedOutField = function addWorkedOutField(key) {
|
|
310
|
+
return setWorkedOutFieldRenderedObservers(function (state) {
|
|
311
|
+
return [].concat((0, _toConsumableArray2.default)(state), [key]);
|
|
312
|
+
});
|
|
313
|
+
};
|
|
314
|
+
|
|
315
|
+
var addOnFieldRenderedObserver = function addOnFieldRenderedObserver(key, cb) {
|
|
316
|
+
var isOnceCallable = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
|
|
317
|
+
var observerId = null;
|
|
318
|
+
setOnFieldRenderedObservers(function (state) {
|
|
319
|
+
//Set Default Value
|
|
320
|
+
if (!state[key]) state[key] = {};
|
|
321
|
+
observerId = Object.keys(state[key]).length || 0;
|
|
322
|
+
state[key][observerId] = {
|
|
323
|
+
f: cb,
|
|
324
|
+
isOnceCallable: isOnceCallable
|
|
325
|
+
};
|
|
326
|
+
return state;
|
|
327
|
+
});
|
|
328
|
+
return observerId;
|
|
329
|
+
};
|
|
330
|
+
|
|
331
|
+
var removeOnFieldRenderedObserver = function removeOnFieldRenderedObserver(key, id) {
|
|
332
|
+
setOnFieldRenderedObservers(function (state) {
|
|
333
|
+
//Set Default Value
|
|
334
|
+
if (!state[key]) return state;
|
|
335
|
+
state[key] = Object.keys(state).filter(function (cbId) {
|
|
336
|
+
return cbId !== id;
|
|
337
|
+
}).map(function (cbId) {
|
|
338
|
+
return state[key][cbId];
|
|
339
|
+
});
|
|
340
|
+
return state;
|
|
341
|
+
});
|
|
342
|
+
};
|
|
343
|
+
|
|
344
|
+
var onFieldRenderedObserver = function onFieldRenderedObserver(key) {
|
|
345
|
+
if (!onFieldRenderedObservers[key] || (0, _typeof2.default)(onFieldRenderedObservers[key]) !== 'object') return;
|
|
346
|
+
var Observers = onFieldRenderedObservers[key];
|
|
347
|
+
Object.values(Observers).map(function (_ref3) {
|
|
348
|
+
var f = _ref3.f,
|
|
349
|
+
isOnceCallable = _ref3.isOnceCallable;
|
|
350
|
+
f();
|
|
351
|
+
if (isOnceCallable) addWorkedOutField(key);
|
|
352
|
+
return null;
|
|
353
|
+
});
|
|
354
|
+
};
|
|
355
|
+
|
|
356
|
+
(0, _react.useEffect)(function () {
|
|
357
|
+
Object.keys(form.fields).map(function (key) {
|
|
358
|
+
//OnFieldRendered
|
|
359
|
+
if (!workedOutFieldRenderedObservers.includes(key)) onFieldRenderedObserver(key);
|
|
360
|
+
return null;
|
|
361
|
+
});
|
|
362
|
+
}, [form.fields]); //--- OnFieldRendered Observer ---//--- END ---//
|
|
363
|
+
///////////////////////////////////////////////////////////////
|
|
364
|
+
///////////////////////////////////////////////////////////////
|
|
365
|
+
|
|
366
|
+
var getFieldClassName = function getFieldClassName(key, type) {
|
|
367
|
+
return "form-".concat(type, "_field-").concat(key);
|
|
368
|
+
}; //Detect What Changed || TRY TO DO
|
|
369
|
+
// const compare = async (prev, current) => {
|
|
370
|
+
// if (!prev) return current;
|
|
371
|
+
// return new Promise((resolve) => {
|
|
372
|
+
// Object.keys(current).reduce((result, key, i, arr) => {
|
|
373
|
+
// //If PROPERTY is NOT EXISTS BEFORE
|
|
374
|
+
// if ([null, undefined].includes(prev[key])) {
|
|
375
|
+
// result[key] = current[key];
|
|
376
|
+
// }
|
|
377
|
+
// //If PROPERTY is AN OBJECT
|
|
378
|
+
// else if (typeof current[key] === 'object') {
|
|
379
|
+
// //If PROPERTY is EXISTS BEFORE
|
|
380
|
+
// const innerCompare = compare(prev[key], current[key]);
|
|
381
|
+
// // //If SOMETHING CHANGED
|
|
382
|
+
// if (innerCompare?.length) result[key] = innerCompare;
|
|
383
|
+
// }
|
|
384
|
+
// //If PROPERTY is AN SIMPLE VALUE and PROPERTY CHANGED
|
|
385
|
+
// else if (prev[key] !== current[key]) {
|
|
386
|
+
// result[key] = current[key];
|
|
387
|
+
// }
|
|
388
|
+
// if (i === arr.length-1) {
|
|
389
|
+
// resolve(result);
|
|
390
|
+
// }
|
|
391
|
+
// return result;
|
|
392
|
+
// }, {});
|
|
393
|
+
// });
|
|
394
|
+
// };
|
|
395
|
+
|
|
396
|
+
|
|
397
|
+
return {
|
|
398
|
+
//OnChangeObserver
|
|
399
|
+
addOnChangeObserver: addOnChangeObserver,
|
|
400
|
+
removeOnChangeObserver: removeOnChangeObserver,
|
|
401
|
+
onChangeObservers: onChangeObservers,
|
|
402
|
+
//OnChangeHandler
|
|
403
|
+
onFieldChange: onFieldChange,
|
|
404
|
+
//Form Submit Blocker
|
|
405
|
+
toggleFormSubmitBlock: toggleFormSubmitBlock,
|
|
406
|
+
clearFormSubmitBlockers: clearFormSubmitBlockers,
|
|
407
|
+
isFormSubmitBlocked: Boolean(formSubmitBlockers.length),
|
|
408
|
+
//Property Observers
|
|
409
|
+
// addPropertyObserver,
|
|
410
|
+
//Render Fields
|
|
411
|
+
renderFormFields: renderFormFields,
|
|
412
|
+
setRenderFormFields: setRenderFormFields,
|
|
413
|
+
addRenderFields: addRenderFields,
|
|
414
|
+
removeRenderFields: removeRenderFields,
|
|
415
|
+
getFieldClassName: getFieldClassName,
|
|
416
|
+
//Field Focus Controller
|
|
417
|
+
isInitFocused: isInitFocused,
|
|
418
|
+
initFocused: initFocused,
|
|
419
|
+
resetIsInitFocused: resetIsInitFocused,
|
|
420
|
+
setFieldFocus: setFieldFocus,
|
|
421
|
+
setFirstFieldFocus: setFirstFieldFocus,
|
|
422
|
+
addFocusFieldOnRender: addFocusFieldOnRender,
|
|
423
|
+
removeFocusFieldOnRender: removeFocusFieldOnRender,
|
|
424
|
+
//Field Render Controller
|
|
425
|
+
addOnFieldRenderedObserver: addOnFieldRenderedObserver,
|
|
426
|
+
removeOnFieldRenderedObserver: removeOnFieldRenderedObserver,
|
|
427
|
+
onFieldRenderedObservers: onFieldRenderedObservers
|
|
428
|
+
};
|
|
429
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.default = useLocationParams;
|
|
9
|
+
|
|
10
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
|
+
|
|
12
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
13
|
+
|
|
14
|
+
var _react = require("react");
|
|
15
|
+
|
|
16
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
17
|
+
|
|
18
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
19
|
+
|
|
20
|
+
function useLocationParams() {
|
|
21
|
+
var _useState = (0, _react.useState)({}),
|
|
22
|
+
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
23
|
+
params = _useState2[0],
|
|
24
|
+
setParams = _useState2[1];
|
|
25
|
+
|
|
26
|
+
(0, _react.useEffect)(function () {
|
|
27
|
+
setParams(function (state) {
|
|
28
|
+
var arr = window.location.search.replace('?', '').split('&');
|
|
29
|
+
return _objectSpread(_objectSpread({}, state), arr.reduce(function (obj, item) {
|
|
30
|
+
var keyVal = item.split('=');
|
|
31
|
+
var key = keyVal[0];
|
|
32
|
+
var value = keyVal[1];
|
|
33
|
+
return _objectSpread(_objectSpread({}, obj), {}, (0, _defineProperty2.default)({}, key, value));
|
|
34
|
+
}, {}));
|
|
35
|
+
});
|
|
36
|
+
}, [window.location.search]);
|
|
37
|
+
return params;
|
|
38
|
+
}
|
package/dist/Functions/utils.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.getStyles = exports.logout = exports.useOutsideToggle = exports.handleObjectChange = void 0;
|
|
6
|
+
exports.defineBoxPositionByScreen = exports.getStyles = exports.logout = exports.useOutsideToggle = exports.handleObjectChange = void 0;
|
|
7
7
|
|
|
8
8
|
var _react = require("react");
|
|
9
9
|
|
|
@@ -63,4 +63,21 @@ var getStyles = function getStyles(el, prop) {
|
|
|
63
63
|
return window.getComputedStyle(el).getPropertyValue(prop);
|
|
64
64
|
};
|
|
65
65
|
|
|
66
|
-
exports.getStyles = getStyles;
|
|
66
|
+
exports.getStyles = getStyles;
|
|
67
|
+
|
|
68
|
+
var defineBoxPositionByScreen = function defineBoxPositionByScreen(ref) {
|
|
69
|
+
var elemRightPosition = ref.current.getBoundingClientRect().right;
|
|
70
|
+
var elemBottomPosition = ref.current.getBoundingClientRect().bottom;
|
|
71
|
+
var screenWidth = document.documentElement.clientWidth;
|
|
72
|
+
var screenHeight = document.documentElement.clientHeight;
|
|
73
|
+
|
|
74
|
+
if (elemRightPosition > screenWidth && elemBottomPosition < screenHeight) {
|
|
75
|
+
return 'left';
|
|
76
|
+
} else if (elemBottomPosition > screenHeight && elemRightPosition < screenWidth) {
|
|
77
|
+
return 'top';
|
|
78
|
+
} else if (elemRightPosition > screenWidth && elemBottomPosition > screenHeight) {
|
|
79
|
+
return 'top-left';
|
|
80
|
+
}
|
|
81
|
+
};
|
|
82
|
+
|
|
83
|
+
exports.defineBoxPositionByScreen = defineBoxPositionByScreen;
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "intelicoreact",
|
|
3
|
-
"version": "0.1.
|
|
4
|
-
"description": "add
|
|
3
|
+
"version": "0.1.18",
|
|
4
|
+
"description": "add useFormTools hook",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"files": ["dist/*", "node_modules/anme/*", "node_modules/moment/*", "node_modules/moment-timezone/*"],
|
|
7
7
|
"scripts": {
|