intelicoreact 1.5.40 → 1.6.0

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 (350) hide show
  1. package/dist/Atomic/FormElements/ActionAlert/ActionAlert.js +93 -44
  2. package/dist/Atomic/FormElements/ActionAlert/ActionAlert.scss +23 -13
  3. package/dist/Atomic/FormElements/AdvancedStatus/AdvancedStatus.js +43 -38
  4. package/dist/Atomic/FormElements/AdvancedStatus/AdvancedStatus.scss +20 -10
  5. package/dist/Atomic/FormElements/Calendar/Calendar.js +243 -164
  6. package/dist/Atomic/FormElements/Calendar/Calendar.scss +1 -0
  7. package/dist/Atomic/FormElements/CheckboxInput/CheckboxInput.js +60 -51
  8. package/dist/Atomic/FormElements/CheckboxInput/CheckboxInput.scss +21 -11
  9. package/dist/Atomic/FormElements/CheckboxesLine/CheckboxesLine.js +47 -39
  10. package/dist/Atomic/FormElements/CheckboxesLine/CheckboxesLine.scss +5 -2
  11. package/dist/Atomic/FormElements/Datepicker/Datepicker.js +410 -308
  12. package/dist/Atomic/FormElements/Datepicker/components/Calendar.js +169 -109
  13. package/dist/Atomic/FormElements/Dropdown/Dropdown.js +680 -527
  14. package/dist/Atomic/FormElements/Dropdown/Dropdown.scss +58 -56
  15. package/dist/Atomic/FormElements/Dropdown/components/DropdownLoader.js +28 -15
  16. package/dist/Atomic/FormElements/DropdownLiveSearch/DropdownLiveSearch.js +498 -378
  17. package/dist/Atomic/FormElements/DropdownLiveSearch/DropdownLiveSearch.scss +33 -29
  18. package/dist/Atomic/FormElements/FileLoader/FileLoader.js +103 -70
  19. package/dist/Atomic/FormElements/FileLoader/FileLoader.scss +0 -2
  20. package/dist/Atomic/FormElements/FileLoader/partial/LoadZone.js +138 -91
  21. package/dist/Atomic/FormElements/FileLoader/partial/LoadedContent.js +109 -55
  22. package/dist/Atomic/FormElements/FileLoaderDescription/FileLoaderDescription.js +254 -193
  23. package/dist/Atomic/FormElements/FileLoaderDescription/FileLoaderDescription.scss +19 -16
  24. package/dist/Atomic/FormElements/FileLoaderLocal/FileLoaderLocal.js +156 -140
  25. package/dist/Atomic/FormElements/FileLoaderLocal/FileLoaderLocal.scss +8 -4
  26. package/dist/Atomic/FormElements/FileLoaderLocalGroup/FileLoaderLocalGroup.js +222 -156
  27. package/dist/Atomic/FormElements/FormattedRawSSN/FormattedRawSSN.js +158 -114
  28. package/dist/Atomic/FormElements/FormattedRawSSN/FormattedRawSSN_old.js +151 -92
  29. package/dist/Atomic/FormElements/Input/Input.js +340 -330
  30. package/dist/Atomic/FormElements/InputCalendar/InputCalendar.js +156 -110
  31. package/dist/Atomic/FormElements/InputColor/InputColor.js +57 -58
  32. package/dist/Atomic/FormElements/InputCurrency/InputCurrency.js +189 -145
  33. package/dist/Atomic/FormElements/InputDateRange/InputDateRange.js +294 -228
  34. package/dist/Atomic/FormElements/InputDateRange/components/DateInput.js +55 -56
  35. package/dist/Atomic/FormElements/InputDateRange/components/Datepicker.js +645 -536
  36. package/dist/Atomic/FormElements/InputDateRange/components/OpenedPart.js +220 -190
  37. package/dist/Atomic/FormElements/InputDateRange/components/SelectItem.js +33 -31
  38. package/dist/Atomic/FormElements/InputDateRange/dependencies.js +247 -169
  39. package/dist/Atomic/FormElements/InputLink/InputLink.js +118 -71
  40. package/dist/Atomic/FormElements/InputMask/InputCarretPosition.js +47 -38
  41. package/dist/Atomic/FormElements/InputMask/InputMask.js +938 -1053
  42. package/dist/Atomic/FormElements/InputMask/config.js +16 -15
  43. package/dist/Atomic/FormElements/InputMask/functions.js +77 -51
  44. package/dist/Atomic/FormElements/InputMask2/InputMask2.js +569 -592
  45. package/dist/Atomic/FormElements/InputMask2/config.js +16 -15
  46. package/dist/Atomic/FormElements/InputMask2/functions.js +77 -51
  47. package/dist/Atomic/FormElements/InputMask3/InputMask3.js +651 -679
  48. package/dist/Atomic/FormElements/InputMask3/config.js +16 -15
  49. package/dist/Atomic/FormElements/InputMask3/functions.js +77 -51
  50. package/dist/Atomic/FormElements/InputWithAction/InputWithAction.js +127 -88
  51. package/dist/Atomic/FormElements/InputsRow/InputsRow.js +182 -111
  52. package/dist/Atomic/FormElements/Label/Label.js +82 -55
  53. package/dist/Atomic/FormElements/Label/Label.scss +18 -8
  54. package/dist/Atomic/FormElements/MobileCalendar/MobileCalendar.js +437 -382
  55. package/dist/Atomic/FormElements/MultiSelect/MultiSelect.js +88 -50
  56. package/dist/Atomic/FormElements/NumericInput/NumericInput.js +314 -264
  57. package/dist/Atomic/FormElements/RadioGroup/RadioGroup.js +93 -51
  58. package/dist/Atomic/FormElements/RadioGroupWithInput/RadioGroupWithInput.js +69 -55
  59. package/dist/Atomic/FormElements/RadioInput/RadioInput.js +51 -45
  60. package/dist/Atomic/FormElements/RadioInput/RadioInput.scss +4 -4
  61. package/dist/Atomic/FormElements/RadioRowSwitcher/RadioRowSwitcher.js +53 -40
  62. package/dist/Atomic/FormElements/RangeCalendar/RangeCalendar.js +169 -120
  63. package/dist/Atomic/FormElements/RangeInputs/RangeInputs.js +195 -141
  64. package/dist/Atomic/FormElements/RangeList/RangeList.js +199 -140
  65. package/dist/Atomic/FormElements/RangeList/RangeList.scss +2 -2
  66. package/dist/Atomic/FormElements/RangeList/partial/AnyOuterClass.scss +0 -3
  67. package/dist/Atomic/FormElements/RangeList/partial/RangeListRow.js +57 -44
  68. package/dist/Atomic/FormElements/RangeSlider/RangeSlider.js +463 -377
  69. package/dist/Atomic/FormElements/RangeSlider2/RangeSlider2.js +760 -759
  70. package/dist/Atomic/FormElements/SwitchableRow/SwitchableRow.js +36 -31
  71. package/dist/Atomic/FormElements/SwitchableRow/SwitchableRow.scss +0 -2
  72. package/dist/Atomic/FormElements/Switcher/Switcher.js +52 -44
  73. package/dist/Atomic/FormElements/Switcher/Switcher.scss +3 -3
  74. package/dist/Atomic/FormElements/SwitcherCheckbox/SwitcherCheckbox.js +43 -44
  75. package/dist/Atomic/FormElements/SwitcherCheckbox/SwitcherCheckbox.scss +0 -2
  76. package/dist/Atomic/FormElements/SwitcherHide/SwitcherHide.js +37 -36
  77. package/dist/Atomic/FormElements/SwitcherHide/SwitcherHide.scss +0 -2
  78. package/dist/Atomic/FormElements/SwitcherRadio/SwitcherRadio.js +93 -56
  79. package/dist/Atomic/FormElements/SwitcherRadio/SwitcherRadio.scss +0 -2
  80. package/dist/Atomic/FormElements/SwitcherRange/SwitcherRange.js +86 -53
  81. package/dist/Atomic/FormElements/SwitcherRange/SwitcherRange.scss +0 -2
  82. package/dist/Atomic/FormElements/SwitcherRangeList/SwitcherRangeList.js +46 -54
  83. package/dist/Atomic/FormElements/SwitcherTagsDropdown/SwitcherTagsDropdown.js +172 -102
  84. package/dist/Atomic/FormElements/SwitcherTagsDropdown/SwitcherTagsDropdown.scss +4 -6
  85. package/dist/Atomic/FormElements/SwitcherTagsDropdown/partial/States.js +209 -154
  86. package/dist/Atomic/FormElements/SwitcherTextarea/SwitcherTextarea.js +59 -56
  87. package/dist/Atomic/FormElements/SwitcherTextarea/SwitcherTextarea.scss +2 -2
  88. package/dist/Atomic/FormElements/TagListToDropdown/TagListToDropdown.js +140 -112
  89. package/dist/Atomic/FormElements/TagsDropdown/TagsDropdown.js +1035 -919
  90. package/dist/Atomic/FormElements/TagsDropdown/TagsDropdown.scss +153 -116
  91. package/dist/Atomic/FormElements/Text/Text.js +88 -97
  92. package/dist/Atomic/FormElements/TextSwitcher/TextSwitcher.js +44 -35
  93. package/dist/Atomic/FormElements/TextSwitcher/TextSwitcher.scss +8 -8
  94. package/dist/Atomic/FormElements/Textarea/Textarea.js +102 -64
  95. package/dist/Atomic/FormElements/Textarea/Textarea.scss +4 -8
  96. package/dist/Atomic/FormElements/TieredCheckboxes/TieredCheckboxes.js +172 -133
  97. package/dist/Atomic/FormElements/TieredCheckboxes/partial/AccordionWithCheckbox.js +48 -49
  98. package/dist/Atomic/FormElements/TimeRange/TimeRange.js +114 -63
  99. package/dist/Atomic/FormElements/TimeRange/TimeRange.scss +9 -3
  100. package/dist/Atomic/FormElements/UserContacts/UserContacts.js +179 -122
  101. package/dist/Atomic/FormElements/UserContacts/UserContacts.scss +10 -5
  102. package/dist/Atomic/FormElements/VariantsListRadio/VariantsListRadio.js +101 -65
  103. package/dist/Atomic/FormElements/VariantsListRadio/partials/VariantsListRadioItem.js +80 -71
  104. package/dist/Atomic/FormElements/WidgetPseudoTable/WidgetPseudoTable.js +79 -64
  105. package/dist/Atomic/FormElements/WidgetPseudoTable/WidgetPseudoTable.scss +0 -2
  106. package/dist/Atomic/FormElements/WidgetPseudoTable/partial/constructor.js +42 -34
  107. package/dist/Atomic/FormElements/WidgetWithSwitchableRows/WidgetWithSwitchableRows.js +102 -83
  108. package/dist/Atomic/FormElements/WidgetWithSwitchableRows/WidgetWithSwitchableRows.scss +0 -2
  109. package/dist/Atomic/FormElements/WidgetWithSwitchableRows/partial/constructor.js +42 -35
  110. package/dist/Atomic/Layout/Header/Header.js +148 -80
  111. package/dist/Atomic/Layout/MainMenu/MainMenu.js +213 -133
  112. package/dist/Atomic/Layout/MainMenu/MainMenu.scss +7 -7
  113. package/dist/Atomic/Layout/Spinner/Spinner.js +39 -22
  114. package/dist/Atomic/Layout/Spinner/Spinner.scss +36 -16
  115. package/dist/Atomic/UI/Accordion/Accordion.js +102 -53
  116. package/dist/Atomic/UI/Accordion/Accordion.scss +25 -14
  117. package/dist/Atomic/UI/Accordion/AccordionItem.js +170 -102
  118. package/dist/Atomic/UI/AccordionTable/AccordionTable.js +251 -167
  119. package/dist/Atomic/UI/AccordionText/AccordionText.js +105 -54
  120. package/dist/Atomic/UI/AccordionText/AccordionText.scss +22 -9
  121. package/dist/Atomic/UI/AdvancedTag/AdvTag.js +207 -135
  122. package/dist/Atomic/UI/AdvancedTag/AdvancedTags.js +100 -46
  123. package/dist/Atomic/UI/Alert/Alert.js +116 -63
  124. package/dist/Atomic/UI/Alert/Alert.scss +2 -2
  125. package/dist/Atomic/UI/Arrow/Arrow.js +163 -110
  126. package/dist/Atomic/UI/Box/Box.js +37 -37
  127. package/dist/Atomic/UI/Box/Box.scss +11 -11
  128. package/dist/Atomic/UI/Button/Button.js +43 -41
  129. package/dist/Atomic/UI/ButtonsBar/ButtonsBar.js +61 -67
  130. package/dist/Atomic/UI/Chart/Chart.js +170 -96
  131. package/dist/Atomic/UI/Chart/partial/Chart.constants.js +142 -74
  132. package/dist/Atomic/UI/Chart/partial/ChartTypeSwitcherIcon/ChartTypeSwitcherIcon.js +91 -77
  133. package/dist/Atomic/UI/Chart/partial/datasetSetters.js +120 -117
  134. package/dist/Atomic/UI/Chart/partial/optionsConstructor.js +314 -292
  135. package/dist/Atomic/UI/Chart/partial/optionsSetters.js +54 -39
  136. package/dist/Atomic/UI/Chart/partial/utils.js +56 -33
  137. package/dist/Atomic/UI/CircleProgressBar/CircleProgressBar.js +145 -88
  138. package/dist/Atomic/UI/DateTime/DateTime.js +89 -37
  139. package/dist/Atomic/UI/DateTime/DateTime.scss +2 -2
  140. package/dist/Atomic/UI/DebugContainer/DebugContainer.js +93 -31
  141. package/dist/Atomic/UI/DebugContainer/useDebugContainer.js +66 -18
  142. package/dist/Atomic/UI/DoubleString/DoubleString.js +134 -77
  143. package/dist/Atomic/UI/DoubleString/DoubleString.scss +6 -4
  144. package/dist/Atomic/UI/DynamicIcon/DynamicIcon.js +65 -22
  145. package/dist/Atomic/UI/ExampleChartIntegration/ExampleChartIntegration.js +251 -170
  146. package/dist/Atomic/UI/ExampleChartIntegration/partial/utils.js +109 -84
  147. package/dist/Atomic/UI/Hint/Hint.interface.js +4 -0
  148. package/dist/Atomic/UI/Hint/Hint.js +247 -204
  149. package/dist/Atomic/UI/Hint/Hint.scss +4 -2
  150. package/dist/Atomic/UI/Hint/Hint.stories.js +10 -5
  151. package/dist/Atomic/UI/Hint/Hint.test.js +96 -0
  152. package/dist/Atomic/UI/Hint/index.js +3 -2
  153. package/dist/Atomic/UI/Hint/partials/_utils.js +60 -46
  154. package/dist/Atomic/UI/Modal/Modal.js +171 -172
  155. package/dist/Atomic/UI/Modal/Modal.scss +91 -65
  156. package/dist/Atomic/UI/Modal/Modal.stories.js +1 -1
  157. package/dist/Atomic/UI/Modal/ModalHOC.js +92 -38
  158. package/dist/Atomic/UI/Modal/ModalMobile.scss +26 -14
  159. package/dist/Atomic/UI/Modal/partials/ModalFooter.js +68 -18
  160. package/dist/Atomic/UI/Modal/partials/ModalTitle.js +107 -38
  161. package/dist/Atomic/UI/Modal/partials/useMobileModal.js +130 -153
  162. package/dist/Atomic/UI/MonoAccordion/MonoAccordion.js +118 -62
  163. package/dist/Atomic/UI/MonoAccordion/MonoAccordion.scss +172 -25
  164. package/dist/Atomic/UI/NavLine/NavLine.js +306 -273
  165. package/dist/Atomic/UI/NavLine/NavLine.scss +202 -155
  166. package/dist/Atomic/UI/NavLine/NavLine.test.js +1 -1
  167. package/dist/Atomic/UI/PageTitle/PageTitle.js +73 -52
  168. package/dist/Atomic/UI/PageTitle/PageTitle.scss +52 -14
  169. package/dist/Atomic/UI/PieChart/PieChart.js +105 -42
  170. package/dist/Atomic/UI/PieChart/PieChart.scss +87 -11
  171. package/dist/Atomic/UI/Price/Price.js +27 -20
  172. package/dist/Atomic/UI/PriceRange/PriceRange.js +40 -18
  173. package/dist/Atomic/UI/ProgressLine/ProgressLine.js +92 -73
  174. package/dist/Atomic/UI/ProgressLine/ProgressLine.scss +66 -52
  175. package/dist/Atomic/UI/Status/Status.js +62 -51
  176. package/dist/Atomic/UI/Status/Status.scss +48 -29
  177. package/dist/Atomic/UI/Table/Partials/TdCell.js +126 -88
  178. package/dist/Atomic/UI/Table/Partials/TdHeader.js +58 -39
  179. package/dist/Atomic/UI/Table/Partials/TdRow.js +124 -73
  180. package/dist/Atomic/UI/Table/Partials/TdTitle.js +113 -45
  181. package/dist/Atomic/UI/Table/Table.js +61 -43
  182. package/dist/Atomic/UI/Table/Table.scss +0 -3
  183. package/dist/Atomic/UI/Table/TdTypes/TdActions.js +108 -64
  184. package/dist/Atomic/UI/Table/TdTypes/TdPriority.js +44 -31
  185. package/dist/Atomic/UI/Table/TdTypes/TdRange.js +24 -10
  186. package/dist/Atomic/UI/Table/TdTypes/TdWeight.js +59 -48
  187. package/dist/Atomic/UI/Tag/Tag.js +157 -113
  188. package/dist/Atomic/UI/Tag/Tag.scss +104 -47
  189. package/dist/Atomic/UI/TagList/TagList.js +223 -179
  190. package/dist/Atomic/UI/TagList/TagList.scss +13 -9
  191. package/dist/Atomic/UI/UserBox/UserBox.js +80 -56
  192. package/dist/Atomic/UI/UserBox/UserBox.scss +45 -21
  193. package/dist/Atomic/UI/UserBox/UserBox.test.js +2 -2
  194. package/dist/Atomic/UI/WizardStepper/constructor.js +127 -89
  195. package/dist/Atomic/UI/WizardStepper/index.js +14 -6
  196. package/dist/Atomic/UI/WizardStepper/ui/StateIcon/StateIcon.js +53 -51
  197. package/dist/Atomic/UI/WizardStepper/ui/StateIcon/StateIcon.scss +11 -7
  198. package/dist/Atomic/UI/WizardStepper/ui/StateIcon/index.js +9 -5
  199. package/dist/Atomic/UI/WizardStepper/ui/StepRow/StepRow.js +84 -67
  200. package/dist/Atomic/UI/WizardStepper/ui/StepRow/StepRow.scss +13 -7
  201. package/dist/Atomic/UI/WizardStepper/ui/StepRow/index.js +14 -6
  202. package/dist/Atomic/UI/WizardStepper/ui/StepWrapper/StepWrapper.js +50 -45
  203. package/dist/Atomic/UI/WizardStepper/ui/StepWrapper/StepWrapper.scss +24 -18
  204. package/dist/Atomic/UI/WizardStepper/ui/StepWrapper/index.js +14 -6
  205. package/dist/Atomic/UI/WizardStepper/ui/icons.js +138 -106
  206. package/dist/Atomic/UI/WizardStepper/ui/index.js +14 -6
  207. package/dist/Classes/AbortableFetch.js +394 -326
  208. package/dist/Classes/AnimatedHandler.js +31 -44
  209. package/dist/Classes/RESTAPI/index.js +131 -173
  210. package/dist/Classes/RESTAPI/partials/AbortableFetch.js +399 -334
  211. package/dist/Classes/RESTAPI/partials/ApiBase.js +30 -30
  212. package/dist/Classes/RESTAPI/partials/ApiRequestCreators.js +107 -88
  213. package/dist/Classes/RESTAPI/partials/ApiUtils.js +144 -166
  214. package/dist/Classes/RESTAPI/partials/CredentialsProcessing.js +180 -204
  215. package/dist/Classes/RESTAPI/partials/Utils.js +80 -83
  216. package/dist/Classes/RESTAPI/partials/_outerDependencies.js +16 -8
  217. package/dist/Classes/RESTAPI/partials/_utils.js +139 -125
  218. package/dist/Constants/index.constants.js +102 -22
  219. package/dist/Functions/Portal.js +67 -23
  220. package/dist/Functions/customEventListener.js +48 -50
  221. package/dist/Functions/dateTime.js +130 -177
  222. package/dist/Functions/fieldValueFormatters.js +275 -346
  223. package/dist/Functions/guards/assertions.js +294 -0
  224. package/dist/Functions/guards/safeValue.js +75 -0
  225. package/dist/Functions/guards/typeGuards.js +374 -0
  226. package/dist/Functions/hooks/useFormFieldsChangesManager.js +125 -96
  227. package/dist/Functions/locale/createTranslator.js +29 -27
  228. package/dist/Functions/operations.js +129 -102
  229. package/dist/Functions/presets/inputMaskPresets.js +88 -99
  230. package/dist/Functions/presets/inputPresets.js +41 -35
  231. package/dist/Functions/presets/mobileKeyboardTypesPresets.js +30 -49
  232. package/dist/Functions/schemas.js +78 -20
  233. package/dist/Functions/useBodyScrollLock.js +21 -15
  234. package/dist/Functions/useClickOutside.js +21 -16
  235. package/dist/Functions/useDebounce.js +62 -21
  236. package/dist/Functions/useFieldFocus.js +83 -79
  237. package/dist/Functions/useFormTools/form-drivers/ArrayWithObjects.js +39 -46
  238. package/dist/Functions/useFormTools/form-drivers/ObjectWithIterableObjects.js +132 -137
  239. package/dist/Functions/useFormTools/form-drivers/ObjectWithNamedKeyObjects.js +63 -73
  240. package/dist/Functions/useFormTools/functions/General.js +117 -129
  241. package/dist/Functions/useFormTools/functions/RenderFields.js +75 -85
  242. package/dist/Functions/useFormTools/functions/usePrevious.js +16 -10
  243. package/dist/Functions/useFormTools/index.js +647 -709
  244. package/dist/Functions/useInputHighlightError.js +104 -53
  245. package/dist/Functions/useKeyPress/useHandleKeyPress.js +40 -33
  246. package/dist/Functions/useKeyPress/useKeyPress.js +48 -39
  247. package/dist/Functions/useLocalStorage.js +38 -31
  248. package/dist/Functions/useLocationParams.js +31 -24
  249. package/dist/Functions/useMediaQuery.js +14 -10
  250. package/dist/Functions/useMetaInfo.js +45 -35
  251. package/dist/Functions/useMouseUpOutside.js +21 -15
  252. package/dist/Functions/useOnlineStatus.js +25 -21
  253. package/dist/Functions/usePasswordChecker.js +183 -111
  254. package/dist/Functions/usePrevious.js +16 -10
  255. package/dist/Functions/useResize.js +32 -28
  256. package/dist/Functions/useScrollTo.js +26 -16
  257. package/dist/Functions/useToggle.js +20 -16
  258. package/dist/Functions/utils.js +493 -469
  259. package/dist/Molecular/CustomIcons/components/AffiliateNetworks.js +75 -28
  260. package/dist/Molecular/CustomIcons/components/AlertCircle.js +77 -28
  261. package/dist/Molecular/CustomIcons/components/AppStore.js +84 -32
  262. package/dist/Molecular/CustomIcons/components/Arrow.js +93 -38
  263. package/dist/Molecular/CustomIcons/components/ArrowDown.js +63 -20
  264. package/dist/Molecular/CustomIcons/components/ArrowLeft.js +71 -23
  265. package/dist/Molecular/CustomIcons/components/ArrowRight.js +71 -23
  266. package/dist/Molecular/CustomIcons/components/ArrowUp.js +63 -20
  267. package/dist/Molecular/CustomIcons/components/Bell.js +61 -18
  268. package/dist/Molecular/CustomIcons/components/Button.js +61 -18
  269. package/dist/Molecular/CustomIcons/components/Campaigns.js +62 -19
  270. package/dist/Molecular/CustomIcons/components/Check.js +62 -19
  271. package/dist/Molecular/CustomIcons/components/Check2.js +61 -18
  272. package/dist/Molecular/CustomIcons/components/ChevronDown.js +61 -18
  273. package/dist/Molecular/CustomIcons/components/ChevronDownDisabled.js +61 -18
  274. package/dist/Molecular/CustomIcons/components/ChevronLeft.js +61 -18
  275. package/dist/Molecular/CustomIcons/components/ChevronRight.js +61 -18
  276. package/dist/Molecular/CustomIcons/components/ChevronUp.js +61 -18
  277. package/dist/Molecular/CustomIcons/components/ChevronUpDown.js +81 -33
  278. package/dist/Molecular/CustomIcons/components/Close.js +64 -20
  279. package/dist/Molecular/CustomIcons/components/ColumnsOrder.js +95 -45
  280. package/dist/Molecular/CustomIcons/components/Delete.js +62 -19
  281. package/dist/Molecular/CustomIcons/components/Edit.js +61 -18
  282. package/dist/Molecular/CustomIcons/components/Email.js +87 -36
  283. package/dist/Molecular/CustomIcons/components/FinturfLogo.js +82 -26
  284. package/dist/Molecular/CustomIcons/components/FinturfLogo2.js +83 -34
  285. package/dist/Molecular/CustomIcons/components/Flows.js +61 -18
  286. package/dist/Molecular/CustomIcons/components/Gift.js +71 -23
  287. package/dist/Molecular/CustomIcons/components/GoogleAuth.js +84 -32
  288. package/dist/Molecular/CustomIcons/components/GooglePlay.js +84 -32
  289. package/dist/Molecular/CustomIcons/components/HelpCircle.js +67 -21
  290. package/dist/Molecular/CustomIcons/components/HelpCircle2.js +68 -22
  291. package/dist/Molecular/CustomIcons/components/HelpCircleFilled.js +67 -21
  292. package/dist/Molecular/CustomIcons/components/Home.js +67 -21
  293. package/dist/Molecular/CustomIcons/components/Home2.js +70 -24
  294. package/dist/Molecular/CustomIcons/components/Key.js +69 -26
  295. package/dist/Molecular/CustomIcons/components/Landers.js +68 -22
  296. package/dist/Molecular/CustomIcons/components/Lock.js +61 -18
  297. package/dist/Molecular/CustomIcons/components/Mail.js +75 -26
  298. package/dist/Molecular/CustomIcons/components/Mastercard.js +128 -68
  299. package/dist/Molecular/CustomIcons/components/Minus.js +79 -31
  300. package/dist/Molecular/CustomIcons/components/Offers.js +62 -19
  301. package/dist/Molecular/CustomIcons/components/Pause.js +79 -31
  302. package/dist/Molecular/CustomIcons/components/PayPal.js +96 -45
  303. package/dist/Molecular/CustomIcons/components/PayPalLightLarge.js +81 -32
  304. package/dist/Molecular/CustomIcons/components/Phone.js +81 -33
  305. package/dist/Molecular/CustomIcons/components/Play.js +79 -31
  306. package/dist/Molecular/CustomIcons/components/Plus.js +79 -31
  307. package/dist/Molecular/CustomIcons/components/Profile.js +69 -23
  308. package/dist/Molecular/CustomIcons/components/QRCode.js +85 -33
  309. package/dist/Molecular/CustomIcons/components/Rectangle.js +61 -18
  310. package/dist/Molecular/CustomIcons/components/Revert.js +67 -21
  311. package/dist/Molecular/CustomIcons/components/Star.js +60 -17
  312. package/dist/Molecular/CustomIcons/components/Star2.js +62 -19
  313. package/dist/Molecular/CustomIcons/components/TrafficSources.js +68 -21
  314. package/dist/Molecular/CustomIcons/components/Trash.js +61 -18
  315. package/dist/Molecular/CustomIcons/components/TrashRed.js +61 -18
  316. package/dist/Molecular/CustomIcons/components/Triggers.js +61 -18
  317. package/dist/Molecular/CustomIcons/components/User.js +71 -23
  318. package/dist/Molecular/CustomIcons/components/Visa.js +88 -34
  319. package/dist/Molecular/CustomIcons/components/X.js +61 -18
  320. package/dist/Molecular/CustomIcons/index.js +76 -674
  321. package/dist/Molecular/FormElement/FormElement.js +44 -41
  322. package/dist/Molecular/FormWithDependOn/FormWithDependOn.js +179 -161
  323. package/dist/Molecular/FormWithDependOn/partials/_utils.js +49 -56
  324. package/dist/Molecular/InputAddress/InputAddress.js +496 -421
  325. package/dist/Molecular/InputAddress/InputAddress.scss +12 -14
  326. package/dist/Molecular/InputPassword/InputPassword.js +99 -47
  327. package/dist/index.js +11 -8
  328. package/dist/scss/_mixins.scss +2 -2
  329. package/dist/scss/_vars.scss +1 -2
  330. package/dist/scss/main.scss +4 -3
  331. package/dist/types/declaration/ArrayElement.d.js +4 -0
  332. package/dist/types/declaration/AsyncReturnType.d.js +4 -0
  333. package/dist/types/declaration/DeepPartial.d.js +4 -0
  334. package/dist/types/declaration/DeepReadonly.d.js +4 -0
  335. package/dist/types/declaration/DeepRequired.d.js +4 -0
  336. package/dist/types/declaration/Flatten.d.js +4 -0
  337. package/dist/types/declaration/FunctionType.d.js +4 -0
  338. package/dist/types/declaration/If.d.js +4 -0
  339. package/dist/types/declaration/KeysType.d.js +4 -0
  340. package/dist/types/declaration/NonNullableType.d.js +4 -0
  341. package/dist/types/declaration/ObjectType.d.js +4 -0
  342. package/dist/types/declaration/OnlyObjectKeys.d.js +4 -0
  343. package/dist/types/declaration/PrettyPrint.d.js +31 -0
  344. package/dist/types/declaration/RequiredFields.d.js +4 -0
  345. package/dist/types/declaration/TupleType.d.js +4 -0
  346. package/dist/types/declaration/ValuesType.d.js +4 -0
  347. package/package.json +18 -21
  348. package/dist/Atomic/UI/NavLine/Tabs.js +0 -115
  349. package/dist/Functions/animatingFunctions/getAnimatedHandler.js +0 -1
  350. package/dist/Functions/useIsMobile.js +0 -26
@@ -1,213 +1,256 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
1
+ /* eslint-disable react-web-api/no-leaked-event-listener */ /* eslint-disable react-dom/no-missing-button-type */ "use strict";
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 _reactDom = require("react-dom");
11
- var _reactFeather = require("react-feather");
12
- var _utils = require("../../../Functions/utils");
13
- var _CustomIcons = require("./../../../Molecular/CustomIcons");
14
- var _utils2 = require("./partials/_utils");
15
- var _Spinner = _interopRequireDefault(require("./../../Layout/Spinner/Spinner"));
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 _Spinner = /*#__PURE__*/ _interop_require_default(require("@/Atomic/Layout/Spinner/Spinner"));
13
+ const _utils = require("@/Functions/utils");
14
+ const _CustomIcons = require("@/Molecular/CustomIcons");
15
+ const _classnames = /*#__PURE__*/ _interop_require_default(require("classnames"));
16
+ const _react = /*#__PURE__*/ _interop_require_wildcard(require("react"));
17
+ const _reactdom = require("react-dom");
18
+ const _reactfeather = require("react-feather");
19
+ const _utils1 = require("./partials/_utils");
16
20
  require("./Hint.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 && {}.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; }
19
- let isContentHoveredOuter = false;
20
- const Hint = _ref => {
21
- let {
22
- hint,
23
- side = "right",
24
- className,
25
- hintContainer = {},
26
- label = "",
27
- variant = "filled",
28
- handleOpenType = "click",
29
- onClickCallback,
30
- onOpenChange = () => {},
31
- key,
32
- id,
33
- children,
34
- icon,
35
- isAccessability = false,
36
- testId = "hint",
37
- isHoverableContent = false,
38
- isLoading
39
- } = _ref;
40
- const hintRef = (0, _react.useRef)(null);
41
- const timeoutRef = (0, _react.useRef)(null);
42
- const [hintId] = (0, _react.useState)(key ?? id ?? Math.random().toString(16).slice(2));
43
- const [isOpen, setIsOpen] = (0, _react.useState)(false);
44
- const [isContentHovered, setIsContentHovered] = (0, _react.useState)(false);
45
-
46
- //? Определяем handleScroll-стейт, чтобы никогда не менять ссылку тем самым гарантировать корректную работу removeEventListener.
47
- //? Инициализируем стейт вызовом конструктора HandleScrollObj, передаем setIsOpen для записи в объект.
48
- const [handleScroll] = (0, _react.useState)(new _utils2.HandleScrollObj(setIsOpen));
49
- //? По аналогии определяем handleClickOutside
50
- const [handleClickOutside] = (0, _react.useState)(new _utils2.HandleClickOutsideObj(hintId, setIsOpen));
51
- const isCallbackExist = typeof onClickCallback === "function";
52
- const handle = {
53
- onMouseEnter: () => {
54
- if (handleOpenType === "hover") {
55
- timeoutRef.current = setTimeout(() => {
56
- setIsOpen(true);
57
- !isOpen && onClickCallback();
58
- }, 350);
59
- }
60
- },
61
- onMouseLeave: () => {
62
- if (!isHoverableContent && handleOpenType === "hover") {
63
- clearTimeout(timeoutRef.current);
64
- timeoutRef.current = setTimeout(() => {
65
- setIsOpen(false);
66
- }, 1000);
67
- } else if (isHoverableContent && handleOpenType === "hover") {
68
- clearTimeout(timeoutRef.current);
69
- timeoutRef.current = setTimeout(() => {
70
- if (!isContentHoveredOuter) {
71
- setIsOpen(false);
72
- }
73
- }, 100);
74
- }
75
- },
76
- onMouseLeaveHoverableContent: () => {
77
- if (isHoverableContent && handleOpenType === "hover") {
78
- clearTimeout(timeoutRef.current);
79
- timeoutRef.current = setTimeout(() => {
80
- setIsOpen(false);
81
- setIsContentHovered(false);
82
- isContentHoveredOuter = false;
83
- }, 100);
84
- }
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;
85
37
  }
86
- };
87
- const getHintMarkUp = className => {
88
- return /*#__PURE__*/_react.default.createElement("div", {
89
- "data-testid": "test-hint-text",
90
- className: (0, _classnames.default)("hint__text", `hint__text_${side}`, `hint--${className}__text`),
91
- onMouseEnter: () => {
92
- isContentHoveredOuter = true;
93
- },
94
- onMouseLeave: handle.onMouseLeaveHoverableContent
95
- }, isLoading && /*#__PURE__*/_react.default.createElement(_Spinner.default, {
96
- size: "small"
97
- }), hint, children);
98
- };
99
- const setHintContainerStyles = () => {
100
- const hc = (0, _utils2.getHintContainer)(hintId);
101
- if (!hc || !isOpen) return false;
102
- const {
103
- width,
104
- top,
105
- left
106
- } = hintRef?.current.getBoundingClientRect() || {};
107
- const {
108
- addWidth,
109
- addLeft,
110
- addTop
111
- } = hintContainer;
112
- const windowInnerWidth = document.documentElement.clientWidth;
113
- const windowInnerHeight = document.documentElement.clientHeight;
114
- const sw = hc.getElementsByClassName("hint__text")[0];
115
- const {
116
- width: swWidth,
117
- height: swHeight
118
- } = sw?.getBoundingClientRect() || {};
119
- hc.style.width = isOpen ? ((!Number.isNaN(+addWidth) ? +addWidth : 0) + width)?.toString().concat("px") : 0;
120
- hc.style.left = isOpen ? ((!Number.isNaN(+addLeft) ? +addLeft : 0) + left)?.toString().concat("px") : 0;
121
- hc.style.top = isOpen ? ((!Number.isNaN(+addTop) ? +addTop : 0) + top)?.toString().concat("px") : 0;
122
- hc.style.maxHeight = isOpen ? swHeight?.toString().concat("px") : 0;
123
-
124
- //? Базовое значение погрешности
125
- //? В разных свитч-кейсах может использоваться по разному (вся или частично). Определял "на глазок"
126
- const INACCURACY = 20;
127
- switch (side) {
128
- case 'top':
129
- case 'centeredTop':
130
- if (top - swHeight - INACCURACY / 2 < 0) {
131
- sw.classList.remove(`hint__text_${side}`);
132
- sw.classList.add(`hint__text_${side === 'top' ? 'bottom' : 'centeredBottom'}`);
133
- }
134
- break;
135
- case 'bottom':
136
- case 'centeredBottom':
137
- if (top + swHeight + INACCURACY > windowInnerHeight) {
138
- sw.classList.remove(`hint__text_${side}`);
139
- sw.classList.add(`hint__text_${side === 'bottom' ? 'top' : 'centeredTop'}`);
140
- }
141
- break;
142
- case 'left':
143
- if (left - swWidth - INACCURACY / 2 < 0) {
144
- sw.classList.remove(`hint__text_${side}`);
145
- sw.classList.add('hint__text_right');
146
- }
147
- break;
148
- case 'right':
149
- default:
150
- if (left + width + swWidth + INACCURACY / 2 > windowInnerWidth) {
151
- sw.classList.remove(`hint__text_${side}`);
152
- sw.classList.add('hint__text_left');
153
- }
154
- break;
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);
155
46
  }
156
- };
157
- const renderHintContainer = className => {
158
- const hc = (0, _utils2.getHintContainer)(hintId);
159
- if (!hc) return null;
160
- return /*#__PURE__*/(0, _reactDom.createPortal)(getHintMarkUp(className), hc);
161
- };
162
- (0, _react.useEffect)(() => {
163
- (0, _utils2.initHintContainer)(hintId, hintContainer);
164
- return () => {
165
- clearTimeout(timeoutRef.current);
47
+ var newObj = {
48
+ __proto__: null
166
49
  };
167
- }, []);
168
- (0, _react.useEffect)(() => {
169
- setHintContainerStyles();
170
- onOpenChange?.(isOpen);
171
- if (isOpen) {
172
- document.addEventListener("scroll", handleScroll, true);
173
- document.addEventListener("click", handleClickOutside, true);
174
- } else {
175
- document.removeEventListener("scroll", handleScroll, true);
176
- document.removeEventListener("click", handleClickOutside, true);
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);
177
64
  }
178
- return () => {
179
- clearTimeout(timeoutRef.current);
65
+ return newObj;
66
+ }
67
+ let isContentHoveredOuter = false;
68
+ const DEFAULT_EMPTY_OBJ = {};
69
+ function DEFAULT_VOID_FN() {}
70
+ const Hint = ({ hint, side = 'right', className, hintContainer = DEFAULT_EMPTY_OBJ, label = '', variant = 'filled', handleOpenType = 'click', onClickCallback, onOpenChange = DEFAULT_VOID_FN, key, id, children, icon, isAccessability = false, testId = 'hint', isHoverableContent = false, isLoading, isCloseOnChildrenClick = false })=>{
71
+ var _label_replace;
72
+ const hintRef = (0, _react.useRef)(null);
73
+ const timeoutRef = (0, _react.useRef)(null);
74
+ var _ref;
75
+ const [hintId] = (0, _react.useState)((_ref = key !== null && key !== void 0 ? key : id) !== null && _ref !== void 0 ? _ref : Math.random().toString(16).slice(2));
76
+ const [isOpen, setIsOpen] = (0, _react.useState)(false);
77
+ // ? Определяем handleScroll-стейт, чтобы никогда не менять ссылку тем самым гарантировать корректную работу removeEventListener.
78
+ // ? Инициализируем стейт вызовом конструктора HandleScrollObj, передаем setIsOpen для записи в объект.
79
+ const [handleScroll] = (0, _react.useState)(new _utils1.HandleScrollObj(setIsOpen));
80
+ // ? По аналогии определяем handleClickOutside
81
+ const [handleClickOutside] = (0, _react.useState)(new _utils1.HandleClickOutsideObj(hintId, setIsOpen));
82
+ const isCallbackExist = typeof onClickCallback === 'function';
83
+ const handle = {
84
+ onMouseEnter: ()=>{
85
+ if (handleOpenType === 'hover') {
86
+ timeoutRef.current = setTimeout(()=>{
87
+ setIsOpen(true);
88
+ !isOpen && (onClickCallback === null || onClickCallback === void 0 ? void 0 : onClickCallback());
89
+ }, 350);
90
+ }
91
+ },
92
+ onMouseLeave: ()=>{
93
+ if (!isHoverableContent && handleOpenType === 'hover') {
94
+ if (timeoutRef.current !== null) clearTimeout(timeoutRef.current);
95
+ timeoutRef.current = setTimeout(()=>{
96
+ setIsOpen(false);
97
+ }, 1000);
98
+ } else if (isHoverableContent && handleOpenType === 'hover') {
99
+ if (timeoutRef.current !== null) clearTimeout(timeoutRef.current);
100
+ timeoutRef.current = setTimeout(()=>{
101
+ if (!isContentHoveredOuter) {
102
+ setIsOpen(false);
103
+ }
104
+ }, 100);
105
+ }
106
+ },
107
+ onMouseLeaveHoverableContent: ()=>{
108
+ if (isHoverableContent && handleOpenType === 'hover') {
109
+ if (timeoutRef.current !== null) clearTimeout(timeoutRef.current);
110
+ timeoutRef.current = setTimeout(()=>{
111
+ setIsOpen(false);
112
+ isContentHoveredOuter = false;
113
+ }, 100);
114
+ }
115
+ },
116
+ onClick: isCloseOnChildrenClick ? ()=>setIsOpen(false) : ()=>{}
117
+ };
118
+ const getHintMarkUp = (className)=>{
119
+ return /*#__PURE__*/ (0, _jsxruntime.jsxs)("div", {
120
+ "data-testid": "test-hint-text",
121
+ className: (0, _classnames.default)('hint__text', `hint__text_${side}`, `hint--${className}__text`),
122
+ onMouseEnter: ()=>{
123
+ isContentHoveredOuter = true;
124
+ },
125
+ onMouseLeave: handle.onMouseLeaveHoverableContent,
126
+ onClick: handle.onClick,
127
+ children: [
128
+ isLoading && /*#__PURE__*/ (0, _jsxruntime.jsx)(_Spinner.default, {
129
+ size: "small"
130
+ }),
131
+ hint,
132
+ children
133
+ ]
134
+ });
180
135
  };
181
- }, [isOpen]);
182
- return /*#__PURE__*/_react.default.createElement("div", {
183
- "data-testid": testId,
184
- className: (0, _classnames.default)("hint", className),
185
- ref: hintRef
186
- }, /*#__PURE__*/_react.default.createElement("button", {
187
- tabIndex: isAccessability ? 0 : -1,
188
- "data-testid": typeof label === "string" && label.length ? label.replace?.(/\s/g, "-") : testId,
189
- "aria-label": isAccessability && label || "",
190
- onClick: () => handleOpenType === "click" && (isCallbackExist ? onClickCallback() : setIsOpen(!isOpen)),
191
- onMouseEnter: handle.onMouseEnter,
192
- onMouseLeave: handle.onMouseLeave,
193
- className: (0, _classnames.default)("hint__button", {
194
- hint__button_active: isOpen
195
- })
196
- }, icon || icon === null || /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, variant === "outlined" && /*#__PURE__*/_react.default.createElement(_reactFeather.HelpCircle, {
197
- width: 16,
198
- height: 16,
199
- className: "hint__icon outlined"
200
- }), variant === "filled" && /*#__PURE__*/_react.default.createElement(_CustomIcons.HelpCircleFilled, {
201
- className: "hint__icon filled"
202
- }), variant === "warning" && /*#__PURE__*/_react.default.createElement(_reactFeather.AlertTriangle, {
203
- className: "hint__icon",
204
- color: "#F06D8D",
205
- width: 16,
206
- height: 16
207
- })), label && /*#__PURE__*/_react.default.createElement("span", {
208
- className: (0, _classnames.default)("hint__label", {
209
- "color--primary": isOpen
210
- })
211
- }, (0, _utils.capitalized)(label))), isOpen && renderHintContainer(className));
136
+ const setHintContainerStyles = ()=>{
137
+ var _hintRef_current, _this, _this1, _this2;
138
+ const hc = (0, _utils1.getHintContainer)(hintId);
139
+ if (!hc || !isOpen) return false;
140
+ const { width = 0, top = 0, left = 0 } = (hintRef === null || hintRef === void 0 ? void 0 : hintRef.current) !== null ? hintRef === null || hintRef === void 0 ? void 0 : (_hintRef_current = hintRef.current) === null || _hintRef_current === void 0 ? void 0 : _hintRef_current.getBoundingClientRect() : {};
141
+ const { addWidth, addLeft, addTop } = hintContainer !== null && hintContainer !== void 0 ? hintContainer : {};
142
+ const windowInnerWidth = document.documentElement.clientWidth;
143
+ const windowInnerHeight = document.documentElement.clientHeight;
144
+ const sw = hc.getElementsByClassName('hint__text')[0];
145
+ const { width: swWidth, height: swHeight } = (sw === null || sw === void 0 ? void 0 : sw.getBoundingClientRect()) || {};
146
+ hc.style.width = isOpen ? (_this = (addWidth && !Number.isNaN(+addWidth) ? +addWidth : 0) + width) === null || _this === void 0 ? void 0 : _this.toString().concat('px') : '0';
147
+ hc.style.left = isOpen ? (_this1 = (addLeft && !Number.isNaN(+addLeft) ? +addLeft : 0) + left) === null || _this1 === void 0 ? void 0 : _this1.toString().concat('px') : '0';
148
+ hc.style.top = isOpen ? (_this2 = (addTop && !Number.isNaN(+addTop) ? +addTop : 0) + top) === null || _this2 === void 0 ? void 0 : _this2.toString().concat('px') : '0';
149
+ hc.style.maxHeight = isOpen ? swHeight === null || swHeight === void 0 ? void 0 : swHeight.toString().concat('px') : '0';
150
+ // ? Базовое значение погрешности
151
+ // ? В разных свитч-кейсах может использоваться по разному (вся или частично). Определял "на глазок"
152
+ const INACCURACY = 20;
153
+ switch(side){
154
+ case 'top':
155
+ case 'centeredTop':
156
+ if (top - swHeight - INACCURACY / 2 < 0) {
157
+ sw.classList.remove(`hint__text_${side}`);
158
+ sw.classList.add(`hint__text_${side === 'top' ? 'bottom' : 'centeredBottom'}`);
159
+ }
160
+ break;
161
+ case 'bottom':
162
+ case 'centeredBottom':
163
+ if (top + swHeight + INACCURACY > windowInnerHeight) {
164
+ sw.classList.remove(`hint__text_${side}`);
165
+ sw.classList.add(`hint__text_${side === 'bottom' ? 'top' : 'centeredTop'}`);
166
+ }
167
+ break;
168
+ case 'left':
169
+ if (left - swWidth - INACCURACY / 2 < 0) {
170
+ sw.classList.remove(`hint__text_${side}`);
171
+ sw.classList.add('hint__text_right');
172
+ }
173
+ break;
174
+ case 'right':
175
+ default:
176
+ if (left + width + swWidth + INACCURACY / 2 > windowInnerWidth) {
177
+ sw.classList.remove(`hint__text_${side}`);
178
+ sw.classList.add('hint__text_left');
179
+ }
180
+ break;
181
+ }
182
+ };
183
+ const renderHintContainer = (className)=>{
184
+ const hc = (0, _utils1.getHintContainer)(hintId);
185
+ if (!hc) return null;
186
+ return /*#__PURE__*/ (0, _reactdom.createPortal)(getHintMarkUp(className), hc);
187
+ };
188
+ (0, _react.useEffect)(()=>{
189
+ (0, _utils1.initHintContainer)(hintId, hintContainer);
190
+ return ()=>{
191
+ if (timeoutRef.current !== null) clearTimeout(timeoutRef.current);
192
+ };
193
+ }, []);
194
+ (0, _react.useEffect)(()=>{
195
+ setHintContainerStyles();
196
+ onOpenChange === null || onOpenChange === void 0 ? void 0 : onOpenChange(isOpen);
197
+ if (isOpen) {
198
+ document.addEventListener('scroll', handleScroll, true);
199
+ document.addEventListener('click', handleClickOutside, true);
200
+ } else {
201
+ document.removeEventListener('scroll', handleScroll, true);
202
+ document.removeEventListener('click', handleClickOutside, true);
203
+ }
204
+ return ()=>{
205
+ if (timeoutRef.current !== null) clearTimeout(timeoutRef.current);
206
+ };
207
+ }, [
208
+ isOpen
209
+ ]);
210
+ return /*#__PURE__*/ (0, _jsxruntime.jsxs)("div", {
211
+ "data-testid": testId,
212
+ className: (0, _classnames.default)('hint', className),
213
+ ref: hintRef,
214
+ children: [
215
+ /*#__PURE__*/ (0, _jsxruntime.jsxs)("button", {
216
+ tabIndex: isAccessability ? 0 : -1,
217
+ "data-testid": typeof label === 'string' && label.length ? (_label_replace = label.replace) === null || _label_replace === void 0 ? void 0 : _label_replace.call(label, /\s/g, '-') : `${testId}--button`,
218
+ "aria-label": isAccessability && typeof label === 'string' ? label : '',
219
+ onClick: ()=>handleOpenType === 'click' && (isCallbackExist ? onClickCallback === null || onClickCallback === void 0 ? void 0 : onClickCallback() : setIsOpen(!isOpen)),
220
+ onMouseEnter: handle.onMouseEnter,
221
+ onMouseLeave: handle.onMouseLeave,
222
+ className: (0, _classnames.default)('hint__button', {
223
+ hint__button_active: isOpen
224
+ }),
225
+ children: [
226
+ icon || /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, {
227
+ children: [
228
+ variant === 'outlined' && /*#__PURE__*/ (0, _jsxruntime.jsx)(_reactfeather.HelpCircle, {
229
+ width: 16,
230
+ height: 16,
231
+ className: "hint__icon outlined"
232
+ }),
233
+ variant === 'filled' && /*#__PURE__*/ (0, _jsxruntime.jsx)(_CustomIcons.HelpCircleFilled, {
234
+ className: "hint__icon filled"
235
+ }),
236
+ variant === 'warning' && /*#__PURE__*/ (0, _jsxruntime.jsx)(_reactfeather.AlertTriangle, {
237
+ className: "hint__icon",
238
+ color: "#F06D8D",
239
+ width: 16,
240
+ height: 16
241
+ })
242
+ ]
243
+ }),
244
+ label && /*#__PURE__*/ (0, _jsxruntime.jsx)("span", {
245
+ className: (0, _classnames.default)('hint__label', {
246
+ 'color--primary': isOpen
247
+ }),
248
+ children: (0, _utils.capitalized)(label)
249
+ })
250
+ ]
251
+ }),
252
+ isOpen && renderHintContainer(className)
253
+ ]
254
+ });
212
255
  };
213
- var _default = exports.default = Hint;
256
+ const _default = Hint;
@@ -81,6 +81,7 @@
81
81
  &_centeredBottom {
82
82
  top: 26px;
83
83
  left: 50%;
84
+
84
85
  transform: translateX(-50%);
85
86
 
86
87
  &::before {
@@ -104,11 +105,11 @@
104
105
 
105
106
  &_left {
106
107
  top: -4px;
107
-
108
+ right: calc(100% + 8px);
109
+
108
110
  // ToDo - есть вероятность поломки позиционирования хинтов. Если сломается - откатить
109
111
  // right: 28px;
110
112
  left: unset;
111
- right: calc(100% + 8px);
112
113
 
113
114
  &::before {
114
115
  top: 8px;
@@ -129,6 +130,7 @@
129
130
  &_centeredTop {
130
131
  bottom: 8px;
131
132
  left: 50%;
133
+
132
134
  transform: translateX(-50%);
133
135
 
134
136
  &::before {
@@ -17,7 +17,7 @@ _export(exports, {
17
17
  }
18
18
  });
19
19
  const _jsxruntime = require("react/jsx-runtime");
20
- const _react = /*#__PURE__*/ _interop_require_default(require("react"));
20
+ const _Button = /*#__PURE__*/ _interop_require_default(require("../Button/Button"));
21
21
  const _Hint = /*#__PURE__*/ _interop_require_default(require("./Hint"));
22
22
  require("../../../../../scss/main.scss");
23
23
  function _interop_require_default(obj) {
@@ -25,7 +25,6 @@ function _interop_require_default(obj) {
25
25
  default: obj
26
26
  };
27
27
  }
28
- global.lng = 'en';
29
28
  const _default = {
30
29
  title: 'UI/Hint',
31
30
  component: _Hint.default,
@@ -60,7 +59,7 @@ const _default = {
60
59
  }
61
60
  },
62
61
  handleOpenType: {
63
- description: "string: 'click' or 'hover'.\n\nan action that will open and close the hint.",
62
+ description: 'string: \'click\' or \'hover\'.\n\nan action that will open and close the hint.',
64
63
  control: {
65
64
  type: 'select',
66
65
  options: [
@@ -71,7 +70,7 @@ const _default = {
71
70
  }
72
71
  }
73
72
  };
74
- const Template = (args)=>{
73
+ function Template(args) {
75
74
  return /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, {
76
75
  children: [
77
76
  /*#__PURE__*/ (0, _jsxruntime.jsx)(_Hint.default, {
@@ -89,10 +88,16 @@ const Template = (args)=>{
89
88
  /*#__PURE__*/ (0, _jsxruntime.jsx)(_Hint.default, {
90
89
  ...args,
91
90
  side: "right"
91
+ }),
92
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_Hint.default, {
93
+ isCloseOnChildrenClick: true,
94
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_Button.default, {
95
+ children: "Hello"
96
+ })
92
97
  })
93
98
  ]
94
99
  });
95
- };
100
+ }
96
101
  const HintTemplate = Template.bind({});
97
102
  HintTemplate.args = {
98
103
  hint: ' hint text hint text hint text hint text hint text hint text hint text hint text',
@@ -0,0 +1,96 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ const _jsxruntime = require("react/jsx-runtime");
6
+ const _react = require("@testing-library/react");
7
+ const _Hint = /*#__PURE__*/ _interop_require_default(require("./Hint"));
8
+ function _interop_require_default(obj) {
9
+ return obj && obj.__esModule ? obj : {
10
+ default: obj
11
+ };
12
+ }
13
+ describe('Hint component', ()=>{
14
+ it('renders without crashing', ()=>{
15
+ const { getByTestId } = (0, _react.render)(/*#__PURE__*/ (0, _jsxruntime.jsx)(_Hint.default, {}));
16
+ expect(getByTestId('hint')).toBeInTheDocument();
17
+ });
18
+ // it('renders with default props', () => {
19
+ // const { getByTestId } = render(<Hint />);
20
+ // const hint = getByTestId('hint');
21
+ // expect(hint).toBeInTheDocument();
22
+ // expect(hint).toHaveClass('hint__text hint__text_right');
23
+ // // expect(screen.getByText('Test Alert')).toBeInTheDocument();
24
+ // });
25
+ // it('renders with a custom variant', () => {
26
+ // render(<ActionAlert message="Warning!" variant="warning" />);
27
+ // const alert = screen.getByTestId('alert');
28
+ // expect(alert).toHaveClass('action-alert--warning');
29
+ // });
30
+ // it('renders with date', () => {
31
+ // render(<ActionAlert message="With Date" date="2024-12-30" />);
32
+ // const dateElement = screen.getByText('2024-12-30');
33
+ // expect(dateElement).toBeInTheDocument();
34
+ // expect(dateElement).toHaveClass('action-alert__time');
35
+ // });
36
+ // it('renders with buttons', () => {
37
+ // render(<ActionAlert buttons={mockButtons} />);
38
+ // const buttons = screen.getAllByRole('button');
39
+ // expect(buttons).toHaveLength(mockButtons.length);
40
+ // mockButtons.forEach((btn) => {
41
+ // expect(screen.getByText(btn.buttonLabel)).toBeInTheDocument();
42
+ // });
43
+ // });
44
+ // it('calls button onClick handlers', () => {
45
+ // render(<ActionAlert buttons={mockButtons} />);
46
+ // const buttons = screen.getAllByRole('button');
47
+ // fireEvent.click(buttons[0]);
48
+ // fireEvent.click(buttons[1]);
49
+ // expect(mockButtons[0].onClick).toHaveBeenCalledTimes(1);
50
+ // expect(mockButtons[1].onClick).toHaveBeenCalledTimes(1);
51
+ // });
52
+ // it('does not render buttons when noButtons is true', () => {
53
+ // render(<ActionAlert noButtons buttons={mockButtons} />);
54
+ // const buttons = screen.queryAllByRole('button');
55
+ // expect(buttons).toHaveLength(0);
56
+ // });
57
+ // it('renders children when message is not provided', () => {
58
+ // render(
59
+ // <ActionAlert>
60
+ // <span>Custom Content</span>
61
+ // </ActionAlert>,
62
+ // );
63
+ // const customContent = screen.getByText('Custom Content');
64
+ // expect(customContent).toBeInTheDocument();
65
+ // });
66
+ // it('applies additional className to the root element', () => {
67
+ // render(<ActionAlert className="custom-class" />);
68
+ // const alert = screen.getByTestId('alert');
69
+ // expect(alert).toHaveClass('custom-class');
70
+ // });
71
+ // it('applies buttonsClassName to the buttons container', () => {
72
+ // render(<ActionAlert buttons={mockButtons} buttonsClassName="buttons-custom-class" />);
73
+ // const buttonsContainer = screen.getByTestId('alert').querySelector('.buttons-custom-class');
74
+ // expect(buttonsContainer).toBeInTheDocument();
75
+ // });
76
+ // it('renders correctly with no props', () => {
77
+ // render(<ActionAlert />);
78
+ // const alert = screen.getByTestId('alert');
79
+ // expect(alert).toBeInTheDocument();
80
+ // expect(alert).toHaveClass('action-alert--default');
81
+ // });
82
+ // it('handles missing buttons gracefully', () => {
83
+ // render(<ActionAlert noButtons />);
84
+ // const buttons = screen.queryAllByRole('button');
85
+ // expect(buttons).toHaveLength(0);
86
+ // });
87
+ // it('handles long messages with children and ellipsis', () => {
88
+ // render(
89
+ // <ActionAlert>
90
+ // <span className="text-ellipsis">This is a very long custom content that should be truncated.</span>
91
+ // </ActionAlert>,
92
+ // );
93
+ // const text = screen.getByText('This is a very long custom content that should be truncated.');
94
+ // expect(text).toHaveClass('text-ellipsis');
95
+ // });
96
+ });
@@ -5,12 +5,13 @@ Object.defineProperty(exports, "__esModule", {
5
5
  Object.defineProperty(exports, "default", {
6
6
  enumerable: true,
7
7
  get: function() {
8
- return _Hint.default;
8
+ return _default;
9
9
  }
10
10
  });
11
- const _Hint = /*#__PURE__*/ _interop_require_default(require("./Hint.js"));
11
+ const _Hint = /*#__PURE__*/ _interop_require_default(require("./Hint"));
12
12
  function _interop_require_default(obj) {
13
13
  return obj && obj.__esModule ? obj : {
14
14
  default: obj
15
15
  };
16
16
  }
17
+ const _default = _Hint.default;