intelicoreact 1.4.66 → 1.4.68

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 (267) hide show
  1. package/dist/Atomic/FormElements/ActionAlert/ActionAlert.js +9 -1
  2. package/dist/Atomic/FormElements/AdvancedStatus/AdvancedStatus.js +10 -1
  3. package/dist/Atomic/FormElements/Calendar/Calendar.js +24 -4
  4. package/dist/Atomic/FormElements/CheckboxInput/CheckboxInput.js +10 -1
  5. package/dist/Atomic/FormElements/CheckboxesLine/CheckboxesLine.js +14 -2
  6. package/dist/Atomic/FormElements/Datepicker/Datepicker.js +54 -5
  7. package/dist/Atomic/FormElements/Datepicker/components/Calendar.js +21 -3
  8. package/dist/Atomic/FormElements/Dropdown/Dropdown.js +145 -52
  9. package/dist/Atomic/FormElements/Dropdown/components/DropdownLoader.js +7 -1
  10. package/dist/Atomic/FormElements/DropdownLiveSearch/DropdownLiveSearch.js +91 -25
  11. package/dist/Atomic/FormElements/FileLoader/FileLoader.js +15 -3
  12. package/dist/Atomic/FormElements/FileLoader/partial/LoadZone.js +29 -15
  13. package/dist/Atomic/FormElements/FileLoader/partial/LoadedContent.js +15 -5
  14. package/dist/Atomic/FormElements/FileLoaderDescription/FileLoaderDescription.js +20 -4
  15. package/dist/Atomic/FormElements/FileLoaderLocal/FileLoaderLocal.js +26 -6
  16. package/dist/Atomic/FormElements/FileLoaderLocalGroup/FileLoaderLocalGroup.js +35 -19
  17. package/dist/Atomic/FormElements/FormattedRawSSN/FormattedRawSSN.js +38 -9
  18. package/dist/Atomic/FormElements/Input/Input.js +60 -25
  19. package/dist/Atomic/FormElements/InputCalendar/InputCalendar.js +31 -4
  20. package/dist/Atomic/FormElements/InputColor/InputColor.js +14 -4
  21. package/dist/Atomic/FormElements/InputCurrency/InputCurrency.js +29 -6
  22. package/dist/Atomic/FormElements/InputDateRange/InputDateRange.js +43 -8
  23. package/dist/Atomic/FormElements/InputDateRange/components/DateInput.js +21 -3
  24. package/dist/Atomic/FormElements/InputDateRange/components/Datepicker.js +81 -58
  25. package/dist/Atomic/FormElements/InputDateRange/components/OpenedPart.js +41 -6
  26. package/dist/Atomic/FormElements/InputDateRange/components/SelectItem.js +8 -1
  27. package/dist/Atomic/FormElements/InputDateRange/dependencies.js +46 -16
  28. package/dist/Atomic/FormElements/InputLink/InputLink.js +23 -6
  29. package/dist/Atomic/FormElements/InputMask/InputCarretPosition.js +4 -0
  30. package/dist/Atomic/FormElements/InputMask/InputMask.js +208 -77
  31. package/dist/Atomic/FormElements/InputMask/functions.js +28 -2
  32. package/dist/Atomic/FormElements/InputMask2/InputMask2.js +119 -43
  33. package/dist/Atomic/FormElements/InputMask2/functions.js +28 -2
  34. package/dist/Atomic/FormElements/InputMask3/InputMask3.js +137 -44
  35. package/dist/Atomic/FormElements/InputMask3/functions.js +28 -2
  36. package/dist/Atomic/FormElements/InputWithAction/InputWithAction.js +17 -3
  37. package/dist/Atomic/FormElements/InputsRow/InputsRow.js +24 -5
  38. package/dist/Atomic/FormElements/Label/Label.js +9 -1
  39. package/dist/Atomic/FormElements/MobileCalendar/MobileCalendar.js +73 -35
  40. package/dist/Atomic/FormElements/MultiSelect/MultiSelect.js +15 -3
  41. package/dist/Atomic/FormElements/NumericInput/NumericInput.js +44 -23
  42. package/dist/Atomic/FormElements/RadioGroup/RadioGroup.js +17 -7
  43. package/dist/Atomic/FormElements/RadioGroupWithInput/RadioGroupWithInput.js +14 -3
  44. package/dist/Atomic/FormElements/RadioInput/RadioInput.js +10 -1
  45. package/dist/Atomic/FormElements/RadioRowSwitcher/RadioRowSwitcher.js +14 -3
  46. package/dist/Atomic/FormElements/RangeCalendar/RangeCalendar.js +23 -3
  47. package/dist/Atomic/FormElements/RangeInputs/RangeInputs.js +34 -17
  48. package/dist/Atomic/FormElements/RangeList/RangeList.js +25 -6
  49. package/dist/Atomic/FormElements/RangeList/partial/RangeListRow.js +11 -1
  50. package/dist/Atomic/FormElements/RangeSlider/RangeSlider.js +85 -14
  51. package/dist/Atomic/FormElements/RangeSlider2/RangeSlider2.js +132 -43
  52. package/dist/Atomic/FormElements/SwitchableRow/SwitchableRow.js +10 -1
  53. package/dist/Atomic/FormElements/Switcher/Switcher.js +10 -1
  54. package/dist/Atomic/FormElements/SwitcherCheckbox/SwitcherCheckbox.js +13 -1
  55. package/dist/Atomic/FormElements/SwitcherHide/SwitcherHide.js +10 -1
  56. package/dist/Atomic/FormElements/SwitcherRadio/SwitcherRadio.js +17 -2
  57. package/dist/Atomic/FormElements/SwitcherRange/SwitcherRange.js +17 -3
  58. package/dist/Atomic/FormElements/SwitcherRangeList/SwitcherRangeList.js +11 -1
  59. package/dist/Atomic/FormElements/SwitcherTagsDropdown/SwitcherTagsDropdown.js +29 -6
  60. package/dist/Atomic/FormElements/SwitcherTagsDropdown/partial/States.js +3 -2
  61. package/dist/Atomic/FormElements/SwitcherTextarea/SwitcherTextarea.js +12 -1
  62. package/dist/Atomic/FormElements/TagListToDropdown/TagListToDropdown.js +23 -6
  63. package/dist/Atomic/FormElements/TagsDropdown/TagsDropdown.js +246 -111
  64. package/dist/Atomic/FormElements/Text/Text.js +16 -10
  65. package/dist/Atomic/FormElements/TextSwitcher/TextSwitcher.js +9 -1
  66. package/dist/Atomic/FormElements/Textarea/Textarea.js +16 -5
  67. package/dist/Atomic/FormElements/TieredCheckboxes/TieredCheckboxes.js +35 -6
  68. package/dist/Atomic/FormElements/TieredCheckboxes/partial/AccordionWithCheckbox.js +13 -4
  69. package/dist/Atomic/FormElements/TimeRange/TimeRange.js +21 -7
  70. package/dist/Atomic/FormElements/UserContacts/UserContacts.js +35 -8
  71. package/dist/Atomic/FormElements/UserContacts/partial/defaultIcons.js +91 -0
  72. package/dist/Atomic/FormElements/VariantsListRadio/VariantsListRadio.js +18 -5
  73. package/dist/Atomic/FormElements/VariantsListRadio/partials/VariantsListRadioItem.js +10 -3
  74. package/dist/Atomic/FormElements/WidgetPseudoTable/WidgetPseudoTable.js +11 -3
  75. package/dist/Atomic/FormElements/WidgetPseudoTable/partial/constructor.js +2 -1
  76. package/dist/Atomic/FormElements/WidgetWithSwitchableRows/WidgetWithSwitchableRows.js +12 -5
  77. package/dist/Atomic/FormElements/WidgetWithSwitchableRows/partial/constructor.js +3 -3
  78. package/dist/Atomic/Layout/Header/Header.js +15 -3
  79. package/dist/Atomic/Layout/MainMenu/MainMenu.js +20 -3
  80. package/dist/Atomic/Layout/Spinner/Spinner.js +8 -1
  81. package/dist/Atomic/UI/Accordion/Accordion.js +19 -3
  82. package/dist/Atomic/UI/Accordion/AccordionItem.js +23 -9
  83. package/dist/Atomic/UI/AccordionTable/AccordionTable.js +32 -7
  84. package/dist/Atomic/UI/AccordionText/AccordionText.js +15 -3
  85. package/dist/Atomic/UI/AdvancedTag/AdvTag.js +21 -4
  86. package/dist/Atomic/UI/AdvancedTag/AdvancedTags.js +15 -3
  87. package/dist/Atomic/UI/Alert/Alert.js +19 -3
  88. package/dist/Atomic/UI/Arrow/Arrow.js +16 -3
  89. package/dist/Atomic/UI/Box/Box.js +9 -3
  90. package/dist/Atomic/UI/Button/Button.js +11 -2
  91. package/dist/Atomic/UI/ButtonsBar/ButtonsBar.js +10 -1
  92. package/dist/Atomic/UI/Chart/Chart.js +29 -4
  93. package/dist/Atomic/UI/Chart/partial/Chart.constants.js +19 -11
  94. package/dist/Atomic/UI/Chart/partial/ChartTypeSwitcherIcon/ChartTypeSwitcherIcon.js +12 -1
  95. package/dist/Atomic/UI/Chart/partial/datasetSetters.js +34 -11
  96. package/dist/Atomic/UI/Chart/partial/optionsConstructor.js +56 -82
  97. package/dist/Atomic/UI/Chart/partial/optionsSetters.js +19 -15
  98. package/dist/Atomic/UI/Chart/partial/utils.js +20 -6
  99. package/dist/Atomic/UI/CircleProgressBar/CircleProgressBar.js +13 -3
  100. package/dist/Atomic/UI/DateTime/DateTime.js +14 -3
  101. package/dist/Atomic/UI/DebugContainer/DebugContainer.js +16 -4
  102. package/dist/Atomic/UI/DebugContainer/useDebugContainer.js +11 -3
  103. package/dist/Atomic/UI/DoubleString/DoubleString.js +17 -5
  104. package/dist/Atomic/UI/DynamicIcon/DynamicIcon.js +10 -3
  105. package/dist/Atomic/UI/ExampleChartIntegration/ExampleChartIntegration.js +52 -17
  106. package/dist/Atomic/UI/ExampleChartIntegration/partial/utils.js +29 -1
  107. package/dist/Atomic/UI/Hint/Hint.js +39 -13
  108. package/dist/Atomic/UI/Hint/{partial → partials}/_utils.js +19 -4
  109. package/dist/Atomic/UI/Modal/Modal.js +28 -6
  110. package/dist/Atomic/UI/Modal/ModalHOC.js +9 -1
  111. package/dist/Atomic/UI/Modal/partials/ModalFooter.js +7 -1
  112. package/dist/Atomic/UI/Modal/partials/ModalTitle.js +8 -1
  113. package/dist/Atomic/UI/Modal/partials/useMobileModal.js +49 -32
  114. package/dist/Atomic/UI/ModalBackup/Modal.js +174 -0
  115. package/dist/Atomic/UI/ModalBackup/Modal.scss +333 -0
  116. package/dist/Atomic/UI/ModalBackup/ModalHOC.js +51 -0
  117. package/dist/Atomic/UI/ModalBackup/partials/ModalFooter.js +24 -0
  118. package/dist/Atomic/UI/ModalBackup/partials/ModalTitle.js +41 -0
  119. package/dist/Atomic/UI/MonoAccordion/MonoAccordion.js +21 -6
  120. package/dist/Atomic/UI/NavLine/NavLine.js +55 -26
  121. package/dist/Atomic/UI/NavLine/Tabs.js +3 -2
  122. package/dist/Atomic/UI/PageTitle/PageTitle.js +10 -2
  123. package/dist/Atomic/UI/PieChart/PieChart.js +10 -1
  124. package/dist/Atomic/UI/Price/Price.js +8 -3
  125. package/dist/Atomic/UI/PriceRange/PriceRange.js +7 -1
  126. package/dist/Atomic/UI/ProgressLine/ProgressLine.js +16 -1
  127. package/dist/Atomic/UI/Status/Status.js +8 -1
  128. package/dist/Atomic/UI/Table/Partials/TdCell.js +29 -5
  129. package/dist/Atomic/UI/Table/Partials/TdHeader.js +11 -1
  130. package/dist/Atomic/UI/Table/Partials/TdRow.js +17 -5
  131. package/dist/Atomic/UI/Table/Partials/TdTitle.js +14 -3
  132. package/dist/Atomic/UI/Table/Table.js +12 -1
  133. package/dist/Atomic/UI/Table/TdTypes/TdActions.js +18 -2
  134. package/dist/Atomic/UI/Table/TdTypes/TdPriority.js +9 -1
  135. package/dist/Atomic/UI/Table/TdTypes/TdRange.js +4 -1
  136. package/dist/Atomic/UI/Table/TdTypes/TdWeight.js +13 -1
  137. package/dist/Atomic/UI/Tag/Tag.js +26 -11
  138. package/dist/Atomic/UI/TagList/TagList.js +41 -18
  139. package/dist/Atomic/UI/UserBox/UserBox.js +13 -1
  140. package/dist/Atomic/UI/WizardStepper/constructor.js +11 -3
  141. package/dist/Atomic/UI/WizardStepper/index.js +5 -1
  142. package/dist/Atomic/UI/WizardStepper/ui/StateIcon/StateIcon.js +10 -0
  143. package/dist/Atomic/UI/WizardStepper/ui/StateIcon/index.js +4 -1
  144. package/dist/Atomic/UI/WizardStepper/ui/StepRow/StepRow.js +17 -2
  145. package/dist/Atomic/UI/WizardStepper/ui/StepRow/index.js +5 -1
  146. package/dist/Atomic/UI/WizardStepper/ui/StepWrapper/StepWrapper.js +15 -1
  147. package/dist/Atomic/UI/WizardStepper/ui/StepWrapper/index.js +5 -1
  148. package/dist/Atomic/UI/WizardStepper/ui/icons.js +9 -2
  149. package/dist/Atomic/UI/WizardStepper/ui/index.js +5 -1
  150. package/dist/Classes/AbortableFetch.js +93 -36
  151. package/dist/Classes/AnimatedHandler.js +7 -3
  152. package/dist/Classes/RESTAPI/index.js +42 -39
  153. package/dist/Classes/RESTAPI/partials/AbortableFetch.js +93 -35
  154. package/dist/Classes/RESTAPI/partials/ApiBase.js +9 -1
  155. package/dist/Classes/RESTAPI/partials/ApiRequestCreators.js +32 -24
  156. package/dist/Classes/RESTAPI/partials/ApiUtils.js +41 -34
  157. package/dist/Classes/RESTAPI/partials/CredentialsProcessing.js +44 -21
  158. package/dist/Classes/RESTAPI/partials/Utils.js +19 -6
  159. package/dist/Classes/RESTAPI/partials/_outerDependencies.js +6 -2
  160. package/dist/Classes/RESTAPI/partials/_utils.js +36 -13
  161. package/dist/Constants/index.constants.js +15 -8
  162. package/dist/Functions/Portal.js +16 -5
  163. package/dist/Functions/customEventListener.js +17 -4
  164. package/dist/Functions/fieldValueFormatters.js +83 -43
  165. package/dist/Functions/hooks/useFormFieldsChangesManager.js +26 -23
  166. package/dist/Functions/locale/createTranslator.js +9 -4
  167. package/dist/Functions/operations.js +22 -12
  168. package/dist/Functions/presets/inputMaskPresets.js +11 -9
  169. package/dist/Functions/presets/inputPresets.js +11 -8
  170. package/dist/Functions/presets/mobileKeyboardTypesPresets.js +9 -7
  171. package/dist/Functions/schemas.js +13 -6
  172. package/dist/Functions/useBodyScrollLock.js +6 -1
  173. package/dist/Functions/useClickOutside.js +4 -0
  174. package/dist/Functions/useDebounce.js +7 -2
  175. package/dist/Functions/useFieldFocus.js +18 -6
  176. package/dist/Functions/useFormTools/form-drivers/ArrayWithObjects.js +9 -0
  177. package/dist/Functions/useFormTools/form-drivers/ObjectWithIterableObjects.js +23 -12
  178. package/dist/Functions/useFormTools/form-drivers/ObjectWithNamedKeyObjects.js +15 -6
  179. package/dist/Functions/useFormTools/functions/General.js +28 -18
  180. package/dist/Functions/useFormTools/functions/RenderFields.js +11 -2
  181. package/dist/Functions/useFormTools/functions/usePrevious.js +5 -1
  182. package/dist/Functions/useFormTools/index.js +144 -85
  183. package/dist/Functions/useInputHighlightError.js +12 -3
  184. package/dist/Functions/useIsMobile.js +13 -7
  185. package/dist/Functions/useKeyPress/useHandleKeyPress.js +7 -1
  186. package/dist/Functions/useKeyPress/useKeyPress.js +9 -1
  187. package/dist/Functions/useLocalStorage.js +9 -1
  188. package/dist/Functions/useLocationParams.js +5 -4
  189. package/dist/Functions/useMediaQuery.js +9 -3
  190. package/dist/Functions/useMetaInfo.js +10 -3
  191. package/dist/Functions/useMouseUpOutside.js +3 -0
  192. package/dist/Functions/useOnlineStatus.js +9 -1
  193. package/dist/Functions/usePasswordChecker.js +20 -4
  194. package/dist/Functions/usePrevious.js +5 -1
  195. package/dist/Functions/useResize.js +10 -2
  196. package/dist/Functions/useScrollTo.js +7 -2
  197. package/dist/Functions/useToggle.js +5 -1
  198. package/dist/Functions/utils.js +131 -56
  199. package/dist/Molecular/CustomIcons/components/AffiliateNetworks.js +9 -2
  200. package/dist/Molecular/CustomIcons/components/AlertCircle.js +9 -2
  201. package/dist/Molecular/CustomIcons/components/AppStore.js +9 -2
  202. package/dist/Molecular/CustomIcons/components/Arrow.js +9 -2
  203. package/dist/Molecular/CustomIcons/components/ArrowDown.js +9 -2
  204. package/dist/Molecular/CustomIcons/components/ArrowLeft.js +9 -2
  205. package/dist/Molecular/CustomIcons/components/ArrowRight.js +9 -2
  206. package/dist/Molecular/CustomIcons/components/ArrowUp.js +9 -2
  207. package/dist/Molecular/CustomIcons/components/Bell.js +9 -2
  208. package/dist/Molecular/CustomIcons/components/Button.js +9 -2
  209. package/dist/Molecular/CustomIcons/components/Campaigns.js +9 -2
  210. package/dist/Molecular/CustomIcons/components/Check.js +9 -2
  211. package/dist/Molecular/CustomIcons/components/Check2.js +9 -2
  212. package/dist/Molecular/CustomIcons/components/ChevronDown.js +9 -2
  213. package/dist/Molecular/CustomIcons/components/ChevronDownDisabled.js +9 -2
  214. package/dist/Molecular/CustomIcons/components/ChevronLeft.js +9 -2
  215. package/dist/Molecular/CustomIcons/components/ChevronRight.js +9 -2
  216. package/dist/Molecular/CustomIcons/components/ChevronUp.js +9 -2
  217. package/dist/Molecular/CustomIcons/components/ChevronUpDown.js +9 -2
  218. package/dist/Molecular/CustomIcons/components/Close.js +9 -2
  219. package/dist/Molecular/CustomIcons/components/ColumnsOrder.js +9 -2
  220. package/dist/Molecular/CustomIcons/components/Delete.js +9 -2
  221. package/dist/Molecular/CustomIcons/components/Edit.js +9 -2
  222. package/dist/Molecular/CustomIcons/components/Email.js +9 -2
  223. package/dist/Molecular/CustomIcons/components/FinturfLogo.js +9 -2
  224. package/dist/Molecular/CustomIcons/components/FinturfLogo2.js +9 -2
  225. package/dist/Molecular/CustomIcons/components/Flows.js +9 -2
  226. package/dist/Molecular/CustomIcons/components/Gift.js +9 -2
  227. package/dist/Molecular/CustomIcons/components/GoogleAuth.js +9 -2
  228. package/dist/Molecular/CustomIcons/components/GooglePlay.js +9 -2
  229. package/dist/Molecular/CustomIcons/components/HelpCircle.js +9 -2
  230. package/dist/Molecular/CustomIcons/components/HelpCircle2.js +9 -2
  231. package/dist/Molecular/CustomIcons/components/HelpCircleFilled.js +9 -2
  232. package/dist/Molecular/CustomIcons/components/Home.js +9 -2
  233. package/dist/Molecular/CustomIcons/components/Home2.js +9 -2
  234. package/dist/Molecular/CustomIcons/components/Key.js +9 -2
  235. package/dist/Molecular/CustomIcons/components/Landers.js +9 -2
  236. package/dist/Molecular/CustomIcons/components/Lock.js +9 -2
  237. package/dist/Molecular/CustomIcons/components/Mail.js +9 -2
  238. package/dist/Molecular/CustomIcons/components/Mastercard.js +9 -2
  239. package/dist/Molecular/CustomIcons/components/Minus.js +9 -2
  240. package/dist/Molecular/CustomIcons/components/Offers.js +9 -2
  241. package/dist/Molecular/CustomIcons/components/Pause.js +9 -2
  242. package/dist/Molecular/CustomIcons/components/PayPal.js +9 -2
  243. package/dist/Molecular/CustomIcons/components/PayPalLightLarge.js +9 -2
  244. package/dist/Molecular/CustomIcons/components/Phone.js +9 -2
  245. package/dist/Molecular/CustomIcons/components/Play.js +9 -2
  246. package/dist/Molecular/CustomIcons/components/Plus.js +9 -2
  247. package/dist/Molecular/CustomIcons/components/Profile.js +9 -2
  248. package/dist/Molecular/CustomIcons/components/QRCode.js +9 -2
  249. package/dist/Molecular/CustomIcons/components/Rectangle.js +9 -2
  250. package/dist/Molecular/CustomIcons/components/Revert.js +9 -2
  251. package/dist/Molecular/CustomIcons/components/Star.js +9 -2
  252. package/dist/Molecular/CustomIcons/components/Star2.js +9 -2
  253. package/dist/Molecular/CustomIcons/components/TrafficSources.js +9 -2
  254. package/dist/Molecular/CustomIcons/components/Trash.js +9 -2
  255. package/dist/Molecular/CustomIcons/components/TrashRed.js +9 -2
  256. package/dist/Molecular/CustomIcons/components/Triggers.js +9 -2
  257. package/dist/Molecular/CustomIcons/components/User.js +9 -2
  258. package/dist/Molecular/CustomIcons/components/Visa.js +9 -2
  259. package/dist/Molecular/CustomIcons/components/X.js +9 -2
  260. package/dist/Molecular/CustomIcons/index.js +122 -0
  261. package/dist/Molecular/FormElement/FormElement.js +12 -1
  262. package/dist/Molecular/FormWithDependOn/FormWithDependOn.js +31 -30
  263. package/dist/Molecular/FormWithDependOn/partials/_utils.js +12 -9
  264. package/dist/Molecular/InputAddress/InputAddress.js +114 -65
  265. package/dist/Molecular/InputPassword/InputPassword.js +19 -5
  266. package/dist/index.js +2 -0
  267. package/package.json +1 -1
@@ -1,31 +1,51 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
4
5
  Object.defineProperty(exports, "__esModule", {
5
6
  value: true
6
7
  });
7
8
  exports.default = void 0;
9
+
8
10
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
+
9
12
  var _react = _interopRequireWildcard(require("react"));
13
+
10
14
  var _classnames = _interopRequireDefault(require("classnames"));
15
+
11
16
  var _reactDom = require("react-dom");
17
+
12
18
  var _reactFeather = require("react-feather");
19
+
13
20
  var _fieldValueFormatters = require("../../../Functions/fieldValueFormatters");
21
+
14
22
  var _useDebounce = require("../../../Functions/useDebounce");
23
+
15
24
  var _useIsMobile = _interopRequireDefault(require("../../../Functions/useIsMobile"));
25
+
16
26
  var _CheckboxInput = _interopRequireDefault(require("../../FormElements/CheckboxInput/CheckboxInput"));
27
+
17
28
  var _Input = _interopRequireDefault(require("../../FormElements/Input/Input"));
29
+
18
30
  var _Button = _interopRequireDefault(require("../../UI/Button/Button"));
31
+
19
32
  var _Tag = _interopRequireDefault(require("../../UI/Tag/Tag"));
33
+
20
34
  var _TagList = _interopRequireDefault(require("../../UI/TagList/TagList"));
35
+
21
36
  require("./TagsDropdown.scss");
22
- 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); }
23
- 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 && Object.prototype.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; }
37
+
38
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
39
+
40
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
41
+
24
42
  const RC = "tags-dropdown";
25
43
  const MIN_ITEMS_FOR_SHOW_MOBILE_SEARCH = 10;
26
44
  const COLORS = ["#F1F0F0", "#E3E2E0", "#EEDFDA", "#F9DEC9", "#FDECC8", "#DBECDB", "#D3E4EF", "#E8DEEE", "#F4E0E9", "#FFE2DD", "#D3EFED", "#ECEEDE"];
45
+
27
46
  const TagsDropdown = _ref => {
28
- var _Object$keys, _dropdownListWrapperR2, _dropdownListRef$curr7, _dropdownListRef$curr8;
47
+ var _Object$keys, _dropdownListWrapperR2, _dropdownListWrapperR3, _dropdownListRef$curr8, _dropdownListRef$curr9;
48
+
29
49
  let {
30
50
  options: optionsProp,
31
51
  chosenOptions = [],
@@ -91,6 +111,7 @@ const TagsDropdown = _ref => {
91
111
  const isMobile = isMobileProp && withMobileLogic && window.screen.width <= 768;
92
112
  const [dropdownId] = (0, _react.useState)(id || fieldKey || Math.random().toString(16).slice(2));
93
113
  const [isOpen, setIsOpen] = (0, _react.useState)(false);
114
+ const [windowScrollTop, setWindowScrollTop] = (0, _react.useState)(0);
94
115
  const [listPos, setListPos] = (0, _react.useState)(null);
95
116
  const [initListHeight, setInitListHeight] = (0, _react.useState)(null);
96
117
  const [isScrollableList, setIsScrollableList] = (0, _react.useState)(null);
@@ -104,21 +125,24 @@ const TagsDropdown = _ref => {
104
125
  delay: 600
105
126
  });
106
127
  const [isValueDeleted, setIsValueDeleted] = (0, _react.useState)(false);
128
+
107
129
  const setSearchValueInterceptor = value => {
108
130
  setSearchValue(value);
109
131
  setIsValueDeleted(searchValue !== value && value === "");
110
132
  searchValueRef.current = value;
111
133
  };
134
+
112
135
  const editingOptionInputRef = (0, _react.useRef)(null);
113
136
  const [options, setOptions] = (0, _react.useState)([]);
114
137
  const [editingOption, setEditingOptionState] = (0, _react.useState)(null);
138
+
115
139
  const setEditingOption = data => {
116
- setEditingOptionState(editingOption => !data ? data : {
117
- ...(editingOption !== null && editingOption !== void 0 ? editingOption : {}),
140
+ setEditingOptionState(editingOption => !data ? data : { ...(editingOption !== null && editingOption !== void 0 ? editingOption : {}),
118
141
  ...(typeof data === "function" ? data === null || data === void 0 ? void 0 : data(editingOption) : data),
119
142
  isChanged: Boolean(editingOption)
120
143
  });
121
144
  };
145
+
122
146
  const isEditingOptionError = (0, _react.useMemo)(() => {
123
147
  if (!editingOption) return false;
124
148
  return options.filter(_ref2 => {
@@ -138,9 +162,9 @@ const TagsDropdown = _ref => {
138
162
  const getRandomIndex = (min, max) => {
139
163
  return Math.floor(Math.random() * (max - min + 1)) + min;
140
164
  };
165
+
141
166
  const randomIndex = getRandomIndex(0, COLORS.length - 1);
142
- return COLORS[randomIndex];
143
- // eslint-disable-next-line react-hooks/exhaustive-deps
167
+ return COLORS[randomIndex]; // eslint-disable-next-line react-hooks/exhaustive-deps
144
168
  }, [options.length]);
145
169
  const singleLevelOptions = options === null || options === void 0 ? void 0 : options.reduce((acc, item) => {
146
170
  const checkUniqAndPush = (acc, item) => {
@@ -150,74 +174,91 @@ const TagsDropdown = _ref => {
150
174
  } = _ref4;
151
175
  return value === (item === null || item === void 0 ? void 0 : item.value);
152
176
  });
177
+
153
178
  if (isExist !== -1) {
154
179
  acc[isExist] = item;
155
180
  } else {
156
181
  acc.push(item);
157
182
  }
158
183
  };
184
+
159
185
  if (item.groupName) {
160
186
  var _item$list;
161
- (_item$list = item.list) === null || _item$list === void 0 || _item$list.map(item => checkUniqAndPush(acc, item));
187
+
188
+ (_item$list = item.list) === null || _item$list === void 0 ? void 0 : _item$list.map(item => checkUniqAndPush(acc, item));
162
189
  } else {
163
190
  checkUniqAndPush(acc, item);
164
191
  }
192
+
165
193
  return acc;
166
194
  }, isUseLocalOptionsStore ? (_Object$keys = Object.keys(localOptionsStore)) === null || _Object$keys === void 0 ? void 0 : _Object$keys.map(value => ({
167
195
  value,
168
196
  label: localOptionsStore === null || localOptionsStore === void 0 ? void 0 : localOptionsStore[value]
169
197
  })) : []);
198
+
170
199
  const deleteChosen = value => {
171
200
  if (isMobile ? closeOnRemoveMobile : closeOnRemove) setIsOpen(false);
201
+
172
202
  if (isUseLocalOptionsStore) {
173
- setLocalOptionsStore(options => ({
174
- ...options,
203
+ setLocalOptionsStore(options => ({ ...options,
175
204
  [value]: undefined
176
205
  }));
177
206
  }
207
+
178
208
  onChange(chosenOptions.filter(item => item !== value), "chosenOptions");
179
- };
209
+ }; // --- LIST CONTAINER FUNCTIONS BEGIN --- //
210
+
180
211
 
181
- // --- LIST CONTAINER FUNCTIONS BEGIN --- //
182
212
  const getParentNode = () => {
183
213
  var _ref5, _document$querySelect;
214
+
184
215
  return (_ref5 = (_document$querySelect = document.querySelector("div#root")) !== null && _document$querySelect !== void 0 ? _document$querySelect : document.querySelector("div#app")) !== null && _ref5 !== void 0 ? _ref5 : document.querySelector("div#storybook-root");
185
216
  };
217
+
186
218
  const initListContainer = () => {
187
219
  const dropdownList = document.createElement("div");
188
220
  dropdownList.setAttribute("id", dropdownId);
189
221
  dropdownList.classList.add("tags-dropdown__container");
190
222
  listClassName && dropdownList.classList.add(listClassName);
223
+
191
224
  if (isMobile) {
192
225
  dropdownList.addEventListener("click", e => {
193
226
  if (e.target.id === dropdownId) setIsOpen(false);
194
227
  });
195
228
  }
229
+
196
230
  if (isMobile) {
197
231
  var _getParentNode;
232
+
198
233
  try {
199
234
  var _document$getElementB;
200
- (_document$getElementB = document.getElementById("mlw-".concat(dropdownId))) === null || _document$getElementB === void 0 || _document$getElementB.remove();
201
- // eslint-disable-next-line no-empty
235
+
236
+ (_document$getElementB = document.getElementById("mlw-".concat(dropdownId))) === null || _document$getElementB === void 0 ? void 0 : _document$getElementB.remove(); // eslint-disable-next-line no-empty
202
237
  } catch (e) {}
238
+
203
239
  const dropdownMobileListWrapper = document.createElement("div");
204
240
  dropdownMobileListWrapper.classList.add("tags-dropdown-mobile");
205
241
  dropdownMobileListWrapper.setAttribute("id", "mlw-".concat(dropdownId));
206
- dropdownMobileListWrapper === null || dropdownMobileListWrapper === void 0 || dropdownMobileListWrapper.append(dropdownList);
207
- (_getParentNode = getParentNode()) === null || _getParentNode === void 0 || _getParentNode.append(dropdownMobileListWrapper);
242
+ dropdownMobileListWrapper === null || dropdownMobileListWrapper === void 0 ? void 0 : dropdownMobileListWrapper.append(dropdownList);
243
+ (_getParentNode = getParentNode()) === null || _getParentNode === void 0 ? void 0 : _getParentNode.append(dropdownMobileListWrapper);
208
244
  } else {
209
245
  var _getParentNode2;
210
- (_getParentNode2 = getParentNode()) === null || _getParentNode2 === void 0 || _getParentNode2.append(dropdownList);
246
+
247
+ (_getParentNode2 = getParentNode()) === null || _getParentNode2 === void 0 ? void 0 : _getParentNode2.append(dropdownList);
211
248
  }
212
249
  };
250
+
213
251
  const getListContainer = () => {
214
252
  return document.getElementById(dropdownId);
215
253
  };
254
+
216
255
  const getListContainerWrapper = () => {
217
256
  return document.getElementById("mlw-".concat(dropdownId));
218
257
  };
258
+
219
259
  const setListContainerStyles = () => {
220
- var _dropdownRef$current$, _dropdownRef$current, _getComputedStyle$mar, _getComputedStyle, _selectorWrapper$getB, _listHeader$getBoundi, _listHeader$getBoundi2, _listFooter$getBoundi, _listFooter$getBoundi2;
260
+ var _dropdownRef$current$, _dropdownRef$current, _getComputedStyle$mar, _getComputedStyle, _getComputedStyle$mar2, _selectorWrapper$getB, _listHeader$getBoundi, _listHeader$getBoundi2, _listFooter$getBoundi, _listFooter$getBoundi2;
261
+
221
262
  const listContainer = getListContainer();
222
263
  if (!listContainer || !isOpen) return false;
223
264
  const windowHeight = window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight;
@@ -226,34 +267,41 @@ const TagsDropdown = _ref => {
226
267
  height,
227
268
  left,
228
269
  top
229
- } = (_dropdownRef$current$ = dropdownRef === null || dropdownRef === void 0 || (_dropdownRef$current = dropdownRef.current) === null || _dropdownRef$current === void 0 ? void 0 : _dropdownRef$current.getBoundingClientRect()) !== null && _dropdownRef$current$ !== void 0 ? _dropdownRef$current$ : {};
270
+ } = (_dropdownRef$current$ = dropdownRef === null || dropdownRef === void 0 ? void 0 : (_dropdownRef$current = dropdownRef.current) === null || _dropdownRef$current === void 0 ? void 0 : _dropdownRef$current.getBoundingClientRect()) !== null && _dropdownRef$current$ !== void 0 ? _dropdownRef$current$ : {};
230
271
  const selectorWrapper = dropdownListWrapperRef === null || dropdownListWrapperRef === void 0 ? void 0 : dropdownListWrapperRef.current;
231
272
  const dropdownList = listContainer.getElementsByClassName("tags-dropdown__list")[0];
232
273
  const listHeader = selectorWrapper === null || selectorWrapper === void 0 ? void 0 : selectorWrapper.getElementsByClassName("tags-dropdown__header")[0];
233
274
  const listFooter = selectorWrapper === null || selectorWrapper === void 0 ? void 0 : selectorWrapper.getElementsByClassName("tags-dropdown__footer")[0];
234
- const margin = parseInt((_getComputedStyle$mar = (_getComputedStyle = getComputedStyle(selectorWrapper)) === null || _getComputedStyle === void 0 || (_getComputedStyle = _getComputedStyle.marginTop) === null || _getComputedStyle === void 0 ? void 0 : _getComputedStyle.replace("px", "")) !== null && _getComputedStyle$mar !== void 0 ? _getComputedStyle$mar : 0, 10);
235
- let selectorWrapperHeight = selectorWrapper === null || selectorWrapper === void 0 || (_selectorWrapper$getB = selectorWrapper.getBoundingClientRect()) === null || _selectorWrapper$getB === void 0 ? void 0 : _selectorWrapper$getB.height;
236
- const maxSelectorWrapperHeight = 500 - ((_listHeader$getBoundi = listHeader === null || listHeader === void 0 || (_listHeader$getBoundi2 = listHeader.getBoundingClientRect()) === null || _listHeader$getBoundi2 === void 0 ? void 0 : _listHeader$getBoundi2.height) !== null && _listHeader$getBoundi !== void 0 ? _listHeader$getBoundi : 0) - ((_listFooter$getBoundi = listFooter === null || listFooter === void 0 || (_listFooter$getBoundi2 = listFooter.getBoundingClientRect()) === null || _listFooter$getBoundi2 === void 0 ? void 0 : _listFooter$getBoundi2.height) !== null && _listFooter$getBoundi !== void 0 ? _listFooter$getBoundi : 0);
275
+ const margin = parseInt((_getComputedStyle$mar = (_getComputedStyle = getComputedStyle(selectorWrapper)) === null || _getComputedStyle === void 0 ? void 0 : (_getComputedStyle$mar2 = _getComputedStyle.marginTop) === null || _getComputedStyle$mar2 === void 0 ? void 0 : _getComputedStyle$mar2.replace("px", "")) !== null && _getComputedStyle$mar !== void 0 ? _getComputedStyle$mar : 0, 10);
276
+ let selectorWrapperHeight = selectorWrapper === null || selectorWrapper === void 0 ? void 0 : (_selectorWrapper$getB = selectorWrapper.getBoundingClientRect()) === null || _selectorWrapper$getB === void 0 ? void 0 : _selectorWrapper$getB.height;
277
+ const maxSelectorWrapperHeight = 500 - ((_listHeader$getBoundi = listHeader === null || listHeader === void 0 ? void 0 : (_listHeader$getBoundi2 = listHeader.getBoundingClientRect()) === null || _listHeader$getBoundi2 === void 0 ? void 0 : _listHeader$getBoundi2.height) !== null && _listHeader$getBoundi !== void 0 ? _listHeader$getBoundi : 0) - ((_listFooter$getBoundi = listFooter === null || listFooter === void 0 ? void 0 : (_listFooter$getBoundi2 = listFooter.getBoundingClientRect()) === null || _listFooter$getBoundi2 === void 0 ? void 0 : _listFooter$getBoundi2.height) !== null && _listFooter$getBoundi !== void 0 ? _listFooter$getBoundi : 0);
278
+
237
279
  if (!isMobile || !withMobileLogic) {
238
- var _getComputedStyle2, _dropdownListMaxHeigh, _customTriggerRef$cur, _customTriggerRef$cur2;
280
+ var _getComputedStyle2, _dropdownListMaxHeigh, _customTriggerRef$cur, _customTriggerRef$cur2, _customTriggerRef$cur3;
281
+
239
282
  const dropdownListMaxHeightInPx = (_getComputedStyle2 = getComputedStyle(dropdownList)) === null || _getComputedStyle2 === void 0 ? void 0 : _getComputedStyle2.maxHeight;
240
283
  const maxHeight = initListHeight !== null && initListHeight !== void 0 ? initListHeight : parseInt((_dropdownListMaxHeigh = dropdownListMaxHeightInPx === null || dropdownListMaxHeightInPx === void 0 ? void 0 : dropdownListMaxHeightInPx.replace("px", "")) !== null && _dropdownListMaxHeigh !== void 0 ? _dropdownListMaxHeigh : 0, 10);
241
284
  if (initListHeight === null && !isNaN(maxHeight)) setInitListHeight(maxHeight);
242
285
  if (selectorWrapperHeight > maxHeight && !isNaN(maxHeight)) selectorWrapperHeight = maxHeight - 2 * margin;
243
- const toTop = renderCustomTrigger ? top - margin - ((_customTriggerRef$cur = customTriggerRef === null || customTriggerRef === void 0 || (_customTriggerRef$cur2 = customTriggerRef.current) === null || _customTriggerRef$cur2 === void 0 || (_customTriggerRef$cur2 = _customTriggerRef$cur2.getBoundingClientRect()) === null || _customTriggerRef$cur2 === void 0 ? void 0 : _customTriggerRef$cur2.height) !== null && _customTriggerRef$cur !== void 0 ? _customTriggerRef$cur : 0) : top - margin;
286
+ const toTop = renderCustomTrigger ? top - margin - ((_customTriggerRef$cur = customTriggerRef === null || customTriggerRef === void 0 ? void 0 : (_customTriggerRef$cur2 = customTriggerRef.current) === null || _customTriggerRef$cur2 === void 0 ? void 0 : (_customTriggerRef$cur3 = _customTriggerRef$cur2.getBoundingClientRect()) === null || _customTriggerRef$cur3 === void 0 ? void 0 : _customTriggerRef$cur3.height) !== null && _customTriggerRef$cur !== void 0 ? _customTriggerRef$cur : 0) : top - margin;
244
287
  const toBottom = windowHeight - top - height - margin * 2;
245
288
  let listPosition = listPos;
289
+
246
290
  if (!listPos && options.length) {
247
291
  listPosition = toTop < toBottom || toBottom >= selectorWrapperHeight ? "bottom" : "top";
248
292
  setListPos(listPosition);
249
293
  }
294
+
250
295
  if (selectorWrapperHeight > (listPosition === "top" ? toTop : toBottom)) {
251
296
  selectorWrapperHeight = (listPosition === "top" ? toTop : toBottom) - 3 * margin;
297
+
252
298
  if (selectorWrapperHeight < 200) {
253
299
  selectorWrapperHeight = 200;
254
300
  }
301
+
255
302
  selectorWrapper.style.maxHeight = "".concat(selectorWrapperHeight, "px");
256
303
  }
304
+
257
305
  listContainer.style.minWidth = "".concat(width, "px");
258
306
  listContainer.style.left = "".concat(left, "px");
259
307
  listContainer.style.top = "".concat(listPosition === "bottom" ? top + height : top - selectorWrapperHeight - 2 * margin, "px");
@@ -261,18 +309,19 @@ const TagsDropdown = _ref => {
261
309
  dropdownList.style.maxHeight = "".concat(maxSelectorWrapperHeight, "px");
262
310
  }
263
311
  };
312
+
264
313
  const renderListContainer = () => {
265
314
  const lc = getListContainer();
266
- if (!lc) return null;
315
+ if (!lc) return null; // eslint-disable-next-line no-use-before-define
267
316
 
268
- // eslint-disable-next-line no-use-before-define
269
317
  return /*#__PURE__*/(0, _reactDom.createPortal)(getListMarkUp(), lc);
270
- };
271
- // --- LIST CONTAINER FUNCTIONS END --- //
272
-
318
+ }; // --- LIST CONTAINER FUNCTIONS END --- //
273
319
  // --- CREATABLE LOGIC BEGIN --- //
320
+
321
+
274
322
  const onOptionCreateClick = () => {
275
323
  var _onOptionCreate;
324
+
276
325
  const newOption = {
277
326
  label: searchValue,
278
327
  style: {
@@ -280,11 +329,11 @@ const TagsDropdown = _ref => {
280
329
  },
281
330
  isEditable: true,
282
331
  ref: /*#__PURE__*/(0, _react.createRef)()
283
- };
332
+ }; // eslint-disable-next-line no-promise-executor-return
284
333
 
285
- // eslint-disable-next-line no-promise-executor-return
286
334
  ((_onOptionCreate = onOptionCreate === null || onOptionCreate === void 0 ? void 0 : onOptionCreate(newOption)) !== null && _onOptionCreate !== void 0 ? _onOptionCreate : new Promise(r => r())).then(result => {
287
335
  var _result$id;
336
+
288
337
  const tempId = Math.random().toString(16).slice(2);
289
338
  newOption.value = (_result$id = result === null || result === void 0 ? void 0 : result.id) !== null && _result$id !== void 0 ? _result$id : tempId;
290
339
  setOptions(state => [...state, newOption]);
@@ -292,13 +341,16 @@ const TagsDropdown = _ref => {
292
341
  onChangeHandler(newOption);
293
342
  });
294
343
  };
344
+
295
345
  const onOptionEditClick = (e, item) => {
296
- e === null || e === void 0 || e.preventDefault();
297
- e === null || e === void 0 || e.stopPropagation();
346
+ e === null || e === void 0 ? void 0 : e.preventDefault();
347
+ e === null || e === void 0 ? void 0 : e.stopPropagation();
298
348
  setEditingOption((editingOption === null || editingOption === void 0 ? void 0 : editingOption.value) === (item === null || item === void 0 ? void 0 : item.value) ? null : item);
299
349
  };
350
+
300
351
  const onOptionDeleteClick = () => {
301
352
  var _onOptionDelete;
353
+
302
354
  // eslint-disable-next-line no-promise-executor-return
303
355
  ((_onOptionDelete = onOptionDelete === null || onOptionDelete === void 0 ? void 0 : onOptionDelete(editingOption)) !== null && _onOptionDelete !== void 0 ? _onOptionDelete : new Promise(r => r())).then(() => {
304
356
  deleteChosen(editingOption === null || editingOption === void 0 ? void 0 : editingOption.value);
@@ -311,25 +363,29 @@ const TagsDropdown = _ref => {
311
363
  setEditingOption(null);
312
364
  });
313
365
  };
366
+
314
367
  const saveEditingOption = () => {
315
368
  if (!(editingOption !== null && editingOption !== void 0 && editingOption.isChanged) || isEditingOptionError) {
316
369
  setEditingOption(null);
317
370
  return false;
318
371
  }
319
- onOptionEdit === null || onOptionEdit === void 0 || onOptionEdit(editingOption);
372
+
373
+ onOptionEdit === null || onOptionEdit === void 0 ? void 0 : onOptionEdit(editingOption);
320
374
  setOptions(options => options.map(option => {
321
375
  if (editingOption && option.value === (editingOption === null || editingOption === void 0 ? void 0 : editingOption.value)) {
322
- const tmp = {
323
- ...editingOption
376
+ const tmp = { ...editingOption
324
377
  };
325
378
  setEditingOption(null);
326
379
  return tmp;
327
380
  }
381
+
328
382
  return option;
329
383
  }));
330
384
  };
385
+
331
386
  const setEditOptionModalStyles = () => {
332
387
  var _editingOption$ref, _el$getBoundingClient, _dropdownListWrapperR, _positionClasses, _positionClasses2;
388
+
333
389
  if (!editingOption || !(editOptionModalRef !== null && editOptionModalRef !== void 0 && editOptionModalRef.current)) return null;
334
390
  const modalSize = 200;
335
391
  const {
@@ -344,14 +400,14 @@ const TagsDropdown = _ref => {
344
400
  };
345
401
  const windowWidth = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth;
346
402
  const windowHeight = window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight;
347
- const el = editingOption === null || editingOption === void 0 || (_editingOption$ref = editingOption.ref) === null || _editingOption$ref === void 0 ? void 0 : _editingOption$ref.current;
403
+ const el = editingOption === null || editingOption === void 0 ? void 0 : (_editingOption$ref = editingOption.ref) === null || _editingOption$ref === void 0 ? void 0 : _editingOption$ref.current;
348
404
  const {
349
405
  x,
350
406
  y,
351
407
  width,
352
408
  height
353
409
  } = (_el$getBoundingClient = el === null || el === void 0 ? void 0 : el.getBoundingClientRect()) !== null && _el$getBoundingClient !== void 0 ? _el$getBoundingClient : {};
354
- const containerPosition = dropdownListWrapperRef === null || dropdownListWrapperRef === void 0 || (_dropdownListWrapperR = dropdownListWrapperRef.current) === null || _dropdownListWrapperR === void 0 ? void 0 : _dropdownListWrapperR.getBoundingClientRect();
410
+ const containerPosition = dropdownListWrapperRef === null || dropdownListWrapperRef === void 0 ? void 0 : (_dropdownListWrapperR = dropdownListWrapperRef.current) === null || _dropdownListWrapperR === void 0 ? void 0 : _dropdownListWrapperR.getBoundingClientRect();
355
411
  const distanceToRight = windowWidth - (containerPosition === null || containerPosition === void 0 ? void 0 : containerPosition.x) - (containerPosition === null || containerPosition === void 0 ? void 0 : containerPosition.width);
356
412
  const distanceToBottom = windowHeight - y - scrollY - height;
357
413
  Object.values(positionClasses).map(className => editOptionModalRef.current.classList.remove(className));
@@ -363,6 +419,7 @@ const TagsDropdown = _ref => {
363
419
  editOptionModalRef.current.style.top = "".concat(y + scrollY + height, "px");
364
420
  editOptionModalRef.current.style.transform = "translate(".concat(xTranslate, ", ").concat(yTranslate, ")");
365
421
  };
422
+
366
423
  const renderEditOptionModal = () => {
367
424
  return /*#__PURE__*/_react.default.createElement("div", {
368
425
  key: "editOptionModal".concat(editingOption === null || editingOption === void 0 ? void 0 : editingOption.value),
@@ -372,8 +429,7 @@ const TagsDropdown = _ref => {
372
429
  className: (0, _classnames.default)("".concat(RC, "__edit-option-modal-section"))
373
430
  }, /*#__PURE__*/_react.default.createElement(_Input.default, {
374
431
  value: editingOption.label,
375
- onChange: v => setEditingOption(state => ({
376
- ...state,
432
+ onChange: v => setEditingOption(state => ({ ...state,
377
433
  label: v
378
434
  })),
379
435
  error: isEditingOptionError,
@@ -395,114 +451,133 @@ const TagsDropdown = _ref => {
395
451
  className: (0, _classnames.default)("".concat(RC, "__edit-option-modal-section-colors"))
396
452
  }, COLORS.map(color => {
397
453
  var _editingOption$style;
454
+
398
455
  return /*#__PURE__*/_react.default.createElement("div", {
399
456
  key: color,
400
457
  className: "color-block",
401
458
  style: {
402
459
  backgroundColor: color
403
460
  },
404
- onClick: () => setEditingOption(state => ({
405
- ...state,
406
- style: {
407
- ...state.style,
461
+ onClick: () => setEditingOption(state => ({ ...state,
462
+ style: { ...state.style,
408
463
  backgroundColor: color
409
464
  }
410
465
  }))
411
- }, (editingOption === null || editingOption === void 0 || (_editingOption$style = editingOption.style) === null || _editingOption$style === void 0 ? void 0 : _editingOption$style.backgroundColor) === color ? /*#__PURE__*/_react.default.createElement(_reactFeather.Check, null) : null);
466
+ }, (editingOption === null || editingOption === void 0 ? void 0 : (_editingOption$style = editingOption.style) === null || _editingOption$style === void 0 ? void 0 : _editingOption$style.backgroundColor) === color ? /*#__PURE__*/_react.default.createElement(_reactFeather.Check, null) : null);
412
467
  }))));
413
- };
414
- // --- CREATABLE LOGIC END --- //
415
-
468
+ }; // --- CREATABLE LOGIC END --- //
416
469
  // --- GENERAL FUNCTIONS BEGIN --- //
470
+
471
+
417
472
  const handleClickOutside = e => {
418
473
  var _getListContainer, _editOptionModalRef$c;
474
+
419
475
  const {
420
476
  target
421
477
  } = e;
422
- if (isOpen && !((_getListContainer = getListContainer()) !== null && _getListContainer !== void 0 && _getListContainer.contains(target)) && !editOptionModalRef.current
423
- // &&
478
+
479
+ if (isOpen && !((_getListContainer = getListContainer()) !== null && _getListContainer !== void 0 && _getListContainer.contains(target)) && !editOptionModalRef.current // &&
424
480
  // (
425
481
  // customTriggerRef?.current ? customTriggerRef?.current?.contains(target) : true
426
482
  // )
427
483
  ) {
428
484
  setIsOpen(false);
429
- onDropdownListClose === null || onDropdownListClose === void 0 || onDropdownListClose(e);
485
+ onDropdownListClose === null || onDropdownListClose === void 0 ? void 0 : onDropdownListClose(e);
430
486
  } else if (editOptionModalRef.current && !((_editOptionModalRef$c = editOptionModalRef.current) !== null && _editOptionModalRef$c !== void 0 && _editOptionModalRef$c.contains(target))) {
431
- var _document, _document$getElementB2, _document$getElementB3;
432
- if (!((_document = document) !== null && _document !== void 0 && (_document$getElementB2 = _document.getElementById) !== null && _document$getElementB2 !== void 0 && (_document$getElementB2 = _document$getElementB2.call(_document, "editTrigger".concat(editingOption === null || editingOption === void 0 ? void 0 : editingOption.value))) !== null && _document$getElementB2 !== void 0 && (_document$getElementB3 = _document$getElementB2.contains) !== null && _document$getElementB3 !== void 0 && _document$getElementB3.call(_document$getElementB2, target))) saveEditingOption();
487
+ var _document, _document$getElementB2, _document$getElementB3, _document$getElementB4;
488
+
489
+ if (!((_document = document) !== null && _document !== void 0 && (_document$getElementB2 = _document.getElementById) !== null && _document$getElementB2 !== void 0 && (_document$getElementB3 = _document$getElementB2.call(_document, "editTrigger".concat(editingOption === null || editingOption === void 0 ? void 0 : editingOption.value))) !== null && _document$getElementB3 !== void 0 && (_document$getElementB4 = _document$getElementB3.contains) !== null && _document$getElementB4 !== void 0 && _document$getElementB4.call(_document$getElementB3, target))) saveEditingOption();
433
490
  }
434
491
  };
492
+
435
493
  const closeList = e => {
436
494
  var _inputRef$current;
495
+
437
496
  handleClickOutside(e);
438
- if (!e.target.isEqualNode(inputRef === null || inputRef === void 0 ? void 0 : inputRef.current)) inputRef === null || inputRef === void 0 || (_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 || _inputRef$current.blur();
497
+ if (!e.target.isEqualNode(inputRef === null || inputRef === void 0 ? void 0 : inputRef.current)) inputRef === null || inputRef === void 0 ? void 0 : (_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 ? void 0 : _inputRef$current.blur();
439
498
  };
499
+
440
500
  const isTargetInParent = target => {
441
501
  var _target$className, _target$className$ind, _target$className2, _target$className2$in;
502
+
442
503
  if ((target === null || target === void 0 ? void 0 : target.tagName) === "svg" && (target === null || target === void 0 ? void 0 : target.parentNodclassName) === "tag__button" || (target === null || target === void 0 ? void 0 : target.tagName) === "line") return false;
443
- if ((target === null || target === void 0 ? void 0 : target.tagName) === "svg" && (target === null || target === void 0 ? void 0 : target.parentNodclassName) !== "tag__button" || (target === null || target === void 0 || (_target$className = target.className) === null || _target$className === void 0 || (_target$className$ind = _target$className.indexOf) === null || _target$className$ind === void 0 ? void 0 : _target$className$ind.call(_target$className, "tag__label")) !== -1 || (target === null || target === void 0 || (_target$className2 = target.className) === null || _target$className2 === void 0 || (_target$className2$in = _target$className2.indexOf) === null || _target$className2$in === void 0 ? void 0 : _target$className2$in.call(_target$className2, "tag-list_wrapper")) !== -1 || (target === null || target === void 0 ? void 0 : target.className.indexOf("".concat(RC, "__trigger"))) !== -1 || (target === null || target === void 0 ? void 0 : target.className) === "tags-dropdown__arrow") return true;
504
+ if ((target === null || target === void 0 ? void 0 : target.tagName) === "svg" && (target === null || target === void 0 ? void 0 : target.parentNodclassName) !== "tag__button" || (target === null || target === void 0 ? void 0 : (_target$className = target.className) === null || _target$className === void 0 ? void 0 : (_target$className$ind = _target$className.indexOf) === null || _target$className$ind === void 0 ? void 0 : _target$className$ind.call(_target$className, "tag__label")) !== -1 || (target === null || target === void 0 ? void 0 : (_target$className2 = target.className) === null || _target$className2 === void 0 ? void 0 : (_target$className2$in = _target$className2.indexOf) === null || _target$className2$in === void 0 ? void 0 : _target$className2$in.call(_target$className2, "tag-list_wrapper")) !== -1 || (target === null || target === void 0 ? void 0 : target.className.indexOf("".concat(RC, "__trigger"))) !== -1 || (target === null || target === void 0 ? void 0 : target.className) === "tags-dropdown__arrow") return true;
444
505
  return false;
445
506
  };
507
+
446
508
  const isItemMatchesSearch = item => {
447
509
  if (item.isHiddenInList) return false;
448
510
  const title = item.title || item.label;
449
511
  return searchValue.length ? title === null || title === void 0 ? void 0 : title.toLowerCase().includes((searchValue === null || searchValue === void 0 ? void 0 : searchValue.toLowerCase()) || "") : true;
450
- };
451
- // --- GENERAL FUNCTIONS END --- //
512
+ }; // --- GENERAL FUNCTIONS END --- //
513
+
452
514
 
453
515
  const prepareOptions = options => {
454
516
  return options === null || options === void 0 ? void 0 : options.map(option => option !== null && option !== void 0 && option.groupName ? option === null || option === void 0 ? void 0 : option.list : option).flat();
455
517
  };
518
+
456
519
  const getFilteredOptions = options => options === null || options === void 0 ? void 0 : options.reduce((result, option) => {
457
520
  if (option.groupName) {
458
521
  var _option$list;
459
- const filteredGroupItems = option === null || option === void 0 || (_option$list = option.list) === null || _option$list === void 0 ? void 0 : _option$list.filter(item => isItemMatchesSearch(item));
522
+
523
+ const filteredGroupItems = option === null || option === void 0 ? void 0 : (_option$list = option.list) === null || _option$list === void 0 ? void 0 : _option$list.filter(item => isItemMatchesSearch(item));
524
+
460
525
  if (filteredGroupItems !== null && filteredGroupItems !== void 0 && filteredGroupItems.length) {
461
- result.push({
462
- ...option,
526
+ result.push({ ...option,
463
527
  list: filteredGroupItems
464
528
  });
465
529
  }
466
530
  } else if (isItemMatchesSearch(option)) {
467
531
  result.push(option);
468
532
  }
533
+
469
534
  return result;
470
535
  }, []);
536
+
471
537
  const getTotalOptions = (0, _react.useCallback)(() => {
472
538
  return options === null || options === void 0 ? void 0 : options.reduce((result, item) => {
473
539
  if (item !== null && item !== void 0 && item.list) {
474
540
  var _item$list2;
475
- result += (item === null || item === void 0 || (_item$list2 = item.list) === null || _item$list2 === void 0 ? void 0 : _item$list2.length) || 0;
541
+
542
+ result += (item === null || item === void 0 ? void 0 : (_item$list2 = item.list) === null || _item$list2 === void 0 ? void 0 : _item$list2.length) || 0;
476
543
  } else {
477
544
  ++result;
478
545
  }
546
+
479
547
  return result;
480
548
  }, 0);
481
549
  }, [options]);
550
+
482
551
  const onChangeHandler = item => {
483
552
  if (item !== null && item !== void 0 && item.isFreezed) return false;
553
+
484
554
  if ((item === null || item === void 0 ? void 0 : item.closeOnOptionSelect) !== undefined) {
485
555
  if (item.closeOnOptionSelect) setIsOpen(false);
486
556
  } else if (isMobile ? closeOnSelectMobile : closeOnSelect) setIsOpen(false);
557
+
487
558
  setSearchValueInterceptor("");
559
+
488
560
  if (chosenOptions.some(el => el === item.value)) {
489
561
  deleteChosen(item.value);
490
562
  return null;
491
563
  }
564
+
492
565
  if (isUseLocalOptionsStore) {
493
- setLocalOptionsStore(options => ({
494
- ...options,
566
+ setLocalOptionsStore(options => ({ ...options,
495
567
  [item === null || item === void 0 ? void 0 : item.value]: item === null || item === void 0 ? void 0 : item.label
496
568
  }));
497
569
  }
570
+
498
571
  onChange([...chosenOptions, item.value], "chosenOptions");
499
572
  return null;
500
573
  };
574
+
501
575
  const onSearchHandler = name => {
502
576
  let inputValue = name;
503
577
  if (!isNotValidateASCII) inputValue = (0, _fieldValueFormatters.formatToOnlyASCIICodeText)(inputValue);
504
578
  setSearchValueInterceptor(inputValue);
505
579
  };
580
+
506
581
  const onWrapperClick = e => {
507
582
  if (e.target === (wrapperRef === null || wrapperRef === void 0 ? void 0 : wrapperRef.current)) {
508
583
  e.stopPropagation();
@@ -510,8 +585,10 @@ const TagsDropdown = _ref => {
510
585
  setIsOpen(false);
511
586
  }
512
587
  };
588
+
513
589
  const selectAllItems = () => {
514
590
  var _prepareOptions;
591
+
515
592
  const preparedOptions = (_prepareOptions = prepareOptions(options)) === null || _prepareOptions === void 0 ? void 0 : _prepareOptions.filter(_ref7 => {
516
593
  let {
517
594
  isFreezed,
@@ -519,6 +596,7 @@ const TagsDropdown = _ref => {
519
596
  } = _ref7;
520
597
  return !isFreezed && !(chosenOptions !== null && chosenOptions !== void 0 && chosenOptions.includes(value)) && value !== "open_modal";
521
598
  });
599
+
522
600
  if (isUseLocalOptionsStore) {
523
601
  setLocalOptionsStore(options => preparedOptions === null || preparedOptions === void 0 ? void 0 : preparedOptions.reduce((result, _ref8) => {
524
602
  let {
@@ -529,6 +607,7 @@ const TagsDropdown = _ref => {
529
607
  return result;
530
608
  }, options));
531
609
  }
610
+
532
611
  onChange([...chosenOptions, ...((preparedOptions === null || preparedOptions === void 0 ? void 0 : preparedOptions.map(_ref9 => {
533
612
  let {
534
613
  value
@@ -537,37 +616,42 @@ const TagsDropdown = _ref => {
537
616
  })) || [])], "chosenOptions");
538
617
  if (isMobile ? closeOnSelectAllMobile : closeOnSelectAll) setIsOpen(false);
539
618
  };
619
+
540
620
  const unselectAllItems = () => {
541
621
  if (isUseLocalOptionsStore) setLocalOptionsStore({});
542
622
  onChange(chosenOptions === null || chosenOptions === void 0 ? void 0 : chosenOptions.filter(item => {
543
- var _prepareOptions2;
544
- return (_prepareOptions2 = prepareOptions(options)) === null || _prepareOptions2 === void 0 || (_prepareOptions2 = _prepareOptions2.find(_ref10 => {
623
+ var _prepareOptions2, _prepareOptions2$find;
624
+
625
+ return (_prepareOptions2 = prepareOptions(options)) === null || _prepareOptions2 === void 0 ? void 0 : (_prepareOptions2$find = _prepareOptions2.find(_ref10 => {
545
626
  let {
546
627
  value
547
628
  } = _ref10;
548
629
  return value === item;
549
- })) === null || _prepareOptions2 === void 0 ? void 0 : _prepareOptions2.isFreezed;
630
+ })) === null || _prepareOptions2$find === void 0 ? void 0 : _prepareOptions2$find.isFreezed;
550
631
  }), "chosenOptions");
551
632
  if (isMobile ? closeOnRemoveAllMobile : closeOnRemoveAll) setIsOpen(false);
552
633
  };
634
+
553
635
  const doScrollCallback = (0, _react.useCallback)(e => {
554
636
  if (doLiveSearchRequest && typeof doLiveSearchRequest === "function") {
555
637
  if (Math.round(e.target.clientHeight + e.target.scrollTop) == e.target.scrollHeight) {
556
638
  doLiveSearchRequest(searchValueRef.current, true);
557
639
  }
558
640
  }
559
- }, [options]);
641
+ }, [options]); // --- RENDER FUNCTIONS BEGIN --- //
560
642
 
561
- // --- RENDER FUNCTIONS BEGIN --- //
562
643
  const getMarkupForElement = item => {
563
644
  var _item$customMobileIco;
645
+
564
646
  const {
565
647
  description
566
648
  } = item;
567
649
  const title = item.title || item.label;
650
+
568
651
  const hightlightSearchValue = title => {
569
652
  var _title$toLowerCase;
570
- const index = title === null || title === void 0 || (_title$toLowerCase = title.toLowerCase()) === null || _title$toLowerCase === void 0 ? void 0 : _title$toLowerCase.indexOf(searchValue === null || searchValue === void 0 ? void 0 : searchValue.toLowerCase());
653
+
654
+ const index = title === null || title === void 0 ? void 0 : (_title$toLowerCase = title.toLowerCase()) === null || _title$toLowerCase === void 0 ? void 0 : _title$toLowerCase.indexOf(searchValue === null || searchValue === void 0 ? void 0 : searchValue.toLowerCase());
571
655
  if (index === -1) return title;
572
656
  return /*#__PURE__*/_react.default.createElement("pre", {
573
657
  className: "inherit-styles"
@@ -575,6 +659,7 @@ const TagsDropdown = _ref => {
575
659
  className: "search-match bg--yellow"
576
660
  }, title.substring(index, index + (searchValue === null || searchValue === void 0 ? void 0 : searchValue.length))), /*#__PURE__*/_react.default.createElement("span", null, title.substring(index + (searchValue === null || searchValue === void 0 ? void 0 : searchValue.length))));
577
661
  };
662
+
578
663
  return /*#__PURE__*/_react.default.createElement("button", {
579
664
  ref: item === null || item === void 0 ? void 0 : item.ref,
580
665
  key: "".concat(RC, "__list-item-").concat(item.id || item.value),
@@ -625,19 +710,26 @@ const TagsDropdown = _ref => {
625
710
  }
626
711
  }) : "");
627
712
  };
713
+
628
714
  const getListMarkUp = () => {
629
- var _filteredOptions$filt, _filteredOptions$filt2, _document$getElementB4;
715
+ var _filteredOptions$filt, _filteredOptions$filt2, _document$getElementB5;
716
+
630
717
  const filteredOptions = getFilteredOptions(options);
631
718
  const arrToPrint = [];
719
+
632
720
  for (const option of filteredOptions) {
633
- var _option$groupName, _option$list2;
634
- if (option.groupName) arrToPrint.push( /*#__PURE__*/_react.default.createElement("div", {
635
- key: (_option$groupName = option.groupName) === null || _option$groupName === void 0 || (_option$groupName = _option$groupName.toString()) === null || _option$groupName === void 0 ? void 0 : _option$groupName.replace(/ /g, "_").concat(Date.now()),
636
- className: (0, _classnames.default)("".concat(RC, "-group"), option.className)
637
- }, /*#__PURE__*/_react.default.createElement("span", {
638
- className: "".concat(RC, "-group__name")
639
- }, option.groupName), (_option$list2 = option.list) === null || _option$list2 === void 0 ? void 0 : _option$list2.map(item => getMarkupForElement(item))));else arrToPrint.push(getMarkupForElement(option));
721
+ if (option.groupName) {
722
+ var _option$groupName, _option$groupName$toS, _option$list2;
723
+
724
+ arrToPrint.push( /*#__PURE__*/_react.default.createElement("div", {
725
+ key: (_option$groupName = option.groupName) === null || _option$groupName === void 0 ? void 0 : (_option$groupName$toS = _option$groupName.toString()) === null || _option$groupName$toS === void 0 ? void 0 : _option$groupName$toS.replace(/ /g, "_").concat(Date.now()),
726
+ className: (0, _classnames.default)("".concat(RC, "-group"), option.className)
727
+ }, /*#__PURE__*/_react.default.createElement("span", {
728
+ className: "".concat(RC, "-group__name")
729
+ }, option.groupName), (_option$list2 = option.list) === null || _option$list2 === void 0 ? void 0 : _option$list2.map(item => getMarkupForElement(item))));
730
+ } else arrToPrint.push(getMarkupForElement(option));
640
731
  }
732
+
641
733
  return /*#__PURE__*/_react.default.createElement("div", {
642
734
  className: (0, _classnames.default)("".concat(RC, "__container-wrapper")),
643
735
  ref: wrapperRef,
@@ -713,7 +805,7 @@ const TagsDropdown = _ref => {
713
805
  })
714
806
  }, footerContent, isMobile && /*#__PURE__*/_react.default.createElement("button", {
715
807
  onClick: () => setIsOpen(false)
716
- }, "Apply", chosenOptions !== null && chosenOptions !== void 0 && chosenOptions.length ? "(".concat(chosenOptions === null || chosenOptions === void 0 ? void 0 : chosenOptions.length, ")") : "")) : null, editingOption && /*#__PURE__*/(0, _reactDom.createPortal)(renderEditOptionModal(), (_document$getElementB4 = document.getElementById("app")) !== null && _document$getElementB4 !== void 0 ? _document$getElementB4 : document.body), withCreateLogic && onOptionCreate && searchValue && singleLevelOptions.every(_ref14 => {
808
+ }, "Apply", chosenOptions !== null && chosenOptions !== void 0 && chosenOptions.length ? "(".concat(chosenOptions === null || chosenOptions === void 0 ? void 0 : chosenOptions.length, ")") : "")) : null, editingOption && /*#__PURE__*/(0, _reactDom.createPortal)(renderEditOptionModal(), (_document$getElementB5 = document.getElementById("app")) !== null && _document$getElementB5 !== void 0 ? _document$getElementB5 : document.body), withCreateLogic && onOptionCreate && searchValue && singleLevelOptions.every(_ref14 => {
717
809
  let {
718
810
  label
719
811
  } = _ref14;
@@ -729,6 +821,7 @@ const TagsDropdown = _ref => {
729
821
  isNoDismiss: true
730
822
  }))));
731
823
  };
824
+
732
825
  const renderSearchInput = () => {
733
826
  return /*#__PURE__*/_react.default.createElement(_Input.default, (0, _extends2.default)({
734
827
  ref: inputRef,
@@ -738,8 +831,7 @@ const TagsDropdown = _ref => {
738
831
  value: searchValue,
739
832
  onChange: onSearchHandler,
740
833
  placeholder: placeholder || "Select from list",
741
- attributesOfNativeInput: {
742
- ...attributesOfNativeInput,
834
+ attributesOfNativeInput: { ...attributesOfNativeInput,
743
835
  onKeyDown: e => {
744
836
  if (e.keyCode === 13 && withCreateLogic && onOptionCreate && singleLevelOptions.every(_ref15 => {
745
837
  let {
@@ -749,18 +841,21 @@ const TagsDropdown = _ref => {
749
841
  })) {
750
842
  onOptionCreateClick();
751
843
  }
844
+
752
845
  onKeyPress(e, searchValue);
753
- }
754
- // onFocus: (e) => {
846
+ } // onFocus: (e) => {
755
847
  // if (isMobile) e?.target?.blur();
756
848
  // },
849
+
757
850
  }
758
851
  }, withCreateLogic ? {
759
852
  symbolsLimit: 50
760
853
  } : {}));
761
854
  };
855
+
762
856
  const renderDropdownTrigger = (0, _react.useCallback)(() => {
763
857
  var _renderCustomTrigger;
858
+
764
859
  const renderDefaultDropdownTrigger = () => {
765
860
  return /*#__PURE__*/_react.default.createElement("div", {
766
861
  className: (0, _classnames.default)("".concat(RC, "__trigger"), {
@@ -771,6 +866,7 @@ const TagsDropdown = _ref => {
771
866
  let {
772
867
  target
773
868
  } = _ref16;
869
+
774
870
  if ((target === null || target === void 0 ? void 0 : target.tagName) === "INPUT") {
775
871
  setIsOpen(true);
776
872
  } else if (isTargetInParent(target)) {
@@ -815,6 +911,7 @@ const TagsDropdown = _ref => {
815
911
  className: "color--text"
816
912
  })));
817
913
  };
914
+
818
915
  return (_renderCustomTrigger = renderCustomTrigger === null || renderCustomTrigger === void 0 ? void 0 : renderCustomTrigger({
819
916
  chosenOptions,
820
917
  singleLevelOptions,
@@ -824,20 +921,21 @@ const TagsDropdown = _ref => {
824
921
  isOpen,
825
922
  setIsOpen
826
923
  })) !== null && _renderCustomTrigger !== void 0 ? _renderCustomTrigger : renderDefaultDropdownTrigger();
827
- }, [chosenOptions, singleLevelOptions, inputRef, isOpen]);
828
- // --- RENDER FUNCTIONS END --- //
924
+ }, [chosenOptions, singleLevelOptions, inputRef, isOpen]); // --- RENDER FUNCTIONS END --- //
829
925
 
830
926
  (0, _react.useLayoutEffect)(() => {
831
927
  initListContainer();
832
928
  if (isDefaultOpened && !isMobileProp) setIsOpen(true);
833
929
  return () => {
834
930
  var _getListContainer2, _getListContainerWrap;
835
- (_getListContainer2 = getListContainer()) === null || _getListContainer2 === void 0 || _getListContainer2.remove();
836
- (_getListContainerWrap = getListContainerWrapper()) === null || _getListContainerWrap === void 0 || _getListContainerWrap.remove();
931
+
932
+ (_getListContainer2 = getListContainer()) === null || _getListContainer2 === void 0 ? void 0 : _getListContainer2.remove();
933
+ (_getListContainerWrap = getListContainerWrapper()) === null || _getListContainerWrap === void 0 ? void 0 : _getListContainerWrap.remove();
837
934
  };
838
935
  }, []);
839
936
  (0, _react.useLayoutEffect)(() => {
840
937
  var _getListContainer3;
938
+
841
939
  if (!isMobile) {
842
940
  window.addEventListener("mousewheel", closeList);
843
941
  window.addEventListener("wheel", closeList);
@@ -849,14 +947,16 @@ const TagsDropdown = _ref => {
849
947
  window.removeEventListener("touchmove", closeList);
850
948
  window.removeEventListener("mouseup", handleClickOutside);
851
949
  }
852
- (_getListContainer3 = getListContainer()) === null || _getListContainer3 === void 0 || _getListContainer3.addEventListener("click", closeList);
950
+
951
+ (_getListContainer3 = getListContainer()) === null || _getListContainer3 === void 0 ? void 0 : _getListContainer3.addEventListener("click", closeList);
853
952
  return () => {
854
953
  var _getListContainer4;
954
+
855
955
  window.removeEventListener("mousewheel", closeList);
856
956
  window.removeEventListener("mouseup", handleClickOutside);
857
957
  window.removeEventListener("wheel", closeList);
858
958
  window.removeEventListener("touchmove", closeList);
859
- (_getListContainer4 = getListContainer()) === null || _getListContainer4 === void 0 || _getListContainer4.removeEventListener("click", closeList);
959
+ (_getListContainer4 = getListContainer()) === null || _getListContainer4 === void 0 ? void 0 : _getListContainer4.removeEventListener("click", closeList);
860
960
  };
861
961
  }, [getListContainer, isMobile]);
862
962
  (0, _react.useLayoutEffect)(() => {
@@ -864,13 +964,12 @@ const TagsDropdown = _ref => {
864
964
  setListContainerStyles();
865
965
  setEditOptionModalStyles();
866
966
  }
867
- }, [isOpen, optionsProp, chosenOptions, searchValue, isMobile, dropdownListWrapperRef === null || dropdownListWrapperRef === void 0 || (_dropdownListWrapperR2 = dropdownListWrapperRef.current) === null || _dropdownListWrapperR2 === void 0 || (_dropdownListWrapperR2 = _dropdownListWrapperR2.getBoundingClientRect()) === null || _dropdownListWrapperR2 === void 0 ? void 0 : _dropdownListWrapperR2.height, recalculateListContainerStylesTrigger]);
967
+ }, [isOpen, optionsProp, chosenOptions, searchValue, isMobile, dropdownListWrapperRef === null || dropdownListWrapperRef === void 0 ? void 0 : (_dropdownListWrapperR2 = dropdownListWrapperRef.current) === null || _dropdownListWrapperR2 === void 0 ? void 0 : (_dropdownListWrapperR3 = _dropdownListWrapperR2.getBoundingClientRect()) === null || _dropdownListWrapperR3 === void 0 ? void 0 : _dropdownListWrapperR3.height, recalculateListContainerStylesTrigger]);
868
968
  (0, _react.useEffect)(() => {
869
969
  if (isUseLocalOptionsStore && chosenOptions.length !== Object.keys(localOptionsStore).length) {
870
970
  options.map(option => {
871
971
  if (!(localOptionsStore !== null && localOptionsStore !== void 0 && localOptionsStore[option === null || option === void 0 ? void 0 : option.value])) {
872
- setLocalOptionsStore(options => ({
873
- ...options,
972
+ setLocalOptionsStore(options => ({ ...options,
874
973
  [option === null || option === void 0 ? void 0 : option.value]: option === null || option === void 0 ? void 0 : option.label
875
974
  }));
876
975
  }
@@ -879,28 +978,45 @@ const TagsDropdown = _ref => {
879
978
  }, [chosenOptions, isUseLocalOptionsStore]);
880
979
  (0, _react.useEffect)(() => {
881
980
  var _selectAllButtonRef$c, _unselectAllButtonRef;
981
+
982
+ const windowScrollEventHandler = e => {
983
+ setWindowScrollTop(window.scrollY);
984
+ };
985
+
882
986
  const fn = isOpen ? "addEventListener" : "removeEventListener";
883
- selectAllButtonRef === null || selectAllButtonRef === void 0 || (_selectAllButtonRef$c = selectAllButtonRef.current) === null || _selectAllButtonRef$c === void 0 || _selectAllButtonRef$c[fn]("click", selectAllItems, true);
884
- unselectAllButtonRef === null || unselectAllButtonRef === void 0 || (_unselectAllButtonRef = unselectAllButtonRef.current) === null || _unselectAllButtonRef === void 0 || _unselectAllButtonRef[fn]("click", unselectAllItems, true);
987
+ selectAllButtonRef === null || selectAllButtonRef === void 0 ? void 0 : (_selectAllButtonRef$c = selectAllButtonRef.current) === null || _selectAllButtonRef$c === void 0 ? void 0 : _selectAllButtonRef$c[fn]("click", selectAllItems, true);
988
+ unselectAllButtonRef === null || unselectAllButtonRef === void 0 ? void 0 : (_unselectAllButtonRef = unselectAllButtonRef.current) === null || _unselectAllButtonRef === void 0 ? void 0 : _unselectAllButtonRef[fn]("click", unselectAllItems, true);
989
+
885
990
  if (isOpen) {
886
991
  var _getListContainer5;
992
+
993
+ if (!isMobile || !withMobileLogic) window.removeEventListener("scroll", windowScrollEventHandler);
994
+
887
995
  if (customTriggerRef !== null && customTriggerRef !== void 0 && customTriggerRef.current) {
888
996
  customTriggerRef.current.style.pointerEvents = "none";
889
997
  }
890
- (_getListContainer5 = getListContainer()) === null || _getListContainer5 === void 0 || _getListContainer5.classList.add("tags-dropdown__container--opened");
998
+
999
+ (_getListContainer5 = getListContainer()) === null || _getListContainer5 === void 0 ? void 0 : _getListContainer5.classList.add("tags-dropdown__container--opened");
1000
+
891
1001
  if (!isMobile) {
892
1002
  var _inputRef$current2, _inputRef$current2$fo;
893
- inputRef === null || inputRef === void 0 || (_inputRef$current2 = inputRef.current) === null || _inputRef$current2 === void 0 || (_inputRef$current2$fo = _inputRef$current2.focus) === null || _inputRef$current2$fo === void 0 || _inputRef$current2$fo.call(_inputRef$current2);
1003
+
1004
+ inputRef === null || inputRef === void 0 ? void 0 : (_inputRef$current2 = inputRef.current) === null || _inputRef$current2 === void 0 ? void 0 : (_inputRef$current2$fo = _inputRef$current2.focus) === null || _inputRef$current2$fo === void 0 ? void 0 : _inputRef$current2$fo.call(_inputRef$current2);
894
1005
  } else {
895
1006
  var _inputRef$current3, _inputRef$current3$bl;
896
- inputRef === null || inputRef === void 0 || (_inputRef$current3 = inputRef.current) === null || _inputRef$current3 === void 0 || (_inputRef$current3$bl = _inputRef$current3.blur) === null || _inputRef$current3$bl === void 0 || _inputRef$current3$bl.call(_inputRef$current3);
1007
+
1008
+ inputRef === null || inputRef === void 0 ? void 0 : (_inputRef$current3 = inputRef.current) === null || _inputRef$current3 === void 0 ? void 0 : (_inputRef$current3$bl = _inputRef$current3.blur) === null || _inputRef$current3$bl === void 0 ? void 0 : _inputRef$current3$bl.call(_inputRef$current3);
897
1009
  }
898
1010
  } else {
899
1011
  var _getListContainer6;
1012
+
1013
+ if (!isMobile || !withMobileLogic) window.addEventListener("scroll", windowScrollEventHandler);
1014
+
900
1015
  if (customTriggerRef !== null && customTriggerRef !== void 0 && customTriggerRef.current) {
901
1016
  customTriggerRef.current.style.pointerEvents = "auto";
902
1017
  }
903
- (_getListContainer6 = getListContainer()) === null || _getListContainer6 === void 0 || _getListContainer6.classList.remove("tags-dropdown__container--opened");
1018
+
1019
+ (_getListContainer6 = getListContainer()) === null || _getListContainer6 === void 0 ? void 0 : _getListContainer6.classList.remove("tags-dropdown__container--opened");
904
1020
  if (withSearchInputInList) setSearchValueInterceptor("");
905
1021
  setListPos(null);
906
1022
  setSearchValue("");
@@ -910,46 +1026,63 @@ const TagsDropdown = _ref => {
910
1026
  const setScrollTopValue = e => {
911
1027
  setScrollTop(parseInt(e.target.scrollTop, 10));
912
1028
  };
1029
+
1030
+ const preventWindowScrolling = e => {
1031
+ e.preventDefault();
1032
+ window.scrollTo({
1033
+ top: windowScrollTop
1034
+ });
1035
+ };
1036
+
913
1037
  if (isOpen && isMobile && dropdownListRef !== null && dropdownListRef !== void 0 && dropdownListRef.current) {
914
1038
  var _dropdownListRef$curr, _dropdownListRef$curr2, _dropdownListRef$curr3;
915
- dropdownListRef === null || dropdownListRef === void 0 || (_dropdownListRef$curr = dropdownListRef.current) === null || _dropdownListRef$curr === void 0 || _dropdownListRef$curr.addEventListener("scroll", setScrollTopValue);
916
- setIsScrollableList((dropdownListRef === null || dropdownListRef === void 0 || (_dropdownListRef$curr2 = dropdownListRef.current) === null || _dropdownListRef$curr2 === void 0 ? void 0 : _dropdownListRef$curr2.scrollHeight) > (dropdownListRef === null || dropdownListRef === void 0 || (_dropdownListRef$curr3 = dropdownListRef.current) === null || _dropdownListRef$curr3 === void 0 ? void 0 : _dropdownListRef$curr3.clientHeight));
1039
+
1040
+ dropdownListRef === null || dropdownListRef === void 0 ? void 0 : (_dropdownListRef$curr = dropdownListRef.current) === null || _dropdownListRef$curr === void 0 ? void 0 : _dropdownListRef$curr.addEventListener("scroll", setScrollTopValue);
1041
+ setIsScrollableList((dropdownListRef === null || dropdownListRef === void 0 ? void 0 : (_dropdownListRef$curr2 = dropdownListRef.current) === null || _dropdownListRef$curr2 === void 0 ? void 0 : _dropdownListRef$curr2.scrollHeight) > (dropdownListRef === null || dropdownListRef === void 0 ? void 0 : (_dropdownListRef$curr3 = dropdownListRef.current) === null || _dropdownListRef$curr3 === void 0 ? void 0 : _dropdownListRef$curr3.clientHeight));
1042
+
917
1043
  if (isScrollableList === null) {
918
1044
  var _dropdownListRef$curr4, _dropdownListRef$curr5;
919
- setIsFixedMaxHeight((dropdownListRef === null || dropdownListRef === void 0 || (_dropdownListRef$curr4 = dropdownListRef.current) === null || _dropdownListRef$curr4 === void 0 ? void 0 : _dropdownListRef$curr4.scrollHeight) > (dropdownListRef === null || dropdownListRef === void 0 || (_dropdownListRef$curr5 = dropdownListRef.current) === null || _dropdownListRef$curr5 === void 0 ? void 0 : _dropdownListRef$curr5.clientHeight));
1045
+
1046
+ setIsFixedMaxHeight((dropdownListRef === null || dropdownListRef === void 0 ? void 0 : (_dropdownListRef$curr4 = dropdownListRef.current) === null || _dropdownListRef$curr4 === void 0 ? void 0 : _dropdownListRef$curr4.scrollHeight) > (dropdownListRef === null || dropdownListRef === void 0 ? void 0 : (_dropdownListRef$curr5 = dropdownListRef.current) === null || _dropdownListRef$curr5 === void 0 ? void 0 : _dropdownListRef$curr5.clientHeight));
920
1047
  }
921
1048
  }
1049
+
922
1050
  if (isOpen && dropdownListRef && dropdownListRef.current) {
923
1051
  dropdownListRef.current.addEventListener("scroll", doScrollCallback);
1052
+ if (!isMobile || !withMobileLogic) window.addEventListener("scroll", preventWindowScrolling);
924
1053
  }
1054
+
925
1055
  return () => {
926
- var _dropdownListRef$curr6;
927
- removeEventListener("scroll", doScrollCallback);
928
- dropdownListRef === null || dropdownListRef === void 0 || (_dropdownListRef$curr6 = dropdownListRef.current) === null || _dropdownListRef$curr6 === void 0 || _dropdownListRef$curr6.removeEventListener("scroll", setScrollTopValue);
1056
+ var _dropdownListRef$curr6, _dropdownListRef$curr7;
1057
+
1058
+ if (!isMobile || !withMobileLogic) window.removeEventListener("scroll", preventWindowScrolling);
1059
+ dropdownListRef === null || dropdownListRef === void 0 ? void 0 : (_dropdownListRef$curr6 = dropdownListRef.current) === null || _dropdownListRef$curr6 === void 0 ? void 0 : _dropdownListRef$curr6.removeEventListener("scroll", doScrollCallback);
1060
+ dropdownListRef === null || dropdownListRef === void 0 ? void 0 : (_dropdownListRef$curr7 = dropdownListRef.current) === null || _dropdownListRef$curr7 === void 0 ? void 0 : _dropdownListRef$curr7.removeEventListener("scroll", setScrollTopValue);
929
1061
  };
930
- }, [isOpen, isMobile, dropdownListRef === null || dropdownListRef === void 0 ? void 0 : dropdownListRef.current, dropdownListRef === null || dropdownListRef === void 0 || (_dropdownListRef$curr7 = dropdownListRef.current) === null || _dropdownListRef$curr7 === void 0 ? void 0 : _dropdownListRef$curr7.scrollHeight, dropdownListRef === null || dropdownListRef === void 0 || (_dropdownListRef$curr8 = dropdownListRef.current) === null || _dropdownListRef$curr8 === void 0 ? void 0 : _dropdownListRef$curr8.clientHeight]);
1062
+ }, [isOpen, isMobile, dropdownListRef === null || dropdownListRef === void 0 ? void 0 : dropdownListRef.current, dropdownListRef === null || dropdownListRef === void 0 ? void 0 : (_dropdownListRef$curr8 = dropdownListRef.current) === null || _dropdownListRef$curr8 === void 0 ? void 0 : _dropdownListRef$curr8.scrollHeight, dropdownListRef === null || dropdownListRef === void 0 ? void 0 : (_dropdownListRef$curr9 = dropdownListRef.current) === null || _dropdownListRef$curr9 === void 0 ? void 0 : _dropdownListRef$curr9.clientHeight]);
931
1063
  (0, _react.useEffect)(() => {
932
1064
  if (dropdownListRef !== null && dropdownListRef !== void 0 && dropdownListRef.current) {
933
- var _dropdownListRef$curr9, _dropdownListRef$curr10;
934
- setScrollHeight(parseInt((dropdownListRef === null || dropdownListRef === void 0 || (_dropdownListRef$curr9 = dropdownListRef.current) === null || _dropdownListRef$curr9 === void 0 ? void 0 : _dropdownListRef$curr9.scrollHeight) - (dropdownListRef === null || dropdownListRef === void 0 || (_dropdownListRef$curr10 = dropdownListRef.current) === null || _dropdownListRef$curr10 === void 0 ? void 0 : _dropdownListRef$curr10.clientHeight), 10));
1065
+ var _dropdownListRef$curr10, _dropdownListRef$curr11;
1066
+
1067
+ setScrollHeight(parseInt((dropdownListRef === null || dropdownListRef === void 0 ? void 0 : (_dropdownListRef$curr10 = dropdownListRef.current) === null || _dropdownListRef$curr10 === void 0 ? void 0 : _dropdownListRef$curr10.scrollHeight) - (dropdownListRef === null || dropdownListRef === void 0 ? void 0 : (_dropdownListRef$curr11 = dropdownListRef.current) === null || _dropdownListRef$curr11 === void 0 ? void 0 : _dropdownListRef$curr11.clientHeight), 10));
935
1068
  }
936
1069
  }, [scrollTop, dropdownListRef === null || dropdownListRef === void 0 ? void 0 : dropdownListRef.current]);
937
1070
  (0, _react.useEffect)(() => {
938
1071
  if (isSearchable && useLiveSearch && (debouncedSearchTerm || isValueDeleted || isOpen)) {
939
- doLiveSearchRequest === null || doLiveSearchRequest === void 0 || doLiveSearchRequest(debouncedSearchTerm);
1072
+ doLiveSearchRequest === null || doLiveSearchRequest === void 0 ? void 0 : doLiveSearchRequest(debouncedSearchTerm);
940
1073
  }
941
1074
  }, [isOpen, debouncedSearchTerm, isValueDeleted]);
942
1075
  (0, _react.useEffect)(() => {
943
- setOptions(optionsProp.map(option => ({
944
- ...option,
1076
+ setOptions(optionsProp.map(option => ({ ...option,
945
1077
  ref: /*#__PURE__*/(0, _react.createRef)()
946
1078
  })));
947
1079
  }, [optionsProp]);
948
1080
  (0, _react.useEffect)(() => {
949
1081
  if (editingOption) {
950
1082
  var _editingOptionInputRe, _editingOptionInputRe2;
1083
+
951
1084
  setEditOptionModalStyles();
952
- editingOptionInputRef === null || editingOptionInputRef === void 0 || (_editingOptionInputRe = editingOptionInputRef.current) === null || _editingOptionInputRe === void 0 || (_editingOptionInputRe2 = _editingOptionInputRe.focus) === null || _editingOptionInputRe2 === void 0 || _editingOptionInputRe2.call(_editingOptionInputRe);
1085
+ editingOptionInputRef === null || editingOptionInputRef === void 0 ? void 0 : (_editingOptionInputRe = editingOptionInputRef.current) === null || _editingOptionInputRe === void 0 ? void 0 : (_editingOptionInputRe2 = _editingOptionInputRe.focus) === null || _editingOptionInputRe2 === void 0 ? void 0 : _editingOptionInputRe2.call(_editingOptionInputRe);
953
1086
  }
954
1087
  }, [editingOption === null || editingOption === void 0 ? void 0 : editingOption.value]);
955
1088
  return /*#__PURE__*/_react.default.createElement("div", {
@@ -970,4 +1103,6 @@ const TagsDropdown = _ref => {
970
1103
  onClick: onActionCancelClick
971
1104
  }, /*#__PURE__*/_react.default.createElement(_reactFeather.X, null))), isOpen && renderListContainer());
972
1105
  };
973
- var _default = exports.default = TagsDropdown;
1106
+
1107
+ var _default = TagsDropdown;
1108
+ exports.default = _default;