intelicoreact 1.5.36 → 1.5.40

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 (346) hide show
  1. package/dist/Atomic/FormElements/ActionAlert/ActionAlert.js +44 -93
  2. package/dist/Atomic/FormElements/ActionAlert/ActionAlert.scss +13 -23
  3. package/dist/Atomic/FormElements/AdvancedStatus/AdvancedStatus.js +38 -43
  4. package/dist/Atomic/FormElements/AdvancedStatus/AdvancedStatus.scss +10 -20
  5. package/dist/Atomic/FormElements/Calendar/Calendar.js +164 -243
  6. package/dist/Atomic/FormElements/Calendar/Calendar.scss +0 -1
  7. package/dist/Atomic/FormElements/CheckboxInput/CheckboxInput.js +51 -60
  8. package/dist/Atomic/FormElements/CheckboxInput/CheckboxInput.scss +15 -25
  9. package/dist/Atomic/FormElements/CheckboxesLine/CheckboxesLine.js +39 -47
  10. package/dist/Atomic/FormElements/CheckboxesLine/CheckboxesLine.scss +2 -5
  11. package/dist/Atomic/FormElements/Datepicker/Datepicker.js +308 -410
  12. package/dist/Atomic/FormElements/Datepicker/components/Calendar.js +109 -169
  13. package/dist/Atomic/FormElements/Dropdown/Dropdown.js +527 -680
  14. package/dist/Atomic/FormElements/Dropdown/Dropdown.scss +59 -61
  15. package/dist/Atomic/FormElements/Dropdown/components/DropdownLoader.js +15 -28
  16. package/dist/Atomic/FormElements/DropdownLiveSearch/DropdownLiveSearch.js +378 -498
  17. package/dist/Atomic/FormElements/DropdownLiveSearch/DropdownLiveSearch.scss +32 -36
  18. package/dist/Atomic/FormElements/FileLoader/FileLoader.js +70 -103
  19. package/dist/Atomic/FormElements/FileLoader/FileLoader.scss +2 -0
  20. package/dist/Atomic/FormElements/FileLoader/partial/LoadZone.js +91 -138
  21. package/dist/Atomic/FormElements/FileLoader/partial/LoadedContent.js +55 -109
  22. package/dist/Atomic/FormElements/FileLoaderDescription/FileLoaderDescription.js +193 -254
  23. package/dist/Atomic/FormElements/FileLoaderDescription/FileLoaderDescription.scss +16 -19
  24. package/dist/Atomic/FormElements/FileLoaderLocal/FileLoaderLocal.js +140 -156
  25. package/dist/Atomic/FormElements/FileLoaderLocal/FileLoaderLocal.scss +4 -8
  26. package/dist/Atomic/FormElements/FileLoaderLocalGroup/FileLoaderLocalGroup.js +156 -222
  27. package/dist/Atomic/FormElements/FormattedRawSSN/FormattedRawSSN.js +114 -158
  28. package/dist/Atomic/FormElements/FormattedRawSSN/FormattedRawSSN_old.js +92 -151
  29. package/dist/Atomic/FormElements/Input/Input.js +330 -340
  30. package/dist/Atomic/FormElements/Input/Input.scss +1 -1
  31. package/dist/Atomic/FormElements/InputCalendar/InputCalendar.js +110 -156
  32. package/dist/Atomic/FormElements/InputColor/InputColor.js +58 -57
  33. package/dist/Atomic/FormElements/InputCurrency/InputCurrency.js +145 -188
  34. package/dist/Atomic/FormElements/InputDateRange/InputDateRange.js +228 -294
  35. package/dist/Atomic/FormElements/InputDateRange/InputDateRange.scss +2 -1
  36. package/dist/Atomic/FormElements/InputDateRange/components/DateInput.js +56 -55
  37. package/dist/Atomic/FormElements/InputDateRange/components/Datepicker.js +536 -645
  38. package/dist/Atomic/FormElements/InputDateRange/components/OpenedPart.js +190 -220
  39. package/dist/Atomic/FormElements/InputDateRange/components/SelectItem.js +31 -33
  40. package/dist/Atomic/FormElements/InputDateRange/dependencies.js +169 -247
  41. package/dist/Atomic/FormElements/InputLink/InputLink.js +71 -118
  42. package/dist/Atomic/FormElements/InputMask/InputCarretPosition.js +38 -47
  43. package/dist/Atomic/FormElements/InputMask/InputMask.js +1053 -938
  44. package/dist/Atomic/FormElements/InputMask/config.js +15 -16
  45. package/dist/Atomic/FormElements/InputMask/functions.js +51 -77
  46. package/dist/Atomic/FormElements/InputMask2/InputMask2.js +592 -569
  47. package/dist/Atomic/FormElements/InputMask2/config.js +15 -16
  48. package/dist/Atomic/FormElements/InputMask2/functions.js +51 -77
  49. package/dist/Atomic/FormElements/InputMask3/InputMask3.js +679 -651
  50. package/dist/Atomic/FormElements/InputMask3/config.js +15 -16
  51. package/dist/Atomic/FormElements/InputMask3/functions.js +51 -77
  52. package/dist/Atomic/FormElements/InputWithAction/InputWithAction.js +88 -127
  53. package/dist/Atomic/FormElements/InputWithAction/InputWithAction.scss +1 -1
  54. package/dist/Atomic/FormElements/InputsRow/InputsRow.js +111 -182
  55. package/dist/Atomic/FormElements/Label/Label.js +55 -82
  56. package/dist/Atomic/FormElements/Label/Label.scss +8 -18
  57. package/dist/Atomic/FormElements/MobileCalendar/MobileCalendar.js +382 -437
  58. package/dist/Atomic/FormElements/MobileCalendar/MobileCalendar.scss +3 -3
  59. package/dist/Atomic/FormElements/MultiSelect/MultiSelect.js +50 -88
  60. package/dist/Atomic/FormElements/NumericInput/NumericInput.js +264 -314
  61. package/dist/Atomic/FormElements/NumericInput/NumericInput.scss +1 -1
  62. package/dist/Atomic/FormElements/RadioGroup/RadioGroup.js +51 -93
  63. package/dist/Atomic/FormElements/RadioGroupWithInput/RadioGroupWithInput.js +55 -69
  64. package/dist/Atomic/FormElements/RadioInput/RadioInput.js +45 -51
  65. package/dist/Atomic/FormElements/RadioInput/RadioInput.scss +4 -4
  66. package/dist/Atomic/FormElements/RadioRowSwitcher/RadioRowSwitcher.js +40 -53
  67. package/dist/Atomic/FormElements/RangeCalendar/RangeCalendar.js +120 -169
  68. package/dist/Atomic/FormElements/RangeInputs/RangeInputs.js +141 -195
  69. package/dist/Atomic/FormElements/RangeList/RangeList.js +140 -199
  70. package/dist/Atomic/FormElements/RangeList/RangeList.scss +2 -2
  71. package/dist/Atomic/FormElements/RangeList/partial/AnyOuterClass.scss +4 -1
  72. package/dist/Atomic/FormElements/RangeList/partial/RangeListRow.js +44 -57
  73. package/dist/Atomic/FormElements/RangeSlider/RangeSlider.js +377 -463
  74. package/dist/Atomic/FormElements/RangeSlider/RangeSlider.scss +1 -1
  75. package/dist/Atomic/FormElements/RangeSlider2/RangeSlider2.js +759 -760
  76. package/dist/Atomic/FormElements/RangeSlider2/RangeSlider2.scss +9 -9
  77. package/dist/Atomic/FormElements/SwitchableRow/SwitchableRow.js +31 -36
  78. package/dist/Atomic/FormElements/SwitchableRow/SwitchableRow.scss +2 -0
  79. package/dist/Atomic/FormElements/SwitchableRow/partial/AnyOuterClass.scss +1 -1
  80. package/dist/Atomic/FormElements/Switcher/Switcher.js +44 -52
  81. package/dist/Atomic/FormElements/Switcher/Switcher.scss +3 -3
  82. package/dist/Atomic/FormElements/SwitcherCheckbox/SwitcherCheckbox.js +44 -43
  83. package/dist/Atomic/FormElements/SwitcherCheckbox/SwitcherCheckbox.scss +2 -0
  84. package/dist/Atomic/FormElements/SwitcherHide/SwitcherHide.js +36 -37
  85. package/dist/Atomic/FormElements/SwitcherHide/SwitcherHide.scss +2 -0
  86. package/dist/Atomic/FormElements/SwitcherRadio/SwitcherRadio.js +56 -93
  87. package/dist/Atomic/FormElements/SwitcherRadio/SwitcherRadio.scss +2 -0
  88. package/dist/Atomic/FormElements/SwitcherRange/SwitcherRange.js +53 -86
  89. package/dist/Atomic/FormElements/SwitcherRange/SwitcherRange.scss +2 -0
  90. package/dist/Atomic/FormElements/SwitcherRangeList/SwitcherRangeList.js +54 -46
  91. package/dist/Atomic/FormElements/SwitcherRangeList/partial/AnyOuterClass.scss +1 -1
  92. package/dist/Atomic/FormElements/SwitcherTagsDropdown/SwitcherTagsDropdown.js +102 -172
  93. package/dist/Atomic/FormElements/SwitcherTagsDropdown/SwitcherTagsDropdown.scss +6 -4
  94. package/dist/Atomic/FormElements/SwitcherTagsDropdown/partial/States.js +154 -209
  95. package/dist/Atomic/FormElements/SwitcherTextarea/SwitcherTextarea.js +56 -59
  96. package/dist/Atomic/FormElements/SwitcherTextarea/SwitcherTextarea.scss +2 -2
  97. package/dist/Atomic/FormElements/TagListToDropdown/TagListToDropdown.js +112 -140
  98. package/dist/Atomic/FormElements/TagsDropdown/TagsDropdown.js +919 -1035
  99. package/dist/Atomic/FormElements/TagsDropdown/TagsDropdown.scss +119 -155
  100. package/dist/Atomic/FormElements/Text/Text.js +97 -88
  101. package/dist/Atomic/FormElements/TextSwitcher/TextSwitcher.js +35 -44
  102. package/dist/Atomic/FormElements/TextSwitcher/TextSwitcher.scss +8 -8
  103. package/dist/Atomic/FormElements/Textarea/Textarea.js +64 -102
  104. package/dist/Atomic/FormElements/Textarea/Textarea.scss +8 -4
  105. package/dist/Atomic/FormElements/TieredCheckboxes/TieredCheckboxes.js +133 -172
  106. package/dist/Atomic/FormElements/TieredCheckboxes/partial/AccordionWithCheckbox.js +49 -48
  107. package/dist/Atomic/FormElements/TimeRange/TimeRange.js +63 -114
  108. package/dist/Atomic/FormElements/TimeRange/TimeRange.scss +3 -9
  109. package/dist/Atomic/FormElements/UserContacts/UserContacts.js +122 -179
  110. package/dist/Atomic/FormElements/UserContacts/UserContacts.scss +5 -10
  111. package/dist/Atomic/FormElements/UserContacts/partial/AnyOuterClass.scss +1 -1
  112. package/dist/Atomic/FormElements/VariantsListRadio/VariantsListRadio.js +65 -101
  113. package/dist/Atomic/FormElements/VariantsListRadio/VariantsListRadio.scss +12 -4
  114. package/dist/Atomic/FormElements/VariantsListRadio/partials/VariantsListRadioItem.js +71 -80
  115. package/dist/Atomic/FormElements/WidgetPseudoTable/WidgetPseudoTable.js +64 -79
  116. package/dist/Atomic/FormElements/WidgetPseudoTable/WidgetPseudoTable.scss +3 -1
  117. package/dist/Atomic/FormElements/WidgetPseudoTable/partial/AnyOuterClass.scss +1 -1
  118. package/dist/Atomic/FormElements/WidgetPseudoTable/partial/constructor.js +34 -42
  119. package/dist/Atomic/FormElements/WidgetWithSwitchableRows/WidgetWithSwitchableRows.js +83 -102
  120. package/dist/Atomic/FormElements/WidgetWithSwitchableRows/WidgetWithSwitchableRows.scss +3 -1
  121. package/dist/Atomic/FormElements/WidgetWithSwitchableRows/partial/AnyOuterClass.scss +1 -1
  122. package/dist/Atomic/FormElements/WidgetWithSwitchableRows/partial/constructor.js +35 -42
  123. package/dist/Atomic/Layout/Header/Header.js +80 -148
  124. package/dist/Atomic/Layout/Header/Header.scss +1 -1
  125. package/dist/Atomic/Layout/MainMenu/MainMenu.js +133 -213
  126. package/dist/Atomic/Layout/MainMenu/MainMenu.scss +9 -9
  127. package/dist/Atomic/Layout/Spinner/Spinner.js +22 -39
  128. package/dist/Atomic/Layout/Spinner/Spinner.scss +16 -32
  129. package/dist/Atomic/UI/Accordion/Accordion.js +52 -102
  130. package/dist/Atomic/UI/Accordion/Accordion.scss +14 -25
  131. package/dist/Atomic/UI/Accordion/AccordionItem.js +102 -170
  132. package/dist/Atomic/UI/AccordionTable/AccordionTable.js +167 -251
  133. package/dist/Atomic/UI/AccordionText/AccordionText.js +54 -105
  134. package/dist/Atomic/UI/AccordionText/AccordionText.scss +9 -22
  135. package/dist/Atomic/UI/AdvancedTag/AdvTag.js +135 -207
  136. package/dist/Atomic/UI/AdvancedTag/AdvancedTags.js +46 -100
  137. package/dist/Atomic/UI/AdvancedTag/AdvancedTags.scss +2 -2
  138. package/dist/Atomic/UI/Alert/Alert.js +63 -116
  139. package/dist/Atomic/UI/Alert/Alert.scss +2 -2
  140. package/dist/Atomic/UI/Arrow/Arrow.js +110 -163
  141. package/dist/Atomic/UI/Box/Box.js +37 -37
  142. package/dist/Atomic/UI/Box/Box.scss +11 -11
  143. package/dist/Atomic/UI/Button/Button.js +41 -43
  144. package/dist/Atomic/UI/ButtonsBar/ButtonsBar.js +67 -61
  145. package/dist/Atomic/UI/Chart/Chart.js +96 -170
  146. package/dist/Atomic/UI/Chart/partial/Chart.constants.js +74 -142
  147. package/dist/Atomic/UI/Chart/partial/ChartTypeSwitcherIcon/ChartTypeSwitcherIcon.js +77 -91
  148. package/dist/Atomic/UI/Chart/partial/datasetSetters.js +117 -120
  149. package/dist/Atomic/UI/Chart/partial/optionsConstructor.js +292 -314
  150. package/dist/Atomic/UI/Chart/partial/optionsSetters.js +39 -54
  151. package/dist/Atomic/UI/Chart/partial/utils.js +33 -56
  152. package/dist/Atomic/UI/CircleProgressBar/CircleProgressBar.js +88 -145
  153. package/dist/Atomic/UI/DateTime/DateTime.js +37 -89
  154. package/dist/Atomic/UI/DateTime/DateTime.scss +2 -2
  155. package/dist/Atomic/UI/DateTime/partial/AnyOuterClass.scss +1 -1
  156. package/dist/Atomic/UI/DebugContainer/DebugContainer.js +31 -93
  157. package/dist/Atomic/UI/DebugContainer/useDebugContainer.js +18 -66
  158. package/dist/Atomic/UI/DoubleString/DoubleString.js +77 -134
  159. package/dist/Atomic/UI/DoubleString/DoubleString.scss +4 -6
  160. package/dist/Atomic/UI/DoubleString/partial/AnyOuterClass.scss +1 -1
  161. package/dist/Atomic/UI/DynamicIcon/DynamicIcon.js +22 -65
  162. package/dist/Atomic/UI/ExampleChartIntegration/ExampleChartIntegration.js +170 -251
  163. package/dist/Atomic/UI/ExampleChartIntegration/partial/AnyOuterClass.scss +1 -1
  164. package/dist/Atomic/UI/ExampleChartIntegration/partial/utils.js +84 -109
  165. package/dist/Atomic/UI/Hint/Hint.js +202 -243
  166. package/dist/Atomic/UI/Hint/Hint.scss +3 -5
  167. package/dist/Atomic/UI/Hint/partials/_utils.js +42 -54
  168. package/dist/Atomic/UI/Modal/Modal.js +172 -171
  169. package/dist/Atomic/UI/Modal/Modal.scss +69 -91
  170. package/dist/Atomic/UI/Modal/Modal.stories.js +1 -1
  171. package/dist/Atomic/UI/Modal/ModalHOC.js +38 -92
  172. package/dist/Atomic/UI/Modal/ModalMobile.scss +14 -24
  173. package/dist/Atomic/UI/Modal/partials/ModalFooter.js +18 -68
  174. package/dist/Atomic/UI/Modal/partials/ModalTitle.js +38 -107
  175. package/dist/Atomic/UI/Modal/partials/useMobileModal.js +153 -130
  176. package/dist/Atomic/UI/MonoAccordion/MonoAccordion.js +62 -118
  177. package/dist/Atomic/UI/MonoAccordion/MonoAccordion.scss +25 -163
  178. package/dist/Atomic/UI/NavLine/NavLine.js +273 -306
  179. package/dist/Atomic/UI/NavLine/NavLine.scss +155 -195
  180. package/dist/Atomic/UI/NavLine/NavLine.test.js +1 -1
  181. package/dist/Atomic/UI/NavLine/Tabs.js +115 -0
  182. package/dist/Atomic/UI/PageTitle/PageTitle.js +52 -73
  183. package/dist/Atomic/UI/PageTitle/PageTitle.scss +14 -52
  184. package/dist/Atomic/UI/PieChart/PieChart.js +42 -105
  185. package/dist/Atomic/UI/PieChart/PieChart.scss +11 -86
  186. package/dist/Atomic/UI/Price/Price.js +20 -27
  187. package/dist/Atomic/UI/PriceRange/PriceRange.js +18 -40
  188. package/dist/Atomic/UI/ProgressLine/ProgressLine.js +73 -92
  189. package/dist/Atomic/UI/ProgressLine/ProgressLine.scss +71 -85
  190. package/dist/Atomic/UI/Status/Status.js +51 -62
  191. package/dist/Atomic/UI/Status/Status.scss +29 -48
  192. package/dist/Atomic/UI/Table/Partials/TdCell.js +88 -126
  193. package/dist/Atomic/UI/Table/Partials/TdHeader.js +39 -58
  194. package/dist/Atomic/UI/Table/Partials/TdRow.js +73 -124
  195. package/dist/Atomic/UI/Table/Partials/TdTitle.js +45 -113
  196. package/dist/Atomic/UI/Table/Table.js +43 -61
  197. package/dist/Atomic/UI/Table/Table.scss +3 -0
  198. package/dist/Atomic/UI/Table/TdTypes/TdActions.js +64 -108
  199. package/dist/Atomic/UI/Table/TdTypes/TdPriority.js +31 -44
  200. package/dist/Atomic/UI/Table/TdTypes/TdRange.js +10 -24
  201. package/dist/Atomic/UI/Table/TdTypes/TdWeight.js +48 -59
  202. package/dist/Atomic/UI/Tag/Tag.js +113 -157
  203. package/dist/Atomic/UI/Tag/Tag.scss +48 -102
  204. package/dist/Atomic/UI/TagList/TagList.js +179 -223
  205. package/dist/Atomic/UI/TagList/TagList.scss +9 -13
  206. package/dist/Atomic/UI/UserBox/UserBox.js +56 -80
  207. package/dist/Atomic/UI/UserBox/UserBox.scss +21 -45
  208. package/dist/Atomic/UI/UserBox/UserBox.test.js +2 -2
  209. package/dist/Atomic/UI/WizardStepper/constructor.js +89 -127
  210. package/dist/Atomic/UI/WizardStepper/index.js +6 -14
  211. package/dist/Atomic/UI/WizardStepper/ui/StateIcon/StateIcon.js +51 -53
  212. package/dist/Atomic/UI/WizardStepper/ui/StateIcon/StateIcon.scss +7 -11
  213. package/dist/Atomic/UI/WizardStepper/ui/StateIcon/index.js +5 -9
  214. package/dist/Atomic/UI/WizardStepper/ui/StepRow/StepRow.js +67 -84
  215. package/dist/Atomic/UI/WizardStepper/ui/StepRow/StepRow.scss +7 -13
  216. package/dist/Atomic/UI/WizardStepper/ui/StepRow/index.js +6 -14
  217. package/dist/Atomic/UI/WizardStepper/ui/StepWrapper/StepWrapper.js +45 -50
  218. package/dist/Atomic/UI/WizardStepper/ui/StepWrapper/StepWrapper.scss +18 -24
  219. package/dist/Atomic/UI/WizardStepper/ui/StepWrapper/index.js +6 -14
  220. package/dist/Atomic/UI/WizardStepper/ui/icons.js +106 -138
  221. package/dist/Atomic/UI/WizardStepper/ui/index.js +6 -14
  222. package/dist/Classes/AbortableFetch.js +326 -394
  223. package/dist/Classes/AnimatedHandler.js +44 -31
  224. package/dist/Classes/RESTAPI/index.js +173 -131
  225. package/dist/Classes/RESTAPI/partials/AbortableFetch.js +334 -399
  226. package/dist/Classes/RESTAPI/partials/ApiBase.js +30 -30
  227. package/dist/Classes/RESTAPI/partials/ApiRequestCreators.js +88 -107
  228. package/dist/Classes/RESTAPI/partials/ApiUtils.js +166 -144
  229. package/dist/Classes/RESTAPI/partials/CredentialsProcessing.js +204 -180
  230. package/dist/Classes/RESTAPI/partials/Utils.js +83 -80
  231. package/dist/Classes/RESTAPI/partials/_outerDependencies.js +8 -16
  232. package/dist/Classes/RESTAPI/partials/_utils.js +125 -139
  233. package/dist/Constants/index.constants.js +22 -102
  234. package/dist/Functions/Portal.js +23 -67
  235. package/dist/Functions/animatingFunctions/getAnimatedHandler.js +1 -1
  236. package/dist/Functions/customEventListener.js +50 -48
  237. package/dist/Functions/dateTime.js +177 -130
  238. package/dist/Functions/fieldValueFormatters.js +346 -275
  239. package/dist/Functions/hooks/useFormFieldsChangesManager.js +96 -125
  240. package/dist/Functions/locale/createTranslator.js +27 -29
  241. package/dist/Functions/operations.js +102 -129
  242. package/dist/Functions/presets/inputMaskPresets.js +99 -88
  243. package/dist/Functions/presets/inputPresets.js +35 -41
  244. package/dist/Functions/presets/mobileKeyboardTypesPresets.js +49 -30
  245. package/dist/Functions/schemas.js +20 -78
  246. package/dist/Functions/useBodyScrollLock.js +15 -21
  247. package/dist/Functions/useClickOutside.js +16 -21
  248. package/dist/Functions/useDebounce.js +21 -62
  249. package/dist/Functions/useFieldFocus.js +79 -83
  250. package/dist/Functions/useFormTools/form-drivers/ArrayWithObjects.js +46 -39
  251. package/dist/Functions/useFormTools/form-drivers/ObjectWithIterableObjects.js +137 -132
  252. package/dist/Functions/useFormTools/form-drivers/ObjectWithNamedKeyObjects.js +73 -63
  253. package/dist/Functions/useFormTools/functions/General.js +129 -117
  254. package/dist/Functions/useFormTools/functions/RenderFields.js +85 -75
  255. package/dist/Functions/useFormTools/functions/usePrevious.js +10 -16
  256. package/dist/Functions/useFormTools/index.js +709 -647
  257. package/dist/Functions/useInputHighlightError.js +53 -104
  258. package/dist/Functions/useIsMobile.js +26 -0
  259. package/dist/Functions/useKeyPress/useHandleKeyPress.js +33 -40
  260. package/dist/Functions/useKeyPress/useKeyPress.js +39 -48
  261. package/dist/Functions/useLocalStorage.js +31 -38
  262. package/dist/Functions/useLocationParams.js +24 -31
  263. package/dist/Functions/useMediaQuery.js +10 -14
  264. package/dist/Functions/useMetaInfo.js +35 -45
  265. package/dist/Functions/useMouseUpOutside.js +15 -21
  266. package/dist/Functions/useOnlineStatus.js +21 -25
  267. package/dist/Functions/usePasswordChecker.js +111 -183
  268. package/dist/Functions/usePrevious.js +10 -16
  269. package/dist/Functions/useResize.js +28 -32
  270. package/dist/Functions/useScrollTo.js +16 -26
  271. package/dist/Functions/useToggle.js +16 -20
  272. package/dist/Functions/utils.js +469 -493
  273. package/dist/Molecular/CustomIcons/components/AffiliateNetworks.js +28 -75
  274. package/dist/Molecular/CustomIcons/components/AlertCircle.js +28 -77
  275. package/dist/Molecular/CustomIcons/components/AppStore.js +32 -84
  276. package/dist/Molecular/CustomIcons/components/Arrow.js +38 -93
  277. package/dist/Molecular/CustomIcons/components/ArrowDown.js +20 -63
  278. package/dist/Molecular/CustomIcons/components/ArrowLeft.js +23 -71
  279. package/dist/Molecular/CustomIcons/components/ArrowRight.js +23 -71
  280. package/dist/Molecular/CustomIcons/components/ArrowUp.js +20 -63
  281. package/dist/Molecular/CustomIcons/components/Bell.js +18 -61
  282. package/dist/Molecular/CustomIcons/components/Button.js +18 -61
  283. package/dist/Molecular/CustomIcons/components/Campaigns.js +19 -62
  284. package/dist/Molecular/CustomIcons/components/Check.js +19 -62
  285. package/dist/Molecular/CustomIcons/components/Check2.js +18 -61
  286. package/dist/Molecular/CustomIcons/components/ChevronDown.js +18 -61
  287. package/dist/Molecular/CustomIcons/components/ChevronDownDisabled.js +18 -61
  288. package/dist/Molecular/CustomIcons/components/ChevronLeft.js +18 -61
  289. package/dist/Molecular/CustomIcons/components/ChevronRight.js +18 -61
  290. package/dist/Molecular/CustomIcons/components/ChevronUp.js +18 -61
  291. package/dist/Molecular/CustomIcons/components/ChevronUpDown.js +33 -81
  292. package/dist/Molecular/CustomIcons/components/Close.js +20 -64
  293. package/dist/Molecular/CustomIcons/components/ColumnsOrder.js +45 -95
  294. package/dist/Molecular/CustomIcons/components/Delete.js +19 -62
  295. package/dist/Molecular/CustomIcons/components/Edit.js +18 -61
  296. package/dist/Molecular/CustomIcons/components/Email.js +36 -87
  297. package/dist/Molecular/CustomIcons/components/FinturfLogo.js +26 -82
  298. package/dist/Molecular/CustomIcons/components/FinturfLogo2.js +34 -83
  299. package/dist/Molecular/CustomIcons/components/Flows.js +18 -61
  300. package/dist/Molecular/CustomIcons/components/Gift.js +23 -71
  301. package/dist/Molecular/CustomIcons/components/GoogleAuth.js +32 -84
  302. package/dist/Molecular/CustomIcons/components/GooglePlay.js +32 -84
  303. package/dist/Molecular/CustomIcons/components/HelpCircle.js +21 -67
  304. package/dist/Molecular/CustomIcons/components/HelpCircle2.js +22 -68
  305. package/dist/Molecular/CustomIcons/components/HelpCircleFilled.js +21 -67
  306. package/dist/Molecular/CustomIcons/components/Home.js +21 -67
  307. package/dist/Molecular/CustomIcons/components/Home2.js +24 -70
  308. package/dist/Molecular/CustomIcons/components/Key.js +26 -69
  309. package/dist/Molecular/CustomIcons/components/Landers.js +22 -68
  310. package/dist/Molecular/CustomIcons/components/Lock.js +18 -61
  311. package/dist/Molecular/CustomIcons/components/Mail.js +26 -75
  312. package/dist/Molecular/CustomIcons/components/Mastercard.js +68 -128
  313. package/dist/Molecular/CustomIcons/components/Minus.js +31 -79
  314. package/dist/Molecular/CustomIcons/components/Offers.js +19 -62
  315. package/dist/Molecular/CustomIcons/components/Pause.js +31 -79
  316. package/dist/Molecular/CustomIcons/components/PayPal.js +45 -96
  317. package/dist/Molecular/CustomIcons/components/PayPalLightLarge.js +32 -81
  318. package/dist/Molecular/CustomIcons/components/Phone.js +33 -81
  319. package/dist/Molecular/CustomIcons/components/Play.js +31 -79
  320. package/dist/Molecular/CustomIcons/components/Plus.js +31 -79
  321. package/dist/Molecular/CustomIcons/components/Profile.js +23 -69
  322. package/dist/Molecular/CustomIcons/components/QRCode.js +33 -85
  323. package/dist/Molecular/CustomIcons/components/Rectangle.js +18 -61
  324. package/dist/Molecular/CustomIcons/components/Revert.js +21 -67
  325. package/dist/Molecular/CustomIcons/components/Star.js +17 -60
  326. package/dist/Molecular/CustomIcons/components/Star2.js +19 -62
  327. package/dist/Molecular/CustomIcons/components/TrafficSources.js +21 -68
  328. package/dist/Molecular/CustomIcons/components/Trash.js +18 -61
  329. package/dist/Molecular/CustomIcons/components/TrashRed.js +18 -61
  330. package/dist/Molecular/CustomIcons/components/Triggers.js +18 -61
  331. package/dist/Molecular/CustomIcons/components/User.js +23 -71
  332. package/dist/Molecular/CustomIcons/components/Visa.js +34 -88
  333. package/dist/Molecular/CustomIcons/components/X.js +18 -61
  334. package/dist/Molecular/CustomIcons/index.js +674 -76
  335. package/dist/Molecular/FormElement/FormElement.js +41 -44
  336. package/dist/Molecular/FormWithDependOn/FormWithDependOn.js +161 -179
  337. package/dist/Molecular/FormWithDependOn/partials/_utils.js +56 -49
  338. package/dist/Molecular/InputAddress/InputAddress.js +421 -496
  339. package/dist/Molecular/InputAddress/InputAddress.scss +16 -14
  340. package/dist/Molecular/InputPassword/InputPassword.js +47 -99
  341. package/dist/index.js +8 -11
  342. package/dist/scss/_fonts.scss +60 -48
  343. package/dist/scss/_mixins.scss +2 -2
  344. package/dist/scss/_vars.scss +5 -4
  345. package/dist/scss/main.scss +4 -5
  346. package/package.json +21 -17
@@ -1,193 +1,217 @@
1
1
  "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
2
4
  Object.defineProperty(exports, "__esModule", {
3
- value: true
5
+ value: true
4
6
  });
5
- Object.defineProperty(exports, "default", {
6
- enumerable: true,
7
- get: function() {
8
- return _default;
9
- }
10
- });
11
- const _outerDependencies = /*#__PURE__*/ _interop_require_default(require("./_outerDependencies"));
12
- const _utils = require("./_utils");
13
- function _interop_require_default(obj) {
14
- return obj && obj.__esModule ? obj : {
15
- default: obj
16
- };
17
- }
18
- const { jwt } = _outerDependencies.default;
7
+ exports.default = void 0;
8
+ var _outerDependencies = _interopRequireDefault(require("./_outerDependencies"));
9
+ var _utils = require("./_utils");
10
+ const {
11
+ jwt
12
+ } = _outerDependencies.default;
19
13
  class CredentialsProcessing {
20
- getIsTokenStartRefresh() {
21
- return localStorage.getItem(this.REFRESH_TOKEN_FLAG);
22
- }
23
- setIsTokenStartRefresh() {
24
- localStorage.setItem(this.REFRESH_TOKEN_FLAG, true);
14
+ constructor(settings) {
15
+ const {
16
+ credentialsProcessing
17
+ } = settings;
18
+ const {
19
+ //? Для корректной работы установки токенов в запросы от API
20
+ //? нужно передавать методы getCredentials и getHeadersForAuthorize
21
+ getCredentials,
22
+ getHeadersForAuthorize,
23
+ //? На вход получит токен, должна вернуть объект для коструктора Headers
24
+
25
+ //? Так же опционально можно передавать
26
+ importCredentials,
27
+ //? если он передается, то он будет применяться к выводу от вызова getCredentials
28
+ saveCredentials,
29
+ //? можно будет найти в объекте credentialsProcessing, чтобы использовать кастомными методами
30
+
31
+ //! Либо вызов getCredentials, либо цепочка вызовов importCredentials(getCredentials())
32
+ //! должна возвращать требуемую классом структуру
33
+ //! Класс требует структуры
34
+ //! - { token }, если флоу рефреш токена НЕ используется
35
+ //! - { token, refreshToken, expires }, если используется флоу рефреш токена
36
+
37
+ // *********
38
+
39
+ //? Подключает флоу рефреша токенов
40
+ isUseRefreshTokensPropcessing = false,
41
+ //! Для корректной работы флоу рефреша токенов передача метода saveCredentials становится ОБЯЗАТЕЛЬНОЙ
42
+
43
+ //? Так же для корректной работы флоу рефреша токенов нужно
44
+ //? - либо
45
+ refreshCredentials,
46
+ //! метод должен возвращать такую же структуру как и метод getCredentials,
47
+ //? на вход получит текущие креды, к выходу будет применен importCredentials, если этот метод передавался
48
+ //? - либо
49
+ REFRESH_TOKEN_PATH,
50
+ //! REFRESH_TOKEN_PATH передается ПОЛНОСТЬЮ (глобальная адресация)!
51
+ CODES_USING_THE_REFRESH_ATTEMPT,
52
+ //? указывает по каким кодам ответа триггериться рефреш, массив чисел
53
+
54
+ //? Опционально
55
+ REFRESH_TOKEN_FLAG = "refreshTokenFlag",
56
+ INTERVAL_FOR_CHECKING_TOKEN_UPDATE = 50,
57
+ // ms
58
+ callbackAfterRejectRefresh
59
+ } = credentialsProcessing || {};
60
+ if (typeof getCredentials !== "function") throw new Error("No getCredentials method [CredentialsProcessing]");
61
+ if (typeof getHeadersForAuthorize !== "function") {
62
+ throw new Error("No getHeadersForAuthorize method [CredentialsProcessing]");
25
63
  }
26
- removeIsTokenStartRefresh() {
27
- localStorage.removeItem(this.REFRESH_TOKEN_FLAG);
64
+ if (importCredentials && typeof importCredentials !== "function") {
65
+ throw new Error("Bad importCredentials method [CredentialsProcessing]");
28
66
  }
29
- async getCredentials(isCatchCallbackProcess, callback) {
30
- let credentials = await this.getCredentialsByOuter();
31
- if (typeof this.importCredentials === "function") credentials = await this.importCredentials(credentials);
32
- if (!(0, _utils.getIsOnlyAnObject)(credentials)) credentials = {};
33
- const token = credentials.token || null;
34
- if (token && !isCatchCallbackProcess) {
35
- let decoded;
36
- try {
37
- decoded = jwt.decode(token);
38
- } catch (e) {
39
- decoded = null;
40
- }
41
- const currentTime = Date.now() / 1000;
42
- if (decoded !== null && Number(decoded.exp) < currentTime) credentials = {
43
- ...credentials,
44
- isNeedRefresh: true
45
- };
46
- }
47
- if (callback) await callback({
48
- ...credentials,
49
- isCatchCallbackProcess
50
- });
51
- return {
52
- ...credentials,
53
- isCatchCallbackProcess
54
- };
67
+ this.isUseRefreshTokensPropcessing = isUseRefreshTokensPropcessing;
68
+ this.DEFAULT_CREDENTIALS = {};
69
+ this.getCredentialsByOuter = getCredentials;
70
+ this.getHeadersForAuthorize = getHeadersForAuthorize;
71
+ this.importCredentials = importCredentials;
72
+
73
+ //? Если метод передан или если не передан, но включен флоу обновления токенов (тогда saveCredentials обязателен)
74
+ if (saveCredentials || isUseRefreshTokensPropcessing) {
75
+ if (typeof saveCredentials !== "function") throw new Error("No saveCredentials method [CredentialsProcessing]");else this.saveCredentials = saveCredentials;
55
76
  }
56
- async refreshCredentials(currentCredentials, callback) {
57
- const CONTEXT = this;
58
- async function finalize(cred) {
59
- if (callback) await callback(cred);
60
- return Promise.resolve(cred).then(async (res)=>{
61
- CONTEXT.removeIsTokenStartRefresh();
62
- return res;
63
- });
77
+ if (isUseRefreshTokensPropcessing) {
78
+ if (typeof refreshCredentials === "function") this.refreshCredentialsByOuter = refreshCredentials;else {
79
+ if (typeof this.refreshCredentialsByOuter === "function" && typeof REFRESH_TOKEN_PATH !== "string") {
80
+ throw new Error("No REFRESH_TOKEN_PATH [CredentialsProcessing]");
64
81
  }
65
- if (!(currentCredentials === null || currentCredentials === void 0 ? void 0 : currentCredentials.token) || !(currentCredentials === null || currentCredentials === void 0 ? void 0 : currentCredentials.refreshToken)) return finalize(CONTEXT.DEFAULT_CREDENTIALS);
66
- //! ВНИМАНИЕ! Данный механизм рефреша принят на проекте finturfreactfrontend (админка)
67
- //! На кабинете он ТОЧНО НЕ ТАКОЙ
68
- async function refreshCredentialsByDefault() {
69
- const { token, refreshToken } = currentCredentials;
70
- const headers = new Headers();
71
- headers.append(...Object.entries(CONTEXT.getHeadersForAuthorize(token)));
72
- const body = new FormData();
73
- body.append("grant_type", "refresh_token");
74
- body.append("refresh_token", refreshToken);
75
- body.append("client_id", "oauth");
76
- body.append("client_secret", "secret");
77
- body.append("access_type", "offline");
78
- return fetch(`${CONTEXT.REFRESH_TOKEN_PATH}`, {
79
- mode: "cors",
80
- method: "POST",
81
- headers,
82
- body,
83
- redirect: "follow"
84
- });
85
- }
86
- //? Передавайте собственный refreshCredentials при получении экземляра RESTAPI, если не уверены,
87
- //? что механизм рефреша токенов ИМЕННО ТАКОЙ как в ф-и refreshCredentialsByDefault!
88
- //! currentCredentials передаются в формате класса! ({ token, refreshToken, expires })
89
- const newCredentials = typeof CONTEXT.refreshCredentialsByOuter === "function" ? await CONTEXT.refreshCredentialsByOuter(currentCredentials) : await refreshCredentialsByDefault();
90
- return finalize(newCredentials);
82
+ this.REFRESH_TOKEN_PATH = REFRESH_TOKEN_PATH;
83
+ }
84
+ if (!Array.isArray(CODES_USING_THE_REFRESH_ATTEMPT)) {
85
+ throw new Error("No CODES_USING_THE_REFRESH_ATTEMPT [CredentialsProcessing]");
86
+ }
87
+ if (!CODES_USING_THE_REFRESH_ATTEMPT.every(i => typeof i === "number")) {
88
+ throw new Error("Invalid format of CODES_USING_THE_REFRESH_ATTEMPT elements [CredentialsProcessing]");
89
+ }
90
+ if (typeof REFRESH_TOKEN_FLAG !== "string") throw new Error("Bad REFRESH_TOKEN_FLAG [CredentialsProcessing]");
91
+ if (typeof INTERVAL_FOR_CHECKING_TOKEN_UPDATE !== "number") {
92
+ throw new Error("Bad INTERVAL_FOR_CHECKING_TOKEN_UPDATE [CredentialsProcessing]");
93
+ }
94
+ if (typeof INTERVAL_FOR_CHECKING_TOKEN_UPDATE !== "number") {
95
+ throw new Error("Bad INTERVAL_FOR_CHECKING_TOKEN_UPDATE [CredentialsProcessing]");
96
+ }
97
+ if (callbackAfterRejectRefresh && typeof callbackAfterRejectRefresh !== "function") {
98
+ throw new Error("Bad INTERVAL_FOR_CHECKING_TOKEN_UPDATE [CredentialsProcessing]");
99
+ }
100
+ this.CODES_USING_THE_REFRESH_ATTEMPT = CODES_USING_THE_REFRESH_ATTEMPT;
101
+ this.REFRESH_TOKEN_FLAG = REFRESH_TOKEN_FLAG;
102
+ this.INTERVAL_FOR_CHECKING_TOKEN_UPDATE = INTERVAL_FOR_CHECKING_TOKEN_UPDATE;
103
+ if (callbackAfterRejectRefresh) this.callbackAfterRejectRefresh = callbackAfterRejectRefresh;
91
104
  }
92
- async waitRefresh(isNeedRefresh) {
93
- return new Promise((resolve)=>{
94
- if (!this.getIsTokenStartRefresh()) {
95
- if (isNeedRefresh) this.setIsTokenStartRefresh();
96
- resolve();
97
- } else {
98
- const intervalId = setInterval(()=>{
99
- if (!this.getIsTokenStartRefresh()) {
100
- clearInterval(intervalId);
101
- resolve();
102
- }
103
- }, this.INTERVAL_FOR_CHECKING_TOKEN_UPDATE);
104
- }
105
- });
105
+ }
106
+ getIsTokenStartRefresh() {
107
+ return localStorage.getItem(this.REFRESH_TOKEN_FLAG);
108
+ }
109
+ setIsTokenStartRefresh() {
110
+ localStorage.setItem(this.REFRESH_TOKEN_FLAG, true);
111
+ }
112
+ removeIsTokenStartRefresh() {
113
+ localStorage.removeItem(this.REFRESH_TOKEN_FLAG);
114
+ }
115
+ async getCredentials(isCatchCallbackProcess, callback) {
116
+ let credentials = await this.getCredentialsByOuter();
117
+ if (typeof this.importCredentials === "function") credentials = await this.importCredentials(credentials);
118
+ if (!(0, _utils.getIsOnlyAnObject)(credentials)) credentials = {};
119
+ const token = credentials.token || null;
120
+ if (token && !isCatchCallbackProcess) {
121
+ let decoded;
122
+ try {
123
+ decoded = jwt.decode(token);
124
+ } catch {
125
+ decoded = null;
126
+ }
127
+ const currentTime = Date.now() / 1000;
128
+ if (decoded !== null && Number(decoded.exp) < currentTime) credentials = {
129
+ ...credentials,
130
+ isNeedRefresh: true
131
+ };
106
132
  }
107
- async processCredentials(cred) {
108
- if (!cred.isNeedRefresh && !cred.isCatchCallbackProcess) return cred;
109
- const CONTEXT = this;
110
- return CONTEXT.refreshCredentials(cred, (response)=>CONTEXT.saveCredentials(response)).then(()=>{
111
- return new Promise((resolve)=>{
112
- setTimeout(async ()=>{
113
- const newCredentials = await CONTEXT.getCredentials();
114
- if (!(newCredentials === null || newCredentials === void 0 ? void 0 : newCredentials.token)) {
115
- newCredentials.isRefreshFailed = true;
116
- setTimeout(()=>{
117
- var _CONTEXT_callbackAfterRejectRefresh;
118
- CONTEXT === null || CONTEXT === void 0 ? void 0 : (_CONTEXT_callbackAfterRejectRefresh = CONTEXT.callbackAfterRejectRefresh) === null || _CONTEXT_callbackAfterRejectRefresh === void 0 ? void 0 : _CONTEXT_callbackAfterRejectRefresh.call(CONTEXT);
119
- }, 0);
120
- }
121
- resolve(newCredentials);
122
- }, 0);
123
- });
124
- });
133
+ if (callback) await callback({
134
+ ...credentials,
135
+ isCatchCallbackProcess
136
+ });
137
+ return {
138
+ ...credentials,
139
+ isCatchCallbackProcess
140
+ };
141
+ }
142
+ async refreshCredentials(currentCredentials, callback) {
143
+ const CONTEXT = this;
144
+ async function finalize(cred) {
145
+ if (callback) await callback(cred);
146
+ return Promise.resolve(cred).then(async res => {
147
+ CONTEXT.removeIsTokenStartRefresh();
148
+ return res;
149
+ });
125
150
  }
126
- constructor(settings){
127
- const { credentialsProcessing } = settings;
128
- const { //? Для корректной работы установки токенов в запросы от API
129
- //? нужно передавать методы getCredentials и getHeadersForAuthorize
130
- getCredentials, getHeadersForAuthorize, //? Так же опционально можно передавать
131
- importCredentials, saveCredentials, //! Либо вызов getCredentials, либо цепочка вызовов importCredentials(getCredentials())
132
- //! должна возвращать требуемую классом структуру
133
- //! Класс требует структуры
134
- //! - { token }, если флоу рефреш токена НЕ используется
135
- //! - { token, refreshToken, expires }, если используется флоу рефреш токена
136
- // *********
137
- //? Подключает флоу рефреша токенов
138
- isUseRefreshTokensPropcessing = false, //! Для корректной работы флоу рефреша токенов передача метода saveCredentials становится ОБЯЗАТЕЛЬНОЙ
139
- //? Так же для корректной работы флоу рефреша токенов нужно
140
- //? - либо
141
- refreshCredentials, //? на вход получит текущие креды, к выходу будет применен importCredentials, если этот метод передавался
142
- //? - либо
143
- REFRESH_TOKEN_PATH, CODES_USING_THE_REFRESH_ATTEMPT, //? Опционально
144
- REFRESH_TOKEN_FLAG = "refreshTokenFlag", INTERVAL_FOR_CHECKING_TOKEN_UPDATE = 50, callbackAfterRejectRefresh } = credentialsProcessing || {};
145
- if (typeof getCredentials !== "function") throw new Error("No getCredentials method [CredentialsProcessing]");
146
- if (typeof getHeadersForAuthorize !== "function") {
147
- throw new Error("No getHeadersForAuthorize method [CredentialsProcessing]");
148
- }
149
- if (importCredentials && typeof importCredentials !== "function") {
150
- throw new Error("Bad importCredentials method [CredentialsProcessing]");
151
- }
152
- this.isUseRefreshTokensPropcessing = isUseRefreshTokensPropcessing;
153
- this.DEFAULT_CREDENTIALS = {};
154
- this.getCredentialsByOuter = getCredentials;
155
- this.getHeadersForAuthorize = getHeadersForAuthorize;
156
- this.importCredentials = importCredentials;
157
- //? Если метод передан или если не передан, но включен флоу обновления токенов (тогда saveCredentials обязателен)
158
- if (saveCredentials || isUseRefreshTokensPropcessing) {
159
- if (typeof saveCredentials !== "function") throw new Error("No saveCredentials method [CredentialsProcessing]");
160
- else this.saveCredentials = saveCredentials;
161
- }
162
- if (isUseRefreshTokensPropcessing) {
163
- if (typeof refreshCredentials === "function") this.refreshCredentialsByOuter = refreshCredentials;
164
- else {
165
- if (typeof this.refreshCredentialsByOuter === "function" && typeof REFRESH_TOKEN_PATH !== "string") {
166
- throw new Error("No REFRESH_TOKEN_PATH [CredentialsProcessing]");
167
- }
168
- this.REFRESH_TOKEN_PATH = REFRESH_TOKEN_PATH;
169
- }
170
- if (!Array.isArray(CODES_USING_THE_REFRESH_ATTEMPT)) {
171
- throw new Error("No CODES_USING_THE_REFRESH_ATTEMPT [CredentialsProcessing]");
172
- }
173
- if (!CODES_USING_THE_REFRESH_ATTEMPT.every((i)=>typeof i === "number")) {
174
- throw new Error("Invalid format of CODES_USING_THE_REFRESH_ATTEMPT elements [CredentialsProcessing]");
175
- }
176
- if (typeof REFRESH_TOKEN_FLAG !== "string") throw new Error("Bad REFRESH_TOKEN_FLAG [CredentialsProcessing]");
177
- if (typeof INTERVAL_FOR_CHECKING_TOKEN_UPDATE !== "number") {
178
- throw new Error("Bad INTERVAL_FOR_CHECKING_TOKEN_UPDATE [CredentialsProcessing]");
179
- }
180
- if (typeof INTERVAL_FOR_CHECKING_TOKEN_UPDATE !== "number") {
181
- throw new Error("Bad INTERVAL_FOR_CHECKING_TOKEN_UPDATE [CredentialsProcessing]");
182
- }
183
- if (callbackAfterRejectRefresh && typeof callbackAfterRejectRefresh !== "function") {
184
- throw new Error("Bad INTERVAL_FOR_CHECKING_TOKEN_UPDATE [CredentialsProcessing]");
185
- }
186
- this.CODES_USING_THE_REFRESH_ATTEMPT = CODES_USING_THE_REFRESH_ATTEMPT;
187
- this.REFRESH_TOKEN_FLAG = REFRESH_TOKEN_FLAG;
188
- this.INTERVAL_FOR_CHECKING_TOKEN_UPDATE = INTERVAL_FOR_CHECKING_TOKEN_UPDATE;
189
- if (callbackAfterRejectRefresh) this.callbackAfterRejectRefresh = callbackAfterRejectRefresh;
190
- }
151
+ if (!currentCredentials?.token || !currentCredentials?.refreshToken) return finalize(CONTEXT.DEFAULT_CREDENTIALS);
152
+
153
+ //! ВНИМАНИЕ! Данный механизм рефреша принят на проекте finturfreactfrontend (админка)
154
+ //! На кабинете он ТОЧНО НЕ ТАКОЙ
155
+ async function refreshCredentialsByDefault() {
156
+ const {
157
+ token,
158
+ refreshToken
159
+ } = currentCredentials;
160
+ const headers = new Headers();
161
+ headers.append(...Object.entries(CONTEXT.getHeadersForAuthorize(token)));
162
+ const body = new FormData();
163
+ body.append("grant_type", "refresh_token");
164
+ body.append("refresh_token", refreshToken);
165
+ body.append("client_id", "oauth");
166
+ body.append("client_secret", "secret");
167
+ body.append("access_type", "offline");
168
+ return fetch(`${CONTEXT.REFRESH_TOKEN_PATH}`, {
169
+ mode: "cors",
170
+ method: "POST",
171
+ headers,
172
+ body,
173
+ redirect: "follow"
174
+ });
191
175
  }
176
+
177
+ //? Передавайте собственный refreshCredentials при получении экземляра RESTAPI, если не уверены,
178
+ //? что механизм рефреша токенов ИМЕННО ТАКОЙ как в ф-и refreshCredentialsByDefault!
179
+ //! currentCredentials передаются в формате класса! ({ token, refreshToken, expires })
180
+ const newCredentials = typeof CONTEXT.refreshCredentialsByOuter === "function" ? await CONTEXT.refreshCredentialsByOuter(currentCredentials) : await refreshCredentialsByDefault();
181
+ return finalize(newCredentials);
182
+ }
183
+ async waitRefresh(isNeedRefresh) {
184
+ return new Promise(resolve => {
185
+ if (!this.getIsTokenStartRefresh()) {
186
+ if (isNeedRefresh) this.setIsTokenStartRefresh();
187
+ resolve();
188
+ } else {
189
+ const intervalId = setInterval(() => {
190
+ if (!this.getIsTokenStartRefresh()) {
191
+ clearInterval(intervalId);
192
+ resolve();
193
+ }
194
+ }, this.INTERVAL_FOR_CHECKING_TOKEN_UPDATE);
195
+ }
196
+ });
197
+ }
198
+ async processCredentials(cred) {
199
+ if (!cred.isNeedRefresh && !cred.isCatchCallbackProcess) return cred;
200
+ const CONTEXT = this;
201
+ return CONTEXT.refreshCredentials(cred, response => CONTEXT.saveCredentials(response)).then(() => {
202
+ return new Promise(resolve => {
203
+ setTimeout(async () => {
204
+ const newCredentials = await CONTEXT.getCredentials();
205
+ if (!newCredentials?.token) {
206
+ newCredentials.isRefreshFailed = true;
207
+ setTimeout(() => {
208
+ CONTEXT?.callbackAfterRejectRefresh?.();
209
+ }, 0);
210
+ }
211
+ resolve(newCredentials);
212
+ }, 0);
213
+ });
214
+ });
215
+ }
192
216
  }
193
- const _default = CredentialsProcessing;
217
+ var _default = exports.default = CredentialsProcessing;
@@ -1,90 +1,93 @@
1
1
  "use strict";
2
+
2
3
  Object.defineProperty(exports, "__esModule", {
3
- value: true
4
+ value: true
4
5
  });
5
- Object.defineProperty(exports, "default", {
6
- enumerable: true,
7
- get: function() {
8
- return _default;
9
- }
10
- });
11
- const _utils = require("./_utils");
6
+ exports.default = void 0;
7
+ var _utils = require("./_utils");
12
8
  //? В этом кклассе собраны полезные добавочные утилиты, которые могут быть использованы другими классами,
13
9
  //? но не имеют прямого отношения к реализации прямой ф-ти RESTAPI
14
10
  //? Так же утилиты могут быть использованы как библиотечные
15
11
  class Utils {
16
- //! Могут содержаться НЕасинхронные методы!
17
- //? Ф-я normalizeQueryParams является нормализатором сложных квери
18
- //? Например: &key1=&&&===&&&key2====&&&&&&&&key3=....
19
- //? Для корректной работы на вход нужно подавать НЕ кодированные значения
20
- //? По умолчанию выходные значения квери-параметров НЕ кодируются
21
- normalizeQueryParams(queryParams, settings) {
22
- if (settings && !(0, _utils.getIsOnlyAnObject)(settings)) {
23
- throw new Error("Bad settings [class Utils, normalizeQueryParams]");
24
- }
25
- const getInitialArr = (input)=>{
26
- const prepareParam = (key, value)=>{
27
- if (!value) return `${key}=`;
28
- else if (typeof value === "string" || typeof value === "number") return `${key}=${value}`;
29
- else if (Array.isArray(value)) return `${key}=${value.join("")}`;
30
- else return `${key}=Bad-data-format`;
31
- };
32
- if (Array.isArray(input)) {
33
- return input.map((item)=>{
34
- if (typeof item !== "string") return [];
35
- const index = item.indexOf("=");
36
- if (index === -1) return [
37
- item
38
- ];
39
- return [
40
- item.slice(0, index),
41
- item.slice(index + 1)
42
- ];
43
- }).filter(([key])=>Boolean(key)).map(([key, value])=>prepareParam(key, value));
44
- } else if ((0, _utils.getIsOnlyAnObject)(input)) return Object.keys(input).map((key)=>prepareParam(key, input[key]));
45
- else if (typeof input === "string") return (input[0] === "?" ? input.slice(1) : input).split("&");
46
- else return [];
47
- };
48
- const { isEncode = false, outputAs = "array" } = settings || {};
49
- const initialStructure = getInitialArr(queryParams);
50
- const normalizedStructure = initialStructure.reduce((acc, str, idx)=>{
51
- const lastIndex = acc.result.length - 1;
52
- const processToJoin = (val, recoverableSymbol = "&")=>{
53
- const encodedToJoin = `${encodeURIComponent(recoverableSymbol)}${encodeURIComponent(val)}`;
54
- acc.result[lastIndex] = `${acc.result[lastIndex]}${encodedToJoin}`;
55
- acc.toJoin = null;
56
- };
57
- if (typeof acc.toJoin === "string") processToJoin(acc.toJoin);
58
- const index = str.indexOf("=");
59
- if (index !== -1 && index !== 0) {
60
- const key = str.slice(0, index);
61
- acc.result.push(`${key}=${encodeURIComponent(str.slice(index + 1))}`);
62
- } else acc.toJoin = str;
63
- //? Добивка для последней итерации
64
- if (idx === initialStructure.length - 1 && typeof acc.toJoin === "string") processToJoin(acc.toJoin);
65
- return acc;
66
- }, {
67
- result: [],
68
- toJoin: null
69
- }).result;
70
- const outputStructure = normalizedStructure.map((item)=>{
71
- const [key, value] = item.split("=");
72
- return [
73
- key,
74
- !isEncode ? decodeURIComponent(value) : value
75
- ];
12
+ //! Могут содержаться НЕасинхронные методы!
13
+
14
+ //? Ф-я normalizeQueryParams является нормализатором сложных квери
15
+ //? Например: &key1=&&&===&&&key2====&&&&&&&&key3=....
16
+ //? Для корректной работы на вход нужно подавать НЕ кодированные значения
17
+ //? По умолчанию выходные значения квери-параметров НЕ кодируются
18
+ normalizeQueryParams(queryParams, settings) {
19
+ if (settings && !(0, _utils.getIsOnlyAnObject)(settings)) {
20
+ throw new Error("Bad settings [class Utils, normalizeQueryParams]");
21
+ }
22
+ const getInitialArr = input => {
23
+ const prepareParam = (key, value) => {
24
+ if (!value) return `${key}=`;else if (typeof value === "string" || typeof value === "number") return `${key}=${value}`;else if (Array.isArray(value)) return `${key}=${value.join("")}`;else return `${key}=Bad-data-format`;
25
+ };
26
+ if (Array.isArray(input)) {
27
+ return input.map(item => {
28
+ if (typeof item !== "string") return [];
29
+ const index = item.indexOf("=");
30
+ if (index === -1) return [item];
31
+ return [item.slice(0, index), item.slice(index + 1)];
32
+ }).filter(_ref => {
33
+ let [key] = _ref;
34
+ return Boolean(key);
35
+ }).map(_ref2 => {
36
+ let [key, value] = _ref2;
37
+ return prepareParam(key, value);
38
+ });
39
+ } 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
+ };
41
+ const {
42
+ isEncode = false,
43
+ outputAs = "array"
44
+ } = settings || {};
45
+ const initialStructure = getInitialArr(queryParams);
46
+ const normalizedStructure = initialStructure.reduce((acc, str, idx) => {
47
+ const lastIndex = acc.result.length - 1;
48
+ const processToJoin = function (val) {
49
+ let recoverableSymbol = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "&";
50
+ const encodedToJoin = `${encodeURIComponent(recoverableSymbol)}${encodeURIComponent(val)}`;
51
+ acc.result[lastIndex] = `${acc.result[lastIndex]}${encodedToJoin}`;
52
+ acc.toJoin = null;
53
+ };
54
+ if (typeof acc.toJoin === "string") processToJoin(acc.toJoin);
55
+ const index = str.indexOf("=");
56
+ if (index !== -1 && index !== 0) {
57
+ const key = str.slice(0, index);
58
+ acc.result.push(`${key}=${encodeURIComponent(str.slice(index + 1))}`);
59
+ } else acc.toJoin = str;
60
+ //? Добивка для последней итерации
61
+ if (idx === initialStructure.length - 1 && typeof acc.toJoin === "string") processToJoin(acc.toJoin);
62
+ return acc;
63
+ }, {
64
+ result: [],
65
+ toJoin: null
66
+ }).result;
67
+ const outputStructure = normalizedStructure.map(item => {
68
+ const [key, value] = item.split("=");
69
+ return [key, !isEncode ? decodeURIComponent(value) : value];
70
+ });
71
+ switch (outputAs) {
72
+ case "string":
73
+ return outputStructure.length ? `?${outputStructure.map(_ref3 => {
74
+ let [key, value] = _ref3;
75
+ return `${key}=${value}`;
76
+ }).join("&")}` : "";
77
+ case "object":
78
+ return outputStructure.reduce((acc, _ref4) => {
79
+ let [key, value] = _ref4;
80
+ return {
81
+ ...acc,
82
+ [key]: value
83
+ };
84
+ }, {});
85
+ default:
86
+ return outputStructure.map(_ref5 => {
87
+ let [key, value] = _ref5;
88
+ return `${key}=${value}`;
76
89
  });
77
- switch(outputAs){
78
- case "string":
79
- return outputStructure.length ? `?${outputStructure.map(([key, value])=>`${key}=${value}`).join("&")}` : "";
80
- case "object":
81
- return outputStructure.reduce((acc, [key, value])=>({
82
- ...acc,
83
- [key]: value
84
- }), {});
85
- default:
86
- return outputStructure.map(([key, value])=>`${key}=${value}`);
87
- }
88
90
  }
91
+ }
89
92
  }
90
- const _default = Utils;
93
+ var _default = exports.default = Utils;
@@ -1,19 +1,11 @@
1
1
  "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
2
4
  Object.defineProperty(exports, "__esModule", {
3
- value: true
5
+ value: true
4
6
  });
5
- Object.defineProperty(exports, "default", {
6
- enumerable: true,
7
- get: function() {
8
- return _default;
9
- }
10
- });
11
- const _jsonwebtoken = /*#__PURE__*/ _interop_require_default(require("jsonwebtoken"));
12
- function _interop_require_default(obj) {
13
- return obj && obj.__esModule ? obj : {
14
- default: obj
15
- };
16
- }
17
- const _default = {
18
- jwt: _jsonwebtoken.default
19
- };
7
+ exports.default = void 0;
8
+ var _jsonwebtoken = _interopRequireDefault(require("jsonwebtoken"));
9
+ var _default = exports.default = {
10
+ jwt: _jsonwebtoken.default
11
+ };