@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.
Files changed (241) hide show
  1. package/index.js +0 -0
  2. package/lib/display/Alerts/Alert.d.ts +2 -0
  3. package/lib/display/Alerts/Alert.js +121 -0
  4. package/lib/display/Alerts/AlertSection.d.ts +18 -0
  5. package/lib/display/Alerts/AlertSection.js +64 -0
  6. package/lib/display/Alerts/AlertWrapper.d.ts +6 -0
  7. package/lib/display/Alerts/AlertWrapper.js +39 -0
  8. package/lib/display/Alerts/DefaultAlert.d.ts +6 -0
  9. package/lib/display/Alerts/DefaultAlert.js +125 -0
  10. package/lib/display/Alerts/LoaderAlert.d.ts +5 -0
  11. package/lib/display/Alerts/LoaderAlert.js +36 -0
  12. package/lib/display/Alerts/types.d.ts +49 -0
  13. package/lib/display/Alerts/types.js +24 -0
  14. package/lib/display/Alerts/utils.d.ts +15 -0
  15. package/lib/display/Alerts/utils.js +102 -0
  16. package/lib/display/Badge/Badge.d.ts +16 -0
  17. package/lib/display/Badge/Badge.js +77 -0
  18. package/lib/display/Badge/enums.d.ts +9 -0
  19. package/lib/display/Badge/enums.js +23 -0
  20. package/lib/display/Badge/utils.d.ts +9 -0
  21. package/lib/display/Badge/utils.js +49 -0
  22. package/lib/display/Block.d.ts +369 -0
  23. package/lib/display/Block.js +38 -0
  24. package/lib/display/CodeViewer/CodeViewer.d.ts +13 -0
  25. package/lib/display/CodeViewer/CodeViewer.js +96 -0
  26. package/lib/display/Drawer/Drawer.d.ts +25 -0
  27. package/lib/display/Drawer/Drawer.js +99 -0
  28. package/lib/display/DropdownCustomItem.d.ts +7 -0
  29. package/lib/display/DropdownCustomItem.js +23 -0
  30. package/lib/display/Filter/Buttons.d.ts +11 -0
  31. package/lib/display/Filter/Buttons.js +42 -0
  32. package/lib/display/Filter/Filter.d.ts +8 -0
  33. package/lib/display/Filter/Filter.js +38 -0
  34. package/lib/display/HelpPopover.d.ts +16 -0
  35. package/lib/display/HelpPopover.js +104 -0
  36. package/lib/display/Html.d.ts +8 -0
  37. package/lib/display/Html.js +29 -0
  38. package/lib/display/Icon/Icon.d.ts +11 -0
  39. package/lib/display/Icon/Icon.js +42 -0
  40. package/lib/display/Image/Image.d.ts +30 -0
  41. package/lib/display/Image/Image.js +93 -0
  42. package/lib/display/Image/ImageInfo.d.ts +7 -0
  43. package/lib/display/Image/ImageInfo.js +23 -0
  44. package/lib/display/InputIcon.d.ts +13 -0
  45. package/lib/display/InputIcon.js +33 -0
  46. package/lib/display/NavItemImage/NavItemImage.d.ts +9 -0
  47. package/lib/display/NavItemImage/NavItemImage.js +35 -0
  48. package/lib/display/OutputList.d.ts +12 -0
  49. package/lib/display/OutputList.js +46 -0
  50. package/lib/display/OutputListItem.d.ts +10 -0
  51. package/lib/display/OutputListItem.js +58 -0
  52. package/lib/display/OutputText.d.ts +15 -0
  53. package/lib/display/OutputText.js +170 -0
  54. package/lib/display/Pagination/Pagination.d.ts +2 -0
  55. package/lib/display/Pagination/Pagination.js +273 -0
  56. package/lib/display/Pagination/PaginationButton.d.ts +13 -0
  57. package/lib/display/Pagination/PaginationButton.js +53 -0
  58. package/lib/display/Pagination/types.d.ts +62 -0
  59. package/lib/display/Pagination/types.js +36 -0
  60. package/lib/display/PopoverConfirm/PopoverConfirm.d.ts +30 -0
  61. package/lib/display/PopoverConfirm/PopoverConfirm.js +87 -0
  62. package/lib/display/ProgressControl/ProgressControl.d.ts +17 -0
  63. package/lib/display/ProgressControl/ProgressControl.js +68 -0
  64. package/lib/display/Slider.d.ts +23 -0
  65. package/lib/display/Slider.js +107 -0
  66. package/lib/display/Status.d.ts +9 -0
  67. package/lib/display/Status.js +40 -0
  68. package/lib/display/StatusText/StatusText.d.ts +10 -0
  69. package/lib/display/StatusText/StatusText.js +35 -0
  70. package/lib/display/StatusText/types.d.ts +18 -0
  71. package/lib/display/StatusText/types.js +19 -0
  72. package/lib/display/StatusText/utils.d.ts +3 -0
  73. package/lib/display/StatusText/utils.js +29 -0
  74. package/lib/display/Text.d.ts +12 -0
  75. package/lib/display/Text.js +38 -0
  76. package/lib/display/Typography/Base.d.ts +32 -0
  77. package/lib/display/Typography/Base.js +259 -0
  78. package/lib/display/Typography/ContentEditable.d.ts +15 -0
  79. package/lib/display/Typography/ContentEditable.js +86 -0
  80. package/lib/display/Typography/Paragraph.d.ts +4 -0
  81. package/lib/display/Typography/Paragraph.js +23 -0
  82. package/lib/display/Typography/Text.d.ts +9 -0
  83. package/lib/display/Typography/Text.js +37 -0
  84. package/lib/display/Typography/Title.d.ts +7 -0
  85. package/lib/display/Typography/Title.js +28 -0
  86. package/lib/display/Typography/utils.d.ts +13 -0
  87. package/lib/display/Typography/utils.js +75 -0
  88. package/lib/helpers/HelpPopover.d.ts +9 -0
  89. package/lib/helpers/HelpPopover.js +46 -0
  90. package/lib/helpers/withRightPlaceholder.d.ts +9 -0
  91. package/lib/helpers/withRightPlaceholder.js +35 -0
  92. package/lib/inputs/Checkbox/Checkbox.d.ts +29 -0
  93. package/lib/inputs/Checkbox/Checkbox.js +117 -0
  94. package/lib/inputs/Checkbox/CheckboxControl.d.ts +7 -0
  95. package/lib/inputs/Checkbox/CheckboxControl.js +33 -0
  96. package/lib/inputs/CheckboxGroup/CheckboxGroup.d.ts +11 -0
  97. package/lib/inputs/CheckboxGroup/CheckboxGroup.js +84 -0
  98. package/lib/inputs/CodeEditor/CodeEditor.d.ts +21 -0
  99. package/lib/inputs/CodeEditor/CodeEditor.js +85 -0
  100. package/lib/inputs/DatePicker/Calendar.d.ts +65 -0
  101. package/lib/inputs/DatePicker/Calendar.js +556 -0
  102. package/lib/inputs/DatePicker/CalendarHeader.d.ts +26 -0
  103. package/lib/inputs/DatePicker/CalendarHeader.js +213 -0
  104. package/lib/inputs/DatePicker/Clock.d.ts +10 -0
  105. package/lib/inputs/DatePicker/Clock.js +45 -0
  106. package/lib/inputs/DatePicker/DateInput.d.ts +44 -0
  107. package/lib/inputs/DatePicker/DateInput.js +262 -0
  108. package/lib/inputs/DatePicker/DateInputGroup.d.ts +20 -0
  109. package/lib/inputs/DatePicker/DateInputGroup.js +77 -0
  110. package/lib/inputs/DatePicker/DateInterval.d.ts +24 -0
  111. package/lib/inputs/DatePicker/DateInterval.js +92 -0
  112. package/lib/inputs/DatePicker/DatePicker.d.ts +22 -0
  113. package/lib/inputs/DatePicker/DatePicker.js +36 -0
  114. package/lib/inputs/DatePicker/DateTimeControl.d.ts +98 -0
  115. package/lib/inputs/DatePicker/DateTimeControl.js +452 -0
  116. package/lib/inputs/DatePicker/Day.d.ts +14 -0
  117. package/lib/inputs/DatePicker/Day.js +50 -0
  118. package/lib/inputs/DatePicker/PopUp.d.ts +19 -0
  119. package/lib/inputs/DatePicker/PopUp.js +71 -0
  120. package/lib/inputs/DatePicker/types.d.ts +31 -0
  121. package/lib/inputs/DatePicker/types.js +25 -0
  122. package/lib/inputs/DatePicker/utils.d.ts +39 -0
  123. package/lib/inputs/DatePicker/utils.js +304 -0
  124. package/lib/inputs/Input.d.ts +51 -0
  125. package/lib/inputs/Input.js +200 -0
  126. package/lib/inputs/InputMask/InputMask.d.ts +23 -0
  127. package/lib/inputs/InputMask/InputMask.js +310 -0
  128. package/lib/inputs/InputMoney/InputMoney.d.ts +101 -0
  129. package/lib/inputs/InputMoney/InputMoney.js +258 -0
  130. package/lib/inputs/InputNumber/InputNumber.d.ts +29 -0
  131. package/lib/inputs/InputNumber/InputNumber.js +316 -0
  132. package/lib/inputs/InputNumber/index.d.ts +1 -0
  133. package/lib/inputs/InputNumber/index.js +14 -0
  134. package/lib/inputs/InputNumber/types.d.ts +18 -0
  135. package/lib/inputs/InputNumber/types.js +14 -0
  136. package/lib/inputs/InputNumber/utils.d.ts +6 -0
  137. package/lib/inputs/InputNumber/utils.js +86 -0
  138. package/lib/inputs/InputPassword/InputPassword.d.ts +10 -0
  139. package/lib/inputs/InputPassword/InputPassword.js +81 -0
  140. package/lib/inputs/InputSelect/InputAddon.d.ts +17 -0
  141. package/lib/inputs/InputSelect/InputAddon.js +31 -0
  142. package/lib/inputs/InputSelect/InputContent.d.ts +63 -0
  143. package/lib/inputs/InputSelect/InputContent.js +188 -0
  144. package/lib/inputs/InputSelect/InputSelect.d.ts +296 -0
  145. package/lib/inputs/InputSelect/InputSelect.js +795 -0
  146. package/lib/inputs/InputSelect/InputSelectGroup.d.ts +43 -0
  147. package/lib/inputs/InputSelect/InputSelectGroup.js +113 -0
  148. package/lib/inputs/InputSelect/PopupItems.d.ts +55 -0
  149. package/lib/inputs/InputSelect/PopupItems.js +357 -0
  150. package/lib/inputs/InputSelect/PopupList.d.ts +82 -0
  151. package/lib/inputs/InputSelect/PopupList.js +138 -0
  152. package/lib/inputs/InputSelect/SelectedItems.d.ts +17 -0
  153. package/lib/inputs/InputSelect/SelectedItems.js +125 -0
  154. package/lib/inputs/InputSelect/constants.d.ts +4 -0
  155. package/lib/inputs/InputSelect/constants.js +15 -0
  156. package/lib/inputs/InputSelect/types.d.ts +16 -0
  157. package/lib/inputs/InputSelect/types.js +16 -0
  158. package/lib/inputs/InputSelect/utils.d.ts +9 -0
  159. package/lib/inputs/InputSelect/utils.js +142 -0
  160. package/lib/inputs/InputSelectTree/InputSelectTree.d.ts +114 -0
  161. package/lib/inputs/InputSelectTree/InputSelectTree.js +466 -0
  162. package/lib/inputs/InputSelectTree/TreeSelectNode.d.ts +36 -0
  163. package/lib/inputs/InputSelectTree/TreeSelectNode.js +63 -0
  164. package/lib/inputs/InputSelectTree/allProps.d.ts +123 -0
  165. package/lib/inputs/InputSelectTree/allProps.js +48 -0
  166. package/lib/inputs/InputSelectTree/until.d.ts +4 -0
  167. package/lib/inputs/InputSelectTree/until.js +83 -0
  168. package/lib/inputs/InputText.d.ts +41 -0
  169. package/lib/inputs/InputText.js +170 -0
  170. package/lib/inputs/NumberPicker/NumberPicker.d.ts +15 -0
  171. package/lib/inputs/NumberPicker/NumberPicker.js +129 -0
  172. package/lib/inputs/NumberPicker/NumberPickerButton.d.ts +8 -0
  173. package/lib/inputs/NumberPicker/NumberPickerButton.js +64 -0
  174. package/lib/inputs/NumberPicker/index.d.ts +1 -0
  175. package/lib/inputs/NumberPicker/index.js +14 -0
  176. package/lib/inputs/NumberPicker/utils.d.ts +2 -0
  177. package/lib/inputs/NumberPicker/utils.js +31 -0
  178. package/lib/inputs/RadioGroup/default/Group.d.ts +15 -0
  179. package/lib/inputs/RadioGroup/default/Group.js +63 -0
  180. package/lib/inputs/RadioGroup/default/Input.d.ts +17 -0
  181. package/lib/inputs/RadioGroup/default/Input.js +77 -0
  182. package/lib/inputs/RadioGroup/tabs/Group.d.ts +3 -0
  183. package/lib/inputs/RadioGroup/tabs/Group.js +24 -0
  184. package/lib/inputs/RadioGroup/tabs/Input.d.ts +3 -0
  185. package/lib/inputs/RadioGroup/tabs/Input.js +21 -0
  186. package/lib/inputs/Rating/Rating.d.ts +30 -0
  187. package/lib/inputs/Rating/Rating.js +212 -0
  188. package/lib/inputs/Select/Popup.d.ts +31 -0
  189. package/lib/inputs/Select/Popup.js +131 -0
  190. package/lib/inputs/Select/Select.d.ts +225 -0
  191. package/lib/inputs/Select/Select.js +705 -0
  192. package/lib/inputs/Select/SelectInput.d.ts +19 -0
  193. package/lib/inputs/Select/SelectInput.js +85 -0
  194. package/lib/inputs/Select/utils.d.ts +1 -0
  195. package/lib/inputs/Select/utils.js +28 -0
  196. package/lib/inputs/Switch/Switch.d.ts +11 -0
  197. package/lib/inputs/Switch/Switch.js +41 -0
  198. package/lib/inputs/TextArea.d.ts +12 -0
  199. package/lib/inputs/TextArea.js +54 -0
  200. package/lib/inputs/TextEditor/TextEditor.d.ts +11 -0
  201. package/lib/inputs/TextEditor/TextEditor.js +89 -0
  202. package/lib/inputs/TimePicker/TimePicker.d.ts +50 -0
  203. package/lib/inputs/TimePicker/TimePicker.js +398 -0
  204. package/lib/inputs/utils.d.ts +5 -0
  205. package/lib/inputs/utils.js +39 -0
  206. package/lib/layouts/ScrollContainer.d.ts +218 -0
  207. package/lib/layouts/ScrollContainer.js +128 -0
  208. package/lib/layouts/Spinner/CoverSpinner.d.ts +29 -0
  209. package/lib/layouts/Spinner/CoverSpinner.js +153 -0
  210. package/lib/layouts/Spinner/InlineSpinner.d.ts +5 -0
  211. package/lib/layouts/Spinner/InlineSpinner.js +27 -0
  212. package/lib/layouts/Spinner/Spinner.d.ts +31 -0
  213. package/lib/layouts/Spinner/Spinner.js +178 -0
  214. package/lib/styles/components/Calendar.scss +125 -0
  215. package/lib/styles/components/CalendarHeader.scss +75 -0
  216. package/lib/styles/components/DateInputGroup.scss +39 -0
  217. package/lib/styles/components/DatePicker.scss +18 -0
  218. package/lib/styles/components/Day.scss +29 -0
  219. package/lib/styles/components/OutputList.scss +14 -0
  220. package/lib/styles/components/OutputText.scss +50 -0
  221. package/lib/styles/controls/CodeEditor.scss +4 -0
  222. package/lib/styles/controls/InputNumber.scss +36 -0
  223. package/lib/styles/controls/InputPassword.scss +17 -0
  224. package/lib/styles/controls/InputText.scss +59 -0
  225. package/lib/styles/controls/NumberPicker.scss +36 -0
  226. package/lib/styles/controls/ProgressControl.scss +3 -0
  227. package/lib/styles/controls/Slider.scss +32 -0
  228. package/lib/styles/controls/Switch.scss +105 -0
  229. package/lib/styles/controls/TextEditor.scss +23 -0
  230. package/lib/styles/controls/TimePicker.scss +32 -0
  231. package/lib/styles/n2o/variables.scss +328 -0
  232. package/lib/styles/theme/variables.scss +81 -0
  233. package/lib/styles/variables.scss +10 -0
  234. package/lib/types.d.ts +25 -0
  235. package/lib/types.js +6 -0
  236. package/lib/utils/id.d.ts +3 -0
  237. package/lib/utils/id.js +46 -0
  238. package/lib/utils/isEmptyModel.d.ts +1 -0
  239. package/lib/utils/isEmptyModel.js +21 -0
  240. package/lib/utils/parseFormatter.js +153 -0
  241. 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 {};