intelicoreact 1.3.21 → 1.3.23

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