intelicoreact 1.6.22 → 1.6.24

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 (275) hide show
  1. package/dist/Atomic/FormElements/ActionAlert/ActionAlert.js +98 -1
  2. package/dist/Atomic/FormElements/AdvancedStatus/AdvancedStatus.js +48 -1
  3. package/dist/Atomic/FormElements/Calendar/Calendar.js +249 -1
  4. package/dist/Atomic/FormElements/Calendar/Calendar.props.js +4 -1
  5. package/dist/Atomic/FormElements/CheckboxInput/CheckboxInput.js +65 -1
  6. package/dist/Atomic/FormElements/CheckboxesLine/CheckboxesLine.js +52 -1
  7. package/dist/Atomic/FormElements/Datepicker/Datepicker.js +424 -1
  8. package/dist/Atomic/FormElements/Datepicker/Datepicker.props.js +4 -1
  9. package/dist/Atomic/FormElements/Datepicker/components/DatepickerCalendar.js +173 -1
  10. package/dist/Atomic/FormElements/Datepicker/components/DatepickerCalendar.props.js +4 -1
  11. package/dist/Atomic/FormElements/Dropdown/Dropdown.js +735 -1
  12. package/dist/Atomic/FormElements/Dropdown/components/DropdownLoader.js +20 -1
  13. package/dist/Atomic/FormElements/DropdownLiveSearch/DropdownLiveSearch.js +529 -1
  14. package/dist/Atomic/FormElements/FileLoader/FileLoader.js +94 -1
  15. package/dist/Atomic/FormElements/FileLoader/partial/LoadZone.js +105 -1
  16. package/dist/Atomic/FormElements/FileLoader/partial/LoadedContent.js +67 -1
  17. package/dist/Atomic/FormElements/FileLoaderDescription/FileLoaderDescription.js +247 -1
  18. package/dist/Atomic/FormElements/FileLoaderLocal/FileLoaderLocal.js +160 -1
  19. package/dist/Atomic/FormElements/FileLoaderLocalGroup/FileLoaderLocalGroup.js +193 -1
  20. package/dist/Atomic/FormElements/FormattedRawSSN/FormattedRawSSN.js +135 -1
  21. package/dist/Atomic/FormElements/FormattedRawSSN/FormattedRawSSN_old.js +116 -1
  22. package/dist/Atomic/FormElements/Input/Input.js +467 -1
  23. package/dist/Atomic/FormElements/InputCalendar/InputCalendar.js +161 -1
  24. package/dist/Atomic/FormElements/InputColor/InputColor.js +64 -1
  25. package/dist/Atomic/FormElements/InputCurrency/InputCurrency.js +200 -1
  26. package/dist/Atomic/FormElements/InputDateRange/InputDateRange.js +354 -1
  27. package/dist/Atomic/FormElements/InputDateRange/components/DateInput.js +71 -1
  28. package/dist/Atomic/FormElements/InputDateRange/components/Datepicker.js +693 -1
  29. package/dist/Atomic/FormElements/InputDateRange/components/OpenedPart.js +254 -1
  30. package/dist/Atomic/FormElements/InputDateRange/components/SelectItem.js +32 -1
  31. package/dist/Atomic/FormElements/InputDateRange/dependencies.js +200 -1
  32. package/dist/Atomic/FormElements/InputLink/InputLink.js +99 -1
  33. package/dist/Atomic/FormElements/InputMask/InputCarretPosition.js +37 -1
  34. package/dist/Atomic/FormElements/InputMask/InputMask.js +1214 -1
  35. package/dist/Atomic/FormElements/InputMask/config.js +15 -1
  36. package/dist/Atomic/FormElements/InputMask/functions.js +58 -1
  37. package/dist/Atomic/FormElements/InputMask2/InputMask2.js +674 -1
  38. package/dist/Atomic/FormElements/InputMask2/config.js +15 -1
  39. package/dist/Atomic/FormElements/InputMask2/functions.js +58 -1
  40. package/dist/Atomic/FormElements/InputMask3/InputMask3.js +766 -1
  41. package/dist/Atomic/FormElements/InputMask3/config.js +15 -1
  42. package/dist/Atomic/FormElements/InputMask3/functions.js +58 -1
  43. package/dist/Atomic/FormElements/InputWithAction/InputWithAction.js +114 -1
  44. package/dist/Atomic/FormElements/InputsRow/InputsRow.js +140 -1
  45. package/dist/Atomic/FormElements/Label/Label.js +87 -1
  46. package/dist/Atomic/FormElements/MobileCalendar/MobileCalendar.js +506 -1
  47. package/dist/Atomic/FormElements/MultiSelect/MultiSelect.js +45 -1
  48. package/dist/Atomic/FormElements/NumericInput/NumericInput.js +331 -1
  49. package/dist/Atomic/FormElements/RadioGroup/RadioGroup.js +66 -1
  50. package/dist/Atomic/FormElements/RadioGroupWithInput/RadioGroupWithInput.js +80 -1
  51. package/dist/Atomic/FormElements/RadioInput/RadioInput.js +57 -1
  52. package/dist/Atomic/FormElements/RadioRowSwitcher/RadioRowSwitcher.js +54 -1
  53. package/dist/Atomic/FormElements/RangeCalendar/RangeCalendar.js +183 -1
  54. package/dist/Atomic/FormElements/RangeInputs/RangeInputs.js +222 -1
  55. package/dist/Atomic/FormElements/RangeList/RangeList.js +175 -1
  56. package/dist/Atomic/FormElements/RangeList/partial/RangeListRow.js +43 -1
  57. package/dist/Atomic/FormElements/RangeSlider/RangeSlider.js +443 -1
  58. package/dist/Atomic/FormElements/RangeSlider2/RangeSlider2.js +858 -1
  59. package/dist/Atomic/FormElements/SwitchableRow/SwitchableRow.js +39 -1
  60. package/dist/Atomic/FormElements/Switcher/Switcher.js +59 -1
  61. package/dist/Atomic/FormElements/SwitcherCheckbox/SwitcherCheckbox.js +50 -1
  62. package/dist/Atomic/FormElements/SwitcherHide/SwitcherHide.js +44 -1
  63. package/dist/Atomic/FormElements/SwitcherRadio/SwitcherRadio.js +100 -1
  64. package/dist/Atomic/FormElements/SwitcherRange/SwitcherRange.js +52 -1
  65. package/dist/Atomic/FormElements/SwitcherRangeList/SwitcherRangeList.js +64 -1
  66. package/dist/Atomic/FormElements/SwitcherTagsDropdown/SwitcherTagsDropdown.js +170 -1
  67. package/dist/Atomic/FormElements/SwitcherTagsDropdown/partial/States.js +202 -1
  68. package/dist/Atomic/FormElements/SwitcherTextarea/SwitcherTextarea.js +67 -1
  69. package/dist/Atomic/FormElements/TagListToDropdown/TagListToDropdown.js +115 -1
  70. package/dist/Atomic/FormElements/TagsDropdown/TagsDropdown.interface.ts +2 -2
  71. package/dist/Atomic/FormElements/TagsDropdown/TagsDropdown.js +1110 -1
  72. package/dist/Atomic/FormElements/Text/Text.js +125 -1
  73. package/dist/Atomic/FormElements/TextSwitcher/TextSwitcher.js +49 -1
  74. package/dist/Atomic/FormElements/Textarea/Textarea.js +80 -1
  75. package/dist/Atomic/FormElements/TieredCheckboxes/TieredCheckboxes.js +176 -1
  76. package/dist/Atomic/FormElements/TieredCheckboxes/partial/AccordionWithCheckbox.js +62 -1
  77. package/dist/Atomic/FormElements/TimeRange/TimeRange.js +119 -1
  78. package/dist/Atomic/FormElements/UserContacts/UserContacts.js +188 -1
  79. package/dist/Atomic/FormElements/VariantsListRadio/VariantsListRadio.js +83 -1
  80. package/dist/Atomic/FormElements/VariantsListRadio/partials/VariantsListRadioItem.js +82 -1
  81. package/dist/Atomic/FormElements/WidgetPseudoTable/WidgetPseudoTable.js +101 -1
  82. package/dist/Atomic/FormElements/WidgetPseudoTable/partial/constructor.js +29 -1
  83. package/dist/Atomic/FormElements/WidgetWithSwitchableRows/WidgetWithSwitchableRows.js +113 -1
  84. package/dist/Atomic/FormElements/WidgetWithSwitchableRows/partial/constructor.js +30 -1
  85. package/dist/Atomic/Layout/Header/Header.js +85 -1
  86. package/dist/Atomic/Layout/Spinner/Spinner.js +44 -1
  87. package/dist/Atomic/UI/Accordion/Accordion.js +108 -1
  88. package/dist/Atomic/UI/Accordion/AccordionItem.js +176 -1
  89. package/dist/Atomic/UI/AccordionTable/AccordionTable.js +238 -1
  90. package/dist/Atomic/UI/AccordionText/AccordionText.js +69 -1
  91. package/dist/Atomic/UI/AdvancedTag/AdvTag.js +207 -1
  92. package/dist/Atomic/UI/AdvancedTag/AdvancedTags.js +56 -1
  93. package/dist/Atomic/UI/Alert/Alert.js +72 -1
  94. package/dist/Atomic/UI/Arrow/Arrow.js +132 -1
  95. package/dist/Atomic/UI/Box/Box.js +52 -1
  96. package/dist/Atomic/UI/Button/Button.js +47 -1
  97. package/dist/Atomic/UI/ButtonsBar/ButtonsBar.js +72 -1
  98. package/dist/Atomic/UI/Chart/Chart.js +172 -1
  99. package/dist/Atomic/UI/Chart/partial/Chart.constants.js +95 -1
  100. package/dist/Atomic/UI/Chart/partial/ChartTypeSwitcherIcon/ChartTypeSwitcherIcon.js +80 -1
  101. package/dist/Atomic/UI/Chart/partial/datasetSetters.js +188 -1
  102. package/dist/Atomic/UI/Chart/partial/optionsConstructor.js +335 -1
  103. package/dist/Atomic/UI/Chart/partial/optionsSetters.js +43 -1
  104. package/dist/Atomic/UI/Chart/partial/utils.js +60 -1
  105. package/dist/Atomic/UI/CircleProgressBar/CircleProgressBar.js +109 -1
  106. package/dist/Atomic/UI/DateTime/DateTime.js +57 -1
  107. package/dist/Atomic/UI/DebugContainer/DebugContainer.js +44 -1
  108. package/dist/Atomic/UI/DebugContainer/useDebugContainer.js +15 -1
  109. package/dist/Atomic/UI/DoubleString/DoubleString.js +102 -1
  110. package/dist/Atomic/UI/DynamicIcon/DynamicIcon.js +70 -1
  111. package/dist/Atomic/UI/ExampleChartIntegration/ExampleChartIntegration.js +221 -1
  112. package/dist/Atomic/UI/ExampleChartIntegration/partial/utils.js +106 -1
  113. package/dist/Atomic/UI/Hint/Hint.js +256 -1
  114. package/dist/Atomic/UI/Hint/partials/_utils.js +64 -1
  115. package/dist/Atomic/UI/Modal/Modal.js +179 -1
  116. package/dist/Atomic/UI/Modal/ModalHOC.js +97 -1
  117. package/dist/Atomic/UI/Modal/partials/ModalFooter.js +71 -1
  118. package/dist/Atomic/UI/Modal/partials/ModalTitle.js +110 -1
  119. package/dist/Atomic/UI/Modal/partials/useMobileModal.js +192 -1
  120. package/dist/Atomic/UI/MonoAccordion/MonoAccordion._test.js +75 -1
  121. package/dist/Atomic/UI/MonoAccordion/MonoAccordion.js +80 -1
  122. package/dist/Atomic/UI/NavLine/NavLine.js +317 -1
  123. package/dist/Atomic/UI/PageTitle/PageTitle.js +77 -1
  124. package/dist/Atomic/UI/PieChart/PieChart.js +42 -1
  125. package/dist/Atomic/UI/Price/Price.js +31 -1
  126. package/dist/Atomic/UI/PriceRange/PriceRange.js +44 -1
  127. package/dist/Atomic/UI/ProgressLine/ProgressLine.js +98 -1
  128. package/dist/Atomic/UI/Status/Status.js +67 -1
  129. package/dist/Atomic/UI/Table/Partials/TdCell.js +87 -1
  130. package/dist/Atomic/UI/Table/Partials/TdHeader.js +38 -1
  131. package/dist/Atomic/UI/Table/Partials/TdRow.js +99 -1
  132. package/dist/Atomic/UI/Table/Partials/TdTitle.js +52 -1
  133. package/dist/Atomic/UI/Table/Table.js +63 -1
  134. package/dist/Atomic/UI/Table/TdTypes/TdActions.js +80 -1
  135. package/dist/Atomic/UI/Table/TdTypes/TdPriority.js +28 -1
  136. package/dist/Atomic/UI/Table/TdTypes/TdRange.js +13 -1
  137. package/dist/Atomic/UI/Table/TdTypes/TdWeight.js +53 -1
  138. package/dist/Atomic/UI/Tag/Tag.js +167 -1
  139. package/dist/Atomic/UI/TagList/TagList.js +251 -1
  140. package/dist/Atomic/UI/UserBox/UserBox.js +86 -1
  141. package/dist/Atomic/UI/WizardStepper/constructor.js +84 -1
  142. package/dist/Atomic/UI/WizardStepper/index.js +3 -1
  143. package/dist/Atomic/UI/WizardStepper/ui/StateIcon/StateIcon.js +37 -1
  144. package/dist/Atomic/UI/WizardStepper/ui/StateIcon/index.js +3 -1
  145. package/dist/Atomic/UI/WizardStepper/ui/StepRow/StepRow.js +61 -1
  146. package/dist/Atomic/UI/WizardStepper/ui/StepRow/index.js +3 -1
  147. package/dist/Atomic/UI/WizardStepper/ui/StepWrapper/StepWrapper.js +39 -1
  148. package/dist/Atomic/UI/WizardStepper/ui/StepWrapper/index.js +3 -1
  149. package/dist/Atomic/UI/WizardStepper/ui/icons.js +49 -1
  150. package/dist/Atomic/UI/WizardStepper/ui/index.js +3 -1
  151. package/dist/Classes/AbortableFetch.js +454 -1
  152. package/dist/Classes/AnimatedHandler.js +47 -1
  153. package/dist/Classes/RESTAPI/index.js +228 -1
  154. package/dist/Classes/RESTAPI/partials/AbortableFetch.js +457 -1
  155. package/dist/Classes/RESTAPI/partials/ApiBase.js +48 -1
  156. package/dist/Classes/RESTAPI/partials/ApiRequestCreators.js +112 -1
  157. package/dist/Classes/RESTAPI/partials/ApiUtils.js +189 -1
  158. package/dist/Classes/RESTAPI/partials/CredentialsProcessing.js +252 -1
  159. package/dist/Classes/RESTAPI/partials/Utils.js +92 -1
  160. package/dist/Classes/RESTAPI/partials/_outerDependencies.js +3 -1
  161. package/dist/Classes/RESTAPI/partials/_utils.js +197 -1
  162. package/dist/Constants/index.constants.js +78 -1
  163. package/dist/Functions/Portal.js +22 -1
  164. package/dist/Functions/customEventListener.js +96 -1
  165. package/dist/Functions/dateTime.js +149 -1
  166. package/dist/Functions/fieldValueFormatters.js +405 -1
  167. package/dist/Functions/guards/assertions.js +294 -1
  168. package/dist/Functions/guards/safeValue.js +75 -1
  169. package/dist/Functions/guards/typeGuards.js +373 -1
  170. package/dist/Functions/hooks/useFormFieldsChangesManager.js +95 -1
  171. package/dist/Functions/locale/createTranslator.js +32 -1
  172. package/dist/Functions/operations.js +130 -1
  173. package/dist/Functions/presets/inputMaskPresets.js +170 -1
  174. package/dist/Functions/presets/inputPresets.js +60 -1
  175. package/dist/Functions/presets/mobileKeyboardTypesPresets.js +45 -1
  176. package/dist/Functions/schemas.js +31 -1
  177. package/dist/Functions/useBodyScrollLock.js +17 -1
  178. package/dist/Functions/useClickOutside.js +15 -1
  179. package/dist/Functions/useDebounce.js +17 -1
  180. package/dist/Functions/useFieldFocus.js +84 -1
  181. package/dist/Functions/useFormTools/form-drivers/ArrayWithObjects.js +39 -1
  182. package/dist/Functions/useFormTools/form-drivers/ObjectWithIterableObjects.js +159 -1
  183. package/dist/Functions/useFormTools/form-drivers/ObjectWithNamedKeyObjects.js +78 -1
  184. package/dist/Functions/useFormTools/functions/General.js +134 -1
  185. package/dist/Functions/useFormTools/functions/RenderFields.js +111 -1
  186. package/dist/Functions/useFormTools/functions/usePrevious.js +12 -1
  187. package/dist/Functions/useFormTools/index.js +778 -1
  188. package/dist/Functions/useInputHighlightError.js +67 -1
  189. package/dist/Functions/useIsMobile/useIsMobile.js +33 -1
  190. package/dist/Functions/useKeyPress/useHandleKeyPress.js +52 -1
  191. package/dist/Functions/useKeyPress/useKeyPress.js +52 -1
  192. package/dist/Functions/useLocalStorage.js +34 -1
  193. package/dist/Functions/useLocationParams.js +27 -1
  194. package/dist/Functions/useMediaQuery.js +17 -1
  195. package/dist/Functions/useMetaInfo.js +43 -1
  196. package/dist/Functions/useMouseUpOutside.js +16 -1
  197. package/dist/Functions/useOnlineStatus.js +29 -1
  198. package/dist/Functions/usePasswordChecker.js +110 -1
  199. package/dist/Functions/usePrevious.js +12 -1
  200. package/dist/Functions/useResize.js +31 -1
  201. package/dist/Functions/useScrollTo.js +17 -1
  202. package/dist/Functions/useToggle.js +17 -1
  203. package/dist/Functions/utils.js +522 -1
  204. package/dist/Langs.js +168 -1
  205. package/dist/Molecular/CustomIcons/components/AffiliateNetworks.js +21 -1
  206. package/dist/Molecular/CustomIcons/components/AlertCircle.js +23 -1
  207. package/dist/Molecular/CustomIcons/components/AppStore.js +29 -1
  208. package/dist/Molecular/CustomIcons/components/Arrow.js +32 -1
  209. package/dist/Molecular/CustomIcons/components/ArrowDown.js +17 -1
  210. package/dist/Molecular/CustomIcons/components/ArrowLeft.js +22 -1
  211. package/dist/Molecular/CustomIcons/components/ArrowRight.js +22 -1
  212. package/dist/Molecular/CustomIcons/components/ArrowUp.js +17 -1
  213. package/dist/Molecular/CustomIcons/components/Bell.js +15 -1
  214. package/dist/Molecular/CustomIcons/components/Button.js +12 -1
  215. package/dist/Molecular/CustomIcons/components/Campaigns.js +16 -1
  216. package/dist/Molecular/CustomIcons/components/Check.js +14 -1
  217. package/dist/Molecular/CustomIcons/components/Check2.js +12 -1
  218. package/dist/Molecular/CustomIcons/components/ChevronDown.js +12 -1
  219. package/dist/Molecular/CustomIcons/components/ChevronDownDisabled.js +11 -1
  220. package/dist/Molecular/CustomIcons/components/ChevronLeft.js +11 -1
  221. package/dist/Molecular/CustomIcons/components/ChevronRight.js +11 -1
  222. package/dist/Molecular/CustomIcons/components/ChevronUp.js +11 -1
  223. package/dist/Molecular/CustomIcons/components/ChevronUpDown.js +27 -1
  224. package/dist/Molecular/CustomIcons/components/Close.js +14 -1
  225. package/dist/Molecular/CustomIcons/components/ColumnsOrder.js +17 -1
  226. package/dist/Molecular/CustomIcons/components/Delete.js +16 -1
  227. package/dist/Molecular/CustomIcons/components/Edit.js +15 -1
  228. package/dist/Molecular/CustomIcons/components/Email.js +31 -1
  229. package/dist/Molecular/CustomIcons/components/FinturfLogo.js +18 -1
  230. package/dist/Molecular/CustomIcons/components/FinturfLogo2.js +35 -1
  231. package/dist/Molecular/CustomIcons/components/Flows.js +15 -1
  232. package/dist/Molecular/CustomIcons/components/Gift.js +25 -1
  233. package/dist/Molecular/CustomIcons/components/GoogleAuth.js +29 -1
  234. package/dist/Molecular/CustomIcons/components/GooglePlay.js +29 -1
  235. package/dist/Molecular/CustomIcons/components/HelpCircle.js +19 -1
  236. package/dist/Molecular/CustomIcons/components/HelpCircle2.js +20 -1
  237. package/dist/Molecular/CustomIcons/components/HelpCircleFilled.js +19 -1
  238. package/dist/Molecular/CustomIcons/components/Home.js +16 -1
  239. package/dist/Molecular/CustomIcons/components/Home2.js +22 -1
  240. package/dist/Molecular/CustomIcons/components/Key.js +23 -1
  241. package/dist/Molecular/CustomIcons/components/Landers.js +20 -1
  242. package/dist/Molecular/CustomIcons/components/Lock.js +15 -1
  243. package/dist/Molecular/CustomIcons/components/Mail.js +26 -1
  244. package/dist/Molecular/CustomIcons/components/Mastercard.js +73 -1
  245. package/dist/Molecular/CustomIcons/components/Minus.js +25 -1
  246. package/dist/Molecular/CustomIcons/components/Offers.js +16 -1
  247. package/dist/Molecular/CustomIcons/components/Pause.js +28 -1
  248. package/dist/Molecular/CustomIcons/components/PayPal.js +41 -1
  249. package/dist/Molecular/CustomIcons/components/PayPalLightLarge.js +28 -1
  250. package/dist/Molecular/CustomIcons/components/Phone.js +30 -1
  251. package/dist/Molecular/CustomIcons/components/Play.js +25 -1
  252. package/dist/Molecular/CustomIcons/components/Plus.js +25 -1
  253. package/dist/Molecular/CustomIcons/components/Profile.js +16 -1
  254. package/dist/Molecular/CustomIcons/components/QRCode.js +29 -1
  255. package/dist/Molecular/CustomIcons/components/Rectangle.js +12 -1
  256. package/dist/Molecular/CustomIcons/components/Revert.js +13 -1
  257. package/dist/Molecular/CustomIcons/components/Star.js +14 -1
  258. package/dist/Molecular/CustomIcons/components/Star2.js +16 -1
  259. package/dist/Molecular/CustomIcons/components/TrafficSources.js +14 -1
  260. package/dist/Molecular/CustomIcons/components/Trash.js +15 -1
  261. package/dist/Molecular/CustomIcons/components/TrashRed.js +15 -1
  262. package/dist/Molecular/CustomIcons/components/Triggers.js +15 -1
  263. package/dist/Molecular/CustomIcons/components/User.js +25 -1
  264. package/dist/Molecular/CustomIcons/components/Visa.js +31 -1
  265. package/dist/Molecular/CustomIcons/components/X.js +12 -1
  266. package/dist/Molecular/CustomIcons/index.js +61 -1
  267. package/dist/Molecular/FormElement/FormElement.js +54 -1
  268. package/dist/Molecular/FormWithDependOn/FormWithDependOn.js +184 -1
  269. package/dist/Molecular/FormWithDependOn/partials/_utils.js +53 -1
  270. package/dist/Molecular/InputAddress/InputAddress.js +626 -1
  271. package/dist/Molecular/InputPassword/InputPassword.js +48 -1
  272. package/dist/index.js +104 -1
  273. package/package.json +1 -1
  274. package/dist/Molecular/InputAddress/InputAddress.d.ts +0 -26
  275. package/dist/Molecular/InputAddress/InputAddress.js.map +0 -1
@@ -1 +1,64 @@
1
- import{jsx as t,jsxs as e}from"react/jsx-runtime";import"react";import r from"classnames";import{formatToHex as o,formatToOnlyASCIICodeText as n}from"../../../Functions/fieldValueFormatters";import i from"../Input/Input";import"./InputColor.scss";export default function(l){var a,c,s=l.value,u=l.className,p=l.symbolsLimit,b=void 0===p?7:p,m=l.onChange,f=l.withHexFormat,O=void 0===f?{withSharp:!1,isTurnOn:!0}:f,y=l.initialHexOfColorBlock,g=l.testId,h=l.withDelete,v=function(t,e){if(null==t)return{};var r,o,n=function(t,e){if(null==t)return{};var r,o,n={},i=Object.keys(t);for(o=0;o<i.length;o++)r=i[o],e.indexOf(r)>=0||(n[r]=t[r]);return n}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(o=0;o<i.length;o++)r=i[o],!(e.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(t,r)&&(n[r]=t[r])}return n}(l,["value","className","symbolsLimit","onChange","withHexFormat","initialHexOfColorBlock","testId","withDelete"]),j=O.withSharp,d=O.isTurnOn;return e("div",{className:r("inputColor",u),children:[t("div",{className:r("inputColor__color-block"),style:{backgroundColor:s&&7===s.length?s:void 0===y?"#9AA0B9":y}}),t(i,(a=function(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{},o=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(o=o.concat(Object.getOwnPropertySymbols(r).filter(function(t){return Object.getOwnPropertyDescriptor(r,t).enumerable}))),o.forEach(function(e){var o;o=r[e],e in t?Object.defineProperty(t,e,{value:o,enumerable:!0,configurable:!0,writable:!0}):t[e]=o})}return t}({},v),c=c={value:s,withDelete:void 0===h||h,onChange:function(t){var e=(null==t?void 0:t.target)?t.target.value:t;e=n(e),d&&(e=o({inputValue:e,withSharp:j})),b&&e.length>Number(b)&&(e=e.substring(0,Number(b))),null==m||m(e)},symbolsLimit:b||7,testId:"inputColor--key-".concat(void 0===g?"":g),className:r("input inputColor__input"),type:"text"},Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(c)):(function(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);r.push.apply(r,o)}return r})(Object(c)).forEach(function(t){Object.defineProperty(a,t,Object.getOwnPropertyDescriptor(c,t))}),a))]})}
1
+ import React from "react";
2
+
3
+ import cn from "classnames";
4
+
5
+ import {
6
+ formatToHex,
7
+ formatToOnlyASCIICodeText,
8
+ } from "../../../Functions/fieldValueFormatters";
9
+ import Input from "../Input/Input";
10
+
11
+ import "./InputColor.scss";
12
+
13
+ const InputColor = ({
14
+ value,
15
+ className,
16
+ symbolsLimit = 7,
17
+ onChange,
18
+ withHexFormat = {
19
+ withSharp: false,
20
+ isTurnOn: true,
21
+ },
22
+ initialHexOfColorBlock = "#9AA0B9",
23
+ testId = "",
24
+ withDelete = true,
25
+ ...args
26
+ }) => {
27
+ const { withSharp, isTurnOn: isHex } = withHexFormat;
28
+ // HANDLES
29
+ const handle = {
30
+ change: (e) => {
31
+ let inputValue = e?.target ? e.target.value : e;
32
+ inputValue = formatToOnlyASCIICodeText(inputValue);
33
+ if (isHex) inputValue = formatToHex({ inputValue, withSharp: withSharp });
34
+ if (symbolsLimit && inputValue.length > Number(symbolsLimit))
35
+ inputValue = inputValue.substring(0, Number(symbolsLimit));
36
+
37
+ onChange?.(inputValue);
38
+ },
39
+ };
40
+
41
+ return (
42
+ <div className={cn("inputColor", className)}>
43
+ <div
44
+ className={cn("inputColor__color-block")}
45
+ style={{
46
+ backgroundColor:
47
+ value && value.length === 7 ? value : initialHexOfColorBlock,
48
+ }}
49
+ />
50
+ <Input
51
+ {...args}
52
+ value={value}
53
+ withDelete={withDelete}
54
+ onChange={handle.change}
55
+ symbolsLimit={symbolsLimit || 7}
56
+ testId={`inputColor--key-${testId}`}
57
+ className={cn("input inputColor__input")}
58
+ type="text"
59
+ />
60
+ </div>
61
+ );
62
+ };
63
+
64
+ export default InputColor;
@@ -1 +1,200 @@
1
- function e(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function t(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){var n;n=r[t],t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n})}return e}function r(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):(function(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r.push.apply(r,n)}return r})(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}),e}function n(t,r){return function(e){if(Array.isArray(e))return e}(t)||function(e,t){var r,n,o=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var u=[],c=!0,a=!1;try{for(o=o.call(e);!(c=(r=o.next()).done)&&(u.push(r.value),!t||u.length!==t);c=!0);}catch(e){a=!0,n=e}finally{try{c||null==o.return||o.return()}finally{if(a)throw n}}return u}}(t,r)||function(t,r){if(t){if("string"==typeof t)return e(t,r);var n=Object.prototype.toString.call(t).slice(8,-1);if("Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return e(t,r)}}(t,r)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"default",{enumerable:!0,get:function(){return b}});var o,u=require("react/jsx-runtime"),c=(o=require("classnames"))&&o.__esModule?o:{default:o},a=function(e,t){if(e&&e.__esModule)return e;if(null===e||(void 0===e?"undefined":e&&"undefined"!=typeof Symbol&&e.constructor===Symbol?"symbol":typeof e)!="object"&&"function"!=typeof e)return{default:e};var r=l(t);if(r&&r.has(e))return r.get(e);var n={__proto__:null},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var u in e)if("default"!==u&&Object.prototype.hasOwnProperty.call(e,u)){var c=o?Object.getOwnPropertyDescriptor(e,u):null;c&&(c.get||c.set)?Object.defineProperty(n,u,c):n[u]=e[u]}return n.default=e,r&&r.set(e,n),n}(require("react")),i=require("../../../Functions/fieldValueFormatters");function l(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(l=function(e){return e?r:t})(e)}require("./InputCurrency.scss");var f={},s="input-currency",p={type:"float",decimalPlaces:2},y=function(e){var o=e.currencySymbol,l=void 0===o?"$":o,y=e.testId,b=void 0===y?s:y,d=e.onChange,v=e.className,m=e.value,O=e.disabled,g=e.attributesOfNativeInput,j=void 0===g?f:g,h=e.min,P=void 0===h?0:h,w=e.max,N=e.error,S=e.isNoCheckMinMax,_=e.allowZero,x=void 0!==_&&_,M=e.onlyNumbers,k=void 0===M?p:M,I=n((0,a.useState)(l),2),C=I[0],D=I[1],F=n((0,a.useState)(!1),2),A=F[0],q=F[1],E=(0,a.useRef)(null),B=function(e){var t=e.toString().split(".");return t[0]=t[0].replace(/\B(?=(\d{3})+(?!\d))/g,","),t.join(".")},W=function(e,t){var r,n=null!=t?t:(0,i.filterNumeric)((null==e||null==(r=e.target)?void 0:r.value)||"",k);if(!n)return!1;var o="string"==typeof n?Number.parseFloat(n):n;return o<P?(D("".concat(l).concat(B(P))),d(P),!1):!w||!(o>w)||(D("".concat(l).concat(B(w))),d(w),!1)};return(0,a.useEffect)(function(){0===m||"0"===m?x?(D("".concat(l,"0")),d(0)):(D(l),d("")):m?D("".concat(l).concat(B(m))):D(l)},[m,l,x]),(0,u.jsx)("div",{"data-testid":b,className:(0,c.default)("input-currency-box",v,{disabled:O,"input-currency__error":N,"input-currency__focused":A}),children:(0,u.jsx)("input",r(t({className:s,type:"text",ref:E,value:C,onChange:function(e){var n=e.target.value,o=(n=n.replace(l,"")).split("."),u=o[0],c=o[1],a=Number.parseInt((0,i.filterNumeric)(u,r(t({},k),{type:"int"})));if(Number.isNaN(a))D(l),d("");else if(0!==a||c){var f=B(a);if(void 0!==c){var s=(0,i.filterNumeric)(c,{type:"int"});s?f+=".".concat(s.slice(0,k.decimalPlaces)):""===c&&(f+=".")}D("".concat(l).concat(f)),d(Number.parseFloat(f.replace(/,/g,"")))}else x?(D("".concat(l,"0")),d(0)):(D(l),d(""))},onClick:function(){!C&&E.current&&(E.current.selectionStart=E.current.selectionEnd=l?l.length:1)},onKeyDown:function(e){e.key.match(/^[a-z0-9]$/i)&&E.current&&D(C.slice(0,E.current.selectionStart||0))}},j),{onFocus:function(e){var t;null==j||null==(t=j.onFocus)||t.call(j,e),q(!0)},onBlur:function(e){var t;null==j||null==(t=j.onBlur)||t.call(j,e),S||W(null,Number.parseFloat((0,i.filterNumeric)(C.replace(l,""),k))),q(!1)}}))})};y.displayName="InputCurrency";var b=y;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "default", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return _default;
9
+ }
10
+ });
11
+ const _jsxruntime = require("react/jsx-runtime");
12
+ const _classnames = /*#__PURE__*/ _interop_require_default(require("classnames"));
13
+ const _react = /*#__PURE__*/ _interop_require_wildcard(require("react"));
14
+ const _fieldValueFormatters = require("../../../Functions/fieldValueFormatters");
15
+ require("./InputCurrency.scss");
16
+ function _interop_require_default(obj) {
17
+ return obj && obj.__esModule ? obj : {
18
+ default: obj
19
+ };
20
+ }
21
+ function _getRequireWildcardCache(nodeInterop) {
22
+ if (typeof WeakMap !== "function") return null;
23
+ var cacheBabelInterop = new WeakMap();
24
+ var cacheNodeInterop = new WeakMap();
25
+ return (_getRequireWildcardCache = function(nodeInterop) {
26
+ return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
27
+ })(nodeInterop);
28
+ }
29
+ function _interop_require_wildcard(obj, nodeInterop) {
30
+ if (!nodeInterop && obj && obj.__esModule) {
31
+ return obj;
32
+ }
33
+ if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
34
+ return {
35
+ default: obj
36
+ };
37
+ }
38
+ var cache = _getRequireWildcardCache(nodeInterop);
39
+ if (cache && cache.has(obj)) {
40
+ return cache.get(obj);
41
+ }
42
+ var newObj = {
43
+ __proto__: null
44
+ };
45
+ var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
46
+ for(var key in obj){
47
+ if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
48
+ var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
49
+ if (desc && (desc.get || desc.set)) {
50
+ Object.defineProperty(newObj, key, desc);
51
+ } else {
52
+ newObj[key] = obj[key];
53
+ }
54
+ }
55
+ }
56
+ newObj.default = obj;
57
+ if (cache) {
58
+ cache.set(obj, newObj);
59
+ }
60
+ return newObj;
61
+ }
62
+ const attrsOfNativeInputDefault = {};
63
+ const CN = 'input-currency';
64
+ const ONLY_NUMBERS_DEFAULT = {
65
+ type: 'float',
66
+ decimalPlaces: 2
67
+ };
68
+ const InputCurrency = ({ currencySymbol = '$', testId = CN, onChange, className, value, disabled, attributesOfNativeInput = attrsOfNativeInputDefault, min = 0, max, error, isNoCheckMinMax, allowZero = false, onlyNumbers = ONLY_NUMBERS_DEFAULT })=>{
69
+ const [inputValue, setInputValue] = (0, _react.useState)(currencySymbol);
70
+ const [isFocused, setIsFocused] = (0, _react.useState)(false);
71
+ const inputRef = (0, _react.useRef)(null);
72
+ const formatNumberWithCommas = (number)=>{
73
+ const parts = number.toString().split('.');
74
+ parts[0] = parts[0].replace(/\B(?=(\d{3})+(?!\d))/g, ',');
75
+ return parts.join('.');
76
+ };
77
+ const formatCurrencyInput = (event)=>{
78
+ let newValue = event.target.value;
79
+ newValue = newValue.replace(currencySymbol, '');
80
+ // Handle decimal input separately
81
+ const parts = newValue.split('.');
82
+ const integerPart = parts[0];
83
+ const decimalPart = parts[1];
84
+ // Filter and format the integer part
85
+ const preparedIntegerValue = (0, _fieldValueFormatters.filterNumeric)(integerPart, {
86
+ ...onlyNumbers,
87
+ type: 'int'
88
+ });
89
+ const parsedIntegerValue = Number.parseInt(preparedIntegerValue);
90
+ if (!Number.isNaN(parsedIntegerValue)) {
91
+ if (parsedIntegerValue === 0 && !decimalPart) {
92
+ if (allowZero) {
93
+ setInputValue(`${currencySymbol}0`);
94
+ onChange(0);
95
+ } else {
96
+ setInputValue(currencySymbol);
97
+ onChange('');
98
+ }
99
+ } else {
100
+ let formattedValue = formatNumberWithCommas(parsedIntegerValue);
101
+ // Add decimal part if exists
102
+ if (decimalPart !== undefined) {
103
+ const filteredDecimal = (0, _fieldValueFormatters.filterNumeric)(decimalPart, {
104
+ type: 'int'
105
+ });
106
+ if (filteredDecimal) {
107
+ formattedValue += `.${filteredDecimal.slice(0, onlyNumbers.decimalPlaces)}`;
108
+ } else if (decimalPart === '') {
109
+ formattedValue += '.';
110
+ }
111
+ }
112
+ setInputValue(`${currencySymbol}${formattedValue}`);
113
+ onChange(Number.parseFloat(formattedValue.replace(/,/g, '')));
114
+ }
115
+ } else {
116
+ setInputValue(currencySymbol);
117
+ onChange('');
118
+ }
119
+ };
120
+ const onInputClick = ()=>{
121
+ if (!inputValue && inputRef.current) {
122
+ inputRef.current.selectionStart = inputRef.current.selectionEnd = currencySymbol ? currencySymbol.length : 1;
123
+ }
124
+ };
125
+ const onKeyDown = (event)=>{
126
+ if (event.key.match(/^[a-z0-9]$/i) && inputRef.current) {
127
+ setInputValue(inputValue.slice(0, inputRef.current.selectionStart || 0));
128
+ }
129
+ };
130
+ const checkMinMax = (event, checkValue)=>{
131
+ var _event_target;
132
+ const clearValue = checkValue !== null && checkValue !== void 0 ? checkValue : (0, _fieldValueFormatters.filterNumeric)((event === null || event === void 0 ? void 0 : (_event_target = event.target) === null || _event_target === void 0 ? void 0 : _event_target.value) || '', onlyNumbers);
133
+ if (!clearValue) return false;
134
+ const numericValue = typeof clearValue === 'string' ? Number.parseFloat(clearValue) : clearValue;
135
+ if (numericValue < min) {
136
+ setInputValue(`${currencySymbol}${formatNumberWithCommas(min)}`);
137
+ onChange(min);
138
+ return false;
139
+ }
140
+ if (max && numericValue > max) {
141
+ setInputValue(`${currencySymbol}${formatNumberWithCommas(max)}`);
142
+ onChange(max);
143
+ return false;
144
+ }
145
+ return true;
146
+ };
147
+ (0, _react.useEffect)(()=>{
148
+ if (value === 0 || value === '0') {
149
+ if (allowZero) {
150
+ setInputValue(`${currencySymbol}0`);
151
+ onChange(0);
152
+ } else {
153
+ setInputValue(currencySymbol);
154
+ onChange('');
155
+ }
156
+ } else if (value) {
157
+ setInputValue(`${currencySymbol}${formatNumberWithCommas(value)}`);
158
+ } else {
159
+ setInputValue(currencySymbol);
160
+ }
161
+ }, [
162
+ value,
163
+ currencySymbol,
164
+ allowZero
165
+ ]);
166
+ return /*#__PURE__*/ (0, _jsxruntime.jsx)("div", {
167
+ "data-testid": testId,
168
+ className: (0, _classnames.default)('input-currency-box', className, {
169
+ disabled,
170
+ 'input-currency__error': error,
171
+ 'input-currency__focused': isFocused
172
+ }),
173
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)("input", {
174
+ className: CN,
175
+ type: "text",
176
+ ref: inputRef,
177
+ value: inputValue,
178
+ onChange: formatCurrencyInput,
179
+ onClick: onInputClick,
180
+ onKeyDown: onKeyDown,
181
+ ...attributesOfNativeInput,
182
+ onFocus: (e)=>{
183
+ var _attributesOfNativeInput_onFocus;
184
+ attributesOfNativeInput === null || attributesOfNativeInput === void 0 ? void 0 : (_attributesOfNativeInput_onFocus = attributesOfNativeInput.onFocus) === null || _attributesOfNativeInput_onFocus === void 0 ? void 0 : _attributesOfNativeInput_onFocus.call(attributesOfNativeInput, e);
185
+ setIsFocused(true);
186
+ },
187
+ onBlur: (e)=>{
188
+ var _attributesOfNativeInput_onBlur;
189
+ attributesOfNativeInput === null || attributesOfNativeInput === void 0 ? void 0 : (_attributesOfNativeInput_onBlur = attributesOfNativeInput.onBlur) === null || _attributesOfNativeInput_onBlur === void 0 ? void 0 : _attributesOfNativeInput_onBlur.call(attributesOfNativeInput, e);
190
+ if (!isNoCheckMinMax) {
191
+ const currentValue = Number.parseFloat((0, _fieldValueFormatters.filterNumeric)(inputValue.replace(currencySymbol, ''), onlyNumbers));
192
+ checkMinMax(null, currentValue);
193
+ }
194
+ setIsFocused(false);
195
+ }
196
+ })
197
+ });
198
+ };
199
+ InputCurrency.displayName = 'InputCurrency';
200
+ const _default = InputCurrency;
@@ -1 +1,354 @@
1
- function t(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=Array(e);r<e;r++)n[r]=t[r];return n}function e(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(t){return Object.getOwnPropertyDescriptor(r,t).enumerable}))),n.forEach(function(e){var n;n=r[e],e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n})}return t}function r(t,e){return e=null!=e?e:{},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):(function(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);r.push.apply(r,n)}return r})(Object(e)).forEach(function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(e,r))}),t}function n(e,r){return function(t){if(Array.isArray(t))return t}(e)||function(t,e){var r,n,a=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=a){var o=[],i=!0,l=!1;try{for(a=a.call(t);!(i=(r=a.next()).done)&&(o.push(r.value),!e||o.length!==e);i=!0);}catch(t){l=!0,n=t}finally{try{i||null==a.return||a.return()}finally{if(l)throw n}}return o}}(e,r)||function(e,r){if(e){if("string"==typeof e)return t(e,r);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return t(e,r)}}(e,r)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}import{jsx as a,jsxs as o,Fragment as i}from"react/jsx-runtime";import l,{useLayoutEffect as s,useRef as d,useState as u}from"react";import c from"classnames";import m from"moment-timezone";import f from"../../../Functions/useIsMobile/useIsMobile";import p from"../../UI/Arrow/Arrow";import v from"./components/OpenedPart";import{ALL_TIME_KEY as g,CUSTOM_INTERVAL_KEY_TEXT as b,INTERVALS as y,MAIN_FORMAT as h,MAIN_TIME_FORMAT as _,getActualDateRange as O,useClickOutside as D,useToggle as w}from"./dependencies";import"./InputDateRange.scss";var P=function(t,e){var r=m(t,e);return r.isValid()?r.format(e):null};export default l.memo(function(t){var l,j,N=t.txt,I=t.id,A=t.label,C=t.subLabel,M=t.className,S=t.value,x=t.onChange,k=void 0===x?function(){}:x,K=t.error,L=t.disabled,E=t.isHoverable,F=t.isCompact,B=void 0!==F&&F,T=t.hideArrows,Y=void 0!==T&&T,R=t.isOptionsRight,U=t.isUseAbs,q=t.testId,V=void 0===q?"input-date-range":q,z=t.minDate,H=t.maxDate,$=t.minMaxDateParseFormat,G=void 0===$?"MM/DD/YYYY":$,J=t.isDontLimitFuture,Q=t.isListTop,W=t.isAltArrows,X=t.renderIntervals,Z=t.isDoNotPullOutListOfMainContainer,tt=f().isMobile,te=P(void 0===z?null:z,G),tr=P(void 0===H?null:H,G),tn=m(te,G).startOf("day"),ta=m(tr,G).startOf("day"),to=O(S),ti=w(!1),tl=ti.isToggled,ts=ti.toggle,td=ti.toggleOn,tu=ti.toggleOff,tc=n(u(null==to?void 0:to.intervalKey),2),tm=tc[0],tf=tc[1],tp=n(u(null==to?void 0:to.compare),2),tv=tp[0],tg=tp[1],tb=document.getElementsByClassName("dropdown__container"),ty=U||tt?d(null):D(tu,tb),th=d(null),t_=n(u(Math.random().toString(16).slice(2)),2),tO=t_[0];t_[1];var tD=function(t){var r=O(t),n=e({intervalKey:r.intervalKey,start:r.start?m(r.start).format(h):r.start,end:r.end?m(r.end).format(h):r.end},r.compare?{compare:r.compare}:{},r.startPrevDate?{startPrevDate:m(r.startPrevDate).format(h)}:{},r.endPrevDate?{endPrevDate:m(r.endPrevDate).format(h)}:{});return k(n),n},tw=function(){var t,n,a,o=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"forward",i=to.start,l=to.end,s=m(l).diff(i,"hours"),d=m(l).hours(),u=m(i).hours();"forward"===o?(a=m(l).add(+(0!==d),"day").hours(u).toDate(),n=m(a).add(s,"hours")):(n=m(i).subtract(+(0!==d),"day").hours(d).toDate(),a=m(n).subtract(s,"hours"));var c=m(a).subtract(s,"hours").subtract(1,"seconds"),f=m(n).subtract(1,"seconds");tD(r(e({},S),{intervalKey:null==(t=O({start:a,end:n}))?void 0:t.intervalKey,start:a,end:n,startPrevDate:c,endPrevDate:f}))},tP=function(t){tw("right"===t?"forward":"back"),tu()},tj=function(){var t;return null!=(t=document.querySelector("div#root"))?t:document.querySelector("div#app")},tN=function(){null==(t=document.getElementById(tO))||t.remove();var t,e,r=document.createElement("div");r.setAttribute("id",tO),r.classList.add("input-date-range__mobile-container"),null==(e=tj())||e.append(r)};return s(function(){return tN(),function(){var t;null==(t=document.getElementById(tO))||t.remove()}},[]),o("div",{"data-testid":V,ref:th,className:c("date-range-input",M,{"date-range-input_compact":B,"date-range-input_hide-arrows":Y,"date-range-input_focused":tl,"date-range-input_error":K,"date-range-input_disabled":L}),children:[a("span",{className:"date-range-input__label",children:A}),a("div",{className:"date-range-input__wraper",ref:ty,onMouseEnter:E?td:function(){return null},onMouseLeave:E?tu:function(){return null},children:o("div",{className:c("date-range-input__absolut-wraper",{"date-range-input__absolut-wraper_right-position":R}),children:[o("div",{className:c("date-range-input__static-part"),children:[o("button",{id:I,className:c("date-range-input__toggle-button"),disabled:L,onClick:L||E?void 0:ts,children:[o("div",{className:"date-range-input__interval-key",children:[C&&o("span",{className:"date-range-input__label",children:[C,": "]}),a("span",{children:null!=(j=(null==N?void 0:N.labels)&&N.labels[null==to?void 0:to.intervalKey])?j:(null==(l=y[null==to?void 0:to.intervalKey])?void 0:l.label)||b}),tm!==g&&a("span",{children:":"})]}),!B&&a("div",{className:c("date-range-input__range",{}),children:a(function(){!to.start&&S.start&&(to.start=S.start,to.end=S.end||"");var t=to.start,e=to.end;if(!t||!e)return null;var r=m(t).format(_),n=m(e).format(_),l="".concat(m(t).format("ll")," ").concat("00:00"!==r?"(".concat(r,")"):""),s="".concat(("00:00"!==n?m(e):m(e).subtract(1,"days")).format("ll")," ").concat("00:00"!==n?"(".concat(n,")"):""),d=function(t){return c("date-range-input__range-text",{"date-range-input__range-text_little":t.length>13})};return o(i,{children:[o("span",{className:d(l),children:[l,"00:00"===n&&m(e).isSame(m(t).add(1,"days"),"day")?"":" - "]}),"00:00"===n&&m(e).isSame(m(t).add(1,"days"),"day")?null:a("span",{className:d(s),children:s})]})},{})})]}),!B&&!Y&&o("div",{className:c("date-range-input__arrows-block"),children:[a(p,{testId:V,type:"left",className:"date-range-input__arrow",onClick:function(){return tP("left")},disabled:L||(null==to?void 0:to.intervalKey)===g||te&&m(null==to?void 0:to.start).subtract(m(null==to?void 0:to.end).diff(null==to?void 0:to.start,"hours"),"hours").isBefore(tn),isAlt:W}),a(p,{testId:V,type:"right",className:"date-range-input__arrow",onClick:function(){return tP("right")},disabled:L||(null==to?void 0:to.intervalKey)===g||!J&&(tr?m(null==to?void 0:to.end).endOf("day").subtract(m(null==to?void 0:to.end).diff(null==to?void 0:to.start,"hours"),"hours").isAfter(ta.startOf("day")):m(null==to?void 0:to.end).add(m(null==to?void 0:to.end).diff(null==to?void 0:to.start,"hours"),"hours").isAfter(m().add(1,"day").startOf("day"))),isAlt:W})]})]}),tl&&!U&&a(v,r(e({},t),{dateRangeContainerId:tO,mainId:I,testId:V,ref:th,actualValues:to,current:tm,setCurrent:tf,isCompare:tv,setIsCompare:tg,toggleOff:tu,onChange:tD,minDate:te,maxDate:tr,momentMinDate:tn,momentMaxDate:ta,isDontLimitFuture:J,isListTop:Q,renderIntervals:X,isDoNotPullOutListOfMainContainer:Z}))]})}),K&&a("span",{className:"date-range-input__error-block",children:K})]})});
1
+ import React, { useLayoutEffect, useRef, useState } from "react";
2
+
3
+ import cn from "classnames";
4
+ import moment from "moment-timezone";
5
+
6
+ import useIsMobile from "../../../Functions/useIsMobile/useIsMobile";
7
+ import Arrow from "../../UI/Arrow/Arrow";
8
+
9
+ import OpenedPart from "./components/OpenedPart";
10
+ import {
11
+ ALL_TIME_KEY,
12
+ CUSTOM_INTERVAL_KEY_TEXT,
13
+ INTERVALS,
14
+ MAIN_FORMAT,
15
+ MAIN_TIME_FORMAT,
16
+ getActualDateRange,
17
+ useClickOutside,
18
+ useToggle,
19
+ } from "./dependencies";
20
+
21
+ import "./InputDateRange.scss";
22
+
23
+ const checkFormat = (date, format) => {
24
+ const momentObj = moment(date, format);
25
+ return momentObj.isValid() ? momentObj.format(format) : null;
26
+ };
27
+
28
+ const InputDateRange = (props) => {
29
+ const {
30
+ txt,
31
+ id,
32
+ label,
33
+ subLabel,
34
+ className,
35
+ value,
36
+ onChange = () => {},
37
+ error,
38
+ disabled,
39
+ isHoverable,
40
+ isCompact = false,
41
+ hideArrows = false,
42
+ isOptionsRight,
43
+ isUseAbs,
44
+ testId = "input-date-range",
45
+ minDate = null,
46
+ maxDate = null,
47
+ minMaxDateParseFormat = "MM/DD/YYYY",
48
+ isDontLimitFuture,
49
+ isListTop,
50
+ isAltArrows,
51
+ renderIntervals,
52
+ isDoNotPullOutListOfMainContainer,
53
+ } = props;
54
+
55
+ const { isMobile } = useIsMobile();
56
+
57
+ const formatedMinDate = checkFormat(minDate, minMaxDateParseFormat);
58
+ const formatedMaxDate = checkFormat(maxDate, minMaxDateParseFormat);
59
+
60
+ const momentMinDate = moment(formatedMinDate, minMaxDateParseFormat).startOf(
61
+ "day",
62
+ );
63
+ const momentMaxDate = moment(formatedMaxDate, minMaxDateParseFormat).startOf(
64
+ "day",
65
+ );
66
+
67
+ const actualValues = getActualDateRange(value);
68
+ const { isToggled, toggle, toggleOn, toggleOff } = useToggle(false);
69
+ const [current, setCurrent] = useState(actualValues?.intervalKey);
70
+ const [isCompare, setIsCompare] = useState(actualValues?.compare);
71
+
72
+ const dropdownContainers = document.getElementsByClassName(
73
+ "dropdown__container",
74
+ );
75
+ const ref =
76
+ !isUseAbs && !isMobile
77
+ ? useClickOutside(toggleOff, dropdownContainers)
78
+ : useRef(null);
79
+ const internalContainerRef = useRef(null);
80
+
81
+ const [dateRangeContainerId, setDateRangeContainerId] = useState(
82
+ Math.random().toString(16).slice(2),
83
+ );
84
+
85
+ const handleChange = (input) => {
86
+ const newValue = getActualDateRange(input);
87
+ const formatedValue = {
88
+ intervalKey: newValue.intervalKey,
89
+ start: newValue.start
90
+ ? moment(newValue.start).format(MAIN_FORMAT)
91
+ : newValue.start,
92
+ end: newValue.end
93
+ ? moment(newValue.end).format(MAIN_FORMAT)
94
+ : newValue.end,
95
+ ...(newValue.compare ? { compare: newValue.compare } : {}),
96
+ ...(newValue.startPrevDate
97
+ ? { startPrevDate: moment(newValue.startPrevDate).format(MAIN_FORMAT) }
98
+ : {}),
99
+ ...(newValue.endPrevDate
100
+ ? { endPrevDate: moment(newValue.endPrevDate).format(MAIN_FORMAT) }
101
+ : {}),
102
+ };
103
+
104
+ onChange(formatedValue);
105
+ return formatedValue;
106
+ };
107
+
108
+ const Range = () => {
109
+ const SYMBOLS_QUANTITY_IF_TIME_ADDED = 13;
110
+ if (!actualValues.start && value.start) {
111
+ actualValues.start = value.start;
112
+ actualValues.end = value.end || "";
113
+ }
114
+ const { start, end } = actualValues;
115
+ if (!start || !end) return null;
116
+
117
+ const startTime = moment(start).format(MAIN_TIME_FORMAT);
118
+ const endTime = moment(end).format(MAIN_TIME_FORMAT);
119
+
120
+ const firstPart = `${moment(start).format("ll")} ${startTime !== "00:00" ? `(${startTime})` : ""}`;
121
+ const secondPart = `${(endTime !== "00:00" ? moment(end) : moment(end).subtract(1, "days")).format("ll")} ${
122
+ endTime !== "00:00" ? `(${endTime})` : ""
123
+ }`;
124
+
125
+ const getClasses = (base) =>
126
+ cn("date-range-input__range-text", {
127
+ "date-range-input__range-text_little":
128
+ base.length > SYMBOLS_QUANTITY_IF_TIME_ADDED,
129
+ });
130
+
131
+ return (
132
+ <>
133
+ <span className={getClasses(firstPart)}>
134
+ {firstPart}
135
+ {endTime === "00:00" &&
136
+ moment(end).isSame(moment(start).add(1, "days"), "day")
137
+ ? ""
138
+ : ` - `}
139
+ </span>
140
+ {endTime === "00:00" &&
141
+ moment(end).isSame(moment(start).add(1, "days"), "day") ? null : (
142
+ <span className={getClasses(secondPart)}>{secondPart}</span>
143
+ )}
144
+ </>
145
+ );
146
+ };
147
+
148
+ const slideInterval = (direction = "forward") => {
149
+ const { start, end } = actualValues;
150
+ const intervalHoursCount = moment(end).diff(start, "hours");
151
+ let newEnd;
152
+ let newStart;
153
+ const endHours = moment(end).hours();
154
+ const startHours = moment(start).hours();
155
+ if (direction === "forward") {
156
+ newStart = moment(end)
157
+ .add(endHours === 0 ? 0 : 1, "day")
158
+ .hours(startHours)
159
+ .toDate();
160
+ newEnd = moment(newStart).add(intervalHoursCount, "hours");
161
+ } else {
162
+ newEnd = moment(start)
163
+ .subtract(endHours === 0 ? 0 : 1, "day")
164
+ .hours(endHours)
165
+ .toDate();
166
+ newStart = moment(newEnd).subtract(intervalHoursCount, "hours");
167
+ }
168
+ const startPrevDate = moment(newStart)
169
+ .subtract(intervalHoursCount, "hours")
170
+ .subtract(1, "seconds");
171
+ const endPrevDate = moment(newEnd).subtract(1, "seconds");
172
+ handleChange({
173
+ ...value,
174
+ intervalKey: getActualDateRange({
175
+ start: newStart,
176
+ end: newEnd,
177
+ })?.intervalKey,
178
+ start: newStart,
179
+ end: newEnd,
180
+ startPrevDate,
181
+ endPrevDate,
182
+ });
183
+ };
184
+
185
+ const handleArrowClick = (type) => {
186
+ slideInterval(type === "right" ? "forward" : "back");
187
+ toggleOff();
188
+ };
189
+
190
+ const getParentNode = () => {
191
+ return (
192
+ document.querySelector("div#root") ?? document.querySelector("div#app")
193
+ );
194
+ };
195
+ const initDateRangeContainer = () => {
196
+ document.getElementById(dateRangeContainerId)?.remove();
197
+
198
+ const dateRangeContainer = document.createElement("div");
199
+
200
+ dateRangeContainer.setAttribute("id", dateRangeContainerId);
201
+ dateRangeContainer.classList.add("input-date-range__mobile-container");
202
+
203
+ getParentNode()?.append(dateRangeContainer);
204
+ };
205
+
206
+ const getDateRangeContainer = () => {
207
+ return document.getElementById(dateRangeContainerId);
208
+ };
209
+
210
+ useLayoutEffect(() => {
211
+ initDateRangeContainer();
212
+ return () => {
213
+ getDateRangeContainer()?.remove();
214
+ };
215
+ }, []);
216
+
217
+ return (
218
+ <div
219
+ data-testid={testId}
220
+ ref={internalContainerRef}
221
+ className={cn("date-range-input", className, {
222
+ "date-range-input_compact": isCompact,
223
+ "date-range-input_hide-arrows": hideArrows,
224
+ "date-range-input_focused": isToggled,
225
+ "date-range-input_error": error,
226
+ "date-range-input_disabled": disabled,
227
+ })}
228
+ >
229
+ <span className="date-range-input__label">{label}</span>
230
+ <div
231
+ className="date-range-input__wraper"
232
+ ref={ref}
233
+ onMouseEnter={isHoverable ? toggleOn : () => null}
234
+ onMouseLeave={isHoverable ? toggleOff : () => null}
235
+ >
236
+ <div
237
+ className={cn("date-range-input__absolut-wraper", {
238
+ "date-range-input__absolut-wraper_right-position": isOptionsRight,
239
+ })}
240
+ >
241
+ <div className={cn("date-range-input__static-part")}>
242
+ <button
243
+ id={id}
244
+ className={cn("date-range-input__toggle-button")}
245
+ disabled={disabled}
246
+ onClick={!disabled && !isHoverable ? toggle : undefined}
247
+ >
248
+ <div className="date-range-input__interval-key">
249
+ {subLabel && (
250
+ <span className="date-range-input__label">{subLabel}: </span>
251
+ )}
252
+ <span>
253
+ {(txt?.labels && txt.labels[actualValues?.intervalKey]) ??
254
+ (INTERVALS[actualValues?.intervalKey]?.label ||
255
+ CUSTOM_INTERVAL_KEY_TEXT)}
256
+ </span>
257
+ {current !== ALL_TIME_KEY && <span>:</span>}
258
+ </div>
259
+ {!isCompact && (
260
+ <div className={cn("date-range-input__range", {})}>
261
+ <Range />
262
+ </div>
263
+ )}
264
+ </button>
265
+ {!isCompact && !hideArrows && (
266
+ <div className={cn("date-range-input__arrows-block")}>
267
+ <Arrow
268
+ testId={testId}
269
+ type="left"
270
+ className="date-range-input__arrow"
271
+ onClick={() => handleArrowClick("left")}
272
+ disabled={
273
+ disabled ||
274
+ actualValues?.intervalKey === ALL_TIME_KEY ||
275
+ (formatedMinDate &&
276
+ moment(actualValues?.start)
277
+ .subtract(
278
+ moment(actualValues?.end).diff(
279
+ actualValues?.start,
280
+ "hours",
281
+ ),
282
+ "hours",
283
+ )
284
+ .isBefore(momentMinDate))
285
+ }
286
+ isAlt={isAltArrows}
287
+ />
288
+ <Arrow
289
+ testId={testId}
290
+ type="right"
291
+ className="date-range-input__arrow"
292
+ onClick={() => handleArrowClick("right")}
293
+ disabled={
294
+ disabled ||
295
+ actualValues?.intervalKey === ALL_TIME_KEY ||
296
+ (!isDontLimitFuture &&
297
+ (formatedMaxDate
298
+ ? moment(actualValues?.end)
299
+ .endOf("day")
300
+ .subtract(
301
+ moment(actualValues?.end).diff(
302
+ actualValues?.start,
303
+ "hours",
304
+ ),
305
+ "hours",
306
+ )
307
+ .isAfter(momentMaxDate.startOf("day"))
308
+ : moment(actualValues?.end)
309
+ .add(
310
+ moment(actualValues?.end).diff(
311
+ actualValues?.start,
312
+ "hours",
313
+ ),
314
+ "hours",
315
+ )
316
+ .isAfter(moment().add(1, "day").startOf("day"))))
317
+ }
318
+ isAlt={isAltArrows}
319
+ />
320
+ </div>
321
+ )}
322
+ </div>
323
+ {isToggled && !isUseAbs && (
324
+ <OpenedPart
325
+ {...props}
326
+ dateRangeContainerId={dateRangeContainerId}
327
+ mainId={id}
328
+ testId={testId}
329
+ ref={internalContainerRef}
330
+ actualValues={actualValues}
331
+ current={current}
332
+ setCurrent={setCurrent}
333
+ isCompare={isCompare}
334
+ setIsCompare={setIsCompare}
335
+ toggleOff={toggleOff}
336
+ onChange={handleChange}
337
+ minDate={formatedMinDate}
338
+ maxDate={formatedMaxDate}
339
+ momentMinDate={momentMinDate}
340
+ momentMaxDate={momentMaxDate}
341
+ isDontLimitFuture={isDontLimitFuture}
342
+ isListTop={isListTop}
343
+ renderIntervals={renderIntervals}
344
+ isDoNotPullOutListOfMainContainer={isDoNotPullOutListOfMainContainer}
345
+ />
346
+ )}
347
+ </div>
348
+ </div>
349
+ {error && <span className="date-range-input__error-block">{error}</span>}
350
+ </div>
351
+ );
352
+ };
353
+
354
+ export default React.memo(InputDateRange);