intelicoreact 1.5.33 → 1.5.35

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 (520) hide show
  1. package/dist/Atomic/FormElements/ActionAlert/ActionAlert.interface.js +4 -0
  2. package/dist/Atomic/FormElements/ActionAlert/ActionAlert.js +93 -44
  3. package/dist/Atomic/FormElements/ActionAlert/ActionAlert.scss +23 -13
  4. package/dist/Atomic/FormElements/ActionAlert/ActionAlert.stories.js +89 -0
  5. package/dist/Atomic/FormElements/ActionAlert/ActionAlert.test.js +130 -0
  6. package/dist/Atomic/FormElements/ActionAlert/index.js +17 -0
  7. package/dist/Atomic/FormElements/AdvancedStatus/AdvancedStatus.interface.js +4 -0
  8. package/dist/Atomic/FormElements/AdvancedStatus/AdvancedStatus.js +43 -38
  9. package/dist/Atomic/FormElements/AdvancedStatus/AdvancedStatus.scss +20 -10
  10. package/dist/Atomic/FormElements/AdvancedStatus/AdvancedStatus.stories.js +81 -0
  11. package/dist/Atomic/FormElements/AdvancedStatus/AdvancedStatus.test.js +104 -0
  12. package/dist/Atomic/FormElements/AdvancedStatus/index.js +17 -0
  13. package/dist/Atomic/FormElements/Calendar/Calendar.js +243 -164
  14. package/dist/Atomic/FormElements/Calendar/Calendar.props.js +4 -0
  15. package/dist/Atomic/FormElements/Calendar/Calendar.scss +1 -0
  16. package/dist/Atomic/FormElements/Calendar/Calendar.stories.js +108 -0
  17. package/dist/Atomic/FormElements/CheckboxInput/CheckboxInput.interface.js +4 -0
  18. package/dist/Atomic/FormElements/CheckboxInput/CheckboxInput.js +60 -51
  19. package/dist/Atomic/FormElements/CheckboxInput/CheckboxInput.scss +25 -15
  20. package/dist/Atomic/FormElements/CheckboxInput/CheckboxInput.stories.js +100 -0
  21. package/dist/Atomic/FormElements/CheckboxInput/CheckboxInput.test.js +143 -0
  22. package/dist/Atomic/FormElements/CheckboxInput/index.js +17 -0
  23. package/dist/Atomic/FormElements/CheckboxesLine/CheckboxesLine.interface.js +4 -0
  24. package/dist/Atomic/FormElements/CheckboxesLine/CheckboxesLine.js +46 -41
  25. package/dist/Atomic/FormElements/CheckboxesLine/CheckboxesLine.scss +5 -2
  26. package/dist/Atomic/FormElements/CheckboxesLine/CheckboxesLine.stories.js +94 -0
  27. package/dist/Atomic/FormElements/CheckboxesLine/CheckboxesLine.test.js +177 -0
  28. package/dist/Atomic/FormElements/CheckboxesLine/index.js +17 -0
  29. package/dist/Atomic/FormElements/Datepicker/Datepicker.js +410 -308
  30. package/dist/Atomic/FormElements/Datepicker/Datepicker.stories.js +51 -0
  31. package/dist/Atomic/FormElements/Datepicker/components/Calendar.js +169 -109
  32. package/dist/Atomic/FormElements/Dropdown/Dropdown.js +680 -571
  33. package/dist/Atomic/FormElements/Dropdown/Dropdown.scss +61 -59
  34. package/dist/Atomic/FormElements/Dropdown/Dropdown.stories.js +596 -0
  35. package/dist/Atomic/FormElements/Dropdown/components/DropdownLoader.js +28 -15
  36. package/dist/Atomic/FormElements/DropdownLiveSearch/DropdownLiveSearch.js +498 -397
  37. package/dist/Atomic/FormElements/DropdownLiveSearch/DropdownLiveSearch.scss +36 -32
  38. package/dist/Atomic/FormElements/DropdownLiveSearch/DropdownLiveSearch.stories.js +272 -0
  39. package/dist/Atomic/FormElements/FileLoader/FileLoader.js +103 -70
  40. package/dist/Atomic/FormElements/FileLoader/FileLoader.scss +0 -2
  41. package/dist/Atomic/FormElements/FileLoader/FileLoader.stories.js +182 -0
  42. package/dist/Atomic/FormElements/FileLoader/partial/LoadZone.js +138 -91
  43. package/dist/Atomic/FormElements/FileLoader/partial/LoadedContent.js +109 -55
  44. package/dist/Atomic/FormElements/FileLoaderDescription/FileLoaderDescription.js +254 -193
  45. package/dist/Atomic/FormElements/FileLoaderDescription/FileLoaderDescription.scss +19 -16
  46. package/dist/Atomic/FormElements/FileLoaderDescription/FileLoaderDescription.stories.js +327 -0
  47. package/dist/Atomic/FormElements/FileLoaderLocal/FileLoaderLocal.js +156 -143
  48. package/dist/Atomic/FormElements/FileLoaderLocal/FileLoaderLocal.scss +8 -4
  49. package/dist/Atomic/FormElements/FileLoaderLocal/FileLoaderLocal.stories.js +186 -0
  50. package/dist/Atomic/FormElements/FileLoaderLocalGroup/FileLoaderLocalGroup.js +222 -159
  51. package/dist/Atomic/FormElements/FileLoaderLocalGroup/FileLoaderLocalGroup.stories.js +84 -0
  52. package/dist/Atomic/FormElements/FormattedRawSSN/FormattedRawSSN.js +158 -117
  53. package/dist/Atomic/FormElements/FormattedRawSSN/FormattedRawSSN.stories.js +107 -0
  54. package/dist/Atomic/FormElements/FormattedRawSSN/FormattedRawSSN_old.js +151 -98
  55. package/dist/Atomic/FormElements/Input/Input.js +340 -337
  56. package/dist/Atomic/FormElements/Input/Input.scss +1 -1
  57. package/dist/Atomic/FormElements/Input/Input.stories.js +251 -0
  58. package/dist/Atomic/FormElements/InputCalendar/InputCalendar.js +156 -112
  59. package/dist/Atomic/FormElements/InputCalendar/InputCalendar.stories.js +115 -0
  60. package/dist/Atomic/FormElements/InputColor/InputColor.js +57 -58
  61. package/dist/Atomic/FormElements/InputColor/InputColor.stories.js +119 -0
  62. package/dist/Atomic/FormElements/InputCurrency/InputCurrency.interface.js +4 -0
  63. package/dist/Atomic/FormElements/InputCurrency/InputCurrency.js +189 -125
  64. package/dist/Atomic/FormElements/InputCurrency/InputCurrency.stories.js +178 -0
  65. package/dist/Atomic/FormElements/InputCurrency/InputCurrency.test.js +129 -0
  66. package/dist/Atomic/FormElements/InputCurrency/index.js +16 -0
  67. package/dist/Atomic/FormElements/InputDateRange/InputDateRange.js +294 -233
  68. package/dist/Atomic/FormElements/InputDateRange/InputDateRange.scss +1 -2
  69. package/dist/Atomic/FormElements/InputDateRange/InputDateRange.stories.js +123 -0
  70. package/dist/Atomic/FormElements/InputDateRange/components/DateInput.js +55 -56
  71. package/dist/Atomic/FormElements/InputDateRange/components/Datepicker.js +645 -545
  72. package/dist/Atomic/FormElements/InputDateRange/components/OpenedPart.js +220 -193
  73. package/dist/Atomic/FormElements/InputDateRange/components/SelectItem.js +33 -31
  74. package/dist/Atomic/FormElements/InputDateRange/dependencies.js +247 -172
  75. package/dist/Atomic/FormElements/InputLink/InputLink.js +118 -73
  76. package/dist/Atomic/FormElements/InputLink/InputLink.stories.js +140 -0
  77. package/dist/Atomic/FormElements/InputMask/InputCarretPosition.js +47 -38
  78. package/dist/Atomic/FormElements/InputMask/InputMask.js +947 -1061
  79. package/dist/Atomic/FormElements/InputMask/InputMask.stories.js +303 -0
  80. package/dist/Atomic/FormElements/InputMask/config.js +16 -15
  81. package/dist/Atomic/FormElements/InputMask/functions.js +77 -52
  82. package/dist/Atomic/FormElements/InputMask2/InputMask2.js +573 -600
  83. package/dist/Atomic/FormElements/InputMask2/InputMask2.stories.js +314 -0
  84. package/dist/Atomic/FormElements/InputMask2/config.js +16 -15
  85. package/dist/Atomic/FormElements/InputMask2/functions.js +77 -52
  86. package/dist/Atomic/FormElements/InputMask3/InputMask3.js +655 -691
  87. package/dist/Atomic/FormElements/InputMask3/InputMask3.stories.js +335 -0
  88. package/dist/Atomic/FormElements/InputMask3/config.js +16 -15
  89. package/dist/Atomic/FormElements/InputMask3/functions.js +77 -52
  90. package/dist/Atomic/FormElements/InputWithAction/InputWithAction.js +127 -88
  91. package/dist/Atomic/FormElements/InputWithAction/InputWithAction.scss +1 -1
  92. package/dist/Atomic/FormElements/InputWithAction/InputWithAction.stories.js +276 -0
  93. package/dist/Atomic/FormElements/InputsRow/InputsRow.js +182 -111
  94. package/dist/Atomic/FormElements/InputsRow/InputsRow.stories.js +56 -0
  95. package/dist/Atomic/FormElements/Label/Label.interface.js +4 -0
  96. package/dist/Atomic/FormElements/Label/Label.js +82 -55
  97. package/dist/Atomic/FormElements/Label/Label.scss +18 -8
  98. package/dist/Atomic/FormElements/Label/Label.stories.js +47 -0
  99. package/dist/Atomic/FormElements/Label/Label.test.js +167 -0
  100. package/dist/Atomic/FormElements/Label/index.js +17 -0
  101. package/dist/Atomic/FormElements/MobileCalendar/MobileCalendar.js +437 -388
  102. package/dist/Atomic/FormElements/MobileCalendar/MobileCalendar.scss +3 -3
  103. package/dist/Atomic/FormElements/MobileCalendar/MobileCalendar.stories.js +172 -0
  104. package/dist/Atomic/FormElements/MultiSelect/MultiSelect.js +88 -50
  105. package/dist/Atomic/FormElements/MultiSelect/MultiSelect.stories.js +121 -0
  106. package/dist/Atomic/FormElements/NumericInput/NumericInput.js +314 -270
  107. package/dist/Atomic/FormElements/NumericInput/NumericInput.scss +1 -1
  108. package/dist/Atomic/FormElements/NumericInput/NumericInput.stories.js +184 -0
  109. package/dist/Atomic/FormElements/RadioGroup/RadioGroup.js +93 -51
  110. package/dist/Atomic/FormElements/RadioGroup/RadioGroup.stories.js +79 -0
  111. package/dist/Atomic/FormElements/RadioGroupWithInput/RadioGroupWithInput.js +69 -55
  112. package/dist/Atomic/FormElements/RadioGroupWithInput/RadioGroupWithInput.stories.js +151 -0
  113. package/dist/Atomic/FormElements/RadioInput/RadioInput.js +51 -45
  114. package/dist/Atomic/FormElements/RadioInput/RadioInput.scss +4 -4
  115. package/dist/Atomic/FormElements/RadioInput/RadioInput.stories.js +67 -0
  116. package/dist/Atomic/FormElements/RadioRowSwitcher/RadioRowSwitcher.js +53 -40
  117. package/dist/Atomic/FormElements/RadioRowSwitcher/RadioRowSwitcher.stories.js +116 -0
  118. package/dist/Atomic/FormElements/RangeCalendar/RangeCalendar.js +169 -120
  119. package/dist/Atomic/FormElements/RangeCalendar/RangeCalendar.stories.js +107 -0
  120. package/dist/Atomic/FormElements/RangeInputs/RangeInputs.js +195 -144
  121. package/dist/Atomic/FormElements/RangeInputs/RangeInputs.stories.js +92 -0
  122. package/dist/Atomic/FormElements/RangeList/RangeList.js +199 -141
  123. package/dist/Atomic/FormElements/RangeList/RangeList.scss +2 -2
  124. package/dist/Atomic/FormElements/RangeList/RangeList.stories.js +169 -0
  125. package/dist/Atomic/FormElements/RangeList/partial/AnyOuterClass.scss +1 -4
  126. package/dist/Atomic/FormElements/RangeList/partial/RangeListRow.js +57 -44
  127. package/dist/Atomic/FormElements/RangeSlider/RangeSlider.js +463 -381
  128. package/dist/Atomic/FormElements/RangeSlider/RangeSlider.scss +1 -1
  129. package/dist/Atomic/FormElements/RangeSlider/RangeSlider.stories.js +401 -0
  130. package/dist/Atomic/FormElements/RangeSlider2/RangeSlider2.js +760 -770
  131. package/dist/Atomic/FormElements/RangeSlider2/RangeSlider2.scss +9 -9
  132. package/dist/Atomic/FormElements/RangeSlider2/RangeSlider2.stories.js +314 -0
  133. package/dist/Atomic/FormElements/SwitchableRow/SwitchableRow.js +36 -31
  134. package/dist/Atomic/FormElements/SwitchableRow/SwitchableRow.scss +0 -2
  135. package/dist/Atomic/FormElements/SwitchableRow/SwitchableRow.stories.js +137 -0
  136. package/dist/Atomic/FormElements/SwitchableRow/partial/AnyOuterClass.scss +1 -1
  137. package/dist/Atomic/FormElements/Switcher/Switcher.js +52 -44
  138. package/dist/Atomic/FormElements/Switcher/Switcher.scss +3 -3
  139. package/dist/Atomic/FormElements/Switcher/Switcher.stories.js +91 -0
  140. package/dist/Atomic/FormElements/SwitcherCheckbox/SwitcherCheckbox.js +43 -44
  141. package/dist/Atomic/FormElements/SwitcherCheckbox/SwitcherCheckbox.scss +0 -2
  142. package/dist/Atomic/FormElements/SwitcherCheckbox/SwitcherCheckbox.stories.js +104 -0
  143. package/dist/Atomic/FormElements/SwitcherHide/SwitcherHide.js +37 -36
  144. package/dist/Atomic/FormElements/SwitcherHide/SwitcherHide.scss +0 -2
  145. package/dist/Atomic/FormElements/SwitcherHide/SwitcherHide.stories.js +96 -0
  146. package/dist/Atomic/FormElements/SwitcherRadio/SwitcherRadio.js +93 -57
  147. package/dist/Atomic/FormElements/SwitcherRadio/SwitcherRadio.scss +0 -2
  148. package/dist/Atomic/FormElements/SwitcherRadio/SwitcherRadio.stories.js +140 -0
  149. package/dist/Atomic/FormElements/SwitcherRange/SwitcherRange.js +86 -53
  150. package/dist/Atomic/FormElements/SwitcherRange/SwitcherRange.scss +0 -2
  151. package/dist/Atomic/FormElements/SwitcherRange/SwitcherRange.stories.js +112 -0
  152. package/dist/Atomic/FormElements/SwitcherRangeList/SwitcherRangeList.js +46 -54
  153. package/dist/Atomic/FormElements/SwitcherRangeList/SwitcherRangeList.stories.js +145 -0
  154. package/dist/Atomic/FormElements/SwitcherRangeList/partial/AnyOuterClass.scss +1 -1
  155. package/dist/Atomic/FormElements/SwitcherTagsDropdown/SwitcherTagsDropdown.js +172 -109
  156. package/dist/Atomic/FormElements/SwitcherTagsDropdown/SwitcherTagsDropdown.scss +4 -6
  157. package/dist/Atomic/FormElements/SwitcherTagsDropdown/SwitcherTagsDropdown.stories.js +158 -0
  158. package/dist/Atomic/FormElements/SwitcherTagsDropdown/partial/States.js +209 -154
  159. package/dist/Atomic/FormElements/SwitcherTextarea/SwitcherTextarea.js +59 -56
  160. package/dist/Atomic/FormElements/SwitcherTextarea/SwitcherTextarea.scss +2 -2
  161. package/dist/Atomic/FormElements/SwitcherTextarea/SwitcherTextarea.stories.js +101 -0
  162. package/dist/Atomic/FormElements/TagListToDropdown/TagListToDropdown.js +140 -113
  163. package/dist/Atomic/FormElements/TagListToDropdown/TagListToDropdown.stories.js +131 -0
  164. package/dist/Atomic/FormElements/TagsDropdown/TagsDropdown.js +1035 -962
  165. package/dist/Atomic/FormElements/TagsDropdown/TagsDropdown.scss +155 -119
  166. package/dist/Atomic/FormElements/TagsDropdown/TagsDropdown.stories.js +357 -0
  167. package/dist/Atomic/FormElements/Text/Text.js +88 -97
  168. package/dist/Atomic/FormElements/Text/Text.stories.js +80 -0
  169. package/dist/Atomic/FormElements/TextSwitcher/TextSwitcher.js +44 -35
  170. package/dist/Atomic/FormElements/TextSwitcher/TextSwitcher.scss +8 -8
  171. package/dist/Atomic/FormElements/TextSwitcher/TextSwitcher.stories.js +106 -0
  172. package/dist/Atomic/FormElements/TextSwitcher/TextSwitcher.test.js +93 -0
  173. package/dist/Atomic/FormElements/Textarea/Textarea.js +102 -64
  174. package/dist/Atomic/FormElements/Textarea/Textarea.scss +4 -8
  175. package/dist/Atomic/FormElements/Textarea/Textarea.stories.js +103 -0
  176. package/dist/Atomic/FormElements/TieredCheckboxes/TieredCheckboxes.js +172 -136
  177. package/dist/Atomic/FormElements/TieredCheckboxes/TieredCheckboxes.stories.js +174 -0
  178. package/dist/Atomic/FormElements/TieredCheckboxes/partial/AccordionWithCheckbox.js +48 -50
  179. package/dist/Atomic/FormElements/TimeRange/TimeRange.interface.js +4 -0
  180. package/dist/Atomic/FormElements/TimeRange/TimeRange.js +114 -63
  181. package/dist/Atomic/FormElements/TimeRange/TimeRange.scss +9 -3
  182. package/dist/Atomic/FormElements/TimeRange/TimeRange.stories.js +40 -0
  183. package/dist/Atomic/FormElements/TimeRange/TimeRange.test.js +163 -0
  184. package/dist/Atomic/FormElements/TimeRange/index.js +17 -0
  185. package/dist/Atomic/FormElements/UserContacts/UserContact.test.js +381 -0
  186. package/dist/Atomic/FormElements/UserContacts/UserContacts.interface.js +4 -0
  187. package/dist/Atomic/FormElements/UserContacts/UserContacts.js +179 -123
  188. package/dist/Atomic/FormElements/UserContacts/UserContacts.scss +10 -5
  189. package/dist/Atomic/FormElements/UserContacts/UserContacts.stories.js +74 -0
  190. package/dist/Atomic/FormElements/UserContacts/index.js +17 -0
  191. package/dist/Atomic/FormElements/UserContacts/partial/AnyOuterClass.scss +1 -1
  192. package/dist/Atomic/FormElements/VariantsListRadio/VariantsListRadio.js +101 -65
  193. package/dist/Atomic/FormElements/VariantsListRadio/VariantsListRadio.scss +4 -12
  194. package/dist/Atomic/FormElements/VariantsListRadio/VariantsListRadio.stories.js +193 -0
  195. package/dist/Atomic/FormElements/VariantsListRadio/partials/VariantsListRadioItem.js +80 -71
  196. package/dist/Atomic/FormElements/WidgetPseudoTable/WidgetPseudoTable.js +79 -64
  197. package/dist/Atomic/FormElements/WidgetPseudoTable/WidgetPseudoTable.scss +1 -3
  198. package/dist/Atomic/FormElements/WidgetPseudoTable/WidgetPseudoTable.stories.js +147 -0
  199. package/dist/Atomic/FormElements/WidgetPseudoTable/partial/AnyOuterClass.scss +1 -1
  200. package/dist/Atomic/FormElements/WidgetPseudoTable/partial/constructor.js +42 -34
  201. package/dist/Atomic/FormElements/WidgetWithSwitchableRows/WidgetWithSwitchableRows.js +102 -83
  202. package/dist/Atomic/FormElements/WidgetWithSwitchableRows/WidgetWithSwitchableRows.scss +1 -3
  203. package/dist/Atomic/FormElements/WidgetWithSwitchableRows/WidgetWithSwitchableRows.stories.js +151 -0
  204. package/dist/Atomic/FormElements/WidgetWithSwitchableRows/partial/AnyOuterClass.scss +1 -1
  205. package/dist/Atomic/FormElements/WidgetWithSwitchableRows/partial/constructor.js +42 -35
  206. package/dist/Atomic/Layout/Header/Header.js +148 -80
  207. package/dist/Atomic/Layout/Header/Header.scss +1 -1
  208. package/dist/Atomic/Layout/Header/Header.stories.js +71 -0
  209. package/dist/Atomic/Layout/MainMenu/MainMenu.js +213 -133
  210. package/dist/Atomic/Layout/MainMenu/MainMenu.scss +9 -9
  211. package/dist/Atomic/Layout/MainMenu/MainMenu.stories.js +115 -0
  212. package/dist/Atomic/Layout/Spinner/Spinner.interface.js +4 -0
  213. package/dist/Atomic/Layout/Spinner/Spinner.js +39 -22
  214. package/dist/Atomic/Layout/Spinner/Spinner.scss +32 -16
  215. package/dist/Atomic/Layout/Spinner/Spinner.stories.js +46 -0
  216. package/dist/Atomic/Layout/Spinner/Spinner.test.js +54 -0
  217. package/dist/Atomic/Layout/Spinner/index.js +17 -0
  218. package/dist/Atomic/UI/Accordion/Accordion.interface.js +4 -0
  219. package/dist/Atomic/UI/Accordion/Accordion.js +102 -52
  220. package/dist/Atomic/UI/Accordion/Accordion.scss +25 -14
  221. package/dist/Atomic/UI/Accordion/Accordion.stories.js +168 -0
  222. package/dist/Atomic/UI/Accordion/Accordion.test.js +54 -0
  223. package/dist/Atomic/UI/Accordion/AccordionItem.js +170 -104
  224. package/dist/Atomic/UI/Accordion/AccordionItem.test.js +50 -0
  225. package/dist/Atomic/UI/Accordion/index.js +17 -0
  226. package/dist/Atomic/UI/AccordionTable/AccordionTable.js +251 -173
  227. package/dist/Atomic/UI/AccordionTable/AccordionTable.stories.js +268 -0
  228. package/dist/Atomic/UI/AccordionText/AccordionText.js +105 -54
  229. package/dist/Atomic/UI/AccordionText/AccordionText.scss +22 -9
  230. package/dist/Atomic/UI/AccordionText/AccordionText.stories.js +125 -0
  231. package/dist/Atomic/UI/AdvancedTag/AdvTag.js +207 -136
  232. package/dist/Atomic/UI/AdvancedTag/AdvancedTags.js +100 -46
  233. package/dist/Atomic/UI/AdvancedTag/AdvancedTags.scss +2 -2
  234. package/dist/Atomic/UI/AdvancedTag/AdvancedTags.stories.js +115 -0
  235. package/dist/Atomic/UI/Alert/Alert.js +116 -63
  236. package/dist/Atomic/UI/Alert/Alert.scss +2 -2
  237. package/dist/Atomic/UI/Alert/Alert.stories.js +81 -0
  238. package/dist/Atomic/UI/Arrow/Arrow.js +163 -110
  239. package/dist/Atomic/UI/Arrow/Arrow.stories.js +62 -0
  240. package/dist/Atomic/UI/Box/Box.js +37 -37
  241. package/dist/Atomic/UI/Box/Box.scss +11 -11
  242. package/dist/Atomic/UI/Box/Box.stories.js +114 -0
  243. package/dist/Atomic/UI/Button/Button.js +43 -42
  244. package/dist/Atomic/UI/Button/Button.stories.js +105 -0
  245. package/dist/Atomic/UI/Button/Button.test.js +147 -0
  246. package/dist/Atomic/UI/ButtonsBar/ButtonsBar.js +61 -67
  247. package/dist/Atomic/UI/ButtonsBar/ButtonsBar.stories.js +129 -0
  248. package/dist/Atomic/UI/Chart/Chart.js +170 -98
  249. package/dist/Atomic/UI/Chart/Chart.stories.js +93 -0
  250. package/dist/Atomic/UI/Chart/partial/Chart.constants.js +142 -74
  251. package/dist/Atomic/UI/Chart/partial/ChartTypeSwitcherIcon/ChartTypeSwitcherIcon.js +91 -77
  252. package/dist/Atomic/UI/Chart/partial/datasetSetters.js +120 -120
  253. package/dist/Atomic/UI/Chart/partial/optionsConstructor.js +311 -293
  254. package/dist/Atomic/UI/Chart/partial/optionsSetters.js +54 -42
  255. package/dist/Atomic/UI/Chart/partial/utils.js +55 -35
  256. package/dist/Atomic/UI/CircleProgressBar/CircleProgressBar.js +145 -88
  257. package/dist/Atomic/UI/CircleProgressBar/CircleProgressBar.stories.js +85 -0
  258. package/dist/Atomic/UI/DateTime/DateTime.js +89 -37
  259. package/dist/Atomic/UI/DateTime/DateTime.scss +2 -2
  260. package/dist/Atomic/UI/DateTime/DateTime.stories.js +50 -0
  261. package/dist/Atomic/UI/DateTime/partial/AnyOuterClass.scss +1 -1
  262. package/dist/Atomic/UI/DebugContainer/DebugContainer.js +93 -33
  263. package/dist/Atomic/UI/DebugContainer/useDebugContainer.js +66 -18
  264. package/dist/Atomic/UI/DoubleString/DoubleString.js +134 -78
  265. package/dist/Atomic/UI/DoubleString/DoubleString.scss +6 -4
  266. package/dist/Atomic/UI/DoubleString/DoubleString.stories.js +79 -0
  267. package/dist/Atomic/UI/DoubleString/partial/AnyOuterClass.scss +1 -1
  268. package/dist/Atomic/UI/DynamicIcon/DynamicIcon.interface.js +4 -0
  269. package/dist/Atomic/UI/DynamicIcon/DynamicIcon.js +65 -22
  270. package/dist/Atomic/UI/DynamicIcon/DynamicIcon.stories.js +98 -0
  271. package/dist/Atomic/UI/DynamicIcon/DynamicIcon.test.js +51 -0
  272. package/dist/Atomic/UI/DynamicIcon/index.js +17 -0
  273. package/dist/Atomic/UI/ExampleChartIntegration/ExampleChartIntegration.js +250 -172
  274. package/dist/Atomic/UI/ExampleChartIntegration/ExampleChartIntegration.stories.js +98 -0
  275. package/dist/Atomic/UI/ExampleChartIntegration/partial/AnyOuterClass.scss +1 -1
  276. package/dist/Atomic/UI/ExampleChartIntegration/partial/utils.js +109 -84
  277. package/dist/Atomic/UI/Hint/Hint.js +243 -204
  278. package/dist/Atomic/UI/Hint/Hint.scss +5 -3
  279. package/dist/Atomic/UI/Hint/Hint.stories.js +101 -0
  280. package/dist/Atomic/UI/Hint/index.js +16 -0
  281. package/dist/Atomic/UI/Hint/partials/_utils.js +54 -44
  282. package/dist/Atomic/UI/Modal/Modal.interface.js +4 -0
  283. package/dist/Atomic/UI/Modal/Modal.js +171 -172
  284. package/dist/Atomic/UI/Modal/Modal.scss +91 -69
  285. package/dist/Atomic/UI/Modal/Modal.stories.js +370 -0
  286. package/dist/Atomic/UI/Modal/ModalHOC.js +92 -38
  287. package/dist/Atomic/UI/Modal/ModalHOC.stories.js +191 -0
  288. package/dist/Atomic/UI/Modal/ModalHOC.test.js +187 -0
  289. package/dist/Atomic/UI/Modal/ModalMobile.scss +24 -14
  290. package/dist/Atomic/UI/Modal/index.js +26 -0
  291. package/dist/Atomic/UI/Modal/partials/ModalFooter.js +68 -18
  292. package/dist/Atomic/UI/Modal/partials/ModalFooter.test.js +118 -0
  293. package/dist/Atomic/UI/Modal/partials/ModalTitle.js +107 -38
  294. package/dist/Atomic/UI/Modal/partials/ModalTitle.test.js +126 -0
  295. package/dist/Atomic/UI/Modal/partials/useMobileModal.js +128 -163
  296. package/dist/Atomic/UI/Modal/partials/useMobileModal.test.js +133 -0
  297. package/dist/Atomic/UI/MonoAccordion/MonoAccordion.interface.js +4 -0
  298. package/dist/Atomic/UI/MonoAccordion/MonoAccordion.js +117 -64
  299. package/dist/Atomic/UI/MonoAccordion/MonoAccordion.scss +163 -25
  300. package/dist/Atomic/UI/MonoAccordion/MonoAccordion.stories.js +513 -0
  301. package/dist/Atomic/UI/MonoAccordion/MonoAccordion.test.js +84 -0
  302. package/dist/Atomic/UI/MonoAccordion/index.js +17 -0
  303. package/dist/Atomic/UI/NavLine/NavLine.interface.js +4 -0
  304. package/dist/Atomic/UI/NavLine/NavLine.js +306 -279
  305. package/dist/Atomic/UI/NavLine/NavLine.scss +195 -155
  306. package/dist/Atomic/UI/NavLine/NavLine.stories.js +434 -0
  307. package/dist/Atomic/UI/NavLine/NavLine.test.js +311 -0
  308. package/dist/Atomic/UI/NavLine/index.js +17 -0
  309. package/dist/Atomic/UI/PageTitle/PageTitle.interface.js +4 -0
  310. package/dist/Atomic/UI/PageTitle/PageTitle.js +73 -52
  311. package/dist/Atomic/UI/PageTitle/PageTitle.scss +52 -14
  312. package/dist/Atomic/UI/PageTitle/PageTitle.stories.js +62 -0
  313. package/dist/Atomic/UI/PageTitle/PageTitle.test.js +181 -0
  314. package/dist/Atomic/UI/PageTitle/index.js +17 -0
  315. package/dist/Atomic/UI/PieChart/PieChar.interface.js +4 -0
  316. package/dist/Atomic/UI/PieChart/PieChart.js +105 -42
  317. package/dist/Atomic/UI/PieChart/PieChart.scss +86 -11
  318. package/dist/Atomic/UI/PieChart/PieChart.stories.js +82 -0
  319. package/dist/Atomic/UI/PieChart/PieChart.test.js +142 -0
  320. package/dist/Atomic/UI/PieChart/index.js +26 -0
  321. package/dist/Atomic/UI/Price/Price.interface.js +4 -0
  322. package/dist/Atomic/UI/Price/Price.js +27 -20
  323. package/dist/Atomic/UI/Price/Price.stories.js +52 -0
  324. package/dist/Atomic/UI/Price/Price.test.js +83 -0
  325. package/dist/Atomic/UI/Price/index.js +17 -0
  326. package/dist/Atomic/UI/PriceRange/PriceRange.interface.js +4 -0
  327. package/dist/Atomic/UI/PriceRange/PriceRange.js +40 -18
  328. package/dist/Atomic/UI/PriceRange/PriceRange.stories.js +51 -0
  329. package/dist/Atomic/UI/PriceRange/PriceRange.test.js +72 -0
  330. package/dist/Atomic/UI/PriceRange/index.js +17 -0
  331. package/dist/Atomic/UI/ProgressLine/ProgressLine.interface.js +4 -0
  332. package/dist/Atomic/UI/ProgressLine/ProgressLine.js +92 -73
  333. package/dist/Atomic/UI/ProgressLine/ProgressLine.scss +85 -71
  334. package/dist/Atomic/UI/ProgressLine/ProgressLine.stories.js +163 -0
  335. package/dist/Atomic/UI/ProgressLine/ProgressLine.test.js +60 -0
  336. package/dist/Atomic/UI/ProgressLine/index.js +17 -0
  337. package/dist/Atomic/UI/Status/Status.interface.js +4 -0
  338. package/dist/Atomic/UI/Status/Status.js +62 -51
  339. package/dist/Atomic/UI/Status/Status.scss +48 -29
  340. package/dist/Atomic/UI/Status/Status.stories.js +79 -0
  341. package/dist/Atomic/UI/Status/Status.test.js +103 -0
  342. package/dist/Atomic/UI/Status/index.js +17 -0
  343. package/dist/Atomic/UI/Table/Partials/TdCell.js +126 -88
  344. package/dist/Atomic/UI/Table/Partials/TdHeader.js +58 -39
  345. package/dist/Atomic/UI/Table/Partials/TdRow.js +124 -73
  346. package/dist/Atomic/UI/Table/Partials/TdTitle.js +113 -45
  347. package/dist/Atomic/UI/Table/Table.js +61 -43
  348. package/dist/Atomic/UI/Table/Table.scss +0 -3
  349. package/dist/Atomic/UI/Table/Table.stories.js +250 -0
  350. package/dist/Atomic/UI/Table/TdTypes/TdActions.js +108 -64
  351. package/dist/Atomic/UI/Table/TdTypes/TdPriority.js +44 -31
  352. package/dist/Atomic/UI/Table/TdTypes/TdRange.js +24 -10
  353. package/dist/Atomic/UI/Table/TdTypes/TdWeight.js +59 -48
  354. package/dist/Atomic/UI/Tag/Tag.interface.js +4 -0
  355. package/dist/Atomic/UI/Tag/Tag.js +157 -115
  356. package/dist/Atomic/UI/Tag/Tag.scss +102 -48
  357. package/dist/Atomic/UI/Tag/Tag.stories.js +108 -0
  358. package/dist/Atomic/UI/Tag/Tag.test.js +75 -0
  359. package/dist/Atomic/UI/Tag/index.js +17 -0
  360. package/dist/Atomic/UI/TagList/TagList.js +223 -184
  361. package/dist/Atomic/UI/TagList/TagList.scss +13 -9
  362. package/dist/Atomic/UI/TagList/TagList.stories.js +169 -0
  363. package/dist/Atomic/UI/UserBox/UserBox.interface.js +4 -0
  364. package/dist/Atomic/UI/UserBox/UserBox.js +80 -56
  365. package/dist/Atomic/UI/UserBox/UserBox.scss +45 -21
  366. package/dist/Atomic/UI/UserBox/UserBox.stories.js +57 -0
  367. package/dist/Atomic/UI/UserBox/UserBox.test.js +136 -0
  368. package/dist/Atomic/UI/UserBox/index.js +17 -0
  369. package/dist/Atomic/UI/WizardStepper/WizardStepper.stories.js +70 -0
  370. package/dist/Atomic/UI/WizardStepper/constructor.js +127 -89
  371. package/dist/Atomic/UI/WizardStepper/index.js +14 -6
  372. package/dist/Atomic/UI/WizardStepper/ui/StateIcon/StateIcon.js +53 -51
  373. package/dist/Atomic/UI/WizardStepper/ui/StateIcon/StateIcon.scss +11 -7
  374. package/dist/Atomic/UI/WizardStepper/ui/StateIcon/index.js +9 -5
  375. package/dist/Atomic/UI/WizardStepper/ui/StepRow/StepRow.js +84 -70
  376. package/dist/Atomic/UI/WizardStepper/ui/StepRow/StepRow.scss +13 -7
  377. package/dist/Atomic/UI/WizardStepper/ui/StepRow/index.js +14 -6
  378. package/dist/Atomic/UI/WizardStepper/ui/StepWrapper/StepWrapper.js +50 -45
  379. package/dist/Atomic/UI/WizardStepper/ui/StepWrapper/StepWrapper.scss +24 -18
  380. package/dist/Atomic/UI/WizardStepper/ui/StepWrapper/index.js +14 -6
  381. package/dist/Atomic/UI/WizardStepper/ui/icons.js +138 -106
  382. package/dist/Atomic/UI/WizardStepper/ui/index.js +14 -6
  383. package/dist/Classes/AbortableFetch.js +394 -375
  384. package/dist/Classes/AnimatedHandler.js +31 -44
  385. package/dist/Classes/RESTAPI/index.js +131 -174
  386. package/dist/Classes/RESTAPI/partials/AbortableFetch.js +399 -382
  387. package/dist/Classes/RESTAPI/partials/ApiBase.js +30 -30
  388. package/dist/Classes/RESTAPI/partials/ApiRequestCreators.js +107 -94
  389. package/dist/Classes/RESTAPI/partials/ApiUtils.js +144 -166
  390. package/dist/Classes/RESTAPI/partials/CredentialsProcessing.js +180 -205
  391. package/dist/Classes/RESTAPI/partials/Utils.js +80 -83
  392. package/dist/Classes/RESTAPI/partials/_outerDependencies.js +16 -8
  393. package/dist/Classes/RESTAPI/partials/_utils.js +139 -134
  394. package/dist/Constants/index.constants.js +102 -22
  395. package/dist/Functions/Portal.js +67 -25
  396. package/dist/Functions/animatingFunctions/getAnimatedHandler.js +1 -1
  397. package/dist/Functions/customEventListener.js +48 -50
  398. package/dist/Functions/dateTime.js +130 -177
  399. package/dist/Functions/fieldValueFormatters.js +274 -350
  400. package/dist/Functions/hooks/useFormFieldsChangesManager.js +125 -100
  401. package/dist/Functions/locale/createTranslator.js +29 -29
  402. package/dist/Functions/operations.js +129 -102
  403. package/dist/Functions/presets/inputMaskPresets.js +88 -99
  404. package/dist/Functions/presets/inputPresets.js +41 -35
  405. package/dist/Functions/presets/mobileKeyboardTypesPresets.js +30 -49
  406. package/dist/Functions/schemas.js +78 -20
  407. package/dist/Functions/useBodyScrollLock.js +21 -15
  408. package/dist/Functions/useClickOutside.js +21 -16
  409. package/dist/Functions/useDebounce.js +62 -21
  410. package/dist/Functions/useFieldFocus.js +83 -84
  411. package/dist/Functions/useFormTools/form-drivers/ArrayWithObjects.js +39 -47
  412. package/dist/Functions/useFormTools/form-drivers/ObjectWithIterableObjects.js +132 -137
  413. package/dist/Functions/useFormTools/form-drivers/ObjectWithNamedKeyObjects.js +63 -74
  414. package/dist/Functions/useFormTools/functions/General.js +117 -129
  415. package/dist/Functions/useFormTools/functions/RenderFields.js +75 -85
  416. package/dist/Functions/useFormTools/functions/usePrevious.js +16 -10
  417. package/dist/Functions/useFormTools/index.js +647 -720
  418. package/dist/Functions/useInputHighlightError.js +104 -53
  419. package/dist/Functions/useIsMobile/index.js +17 -0
  420. package/dist/Functions/useIsMobile/useIsMobile.js +33 -0
  421. package/dist/Functions/useIsMobile/useIsMobile.test.js +104 -0
  422. package/dist/Functions/useKeyPress/useHandleKeyPress.js +40 -33
  423. package/dist/Functions/useKeyPress/useHandleKeyPress.test.js +96 -0
  424. package/dist/Functions/useKeyPress/useKeyPress.js +48 -39
  425. package/dist/Functions/useKeyPress/useKeyPress.test.js +87 -0
  426. package/dist/Functions/useLocalStorage.js +38 -31
  427. package/dist/Functions/useLocationParams.js +31 -25
  428. package/dist/Functions/useMediaQuery.js +14 -10
  429. package/dist/Functions/useMetaInfo.js +45 -35
  430. package/dist/Functions/useMouseUpOutside.js +21 -15
  431. package/dist/Functions/useOnlineStatus.js +25 -21
  432. package/dist/Functions/usePasswordChecker.js +183 -111
  433. package/dist/Functions/usePrevious.js +16 -10
  434. package/dist/Functions/useResize.js +32 -30
  435. package/dist/Functions/useScrollTo.js +26 -17
  436. package/dist/Functions/useToggle.js +20 -16
  437. package/dist/Functions/utils.js +493 -472
  438. package/dist/Molecular/CustomIcons/components/AffiliateNetworks.js +75 -28
  439. package/dist/Molecular/CustomIcons/components/AlertCircle.js +77 -28
  440. package/dist/Molecular/CustomIcons/components/AppStore.js +84 -32
  441. package/dist/Molecular/CustomIcons/components/Arrow.js +93 -38
  442. package/dist/Molecular/CustomIcons/components/ArrowDown.js +63 -20
  443. package/dist/Molecular/CustomIcons/components/ArrowLeft.js +71 -23
  444. package/dist/Molecular/CustomIcons/components/ArrowRight.js +71 -23
  445. package/dist/Molecular/CustomIcons/components/ArrowUp.js +63 -20
  446. package/dist/Molecular/CustomIcons/components/Bell.js +61 -18
  447. package/dist/Molecular/CustomIcons/components/Button.js +61 -18
  448. package/dist/Molecular/CustomIcons/components/Campaigns.js +62 -19
  449. package/dist/Molecular/CustomIcons/components/Check.js +62 -19
  450. package/dist/Molecular/CustomIcons/components/Check2.js +61 -18
  451. package/dist/Molecular/CustomIcons/components/ChevronDown.js +61 -18
  452. package/dist/Molecular/CustomIcons/components/ChevronDownDisabled.js +61 -18
  453. package/dist/Molecular/CustomIcons/components/ChevronLeft.js +61 -18
  454. package/dist/Molecular/CustomIcons/components/ChevronRight.js +61 -18
  455. package/dist/Molecular/CustomIcons/components/ChevronUp.js +61 -18
  456. package/dist/Molecular/CustomIcons/components/ChevronUpDown.js +81 -33
  457. package/dist/Molecular/CustomIcons/components/Close.js +64 -20
  458. package/dist/Molecular/CustomIcons/components/ColumnsOrder.js +95 -45
  459. package/dist/Molecular/CustomIcons/components/Delete.js +62 -19
  460. package/dist/Molecular/CustomIcons/components/Edit.js +61 -18
  461. package/dist/Molecular/CustomIcons/components/Email.js +87 -36
  462. package/dist/Molecular/CustomIcons/components/FinturfLogo.js +82 -26
  463. package/dist/Molecular/CustomIcons/components/FinturfLogo2.js +83 -34
  464. package/dist/Molecular/CustomIcons/components/Flows.js +61 -18
  465. package/dist/Molecular/CustomIcons/components/Gift.js +71 -23
  466. package/dist/Molecular/CustomIcons/components/GoogleAuth.js +84 -32
  467. package/dist/Molecular/CustomIcons/components/GooglePlay.js +84 -32
  468. package/dist/Molecular/CustomIcons/components/HelpCircle.js +67 -21
  469. package/dist/Molecular/CustomIcons/components/HelpCircle2.js +68 -22
  470. package/dist/Molecular/CustomIcons/components/HelpCircleFilled.js +67 -21
  471. package/dist/Molecular/CustomIcons/components/Home.js +67 -21
  472. package/dist/Molecular/CustomIcons/components/Home2.js +70 -24
  473. package/dist/Molecular/CustomIcons/components/Key.js +69 -26
  474. package/dist/Molecular/CustomIcons/components/Landers.js +68 -22
  475. package/dist/Molecular/CustomIcons/components/Lock.js +61 -18
  476. package/dist/Molecular/CustomIcons/components/Mail.js +75 -26
  477. package/dist/Molecular/CustomIcons/components/Mastercard.js +128 -68
  478. package/dist/Molecular/CustomIcons/components/Minus.js +79 -31
  479. package/dist/Molecular/CustomIcons/components/Offers.js +62 -19
  480. package/dist/Molecular/CustomIcons/components/Pause.js +79 -31
  481. package/dist/Molecular/CustomIcons/components/PayPal.js +96 -45
  482. package/dist/Molecular/CustomIcons/components/PayPalLightLarge.js +81 -32
  483. package/dist/Molecular/CustomIcons/components/Phone.js +81 -33
  484. package/dist/Molecular/CustomIcons/components/Play.js +79 -31
  485. package/dist/Molecular/CustomIcons/components/Plus.js +79 -31
  486. package/dist/Molecular/CustomIcons/components/Profile.js +69 -23
  487. package/dist/Molecular/CustomIcons/components/QRCode.js +85 -33
  488. package/dist/Molecular/CustomIcons/components/Rectangle.js +61 -18
  489. package/dist/Molecular/CustomIcons/components/Revert.js +67 -21
  490. package/dist/Molecular/CustomIcons/components/Star.js +60 -17
  491. package/dist/Molecular/CustomIcons/components/Star2.js +62 -19
  492. package/dist/Molecular/CustomIcons/components/TrafficSources.js +68 -21
  493. package/dist/Molecular/CustomIcons/components/Trash.js +61 -18
  494. package/dist/Molecular/CustomIcons/components/TrashRed.js +61 -18
  495. package/dist/Molecular/CustomIcons/components/Triggers.js +61 -18
  496. package/dist/Molecular/CustomIcons/components/User.js +71 -23
  497. package/dist/Molecular/CustomIcons/components/Visa.js +88 -34
  498. package/dist/Molecular/CustomIcons/components/X.js +61 -18
  499. package/dist/Molecular/CustomIcons/index.js +76 -674
  500. package/dist/Molecular/FormElement/FormElement.js +44 -41
  501. package/dist/Molecular/FormElement/FormElement.stories.js +92 -0
  502. package/dist/Molecular/FormWithDependOn/FormWithDependOn.js +179 -161
  503. package/dist/Molecular/FormWithDependOn/FormWithDependOn.stories.js +301 -0
  504. package/dist/Molecular/FormWithDependOn/partials/_utils.js +49 -60
  505. package/dist/Molecular/InputAddress/InputAddress.js +496 -439
  506. package/dist/Molecular/InputAddress/InputAddress.scss +14 -16
  507. package/dist/Molecular/InputAddress/InputAddress.stories.js +541 -0
  508. package/dist/Molecular/InputPassword/InputPassword.js +99 -48
  509. package/dist/Molecular/InputPassword/InputPassword.stories.js +86 -0
  510. package/dist/index.js +11 -8
  511. package/dist/scss/_fonts.scss +48 -60
  512. package/dist/scss/_mixins.scss +2 -2
  513. package/dist/scss/_vars.scss +4 -5
  514. package/dist/scss/main.scss +5 -4
  515. package/dist/types/base.interface.js +4 -0
  516. package/dist/types/base.types.js +4 -0
  517. package/package.json +17 -21
  518. package/dist/Atomic/UI/Hint/partial/_utils.js +0 -52
  519. package/dist/Atomic/UI/NavLine/Tabs.js +0 -115
  520. package/dist/Functions/useIsMobile.js +0 -26
@@ -1,461 +1,518 @@
1
1
  "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
2
  Object.defineProperty(exports, "__esModule", {
5
- value: true
3
+ value: true
6
4
  });
7
- exports.default = void 0;
8
- var _react = _interopRequireWildcard(require("react"));
9
- var _classnames = _interopRequireDefault(require("classnames"));
10
- var _reactFeather = require("react-feather");
11
- var _Input = _interopRequireDefault(require("../../Atomic/FormElements/Input/Input"));
12
- var _Spinner = _interopRequireDefault(require("../../Atomic/Layout/Spinner/Spinner"));
13
- var _Hint = _interopRequireDefault(require("../../Atomic/UI/Hint/Hint"));
14
- var _useIsMobile = _interopRequireDefault(require("../../Functions/useIsMobile"));
15
- var _utils = require("../../Functions/utils");
5
+ Object.defineProperty(exports, "default", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return _default;
9
+ }
10
+ });
11
+ const _jsxruntime = require("react/jsx-runtime");
12
+ const _react = /*#__PURE__*/ _interop_require_wildcard(require("react"));
13
+ const _classnames = /*#__PURE__*/ _interop_require_default(require("classnames"));
14
+ const _reactfeather = require("react-feather");
15
+ const _Input = /*#__PURE__*/ _interop_require_default(require("../../Atomic/FormElements/Input/Input"));
16
+ const _Spinner = /*#__PURE__*/ _interop_require_default(require("../../Atomic/Layout/Spinner/Spinner"));
17
+ const _Hint = /*#__PURE__*/ _interop_require_default(require("../../Atomic/UI/Hint/Hint"));
18
+ const _useIsMobile = /*#__PURE__*/ _interop_require_default(require("../../Functions/useIsMobile/useIsMobile"));
19
+ const _utils = require("../../Functions/utils");
16
20
  require("./InputAddress.scss");
17
- 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); }
18
- 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; }
21
+ function _interop_require_default(obj) {
22
+ return obj && obj.__esModule ? obj : {
23
+ default: obj
24
+ };
25
+ }
26
+ function _getRequireWildcardCache(nodeInterop) {
27
+ if (typeof WeakMap !== "function") return null;
28
+ var cacheBabelInterop = new WeakMap();
29
+ var cacheNodeInterop = new WeakMap();
30
+ return (_getRequireWildcardCache = function(nodeInterop) {
31
+ return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
32
+ })(nodeInterop);
33
+ }
34
+ function _interop_require_wildcard(obj, nodeInterop) {
35
+ if (!nodeInterop && obj && obj.__esModule) {
36
+ return obj;
37
+ }
38
+ if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
39
+ return {
40
+ default: obj
41
+ };
42
+ }
43
+ var cache = _getRequireWildcardCache(nodeInterop);
44
+ if (cache && cache.has(obj)) {
45
+ return cache.get(obj);
46
+ }
47
+ var newObj = {
48
+ __proto__: null
49
+ };
50
+ var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
51
+ for(var key in obj){
52
+ if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
53
+ var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
54
+ if (desc && (desc.get || desc.set)) {
55
+ Object.defineProperty(newObj, key, desc);
56
+ } else {
57
+ newObj[key] = obj[key];
58
+ }
59
+ }
60
+ }
61
+ newObj.default = obj;
62
+ if (cache) {
63
+ cache.set(obj, newObj);
64
+ }
65
+ return newObj;
66
+ }
19
67
  const DEFAULT_HINT_MESSAGE = "Select the correct address from the list of suggestions (must contains house number and street name)";
20
68
  const RC = "input-address";
21
-
22
69
  // ? Если равны - true
23
- const compareValues = (val1, val2) => {
24
- return typeof val1 === typeof val2 && ((0, _utils.getIsOnlyAnObject)(val1) ? (0, _utils.compare)(val1, val2) : val1 === val2);
70
+ const compareValues = (val1, val2)=>{
71
+ return typeof val1 === typeof val2 && ((0, _utils.getIsOnlyAnObject)(val1) ? (0, _utils.compare)(val1, val2) : val1 === val2);
25
72
  };
26
- const throttle = (fn, ms) => {
27
- let id = null;
28
- return function () {
29
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
30
- args[_key] = arguments[_key];
31
- }
32
- if (id) clearTimeout(id);
33
- id = setTimeout(() => {
34
- fn(...args);
35
- }, ms);
36
- };
73
+ const throttle = (fn, ms)=>{
74
+ let id = null;
75
+ return (...args)=>{
76
+ if (id) clearTimeout(id);
77
+ id = setTimeout(()=>{
78
+ fn(...args);
79
+ }, ms);
80
+ };
37
81
  };
38
-
39
82
  // Отдает true если value валидное НЕ нулевое число
40
- const getIsValidNumber = value => Boolean(value) && typeof value === "number" && !Number.isNaN(value);
41
- const InputAddress = _ref => {
42
- let {
43
- label,
44
- className = "",
45
- isClearable = true,
46
- isKeyboardControlled = true,
47
- fieldKey = "",
48
- testId = "",
49
- throttle: throttleTime = 500,
50
- // ms
51
- additionalThrottleTimeForListingRequest = 0,
52
- // ms
53
- loader = "",
54
- noItemsMessage = "",
55
- error,
56
- value = "",
57
- onChange = () => {},
58
- onChangeValueTransformer,
59
- disabled,
60
- getListItems = () => {},
61
- clarifyAddressInfo,
62
- // ! Не делать дефолтного значения! Это и метод и флаг
63
-
64
- noValidate = false,
65
- renderSelectedItem,
66
- renderListItem,
67
- renderHintMessage,
68
- attributesOfNativeInput
69
- } = _ref;
70
- const {
71
- isMobile
72
- } = (0, _useIsMobile.default)();
73
- const inputRef = (0, _react.useRef)(null);
74
- const listRef = (0, _react.useRef)(null);
75
- const listOverlayRef = (0, _react.useRef)(null);
76
- const listWrapperRef = (0, _react.useRef)(null);
77
- const listHeaderRef = (0, _react.useRef)(null);
78
- const previousValueRef = (0, _react.useRef)(value);
79
- const [isValueInited, setIsValueInited] = (0, _react.useState)(false);
80
- const [isScrollableList, setIsScrollableList] = (0, _react.useState)(null);
81
- const [scrollTop, setScrollTop] = (0, _react.useState)(0);
82
- const [scrollHeight, setScrollHeight] = (0, _react.useState)(1);
83
- const [innerValue, setInnerValue] = (0, _react.useState)(value);
84
- const [tempInnerValue, setTempInnerValue] = (0, _react.useState)(null);
85
- const [tempValue, setTempValue] = (0, _react.useState)(null);
86
- const [listItems, setListItems] = (0, _react.useState)([]);
87
- const [isLoading, setIsLoading] = (0, _react.useState)(false);
88
- const [isListLoading, setIsListLoading] = (0, _react.useState)(false);
89
- const [hightlightedIndex, setHightlightedIndex] = (0, _react.useState)(null);
90
- const [isFocused, setIsFocused] = (0, _react.useState)(false);
91
- const [isListVisible, setIsListVisible] = (0, _react.useState)(false);
92
- const isWrongAddress = (0, _react.useMemo)(() => {
93
- var _innerValue$street;
94
- if (noValidate) return false;
95
- if (innerValue === "") return false;
96
- // eslint-disable-next-line no-prototype-builtins
97
- if (!(innerValue !== null && innerValue !== void 0 && innerValue.hasOwnProperty("streetNumber")) || !(innerValue !== null && innerValue !== void 0 && innerValue.streetNumber)) return true;
98
-
99
- // eslint-disable-next-line no-prototype-builtins
100
- if (!(innerValue !== null && innerValue !== void 0 && innerValue.hasOwnProperty("street")) || !(innerValue !== null && innerValue !== void 0 && (_innerValue$street = innerValue.street) !== null && _innerValue$street !== void 0 && _innerValue$street.fullName)) return true;
101
- return false;
102
- }, [innerValue]);
103
- const setItemAsInnerValue = (e, item) => {
104
- if (e instanceof Event) {
105
- e.preventDefault();
106
- e.stopPropagation();
107
- }
108
- setTimeout(() => {
109
- setInnerValue(item);
110
- if (isMobile) {
111
- setIsListVisible(false);
112
- }
113
- }, 0);
114
- };
115
-
116
- // ? Базовый метод получения списка вариантов адреса
117
- const getAddressVariants = (0, _react.useMemo)(() => innerValue => {
118
- var _getListItems;
119
- return (_getListItems = getListItems(innerValue)) === null || _getListItems === void 0 ? void 0 : _getListItems.then(setListItems).finally(() => setIsListLoading(false));
120
- }, [getListItems]);
121
-
122
- // ? Метод получения списка вариантов адреса с тротлингом (основным и, если нужно, дополнительным)
123
- // ? Без useMemo работать НЕ будет (т.к. на каждом перерендере будет создаваться новая ф-я и будет теряться замкнутая переменная id из throttle)
124
- const getAddressVariantsWithThrottling = (0, _react.useMemo)(() => {
125
- const execute = getIsValidNumber(additionalThrottleTimeForListingRequest) ? throttle(getAddressVariants, additionalThrottleTimeForListingRequest) : getAddressVariants;
126
- return getIsValidNumber(throttleTime) ? throttle(execute, throttleTime) : execute;
127
- }, [getAddressVariants, additionalThrottleTimeForListingRequest, throttleTime]);
128
-
129
- // ? Итоговый "получатель" списка вариантов адресов
130
- const getAddressVariantsList = () => {
131
- if (!(innerValue !== null && innerValue !== void 0 && innerValue.length)) return null;
132
-
133
- // ? Вообще с учетом надпись "Loading" в списке вариантов включается в этом месте (т.е. сразу при начале набора),
134
- // ? то, наверное, можно было НЕ мутить с дополнительным тротлингом )).
135
- // ? Наверное, можно было увеличить время первичного тротлинга и, наверное, работало бы так же ))
136
- // ? НО, раз уже сделал )) оставлю, может будет в будущем полезно )
137
- setIsListLoading(true);
138
- getAddressVariantsWithThrottling(innerValue);
139
- return null;
140
- };
141
- const onClearClick = e => {
142
- var _inputRef$current;
143
- e.preventDefault();
144
- e.stopPropagation();
145
- if (!isMobile) {
146
- setIsListVisible(false);
147
- }
148
- setInnerValue("");
149
- inputRef === null || inputRef === void 0 || (_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 || _inputRef$current.focus();
150
- setTimeout(() => setIsFocused(true), 0);
151
- };
152
- const onOverlayClick = e => {
153
- if (e.target === (listOverlayRef === null || listOverlayRef === void 0 ? void 0 : listOverlayRef.current)) {
154
- e.stopPropagation();
155
- e.preventDefault();
156
- setIsListVisible(false);
157
- setInnerValue(tempInnerValue);
158
- onChange(typeof innerValue === "string" || !onChangeValueTransformer || typeof onChangeValueTransformer !== "function" ? innerValue : onChangeValueTransformer(innerValue));
159
- }
160
- };
161
- const onKeyDown = keyCode => {
162
- if (!isListVisible || !isKeyboardControlled) return false;
163
- if (keyCode === 13) {
164
- var _inputRef$current2;
165
- // Enter Controller
166
- setItemAsInnerValue(null, listItems[hightlightedIndex]);
167
- setHightlightedIndex(null);
168
- inputRef === null || inputRef === void 0 || (_inputRef$current2 = inputRef.current) === null || _inputRef$current2 === void 0 || _inputRef$current2.blur();
169
- } else {
170
- var _listRef$current, _listRef$current2, _newHightlightedEleme;
171
- let newHightlightedIndex = null;
172
- const listItemsElements = document.getElementsByClassName("input-address__list--item");
173
- const listHeight = listRef === null || listRef === void 0 || (_listRef$current = listRef.current) === null || _listRef$current === void 0 || (_listRef$current = _listRef$current.getBoundingClientRect()) === null || _listRef$current === void 0 ? void 0 : _listRef$current.height;
174
- const listScrollTop = (listRef === null || listRef === void 0 || (_listRef$current2 = listRef.current) === null || _listRef$current2 === void 0 ? void 0 : _listRef$current2.scrollTop) || 0;
175
- const lastItemIndex = parseInt(listItems === null || listItems === void 0 ? void 0 : listItems.length, 10) - 1;
176
-
177
- /** Arrows Controllers **/
178
- if (keyCode === 40) {
179
- // Down Key Controller
180
- if (hightlightedIndex === null || hightlightedIndex === lastItemIndex) {
181
- newHightlightedIndex = 0;
182
- } else if (hightlightedIndex + 1 < (listItems === null || listItems === void 0 ? void 0 : listItems.length)) {
183
- newHightlightedIndex = hightlightedIndex + 1;
83
+ const getIsValidNumber = (value)=>Boolean(value) && typeof value === "number" && !Number.isNaN(value);
84
+ const InputAddress = ({ label, className = "", isClearable = true, isKeyboardControlled = true, fieldKey = "", testId = "", throttle: throttleTime = 500, additionalThrottleTimeForListingRequest = 0, loader = "", noItemsMessage = "", error, value = "", onChange = ()=>{}, onChangeValueTransformer, disabled, getListItems = ()=>{}, clarifyAddressInfo, noValidate = false, renderSelectedItem, renderListItem, renderHintMessage, attributesOfNativeInput })=>{
85
+ const { isMobile } = (0, _useIsMobile.default)();
86
+ const inputRef = (0, _react.useRef)(null);
87
+ const listRef = (0, _react.useRef)(null);
88
+ const listOverlayRef = (0, _react.useRef)(null);
89
+ const listWrapperRef = (0, _react.useRef)(null);
90
+ const listHeaderRef = (0, _react.useRef)(null);
91
+ const previousValueRef = (0, _react.useRef)(value);
92
+ const [isValueInited, setIsValueInited] = (0, _react.useState)(false);
93
+ const [isScrollableList, setIsScrollableList] = (0, _react.useState)(null);
94
+ const [scrollTop, setScrollTop] = (0, _react.useState)(0);
95
+ const [scrollHeight, setScrollHeight] = (0, _react.useState)(1);
96
+ const [innerValue, setInnerValue] = (0, _react.useState)(value);
97
+ const [tempInnerValue, setTempInnerValue] = (0, _react.useState)(null);
98
+ const [tempValue, setTempValue] = (0, _react.useState)(null);
99
+ const [listItems, setListItems] = (0, _react.useState)([]);
100
+ const [isLoading, setIsLoading] = (0, _react.useState)(false);
101
+ const [isListLoading, setIsListLoading] = (0, _react.useState)(false);
102
+ const [hightlightedIndex, setHightlightedIndex] = (0, _react.useState)(null);
103
+ const [isFocused, setIsFocused] = (0, _react.useState)(false);
104
+ const [isListVisible, setIsListVisible] = (0, _react.useState)(false);
105
+ const isWrongAddress = (0, _react.useMemo)(()=>{
106
+ var _innerValue_street;
107
+ if (noValidate) return false;
108
+ if (innerValue === "") return false;
109
+ // eslint-disable-next-line no-prototype-builtins
110
+ if (!(innerValue === null || innerValue === void 0 ? void 0 : innerValue.hasOwnProperty("streetNumber")) || !(innerValue === null || innerValue === void 0 ? void 0 : innerValue.streetNumber)) return true;
111
+ // eslint-disable-next-line no-prototype-builtins
112
+ if (!(innerValue === null || innerValue === void 0 ? void 0 : innerValue.hasOwnProperty("street")) || !(innerValue === null || innerValue === void 0 ? void 0 : (_innerValue_street = innerValue.street) === null || _innerValue_street === void 0 ? void 0 : _innerValue_street.fullName)) return true;
113
+ return false;
114
+ }, [
115
+ innerValue
116
+ ]);
117
+ const setItemAsInnerValue = (e, item)=>{
118
+ if (e instanceof Event) {
119
+ e.preventDefault();
120
+ e.stopPropagation();
184
121
  }
185
- } else if (keyCode === 38) {
186
- // Up Key Controller
187
- if (hightlightedIndex === null || hightlightedIndex === 0) {
188
- newHightlightedIndex = lastItemIndex;
189
- } else if (hightlightedIndex - 1 >= 0) {
190
- newHightlightedIndex = hightlightedIndex - 1;
122
+ setTimeout(()=>{
123
+ setInnerValue(item);
124
+ if (isMobile) {
125
+ setIsListVisible(false);
126
+ }
127
+ }, 0);
128
+ };
129
+ // ? Базовый метод получения списка вариантов адреса
130
+ const getAddressVariants = (0, _react.useMemo)(()=>(innerValue)=>{
131
+ var _getListItems;
132
+ return (_getListItems = getListItems(innerValue)) === null || _getListItems === void 0 ? void 0 : _getListItems.then(setListItems).finally(()=>setIsListLoading(false));
133
+ }, [
134
+ getListItems
135
+ ]);
136
+ // ? Метод получения списка вариантов адреса с тротлингом (основным и, если нужно, дополнительным)
137
+ // ? Без useMemo работать НЕ будет (т.к. на каждом перерендере будет создаваться новая ф-я и будет теряться замкнутая переменная id из throttle)
138
+ const getAddressVariantsWithThrottling = (0, _react.useMemo)(()=>{
139
+ const execute = getIsValidNumber(additionalThrottleTimeForListingRequest) ? throttle(getAddressVariants, additionalThrottleTimeForListingRequest) : getAddressVariants;
140
+ return getIsValidNumber(throttleTime) ? throttle(execute, throttleTime) : execute;
141
+ }, [
142
+ getAddressVariants,
143
+ additionalThrottleTimeForListingRequest,
144
+ throttleTime
145
+ ]);
146
+ // ? Итоговый "получатель" списка вариантов адресов
147
+ const getAddressVariantsList = ()=>{
148
+ if (!(innerValue === null || innerValue === void 0 ? void 0 : innerValue.length)) return null;
149
+ // ? Вообще с учетом надпись "Loading" в списке вариантов включается в этом месте (т.е. сразу при начале набора),
150
+ // ? то, наверное, можно было НЕ мутить с дополнительным тротлингом )).
151
+ // ? Наверное, можно было увеличить время первичного тротлинга и, наверное, работало бы так же ))
152
+ // ? НО, раз уже сделал )) оставлю, может будет в будущем полезно )
153
+ setIsListLoading(true);
154
+ getAddressVariantsWithThrottling(innerValue);
155
+ return null;
156
+ };
157
+ const onClearClick = (e)=>{
158
+ var _inputRef_current;
159
+ e.preventDefault();
160
+ e.stopPropagation();
161
+ if (!isMobile) {
162
+ setIsListVisible(false);
191
163
  }
192
- }
193
-
194
- // Scroll to Element
195
- const newHightlightedElement = listItemsElements[newHightlightedIndex];
196
- const newHightlightedElementHeight = newHightlightedElement === null || newHightlightedElement === void 0 || (_newHightlightedEleme = newHightlightedElement.getBoundingClientRect()) === null || _newHightlightedEleme === void 0 ? void 0 : _newHightlightedEleme.height;
197
- const newHightlightedElementTopInList = newHightlightedElement === null || newHightlightedElement === void 0 ? void 0 : newHightlightedElement.offsetTop;
198
- if (newHightlightedElementTopInList + newHightlightedElementHeight > listScrollTop + listHeight) {
199
- if (Math.abs(newHightlightedElementTopInList + newHightlightedElementHeight - (listScrollTop + listHeight)) <= newHightlightedElementHeight) {
200
- var _listRef$current3;
201
- listRef === null || listRef === void 0 || (_listRef$current3 = listRef.current) === null || _listRef$current3 === void 0 || _listRef$current3.scrollTo(0, listScrollTop + newHightlightedElementHeight);
202
- } else {
203
- var _listRef$current4;
204
- listRef === null || listRef === void 0 || (_listRef$current4 = listRef.current) === null || _listRef$current4 === void 0 || _listRef$current4.scrollTo(0, newHightlightedElementTopInList);
164
+ setInnerValue("");
165
+ inputRef === null || inputRef === void 0 ? void 0 : (_inputRef_current = inputRef.current) === null || _inputRef_current === void 0 ? void 0 : _inputRef_current.focus();
166
+ setTimeout(()=>setIsFocused(true), 0);
167
+ };
168
+ const onOverlayClick = (e)=>{
169
+ if (e.target === (listOverlayRef === null || listOverlayRef === void 0 ? void 0 : listOverlayRef.current)) {
170
+ e.stopPropagation();
171
+ e.preventDefault();
172
+ setIsListVisible(false);
173
+ setInnerValue(tempInnerValue);
174
+ onChange(typeof innerValue === "string" || !onChangeValueTransformer || typeof onChangeValueTransformer !== "function" ? innerValue : onChangeValueTransformer(innerValue));
205
175
  }
206
- } else if (newHightlightedElementTopInList < listScrollTop) {
207
- if (Math.abs(newHightlightedElementTopInList - listScrollTop) < newHightlightedElementHeight) {
208
- var _listRef$current5;
209
- listRef === null || listRef === void 0 || (_listRef$current5 = listRef.current) === null || _listRef$current5 === void 0 || _listRef$current5.scrollTo(0, listScrollTop - newHightlightedElementHeight);
176
+ };
177
+ const onKeyDown = (keyCode)=>{
178
+ if (!isListVisible || !isKeyboardControlled) return false;
179
+ if (keyCode === 13) {
180
+ var _inputRef_current;
181
+ // Enter Controller
182
+ setItemAsInnerValue(null, listItems[hightlightedIndex]);
183
+ setHightlightedIndex(null);
184
+ inputRef === null || inputRef === void 0 ? void 0 : (_inputRef_current = inputRef.current) === null || _inputRef_current === void 0 ? void 0 : _inputRef_current.blur();
210
185
  } else {
211
- var _listRef$current6;
212
- listRef === null || listRef === void 0 || (_listRef$current6 = listRef.current) === null || _listRef$current6 === void 0 || _listRef$current6.scrollTo(0, newHightlightedElementTopInList);
213
- }
214
- }
215
- if (!isMobile) setHightlightedIndex(newHightlightedIndex);
216
- }
217
- };
218
- const getHintMessage = () => {
219
- if (!renderHintMessage || typeof renderHintMessage !== "function") return DEFAULT_HINT_MESSAGE;
220
- return renderHintMessage(innerValue);
221
- };
222
- const getSelectedItemLabel = function () {
223
- var _value$street;
224
- let value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : innerValue;
225
- if (!value) return "";
226
- if (typeof value === "string") return value;
227
- if (typeof renderSelectedItem === "function") renderSelectedItem(value);
228
- const label = "".concat((value === null || value === void 0 ? void 0 : value.streetNumber) || "", " ").concat((value === null || value === void 0 || (_value$street = value.street) === null || _value$street === void 0 ? void 0 : _value$street.fullName) || "").trim();
229
- return !label && isLoading ? previousValueRef.current : label;
230
- };
231
- const getListItemLabel = item => {
232
- if (typeof item === "string") return item;
233
- if (!renderListItem || typeof renderListItem !== "function") return item === null || item === void 0 ? void 0 : item.fullPrediction;
234
- return renderListItem(item);
235
- };
236
- const setListHeight = () => {
237
- if (listWrapperRef !== null && listWrapperRef !== void 0 && listWrapperRef.current && listHeaderRef !== null && listHeaderRef !== void 0 && listHeaderRef.current && listRef.current) {
238
- var _listWrapperRef$curre, _listHeaderRef$curren;
239
- const listWrapperHeight = listWrapperRef === null || listWrapperRef === void 0 || (_listWrapperRef$curre = listWrapperRef.current) === null || _listWrapperRef$curre === void 0 || (_listWrapperRef$curre = _listWrapperRef$curre.getBoundingClientRect()) === null || _listWrapperRef$curre === void 0 ? void 0 : _listWrapperRef$curre.height;
240
- const listWrapperStyles = getComputedStyle(listWrapperRef === null || listWrapperRef === void 0 ? void 0 : listWrapperRef.current);
241
- const listHeaderHeight = listHeaderRef === null || listHeaderRef === void 0 || (_listHeaderRef$curren = listHeaderRef.current) === null || _listHeaderRef$curren === void 0 || (_listHeaderRef$curren = _listHeaderRef$curren.getBoundingClientRect()) === null || _listHeaderRef$curren === void 0 ? void 0 : _listHeaderRef$curren.height;
242
- const listHeight = listWrapperHeight - listHeaderHeight - parseInt(listWrapperStyles.paddingBottom, 10);
243
- listRef.current.style.maxHeight = "".concat(listHeight, "px");
244
- }
245
- };
246
- const resetListHeight = () => {
247
- if (listRef.current) {
248
- listRef.current.style.maxHeight = "initial";
249
- }
250
- };
251
-
252
- // ? Основной блок работы со значениями адреса
253
- // ? Не меняйте вызовы setInnerValue и onChange не разобравшись в логике вызовов
254
- (0, _react.useEffect)(() => {
255
- // ? Исключение инициализации - равны только при первом рендере компонента,
256
- // ? т.к. рефка и стейт инициализируются верхним value
257
- if (!compareValues(innerValue, previousValueRef.current)) {
258
- const isObject = (0, _utils.getIsOnlyAnObject)(innerValue);
259
-
260
- // ? innerValue меняется либо от ручного ввода, либо от выбора из списка
261
- // ? Полная информация или нет - напрямую зависит от ответа getListItems
262
- const isFullInfo = isObject && "streetNumber" in innerValue && "street" in innerValue && "city" in innerValue && "state" in innerValue && "country" in innerValue && "zipCode" in innerValue;
263
-
264
- // ? Для старого эндпоинта возвращается список с полной информацией, поэтому на проектах ничего не поменяется,
265
- // ? если не менять запросник (getListItems), все будет проходить по этой if-ке или по 3-й (для строчных значений)
266
- if (isFullInfo) {
267
- onChange(innerValue);
268
- setIsLoading(false);
269
- }
270
-
271
- // ? Неполная информация может быть только в том случае, когда метод getListItems использует уже новый эндпоинт гугл-апи.
272
- // ? Предполагается, что при этом в компонент будет прокинута ф-я "уточнятель" (clarifyAddressInfo)
273
- if (isObject && !isFullInfo) {
274
- if (typeof clarifyAddressInfo === "function") {
275
- var _clarifyAddressInfo, _clarifyAddressInfo$t;
276
- setIsLoading(true);
277
- // ? Предполагается, что clarifyAddressInfo - асинхронная ф-я, запросник уточнения опции
278
- // ? Никаких await-ов НЕ нужно (тем более что в useEffect и нельзя для нового React),
279
- // ? промис "выплюнется в пустоту", но НЕ будет отчищен до резолва, а useEffect (и итерация рендера в целом) при этом будет закончен(а)
280
- (_clarifyAddressInfo = clarifyAddressInfo(innerValue)) === null || _clarifyAddressInfo === void 0 || (_clarifyAddressInfo$t = _clarifyAddressInfo.then) === null || _clarifyAddressInfo$t === void 0 || _clarifyAddressInfo$t.call(_clarifyAddressInfo, res => {
281
- if (res) setInnerValue(res);else {
282
- setInnerValue(previousValueRef.current);
283
- setTimeout(() => {
284
- inputRef.current.focus();
285
- inputRef.current.setSelectionRange(previousValueRef.current.length, previousValueRef.current.length);
286
- }, 0);
186
+ var _listRef_current_getBoundingClientRect, _listRef_current, _listRef_current1, _newHightlightedElement_getBoundingClientRect;
187
+ let newHightlightedIndex = null;
188
+ const listItemsElements = document.getElementsByClassName("input-address__list--item");
189
+ const listHeight = listRef === null || listRef === void 0 ? void 0 : (_listRef_current = listRef.current) === null || _listRef_current === void 0 ? void 0 : (_listRef_current_getBoundingClientRect = _listRef_current.getBoundingClientRect()) === null || _listRef_current_getBoundingClientRect === void 0 ? void 0 : _listRef_current_getBoundingClientRect.height;
190
+ const listScrollTop = (listRef === null || listRef === void 0 ? void 0 : (_listRef_current1 = listRef.current) === null || _listRef_current1 === void 0 ? void 0 : _listRef_current1.scrollTop) || 0;
191
+ const lastItemIndex = parseInt(listItems === null || listItems === void 0 ? void 0 : listItems.length, 10) - 1;
192
+ /** Arrows Controllers **/ if (keyCode === 40) {
193
+ // Down Key Controller
194
+ if (hightlightedIndex === null || hightlightedIndex === lastItemIndex) {
195
+ newHightlightedIndex = 0;
196
+ } else if (hightlightedIndex + 1 < (listItems === null || listItems === void 0 ? void 0 : listItems.length)) {
197
+ newHightlightedIndex = hightlightedIndex + 1;
198
+ }
199
+ } else if (keyCode === 38) {
200
+ // Up Key Controller
201
+ if (hightlightedIndex === null || hightlightedIndex === 0) {
202
+ newHightlightedIndex = lastItemIndex;
203
+ } else if (hightlightedIndex - 1 >= 0) {
204
+ newHightlightedIndex = hightlightedIndex - 1;
205
+ }
206
+ }
207
+ // Scroll to Element
208
+ const newHightlightedElement = listItemsElements[newHightlightedIndex];
209
+ const newHightlightedElementHeight = newHightlightedElement === null || newHightlightedElement === void 0 ? void 0 : (_newHightlightedElement_getBoundingClientRect = newHightlightedElement.getBoundingClientRect()) === null || _newHightlightedElement_getBoundingClientRect === void 0 ? void 0 : _newHightlightedElement_getBoundingClientRect.height;
210
+ const newHightlightedElementTopInList = newHightlightedElement === null || newHightlightedElement === void 0 ? void 0 : newHightlightedElement.offsetTop;
211
+ if (newHightlightedElementTopInList + newHightlightedElementHeight > listScrollTop + listHeight) {
212
+ if (Math.abs(newHightlightedElementTopInList + newHightlightedElementHeight - (listScrollTop + listHeight)) <= newHightlightedElementHeight) {
213
+ var _listRef_current2;
214
+ listRef === null || listRef === void 0 ? void 0 : (_listRef_current2 = listRef.current) === null || _listRef_current2 === void 0 ? void 0 : _listRef_current2.scrollTo(0, listScrollTop + newHightlightedElementHeight);
215
+ } else {
216
+ var _listRef_current3;
217
+ listRef === null || listRef === void 0 ? void 0 : (_listRef_current3 = listRef.current) === null || _listRef_current3 === void 0 ? void 0 : _listRef_current3.scrollTo(0, newHightlightedElementTopInList);
218
+ }
219
+ } else if (newHightlightedElementTopInList < listScrollTop) {
220
+ if (Math.abs(newHightlightedElementTopInList - listScrollTop) < newHightlightedElementHeight) {
221
+ var _listRef_current4;
222
+ listRef === null || listRef === void 0 ? void 0 : (_listRef_current4 = listRef.current) === null || _listRef_current4 === void 0 ? void 0 : _listRef_current4.scrollTo(0, listScrollTop - newHightlightedElementHeight);
223
+ } else {
224
+ var _listRef_current5;
225
+ listRef === null || listRef === void 0 ? void 0 : (_listRef_current5 = listRef.current) === null || _listRef_current5 === void 0 ? void 0 : _listRef_current5.scrollTo(0, newHightlightedElementTopInList);
226
+ }
287
227
  }
288
- setIsLoading(false);
289
- return res;
290
- });
228
+ if (!isMobile) setHightlightedIndex(newHightlightedIndex);
291
229
  }
292
- // ! Если сверху поменяли эндпоинт и он выдает "облегченный листинг" (айтемы с неполной инфой),
293
- // ! и НЕ пробросили clarifyAddressInfo, то на этом кейсе велью инпута будет просто зануляться
294
- // ! (getSelectedItemLabel вернет пустую строку если вкинуть innerValue без всей инфы)
295
- else setInnerValue(getSelectedItemLabel(innerValue));
296
- }
297
-
298
- // ? Кейс для строчных значений
299
- if (!isObject) {
300
- // ? Вызываем верхний onChange если innerValue есть или если нету, но это не после логики уточнения
301
- if (innerValue || !isLoading) onChange(innerValue);
302
- // ? Если innerValue есть и еще не открыт листинг - открываем
303
- if (innerValue && !isListVisible) setIsListVisible(true);
304
- // ? Если инпут сфокусирован и значение есть - запрашиваем список вариантов
305
- if (isFocused && Boolean(innerValue)) getAddressVariantsList();
306
- }
307
- }
308
- }, [innerValue]);
309
- (0, _react.useEffect)(() => {
310
- if (!isFocused && !isMobile) {
311
- setIsListVisible(false);
312
- setHightlightedIndex(null);
313
- }
314
- }, [isFocused]);
315
- (0, _react.useEffect)(() => {
316
- if (!isListVisible) {
317
- setListItems([]);
318
- resetListHeight();
319
- }
320
- if (isMobile && isListVisible) {
321
- setTempInnerValue(innerValue);
322
- setListHeight();
323
- }
324
- }, [isListVisible]);
325
- (0, _react.useEffect)(() => {
326
- // ? учет изменения value сверху (верхние переназначения велью)
327
- if (!compareValues(value, innerValue)) setInnerValue(value);
328
-
329
- // ? useEffect должен быть последним, т.к. рефка меняется в рамках текущей итерации
330
- previousValueRef.current = value;
331
- }, [value]);
332
- const renderSearchableInput = () => {
333
- const inputValue = getSelectedItemLabel();
334
- return /*#__PURE__*/_react.default.createElement("div", {
335
- className: (0, _classnames.default)("input-address__input-wrapper")
336
- }, /*#__PURE__*/_react.default.createElement(_Input.default, {
337
- ref: inputRef,
338
- testId: "inputAddress--input--key-".concat(testId || fieldKey),
339
- className: (0, _classnames.default)("input-address__input", className),
340
- value: inputValue,
341
- onChange: setInnerValue,
342
- onFocus: e => {
343
- setIsFocused(true);
344
- },
345
- onBlur: () => setIsFocused(false),
346
- onKeyDown: onKeyDown,
347
- attributesOfNativeInput: attributesOfNativeInput
348
- }), isWrongAddress && /*#__PURE__*/_react.default.createElement("div", {
349
- className: (0, _classnames.default)("input-address__alert", {
350
- "input-address__alert--visible": !isFocused
351
- })
352
- }, /*#__PURE__*/_react.default.createElement(_Hint.default, {
353
- side: "left",
354
- hint: getHintMessage(),
355
- icon: /*#__PURE__*/_react.default.createElement(_reactFeather.AlertTriangle, null),
356
- handleOpenType: "hover"
357
- })), isClearable && (!isWrongAddress || isFocused) && /*#__PURE__*/_react.default.createElement("div", {
358
- className: (0, _classnames.default)("input-address__clear-query", {
359
- "input-address__clear-query--input-focused": isFocused
360
- })
361
- }, /*#__PURE__*/_react.default.createElement(_reactFeather.X, {
362
- onClick: onClearClick
363
- })));
364
- };
365
- const renderInput = () => {
366
- const inputValue = getSelectedItemLabel(isListVisible ? tempInnerValue : innerValue);
367
- return /*#__PURE__*/_react.default.createElement("div", {
368
- className: (0, _classnames.default)("input-address__input-wrapper")
369
- }, /*#__PURE__*/_react.default.createElement(_Input.default, {
370
- testId: "inputAddress--input--key-".concat(testId || fieldKey),
371
- className: (0, _classnames.default)("input-address__input", className),
372
- value: inputValue,
373
- onChange: setInnerValue,
374
- onFocus: e => {
375
- var _e$target;
376
- setIsListVisible(true);
377
- e === null || e === void 0 || (_e$target = e.target) === null || _e$target === void 0 || _e$target.blur();
378
- setTimeout(() => {
379
- var _inputRef$current3;
380
- return inputRef === null || inputRef === void 0 || (_inputRef$current3 = inputRef.current) === null || _inputRef$current3 === void 0 ? void 0 : _inputRef$current3.focus();
381
- }, 200);
382
- }
383
- }));
384
- };
385
- const renderLoader = () => {
386
- return /*#__PURE__*/_react.default.createElement("div", {
387
- className: "input-address__list--loader"
388
- }, loader || "Loading...");
389
- };
390
- const renderList = () => {
391
- const renderListItem = (item, i) => {
392
- return /*#__PURE__*/_react.default.createElement("div", {
393
- key: "input-address__list-item".concat(i),
394
- className: (0, _classnames.default)("input-address__list--item", {
395
- "input-address__list--item-hightlighted": i === hightlightedIndex
396
- }),
397
- onMouseDown: e => setItemAsInnerValue(e, item)
398
- }, getListItemLabel(item));
399
230
  };
400
- const renderListItemCustom = () => {
401
- return /*#__PURE__*/_react.default.createElement("div", {
402
- key: "input-address__list-item--custom",
403
- className: (0, _classnames.default)("input-address__list--item", "input-address__list--item-custom"),
404
- onMouseDown: e => setItemAsInnerValue(e, getSelectedItemLabel())
405
- }, getSelectedItemLabel(), /*#__PURE__*/_react.default.createElement(_reactFeather.AlertTriangle, null), /*#__PURE__*/_react.default.createElement("span", null, "Choose this only if your address is not listed below"));
231
+ const getHintMessage = ()=>{
232
+ if (!renderHintMessage || typeof renderHintMessage !== "function") return DEFAULT_HINT_MESSAGE;
233
+ return renderHintMessage(innerValue);
234
+ };
235
+ const getSelectedItemLabel = (value = innerValue)=>{
236
+ var _value_street;
237
+ if (!value) return "";
238
+ if (typeof value === "string") return value;
239
+ if (typeof renderSelectedItem === "function") renderSelectedItem(value);
240
+ const label = `${(value === null || value === void 0 ? void 0 : value.streetNumber) || ""} ${(value === null || value === void 0 ? void 0 : (_value_street = value.street) === null || _value_street === void 0 ? void 0 : _value_street.fullName) || ""}`.trim();
241
+ return !label && isLoading ? previousValueRef.current : label;
406
242
  };
407
- const renderNoItems = () => {
408
- return /*#__PURE__*/_react.default.createElement("div", {
409
- className: "input-address__list--no-items"
410
- }, isMobile && !(innerValue !== null && innerValue !== void 0 && innerValue.length) ? "Please begin entering your address" : noItemsMessage || "No Items");
243
+ const getListItemLabel = (item)=>{
244
+ if (typeof item === "string") return item;
245
+ if (!renderListItem || typeof renderListItem !== "function") return item === null || item === void 0 ? void 0 : item.fullPrediction;
246
+ return renderListItem(item);
411
247
  };
412
- const renderListDesktop = () => {
413
- return /*#__PURE__*/_react.default.createElement("div", {
414
- className: "input-address__list-wrapper",
415
- ref: listWrapperRef
416
- }, /*#__PURE__*/_react.default.createElement("div", {
417
- className: "input-address__list",
418
- ref: listRef
419
- }, isListLoading ? renderLoader() : listItems !== null && listItems !== void 0 && listItems.length ? listItems === null || listItems === void 0 ? void 0 : listItems.map(renderListItem) : renderNoItems()));
248
+ const setListHeight = ()=>{
249
+ if ((listWrapperRef === null || listWrapperRef === void 0 ? void 0 : listWrapperRef.current) && (listHeaderRef === null || listHeaderRef === void 0 ? void 0 : listHeaderRef.current) && listRef.current) {
250
+ var _listWrapperRef_current_getBoundingClientRect, _listWrapperRef_current, _listHeaderRef_current_getBoundingClientRect, _listHeaderRef_current;
251
+ const listWrapperHeight = listWrapperRef === null || listWrapperRef === void 0 ? void 0 : (_listWrapperRef_current = listWrapperRef.current) === null || _listWrapperRef_current === void 0 ? void 0 : (_listWrapperRef_current_getBoundingClientRect = _listWrapperRef_current.getBoundingClientRect()) === null || _listWrapperRef_current_getBoundingClientRect === void 0 ? void 0 : _listWrapperRef_current_getBoundingClientRect.height;
252
+ const listWrapperStyles = getComputedStyle(listWrapperRef === null || listWrapperRef === void 0 ? void 0 : listWrapperRef.current);
253
+ const listHeaderHeight = listHeaderRef === null || listHeaderRef === void 0 ? void 0 : (_listHeaderRef_current = listHeaderRef.current) === null || _listHeaderRef_current === void 0 ? void 0 : (_listHeaderRef_current_getBoundingClientRect = _listHeaderRef_current.getBoundingClientRect()) === null || _listHeaderRef_current_getBoundingClientRect === void 0 ? void 0 : _listHeaderRef_current_getBoundingClientRect.height;
254
+ const listHeight = listWrapperHeight - listHeaderHeight - parseInt(listWrapperStyles.paddingBottom, 10);
255
+ listRef.current.style.maxHeight = `${listHeight}px`;
256
+ }
420
257
  };
421
- const renderListMobile = () => {
422
- return /*#__PURE__*/_react.default.createElement("div", {
423
- className: "input-address__list-overlay",
424
- ref: listOverlayRef,
425
- onClick: onOverlayClick
426
- }, /*#__PURE__*/_react.default.createElement("div", {
427
- className: "input-address__list-wrapper",
428
- ref: listWrapperRef
429
- }, isMobile && /*#__PURE__*/_react.default.createElement("div", {
430
- ref: listHeaderRef,
431
- className: (0, _classnames.default)("".concat(RC, "__list-header"), {
432
- ["".concat(RC, "__list-header-with-shadow")]: isScrollableList && isMobile,
433
- ["".concat(RC, "__list-header-with-shadow-hidden")]: scrollTop === 0
434
- })
435
- }, /*#__PURE__*/_react.default.createElement("div", {
436
- className: (0, _classnames.default)("".concat(RC, "__list-header-row"))
437
- }, /*#__PURE__*/_react.default.createElement("div", {
438
- className: (0, _classnames.default)("".concat(RC, "__list-label"))
439
- }, label || "Address"), /*#__PURE__*/_react.default.createElement("div", {
440
- className: (0, _classnames.default)("".concat(RC, "__list-close-icon")),
441
- onClick: () => setIsListVisible(false)
442
- }, /*#__PURE__*/_react.default.createElement(_reactFeather.X, {
443
- onClick: () => setIsListVisible(false)
444
- }))), /*#__PURE__*/_react.default.createElement("div", {
445
- className: (0, _classnames.default)("".concat(RC, "__list-header-row"))
446
- }, renderSearchableInput())), /*#__PURE__*/_react.default.createElement("div", {
447
- className: "input-address__list",
448
- ref: listRef
449
- }, isListLoading ? renderLoader() : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, getSelectedItemLabel() && renderListItemCustom(), listItems === null || listItems === void 0 ? void 0 : listItems.map(renderListItem), !(listItems !== null && listItems !== void 0 && listItems.length) && !getSelectedItemLabel() && renderNoItems()))));
258
+ const resetListHeight = ()=>{
259
+ if (listRef.current) {
260
+ listRef.current.style.maxHeight = `initial`;
261
+ }
450
262
  };
451
- return isMobile ? renderListMobile() : renderListDesktop();
452
- };
453
- return /*#__PURE__*/_react.default.createElement("div", {
454
- className: (0, _classnames.default)("input-address", {
455
- "input-address--error": error || isWrongAddress && !isFocused
456
- })
457
- }, isLoading && /*#__PURE__*/_react.default.createElement(_Spinner.default, {
458
- size: "small"
459
- }), isMobile ? renderInput() : renderSearchableInput(), isListVisible && renderList());
263
+ // ? Основной блок работы со значениями адреса
264
+ // ? Не меняйте вызовы setInnerValue и onChange не разобравшись в логике вызовов
265
+ (0, _react.useEffect)(()=>{
266
+ // ? Исключение инициализации - равны только при первом рендере компонента,
267
+ // ? т.к. рефка и стейт инициализируются верхним value
268
+ if (!compareValues(innerValue, previousValueRef.current)) {
269
+ const isObject = (0, _utils.getIsOnlyAnObject)(innerValue);
270
+ // ? innerValue меняется либо от ручного ввода, либо от выбора из списка
271
+ // ? Полная информация или нет - напрямую зависит от ответа getListItems
272
+ const isFullInfo = isObject && "streetNumber" in innerValue && "street" in innerValue && "city" in innerValue && "state" in innerValue && "country" in innerValue && "zipCode" in innerValue;
273
+ // ? Для старого эндпоинта возвращается список с полной информацией, поэтому на проектах ничего не поменяется,
274
+ // ? если не менять запросник (getListItems), все будет проходить по этой if-ке или по 3-й (для строчных значений)
275
+ if (isFullInfo) {
276
+ onChange(innerValue);
277
+ setIsLoading(false);
278
+ }
279
+ // ? Неполная информация может быть только в том случае, когда метод getListItems использует уже новый эндпоинт гугл-апи.
280
+ // ? Предполагается, что при этом в компонент будет прокинута ф-я "уточнятель" (clarifyAddressInfo)
281
+ if (isObject && !isFullInfo) {
282
+ if (typeof clarifyAddressInfo === "function") {
283
+ var // ? Предполагается, что clarifyAddressInfo - асинхронная ф-я, запросник уточнения опции
284
+ // ? Никаких await-ов НЕ нужно (тем более что в useEffect и нельзя для нового React),
285
+ // ? промис "выплюнется в пустоту", но НЕ будет отчищен до резолва, а useEffect (и итерация рендера в целом) при этом будет закончен(а)
286
+ _clarifyAddressInfo_then, _clarifyAddressInfo;
287
+ setIsLoading(true);
288
+ (_clarifyAddressInfo = clarifyAddressInfo(innerValue)) === null || _clarifyAddressInfo === void 0 ? void 0 : (_clarifyAddressInfo_then = _clarifyAddressInfo.then) === null || _clarifyAddressInfo_then === void 0 ? void 0 : _clarifyAddressInfo_then.call(_clarifyAddressInfo, (res)=>{
289
+ if (res) setInnerValue(res);
290
+ else {
291
+ setInnerValue(previousValueRef.current);
292
+ setTimeout(()=>{
293
+ inputRef.current.focus();
294
+ inputRef.current.setSelectionRange(previousValueRef.current.length, previousValueRef.current.length);
295
+ }, 0);
296
+ }
297
+ setIsLoading(false);
298
+ return res;
299
+ });
300
+ } else setInnerValue(getSelectedItemLabel(innerValue));
301
+ }
302
+ // ? Кейс для строчных значений
303
+ if (!isObject) {
304
+ // ? Вызываем верхний onChange если innerValue есть или если нету, но это не после логики уточнения
305
+ if (innerValue || !isLoading) onChange(innerValue);
306
+ // ? Если innerValue есть и еще не открыт листинг - открываем
307
+ if (innerValue && !isListVisible) setIsListVisible(true);
308
+ // ? Если инпут сфокусирован и значение есть - запрашиваем список вариантов
309
+ if (isFocused && Boolean(innerValue)) getAddressVariantsList();
310
+ }
311
+ }
312
+ }, [
313
+ innerValue
314
+ ]);
315
+ (0, _react.useEffect)(()=>{
316
+ if (!isFocused && !isMobile) {
317
+ setIsListVisible(false);
318
+ setHightlightedIndex(null);
319
+ }
320
+ }, [
321
+ isFocused
322
+ ]);
323
+ (0, _react.useEffect)(()=>{
324
+ if (!isListVisible) {
325
+ setListItems([]);
326
+ resetListHeight();
327
+ }
328
+ if (isMobile && isListVisible) {
329
+ setTempInnerValue(innerValue);
330
+ setListHeight();
331
+ }
332
+ }, [
333
+ isListVisible
334
+ ]);
335
+ (0, _react.useEffect)(()=>{
336
+ // ? учет изменения value сверху (верхние переназначения велью)
337
+ if (!compareValues(value, innerValue)) setInnerValue(value);
338
+ // ? useEffect должен быть последним, т.к. рефка меняется в рамках текущей итерации
339
+ previousValueRef.current = value;
340
+ }, [
341
+ value
342
+ ]);
343
+ const renderSearchableInput = ()=>{
344
+ const inputValue = getSelectedItemLabel();
345
+ return /*#__PURE__*/ (0, _jsxruntime.jsxs)("div", {
346
+ className: (0, _classnames.default)("input-address__input-wrapper"),
347
+ children: [
348
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Input.default, {
349
+ ref: inputRef,
350
+ testId: `inputAddress--input--key-${testId || fieldKey}`,
351
+ className: (0, _classnames.default)("input-address__input", className),
352
+ value: inputValue,
353
+ onChange: setInnerValue,
354
+ onFocus: (e)=>{
355
+ setIsFocused(true);
356
+ },
357
+ onBlur: ()=>setIsFocused(false),
358
+ onKeyDown: onKeyDown,
359
+ attributesOfNativeInput: attributesOfNativeInput
360
+ }),
361
+ isWrongAddress && /*#__PURE__*/ (0, _jsxruntime.jsx)("div", {
362
+ className: (0, _classnames.default)("input-address__alert", {
363
+ "input-address__alert--visible": !isFocused
364
+ }),
365
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_Hint.default, {
366
+ side: "left",
367
+ hint: getHintMessage(),
368
+ icon: /*#__PURE__*/ (0, _jsxruntime.jsx)(_reactfeather.AlertTriangle, {}),
369
+ handleOpenType: "hover"
370
+ })
371
+ }),
372
+ isClearable && (!isWrongAddress || isFocused) && /*#__PURE__*/ (0, _jsxruntime.jsx)("div", {
373
+ className: (0, _classnames.default)("input-address__clear-query", {
374
+ "input-address__clear-query--input-focused": isFocused
375
+ }),
376
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_reactfeather.X, {
377
+ onClick: onClearClick
378
+ })
379
+ })
380
+ ]
381
+ });
382
+ };
383
+ const renderInput = ()=>{
384
+ const inputValue = getSelectedItemLabel(isListVisible ? tempInnerValue : innerValue);
385
+ return /*#__PURE__*/ (0, _jsxruntime.jsx)("div", {
386
+ className: (0, _classnames.default)("input-address__input-wrapper"),
387
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_Input.default, {
388
+ testId: `inputAddress--input--key-${testId || fieldKey}`,
389
+ className: (0, _classnames.default)("input-address__input", className),
390
+ value: inputValue,
391
+ onChange: setInnerValue,
392
+ onFocus: (e)=>{
393
+ var _e_target;
394
+ setIsListVisible(true);
395
+ e === null || e === void 0 ? void 0 : (_e_target = e.target) === null || _e_target === void 0 ? void 0 : _e_target.blur();
396
+ setTimeout(()=>{
397
+ var _inputRef_current;
398
+ return inputRef === null || inputRef === void 0 ? void 0 : (_inputRef_current = inputRef.current) === null || _inputRef_current === void 0 ? void 0 : _inputRef_current.focus();
399
+ }, 200);
400
+ }
401
+ })
402
+ });
403
+ };
404
+ const renderLoader = ()=>{
405
+ return /*#__PURE__*/ (0, _jsxruntime.jsx)("div", {
406
+ className: "input-address__list--loader",
407
+ children: loader || "Loading..."
408
+ });
409
+ };
410
+ const renderList = ()=>{
411
+ const renderListItem = (item, i)=>{
412
+ return /*#__PURE__*/ (0, _jsxruntime.jsx)("div", {
413
+ className: (0, _classnames.default)("input-address__list--item", {
414
+ "input-address__list--item-hightlighted": i === hightlightedIndex
415
+ }),
416
+ onMouseDown: (e)=>setItemAsInnerValue(e, item),
417
+ children: getListItemLabel(item)
418
+ }, `input-address__list-item${i}`);
419
+ };
420
+ const renderListItemCustom = ()=>{
421
+ return /*#__PURE__*/ (0, _jsxruntime.jsxs)("div", {
422
+ className: (0, _classnames.default)("input-address__list--item", "input-address__list--item-custom"),
423
+ onMouseDown: (e)=>setItemAsInnerValue(e, getSelectedItemLabel()),
424
+ children: [
425
+ getSelectedItemLabel(),
426
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_reactfeather.AlertTriangle, {}),
427
+ /*#__PURE__*/ (0, _jsxruntime.jsx)("span", {
428
+ children: "Choose this only if your address is not listed below"
429
+ })
430
+ ]
431
+ }, `input-address__list-item--custom`);
432
+ };
433
+ const renderNoItems = ()=>{
434
+ return /*#__PURE__*/ (0, _jsxruntime.jsx)("div", {
435
+ className: "input-address__list--no-items",
436
+ children: isMobile && !(innerValue === null || innerValue === void 0 ? void 0 : innerValue.length) ? "Please begin entering your address" : noItemsMessage || "No Items"
437
+ });
438
+ };
439
+ const renderListDesktop = ()=>{
440
+ return /*#__PURE__*/ (0, _jsxruntime.jsx)("div", {
441
+ className: "input-address__list-wrapper",
442
+ ref: listWrapperRef,
443
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)("div", {
444
+ className: "input-address__list",
445
+ ref: listRef,
446
+ children: isListLoading ? renderLoader() : (listItems === null || listItems === void 0 ? void 0 : listItems.length) ? listItems === null || listItems === void 0 ? void 0 : listItems.map(renderListItem) : renderNoItems()
447
+ })
448
+ });
449
+ };
450
+ const renderListMobile = ()=>{
451
+ return /*#__PURE__*/ (0, _jsxruntime.jsx)("div", {
452
+ className: "input-address__list-overlay",
453
+ ref: listOverlayRef,
454
+ onClick: onOverlayClick,
455
+ children: /*#__PURE__*/ (0, _jsxruntime.jsxs)("div", {
456
+ className: "input-address__list-wrapper",
457
+ ref: listWrapperRef,
458
+ children: [
459
+ isMobile && /*#__PURE__*/ (0, _jsxruntime.jsxs)("div", {
460
+ ref: listHeaderRef,
461
+ className: (0, _classnames.default)(`${RC}__list-header`, {
462
+ [`${RC}__list-header-with-shadow`]: isScrollableList && isMobile,
463
+ [`${RC}__list-header-with-shadow-hidden`]: scrollTop === 0
464
+ }),
465
+ children: [
466
+ /*#__PURE__*/ (0, _jsxruntime.jsxs)("div", {
467
+ className: (0, _classnames.default)(`${RC}__list-header-row`),
468
+ children: [
469
+ /*#__PURE__*/ (0, _jsxruntime.jsx)("div", {
470
+ className: (0, _classnames.default)(`${RC}__list-label`),
471
+ children: label || "Address"
472
+ }),
473
+ /*#__PURE__*/ (0, _jsxruntime.jsx)("div", {
474
+ className: (0, _classnames.default)(`${RC}__list-close-icon`),
475
+ onClick: ()=>setIsListVisible(false),
476
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_reactfeather.X, {
477
+ onClick: ()=>setIsListVisible(false)
478
+ })
479
+ })
480
+ ]
481
+ }),
482
+ /*#__PURE__*/ (0, _jsxruntime.jsx)("div", {
483
+ className: (0, _classnames.default)(`${RC}__list-header-row`),
484
+ children: renderSearchableInput()
485
+ })
486
+ ]
487
+ }),
488
+ /*#__PURE__*/ (0, _jsxruntime.jsx)("div", {
489
+ className: "input-address__list",
490
+ ref: listRef,
491
+ children: isListLoading ? renderLoader() : /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, {
492
+ children: [
493
+ getSelectedItemLabel() && renderListItemCustom(),
494
+ listItems === null || listItems === void 0 ? void 0 : listItems.map(renderListItem),
495
+ !(listItems === null || listItems === void 0 ? void 0 : listItems.length) && !getSelectedItemLabel() && renderNoItems()
496
+ ]
497
+ })
498
+ })
499
+ ]
500
+ })
501
+ });
502
+ };
503
+ return isMobile ? renderListMobile() : renderListDesktop();
504
+ };
505
+ return /*#__PURE__*/ (0, _jsxruntime.jsxs)("div", {
506
+ className: (0, _classnames.default)("input-address", {
507
+ "input-address--error": error || isWrongAddress && !isFocused
508
+ }),
509
+ children: [
510
+ isLoading && /*#__PURE__*/ (0, _jsxruntime.jsx)(_Spinner.default, {
511
+ size: "small"
512
+ }),
513
+ isMobile ? renderInput() : renderSearchableInput(),
514
+ isListVisible && renderList()
515
+ ]
516
+ });
460
517
  };
461
- var _default = exports.default = InputAddress;
518
+ const _default = InputAddress;