intelicoreact 1.6.20 → 1.6.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (272) hide show
  1. package/dist/Atomic/FormElements/ActionAlert/ActionAlert.js +1 -102
  2. package/dist/Atomic/FormElements/AdvancedStatus/AdvancedStatus.js +1 -89
  3. package/dist/Atomic/FormElements/Calendar/Calendar.js +1 -232
  4. package/dist/Atomic/FormElements/Calendar/Calendar.props.js +1 -3
  5. package/dist/Atomic/FormElements/CheckboxInput/CheckboxInput.js +1 -101
  6. package/dist/Atomic/FormElements/CheckboxesLine/CheckboxesLine.js +1 -70
  7. package/dist/Atomic/FormElements/Datepicker/Datepicker.js +1 -350
  8. package/dist/Atomic/FormElements/Datepicker/Datepicker.props.js +1 -3
  9. package/dist/Atomic/FormElements/Datepicker/components/DatepickerCalendar.js +1 -177
  10. package/dist/Atomic/FormElements/Datepicker/components/DatepickerCalendar.props.js +1 -3
  11. package/dist/Atomic/FormElements/Dropdown/Dropdown.js +1 -561
  12. package/dist/Atomic/FormElements/Dropdown/components/DropdownLoader.js +1 -20
  13. package/dist/Atomic/FormElements/DropdownLiveSearch/DropdownLiveSearch.js +1 -405
  14. package/dist/Atomic/FormElements/FileLoader/FileLoader.js +1 -94
  15. package/dist/Atomic/FormElements/FileLoader/partial/LoadZone.js +1 -105
  16. package/dist/Atomic/FormElements/FileLoader/partial/LoadedContent.js +1 -67
  17. package/dist/Atomic/FormElements/FileLoaderDescription/FileLoaderDescription.js +1 -247
  18. package/dist/Atomic/FormElements/FileLoaderLocal/FileLoaderLocal.js +1 -160
  19. package/dist/Atomic/FormElements/FileLoaderLocalGroup/FileLoaderLocalGroup.js +1 -193
  20. package/dist/Atomic/FormElements/FormattedRawSSN/FormattedRawSSN.js +1 -135
  21. package/dist/Atomic/FormElements/FormattedRawSSN/FormattedRawSSN_old.js +1 -116
  22. package/dist/Atomic/FormElements/Input/Input.js +1 -467
  23. package/dist/Atomic/FormElements/InputCalendar/InputCalendar.js +1 -161
  24. package/dist/Atomic/FormElements/InputColor/InputColor.js +1 -64
  25. package/dist/Atomic/FormElements/InputCurrency/InputCurrency.js +1 -166
  26. package/dist/Atomic/FormElements/InputDateRange/InputDateRange.js +1 -354
  27. package/dist/Atomic/FormElements/InputDateRange/components/DateInput.js +1 -71
  28. package/dist/Atomic/FormElements/InputDateRange/components/Datepicker.js +1 -693
  29. package/dist/Atomic/FormElements/InputDateRange/components/OpenedPart.js +1 -254
  30. package/dist/Atomic/FormElements/InputDateRange/components/SelectItem.js +1 -32
  31. package/dist/Atomic/FormElements/InputDateRange/dependencies.js +1 -200
  32. package/dist/Atomic/FormElements/InputLink/InputLink.js +1 -99
  33. package/dist/Atomic/FormElements/InputMask/InputCarretPosition.js +1 -37
  34. package/dist/Atomic/FormElements/InputMask/InputMask.js +1 -1214
  35. package/dist/Atomic/FormElements/InputMask/config.js +1 -15
  36. package/dist/Atomic/FormElements/InputMask/functions.js +1 -58
  37. package/dist/Atomic/FormElements/InputMask2/InputMask2.js +1 -674
  38. package/dist/Atomic/FormElements/InputMask2/config.js +1 -15
  39. package/dist/Atomic/FormElements/InputMask2/functions.js +1 -58
  40. package/dist/Atomic/FormElements/InputMask3/InputMask3.js +1 -766
  41. package/dist/Atomic/FormElements/InputMask3/config.js +1 -15
  42. package/dist/Atomic/FormElements/InputMask3/functions.js +1 -58
  43. package/dist/Atomic/FormElements/InputWithAction/InputWithAction.js +1 -114
  44. package/dist/Atomic/FormElements/InputsRow/InputsRow.js +1 -140
  45. package/dist/Atomic/FormElements/Label/Label.js +1 -82
  46. package/dist/Atomic/FormElements/MobileCalendar/MobileCalendar.js +1 -506
  47. package/dist/Atomic/FormElements/MultiSelect/MultiSelect.js +1 -45
  48. package/dist/Atomic/FormElements/NumericInput/NumericInput.js +1 -331
  49. package/dist/Atomic/FormElements/RadioGroup/RadioGroup.js +1 -66
  50. package/dist/Atomic/FormElements/RadioGroupWithInput/RadioGroupWithInput.js +1 -80
  51. package/dist/Atomic/FormElements/RadioInput/RadioInput.js +1 -64
  52. package/dist/Atomic/FormElements/RadioRowSwitcher/RadioRowSwitcher.js +1 -54
  53. package/dist/Atomic/FormElements/RangeCalendar/RangeCalendar.js +1 -183
  54. package/dist/Atomic/FormElements/RangeInputs/RangeInputs.js +1 -209
  55. package/dist/Atomic/FormElements/RangeList/RangeList.js +1 -175
  56. package/dist/Atomic/FormElements/RangeList/partial/RangeListRow.js +1 -43
  57. package/dist/Atomic/FormElements/RangeSlider/RangeSlider.js +1 -443
  58. package/dist/Atomic/FormElements/RangeSlider2/RangeSlider2.js +1 -858
  59. package/dist/Atomic/FormElements/SwitchableRow/SwitchableRow.js +1 -39
  60. package/dist/Atomic/FormElements/Switcher/Switcher.js +1 -59
  61. package/dist/Atomic/FormElements/SwitcherCheckbox/SwitcherCheckbox.js +1 -50
  62. package/dist/Atomic/FormElements/SwitcherHide/SwitcherHide.js +1 -47
  63. package/dist/Atomic/FormElements/SwitcherRadio/SwitcherRadio.js +1 -96
  64. package/dist/Atomic/FormElements/SwitcherRange/SwitcherRange.js +1 -40
  65. package/dist/Atomic/FormElements/SwitcherRangeList/SwitcherRangeList.js +1 -64
  66. package/dist/Atomic/FormElements/SwitcherTagsDropdown/SwitcherTagsDropdown.js +1 -170
  67. package/dist/Atomic/FormElements/SwitcherTagsDropdown/partial/States.js +1 -202
  68. package/dist/Atomic/FormElements/SwitcherTextarea/SwitcherTextarea.js +1 -67
  69. package/dist/Atomic/FormElements/TagListToDropdown/TagListToDropdown.js +1 -115
  70. package/dist/Atomic/FormElements/TagsDropdown/TagsDropdown.js +1 -826
  71. package/dist/Atomic/FormElements/Text/Text.js +1 -125
  72. package/dist/Atomic/FormElements/TextSwitcher/TextSwitcher.js +1 -45
  73. package/dist/Atomic/FormElements/Textarea/Textarea.js +1 -80
  74. package/dist/Atomic/FormElements/TieredCheckboxes/TieredCheckboxes.js +1 -176
  75. package/dist/Atomic/FormElements/TieredCheckboxes/partial/AccordionWithCheckbox.js +1 -62
  76. package/dist/Atomic/FormElements/TimeRange/TimeRange.js +1 -127
  77. package/dist/Atomic/FormElements/UserContacts/UserContacts.js +1 -220
  78. package/dist/Atomic/FormElements/VariantsListRadio/VariantsListRadio.js +1 -83
  79. package/dist/Atomic/FormElements/VariantsListRadio/partials/VariantsListRadioItem.js +1 -82
  80. package/dist/Atomic/FormElements/WidgetPseudoTable/WidgetPseudoTable.js +1 -101
  81. package/dist/Atomic/FormElements/WidgetPseudoTable/partial/constructor.js +1 -29
  82. package/dist/Atomic/FormElements/WidgetWithSwitchableRows/WidgetWithSwitchableRows.js +1 -113
  83. package/dist/Atomic/FormElements/WidgetWithSwitchableRows/partial/constructor.js +1 -30
  84. package/dist/Atomic/Layout/Header/Header.js +1 -85
  85. package/dist/Atomic/Layout/Spinner/Spinner.js +1 -39
  86. package/dist/Atomic/UI/Accordion/Accordion.js +1 -118
  87. package/dist/Atomic/UI/Accordion/AccordionItem.js +1 -181
  88. package/dist/Atomic/UI/AccordionTable/AccordionTable.js +1 -238
  89. package/dist/Atomic/UI/AccordionText/AccordionText.js +1 -69
  90. package/dist/Atomic/UI/AdvancedTag/AdvTag.js +1 -207
  91. package/dist/Atomic/UI/AdvancedTag/AdvancedTags.js +1 -56
  92. package/dist/Atomic/UI/Alert/Alert.js +1 -72
  93. package/dist/Atomic/UI/Arrow/Arrow.js +1 -132
  94. package/dist/Atomic/UI/Box/Box.js +1 -52
  95. package/dist/Atomic/UI/Button/Button.js +1 -89
  96. package/dist/Atomic/UI/ButtonsBar/ButtonsBar.js +1 -72
  97. package/dist/Atomic/UI/Chart/Chart.js +1 -172
  98. package/dist/Atomic/UI/Chart/partial/Chart.constants.js +1 -95
  99. package/dist/Atomic/UI/Chart/partial/ChartTypeSwitcherIcon/ChartTypeSwitcherIcon.js +1 -80
  100. package/dist/Atomic/UI/Chart/partial/datasetSetters.js +1 -188
  101. package/dist/Atomic/UI/Chart/partial/optionsConstructor.js +1 -335
  102. package/dist/Atomic/UI/Chart/partial/optionsSetters.js +1 -43
  103. package/dist/Atomic/UI/Chart/partial/utils.js +1 -60
  104. package/dist/Atomic/UI/CircleProgressBar/CircleProgressBar.js +1 -109
  105. package/dist/Atomic/UI/DateTime/DateTime.js +1 -57
  106. package/dist/Atomic/UI/DebugContainer/DebugContainer.js +1 -44
  107. package/dist/Atomic/UI/DebugContainer/useDebugContainer.js +1 -15
  108. package/dist/Atomic/UI/DoubleString/DoubleString.js +1 -102
  109. package/dist/Atomic/UI/DynamicIcon/DynamicIcon.js +1 -226
  110. package/dist/Atomic/UI/ExampleChartIntegration/ExampleChartIntegration.js +1 -221
  111. package/dist/Atomic/UI/ExampleChartIntegration/partial/utils.js +1 -106
  112. package/dist/Atomic/UI/Hint/Hint.js +1 -193
  113. package/dist/Atomic/UI/Hint/partials/_utils.js +1 -51
  114. package/dist/Atomic/UI/Modal/Modal.js +1 -188
  115. package/dist/Atomic/UI/Modal/ModalHOC.js +1 -72
  116. package/dist/Atomic/UI/Modal/partials/ModalFooter.js +1 -46
  117. package/dist/Atomic/UI/Modal/partials/ModalTitle.js +1 -83
  118. package/dist/Atomic/UI/Modal/partials/useMobileModal.js +1 -200
  119. package/dist/Atomic/UI/MonoAccordion/MonoAccordion._test.js +1 -75
  120. package/dist/Atomic/UI/MonoAccordion/MonoAccordion.js +1 -80
  121. package/dist/Atomic/UI/NavLine/NavLine.js +1 -293
  122. package/dist/Atomic/UI/PageTitle/PageTitle.js +1 -75
  123. package/dist/Atomic/UI/PieChart/PieChart.js +1 -42
  124. package/dist/Atomic/UI/Price/Price.js +1 -22
  125. package/dist/Atomic/UI/PriceRange/PriceRange.js +1 -36
  126. package/dist/Atomic/UI/ProgressLine/ProgressLine.js +1 -71
  127. package/dist/Atomic/UI/Status/Status.js +1 -59
  128. package/dist/Atomic/UI/Table/Partials/TdCell.js +1 -87
  129. package/dist/Atomic/UI/Table/Partials/TdHeader.js +1 -38
  130. package/dist/Atomic/UI/Table/Partials/TdRow.js +1 -99
  131. package/dist/Atomic/UI/Table/Partials/TdTitle.js +1 -52
  132. package/dist/Atomic/UI/Table/Table.js +1 -63
  133. package/dist/Atomic/UI/Table/TdTypes/TdActions.js +1 -80
  134. package/dist/Atomic/UI/Table/TdTypes/TdPriority.js +1 -28
  135. package/dist/Atomic/UI/Table/TdTypes/TdRange.js +1 -13
  136. package/dist/Atomic/UI/Table/TdTypes/TdWeight.js +1 -53
  137. package/dist/Atomic/UI/Tag/Tag.js +1 -160
  138. package/dist/Atomic/UI/TagList/TagList.js +1 -251
  139. package/dist/Atomic/UI/UserBox/UserBox.js +1 -73
  140. package/dist/Atomic/UI/WizardStepper/constructor.js +1 -84
  141. package/dist/Atomic/UI/WizardStepper/index.js +1 -3
  142. package/dist/Atomic/UI/WizardStepper/ui/StateIcon/StateIcon.js +1 -37
  143. package/dist/Atomic/UI/WizardStepper/ui/StateIcon/index.js +1 -3
  144. package/dist/Atomic/UI/WizardStepper/ui/StepRow/StepRow.js +1 -61
  145. package/dist/Atomic/UI/WizardStepper/ui/StepRow/index.js +1 -3
  146. package/dist/Atomic/UI/WizardStepper/ui/StepWrapper/StepWrapper.js +1 -39
  147. package/dist/Atomic/UI/WizardStepper/ui/StepWrapper/index.js +1 -3
  148. package/dist/Atomic/UI/WizardStepper/ui/icons.js +1 -49
  149. package/dist/Atomic/UI/WizardStepper/ui/index.js +1 -3
  150. package/dist/Classes/AbortableFetch.js +1 -454
  151. package/dist/Classes/AnimatedHandler.js +1 -47
  152. package/dist/Classes/RESTAPI/index.js +1 -228
  153. package/dist/Classes/RESTAPI/partials/AbortableFetch.js +1 -457
  154. package/dist/Classes/RESTAPI/partials/ApiBase.js +1 -48
  155. package/dist/Classes/RESTAPI/partials/ApiRequestCreators.js +1 -112
  156. package/dist/Classes/RESTAPI/partials/ApiUtils.js +1 -189
  157. package/dist/Classes/RESTAPI/partials/CredentialsProcessing.js +1 -252
  158. package/dist/Classes/RESTAPI/partials/Utils.js +1 -92
  159. package/dist/Classes/RESTAPI/partials/_outerDependencies.js +1 -3
  160. package/dist/Classes/RESTAPI/partials/_utils.js +1 -197
  161. package/dist/Constants/index.constants.js +1 -78
  162. package/dist/Functions/Portal.js +1 -22
  163. package/dist/Functions/customEventListener.js +1 -96
  164. package/dist/Functions/dateTime.js +1 -149
  165. package/dist/Functions/fieldValueFormatters.js +1 -405
  166. package/dist/Functions/guards/assertions.js +1 -66
  167. package/dist/Functions/guards/safeValue.js +1 -30
  168. package/dist/Functions/guards/typeGuards.js +1 -116
  169. package/dist/Functions/hooks/useFormFieldsChangesManager.js +1 -95
  170. package/dist/Functions/locale/createTranslator.js +1 -32
  171. package/dist/Functions/operations.js +1 -130
  172. package/dist/Functions/presets/inputMaskPresets.js +1 -170
  173. package/dist/Functions/presets/inputPresets.js +1 -60
  174. package/dist/Functions/presets/mobileKeyboardTypesPresets.js +1 -45
  175. package/dist/Functions/schemas.js +1 -31
  176. package/dist/Functions/useBodyScrollLock.js +1 -17
  177. package/dist/Functions/useClickOutside.js +1 -15
  178. package/dist/Functions/useDebounce.js +1 -17
  179. package/dist/Functions/useFieldFocus.js +1 -84
  180. package/dist/Functions/useFormTools/form-drivers/ArrayWithObjects.js +1 -39
  181. package/dist/Functions/useFormTools/form-drivers/ObjectWithIterableObjects.js +1 -159
  182. package/dist/Functions/useFormTools/form-drivers/ObjectWithNamedKeyObjects.js +1 -78
  183. package/dist/Functions/useFormTools/functions/General.js +1 -134
  184. package/dist/Functions/useFormTools/functions/RenderFields.js +1 -111
  185. package/dist/Functions/useFormTools/functions/usePrevious.js +1 -12
  186. package/dist/Functions/useFormTools/index.js +1 -778
  187. package/dist/Functions/useInputHighlightError.js +1 -67
  188. package/dist/Functions/useIsMobile/useIsMobile.js +1 -53
  189. package/dist/Functions/useKeyPress/useHandleKeyPress.js +1 -21
  190. package/dist/Functions/useKeyPress/useKeyPress.js +1 -75
  191. package/dist/Functions/useLocalStorage.js +1 -34
  192. package/dist/Functions/useLocationParams.js +1 -27
  193. package/dist/Functions/useMediaQuery.js +1 -17
  194. package/dist/Functions/useMetaInfo.js +1 -43
  195. package/dist/Functions/useMouseUpOutside.js +1 -16
  196. package/dist/Functions/useOnlineStatus.js +1 -29
  197. package/dist/Functions/usePasswordChecker.js +1 -110
  198. package/dist/Functions/usePrevious.js +1 -12
  199. package/dist/Functions/useResize.js +1 -31
  200. package/dist/Functions/useScrollTo.js +1 -17
  201. package/dist/Functions/useToggle.js +1 -17
  202. package/dist/Functions/utils.js +1 -522
  203. package/dist/Langs.js +1 -168
  204. package/dist/Molecular/CustomIcons/components/AffiliateNetworks.js +1 -21
  205. package/dist/Molecular/CustomIcons/components/AlertCircle.js +1 -23
  206. package/dist/Molecular/CustomIcons/components/AppStore.js +1 -29
  207. package/dist/Molecular/CustomIcons/components/Arrow.js +1 -32
  208. package/dist/Molecular/CustomIcons/components/ArrowDown.js +1 -17
  209. package/dist/Molecular/CustomIcons/components/ArrowLeft.js +1 -22
  210. package/dist/Molecular/CustomIcons/components/ArrowRight.js +1 -22
  211. package/dist/Molecular/CustomIcons/components/ArrowUp.js +1 -17
  212. package/dist/Molecular/CustomIcons/components/Bell.js +1 -15
  213. package/dist/Molecular/CustomIcons/components/Button.js +1 -12
  214. package/dist/Molecular/CustomIcons/components/Campaigns.js +1 -16
  215. package/dist/Molecular/CustomIcons/components/Check.js +1 -14
  216. package/dist/Molecular/CustomIcons/components/Check2.js +1 -12
  217. package/dist/Molecular/CustomIcons/components/ChevronDown.js +1 -12
  218. package/dist/Molecular/CustomIcons/components/ChevronDownDisabled.js +1 -11
  219. package/dist/Molecular/CustomIcons/components/ChevronLeft.js +1 -11
  220. package/dist/Molecular/CustomIcons/components/ChevronRight.js +1 -11
  221. package/dist/Molecular/CustomIcons/components/ChevronUp.js +1 -11
  222. package/dist/Molecular/CustomIcons/components/ChevronUpDown.js +1 -27
  223. package/dist/Molecular/CustomIcons/components/Close.js +1 -14
  224. package/dist/Molecular/CustomIcons/components/ColumnsOrder.js +1 -17
  225. package/dist/Molecular/CustomIcons/components/Delete.js +1 -16
  226. package/dist/Molecular/CustomIcons/components/Edit.js +1 -15
  227. package/dist/Molecular/CustomIcons/components/Email.js +1 -31
  228. package/dist/Molecular/CustomIcons/components/FinturfLogo.js +1 -18
  229. package/dist/Molecular/CustomIcons/components/FinturfLogo2.js +1 -35
  230. package/dist/Molecular/CustomIcons/components/Flows.js +1 -15
  231. package/dist/Molecular/CustomIcons/components/Gift.js +1 -25
  232. package/dist/Molecular/CustomIcons/components/GoogleAuth.js +1 -29
  233. package/dist/Molecular/CustomIcons/components/GooglePlay.js +1 -29
  234. package/dist/Molecular/CustomIcons/components/HelpCircle.js +1 -19
  235. package/dist/Molecular/CustomIcons/components/HelpCircle2.js +1 -20
  236. package/dist/Molecular/CustomIcons/components/HelpCircleFilled.js +1 -19
  237. package/dist/Molecular/CustomIcons/components/Home.js +1 -16
  238. package/dist/Molecular/CustomIcons/components/Home2.js +1 -22
  239. package/dist/Molecular/CustomIcons/components/Key.js +1 -23
  240. package/dist/Molecular/CustomIcons/components/Landers.js +1 -20
  241. package/dist/Molecular/CustomIcons/components/Lock.js +1 -15
  242. package/dist/Molecular/CustomIcons/components/Mail.js +1 -26
  243. package/dist/Molecular/CustomIcons/components/Mastercard.js +1 -73
  244. package/dist/Molecular/CustomIcons/components/Minus.js +1 -25
  245. package/dist/Molecular/CustomIcons/components/Offers.js +1 -16
  246. package/dist/Molecular/CustomIcons/components/Pause.js +1 -28
  247. package/dist/Molecular/CustomIcons/components/PayPal.js +1 -41
  248. package/dist/Molecular/CustomIcons/components/PayPalLightLarge.js +1 -28
  249. package/dist/Molecular/CustomIcons/components/Phone.js +1 -30
  250. package/dist/Molecular/CustomIcons/components/Play.js +1 -25
  251. package/dist/Molecular/CustomIcons/components/Plus.js +1 -25
  252. package/dist/Molecular/CustomIcons/components/Profile.js +1 -16
  253. package/dist/Molecular/CustomIcons/components/QRCode.js +1 -29
  254. package/dist/Molecular/CustomIcons/components/Rectangle.js +1 -12
  255. package/dist/Molecular/CustomIcons/components/Revert.js +1 -13
  256. package/dist/Molecular/CustomIcons/components/Star.js +1 -14
  257. package/dist/Molecular/CustomIcons/components/Star2.js +1 -16
  258. package/dist/Molecular/CustomIcons/components/TrafficSources.js +1 -14
  259. package/dist/Molecular/CustomIcons/components/Trash.js +1 -15
  260. package/dist/Molecular/CustomIcons/components/TrashRed.js +1 -15
  261. package/dist/Molecular/CustomIcons/components/Triggers.js +1 -15
  262. package/dist/Molecular/CustomIcons/components/User.js +1 -25
  263. package/dist/Molecular/CustomIcons/components/Visa.js +1 -31
  264. package/dist/Molecular/CustomIcons/components/X.js +1 -12
  265. package/dist/Molecular/CustomIcons/index.js +1 -61
  266. package/dist/Molecular/FormElement/FormElement.js +1 -54
  267. package/dist/Molecular/FormWithDependOn/FormWithDependOn.js +1 -184
  268. package/dist/Molecular/FormWithDependOn/partials/_utils.js +1 -53
  269. package/dist/Molecular/InputAddress/InputAddress.js +1 -620
  270. package/dist/Molecular/InputPassword/InputPassword.js +1 -48
  271. package/dist/index.js +1 -1
  272. package/package.json +1 -1
@@ -1,522 +1 @@
1
- import { useEffect } from "react";
2
-
3
- import moment from "moment-timezone";
4
-
5
- import { DEFAULT_COLORS, OS } from "../Constants/index.constants";
6
-
7
- export const uuid = () => Date.now().toString(36) + Math.random().toString(36).substring(2);
8
-
9
- export const getIsOnlyAnObject = (input) =>
10
- typeof input === "object" && input instanceof Object && !Array.isArray(input);
11
-
12
- /* eslint-disable guard-for-in, no-unused-vars */
13
- export const handleObjectChange =
14
- (updateObject, updateFunction) =>
15
- (data, prop = "", isNumber) => {
16
- let value;
17
- if (data?.target) {
18
- value =
19
- data.target.type === "checkbox"
20
- ? data.target.checked
21
- : data.target.value;
22
- } else value = data;
23
-
24
- value = isNumber ? Number(value) : value;
25
-
26
- const props = prop.split(".");
27
- const currentObject = props.reduce((res, chapter, index) => {
28
- if (props.length !== index + 1) res = res[chapter];
29
- return res;
30
- }, updateObject);
31
-
32
- currentObject[props.pop()] = value;
33
- updateFunction();
34
- };
35
-
36
- export const useOutsideToggle = (ref, setOut, open) => {
37
- function handleClickOutside(event) {
38
- if (ref.current && !ref.current.contains(event.target)) {
39
- setOut(open);
40
- }
41
- }
42
- useEffect(() => {
43
- document.addEventListener("mouseup", handleClickOutside);
44
- return () => {
45
- // Unbind the event listener on clean up
46
- document.removeEventListener("mouseup", handleClickOutside);
47
- };
48
- }, [ref]);
49
- };
50
-
51
- // export const clone = obj => {
52
- // const data = obj instanceof Array ? [] : {};
53
- // for (const i in obj) data[i] = typeof obj[i] === 'object' && obj[i] != null ? clone(obj[i]) : obj[i];
54
- // return data;
55
- // };
56
- // ! Этот правильнее
57
- export const clone = (input) => {
58
- if (input === null || typeof input !== "object") return input;
59
- const data = input instanceof Array ? [] : {};
60
- for (const i in input) data[i] = clone(input[i]);
61
- return data;
62
- };
63
-
64
- export const getResponseClone = async (res) =>
65
- await (typeof res?.clone === "function" ? res.clone() : clone(res));
66
-
67
- //TimeUtils
68
- export function transformUTCTimeToLocal(date, format = "YYYY-MM-DD HH:mm:ss") {
69
- if (!date) return;
70
- const utcDate = moment.utc(date).toDate();
71
- return moment(utcDate, format).local().format(format);
72
- }
73
- export function transformLocalTimeToUTC(date, format = "YYYY-MM-DD HH:mm:ss") {
74
- if (!date) return;
75
- return moment(date, format).utc().format(format);
76
- }
77
- export function transformUTCHoursToLocal(time, format = "HH:mm:ss") {
78
- if (!time) return;
79
- const splitedTime = time.split(":");
80
- const offset = moment().utcOffset();
81
- let HH = Number(splitedTime[0]);
82
- let mm = Number(splitedTime[1]);
83
- const ss = splitedTime[2];
84
- mm = mm + offset;
85
- while (mm > 59) {
86
- mm -= 60;
87
- HH += 1;
88
- }
89
- if (HH > 23) HH -= 24;
90
- while (mm < 0) {
91
- mm += 60;
92
- HH -= 1;
93
- }
94
- if (HH < 0) HH += 24;
95
- return `${HH}:${mm}:${ss}`;
96
- }
97
-
98
- //? Намерянно значением по умолчанию назначаю самый информационно-маленький паттерн
99
- export function transformDateOrTimeOrTogetherToFormat(
100
- data,
101
- outputFormat = "HH:mm",
102
- additional,
103
- ) {
104
- const ERROR_VALUE = "Invalid date";
105
- const ERROR_MESSGE = `Invalid input data for ${outputFormat} format`;
106
- const { parseFormat, isReturnAsMomentInstance } = getIsOnlyAnObject(
107
- additional,
108
- )
109
- ? additional
110
- : {};
111
-
112
- if (typeof data !== "string" && typeof data !== "number") {
113
- return isReturnAsMomentInstance ? moment("error") : ERROR_MESSGE;
114
- }
115
-
116
- //? Игнорируем parseFormat, если data пришла как timestamp или если parseFormat не строка
117
- const momentArgs = [
118
- data,
119
- ...(!Number.isNaN(Number(data)) || typeof parseFormat === "string"
120
- ? []
121
- : [parseFormat]),
122
- ];
123
-
124
- //? Задача получить moment-экземпляр, валидный либо невалидный
125
- const momentInstance = (() => {
126
- let instance = moment(...momentArgs);
127
-
128
- //? Проверяем валидность moment-экземпляр-а путем попытки привести его к выходному формату
129
- //? Попадем в этот кейс если
130
- //? - data это timestamp
131
- //? - data это строка в формате date-time
132
- //? - data это строка в формате date (в этом случае время выставится 00:00:00)
133
- if (instance.format(outputFormat) !== ERROR_VALUE) return instance;
134
- //? Если же приведение не удалось, то предполагаем, что data пришла в формате time
135
- //? В этом случае создадим объект от текущей даты, распарсим data и установим время
136
- //? Корректно обработаются паттерны: 'HH*mm', 'HH*mm*ss', 'HH*mm*ss*любое_количество_ms', где * - любой разделитель
137
- else if (/^\d\d.\d\d/.test(data)) {
138
- instance = moment();
139
- const symbols = data.split("");
140
-
141
- const timeArr = symbols
142
- .reduce(
143
- (acc, symbol, idx) => {
144
- if (Number.isNaN(Number(symbol))) {
145
- if (acc.group) acc.result.push(acc.group);
146
- acc.group = "";
147
- } else acc.group = `${acc.group}${symbol}`;
148
- if (idx === symbols.length - 1 && acc.group)
149
- acc.result.push(acc.group);
150
- return acc;
151
- },
152
- { result: [], group: "" },
153
- )
154
- //? reverse используется исключительно для того, чтобы после можно было использовать метод pop, а не shift,
155
- //? т.к. методы добавления/извлечения относительно конца массива работают быстрее,
156
- //? чем аналогичные относительно начала массива
157
- .result.reverse();
158
-
159
- instance.hours(Number(timeArr.pop()));
160
- instance.minutes(Number(timeArr.pop()));
161
- instance.seconds(timeArr.length ? Number(timeArr.pop()) : 0);
162
- instance.milliseconds(timeArr.length ? Number(timeArr.pop()) : 0);
163
- } else instance = moment("error"); //? Иначе создаем заведомо невалидный moment-экземпляр
164
-
165
- return instance;
166
- })();
167
-
168
- if (isReturnAsMomentInstance) return momentInstance;
169
-
170
- const output = momentInstance.format(outputFormat);
171
- return output === ERROR_VALUE ? ERROR_MESSGE : output;
172
- }
173
-
174
- //? Намерянно значением по умолчанию назначаю самый информационно-маленький паттерн
175
- export function transformDateOrTimeOrTogetherToFormattedLocal(
176
- data,
177
- outputFormat = "HH:mm",
178
- additional,
179
- ) {
180
- const ERROR_VALUE = "Invalid date";
181
- const ERROR_MESSGE = `Invalid input data for ${outputFormat} format`;
182
-
183
- if (additional && !getIsOnlyAnObject(additional)) {
184
- throw new Error(
185
- "Bad additional [transformDateOrTimeOrTogetherToFormattedLocal]",
186
- );
187
- }
188
-
189
- const compositeAdditional = {
190
- ...(additional || {}),
191
- isReturnAsMomentInstance: true,
192
- };
193
- const date = transformDateOrTimeOrTogetherToFormat(
194
- data,
195
- outputFormat,
196
- compositeAdditional,
197
- );
198
-
199
- const dateWithLocale = date.add(moment().utcOffset(), "minutes");
200
- const output = dateWithLocale.format(outputFormat);
201
-
202
- return output === ERROR_VALUE ? ERROR_MESSGE : output;
203
- }
204
-
205
- //принимает обьект и массив ключей обьекта
206
- //возвращает обьект с теми полями, которых нет в массиве ключей
207
- export const omitKeys = (obj = {}, keys = []) =>
208
- keys.reduce((acc, key) => {
209
- const { [key]: omit, ...rest } = acc;
210
- return rest;
211
- }, obj);
212
-
213
- export const logout = () => {
214
- window.localStorage.removeItem("accessToken");
215
- window.localStorage.removeItem("tokenExpires");
216
- window.location.reload();
217
- };
218
-
219
- export const getStyles = (el, prop) => {
220
- if (!el) return null;
221
- if (!prop) return window.getComputedStyle(el);
222
- return window.getComputedStyle(el).getPropertyValue(prop);
223
- };
224
-
225
- export const getColorById = (id, colors) => {
226
- if (!id) return "#FF7D00";
227
-
228
- const idToArr = Array.from(id);
229
- const colorsArr = colors && colors.length > 0 ? colors : DEFAULT_COLORS;
230
-
231
- let number = idToArr.reduce((acc, item) => {
232
- if (Number(item)) {
233
- return acc + Number(item);
234
- }
235
- return acc;
236
- }, 0);
237
-
238
- while (number >= colorsArr.length) {
239
- number -= colorsArr.length;
240
- }
241
-
242
- return colorsArr[number];
243
- };
244
-
245
- export const debounce = (fn, ms) => {
246
- let id = null;
247
- return (...args) => {
248
- clearTimeout(id);
249
- id = setTimeout(() => {
250
- clearTimeout(id);
251
- fn(...args);
252
- }, ms);
253
- };
254
- };
255
-
256
- export const throttle = (fn, ms) => {
257
- let id = null;
258
- return (...args) => {
259
- if (id) return;
260
- fn(...args);
261
- id = setTimeout(() => {
262
- clearTimeout(id);
263
- id = null;
264
- }, ms);
265
- };
266
- };
267
-
268
- export const addBitDepthPoints = (value, step = 3) => {
269
- //содержит ли value точку
270
- const isFraction = value?.includes(".");
271
-
272
- //взять строку до точки
273
- const valueBeforeDot = isFraction
274
- ? value?.slice(0, value?.indexOf("."))
275
- : value;
276
-
277
- //расстановка запятых после каждой 3й цифры с конца
278
- const intPart = valueBeforeDot
279
- .split("")
280
- .reverse()
281
- .reduce(
282
- (acc, item, idx) =>
283
- idx % step === 0 && idx !== 0 ? [...acc, ",", item] : [...acc, item],
284
- [],
285
- )
286
- .reverse()
287
- .join("");
288
-
289
- return isFraction ? intPart + value?.slice(value?.indexOf(".")) : intPart;
290
- };
291
-
292
- export const changeMeta = (key, items = []) => {
293
- const defaultMeta = items.find((i) => i.key === "default");
294
-
295
- if (key) {
296
- const item = items.find((i) => i.key === key);
297
- document.title = item?.title ?? defaultMeta?.title;
298
- document
299
- .querySelector('meta[name="description"]')
300
- .setAttribute("content", item?.description ?? defaultMeta?.description);
301
- }
302
- };
303
-
304
- export const firstLetterCapital = (str) =>
305
- typeof str === "string"
306
- ? `${str.charAt(0).toUpperCase()}${str.slice(1)}`
307
- : str;
308
- export const capitalized = firstLetterCapital;
309
-
310
- export const checkedRef = (ref) =>
311
- ref ? (typeof ref === "function" ? (node) => ref(node) : ref) : null;
312
-
313
- export function downloadEmulation(data, filename, type = "image/*") {
314
- const file = new Blob([data], { type });
315
- if (window.navigator.msSaveOrOpenBlob)
316
- // IE10+
317
- window.navigator.msSaveOrOpenBlob(file, filename);
318
- else {
319
- // Others
320
- const a = document.createElement("a"),
321
- url = URL.createObjectURL(file);
322
- a.href = url;
323
- a.download = filename;
324
- document.body.appendChild(a);
325
- a.click();
326
- setTimeout(() => {
327
- document.body.removeChild(a);
328
- window.URL.revokeObjectURL(url);
329
- }, 0);
330
- }
331
- }
332
-
333
- export const downloadFile = async ({ url, name, type }) => {
334
- const response = await fetch(url).then(async (res) => ({
335
- data: await res.blob(),
336
- type: type ?? res.headers.get("content-type"),
337
- }));
338
- downloadEmulation(response.data, name, response.type);
339
- };
340
-
341
- export const compare = (first, second, keys = []) => {
342
- //? Если типы НЕ равны - не равны априори
343
- if (typeof first !== typeof second) return false;
344
- //? Если ответы на вопрос "массив ли?" не равны, то не равны и типы, значит тоже не равны априори
345
- if (Array.isArray(first) !== Array.isArray(second)) return false;
346
- //? Если прошли if-ку - типы условно равны, можем оценивать тип лишь одного параметра, это будет справедливо и для второго
347
-
348
- //? Если примитивы - просто сравниваем. Кейс с null обработан тут.
349
- if (!(first instanceof Object)) return first === second;
350
-
351
- //? Если НЕ приметивы - не важно массив или нет, методы объекта для массива тоже доступны
352
-
353
- const getComparationStructure = (data) => {
354
- if (typeof data === 'function') return data.toString();
355
- if (!(data instanceof Object)) return data;
356
-
357
- return Object.entries(data)
358
- .sort((a, b) => (a[0]).localeCompare(b[0]))
359
- .map(([key, value]) => ([key, getComparationStructure(data[key])]));
360
- };
361
-
362
- //? Получаем структуры для сравнения (с учетом глубины) - массивы массивов, сортируем по ключам,
363
- const structureForComparingOfFirst = getComparationStructure(first);
364
- const structureForComparingOfSecond = getComparationStructure(second);
365
-
366
- return (JSON.stringify(structureForComparingOfFirst) === JSON.stringify(structureForComparingOfSecond));
367
- };
368
-
369
- // Set Carret to the End of Input
370
- export const setCarretToEnd = (input) => {
371
- setTimeout(() => {
372
- const tmp = input.value;
373
- input.value = "";
374
- input.value = tmp;
375
- }, 10);
376
- };
377
-
378
- export const compareAlphabetical = (a, b, key = "label") => {
379
- let item1 = a?.[key];
380
- let item2 = b?.[key];
381
-
382
- if (typeof item1 !== "string" || typeof item2 !== "string") return 0;
383
-
384
- item1 = item1?.toLowerCase();
385
- item2 = item2?.toLowerCase();
386
-
387
- if (item1 < item2) {
388
- return -1;
389
- }
390
- if (item1 > item2) {
391
- return 1;
392
- }
393
- return 0;
394
- };
395
-
396
- export const getBase64 = (file) => {
397
- if (file) {
398
- return new Promise(function (resolve, reject) {
399
- const reader = new FileReader();
400
- reader.readAsDataURL(file);
401
- reader.onload = () => resolve(reader.result);
402
- reader.onerror = (error) => reject("Error: ", error);
403
- });
404
- }
405
- };
406
-
407
- export const renderFileSize = (bytes, decimals = 2) => {
408
- if (!Number(bytes)) return "0 Bytes";
409
-
410
- const k = 1024;
411
- const dm = decimals < 0 ? 0 : decimals;
412
- const sizes = ["Bytes", "KB", "MB", "GB"];
413
-
414
- const i = Math.floor(Math.log(bytes) / Math.log(k));
415
-
416
- return `${parseFloat((bytes / Math.pow(k, i)).toFixed(dm))} ${sizes[i]}`;
417
- };
418
-
419
- export const getUniqueFileExtensions = (extListString) => {
420
- // Split the extensions list into an array
421
- const extArray = extListString
422
- ?.split(",")
423
- .map((ext) => ext.trim().toUpperCase());
424
-
425
- // Remove duplicates using a Set
426
- const uniqueExts = [...new Set(extArray)];
427
-
428
- // Join the unique extensions into a string
429
- return uniqueExts.join(", ");
430
- };
431
-
432
- export const getOS = () => {
433
- let userAgent = window.navigator.userAgent,
434
- platform =
435
- window.navigator?.userAgentData?.platform || window.navigator.platform,
436
- macosPlatforms = ["Macintosh", "MacIntel", "MacPPC", "Mac68K"],
437
- windowsPlatforms = ["Win32", "Win64", "Windows", "WinCE"],
438
- iosPlatforms = ["iPhone", "iPad", "iPod"],
439
- os = OS.Unknown;
440
-
441
- if (macosPlatforms.indexOf(platform) !== -1) {
442
- os = OS.MacOS;
443
- } else if (iosPlatforms.indexOf(platform) !== -1) {
444
- os = OS.iOS;
445
- } else if (windowsPlatforms.indexOf(platform) !== -1) {
446
- os = OS.Windows;
447
- } else if (/Android/.test(userAgent)) {
448
- os = OS.Android;
449
- } else if (/Linux/.test(platform)) {
450
- os = OS.Linux;
451
- }
452
-
453
- return os;
454
- };
455
-
456
- export const disableDefaultBehavior = (e) => {
457
- e?.preventDefault();
458
- e?.stopPropagation();
459
- };
460
- String.prototype.longerThan = function (compareWith) {
461
- return this?.length > compareWith?.length;
462
- };
463
- String.prototype.lastIndexEqualsTo = function (index) {
464
- return this?.length - 1 === index;
465
- };
466
-
467
- export const getCorrectTestId = ({ testId = "", withTier = true }) =>
468
- testId && testId !== undefined ? `${withTier ? "-" : ""}${testId}` : "";
469
-
470
- //? Метод возращает корректно обрезанную маску с учетом лимита значащих символов
471
- export const getLimitedMask = (props) => {
472
- const { mask = '', significantChars = [], limit, isOnlyMask = true } = props;
473
-
474
- // ? Проверяем основные входные пропы
475
- if (
476
- typeof mask !== 'string'
477
- || !Array.isArray(significantChars)
478
- || !significantChars.every(item => typeof item === 'string' && item.length === 1)
479
- ) {
480
- // ? Если нужна только маска возвращаем никакую маску,
481
- // ? иначе - объект с никакой маской и нулевой статистикой
482
- return isOnlyMask ? '' : { mask: '', countOfSignificantChars: 0, countOfNotSignificantChars: 0 };
483
- }
484
-
485
- // Ф-я расчёта количества "значащих" символов в маске
486
- const getCountOfSignificantChars = (mask) => mask.split('').filter(sym => significantChars.includes(sym)).length;
487
-
488
- // ? Расчитываем безопасный лимит
489
- const safelyLimit = (() => {
490
- const COUNT_OF_SIGNIFICANT_CHARS = getCountOfSignificantChars(mask)
491
-
492
- //? Если нельзя привести к числу, то лимитом считаем ВСЕ "значащие" символы в маске
493
- const outputLimit = isNaN(+limit) ? COUNT_OF_SIGNIFICANT_CHARS : +limit;
494
-
495
- //? Если выходной лимит ноль или больше количества "значащих" символов в маске,
496
- //? то лимитом считаем ВСЕ "значащие" символы в маске
497
- if (!outputLimit || outputLimit > COUNT_OF_SIGNIFICANT_CHARS) return COUNT_OF_SIGNIFICANT_CHARS;
498
-
499
- return outputLimit;
500
- })();
501
-
502
- // ? Корректно "обрезаем" маску с учетом того, сколько "значащих" символов должно в нее войти
503
- const limitedMask = mask.split('').reduce((acc, sym) => {
504
- // ? "Нарасчиваем" маску до тех пор, пока счетчик не достигнет лимита
505
- if (acc.count < safelyLimit) {
506
- acc.result += sym;
507
- // ? Если добавленный символ "значащий" - увеличиваем счетчик
508
- if (significantChars.includes(sym)) acc.count += 1;
509
- }
510
- return acc;
511
- }, { result: '', count: 0 }).result;
512
-
513
- // ? Если нужна только маска - возвращаем только маску,
514
- // ? иначе - объект с новой маской и статистикой по ней
515
- return isOnlyMask
516
- ? limitedMask
517
- : {
518
- mask: limitedMask,
519
- countOfSignificantChars: safelyLimit,
520
- countOfNotSignificantChars: limitedMask.length - safelyLimit,
521
- };
522
- }
1
+ var t,e;function r(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=Array(e);r<e;r++)n[r]=t[r];return n}function n(t,e,r,n,o,i,a){try{var u=t[i](a),l=u.value}catch(t){r(t);return}u.done?e(l):Promise.resolve(l).then(n,o)}function o(t){return function(){var e=this,r=arguments;return new Promise(function(o,i){var a=t.apply(e,r);function u(t){n(a,o,i,u,l,"next",t)}function l(t){n(a,o,i,u,l,"throw",t)}u(void 0)})}}function i(t,e){return null!=e&&"undefined"!=typeof Symbol&&e[Symbol.hasInstance]?!!e[Symbol.hasInstance](t):t instanceof e}function a(t){return function(t){if(Array.isArray(t))return r(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||c(t)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function u(t){var e=function(t,e){if("object"!==l(t)||null===t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var n=r.call(t,e||"default");if("object"!==l(n))return n;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(t,"string");return"symbol"===l(e)?e:String(e)}function l(t){return t&&"undefined"!=typeof Symbol&&t.constructor===Symbol?"symbol":typeof t}function c(t,e){if(t){if("string"==typeof t)return r(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);if("Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return r(t,e)}}function f(t,e){var r,n,o,i={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},a=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return a.next=u(0),a.throw=u(1),a.return=u(2),"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function u(u){return function(l){var c=[u,l];if(r)throw TypeError("Generator is already executing.");for(;a&&(a=0,c[0]&&(i=0)),i;)try{if(r=1,n&&(o=2&c[0]?n.return:c[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,c[1])).done)return o;switch(n=0,o&&(c=[2&c[0],o.value]),c[0]){case 0:case 1:o=c;break;case 4:return i.label++,{value:c[1],done:!1};case 5:i.label++,n=c[1],c=[0];continue;case 7:c=i.ops.pop(),i.trys.pop();continue;default:if(!(o=(o=i.trys).length>0&&o[o.length-1])&&(6===c[0]||2===c[0])){i=0;continue}if(3===c[0]&&(!o||c[1]>o[0]&&c[1]<o[3])){i.label=c[1];break}if(6===c[0]&&i.label<o[1]){i.label=o[1],o=c;break}if(o&&i.label<o[2]){i.label=o[2],i.ops.push(c);break}o[2]&&i.ops.pop(),i.trys.pop();continue}c=e.call(t,i)}catch(t){c=[6,t],n=0}finally{r=o=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}import{useEffect as s}from"react";import d from"moment-timezone";import{DEFAULT_COLORS as p,OS as v}from"../Constants/index.constants";export var uuid=function(){return Date.now().toString(36)+Math.random().toString(36).substring(2)};export var getIsOnlyAnObject=function(t){return(void 0===t?"undefined":l(t))==="object"&&i(t,Object)&&!Array.isArray(t)};export var handleObjectChange=function(t,e){return function(r){var n,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",i=arguments.length>2?arguments[2]:void 0;n=(null==r?void 0:r.target)?"checkbox"===r.target.type?r.target.checked:r.target.value:r,n=i?Number(n):n;var a=o.split(".");a.reduce(function(t,e,r){return a.length!==r+1&&(t=t[e]),t},t)[a.pop()]=n,e()}};export var useOutsideToggle=function(t,e,r){var n=function(n){t.current&&!t.current.contains(n.target)&&e(r)};s(function(){return document.addEventListener("mouseup",n),function(){document.removeEventListener("mouseup",n)}},[t])};export var clone=function(t){if(null===t||(void 0===t?"undefined":l(t))!=="object")return t;var e=i(t,Array)?[]:{};for(var r in t)e[r]=clone(t[r]);return e};export var getResponseClone=(t=o(function(t){return f(this,function(e){switch(e.label){case 0:return[4,"function"==typeof(null==t?void 0:t.clone)?t.clone():clone(t)];case 1:return[2,e.sent()]}})}),function(e){return t.apply(this,arguments)});export function transformUTCTimeToLocal(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"YYYY-MM-DD HH:mm:ss";if(t){var r=d.utc(t).toDate();return d(r,e).local().format(e)}}export function transformLocalTimeToUTC(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"YYYY-MM-DD HH:mm:ss";if(t)return d(t,e).utc().format(e)}export function transformUTCHoursToLocal(t){if(arguments.length>1&&void 0!==arguments[1]&&arguments[1],t){var e=t.split(":"),r=d().utcOffset(),n=Number(e[0]),o=Number(e[1]),i=e[2];for(o+=r;o>59;)o-=60,n+=1;for(n>23&&(n-=24);o<0;)o+=60,n-=1;return n<0&&(n+=24),"".concat(n,":").concat(o,":").concat(i)}}export function transformDateOrTimeOrTogetherToFormat(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"HH:mm",r=arguments.length>2?arguments[2]:void 0,n="Invalid date",o="Invalid input data for ".concat(e," format"),i=getIsOnlyAnObject(r)?r:{},u=i.parseFormat,l=i.isReturnAsMomentInstance;if("string"!=typeof t&&"number"!=typeof t)return l?d("error"):o;var c=[t].concat(a(Number.isNaN(Number(t))&&"string"!=typeof u?[u]:[])),f=function(){var r=d.apply(void 0,a(c));if(r.format(e)!==n);else if(/^\d\d.\d\d/.test(t)){r=d();var o=t.split(""),i=o.reduce(function(t,e,r){return Number.isNaN(Number(e))?(t.group&&t.result.push(t.group),t.group=""):t.group="".concat(t.group).concat(e),r===o.length-1&&t.group&&t.result.push(t.group),t},{result:[],group:""}).result.reverse();r.hours(Number(i.pop())),r.minutes(Number(i.pop())),r.seconds(i.length?Number(i.pop()):0),r.milliseconds(i.length?Number(i.pop()):0)}else r=d("error");return r}();if(l)return f;var s=f.format(e);return s===n?o:s}export function transformDateOrTimeOrTogetherToFormattedLocal(t){var e,r,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"HH:mm",o=arguments.length>2?arguments[2]:void 0,i="Invalid input data for ".concat(n," format");if(o&&!getIsOnlyAnObject(o))throw Error("Bad additional [transformDateOrTimeOrTogetherToFormattedLocal]");var a=transformDateOrTimeOrTogetherToFormat(t,n,(e=function(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(t){return Object.getOwnPropertyDescriptor(r,t).enumerable}))),n.forEach(function(e){var n;n=r[e],e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n})}return t}({},o||{}),r=r={isReturnAsMomentInstance:!0},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):(function(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);r.push.apply(r,n)}return r})(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}),e)).add(d().utcOffset(),"minutes").format(n);return"Invalid date"===a?i:a}export var omitKeys=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return e.reduce(function(t,e){return t[e],function(t,e){if(null==t)return{};var r,n,o=function(t,e){if(null==t)return{};var r,n,o={},i=Object.keys(t);for(n=0;n<i.length;n++)r=i[n],e.indexOf(r)>=0||(o[r]=t[r]);return o}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(n=0;n<i.length;n++)r=i[n],!(e.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(t,r)&&(o[r]=t[r])}return o}(t,[e].map(u))},t)};export var logout=function(){window.localStorage.removeItem("accessToken"),window.localStorage.removeItem("tokenExpires"),window.location.reload()};export var getStyles=function(t,e){return t?e?window.getComputedStyle(t).getPropertyValue(e):window.getComputedStyle(t):null};export var getColorById=function(t,e){if(!t)return"#FF7D00";for(var r=Array.from(t),n=e&&e.length>0?e:p,o=r.reduce(function(t,e){return Number(e)?t+Number(e):t},0);o>=n.length;)o-=n.length;return n[o]};export var debounce=function(t,e){var r=null;return function(){for(var n=arguments.length,o=Array(n),i=0;i<n;i++)o[i]=arguments[i];clearTimeout(r),r=setTimeout(function(){clearTimeout(r),t.apply(void 0,a(o))},e)}};export var throttle=function(t,e){var r=null;return function(){for(var n=arguments.length,o=Array(n),i=0;i<n;i++)o[i]=arguments[i];r||(t.apply(void 0,a(o)),r=setTimeout(function(){clearTimeout(r),r=null},e))}};export var addBitDepthPoints=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:3,r=null==t?void 0:t.includes("."),n=(r?null==t?void 0:t.slice(0,null==t?void 0:t.indexOf(".")):t).split("").reverse().reduce(function(t,r,n){return n%e==0&&0!==n?a(t).concat([",",r]):a(t).concat([r])},[]).reverse().join("");return r?n+(null==t?void 0:t.slice(null==t?void 0:t.indexOf("."))):n};export var changeMeta=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],r=e.find(function(t){return"default"===t.key});if(t){var n,o,i=e.find(function(e){return e.key===t});document.title=null!=(n=null==i?void 0:i.title)?n:null==r?void 0:r.title,document.querySelector('meta[name="description"]').setAttribute("content",null!=(o=null==i?void 0:i.description)?o:null==r?void 0:r.description)}};export var firstLetterCapital=function(t){return"string"==typeof t?"".concat(t.charAt(0).toUpperCase()).concat(t.slice(1)):t};export var capitalized=firstLetterCapital;export var checkedRef=function(t){return t?"function"==typeof t?function(e){return t(e)}:t:null};export function downloadEmulation(t,e){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"image/*",n=new Blob([t],{type:r});if(window.navigator.msSaveOrOpenBlob)window.navigator.msSaveOrOpenBlob(n,e);else{var o=document.createElement("a"),i=URL.createObjectURL(n);o.href=i,o.download=e,document.body.appendChild(o),o.click(),setTimeout(function(){document.body.removeChild(o),window.URL.revokeObjectURL(i)},0)}}export var downloadFile=(e=o(function(t){var e,r,n,i;return f(this,function(a){switch(a.label){case 0:var u;return e=t.url,r=t.name,n=t.type,[4,fetch(e).then((u=o(function(t){var e;return f(this,function(r){switch(r.label){case 0:return e={},[4,t.blob()];case 1:return[2,(e.data=r.sent(),e.type=null!=n?n:t.headers.get("content-type"),e)]}})}),function(t){return u.apply(this,arguments)}))];case 1:return downloadEmulation((i=a.sent()).data,r,i.type),[2]}})}),function(t){return e.apply(this,arguments)});export var compare=function(t,e){if(arguments.length>2&&void 0!==arguments[2]&&arguments[2],(void 0===t?"undefined":l(t))!==(void 0===e?"undefined":l(e))||Array.isArray(t)!==Array.isArray(e))return!1;if(!i(t,Object))return t===e;var r=function(t){return"function"==typeof t?t.toString():i(t,Object)?Object.entries(t).sort(function(t,e){return t[0].localeCompare(e[0])}).map(function(e){var n=function(t){if(Array.isArray(t))return t}(e)||function(t,e){var r,n,o=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=o){var i=[],a=!0,u=!1;try{for(o=o.call(t);!(a=(r=o.next()).done)&&(i.push(r.value),i.length!==e);a=!0);}catch(t){u=!0,n=t}finally{try{a||null==o.return||o.return()}finally{if(u)throw n}}return i}}(e,2)||c(e,2)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(),o=n[0];return n[1],[o,r(t[o])]}):t},n=r(t),o=r(e);return JSON.stringify(n)===JSON.stringify(o)};export var setCarretToEnd=function(t){setTimeout(function(){var e=t.value;t.value="",t.value=e},10)};export var compareAlphabetical=function(t,e){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"label",n=null==t?void 0:t[r],o=null==e?void 0:e[r];return"string"!=typeof n||"string"!=typeof o?0:(n=null==n?void 0:n.toLowerCase())<(o=null==o?void 0:o.toLowerCase())?-1:+(n>o)};export var getBase64=function(t){if(t)return new Promise(function(e,r){var n=new FileReader;n.readAsDataURL(t),n.onload=function(){return e(n.result)},n.onerror=function(t){return r("Error: ",t)}})};export var renderFileSize=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:2;if(!Number(t))return"0 Bytes";var r=Math.floor(Math.log(t)/Math.log(1024));return"".concat(parseFloat((t/Math.pow(1024,r)).toFixed(e<0?0:e))," ").concat(["Bytes","KB","MB","GB"][r])};export var getUniqueFileExtensions=function(t){return a(new Set(null==t?void 0:t.split(",").map(function(t){return t.trim().toUpperCase()}))).join(", ")};export var getOS=function(){var t,e,r=window.navigator.userAgent,n=(null==(e=window.navigator)||null==(t=e.userAgentData)?void 0:t.platform)||window.navigator.platform,o=v.Unknown;return -1!==["Macintosh","MacIntel","MacPPC","Mac68K"].indexOf(n)?o=v.MacOS:-1!==["iPhone","iPad","iPod"].indexOf(n)?o=v.iOS:-1!==["Win32","Win64","Windows","WinCE"].indexOf(n)?o=v.Windows:/Android/.test(r)?o=v.Android:/Linux/.test(n)&&(o=v.Linux),o};export var disableDefaultBehavior=function(t){null==t||t.preventDefault(),null==t||t.stopPropagation()};String.prototype.longerThan=function(t){return(null===this||void 0===this?void 0:this.length)>(null==t?void 0:t.length)},String.prototype.lastIndexEqualsTo=function(t){return(null===this||void 0===this?void 0:this.length)-1===t};export var getCorrectTestId=function(t){var e=t.testId,r=void 0===e?"":e,n=t.withTier;return r&&void 0!==r?"".concat(void 0===n||n?"-":"").concat(r):""};export var getLimitedMask=function(t){var e,r,n=t.mask,o=void 0===n?"":n,i=t.significantChars,a=void 0===i?[]:i,u=t.limit,l=t.isOnlyMask,c=void 0===l||l;if("string"!=typeof o||!Array.isArray(a)||!a.every(function(t){return"string"==typeof t&&1===t.length}))return c?"":{mask:"",countOfSignificantChars:0,countOfNotSignificantChars:0};var f=(e=o.split("").filter(function(t){return a.includes(t)}).length,(r=isNaN(+u)?e:+u)&&!(r>e)?r:e),s=o.split("").reduce(function(t,e){return t.count<f&&(t.result+=e,a.includes(e)&&(t.count+=1)),t},{result:"",count:0}).result;return c?s:{mask:s,countOfSignificantChars:f,countOfNotSignificantChars:s.length-f}};