intelicoreact 1.5.40 → 1.6.0

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 (350) hide show
  1. package/dist/Atomic/FormElements/ActionAlert/ActionAlert.js +93 -44
  2. package/dist/Atomic/FormElements/ActionAlert/ActionAlert.scss +23 -13
  3. package/dist/Atomic/FormElements/AdvancedStatus/AdvancedStatus.js +43 -38
  4. package/dist/Atomic/FormElements/AdvancedStatus/AdvancedStatus.scss +20 -10
  5. package/dist/Atomic/FormElements/Calendar/Calendar.js +243 -164
  6. package/dist/Atomic/FormElements/Calendar/Calendar.scss +1 -0
  7. package/dist/Atomic/FormElements/CheckboxInput/CheckboxInput.js +60 -51
  8. package/dist/Atomic/FormElements/CheckboxInput/CheckboxInput.scss +21 -11
  9. package/dist/Atomic/FormElements/CheckboxesLine/CheckboxesLine.js +47 -39
  10. package/dist/Atomic/FormElements/CheckboxesLine/CheckboxesLine.scss +5 -2
  11. package/dist/Atomic/FormElements/Datepicker/Datepicker.js +410 -308
  12. package/dist/Atomic/FormElements/Datepicker/components/Calendar.js +169 -109
  13. package/dist/Atomic/FormElements/Dropdown/Dropdown.js +680 -527
  14. package/dist/Atomic/FormElements/Dropdown/Dropdown.scss +58 -56
  15. package/dist/Atomic/FormElements/Dropdown/components/DropdownLoader.js +28 -15
  16. package/dist/Atomic/FormElements/DropdownLiveSearch/DropdownLiveSearch.js +498 -378
  17. package/dist/Atomic/FormElements/DropdownLiveSearch/DropdownLiveSearch.scss +33 -29
  18. package/dist/Atomic/FormElements/FileLoader/FileLoader.js +103 -70
  19. package/dist/Atomic/FormElements/FileLoader/FileLoader.scss +0 -2
  20. package/dist/Atomic/FormElements/FileLoader/partial/LoadZone.js +138 -91
  21. package/dist/Atomic/FormElements/FileLoader/partial/LoadedContent.js +109 -55
  22. package/dist/Atomic/FormElements/FileLoaderDescription/FileLoaderDescription.js +254 -193
  23. package/dist/Atomic/FormElements/FileLoaderDescription/FileLoaderDescription.scss +19 -16
  24. package/dist/Atomic/FormElements/FileLoaderLocal/FileLoaderLocal.js +156 -140
  25. package/dist/Atomic/FormElements/FileLoaderLocal/FileLoaderLocal.scss +8 -4
  26. package/dist/Atomic/FormElements/FileLoaderLocalGroup/FileLoaderLocalGroup.js +222 -156
  27. package/dist/Atomic/FormElements/FormattedRawSSN/FormattedRawSSN.js +158 -114
  28. package/dist/Atomic/FormElements/FormattedRawSSN/FormattedRawSSN_old.js +151 -92
  29. package/dist/Atomic/FormElements/Input/Input.js +340 -330
  30. package/dist/Atomic/FormElements/InputCalendar/InputCalendar.js +156 -110
  31. package/dist/Atomic/FormElements/InputColor/InputColor.js +57 -58
  32. package/dist/Atomic/FormElements/InputCurrency/InputCurrency.js +189 -145
  33. package/dist/Atomic/FormElements/InputDateRange/InputDateRange.js +294 -228
  34. package/dist/Atomic/FormElements/InputDateRange/components/DateInput.js +55 -56
  35. package/dist/Atomic/FormElements/InputDateRange/components/Datepicker.js +645 -536
  36. package/dist/Atomic/FormElements/InputDateRange/components/OpenedPart.js +220 -190
  37. package/dist/Atomic/FormElements/InputDateRange/components/SelectItem.js +33 -31
  38. package/dist/Atomic/FormElements/InputDateRange/dependencies.js +247 -169
  39. package/dist/Atomic/FormElements/InputLink/InputLink.js +118 -71
  40. package/dist/Atomic/FormElements/InputMask/InputCarretPosition.js +47 -38
  41. package/dist/Atomic/FormElements/InputMask/InputMask.js +938 -1053
  42. package/dist/Atomic/FormElements/InputMask/config.js +16 -15
  43. package/dist/Atomic/FormElements/InputMask/functions.js +77 -51
  44. package/dist/Atomic/FormElements/InputMask2/InputMask2.js +569 -592
  45. package/dist/Atomic/FormElements/InputMask2/config.js +16 -15
  46. package/dist/Atomic/FormElements/InputMask2/functions.js +77 -51
  47. package/dist/Atomic/FormElements/InputMask3/InputMask3.js +651 -679
  48. package/dist/Atomic/FormElements/InputMask3/config.js +16 -15
  49. package/dist/Atomic/FormElements/InputMask3/functions.js +77 -51
  50. package/dist/Atomic/FormElements/InputWithAction/InputWithAction.js +127 -88
  51. package/dist/Atomic/FormElements/InputsRow/InputsRow.js +182 -111
  52. package/dist/Atomic/FormElements/Label/Label.js +82 -55
  53. package/dist/Atomic/FormElements/Label/Label.scss +18 -8
  54. package/dist/Atomic/FormElements/MobileCalendar/MobileCalendar.js +437 -382
  55. package/dist/Atomic/FormElements/MultiSelect/MultiSelect.js +88 -50
  56. package/dist/Atomic/FormElements/NumericInput/NumericInput.js +314 -264
  57. package/dist/Atomic/FormElements/RadioGroup/RadioGroup.js +93 -51
  58. package/dist/Atomic/FormElements/RadioGroupWithInput/RadioGroupWithInput.js +69 -55
  59. package/dist/Atomic/FormElements/RadioInput/RadioInput.js +51 -45
  60. package/dist/Atomic/FormElements/RadioInput/RadioInput.scss +4 -4
  61. package/dist/Atomic/FormElements/RadioRowSwitcher/RadioRowSwitcher.js +53 -40
  62. package/dist/Atomic/FormElements/RangeCalendar/RangeCalendar.js +169 -120
  63. package/dist/Atomic/FormElements/RangeInputs/RangeInputs.js +195 -141
  64. package/dist/Atomic/FormElements/RangeList/RangeList.js +199 -140
  65. package/dist/Atomic/FormElements/RangeList/RangeList.scss +2 -2
  66. package/dist/Atomic/FormElements/RangeList/partial/AnyOuterClass.scss +0 -3
  67. package/dist/Atomic/FormElements/RangeList/partial/RangeListRow.js +57 -44
  68. package/dist/Atomic/FormElements/RangeSlider/RangeSlider.js +463 -377
  69. package/dist/Atomic/FormElements/RangeSlider2/RangeSlider2.js +760 -759
  70. package/dist/Atomic/FormElements/SwitchableRow/SwitchableRow.js +36 -31
  71. package/dist/Atomic/FormElements/SwitchableRow/SwitchableRow.scss +0 -2
  72. package/dist/Atomic/FormElements/Switcher/Switcher.js +52 -44
  73. package/dist/Atomic/FormElements/Switcher/Switcher.scss +3 -3
  74. package/dist/Atomic/FormElements/SwitcherCheckbox/SwitcherCheckbox.js +43 -44
  75. package/dist/Atomic/FormElements/SwitcherCheckbox/SwitcherCheckbox.scss +0 -2
  76. package/dist/Atomic/FormElements/SwitcherHide/SwitcherHide.js +37 -36
  77. package/dist/Atomic/FormElements/SwitcherHide/SwitcherHide.scss +0 -2
  78. package/dist/Atomic/FormElements/SwitcherRadio/SwitcherRadio.js +93 -56
  79. package/dist/Atomic/FormElements/SwitcherRadio/SwitcherRadio.scss +0 -2
  80. package/dist/Atomic/FormElements/SwitcherRange/SwitcherRange.js +86 -53
  81. package/dist/Atomic/FormElements/SwitcherRange/SwitcherRange.scss +0 -2
  82. package/dist/Atomic/FormElements/SwitcherRangeList/SwitcherRangeList.js +46 -54
  83. package/dist/Atomic/FormElements/SwitcherTagsDropdown/SwitcherTagsDropdown.js +172 -102
  84. package/dist/Atomic/FormElements/SwitcherTagsDropdown/SwitcherTagsDropdown.scss +4 -6
  85. package/dist/Atomic/FormElements/SwitcherTagsDropdown/partial/States.js +209 -154
  86. package/dist/Atomic/FormElements/SwitcherTextarea/SwitcherTextarea.js +59 -56
  87. package/dist/Atomic/FormElements/SwitcherTextarea/SwitcherTextarea.scss +2 -2
  88. package/dist/Atomic/FormElements/TagListToDropdown/TagListToDropdown.js +140 -112
  89. package/dist/Atomic/FormElements/TagsDropdown/TagsDropdown.js +1035 -919
  90. package/dist/Atomic/FormElements/TagsDropdown/TagsDropdown.scss +153 -116
  91. package/dist/Atomic/FormElements/Text/Text.js +88 -97
  92. package/dist/Atomic/FormElements/TextSwitcher/TextSwitcher.js +44 -35
  93. package/dist/Atomic/FormElements/TextSwitcher/TextSwitcher.scss +8 -8
  94. package/dist/Atomic/FormElements/Textarea/Textarea.js +102 -64
  95. package/dist/Atomic/FormElements/Textarea/Textarea.scss +4 -8
  96. package/dist/Atomic/FormElements/TieredCheckboxes/TieredCheckboxes.js +172 -133
  97. package/dist/Atomic/FormElements/TieredCheckboxes/partial/AccordionWithCheckbox.js +48 -49
  98. package/dist/Atomic/FormElements/TimeRange/TimeRange.js +114 -63
  99. package/dist/Atomic/FormElements/TimeRange/TimeRange.scss +9 -3
  100. package/dist/Atomic/FormElements/UserContacts/UserContacts.js +179 -122
  101. package/dist/Atomic/FormElements/UserContacts/UserContacts.scss +10 -5
  102. package/dist/Atomic/FormElements/VariantsListRadio/VariantsListRadio.js +101 -65
  103. package/dist/Atomic/FormElements/VariantsListRadio/partials/VariantsListRadioItem.js +80 -71
  104. package/dist/Atomic/FormElements/WidgetPseudoTable/WidgetPseudoTable.js +79 -64
  105. package/dist/Atomic/FormElements/WidgetPseudoTable/WidgetPseudoTable.scss +0 -2
  106. package/dist/Atomic/FormElements/WidgetPseudoTable/partial/constructor.js +42 -34
  107. package/dist/Atomic/FormElements/WidgetWithSwitchableRows/WidgetWithSwitchableRows.js +102 -83
  108. package/dist/Atomic/FormElements/WidgetWithSwitchableRows/WidgetWithSwitchableRows.scss +0 -2
  109. package/dist/Atomic/FormElements/WidgetWithSwitchableRows/partial/constructor.js +42 -35
  110. package/dist/Atomic/Layout/Header/Header.js +148 -80
  111. package/dist/Atomic/Layout/MainMenu/MainMenu.js +213 -133
  112. package/dist/Atomic/Layout/MainMenu/MainMenu.scss +7 -7
  113. package/dist/Atomic/Layout/Spinner/Spinner.js +39 -22
  114. package/dist/Atomic/Layout/Spinner/Spinner.scss +36 -16
  115. package/dist/Atomic/UI/Accordion/Accordion.js +102 -53
  116. package/dist/Atomic/UI/Accordion/Accordion.scss +25 -14
  117. package/dist/Atomic/UI/Accordion/AccordionItem.js +170 -102
  118. package/dist/Atomic/UI/AccordionTable/AccordionTable.js +251 -167
  119. package/dist/Atomic/UI/AccordionText/AccordionText.js +105 -54
  120. package/dist/Atomic/UI/AccordionText/AccordionText.scss +22 -9
  121. package/dist/Atomic/UI/AdvancedTag/AdvTag.js +207 -135
  122. package/dist/Atomic/UI/AdvancedTag/AdvancedTags.js +100 -46
  123. package/dist/Atomic/UI/Alert/Alert.js +116 -63
  124. package/dist/Atomic/UI/Alert/Alert.scss +2 -2
  125. package/dist/Atomic/UI/Arrow/Arrow.js +163 -110
  126. package/dist/Atomic/UI/Box/Box.js +37 -37
  127. package/dist/Atomic/UI/Box/Box.scss +11 -11
  128. package/dist/Atomic/UI/Button/Button.js +43 -41
  129. package/dist/Atomic/UI/ButtonsBar/ButtonsBar.js +61 -67
  130. package/dist/Atomic/UI/Chart/Chart.js +170 -96
  131. package/dist/Atomic/UI/Chart/partial/Chart.constants.js +142 -74
  132. package/dist/Atomic/UI/Chart/partial/ChartTypeSwitcherIcon/ChartTypeSwitcherIcon.js +91 -77
  133. package/dist/Atomic/UI/Chart/partial/datasetSetters.js +120 -117
  134. package/dist/Atomic/UI/Chart/partial/optionsConstructor.js +314 -292
  135. package/dist/Atomic/UI/Chart/partial/optionsSetters.js +54 -39
  136. package/dist/Atomic/UI/Chart/partial/utils.js +56 -33
  137. package/dist/Atomic/UI/CircleProgressBar/CircleProgressBar.js +145 -88
  138. package/dist/Atomic/UI/DateTime/DateTime.js +89 -37
  139. package/dist/Atomic/UI/DateTime/DateTime.scss +2 -2
  140. package/dist/Atomic/UI/DebugContainer/DebugContainer.js +93 -31
  141. package/dist/Atomic/UI/DebugContainer/useDebugContainer.js +66 -18
  142. package/dist/Atomic/UI/DoubleString/DoubleString.js +134 -77
  143. package/dist/Atomic/UI/DoubleString/DoubleString.scss +6 -4
  144. package/dist/Atomic/UI/DynamicIcon/DynamicIcon.js +65 -22
  145. package/dist/Atomic/UI/ExampleChartIntegration/ExampleChartIntegration.js +251 -170
  146. package/dist/Atomic/UI/ExampleChartIntegration/partial/utils.js +109 -84
  147. package/dist/Atomic/UI/Hint/Hint.interface.js +4 -0
  148. package/dist/Atomic/UI/Hint/Hint.js +247 -204
  149. package/dist/Atomic/UI/Hint/Hint.scss +4 -2
  150. package/dist/Atomic/UI/Hint/Hint.stories.js +10 -5
  151. package/dist/Atomic/UI/Hint/Hint.test.js +96 -0
  152. package/dist/Atomic/UI/Hint/index.js +3 -2
  153. package/dist/Atomic/UI/Hint/partials/_utils.js +60 -46
  154. package/dist/Atomic/UI/Modal/Modal.js +171 -172
  155. package/dist/Atomic/UI/Modal/Modal.scss +91 -65
  156. package/dist/Atomic/UI/Modal/Modal.stories.js +1 -1
  157. package/dist/Atomic/UI/Modal/ModalHOC.js +92 -38
  158. package/dist/Atomic/UI/Modal/ModalMobile.scss +26 -14
  159. package/dist/Atomic/UI/Modal/partials/ModalFooter.js +68 -18
  160. package/dist/Atomic/UI/Modal/partials/ModalTitle.js +107 -38
  161. package/dist/Atomic/UI/Modal/partials/useMobileModal.js +130 -153
  162. package/dist/Atomic/UI/MonoAccordion/MonoAccordion.js +118 -62
  163. package/dist/Atomic/UI/MonoAccordion/MonoAccordion.scss +172 -25
  164. package/dist/Atomic/UI/NavLine/NavLine.js +306 -273
  165. package/dist/Atomic/UI/NavLine/NavLine.scss +202 -155
  166. package/dist/Atomic/UI/NavLine/NavLine.test.js +1 -1
  167. package/dist/Atomic/UI/PageTitle/PageTitle.js +73 -52
  168. package/dist/Atomic/UI/PageTitle/PageTitle.scss +52 -14
  169. package/dist/Atomic/UI/PieChart/PieChart.js +105 -42
  170. package/dist/Atomic/UI/PieChart/PieChart.scss +87 -11
  171. package/dist/Atomic/UI/Price/Price.js +27 -20
  172. package/dist/Atomic/UI/PriceRange/PriceRange.js +40 -18
  173. package/dist/Atomic/UI/ProgressLine/ProgressLine.js +92 -73
  174. package/dist/Atomic/UI/ProgressLine/ProgressLine.scss +66 -52
  175. package/dist/Atomic/UI/Status/Status.js +62 -51
  176. package/dist/Atomic/UI/Status/Status.scss +48 -29
  177. package/dist/Atomic/UI/Table/Partials/TdCell.js +126 -88
  178. package/dist/Atomic/UI/Table/Partials/TdHeader.js +58 -39
  179. package/dist/Atomic/UI/Table/Partials/TdRow.js +124 -73
  180. package/dist/Atomic/UI/Table/Partials/TdTitle.js +113 -45
  181. package/dist/Atomic/UI/Table/Table.js +61 -43
  182. package/dist/Atomic/UI/Table/Table.scss +0 -3
  183. package/dist/Atomic/UI/Table/TdTypes/TdActions.js +108 -64
  184. package/dist/Atomic/UI/Table/TdTypes/TdPriority.js +44 -31
  185. package/dist/Atomic/UI/Table/TdTypes/TdRange.js +24 -10
  186. package/dist/Atomic/UI/Table/TdTypes/TdWeight.js +59 -48
  187. package/dist/Atomic/UI/Tag/Tag.js +157 -113
  188. package/dist/Atomic/UI/Tag/Tag.scss +104 -47
  189. package/dist/Atomic/UI/TagList/TagList.js +223 -179
  190. package/dist/Atomic/UI/TagList/TagList.scss +13 -9
  191. package/dist/Atomic/UI/UserBox/UserBox.js +80 -56
  192. package/dist/Atomic/UI/UserBox/UserBox.scss +45 -21
  193. package/dist/Atomic/UI/UserBox/UserBox.test.js +2 -2
  194. package/dist/Atomic/UI/WizardStepper/constructor.js +127 -89
  195. package/dist/Atomic/UI/WizardStepper/index.js +14 -6
  196. package/dist/Atomic/UI/WizardStepper/ui/StateIcon/StateIcon.js +53 -51
  197. package/dist/Atomic/UI/WizardStepper/ui/StateIcon/StateIcon.scss +11 -7
  198. package/dist/Atomic/UI/WizardStepper/ui/StateIcon/index.js +9 -5
  199. package/dist/Atomic/UI/WizardStepper/ui/StepRow/StepRow.js +84 -67
  200. package/dist/Atomic/UI/WizardStepper/ui/StepRow/StepRow.scss +13 -7
  201. package/dist/Atomic/UI/WizardStepper/ui/StepRow/index.js +14 -6
  202. package/dist/Atomic/UI/WizardStepper/ui/StepWrapper/StepWrapper.js +50 -45
  203. package/dist/Atomic/UI/WizardStepper/ui/StepWrapper/StepWrapper.scss +24 -18
  204. package/dist/Atomic/UI/WizardStepper/ui/StepWrapper/index.js +14 -6
  205. package/dist/Atomic/UI/WizardStepper/ui/icons.js +138 -106
  206. package/dist/Atomic/UI/WizardStepper/ui/index.js +14 -6
  207. package/dist/Classes/AbortableFetch.js +394 -326
  208. package/dist/Classes/AnimatedHandler.js +31 -44
  209. package/dist/Classes/RESTAPI/index.js +131 -173
  210. package/dist/Classes/RESTAPI/partials/AbortableFetch.js +399 -334
  211. package/dist/Classes/RESTAPI/partials/ApiBase.js +30 -30
  212. package/dist/Classes/RESTAPI/partials/ApiRequestCreators.js +107 -88
  213. package/dist/Classes/RESTAPI/partials/ApiUtils.js +144 -166
  214. package/dist/Classes/RESTAPI/partials/CredentialsProcessing.js +180 -204
  215. package/dist/Classes/RESTAPI/partials/Utils.js +80 -83
  216. package/dist/Classes/RESTAPI/partials/_outerDependencies.js +16 -8
  217. package/dist/Classes/RESTAPI/partials/_utils.js +139 -125
  218. package/dist/Constants/index.constants.js +102 -22
  219. package/dist/Functions/Portal.js +67 -23
  220. package/dist/Functions/customEventListener.js +48 -50
  221. package/dist/Functions/dateTime.js +130 -177
  222. package/dist/Functions/fieldValueFormatters.js +275 -346
  223. package/dist/Functions/guards/assertions.js +294 -0
  224. package/dist/Functions/guards/safeValue.js +75 -0
  225. package/dist/Functions/guards/typeGuards.js +374 -0
  226. package/dist/Functions/hooks/useFormFieldsChangesManager.js +125 -96
  227. package/dist/Functions/locale/createTranslator.js +29 -27
  228. package/dist/Functions/operations.js +129 -102
  229. package/dist/Functions/presets/inputMaskPresets.js +88 -99
  230. package/dist/Functions/presets/inputPresets.js +41 -35
  231. package/dist/Functions/presets/mobileKeyboardTypesPresets.js +30 -49
  232. package/dist/Functions/schemas.js +78 -20
  233. package/dist/Functions/useBodyScrollLock.js +21 -15
  234. package/dist/Functions/useClickOutside.js +21 -16
  235. package/dist/Functions/useDebounce.js +62 -21
  236. package/dist/Functions/useFieldFocus.js +83 -79
  237. package/dist/Functions/useFormTools/form-drivers/ArrayWithObjects.js +39 -46
  238. package/dist/Functions/useFormTools/form-drivers/ObjectWithIterableObjects.js +132 -137
  239. package/dist/Functions/useFormTools/form-drivers/ObjectWithNamedKeyObjects.js +63 -73
  240. package/dist/Functions/useFormTools/functions/General.js +117 -129
  241. package/dist/Functions/useFormTools/functions/RenderFields.js +75 -85
  242. package/dist/Functions/useFormTools/functions/usePrevious.js +16 -10
  243. package/dist/Functions/useFormTools/index.js +647 -709
  244. package/dist/Functions/useInputHighlightError.js +104 -53
  245. package/dist/Functions/useKeyPress/useHandleKeyPress.js +40 -33
  246. package/dist/Functions/useKeyPress/useKeyPress.js +48 -39
  247. package/dist/Functions/useLocalStorage.js +38 -31
  248. package/dist/Functions/useLocationParams.js +31 -24
  249. package/dist/Functions/useMediaQuery.js +14 -10
  250. package/dist/Functions/useMetaInfo.js +45 -35
  251. package/dist/Functions/useMouseUpOutside.js +21 -15
  252. package/dist/Functions/useOnlineStatus.js +25 -21
  253. package/dist/Functions/usePasswordChecker.js +183 -111
  254. package/dist/Functions/usePrevious.js +16 -10
  255. package/dist/Functions/useResize.js +32 -28
  256. package/dist/Functions/useScrollTo.js +26 -16
  257. package/dist/Functions/useToggle.js +20 -16
  258. package/dist/Functions/utils.js +493 -469
  259. package/dist/Molecular/CustomIcons/components/AffiliateNetworks.js +75 -28
  260. package/dist/Molecular/CustomIcons/components/AlertCircle.js +77 -28
  261. package/dist/Molecular/CustomIcons/components/AppStore.js +84 -32
  262. package/dist/Molecular/CustomIcons/components/Arrow.js +93 -38
  263. package/dist/Molecular/CustomIcons/components/ArrowDown.js +63 -20
  264. package/dist/Molecular/CustomIcons/components/ArrowLeft.js +71 -23
  265. package/dist/Molecular/CustomIcons/components/ArrowRight.js +71 -23
  266. package/dist/Molecular/CustomIcons/components/ArrowUp.js +63 -20
  267. package/dist/Molecular/CustomIcons/components/Bell.js +61 -18
  268. package/dist/Molecular/CustomIcons/components/Button.js +61 -18
  269. package/dist/Molecular/CustomIcons/components/Campaigns.js +62 -19
  270. package/dist/Molecular/CustomIcons/components/Check.js +62 -19
  271. package/dist/Molecular/CustomIcons/components/Check2.js +61 -18
  272. package/dist/Molecular/CustomIcons/components/ChevronDown.js +61 -18
  273. package/dist/Molecular/CustomIcons/components/ChevronDownDisabled.js +61 -18
  274. package/dist/Molecular/CustomIcons/components/ChevronLeft.js +61 -18
  275. package/dist/Molecular/CustomIcons/components/ChevronRight.js +61 -18
  276. package/dist/Molecular/CustomIcons/components/ChevronUp.js +61 -18
  277. package/dist/Molecular/CustomIcons/components/ChevronUpDown.js +81 -33
  278. package/dist/Molecular/CustomIcons/components/Close.js +64 -20
  279. package/dist/Molecular/CustomIcons/components/ColumnsOrder.js +95 -45
  280. package/dist/Molecular/CustomIcons/components/Delete.js +62 -19
  281. package/dist/Molecular/CustomIcons/components/Edit.js +61 -18
  282. package/dist/Molecular/CustomIcons/components/Email.js +87 -36
  283. package/dist/Molecular/CustomIcons/components/FinturfLogo.js +82 -26
  284. package/dist/Molecular/CustomIcons/components/FinturfLogo2.js +83 -34
  285. package/dist/Molecular/CustomIcons/components/Flows.js +61 -18
  286. package/dist/Molecular/CustomIcons/components/Gift.js +71 -23
  287. package/dist/Molecular/CustomIcons/components/GoogleAuth.js +84 -32
  288. package/dist/Molecular/CustomIcons/components/GooglePlay.js +84 -32
  289. package/dist/Molecular/CustomIcons/components/HelpCircle.js +67 -21
  290. package/dist/Molecular/CustomIcons/components/HelpCircle2.js +68 -22
  291. package/dist/Molecular/CustomIcons/components/HelpCircleFilled.js +67 -21
  292. package/dist/Molecular/CustomIcons/components/Home.js +67 -21
  293. package/dist/Molecular/CustomIcons/components/Home2.js +70 -24
  294. package/dist/Molecular/CustomIcons/components/Key.js +69 -26
  295. package/dist/Molecular/CustomIcons/components/Landers.js +68 -22
  296. package/dist/Molecular/CustomIcons/components/Lock.js +61 -18
  297. package/dist/Molecular/CustomIcons/components/Mail.js +75 -26
  298. package/dist/Molecular/CustomIcons/components/Mastercard.js +128 -68
  299. package/dist/Molecular/CustomIcons/components/Minus.js +79 -31
  300. package/dist/Molecular/CustomIcons/components/Offers.js +62 -19
  301. package/dist/Molecular/CustomIcons/components/Pause.js +79 -31
  302. package/dist/Molecular/CustomIcons/components/PayPal.js +96 -45
  303. package/dist/Molecular/CustomIcons/components/PayPalLightLarge.js +81 -32
  304. package/dist/Molecular/CustomIcons/components/Phone.js +81 -33
  305. package/dist/Molecular/CustomIcons/components/Play.js +79 -31
  306. package/dist/Molecular/CustomIcons/components/Plus.js +79 -31
  307. package/dist/Molecular/CustomIcons/components/Profile.js +69 -23
  308. package/dist/Molecular/CustomIcons/components/QRCode.js +85 -33
  309. package/dist/Molecular/CustomIcons/components/Rectangle.js +61 -18
  310. package/dist/Molecular/CustomIcons/components/Revert.js +67 -21
  311. package/dist/Molecular/CustomIcons/components/Star.js +60 -17
  312. package/dist/Molecular/CustomIcons/components/Star2.js +62 -19
  313. package/dist/Molecular/CustomIcons/components/TrafficSources.js +68 -21
  314. package/dist/Molecular/CustomIcons/components/Trash.js +61 -18
  315. package/dist/Molecular/CustomIcons/components/TrashRed.js +61 -18
  316. package/dist/Molecular/CustomIcons/components/Triggers.js +61 -18
  317. package/dist/Molecular/CustomIcons/components/User.js +71 -23
  318. package/dist/Molecular/CustomIcons/components/Visa.js +88 -34
  319. package/dist/Molecular/CustomIcons/components/X.js +61 -18
  320. package/dist/Molecular/CustomIcons/index.js +76 -674
  321. package/dist/Molecular/FormElement/FormElement.js +44 -41
  322. package/dist/Molecular/FormWithDependOn/FormWithDependOn.js +179 -161
  323. package/dist/Molecular/FormWithDependOn/partials/_utils.js +49 -56
  324. package/dist/Molecular/InputAddress/InputAddress.js +496 -421
  325. package/dist/Molecular/InputAddress/InputAddress.scss +12 -14
  326. package/dist/Molecular/InputPassword/InputPassword.js +99 -47
  327. package/dist/index.js +11 -8
  328. package/dist/scss/_mixins.scss +2 -2
  329. package/dist/scss/_vars.scss +1 -2
  330. package/dist/scss/main.scss +4 -3
  331. package/dist/types/declaration/ArrayElement.d.js +4 -0
  332. package/dist/types/declaration/AsyncReturnType.d.js +4 -0
  333. package/dist/types/declaration/DeepPartial.d.js +4 -0
  334. package/dist/types/declaration/DeepReadonly.d.js +4 -0
  335. package/dist/types/declaration/DeepRequired.d.js +4 -0
  336. package/dist/types/declaration/Flatten.d.js +4 -0
  337. package/dist/types/declaration/FunctionType.d.js +4 -0
  338. package/dist/types/declaration/If.d.js +4 -0
  339. package/dist/types/declaration/KeysType.d.js +4 -0
  340. package/dist/types/declaration/NonNullableType.d.js +4 -0
  341. package/dist/types/declaration/ObjectType.d.js +4 -0
  342. package/dist/types/declaration/OnlyObjectKeys.d.js +4 -0
  343. package/dist/types/declaration/PrettyPrint.d.js +31 -0
  344. package/dist/types/declaration/RequiredFields.d.js +4 -0
  345. package/dist/types/declaration/TupleType.d.js +4 -0
  346. package/dist/types/declaration/ValuesType.d.js +4 -0
  347. package/package.json +18 -21
  348. package/dist/Atomic/UI/NavLine/Tabs.js +0 -115
  349. package/dist/Functions/animatingFunctions/getAnimatedHandler.js +0 -1
  350. package/dist/Functions/useIsMobile.js +0 -26
@@ -1,778 +1,779 @@
1
1
  "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
2
  Object.defineProperty(exports, "__esModule", {
5
- value: true
3
+ value: true
6
4
  });
7
- exports.default = RangeSlider2;
8
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
- var _react = _interopRequireWildcard(require("react"));
10
- var _classnames = _interopRequireDefault(require("classnames"));
11
- var _reactFeather = require("react-feather");
12
- var _useIsMobile = _interopRequireDefault(require("../../../Functions/useIsMobile"));
13
- var _utils = require("../../../Functions/utils");
5
+ Object.defineProperty(exports, "default", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return RangeSlider2;
9
+ }
10
+ });
11
+ const _jsxruntime = require("react/jsx-runtime");
12
+ const _react = /*#__PURE__*/ _interop_require_wildcard(require("react"));
13
+ const _classnames = /*#__PURE__*/ _interop_require_default(require("classnames"));
14
+ const _reactfeather = require("react-feather");
15
+ const _useIsMobile = /*#__PURE__*/ _interop_require_default(require("../../../Functions/useIsMobile/useIsMobile"));
16
+ const _utils = require("../../../Functions/utils");
14
17
  require("./RangeSlider2.scss");
15
- 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); }
16
- 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; }
18
+ function _interop_require_default(obj) {
19
+ return obj && obj.__esModule ? obj : {
20
+ default: obj
21
+ };
22
+ }
23
+ function _getRequireWildcardCache(nodeInterop) {
24
+ if (typeof WeakMap !== "function") return null;
25
+ var cacheBabelInterop = new WeakMap();
26
+ var cacheNodeInterop = new WeakMap();
27
+ return (_getRequireWildcardCache = function(nodeInterop) {
28
+ return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
29
+ })(nodeInterop);
30
+ }
31
+ function _interop_require_wildcard(obj, nodeInterop) {
32
+ if (!nodeInterop && obj && obj.__esModule) {
33
+ return obj;
34
+ }
35
+ if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
36
+ return {
37
+ default: obj
38
+ };
39
+ }
40
+ var cache = _getRequireWildcardCache(nodeInterop);
41
+ if (cache && cache.has(obj)) {
42
+ return cache.get(obj);
43
+ }
44
+ var newObj = {
45
+ __proto__: null
46
+ };
47
+ var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
48
+ for(var key in obj){
49
+ if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
50
+ var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
51
+ if (desc && (desc.get || desc.set)) {
52
+ Object.defineProperty(newObj, key, desc);
53
+ } else {
54
+ newObj[key] = obj[key];
55
+ }
56
+ }
57
+ }
58
+ newObj.default = obj;
59
+ if (cache) {
60
+ cache.set(obj, newObj);
61
+ }
62
+ return newObj;
63
+ }
17
64
  const COMPONENT_CLASS = "range-slider2";
18
- const {
19
- LEFT_COLLISSION,
20
- RIGHT_COLLISION,
21
- BOTH_COLLISION,
22
- NO_COLLISION
23
- } = Object.freeze({
24
- NO_COLLISION: 0,
25
- LEFT_COLLISSION: -1,
26
- RIGHT_COLLISION: 1,
27
- BOTH_COLLISION: 2
65
+ const { LEFT_COLLISSION, RIGHT_COLLISION, BOTH_COLLISION, NO_COLLISION } = Object.freeze({
66
+ NO_COLLISION: 0,
67
+ LEFT_COLLISSION: -1,
68
+ RIGHT_COLLISION: 1,
69
+ BOTH_COLLISION: 2
28
70
  });
29
- const {
30
- ASSIGN_TO_LEFT,
31
- ASSIGN_TO_RIGHT
32
- } = Object.freeze({
33
- ASSIGN_TO_LEFT: -1,
34
- ASSIGN_TO_RIGHT: 1
71
+ const { ASSIGN_TO_LEFT, ASSIGN_TO_RIGHT } = Object.freeze({
72
+ ASSIGN_TO_LEFT: -1,
73
+ ASSIGN_TO_RIGHT: 1
35
74
  });
36
75
  const POINT_VALUE_TYPES = Object.freeze({
37
- FROM: "from",
38
- TO: "to",
39
- BOTH: "both"
76
+ FROM: "from",
77
+ TO: "to",
78
+ BOTH: "both"
40
79
  });
41
- function RangeSlider2(_ref) {
42
- let {
43
- min = 300,
44
- max = 850,
45
- minRange = 50,
46
- dividersRange = 50,
47
- pointValueType = POINT_VALUE_TYPES.FROM,
48
- precision = 0,
49
- step = 5,
50
- className,
51
- value = [],
52
- onChange = () => {},
53
- transformDataOnConcat = (d1, d2) => {
54
- return [];
55
- }
56
- } = _ref;
57
- const {
58
- isMobile
59
- } = (0, _useIsMobile.default)();
60
- const [protectedValue, setProtectedValue] = (0, _react.useState)([]);
61
- const trackRef = (0, _react.useRef)(null);
62
- const addTriggerRef = (0, _react.useRef)(null);
63
- const [trackWidth, setTrackWidth] = (0, _react.useState)(0);
64
- const [trackPosition, setTrackPosition] = (0, _react.useState)(0);
65
- const [mouseTrackPosition, setMouseTrackPosition] = (0, _react.useState)(0);
66
- const prepareValue = value => {
67
- return parseInt(parseFloat(value) * 10 ** precision, 10) / 10 ** precision;
68
- };
69
- const [ranges, setRanges] = (0, _react.useState)(value);
70
- const addRange = _ref2 => {
71
- let {
72
- from,
73
- to,
74
- label,
75
- value,
76
- data = [],
77
- id = null
78
- } = _ref2;
79
- return setRanges(ranges => {
80
- if (!id) {
81
- id = (ranges?.length + 1) * -1;
82
- }
83
- return [...ranges, {
84
- id,
85
- from,
86
- to,
87
- label,
88
- data,
89
- value: Number.isInteger(value) ? value : 0
90
- }].sort((a, b) => a.from - b.from);
91
- });
92
- };
93
- const updateRange = _ref3 => {
94
- let {
95
- from,
96
- to,
97
- label,
98
- value,
99
- data,
100
- id
101
- } = _ref3;
102
- return setRanges(ranges => {
103
- const newRanges = [...ranges];
104
- const range = newRanges?.find(_ref4 => {
105
- let {
106
- id: rangeId
107
- } = _ref4;
108
- return rangeId === id;
109
- });
110
- if (range) {
111
- range.from = from ?? range?.from;
112
- range.to = to ?? range?.to;
113
- range.label = label ?? range?.label;
114
- range.value = value !== undefined ? Number.isInteger(value) ? value : 0 : range?.value;
115
- range.data = data !== undefined ? data : range?.data;
116
- }
117
- return newRanges;
118
- });
119
- };
120
- const updateRangesByTrigger = trigger => {
121
- const newValue = triggers?.find(_ref5 => {
122
- let {
123
- id
124
- } = _ref5;
125
- return id === trigger?.id;
126
- })?.value;
127
- const oldValue = trigger?.value;
128
- const leftRange = ranges?.find(range => range?.to === oldValue);
129
- const rightRange = ranges?.find(range => range?.from === oldValue + 1);
130
- if (leftRange && rightRange) {
131
- updateRange({
132
- from: leftRange?.from,
133
- to: newValue,
134
- id: leftRange?.id
135
- });
136
- updateRange({
137
- from: newValue + 1,
138
- to: rightRange?.to,
139
- id: rightRange?.id
140
- });
141
- }
142
- };
143
- const splitRange = score => {
144
- const range = ranges?.find(_ref6 => {
145
- let {
146
- from,
147
- to
148
- } = _ref6;
149
- return from + minRange <= score + 1 && score <= to - minRange;
150
- });
151
- if (!range) return;
152
- const {
153
- value = 0,
154
- label,
155
- data
156
- } = addTriggerFixedRange || {};
157
- addRange({
158
- value: assignValueToRange === ASSIGN_TO_RIGHT ? value : 0,
159
- data: assignValueToRange === ASSIGN_TO_RIGHT ? data : null,
160
- label,
161
- from: score + 1,
162
- to: range?.to,
163
- id: null
164
- });
165
- updateRange({
166
- ...range,
167
- value: assignValueToRange === ASSIGN_TO_LEFT ? value : 0,
168
- data: assignValueToRange === ASSIGN_TO_LEFT ? data : null,
169
- label,
170
- to: score
171
- });
172
- if (isAddTriggerFixed) unfixAddTrigger();
173
- };
174
- const concatRanges = score => {
175
- const [left, right] = ranges?.filter(_ref7 => {
176
- let {
177
- from,
178
- to
179
- } = _ref7;
180
- return from === score + 1 || score === to;
181
- });
182
- const {
183
- data,
184
- value
185
- } = transformDataOnConcat(left, right);
186
- updateRange({
187
- from: left?.from,
188
- to: right?.to,
189
- id: left?.id,
190
- data,
191
- value
192
- });
193
- removeRange(right?.id);
194
- };
195
- const removeRange = id => setRanges(ranges => ranges?.filter(range => range?.id !== id));
196
- const clearRanges = () => setRanges([]);
197
- const [triggers, setTriggers] = (0, _react.useState)([]);
198
- const addTrigger = function (value) {
199
- let {
200
- isFixed = false,
201
- isHidden = false
202
- } = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
203
- let {
204
- withRange = true
205
- } = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
206
- let index = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : triggers.length;
207
- return setTriggers(state => {
208
- if (withRange) splitRange(value);
209
- const newState = [...state];
210
- const id = state?.length ? Math.max(...state?.map(_ref8 => {
211
- let {
212
- id
213
- } = _ref8;
214
- return id;
215
- })) + 1 : 0;
216
- newState.splice(index, 0, {
217
- id,
218
- value,
219
- isFixed,
220
- isHidden
221
- });
222
- return newState.sort((a, b) => a.value < b.value ? -1 : 1);
223
- });
224
- };
225
- const updateTrigger = (index, value) => setTriggers(state => {
226
- const newState = [...state];
227
- newState[index] = {
228
- ...newState[index],
229
- value
230
- };
231
- return newState;
232
- });
233
- const removeTrigger = index => setTriggers(state => {
234
- concatRanges(state[index]?.value);
235
- const newState = [...state];
236
- newState.splice(index, 1);
237
- return newState;
238
- });
239
- const clearTriggers = () => setTriggers([]);
240
- const getTriggerByScore = score => {
241
- return triggers?.find(_ref9 => {
242
- let {
243
- value: triggerScore
244
- } = _ref9;
245
- return triggerScore === score;
246
- });
247
- };
248
- const [movingController, setMovingController] = (0, _react.useState)(null);
249
- const [movingTrigger, setMovingTrigger] = (0, _react.useState)(null);
250
- const [movingTriggerIndex, setMovingTriggerIndex] = (0, _react.useState)(null);
251
- const [movingTriggerData, setMovingTriggerData] = (0, _react.useState)(null);
252
- const [isTriggerMoved, setIsTriggerMoved] = (0, _react.useState)(false);
253
- const [isMouseOverTrigger, setIsMouseOverTrigger] = (0, _react.useState)(false);
254
- const setMouseOverTrigger = () => setIsMouseOverTrigger(true);
255
- const setMouseLeaveTrigger = () => setIsMouseOverTrigger(false);
256
- const [isMouseOverTrack, setIsMouseOverTrack] = (0, _react.useState)(false);
257
- const setMouseOverTrack = () => setIsMouseOverTrack(true);
258
- const setMouseLeaveTrack = () => setIsMouseOverTrack(false);
259
- const isTriggerMoving = triggerIndex => triggerIndex === movingTriggerIndex;
260
- const [addTriggerFixedScore, setAddTriggerFixedScore] = (0, _react.useState)(null);
261
- const [addTriggerFixedRange, setAddTriggerFixedRange] = (0, _react.useState)(null);
262
- const [isAddTriggerFixed, setIsAddTriggerFixed] = (0, _react.useState)(false);
263
- const [assignValueToRange, setAssignValueToRange] = (0, _react.useState)(ASSIGN_TO_LEFT);
264
- const fixAddTrigger = (score, inRange) => {
265
- setAddTriggerFixedScore(score);
266
- setAddTriggerFixedRange(inRange);
267
- setIsAddTriggerFixed(true);
268
- };
269
- const unfixAddTrigger = e => {
270
- e?.stopPropagation();
271
- e?.preventDefault();
272
- setAddTriggerFixedScore(null);
273
- setAddTriggerFixedRange(null);
274
- setIsAddTriggerFixed(false);
275
- setAssignValueToRange(ASSIGN_TO_LEFT);
276
- };
277
- const [pointsPerPx, setPointsPerPx] = (0, _react.useState)(0);
278
- const countPointsPerPx = width => {
279
- return (max - min) / width;
280
- };
281
-
282
- // GETTERS //
283
- const getTrackXByScore = score => {
284
- return (score - min) / pointsPerPx;
285
- };
286
- const getScoreByX = x => {
287
- let points = (x - trackPosition) * pointsPerPx + min;
288
- points -= points % step;
289
- if (points < min) points = min;
290
- if (points > max) points = max;
291
- return points - 1;
292
- };
293
- const getTriggerCollisionDirection = (index, points) => {
294
- if (index <= 0) return points;
295
- const [triggerBefore, triggerAfter] = [triggers?.[index - 1]?.value + minRange - 1, triggers?.[index + 1]?.value - minRange - 1];
296
- if (triggerBefore === triggerAfter) return BOTH_COLLISION;else if (points === triggerBefore) return LEFT_COLLISSION;else if (points === triggerAfter) return RIGHT_COLLISION;else return NO_COLLISION;
297
- };
298
- const getTriggerScore = (index, points) => {
299
- if (index <= 0) return points;
300
- const [triggerBefore, triggerAfter] = [triggers?.[index - 1]?.value + minRange - 1, triggers?.[index + 1]?.value - minRange - 1];
301
- if (points < triggerBefore) return triggerBefore;else if (points > triggerAfter) return triggerAfter;else return points;
302
- };
303
- const getAddTriggerCollisionDirection = x => {
304
- const triggerScore = getAddTriggerScore(x);
305
- const inRange = getInRange(triggerScore);
306
- if (!inRange) return 0;
307
- const {
308
- from,
309
- to
310
- } = inRange;
311
- const triggerBefore = from + minRange - 1;
312
- const triggerAfter = to - minRange - 1;
313
- if (triggerBefore === triggerAfter) return BOTH_COLLISION;else if (triggerScore <= triggerBefore) return LEFT_COLLISSION;else if (triggerScore >= triggerAfter) return RIGHT_COLLISION;else return NO_COLLISION;
314
- };
315
- const getAddTriggerPosition = () => {
316
- return isAddTriggerFixed ? getTrackXByScore(addTriggerFixedScore) : mouseTrackPosition;
317
- };
318
- const getAddTriggerScore = x => {
319
- const score = getScoreByX(x);
320
- let result = getRangesList()?.reduce((result, _ref10) => {
321
- let {
322
- from,
323
- to
324
- } = _ref10;
325
- if (to - from + 1 <= 2 * minRange && from <= score && score <= to) {
326
- return null;
327
- }
328
- if (from <= score && score <= from + minRange) {
329
- return from + minRange - 1;
330
- } else if (to - minRange <= score && score <= to) {
331
- return to - minRange - 1;
332
- } else {
333
- return result;
334
- }
335
- }, score);
336
- if (!result) {
337
- const closestRange = getRangesList()?.filter(_ref11 => {
338
- let {
339
- from,
340
- to
341
- } = _ref11;
342
- return to - from + 1 >= 2 * minRange;
343
- })?.reduce((result, range) => {
344
- const distance = Math.abs((range.to + range.from) / 2 - score);
345
- if (!result || distance < result?.distance) {
346
- return {
80
+ function RangeSlider2({ min = 300, max = 850, minRange = 50, dividersRange = 50, pointValueType = POINT_VALUE_TYPES.FROM, precision = 0, step = 5, className, value = [], onChange = ()=>{}, transformDataOnConcat = (d1, d2)=>{
81
+ return [];
82
+ } }) {
83
+ const { isMobile } = (0, _useIsMobile.default)();
84
+ const [protectedValue, setProtectedValue] = (0, _react.useState)([]);
85
+ const trackRef = (0, _react.useRef)(null);
86
+ const addTriggerRef = (0, _react.useRef)(null);
87
+ const [trackWidth, setTrackWidth] = (0, _react.useState)(0);
88
+ const [trackPosition, setTrackPosition] = (0, _react.useState)(0);
89
+ const [mouseTrackPosition, setMouseTrackPosition] = (0, _react.useState)(0);
90
+ const prepareValue = (value)=>{
91
+ return parseInt(parseFloat(value) * 10 ** precision, 10) / 10 ** precision;
92
+ };
93
+ const [ranges, setRanges] = (0, _react.useState)(value);
94
+ const addRange = ({ from, to, label, value, data = [], id = null })=>setRanges((ranges)=>{
95
+ if (!id) {
96
+ id = ((ranges === null || ranges === void 0 ? void 0 : ranges.length) + 1) * -1;
97
+ }
98
+ return [
99
+ ...ranges,
100
+ {
101
+ id,
102
+ from,
103
+ to,
104
+ label,
105
+ data,
106
+ value: Number.isInteger(value) ? value : 0
107
+ }
108
+ ].sort((a, b)=>a.from - b.from);
109
+ });
110
+ const updateRange = ({ from, to, label, value, data, id })=>setRanges((ranges)=>{
111
+ const newRanges = [
112
+ ...ranges
113
+ ];
114
+ const range = newRanges === null || newRanges === void 0 ? void 0 : newRanges.find(({ id: rangeId })=>rangeId === id);
115
+ if (range) {
116
+ range.from = from !== null && from !== void 0 ? from : range === null || range === void 0 ? void 0 : range.from;
117
+ range.to = to !== null && to !== void 0 ? to : range === null || range === void 0 ? void 0 : range.to;
118
+ range.label = label !== null && label !== void 0 ? label : range === null || range === void 0 ? void 0 : range.label;
119
+ range.value = value !== undefined ? Number.isInteger(value) ? value : 0 : range === null || range === void 0 ? void 0 : range.value;
120
+ range.data = data !== undefined ? data : range === null || range === void 0 ? void 0 : range.data;
121
+ }
122
+ return newRanges;
123
+ });
124
+ const updateRangesByTrigger = (trigger)=>{
125
+ var _triggers_find;
126
+ const newValue = triggers === null || triggers === void 0 ? void 0 : (_triggers_find = triggers.find(({ id })=>id === (trigger === null || trigger === void 0 ? void 0 : trigger.id))) === null || _triggers_find === void 0 ? void 0 : _triggers_find.value;
127
+ const oldValue = trigger === null || trigger === void 0 ? void 0 : trigger.value;
128
+ const leftRange = ranges === null || ranges === void 0 ? void 0 : ranges.find((range)=>(range === null || range === void 0 ? void 0 : range.to) === oldValue);
129
+ const rightRange = ranges === null || ranges === void 0 ? void 0 : ranges.find((range)=>(range === null || range === void 0 ? void 0 : range.from) === oldValue + 1);
130
+ if (leftRange && rightRange) {
131
+ updateRange({
132
+ from: leftRange === null || leftRange === void 0 ? void 0 : leftRange.from,
133
+ to: newValue,
134
+ id: leftRange === null || leftRange === void 0 ? void 0 : leftRange.id
135
+ });
136
+ updateRange({
137
+ from: newValue + 1,
138
+ to: rightRange === null || rightRange === void 0 ? void 0 : rightRange.to,
139
+ id: rightRange === null || rightRange === void 0 ? void 0 : rightRange.id
140
+ });
141
+ }
142
+ };
143
+ const splitRange = (score)=>{
144
+ const range = ranges === null || ranges === void 0 ? void 0 : ranges.find(({ from, to })=>from + minRange <= score + 1 && score <= to - minRange);
145
+ if (!range) return;
146
+ const { value = 0, label, data } = addTriggerFixedRange || {};
147
+ addRange({
148
+ value: assignValueToRange === ASSIGN_TO_RIGHT ? value : 0,
149
+ data: assignValueToRange === ASSIGN_TO_RIGHT ? data : null,
150
+ label,
151
+ from: score + 1,
152
+ to: range === null || range === void 0 ? void 0 : range.to,
153
+ id: null
154
+ });
155
+ updateRange({
347
156
  ...range,
348
- distance
349
- };
157
+ value: assignValueToRange === ASSIGN_TO_LEFT ? value : 0,
158
+ data: assignValueToRange === ASSIGN_TO_LEFT ? data : null,
159
+ label,
160
+ to: score
161
+ });
162
+ if (isAddTriggerFixed) unfixAddTrigger();
163
+ };
164
+ const concatRanges = (score)=>{
165
+ const [left, right] = ranges === null || ranges === void 0 ? void 0 : ranges.filter(({ from, to })=>from === score + 1 || score === to);
166
+ const { data, value } = transformDataOnConcat(left, right);
167
+ updateRange({
168
+ from: left === null || left === void 0 ? void 0 : left.from,
169
+ to: right === null || right === void 0 ? void 0 : right.to,
170
+ id: left === null || left === void 0 ? void 0 : left.id,
171
+ data,
172
+ value
173
+ });
174
+ removeRange(right === null || right === void 0 ? void 0 : right.id);
175
+ };
176
+ const removeRange = (id)=>setRanges((ranges)=>ranges === null || ranges === void 0 ? void 0 : ranges.filter((range)=>(range === null || range === void 0 ? void 0 : range.id) !== id));
177
+ const clearRanges = ()=>setRanges([]);
178
+ const [triggers, setTriggers] = (0, _react.useState)([]);
179
+ const addTrigger = (value, { isFixed = false, isHidden = false } = {}, { withRange = true } = {}, index = triggers.length)=>setTriggers((state)=>{
180
+ if (withRange) splitRange(value);
181
+ const newState = [
182
+ ...state
183
+ ];
184
+ const id = (state === null || state === void 0 ? void 0 : state.length) ? Math.max(...state === null || state === void 0 ? void 0 : state.map(({ id })=>id)) + 1 : 0;
185
+ newState.splice(index, 0, {
186
+ id,
187
+ value,
188
+ isFixed,
189
+ isHidden
190
+ });
191
+ return newState.sort((a, b)=>a.value < b.value ? -1 : 1);
192
+ });
193
+ const updateTrigger = (index, value)=>setTriggers((state)=>{
194
+ const newState = [
195
+ ...state
196
+ ];
197
+ newState[index] = {
198
+ ...newState[index],
199
+ value
200
+ };
201
+ return newState;
202
+ });
203
+ const removeTrigger = (index)=>setTriggers((state)=>{
204
+ var _state_index;
205
+ concatRanges((_state_index = state[index]) === null || _state_index === void 0 ? void 0 : _state_index.value);
206
+ const newState = [
207
+ ...state
208
+ ];
209
+ newState.splice(index, 1);
210
+ return newState;
211
+ });
212
+ const clearTriggers = ()=>setTriggers([]);
213
+ const getTriggerByScore = (score)=>{
214
+ return triggers === null || triggers === void 0 ? void 0 : triggers.find(({ value: triggerScore })=>triggerScore === score);
215
+ };
216
+ const [movingController, setMovingController] = (0, _react.useState)(null);
217
+ const [movingTrigger, setMovingTrigger] = (0, _react.useState)(null);
218
+ const [movingTriggerIndex, setMovingTriggerIndex] = (0, _react.useState)(null);
219
+ const [movingTriggerData, setMovingTriggerData] = (0, _react.useState)(null);
220
+ const [isTriggerMoved, setIsTriggerMoved] = (0, _react.useState)(false);
221
+ const [isMouseOverTrigger, setIsMouseOverTrigger] = (0, _react.useState)(false);
222
+ const setMouseOverTrigger = ()=>setIsMouseOverTrigger(true);
223
+ const setMouseLeaveTrigger = ()=>setIsMouseOverTrigger(false);
224
+ const [isMouseOverTrack, setIsMouseOverTrack] = (0, _react.useState)(false);
225
+ const setMouseOverTrack = ()=>setIsMouseOverTrack(true);
226
+ const setMouseLeaveTrack = ()=>setIsMouseOverTrack(false);
227
+ const isTriggerMoving = (triggerIndex)=>triggerIndex === movingTriggerIndex;
228
+ const [addTriggerFixedScore, setAddTriggerFixedScore] = (0, _react.useState)(null);
229
+ const [addTriggerFixedRange, setAddTriggerFixedRange] = (0, _react.useState)(null);
230
+ const [isAddTriggerFixed, setIsAddTriggerFixed] = (0, _react.useState)(false);
231
+ const [assignValueToRange, setAssignValueToRange] = (0, _react.useState)(ASSIGN_TO_LEFT);
232
+ const fixAddTrigger = (score, inRange)=>{
233
+ setAddTriggerFixedScore(score);
234
+ setAddTriggerFixedRange(inRange);
235
+ setIsAddTriggerFixed(true);
236
+ };
237
+ const unfixAddTrigger = (e)=>{
238
+ e === null || e === void 0 ? void 0 : e.stopPropagation();
239
+ e === null || e === void 0 ? void 0 : e.preventDefault();
240
+ setAddTriggerFixedScore(null);
241
+ setAddTriggerFixedRange(null);
242
+ setIsAddTriggerFixed(false);
243
+ setAssignValueToRange(ASSIGN_TO_LEFT);
244
+ };
245
+ const [pointsPerPx, setPointsPerPx] = (0, _react.useState)(0);
246
+ const countPointsPerPx = (width)=>{
247
+ return (max - min) / width;
248
+ };
249
+ // GETTERS //
250
+ const getTrackXByScore = (score)=>{
251
+ return (score - min) / pointsPerPx;
252
+ };
253
+ const getScoreByX = (x)=>{
254
+ let points = (x - trackPosition) * pointsPerPx + min;
255
+ points -= points % step;
256
+ if (points < min) points = min;
257
+ if (points > max) points = max;
258
+ return points - 1;
259
+ };
260
+ const getTriggerCollisionDirection = (index, points)=>{
261
+ var _triggers_, _triggers_1;
262
+ if (index <= 0) return points;
263
+ const [triggerBefore, triggerAfter] = [
264
+ (triggers === null || triggers === void 0 ? void 0 : (_triggers_ = triggers[index - 1]) === null || _triggers_ === void 0 ? void 0 : _triggers_.value) + minRange - 1,
265
+ (triggers === null || triggers === void 0 ? void 0 : (_triggers_1 = triggers[index + 1]) === null || _triggers_1 === void 0 ? void 0 : _triggers_1.value) - minRange - 1
266
+ ];
267
+ if (triggerBefore === triggerAfter) return BOTH_COLLISION;
268
+ else if (points === triggerBefore) return LEFT_COLLISSION;
269
+ else if (points === triggerAfter) return RIGHT_COLLISION;
270
+ else return NO_COLLISION;
271
+ };
272
+ const getTriggerScore = (index, points)=>{
273
+ var _triggers_, _triggers_1;
274
+ if (index <= 0) return points;
275
+ const [triggerBefore, triggerAfter] = [
276
+ (triggers === null || triggers === void 0 ? void 0 : (_triggers_ = triggers[index - 1]) === null || _triggers_ === void 0 ? void 0 : _triggers_.value) + minRange - 1,
277
+ (triggers === null || triggers === void 0 ? void 0 : (_triggers_1 = triggers[index + 1]) === null || _triggers_1 === void 0 ? void 0 : _triggers_1.value) - minRange - 1
278
+ ];
279
+ if (points < triggerBefore) return triggerBefore;
280
+ else if (points > triggerAfter) return triggerAfter;
281
+ else return points;
282
+ };
283
+ const getAddTriggerCollisionDirection = (x)=>{
284
+ const triggerScore = getAddTriggerScore(x);
285
+ const inRange = getInRange(triggerScore);
286
+ if (!inRange) return 0;
287
+ const { from, to } = inRange;
288
+ const triggerBefore = from + minRange - 1;
289
+ const triggerAfter = to - minRange - 1;
290
+ if (triggerBefore === triggerAfter) return BOTH_COLLISION;
291
+ else if (triggerScore <= triggerBefore) return LEFT_COLLISSION;
292
+ else if (triggerScore >= triggerAfter) return RIGHT_COLLISION;
293
+ else return NO_COLLISION;
294
+ };
295
+ const getAddTriggerPosition = ()=>{
296
+ return isAddTriggerFixed ? getTrackXByScore(addTriggerFixedScore) : mouseTrackPosition;
297
+ };
298
+ const getAddTriggerScore = (x)=>{
299
+ var _getRangesList;
300
+ const score = getScoreByX(x);
301
+ let result = (_getRangesList = getRangesList()) === null || _getRangesList === void 0 ? void 0 : _getRangesList.reduce((result, { from, to })=>{
302
+ if (to - from + 1 <= 2 * minRange && from <= score && score <= to) {
303
+ return null;
304
+ }
305
+ if (from <= score && score <= from + minRange) {
306
+ return from + minRange - 1;
307
+ } else if (to - minRange <= score && score <= to) {
308
+ return to - minRange - 1;
309
+ } else {
310
+ return result;
311
+ }
312
+ }, score);
313
+ if (!result) {
314
+ var _getRangesList_filter, _getRangesList1;
315
+ const closestRange = (_getRangesList1 = getRangesList()) === null || _getRangesList1 === void 0 ? void 0 : (_getRangesList_filter = _getRangesList1.filter(({ from, to })=>to - from + 1 >= 2 * minRange)) === null || _getRangesList_filter === void 0 ? void 0 : _getRangesList_filter.reduce((result, range)=>{
316
+ const distance = Math.abs((range.to + range.from) / 2 - score);
317
+ if (!result || distance < (result === null || result === void 0 ? void 0 : result.distance)) {
318
+ return {
319
+ ...range,
320
+ distance
321
+ };
322
+ }
323
+ return result;
324
+ }, null);
325
+ if (closestRange) {
326
+ if ((closestRange === null || closestRange === void 0 ? void 0 : closestRange.to) < score) result = (closestRange === null || closestRange === void 0 ? void 0 : closestRange.to) - minRange - 1;
327
+ if (score < (closestRange === null || closestRange === void 0 ? void 0 : closestRange.from)) result = (closestRange === null || closestRange === void 0 ? void 0 : closestRange.from) + minRange - 1;
328
+ }
350
329
  }
351
330
  return result;
352
- }, null);
353
- if (closestRange) {
354
- if (closestRange?.to < score) result = closestRange?.to - minRange - 1;
355
- if (score < closestRange?.from) result = closestRange?.from + minRange - 1;
356
- }
357
- }
358
- return result;
359
- };
360
- const getRangesList = () => {
361
- return triggers.map(_ref12 => {
362
- let {
363
- value
364
- } = _ref12;
365
- return value;
366
- }).sort().reduce((result, score, i, scores) => {
367
- if (i !== 0) {
368
- result.push({
369
- from: scores[i - 1],
370
- to: score
331
+ };
332
+ const getRangesList = ()=>{
333
+ return triggers.map(({ value })=>value).sort().reduce((result, score, i, scores)=>{
334
+ if (i !== 0) {
335
+ result.push({
336
+ from: scores[i - 1],
337
+ to: score
338
+ });
339
+ }
340
+ return result;
341
+ }, []);
342
+ };
343
+ const getInRange = (score)=>{
344
+ return ranges === null || ranges === void 0 ? void 0 : ranges.find(({ from, to })=>from <= score && score <= to);
345
+ };
346
+ const getPointValue = (score)=>{
347
+ switch(pointValueType){
348
+ case POINT_VALUE_TYPES.FROM:
349
+ return `${score + 1}`;
350
+ case POINT_VALUE_TYPES.TO:
351
+ return `${score}`;
352
+ case POINT_VALUE_TYPES.BOTH:
353
+ default:
354
+ return `${score} | ${score + 1}`;
355
+ }
356
+ };
357
+ // EVENTS //
358
+ const onRangeChange = (index, value, validate = true)=>{
359
+ if (validate) value = prepareValue(value);
360
+ if (isNaN(value)) value = 0;
361
+ updateTrigger(index, value);
362
+ };
363
+ const onTriggerMouseDown = (e, index)=>{
364
+ setMovingTrigger(e.target);
365
+ setMovingTriggerIndex(index);
366
+ setMovingTriggerData({
367
+ ...triggers[index]
371
368
  });
372
- }
373
- return result;
369
+ };
370
+ const onTriggerMove = (e)=>{
371
+ var _e_touches;
372
+ if (e === null || e === void 0 ? void 0 : e.cancelable) e === null || e === void 0 ? void 0 : e.preventDefault();
373
+ e === null || e === void 0 ? void 0 : e.stopPropagation();
374
+ if (!movingTriggerIndex || !movingTrigger) {
375
+ return false;
376
+ }
377
+ if (!isTriggerMoved) setIsTriggerMoved(true);
378
+ var _e_touches_;
379
+ const { clientX: x } = (_e_touches_ = e === null || e === void 0 ? void 0 : (_e_touches = e.touches) === null || _e_touches === void 0 ? void 0 : _e_touches[0]) !== null && _e_touches_ !== void 0 ? _e_touches_ : e;
380
+ const { width: triggerWidth } = (movingTrigger === null || movingTrigger === void 0 ? void 0 : movingTrigger.getBoundingClientRect()) || {};
381
+ if (x < trackPosition || x > trackPosition + trackWidth + triggerWidth) return false;
382
+ const triggerPoints = getTriggerScore(movingTriggerIndex, getScoreByX(x));
383
+ onRangeChange(movingTriggerIndex, triggerPoints);
384
+ };
385
+ const resetMovingTrigger = ()=>{
386
+ setTimeout(()=>{
387
+ setMovingTrigger(null);
388
+ setMovingTriggerIndex(null);
389
+ }, 1);
390
+ };
391
+ // USE EFFECT'S //
392
+ // MouseUp Event Controller
393
+ (0, _react.useEffect)(()=>{
394
+ if (isMobile) {
395
+ document.addEventListener("touchend", resetMovingTrigger);
396
+ } else {
397
+ document.addEventListener("mouseup", resetMovingTrigger);
398
+ }
399
+ return ()=>{
400
+ if (isMobile) {
401
+ document.removeEventListener("touchend", resetMovingTrigger);
402
+ } else {
403
+ document.removeEventListener("mouseup", resetMovingTrigger);
404
+ }
405
+ };
374
406
  }, []);
375
- };
376
- const getInRange = score => {
377
- return ranges?.find(_ref13 => {
378
- let {
379
- from,
380
- to
381
- } = _ref13;
382
- return from <= score && score <= to;
383
- });
384
- };
385
- const getPointValue = score => {
386
- switch (pointValueType) {
387
- case POINT_VALUE_TYPES.FROM:
388
- return `${score + 1}`;
389
- case POINT_VALUE_TYPES.TO:
390
- return `${score}`;
391
- case POINT_VALUE_TYPES.BOTH:
392
- default:
393
- return `${score} | ${score + 1}`;
394
- }
395
- };
396
-
397
- // EVENTS //
398
- const onRangeChange = function (index, value) {
399
- let validate = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
400
- if (validate) value = prepareValue(value);
401
- if (isNaN(value)) value = 0;
402
- updateTrigger(index, value);
403
- };
404
- const onTriggerMouseDown = (e, index) => {
405
- setMovingTrigger(e.target);
406
- setMovingTriggerIndex(index);
407
- setMovingTriggerData({
408
- ...triggers[index]
409
- });
410
- };
411
- const onTriggerMove = e => {
412
- if (e?.cancelable) e?.preventDefault();
413
- e?.stopPropagation();
414
- if (!movingTriggerIndex || !movingTrigger) {
415
- return false;
416
- }
417
- if (!isTriggerMoved) setIsTriggerMoved(true);
418
- const {
419
- clientX: x
420
- } = e?.touches?.[0] ?? e;
421
- const {
422
- width: triggerWidth
423
- } = movingTrigger?.getBoundingClientRect() || {};
424
- if (x < trackPosition || x > trackPosition + trackWidth + triggerWidth) return false;
425
- const triggerPoints = getTriggerScore(movingTriggerIndex, getScoreByX(x));
426
- onRangeChange(movingTriggerIndex, triggerPoints);
427
- };
428
- const resetMovingTrigger = () => {
429
- setTimeout(() => {
430
- setMovingTrigger(null);
431
- setMovingTriggerIndex(null);
432
- }, 1);
433
- };
434
-
435
- // USE EFFECT'S //
436
- // MouseUp Event Controller
437
- (0, _react.useEffect)(() => {
438
- if (isMobile) {
439
- document.addEventListener("touchend", resetMovingTrigger);
440
- } else {
441
- document.addEventListener("mouseup", resetMovingTrigger);
442
- }
443
- return () => {
444
- if (isMobile) {
445
- document.removeEventListener("touchend", resetMovingTrigger);
446
- } else {
447
- document.removeEventListener("mouseup", resetMovingTrigger);
448
- }
449
- };
450
- }, []);
451
- // MouseMove Event Controller
452
- (0, _react.useEffect)(() => {
453
- if (!movingTrigger && isTriggerMoved) {
454
- movingController?.abort();
455
- setIsTriggerMoved(false);
456
- setMovingController(null);
457
- } else if (movingTrigger && !isTriggerMoved) {
458
- setMovingController(new AbortController());
459
- }
460
- const body = document.getElementsByTagName("body")[0];
461
- body.classList?.[movingTrigger ? "add" : "remove"]("moving-cursor");
462
- }, [movingTrigger]);
463
- (0, _react.useEffect)(() => {
464
- if (movingController) {
465
- if (isMobile) {
466
- document.addEventListener("touchmove", onTriggerMove, {
467
- signal: movingController?.signal
407
+ // MouseMove Event Controller
408
+ (0, _react.useEffect)(()=>{
409
+ var _body_classList;
410
+ if (!movingTrigger && isTriggerMoved) {
411
+ movingController === null || movingController === void 0 ? void 0 : movingController.abort();
412
+ setIsTriggerMoved(false);
413
+ setMovingController(null);
414
+ } else if (movingTrigger && !isTriggerMoved) {
415
+ setMovingController(new AbortController());
416
+ }
417
+ const body = document.getElementsByTagName("body")[0];
418
+ (_body_classList = body.classList) === null || _body_classList === void 0 ? void 0 : _body_classList[movingTrigger ? "add" : "remove"]("moving-cursor");
419
+ }, [
420
+ movingTrigger
421
+ ]);
422
+ (0, _react.useEffect)(()=>{
423
+ if (movingController) {
424
+ if (isMobile) {
425
+ document.addEventListener("touchmove", onTriggerMove, {
426
+ signal: movingController === null || movingController === void 0 ? void 0 : movingController.signal
427
+ });
428
+ } else {
429
+ document.addEventListener("mousemove", onTriggerMove, {
430
+ signal: movingController === null || movingController === void 0 ? void 0 : movingController.signal
431
+ });
432
+ }
433
+ }
434
+ return ()=>{
435
+ if (isMobile) {
436
+ document.removeEventListener("touchmove", onTriggerMove, {
437
+ signal: movingController === null || movingController === void 0 ? void 0 : movingController.signal,
438
+ passive: false
439
+ });
440
+ } else {
441
+ document.removeEventListener("mousemove", onTriggerMove, {
442
+ signal: movingController === null || movingController === void 0 ? void 0 : movingController.signal
443
+ });
444
+ }
445
+ };
446
+ }, [
447
+ movingController
448
+ ]);
449
+ (0, _react.useLayoutEffect)(()=>{
450
+ var _trackRef_current;
451
+ const { width, x } = (trackRef === null || trackRef === void 0 ? void 0 : (_trackRef_current = trackRef.current) === null || _trackRef_current === void 0 ? void 0 : _trackRef_current.getBoundingClientRect()) || {};
452
+ setPointsPerPx(countPointsPerPx(width));
453
+ setTrackWidth(width);
454
+ setTrackPosition(x);
455
+ }, [
456
+ trackRef
457
+ ]);
458
+ (0, _react.useEffect)(()=>{
459
+ onChange(ranges, triggers);
460
+ }, [
461
+ ranges
462
+ ]);
463
+ (0, _react.useEffect)(()=>{
464
+ clearRanges();
465
+ clearTriggers();
466
+ if ((protectedValue === null || protectedValue === void 0 ? void 0 : protectedValue.length) === 0) {
467
+ addRange({
468
+ from: min,
469
+ to: max
470
+ });
471
+ addTrigger(min, {
472
+ isFixed: true,
473
+ isHidden: true
474
+ });
475
+ addTrigger(max, {
476
+ isFixed: true,
477
+ isHidden: true
478
+ });
479
+ } else {
480
+ var _protectedValue_reduce_sort_filter, _protectedValue_reduce_sort, _protectedValue_reduce;
481
+ protectedValue === null || protectedValue === void 0 ? void 0 : (_protectedValue_reduce = protectedValue.reduce((result, range)=>{
482
+ addRange({
483
+ ...range
484
+ });
485
+ if (!result.find((score)=>score === (range === null || range === void 0 ? void 0 : range.from))) result.splice((result === null || result === void 0 ? void 0 : result.length) - 1, 0, range === null || range === void 0 ? void 0 : range.from);
486
+ if (!result.find((score)=>score === (range === null || range === void 0 ? void 0 : range.to))) result.splice((result === null || result === void 0 ? void 0 : result.length) - 1, 0, range === null || range === void 0 ? void 0 : range.to);
487
+ return result;
488
+ }, [])) === null || _protectedValue_reduce === void 0 ? void 0 : (_protectedValue_reduce_sort = _protectedValue_reduce.sort((a, b)=>a < b ? -1 : 1)) === null || _protectedValue_reduce_sort === void 0 ? void 0 : (_protectedValue_reduce_sort_filter = _protectedValue_reduce_sort.filter((item, i, arr)=>i === 0 || item - 1 !== arr[i - 1])) === null || _protectedValue_reduce_sort_filter === void 0 ? void 0 : _protectedValue_reduce_sort_filter.map((score, i, triggers)=>{
489
+ if (i === 0 || score - 1 !== triggers[i - 1]) {
490
+ const isExtremum = score === min || score === max;
491
+ addTrigger(score, {
492
+ isFixed: isExtremum,
493
+ isHidden: isExtremum
494
+ }, {
495
+ withRange: false
496
+ });
497
+ }
498
+ });
499
+ }
500
+ }, [
501
+ protectedValue
502
+ ]);
503
+ (0, _react.useEffect)(()=>{
504
+ if (!(0, _utils.compare)(value, protectedValue)) {
505
+ setProtectedValue(value);
506
+ }
507
+ }, [
508
+ value
509
+ ]);
510
+ (0, _react.useEffect)(()=>{
511
+ if (!movingTriggerIndex && movingTriggerData) {
512
+ updateRangesByTrigger({
513
+ ...movingTriggerData
514
+ });
515
+ setMovingTriggerData(null);
516
+ }
517
+ }, [
518
+ movingTriggerIndex
519
+ ]);
520
+ // RENDER //
521
+ const renderCollision = ({ isCollisionVisible, isLeftCollision, isRightCollision, isBothCollision, className })=>{
522
+ var _trackRef_current;
523
+ const pieces = parseInt((max - min) / minRange, 10);
524
+ var _trackRef_current_getBoundingClientRect;
525
+ const { width: trackWidth } = (_trackRef_current_getBoundingClientRect = trackRef === null || trackRef === void 0 ? void 0 : (_trackRef_current = trackRef.current) === null || _trackRef_current === void 0 ? void 0 : _trackRef_current.getBoundingClientRect()) !== null && _trackRef_current_getBoundingClientRect !== void 0 ? _trackRef_current_getBoundingClientRect : {};
526
+ const collisionWidth = trackWidth / pieces - 4;
527
+ const width = isCollisionVisible ? isBothCollision ? collisionWidth * 2 : isLeftCollision || isRightCollision ? collisionWidth : 0 : 0;
528
+ return /*#__PURE__*/ (0, _jsxruntime.jsx)("div", {
529
+ className: (0, _classnames.default)("collision", className, {
530
+ "collision--visible": isCollisionVisible,
531
+ "collision--left": isLeftCollision && !isBothCollision,
532
+ "collision--right": isRightCollision && !isBothCollision,
533
+ "collision--both": isBothCollision
534
+ }),
535
+ style: {
536
+ width
537
+ }
468
538
  });
469
- } else {
470
- document.addEventListener("mousemove", onTriggerMove, {
471
- signal: movingController?.signal
539
+ };
540
+ const renderAddTrackTriggerSettings = ()=>{
541
+ const { label, value } = addTriggerFixedRange || {};
542
+ return /*#__PURE__*/ (0, _jsxruntime.jsxs)("div", {
543
+ className: `${COMPONENT_CLASS}__track__range-triggers--add-trigger__settings`,
544
+ children: [
545
+ /*#__PURE__*/ (0, _jsxruntime.jsxs)("div", {
546
+ className: `${COMPONENT_CLASS}__track__range-triggers--add-trigger__settings-body`,
547
+ children: [
548
+ /*#__PURE__*/ (0, _jsxruntime.jsx)("div", {
549
+ className: `${COMPONENT_CLASS}__track__range-triggers--add-trigger__settings-body--assign-left`,
550
+ onClick: (e)=>{
551
+ e.stopPropagation();
552
+ setAssignValueToRange(ASSIGN_TO_LEFT);
553
+ },
554
+ "attr-is-active": `${assignValueToRange === ASSIGN_TO_LEFT}`,
555
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_reactfeather.ChevronLeft, {})
556
+ }),
557
+ /*#__PURE__*/ (0, _jsxruntime.jsxs)("div", {
558
+ className: `${COMPONENT_CLASS}__track__range-triggers--add-trigger__settings-body--lenders-count`,
559
+ children: [
560
+ label,
561
+ value
562
+ ]
563
+ }),
564
+ /*#__PURE__*/ (0, _jsxruntime.jsx)("div", {
565
+ className: `${COMPONENT_CLASS}__track__range-triggers--add-trigger__settings-body--assign-right`,
566
+ onClick: (e)=>{
567
+ e.stopPropagation();
568
+ setAssignValueToRange(ASSIGN_TO_RIGHT);
569
+ },
570
+ "attr-is-active": `${assignValueToRange === ASSIGN_TO_RIGHT}`,
571
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_reactfeather.ChevronRight, {})
572
+ })
573
+ ]
574
+ }),
575
+ /*#__PURE__*/ (0, _jsxruntime.jsxs)("div", {
576
+ className: `${COMPONENT_CLASS}__track__range-triggers--add-trigger__settings-actions`,
577
+ children: [
578
+ /*#__PURE__*/ (0, _jsxruntime.jsx)("div", {
579
+ className: `${COMPONENT_CLASS}__track__range-triggers--add-trigger__settings-actions--cancel`,
580
+ onClick: (e)=>unfixAddTrigger(e),
581
+ children: "Cancel"
582
+ }),
583
+ /*#__PURE__*/ (0, _jsxruntime.jsx)("div", {
584
+ className: `${COMPONENT_CLASS}__track__range-triggers--add-trigger__settings-actions--apply`,
585
+ onClick: (e)=>{
586
+ e.stopPropagation();
587
+ addTrigger(addTriggerFixedScore);
588
+ },
589
+ children: "Apply"
590
+ })
591
+ ]
592
+ })
593
+ ]
472
594
  });
473
- }
474
- }
475
- return () => {
476
- if (isMobile) {
477
- document.removeEventListener("touchmove", onTriggerMove, {
478
- signal: movingController?.signal,
479
- passive: false
595
+ };
596
+ const renderAddTrackTrigger = ()=>{
597
+ const isNoTriggers = !(triggers === null || triggers === void 0 ? void 0 : triggers.filter(({ isHidden })=>!isHidden).length);
598
+ const x = getAddTriggerPosition();
599
+ const score = isAddTriggerFixed ? addTriggerFixedScore : isNoTriggers && !isMouseOverTrack ? (min + max) / 2 - 1 : getAddTriggerScore(x);
600
+ const triggerCollision = !isAddTriggerFixed ? getAddTriggerCollisionDirection(x) : NO_COLLISION;
601
+ const isLeftCollision = triggerCollision === LEFT_COLLISSION;
602
+ const isRightCollision = triggerCollision === RIGHT_COLLISION;
603
+ const isBothCollision = triggerCollision === BOTH_COLLISION;
604
+ const isCollisionVisible = (isLeftCollision || isRightCollision || isBothCollision) && !(isNoTriggers && !isMouseOverTrack);
605
+ const left = getTrackXByScore(score);
606
+ const inRange = getInRange(score);
607
+ const isTriggerWithScoreExists = getTriggerByScore(score);
608
+ if (isTriggerWithScoreExists || movingTrigger || isMouseOverTrigger) return null;
609
+ return /*#__PURE__*/ (0, _jsxruntime.jsxs)("div", {
610
+ className: (0, _classnames.default)(`${COMPONENT_CLASS}__track__range-triggers--add-trigger`, {
611
+ [`${COMPONENT_CLASS}__track__range-triggers--add-trigger--fixed`]: isAddTriggerFixed,
612
+ [`${COMPONENT_CLASS}__track__range-triggers--add-trigger--force-visible`]: isNoTriggers,
613
+ [`${COMPONENT_CLASS}__track__range-triggers--add-trigger--moved-smoothly`]: isNoTriggers && !isMouseOverTrack
614
+ }),
615
+ style: {
616
+ left: `${left}px`
617
+ },
618
+ onClick: ()=>(inRange === null || inRange === void 0 ? void 0 : inRange.value) ? fixAddTrigger(score, inRange) : addTrigger(score),
619
+ children: [
620
+ /*#__PURE__*/ (0, _jsxruntime.jsx)("div", {
621
+ ref: addTriggerRef,
622
+ className: (0, _classnames.default)(`${COMPONENT_CLASS}__track__range-triggers--add-trigger__point`, {
623
+ [`${COMPONENT_CLASS}__track__range-triggers--add-trigger__point--shake`]: isCollisionVisible
624
+ }),
625
+ "data-point-value": getPointValue(score),
626
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_reactfeather.Plus, {})
627
+ }),
628
+ isAddTriggerFixed && renderAddTrackTriggerSettings(),
629
+ renderCollision({
630
+ isCollisionVisible,
631
+ isLeftCollision,
632
+ isRightCollision,
633
+ isBothCollision
634
+ })
635
+ ]
480
636
  });
481
- } else {
482
- document.removeEventListener("mousemove", onTriggerMove, {
483
- signal: movingController?.signal
637
+ };
638
+ const renderTrackTrigger = ({ value: triggerScore, isFixed, isHidden }, triggerIndex)=>{
639
+ const triggerCollision = getTriggerCollisionDirection(triggerIndex, triggerScore);
640
+ const isLeftCollision = triggerCollision === LEFT_COLLISSION;
641
+ const isRightCollision = triggerCollision === RIGHT_COLLISION;
642
+ const isBothCollision = triggerCollision === BOTH_COLLISION;
643
+ const isCurrentTriggerMoving = isTriggerMoving(triggerIndex);
644
+ const isCollisionVisible = isCurrentTriggerMoving && isTriggerMoved && (isLeftCollision || isRightCollision || isBothCollision);
645
+ return /*#__PURE__*/ (0, _jsxruntime.jsxs)("div", {
646
+ style: {
647
+ left: getTrackXByScore(triggerScore).toString().concat("px")
648
+ },
649
+ className: (0, _classnames.default)(`${COMPONENT_CLASS}__track__range-triggers--trigger`, {
650
+ [`${COMPONENT_CLASS}__track__range-triggers--trigger__moving`]: isCurrentTriggerMoving,
651
+ [`${COMPONENT_CLASS}__track__range-triggers--trigger__fixed`]: isFixed,
652
+ [`${COMPONENT_CLASS}__track__range-triggers--trigger__hidden`]: isHidden
653
+ }),
654
+ ...isMobile ? {} : {
655
+ onMouseOver: setMouseOverTrigger,
656
+ onMouseLeave: setMouseLeaveTrigger
657
+ },
658
+ children: [
659
+ /*#__PURE__*/ (0, _jsxruntime.jsx)("div", {
660
+ className: (0, _classnames.default)(`${COMPONENT_CLASS}__track__range-triggers--trigger__point`, {
661
+ [`${COMPONENT_CLASS}__track__range-triggers--trigger__point--shake`]: isCollisionVisible
662
+ }),
663
+ "data-point-value": getPointValue(triggerScore),
664
+ ...isMobile ? {
665
+ onTouchStart: (e)=>onTriggerMouseDown(e, triggerIndex),
666
+ onTouchEnd: resetMovingTrigger
667
+ } : {
668
+ onMouseDown: (e)=>onTriggerMouseDown(e, triggerIndex),
669
+ onMouseUp: resetMovingTrigger
670
+ }
671
+ }),
672
+ /*#__PURE__*/ (0, _jsxruntime.jsx)("div", {
673
+ className: (0, _classnames.default)(`${COMPONENT_CLASS}__track__range-triggers--trigger__actions`, {
674
+ [`${COMPONENT_CLASS}__track__range-triggers--trigger__actions--hidden`]: isCurrentTriggerMoving
675
+ }),
676
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)("div", {
677
+ className: `${COMPONENT_CLASS}__track__range-triggers--trigger__actions--remove`,
678
+ onClick: ()=>removeTrigger(triggerIndex),
679
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_reactfeather.X, {})
680
+ })
681
+ }),
682
+ renderCollision({
683
+ isCollisionVisible,
684
+ isLeftCollision,
685
+ isRightCollision,
686
+ isBothCollision,
687
+ className: `${COMPONENT_CLASS}__track__range-triggers--trigger__collision`
688
+ })
689
+ ]
690
+ }, `${COMPONENT_CLASS}__track__range-triggers--trigger-${triggerIndex}`);
691
+ };
692
+ const renderTrackTriggers = ()=>{
693
+ return /*#__PURE__*/ (0, _jsxruntime.jsx)("div", {
694
+ className: `${COMPONENT_CLASS}__track__range-triggers`,
695
+ children: triggers === null || triggers === void 0 ? void 0 : triggers.map(renderTrackTrigger)
484
696
  });
485
- }
486
- };
487
- }, [movingController]);
488
- (0, _react.useLayoutEffect)(() => {
489
- const {
490
- width,
491
- x
492
- } = trackRef?.current?.getBoundingClientRect() || {};
493
- setPointsPerPx(countPointsPerPx(width));
494
- setTrackWidth(width);
495
- setTrackPosition(x);
496
- }, [trackRef]);
497
- (0, _react.useEffect)(() => {
498
- onChange(ranges, triggers);
499
- }, [ranges]);
500
- (0, _react.useEffect)(() => {
501
- clearRanges();
502
- clearTriggers();
503
- if (protectedValue?.length === 0) {
504
- addRange({
505
- from: min,
506
- to: max
507
- });
508
- addTrigger(min, {
509
- isFixed: true,
510
- isHidden: true
511
- });
512
- addTrigger(max, {
513
- isFixed: true,
514
- isHidden: true
515
- });
516
- } else {
517
- protectedValue?.reduce((result, range) => {
518
- addRange({
519
- ...range
697
+ };
698
+ const renderRangeValue = ({ from, to, label, value }, rangeIndex)=>{
699
+ if (!value) return null;
700
+ const left = getTrackXByScore((to + from) / 2);
701
+ return /*#__PURE__*/ (0, _jsxruntime.jsxs)("div", {
702
+ className: (0, _classnames.default)(`${COMPONENT_CLASS}__track__ranges-value--item`),
703
+ style: {
704
+ left: `${left}px`
705
+ },
706
+ children: [
707
+ /*#__PURE__*/ (0, _jsxruntime.jsx)("div", {
708
+ className: (0, _classnames.default)(`${COMPONENT_CLASS}__track__ranges-value--item__label`),
709
+ children: label
710
+ }),
711
+ /*#__PURE__*/ (0, _jsxruntime.jsx)("div", {
712
+ className: (0, _classnames.default)(`${COMPONENT_CLASS}__track__ranges-value--item__value`),
713
+ children: value
714
+ })
715
+ ]
716
+ }, `${COMPONENT_CLASS}__track__ranges-value--item-${rangeIndex}`);
717
+ };
718
+ const renderRangesValue = ()=>{
719
+ return /*#__PURE__*/ (0, _jsxruntime.jsx)("div", {
720
+ className: (0, _classnames.default)(`${COMPONENT_CLASS}__track__ranges-value`),
721
+ children: ranges === null || ranges === void 0 ? void 0 : ranges.map(renderRangeValue)
520
722
  });
521
- if (!result.find(score => score === range?.from)) result.splice(result?.length - 1, 0, range?.from);
522
- if (!result.find(score => score === range?.to)) result.splice(result?.length - 1, 0, range?.to);
523
- return result;
524
- }, [])?.sort((a, b) => a < b ? -1 : 1)?.filter((item, i, arr) => i === 0 || item - 1 !== arr[i - 1])?.map((score, i, triggers) => {
525
- if (i === 0 || score - 1 !== triggers[i - 1]) {
526
- const isExtremum = score === min || score === max;
527
- addTrigger(score, {
528
- isFixed: isExtremum,
529
- isHidden: isExtremum
530
- }, {
531
- withRange: false
532
- });
533
- }
534
- });
535
- }
536
- }, [protectedValue]);
537
- (0, _react.useEffect)(() => {
538
- if (!(0, _utils.compare)(value, protectedValue)) {
539
- setProtectedValue(value);
540
- }
541
- }, [value]);
542
- (0, _react.useEffect)(() => {
543
- if (!movingTriggerIndex && movingTriggerData) {
544
- updateRangesByTrigger({
545
- ...movingTriggerData
546
- });
547
- setMovingTriggerData(null);
548
- }
549
- }, [movingTriggerIndex]);
550
-
551
- // RENDER //
552
- const renderCollision = _ref14 => {
553
- let {
554
- isCollisionVisible,
555
- isLeftCollision,
556
- isRightCollision,
557
- isBothCollision,
558
- className
559
- } = _ref14;
560
- const pieces = parseInt((max - min) / minRange, 10);
561
- const {
562
- width: trackWidth
563
- } = trackRef?.current?.getBoundingClientRect() ?? {};
564
- const collisionWidth = trackWidth / pieces - 4;
565
- const width = isCollisionVisible ? isBothCollision ? collisionWidth * 2 : isLeftCollision || isRightCollision ? collisionWidth : 0 : 0;
566
- return /*#__PURE__*/_react.default.createElement("div", {
567
- className: (0, _classnames.default)("collision", className, {
568
- "collision--visible": isCollisionVisible,
569
- "collision--left": isLeftCollision && !isBothCollision,
570
- "collision--right": isRightCollision && !isBothCollision,
571
- "collision--both": isBothCollision
572
- }),
573
- style: {
574
- width
575
- }
576
- });
577
- };
578
- const renderAddTrackTriggerSettings = () => {
579
- const {
580
- label,
581
- value
582
- } = addTriggerFixedRange || {};
583
- return /*#__PURE__*/_react.default.createElement("div", {
584
- className: `${COMPONENT_CLASS}__track__range-triggers--add-trigger__settings`
585
- }, /*#__PURE__*/_react.default.createElement("div", {
586
- className: `${COMPONENT_CLASS}__track__range-triggers--add-trigger__settings-body`
587
- }, /*#__PURE__*/_react.default.createElement("div", {
588
- className: `${COMPONENT_CLASS}__track__range-triggers--add-trigger__settings-body--assign-left`,
589
- onClick: e => {
590
- e.stopPropagation();
591
- setAssignValueToRange(ASSIGN_TO_LEFT);
592
- },
593
- "attr-is-active": `${assignValueToRange === ASSIGN_TO_LEFT}`
594
- }, /*#__PURE__*/_react.default.createElement(_reactFeather.ChevronLeft, null)), /*#__PURE__*/_react.default.createElement("div", {
595
- className: `${COMPONENT_CLASS}__track__range-triggers--add-trigger__settings-body--lenders-count`
596
- }, label, value), /*#__PURE__*/_react.default.createElement("div", {
597
- className: `${COMPONENT_CLASS}__track__range-triggers--add-trigger__settings-body--assign-right`,
598
- onClick: e => {
599
- e.stopPropagation();
600
- setAssignValueToRange(ASSIGN_TO_RIGHT);
601
- },
602
- "attr-is-active": `${assignValueToRange === ASSIGN_TO_RIGHT}`
603
- }, /*#__PURE__*/_react.default.createElement(_reactFeather.ChevronRight, null))), /*#__PURE__*/_react.default.createElement("div", {
604
- className: `${COMPONENT_CLASS}__track__range-triggers--add-trigger__settings-actions`
605
- }, /*#__PURE__*/_react.default.createElement("div", {
606
- className: `${COMPONENT_CLASS}__track__range-triggers--add-trigger__settings-actions--cancel`,
607
- onClick: e => unfixAddTrigger(e)
608
- }, "Cancel"), /*#__PURE__*/_react.default.createElement("div", {
609
- className: `${COMPONENT_CLASS}__track__range-triggers--add-trigger__settings-actions--apply`,
610
- onClick: e => {
611
- e.stopPropagation();
612
- addTrigger(addTriggerFixedScore);
613
- }
614
- }, "Apply")));
615
- };
616
- const renderAddTrackTrigger = () => {
617
- const isNoTriggers = !triggers?.filter(_ref15 => {
618
- let {
619
- isHidden
620
- } = _ref15;
621
- return !isHidden;
622
- }).length;
623
- const x = getAddTriggerPosition();
624
- const score = isAddTriggerFixed ? addTriggerFixedScore : isNoTriggers && !isMouseOverTrack ? (min + max) / 2 - 1 : getAddTriggerScore(x);
625
- const triggerCollision = !isAddTriggerFixed ? getAddTriggerCollisionDirection(x) : NO_COLLISION;
626
- const isLeftCollision = triggerCollision === LEFT_COLLISSION;
627
- const isRightCollision = triggerCollision === RIGHT_COLLISION;
628
- const isBothCollision = triggerCollision === BOTH_COLLISION;
629
- const isCollisionVisible = (isLeftCollision || isRightCollision || isBothCollision) && !(isNoTriggers && !isMouseOverTrack);
630
- const left = getTrackXByScore(score);
631
- const inRange = getInRange(score);
632
- const isTriggerWithScoreExists = getTriggerByScore(score);
633
- if (isTriggerWithScoreExists || movingTrigger || isMouseOverTrigger) return null;
634
- return /*#__PURE__*/_react.default.createElement("div", {
635
- className: (0, _classnames.default)(`${COMPONENT_CLASS}__track__range-triggers--add-trigger`, {
636
- [`${COMPONENT_CLASS}__track__range-triggers--add-trigger--fixed`]: isAddTriggerFixed,
637
- [`${COMPONENT_CLASS}__track__range-triggers--add-trigger--force-visible`]: isNoTriggers,
638
- [`${COMPONENT_CLASS}__track__range-triggers--add-trigger--moved-smoothly`]: isNoTriggers && !isMouseOverTrack
639
- }),
640
- style: {
641
- left: `${left}px`
642
- },
643
- onClick: () => inRange?.value ? fixAddTrigger(score, inRange) : addTrigger(score)
644
- }, /*#__PURE__*/_react.default.createElement("div", {
645
- ref: addTriggerRef,
646
- className: (0, _classnames.default)(`${COMPONENT_CLASS}__track__range-triggers--add-trigger__point`, {
647
- [`${COMPONENT_CLASS}__track__range-triggers--add-trigger__point--shake`]: isCollisionVisible
648
- }),
649
- "data-point-value": getPointValue(score)
650
- }, /*#__PURE__*/_react.default.createElement(_reactFeather.Plus, null)), isAddTriggerFixed && renderAddTrackTriggerSettings(), renderCollision({
651
- isCollisionVisible,
652
- isLeftCollision,
653
- isRightCollision,
654
- isBothCollision
655
- }));
656
- };
657
- const renderTrackTrigger = (_ref16, triggerIndex) => {
658
- let {
659
- value: triggerScore,
660
- isFixed,
661
- isHidden
662
- } = _ref16;
663
- const triggerCollision = getTriggerCollisionDirection(triggerIndex, triggerScore);
664
- const isLeftCollision = triggerCollision === LEFT_COLLISSION;
665
- const isRightCollision = triggerCollision === RIGHT_COLLISION;
666
- const isBothCollision = triggerCollision === BOTH_COLLISION;
667
- const isCurrentTriggerMoving = isTriggerMoving(triggerIndex);
668
- const isCollisionVisible = isCurrentTriggerMoving && isTriggerMoved && (isLeftCollision || isRightCollision || isBothCollision);
669
- return /*#__PURE__*/_react.default.createElement("div", (0, _extends2.default)({
670
- key: `${COMPONENT_CLASS}__track__range-triggers--trigger-${triggerIndex}`,
671
- style: {
672
- left: getTrackXByScore(triggerScore).toString().concat("px")
673
- },
674
- className: (0, _classnames.default)(`${COMPONENT_CLASS}__track__range-triggers--trigger`, {
675
- [`${COMPONENT_CLASS}__track__range-triggers--trigger__moving`]: isCurrentTriggerMoving,
676
- [`${COMPONENT_CLASS}__track__range-triggers--trigger__fixed`]: isFixed,
677
- [`${COMPONENT_CLASS}__track__range-triggers--trigger__hidden`]: isHidden
678
- })
679
- }, isMobile ? {} : {
680
- onMouseOver: setMouseOverTrigger,
681
- onMouseLeave: setMouseLeaveTrigger
682
- }), /*#__PURE__*/_react.default.createElement("div", (0, _extends2.default)({
683
- className: (0, _classnames.default)(`${COMPONENT_CLASS}__track__range-triggers--trigger__point`, {
684
- [`${COMPONENT_CLASS}__track__range-triggers--trigger__point--shake`]: isCollisionVisible
685
- }),
686
- "data-point-value": getPointValue(triggerScore)
687
- }, isMobile ? {
688
- onTouchStart: e => onTriggerMouseDown(e, triggerIndex),
689
- onTouchEnd: resetMovingTrigger
690
- } : {
691
- onMouseDown: e => onTriggerMouseDown(e, triggerIndex),
692
- onMouseUp: resetMovingTrigger
693
- })), /*#__PURE__*/_react.default.createElement("div", {
694
- className: (0, _classnames.default)(`${COMPONENT_CLASS}__track__range-triggers--trigger__actions`, {
695
- [`${COMPONENT_CLASS}__track__range-triggers--trigger__actions--hidden`]: isCurrentTriggerMoving
696
- })
697
- }, /*#__PURE__*/_react.default.createElement("div", {
698
- className: `${COMPONENT_CLASS}__track__range-triggers--trigger__actions--remove`,
699
- onClick: () => removeTrigger(triggerIndex)
700
- }, /*#__PURE__*/_react.default.createElement(_reactFeather.X, null))), renderCollision({
701
- isCollisionVisible,
702
- isLeftCollision,
703
- isRightCollision,
704
- isBothCollision,
705
- className: `${COMPONENT_CLASS}__track__range-triggers--trigger__collision`
706
- }));
707
- };
708
- const renderTrackTriggers = () => {
709
- return /*#__PURE__*/_react.default.createElement("div", {
710
- className: `${COMPONENT_CLASS}__track__range-triggers`
711
- }, triggers?.map(renderTrackTrigger));
712
- };
713
- const renderRangeValue = (_ref17, rangeIndex) => {
714
- let {
715
- from,
716
- to,
717
- label,
718
- value
719
- } = _ref17;
720
- if (!value) return null;
721
- const left = getTrackXByScore((to + from) / 2);
722
- return /*#__PURE__*/_react.default.createElement("div", {
723
- className: (0, _classnames.default)(`${COMPONENT_CLASS}__track__ranges-value--item`),
724
- style: {
725
- left: `${left}px`
726
- },
727
- key: `${COMPONENT_CLASS}__track__ranges-value--item-${rangeIndex}`
728
- }, /*#__PURE__*/_react.default.createElement("div", {
729
- className: (0, _classnames.default)(`${COMPONENT_CLASS}__track__ranges-value--item__label`)
730
- }, label), /*#__PURE__*/_react.default.createElement("div", {
731
- className: (0, _classnames.default)(`${COMPONENT_CLASS}__track__ranges-value--item__value`)
732
- }, value));
733
- };
734
- const renderRangesValue = () => {
735
- return /*#__PURE__*/_react.default.createElement("div", {
736
- className: (0, _classnames.default)(`${COMPONENT_CLASS}__track__ranges-value`)
737
- }, ranges?.map(renderRangeValue));
738
- };
739
- const renderTrackDividers = (0, _react.useMemo)(() => {
740
- const renderTrackDivider = function () {
741
- let key = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
742
- return /*#__PURE__*/_react.default.createElement("div", {
743
- key: key,
744
- className: `${COMPONENT_CLASS}__track__line__dividers--item`
745
- });
746
- };
747
- const dividersCount = parseInt((max - min) / dividersRange, 10);
748
- const dividers = [];
749
- for (let i = 0; i < dividersCount; ++i) dividers.push(renderTrackDivider(i));
750
- return /*#__PURE__*/_react.default.createElement("div", {
751
- className: `${COMPONENT_CLASS}__track__line__dividers`
752
- }, dividers);
753
- }, [trackRef, minRange, min, max]);
754
- const renderTrackLine = () => {
755
- return /*#__PURE__*/_react.default.createElement("div", {
756
- className: `${COMPONENT_CLASS}__track__line`
757
- }, /*#__PURE__*/_react.default.createElement("div", {
758
- className: `${COMPONENT_CLASS}__track__line__extremum--min`
759
- }, min), renderTrackDividers, /*#__PURE__*/_react.default.createElement("div", {
760
- className: `${COMPONENT_CLASS}__track__line__extremum--max`
761
- }, max));
762
- };
763
- const renderTrack = () => {
764
- return /*#__PURE__*/_react.default.createElement("div", {
765
- className: (0, _classnames.default)(`${COMPONENT_CLASS}__track`, className),
766
- ref: trackRef
767
- }, renderTrackLine(), renderAddTrackTrigger(), renderTrackTriggers(), renderRangesValue());
768
- };
769
- const render = () => {
770
- return /*#__PURE__*/_react.default.createElement("div", {
771
- className: COMPONENT_CLASS,
772
- onMouseOver: setMouseOverTrack,
773
- onMouseLeave: setMouseLeaveTrack,
774
- onMouseMove: e => setMouseTrackPosition(e?.clientX)
775
- }, renderTrack());
776
- };
777
- return render();
778
- }
723
+ };
724
+ const renderTrackDividers = (0, _react.useMemo)(()=>{
725
+ const renderTrackDivider = (key = 0)=>/*#__PURE__*/ (0, _jsxruntime.jsx)("div", {
726
+ className: `${COMPONENT_CLASS}__track__line__dividers--item`
727
+ }, key);
728
+ const dividersCount = parseInt((max - min) / dividersRange, 10);
729
+ const dividers = [];
730
+ for(let i = 0; i < dividersCount; ++i)dividers.push(renderTrackDivider(i));
731
+ return /*#__PURE__*/ (0, _jsxruntime.jsx)("div", {
732
+ className: `${COMPONENT_CLASS}__track__line__dividers`,
733
+ children: dividers
734
+ });
735
+ }, [
736
+ trackRef,
737
+ minRange,
738
+ min,
739
+ max
740
+ ]);
741
+ const renderTrackLine = ()=>{
742
+ return /*#__PURE__*/ (0, _jsxruntime.jsxs)("div", {
743
+ className: `${COMPONENT_CLASS}__track__line`,
744
+ children: [
745
+ /*#__PURE__*/ (0, _jsxruntime.jsx)("div", {
746
+ className: `${COMPONENT_CLASS}__track__line__extremum--min`,
747
+ children: min
748
+ }),
749
+ renderTrackDividers,
750
+ /*#__PURE__*/ (0, _jsxruntime.jsx)("div", {
751
+ className: `${COMPONENT_CLASS}__track__line__extremum--max`,
752
+ children: max
753
+ })
754
+ ]
755
+ });
756
+ };
757
+ const renderTrack = ()=>{
758
+ return /*#__PURE__*/ (0, _jsxruntime.jsxs)("div", {
759
+ className: (0, _classnames.default)(`${COMPONENT_CLASS}__track`, className),
760
+ ref: trackRef,
761
+ children: [
762
+ renderTrackLine(),
763
+ renderAddTrackTrigger(),
764
+ renderTrackTriggers(),
765
+ renderRangesValue()
766
+ ]
767
+ });
768
+ };
769
+ const render = ()=>{
770
+ return /*#__PURE__*/ (0, _jsxruntime.jsx)("div", {
771
+ className: COMPONENT_CLASS,
772
+ onMouseOver: setMouseOverTrack,
773
+ onMouseLeave: setMouseLeaveTrack,
774
+ onMouseMove: (e)=>setMouseTrackPosition(e === null || e === void 0 ? void 0 : e.clientX),
775
+ children: renderTrack()
776
+ });
777
+ };
778
+ return render();
779
+ }