intelicoreact 1.5.38 → 1.5.41

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (519) hide show
  1. package/dist/Atomic/FormElements/ActionAlert/ActionAlert.js +44 -93
  2. package/dist/Atomic/FormElements/ActionAlert/ActionAlert.scss +13 -23
  3. package/dist/Atomic/FormElements/AdvancedStatus/AdvancedStatus.js +38 -43
  4. package/dist/Atomic/FormElements/AdvancedStatus/AdvancedStatus.scss +10 -20
  5. package/dist/Atomic/FormElements/Calendar/Calendar.js +164 -243
  6. package/dist/Atomic/FormElements/Calendar/Calendar.scss +0 -1
  7. package/dist/Atomic/FormElements/CheckboxInput/CheckboxInput.js +51 -60
  8. package/dist/Atomic/FormElements/CheckboxInput/CheckboxInput.scss +15 -25
  9. package/dist/Atomic/FormElements/CheckboxesLine/CheckboxesLine.js +39 -47
  10. package/dist/Atomic/FormElements/CheckboxesLine/CheckboxesLine.scss +2 -5
  11. package/dist/Atomic/FormElements/Datepicker/Datepicker.js +308 -410
  12. package/dist/Atomic/FormElements/Datepicker/components/Calendar.js +109 -169
  13. package/dist/Atomic/FormElements/Dropdown/Dropdown.js +527 -680
  14. package/dist/Atomic/FormElements/Dropdown/Dropdown.scss +59 -61
  15. package/dist/Atomic/FormElements/Dropdown/components/DropdownLoader.js +15 -28
  16. package/dist/Atomic/FormElements/DropdownLiveSearch/DropdownLiveSearch.js +378 -498
  17. package/dist/Atomic/FormElements/DropdownLiveSearch/DropdownLiveSearch.scss +32 -36
  18. package/dist/Atomic/FormElements/FileLoader/FileLoader.js +70 -103
  19. package/dist/Atomic/FormElements/FileLoader/FileLoader.scss +2 -0
  20. package/dist/Atomic/FormElements/FileLoader/partial/LoadZone.js +91 -138
  21. package/dist/Atomic/FormElements/FileLoader/partial/LoadedContent.js +55 -109
  22. package/dist/Atomic/FormElements/FileLoaderDescription/FileLoaderDescription.js +193 -254
  23. package/dist/Atomic/FormElements/FileLoaderDescription/FileLoaderDescription.scss +16 -19
  24. package/dist/Atomic/FormElements/FileLoaderLocal/FileLoaderLocal.js +140 -156
  25. package/dist/Atomic/FormElements/FileLoaderLocal/FileLoaderLocal.scss +4 -8
  26. package/dist/Atomic/FormElements/FileLoaderLocalGroup/FileLoaderLocalGroup.js +156 -222
  27. package/dist/Atomic/FormElements/FormattedRawSSN/FormattedRawSSN.js +114 -158
  28. package/dist/Atomic/FormElements/FormattedRawSSN/FormattedRawSSN_old.js +92 -151
  29. package/dist/Atomic/FormElements/Input/Input.js +330 -340
  30. package/dist/Atomic/FormElements/Input/Input.scss +1 -1
  31. package/dist/Atomic/FormElements/InputCalendar/InputCalendar.js +110 -156
  32. package/dist/Atomic/FormElements/InputColor/InputColor.js +58 -57
  33. package/dist/Atomic/FormElements/InputCurrency/InputCurrency.js +145 -188
  34. package/dist/Atomic/FormElements/InputDateRange/InputDateRange.js +228 -294
  35. package/dist/Atomic/FormElements/InputDateRange/InputDateRange.scss +2 -1
  36. package/dist/Atomic/FormElements/InputDateRange/components/DateInput.js +56 -55
  37. package/dist/Atomic/FormElements/InputDateRange/components/Datepicker.js +536 -645
  38. package/dist/Atomic/FormElements/InputDateRange/components/OpenedPart.js +190 -220
  39. package/dist/Atomic/FormElements/InputDateRange/components/SelectItem.js +31 -33
  40. package/dist/Atomic/FormElements/InputDateRange/dependencies.js +169 -247
  41. package/dist/Atomic/FormElements/InputLink/InputLink.js +71 -118
  42. package/dist/Atomic/FormElements/InputMask/InputCarretPosition.js +38 -47
  43. package/dist/Atomic/FormElements/InputMask/InputMask.js +1053 -938
  44. package/dist/Atomic/FormElements/InputMask/config.js +15 -16
  45. package/dist/Atomic/FormElements/InputMask/functions.js +51 -77
  46. package/dist/Atomic/FormElements/InputMask2/InputMask2.js +592 -569
  47. package/dist/Atomic/FormElements/InputMask2/config.js +15 -16
  48. package/dist/Atomic/FormElements/InputMask2/functions.js +51 -77
  49. package/dist/Atomic/FormElements/InputMask3/InputMask3.js +679 -651
  50. package/dist/Atomic/FormElements/InputMask3/config.js +15 -16
  51. package/dist/Atomic/FormElements/InputMask3/functions.js +51 -77
  52. package/dist/Atomic/FormElements/InputWithAction/InputWithAction.js +88 -127
  53. package/dist/Atomic/FormElements/InputWithAction/InputWithAction.scss +1 -1
  54. package/dist/Atomic/FormElements/InputsRow/InputsRow.js +111 -182
  55. package/dist/Atomic/FormElements/Label/Label.js +55 -82
  56. package/dist/Atomic/FormElements/Label/Label.scss +8 -18
  57. package/dist/Atomic/FormElements/MobileCalendar/MobileCalendar.js +382 -437
  58. package/dist/Atomic/FormElements/MobileCalendar/MobileCalendar.scss +3 -3
  59. package/dist/Atomic/FormElements/MultiSelect/MultiSelect.js +50 -88
  60. package/dist/Atomic/FormElements/NumericInput/NumericInput.js +264 -314
  61. package/dist/Atomic/FormElements/NumericInput/NumericInput.scss +1 -1
  62. package/dist/Atomic/FormElements/RadioGroup/RadioGroup.js +51 -93
  63. package/dist/Atomic/FormElements/RadioGroupWithInput/RadioGroupWithInput.js +55 -69
  64. package/dist/Atomic/FormElements/RadioInput/RadioInput.js +45 -51
  65. package/dist/Atomic/FormElements/RadioInput/RadioInput.scss +4 -4
  66. package/dist/Atomic/FormElements/RadioRowSwitcher/RadioRowSwitcher.js +40 -53
  67. package/dist/Atomic/FormElements/RangeCalendar/RangeCalendar.js +120 -169
  68. package/dist/Atomic/FormElements/RangeInputs/RangeInputs.js +141 -195
  69. package/dist/Atomic/FormElements/RangeList/RangeList.js +140 -199
  70. package/dist/Atomic/FormElements/RangeList/RangeList.scss +2 -2
  71. package/dist/Atomic/FormElements/RangeList/partial/AnyOuterClass.scss +4 -1
  72. package/dist/Atomic/FormElements/RangeList/partial/RangeListRow.js +44 -57
  73. package/dist/Atomic/FormElements/RangeSlider/RangeSlider.js +377 -463
  74. package/dist/Atomic/FormElements/RangeSlider/RangeSlider.scss +1 -1
  75. package/dist/Atomic/FormElements/RangeSlider2/RangeSlider2.js +759 -760
  76. package/dist/Atomic/FormElements/RangeSlider2/RangeSlider2.scss +9 -9
  77. package/dist/Atomic/FormElements/SwitchableRow/SwitchableRow.js +31 -36
  78. package/dist/Atomic/FormElements/SwitchableRow/SwitchableRow.scss +2 -0
  79. package/dist/Atomic/FormElements/SwitchableRow/partial/AnyOuterClass.scss +1 -1
  80. package/dist/Atomic/FormElements/Switcher/Switcher.js +44 -52
  81. package/dist/Atomic/FormElements/Switcher/Switcher.scss +3 -3
  82. package/dist/Atomic/FormElements/SwitcherCheckbox/SwitcherCheckbox.js +44 -43
  83. package/dist/Atomic/FormElements/SwitcherCheckbox/SwitcherCheckbox.scss +2 -0
  84. package/dist/Atomic/FormElements/SwitcherHide/SwitcherHide.js +36 -37
  85. package/dist/Atomic/FormElements/SwitcherHide/SwitcherHide.scss +2 -0
  86. package/dist/Atomic/FormElements/SwitcherRadio/SwitcherRadio.js +56 -93
  87. package/dist/Atomic/FormElements/SwitcherRadio/SwitcherRadio.scss +2 -0
  88. package/dist/Atomic/FormElements/SwitcherRange/SwitcherRange.js +53 -86
  89. package/dist/Atomic/FormElements/SwitcherRange/SwitcherRange.scss +2 -0
  90. package/dist/Atomic/FormElements/SwitcherRangeList/SwitcherRangeList.js +54 -46
  91. package/dist/Atomic/FormElements/SwitcherRangeList/partial/AnyOuterClass.scss +1 -1
  92. package/dist/Atomic/FormElements/SwitcherTagsDropdown/SwitcherTagsDropdown.js +102 -172
  93. package/dist/Atomic/FormElements/SwitcherTagsDropdown/SwitcherTagsDropdown.scss +6 -4
  94. package/dist/Atomic/FormElements/SwitcherTagsDropdown/partial/States.js +154 -209
  95. package/dist/Atomic/FormElements/SwitcherTextarea/SwitcherTextarea.js +56 -59
  96. package/dist/Atomic/FormElements/SwitcherTextarea/SwitcherTextarea.scss +2 -2
  97. package/dist/Atomic/FormElements/TagListToDropdown/TagListToDropdown.js +112 -140
  98. package/dist/Atomic/FormElements/TagsDropdown/TagsDropdown.js +919 -1035
  99. package/dist/Atomic/FormElements/TagsDropdown/TagsDropdown.scss +119 -155
  100. package/dist/Atomic/FormElements/Text/Text.js +97 -88
  101. package/dist/Atomic/FormElements/TextSwitcher/TextSwitcher.js +35 -44
  102. package/dist/Atomic/FormElements/TextSwitcher/TextSwitcher.scss +8 -8
  103. package/dist/Atomic/FormElements/Textarea/Textarea.js +64 -102
  104. package/dist/Atomic/FormElements/Textarea/Textarea.scss +8 -4
  105. package/dist/Atomic/FormElements/TieredCheckboxes/TieredCheckboxes.js +133 -172
  106. package/dist/Atomic/FormElements/TieredCheckboxes/partial/AccordionWithCheckbox.js +49 -48
  107. package/dist/Atomic/FormElements/TimeRange/TimeRange.js +63 -114
  108. package/dist/Atomic/FormElements/TimeRange/TimeRange.scss +3 -9
  109. package/dist/Atomic/FormElements/UserContacts/UserContacts.js +122 -179
  110. package/dist/Atomic/FormElements/UserContacts/UserContacts.scss +5 -10
  111. package/dist/Atomic/FormElements/UserContacts/partial/AnyOuterClass.scss +1 -1
  112. package/dist/Atomic/FormElements/VariantsListRadio/VariantsListRadio.js +65 -101
  113. package/dist/Atomic/FormElements/VariantsListRadio/VariantsListRadio.scss +12 -4
  114. package/dist/Atomic/FormElements/VariantsListRadio/partials/VariantsListRadioItem.js +71 -80
  115. package/dist/Atomic/FormElements/WidgetPseudoTable/WidgetPseudoTable.js +64 -79
  116. package/dist/Atomic/FormElements/WidgetPseudoTable/WidgetPseudoTable.scss +3 -1
  117. package/dist/Atomic/FormElements/WidgetPseudoTable/partial/AnyOuterClass.scss +1 -1
  118. package/dist/Atomic/FormElements/WidgetPseudoTable/partial/constructor.js +34 -42
  119. package/dist/Atomic/FormElements/WidgetWithSwitchableRows/WidgetWithSwitchableRows.js +83 -102
  120. package/dist/Atomic/FormElements/WidgetWithSwitchableRows/WidgetWithSwitchableRows.scss +3 -1
  121. package/dist/Atomic/FormElements/WidgetWithSwitchableRows/partial/AnyOuterClass.scss +1 -1
  122. package/dist/Atomic/FormElements/WidgetWithSwitchableRows/partial/constructor.js +35 -42
  123. package/dist/Atomic/Layout/Header/Header.js +80 -148
  124. package/dist/Atomic/Layout/Header/Header.scss +1 -1
  125. package/dist/Atomic/Layout/MainMenu/MainMenu.js +133 -213
  126. package/dist/Atomic/Layout/MainMenu/MainMenu.scss +9 -9
  127. package/dist/Atomic/Layout/Spinner/Spinner.js +22 -39
  128. package/dist/Atomic/Layout/Spinner/Spinner.scss +16 -32
  129. package/dist/Atomic/UI/Accordion/Accordion.js +52 -102
  130. package/dist/Atomic/UI/Accordion/Accordion.scss +14 -25
  131. package/dist/Atomic/UI/Accordion/AccordionItem.js +102 -170
  132. package/dist/Atomic/UI/AccordionTable/AccordionTable.js +167 -251
  133. package/dist/Atomic/UI/AccordionText/AccordionText.js +54 -105
  134. package/dist/Atomic/UI/AccordionText/AccordionText.scss +9 -22
  135. package/dist/Atomic/UI/AdvancedTag/AdvTag.js +135 -207
  136. package/dist/Atomic/UI/AdvancedTag/AdvancedTags.js +46 -100
  137. package/dist/Atomic/UI/AdvancedTag/AdvancedTags.scss +2 -2
  138. package/dist/Atomic/UI/Alert/Alert.js +63 -116
  139. package/dist/Atomic/UI/Alert/Alert.scss +2 -2
  140. package/dist/Atomic/UI/Arrow/Arrow.js +110 -163
  141. package/dist/Atomic/UI/Box/Box.js +37 -37
  142. package/dist/Atomic/UI/Box/Box.scss +11 -11
  143. package/dist/Atomic/UI/Button/Button.js +41 -43
  144. package/dist/Atomic/UI/ButtonsBar/ButtonsBar.js +67 -61
  145. package/dist/Atomic/UI/Chart/Chart.js +96 -170
  146. package/dist/Atomic/UI/Chart/partial/Chart.constants.js +74 -142
  147. package/dist/Atomic/UI/Chart/partial/ChartTypeSwitcherIcon/ChartTypeSwitcherIcon.js +77 -91
  148. package/dist/Atomic/UI/Chart/partial/datasetSetters.js +117 -120
  149. package/dist/Atomic/UI/Chart/partial/optionsConstructor.js +292 -314
  150. package/dist/Atomic/UI/Chart/partial/optionsSetters.js +39 -54
  151. package/dist/Atomic/UI/Chart/partial/utils.js +33 -56
  152. package/dist/Atomic/UI/CircleProgressBar/CircleProgressBar.js +88 -145
  153. package/dist/Atomic/UI/DateTime/DateTime.js +37 -89
  154. package/dist/Atomic/UI/DateTime/DateTime.scss +2 -2
  155. package/dist/Atomic/UI/DateTime/partial/AnyOuterClass.scss +1 -1
  156. package/dist/Atomic/UI/DebugContainer/DebugContainer.js +31 -93
  157. package/dist/Atomic/UI/DebugContainer/useDebugContainer.js +18 -66
  158. package/dist/Atomic/UI/DoubleString/DoubleString.js +77 -134
  159. package/dist/Atomic/UI/DoubleString/DoubleString.scss +4 -6
  160. package/dist/Atomic/UI/DoubleString/partial/AnyOuterClass.scss +1 -1
  161. package/dist/Atomic/UI/DynamicIcon/DynamicIcon.js +22 -65
  162. package/dist/Atomic/UI/ExampleChartIntegration/ExampleChartIntegration.js +170 -251
  163. package/dist/Atomic/UI/ExampleChartIntegration/partial/AnyOuterClass.scss +1 -1
  164. package/dist/Atomic/UI/ExampleChartIntegration/partial/utils.js +84 -109
  165. package/dist/Atomic/UI/Hint/Hint.js +202 -243
  166. package/dist/Atomic/UI/Hint/Hint.scss +3 -5
  167. package/dist/Atomic/UI/Hint/partials/_utils.js +42 -54
  168. package/dist/Atomic/UI/Modal/Modal.js +172 -171
  169. package/dist/Atomic/UI/Modal/Modal.scss +69 -91
  170. package/dist/Atomic/UI/Modal/ModalHOC.js +38 -92
  171. package/dist/Atomic/UI/Modal/ModalMobile.scss +14 -24
  172. package/dist/Atomic/UI/Modal/partials/ModalFooter.js +18 -68
  173. package/dist/Atomic/UI/Modal/partials/ModalTitle.js +38 -107
  174. package/dist/Atomic/UI/Modal/partials/useMobileModal.js +153 -130
  175. package/dist/Atomic/UI/MonoAccordion/MonoAccordion.js +62 -118
  176. package/dist/Atomic/UI/MonoAccordion/MonoAccordion.scss +25 -163
  177. package/dist/Atomic/UI/NavLine/NavLine.js +273 -306
  178. package/dist/Atomic/UI/NavLine/NavLine.scss +155 -195
  179. package/dist/Atomic/UI/NavLine/Tabs.js +115 -0
  180. package/dist/Atomic/UI/PageTitle/PageTitle.js +52 -73
  181. package/dist/Atomic/UI/PageTitle/PageTitle.scss +14 -52
  182. package/dist/Atomic/UI/PieChart/PieChart.js +42 -105
  183. package/dist/Atomic/UI/PieChart/PieChart.scss +11 -86
  184. package/dist/Atomic/UI/Price/Price.js +20 -27
  185. package/dist/Atomic/UI/PriceRange/PriceRange.js +18 -40
  186. package/dist/Atomic/UI/ProgressLine/ProgressLine.js +73 -92
  187. package/dist/Atomic/UI/ProgressLine/ProgressLine.scss +71 -85
  188. package/dist/Atomic/UI/Status/Status.js +51 -62
  189. package/dist/Atomic/UI/Status/Status.scss +29 -48
  190. package/dist/Atomic/UI/Table/Partials/TdCell.js +88 -126
  191. package/dist/Atomic/UI/Table/Partials/TdHeader.js +39 -58
  192. package/dist/Atomic/UI/Table/Partials/TdRow.js +73 -124
  193. package/dist/Atomic/UI/Table/Partials/TdTitle.js +45 -113
  194. package/dist/Atomic/UI/Table/Table.js +43 -61
  195. package/dist/Atomic/UI/Table/Table.scss +3 -0
  196. package/dist/Atomic/UI/Table/TdTypes/TdActions.js +64 -108
  197. package/dist/Atomic/UI/Table/TdTypes/TdPriority.js +31 -44
  198. package/dist/Atomic/UI/Table/TdTypes/TdRange.js +10 -24
  199. package/dist/Atomic/UI/Table/TdTypes/TdWeight.js +48 -59
  200. package/dist/Atomic/UI/Tag/Tag.js +113 -157
  201. package/dist/Atomic/UI/Tag/Tag.scss +48 -102
  202. package/dist/Atomic/UI/TagList/TagList.js +179 -223
  203. package/dist/Atomic/UI/TagList/TagList.scss +9 -13
  204. package/dist/Atomic/UI/UserBox/UserBox.js +56 -80
  205. package/dist/Atomic/UI/UserBox/UserBox.scss +21 -45
  206. package/dist/Atomic/UI/WizardStepper/constructor.js +89 -127
  207. package/dist/Atomic/UI/WizardStepper/index.js +6 -14
  208. package/dist/Atomic/UI/WizardStepper/ui/StateIcon/StateIcon.js +51 -53
  209. package/dist/Atomic/UI/WizardStepper/ui/StateIcon/StateIcon.scss +7 -11
  210. package/dist/Atomic/UI/WizardStepper/ui/StateIcon/index.js +5 -9
  211. package/dist/Atomic/UI/WizardStepper/ui/StepRow/StepRow.js +67 -84
  212. package/dist/Atomic/UI/WizardStepper/ui/StepRow/StepRow.scss +7 -13
  213. package/dist/Atomic/UI/WizardStepper/ui/StepRow/index.js +6 -14
  214. package/dist/Atomic/UI/WizardStepper/ui/StepWrapper/StepWrapper.js +45 -50
  215. package/dist/Atomic/UI/WizardStepper/ui/StepWrapper/StepWrapper.scss +18 -24
  216. package/dist/Atomic/UI/WizardStepper/ui/StepWrapper/index.js +6 -14
  217. package/dist/Atomic/UI/WizardStepper/ui/icons.js +106 -138
  218. package/dist/Atomic/UI/WizardStepper/ui/index.js +6 -14
  219. package/dist/Classes/AbortableFetch.js +326 -394
  220. package/dist/Classes/AnimatedHandler.js +44 -31
  221. package/dist/Classes/RESTAPI/index.js +173 -131
  222. package/dist/Classes/RESTAPI/partials/AbortableFetch.js +334 -399
  223. package/dist/Classes/RESTAPI/partials/ApiBase.js +30 -30
  224. package/dist/Classes/RESTAPI/partials/ApiRequestCreators.js +88 -107
  225. package/dist/Classes/RESTAPI/partials/ApiUtils.js +166 -144
  226. package/dist/Classes/RESTAPI/partials/CredentialsProcessing.js +204 -180
  227. package/dist/Classes/RESTAPI/partials/Utils.js +83 -80
  228. package/dist/Classes/RESTAPI/partials/_outerDependencies.js +8 -16
  229. package/dist/Classes/RESTAPI/partials/_utils.js +125 -139
  230. package/dist/Constants/index.constants.js +22 -102
  231. package/dist/Functions/Portal.js +23 -67
  232. package/dist/Functions/animatingFunctions/getAnimatedHandler.js +1 -1
  233. package/dist/Functions/customEventListener.js +50 -48
  234. package/dist/Functions/dateTime.js +177 -130
  235. package/dist/Functions/fieldValueFormatters.js +346 -275
  236. package/dist/Functions/hooks/useFormFieldsChangesManager.js +96 -125
  237. package/dist/Functions/locale/createTranslator.js +27 -29
  238. package/dist/Functions/operations.js +102 -129
  239. package/dist/Functions/presets/inputMaskPresets.js +99 -88
  240. package/dist/Functions/presets/inputPresets.js +35 -41
  241. package/dist/Functions/presets/mobileKeyboardTypesPresets.js +49 -30
  242. package/dist/Functions/schemas.js +20 -78
  243. package/dist/Functions/useBodyScrollLock.js +15 -21
  244. package/dist/Functions/useClickOutside.js +16 -21
  245. package/dist/Functions/useDebounce.js +21 -62
  246. package/dist/Functions/useFieldFocus.js +79 -83
  247. package/dist/Functions/useFormTools/form-drivers/ArrayWithObjects.js +46 -39
  248. package/dist/Functions/useFormTools/form-drivers/ObjectWithIterableObjects.js +137 -132
  249. package/dist/Functions/useFormTools/form-drivers/ObjectWithNamedKeyObjects.js +73 -63
  250. package/dist/Functions/useFormTools/functions/General.js +129 -117
  251. package/dist/Functions/useFormTools/functions/RenderFields.js +85 -75
  252. package/dist/Functions/useFormTools/functions/usePrevious.js +10 -16
  253. package/dist/Functions/useFormTools/index.js +709 -647
  254. package/dist/Functions/useInputHighlightError.js +53 -104
  255. package/dist/Functions/useIsMobile.js +26 -0
  256. package/dist/Functions/useKeyPress/useHandleKeyPress.js +33 -40
  257. package/dist/Functions/useKeyPress/useKeyPress.js +39 -48
  258. package/dist/Functions/useLocalStorage.js +31 -38
  259. package/dist/Functions/useLocationParams.js +24 -31
  260. package/dist/Functions/useMediaQuery.js +10 -14
  261. package/dist/Functions/useMetaInfo.js +35 -45
  262. package/dist/Functions/useMouseUpOutside.js +15 -21
  263. package/dist/Functions/useOnlineStatus.js +21 -25
  264. package/dist/Functions/usePasswordChecker.js +111 -183
  265. package/dist/Functions/usePrevious.js +10 -16
  266. package/dist/Functions/useResize.js +28 -32
  267. package/dist/Functions/useScrollTo.js +16 -26
  268. package/dist/Functions/useToggle.js +16 -20
  269. package/dist/Functions/utils.js +469 -493
  270. package/dist/Molecular/CustomIcons/components/AffiliateNetworks.js +28 -75
  271. package/dist/Molecular/CustomIcons/components/AlertCircle.js +28 -77
  272. package/dist/Molecular/CustomIcons/components/AppStore.js +32 -84
  273. package/dist/Molecular/CustomIcons/components/Arrow.js +38 -93
  274. package/dist/Molecular/CustomIcons/components/ArrowDown.js +20 -63
  275. package/dist/Molecular/CustomIcons/components/ArrowLeft.js +23 -71
  276. package/dist/Molecular/CustomIcons/components/ArrowRight.js +23 -71
  277. package/dist/Molecular/CustomIcons/components/ArrowUp.js +20 -63
  278. package/dist/Molecular/CustomIcons/components/Bell.js +18 -61
  279. package/dist/Molecular/CustomIcons/components/Button.js +18 -61
  280. package/dist/Molecular/CustomIcons/components/Campaigns.js +19 -62
  281. package/dist/Molecular/CustomIcons/components/Check.js +19 -62
  282. package/dist/Molecular/CustomIcons/components/Check2.js +18 -61
  283. package/dist/Molecular/CustomIcons/components/ChevronDown.js +18 -61
  284. package/dist/Molecular/CustomIcons/components/ChevronDownDisabled.js +18 -61
  285. package/dist/Molecular/CustomIcons/components/ChevronLeft.js +18 -61
  286. package/dist/Molecular/CustomIcons/components/ChevronRight.js +18 -61
  287. package/dist/Molecular/CustomIcons/components/ChevronUp.js +18 -61
  288. package/dist/Molecular/CustomIcons/components/ChevronUpDown.js +33 -81
  289. package/dist/Molecular/CustomIcons/components/Close.js +20 -64
  290. package/dist/Molecular/CustomIcons/components/ColumnsOrder.js +45 -95
  291. package/dist/Molecular/CustomIcons/components/Delete.js +19 -62
  292. package/dist/Molecular/CustomIcons/components/Edit.js +18 -61
  293. package/dist/Molecular/CustomIcons/components/Email.js +36 -87
  294. package/dist/Molecular/CustomIcons/components/FinturfLogo.js +26 -82
  295. package/dist/Molecular/CustomIcons/components/FinturfLogo2.js +34 -83
  296. package/dist/Molecular/CustomIcons/components/Flows.js +18 -61
  297. package/dist/Molecular/CustomIcons/components/Gift.js +23 -71
  298. package/dist/Molecular/CustomIcons/components/GoogleAuth.js +32 -84
  299. package/dist/Molecular/CustomIcons/components/GooglePlay.js +32 -84
  300. package/dist/Molecular/CustomIcons/components/HelpCircle.js +21 -67
  301. package/dist/Molecular/CustomIcons/components/HelpCircle2.js +22 -68
  302. package/dist/Molecular/CustomIcons/components/HelpCircleFilled.js +21 -67
  303. package/dist/Molecular/CustomIcons/components/Home.js +21 -67
  304. package/dist/Molecular/CustomIcons/components/Home2.js +24 -70
  305. package/dist/Molecular/CustomIcons/components/Key.js +26 -69
  306. package/dist/Molecular/CustomIcons/components/Landers.js +22 -68
  307. package/dist/Molecular/CustomIcons/components/Lock.js +18 -61
  308. package/dist/Molecular/CustomIcons/components/Mail.js +26 -75
  309. package/dist/Molecular/CustomIcons/components/Mastercard.js +68 -128
  310. package/dist/Molecular/CustomIcons/components/Minus.js +31 -79
  311. package/dist/Molecular/CustomIcons/components/Offers.js +19 -62
  312. package/dist/Molecular/CustomIcons/components/Pause.js +31 -79
  313. package/dist/Molecular/CustomIcons/components/PayPal.js +45 -96
  314. package/dist/Molecular/CustomIcons/components/PayPalLightLarge.js +32 -81
  315. package/dist/Molecular/CustomIcons/components/Phone.js +33 -81
  316. package/dist/Molecular/CustomIcons/components/Play.js +31 -79
  317. package/dist/Molecular/CustomIcons/components/Plus.js +31 -79
  318. package/dist/Molecular/CustomIcons/components/Profile.js +23 -69
  319. package/dist/Molecular/CustomIcons/components/QRCode.js +33 -85
  320. package/dist/Molecular/CustomIcons/components/Rectangle.js +18 -61
  321. package/dist/Molecular/CustomIcons/components/Revert.js +21 -67
  322. package/dist/Molecular/CustomIcons/components/Star.js +17 -60
  323. package/dist/Molecular/CustomIcons/components/Star2.js +19 -62
  324. package/dist/Molecular/CustomIcons/components/TrafficSources.js +21 -68
  325. package/dist/Molecular/CustomIcons/components/Trash.js +18 -61
  326. package/dist/Molecular/CustomIcons/components/TrashRed.js +18 -61
  327. package/dist/Molecular/CustomIcons/components/Triggers.js +18 -61
  328. package/dist/Molecular/CustomIcons/components/User.js +23 -71
  329. package/dist/Molecular/CustomIcons/components/Visa.js +34 -88
  330. package/dist/Molecular/CustomIcons/components/X.js +18 -61
  331. package/dist/Molecular/CustomIcons/index.js +674 -76
  332. package/dist/Molecular/FormElement/FormElement.js +41 -44
  333. package/dist/Molecular/FormWithDependOn/FormWithDependOn.js +161 -179
  334. package/dist/Molecular/FormWithDependOn/partials/_utils.js +56 -49
  335. package/dist/Molecular/InputAddress/InputAddress.js +421 -496
  336. package/dist/Molecular/InputAddress/InputAddress.scss +16 -14
  337. package/dist/Molecular/InputPassword/InputPassword.js +47 -99
  338. package/dist/index.js +8 -11
  339. package/dist/scss/_fonts.scss +60 -48
  340. package/dist/scss/_mixins.scss +2 -2
  341. package/dist/scss/_vars.scss +5 -4
  342. package/dist/scss/main.scss +4 -5
  343. package/package.json +21 -18
  344. package/dist/Atomic/FormElements/ActionAlert/ActionAlert.interface.js +0 -4
  345. package/dist/Atomic/FormElements/ActionAlert/ActionAlert.stories.js +0 -89
  346. package/dist/Atomic/FormElements/ActionAlert/ActionAlert.test.js +0 -130
  347. package/dist/Atomic/FormElements/ActionAlert/index.js +0 -17
  348. package/dist/Atomic/FormElements/AdvancedStatus/AdvancedStatus.interface.js +0 -4
  349. package/dist/Atomic/FormElements/AdvancedStatus/AdvancedStatus.stories.js +0 -81
  350. package/dist/Atomic/FormElements/AdvancedStatus/AdvancedStatus.test.js +0 -104
  351. package/dist/Atomic/FormElements/AdvancedStatus/index.js +0 -17
  352. package/dist/Atomic/FormElements/Calendar/Calendar.props.js +0 -4
  353. package/dist/Atomic/FormElements/Calendar/Calendar.stories.js +0 -108
  354. package/dist/Atomic/FormElements/CheckboxInput/CheckboxInput.interface.js +0 -4
  355. package/dist/Atomic/FormElements/CheckboxInput/CheckboxInput.stories.js +0 -100
  356. package/dist/Atomic/FormElements/CheckboxInput/CheckboxInput.test.js +0 -143
  357. package/dist/Atomic/FormElements/CheckboxInput/index.js +0 -17
  358. package/dist/Atomic/FormElements/CheckboxesLine/CheckboxesLine.interface.js +0 -4
  359. package/dist/Atomic/FormElements/CheckboxesLine/CheckboxesLine.stories.js +0 -94
  360. package/dist/Atomic/FormElements/CheckboxesLine/CheckboxesLine.test.js +0 -177
  361. package/dist/Atomic/FormElements/CheckboxesLine/index.js +0 -17
  362. package/dist/Atomic/FormElements/Datepicker/Datepicker.stories.js +0 -51
  363. package/dist/Atomic/FormElements/Dropdown/Dropdown.stories.js +0 -596
  364. package/dist/Atomic/FormElements/DropdownLiveSearch/DropdownLiveSearch.stories.js +0 -272
  365. package/dist/Atomic/FormElements/FileLoader/FileLoader.stories.js +0 -182
  366. package/dist/Atomic/FormElements/FileLoaderDescription/FileLoaderDescription.stories.js +0 -327
  367. package/dist/Atomic/FormElements/FileLoaderLocal/FileLoaderLocal.stories.js +0 -186
  368. package/dist/Atomic/FormElements/FileLoaderLocalGroup/FileLoaderLocalGroup.stories.js +0 -84
  369. package/dist/Atomic/FormElements/FormattedRawSSN/FormattedRawSSN.stories.js +0 -107
  370. package/dist/Atomic/FormElements/Input/Input.stories.js +0 -251
  371. package/dist/Atomic/FormElements/InputCalendar/InputCalendar.stories.js +0 -115
  372. package/dist/Atomic/FormElements/InputColor/InputColor.stories.js +0 -119
  373. package/dist/Atomic/FormElements/InputCurrency/InputCurrency.interface.js +0 -4
  374. package/dist/Atomic/FormElements/InputCurrency/InputCurrency.stories.js +0 -178
  375. package/dist/Atomic/FormElements/InputCurrency/InputCurrency.test.js +0 -129
  376. package/dist/Atomic/FormElements/InputCurrency/index.js +0 -16
  377. package/dist/Atomic/FormElements/InputDateRange/InputDateRange.stories.js +0 -123
  378. package/dist/Atomic/FormElements/InputLink/InputLink.stories.js +0 -140
  379. package/dist/Atomic/FormElements/InputMask/InputMask.stories.js +0 -303
  380. package/dist/Atomic/FormElements/InputMask2/InputMask2.stories.js +0 -314
  381. package/dist/Atomic/FormElements/InputMask3/InputMask3.stories.js +0 -335
  382. package/dist/Atomic/FormElements/InputWithAction/InputWithAction.stories.js +0 -276
  383. package/dist/Atomic/FormElements/InputsRow/InputsRow.stories.js +0 -56
  384. package/dist/Atomic/FormElements/Label/Label.interface.js +0 -4
  385. package/dist/Atomic/FormElements/Label/Label.stories.js +0 -47
  386. package/dist/Atomic/FormElements/Label/Label.test.js +0 -167
  387. package/dist/Atomic/FormElements/Label/index.js +0 -17
  388. package/dist/Atomic/FormElements/MobileCalendar/MobileCalendar.stories.js +0 -172
  389. package/dist/Atomic/FormElements/MultiSelect/MultiSelect.stories.js +0 -121
  390. package/dist/Atomic/FormElements/NumericInput/NumericInput.stories.js +0 -184
  391. package/dist/Atomic/FormElements/RadioGroup/RadioGroup.stories.js +0 -79
  392. package/dist/Atomic/FormElements/RadioGroupWithInput/RadioGroupWithInput.stories.js +0 -151
  393. package/dist/Atomic/FormElements/RadioInput/RadioInput.stories.js +0 -67
  394. package/dist/Atomic/FormElements/RadioRowSwitcher/RadioRowSwitcher.stories.js +0 -116
  395. package/dist/Atomic/FormElements/RangeCalendar/RangeCalendar.stories.js +0 -107
  396. package/dist/Atomic/FormElements/RangeInputs/RangeInputs.stories.js +0 -92
  397. package/dist/Atomic/FormElements/RangeList/RangeList.stories.js +0 -169
  398. package/dist/Atomic/FormElements/RangeSlider/RangeSlider.stories.js +0 -401
  399. package/dist/Atomic/FormElements/RangeSlider2/RangeSlider2.stories.js +0 -314
  400. package/dist/Atomic/FormElements/SwitchableRow/SwitchableRow.stories.js +0 -137
  401. package/dist/Atomic/FormElements/Switcher/Switcher.stories.js +0 -91
  402. package/dist/Atomic/FormElements/SwitcherCheckbox/SwitcherCheckbox.stories.js +0 -104
  403. package/dist/Atomic/FormElements/SwitcherHide/SwitcherHide.stories.js +0 -96
  404. package/dist/Atomic/FormElements/SwitcherRadio/SwitcherRadio.stories.js +0 -140
  405. package/dist/Atomic/FormElements/SwitcherRange/SwitcherRange.stories.js +0 -112
  406. package/dist/Atomic/FormElements/SwitcherRangeList/SwitcherRangeList.stories.js +0 -145
  407. package/dist/Atomic/FormElements/SwitcherTagsDropdown/SwitcherTagsDropdown.stories.js +0 -158
  408. package/dist/Atomic/FormElements/SwitcherTextarea/SwitcherTextarea.stories.js +0 -101
  409. package/dist/Atomic/FormElements/TagListToDropdown/TagListToDropdown.stories.js +0 -131
  410. package/dist/Atomic/FormElements/TagsDropdown/TagsDropdown.stories.js +0 -357
  411. package/dist/Atomic/FormElements/Text/Text.stories.js +0 -80
  412. package/dist/Atomic/FormElements/TextSwitcher/TextSwitcher.stories.js +0 -106
  413. package/dist/Atomic/FormElements/TextSwitcher/TextSwitcher.test.js +0 -93
  414. package/dist/Atomic/FormElements/Textarea/Textarea.stories.js +0 -103
  415. package/dist/Atomic/FormElements/TieredCheckboxes/TieredCheckboxes.stories.js +0 -174
  416. package/dist/Atomic/FormElements/TimeRange/TimeRange.interface.js +0 -4
  417. package/dist/Atomic/FormElements/TimeRange/TimeRange.stories.js +0 -40
  418. package/dist/Atomic/FormElements/TimeRange/TimeRange.test.js +0 -163
  419. package/dist/Atomic/FormElements/TimeRange/index.js +0 -17
  420. package/dist/Atomic/FormElements/UserContacts/UserContact.test.js +0 -381
  421. package/dist/Atomic/FormElements/UserContacts/UserContacts.interface.js +0 -4
  422. package/dist/Atomic/FormElements/UserContacts/UserContacts.stories.js +0 -74
  423. package/dist/Atomic/FormElements/UserContacts/index.js +0 -17
  424. package/dist/Atomic/FormElements/VariantsListRadio/VariantsListRadio.stories.js +0 -193
  425. package/dist/Atomic/FormElements/WidgetPseudoTable/WidgetPseudoTable.stories.js +0 -147
  426. package/dist/Atomic/FormElements/WidgetWithSwitchableRows/WidgetWithSwitchableRows.stories.js +0 -151
  427. package/dist/Atomic/Layout/Header/Header.stories.js +0 -71
  428. package/dist/Atomic/Layout/MainMenu/MainMenu.stories.js +0 -115
  429. package/dist/Atomic/Layout/Spinner/Spinner.interface.js +0 -4
  430. package/dist/Atomic/Layout/Spinner/Spinner.stories.js +0 -46
  431. package/dist/Atomic/Layout/Spinner/Spinner.test.js +0 -54
  432. package/dist/Atomic/Layout/Spinner/index.js +0 -17
  433. package/dist/Atomic/UI/Accordion/Accordion.interface.js +0 -4
  434. package/dist/Atomic/UI/Accordion/Accordion.stories.js +0 -168
  435. package/dist/Atomic/UI/Accordion/Accordion.test.js +0 -54
  436. package/dist/Atomic/UI/Accordion/AccordionItem.test.js +0 -50
  437. package/dist/Atomic/UI/Accordion/index.js +0 -17
  438. package/dist/Atomic/UI/AccordionTable/AccordionTable.stories.js +0 -268
  439. package/dist/Atomic/UI/AccordionText/AccordionText.stories.js +0 -125
  440. package/dist/Atomic/UI/AdvancedTag/AdvancedTags.stories.js +0 -115
  441. package/dist/Atomic/UI/Alert/Alert.stories.js +0 -81
  442. package/dist/Atomic/UI/Arrow/Arrow.stories.js +0 -62
  443. package/dist/Atomic/UI/Box/Box.stories.js +0 -114
  444. package/dist/Atomic/UI/Button/Button.stories.js +0 -105
  445. package/dist/Atomic/UI/Button/Button.test.js +0 -147
  446. package/dist/Atomic/UI/ButtonsBar/ButtonsBar.stories.js +0 -129
  447. package/dist/Atomic/UI/Chart/Chart.stories.js +0 -93
  448. package/dist/Atomic/UI/CircleProgressBar/CircleProgressBar.stories.js +0 -85
  449. package/dist/Atomic/UI/DateTime/DateTime.stories.js +0 -50
  450. package/dist/Atomic/UI/DoubleString/DoubleString.stories.js +0 -79
  451. package/dist/Atomic/UI/DynamicIcon/DynamicIcon.interface.js +0 -4
  452. package/dist/Atomic/UI/DynamicIcon/DynamicIcon.stories.js +0 -98
  453. package/dist/Atomic/UI/DynamicIcon/DynamicIcon.test.js +0 -51
  454. package/dist/Atomic/UI/DynamicIcon/index.js +0 -17
  455. package/dist/Atomic/UI/ExampleChartIntegration/ExampleChartIntegration.stories.js +0 -98
  456. package/dist/Atomic/UI/Hint/Hint.stories.js +0 -101
  457. package/dist/Atomic/UI/Hint/index.js +0 -16
  458. package/dist/Atomic/UI/Modal/Modal.interface.js +0 -4
  459. package/dist/Atomic/UI/Modal/Modal.stories.js +0 -370
  460. package/dist/Atomic/UI/Modal/ModalHOC.stories.js +0 -191
  461. package/dist/Atomic/UI/Modal/ModalHOC.test.js +0 -187
  462. package/dist/Atomic/UI/Modal/index.js +0 -26
  463. package/dist/Atomic/UI/Modal/partials/ModalFooter.test.js +0 -118
  464. package/dist/Atomic/UI/Modal/partials/ModalTitle.test.js +0 -126
  465. package/dist/Atomic/UI/Modal/partials/useMobileModal.test.js +0 -133
  466. package/dist/Atomic/UI/MonoAccordion/MonoAccordion.interface.js +0 -4
  467. package/dist/Atomic/UI/MonoAccordion/MonoAccordion.stories.js +0 -513
  468. package/dist/Atomic/UI/MonoAccordion/MonoAccordion.test.js +0 -84
  469. package/dist/Atomic/UI/MonoAccordion/index.js +0 -17
  470. package/dist/Atomic/UI/NavLine/NavLine.interface.js +0 -4
  471. package/dist/Atomic/UI/NavLine/NavLine.stories.js +0 -434
  472. package/dist/Atomic/UI/NavLine/NavLine.test.js +0 -311
  473. package/dist/Atomic/UI/NavLine/index.js +0 -17
  474. package/dist/Atomic/UI/PageTitle/PageTitle.interface.js +0 -4
  475. package/dist/Atomic/UI/PageTitle/PageTitle.stories.js +0 -62
  476. package/dist/Atomic/UI/PageTitle/PageTitle.test.js +0 -181
  477. package/dist/Atomic/UI/PageTitle/index.js +0 -17
  478. package/dist/Atomic/UI/PieChart/PieChar.interface.js +0 -4
  479. package/dist/Atomic/UI/PieChart/PieChart.stories.js +0 -82
  480. package/dist/Atomic/UI/PieChart/PieChart.test.js +0 -142
  481. package/dist/Atomic/UI/PieChart/index.js +0 -26
  482. package/dist/Atomic/UI/Price/Price.interface.js +0 -4
  483. package/dist/Atomic/UI/Price/Price.stories.js +0 -52
  484. package/dist/Atomic/UI/Price/Price.test.js +0 -83
  485. package/dist/Atomic/UI/Price/index.js +0 -17
  486. package/dist/Atomic/UI/PriceRange/PriceRange.interface.js +0 -4
  487. package/dist/Atomic/UI/PriceRange/PriceRange.stories.js +0 -51
  488. package/dist/Atomic/UI/PriceRange/PriceRange.test.js +0 -72
  489. package/dist/Atomic/UI/PriceRange/index.js +0 -17
  490. package/dist/Atomic/UI/ProgressLine/ProgressLine.interface.js +0 -4
  491. package/dist/Atomic/UI/ProgressLine/ProgressLine.stories.js +0 -163
  492. package/dist/Atomic/UI/ProgressLine/ProgressLine.test.js +0 -60
  493. package/dist/Atomic/UI/ProgressLine/index.js +0 -17
  494. package/dist/Atomic/UI/Status/Status.interface.js +0 -4
  495. package/dist/Atomic/UI/Status/Status.stories.js +0 -79
  496. package/dist/Atomic/UI/Status/Status.test.js +0 -103
  497. package/dist/Atomic/UI/Status/index.js +0 -17
  498. package/dist/Atomic/UI/Table/Table.stories.js +0 -250
  499. package/dist/Atomic/UI/Tag/Tag.interface.js +0 -4
  500. package/dist/Atomic/UI/Tag/Tag.stories.js +0 -108
  501. package/dist/Atomic/UI/Tag/Tag.test.js +0 -75
  502. package/dist/Atomic/UI/Tag/index.js +0 -17
  503. package/dist/Atomic/UI/TagList/TagList.stories.js +0 -169
  504. package/dist/Atomic/UI/UserBox/UserBox.interface.js +0 -4
  505. package/dist/Atomic/UI/UserBox/UserBox.stories.js +0 -57
  506. package/dist/Atomic/UI/UserBox/UserBox.test.js +0 -136
  507. package/dist/Atomic/UI/UserBox/index.js +0 -17
  508. package/dist/Atomic/UI/WizardStepper/WizardStepper.stories.js +0 -70
  509. package/dist/Functions/useIsMobile/index.js +0 -17
  510. package/dist/Functions/useIsMobile/useIsMobile.js +0 -33
  511. package/dist/Functions/useIsMobile/useIsMobile.test.js +0 -104
  512. package/dist/Functions/useKeyPress/useHandleKeyPress.test.js +0 -96
  513. package/dist/Functions/useKeyPress/useKeyPress.test.js +0 -87
  514. package/dist/Molecular/FormElement/FormElement.stories.js +0 -92
  515. package/dist/Molecular/FormWithDependOn/FormWithDependOn.stories.js +0 -301
  516. package/dist/Molecular/InputAddress/InputAddress.stories.js +0 -541
  517. package/dist/Molecular/InputPassword/InputPassword.stories.js +0 -86
  518. package/dist/types/base.interface.js +0 -4
  519. package/dist/types/base.types.js +0 -4
@@ -1,699 +1,546 @@
1
1
  "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
2
4
  Object.defineProperty(exports, "__esModule", {
3
- value: true
5
+ value: true
4
6
  });
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 _react = /*#__PURE__*/ _interop_require_wildcard(require("react"));
13
- const _classnames = /*#__PURE__*/ _interop_require_default(require("classnames"));
14
- const _reactdom = require("react-dom");
15
- const _reactfeather = require("react-feather");
16
- const _Input = /*#__PURE__*/ _interop_require_default(require("../../../Atomic/FormElements/Input/Input"));
17
- const _RadioInput = /*#__PURE__*/ _interop_require_default(require("../../../Atomic/FormElements/RadioInput/RadioInput"));
18
- const _fieldValueFormatters = require("../../../Functions/fieldValueFormatters");
19
- const _useIsMobile = /*#__PURE__*/ _interop_require_default(require("../../../Functions/useIsMobile/useIsMobile"));
20
- const _utils = require("../../../Functions/utils");
21
- const _DropdownLoader = /*#__PURE__*/ _interop_require_default(require("./components/DropdownLoader"));
7
+ exports.default = void 0;
8
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
+ var _react = _interopRequireWildcard(require("react"));
10
+ var _classnames = _interopRequireDefault(require("classnames"));
11
+ var _reactDom = require("react-dom");
12
+ var _reactFeather = require("react-feather");
13
+ var _Input = _interopRequireDefault(require("../../../Atomic/FormElements/Input/Input"));
14
+ var _RadioInput = _interopRequireDefault(require("../../../Atomic/FormElements/RadioInput/RadioInput"));
15
+ var _fieldValueFormatters = require("../../../Functions/fieldValueFormatters");
16
+ var _useIsMobile = _interopRequireDefault(require("../../../Functions/useIsMobile"));
17
+ var _utils = require("../../../Functions/utils");
18
+ var _DropdownLoader = _interopRequireDefault(require("./components/DropdownLoader"));
22
19
  require("./Dropdown.scss");
23
- function _interop_require_default(obj) {
24
- return obj && obj.__esModule ? obj : {
25
- default: obj
26
- };
27
- }
28
- function _getRequireWildcardCache(nodeInterop) {
29
- if (typeof WeakMap !== "function") return null;
30
- var cacheBabelInterop = new WeakMap();
31
- var cacheNodeInterop = new WeakMap();
32
- return (_getRequireWildcardCache = function(nodeInterop) {
33
- return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
34
- })(nodeInterop);
35
- }
36
- function _interop_require_wildcard(obj, nodeInterop) {
37
- if (!nodeInterop && obj && obj.__esModule) {
38
- return obj;
39
- }
40
- if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
41
- return {
42
- default: obj
43
- };
44
- }
45
- var cache = _getRequireWildcardCache(nodeInterop);
46
- if (cache && cache.has(obj)) {
47
- return cache.get(obj);
20
+ 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); }
21
+ 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; }
22
+ const RC = "dropdown";
23
+ const MIN_ITEMS_FOR_SHOW_MOBILE_SEARCH = 10;
24
+ const Dropdown = _ref => {
25
+ let {
26
+ label,
27
+ options = [],
28
+ value,
29
+ error,
30
+ disabled,
31
+ onChange,
32
+ placeholder,
33
+ className,
34
+ isSearchable,
35
+ entity,
36
+ scrollReactionObj,
37
+ isListTop,
38
+ isNotValidateASCII = false,
39
+ testId = "dropdown",
40
+ sortAlphabetical = true,
41
+ fieldKey,
42
+ id,
43
+ noOptionsText = "No options available",
44
+ attributesOfNativeInput = {},
45
+ isDoNotPullOutListOfMainContainer,
46
+ withMobileLogic,
47
+ withActions,
48
+ minItemsForShowMobileSearch = MIN_ITEMS_FOR_SHOW_MOBILE_SEARCH,
49
+ customTrigger,
50
+ tabIndex,
51
+ onActionConfirmClick,
52
+ onActionCancelClick,
53
+ isDefaultOpened
54
+ } = _ref;
55
+ const {
56
+ isMobile: isMobileProp
57
+ } = (0, _useIsMobile.default)();
58
+ const isMobile = isMobileProp && withMobileLogic && window.screen.width <= 768;
59
+ const [dropdownId, setDropdownId] = (0, _react.useState)(id || fieldKey || Math.random().toString(16).slice(2));
60
+ const [isOpen, setIsOpen] = (0, _react.useState)(false);
61
+ const [searchValue, setSearchValue] = (0, _react.useState)();
62
+ const dropdownRef = (0, _react.useRef)(null);
63
+ const dropdownListRef = (0, _react.useRef)(null);
64
+ const dropdownListWrapperRef = (0, _react.useRef)(null);
65
+ const searchInputRef = (0, _react.useRef)(null);
66
+ const wrapperRef = (0, _react.useRef)(null);
67
+ const [initListHeight, setInitListHeight] = (0, _react.useState)(null);
68
+ const [isSearchChanged, setIsSearchChanged] = (0, _react.useState)(false);
69
+ const [isSearchInputFocused, setIsSearchInputFocused] = (0, _react.useState)(false);
70
+ const [isScrollableList, setIsScrollableList] = (0, _react.useState)(null);
71
+ const [isFixedMaxHeight, setIsFixedMaxHeight] = (0, _react.useState)(false);
72
+ const [scrollTop, setScrollTop] = (0, _react.useState)(0);
73
+ const [scrollHeight, setScrollHeight] = (0, _react.useState)(1);
74
+ if (!options) return null;
75
+ const getTotalOptions = (0, _react.useCallback)(() => {
76
+ return options?.reduce((result, item) => {
77
+ if (item?.list || item?.items) {
78
+ result += item?.list?.length || item?.items?.length || 0;
79
+ } else {
80
+ ++result;
81
+ }
82
+ return result;
83
+ }, 0);
84
+ }, [options]);
85
+ if (isMobile) {
86
+ isSearchable = getTotalOptions() > (minItemsForShowMobileSearch || MIN_ITEMS_FOR_SHOW_MOBILE_SEARCH);
87
+ }
88
+ const moveOtherToEnd = options => {
89
+ const otherIndex = options?.findIndex(option => option?.value === "other");
90
+ if (otherIndex > -1) {
91
+ const other = options?.splice(otherIndex, 1);
92
+ options.push(...other);
48
93
  }
49
- var newObj = {
50
- __proto__: null
94
+ return options;
95
+ };
96
+ const optionsWithOtherAtTheEnd = moveOtherToEnd(options);
97
+ options.map(option => {
98
+ if (option.items) {
99
+ return option.items = moveOtherToEnd(option.items);
100
+ } else return option;
101
+ });
102
+ const filteredGroups = optionsWithOtherAtTheEnd.map(item => ({
103
+ ...item,
104
+ items: !isSearchable || !isSearchChanged ? item?.items : item.items?.slice().filter(el => el?.label?.toLowerCase().includes(searchValue?.toLowerCase() || "") || !el?.value || el?.value === "")
105
+ })).filter(item => item.items?.length > 0);
106
+ const filteredItems = optionsWithOtherAtTheEnd.filter(item => !item.items?.length).filter(item => {
107
+ if (!isSearchable || !isSearchChanged) return true;
108
+ return item?.label?.toLowerCase().includes(searchValue?.toLowerCase() || "") || !item?.value || item?.value === "";
109
+ });
110
+ const filteredOptions = [...filteredItems, ...filteredGroups];
111
+ const modalBtnTrigger = entity && entity !== "" && typeof entity === "string";
112
+ const onChangeHandler = item => {
113
+ setIsOpen(false);
114
+ onChange(item.value);
115
+ };
116
+ const onKeyDown = e => {
117
+ if (![9, 13].includes(e.keyCode)) return false;
118
+ setIsOpen(false);
119
+ };
120
+ const onKeyUp = e => {
121
+ if (![9, 13].includes(e.keyCode)) return false;
122
+ setIsOpen(true);
123
+ };
124
+ // decorator
125
+ const getDepends = getDependsTrigger => {
126
+ const newOnChange = e => {
127
+ if (e.value === "open_modal") {
128
+ onChange("open_modal");
129
+ } else {
130
+ onChangeHandler(e);
131
+ }
51
132
  };
52
- var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
53
- for(var key in obj){
54
- if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
55
- var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
56
- if (desc && (desc.get || desc.set)) {
57
- Object.defineProperty(newObj, key, desc);
58
- } else {
59
- newObj[key] = obj[key];
60
- }
61
- }
133
+
134
+ // add pseudo option
135
+ const newOptions = [{
136
+ label: `New ${entity}`,
137
+ value: "open_modal",
138
+ className: "dropdown__list-item--modal"
139
+ }, ...filteredOptions];
140
+ return {
141
+ onChange: changeItem => {
142
+ return getDependsTrigger ? newOnChange(changeItem) : onChangeHandler(changeItem);
143
+ },
144
+ options: getDependsTrigger ? newOptions : options
145
+ };
146
+ };
147
+ const handleClickOutside = event => {
148
+ if (!getListContainer()?.contains(event?.target) && !dropdownRef?.current.contains(event?.target)) {
149
+ setIsOpen(false);
62
150
  }
63
- newObj.default = obj;
64
- if (cache) {
65
- cache.set(obj, newObj);
151
+ };
152
+ const onSearchHandler = name => {
153
+ let inputValue = name;
154
+ if (!isNotValidateASCII) inputValue = (0, _fieldValueFormatters.formatToOnlyASCIICodeText)(inputValue);
155
+ setIsSearchChanged(true);
156
+ setSearchValue(inputValue);
157
+ };
158
+ const onWrapperClick = e => {
159
+ if (e.target === wrapperRef?.current) {
160
+ e.stopPropagation();
161
+ e.preventDefault();
162
+ setIsOpen(false);
66
163
  }
67
- return newObj;
68
- }
69
- const RC = "dropdown";
70
- const MIN_ITEMS_FOR_SHOW_MOBILE_SEARCH = 10;
71
- const Dropdown = ({ label, options = [], value, error, disabled, onChange, placeholder, className, isSearchable, entity, scrollReactionObj, isListTop, isNotValidateASCII = false, testId = "dropdown", sortAlphabetical = true, fieldKey, id, noOptionsText = "No options available", attributesOfNativeInput = {}, isDoNotPullOutListOfMainContainer, withMobileLogic, withActions, minItemsForShowMobileSearch = MIN_ITEMS_FOR_SHOW_MOBILE_SEARCH, customTrigger, tabIndex, onActionConfirmClick, onActionCancelClick, isDefaultOpened })=>{
72
- var _options_find, _dropdownListWrapperRef_current_getBoundingClientRect, _dropdownListWrapperRef_current, _dropdownListRef_current, _dropdownListRef_current1, _filteredOptions_find, _tabIndex_toString;
73
- const { isMobile: isMobileProp } = (0, _useIsMobile.default)();
74
- const isMobile = isMobileProp && withMobileLogic && window.screen.width <= 768;
75
- const [dropdownId, setDropdownId] = (0, _react.useState)(id || fieldKey || Math.random().toString(16).slice(2));
76
- const [isOpen, setIsOpen] = (0, _react.useState)(false);
77
- const [searchValue, setSearchValue] = (0, _react.useState)();
78
- const dropdownRef = (0, _react.useRef)(null);
79
- const dropdownListRef = (0, _react.useRef)(null);
80
- const dropdownListWrapperRef = (0, _react.useRef)(null);
81
- const searchInputRef = (0, _react.useRef)(null);
82
- const wrapperRef = (0, _react.useRef)(null);
83
- const [initListHeight, setInitListHeight] = (0, _react.useState)(null);
84
- const [isSearchChanged, setIsSearchChanged] = (0, _react.useState)(false);
85
- const [isSearchInputFocused, setIsSearchInputFocused] = (0, _react.useState)(false);
86
- const [isScrollableList, setIsScrollableList] = (0, _react.useState)(null);
87
- const [isFixedMaxHeight, setIsFixedMaxHeight] = (0, _react.useState)(false);
88
- const [scrollTop, setScrollTop] = (0, _react.useState)(0);
89
- const [scrollHeight, setScrollHeight] = (0, _react.useState)(1);
90
- if (!options) return null;
91
- const getTotalOptions = (0, _react.useCallback)(()=>{
92
- return options === null || options === void 0 ? void 0 : options.reduce((result, item)=>{
93
- if ((item === null || item === void 0 ? void 0 : item.list) || (item === null || item === void 0 ? void 0 : item.items)) {
94
- var _item_list, _item_items;
95
- result += (item === null || item === void 0 ? void 0 : (_item_list = item.list) === null || _item_list === void 0 ? void 0 : _item_list.length) || (item === null || item === void 0 ? void 0 : (_item_items = item.items) === null || _item_items === void 0 ? void 0 : _item_items.length) || 0;
96
- } else {
97
- ++result;
98
- }
99
- return result;
100
- }, 0);
101
- }, [
102
- options
103
- ]);
164
+ };
165
+ const hightlightedText = (text, postfix, description) => {
166
+ const prepare = text => text?.replace(/[|\\{}()[\]^$+*?.]/g, "\\$&");
167
+ text = text.replace(/["&<>]/g, a => {
168
+ return {
169
+ '"': "&quot;",
170
+ "&": "&amp;",
171
+ "<": "&lt;",
172
+ ">": "&gt;"
173
+ }[a];
174
+ });
175
+ const main = isSearchable && searchValue ? text?.replace(new RegExp(prepare(searchValue), "i"), match => `<span class="bg--yellow">${match}</span>`) : text;
176
+ const postfixPart = postfix ? `<span class="dropdown__list-item-postfix">${postfix}</span>` : "";
177
+ const descriptionPart = description ? `<span class="dropdown__list-item-description">${description}</span>` : "";
178
+ return main + postfixPart + descriptionPart;
179
+ };
180
+ const depend = getDepends(modalBtnTrigger);
181
+ const getMarkupForElement = (item, index, optTestId) => {
182
+ return /*#__PURE__*/_react.default.createElement("button", {
183
+ "data-testid": `${testId}-${optTestId}-option`,
184
+ key: item.value?.toString()?.replace(/ /g, "_"),
185
+ onMouseDown: () => depend.onChange(item),
186
+ className: (0, _classnames.default)(`${RC}__list-item`, {
187
+ [`${RC}__list-item_active`]: item.value === value,
188
+ [`${RC}__list-item_disabled`]: item.disabled
189
+ }, item.className)
190
+ }, !isMobile && /*#__PURE__*/_react.default.createElement("span", {
191
+ className: (0, _classnames.default)(`${RC}__active-icon`, {
192
+ [`${RC}__active-icon_active`]: item.value === value
193
+ })
194
+ }, /*#__PURE__*/_react.default.createElement(_reactFeather.Check, null)), /*#__PURE__*/_react.default.createElement("div", {
195
+ className: (0, _classnames.default)(`${RC}__list-item-label`, item.labelClassName || ""),
196
+ dangerouslySetInnerHTML: {
197
+ __html: hightlightedText(item.label, item.postfix, item.description)
198
+ }
199
+ }), item?.icon || "", isMobile ? item?.customMobileIcon ?? /*#__PURE__*/_react.default.createElement(_RadioInput.default, {
200
+ value: item.value,
201
+ checked: value
202
+ }) : "");
203
+ };
204
+ const filteredOptionList = filteredOption => {
205
+ return filteredOption.items?.length > 0 ? /*#__PURE__*/_react.default.createElement("div", {
206
+ key: filteredOption.label?.toString()?.replace(/ /g, "_").concat(Date.now()),
207
+ className: (0, _classnames.default)(`${RC}-group`, filteredOption.className)
208
+ }, /*#__PURE__*/_react.default.createElement("div", {
209
+ className: `${RC}-group__name`
210
+ }, filteredOption.label), filteredOption.items.map((el, index) => getMarkupForElement(el, index, el?.testId || index))) : null;
211
+ };
212
+ const selectedLabel = options.find(el => el.value === value)?.label || options.reduce((acc, item) => acc || item.items?.find(el => el.value === value)?.label, null);
213
+ const doScrollCallback = (0, _react.useCallback)(e => {
214
+ const {
215
+ callback,
216
+ isWithAnyScrolling,
217
+ scrollingInaccuracy = 0
218
+ } = scrollReactionObj || {};
219
+ if (callback && typeof callback === "function") {
220
+ if (isWithAnyScrolling) callback(e);else if (Math.round(e.target.clientHeight + e.target.scrollTop + scrollingInaccuracy) >= e.target.scrollHeight) {
221
+ callback(e);
222
+ }
223
+ }
224
+ }, [filteredOptions]);
225
+ const getParentNode = () => {
226
+ if (isDoNotPullOutListOfMainContainer) return dropdownRef.current;
227
+ return document.querySelector("div#root") ?? document.querySelector("div#app") ?? document.querySelector("div#storybook-root");
228
+ };
229
+ const initListContainer = () => {
230
+ const dropdownList = document.createElement("div");
231
+ dropdownList.setAttribute("id", dropdownId);
232
+ dropdownList.classList.add("dropdown__container");
104
233
  if (isMobile) {
105
- isSearchable = getTotalOptions() > (minItemsForShowMobileSearch || MIN_ITEMS_FOR_SHOW_MOBILE_SEARCH);
234
+ dropdownList.addEventListener("click", e => {
235
+ if (e.target.id === dropdownId) setIsOpen(false);
236
+ });
106
237
  }
107
- const moveOtherToEnd = (options)=>{
108
- const otherIndex = options === null || options === void 0 ? void 0 : options.findIndex((option)=>(option === null || option === void 0 ? void 0 : option.value) === "other");
109
- if (otherIndex > -1) {
110
- const other = options === null || options === void 0 ? void 0 : options.splice(otherIndex, 1);
111
- options.push(...other);
112
- }
113
- return options;
114
- };
115
- const optionsWithOtherAtTheEnd = moveOtherToEnd(options);
116
- options.map((option)=>{
117
- if (option.items) {
118
- return option.items = moveOtherToEnd(option.items);
119
- } else return option;
120
- });
121
- const filteredGroups = optionsWithOtherAtTheEnd.map((item)=>{
122
- var _item_items;
123
- return {
124
- ...item,
125
- items: !isSearchable || !isSearchChanged ? item === null || item === void 0 ? void 0 : item.items : (_item_items = item.items) === null || _item_items === void 0 ? void 0 : _item_items.slice().filter((el)=>{
126
- var _el_label;
127
- return (el === null || el === void 0 ? void 0 : (_el_label = el.label) === null || _el_label === void 0 ? void 0 : _el_label.toLowerCase().includes((searchValue === null || searchValue === void 0 ? void 0 : searchValue.toLowerCase()) || "")) || !(el === null || el === void 0 ? void 0 : el.value) || (el === null || el === void 0 ? void 0 : el.value) === "";
128
- })
129
- };
130
- }).filter((item)=>{
131
- var _item_items;
132
- return ((_item_items = item.items) === null || _item_items === void 0 ? void 0 : _item_items.length) > 0;
133
- });
134
- const filteredItems = optionsWithOtherAtTheEnd.filter((item)=>{
135
- var _item_items;
136
- return !((_item_items = item.items) === null || _item_items === void 0 ? void 0 : _item_items.length);
137
- }).filter((item)=>{
138
- var _item_label;
139
- if (!isSearchable || !isSearchChanged) return true;
140
- return (item === null || item === void 0 ? void 0 : (_item_label = item.label) === null || _item_label === void 0 ? void 0 : _item_label.toLowerCase().includes((searchValue === null || searchValue === void 0 ? void 0 : searchValue.toLowerCase()) || "")) || !(item === null || item === void 0 ? void 0 : item.value) || (item === null || item === void 0 ? void 0 : item.value) === "";
141
- });
142
- const filteredOptions = [
143
- ...filteredItems,
144
- ...filteredGroups
145
- ];
146
- const modalBtnTrigger = entity && entity !== "" && typeof entity === "string";
147
- const onChangeHandler = (item)=>{
148
- setIsOpen(false);
149
- onChange(item.value);
150
- };
151
- const onKeyDown = (e)=>{
152
- if (![
153
- 9,
154
- 13
155
- ].includes(e.keyCode)) return false;
156
- setIsOpen(false);
157
- };
158
- const onKeyUp = (e)=>{
159
- if (![
160
- 9,
161
- 13
162
- ].includes(e.keyCode)) return false;
163
- setIsOpen(true);
164
- };
165
- // decorator
166
- const getDepends = (getDependsTrigger)=>{
167
- const newOnChange = (e)=>{
168
- if (e.value === "open_modal") {
169
- onChange("open_modal");
170
- } else {
171
- onChangeHandler(e);
172
- }
173
- };
174
- // add pseudo option
175
- const newOptions = [
176
- {
177
- label: `New ${entity}`,
178
- value: "open_modal",
179
- className: "dropdown__list-item--modal"
180
- },
181
- ...filteredOptions
182
- ];
183
- return {
184
- onChange: (changeItem)=>{
185
- return getDependsTrigger ? newOnChange(changeItem) : onChangeHandler(changeItem);
186
- },
187
- options: getDependsTrigger ? newOptions : options
188
- };
189
- };
190
- const handleClickOutside = (event)=>{
191
- var _getListContainer;
192
- if (!((_getListContainer = getListContainer()) === null || _getListContainer === void 0 ? void 0 : _getListContainer.contains(event === null || event === void 0 ? void 0 : event.target)) && !(dropdownRef === null || dropdownRef === void 0 ? void 0 : dropdownRef.current.contains(event === null || event === void 0 ? void 0 : event.target))) {
193
- setIsOpen(false);
194
- }
195
- };
196
- const onSearchHandler = (name)=>{
197
- let inputValue = name;
198
- if (!isNotValidateASCII) inputValue = (0, _fieldValueFormatters.formatToOnlyASCIICodeText)(inputValue);
199
- setIsSearchChanged(true);
200
- setSearchValue(inputValue);
201
- };
202
- const onWrapperClick = (e)=>{
203
- if (e.target === (wrapperRef === null || wrapperRef === void 0 ? void 0 : wrapperRef.current)) {
204
- e.stopPropagation();
205
- e.preventDefault();
206
- setIsOpen(false);
207
- }
208
- };
209
- const hightlightedText = (text, postfix, description)=>{
210
- const prepare = (text)=>text === null || text === void 0 ? void 0 : text.replace(/[|\\{}()[\]^$+*?.]/g, "\\$&");
211
- text = text.replace(/["&<>]/g, (a)=>{
212
- return ({
213
- '"': "&quot;",
214
- "&": "&amp;",
215
- "<": "&lt;",
216
- ">": "&gt;"
217
- })[a];
218
- });
219
- const main = isSearchable && searchValue ? text === null || text === void 0 ? void 0 : text.replace(new RegExp(prepare(searchValue), "i"), (match)=>`<span class="bg--yellow">${match}</span>`) : text;
220
- const postfixPart = postfix ? `<span class="dropdown__list-item-postfix">${postfix}</span>` : "";
221
- const descriptionPart = description ? `<span class="dropdown__list-item-description">${description}</span>` : "";
222
- return main + postfixPart + descriptionPart;
223
- };
224
- const depend = getDepends(modalBtnTrigger);
225
- const getMarkupForElement = (item, index, optTestId)=>{
226
- var _item_value_toString, _item_value;
227
- var _item_customMobileIcon;
228
- return /*#__PURE__*/ (0, _jsxruntime.jsxs)("button", {
229
- "data-testid": `${testId}-${optTestId}-option`,
230
- onMouseDown: ()=>depend.onChange(item),
231
- className: (0, _classnames.default)(`${RC}__list-item`, {
232
- [`${RC}__list-item_active`]: item.value === value,
233
- [`${RC}__list-item_disabled`]: item.disabled
234
- }, item.className),
235
- children: [
236
- !isMobile && /*#__PURE__*/ (0, _jsxruntime.jsx)("span", {
237
- className: (0, _classnames.default)(`${RC}__active-icon`, {
238
- [`${RC}__active-icon_active`]: item.value === value
239
- }),
240
- children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_reactfeather.Check, {})
241
- }),
242
- /*#__PURE__*/ (0, _jsxruntime.jsx)("div", {
243
- className: (0, _classnames.default)(`${RC}__list-item-label`, item.labelClassName || ""),
244
- dangerouslySetInnerHTML: {
245
- __html: hightlightedText(item.label, item.postfix, item.description)
246
- }
247
- }),
248
- (item === null || item === void 0 ? void 0 : item.icon) || "",
249
- isMobile ? (_item_customMobileIcon = item === null || item === void 0 ? void 0 : item.customMobileIcon) !== null && _item_customMobileIcon !== void 0 ? _item_customMobileIcon : /*#__PURE__*/ (0, _jsxruntime.jsx)(_RadioInput.default, {
250
- value: item.value,
251
- checked: value
252
- }) : ""
253
- ]
254
- }, (_item_value = item.value) === null || _item_value === void 0 ? void 0 : (_item_value_toString = _item_value.toString()) === null || _item_value_toString === void 0 ? void 0 : _item_value_toString.replace(/ /g, "_"));
255
- };
256
- const filteredOptionList = (filteredOption)=>{
257
- var _filteredOption_items, _filteredOption_label_toString, _filteredOption_label;
258
- return ((_filteredOption_items = filteredOption.items) === null || _filteredOption_items === void 0 ? void 0 : _filteredOption_items.length) > 0 ? /*#__PURE__*/ (0, _jsxruntime.jsxs)("div", {
259
- className: (0, _classnames.default)(`${RC}-group`, filteredOption.className),
260
- children: [
261
- /*#__PURE__*/ (0, _jsxruntime.jsx)("div", {
262
- className: `${RC}-group__name`,
263
- children: filteredOption.label
264
- }),
265
- filteredOption.items.map((el, index)=>getMarkupForElement(el, index, (el === null || el === void 0 ? void 0 : el.testId) || index))
266
- ]
267
- }, (_filteredOption_label = filteredOption.label) === null || _filteredOption_label === void 0 ? void 0 : (_filteredOption_label_toString = _filteredOption_label.toString()) === null || _filteredOption_label_toString === void 0 ? void 0 : _filteredOption_label_toString.replace(/ /g, "_").concat(Date.now())) : null;
268
- };
269
- const selectedLabel = ((_options_find = options.find((el)=>el.value === value)) === null || _options_find === void 0 ? void 0 : _options_find.label) || options.reduce((acc, item)=>{
270
- var _item_items_find, _item_items;
271
- return acc || ((_item_items = item.items) === null || _item_items === void 0 ? void 0 : (_item_items_find = _item_items.find((el)=>el.value === value)) === null || _item_items_find === void 0 ? void 0 : _item_items_find.label);
272
- }, null);
273
- const doScrollCallback = (0, _react.useCallback)((e)=>{
274
- const { callback, isWithAnyScrolling, scrollingInaccuracy = 0 } = scrollReactionObj || {};
275
- if (callback && typeof callback === "function") {
276
- if (isWithAnyScrolling) callback(e);
277
- else if (Math.round(e.target.clientHeight + e.target.scrollTop + scrollingInaccuracy) >= e.target.scrollHeight) {
278
- callback(e);
279
- }
238
+ try {
239
+ getListContainer()?.remove();
240
+ } finally {
241
+ if (isMobile) {
242
+ try {
243
+ document.getElementById(`mlw-${dropdownId}`)?.remove();
244
+ } catch (e) {}
245
+ const dropdownMobileListWrapper = document.createElement("div");
246
+ dropdownMobileListWrapper.classList.add("dropdown-mobile");
247
+ dropdownMobileListWrapper.setAttribute("id", `mlw-${dropdownId}`);
248
+ dropdownMobileListWrapper?.append(dropdownList);
249
+ getParentNode()?.append(dropdownMobileListWrapper);
250
+ } else {
251
+ getParentNode()?.append(dropdownList);
252
+ }
253
+ }
254
+ };
255
+ const getListContainer = () => {
256
+ return document.getElementById(dropdownId);
257
+ };
258
+ const getListContainerWrapper = () => {
259
+ return document.getElementById(`mlw-${dropdownId}`);
260
+ };
261
+ const setListContainerStyles = () => {
262
+ const lc = getListContainer();
263
+ if (!lc || !isOpen) return false;
264
+ const windowHeight = window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight;
265
+ const {
266
+ width,
267
+ height,
268
+ left,
269
+ top
270
+ } = dropdownRef?.current.getBoundingClientRect() ?? {};
271
+ const sw = lc.getElementsByClassName("dropdown__list")[0];
272
+ const lh = dropdownListWrapperRef?.current?.getElementsByClassName("dropdown__list-header")[0];
273
+ const margin = parseInt(getComputedStyle(dropdownListWrapperRef?.current)?.marginTop?.replace("px", "") ?? 0, 10);
274
+ const maxHeight = initListHeight ?? parseInt(getComputedStyle(sw)?.maxHeight?.replace("px", "") ?? 0, 10);
275
+ if (initListHeight === null) setInitListHeight(maxHeight);
276
+ const toTop = top - margin;
277
+ const toBottom = windowHeight - top - height - margin * 2;
278
+ const swHeight = sw?.getBoundingClientRect()?.height;
279
+ const maxSwHeight = isMobile ? dropdownListWrapperRef?.current?.getBoundingClientRect()?.height - lh?.getBoundingClientRect()?.height : toTop >= maxHeight || toBottom >= maxHeight ? maxHeight - 3 * margin : toTop > toBottom ? toTop - 3 * margin : toBottom - 4 * margin;
280
+ const listPos = toTop < toBottom || toBottom >= swHeight ? "bottom" : "top";
281
+ lc.style.minWidth = `${width}px`;
282
+ lc.style.left = `${left}px`;
283
+ lc.style.top = `${listPos === "bottom" ? top + height : top - margin * 3 - parseInt(getComputedStyle(dropdownListWrapperRef?.current)?.height?.replace("px", "") ?? 0, 10)}px`;
284
+ sw.style.maxHeight = `${maxSwHeight}px`;
285
+ };
286
+ const renderListContainer = () => {
287
+ const lc = getListContainer();
288
+ if (!lc) return null;
289
+ return /*#__PURE__*/(0, _reactDom.createPortal)(getListMarkUp(), lc);
290
+ };
291
+ const getSortedOptions = data => {
292
+ let newData = [...data];
293
+ if (sortAlphabetical) {
294
+ const openModalOption = newData.filter(_ref2 => {
295
+ let {
296
+ value
297
+ } = _ref2;
298
+ return value === "open_modal";
299
+ });
300
+ const emptyOption = newData.filter(_ref3 => {
301
+ let {
302
+ value
303
+ } = _ref3;
304
+ return value === "";
305
+ });
306
+ const restOfOptions = newData.filter(_ref4 => {
307
+ let {
308
+ value
309
+ } = _ref4;
310
+ return value !== "open_modal" && value !== "";
311
+ }).sort(_utils.compareAlphabetical);
312
+ newData = [...openModalOption, ...emptyOption, ...restOfOptions].map(item => {
313
+ if (item?.items) {
314
+ item.items = [...item.items].sort(_utils.compareAlphabetical);
280
315
  }
281
- }, [
282
- filteredOptions
283
- ]);
284
- const getParentNode = ()=>{
285
- if (isDoNotPullOutListOfMainContainer) return dropdownRef.current;
286
- var _document_querySelector, _ref;
287
- return (_ref = (_document_querySelector = document.querySelector("div#root")) !== null && _document_querySelector !== void 0 ? _document_querySelector : document.querySelector("div#app")) !== null && _ref !== void 0 ? _ref : document.querySelector("div#storybook-root");
288
- };
289
- const initListContainer = ()=>{
290
- const dropdownList = document.createElement("div");
291
- dropdownList.setAttribute("id", dropdownId);
292
- dropdownList.classList.add("dropdown__container");
293
- if (isMobile) {
294
- dropdownList.addEventListener("click", (e)=>{
295
- if (e.target.id === dropdownId) setIsOpen(false);
296
- });
316
+ return item;
317
+ });
318
+ }
319
+ return newData;
320
+ };
321
+ const getListMarkUp = () => {
322
+ return /*#__PURE__*/_react.default.createElement("div", {
323
+ className: (0, _classnames.default)(`${RC}__container-wrapper`),
324
+ ref: wrapperRef,
325
+ onClick: isMobile ? onWrapperClick : () => {}
326
+ }, /*#__PURE__*/_react.default.createElement("div", {
327
+ className: (0, _classnames.default)(`${RC}__list-wrapper`, {
328
+ [`${RC}__list-wrapper--fixed-height`]: isFixedMaxHeight,
329
+ [`${RC}__list-wrapper--with-bottom-shadow`]: isScrollableList && isMobile,
330
+ [`${RC}__list-wrapper--with-bottom-shadow-hidden`]: scrollTop === scrollHeight
331
+ }),
332
+ ref: dropdownListWrapperRef
333
+ }, isMobile && /*#__PURE__*/_react.default.createElement("div", {
334
+ className: (0, _classnames.default)(`${RC}__list-header`, {
335
+ [`${RC}__list-header-with-shadow`]: isScrollableList && isMobile,
336
+ [`${RC}__list-header-with-shadow-hidden`]: scrollTop === 0
337
+ })
338
+ }, /*#__PURE__*/_react.default.createElement("div", {
339
+ className: (0, _classnames.default)(`${RC}__list-header-row`)
340
+ }, /*#__PURE__*/_react.default.createElement("div", {
341
+ className: (0, _classnames.default)(`${RC}__list-label`)
342
+ }, label), /*#__PURE__*/_react.default.createElement("div", {
343
+ className: (0, _classnames.default)(`${RC}__list-close-icon`),
344
+ onClick: () => setIsOpen(false)
345
+ }, /*#__PURE__*/_react.default.createElement(_reactFeather.X, {
346
+ onClick: () => setIsOpen(false)
347
+ }))), isSearchable && /*#__PURE__*/_react.default.createElement("div", {
348
+ className: (0, _classnames.default)(`${RC}__list-header-row`)
349
+ }, /*#__PURE__*/_react.default.createElement(_Input.default, (0, _extends2.default)({
350
+ ref: searchInputRef,
351
+ className: `${RC}__input`,
352
+ value: searchValue ?? selectedLabel,
353
+ onChange: v => onSearchHandler(v),
354
+ placeholder: placeholder || "Search",
355
+ withDelete: true,
356
+ onFocus: () => setIsSearchInputFocused(true),
357
+ onBlur: () => setIsSearchInputFocused(false),
358
+ onMouseDown: () => {
359
+ if (!isOpen) {
360
+ setIsSearchInputFocused(true);
297
361
  }
298
- try {
299
- var _getListContainer;
300
- (_getListContainer = getListContainer()) === null || _getListContainer === void 0 ? void 0 : _getListContainer.remove();
301
- } finally{
302
- if (isMobile) {
303
- var _getParentNode;
304
- try {
305
- var _document_getElementById;
306
- (_document_getElementById = document.getElementById(`mlw-${dropdownId}`)) === null || _document_getElementById === void 0 ? void 0 : _document_getElementById.remove();
307
- } catch (e) {}
308
- const dropdownMobileListWrapper = document.createElement("div");
309
- dropdownMobileListWrapper.classList.add("dropdown-mobile");
310
- dropdownMobileListWrapper.setAttribute("id", `mlw-${dropdownId}`);
311
- dropdownMobileListWrapper === null || dropdownMobileListWrapper === void 0 ? void 0 : dropdownMobileListWrapper.append(dropdownList);
312
- (_getParentNode = getParentNode()) === null || _getParentNode === void 0 ? void 0 : _getParentNode.append(dropdownMobileListWrapper);
313
- } else {
314
- var _getParentNode1;
315
- (_getParentNode1 = getParentNode()) === null || _getParentNode1 === void 0 ? void 0 : _getParentNode1.append(dropdownList);
316
- }
362
+ }
363
+ }, attributesOfNativeInput)))), /*#__PURE__*/_react.default.createElement("div", {
364
+ className: (0, _classnames.default)(`${RC}__list`, {
365
+ [`${RC}__list-top`]: isListTop
366
+ }),
367
+ ref: dropdownListRef
368
+ }, getSortedOptions(depend.options)?.map(option => {
369
+ if (option?.items?.length) {
370
+ if (!isSearchable || !isSearchChanged) {
371
+ return filteredOptionList(option);
372
+ } else {
373
+ const items = option.items?.slice().filter(el => el?.label?.toLowerCase().includes(searchValue?.toLowerCase() || "") || !el?.value || el?.value === "");
374
+ if (items?.length) return filteredOptionList({
375
+ ...option,
376
+ items
377
+ });
378
+ return null;
317
379
  }
380
+ } else if (!isSearchable || !isSearchChanged || option?.label?.toLowerCase().includes(searchValue?.toLowerCase() || "") || !option?.value || option?.value === "") {
381
+ return getMarkupForElement(option);
382
+ }
383
+ }), !filteredItems.length && !filteredGroups.length && /*#__PURE__*/_react.default.createElement("div", {
384
+ className: `${RC}__list-item ${RC}__list-item--no-options`
385
+ }, noOptionsText), disabled && isOpen && /*#__PURE__*/_react.default.createElement(_DropdownLoader.default, null))));
386
+ };
387
+ const toggleList = e => {
388
+ e?.stopPropagation();
389
+ setIsOpen(isOpen => {
390
+ return !isOpen;
391
+ });
392
+ };
393
+ const closeList = isOpen ? handleClickOutside : () => {};
394
+ (0, _react.useEffect)(() => {
395
+ if (!isDoNotPullOutListOfMainContainer || dropdownRef.current) {
396
+ initListContainer();
397
+ if (isDefaultOpened && !isMobileProp) setIsOpen(true);
398
+ }
399
+ }, [isDoNotPullOutListOfMainContainer, dropdownRef.current]);
400
+ (0, _react.useLayoutEffect)(() => {
401
+ if (!isMobile) {
402
+ window.addEventListener("resize", setListContainerStyles);
403
+ window.addEventListener("mousewheel", closeList);
404
+ window.addEventListener("scroll", closeList);
405
+ window.addEventListener("touchmove", closeList);
406
+ } else {
407
+ window.removeEventListener("resize", setListContainerStyles);
408
+ window.removeEventListener("mousewheel", closeList);
409
+ window.removeEventListener("scroll", closeList);
410
+ window.removeEventListener("touchmove", closeList);
411
+ }
412
+ getListContainer()?.addEventListener("click", closeList);
413
+ return () => {
414
+ window.removeEventListener("resize", setListContainerStyles);
415
+ window.removeEventListener("mousewheel", closeList);
416
+ window.removeEventListener("scroll", closeList);
417
+ window.removeEventListener("touchmove", closeList);
418
+ getListContainer()?.removeEventListener("click", closeList);
318
419
  };
319
- const getListContainer = ()=>{
320
- return document.getElementById(dropdownId);
321
- };
322
- const getListContainerWrapper = ()=>{
323
- return document.getElementById(`mlw-${dropdownId}`);
324
- };
325
- const setListContainerStyles = ()=>{
326
- var _dropdownListWrapperRef_current, _getComputedStyle_marginTop, _getComputedStyle, _getComputedStyle_maxHeight, _getComputedStyle1, _sw_getBoundingClientRect, _dropdownListWrapperRef_current_getBoundingClientRect, _dropdownListWrapperRef_current1, _lh_getBoundingClientRect, _getComputedStyle_height, _getComputedStyle2;
327
- const lc = getListContainer();
328
- if (!lc || !isOpen) return false;
329
- const windowHeight = window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight;
330
- var _dropdownRef_current_getBoundingClientRect;
331
- const { width, height, left, top } = (_dropdownRef_current_getBoundingClientRect = dropdownRef === null || dropdownRef === void 0 ? void 0 : dropdownRef.current.getBoundingClientRect()) !== null && _dropdownRef_current_getBoundingClientRect !== void 0 ? _dropdownRef_current_getBoundingClientRect : {};
332
- const sw = lc.getElementsByClassName("dropdown__list")[0];
333
- const lh = dropdownListWrapperRef === null || dropdownListWrapperRef === void 0 ? void 0 : (_dropdownListWrapperRef_current = dropdownListWrapperRef.current) === null || _dropdownListWrapperRef_current === void 0 ? void 0 : _dropdownListWrapperRef_current.getElementsByClassName("dropdown__list-header")[0];
334
- var _getComputedStyle_marginTop_replace;
335
- const margin = parseInt((_getComputedStyle_marginTop_replace = (_getComputedStyle = getComputedStyle(dropdownListWrapperRef === null || dropdownListWrapperRef === void 0 ? void 0 : dropdownListWrapperRef.current)) === null || _getComputedStyle === void 0 ? void 0 : (_getComputedStyle_marginTop = _getComputedStyle.marginTop) === null || _getComputedStyle_marginTop === void 0 ? void 0 : _getComputedStyle_marginTop.replace("px", "")) !== null && _getComputedStyle_marginTop_replace !== void 0 ? _getComputedStyle_marginTop_replace : 0, 10);
336
- var _getComputedStyle_maxHeight_replace;
337
- const maxHeight = initListHeight !== null && initListHeight !== void 0 ? initListHeight : parseInt((_getComputedStyle_maxHeight_replace = (_getComputedStyle1 = getComputedStyle(sw)) === null || _getComputedStyle1 === void 0 ? void 0 : (_getComputedStyle_maxHeight = _getComputedStyle1.maxHeight) === null || _getComputedStyle_maxHeight === void 0 ? void 0 : _getComputedStyle_maxHeight.replace("px", "")) !== null && _getComputedStyle_maxHeight_replace !== void 0 ? _getComputedStyle_maxHeight_replace : 0, 10);
338
- if (initListHeight === null) setInitListHeight(maxHeight);
339
- const toTop = top - margin;
340
- const toBottom = windowHeight - top - height - margin * 2;
341
- const swHeight = sw === null || sw === void 0 ? void 0 : (_sw_getBoundingClientRect = sw.getBoundingClientRect()) === null || _sw_getBoundingClientRect === void 0 ? void 0 : _sw_getBoundingClientRect.height;
342
- const maxSwHeight = isMobile ? (dropdownListWrapperRef === null || dropdownListWrapperRef === void 0 ? void 0 : (_dropdownListWrapperRef_current1 = dropdownListWrapperRef.current) === null || _dropdownListWrapperRef_current1 === void 0 ? void 0 : (_dropdownListWrapperRef_current_getBoundingClientRect = _dropdownListWrapperRef_current1.getBoundingClientRect()) === null || _dropdownListWrapperRef_current_getBoundingClientRect === void 0 ? void 0 : _dropdownListWrapperRef_current_getBoundingClientRect.height) - (lh === null || lh === void 0 ? void 0 : (_lh_getBoundingClientRect = lh.getBoundingClientRect()) === null || _lh_getBoundingClientRect === void 0 ? void 0 : _lh_getBoundingClientRect.height) : toTop >= maxHeight || toBottom >= maxHeight ? maxHeight - 3 * margin : toTop > toBottom ? toTop - 3 * margin : toBottom - 4 * margin;
343
- const listPos = toTop < toBottom || toBottom >= swHeight ? "bottom" : "top";
344
- lc.style.minWidth = `${width}px`;
345
- lc.style.left = `${left}px`;
346
- var _getComputedStyle_height_replace;
347
- lc.style.top = `${listPos === "bottom" ? top + height : top - margin * 3 - parseInt((_getComputedStyle_height_replace = (_getComputedStyle2 = getComputedStyle(dropdownListWrapperRef === null || dropdownListWrapperRef === void 0 ? void 0 : dropdownListWrapperRef.current)) === null || _getComputedStyle2 === void 0 ? void 0 : (_getComputedStyle_height = _getComputedStyle2.height) === null || _getComputedStyle_height === void 0 ? void 0 : _getComputedStyle_height.replace("px", "")) !== null && _getComputedStyle_height_replace !== void 0 ? _getComputedStyle_height_replace : 0, 10)}px`;
348
- sw.style.maxHeight = `${maxSwHeight}px`;
349
- };
350
- const renderListContainer = ()=>{
351
- const lc = getListContainer();
352
- if (!lc) return null;
353
- return /*#__PURE__*/ (0, _reactdom.createPortal)(getListMarkUp(), lc);
420
+ }, [getListContainer]);
421
+ (0, _react.useLayoutEffect)(() => {
422
+ setListContainerStyles();
423
+ }, [isOpen, searchValue, isMobile, options, dropdownListWrapperRef?.current?.getBoundingClientRect()?.height]);
424
+ (0, _react.useEffect)(() => {
425
+ document.addEventListener("click", handleClickOutside, true);
426
+ return () => document.removeEventListener("click", handleClickOutside, true);
427
+ }, []);
428
+ (0, _react.useEffect)(() => {
429
+ if (!isOpen) {
430
+ setIsSearchChanged(false);
431
+ }
432
+ if (scrollReactionObj && typeof scrollReactionObj === "object" && isOpen && dropdownListRef && dropdownListRef.current) {
433
+ dropdownListRef.current.addEventListener("scroll", doScrollCallback);
434
+ }
435
+ return () => {
436
+ if (scrollReactionObj && typeof scrollReactionObj === "object") removeEventListener("scroll", doScrollCallback);
354
437
  };
355
- const getSortedOptions = (data)=>{
356
- let newData = [
357
- ...data
358
- ];
359
- if (sortAlphabetical) {
360
- const openModalOption = newData.filter(({ value })=>value === "open_modal");
361
- const emptyOption = newData.filter(({ value })=>value === "");
362
- const restOfOptions = newData.filter(({ value })=>value !== "open_modal" && value !== "").sort(_utils.compareAlphabetical);
363
- newData = [
364
- ...openModalOption,
365
- ...emptyOption,
366
- ...restOfOptions
367
- ].map((item)=>{
368
- if (item === null || item === void 0 ? void 0 : item.items) {
369
- item.items = [
370
- ...item.items
371
- ].sort(_utils.compareAlphabetical);
372
- }
373
- return item;
374
- });
375
- }
376
- return newData;
438
+ }, [isOpen, dropdownListRef]);
439
+ (0, _react.useEffect)(() => {
440
+ if (!searchValue && isSearchInputFocused) {
441
+ setSearchValue(selectedLabel);
442
+ setTimeout(() => searchInputRef.current.select(), 1);
443
+ }
444
+ if (!isSearchInputFocused && !isOpen) {
445
+ setSearchValue(null);
446
+ }
447
+ }, [isSearchInputFocused]);
448
+ (0, _react.useEffect)(() => {
449
+ if (isOpen && !isSearchInputFocused && searchInputRef?.current && !isMobile) searchInputRef?.current?.focus();
450
+ if (isOpen) {
451
+ getListContainer()?.classList.add("dropdown__container--opened");
452
+ } else {
453
+ searchInputRef?.current?.blur();
454
+ getListContainer()?.classList.remove("dropdown__container--opened");
455
+ }
456
+ if (!isOpen && isMobile) {
457
+ setSearchValue(null);
458
+ }
459
+ }, [isOpen]);
460
+ (0, _react.useEffect)(() => {
461
+ if (isOpen && isMobile && dropdownListRef?.current && !searchValue) {
462
+ setIsScrollableList(dropdownListRef?.current?.scrollHeight > dropdownListRef?.current?.clientHeight);
463
+ setIsFixedMaxHeight(isScrollableList || dropdownListRef?.current?.scrollHeight > dropdownListRef?.current?.clientHeight);
464
+ }
465
+ }, [isOpen, isMobile, isScrollableList, dropdownListRef?.current, dropdownListRef?.current?.scrollHeight, dropdownListRef?.current?.clientHeight]);
466
+ (0, _react.useEffect)(() => {
467
+ const setScrollTopValue = e => {
468
+ setScrollTop(parseInt(e.target.scrollTop, 10));
377
469
  };
378
- const getListMarkUp = ()=>{
379
- var _getSortedOptions;
380
- return /*#__PURE__*/ (0, _jsxruntime.jsx)("div", {
381
- className: (0, _classnames.default)(`${RC}__container-wrapper`),
382
- ref: wrapperRef,
383
- onClick: isMobile ? onWrapperClick : ()=>{},
384
- children: /*#__PURE__*/ (0, _jsxruntime.jsxs)("div", {
385
- className: (0, _classnames.default)(`${RC}__list-wrapper`, {
386
- [`${RC}__list-wrapper--fixed-height`]: isFixedMaxHeight,
387
- [`${RC}__list-wrapper--with-bottom-shadow`]: isScrollableList && isMobile,
388
- [`${RC}__list-wrapper--with-bottom-shadow-hidden`]: scrollTop === scrollHeight
389
- }),
390
- ref: dropdownListWrapperRef,
391
- children: [
392
- isMobile && /*#__PURE__*/ (0, _jsxruntime.jsxs)("div", {
393
- className: (0, _classnames.default)(`${RC}__list-header`, {
394
- [`${RC}__list-header-with-shadow`]: isScrollableList && isMobile,
395
- [`${RC}__list-header-with-shadow-hidden`]: scrollTop === 0
396
- }),
397
- children: [
398
- /*#__PURE__*/ (0, _jsxruntime.jsxs)("div", {
399
- className: (0, _classnames.default)(`${RC}__list-header-row`),
400
- children: [
401
- /*#__PURE__*/ (0, _jsxruntime.jsx)("div", {
402
- className: (0, _classnames.default)(`${RC}__list-label`),
403
- children: label
404
- }),
405
- /*#__PURE__*/ (0, _jsxruntime.jsx)("div", {
406
- className: (0, _classnames.default)(`${RC}__list-close-icon`),
407
- onClick: ()=>setIsOpen(false),
408
- children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_reactfeather.X, {
409
- onClick: ()=>setIsOpen(false)
410
- })
411
- })
412
- ]
413
- }),
414
- isSearchable && /*#__PURE__*/ (0, _jsxruntime.jsx)("div", {
415
- className: (0, _classnames.default)(`${RC}__list-header-row`),
416
- children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_Input.default, {
417
- ref: searchInputRef,
418
- className: `${RC}__input`,
419
- value: searchValue !== null && searchValue !== void 0 ? searchValue : selectedLabel,
420
- onChange: (v)=>onSearchHandler(v),
421
- placeholder: placeholder || "Search",
422
- withDelete: true,
423
- onFocus: ()=>setIsSearchInputFocused(true),
424
- onBlur: ()=>setIsSearchInputFocused(false),
425
- onMouseDown: ()=>{
426
- if (!isOpen) {
427
- setIsSearchInputFocused(true);
428
- }
429
- },
430
- ...attributesOfNativeInput
431
- })
432
- })
433
- ]
434
- }),
435
- /*#__PURE__*/ (0, _jsxruntime.jsxs)("div", {
436
- className: (0, _classnames.default)(`${RC}__list`, {
437
- [`${RC}__list-top`]: isListTop
438
- }),
439
- ref: dropdownListRef,
440
- children: [
441
- (_getSortedOptions = getSortedOptions(depend.options)) === null || _getSortedOptions === void 0 ? void 0 : _getSortedOptions.map((option)=>{
442
- var _option_items, _option_label;
443
- if (option === null || option === void 0 ? void 0 : (_option_items = option.items) === null || _option_items === void 0 ? void 0 : _option_items.length) {
444
- if (!isSearchable || !isSearchChanged) {
445
- return filteredOptionList(option);
446
- } else {
447
- var _option_items1;
448
- const items = (_option_items1 = option.items) === null || _option_items1 === void 0 ? void 0 : _option_items1.slice().filter((el)=>{
449
- var _el_label;
450
- return (el === null || el === void 0 ? void 0 : (_el_label = el.label) === null || _el_label === void 0 ? void 0 : _el_label.toLowerCase().includes((searchValue === null || searchValue === void 0 ? void 0 : searchValue.toLowerCase()) || "")) || !(el === null || el === void 0 ? void 0 : el.value) || (el === null || el === void 0 ? void 0 : el.value) === "";
451
- });
452
- if (items === null || items === void 0 ? void 0 : items.length) return filteredOptionList({
453
- ...option,
454
- items
455
- });
456
- return null;
457
- }
458
- } else if (!isSearchable || !isSearchChanged || (option === null || option === void 0 ? void 0 : (_option_label = option.label) === null || _option_label === void 0 ? void 0 : _option_label.toLowerCase().includes((searchValue === null || searchValue === void 0 ? void 0 : searchValue.toLowerCase()) || "")) || !(option === null || option === void 0 ? void 0 : option.value) || (option === null || option === void 0 ? void 0 : option.value) === "") {
459
- return getMarkupForElement(option);
460
- }
461
- }),
462
- !filteredItems.length && !filteredGroups.length && /*#__PURE__*/ (0, _jsxruntime.jsx)("div", {
463
- className: `${RC}__list-item ${RC}__list-item--no-options`,
464
- children: noOptionsText
465
- }),
466
- disabled && isOpen && /*#__PURE__*/ (0, _jsxruntime.jsx)(_DropdownLoader.default, {})
467
- ]
468
- })
469
- ]
470
- })
471
- });
470
+ if (isOpen && isMobile && dropdownListRef?.current) {
471
+ dropdownListRef?.current?.addEventListener("scroll", setScrollTopValue);
472
+ }
473
+ return () => {
474
+ dropdownListRef?.current?.removeEventListener("scroll", setScrollTopValue);
472
475
  };
473
- const toggleList = (e)=>{
474
- e === null || e === void 0 ? void 0 : e.stopPropagation();
475
- setIsOpen((isOpen)=>{
476
- return !isOpen;
477
- });
476
+ }, [isOpen, isMobile, dropdownListRef?.current]);
477
+ (0, _react.useEffect)(() => {
478
+ if (dropdownListRef?.current) {
479
+ setScrollHeight(parseInt(dropdownListRef?.current?.scrollHeight - dropdownListRef?.current?.clientHeight, 10));
480
+ }
481
+ }, [scrollTop, dropdownListRef?.current]);
482
+ (0, _react.useEffect)(() => {
483
+ return () => {
484
+ getListContainer()?.remove();
485
+ getListContainerWrapper()?.remove();
478
486
  };
479
- const closeList = isOpen ? handleClickOutside : ()=>{};
480
- (0, _react.useEffect)(()=>{
481
- if (!isDoNotPullOutListOfMainContainer || dropdownRef.current) {
482
- initListContainer();
483
- if (isDefaultOpened && !isMobileProp) setIsOpen(true);
484
- }
485
- }, [
486
- isDoNotPullOutListOfMainContainer,
487
- dropdownRef.current
488
- ]);
489
- (0, _react.useLayoutEffect)(()=>{
490
- var _getListContainer;
491
- if (!isMobile) {
492
- window.addEventListener("resize", setListContainerStyles);
493
- window.addEventListener("mousewheel", closeList);
494
- window.addEventListener("scroll", closeList);
495
- window.addEventListener("touchmove", closeList);
496
- } else {
497
- window.removeEventListener("resize", setListContainerStyles);
498
- window.removeEventListener("mousewheel", closeList);
499
- window.removeEventListener("scroll", closeList);
500
- window.removeEventListener("touchmove", closeList);
501
- }
502
- (_getListContainer = getListContainer()) === null || _getListContainer === void 0 ? void 0 : _getListContainer.addEventListener("click", closeList);
503
- return ()=>{
504
- var _getListContainer;
505
- window.removeEventListener("resize", setListContainerStyles);
506
- window.removeEventListener("mousewheel", closeList);
507
- window.removeEventListener("scroll", closeList);
508
- window.removeEventListener("touchmove", closeList);
509
- (_getListContainer = getListContainer()) === null || _getListContainer === void 0 ? void 0 : _getListContainer.removeEventListener("click", closeList);
510
- };
511
- }, [
512
- getListContainer
513
- ]);
514
- (0, _react.useLayoutEffect)(()=>{
515
- setListContainerStyles();
516
- }, [
517
- isOpen,
518
- searchValue,
519
- isMobile,
520
- options,
521
- dropdownListWrapperRef === null || dropdownListWrapperRef === void 0 ? void 0 : (_dropdownListWrapperRef_current = dropdownListWrapperRef.current) === null || _dropdownListWrapperRef_current === void 0 ? void 0 : (_dropdownListWrapperRef_current_getBoundingClientRect = _dropdownListWrapperRef_current.getBoundingClientRect()) === null || _dropdownListWrapperRef_current_getBoundingClientRect === void 0 ? void 0 : _dropdownListWrapperRef_current_getBoundingClientRect.height
522
- ]);
523
- (0, _react.useEffect)(()=>{
524
- document.addEventListener("click", handleClickOutside, true);
525
- return ()=>document.removeEventListener("click", handleClickOutside, true);
526
- }, []);
527
- (0, _react.useEffect)(()=>{
528
- if (!isOpen) {
529
- setIsSearchChanged(false);
530
- }
531
- if (scrollReactionObj && typeof scrollReactionObj === "object" && isOpen && dropdownListRef && dropdownListRef.current) {
532
- dropdownListRef.current.addEventListener("scroll", doScrollCallback);
533
- }
534
- return ()=>{
535
- if (scrollReactionObj && typeof scrollReactionObj === "object") removeEventListener("scroll", doScrollCallback);
536
- };
537
- }, [
538
- isOpen,
539
- dropdownListRef
540
- ]);
541
- (0, _react.useEffect)(()=>{
542
- if (!searchValue && isSearchInputFocused) {
543
- setSearchValue(selectedLabel);
544
- setTimeout(()=>searchInputRef.current.select(), 1);
545
- }
546
- if (!isSearchInputFocused && !isOpen) {
547
- setSearchValue(null);
548
- }
549
- }, [
550
- isSearchInputFocused
551
- ]);
552
- (0, _react.useEffect)(()=>{
553
- var _searchInputRef_current;
554
- if (isOpen && !isSearchInputFocused && (searchInputRef === null || searchInputRef === void 0 ? void 0 : searchInputRef.current) && !isMobile) searchInputRef === null || searchInputRef === void 0 ? void 0 : (_searchInputRef_current = searchInputRef.current) === null || _searchInputRef_current === void 0 ? void 0 : _searchInputRef_current.focus();
555
- if (isOpen) {
556
- var _getListContainer;
557
- (_getListContainer = getListContainer()) === null || _getListContainer === void 0 ? void 0 : _getListContainer.classList.add("dropdown__container--opened");
558
- } else {
559
- var _searchInputRef_current1, _getListContainer1;
560
- searchInputRef === null || searchInputRef === void 0 ? void 0 : (_searchInputRef_current1 = searchInputRef.current) === null || _searchInputRef_current1 === void 0 ? void 0 : _searchInputRef_current1.blur();
561
- (_getListContainer1 = getListContainer()) === null || _getListContainer1 === void 0 ? void 0 : _getListContainer1.classList.remove("dropdown__container--opened");
562
- }
563
- if (!isOpen && isMobile) {
564
- setSearchValue(null);
565
- }
566
- }, [
567
- isOpen
568
- ]);
569
- (0, _react.useEffect)(()=>{
570
- if (isOpen && isMobile && (dropdownListRef === null || dropdownListRef === void 0 ? void 0 : dropdownListRef.current) && !searchValue) {
571
- var _dropdownListRef_current, _dropdownListRef_current1, _dropdownListRef_current2, _dropdownListRef_current3;
572
- setIsScrollableList((dropdownListRef === null || dropdownListRef === void 0 ? void 0 : (_dropdownListRef_current = dropdownListRef.current) === null || _dropdownListRef_current === void 0 ? void 0 : _dropdownListRef_current.scrollHeight) > (dropdownListRef === null || dropdownListRef === void 0 ? void 0 : (_dropdownListRef_current1 = dropdownListRef.current) === null || _dropdownListRef_current1 === void 0 ? void 0 : _dropdownListRef_current1.clientHeight));
573
- setIsFixedMaxHeight(isScrollableList || (dropdownListRef === null || dropdownListRef === void 0 ? void 0 : (_dropdownListRef_current2 = dropdownListRef.current) === null || _dropdownListRef_current2 === void 0 ? void 0 : _dropdownListRef_current2.scrollHeight) > (dropdownListRef === null || dropdownListRef === void 0 ? void 0 : (_dropdownListRef_current3 = dropdownListRef.current) === null || _dropdownListRef_current3 === void 0 ? void 0 : _dropdownListRef_current3.clientHeight));
574
- }
575
- }, [
576
- isOpen,
577
- isMobile,
578
- isScrollableList,
579
- dropdownListRef === null || dropdownListRef === void 0 ? void 0 : dropdownListRef.current,
580
- dropdownListRef === null || dropdownListRef === void 0 ? void 0 : (_dropdownListRef_current = dropdownListRef.current) === null || _dropdownListRef_current === void 0 ? void 0 : _dropdownListRef_current.scrollHeight,
581
- dropdownListRef === null || dropdownListRef === void 0 ? void 0 : (_dropdownListRef_current1 = dropdownListRef.current) === null || _dropdownListRef_current1 === void 0 ? void 0 : _dropdownListRef_current1.clientHeight
582
- ]);
583
- (0, _react.useEffect)(()=>{
584
- const setScrollTopValue = (e)=>{
585
- setScrollTop(parseInt(e.target.scrollTop, 10));
586
- };
587
- if (isOpen && isMobile && (dropdownListRef === null || dropdownListRef === void 0 ? void 0 : dropdownListRef.current)) {
588
- var _dropdownListRef_current;
589
- dropdownListRef === null || dropdownListRef === void 0 ? void 0 : (_dropdownListRef_current = dropdownListRef.current) === null || _dropdownListRef_current === void 0 ? void 0 : _dropdownListRef_current.addEventListener("scroll", setScrollTopValue);
590
- }
591
- return ()=>{
592
- var _dropdownListRef_current;
593
- dropdownListRef === null || dropdownListRef === void 0 ? void 0 : (_dropdownListRef_current = dropdownListRef.current) === null || _dropdownListRef_current === void 0 ? void 0 : _dropdownListRef_current.removeEventListener("scroll", setScrollTopValue);
594
- };
595
- }, [
596
- isOpen,
597
- isMobile,
598
- dropdownListRef === null || dropdownListRef === void 0 ? void 0 : dropdownListRef.current
599
- ]);
600
- (0, _react.useEffect)(()=>{
601
- if (dropdownListRef === null || dropdownListRef === void 0 ? void 0 : dropdownListRef.current) {
602
- var _dropdownListRef_current, _dropdownListRef_current1;
603
- setScrollHeight(parseInt((dropdownListRef === null || dropdownListRef === void 0 ? void 0 : (_dropdownListRef_current = dropdownListRef.current) === null || _dropdownListRef_current === void 0 ? void 0 : _dropdownListRef_current.scrollHeight) - (dropdownListRef === null || dropdownListRef === void 0 ? void 0 : (_dropdownListRef_current1 = dropdownListRef.current) === null || _dropdownListRef_current1 === void 0 ? void 0 : _dropdownListRef_current1.clientHeight), 10));
604
- }
605
- }, [
606
- scrollTop,
607
- dropdownListRef === null || dropdownListRef === void 0 ? void 0 : dropdownListRef.current
608
- ]);
609
- (0, _react.useEffect)(()=>{
610
- return ()=>{
611
- var _getListContainer, _getListContainerWrapper;
612
- (_getListContainer = getListContainer()) === null || _getListContainer === void 0 ? void 0 : _getListContainer.remove();
613
- (_getListContainerWrapper = getListContainerWrapper()) === null || _getListContainerWrapper === void 0 ? void 0 : _getListContainerWrapper.remove();
614
- };
615
- }, []);
616
- const postfixText = selectedLabel && ((_filteredOptions_find = filteredOptions.find((option)=>option.value === value)) === null || _filteredOptions_find === void 0 ? void 0 : _filteredOptions_find.postfix) || null;
617
- return /*#__PURE__*/ (0, _jsxruntime.jsxs)("div", {
618
- className: (0, _classnames.default)(RC, className, {
619
- disabled,
620
- [`${RC}-mobile`]: isMobile,
621
- [`${RC}--focused`]: isOpen && !isMobile,
622
- [`${RC}--with-custom-trigger`]: Boolean(customTrigger)
623
- }),
624
- ref: dropdownRef,
625
- onKeyDown: onKeyDown,
626
- onKeyUp: onKeyUp,
627
- children: [
628
- /*#__PURE__*/ (0, _jsxruntime.jsx)("button", {
629
- "data-testid": testId,
630
- className: (0, _classnames.default)(`${RC}__trigger`, "input__wrap", {
631
- [`${RC}__trigger--with-actions`]: withActions,
632
- placeholder: !value,
633
- error: error
634
- }),
635
- onClick: ()=>setIsOpen(true),
636
- onKeyDown: onKeyDown,
637
- onKeyUp: onKeyUp,
638
- tabIndex: tabIndex === null || tabIndex === void 0 ? void 0 : (_tabIndex_toString = tabIndex.toString) === null || _tabIndex_toString === void 0 ? void 0 : _tabIndex_toString.call(tabIndex),
639
- children: customTrigger || /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, {
640
- children: [
641
- isSearchable && !isMobile ? /*#__PURE__*/ (0, _jsxruntime.jsx)("input", {
642
- ref: searchInputRef,
643
- className: `${RC}__input`,
644
- value: isOpen ? searchValue !== null && searchValue !== void 0 ? searchValue : "" : selectedLabel || "",
645
- onChange: (e)=>onSearchHandler(e.target.value),
646
- placeholder: placeholder,
647
- onFocus: ()=>setIsSearchInputFocused(true),
648
- onBlur: ()=>setIsSearchInputFocused(false),
649
- onMouseDown: ()=>{
650
- if (!isOpen) {
651
- setIsSearchInputFocused(true);
652
- }
653
- },
654
- ...attributesOfNativeInput,
655
- tabIndex: -1
656
- }) : /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, {
657
- children: [
658
- /*#__PURE__*/ (0, _jsxruntime.jsx)("span", {
659
- className: "text",
660
- children: selectedLabel || placeholder
661
- }),
662
- postfixText && /*#__PURE__*/ (0, _jsxruntime.jsx)("span", {
663
- className: "dropdown__list-item-postfix",
664
- children: postfixText
665
- })
666
- ]
667
- }),
668
- /*#__PURE__*/ (0, _jsxruntime.jsx)("span", {
669
- className: (0, _classnames.default)(`${RC}__arrow`, {
670
- [`${RC}__arrow_active`]: isOpen
671
- }),
672
- onClick: toggleList,
673
- children: isMobile ? /*#__PURE__*/ (0, _jsxruntime.jsx)(_reactfeather.Code, {
674
- className: "mobile-icon"
675
- }) : isOpen ? /*#__PURE__*/ (0, _jsxruntime.jsx)(_reactfeather.ChevronUp, {}) : /*#__PURE__*/ (0, _jsxruntime.jsx)(_reactfeather.ChevronDown, {})
676
- })
677
- ]
678
- })
679
- }),
680
- withActions && /*#__PURE__*/ (0, _jsxruntime.jsxs)("div", {
681
- className: (0, _classnames.default)(`${RC}__actions`),
682
- children: [
683
- /*#__PURE__*/ (0, _jsxruntime.jsx)("div", {
684
- className: (0, _classnames.default)(`${RC}__actions-item`),
685
- onClick: onActionConfirmClick,
686
- children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_reactfeather.Check, {})
687
- }),
688
- /*#__PURE__*/ (0, _jsxruntime.jsx)("div", {
689
- className: (0, _classnames.default)(`${RC}__actions-item`),
690
- onClick: onActionCancelClick,
691
- children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_reactfeather.X, {})
692
- })
693
- ]
694
- }),
695
- isOpen && renderListContainer()
696
- ]
697
- });
487
+ }, []);
488
+ const postfixText = selectedLabel && filteredOptions.find(option => option.value === value)?.postfix || null;
489
+ return /*#__PURE__*/_react.default.createElement("div", {
490
+ className: (0, _classnames.default)(RC, className, {
491
+ disabled,
492
+ [`${RC}-mobile`]: isMobile,
493
+ [`${RC}--focused`]: isOpen && !isMobile,
494
+ [`${RC}--with-custom-trigger`]: Boolean(customTrigger)
495
+ }),
496
+ ref: dropdownRef,
497
+ onKeyDown: onKeyDown,
498
+ onKeyUp: onKeyUp
499
+ }, /*#__PURE__*/_react.default.createElement("button", {
500
+ "data-testid": testId,
501
+ className: (0, _classnames.default)(`${RC}__trigger`, "input__wrap", {
502
+ [`${RC}__trigger--with-actions`]: withActions,
503
+ placeholder: !value,
504
+ error: error
505
+ }),
506
+ onClick: () => setIsOpen(true),
507
+ onKeyDown: onKeyDown,
508
+ onKeyUp: onKeyUp,
509
+ tabIndex: tabIndex?.toString?.()
510
+ }, customTrigger || /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, isSearchable && !isMobile ? /*#__PURE__*/_react.default.createElement("input", (0, _extends2.default)({
511
+ ref: searchInputRef,
512
+ className: `${RC}__input`,
513
+ value: isOpen ? searchValue ?? "" : selectedLabel || "",
514
+ onChange: e => onSearchHandler(e.target.value),
515
+ placeholder: placeholder,
516
+ onFocus: () => setIsSearchInputFocused(true),
517
+ onBlur: () => setIsSearchInputFocused(false),
518
+ onMouseDown: () => {
519
+ if (!isOpen) {
520
+ setIsSearchInputFocused(true);
521
+ }
522
+ }
523
+ }, attributesOfNativeInput, {
524
+ tabIndex: -1
525
+ })) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("span", {
526
+ className: "text"
527
+ }, selectedLabel || placeholder), postfixText && /*#__PURE__*/_react.default.createElement("span", {
528
+ className: "dropdown__list-item-postfix"
529
+ }, postfixText)), /*#__PURE__*/_react.default.createElement("span", {
530
+ className: (0, _classnames.default)(`${RC}__arrow`, {
531
+ [`${RC}__arrow_active`]: isOpen
532
+ }),
533
+ onClick: toggleList
534
+ }, isMobile ? /*#__PURE__*/_react.default.createElement(_reactFeather.Code, {
535
+ className: "mobile-icon"
536
+ }) : isOpen ? /*#__PURE__*/_react.default.createElement(_reactFeather.ChevronUp, null) : /*#__PURE__*/_react.default.createElement(_reactFeather.ChevronDown, null)))), withActions && /*#__PURE__*/_react.default.createElement("div", {
537
+ className: (0, _classnames.default)(`${RC}__actions`)
538
+ }, /*#__PURE__*/_react.default.createElement("div", {
539
+ className: (0, _classnames.default)(`${RC}__actions-item`),
540
+ onClick: onActionConfirmClick
541
+ }, /*#__PURE__*/_react.default.createElement(_reactFeather.Check, null)), /*#__PURE__*/_react.default.createElement("div", {
542
+ className: (0, _classnames.default)(`${RC}__actions-item`),
543
+ onClick: onActionCancelClick
544
+ }, /*#__PURE__*/_react.default.createElement(_reactFeather.X, null))), isOpen && renderListContainer());
698
545
  };
699
- const _default = Dropdown;
546
+ var _default = exports.default = Dropdown;