intelicoreact 0.1.1 → 0.1.4
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.js +38 -0
- package/dist/Atomic/FormElements/AdvancedStatus/AdvancedStatus.scss +57 -0
- package/dist/Atomic/FormElements/AdvancedStatus/AdvancedStatus.stories.js +68 -0
- package/dist/Atomic/FormElements/CheckboxInput/CheckboxInput.js +7 -4
- package/dist/Atomic/FormElements/CheckboxInput/CheckboxInput.stories.js +1 -1
- package/dist/Atomic/FormElements/CheckboxesLine/CheckboxesLine.js +59 -0
- package/dist/Atomic/FormElements/CheckboxesLine/CheckboxesLine.scss +29 -0
- package/dist/Atomic/FormElements/CheckboxesLine/CheckboxesLine.stories.js +74 -0
- package/dist/Atomic/FormElements/Dropdown/Dropdown.js +9 -4
- package/dist/Atomic/FormElements/Dropdown/Dropdown.scss +4 -0
- package/dist/Atomic/FormElements/Dropdown/Dropdown.stories.js +4 -2
- package/dist/Atomic/FormElements/Input/Input.js +57 -57
- package/dist/Atomic/FormElements/Input/Input.stories.js +13 -5
- package/dist/Atomic/FormElements/Label/Label.js +7 -2
- package/dist/Atomic/FormElements/MobileCalendar/MobileCalendar.js +1 -1
- package/dist/Atomic/FormElements/NumericInput/NumericInput.js +9 -9
- package/dist/Atomic/FormElements/NumericInput/NumericInput.stories.js +2 -2
- package/dist/Atomic/FormElements/RangeInputs/RangeInputs.js +77 -21
- package/dist/Atomic/FormElements/RangeInputs/RangeInputs.stories.js +23 -4
- package/dist/Atomic/FormElements/TagsDropdown/TagsDropdown.js +37 -36
- package/dist/Atomic/FormElements/TagsDropdown/TagsDropdown.scss +28 -12
- package/dist/Atomic/FormElements/TextSwitcher/TextSwitcher.js +3 -3
- package/dist/Atomic/UI/Button/Button.scss +46 -32
- package/dist/Atomic/UI/Button/Button.stories.js +2 -1
- package/dist/Atomic/UI/Status/Status.scss +2 -1
- package/dist/Constants/index.constants.js +8 -2
- package/dist/Functions/README.txt +9 -0
- package/dist/Functions/fieldValueFormatters.js +119 -0
- package/dist/Functions/inputExecutor.js +16 -17
- package/dist/Molecular/FormElements/FormElement.js +6 -3
- package/dist/Molecular/FormElements/FormElement.stories.js +1 -0
- package/package.json +2 -2
|
@@ -19,57 +19,57 @@
|
|
|
19
19
|
pointer-events: none;
|
|
20
20
|
}
|
|
21
21
|
|
|
22
|
-
|
|
22
|
+
&_dark-outline {
|
|
23
23
|
border: 1px solid #bac2c9;
|
|
24
24
|
color: #1E1E2DFF;
|
|
25
25
|
|
|
26
26
|
&:hover {
|
|
27
27
|
background-color: #F2F2F8FF;
|
|
28
28
|
}
|
|
29
|
-
|
|
29
|
+
}
|
|
30
30
|
|
|
31
|
-
|
|
31
|
+
&_primary {
|
|
32
32
|
border: 1px solid #6B81DDFF;
|
|
33
33
|
background-color: #6B81DDFF;
|
|
34
34
|
color: #fff;
|
|
35
35
|
&:hover {
|
|
36
36
|
filter: brightness(1.1);
|
|
37
37
|
}
|
|
38
|
-
|
|
38
|
+
}
|
|
39
39
|
|
|
40
|
-
|
|
40
|
+
&_secondary {
|
|
41
41
|
border: 1px solid #BAC2C9FF;
|
|
42
42
|
background-color: #BAC2C9FF;
|
|
43
43
|
color: #fff;
|
|
44
44
|
&:hover {
|
|
45
45
|
filter: brightness(1.1);
|
|
46
46
|
}
|
|
47
|
-
|
|
47
|
+
}
|
|
48
48
|
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
49
|
+
&_ellipse-apply{
|
|
50
|
+
padding: 8px 16px;
|
|
51
|
+
border-radius: 40px;
|
|
52
|
+
background: #1F7499;
|
|
53
|
+
font-family: 'Sarabun';
|
|
54
|
+
font-style: normal;
|
|
55
|
+
font-weight: 500;
|
|
56
|
+
font-size: 16px;
|
|
57
|
+
line-height: 24px;
|
|
58
|
+
letter-spacing: 0.1px;
|
|
59
|
+
color: #FFFFFF;
|
|
60
|
+
}
|
|
61
61
|
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
62
|
+
&_ellipse-cancel{
|
|
63
|
+
padding: 8px 18px;
|
|
64
|
+
border-radius: 32px;
|
|
65
|
+
font-family: Sarabun;
|
|
66
|
+
font-style: normal;
|
|
67
|
+
font-weight: normal;
|
|
68
|
+
font-size: 14px;
|
|
69
|
+
line-height: 20px;
|
|
70
|
+
letter-spacing: 0.2px;
|
|
71
|
+
color: #1F7499;
|
|
72
|
+
}
|
|
73
73
|
|
|
74
74
|
&_link {
|
|
75
75
|
color: #6b81dd;
|
|
@@ -92,7 +92,10 @@
|
|
|
92
92
|
|
|
93
93
|
&__text {
|
|
94
94
|
width: 100%;
|
|
95
|
-
|
|
95
|
+
margin-left: 5px;
|
|
96
|
+
display: flex;
|
|
97
|
+
justify-content: center;
|
|
98
|
+
align-items: center;
|
|
96
99
|
}
|
|
97
100
|
|
|
98
101
|
&:active {
|
|
@@ -100,9 +103,20 @@
|
|
|
100
103
|
}
|
|
101
104
|
|
|
102
105
|
&__icon {
|
|
103
|
-
width:
|
|
106
|
+
width: auto;
|
|
104
107
|
height: 25px;
|
|
105
|
-
margin-right: 5px;
|
|
106
108
|
min-width: 15px;
|
|
107
109
|
}
|
|
110
|
+
|
|
111
|
+
&_icon-right {
|
|
112
|
+
.button__text {
|
|
113
|
+
order: 1;
|
|
114
|
+
margin-left: 0;
|
|
115
|
+
margin-right: 5px;
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
svg {
|
|
119
|
+
order: 2
|
|
120
|
+
}
|
|
121
|
+
}
|
|
108
122
|
}
|
|
@@ -3,6 +3,12 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.KEYBOARD_SERVICE_KEYS = void 0;
|
|
6
|
+
exports.DEFAULT_DATE_MASK_NO_VALUE_SYMBOL = exports.MAX_NAME_LENGTH = exports.MAX_PHONE_LENGTH = exports.KEYBOARD_SERVICE_KEYS = void 0;
|
|
7
7
|
var KEYBOARD_SERVICE_KEYS = ['Escape', 'F1', 'F2', 'F3', 'F4', 'F5', 'F6', 'F7', 'F8', 'F9', 'F10', 'F11', 'F12', 'Tab', 'CapsLock', 'Shift', 'Control', 'Meta', 'Option', 'Alt', 'ContextMenu', 'ArrowLeft', 'ArrowRight', 'ArrowUp', 'ArrowDown', 'NumLock', 'Backspace', 'Delete', 'Enter', 'Return', 'Insert', 'Home', 'End', 'PageUp', 'PageDown', 'PrintScreen', 'ScrollLock', 'Pause'];
|
|
8
|
-
exports.KEYBOARD_SERVICE_KEYS = KEYBOARD_SERVICE_KEYS;
|
|
8
|
+
exports.KEYBOARD_SERVICE_KEYS = KEYBOARD_SERVICE_KEYS;
|
|
9
|
+
var MAX_PHONE_LENGTH = 10;
|
|
10
|
+
exports.MAX_PHONE_LENGTH = MAX_PHONE_LENGTH;
|
|
11
|
+
var MAX_NAME_LENGTH = 128;
|
|
12
|
+
exports.MAX_NAME_LENGTH = MAX_NAME_LENGTH;
|
|
13
|
+
var DEFAULT_DATE_MASK_NO_VALUE_SYMBOL = '_';
|
|
14
|
+
exports.DEFAULT_DATE_MASK_NO_VALUE_SYMBOL = DEFAULT_DATE_MASK_NO_VALUE_SYMBOL;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
Файл fieldValueFormatters.
|
|
2
|
+
|
|
3
|
+
В файле собраны функции-модификаторы. Целевое назначение ф-й:
|
|
4
|
+
|
|
5
|
+
- мутация значений полей формы "на лету", корректировка работы onChange-ров (названия ф-й начинается с filter, логика работает с последовательным вводом данных);
|
|
6
|
+
- конечное преобразование результата (названия ф-й начинаются с format, не имеют требований к входящим данным, так же могут использоваться в качестве ф-й из первого пункта)
|
|
7
|
+
|
|
8
|
+
Просьба при расширении файла учитывать целевую направленность, ответственность ф-й задуманную в этом файле.
|
|
9
|
+
Просьба соблюдать правило именования ф-й (начинать наименование с filter или format)
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.filterNumeric = exports.filterPhone = exports.filterToLimitLength = exports.filterFloat = exports.formatToCutOffDotAtTheEnd = exports.formatToRemoveComa = exports.formatToOnlyASCIICodeText = exports.formatToLetters = exports.formatToTwoDigitAfterDot = exports.formatToAddBitDepthPoints = exports.formatOnlyNumbers = void 0;
|
|
9
|
+
|
|
10
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
11
|
+
|
|
12
|
+
var _index = require("../Constants/index.constants");
|
|
13
|
+
|
|
14
|
+
// The first word "format" in the function name means a logic in which the function transforms the incoming value in any case.
|
|
15
|
+
// The first word "filter" in the function name means a logic in which the function works as a changer for sequential input
|
|
16
|
+
// format
|
|
17
|
+
var formatOnlyNumbers = function formatOnlyNumbers(value) {
|
|
18
|
+
return ('' + value).replace(/\D/g, '');
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
exports.formatOnlyNumbers = formatOnlyNumbers;
|
|
22
|
+
|
|
23
|
+
var formatToAddBitDepthPoints = function formatToAddBitDepthPoints(value) {
|
|
24
|
+
var step = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 3;
|
|
25
|
+
//содержит ли value точку
|
|
26
|
+
var isFraction = value.includes('.'); //взять строку до точки
|
|
27
|
+
|
|
28
|
+
var valueBeforeDot = isFraction ? value.slice(0, value.indexOf('.')) : value; //расстановка запятых после каждой 3й цифры с конца
|
|
29
|
+
|
|
30
|
+
var intPart = valueBeforeDot.split('').reverse().reduce(function (acc, item, idx) {
|
|
31
|
+
return idx % step === 0 && idx !== 0 ? [].concat((0, _toConsumableArray2.default)(acc), [',', item]) : [].concat((0, _toConsumableArray2.default)(acc), [item]);
|
|
32
|
+
}, []).reverse().join('');
|
|
33
|
+
return isFraction ? intPart + value.slice(value.indexOf('.')) : intPart;
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
exports.formatToAddBitDepthPoints = formatToAddBitDepthPoints;
|
|
37
|
+
|
|
38
|
+
var formatToTwoDigitAfterDot = function formatToTwoDigitAfterDot(value) {
|
|
39
|
+
var arr = value.split('.');
|
|
40
|
+
var intPart = arr.shift();
|
|
41
|
+
var decimalPart = arr.join('').replace(/\s/g, '').slice(0, 2);
|
|
42
|
+
return intPart + (decimalPart.length ? '.' + decimalPart : '');
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
exports.formatToTwoDigitAfterDot = formatToTwoDigitAfterDot;
|
|
46
|
+
|
|
47
|
+
var formatToLetters = function formatToLetters(value) {
|
|
48
|
+
var soft = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
49
|
+
|
|
50
|
+
if (soft) {
|
|
51
|
+
return value.toString().replace(/[^a-z-]/gi, '');
|
|
52
|
+
} else {
|
|
53
|
+
return value.toString().replace(/[^a-z]/gi, '');
|
|
54
|
+
}
|
|
55
|
+
}; // eslint-disable-next-line no-control-regex
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
exports.formatToLetters = formatToLetters;
|
|
59
|
+
|
|
60
|
+
var formatToOnlyASCIICodeText = function formatToOnlyASCIICodeText(text) {
|
|
61
|
+
return text === null || text === void 0 ? void 0 : text.replace(/[^\x00-\x7F]+/g, '');
|
|
62
|
+
};
|
|
63
|
+
|
|
64
|
+
exports.formatToOnlyASCIICodeText = formatToOnlyASCIICodeText;
|
|
65
|
+
|
|
66
|
+
var formatToRemoveComa = function formatToRemoveComa(value) {
|
|
67
|
+
return value.toString().replace(/\,/g, '');
|
|
68
|
+
};
|
|
69
|
+
|
|
70
|
+
exports.formatToRemoveComa = formatToRemoveComa;
|
|
71
|
+
|
|
72
|
+
var formatToCutOffDotAtTheEnd = function formatToCutOffDotAtTheEnd(value) {
|
|
73
|
+
return value.toString().slice(-1) === '.' ? value.slice(0, -1) : value;
|
|
74
|
+
}; // filter
|
|
75
|
+
|
|
76
|
+
|
|
77
|
+
exports.formatToCutOffDotAtTheEnd = formatToCutOffDotAtTheEnd;
|
|
78
|
+
|
|
79
|
+
var filterFloat = function filterFloat(value) {
|
|
80
|
+
var decimalPlaces = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
|
|
81
|
+
|
|
82
|
+
var replaser = function replaser(input) {
|
|
83
|
+
return ('' + input).replace(/[^\.\d]/g, '');
|
|
84
|
+
};
|
|
85
|
+
|
|
86
|
+
if (value.length === 1 && (value[0] === '.' || value[0] === ',')) return '0.';
|
|
87
|
+
var output = ('' + value).replace(/,/g, '.');
|
|
88
|
+
if (value.length > 1 && value[0] === '0' && value[1] !== '.' && value[0] !== ',') output = value.slice(1);
|
|
89
|
+
var previousValue = '' + output.slice(0, -1);
|
|
90
|
+
var lastSym = '' + output.slice(-1);
|
|
91
|
+
if (decimalPlaces && typeof decimalPlaces === 'number' && previousValue.includes('.') && previousValue.indexOf('.') + 1 + decimalPlaces === previousValue.length) return replaser(previousValue);
|
|
92
|
+
return replaser(lastSym === '.' && previousValue.includes('.') ? previousValue : output);
|
|
93
|
+
};
|
|
94
|
+
|
|
95
|
+
exports.filterFloat = filterFloat;
|
|
96
|
+
|
|
97
|
+
var filterToLimitLength = function filterToLimitLength(value, limit) {
|
|
98
|
+
return limit && typeof limit === 'number' && !Number.isNaN(limit) && (value === null || value === void 0 ? void 0 : value.length) > limit ? value.substr(0, limit) : value;
|
|
99
|
+
};
|
|
100
|
+
|
|
101
|
+
exports.filterToLimitLength = filterToLimitLength;
|
|
102
|
+
|
|
103
|
+
var filterPhone = function filterPhone(value) {
|
|
104
|
+
return limitLength(filterNumbers(value), _index.MAX_PHONE_LENGTH);
|
|
105
|
+
};
|
|
106
|
+
|
|
107
|
+
exports.filterPhone = filterPhone;
|
|
108
|
+
|
|
109
|
+
var filterNumeric = function filterNumeric(value, settings) {
|
|
110
|
+
var _ref = settings || {},
|
|
111
|
+
_ref$type = _ref.type,
|
|
112
|
+
type = _ref$type === void 0 ? 'float' : _ref$type,
|
|
113
|
+
decimalPlaces = _ref.decimalPlaces;
|
|
114
|
+
|
|
115
|
+
var executor = type === 'float' ? filterFloat : formatOnlyNumbers;
|
|
116
|
+
return executor(value, decimalPlaces);
|
|
117
|
+
};
|
|
118
|
+
|
|
119
|
+
exports.filterNumeric = filterNumeric;
|
|
@@ -1,35 +1,34 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
3
|
Object.defineProperty(exports, "__esModule", {
|
|
6
4
|
value: true
|
|
7
5
|
});
|
|
8
6
|
exports.formatInput = void 0;
|
|
9
7
|
|
|
10
|
-
var
|
|
8
|
+
var _fieldValueFormatters = require("../Functions/fieldValueFormatters");
|
|
11
9
|
|
|
12
10
|
var formatInput = {
|
|
13
11
|
priceInput: {
|
|
14
|
-
addCommas:
|
|
15
|
-
value = value.toString();
|
|
16
|
-
var isFraction = value.includes('.');
|
|
17
|
-
var valueBeforeDot = isFraction ? value.slice(0, value.indexOf('.')) : value;
|
|
18
|
-
var intPart = valueBeforeDot.split('').reverse().reduce(function (acc, item, idx) {
|
|
19
|
-
return idx % 3 === 0 && idx !== 0 ? [].concat((0, _toConsumableArray2.default)(acc), [',', item]) : [].concat((0, _toConsumableArray2.default)(acc), [item]);
|
|
20
|
-
}, []).reverse().join('');
|
|
21
|
-
return isFraction ? intPart + value.slice(value.indexOf('.')) : intPart;
|
|
22
|
-
},
|
|
12
|
+
addCommas: _fieldValueFormatters.formatToAddBitDepthPoints,
|
|
23
13
|
removeComma: function removeComma(value) {
|
|
24
14
|
return parseInt(value.toString().replace(/\,/g, ''));
|
|
25
15
|
}
|
|
26
16
|
},
|
|
27
|
-
onlyNumbers:
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
17
|
+
// onlyNumbers: (value, isDot = false) => {
|
|
18
|
+
// const val = value.slice(0, 1) !== '0' && value.slice(0, 1) !== '.' ? value : value.slice(1);
|
|
19
|
+
// if (isDot) return twoDigitAfterDot(val.replace(/[^0-9.]/g, ''));
|
|
20
|
+
// else return +val.toString().replace(/\D/g, '');
|
|
21
|
+
// },
|
|
22
|
+
formatToOnlyNumbers: function formatToOnlyNumbers(value, settings) {
|
|
23
|
+
var _ref = settings || {},
|
|
24
|
+
_ref$type = _ref.type,
|
|
25
|
+
type = _ref$type === void 0 ? 'float' : _ref$type,
|
|
26
|
+
decimalPlaces = _ref.decimalPlaces;
|
|
27
|
+
|
|
28
|
+
var executor = type === 'float' ? _fieldValueFormatters.filterFloat : _fieldValueFormatters.formatOnlyNumbers;
|
|
29
|
+
return executor(value, decimalPlaces);
|
|
31
30
|
},
|
|
32
|
-
|
|
31
|
+
formatToOnlyString: function formatToOnlyString(value) {
|
|
33
32
|
var soft = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
34
33
|
|
|
35
34
|
if (soft) {
|
|
@@ -23,14 +23,17 @@ var FormElement = function FormElement(_ref) {
|
|
|
23
23
|
children = _ref.children,
|
|
24
24
|
error = _ref.error,
|
|
25
25
|
className = _ref.className,
|
|
26
|
-
hint = _ref.hint
|
|
26
|
+
hint = _ref.hint,
|
|
27
|
+
isLabelBolt = _ref.isLabelBolt,
|
|
28
|
+
isNoLabel = _ref.isNoLabel;
|
|
27
29
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
28
30
|
className: (0, _classnames.default)(className, RC)
|
|
29
|
-
}, label && /*#__PURE__*/_react.default.createElement(_Label.default, {
|
|
31
|
+
}, label && !isNoLabel && /*#__PURE__*/_react.default.createElement(_Label.default, {
|
|
30
32
|
className: "".concat(RC, "__label"),
|
|
31
33
|
label: label,
|
|
32
34
|
hint: hint,
|
|
33
|
-
isRequired: required
|
|
35
|
+
isRequired: required,
|
|
36
|
+
isLabelBolt: isLabelBolt
|
|
34
37
|
}), children, error && /*#__PURE__*/_react.default.createElement("span", {
|
|
35
38
|
className: "".concat(RC, "__error")
|
|
36
39
|
}, error));
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "intelicoreact",
|
|
3
|
-
"version": "0.1.
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "0.1.4",
|
|
4
|
+
"description": "add postfix in dropdown",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"files": ["dist/*"],
|
|
7
7
|
"scripts": {
|