intelicoreact 1.4.83 → 1.4.84

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 (272) hide show
  1. package/dist/Atomic/FormElements/ActionAlert/ActionAlert.js +14 -22
  2. package/dist/Atomic/FormElements/AdvancedStatus/AdvancedStatus.js +14 -22
  3. package/dist/Atomic/FormElements/Calendar/Calendar.js +67 -122
  4. package/dist/Atomic/FormElements/CheckboxInput/CheckboxInput.js +27 -36
  5. package/dist/Atomic/FormElements/CheckboxesLine/CheckboxesLine.js +23 -39
  6. package/dist/Atomic/FormElements/Datepicker/Datepicker.js +110 -246
  7. package/dist/Atomic/FormElements/Datepicker/components/Calendar.js +44 -85
  8. package/dist/Atomic/FormElements/Dropdown/Dropdown.js +266 -430
  9. package/dist/Atomic/FormElements/Dropdown/components/DropdownLoader.js +5 -9
  10. package/dist/Atomic/FormElements/DropdownLiveSearch/DropdownLiveSearch.js +161 -283
  11. package/dist/Atomic/FormElements/FileLoader/FileLoader.js +39 -64
  12. package/dist/Atomic/FormElements/FileLoader/partial/LoadZone.js +51 -132
  13. package/dist/Atomic/FormElements/FileLoader/partial/LoadedContent.js +34 -73
  14. package/dist/Atomic/FormElements/FileLoaderDescription/FileLoaderDescription.js +79 -138
  15. package/dist/Atomic/FormElements/FileLoaderLocal/FileLoaderLocal.js +55 -77
  16. package/dist/Atomic/FormElements/FileLoaderLocalGroup/FileLoaderLocalGroup.js +75 -126
  17. package/dist/Atomic/FormElements/FormattedRawSSN/FormattedRawSSN.js +33 -83
  18. package/dist/Atomic/FormElements/Input/Input.js +160 -256
  19. package/dist/Atomic/FormElements/InputCalendar/InputCalendar.js +48 -102
  20. package/dist/Atomic/FormElements/InputColor/InputColor.js +26 -41
  21. package/dist/Atomic/FormElements/InputCurrency/InputCurrency.js +38 -76
  22. package/dist/Atomic/FormElements/InputDateRange/InputDateRange.js +109 -177
  23. package/dist/Atomic/FormElements/InputDateRange/components/DateInput.js +32 -57
  24. package/dist/Atomic/FormElements/InputDateRange/components/Datepicker.js +184 -302
  25. package/dist/Atomic/FormElements/InputDateRange/components/OpenedPart.js +85 -157
  26. package/dist/Atomic/FormElements/InputDateRange/components/SelectItem.js +11 -16
  27. package/dist/Atomic/FormElements/InputDateRange/dependencies.js +77 -194
  28. package/dist/Atomic/FormElements/InputLink/InputLink.js +32 -58
  29. package/dist/Atomic/FormElements/InputMask/InputCarretPosition.js +8 -12
  30. package/dist/Atomic/FormElements/InputMask/InputMask.js +554 -964
  31. package/dist/Atomic/FormElements/InputMask/config.js +1 -1
  32. package/dist/Atomic/FormElements/InputMask/functions.js +17 -43
  33. package/dist/Atomic/FormElements/InputMask2/InputMask2.js +268 -404
  34. package/dist/Atomic/FormElements/InputMask2/config.js +1 -1
  35. package/dist/Atomic/FormElements/InputMask2/functions.js +17 -43
  36. package/dist/Atomic/FormElements/InputMask3/InputMask3.js +299 -459
  37. package/dist/Atomic/FormElements/InputMask3/config.js +1 -1
  38. package/dist/Atomic/FormElements/InputMask3/functions.js +17 -43
  39. package/dist/Atomic/FormElements/InputWithAction/InputWithAction.js +51 -113
  40. package/dist/Atomic/FormElements/InputsRow/InputsRow.js +64 -118
  41. package/dist/Atomic/FormElements/Label/Label.js +14 -24
  42. package/dist/Atomic/FormElements/MobileCalendar/MobileCalendar.js +217 -349
  43. package/dist/Atomic/FormElements/MultiSelect/MultiSelect.js +25 -47
  44. package/dist/Atomic/FormElements/NumericInput/NumericInput.js +133 -207
  45. package/dist/Atomic/FormElements/RadioGroup/RadioGroup.js +29 -61
  46. package/dist/Atomic/FormElements/RadioGroupWithInput/RadioGroupWithInput.js +20 -42
  47. package/dist/Atomic/FormElements/RadioInput/RadioInput.js +22 -33
  48. package/dist/Atomic/FormElements/RadioRowSwitcher/RadioRowSwitcher.js +20 -43
  49. package/dist/Atomic/FormElements/RangeCalendar/RangeCalendar.js +54 -101
  50. package/dist/Atomic/FormElements/RangeInputs/RangeInputs.js +59 -102
  51. package/dist/Atomic/FormElements/RangeList/RangeList.js +89 -150
  52. package/dist/Atomic/FormElements/RangeList/partial/RangeListRow.js +23 -29
  53. package/dist/Atomic/FormElements/RangeSlider/RangeSlider.js +148 -326
  54. package/dist/Atomic/FormElements/RangeSlider2/RangeSlider2.js +389 -588
  55. package/dist/Atomic/FormElements/SwitchableRow/SwitchableRow.js +14 -24
  56. package/dist/Atomic/FormElements/Switcher/Switcher.js +24 -29
  57. package/dist/Atomic/FormElements/SwitcherCheckbox/SwitcherCheckbox.js +23 -41
  58. package/dist/Atomic/FormElements/SwitcherHide/SwitcherHide.js +20 -32
  59. package/dist/Atomic/FormElements/SwitcherRadio/SwitcherRadio.js +32 -55
  60. package/dist/Atomic/FormElements/SwitcherRange/SwitcherRange.js +22 -42
  61. package/dist/Atomic/FormElements/SwitcherRangeList/SwitcherRangeList.js +23 -33
  62. package/dist/Atomic/FormElements/SwitcherTagsDropdown/SwitcherTagsDropdown.js +51 -120
  63. package/dist/Atomic/FormElements/SwitcherTagsDropdown/partial/States.js +2 -3
  64. package/dist/Atomic/FormElements/SwitcherTextarea/SwitcherTextarea.js +23 -46
  65. package/dist/Atomic/FormElements/TagListToDropdown/TagListToDropdown.js +47 -98
  66. package/dist/Atomic/FormElements/TagsDropdown/TagsDropdown.js +485 -713
  67. package/dist/Atomic/FormElements/Text/Text.js +47 -53
  68. package/dist/Atomic/FormElements/TextSwitcher/TextSwitcher.js +21 -31
  69. package/dist/Atomic/FormElements/Textarea/Textarea.js +31 -47
  70. package/dist/Atomic/FormElements/TieredCheckboxes/TieredCheckboxes.js +68 -128
  71. package/dist/Atomic/FormElements/TieredCheckboxes/partial/AccordionWithCheckbox.js +25 -36
  72. package/dist/Atomic/FormElements/TimeRange/TimeRange.js +33 -70
  73. package/dist/Atomic/FormElements/UserContacts/UserContacts.js +58 -123
  74. package/dist/Atomic/FormElements/VariantsListRadio/VariantsListRadio.js +48 -80
  75. package/dist/Atomic/FormElements/VariantsListRadio/partials/VariantsListRadioItem.js +32 -42
  76. package/dist/Atomic/FormElements/WidgetPseudoTable/WidgetPseudoTable.js +40 -60
  77. package/dist/Atomic/FormElements/WidgetPseudoTable/partial/constructor.js +2 -3
  78. package/dist/Atomic/FormElements/WidgetWithSwitchableRows/WidgetWithSwitchableRows.js +50 -69
  79. package/dist/Atomic/FormElements/WidgetWithSwitchableRows/partial/constructor.js +3 -3
  80. package/dist/Atomic/Layout/Header/Header.js +21 -48
  81. package/dist/Atomic/Layout/MainMenu/MainMenu.js +35 -77
  82. package/dist/Atomic/Layout/Spinner/Spinner.js +8 -14
  83. package/dist/Atomic/UI/Accordion/Accordion.js +18 -48
  84. package/dist/Atomic/UI/Accordion/AccordionItem.js +35 -60
  85. package/dist/Atomic/UI/AccordionTable/AccordionTable.js +48 -104
  86. package/dist/Atomic/UI/AccordionText/AccordionText.js +21 -54
  87. package/dist/Atomic/UI/AdvancedTag/AdvTag.js +47 -92
  88. package/dist/Atomic/UI/AdvancedTag/AdvancedTags.js +22 -50
  89. package/dist/Atomic/UI/Alert/Alert.js +22 -51
  90. package/dist/Atomic/UI/Arrow/Arrow.js +15 -35
  91. package/dist/Atomic/UI/Box/Box.js +14 -21
  92. package/dist/Atomic/UI/Button/Button.js +26 -35
  93. package/dist/Atomic/UI/ButtonsBar/ButtonsBar.js +22 -31
  94. package/dist/Atomic/UI/Chart/Chart.js +45 -86
  95. package/dist/Atomic/UI/Chart/partial/Chart.constants.js +14 -24
  96. package/dist/Atomic/UI/Chart/partial/ChartTypeSwitcherIcon/ChartTypeSwitcherIcon.js +13 -22
  97. package/dist/Atomic/UI/Chart/partial/datasetSetters.js +68 -113
  98. package/dist/Atomic/UI/Chart/partial/optionsConstructor.js +158 -140
  99. package/dist/Atomic/UI/Chart/partial/optionsSetters.js +26 -42
  100. package/dist/Atomic/UI/Chart/partial/utils.js +20 -48
  101. package/dist/Atomic/UI/CircleProgressBar/CircleProgressBar.js +22 -42
  102. package/dist/Atomic/UI/DateTime/DateTime.js +23 -38
  103. package/dist/Atomic/UI/DebugContainer/DebugContainer.js +13 -37
  104. package/dist/Atomic/UI/DebugContainer/useDebugContainer.js +5 -21
  105. package/dist/Atomic/UI/DoubleString/DoubleString.js +34 -63
  106. package/dist/Atomic/UI/DynamicIcon/DynamicIcon.js +15 -63
  107. package/dist/Atomic/UI/ExampleChartIntegration/ExampleChartIntegration.js +62 -157
  108. package/dist/Atomic/UI/ExampleChartIntegration/partial/utils.js +47 -110
  109. package/dist/Atomic/UI/Hint/Hint.js +67 -122
  110. package/dist/Atomic/UI/Hint/partial/_utils.js +52 -0
  111. package/dist/Atomic/UI/Hint/partials/_utils.js +14 -29
  112. package/dist/Atomic/UI/Modal/Modal.js +147 -184
  113. package/dist/Atomic/UI/Modal/ModalHOC.js +15 -26
  114. package/dist/Atomic/UI/Modal/partials/ModalFooter.js +7 -12
  115. package/dist/Atomic/UI/Modal/partials/ModalTitle.js +17 -21
  116. package/dist/Atomic/UI/Modal/partials/useMobileModal.js +99 -161
  117. package/dist/Atomic/UI/MonoAccordion/MonoAccordion.js +32 -62
  118. package/dist/Atomic/UI/NavLine/NavLine.js +120 -211
  119. package/dist/Atomic/UI/NavLine/Tabs.js +2 -3
  120. package/dist/Atomic/UI/PageTitle/PageTitle.js +13 -17
  121. package/dist/Atomic/UI/PieChart/PieChart.js +11 -21
  122. package/dist/Atomic/UI/Price/Price.js +10 -13
  123. package/dist/Atomic/UI/PriceRange/PriceRange.js +7 -11
  124. package/dist/Atomic/UI/ProgressLine/ProgressLine.js +28 -58
  125. package/dist/Atomic/UI/Status/Status.js +19 -30
  126. package/dist/Atomic/UI/Table/Partials/TdCell.js +28 -71
  127. package/dist/Atomic/UI/Table/Partials/TdHeader.js +7 -16
  128. package/dist/Atomic/UI/Table/Partials/TdRow.js +29 -65
  129. package/dist/Atomic/UI/Table/Partials/TdTitle.js +16 -40
  130. package/dist/Atomic/UI/Table/Table.js +27 -47
  131. package/dist/Atomic/UI/Table/TdTypes/TdActions.js +18 -48
  132. package/dist/Atomic/UI/Table/TdTypes/TdPriority.js +9 -19
  133. package/dist/Atomic/UI/Table/TdTypes/TdRange.js +5 -6
  134. package/dist/Atomic/UI/Table/TdTypes/TdWeight.js +22 -39
  135. package/dist/Atomic/UI/Tag/Tag.js +59 -94
  136. package/dist/Atomic/UI/TagList/TagList.js +81 -144
  137. package/dist/Atomic/UI/UserBox/UserBox.js +14 -26
  138. package/dist/Atomic/UI/WizardStepper/constructor.js +7 -15
  139. package/dist/Atomic/UI/WizardStepper/index.js +1 -5
  140. package/dist/Atomic/UI/WizardStepper/ui/StateIcon/StateIcon.js +20 -26
  141. package/dist/Atomic/UI/WizardStepper/ui/StateIcon/index.js +1 -4
  142. package/dist/Atomic/UI/WizardStepper/ui/StepRow/StepRow.js +26 -39
  143. package/dist/Atomic/UI/WizardStepper/ui/StepRow/index.js +1 -5
  144. package/dist/Atomic/UI/WizardStepper/ui/StepWrapper/StepWrapper.js +23 -42
  145. package/dist/Atomic/UI/WizardStepper/ui/StepWrapper/index.js +1 -5
  146. package/dist/Atomic/UI/WizardStepper/ui/icons.js +40 -49
  147. package/dist/Atomic/UI/WizardStepper/ui/index.js +1 -5
  148. package/dist/Classes/AbortableFetch.js +283 -422
  149. package/dist/Classes/AnimatedHandler.js +44 -56
  150. package/dist/Classes/RESTAPI/index.js +158 -441
  151. package/dist/Classes/RESTAPI/partials/AbortableFetch.js +290 -428
  152. package/dist/Classes/RESTAPI/partials/ApiBase.js +24 -67
  153. package/dist/Classes/RESTAPI/partials/ApiRequestCreators.js +83 -353
  154. package/dist/Classes/RESTAPI/partials/ApiUtils.js +161 -403
  155. package/dist/Classes/RESTAPI/partials/CredentialsProcessing.js +159 -400
  156. package/dist/Classes/RESTAPI/partials/Utils.js +81 -135
  157. package/dist/Classes/RESTAPI/partials/_outerDependencies.js +2 -6
  158. package/dist/Classes/RESTAPI/partials/_utils.js +103 -398
  159. package/dist/Constants/index.constants.js +8 -15
  160. package/dist/Functions/Portal.js +14 -33
  161. package/dist/Functions/customEventListener.js +9 -24
  162. package/dist/Functions/fieldValueFormatters.js +147 -209
  163. package/dist/Functions/hooks/useFormFieldsChangesManager.js +75 -137
  164. package/dist/Functions/locale/createTranslator.js +13 -28
  165. package/dist/Functions/operations.js +35 -49
  166. package/dist/Functions/presets/inputMaskPresets.js +25 -27
  167. package/dist/Functions/presets/inputPresets.js +19 -22
  168. package/dist/Functions/presets/mobileKeyboardTypesPresets.js +7 -9
  169. package/dist/Functions/schemas.js +6 -15
  170. package/dist/Functions/useBodyScrollLock.js +4 -9
  171. package/dist/Functions/useClickOutside.js +3 -7
  172. package/dist/Functions/useDebounce.js +11 -25
  173. package/dist/Functions/useFieldFocus.js +42 -67
  174. package/dist/Functions/useFormTools/form-drivers/ArrayWithObjects.js +35 -54
  175. package/dist/Functions/useFormTools/form-drivers/ObjectWithIterableObjects.js +74 -95
  176. package/dist/Functions/useFormTools/form-drivers/ObjectWithNamedKeyObjects.js +55 -91
  177. package/dist/Functions/useFormTools/functions/General.js +80 -99
  178. package/dist/Functions/useFormTools/functions/RenderFields.js +45 -72
  179. package/dist/Functions/useFormTools/functions/usePrevious.js +3 -7
  180. package/dist/Functions/useFormTools/index.js +380 -592
  181. package/dist/Functions/useInputHighlightError.js +27 -52
  182. package/dist/Functions/useIsMobile.js +15 -39
  183. package/dist/Functions/useKeyPress/useHandleKeyPress.js +10 -15
  184. package/dist/Functions/useKeyPress/useKeyPress.js +18 -35
  185. package/dist/Functions/useLocalStorage.js +7 -22
  186. package/dist/Functions/useLocationParams.js +16 -27
  187. package/dist/Functions/useMediaQuery.js +10 -27
  188. package/dist/Functions/useMetaInfo.js +19 -50
  189. package/dist/Functions/useMouseUpOutside.js +2 -5
  190. package/dist/Functions/useOnlineStatus.js +7 -26
  191. package/dist/Functions/usePasswordChecker.js +42 -77
  192. package/dist/Functions/usePrevious.js +3 -7
  193. package/dist/Functions/useResize.js +12 -32
  194. package/dist/Functions/useScrollTo.js +6 -20
  195. package/dist/Functions/useToggle.js +10 -30
  196. package/dist/Functions/utils.js +188 -386
  197. package/dist/Molecular/CustomIcons/components/AffiliateNetworks.js +21 -32
  198. package/dist/Molecular/CustomIcons/components/AlertCircle.js +21 -32
  199. package/dist/Molecular/CustomIcons/components/AppStore.js +25 -36
  200. package/dist/Molecular/CustomIcons/components/Arrow.js +31 -42
  201. package/dist/Molecular/CustomIcons/components/ArrowDown.js +13 -24
  202. package/dist/Molecular/CustomIcons/components/ArrowLeft.js +16 -27
  203. package/dist/Molecular/CustomIcons/components/ArrowRight.js +16 -27
  204. package/dist/Molecular/CustomIcons/components/ArrowUp.js +13 -24
  205. package/dist/Molecular/CustomIcons/components/Bell.js +11 -22
  206. package/dist/Molecular/CustomIcons/components/Button.js +11 -22
  207. package/dist/Molecular/CustomIcons/components/Campaigns.js +12 -23
  208. package/dist/Molecular/CustomIcons/components/Check.js +12 -23
  209. package/dist/Molecular/CustomIcons/components/Check2.js +11 -22
  210. package/dist/Molecular/CustomIcons/components/ChevronDown.js +11 -22
  211. package/dist/Molecular/CustomIcons/components/ChevronDownDisabled.js +11 -22
  212. package/dist/Molecular/CustomIcons/components/ChevronLeft.js +11 -22
  213. package/dist/Molecular/CustomIcons/components/ChevronRight.js +11 -22
  214. package/dist/Molecular/CustomIcons/components/ChevronUp.js +11 -22
  215. package/dist/Molecular/CustomIcons/components/ChevronUpDown.js +26 -37
  216. package/dist/Molecular/CustomIcons/components/Close.js +13 -24
  217. package/dist/Molecular/CustomIcons/components/ColumnsOrder.js +38 -49
  218. package/dist/Molecular/CustomIcons/components/Delete.js +12 -23
  219. package/dist/Molecular/CustomIcons/components/Edit.js +11 -22
  220. package/dist/Molecular/CustomIcons/components/Email.js +29 -40
  221. package/dist/Molecular/CustomIcons/components/FinturfLogo.js +19 -30
  222. package/dist/Molecular/CustomIcons/components/FinturfLogo2.js +27 -38
  223. package/dist/Molecular/CustomIcons/components/Flows.js +11 -22
  224. package/dist/Molecular/CustomIcons/components/Gift.js +16 -27
  225. package/dist/Molecular/CustomIcons/components/GoogleAuth.js +25 -36
  226. package/dist/Molecular/CustomIcons/components/GooglePlay.js +25 -36
  227. package/dist/Molecular/CustomIcons/components/HelpCircle.js +14 -25
  228. package/dist/Molecular/CustomIcons/components/HelpCircle2.js +15 -26
  229. package/dist/Molecular/CustomIcons/components/HelpCircleFilled.js +14 -25
  230. package/dist/Molecular/CustomIcons/components/Home.js +14 -25
  231. package/dist/Molecular/CustomIcons/components/Home2.js +17 -28
  232. package/dist/Molecular/CustomIcons/components/Key.js +19 -30
  233. package/dist/Molecular/CustomIcons/components/Landers.js +15 -26
  234. package/dist/Molecular/CustomIcons/components/Lock.js +11 -22
  235. package/dist/Molecular/CustomIcons/components/Mail.js +19 -30
  236. package/dist/Molecular/CustomIcons/components/Mastercard.js +61 -72
  237. package/dist/Molecular/CustomIcons/components/Minus.js +24 -35
  238. package/dist/Molecular/CustomIcons/components/Offers.js +12 -23
  239. package/dist/Molecular/CustomIcons/components/Pause.js +24 -35
  240. package/dist/Molecular/CustomIcons/components/PayPal.js +38 -49
  241. package/dist/Molecular/CustomIcons/components/PayPalLightLarge.js +25 -36
  242. package/dist/Molecular/CustomIcons/components/Phone.js +26 -37
  243. package/dist/Molecular/CustomIcons/components/Play.js +24 -35
  244. package/dist/Molecular/CustomIcons/components/Plus.js +24 -35
  245. package/dist/Molecular/CustomIcons/components/Profile.js +16 -27
  246. package/dist/Molecular/CustomIcons/components/QRCode.js +26 -37
  247. package/dist/Molecular/CustomIcons/components/Rectangle.js +11 -22
  248. package/dist/Molecular/CustomIcons/components/Revert.js +14 -25
  249. package/dist/Molecular/CustomIcons/components/Star.js +10 -21
  250. package/dist/Molecular/CustomIcons/components/Star2.js +12 -23
  251. package/dist/Molecular/CustomIcons/components/TrafficSources.js +14 -25
  252. package/dist/Molecular/CustomIcons/components/Trash.js +11 -22
  253. package/dist/Molecular/CustomIcons/components/TrashRed.js +11 -22
  254. package/dist/Molecular/CustomIcons/components/Triggers.js +11 -22
  255. package/dist/Molecular/CustomIcons/components/User.js +16 -27
  256. package/dist/Molecular/CustomIcons/components/Visa.js +27 -38
  257. package/dist/Molecular/CustomIcons/components/X.js +11 -22
  258. package/dist/Molecular/CustomIcons/index.js +61 -183
  259. package/dist/Molecular/FormElement/FormElement.js +19 -28
  260. package/dist/Molecular/FormWithDependOn/FormWithDependOn.js +91 -112
  261. package/dist/Molecular/FormWithDependOn/partials/_utils.js +35 -37
  262. package/dist/Molecular/InputAddress/InputAddress.js +176 -312
  263. package/dist/Molecular/InputPassword/InputPassword.js +15 -39
  264. package/dist/index.js +1 -3
  265. package/package.json +1 -1
  266. package/dist/Atomic/FormElements/UserContacts/partial/defaultIcons.js +0 -119
  267. package/dist/Atomic/UI/ModalBackup/Modal.js +0 -174
  268. package/dist/Atomic/UI/ModalBackup/Modal.scss +0 -333
  269. package/dist/Atomic/UI/ModalBackup/ModalHOC.js +0 -51
  270. package/dist/Atomic/UI/ModalBackup/partials/ModalFooter.js +0 -24
  271. package/dist/Atomic/UI/ModalBackup/partials/ModalTitle.js +0 -41
  272. package/dist/Functions/presets/inputMaskPreset.js +0 -176
@@ -1,62 +1,38 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.default = useFormTools;
9
-
10
- var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11
-
12
- var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
13
-
14
- var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
15
-
16
- var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
17
-
18
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
19
-
20
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
21
-
22
8
  var _react = require("react");
23
-
24
9
  var _ArrayWithObjects = _interopRequireDefault(require("./form-drivers/ArrayWithObjects"));
25
-
26
10
  var _ObjectWithIterableObjects = _interopRequireDefault(require("./form-drivers/ObjectWithIterableObjects"));
27
-
28
11
  var _ObjectWithNamedKeyObjects = _interopRequireDefault(require("./form-drivers/ObjectWithNamedKeyObjects"));
29
-
30
- var _General2 = _interopRequireDefault(require("./functions/General"));
31
-
12
+ var _General = _interopRequireDefault(require("./functions/General"));
32
13
  var _RenderFields = _interopRequireDefault(require("./functions/RenderFields"));
14
+ // eslint-disable-next-line no-unused-vars
33
15
 
34
- 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; }
35
-
36
- 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; }
37
-
38
- var DefaultFocusControllerProps = {
16
+ const DefaultFocusControllerProps = {
39
17
  setAutoFocus: true,
40
18
  onlyEmptyFieldAutoFocus: false
41
19
  };
42
-
43
20
  function useFormTools() {
44
- var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
45
- form = _ref.form,
46
- setForm = _ref.setForm,
47
- FormType = _ref.FormType,
48
- FormFields = _ref.FormFields,
49
- _ref$FormDataDriverNa = _ref.FormDataDriverName,
50
- FormDataDriverName = _ref$FormDataDriverNa === void 0 ? "ArrayWithObjects" || "ObjectWithIterableObjects" || "ObjectWithNamedKeyObjects" : _ref$FormDataDriverNa,
51
- _ref$FormDataDriver = _ref.FormDataDriver,
52
- FormDataDriver = _ref$FormDataDriver === void 0 ? null : _ref$FormDataDriver,
53
- _ref$FocusControllerP = _ref.FocusControllerProps,
54
- FocusControllerProps = _ref$FocusControllerP === void 0 ? DefaultFocusControllerProps : _ref$FocusControllerP,
55
- _ref$goToNextFieldOnE = _ref.goToNextFieldOnEnterPressed,
56
- goToNextFieldOnEnterPressed = _ref$goToNextFieldOnE === void 0 ? true : _ref$goToNextFieldOnE;
57
-
58
- FocusControllerProps = _objectSpread(_objectSpread({}, DefaultFocusControllerProps), FocusControllerProps);
59
- var FormDataDrivers = {
21
+ let {
22
+ form,
23
+ setForm,
24
+ FormType,
25
+ FormFields,
26
+ FormDataDriverName = "ArrayWithObjects" || "ObjectWithIterableObjects" || "ObjectWithNamedKeyObjects",
27
+ FormDataDriver = null,
28
+ FocusControllerProps = DefaultFocusControllerProps,
29
+ goToNextFieldOnEnterPressed = true
30
+ } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
31
+ FocusControllerProps = {
32
+ ...DefaultFocusControllerProps,
33
+ ...FocusControllerProps
34
+ };
35
+ const FormDataDrivers = {
60
36
  ArrayWithObjects: {
61
37
  handlers: _ArrayWithObjects.default,
62
38
  default: true
@@ -68,54 +44,42 @@ function useFormTools() {
68
44
  handlers: _ObjectWithNamedKeyObjects.default
69
45
  }
70
46
  };
71
-
72
- var getFormDataDriver = function getFormDataDriver(name) {
47
+ const getFormDataDriver = name => {
73
48
  var _FormDataDrivers$name, _Object$values$find;
74
-
75
- return FormDataDriver || ((_FormDataDrivers$name = FormDataDrivers[name]) === null || _FormDataDrivers$name === void 0 ? void 0 : _FormDataDrivers$name.handlers) || ((_Object$values$find = Object.values(FormDataDrivers).find(function (df) {
76
- return df.default === true;
77
- })) === null || _Object$values$find === void 0 ? void 0 : _Object$values$find.handlers) || function () {
78
- return {};
79
- };
49
+ return FormDataDriver || ((_FormDataDrivers$name = FormDataDrivers[name]) === null || _FormDataDrivers$name === void 0 ? void 0 : _FormDataDrivers$name.handlers) || ((_Object$values$find = Object.values(FormDataDrivers).find(df => df.default === true)) === null || _Object$values$find === void 0 ? void 0 : _Object$values$find.handlers) || (() => ({}));
80
50
  };
81
-
82
- var getFormDataDriverInstance = function getFormDataDriverInstance(name) {
51
+ const getFormDataDriverInstance = function (name) {
83
52
  for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
84
53
  args[_key - 1] = arguments[_key];
85
54
  }
55
+ return getFormDataDriver(name)(...args);
56
+ };
57
+ const {
58
+ getFieldClassName,
59
+ updateFormField
60
+ } = (0, _General.default)();
61
+ const {
62
+ getFieldData,
63
+ getFormField,
64
+ setFormFields,
65
+ setFormField,
66
+ getFormFieldsAsArray,
67
+ getFormFieldsKeys,
68
+ removeAllFormFields,
69
+ removeFormField,
70
+ removeFormFields
71
+ } = getFormDataDriverInstance(FormDataDriverName, {
72
+ form,
73
+ setForm,
74
+ FormFields
75
+ });
86
76
 
87
- return getFormDataDriver(name).apply(void 0, args);
88
- };
89
-
90
- var _General = (0, _General2.default)(),
91
- getFieldClassName = _General.getFieldClassName,
92
- updateFormField = _General.updateFormField;
93
-
94
- var _getFormDataDriverIns = getFormDataDriverInstance(FormDataDriverName, {
95
- form: form,
96
- setForm: setForm,
97
- FormFields: FormFields
98
- }),
99
- getFieldData = _getFormDataDriverIns.getFieldData,
100
- getFormField = _getFormDataDriverIns.getFormField,
101
- setFormFields = _getFormDataDriverIns.setFormFields,
102
- _setFormField = _getFormDataDriverIns.setFormField,
103
- getFormFieldsAsArray = _getFormDataDriverIns.getFormFieldsAsArray,
104
- getFormFieldsKeys = _getFormDataDriverIns.getFormFieldsKeys,
105
- removeAllFormFields = _getFormDataDriverIns.removeAllFormFields,
106
- removeFormField = _getFormDataDriverIns.removeFormField,
107
- removeFormFields = _getFormDataDriverIns.removeFormFields; ///////////////////////////////////////////////////////////////
77
+ ///////////////////////////////////////////////////////////////
108
78
  //--- OnChange Observer ---//--- START ---//
109
-
110
-
111
- var _useState = (0, _react.useState)({}),
112
- _useState2 = (0, _slicedToArray2.default)(_useState, 2),
113
- onChangeObservers = _useState2[0],
114
- setOnChangeObservers = _useState2[1];
115
-
116
- var addOnChangeObserver = function addOnChangeObserver(key, cb) {
117
- var observerId = null;
118
- setOnChangeObservers(function (state) {
79
+ const [onChangeObservers, setOnChangeObservers] = (0, _react.useState)({});
80
+ const addOnChangeObserver = (key, cb) => {
81
+ let observerId = null;
82
+ setOnChangeObservers(state => {
119
83
  //Set Default Value
120
84
  if (!state[key]) state[key] = {};
121
85
  observerId = state[key].length;
@@ -124,261 +88,161 @@ function useFormTools() {
124
88
  });
125
89
  return observerId;
126
90
  };
127
-
128
- var removeOnChangeObserver = function removeOnChangeObserver(key, id) {
129
- setOnChangeObservers(function (state) {
91
+ const removeOnChangeObserver = (key, id) => {
92
+ setOnChangeObservers(state => {
130
93
  //Set Default Value
131
94
  if (!state[key]) return state;
132
- state[key] = Object.keys(state).filter(function (cbId) {
133
- return cbId !== id;
134
- }).map(function (cbId) {
135
- return state[key][cbId];
136
- });
95
+ state[key] = Object.keys(state).filter(cbId => cbId !== id).map(cbId => state[key][cbId]);
137
96
  return state;
138
97
  });
139
98
  };
140
-
141
- var onChangeObserver = function onChangeObserver(key, value) {
142
- if (!onChangeObservers[key] || (0, _typeof2.default)(onChangeObservers[key]) !== "object") return;
143
- var Observers = onChangeObservers[key];
144
- Object.values(Observers).map(function (cb) {
99
+ const onChangeObserver = (key, value) => {
100
+ if (!onChangeObservers[key] || typeof onChangeObservers[key] !== "object") return;
101
+ const Observers = onChangeObservers[key];
102
+ Object.values(Observers).map(cb => {
145
103
  cb({
146
- value: value,
147
- form: form
104
+ value,
105
+ form
148
106
  });
149
107
  return null;
150
108
  });
151
109
  };
152
-
153
- var onFieldChange = function onFieldChange(key, value) {
110
+ const onFieldChange = (key, value) => {
154
111
  var _getFormField;
155
-
156
112
  if (value === ((_getFormField = getFormField(key)) === null || _getFormField === void 0 ? void 0 : _getFormField.value)) return false;
157
113
  onChangeObserver(key, value);
114
+ setFormField(field => ({
115
+ ...field,
116
+ error: "",
117
+ value
118
+ }), key);
119
+ };
120
+ //--- OnChange Observer ---//--- END ---//
158
121
 
159
- _setFormField(function (field) {
160
- return _objectSpread(_objectSpread({}, field), {}, {
161
- error: "",
162
- value: value
163
- });
164
- }, key);
165
- }; //--- OnChange Observer ---//--- END ---//
166
122
  ///////////////////////////////////////////////////////////////
167
123
  ///////////////////////////////////////////////////////////////
168
- //--- Form Submit Blocker ---//--- START ---//
169
124
 
170
-
171
- var _useState3 = (0, _react.useState)([]),
172
- _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
173
- formSubmitBlockers = _useState4[0],
174
- setFormSubmitBlockers = _useState4[1];
175
-
176
- var toggleFormSubmitBlock = function toggleFormSubmitBlock(key, value) {
177
- setFormSubmitBlockers(function (state) {
178
- return state.includes(key) || !value ? (0, _toConsumableArray2.default)(state.filter(function (k) {
179
- return k !== key;
180
- })) : [].concat((0, _toConsumableArray2.default)(state), [key]);
181
- });
125
+ //--- Form Submit Blocker ---//--- START ---//
126
+ const [formSubmitBlockers, setFormSubmitBlockers] = (0, _react.useState)([]);
127
+ const toggleFormSubmitBlock = (key, value) => {
128
+ setFormSubmitBlockers(state => state.includes(key) || !value ? [...state.filter(k => k !== key)] : [...state, key]);
182
129
  };
130
+ const clearFormSubmitBlockers = () => setFormSubmitBlockers([]);
131
+ //--- Form Submit Blocker ---//--- END ---//
183
132
 
184
- var clearFormSubmitBlockers = function clearFormSubmitBlockers() {
185
- return setFormSubmitBlockers([]);
186
- }; //--- Form Submit Blocker ---//--- END ---//
187
133
  ///////////////////////////////////////////////////////////////
188
134
  ///////////////////////////////////////////////////////////////
135
+
189
136
  //--- Property Observer Blocker ---//--- START ---//
190
137
  // const [propertyObservers, setPropertyObservers] = useState({});
191
138
  // function addPropertyObserver () {
192
139
  // };
193
140
  //--- Property Observer Blocker ---//--- END ---//
141
+
194
142
  ///////////////////////////////////////////////////////////////
195
143
  ///////////////////////////////////////////////////////////////
196
- //--- Render Fields Controller ---//--- START ---//
197
-
198
-
199
- var _useState5 = (0, _react.useState)(false),
200
- _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
201
- isFormFieldsAdded = _useState6[0],
202
- setIsFormFieldsAdded = _useState6[1];
203
-
204
- var _useState7 = (0, _react.useState)([]),
205
- _useState8 = (0, _slicedToArray2.default)(_useState7, 2),
206
- renderFormFields = _useState8[0],
207
- setRenderFormFieldsState = _useState8[1];
208
-
209
- var setRenderFormFields = function setRenderFormFields(data) {
210
- setIsFormFieldsAdded(true); // eslint-disable-next-line no-use-before-define
211
-
212
- removeRenderFields(renderFormFields); // eslint-disable-next-line no-use-before-define
213
144
 
145
+ //--- Render Fields Controller ---//--- START ---//
146
+ const [isFormFieldsAdded, setIsFormFieldsAdded] = (0, _react.useState)(false);
147
+ const [renderFormFields, setRenderFormFieldsState] = (0, _react.useState)([]);
148
+ const setRenderFormFields = data => {
149
+ setIsFormFieldsAdded(true);
150
+ // eslint-disable-next-line no-use-before-define
151
+ removeRenderFields(renderFormFields);
152
+ // eslint-disable-next-line no-use-before-define
214
153
  resetIsInitFocused();
215
154
  setRenderFormFieldsState(data);
216
155
  };
217
-
218
- var addRenderFields = function addRenderFields(fields) {
219
- setRenderFormFieldsState(function (state) {
220
- return [].concat((0, _toConsumableArray2.default)(state), (0, _toConsumableArray2.default)(fields));
221
- });
222
- };
223
-
224
- var removeRenderFields = function removeRenderFields(fields) {
225
- setRenderFormFieldsState(function (state) {
226
- return state.filter(function (field) {
227
- return !fields.includes(field);
156
+ const addRenderFields = fields => {
157
+ setRenderFormFieldsState(state => [...state, ...fields]);
158
+ };
159
+ const removeRenderFields = fields => {
160
+ setRenderFormFieldsState(state => state.filter(field => !fields.includes(field)));
161
+ };
162
+ const [isFormRendered, setIsFormRendered] = (0, _react.useState)(false);
163
+ const submitIsFormRendered = () => setIsFormRendered(true);
164
+ const resetIsFormRendered = () => setIsFormRendered(false);
165
+ const onEnterDown = async e => {
166
+ if (!goToNextFieldOnEnterPressed) return false;
167
+ const focusable = document.querySelectorAll('a, button, input, [tabindex]:not([tabindex="-1"])');
168
+ const currentIndex = await new Promise(resolve => {
169
+ focusable.forEach((node, i) => {
170
+ if (node === e.target) resolve(i);
228
171
  });
229
172
  });
173
+ if (!currentIndex) return false;
174
+ const nextIndex = currentIndex + 1;
175
+ if (nextIndex >= focusable.length) return false;
176
+ const nextItem = focusable[nextIndex];
177
+ nextItem.focus();
230
178
  };
231
-
232
- var _useState9 = (0, _react.useState)(false),
233
- _useState10 = (0, _slicedToArray2.default)(_useState9, 2),
234
- isFormRendered = _useState10[0],
235
- setIsFormRendered = _useState10[1];
236
-
237
- var submitIsFormRendered = function submitIsFormRendered() {
238
- return setIsFormRendered(true);
239
- };
240
-
241
- var resetIsFormRendered = function resetIsFormRendered() {
242
- return setIsFormRendered(false);
243
- };
244
-
245
- var onEnterDown = /*#__PURE__*/function () {
246
- var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(e) {
247
- var focusable, currentIndex, nextIndex, nextItem;
248
- return _regenerator.default.wrap(function _callee$(_context) {
249
- while (1) {
250
- switch (_context.prev = _context.next) {
251
- case 0:
252
- if (goToNextFieldOnEnterPressed) {
253
- _context.next = 2;
254
- break;
255
- }
256
-
257
- return _context.abrupt("return", false);
258
-
259
- case 2:
260
- focusable = document.querySelectorAll('a, button, input, [tabindex]:not([tabindex="-1"])');
261
- _context.next = 5;
262
- return new Promise(function (resolve) {
263
- focusable.forEach(function (node, i) {
264
- if (node === e.target) resolve(i);
265
- });
266
- });
267
-
268
- case 5:
269
- currentIndex = _context.sent;
270
-
271
- if (currentIndex) {
272
- _context.next = 8;
273
- break;
274
- }
275
-
276
- return _context.abrupt("return", false);
277
-
278
- case 8:
279
- nextIndex = currentIndex + 1;
280
-
281
- if (!(nextIndex >= focusable.length)) {
282
- _context.next = 11;
283
- break;
284
- }
285
-
286
- return _context.abrupt("return", false);
287
-
288
- case 11:
289
- nextItem = focusable[nextIndex];
290
- nextItem.focus();
291
-
292
- case 13:
293
- case "end":
294
- return _context.stop();
295
- }
296
- }
297
- }, _callee);
298
- }));
299
-
300
- return function onEnterDown(_x) {
301
- return _ref2.apply(this, arguments);
302
- };
303
- }();
304
-
305
- var onKeyDown = function onKeyDown() {
179
+ const onKeyDown = function () {
306
180
  for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
307
181
  args[_key2] = arguments[_key2];
308
182
  }
309
-
310
- var event = args.reduce(function (e, item) {
183
+ const event = args.reduce((e, item) => {
311
184
  if ((item === null || item === void 0 ? void 0 : item.nativeEvent) instanceof KeyboardEvent) return item;
312
185
  return e;
313
186
  }, null);
314
187
  if (!event) return false;
315
- var keyCode = event.keyCode;
316
-
188
+ const {
189
+ keyCode
190
+ } = event;
317
191
  switch (keyCode) {
318
192
  //OnEnterDown
319
193
  case 13:
320
194
  onEnterDown(event);
321
195
  break;
322
-
323
196
  default:
324
197
  break;
325
198
  }
326
- }; //On Type Change
327
-
199
+ };
328
200
 
329
- (0, _react.useEffect)(function () {
201
+ //On Type Change
202
+ (0, _react.useEffect)(() => {
330
203
  resetIsFormRendered();
331
- }, [FormType]); //On Render Fields Change
204
+ }, [FormType]);
332
205
 
333
- (0, _react.useEffect)(function () {
334
- if (isFormFieldsAdded) resetIsFormRendered(false); //Add Form Fields
206
+ //On Render Fields Change
207
+ (0, _react.useEffect)(() => {
208
+ if (isFormFieldsAdded) resetIsFormRendered(false);
335
209
 
210
+ //Add Form Fields
336
211
  if (renderFormFields.length !== 0) {
337
- setFormFields(function (fields) {
338
- return renderFormFields.reduce(function (result, key) {
212
+ setFormFields(fields => {
213
+ return renderFormFields.reduce((result, key) => {
339
214
  var _field$className;
340
-
341
- var fieldData = getFieldData(key);
342
- var field = getFormField(key) ? getFormField(key) : fieldData;
343
-
344
- if (!(field !== null && field !== void 0 && field.className) || (field === null || field === void 0 ? void 0 : (_field$className = field.className) === null || _field$className === void 0 ? void 0 : _field$className.indexOf(getFieldClassName(key, FormType))) === -1) {
215
+ const fieldData = getFieldData(key);
216
+ const field = getFormField(key) ? getFormField(key) : fieldData;
217
+ if (!(field !== null && field !== void 0 && field.className) || (field === null || field === void 0 || (_field$className = field.className) === null || _field$className === void 0 ? void 0 : _field$className.indexOf(getFieldClassName(key, FormType))) === -1) {
345
218
  field.className = "".concat(field === null || field === void 0 ? void 0 : field.className, " ").concat(getFieldClassName(key, FormType));
346
219
  }
347
-
348
- if ((0, _typeof2.default)(fieldData === null || fieldData === void 0 ? void 0 : fieldData.label) === "object") {
220
+ if (typeof (fieldData === null || fieldData === void 0 ? void 0 : fieldData.label) === "object") {
349
221
  field.label = fieldData.label[FormType] || fieldData.label.default;
350
222
  }
351
-
352
223
  field.ref = /*#__PURE__*/(0, _react.createRef)();
353
224
  field.wrapperRef = /*#__PURE__*/(0, _react.createRef)();
354
225
  field.isValueChangedByUser = false;
355
-
356
226
  if (goToNextFieldOnEnterPressed) {
357
- var onKeyDownProp = field.onKeyDown || function () {};
358
-
227
+ const onKeyDownProp = field.onKeyDown || (() => {});
359
228
  field.onKeyDown = function () {
360
- onKeyDown.apply(void 0, arguments);
361
- onKeyDownProp.apply(void 0, arguments);
362
- };
363
- } //Is Field Value Changed By USER
364
- // eslint-disable-next-line no-use-before-define
365
-
366
-
367
- addOnFieldRenderedObserver(key, function () {
368
- var _getFormField2, _getFormField2$ref, _getFormField2$ref$cu;
369
-
370
- var element = (_getFormField2 = getFormField(key)) === null || _getFormField2 === void 0 ? void 0 : (_getFormField2$ref = _getFormField2.ref) === null || _getFormField2$ref === void 0 ? void 0 : (_getFormField2$ref$cu = _getFormField2$ref.current) === null || _getFormField2$ref$cu === void 0 ? void 0 : _getFormField2$ref$cu.querySelector((field === null || field === void 0 ? void 0 : field.focusSelector) || "input");
371
-
372
- var handler = function handler() {
373
- return _setFormField({
374
- isValueChangedByUser: true
375
- }, key);
229
+ onKeyDown(...arguments);
230
+ onKeyDownProp(...arguments);
376
231
  };
232
+ }
377
233
 
378
- element === null || element === void 0 ? void 0 : element.addEventListener("paste", handler, {
234
+ //Is Field Value Changed By USER
235
+ // eslint-disable-next-line no-use-before-define
236
+ addOnFieldRenderedObserver(key, () => {
237
+ var _getFormField2;
238
+ const element = (_getFormField2 = getFormField(key)) === null || _getFormField2 === void 0 || (_getFormField2 = _getFormField2.ref) === null || _getFormField2 === void 0 || (_getFormField2 = _getFormField2.current) === null || _getFormField2 === void 0 ? void 0 : _getFormField2.querySelector((field === null || field === void 0 ? void 0 : field.focusSelector) || "input");
239
+ const handler = () => setFormField({
240
+ isValueChangedByUser: true
241
+ }, key);
242
+ element === null || element === void 0 || element.addEventListener("paste", handler, {
379
243
  once: true
380
244
  });
381
- element === null || element === void 0 ? void 0 : element.addEventListener("keypress", handler, {
245
+ element === null || element === void 0 || element.addEventListener("keypress", handler, {
382
246
  once: true
383
247
  });
384
248
  }, true);
@@ -387,53 +251,40 @@ function useFormTools() {
387
251
  });
388
252
  }
389
253
  }, [renderFormFields]);
390
-
391
- var _useState11 = (0, _react.useState)([]),
392
- _useState12 = (0, _slicedToArray2.default)(_useState11, 2),
393
- onFormRenderObservers = _useState12[0],
394
- setOnFormRenderObservers = _useState12[1];
395
-
396
- var addOnFormRenderObserver = function addOnFormRenderObserver(cb) {
397
- var _ref3 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
398
- _ref3$once = _ref3.once,
399
- once = _ref3$once === void 0 ? false : _ref3$once;
400
-
401
- setOnFormRenderObservers(function (state) {
402
- return [].concat((0, _toConsumableArray2.default)(state), [{
403
- cb: cb,
404
- once: once,
405
- isWorkedOut: false
406
- }]);
407
- });
408
- }; // eslint-disable-next-line no-unused-vars
409
-
410
-
411
- var updateOnFormRenderObserver = function updateOnFormRenderObserver(key, data) {
412
- setOnFormRenderObservers(function (state) {
413
- var copy = (0, _toConsumableArray2.default)(state);
414
- copy[key] = _objectSpread(_objectSpread({}, state[key]), data);
254
+ const [onFormRenderObservers, setOnFormRenderObservers] = (0, _react.useState)([]);
255
+ const addOnFormRenderObserver = function (cb) {
256
+ let {
257
+ once = false
258
+ } = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
259
+ setOnFormRenderObservers(state => [...state, {
260
+ cb,
261
+ once,
262
+ isWorkedOut: false
263
+ }]);
264
+ };
265
+ // eslint-disable-next-line no-unused-vars
266
+ const updateOnFormRenderObserver = (key, data) => {
267
+ setOnFormRenderObservers(state => {
268
+ const copy = [...state];
269
+ copy[key] = {
270
+ ...state[key],
271
+ ...data
272
+ };
415
273
  return copy;
416
274
  });
417
275
  };
418
-
419
- var removeOnFormRenderObserver = function removeOnFormRenderObserver(key) {
420
- setOnFormRenderObservers(function (state) {
421
- return state.slice().filter(function (v, i) {
422
- return i !== key;
423
- });
424
- });
276
+ const removeOnFormRenderObserver = key => {
277
+ setOnFormRenderObservers(state => state.slice().filter((v, i) => i !== key));
425
278
  };
426
-
427
- var onFormRenderWorker = function onFormRenderWorker() {
279
+ const onFormRenderWorker = () => {
428
280
  // eslint-disable-next-line default-param-last
429
281
  onFormRenderObservers.map(function () {
430
- var _ref4 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
431
- once = _ref4.once,
432
- isWorkedOut = _ref4.isWorkedOut,
433
- _ref4$cb = _ref4.cb,
434
- cb = _ref4$cb === void 0 ? function () {} : _ref4$cb;
435
-
436
- var key = arguments.length > 1 ? arguments[1] : undefined;
282
+ let {
283
+ once,
284
+ isWorkedOut,
285
+ cb = () => {}
286
+ } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
287
+ let key = arguments.length > 1 ? arguments[1] : undefined;
437
288
  if (once && isWorkedOut) return null;
438
289
  cb(form);
439
290
  if (once) removeOnFormRenderObserver(key);else updateOnFormRenderObserver(key, {
@@ -441,330 +292,265 @@ function useFormTools() {
441
292
  });
442
293
  return null;
443
294
  });
444
- }; //On Form Rendered
445
-
295
+ };
446
296
 
447
- (0, _react.useEffect)(function () {
297
+ //On Form Rendered
298
+ (0, _react.useEffect)(() => {
448
299
  if (!isFormRendered && onFormRenderObservers.length) {
449
- var formFieldsKeys = getFormFieldsKeys(form);
450
- var isAllFieldsRendered = renderFormFields.reduce(function (result, key) {
300
+ const formFieldsKeys = getFormFieldsKeys(form);
301
+ const isAllFieldsRendered = renderFormFields.reduce((result, key) => {
451
302
  if (!formFieldsKeys.includes(key)) result = false;
452
303
  return result;
453
304
  }, true);
454
-
455
305
  if (isAllFieldsRendered) {
456
306
  submitIsFormRendered(true);
457
307
  onFormRenderWorker();
458
308
  }
459
309
  }
460
- }, [form, renderFormFields, onFormRenderObservers]); //--- Render Fields Controller ---//--- END ---//
310
+ }, [form, renderFormFields, onFormRenderObservers]);
311
+ //--- Render Fields Controller ---//--- END ---//
312
+
461
313
  ///////////////////////////////////////////////////////////////
462
314
  ///////////////////////////////////////////////////////////////
463
- //--- HIGHTLIGHT LABELS IF FIELD WITH ERROR ---//--- START ---//
464
315
 
465
- var hightliteErrorLabels = function hightliteErrorLabels() {
466
- var fields = getFormFieldsAsArray();
467
- var filtered = fields === null || fields === void 0 ? void 0 : fields.reduce(function (result, field) {
316
+ //--- HIGHTLIGHT LABELS IF FIELD WITH ERROR ---//--- START ---//
317
+ const hightliteErrorLabels = () => {
318
+ const fields = getFormFieldsAsArray();
319
+ const filtered = fields === null || fields === void 0 ? void 0 : fields.reduce((result, field) => {
468
320
  if (field !== null && field !== void 0 && field.errorLabelHightlite) {
469
321
  // eslint-disable-next-line no-use-before-define
470
- result.push(_objectSpread(_objectSpread({}, field), {}, {
322
+ result.push({
323
+ ...field,
471
324
  className: getFieldClassName(field === null || field === void 0 ? void 0 : field.key, FormType)
472
- }));
325
+ });
473
326
  }
474
-
475
327
  return result;
476
328
  }, []);
477
- filtered === null || filtered === void 0 ? void 0 : filtered.map(function (field) {
478
- var formField = document.querySelector(".".concat(field === null || field === void 0 ? void 0 : field.className));
329
+ filtered === null || filtered === void 0 || filtered.map(field => {
330
+ const formField = document.querySelector(".".concat(field === null || field === void 0 ? void 0 : field.className));
479
331
  if (!formField) return null;
480
332
  formField.classList.remove("errorLabelHightlite");
481
-
482
333
  if (field !== null && field !== void 0 && field.error) {
483
334
  formField.classList.add("errorLabelHightlite");
484
335
  }
485
-
486
336
  return null;
487
337
  });
488
338
  };
489
-
490
- (0, _react.useEffect)(function () {
339
+ (0, _react.useEffect)(() => {
491
340
  hightliteErrorLabels();
492
- }, [form]); //--- HIGHTLIGHT LABELS IF FIELD WITH ERROR ---//--- END ---//
341
+ }, [form]);
342
+ //--- HIGHTLIGHT LABELS IF FIELD WITH ERROR ---//--- END ---//
343
+
493
344
  ///////////////////////////////////////////////////////////////
494
345
  ///////////////////////////////////////////////////////////////
495
- //--- Fields Focus Controller ---//--- START ---//
496
-
497
- var _useState13 = (0, _react.useState)(false),
498
- _useState14 = (0, _slicedToArray2.default)(_useState13, 2),
499
- isInitFocused = _useState14[0],
500
- setIsInitFocused = _useState14[1];
501
-
502
- var _useState15 = (0, _react.useState)(null),
503
- _useState16 = (0, _slicedToArray2.default)(_useState15, 2),
504
- autoFocusedField = _useState16[0],
505
- setAutoFocusedField = _useState16[1];
506
346
 
507
- var setFirstFieldInitFocused = function setFirstFieldInitFocused() {
508
- return setIsInitFocused(true);
509
- };
510
-
511
- var resetIsInitFocused = function resetIsInitFocused() {
512
- return setIsInitFocused(false);
513
- };
514
-
515
- var toggleFieldFocus = function toggleFieldFocus(_ref5) {
516
- var key = _ref5.key,
517
- _ref5$cb = _ref5.cb,
518
- cb = _ref5$cb === void 0 ? function () {} : _ref5$cb,
519
- argForm = _ref5.form,
520
- field = _ref5.field;
521
- var action = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "focus";
347
+ //--- Fields Focus Controller ---//--- START ---//
348
+ const [isInitFocused, setIsInitFocused] = (0, _react.useState)(false);
349
+ const [autoFocusedField, setAutoFocusedField] = (0, _react.useState)(null);
350
+ const setFirstFieldInitFocused = () => setIsInitFocused(true);
351
+ const resetIsInitFocused = () => setIsInitFocused(false);
352
+ const toggleFieldFocus = function (_ref) {
353
+ let {
354
+ key,
355
+ cb = () => {},
356
+ form: argForm,
357
+ field
358
+ } = _ref;
359
+ let action = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "focus";
522
360
  if (!key && !field) return null;
523
361
  if (!argForm) argForm = form;
524
- var formField = field || getFormField(key, argForm);
525
-
362
+ const formField = field || getFormField(key, argForm);
526
363
  if (!formField || !formField.ref) {
527
364
  return false;
528
365
  }
529
-
530
366
  if (action === "focus" && FocusControllerProps.onlyEmptyFieldAutoFocus && Boolean(formField === null || formField === void 0 ? void 0 : formField.value)) return null;
531
- setTimeout(function () {
532
- var _formField$ref$curren, _formField$ref$curren2;
533
-
534
- (_formField$ref$curren = formField.ref.current) === null || _formField$ref$curren === void 0 ? void 0 : (_formField$ref$curren2 = _formField$ref$curren.querySelector((formField === null || formField === void 0 ? void 0 : formField.focusSelector) || "input")) === null || _formField$ref$curren2 === void 0 ? void 0 : _formField$ref$curren2[action]();
367
+ setTimeout(() => {
368
+ var _formField$ref$curren;
369
+ (_formField$ref$curren = formField.ref.current) === null || _formField$ref$curren === void 0 || (_formField$ref$curren = _formField$ref$curren.querySelector((formField === null || formField === void 0 ? void 0 : formField.focusSelector) || "input")) === null || _formField$ref$curren === void 0 || _formField$ref$curren[action]();
535
370
  cb();
536
371
  }, 50);
537
372
  };
538
-
539
- var setFieldFocus = function setFieldFocus(_ref6) {
540
- var key = _ref6.key,
541
- _ref6$cb = _ref6.cb,
542
- cb = _ref6$cb === void 0 ? function () {} : _ref6$cb,
543
- argForm = _ref6.form,
544
- field = _ref6.field;
373
+ const setFieldFocus = _ref2 => {
374
+ let {
375
+ key,
376
+ cb = () => {},
377
+ form: argForm,
378
+ field
379
+ } = _ref2;
545
380
  return toggleFieldFocus({
546
- key: key,
547
- cb: cb,
381
+ key,
382
+ cb,
548
383
  form: argForm,
549
- field: field
384
+ field
550
385
  }, "focus");
551
386
  };
552
-
553
- var setFieldBlur = function setFieldBlur(_ref7) {
554
- var key = _ref7.key,
555
- _ref7$cb = _ref7.cb,
556
- cb = _ref7$cb === void 0 ? function () {} : _ref7$cb,
557
- argForm = _ref7.form,
558
- field = _ref7.field;
387
+ const setFieldBlur = _ref3 => {
388
+ let {
389
+ key,
390
+ cb = () => {},
391
+ form: argForm,
392
+ field
393
+ } = _ref3;
559
394
  return toggleFieldFocus({
560
- key: key,
561
- cb: cb,
395
+ key,
396
+ cb,
562
397
  form: argForm,
563
- field: field
398
+ field
564
399
  }, "blur");
565
400
  };
566
-
567
- var setFirstFieldFocus = function setFirstFieldFocus() {
401
+ const setFirstFieldFocus = () => {
568
402
  var _field;
569
-
570
- var field = null;
571
-
572
- for (var i = 0; i < renderFormFields.length && !field; ++i) {
573
- var key = renderFormFields[i];
574
- var tmpField = getFormField(key);
403
+ let field = null;
404
+ for (let i = 0; i < renderFormFields.length && !field; ++i) {
405
+ const key = renderFormFields[i];
406
+ const tmpField = getFormField(key);
575
407
  if (tmpField && !(tmpField !== null && tmpField !== void 0 && tmpField.disabled)) field = tmpField;
576
408
  }
577
-
578
409
  if (!field) return false;
579
-
580
410
  if (FocusControllerProps.onlyEmptyFieldAutoFocus && Boolean((_field = field) === null || _field === void 0 ? void 0 : _field.value)) {
581
411
  setFirstFieldInitFocused();
582
412
  return false;
583
413
  }
584
-
585
414
  setAutoFocusedField(field.key);
586
-
587
- var callback = function callback() {
588
- _setFormField({
415
+ const callback = () => {
416
+ setFormField({
589
417
  value: field.value
590
418
  }, field.key);
591
-
592
419
  setFirstFieldInitFocused();
593
420
  };
594
-
595
- setTimeout(function () {
596
- return setFieldFocus({
597
- key: field.key,
598
- cb: callback,
599
- form: form
600
- });
601
- }, 50);
602
- };
603
-
604
- var _useState17 = (0, _react.useState)({}),
605
- _useState18 = (0, _slicedToArray2.default)(_useState17, 2),
606
- onFieldFocusCallbacks = _useState18[0],
607
- setOnFieldFocusCallbacks = _useState18[1];
608
-
609
- var addOnFieldFocusCallback = function addOnFieldFocusCallback(key, cb) {
610
- setOnFieldFocusCallbacks(function (state) {
611
- var stateCopy = _objectSpread({}, state);
612
-
421
+ setTimeout(() => setFieldFocus({
422
+ key: field.key,
423
+ cb: callback,
424
+ form
425
+ }), 50);
426
+ };
427
+ const [onFieldFocusCallbacks, setOnFieldFocusCallbacks] = (0, _react.useState)({});
428
+ const addOnFieldFocusCallback = (key, cb) => {
429
+ setOnFieldFocusCallbacks(state => {
430
+ const stateCopy = {
431
+ ...state
432
+ };
613
433
  if (!state[key]) stateCopy[key] = [];
614
434
  stateCopy[key].push(cb);
615
435
  return stateCopy;
616
436
  });
617
437
  };
618
-
619
- var callOnFieldFocusCallbacks = function callOnFieldFocusCallbacks(key) {
438
+ const callOnFieldFocusCallbacks = key => {
620
439
  var _onFieldFocusCallback;
621
-
622
440
  if (!Array.isArray(onFieldFocusCallbacks[key])) return null;
623
- (_onFieldFocusCallback = onFieldFocusCallbacks[key]) === null || _onFieldFocusCallback === void 0 ? void 0 : _onFieldFocusCallback.map(function (cb) {
624
- return cb();
625
- });
441
+ (_onFieldFocusCallback = onFieldFocusCallbacks[key]) === null || _onFieldFocusCallback === void 0 || _onFieldFocusCallback.map(cb => cb());
626
442
  };
627
-
628
- var _useState19 = (0, _react.useState)([]),
629
- _useState20 = (0, _slicedToArray2.default)(_useState19, 2),
630
- focusOnRenderFields = _useState20[0],
631
- setFocusOnRenderFields = _useState20[1];
632
-
633
- var addFocusFieldOnRender = function addFocusFieldOnRender(key, cb) {
634
- setFocusOnRenderFields(function (state) {
635
- return [].concat((0, _toConsumableArray2.default)(state), [key]);
636
- });
443
+ const [focusOnRenderFields, setFocusOnRenderFields] = (0, _react.useState)([]);
444
+ const addFocusFieldOnRender = (key, cb) => {
445
+ setFocusOnRenderFields(state => [...state, key]);
637
446
  if (cb) addOnFieldFocusCallback(key, cb);
638
447
  };
639
-
640
- var removeFocusFieldOnRender = function removeFocusFieldOnRender(key) {
641
- setFocusOnRenderFields(function (state) {
642
- return state.filter(function (field) {
643
- return field !== key;
644
- });
645
- });
448
+ const removeFocusFieldOnRender = key => {
449
+ setFocusOnRenderFields(state => state.filter(field => field !== key));
646
450
  };
647
-
648
- (0, _react.useEffect)(function () {
451
+ (0, _react.useEffect)(() => {
649
452
  if (FocusControllerProps.setAutoFocus && !isInitFocused && !autoFocusedField && isFormRendered) setFirstFieldFocus();
650
-
651
453
  if (focusOnRenderFields.length) {
652
454
  var _getFormFieldsKeys;
653
-
654
- (_getFormFieldsKeys = getFormFieldsKeys(form)) === null || _getFormFieldsKeys === void 0 ? void 0 : _getFormFieldsKeys.map(function (key) {
655
- var _getFormField3, _getFormField3$value;
656
-
657
- if (focusOnRenderFields.includes(key) && ((_getFormField3 = getFormField(key)) === null || _getFormField3 === void 0 ? void 0 : (_getFormField3$value = _getFormField3.value) === null || _getFormField3$value === void 0 ? void 0 : _getFormField3$value.length) === 0) {
658
- var cb = function cb() {
455
+ (_getFormFieldsKeys = getFormFieldsKeys(form)) === null || _getFormFieldsKeys === void 0 || _getFormFieldsKeys.map(key => {
456
+ var _getFormField3;
457
+ if (focusOnRenderFields.includes(key) && ((_getFormField3 = getFormField(key)) === null || _getFormField3 === void 0 || (_getFormField3 = _getFormField3.value) === null || _getFormField3 === void 0 ? void 0 : _getFormField3.length) === 0) {
458
+ const cb = () => {
659
459
  removeFocusFieldOnRender(key);
660
460
  callOnFieldFocusCallbacks(key);
661
461
  };
662
-
663
462
  setFieldFocus({
664
- key: key,
665
- form: form,
666
- cb: cb
463
+ key,
464
+ form,
465
+ cb
667
466
  });
668
467
  }
669
-
670
468
  return null;
671
469
  });
672
470
  }
673
471
  }, [form, focusOnRenderFields, isInitFocused, isFormRendered]);
674
- (0, _react.useEffect)(function () {
472
+ (0, _react.useEffect)(() => {
675
473
  setAutoFocusedField(null);
676
474
  }, [isInitFocused]);
677
- (0, _react.useEffect)(function () {
475
+ (0, _react.useEffect)(() => {
678
476
  resetIsInitFocused();
679
- }, [FormType]); //Remove Focus From Autocomplete field !!! TODO
477
+ }, [FormType]);
478
+
479
+ //Remove Focus From Autocomplete field !!! TODO
680
480
  // useEffect(() => {
681
481
  // if (!autoFocusedField) return null;
682
482
  // const field = getFormField(autoFocusedField);
483
+
683
484
  // if (field?.value !== '' && !field?.isValueChangedByUser) {
684
485
  // setFieldBlur({key: autoFocusedField, form});
685
486
  // }
686
487
  // }, [autoFocusedField, form]);
687
488
  //--- Fields Focus Controller ---//--- END ---//
489
+
688
490
  ///////////////////////////////////////////////////////////////
689
491
  ///////////////////////////////////////////////////////////////
690
- //--- OnFieldRendered Observer ---//--- START ---//
691
-
692
- var _useState21 = (0, _react.useState)({}),
693
- _useState22 = (0, _slicedToArray2.default)(_useState21, 2),
694
- onFieldRenderedObservers = _useState22[0],
695
- setOnFieldRenderedObservers = _useState22[1];
696
-
697
- var _useState23 = (0, _react.useState)(false),
698
- _useState24 = (0, _slicedToArray2.default)(_useState23, 2),
699
- isFieldObserversReset = _useState24[0],
700
- setIsFieldObserversReset = _useState24[1];
701
492
 
702
- var resetOnFieldRenderObserversWorkedOut = function resetOnFieldRenderObserversWorkedOut() {
493
+ //--- OnFieldRendered Observer ---//--- START ---//
494
+ const [onFieldRenderedObservers, setOnFieldRenderedObservers] = (0, _react.useState)({});
495
+ const [isFieldObserversReset, setIsFieldObserversReset] = (0, _react.useState)(false);
496
+ const resetOnFieldRenderObserversWorkedOut = () => {
703
497
  if (!isFieldObserversReset && renderFormFields.length) {
704
- renderFormFields.map(function (key) {
705
- _setFormField({
498
+ renderFormFields.map(key => {
499
+ setFormField({
706
500
  isOnRenderObserversWorkedOut: false
707
501
  }, key);
708
-
709
502
  return key;
710
503
  });
711
504
  setIsFieldObserversReset(true);
712
505
  }
713
506
  };
714
-
715
- var addOnFieldRenderedObserver = function addOnFieldRenderedObserver(key, cb) {
716
- var isOnceCallable = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
717
- var observerId = null;
718
- setOnFieldRenderedObservers(function (state) {
507
+ const addOnFieldRenderedObserver = function (key, cb) {
508
+ let isOnceCallable = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
509
+ let observerId = null;
510
+ setOnFieldRenderedObservers(state => {
719
511
  //Set Default Value
720
512
  if (!state[key]) state[key] = {};
721
513
  observerId = Object.keys(state[key]).length || 0;
722
514
  state[key][observerId] = {
723
515
  f: cb,
724
- isOnceCallable: isOnceCallable
516
+ isOnceCallable
725
517
  };
726
518
  return state;
727
519
  });
728
520
  return observerId;
729
521
  };
730
-
731
- var updateOnFieldRenderedObserver = function updateOnFieldRenderedObserver(key, id, data) {
732
- setOnFieldRenderedObservers(function (state) {
522
+ const updateOnFieldRenderedObserver = (key, id, data) => {
523
+ setOnFieldRenderedObservers(state => {
733
524
  //Set Default Value
734
525
  if (!state[key]) return state;
735
- state[key][id] = _objectSpread(_objectSpread({}, state[key][id]), data);
526
+ state[key][id] = {
527
+ ...state[key][id],
528
+ ...data
529
+ };
736
530
  return state;
737
531
  });
738
532
  };
739
-
740
- var removeOnFieldRenderedObserver = function removeOnFieldRenderedObserver(key, id) {
741
- setOnFieldRenderedObservers(function (state) {
533
+ const removeOnFieldRenderedObserver = (key, id) => {
534
+ setOnFieldRenderedObservers(state => {
742
535
  //Set Default Value
743
536
  if (!state[key]) return state;
744
- state[key] = Object.keys(state).filter(function (cbId) {
745
- return cbId !== id;
746
- }).map(function (cbId) {
747
- return state[key][cbId];
748
- });
537
+ state[key] = Object.keys(state).filter(cbId => cbId !== id).map(cbId => state[key][cbId]);
749
538
  return state;
750
539
  });
751
540
  };
752
-
753
- var onFieldRenderedObserver = function onFieldRenderedObserver(key, data) {
754
- if (!onFieldRenderedObservers[key] || (0, _typeof2.default)(onFieldRenderedObservers[key]) !== "object") return;
755
- var Observers = onFieldRenderedObservers[key];
756
- var FilteredObservers = Object.values(Observers).filter(function (observer) {
757
- return !(observer !== null && observer !== void 0 && observer.isObserverWorkedOut);
758
- });
541
+ const onFieldRenderedObserver = (key, data) => {
542
+ if (!onFieldRenderedObservers[key] || typeof onFieldRenderedObservers[key] !== "object") return;
543
+ const Observers = onFieldRenderedObservers[key];
544
+ const FilteredObservers = Object.values(Observers).filter(observer => !(observer !== null && observer !== void 0 && observer.isObserverWorkedOut));
759
545
  if (FilteredObservers.length === 0) return null;
760
-
761
- _setFormField({
546
+ setFormField({
762
547
  isOnRenderObserversWorkedOut: true
763
548
  }, key);
764
-
765
- FilteredObservers.map(function (_ref8, id) {
766
- var f = _ref8.f,
767
- isOnceCallable = _ref8.isOnceCallable;
549
+ FilteredObservers.map((_ref4, id) => {
550
+ let {
551
+ f,
552
+ isOnceCallable
553
+ } = _ref4;
768
554
  f(data);
769
555
  if (isOnceCallable) updateOnFieldRenderedObserver(key, id, {
770
556
  isObserverWorkedOut: true
@@ -772,41 +558,40 @@ function useFormTools() {
772
558
  return null;
773
559
  });
774
560
  };
775
-
776
- var onRenderObserverWorker = function onRenderObserverWorker() {
561
+ const onRenderObserverWorker = () => {
777
562
  var _getFormFieldsKeys2;
778
-
779
- return (_getFormFieldsKeys2 = getFormFieldsKeys(form)) === null || _getFormFieldsKeys2 === void 0 ? void 0 : _getFormFieldsKeys2.map(function (key) {
563
+ return (_getFormFieldsKeys2 = getFormFieldsKeys(form)) === null || _getFormFieldsKeys2 === void 0 ? void 0 : _getFormFieldsKeys2.map(key => {
780
564
  //OnFieldRendered
781
- var fieldData = getFormField(key);
782
-
565
+ const fieldData = getFormField(key);
783
566
  if (!(fieldData !== null && fieldData !== void 0 && fieldData.isOnRenderObserversWorkedOut)) {
784
567
  onFieldRenderedObserver(key, fieldData);
785
568
  return {
786
- key: key,
569
+ key,
787
570
  isWorkedOut: true
788
571
  };
789
572
  }
790
-
791
573
  return {
792
- key: key,
574
+ key,
793
575
  isWorkedOut: false
794
576
  };
795
577
  });
796
578
  };
797
-
798
- (0, _react.useEffect)(function () {
579
+ (0, _react.useEffect)(() => {
799
580
  resetOnFieldRenderObserversWorkedOut();
800
581
  onRenderObserverWorker();
801
582
  }, [form]);
802
- (0, _react.useEffect)(function () {
583
+ (0, _react.useEffect)(() => {
803
584
  setIsFieldObserversReset(false);
804
- }, [FormType]); //--- OnFieldRendered Observer ---//--- END ---//
585
+ }, [FormType]);
586
+ //--- OnFieldRendered Observer ---//--- END ---//
587
+
805
588
  ///////////////////////////////////////////////////////////////
806
589
  ///////////////////////////////////////////////////////////////
590
+
807
591
  //Detect What Changed || TRY TO DO
808
592
  // const compare = async (prev, current) => {
809
593
  // if (!prev) return current;
594
+
810
595
  // return new Promise((resolve) => {
811
596
  // Object.keys(current).reduce((result, key, i, arr) => {
812
597
  // //If PROPERTY is NOT EXISTS BEFORE
@@ -824,123 +609,126 @@ function useFormTools() {
824
609
  // else if (prev[key] !== current[key]) {
825
610
  // result[key] = current[key];
826
611
  // }
612
+
827
613
  // if (i === arr.length-1) {
828
614
  // resolve(result);
829
615
  // }
616
+
830
617
  // return result;
831
618
  // }, {});
832
619
  // });
833
620
  // };
621
+
834
622
  ///////////////////////////////////////////////////////////////
835
623
  ///////////////////////////////////////////////////////////////
836
- //--- WindowScrollController ---//--- START ---//
837
624
 
838
- var scrollToField = function scrollToField(_ref9) {
625
+ //--- WindowScrollController ---//--- START ---//
626
+ const scrollToField = _ref5 => {
839
627
  var _field2, _field3, _wrapperRef$current;
840
-
841
- var _ref9$key = _ref9.key,
842
- key = _ref9$key === void 0 ? null : _ref9$key,
843
- _ref9$field = _ref9.field,
844
- field = _ref9$field === void 0 ? null : _ref9$field,
845
- argForm = _ref9.form;
628
+ let {
629
+ key = null,
630
+ field = null,
631
+ form: argForm
632
+ } = _ref5;
846
633
  if (!key && !field) return false;
847
634
  if (!argForm) argForm = form;
848
635
  if (!field) field = getFormField(key, argForm);
849
- var wrapperRef = ((_field2 = field) === null || _field2 === void 0 ? void 0 : _field2.wrapperRef) || ((_field3 = field) === null || _field3 === void 0 ? void 0 : _field3.ref); // eslint-disable-next-line no-unsafe-optional-chaining
850
-
851
- var _wrapperRef$current$g = wrapperRef === null || wrapperRef === void 0 ? void 0 : (_wrapperRef$current = wrapperRef.current) === null || _wrapperRef$current === void 0 ? void 0 : _wrapperRef$current.getBoundingClientRect(),
852
- topOffset = _wrapperRef$current$g.top;
853
-
854
- var scrollTop = Math.abs(Math.abs(topOffset) - Math.abs(window.scrollY)) - 16;
636
+ const wrapperRef = ((_field2 = field) === null || _field2 === void 0 ? void 0 : _field2.wrapperRef) || ((_field3 = field) === null || _field3 === void 0 ? void 0 : _field3.ref);
637
+ // eslint-disable-next-line no-unsafe-optional-chaining
638
+ const {
639
+ top: topOffset
640
+ } = wrapperRef === null || wrapperRef === void 0 || (_wrapperRef$current = wrapperRef.current) === null || _wrapperRef$current === void 0 ? void 0 : _wrapperRef$current.getBoundingClientRect();
641
+ const scrollTop = Math.abs(Math.abs(topOffset) - Math.abs(window.scrollY)) - 16;
855
642
  window.scrollTo({
856
643
  top: scrollTop
857
644
  });
858
- }; //--- WindowScrollController ---//--- END ---//
645
+ };
646
+
647
+ //--- WindowScrollController ---//--- END ---//
648
+
859
649
  ///////////////////////////////////////////////////////////////
860
650
  ///////////////////////////////////////////////////////////////
861
651
 
862
-
863
- var addErrorsToForm = function addErrorsToForm(errors) {
864
- var argForm = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : form;
652
+ const addErrorsToForm = function (errors) {
653
+ let argForm = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : form;
865
654
  if (!argForm) argForm = form;
866
- setFormFields(function (fields) {
867
- return errors.reduce(function (fields, _ref10) {
868
- var error = _ref10.message,
869
- errKey = _ref10.propertyPath;
655
+ setFormFields(fields => {
656
+ return errors.reduce((fields, _ref6) => {
657
+ let {
658
+ message: error,
659
+ propertyPath: errKey
660
+ } = _ref6;
870
661
  return updateFormField(fields, {
871
- error: error
662
+ error
872
663
  }, errKey);
873
664
  }, fields);
874
665
  });
875
666
  };
876
-
877
667
  return {
878
- FormDataDrivers: FormDataDrivers,
668
+ FormDataDrivers,
879
669
  //OnChangeObserver
880
- addOnChangeObserver: addOnChangeObserver,
881
- removeOnChangeObserver: removeOnChangeObserver,
882
- onChangeObservers: onChangeObservers,
670
+ addOnChangeObserver,
671
+ removeOnChangeObserver,
672
+ onChangeObservers,
883
673
  //OnChangeHandler
884
- onFieldChange: onFieldChange,
674
+ onFieldChange,
885
675
  //Form Submit Blocker
886
- toggleFormSubmitBlock: toggleFormSubmitBlock,
887
- clearFormSubmitBlockers: clearFormSubmitBlockers,
676
+ toggleFormSubmitBlock,
677
+ clearFormSubmitBlockers,
888
678
  isFormSubmitBlocked: Boolean(formSubmitBlockers.length),
889
679
  //Property Observers
890
680
  // addPropertyObserver,
681
+
891
682
  //Render Fields
892
- renderFormFields: renderFormFields,
893
- setRenderFormFields: setRenderFormFields,
894
- addRenderFields: addRenderFields,
895
- removeRenderFields: removeRenderFields,
896
- getFieldClassName: getFieldClassName,
683
+ renderFormFields,
684
+ setRenderFormFields,
685
+ addRenderFields,
686
+ removeRenderFields,
687
+ getFieldClassName,
897
688
  //Field Focus Controller
898
- isInitFocused: isInitFocused,
899
- setFirstFieldInitFocused: setFirstFieldInitFocused,
900
- resetIsInitFocused: resetIsInitFocused,
901
- setFieldFocus: setFieldFocus,
902
- setFieldBlur: setFieldBlur,
903
- setFirstFieldFocus: setFirstFieldFocus,
904
- autoFocusedField: autoFocusedField,
905
- addFocusFieldOnRender: addFocusFieldOnRender,
906
- removeFocusFieldOnRender: removeFocusFieldOnRender,
689
+ isInitFocused,
690
+ setFirstFieldInitFocused,
691
+ resetIsInitFocused,
692
+ setFieldFocus,
693
+ setFieldBlur,
694
+ setFirstFieldFocus,
695
+ autoFocusedField,
696
+ addFocusFieldOnRender,
697
+ removeFocusFieldOnRender,
907
698
  //Field Render Controller
908
- addOnFieldRenderedObserver: addOnFieldRenderedObserver,
909
- removeOnFieldRenderedObserver: removeOnFieldRenderedObserver,
910
- onFieldRenderedObservers: onFieldRenderedObservers,
911
- updateFormField: updateFormField,
912
- addOnFormRenderObserver: addOnFormRenderObserver,
913
- submitIsFormRendered: submitIsFormRendered,
914
- resetIsFormRendered: resetIsFormRendered,
915
- renderFields: function renderFields(_ref11) {
916
- var _ref11$form = _ref11.form,
917
- argForm = _ref11$form === void 0 ? form : _ref11$form,
918
- _ref11$fields = _ref11.fields,
919
- argFields = _ref11$fields === void 0 ? renderFormFields : _ref11$fields,
920
- _ref11$cols = _ref11.cols,
921
- argCols = _ref11$cols === void 0 ? 1 : _ref11$cols,
922
- RenderFieldComponent = _ref11.RenderFieldComponent;
699
+ addOnFieldRenderedObserver,
700
+ removeOnFieldRenderedObserver,
701
+ onFieldRenderedObservers,
702
+ updateFormField,
703
+ addOnFormRenderObserver,
704
+ submitIsFormRendered,
705
+ resetIsFormRendered,
706
+ renderFields: _ref7 => {
707
+ let {
708
+ form: argForm = form,
709
+ fields: argFields = renderFormFields,
710
+ cols: argCols = 1,
711
+ RenderFieldComponent
712
+ } = _ref7;
923
713
  return (0, _RenderFields.default)({
924
714
  form: argForm,
925
715
  fields: argFields,
926
716
  cols: argCols,
927
- RenderFieldComponent: RenderFieldComponent,
928
- onFieldChange: onFieldChange,
717
+ RenderFieldComponent,
718
+ onFieldChange,
929
719
  FormDataDriver: getFormDataDriver(FormDataDriverName)
930
720
  });
931
721
  },
932
- scrollToField: scrollToField,
933
- getFieldData: getFieldData,
934
- getFormField: getFormField,
935
- setFormFields: setFormFields,
936
- setFormField: function setFormField(data, key) {
937
- return _setFormField(data, key);
938
- },
939
- getFormFieldsAsArray: getFormFieldsAsArray,
940
- getFormFieldsKeys: getFormFieldsKeys,
941
- removeAllFormFields: removeAllFormFields,
942
- removeFormField: removeFormField,
943
- removeFormFields: removeFormFields,
944
- addErrorsToForm: addErrorsToForm
722
+ scrollToField,
723
+ getFieldData,
724
+ getFormField,
725
+ setFormFields,
726
+ setFormField: (data, key) => setFormField(data, key),
727
+ getFormFieldsAsArray,
728
+ getFormFieldsKeys,
729
+ removeAllFormFields,
730
+ removeFormField,
731
+ removeFormFields,
732
+ addErrorsToForm
945
733
  };
946
734
  }