intelicoreact 1.8.10 → 1.8.12

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 (259) hide show
  1. package/dist/Atomic/FormElements/Dropdown/components/DropdownLoader.js +1 -0
  2. package/dist/Atomic/FormElements/FormattedRawSSN/FormattedRawSSN_old.js +1 -0
  3. package/dist/Atomic/FormElements/MobileCalendar/MobileCalendar.js +1 -0
  4. package/dist/Atomic/FormElements/MultiSelect/MultiSelect.js +1 -0
  5. package/dist/Atomic/FormElements/NumericInput/NumericInput.js +1 -0
  6. package/dist/Atomic/FormElements/RadioGroup/RadioGroup.js +1 -0
  7. package/dist/Atomic/FormElements/RadioGroupWithInput/RadioGroupWithInput.js +1 -0
  8. package/dist/Atomic/FormElements/RadioRowSwitcher/RadioRowSwitcher.js +1 -0
  9. package/dist/Atomic/FormElements/RangeCalendar/RangeCalendar.js +1 -0
  10. package/dist/Atomic/FormElements/RangeInputs/RangeInputs.js +1 -1
  11. package/dist/Atomic/FormElements/RangeList/RangeList.js +1 -0
  12. package/dist/Atomic/FormElements/RangeList/partial/RangeListRow.js +1 -0
  13. package/dist/Atomic/FormElements/RangeSlider/RangeSlider.js +1 -0
  14. package/dist/Atomic/FormElements/RangeSlider2/RangeSlider2.js +1 -0
  15. package/dist/Atomic/FormElements/SwitchableRow/SwitchableRow.js +1 -0
  16. package/dist/Atomic/FormElements/SwitcherCheckbox/SwitcherCheckbox.js +1 -0
  17. package/dist/Atomic/FormElements/SwitcherRangeList/SwitcherRangeList.js +1 -0
  18. package/dist/Atomic/FormElements/SwitcherTagsDropdown/SwitcherTagsDropdown.js +1 -0
  19. package/dist/Atomic/FormElements/SwitcherTextarea/SwitcherTextarea.js +1 -0
  20. package/dist/Atomic/FormElements/TagListToDropdown/TagListToDropdown.js +1 -0
  21. package/dist/Atomic/FormElements/TagsDropdown/TagsDropdown.interface.ts +3 -3
  22. package/dist/Atomic/FormElements/TagsDropdown/TagsDropdown.js +1 -1
  23. package/dist/Atomic/FormElements/Text/Text.js +1 -0
  24. package/dist/Atomic/FormElements/Textarea/Textarea.js +1 -0
  25. package/dist/Atomic/FormElements/TieredCheckboxes/TieredCheckboxes.js +1 -0
  26. package/dist/Atomic/FormElements/TieredCheckboxes/partial/AccordionWithCheckbox.js +1 -0
  27. package/dist/Atomic/FormElements/VariantsListRadio/VariantsListRadio.js +1 -0
  28. package/dist/Atomic/FormElements/VariantsListRadio/partials/VariantsListRadioItem.js +1 -0
  29. package/dist/Atomic/FormElements/WidgetPseudoTable/WidgetPseudoTable.js +1 -0
  30. package/dist/Atomic/FormElements/WidgetWithSwitchableRows/WidgetWithSwitchableRows.js +1 -0
  31. package/dist/Atomic/Layout/Header/Header.js +1 -0
  32. package/dist/Atomic/Layout/MainMenu/MainMenu.js +1 -0
  33. package/dist/Atomic/UI/AccordionTable/AccordionTable.js +1 -0
  34. package/dist/Atomic/UI/AccordionText/AccordionText.js +1 -0
  35. package/dist/Atomic/UI/Arrow/Arrow.js +1 -0
  36. package/dist/Atomic/UI/Box/Box.js +1 -0
  37. package/dist/Atomic/UI/Chart/Chart.js +1 -0
  38. package/dist/Atomic/UI/Chart/partial/ChartTypeSwitcherIcon/ChartTypeSwitcherIcon.js +1 -0
  39. package/dist/Atomic/UI/Chart/partial/optionsConstructor.js +1 -0
  40. package/dist/Atomic/UI/CircleProgressBar/CircleProgressBar.js +1 -0
  41. package/dist/Atomic/UI/DateTime/DateTime.js +1 -0
  42. package/dist/Atomic/UI/DebugContainer/DebugContainer.js +1 -0
  43. package/dist/Atomic/UI/DebugContainer/useDebugContainer.js +1 -0
  44. package/dist/Atomic/UI/ExampleChartIntegration/ExampleChartIntegration.js +1 -0
  45. package/dist/Atomic/UI/MonoAccordion/MonoAccordion._test.js +1 -0
  46. package/dist/Atomic/UI/MonoAccordion/MonoAccordion.js +1 -0
  47. package/dist/Atomic/UI/PieChart/PieChart.js +1 -0
  48. package/dist/Atomic/UI/Table/Partials/TdCell.js +1 -0
  49. package/dist/Atomic/UI/Table/Partials/TdHeader.js +1 -0
  50. package/dist/Atomic/UI/Table/Partials/TdRow.js +1 -0
  51. package/dist/Atomic/UI/Table/Partials/TdTitle.js +1 -0
  52. package/dist/Atomic/UI/Table/Table.js +1 -0
  53. package/dist/Atomic/UI/Table/TdTypes/TdActions.js +1 -0
  54. package/dist/Atomic/UI/Table/TdTypes/TdPriority.js +1 -0
  55. package/dist/Atomic/UI/Table/TdTypes/TdRange.js +1 -0
  56. package/dist/Atomic/UI/Table/TdTypes/TdWeight.js +1 -0
  57. package/dist/Atomic/UI/Tag/Tag.interface.ts +1 -1
  58. package/dist/Atomic/UI/Tag/Tag.js +1 -1
  59. package/dist/Atomic/UI/TagList/TagList.js +1 -0
  60. package/dist/Atomic/UI/WizardStepper/constructor.js +1 -0
  61. package/dist/Classes/RESTAPI/partials/CredentialsProcessing.js +1 -0
  62. package/dist/Functions/customEventListener.js +1 -0
  63. package/dist/Functions/operations.js +1 -0
  64. package/dist/Functions/useFormTools/functions/RenderFields.js +1 -0
  65. package/dist/Functions/useFormTools/index.js +1 -0
  66. package/dist/Functions/usePasswordChecker.js +1 -0
  67. package/dist/Functions/utils.js +1 -0
  68. package/dist/Molecular/CustomIcons/components/AffiliateNetworks.js +1 -0
  69. package/dist/Molecular/CustomIcons/components/AlertCircle.js +1 -0
  70. package/dist/Molecular/CustomIcons/components/AppStore.js +1 -0
  71. package/dist/Molecular/CustomIcons/components/Arrow.js +1 -0
  72. package/dist/Molecular/CustomIcons/components/ArrowDown.js +1 -0
  73. package/dist/Molecular/CustomIcons/components/ArrowLeft.js +1 -0
  74. package/dist/Molecular/CustomIcons/components/ArrowRight.js +1 -0
  75. package/dist/Molecular/CustomIcons/components/ArrowUp.js +1 -0
  76. package/dist/Molecular/CustomIcons/components/Bell.js +1 -0
  77. package/dist/Molecular/CustomIcons/components/Button.js +1 -0
  78. package/dist/Molecular/CustomIcons/components/Campaigns.js +1 -0
  79. package/dist/Molecular/CustomIcons/components/Check.js +1 -0
  80. package/dist/Molecular/CustomIcons/components/Check2.js +1 -0
  81. package/dist/Molecular/CustomIcons/components/ChevronDown.js +1 -0
  82. package/dist/Molecular/CustomIcons/components/ChevronDownDisabled.js +1 -0
  83. package/dist/Molecular/CustomIcons/components/ChevronLeft.js +1 -0
  84. package/dist/Molecular/CustomIcons/components/ChevronRight.js +1 -0
  85. package/dist/Molecular/CustomIcons/components/ChevronUp.js +1 -0
  86. package/dist/Molecular/CustomIcons/components/ChevronUpDown.js +1 -0
  87. package/dist/Molecular/CustomIcons/components/Close.js +1 -0
  88. package/dist/Molecular/CustomIcons/components/ColumnsOrder.js +1 -0
  89. package/dist/Molecular/CustomIcons/components/Delete.js +1 -0
  90. package/dist/Molecular/CustomIcons/components/Edit.js +1 -0
  91. package/dist/Molecular/CustomIcons/components/Email.js +1 -0
  92. package/dist/Molecular/CustomIcons/components/FinturfLogo.js +1 -0
  93. package/dist/Molecular/CustomIcons/components/FinturfLogo2.js +1 -0
  94. package/dist/Molecular/CustomIcons/components/Flows.js +1 -0
  95. package/dist/Molecular/CustomIcons/components/Gift.js +1 -0
  96. package/dist/Molecular/CustomIcons/components/GoogleAuth.js +1 -0
  97. package/dist/Molecular/CustomIcons/components/GooglePlay.js +1 -0
  98. package/dist/Molecular/CustomIcons/components/HelpCircle.js +1 -0
  99. package/dist/Molecular/CustomIcons/components/HelpCircle2.js +1 -0
  100. package/dist/Molecular/CustomIcons/components/HelpCircleFilled.js +1 -0
  101. package/dist/Molecular/CustomIcons/components/Home.js +1 -0
  102. package/dist/Molecular/CustomIcons/components/Home2.js +1 -0
  103. package/dist/Molecular/CustomIcons/components/Key.js +1 -0
  104. package/dist/Molecular/CustomIcons/components/Landers.js +1 -0
  105. package/dist/Molecular/CustomIcons/components/Lock.js +1 -0
  106. package/dist/Molecular/CustomIcons/components/Mail.js +1 -0
  107. package/dist/Molecular/CustomIcons/components/Mastercard.js +1 -0
  108. package/dist/Molecular/CustomIcons/components/Minus.js +1 -0
  109. package/dist/Molecular/CustomIcons/components/Offers.js +1 -0
  110. package/dist/Molecular/CustomIcons/components/Pause.js +1 -0
  111. package/dist/Molecular/CustomIcons/components/PayPal.js +1 -0
  112. package/dist/Molecular/CustomIcons/components/PayPalLightLarge.js +1 -0
  113. package/dist/Molecular/CustomIcons/components/Phone.js +1 -0
  114. package/dist/Molecular/CustomIcons/components/Play.js +1 -0
  115. package/dist/Molecular/CustomIcons/components/Plus.js +1 -0
  116. package/dist/Molecular/CustomIcons/components/Profile.js +1 -0
  117. package/dist/Molecular/CustomIcons/components/QRCode.js +1 -0
  118. package/dist/Molecular/CustomIcons/components/Rectangle.js +1 -0
  119. package/dist/Molecular/CustomIcons/components/Revert.js +1 -0
  120. package/dist/Molecular/CustomIcons/components/Star.js +1 -0
  121. package/dist/Molecular/CustomIcons/components/Star2.js +1 -0
  122. package/dist/Molecular/CustomIcons/components/TrafficSources.js +1 -0
  123. package/dist/Molecular/CustomIcons/components/Trash.js +1 -0
  124. package/dist/Molecular/CustomIcons/components/TrashRed.js +1 -0
  125. package/dist/Molecular/CustomIcons/components/Triggers.js +1 -0
  126. package/dist/Molecular/CustomIcons/components/User.js +1 -0
  127. package/dist/Molecular/CustomIcons/components/Visa.js +1 -0
  128. package/dist/Molecular/CustomIcons/components/X.js +1 -0
  129. package/dist/Molecular/FormElement/FormElement.js +1 -0
  130. package/dist/Molecular/FormWithDependOn/FormWithDependOn.js +1 -0
  131. package/dist/Molecular/InputAddress/InputAddress.js +1 -0
  132. package/dist/Molecular/InputPassword/InputPassword.js +1 -0
  133. package/package.json +6 -13
  134. package/dist/Atomic/FormElements/Dropdown/components/DropdownLoader.jsx +0 -18
  135. package/dist/Atomic/FormElements/FormattedRawSSN/FormattedRawSSN_old.jsx +0 -121
  136. package/dist/Atomic/FormElements/MobileCalendar/MobileCalendar.jsx +0 -507
  137. package/dist/Atomic/FormElements/MultiSelect/MultiSelect.jsx +0 -46
  138. package/dist/Atomic/FormElements/NumericInput/NumericInput.jsx +0 -337
  139. package/dist/Atomic/FormElements/RadioGroup/RadioGroup.jsx +0 -66
  140. package/dist/Atomic/FormElements/RadioGroupWithInput/RadioGroupWithInput.jsx +0 -78
  141. package/dist/Atomic/FormElements/RadioRowSwitcher/RadioRowSwitcher.jsx +0 -54
  142. package/dist/Atomic/FormElements/RangeCalendar/RangeCalendar.jsx +0 -183
  143. package/dist/Atomic/FormElements/RangeList/RangeList.jsx +0 -181
  144. package/dist/Atomic/FormElements/RangeList/partial/RangeListRow.jsx +0 -41
  145. package/dist/Atomic/FormElements/RangeSlider/RangeSlider.jsx +0 -449
  146. package/dist/Atomic/FormElements/RangeSlider2/RangeSlider2.jsx +0 -865
  147. package/dist/Atomic/FormElements/SwitchableRow/SwitchableRow.jsx +0 -37
  148. package/dist/Atomic/FormElements/SwitcherCheckbox/SwitcherCheckbox.jsx +0 -48
  149. package/dist/Atomic/FormElements/SwitcherRangeList/SwitcherRangeList.jsx +0 -62
  150. package/dist/Atomic/FormElements/SwitcherTagsDropdown/SwitcherTagsDropdown.jsx +0 -175
  151. package/dist/Atomic/FormElements/SwitcherTextarea/SwitcherTextarea.jsx +0 -65
  152. package/dist/Atomic/FormElements/TagListToDropdown/TagListToDropdown.jsx +0 -118
  153. package/dist/Atomic/FormElements/Text/Text.jsx +0 -126
  154. package/dist/Atomic/FormElements/Textarea/Textarea.jsx +0 -61
  155. package/dist/Atomic/FormElements/TieredCheckboxes/TieredCheckboxes.jsx +0 -181
  156. package/dist/Atomic/FormElements/TieredCheckboxes/partial/AccordionWithCheckbox.jsx +0 -60
  157. package/dist/Atomic/FormElements/VariantsListRadio/VariantsListRadio.jsx +0 -83
  158. package/dist/Atomic/FormElements/VariantsListRadio/partials/VariantsListRadioItem.jsx +0 -80
  159. package/dist/Atomic/FormElements/WidgetPseudoTable/WidgetPseudoTable.jsx +0 -103
  160. package/dist/Atomic/FormElements/WidgetWithSwitchableRows/WidgetWithSwitchableRows.jsx +0 -115
  161. package/dist/Atomic/Layout/Header/Header.jsx +0 -86
  162. package/dist/Atomic/UI/AccordionTable/AccordionTable.jsx +0 -250
  163. package/dist/Atomic/UI/AccordionText/AccordionText.jsx +0 -68
  164. package/dist/Atomic/UI/Arrow/Arrow.jsx +0 -134
  165. package/dist/Atomic/UI/Box/Box.jsx +0 -53
  166. package/dist/Atomic/UI/Chart/Chart.jsx +0 -178
  167. package/dist/Atomic/UI/Chart/partial/ChartTypeSwitcherIcon/ChartTypeSwitcherIcon.jsx +0 -78
  168. package/dist/Atomic/UI/Chart/partial/optionsConstructor.jsx +0 -334
  169. package/dist/Atomic/UI/CircleProgressBar/CircleProgressBar.jsx +0 -111
  170. package/dist/Atomic/UI/DateTime/DateTime.jsx +0 -57
  171. package/dist/Atomic/UI/DebugContainer/DebugContainer.jsx +0 -44
  172. package/dist/Atomic/UI/DebugContainer/useDebugContainer.jsx +0 -15
  173. package/dist/Atomic/UI/ExampleChartIntegration/ExampleChartIntegration.jsx +0 -223
  174. package/dist/Atomic/UI/MonoAccordion/MonoAccordion._test.jsx +0 -75
  175. package/dist/Atomic/UI/MonoAccordion/MonoAccordion.jsx +0 -86
  176. package/dist/Atomic/UI/PieChart/PieChart.jsx +0 -41
  177. package/dist/Atomic/UI/Table/Partials/TdCell.jsx +0 -87
  178. package/dist/Atomic/UI/Table/Partials/TdHeader.jsx +0 -36
  179. package/dist/Atomic/UI/Table/Partials/TdRow.jsx +0 -103
  180. package/dist/Atomic/UI/Table/Partials/TdTitle.jsx +0 -55
  181. package/dist/Atomic/UI/Table/Table.jsx +0 -63
  182. package/dist/Atomic/UI/Table/TdTypes/TdActions.jsx +0 -80
  183. package/dist/Atomic/UI/Table/TdTypes/TdPriority.jsx +0 -26
  184. package/dist/Atomic/UI/Table/TdTypes/TdRange.jsx +0 -13
  185. package/dist/Atomic/UI/Table/TdTypes/TdWeight.jsx +0 -56
  186. package/dist/Atomic/UI/TagList/TagList.jsx +0 -256
  187. package/dist/Atomic/UI/WizardStepper/constructor.jsx +0 -86
  188. package/dist/Classes/RESTAPI/partials/CredentialsProcessing.jsx +0 -254
  189. package/dist/Functions/customEventListener.jsx +0 -96
  190. package/dist/Functions/operations.jsx +0 -138
  191. package/dist/Functions/useFormTools/functions/RenderFields.jsx +0 -108
  192. package/dist/Functions/useFormTools/index.jsx +0 -777
  193. package/dist/Functions/usePasswordChecker.jsx +0 -128
  194. package/dist/Functions/utils.jsx +0 -492
  195. package/dist/Molecular/CustomIcons/components/AffiliateNetworks.jsx +0 -22
  196. package/dist/Molecular/CustomIcons/components/AlertCircle.jsx +0 -24
  197. package/dist/Molecular/CustomIcons/components/AppStore.jsx +0 -30
  198. package/dist/Molecular/CustomIcons/components/Arrow.jsx +0 -33
  199. package/dist/Molecular/CustomIcons/components/ArrowDown.jsx +0 -18
  200. package/dist/Molecular/CustomIcons/components/ArrowLeft.jsx +0 -23
  201. package/dist/Molecular/CustomIcons/components/ArrowRight.jsx +0 -23
  202. package/dist/Molecular/CustomIcons/components/ArrowUp.jsx +0 -18
  203. package/dist/Molecular/CustomIcons/components/Bell.jsx +0 -16
  204. package/dist/Molecular/CustomIcons/components/Button.jsx +0 -13
  205. package/dist/Molecular/CustomIcons/components/Campaigns.jsx +0 -17
  206. package/dist/Molecular/CustomIcons/components/Check.jsx +0 -15
  207. package/dist/Molecular/CustomIcons/components/Check2.jsx +0 -13
  208. package/dist/Molecular/CustomIcons/components/ChevronDown.jsx +0 -13
  209. package/dist/Molecular/CustomIcons/components/ChevronDownDisabled.jsx +0 -12
  210. package/dist/Molecular/CustomIcons/components/ChevronLeft.jsx +0 -12
  211. package/dist/Molecular/CustomIcons/components/ChevronRight.jsx +0 -12
  212. package/dist/Molecular/CustomIcons/components/ChevronUp.jsx +0 -12
  213. package/dist/Molecular/CustomIcons/components/ChevronUpDown.jsx +0 -28
  214. package/dist/Molecular/CustomIcons/components/Close.jsx +0 -15
  215. package/dist/Molecular/CustomIcons/components/ColumnsOrder.jsx +0 -18
  216. package/dist/Molecular/CustomIcons/components/Delete.jsx +0 -17
  217. package/dist/Molecular/CustomIcons/components/Edit.jsx +0 -16
  218. package/dist/Molecular/CustomIcons/components/Email.jsx +0 -32
  219. package/dist/Molecular/CustomIcons/components/FinturfLogo.jsx +0 -19
  220. package/dist/Molecular/CustomIcons/components/FinturfLogo2.jsx +0 -36
  221. package/dist/Molecular/CustomIcons/components/Flows.jsx +0 -16
  222. package/dist/Molecular/CustomIcons/components/Gift.jsx +0 -26
  223. package/dist/Molecular/CustomIcons/components/GoogleAuth.jsx +0 -30
  224. package/dist/Molecular/CustomIcons/components/GooglePlay.jsx +0 -30
  225. package/dist/Molecular/CustomIcons/components/HelpCircle.jsx +0 -20
  226. package/dist/Molecular/CustomIcons/components/HelpCircle2.jsx +0 -21
  227. package/dist/Molecular/CustomIcons/components/HelpCircleFilled.jsx +0 -20
  228. package/dist/Molecular/CustomIcons/components/Home.jsx +0 -17
  229. package/dist/Molecular/CustomIcons/components/Home2.jsx +0 -23
  230. package/dist/Molecular/CustomIcons/components/Key.jsx +0 -24
  231. package/dist/Molecular/CustomIcons/components/Landers.jsx +0 -21
  232. package/dist/Molecular/CustomIcons/components/Lock.jsx +0 -16
  233. package/dist/Molecular/CustomIcons/components/Mail.jsx +0 -27
  234. package/dist/Molecular/CustomIcons/components/Mastercard.jsx +0 -74
  235. package/dist/Molecular/CustomIcons/components/Minus.jsx +0 -26
  236. package/dist/Molecular/CustomIcons/components/Offers.jsx +0 -17
  237. package/dist/Molecular/CustomIcons/components/Pause.jsx +0 -29
  238. package/dist/Molecular/CustomIcons/components/PayPal.jsx +0 -42
  239. package/dist/Molecular/CustomIcons/components/PayPalLightLarge.jsx +0 -29
  240. package/dist/Molecular/CustomIcons/components/Phone.jsx +0 -31
  241. package/dist/Molecular/CustomIcons/components/Play.jsx +0 -26
  242. package/dist/Molecular/CustomIcons/components/Plus.jsx +0 -26
  243. package/dist/Molecular/CustomIcons/components/Profile.jsx +0 -17
  244. package/dist/Molecular/CustomIcons/components/QRCode.jsx +0 -30
  245. package/dist/Molecular/CustomIcons/components/Rectangle.jsx +0 -13
  246. package/dist/Molecular/CustomIcons/components/Revert.jsx +0 -14
  247. package/dist/Molecular/CustomIcons/components/Star.jsx +0 -15
  248. package/dist/Molecular/CustomIcons/components/Star2.jsx +0 -17
  249. package/dist/Molecular/CustomIcons/components/TrafficSources.jsx +0 -15
  250. package/dist/Molecular/CustomIcons/components/Trash.jsx +0 -16
  251. package/dist/Molecular/CustomIcons/components/TrashRed.jsx +0 -16
  252. package/dist/Molecular/CustomIcons/components/Triggers.jsx +0 -16
  253. package/dist/Molecular/CustomIcons/components/User.jsx +0 -26
  254. package/dist/Molecular/CustomIcons/components/Visa.jsx +0 -32
  255. package/dist/Molecular/CustomIcons/components/X.jsx +0 -13
  256. package/dist/Molecular/FormElement/FormElement.jsx +0 -52
  257. package/dist/Molecular/FormWithDependOn/FormWithDependOn.jsx +0 -161
  258. package/dist/Molecular/InputAddress/InputAddress.jsx +0 -641
  259. package/dist/Molecular/InputPassword/InputPassword.jsx +0 -50
@@ -1,337 +0,0 @@
1
- import cn from 'classnames';
2
-
3
- import { useEffect, useRef, useState } from 'react';
4
- import { Minus, Plus } from 'react-feather';
5
-
6
- import { KEYBOARD_SERVICE_KEYS } from '../../../Constants/index.constants';
7
- import {
8
- formatToAddBitDepthPoints as addCommas,
9
- filterNumeric,
10
- formatToRemoveComa as removeCommas,
11
- } from '../../../Functions/fieldValueFormatters';
12
- //import Spinner from '../../Layout/Spinner/Spinner';
13
-
14
- import './NumericInput.scss';
15
-
16
- function NumericInput({
17
- disabled,
18
- withDelete,
19
- numStep = 1,
20
- min = 0,
21
- max,
22
- value,
23
- placeholder,
24
- className,
25
- testId = 'numeric-input',
26
- name,
27
- fieldKey,
28
- id,
29
-
30
- onChange = () => {},
31
- onBlur = () => {},
32
- onFocus = () => {},
33
- onKeyUp = () => {},
34
- onKeyDown = () => {},
35
-
36
- maskChar,
37
- formatChars,
38
- error,
39
- icon,
40
- isNotBlinkErrors,
41
- blinkTime,
42
- isPriceInput,
43
- isFocusDefault = false,
44
- isNotRenderButtons = false,
45
- isUseAutoSelect = true,
46
- isLoading = false,
47
- isAllowNullValue = false,
48
- onlyNumbers = {
49
- type: 'int',
50
- },
51
-
52
- attributesOfNativeInput = {},
53
- }) {
54
- const DEFAULT_BLINK_TIME = 200;
55
-
56
- // REFS
57
- const inputRef = useRef(null);
58
- const decRef = useRef(null);
59
- const incRef = useRef(null);
60
- const wrapRef = useRef(null);
61
-
62
- // STATES
63
- const initialMin = isAllowNullValue ? '' : min;
64
- const [inputValue, setInputValue] = useState(value || initialMin);
65
- const [inputValueFormated, setInputValueFormated] = useState(inputValue);
66
- const [intMemoVal, setIntMemoVal] = useState(0);
67
-
68
- const [isFocused, setIsFocused] = useState(false);
69
-
70
- const [isAttemptToChange, setIsAttemptToChange] = useState(false);
71
- const [isToHighlightError, setIsToHighlightError] = useState(false);
72
-
73
- const [prevValue, setPreviousValue] = useState(value || initialMin);
74
-
75
- const setCursorToEnd = () => {
76
- const input = inputRef.current;
77
- const cursor = input?.value?.length;
78
- if (input) setTimeout(() => input.setSelectionRange(cursor, cursor), 10);
79
- };
80
-
81
- // HANDLES
82
- const handle = {
83
- change: (e) => {
84
- const inputValue = e.target
85
- ? filterNumeric(e.target.value, onlyNumbers)
86
- : filterNumeric(e, onlyNumbers);
87
- setInputValue(inputValue.toString());
88
- },
89
- clear: () => {
90
- handle.change(initialMin || '');
91
- },
92
- focus: (e) => {
93
- setIsFocused(true);
94
- if (onFocus) onFocus(e);
95
- },
96
- blur: (e) => {
97
- setIsFocused(false);
98
-
99
- if (Number.isNaN(inputValue) || inputValue < min)
100
- setInputValue(initialMin);
101
- if (max && Number(max) < inputValue) setInputValue(max);
102
-
103
- if (onBlur) onBlur(e);
104
- },
105
- keyDown: (e) => {
106
- setPreviousValue(e?.target?.value);
107
- onKeyDown(e.keyCode, e);
108
- },
109
-
110
- keyUp: (e) => {
111
- if (!isNotBlinkErrors) {
112
- const changedValue = String(value ?? '');
113
- const previousValue = String(prevValue);
114
-
115
- const short
116
- = previousValue.length <= changedValue.length
117
- ? previousValue
118
- : changedValue;
119
- const long
120
- = previousValue.length > changedValue.length
121
- ? previousValue
122
- : changedValue;
123
-
124
- const infoAboutDifferencesSameness = short.split('').reduce(
125
- (acc, symbol, idx) => {
126
- if (acc.countOn && symbol === long[idx]) {
127
- acc.same.push(symbol);
128
- }
129
- else {
130
- acc.countOn = false;
131
- acc.differences.push([idx, symbol]);
132
- }
133
- return acc;
134
- },
135
- { same: [], countOn: true, differences: [] },
136
- );
137
-
138
- const samePart = infoAboutDifferencesSameness.same.join('');
139
- const differencesLength
140
- = infoAboutDifferencesSameness.differences.length;
141
- const currentSet = changedValue?.replace(samePart, '');
142
-
143
- if (
144
- !KEYBOARD_SERVICE_KEYS.includes(e.key)
145
- && changedValue === previousValue
146
- ) {
147
- setIsAttemptToChange(!(!differencesLength && e.key === currentSet));
148
- }
149
- }
150
-
151
- if (onKeyUp) onKeyUp(e.keyCode, e.target.value);
152
- },
153
- decrement: (e) => {
154
- let newValue = Number(intMemoVal) - Number(numStep);
155
- if (newValue < min) newValue = min;
156
- else if (newValue > max) newValue = max;
157
-
158
- handle.change(newValue);
159
-
160
- setTimeout(() => {
161
- inputRef?.current?.focus();
162
- setCursorToEnd();
163
- }, 100);
164
- },
165
- increment: (e) => {
166
- let newValue = Number(intMemoVal) + Number(numStep);
167
- if (newValue < min) newValue = min;
168
- else if (newValue > max) newValue = max;
169
-
170
- handle.change(newValue);
171
-
172
- setTimeout(() => {
173
- inputRef?.current?.focus();
174
- setCursorToEnd();
175
- }, 100);
176
- },
177
- };
178
-
179
- // Check Outside Click
180
- useEffect(() => {
181
- const handleClickOutside = (event) => {
182
- if (!wrapRef.current.contains(event.target)) setIsFocused(false);
183
- };
184
-
185
- document.addEventListener('mousedown', handleClickOutside, true);
186
- return () =>
187
- document.removeEventListener('mousedown', handleClickOutside, true);
188
- }, []);
189
-
190
- useEffect(() => {
191
- if (!isNotBlinkErrors && isAttemptToChange) {
192
- setIsAttemptToChange(false);
193
- setIsToHighlightError(true);
194
- setTimeout(() => {
195
- setIsToHighlightError(false);
196
- }, blinkTime || DEFAULT_BLINK_TIME);
197
- }
198
- }, [isAttemptToChange]);
199
-
200
- useEffect(() => {
201
- if (value && value !== inputValue) setInputValue(value);
202
- }, [value]);
203
-
204
- // On Input Value Change
205
- useEffect(() => {
206
- if (inputValue !== value) setIsFocused(true);
207
-
208
- setInputValueFormated(
209
- isPriceInput && inputValue?.length > 0
210
- ? isFocused
211
- ? removeCommas(inputValue)
212
- : addCommas(inputValue)
213
- : inputValue,
214
- );
215
- setIntMemoVal(removeCommas(inputValue));
216
-
217
- if (typeof onChange === 'function' && value !== undefined && +inputValue !== +value) onChange(inputValue?.toString());
218
- }, [inputValue]);
219
-
220
- // On Integer Value Change
221
- useEffect(() => {
222
- if (isNaN(intMemoVal)) setIntMemoVal(min || 0);
223
- }, [intMemoVal]);
224
-
225
- // On Focuse Change
226
- useEffect(() => {
227
- let formatedValue = inputValue;
228
- if (isPriceInput) {
229
- formatedValue = isFocused
230
- ? removeCommas(inputValue)
231
- : addCommas(inputValue);
232
- }
233
- setInputValueFormated(formatedValue);
234
-
235
- if (isFocused) {
236
- if (typeof onFocus === 'function') onFocus({ target: inputRef?.current });
237
- inputRef?.current?.focus();
238
- }
239
- else {
240
- if (typeof onBlur === 'function') onBlur({ target: inputRef?.current });
241
- inputRef?.current?.blur();
242
- }
243
- }, [isFocused]);
244
-
245
- useEffect(() => {
246
- if (inputRef?.current && typeof isFocusDefault === 'boolean')
247
- setIsFocused(isFocusDefault);
248
- }, [inputRef, isFocusDefault]);
249
-
250
- function renderInput() {
251
- const uniProps = {
252
- name: name || fieldKey || id || testId || '',
253
- className: `input ${className || ''}`,
254
- placeholder,
255
- value: inputValueFormated,
256
- disabled,
257
- onChange: handle.change,
258
- onFocus: handle.focus,
259
- onBlur: handle.blur,
260
- onKeyDown: handle.keyDown,
261
- onKeyUp: handle.keyUp,
262
- min,
263
- max,
264
- ...(maskChar ? { maskChar } : {}),
265
- ...(formatChars ? { formatChars } : {}),
266
- };
267
-
268
- return (
269
- <>
270
- <input
271
- {...uniProps}
272
- data-testid={`${testId}-input`}
273
- value={value?.length > 0 ? addCommas(removeCommas(value)) : value}
274
- ref={inputRef}
275
- type="text"
276
- onFocus={(...params) => {
277
- if (isUseAutoSelect) inputRef.current.select();
278
- if (uniProps.onFocus) uniProps.onFocus(...params);
279
- }}
280
- {...attributesOfNativeInput}
281
- />
282
-
283
- {!isNotRenderButtons
284
- ? (
285
- <div className="input__nums">
286
- <button
287
- data-testid={`${testId}-minus-btn`}
288
- ref={decRef}
289
- className={cn('input__num-btn', {
290
- 'events-none': Number(value) <= min,
291
- })}
292
- onMouseDown={e => handle.decrement(e)}
293
- >
294
- <Minus className={cn({ disabled: Number(value) <= min })} />
295
- </button>
296
- <button
297
- data-testid={`-${testId}-plus-btn`}
298
- ref={incRef}
299
- className={cn('input__num-btn', {
300
- 'events-none': Number(value) >= max,
301
- })}
302
- onMouseDown={e => handle.increment(e)}
303
- >
304
- <Plus className={cn({ disabled: Number(value) >= max })} />
305
- </button>
306
- </div>
307
- )
308
- : null}
309
- </>
310
- );
311
- }
312
-
313
- return (
314
- <div
315
- data-testid={testId}
316
- ref={wrapRef}
317
- className={cn(
318
- `input__wrap`,
319
- { [`input__wrap_focus`]: isFocused },
320
- { [`input__wrap_error`]: error || isToHighlightError },
321
- { [`input__wrap--disabled`]: disabled || isLoading },
322
- )}
323
- >
324
- {renderInput()}
325
- {icon}
326
- {withDelete && (
327
- <span
328
- className={cn(`input__close`, { hidden: !inputValue })}
329
- onClick={() => handle.clear()}
330
- />
331
- )}
332
-
333
- </div>
334
- );
335
- }
336
-
337
- export default NumericInput;
@@ -1,66 +0,0 @@
1
- import cn from 'classnames';
2
-
3
- import { useLayoutEffect, useState } from 'react';
4
-
5
- import RadioInput from '../RadioInput/RadioInput';
6
-
7
- import './RadioGroup.scss';
8
-
9
- function RadioGroup({
10
- className,
11
- disabled,
12
- value,
13
- onChange = () => {},
14
- direction = 'row',
15
- options = [],
16
- }) {
17
- const [values, setValues] = useState(options);
18
-
19
- useLayoutEffect(
20
- () =>
21
- setValues(
22
- options.map(item =>
23
- item.value === value ? { ...item, checked: value } : item,
24
- ),
25
- ),
26
- [options, value],
27
- );
28
-
29
- const handle = {
30
- change: (value) => {
31
- const newValues = values.map((item) => {
32
- if (item.value === value) {
33
- return {
34
- ...item,
35
- checked: value,
36
- };
37
- }
38
- return {
39
- id: item.id,
40
- label: item.label,
41
- value: item.value,
42
- };
43
- });
44
- setValues(newValues);
45
- onChange(value);
46
- },
47
- };
48
- return (
49
- <div
50
- className={cn('radio-group', className, `radio-group--${direction}`, {
51
- 'radio-group--disabled': disabled,
52
- })}
53
- >
54
- {values.map(item => (
55
- <RadioInput
56
- key={item.id}
57
- {...item}
58
- onChange={handle.change}
59
- checked={item.checked}
60
- />
61
- ))}
62
- </div>
63
- );
64
- }
65
-
66
- export default RadioGroup;
@@ -1,78 +0,0 @@
1
- import cn from 'classnames';
2
-
3
- import FormElement from '../../../Molecular/FormElement/FormElement';
4
- import Alert from '../../UI/Alert/Alert';
5
-
6
- import Input from './../Input/Input';
7
- import RadioInput from './../RadioInput/RadioInput';
8
-
9
- import './RadioGroupWithInput.scss';
10
-
11
- function RadioGroupWithInput({
12
- alert,
13
- className,
14
- disabled,
15
- onChange = () => {},
16
- direction = 'row',
17
- options = [],
18
- }) {
19
- const handle = {
20
- changeRadio: (value, el) => {
21
- const newOptions = options.map((item) => {
22
- return {
23
- ...item,
24
- checked: el.value === item.value ? item.value : false,
25
- };
26
- });
27
- onChange(newOptions);
28
- },
29
- changeInput: (value, el) => {
30
- el.input.value = value;
31
- onChange(options);
32
- },
33
- };
34
-
35
- return (
36
- <div className="radio-group-input-box">
37
- {alert && <Alert className="mb10" {...alert} />}
38
- <div
39
- className={cn(
40
- 'radio-group-input',
41
- className,
42
- `radio-group-input--${direction}`,
43
- {
44
- 'radio-group-input--disabled': disabled,
45
- },
46
- )}
47
- >
48
- {options?.map((item) => {
49
- return (
50
- <div
51
- key={item.id}
52
- className={cn(
53
- 'radio-group-input-item',
54
- `radio-group-input-item-${item.id}`,
55
- )}
56
- >
57
- <RadioInput
58
- {...item}
59
- onChange={value => handle.changeRadio(value, item)}
60
- checked={item.checked}
61
- />
62
- {item.input && item.checked && (
63
- <FormElement {...item.input}>
64
- <Input
65
- onChange={value => handle.changeInput(value, item)}
66
- {...item.input}
67
- />
68
- </FormElement>
69
- )}
70
- </div>
71
- );
72
- })}
73
- </div>
74
- </div>
75
- );
76
- }
77
-
78
- export default RadioGroupWithInput;
@@ -1,54 +0,0 @@
1
- import React, { useState } from "react";
2
-
3
- import "./RadioRowSwitcher.scss";
4
-
5
- const classNames = require("classnames");
6
-
7
- function RadioRowSwitcher({ onChange, radios, label = '', value = '' }) {
8
- const handle = {
9
- change: (newValue) => {
10
- if (newValue === value) onChange('');
11
- else onChange(newValue);
12
- },
13
- };
14
-
15
- const itemClass = key =>
16
- classNames('radio-row-switcher__item', {
17
- [`radio-row-switcher__item--active`]: key === value,
18
- });
19
- const sliderClass = key =>
20
- classNames(
21
- 'radio-row-switcher__slider',
22
- `radio-row-switcher__slider--${key}`,
23
- );
24
-
25
- return (
26
- <div className="radio-row-switcher">
27
- {label && <div className="radio-row-switcher__label">{label}</div>}
28
-
29
- <div className="radio-row-switcher__items-box">
30
- {radios.map((item) => {
31
- return (
32
- <React.Fragment key={item.key}>
33
- <div
34
- onClick={() => handle.change(item.key)}
35
- className={itemClass(item.key)}
36
- >
37
- {item.label}
38
- </div>
39
- </React.Fragment>
40
- );
41
- })}
42
-
43
- {value && (
44
- <div
45
- onClick={() => handle.change('')}
46
- className={sliderClass(value)}
47
- />
48
- )}
49
- </div>
50
- </div>
51
- );
52
- }
53
-
54
- export default RadioRowSwitcher;