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.
Files changed (32) hide show
  1. package/dist/Atomic/FormElements/AdvancedStatus/AdvancedStatus.js +38 -0
  2. package/dist/Atomic/FormElements/AdvancedStatus/AdvancedStatus.scss +57 -0
  3. package/dist/Atomic/FormElements/AdvancedStatus/AdvancedStatus.stories.js +68 -0
  4. package/dist/Atomic/FormElements/CheckboxInput/CheckboxInput.js +7 -4
  5. package/dist/Atomic/FormElements/CheckboxInput/CheckboxInput.stories.js +1 -1
  6. package/dist/Atomic/FormElements/CheckboxesLine/CheckboxesLine.js +59 -0
  7. package/dist/Atomic/FormElements/CheckboxesLine/CheckboxesLine.scss +29 -0
  8. package/dist/Atomic/FormElements/CheckboxesLine/CheckboxesLine.stories.js +74 -0
  9. package/dist/Atomic/FormElements/Dropdown/Dropdown.js +9 -4
  10. package/dist/Atomic/FormElements/Dropdown/Dropdown.scss +4 -0
  11. package/dist/Atomic/FormElements/Dropdown/Dropdown.stories.js +4 -2
  12. package/dist/Atomic/FormElements/Input/Input.js +57 -57
  13. package/dist/Atomic/FormElements/Input/Input.stories.js +13 -5
  14. package/dist/Atomic/FormElements/Label/Label.js +7 -2
  15. package/dist/Atomic/FormElements/MobileCalendar/MobileCalendar.js +1 -1
  16. package/dist/Atomic/FormElements/NumericInput/NumericInput.js +9 -9
  17. package/dist/Atomic/FormElements/NumericInput/NumericInput.stories.js +2 -2
  18. package/dist/Atomic/FormElements/RangeInputs/RangeInputs.js +77 -21
  19. package/dist/Atomic/FormElements/RangeInputs/RangeInputs.stories.js +23 -4
  20. package/dist/Atomic/FormElements/TagsDropdown/TagsDropdown.js +37 -36
  21. package/dist/Atomic/FormElements/TagsDropdown/TagsDropdown.scss +28 -12
  22. package/dist/Atomic/FormElements/TextSwitcher/TextSwitcher.js +3 -3
  23. package/dist/Atomic/UI/Button/Button.scss +46 -32
  24. package/dist/Atomic/UI/Button/Button.stories.js +2 -1
  25. package/dist/Atomic/UI/Status/Status.scss +2 -1
  26. package/dist/Constants/index.constants.js +8 -2
  27. package/dist/Functions/README.txt +9 -0
  28. package/dist/Functions/fieldValueFormatters.js +119 -0
  29. package/dist/Functions/inputExecutor.js +16 -17
  30. package/dist/Molecular/FormElements/FormElement.js +6 -3
  31. package/dist/Molecular/FormElements/FormElement.stories.js +1 -0
  32. package/package.json +2 -2
@@ -19,57 +19,57 @@
19
19
  pointer-events: none;
20
20
  }
21
21
 
22
- &_dark-outline {
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
- &_primary {
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
- &_secondary {
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
- &_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
- }
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
- &_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
- }
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
- text-align: center;
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: 20px;
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
  }
@@ -57,5 +57,6 @@ ButtonTemplate.args = {
57
57
  return null;
58
58
  },
59
59
  label: 'Button',
60
- icon: /*#__PURE__*/_react.default.createElement(_reactFeather.Check, null)
60
+ icon: /*#__PURE__*/_react.default.createElement(_reactFeather.Check, null),
61
+ isIconRight: false
61
62
  };
@@ -36,7 +36,8 @@
36
36
  color: $color--froly;
37
37
  background-color: #fce2e8;
38
38
  }
39
-
39
+
40
+ &--pending,
40
41
  &--processing {
41
42
  color: #9aa0b9;
42
43
  background-color: #e2e6f8;
@@ -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 _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
8
+ var _fieldValueFormatters = require("../Functions/fieldValueFormatters");
11
9
 
12
10
  var formatInput = {
13
11
  priceInput: {
14
- addCommas: function addCommas(value) {
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: function onlyNumbers(value) {
28
- var isDot = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
29
- var val = value.slice(0, 1) !== '0' && value.slice(0, 1) !== '.' ? value : value.slice(1);
30
- if (isDot) return twoDigitAfterDot(val.replace(/[^0-9.]/g, ''));else return +val.toString().replace(/\D/g, '');
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
- onlyString: function onlyString(value) {
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));
@@ -59,6 +59,7 @@ var InputTemplate = Template.bind({});
59
59
  exports.InputTemplate = InputTemplate;
60
60
  InputTemplate.args = {
61
61
  label: 'Text label',
62
+ isLabelBolt: true,
62
63
  error: 'error',
63
64
  required: true,
64
65
  hint: {
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "intelicoreact",
3
- "version": "0.1.1",
4
- "description": "added softStringMode with string and dot for input, fix logic of start/end-date props (part 5)",
3
+ "version": "0.1.4",
4
+ "description": "add postfix in dropdown",
5
5
  "main": "dist/index.js",
6
6
  "files": ["dist/*"],
7
7
  "scripts": {