intelicoreact 2.0.18 → 2.0.19

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 (730) hide show
  1. package/dist/es/Atomic/FormElements/ActionAlert/ActionAlert.js +44 -0
  2. package/dist/es/Atomic/FormElements/ActionAlert/ActionAlert.js.map +1 -0
  3. package/dist/es/Atomic/FormElements/ActionAlert/ActionAlert.styles.css +39 -0
  4. package/dist/es/Atomic/FormElements/ActionAlert/index.js +7 -0
  5. package/dist/es/Atomic/FormElements/ActionAlert/index.js.map +1 -0
  6. package/dist/es/Atomic/FormElements/AdvancedStatus/AdvancedStatus.js +35 -0
  7. package/dist/es/Atomic/FormElements/AdvancedStatus/AdvancedStatus.js.map +1 -0
  8. package/dist/es/Atomic/FormElements/AdvancedStatus/AdvancedStatus.styles.css +84 -0
  9. package/dist/es/Atomic/FormElements/AdvancedStatus/index.js +7 -0
  10. package/dist/es/Atomic/FormElements/AdvancedStatus/index.js.map +1 -0
  11. package/dist/es/Atomic/FormElements/Calendar/Calendar.js +154 -0
  12. package/dist/es/Atomic/FormElements/Calendar/Calendar.js.map +1 -0
  13. package/dist/es/Atomic/FormElements/Calendar/Calendar.styles.css +142 -0
  14. package/dist/es/Atomic/FormElements/CheckboxInput/CheckboxInput.js +45 -0
  15. package/dist/es/Atomic/FormElements/CheckboxInput/CheckboxInput.js.map +1 -0
  16. package/dist/es/Atomic/FormElements/CheckboxInput/CheckboxInput.styles.css +105 -0
  17. package/dist/es/Atomic/FormElements/CheckboxInput/index.js +7 -0
  18. package/dist/es/Atomic/FormElements/CheckboxInput/index.js.map +1 -0
  19. package/dist/es/Atomic/FormElements/CheckboxesLine/CheckboxesLine.js +32 -0
  20. package/dist/es/Atomic/FormElements/CheckboxesLine/CheckboxesLine.js.map +1 -0
  21. package/dist/es/Atomic/FormElements/CheckboxesLine/CheckboxesLine.styles.css +26 -0
  22. package/dist/es/Atomic/FormElements/CheckboxesLine/index.js +7 -0
  23. package/dist/es/Atomic/FormElements/CheckboxesLine/index.js.map +1 -0
  24. package/dist/es/Atomic/FormElements/Datepicker/Datepicker.js +307 -0
  25. package/dist/es/Atomic/FormElements/Datepicker/Datepicker.js.map +1 -0
  26. package/dist/es/Atomic/FormElements/Datepicker/components/DatepickerCalendar.js +95 -0
  27. package/dist/es/Atomic/FormElements/Datepicker/components/DatepickerCalendar.js.map +1 -0
  28. package/dist/es/Atomic/FormElements/Dropdown/Dropdown.js +472 -0
  29. package/dist/es/Atomic/FormElements/Dropdown/Dropdown.js.map +1 -0
  30. package/dist/es/Atomic/FormElements/Dropdown/Dropdown.styles.css +529 -0
  31. package/dist/es/Atomic/FormElements/Dropdown/_utils.js +68 -0
  32. package/dist/es/Atomic/FormElements/Dropdown/_utils.js.map +1 -0
  33. package/dist/es/Atomic/FormElements/Dropdown/components/DropdownLoader.js +23 -0
  34. package/dist/es/Atomic/FormElements/Dropdown/components/DropdownLoader.js.map +1 -0
  35. package/dist/es/Atomic/FormElements/Dropdown/components/DropdownLoader.styles.css +61 -0
  36. package/dist/es/Atomic/FormElements/Dropdown/index.js +7 -0
  37. package/dist/es/Atomic/FormElements/Dropdown/index.js.map +1 -0
  38. package/dist/es/Atomic/FormElements/Dropdown/useDropdown.js +118 -0
  39. package/dist/es/Atomic/FormElements/Dropdown/useDropdown.js.map +1 -0
  40. package/dist/es/Atomic/FormElements/DropdownLiveSearch/DropdownLiveSearch.js +373 -0
  41. package/dist/es/Atomic/FormElements/DropdownLiveSearch/DropdownLiveSearch.js.map +1 -0
  42. package/dist/es/Atomic/FormElements/DropdownLiveSearch/DropdownLiveSearch.styles.css +411 -0
  43. package/dist/es/Atomic/FormElements/FileLoader/FileLoader.js +55 -0
  44. package/dist/es/Atomic/FormElements/FileLoader/FileLoader.js.map +1 -0
  45. package/dist/es/Atomic/FormElements/FileLoader/FileLoader.styles.css +127 -0
  46. package/dist/es/Atomic/FormElements/FileLoader/partial/LoadZone.js +86 -0
  47. package/dist/es/Atomic/FormElements/FileLoader/partial/LoadZone.js.map +1 -0
  48. package/dist/es/Atomic/FormElements/FileLoader/partial/LoadedContent.js +52 -0
  49. package/dist/es/Atomic/FormElements/FileLoader/partial/LoadedContent.js.map +1 -0
  50. package/dist/es/Atomic/FormElements/FileLoaderDescription/FileLoaderDescription.js +174 -0
  51. package/dist/es/Atomic/FormElements/FileLoaderDescription/FileLoaderDescription.js.map +1 -0
  52. package/dist/es/Atomic/FormElements/FileLoaderDescription/FileLoaderDescription.styles.css +88 -0
  53. package/dist/es/Atomic/FormElements/FileLoaderLocal/FileLoaderLocal.js +137 -0
  54. package/dist/es/Atomic/FormElements/FileLoaderLocal/FileLoaderLocal.js.map +1 -0
  55. package/dist/es/Atomic/FormElements/FileLoaderLocal/FileLoaderLocal.styles.css +101 -0
  56. package/dist/es/Atomic/FormElements/FileLoaderLocalGroup/FileLoaderLocalGroup.js +150 -0
  57. package/dist/es/Atomic/FormElements/FileLoaderLocalGroup/FileLoaderLocalGroup.js.map +1 -0
  58. package/dist/es/Atomic/FormElements/FileLoaderLocalGroup/FileLoaderLocalGroup.styles.css +14 -0
  59. package/dist/es/Atomic/FormElements/FormattedRawSSN/FormattedRawSSN.js +75 -0
  60. package/dist/es/Atomic/FormElements/FormattedRawSSN/FormattedRawSSN.js.map +1 -0
  61. package/dist/es/Atomic/FormElements/FormattedRawSSN/FormattedRawSSN.styles.css +54 -0
  62. package/dist/es/Atomic/FormElements/FormattedRawSSN/index.js +7 -0
  63. package/dist/es/Atomic/FormElements/FormattedRawSSN/index.js.map +1 -0
  64. package/dist/es/Atomic/FormElements/Input/Input.js +119 -0
  65. package/dist/es/Atomic/FormElements/Input/Input.js.map +1 -0
  66. package/dist/es/Atomic/FormElements/Input/Input.styles.css +125 -0
  67. package/dist/es/Atomic/FormElements/Input/hooks/useErrorBlink.js +57 -0
  68. package/dist/es/Atomic/FormElements/Input/hooks/useErrorBlink.js.map +1 -0
  69. package/dist/es/Atomic/FormElements/Input/hooks/useInputFocus.js +34 -0
  70. package/dist/es/Atomic/FormElements/Input/hooks/useInputFocus.js.map +1 -0
  71. package/dist/es/Atomic/FormElements/Input/hooks/useInputHover.js +16 -0
  72. package/dist/es/Atomic/FormElements/Input/hooks/useInputHover.js.map +1 -0
  73. package/dist/es/Atomic/FormElements/Input/hooks/useInputValueProcessing.js +126 -0
  74. package/dist/es/Atomic/FormElements/Input/hooks/useInputValueProcessing.js.map +1 -0
  75. package/dist/es/Atomic/FormElements/Input/hooks/useKeyboardHandling.js +32 -0
  76. package/dist/es/Atomic/FormElements/Input/hooks/useKeyboardHandling.js.map +1 -0
  77. package/dist/es/Atomic/FormElements/Input/index.js +7 -0
  78. package/dist/es/Atomic/FormElements/Input/index.js.map +1 -0
  79. package/dist/es/Atomic/FormElements/InputCalendar/InputCalendar.js +89 -0
  80. package/dist/es/Atomic/FormElements/InputCalendar/InputCalendar.js.map +1 -0
  81. package/dist/es/Atomic/FormElements/InputCalendar/InputCalendar.styles.css +20 -0
  82. package/dist/es/Atomic/FormElements/InputColor/InputColor.js +52 -0
  83. package/dist/es/Atomic/FormElements/InputColor/InputColor.js.map +1 -0
  84. package/dist/es/Atomic/FormElements/InputColor/InputColor.styles.css +17 -0
  85. package/dist/es/Atomic/FormElements/InputColor/index.js +7 -0
  86. package/dist/es/Atomic/FormElements/InputColor/index.js.map +1 -0
  87. package/dist/es/Atomic/FormElements/InputCurrency/InputCurrency.js +133 -0
  88. package/dist/es/Atomic/FormElements/InputCurrency/InputCurrency.js.map +1 -0
  89. package/dist/es/Atomic/FormElements/InputCurrency/InputCurrency.styles.css +13 -0
  90. package/dist/es/Atomic/FormElements/InputDateRange/InputDateRange.js +215 -0
  91. package/dist/es/Atomic/FormElements/InputDateRange/InputDateRange.js.map +1 -0
  92. package/dist/es/Atomic/FormElements/InputDateRange/InputDateRange.styles.css +594 -0
  93. package/dist/es/Atomic/FormElements/InputDateRange/components/DateInput.js +45 -0
  94. package/dist/es/Atomic/FormElements/InputDateRange/components/DateInput.js.map +1 -0
  95. package/dist/es/Atomic/FormElements/InputDateRange/components/Datepicker.js +422 -0
  96. package/dist/es/Atomic/FormElements/InputDateRange/components/Datepicker.js.map +1 -0
  97. package/dist/es/Atomic/FormElements/InputDateRange/components/OpenedPart.js +171 -0
  98. package/dist/es/Atomic/FormElements/InputDateRange/components/OpenedPart.js.map +1 -0
  99. package/dist/es/Atomic/FormElements/InputDateRange/components/SelectItem.js +22 -0
  100. package/dist/es/Atomic/FormElements/InputDateRange/components/SelectItem.js.map +1 -0
  101. package/dist/es/Atomic/FormElements/InputDateRange/dependencies.js +166 -0
  102. package/dist/es/Atomic/FormElements/InputDateRange/dependencies.js.map +1 -0
  103. package/dist/es/Atomic/FormElements/InputLink/InputLink.js +64 -0
  104. package/dist/es/Atomic/FormElements/InputLink/InputLink.js.map +1 -0
  105. package/dist/es/Atomic/FormElements/InputLink/InputLink.styles.css +46 -0
  106. package/dist/es/Atomic/FormElements/InputLink/index.js +7 -0
  107. package/dist/es/Atomic/FormElements/InputLink/index.js.map +1 -0
  108. package/dist/es/Atomic/FormElements/InputMask/InputMask.js +7 -0
  109. package/dist/es/Atomic/FormElements/InputMask/InputMask.js.map +1 -0
  110. package/dist/es/Atomic/FormElements/InputMask3/InputMask3.js +486 -0
  111. package/dist/es/Atomic/FormElements/InputMask3/InputMask3.js.map +1 -0
  112. package/dist/es/Atomic/FormElements/InputMask3/InputMask3.styles.css +133 -0
  113. package/dist/es/Atomic/FormElements/InputMask3/config.js +18 -0
  114. package/dist/es/Atomic/FormElements/InputMask3/config.js.map +1 -0
  115. package/dist/es/Atomic/FormElements/InputMask3/functions.js +43 -0
  116. package/dist/es/Atomic/FormElements/InputMask3/functions.js.map +1 -0
  117. package/dist/es/Atomic/FormElements/InputWithAction/InputWithAction.js +74 -0
  118. package/dist/es/Atomic/FormElements/InputWithAction/InputWithAction.js.map +1 -0
  119. package/dist/es/Atomic/FormElements/InputWithAction/InputWithAction.styles.css +88 -0
  120. package/dist/es/Atomic/FormElements/InputWithAction/index.js +7 -0
  121. package/dist/es/Atomic/FormElements/InputWithAction/index.js.map +1 -0
  122. package/dist/es/Atomic/FormElements/InputsRow/InputsRow.js +118 -0
  123. package/dist/es/Atomic/FormElements/InputsRow/InputsRow.js.map +1 -0
  124. package/dist/es/Atomic/FormElements/InputsRow/InputsRow.styles.css +32 -0
  125. package/dist/es/Atomic/FormElements/InputsRow/index.js +7 -0
  126. package/dist/es/Atomic/FormElements/InputsRow/index.js.map +1 -0
  127. package/dist/es/Atomic/FormElements/Label/Label.js +73 -0
  128. package/dist/es/Atomic/FormElements/Label/Label.js.map +1 -0
  129. package/dist/es/Atomic/FormElements/Label/Label.styles.css +30 -0
  130. package/dist/es/Atomic/FormElements/Label/index.js +7 -0
  131. package/dist/es/Atomic/FormElements/Label/index.js.map +1 -0
  132. package/dist/es/Atomic/FormElements/MobileCalendar/MobileCalendar.js +339 -0
  133. package/dist/es/Atomic/FormElements/MobileCalendar/MobileCalendar.js.map +1 -0
  134. package/dist/es/Atomic/FormElements/MobileCalendar/MobileCalendar.styles.css +74 -0
  135. package/dist/es/Atomic/FormElements/MultiSelect/MultiSelect.js +40 -0
  136. package/dist/es/Atomic/FormElements/MultiSelect/MultiSelect.js.map +1 -0
  137. package/dist/es/Atomic/FormElements/MultiSelect/MultiSelect.styles.css +14 -0
  138. package/dist/es/Atomic/FormElements/NumericInput/NumericInput.js +204 -0
  139. package/dist/es/Atomic/FormElements/NumericInput/NumericInput.js.map +1 -0
  140. package/dist/es/Atomic/FormElements/NumericInput/NumericInput.styles.css +129 -0
  141. package/dist/es/Atomic/FormElements/RadioGroup/RadioGroup.js +44 -0
  142. package/dist/es/Atomic/FormElements/RadioGroup/RadioGroup.js.map +1 -0
  143. package/dist/es/Atomic/FormElements/RadioGroup/RadioGroup.styles.css +20 -0
  144. package/dist/es/Atomic/FormElements/RadioGroupWithInput/RadioGroupWithInput.js +57 -0
  145. package/dist/es/Atomic/FormElements/RadioGroupWithInput/RadioGroupWithInput.js.map +1 -0
  146. package/dist/es/Atomic/FormElements/RadioGroupWithInput/RadioGroupWithInput.styles.css +23 -0
  147. package/dist/es/Atomic/FormElements/RadioInput/RadioInput.js +35 -0
  148. package/dist/es/Atomic/FormElements/RadioInput/RadioInput.js.map +1 -0
  149. package/dist/es/Atomic/FormElements/RadioInput/RadioInput.styles.css +70 -0
  150. package/dist/es/Atomic/FormElements/RadioInput/index.js +7 -0
  151. package/dist/es/Atomic/FormElements/RadioInput/index.js.map +1 -0
  152. package/dist/es/Atomic/FormElements/RadioRowSwitcher/RadioRowSwitcher.js +42 -0
  153. package/dist/es/Atomic/FormElements/RadioRowSwitcher/RadioRowSwitcher.js.map +1 -0
  154. package/dist/es/Atomic/FormElements/RadioRowSwitcher/RadioRowSwitcher.styles.css +123 -0
  155. package/dist/es/Atomic/FormElements/RangeCalendar/RangeCalendar.js +98 -0
  156. package/dist/es/Atomic/FormElements/RangeCalendar/RangeCalendar.js.map +1 -0
  157. package/dist/es/Atomic/FormElements/RangeCalendar/RangeCalendar.styles.css +103 -0
  158. package/dist/es/Atomic/FormElements/RangeInputs/RangeInputs.js +128 -0
  159. package/dist/es/Atomic/FormElements/RangeInputs/RangeInputs.js.map +1 -0
  160. package/dist/es/Atomic/FormElements/RangeInputs/RangeInputs.styles.css +50 -0
  161. package/dist/es/Atomic/FormElements/RangeInputs/index.js +7 -0
  162. package/dist/es/Atomic/FormElements/RangeInputs/index.js.map +1 -0
  163. package/dist/es/Atomic/FormElements/RangeList/RangeList.js +147 -0
  164. package/dist/es/Atomic/FormElements/RangeList/RangeList.js.map +1 -0
  165. package/dist/es/Atomic/FormElements/RangeList/RangeList.styles.css +143 -0
  166. package/dist/es/Atomic/FormElements/RangeList/index.js +7 -0
  167. package/dist/es/Atomic/FormElements/RangeList/index.js.map +1 -0
  168. package/dist/es/Atomic/FormElements/RangeList/partial/RangeListRow.js +40 -0
  169. package/dist/es/Atomic/FormElements/RangeList/partial/RangeListRow.js.map +1 -0
  170. package/dist/es/Atomic/FormElements/RangeSlider/RangeSlider.js +342 -0
  171. package/dist/es/Atomic/FormElements/RangeSlider/RangeSlider.js.map +1 -0
  172. package/dist/es/Atomic/FormElements/RangeSlider/RangeSlider.styles.css +134 -0
  173. package/dist/es/Atomic/FormElements/RangeSlider2/RangeSlider2.interface.js +23 -0
  174. package/dist/es/Atomic/FormElements/RangeSlider2/RangeSlider2.interface.js.map +1 -0
  175. package/dist/es/Atomic/FormElements/RangeSlider2/RangeSlider2.js +590 -0
  176. package/dist/es/Atomic/FormElements/RangeSlider2/RangeSlider2.js.map +1 -0
  177. package/dist/es/Atomic/FormElements/RangeSlider2/RangeSlider2.styles.css +360 -0
  178. package/dist/es/Atomic/FormElements/SwitchableRow/SwitchableRow.js +29 -0
  179. package/dist/es/Atomic/FormElements/SwitchableRow/SwitchableRow.js.map +1 -0
  180. package/dist/es/Atomic/FormElements/SwitchableRow/SwitchableRow.styles.css +14 -0
  181. package/dist/es/Atomic/FormElements/Switcher/Switcher.js +36 -0
  182. package/dist/es/Atomic/FormElements/Switcher/Switcher.js.map +1 -0
  183. package/dist/es/Atomic/FormElements/Switcher/Switcher.styles.css +83 -0
  184. package/dist/es/Atomic/FormElements/Switcher/index.js +7 -0
  185. package/dist/es/Atomic/FormElements/Switcher/index.js.map +1 -0
  186. package/dist/es/Atomic/FormElements/SwitcherCheckbox/SwitcherCheckbox.js +36 -0
  187. package/dist/es/Atomic/FormElements/SwitcherCheckbox/SwitcherCheckbox.js.map +1 -0
  188. package/dist/es/Atomic/FormElements/SwitcherCheckbox/SwitcherCheckbox.styles.css +21 -0
  189. package/dist/es/Atomic/FormElements/SwitcherHide/SwitcherHide.js +31 -0
  190. package/dist/es/Atomic/FormElements/SwitcherHide/SwitcherHide.js.map +1 -0
  191. package/dist/es/Atomic/FormElements/SwitcherHide/index.js +7 -0
  192. package/dist/es/Atomic/FormElements/SwitcherHide/index.js.map +1 -0
  193. package/dist/es/Atomic/FormElements/SwitcherRadio/SwitcherRadio.js +43 -0
  194. package/dist/es/Atomic/FormElements/SwitcherRadio/SwitcherRadio.js.map +1 -0
  195. package/dist/es/Atomic/FormElements/SwitcherRadio/SwitcherRadio.styles.css +22 -0
  196. package/dist/es/Atomic/FormElements/SwitcherRadio/index.js +7 -0
  197. package/dist/es/Atomic/FormElements/SwitcherRadio/index.js.map +1 -0
  198. package/dist/es/Atomic/FormElements/SwitcherRange/SwitcherRange.js +33 -0
  199. package/dist/es/Atomic/FormElements/SwitcherRange/SwitcherRange.js.map +1 -0
  200. package/dist/es/Atomic/FormElements/SwitcherRange/index.js +7 -0
  201. package/dist/es/Atomic/FormElements/SwitcherRange/index.js.map +1 -0
  202. package/dist/es/Atomic/FormElements/SwitcherRangeList/SwitcherRangeList.js +56 -0
  203. package/dist/es/Atomic/FormElements/SwitcherRangeList/SwitcherRangeList.js.map +1 -0
  204. package/dist/es/Atomic/FormElements/SwitcherRangeList/SwitcherRangeList.styles.css +0 -0
  205. package/dist/es/Atomic/FormElements/SwitcherTagsDropdown/SwitcherTagsDropdown.js +99 -0
  206. package/dist/es/Atomic/FormElements/SwitcherTagsDropdown/SwitcherTagsDropdown.js.map +1 -0
  207. package/dist/es/Atomic/FormElements/SwitcherTagsDropdown/SwitcherTagsDropdown.styles.css +55 -0
  208. package/dist/es/Atomic/FormElements/SwitcherTextarea/SwitcherTextarea.js +49 -0
  209. package/dist/es/Atomic/FormElements/SwitcherTextarea/SwitcherTextarea.js.map +1 -0
  210. package/dist/es/Atomic/FormElements/SwitcherTextarea/SwitcherTextarea.styles.css +38 -0
  211. package/dist/es/Atomic/FormElements/TagListToDropdown/TagListToDropdown.js +82 -0
  212. package/dist/es/Atomic/FormElements/TagListToDropdown/TagListToDropdown.js.map +1 -0
  213. package/dist/es/Atomic/FormElements/TagsDropdown/TagsDropdown.js +800 -0
  214. package/dist/es/Atomic/FormElements/TagsDropdown/TagsDropdown.js.map +1 -0
  215. package/dist/es/Atomic/FormElements/TagsDropdown/TagsDropdown.styles.css +707 -0
  216. package/dist/es/Atomic/FormElements/Text/Text.js +67 -0
  217. package/dist/es/Atomic/FormElements/Text/Text.js.map +1 -0
  218. package/dist/es/Atomic/FormElements/Text/Text.styles.css +12 -0
  219. package/dist/es/Atomic/FormElements/Text/index.js +7 -0
  220. package/dist/es/Atomic/FormElements/Text/index.js.map +1 -0
  221. package/dist/es/Atomic/FormElements/TextSwitcher/TextSwitcher.js +35 -0
  222. package/dist/es/Atomic/FormElements/TextSwitcher/TextSwitcher.js.map +1 -0
  223. package/dist/es/Atomic/FormElements/TextSwitcher/TextSwitcher.styles.css +84 -0
  224. package/dist/es/Atomic/FormElements/Textarea/Textarea.js +73 -0
  225. package/dist/es/Atomic/FormElements/Textarea/Textarea.js.map +1 -0
  226. package/dist/es/Atomic/FormElements/Textarea/Textarea.styles.css +102 -0
  227. package/dist/es/Atomic/FormElements/TieredCheckboxes/TieredCheckboxes.js +124 -0
  228. package/dist/es/Atomic/FormElements/TieredCheckboxes/TieredCheckboxes.js.map +1 -0
  229. package/dist/es/Atomic/FormElements/TieredCheckboxes/TieredCheckboxes.styles.css +46 -0
  230. package/dist/es/Atomic/FormElements/TieredCheckboxes/index.js +7 -0
  231. package/dist/es/Atomic/FormElements/TieredCheckboxes/index.js.map +1 -0
  232. package/dist/es/Atomic/FormElements/TieredCheckboxes/partial/AccordionWithCheckbox.js +36 -0
  233. package/dist/es/Atomic/FormElements/TieredCheckboxes/partial/AccordionWithCheckbox.js.map +1 -0
  234. package/dist/es/Atomic/FormElements/TimeRange/TimeRange.js +55 -0
  235. package/dist/es/Atomic/FormElements/TimeRange/TimeRange.js.map +1 -0
  236. package/dist/es/Atomic/FormElements/TimeRange/TimeRange.styles.css +18 -0
  237. package/dist/es/Atomic/FormElements/TimeRange/index.js +7 -0
  238. package/dist/es/Atomic/FormElements/TimeRange/index.js.map +1 -0
  239. package/dist/es/Atomic/FormElements/UserContacts/UserContacts.js +115 -0
  240. package/dist/es/Atomic/FormElements/UserContacts/UserContacts.js.map +1 -0
  241. package/dist/es/Atomic/FormElements/UserContacts/UserContacts.styles.css +15 -0
  242. package/dist/es/Atomic/FormElements/UserContacts/index.js +7 -0
  243. package/dist/es/Atomic/FormElements/UserContacts/index.js.map +1 -0
  244. package/dist/es/Atomic/FormElements/VariantsListRadio/VariantsListRadio.js +52 -0
  245. package/dist/es/Atomic/FormElements/VariantsListRadio/VariantsListRadio.js.map +1 -0
  246. package/dist/es/Atomic/FormElements/VariantsListRadio/VariantsListRadio.styles.css +213 -0
  247. package/dist/es/Atomic/FormElements/VariantsListRadio/partials/VariantsListRadioItem.js +61 -0
  248. package/dist/es/Atomic/FormElements/VariantsListRadio/partials/VariantsListRadioItem.js.map +1 -0
  249. package/dist/es/Atomic/FormElements/WidgetPseudoTable/WidgetPseudoTable.js +62 -0
  250. package/dist/es/Atomic/FormElements/WidgetPseudoTable/WidgetPseudoTable.js.map +1 -0
  251. package/dist/es/Atomic/FormElements/WidgetPseudoTable/WidgetPseudoTable.styles.css +70 -0
  252. package/dist/es/Atomic/FormElements/WidgetWithSwitchableRows/WidgetWithSwitchableRows.js +82 -0
  253. package/dist/es/Atomic/FormElements/WidgetWithSwitchableRows/WidgetWithSwitchableRows.js.map +1 -0
  254. package/dist/es/Atomic/FormElements/WidgetWithSwitchableRows/WidgetWithSwitchableRows.styles.css +70 -0
  255. package/dist/es/Atomic/Layout/Header/Header.js +87 -0
  256. package/dist/es/Atomic/Layout/Header/Header.js.map +1 -0
  257. package/dist/es/Atomic/Layout/Header/Header.styles.css +82 -0
  258. package/dist/es/Atomic/Layout/MainMenu/MainMenu.js +134 -0
  259. package/dist/es/Atomic/Layout/MainMenu/MainMenu.js.map +1 -0
  260. package/dist/es/Atomic/Layout/MainMenu/MainMenu.styles.css +205 -0
  261. package/dist/es/Atomic/Layout/Spinner/Spinner.js +32 -0
  262. package/dist/es/Atomic/Layout/Spinner/Spinner.js.map +1 -0
  263. package/dist/es/Atomic/Layout/Spinner/Spinner.styles.css +82 -0
  264. package/dist/es/Atomic/Layout/Spinner/index.js +7 -0
  265. package/dist/es/Atomic/Layout/Spinner/index.js.map +1 -0
  266. package/dist/es/Atomic/UI/Accordion/Accordion.js +48 -0
  267. package/dist/es/Atomic/UI/Accordion/Accordion.js.map +1 -0
  268. package/dist/es/Atomic/UI/Accordion/Accordion.styles.css +133 -0
  269. package/dist/es/Atomic/UI/Accordion/AccordionItem.js +110 -0
  270. package/dist/es/Atomic/UI/Accordion/AccordionItem.js.map +1 -0
  271. package/dist/es/Atomic/UI/Accordion/index.js +7 -0
  272. package/dist/es/Atomic/UI/Accordion/index.js.map +1 -0
  273. package/dist/es/Atomic/UI/AccordionTable/AccordionTable.js +167 -0
  274. package/dist/es/Atomic/UI/AccordionTable/AccordionTable.js.map +1 -0
  275. package/dist/es/Atomic/UI/AccordionTable/AccordionTable.styles.css +228 -0
  276. package/dist/es/Atomic/UI/AccordionText/AccordionText.js +47 -0
  277. package/dist/es/Atomic/UI/AccordionText/AccordionText.js.map +1 -0
  278. package/dist/es/Atomic/UI/AccordionText/AccordionText.styles.css +48 -0
  279. package/dist/es/Atomic/UI/AdvancedTag/AdvTag.js +148 -0
  280. package/dist/es/Atomic/UI/AdvancedTag/AdvTag.js.map +1 -0
  281. package/dist/es/Atomic/UI/AdvancedTag/AdvancedTags.js +40 -0
  282. package/dist/es/Atomic/UI/AdvancedTag/AdvancedTags.js.map +1 -0
  283. package/dist/es/Atomic/UI/AdvancedTag/AdvancedTags.styles.css +106 -0
  284. package/dist/es/Atomic/UI/AdvancedTag/index.js +8 -0
  285. package/dist/es/Atomic/UI/AdvancedTag/index.js.map +1 -0
  286. package/dist/es/Atomic/UI/Alert/Alert.js +54 -0
  287. package/dist/es/Atomic/UI/Alert/Alert.js.map +1 -0
  288. package/dist/es/Atomic/UI/Alert/Alert.styles.css +65 -0
  289. package/dist/es/Atomic/UI/Alert/index.js +7 -0
  290. package/dist/es/Atomic/UI/Alert/index.js.map +1 -0
  291. package/dist/es/Atomic/UI/Arrow/Arrow.js +107 -0
  292. package/dist/es/Atomic/UI/Arrow/Arrow.js.map +1 -0
  293. package/dist/es/Atomic/UI/Arrow/Arrow.styles.css +14 -0
  294. package/dist/es/Atomic/UI/Box/Box.js +33 -0
  295. package/dist/es/Atomic/UI/Box/Box.js.map +1 -0
  296. package/dist/es/Atomic/UI/Box/Box.styles.css +62 -0
  297. package/dist/es/Atomic/UI/Button/Button.js +35 -0
  298. package/dist/es/Atomic/UI/Button/Button.js.map +1 -0
  299. package/dist/es/Atomic/UI/Button/Button.styles.css +124 -0
  300. package/dist/es/Atomic/UI/ButtonsBar/ButtonsBar.js +49 -0
  301. package/dist/es/Atomic/UI/ButtonsBar/ButtonsBar.js.map +1 -0
  302. package/dist/es/Atomic/UI/ButtonsBar/ButtonsBar.styles.css +7 -0
  303. package/dist/es/Atomic/UI/ButtonsBar/index.js +7 -0
  304. package/dist/es/Atomic/UI/ButtonsBar/index.js.map +1 -0
  305. package/dist/es/Atomic/UI/Chart/Chart.js +96 -0
  306. package/dist/es/Atomic/UI/Chart/Chart.js.map +1 -0
  307. package/dist/es/Atomic/UI/Chart/Chart.styles.css +45 -0
  308. package/dist/es/Atomic/UI/Chart/index.js +7 -0
  309. package/dist/es/Atomic/UI/Chart/index.js.map +1 -0
  310. package/dist/es/Atomic/UI/Chart/partial/Chart.constants.js +89 -0
  311. package/dist/es/Atomic/UI/Chart/partial/Chart.constants.js.map +1 -0
  312. package/dist/es/Atomic/UI/Chart/partial/ChartTypeSwitcherIcon/ChartTypeSwitcherIcon.js +80 -0
  313. package/dist/es/Atomic/UI/Chart/partial/ChartTypeSwitcherIcon/ChartTypeSwitcherIcon.js.map +1 -0
  314. package/dist/es/Atomic/UI/Chart/partial/ChartTypeSwitcherIcon/ChartTypeSwitcherIcon.styles.css +16 -0
  315. package/dist/es/Atomic/UI/Chart/partial/datasetSetters.js +78 -0
  316. package/dist/es/Atomic/UI/Chart/partial/datasetSetters.js.map +1 -0
  317. package/dist/es/Atomic/UI/Chart/partial/optionsConstructor.js +259 -0
  318. package/dist/es/Atomic/UI/Chart/partial/optionsConstructor.js.map +1 -0
  319. package/dist/es/Atomic/UI/Chart/partial/optionsSetters.js +35 -0
  320. package/dist/es/Atomic/UI/Chart/partial/optionsSetters.js.map +1 -0
  321. package/dist/es/Atomic/UI/Chart/partial/utils.js +37 -0
  322. package/dist/es/Atomic/UI/Chart/partial/utils.js.map +1 -0
  323. package/dist/es/Atomic/UI/CircleProgressBar/CircleProgressBar.js +85 -0
  324. package/dist/es/Atomic/UI/CircleProgressBar/CircleProgressBar.js.map +1 -0
  325. package/dist/es/Atomic/UI/CircleProgressBar/CircleProgressBar.styles.css +31 -0
  326. package/dist/es/Atomic/UI/DateTime/DateTime.js +45 -0
  327. package/dist/es/Atomic/UI/DateTime/DateTime.js.map +1 -0
  328. package/dist/es/Atomic/UI/DateTime/DateTime.styles.css +33 -0
  329. package/dist/es/Atomic/UI/DebugContainer/DebugContainer.js +45 -0
  330. package/dist/es/Atomic/UI/DebugContainer/DebugContainer.js.map +1 -0
  331. package/dist/es/Atomic/UI/DebugContainer/DebugContainer.styles.css +32 -0
  332. package/dist/es/Atomic/UI/DebugContainer/useDebugContainer.js +16 -0
  333. package/dist/es/Atomic/UI/DebugContainer/useDebugContainer.js.map +1 -0
  334. package/dist/es/Atomic/UI/DoubleString/DoubleString.js +77 -0
  335. package/dist/es/Atomic/UI/DoubleString/DoubleString.js.map +1 -0
  336. package/dist/es/Atomic/UI/DoubleString/DoubleString.styles.css +42 -0
  337. package/dist/es/Atomic/UI/DoubleString/index.js +7 -0
  338. package/dist/es/Atomic/UI/DoubleString/index.js.map +1 -0
  339. package/dist/es/Atomic/UI/Hint/Hint.js +218 -0
  340. package/dist/es/Atomic/UI/Hint/Hint.js.map +1 -0
  341. package/dist/es/Atomic/UI/Hint/Hint.styles.css +107 -0
  342. package/dist/es/Atomic/UI/Hint/index.js +7 -0
  343. package/dist/es/Atomic/UI/Hint/index.js.map +1 -0
  344. package/dist/es/Atomic/UI/Hint/partials/_constants.js +11 -0
  345. package/dist/es/Atomic/UI/Hint/partials/_constants.js.map +1 -0
  346. package/dist/es/Atomic/UI/Hint/partials/_utils.js +35 -0
  347. package/dist/es/Atomic/UI/Hint/partials/_utils.js.map +1 -0
  348. package/dist/es/Atomic/UI/Modal/Modal.js +178 -0
  349. package/dist/es/Atomic/UI/Modal/Modal.js.map +1 -0
  350. package/dist/es/Atomic/UI/Modal/Modal.styles.css +337 -0
  351. package/dist/es/Atomic/UI/Modal/ModalHOC.js +64 -0
  352. package/dist/es/Atomic/UI/Modal/ModalHOC.js.map +1 -0
  353. package/dist/es/Atomic/UI/Modal/ModalMobile.styles.css +60 -0
  354. package/dist/es/Atomic/UI/Modal/index.js +13 -0
  355. package/dist/es/Atomic/UI/Modal/index.js.map +1 -0
  356. package/dist/es/Atomic/UI/Modal/partials/ModalFooter.js +19 -0
  357. package/dist/es/Atomic/UI/Modal/partials/ModalFooter.js.map +1 -0
  358. package/dist/es/Atomic/UI/Modal/partials/ModalTitle.js +43 -0
  359. package/dist/es/Atomic/UI/Modal/partials/ModalTitle.js.map +1 -0
  360. package/dist/es/Atomic/UI/Modal/partials/_constants.js +26 -0
  361. package/dist/es/Atomic/UI/Modal/partials/_constants.js.map +1 -0
  362. package/dist/es/Atomic/UI/Modal/partials/_utils.js +45 -0
  363. package/dist/es/Atomic/UI/Modal/partials/_utils.js.map +1 -0
  364. package/dist/es/Atomic/UI/Modal/partials/useMobileModal.js +141 -0
  365. package/dist/es/Atomic/UI/Modal/partials/useMobileModal.js.map +1 -0
  366. package/dist/es/Atomic/UI/MonoAccordion/MonoAccordion.js +59 -0
  367. package/dist/es/Atomic/UI/MonoAccordion/MonoAccordion.js.map +1 -0
  368. package/dist/es/Atomic/UI/MonoAccordion/MonoAccordion.styles.css +110 -0
  369. package/dist/es/Atomic/UI/MonoAccordion/index.js +7 -0
  370. package/dist/es/Atomic/UI/MonoAccordion/index.js.map +1 -0
  371. package/dist/es/Atomic/UI/NavLine/NavLine.js +209 -0
  372. package/dist/es/Atomic/UI/NavLine/NavLine.js.map +1 -0
  373. package/dist/es/Atomic/UI/NavLine/NavLine.styles.css +187 -0
  374. package/dist/es/Atomic/UI/NavLine/index.js +7 -0
  375. package/dist/es/Atomic/UI/NavLine/index.js.map +1 -0
  376. package/dist/es/Atomic/UI/PageTitle/PageTitle.js +49 -0
  377. package/dist/es/Atomic/UI/PageTitle/PageTitle.js.map +1 -0
  378. package/dist/es/Atomic/UI/PageTitle/PageTitle.styles.css +89 -0
  379. package/dist/es/Atomic/UI/PageTitle/index.js +7 -0
  380. package/dist/es/Atomic/UI/PageTitle/index.js.map +1 -0
  381. package/dist/es/Atomic/UI/PieChart/PieChart.js +41 -0
  382. package/dist/es/Atomic/UI/PieChart/PieChart.js.map +1 -0
  383. package/dist/es/Atomic/UI/PieChart/PieChart.styles.css +44 -0
  384. package/dist/es/Atomic/UI/Price/Price.js +20 -0
  385. package/dist/es/Atomic/UI/Price/Price.js.map +1 -0
  386. package/dist/es/Atomic/UI/Price/index.js +7 -0
  387. package/dist/es/Atomic/UI/Price/index.js.map +1 -0
  388. package/dist/es/Atomic/UI/PriceRange/PriceRange.js +33 -0
  389. package/dist/es/Atomic/UI/PriceRange/PriceRange.js.map +1 -0
  390. package/dist/es/Atomic/UI/PriceRange/index.js +7 -0
  391. package/dist/es/Atomic/UI/PriceRange/index.js.map +1 -0
  392. package/dist/es/Atomic/UI/ProgressLine/ProgressLine.js +74 -0
  393. package/dist/es/Atomic/UI/ProgressLine/ProgressLine.js.map +1 -0
  394. package/dist/es/Atomic/UI/ProgressLine/ProgressLine.styles.css +243 -0
  395. package/dist/es/Atomic/UI/ProgressLine/index.js +7 -0
  396. package/dist/es/Atomic/UI/ProgressLine/index.js.map +1 -0
  397. package/dist/es/Atomic/UI/Status/Status.js +48 -0
  398. package/dist/es/Atomic/UI/Status/Status.js.map +1 -0
  399. package/dist/es/Atomic/UI/Status/Status.styles.css +98 -0
  400. package/dist/es/Atomic/UI/Status/index.js +7 -0
  401. package/dist/es/Atomic/UI/Status/index.js.map +1 -0
  402. package/dist/es/Atomic/UI/Table/Partials/TdCell.js +67 -0
  403. package/dist/es/Atomic/UI/Table/Partials/TdCell.js.map +1 -0
  404. package/dist/es/Atomic/UI/Table/Partials/TdHeader.js +43 -0
  405. package/dist/es/Atomic/UI/Table/Partials/TdHeader.js.map +1 -0
  406. package/dist/es/Atomic/UI/Table/Partials/TdRow.js +56 -0
  407. package/dist/es/Atomic/UI/Table/Partials/TdRow.js.map +1 -0
  408. package/dist/es/Atomic/UI/Table/Table.js +36 -0
  409. package/dist/es/Atomic/UI/Table/Table.js.map +1 -0
  410. package/dist/es/Atomic/UI/Table/Table.styles.css +63 -0
  411. package/dist/es/Atomic/UI/Table/TdTypes/TdActions.js +56 -0
  412. package/dist/es/Atomic/UI/Table/TdTypes/TdActions.js.map +1 -0
  413. package/dist/es/Atomic/UI/Table/TdTypes/TdPriority.js +29 -0
  414. package/dist/es/Atomic/UI/Table/TdTypes/TdPriority.js.map +1 -0
  415. package/dist/es/Atomic/UI/Table/TdTypes/TdRange.js +14 -0
  416. package/dist/es/Atomic/UI/Table/TdTypes/TdRange.js.map +1 -0
  417. package/dist/es/Atomic/UI/Table/TdTypes/TdTypes.styles.css +29 -0
  418. package/dist/es/Atomic/UI/Table/TdTypes/TdWeight.js +43 -0
  419. package/dist/es/Atomic/UI/Table/TdTypes/TdWeight.js.map +1 -0
  420. package/dist/es/Atomic/UI/Tag/Tag.js +110 -0
  421. package/dist/es/Atomic/UI/Tag/Tag.js.map +1 -0
  422. package/dist/es/Atomic/UI/Tag/Tag.styles.css +148 -0
  423. package/dist/es/Atomic/UI/Tag/index.js +7 -0
  424. package/dist/es/Atomic/UI/Tag/index.js.map +1 -0
  425. package/dist/es/Atomic/UI/TagList/TagList.js +152 -0
  426. package/dist/es/Atomic/UI/TagList/TagList.js.map +1 -0
  427. package/dist/es/Atomic/UI/TagList/TagList.styles.css +59 -0
  428. package/dist/es/Atomic/UI/UserBox/UserBox.js +49 -0
  429. package/dist/es/Atomic/UI/UserBox/UserBox.js.map +1 -0
  430. package/dist/es/Atomic/UI/UserBox/UserBox.styles.css +64 -0
  431. package/dist/es/Atomic/UI/UserBox/index.js +7 -0
  432. package/dist/es/Atomic/UI/UserBox/index.js.map +1 -0
  433. package/dist/es/Atomic/UI/WizardStepper/constructor.js +12 -0
  434. package/dist/es/Atomic/UI/WizardStepper/constructor.js.map +1 -0
  435. package/dist/es/Atomic/UI/WizardStepper/index.js +7 -0
  436. package/dist/es/Atomic/UI/WizardStepper/index.js.map +1 -0
  437. package/dist/es/Atomic/UI/WizardStepper/ui/StateIcon/StateIcon.js +52 -0
  438. package/dist/es/Atomic/UI/WizardStepper/ui/StateIcon/StateIcon.js.map +1 -0
  439. package/dist/es/Atomic/UI/WizardStepper/ui/StateIcon/StateIcon.styles.css +23 -0
  440. package/dist/es/Atomic/UI/WizardStepper/ui/StateIcon/index.js +7 -0
  441. package/dist/es/Atomic/UI/WizardStepper/ui/StateIcon/index.js.map +1 -0
  442. package/dist/es/Atomic/UI/WizardStepper/ui/StepRow/StepRow.js +67 -0
  443. package/dist/es/Atomic/UI/WizardStepper/ui/StepRow/StepRow.js.map +1 -0
  444. package/dist/es/Atomic/UI/WizardStepper/ui/StepRow/StepRow.styles.css +60 -0
  445. package/dist/es/Atomic/UI/WizardStepper/ui/StepWrapper/StepWrapper.js +43 -0
  446. package/dist/es/Atomic/UI/WizardStepper/ui/StepWrapper/StepWrapper.js.map +1 -0
  447. package/dist/es/Atomic/UI/WizardStepper/ui/StepWrapper/StepWrapper.styles.css +64 -0
  448. package/dist/es/Atomic/UI/WizardStepper/ui/StepWrapper/index.js +7 -0
  449. package/dist/es/Atomic/UI/WizardStepper/ui/StepWrapper/index.js.map +1 -0
  450. package/dist/es/Atomic/UI/WizardStepper/ui/icons.js +124 -0
  451. package/dist/es/Atomic/UI/WizardStepper/ui/icons.js.map +1 -0
  452. package/dist/es/Atomic/UI/WizardStepper/ui/index.js +7 -0
  453. package/dist/es/Atomic/UI/WizardStepper/ui/index.js.map +1 -0
  454. package/dist/es/Classes/AbortableFetch.js +271 -0
  455. package/dist/es/Classes/AbortableFetch.js.map +1 -0
  456. package/dist/es/Classes/AnimatedHandler.js +27 -0
  457. package/dist/es/Classes/AnimatedHandler.js.map +1 -0
  458. package/dist/es/Classes/RESTAPI/index.js +112 -0
  459. package/dist/es/Classes/RESTAPI/index.js.map +1 -0
  460. package/dist/es/Classes/RESTAPI/partials/AbortableFetch.js +323 -0
  461. package/dist/es/Classes/RESTAPI/partials/AbortableFetch.js.map +1 -0
  462. package/dist/es/Classes/RESTAPI/partials/ApiBase.js +38 -0
  463. package/dist/es/Classes/RESTAPI/partials/ApiBase.js.map +1 -0
  464. package/dist/es/Classes/RESTAPI/partials/ApiRequestCreators.js +151 -0
  465. package/dist/es/Classes/RESTAPI/partials/ApiRequestCreators.js.map +1 -0
  466. package/dist/es/Classes/RESTAPI/partials/ApiUtils.js +142 -0
  467. package/dist/es/Classes/RESTAPI/partials/ApiUtils.js.map +1 -0
  468. package/dist/es/Classes/RESTAPI/partials/CredentialsProcessing.js +212 -0
  469. package/dist/es/Classes/RESTAPI/partials/CredentialsProcessing.js.map +1 -0
  470. package/dist/es/Classes/RESTAPI/partials/Utils.js +70 -0
  471. package/dist/es/Classes/RESTAPI/partials/Utils.js.map +1 -0
  472. package/dist/es/Classes/RESTAPI/partials/_utils.js +144 -0
  473. package/dist/es/Classes/RESTAPI/partials/_utils.js.map +1 -0
  474. package/dist/es/Classes/RESTAPI/partials/sse.js +127 -0
  475. package/dist/es/Classes/RESTAPI/partials/sse.js.map +1 -0
  476. package/dist/es/Constants/index.constants.js +78 -0
  477. package/dist/es/Constants/index.constants.js.map +1 -0
  478. package/dist/es/Functions/Portal.js +21 -0
  479. package/dist/es/Functions/Portal.js.map +1 -0
  480. package/dist/es/Functions/customEventListener.js +67 -0
  481. package/dist/es/Functions/customEventListener.js.map +1 -0
  482. package/dist/es/Functions/dateTime.js +113 -0
  483. package/dist/es/Functions/dateTime.js.map +1 -0
  484. package/dist/es/Functions/fieldValueFormatters.js +193 -0
  485. package/dist/es/Functions/fieldValueFormatters.js.map +1 -0
  486. package/dist/es/Functions/guards/assertions.js +265 -0
  487. package/dist/es/Functions/guards/assertions.js.map +1 -0
  488. package/dist/es/Functions/guards/safeValue.js +66 -0
  489. package/dist/es/Functions/guards/safeValue.js.map +1 -0
  490. package/dist/es/Functions/guards/typeGuards.js +397 -0
  491. package/dist/es/Functions/guards/typeGuards.js.map +1 -0
  492. package/dist/es/Functions/hooks/useFormFieldsChangesManager.js +84 -0
  493. package/dist/es/Functions/hooks/useFormFieldsChangesManager.js.map +1 -0
  494. package/dist/es/Functions/locale/createTranslator.js +23 -0
  495. package/dist/es/Functions/locale/createTranslator.js.map +1 -0
  496. package/dist/es/Functions/operations.js +88 -0
  497. package/dist/es/Functions/operations.js.map +1 -0
  498. package/dist/es/Functions/presets/inputMaskPresets.js +82 -0
  499. package/dist/es/Functions/presets/inputMaskPresets.js.map +1 -0
  500. package/dist/es/Functions/presets/inputPresets.js +50 -0
  501. package/dist/es/Functions/presets/inputPresets.js.map +1 -0
  502. package/dist/es/Functions/presets/mobileKeyboardTypesPresets.js +11 -0
  503. package/dist/es/Functions/presets/mobileKeyboardTypesPresets.js.map +1 -0
  504. package/dist/es/Functions/sdk/runtime-sdk/client.js +161 -0
  505. package/dist/es/Functions/sdk/runtime-sdk/client.js.map +1 -0
  506. package/dist/es/Functions/sdk/runtime-sdk/config.js +77 -0
  507. package/dist/es/Functions/sdk/runtime-sdk/config.js.map +1 -0
  508. package/dist/es/Functions/sdk/runtime-sdk/queue.js +131 -0
  509. package/dist/es/Functions/sdk/runtime-sdk/queue.js.map +1 -0
  510. package/dist/es/Functions/sdk/runtime-sdk/transport.js +114 -0
  511. package/dist/es/Functions/sdk/runtime-sdk/transport.js.map +1 -0
  512. package/dist/es/Functions/useBodyScrollLock.js +15 -0
  513. package/dist/es/Functions/useBodyScrollLock.js.map +1 -0
  514. package/dist/es/Functions/useClickOutside.js +17 -0
  515. package/dist/es/Functions/useClickOutside.js.map +1 -0
  516. package/dist/es/Functions/useDebounce.js +18 -0
  517. package/dist/es/Functions/useDebounce.js.map +1 -0
  518. package/dist/es/Functions/useFieldFocus.js +62 -0
  519. package/dist/es/Functions/useFieldFocus.js.map +1 -0
  520. package/dist/es/Functions/useFormTools/form-drivers/ArrayWithObjects.js +29 -0
  521. package/dist/es/Functions/useFormTools/form-drivers/ArrayWithObjects.js.map +1 -0
  522. package/dist/es/Functions/useFormTools/form-drivers/ObjectWithIterableObjects.js +95 -0
  523. package/dist/es/Functions/useFormTools/form-drivers/ObjectWithIterableObjects.js.map +1 -0
  524. package/dist/es/Functions/useFormTools/form-drivers/ObjectWithNamedKeyObjects.js +49 -0
  525. package/dist/es/Functions/useFormTools/form-drivers/ObjectWithNamedKeyObjects.js.map +1 -0
  526. package/dist/es/Functions/useFormTools/functions/General.js +87 -0
  527. package/dist/es/Functions/useFormTools/functions/General.js.map +1 -0
  528. package/dist/es/Functions/useFormTools/functions/RenderFields.js +70 -0
  529. package/dist/es/Functions/useFormTools/functions/RenderFields.js.map +1 -0
  530. package/dist/es/Functions/useFormTools/index.js +464 -0
  531. package/dist/es/Functions/useFormTools/index.js.map +1 -0
  532. package/dist/es/Functions/useInputHighlightError.js +50 -0
  533. package/dist/es/Functions/useInputHighlightError.js.map +1 -0
  534. package/dist/es/Functions/useIsMobile/index.js +7 -0
  535. package/dist/es/Functions/useIsMobile/index.js.map +1 -0
  536. package/dist/es/Functions/useIsMobile/useIsMobile.js +32 -0
  537. package/dist/es/Functions/useIsMobile/useIsMobile.js.map +1 -0
  538. package/dist/es/Functions/useKeyPress/useHandleKeyPress.js +38 -0
  539. package/dist/es/Functions/useKeyPress/useHandleKeyPress.js.map +1 -0
  540. package/dist/es/Functions/useKeyPress/useKeyPress.js +54 -0
  541. package/dist/es/Functions/useKeyPress/useKeyPress.js.map +1 -0
  542. package/dist/es/Functions/useLocalStorage.js +28 -0
  543. package/dist/es/Functions/useLocalStorage.js.map +1 -0
  544. package/dist/es/Functions/useLocationParams.js +27 -0
  545. package/dist/es/Functions/useLocationParams.js.map +1 -0
  546. package/dist/es/Functions/useMediaQuery.js +14 -0
  547. package/dist/es/Functions/useMediaQuery.js.map +1 -0
  548. package/dist/es/Functions/useMetaInfo.js +33 -0
  549. package/dist/es/Functions/useMetaInfo.js.map +1 -0
  550. package/dist/es/Functions/useMouseUpOutside.js +17 -0
  551. package/dist/es/Functions/useMouseUpOutside.js.map +1 -0
  552. package/dist/es/Functions/useOnlineStatus.js +23 -0
  553. package/dist/es/Functions/useOnlineStatus.js.map +1 -0
  554. package/dist/es/Functions/usePasswordChecker.js +116 -0
  555. package/dist/es/Functions/usePasswordChecker.js.map +1 -0
  556. package/dist/es/Functions/usePrevious.js +13 -0
  557. package/dist/es/Functions/usePrevious.js.map +1 -0
  558. package/dist/es/Functions/useResize.js +24 -0
  559. package/dist/es/Functions/useResize.js.map +1 -0
  560. package/dist/es/Functions/useScrollTo.js +17 -0
  561. package/dist/es/Functions/useScrollTo.js.map +1 -0
  562. package/dist/es/Functions/useToggle.js +15 -0
  563. package/dist/es/Functions/useToggle.js.map +1 -0
  564. package/dist/es/Functions/utils/disableDefaultBehavior/disableDefaultBehavior.js +9 -0
  565. package/dist/es/Functions/utils/disableDefaultBehavior/disableDefaultBehavior.js.map +1 -0
  566. package/dist/es/Functions/utils/getLimitedMask/getLimitedMask.js +39 -0
  567. package/dist/es/Functions/utils/getLimitedMask/getLimitedMask.js.map +1 -0
  568. package/dist/es/Functions/utils.js +288 -0
  569. package/dist/es/Functions/utils.js.map +1 -0
  570. package/dist/es/Langs.js +166 -0
  571. package/dist/es/Langs.js.map +1 -0
  572. package/dist/es/Molecular/CustomIcons/components/AffiliateNetworks.js +33 -0
  573. package/dist/es/Molecular/CustomIcons/components/AffiliateNetworks.js.map +1 -0
  574. package/dist/es/Molecular/CustomIcons/components/AlertCircle.js +30 -0
  575. package/dist/es/Molecular/CustomIcons/components/AlertCircle.js.map +1 -0
  576. package/dist/es/Molecular/CustomIcons/components/AppStore.js +34 -0
  577. package/dist/es/Molecular/CustomIcons/components/AppStore.js.map +1 -0
  578. package/dist/es/Molecular/CustomIcons/components/Arrow.js +43 -0
  579. package/dist/es/Molecular/CustomIcons/components/Arrow.js.map +1 -0
  580. package/dist/es/Molecular/CustomIcons/components/ArrowDown.js +21 -0
  581. package/dist/es/Molecular/CustomIcons/components/ArrowDown.js.map +1 -0
  582. package/dist/es/Molecular/CustomIcons/components/ArrowLeft.js +21 -0
  583. package/dist/es/Molecular/CustomIcons/components/ArrowLeft.js.map +1 -0
  584. package/dist/es/Molecular/CustomIcons/components/ArrowRight.js +21 -0
  585. package/dist/es/Molecular/CustomIcons/components/ArrowRight.js.map +1 -0
  586. package/dist/es/Molecular/CustomIcons/components/ArrowUp.js +21 -0
  587. package/dist/es/Molecular/CustomIcons/components/ArrowUp.js.map +1 -0
  588. package/dist/es/Molecular/CustomIcons/components/Bell.js +19 -0
  589. package/dist/es/Molecular/CustomIcons/components/Bell.js.map +1 -0
  590. package/dist/es/Molecular/CustomIcons/components/Button.js +19 -0
  591. package/dist/es/Molecular/CustomIcons/components/Button.js.map +1 -0
  592. package/dist/es/Molecular/CustomIcons/components/Campaigns.js +20 -0
  593. package/dist/es/Molecular/CustomIcons/components/Campaigns.js.map +1 -0
  594. package/dist/es/Molecular/CustomIcons/components/Check.js +15 -0
  595. package/dist/es/Molecular/CustomIcons/components/Check.js.map +1 -0
  596. package/dist/es/Molecular/CustomIcons/components/Check2.js +19 -0
  597. package/dist/es/Molecular/CustomIcons/components/Check2.js.map +1 -0
  598. package/dist/es/Molecular/CustomIcons/components/ChevronDown.js +19 -0
  599. package/dist/es/Molecular/CustomIcons/components/ChevronDown.js.map +1 -0
  600. package/dist/es/Molecular/CustomIcons/components/ChevronDownDisabled.js +19 -0
  601. package/dist/es/Molecular/CustomIcons/components/ChevronDownDisabled.js.map +1 -0
  602. package/dist/es/Molecular/CustomIcons/components/ChevronLeft.js +19 -0
  603. package/dist/es/Molecular/CustomIcons/components/ChevronLeft.js.map +1 -0
  604. package/dist/es/Molecular/CustomIcons/components/ChevronRight.js +19 -0
  605. package/dist/es/Molecular/CustomIcons/components/ChevronRight.js.map +1 -0
  606. package/dist/es/Molecular/CustomIcons/components/ChevronUp.js +19 -0
  607. package/dist/es/Molecular/CustomIcons/components/ChevronUp.js.map +1 -0
  608. package/dist/es/Molecular/CustomIcons/components/ChevronUpDown.js +33 -0
  609. package/dist/es/Molecular/CustomIcons/components/ChevronUpDown.js.map +1 -0
  610. package/dist/es/Molecular/CustomIcons/components/Close.js +20 -0
  611. package/dist/es/Molecular/CustomIcons/components/Close.js.map +1 -0
  612. package/dist/es/Molecular/CustomIcons/components/ColumnsOrder.js +53 -0
  613. package/dist/es/Molecular/CustomIcons/components/ColumnsOrder.js.map +1 -0
  614. package/dist/es/Molecular/CustomIcons/components/Delete.js +20 -0
  615. package/dist/es/Molecular/CustomIcons/components/Delete.js.map +1 -0
  616. package/dist/es/Molecular/CustomIcons/components/Edit.js +19 -0
  617. package/dist/es/Molecular/CustomIcons/components/Edit.js.map +1 -0
  618. package/dist/es/Molecular/CustomIcons/components/Email.js +36 -0
  619. package/dist/es/Molecular/CustomIcons/components/Email.js.map +1 -0
  620. package/dist/es/Molecular/CustomIcons/components/FinturfLogo.js +33 -0
  621. package/dist/es/Molecular/CustomIcons/components/FinturfLogo.js.map +1 -0
  622. package/dist/es/Molecular/CustomIcons/components/FinturfLogo2.js +41 -0
  623. package/dist/es/Molecular/CustomIcons/components/FinturfLogo2.js.map +1 -0
  624. package/dist/es/Molecular/CustomIcons/components/Flows.js +19 -0
  625. package/dist/es/Molecular/CustomIcons/components/Flows.js.map +1 -0
  626. package/dist/es/Molecular/CustomIcons/components/Gift.js +21 -0
  627. package/dist/es/Molecular/CustomIcons/components/Gift.js.map +1 -0
  628. package/dist/es/Molecular/CustomIcons/components/GoogleAuth.js +34 -0
  629. package/dist/es/Molecular/CustomIcons/components/GoogleAuth.js.map +1 -0
  630. package/dist/es/Molecular/CustomIcons/components/GooglePlay.js +34 -0
  631. package/dist/es/Molecular/CustomIcons/components/GooglePlay.js.map +1 -0
  632. package/dist/es/Molecular/CustomIcons/components/HelpCircle.js +22 -0
  633. package/dist/es/Molecular/CustomIcons/components/HelpCircle.js.map +1 -0
  634. package/dist/es/Molecular/CustomIcons/components/HelpCircle2.js +23 -0
  635. package/dist/es/Molecular/CustomIcons/components/HelpCircle2.js.map +1 -0
  636. package/dist/es/Molecular/CustomIcons/components/HelpCircleFilled.js +22 -0
  637. package/dist/es/Molecular/CustomIcons/components/HelpCircleFilled.js.map +1 -0
  638. package/dist/es/Molecular/CustomIcons/components/Home.js +22 -0
  639. package/dist/es/Molecular/CustomIcons/components/Home.js.map +1 -0
  640. package/dist/es/Molecular/CustomIcons/components/Home2.js +25 -0
  641. package/dist/es/Molecular/CustomIcons/components/Home2.js.map +1 -0
  642. package/dist/es/Molecular/CustomIcons/components/Key.js +24 -0
  643. package/dist/es/Molecular/CustomIcons/components/Key.js.map +1 -0
  644. package/dist/es/Molecular/CustomIcons/components/Landers.js +23 -0
  645. package/dist/es/Molecular/CustomIcons/components/Landers.js.map +1 -0
  646. package/dist/es/Molecular/CustomIcons/components/Lock.js +19 -0
  647. package/dist/es/Molecular/CustomIcons/components/Lock.js.map +1 -0
  648. package/dist/es/Molecular/CustomIcons/components/Mail.js +28 -0
  649. package/dist/es/Molecular/CustomIcons/components/Mail.js.map +1 -0
  650. package/dist/es/Molecular/CustomIcons/components/Mastercard.js +81 -0
  651. package/dist/es/Molecular/CustomIcons/components/Mastercard.js.map +1 -0
  652. package/dist/es/Molecular/CustomIcons/components/Minus.js +34 -0
  653. package/dist/es/Molecular/CustomIcons/components/Minus.js.map +1 -0
  654. package/dist/es/Molecular/CustomIcons/components/Offers.js +20 -0
  655. package/dist/es/Molecular/CustomIcons/components/Offers.js.map +1 -0
  656. package/dist/es/Molecular/CustomIcons/components/Pause.js +34 -0
  657. package/dist/es/Molecular/CustomIcons/components/Pause.js.map +1 -0
  658. package/dist/es/Molecular/CustomIcons/components/PayPal.js +54 -0
  659. package/dist/es/Molecular/CustomIcons/components/PayPal.js.map +1 -0
  660. package/dist/es/Molecular/CustomIcons/components/PayPalLightLarge.js +39 -0
  661. package/dist/es/Molecular/CustomIcons/components/PayPalLightLarge.js.map +1 -0
  662. package/dist/es/Molecular/CustomIcons/components/Phone.js +33 -0
  663. package/dist/es/Molecular/CustomIcons/components/Phone.js.map +1 -0
  664. package/dist/es/Molecular/CustomIcons/components/Play.js +34 -0
  665. package/dist/es/Molecular/CustomIcons/components/Play.js.map +1 -0
  666. package/dist/es/Molecular/CustomIcons/components/Plus.js +34 -0
  667. package/dist/es/Molecular/CustomIcons/components/Plus.js.map +1 -0
  668. package/dist/es/Molecular/CustomIcons/components/Profile.js +24 -0
  669. package/dist/es/Molecular/CustomIcons/components/Profile.js.map +1 -0
  670. package/dist/es/Molecular/CustomIcons/components/QRCode.js +35 -0
  671. package/dist/es/Molecular/CustomIcons/components/QRCode.js.map +1 -0
  672. package/dist/es/Molecular/CustomIcons/components/Rectangle.js +19 -0
  673. package/dist/es/Molecular/CustomIcons/components/Rectangle.js.map +1 -0
  674. package/dist/es/Molecular/CustomIcons/components/Revert.js +22 -0
  675. package/dist/es/Molecular/CustomIcons/components/Revert.js.map +1 -0
  676. package/dist/es/Molecular/CustomIcons/components/Star.js +18 -0
  677. package/dist/es/Molecular/CustomIcons/components/Star.js.map +1 -0
  678. package/dist/es/Molecular/CustomIcons/components/Star2.js +20 -0
  679. package/dist/es/Molecular/CustomIcons/components/Star2.js.map +1 -0
  680. package/dist/es/Molecular/CustomIcons/components/TrafficSources.js +19 -0
  681. package/dist/es/Molecular/CustomIcons/components/TrafficSources.js.map +1 -0
  682. package/dist/es/Molecular/CustomIcons/components/Trash.js +19 -0
  683. package/dist/es/Molecular/CustomIcons/components/Trash.js.map +1 -0
  684. package/dist/es/Molecular/CustomIcons/components/TrashRed.js +19 -0
  685. package/dist/es/Molecular/CustomIcons/components/TrashRed.js.map +1 -0
  686. package/dist/es/Molecular/CustomIcons/components/Triggers.js +19 -0
  687. package/dist/es/Molecular/CustomIcons/components/Triggers.js.map +1 -0
  688. package/dist/es/Molecular/CustomIcons/components/User.js +21 -0
  689. package/dist/es/Molecular/CustomIcons/components/User.js.map +1 -0
  690. package/dist/es/Molecular/CustomIcons/components/Visa.js +41 -0
  691. package/dist/es/Molecular/CustomIcons/components/Visa.js.map +1 -0
  692. package/dist/es/Molecular/CustomIcons/components/X.js +19 -0
  693. package/dist/es/Molecular/CustomIcons/components/X.js.map +1 -0
  694. package/dist/es/Molecular/FormElement/FormElement.js +37 -0
  695. package/dist/es/Molecular/FormElement/FormElement.js.map +1 -0
  696. package/dist/es/Molecular/FormElement/FormElement.styles.css +21 -0
  697. package/dist/es/Molecular/FormWithDependOn/FormWithDependOn.js +111 -0
  698. package/dist/es/Molecular/FormWithDependOn/FormWithDependOn.js.map +1 -0
  699. package/dist/es/Molecular/FormWithDependOn/partials/_utils.js +33 -0
  700. package/dist/es/Molecular/FormWithDependOn/partials/_utils.js.map +1 -0
  701. package/dist/es/Molecular/InputAddress/InputAddress.js +352 -0
  702. package/dist/es/Molecular/InputAddress/InputAddress.js.map +1 -0
  703. package/dist/es/Molecular/InputAddress/InputAddress.styles.css +353 -0
  704. package/dist/es/Molecular/InputCustomFetch/InputCustomFetch.js +355 -0
  705. package/dist/es/Molecular/InputCustomFetch/InputCustomFetch.js.map +1 -0
  706. package/dist/es/Molecular/InputCustomFetch/InputCustomFetch.styles.css +358 -0
  707. package/dist/es/Molecular/InputCustomFetch/lib/hooks/useDebouncedCallback.js +27 -0
  708. package/dist/es/Molecular/InputCustomFetch/lib/hooks/useDebouncedCallback.js.map +1 -0
  709. package/dist/es/Molecular/InputCustomFetch/lib/hooks/useFetchWithAbort.js +50 -0
  710. package/dist/es/Molecular/InputCustomFetch/lib/hooks/useFetchWithAbort.js.map +1 -0
  711. package/dist/es/Molecular/InputCustomFetch/lib/utils.js +24 -0
  712. package/dist/es/Molecular/InputCustomFetch/lib/utils.js.map +1 -0
  713. package/dist/es/Molecular/InputPassword/InputPassword.js +47 -0
  714. package/dist/es/Molecular/InputPassword/InputPassword.js.map +1 -0
  715. package/dist/es/Molecular/InputPassword/InputPassword.styles.css +23 -0
  716. package/dist/es/_virtual/_rolldown/runtime.js +1 -15
  717. package/dist/es/charts.js +2 -3
  718. package/dist/es/classes.js +1 -1
  719. package/dist/es/form.js +68 -93
  720. package/dist/es/hooks.js +12 -17
  721. package/dist/es/icons.js +126 -6
  722. package/dist/es/index.js +145 -70
  723. package/dist/es/layout.js +3 -3
  724. package/dist/es/presets.js +6 -6
  725. package/dist/es/router-ui.js +5 -8
  726. package/dist/es/sdk.js +3 -1
  727. package/dist/es/types/index.js +0 -2
  728. package/dist/es/ui.js +30 -39
  729. package/dist/es/utils.js +5 -6
  730. package/package.json +2 -1
@@ -0,0 +1,112 @@
1
+ import { getInstanceOfFetchSystem, getIsOnlyAnObject } from "./partials/_utils.js";
2
+ import ApiBase from "./partials/ApiBase.js";
3
+ import CredentialsProcessing from "./partials/CredentialsProcessing.js";
4
+ //#region src/Classes/RESTAPI/index.ts
5
+ function returnTheContext() {
6
+ return this;
7
+ }
8
+ /**
9
+ * Класс REST API поверх AbortableFetch: формирует и выполняет запросы (одиночные и мультизапросы),
10
+ * управляет токенами авторизации (через {@link CredentialsProcessing}) и информированием пользователя.
11
+ * Расширяется реквест-крейтерами, утилитами и константами через объект настроек.
12
+ */
13
+ var RESTAPI = class extends ApiBase {
14
+ /** Функция показа сообщений пользователю (или null, если информирование отключено). */
15
+ sendMessage = null;
16
+ /** Обработчик учётных данных (создаётся при наличии настройки credentialsProcessing). */
17
+ credentialsProcessing;
18
+ constructor(settings) {
19
+ super(settings);
20
+ const { sendMessage, credentialsProcessing } = settings || {};
21
+ this.sendMessage = typeof sendMessage === "function" ? sendMessage : null;
22
+ if (getIsOnlyAnObject(credentialsProcessing)) {
23
+ this.credentialsProcessing = new CredentialsProcessing(settings);
24
+ this.credentialsProcessing.getRESTAPIContext = returnTheContext.bind(this);
25
+ }
26
+ }
27
+ /**
28
+ * Основной (базовый) метод API: выполняет мультизапрос (или одиночный запрос).
29
+ *
30
+ * @param inputRequests - путь, объект описания запроса или их массив.
31
+ * @param settings - общие настройки запроса (формат ответа, тосты, сообщения и т.п.).
32
+ * @returns Промис с результатом (форма зависит от isResponseAsObject).
33
+ */
34
+ async doRequest(inputRequests, settings) {
35
+ if (typeof inputRequests !== "string" && typeof inputRequests !== "object") return Promise.reject(new Error(this.BAD_REQUEST_DATA_TEXT));
36
+ const API_CONTEXT = this;
37
+ const { isResponseAsObject, isGetBody, callback, ...partialRestSettings } = settings || {};
38
+ const { commonSuccessMessage: CSMfromSettings, commonErrorMessage: CEMfromSettings, successMessageType: SMTfromSettings, isToastResult: isToastFromSettings, toastOptions: TOFomSettings, isNoToastSuccess: isNTSFromSettings, isNoToastError: isNTEFromSettings, isNoToast: isNoToastFromSettings, successMessages, errorMessages } = partialRestSettings || {};
39
+ const instance = await getInstanceOfFetchSystem.call(this);
40
+ if (!instance) throw new Error("It is impossible to make a request!");
41
+ instance.setIsResponseAsObject(isResponseAsObject ?? true);
42
+ if (typeof callback === "function") instance.setCallback(callback);
43
+ function getRequests() {
44
+ let output;
45
+ if (typeof inputRequests === "string") output = [{ path: inputRequests }];
46
+ else output = Array.isArray(inputRequests) ? inputRequests : [inputRequests];
47
+ function getCallback(item, mesageOptions) {
48
+ const getBodyAs = typeof item.getBodyAs === "string" ? item.getBodyAs : void 0;
49
+ const finalIsGetBody = typeof item.isGetBody === "boolean" || typeof item.isGetBody === "string" ? item.isGetBody : isGetBody;
50
+ const finalIsGetBodyFirst = finalIsGetBody === "first";
51
+ const checkResponseCallback = finalIsGetBodyFirst ? async (res, options) => API_CONTEXT.getResponseBody(await API_CONTEXT.checkResponseCode(res, options), getBodyAs) : async (res, options) => API_CONTEXT.checkResponseCode(res, options);
52
+ const itemCallback = item.callback;
53
+ const callbackFn = typeof itemCallback === "function" ? async (res) => itemCallback(await checkResponseCallback(res, mesageOptions)) : async (res) => checkResponseCallback(res, mesageOptions);
54
+ return finalIsGetBody && !finalIsGetBodyFirst ? async (res) => API_CONTEXT.getResponseBody(await callbackFn(res), getBodyAs) : callbackFn;
55
+ }
56
+ async function getRequestItem(item, idx) {
57
+ const { type, ...partialRestFirst } = getIsOnlyAnObject(item) ? item : { path: item };
58
+ const itemAfterRequestCreating = await (async () => {
59
+ const key = `createRequest_${typeof type === "string" ? type : "default"}`;
60
+ const creator = key in API_CONTEXT ? API_CONTEXT[key] : void 0;
61
+ const awaited = await (typeof creator === "function" ? creator.call(API_CONTEXT, partialRestFirst, "doRequestMapping") : API_CONTEXT.createRequest_default(partialRestFirst, "doRequestMapping"));
62
+ return getIsOnlyAnObject(awaited) ? awaited : {};
63
+ })();
64
+ const { fullPath, api, path, query, queryParameters, ...partialRestSecond } = itemAfterRequestCreating;
65
+ const { successMess, commonSuccessMessage, successMessageType, errorMess, commonErrorMessage, isToastResult, toastOptions, isNoToastSuccess, isNoToastError, isNoToast, ...rest } = partialRestSecond;
66
+ const successMessagesArr = Array.isArray(successMessages) ? successMessages : void 0;
67
+ const errorMessagesArr = Array.isArray(errorMessages) ? errorMessages : void 0;
68
+ const isUseSuccessToast = Boolean(successMess || commonSuccessMessage || successMessagesArr?.[idx] || CSMfromSettings || isToastResult || isToastFromSettings) && !isNoToast && !isNoToastFromSettings && !isNoToastSuccess && !isNTSFromSettings;
69
+ const isUseErrorToast = !isNoToast && !isNoToastFromSettings && !isNoToastError && !isNTEFromSettings;
70
+ const mesageOptions = {
71
+ successMess: successMess || commonSuccessMessage || successMessagesArr?.[idx] || CSMfromSettings,
72
+ successMessageType: successMessageType || SMTfromSettings,
73
+ errorMess: errorMess || commonErrorMessage || errorMessagesArr?.[idx] || CEMfromSettings,
74
+ isUseSuccessToast,
75
+ isUseErrorToast,
76
+ toastOptions: toastOptions || TOFomSettings
77
+ };
78
+ return {
79
+ ...rest,
80
+ path: `${fullPath || await API_CONTEXT.getRootPath(api) + (typeof path === "string" ? path : "")}`,
81
+ queryParameters: await (async () => {
82
+ const queryParams = query || queryParameters || "";
83
+ return await API_CONTEXT.processQueryParams(queryParams);
84
+ })(),
85
+ mesageOptions,
86
+ callback: getCallback(itemAfterRequestCreating, mesageOptions)
87
+ };
88
+ }
89
+ return output.map((item, idx) => getRequestItem(item, idx));
90
+ }
91
+ return instance.request(await Promise.all(getRequests()));
92
+ }
93
+ /**
94
+ * Метод API для одиночных запросов: применяет крейтер по `type` и делегирует в {@link RESTAPI.doRequest}.
95
+ *
96
+ * @param requestSettings - объект описания одиночного запроса (с необязательным `type`).
97
+ * @returns Промис с результатом запроса.
98
+ */
99
+ async doMonoRequest(requestSettings) {
100
+ if (!getIsOnlyAnObject(requestSettings)) throw new Error(`${this.BAD_REQUEST_DATA_TEXT} [RESTAPI.doMonoRequest]`);
101
+ const { type, ...requestSettingsRest } = requestSettings;
102
+ const key = `createRequest_${typeof type === "string" ? type : ""}`;
103
+ const creator = type && key in this ? this[key] : void 0;
104
+ const created = typeof creator === "function" ? await creator.call(this, requestSettingsRest) : await this.createRequest_default(requestSettingsRest);
105
+ const doRequestArgs = Array.isArray(created) ? created : [created];
106
+ return this.doRequest(doRequestArgs[0], doRequestArgs[1]);
107
+ }
108
+ };
109
+ //#endregion
110
+ export { RESTAPI as default };
111
+
112
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../../src/Classes/RESTAPI/index.ts"],"sourcesContent":["import type { DoRequestSettings, RequestDescriptor, RequestInput, RESTAPISettings, UnknownRecord } from './partials/types';\nimport { getInstanceOfFetchSystem, getIsOnlyAnObject } from './partials/_utils';\nimport ApiBase from './partials/ApiBase';\nimport CredentialsProcessing from './partials/CredentialsProcessing';\n\n// ? Возвращает текущий контекст (используется для проброса контекста RESTAPI в credentialsProcessing).\nfunction returnTheContext(this: RESTAPI): RESTAPI {\n return this;\n}\n\n/**\n * Класс REST API поверх AbortableFetch: формирует и выполняет запросы (одиночные и мультизапросы),\n * управляет токенами авторизации (через {@link CredentialsProcessing}) и информированием пользователя.\n * Расширяется реквест-крейтерами, утилитами и константами через объект настроек.\n */\nclass RESTAPI extends ApiBase {\n /** Функция показа сообщений пользователю (или null, если информирование отключено). */\n sendMessage: ((...args: unknown[]) => unknown) | null = null;\n\n /** Обработчик учётных данных (создаётся при наличии настройки credentialsProcessing). */\n credentialsProcessing?: CredentialsProcessing;\n\n constructor(settings: RESTAPISettings) {\n super(settings);\n const { sendMessage, credentialsProcessing } = settings || {};\n this.sendMessage = typeof sendMessage === 'function' ? sendMessage : null;\n\n // ! Наличие credentialsProcessing подключает ДОБАВЛЕНИЕ ТОКЕНОВ В ЗАПРОСЫ,\n // ! НО по умолчанию НЕ добавляет флоу рефреша токенов\n // ! (флоу рефреша подключается пропой isUseRefreshTokensPropcessing из credentialsProcessing)\n if (getIsOnlyAnObject(credentialsProcessing)) {\n this.credentialsProcessing = new CredentialsProcessing(settings);\n\n // ? credentialsProcessing расположен обособлено для того, чтобы обладать своим независимым this\n // ? Однако при описании методов credentialsProcessing\n // ? может понадобится воспользоваться непосредственными методами класса RESTAPI\n // ? Для этого предоставляю возможность дотянуться до верхнего контекста\n this.credentialsProcessing.getRESTAPIContext = returnTheContext.bind(this);\n }\n }\n\n /**\n * Основной (базовый) метод API: выполняет мультизапрос (или одиночный запрос).\n *\n * @param inputRequests - путь, объект описания запроса или их массив.\n * @param settings - общие настройки запроса (формат ответа, тосты, сообщения и т.п.).\n * @returns Промис с результатом (форма зависит от isResponseAsObject).\n */\n // ! Основной (базовый) метод API, мультизапросы\n async doRequest(inputRequests: RequestInput, settings?: DoRequestSettings): Promise<unknown> {\n if (typeof inputRequests !== 'string' && typeof inputRequests !== 'object') {\n return Promise.reject(new Error(this.BAD_REQUEST_DATA_TEXT));\n }\n\n // ? К свойствам и методам API будем тянуться через замыкания\n const API_CONTEXT = this;\n\n const { isResponseAsObject, isGetBody, callback, ...partialRestSettings } = settings || {};\n const {\n commonSuccessMessage: CSMfromSettings,\n commonErrorMessage: CEMfromSettings,\n successMessageType: SMTfromSettings,\n\n isToastResult: isToastFromSettings,\n toastOptions: TOFomSettings,\n isNoToastSuccess: isNTSFromSettings,\n isNoToastError: isNTEFromSettings,\n isNoToast: isNoToastFromSettings,\n\n successMessages,\n errorMessages,\n } = partialRestSettings || {};\n\n // ? При вызове getRequestInstance передадим контекст API\n // ? В результате вызова получим экземпляр класса AbortableFetch...\n const instance = await getInstanceOfFetchSystem.call(this);\n if (!instance) {\n throw new Error('It is impossible to make a request!');\n }\n\n // ? ... который еще немного донастроим сеттерами экзепляра\n instance.setIsResponseAsObject(isResponseAsObject ?? true);\n if (typeof callback === 'function') instance.setCallback(callback);\n\n // ? Это НЕ асинхронная ф-я, которая вернет массив промисов\n function getRequests(): Array<Promise<UnknownRecord>> {\n let output: Array<string | UnknownRecord>;\n if (typeof inputRequests === 'string') output = [{ path: inputRequests }];\n else output = Array.isArray(inputRequests) ? inputRequests : [inputRequests];\n\n // ? Это НЕ асинхронная ф-я, которая возвращает асинхронный колбэк\n function getCallback(item: UnknownRecord, mesageOptions: UnknownRecord): (res: unknown) => Promise<unknown> {\n const getBodyAs = typeof item.getBodyAs === 'string' ? item.getBodyAs : undefined;\n\n const finalIsGetBody = typeof item.isGetBody === 'boolean' || typeof item.isGetBody === 'string' ? item.isGetBody : isGetBody;\n const finalIsGetBodyFirst = finalIsGetBody === 'first';\n\n const checkResponseCallback = finalIsGetBodyFirst\n ? async (res: unknown, options: UnknownRecord) =>\n API_CONTEXT.getResponseBody(await API_CONTEXT.checkResponseCode(res, options), getBodyAs)\n : async (res: unknown, options: UnknownRecord) => API_CONTEXT.checkResponseCode(res, options);\n\n const itemCallback = item.callback;\n const callbackFn = typeof itemCallback === 'function'\n ? async (res: unknown) => itemCallback(await checkResponseCallback(res, mesageOptions))\n : async (res: unknown) => checkResponseCallback(res, mesageOptions);\n\n return finalIsGetBody && !finalIsGetBodyFirst\n ? async (res: unknown) => API_CONTEXT.getResponseBody(await callbackFn(res), getBodyAs)\n : callbackFn;\n }\n\n async function getRequestItem(item: string | UnknownRecord, idx: number): Promise<UnknownRecord> {\n const itemObj: UnknownRecord = getIsOnlyAnObject(item) ? item : { path: item };\n const { type, ...partialRestFirst } = itemObj;\n // ? Предполагалось что пропа type в объекте описания запроса\n // ? будет использоваться исключительно для метода doMonoRequest,\n // ? однако оказалось, что type удобно использовать и в мульти запросах (опционально).\n // ? В данном месте происходит обработка type для объектов описания запроса из мульти запроса.\n // ? 'doRequestMapping' - ключ для управления выходными структурами из метода splitProperties\n // ? (splitProperties используется ЛЮБЫМ крейтером)\n const itemAfterRequestCreating: UnknownRecord = await (async () => {\n const key = `createRequest_${typeof type === 'string' ? type : 'default'}`;\n\n // ? Защита на случай если type передан, но такого нет в API_CONTEXT\n const creator = key in API_CONTEXT ? API_CONTEXT[key] : undefined;\n const result = typeof creator === 'function'\n ? creator.call(API_CONTEXT, partialRestFirst, 'doRequestMapping')\n : API_CONTEXT.createRequest_default(partialRestFirst, 'doRequestMapping');\n const awaited = await result;\n return getIsOnlyAnObject(awaited) ? awaited : {};\n })();\n\n const { fullPath, api, path, query, queryParameters, ...partialRestSecond } = itemAfterRequestCreating;\n const {\n successMess,\n commonSuccessMessage,\n successMessageType,\n errorMess,\n commonErrorMessage,\n isToastResult,\n toastOptions,\n isNoToastSuccess,\n isNoToastError,\n isNoToast,\n ...rest\n } = partialRestSecond;\n\n const successMessagesArr = Array.isArray(successMessages) ? successMessages : undefined;\n const errorMessagesArr = Array.isArray(errorMessages) ? errorMessages : undefined;\n\n const useSuccessMessageFlag = Boolean(\n successMess || commonSuccessMessage || successMessagesArr?.[idx] || CSMfromSettings || isToastResult || isToastFromSettings,\n );\n\n const isUseSuccessToast = useSuccessMessageFlag && !isNoToast && !isNoToastFromSettings && !isNoToastSuccess && !isNTSFromSettings;\n\n const isUseErrorToast = !isNoToast && !isNoToastFromSettings && !isNoToastError && !isNTEFromSettings;\n\n const mesageOptions: UnknownRecord = {\n successMess: successMess || commonSuccessMessage || successMessagesArr?.[idx] || CSMfromSettings,\n successMessageType: successMessageType || SMTfromSettings,\n errorMess: errorMess || commonErrorMessage || errorMessagesArr?.[idx] || CEMfromSettings,\n isUseSuccessToast,\n isUseErrorToast,\n toastOptions: toastOptions || TOFomSettings,\n };\n\n // ? Данная ф-я асинхронная, пользуемся await-ми чтобы дождаться фактических значений\n return {\n ...rest,\n path: `${fullPath || (await API_CONTEXT.getRootPath(api)) + (typeof path === 'string' ? path : '')}`,\n\n // ? Запускаем самовызывающуюся асинхронную ф-ю, ждем резолва промиса от нее\n queryParameters: await (async () => {\n const queryParams = query || queryParameters || '';\n // ? Т.к.самовызывающаяся ф-я асинхронная, то можем дождаться фактического значения\n const preparedQueryParams = await API_CONTEXT.processQueryParams(queryParams);\n return preparedQueryParams;\n })(),\n mesageOptions,\n callback: getCallback(itemAfterRequestCreating, mesageOptions),\n };\n }\n\n // ? getRequestItem - асинхронная ф-я (вызов возвращает промис)\n // ? Вызываем для каждой итерации мапинга, получаем массив промисов\n return output.map((item, idx) => getRequestItem(item, idx));\n }\n\n // ? Ф-я getRequests НЕ асинхронная, но возвращает массив промисов\n // ? ДОЖИДАЕМСЯ резолва всех промисов через Promise.all,\n // ? после резолва всех промисов Promise.all вернет массив результатов резолва,\n // ? instance - экземпляр AbortableFetch\n // ? Вызываем instance.request, передавая массив результатов резолвов промисов\n // ? (т.е. массив объектов описания запроса)\n return instance.request(await Promise.all(getRequests()));\n }\n\n /**\n * Метод API для одиночных запросов: применяет крейтер по `type` и делегирует в {@link RESTAPI.doRequest}.\n *\n * @param requestSettings - объект описания одиночного запроса (с необязательным `type`).\n * @returns Промис с результатом запроса.\n */\n // ! Метод API для одиночных запросов\n async doMonoRequest(requestSettings: RequestDescriptor): Promise<unknown> {\n if (!getIsOnlyAnObject(requestSettings)) throw new Error(`${this.BAD_REQUEST_DATA_TEXT} [RESTAPI.doMonoRequest]`);\n const { type, ...requestSettingsRest } = requestSettings;\n\n // ? Реквест-крейтеры разделяют параметры, при надобности эти параметры конфигурируют, добавляют ф-ть\n // ? и возвращают массив подготовленных аргументов для метода doRequest\n const key = `createRequest_${typeof type === 'string' ? type : ''}`;\n const creator = type && key in this ? this[key] : undefined;\n const created = typeof creator === 'function'\n ? await creator.call(this, requestSettingsRest)\n : await this.createRequest_default(requestSettingsRest);\n\n const doRequestArgs = Array.isArray(created) ? created : [created];\n\n return this.doRequest(doRequestArgs[0], doRequestArgs[1]);\n }\n}\n\nexport default RESTAPI;\n"],"mappings":"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"}
@@ -0,0 +1,323 @@
1
+ import { getIsOnlyAnObject } from "./_utils.js";
2
+ //#region src/Classes/RESTAPI/partials/AbortableFetch.ts
3
+ var HTTP_METHODS = [
4
+ "GET",
5
+ "HEAD",
6
+ "POST",
7
+ "PUT",
8
+ "DELETE",
9
+ "CONNECT",
10
+ "OPTIONS",
11
+ "TRACE",
12
+ "PATCH"
13
+ ];
14
+ function isHttpMethod(value) {
15
+ return HTTP_METHODS.includes(value);
16
+ }
17
+ var RESPONSE_AS_OBJECT_ALWAYS_VALUE = "always";
18
+ var AbortableFetch = class {
19
+ #pathPrefix = null;
20
+ #method = null;
21
+ #queryParameters = null;
22
+ #headers = null;
23
+ #body = null;
24
+ #options = null;
25
+ #callback = null;
26
+ #catchCallback = null;
27
+ #everyPromiseCallback = null;
28
+ #isResponseAsObject = false;
29
+ requestInput = [];
30
+ constructor(input) {
31
+ if (input && !getIsOnlyAnObject(input)) throw new Error("Not valid input value!");
32
+ this.getPathPrefix = this.getPathPrefix.bind(this);
33
+ this.setPathPrefix = this.setPathPrefix.bind(this);
34
+ this.getMethod = this.getMethod.bind(this);
35
+ this.setMethod = this.setMethod.bind(this);
36
+ this.getQueryParameters = this.getQueryParameters.bind(this);
37
+ this.getQueryString = this.getQueryString.bind(this);
38
+ this.setQueryParameters = this.setQueryParameters.bind(this);
39
+ this.getHeaders = this.getHeaders.bind(this);
40
+ this.getHeadersObj = this.getHeadersObj.bind(this);
41
+ this.setHeaders = this.setHeaders.bind(this);
42
+ this.getBody = this.getBody.bind(this);
43
+ this.setBody = this.setBody.bind(this);
44
+ this.getOptions = this.getOptions.bind(this);
45
+ this.setOptions = this.setOptions.bind(this);
46
+ this.getCallback = this.getCallback.bind(this);
47
+ this.setCallback = this.setCallback.bind(this);
48
+ this.getCatchCallback = this.getCatchCallback.bind(this);
49
+ this.setCatchCallback = this.setCatchCallback.bind(this);
50
+ this.getEveryPromiseCallback = this.getEveryPromiseCallback.bind(this);
51
+ this.setEveryPromiseCallback = this.setEveryPromiseCallback.bind(this);
52
+ this.getIsResponseAsObject = this.getIsResponseAsObject.bind(this);
53
+ this.setIsResponseAsObject = this.setIsResponseAsObject.bind(this);
54
+ this.getProps = this.getProps.bind(this);
55
+ this.setProps = this.setProps.bind(this);
56
+ this.request = this.request.bind(this);
57
+ this.repeatRequest = this.repeatRequest.bind(this);
58
+ this.setProps(input || {});
59
+ }
60
+ /**
61
+ * Выполняет один или несколько HTTP-запросов (нативный fetch) с возможностью отмены.
62
+ *
63
+ * Метод `abort()` навешивается на прототип возвращаемого промиса (как в исходной реализации),
64
+ * что позволяет отменить всю цепочку запросов вызовом `abort()` на возвращённом промисе.
65
+ *
66
+ * @param props - путь, объект описания запроса или их массив.
67
+ * @returns Промис с результатом (форма зависит от isResponseAsObject); на прототипе доступен `abort()`.
68
+ */
69
+ async request(props) {
70
+ if (!getIsOnlyAnObject(props) && !Array.isArray(props) && typeof props !== "string") throw new Error("Not valid props value!");
71
+ const stringifyBody = (b) => b instanceof FormData ? b : JSON.stringify(b);
72
+ this.requestInput = props;
73
+ const requests = getRequestsArray.call(this, props);
74
+ const ABORTABLE_FETCH_CONTEXT = this;
75
+ const abortController = new AbortController();
76
+ const addProps = (response, request) => {
77
+ return Object.assign(response, {
78
+ request,
79
+ ...ABORTABLE_FETCH_CONTEXT.#isResponseAsObject ? { name: getIsOnlyAnObject(request) ? request.name || "" : "" } : {}
80
+ });
81
+ };
82
+ const externalRequest = Promise.all(requests.map((item) => {
83
+ const safelyQuery = item.path.includes("?") ? `&${item.queryParameters.replace(/\?/g, "")}` : item.queryParameters;
84
+ const internalRequest = fetch(`${item.pathPrefix}${item.path}${safelyQuery}`, {
85
+ ...item.options,
86
+ method: item.method,
87
+ headers: item.headers,
88
+ ...item.body ? { body: stringifyBody(item.body) } : {},
89
+ signal: abortController.signal
90
+ }).then(async (response) => addProps(response, item)).catch(async (response) => {
91
+ if (response instanceof Response) return Promise.resolve(addProps(response, item));
92
+ return Promise.resolve(addProps({
93
+ ok: false,
94
+ status: 0,
95
+ statusText: response,
96
+ request: item
97
+ }, item));
98
+ }).then(async (res) => {
99
+ return typeof ABORTABLE_FETCH_CONTEXT.#everyPromiseCallback === "function" && !item.isSkipEveryPromiseCallback ? await ABORTABLE_FETCH_CONTEXT.#everyPromiseCallback(res) : res;
100
+ }).then(async (res) => {
101
+ return await (typeof item.callback === "function" ? item.callback(res) : res);
102
+ }).then(async (res) => {
103
+ return {
104
+ request: item,
105
+ response: res,
106
+ ...item.name ? { name: item.name } : {}
107
+ };
108
+ });
109
+ const internalProto = Object.getPrototypeOf(internalRequest);
110
+ internalProto.abort = () => abortController.abort();
111
+ return internalRequest;
112
+ })).then(async (resArr) => {
113
+ if (resArr.length < 1) return ABORTABLE_FETCH_CONTEXT.#isResponseAsObject ? {} : [];
114
+ if (ABORTABLE_FETCH_CONTEXT.#isResponseAsObject === RESPONSE_AS_OBJECT_ALWAYS_VALUE) return resArr.reduce((ac, item) => ({
115
+ ...ac,
116
+ [String(item.name)]: item.response
117
+ }), {});
118
+ if (resArr.length === 1) return resArr[0].response;
119
+ return ABORTABLE_FETCH_CONTEXT.#isResponseAsObject === true ? resArr.reduce((ac, item) => ({
120
+ ...ac,
121
+ [String(item.name)]: item.response
122
+ }), {}) : resArr.map((item) => item.response);
123
+ }).then(async (res) => {
124
+ return typeof ABORTABLE_FETCH_CONTEXT.#callback === "function" ? await ABORTABLE_FETCH_CONTEXT.#callback(res) : res;
125
+ }).catch(async (res) => {
126
+ return typeof ABORTABLE_FETCH_CONTEXT.#catchCallback === "function" ? await ABORTABLE_FETCH_CONTEXT.#catchCallback(res) : res;
127
+ });
128
+ const externalProto = Object.getPrototypeOf(externalRequest);
129
+ externalProto.abort = () => abortController.abort();
130
+ return externalRequest;
131
+ function getRequestsArray(input) {
132
+ return (() => {
133
+ if (typeof input === "string") return [{ path: input }];
134
+ return Array.isArray(input) ? [...input] : [input];
135
+ })().reduce((ac, item, index) => {
136
+ const { name, path, method, queryParameters, headers, body, options, callback, mergeProps, isNoPathPrefix, isSkipEveryPromiseCallback } = getIsOnlyAnObject(item) ? item : {};
137
+ const safelyMergeProps = getIsOnlyAnObject(mergeProps) ? mergeProps : {};
138
+ const getMergeProps = (key) => safelyMergeProps.all ?? safelyMergeProps[key];
139
+ if (!path || typeof path !== "string") return ac;
140
+ const { name: omitName, path: omitPath, pathPrefix: omitPathPrefix, method: omitMethod, queryParameters: omitQueryParameters, headers: omitHeaders, body: omitBody, options: omitOptions, callback: omitCallback, mergeProps: omitMergeProps, ...optionsRest } = getIsOnlyAnObject(options) ? options : {};
141
+ const localMethod = typeof method === "string" && isHttpMethod(method) ? method : null;
142
+ const localCallback = typeof callback === "function" ? (res) => callback(res) : void 0;
143
+ return [...ac, {
144
+ path,
145
+ pathPrefix: getMergeProps("pathPrefix") === "onlyLocal" || isNoPathPrefix ? "" : this.#pathPrefix || "",
146
+ method: (() => {
147
+ if (getMergeProps("method") === "onlyLocal") return localMethod || "GET";
148
+ return getMergeProps("method") === "onlyGlobal" ? this.#method || "GET" : localMethod || this.#method || "GET";
149
+ })(),
150
+ queryParameters: (() => {
151
+ if ((getMergeProps("queryParameters") ?? getMergeProps("query")) === "onlyLocal") return this.getQueryString(this.getQueryArray(queryParameters));
152
+ return (getMergeProps("queryParameters") ?? getMergeProps("query")) === "onlyGlobal" ? this.getQueryString(this.getQueryArray(this.#queryParameters)) : this.getQueryString([...this.getQueryArray(this.#queryParameters), ...this.getQueryArray(queryParameters)]);
153
+ })(),
154
+ headers: (() => {
155
+ if (getMergeProps("headers") === "onlyLocal") return this.getHeadersObj(getIsOnlyAnObject(headers) ? headers : {});
156
+ return getMergeProps("headers") === "onlyGlobal" ? this.getHeadersObj({ ...this.#headers || {} }) : this.getHeadersObj({
157
+ ...this.#headers || {},
158
+ ...getIsOnlyAnObject(headers) ? headers : {}
159
+ });
160
+ })(),
161
+ body: (() => {
162
+ if (getMergeProps("body") === "onlyLocal") return body || null;
163
+ if (getMergeProps("body") === "onlyGlobal") return this.#body || null;
164
+ if (body && this.#body && typeof body === typeof this.#body && typeof body === "object") return Array.isArray(body) ? [...Array.isArray(this.#body) ? this.#body : [], ...body] : {
165
+ ...getIsOnlyAnObject(this.#body) ? this.#body : {},
166
+ ...getIsOnlyAnObject(body) ? body : {}
167
+ };
168
+ else return body || this.#body || null;
169
+ })(),
170
+ options: (() => {
171
+ if (getMergeProps("options") === "onlyLocal") return { ...optionsRest };
172
+ return getMergeProps("options") === "onlyGlobal" ? { ...this.#options || {} } : {
173
+ ...this.#options || {},
174
+ ...optionsRest
175
+ };
176
+ })(),
177
+ callback: localCallback,
178
+ isSkipEveryPromiseCallback: Boolean(isSkipEveryPromiseCallback),
179
+ ...this.getIsResponseAsObject() ? { name: name && typeof name === "string" ? name : index } : {}
180
+ }];
181
+ }, []);
182
+ }
183
+ }
184
+ /** Повторяет последний выполненный запрос (ту же пачку). */
185
+ repeatRequest() {
186
+ return this.request(this.requestInput);
187
+ }
188
+ getPathPrefix() {
189
+ return this.#pathPrefix;
190
+ }
191
+ setPathPrefix(value) {
192
+ if (value && typeof value !== "string") throw new Error("Not valid pathPrefix value!");
193
+ this.#pathPrefix = value || null;
194
+ }
195
+ getMethod() {
196
+ return this.#method;
197
+ }
198
+ setMethod(value) {
199
+ if (value && !isHttpMethod(value)) throw new Error("Not valid method value!");
200
+ this.#method = value || null;
201
+ }
202
+ getQueryParameters() {
203
+ return this.#queryParameters;
204
+ }
205
+ getQueryArray(value) {
206
+ if (typeof value === "string") return (value[0] === "?" ? value.slice(1) : value).split("&");
207
+ else if (Array.isArray(value)) return value.map((item) => `${item}`);
208
+ else if (typeof value === "object" && value !== null) {
209
+ const record = getIsOnlyAnObject(value) ? value : {};
210
+ return Object.keys(record).filter((key) => Boolean(key) && Boolean(record[key])).map((key) => `${key}=${record[key]}`);
211
+ } else return [];
212
+ }
213
+ getQueryString(value) {
214
+ if (!value) return "";
215
+ if (!Array.isArray(value)) throw new Error("Not valid query parameters value!");
216
+ return value.length ? `?${value.join("&")}` : "";
217
+ }
218
+ setQueryParameters(value) {
219
+ if (value && !Array.isArray(value)) throw new Error("Not valid query parameters value!");
220
+ this.#queryParameters = value || null;
221
+ }
222
+ getHeaders() {
223
+ return this.#headers;
224
+ }
225
+ getHeadersObj(obj) {
226
+ const headers = new Headers();
227
+ if (!obj) return headers;
228
+ if (typeof obj !== "object" || Array.isArray(obj)) throw new Error("Not valid headers value!");
229
+ Object.keys(obj).forEach((key) => {
230
+ headers.append(key, `${obj[key]}`);
231
+ });
232
+ return headers;
233
+ }
234
+ setHeaders(value) {
235
+ if (value && (typeof value !== "object" || Array.isArray(value))) throw new Error("Not valid headers value!");
236
+ this.#headers = value || null;
237
+ }
238
+ getBody() {
239
+ return this.#body;
240
+ }
241
+ setBody(value) {
242
+ this.#body = value;
243
+ }
244
+ getOptions() {
245
+ return this.#options;
246
+ }
247
+ setOptions(value) {
248
+ if (value && (typeof value !== "object" || Array.isArray(value))) throw new Error("Not valid options value!");
249
+ this.#options = { ...value };
250
+ }
251
+ getCallback() {
252
+ return this.#callback;
253
+ }
254
+ setCallback(value) {
255
+ if (value && typeof value !== "function") throw new Error("Not valid callback value!");
256
+ this.#callback = value || null;
257
+ }
258
+ getCatchCallback() {
259
+ return this.#catchCallback;
260
+ }
261
+ setCatchCallback(value) {
262
+ if (value && typeof value !== "function") throw new Error("Not valid callback value!");
263
+ this.#catchCallback = value || null;
264
+ }
265
+ getEveryPromiseCallback() {
266
+ return this.#everyPromiseCallback;
267
+ }
268
+ setEveryPromiseCallback(value) {
269
+ if (value && typeof value !== "function") throw new Error("Not valid callback value!");
270
+ this.#everyPromiseCallback = value || null;
271
+ }
272
+ getIsResponseAsObject() {
273
+ return this.#isResponseAsObject;
274
+ }
275
+ setIsResponseAsObject(value) {
276
+ this.#isResponseAsObject = typeof value !== "boolean" && value !== "always" ? Boolean(value) : value;
277
+ }
278
+ getProps() {
279
+ return {
280
+ pathPrefix: this.getPathPrefix() || null,
281
+ method: this.getMethod() || null,
282
+ queryParameters: this.getQueryParameters() || null,
283
+ headers: this.getHeaders() || null,
284
+ body: this.getBody() || null,
285
+ options: this.getOptions() || null,
286
+ callback: this.getCallback() || null,
287
+ everyPromiseCallback: this.getEveryPromiseCallback(),
288
+ isResponseAsObject: this.getIsResponseAsObject()
289
+ };
290
+ }
291
+ setProps(input) {
292
+ const { pathPrefix, method, queryParameters, headers, body, options, callback, catchCallback, everyPromiseCallback, isResponseAsObject } = input;
293
+ if (pathPrefix) this.setPathPrefix(typeof pathPrefix === "string" ? pathPrefix : null);
294
+ if (method) this.setMethod(typeof method === "string" && isHttpMethod(method) ? method : null);
295
+ if (queryParameters) this.setQueryParameters(this.getQueryArray(queryParameters));
296
+ if (headers) this.setHeaders(getIsOnlyAnObject(headers) ? headers : null);
297
+ if (body) this.setBody(body);
298
+ if (options) this.setOptions(getIsOnlyAnObject(options) ? options : null);
299
+ if (callback && typeof callback === "function") {
300
+ const fn = callback;
301
+ this.setCallback(function wrappedCallback(response) {
302
+ return fn.call(this, response);
303
+ });
304
+ }
305
+ if (catchCallback && typeof catchCallback === "function") {
306
+ const fn = catchCallback;
307
+ this.setCatchCallback(function wrappedCatchCallback(response) {
308
+ return fn.call(this, response);
309
+ });
310
+ }
311
+ if (everyPromiseCallback && typeof everyPromiseCallback === "function") {
312
+ const fn = everyPromiseCallback;
313
+ this.setEveryPromiseCallback(function wrappedEveryPromiseCallback(response) {
314
+ return fn.call(this, response);
315
+ });
316
+ }
317
+ if (isResponseAsObject !== void 0) this.setIsResponseAsObject(isResponseAsObject);
318
+ }
319
+ };
320
+ //#endregion
321
+ export { AbortableFetch as default };
322
+
323
+ //# sourceMappingURL=AbortableFetch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AbortableFetch.js","names":["#isResponseAsObject","#everyPromiseCallback","#callback","#catchCallback","#pathPrefix","#method","#queryParameters","#headers","#body","#options"],"sources":["../../../../../src/Classes/RESTAPI/partials/AbortableFetch.ts"],"sourcesContent":["import type { HttpMethod, UnknownRecord } from './types';\nimport { getIsOnlyAnObject } from './_utils';\n\n// ? Колбэк обработки ответа на разных уровнях цепочки запросов.\n// ? this типизирован как AbortableFetch: everyPromiseCallback/catchCallback вызываются как\n// ? this.#callback(res) и опираются на this === экземпляр AbortableFetch.\ntype ResponseCallback = (this: AbortableFetch, response: unknown) => unknown;\n\n// ? Колбэк отдельного запроса: вызывается как item.callback(res) (без значимого this).\ntype ItemCallback = (response: unknown) => unknown;\n\n// ? Промис результата request() с дополнительным методом отмены всей цепочки запросов.\nexport type AbortablePromise<T> = Promise<T> & { abort: () => void };\n\n// ? Подготовленный (нормализованный) объект описания одного запроса для внутреннего использования.\ninterface PreparedRequest {\n path: string;\n pathPrefix: string;\n method: HttpMethod;\n queryParameters: string;\n headers: Headers;\n body: unknown;\n options: UnknownRecord;\n callback?: ItemCallback;\n isSkipEveryPromiseCallback?: boolean;\n name?: string | number;\n}\n\nconst HTTP_METHODS: readonly string[] = ['GET', 'HEAD', 'POST', 'PUT', 'DELETE', 'CONNECT', 'OPTIONS', 'TRACE', 'PATCH'];\n\n// ? Type-guard: является ли строка валидным HTTP-методом.\nfunction isHttpMethod(value: string): value is HttpMethod {\n return HTTP_METHODS.includes(value);\n}\n\nconst RESPONSE_AS_OBJECT_ALWAYS_VALUE = 'always';\nclass AbortableFetch {\n #pathPrefix: string | null = null;\n\n #method: HttpMethod | null = null;\n\n #queryParameters: string[] | null = null;\n\n #headers: UnknownRecord | null = null;\n\n #body: unknown = null;\n\n #options: UnknownRecord | null = null;\n\n #callback: ResponseCallback | null = null;\n\n #catchCallback: ResponseCallback | null = null;\n\n #everyPromiseCallback: ResponseCallback | null = null;\n\n #isResponseAsObject: boolean | 'always' = false;\n\n // ? Последний вход request() — используется repeatRequest() для повторного запроса той же пачки.\n requestInput: string | UnknownRecord | Array<string | UnknownRecord> = [];\n\n constructor(input?: UnknownRecord) {\n if (input && !getIsOnlyAnObject(input)) throw new Error('Not valid input value!');\n this.getPathPrefix = this.getPathPrefix.bind(this);\n this.setPathPrefix = this.setPathPrefix.bind(this);\n this.getMethod = this.getMethod.bind(this);\n this.setMethod = this.setMethod.bind(this);\n this.getQueryParameters = this.getQueryParameters.bind(this);\n this.getQueryString = this.getQueryString.bind(this);\n this.setQueryParameters = this.setQueryParameters.bind(this);\n this.getHeaders = this.getHeaders.bind(this);\n this.getHeadersObj = this.getHeadersObj.bind(this);\n this.setHeaders = this.setHeaders.bind(this);\n this.getBody = this.getBody.bind(this);\n this.setBody = this.setBody.bind(this);\n this.getOptions = this.getOptions.bind(this);\n this.setOptions = this.setOptions.bind(this);\n this.getCallback = this.getCallback.bind(this);\n this.setCallback = this.setCallback.bind(this);\n this.getCatchCallback = this.getCatchCallback.bind(this);\n this.setCatchCallback = this.setCatchCallback.bind(this);\n this.getEveryPromiseCallback = this.getEveryPromiseCallback.bind(this);\n this.setEveryPromiseCallback = this.setEveryPromiseCallback.bind(this);\n this.getIsResponseAsObject = this.getIsResponseAsObject.bind(this);\n this.setIsResponseAsObject = this.setIsResponseAsObject.bind(this);\n this.getProps = this.getProps.bind(this);\n this.setProps = this.setProps.bind(this);\n\n this.request = this.request.bind(this);\n this.repeatRequest = this.repeatRequest.bind(this);\n this.setProps(input || {});\n }\n\n /**\n * Выполняет один или несколько HTTP-запросов (нативный fetch) с возможностью отмены.\n *\n * Метод `abort()` навешивается на прототип возвращаемого промиса (как в исходной реализации),\n * что позволяет отменить всю цепочку запросов вызовом `abort()` на возвращённом промисе.\n *\n * @param props - путь, объект описания запроса или их массив.\n * @returns Промис с результатом (форма зависит от isResponseAsObject); на прототипе доступен `abort()`.\n */\n async request(props: string | UnknownRecord | Array<string | UnknownRecord>): Promise<unknown> {\n if (!getIsOnlyAnObject(props) && !Array.isArray(props) && typeof props !== 'string') throw new Error('Not valid props value!');\n\n const stringifyBody = (b: unknown): FormData | string => (b instanceof FormData ? b : JSON.stringify(b));\n\n this.requestInput = props;\n const requests = getRequestsArray.call(this, props);\n\n const ABORTABLE_FETCH_CONTEXT = this;\n const abortController = new AbortController();\n\n // ? Докидывает на ответ (Response или псевдо-ответ) служебные поля request/name.\n // ? Мутируем исходный объект (важно сохранить Response для downstream-проверок), без приведения типов.\n const addProps = (response: object, request: PreparedRequest): object => {\n return Object.assign(response, {\n request,\n ...(ABORTABLE_FETCH_CONTEXT.#isResponseAsObject ? { name: getIsOnlyAnObject(request) ? request.name || '' : '' } : {}),\n });\n };\n\n const externalRequest = Promise.all(\n requests.map((item) => {\n // Внутренний уровень (каждый запрос из массива)\n\n const safelyQuery = item.path.includes('?') ? `&${item.queryParameters.replace(/\\?/g, '')}` : item.queryParameters;\n const internalRequest = fetch(`${item.pathPrefix}${item.path}${safelyQuery}`, {\n ...item.options,\n method: item.method,\n headers: item.headers,\n ...(item.body ? { body: stringifyBody(item.body) } : {}),\n signal: abortController.signal,\n })\n // ? Докидываем инфы\n .then(async response => addProps(response, item))\n // ! ВАЖНО !\n // ! Гарантируем что каждый запрос ЗАРЕЗОЛВИТСЯ\n .catch(async (response: unknown) => {\n // ? Если fetch отработал по новому и отправил ответы с \"не 200-ми кодами\" в catch,\n // ? то ожидаем что response будет НЕ экземпляром Error, а все-таки экземпляром Response.\n // ? Поэтому в этом случае процессим его как в предыдущем then\n if (response instanceof Response) return Promise.resolve(addProps(response, item));\n\n // ? Во всех остальных случаях трактуем ситуацию как \"запрос НЕ ушел\":\n // ? промис все-равно резолвим, готдаем \"псевдо-ответ\"\n return Promise.resolve(\n addProps(\n {\n ok: false,\n status: 0,\n statusText: response,\n request: item,\n },\n item,\n ),\n );\n })\n // ? Независимо от того что сработакет ожидаем зарезолвленный промис, продолжаем then-chain\n\n // ? Отрабаиываем everyPromiseCallback\n // ? (обязательный колбек для каждого запроса, описаный на уровне экземпляра AbortableFetch)\n .then(async (res) => {\n return typeof ABORTABLE_FETCH_CONTEXT.#everyPromiseCallback === 'function' && !item.isSkipEveryPromiseCallback\n ? await ABORTABLE_FETCH_CONTEXT.#everyPromiseCallback(res)\n : res;\n })\n // ? Отрабаиываем персональныйcallback\n .then(async (res) => {\n return await (typeof item.callback === 'function' ? item.callback(res) : res);\n })\n // ? Подготавливаем структуру для внешнего уровня\n .then(async (res) => {\n return { request: item, response: res, ...(item.name ? { name: item.name } : {}) };\n });\n\n // ? Каждому внутреннему промису в прототипы лепим метод отмены всей цепочки запросов\n const internalProto: { abort?: () => void } = Object.getPrototypeOf(internalRequest);\n internalProto.abort = () => abortController.abort();\n return internalRequest;\n }),\n )\n // Внешний уровень (Promise.all)\n // ? Процессим возврат внешнего уровня (как объект)\n .then(async (resArr) => {\n // ? Если запросов нет, то возвращаем пустой объект или массив, true или \"always\" - равнозначно\n if (resArr.length < 1) {\n return ABORTABLE_FETCH_CONTEXT.#isResponseAsObject ? {} : [];\n }\n\n // ? Если #isResponseAsObject === \"always\", то независимо от количесва запросов выдаем объект\n if (ABORTABLE_FETCH_CONTEXT.#isResponseAsObject === RESPONSE_AS_OBJECT_ALWAYS_VALUE) {\n return resArr.reduce<UnknownRecord>((ac, item) => ({ ...ac, [String(item.name)]: item.response }), {});\n }\n\n // ? Если запрос один, то возвращаем его как одиночный ответ\n if (resArr.length === 1) return resArr[0].response;\n\n // ? Если дощли до сюда, то запросов больше чем 1 и нужно понять как их скомпоновать\n // ? - как объекет (#isResponseAsObject === true работает если запросов больше чем 1)\n // ? - как стандартный ответ от Promise.all (т.е. массив ответов)\n return ABORTABLE_FETCH_CONTEXT.#isResponseAsObject === true\n ? resArr.reduce<UnknownRecord>((ac, item) => ({ ...ac, [String(item.name)]: item.response }), {})\n : resArr.map(item => item.response);\n })\n // ? После отработки формата ответа проверяем/выполняем глобальный callback\n .then(async (res) => {\n return typeof ABORTABLE_FETCH_CONTEXT.#callback === 'function' ? await ABORTABLE_FETCH_CONTEXT.#callback(res) : res;\n })\n // ? На случай режекта Promise.all проверяем/выполняем глобальный catchCallback\n .catch(async (res: unknown) => {\n return typeof ABORTABLE_FETCH_CONTEXT.#catchCallback === 'function' ? await ABORTABLE_FETCH_CONTEXT.#catchCallback(res) : res;\n });\n\n // ? В прототипы Promise.all лепим метод отмены всей цепочки запросов\n const externalProto: { abort?: () => void } = Object.getPrototypeOf(externalRequest);\n externalProto.abort = () => abortController.abort();\n\n return externalRequest;\n\n function getRequestsArray(this: AbortableFetch, input: string | UnknownRecord | Array<string | UnknownRecord>): PreparedRequest[] {\n // ? Приведение к одному формату - массив объектов\n const requestsArray: Array<string | UnknownRecord> = (() => {\n if (typeof input === 'string') return [{ path: input }];\n return Array.isArray(input) ? [...input] : [input];\n })();\n\n return requestsArray.reduce<PreparedRequest[]>((ac, item, index) => {\n const itemObj: UnknownRecord = getIsOnlyAnObject(item) ? item : {};\n const { name, path, method, queryParameters, headers, body, options, callback, mergeProps, isNoPathPrefix, isSkipEveryPromiseCallback }\n = itemObj;\n\n const safelyMergeProps: UnknownRecord = getIsOnlyAnObject(mergeProps) ? mergeProps : {};\n const getMergeProps = (key: string): unknown => safelyMergeProps.all ?? safelyMergeProps[key];\n\n if (!path || typeof path !== 'string') return ac;\n\n const {\n name: omitName,\n path: omitPath,\n pathPrefix: omitPathPrefix,\n method: omitMethod,\n queryParameters: omitQueryParameters,\n headers: omitHeaders,\n body: omitBody,\n options: omitOptions,\n callback: omitCallback,\n mergeProps: omitMergeProps,\n ...optionsRest\n } = getIsOnlyAnObject(options) ? options : {};\n\n // ? Локальный метод запроса, приведённый к HttpMethod (или null, если значение не валидно).\n const localMethod: HttpMethod | null = typeof method === 'string' && isHttpMethod(method) ? method : null;\n // ? Локальный пользовательский callback, обёрнутый в типизированную функцию (без приведения типов).\n const localCallback: ItemCallback | undefined = typeof callback === 'function' ? (res: unknown) => callback(res) : undefined;\n\n return [\n ...ac,\n {\n path,\n pathPrefix: getMergeProps('pathPrefix') === 'onlyLocal' || isNoPathPrefix ? '' : this.#pathPrefix || '',\n method: ((): HttpMethod => {\n if (getMergeProps('method') === 'onlyLocal') return localMethod || 'GET';\n return getMergeProps('method') === 'onlyGlobal' ? this.#method || 'GET' : localMethod || this.#method || 'GET';\n })(),\n queryParameters: ((): string => {\n if ((getMergeProps('queryParameters') ?? getMergeProps('query')) === 'onlyLocal') {\n return this.getQueryString(this.getQueryArray(queryParameters));\n }\n return (getMergeProps('queryParameters') ?? getMergeProps('query')) === 'onlyGlobal'\n ? this.getQueryString(this.getQueryArray(this.#queryParameters))\n : this.getQueryString([...this.getQueryArray(this.#queryParameters), ...this.getQueryArray(queryParameters)]);\n })(),\n headers: ((): Headers => {\n if (getMergeProps('headers') === 'onlyLocal') return this.getHeadersObj(getIsOnlyAnObject(headers) ? headers : {});\n return getMergeProps('headers') === 'onlyGlobal'\n ? this.getHeadersObj({ ...(this.#headers || {}) })\n : this.getHeadersObj({\n ...(this.#headers || {}),\n ...(getIsOnlyAnObject(headers) ? headers : {}),\n });\n })(),\n body: ((): unknown => {\n if (getMergeProps('body') === 'onlyLocal') return body || null;\n if (getMergeProps('body') === 'onlyGlobal') return this.#body || null;\n if (body && this.#body && typeof body === typeof this.#body && typeof body === 'object') {\n return Array.isArray(body)\n ? [...(Array.isArray(this.#body) ? this.#body : []), ...body]\n : { ...(getIsOnlyAnObject(this.#body) ? this.#body : {}), ...(getIsOnlyAnObject(body) ? body : {}) };\n }\n else {\n return body || this.#body || null;\n }\n })(),\n options: ((): UnknownRecord => {\n if (getMergeProps('options') === 'onlyLocal') return { ...optionsRest };\n return getMergeProps('options') === 'onlyGlobal' ? { ...(this.#options || {}) } : { ...(this.#options || {}), ...optionsRest };\n })(),\n callback: localCallback,\n isSkipEveryPromiseCallback: Boolean(isSkipEveryPromiseCallback),\n ...(this.getIsResponseAsObject() ? { name: name && typeof name === 'string' ? name : index } : {}),\n },\n ];\n }, []);\n }\n }\n\n /** Повторяет последний выполненный запрос (ту же пачку). */\n repeatRequest(): Promise<unknown> {\n return this.request(this.requestInput);\n }\n\n // ***** getters and setters *****\n getPathPrefix(): string | null {\n return this.#pathPrefix;\n }\n\n setPathPrefix(value?: string | null): void {\n if (value && typeof value !== 'string') throw new Error('Not valid pathPrefix value!');\n this.#pathPrefix = value || null;\n }\n\n getMethod(): HttpMethod | null {\n return this.#method;\n }\n\n setMethod(value?: HttpMethod | null): void {\n if (value && !isHttpMethod(value)) throw new Error('Not valid method value!');\n this.#method = value || null;\n }\n\n getQueryParameters(): string[] | null {\n return this.#queryParameters;\n }\n\n getQueryArray(value: unknown): string[] {\n if (typeof value === 'string') {\n return (value[0] === '?' ? value.slice(1) : value).split('&');\n }\n else if (Array.isArray(value)) {\n return value.map(item => `${item}`);\n }\n else if (typeof value === 'object' && value !== null) {\n const record: UnknownRecord = getIsOnlyAnObject(value) ? value : {};\n return Object.keys(record)\n .filter(key => Boolean(key) && Boolean(record[key]))\n .map(key => `${key}=${record[key]}`);\n }\n else {\n return [];\n }\n }\n\n getQueryString(value: string[] | null): string {\n if (!value) return '';\n if (!Array.isArray(value)) throw new Error('Not valid query parameters value!');\n return value.length ? `?${value.join('&')}` : '';\n }\n\n setQueryParameters(value?: string[] | null): void {\n if (value && !Array.isArray(value)) throw new Error('Not valid query parameters value!');\n this.#queryParameters = value || null;\n }\n\n getHeaders(): UnknownRecord | null {\n return this.#headers;\n }\n\n getHeadersObj(obj: UnknownRecord): Headers {\n const headers = new Headers();\n if (!obj) return headers;\n\n if (typeof obj !== 'object' || Array.isArray(obj)) throw new Error('Not valid headers value!');\n Object.keys(obj).forEach((key) => {\n headers.append(key, `${obj[key]}`);\n });\n return headers;\n }\n\n setHeaders(value?: UnknownRecord | null): void {\n if (value && (typeof value !== 'object' || Array.isArray(value))) throw new Error('Not valid headers value!');\n this.#headers = value || null;\n }\n\n getBody(): unknown {\n return this.#body;\n }\n\n setBody(value: unknown): void {\n this.#body = value;\n }\n\n getOptions(): UnknownRecord | null {\n return this.#options;\n }\n\n setOptions(value?: UnknownRecord | null): void {\n if (value && (typeof value !== 'object' || Array.isArray(value))) throw new Error('Not valid options value!');\n this.#options = { ...value };\n }\n\n getCallback(): ResponseCallback | null {\n return this.#callback;\n }\n\n setCallback(value?: ResponseCallback | null): void {\n if (value && typeof value !== 'function') throw new Error('Not valid callback value!');\n this.#callback = value || null;\n }\n\n getCatchCallback(): ResponseCallback | null {\n return this.#catchCallback;\n }\n\n setCatchCallback(value?: ResponseCallback | null): void {\n if (value && typeof value !== 'function') throw new Error('Not valid callback value!');\n this.#catchCallback = value || null;\n }\n\n getEveryPromiseCallback(): ResponseCallback | null {\n return this.#everyPromiseCallback;\n }\n\n setEveryPromiseCallback(value?: ResponseCallback | null): void {\n if (value && typeof value !== 'function') throw new Error('Not valid callback value!');\n this.#everyPromiseCallback = value || null;\n }\n\n getIsResponseAsObject(): boolean | 'always' {\n return this.#isResponseAsObject;\n }\n\n setIsResponseAsObject(value: unknown): void {\n this.#isResponseAsObject = typeof value !== 'boolean' && value !== 'always' ? Boolean(value) : value;\n }\n\n getProps(): UnknownRecord {\n return {\n pathPrefix: this.getPathPrefix() || null,\n method: this.getMethod() || null,\n queryParameters: this.getQueryParameters() || null,\n headers: this.getHeaders() || null,\n body: this.getBody() || null,\n options: this.getOptions() || null,\n callback: this.getCallback() || null,\n everyPromiseCallback: this.getEveryPromiseCallback(),\n // isAnywayRunCallback: this.getIsAnywayRunCallback(),\n isResponseAsObject: this.getIsResponseAsObject(),\n };\n }\n\n setProps(input: UnknownRecord): void {\n const {\n pathPrefix,\n method,\n queryParameters,\n headers,\n body,\n options,\n callback,\n catchCallback,\n everyPromiseCallback,\n // isAnywayRunCallback,\n isResponseAsObject,\n } = input;\n if (pathPrefix) this.setPathPrefix(typeof pathPrefix === 'string' ? pathPrefix : null);\n if (method) this.setMethod(typeof method === 'string' && isHttpMethod(method) ? method : null);\n if (queryParameters) this.setQueryParameters(this.getQueryArray(queryParameters));\n if (headers) this.setHeaders(getIsOnlyAnObject(headers) ? headers : null);\n if (body) this.setBody(body);\n if (options) this.setOptions(getIsOnlyAnObject(options) ? options : null);\n // ? Колбэки оборачиваем с сохранением this (через .call): everyPromiseCallback/catchCallback\n // ? опираются на this === экземпляр AbortableFetch. Приведение типов не используется.\n if (callback && typeof callback === 'function') {\n const fn = callback;\n this.setCallback(function wrappedCallback(this: AbortableFetch, response: unknown) {\n return fn.call(this, response);\n });\n }\n if (catchCallback && typeof catchCallback === 'function') {\n const fn = catchCallback;\n this.setCatchCallback(function wrappedCatchCallback(this: AbortableFetch, response: unknown) {\n return fn.call(this, response);\n });\n }\n if (everyPromiseCallback && typeof everyPromiseCallback === 'function') {\n const fn = everyPromiseCallback;\n this.setEveryPromiseCallback(function wrappedEveryPromiseCallback(this: AbortableFetch, response: unknown) {\n return fn.call(this, response);\n });\n }\n // if (isAnywayRunCallback) this.setIsAnywayRunCallback(isAnywayRunCallback);\n if (isResponseAsObject !== undefined) this.setIsResponseAsObject(isResponseAsObject);\n }\n}\n\nexport default AbortableFetch;\n"],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ import ApiRequestCreators from "./ApiRequestCreators.js";
2
+ //#region src/Classes/RESTAPI/partials/ApiBase.ts
3
+ /**
4
+ * Базовый класс API: разбирает и валидирует константы из настроек
5
+ * (API_PATH, тексты сообщений, REJECT_CODES) и раскладывает их на экземпляр.
6
+ * Кастомные константы прокидываются на экземпляр как есть.
7
+ */
8
+ var ApiBase = class extends ApiRequestCreators {
9
+ /** Текст ошибки невалидных данных запроса. */
10
+ BAD_REQUEST_DATA_TEXT;
11
+ /** Текст сообщения об успехе по умолчанию. */
12
+ DEFAULT_SUCCESS_MESSAGE;
13
+ /** Текст сообщения об ошибке по умолчанию. */
14
+ DEFAULT_ERROR_MESSAGE;
15
+ /** Текст сообщения об отсутствии сети. */
16
+ NO_INET;
17
+ /** Коды ответа, по которым запрос считается отклонённым. */
18
+ REJECT_CODES;
19
+ constructor(settings) {
20
+ super(settings);
21
+ const { API_PATH, BAD_REQUEST_DATA_TEXT = "Bad request data", DEFAULT_SUCCESS_MESSAGE = "Success", DEFAULT_ERROR_MESSAGE = "Something wrong, try again", NO_INET = "Please check your network connection and reload page", REJECT_CODES = [], ...customConstants } = settings.constants || {};
22
+ if (typeof API_PATH !== "string") throw new Error("No API_PATH [ApiBase constructor]");
23
+ if (typeof BAD_REQUEST_DATA_TEXT !== "string" || typeof DEFAULT_SUCCESS_MESSAGE !== "string" || typeof DEFAULT_ERROR_MESSAGE !== "string" || typeof NO_INET !== "string" || !Array.isArray(REJECT_CODES) || !REJECT_CODES.every((i) => typeof i === "number")) throw new Error("Bad input data [ApiBase constructor]");
24
+ this.API_PATH = API_PATH;
25
+ this.BAD_REQUEST_DATA_TEXT = BAD_REQUEST_DATA_TEXT;
26
+ this.DEFAULT_SUCCESS_MESSAGE = DEFAULT_SUCCESS_MESSAGE;
27
+ this.DEFAULT_ERROR_MESSAGE = DEFAULT_ERROR_MESSAGE;
28
+ this.NO_INET = NO_INET;
29
+ this.REJECT_CODES = REJECT_CODES;
30
+ Object.keys(customConstants).forEach((key) => {
31
+ this[key] = customConstants[key];
32
+ });
33
+ }
34
+ };
35
+ //#endregion
36
+ export { ApiBase as default };
37
+
38
+ //# sourceMappingURL=ApiBase.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ApiBase.js","names":[],"sources":["../../../../../src/Classes/RESTAPI/partials/ApiBase.ts"],"sourcesContent":["import type { RESTAPISettings } from './types';\nimport ApiRequestCreators from './ApiRequestCreators';\n\n/**\n * Базовый класс API: разбирает и валидирует константы из настроек\n * (API_PATH, тексты сообщений, REJECT_CODES) и раскладывает их на экземпляр.\n * Кастомные константы прокидываются на экземпляр как есть.\n */\nclass ApiBase extends ApiRequestCreators {\n /** Текст ошибки невалидных данных запроса. */\n BAD_REQUEST_DATA_TEXT!: string;\n\n /** Текст сообщения об успехе по умолчанию. */\n DEFAULT_SUCCESS_MESSAGE!: string;\n\n /** Текст сообщения об ошибке по умолчанию. */\n DEFAULT_ERROR_MESSAGE!: string;\n\n /** Текст сообщения об отсутствии сети. */\n NO_INET!: string;\n\n /** Коды ответа, по которым запрос считается отклонённым. */\n REJECT_CODES!: number[];\n\n constructor(settings: RESTAPISettings) {\n super(settings);\n\n const {\n API_PATH,\n\n BAD_REQUEST_DATA_TEXT = 'Bad request data',\n DEFAULT_SUCCESS_MESSAGE = 'Success',\n DEFAULT_ERROR_MESSAGE = 'Something wrong, try again',\n NO_INET = 'Please check your network connection and reload page',\n\n REJECT_CODES = [],\n\n ...customConstants\n } = settings.constants || {};\n\n if (typeof API_PATH !== 'string') throw new Error('No API_PATH [ApiBase constructor]');\n\n if (\n typeof BAD_REQUEST_DATA_TEXT !== 'string'\n || typeof DEFAULT_SUCCESS_MESSAGE !== 'string'\n || typeof DEFAULT_ERROR_MESSAGE !== 'string'\n || typeof NO_INET !== 'string'\n || !Array.isArray(REJECT_CODES)\n || !REJECT_CODES.every(i => typeof i === 'number')\n ) {\n throw new Error('Bad input data [ApiBase constructor]');\n }\n\n this.API_PATH = API_PATH;\n\n this.BAD_REQUEST_DATA_TEXT = BAD_REQUEST_DATA_TEXT;\n this.DEFAULT_SUCCESS_MESSAGE = DEFAULT_SUCCESS_MESSAGE;\n this.DEFAULT_ERROR_MESSAGE = DEFAULT_ERROR_MESSAGE;\n this.NO_INET = NO_INET;\n\n this.REJECT_CODES = REJECT_CODES;\n\n Object.keys(customConstants).forEach((key) => {\n this[key] = customConstants[key];\n });\n }\n}\n\nexport default ApiBase;\n"],"mappings":";;;;;;;AAQA,IAAM,UAAN,cAAsB,mBAAmB;;CAEvC;;CAGA;;CAGA;;CAGA;;CAGA;CAEA,YAAY,UAA2B;EACrC,MAAM,QAAQ;EAEd,MAAM,EACJ,UAEA,wBAAwB,oBACxB,0BAA0B,WAC1B,wBAAwB,8BACxB,UAAU,wDAEV,eAAe,CAAC,GAEhB,GAAG,oBACD,SAAS,aAAa,CAAC;EAE3B,IAAI,OAAO,aAAa,UAAU,MAAM,IAAI,MAAM,mCAAmC;EAErF,IACE,OAAO,0BAA0B,YAC9B,OAAO,4BAA4B,YACnC,OAAO,0BAA0B,YACjC,OAAO,YAAY,YACnB,CAAC,MAAM,QAAQ,YAAY,KAC3B,CAAC,aAAa,OAAM,MAAK,OAAO,MAAM,QAAQ,GAEjD,MAAM,IAAI,MAAM,sCAAsC;EAGxD,KAAK,WAAW;EAEhB,KAAK,wBAAwB;EAC7B,KAAK,0BAA0B;EAC/B,KAAK,wBAAwB;EAC7B,KAAK,UAAU;EAEf,KAAK,eAAe;EAEpB,OAAO,KAAK,eAAe,CAAC,CAAC,SAAS,QAAQ;GAC5C,KAAK,OAAO,gBAAgB;EAC9B,CAAC;CACH;AACF"}