intelicoreact 1.5.38 → 1.5.41

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 (519) hide show
  1. package/dist/Atomic/FormElements/ActionAlert/ActionAlert.js +44 -93
  2. package/dist/Atomic/FormElements/ActionAlert/ActionAlert.scss +13 -23
  3. package/dist/Atomic/FormElements/AdvancedStatus/AdvancedStatus.js +38 -43
  4. package/dist/Atomic/FormElements/AdvancedStatus/AdvancedStatus.scss +10 -20
  5. package/dist/Atomic/FormElements/Calendar/Calendar.js +164 -243
  6. package/dist/Atomic/FormElements/Calendar/Calendar.scss +0 -1
  7. package/dist/Atomic/FormElements/CheckboxInput/CheckboxInput.js +51 -60
  8. package/dist/Atomic/FormElements/CheckboxInput/CheckboxInput.scss +15 -25
  9. package/dist/Atomic/FormElements/CheckboxesLine/CheckboxesLine.js +39 -47
  10. package/dist/Atomic/FormElements/CheckboxesLine/CheckboxesLine.scss +2 -5
  11. package/dist/Atomic/FormElements/Datepicker/Datepicker.js +308 -410
  12. package/dist/Atomic/FormElements/Datepicker/components/Calendar.js +109 -169
  13. package/dist/Atomic/FormElements/Dropdown/Dropdown.js +527 -680
  14. package/dist/Atomic/FormElements/Dropdown/Dropdown.scss +59 -61
  15. package/dist/Atomic/FormElements/Dropdown/components/DropdownLoader.js +15 -28
  16. package/dist/Atomic/FormElements/DropdownLiveSearch/DropdownLiveSearch.js +378 -498
  17. package/dist/Atomic/FormElements/DropdownLiveSearch/DropdownLiveSearch.scss +32 -36
  18. package/dist/Atomic/FormElements/FileLoader/FileLoader.js +70 -103
  19. package/dist/Atomic/FormElements/FileLoader/FileLoader.scss +2 -0
  20. package/dist/Atomic/FormElements/FileLoader/partial/LoadZone.js +91 -138
  21. package/dist/Atomic/FormElements/FileLoader/partial/LoadedContent.js +55 -109
  22. package/dist/Atomic/FormElements/FileLoaderDescription/FileLoaderDescription.js +193 -254
  23. package/dist/Atomic/FormElements/FileLoaderDescription/FileLoaderDescription.scss +16 -19
  24. package/dist/Atomic/FormElements/FileLoaderLocal/FileLoaderLocal.js +140 -156
  25. package/dist/Atomic/FormElements/FileLoaderLocal/FileLoaderLocal.scss +4 -8
  26. package/dist/Atomic/FormElements/FileLoaderLocalGroup/FileLoaderLocalGroup.js +156 -222
  27. package/dist/Atomic/FormElements/FormattedRawSSN/FormattedRawSSN.js +114 -158
  28. package/dist/Atomic/FormElements/FormattedRawSSN/FormattedRawSSN_old.js +92 -151
  29. package/dist/Atomic/FormElements/Input/Input.js +330 -340
  30. package/dist/Atomic/FormElements/Input/Input.scss +1 -1
  31. package/dist/Atomic/FormElements/InputCalendar/InputCalendar.js +110 -156
  32. package/dist/Atomic/FormElements/InputColor/InputColor.js +58 -57
  33. package/dist/Atomic/FormElements/InputCurrency/InputCurrency.js +145 -188
  34. package/dist/Atomic/FormElements/InputDateRange/InputDateRange.js +228 -294
  35. package/dist/Atomic/FormElements/InputDateRange/InputDateRange.scss +2 -1
  36. package/dist/Atomic/FormElements/InputDateRange/components/DateInput.js +56 -55
  37. package/dist/Atomic/FormElements/InputDateRange/components/Datepicker.js +536 -645
  38. package/dist/Atomic/FormElements/InputDateRange/components/OpenedPart.js +190 -220
  39. package/dist/Atomic/FormElements/InputDateRange/components/SelectItem.js +31 -33
  40. package/dist/Atomic/FormElements/InputDateRange/dependencies.js +169 -247
  41. package/dist/Atomic/FormElements/InputLink/InputLink.js +71 -118
  42. package/dist/Atomic/FormElements/InputMask/InputCarretPosition.js +38 -47
  43. package/dist/Atomic/FormElements/InputMask/InputMask.js +1053 -938
  44. package/dist/Atomic/FormElements/InputMask/config.js +15 -16
  45. package/dist/Atomic/FormElements/InputMask/functions.js +51 -77
  46. package/dist/Atomic/FormElements/InputMask2/InputMask2.js +592 -569
  47. package/dist/Atomic/FormElements/InputMask2/config.js +15 -16
  48. package/dist/Atomic/FormElements/InputMask2/functions.js +51 -77
  49. package/dist/Atomic/FormElements/InputMask3/InputMask3.js +679 -651
  50. package/dist/Atomic/FormElements/InputMask3/config.js +15 -16
  51. package/dist/Atomic/FormElements/InputMask3/functions.js +51 -77
  52. package/dist/Atomic/FormElements/InputWithAction/InputWithAction.js +88 -127
  53. package/dist/Atomic/FormElements/InputWithAction/InputWithAction.scss +1 -1
  54. package/dist/Atomic/FormElements/InputsRow/InputsRow.js +111 -182
  55. package/dist/Atomic/FormElements/Label/Label.js +55 -82
  56. package/dist/Atomic/FormElements/Label/Label.scss +8 -18
  57. package/dist/Atomic/FormElements/MobileCalendar/MobileCalendar.js +382 -437
  58. package/dist/Atomic/FormElements/MobileCalendar/MobileCalendar.scss +3 -3
  59. package/dist/Atomic/FormElements/MultiSelect/MultiSelect.js +50 -88
  60. package/dist/Atomic/FormElements/NumericInput/NumericInput.js +264 -314
  61. package/dist/Atomic/FormElements/NumericInput/NumericInput.scss +1 -1
  62. package/dist/Atomic/FormElements/RadioGroup/RadioGroup.js +51 -93
  63. package/dist/Atomic/FormElements/RadioGroupWithInput/RadioGroupWithInput.js +55 -69
  64. package/dist/Atomic/FormElements/RadioInput/RadioInput.js +45 -51
  65. package/dist/Atomic/FormElements/RadioInput/RadioInput.scss +4 -4
  66. package/dist/Atomic/FormElements/RadioRowSwitcher/RadioRowSwitcher.js +40 -53
  67. package/dist/Atomic/FormElements/RangeCalendar/RangeCalendar.js +120 -169
  68. package/dist/Atomic/FormElements/RangeInputs/RangeInputs.js +141 -195
  69. package/dist/Atomic/FormElements/RangeList/RangeList.js +140 -199
  70. package/dist/Atomic/FormElements/RangeList/RangeList.scss +2 -2
  71. package/dist/Atomic/FormElements/RangeList/partial/AnyOuterClass.scss +4 -1
  72. package/dist/Atomic/FormElements/RangeList/partial/RangeListRow.js +44 -57
  73. package/dist/Atomic/FormElements/RangeSlider/RangeSlider.js +377 -463
  74. package/dist/Atomic/FormElements/RangeSlider/RangeSlider.scss +1 -1
  75. package/dist/Atomic/FormElements/RangeSlider2/RangeSlider2.js +759 -760
  76. package/dist/Atomic/FormElements/RangeSlider2/RangeSlider2.scss +9 -9
  77. package/dist/Atomic/FormElements/SwitchableRow/SwitchableRow.js +31 -36
  78. package/dist/Atomic/FormElements/SwitchableRow/SwitchableRow.scss +2 -0
  79. package/dist/Atomic/FormElements/SwitchableRow/partial/AnyOuterClass.scss +1 -1
  80. package/dist/Atomic/FormElements/Switcher/Switcher.js +44 -52
  81. package/dist/Atomic/FormElements/Switcher/Switcher.scss +3 -3
  82. package/dist/Atomic/FormElements/SwitcherCheckbox/SwitcherCheckbox.js +44 -43
  83. package/dist/Atomic/FormElements/SwitcherCheckbox/SwitcherCheckbox.scss +2 -0
  84. package/dist/Atomic/FormElements/SwitcherHide/SwitcherHide.js +36 -37
  85. package/dist/Atomic/FormElements/SwitcherHide/SwitcherHide.scss +2 -0
  86. package/dist/Atomic/FormElements/SwitcherRadio/SwitcherRadio.js +56 -93
  87. package/dist/Atomic/FormElements/SwitcherRadio/SwitcherRadio.scss +2 -0
  88. package/dist/Atomic/FormElements/SwitcherRange/SwitcherRange.js +53 -86
  89. package/dist/Atomic/FormElements/SwitcherRange/SwitcherRange.scss +2 -0
  90. package/dist/Atomic/FormElements/SwitcherRangeList/SwitcherRangeList.js +54 -46
  91. package/dist/Atomic/FormElements/SwitcherRangeList/partial/AnyOuterClass.scss +1 -1
  92. package/dist/Atomic/FormElements/SwitcherTagsDropdown/SwitcherTagsDropdown.js +102 -172
  93. package/dist/Atomic/FormElements/SwitcherTagsDropdown/SwitcherTagsDropdown.scss +6 -4
  94. package/dist/Atomic/FormElements/SwitcherTagsDropdown/partial/States.js +154 -209
  95. package/dist/Atomic/FormElements/SwitcherTextarea/SwitcherTextarea.js +56 -59
  96. package/dist/Atomic/FormElements/SwitcherTextarea/SwitcherTextarea.scss +2 -2
  97. package/dist/Atomic/FormElements/TagListToDropdown/TagListToDropdown.js +112 -140
  98. package/dist/Atomic/FormElements/TagsDropdown/TagsDropdown.js +919 -1035
  99. package/dist/Atomic/FormElements/TagsDropdown/TagsDropdown.scss +119 -155
  100. package/dist/Atomic/FormElements/Text/Text.js +97 -88
  101. package/dist/Atomic/FormElements/TextSwitcher/TextSwitcher.js +35 -44
  102. package/dist/Atomic/FormElements/TextSwitcher/TextSwitcher.scss +8 -8
  103. package/dist/Atomic/FormElements/Textarea/Textarea.js +64 -102
  104. package/dist/Atomic/FormElements/Textarea/Textarea.scss +8 -4
  105. package/dist/Atomic/FormElements/TieredCheckboxes/TieredCheckboxes.js +133 -172
  106. package/dist/Atomic/FormElements/TieredCheckboxes/partial/AccordionWithCheckbox.js +49 -48
  107. package/dist/Atomic/FormElements/TimeRange/TimeRange.js +63 -114
  108. package/dist/Atomic/FormElements/TimeRange/TimeRange.scss +3 -9
  109. package/dist/Atomic/FormElements/UserContacts/UserContacts.js +122 -179
  110. package/dist/Atomic/FormElements/UserContacts/UserContacts.scss +5 -10
  111. package/dist/Atomic/FormElements/UserContacts/partial/AnyOuterClass.scss +1 -1
  112. package/dist/Atomic/FormElements/VariantsListRadio/VariantsListRadio.js +65 -101
  113. package/dist/Atomic/FormElements/VariantsListRadio/VariantsListRadio.scss +12 -4
  114. package/dist/Atomic/FormElements/VariantsListRadio/partials/VariantsListRadioItem.js +71 -80
  115. package/dist/Atomic/FormElements/WidgetPseudoTable/WidgetPseudoTable.js +64 -79
  116. package/dist/Atomic/FormElements/WidgetPseudoTable/WidgetPseudoTable.scss +3 -1
  117. package/dist/Atomic/FormElements/WidgetPseudoTable/partial/AnyOuterClass.scss +1 -1
  118. package/dist/Atomic/FormElements/WidgetPseudoTable/partial/constructor.js +34 -42
  119. package/dist/Atomic/FormElements/WidgetWithSwitchableRows/WidgetWithSwitchableRows.js +83 -102
  120. package/dist/Atomic/FormElements/WidgetWithSwitchableRows/WidgetWithSwitchableRows.scss +3 -1
  121. package/dist/Atomic/FormElements/WidgetWithSwitchableRows/partial/AnyOuterClass.scss +1 -1
  122. package/dist/Atomic/FormElements/WidgetWithSwitchableRows/partial/constructor.js +35 -42
  123. package/dist/Atomic/Layout/Header/Header.js +80 -148
  124. package/dist/Atomic/Layout/Header/Header.scss +1 -1
  125. package/dist/Atomic/Layout/MainMenu/MainMenu.js +133 -213
  126. package/dist/Atomic/Layout/MainMenu/MainMenu.scss +9 -9
  127. package/dist/Atomic/Layout/Spinner/Spinner.js +22 -39
  128. package/dist/Atomic/Layout/Spinner/Spinner.scss +16 -32
  129. package/dist/Atomic/UI/Accordion/Accordion.js +52 -102
  130. package/dist/Atomic/UI/Accordion/Accordion.scss +14 -25
  131. package/dist/Atomic/UI/Accordion/AccordionItem.js +102 -170
  132. package/dist/Atomic/UI/AccordionTable/AccordionTable.js +167 -251
  133. package/dist/Atomic/UI/AccordionText/AccordionText.js +54 -105
  134. package/dist/Atomic/UI/AccordionText/AccordionText.scss +9 -22
  135. package/dist/Atomic/UI/AdvancedTag/AdvTag.js +135 -207
  136. package/dist/Atomic/UI/AdvancedTag/AdvancedTags.js +46 -100
  137. package/dist/Atomic/UI/AdvancedTag/AdvancedTags.scss +2 -2
  138. package/dist/Atomic/UI/Alert/Alert.js +63 -116
  139. package/dist/Atomic/UI/Alert/Alert.scss +2 -2
  140. package/dist/Atomic/UI/Arrow/Arrow.js +110 -163
  141. package/dist/Atomic/UI/Box/Box.js +37 -37
  142. package/dist/Atomic/UI/Box/Box.scss +11 -11
  143. package/dist/Atomic/UI/Button/Button.js +41 -43
  144. package/dist/Atomic/UI/ButtonsBar/ButtonsBar.js +67 -61
  145. package/dist/Atomic/UI/Chart/Chart.js +96 -170
  146. package/dist/Atomic/UI/Chart/partial/Chart.constants.js +74 -142
  147. package/dist/Atomic/UI/Chart/partial/ChartTypeSwitcherIcon/ChartTypeSwitcherIcon.js +77 -91
  148. package/dist/Atomic/UI/Chart/partial/datasetSetters.js +117 -120
  149. package/dist/Atomic/UI/Chart/partial/optionsConstructor.js +292 -314
  150. package/dist/Atomic/UI/Chart/partial/optionsSetters.js +39 -54
  151. package/dist/Atomic/UI/Chart/partial/utils.js +33 -56
  152. package/dist/Atomic/UI/CircleProgressBar/CircleProgressBar.js +88 -145
  153. package/dist/Atomic/UI/DateTime/DateTime.js +37 -89
  154. package/dist/Atomic/UI/DateTime/DateTime.scss +2 -2
  155. package/dist/Atomic/UI/DateTime/partial/AnyOuterClass.scss +1 -1
  156. package/dist/Atomic/UI/DebugContainer/DebugContainer.js +31 -93
  157. package/dist/Atomic/UI/DebugContainer/useDebugContainer.js +18 -66
  158. package/dist/Atomic/UI/DoubleString/DoubleString.js +77 -134
  159. package/dist/Atomic/UI/DoubleString/DoubleString.scss +4 -6
  160. package/dist/Atomic/UI/DoubleString/partial/AnyOuterClass.scss +1 -1
  161. package/dist/Atomic/UI/DynamicIcon/DynamicIcon.js +22 -65
  162. package/dist/Atomic/UI/ExampleChartIntegration/ExampleChartIntegration.js +170 -251
  163. package/dist/Atomic/UI/ExampleChartIntegration/partial/AnyOuterClass.scss +1 -1
  164. package/dist/Atomic/UI/ExampleChartIntegration/partial/utils.js +84 -109
  165. package/dist/Atomic/UI/Hint/Hint.js +202 -243
  166. package/dist/Atomic/UI/Hint/Hint.scss +3 -5
  167. package/dist/Atomic/UI/Hint/partials/_utils.js +42 -54
  168. package/dist/Atomic/UI/Modal/Modal.js +172 -171
  169. package/dist/Atomic/UI/Modal/Modal.scss +69 -91
  170. package/dist/Atomic/UI/Modal/ModalHOC.js +38 -92
  171. package/dist/Atomic/UI/Modal/ModalMobile.scss +14 -24
  172. package/dist/Atomic/UI/Modal/partials/ModalFooter.js +18 -68
  173. package/dist/Atomic/UI/Modal/partials/ModalTitle.js +38 -107
  174. package/dist/Atomic/UI/Modal/partials/useMobileModal.js +153 -130
  175. package/dist/Atomic/UI/MonoAccordion/MonoAccordion.js +62 -118
  176. package/dist/Atomic/UI/MonoAccordion/MonoAccordion.scss +25 -163
  177. package/dist/Atomic/UI/NavLine/NavLine.js +273 -306
  178. package/dist/Atomic/UI/NavLine/NavLine.scss +155 -195
  179. package/dist/Atomic/UI/NavLine/Tabs.js +115 -0
  180. package/dist/Atomic/UI/PageTitle/PageTitle.js +52 -73
  181. package/dist/Atomic/UI/PageTitle/PageTitle.scss +14 -52
  182. package/dist/Atomic/UI/PieChart/PieChart.js +42 -105
  183. package/dist/Atomic/UI/PieChart/PieChart.scss +11 -86
  184. package/dist/Atomic/UI/Price/Price.js +20 -27
  185. package/dist/Atomic/UI/PriceRange/PriceRange.js +18 -40
  186. package/dist/Atomic/UI/ProgressLine/ProgressLine.js +73 -92
  187. package/dist/Atomic/UI/ProgressLine/ProgressLine.scss +71 -85
  188. package/dist/Atomic/UI/Status/Status.js +51 -62
  189. package/dist/Atomic/UI/Status/Status.scss +29 -48
  190. package/dist/Atomic/UI/Table/Partials/TdCell.js +88 -126
  191. package/dist/Atomic/UI/Table/Partials/TdHeader.js +39 -58
  192. package/dist/Atomic/UI/Table/Partials/TdRow.js +73 -124
  193. package/dist/Atomic/UI/Table/Partials/TdTitle.js +45 -113
  194. package/dist/Atomic/UI/Table/Table.js +43 -61
  195. package/dist/Atomic/UI/Table/Table.scss +3 -0
  196. package/dist/Atomic/UI/Table/TdTypes/TdActions.js +64 -108
  197. package/dist/Atomic/UI/Table/TdTypes/TdPriority.js +31 -44
  198. package/dist/Atomic/UI/Table/TdTypes/TdRange.js +10 -24
  199. package/dist/Atomic/UI/Table/TdTypes/TdWeight.js +48 -59
  200. package/dist/Atomic/UI/Tag/Tag.js +113 -157
  201. package/dist/Atomic/UI/Tag/Tag.scss +48 -102
  202. package/dist/Atomic/UI/TagList/TagList.js +179 -223
  203. package/dist/Atomic/UI/TagList/TagList.scss +9 -13
  204. package/dist/Atomic/UI/UserBox/UserBox.js +56 -80
  205. package/dist/Atomic/UI/UserBox/UserBox.scss +21 -45
  206. package/dist/Atomic/UI/WizardStepper/constructor.js +89 -127
  207. package/dist/Atomic/UI/WizardStepper/index.js +6 -14
  208. package/dist/Atomic/UI/WizardStepper/ui/StateIcon/StateIcon.js +51 -53
  209. package/dist/Atomic/UI/WizardStepper/ui/StateIcon/StateIcon.scss +7 -11
  210. package/dist/Atomic/UI/WizardStepper/ui/StateIcon/index.js +5 -9
  211. package/dist/Atomic/UI/WizardStepper/ui/StepRow/StepRow.js +67 -84
  212. package/dist/Atomic/UI/WizardStepper/ui/StepRow/StepRow.scss +7 -13
  213. package/dist/Atomic/UI/WizardStepper/ui/StepRow/index.js +6 -14
  214. package/dist/Atomic/UI/WizardStepper/ui/StepWrapper/StepWrapper.js +45 -50
  215. package/dist/Atomic/UI/WizardStepper/ui/StepWrapper/StepWrapper.scss +18 -24
  216. package/dist/Atomic/UI/WizardStepper/ui/StepWrapper/index.js +6 -14
  217. package/dist/Atomic/UI/WizardStepper/ui/icons.js +106 -138
  218. package/dist/Atomic/UI/WizardStepper/ui/index.js +6 -14
  219. package/dist/Classes/AbortableFetch.js +326 -394
  220. package/dist/Classes/AnimatedHandler.js +44 -31
  221. package/dist/Classes/RESTAPI/index.js +173 -131
  222. package/dist/Classes/RESTAPI/partials/AbortableFetch.js +334 -399
  223. package/dist/Classes/RESTAPI/partials/ApiBase.js +30 -30
  224. package/dist/Classes/RESTAPI/partials/ApiRequestCreators.js +88 -107
  225. package/dist/Classes/RESTAPI/partials/ApiUtils.js +166 -144
  226. package/dist/Classes/RESTAPI/partials/CredentialsProcessing.js +204 -180
  227. package/dist/Classes/RESTAPI/partials/Utils.js +83 -80
  228. package/dist/Classes/RESTAPI/partials/_outerDependencies.js +8 -16
  229. package/dist/Classes/RESTAPI/partials/_utils.js +125 -139
  230. package/dist/Constants/index.constants.js +22 -102
  231. package/dist/Functions/Portal.js +23 -67
  232. package/dist/Functions/animatingFunctions/getAnimatedHandler.js +1 -1
  233. package/dist/Functions/customEventListener.js +50 -48
  234. package/dist/Functions/dateTime.js +177 -130
  235. package/dist/Functions/fieldValueFormatters.js +346 -275
  236. package/dist/Functions/hooks/useFormFieldsChangesManager.js +96 -125
  237. package/dist/Functions/locale/createTranslator.js +27 -29
  238. package/dist/Functions/operations.js +102 -129
  239. package/dist/Functions/presets/inputMaskPresets.js +99 -88
  240. package/dist/Functions/presets/inputPresets.js +35 -41
  241. package/dist/Functions/presets/mobileKeyboardTypesPresets.js +49 -30
  242. package/dist/Functions/schemas.js +20 -78
  243. package/dist/Functions/useBodyScrollLock.js +15 -21
  244. package/dist/Functions/useClickOutside.js +16 -21
  245. package/dist/Functions/useDebounce.js +21 -62
  246. package/dist/Functions/useFieldFocus.js +79 -83
  247. package/dist/Functions/useFormTools/form-drivers/ArrayWithObjects.js +46 -39
  248. package/dist/Functions/useFormTools/form-drivers/ObjectWithIterableObjects.js +137 -132
  249. package/dist/Functions/useFormTools/form-drivers/ObjectWithNamedKeyObjects.js +73 -63
  250. package/dist/Functions/useFormTools/functions/General.js +129 -117
  251. package/dist/Functions/useFormTools/functions/RenderFields.js +85 -75
  252. package/dist/Functions/useFormTools/functions/usePrevious.js +10 -16
  253. package/dist/Functions/useFormTools/index.js +709 -647
  254. package/dist/Functions/useInputHighlightError.js +53 -104
  255. package/dist/Functions/useIsMobile.js +26 -0
  256. package/dist/Functions/useKeyPress/useHandleKeyPress.js +33 -40
  257. package/dist/Functions/useKeyPress/useKeyPress.js +39 -48
  258. package/dist/Functions/useLocalStorage.js +31 -38
  259. package/dist/Functions/useLocationParams.js +24 -31
  260. package/dist/Functions/useMediaQuery.js +10 -14
  261. package/dist/Functions/useMetaInfo.js +35 -45
  262. package/dist/Functions/useMouseUpOutside.js +15 -21
  263. package/dist/Functions/useOnlineStatus.js +21 -25
  264. package/dist/Functions/usePasswordChecker.js +111 -183
  265. package/dist/Functions/usePrevious.js +10 -16
  266. package/dist/Functions/useResize.js +28 -32
  267. package/dist/Functions/useScrollTo.js +16 -26
  268. package/dist/Functions/useToggle.js +16 -20
  269. package/dist/Functions/utils.js +469 -493
  270. package/dist/Molecular/CustomIcons/components/AffiliateNetworks.js +28 -75
  271. package/dist/Molecular/CustomIcons/components/AlertCircle.js +28 -77
  272. package/dist/Molecular/CustomIcons/components/AppStore.js +32 -84
  273. package/dist/Molecular/CustomIcons/components/Arrow.js +38 -93
  274. package/dist/Molecular/CustomIcons/components/ArrowDown.js +20 -63
  275. package/dist/Molecular/CustomIcons/components/ArrowLeft.js +23 -71
  276. package/dist/Molecular/CustomIcons/components/ArrowRight.js +23 -71
  277. package/dist/Molecular/CustomIcons/components/ArrowUp.js +20 -63
  278. package/dist/Molecular/CustomIcons/components/Bell.js +18 -61
  279. package/dist/Molecular/CustomIcons/components/Button.js +18 -61
  280. package/dist/Molecular/CustomIcons/components/Campaigns.js +19 -62
  281. package/dist/Molecular/CustomIcons/components/Check.js +19 -62
  282. package/dist/Molecular/CustomIcons/components/Check2.js +18 -61
  283. package/dist/Molecular/CustomIcons/components/ChevronDown.js +18 -61
  284. package/dist/Molecular/CustomIcons/components/ChevronDownDisabled.js +18 -61
  285. package/dist/Molecular/CustomIcons/components/ChevronLeft.js +18 -61
  286. package/dist/Molecular/CustomIcons/components/ChevronRight.js +18 -61
  287. package/dist/Molecular/CustomIcons/components/ChevronUp.js +18 -61
  288. package/dist/Molecular/CustomIcons/components/ChevronUpDown.js +33 -81
  289. package/dist/Molecular/CustomIcons/components/Close.js +20 -64
  290. package/dist/Molecular/CustomIcons/components/ColumnsOrder.js +45 -95
  291. package/dist/Molecular/CustomIcons/components/Delete.js +19 -62
  292. package/dist/Molecular/CustomIcons/components/Edit.js +18 -61
  293. package/dist/Molecular/CustomIcons/components/Email.js +36 -87
  294. package/dist/Molecular/CustomIcons/components/FinturfLogo.js +26 -82
  295. package/dist/Molecular/CustomIcons/components/FinturfLogo2.js +34 -83
  296. package/dist/Molecular/CustomIcons/components/Flows.js +18 -61
  297. package/dist/Molecular/CustomIcons/components/Gift.js +23 -71
  298. package/dist/Molecular/CustomIcons/components/GoogleAuth.js +32 -84
  299. package/dist/Molecular/CustomIcons/components/GooglePlay.js +32 -84
  300. package/dist/Molecular/CustomIcons/components/HelpCircle.js +21 -67
  301. package/dist/Molecular/CustomIcons/components/HelpCircle2.js +22 -68
  302. package/dist/Molecular/CustomIcons/components/HelpCircleFilled.js +21 -67
  303. package/dist/Molecular/CustomIcons/components/Home.js +21 -67
  304. package/dist/Molecular/CustomIcons/components/Home2.js +24 -70
  305. package/dist/Molecular/CustomIcons/components/Key.js +26 -69
  306. package/dist/Molecular/CustomIcons/components/Landers.js +22 -68
  307. package/dist/Molecular/CustomIcons/components/Lock.js +18 -61
  308. package/dist/Molecular/CustomIcons/components/Mail.js +26 -75
  309. package/dist/Molecular/CustomIcons/components/Mastercard.js +68 -128
  310. package/dist/Molecular/CustomIcons/components/Minus.js +31 -79
  311. package/dist/Molecular/CustomIcons/components/Offers.js +19 -62
  312. package/dist/Molecular/CustomIcons/components/Pause.js +31 -79
  313. package/dist/Molecular/CustomIcons/components/PayPal.js +45 -96
  314. package/dist/Molecular/CustomIcons/components/PayPalLightLarge.js +32 -81
  315. package/dist/Molecular/CustomIcons/components/Phone.js +33 -81
  316. package/dist/Molecular/CustomIcons/components/Play.js +31 -79
  317. package/dist/Molecular/CustomIcons/components/Plus.js +31 -79
  318. package/dist/Molecular/CustomIcons/components/Profile.js +23 -69
  319. package/dist/Molecular/CustomIcons/components/QRCode.js +33 -85
  320. package/dist/Molecular/CustomIcons/components/Rectangle.js +18 -61
  321. package/dist/Molecular/CustomIcons/components/Revert.js +21 -67
  322. package/dist/Molecular/CustomIcons/components/Star.js +17 -60
  323. package/dist/Molecular/CustomIcons/components/Star2.js +19 -62
  324. package/dist/Molecular/CustomIcons/components/TrafficSources.js +21 -68
  325. package/dist/Molecular/CustomIcons/components/Trash.js +18 -61
  326. package/dist/Molecular/CustomIcons/components/TrashRed.js +18 -61
  327. package/dist/Molecular/CustomIcons/components/Triggers.js +18 -61
  328. package/dist/Molecular/CustomIcons/components/User.js +23 -71
  329. package/dist/Molecular/CustomIcons/components/Visa.js +34 -88
  330. package/dist/Molecular/CustomIcons/components/X.js +18 -61
  331. package/dist/Molecular/CustomIcons/index.js +674 -76
  332. package/dist/Molecular/FormElement/FormElement.js +41 -44
  333. package/dist/Molecular/FormWithDependOn/FormWithDependOn.js +161 -179
  334. package/dist/Molecular/FormWithDependOn/partials/_utils.js +56 -49
  335. package/dist/Molecular/InputAddress/InputAddress.js +421 -496
  336. package/dist/Molecular/InputAddress/InputAddress.scss +16 -14
  337. package/dist/Molecular/InputPassword/InputPassword.js +47 -99
  338. package/dist/index.js +8 -11
  339. package/dist/scss/_fonts.scss +60 -48
  340. package/dist/scss/_mixins.scss +2 -2
  341. package/dist/scss/_vars.scss +5 -4
  342. package/dist/scss/main.scss +4 -5
  343. package/package.json +21 -18
  344. package/dist/Atomic/FormElements/ActionAlert/ActionAlert.interface.js +0 -4
  345. package/dist/Atomic/FormElements/ActionAlert/ActionAlert.stories.js +0 -89
  346. package/dist/Atomic/FormElements/ActionAlert/ActionAlert.test.js +0 -130
  347. package/dist/Atomic/FormElements/ActionAlert/index.js +0 -17
  348. package/dist/Atomic/FormElements/AdvancedStatus/AdvancedStatus.interface.js +0 -4
  349. package/dist/Atomic/FormElements/AdvancedStatus/AdvancedStatus.stories.js +0 -81
  350. package/dist/Atomic/FormElements/AdvancedStatus/AdvancedStatus.test.js +0 -104
  351. package/dist/Atomic/FormElements/AdvancedStatus/index.js +0 -17
  352. package/dist/Atomic/FormElements/Calendar/Calendar.props.js +0 -4
  353. package/dist/Atomic/FormElements/Calendar/Calendar.stories.js +0 -108
  354. package/dist/Atomic/FormElements/CheckboxInput/CheckboxInput.interface.js +0 -4
  355. package/dist/Atomic/FormElements/CheckboxInput/CheckboxInput.stories.js +0 -100
  356. package/dist/Atomic/FormElements/CheckboxInput/CheckboxInput.test.js +0 -143
  357. package/dist/Atomic/FormElements/CheckboxInput/index.js +0 -17
  358. package/dist/Atomic/FormElements/CheckboxesLine/CheckboxesLine.interface.js +0 -4
  359. package/dist/Atomic/FormElements/CheckboxesLine/CheckboxesLine.stories.js +0 -94
  360. package/dist/Atomic/FormElements/CheckboxesLine/CheckboxesLine.test.js +0 -177
  361. package/dist/Atomic/FormElements/CheckboxesLine/index.js +0 -17
  362. package/dist/Atomic/FormElements/Datepicker/Datepicker.stories.js +0 -51
  363. package/dist/Atomic/FormElements/Dropdown/Dropdown.stories.js +0 -596
  364. package/dist/Atomic/FormElements/DropdownLiveSearch/DropdownLiveSearch.stories.js +0 -272
  365. package/dist/Atomic/FormElements/FileLoader/FileLoader.stories.js +0 -182
  366. package/dist/Atomic/FormElements/FileLoaderDescription/FileLoaderDescription.stories.js +0 -327
  367. package/dist/Atomic/FormElements/FileLoaderLocal/FileLoaderLocal.stories.js +0 -186
  368. package/dist/Atomic/FormElements/FileLoaderLocalGroup/FileLoaderLocalGroup.stories.js +0 -84
  369. package/dist/Atomic/FormElements/FormattedRawSSN/FormattedRawSSN.stories.js +0 -107
  370. package/dist/Atomic/FormElements/Input/Input.stories.js +0 -251
  371. package/dist/Atomic/FormElements/InputCalendar/InputCalendar.stories.js +0 -115
  372. package/dist/Atomic/FormElements/InputColor/InputColor.stories.js +0 -119
  373. package/dist/Atomic/FormElements/InputCurrency/InputCurrency.interface.js +0 -4
  374. package/dist/Atomic/FormElements/InputCurrency/InputCurrency.stories.js +0 -178
  375. package/dist/Atomic/FormElements/InputCurrency/InputCurrency.test.js +0 -129
  376. package/dist/Atomic/FormElements/InputCurrency/index.js +0 -16
  377. package/dist/Atomic/FormElements/InputDateRange/InputDateRange.stories.js +0 -123
  378. package/dist/Atomic/FormElements/InputLink/InputLink.stories.js +0 -140
  379. package/dist/Atomic/FormElements/InputMask/InputMask.stories.js +0 -303
  380. package/dist/Atomic/FormElements/InputMask2/InputMask2.stories.js +0 -314
  381. package/dist/Atomic/FormElements/InputMask3/InputMask3.stories.js +0 -335
  382. package/dist/Atomic/FormElements/InputWithAction/InputWithAction.stories.js +0 -276
  383. package/dist/Atomic/FormElements/InputsRow/InputsRow.stories.js +0 -56
  384. package/dist/Atomic/FormElements/Label/Label.interface.js +0 -4
  385. package/dist/Atomic/FormElements/Label/Label.stories.js +0 -47
  386. package/dist/Atomic/FormElements/Label/Label.test.js +0 -167
  387. package/dist/Atomic/FormElements/Label/index.js +0 -17
  388. package/dist/Atomic/FormElements/MobileCalendar/MobileCalendar.stories.js +0 -172
  389. package/dist/Atomic/FormElements/MultiSelect/MultiSelect.stories.js +0 -121
  390. package/dist/Atomic/FormElements/NumericInput/NumericInput.stories.js +0 -184
  391. package/dist/Atomic/FormElements/RadioGroup/RadioGroup.stories.js +0 -79
  392. package/dist/Atomic/FormElements/RadioGroupWithInput/RadioGroupWithInput.stories.js +0 -151
  393. package/dist/Atomic/FormElements/RadioInput/RadioInput.stories.js +0 -67
  394. package/dist/Atomic/FormElements/RadioRowSwitcher/RadioRowSwitcher.stories.js +0 -116
  395. package/dist/Atomic/FormElements/RangeCalendar/RangeCalendar.stories.js +0 -107
  396. package/dist/Atomic/FormElements/RangeInputs/RangeInputs.stories.js +0 -92
  397. package/dist/Atomic/FormElements/RangeList/RangeList.stories.js +0 -169
  398. package/dist/Atomic/FormElements/RangeSlider/RangeSlider.stories.js +0 -401
  399. package/dist/Atomic/FormElements/RangeSlider2/RangeSlider2.stories.js +0 -314
  400. package/dist/Atomic/FormElements/SwitchableRow/SwitchableRow.stories.js +0 -137
  401. package/dist/Atomic/FormElements/Switcher/Switcher.stories.js +0 -91
  402. package/dist/Atomic/FormElements/SwitcherCheckbox/SwitcherCheckbox.stories.js +0 -104
  403. package/dist/Atomic/FormElements/SwitcherHide/SwitcherHide.stories.js +0 -96
  404. package/dist/Atomic/FormElements/SwitcherRadio/SwitcherRadio.stories.js +0 -140
  405. package/dist/Atomic/FormElements/SwitcherRange/SwitcherRange.stories.js +0 -112
  406. package/dist/Atomic/FormElements/SwitcherRangeList/SwitcherRangeList.stories.js +0 -145
  407. package/dist/Atomic/FormElements/SwitcherTagsDropdown/SwitcherTagsDropdown.stories.js +0 -158
  408. package/dist/Atomic/FormElements/SwitcherTextarea/SwitcherTextarea.stories.js +0 -101
  409. package/dist/Atomic/FormElements/TagListToDropdown/TagListToDropdown.stories.js +0 -131
  410. package/dist/Atomic/FormElements/TagsDropdown/TagsDropdown.stories.js +0 -357
  411. package/dist/Atomic/FormElements/Text/Text.stories.js +0 -80
  412. package/dist/Atomic/FormElements/TextSwitcher/TextSwitcher.stories.js +0 -106
  413. package/dist/Atomic/FormElements/TextSwitcher/TextSwitcher.test.js +0 -93
  414. package/dist/Atomic/FormElements/Textarea/Textarea.stories.js +0 -103
  415. package/dist/Atomic/FormElements/TieredCheckboxes/TieredCheckboxes.stories.js +0 -174
  416. package/dist/Atomic/FormElements/TimeRange/TimeRange.interface.js +0 -4
  417. package/dist/Atomic/FormElements/TimeRange/TimeRange.stories.js +0 -40
  418. package/dist/Atomic/FormElements/TimeRange/TimeRange.test.js +0 -163
  419. package/dist/Atomic/FormElements/TimeRange/index.js +0 -17
  420. package/dist/Atomic/FormElements/UserContacts/UserContact.test.js +0 -381
  421. package/dist/Atomic/FormElements/UserContacts/UserContacts.interface.js +0 -4
  422. package/dist/Atomic/FormElements/UserContacts/UserContacts.stories.js +0 -74
  423. package/dist/Atomic/FormElements/UserContacts/index.js +0 -17
  424. package/dist/Atomic/FormElements/VariantsListRadio/VariantsListRadio.stories.js +0 -193
  425. package/dist/Atomic/FormElements/WidgetPseudoTable/WidgetPseudoTable.stories.js +0 -147
  426. package/dist/Atomic/FormElements/WidgetWithSwitchableRows/WidgetWithSwitchableRows.stories.js +0 -151
  427. package/dist/Atomic/Layout/Header/Header.stories.js +0 -71
  428. package/dist/Atomic/Layout/MainMenu/MainMenu.stories.js +0 -115
  429. package/dist/Atomic/Layout/Spinner/Spinner.interface.js +0 -4
  430. package/dist/Atomic/Layout/Spinner/Spinner.stories.js +0 -46
  431. package/dist/Atomic/Layout/Spinner/Spinner.test.js +0 -54
  432. package/dist/Atomic/Layout/Spinner/index.js +0 -17
  433. package/dist/Atomic/UI/Accordion/Accordion.interface.js +0 -4
  434. package/dist/Atomic/UI/Accordion/Accordion.stories.js +0 -168
  435. package/dist/Atomic/UI/Accordion/Accordion.test.js +0 -54
  436. package/dist/Atomic/UI/Accordion/AccordionItem.test.js +0 -50
  437. package/dist/Atomic/UI/Accordion/index.js +0 -17
  438. package/dist/Atomic/UI/AccordionTable/AccordionTable.stories.js +0 -268
  439. package/dist/Atomic/UI/AccordionText/AccordionText.stories.js +0 -125
  440. package/dist/Atomic/UI/AdvancedTag/AdvancedTags.stories.js +0 -115
  441. package/dist/Atomic/UI/Alert/Alert.stories.js +0 -81
  442. package/dist/Atomic/UI/Arrow/Arrow.stories.js +0 -62
  443. package/dist/Atomic/UI/Box/Box.stories.js +0 -114
  444. package/dist/Atomic/UI/Button/Button.stories.js +0 -105
  445. package/dist/Atomic/UI/Button/Button.test.js +0 -147
  446. package/dist/Atomic/UI/ButtonsBar/ButtonsBar.stories.js +0 -129
  447. package/dist/Atomic/UI/Chart/Chart.stories.js +0 -93
  448. package/dist/Atomic/UI/CircleProgressBar/CircleProgressBar.stories.js +0 -85
  449. package/dist/Atomic/UI/DateTime/DateTime.stories.js +0 -50
  450. package/dist/Atomic/UI/DoubleString/DoubleString.stories.js +0 -79
  451. package/dist/Atomic/UI/DynamicIcon/DynamicIcon.interface.js +0 -4
  452. package/dist/Atomic/UI/DynamicIcon/DynamicIcon.stories.js +0 -98
  453. package/dist/Atomic/UI/DynamicIcon/DynamicIcon.test.js +0 -51
  454. package/dist/Atomic/UI/DynamicIcon/index.js +0 -17
  455. package/dist/Atomic/UI/ExampleChartIntegration/ExampleChartIntegration.stories.js +0 -98
  456. package/dist/Atomic/UI/Hint/Hint.stories.js +0 -101
  457. package/dist/Atomic/UI/Hint/index.js +0 -16
  458. package/dist/Atomic/UI/Modal/Modal.interface.js +0 -4
  459. package/dist/Atomic/UI/Modal/Modal.stories.js +0 -370
  460. package/dist/Atomic/UI/Modal/ModalHOC.stories.js +0 -191
  461. package/dist/Atomic/UI/Modal/ModalHOC.test.js +0 -187
  462. package/dist/Atomic/UI/Modal/index.js +0 -26
  463. package/dist/Atomic/UI/Modal/partials/ModalFooter.test.js +0 -118
  464. package/dist/Atomic/UI/Modal/partials/ModalTitle.test.js +0 -126
  465. package/dist/Atomic/UI/Modal/partials/useMobileModal.test.js +0 -133
  466. package/dist/Atomic/UI/MonoAccordion/MonoAccordion.interface.js +0 -4
  467. package/dist/Atomic/UI/MonoAccordion/MonoAccordion.stories.js +0 -513
  468. package/dist/Atomic/UI/MonoAccordion/MonoAccordion.test.js +0 -84
  469. package/dist/Atomic/UI/MonoAccordion/index.js +0 -17
  470. package/dist/Atomic/UI/NavLine/NavLine.interface.js +0 -4
  471. package/dist/Atomic/UI/NavLine/NavLine.stories.js +0 -434
  472. package/dist/Atomic/UI/NavLine/NavLine.test.js +0 -311
  473. package/dist/Atomic/UI/NavLine/index.js +0 -17
  474. package/dist/Atomic/UI/PageTitle/PageTitle.interface.js +0 -4
  475. package/dist/Atomic/UI/PageTitle/PageTitle.stories.js +0 -62
  476. package/dist/Atomic/UI/PageTitle/PageTitle.test.js +0 -181
  477. package/dist/Atomic/UI/PageTitle/index.js +0 -17
  478. package/dist/Atomic/UI/PieChart/PieChar.interface.js +0 -4
  479. package/dist/Atomic/UI/PieChart/PieChart.stories.js +0 -82
  480. package/dist/Atomic/UI/PieChart/PieChart.test.js +0 -142
  481. package/dist/Atomic/UI/PieChart/index.js +0 -26
  482. package/dist/Atomic/UI/Price/Price.interface.js +0 -4
  483. package/dist/Atomic/UI/Price/Price.stories.js +0 -52
  484. package/dist/Atomic/UI/Price/Price.test.js +0 -83
  485. package/dist/Atomic/UI/Price/index.js +0 -17
  486. package/dist/Atomic/UI/PriceRange/PriceRange.interface.js +0 -4
  487. package/dist/Atomic/UI/PriceRange/PriceRange.stories.js +0 -51
  488. package/dist/Atomic/UI/PriceRange/PriceRange.test.js +0 -72
  489. package/dist/Atomic/UI/PriceRange/index.js +0 -17
  490. package/dist/Atomic/UI/ProgressLine/ProgressLine.interface.js +0 -4
  491. package/dist/Atomic/UI/ProgressLine/ProgressLine.stories.js +0 -163
  492. package/dist/Atomic/UI/ProgressLine/ProgressLine.test.js +0 -60
  493. package/dist/Atomic/UI/ProgressLine/index.js +0 -17
  494. package/dist/Atomic/UI/Status/Status.interface.js +0 -4
  495. package/dist/Atomic/UI/Status/Status.stories.js +0 -79
  496. package/dist/Atomic/UI/Status/Status.test.js +0 -103
  497. package/dist/Atomic/UI/Status/index.js +0 -17
  498. package/dist/Atomic/UI/Table/Table.stories.js +0 -250
  499. package/dist/Atomic/UI/Tag/Tag.interface.js +0 -4
  500. package/dist/Atomic/UI/Tag/Tag.stories.js +0 -108
  501. package/dist/Atomic/UI/Tag/Tag.test.js +0 -75
  502. package/dist/Atomic/UI/Tag/index.js +0 -17
  503. package/dist/Atomic/UI/TagList/TagList.stories.js +0 -169
  504. package/dist/Atomic/UI/UserBox/UserBox.interface.js +0 -4
  505. package/dist/Atomic/UI/UserBox/UserBox.stories.js +0 -57
  506. package/dist/Atomic/UI/UserBox/UserBox.test.js +0 -136
  507. package/dist/Atomic/UI/UserBox/index.js +0 -17
  508. package/dist/Atomic/UI/WizardStepper/WizardStepper.stories.js +0 -70
  509. package/dist/Functions/useIsMobile/index.js +0 -17
  510. package/dist/Functions/useIsMobile/useIsMobile.js +0 -33
  511. package/dist/Functions/useIsMobile/useIsMobile.test.js +0 -104
  512. package/dist/Functions/useKeyPress/useHandleKeyPress.test.js +0 -96
  513. package/dist/Functions/useKeyPress/useKeyPress.test.js +0 -87
  514. package/dist/Molecular/FormElement/FormElement.stories.js +0 -92
  515. package/dist/Molecular/FormWithDependOn/FormWithDependOn.stories.js +0 -301
  516. package/dist/Molecular/InputAddress/InputAddress.stories.js +0 -541
  517. package/dist/Molecular/InputPassword/InputPassword.stories.js +0 -86
  518. package/dist/types/base.interface.js +0 -4
  519. package/dist/types/base.types.js +0 -4
@@ -1,657 +1,548 @@
1
- // eslint-disable-next-line no-unused-vars
2
1
  "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
3
4
  Object.defineProperty(exports, "__esModule", {
4
- value: true
5
+ value: true
5
6
  });
6
- Object.defineProperty(exports, "default", {
7
- enumerable: true,
8
- get: function() {
9
- return _default;
7
+ exports.default = void 0;
8
+ var _react = _interopRequireWildcard(require("react"));
9
+ var _classnames = _interopRequireDefault(require("classnames"));
10
+ var _momentTimezone = _interopRequireDefault(require("moment-timezone"));
11
+ var _Button = _interopRequireDefault(require("../../../UI/Button/Button"));
12
+ var _Dropdown = _interopRequireDefault(require("../../Dropdown/Dropdown"));
13
+ var _RangeCalendar = _interopRequireDefault(require("../../RangeCalendar/RangeCalendar"));
14
+ var _Switcher = _interopRequireDefault(require("../../Switcher/Switcher"));
15
+ var _dependencies = require("../dependencies");
16
+ var _DateInput = _interopRequireDefault(require("./DateInput"));
17
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
18
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
19
+ // eslint-disable-next-line no-unused-vars
20
+
21
+ const outsideScope = {
22
+ handleHoverTimerId: null
23
+ };
24
+ const DATE_INPUT_FORMAT = "MM/DD/YYYY";
25
+ const padTime = time => {
26
+ return `${time.toString().padStart(2, "0")}:00`;
27
+ };
28
+ const Datepicker = props => {
29
+ const {
30
+ txt,
31
+ className,
32
+ buttonsTypes = {},
33
+ values = {},
34
+ onChange,
35
+ onChangeMobile,
36
+ onChangeCompare,
37
+ onCancel,
38
+ getSelectedMode,
39
+ onChangeInterval,
40
+ isCompareHidden,
41
+ limitRange,
42
+ handleItemClick,
43
+ setActiveInterval,
44
+ isShortWeekNames,
45
+ minDate,
46
+ maxDate,
47
+ momentMinDate,
48
+ momentMaxDate,
49
+ isDontLimitFuture,
50
+ testId,
51
+ mainId,
52
+ withMobileLogic
53
+ } = props;
54
+ const {
55
+ start = null,
56
+ end = null,
57
+ compare = false
58
+ } = values;
59
+ const startDateInputRef = (0, _react.useRef)(null);
60
+ const endDateInputRef = (0, _react.useRef)(null);
61
+ const [startDate, setStartDate] = (0, _react.useState)((0, _dependencies.getIsDateValid)(start) ? (0, _momentTimezone.default)(start) : "");
62
+ const [endDate, setEndDate] = (0, _react.useState)((0, _dependencies.getIsDateValid)(end) ? (0, _momentTimezone.default)(end) : "");
63
+ const dateInterval = getSelectedMode({
64
+ start: startDate,
65
+ end: endDate
66
+ });
67
+ const [startDateInput, setStartDateInput] = (0, _react.useState)(null);
68
+ const [endDateInput, setEndDateInput] = (0, _react.useState)(null);
69
+ const [isStartFocused, setIsStartFocused] = (0, _react.useState)(false);
70
+ const [isEndFocused, setIsEndFocused] = (0, _react.useState)(false);
71
+ const [startHour, setStartHour] = (0, _react.useState)(start ? (0, _momentTimezone.default)(start).hour() : 0);
72
+ const [endHour, setEndHour] = (0, _react.useState)(end ? (0, _momentTimezone.default)(end).hour() : 0);
73
+
74
+ // eslint-disable-next-line no-unused-vars
75
+ const [isCompare, setIsCompare] = (0, _react.useState)(compare);
76
+ const [date1, setDate1] = (0, _react.useState)(start ? (0, _momentTimezone.default)(start) : (0, _momentTimezone.default)().subtract(1, "month"));
77
+ const [date2, setDate2] = (0, _react.useState)(end ? (0, _momentTimezone.default)(end) : (0, _momentTimezone.default)());
78
+ const [hoverStatus, setHoverStatus] = (0, _react.useState)(null);
79
+
80
+ // ********************
81
+ // Constants
82
+ // ********************
83
+
84
+ const isNearby = (0, _react.useMemo)(() => (0, _momentTimezone.default)(date2).subtract(1, "month").isSame((0, _momentTimezone.default)(date1), "month"), [date1, date2]);
85
+ const isPreviousPeriodShowed = (0, _react.useMemo)(() => isCompare && !isCompareHidden && startDate && endDate, [startDate, endDate, isCompare]);
86
+ const prevEndHour = (0, _react.useRef)(endHour);
87
+ const startPrevDate = (0, _react.useMemo)(() => {
88
+ if (isPreviousPeriodShowed) {
89
+ const intervalHoursCount = (0, _momentTimezone.default)(endDate).diff(startDate, "hours");
90
+ return (0, _momentTimezone.default)(startDate).subtract(intervalHoursCount, "hours").toDate();
91
+ } else return null;
92
+ }, [startDate, endDate, isCompare]);
93
+ const endPrevDate = (0, _react.useMemo)(() => {
94
+ if (isPreviousPeriodShowed) {
95
+ return startDate;
96
+ } else return null;
97
+ }, [startDate, endDate, isCompare]);
98
+ const title = (0, _react.useMemo)(() => {
99
+ if (isCompare && !isCompareHidden && startDate && endDate) {
100
+ return `${(0, _momentTimezone.default)(startPrevDate).format("ll")} (${(0, _momentTimezone.default)(startPrevDate).format(_dependencies.MAIN_TIME_FORMAT)}) - ${(0, _momentTimezone.default)(endPrevDate).format("ll")} (${(0, _momentTimezone.default)(endPrevDate).format(_dependencies.MAIN_TIME_FORMAT)})`;
101
+ } else return "";
102
+ }, [startDate, endDate, isCompare]);
103
+
104
+ // ********************
105
+ // Methods
106
+ // ********************
107
+
108
+ const subtractDay = date => endHour === 0 ? (0, _momentTimezone.default)(date).subtract(1, "days") : (0, _momentTimezone.default)(date);
109
+ const addDay = date => endHour === 0 ? (0, _momentTimezone.default)(date).add(1, "days") : (0, _momentTimezone.default)(date);
110
+ const getCorrectedDateForDateInput = (key, date) => {
111
+ if (key === "startDateInput") return (0, _momentTimezone.default)(date);
112
+ // return moment(date).subtract(1, 'm');
113
+ return subtractDay((0, _momentTimezone.default)(date));
114
+ };
115
+ const setInterval = () => {
116
+ setActiveInterval((0, _dependencies.getActualDateRange)({
117
+ start: startDate,
118
+ end: endDate
119
+ }).intervalKey);
120
+ };
121
+
122
+ // ********************
123
+ // Handlers
124
+ // ********************
125
+
126
+ const handleClick = date => {
127
+ prevEndHour.current = 0;
128
+ if (!startDate || startDate && endDate && !((0, _momentTimezone.default)(startDate).add(1, "d").isSame(endDate, "day") && endHour === 0)) {
129
+ setStartDate((0, _momentTimezone.default)(date).startOf("day"));
130
+ setEndDate((0, _momentTimezone.default)(date).add(1, "d").startOf("day"));
131
+ setStartHour(0);
132
+ setEndHour(0);
133
+ } else if ((0, _momentTimezone.default)(date).isBefore((0, _momentTimezone.default)(startDate), "day")) {
134
+ setEndDate((0, _momentTimezone.default)(startDate).add(1, "d").startOf("day"));
135
+ setStartDate((0, _momentTimezone.default)(date).set("hour", parseInt(startHour, 10)));
136
+ } else if ((0, _momentTimezone.default)(date).isAfter((0, _momentTimezone.default)(startDate), "day")) {
137
+ setEndDate((0, _momentTimezone.default)(date).add(1, "d").startOf("day"));
10
138
  }
11
- });
12
- const _jsxruntime = require("react/jsx-runtime");
13
- const _react = /*#__PURE__*/ _interop_require_wildcard(require("react"));
14
- const _classnames = /*#__PURE__*/ _interop_require_default(require("classnames"));
15
- const _momenttimezone = /*#__PURE__*/ _interop_require_default(require("moment-timezone"));
16
- const _Button = /*#__PURE__*/ _interop_require_default(require("../../../UI/Button/Button"));
17
- const _Dropdown = /*#__PURE__*/ _interop_require_default(require("../../Dropdown/Dropdown"));
18
- const _RangeCalendar = /*#__PURE__*/ _interop_require_default(require("../../RangeCalendar/RangeCalendar"));
19
- const _Switcher = /*#__PURE__*/ _interop_require_default(require("../../Switcher/Switcher"));
20
- const _dependencies = require("../dependencies");
21
- const _DateInput = /*#__PURE__*/ _interop_require_default(require("./DateInput"));
22
- function _interop_require_default(obj) {
23
- return obj && obj.__esModule ? obj : {
24
- default: obj
25
- };
26
- }
27
- function _getRequireWildcardCache(nodeInterop) {
28
- if (typeof WeakMap !== "function") return null;
29
- var cacheBabelInterop = new WeakMap();
30
- var cacheNodeInterop = new WeakMap();
31
- return (_getRequireWildcardCache = function(nodeInterop) {
32
- return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
33
- })(nodeInterop);
34
- }
35
- function _interop_require_wildcard(obj, nodeInterop) {
36
- if (!nodeInterop && obj && obj.__esModule) {
37
- return obj;
139
+ setHoverStatus(null);
140
+ };
141
+ const handleHover = date => {
142
+ if (outsideScope.handleHoverTimerId) clearTimeout(outsideScope.handleHoverTimerId);
143
+ if (!date) {
144
+ outsideScope.handleHoverTimerId = setTimeout(() => {
145
+ setHoverStatus(null);
146
+ }, 400);
147
+ return;
148
+ }
149
+ if ((0, _momentTimezone.default)(startDate).add(1, "d").isSame(endDate, "day") && endHour === 0) {
150
+ if ((0, _momentTimezone.default)(date).isAfter((0, _momentTimezone.default)(startDate), "day")) setHoverStatus("end");else if ((0, _momentTimezone.default)(date).isBefore((0, _momentTimezone.default)(startDate), "day")) setHoverStatus("start");else setHoverStatus(null);
151
+ } else {
152
+ setHoverStatus("start");
38
153
  }
39
- if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
40
- return {
41
- default: obj
42
- };
154
+ };
155
+ const handleChangeStartHour = val => {
156
+ setStartHour(Number(val));
157
+ setStartDate((0, _momentTimezone.default)(startDate || (0, _momentTimezone.default)()).set("hour", Number(val)));
158
+ };
159
+ const handleChangeEndHour = val => {
160
+ const newHour = Number(val);
161
+ setEndHour(newHour);
162
+ let newEndDate = (0, _momentTimezone.default)();
163
+ if (endDate) {
164
+ if (prevEndHour.current === 0 && newHour !== 0) {
165
+ newEndDate = (0, _momentTimezone.default)(endDate).subtract(1, "days");
166
+ } else if (prevEndHour.current !== 0 && newHour === 0) {
167
+ newEndDate = (0, _momentTimezone.default)(endDate).add(1, "days");
168
+ }
43
169
  }
44
- var cache = _getRequireWildcardCache(nodeInterop);
45
- if (cache && cache.has(obj)) {
46
- return cache.get(obj);
170
+ prevEndHour.current = newHour;
171
+ setEndDate((0, _momentTimezone.default)(newEndDate).set("hour", newHour));
172
+ };
173
+
174
+ // const doBlur = (type, e) => {
175
+ // const executor = type === 'start' ? setIsStartFocused : setIsEndFocused;
176
+ // e.target.blur();
177
+ // executor(false);
178
+ // };
179
+
180
+ // const handleStartDateBlur = e => {
181
+ // let newDate;
182
+
183
+ // if (!moment(startDateInput).isValid()) {
184
+ // newDate = moment(startDate);
185
+ // } else {
186
+ // if (minDate && moment(startDateInput).isBefore(minDate)) newDate = momentMinDate;
187
+ // else if (!isDontLimitFuture) {
188
+ // const edge = maxDate ? momentMaxDate : moment().add(1, 'day').startOf('day');
189
+ // if (moment(startDateInput).isAfter(edge)) newDate = edge;
190
+ // else newDate = moment(startDateInput);
191
+ // } else newDate = moment(startDateInput);
192
+ // }
193
+
194
+ // setStartDateInput(newDate.format(format));
195
+ // setStartDate(newDate.set('hour', parseInt(startHour, 10)).toDate());
196
+
197
+ // doBlur('start', e);
198
+ // setDate1(
199
+ // moment(newDate).isSameOrAfter(moment(date2), 'month') ? moment(date2).subtract(1, 'month') : moment(newDate),
200
+ // );
201
+ // };
202
+
203
+ // const handleEndDateBlur = e => {
204
+ // let newDate;
205
+
206
+ // if (!moment(endDateInput).isValid()) {
207
+ // newDate = moment(endDate);
208
+ // } else {
209
+ // if (minDate && moment(endDateInput).isBefore(minDate)) newDate = momentMinDate;
210
+ // else if (!isDontLimitFuture) {
211
+ // const edge = maxDate ? momentMaxDate : moment().endOf('day');
212
+ // if (moment(endDateInput).isAfter(edge)) newDate = maxDate ? edge : edge.startOf('day');
213
+ // else newDate = moment(startDateInput);
214
+ // } else newDate = moment(startDateInput);
215
+ // }
216
+
217
+ // setEndDate(addDay(newDate.set('hour', parseInt(endHour, 10)).toDate()));
218
+ // setEndDateInput(newDate.format(format));
219
+
220
+ // doBlur('end', e);
221
+ // setDate2(newDate);
222
+ // };
223
+
224
+ const handleDateInputFocus = (key, e) => {
225
+ const changeFlag = key === "startDateInput" ? setIsStartFocused : setIsEndFocused;
226
+ const set = key === "startDateInput" ? setStartDateInput : setEndDateInput;
227
+ const date = key === "startDateInput" ? startDate : endDate;
228
+ changeFlag(true);
229
+ set(date ? getCorrectedDateForDateInput(key, date).format("L") : "");
230
+ setTimeout(() => {
231
+ const defaultTarget = key === "startDateInput" ? startDateInputRef.current : endDateInputRef.current;
232
+ const target = e?.target ?? defaultTarget;
233
+ target.select();
234
+
235
+ //? Для инпут-маск, почему-то нужно пропустить 2 эвентлупа
236
+ // setTimeout(() => {
237
+ // target.select();
238
+ // }, 0);
239
+ }, 0);
240
+ };
241
+ const doBlur = (type, e) => {
242
+ const executor = type === "startDateInput" ? setIsStartFocused : setIsEndFocused;
243
+ e.target.blur();
244
+ executor(false);
245
+ };
246
+ const processOverflow = (newDateAsString, valueForRollback, key) => {
247
+ const newDateAsMomentObj = (0, _momentTimezone.default)(newDateAsString, DATE_INPUT_FORMAT);
248
+
249
+ // console.log('processOverflow - newDateAsString - ', newDateAsString);
250
+ // console.log('processOverflow - valueForRollback - ', valueForRollback);
251
+ // console.log('----------');
252
+ // console.log('processOverflow - minDate - ', minDate);
253
+ // console.log('processOverflow - maxDate - ', maxDate);
254
+ // console.log('----------');
255
+ // console.log('processOverflow - momentMinDate - ', momentMinDate);
256
+ // console.log('processOverflow - momentMaxDate - ', momentMaxDate);
257
+ // console.log('----------');
258
+ // console.log('processOverflow - newDateAsMomentObj - ', newDateAsMomentObj);
259
+ // console.log('*********');
260
+
261
+ //? Если значение не валидно...
262
+ if (!newDateAsMomentObj.isValid()) {
263
+ //? ... то откатываем к дате до набора руками
264
+ return valueForRollback;
265
+ } else {
266
+ const beforeOfFuture = (0, _momentTimezone.default)().endOf("day");
267
+ const hour = key === "startDateInput" ? startHour : endHour;
268
+ let output;
269
+
270
+ //? Если есть минимальная дата и введенная меньше минимальной, то ставим минимальную
271
+ if (minDate && newDateAsMomentObj.isBefore(momentMinDate)) output = momentMinDate;
272
+ //? Если есть максимальная дата и введенная больше максимальной, то ставим максимальную
273
+ else if (maxDate && newDateAsMomentObj.isAfter(momentMaxDate)) output = momentMaxDate;
274
+ //? Если нет установки не ограничивать дату по будущему...
275
+ else if (!isDontLimitFuture && newDateAsMomentObj.isAfter(beforeOfFuture)) {
276
+ output = beforeOfFuture.startOf("day");
277
+ } else output = newDateAsMomentObj;
278
+
279
+ // if (key === 'startDateInput') {
280
+ // console.log('endDate - ', endDate.format('YYYY-MM-DDTHH:mm'));
281
+ // console.log('endDate.subtract(1, d) - ', endDate.subtract(1, 'd').format('YYYY-MM-DDTHH:mm'));
282
+ // if (output.isAfter(endDate.subtract(1, 'd'))) output = endDate.subtract(1, 'd');
283
+ // }
284
+
285
+ if (key === "endDateInput") {
286
+ // console.log('startDate - ', startDate.format('YYYY-MM-DDTHH:mm'));
287
+ // if (output.isBefore(startDate)) output = startDate.add(1, 'd');
288
+ output = addDay(output);
289
+ }
290
+
291
+ // console.log('output - ', output.format('YYYY-MM-DDTHH:mm'));
292
+ // console.log('************');
293
+
294
+ return output.set("hour", parseInt(hour, 10));
47
295
  }
48
- var newObj = {
49
- __proto__: null
296
+ };
297
+ const handleDateInputBlur = (key, e) => {
298
+ const reserveValue = key === "startDateInput" ? startDateInput : endDateInput;
299
+ const valueForRollback = key === "startDateInput" ? startDate : endDate;
300
+ const execute = key === "startDateInput" ? setStartDate : setEndDate;
301
+ const executeForCalendar = key === "startDateInput" ? setDate1 : setDate2;
302
+ const prepareValueForCalendar = newDate => {
303
+ if (key === "endDateInput") return newDate;
304
+ return (0, _momentTimezone.default)(newDate).isSameOrAfter((0, _momentTimezone.default)(date2), "month") ? (0, _momentTimezone.default)(date2).subtract(1, "month") : (0, _momentTimezone.default)(newDate);
50
305
  };
51
- var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
52
- for(var key in obj){
53
- if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
54
- var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
55
- if (desc && (desc.get || desc.set)) {
56
- Object.defineProperty(newObj, key, desc);
57
- } else {
58
- newObj[key] = obj[key];
59
- }
60
- }
306
+ const newDateValue = e?.target?.value ?? reserveValue;
307
+ const processedNewDate = processOverflow(newDateValue, valueForRollback, key);
308
+ execute(processedNewDate);
309
+ executeForCalendar(prepareValueForCalendar(processedNewDate));
310
+ doBlur(key, e);
311
+ };
312
+ const handleKeyPressed = (code, e, type) => {
313
+ if (code === 13) handleDateInputBlur(type, e);
314
+ if (code === 27) doBlur(type, e);
315
+ };
316
+
317
+ // ********************
318
+ // Render Functions
319
+ // ********************
320
+
321
+ const getStartHourItems = () => [...Array(24).keys()].map(hour => ({
322
+ label: padTime(hour),
323
+ value: hour,
324
+ disabled: (0, _momentTimezone.default)(startDate).isSame(endDate, "day") && endHour <= hour
325
+ }));
326
+ const getEndHourItems = () => [...Array(24).keys()].map(hour => ({
327
+ label: padTime(hour + 1),
328
+ value: hour === 23 ? 0 : hour + 1,
329
+ disabled: ((0, _momentTimezone.default)(startDate).isSame(endDate, "day") || (0, _momentTimezone.default)(startDate).isSame((0, _momentTimezone.default)(endDate).subtract(1, "days"), "day") && endHour === 0) && hour < startHour
330
+ }));
331
+ const renderButtons = () => /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_Button.default, {
332
+ className: "date-picker__button",
333
+ onClick: () => onCancel(),
334
+ variant: buttonsTypes?.cancel
335
+ }, txt?.buttons?.cancel || "Cancel"), /*#__PURE__*/_react.default.createElement(_Button.default, {
336
+ className: "date-picker__button",
337
+ variant: buttonsTypes?.apply,
338
+ disabled: !startDate || !endDate,
339
+ onClick: () => onChange({
340
+ start: (0, _momentTimezone.default)(startDate).format(_dependencies.MAIN_FORMAT),
341
+ end: (0, _momentTimezone.default)(endDate).format(_dependencies.MAIN_FORMAT),
342
+ startPrevDate: (0, _momentTimezone.default)(startPrevDate).format(_dependencies.MAIN_FORMAT),
343
+ endPrevDate: (0, _momentTimezone.default)(endPrevDate).format(_dependencies.MAIN_FORMAT),
344
+ compare: isCompare
345
+ })
346
+ }, txt?.buttons?.apply || "apply"));
347
+ const renderPreviousPeriod = () => /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, txt?.labels?.previousPeriod || "", ":", " ", /*#__PURE__*/_react.default.createElement("span", {
348
+ className: "date-picker__previous-period-interval"
349
+ }, title));
350
+
351
+ // ********************
352
+ // useEffects
353
+ // ********************
354
+
355
+ (0, _react.useEffect)(() => {
356
+ if ((0, _momentTimezone.default)(startDate).isSameOrAfter(endDate)) {
357
+ setStartDate((0, _momentTimezone.default)(endDate).subtract(1, "d"));
358
+ setDate1((0, _momentTimezone.default)(endDate).subtract(1, "d"));
61
359
  }
62
- newObj.default = obj;
63
- if (cache) {
64
- cache.set(obj, newObj);
360
+ }, [startDate]);
361
+ (0, _react.useEffect)(() => {
362
+ if ((0, _momentTimezone.default)(endDate).isSameOrBefore(startDate)) {
363
+ setEndDate((0, _momentTimezone.default)(startDate).add(1, "d"));
364
+ setDate2((0, _momentTimezone.default)(startDate).add(1, "d"));
65
365
  }
66
- return newObj;
67
- }
68
- const outsideScope = {
69
- handleHoverTimerId: null
70
- };
71
- const DATE_INPUT_FORMAT = "MM/DD/YYYY";
72
- const padTime = (time)=>{
73
- return `${time.toString().padStart(2, "0")}:00`;
74
- };
75
- const Datepicker = (props)=>{
76
- const { txt, className, buttonsTypes = {}, values = {}, onChange, onChangeMobile, onChangeCompare, onCancel, getSelectedMode, onChangeInterval, isCompareHidden, limitRange, handleItemClick, setActiveInterval, isShortWeekNames, minDate, maxDate, momentMinDate, momentMaxDate, isDontLimitFuture, testId, mainId, withMobileLogic } = props;
77
- const { start = null, end = null, compare = false } = values;
78
- const startDateInputRef = (0, _react.useRef)(null);
79
- const endDateInputRef = (0, _react.useRef)(null);
80
- const [startDate, setStartDate] = (0, _react.useState)((0, _dependencies.getIsDateValid)(start) ? (0, _momenttimezone.default)(start) : "");
81
- const [endDate, setEndDate] = (0, _react.useState)((0, _dependencies.getIsDateValid)(end) ? (0, _momenttimezone.default)(end) : "");
82
- const dateInterval = getSelectedMode({
83
- start: startDate,
84
- end: endDate
366
+ }, [endDate]);
367
+ (0, _react.useEffect)(() => {
368
+ if ((0, _momentTimezone.default)(startDate).isBefore((0, _momentTimezone.default)(endDate), "month")) {
369
+ setDate1((0, _momentTimezone.default)(startDate));
370
+ setDate2((0, _momentTimezone.default)(endDate));
371
+ }
372
+ setInterval();
373
+ }, [startDate, endDate]);
374
+ (0, _react.useEffect)(() => {
375
+ if ((0, _momentTimezone.default)(date1).isSameOrAfter((0, _momentTimezone.default)(date2), "month") && !withMobileLogic) {
376
+ setDate1((0, _momentTimezone.default)(date2).subtract(1, "month"));
377
+ }
378
+ }, [date1, date2]);
379
+ (0, _react.useEffect)(() => {
380
+ onChangeInterval(dateInterval);
381
+ }, [dateInterval]);
382
+ (0, _react.useEffect)(() => {
383
+ if (typeof onChangeMobile === "function") {
384
+ onChangeMobile({
385
+ start: (0, _momentTimezone.default)(startDate).format(_dependencies.MAIN_FORMAT),
386
+ end: (0, _momentTimezone.default)(endDate).format(_dependencies.MAIN_FORMAT),
387
+ startPrevDate: (0, _momentTimezone.default)(startPrevDate).format(_dependencies.MAIN_FORMAT),
388
+ endPrevDate: (0, _momentTimezone.default)(endPrevDate).format(_dependencies.MAIN_FORMAT),
389
+ compare: isCompare
390
+ });
391
+ }
392
+ }, [startDate, endDate, startPrevDate, endPrevDate, isCompare]);
393
+ const renderRowStart = () => {
394
+ return /*#__PURE__*/_react.default.createElement("div", {
395
+ className: "date-picker__date-row"
396
+ }, /*#__PURE__*/_react.default.createElement(_DateInput.default, {
397
+ ref: startDateInputRef,
398
+ testId: `datepicker-${testId}_start-date-input`,
399
+ RC: "date-picker__date-input",
400
+ className: (0, _classnames.default)("date-picker__date-input"),
401
+ isFocused: isStartFocused,
402
+ value: startDateInput,
403
+ date: getCorrectedDateForDateInput("startDateInput", startDate),
404
+ disabled: !startDate,
405
+ onChange: setStartDateInput,
406
+ onFocus: e => handleDateInputFocus("startDateInput", e),
407
+ onBlur: e => handleDateInputBlur("startDateInput", e),
408
+ onKeyUp: (code, e) => handleKeyPressed(code, e, "startDateInput")
409
+ }), /*#__PURE__*/_react.default.createElement(_Dropdown.default, {
410
+ testId: testId,
411
+ id: `datepicker-id-${mainId}_start-hour-select-input`,
412
+ dataTest: "datepicker_start-hour-select-input",
413
+ className: (0, _classnames.default)("date-picker__hour-select-input"),
414
+ onChange: value => handleChangeStartHour(value),
415
+ value: startHour,
416
+ options: getStartHourItems(),
417
+ disabled: !startDate,
418
+ isDoNotPullOutListOfMainContainer: true,
419
+ short: true,
420
+ withMobileLogic: withMobileLogic
421
+ }));
422
+ };
423
+ const renderRowEnd = () => {
424
+ return /*#__PURE__*/_react.default.createElement("div", {
425
+ className: "date-picker__date-row"
426
+ }, /*#__PURE__*/_react.default.createElement(_DateInput.default, {
427
+ ref: endDateInputRef,
428
+ testId: `datepicker-${testId}_start-date-input`,
429
+ RC: "date-picker__date-input",
430
+ className: (0, _classnames.default)("date-picker__date-input"),
431
+ isFocused: isEndFocused,
432
+ value: endDateInput,
433
+ date: getCorrectedDateForDateInput("endDateInput", endDate),
434
+ disabled: !endDate,
435
+ onChange: setEndDateInput,
436
+ onFocus: e => handleDateInputFocus("endDateInput", e),
437
+ onBlur: e => handleDateInputBlur("endDateInput", e),
438
+ onKeyUp: (code, e) => handleKeyPressed(code, e, "endDateInput")
439
+ }), /*#__PURE__*/_react.default.createElement(_Dropdown.default, {
440
+ testId: testId,
441
+ id: `datepicker-id-${mainId}_end-hour-select-input`,
442
+ dataTest: "datepicker_end-hour-select-input",
443
+ className: (0, _classnames.default)("date-picker__hour-select-input"),
444
+ onChange: value => handleChangeEndHour(value),
445
+ value: endHour,
446
+ options: getEndHourItems(),
447
+ disabled: !endDate,
448
+ isDoNotPullOutListOfMainContainer: true,
449
+ short: true,
450
+ withMobileLogic: withMobileLogic
451
+ }));
452
+ };
453
+ const renderCalendarStart = () => {
454
+ return /*#__PURE__*/_react.default.createElement(_RangeCalendar.default, {
455
+ testId: testId,
456
+ className: "date-picker__calendar",
457
+ date: date1,
458
+ setDate: setDate1,
459
+ allowNext: withMobileLogic ? !(0, _momentTimezone.default)(date1).startOf("month").isSameOrAfter((0, _momentTimezone.default)().startOf("day"), "months") : !isNearby,
460
+ startDate: startDate,
461
+ endDate: endDate,
462
+ startPrevDate: startPrevDate,
463
+ endPrevDate: endPrevDate,
464
+ onClick: handleClick,
465
+ onHover: handleHover,
466
+ limitRange: limitRange,
467
+ isShortWeekNames: isShortWeekNames,
468
+ minDate: minDate,
469
+ maxDate: maxDate,
470
+ momentMinDate: momentMinDate,
471
+ momentMaxDate: momentMaxDate
85
472
  });
86
- const [startDateInput, setStartDateInput] = (0, _react.useState)(null);
87
- const [endDateInput, setEndDateInput] = (0, _react.useState)(null);
88
- const [isStartFocused, setIsStartFocused] = (0, _react.useState)(false);
89
- const [isEndFocused, setIsEndFocused] = (0, _react.useState)(false);
90
- const [startHour, setStartHour] = (0, _react.useState)(start ? (0, _momenttimezone.default)(start).hour() : 0);
91
- const [endHour, setEndHour] = (0, _react.useState)(end ? (0, _momenttimezone.default)(end).hour() : 0);
92
- // eslint-disable-next-line no-unused-vars
93
- const [isCompare, setIsCompare] = (0, _react.useState)(compare);
94
- const [date1, setDate1] = (0, _react.useState)(start ? (0, _momenttimezone.default)(start) : (0, _momenttimezone.default)().subtract(1, "month"));
95
- const [date2, setDate2] = (0, _react.useState)(end ? (0, _momenttimezone.default)(end) : (0, _momenttimezone.default)());
96
- const [hoverStatus, setHoverStatus] = (0, _react.useState)(null);
97
- // ********************
98
- // Constants
99
- // ********************
100
- const isNearby = (0, _react.useMemo)(()=>(0, _momenttimezone.default)(date2).subtract(1, "month").isSame((0, _momenttimezone.default)(date1), "month"), [
101
- date1,
102
- date2
103
- ]);
104
- const isPreviousPeriodShowed = (0, _react.useMemo)(()=>isCompare && !isCompareHidden && startDate && endDate, [
105
- startDate,
106
- endDate,
107
- isCompare
108
- ]);
109
- const prevEndHour = (0, _react.useRef)(endHour);
110
- const startPrevDate = (0, _react.useMemo)(()=>{
111
- if (isPreviousPeriodShowed) {
112
- const intervalHoursCount = (0, _momenttimezone.default)(endDate).diff(startDate, "hours");
113
- return (0, _momenttimezone.default)(startDate).subtract(intervalHoursCount, "hours").toDate();
114
- } else return null;
115
- }, [
116
- startDate,
117
- endDate,
118
- isCompare
119
- ]);
120
- const endPrevDate = (0, _react.useMemo)(()=>{
121
- if (isPreviousPeriodShowed) {
122
- return startDate;
123
- } else return null;
124
- }, [
125
- startDate,
126
- endDate,
127
- isCompare
128
- ]);
129
- const title = (0, _react.useMemo)(()=>{
130
- if (isCompare && !isCompareHidden && startDate && endDate) {
131
- return `${(0, _momenttimezone.default)(startPrevDate).format("ll")} (${(0, _momenttimezone.default)(startPrevDate).format(_dependencies.MAIN_TIME_FORMAT)}) - ${(0, _momenttimezone.default)(endPrevDate).format("ll")} (${(0, _momenttimezone.default)(endPrevDate).format(_dependencies.MAIN_TIME_FORMAT)})`;
132
- } else return "";
133
- }, [
134
- startDate,
135
- endDate,
136
- isCompare
137
- ]);
138
- // ********************
139
- // Methods
140
- // ********************
141
- const subtractDay = (date)=>endHour === 0 ? (0, _momenttimezone.default)(date).subtract(1, "days") : (0, _momenttimezone.default)(date);
142
- const addDay = (date)=>endHour === 0 ? (0, _momenttimezone.default)(date).add(1, "days") : (0, _momenttimezone.default)(date);
143
- const getCorrectedDateForDateInput = (key, date)=>{
144
- if (key === "startDateInput") return (0, _momenttimezone.default)(date);
145
- // return moment(date).subtract(1, 'm');
146
- return subtractDay((0, _momenttimezone.default)(date));
147
- };
148
- const setInterval = ()=>{
149
- setActiveInterval((0, _dependencies.getActualDateRange)({
150
- start: startDate,
151
- end: endDate
152
- }).intervalKey);
153
- };
154
- // ********************
155
- // Handlers
156
- // ********************
157
- const handleClick = (date)=>{
158
- prevEndHour.current = 0;
159
- if (!startDate || startDate && endDate && !((0, _momenttimezone.default)(startDate).add(1, "d").isSame(endDate, "day") && endHour === 0)) {
160
- setStartDate((0, _momenttimezone.default)(date).startOf("day"));
161
- setEndDate((0, _momenttimezone.default)(date).add(1, "d").startOf("day"));
162
- setStartHour(0);
163
- setEndHour(0);
164
- } else if ((0, _momenttimezone.default)(date).isBefore((0, _momenttimezone.default)(startDate), "day")) {
165
- setEndDate((0, _momenttimezone.default)(startDate).add(1, "d").startOf("day"));
166
- setStartDate((0, _momenttimezone.default)(date).set("hour", parseInt(startHour, 10)));
167
- } else if ((0, _momenttimezone.default)(date).isAfter((0, _momenttimezone.default)(startDate), "day")) {
168
- setEndDate((0, _momenttimezone.default)(date).add(1, "d").startOf("day"));
169
- }
170
- setHoverStatus(null);
171
- };
172
- const handleHover = (date)=>{
173
- if (outsideScope.handleHoverTimerId) clearTimeout(outsideScope.handleHoverTimerId);
174
- if (!date) {
175
- outsideScope.handleHoverTimerId = setTimeout(()=>{
176
- setHoverStatus(null);
177
- }, 400);
178
- return;
179
- }
180
- if ((0, _momenttimezone.default)(startDate).add(1, "d").isSame(endDate, "day") && endHour === 0) {
181
- if ((0, _momenttimezone.default)(date).isAfter((0, _momenttimezone.default)(startDate), "day")) setHoverStatus("end");
182
- else if ((0, _momenttimezone.default)(date).isBefore((0, _momenttimezone.default)(startDate), "day")) setHoverStatus("start");
183
- else setHoverStatus(null);
184
- } else {
185
- setHoverStatus("start");
186
- }
187
- };
188
- const handleChangeStartHour = (val)=>{
189
- setStartHour(Number(val));
190
- setStartDate((0, _momenttimezone.default)(startDate || (0, _momenttimezone.default)()).set("hour", Number(val)));
191
- };
192
- const handleChangeEndHour = (val)=>{
193
- const newHour = Number(val);
194
- setEndHour(newHour);
195
- let newEndDate = (0, _momenttimezone.default)();
196
- if (endDate) {
197
- if (prevEndHour.current === 0 && newHour !== 0) {
198
- newEndDate = (0, _momenttimezone.default)(endDate).subtract(1, "days");
199
- } else if (prevEndHour.current !== 0 && newHour === 0) {
200
- newEndDate = (0, _momenttimezone.default)(endDate).add(1, "days");
201
- }
202
- }
203
- prevEndHour.current = newHour;
204
- setEndDate((0, _momenttimezone.default)(newEndDate).set("hour", newHour));
205
- };
206
- // const doBlur = (type, e) => {
207
- // const executor = type === 'start' ? setIsStartFocused : setIsEndFocused;
208
- // e.target.blur();
209
- // executor(false);
210
- // };
211
- // const handleStartDateBlur = e => {
212
- // let newDate;
213
- // if (!moment(startDateInput).isValid()) {
214
- // newDate = moment(startDate);
215
- // } else {
216
- // if (minDate && moment(startDateInput).isBefore(minDate)) newDate = momentMinDate;
217
- // else if (!isDontLimitFuture) {
218
- // const edge = maxDate ? momentMaxDate : moment().add(1, 'day').startOf('day');
219
- // if (moment(startDateInput).isAfter(edge)) newDate = edge;
220
- // else newDate = moment(startDateInput);
221
- // } else newDate = moment(startDateInput);
222
- // }
223
- // setStartDateInput(newDate.format(format));
224
- // setStartDate(newDate.set('hour', parseInt(startHour, 10)).toDate());
225
- // doBlur('start', e);
226
- // setDate1(
227
- // moment(newDate).isSameOrAfter(moment(date2), 'month') ? moment(date2).subtract(1, 'month') : moment(newDate),
228
- // );
229
- // };
230
- // const handleEndDateBlur = e => {
231
- // let newDate;
232
- // if (!moment(endDateInput).isValid()) {
233
- // newDate = moment(endDate);
234
- // } else {
235
- // if (minDate && moment(endDateInput).isBefore(minDate)) newDate = momentMinDate;
236
- // else if (!isDontLimitFuture) {
237
- // const edge = maxDate ? momentMaxDate : moment().endOf('day');
238
- // if (moment(endDateInput).isAfter(edge)) newDate = maxDate ? edge : edge.startOf('day');
239
- // else newDate = moment(startDateInput);
240
- // } else newDate = moment(startDateInput);
241
- // }
242
- // setEndDate(addDay(newDate.set('hour', parseInt(endHour, 10)).toDate()));
243
- // setEndDateInput(newDate.format(format));
244
- // doBlur('end', e);
245
- // setDate2(newDate);
246
- // };
247
- const handleDateInputFocus = (key, e)=>{
248
- const changeFlag = key === "startDateInput" ? setIsStartFocused : setIsEndFocused;
249
- const set = key === "startDateInput" ? setStartDateInput : setEndDateInput;
250
- const date = key === "startDateInput" ? startDate : endDate;
251
- changeFlag(true);
252
- set(date ? getCorrectedDateForDateInput(key, date).format("L") : "");
253
- setTimeout(()=>{
254
- const defaultTarget = key === "startDateInput" ? startDateInputRef.current : endDateInputRef.current;
255
- var _e_target;
256
- const target = (_e_target = e === null || e === void 0 ? void 0 : e.target) !== null && _e_target !== void 0 ? _e_target : defaultTarget;
257
- target.select();
258
- //? Для инпут-маск, почему-то нужно пропустить 2 эвентлупа
259
- // setTimeout(() => {
260
- // target.select();
261
- // }, 0);
262
- }, 0);
263
- };
264
- const doBlur = (type, e)=>{
265
- const executor = type === "startDateInput" ? setIsStartFocused : setIsEndFocused;
266
- e.target.blur();
267
- executor(false);
268
- };
269
- const processOverflow = (newDateAsString, valueForRollback, key)=>{
270
- const newDateAsMomentObj = (0, _momenttimezone.default)(newDateAsString, DATE_INPUT_FORMAT);
271
- // console.log('processOverflow - newDateAsString - ', newDateAsString);
272
- // console.log('processOverflow - valueForRollback - ', valueForRollback);
273
- // console.log('----------');
274
- // console.log('processOverflow - minDate - ', minDate);
275
- // console.log('processOverflow - maxDate - ', maxDate);
276
- // console.log('----------');
277
- // console.log('processOverflow - momentMinDate - ', momentMinDate);
278
- // console.log('processOverflow - momentMaxDate - ', momentMaxDate);
279
- // console.log('----------');
280
- // console.log('processOverflow - newDateAsMomentObj - ', newDateAsMomentObj);
281
- // console.log('*********');
282
- //? Если значение не валидно...
283
- if (!newDateAsMomentObj.isValid()) {
284
- //? ... то откатываем к дате до набора руками
285
- return valueForRollback;
286
- } else {
287
- const beforeOfFuture = (0, _momenttimezone.default)().endOf("day");
288
- const hour = key === "startDateInput" ? startHour : endHour;
289
- let output;
290
- //? Если есть минимальная дата и введенная меньше минимальной, то ставим минимальную
291
- if (minDate && newDateAsMomentObj.isBefore(momentMinDate)) output = momentMinDate;
292
- else if (maxDate && newDateAsMomentObj.isAfter(momentMaxDate)) output = momentMaxDate;
293
- else if (!isDontLimitFuture && newDateAsMomentObj.isAfter(beforeOfFuture)) {
294
- output = beforeOfFuture.startOf("day");
295
- } else output = newDateAsMomentObj;
296
- // if (key === 'startDateInput') {
297
- // console.log('endDate - ', endDate.format('YYYY-MM-DDTHH:mm'));
298
- // console.log('endDate.subtract(1, d) - ', endDate.subtract(1, 'd').format('YYYY-MM-DDTHH:mm'));
299
- // if (output.isAfter(endDate.subtract(1, 'd'))) output = endDate.subtract(1, 'd');
300
- // }
301
- if (key === "endDateInput") {
302
- // console.log('startDate - ', startDate.format('YYYY-MM-DDTHH:mm'));
303
- // if (output.isBefore(startDate)) output = startDate.add(1, 'd');
304
- output = addDay(output);
305
- }
306
- // console.log('output - ', output.format('YYYY-MM-DDTHH:mm'));
307
- // console.log('************');
308
- return output.set("hour", parseInt(hour, 10));
309
- }
310
- };
311
- const handleDateInputBlur = (key, e)=>{
312
- var _e_target;
313
- const reserveValue = key === "startDateInput" ? startDateInput : endDateInput;
314
- const valueForRollback = key === "startDateInput" ? startDate : endDate;
315
- const execute = key === "startDateInput" ? setStartDate : setEndDate;
316
- const executeForCalendar = key === "startDateInput" ? setDate1 : setDate2;
317
- const prepareValueForCalendar = (newDate)=>{
318
- if (key === "endDateInput") return newDate;
319
- return (0, _momenttimezone.default)(newDate).isSameOrAfter((0, _momenttimezone.default)(date2), "month") ? (0, _momenttimezone.default)(date2).subtract(1, "month") : (0, _momenttimezone.default)(newDate);
320
- };
321
- var _e_target_value;
322
- const newDateValue = (_e_target_value = e === null || e === void 0 ? void 0 : (_e_target = e.target) === null || _e_target === void 0 ? void 0 : _e_target.value) !== null && _e_target_value !== void 0 ? _e_target_value : reserveValue;
323
- const processedNewDate = processOverflow(newDateValue, valueForRollback, key);
324
- execute(processedNewDate);
325
- executeForCalendar(prepareValueForCalendar(processedNewDate));
326
- doBlur(key, e);
327
- };
328
- const handleKeyPressed = (code, e, type)=>{
329
- if (code === 13) handleDateInputBlur(type, e);
330
- if (code === 27) doBlur(type, e);
331
- };
332
- // ********************
333
- // Render Functions
334
- // ********************
335
- const getStartHourItems = ()=>[
336
- ...Array(24).keys()
337
- ].map((hour)=>({
338
- label: padTime(hour),
339
- value: hour,
340
- disabled: (0, _momenttimezone.default)(startDate).isSame(endDate, "day") && endHour <= hour
341
- }));
342
- const getEndHourItems = ()=>[
343
- ...Array(24).keys()
344
- ].map((hour)=>({
345
- label: padTime(hour + 1),
346
- value: hour === 23 ? 0 : hour + 1,
347
- disabled: ((0, _momenttimezone.default)(startDate).isSame(endDate, "day") || (0, _momenttimezone.default)(startDate).isSame((0, _momenttimezone.default)(endDate).subtract(1, "days"), "day") && endHour === 0) && hour < startHour
348
- }));
349
- const renderButtons = ()=>{
350
- var _txt_buttons, _txt_buttons1;
351
- return /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, {
352
- children: [
353
- /*#__PURE__*/ (0, _jsxruntime.jsx)(_Button.default, {
354
- className: "date-picker__button",
355
- onClick: ()=>onCancel(),
356
- variant: buttonsTypes === null || buttonsTypes === void 0 ? void 0 : buttonsTypes.cancel,
357
- children: (txt === null || txt === void 0 ? void 0 : (_txt_buttons = txt.buttons) === null || _txt_buttons === void 0 ? void 0 : _txt_buttons.cancel) || "Cancel"
358
- }),
359
- /*#__PURE__*/ (0, _jsxruntime.jsx)(_Button.default, {
360
- className: "date-picker__button",
361
- variant: buttonsTypes === null || buttonsTypes === void 0 ? void 0 : buttonsTypes.apply,
362
- disabled: !startDate || !endDate,
363
- onClick: ()=>onChange({
364
- start: (0, _momenttimezone.default)(startDate).format(_dependencies.MAIN_FORMAT),
365
- end: (0, _momenttimezone.default)(endDate).format(_dependencies.MAIN_FORMAT),
366
- startPrevDate: (0, _momenttimezone.default)(startPrevDate).format(_dependencies.MAIN_FORMAT),
367
- endPrevDate: (0, _momenttimezone.default)(endPrevDate).format(_dependencies.MAIN_FORMAT),
368
- compare: isCompare
369
- }),
370
- children: (txt === null || txt === void 0 ? void 0 : (_txt_buttons1 = txt.buttons) === null || _txt_buttons1 === void 0 ? void 0 : _txt_buttons1.apply) || "apply"
371
- })
372
- ]
373
- });
374
- };
375
- const renderPreviousPeriod = ()=>{
376
- var _txt_labels;
377
- return /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, {
378
- children: [
379
- (txt === null || txt === void 0 ? void 0 : (_txt_labels = txt.labels) === null || _txt_labels === void 0 ? void 0 : _txt_labels.previousPeriod) || "",
380
- ":",
381
- " ",
382
- /*#__PURE__*/ (0, _jsxruntime.jsx)("span", {
383
- className: "date-picker__previous-period-interval",
384
- children: title
385
- })
386
- ]
387
- });
388
- };
389
- // ********************
390
- // useEffects
391
- // ********************
392
- (0, _react.useEffect)(()=>{
393
- if ((0, _momenttimezone.default)(startDate).isSameOrAfter(endDate)) {
394
- setStartDate((0, _momenttimezone.default)(endDate).subtract(1, "d"));
395
- setDate1((0, _momenttimezone.default)(endDate).subtract(1, "d"));
396
- }
397
- }, [
398
- startDate
399
- ]);
400
- (0, _react.useEffect)(()=>{
401
- if ((0, _momenttimezone.default)(endDate).isSameOrBefore(startDate)) {
402
- setEndDate((0, _momenttimezone.default)(startDate).add(1, "d"));
403
- setDate2((0, _momenttimezone.default)(startDate).add(1, "d"));
404
- }
405
- }, [
406
- endDate
407
- ]);
408
- (0, _react.useEffect)(()=>{
409
- if ((0, _momenttimezone.default)(startDate).isBefore((0, _momenttimezone.default)(endDate), "month")) {
410
- setDate1((0, _momenttimezone.default)(startDate));
411
- setDate2((0, _momenttimezone.default)(endDate));
412
- }
413
- setInterval();
414
- }, [
415
- startDate,
416
- endDate
417
- ]);
418
- (0, _react.useEffect)(()=>{
419
- if ((0, _momenttimezone.default)(date1).isSameOrAfter((0, _momenttimezone.default)(date2), "month") && !withMobileLogic) {
420
- setDate1((0, _momenttimezone.default)(date2).subtract(1, "month"));
421
- }
422
- }, [
423
- date1,
424
- date2
425
- ]);
426
- (0, _react.useEffect)(()=>{
427
- onChangeInterval(dateInterval);
428
- }, [
429
- dateInterval
430
- ]);
431
- (0, _react.useEffect)(()=>{
432
- if (typeof onChangeMobile === "function") {
433
- onChangeMobile({
434
- start: (0, _momenttimezone.default)(startDate).format(_dependencies.MAIN_FORMAT),
435
- end: (0, _momenttimezone.default)(endDate).format(_dependencies.MAIN_FORMAT),
436
- startPrevDate: (0, _momenttimezone.default)(startPrevDate).format(_dependencies.MAIN_FORMAT),
437
- endPrevDate: (0, _momenttimezone.default)(endPrevDate).format(_dependencies.MAIN_FORMAT),
438
- compare: isCompare
439
- });
440
- }
441
- }, [
442
- startDate,
443
- endDate,
444
- startPrevDate,
445
- endPrevDate,
446
- isCompare
447
- ]);
448
- const renderRowStart = ()=>{
449
- return /*#__PURE__*/ (0, _jsxruntime.jsxs)("div", {
450
- className: "date-picker__date-row",
451
- children: [
452
- /*#__PURE__*/ (0, _jsxruntime.jsx)(_DateInput.default, {
453
- ref: startDateInputRef,
454
- testId: `datepicker-${testId}_start-date-input`,
455
- RC: "date-picker__date-input",
456
- className: (0, _classnames.default)("date-picker__date-input"),
457
- isFocused: isStartFocused,
458
- value: startDateInput,
459
- date: getCorrectedDateForDateInput("startDateInput", startDate),
460
- disabled: !startDate,
461
- onChange: setStartDateInput,
462
- onFocus: (e)=>handleDateInputFocus("startDateInput", e),
463
- onBlur: (e)=>handleDateInputBlur("startDateInput", e),
464
- onKeyUp: (code, e)=>handleKeyPressed(code, e, "startDateInput")
465
- }),
466
- /*#__PURE__*/ (0, _jsxruntime.jsx)(_Dropdown.default, {
467
- testId: testId,
468
- id: `datepicker-id-${mainId}_start-hour-select-input`,
469
- dataTest: "datepicker_start-hour-select-input",
470
- className: (0, _classnames.default)("date-picker__hour-select-input"),
471
- onChange: (value)=>handleChangeStartHour(value),
472
- value: startHour,
473
- options: getStartHourItems(),
474
- disabled: !startDate,
475
- isDoNotPullOutListOfMainContainer: true,
476
- short: true,
477
- withMobileLogic: withMobileLogic
478
- })
479
- ]
480
- });
481
- };
482
- const renderRowEnd = ()=>{
483
- return /*#__PURE__*/ (0, _jsxruntime.jsxs)("div", {
484
- className: "date-picker__date-row",
485
- children: [
486
- /*#__PURE__*/ (0, _jsxruntime.jsx)(_DateInput.default, {
487
- ref: endDateInputRef,
488
- testId: `datepicker-${testId}_start-date-input`,
489
- RC: "date-picker__date-input",
490
- className: (0, _classnames.default)("date-picker__date-input"),
491
- isFocused: isEndFocused,
492
- value: endDateInput,
493
- date: getCorrectedDateForDateInput("endDateInput", endDate),
494
- disabled: !endDate,
495
- onChange: setEndDateInput,
496
- onFocus: (e)=>handleDateInputFocus("endDateInput", e),
497
- onBlur: (e)=>handleDateInputBlur("endDateInput", e),
498
- onKeyUp: (code, e)=>handleKeyPressed(code, e, "endDateInput")
499
- }),
500
- /*#__PURE__*/ (0, _jsxruntime.jsx)(_Dropdown.default, {
501
- testId: testId,
502
- id: `datepicker-id-${mainId}_end-hour-select-input`,
503
- dataTest: "datepicker_end-hour-select-input",
504
- className: (0, _classnames.default)("date-picker__hour-select-input"),
505
- onChange: (value)=>handleChangeEndHour(value),
506
- value: endHour,
507
- options: getEndHourItems(),
508
- disabled: !endDate,
509
- isDoNotPullOutListOfMainContainer: true,
510
- short: true,
511
- withMobileLogic: withMobileLogic
512
- })
513
- ]
514
- });
515
- };
516
- const renderCalendarStart = ()=>{
517
- return /*#__PURE__*/ (0, _jsxruntime.jsx)(_RangeCalendar.default, {
518
- testId: testId,
519
- className: "date-picker__calendar",
520
- date: date1,
521
- setDate: setDate1,
522
- allowNext: withMobileLogic ? !(0, _momenttimezone.default)(date1).startOf("month").isSameOrAfter((0, _momenttimezone.default)().startOf("day"), "months") : !isNearby,
523
- startDate: startDate,
524
- endDate: endDate,
525
- startPrevDate: startPrevDate,
526
- endPrevDate: endPrevDate,
527
- onClick: handleClick,
528
- onHover: handleHover,
529
- limitRange: limitRange,
530
- isShortWeekNames: isShortWeekNames,
531
- minDate: minDate,
532
- maxDate: maxDate,
533
- momentMinDate: momentMinDate,
534
- momentMaxDate: momentMaxDate
535
- });
536
- };
537
- const renderCalendarEnd = ()=>{
538
- return /*#__PURE__*/ (0, _jsxruntime.jsx)(_RangeCalendar.default, {
539
- className: "date-picker__calendar",
540
- date: date2,
541
- setDate: setDate2,
542
- allowPrev: !isNearby,
543
- startDate: startDate,
544
- endDate: endDate,
545
- startPrevDate: startPrevDate,
546
- endPrevDate: endPrevDate,
547
- onClick: handleClick,
548
- onHover: handleHover,
549
- isShortWeekNames: isShortWeekNames,
550
- minDate: minDate,
551
- maxDate: maxDate,
552
- momentMinDate: momentMinDate,
553
- momentMaxDate: momentMaxDate,
554
- isDontLimitFuture: isDontLimitFuture
555
- });
556
- };
557
- const render = ()=>{
558
- var _txt_labels;
559
- return /*#__PURE__*/ (0, _jsxruntime.jsxs)("div", {
560
- className: (0, _classnames.default)("date-picker", className),
561
- children: [
562
- /*#__PURE__*/ (0, _jsxruntime.jsxs)("div", {
563
- className: "date-picker__header",
564
- children: [
565
- /*#__PURE__*/ (0, _jsxruntime.jsxs)("div", {
566
- className: "date-picker__inputs-block",
567
- children: [
568
- renderRowStart(),
569
- /*#__PURE__*/ (0, _jsxruntime.jsx)("div", {
570
- className: "date-picker__inputs-separator date-picker__header--gray",
571
- children: "—"
572
- }),
573
- renderRowEnd()
574
- ]
575
- }),
576
- isCompare && !isCompareHidden && startDate && endDate && /*#__PURE__*/ (0, _jsxruntime.jsx)("div", {
577
- className: "date-picker__previous-period",
578
- children: renderPreviousPeriod()
579
- })
580
- ]
581
- }),
582
- /*#__PURE__*/ (0, _jsxruntime.jsx)("div", {
583
- className: "date-picker__calendars",
584
- children: /*#__PURE__*/ (0, _jsxruntime.jsxs)("div", {
585
- className: "date-picker__calendars-wrapper",
586
- children: [
587
- renderCalendarStart(),
588
- renderCalendarEnd()
589
- ]
590
- })
591
- }),
592
- /*#__PURE__*/ (0, _jsxruntime.jsxs)("div", {
593
- className: (0, _classnames.default)("date-picker__footer", {
594
- "date-picker__footer_once-element": isCompareHidden
595
- }),
596
- children: [
597
- !isCompareHidden ? /*#__PURE__*/ (0, _jsxruntime.jsx)("div", {
598
- className: "date-picker__compare-block",
599
- children: /*#__PURE__*/ (0, _jsxruntime.jsx)("div", {
600
- className: "mr5",
601
- children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_Switcher.default, {
602
- dataTest: "datepicker_compare",
603
- label: (txt === null || txt === void 0 ? void 0 : (_txt_labels = txt.labels) === null || _txt_labels === void 0 ? void 0 : _txt_labels.compare) || "Compare",
604
- isSwitchOn: isCompare,
605
- onChange: ()=>{
606
- onChangeCompare(!isCompare);
607
- setIsCompare((state)=>!state);
608
- }
609
- })
610
- })
611
- }) : /*#__PURE__*/ (0, _jsxruntime.jsx)("div", {}),
612
- /*#__PURE__*/ (0, _jsxruntime.jsx)("div", {
613
- className: "date-picker__buttons-block",
614
- children: renderButtons()
615
- })
616
- ]
617
- })
618
- ]
619
- });
620
- };
621
- const renderMobile = ()=>{
622
- return /*#__PURE__*/ (0, _jsxruntime.jsxs)("div", {
623
- className: (0, _classnames.default)("date-picker", className),
624
- children: [
625
- /*#__PURE__*/ (0, _jsxruntime.jsxs)("div", {
626
- className: "date-picker__header",
627
- children: [
628
- /*#__PURE__*/ (0, _jsxruntime.jsxs)("div", {
629
- className: "date-picker__inputs-block",
630
- children: [
631
- renderRowStart(),
632
- /*#__PURE__*/ (0, _jsxruntime.jsx)("div", {
633
- className: "date-picker__inputs-separator date-picker__header--gray",
634
- children: "—"
635
- }),
636
- renderRowEnd()
637
- ]
638
- }),
639
- isCompare && !isCompareHidden && startDate && endDate && /*#__PURE__*/ (0, _jsxruntime.jsx)("div", {
640
- className: "date-picker__previous-period",
641
- children: renderPreviousPeriod()
642
- })
643
- ]
644
- }),
645
- /*#__PURE__*/ (0, _jsxruntime.jsx)("div", {
646
- className: "date-picker__calendars",
647
- children: /*#__PURE__*/ (0, _jsxruntime.jsx)("div", {
648
- className: "date-picker__calendars-wrapper",
649
- children: renderCalendarStart()
650
- })
651
- })
652
- ]
653
- });
654
- };
655
- return withMobileLogic ? renderMobile() : render();
473
+ };
474
+ const renderCalendarEnd = () => {
475
+ return /*#__PURE__*/_react.default.createElement(_RangeCalendar.default, {
476
+ className: "date-picker__calendar",
477
+ date: date2,
478
+ setDate: setDate2,
479
+ allowPrev: !isNearby,
480
+ startDate: startDate,
481
+ endDate: endDate,
482
+ startPrevDate: startPrevDate,
483
+ endPrevDate: endPrevDate,
484
+ onClick: handleClick,
485
+ onHover: handleHover,
486
+ isShortWeekNames: isShortWeekNames,
487
+ minDate: minDate,
488
+ maxDate: maxDate,
489
+ momentMinDate: momentMinDate,
490
+ momentMaxDate: momentMaxDate,
491
+ isDontLimitFuture: isDontLimitFuture
492
+ });
493
+ };
494
+ const render = () => {
495
+ return /*#__PURE__*/_react.default.createElement("div", {
496
+ className: (0, _classnames.default)("date-picker", className)
497
+ }, /*#__PURE__*/_react.default.createElement("div", {
498
+ className: "date-picker__header"
499
+ }, /*#__PURE__*/_react.default.createElement("div", {
500
+ className: "date-picker__inputs-block"
501
+ }, renderRowStart(), /*#__PURE__*/_react.default.createElement("div", {
502
+ className: "date-picker__inputs-separator date-picker__header--gray"
503
+ }, "\u2014"), renderRowEnd()), isCompare && !isCompareHidden && startDate && endDate && /*#__PURE__*/_react.default.createElement("div", {
504
+ className: "date-picker__previous-period"
505
+ }, renderPreviousPeriod())), /*#__PURE__*/_react.default.createElement("div", {
506
+ className: "date-picker__calendars"
507
+ }, /*#__PURE__*/_react.default.createElement("div", {
508
+ className: "date-picker__calendars-wrapper"
509
+ }, renderCalendarStart(), renderCalendarEnd())), /*#__PURE__*/_react.default.createElement("div", {
510
+ className: (0, _classnames.default)("date-picker__footer", {
511
+ "date-picker__footer_once-element": isCompareHidden
512
+ })
513
+ }, !isCompareHidden ? /*#__PURE__*/_react.default.createElement("div", {
514
+ className: "date-picker__compare-block"
515
+ }, /*#__PURE__*/_react.default.createElement("div", {
516
+ className: "mr5"
517
+ }, /*#__PURE__*/_react.default.createElement(_Switcher.default, {
518
+ dataTest: "datepicker_compare",
519
+ label: txt?.labels?.compare || "Compare",
520
+ isSwitchOn: isCompare,
521
+ onChange: () => {
522
+ onChangeCompare(!isCompare);
523
+ setIsCompare(state => !state);
524
+ }
525
+ }))) : /*#__PURE__*/_react.default.createElement("div", null), /*#__PURE__*/_react.default.createElement("div", {
526
+ className: "date-picker__buttons-block"
527
+ }, renderButtons())));
528
+ };
529
+ const renderMobile = () => {
530
+ return /*#__PURE__*/_react.default.createElement("div", {
531
+ className: (0, _classnames.default)("date-picker", className)
532
+ }, /*#__PURE__*/_react.default.createElement("div", {
533
+ className: "date-picker__header"
534
+ }, /*#__PURE__*/_react.default.createElement("div", {
535
+ className: "date-picker__inputs-block"
536
+ }, renderRowStart(), /*#__PURE__*/_react.default.createElement("div", {
537
+ className: "date-picker__inputs-separator date-picker__header--gray"
538
+ }, "\u2014"), renderRowEnd()), isCompare && !isCompareHidden && startDate && endDate && /*#__PURE__*/_react.default.createElement("div", {
539
+ className: "date-picker__previous-period"
540
+ }, renderPreviousPeriod())), /*#__PURE__*/_react.default.createElement("div", {
541
+ className: "date-picker__calendars"
542
+ }, /*#__PURE__*/_react.default.createElement("div", {
543
+ className: "date-picker__calendars-wrapper"
544
+ }, renderCalendarStart())));
545
+ };
546
+ return withMobileLogic ? renderMobile() : render();
656
547
  };
657
- const _default = Datepicker;
548
+ var _default = exports.default = Datepicker;