intelicoreact 1.4.76 → 1.4.78

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