@i-novus/n2o-components 1.0.0
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/index.js +0 -0
- package/lib/display/Alerts/Alert.d.ts +2 -0
- package/lib/display/Alerts/Alert.js +121 -0
- package/lib/display/Alerts/AlertSection.d.ts +18 -0
- package/lib/display/Alerts/AlertSection.js +64 -0
- package/lib/display/Alerts/AlertWrapper.d.ts +6 -0
- package/lib/display/Alerts/AlertWrapper.js +39 -0
- package/lib/display/Alerts/DefaultAlert.d.ts +6 -0
- package/lib/display/Alerts/DefaultAlert.js +125 -0
- package/lib/display/Alerts/LoaderAlert.d.ts +5 -0
- package/lib/display/Alerts/LoaderAlert.js +36 -0
- package/lib/display/Alerts/types.d.ts +49 -0
- package/lib/display/Alerts/types.js +24 -0
- package/lib/display/Alerts/utils.d.ts +15 -0
- package/lib/display/Alerts/utils.js +102 -0
- package/lib/display/Badge/Badge.d.ts +16 -0
- package/lib/display/Badge/Badge.js +77 -0
- package/lib/display/Badge/enums.d.ts +9 -0
- package/lib/display/Badge/enums.js +23 -0
- package/lib/display/Badge/utils.d.ts +9 -0
- package/lib/display/Badge/utils.js +49 -0
- package/lib/display/Block.d.ts +369 -0
- package/lib/display/Block.js +38 -0
- package/lib/display/CodeViewer/CodeViewer.d.ts +13 -0
- package/lib/display/CodeViewer/CodeViewer.js +96 -0
- package/lib/display/Drawer/Drawer.d.ts +25 -0
- package/lib/display/Drawer/Drawer.js +99 -0
- package/lib/display/DropdownCustomItem.d.ts +7 -0
- package/lib/display/DropdownCustomItem.js +23 -0
- package/lib/display/Filter/Buttons.d.ts +11 -0
- package/lib/display/Filter/Buttons.js +42 -0
- package/lib/display/Filter/Filter.d.ts +8 -0
- package/lib/display/Filter/Filter.js +38 -0
- package/lib/display/HelpPopover.d.ts +16 -0
- package/lib/display/HelpPopover.js +104 -0
- package/lib/display/Html.d.ts +8 -0
- package/lib/display/Html.js +29 -0
- package/lib/display/Icon/Icon.d.ts +11 -0
- package/lib/display/Icon/Icon.js +42 -0
- package/lib/display/Image/Image.d.ts +30 -0
- package/lib/display/Image/Image.js +93 -0
- package/lib/display/Image/ImageInfo.d.ts +7 -0
- package/lib/display/Image/ImageInfo.js +23 -0
- package/lib/display/InputIcon.d.ts +13 -0
- package/lib/display/InputIcon.js +33 -0
- package/lib/display/NavItemImage/NavItemImage.d.ts +9 -0
- package/lib/display/NavItemImage/NavItemImage.js +35 -0
- package/lib/display/OutputList.d.ts +12 -0
- package/lib/display/OutputList.js +46 -0
- package/lib/display/OutputListItem.d.ts +10 -0
- package/lib/display/OutputListItem.js +58 -0
- package/lib/display/OutputText.d.ts +15 -0
- package/lib/display/OutputText.js +170 -0
- package/lib/display/Pagination/Pagination.d.ts +2 -0
- package/lib/display/Pagination/Pagination.js +273 -0
- package/lib/display/Pagination/PaginationButton.d.ts +13 -0
- package/lib/display/Pagination/PaginationButton.js +53 -0
- package/lib/display/Pagination/types.d.ts +62 -0
- package/lib/display/Pagination/types.js +36 -0
- package/lib/display/PopoverConfirm/PopoverConfirm.d.ts +30 -0
- package/lib/display/PopoverConfirm/PopoverConfirm.js +87 -0
- package/lib/display/ProgressControl/ProgressControl.d.ts +17 -0
- package/lib/display/ProgressControl/ProgressControl.js +68 -0
- package/lib/display/Slider.d.ts +23 -0
- package/lib/display/Slider.js +107 -0
- package/lib/display/Status.d.ts +9 -0
- package/lib/display/Status.js +40 -0
- package/lib/display/StatusText/StatusText.d.ts +10 -0
- package/lib/display/StatusText/StatusText.js +35 -0
- package/lib/display/StatusText/types.d.ts +18 -0
- package/lib/display/StatusText/types.js +19 -0
- package/lib/display/StatusText/utils.d.ts +3 -0
- package/lib/display/StatusText/utils.js +29 -0
- package/lib/display/Text.d.ts +12 -0
- package/lib/display/Text.js +38 -0
- package/lib/display/Typography/Base.d.ts +32 -0
- package/lib/display/Typography/Base.js +259 -0
- package/lib/display/Typography/ContentEditable.d.ts +15 -0
- package/lib/display/Typography/ContentEditable.js +86 -0
- package/lib/display/Typography/Paragraph.d.ts +4 -0
- package/lib/display/Typography/Paragraph.js +23 -0
- package/lib/display/Typography/Text.d.ts +9 -0
- package/lib/display/Typography/Text.js +37 -0
- package/lib/display/Typography/Title.d.ts +7 -0
- package/lib/display/Typography/Title.js +28 -0
- package/lib/display/Typography/utils.d.ts +13 -0
- package/lib/display/Typography/utils.js +75 -0
- package/lib/helpers/HelpPopover.d.ts +9 -0
- package/lib/helpers/HelpPopover.js +46 -0
- package/lib/helpers/withRightPlaceholder.d.ts +9 -0
- package/lib/helpers/withRightPlaceholder.js +35 -0
- package/lib/inputs/Checkbox/Checkbox.d.ts +29 -0
- package/lib/inputs/Checkbox/Checkbox.js +117 -0
- package/lib/inputs/Checkbox/CheckboxControl.d.ts +7 -0
- package/lib/inputs/Checkbox/CheckboxControl.js +33 -0
- package/lib/inputs/CheckboxGroup/CheckboxGroup.d.ts +11 -0
- package/lib/inputs/CheckboxGroup/CheckboxGroup.js +84 -0
- package/lib/inputs/CodeEditor/CodeEditor.d.ts +21 -0
- package/lib/inputs/CodeEditor/CodeEditor.js +85 -0
- package/lib/inputs/DatePicker/Calendar.d.ts +65 -0
- package/lib/inputs/DatePicker/Calendar.js +556 -0
- package/lib/inputs/DatePicker/CalendarHeader.d.ts +26 -0
- package/lib/inputs/DatePicker/CalendarHeader.js +213 -0
- package/lib/inputs/DatePicker/Clock.d.ts +10 -0
- package/lib/inputs/DatePicker/Clock.js +45 -0
- package/lib/inputs/DatePicker/DateInput.d.ts +44 -0
- package/lib/inputs/DatePicker/DateInput.js +262 -0
- package/lib/inputs/DatePicker/DateInputGroup.d.ts +20 -0
- package/lib/inputs/DatePicker/DateInputGroup.js +77 -0
- package/lib/inputs/DatePicker/DateInterval.d.ts +24 -0
- package/lib/inputs/DatePicker/DateInterval.js +92 -0
- package/lib/inputs/DatePicker/DatePicker.d.ts +22 -0
- package/lib/inputs/DatePicker/DatePicker.js +36 -0
- package/lib/inputs/DatePicker/DateTimeControl.d.ts +98 -0
- package/lib/inputs/DatePicker/DateTimeControl.js +452 -0
- package/lib/inputs/DatePicker/Day.d.ts +14 -0
- package/lib/inputs/DatePicker/Day.js +50 -0
- package/lib/inputs/DatePicker/PopUp.d.ts +19 -0
- package/lib/inputs/DatePicker/PopUp.js +71 -0
- package/lib/inputs/DatePicker/types.d.ts +31 -0
- package/lib/inputs/DatePicker/types.js +25 -0
- package/lib/inputs/DatePicker/utils.d.ts +39 -0
- package/lib/inputs/DatePicker/utils.js +304 -0
- package/lib/inputs/Input.d.ts +51 -0
- package/lib/inputs/Input.js +200 -0
- package/lib/inputs/InputMask/InputMask.d.ts +23 -0
- package/lib/inputs/InputMask/InputMask.js +310 -0
- package/lib/inputs/InputMoney/InputMoney.d.ts +101 -0
- package/lib/inputs/InputMoney/InputMoney.js +258 -0
- package/lib/inputs/InputNumber/InputNumber.d.ts +29 -0
- package/lib/inputs/InputNumber/InputNumber.js +316 -0
- package/lib/inputs/InputNumber/index.d.ts +1 -0
- package/lib/inputs/InputNumber/index.js +14 -0
- package/lib/inputs/InputNumber/types.d.ts +18 -0
- package/lib/inputs/InputNumber/types.js +14 -0
- package/lib/inputs/InputNumber/utils.d.ts +6 -0
- package/lib/inputs/InputNumber/utils.js +86 -0
- package/lib/inputs/InputPassword/InputPassword.d.ts +10 -0
- package/lib/inputs/InputPassword/InputPassword.js +81 -0
- package/lib/inputs/InputSelect/InputAddon.d.ts +17 -0
- package/lib/inputs/InputSelect/InputAddon.js +31 -0
- package/lib/inputs/InputSelect/InputContent.d.ts +63 -0
- package/lib/inputs/InputSelect/InputContent.js +188 -0
- package/lib/inputs/InputSelect/InputSelect.d.ts +296 -0
- package/lib/inputs/InputSelect/InputSelect.js +795 -0
- package/lib/inputs/InputSelect/InputSelectGroup.d.ts +43 -0
- package/lib/inputs/InputSelect/InputSelectGroup.js +113 -0
- package/lib/inputs/InputSelect/PopupItems.d.ts +55 -0
- package/lib/inputs/InputSelect/PopupItems.js +357 -0
- package/lib/inputs/InputSelect/PopupList.d.ts +82 -0
- package/lib/inputs/InputSelect/PopupList.js +138 -0
- package/lib/inputs/InputSelect/SelectedItems.d.ts +17 -0
- package/lib/inputs/InputSelect/SelectedItems.js +125 -0
- package/lib/inputs/InputSelect/constants.d.ts +4 -0
- package/lib/inputs/InputSelect/constants.js +15 -0
- package/lib/inputs/InputSelect/types.d.ts +16 -0
- package/lib/inputs/InputSelect/types.js +16 -0
- package/lib/inputs/InputSelect/utils.d.ts +9 -0
- package/lib/inputs/InputSelect/utils.js +142 -0
- package/lib/inputs/InputSelectTree/InputSelectTree.d.ts +114 -0
- package/lib/inputs/InputSelectTree/InputSelectTree.js +466 -0
- package/lib/inputs/InputSelectTree/TreeSelectNode.d.ts +36 -0
- package/lib/inputs/InputSelectTree/TreeSelectNode.js +63 -0
- package/lib/inputs/InputSelectTree/allProps.d.ts +123 -0
- package/lib/inputs/InputSelectTree/allProps.js +48 -0
- package/lib/inputs/InputSelectTree/until.d.ts +4 -0
- package/lib/inputs/InputSelectTree/until.js +83 -0
- package/lib/inputs/InputText.d.ts +41 -0
- package/lib/inputs/InputText.js +170 -0
- package/lib/inputs/NumberPicker/NumberPicker.d.ts +15 -0
- package/lib/inputs/NumberPicker/NumberPicker.js +129 -0
- package/lib/inputs/NumberPicker/NumberPickerButton.d.ts +8 -0
- package/lib/inputs/NumberPicker/NumberPickerButton.js +64 -0
- package/lib/inputs/NumberPicker/index.d.ts +1 -0
- package/lib/inputs/NumberPicker/index.js +14 -0
- package/lib/inputs/NumberPicker/utils.d.ts +2 -0
- package/lib/inputs/NumberPicker/utils.js +31 -0
- package/lib/inputs/RadioGroup/default/Group.d.ts +15 -0
- package/lib/inputs/RadioGroup/default/Group.js +63 -0
- package/lib/inputs/RadioGroup/default/Input.d.ts +17 -0
- package/lib/inputs/RadioGroup/default/Input.js +77 -0
- package/lib/inputs/RadioGroup/tabs/Group.d.ts +3 -0
- package/lib/inputs/RadioGroup/tabs/Group.js +24 -0
- package/lib/inputs/RadioGroup/tabs/Input.d.ts +3 -0
- package/lib/inputs/RadioGroup/tabs/Input.js +21 -0
- package/lib/inputs/Rating/Rating.d.ts +30 -0
- package/lib/inputs/Rating/Rating.js +212 -0
- package/lib/inputs/Select/Popup.d.ts +31 -0
- package/lib/inputs/Select/Popup.js +131 -0
- package/lib/inputs/Select/Select.d.ts +225 -0
- package/lib/inputs/Select/Select.js +705 -0
- package/lib/inputs/Select/SelectInput.d.ts +19 -0
- package/lib/inputs/Select/SelectInput.js +85 -0
- package/lib/inputs/Select/utils.d.ts +1 -0
- package/lib/inputs/Select/utils.js +28 -0
- package/lib/inputs/Switch/Switch.d.ts +11 -0
- package/lib/inputs/Switch/Switch.js +41 -0
- package/lib/inputs/TextArea.d.ts +12 -0
- package/lib/inputs/TextArea.js +54 -0
- package/lib/inputs/TextEditor/TextEditor.d.ts +11 -0
- package/lib/inputs/TextEditor/TextEditor.js +89 -0
- package/lib/inputs/TimePicker/TimePicker.d.ts +50 -0
- package/lib/inputs/TimePicker/TimePicker.js +398 -0
- package/lib/inputs/utils.d.ts +5 -0
- package/lib/inputs/utils.js +39 -0
- package/lib/layouts/ScrollContainer.d.ts +218 -0
- package/lib/layouts/ScrollContainer.js +128 -0
- package/lib/layouts/Spinner/CoverSpinner.d.ts +29 -0
- package/lib/layouts/Spinner/CoverSpinner.js +153 -0
- package/lib/layouts/Spinner/InlineSpinner.d.ts +5 -0
- package/lib/layouts/Spinner/InlineSpinner.js +27 -0
- package/lib/layouts/Spinner/Spinner.d.ts +31 -0
- package/lib/layouts/Spinner/Spinner.js +178 -0
- package/lib/styles/components/Calendar.scss +125 -0
- package/lib/styles/components/CalendarHeader.scss +75 -0
- package/lib/styles/components/DateInputGroup.scss +39 -0
- package/lib/styles/components/DatePicker.scss +18 -0
- package/lib/styles/components/Day.scss +29 -0
- package/lib/styles/components/OutputList.scss +14 -0
- package/lib/styles/components/OutputText.scss +50 -0
- package/lib/styles/controls/CodeEditor.scss +4 -0
- package/lib/styles/controls/InputNumber.scss +36 -0
- package/lib/styles/controls/InputPassword.scss +17 -0
- package/lib/styles/controls/InputText.scss +59 -0
- package/lib/styles/controls/NumberPicker.scss +36 -0
- package/lib/styles/controls/ProgressControl.scss +3 -0
- package/lib/styles/controls/Slider.scss +32 -0
- package/lib/styles/controls/Switch.scss +105 -0
- package/lib/styles/controls/TextEditor.scss +23 -0
- package/lib/styles/controls/TimePicker.scss +32 -0
- package/lib/styles/n2o/variables.scss +328 -0
- package/lib/styles/theme/variables.scss +81 -0
- package/lib/styles/variables.scss +10 -0
- package/lib/types.d.ts +25 -0
- package/lib/types.js +6 -0
- package/lib/utils/id.d.ts +3 -0
- package/lib/utils/id.js +46 -0
- package/lib/utils/isEmptyModel.d.ts +1 -0
- package/lib/utils/isEmptyModel.js +21 -0
- package/lib/utils/parseFormatter.js +153 -0
- package/package.json +196 -0
|
@@ -0,0 +1,316 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.InputNumber = exports.InputNumberComponent = void 0;
|
|
9
|
+
|
|
10
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
11
|
+
|
|
12
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
13
|
+
|
|
14
|
+
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
|
|
15
|
+
|
|
16
|
+
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
17
|
+
|
|
18
|
+
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
19
|
+
|
|
20
|
+
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
21
|
+
|
|
22
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
23
|
+
|
|
24
|
+
var _react = _interopRequireDefault(require("react"));
|
|
25
|
+
|
|
26
|
+
var _classnames = _interopRequireDefault(require("classnames"));
|
|
27
|
+
|
|
28
|
+
var _toNumber = _interopRequireDefault(require("lodash/toNumber"));
|
|
29
|
+
|
|
30
|
+
var _toString = _interopRequireDefault(require("lodash/toString"));
|
|
31
|
+
|
|
32
|
+
var _isNil = _interopRequireDefault(require("lodash/isNil"));
|
|
33
|
+
|
|
34
|
+
var _isNaN = _interopRequireDefault(require("lodash/isNaN"));
|
|
35
|
+
|
|
36
|
+
var _isEqual = _interopRequireDefault(require("lodash/isEqual"));
|
|
37
|
+
|
|
38
|
+
require("../../styles/controls/InputNumber.scss");
|
|
39
|
+
|
|
40
|
+
var _withRightPlaceholder = require("../../helpers/withRightPlaceholder");
|
|
41
|
+
|
|
42
|
+
var _Input = require("../Input");
|
|
43
|
+
|
|
44
|
+
var _utils = require("./utils");
|
|
45
|
+
|
|
46
|
+
var _types = require("./types");
|
|
47
|
+
|
|
48
|
+
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
|
|
49
|
+
|
|
50
|
+
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
51
|
+
|
|
52
|
+
var InputNumberComponent = /*#__PURE__*/function (_React$Component) {
|
|
53
|
+
(0, _inherits2["default"])(InputNumberComponent, _React$Component);
|
|
54
|
+
|
|
55
|
+
var _super = _createSuper(InputNumberComponent);
|
|
56
|
+
|
|
57
|
+
function InputNumberComponent(props) {
|
|
58
|
+
var _this;
|
|
59
|
+
|
|
60
|
+
(0, _classCallCheck2["default"])(this, InputNumberComponent);
|
|
61
|
+
_this = _super.call(this, props);
|
|
62
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "input", null);
|
|
63
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "resolveValue", function (value) {
|
|
64
|
+
var precision = _this.props.precision;
|
|
65
|
+
var ceilValue = Math.trunc(Number(value));
|
|
66
|
+
var isFloat = Number(value) % 1 !== 0;
|
|
67
|
+
|
|
68
|
+
if (value === null || value === '' || (0, _isNaN["default"])((0, _toNumber["default"])(value))) {
|
|
69
|
+
return value;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
if (precision === undefined) {
|
|
73
|
+
return ceilValue;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
if (precision === null) {
|
|
77
|
+
return value;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
return isFloat ? value.toString().substr(0, ceilValue.toString().length + 1 + precision) : value;
|
|
81
|
+
});
|
|
82
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onChange", function (value) {
|
|
83
|
+
var num = (0, _utils.prepareValue)(value);
|
|
84
|
+
|
|
85
|
+
var parsedValue = _this.resolveValue(num);
|
|
86
|
+
|
|
87
|
+
var _this$props = _this.props,
|
|
88
|
+
onChange = _this$props.onChange,
|
|
89
|
+
mode = _this$props.mode;
|
|
90
|
+
|
|
91
|
+
if ((0, _isNil["default"])(parsedValue)) {
|
|
92
|
+
_this.setState({
|
|
93
|
+
value: null
|
|
94
|
+
}, function () {
|
|
95
|
+
return onChange === null || onChange === void 0 ? void 0 : onChange(null);
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
if ((0, _utils.matchesWhiteList)(parsedValue)) {
|
|
100
|
+
_this.setState({
|
|
101
|
+
value: _this.resolveValue(value)
|
|
102
|
+
}, function () {
|
|
103
|
+
if (!(0, _isNaN["default"])((0, _toNumber["default"])(value)) || mode === _types.InputMode.PICKER) {
|
|
104
|
+
onChange === null || onChange === void 0 ? void 0 : onChange(_this.resolveValue(value));
|
|
105
|
+
}
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
});
|
|
109
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onBlur", function () {
|
|
110
|
+
var _this$props2 = _this.props,
|
|
111
|
+
_this$props2$max = _this$props2.max,
|
|
112
|
+
max = _this$props2$max === void 0 ? 100 : _this$props2$max,
|
|
113
|
+
_this$props2$min = _this$props2.min,
|
|
114
|
+
min = _this$props2$min === void 0 ? 0 : _this$props2$min,
|
|
115
|
+
onBlur = _this$props2.onBlur,
|
|
116
|
+
_this$props2$mode = _this$props2.mode,
|
|
117
|
+
mode = _this$props2$mode === void 0 ? _types.InputMode.DEFAULT : _this$props2$mode;
|
|
118
|
+
var stateValue = _this.state.value;
|
|
119
|
+
|
|
120
|
+
if (stateValue === '-' && mode !== _types.InputMode.PICKER) {
|
|
121
|
+
return;
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
var value = _this.resolveValue((0, _utils.formatToFloat)(stateValue));
|
|
125
|
+
|
|
126
|
+
if (!(0, _isNil["default"])(value) && (0, _utils.isValid)(value, min, max)) {
|
|
127
|
+
_this.setState({
|
|
128
|
+
value: value
|
|
129
|
+
}, function () {
|
|
130
|
+
return onBlur === null || onBlur === void 0 ? void 0 : onBlur(value);
|
|
131
|
+
});
|
|
132
|
+
} else {
|
|
133
|
+
_this.setState({
|
|
134
|
+
value: null
|
|
135
|
+
}, function () {
|
|
136
|
+
return onBlur === null || onBlur === void 0 ? void 0 : onBlur(null);
|
|
137
|
+
});
|
|
138
|
+
}
|
|
139
|
+
});
|
|
140
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onKeyDown", function (e) {
|
|
141
|
+
var upKeyCode = 38;
|
|
142
|
+
var downKeyCode = 40;
|
|
143
|
+
var type;
|
|
144
|
+
|
|
145
|
+
if (e.keyCode === upKeyCode) {
|
|
146
|
+
type = 'up';
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
if (e.keyCode === downKeyCode) {
|
|
150
|
+
type = 'down';
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
if (type) {
|
|
154
|
+
e.preventDefault();
|
|
155
|
+
|
|
156
|
+
_this.buttonHandler(type);
|
|
157
|
+
}
|
|
158
|
+
});
|
|
159
|
+
var _value = props.value,
|
|
160
|
+
_props$step = props.step,
|
|
161
|
+
step = _props$step === void 0 ? '0.1' : _props$step;
|
|
162
|
+
var isValidValue = !(0, _isNil["default"])(_value) && !(0, _isNaN["default"])((0, _toNumber["default"])(_value)) && _value !== '';
|
|
163
|
+
_this.stepPrecition = (0, _utils.getPrecision)(step, _value);
|
|
164
|
+
_this.state = {
|
|
165
|
+
value: _this.resolveValue(isValidValue ? (0, _toNumber["default"])(_value) : null)
|
|
166
|
+
};
|
|
167
|
+
return _this;
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
(0, _createClass2["default"])(InputNumberComponent, [{
|
|
171
|
+
key: "componentDidUpdate",
|
|
172
|
+
value: function componentDidUpdate(prevProps) {
|
|
173
|
+
var value = this.props.value;
|
|
174
|
+
|
|
175
|
+
if ((0, _isNaN["default"])(value)) {
|
|
176
|
+
return;
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
if (prevProps.value !== value && !(0, _isNil["default"])(value)) {
|
|
180
|
+
this.setState({
|
|
181
|
+
value: this.resolveValue(value)
|
|
182
|
+
});
|
|
183
|
+
} else if (!(0, _isEqual["default"])(prevProps.value, value) && (value === '' || (0, _isNil["default"])(value))) {
|
|
184
|
+
this.setState({
|
|
185
|
+
value: null
|
|
186
|
+
});
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
}, {
|
|
190
|
+
key: "buttonHandler",
|
|
191
|
+
value: function buttonHandler(type) {
|
|
192
|
+
var _this$props3 = this.props,
|
|
193
|
+
_this$props3$min = _this$props3.min,
|
|
194
|
+
min = _this$props3$min === void 0 ? 0 : _this$props3$min,
|
|
195
|
+
_this$props3$max = _this$props3.max,
|
|
196
|
+
max = _this$props3$max === void 0 ? 100 : _this$props3$max,
|
|
197
|
+
_this$props3$step = _this$props3.step,
|
|
198
|
+
step = _this$props3$step === void 0 ? 0.1 : _this$props3$step,
|
|
199
|
+
onChange = _this$props3.onChange,
|
|
200
|
+
onBlur = _this$props3.onBlur;
|
|
201
|
+
var value = this.state.value;
|
|
202
|
+
var delta = (0, _toNumber["default"])((0, _utils.formatToFloat)(step, this.stepPrecition));
|
|
203
|
+
var val = !(0, _isNil["default"])(value) && value !== '' ? (0, _toNumber["default"])(value).toFixed(this.stepPrecition) : null;
|
|
204
|
+
var currentValue = (0, _toNumber["default"])((0, _utils.formatToFloat)(val, this.stepPrecition));
|
|
205
|
+
var newValue = currentValue;
|
|
206
|
+
|
|
207
|
+
if (value === null || value === '') {
|
|
208
|
+
var closestToZero = 0;
|
|
209
|
+
|
|
210
|
+
if (max < 0) {
|
|
211
|
+
closestToZero = max;
|
|
212
|
+
} else if (min > 0) {
|
|
213
|
+
closestToZero = min;
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
this.setState({
|
|
217
|
+
value: closestToZero
|
|
218
|
+
}, function () {
|
|
219
|
+
return onChange === null || onChange === void 0 ? void 0 : onChange(closestToZero);
|
|
220
|
+
});
|
|
221
|
+
}
|
|
222
|
+
|
|
223
|
+
if (type === 'up') {
|
|
224
|
+
newValue = currentValue + delta;
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
if (type === 'down') {
|
|
228
|
+
newValue = currentValue - delta;
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
if ((0, _utils.isValid)(newValue, min, max)) {
|
|
232
|
+
newValue = newValue.toFixed(this.stepPrecition);
|
|
233
|
+
this.setState({
|
|
234
|
+
value: newValue
|
|
235
|
+
}, function () {
|
|
236
|
+
onChange === null || onChange === void 0 ? void 0 : onChange(newValue);
|
|
237
|
+
onBlur === null || onBlur === void 0 ? void 0 : onBlur(newValue);
|
|
238
|
+
});
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
}, {
|
|
242
|
+
key: "render",
|
|
243
|
+
value: function render() {
|
|
244
|
+
var _this2 = this;
|
|
245
|
+
|
|
246
|
+
var _this$props4 = this.props,
|
|
247
|
+
_this$props4$visible = _this$props4.visible,
|
|
248
|
+
visible = _this$props4$visible === void 0 ? true : _this$props4$visible,
|
|
249
|
+
_this$props4$disabled = _this$props4.disabled,
|
|
250
|
+
disabled = _this$props4$disabled === void 0 ? false : _this$props4$disabled,
|
|
251
|
+
name = _this$props4.name,
|
|
252
|
+
_this$props4$showButt = _this$props4.showButtons,
|
|
253
|
+
showButtons = _this$props4$showButt === void 0 ? true : _this$props4$showButt,
|
|
254
|
+
className = _this$props4.className,
|
|
255
|
+
onFocus = _this$props4.onFocus,
|
|
256
|
+
_this$props4$autoFocu = _this$props4.autoFocus,
|
|
257
|
+
autoFocus = _this$props4$autoFocu === void 0 ? false : _this$props4$autoFocu,
|
|
258
|
+
placeholder = _this$props4.placeholder,
|
|
259
|
+
max = _this$props4.max,
|
|
260
|
+
min = _this$props4.min,
|
|
261
|
+
step = _this$props4.step;
|
|
262
|
+
var value = this.state.value;
|
|
263
|
+
return visible && /*#__PURE__*/_react["default"].createElement("div", {
|
|
264
|
+
className: "n2o-input-number",
|
|
265
|
+
ref: function ref(input) {
|
|
266
|
+
_this2.input = input;
|
|
267
|
+
}
|
|
268
|
+
}, /*#__PURE__*/_react["default"].createElement(_Input.Input, {
|
|
269
|
+
onKeyDown: this.onKeyDown,
|
|
270
|
+
name: name,
|
|
271
|
+
value: (0, _toString["default"])(value),
|
|
272
|
+
className: (0, _classnames["default"])('form-control', className),
|
|
273
|
+
onBlur: this.onBlur,
|
|
274
|
+
onFocus: onFocus,
|
|
275
|
+
onChange: function onChange(_ref) {
|
|
276
|
+
var target = _ref.target;
|
|
277
|
+
return _this2.onChange(target.value);
|
|
278
|
+
},
|
|
279
|
+
disabled: disabled,
|
|
280
|
+
autoFocus: autoFocus,
|
|
281
|
+
placeholder: placeholder,
|
|
282
|
+
min: min,
|
|
283
|
+
max: max,
|
|
284
|
+
step: step
|
|
285
|
+
}), showButtons && /*#__PURE__*/_react["default"].createElement("div", {
|
|
286
|
+
className: "n2o-input-number-buttons"
|
|
287
|
+
}, /*#__PURE__*/_react["default"].createElement("button", {
|
|
288
|
+
type: "button",
|
|
289
|
+
onClick: function onClick() {
|
|
290
|
+
return _this2.buttonHandler('up');
|
|
291
|
+
},
|
|
292
|
+
disabled: disabled,
|
|
293
|
+
tabIndex: -1
|
|
294
|
+
}, /*#__PURE__*/_react["default"].createElement("i", {
|
|
295
|
+
className: "fa fa-angle-up",
|
|
296
|
+
"aria-hidden": "true"
|
|
297
|
+
})), /*#__PURE__*/_react["default"].createElement("button", {
|
|
298
|
+
type: "button",
|
|
299
|
+
onClick: function onClick() {
|
|
300
|
+
return _this2.buttonHandler('down');
|
|
301
|
+
},
|
|
302
|
+
disabled: disabled,
|
|
303
|
+
tabIndex: -1
|
|
304
|
+
}, /*#__PURE__*/_react["default"].createElement("i", {
|
|
305
|
+
className: "fa fa-angle-down",
|
|
306
|
+
"aria-hidden": "true"
|
|
307
|
+
}))));
|
|
308
|
+
}
|
|
309
|
+
}]);
|
|
310
|
+
return InputNumberComponent;
|
|
311
|
+
}(_react["default"].Component);
|
|
312
|
+
|
|
313
|
+
exports.InputNumberComponent = InputNumberComponent;
|
|
314
|
+
var InputNumber = (0, _withRightPlaceholder.withRightPlaceholder)(InputNumberComponent);
|
|
315
|
+
exports.InputNumber = InputNumber;
|
|
316
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9pbnB1dHMvSW5wdXROdW1iZXIvSW5wdXROdW1iZXIudHN4Il0sIm5hbWVzIjpbIklucHV0TnVtYmVyQ29tcG9uZW50IiwicHJvcHMiLCJ2YWx1ZSIsInByZWNpc2lvbiIsImNlaWxWYWx1ZSIsIk1hdGgiLCJ0cnVuYyIsIk51bWJlciIsImlzRmxvYXQiLCJ1bmRlZmluZWQiLCJ0b1N0cmluZyIsInN1YnN0ciIsImxlbmd0aCIsIm51bSIsInBhcnNlZFZhbHVlIiwicmVzb2x2ZVZhbHVlIiwib25DaGFuZ2UiLCJtb2RlIiwic2V0U3RhdGUiLCJJbnB1dE1vZGUiLCJQSUNLRVIiLCJtYXgiLCJtaW4iLCJvbkJsdXIiLCJERUZBVUxUIiwic3RhdGVWYWx1ZSIsInN0YXRlIiwiZSIsInVwS2V5Q29kZSIsImRvd25LZXlDb2RlIiwidHlwZSIsImtleUNvZGUiLCJwcmV2ZW50RGVmYXVsdCIsImJ1dHRvbkhhbmRsZXIiLCJzdGVwIiwiaXNWYWxpZFZhbHVlIiwic3RlcFByZWNpdGlvbiIsInByZXZQcm9wcyIsImRlbHRhIiwidmFsIiwidG9GaXhlZCIsImN1cnJlbnRWYWx1ZSIsIm5ld1ZhbHVlIiwiY2xvc2VzdFRvWmVybyIsInZpc2libGUiLCJkaXNhYmxlZCIsIm5hbWUiLCJzaG93QnV0dG9ucyIsImNsYXNzTmFtZSIsIm9uRm9jdXMiLCJhdXRvRm9jdXMiLCJwbGFjZWhvbGRlciIsImlucHV0Iiwib25LZXlEb3duIiwidGFyZ2V0IiwiUmVhY3QiLCJDb21wb25lbnQiLCJJbnB1dE51bWJlciJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFFQTs7QUFFQTs7QUFDQTs7QUFFQTs7QUFNQTs7Ozs7O0lBRWFBLG9COzs7OztBQUtULGdDQUFZQyxLQUFaLEVBQXFDO0FBQUE7O0FBQUE7QUFDakMsOEJBQU1BLEtBQU47QUFEaUMsOEZBRk4sSUFF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QUpmLHNCQU1JO0FBQUcsUUFBQSxTQUFTLEVBQUMsa0JBQWI7QUFBZ0MsdUJBQVk7QUFBNUMsUUFOSixDQVRKLENBdEJSLENBRlI7QUE4Q0g7OztFQWhOcUNVLGtCQUFNQyxTOzs7QUFtTnpDLElBQU1DLFdBQVcsR0FBRyxnREFBcUJ6RCxvQkFBckIsQ0FBcEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgS2V5Ym9hcmRFdmVudCB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IGNsYXNzTmFtZXMgZnJvbSAnY2xhc3NuYW1lcydcbmltcG9ydCB0b051bWJlciBmcm9tICdsb2Rhc2gvdG9OdW1iZXInXG5pbXBvcnQgdG9TdHJpbmcgZnJvbSAnbG9kYXNoL3RvU3RyaW5nJ1xuaW1wb3J0IGlzTmlsIGZyb20gJ2xvZGFzaC9pc05pbCdcbmltcG9ydCBpc05hTiBmcm9tICdsb2Rhc2gvaXNOYU4nXG5pbXBvcnQgaXNFcXVhbCBmcm9tICdsb2Rhc2gvaXNFcXVhbCdcblxuaW1wb3J0ICcuLi8uLi9zdHlsZXMvY29udHJvbHMvSW5wdXROdW1iZXIuc2NzcydcblxuaW1wb3J0IHsgd2l0aFJpZ2h0UGxhY2Vob2xkZXIgfSBmcm9tICcuLi8uLi9oZWxwZXJzL3dpdGhSaWdodFBsYWNlaG9sZGVyJ1xuaW1wb3J0IHsgSW5wdXQgfSBmcm9tICcuLi9JbnB1dCdcblxuaW1wb3J0IHtcbiAgICBmb3JtYXRUb0Zsb2F0LFxuICAgIGlzVmFsaWQsXG4gICAgbWF0Y2hlc1doaXRlTGlzdCxcbiAgICBnZXRQcmVjaXNpb24sIHByZXBhcmVWYWx1ZSxcbn0gZnJvbSAnLi91dGlscydcbmltcG9ydCB7IElucHV0TW9kZSwgSW5wdXROdW1iZXJQcm9wcywgSW5wdXROdW1iZXJTdGF0ZSwgVElucHV0TnVtYmVyVmFsdWUgfSBmcm9tICcuL3R5cGVzJ1xuXG5leHBvcnQgY2xhc3MgSW5wdXROdW1iZXJDb21wb25lbnQgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQ8SW5wdXROdW1iZXJQcm9wcywgSW5wdXROdW1iZXJTdGF0ZT4ge1xuICAgIHN0ZXBQcmVjaXRpb246IG51bWJlclxuXG4gICAgaW5wdXQ6IEhUTUxEaXZFbGVtZW50IHwgbnVsbCA9IG51bGxcblxuICAgIGNvbnN0cnVjdG9yKHByb3BzOiBJbnB1dE51bWJlclByb3BzKSB7XG4gICAgICAgIHN1cGVyKHByb3BzKVxuICAgICAgICBjb25zdCB7IHZhbHVlLCBzdGVwID0gJzAuMScgfSA9IHByb3BzXG4gICAgICAgIGNvbnN0IGlzVmFsaWRWYWx1ZSA9ICFpc05pbCh2YWx1ZSkgJiYgIWlzTmFOKHRvTnVtYmVyKHZhbHVlKSkgJiYgdmFsdWUgIT09ICcnXG5cbiAgICAgICAgdGhpcy5zdGVwUHJlY2l0aW9uID0gZ2V0UHJlY2lzaW9uKHN0ZXAsIHZhbHVlKVxuICAgICAgICB0aGlzLnN0YXRlID0ge1xuICAgICAgICAgICAgdmFsdWU6IHRoaXMucmVzb2x2ZVZhbHVlKChpc1ZhbGlkVmFsdWUgPyB0b051bWJlcih2YWx1ZSkgOiBudWxsKSksXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzOiBJbnB1dE51bWJlclByb3BzKSB7XG4gICAgICAgIGNvbnN0IHsgdmFsdWUgfSA9IHRoaXMucHJvcHNcblxuICAgICAgICBpZiAoaXNOYU4odmFsdWUpKSB7XG4gICAgICAgICAgICByZXR1cm5cbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChwcmV2UHJvcHMudmFsdWUgIT09IHZhbHVlICYmICFpc05pbCh2YWx1ZSkpIHtcbiAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUoeyB2YWx1ZTogdGhpcy5yZXNvbHZlVmFsdWUodmFsdWUpIH0pXG4gICAgICAgIH0gZWxzZSBpZiAoXG4gICAgICAgICAgICAhaXNFcXVhbChwcmV2UHJvcHMudmFsdWUsIHZhbHVlKSAmJlxuICAgICAgICAgICAgKHZhbHVlID09PSAnJyB8fCBpc05pbCh2YWx1ZSkpXG4gICAgICAgICkge1xuICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7IHZhbHVlOiBudWxsIH0pXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICByZXNvbHZlVmFsdWUgPSAodmFsdWU6IFRJbnB1dE51bWJlclZhbHVlKSA9PiB7XG4gICAgICAgIGNvbnN0IHsgcHJlY2lzaW9uIH0gPSB0aGlzLnByb3BzXG5cbiAgICAgICAgY29uc3QgY2VpbFZhbHVlID0gTWF0aC50cnVuYyhOdW1iZXIodmFsdWUpKVxuICAgICAgICBjb25zdCBpc0Zsb2F0ID0gTnVtYmVyKHZhbHVlKSAlIDEgIT09IDBcblxuICAgICAgICBpZiAodmFsdWUgPT09IG51bGwgfHwgdmFsdWUgPT09ICcnIHx8IGlzTmFOKHRvTnVtYmVyKHZhbHVlKSkpIHtcbiAgICAgICAgICAgIHJldHVybiB2YWx1ZVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHByZWNpc2lvbiA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICByZXR1cm4gY2VpbFZhbHVlXG4gICAgICAgIH0gaWYgKHByZWNpc2lvbiA9PT0gbnVsbCkge1xuICAgICAgICAgICAgcmV0dXJuIHZhbHVlXG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gaXNGbG9hdFxuICAgICAgICAgICAgPyB2YWx1ZVxuICAgICAgICAgICAgICAgIC50b1N0cmluZygpXG4gICAgICAgICAgICAgICAgLnN1YnN0cigwLCBjZWlsVmFsdWUudG9TdHJpbmcoKS5sZW5ndGggKyAxICsgcHJlY2lzaW9uKVxuICAgICAgICAgICAgOiB2YWx1ZVxuICAgIH1cblxuICAgIG9uQ2hhbmdlID0gKHZhbHVlOiBUSW5wdXROdW1iZXJWYWx1ZSkgPT4ge1xuICAgICAgICBjb25zdCBudW0gPSBwcmVwYXJlVmFsdWUodmFsdWUpXG5cbiAgICAgICAgY29uc3QgcGFyc2VkVmFsdWUgPSB0aGlzLnJlc29sdmVWYWx1ZShudW0pXG4gICAgICAgIGNvbnN0IHsgb25DaGFuZ2UsIG1vZGUgfSA9IHRoaXMucHJvcHNcblxuICAgICAgICBpZiAoaXNOaWwocGFyc2VkVmFsdWUpKSB7XG4gICAgICAgICAgICB0aGlzLnNldFN0YXRlKHsgdmFsdWU6IG51bGwgfSwgKCkgPT4gb25DaGFuZ2U/LihudWxsKSlcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChtYXRjaGVzV2hpdGVMaXN0KHBhcnNlZFZhbHVlKSkge1xuICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7IHZhbHVlOiB0aGlzLnJlc29sdmVWYWx1ZSh2YWx1ZSkgfSwgKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICghaXNOYU4odG9OdW1iZXIodmFsdWUpKSB8fCBtb2RlID09PSBJbnB1dE1vZGUuUElDS0VSKSB7XG4gICAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlPy4odGhpcy5yZXNvbHZlVmFsdWUodmFsdWUpKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBidXR0b25IYW5kbGVyKHR5cGU6IHN0cmluZykge1xuICAgICAgICBjb25zdCB7IG1pbiA9IDAsIG1heCA9IDEwMCwgc3RlcCA9IDAuMSwgb25DaGFuZ2UsIG9uQmx1ciB9ID0gdGhpcy5wcm9wc1xuICAgICAgICBjb25zdCB7IHZhbHVlIH0gPSB0aGlzLnN0YXRlXG4gICAgICAgIGNvbnN0IGRlbHRhID0gdG9OdW1iZXIoZm9ybWF0VG9GbG9hdChzdGVwLCB0aGlzLnN0ZXBQcmVjaXRpb24pKVxuICAgICAgICBjb25zdCB2YWwgPSAhaXNOaWwodmFsdWUpICYmIHZhbHVlICE9PSAnJ1xuICAgICAgICAgICAgPyB0b051bWJlcih2YWx1ZSkudG9GaXhlZCh0aGlzLnN0ZXBQcmVjaXRpb24pXG4gICAgICAgICAgICA6IG51bGxcbiAgICAgICAgY29uc3QgY3VycmVudFZhbHVlID0gdG9OdW1iZXIoZm9ybWF0VG9GbG9hdCh2YWwsIHRoaXMuc3RlcFByZWNpdGlvbikpXG4gICAgICAgIGxldCBuZXdWYWx1ZTogVElucHV0TnVtYmVyVmFsdWUgPSBjdXJyZW50VmFsdWVcblxuICAgICAgICBpZiAodmFsdWUgPT09IG51bGwgfHwgdmFsdWUgPT09ICcnKSB7XG4gICAgICAgICAgICBsZXQgY2xvc2VzdFRvWmVybyA9IDBcblxuICAgICAgICAgICAgaWYgKG1heCA8IDApIHsgY2xvc2VzdFRvWmVybyA9IG1heCB9IGVsc2UgaWYgKG1pbiA+IDApIHsgY2xvc2VzdFRvWmVybyA9IG1pbiB9XG5cbiAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUoeyB2YWx1ZTogY2xvc2VzdFRvWmVybyB9LCAoKSA9PiBvbkNoYW5nZT8uKGNsb3Nlc3RUb1plcm8pKVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHR5cGUgPT09ICd1cCcpIHtcbiAgICAgICAgICAgIG5ld1ZhbHVlID0gY3VycmVudFZhbHVlICsgZGVsdGFcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0eXBlID09PSAnZG93bicpIHtcbiAgICAgICAgICAgIG5ld1ZhbHVlID0gY3VycmVudFZhbHVlIC0gZGVsdGFcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChpc1ZhbGlkKG5ld1ZhbHVlLCBtaW4sIG1heCkpIHtcbiAgICAgICAgICAgIG5ld1ZhbHVlID0gbmV3VmFsdWUudG9GaXhlZCh0aGlzLnN0ZXBQcmVjaXRpb24pXG5cbiAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUoeyB2YWx1ZTogbmV3VmFsdWUgfSwgKCkgPT4ge1xuICAgICAgICAgICAgICAgIG9uQ2hhbmdlPy4obmV3VmFsdWUpXG4gICAgICAgICAgICAgICAgb25CbHVyPy4obmV3VmFsdWUpXG4gICAgICAgICAgICB9KVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25CbHVyID0gKCkgPT4ge1xuICAgICAgICBjb25zdCB7IG1heCA9IDEwMCwgbWluID0gMCwgb25CbHVyLCBtb2RlID0gSW5wdXRNb2RlLkRFRkFVTFQgfSA9IHRoaXMucHJvcHNcbiAgICAgICAgY29uc3QgeyB2YWx1ZTogc3RhdGVWYWx1ZSB9ID0gdGhpcy5zdGF0ZVxuXG4gICAgICAgIGlmIChzdGF0ZVZhbHVlID09PSAnLScgJiYgbW9kZSAhPT0gSW5wdXRNb2RlLlBJQ0tFUikge1xuICAgICAgICAgICAgcmV0dXJuXG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB2YWx1ZSA9IHRoaXMucmVzb2x2ZVZhbHVlKGZvcm1hdFRvRmxvYXQoc3RhdGVWYWx1ZSkpXG5cbiAgICAgICAgaWYgKCFpc05pbCh2YWx1ZSkgJiYgaXNWYWxpZCh2YWx1ZSwgbWluLCBtYXgpKSB7XG4gICAgICAgICAgICB0aGlzLnNldFN0YXRlKHsgdmFsdWUgfSwgKCkgPT4gb25CbHVyPy4odmFsdWUpKVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7IHZhbHVlOiBudWxsIH0sICgpID0+IG9uQmx1cj8uKG51bGwpKVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25LZXlEb3duID0gKGU6IEtleWJvYXJkRXZlbnQ8SFRNTElucHV0RWxlbWVudD4pID0+IHtcbiAgICAgICAgY29uc3QgdXBLZXlDb2RlID0gMzhcbiAgICAgICAgY29uc3QgZG93bktleUNvZGUgPSA0MFxuICAgICAgICBsZXQgdHlwZVxuXG4gICAgICAgIGlmIChlLmtleUNvZGUgPT09IHVwS2V5Q29kZSkge1xuICAgICAgICAgICAgdHlwZSA9ICd1cCdcbiAgICAgICAgfVxuICAgICAgICBpZiAoZS5rZXlDb2RlID09PSBkb3duS2V5Q29kZSkge1xuICAgICAgICAgICAgdHlwZSA9ICdkb3duJ1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHR5cGUpIHtcbiAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKVxuICAgICAgICAgICAgdGhpcy5idXR0b25IYW5kbGVyKHR5cGUpXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICByZW5kZXIoKSB7XG4gICAgICAgIGNvbnN0IHtcbiAgICAgICAgICAgIHZpc2libGUgPSB0cnVlLFxuICAgICAgICAgICAgZGlzYWJsZWQgPSBmYWxzZSxcbiAgICAgICAgICAgIG5hbWUsXG4gICAgICAgICAgICBzaG93QnV0dG9ucyA9IHRydWUsXG4gICAgICAgICAgICBjbGFzc05hbWUsXG4gICAgICAgICAgICBvbkZvY3VzLFxuICAgICAgICAgICAgYXV0b0ZvY3VzID0gZmFsc2UsXG4gICAgICAgICAgICBwbGFjZWhvbGRlcixcbiAgICAgICAgICAgIG1heCxcbiAgICAgICAgICAgIG1pbixcbiAgICAgICAgICAgIHN0ZXAsXG4gICAgICAgIH0gPSB0aGlzLnByb3BzXG4gICAgICAgIGNvbnN0IHsgdmFsdWUgfSA9IHRoaXMuc3RhdGVcblxuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgdmlzaWJsZSAmJiAoXG4gICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJuMm8taW5wdXQtbnVtYmVyXCJcbiAgICAgICAgICAgICAgICAgICAgcmVmPXsoaW5wdXQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaW5wdXQgPSBpbnB1dFxuICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPElucHV0XG4gICAgICAgICAgICAgICAgICAgICAgICBvbktleURvd249e3RoaXMub25LZXlEb3dufVxuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT17bmFtZX1cbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPXt0b1N0cmluZyh2YWx1ZSl9XG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2NsYXNzTmFtZXMoJ2Zvcm0tY29udHJvbCcsIGNsYXNzTmFtZSl9XG4gICAgICAgICAgICAgICAgICAgICAgICBvbkJsdXI9e3RoaXMub25CbHVyfVxuICAgICAgICAgICAgICAgICAgICAgICAgb25Gb2N1cz17b25Gb2N1c31cbiAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXsoeyB0YXJnZXQgfSkgPT4gdGhpcy5vbkNoYW5nZSh0YXJnZXQudmFsdWUpfVxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAgICAgICAgICAgICAgYXV0b0ZvY3VzPXthdXRvRm9jdXN9XG4gICAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj17cGxhY2Vob2xkZXJ9XG4gICAgICAgICAgICAgICAgICAgICAgICBtaW49e21pbn1cbiAgICAgICAgICAgICAgICAgICAgICAgIG1heD17bWF4fVxuICAgICAgICAgICAgICAgICAgICAgICAgc3RlcD17c3RlcH1cbiAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAge3Nob3dCdXR0b25zICYmIChcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibjJvLWlucHV0LW51bWJlci1idXR0b25zXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gdGhpcy5idXR0b25IYW5kbGVyKCd1cCcpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhYkluZGV4PXstMX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzTmFtZT1cImZhIGZhLWFuZ2xlLXVwXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB0aGlzLmJ1dHRvbkhhbmRsZXIoJ2Rvd24nKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YWJJbmRleD17LTF9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzc05hbWU9XCJmYSBmYS1hbmdsZS1kb3duXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgKVxuICAgICAgICApXG4gICAgfVxufVxuXG5leHBvcnQgY29uc3QgSW5wdXROdW1iZXIgPSB3aXRoUmlnaHRQbGFjZWhvbGRlcihJbnB1dE51bWJlckNvbXBvbmVudClcbiJdfQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { InputNumber } from './InputNumber';
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
Object.defineProperty(exports, "InputNumber", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function get() {
|
|
9
|
+
return _InputNumber.InputNumber;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
|
|
13
|
+
var _InputNumber = require("./InputNumber");
|
|
14
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9pbnB1dHMvSW5wdXROdW1iZXIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBJbnB1dE51bWJlciB9IGZyb20gJy4vSW5wdXROdW1iZXInXG4iXX0=
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { TBaseInputProps, TBaseProps } from '../../types';
|
|
2
|
+
export declare type InputNumberProps = TBaseProps & TBaseInputProps<TInputNumberValue> & {
|
|
3
|
+
max?: number;
|
|
4
|
+
min?: number;
|
|
5
|
+
mode?: InputMode;
|
|
6
|
+
onBlur?(value: TInputNumberValue): void;
|
|
7
|
+
precision?: number;
|
|
8
|
+
showButtons?: boolean;
|
|
9
|
+
step?: string | number;
|
|
10
|
+
};
|
|
11
|
+
export declare type InputNumberState = {
|
|
12
|
+
value: TInputNumberValue;
|
|
13
|
+
};
|
|
14
|
+
export declare const enum InputMode {
|
|
15
|
+
DEFAULT = "default",
|
|
16
|
+
PICKER = "picker"
|
|
17
|
+
}
|
|
18
|
+
export declare type TInputNumberValue = number | string | null;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.InputMode = void 0;
|
|
7
|
+
var InputMode;
|
|
8
|
+
exports.InputMode = InputMode;
|
|
9
|
+
|
|
10
|
+
(function (InputMode) {
|
|
11
|
+
InputMode["DEFAULT"] = "default";
|
|
12
|
+
InputMode["PICKER"] = "picker";
|
|
13
|
+
})(InputMode || (exports.InputMode = InputMode = {}));
|
|
14
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9pbnB1dHMvSW5wdXROdW1iZXIvdHlwZXMudHMiXSwibmFtZXMiOlsiSW5wdXRNb2RlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7SUFla0JBLFM7OztXQUFBQSxTO0FBQUFBLEVBQUFBLFM7QUFBQUEsRUFBQUEsUztHQUFBQSxTLHlCQUFBQSxTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVEJhc2VJbnB1dFByb3BzLCBUQmFzZVByb3BzIH0gZnJvbSAnLi4vLi4vdHlwZXMnXG5cbmV4cG9ydCB0eXBlIElucHV0TnVtYmVyUHJvcHMgPSBUQmFzZVByb3BzICYgVEJhc2VJbnB1dFByb3BzPFRJbnB1dE51bWJlclZhbHVlPiAmIHtcbiAgICBtYXg/OiBudW1iZXIsXG4gICAgbWluPzogbnVtYmVyLFxuICAgIG1vZGU/OiBJbnB1dE1vZGUsXG4gICAgb25CbHVyPyh2YWx1ZTogVElucHV0TnVtYmVyVmFsdWUpOiB2b2lkLFxuICAgIHByZWNpc2lvbj86IG51bWJlcixcbiAgICBzaG93QnV0dG9ucz86IGJvb2xlYW4sXG4gICAgc3RlcD86IHN0cmluZyB8IG51bWJlclxufVxuXG5leHBvcnQgdHlwZSBJbnB1dE51bWJlclN0YXRlID0ge1xuICAgIHZhbHVlOiBUSW5wdXROdW1iZXJWYWx1ZVxufVxuZXhwb3J0IGNvbnN0IGVudW0gSW5wdXRNb2RlIHtcbiAgICBERUZBVUxUID0gJ2RlZmF1bHQnLFxuICAgIFBJQ0tFUiA9ICdwaWNrZXInLFxufVxuXG5leHBvcnQgdHlwZSBUSW5wdXROdW1iZXJWYWx1ZSA9IG51bWJlciB8IHN0cmluZyB8IG51bGxcbiJdfQ==
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { TInputNumberValue } from './types';
|
|
2
|
+
export declare const formatToFloat: (val: TInputNumberValue, stepPrecision?: number) => string | number | null;
|
|
3
|
+
export declare const getPrecision: (propsStep: number | string, value?: TInputNumberValue) => number;
|
|
4
|
+
export declare const isValid: (val: TInputNumberValue, min: number, max: number) => boolean;
|
|
5
|
+
export declare const prepareValue: (value: TInputNumberValue) => number | "-" | null;
|
|
6
|
+
export declare function matchesWhiteList(val: TInputNumberValue): boolean;
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.matchesWhiteList = matchesWhiteList;
|
|
9
|
+
exports.prepareValue = exports.isValid = exports.getPrecision = exports.formatToFloat = void 0;
|
|
10
|
+
|
|
11
|
+
var _isNil = _interopRequireDefault(require("lodash/isNil"));
|
|
12
|
+
|
|
13
|
+
var _toNumber = _interopRequireDefault(require("lodash/toNumber"));
|
|
14
|
+
|
|
15
|
+
var _isNaN = _interopRequireDefault(require("lodash/isNaN"));
|
|
16
|
+
|
|
17
|
+
var _isNull = _interopRequireDefault(require("lodash/isNull"));
|
|
18
|
+
|
|
19
|
+
var _isInteger = _interopRequireDefault(require("lodash/isInteger"));
|
|
20
|
+
|
|
21
|
+
var formatToFloat = function formatToFloat(val, stepPrecision) {
|
|
22
|
+
if ((0, _isNil["default"])(val) || val === '') {
|
|
23
|
+
return null;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
var str = Number(val).toString().trim().replace(',', '.');
|
|
27
|
+
var end = !str.includes('.', str.indexOf('.') + 1) ? str.length : str.indexOf('.', str.indexOf('.') + 1);
|
|
28
|
+
var formattedStr = str.slice(0, end);
|
|
29
|
+
return !stepPrecision ? (0, _toNumber["default"])(formattedStr) : (0, _toNumber["default"])(formattedStr).toFixed(stepPrecision);
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
exports.formatToFloat = formatToFloat;
|
|
33
|
+
|
|
34
|
+
var getPrecision = function getPrecision(propsStep, value) {
|
|
35
|
+
var needFractionalChar = !(0, _isInteger["default"])(Number(value)) && (0, _isInteger["default"])(Number(propsStep));
|
|
36
|
+
var step = needFractionalChar ? "".concat(propsStep, ".0") : propsStep;
|
|
37
|
+
var stepArr = step.toString().trim().split('.');
|
|
38
|
+
return stepArr.length === 1 ? 0 : stepArr[1].length;
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
exports.getPrecision = getPrecision;
|
|
42
|
+
|
|
43
|
+
var isValid = function isValid(val, min, max) {
|
|
44
|
+
if (!min && !max) {
|
|
45
|
+
return true;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
var maxValue = (0, _toNumber["default"])(max);
|
|
49
|
+
var minValue = (0, _toNumber["default"])(min);
|
|
50
|
+
var value = (0, _toNumber["default"])(val);
|
|
51
|
+
|
|
52
|
+
if (!(0, _isNaN["default"])(minValue) && !(0, _isNaN["default"])(maxValue)) {
|
|
53
|
+
return !(0, _isNil["default"])(val) && value <= maxValue && value >= minValue;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
return !(0, _isNil["default"])(val) && (value <= maxValue || value >= minValue);
|
|
57
|
+
};
|
|
58
|
+
|
|
59
|
+
exports.isValid = isValid;
|
|
60
|
+
|
|
61
|
+
var prepareValue = function prepareValue(value) {
|
|
62
|
+
if (typeof value === 'string') {
|
|
63
|
+
value = value.replace(',', '.');
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
if (value === '') {
|
|
67
|
+
return null;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
if (value === '-') {
|
|
71
|
+
return value;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
return (0, _toNumber["default"])(value);
|
|
75
|
+
};
|
|
76
|
+
|
|
77
|
+
exports.prepareValue = prepareValue;
|
|
78
|
+
|
|
79
|
+
function matchesWhiteList(val) {
|
|
80
|
+
if ((0, _isNull["default"])(val)) {
|
|
81
|
+
return false;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
return /^-?\d*[,.]?\d*$/.test(String(val));
|
|
85
|
+
}
|
|
86
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9pbnB1dHMvSW5wdXROdW1iZXIvdXRpbHMudHMiXSwibmFtZXMiOlsiZm9ybWF0VG9GbG9hdCIsInZhbCIsInN0ZXBQcmVjaXNpb24iLCJzdHIiLCJOdW1iZXIiLCJ0b1N0cmluZyIsInRyaW0iLCJyZXBsYWNlIiwiZW5kIiwiaW5jbHVkZXMiLCJpbmRleE9mIiwibGVuZ3RoIiwiZm9ybWF0dGVkU3RyIiwic2xpY2UiLCJ0b0ZpeGVkIiwiZ2V0UHJlY2lzaW9uIiwicHJvcHNTdGVwIiwidmFsdWUiLCJuZWVkRnJhY3Rpb25hbENoYXIiLCJzdGVwIiwic3RlcEFyciIsInNwbGl0IiwiaXNWYWxpZCIsIm1pbiIsIm1heCIsIm1heFZhbHVlIiwibWluVmFsdWUiLCJwcmVwYXJlVmFsdWUiLCJtYXRjaGVzV2hpdGVMaXN0IiwidGVzdCIsIlN0cmluZyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUlPLElBQU1BLGFBQWEsR0FBRyxTQUFoQkEsYUFBZ0IsQ0FBQ0MsR0FBRCxFQUF5QkMsYUFBekIsRUFBb0Q7QUFDN0UsTUFBSSx1QkFBTUQsR0FBTixLQUFjQSxHQUFHLEtBQUssRUFBMUIsRUFBOEI7QUFBRSxXQUFPLElBQVA7QUFBYTs7QUFDN0MsTUFBTUUsR0FBRyxHQUFHQyxNQUFNLENBQUNILEdBQUQsQ0FBTixDQUNQSSxRQURPLEdBRVBDLElBRk8sR0FHUEMsT0FITyxDQUdDLEdBSEQsRUFHTSxHQUhOLENBQVo7QUFJQSxNQUFNQyxHQUFHLEdBQ1QsQ0FBQ0wsR0FBRyxDQUFDTSxRQUFKLENBQWEsR0FBYixFQUFrQk4sR0FBRyxDQUFDTyxPQUFKLENBQVksR0FBWixJQUFtQixDQUFyQyxDQUFELEdBQ01QLEdBQUcsQ0FBQ1EsTUFEVixHQUVNUixHQUFHLENBQUNPLE9BQUosQ0FBWSxHQUFaLEVBQWlCUCxHQUFHLENBQUNPLE9BQUosQ0FBWSxHQUFaLElBQW1CLENBQXBDLENBSE47QUFJQSxNQUFNRSxZQUFZLEdBQUdULEdBQUcsQ0FBQ1UsS0FBSixDQUFVLENBQVYsRUFBYUwsR0FBYixDQUFyQjtBQUVBLFNBQU8sQ0FBQ04sYUFBRCxHQUNELDBCQUFTVSxZQUFULENBREMsR0FFRCwwQkFBU0EsWUFBVCxFQUF1QkUsT0FBdkIsQ0FBK0JaLGFBQS9CLENBRk47QUFHSCxDQWZNOzs7O0FBaUJBLElBQU1hLFlBQVksR0FBRyxTQUFmQSxZQUFlLENBQUNDLFNBQUQsRUFBNkJDLEtBQTdCLEVBQTJEO0FBQ25GLE1BQU1DLGtCQUFrQixHQUFHLENBQUMsMkJBQVVkLE1BQU0sQ0FBQ2EsS0FBRCxDQUFoQixDQUFELElBQTZCLDJCQUFVYixNQUFNLENBQUNZLFNBQUQsQ0FBaEIsQ0FBeEQ7QUFDQSxNQUFNRyxJQUFJLEdBQUdELGtCQUFrQixhQUFNRixTQUFOLFVBQXNCQSxTQUFyRDtBQUVBLE1BQU1JLE9BQU8sR0FBR0QsSUFBSSxDQUNmZCxRQURXLEdBRVhDLElBRlcsR0FHWGUsS0FIVyxDQUdMLEdBSEssQ0FBaEI7QUFLQSxTQUFPRCxPQUFPLENBQUNULE1BQVIsS0FBbUIsQ0FBbkIsR0FBdUIsQ0FBdkIsR0FBMkJTLE9BQU8sQ0FBQyxDQUFELENBQVAsQ0FBV1QsTUFBN0M7QUFDSCxDQVZNOzs7O0FBWUEsSUFBTVcsT0FBTyxHQUFHLFNBQVZBLE9BQVUsQ0FBQ3JCLEdBQUQsRUFBeUJzQixHQUF6QixFQUFzQ0MsR0FBdEMsRUFBc0Q7QUFDekUsTUFBSSxDQUFDRCxHQUFELElBQVEsQ0FBQ0MsR0FBYixFQUFrQjtBQUNkLFdBQU8sSUFBUDtBQUNIOztBQUVELE1BQU1DLFFBQVEsR0FBRywwQkFBU0QsR0FBVCxDQUFqQjtBQUNBLE1BQU1FLFFBQVEsR0FBRywwQkFBU0gsR0FBVCxDQUFqQjtBQUNBLE1BQU1OLEtBQUssR0FBRywwQkFBU2hCLEdBQVQsQ0FBZDs7QUFFQSxNQUFJLENBQUMsdUJBQU15QixRQUFOLENBQUQsSUFBb0IsQ0FBQyx1QkFBTUQsUUFBTixDQUF6QixFQUEwQztBQUN0QyxXQUFPLENBQUMsdUJBQU14QixHQUFOLENBQUQsSUFBZ0JnQixLQUFLLElBQUlRLFFBQVQsSUFBcUJSLEtBQUssSUFBSVMsUUFBckQ7QUFDSDs7QUFFRCxTQUFPLENBQUMsdUJBQU16QixHQUFOLENBQUQsS0FBZ0JnQixLQUFLLElBQUlRLFFBQVQsSUFBcUJSLEtBQUssSUFBSVMsUUFBOUMsQ0FBUDtBQUNILENBZE07Ozs7QUFnQkEsSUFBTUMsWUFBWSxHQUFHLFNBQWZBLFlBQWUsQ0FBQ1YsS0FBRCxFQUE4QjtBQUN0RCxNQUFJLE9BQU9BLEtBQVAsS0FBaUIsUUFBckIsRUFBK0I7QUFDM0JBLElBQUFBLEtBQUssR0FBR0EsS0FBSyxDQUFDVixPQUFOLENBQWMsR0FBZCxFQUFtQixHQUFuQixDQUFSO0FBQ0g7O0FBQ0QsTUFBSVUsS0FBSyxLQUFLLEVBQWQsRUFBa0I7QUFDZCxXQUFPLElBQVA7QUFDSDs7QUFFRCxNQUFJQSxLQUFLLEtBQUssR0FBZCxFQUFtQjtBQUNmLFdBQU9BLEtBQVA7QUFDSDs7QUFFRCxTQUFPLDBCQUFTQSxLQUFULENBQVA7QUFDSCxDQWJNOzs7O0FBZUEsU0FBU1csZ0JBQVQsQ0FBMEIzQixHQUExQixFQUFrRDtBQUNyRCxNQUFJLHdCQUFPQSxHQUFQLENBQUosRUFBaUI7QUFDYixXQUFPLEtBQVA7QUFDSDs7QUFFRCxTQUFPLGtCQUFrQjRCLElBQWxCLENBQXVCQyxNQUFNLENBQUM3QixHQUFELENBQTdCLENBQVA7QUFDSCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBpc05pbCBmcm9tICdsb2Rhc2gvaXNOaWwnXG5pbXBvcnQgdG9OdW1iZXIgZnJvbSAnbG9kYXNoL3RvTnVtYmVyJ1xuaW1wb3J0IGlzTmFOIGZyb20gJ2xvZGFzaC9pc05hTidcbmltcG9ydCBpc051bGwgZnJvbSAnbG9kYXNoL2lzTnVsbCdcbmltcG9ydCBpc0ludGVnZXIgZnJvbSAnbG9kYXNoL2lzSW50ZWdlcidcblxuaW1wb3J0IHsgVElucHV0TnVtYmVyVmFsdWUgfSBmcm9tICcuL3R5cGVzJ1xuXG5leHBvcnQgY29uc3QgZm9ybWF0VG9GbG9hdCA9ICh2YWw6IFRJbnB1dE51bWJlclZhbHVlLCBzdGVwUHJlY2lzaW9uPzogbnVtYmVyKSA9PiB7XG4gICAgaWYgKGlzTmlsKHZhbCkgfHwgdmFsID09PSAnJykgeyByZXR1cm4gbnVsbCB9XG4gICAgY29uc3Qgc3RyID0gTnVtYmVyKHZhbClcbiAgICAgICAgLnRvU3RyaW5nKClcbiAgICAgICAgLnRyaW0oKVxuICAgICAgICAucmVwbGFjZSgnLCcsICcuJylcbiAgICBjb25zdCBlbmQgPVxuICAgICFzdHIuaW5jbHVkZXMoJy4nLCBzdHIuaW5kZXhPZignLicpICsgMSlcbiAgICAgICAgPyBzdHIubGVuZ3RoXG4gICAgICAgIDogc3RyLmluZGV4T2YoJy4nLCBzdHIuaW5kZXhPZignLicpICsgMSlcbiAgICBjb25zdCBmb3JtYXR0ZWRTdHIgPSBzdHIuc2xpY2UoMCwgZW5kKVxuXG4gICAgcmV0dXJuICFzdGVwUHJlY2lzaW9uXG4gICAgICAgID8gdG9OdW1iZXIoZm9ybWF0dGVkU3RyKVxuICAgICAgICA6IHRvTnVtYmVyKGZvcm1hdHRlZFN0cikudG9GaXhlZChzdGVwUHJlY2lzaW9uKVxufVxuXG5leHBvcnQgY29uc3QgZ2V0UHJlY2lzaW9uID0gKHByb3BzU3RlcDogbnVtYmVyIHwgc3RyaW5nLCB2YWx1ZT86IFRJbnB1dE51bWJlclZhbHVlKSA9PiB7XG4gICAgY29uc3QgbmVlZEZyYWN0aW9uYWxDaGFyID0gIWlzSW50ZWdlcihOdW1iZXIodmFsdWUpKSAmJiBpc0ludGVnZXIoTnVtYmVyKHByb3BzU3RlcCkpXG4gICAgY29uc3Qgc3RlcCA9IG5lZWRGcmFjdGlvbmFsQ2hhciA/IGAke3Byb3BzU3RlcH0uMGAgOiBwcm9wc1N0ZXBcblxuICAgIGNvbnN0IHN0ZXBBcnIgPSBzdGVwXG4gICAgICAgIC50b1N0cmluZygpXG4gICAgICAgIC50cmltKClcbiAgICAgICAgLnNwbGl0KCcuJylcblxuICAgIHJldHVybiBzdGVwQXJyLmxlbmd0aCA9PT0gMSA/IDAgOiBzdGVwQXJyWzFdLmxlbmd0aFxufVxuXG5leHBvcnQgY29uc3QgaXNWYWxpZCA9ICh2YWw6IFRJbnB1dE51bWJlclZhbHVlLCBtaW46IG51bWJlciwgbWF4OiBudW1iZXIpID0+IHtcbiAgICBpZiAoIW1pbiAmJiAhbWF4KSB7XG4gICAgICAgIHJldHVybiB0cnVlXG4gICAgfVxuXG4gICAgY29uc3QgbWF4VmFsdWUgPSB0b051bWJlcihtYXgpXG4gICAgY29uc3QgbWluVmFsdWUgPSB0b051bWJlcihtaW4pXG4gICAgY29uc3QgdmFsdWUgPSB0b051bWJlcih2YWwpXG5cbiAgICBpZiAoIWlzTmFOKG1pblZhbHVlKSAmJiAhaXNOYU4obWF4VmFsdWUpKSB7XG4gICAgICAgIHJldHVybiAhaXNOaWwodmFsKSAmJiAodmFsdWUgPD0gbWF4VmFsdWUgJiYgdmFsdWUgPj0gbWluVmFsdWUpXG4gICAgfVxuXG4gICAgcmV0dXJuICFpc05pbCh2YWwpICYmICh2YWx1ZSA8PSBtYXhWYWx1ZSB8fCB2YWx1ZSA+PSBtaW5WYWx1ZSlcbn1cblxuZXhwb3J0IGNvbnN0IHByZXBhcmVWYWx1ZSA9ICh2YWx1ZTogVElucHV0TnVtYmVyVmFsdWUpID0+IHtcbiAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJykge1xuICAgICAgICB2YWx1ZSA9IHZhbHVlLnJlcGxhY2UoJywnLCAnLicpXG4gICAgfVxuICAgIGlmICh2YWx1ZSA9PT0gJycpIHtcbiAgICAgICAgcmV0dXJuIG51bGxcbiAgICB9XG5cbiAgICBpZiAodmFsdWUgPT09ICctJykge1xuICAgICAgICByZXR1cm4gdmFsdWVcbiAgICB9XG5cbiAgICByZXR1cm4gdG9OdW1iZXIodmFsdWUpXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtYXRjaGVzV2hpdGVMaXN0KHZhbDogVElucHV0TnVtYmVyVmFsdWUpIHtcbiAgICBpZiAoaXNOdWxsKHZhbCkpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlXG4gICAgfVxuXG4gICAgcmV0dXJuIC9eLT9cXGQqWywuXT9cXGQqJC8udGVzdChTdHJpbmcodmFsKSlcbn1cbiJdfQ==
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { TBaseInputProps, TBaseProps } from '../../types';
|
|
3
|
+
import '../../styles/controls/InputPassword.scss';
|
|
4
|
+
declare type InputPasswordProps = TBaseProps & TBaseInputProps<string> & {
|
|
5
|
+
onKeyDown?(): void;
|
|
6
|
+
onPaste?(): void;
|
|
7
|
+
showPasswordBtn?: boolean;
|
|
8
|
+
};
|
|
9
|
+
export declare const InputPassword: ({ className, style, autoFocus, showPasswordBtn, value, placeholder, disabled, onPaste, onFocus, onBlur, onKeyDown, onChange, }: InputPasswordProps) => JSX.Element;
|
|
10
|
+
export {};
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
6
|
+
|
|
7
|
+
Object.defineProperty(exports, "__esModule", {
|
|
8
|
+
value: true
|
|
9
|
+
});
|
|
10
|
+
exports.InputPassword = void 0;
|
|
11
|
+
|
|
12
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
13
|
+
|
|
14
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
15
|
+
|
|
16
|
+
var _classnames = _interopRequireDefault(require("classnames"));
|
|
17
|
+
|
|
18
|
+
var _reactstrap = require("reactstrap");
|
|
19
|
+
|
|
20
|
+
require("../../styles/controls/InputPassword.scss");
|
|
21
|
+
|
|
22
|
+
var _Input = require("../Input");
|
|
23
|
+
|
|
24
|
+
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); }
|
|
25
|
+
|
|
26
|
+
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; }
|
|
27
|
+
|
|
28
|
+
var InputPassword = function InputPassword(_ref) {
|
|
29
|
+
var _ref$className = _ref.className,
|
|
30
|
+
className = _ref$className === void 0 ? '' : _ref$className,
|
|
31
|
+
style = _ref.style,
|
|
32
|
+
autoFocus = _ref.autoFocus,
|
|
33
|
+
_ref$showPasswordBtn = _ref.showPasswordBtn,
|
|
34
|
+
showPasswordBtn = _ref$showPasswordBtn === void 0 ? true : _ref$showPasswordBtn,
|
|
35
|
+
_ref$value = _ref.value,
|
|
36
|
+
value = _ref$value === void 0 ? '' : _ref$value,
|
|
37
|
+
placeholder = _ref.placeholder,
|
|
38
|
+
disabled = _ref.disabled,
|
|
39
|
+
onPaste = _ref.onPaste,
|
|
40
|
+
onFocus = _ref.onFocus,
|
|
41
|
+
onBlur = _ref.onBlur,
|
|
42
|
+
onKeyDown = _ref.onKeyDown,
|
|
43
|
+
onChange = _ref.onChange;
|
|
44
|
+
|
|
45
|
+
var _useState = (0, _react.useState)(false),
|
|
46
|
+
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
47
|
+
showPass = _useState2[0],
|
|
48
|
+
setShowPass = _useState2[1];
|
|
49
|
+
|
|
50
|
+
var onToggleShowPass = function onToggleShowPass() {
|
|
51
|
+
return setShowPass(!showPass);
|
|
52
|
+
};
|
|
53
|
+
|
|
54
|
+
var type = showPass && showPasswordBtn ? 'text' : 'password';
|
|
55
|
+
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
56
|
+
className: "n2o-input-password"
|
|
57
|
+
}, /*#__PURE__*/_react["default"].createElement(_Input.Input, {
|
|
58
|
+
className: (0, _classnames["default"])('form-control', className),
|
|
59
|
+
type: type,
|
|
60
|
+
style: style,
|
|
61
|
+
autoFocus: autoFocus,
|
|
62
|
+
value: value,
|
|
63
|
+
placeholder: placeholder,
|
|
64
|
+
disabled: disabled,
|
|
65
|
+
onPaste: onPaste,
|
|
66
|
+
onFocus: onFocus,
|
|
67
|
+
onBlur: onBlur,
|
|
68
|
+
onKeyDown: onKeyDown,
|
|
69
|
+
onChange: onChange
|
|
70
|
+
}), showPasswordBtn ? /*#__PURE__*/_react["default"].createElement(_reactstrap.Button, {
|
|
71
|
+
className: "n2o-input-password-toggler",
|
|
72
|
+
onClick: onToggleShowPass,
|
|
73
|
+
size: "sm",
|
|
74
|
+
color: "link"
|
|
75
|
+
}, /*#__PURE__*/_react["default"].createElement("i", {
|
|
76
|
+
className: (0, _classnames["default"])('fa', showPass ? 'fa-eye-slash' : 'fa-eye')
|
|
77
|
+
})) : null);
|
|
78
|
+
};
|
|
79
|
+
|
|
80
|
+
exports.InputPassword = InputPassword;
|
|
81
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9pbnB1dHMvSW5wdXRQYXNzd29yZC9JbnB1dFBhc3N3b3JkLnRzeCJdLCJuYW1lcyI6WyJJbnB1dFBhc3N3b3JkIiwiY2xhc3NOYW1lIiwic3R5bGUiLCJhdXRvRm9jdXMiLCJzaG93UGFzc3dvcmRCdG4iLCJ2YWx1ZSIsInBsYWNlaG9sZGVyIiwiZGlzYWJsZWQiLCJvblBhc3RlIiwib25Gb2N1cyIsIm9uQmx1ciIsIm9uS2V5RG93biIsIm9uQ2hhbmdlIiwic2hvd1Bhc3MiLCJzZXRTaG93UGFzcyIsIm9uVG9nZ2xlU2hvd1Bhc3MiLCJ0eXBlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBSUE7O0FBRUE7Ozs7OztBQVFPLElBQU1BLGFBQWEsR0FBRyxTQUFoQkEsYUFBZ0IsT0FhSDtBQUFBLDRCQVp0QkMsU0FZc0I7QUFBQSxNQVp0QkEsU0FZc0IsK0JBWlYsRUFZVTtBQUFBLE1BWHRCQyxLQVdzQixRQVh0QkEsS0FXc0I7QUFBQSxNQVZ0QkMsU0FVc0IsUUFWdEJBLFNBVXNCO0FBQUEsa0NBVHRCQyxlQVNzQjtBQUFBLE1BVHRCQSxlQVNzQixxQ0FUSixJQVNJO0FBQUEsd0JBUnRCQyxLQVFzQjtBQUFBLE1BUnRCQSxLQVFzQiwyQkFSZCxFQVFjO0FBQUEsTUFQdEJDLFdBT3NCLFFBUHRCQSxXQU9zQjtBQUFBLE1BTnRCQyxRQU1zQixRQU50QkEsUUFNc0I7QUFBQSxNQUx0QkMsT0FLc0IsUUFMdEJBLE9BS3NCO0FBQUEsTUFKdEJDLE9BSXNCLFFBSnRCQSxPQUlzQjtBQUFBLE1BSHRCQyxNQUdzQixRQUh0QkEsTUFHc0I7QUFBQSxNQUZ0QkMsU0FFc0IsUUFGdEJBLFNBRXNCO0FBQUEsTUFEdEJDLFFBQ3NCLFFBRHRCQSxRQUNzQjs7QUFDdEIsa0JBQWdDLHFCQUFTLEtBQVQsQ0FBaEM7QUFBQTtBQUFBLE1BQU9DLFFBQVA7QUFBQSxNQUFpQkMsV0FBakI7O0FBQ0EsTUFBTUMsZ0JBQWdCLEdBQUcsU0FBbkJBLGdCQUFtQjtBQUFBLFdBQU1ELFdBQVcsQ0FBQyxDQUFDRCxRQUFGLENBQWpCO0FBQUEsR0FBekI7O0FBQ0EsTUFBTUcsSUFBSSxHQUFJSCxRQUFRLElBQUlULGVBQWIsR0FBZ0MsTUFBaEMsR0FBeUMsVUFBdEQ7QUFFQSxzQkFDSTtBQUFLLElBQUEsU0FBUyxFQUFDO0FBQWYsa0JBQ0ksZ0NBQUMsWUFBRDtBQUNJLElBQUEsU0FBUyxFQUFFLDRCQUFXLGNBQVgsRUFBMkJILFNBQTNCLENBRGY7QUFFSSxJQUFBLElBQUksRUFBRWUsSUFGVjtBQUdJLElBQUEsS0FBSyxFQUFFZCxLQUhYO0FBSUksSUFBQSxTQUFTLEVBQUVDLFNBSmY7QUFLSSxJQUFBLEtBQUssRUFBRUUsS0FMWDtBQU1JLElBQUEsV0FBVyxFQUFFQyxXQU5qQjtBQU9JLElBQUEsUUFBUSxFQUFFQyxRQVBkO0FBUUksSUFBQSxPQUFPLEVBQUVDLE9BUmI7QUFTSSxJQUFBLE9BQU8sRUFBRUMsT0FUYjtBQVVJLElBQUEsTUFBTSxFQUFFQyxNQVZaO0FBV0ksSUFBQSxTQUFTLEVBQUVDLFNBWGY7QUFZSSxJQUFBLFFBQVEsRUFBRUM7QUFaZCxJQURKLEVBZUtSLGVBQWUsZ0JBQ1osZ0NBQUMsa0JBQUQ7QUFDSSxJQUFBLFNBQVMsRUFBQyw0QkFEZDtBQUVJLElBQUEsT0FBTyxFQUFFVyxnQkFGYjtBQUdJLElBQUEsSUFBSSxFQUFDLElBSFQ7QUFJSSxJQUFBLEtBQUssRUFBQztBQUpWLGtCQU1JO0FBQUcsSUFBQSxTQUFTLEVBQUUsNEJBQVcsSUFBWCxFQUFpQkYsUUFBUSxHQUFHLGNBQUgsR0FBb0IsUUFBN0M7QUFBZCxJQU5KLENBRFksR0FTWixJQXhCUixDQURKO0FBNEJILENBOUNNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgY2xhc3NOYW1lcyBmcm9tICdjbGFzc25hbWVzJ1xuaW1wb3J0IHsgQnV0dG9uIH0gZnJvbSAncmVhY3RzdHJhcCdcblxuaW1wb3J0IHsgVEJhc2VJbnB1dFByb3BzLCBUQmFzZVByb3BzIH0gZnJvbSAnLi4vLi4vdHlwZXMnXG5cbmltcG9ydCAnLi4vLi4vc3R5bGVzL2NvbnRyb2xzL0lucHV0UGFzc3dvcmQuc2NzcydcblxuaW1wb3J0IHsgSW5wdXQgfSBmcm9tICcuLi9JbnB1dCdcblxudHlwZSBJbnB1dFBhc3N3b3JkUHJvcHMgPSBUQmFzZVByb3BzICYgVEJhc2VJbnB1dFByb3BzPHN0cmluZz4gJiB7XG4gICAgb25LZXlEb3duPygpOiB2b2lkLFxuICAgIG9uUGFzdGU/KCk6IHZvaWQsXG4gICAgc2hvd1Bhc3N3b3JkQnRuPzogYm9vbGVhblxufVxuXG5leHBvcnQgY29uc3QgSW5wdXRQYXNzd29yZCA9ICh7XG4gICAgY2xhc3NOYW1lID0gJycsXG4gICAgc3R5bGUsXG4gICAgYXV0b0ZvY3VzLFxuICAgIHNob3dQYXNzd29yZEJ0biA9IHRydWUsXG4gICAgdmFsdWUgPSAnJyxcbiAgICBwbGFjZWhvbGRlcixcbiAgICBkaXNhYmxlZCxcbiAgICBvblBhc3RlLFxuICAgIG9uRm9jdXMsXG4gICAgb25CbHVyLFxuICAgIG9uS2V5RG93bixcbiAgICBvbkNoYW5nZSxcbn06IElucHV0UGFzc3dvcmRQcm9wcykgPT4ge1xuICAgIGNvbnN0IFtzaG93UGFzcywgc2V0U2hvd1Bhc3NdID0gdXNlU3RhdGUoZmFsc2UpXG4gICAgY29uc3Qgb25Ub2dnbGVTaG93UGFzcyA9ICgpID0+IHNldFNob3dQYXNzKCFzaG93UGFzcylcbiAgICBjb25zdCB0eXBlID0gKHNob3dQYXNzICYmIHNob3dQYXNzd29yZEJ0bikgPyAndGV4dCcgOiAncGFzc3dvcmQnXG5cbiAgICByZXR1cm4gKFxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm4yby1pbnB1dC1wYXNzd29yZFwiPlxuICAgICAgICAgICAgPElucHV0XG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWVzKCdmb3JtLWNvbnRyb2wnLCBjbGFzc05hbWUpfVxuICAgICAgICAgICAgICAgIHR5cGU9e3R5cGV9XG4gICAgICAgICAgICAgICAgc3R5bGU9e3N0eWxlfVxuICAgICAgICAgICAgICAgIGF1dG9Gb2N1cz17YXV0b0ZvY3VzfVxuICAgICAgICAgICAgICAgIHZhbHVlPXt2YWx1ZX1cbiAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj17cGxhY2Vob2xkZXJ9XG4gICAgICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAgICAgIG9uUGFzdGU9e29uUGFzdGV9XG4gICAgICAgICAgICAgICAgb25Gb2N1cz17b25Gb2N1c31cbiAgICAgICAgICAgICAgICBvbkJsdXI9e29uQmx1cn1cbiAgICAgICAgICAgICAgICBvbktleURvd249e29uS2V5RG93bn1cbiAgICAgICAgICAgICAgICBvbkNoYW5nZT17b25DaGFuZ2V9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAge3Nob3dQYXNzd29yZEJ0biA/IChcbiAgICAgICAgICAgICAgICA8QnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cIm4yby1pbnB1dC1wYXNzd29yZC10b2dnbGVyXCJcbiAgICAgICAgICAgICAgICAgICAgb25DbGljaz17b25Ub2dnbGVTaG93UGFzc31cbiAgICAgICAgICAgICAgICAgICAgc2l6ZT1cInNtXCJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I9XCJsaW5rXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzTmFtZT17Y2xhc3NOYW1lcygnZmEnLCBzaG93UGFzcyA/ICdmYS1leWUtc2xhc2gnIDogJ2ZhLWV5ZScpfSAvPlxuICAgICAgICAgICAgICAgIDwvQnV0dG9uPlxuICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvZGl2PlxuICAgIClcbn1cbiJdfQ==
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { TOption } from './types';
|
|
3
|
+
/**
|
|
4
|
+
* InputAddon - дополнение с иконкой/картинкой для инпута {@Link InputSelectGroup}
|
|
5
|
+
* @reactProps {object} item - выбранный элемент
|
|
6
|
+
* @reactProps {string} iconFieldId - поле иконки
|
|
7
|
+
* @reactProps {string} imageFieldId - поле картинки
|
|
8
|
+
* @return {null}
|
|
9
|
+
*/
|
|
10
|
+
declare type Props = {
|
|
11
|
+
iconFieldId: string;
|
|
12
|
+
imageFieldId: string;
|
|
13
|
+
item: TOption | null;
|
|
14
|
+
setRef?(): void;
|
|
15
|
+
};
|
|
16
|
+
export declare function InputAddon({ item, iconFieldId, imageFieldId, setRef }: Props): JSX.Element | null;
|
|
17
|
+
export {};
|