intelicoreact 0.0.7 → 0.0.8
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 +20 -19
- package/dist/Atomic/FormElements/Input/Input.js +85 -46
- package/dist/Atomic/FormElements/Input/Input.stories.js +16 -22
- package/dist/Atomic/FormElements/InputDateRange/InputDateRange.js +18 -43
- package/dist/Atomic/FormElements/InputDateRange/InputDateRange.scss +42 -10
- package/dist/Atomic/FormElements/InputDateRange/InputDateRange.stories.js +3 -156
- package/dist/Atomic/FormElements/InputDateRange/components/Datepicker.js +11 -9
- package/dist/Atomic/FormElements/InputDateRange/components/SelectItem.js +3 -3
- package/dist/Atomic/FormElements/NumericInput/NumericInput.js +254 -0
- package/dist/Atomic/FormElements/NumericInput/NumericInput.scss +135 -0
- package/dist/Atomic/FormElements/NumericInput/NumericInput.stories.js +121 -0
- package/dist/Atomic/UI/Arrow/Arrow.js +6 -6
- package/dist/Constants/index.constants.js +8 -0
- package/dist/Functions/inputExecutor.js +58 -0
- package/package.json +6 -5
- package/src/Atomic/FormElements/Dropdown/Dropdown.js +36 -39
- package/src/Atomic/FormElements/Input/Input.js +86 -36
- package/src/Atomic/FormElements/Input/Input.stories.js +40 -29
- package/src/Atomic/FormElements/InputDateRange/InputDateRange.js +187 -214
- package/src/Atomic/FormElements/InputDateRange/InputDateRange.scss +42 -10
- package/src/Atomic/FormElements/InputDateRange/InputDateRange.stories.js +35 -123
- package/src/Atomic/FormElements/InputDateRange/components/Datepicker.js +10 -7
- package/src/Atomic/FormElements/InputDateRange/components/OpenedPart.js +2 -2
- package/src/Atomic/FormElements/InputDateRange/components/SelectItem.js +1 -1
- package/src/Atomic/FormElements/NumericInput/NumericInput.js +220 -0
- package/src/Atomic/FormElements/NumericInput/NumericInput.scss +135 -0
- package/src/Atomic/FormElements/NumericInput/NumericInput.stories.js +94 -0
- package/src/Atomic/UI/Arrow/Arrow.js +4 -4
- package/src/Constants/index.constants.js +41 -0
- package/src/Functions/inputExecutor.js +62 -0
- package/src/Functions/utils.js +4 -1
|
@@ -17,20 +17,20 @@ const Arrow = ({type, className, onClick, disabled}) => {
|
|
|
17
17
|
}, [ref.current]);
|
|
18
18
|
|
|
19
19
|
return (
|
|
20
|
-
<div
|
|
20
|
+
<div
|
|
21
21
|
ref={ref}
|
|
22
22
|
className={cn('arrow', `arrow_${type}`, className, {
|
|
23
23
|
'arrow_disabled': disabled
|
|
24
24
|
})}
|
|
25
25
|
onClick={onClick} >
|
|
26
|
-
{type !== 'right'
|
|
26
|
+
{type !== 'right'
|
|
27
27
|
? (
|
|
28
28
|
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
29
|
-
<path d="M15 18L9 12L15 6" stroke={color}
|
|
29
|
+
<path d="M15 18L9 12L15 6" stroke={color} strokeWidth="2" strokeLinecap="round" strokeLinejoin="round"/>
|
|
30
30
|
</svg>
|
|
31
31
|
) : (
|
|
32
32
|
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
33
|
-
<path d="M9 18L15 12L9 6" stroke={color}
|
|
33
|
+
<path d="M9 18L15 12L9 6" stroke={color} strokeWidth="2" strokeLinecap="round" strokeLinejoin="round"/>
|
|
34
34
|
</svg>
|
|
35
35
|
)
|
|
36
36
|
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
|
|
2
|
+
export const KEYBOARD_SERVICE_KEYS = [
|
|
3
|
+
'Escape',
|
|
4
|
+
'F1',
|
|
5
|
+
'F2',
|
|
6
|
+
'F3',
|
|
7
|
+
'F4',
|
|
8
|
+
'F5',
|
|
9
|
+
'F6',
|
|
10
|
+
'F7',
|
|
11
|
+
'F8',
|
|
12
|
+
'F9',
|
|
13
|
+
'F10',
|
|
14
|
+
'F11',
|
|
15
|
+
'F12',
|
|
16
|
+
'Tab',
|
|
17
|
+
'CapsLock',
|
|
18
|
+
'Shift',
|
|
19
|
+
'Control',
|
|
20
|
+
'Meta',
|
|
21
|
+
'Option',
|
|
22
|
+
'Alt',
|
|
23
|
+
'ContextMenu',
|
|
24
|
+
'ArrowLeft',
|
|
25
|
+
'ArrowRight',
|
|
26
|
+
'ArrowUp',
|
|
27
|
+
'ArrowDown',
|
|
28
|
+
'NumLock',
|
|
29
|
+
'Backspace',
|
|
30
|
+
'Delete',
|
|
31
|
+
'Enter',
|
|
32
|
+
'Return',
|
|
33
|
+
'Insert',
|
|
34
|
+
'Home',
|
|
35
|
+
'End',
|
|
36
|
+
'PageUp',
|
|
37
|
+
'PageDown',
|
|
38
|
+
'PrintScreen',
|
|
39
|
+
'ScrollLock',
|
|
40
|
+
'Pause'
|
|
41
|
+
];
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
export const formatInput = {
|
|
2
|
+
priceInput: {
|
|
3
|
+
addCommas: (value) => {
|
|
4
|
+
value = value.toString();
|
|
5
|
+
const isFraction = value.includes('.');
|
|
6
|
+
|
|
7
|
+
const valueBeforeDot = isFraction
|
|
8
|
+
? value.slice(0, value.indexOf('.'))
|
|
9
|
+
: value;
|
|
10
|
+
|
|
11
|
+
const intPart = valueBeforeDot
|
|
12
|
+
.split('')
|
|
13
|
+
.reverse()
|
|
14
|
+
.reduce(
|
|
15
|
+
(acc, item, idx) =>
|
|
16
|
+
idx % 3 === 0 && idx !== 0 ? [...acc, ',', item] : [...acc, item],
|
|
17
|
+
[]
|
|
18
|
+
)
|
|
19
|
+
.reverse()
|
|
20
|
+
.join('');
|
|
21
|
+
|
|
22
|
+
return isFraction ? intPart + value.slice(value.indexOf('.')) : intPart;
|
|
23
|
+
},
|
|
24
|
+
removeComma: (value) => {
|
|
25
|
+
return parseFloat(value.toString().replace(/\,/g, ''));
|
|
26
|
+
}
|
|
27
|
+
},
|
|
28
|
+
onlyNumbers: (value, isDot = false) => {
|
|
29
|
+
const val =
|
|
30
|
+
value.slice(0, 1) !== '0' && value.slice(0, 1) !== '.'
|
|
31
|
+
? value
|
|
32
|
+
: value.slice(1);
|
|
33
|
+
if (isDot) return twoDigitAfterDot(val.replace(/[^0-9.]/g, ''));
|
|
34
|
+
else return +val.toString().replace(/\D/g, '');
|
|
35
|
+
},
|
|
36
|
+
onlyString: (value) => {
|
|
37
|
+
return value.toString().replace(/[^a-z]/gi, '');
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
//обрезает числа после точки до 2х
|
|
42
|
+
// 342.23423432 -> 342.23
|
|
43
|
+
const twoDigitAfterDot = (value) => {
|
|
44
|
+
if (value.includes('.')) {
|
|
45
|
+
const valueAfterDot = value.slice(0, value.indexOf('.') + 3);
|
|
46
|
+
let rest = value.slice(value.indexOf('.') + 1, value.indexOf('.') + 3);
|
|
47
|
+
|
|
48
|
+
return allButTheFirstDotCutter(valueAfterDot);
|
|
49
|
+
} else {
|
|
50
|
+
return value;
|
|
51
|
+
}
|
|
52
|
+
};
|
|
53
|
+
|
|
54
|
+
//обрезает все точки кроме первой.
|
|
55
|
+
//для фомата "2 цифры после точки"
|
|
56
|
+
// нельзя = 123...
|
|
57
|
+
// можно 123.99
|
|
58
|
+
function allButTheFirstDotCutter(str) {
|
|
59
|
+
return str.replace(/^([^.]*\.)(.*)$/, function (a, b, c) {
|
|
60
|
+
return b + c.replace(/\./g, '');
|
|
61
|
+
});
|
|
62
|
+
}
|
package/src/Functions/utils.js
CHANGED
|
@@ -5,7 +5,10 @@ export const handleObjectChange =
|
|
|
5
5
|
(data, prop = '', isNumber) => {
|
|
6
6
|
let value;
|
|
7
7
|
if (data?.target) {
|
|
8
|
-
value =
|
|
8
|
+
value =
|
|
9
|
+
data.target.type === 'checkbox'
|
|
10
|
+
? data.target.checked
|
|
11
|
+
: data.target.value;
|
|
9
12
|
} else value = data;
|
|
10
13
|
|
|
11
14
|
value = isNumber ? +value : value;
|