intelicoreact 1.6.22 → 1.6.24

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 (275) hide show
  1. package/dist/Atomic/FormElements/ActionAlert/ActionAlert.js +98 -1
  2. package/dist/Atomic/FormElements/AdvancedStatus/AdvancedStatus.js +48 -1
  3. package/dist/Atomic/FormElements/Calendar/Calendar.js +249 -1
  4. package/dist/Atomic/FormElements/Calendar/Calendar.props.js +4 -1
  5. package/dist/Atomic/FormElements/CheckboxInput/CheckboxInput.js +65 -1
  6. package/dist/Atomic/FormElements/CheckboxesLine/CheckboxesLine.js +52 -1
  7. package/dist/Atomic/FormElements/Datepicker/Datepicker.js +424 -1
  8. package/dist/Atomic/FormElements/Datepicker/Datepicker.props.js +4 -1
  9. package/dist/Atomic/FormElements/Datepicker/components/DatepickerCalendar.js +173 -1
  10. package/dist/Atomic/FormElements/Datepicker/components/DatepickerCalendar.props.js +4 -1
  11. package/dist/Atomic/FormElements/Dropdown/Dropdown.js +735 -1
  12. package/dist/Atomic/FormElements/Dropdown/components/DropdownLoader.js +20 -1
  13. package/dist/Atomic/FormElements/DropdownLiveSearch/DropdownLiveSearch.js +529 -1
  14. package/dist/Atomic/FormElements/FileLoader/FileLoader.js +94 -1
  15. package/dist/Atomic/FormElements/FileLoader/partial/LoadZone.js +105 -1
  16. package/dist/Atomic/FormElements/FileLoader/partial/LoadedContent.js +67 -1
  17. package/dist/Atomic/FormElements/FileLoaderDescription/FileLoaderDescription.js +247 -1
  18. package/dist/Atomic/FormElements/FileLoaderLocal/FileLoaderLocal.js +160 -1
  19. package/dist/Atomic/FormElements/FileLoaderLocalGroup/FileLoaderLocalGroup.js +193 -1
  20. package/dist/Atomic/FormElements/FormattedRawSSN/FormattedRawSSN.js +135 -1
  21. package/dist/Atomic/FormElements/FormattedRawSSN/FormattedRawSSN_old.js +116 -1
  22. package/dist/Atomic/FormElements/Input/Input.js +467 -1
  23. package/dist/Atomic/FormElements/InputCalendar/InputCalendar.js +161 -1
  24. package/dist/Atomic/FormElements/InputColor/InputColor.js +64 -1
  25. package/dist/Atomic/FormElements/InputCurrency/InputCurrency.js +200 -1
  26. package/dist/Atomic/FormElements/InputDateRange/InputDateRange.js +354 -1
  27. package/dist/Atomic/FormElements/InputDateRange/components/DateInput.js +71 -1
  28. package/dist/Atomic/FormElements/InputDateRange/components/Datepicker.js +693 -1
  29. package/dist/Atomic/FormElements/InputDateRange/components/OpenedPart.js +254 -1
  30. package/dist/Atomic/FormElements/InputDateRange/components/SelectItem.js +32 -1
  31. package/dist/Atomic/FormElements/InputDateRange/dependencies.js +200 -1
  32. package/dist/Atomic/FormElements/InputLink/InputLink.js +99 -1
  33. package/dist/Atomic/FormElements/InputMask/InputCarretPosition.js +37 -1
  34. package/dist/Atomic/FormElements/InputMask/InputMask.js +1214 -1
  35. package/dist/Atomic/FormElements/InputMask/config.js +15 -1
  36. package/dist/Atomic/FormElements/InputMask/functions.js +58 -1
  37. package/dist/Atomic/FormElements/InputMask2/InputMask2.js +674 -1
  38. package/dist/Atomic/FormElements/InputMask2/config.js +15 -1
  39. package/dist/Atomic/FormElements/InputMask2/functions.js +58 -1
  40. package/dist/Atomic/FormElements/InputMask3/InputMask3.js +766 -1
  41. package/dist/Atomic/FormElements/InputMask3/config.js +15 -1
  42. package/dist/Atomic/FormElements/InputMask3/functions.js +58 -1
  43. package/dist/Atomic/FormElements/InputWithAction/InputWithAction.js +114 -1
  44. package/dist/Atomic/FormElements/InputsRow/InputsRow.js +140 -1
  45. package/dist/Atomic/FormElements/Label/Label.js +87 -1
  46. package/dist/Atomic/FormElements/MobileCalendar/MobileCalendar.js +506 -1
  47. package/dist/Atomic/FormElements/MultiSelect/MultiSelect.js +45 -1
  48. package/dist/Atomic/FormElements/NumericInput/NumericInput.js +331 -1
  49. package/dist/Atomic/FormElements/RadioGroup/RadioGroup.js +66 -1
  50. package/dist/Atomic/FormElements/RadioGroupWithInput/RadioGroupWithInput.js +80 -1
  51. package/dist/Atomic/FormElements/RadioInput/RadioInput.js +57 -1
  52. package/dist/Atomic/FormElements/RadioRowSwitcher/RadioRowSwitcher.js +54 -1
  53. package/dist/Atomic/FormElements/RangeCalendar/RangeCalendar.js +183 -1
  54. package/dist/Atomic/FormElements/RangeInputs/RangeInputs.js +222 -1
  55. package/dist/Atomic/FormElements/RangeList/RangeList.js +175 -1
  56. package/dist/Atomic/FormElements/RangeList/partial/RangeListRow.js +43 -1
  57. package/dist/Atomic/FormElements/RangeSlider/RangeSlider.js +443 -1
  58. package/dist/Atomic/FormElements/RangeSlider2/RangeSlider2.js +858 -1
  59. package/dist/Atomic/FormElements/SwitchableRow/SwitchableRow.js +39 -1
  60. package/dist/Atomic/FormElements/Switcher/Switcher.js +59 -1
  61. package/dist/Atomic/FormElements/SwitcherCheckbox/SwitcherCheckbox.js +50 -1
  62. package/dist/Atomic/FormElements/SwitcherHide/SwitcherHide.js +44 -1
  63. package/dist/Atomic/FormElements/SwitcherRadio/SwitcherRadio.js +100 -1
  64. package/dist/Atomic/FormElements/SwitcherRange/SwitcherRange.js +52 -1
  65. package/dist/Atomic/FormElements/SwitcherRangeList/SwitcherRangeList.js +64 -1
  66. package/dist/Atomic/FormElements/SwitcherTagsDropdown/SwitcherTagsDropdown.js +170 -1
  67. package/dist/Atomic/FormElements/SwitcherTagsDropdown/partial/States.js +202 -1
  68. package/dist/Atomic/FormElements/SwitcherTextarea/SwitcherTextarea.js +67 -1
  69. package/dist/Atomic/FormElements/TagListToDropdown/TagListToDropdown.js +115 -1
  70. package/dist/Atomic/FormElements/TagsDropdown/TagsDropdown.interface.ts +2 -2
  71. package/dist/Atomic/FormElements/TagsDropdown/TagsDropdown.js +1110 -1
  72. package/dist/Atomic/FormElements/Text/Text.js +125 -1
  73. package/dist/Atomic/FormElements/TextSwitcher/TextSwitcher.js +49 -1
  74. package/dist/Atomic/FormElements/Textarea/Textarea.js +80 -1
  75. package/dist/Atomic/FormElements/TieredCheckboxes/TieredCheckboxes.js +176 -1
  76. package/dist/Atomic/FormElements/TieredCheckboxes/partial/AccordionWithCheckbox.js +62 -1
  77. package/dist/Atomic/FormElements/TimeRange/TimeRange.js +119 -1
  78. package/dist/Atomic/FormElements/UserContacts/UserContacts.js +188 -1
  79. package/dist/Atomic/FormElements/VariantsListRadio/VariantsListRadio.js +83 -1
  80. package/dist/Atomic/FormElements/VariantsListRadio/partials/VariantsListRadioItem.js +82 -1
  81. package/dist/Atomic/FormElements/WidgetPseudoTable/WidgetPseudoTable.js +101 -1
  82. package/dist/Atomic/FormElements/WidgetPseudoTable/partial/constructor.js +29 -1
  83. package/dist/Atomic/FormElements/WidgetWithSwitchableRows/WidgetWithSwitchableRows.js +113 -1
  84. package/dist/Atomic/FormElements/WidgetWithSwitchableRows/partial/constructor.js +30 -1
  85. package/dist/Atomic/Layout/Header/Header.js +85 -1
  86. package/dist/Atomic/Layout/Spinner/Spinner.js +44 -1
  87. package/dist/Atomic/UI/Accordion/Accordion.js +108 -1
  88. package/dist/Atomic/UI/Accordion/AccordionItem.js +176 -1
  89. package/dist/Atomic/UI/AccordionTable/AccordionTable.js +238 -1
  90. package/dist/Atomic/UI/AccordionText/AccordionText.js +69 -1
  91. package/dist/Atomic/UI/AdvancedTag/AdvTag.js +207 -1
  92. package/dist/Atomic/UI/AdvancedTag/AdvancedTags.js +56 -1
  93. package/dist/Atomic/UI/Alert/Alert.js +72 -1
  94. package/dist/Atomic/UI/Arrow/Arrow.js +132 -1
  95. package/dist/Atomic/UI/Box/Box.js +52 -1
  96. package/dist/Atomic/UI/Button/Button.js +47 -1
  97. package/dist/Atomic/UI/ButtonsBar/ButtonsBar.js +72 -1
  98. package/dist/Atomic/UI/Chart/Chart.js +172 -1
  99. package/dist/Atomic/UI/Chart/partial/Chart.constants.js +95 -1
  100. package/dist/Atomic/UI/Chart/partial/ChartTypeSwitcherIcon/ChartTypeSwitcherIcon.js +80 -1
  101. package/dist/Atomic/UI/Chart/partial/datasetSetters.js +188 -1
  102. package/dist/Atomic/UI/Chart/partial/optionsConstructor.js +335 -1
  103. package/dist/Atomic/UI/Chart/partial/optionsSetters.js +43 -1
  104. package/dist/Atomic/UI/Chart/partial/utils.js +60 -1
  105. package/dist/Atomic/UI/CircleProgressBar/CircleProgressBar.js +109 -1
  106. package/dist/Atomic/UI/DateTime/DateTime.js +57 -1
  107. package/dist/Atomic/UI/DebugContainer/DebugContainer.js +44 -1
  108. package/dist/Atomic/UI/DebugContainer/useDebugContainer.js +15 -1
  109. package/dist/Atomic/UI/DoubleString/DoubleString.js +102 -1
  110. package/dist/Atomic/UI/DynamicIcon/DynamicIcon.js +70 -1
  111. package/dist/Atomic/UI/ExampleChartIntegration/ExampleChartIntegration.js +221 -1
  112. package/dist/Atomic/UI/ExampleChartIntegration/partial/utils.js +106 -1
  113. package/dist/Atomic/UI/Hint/Hint.js +256 -1
  114. package/dist/Atomic/UI/Hint/partials/_utils.js +64 -1
  115. package/dist/Atomic/UI/Modal/Modal.js +179 -1
  116. package/dist/Atomic/UI/Modal/ModalHOC.js +97 -1
  117. package/dist/Atomic/UI/Modal/partials/ModalFooter.js +71 -1
  118. package/dist/Atomic/UI/Modal/partials/ModalTitle.js +110 -1
  119. package/dist/Atomic/UI/Modal/partials/useMobileModal.js +192 -1
  120. package/dist/Atomic/UI/MonoAccordion/MonoAccordion._test.js +75 -1
  121. package/dist/Atomic/UI/MonoAccordion/MonoAccordion.js +80 -1
  122. package/dist/Atomic/UI/NavLine/NavLine.js +317 -1
  123. package/dist/Atomic/UI/PageTitle/PageTitle.js +77 -1
  124. package/dist/Atomic/UI/PieChart/PieChart.js +42 -1
  125. package/dist/Atomic/UI/Price/Price.js +31 -1
  126. package/dist/Atomic/UI/PriceRange/PriceRange.js +44 -1
  127. package/dist/Atomic/UI/ProgressLine/ProgressLine.js +98 -1
  128. package/dist/Atomic/UI/Status/Status.js +67 -1
  129. package/dist/Atomic/UI/Table/Partials/TdCell.js +87 -1
  130. package/dist/Atomic/UI/Table/Partials/TdHeader.js +38 -1
  131. package/dist/Atomic/UI/Table/Partials/TdRow.js +99 -1
  132. package/dist/Atomic/UI/Table/Partials/TdTitle.js +52 -1
  133. package/dist/Atomic/UI/Table/Table.js +63 -1
  134. package/dist/Atomic/UI/Table/TdTypes/TdActions.js +80 -1
  135. package/dist/Atomic/UI/Table/TdTypes/TdPriority.js +28 -1
  136. package/dist/Atomic/UI/Table/TdTypes/TdRange.js +13 -1
  137. package/dist/Atomic/UI/Table/TdTypes/TdWeight.js +53 -1
  138. package/dist/Atomic/UI/Tag/Tag.js +167 -1
  139. package/dist/Atomic/UI/TagList/TagList.js +251 -1
  140. package/dist/Atomic/UI/UserBox/UserBox.js +86 -1
  141. package/dist/Atomic/UI/WizardStepper/constructor.js +84 -1
  142. package/dist/Atomic/UI/WizardStepper/index.js +3 -1
  143. package/dist/Atomic/UI/WizardStepper/ui/StateIcon/StateIcon.js +37 -1
  144. package/dist/Atomic/UI/WizardStepper/ui/StateIcon/index.js +3 -1
  145. package/dist/Atomic/UI/WizardStepper/ui/StepRow/StepRow.js +61 -1
  146. package/dist/Atomic/UI/WizardStepper/ui/StepRow/index.js +3 -1
  147. package/dist/Atomic/UI/WizardStepper/ui/StepWrapper/StepWrapper.js +39 -1
  148. package/dist/Atomic/UI/WizardStepper/ui/StepWrapper/index.js +3 -1
  149. package/dist/Atomic/UI/WizardStepper/ui/icons.js +49 -1
  150. package/dist/Atomic/UI/WizardStepper/ui/index.js +3 -1
  151. package/dist/Classes/AbortableFetch.js +454 -1
  152. package/dist/Classes/AnimatedHandler.js +47 -1
  153. package/dist/Classes/RESTAPI/index.js +228 -1
  154. package/dist/Classes/RESTAPI/partials/AbortableFetch.js +457 -1
  155. package/dist/Classes/RESTAPI/partials/ApiBase.js +48 -1
  156. package/dist/Classes/RESTAPI/partials/ApiRequestCreators.js +112 -1
  157. package/dist/Classes/RESTAPI/partials/ApiUtils.js +189 -1
  158. package/dist/Classes/RESTAPI/partials/CredentialsProcessing.js +252 -1
  159. package/dist/Classes/RESTAPI/partials/Utils.js +92 -1
  160. package/dist/Classes/RESTAPI/partials/_outerDependencies.js +3 -1
  161. package/dist/Classes/RESTAPI/partials/_utils.js +197 -1
  162. package/dist/Constants/index.constants.js +78 -1
  163. package/dist/Functions/Portal.js +22 -1
  164. package/dist/Functions/customEventListener.js +96 -1
  165. package/dist/Functions/dateTime.js +149 -1
  166. package/dist/Functions/fieldValueFormatters.js +405 -1
  167. package/dist/Functions/guards/assertions.js +294 -1
  168. package/dist/Functions/guards/safeValue.js +75 -1
  169. package/dist/Functions/guards/typeGuards.js +373 -1
  170. package/dist/Functions/hooks/useFormFieldsChangesManager.js +95 -1
  171. package/dist/Functions/locale/createTranslator.js +32 -1
  172. package/dist/Functions/operations.js +130 -1
  173. package/dist/Functions/presets/inputMaskPresets.js +170 -1
  174. package/dist/Functions/presets/inputPresets.js +60 -1
  175. package/dist/Functions/presets/mobileKeyboardTypesPresets.js +45 -1
  176. package/dist/Functions/schemas.js +31 -1
  177. package/dist/Functions/useBodyScrollLock.js +17 -1
  178. package/dist/Functions/useClickOutside.js +15 -1
  179. package/dist/Functions/useDebounce.js +17 -1
  180. package/dist/Functions/useFieldFocus.js +84 -1
  181. package/dist/Functions/useFormTools/form-drivers/ArrayWithObjects.js +39 -1
  182. package/dist/Functions/useFormTools/form-drivers/ObjectWithIterableObjects.js +159 -1
  183. package/dist/Functions/useFormTools/form-drivers/ObjectWithNamedKeyObjects.js +78 -1
  184. package/dist/Functions/useFormTools/functions/General.js +134 -1
  185. package/dist/Functions/useFormTools/functions/RenderFields.js +111 -1
  186. package/dist/Functions/useFormTools/functions/usePrevious.js +12 -1
  187. package/dist/Functions/useFormTools/index.js +778 -1
  188. package/dist/Functions/useInputHighlightError.js +67 -1
  189. package/dist/Functions/useIsMobile/useIsMobile.js +33 -1
  190. package/dist/Functions/useKeyPress/useHandleKeyPress.js +52 -1
  191. package/dist/Functions/useKeyPress/useKeyPress.js +52 -1
  192. package/dist/Functions/useLocalStorage.js +34 -1
  193. package/dist/Functions/useLocationParams.js +27 -1
  194. package/dist/Functions/useMediaQuery.js +17 -1
  195. package/dist/Functions/useMetaInfo.js +43 -1
  196. package/dist/Functions/useMouseUpOutside.js +16 -1
  197. package/dist/Functions/useOnlineStatus.js +29 -1
  198. package/dist/Functions/usePasswordChecker.js +110 -1
  199. package/dist/Functions/usePrevious.js +12 -1
  200. package/dist/Functions/useResize.js +31 -1
  201. package/dist/Functions/useScrollTo.js +17 -1
  202. package/dist/Functions/useToggle.js +17 -1
  203. package/dist/Functions/utils.js +522 -1
  204. package/dist/Langs.js +168 -1
  205. package/dist/Molecular/CustomIcons/components/AffiliateNetworks.js +21 -1
  206. package/dist/Molecular/CustomIcons/components/AlertCircle.js +23 -1
  207. package/dist/Molecular/CustomIcons/components/AppStore.js +29 -1
  208. package/dist/Molecular/CustomIcons/components/Arrow.js +32 -1
  209. package/dist/Molecular/CustomIcons/components/ArrowDown.js +17 -1
  210. package/dist/Molecular/CustomIcons/components/ArrowLeft.js +22 -1
  211. package/dist/Molecular/CustomIcons/components/ArrowRight.js +22 -1
  212. package/dist/Molecular/CustomIcons/components/ArrowUp.js +17 -1
  213. package/dist/Molecular/CustomIcons/components/Bell.js +15 -1
  214. package/dist/Molecular/CustomIcons/components/Button.js +12 -1
  215. package/dist/Molecular/CustomIcons/components/Campaigns.js +16 -1
  216. package/dist/Molecular/CustomIcons/components/Check.js +14 -1
  217. package/dist/Molecular/CustomIcons/components/Check2.js +12 -1
  218. package/dist/Molecular/CustomIcons/components/ChevronDown.js +12 -1
  219. package/dist/Molecular/CustomIcons/components/ChevronDownDisabled.js +11 -1
  220. package/dist/Molecular/CustomIcons/components/ChevronLeft.js +11 -1
  221. package/dist/Molecular/CustomIcons/components/ChevronRight.js +11 -1
  222. package/dist/Molecular/CustomIcons/components/ChevronUp.js +11 -1
  223. package/dist/Molecular/CustomIcons/components/ChevronUpDown.js +27 -1
  224. package/dist/Molecular/CustomIcons/components/Close.js +14 -1
  225. package/dist/Molecular/CustomIcons/components/ColumnsOrder.js +17 -1
  226. package/dist/Molecular/CustomIcons/components/Delete.js +16 -1
  227. package/dist/Molecular/CustomIcons/components/Edit.js +15 -1
  228. package/dist/Molecular/CustomIcons/components/Email.js +31 -1
  229. package/dist/Molecular/CustomIcons/components/FinturfLogo.js +18 -1
  230. package/dist/Molecular/CustomIcons/components/FinturfLogo2.js +35 -1
  231. package/dist/Molecular/CustomIcons/components/Flows.js +15 -1
  232. package/dist/Molecular/CustomIcons/components/Gift.js +25 -1
  233. package/dist/Molecular/CustomIcons/components/GoogleAuth.js +29 -1
  234. package/dist/Molecular/CustomIcons/components/GooglePlay.js +29 -1
  235. package/dist/Molecular/CustomIcons/components/HelpCircle.js +19 -1
  236. package/dist/Molecular/CustomIcons/components/HelpCircle2.js +20 -1
  237. package/dist/Molecular/CustomIcons/components/HelpCircleFilled.js +19 -1
  238. package/dist/Molecular/CustomIcons/components/Home.js +16 -1
  239. package/dist/Molecular/CustomIcons/components/Home2.js +22 -1
  240. package/dist/Molecular/CustomIcons/components/Key.js +23 -1
  241. package/dist/Molecular/CustomIcons/components/Landers.js +20 -1
  242. package/dist/Molecular/CustomIcons/components/Lock.js +15 -1
  243. package/dist/Molecular/CustomIcons/components/Mail.js +26 -1
  244. package/dist/Molecular/CustomIcons/components/Mastercard.js +73 -1
  245. package/dist/Molecular/CustomIcons/components/Minus.js +25 -1
  246. package/dist/Molecular/CustomIcons/components/Offers.js +16 -1
  247. package/dist/Molecular/CustomIcons/components/Pause.js +28 -1
  248. package/dist/Molecular/CustomIcons/components/PayPal.js +41 -1
  249. package/dist/Molecular/CustomIcons/components/PayPalLightLarge.js +28 -1
  250. package/dist/Molecular/CustomIcons/components/Phone.js +30 -1
  251. package/dist/Molecular/CustomIcons/components/Play.js +25 -1
  252. package/dist/Molecular/CustomIcons/components/Plus.js +25 -1
  253. package/dist/Molecular/CustomIcons/components/Profile.js +16 -1
  254. package/dist/Molecular/CustomIcons/components/QRCode.js +29 -1
  255. package/dist/Molecular/CustomIcons/components/Rectangle.js +12 -1
  256. package/dist/Molecular/CustomIcons/components/Revert.js +13 -1
  257. package/dist/Molecular/CustomIcons/components/Star.js +14 -1
  258. package/dist/Molecular/CustomIcons/components/Star2.js +16 -1
  259. package/dist/Molecular/CustomIcons/components/TrafficSources.js +14 -1
  260. package/dist/Molecular/CustomIcons/components/Trash.js +15 -1
  261. package/dist/Molecular/CustomIcons/components/TrashRed.js +15 -1
  262. package/dist/Molecular/CustomIcons/components/Triggers.js +15 -1
  263. package/dist/Molecular/CustomIcons/components/User.js +25 -1
  264. package/dist/Molecular/CustomIcons/components/Visa.js +31 -1
  265. package/dist/Molecular/CustomIcons/components/X.js +12 -1
  266. package/dist/Molecular/CustomIcons/index.js +61 -1
  267. package/dist/Molecular/FormElement/FormElement.js +54 -1
  268. package/dist/Molecular/FormWithDependOn/FormWithDependOn.js +184 -1
  269. package/dist/Molecular/FormWithDependOn/partials/_utils.js +53 -1
  270. package/dist/Molecular/InputAddress/InputAddress.js +626 -1
  271. package/dist/Molecular/InputPassword/InputPassword.js +48 -1
  272. package/dist/index.js +104 -1
  273. package/package.json +1 -1
  274. package/dist/Molecular/InputAddress/InputAddress.d.ts +0 -26
  275. package/dist/Molecular/InputAddress/InputAddress.js.map +0 -1
@@ -1 +1,20 @@
1
- import{jsx as r,jsxs as i}from"react/jsx-runtime";import"react";import"./DropdownLoader.scss";export default function(d){var t=d.variant;return r("div",{className:"dropdown-loader-box j5",children:i("div",{className:"lds-ring".concat("little"===(void 0===t?"":t)?" lds-ring_little":""),children:[r("div",{}),r("div",{}),r("div",{}),r("div",{})]})})}
1
+ import React from "react";
2
+
3
+ import "./DropdownLoader.scss";
4
+
5
+ const DropdownLoader = function ({ variant = '' }) {
6
+ return (
7
+ <div className="dropdown-loader-box j5">
8
+ <div
9
+ className={`lds-ring${variant === "little" ? " lds-ring_little" : ""}`}
10
+ >
11
+ <div />
12
+ <div />
13
+ <div />
14
+ <div />
15
+ </div>
16
+ </div>
17
+ );
18
+ };
19
+
20
+ export default DropdownLoader;
@@ -1 +1,529 @@
1
- function e(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,l=Array(t);n<t;n++)l[n]=e[n];return l}function t(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function n(e){for(var n=1;n<arguments.length;n++){var l=null!=arguments[n]?arguments[n]:{},r=Object.keys(l);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(l).filter(function(e){return Object.getOwnPropertyDescriptor(l,e).enumerable}))),r.forEach(function(n){t(e,n,l[n])})}return e}function l(t,n){return function(e){if(Array.isArray(e))return e}(t)||function(e,t){var n,l,r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var o=[],u=!0,i=!1;try{for(r=r.call(e);!(u=(n=r.next()).done)&&(o.push(n.value),!t||o.length!==t);u=!0);}catch(e){i=!0,l=e}finally{try{u||null==r.return||r.return()}finally{if(i)throw l}}return o}}(t,n)||function(t,n){if(t){if("string"==typeof t)return e(t,n);var l=Object.prototype.toString.call(t).slice(8,-1);if("Object"===l&&t.constructor&&(l=t.constructor.name),"Map"===l||"Set"===l)return Array.from(l);if("Arguments"===l||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(l))return e(t,n)}}(t,n)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"default",{enumerable:!0,get:function(){return b}});var r=require("react/jsx-runtime"),o=p(require("classnames")),u=function(e,t){if(e&&e.__esModule)return e;if(null===e||(void 0===e?"undefined":e&&"undefined"!=typeof Symbol&&e.constructor===Symbol?"symbol":typeof e)!="object"&&"function"!=typeof e)return{default:e};var n=m(t);if(n&&n.has(e))return n.get(e);var l={__proto__:null},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var u=r?Object.getOwnPropertyDescriptor(e,o):null;u&&(u.get||u.set)?Object.defineProperty(l,o,u):l[o]=e[o]}return l.default=e,n&&n.set(e,l),l}(require("react")),i=require("react-dom"),c=require("react-feather"),a=require("../../../Functions/fieldValueFormatters"),s=require("../../../Functions/useDebounce"),d=p(require("../../../Functions/useIsMobile/useIsMobile")),f=p(require("../../Layout/Spinner/Spinner")),v=p(require("../RadioInput/RadioInput"));function p(e){return e&&e.__esModule?e:{default:e}}function m(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(m=function(e){return e?n:t})(e)}require("./DropdownLiveSearch.scss");var h="dropdown-live-search",b=function(e){var p,m,b,g,_=e.label,w=e.value,y=e.error,x=e.disabled,j=e.onChange,E=e.placeholder,S=e.className,L=e.isSearchable,N=e.doRequest,C=e.isLoading,I=e.options,k=e.fieldKey,O=e.id,M=e.isListTop,q=e.attributesOfNativeInput,P=e.withMobileLogic,R=e.tabIndex,H=e.isNotValidateASCII,D=void 0!==H&&H,A=e.noOptionsText,T=void 0===A?"No options available":A,F=e.testId,B=void 0===F?"dropdown-live-search":F,W=l((0,u.useState)(O||k||Math.random().toString(16).slice(2)),1)[0],V=l((0,u.useState)(!1),2),$=V[0],U=V[1],z=l((0,u.useState)(!1),2),K=z[0],X=z[1],G=(0,d.default)().isMobile&&P&&window.screen.width<=768,J=(0,u.useMemo)(function(){var e,t;return null!=(t=null==I||null==(e=I.find(function(e){return e.value===w}))?void 0:e.label)?t:""},[w,I]),Q=l((0,u.useState)(""),2),Y=Q[0],Z=Q[1],ee=l((0,u.useState)(!1),2),et=ee[0],en=ee[1],el=(0,u.useRef)(null),er=(0,u.useRef)(null),eo=(0,u.useRef)(null),eu=(0,u.useRef)(null),ei=(0,u.useRef)(null),ec=(0,u.useRef)(null),ea=(0,u.useRef)(null),es=(0,u.useRef)(null),ed=l((0,u.useState)(!1),2),ef=ed[0],ev=ed[1],ep=l((0,u.useState)(null),2),em=ep[0],eh=ep[1],eb=l((0,u.useState)(!1),2),eg=eb[0],e_=eb[1],ew=l((0,u.useState)(0),2),ey=ew[0],ex=ew[1],ej=l((0,u.useState)(1),2),eE=ej[0],eS=ej[1],eL=(0,s.useDebounce)({searchValue:Y,delay:600}),eN=(0,u.useCallback)(function(e){if(N&&"function"==typeof N){var t,n=null==e?void 0:e.target;Math.round(n.clientHeight+n.scrollTop)===n.scrollHeight&&N(null!=(t=ea.current)?t:"",!0)}},[I]),eC=function(e){var t=!(arguments.length>1)||void 0===arguments[1]||arguments[1];t&&en(!0),Z(e),ea.current=e},eI=function(e){U(e),eC("",!1),e||en(!1)},ek=function(){var e,t;return null!=(t=null!=(e=document.querySelector("div#root"))?e:document.querySelector("div#app"))?t:document.querySelector("div#storybook-root")},eO=function(){return document.getElementById(null==W?void 0:W.toString())},eM=function(e){e.target===(null==es?void 0:es.current)&&(e.stopPropagation(),e.preventDefault(),eI(!1))},eq=function(e){$||(e.preventDefault(),e.stopPropagation())},eP=function(e){var t;!el.current||el.current.contains(e.target)||eO()&&(null==(t=eO())?void 0:t.contains(e.target))||eI(!1)},eR=function(e){[27].includes(e.keyCode)&&eI(!1)},eH=$?eP:function(){},eD=function(e){var t,n=null==(t=e.target)?void 0:t.value;D||(n=(0,a.formatToOnlyASCIICodeText)(n)),eC(n),!Y&&et||e.target.value?X(!1):(null==j||j(""),eC(""),X(!0))},eA=function(e,t){if(!L)return e;var n=et||G&&P?Y:J;return e=e.replace(/["&<>]/g,function(e){var t;return null!=(t=({'"':"&quot;","&":"&amp;","<":"&lt;",">":"&gt;"})[e])?t:""}),(n?null==e?void 0:e.replace(RegExp(null==n?void 0:n.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&"),"i"),function(e){return'<span class="bg--yellow">'.concat(e,"</span>")}):e)+(t?'<span class="dropdown__list-item-postfix">'.concat(t,"</span>"):"")},eT=function(e,n,l){var u,i,a,s,d=e.label.toLowerCase(),f=null==Y?void 0:Y.toLowerCase();return(0,r.jsxs)("button",{type:"button","data-testid":"".concat(B,"-").concat(l||n,"-option"),onClick:function(){null==j||j(e.value),eI(!1)},className:(0,o.default)("".concat(h,"__list-item"),(t(s={},"".concat(h,"__list-item_active"),e.value===w),t(s,"".concat(h,"__list-item_disabled"),e.disabled),s),e.className),children:[!G||G&&!P&&(0,r.jsx)("span",{className:(0,o.default)("".concat(h,"__active-icon"),t({},"".concat(h,"__active-icon_active"),d===f)),children:(0,r.jsx)(c.Check,{})}),(0,r.jsx)("p",{title:e.label,className:e.labelClassName||"",dangerouslySetInnerHTML:{__html:eA(e.label,e.postfix)}}),G?null!=(a=null==e?void 0:e.customMobileIcon)?a:(0,r.jsx)(v.default,{value:e.value,checked:null==w?void 0:w.toString()}):""]},null==(i=e.value)||null==(u=i.toString())?void 0:u.replace(/ /g,"_"))},eF=function(){var e,l,u;return(0,r.jsx)("div",{className:(0,o.default)("".concat(h,"__container-wrapper")),ref:es,onClick:G?eM:function(){},children:(0,r.jsx)("div",{className:(0,o.default)("".concat(h,"__list-wrapper"),(t(l={},"".concat(h,"__list-wrapper--fixed-height"),eg),t(l,"".concat(h,"__list-wrapper--with-bottom-shadow"),em&&G),t(l,"".concat(h,"__list-wrapper--with-bottom-shadow-hidden"),ey===eE),l)),children:(0,r.jsxs)("div",{id:"dropdown-live-search-list",className:(0,o.default)("".concat(h,"__container"),t({},"".concat(h,"__list-top"),M)),ref:er,children:[G&&(0,r.jsxs)("div",{ref:eu,className:(0,o.default)("".concat(h,"__list-header"),(t(u={},"".concat(h,"__list-header-with-shadow"),em&&G),t(u,"".concat(h,"__list-header-with-shadow-hidden"),0===ey),u)),children:[(0,r.jsxs)("div",{className:(0,o.default)("".concat(h,"__list-header-row")),children:[(0,r.jsx)("div",{className:(0,o.default)("".concat(h,"__list-label")),children:_}),(0,r.jsx)("div",{className:(0,o.default)("".concat(h,"__list-close-icon")),onClick:function(){return eI(!1)},children:(0,r.jsx)(c.X,{onClick:function(){return eI(!1)}})})]}),L&&(0,r.jsx)("input",n({ref:ec,className:"".concat(h,"__input"),value:$?Y:J,onChange:eD,placeholder:E,onFocus:eq,tabIndex:-1},q))]}),(0,r.jsxs)("div",{className:(0,o.default)("".concat(h,"__list"),{disabled:C}),ref:eo,children:[null==I?void 0:I.map(function(e){return eT(e)}),!(null==I?void 0:I.length)&&(0,r.jsx)("div",{className:"".concat(h,"__list-item ").concat(h,"__list-item--no-options"),children:T})]}),C&&$&&(0,r.jsx)(f.default,{size:(null!=(e=null==I?void 0:I.length)?e:0)<=3?"small":null})]})})})},eB=function(){var e=document.createElement("div");e.setAttribute("id",null==W?void 0:W.toString()),e.classList.add("dropdown__container"),G&&e.addEventListener("click",function(e){e.target.id===W&&eI(!1)});try{null==(t=eO())||t.remove()}finally{if(G){try{null==(r=document.getElementById("mlw-".concat(W)))||r.remove()}catch(e){}var t,n,l,r,o=document.createElement("div");o.classList.add("dropdown-live-search-mobile"),o.setAttribute("id","mlw-".concat(W)),null==o||o.append(e),null==(l=ek())||l.append(o)}else null==(n=ek())||n.append(e)}};return((0,u.useEffect)(function(){return document.addEventListener("click",eP,!0),function(){return document.removeEventListener("click",eP,!0)}},[]),(0,u.useEffect)(function(){(null==I?void 0:I.length)===1&&Y===I[0].label&&(eC(I[0].label),null==j||j(I[0].value))},[I]),(0,u.useEffect)(function(){L&&(eL||K)&&(null==N||N(eL),K&&X(!1))},[eL,K]),(0,u.useEffect)(function(){G&&P&&eB()},[G,P]),(0,u.useEffect)(function(){if($&&G&&(null==eo?void 0:eo.current)&&!Y){var e,t,n,l;eh((null==eo||null==(e=eo.current)?void 0:e.scrollHeight)>(null==eo||null==(t=eo.current)?void 0:t.clientHeight)),e_(em||(null==eo||null==(n=eo.current)?void 0:n.scrollHeight)>(null==eo||null==(l=eo.current)?void 0:l.clientHeight))}},[$,G,em,null==eo?void 0:eo.current,null==eo||null==(m=eo.current)?void 0:m.scrollHeight,null==eo||null==(b=eo.current)?void 0:b.clientHeight]),(0,u.useLayoutEffect)(function(){var e=document.getElementById("dropdown-live-search-list");if((e||$)&&(!P||!G)){var t,n=null==el||null==(t=el.current)?void 0:t.clientWidth;e&&(e.style.minWidth="".concat(n,"px"))}},[el,$,P]),(0,u.useEffect)(function(){if(!$&&(ev(!1),P&&G&&eC("")),$&&eo&&eo.current){if(G&&P){var e;null==N||N("").then(function(){setTimeout(function(){if(eo.current&&(null==er?void 0:er.current)&&(null==eu?void 0:eu.current)){var e,t,n,l;eo.current.style.maxHeight="".concat((null==er||null==(t=er.current)||null==(e=t.getBoundingClientRect())?void 0:e.height)-(null==eu||null==(l=eu.current)||null==(n=l.getBoundingClientRect())?void 0:n.height),"px")}},1)}),null==ec||null==(e=ec.current)||e.focus()}eo.current.addEventListener("scroll",eN)}return function(){removeEventListener("scroll",eN)}},[$,eo]),(0,u.useLayoutEffect)(function(){var e;return G?(window.removeEventListener("mousewheel",eH),window.removeEventListener("scroll",eH),window.removeEventListener("touchmove",eH)):(window.addEventListener("mousewheel",eH),window.addEventListener("scroll",eH),window.addEventListener("touchmove",eH)),null==(e=eO())||e.addEventListener("click",eH),window.addEventListener("keyup",eR),function(){var e;window.removeEventListener("mousewheel",eH),window.removeEventListener("scroll",eH),window.removeEventListener("touchmove",eH),window.removeEventListener("keyup",eR),null==(e=eO())||e.removeEventListener("click",eH)}},[eO]),(0,u.useEffect)(function(){var e,t=function(e){var t,n;ex(Number.parseInt(null==(n=e.target)||null==(t=n.scrollTop)?void 0:t.toString(),10))};return $&&G&&(null==eo?void 0:eo.current)&&(null==eo||null==(e=eo.current)||e.addEventListener("scroll",t)),function(){var e;null==eo||null==(e=eo.current)||e.removeEventListener("scroll",t)}},[$,G,null==eo?void 0:eo.current]),(0,u.useEffect)(function(){if(null==eo?void 0:eo.current){var e,t,n;eS(Number.parseInt((e=(null==eo||null==(t=eo.current)?void 0:t.scrollHeight)-(null==eo||null==(n=eo.current)?void 0:n.clientHeight),e.toString()),10))}},[ey,null==eo?void 0:eo.current]),I)?(0,r.jsxs)("div",{className:(0,o.default)(h,S,(t(g={disabled:x},"".concat(h,"-mobile"),G),t(g,"".concat(h,"--focused"),$),g)),ref:el,children:[(0,r.jsxs)("button",{type:"button","data-testid":B,className:"".concat(h,"__trigger input__wrap ").concat($?"input__wrap--focus":""," ").concat(!w?"placeholder":""," ").concat(y?"error":""),onClick:function(){return L?null:eI(!$)},onMouseDown:function(){return ev(!0)},onFocus:function(){return ef?null:eI(!0)},tabIndex:R,children:[L?(0,r.jsx)("input",n({ref:ei,className:"".concat(h,"__input"),value:$?G&&P||!et?J:Y:J,onChange:eD,placeholder:E,onFocus:eq,onClick:function(e){var t,n;$||eI(!0),G&&P?(e.preventDefault(),e.stopPropagation(),e.target&&(null==(t=e.target)||t.blur())):e.target&&(null==(n=e.target)||n.select())},tabIndex:-1},q)):(0,r.jsx)("span",{className:"text",children:J||E}),(0,r.jsx)("span",{className:(0,o.default)("".concat(h,"__arrow"),t({},"".concat(h,"__arrow_active"),$)),onClick:function(){return eI(!$)},children:G?(0,r.jsx)(c.Code,{className:"mobile-icon"}):$?(0,r.jsx)(c.ChevronUp,{}):(0,r.jsx)(c.ChevronDown,{})})]}),$&&(G&&P?(p=eO())?(0,i.createPortal)(eF(),p):null:eF())]}):null};
1
+ /* eslint-disable react-web-api/no-leaked-event-listener */ /* eslint-disable react-web-api/no-leaked-timeout */ /* eslint-disable react-dom/no-dangerously-set-innerhtml */ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "default", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return _default;
9
+ }
10
+ });
11
+ const _jsxruntime = require("react/jsx-runtime");
12
+ const _classnames = /*#__PURE__*/ _interop_require_default(require("classnames"));
13
+ const _react = /*#__PURE__*/ _interop_require_wildcard(require("react"));
14
+ const _reactdom = require("react-dom");
15
+ const _reactfeather = require("react-feather");
16
+ const _fieldValueFormatters = require("../../../Functions/fieldValueFormatters");
17
+ const _useDebounce = require("../../../Functions/useDebounce");
18
+ const _useIsMobile = /*#__PURE__*/ _interop_require_default(require("../../../Functions/useIsMobile/useIsMobile"));
19
+ const _Spinner = /*#__PURE__*/ _interop_require_default(require("../../Layout/Spinner/Spinner"));
20
+ const _RadioInput = /*#__PURE__*/ _interop_require_default(require("../RadioInput/RadioInput"));
21
+ require("./DropdownLiveSearch.scss");
22
+ function _interop_require_default(obj) {
23
+ return obj && obj.__esModule ? obj : {
24
+ default: obj
25
+ };
26
+ }
27
+ function _getRequireWildcardCache(nodeInterop) {
28
+ if (typeof WeakMap !== "function") return null;
29
+ var cacheBabelInterop = new WeakMap();
30
+ var cacheNodeInterop = new WeakMap();
31
+ return (_getRequireWildcardCache = function(nodeInterop) {
32
+ return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
33
+ })(nodeInterop);
34
+ }
35
+ function _interop_require_wildcard(obj, nodeInterop) {
36
+ if (!nodeInterop && obj && obj.__esModule) {
37
+ return obj;
38
+ }
39
+ if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
40
+ return {
41
+ default: obj
42
+ };
43
+ }
44
+ var cache = _getRequireWildcardCache(nodeInterop);
45
+ if (cache && cache.has(obj)) {
46
+ return cache.get(obj);
47
+ }
48
+ var newObj = {
49
+ __proto__: null
50
+ };
51
+ var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
52
+ for(var key in obj){
53
+ if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
54
+ var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
55
+ if (desc && (desc.get || desc.set)) {
56
+ Object.defineProperty(newObj, key, desc);
57
+ } else {
58
+ newObj[key] = obj[key];
59
+ }
60
+ }
61
+ }
62
+ newObj.default = obj;
63
+ if (cache) {
64
+ cache.set(obj, newObj);
65
+ }
66
+ return newObj;
67
+ }
68
+ const RC = 'dropdown-live-search';
69
+ const DropdownLiveSearch = ({ label, value, error, disabled, onChange, placeholder, className, isSearchable, doRequest, isLoading, options, fieldKey, id, isListTop, attributesOfNativeInput, withMobileLogic, tabIndex, isNotValidateASCII = false, noOptionsText = 'No options available', testId = 'dropdown-live-search' })=>{
70
+ var _dropdownListRef_current, _dropdownListRef_current1;
71
+ const [dropdownId] = (0, _react.useState)(id || fieldKey || Math.random().toString(16).slice(2));
72
+ const [isOpen, setIsOpenState] = (0, _react.useState)(false);
73
+ const [isValueDeleted, setIsValueDeleted] = (0, _react.useState)(false);
74
+ const { isMobile: isMobileProp } = (0, _useIsMobile.default)();
75
+ const isMobile = isMobileProp && withMobileLogic && window.screen.width <= 768;
76
+ const labelByValue = (0, _react.useMemo)(()=>{
77
+ var _options_find;
78
+ var _options_find_label;
79
+ return (_options_find_label = options === null || options === void 0 ? void 0 : (_options_find = options.find((item)=>item.value === value)) === null || _options_find === void 0 ? void 0 : _options_find.label) !== null && _options_find_label !== void 0 ? _options_find_label : '';
80
+ }, [
81
+ value,
82
+ options
83
+ ]);
84
+ const [searchValue, setSV] = (0, _react.useState)('');
85
+ const [isSearchValueChangedAfterOpen, setIsSearchValueChangedAfterOpen] = (0, _react.useState)(false);
86
+ const dropdownLiveSearchRef = (0, _react.useRef)(null);
87
+ const dropdownListBoxRef = (0, _react.useRef)(null);
88
+ const dropdownListRef = (0, _react.useRef)(null);
89
+ const dropdownListHeaderRef = (0, _react.useRef)(null);
90
+ const searchInputRef = (0, _react.useRef)(null);
91
+ const searchInputModalRef = (0, _react.useRef)(null);
92
+ const searchValueRef = (0, _react.useRef)(null);
93
+ const wrapperRef = (0, _react.useRef)(null);
94
+ const [isFocusedByClick, setIsFocusedByClick] = (0, _react.useState)(false);
95
+ const [isScrollableList, setIsScrollableList] = (0, _react.useState)(null);
96
+ const [isFixedMaxHeight, setIsFixedMaxHeight] = (0, _react.useState)(false);
97
+ const [scrollTop, setScrollTop] = (0, _react.useState)(0);
98
+ const [scrollHeight, setScrollHeight] = (0, _react.useState)(1);
99
+ const debouncedSearchTerm = (0, _useDebounce.useDebounce)({
100
+ searchValue,
101
+ delay: 600
102
+ });
103
+ const doScrollCallback = (0, _react.useCallback)((e)=>{
104
+ if (doRequest && typeof doRequest === 'function') {
105
+ const target = e === null || e === void 0 ? void 0 : e.target;
106
+ if (Math.round(target.clientHeight + target.scrollTop) === target.scrollHeight) {
107
+ var _searchValueRef_current;
108
+ doRequest((_searchValueRef_current = searchValueRef.current) !== null && _searchValueRef_current !== void 0 ? _searchValueRef_current : '', true);
109
+ }
110
+ }
111
+ }, [
112
+ options
113
+ ]);
114
+ const setSearchValue = (val, isChanged = true)=>{
115
+ if (isChanged) setIsSearchValueChangedAfterOpen(true);
116
+ setSV(val);
117
+ searchValueRef.current = val;
118
+ };
119
+ const setIsOpen = (v)=>{
120
+ setIsOpenState(v);
121
+ setSearchValue('', false);
122
+ if (!v) setIsSearchValueChangedAfterOpen(false);
123
+ };
124
+ const getParentNode = ()=>{
125
+ var _document_querySelector, _ref;
126
+ return (_ref = (_document_querySelector = document.querySelector('div#root')) !== null && _document_querySelector !== void 0 ? _document_querySelector : document.querySelector('div#app')) !== null && _ref !== void 0 ? _ref : document.querySelector('div#storybook-root');
127
+ };
128
+ const getListContainer = ()=>{
129
+ return document.getElementById(dropdownId === null || dropdownId === void 0 ? void 0 : dropdownId.toString());
130
+ };
131
+ const onWrapperClick = (e)=>{
132
+ if (e.target === (wrapperRef === null || wrapperRef === void 0 ? void 0 : wrapperRef.current)) {
133
+ e.stopPropagation();
134
+ e.preventDefault();
135
+ setIsOpen(false);
136
+ }
137
+ };
138
+ const onSearchableInputFocus = (e)=>{
139
+ if (!isOpen) {
140
+ e.preventDefault();
141
+ e.stopPropagation();
142
+ }
143
+ };
144
+ const handleClickOutside = (event)=>{
145
+ var _getListContainer;
146
+ if (dropdownLiveSearchRef.current && !dropdownLiveSearchRef.current.contains(event.target) && (!getListContainer() || !((_getListContainer = getListContainer()) === null || _getListContainer === void 0 ? void 0 : _getListContainer.contains(event.target)))) {
147
+ setIsOpen(false);
148
+ }
149
+ };
150
+ const closeListViaEsc = (e)=>{
151
+ if ([
152
+ 27
153
+ ].includes(e.keyCode)) setIsOpen(false);
154
+ };
155
+ const closeList = isOpen ? handleClickOutside : ()=>{};
156
+ const onInputClick = (e)=>{
157
+ if (!isOpen) setIsOpen(true);
158
+ if (isMobile && withMobileLogic) {
159
+ var _e_target;
160
+ e.preventDefault();
161
+ e.stopPropagation();
162
+ if (e.target) (_e_target = e.target) === null || _e_target === void 0 ? void 0 : _e_target.blur();
163
+ } else {
164
+ var _e_target1;
165
+ if (e.target) (_e_target1 = e.target) === null || _e_target1 === void 0 ? void 0 : _e_target1.select();
166
+ }
167
+ };
168
+ const onInputChange = (e)=>{
169
+ var _e_target;
170
+ let inputValue = (_e_target = e.target) === null || _e_target === void 0 ? void 0 : _e_target.value;
171
+ if (!isNotValidateASCII) inputValue = (0, _fieldValueFormatters.formatToOnlyASCIICodeText)(inputValue);
172
+ setSearchValue(inputValue);
173
+ if ((searchValue || !isSearchValueChangedAfterOpen) && !e.target.value) {
174
+ onChange === null || onChange === void 0 ? void 0 : onChange('');
175
+ setSearchValue('');
176
+ setIsValueDeleted(true);
177
+ } else {
178
+ setIsValueDeleted(false);
179
+ }
180
+ };
181
+ const highlightedText = (text, postfix)=>{
182
+ if (!isSearchable) {
183
+ return text;
184
+ } else {
185
+ const preparedSearchValue = isSearchValueChangedAfterOpen || isMobile && withMobileLogic ? searchValue : labelByValue;
186
+ const prepare = (text)=>text === null || text === void 0 ? void 0 : text.replace(/[|\\{}()[\]^$+*?.]/g, '\\$&');
187
+ text = text.replace(/["&<>]/g, (a)=>{
188
+ var _a;
189
+ return (_a = ({
190
+ '"': '&quot;',
191
+ '&': '&amp;',
192
+ '<': '&lt;',
193
+ '>': '&gt;'
194
+ })[a]) !== null && _a !== void 0 ? _a : '';
195
+ });
196
+ const main = preparedSearchValue ? text === null || text === void 0 ? void 0 : text.replace(// eslint-disable-next-line security/detect-non-literal-regexp
197
+ new RegExp(prepare(preparedSearchValue), 'i'), (match)=>`<span class="bg--yellow">${match}</span>`) : text;
198
+ const postfixPart = postfix ? `<span class="dropdown__list-item-postfix">${postfix}</span>` : '';
199
+ return main + postfixPart;
200
+ }
201
+ };
202
+ const getMarkupForElement = (item, index, optTestId)=>{
203
+ var _item_value_toString, _item_value;
204
+ const lowerLabel = item.label.toLowerCase();
205
+ const lowerSearchValue = searchValue === null || searchValue === void 0 ? void 0 : searchValue.toLowerCase();
206
+ var _item_customMobileIcon;
207
+ return /*#__PURE__*/ (0, _jsxruntime.jsxs)("button", {
208
+ type: "button",
209
+ "data-testid": `${testId}-${optTestId || index}-option`,
210
+ onClick: ()=>{
211
+ onChange === null || onChange === void 0 ? void 0 : onChange(item.value);
212
+ setIsOpen(false);
213
+ },
214
+ className: (0, _classnames.default)(`${RC}__list-item`, {
215
+ [`${RC}__list-item_active`]: item.value === value,
216
+ [`${RC}__list-item_disabled`]: item.disabled
217
+ }, item.className),
218
+ children: [
219
+ !isMobile || isMobile && !withMobileLogic && /*#__PURE__*/ (0, _jsxruntime.jsx)("span", {
220
+ className: (0, _classnames.default)(`${RC}__active-icon`, {
221
+ [`${RC}__active-icon_active`]: lowerLabel === lowerSearchValue
222
+ }),
223
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_reactfeather.Check, {})
224
+ }),
225
+ /*#__PURE__*/ (0, _jsxruntime.jsx)("p", {
226
+ title: item.label,
227
+ className: item.labelClassName || '',
228
+ dangerouslySetInnerHTML: {
229
+ __html: highlightedText(item.label, item.postfix)
230
+ }
231
+ }),
232
+ isMobile ? (_item_customMobileIcon = item === null || item === void 0 ? void 0 : item.customMobileIcon) !== null && _item_customMobileIcon !== void 0 ? _item_customMobileIcon : /*#__PURE__*/ (0, _jsxruntime.jsx)(_RadioInput.default, {
233
+ value: item.value,
234
+ checked: value === null || value === void 0 ? void 0 : value.toString()
235
+ }) : ''
236
+ ]
237
+ }, (_item_value = item.value) === null || _item_value === void 0 ? void 0 : (_item_value_toString = _item_value.toString()) === null || _item_value_toString === void 0 ? void 0 : _item_value_toString.replace(/ /g, '_'));
238
+ };
239
+ const getListMarkUp = ()=>{
240
+ var _options_length;
241
+ return /*#__PURE__*/ (0, _jsxruntime.jsx)("div", {
242
+ className: (0, _classnames.default)(`${RC}__container-wrapper`),
243
+ ref: wrapperRef,
244
+ onClick: isMobile ? onWrapperClick : ()=>{},
245
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)("div", {
246
+ className: (0, _classnames.default)(`${RC}__list-wrapper`, {
247
+ [`${RC}__list-wrapper--fixed-height`]: isFixedMaxHeight,
248
+ [`${RC}__list-wrapper--with-bottom-shadow`]: isScrollableList && isMobile,
249
+ [`${RC}__list-wrapper--with-bottom-shadow-hidden`]: scrollTop === scrollHeight
250
+ }),
251
+ children: /*#__PURE__*/ (0, _jsxruntime.jsxs)("div", {
252
+ id: "dropdown-live-search-list",
253
+ className: (0, _classnames.default)(`${RC}__container`, {
254
+ [`${RC}__list-top`]: isListTop
255
+ }),
256
+ ref: dropdownListBoxRef,
257
+ children: [
258
+ isMobile && /*#__PURE__*/ (0, _jsxruntime.jsxs)("div", {
259
+ ref: dropdownListHeaderRef,
260
+ className: (0, _classnames.default)(`${RC}__list-header`, {
261
+ [`${RC}__list-header-with-shadow`]: isScrollableList && isMobile,
262
+ [`${RC}__list-header-with-shadow-hidden`]: scrollTop === 0
263
+ }),
264
+ children: [
265
+ /*#__PURE__*/ (0, _jsxruntime.jsxs)("div", {
266
+ className: (0, _classnames.default)(`${RC}__list-header-row`),
267
+ children: [
268
+ /*#__PURE__*/ (0, _jsxruntime.jsx)("div", {
269
+ className: (0, _classnames.default)(`${RC}__list-label`),
270
+ children: label
271
+ }),
272
+ /*#__PURE__*/ (0, _jsxruntime.jsx)("div", {
273
+ className: (0, _classnames.default)(`${RC}__list-close-icon`),
274
+ onClick: ()=>setIsOpen(false),
275
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_reactfeather.X, {
276
+ onClick: ()=>setIsOpen(false)
277
+ })
278
+ })
279
+ ]
280
+ }),
281
+ isSearchable && /*#__PURE__*/ (0, _jsxruntime.jsx)("input", {
282
+ ref: searchInputModalRef,
283
+ className: `${RC}__input`,
284
+ value: isOpen ? searchValue : labelByValue,
285
+ onChange: onInputChange,
286
+ placeholder: placeholder,
287
+ onFocus: onSearchableInputFocus,
288
+ tabIndex: -1,
289
+ ...attributesOfNativeInput
290
+ })
291
+ ]
292
+ }),
293
+ /*#__PURE__*/ (0, _jsxruntime.jsxs)("div", {
294
+ className: (0, _classnames.default)(`${RC}__list`, {
295
+ disabled: isLoading
296
+ }),
297
+ ref: dropdownListRef,
298
+ children: [
299
+ options === null || options === void 0 ? void 0 : options.map((option)=>getMarkupForElement(option)),
300
+ !(options === null || options === void 0 ? void 0 : options.length) && /*#__PURE__*/ (0, _jsxruntime.jsx)("div", {
301
+ className: `${RC}__list-item ${RC}__list-item--no-options`,
302
+ children: noOptionsText
303
+ })
304
+ ]
305
+ }),
306
+ isLoading && isOpen && /*#__PURE__*/ (0, _jsxruntime.jsx)(_Spinner.default, {
307
+ size: ((_options_length = options === null || options === void 0 ? void 0 : options.length) !== null && _options_length !== void 0 ? _options_length : 0) <= 3 ? 'small' : null
308
+ })
309
+ ]
310
+ })
311
+ })
312
+ });
313
+ };
314
+ const initListContainer = ()=>{
315
+ const dropdownList = document.createElement('div');
316
+ dropdownList.setAttribute('id', dropdownId === null || dropdownId === void 0 ? void 0 : dropdownId.toString());
317
+ dropdownList.classList.add('dropdown__container');
318
+ if (isMobile) {
319
+ dropdownList.addEventListener('click', (e)=>{
320
+ if (e.target.id === dropdownId) setIsOpen(false);
321
+ });
322
+ }
323
+ try {
324
+ var _getListContainer;
325
+ (_getListContainer = getListContainer()) === null || _getListContainer === void 0 ? void 0 : _getListContainer.remove();
326
+ } finally{
327
+ if (isMobile) {
328
+ var _getParentNode;
329
+ try {
330
+ var _document_getElementById;
331
+ (_document_getElementById = document.getElementById(`mlw-${dropdownId}`)) === null || _document_getElementById === void 0 ? void 0 : _document_getElementById.remove();
332
+ } catch (e) {}
333
+ const dropdownMobileListWrapper = document.createElement('div');
334
+ dropdownMobileListWrapper.classList.add('dropdown-live-search-mobile');
335
+ dropdownMobileListWrapper.setAttribute('id', `mlw-${dropdownId}`);
336
+ dropdownMobileListWrapper === null || dropdownMobileListWrapper === void 0 ? void 0 : dropdownMobileListWrapper.append(dropdownList);
337
+ (_getParentNode = getParentNode()) === null || _getParentNode === void 0 ? void 0 : _getParentNode.append(dropdownMobileListWrapper);
338
+ } else {
339
+ var _getParentNode1;
340
+ (_getParentNode1 = getParentNode()) === null || _getParentNode1 === void 0 ? void 0 : _getParentNode1.append(dropdownList);
341
+ }
342
+ }
343
+ };
344
+ const renderListContainer = ()=>{
345
+ const lc = getListContainer();
346
+ if (!lc) return null;
347
+ return /*#__PURE__*/ (0, _reactdom.createPortal)(getListMarkUp(), lc);
348
+ };
349
+ (0, _react.useEffect)(()=>{
350
+ document.addEventListener('click', handleClickOutside, true);
351
+ return ()=>document.removeEventListener('click', handleClickOutside, true);
352
+ }, []);
353
+ (0, _react.useEffect)(()=>{
354
+ if ((options === null || options === void 0 ? void 0 : options.length) === 1 && searchValue === options[0].label) {
355
+ setSearchValue(options[0].label);
356
+ onChange === null || onChange === void 0 ? void 0 : onChange(options[0].value);
357
+ }
358
+ }, [
359
+ options
360
+ ]);
361
+ (0, _react.useEffect)(()=>{
362
+ if (isSearchable && (debouncedSearchTerm || isValueDeleted)) {
363
+ doRequest === null || doRequest === void 0 ? void 0 : doRequest(debouncedSearchTerm);
364
+ if (isValueDeleted) setIsValueDeleted(false);
365
+ }
366
+ }, [
367
+ debouncedSearchTerm,
368
+ isValueDeleted
369
+ ]);
370
+ (0, _react.useEffect)(()=>{
371
+ if (isMobile && withMobileLogic) {
372
+ initListContainer();
373
+ }
374
+ }, [
375
+ isMobile,
376
+ withMobileLogic
377
+ ]);
378
+ (0, _react.useEffect)(()=>{
379
+ if (isOpen && isMobile && (dropdownListRef === null || dropdownListRef === void 0 ? void 0 : dropdownListRef.current) && !searchValue) {
380
+ var _dropdownListRef_current, _dropdownListRef_current1, _dropdownListRef_current2, _dropdownListRef_current3;
381
+ setIsScrollableList((dropdownListRef === null || dropdownListRef === void 0 ? void 0 : (_dropdownListRef_current = dropdownListRef.current) === null || _dropdownListRef_current === void 0 ? void 0 : _dropdownListRef_current.scrollHeight) > (dropdownListRef === null || dropdownListRef === void 0 ? void 0 : (_dropdownListRef_current1 = dropdownListRef.current) === null || _dropdownListRef_current1 === void 0 ? void 0 : _dropdownListRef_current1.clientHeight));
382
+ setIsFixedMaxHeight(isScrollableList || (dropdownListRef === null || dropdownListRef === void 0 ? void 0 : (_dropdownListRef_current2 = dropdownListRef.current) === null || _dropdownListRef_current2 === void 0 ? void 0 : _dropdownListRef_current2.scrollHeight) > (dropdownListRef === null || dropdownListRef === void 0 ? void 0 : (_dropdownListRef_current3 = dropdownListRef.current) === null || _dropdownListRef_current3 === void 0 ? void 0 : _dropdownListRef_current3.clientHeight));
383
+ }
384
+ }, [
385
+ isOpen,
386
+ isMobile,
387
+ isScrollableList,
388
+ dropdownListRef === null || dropdownListRef === void 0 ? void 0 : dropdownListRef.current,
389
+ dropdownListRef === null || dropdownListRef === void 0 ? void 0 : (_dropdownListRef_current = dropdownListRef.current) === null || _dropdownListRef_current === void 0 ? void 0 : _dropdownListRef_current.scrollHeight,
390
+ dropdownListRef === null || dropdownListRef === void 0 ? void 0 : (_dropdownListRef_current1 = dropdownListRef.current) === null || _dropdownListRef_current1 === void 0 ? void 0 : _dropdownListRef_current1.clientHeight
391
+ ]);
392
+ (0, _react.useLayoutEffect)(()=>{
393
+ const list = document.getElementById('dropdown-live-search-list');
394
+ if ((list || isOpen) && (!withMobileLogic || !isMobile)) {
395
+ var _dropdownLiveSearchRef_current;
396
+ const dropdownWidth = dropdownLiveSearchRef === null || dropdownLiveSearchRef === void 0 ? void 0 : (_dropdownLiveSearchRef_current = dropdownLiveSearchRef.current) === null || _dropdownLiveSearchRef_current === void 0 ? void 0 : _dropdownLiveSearchRef_current.clientWidth;
397
+ if (list) list.style.minWidth = `${dropdownWidth}px`;
398
+ }
399
+ }, [
400
+ dropdownLiveSearchRef,
401
+ isOpen,
402
+ withMobileLogic
403
+ ]);
404
+ (0, _react.useEffect)(()=>{
405
+ if (!isOpen) {
406
+ setIsFocusedByClick(false);
407
+ if (withMobileLogic && isMobile) setSearchValue('');
408
+ }
409
+ if (isOpen && dropdownListRef && dropdownListRef.current) {
410
+ if (isMobile && withMobileLogic) {
411
+ var _searchInputModalRef_current;
412
+ doRequest === null || doRequest === void 0 ? void 0 : doRequest('').then(()=>{
413
+ setTimeout(()=>{
414
+ if (dropdownListRef.current && (dropdownListBoxRef === null || dropdownListBoxRef === void 0 ? void 0 : dropdownListBoxRef.current) && (dropdownListHeaderRef === null || dropdownListHeaderRef === void 0 ? void 0 : dropdownListHeaderRef.current)) {
415
+ var _dropdownListBoxRef_current_getBoundingClientRect, _dropdownListBoxRef_current, _dropdownListHeaderRef_current_getBoundingClientRect, _dropdownListHeaderRef_current;
416
+ dropdownListRef.current.style.maxHeight = `${(dropdownListBoxRef === null || dropdownListBoxRef === void 0 ? void 0 : (_dropdownListBoxRef_current = dropdownListBoxRef.current) === null || _dropdownListBoxRef_current === void 0 ? void 0 : (_dropdownListBoxRef_current_getBoundingClientRect = _dropdownListBoxRef_current.getBoundingClientRect()) === null || _dropdownListBoxRef_current_getBoundingClientRect === void 0 ? void 0 : _dropdownListBoxRef_current_getBoundingClientRect.height) - (dropdownListHeaderRef === null || dropdownListHeaderRef === void 0 ? void 0 : (_dropdownListHeaderRef_current = dropdownListHeaderRef.current) === null || _dropdownListHeaderRef_current === void 0 ? void 0 : (_dropdownListHeaderRef_current_getBoundingClientRect = _dropdownListHeaderRef_current.getBoundingClientRect()) === null || _dropdownListHeaderRef_current_getBoundingClientRect === void 0 ? void 0 : _dropdownListHeaderRef_current_getBoundingClientRect.height)}px`;
417
+ }
418
+ }, 1);
419
+ });
420
+ searchInputModalRef === null || searchInputModalRef === void 0 ? void 0 : (_searchInputModalRef_current = searchInputModalRef.current) === null || _searchInputModalRef_current === void 0 ? void 0 : _searchInputModalRef_current.focus();
421
+ }
422
+ dropdownListRef.current.addEventListener('scroll', doScrollCallback);
423
+ }
424
+ return ()=>{
425
+ removeEventListener('scroll', doScrollCallback);
426
+ };
427
+ }, [
428
+ isOpen,
429
+ dropdownListRef
430
+ ]);
431
+ (0, _react.useLayoutEffect)(()=>{
432
+ var _getListContainer;
433
+ if (!isMobile) {
434
+ window.addEventListener('mousewheel', closeList);
435
+ window.addEventListener('scroll', closeList);
436
+ window.addEventListener('touchmove', closeList);
437
+ } else {
438
+ window.removeEventListener('mousewheel', closeList);
439
+ window.removeEventListener('scroll', closeList);
440
+ window.removeEventListener('touchmove', closeList);
441
+ }
442
+ (_getListContainer = getListContainer()) === null || _getListContainer === void 0 ? void 0 : _getListContainer.addEventListener('click', closeList);
443
+ window.addEventListener('keyup', closeListViaEsc);
444
+ return ()=>{
445
+ var _getListContainer;
446
+ window.removeEventListener('mousewheel', closeList);
447
+ window.removeEventListener('scroll', closeList);
448
+ window.removeEventListener('touchmove', closeList);
449
+ window.removeEventListener('keyup', closeListViaEsc);
450
+ (_getListContainer = getListContainer()) === null || _getListContainer === void 0 ? void 0 : _getListContainer.removeEventListener('click', closeList);
451
+ };
452
+ }, [
453
+ getListContainer
454
+ ]);
455
+ (0, _react.useEffect)(()=>{
456
+ const setScrollTopValue = (e)=>{
457
+ var _e_target_scrollTop, _e_target;
458
+ setScrollTop(Number.parseInt((_e_target = e.target) === null || _e_target === void 0 ? void 0 : (_e_target_scrollTop = _e_target.scrollTop) === null || _e_target_scrollTop === void 0 ? void 0 : _e_target_scrollTop.toString(), 10));
459
+ };
460
+ if (isOpen && isMobile && (dropdownListRef === null || dropdownListRef === void 0 ? void 0 : dropdownListRef.current)) {
461
+ var _dropdownListRef_current;
462
+ dropdownListRef === null || dropdownListRef === void 0 ? void 0 : (_dropdownListRef_current = dropdownListRef.current) === null || _dropdownListRef_current === void 0 ? void 0 : _dropdownListRef_current.addEventListener('scroll', setScrollTopValue);
463
+ }
464
+ return ()=>{
465
+ var _dropdownListRef_current;
466
+ dropdownListRef === null || dropdownListRef === void 0 ? void 0 : (_dropdownListRef_current = dropdownListRef.current) === null || _dropdownListRef_current === void 0 ? void 0 : _dropdownListRef_current.removeEventListener('scroll', setScrollTopValue);
467
+ };
468
+ }, [
469
+ isOpen,
470
+ isMobile,
471
+ dropdownListRef === null || dropdownListRef === void 0 ? void 0 : dropdownListRef.current
472
+ ]);
473
+ (0, _react.useEffect)(()=>{
474
+ if (dropdownListRef === null || dropdownListRef === void 0 ? void 0 : dropdownListRef.current) {
475
+ var _this, _dropdownListRef_current, _dropdownListRef_current1;
476
+ setScrollHeight(Number.parseInt((_this = (dropdownListRef === null || dropdownListRef === void 0 ? void 0 : (_dropdownListRef_current = dropdownListRef.current) === null || _dropdownListRef_current === void 0 ? void 0 : _dropdownListRef_current.scrollHeight) - (dropdownListRef === null || dropdownListRef === void 0 ? void 0 : (_dropdownListRef_current1 = dropdownListRef.current) === null || _dropdownListRef_current1 === void 0 ? void 0 : _dropdownListRef_current1.clientHeight)) === null || _this === void 0 ? void 0 : _this.toString(), 10));
477
+ }
478
+ }, [
479
+ scrollTop,
480
+ dropdownListRef === null || dropdownListRef === void 0 ? void 0 : dropdownListRef.current
481
+ ]);
482
+ if (!options) return null;
483
+ return /*#__PURE__*/ (0, _jsxruntime.jsxs)("div", {
484
+ className: (0, _classnames.default)(RC, className, {
485
+ disabled,
486
+ [`${RC}-mobile`]: isMobile,
487
+ [`${RC}--focused`]: isOpen
488
+ }),
489
+ ref: dropdownLiveSearchRef,
490
+ children: [
491
+ /*#__PURE__*/ (0, _jsxruntime.jsxs)("button", {
492
+ type: "button",
493
+ "data-testid": testId,
494
+ className: `${RC}__trigger input__wrap ${isOpen ? 'input__wrap--focus' : ''} ${!value ? 'placeholder' : ''} ${error ? 'error' : ''}`,
495
+ onClick: ()=>!isSearchable ? setIsOpen(!isOpen) : null,
496
+ onMouseDown: ()=>setIsFocusedByClick(true),
497
+ onFocus: ()=>!isFocusedByClick ? setIsOpen(true) : null,
498
+ tabIndex: tabIndex,
499
+ children: [
500
+ isSearchable ? /*#__PURE__*/ (0, _jsxruntime.jsx)("input", {
501
+ ref: searchInputRef,
502
+ className: `${RC}__input`,
503
+ value: isOpen ? isMobile && withMobileLogic || !isSearchValueChangedAfterOpen ? labelByValue : searchValue : labelByValue,
504
+ onChange: onInputChange,
505
+ placeholder: placeholder,
506
+ onFocus: onSearchableInputFocus,
507
+ onClick: onInputClick,
508
+ tabIndex: -1,
509
+ ...attributesOfNativeInput
510
+ }) : /*#__PURE__*/ (0, _jsxruntime.jsx)("span", {
511
+ className: "text",
512
+ children: labelByValue || placeholder
513
+ }),
514
+ /*#__PURE__*/ (0, _jsxruntime.jsx)("span", {
515
+ className: (0, _classnames.default)(`${RC}__arrow`, {
516
+ [`${RC}__arrow_active`]: isOpen
517
+ }),
518
+ onClick: ()=>setIsOpen(!isOpen),
519
+ children: isMobile ? /*#__PURE__*/ (0, _jsxruntime.jsx)(_reactfeather.Code, {
520
+ className: "mobile-icon"
521
+ }) : isOpen ? /*#__PURE__*/ (0, _jsxruntime.jsx)(_reactfeather.ChevronUp, {}) : /*#__PURE__*/ (0, _jsxruntime.jsx)(_reactfeather.ChevronDown, {})
522
+ })
523
+ ]
524
+ }),
525
+ isOpen && (isMobile && withMobileLogic ? renderListContainer() : getListMarkUp())
526
+ ]
527
+ });
528
+ };
529
+ const _default = DropdownLiveSearch;