intelicoreact 1.4.81 → 1.4.83

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 (258) hide show
  1. package/dist/Atomic/FormElements/ActionAlert/ActionAlert.js +13 -13
  2. package/dist/Atomic/FormElements/AdvancedStatus/AdvancedStatus.js +12 -13
  3. package/dist/Atomic/FormElements/Calendar/Calendar.js +103 -68
  4. package/dist/Atomic/FormElements/CheckboxInput/CheckboxInput.js +26 -26
  5. package/dist/Atomic/FormElements/CheckboxesLine/CheckboxesLine.js +27 -23
  6. package/dist/Atomic/FormElements/Datepicker/Datepicker.js +201 -114
  7. package/dist/Atomic/FormElements/Datepicker/components/Calendar.js +69 -46
  8. package/dist/Atomic/FormElements/Dropdown/Dropdown.js +301 -230
  9. package/dist/Atomic/FormElements/Dropdown/components/DropdownLoader.js +2 -4
  10. package/dist/Atomic/FormElements/DropdownLiveSearch/DropdownLiveSearch.js +201 -145
  11. package/dist/Atomic/FormElements/FileLoader/FileLoader.js +54 -41
  12. package/dist/Atomic/FormElements/FileLoader/partial/LoadZone.js +112 -45
  13. package/dist/Atomic/FormElements/FileLoader/partial/LoadedContent.js +63 -34
  14. package/dist/Atomic/FormElements/FileLoaderDescription/FileLoaderDescription.js +153 -81
  15. package/dist/Atomic/FormElements/FileLoaderLocal/FileLoaderLocal.js +59 -57
  16. package/dist/Atomic/FormElements/FileLoaderLocalGroup/FileLoaderLocalGroup.js +98 -66
  17. package/dist/Atomic/FormElements/FormattedRawSSN/FormattedRawSSN.js +48 -27
  18. package/dist/Atomic/FormElements/Input/Input.js +209 -148
  19. package/dist/Atomic/FormElements/InputCalendar/InputCalendar.js +77 -50
  20. package/dist/Atomic/FormElements/InputColor/InputColor.js +28 -23
  21. package/dist/Atomic/FormElements/InputCurrency/InputCurrency.js +53 -38
  22. package/dist/Atomic/FormElements/InputDateRange/InputDateRange.js +139 -106
  23. package/dist/Atomic/FormElements/InputDateRange/components/DateInput.js +38 -31
  24. package/dist/Atomic/FormElements/InputDateRange/components/Datepicker.js +230 -135
  25. package/dist/Atomic/FormElements/InputDateRange/components/OpenedPart.js +122 -85
  26. package/dist/Atomic/FormElements/InputDateRange/components/SelectItem.js +8 -10
  27. package/dist/Atomic/FormElements/InputDateRange/dependencies.js +159 -72
  28. package/dist/Atomic/FormElements/InputLink/InputLink.js +39 -30
  29. package/dist/Atomic/FormElements/InputMask/InputCarretPosition.js +8 -8
  30. package/dist/Atomic/FormElements/InputMask/InputMask.js +800 -521
  31. package/dist/Atomic/FormElements/InputMask/config.js +1 -1
  32. package/dist/Atomic/FormElements/InputMask/functions.js +15 -15
  33. package/dist/Atomic/FormElements/InputMask2/InputMask2.js +294 -234
  34. package/dist/Atomic/FormElements/InputMask2/config.js +1 -1
  35. package/dist/Atomic/FormElements/InputMask2/functions.js +15 -15
  36. package/dist/Atomic/FormElements/InputMask3/InputMask3.js +332 -265
  37. package/dist/Atomic/FormElements/InputMask3/config.js +1 -1
  38. package/dist/Atomic/FormElements/InputMask3/functions.js +15 -15
  39. package/dist/Atomic/FormElements/InputWithAction/InputWithAction.js +101 -53
  40. package/dist/Atomic/FormElements/InputsRow/InputsRow.js +99 -64
  41. package/dist/Atomic/FormElements/Label/Label.js +15 -13
  42. package/dist/Atomic/FormElements/MobileCalendar/MobileCalendar.js +284 -190
  43. package/dist/Atomic/FormElements/MultiSelect/MultiSelect.js +34 -24
  44. package/dist/Atomic/FormElements/NumericInput/NumericInput.js +170 -117
  45. package/dist/Atomic/FormElements/RadioGroup/RadioGroup.js +50 -28
  46. package/dist/Atomic/FormElements/RadioGroupWithInput/RadioGroupWithInput.js +29 -18
  47. package/dist/Atomic/FormElements/RadioInput/RadioInput.js +24 -22
  48. package/dist/Atomic/FormElements/RadioRowSwitcher/RadioRowSwitcher.js +31 -19
  49. package/dist/Atomic/FormElements/RangeCalendar/RangeCalendar.js +83 -56
  50. package/dist/Atomic/FormElements/RangeInputs/RangeInputs.js +75 -49
  51. package/dist/Atomic/FormElements/RangeList/RangeList.js +129 -87
  52. package/dist/Atomic/FormElements/RangeList/partial/RangeListRow.js +18 -22
  53. package/dist/Atomic/FormElements/RangeSlider/RangeSlider.js +250 -143
  54. package/dist/Atomic/FormElements/RangeSlider2/RangeSlider2.js +477 -367
  55. package/dist/Atomic/FormElements/SwitchableRow/SwitchableRow.js +15 -14
  56. package/dist/Atomic/FormElements/Switcher/Switcher.js +20 -24
  57. package/dist/Atomic/FormElements/SwitcherCheckbox/SwitcherCheckbox.js +30 -24
  58. package/dist/Atomic/FormElements/SwitcherHide/SwitcherHide.js +23 -20
  59. package/dist/Atomic/FormElements/SwitcherRadio/SwitcherRadio.js +40 -32
  60. package/dist/Atomic/FormElements/SwitcherRange/SwitcherRange.js +31 -25
  61. package/dist/Atomic/FormElements/SwitcherRangeList/SwitcherRangeList.js +22 -22
  62. package/dist/Atomic/FormElements/SwitcherTagsDropdown/SwitcherTagsDropdown.js +98 -52
  63. package/dist/Atomic/FormElements/SwitcherTextarea/SwitcherTextarea.js +34 -22
  64. package/dist/Atomic/FormElements/TagListToDropdown/TagListToDropdown.js +81 -47
  65. package/dist/Atomic/FormElements/TagsDropdown/TagsDropdown.js +525 -415
  66. package/dist/Atomic/FormElements/Text/Text.js +39 -39
  67. package/dist/Atomic/FormElements/TextSwitcher/TextSwitcher.js +23 -21
  68. package/dist/Atomic/FormElements/Textarea/Textarea.js +33 -28
  69. package/dist/Atomic/FormElements/TieredCheckboxes/TieredCheckboxes.js +98 -67
  70. package/dist/Atomic/FormElements/TieredCheckboxes/partial/AccordionWithCheckbox.js +24 -22
  71. package/dist/Atomic/FormElements/TimeRange/TimeRange.js +57 -34
  72. package/dist/Atomic/FormElements/UserContacts/UserContacts.js +94 -56
  73. package/dist/Atomic/FormElements/UserContacts/partial/defaultIcons.js +102 -74
  74. package/dist/Atomic/FormElements/VariantsListRadio/VariantsListRadio.js +69 -50
  75. package/dist/Atomic/FormElements/VariantsListRadio/partials/VariantsListRadioItem.js +33 -30
  76. package/dist/Atomic/FormElements/WidgetPseudoTable/WidgetPseudoTable.js +50 -38
  77. package/dist/Atomic/FormElements/WidgetPseudoTable/partial/constructor.js +1 -1
  78. package/dist/Atomic/FormElements/WidgetWithSwitchableRows/WidgetWithSwitchableRows.js +59 -47
  79. package/dist/Atomic/FormElements/WidgetWithSwitchableRows/partial/constructor.js +1 -1
  80. package/dist/Atomic/Layout/Header/Header.js +37 -22
  81. package/dist/Atomic/Layout/MainMenu/MainMenu.js +59 -34
  82. package/dist/Atomic/Layout/Spinner/Spinner.js +6 -7
  83. package/dist/Atomic/UI/Accordion/Accordion.js +31 -17
  84. package/dist/Atomic/UI/Accordion/AccordionItem.js +41 -30
  85. package/dist/Atomic/UI/AccordionTable/AccordionTable.js +81 -50
  86. package/dist/Atomic/UI/AccordionText/AccordionText.js +39 -20
  87. package/dist/Atomic/UI/AdvancedTag/AdvTag.js +74 -46
  88. package/dist/Atomic/UI/AdvancedTag/AdvancedTags.js +37 -21
  89. package/dist/Atomic/UI/Alert/Alert.js +36 -23
  90. package/dist/Atomic/UI/Arrow/Arrow.js +21 -14
  91. package/dist/Atomic/UI/Box/Box.js +12 -11
  92. package/dist/Atomic/UI/Button/Button.js +26 -26
  93. package/dist/Atomic/UI/ButtonsBar/ButtonsBar.js +21 -21
  94. package/dist/Atomic/UI/Chart/Chart.js +60 -44
  95. package/dist/Atomic/UI/Chart/partial/Chart.constants.js +13 -11
  96. package/dist/Atomic/UI/Chart/partial/ChartTypeSwitcherIcon/ChartTypeSwitcherIcon.js +10 -12
  97. package/dist/Atomic/UI/Chart/partial/datasetSetters.js +82 -60
  98. package/dist/Atomic/UI/Chart/partial/optionsConstructor.js +124 -116
  99. package/dist/Atomic/UI/Chart/partial/optionsSetters.js +30 -18
  100. package/dist/Atomic/UI/Chart/partial/utils.js +30 -16
  101. package/dist/Atomic/UI/CircleProgressBar/CircleProgressBar.js +31 -21
  102. package/dist/Atomic/UI/DateTime/DateTime.js +29 -25
  103. package/dist/Atomic/UI/DebugContainer/DebugContainer.js +23 -11
  104. package/dist/Atomic/UI/DebugContainer/useDebugContainer.js +12 -4
  105. package/dist/Atomic/UI/DoubleString/DoubleString.js +53 -36
  106. package/dist/Atomic/UI/DynamicIcon/DynamicIcon.js +55 -14
  107. package/dist/Atomic/UI/ExampleChartIntegration/ExampleChartIntegration.js +114 -54
  108. package/dist/Atomic/UI/ExampleChartIntegration/partial/utils.js +88 -53
  109. package/dist/Atomic/UI/Hint/Hint.js +87 -58
  110. package/dist/Atomic/UI/Hint/partials/_utils.js +10 -10
  111. package/dist/Atomic/UI/Modal/Modal.js +159 -144
  112. package/dist/Atomic/UI/Modal/ModalHOC.js +17 -14
  113. package/dist/Atomic/UI/Modal/partials/ModalFooter.js +5 -6
  114. package/dist/Atomic/UI/Modal/partials/ModalTitle.js +13 -16
  115. package/dist/Atomic/UI/Modal/partials/useMobileModal.js +118 -73
  116. package/dist/Atomic/UI/MonoAccordion/MonoAccordion.js +48 -33
  117. package/dist/Atomic/UI/NavLine/NavLine.js +166 -104
  118. package/dist/Atomic/UI/PageTitle/PageTitle.js +8 -12
  119. package/dist/Atomic/UI/PieChart/PieChart.js +11 -10
  120. package/dist/Atomic/UI/Price/Price.js +5 -7
  121. package/dist/Atomic/UI/PriceRange/PriceRange.js +4 -6
  122. package/dist/Atomic/UI/ProgressLine/ProgressLine.js +42 -27
  123. package/dist/Atomic/UI/Status/Status.js +22 -18
  124. package/dist/Atomic/UI/Table/Partials/TdCell.js +47 -28
  125. package/dist/Atomic/UI/Table/Partials/TdHeader.js +5 -6
  126. package/dist/Atomic/UI/Table/Partials/TdRow.js +53 -29
  127. package/dist/Atomic/UI/Table/Partials/TdTitle.js +28 -15
  128. package/dist/Atomic/UI/Table/Table.js +36 -27
  129. package/dist/Atomic/UI/Table/TdTypes/TdActions.js +32 -18
  130. package/dist/Atomic/UI/Table/TdTypes/TdPriority.js +10 -8
  131. package/dist/Atomic/UI/Table/TdTypes/TdRange.js +2 -4
  132. package/dist/Atomic/UI/Table/TdTypes/TdWeight.js +26 -21
  133. package/dist/Atomic/UI/Tag/Tag.js +72 -52
  134. package/dist/Atomic/UI/TagList/TagList.js +102 -65
  135. package/dist/Atomic/UI/UserBox/UserBox.js +13 -13
  136. package/dist/Atomic/UI/WizardStepper/constructor.js +6 -6
  137. package/dist/Atomic/UI/WizardStepper/ui/StateIcon/StateIcon.js +16 -20
  138. package/dist/Atomic/UI/WizardStepper/ui/StepRow/StepRow.js +25 -27
  139. package/dist/Atomic/UI/WizardStepper/ui/StepWrapper/StepWrapper.js +27 -22
  140. package/dist/Atomic/UI/WizardStepper/ui/icons.js +41 -39
  141. package/dist/Classes/AbortableFetch.js +393 -311
  142. package/dist/Classes/AnimatedHandler.js +53 -45
  143. package/dist/Classes/RESTAPI/index.js +431 -152
  144. package/dist/Classes/RESTAPI/partials/AbortableFetch.js +400 -320
  145. package/dist/Classes/RESTAPI/partials/ApiBase.js +59 -24
  146. package/dist/Classes/RESTAPI/partials/ApiRequestCreators.js +338 -76
  147. package/dist/Classes/RESTAPI/partials/ApiUtils.js +378 -143
  148. package/dist/Classes/RESTAPI/partials/CredentialsProcessing.js +375 -159
  149. package/dist/Classes/RESTAPI/partials/Utils.js +128 -87
  150. package/dist/Classes/RESTAPI/partials/_utils.js +388 -116
  151. package/dist/Constants/index.constants.js +7 -7
  152. package/dist/Functions/Portal.js +19 -11
  153. package/dist/Functions/customEventListener.js +7 -5
  154. package/dist/Functions/fieldValueFormatters.js +131 -109
  155. package/dist/Functions/hooks/useFormFieldsChangesManager.js +128 -69
  156. package/dist/Functions/locale/createTranslator.js +21 -11
  157. package/dist/Functions/operations.js +27 -23
  158. package/dist/Functions/presets/inputMaskPreset.js +176 -0
  159. package/dist/Functions/presets/inputMaskPresets.js +17 -17
  160. package/dist/Functions/presets/inputPresets.js +15 -15
  161. package/dist/Functions/presets/mobileKeyboardTypesPresets.js +3 -3
  162. package/dist/Functions/schemas.js +7 -5
  163. package/dist/Functions/useBodyScrollLock.js +3 -3
  164. package/dist/Functions/useClickOutside.js +3 -3
  165. package/dist/Functions/useDebounce.js +20 -11
  166. package/dist/Functions/useFieldFocus.js +51 -38
  167. package/dist/Functions/useFormTools/form-drivers/ArrayWithObjects.js +46 -36
  168. package/dist/Functions/useFormTools/form-drivers/ObjectWithIterableObjects.js +78 -68
  169. package/dist/Functions/useFormTools/form-drivers/ObjectWithNamedKeyObjects.js +81 -54
  170. package/dist/Functions/useFormTools/functions/General.js +80 -71
  171. package/dist/Functions/useFormTools/functions/RenderFields.js +63 -45
  172. package/dist/Functions/useFormTools/functions/usePrevious.js +2 -2
  173. package/dist/Functions/useFormTools/index.js +467 -314
  174. package/dist/Functions/useInputHighlightError.js +42 -26
  175. package/dist/Functions/useIsMobile.js +29 -11
  176. package/dist/Functions/useKeyPress/useHandleKeyPress.js +8 -9
  177. package/dist/Functions/useKeyPress/useKeyPress.js +26 -17
  178. package/dist/Functions/useLocalStorage.js +13 -6
  179. package/dist/Functions/useLocationParams.js +24 -14
  180. package/dist/Functions/useMediaQuery.js +18 -7
  181. package/dist/Functions/useMetaInfo.js +40 -16
  182. package/dist/Functions/useMouseUpOutside.js +2 -2
  183. package/dist/Functions/useOnlineStatus.js +17 -6
  184. package/dist/Functions/usePasswordChecker.js +61 -42
  185. package/dist/Functions/usePrevious.js +2 -2
  186. package/dist/Functions/useResize.js +24 -12
  187. package/dist/Functions/useScrollTo.js +13 -4
  188. package/dist/Functions/useToggle.js +25 -9
  189. package/dist/Functions/utils.js +272 -147
  190. package/dist/Molecular/CustomIcons/components/AffiliateNetworks.js +27 -23
  191. package/dist/Molecular/CustomIcons/components/AlertCircle.js +27 -23
  192. package/dist/Molecular/CustomIcons/components/AppStore.js +31 -27
  193. package/dist/Molecular/CustomIcons/components/Arrow.js +37 -33
  194. package/dist/Molecular/CustomIcons/components/ArrowDown.js +19 -15
  195. package/dist/Molecular/CustomIcons/components/ArrowLeft.js +22 -18
  196. package/dist/Molecular/CustomIcons/components/ArrowRight.js +22 -18
  197. package/dist/Molecular/CustomIcons/components/ArrowUp.js +19 -15
  198. package/dist/Molecular/CustomIcons/components/Bell.js +17 -13
  199. package/dist/Molecular/CustomIcons/components/Button.js +17 -13
  200. package/dist/Molecular/CustomIcons/components/Campaigns.js +18 -14
  201. package/dist/Molecular/CustomIcons/components/Check.js +18 -14
  202. package/dist/Molecular/CustomIcons/components/Check2.js +17 -13
  203. package/dist/Molecular/CustomIcons/components/ChevronDown.js +17 -13
  204. package/dist/Molecular/CustomIcons/components/ChevronDownDisabled.js +17 -13
  205. package/dist/Molecular/CustomIcons/components/ChevronLeft.js +17 -13
  206. package/dist/Molecular/CustomIcons/components/ChevronRight.js +17 -13
  207. package/dist/Molecular/CustomIcons/components/ChevronUp.js +17 -13
  208. package/dist/Molecular/CustomIcons/components/ChevronUpDown.js +32 -28
  209. package/dist/Molecular/CustomIcons/components/Close.js +19 -15
  210. package/dist/Molecular/CustomIcons/components/ColumnsOrder.js +44 -40
  211. package/dist/Molecular/CustomIcons/components/Delete.js +18 -14
  212. package/dist/Molecular/CustomIcons/components/Edit.js +17 -13
  213. package/dist/Molecular/CustomIcons/components/Email.js +35 -31
  214. package/dist/Molecular/CustomIcons/components/FinturfLogo.js +25 -21
  215. package/dist/Molecular/CustomIcons/components/FinturfLogo2.js +33 -29
  216. package/dist/Molecular/CustomIcons/components/Flows.js +17 -13
  217. package/dist/Molecular/CustomIcons/components/Gift.js +22 -18
  218. package/dist/Molecular/CustomIcons/components/GoogleAuth.js +31 -27
  219. package/dist/Molecular/CustomIcons/components/GooglePlay.js +31 -27
  220. package/dist/Molecular/CustomIcons/components/HelpCircle.js +20 -16
  221. package/dist/Molecular/CustomIcons/components/HelpCircle2.js +21 -17
  222. package/dist/Molecular/CustomIcons/components/HelpCircleFilled.js +20 -16
  223. package/dist/Molecular/CustomIcons/components/Home.js +20 -16
  224. package/dist/Molecular/CustomIcons/components/Home2.js +23 -19
  225. package/dist/Molecular/CustomIcons/components/Key.js +25 -21
  226. package/dist/Molecular/CustomIcons/components/Landers.js +21 -17
  227. package/dist/Molecular/CustomIcons/components/Lock.js +17 -13
  228. package/dist/Molecular/CustomIcons/components/Mail.js +25 -21
  229. package/dist/Molecular/CustomIcons/components/Mastercard.js +65 -61
  230. package/dist/Molecular/CustomIcons/components/Minus.js +30 -26
  231. package/dist/Molecular/CustomIcons/components/Offers.js +18 -14
  232. package/dist/Molecular/CustomIcons/components/Pause.js +30 -26
  233. package/dist/Molecular/CustomIcons/components/PayPal.js +44 -40
  234. package/dist/Molecular/CustomIcons/components/PayPalLightLarge.js +31 -27
  235. package/dist/Molecular/CustomIcons/components/Phone.js +32 -28
  236. package/dist/Molecular/CustomIcons/components/Play.js +30 -26
  237. package/dist/Molecular/CustomIcons/components/Plus.js +30 -26
  238. package/dist/Molecular/CustomIcons/components/Profile.js +22 -18
  239. package/dist/Molecular/CustomIcons/components/QRCode.js +32 -28
  240. package/dist/Molecular/CustomIcons/components/Rectangle.js +17 -13
  241. package/dist/Molecular/CustomIcons/components/Revert.js +20 -16
  242. package/dist/Molecular/CustomIcons/components/Star.js +14 -10
  243. package/dist/Molecular/CustomIcons/components/Star2.js +18 -14
  244. package/dist/Molecular/CustomIcons/components/TrafficSources.js +20 -16
  245. package/dist/Molecular/CustomIcons/components/Trash.js +17 -13
  246. package/dist/Molecular/CustomIcons/components/TrashRed.js +17 -13
  247. package/dist/Molecular/CustomIcons/components/Triggers.js +17 -13
  248. package/dist/Molecular/CustomIcons/components/User.js +22 -18
  249. package/dist/Molecular/CustomIcons/components/Visa.js +33 -29
  250. package/dist/Molecular/CustomIcons/components/X.js +17 -13
  251. package/dist/Molecular/CustomIcons/index.js +61 -61
  252. package/dist/Molecular/FormElement/FormElement.js +17 -19
  253. package/dist/Molecular/FormWithDependOn/FormWithDependOn.js +93 -73
  254. package/dist/Molecular/FormWithDependOn/partials/_utils.js +27 -28
  255. package/dist/Molecular/InputAddress/InputAddress.js +213 -126
  256. package/dist/Molecular/InputPassword/InputPassword.js +23 -13
  257. package/dist/index.js +1 -1
  258. package/package.json +1 -1
@@ -18,7 +18,7 @@ var _utils = require("./utils");
18
18
  // ****************************
19
19
  // Base utils
20
20
  // ****************************
21
- const getSafelyValue = value => {
21
+ var getSafelyValue = function getSafelyValue(value) {
22
22
  var _value$toString;
23
23
 
24
24
  return value !== undefined && value !== null ? (value === null || value === void 0 ? void 0 : (_value$toString = value.toString) === null || _value$toString === void 0 ? void 0 : _value$toString.call(value)) || "" : "";
@@ -27,31 +27,26 @@ const getSafelyValue = value => {
27
27
 
28
28
  exports.getSafelyValue = getSafelyValue;
29
29
 
30
- const intlNumbersFormatter = function (inputValue) {
31
- let settings = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
32
- const safelyInputValue = getSafelyValue(inputValue);
33
- const previousValue = safelyInputValue.slice(0, -1);
34
- const lastSym = safelyInputValue.slice(-1);
35
- const value = lastSym === "." ? previousValue : safelyInputValue;
30
+ var intlNumbersFormatter = function intlNumbersFormatter(inputValue) {
31
+ var settings = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
32
+ var safelyInputValue = getSafelyValue(inputValue);
33
+ var previousValue = safelyInputValue.slice(0, -1);
34
+ var lastSym = safelyInputValue.slice(-1);
35
+ var value = lastSym === "." ? previousValue : safelyInputValue;
36
36
  if (Number.isNaN(Number(value)) || !getSafelyValue(value)) return "";
37
- const {
38
- // локаль, даже региональная, влияет на отображение знаков и формата.
39
- locale = "en-US",
40
- // percent || currency(default case) || decimal(просто число) влияет на ТИП обработки.
41
- withSymbol,
42
- //группировка запятыми поразрядно.
43
- useGrouping = true,
44
- //!!работает только при withSymbol: 'currency' !! влияет на то, как именно будет выглядет формат валюты.
45
- currency = {},
46
- //сколько знаков после точки, и всегда ли они будут.
47
- // !!если поставить isAlwaysRender: true, но не дать центов, то будет 100.00
48
- fractionDigits = {}
49
- } = settings;
50
- const {
51
- currencyType = "USD",
52
- currencyDisplay: inputCurrencyDisplay
53
- } = currency;
54
- let currencyDisplay;
37
+ var _settings$locale = settings.locale,
38
+ locale = _settings$locale === void 0 ? "en-US" : _settings$locale,
39
+ withSymbol = settings.withSymbol,
40
+ _settings$useGrouping = settings.useGrouping,
41
+ useGrouping = _settings$useGrouping === void 0 ? true : _settings$useGrouping,
42
+ _settings$currency = settings.currency,
43
+ currency = _settings$currency === void 0 ? {} : _settings$currency,
44
+ _settings$fractionDig = settings.fractionDigits,
45
+ fractionDigits = _settings$fractionDig === void 0 ? {} : _settings$fractionDig;
46
+ var _currency$currencyTyp = currency.currencyType,
47
+ currencyType = _currency$currencyTyp === void 0 ? "USD" : _currency$currencyTyp,
48
+ inputCurrencyDisplay = currency.currencyDisplay;
49
+ var currencyDisplay;
55
50
 
56
51
  switch (inputCurrencyDisplay) {
57
52
  case "name":
@@ -70,7 +65,7 @@ const intlNumbersFormatter = function (inputValue) {
70
65
  currencyDisplay = "symbol";
71
66
  }
72
67
 
73
- let numberStyle;
68
+ var numberStyle;
74
69
 
75
70
  switch (withSymbol) {
76
71
  case "percent":
@@ -86,17 +81,16 @@ const intlNumbersFormatter = function (inputValue) {
86
81
  break;
87
82
  }
88
83
 
89
- const {
90
- quantity,
91
- isRenderAlways = false,
92
- minimumFractionDigits: inputMinimumFractionDigits,
93
- maximumFractionDigits: inputMaximumFractionDigits,
94
- conditionallyMinimumFractionDigits
95
- } = fractionDigits;
96
- const dotIndex = safelyInputValue === null || safelyInputValue === void 0 ? void 0 : safelyInputValue.indexOf(".");
97
- const afterDot = dotIndex !== -1 ? safelyInputValue.slice(dotIndex + 1) : "";
98
-
99
- const minimumFractionDigits = (() => {
84
+ var quantity = fractionDigits.quantity,
85
+ _fractionDigits$isRen = fractionDigits.isRenderAlways,
86
+ isRenderAlways = _fractionDigits$isRen === void 0 ? false : _fractionDigits$isRen,
87
+ inputMinimumFractionDigits = fractionDigits.minimumFractionDigits,
88
+ inputMaximumFractionDigits = fractionDigits.maximumFractionDigits,
89
+ conditionallyMinimumFractionDigits = fractionDigits.conditionallyMinimumFractionDigits;
90
+ var dotIndex = safelyInputValue === null || safelyInputValue === void 0 ? void 0 : safelyInputValue.indexOf(".");
91
+ var afterDot = dotIndex !== -1 ? safelyInputValue.slice(dotIndex + 1) : "";
92
+
93
+ var minimumFractionDigits = function () {
100
94
  //? Безусловное минимальное количество. Всегда отрендерит дробную часть, в количестве символов сколько указано
101
95
  if (typeof inputMinimumFractionDigits === "number") return inputMinimumFractionDigits; //? Условное минимальное количество. Если есть дробная часть, то отрендерит дробных символов сколько указано
102
96
 
@@ -107,25 +101,25 @@ const intlNumbersFormatter = function (inputValue) {
107
101
 
108
102
 
109
103
  return afterDot && lastSym !== "." ? safelyInputValue.slice(dotIndex).length - 1 : isRenderAlways ? quantity : 0;
110
- })();
104
+ }();
111
105
 
112
- const priceSettings = {
113
- useGrouping,
106
+ var priceSettings = {
107
+ useGrouping: useGrouping,
114
108
  //группировка разрядов
115
109
  style: numberStyle,
116
110
  //тип форматирования (валюта или число). decimal - без знака валюты
117
111
  currency: currencyType,
118
112
  //валюта
119
- currencyDisplay,
113
+ currencyDisplay: currencyDisplay,
120
114
  //валюта в виде символа
121
115
  //минимально не надо отображать центы, если их нет, иначе всегда будет .00
122
- minimumFractionDigits,
116
+ minimumFractionDigits: minimumFractionDigits,
123
117
  //! Важно! Если придет велью с количеством дробных разрядов БОЛЬШИМ
124
118
  //! чем указано в (inputMaximumFractionDigits ?? quantity) - округлит по правилам округления
125
119
  //максимально отображать 2 цифры после запятой, если центы всё же есть
126
120
  maximumFractionDigits: inputMaximumFractionDigits !== null && inputMaximumFractionDigits !== void 0 ? inputMaximumFractionDigits : quantity
127
121
  };
128
- let output;
122
+ var output;
129
123
 
130
124
  try {
131
125
  output = new Intl.NumberFormat(locale, priceSettings).format(value);
@@ -143,25 +137,31 @@ const intlNumbersFormatter = function (inputValue) {
143
137
 
144
138
  exports.intlNumbersFormatter = intlNumbersFormatter;
145
139
 
146
- const formatOnlyNumbers = value => getSafelyValue(value).replace(/\D/g, "");
140
+ var formatOnlyNumbers = function formatOnlyNumbers(value) {
141
+ return getSafelyValue(value).replace(/\D/g, "");
142
+ };
147
143
 
148
144
  exports.formatOnlyNumbers = formatOnlyNumbers;
149
145
 
150
- const formatToRemoveComa = value => getSafelyValue(value).replace(/,/g, "");
146
+ var formatToRemoveComa = function formatToRemoveComa(value) {
147
+ return getSafelyValue(value).replace(/,/g, "");
148
+ };
151
149
 
152
150
  exports.formatToRemoveComa = formatToRemoveComa;
153
151
 
154
- const formatToAddBitDepthPoints = (value, settings) => intlNumbersFormatter(getSafelyValue(value), {
155
- fractionDigits: {
156
- quantity: (settings === null || settings === void 0 ? void 0 : settings.type) === "int" ? 0 : settings === null || settings === void 0 ? void 0 : settings.decimalPlaces
157
- }
158
- }); //! Важно! Если придет велью с количеством дробных разрядов БОЛЬШИМ
152
+ var formatToAddBitDepthPoints = function formatToAddBitDepthPoints(value, settings) {
153
+ return intlNumbersFormatter(getSafelyValue(value), {
154
+ fractionDigits: {
155
+ quantity: (settings === null || settings === void 0 ? void 0 : settings.type) === "int" ? 0 : settings === null || settings === void 0 ? void 0 : settings.decimalPlaces
156
+ }
157
+ });
158
+ }; //! Важно! Если придет велью с количеством дробных разрядов БОЛЬШИМ
159
159
  //! чем указано в quantity - округлит по правилам округления
160
160
 
161
161
 
162
162
  exports.formatToAddBitDepthPoints = formatToAddBitDepthPoints;
163
163
 
164
- const formatToPriceWithUSD = value => {
164
+ var formatToPriceWithUSD = function formatToPriceWithUSD(value) {
165
165
  if (isNaN(Number(value))) return value;
166
166
  return intlNumbersFormatter(getSafelyValue(value), {
167
167
  withSymbol: "currency",
@@ -180,8 +180,8 @@ const formatToPriceWithUSD = value => {
180
180
 
181
181
  exports.formatToPriceWithUSD = formatToPriceWithUSD;
182
182
 
183
- const formatToPriceWithCurrency = function (value, currencyCode) {
184
- let symbolPosition = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : "before";
183
+ var formatToPriceWithCurrency = function formatToPriceWithCurrency(value, currencyCode) {
184
+ var symbolPosition = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : "before";
185
185
  if (isNaN(Number(value))) return value;
186
186
  return intlNumbersFormatter(getSafelyValue(value), {
187
187
  withSymbol: "currency",
@@ -210,19 +210,25 @@ const formatToPriceWithCurrency = function (value, currencyCode) {
210
210
 
211
211
  exports.formatToPriceWithCurrency = formatToPriceWithCurrency;
212
212
 
213
- const formatAsPercentage = (value, settings) => {
214
- const {
215
- isCommonPercentageSymbol = true,
216
- decimalPlaces = 2,
217
- beforeValueSymbol = "",
218
- afterValueSymbol = ""
219
- } = (0, _utils.getIsOnlyAnObject)(settings) ? settings : {};
220
- let safelyInputValue;
221
-
222
- const checkValue = value => getSafelyValue(value) || "0";
213
+ var formatAsPercentage = function formatAsPercentage(value, settings) {
214
+ var _ref = (0, _utils.getIsOnlyAnObject)(settings) ? settings : {},
215
+ _ref$isCommonPercenta = _ref.isCommonPercentageSymbol,
216
+ isCommonPercentageSymbol = _ref$isCommonPercenta === void 0 ? true : _ref$isCommonPercenta,
217
+ _ref$decimalPlaces = _ref.decimalPlaces,
218
+ decimalPlaces = _ref$decimalPlaces === void 0 ? 2 : _ref$decimalPlaces,
219
+ _ref$beforeValueSymbo = _ref.beforeValueSymbol,
220
+ beforeValueSymbol = _ref$beforeValueSymbo === void 0 ? "" : _ref$beforeValueSymbo,
221
+ _ref$afterValueSymbol = _ref.afterValueSymbol,
222
+ afterValueSymbol = _ref$afterValueSymbol === void 0 ? "" : _ref$afterValueSymbol;
223
+
224
+ var safelyInputValue;
225
+
226
+ var checkValue = function checkValue(value) {
227
+ return getSafelyValue(value) || "0";
228
+ };
223
229
 
224
- const transform = valueAsSting => {
225
- const processedValue = valueAsSting.replace(/,/g, ".");
230
+ var transform = function transform(valueAsSting) {
231
+ var processedValue = valueAsSting.replace(/,/g, ".");
226
232
  if (Number.isNaN(Number(processedValue))) return processedValue;
227
233
  return "".concat(intlNumbersFormatter(getSafelyValue(Number(processedValue)), {
228
234
  fractionDigits: {
@@ -241,7 +247,9 @@ const formatAsPercentage = (value, settings) => {
241
247
  safelyInputValue = checkValue(value);
242
248
 
243
249
  if (safelyInputValue.includes(" - ")) {
244
- const valuesArr = safelyInputValue.split(" - ").map(partOfValue => partOfValue.trim());
250
+ var valuesArr = safelyInputValue.split(" - ").map(function (partOfValue) {
251
+ return partOfValue.trim();
252
+ });
245
253
  safelyInputValue = {
246
254
  from: checkValue(valuesArr[0]),
247
255
  to: checkValue(valuesArr[1])
@@ -257,25 +265,32 @@ const formatAsPercentage = (value, settings) => {
257
265
 
258
266
  exports.formatAsPercentage = formatAsPercentage;
259
267
 
260
- const formatToOnlyASCIICodeText = text => getSafelyValue(text).replace(/[^\x00-\x7F]+/g, ""); // eslint-disable-next-line default-param-last
268
+ var formatToOnlyASCIICodeText = function formatToOnlyASCIICodeText(text) {
269
+ return getSafelyValue(text).replace(/[^\x00-\x7F]+/g, "");
270
+ }; // eslint-disable-next-line default-param-last
261
271
 
262
272
 
263
273
  exports.formatToOnlyASCIICodeText = formatToOnlyASCIICodeText;
264
274
 
265
- const formatNumberValueToMask = (inputValue, settings) => {
266
- const safelyInputValue = getSafelyValue(inputValue); // default valueSymbol === 'n', default mask === 'nnn-nnn-nnnn'
275
+ var formatNumberValueToMask = function formatNumberValueToMask(inputValue, settings) {
276
+ var safelyInputValue = getSafelyValue(inputValue); // default valueSymbol === 'n', default mask === 'nnn-nnn-nnnn'
277
+
278
+ var _ref2 = settings || {},
279
+ _ref2$mask = _ref2.mask,
280
+ mask = _ref2$mask === void 0 ? "XXX-XXX-XXXX" : _ref2$mask,
281
+ _ref2$valueSymbol = _ref2.valueSymbol,
282
+ valueSymbol = _ref2$valueSymbol === void 0 ? "X" : _ref2$valueSymbol,
283
+ _ref2$isReturnAdvance = _ref2.isReturnAdvanced,
284
+ isReturnAdvanced = _ref2$isReturnAdvance === void 0 ? false : _ref2$isReturnAdvance;
267
285
 
268
- const {
269
- mask = "XXX-XXX-XXXX",
270
- valueSymbol = "X",
271
- isReturnAdvanced = false
272
- } = settings || {};
273
- const processing = mask.split("").reduce((acc, item) => {
286
+ var processing = mask.split("").reduce(function (acc, item) {
274
287
  if (acc.value.length) ++acc.cursorPosition;
275
288
  acc.newValue.push(item === valueSymbol && acc.value.length ? acc.value.shift() : item);
276
289
  return acc;
277
290
  }, {
278
- value: safelyInputValue.split("").filter(sym => /[0-9]/g.test(sym)),
291
+ value: safelyInputValue.split("").filter(function (sym) {
292
+ return /[0-9]/g.test(sym);
293
+ }),
279
294
  newValue: [],
280
295
  cursorPosition: 0
281
296
  });
@@ -287,19 +302,17 @@ const formatNumberValueToMask = (inputValue, settings) => {
287
302
 
288
303
  exports.formatNumberValueToMask = formatNumberValueToMask;
289
304
 
290
- const formatToLimitLength = (inputValue, limit) => {
291
- const value = getSafelyValue(inputValue);
305
+ var formatToLimitLength = function formatToLimitLength(inputValue, limit) {
306
+ var value = getSafelyValue(inputValue);
292
307
  return limit && typeof limit === "number" && !Number.isNaN(limit) && (value === null || value === void 0 ? void 0 : value.length) > limit ? value.substr(0, limit) : value;
293
308
  };
294
309
 
295
310
  exports.formatToLimitLength = formatToLimitLength;
296
311
 
297
- const formatToHex = _ref => {
298
- let {
299
- inputValue,
300
- withSharp
301
- } = _ref;
302
- const value = getSafelyValue(inputValue);
312
+ var formatToHex = function formatToHex(_ref3) {
313
+ var inputValue = _ref3.inputValue,
314
+ withSharp = _ref3.withSharp;
315
+ var value = getSafelyValue(inputValue);
303
316
  if (withSharp) return "#".concat(value.replace(/[^a-f0-9]/gi, ""));
304
317
  return "".concat(value.replace(/[^#a-f0-9]/gi, ""));
305
318
  };
@@ -307,7 +320,7 @@ const formatToHex = _ref => {
307
320
  exports.formatToHex = formatToHex;
308
321
 
309
322
  function formatToReplaceAllWhiteSpace(str) {
310
- const value = getSafelyValue(str);
323
+ var value = getSafelyValue(str);
311
324
  return value.replace(/\s+/g, "");
312
325
  } // ****************************
313
326
  // transform
@@ -338,22 +351,22 @@ function formatToReplaceAllWhiteSpace(str) {
338
351
  // };
339
352
 
340
353
 
341
- const filterFloat = function (inputValue) {
354
+ var filterFloat = function filterFloat(inputValue) {
342
355
  var _output, _output2, _output3, _output4;
343
356
 
344
- let decimalPlaces = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
345
- const value = getSafelyValue(inputValue);
357
+ var decimalPlaces = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
358
+ var value = getSafelyValue(inputValue);
346
359
 
347
- const replacer = input => {
360
+ var replacer = function replacer(input) {
348
361
  var _String;
349
362
 
350
363
  return (_String = String(input)) === null || _String === void 0 ? void 0 : _String.replace(/[^\.\d,]/g, "");
351
364
  };
352
365
 
353
366
  if (value.length === 1 && (value[0] === "." || value[0] === ",")) return "0.";
354
- let output = value;
355
- const previousValue = String((_output = output) === null || _output === void 0 ? void 0 : _output.slice(0, -1));
356
- const lastSym = String((_output2 = output) === null || _output2 === void 0 ? void 0 : _output2.slice(-1));
367
+ var output = value;
368
+ var previousValue = String((_output = output) === null || _output === void 0 ? void 0 : _output.slice(0, -1));
369
+ var lastSym = String((_output2 = output) === null || _output2 === void 0 ? void 0 : _output2.slice(-1));
357
370
 
358
371
  if (decimalPlaces && typeof decimalPlaces === "number" && previousValue !== null && previousValue !== void 0 && previousValue.includes(".") && (previousValue === null || previousValue === void 0 ? void 0 : previousValue.indexOf(".")) + 1 + decimalPlaces === (previousValue === null || previousValue === void 0 ? void 0 : previousValue.length)) {
359
372
  return replacer(previousValue);
@@ -370,34 +383,43 @@ const filterFloat = function (inputValue) {
370
383
 
371
384
  exports.filterFloat = filterFloat;
372
385
 
373
- const filterNumeric = (value, settings) => {
386
+ var filterNumeric = function filterNumeric(value, settings) {
374
387
  var _getSafelyValue;
375
388
 
376
389
  value = (_getSafelyValue = getSafelyValue(value)) === null || _getSafelyValue === void 0 ? void 0 : _getSafelyValue.replace(/,/g, "");
377
- const {
378
- type = "float",
379
- decimalPlaces
380
- } = settings || {};
381
- const executor = type === "float" ? filterFloat : formatOnlyNumbers;
390
+
391
+ var _ref4 = settings || {},
392
+ _ref4$type = _ref4.type,
393
+ type = _ref4$type === void 0 ? "float" : _ref4$type,
394
+ decimalPlaces = _ref4.decimalPlaces;
395
+
396
+ var executor = type === "float" ? filterFloat : formatOnlyNumbers;
382
397
  return executor(getSafelyValue(value), decimalPlaces);
383
398
  };
384
399
 
385
400
  exports.filterNumeric = filterNumeric;
386
401
 
387
- const formatToHideValuePartially = (value, settings) => {
388
- const {
389
- showSymbolsCount = 4,
390
- isVisibleFromFront = false,
391
- isCutOutWhiteSpaces = true
392
- } = settings || {};
393
- const safelyValue = getSafelyValue(value);
394
- const newValue = isCutOutWhiteSpaces ? safelyValue.replace(/\s/g, "") : safelyValue;
402
+ var formatToHideValuePartially = function formatToHideValuePartially(value, settings) {
403
+ var _ref5 = settings || {},
404
+ _ref5$showSymbolsCoun = _ref5.showSymbolsCount,
405
+ showSymbolsCount = _ref5$showSymbolsCoun === void 0 ? 4 : _ref5$showSymbolsCoun,
406
+ _ref5$isVisibleFromFr = _ref5.isVisibleFromFront,
407
+ isVisibleFromFront = _ref5$isVisibleFromFr === void 0 ? false : _ref5$isVisibleFromFr,
408
+ _ref5$isCutOutWhiteSp = _ref5.isCutOutWhiteSpaces,
409
+ isCutOutWhiteSpaces = _ref5$isCutOutWhiteSp === void 0 ? true : _ref5$isCutOutWhiteSp;
410
+
411
+ var safelyValue = getSafelyValue(value);
412
+ var newValue = isCutOutWhiteSpaces ? safelyValue.replace(/\s/g, "") : safelyValue;
395
413
  if (newValue.length <= showSymbolsCount) return newValue;
396
414
 
397
- const hide = val => val.split("").map(() => "*").join("");
415
+ var hide = function hide(val) {
416
+ return val.split("").map(function () {
417
+ return "*";
418
+ }).join("");
419
+ };
398
420
 
399
- const visiblePart = isVisibleFromFront ? newValue.slice(0, showSymbolsCount) : newValue.slice(-1 * showSymbolsCount);
400
- const hiddenPart = isVisibleFromFront ? newValue.slice(showSymbolsCount) : newValue.slice(0, -1 * showSymbolsCount);
421
+ var visiblePart = isVisibleFromFront ? newValue.slice(0, showSymbolsCount) : newValue.slice(-1 * showSymbolsCount);
422
+ var hiddenPart = isVisibleFromFront ? newValue.slice(showSymbolsCount) : newValue.slice(0, -1 * showSymbolsCount);
401
423
  return isVisibleFromFront ? "".concat(visiblePart).concat(hide(hiddenPart)) : "".concat(hide(hiddenPart)).concat(visiblePart);
402
424
  };
403
425
 
@@ -1,40 +1,59 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _typeof = require("@babel/runtime/helpers/typeof");
6
+
3
7
  Object.defineProperty(exports, "__esModule", {
4
8
  value: true
5
9
  });
6
10
  exports.default = void 0;
7
11
 
12
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
13
+
14
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
15
+
16
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
17
+
18
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
19
+
8
20
  var _react = _interopRequireWildcard(require("react"));
9
21
 
10
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
22
+ 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); }
11
23
 
12
- 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; }
24
+ 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; }
13
25
 
14
- const timeouts = {
26
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
27
+
28
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
29
+
30
+ var timeouts = {
15
31
  timeoutId: null
16
32
  };
17
- const formChanges = []; // ? validateField - должен возвращать структуру { field, isValid }
18
-
19
- const useFormFieldsChangesManager = _ref => {
20
- let {
21
- form,
22
- setForm,
23
- callback,
24
- validateField,
25
- settings
26
- } = _ref;
27
- const {
28
- isNotSetForm,
29
- isUseValidation = false
30
- } = settings || {}; //? Пробовал ставить просто useEffect по formChangesRef.current,
33
+ var formChanges = []; // ? validateField - должен возвращать структуру { field, isValid }
34
+
35
+ var useFormFieldsChangesManager = function useFormFieldsChangesManager(_ref) {
36
+ var form = _ref.form,
37
+ setForm = _ref.setForm,
38
+ callback = _ref.callback,
39
+ validateField = _ref.validateField,
40
+ settings = _ref.settings;
41
+
42
+ var _ref2 = settings || {},
43
+ isNotSetForm = _ref2.isNotSetForm,
44
+ _ref2$isUseValidation = _ref2.isUseValidation,
45
+ isUseValidation = _ref2$isUseValidation === void 0 ? false : _ref2$isUseValidation; //? Пробовал ставить просто useEffect по formChangesRef.current,
31
46
  //? но по какой-то причине после изменении рефки не заходило в useEffect.
32
47
  //? Однако если срабатывал useEffect по какой-нибудь другой переменной,
33
48
  //? то и в useEffect по formChangesRef.current тоже заходило.
34
49
  //? Поэтому тут нужен этот стейт,
35
50
  //? хотя по итогу в конечной реализации с ним даже неплохо получилось (но вообще очень странная ерунда...)
36
51
 
37
- const [isFormMustBeChanget, setIsFormMustBeChanget] = (0, _react.useState)(false); //? Ф-я является ф-ей - постановщиком изменений формы в очередь.
52
+
53
+ var _useState = (0, _react.useState)(false),
54
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
55
+ isFormMustBeChanget = _useState2[0],
56
+ setIsFormMustBeChanget = _useState2[1]; //? Ф-я является ф-ей - постановщиком изменений формы в очередь.
38
57
  //? Ф-я получается самовызывающимся геттером.
39
58
  //? Cуть ф-ии:
40
59
  //? Для того чтоб не спамить изменениями, если их назначается много в рамках одной итерации,
@@ -44,67 +63,107 @@ const useFormFieldsChangesManager = _ref => {
44
63
  //? откладываю переназначение этого стейта до приостановки непрерывных вызовов assignChangesToField,
45
64
  //? но при этом при каждом ее вызове продолжаю добавлять изменения в массив
46
65
 
47
- const assignChangesToField = (() => {
48
- return (data, key) => {
66
+
67
+ var assignChangesToField = function () {
68
+ return function (data, key) {
49
69
  clearTimeout(timeouts.timeoutId);
50
70
  formChanges.push({
51
- key,
52
- data
71
+ key: key,
72
+ data: data
53
73
  });
54
74
  setIsFormMustBeChanget(false);
55
- timeouts.timeoutId = setTimeout(() => setIsFormMustBeChanget(true), 1);
75
+ timeouts.timeoutId = setTimeout(function () {
76
+ return setIsFormMustBeChanget(true);
77
+ }, 1);
56
78
  return formChanges;
57
79
  };
58
- })(); //? Ф-я применяет "накопленные" изменения
59
-
60
-
61
- const changeForm = async () => {
62
- var _modifiedFormFromOuts;
63
-
64
- let modifiedFormFromOutside;
65
- const errorsFromChanges = {};
66
- const newForm = formChanges.reduce((acc, change) => {
67
- const {
68
- data,
69
- key
70
- } = change;
71
- const {
72
- error
73
- } = data || {};
74
- const field = acc.find(field => field.key === key);
75
-
76
- if (field) {
77
- acc = acc.map(field => field.key === key ? { ...field,
78
- ...data
79
- } : field);
80
- if (error || error !== undefined) errorsFromChanges[key] = error;
81
- }
82
-
83
- return acc;
84
- }, form); // ToDo - порефакторить, не прогонять валидацию всех полей, а только измененных
85
-
86
- const validatedForm = isUseValidation && typeof validateField === "function" ? newForm.map(field => {
87
- var _validateField, _validateField$field;
88
-
89
- return { ...field,
90
- error: ((_validateField = validateField({ ...field
91
- }, newForm)) === null || _validateField === void 0 ? void 0 : (_validateField$field = _validateField.field) === null || _validateField$field === void 0 ? void 0 : _validateField$field.error) || errorsFromChanges[field.key] || ""
92
- };
93
- }) : newForm;
94
- if (callback && typeof callback === "function") modifiedFormFromOutside = await callback(validatedForm);
95
- if (!isNotSetForm) await setForm((_modifiedFormFromOuts = modifiedFormFromOutside) !== null && _modifiedFormFromOuts !== void 0 ? _modifiedFormFromOuts : validatedForm);
96
- formChanges.length = 0;
97
- setIsFormMustBeChanget(false);
98
- };
80
+ }(); //? Ф-я применяет "накопленные" изменения
81
+
82
+
83
+ var changeForm = /*#__PURE__*/function () {
84
+ var _ref3 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
85
+ var _modifiedFormFromOuts;
86
+
87
+ var modifiedFormFromOutside, errorsFromChanges, newForm, validatedForm;
88
+ return _regenerator.default.wrap(function _callee$(_context) {
89
+ while (1) {
90
+ switch (_context.prev = _context.next) {
91
+ case 0:
92
+ errorsFromChanges = {};
93
+ newForm = formChanges.reduce(function (acc, change) {
94
+ var data = change.data,
95
+ key = change.key;
96
+
97
+ var _ref4 = data || {},
98
+ error = _ref4.error;
99
+
100
+ var field = acc.find(function (field) {
101
+ return field.key === key;
102
+ });
103
+
104
+ if (field) {
105
+ acc = acc.map(function (field) {
106
+ return field.key === key ? _objectSpread(_objectSpread({}, field), data) : field;
107
+ });
108
+ if (error || error !== undefined) errorsFromChanges[key] = error;
109
+ }
110
+
111
+ return acc;
112
+ }, form); // ToDo - порефакторить, не прогонять валидацию всех полей, а только измененных
113
+
114
+ validatedForm = isUseValidation && typeof validateField === "function" ? newForm.map(function (field) {
115
+ var _validateField, _validateField$field;
116
+
117
+ return _objectSpread(_objectSpread({}, field), {}, {
118
+ error: ((_validateField = validateField(_objectSpread({}, field), newForm)) === null || _validateField === void 0 ? void 0 : (_validateField$field = _validateField.field) === null || _validateField$field === void 0 ? void 0 : _validateField$field.error) || errorsFromChanges[field.key] || ""
119
+ });
120
+ }) : newForm;
121
+
122
+ if (!(callback && typeof callback === "function")) {
123
+ _context.next = 7;
124
+ break;
125
+ }
126
+
127
+ _context.next = 6;
128
+ return callback(validatedForm);
129
+
130
+ case 6:
131
+ modifiedFormFromOutside = _context.sent;
132
+
133
+ case 7:
134
+ if (isNotSetForm) {
135
+ _context.next = 10;
136
+ break;
137
+ }
138
+
139
+ _context.next = 10;
140
+ return setForm((_modifiedFormFromOuts = modifiedFormFromOutside) !== null && _modifiedFormFromOuts !== void 0 ? _modifiedFormFromOuts : validatedForm);
141
+
142
+ case 10:
143
+ formChanges.length = 0;
144
+ setIsFormMustBeChanget(false);
145
+
146
+ case 12:
147
+ case "end":
148
+ return _context.stop();
149
+ }
150
+ }
151
+ }, _callee);
152
+ }));
153
+
154
+ return function changeForm() {
155
+ return _ref3.apply(this, arguments);
156
+ };
157
+ }();
99
158
 
100
- (0, _react.useEffect)(() => {
159
+ (0, _react.useEffect)(function () {
101
160
  if (isFormMustBeChanget) changeForm();
102
161
  }, [isFormMustBeChanget]);
103
162
  return {
104
- assignChangesToField,
105
- isFormMustBeChanget,
106
- setIsFormMustBeChanget,
107
- changesArray: [...formChanges]
163
+ assignChangesToField: assignChangesToField,
164
+ isFormMustBeChanget: isFormMustBeChanget,
165
+ setIsFormMustBeChanget: setIsFormMustBeChanget,
166
+ changesArray: [].concat(formChanges)
108
167
  };
109
168
  };
110
169