intelicoreact 1.4.76 → 1.4.78

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 (269) hide show
  1. package/dist/Atomic/FormElements/ActionAlert/ActionAlert.js +9 -1
  2. package/dist/Atomic/FormElements/AdvancedStatus/AdvancedStatus.js +10 -1
  3. package/dist/Atomic/FormElements/Calendar/Calendar.js +24 -4
  4. package/dist/Atomic/FormElements/CheckboxInput/CheckboxInput.js +10 -1
  5. package/dist/Atomic/FormElements/CheckboxesLine/CheckboxesLine.js +14 -2
  6. package/dist/Atomic/FormElements/Datepicker/Datepicker.js +54 -5
  7. package/dist/Atomic/FormElements/Datepicker/components/Calendar.js +21 -3
  8. package/dist/Atomic/FormElements/Dropdown/Dropdown.js +145 -52
  9. package/dist/Atomic/FormElements/Dropdown/components/DropdownLoader.js +7 -1
  10. package/dist/Atomic/FormElements/DropdownLiveSearch/DropdownLiveSearch.js +91 -25
  11. package/dist/Atomic/FormElements/FileLoader/FileLoader.js +15 -3
  12. package/dist/Atomic/FormElements/FileLoader/partial/LoadZone.js +29 -15
  13. package/dist/Atomic/FormElements/FileLoader/partial/LoadedContent.js +15 -5
  14. package/dist/Atomic/FormElements/FileLoaderDescription/FileLoaderDescription.js +23 -4
  15. package/dist/Atomic/FormElements/FileLoaderLocal/FileLoaderLocal.js +26 -6
  16. package/dist/Atomic/FormElements/FileLoaderLocalGroup/FileLoaderLocalGroup.js +38 -19
  17. package/dist/Atomic/FormElements/FormattedRawSSN/FormattedRawSSN.js +38 -9
  18. package/dist/Atomic/FormElements/Input/Input.js +60 -25
  19. package/dist/Atomic/FormElements/InputCalendar/InputCalendar.js +31 -4
  20. package/dist/Atomic/FormElements/InputColor/InputColor.js +14 -4
  21. package/dist/Atomic/FormElements/InputCurrency/InputCurrency.js +29 -6
  22. package/dist/Atomic/FormElements/InputDateRange/InputDateRange.js +43 -8
  23. package/dist/Atomic/FormElements/InputDateRange/components/DateInput.js +21 -3
  24. package/dist/Atomic/FormElements/InputDateRange/components/Datepicker.js +81 -58
  25. package/dist/Atomic/FormElements/InputDateRange/components/OpenedPart.js +41 -6
  26. package/dist/Atomic/FormElements/InputDateRange/components/SelectItem.js +8 -1
  27. package/dist/Atomic/FormElements/InputDateRange/dependencies.js +46 -16
  28. package/dist/Atomic/FormElements/InputLink/InputLink.js +23 -6
  29. package/dist/Atomic/FormElements/InputMask/InputCarretPosition.js +4 -0
  30. package/dist/Atomic/FormElements/InputMask/InputMask.js +208 -77
  31. package/dist/Atomic/FormElements/InputMask/functions.js +28 -2
  32. package/dist/Atomic/FormElements/InputMask2/InputMask2.js +119 -43
  33. package/dist/Atomic/FormElements/InputMask2/functions.js +28 -2
  34. package/dist/Atomic/FormElements/InputMask3/InputMask3.js +137 -44
  35. package/dist/Atomic/FormElements/InputMask3/functions.js +28 -2
  36. package/dist/Atomic/FormElements/InputWithAction/InputWithAction.js +17 -3
  37. package/dist/Atomic/FormElements/InputsRow/InputsRow.js +24 -5
  38. package/dist/Atomic/FormElements/Label/Label.js +9 -1
  39. package/dist/Atomic/FormElements/MobileCalendar/MobileCalendar.js +73 -35
  40. package/dist/Atomic/FormElements/MultiSelect/MultiSelect.js +15 -3
  41. package/dist/Atomic/FormElements/NumericInput/NumericInput.js +44 -23
  42. package/dist/Atomic/FormElements/RadioGroup/RadioGroup.js +17 -7
  43. package/dist/Atomic/FormElements/RadioGroupWithInput/RadioGroupWithInput.js +14 -3
  44. package/dist/Atomic/FormElements/RadioInput/RadioInput.js +10 -1
  45. package/dist/Atomic/FormElements/RadioRowSwitcher/RadioRowSwitcher.js +14 -3
  46. package/dist/Atomic/FormElements/RangeCalendar/RangeCalendar.js +23 -3
  47. package/dist/Atomic/FormElements/RangeInputs/RangeInputs.js +34 -17
  48. package/dist/Atomic/FormElements/RangeList/RangeList.js +25 -6
  49. package/dist/Atomic/FormElements/RangeList/partial/RangeListRow.js +11 -1
  50. package/dist/Atomic/FormElements/RangeSlider/RangeSlider.js +85 -14
  51. package/dist/Atomic/FormElements/RangeSlider2/RangeSlider2.js +132 -43
  52. package/dist/Atomic/FormElements/SwitchableRow/SwitchableRow.js +10 -1
  53. package/dist/Atomic/FormElements/Switcher/Switcher.js +10 -1
  54. package/dist/Atomic/FormElements/SwitcherCheckbox/SwitcherCheckbox.js +13 -1
  55. package/dist/Atomic/FormElements/SwitcherHide/SwitcherHide.js +10 -1
  56. package/dist/Atomic/FormElements/SwitcherRadio/SwitcherRadio.js +17 -2
  57. package/dist/Atomic/FormElements/SwitcherRange/SwitcherRange.js +17 -3
  58. package/dist/Atomic/FormElements/SwitcherRangeList/SwitcherRangeList.js +11 -1
  59. package/dist/Atomic/FormElements/SwitcherTagsDropdown/SwitcherTagsDropdown.js +29 -6
  60. package/dist/Atomic/FormElements/SwitcherTagsDropdown/partial/States.js +3 -2
  61. package/dist/Atomic/FormElements/SwitcherTextarea/SwitcherTextarea.js +12 -1
  62. package/dist/Atomic/FormElements/TagListToDropdown/TagListToDropdown.js +23 -6
  63. package/dist/Atomic/FormElements/TagsDropdown/TagsDropdown.js +223 -105
  64. package/dist/Atomic/FormElements/Text/Text.js +16 -10
  65. package/dist/Atomic/FormElements/TextSwitcher/TextSwitcher.js +9 -1
  66. package/dist/Atomic/FormElements/Textarea/Textarea.js +16 -5
  67. package/dist/Atomic/FormElements/TieredCheckboxes/TieredCheckboxes.js +35 -6
  68. package/dist/Atomic/FormElements/TieredCheckboxes/partial/AccordionWithCheckbox.js +13 -4
  69. package/dist/Atomic/FormElements/TimeRange/TimeRange.js +21 -7
  70. package/dist/Atomic/FormElements/UserContacts/UserContacts.js +35 -8
  71. package/dist/Atomic/FormElements/UserContacts/partial/defaultIcons.js +91 -0
  72. package/dist/Atomic/FormElements/VariantsListRadio/VariantsListRadio.js +18 -5
  73. package/dist/Atomic/FormElements/VariantsListRadio/partials/VariantsListRadioItem.js +10 -3
  74. package/dist/Atomic/FormElements/WidgetPseudoTable/WidgetPseudoTable.js +11 -3
  75. package/dist/Atomic/FormElements/WidgetPseudoTable/partial/constructor.js +2 -1
  76. package/dist/Atomic/FormElements/WidgetWithSwitchableRows/WidgetWithSwitchableRows.js +12 -5
  77. package/dist/Atomic/FormElements/WidgetWithSwitchableRows/partial/constructor.js +3 -3
  78. package/dist/Atomic/Layout/Header/Header.js +15 -3
  79. package/dist/Atomic/Layout/MainMenu/MainMenu.js +20 -3
  80. package/dist/Atomic/Layout/Spinner/Spinner.js +8 -1
  81. package/dist/Atomic/UI/Accordion/Accordion.js +19 -3
  82. package/dist/Atomic/UI/Accordion/AccordionItem.js +23 -9
  83. package/dist/Atomic/UI/AccordionTable/AccordionTable.js +32 -7
  84. package/dist/Atomic/UI/AccordionText/AccordionText.js +17 -3
  85. package/dist/Atomic/UI/AdvancedTag/AdvTag.js +21 -4
  86. package/dist/Atomic/UI/AdvancedTag/AdvancedTags.js +15 -3
  87. package/dist/Atomic/UI/Alert/Alert.js +19 -3
  88. package/dist/Atomic/UI/Arrow/Arrow.js +16 -3
  89. package/dist/Atomic/UI/Box/Box.js +9 -3
  90. package/dist/Atomic/UI/Button/Button.js +11 -2
  91. package/dist/Atomic/UI/ButtonsBar/ButtonsBar.js +10 -1
  92. package/dist/Atomic/UI/Chart/Chart.js +29 -4
  93. package/dist/Atomic/UI/Chart/partial/Chart.constants.js +19 -11
  94. package/dist/Atomic/UI/Chart/partial/ChartTypeSwitcherIcon/ChartTypeSwitcherIcon.js +12 -1
  95. package/dist/Atomic/UI/Chart/partial/datasetSetters.js +34 -11
  96. package/dist/Atomic/UI/Chart/partial/optionsConstructor.js +56 -82
  97. package/dist/Atomic/UI/Chart/partial/optionsSetters.js +19 -15
  98. package/dist/Atomic/UI/Chart/partial/utils.js +20 -6
  99. package/dist/Atomic/UI/CircleProgressBar/CircleProgressBar.js +13 -3
  100. package/dist/Atomic/UI/DateTime/DateTime.js +14 -3
  101. package/dist/Atomic/UI/DebugContainer/DebugContainer.js +16 -4
  102. package/dist/Atomic/UI/DebugContainer/useDebugContainer.js +11 -3
  103. package/dist/Atomic/UI/DoubleString/DoubleString.js +17 -5
  104. package/dist/Atomic/UI/DynamicIcon/DynamicIcon.js +10 -3
  105. package/dist/Atomic/UI/ExampleChartIntegration/ExampleChartIntegration.js +52 -17
  106. package/dist/Atomic/UI/ExampleChartIntegration/partial/utils.js +29 -1
  107. package/dist/Atomic/UI/Hint/Hint.js +39 -13
  108. package/dist/Atomic/UI/Hint/partials/_utils.js +19 -4
  109. package/dist/Atomic/UI/Modal/Modal.js +28 -6
  110. package/dist/Atomic/UI/Modal/ModalHOC.js +9 -1
  111. package/dist/Atomic/UI/Modal/partials/ModalFooter.js +7 -1
  112. package/dist/Atomic/UI/Modal/partials/ModalTitle.js +8 -1
  113. package/dist/Atomic/UI/Modal/partials/useMobileModal.js +49 -32
  114. package/dist/Atomic/UI/ModalBackup/Modal.js +174 -0
  115. package/dist/Atomic/UI/ModalBackup/Modal.scss +333 -0
  116. package/dist/Atomic/UI/ModalBackup/ModalHOC.js +51 -0
  117. package/dist/Atomic/UI/ModalBackup/partials/ModalFooter.js +24 -0
  118. package/dist/Atomic/UI/ModalBackup/partials/ModalTitle.js +41 -0
  119. package/dist/Atomic/UI/MonoAccordion/MonoAccordion.js +21 -6
  120. package/dist/Atomic/UI/NavLine/NavLine.js +55 -26
  121. package/dist/Atomic/UI/NavLine/Tabs.js +3 -2
  122. package/dist/Atomic/UI/PageTitle/PageTitle.js +10 -2
  123. package/dist/Atomic/UI/PieChart/PieChart.js +10 -1
  124. package/dist/Atomic/UI/Price/Price.js +8 -3
  125. package/dist/Atomic/UI/PriceRange/PriceRange.js +7 -1
  126. package/dist/Atomic/UI/ProgressLine/ProgressLine.js +16 -1
  127. package/dist/Atomic/UI/Status/Status.js +8 -1
  128. package/dist/Atomic/UI/Table/Partials/TdCell.js +29 -5
  129. package/dist/Atomic/UI/Table/Partials/TdHeader.js +11 -1
  130. package/dist/Atomic/UI/Table/Partials/TdRow.js +17 -5
  131. package/dist/Atomic/UI/Table/Partials/TdTitle.js +14 -3
  132. package/dist/Atomic/UI/Table/Table.js +12 -1
  133. package/dist/Atomic/UI/Table/TdTypes/TdActions.js +18 -2
  134. package/dist/Atomic/UI/Table/TdTypes/TdPriority.js +9 -1
  135. package/dist/Atomic/UI/Table/TdTypes/TdRange.js +4 -1
  136. package/dist/Atomic/UI/Table/TdTypes/TdWeight.js +13 -1
  137. package/dist/Atomic/UI/Tag/Tag.js +26 -11
  138. package/dist/Atomic/UI/TagList/TagList.js +52 -21
  139. package/dist/Atomic/UI/TagList/TagList.scss +3 -2
  140. package/dist/Atomic/UI/UserBox/UserBox.js +13 -1
  141. package/dist/Atomic/UI/WizardStepper/constructor.js +11 -3
  142. package/dist/Atomic/UI/WizardStepper/index.js +5 -1
  143. package/dist/Atomic/UI/WizardStepper/ui/StateIcon/StateIcon.js +10 -0
  144. package/dist/Atomic/UI/WizardStepper/ui/StateIcon/index.js +4 -1
  145. package/dist/Atomic/UI/WizardStepper/ui/StepRow/StepRow.js +17 -2
  146. package/dist/Atomic/UI/WizardStepper/ui/StepRow/index.js +5 -1
  147. package/dist/Atomic/UI/WizardStepper/ui/StepWrapper/StepWrapper.js +15 -1
  148. package/dist/Atomic/UI/WizardStepper/ui/StepWrapper/index.js +5 -1
  149. package/dist/Atomic/UI/WizardStepper/ui/icons.js +9 -2
  150. package/dist/Atomic/UI/WizardStepper/ui/index.js +5 -1
  151. package/dist/Classes/AbortableFetch.js +93 -36
  152. package/dist/Classes/AnimatedHandler.js +7 -3
  153. package/dist/Classes/RESTAPI/index.js +43 -39
  154. package/dist/Classes/RESTAPI/partials/AbortableFetch.js +93 -35
  155. package/dist/Classes/RESTAPI/partials/ApiBase.js +9 -1
  156. package/dist/Classes/RESTAPI/partials/ApiRequestCreators.js +32 -24
  157. package/dist/Classes/RESTAPI/partials/ApiUtils.js +41 -34
  158. package/dist/Classes/RESTAPI/partials/CredentialsProcessing.js +46 -21
  159. package/dist/Classes/RESTAPI/partials/Utils.js +19 -6
  160. package/dist/Classes/RESTAPI/partials/_outerDependencies.js +6 -2
  161. package/dist/Classes/RESTAPI/partials/_utils.js +39 -16
  162. package/dist/Constants/index.constants.js +15 -8
  163. package/dist/Functions/Portal.js +16 -5
  164. package/dist/Functions/customEventListener.js +17 -4
  165. package/dist/Functions/fieldValueFormatters.js +83 -43
  166. package/dist/Functions/hooks/useFormFieldsChangesManager.js +26 -23
  167. package/dist/Functions/locale/createTranslator.js +9 -4
  168. package/dist/Functions/operations.js +22 -12
  169. package/dist/Functions/presets/inputMaskPresets.js +11 -9
  170. package/dist/Functions/presets/inputPresets.js +11 -8
  171. package/dist/Functions/presets/mobileKeyboardTypesPresets.js +9 -7
  172. package/dist/Functions/schemas.js +13 -6
  173. package/dist/Functions/useBodyScrollLock.js +6 -1
  174. package/dist/Functions/useClickOutside.js +4 -0
  175. package/dist/Functions/useDebounce.js +7 -2
  176. package/dist/Functions/useFieldFocus.js +18 -6
  177. package/dist/Functions/useFormTools/form-drivers/ArrayWithObjects.js +9 -0
  178. package/dist/Functions/useFormTools/form-drivers/ObjectWithIterableObjects.js +23 -12
  179. package/dist/Functions/useFormTools/form-drivers/ObjectWithNamedKeyObjects.js +15 -6
  180. package/dist/Functions/useFormTools/functions/General.js +28 -18
  181. package/dist/Functions/useFormTools/functions/RenderFields.js +11 -2
  182. package/dist/Functions/useFormTools/functions/usePrevious.js +5 -1
  183. package/dist/Functions/useFormTools/index.js +144 -85
  184. package/dist/Functions/useInputHighlightError.js +12 -3
  185. package/dist/Functions/useIsMobile.js +13 -7
  186. package/dist/Functions/useKeyPress/useHandleKeyPress.js +7 -1
  187. package/dist/Functions/useKeyPress/useKeyPress.js +9 -1
  188. package/dist/Functions/useLocalStorage.js +9 -1
  189. package/dist/Functions/useLocationParams.js +5 -4
  190. package/dist/Functions/useMediaQuery.js +9 -3
  191. package/dist/Functions/useMetaInfo.js +10 -3
  192. package/dist/Functions/useMouseUpOutside.js +3 -0
  193. package/dist/Functions/useOnlineStatus.js +9 -1
  194. package/dist/Functions/usePasswordChecker.js +20 -4
  195. package/dist/Functions/usePrevious.js +5 -1
  196. package/dist/Functions/useResize.js +10 -2
  197. package/dist/Functions/useScrollTo.js +7 -2
  198. package/dist/Functions/useToggle.js +5 -1
  199. package/dist/Functions/utils.js +131 -56
  200. package/dist/Molecular/CustomIcons/components/AffiliateNetworks.js +9 -2
  201. package/dist/Molecular/CustomIcons/components/AlertCircle.js +9 -2
  202. package/dist/Molecular/CustomIcons/components/AppStore.js +9 -2
  203. package/dist/Molecular/CustomIcons/components/Arrow.js +9 -2
  204. package/dist/Molecular/CustomIcons/components/ArrowDown.js +9 -2
  205. package/dist/Molecular/CustomIcons/components/ArrowLeft.js +9 -2
  206. package/dist/Molecular/CustomIcons/components/ArrowRight.js +9 -2
  207. package/dist/Molecular/CustomIcons/components/ArrowUp.js +9 -2
  208. package/dist/Molecular/CustomIcons/components/Bell.js +9 -2
  209. package/dist/Molecular/CustomIcons/components/Button.js +9 -2
  210. package/dist/Molecular/CustomIcons/components/Campaigns.js +9 -2
  211. package/dist/Molecular/CustomIcons/components/Check.js +9 -2
  212. package/dist/Molecular/CustomIcons/components/Check2.js +9 -2
  213. package/dist/Molecular/CustomIcons/components/ChevronDown.js +9 -2
  214. package/dist/Molecular/CustomIcons/components/ChevronDownDisabled.js +9 -2
  215. package/dist/Molecular/CustomIcons/components/ChevronLeft.js +9 -2
  216. package/dist/Molecular/CustomIcons/components/ChevronRight.js +9 -2
  217. package/dist/Molecular/CustomIcons/components/ChevronUp.js +9 -2
  218. package/dist/Molecular/CustomIcons/components/ChevronUpDown.js +9 -2
  219. package/dist/Molecular/CustomIcons/components/Close.js +9 -2
  220. package/dist/Molecular/CustomIcons/components/ColumnsOrder.js +9 -2
  221. package/dist/Molecular/CustomIcons/components/Delete.js +9 -2
  222. package/dist/Molecular/CustomIcons/components/Edit.js +9 -2
  223. package/dist/Molecular/CustomIcons/components/Email.js +9 -2
  224. package/dist/Molecular/CustomIcons/components/FinturfLogo.js +9 -2
  225. package/dist/Molecular/CustomIcons/components/FinturfLogo2.js +9 -2
  226. package/dist/Molecular/CustomIcons/components/Flows.js +9 -2
  227. package/dist/Molecular/CustomIcons/components/Gift.js +9 -2
  228. package/dist/Molecular/CustomIcons/components/GoogleAuth.js +9 -2
  229. package/dist/Molecular/CustomIcons/components/GooglePlay.js +9 -2
  230. package/dist/Molecular/CustomIcons/components/HelpCircle.js +9 -2
  231. package/dist/Molecular/CustomIcons/components/HelpCircle2.js +9 -2
  232. package/dist/Molecular/CustomIcons/components/HelpCircleFilled.js +9 -2
  233. package/dist/Molecular/CustomIcons/components/Home.js +9 -2
  234. package/dist/Molecular/CustomIcons/components/Home2.js +9 -2
  235. package/dist/Molecular/CustomIcons/components/Key.js +9 -2
  236. package/dist/Molecular/CustomIcons/components/Landers.js +9 -2
  237. package/dist/Molecular/CustomIcons/components/Lock.js +9 -2
  238. package/dist/Molecular/CustomIcons/components/Mail.js +9 -2
  239. package/dist/Molecular/CustomIcons/components/Mastercard.js +9 -2
  240. package/dist/Molecular/CustomIcons/components/Minus.js +9 -2
  241. package/dist/Molecular/CustomIcons/components/Offers.js +9 -2
  242. package/dist/Molecular/CustomIcons/components/Pause.js +9 -2
  243. package/dist/Molecular/CustomIcons/components/PayPal.js +9 -2
  244. package/dist/Molecular/CustomIcons/components/PayPalLightLarge.js +9 -2
  245. package/dist/Molecular/CustomIcons/components/Phone.js +9 -2
  246. package/dist/Molecular/CustomIcons/components/Play.js +9 -2
  247. package/dist/Molecular/CustomIcons/components/Plus.js +9 -2
  248. package/dist/Molecular/CustomIcons/components/Profile.js +9 -2
  249. package/dist/Molecular/CustomIcons/components/QRCode.js +9 -2
  250. package/dist/Molecular/CustomIcons/components/Rectangle.js +9 -2
  251. package/dist/Molecular/CustomIcons/components/Revert.js +9 -2
  252. package/dist/Molecular/CustomIcons/components/Star.js +9 -2
  253. package/dist/Molecular/CustomIcons/components/Star2.js +9 -2
  254. package/dist/Molecular/CustomIcons/components/TrafficSources.js +9 -2
  255. package/dist/Molecular/CustomIcons/components/Trash.js +9 -2
  256. package/dist/Molecular/CustomIcons/components/TrashRed.js +9 -2
  257. package/dist/Molecular/CustomIcons/components/Triggers.js +9 -2
  258. package/dist/Molecular/CustomIcons/components/User.js +9 -2
  259. package/dist/Molecular/CustomIcons/components/Visa.js +9 -2
  260. package/dist/Molecular/CustomIcons/components/X.js +9 -2
  261. package/dist/Molecular/CustomIcons/index.js +122 -0
  262. package/dist/Molecular/FormElement/FormElement.js +12 -1
  263. package/dist/Molecular/FormWithDependOn/FormWithDependOn.js +31 -30
  264. package/dist/Molecular/FormWithDependOn/partials/_utils.js +12 -9
  265. package/dist/Molecular/InputAddress/InputAddress.js +114 -65
  266. package/dist/Molecular/InputPassword/InputPassword.js +19 -5
  267. package/dist/index.js +2 -0
  268. package/package.json +1 -1
  269. package/dist/Atomic/UI/Hint/partial/_utils.js +0 -52
@@ -1,12 +1,16 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
4
5
  Object.defineProperty(exports, "__esModule", {
5
6
  value: true
6
7
  });
7
8
  exports.default = void 0;
9
+
8
10
  var _Utils = _interopRequireDefault(require("./Utils"));
11
+
9
12
  var _utils = require("./_utils");
13
+
10
14
  class ApiUtils extends _Utils.default {
11
15
  constructor(settings) {
12
16
  super();
@@ -14,11 +18,11 @@ class ApiUtils extends _Utils.default {
14
18
  utils
15
19
  } = settings || {};
16
20
  if ((0, _utils.getIsOnlyAnObject)(utils)) _utils.addCustomMethods.call(this, utils);
17
- }
18
-
19
- //? Планируется, что метод будет использоваться неизменно, однако технически его можно перегрузить на экземпляре
21
+ } //? Планируется, что метод будет использоваться неизменно, однако технически его можно перегрузить на экземпляре
20
22
  //? Метод не планировался как асинхронный,
21
23
  //? однако ввиду того что он может быть перегружен на экземпляре асинхронность предусматривается
24
+
25
+
22
26
  async splitProperties(apiParams, variant) {
23
27
  const {
24
28
  isResponseAsObject,
@@ -38,10 +42,10 @@ class ApiUtils extends _Utils.default {
38
42
  errorMessages,
39
43
  ...restParams
40
44
  } = apiParams || {};
45
+
41
46
  switch (variant) {
42
47
  case "doRequestMapping":
43
- return {
44
- ...restParams,
48
+ return { ...restParams,
45
49
  isGetBody,
46
50
  isToastResult,
47
51
  toastOptions,
@@ -56,6 +60,7 @@ class ApiUtils extends _Utils.default {
56
60
  commonErrorMessage,
57
61
  errorMessages
58
62
  };
63
+
59
64
  default:
60
65
  return [restParams, {
61
66
  isGetBody,
@@ -75,43 +80,42 @@ class ApiUtils extends _Utils.default {
75
80
  errorMessages
76
81
  }];
77
82
  }
78
- }
79
-
80
- //! Обработчик пропы api из объекта описания запроса
83
+ } //! Обработчик пропы api из объекта описания запроса
81
84
  //? Планируется, что метод будет перегружаться на экземпляре,
82
85
  //? т.к. на разных проектах могут быть разные интерпретации пропы api
83
86
  //? Метод не планировался как асинхронный,
84
87
  //? однако ввиду того что он может быть перегружен на экземпляре асинхронность предусматривается
85
- async getRootPath( /* apiProp */
86
- ) {
87
- return this.API_PATH;
88
- }
89
88
 
90
- //? Планируется, что метод будет использоваться неизменно, однако технически его можно перегрузить на экземпляре
89
+
90
+ async getRootPath() {
91
+ return this.API_PATH;
92
+ } //? Планируется, что метод будет использоваться неизменно, однако технически его можно перегрузить на экземпляре
91
93
  //? Метод планировался как асинхронный
94
+
95
+
92
96
  async getResponseBody(response, getBodyAs) {
93
97
  //? Если response не экземпляр Response, то вернуть по факту
94
- if (!(response instanceof Response)) return response;
95
-
96
- //? В этом месте все методы должны быть, т.к. response точно экземпляр Response.
98
+ if (!(response instanceof Response)) return response; //? В этом месте все методы должны быть, т.к. response точно экземпляр Response.
97
99
  //? А вот contentType-а походу может не быть. Наверное...
98
- const contentType = response.headers.get("content-type");
99
- if (!contentType) return "";
100
100
 
101
- // ToDo - ошибка была в получении executor-а...
101
+ const contentType = response.headers.get("content-type");
102
+ if (!contentType) return ""; // ToDo - ошибка была в получении executor-а...
102
103
  // ToDo - Все было через if. В случае, если не попадало ни в одну if-ку, то возвращался undefined по умолчанию,
103
104
  // ToDo - а после этот undefined пытался запустить через call...
105
+
104
106
  const executor = (() => {
105
107
  if (typeof getBodyAs === 'string' && getBodyAs in response && typeof response[getBodyAs] === 'function') {
106
108
  return response[getBodyAs];
107
109
  }
110
+
108
111
  if (typeof contentType === 'string' && contentType.includes('text/csv')) {
109
112
  return response.blob;
110
113
  }
114
+
111
115
  return typeof contentType === 'string' && contentType.includes('json') ? response.json : response.text;
112
- })();
116
+ })(); // обработка случаев краша метода json при отсутствии тела ответа
117
+
113
118
 
114
- // обработка случаев краша метода json при отсутствии тела ответа
115
119
  try {
116
120
  return await executor.call(response);
117
121
  } catch {
@@ -120,20 +124,20 @@ class ApiUtils extends _Utils.default {
120
124
  console.log("Failed to extract the body");
121
125
  return null;
122
126
  }
123
- }
124
-
125
- //! Обработчик структуры для ошибки (не рендер месседжа, а имеено формирование ошибки),
127
+ } //! Обработчик структуры для ошибки (не рендер месседжа, а имеено формирование ошибки),
126
128
  //? Планируется, что метод будет перегружаться на экземпляре,
127
129
  //? т.к. на разных проектах могут быть разные структуры тела ответа для ошибки
128
130
  //? Метод не планировался как асинхронный,
129
131
  //? однако ввиду того что он может быть перегружен на экземпляре асинхронность предусматривается
130
132
  //? res - уже тело ответа
133
+
134
+
131
135
  async getErrorMessage(res) {
132
136
  return res;
133
- }
134
-
135
- //? Планируется, что метод будет использоваться неизменно, однако технически его можно перегрузить на экземпляре
137
+ } //? Планируется, что метод будет использоваться неизменно, однако технически его можно перегрузить на экземпляре
136
138
  //? Метод планировался как асинхронный
139
+
140
+
137
141
  async checkResponseCode(res, settings) {
138
142
  //! При получении экземпляра, если sendMessage не является ф-ей,
139
143
  //! то это воспринимается как отключение шага информирования об ошибке запроса как такового
@@ -145,29 +149,32 @@ class ApiUtils extends _Utils.default {
145
149
  const message = res.ok ? successMess || this.DEFAULT_SUCCESS_MESSAGE : errorMess || this.getErrorMessage(await this.getResponseBody(await (0, _utils.getResponseClone)(res)));
146
150
  this.sendMessage(message, settings, await (0, _utils.getResponseClone)(res));
147
151
  return res;
148
- }
149
-
150
- //? Суть метода:
152
+ } //? Суть метода:
151
153
  //? передать из вне структуры, которые будут использоваться для КАЖДОГО запроса сделанного экземпляром RESTAPI
152
154
  //! Данные затрут прочие настройки КРОМЕ данных по логике авторизации
153
155
  //? Планируется, что метод будет перегружаться на экземпляре
154
156
  //? Метод не планировался как асинхронный,
155
157
  //? однако ввиду того что он может быть перегружен на экземпляре асинхронность предусматривается
158
+
159
+
156
160
  async addAsCommon() {
157
161
  //! Планируемая структура { headers, queryParameters, options }, где
158
162
  //! - headers и options - объекты,
159
163
  //! - queryParameters - строка, массив или объект
160
164
  return {};
161
- }
162
-
163
- //! Обработчик квери-параметров для общего процессинга,
165
+ } //! Обработчик квери-параметров для общего процессинга,
164
166
  //! Например для кодирования decodeURIComponent или/и приведения в формат массива
165
167
  //? Планируется, что метод будет перегружаться на экземпляре,
166
168
  //? т.к. на разных проектах могут быть разные договоренности по форматам
167
169
  //? Метод не планировался как асинхронный,
168
170
  //? однако ввиду того что он может быть перегружен на экземпляре асинхронность предусматривается
171
+
172
+
169
173
  async processQueryParams(queryParams) {
170
174
  return queryParams;
171
175
  }
176
+
172
177
  }
173
- var _default = exports.default = ApiUtils;
178
+
179
+ var _default = ApiUtils;
180
+ exports.default = _default;
@@ -1,15 +1,20 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
4
5
  Object.defineProperty(exports, "__esModule", {
5
6
  value: true
6
7
  });
7
8
  exports.default = void 0;
9
+
8
10
  var _outerDependencies = _interopRequireDefault(require("./_outerDependencies"));
11
+
9
12
  var _utils = require("./_utils");
13
+
10
14
  const {
11
15
  jwt
12
16
  } = _outerDependencies.default;
17
+
13
18
  class CredentialsProcessing {
14
19
  constructor(settings) {
15
20
  const {
@@ -21,25 +26,20 @@ class CredentialsProcessing {
21
26
  getCredentials,
22
27
  getHeadersForAuthorize,
23
28
  //? На вход получит токен, должна вернуть объект для коструктора Headers
24
-
25
29
  //? Так же опционально можно передавать
26
30
  importCredentials,
27
31
  //? если он передается, то он будет применяться к выводу от вызова getCredentials
28
32
  saveCredentials,
29
33
  //? можно будет найти в объекте credentialsProcessing, чтобы использовать кастомными методами
30
-
31
34
  //! Либо вызов getCredentials, либо цепочка вызовов importCredentials(getCredentials())
32
35
  //! должна возвращать требуемую классом структуру
33
36
  //! Класс требует структуры
34
37
  //! - { token }, если флоу рефреш токена НЕ используется
35
38
  //! - { token, refreshToken, expires }, если используется флоу рефреш токена
36
-
37
39
  // *********
38
-
39
40
  //? Подключает флоу рефреша токенов
40
41
  isUseRefreshTokensPropcessing = false,
41
42
  //! Для корректной работы флоу рефреша токенов передача метода saveCredentials становится ОБЯЗАТЕЛЬНОЙ
42
-
43
43
  //? Так же для корректной работы флоу рефреша токенов нужно
44
44
  //? - либо
45
45
  refreshCredentials,
@@ -50,7 +50,6 @@ class CredentialsProcessing {
50
50
  //! REFRESH_TOKEN_PATH передается ПОЛНОСТЬЮ (глобальная адресация)!
51
51
  CODES_USING_THE_REFRESH_ATTEMPT,
52
52
  //? указывает по каким кодам ответа триггериться рефреш, массив чисел
53
-
54
53
  //? Опционально
55
54
  REFRESH_TOKEN_FLAG = "refreshTokenFlag",
56
55
  INTERVAL_FOR_CHECKING_TOKEN_UPDATE = 50,
@@ -58,89 +57,107 @@ class CredentialsProcessing {
58
57
  callbackAfterRejectRefresh
59
58
  } = credentialsProcessing || {};
60
59
  if (typeof getCredentials !== "function") throw new Error("No getCredentials method [CredentialsProcessing]");
60
+
61
61
  if (typeof getHeadersForAuthorize !== "function") {
62
62
  throw new Error("No getHeadersForAuthorize method [CredentialsProcessing]");
63
63
  }
64
+
64
65
  if (importCredentials && typeof importCredentials !== "function") {
65
66
  throw new Error("Bad importCredentials method [CredentialsProcessing]");
66
67
  }
68
+
67
69
  this.isUseRefreshTokensPropcessing = isUseRefreshTokensPropcessing;
68
70
  this.DEFAULT_CREDENTIALS = {};
69
71
  this.getCredentialsByOuter = getCredentials;
70
72
  this.getHeadersForAuthorize = getHeadersForAuthorize;
71
- this.importCredentials = importCredentials;
73
+ this.importCredentials = importCredentials; //? Если метод передан или если не передан, но включен флоу обновления токенов (тогда saveCredentials обязателен)
72
74
 
73
- //? Если метод передан или если не передан, но включен флоу обновления токенов (тогда saveCredentials обязателен)
74
75
  if (saveCredentials || isUseRefreshTokensPropcessing) {
75
76
  if (typeof saveCredentials !== "function") throw new Error("No saveCredentials method [CredentialsProcessing]");else this.saveCredentials = saveCredentials;
76
77
  }
78
+
77
79
  if (isUseRefreshTokensPropcessing) {
78
80
  if (typeof refreshCredentials === "function") this.refreshCredentialsByOuter = refreshCredentials;else {
79
81
  if (typeof this.refreshCredentialsByOuter === "function" && typeof REFRESH_TOKEN_PATH !== "string") {
80
82
  throw new Error("No REFRESH_TOKEN_PATH [CredentialsProcessing]");
81
83
  }
84
+
82
85
  this.REFRESH_TOKEN_PATH = REFRESH_TOKEN_PATH;
83
86
  }
87
+
84
88
  if (!Array.isArray(CODES_USING_THE_REFRESH_ATTEMPT)) {
85
89
  throw new Error("No CODES_USING_THE_REFRESH_ATTEMPT [CredentialsProcessing]");
86
90
  }
91
+
87
92
  if (!CODES_USING_THE_REFRESH_ATTEMPT.every(i => typeof i === "number")) {
88
93
  throw new Error("Invalid format of CODES_USING_THE_REFRESH_ATTEMPT elements [CredentialsProcessing]");
89
94
  }
95
+
90
96
  if (typeof REFRESH_TOKEN_FLAG !== "string") throw new Error("Bad REFRESH_TOKEN_FLAG [CredentialsProcessing]");
97
+
91
98
  if (typeof INTERVAL_FOR_CHECKING_TOKEN_UPDATE !== "number") {
92
99
  throw new Error("Bad INTERVAL_FOR_CHECKING_TOKEN_UPDATE [CredentialsProcessing]");
93
100
  }
101
+
94
102
  if (typeof INTERVAL_FOR_CHECKING_TOKEN_UPDATE !== "number") {
95
103
  throw new Error("Bad INTERVAL_FOR_CHECKING_TOKEN_UPDATE [CredentialsProcessing]");
96
104
  }
105
+
97
106
  if (callbackAfterRejectRefresh && typeof callbackAfterRejectRefresh !== "function") {
98
107
  throw new Error("Bad INTERVAL_FOR_CHECKING_TOKEN_UPDATE [CredentialsProcessing]");
99
108
  }
109
+
100
110
  this.CODES_USING_THE_REFRESH_ATTEMPT = CODES_USING_THE_REFRESH_ATTEMPT;
101
111
  this.REFRESH_TOKEN_FLAG = REFRESH_TOKEN_FLAG;
102
112
  this.INTERVAL_FOR_CHECKING_TOKEN_UPDATE = INTERVAL_FOR_CHECKING_TOKEN_UPDATE;
103
113
  if (callbackAfterRejectRefresh) this.callbackAfterRejectRefresh = callbackAfterRejectRefresh;
104
114
  }
105
115
  }
116
+
106
117
  getIsTokenStartRefresh() {
107
118
  return localStorage.getItem(this.REFRESH_TOKEN_FLAG);
108
119
  }
120
+
109
121
  setIsTokenStartRefresh() {
110
122
  localStorage.setItem(this.REFRESH_TOKEN_FLAG, true);
111
123
  }
124
+
112
125
  removeIsTokenStartRefresh() {
113
126
  localStorage.removeItem(this.REFRESH_TOKEN_FLAG);
114
127
  }
128
+
115
129
  async getCredentials(isCatchCallbackProcess, callback) {
116
130
  let credentials = await this.getCredentialsByOuter();
117
131
  if (typeof this.importCredentials === "function") credentials = await this.importCredentials(credentials);
118
132
  if (!(0, _utils.getIsOnlyAnObject)(credentials)) credentials = {};
119
133
  const token = credentials.token || null;
134
+
120
135
  if (token && !isCatchCallbackProcess) {
121
136
  let decoded;
137
+
122
138
  try {
123
139
  decoded = jwt.decode(token);
124
140
  } catch {
125
141
  decoded = null;
126
142
  }
143
+
127
144
  const currentTime = Date.now() / 1000;
128
- if (decoded !== null && Number(decoded.exp) < currentTime) credentials = {
129
- ...credentials,
145
+ if (decoded !== null && Number(decoded.exp) < currentTime) credentials = { ...credentials,
130
146
  isNeedRefresh: true
131
147
  };
132
148
  }
133
- if (callback) await callback({
134
- ...credentials,
149
+
150
+ if (callback) await callback({ ...credentials,
135
151
  isCatchCallbackProcess
136
152
  });
137
- return {
138
- ...credentials,
153
+ return { ...credentials,
139
154
  isCatchCallbackProcess
140
155
  };
141
156
  }
157
+
142
158
  async refreshCredentials(currentCredentials, callback) {
143
159
  const CONTEXT = this;
160
+
144
161
  async function finalize(cred) {
145
162
  if (callback) await callback(cred);
146
163
  return Promise.resolve(cred).then(async res => {
@@ -148,10 +165,10 @@ class CredentialsProcessing {
148
165
  return res;
149
166
  });
150
167
  }
151
- if (!(currentCredentials !== null && currentCredentials !== void 0 && currentCredentials.token) || !(currentCredentials !== null && currentCredentials !== void 0 && currentCredentials.refreshToken)) return finalize(CONTEXT.DEFAULT_CREDENTIALS);
152
168
 
153
- //! ВНИМАНИЕ! Данный механизм рефреша принят на проекте finturfreactfrontend (админка)
169
+ if (!(currentCredentials !== null && currentCredentials !== void 0 && currentCredentials.token) || !(currentCredentials !== null && currentCredentials !== void 0 && currentCredentials.refreshToken)) return finalize(CONTEXT.DEFAULT_CREDENTIALS); //! ВНИМАНИЕ! Данный механизм рефреша принят на проекте finturfreactfrontend (админка)
154
170
  //! На кабинете он ТОЧНО НЕ ТАКОЙ
171
+
155
172
  async function refreshCredentialsByDefault() {
156
173
  const {
157
174
  token,
@@ -172,14 +189,15 @@ class CredentialsProcessing {
172
189
  body,
173
190
  redirect: "follow"
174
191
  });
175
- }
176
-
177
- //? Передавайте собственный refreshCredentials при получении экземляра RESTAPI, если не уверены,
192
+ } //? Передавайте собственный refreshCredentials при получении экземляра RESTAPI, если не уверены,
178
193
  //? что механизм рефреша токенов ИМЕННО ТАКОЙ как в ф-и refreshCredentialsByDefault!
179
194
  //! currentCredentials передаются в формате класса! ({ token, refreshToken, expires })
195
+
196
+
180
197
  const newCredentials = typeof CONTEXT.refreshCredentialsByOuter === "function" ? await CONTEXT.refreshCredentialsByOuter(currentCredentials) : await refreshCredentialsByDefault();
181
198
  return finalize(newCredentials);
182
199
  }
200
+
183
201
  async waitRefresh(isNeedRefresh) {
184
202
  return new Promise(resolve => {
185
203
  if (!this.getIsTokenStartRefresh()) {
@@ -195,6 +213,7 @@ class CredentialsProcessing {
195
213
  }
196
214
  });
197
215
  }
216
+
198
217
  async processCredentials(cred) {
199
218
  if (!cred.isNeedRefresh && !cred.isCatchCallbackProcess) return cred;
200
219
  const CONTEXT = this;
@@ -202,17 +221,23 @@ class CredentialsProcessing {
202
221
  return new Promise(resolve => {
203
222
  setTimeout(async () => {
204
223
  const newCredentials = await CONTEXT.getCredentials();
224
+
205
225
  if (!(newCredentials !== null && newCredentials !== void 0 && newCredentials.token)) {
206
226
  newCredentials.isRefreshFailed = true;
207
227
  setTimeout(() => {
208
228
  var _CONTEXT$callbackAfte;
209
- CONTEXT === null || CONTEXT === void 0 || (_CONTEXT$callbackAfte = CONTEXT.callbackAfterRejectRefresh) === null || _CONTEXT$callbackAfte === void 0 || _CONTEXT$callbackAfte.call(CONTEXT);
229
+
230
+ CONTEXT === null || CONTEXT === void 0 ? void 0 : (_CONTEXT$callbackAfte = CONTEXT.callbackAfterRejectRefresh) === null || _CONTEXT$callbackAfte === void 0 ? void 0 : _CONTEXT$callbackAfte.call(CONTEXT);
210
231
  }, 0);
211
232
  }
233
+
212
234
  resolve(newCredentials);
213
235
  }, 0);
214
236
  });
215
237
  });
216
238
  }
239
+
217
240
  }
218
- var _default = exports.default = CredentialsProcessing;
241
+
242
+ var _default = CredentialsProcessing;
243
+ exports.default = _default;
@@ -4,13 +4,14 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
+
7
8
  var _utils = require("./_utils");
9
+
8
10
  //? В этом кклассе собраны полезные добавочные утилиты, которые могут быть использованы другими классами,
9
11
  //? но не имеют прямого отношения к реализации прямой ф-ти RESTAPI
10
12
  //? Так же утилиты могут быть использованы как библиотечные
11
13
  class Utils {
12
14
  //! Могут содержаться НЕасинхронные методы!
13
-
14
15
  //? Ф-я normalizeQueryParams является нормализатором сложных квери
15
16
  //? Например: &key1=&&&===&&&key2====&&&&&&&&key3=....
16
17
  //? Для корректной работы на вход нужно подавать НЕ кодированные значения
@@ -19,10 +20,12 @@ class Utils {
19
20
  if (settings && !(0, _utils.getIsOnlyAnObject)(settings)) {
20
21
  throw new Error("Bad settings [class Utils, normalizeQueryParams]");
21
22
  }
23
+
22
24
  const getInitialArr = input => {
23
25
  const prepareParam = (key, value) => {
24
26
  if (!value) return "".concat(key, "=");else if (typeof value === "string" || typeof value === "number") return "".concat(key, "=").concat(value);else if (Array.isArray(value)) return "".concat(key, "=").concat(value.join(""));else return "".concat(key, "=Bad-data-format");
25
27
  };
28
+
26
29
  if (Array.isArray(input)) {
27
30
  return input.map(item => {
28
31
  if (typeof item !== "string") return [];
@@ -38,6 +41,7 @@ class Utils {
38
41
  });
39
42
  } else if ((0, _utils.getIsOnlyAnObject)(input)) return Object.keys(input).map(key => prepareParam(key, input[key]));else if (typeof input === "string") return (input[0] === "?" ? input.slice(1) : input).split("&");else return [];
40
43
  };
44
+
41
45
  const {
42
46
  isEncode = false,
43
47
  outputAs = "array"
@@ -45,19 +49,23 @@ class Utils {
45
49
  const initialStructure = getInitialArr(queryParams);
46
50
  const normalizedStructure = initialStructure.reduce((acc, str, idx) => {
47
51
  const lastIndex = acc.result.length - 1;
52
+
48
53
  const processToJoin = function (val) {
49
54
  let recoverableSymbol = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "&";
50
55
  const encodedToJoin = "".concat(encodeURIComponent(recoverableSymbol)).concat(encodeURIComponent(val));
51
56
  acc.result[lastIndex] = "".concat(acc.result[lastIndex]).concat(encodedToJoin);
52
57
  acc.toJoin = null;
53
58
  };
59
+
54
60
  if (typeof acc.toJoin === "string") processToJoin(acc.toJoin);
55
61
  const index = str.indexOf("=");
62
+
56
63
  if (index !== -1 && index !== 0) {
57
64
  const key = str.slice(0, index);
58
65
  acc.result.push("".concat(key, "=").concat(encodeURIComponent(str.slice(index + 1))));
59
- } else acc.toJoin = str;
60
- //? Добивка для последней итерации
66
+ } else acc.toJoin = str; //? Добивка для последней итерации
67
+
68
+
61
69
  if (idx === initialStructure.length - 1 && typeof acc.toJoin === "string") processToJoin(acc.toJoin);
62
70
  return acc;
63
71
  }, {
@@ -68,20 +76,22 @@ class Utils {
68
76
  const [key, value] = item.split("=");
69
77
  return [key, !isEncode ? decodeURIComponent(value) : value];
70
78
  });
79
+
71
80
  switch (outputAs) {
72
81
  case "string":
73
82
  return outputStructure.length ? "?".concat(outputStructure.map(_ref3 => {
74
83
  let [key, value] = _ref3;
75
84
  return "".concat(key, "=").concat(value);
76
85
  }).join("&")) : "";
86
+
77
87
  case "object":
78
88
  return outputStructure.reduce((acc, _ref4) => {
79
89
  let [key, value] = _ref4;
80
- return {
81
- ...acc,
90
+ return { ...acc,
82
91
  [key]: value
83
92
  };
84
93
  }, {});
94
+
85
95
  default:
86
96
  return outputStructure.map(_ref5 => {
87
97
  let [key, value] = _ref5;
@@ -89,5 +99,8 @@ class Utils {
89
99
  });
90
100
  }
91
101
  }
102
+
92
103
  }
93
- var _default = exports.default = Utils;
104
+
105
+ var _default = Utils;
106
+ exports.default = _default;
@@ -1,11 +1,15 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
4
5
  Object.defineProperty(exports, "__esModule", {
5
6
  value: true
6
7
  });
7
8
  exports.default = void 0;
9
+
8
10
  var _jsonwebtoken = _interopRequireDefault(require("jsonwebtoken"));
9
- var _default = exports.default = {
11
+
12
+ var _default = {
10
13
  jwt: _jsonwebtoken.default
11
- };
14
+ };
15
+ exports.default = _default;