intelicoreact 1.4.0 → 1.4.1

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 (254) 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 +144 -51
  9. package/dist/Atomic/FormElements/Dropdown/components/DropdownLoader.js +7 -1
  10. package/dist/Atomic/FormElements/DropdownLiveSearch/DropdownLiveSearch.js +203 -109
  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/FileLoaderLocal/FileLoaderLocal.js +26 -6
  15. package/dist/Atomic/FormElements/FileLoaderLocalGroup/FileLoaderLocalGroup.js +35 -19
  16. package/dist/Atomic/FormElements/FormattedRawSSN/FormattedRawSSN.js +38 -9
  17. package/dist/Atomic/FormElements/Input/Input.js +57 -24
  18. package/dist/Atomic/FormElements/InputCalendar/InputCalendar.js +31 -4
  19. package/dist/Atomic/FormElements/InputColor/InputColor.js +14 -4
  20. package/dist/Atomic/FormElements/InputCurrency/InputCurrency.js +29 -6
  21. package/dist/Atomic/FormElements/InputDateRange/InputDateRange.js +43 -8
  22. package/dist/Atomic/FormElements/InputDateRange/components/DateInput.js +21 -3
  23. package/dist/Atomic/FormElements/InputDateRange/components/Datepicker.js +81 -58
  24. package/dist/Atomic/FormElements/InputDateRange/components/OpenedPart.js +41 -6
  25. package/dist/Atomic/FormElements/InputDateRange/components/SelectItem.js +8 -1
  26. package/dist/Atomic/FormElements/InputDateRange/dependencies.js +46 -16
  27. package/dist/Atomic/FormElements/InputLink/InputLink.js +23 -6
  28. package/dist/Atomic/FormElements/InputMask/InputCarretPosition.js +4 -0
  29. package/dist/Atomic/FormElements/InputMask/InputMask.js +208 -77
  30. package/dist/Atomic/FormElements/InputMask/functions.js +28 -2
  31. package/dist/Atomic/FormElements/InputMask2/InputMask2.js +119 -43
  32. package/dist/Atomic/FormElements/InputMask2/functions.js +28 -2
  33. package/dist/Atomic/FormElements/InputMask3/InputMask3.js +137 -44
  34. package/dist/Atomic/FormElements/InputMask3/functions.js +28 -2
  35. package/dist/Atomic/FormElements/InputWithAction/InputWithAction.js +17 -3
  36. package/dist/Atomic/FormElements/InputsRow/InputsRow.js +24 -5
  37. package/dist/Atomic/FormElements/Label/Label.js +9 -1
  38. package/dist/Atomic/FormElements/MobileCalendar/MobileCalendar.js +73 -35
  39. package/dist/Atomic/FormElements/MultiSelect/MultiSelect.js +15 -3
  40. package/dist/Atomic/FormElements/NumericInput/NumericInput.js +44 -23
  41. package/dist/Atomic/FormElements/RadioGroup/RadioGroup.js +17 -7
  42. package/dist/Atomic/FormElements/RadioGroupWithInput/RadioGroupWithInput.js +14 -3
  43. package/dist/Atomic/FormElements/RadioInput/RadioInput.js +10 -1
  44. package/dist/Atomic/FormElements/RadioRowSwitcher/RadioRowSwitcher.js +14 -3
  45. package/dist/Atomic/FormElements/RangeCalendar/RangeCalendar.js +23 -3
  46. package/dist/Atomic/FormElements/RangeInputs/RangeInputs.js +34 -17
  47. package/dist/Atomic/FormElements/RangeList/RangeList.js +25 -6
  48. package/dist/Atomic/FormElements/RangeList/partial/RangeListRow.js +11 -1
  49. package/dist/Atomic/FormElements/RangeSlider/RangeSlider.js +72 -14
  50. package/dist/Atomic/FormElements/RangeSlider2/RangeSlider2.js +132 -43
  51. package/dist/Atomic/FormElements/SwitchableRow/SwitchableRow.js +10 -1
  52. package/dist/Atomic/FormElements/Switcher/Switcher.js +10 -1
  53. package/dist/Atomic/FormElements/SwitcherCheckbox/SwitcherCheckbox.js +13 -1
  54. package/dist/Atomic/FormElements/SwitcherHide/SwitcherHide.js +10 -1
  55. package/dist/Atomic/FormElements/SwitcherRadio/SwitcherRadio.js +17 -2
  56. package/dist/Atomic/FormElements/SwitcherRange/SwitcherRange.js +17 -3
  57. package/dist/Atomic/FormElements/SwitcherRangeList/SwitcherRangeList.js +11 -1
  58. package/dist/Atomic/FormElements/SwitcherTagsDropdown/SwitcherTagsDropdown.js +29 -6
  59. package/dist/Atomic/FormElements/SwitcherTagsDropdown/partial/States.js +3 -2
  60. package/dist/Atomic/FormElements/SwitcherTextarea/SwitcherTextarea.js +12 -1
  61. package/dist/Atomic/FormElements/TagsDropdown/TagsDropdown.js +170 -58
  62. package/dist/Atomic/FormElements/Text/Text.js +16 -10
  63. package/dist/Atomic/FormElements/TextSwitcher/TextSwitcher.js +9 -1
  64. package/dist/Atomic/FormElements/Textarea/Textarea.js +16 -3
  65. package/dist/Atomic/FormElements/TieredCheckboxes/TieredCheckboxes.js +35 -6
  66. package/dist/Atomic/FormElements/TieredCheckboxes/partial/AccordionWithCheckbox.js +13 -4
  67. package/dist/Atomic/FormElements/TimeRange/TimeRange.js +21 -7
  68. package/dist/Atomic/FormElements/UserContacts/UserContacts.js +35 -8
  69. package/dist/Atomic/FormElements/UserContacts/partial/defaultIcons.js +91 -0
  70. package/dist/Atomic/FormElements/VariantsListRadio/VariantsListRadio.js +18 -5
  71. package/dist/Atomic/FormElements/VariantsListRadio/partials/VariantsListRadioItem.js +10 -3
  72. package/dist/Atomic/FormElements/WidgetPseudoTable/WidgetPseudoTable.js +11 -3
  73. package/dist/Atomic/FormElements/WidgetPseudoTable/partial/constructor.js +2 -1
  74. package/dist/Atomic/FormElements/WidgetWithSwitchableRows/WidgetWithSwitchableRows.js +12 -5
  75. package/dist/Atomic/FormElements/WidgetWithSwitchableRows/partial/constructor.js +3 -3
  76. package/dist/Atomic/Layout/Header/Header.js +15 -3
  77. package/dist/Atomic/Layout/MainMenu/MainMenu.js +20 -3
  78. package/dist/Atomic/Layout/Spinner/Spinner.js +8 -1
  79. package/dist/Atomic/UI/Accordion/Accordion.js +19 -3
  80. package/dist/Atomic/UI/Accordion/AccordionItem.js +23 -9
  81. package/dist/Atomic/UI/AccordionTable/AccordionTable.js +32 -7
  82. package/dist/Atomic/UI/AccordionText/AccordionText.js +15 -3
  83. package/dist/Atomic/UI/AdvancedTag/AdvTag.js +21 -4
  84. package/dist/Atomic/UI/AdvancedTag/AdvancedTags.js +15 -3
  85. package/dist/Atomic/UI/Alert/Alert.js +19 -3
  86. package/dist/Atomic/UI/Arrow/Arrow.js +16 -3
  87. package/dist/Atomic/UI/Box/Box.js +9 -3
  88. package/dist/Atomic/UI/Button/Button.js +11 -2
  89. package/dist/Atomic/UI/ButtonsBar/ButtonsBar.js +10 -1
  90. package/dist/Atomic/UI/Chart/Chart.js +29 -4
  91. package/dist/Atomic/UI/Chart/partial/Chart.constants.js +19 -11
  92. package/dist/Atomic/UI/Chart/partial/ChartTypeSwitcherIcon/ChartTypeSwitcherIcon.js +12 -1
  93. package/dist/Atomic/UI/Chart/partial/datasetSetters.js +34 -11
  94. package/dist/Atomic/UI/Chart/partial/optionsConstructor.js +56 -82
  95. package/dist/Atomic/UI/Chart/partial/optionsSetters.js +19 -15
  96. package/dist/Atomic/UI/Chart/partial/utils.js +20 -6
  97. package/dist/Atomic/UI/CircleProgressBar/CircleProgressBar.js +13 -3
  98. package/dist/Atomic/UI/DateTime/DateTime.js +14 -3
  99. package/dist/Atomic/UI/DebugContainer/DebugContainer.js +16 -4
  100. package/dist/Atomic/UI/DebugContainer/useDebugContainer.js +11 -3
  101. package/dist/Atomic/UI/DoubleString/DoubleString.js +17 -5
  102. package/dist/Atomic/UI/DynamicIcon/DynamicIcon.js +10 -3
  103. package/dist/Atomic/UI/ExampleChartIntegration/ExampleChartIntegration.js +52 -17
  104. package/dist/Atomic/UI/ExampleChartIntegration/partial/utils.js +29 -1
  105. package/dist/Atomic/UI/Hint/Hint.js +31 -5
  106. package/dist/Atomic/UI/Modal/Modal.js +28 -6
  107. package/dist/Atomic/UI/Modal/ModalHOC.js +9 -1
  108. package/dist/Atomic/UI/Modal/partials/ModalFooter.js +7 -1
  109. package/dist/Atomic/UI/Modal/partials/ModalTitle.js +8 -1
  110. package/dist/Atomic/UI/Modal/partials/useMobileModal.js +49 -32
  111. package/dist/Atomic/UI/ModalBackup/Modal.js +174 -0
  112. package/dist/Atomic/UI/ModalBackup/Modal.scss +333 -0
  113. package/dist/Atomic/UI/ModalBackup/ModalHOC.js +51 -0
  114. package/dist/Atomic/UI/ModalBackup/partials/ModalFooter.js +24 -0
  115. package/dist/Atomic/UI/ModalBackup/partials/ModalTitle.js +41 -0
  116. package/dist/Atomic/UI/MonoAccordion/MonoAccordion.js +21 -6
  117. package/dist/Atomic/UI/NavLine/NavLine.js +55 -26
  118. package/dist/Atomic/UI/NavLine/Tabs.js +3 -2
  119. package/dist/Atomic/UI/PageTitle/PageTitle.js +10 -2
  120. package/dist/Atomic/UI/PieChart/PieChart.js +10 -1
  121. package/dist/Atomic/UI/Price/Price.js +8 -3
  122. package/dist/Atomic/UI/PriceRange/PriceRange.js +7 -1
  123. package/dist/Atomic/UI/ProgressLine/ProgressLine.js +16 -1
  124. package/dist/Atomic/UI/Status/Status.js +8 -1
  125. package/dist/Atomic/UI/Table/Partials/TdCell.js +29 -5
  126. package/dist/Atomic/UI/Table/Partials/TdHeader.js +11 -1
  127. package/dist/Atomic/UI/Table/Partials/TdRow.js +17 -5
  128. package/dist/Atomic/UI/Table/Partials/TdTitle.js +14 -3
  129. package/dist/Atomic/UI/Table/Table.js +12 -1
  130. package/dist/Atomic/UI/Table/TdTypes/TdActions.js +18 -2
  131. package/dist/Atomic/UI/Table/TdTypes/TdPriority.js +9 -1
  132. package/dist/Atomic/UI/Table/TdTypes/TdRange.js +4 -1
  133. package/dist/Atomic/UI/Table/TdTypes/TdWeight.js +13 -1
  134. package/dist/Atomic/UI/Tag/Tag.js +14 -3
  135. package/dist/Atomic/UI/TagList/TagList.js +35 -19
  136. package/dist/Atomic/UI/UserBox/UserBox.js +13 -1
  137. package/dist/Classes/AbortableFetch.js +93 -36
  138. package/dist/Classes/AnimatedHandler.js +7 -3
  139. package/dist/Classes/RESTAPI/index.js +44 -39
  140. package/dist/Classes/RESTAPI/partials/AbortableFetch.js +93 -35
  141. package/dist/Classes/RESTAPI/partials/ApiBase.js +9 -1
  142. package/dist/Classes/RESTAPI/partials/ApiRequestCreators.js +32 -24
  143. package/dist/Classes/RESTAPI/partials/ApiUtils.js +41 -34
  144. package/dist/Classes/RESTAPI/partials/CredentialsProcessing.js +44 -21
  145. package/dist/Classes/RESTAPI/partials/Utils.js +19 -6
  146. package/dist/Classes/RESTAPI/partials/_outerDependencies.js +6 -2
  147. package/dist/Classes/RESTAPI/partials/_utils.js +36 -13
  148. package/dist/Constants/index.constants.js +15 -8
  149. package/dist/Functions/Portal.js +16 -5
  150. package/dist/Functions/customEventListener.js +17 -4
  151. package/dist/Functions/fieldValueFormatters.js +83 -43
  152. package/dist/Functions/hooks/useFormFieldsChangesManager.js +26 -23
  153. package/dist/Functions/locale/createTranslator.js +9 -4
  154. package/dist/Functions/operations.js +22 -12
  155. package/dist/Functions/presets/inputMaskPresets.js +11 -9
  156. package/dist/Functions/presets/inputPresets.js +11 -8
  157. package/dist/Functions/presets/mobileKeyboardTypesPresets.js +9 -7
  158. package/dist/Functions/schemas.js +13 -6
  159. package/dist/Functions/useBodyScrollLock.js +6 -1
  160. package/dist/Functions/useClickOutside.js +4 -0
  161. package/dist/Functions/useDebounce.js +7 -2
  162. package/dist/Functions/useFieldFocus.js +18 -6
  163. package/dist/Functions/useFormTools/form-drivers/ArrayWithObjects.js +9 -0
  164. package/dist/Functions/useFormTools/form-drivers/ObjectWithIterableObjects.js +23 -12
  165. package/dist/Functions/useFormTools/form-drivers/ObjectWithNamedKeyObjects.js +15 -6
  166. package/dist/Functions/useFormTools/functions/General.js +28 -18
  167. package/dist/Functions/useFormTools/functions/RenderFields.js +11 -2
  168. package/dist/Functions/useFormTools/functions/usePrevious.js +5 -1
  169. package/dist/Functions/useFormTools/index.js +144 -85
  170. package/dist/Functions/useInputHighlightError.js +12 -3
  171. package/dist/Functions/useIsMobile.js +13 -7
  172. package/dist/Functions/useKeyPress/useHandleKeyPress.js +7 -1
  173. package/dist/Functions/useKeyPress/useKeyPress.js +9 -1
  174. package/dist/Functions/useLocalStorage.js +9 -1
  175. package/dist/Functions/useLocationParams.js +5 -4
  176. package/dist/Functions/useMediaQuery.js +9 -3
  177. package/dist/Functions/useMetaInfo.js +10 -3
  178. package/dist/Functions/useMouseUpOutside.js +3 -0
  179. package/dist/Functions/useOnlineStatus.js +9 -1
  180. package/dist/Functions/usePasswordChecker.js +20 -4
  181. package/dist/Functions/usePrevious.js +5 -1
  182. package/dist/Functions/useResize.js +10 -2
  183. package/dist/Functions/useScrollTo.js +7 -2
  184. package/dist/Functions/useToggle.js +5 -1
  185. package/dist/Functions/utils.js +131 -56
  186. package/dist/Molecular/CustomIcons/components/AffiliateNetworks.js +9 -2
  187. package/dist/Molecular/CustomIcons/components/AlertCircle.js +9 -2
  188. package/dist/Molecular/CustomIcons/components/AppStore.js +9 -2
  189. package/dist/Molecular/CustomIcons/components/Arrow.js +9 -2
  190. package/dist/Molecular/CustomIcons/components/ArrowDown.js +9 -2
  191. package/dist/Molecular/CustomIcons/components/ArrowLeft.js +9 -2
  192. package/dist/Molecular/CustomIcons/components/ArrowRight.js +9 -2
  193. package/dist/Molecular/CustomIcons/components/ArrowUp.js +9 -2
  194. package/dist/Molecular/CustomIcons/components/Bell.js +9 -2
  195. package/dist/Molecular/CustomIcons/components/Button.js +9 -2
  196. package/dist/Molecular/CustomIcons/components/Campaigns.js +9 -2
  197. package/dist/Molecular/CustomIcons/components/Check.js +9 -2
  198. package/dist/Molecular/CustomIcons/components/Check2.js +9 -2
  199. package/dist/Molecular/CustomIcons/components/ChevronDown.js +9 -2
  200. package/dist/Molecular/CustomIcons/components/ChevronDownDisabled.js +9 -2
  201. package/dist/Molecular/CustomIcons/components/ChevronLeft.js +9 -2
  202. package/dist/Molecular/CustomIcons/components/ChevronRight.js +9 -2
  203. package/dist/Molecular/CustomIcons/components/ChevronUp.js +9 -2
  204. package/dist/Molecular/CustomIcons/components/ChevronUpDown.js +9 -2
  205. package/dist/Molecular/CustomIcons/components/Close.js +9 -2
  206. package/dist/Molecular/CustomIcons/components/ColumnsOrder.js +9 -2
  207. package/dist/Molecular/CustomIcons/components/Delete.js +9 -2
  208. package/dist/Molecular/CustomIcons/components/Edit.js +9 -2
  209. package/dist/Molecular/CustomIcons/components/Email.js +9 -2
  210. package/dist/Molecular/CustomIcons/components/FinturfLogo.js +9 -2
  211. package/dist/Molecular/CustomIcons/components/FinturfLogo2.js +9 -2
  212. package/dist/Molecular/CustomIcons/components/Flows.js +9 -2
  213. package/dist/Molecular/CustomIcons/components/Gift.js +9 -2
  214. package/dist/Molecular/CustomIcons/components/GoogleAuth.js +9 -2
  215. package/dist/Molecular/CustomIcons/components/GooglePlay.js +9 -2
  216. package/dist/Molecular/CustomIcons/components/HelpCircle.js +9 -2
  217. package/dist/Molecular/CustomIcons/components/HelpCircle2.js +9 -2
  218. package/dist/Molecular/CustomIcons/components/HelpCircleFilled.js +9 -2
  219. package/dist/Molecular/CustomIcons/components/Home.js +9 -2
  220. package/dist/Molecular/CustomIcons/components/Home2.js +9 -2
  221. package/dist/Molecular/CustomIcons/components/Key.js +9 -2
  222. package/dist/Molecular/CustomIcons/components/Landers.js +9 -2
  223. package/dist/Molecular/CustomIcons/components/Lock.js +9 -2
  224. package/dist/Molecular/CustomIcons/components/Mail.js +9 -2
  225. package/dist/Molecular/CustomIcons/components/Mastercard.js +9 -2
  226. package/dist/Molecular/CustomIcons/components/Minus.js +9 -2
  227. package/dist/Molecular/CustomIcons/components/Offers.js +9 -2
  228. package/dist/Molecular/CustomIcons/components/Pause.js +9 -2
  229. package/dist/Molecular/CustomIcons/components/PayPal.js +9 -2
  230. package/dist/Molecular/CustomIcons/components/PayPalLightLarge.js +9 -2
  231. package/dist/Molecular/CustomIcons/components/Phone.js +9 -2
  232. package/dist/Molecular/CustomIcons/components/Play.js +9 -2
  233. package/dist/Molecular/CustomIcons/components/Plus.js +9 -2
  234. package/dist/Molecular/CustomIcons/components/Profile.js +9 -2
  235. package/dist/Molecular/CustomIcons/components/QRCode.js +9 -2
  236. package/dist/Molecular/CustomIcons/components/Rectangle.js +9 -2
  237. package/dist/Molecular/CustomIcons/components/Revert.js +9 -2
  238. package/dist/Molecular/CustomIcons/components/Star.js +9 -2
  239. package/dist/Molecular/CustomIcons/components/Star2.js +9 -2
  240. package/dist/Molecular/CustomIcons/components/TrafficSources.js +9 -2
  241. package/dist/Molecular/CustomIcons/components/Trash.js +9 -2
  242. package/dist/Molecular/CustomIcons/components/TrashRed.js +9 -2
  243. package/dist/Molecular/CustomIcons/components/Triggers.js +9 -2
  244. package/dist/Molecular/CustomIcons/components/User.js +9 -2
  245. package/dist/Molecular/CustomIcons/components/Visa.js +9 -2
  246. package/dist/Molecular/CustomIcons/components/X.js +9 -2
  247. package/dist/Molecular/CustomIcons/index.js +122 -0
  248. package/dist/Molecular/FormElement/FormElement.js +12 -1
  249. package/dist/Molecular/FormWithDependOn/FormWithDependOn.js +31 -30
  250. package/dist/Molecular/FormWithDependOn/partials/_utils.js +12 -9
  251. package/dist/Molecular/InputAddress/InputAddress.js +114 -65
  252. package/dist/Molecular/InputPassword/InputPassword.js +19 -5
  253. package/dist/index.js +2 -0
  254. package/package.json +1 -1
@@ -1,29 +1,48 @@
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 _Tag = _interopRequireDefault(require("../../UI/Tag/Tag"));
31
+
19
32
  var _TagList = _interopRequireDefault(require("../../UI/TagList/TagList"));
33
+
20
34
  require("./TagsDropdown.scss");
21
- 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); }
22
- 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; }
35
+
36
+ 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); }
37
+
38
+ 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; }
39
+
23
40
  const RC = "tags-dropdown";
24
41
  const MIN_ITEMS_FOR_SHOW_MOBILE_SEARCH = 10;
42
+
25
43
  const TagsDropdown = _ref => {
26
- var _Object$keys, _dropdownListWrapperR, _dropdownListRef$curr5, _dropdownListRef$curr6;
44
+ var _Object$keys, _dropdownListWrapperR, _dropdownListWrapperR2, _dropdownListRef$curr5, _dropdownListRef$curr6;
45
+
27
46
  let {
28
47
  options,
29
48
  chosenOptions = [],
@@ -65,8 +84,8 @@ const TagsDropdown = _ref => {
65
84
  isMobile: isMobileProp
66
85
  } = (0, _useIsMobile.default)();
67
86
  const isMobile = isMobileProp && withMobileLogic && window.screen.width <= 768;
68
- const [dropdownId, setDropdownId] = (0, _react.useState)(id || fieldKey || Math.random().toString(16).slice(2));
69
- const [isOpen, setIsOpen] = (0, _react.useState)(false);
87
+ const [dropdownId] = (0, _react.useState)(id || fieldKey || Math.random().toString(16).slice(2));
88
+ const [isOpen, setIsOpenState] = (0, _react.useState)(false);
70
89
  const [searchValue, setSearchValue] = (0, _react.useState)("");
71
90
  const dropdownRef = (0, _react.useRef)(null);
72
91
  const dropdownListRef = (0, _react.useRef)(null);
@@ -93,28 +112,39 @@ const TagsDropdown = _ref => {
93
112
  } = _ref2;
94
113
  return value === (item === null || item === void 0 ? void 0 : item.value);
95
114
  });
115
+
96
116
  if (isExist !== -1) {
97
117
  acc[isExist] = item;
98
118
  } else {
99
119
  acc.push(item);
100
120
  }
101
121
  };
122
+
102
123
  if (item.groupName) {
103
124
  var _item$list;
104
- (_item$list = item.list) === null || _item$list === void 0 || _item$list.map(item => checkUniqAndPush(acc, item));
125
+
126
+ (_item$list = item.list) === null || _item$list === void 0 ? void 0 : _item$list.map(item => checkUniqAndPush(acc, item));
105
127
  } else {
106
128
  checkUniqAndPush(acc, item);
107
129
  }
130
+
108
131
  return acc;
109
132
  }, (_Object$keys = Object.keys(localOptionsStore)) === null || _Object$keys === void 0 ? void 0 : _Object$keys.map(value => ({
110
133
  value,
111
134
  label: localOptionsStore === null || localOptionsStore === void 0 ? void 0 : localOptionsStore[value]
112
135
  })));
136
+
113
137
  const setSearchValueInterceptor = value => {
114
138
  setSearchValue(value);
115
139
  setIsValueDeleted(value === "");
116
140
  searchValueRef.current = value;
117
141
  };
142
+
143
+ const setIsOpen = v => {
144
+ setIsOpenState(v);
145
+ setSearchValueInterceptor(v ? "" : null);
146
+ };
147
+
118
148
  const doScrollCallback = (0, _react.useCallback)(e => {
119
149
  if (doLiveSearchRequest && typeof doLiveSearchRequest === "function") {
120
150
  if (Math.round(e.target.clientHeight + e.target.scrollTop) == e.target.scrollHeight) {
@@ -122,48 +152,58 @@ const TagsDropdown = _ref => {
122
152
  }
123
153
  }
124
154
  }, [options]);
155
+
125
156
  const handleClickOutside = _ref3 => {
126
157
  var _getListContainer;
158
+
127
159
  let {
128
160
  target
129
161
  } = _ref3;
130
- if (
131
- // eslint-disable-next-line no-use-before-define
132
- !((_getListContainer = getListContainer()) !== null && _getListContainer !== void 0 && _getListContainer.contains(target)) /* && !isTargetInParent(target) */) {
162
+
163
+ if ( // eslint-disable-next-line no-use-before-define
164
+ !((_getListContainer = getListContainer()) !== null && _getListContainer !== void 0 && _getListContainer.contains(target))
165
+ /* && !isTargetInParent(target) */
166
+ ) {
133
167
  setIsOpen(false);
134
- setSearchValueInterceptor("");
168
+ setSearchValueInterceptor(null);
135
169
  }
136
170
  };
171
+
137
172
  const deleteChosen = value => {
138
173
  if (isMobile ? closeOnRemoveMobile : closeOnRemove) setIsOpen(false);
139
- setLocalOptionsStore(options => ({
140
- ...options,
174
+ setLocalOptionsStore(options => ({ ...options,
141
175
  [value]: undefined
142
176
  }));
143
177
  onChange(chosenOptions.filter(item => item !== value), "chosenOptions");
144
178
  };
179
+
145
180
  const onChangeHandler = item => {
146
181
  if (item !== null && item !== void 0 && item.isFreezed) return false;
182
+
147
183
  if ((item === null || item === void 0 ? void 0 : item.closeOnOptionSelect) !== undefined) {
148
184
  if (item.closeOnOptionSelect) setIsOpen(false);
149
185
  } else if (isMobile ? closeOnSelectMobile : closeOnSelect) setIsOpen(false);
186
+
150
187
  setSearchValueInterceptor("");
188
+
151
189
  if (chosenOptions.some(el => el === item.value)) {
152
190
  deleteChosen(item.value);
153
191
  return null;
154
192
  }
155
- setLocalOptionsStore(options => ({
156
- ...options,
193
+
194
+ setLocalOptionsStore(options => ({ ...options,
157
195
  [item === null || item === void 0 ? void 0 : item.value]: item === null || item === void 0 ? void 0 : item.label
158
196
  }));
159
197
  onChange([...chosenOptions, item.value], "chosenOptions");
160
198
  return null;
161
199
  };
200
+
162
201
  const onSearchHandler = name => {
163
202
  let inputValue = name;
164
203
  if (!isNotValidateASCII) inputValue = (0, _fieldValueFormatters.formatToOnlyASCIICodeText)(inputValue);
165
204
  setSearchValueInterceptor(inputValue);
166
205
  };
206
+
167
207
  const onWrapperClick = e => {
168
208
  if (e.target === (wrapperRef === null || wrapperRef === void 0 ? void 0 : wrapperRef.current)) {
169
209
  e.stopPropagation();
@@ -171,14 +211,18 @@ const TagsDropdown = _ref => {
171
211
  setIsOpen(false);
172
212
  }
173
213
  };
214
+
174
215
  const getMarkupForElement = item => {
175
216
  var _title$toString, _item$customMobileIco;
217
+
176
218
  const {
177
219
  description
178
220
  } = item;
179
221
  const title = item.title || item.label;
222
+
180
223
  const hightlightSearchValue = title => {
181
224
  var _title$toLowerCase;
225
+
182
226
  const index = (_title$toLowerCase = title.toLowerCase()) === null || _title$toLowerCase === void 0 ? void 0 : _title$toLowerCase.indexOf(searchValue.toLowerCase());
183
227
  if (index === -1) return title;
184
228
  return /*#__PURE__*/_react.default.createElement("pre", {
@@ -187,8 +231,9 @@ const TagsDropdown = _ref => {
187
231
  className: "search-match bg--yellow"
188
232
  }, 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))));
189
233
  };
234
+
190
235
  return /*#__PURE__*/_react.default.createElement("button", {
191
- key: title === null || title === void 0 || (_title$toString = title.toString()) === null || _title$toString === void 0 ? void 0 : _title$toString.replace(/ /g, "_"),
236
+ key: title === null || title === void 0 ? void 0 : (_title$toString = title.toString()) === null || _title$toString === void 0 ? void 0 : _title$toString.replace(/ /g, "_"),
192
237
  onClick: e => {
193
238
  e.preventDefault();
194
239
  e.stopPropagation();
@@ -222,11 +267,14 @@ const TagsDropdown = _ref => {
222
267
  }
223
268
  }) : "");
224
269
  };
270
+
225
271
  const prepareOptions = options => {
226
272
  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();
227
273
  };
274
+
228
275
  const selectAllItems = () => {
229
276
  var _prepareOptions;
277
+
230
278
  const preparedOptions = (_prepareOptions = prepareOptions(options)) === null || _prepareOptions === void 0 ? void 0 : _prepareOptions.filter(_ref4 => {
231
279
  let {
232
280
  isFreezed,
@@ -250,57 +298,71 @@ const TagsDropdown = _ref => {
250
298
  })) || [])], "chosenOptions");
251
299
  if (isMobile ? closeOnSelectAllMobile : closeOnSelectAll) setIsOpen(false);
252
300
  };
301
+
253
302
  const unselectAllItems = () => {
254
303
  setLocalOptionsStore({});
255
304
  onChange(chosenOptions === null || chosenOptions === void 0 ? void 0 : chosenOptions.filter(item => {
256
- var _prepareOptions2;
257
- return (_prepareOptions2 = prepareOptions(options)) === null || _prepareOptions2 === void 0 || (_prepareOptions2 = _prepareOptions2.find(_ref7 => {
305
+ var _prepareOptions2, _prepareOptions2$find;
306
+
307
+ return (_prepareOptions2 = prepareOptions(options)) === null || _prepareOptions2 === void 0 ? void 0 : (_prepareOptions2$find = _prepareOptions2.find(_ref7 => {
258
308
  let {
259
309
  value
260
310
  } = _ref7;
261
311
  return value === item;
262
- })) === null || _prepareOptions2 === void 0 ? void 0 : _prepareOptions2.isFreezed;
312
+ })) === null || _prepareOptions2$find === void 0 ? void 0 : _prepareOptions2$find.isFreezed;
263
313
  }), "chosenOptions");
264
314
  if (isMobile ? closeOnRemoveAllMobile : closeOnRemoveAll) setIsOpen(false);
265
315
  };
316
+
266
317
  const getParentNode = () => {
267
318
  var _ref8, _document$querySelect;
319
+
268
320
  return (_ref8 = (_document$querySelect = document.querySelector("div#root")) !== null && _document$querySelect !== void 0 ? _document$querySelect : document.querySelector("div#app")) !== null && _ref8 !== void 0 ? _ref8 : document.querySelector("div#storybook-root");
269
321
  };
322
+
270
323
  const initListContainer = () => {
271
324
  const dropdownList = document.createElement("div");
272
325
  dropdownList.setAttribute("id", dropdownId);
273
326
  dropdownList.classList.add("tags-dropdown__container");
327
+
274
328
  if (isMobile) {
275
329
  dropdownList.addEventListener("click", e => {
276
330
  if (e.target.id === dropdownId) setIsOpen(false);
277
331
  });
278
332
  }
333
+
279
334
  if (isMobile) {
280
335
  var _getParentNode;
336
+
281
337
  try {
282
338
  var _document$getElementB;
283
- (_document$getElementB = document.getElementById("mlw-".concat(dropdownId))) === null || _document$getElementB === void 0 || _document$getElementB.remove();
284
- // eslint-disable-next-line no-empty
339
+
340
+ (_document$getElementB = document.getElementById("mlw-".concat(dropdownId))) === null || _document$getElementB === void 0 ? void 0 : _document$getElementB.remove(); // eslint-disable-next-line no-empty
285
341
  } catch (e) {}
342
+
286
343
  const dropdownMobileListWrapper = document.createElement("div");
287
344
  dropdownMobileListWrapper.classList.add("tags-dropdown-mobile");
288
345
  dropdownMobileListWrapper.setAttribute("id", "mlw-".concat(dropdownId));
289
- dropdownMobileListWrapper === null || dropdownMobileListWrapper === void 0 || dropdownMobileListWrapper.append(dropdownList);
290
- (_getParentNode = getParentNode()) === null || _getParentNode === void 0 || _getParentNode.append(dropdownMobileListWrapper);
346
+ dropdownMobileListWrapper === null || dropdownMobileListWrapper === void 0 ? void 0 : dropdownMobileListWrapper.append(dropdownList);
347
+ (_getParentNode = getParentNode()) === null || _getParentNode === void 0 ? void 0 : _getParentNode.append(dropdownMobileListWrapper);
291
348
  } else {
292
349
  var _getParentNode2;
293
- (_getParentNode2 = getParentNode()) === null || _getParentNode2 === void 0 || _getParentNode2.append(dropdownList);
350
+
351
+ (_getParentNode2 = getParentNode()) === null || _getParentNode2 === void 0 ? void 0 : _getParentNode2.append(dropdownList);
294
352
  }
295
353
  };
354
+
296
355
  const getListContainer = () => {
297
356
  return document.getElementById(dropdownId);
298
357
  };
358
+
299
359
  const getListContainerWrapper = () => {
300
360
  return document.getElementById("mlw-".concat(dropdownId));
301
361
  };
362
+
302
363
  const setListContainerStyles = () => {
303
- var _dropdownRef$current$, _dropdownRef$current, _getComputedStyle$mar, _getComputedStyle, _getComputedStyle$max, _getComputedStyle2, _dl$getBoundingClient, _sw$getBoundingClient, _sw$getBoundingClient2, _lh$getBoundingClient, _lf$getBoundingClient;
364
+ var _dropdownRef$current$, _dropdownRef$current, _getComputedStyle$mar, _getComputedStyle, _getComputedStyle$mar2, _getComputedStyle$max, _getComputedStyle2, _getComputedStyle2$ma, _dl$getBoundingClient, _sw$getBoundingClient, _sw$getBoundingClient2, _lh$getBoundingClient, _lf$getBoundingClient;
365
+
304
366
  const lc = getListContainer();
305
367
  if (!lc || !isOpen) return false;
306
368
  const windowHeight = window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight;
@@ -309,75 +371,87 @@ const TagsDropdown = _ref => {
309
371
  height,
310
372
  left,
311
373
  top
312
- } = (_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$ : {};
374
+ } = (_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$ : {};
313
375
  const sw = dropdownListWrapperRef === null || dropdownListWrapperRef === void 0 ? void 0 : dropdownListWrapperRef.current;
314
376
  const dl = lc.getElementsByClassName("tags-dropdown__list")[0];
315
377
  const lh = sw === null || sw === void 0 ? void 0 : sw.getElementsByClassName("tags-dropdown__header")[0];
316
378
  const lf = sw === null || sw === void 0 ? void 0 : sw.getElementsByClassName("tags-dropdown__footer")[0];
317
- const margin = parseInt((_getComputedStyle$mar = (_getComputedStyle = getComputedStyle(sw)) === 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);
318
- const maxHeight = initListHeight !== null && initListHeight !== void 0 ? initListHeight : parseInt((_getComputedStyle$max = (_getComputedStyle2 = getComputedStyle(dl)) === null || _getComputedStyle2 === void 0 || (_getComputedStyle2 = _getComputedStyle2.maxHeight) === null || _getComputedStyle2 === void 0 ? void 0 : _getComputedStyle2.replace("px", "")) !== null && _getComputedStyle$max !== void 0 ? _getComputedStyle$max : 0, 10);
379
+ const margin = parseInt((_getComputedStyle$mar = (_getComputedStyle = getComputedStyle(sw)) === 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);
380
+ const maxHeight = initListHeight !== null && initListHeight !== void 0 ? initListHeight : parseInt((_getComputedStyle$max = (_getComputedStyle2 = getComputedStyle(dl)) === null || _getComputedStyle2 === void 0 ? void 0 : (_getComputedStyle2$ma = _getComputedStyle2.maxHeight) === null || _getComputedStyle2$ma === void 0 ? void 0 : _getComputedStyle2$ma.replace("px", "")) !== null && _getComputedStyle$max !== void 0 ? _getComputedStyle$max : 0, 10);
319
381
  if (initListHeight === null) setInitListHeight(maxHeight);
320
382
  const toTop = top - margin;
321
383
  const toBottom = windowHeight - top - height - margin * 2;
322
- const dlHeight = dl === null || dl === void 0 || (_dl$getBoundingClient = dl.getBoundingClientRect()) === null || _dl$getBoundingClient === void 0 ? void 0 : _dl$getBoundingClient.height;
323
- let swHeight = sw === null || sw === void 0 || (_sw$getBoundingClient = sw.getBoundingClientRect()) === null || _sw$getBoundingClient === void 0 ? void 0 : _sw$getBoundingClient.height;
384
+ const dlHeight = dl === null || dl === void 0 ? void 0 : (_dl$getBoundingClient = dl.getBoundingClientRect()) === null || _dl$getBoundingClient === void 0 ? void 0 : _dl$getBoundingClient.height;
385
+ let swHeight = sw === null || sw === void 0 ? void 0 : (_sw$getBoundingClient = sw.getBoundingClientRect()) === null || _sw$getBoundingClient === void 0 ? void 0 : _sw$getBoundingClient.height;
324
386
  const controlsHeight = swHeight - dlHeight;
325
387
  if (swHeight > maxHeight) swHeight = maxHeight - 2 * margin;
326
- const maxSwHeight = (sw === null || sw === void 0 || (_sw$getBoundingClient2 = sw.getBoundingClientRect()) === null || _sw$getBoundingClient2 === void 0 ? void 0 : _sw$getBoundingClient2.height) - (lh === null || lh === void 0 || (_lh$getBoundingClient = lh.getBoundingClientRect()) === null || _lh$getBoundingClient === void 0 ? void 0 : _lh$getBoundingClient.height) - (lf === null || lf === void 0 || (_lf$getBoundingClient = lf.getBoundingClientRect()) === null || _lf$getBoundingClient === void 0 ? void 0 : _lf$getBoundingClient.height);
388
+ const maxSwHeight = (sw === null || sw === void 0 ? void 0 : (_sw$getBoundingClient2 = sw.getBoundingClientRect()) === null || _sw$getBoundingClient2 === void 0 ? void 0 : _sw$getBoundingClient2.height) - (lh === null || lh === void 0 ? void 0 : (_lh$getBoundingClient = lh.getBoundingClientRect()) === null || _lh$getBoundingClient === void 0 ? void 0 : _lh$getBoundingClient.height) - (lf === null || lf === void 0 ? void 0 : (_lf$getBoundingClient = lf.getBoundingClientRect()) === null || _lf$getBoundingClient === void 0 ? void 0 : _lf$getBoundingClient.height);
327
389
  const listPos = toTop < toBottom || toBottom >= swHeight ? "bottom" : "top";
328
390
  if (swHeight > (listPos === "top" ? toTop : toBottom)) swHeight = (listPos === "top" ? toTop : toBottom) - 3 * margin;
329
391
  lc.style.minWidth = "".concat(width, "px");
330
392
  lc.style.left = "".concat(left, "px");
331
393
  lc.style.top = "".concat(listPos === "bottom" ? top + height : top - swHeight - 2 * margin, "px");
394
+
332
395
  if (isMobile) {
333
396
  dl.style.maxHeight = "".concat(maxSwHeight, "px");
334
397
  }
335
398
  };
399
+
336
400
  const renderListContainer = () => {
337
401
  const lc = getListContainer();
338
- if (!lc) return null;
402
+ if (!lc) return null; // eslint-disable-next-line no-use-before-define
339
403
 
340
- // eslint-disable-next-line no-use-before-define
341
404
  return /*#__PURE__*/(0, _reactDom.createPortal)(getListMarkUp(), lc);
342
405
  };
406
+
343
407
  const isTargetInParent = target => {
344
408
  var _target$className, _target$className$ind, _target$className2, _target$className2$in;
409
+
345
410
  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;
346
- 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) === "".concat(RC, "__trigger") || (target === null || target === void 0 ? void 0 : target.className) === "tags-dropdown__arrow") return true;
411
+ 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) === "".concat(RC, "__trigger") || (target === null || target === void 0 ? void 0 : target.className) === "tags-dropdown__arrow") return true;
347
412
  return false;
348
413
  };
414
+
349
415
  const isItemMatchesSearch = item => {
350
416
  const title = item.title || item.label;
351
417
  return searchValue.length ? title.toLowerCase().includes((searchValue === null || searchValue === void 0 ? void 0 : searchValue.toLowerCase()) || "") : true;
352
418
  };
419
+
353
420
  const getFilteredOptions = options => options === null || options === void 0 ? void 0 : options.reduce((result, option) => {
354
421
  if (option.groupName) {
355
422
  var _option$list;
356
- const filteredGroupItems = option === null || option === void 0 || (_option$list = option.list) === null || _option$list === void 0 ? void 0 : _option$list.filter(item => isItemMatchesSearch(item));
423
+
424
+ 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));
425
+
357
426
  if (filteredGroupItems !== null && filteredGroupItems !== void 0 && filteredGroupItems.length) {
358
- result.push({
359
- ...option,
427
+ result.push({ ...option,
360
428
  list: filteredGroupItems
361
429
  });
362
430
  }
363
431
  } else if (isItemMatchesSearch(option)) {
364
432
  result.push(option);
365
433
  }
434
+
366
435
  return result;
367
436
  }, []);
437
+
368
438
  const getTotalOptions = (0, _react.useCallback)(() => {
369
439
  return options === null || options === void 0 ? void 0 : options.reduce((result, item) => {
370
440
  if (item !== null && item !== void 0 && item.list) {
371
441
  var _item$list2;
372
- result += (item === null || item === void 0 || (_item$list2 = item.list) === null || _item$list2 === void 0 ? void 0 : _item$list2.length) || 0;
442
+
443
+ result += (item === null || item === void 0 ? void 0 : (_item$list2 = item.list) === null || _item$list2 === void 0 ? void 0 : _item$list2.length) || 0;
373
444
  } else {
374
445
  ++result;
375
446
  }
447
+
376
448
  return result;
377
449
  }, 0);
378
450
  }, [options]);
451
+
379
452
  const getListMarkUp = () => {
380
453
  var _filteredOptions$filt, _filteredOptions$filt2;
454
+
381
455
  const filteredOptions = getFilteredOptions(options);
382
456
  return /*#__PURE__*/_react.default.createElement("div", {
383
457
  className: (0, _classnames.default)("".concat(RC, "__container-wrapper")),
@@ -427,9 +501,10 @@ const TagsDropdown = _ref => {
427
501
  ref: dropdownListRef,
428
502
  className: "".concat(RC, "__list ").concat(headerContent || isMobile ? "".concat(RC, "__list--with-header") : "", " ").concat(footerContent ? "".concat(RC, "__list--with-footer") : "")
429
503
  }, filteredOptions === null || filteredOptions === void 0 ? void 0 : filteredOptions.map(option => {
430
- var _option$groupName, _option$list2;
504
+ var _option$groupName, _option$groupName$toS, _option$list2;
505
+
431
506
  return option.groupName ? /*#__PURE__*/_react.default.createElement("div", {
432
- 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()),
507
+ 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()),
433
508
  className: (0, _classnames.default)("".concat(RC, "-group"), option.className)
434
509
  }, /*#__PURE__*/_react.default.createElement("span", {
435
510
  className: "".concat(RC, "-group__name")
@@ -455,11 +530,14 @@ const TagsDropdown = _ref => {
455
530
  onClick: () => setIsOpen(false)
456
531
  }, "Apply", chosenOptions !== null && chosenOptions !== void 0 && chosenOptions.length ? "(".concat(chosenOptions === null || chosenOptions === void 0 ? void 0 : chosenOptions.length, ")") : "")) : null));
457
532
  };
533
+
458
534
  const closeList = e => {
459
535
  var _inputRef$current;
536
+
460
537
  handleClickOutside(e);
461
- inputRef === null || inputRef === void 0 || (_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 || _inputRef$current.blur();
538
+ inputRef === null || inputRef === void 0 ? void 0 : (_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 ? void 0 : _inputRef$current.blur();
462
539
  };
540
+
463
541
  (0, _react.useLayoutEffect)(() => {
464
542
  initListContainer();
465
543
  }, []);
@@ -473,6 +551,7 @@ const TagsDropdown = _ref => {
473
551
  window.removeEventListener("mousewheel", closeList);
474
552
  window.removeEventListener("mouseup", handleClickOutside);
475
553
  }
554
+
476
555
  return () => {
477
556
  window.removeEventListener("resize", setListContainerStyles);
478
557
  window.removeEventListener("mousewheel", closeList);
@@ -481,77 +560,105 @@ const TagsDropdown = _ref => {
481
560
  }, [getListContainer]);
482
561
  (0, _react.useLayoutEffect)(() => {
483
562
  setListContainerStyles();
484
- }, [isOpen, chosenOptions, isMobile, dropdownListWrapperRef === null || dropdownListWrapperRef === void 0 || (_dropdownListWrapperR = dropdownListWrapperRef.current) === null || _dropdownListWrapperR === void 0 || (_dropdownListWrapperR = _dropdownListWrapperR.getBoundingClientRect()) === null || _dropdownListWrapperR === void 0 ? void 0 : _dropdownListWrapperR.height]);
563
+ }, [isOpen, chosenOptions, isMobile, dropdownListWrapperRef === null || dropdownListWrapperRef === void 0 ? void 0 : (_dropdownListWrapperR = dropdownListWrapperRef.current) === null || _dropdownListWrapperR === void 0 ? void 0 : (_dropdownListWrapperR2 = _dropdownListWrapperR.getBoundingClientRect()) === null || _dropdownListWrapperR2 === void 0 ? void 0 : _dropdownListWrapperR2.height]);
564
+ (0, _react.useEffect)(() => {
565
+ if (chosenOptions.length !== Object.keys(localOptionsStore).length) {
566
+ options.map(option => {
567
+ if (!(localOptionsStore !== null && localOptionsStore !== void 0 && localOptionsStore[option === null || option === void 0 ? void 0 : option.value])) {
568
+ setLocalOptionsStore(options => ({ ...options,
569
+ [option === null || option === void 0 ? void 0 : option.value]: option === null || option === void 0 ? void 0 : option.label
570
+ }));
571
+ }
572
+ });
573
+ }
574
+ }, [chosenOptions]);
485
575
  (0, _react.useEffect)(() => {
486
576
  if (!isMobile) {
487
577
  document.addEventListener("click", handleClickOutside, true);
488
578
  } else {
489
579
  document.removeEventListener("click", handleClickOutside, true);
490
580
  }
581
+
491
582
  return () => document.removeEventListener("click", handleClickOutside, true);
492
583
  }, [isMobile]);
493
584
  (0, _react.useEffect)(() => {
494
585
  var _selectAllButtonRef$c, _unselectAllButtonRef;
586
+
495
587
  const fn = isOpen ? "addEventListener" : "removeEventListener";
496
- selectAllButtonRef === null || selectAllButtonRef === void 0 || (_selectAllButtonRef$c = selectAllButtonRef.current) === null || _selectAllButtonRef$c === void 0 || _selectAllButtonRef$c[fn]("click", selectAllItems, true);
497
- unselectAllButtonRef === null || unselectAllButtonRef === void 0 || (_unselectAllButtonRef = unselectAllButtonRef.current) === null || _unselectAllButtonRef === void 0 || _unselectAllButtonRef[fn]("click", unselectAllItems, true);
588
+ selectAllButtonRef === null || selectAllButtonRef === void 0 ? void 0 : (_selectAllButtonRef$c = selectAllButtonRef.current) === null || _selectAllButtonRef$c === void 0 ? void 0 : _selectAllButtonRef$c[fn]("click", selectAllItems, true);
589
+ unselectAllButtonRef === null || unselectAllButtonRef === void 0 ? void 0 : (_unselectAllButtonRef = unselectAllButtonRef.current) === null || _unselectAllButtonRef === void 0 ? void 0 : _unselectAllButtonRef[fn]("click", unselectAllItems, true);
590
+
498
591
  if (isOpen) {
499
592
  var _getListContainer2;
500
- (_getListContainer2 = getListContainer()) === null || _getListContainer2 === void 0 || _getListContainer2.classList.add("tags-dropdown__container--opened");
593
+
594
+ (_getListContainer2 = getListContainer()) === null || _getListContainer2 === void 0 ? void 0 : _getListContainer2.classList.add("tags-dropdown__container--opened");
501
595
  } else {
502
596
  var _getListContainer3;
503
- (_getListContainer3 = getListContainer()) === null || _getListContainer3 === void 0 || _getListContainer3.classList.remove("tags-dropdown__container--opened");
597
+
598
+ (_getListContainer3 = getListContainer()) === null || _getListContainer3 === void 0 ? void 0 : _getListContainer3.classList.remove("tags-dropdown__container--opened");
504
599
  }
505
600
  }, [isOpen]);
506
601
  (0, _react.useEffect)(() => {
507
602
  if (isOpen && isMobile, dropdownListRef !== null && dropdownListRef !== void 0 && dropdownListRef.current) {
508
603
  var _dropdownListRef$curr, _dropdownListRef$curr2;
509
- setIsScrollableList((dropdownListRef === null || dropdownListRef === void 0 || (_dropdownListRef$curr = dropdownListRef.current) === null || _dropdownListRef$curr === void 0 ? void 0 : _dropdownListRef$curr.scrollHeight) > (dropdownListRef === null || dropdownListRef === void 0 || (_dropdownListRef$curr2 = dropdownListRef.current) === null || _dropdownListRef$curr2 === void 0 ? void 0 : _dropdownListRef$curr2.clientHeight));
604
+
605
+ setIsScrollableList((dropdownListRef === null || dropdownListRef === void 0 ? void 0 : (_dropdownListRef$curr = dropdownListRef.current) === null || _dropdownListRef$curr === void 0 ? void 0 : _dropdownListRef$curr.scrollHeight) > (dropdownListRef === null || dropdownListRef === void 0 ? void 0 : (_dropdownListRef$curr2 = dropdownListRef.current) === null || _dropdownListRef$curr2 === void 0 ? void 0 : _dropdownListRef$curr2.clientHeight));
606
+
510
607
  if (isScrollableList === null) {
511
608
  var _dropdownListRef$curr3, _dropdownListRef$curr4;
512
- setIsFixedMaxHeight((dropdownListRef === null || dropdownListRef === void 0 || (_dropdownListRef$curr3 = dropdownListRef.current) === null || _dropdownListRef$curr3 === void 0 ? void 0 : _dropdownListRef$curr3.scrollHeight) > (dropdownListRef === null || dropdownListRef === void 0 || (_dropdownListRef$curr4 = dropdownListRef.current) === null || _dropdownListRef$curr4 === void 0 ? void 0 : _dropdownListRef$curr4.clientHeight));
609
+
610
+ setIsFixedMaxHeight((dropdownListRef === null || dropdownListRef === void 0 ? void 0 : (_dropdownListRef$curr3 = dropdownListRef.current) === null || _dropdownListRef$curr3 === void 0 ? void 0 : _dropdownListRef$curr3.scrollHeight) > (dropdownListRef === null || dropdownListRef === void 0 ? void 0 : (_dropdownListRef$curr4 = dropdownListRef.current) === null || _dropdownListRef$curr4 === void 0 ? void 0 : _dropdownListRef$curr4.clientHeight));
513
611
  }
514
612
  }
613
+
515
614
  if (isOpen && dropdownListRef && dropdownListRef.current) {
516
615
  dropdownListRef.current.addEventListener("scroll", doScrollCallback);
517
616
  }
617
+
518
618
  return () => {
519
619
  removeEventListener("scroll", doScrollCallback);
520
620
  };
521
- }, [isOpen, isMobile, dropdownListRef === null || dropdownListRef === void 0 ? void 0 : dropdownListRef.current, dropdownListRef === null || dropdownListRef === void 0 || (_dropdownListRef$curr5 = dropdownListRef.current) === null || _dropdownListRef$curr5 === void 0 ? void 0 : _dropdownListRef$curr5.scrollHeight, dropdownListRef === null || dropdownListRef === void 0 || (_dropdownListRef$curr6 = dropdownListRef.current) === null || _dropdownListRef$curr6 === void 0 ? void 0 : _dropdownListRef$curr6.clientHeight]);
621
+ }, [isOpen, isMobile, dropdownListRef === null || dropdownListRef === void 0 ? void 0 : dropdownListRef.current, dropdownListRef === null || dropdownListRef === void 0 ? void 0 : (_dropdownListRef$curr5 = dropdownListRef.current) === null || _dropdownListRef$curr5 === void 0 ? void 0 : _dropdownListRef$curr5.scrollHeight, dropdownListRef === null || dropdownListRef === void 0 ? void 0 : (_dropdownListRef$curr6 = dropdownListRef.current) === null || _dropdownListRef$curr6 === void 0 ? void 0 : _dropdownListRef$curr6.clientHeight]);
522
622
  (0, _react.useEffect)(() => {
523
623
  const setScrollTopValue = e => {
524
624
  setScrollTop(parseInt(e.target.scrollTop, 10));
525
625
  };
626
+
526
627
  if (isOpen && isMobile && dropdownListRef !== null && dropdownListRef !== void 0 && dropdownListRef.current) {
527
628
  var _dropdownListRef$curr7;
528
- dropdownListRef === null || dropdownListRef === void 0 || (_dropdownListRef$curr7 = dropdownListRef.current) === null || _dropdownListRef$curr7 === void 0 || _dropdownListRef$curr7.addEventListener("scroll", setScrollTopValue);
629
+
630
+ dropdownListRef === null || dropdownListRef === void 0 ? void 0 : (_dropdownListRef$curr7 = dropdownListRef.current) === null || _dropdownListRef$curr7 === void 0 ? void 0 : _dropdownListRef$curr7.addEventListener("scroll", setScrollTopValue);
529
631
  }
632
+
530
633
  return () => {
531
634
  var _dropdownListRef$curr8;
532
- dropdownListRef === null || dropdownListRef === void 0 || (_dropdownListRef$curr8 = dropdownListRef.current) === null || _dropdownListRef$curr8 === void 0 || _dropdownListRef$curr8.removeEventListener("scroll", setScrollTopValue);
635
+
636
+ dropdownListRef === null || dropdownListRef === void 0 ? void 0 : (_dropdownListRef$curr8 = dropdownListRef.current) === null || _dropdownListRef$curr8 === void 0 ? void 0 : _dropdownListRef$curr8.removeEventListener("scroll", setScrollTopValue);
533
637
  };
534
638
  }, [isOpen, isMobile, dropdownListRef === null || dropdownListRef === void 0 ? void 0 : dropdownListRef.current]);
535
639
  (0, _react.useEffect)(() => {
536
640
  if (dropdownListRef !== null && dropdownListRef !== void 0 && dropdownListRef.current) {
537
641
  var _dropdownListRef$curr9, _dropdownListRef$curr10;
538
- 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));
642
+
643
+ setScrollHeight(parseInt((dropdownListRef === null || dropdownListRef === void 0 ? void 0 : (_dropdownListRef$curr9 = dropdownListRef.current) === null || _dropdownListRef$curr9 === void 0 ? void 0 : _dropdownListRef$curr9.scrollHeight) - (dropdownListRef === null || dropdownListRef === void 0 ? void 0 : (_dropdownListRef$curr10 = dropdownListRef.current) === null || _dropdownListRef$curr10 === void 0 ? void 0 : _dropdownListRef$curr10.clientHeight), 10));
539
644
  }
540
645
  }, [scrollTop, dropdownListRef === null || dropdownListRef === void 0 ? void 0 : dropdownListRef.current]);
541
646
  (0, _react.useEffect)(() => {
542
647
  return () => {
543
648
  var _getListContainer4, _getListContainerWrap;
544
- (_getListContainer4 = getListContainer()) === null || _getListContainer4 === void 0 || _getListContainer4.remove();
545
- (_getListContainerWrap = getListContainerWrapper()) === null || _getListContainerWrap === void 0 || _getListContainerWrap.remove();
649
+
650
+ (_getListContainer4 = getListContainer()) === null || _getListContainer4 === void 0 ? void 0 : _getListContainer4.remove();
651
+ (_getListContainerWrap = getListContainerWrapper()) === null || _getListContainerWrap === void 0 ? void 0 : _getListContainerWrap.remove();
546
652
  };
547
653
  }, []);
548
654
  (0, _react.useEffect)(() => {
549
655
  if (isSearchable && useLiveSearch && debouncedSearchTerm || isValueDeleted) {
550
- doLiveSearchRequest === null || doLiveSearchRequest === void 0 || doLiveSearchRequest(debouncedSearchTerm);
656
+ doLiveSearchRequest === null || doLiveSearchRequest === void 0 ? void 0 : doLiveSearchRequest(debouncedSearchTerm);
551
657
  }
552
658
  }, [debouncedSearchTerm, isValueDeleted]);
553
659
  (0, _react.useLayoutEffect)(() => {
554
660
  var _getListContainer5;
661
+
555
662
  if (!isMobile) {
556
663
  window.addEventListener("resize", setListContainerStyles);
557
664
  window.addEventListener("mousewheel", closeList);
@@ -563,14 +670,16 @@ const TagsDropdown = _ref => {
563
670
  window.removeEventListener("scroll", closeList);
564
671
  window.removeEventListener("touchmove", closeList);
565
672
  }
566
- (_getListContainer5 = getListContainer()) === null || _getListContainer5 === void 0 || _getListContainer5.addEventListener("click", closeList);
673
+
674
+ (_getListContainer5 = getListContainer()) === null || _getListContainer5 === void 0 ? void 0 : _getListContainer5.addEventListener("click", closeList);
567
675
  return () => {
568
676
  var _getListContainer6;
677
+
569
678
  window.removeEventListener("resize", setListContainerStyles);
570
679
  window.removeEventListener("mousewheel", closeList);
571
680
  window.removeEventListener("scroll", closeList);
572
681
  window.removeEventListener("touchmove", closeList);
573
- (_getListContainer6 = getListContainer()) === null || _getListContainer6 === void 0 || _getListContainer6.removeEventListener("click", closeList);
682
+ (_getListContainer6 = getListContainer()) === null || _getListContainer6 === void 0 ? void 0 : _getListContainer6.removeEventListener("click", closeList);
574
683
  };
575
684
  }, [getListContainer]);
576
685
  return /*#__PURE__*/_react.default.createElement("div", {
@@ -624,7 +733,8 @@ const TagsDropdown = _ref => {
624
733
  onKeyDown: e => onKeyPress(e, searchValue),
625
734
  onFocus: e => {
626
735
  var _e$target;
627
- if (isMobile) e === null || e === void 0 || (_e$target = e.target) === null || _e$target === void 0 || _e$target.blur();
736
+
737
+ if (isMobile) e === null || e === void 0 ? void 0 : (_e$target = e.target) === null || _e$target === void 0 ? void 0 : _e$target.blur();
628
738
  }
629
739
  }, attributesOfNativeInput)) : "", isOpen && renderListContainer(), /*#__PURE__*/_react.default.createElement("span", {
630
740
  className: (0, _classnames.default)("".concat(RC, "__arrow"), {
@@ -638,4 +748,6 @@ const TagsDropdown = _ref => {
638
748
  className: "color--text"
639
749
  }))));
640
750
  };
641
- var _default = exports.default = TagsDropdown;
751
+
752
+ var _default = TagsDropdown;
753
+ exports.default = _default;