@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,101 @@
1
+ import React from 'react';
2
+ import { TBaseProps } from '../../types';
3
+ import { PresetType } from '../InputMask/InputMask';
4
+ declare type InputMoneyProps = TBaseProps & typeof defaultProps & {
5
+ allowDecimal?: boolean;
6
+ allowLeadingZeroes?: boolean;
7
+ allowNegative?: boolean;
8
+ decimalLimit?: number;
9
+ decimalSymbol?: string;
10
+ guide?: boolean;
11
+ includeThousandsSeparator?: boolean;
12
+ integerLimit?: number;
13
+ onBlur?(value: number | null): void;
14
+ onChange?(value: number | '-' | null): void;
15
+ prefix?: string;
16
+ suffix?: string;
17
+ t?(str?: string): string;
18
+ thousandsSeparatorSymbol?: string;
19
+ value?: string;
20
+ };
21
+ export declare const ReplaceableChar: {
22
+ readonly PREFIX: "prefix";
23
+ readonly SUFFIX: "suffix";
24
+ readonly THOUSANDS_SYMBOL: "thousandsSeparatorSymbol";
25
+ readonly DECIMAL_SYMBOL: "decimalSymbol";
26
+ };
27
+ declare const defaultProps: {
28
+ value: string;
29
+ includeThousandsSeparator: boolean;
30
+ thousandsSeparatorSymbol: string;
31
+ allowDecimal: boolean;
32
+ decimalSymbol: string;
33
+ decimalLimit: number;
34
+ integerLimit: number;
35
+ allowNegative: boolean;
36
+ allowLeadingZeroes: boolean;
37
+ guide: boolean;
38
+ t: (str: string) => string;
39
+ };
40
+ declare type State = {
41
+ value: string;
42
+ };
43
+ export declare class InputMoney extends React.Component<InputMoneyProps, State> {
44
+ constructor(props: InputMoneyProps);
45
+ componentDidUpdate(prevProps: InputMoneyProps): void;
46
+ onBlur(value: string): void;
47
+ convertToMoney(value: string): string;
48
+ convertToFloat(value: string): string;
49
+ onChange(value: string): void;
50
+ getInputMoneyProps(): {
51
+ preset: PresetType;
52
+ value: string;
53
+ onChange: (value: string) => void;
54
+ onBlur: (value: string) => void;
55
+ className: string;
56
+ presetConfig: {
57
+ suffix: string;
58
+ prefix: string | undefined;
59
+ includeThousandsSeparator: boolean;
60
+ thousandsSeparatorSymbol: string;
61
+ allowDecimal: boolean;
62
+ decimalSymbol: string;
63
+ decimalLimit: number;
64
+ integerLimit: number;
65
+ requireDecimal: boolean;
66
+ allowNegative: boolean;
67
+ allowLeadingZeroes: boolean;
68
+ };
69
+ disabled?: boolean | undefined;
70
+ style?: object | undefined;
71
+ visible?: boolean | undefined;
72
+ includeThousandsSeparator: boolean;
73
+ thousandsSeparatorSymbol: string;
74
+ allowDecimal: boolean;
75
+ decimalSymbol: string;
76
+ decimalLimit: number;
77
+ integerLimit: number;
78
+ allowNegative: boolean;
79
+ allowLeadingZeroes: boolean;
80
+ guide: boolean;
81
+ t: ((str: string) => string) & ((str?: string | undefined) => string);
82
+ prefix?: string | undefined;
83
+ suffix?: string | undefined;
84
+ children?: React.ReactNode;
85
+ };
86
+ render(): JSX.Element;
87
+ static defaultProps: {
88
+ value: string;
89
+ includeThousandsSeparator: boolean;
90
+ thousandsSeparatorSymbol: string;
91
+ allowDecimal: boolean;
92
+ decimalSymbol: string;
93
+ decimalLimit: number;
94
+ integerLimit: number;
95
+ allowNegative: boolean;
96
+ allowLeadingZeroes: boolean;
97
+ guide: boolean;
98
+ t: (str: string) => string;
99
+ };
100
+ }
101
+ export {};
@@ -0,0 +1,258 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.InputMoney = exports.ReplaceableChar = 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 _isNaN = _interopRequireDefault(require("lodash/isNaN"));
29
+
30
+ var _toNumber = _interopRequireDefault(require("lodash/toNumber"));
31
+
32
+ var _isEqual = _interopRequireDefault(require("lodash/isEqual"));
33
+
34
+ var _isNil = _interopRequireDefault(require("lodash/isNil"));
35
+
36
+ var _forOwn = _interopRequireDefault(require("lodash/forOwn"));
37
+
38
+ var _includes = _interopRequireDefault(require("lodash/includes"));
39
+
40
+ var _last2 = _interopRequireDefault(require("lodash/last"));
41
+
42
+ var _split = _interopRequireDefault(require("lodash/split"));
43
+
44
+ var _replace = _interopRequireDefault(require("lodash/replace"));
45
+
46
+ var _isUndefined = _interopRequireDefault(require("lodash/isUndefined"));
47
+
48
+ var _InputMask = require("../InputMask/InputMask");
49
+
50
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
51
+
52
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
53
+
54
+ 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); }; }
55
+
56
+ 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; } }
57
+
58
+ var ReplaceableChar = {
59
+ PREFIX: 'prefix',
60
+ SUFFIX: 'suffix',
61
+ THOUSANDS_SYMBOL: 'thousandsSeparatorSymbol',
62
+ DECIMAL_SYMBOL: 'decimalSymbol'
63
+ };
64
+ exports.ReplaceableChar = ReplaceableChar;
65
+
66
+ var replaceSpecialSymbol = function replaceSpecialSymbol(value, searchValue, replaceValue) {
67
+ return value.replace(searchValue, replaceValue);
68
+ };
69
+
70
+ var defaultProps = {
71
+ value: '',
72
+ includeThousandsSeparator: true,
73
+ thousandsSeparatorSymbol: ' ',
74
+ allowDecimal: true,
75
+ decimalSymbol: ',',
76
+ decimalLimit: 2,
77
+ integerLimit: 15,
78
+ allowNegative: false,
79
+ allowLeadingZeroes: false,
80
+ guide: false,
81
+ t: function t(str) {
82
+ return str;
83
+ }
84
+ };
85
+
86
+ var InputMoney = /*#__PURE__*/function (_React$Component) {
87
+ (0, _inherits2["default"])(InputMoney, _React$Component);
88
+
89
+ var _super = _createSuper(InputMoney);
90
+
91
+ function InputMoney(props) {
92
+ var _this;
93
+
94
+ (0, _classCallCheck2["default"])(this, InputMoney);
95
+ _this = _super.call(this, props);
96
+ _this.state = {
97
+ value: props.value
98
+ };
99
+ _this.onBlur = _this.onBlur.bind((0, _assertThisInitialized2["default"])(_this));
100
+ _this.onChange = _this.onChange.bind((0, _assertThisInitialized2["default"])(_this));
101
+ _this.convertToMoney = _this.convertToMoney.bind((0, _assertThisInitialized2["default"])(_this));
102
+ _this.convertToFloat = _this.convertToFloat.bind((0, _assertThisInitialized2["default"])(_this));
103
+ _this.getInputMoneyProps = _this.getInputMoneyProps.bind((0, _assertThisInitialized2["default"])(_this));
104
+ return _this;
105
+ }
106
+
107
+ (0, _createClass2["default"])(InputMoney, [{
108
+ key: "componentDidUpdate",
109
+ value: function componentDidUpdate(prevProps) {
110
+ var value = this.props.value;
111
+
112
+ if (!(0, _isEqual["default"])(prevProps.value, value)) {
113
+ this.setState({
114
+ value: value
115
+ });
116
+ }
117
+ }
118
+ }, {
119
+ key: "onBlur",
120
+ value: function onBlur(value) {
121
+ var onBlur = this.props.onBlur;
122
+ var convertedValue = parseFloat(this.convertToFloat(value));
123
+
124
+ if (onBlur) {
125
+ onBlur(!(0, _isNaN["default"])(convertedValue) ? convertedValue : null);
126
+ }
127
+
128
+ this.setState({
129
+ value: String(convertedValue)
130
+ });
131
+ }
132
+ }, {
133
+ key: "convertToMoney",
134
+ value: function convertToMoney(value) {
135
+ var _this$props = this.props,
136
+ allowDecimal = _this$props.allowDecimal,
137
+ DECIMAL_SYMBOL = _this$props[ReplaceableChar.DECIMAL_SYMBOL];
138
+
139
+ if (value !== '') {
140
+ value = (0, _replace["default"])(value, '.', DECIMAL_SYMBOL);
141
+ }
142
+
143
+ var splitBySymbol = (0, _split["default"])(value, DECIMAL_SYMBOL);
144
+
145
+ if (!allowDecimal) {
146
+ return splitBySymbol[0];
147
+ }
148
+
149
+ return value;
150
+ }
151
+ }, {
152
+ key: "convertToFloat",
153
+ value: function convertToFloat(value) {
154
+ var _this2 = this,
155
+ _last;
156
+
157
+ var _this$props2 = this.props,
158
+ allowDecimal = _this$props2.allowDecimal,
159
+ DECIMAL_SYMBOL = _this$props2[ReplaceableChar.DECIMAL_SYMBOL];
160
+ var convertedValue = value.toString();
161
+ (0, _forOwn["default"])(ReplaceableChar, function (_char) {
162
+ var replaceableChar = _this2.props[_char];
163
+
164
+ if (!(0, _isUndefined["default"])(replaceableChar)) {
165
+ var pattern = replaceableChar.replace(/[$()*+./?[\\\]^{|}-]/g, '\\$&');
166
+ var regExp = new RegExp(pattern, 'g');
167
+ var replaceableValue = _char === ReplaceableChar.DECIMAL_SYMBOL ? '.' : '';
168
+ convertedValue = replaceSpecialSymbol(convertedValue, regExp, replaceableValue);
169
+ }
170
+ });
171
+ var stateValue = this.state.value;
172
+
173
+ if (allowDecimal && (0, _includes["default"])(stateValue, '.') && !(0, _includes["default"])(value, DECIMAL_SYMBOL)) {
174
+ convertedValue = convertedValue.substring(0, convertedValue.length - 3);
175
+ }
176
+
177
+ if ((0, _includes["default"])(convertedValue, '.') && ((_last = (0, _last2["default"])((0, _split["default"])(convertedValue, '.'))) === null || _last === void 0 ? void 0 : _last.length) === 1) {
178
+ convertedValue += '0';
179
+ }
180
+
181
+ this.setState({
182
+ value: convertedValue
183
+ });
184
+ return convertedValue;
185
+ }
186
+ }, {
187
+ key: "onChange",
188
+ value: function onChange(value) {
189
+ var _this$props3 = this.props,
190
+ onChange = _this$props3.onChange,
191
+ allowNegative = _this$props3.allowNegative;
192
+
193
+ if ((0, _isNaN["default"])((0, _toNumber["default"])(value))) {
194
+ return;
195
+ }
196
+
197
+ var convertedValue = allowNegative && value === '-' || (0, _isNil["default"])(value) ? value : parseFloat(this.convertToFloat(value));
198
+
199
+ if (onChange) {
200
+ onChange(!(0, _isNaN["default"])(convertedValue) ? convertedValue : null);
201
+ }
202
+
203
+ this.setState({
204
+ value: String(convertedValue)
205
+ });
206
+ }
207
+ }, {
208
+ key: "getInputMoneyProps",
209
+ value: function getInputMoneyProps() {
210
+ var _this$props4 = this.props,
211
+ t = _this$props4.t,
212
+ value = _this$props4.value,
213
+ className = _this$props4.className,
214
+ _this$props4$suffix = _this$props4.suffix,
215
+ suffix = _this$props4$suffix === void 0 ? t('rub') : _this$props4$suffix,
216
+ prefix = _this$props4.prefix,
217
+ includeThousandsSeparator = _this$props4.includeThousandsSeparator,
218
+ thousandsSeparatorSymbol = _this$props4.thousandsSeparatorSymbol,
219
+ allowDecimal = _this$props4.allowDecimal,
220
+ decimalSymbol = _this$props4.decimalSymbol,
221
+ decimalLimit = _this$props4.decimalLimit,
222
+ integerLimit = _this$props4.integerLimit,
223
+ allowNegative = _this$props4.allowNegative,
224
+ allowLeadingZeroes = _this$props4.allowLeadingZeroes;
225
+ var stateValue = this.state.value;
226
+ return _objectSpread(_objectSpread({}, this.props), {}, {
227
+ preset: 'money',
228
+ value: this.convertToMoney(value || stateValue),
229
+ onChange: this.onChange,
230
+ onBlur: this.onBlur,
231
+ className: (0, _classnames["default"])('n2o-input-money', className),
232
+ presetConfig: {
233
+ suffix: suffix,
234
+ prefix: prefix,
235
+ includeThousandsSeparator: includeThousandsSeparator,
236
+ thousandsSeparatorSymbol: thousandsSeparatorSymbol,
237
+ allowDecimal: allowDecimal,
238
+ decimalSymbol: decimalSymbol,
239
+ decimalLimit: decimalLimit,
240
+ integerLimit: integerLimit,
241
+ requireDecimal: false,
242
+ allowNegative: allowNegative,
243
+ allowLeadingZeroes: allowLeadingZeroes
244
+ }
245
+ });
246
+ }
247
+ }, {
248
+ key: "render",
249
+ value: function render() {
250
+ return /*#__PURE__*/_react["default"].createElement(_InputMask.InputMask, this.getInputMoneyProps());
251
+ }
252
+ }]);
253
+ return InputMoney;
254
+ }(_react["default"].Component);
255
+
256
+ exports.InputMoney = InputMoney;
257
+ (0, _defineProperty2["default"])(InputMoney, "defaultProps", defaultProps);
258
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9pbnB1dHMvSW5wdXRNb25leS9JbnB1dE1vbmV5LnRzeCJdLCJuYW1lcyI6WyJSZXBsYWNlYWJsZUNoYXIiLCJQUkVGSVgiLCJTVUZGSVgiLCJUSE9VU0FORFNfU1lNQk9MIiwiREVDSU1BTF9TWU1CT0wiLCJyZXBsYWNlU3BlY2lhbFN5bWJvbCIsInZhbHVlIiwic2VhcmNoVmFsdWUiLCJyZXBsYWNlVmFsdWUiLCJyZXBsYWNlIiwiZGVmYXVsdFByb3BzIiwiaW5jbHVkZVRob3VzYW5kc1NlcGFyYXRvciIsInRob3VzYW5kc1NlcGFyYXRvclN5bWJvbCIsImFsbG93RGVjaW1hbCIsImRlY2ltYWxTeW1ib2wiLCJkZWNpbWFsTGltaXQiLCJpbnRlZ2VyTGltaXQiLCJhbGxvd05lZ2F0aXZlIiwiYWxsb3dMZWFkaW5nWmVyb2VzIiwiZ3VpZGUiLCJ0Iiwic3RyIiwiSW5wdXRNb25leSIsInByb3BzIiwic3RhdGUiLCJvbkJsdXIiLCJiaW5kIiwib25DaGFuZ2UiLCJjb252ZXJ0VG9Nb25leSIsImNvbnZlcnRUb0Zsb2F0IiwiZ2V0SW5wdXRNb25leVByb3BzIiwicHJldlByb3BzIiwic2V0U3RhdGUiLCJjb252ZXJ0ZWRWYWx1ZSIsInBhcnNlRmxvYXQiLCJTdHJpbmciLCJzcGxpdEJ5U3ltYm9sIiwidG9TdHJpbmciLCJjaGFyIiwicmVwbGFjZWFibGVDaGFyIiwicGF0dGVybiIsInJlZ0V4cCIsIlJlZ0V4cCIsInJlcGxhY2VhYmxlVmFsdWUiLCJzdGF0ZVZhbHVlIiwic3Vic3RyaW5nIiwibGVuZ3RoIiwiY2xhc3NOYW1lIiwic3VmZml4IiwicHJlZml4IiwicHJlc2V0IiwicHJlc2V0Q29uZmlnIiwicmVxdWlyZURlY2ltYWwiLCJSZWFjdCIsIkNvbXBvbmVudCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFD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QVksRUFBWkEsWUFQVTtBQVFWQyxVQUFBQSxZQUFZLEVBQVpBLFlBUlU7QUFTVm9DLFVBQUFBLGNBQWMsRUFBRSxLQVROO0FBVVZuQyxVQUFBQSxhQUFhLEVBQWJBLGFBVlU7QUFXVkMsVUFBQUEsa0JBQWtCLEVBQWxCQTtBQVhVO0FBUGxCO0FBcUJIOzs7V0FFRCxrQkFBUztBQUNMLDBCQUFPLGdDQUFDLG9CQUFELEVBQWUsS0FBS1ksa0JBQUwsRUFBZixDQUFQO0FBQ0g7OztFQTlKMkJ1QixrQkFBTUMsUzs7O2lDQUF6QmhDLFUsa0JBZ0thWixZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0J1xuaW1wb3J0IGNuIGZyb20gJ2NsYXNzbmFtZXMnXG5pbXBvcnQgaXNOYU4gZnJvbSAnbG9kYXNoL2lzTmFOJ1xuaW1wb3J0IHRvTnVtYmVyIGZyb20gJ2xvZGFzaC90b051bWJlcidcbmltcG9ydCBpc0VxdWFsIGZyb20gJ2xvZGFzaC9pc0VxdWFsJ1xuaW1wb3J0IGlzTmlsIGZyb20gJ2xvZGFzaC9pc05pbCdcbmltcG9ydCBmb3JPd24gZnJvbSAnbG9kYXNoL2Zvck93bidcbmltcG9ydCBpbmNsdWRlcyBmcm9tICdsb2Rhc2gvaW5jbHVkZXMnXG5pbXBvcnQgbGFzdCBmcm9tICdsb2Rhc2gvbGFzdCdcbmltcG9ydCBzcGxpdCBmcm9tICdsb2Rhc2gvc3BsaXQnXG5pbXBvcnQgcmVwbGFjZSBmcm9tICdsb2Rhc2gvcmVwbGFjZSdcbmltcG9ydCBpc1VuZGVmaW5lZCBmcm9tICdsb2Rhc2gvaXNVbmRlZmluZWQnXG5cbmltcG9ydCB7IFRCYXNlUHJvcHMgfSBmcm9tICcuLi8uLi90eXBlcydcbmltcG9ydCB7IElucHV0TWFzaywgUHJlc2V0VHlwZSB9IGZyb20gJy4uL0lucHV0TWFzay9JbnB1dE1hc2snXG5cbnR5cGUgSW5wdXRNb25leVByb3BzID0gVEJhc2VQcm9wcyAmIHR5cGVvZiBkZWZhdWx0UHJvcHMgJiB7XG4gICAgYWxsb3dEZWNpbWFsPzogYm9vbGVhbixcbiAgICBhbGxvd0xlYWRpbmdaZXJvZXM/OiBib29sZWFuLFxuICAgIGFsbG93TmVnYXRpdmU/OiBib29sZWFuLFxuICAgIGRlY2ltYWxMaW1pdD86IG51bWJlcixcbiAgICBkZWNpbWFsU3ltYm9sPzogc3RyaW5nLFxuICAgIGd1aWRlPzogYm9vbGVhbixcbiAgICBpbmNsdWRlVGhvdXNhbmRzU2VwYXJhdG9yPzogYm9vbGVhbixcbiAgICBpbnRlZ2VyTGltaXQ/OiBudW1iZXIsXG4gICAgb25CbHVyPyh2YWx1ZTogbnVtYmVyIHwgbnVsbCk6IHZvaWQsXG4gICAgb25DaGFuZ2U/KHZhbHVlOiBudW1iZXIgfCAnLScgfCBudWxsKTogdm9pZCxcbiAgICBwcmVmaXg/OiBzdHJpbmcsXG4gICAgc3VmZml4Pzogc3RyaW5nLFxuICAgIHQ/KHN0cj86IHN0cmluZyk6IHN0cmluZyxcbiAgICB0aG91c2FuZHNTZXBhcmF0b3JTeW1ib2w/OiBzdHJpbmcsXG4gICAgdmFsdWU/OiBzdHJpbmdcbn1cblxuZXhwb3J0IGNvbnN0IFJlcGxhY2VhYmxlQ2hhciA9IHtcbiAgICBQUkVGSVg6ICdwcmVmaXgnLFxuICAgIFNVRkZJWDogJ3N1ZmZpeCcsXG4gICAgVEhPVVNBTkRTX1NZTUJPTDogJ3Rob3VzYW5kc1NlcGFyYXRvclN5bWJvbCcsXG4gICAgREVDSU1BTF9TWU1CT0w6ICdkZWNpbWFsU3ltYm9sJyxcbn0gYXMgY29uc3RcblxuY29uc3QgcmVwbGFjZVNwZWNpYWxTeW1ib2wgPSAodmFsdWU6IHN0cmluZywgc2VhcmNoVmFsdWU6IFJlZ0V4cCB8IHN0cmluZywgcmVwbGFjZVZhbHVlOiBzdHJpbmcpID0+IChcbiAgICB2YWx1ZS5yZXBsYWNlKHNlYXJjaFZhbHVlLCByZXBsYWNlVmFsdWUpXG4pXG5cbmNvbnN0IGRlZmF1bHRQcm9wcyA9IHtcbiAgICB2YWx1ZTogJycsXG4gICAgaW5jbHVkZVRob3VzYW5kc1NlcGFyYXRvcjogdHJ1ZSxcbiAgICB0aG91c2FuZHNTZXBhcmF0b3JTeW1ib2w6ICcgJyxcbiAgICBhbGxvd0RlY2ltYWw6IHRydWUsXG4gICAgZGVjaW1hbFN5bWJvbDogJywnLFxuICAgIGRlY2ltYWxMaW1pdDogMixcbiAgICBpbnRlZ2VyTGltaXQ6IDE1LFxuICAgIGFsbG93TmVnYXRpdmU6IGZhbHNlLFxuICAgIGFsbG93TGVhZGluZ1plcm9lczogZmFsc2UsXG4gICAgZ3VpZGU6IGZhbHNlLFxuICAgIHQ6IChzdHI6IHN0cmluZykgPT4gc3RyLFxufVxuXG50eXBlIFN0YXRlID0ge1xuICAgIHZhbHVlOiBzdHJpbmdcbn1cblxuZXhwb3J0IGNsYXNzIElucHV0TW9uZXkgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQ8SW5wdXRNb25leVByb3BzLCBTdGF0ZT4ge1xuICAgIGNvbnN0cnVjdG9yKHByb3BzOiBJbnB1dE1vbmV5UHJvcHMpIHtcbiAgICAgICAgc3VwZXIocHJvcHMpXG5cbiAgICAgICAgdGhpcy5zdGF0ZSA9IHtcbiAgICAgICAgICAgIHZhbHVlOiBwcm9wcy52YWx1ZSxcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMub25CbHVyID0gdGhpcy5vbkJsdXIuYmluZCh0aGlzKVxuICAgICAgICB0aGlzLm9uQ2hhbmdlID0gdGhpcy5vbkNoYW5nZS5iaW5kKHRoaXMpXG4gICAgICAgIHRoaXMuY29udmVydFRvTW9uZXkgPSB0aGlzLmNvbnZlcnRUb01vbmV5LmJpbmQodGhpcylcbiAgICAgICAgdGhpcy5jb252ZXJ0VG9GbG9hdCA9IHRoaXMuY29udmVydFRvRmxvYXQuYmluZCh0aGlzKVxuICAgICAgICB0aGlzLmdldElucHV0TW9uZXlQcm9wcyA9IHRoaXMuZ2V0SW5wdXRNb25leVByb3BzLmJpbmQodGhpcylcbiAgICB9XG5cbiAgICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzOiBJbnB1dE1vbmV5UHJvcHMpIHtcbiAgICAgICAgY29uc3QgeyB2YWx1ZSB9ID0gdGhpcy5wcm9wc1xuXG4gICAgICAgIGlmICghaXNFcXVhbChwcmV2UHJvcHMudmFsdWUsIHZhbHVlKSkge1xuICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7IHZhbHVlIH0pXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbkJsdXIodmFsdWU6IHN0cmluZykge1xuICAgICAgICBjb25zdCB7IG9uQmx1ciB9ID0gdGhpcy5wcm9wc1xuICAgICAgICBjb25zdCBjb252ZXJ0ZWRWYWx1ZSA9IHBhcnNlRmxvYXQodGhpcy5jb252ZXJ0VG9GbG9hdCh2YWx1ZSkpXG5cbiAgICAgICAgaWYgKG9uQmx1cikge1xuICAgICAgICAgICAgb25CbHVyKCFpc05hTihjb252ZXJ0ZWRWYWx1ZSkgPyBjb252ZXJ0ZWRWYWx1ZSA6IG51bGwpXG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5zZXRTdGF0ZSh7IHZhbHVlOiBTdHJpbmcoY29udmVydGVkVmFsdWUpIH0pXG4gICAgfVxuXG4gICAgY29udmVydFRvTW9uZXkodmFsdWU6IHN0cmluZykge1xuICAgICAgICBjb25zdCB7XG4gICAgICAgICAgICBhbGxvd0RlY2ltYWwsXG4gICAgICAgICAgICBbUmVwbGFjZWFibGVDaGFyLkRFQ0lNQUxfU1lNQk9MXTogREVDSU1BTF9TWU1CT0wsXG4gICAgICAgIH0gPSB0aGlzLnByb3BzXG5cbiAgICAgICAgaWYgKHZhbHVlICE9PSAnJykge1xuICAgICAgICAgICAgdmFsdWUgPSByZXBsYWNlKHZhbHVlLCAnLicsIERFQ0lNQUxfU1lNQk9MKVxuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qgc3BsaXRCeVN5bWJvbCA9IHNwbGl0KHZhbHVlLCBERUNJTUFMX1NZTUJPTClcblxuICAgICAgICBpZiAoIWFsbG93RGVjaW1hbCkge1xuICAgICAgICAgICAgcmV0dXJuIHNwbGl0QnlTeW1ib2xbMF1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB2YWx1ZVxuICAgIH1cblxuICAgIGNvbnZlcnRUb0Zsb2F0KHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgY29uc3Qge1xuICAgICAgICAgICAgYWxsb3dEZWNpbWFsLFxuICAgICAgICAgICAgW1JlcGxhY2VhYmxlQ2hhci5ERUNJTUFMX1NZTUJPTF06IERFQ0lNQUxfU1lNQk9MLFxuICAgICAgICB9ID0gdGhpcy5wcm9wc1xuICAgICAgICBsZXQgY29udmVydGVkVmFsdWUgPSB2YWx1ZS50b1N0cmluZygpXG5cbiAgICAgICAgZm9yT3duKFJlcGxhY2VhYmxlQ2hhciwgKGNoYXIpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHsgW2NoYXJdOiByZXBsYWNlYWJsZUNoYXIgfSA9IHRoaXMucHJvcHNcblxuICAgICAgICAgICAgaWYgKCFpc1VuZGVmaW5lZChyZXBsYWNlYWJsZUNoYXIpKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgcGF0dGVybiA9IHJlcGxhY2VhYmxlQ2hhci5yZXBsYWNlKFxuICAgICAgICAgICAgICAgICAgICAvWyQoKSorLi8/W1xcXFxcXF1ee3x9LV0vZyxcbiAgICAgICAgICAgICAgICAgICAgJ1xcXFwkJicsXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIGNvbnN0IHJlZ0V4cCA9IG5ldyBSZWdFeHAocGF0dGVybiwgJ2cnKVxuICAgICAgICAgICAgICAgIGNvbnN0IHJlcGxhY2VhYmxlVmFsdWUgPSBjaGFyID09PSBSZXBsYWNlYWJsZUNoYXIuREVDSU1BTF9TWU1CT0wgPyAnLicgOiAnJ1xuXG4gICAgICAgICAgICAgICAgY29udmVydGVkVmFsdWUgPSByZXBsYWNlU3BlY2lhbFN5bWJvbChcbiAgICAgICAgICAgICAgICAgICAgY29udmVydGVkVmFsdWUsXG4gICAgICAgICAgICAgICAgICAgIHJlZ0V4cCxcbiAgICAgICAgICAgICAgICAgICAgcmVwbGFjZWFibGVWYWx1ZSxcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICB9XG4gICAgICAgIH0pXG5cbiAgICAgICAgY29uc3QgeyB2YWx1ZTogc3RhdGVWYWx1ZSB9ID0gdGhpcy5zdGF0ZVxuXG4gICAgICAgIGlmIChcbiAgICAgICAgICAgIGFsbG93RGVjaW1hbCAmJlxuICAgICAgICAgICAgaW5jbHVkZXMoc3RhdGVWYWx1ZSwgJy4nKSAmJlxuICAgICAgICAgICAgIWluY2x1ZGVzKHZhbHVlLCBERUNJTUFMX1NZTUJPTClcbiAgICAgICAgKSB7XG4gICAgICAgICAgICBjb252ZXJ0ZWRWYWx1ZSA9IGNvbnZlcnRlZFZhbHVlLnN1YnN0cmluZygwLCBjb252ZXJ0ZWRWYWx1ZS5sZW5ndGggLSAzKVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgaW5jbHVkZXMoY29udmVydGVkVmFsdWUsICcuJykgJiZcbiAgICAgICAgICAgIGxhc3Qoc3BsaXQoY29udmVydGVkVmFsdWUsICcuJykpPy5sZW5ndGggPT09IDFcbiAgICAgICAgKSB7XG4gICAgICAgICAgICBjb252ZXJ0ZWRWYWx1ZSArPSAnMCdcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuc2V0U3RhdGUoeyB2YWx1ZTogY29udmVydGVkVmFsdWUgfSlcblxuICAgICAgICByZXR1cm4gY29udmVydGVkVmFsdWVcbiAgICB9XG5cbiAgICBvbkNoYW5nZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgICAgIGNvbnN0IHsgb25DaGFuZ2UsIGFsbG93TmVnYXRpdmUgfSA9IHRoaXMucHJvcHNcblxuICAgICAgICBpZiAoaXNOYU4odG9OdW1iZXIodmFsdWUpKSkgeyByZXR1cm4gfVxuXG4gICAgICAgIGNvbnN0IGNvbnZlcnRlZFZhbHVlID0gKGFsbG93TmVnYXRpdmUgJiYgdmFsdWUgPT09ICctJykgfHwgaXNOaWwodmFsdWUpXG4gICAgICAgICAgICA/IHZhbHVlXG4gICAgICAgICAgICA6IHBhcnNlRmxvYXQodGhpcy5jb252ZXJ0VG9GbG9hdCh2YWx1ZSkpXG5cbiAgICAgICAgaWYgKG9uQ2hhbmdlKSB7XG4gICAgICAgICAgICBvbkNoYW5nZSghaXNOYU4oY29udmVydGVkVmFsdWUpID8gY29udmVydGVkVmFsdWUgOiBudWxsKVxuICAgICAgICB9XG4gICAgICAgIHRoaXMuc2V0U3RhdGUoeyB2YWx1ZTogU3RyaW5nKGNvbnZlcnRlZFZhbHVlKSB9KVxuICAgIH1cblxuICAgIGdldElucHV0TW9uZXlQcm9wcygpIHtcbiAgICAgICAgY29uc3Qge1xuICAgICAgICAgICAgdCxcbiAgICAgICAgICAgIHZhbHVlLFxuICAgICAgICAgICAgY2xhc3NOYW1lLFxuICAgICAgICAgICAgc3VmZml4ID0gdCgncnViJyksXG4gICAgICAgICAgICBwcmVmaXgsXG4gICAgICAgICAgICBpbmNsdWRlVGhvdXNhbmRzU2VwYXJhdG9yLFxuICAgICAgICAgICAgdGhvdXNhbmRzU2VwYXJhdG9yU3ltYm9sLFxuICAgICAgICAgICAgYWxsb3dEZWNpbWFsLFxuICAgICAgICAgICAgZGVjaW1hbFN5bWJvbCxcbiAgICAgICAgICAgIGRlY2ltYWxMaW1pdCxcbiAgICAgICAgICAgIGludGVnZXJMaW1pdCxcbiAgICAgICAgICAgIGFsbG93TmVnYXRpdmUsXG4gICAgICAgICAgICBhbGxvd0xlYWRpbmdaZXJvZXMsXG4gICAgICAgIH0gPSB0aGlzLnByb3BzXG4gICAgICAgIGNvbnN0IHsgdmFsdWU6IHN0YXRlVmFsdWUgfSA9IHRoaXMuc3RhdGVcblxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgLi4udGhpcy5wcm9wcyxcbiAgICAgICAgICAgIHByZXNldDogJ21vbmV5JyBhcyBQcmVzZXRUeXBlLFxuICAgICAgICAgICAgdmFsdWU6IHRoaXMuY29udmVydFRvTW9uZXkodmFsdWUgfHwgc3RhdGVWYWx1ZSksXG4gICAgICAgICAgICBvbkNoYW5nZTogdGhpcy5vbkNoYW5nZSxcbiAgICAgICAgICAgIG9uQmx1cjogdGhpcy5vbkJsdXIsXG4gICAgICAgICAgICBjbGFzc05hbWU6IGNuKCduMm8taW5wdXQtbW9uZXknLCBjbGFzc05hbWUpLFxuICAgICAgICAgICAgcHJlc2V0Q29uZmlnOiB7XG4gICAgICAgICAgICAgICAgc3VmZml4LFxuICAgICAgICAgICAgICAgIHByZWZpeCxcbiAgICAgICAgICAgICAgICBpbmNsdWRlVGhvdXNhbmRzU2VwYXJhdG9yLFxuICAgICAgICAgICAgICAgIHRob3VzYW5kc1NlcGFyYXRvclN5bWJvbCxcbiAgICAgICAgICAgICAgICBhbGxvd0RlY2ltYWwsXG4gICAgICAgICAgICAgICAgZGVjaW1hbFN5bWJvbCxcbiAgICAgICAgICAgICAgICBkZWNpbWFsTGltaXQsXG4gICAgICAgICAgICAgICAgaW50ZWdlckxpbWl0LFxuICAgICAgICAgICAgICAgIHJlcXVpcmVEZWNpbWFsOiBmYWxzZSxcbiAgICAgICAgICAgICAgICBhbGxvd05lZ2F0aXZlLFxuICAgICAgICAgICAgICAgIGFsbG93TGVhZGluZ1plcm9lcyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICByZW5kZXIoKSB7XG4gICAgICAgIHJldHVybiA8SW5wdXRNYXNrIHsuLi50aGlzLmdldElucHV0TW9uZXlQcm9wcygpfSAvPlxuICAgIH1cblxuICAgIHN0YXRpYyBkZWZhdWx0UHJvcHMgPSBkZWZhdWx0UHJvcHNcbn1cbiJdfQ==
@@ -0,0 +1,29 @@
1
+ import React, { KeyboardEvent } from 'react';
2
+ import '../../styles/controls/InputNumber.scss';
3
+ import { InputMode, InputNumberProps, InputNumberState, TInputNumberValue } from './types';
4
+ export declare class InputNumberComponent extends React.Component<InputNumberProps, InputNumberState> {
5
+ stepPrecition: number;
6
+ input: HTMLDivElement | null;
7
+ constructor(props: InputNumberProps);
8
+ componentDidUpdate(prevProps: InputNumberProps): void;
9
+ resolveValue: (value: TInputNumberValue) => TInputNumberValue;
10
+ onChange: (value: TInputNumberValue) => void;
11
+ buttonHandler(type: string): void;
12
+ onBlur: () => void;
13
+ onKeyDown: (e: KeyboardEvent<HTMLInputElement>) => void;
14
+ render(): false | JSX.Element;
15
+ }
16
+ export declare const InputNumber: {
17
+ ({ measure, ...props }: import("../../types").TBaseProps & import("../../types").TBaseInputProps<TInputNumberValue> & {
18
+ max?: number | undefined;
19
+ min?: number | undefined;
20
+ mode?: InputMode | undefined;
21
+ onBlur?(value: TInputNumberValue): void;
22
+ precision?: number | undefined;
23
+ showButtons?: boolean | undefined;
24
+ step?: string | number | undefined;
25
+ } & {
26
+ measure?: string | undefined;
27
+ }): JSX.Element;
28
+ displayName: string;
29
+ };