@skbkontur/react-ui 3.12.0 → 3.12.3-popup-fix

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 (821) hide show
  1. package/CHANGELOG.md +34 -0
  2. package/cjs/components/Autocomplete/Autocomplete.d.ts +113 -113
  3. package/cjs/components/Autocomplete/index.d.ts +1 -1
  4. package/cjs/components/Button/Button.d.ts +161 -161
  5. package/cjs/components/Button/Button.mixins.d.ts +6 -6
  6. package/cjs/components/Button/Button.styles.d.ts +68 -68
  7. package/cjs/components/Button/Corners.d.ts +6 -6
  8. package/cjs/components/Button/index.d.ts +1 -1
  9. package/cjs/components/Center/Center.d.ts +25 -25
  10. package/cjs/components/Center/Center.styles.d.ts +7 -7
  11. package/cjs/components/Center/index.d.ts +1 -1
  12. package/cjs/components/Checkbox/Checkbox.d.ts +96 -96
  13. package/cjs/components/Checkbox/Checkbox.styles.d.ts +22 -22
  14. package/cjs/components/Checkbox/index.d.ts +1 -1
  15. package/cjs/components/ComboBox/ComboBox.d.ts +184 -184
  16. package/cjs/components/ComboBox/index.d.ts +1 -1
  17. package/cjs/components/CurrencyInput/CurrencyHelper.d.ts +35 -35
  18. package/cjs/components/CurrencyInput/CurrencyInput.d.ts +106 -106
  19. package/cjs/components/CurrencyInput/CurrencyInputHelper.d.ts +20 -20
  20. package/cjs/components/CurrencyInput/CurrencyInputKeyboardActions.d.ts +18 -18
  21. package/cjs/components/CurrencyInput/CursorHelper.d.ts +10 -10
  22. package/cjs/components/CurrencyInput/SelectionHelper.d.ts +11 -11
  23. package/cjs/components/CurrencyInput/constants.d.ts +2 -2
  24. package/cjs/components/CurrencyInput/index.d.ts +1 -1
  25. package/cjs/components/CurrencyLabel/CurrencyLabel.d.ts +24 -24
  26. package/cjs/components/CurrencyLabel/index.d.ts +1 -1
  27. package/cjs/components/DateInput/DateFragmentsView.d.ts +20 -20
  28. package/cjs/components/DateInput/DateFragmentsView.styles.d.ts +7 -7
  29. package/cjs/components/DateInput/DateInput.d.ts +107 -107
  30. package/cjs/components/DateInput/DateInput.styles.d.ts +10 -10
  31. package/cjs/components/DateInput/ViewDateInputValidateChecks.d.ts +10 -10
  32. package/cjs/components/DateInput/helpers/DateInputKeyboardActions.d.ts +21 -21
  33. package/cjs/components/DateInput/helpers/InternalDateMediator.d.ts +26 -26
  34. package/cjs/components/DateInput/helpers/SelectionHelpers.d.ts +2 -2
  35. package/cjs/components/DateInput/helpers/inputNumber.d.ts +5 -5
  36. package/cjs/components/DateInput/index.d.ts +1 -1
  37. package/cjs/components/DatePicker/DatePicker.d.ts +131 -134
  38. package/cjs/components/DatePicker/DatePicker.js +14 -9
  39. package/cjs/components/DatePicker/DatePicker.js.map +1 -1
  40. package/cjs/components/DatePicker/DatePicker.styles.d.ts +3 -3
  41. package/cjs/components/DatePicker/DatePickerHelpers.d.ts +2 -2
  42. package/cjs/components/DatePicker/Picker.d.ts +33 -33
  43. package/cjs/components/DatePicker/Picker.styles.d.ts +5 -5
  44. package/cjs/components/DatePicker/index.d.ts +1 -1
  45. package/cjs/components/DatePicker/locale/index.d.ts +4 -4
  46. package/cjs/components/DatePicker/locale/locales/en.d.ts +2 -2
  47. package/cjs/components/DatePicker/locale/locales/ru.d.ts +2 -2
  48. package/cjs/components/DatePicker/locale/types.d.ts +5 -5
  49. package/cjs/components/Dropdown/Dropdown.d.ts +124 -124
  50. package/cjs/components/Dropdown/index.d.ts +1 -1
  51. package/cjs/components/DropdownMenu/DropdownMenu.d.ts +65 -65
  52. package/cjs/components/DropdownMenu/index.d.ts +1 -1
  53. package/cjs/components/FxInput/FxInput.d.ts +50 -50
  54. package/cjs/components/FxInput/index.d.ts +1 -1
  55. package/cjs/components/Gapped/Gapped.d.ts +58 -58
  56. package/cjs/components/Gapped/index.d.ts +1 -1
  57. package/cjs/components/Group/Group.d.ts +14 -14
  58. package/cjs/components/Group/Group.styles.d.ts +8 -8
  59. package/cjs/components/Group/index.d.ts +1 -1
  60. package/cjs/components/Hint/Hint.d.ts +85 -81
  61. package/cjs/components/Hint/Hint.js +9 -1
  62. package/cjs/components/Hint/Hint.js.map +1 -1
  63. package/cjs/components/Hint/Hint.styles.d.ts +5 -5
  64. package/cjs/components/Hint/index.d.ts +1 -1
  65. package/cjs/components/Input/Input.d.ts +157 -157
  66. package/cjs/components/Input/Input.styles.d.ts +42 -42
  67. package/cjs/components/Input/index.d.ts +1 -1
  68. package/cjs/components/Kebab/Kebab.d.ts +71 -71
  69. package/cjs/components/Kebab/Kebab.styles.d.ts +12 -12
  70. package/cjs/components/Kebab/index.d.ts +1 -1
  71. package/cjs/components/Link/Link.d.ts +72 -72
  72. package/cjs/components/Link/Link.mixins.d.ts +3 -3
  73. package/cjs/components/Link/Link.styles.d.ts +15 -15
  74. package/cjs/components/Link/index.d.ts +1 -1
  75. package/cjs/components/Loader/Loader.d.ts +100 -100
  76. package/cjs/components/Loader/Loader.styles.d.ts +8 -8
  77. package/cjs/components/Loader/index.d.ts +1 -1
  78. package/cjs/components/MenuHeader/MenuHeader.d.ts +20 -20
  79. package/cjs/components/MenuHeader/MenuHeader.styles.d.ts +5 -5
  80. package/cjs/components/MenuHeader/index.d.ts +1 -1
  81. package/cjs/components/MenuItem/MenuItem.d.ts +94 -94
  82. package/cjs/components/MenuItem/MenuItem.styles.d.ts +13 -13
  83. package/cjs/components/MenuItem/index.d.ts +1 -1
  84. package/cjs/components/MenuSeparator/MenuSeparator.d.ts +12 -12
  85. package/cjs/components/MenuSeparator/MenuSeparator.styles.d.ts +4 -4
  86. package/cjs/components/MenuSeparator/index.d.ts +1 -1
  87. package/cjs/components/Modal/Modal.d.ts +87 -87
  88. package/cjs/components/Modal/Modal.styles.d.ts +26 -26
  89. package/cjs/components/Modal/ModalBody.d.ts +21 -21
  90. package/cjs/components/Modal/ModalClose.d.ts +2 -2
  91. package/cjs/components/Modal/ModalContext.d.ts +15 -15
  92. package/cjs/components/Modal/ModalFooter.d.ts +21 -21
  93. package/cjs/components/Modal/ModalHeader.d.ts +17 -17
  94. package/cjs/components/Modal/index.d.ts +4 -4
  95. package/cjs/components/Paging/NavigationHelper.d.ts +7 -7
  96. package/cjs/components/Paging/Paging.d.ts +90 -90
  97. package/cjs/components/Paging/Paging.styles.d.ts +16 -16
  98. package/cjs/components/Paging/PagingHelper.d.ts +2 -2
  99. package/cjs/components/Paging/index.d.ts +1 -1
  100. package/cjs/components/Paging/locale/index.d.ts +4 -4
  101. package/cjs/components/Paging/locale/locales/en.d.ts +2 -2
  102. package/cjs/components/Paging/locale/locales/ru.d.ts +2 -2
  103. package/cjs/components/Paging/locale/types.d.ts +3 -3
  104. package/cjs/components/PasswordInput/PasswordInput.d.ts +49 -49
  105. package/cjs/components/PasswordInput/PasswordInput.styles.d.ts +10 -10
  106. package/cjs/components/PasswordInput/index.d.ts +1 -1
  107. package/cjs/components/Radio/Radio.d.ts +77 -77
  108. package/cjs/components/Radio/Radio.styles.d.ts +19 -19
  109. package/cjs/components/Radio/index.d.ts +1 -1
  110. package/cjs/components/RadioGroup/Prevent.d.ts +8 -8
  111. package/cjs/components/RadioGroup/RadioGroup.d.ts +117 -117
  112. package/cjs/components/RadioGroup/RadioGroup.styles.d.ts +7 -7
  113. package/cjs/components/RadioGroup/RadioGroupContext.d.ts +10 -10
  114. package/cjs/components/RadioGroup/index.d.ts +1 -1
  115. package/cjs/components/ScrollContainer/ScrollBar.d.ts +37 -37
  116. package/cjs/components/ScrollContainer/ScrollContainer.constants.d.ts +23 -23
  117. package/cjs/components/ScrollContainer/ScrollContainer.d.ts +84 -84
  118. package/cjs/components/ScrollContainer/ScrollContainer.helpers.d.ts +10 -10
  119. package/cjs/components/ScrollContainer/ScrollContainer.styles.d.ts +17 -17
  120. package/cjs/components/ScrollContainer/index.d.ts +1 -1
  121. package/cjs/components/Select/Item.d.ts +7 -7
  122. package/cjs/components/Select/Select.d.ts +179 -179
  123. package/cjs/components/Select/Select.styles.d.ts +17 -17
  124. package/cjs/components/Select/index.d.ts +1 -1
  125. package/cjs/components/Select/locale/index.d.ts +4 -4
  126. package/cjs/components/Select/locale/locales/en.d.ts +2 -2
  127. package/cjs/components/Select/locale/locales/ru.d.ts +2 -2
  128. package/cjs/components/Select/locale/types.d.ts +4 -4
  129. package/cjs/components/Select/selectTheme.d.ts +3 -3
  130. package/cjs/components/SidePage/SidePage.d.ts +109 -109
  131. package/cjs/components/SidePage/SidePage.styles.d.ts +37 -37
  132. package/cjs/components/SidePage/SidePageBody.d.ts +19 -19
  133. package/cjs/components/SidePage/SidePageContainer.d.ts +15 -15
  134. package/cjs/components/SidePage/SidePageContext.d.ts +17 -17
  135. package/cjs/components/SidePage/SidePageFooter.d.ts +36 -36
  136. package/cjs/components/SidePage/SidePageHeader.d.ts +44 -44
  137. package/cjs/components/SidePage/index.d.ts +5 -5
  138. package/cjs/components/Spinner/Spinner.d.ts +56 -56
  139. package/cjs/components/Spinner/Spinner.styles.d.ts +12 -12
  140. package/cjs/components/Spinner/SpinnerFallbackAnimation.d.ts +25 -25
  141. package/cjs/components/Spinner/index.d.ts +1 -1
  142. package/cjs/components/Spinner/locale/index.d.ts +4 -4
  143. package/cjs/components/Spinner/locale/locales/en.d.ts +2 -2
  144. package/cjs/components/Spinner/locale/locales/ru.d.ts +2 -2
  145. package/cjs/components/Spinner/locale/types.d.ts +4 -4
  146. package/cjs/components/Sticky/Sticky.d.ts +59 -59
  147. package/cjs/components/Sticky/Sticky.styles.d.ts +7 -7
  148. package/cjs/components/Sticky/index.d.ts +1 -1
  149. package/cjs/components/Switcher/Switcher.d.ts +56 -56
  150. package/cjs/components/Switcher/Switcher.styles.d.ts +10 -10
  151. package/cjs/components/Switcher/index.d.ts +1 -1
  152. package/cjs/components/Switcher/switcherTheme.d.ts +2 -2
  153. package/cjs/components/Tabs/Indicator.d.ts +28 -28
  154. package/cjs/components/Tabs/Indicator.styles.d.ts +8 -8
  155. package/cjs/components/Tabs/Tab.d.ts +121 -121
  156. package/cjs/components/Tabs/Tab.styles.d.ts +27 -27
  157. package/cjs/components/Tabs/Tabs.d.ts +62 -62
  158. package/cjs/components/Tabs/Tabs.styles.d.ts +5 -5
  159. package/cjs/components/Tabs/TabsContext.d.ts +14 -14
  160. package/cjs/components/Tabs/index.d.ts +2 -2
  161. package/cjs/components/Textarea/Textarea.d.ts +185 -185
  162. package/cjs/components/Textarea/Textarea.styles.d.ts +15 -15
  163. package/cjs/components/Textarea/TextareaCounter.d.ts +13 -13
  164. package/cjs/components/Textarea/TextareaHelpers.d.ts +11 -11
  165. package/cjs/components/Textarea/index.d.ts +1 -1
  166. package/cjs/components/Toast/Toast.d.ts +58 -58
  167. package/cjs/components/Toast/Toast.styles.d.ts +6 -6
  168. package/cjs/components/Toast/ToastStatic.d.ts +8 -8
  169. package/cjs/components/Toast/ToastView.d.ts +38 -38
  170. package/cjs/components/Toast/ToastView.styles.d.ts +8 -8
  171. package/cjs/components/Toast/index.d.ts +1 -1
  172. package/cjs/components/Toggle/Toggle.d.ts +107 -107
  173. package/cjs/components/Toggle/Toggle.styles.d.ts +30 -30
  174. package/cjs/components/Toggle/index.d.ts +1 -1
  175. package/cjs/components/Token/Token.d.ts +36 -36
  176. package/cjs/components/Token/Token.styles.d.ts +29 -29
  177. package/cjs/components/Token/index.d.ts +1 -1
  178. package/cjs/components/TokenInput/TextWidthHelper.d.ts +18 -18
  179. package/cjs/components/TokenInput/TokenInput.d.ts +194 -194
  180. package/cjs/components/TokenInput/TokenInput.styles.d.ts +15 -15
  181. package/cjs/components/TokenInput/TokenInputMenu.d.ts +18 -18
  182. package/cjs/components/TokenInput/TokenInputReducer.d.ts +25 -25
  183. package/cjs/components/TokenInput/index.d.ts +1 -1
  184. package/cjs/components/TokenInput/locale/index.d.ts +4 -4
  185. package/cjs/components/TokenInput/locale/locales/en.d.ts +2 -2
  186. package/cjs/components/TokenInput/locale/locales/ru.d.ts +2 -2
  187. package/cjs/components/TokenInput/locale/types.d.ts +4 -4
  188. package/cjs/components/Tooltip/Tooltip.d.ts +162 -160
  189. package/cjs/components/Tooltip/Tooltip.js +10 -7
  190. package/cjs/components/Tooltip/Tooltip.js.map +1 -1
  191. package/cjs/components/Tooltip/Tooltip.md +1 -1
  192. package/cjs/components/Tooltip/Tooltip.styles.d.ts +5 -5
  193. package/cjs/components/Tooltip/index.d.ts +1 -1
  194. package/cjs/components/TooltipMenu/TooltipMenu.d.ts +65 -65
  195. package/cjs/components/TooltipMenu/index.d.ts +1 -1
  196. package/cjs/index.d.ts +49 -49
  197. package/cjs/internal/BGRuler.d.ts +30 -30
  198. package/cjs/internal/Calendar/Calendar.d.ts +66 -66
  199. package/cjs/internal/Calendar/Calendar.styles.d.ts +5 -5
  200. package/cjs/internal/Calendar/CalendarDateShape.d.ts +14 -14
  201. package/cjs/internal/Calendar/CalendarScrollEvents.d.ts +4 -4
  202. package/cjs/internal/Calendar/CalendarUtils.d.ts +19 -19
  203. package/cjs/internal/Calendar/DayCellView.d.ts +13 -13
  204. package/cjs/internal/Calendar/DayCellView.styles.d.ts +7 -7
  205. package/cjs/internal/Calendar/DayCellViewModel.d.ts +8 -8
  206. package/cjs/internal/Calendar/Month.d.ts +33 -33
  207. package/cjs/internal/Calendar/MonthView.d.ts +21 -21
  208. package/cjs/internal/Calendar/MonthView.styles.d.ts +9 -9
  209. package/cjs/internal/Calendar/MonthViewModel.d.ts +14 -14
  210. package/cjs/internal/Calendar/config.d.ts +9 -9
  211. package/cjs/internal/Calendar/index.d.ts +2 -2
  212. package/cjs/internal/CommonWrapper/CommonWrapper.d.ts +32 -31
  213. package/cjs/internal/CommonWrapper/CommonWrapper.js +17 -3
  214. package/cjs/internal/CommonWrapper/CommonWrapper.js.map +1 -1
  215. package/cjs/internal/CommonWrapper/index.d.ts +1 -1
  216. package/cjs/internal/ComponentCombinator.d.ts +25 -25
  217. package/cjs/internal/ComponentTable.d.ts +21 -21
  218. package/cjs/internal/CustomComboBox/ComboBoxMenu.d.ts +31 -31
  219. package/cjs/internal/CustomComboBox/ComboBoxView.d.ts +90 -90
  220. package/cjs/internal/CustomComboBox/CustomComboBox.d.ts +136 -136
  221. package/cjs/internal/CustomComboBox/CustomComboBox.styles.d.ts +5 -5
  222. package/cjs/internal/CustomComboBox/CustomComboBoxReducer.d.ts +71 -71
  223. package/cjs/internal/CustomComboBox/CustomComboBoxTypes.d.ts +6 -6
  224. package/cjs/internal/CustomComboBox/index.d.ts +2 -2
  225. package/cjs/internal/CustomComboBox/locale/index.d.ts +4 -4
  226. package/cjs/internal/CustomComboBox/locale/locales/en.d.ts +2 -2
  227. package/cjs/internal/CustomComboBox/locale/locales/ru.d.ts +2 -2
  228. package/cjs/internal/CustomComboBox/locale/types.d.ts +5 -5
  229. package/cjs/internal/DateSelect/DateSelect.d.ts +93 -93
  230. package/cjs/internal/DateSelect/DateSelect.styles.d.ts +19 -19
  231. package/cjs/internal/DateSelect/index.d.ts +1 -1
  232. package/cjs/internal/DropdownContainer/DropdownContainer.d.ts +44 -44
  233. package/cjs/internal/DropdownContainer/DropdownContainer.js +15 -13
  234. package/cjs/internal/DropdownContainer/DropdownContainer.js.map +1 -1
  235. package/cjs/internal/DropdownContainer/DropdownContainer.styles.d.ts +3 -3
  236. package/cjs/internal/DropdownContainer/index.d.ts +1 -1
  237. package/cjs/internal/FocusTrap/FocusTrap.d.ts +17 -17
  238. package/cjs/internal/FocusTrap/index.d.ts +1 -1
  239. package/cjs/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.d.ts +14 -14
  240. package/cjs/internal/HideBodyVerticalScroll/index.d.ts +1 -1
  241. package/cjs/internal/IgnoreLayerClick/IgnoreLayerClick.d.ts +8 -8
  242. package/cjs/internal/IgnoreLayerClick/index.d.ts +1 -1
  243. package/cjs/internal/InputLikeText/HiddenInput.d.ts +13 -13
  244. package/cjs/internal/InputLikeText/InputLikeText.d.ts +73 -73
  245. package/cjs/internal/InputLikeText/InputLikeText.styles.d.ts +7 -7
  246. package/cjs/internal/InputLikeText/index.d.ts +1 -1
  247. package/cjs/internal/InternalMenu/InternalMenu.d.ts +63 -63
  248. package/cjs/internal/InternalMenu/InternalMenu.styles.d.ts +9 -9
  249. package/cjs/internal/InternalMenu/index.d.ts +1 -1
  250. package/cjs/internal/InternalMenu/isActiveElement.d.ts +3 -3
  251. package/cjs/internal/MaskCharLowLine/MaskCharLowLine.d.ts +9 -9
  252. package/cjs/internal/MaskCharLowLine/MaskCharLowLine.styles.d.ts +3 -3
  253. package/cjs/internal/MaskCharLowLine/index.d.ts +1 -1
  254. package/cjs/internal/MaskedInput/MaskedInput.d.ts +40 -40
  255. package/cjs/internal/MaskedInput/MaskedInput.styles.d.ts +6 -6
  256. package/cjs/internal/MaskedInput/index.d.ts +1 -1
  257. package/cjs/internal/Menu/Menu.d.ts +65 -65
  258. package/cjs/internal/Menu/Menu.styles.d.ts +9 -9
  259. package/cjs/internal/Menu/index.d.ts +1 -1
  260. package/cjs/internal/Menu/isActiveElement.d.ts +3 -3
  261. package/cjs/internal/NativeDateInput/NativeDateInput.d.ts +23 -23
  262. package/cjs/internal/NativeDateInput/NativeDateInput.styles.d.ts +3 -3
  263. package/cjs/internal/NativeDateInput/index.d.ts +1 -1
  264. package/cjs/internal/NativeDateInput/utils.d.ts +7 -7
  265. package/cjs/internal/PerformanceMetrics/PerformanceMetrics.d.ts +7 -7
  266. package/cjs/internal/Popup/Popup.d.ts +161 -162
  267. package/cjs/internal/Popup/Popup.js +14 -11
  268. package/cjs/internal/Popup/Popup.js.map +1 -1
  269. package/cjs/internal/Popup/Popup.styles.d.ts +16 -16
  270. package/cjs/internal/Popup/PopupHelper.d.ts +26 -26
  271. package/cjs/internal/Popup/PopupPin.d.ts +56 -56
  272. package/cjs/internal/Popup/PopupPin.styles.d.ts +3 -3
  273. package/cjs/internal/Popup/index.d.ts +1 -1
  274. package/cjs/internal/Popup/types.d.ts +1 -1
  275. package/cjs/internal/PopupMenu/PopupMenu.d.ts +85 -85
  276. package/cjs/internal/PopupMenu/PopupMenu.styles.d.ts +4 -4
  277. package/cjs/internal/PopupMenu/index.d.ts +1 -1
  278. package/cjs/internal/PopupMenu/validatePositions.d.ts +2 -2
  279. package/cjs/internal/RenderContainer/RenderContainer.d.ts +16 -16
  280. package/cjs/internal/RenderContainer/RenderContainer.js +9 -0
  281. package/cjs/internal/RenderContainer/RenderContainer.js.map +1 -1
  282. package/cjs/internal/RenderContainer/RenderContainerTypes.d.ts +12 -11
  283. package/cjs/internal/RenderContainer/RenderInnerContainer.d.ts +13 -13
  284. package/cjs/internal/RenderContainer/index.d.ts +1 -1
  285. package/cjs/internal/RenderLayer/RenderLayer.d.ts +29 -29
  286. package/cjs/internal/RenderLayer/index.d.ts +1 -1
  287. package/cjs/internal/ResizeDetector/ResizeDetector.d.ts +12 -12
  288. package/cjs/internal/ResizeDetector/ResizeDetector.styles.d.ts +5 -5
  289. package/cjs/internal/ResizeDetector/index.d.ts +1 -1
  290. package/cjs/internal/ThemePlayground/AnotherInputsPlayground.d.ts +13 -13
  291. package/cjs/internal/ThemePlayground/CheckboxPlayground.d.ts +1 -1
  292. package/cjs/internal/ThemePlayground/ComponentsGroup.d.ts +10 -10
  293. package/cjs/internal/ThemePlayground/CurrencyInputPlayground.d.ts +11 -11
  294. package/cjs/internal/ThemePlayground/FxInputPlayground.d.ts +10 -10
  295. package/cjs/internal/ThemePlayground/HintPlayground.d.ts +6 -6
  296. package/cjs/internal/ThemePlayground/PagingPlayground.d.ts +10 -10
  297. package/cjs/internal/ThemePlayground/Playground.d.ts +31 -31
  298. package/cjs/internal/ThemePlayground/Playground.styles.d.ts +23 -23
  299. package/cjs/internal/ThemePlayground/RadioPlayground.d.ts +1 -1
  300. package/cjs/internal/ThemePlayground/SelectPlayground.d.ts +12 -12
  301. package/cjs/internal/ThemePlayground/ShowcaseGroup.d.ts +5 -5
  302. package/cjs/internal/ThemePlayground/SwitcherPlayground.d.ts +15 -15
  303. package/cjs/internal/ThemePlayground/ThemeContextPlayground.d.ts +51 -51
  304. package/cjs/internal/ThemePlayground/ThemeEditor.d.ts +39 -39
  305. package/cjs/internal/ThemePlayground/TogglePlayground.d.ts +9 -9
  306. package/cjs/internal/ThemePlayground/TokenInputPlayground.d.ts +7 -7
  307. package/cjs/internal/ThemePlayground/VariableValue.d.ts +45 -45
  308. package/cjs/internal/ThemePlayground/constants.d.ts +18 -18
  309. package/cjs/internal/ThemePlayground/darkTheme.d.ts +255 -255
  310. package/cjs/internal/ThemePlayground/helpers.d.ts +2 -2
  311. package/cjs/internal/ThemeShowcase/ThemeShowcase.d.ts +22 -22
  312. package/cjs/internal/ThemeShowcase/ThemeShowcase.styles.d.ts +24 -24
  313. package/cjs/internal/ThemeShowcase/VariablesCollector.d.ts +22 -22
  314. package/cjs/internal/ZIndex/ZIndex.d.ts +36 -36
  315. package/cjs/internal/ZIndex/ZIndexStorage.d.ts +18 -18
  316. package/cjs/internal/ZIndex/index.d.ts +1 -1
  317. package/cjs/internal/icons/16px/icon.styles.d.ts +4 -4
  318. package/cjs/internal/icons/16px/index.d.ts +22 -22
  319. package/cjs/internal/icons/20px/Icon.d.ts +30 -30
  320. package/cjs/internal/icons/20px/icon.styles.d.ts +4 -4
  321. package/cjs/internal/icons/20px/index.d.ts +2 -2
  322. package/cjs/internal/icons/20px/svg.d.ts +14 -14
  323. package/cjs/internal/icons/CloudIcon.d.ts +1 -1
  324. package/cjs/internal/icons/CrossIcon.d.ts +1 -1
  325. package/cjs/internal/icons/SpinnerIcon.d.ts +26 -26
  326. package/cjs/internal/icons/SpinnerIcon.styles.d.ts +4 -4
  327. package/cjs/internal/themes/DefaultTheme.d.ts +766 -766
  328. package/cjs/internal/themes/FlatTheme.d.ts +132 -132
  329. package/cjs/internal/themes/Theme8px.d.ts +271 -271
  330. package/cjs/lib/ConditionalHandler.d.ts +11 -11
  331. package/cjs/lib/InstanceWithAnchorElement.d.ts +5 -0
  332. package/cjs/lib/InstanceWithAnchorElement.js +9 -0
  333. package/cjs/lib/InstanceWithAnchorElement.js.map +1 -0
  334. package/cjs/lib/LayoutEvents.d.ts +4 -4
  335. package/cjs/lib/ModalStack.d.ts +14 -14
  336. package/cjs/lib/SSRSafe.d.ts +4 -4
  337. package/cjs/lib/Supports.d.ts +1 -1
  338. package/cjs/lib/Upgrades.d.ts +6 -6
  339. package/cjs/lib/animation/index.d.ts +6 -6
  340. package/cjs/lib/animation/presets.d.ts +18 -18
  341. package/cjs/lib/animation/stepper.d.ts +1 -1
  342. package/cjs/lib/callChildRef/callChildRef.d.ts +3 -3
  343. package/cjs/lib/client.d.ts +16 -16
  344. package/cjs/lib/createPropsGetter.d.ts +2 -2
  345. package/cjs/lib/currentEnvironment.d.ts +3 -3
  346. package/cjs/lib/date/InternalDate.d.ts +58 -58
  347. package/cjs/lib/date/InternalDateCalculator.d.ts +6 -6
  348. package/cjs/lib/date/InternalDateGetter.d.ts +15 -15
  349. package/cjs/lib/date/InternalDateSetter.d.ts +6 -6
  350. package/cjs/lib/date/InternalDateTransformer.d.ts +12 -12
  351. package/cjs/lib/date/InternalDateValidator.d.ts +12 -12
  352. package/cjs/lib/date/constants.d.ts +28 -28
  353. package/cjs/lib/date/localeSets.d.ts +5 -5
  354. package/cjs/lib/date/types.d.ts +90 -90
  355. package/cjs/lib/dom/getScrollWidth.d.ts +1 -1
  356. package/cjs/lib/dom/tabbableHelpers.d.ts +16 -16
  357. package/cjs/lib/events/MouseDrag.d.ts +58 -58
  358. package/cjs/lib/events/fixClickFocusIE.d.ts +1 -1
  359. package/cjs/lib/events/fixFirefoxModifiedClickOnLabel.d.ts +2 -2
  360. package/cjs/lib/events/keyListener.d.ts +7 -7
  361. package/cjs/lib/events/keyboard/KeyboardEventCodes.d.ts +30 -30
  362. package/cjs/lib/events/keyboard/KeyboardMapKeys.d.ts +6 -6
  363. package/cjs/lib/events/keyboard/extractCode.d.ts +3 -3
  364. package/cjs/lib/events/keyboard/identifiers.d.ts +48 -48
  365. package/cjs/lib/events/stopPropagation.d.ts +1 -1
  366. package/cjs/lib/events/tabListener.d.ts +1 -1
  367. package/cjs/lib/extractKeyboardAction.d.ts +13 -13
  368. package/cjs/lib/filterProps.d.ts +12 -12
  369. package/cjs/lib/forwardRefAndName.d.ts +5 -5
  370. package/cjs/lib/getDisplayName.d.ts +3 -3
  371. package/cjs/lib/listenFocusOutside.d.ts +8 -8
  372. package/cjs/lib/locale/LocaleContext.d.ts +7 -7
  373. package/cjs/lib/locale/LocaleHelper.d.ts +9 -9
  374. package/cjs/lib/locale/constants.d.ts +2 -2
  375. package/cjs/lib/locale/decorators.d.ts +36 -36
  376. package/cjs/lib/locale/index.d.ts +3 -3
  377. package/cjs/lib/locale/types.d.ts +19 -19
  378. package/cjs/lib/memo.d.ts +1 -1
  379. package/cjs/lib/net/fetch.d.ts +13 -13
  380. package/cjs/lib/polyfillPlaceholder.d.ts +1 -1
  381. package/cjs/lib/reactGetTextContent.d.ts +2 -2
  382. package/cjs/lib/rootNode/getRootNode.d.ts +3 -3
  383. package/cjs/lib/rootNode/getRootNode.js +5 -4
  384. package/cjs/lib/rootNode/getRootNode.js.map +1 -1
  385. package/cjs/lib/rootNode/index.d.ts +2 -2
  386. package/cjs/lib/rootNode/rootNodeDecorator.d.ts +47 -33
  387. package/cjs/lib/rootNode/rootNodeDecorator.js +39 -4
  388. package/cjs/lib/rootNode/rootNodeDecorator.js.map +1 -1
  389. package/cjs/lib/styles/ColorFactory.d.ts +11 -11
  390. package/cjs/lib/styles/ColorFunctions.d.ts +11 -11
  391. package/cjs/lib/styles/ColorHelpers.d.ts +20 -20
  392. package/cjs/lib/styles/ColorKeywords.d.ts +150 -150
  393. package/cjs/lib/styles/ColorObject.d.ts +52 -52
  394. package/cjs/lib/styles/DimensionFunctions.d.ts +1 -1
  395. package/cjs/lib/styles/HoldSelectionColor.d.ts +1 -1
  396. package/cjs/lib/styles/Mixins.d.ts +2 -2
  397. package/cjs/lib/taskWithDelayAndMinimalDuration.d.ts +21 -21
  398. package/cjs/lib/theming/AnimationKeyframes.d.ts +9 -9
  399. package/cjs/lib/theming/Emotion.d.ts +15 -15
  400. package/cjs/lib/theming/Theme.d.ts +3 -3
  401. package/cjs/lib/theming/ThemeContext.d.ts +2 -2
  402. package/cjs/lib/theming/ThemeFactory.d.ts +8 -8
  403. package/cjs/lib/theming/ThemeHelpers.d.ts +11 -11
  404. package/cjs/lib/theming/themes/DefaultTheme.d.ts +1 -1
  405. package/cjs/lib/theming/themes/DefaultThemeOld.d.ts +1 -1
  406. package/cjs/lib/theming/themes/FlatTheme.d.ts +1 -1
  407. package/cjs/lib/theming/themes/FlatThemeOld.d.ts +1 -1
  408. package/cjs/lib/theming/useTheme.d.ts +1 -1
  409. package/cjs/lib/utils.d.ts +63 -63
  410. package/cjs/lib/withClassWrapper.d.ts +71 -71
  411. package/components/Autocomplete/Autocomplete.d.ts +113 -113
  412. package/components/Autocomplete/index.d.ts +1 -1
  413. package/components/Button/Button.d.ts +161 -161
  414. package/components/Button/Button.mixins.d.ts +6 -6
  415. package/components/Button/Button.styles.d.ts +68 -68
  416. package/components/Button/Corners.d.ts +6 -6
  417. package/components/Button/index.d.ts +1 -1
  418. package/components/Center/Center.d.ts +25 -25
  419. package/components/Center/Center.styles.d.ts +7 -7
  420. package/components/Center/index.d.ts +1 -1
  421. package/components/Checkbox/Checkbox.d.ts +96 -96
  422. package/components/Checkbox/Checkbox.styles.d.ts +22 -22
  423. package/components/Checkbox/index.d.ts +1 -1
  424. package/components/ComboBox/ComboBox.d.ts +184 -184
  425. package/components/ComboBox/index.d.ts +1 -1
  426. package/components/CurrencyInput/CurrencyHelper.d.ts +35 -35
  427. package/components/CurrencyInput/CurrencyInput.d.ts +106 -106
  428. package/components/CurrencyInput/CurrencyInputHelper.d.ts +20 -20
  429. package/components/CurrencyInput/CurrencyInputKeyboardActions.d.ts +18 -18
  430. package/components/CurrencyInput/CursorHelper.d.ts +10 -10
  431. package/components/CurrencyInput/SelectionHelper.d.ts +11 -11
  432. package/components/CurrencyInput/constants.d.ts +2 -2
  433. package/components/CurrencyInput/index.d.ts +1 -1
  434. package/components/CurrencyLabel/CurrencyLabel.d.ts +24 -24
  435. package/components/CurrencyLabel/index.d.ts +1 -1
  436. package/components/DateInput/DateFragmentsView.d.ts +20 -20
  437. package/components/DateInput/DateFragmentsView.styles.d.ts +7 -7
  438. package/components/DateInput/DateInput.d.ts +107 -107
  439. package/components/DateInput/DateInput.styles.d.ts +10 -10
  440. package/components/DateInput/ViewDateInputValidateChecks.d.ts +10 -10
  441. package/components/DateInput/helpers/DateInputKeyboardActions.d.ts +21 -21
  442. package/components/DateInput/helpers/InternalDateMediator.d.ts +26 -26
  443. package/components/DateInput/helpers/SelectionHelpers.d.ts +2 -2
  444. package/components/DateInput/helpers/inputNumber.d.ts +5 -5
  445. package/components/DateInput/index.d.ts +1 -1
  446. package/components/DatePicker/DatePicker/DatePicker.js +19 -15
  447. package/components/DatePicker/DatePicker/DatePicker.js.map +1 -1
  448. package/components/DatePicker/DatePicker.d.ts +131 -134
  449. package/components/DatePicker/DatePicker.styles.d.ts +3 -3
  450. package/components/DatePicker/DatePickerHelpers.d.ts +2 -2
  451. package/components/DatePicker/Picker.d.ts +33 -33
  452. package/components/DatePicker/Picker.styles.d.ts +5 -5
  453. package/components/DatePicker/index.d.ts +1 -1
  454. package/components/DatePicker/locale/index.d.ts +4 -4
  455. package/components/DatePicker/locale/locales/en.d.ts +2 -2
  456. package/components/DatePicker/locale/locales/ru.d.ts +2 -2
  457. package/components/DatePicker/locale/types.d.ts +5 -5
  458. package/components/Dropdown/Dropdown.d.ts +124 -124
  459. package/components/Dropdown/index.d.ts +1 -1
  460. package/components/DropdownMenu/DropdownMenu.d.ts +65 -65
  461. package/components/DropdownMenu/index.d.ts +1 -1
  462. package/components/FxInput/FxInput.d.ts +50 -50
  463. package/components/FxInput/index.d.ts +1 -1
  464. package/components/Gapped/Gapped.d.ts +58 -58
  465. package/components/Gapped/index.d.ts +1 -1
  466. package/components/Group/Group.d.ts +14 -14
  467. package/components/Group/Group.styles.d.ts +8 -8
  468. package/components/Group/index.d.ts +1 -1
  469. package/components/Hint/Hint/Hint.js +9 -1
  470. package/components/Hint/Hint/Hint.js.map +1 -1
  471. package/components/Hint/Hint.d.ts +85 -81
  472. package/components/Hint/Hint.styles.d.ts +5 -5
  473. package/components/Hint/index.d.ts +1 -1
  474. package/components/Input/Input.d.ts +157 -157
  475. package/components/Input/Input.styles.d.ts +42 -42
  476. package/components/Input/index.d.ts +1 -1
  477. package/components/Kebab/Kebab.d.ts +71 -71
  478. package/components/Kebab/Kebab.styles.d.ts +12 -12
  479. package/components/Kebab/index.d.ts +1 -1
  480. package/components/Link/Link.d.ts +72 -72
  481. package/components/Link/Link.mixins.d.ts +3 -3
  482. package/components/Link/Link.styles.d.ts +15 -15
  483. package/components/Link/index.d.ts +1 -1
  484. package/components/Loader/Loader.d.ts +100 -100
  485. package/components/Loader/Loader.styles.d.ts +8 -8
  486. package/components/Loader/index.d.ts +1 -1
  487. package/components/MenuHeader/MenuHeader.d.ts +20 -20
  488. package/components/MenuHeader/MenuHeader.styles.d.ts +5 -5
  489. package/components/MenuHeader/index.d.ts +1 -1
  490. package/components/MenuItem/MenuItem.d.ts +94 -94
  491. package/components/MenuItem/MenuItem.styles.d.ts +13 -13
  492. package/components/MenuItem/index.d.ts +1 -1
  493. package/components/MenuSeparator/MenuSeparator.d.ts +12 -12
  494. package/components/MenuSeparator/MenuSeparator.styles.d.ts +4 -4
  495. package/components/MenuSeparator/index.d.ts +1 -1
  496. package/components/Modal/Modal.d.ts +87 -87
  497. package/components/Modal/Modal.styles.d.ts +26 -26
  498. package/components/Modal/ModalBody.d.ts +21 -21
  499. package/components/Modal/ModalClose.d.ts +2 -2
  500. package/components/Modal/ModalContext.d.ts +15 -15
  501. package/components/Modal/ModalFooter.d.ts +21 -21
  502. package/components/Modal/ModalHeader.d.ts +17 -17
  503. package/components/Modal/index.d.ts +4 -4
  504. package/components/Paging/NavigationHelper.d.ts +7 -7
  505. package/components/Paging/Paging.d.ts +90 -90
  506. package/components/Paging/Paging.styles.d.ts +16 -16
  507. package/components/Paging/PagingHelper.d.ts +2 -2
  508. package/components/Paging/index.d.ts +1 -1
  509. package/components/Paging/locale/index.d.ts +4 -4
  510. package/components/Paging/locale/locales/en.d.ts +2 -2
  511. package/components/Paging/locale/locales/ru.d.ts +2 -2
  512. package/components/Paging/locale/types.d.ts +3 -3
  513. package/components/PasswordInput/PasswordInput.d.ts +49 -49
  514. package/components/PasswordInput/PasswordInput.styles.d.ts +10 -10
  515. package/components/PasswordInput/index.d.ts +1 -1
  516. package/components/Radio/Radio.d.ts +77 -77
  517. package/components/Radio/Radio.styles.d.ts +19 -19
  518. package/components/Radio/index.d.ts +1 -1
  519. package/components/RadioGroup/Prevent.d.ts +8 -8
  520. package/components/RadioGroup/RadioGroup.d.ts +117 -117
  521. package/components/RadioGroup/RadioGroup.styles.d.ts +7 -7
  522. package/components/RadioGroup/RadioGroupContext.d.ts +10 -10
  523. package/components/RadioGroup/index.d.ts +1 -1
  524. package/components/ScrollContainer/ScrollBar.d.ts +37 -37
  525. package/components/ScrollContainer/ScrollContainer.constants.d.ts +23 -23
  526. package/components/ScrollContainer/ScrollContainer.d.ts +84 -84
  527. package/components/ScrollContainer/ScrollContainer.helpers.d.ts +10 -10
  528. package/components/ScrollContainer/ScrollContainer.styles.d.ts +17 -17
  529. package/components/ScrollContainer/index.d.ts +1 -1
  530. package/components/Select/Item.d.ts +7 -7
  531. package/components/Select/Select.d.ts +179 -179
  532. package/components/Select/Select.styles.d.ts +17 -17
  533. package/components/Select/index.d.ts +1 -1
  534. package/components/Select/locale/index.d.ts +4 -4
  535. package/components/Select/locale/locales/en.d.ts +2 -2
  536. package/components/Select/locale/locales/ru.d.ts +2 -2
  537. package/components/Select/locale/types.d.ts +4 -4
  538. package/components/Select/selectTheme.d.ts +3 -3
  539. package/components/SidePage/SidePage.d.ts +109 -109
  540. package/components/SidePage/SidePage.styles.d.ts +37 -37
  541. package/components/SidePage/SidePageBody.d.ts +19 -19
  542. package/components/SidePage/SidePageContainer.d.ts +15 -15
  543. package/components/SidePage/SidePageContext.d.ts +17 -17
  544. package/components/SidePage/SidePageFooter.d.ts +36 -36
  545. package/components/SidePage/SidePageHeader.d.ts +44 -44
  546. package/components/SidePage/index.d.ts +5 -5
  547. package/components/Spinner/Spinner.d.ts +56 -56
  548. package/components/Spinner/Spinner.styles.d.ts +12 -12
  549. package/components/Spinner/SpinnerFallbackAnimation.d.ts +25 -25
  550. package/components/Spinner/index.d.ts +1 -1
  551. package/components/Spinner/locale/index.d.ts +4 -4
  552. package/components/Spinner/locale/locales/en.d.ts +2 -2
  553. package/components/Spinner/locale/locales/ru.d.ts +2 -2
  554. package/components/Spinner/locale/types.d.ts +4 -4
  555. package/components/Sticky/Sticky.d.ts +59 -59
  556. package/components/Sticky/Sticky.styles.d.ts +7 -7
  557. package/components/Sticky/index.d.ts +1 -1
  558. package/components/Switcher/Switcher.d.ts +56 -56
  559. package/components/Switcher/Switcher.styles.d.ts +10 -10
  560. package/components/Switcher/index.d.ts +1 -1
  561. package/components/Switcher/switcherTheme.d.ts +2 -2
  562. package/components/Tabs/Indicator.d.ts +28 -28
  563. package/components/Tabs/Indicator.styles.d.ts +8 -8
  564. package/components/Tabs/Tab.d.ts +121 -121
  565. package/components/Tabs/Tab.styles.d.ts +27 -27
  566. package/components/Tabs/Tabs.d.ts +62 -62
  567. package/components/Tabs/Tabs.styles.d.ts +5 -5
  568. package/components/Tabs/TabsContext.d.ts +14 -14
  569. package/components/Tabs/index.d.ts +2 -2
  570. package/components/Textarea/Textarea.d.ts +185 -185
  571. package/components/Textarea/Textarea.styles.d.ts +15 -15
  572. package/components/Textarea/TextareaCounter.d.ts +13 -13
  573. package/components/Textarea/TextareaHelpers.d.ts +11 -11
  574. package/components/Textarea/index.d.ts +1 -1
  575. package/components/Toast/Toast.d.ts +58 -58
  576. package/components/Toast/Toast.styles.d.ts +6 -6
  577. package/components/Toast/ToastStatic.d.ts +8 -8
  578. package/components/Toast/ToastView.d.ts +38 -38
  579. package/components/Toast/ToastView.styles.d.ts +8 -8
  580. package/components/Toast/index.d.ts +1 -1
  581. package/components/Toggle/Toggle.d.ts +107 -107
  582. package/components/Toggle/Toggle.styles.d.ts +30 -30
  583. package/components/Toggle/index.d.ts +1 -1
  584. package/components/Token/Token.d.ts +36 -36
  585. package/components/Token/Token.styles.d.ts +29 -29
  586. package/components/Token/index.d.ts +1 -1
  587. package/components/TokenInput/TextWidthHelper.d.ts +18 -18
  588. package/components/TokenInput/TokenInput.d.ts +194 -194
  589. package/components/TokenInput/TokenInput.styles.d.ts +15 -15
  590. package/components/TokenInput/TokenInputMenu.d.ts +18 -18
  591. package/components/TokenInput/TokenInputReducer.d.ts +25 -25
  592. package/components/TokenInput/index.d.ts +1 -1
  593. package/components/TokenInput/locale/index.d.ts +4 -4
  594. package/components/TokenInput/locale/locales/en.d.ts +2 -2
  595. package/components/TokenInput/locale/locales/ru.d.ts +2 -2
  596. package/components/TokenInput/locale/types.d.ts +4 -4
  597. package/components/Tooltip/Tooltip/Tooltip.js +11 -8
  598. package/components/Tooltip/Tooltip/Tooltip.js.map +1 -1
  599. package/components/Tooltip/Tooltip.d.ts +162 -160
  600. package/components/Tooltip/Tooltip.md +1 -1
  601. package/components/Tooltip/Tooltip.styles.d.ts +5 -5
  602. package/components/Tooltip/index.d.ts +1 -1
  603. package/components/TooltipMenu/TooltipMenu.d.ts +65 -65
  604. package/components/TooltipMenu/index.d.ts +1 -1
  605. package/index.d.ts +49 -49
  606. package/internal/BGRuler.d.ts +30 -30
  607. package/internal/Calendar/Calendar.d.ts +66 -66
  608. package/internal/Calendar/Calendar.styles.d.ts +5 -5
  609. package/internal/Calendar/CalendarDateShape.d.ts +14 -14
  610. package/internal/Calendar/CalendarScrollEvents.d.ts +4 -4
  611. package/internal/Calendar/CalendarUtils.d.ts +19 -19
  612. package/internal/Calendar/DayCellView.d.ts +13 -13
  613. package/internal/Calendar/DayCellView.styles.d.ts +7 -7
  614. package/internal/Calendar/DayCellViewModel.d.ts +8 -8
  615. package/internal/Calendar/Month.d.ts +33 -33
  616. package/internal/Calendar/MonthView.d.ts +21 -21
  617. package/internal/Calendar/MonthView.styles.d.ts +9 -9
  618. package/internal/Calendar/MonthViewModel.d.ts +14 -14
  619. package/internal/Calendar/config.d.ts +9 -9
  620. package/internal/Calendar/index.d.ts +2 -2
  621. package/internal/CommonWrapper/CommonWrapper/CommonWrapper.js +19 -4
  622. package/internal/CommonWrapper/CommonWrapper/CommonWrapper.js.map +1 -1
  623. package/internal/CommonWrapper/CommonWrapper.d.ts +32 -31
  624. package/internal/CommonWrapper/index.d.ts +1 -1
  625. package/internal/ComponentCombinator.d.ts +25 -25
  626. package/internal/ComponentTable.d.ts +21 -21
  627. package/internal/CustomComboBox/ComboBoxMenu.d.ts +31 -31
  628. package/internal/CustomComboBox/ComboBoxView.d.ts +90 -90
  629. package/internal/CustomComboBox/CustomComboBox.d.ts +136 -136
  630. package/internal/CustomComboBox/CustomComboBox.styles.d.ts +5 -5
  631. package/internal/CustomComboBox/CustomComboBoxReducer.d.ts +71 -71
  632. package/internal/CustomComboBox/CustomComboBoxTypes.d.ts +6 -6
  633. package/internal/CustomComboBox/index.d.ts +2 -2
  634. package/internal/CustomComboBox/locale/index.d.ts +4 -4
  635. package/internal/CustomComboBox/locale/locales/en.d.ts +2 -2
  636. package/internal/CustomComboBox/locale/locales/ru.d.ts +2 -2
  637. package/internal/CustomComboBox/locale/types.d.ts +5 -5
  638. package/internal/DateSelect/DateSelect.d.ts +93 -93
  639. package/internal/DateSelect/DateSelect.styles.d.ts +19 -19
  640. package/internal/DateSelect/index.d.ts +1 -1
  641. package/internal/DropdownContainer/DropdownContainer/DropdownContainer.js +18 -21
  642. package/internal/DropdownContainer/DropdownContainer/DropdownContainer.js.map +1 -1
  643. package/internal/DropdownContainer/DropdownContainer.d.ts +44 -44
  644. package/internal/DropdownContainer/DropdownContainer.styles.d.ts +3 -3
  645. package/internal/DropdownContainer/index.d.ts +1 -1
  646. package/internal/FocusTrap/FocusTrap.d.ts +17 -17
  647. package/internal/FocusTrap/index.d.ts +1 -1
  648. package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.d.ts +14 -14
  649. package/internal/HideBodyVerticalScroll/index.d.ts +1 -1
  650. package/internal/IgnoreLayerClick/IgnoreLayerClick.d.ts +8 -8
  651. package/internal/IgnoreLayerClick/index.d.ts +1 -1
  652. package/internal/InputLikeText/HiddenInput.d.ts +13 -13
  653. package/internal/InputLikeText/InputLikeText.d.ts +73 -73
  654. package/internal/InputLikeText/InputLikeText.styles.d.ts +7 -7
  655. package/internal/InputLikeText/index.d.ts +1 -1
  656. package/internal/InternalMenu/InternalMenu.d.ts +63 -63
  657. package/internal/InternalMenu/InternalMenu.styles.d.ts +9 -9
  658. package/internal/InternalMenu/index.d.ts +1 -1
  659. package/internal/InternalMenu/isActiveElement.d.ts +3 -3
  660. package/internal/MaskCharLowLine/MaskCharLowLine.d.ts +9 -9
  661. package/internal/MaskCharLowLine/MaskCharLowLine.styles.d.ts +3 -3
  662. package/internal/MaskCharLowLine/index.d.ts +1 -1
  663. package/internal/MaskedInput/MaskedInput.d.ts +40 -40
  664. package/internal/MaskedInput/MaskedInput.styles.d.ts +6 -6
  665. package/internal/MaskedInput/index.d.ts +1 -1
  666. package/internal/Menu/Menu.d.ts +65 -65
  667. package/internal/Menu/Menu.styles.d.ts +9 -9
  668. package/internal/Menu/index.d.ts +1 -1
  669. package/internal/Menu/isActiveElement.d.ts +3 -3
  670. package/internal/NativeDateInput/NativeDateInput.d.ts +23 -23
  671. package/internal/NativeDateInput/NativeDateInput.styles.d.ts +3 -3
  672. package/internal/NativeDateInput/index.d.ts +1 -1
  673. package/internal/NativeDateInput/utils.d.ts +7 -7
  674. package/internal/PerformanceMetrics/PerformanceMetrics.d.ts +7 -7
  675. package/internal/Popup/Popup/Popup.js +18 -18
  676. package/internal/Popup/Popup/Popup.js.map +1 -1
  677. package/internal/Popup/Popup.d.ts +161 -162
  678. package/internal/Popup/Popup.styles.d.ts +16 -16
  679. package/internal/Popup/PopupHelper.d.ts +26 -26
  680. package/internal/Popup/PopupPin.d.ts +56 -56
  681. package/internal/Popup/PopupPin.styles.d.ts +3 -3
  682. package/internal/Popup/index.d.ts +1 -1
  683. package/internal/Popup/types.d.ts +1 -1
  684. package/internal/PopupMenu/PopupMenu.d.ts +85 -85
  685. package/internal/PopupMenu/PopupMenu.styles.d.ts +4 -4
  686. package/internal/PopupMenu/index.d.ts +1 -1
  687. package/internal/PopupMenu/validatePositions.d.ts +2 -2
  688. package/internal/RenderContainer/RenderContainer/RenderContainer.js +9 -0
  689. package/internal/RenderContainer/RenderContainer/RenderContainer.js.map +1 -1
  690. package/internal/RenderContainer/RenderContainer.d.ts +16 -16
  691. package/internal/RenderContainer/RenderContainerTypes.d.ts +12 -11
  692. package/internal/RenderContainer/RenderInnerContainer.d.ts +13 -13
  693. package/internal/RenderContainer/index.d.ts +1 -1
  694. package/internal/RenderLayer/RenderLayer.d.ts +29 -29
  695. package/internal/RenderLayer/index.d.ts +1 -1
  696. package/internal/ResizeDetector/ResizeDetector.d.ts +12 -12
  697. package/internal/ResizeDetector/ResizeDetector.styles.d.ts +5 -5
  698. package/internal/ResizeDetector/index.d.ts +1 -1
  699. package/internal/ThemePlayground/AnotherInputsPlayground.d.ts +13 -13
  700. package/internal/ThemePlayground/CheckboxPlayground.d.ts +1 -1
  701. package/internal/ThemePlayground/ComponentsGroup.d.ts +10 -10
  702. package/internal/ThemePlayground/CurrencyInputPlayground.d.ts +11 -11
  703. package/internal/ThemePlayground/FxInputPlayground.d.ts +10 -10
  704. package/internal/ThemePlayground/HintPlayground.d.ts +6 -6
  705. package/internal/ThemePlayground/PagingPlayground.d.ts +10 -10
  706. package/internal/ThemePlayground/Playground.d.ts +31 -31
  707. package/internal/ThemePlayground/Playground.styles.d.ts +23 -23
  708. package/internal/ThemePlayground/RadioPlayground.d.ts +1 -1
  709. package/internal/ThemePlayground/SelectPlayground.d.ts +12 -12
  710. package/internal/ThemePlayground/ShowcaseGroup.d.ts +5 -5
  711. package/internal/ThemePlayground/SwitcherPlayground.d.ts +15 -15
  712. package/internal/ThemePlayground/ThemeContextPlayground.d.ts +51 -51
  713. package/internal/ThemePlayground/ThemeEditor.d.ts +39 -39
  714. package/internal/ThemePlayground/TogglePlayground.d.ts +9 -9
  715. package/internal/ThemePlayground/TokenInputPlayground.d.ts +7 -7
  716. package/internal/ThemePlayground/VariableValue.d.ts +45 -45
  717. package/internal/ThemePlayground/constants.d.ts +18 -18
  718. package/internal/ThemePlayground/darkTheme.d.ts +255 -255
  719. package/internal/ThemePlayground/helpers.d.ts +2 -2
  720. package/internal/ThemeShowcase/ThemeShowcase.d.ts +22 -22
  721. package/internal/ThemeShowcase/ThemeShowcase.styles.d.ts +24 -24
  722. package/internal/ThemeShowcase/VariablesCollector.d.ts +22 -22
  723. package/internal/ZIndex/ZIndex.d.ts +36 -36
  724. package/internal/ZIndex/ZIndexStorage.d.ts +18 -18
  725. package/internal/ZIndex/index.d.ts +1 -1
  726. package/internal/icons/16px/icon.styles.d.ts +4 -4
  727. package/internal/icons/16px/index.d.ts +22 -22
  728. package/internal/icons/20px/Icon.d.ts +30 -30
  729. package/internal/icons/20px/icon.styles.d.ts +4 -4
  730. package/internal/icons/20px/index.d.ts +2 -2
  731. package/internal/icons/20px/svg.d.ts +14 -14
  732. package/internal/icons/CloudIcon.d.ts +1 -1
  733. package/internal/icons/CrossIcon.d.ts +1 -1
  734. package/internal/icons/SpinnerIcon.d.ts +26 -26
  735. package/internal/icons/SpinnerIcon.styles.d.ts +4 -4
  736. package/internal/themes/DefaultTheme.d.ts +766 -766
  737. package/internal/themes/FlatTheme.d.ts +132 -132
  738. package/internal/themes/Theme8px.d.ts +271 -271
  739. package/lib/ConditionalHandler.d.ts +11 -11
  740. package/lib/InstanceWithAnchorElement/InstanceWithAnchorElement.js +3 -0
  741. package/lib/InstanceWithAnchorElement/InstanceWithAnchorElement.js.map +1 -0
  742. package/lib/InstanceWithAnchorElement/package.json +6 -0
  743. package/lib/InstanceWithAnchorElement.d.ts +5 -0
  744. package/lib/LayoutEvents.d.ts +4 -4
  745. package/lib/ModalStack.d.ts +14 -14
  746. package/lib/SSRSafe.d.ts +4 -4
  747. package/lib/Supports.d.ts +1 -1
  748. package/lib/Upgrades.d.ts +6 -6
  749. package/lib/animation/index.d.ts +6 -6
  750. package/lib/animation/presets.d.ts +18 -18
  751. package/lib/animation/stepper.d.ts +1 -1
  752. package/lib/callChildRef/callChildRef.d.ts +3 -3
  753. package/lib/client.d.ts +16 -16
  754. package/lib/createPropsGetter.d.ts +2 -2
  755. package/lib/currentEnvironment.d.ts +3 -3
  756. package/lib/date/InternalDate.d.ts +58 -58
  757. package/lib/date/InternalDateCalculator.d.ts +6 -6
  758. package/lib/date/InternalDateGetter.d.ts +15 -15
  759. package/lib/date/InternalDateSetter.d.ts +6 -6
  760. package/lib/date/InternalDateTransformer.d.ts +12 -12
  761. package/lib/date/InternalDateValidator.d.ts +12 -12
  762. package/lib/date/constants.d.ts +28 -28
  763. package/lib/date/localeSets.d.ts +5 -5
  764. package/lib/date/types.d.ts +90 -90
  765. package/lib/dom/getScrollWidth.d.ts +1 -1
  766. package/lib/dom/tabbableHelpers.d.ts +16 -16
  767. package/lib/events/MouseDrag.d.ts +58 -58
  768. package/lib/events/fixClickFocusIE.d.ts +1 -1
  769. package/lib/events/fixFirefoxModifiedClickOnLabel.d.ts +2 -2
  770. package/lib/events/keyListener.d.ts +7 -7
  771. package/lib/events/keyboard/KeyboardEventCodes.d.ts +30 -30
  772. package/lib/events/keyboard/KeyboardMapKeys.d.ts +6 -6
  773. package/lib/events/keyboard/extractCode.d.ts +3 -3
  774. package/lib/events/keyboard/identifiers.d.ts +48 -48
  775. package/lib/events/stopPropagation.d.ts +1 -1
  776. package/lib/events/tabListener.d.ts +1 -1
  777. package/lib/extractKeyboardAction.d.ts +13 -13
  778. package/lib/filterProps.d.ts +12 -12
  779. package/lib/forwardRefAndName.d.ts +5 -5
  780. package/lib/getDisplayName.d.ts +3 -3
  781. package/lib/listenFocusOutside.d.ts +8 -8
  782. package/lib/locale/LocaleContext.d.ts +7 -7
  783. package/lib/locale/LocaleHelper.d.ts +9 -9
  784. package/lib/locale/constants.d.ts +2 -2
  785. package/lib/locale/decorators.d.ts +36 -36
  786. package/lib/locale/index.d.ts +3 -3
  787. package/lib/locale/types.d.ts +19 -19
  788. package/lib/memo.d.ts +1 -1
  789. package/lib/net/fetch.d.ts +13 -13
  790. package/lib/polyfillPlaceholder.d.ts +1 -1
  791. package/lib/reactGetTextContent.d.ts +2 -2
  792. package/lib/rootNode/getRootNode/getRootNode.js +3 -4
  793. package/lib/rootNode/getRootNode/getRootNode.js.map +1 -1
  794. package/lib/rootNode/getRootNode.d.ts +3 -3
  795. package/lib/rootNode/index.d.ts +2 -2
  796. package/lib/rootNode/rootNodeDecorator/rootNodeDecorator.js +24 -3
  797. package/lib/rootNode/rootNodeDecorator/rootNodeDecorator.js.map +1 -1
  798. package/lib/rootNode/rootNodeDecorator.d.ts +47 -33
  799. package/lib/styles/ColorFactory.d.ts +11 -11
  800. package/lib/styles/ColorFunctions.d.ts +11 -11
  801. package/lib/styles/ColorHelpers.d.ts +20 -20
  802. package/lib/styles/ColorKeywords.d.ts +150 -150
  803. package/lib/styles/ColorObject.d.ts +52 -52
  804. package/lib/styles/DimensionFunctions.d.ts +1 -1
  805. package/lib/styles/HoldSelectionColor.d.ts +1 -1
  806. package/lib/styles/Mixins.d.ts +2 -2
  807. package/lib/taskWithDelayAndMinimalDuration.d.ts +21 -21
  808. package/lib/theming/AnimationKeyframes.d.ts +9 -9
  809. package/lib/theming/Emotion.d.ts +15 -15
  810. package/lib/theming/Theme.d.ts +3 -3
  811. package/lib/theming/ThemeContext.d.ts +2 -2
  812. package/lib/theming/ThemeFactory.d.ts +8 -8
  813. package/lib/theming/ThemeHelpers.d.ts +11 -11
  814. package/lib/theming/themes/DefaultTheme.d.ts +1 -1
  815. package/lib/theming/themes/DefaultThemeOld.d.ts +1 -1
  816. package/lib/theming/themes/FlatTheme.d.ts +1 -1
  817. package/lib/theming/themes/FlatThemeOld.d.ts +1 -1
  818. package/lib/theming/useTheme.d.ts +1 -1
  819. package/lib/utils.d.ts +63 -63
  820. package/lib/withClassWrapper.d.ts +71 -71
  821. package/package.json +2 -5
@@ -1,160 +1,162 @@
1
- import React from 'react';
2
- import { PopupPositionsType } from '../../internal/Popup';
3
- import { Nullable } from '../../typings/utility-types';
4
- import { CommonProps } from '../../internal/CommonWrapper';
5
- export declare type TooltipTrigger =
6
- /** Наведение на children и на тултип */
7
- 'hover'
8
- /** Клик на children */
9
- | 'click'
10
- /** Фокус на children */
11
- | 'focus'
12
- /** Наведение на children и на тултип и фокус на children */
13
- | 'hover&focus'
14
- /** Просто открыт */
15
- | 'opened'
16
- /** Просто закрыт */
17
- | 'closed'
18
- /** Наведение ТОЛЬКО на children, а не на тултип */
19
- | 'hoverAnchor'
20
- /** Управление через публичные функции show и hide */
21
- | 'manual';
22
- export interface TooltipProps extends CommonProps {
23
- /**
24
- * Относительно какого элемента позиционировать тултип
25
- */
26
- anchorElement?: HTMLElement;
27
- /**
28
- * Если не указан `anchorElement` то тултип будет позиционироваться
29
- * относительно дочерних элементов
30
- */
31
- children?: React.ReactNode;
32
- className?: string;
33
- /**
34
- * Показывать крестик для закрытия тултипа. По-умолчанию крестик
35
- * показывается если проп *trigger* не `hover` и не `focus`.
36
- */
37
- closeButton?: boolean;
38
- /**
39
- * Функция, которая возвращает содержимое тултипа.
40
- *
41
- * Если эта функция вернула `null`, то тултип не показывается.
42
- */
43
- render?: Nullable<() => React.ReactNode>;
44
- /**
45
- * Значение по умолчанию: `"top left"`.
46
- */
47
- pos: PopupPositionsType;
48
- /**
49
- * Триггер открытия тултипа
50
- * ```ts
51
- * type TooltipTrigger =
52
- * | 'hover'
53
- * | 'click'
54
- * | 'focus'
55
- * | 'hover&focus'
56
- * | 'opened'
57
- * | 'closed'
58
- * | 'hoverAnchor'
59
- * | 'manual';
60
- * ```
61
- */
62
- trigger: TooltipTrigger;
63
- /**
64
- * Хэндлер, вызываемый при клике по крестику
65
- */
66
- onCloseClick?: React.MouseEventHandler<HTMLElement>;
67
- /**
68
- * Хэндлер, вызываемый при клике по крестику или
69
- * снаружи тултипа
70
- */
71
- onCloseRequest?: () => void;
72
- /**
73
- * Хэндлер, вызываемый при закрытии тултипа
74
- */
75
- onClose?: () => void;
76
- /**
77
- * Хэндлер, вызываемый при открытии тултипа
78
- */
79
- onOpen?: () => void;
80
- /**
81
- * Список позиций, которые тултип будет занимать.
82
- * Если положение тултипа в определенной позиции
83
- * будет выходить за край экрана, то будет выбрана
84
- * следующая позиция. Обязательно должен включать
85
- * позицию указанную в `pos`
86
- */
87
- allowedPositions: PopupPositionsType[];
88
- /**
89
- * Флаг отключения анимации.
90
- * @default false
91
- */
92
- disableAnimations: boolean;
93
- /**
94
- * Явно указывает, что вложенные элементы должны быть обёрнуты в `<span/>`. <br/> Используется для корректного позиционирования тултипа при двух и более вложенных элементах.
95
- *
96
- * _Примечание_: при **двух и более** вложенных элементах обёртка будет добавлена автоматически.
97
- */
98
- useWrapper: boolean;
99
- }
100
- export interface TooltipState {
101
- opened: boolean;
102
- focused: boolean;
103
- }
104
- export declare class Tooltip extends React.PureComponent<TooltipProps, TooltipState> {
105
- static __KONTUR_REACT_UI__: string;
106
- static propTypes: {
107
- children(props: TooltipProps, propName: keyof TooltipProps, componentName: string): void;
108
- };
109
- static defaultProps: {
110
- pos: "top left";
111
- trigger: string;
112
- allowedPositions: ("top left" | "top center" | "top right" | "right top" | "right middle" | "right bottom" | "bottom right" | "bottom center" | "bottom left" | "left bottom" | "left middle" | "left top")[];
113
- disableAnimations: boolean;
114
- useWrapper: boolean;
115
- closeOnChildrenMouseLeave: boolean;
116
- };
117
- static delay: number;
118
- private static triggersWithoutCloseButton;
119
- state: TooltipState;
120
- private theme;
121
- private hoverTimeout;
122
- private contentElement;
123
- private positions;
124
- private clickedOutside;
125
- private setRootNode;
126
- componentDidUpdate(prevProps: TooltipProps): void;
127
- componentWillUnmount(): void;
128
- render(): JSX.Element;
129
- renderContent: () => JSX.Element | null;
130
- renderCloseButton(): JSX.Element | null;
131
- /**
132
- * Программно открывает тултип.
133
- * <p>Не действует если проп *trigger* `'opened'` или `'closed'`.</p>
134
- * @public
135
- */
136
- show(): void;
137
- /**
138
- * Программно закрывает тултип.
139
- * <p>Не действует если проп *trigger* `'opened'` или `'closed'`.</p>
140
- * @public
141
- */
142
- hide(): void;
143
- private renderMain;
144
- private getRenderLayerAnchorElement;
145
- private renderPopup;
146
- private refContent;
147
- private getPositions;
148
- private getProps;
149
- private open;
150
- private close;
151
- private clearHoverTimeout;
152
- private handleMouseEnter;
153
- private handleMouseLeave;
154
- private handleClick;
155
- private handleClickOutsideAnchor;
156
- private isClickOutsideContent;
157
- private handleFocus;
158
- private handleBlur;
159
- private handleCloseButtonClick;
160
- }
1
+ import React from 'react';
2
+ import { PopupPositionsType } from '../../internal/Popup';
3
+ import { Nullable } from '../../typings/utility-types';
4
+ import { CommonProps } from '../../internal/CommonWrapper';
5
+ import { InstanceWithAnchorElement } from '../../lib/InstanceWithAnchorElement';
6
+ export declare type TooltipTrigger =
7
+ /** Наведение на children и на тултип */
8
+ 'hover'
9
+ /** Клик на children */
10
+ | 'click'
11
+ /** Фокус на children */
12
+ | 'focus'
13
+ /** Наведение на children и на тултип и фокус на children */
14
+ | 'hover&focus'
15
+ /** Просто открыт */
16
+ | 'opened'
17
+ /** Просто закрыт */
18
+ | 'closed'
19
+ /** Наведение ТОЛЬКО на children, а не на тултип */
20
+ | 'hoverAnchor'
21
+ /** Управление через публичные функции show и hide */
22
+ | 'manual';
23
+ export interface TooltipProps extends CommonProps {
24
+ /**
25
+ * Относительно какого элемента позиционировать тултип
26
+ */
27
+ anchorElement?: HTMLElement;
28
+ /**
29
+ * Если не указан `anchorElement` то тултип будет позиционироваться
30
+ * относительно дочерних элементов
31
+ */
32
+ children?: React.ReactNode;
33
+ className?: string;
34
+ /**
35
+ * Показывать крестик для закрытия тултипа. По-умолчанию крестик
36
+ * показывается если проп *trigger* не `hover` и не `focus`.
37
+ */
38
+ closeButton?: boolean;
39
+ /**
40
+ * Функция, которая возвращает содержимое тултипа.
41
+ *
42
+ * Если эта функция вернула `null`, то тултип не показывается.
43
+ */
44
+ render?: Nullable<() => React.ReactNode>;
45
+ /**
46
+ * Значение по умолчанию: `"top left"`.
47
+ */
48
+ pos: PopupPositionsType;
49
+ /**
50
+ * Триггер открытия тултипа
51
+ * ```ts
52
+ * type TooltipTrigger =
53
+ * | 'hover'
54
+ * | 'click'
55
+ * | 'focus'
56
+ * | 'hover&focus'
57
+ * | 'opened'
58
+ * | 'closed'
59
+ * | 'hoverAnchor'
60
+ * | 'manual';
61
+ * ```
62
+ */
63
+ trigger: TooltipTrigger;
64
+ /**
65
+ * Хэндлер, вызываемый при клике по крестику
66
+ */
67
+ onCloseClick?: React.MouseEventHandler<HTMLElement>;
68
+ /**
69
+ * Хэндлер, вызываемый при клике по крестику или
70
+ * снаружи тултипа
71
+ */
72
+ onCloseRequest?: () => void;
73
+ /**
74
+ * Хэндлер, вызываемый при закрытии тултипа
75
+ */
76
+ onClose?: () => void;
77
+ /**
78
+ * Хэндлер, вызываемый при открытии тултипа
79
+ */
80
+ onOpen?: () => void;
81
+ /**
82
+ * Список позиций, которые тултип будет занимать.
83
+ * Если положение тултипа в определенной позиции
84
+ * будет выходить за край экрана, то будет выбрана
85
+ * следующая позиция. Обязательно должен включать
86
+ * позицию указанную в `pos`
87
+ */
88
+ allowedPositions: PopupPositionsType[];
89
+ /**
90
+ * Флаг отключения анимации.
91
+ * @default false
92
+ */
93
+ disableAnimations: boolean;
94
+ /**
95
+ * Явно указывает, что вложенные элементы должны быть обёрнуты в `<span/>`. <br/> Используется для корректного позиционирования тултипа при двух и более вложенных элементах.
96
+ *
97
+ * _Примечание_: при **двух и более** вложенных элементах обёртка будет добавлена автоматически.
98
+ */
99
+ useWrapper: boolean;
100
+ }
101
+ export interface TooltipState {
102
+ opened: boolean;
103
+ focused: boolean;
104
+ }
105
+ export declare class Tooltip extends React.PureComponent<TooltipProps, TooltipState> implements InstanceWithAnchorElement {
106
+ static __KONTUR_REACT_UI__: string;
107
+ static propTypes: {
108
+ children(props: TooltipProps, propName: keyof TooltipProps, componentName: string): void;
109
+ };
110
+ static defaultProps: {
111
+ pos: "top left";
112
+ trigger: string;
113
+ allowedPositions: ("top left" | "top center" | "top right" | "right top" | "right middle" | "right bottom" | "bottom right" | "bottom center" | "bottom left" | "left bottom" | "left middle" | "left top")[];
114
+ disableAnimations: boolean;
115
+ useWrapper: boolean;
116
+ closeOnChildrenMouseLeave: boolean;
117
+ };
118
+ static delay: number;
119
+ private static triggersWithoutCloseButton;
120
+ state: TooltipState;
121
+ private theme;
122
+ private hoverTimeout;
123
+ private contentElement;
124
+ private positions;
125
+ private clickedOutside;
126
+ private setRootNode;
127
+ private popupRef;
128
+ componentDidUpdate(prevProps: TooltipProps): void;
129
+ componentWillUnmount(): void;
130
+ render(): JSX.Element;
131
+ renderContent: () => JSX.Element | null;
132
+ renderCloseButton(): JSX.Element | null;
133
+ getAnchorElement: () => Nullable<HTMLElement>;
134
+ /**
135
+ * Программно открывает тултип.
136
+ * <p>Не действует если проп *trigger* `'opened'` или `'closed'`.</p>
137
+ * @public
138
+ */
139
+ show(): void;
140
+ /**
141
+ * Программно закрывает тултип.
142
+ * <p>Не действует если проп *trigger* `'opened'` или `'closed'`.</p>
143
+ * @public
144
+ */
145
+ hide(): void;
146
+ private renderMain;
147
+ private renderPopup;
148
+ private refContent;
149
+ private getPositions;
150
+ private getProps;
151
+ private open;
152
+ private close;
153
+ private clearHoverTimeout;
154
+ private handleMouseEnter;
155
+ private handleMouseLeave;
156
+ private handleClick;
157
+ private handleClickOutsideAnchor;
158
+ private isClickOutsideContent;
159
+ private handleFocus;
160
+ private handleBlur;
161
+ private handleCloseButtonClick;
162
+ }
@@ -1,4 +1,4 @@
1
- "use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");exports.__esModule = true;exports.Tooltip = void 0;var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));var _react = _interopRequireDefault(require("react"));
1
+ "use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");exports.__esModule = true;exports.Tooltip = void 0;var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));var _react = _interopRequireDefault(require("react"));
2
2
  var _warning = _interopRequireDefault(require("warning"));
3
3
  var _lodash = _interopRequireDefault(require("lodash.isequal"));
4
4
 
@@ -15,6 +15,7 @@ var _currentEnvironment = require("../../lib/currentEnvironment");
15
15
  var _CommonWrapper = require("../../internal/CommonWrapper");
16
16
  var _rootNode = require("../../lib/rootNode");
17
17
 
18
+
18
19
  var _Tooltip = require("./Tooltip.styles");var _class, _class2, _temp;
19
20
 
20
21
 
@@ -185,6 +186,7 @@ Tooltip = (0, _rootNode.rootNode)(_class = (_temp = _class2 = /*#__PURE__*/funct
185
186
  clickedOutside = true;_this.
186
187
  setRootNode = void 0;_this.
187
188
 
189
+ popupRef = /*#__PURE__*/_react.default.createRef();_this.
188
190
 
189
191
 
190
192
 
@@ -262,6 +264,10 @@ Tooltip = (0, _rootNode.rootNode)(_class = (_temp = _class2 = /*#__PURE__*/funct
262
264
 
263
265
 
264
266
 
267
+ getAnchorElement = function () {var _this$popupRef$curren;
268
+ return (_this$popupRef$curren = _this.popupRef.current) == null ? void 0 : _this$popupRef$curren.anchorElement;
269
+ };_this.
270
+
265
271
 
266
272
 
267
273
 
@@ -303,9 +309,6 @@ Tooltip = (0, _rootNode.rootNode)(_class = (_temp = _class2 = /*#__PURE__*/funct
303
309
 
304
310
 
305
311
 
306
- getRenderLayerAnchorElement = function () {
307
- return (0, _rootNode.getRootNode)((0, _assertThisInitialized2.default)(_this));
308
- };_this.
309
312
 
310
313
 
311
314
 
@@ -530,12 +533,12 @@ Tooltip = (0, _rootNode.rootNode)(_class = (_temp = _class2 = /*#__PURE__*/funct
530
533
  }
531
534
 
532
535
  _this.close();
533
- };return _this;}var _proto = Tooltip.prototype;_proto.componentDidUpdate = function componentDidUpdate(prevProps) {if (this.props.trigger === 'closed' && this.state.opened) {this.close();}var _this$props = this.props,allowedPositions = _this$props.allowedPositions,pos = _this$props.pos;var posChanged = prevProps.pos !== pos;var allowedChanged = !(0, _lodash.default)(prevProps.allowedPositions, allowedPositions);if (posChanged || allowedChanged) {this.positions = null;}};_proto.componentWillUnmount = function componentWillUnmount() {this.clearHoverTimeout();};_proto.render = function render() {var _this2 = this;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Consumer, null, function (theme) {_this2.theme = theme;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Provider, { value: _ThemeFactory.ThemeFactory.create({ popupPinOffset: theme.tooltipPinOffset, popupMargin: theme.tooltipMargin, popupBorder: theme.tooltipBorder, popupBorderRadius: theme.tooltipBorderRadius, popupPinSize: theme.tooltipPinSize, popupPinOffsetX: theme.tooltipPinOffsetX, popupPinOffsetY: theme.tooltipPinOffsetY }, theme) }, _this2.renderMain());});};_proto.renderCloseButton = function renderCloseButton() {var hasCross = this.props.closeButton === undefined ? !Tooltip.triggersWithoutCloseButton.includes(this.props.trigger) : this.props.closeButton;if (!hasCross) {return null;}return /*#__PURE__*/_react.default.createElement("div", { className: _Tooltip.styles.cross(this.theme), onClick: this.handleCloseButtonClick }, /*#__PURE__*/_react.default.createElement(_CrossIcon.CrossIcon, null));} /**
536
+ };return _this;}var _proto = Tooltip.prototype;_proto.componentDidUpdate = function componentDidUpdate(prevProps) {if (this.props.trigger === 'closed' && this.state.opened) {this.close();}var _this$props = this.props,allowedPositions = _this$props.allowedPositions,pos = _this$props.pos;var posChanged = prevProps.pos !== pos;var allowedChanged = !(0, _lodash.default)(prevProps.allowedPositions, allowedPositions);if (posChanged || allowedChanged) {this.positions = null;}};_proto.componentWillUnmount = function componentWillUnmount() {this.clearHoverTimeout();};_proto.render = function render() {var _this2 = this;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Consumer, null, function (theme) {_this2.theme = theme;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Provider, { value: _ThemeFactory.ThemeFactory.create({ popupPinOffset: theme.tooltipPinOffset, popupMargin: theme.tooltipMargin, popupBorder: theme.tooltipBorder, popupBorderRadius: theme.tooltipBorderRadius, popupPinSize: theme.tooltipPinSize, popupPinOffsetX: theme.tooltipPinOffsetX, popupPinOffsetY: theme.tooltipPinOffsetY }, theme) }, _this2.renderMain());});};_proto.renderCloseButton = function renderCloseButton() {var hasCross = this.props.closeButton === undefined ? !Tooltip.triggersWithoutCloseButton.includes(this.props.trigger) : this.props.closeButton;if (!hasCross) {return null;}return /*#__PURE__*/_react.default.createElement("div", { className: _Tooltip.styles.cross(this.theme), onClick: this.handleCloseButtonClick }, /*#__PURE__*/_react.default.createElement(_CrossIcon.CrossIcon, null));}; /**
534
537
  * Программно открывает тултип.
535
538
  * <p>Не действует если проп *trigger* `'opened'` или `'closed'`.</p>
536
539
  * @public
537
- */;_proto.show = function show() {if (this.state.opened) return;if (this.props.trigger === 'opened' || this.props.trigger === 'closed') {(0, _warning.default)(true, "Function 'show' is not supported with trigger specified '" + this.props.trigger + "'");return;}this.open();} /**
540
+ */_proto.show = function show() {if (this.state.opened) return;if (this.props.trigger === 'opened' || this.props.trigger === 'closed') {(0, _warning.default)(true, "Function 'show' is not supported with trigger specified '" + this.props.trigger + "'");return;}this.open();} /**
538
541
  * Программно закрывает тултип.
539
542
  * <p>Не действует если проп *trigger* `'opened'` или `'closed'`.</p>
540
543
  * @public
541
- */;_proto.hide = function hide() {if (this.props.trigger === 'opened' || this.props.trigger === 'closed') {(0, _warning.default)(true, "Function 'hide' is not supported with trigger specified '" + this.props.trigger + "'");return;}this.close();};_proto.renderMain = function renderMain() {var props = this.props;var content = this.renderContent();var _this$getProps = this.getProps(),popupProps = _this$getProps.popupProps,_this$getProps$layerP = _this$getProps.layerProps,layerProps = _this$getProps$layerP === void 0 ? { active: false } : _this$getProps$layerP;var anchorElement = props.children || props.anchorElement;var popup = this.renderPopup(anchorElement, popupProps, content);return /*#__PURE__*/_react.default.createElement(_RenderLayer.RenderLayer, (0, _extends2.default)({}, layerProps, { getAnchorElement: this.getRenderLayerAnchorElement }), popup);};_proto.renderPopup = function renderPopup(anchorElement, popupProps, content) {return /*#__PURE__*/_react.default.createElement(_CommonWrapper.CommonWrapper, (0, _extends2.default)({ rootNodeRef: this.setRootNode }, this.props), /*#__PURE__*/_react.default.createElement(_Popup.Popup, (0, _extends2.default)({ anchorElement: anchorElement, hasPin: true, hasShadow: true, maxWidth: "none", opened: this.state.opened, disableAnimations: this.props.disableAnimations, positions: this.getPositions(), ignoreHover: this.props.trigger === 'hoverAnchor', onOpen: this.props.onOpen, onClose: this.props.onClose, tryPreserveFirstRenderedPosition: true }, popupProps), content));};_proto.getPositions = function getPositions() {if (!this.positions) {var allowedPositions = this.props.allowedPositions;var index = allowedPositions.indexOf(this.props.pos);if (index === -1) {throw new Error('Unexpected position passed to Tooltip. Expected one of: ' + allowedPositions.join(', '));}this.positions = [].concat(allowedPositions.slice(index), allowedPositions.slice(0, index));}return this.positions;};_proto.getProps = function getProps() {var props = this.props;var useWrapper = !!props.children && props.useWrapper;switch (props.trigger) {case 'opened':return { layerProps: { active: true, onClickOutside: this.handleClickOutsideAnchor }, popupProps: { opened: true, useWrapper: useWrapper } };case 'closed':return { popupProps: { opened: false, useWrapper: useWrapper } };case 'hoverAnchor':case 'hover':return { popupProps: { onMouseEnter: this.handleMouseEnter, onMouseLeave: this.handleMouseLeave, useWrapper: useWrapper } };case 'manual':return { popupProps: { useWrapper: useWrapper } };case 'click':return { layerProps: { active: this.state.opened, onClickOutside: this.handleClickOutsideAnchor }, popupProps: { onClick: this.handleClick, useWrapper: useWrapper } };case 'focus':return { popupProps: { onFocus: this.handleFocus, onBlur: this.handleBlur, useWrapper: useWrapper } };case 'hover&focus':return { layerProps: { active: this.state.opened, onClickOutside: this.handleClickOutsideAnchor }, popupProps: { onFocus: this.handleFocus, onBlur: this.handleBlur, onMouseEnter: this.handleMouseEnter, onMouseLeave: this.handleMouseLeave, useWrapper: useWrapper } };default:throw new Error('Unknown trigger specified: ' + props.trigger);}};_proto.clearHoverTimeout = function clearHoverTimeout() {if (this.hoverTimeout) {clearTimeout(this.hoverTimeout);this.hoverTimeout = null;}};_proto.isClickOutsideContent = function isClickOutsideContent(event) {if (this.contentElement && event.target instanceof Element) {return !(0, _listenFocusOutside.containsTargetOrRenderContainer)(event.target)(this.contentElement);}return true;};return Tooltip;}(_react.default.PureComponent), _class2.__KONTUR_REACT_UI__ = 'Tooltip', _class2.propTypes = { children: function children(props, propName, componentName) {var children = props[propName];(0, _warning.default)(children || props.anchorElement, "[" + componentName + "]: you must provide either 'children' or 'anchorElement' prop for " + componentName + " to work properly");(0, _warning.default)(!(Array.isArray(children) && props.useWrapper === false), "[" + componentName + "]: you provided multiple children, but useWrapper={false} - forcing wrapper <span/> for positioning to work correctly");} }, _class2.defaultProps = { pos: _Popup.DefaultPosition, trigger: 'hover', allowedPositions: Positions, disableAnimations: _currentEnvironment.isTestEnv, useWrapper: false, closeOnChildrenMouseLeave: false }, _class2.delay = 100, _class2.triggersWithoutCloseButton = ['hover', 'hoverAnchor', 'focus', 'hover&focus'], _temp)) || _class;exports.Tooltip = Tooltip;
544
+ */;_proto.hide = function hide() {if (this.props.trigger === 'opened' || this.props.trigger === 'closed') {(0, _warning.default)(true, "Function 'hide' is not supported with trigger specified '" + this.props.trigger + "'");return;}this.close();};_proto.renderMain = function renderMain() {var props = this.props;var content = this.renderContent();var _this$getProps = this.getProps(),popupProps = _this$getProps.popupProps,_this$getProps$layerP = _this$getProps.layerProps,layerProps = _this$getProps$layerP === void 0 ? { active: false } : _this$getProps$layerP;var anchorElement = props.children || props.anchorElement;var popup = this.renderPopup(anchorElement, popupProps, content);return /*#__PURE__*/_react.default.createElement(_RenderLayer.RenderLayer, (0, _extends2.default)({}, layerProps, { getAnchorElement: this.getAnchorElement }), popup);};_proto.renderPopup = function renderPopup(anchorElement, popupProps, content) {return /*#__PURE__*/_react.default.createElement(_CommonWrapper.CommonWrapper, (0, _extends2.default)({ rootNodeRef: this.setRootNode }, this.props), /*#__PURE__*/_react.default.createElement(_Popup.Popup, (0, _extends2.default)({ anchorElement: anchorElement, hasPin: true, hasShadow: true, maxWidth: "none", opened: this.state.opened, disableAnimations: this.props.disableAnimations, positions: this.getPositions(), ignoreHover: this.props.trigger === 'hoverAnchor', onOpen: this.props.onOpen, onClose: this.props.onClose, tryPreserveFirstRenderedPosition: true, ref: this.popupRef }, popupProps), content));};_proto.getPositions = function getPositions() {if (!this.positions) {var allowedPositions = this.props.allowedPositions;var index = allowedPositions.indexOf(this.props.pos);if (index === -1) {throw new Error('Unexpected position passed to Tooltip. Expected one of: ' + allowedPositions.join(', '));}this.positions = [].concat(allowedPositions.slice(index), allowedPositions.slice(0, index));}return this.positions;};_proto.getProps = function getProps() {var props = this.props;var useWrapper = !!props.children && props.useWrapper;switch (props.trigger) {case 'opened':return { layerProps: { active: true, onClickOutside: this.handleClickOutsideAnchor }, popupProps: { opened: true, useWrapper: useWrapper } };case 'closed':return { popupProps: { opened: false, useWrapper: useWrapper } };case 'hoverAnchor':case 'hover':return { popupProps: { onMouseEnter: this.handleMouseEnter, onMouseLeave: this.handleMouseLeave, useWrapper: useWrapper } };case 'manual':return { popupProps: { useWrapper: useWrapper } };case 'click':return { layerProps: { active: this.state.opened, onClickOutside: this.handleClickOutsideAnchor }, popupProps: { onClick: this.handleClick, useWrapper: useWrapper } };case 'focus':return { popupProps: { onFocus: this.handleFocus, onBlur: this.handleBlur, useWrapper: useWrapper } };case 'hover&focus':return { layerProps: { active: this.state.opened, onClickOutside: this.handleClickOutsideAnchor }, popupProps: { onFocus: this.handleFocus, onBlur: this.handleBlur, onMouseEnter: this.handleMouseEnter, onMouseLeave: this.handleMouseLeave, useWrapper: useWrapper } };default:throw new Error('Unknown trigger specified: ' + props.trigger);}};_proto.clearHoverTimeout = function clearHoverTimeout() {if (this.hoverTimeout) {clearTimeout(this.hoverTimeout);this.hoverTimeout = null;}};_proto.isClickOutsideContent = function isClickOutsideContent(event) {if (this.contentElement && event.target instanceof Element) {return !(0, _listenFocusOutside.containsTargetOrRenderContainer)(event.target)(this.contentElement);}return true;};return Tooltip;}(_react.default.PureComponent), _class2.__KONTUR_REACT_UI__ = 'Tooltip', _class2.propTypes = { children: function children(props, propName, componentName) {var children = props[propName];(0, _warning.default)(children || props.anchorElement, "[" + componentName + "]: you must provide either 'children' or 'anchorElement' prop for " + componentName + " to work properly");(0, _warning.default)(!(Array.isArray(children) && props.useWrapper === false), "[" + componentName + "]: you provided multiple children, but useWrapper={false} - forcing wrapper <span/> for positioning to work correctly");} }, _class2.defaultProps = { pos: _Popup.DefaultPosition, trigger: 'hover', allowedPositions: Positions, disableAnimations: _currentEnvironment.isTestEnv, useWrapper: false, closeOnChildrenMouseLeave: false }, _class2.delay = 100, _class2.triggersWithoutCloseButton = ['hover', 'hoverAnchor', 'focus', 'hover&focus'], _temp)) || _class;exports.Tooltip = Tooltip;
@@ -1 +1 @@
1
- {"version":3,"sources":["Tooltip.tsx"],"names":["Positions","Tooltip","rootNode","state","opened","focused","theme","hoverTimeout","contentElement","positions","clickedOutside","setRootNode","renderContent","content","props","render","refContent","styles","tooltipContent","renderCloseButton","getRenderLayerAnchorElement","node","open","setState","close","handleMouseEnter","event","isHoverAnchor","trigger","target","clearHoverTimeout","window","setTimeout","delay","handleMouseLeave","relatedTarget","handleClick","handleClickOutsideAnchor","isClickOutsideContent","onCloseRequest","handleFocus","handleBlur","handleCloseButtonClick","stopPropagation","onCloseClick","defaultPrevented","componentDidUpdate","prevProps","allowedPositions","pos","posChanged","allowedChanged","componentWillUnmount","ThemeFactory","create","popupPinOffset","tooltipPinOffset","popupMargin","tooltipMargin","popupBorder","tooltipBorder","popupBorderRadius","tooltipBorderRadius","popupPinSize","tooltipPinSize","popupPinOffsetX","tooltipPinOffsetX","popupPinOffsetY","tooltipPinOffsetY","renderMain","hasCross","closeButton","undefined","triggersWithoutCloseButton","includes","cross","show","hide","getProps","popupProps","layerProps","active","anchorElement","children","popup","renderPopup","disableAnimations","getPositions","onOpen","onClose","index","indexOf","Error","join","slice","useWrapper","onClickOutside","onMouseEnter","onMouseLeave","onClick","onFocus","onBlur","clearTimeout","Element","React","PureComponent","__KONTUR_REACT_UI__","propTypes","propName","componentName","Array","isArray","defaultProps","DefaultPosition","isTestEnv","closeOnChildrenMouseLeave"],"mappings":"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","sourcesContent":["import React from 'react';\nimport warning from 'warning';\nimport isEqual from 'lodash.isequal';\n\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport { DefaultPosition, Popup, PopupProps, PopupPositionsType } from '../../internal/Popup';\nimport { RenderLayer, RenderLayerProps } from '../../internal/RenderLayer';\nimport { CrossIcon } from '../../internal/icons/CrossIcon';\nimport { Nullable } from '../../typings/utility-types';\nimport { MouseEventType } from '../../typings/event-types';\nimport { containsTargetOrRenderContainer } from '../../lib/listenFocusOutside';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { isTestEnv } from '../../lib/currentEnvironment';\nimport { CommonProps, CommonWrapper } from '../../internal/CommonWrapper';\nimport { getRootNode, rootNode, TSetRootNode } from '../../lib/rootNode';\n\nimport { styles } from './Tooltip.styles';\n\nexport type TooltipTrigger =\n /** Наведение на children и на тултип */\n | 'hover'\n /** Клик на children */\n | 'click'\n /** Фокус на children */\n | 'focus'\n /** Наведение на children и на тултип и фокус на children */\n | 'hover&focus'\n /** Просто открыт */\n | 'opened'\n /** Просто закрыт */\n | 'closed'\n /** Наведение ТОЛЬКО на children, а не на тултип */\n | 'hoverAnchor'\n /** Управление через публичные функции show и hide */\n | 'manual';\n\nexport interface TooltipProps extends CommonProps {\n /**\n * Относительно какого элемента позиционировать тултип\n */\n anchorElement?: HTMLElement;\n\n /**\n * Если не указан `anchorElement` то тултип будет позиционироваться\n * относительно дочерних элементов\n */\n children?: React.ReactNode;\n\n className?: string;\n\n /**\n * Показывать крестик для закрытия тултипа. По-умолчанию крестик\n * показывается если проп *trigger* не `hover` и не `focus`.\n */\n closeButton?: boolean;\n\n /**\n * Функция, которая возвращает содержимое тултипа.\n *\n * Если эта функция вернула `null`, то тултип не показывается.\n */\n render?: Nullable<() => React.ReactNode>;\n\n /**\n * Значение по умолчанию: `\"top left\"`.\n */\n pos: PopupPositionsType;\n\n /**\n * Триггер открытия тултипа\n * ```ts\n * type TooltipTrigger =\n * | 'hover'\n * | 'click'\n * | 'focus'\n * | 'hover&focus'\n * | 'opened'\n * | 'closed'\n * | 'hoverAnchor'\n * | 'manual';\n * ```\n */\n trigger: TooltipTrigger;\n\n /**\n * Хэндлер, вызываемый при клике по крестику\n */\n onCloseClick?: React.MouseEventHandler<HTMLElement>;\n\n /**\n * Хэндлер, вызываемый при клике по крестику или\n * снаружи тултипа\n */\n onCloseRequest?: () => void;\n\n /**\n * Хэндлер, вызываемый при закрытии тултипа\n */\n onClose?: () => void;\n\n /**\n * Хэндлер, вызываемый при открытии тултипа\n */\n onOpen?: () => void;\n\n /**\n * Список позиций, которые тултип будет занимать.\n * Если положение тултипа в определенной позиции\n * будет выходить за край экрана, то будет выбрана\n * следующая позиция. Обязательно должен включать\n * позицию указанную в `pos`\n */\n allowedPositions: PopupPositionsType[];\n\n /**\n * Флаг отключения анимации.\n * @default false\n */\n disableAnimations: boolean;\n\n /**\n * Явно указывает, что вложенные элементы должны быть обёрнуты в `<span/>`. <br/> Используется для корректного позиционирования тултипа при двух и более вложенных элементах.\n *\n * _Примечание_: при **двух и более** вложенных элементах обёртка будет добавлена автоматически.\n */\n useWrapper: boolean;\n}\n\nexport interface TooltipState {\n opened: boolean;\n focused: boolean;\n}\n\nconst Positions: PopupPositionsType[] = [\n 'right bottom',\n 'right middle',\n 'right top',\n 'top right',\n 'top center',\n 'top left',\n 'left top',\n 'left middle',\n 'left bottom',\n 'bottom left',\n 'bottom center',\n 'bottom right',\n];\n\n@rootNode\nexport class Tooltip extends React.PureComponent<TooltipProps, TooltipState> {\n public static __KONTUR_REACT_UI__ = 'Tooltip';\n\n public static propTypes = {\n children(props: TooltipProps, propName: keyof TooltipProps, componentName: string) {\n const children = props[propName];\n warning(\n children || props.anchorElement,\n `[${componentName}]: you must provide either 'children' or 'anchorElement' prop for ${componentName} to work properly`,\n );\n warning(\n !(Array.isArray(children) && props.useWrapper === false),\n `[${componentName}]: you provided multiple children, but useWrapper={false} - forcing wrapper <span/> for positioning to work correctly`,\n );\n },\n };\n\n public static defaultProps = {\n pos: DefaultPosition,\n trigger: 'hover',\n allowedPositions: Positions,\n disableAnimations: isTestEnv,\n useWrapper: false,\n closeOnChildrenMouseLeave: false,\n };\n\n public static delay = 100;\n private static triggersWithoutCloseButton: TooltipTrigger[] = ['hover', 'hoverAnchor', 'focus', 'hover&focus'];\n\n public state: TooltipState = { opened: false, focused: false };\n private theme!: Theme;\n private hoverTimeout: Nullable<number> = null;\n private contentElement: Nullable<HTMLElement> = null;\n private positions: Nullable<PopupPositionsType[]> = null;\n private clickedOutside = true;\n private setRootNode!: TSetRootNode;\n\n public componentDidUpdate(prevProps: TooltipProps) {\n if (this.props.trigger === 'closed' && this.state.opened) {\n this.close();\n }\n\n const { allowedPositions, pos } = this.props;\n const posChanged = prevProps.pos !== pos;\n const allowedChanged = !isEqual(prevProps.allowedPositions, allowedPositions);\n\n if (posChanged || allowedChanged) {\n this.positions = null;\n }\n }\n\n public componentWillUnmount() {\n this.clearHoverTimeout();\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return (\n <ThemeContext.Provider\n value={ThemeFactory.create(\n {\n popupPinOffset: theme.tooltipPinOffset,\n popupMargin: theme.tooltipMargin,\n popupBorder: theme.tooltipBorder,\n popupBorderRadius: theme.tooltipBorderRadius,\n popupPinSize: theme.tooltipPinSize,\n popupPinOffsetX: theme.tooltipPinOffsetX,\n popupPinOffsetY: theme.tooltipPinOffsetY,\n },\n theme,\n )}\n >\n {this.renderMain()}\n </ThemeContext.Provider>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n public renderContent = () => {\n const content = this.props.render ? this.props.render() : null;\n if (content == null) {\n return null;\n }\n\n return (\n <div ref={this.refContent} className={styles.tooltipContent(this.theme)}>\n {content}\n {this.renderCloseButton()}\n </div>\n );\n };\n\n public renderCloseButton() {\n const hasCross =\n this.props.closeButton === undefined\n ? !Tooltip.triggersWithoutCloseButton.includes(this.props.trigger)\n : this.props.closeButton;\n\n if (!hasCross) {\n return null;\n }\n\n return (\n <div className={styles.cross(this.theme)} onClick={this.handleCloseButtonClick}>\n <CrossIcon />\n </div>\n );\n }\n\n /**\n * Программно открывает тултип.\n * <p>Не действует если проп *trigger* `'opened'` или `'closed'`.</p>\n * @public\n */\n public show() {\n if (this.state.opened) return;\n if (this.props.trigger === 'opened' || this.props.trigger === 'closed') {\n warning(true, `Function 'show' is not supported with trigger specified '${this.props.trigger}'`);\n return;\n }\n this.open();\n }\n\n /**\n * Программно закрывает тултип.\n * <p>Не действует если проп *trigger* `'opened'` или `'closed'`.</p>\n * @public\n */\n public hide() {\n if (this.props.trigger === 'opened' || this.props.trigger === 'closed') {\n warning(true, `Function 'hide' is not supported with trigger specified '${this.props.trigger}'`);\n return;\n }\n this.close();\n }\n\n private renderMain() {\n const props = this.props;\n const content = this.renderContent();\n const { popupProps, layerProps = { active: false } } = this.getProps();\n const anchorElement = props.children || props.anchorElement;\n const popup = this.renderPopup(anchorElement, popupProps, content);\n\n return (\n <RenderLayer {...layerProps} getAnchorElement={this.getRenderLayerAnchorElement}>\n {popup}\n </RenderLayer>\n );\n }\n\n private getRenderLayerAnchorElement = () => {\n return getRootNode(this);\n };\n\n private renderPopup(\n anchorElement: React.ReactNode | HTMLElement,\n popupProps: Partial<PopupProps>,\n content: JSX.Element | null,\n ) {\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <Popup\n anchorElement={anchorElement}\n hasPin\n hasShadow\n maxWidth=\"none\"\n opened={this.state.opened}\n disableAnimations={this.props.disableAnimations}\n positions={this.getPositions()}\n ignoreHover={this.props.trigger === 'hoverAnchor'}\n onOpen={this.props.onOpen}\n onClose={this.props.onClose}\n tryPreserveFirstRenderedPosition\n {...popupProps}\n >\n {content}\n </Popup>\n </CommonWrapper>\n );\n }\n\n private refContent = (node: HTMLElement | null) => {\n this.contentElement = node;\n };\n\n private getPositions() {\n if (!this.positions) {\n const allowedPositions = this.props.allowedPositions;\n const index = allowedPositions.indexOf(this.props.pos);\n if (index === -1) {\n throw new Error('Unexpected position passed to Tooltip. Expected one of: ' + allowedPositions.join(', '));\n }\n\n this.positions = [...allowedPositions.slice(index), ...allowedPositions.slice(0, index)];\n }\n\n return this.positions;\n }\n\n private getProps(): {\n layerProps?: Partial<RenderLayerProps>;\n popupProps: Partial<PopupProps>;\n } {\n const props = this.props;\n const useWrapper = !!props.children && props.useWrapper;\n switch (props.trigger) {\n case 'opened':\n return {\n layerProps: {\n active: true,\n onClickOutside: this.handleClickOutsideAnchor,\n },\n popupProps: {\n opened: true,\n useWrapper,\n },\n };\n\n case 'closed':\n return {\n popupProps: {\n opened: false,\n useWrapper,\n },\n };\n\n case 'hoverAnchor':\n case 'hover':\n return {\n popupProps: {\n onMouseEnter: this.handleMouseEnter,\n onMouseLeave: this.handleMouseLeave,\n useWrapper,\n },\n };\n case 'manual':\n return {\n popupProps: {\n useWrapper,\n },\n };\n case 'click':\n return {\n layerProps: {\n active: this.state.opened,\n onClickOutside: this.handleClickOutsideAnchor,\n },\n popupProps: {\n onClick: this.handleClick,\n useWrapper,\n },\n };\n\n case 'focus':\n return {\n popupProps: {\n onFocus: this.handleFocus,\n onBlur: this.handleBlur,\n useWrapper,\n },\n };\n\n case 'hover&focus':\n return {\n layerProps: {\n active: this.state.opened,\n onClickOutside: this.handleClickOutsideAnchor,\n },\n popupProps: {\n onFocus: this.handleFocus,\n onBlur: this.handleBlur,\n onMouseEnter: this.handleMouseEnter,\n onMouseLeave: this.handleMouseLeave,\n useWrapper,\n },\n };\n\n default:\n throw new Error('Unknown trigger specified: ' + props.trigger);\n }\n }\n\n private open = () => this.setState({ opened: true });\n\n private close = () => this.setState({ opened: false });\n\n private clearHoverTimeout() {\n if (this.hoverTimeout) {\n clearTimeout(this.hoverTimeout);\n this.hoverTimeout = null;\n }\n }\n\n private handleMouseEnter = (event: MouseEventType) => {\n const isHoverAnchor = this.props.trigger === 'hoverAnchor';\n if (isHoverAnchor && event.target === this.contentElement) {\n return;\n }\n\n this.clearHoverTimeout();\n\n this.hoverTimeout = window.setTimeout(this.open, Tooltip.delay);\n };\n\n private handleMouseLeave = (event: MouseEventType) => {\n if (\n (this.props.trigger === 'hover&focus' && this.state.focused) ||\n (this.props.trigger === 'hover' && event.relatedTarget === this.contentElement)\n ) {\n return;\n }\n\n this.clearHoverTimeout();\n\n if (this.props.trigger === 'hoverAnchor') {\n this.close();\n } else {\n this.hoverTimeout = window.setTimeout(this.close, Tooltip.delay);\n }\n };\n\n private handleClick = () => {\n this.open();\n };\n\n private handleClickOutsideAnchor = (event: Event) => {\n this.clickedOutside = this.isClickOutsideContent(event);\n if (this.clickedOutside) {\n if (this.props.onCloseRequest) {\n this.props.onCloseRequest();\n }\n this.close();\n }\n };\n\n private isClickOutsideContent(event: Event) {\n if (this.contentElement && event.target instanceof Element) {\n return !containsTargetOrRenderContainer(event.target)(this.contentElement);\n }\n\n return true;\n }\n\n private handleFocus = () => {\n this.setState({ focused: true });\n this.open();\n };\n\n private handleBlur = () => {\n if (this.props.trigger === 'hover&focus' && this.clickedOutside) {\n this.close();\n }\n\n if (this.props.trigger === 'focus') {\n this.close();\n }\n\n this.clickedOutside = true;\n this.setState({ focused: false });\n };\n\n private handleCloseButtonClick = (event: React.MouseEvent<HTMLElement>) => {\n event.stopPropagation();\n\n if (this.props.onCloseClick) {\n this.props.onCloseClick(event);\n }\n\n if (event.defaultPrevented) {\n return;\n }\n\n if (this.props.onCloseRequest) {\n this.props.onCloseRequest();\n }\n\n this.close();\n };\n}\n"]}
1
+ {"version":3,"sources":["Tooltip.tsx"],"names":["Positions","Tooltip","rootNode","state","opened","focused","theme","hoverTimeout","contentElement","positions","clickedOutside","setRootNode","popupRef","React","createRef","renderContent","content","props","render","refContent","styles","tooltipContent","renderCloseButton","getAnchorElement","current","anchorElement","node","open","setState","close","handleMouseEnter","event","isHoverAnchor","trigger","target","clearHoverTimeout","window","setTimeout","delay","handleMouseLeave","relatedTarget","handleClick","handleClickOutsideAnchor","isClickOutsideContent","onCloseRequest","handleFocus","handleBlur","handleCloseButtonClick","stopPropagation","onCloseClick","defaultPrevented","componentDidUpdate","prevProps","allowedPositions","pos","posChanged","allowedChanged","componentWillUnmount","ThemeFactory","create","popupPinOffset","tooltipPinOffset","popupMargin","tooltipMargin","popupBorder","tooltipBorder","popupBorderRadius","tooltipBorderRadius","popupPinSize","tooltipPinSize","popupPinOffsetX","tooltipPinOffsetX","popupPinOffsetY","tooltipPinOffsetY","renderMain","hasCross","closeButton","undefined","triggersWithoutCloseButton","includes","cross","show","hide","getProps","popupProps","layerProps","active","children","popup","renderPopup","disableAnimations","getPositions","onOpen","onClose","index","indexOf","Error","join","slice","useWrapper","onClickOutside","onMouseEnter","onMouseLeave","onClick","onFocus","onBlur","clearTimeout","Element","PureComponent","__KONTUR_REACT_UI__","propTypes","propName","componentName","Array","isArray","defaultProps","DefaultPosition","isTestEnv","closeOnChildrenMouseLeave"],"mappings":"qUAAA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;AACA;;;AAGA,2C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqHA,IAAMA,SAA+B,GAAG;AACtC,cADsC;AAEtC,cAFsC;AAGtC,WAHsC;AAItC,WAJsC;AAKtC,YALsC;AAMtC,UANsC;AAOtC,UAPsC;AAQtC,aARsC;AAStC,aATsC;AAUtC,aAVsC;AAWtC,eAXsC;AAYtC,cAZsC,CAAxC,C;;;;AAgBaC,O,OADZC,kB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8BQC,IAAAA,K,GAAsB,EAAEC,MAAM,EAAE,KAAV,EAAiBC,OAAO,EAAE,KAA1B,E;AACrBC,IAAAA,K;AACAC,IAAAA,Y,GAAiC,I;AACjCC,IAAAA,c,GAAwC,I;AACxCC,IAAAA,S,GAA4C,I;AAC5CC,IAAAA,c,GAAiB,I;AACjBC,IAAAA,W;;AAEAC,IAAAA,Q,gBAAWC,eAAMC,SAAN,E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+CZC,IAAAA,a,GAAgB,YAAM;AAC3B,UAAMC,OAAO,GAAG,MAAKC,KAAL,CAAWC,MAAX,GAAoB,MAAKD,KAAL,CAAWC,MAAX,EAApB,GAA0C,IAA1D;AACA,UAAIF,OAAO,IAAI,IAAf,EAAqB;AACnB,eAAO,IAAP;AACD;;AAED;AACE,8CAAK,GAAG,EAAE,MAAKG,UAAf,EAA2B,SAAS,EAAEC,gBAAOC,cAAP,CAAsB,MAAKf,KAA3B,CAAtC;AACGU,QAAAA,OADH;AAEG,cAAKM,iBAAL,EAFH,CADF;;;AAMD,K;;;;;;;;;;;;;;;;;;;AAmBMC,IAAAA,gB,GAAmB,YAA6B;AACrD,sCAAO,MAAKX,QAAL,CAAcY,OAArB,qBAAO,sBAAuBC,aAA9B;AACD,K;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuEON,IAAAA,U,GAAa,UAACO,IAAD,EAA8B;AACjD,YAAKlB,cAAL,GAAsBkB,IAAtB;AACD,K;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmGOC,IAAAA,I,GAAO,oBAAM,MAAKC,QAAL,CAAc,EAAExB,MAAM,EAAE,IAAV,EAAd,CAAN,E;;AAEPyB,IAAAA,K,GAAQ,oBAAM,MAAKD,QAAL,CAAc,EAAExB,MAAM,EAAE,KAAV,EAAd,CAAN,E;;;;;;;;;AASR0B,IAAAA,gB,GAAmB,UAACC,KAAD,EAA2B;AACpD,UAAMC,aAAa,GAAG,MAAKf,KAAL,CAAWgB,OAAX,KAAuB,aAA7C;AACA,UAAID,aAAa,IAAID,KAAK,CAACG,MAAN,KAAiB,MAAK1B,cAA3C,EAA2D;AACzD;AACD;;AAED,YAAK2B,iBAAL;;AAEA,YAAK5B,YAAL,GAAoB6B,MAAM,CAACC,UAAP,CAAkB,MAAKV,IAAvB,EAA6B1B,OAAO,CAACqC,KAArC,CAApB;AACD,K;;AAEOC,IAAAA,gB,GAAmB,UAACR,KAAD,EAA2B;AACpD;AACG,YAAKd,KAAL,CAAWgB,OAAX,KAAuB,aAAvB,IAAwC,MAAK9B,KAAL,CAAWE,OAApD;AACC,YAAKY,KAAL,CAAWgB,OAAX,KAAuB,OAAvB,IAAkCF,KAAK,CAACS,aAAN,KAAwB,MAAKhC,cAFlE;AAGE;AACA;AACD;;AAED,YAAK2B,iBAAL;;AAEA,UAAI,MAAKlB,KAAL,CAAWgB,OAAX,KAAuB,aAA3B,EAA0C;AACxC,cAAKJ,KAAL;AACD,OAFD,MAEO;AACL,cAAKtB,YAAL,GAAoB6B,MAAM,CAACC,UAAP,CAAkB,MAAKR,KAAvB,EAA8B5B,OAAO,CAACqC,KAAtC,CAApB;AACD;AACF,K;;AAEOG,IAAAA,W,GAAc,YAAM;AAC1B,YAAKd,IAAL;AACD,K;;AAEOe,IAAAA,wB,GAA2B,UAACX,KAAD,EAAkB;AACnD,YAAKrB,cAAL,GAAsB,MAAKiC,qBAAL,CAA2BZ,KAA3B,CAAtB;AACA,UAAI,MAAKrB,cAAT,EAAyB;AACvB,YAAI,MAAKO,KAAL,CAAW2B,cAAf,EAA+B;AAC7B,gBAAK3B,KAAL,CAAW2B,cAAX;AACD;AACD,cAAKf,KAAL;AACD;AACF,K;;;;;;;;;;AAUOgB,IAAAA,W,GAAc,YAAM;AAC1B,YAAKjB,QAAL,CAAc,EAAEvB,OAAO,EAAE,IAAX,EAAd;AACA,YAAKsB,IAAL;AACD,K;;AAEOmB,IAAAA,U,GAAa,YAAM;AACzB,UAAI,MAAK7B,KAAL,CAAWgB,OAAX,KAAuB,aAAvB,IAAwC,MAAKvB,cAAjD,EAAiE;AAC/D,cAAKmB,KAAL;AACD;;AAED,UAAI,MAAKZ,KAAL,CAAWgB,OAAX,KAAuB,OAA3B,EAAoC;AAClC,cAAKJ,KAAL;AACD;;AAED,YAAKnB,cAAL,GAAsB,IAAtB;AACA,YAAKkB,QAAL,CAAc,EAAEvB,OAAO,EAAE,KAAX,EAAd;AACD,K;;AAEO0C,IAAAA,sB,GAAyB,UAAChB,KAAD,EAA0C;AACzEA,MAAAA,KAAK,CAACiB,eAAN;;AAEA,UAAI,MAAK/B,KAAL,CAAWgC,YAAf,EAA6B;AAC3B,cAAKhC,KAAL,CAAWgC,YAAX,CAAwBlB,KAAxB;AACD;;AAED,UAAIA,KAAK,CAACmB,gBAAV,EAA4B;AAC1B;AACD;;AAED,UAAI,MAAKjC,KAAL,CAAW2B,cAAf,EAA+B;AAC7B,cAAK3B,KAAL,CAAW2B,cAAX;AACD;;AAED,YAAKf,KAAL;AACD,K,qDA1VMsB,kB,GAAP,4BAA0BC,SAA1B,EAAmD,CACjD,IAAI,KAAKnC,KAAL,CAAWgB,OAAX,KAAuB,QAAvB,IAAmC,KAAK9B,KAAL,CAAWC,MAAlD,EAA0D,CACxD,KAAKyB,KAAL,GACD,CAHgD,kBAKf,KAAKZ,KALU,CAKzCoC,gBALyC,eAKzCA,gBALyC,CAKvBC,GALuB,eAKvBA,GALuB,CAMjD,IAAMC,UAAU,GAAGH,SAAS,CAACE,GAAV,KAAkBA,GAArC,CACA,IAAME,cAAc,GAAG,CAAC,qBAAQJ,SAAS,CAACC,gBAAlB,EAAoCA,gBAApC,CAAxB,CAEA,IAAIE,UAAU,IAAIC,cAAlB,EAAkC,CAChC,KAAK/C,SAAL,GAAiB,IAAjB,CACD,CACF,C,QAEMgD,oB,GAAP,gCAA8B,CAC5B,KAAKtB,iBAAL,GACD,C,QAEMjB,M,GAAP,kBAAgB,mBACd,oBACE,6BAAC,0BAAD,CAAc,QAAd,QACG,UAACZ,KAAD,EAAW,CACV,MAAI,CAACA,KAAL,GAAaA,KAAb,CACA,oBACE,6BAAC,0BAAD,CAAc,QAAd,IACE,KAAK,EAAEoD,2BAAaC,MAAb,CACL,EACEC,cAAc,EAAEtD,KAAK,CAACuD,gBADxB,EAEEC,WAAW,EAAExD,KAAK,CAACyD,aAFrB,EAGEC,WAAW,EAAE1D,KAAK,CAAC2D,aAHrB,EAIEC,iBAAiB,EAAE5D,KAAK,CAAC6D,mBAJ3B,EAKEC,YAAY,EAAE9D,KAAK,CAAC+D,cALtB,EAMEC,eAAe,EAAEhE,KAAK,CAACiE,iBANzB,EAOEC,eAAe,EAAElE,KAAK,CAACmE,iBAPzB,EADK,EAULnE,KAVK,CADT,IAcG,MAAI,CAACoE,UAAL,EAdH,CADF,CAkBD,CArBH,CADF,CAyBD,C,QAgBMpD,iB,GAAP,6BAA2B,CACzB,IAAMqD,QAAQ,GACZ,KAAK1D,KAAL,CAAW2D,WAAX,KAA2BC,SAA3B,GACI,CAAC5E,OAAO,CAAC6E,0BAAR,CAAmCC,QAAnC,CAA4C,KAAK9D,KAAL,CAAWgB,OAAvD,CADL,GAEI,KAAKhB,KAAL,CAAW2D,WAHjB,CAKA,IAAI,CAACD,QAAL,EAAe,CACb,OAAO,IAAP,CACD,CAED,oBACE,sCAAK,SAAS,EAAEvD,gBAAO4D,KAAP,CAAa,KAAK1E,KAAlB,CAAhB,EAA0C,OAAO,EAAE,KAAKyC,sBAAxD,iBACE,6BAAC,oBAAD,OADF,CADF,CAKD,C,EAMD;AACF;AACA;AACA;AACA,K,OACSkC,I,GAAP,gBAAc,CACZ,IAAI,KAAK9E,KAAL,CAAWC,MAAf,EAAuB,OACvB,IAAI,KAAKa,KAAL,CAAWgB,OAAX,KAAuB,QAAvB,IAAmC,KAAKhB,KAAL,CAAWgB,OAAX,KAAuB,QAA9D,EAAwE,CACtE,sBAAQ,IAAR,gEAA0E,KAAKhB,KAAL,CAAWgB,OAArF,QACA,OACD,CACD,KAAKN,IAAL,GACD,C,CAED;AACF;AACA;AACA;AACA,K,QACSuD,I,GAAP,gBAAc,CACZ,IAAI,KAAKjE,KAAL,CAAWgB,OAAX,KAAuB,QAAvB,IAAmC,KAAKhB,KAAL,CAAWgB,OAAX,KAAuB,QAA9D,EAAwE,CACtE,sBAAQ,IAAR,gEAA0E,KAAKhB,KAAL,CAAWgB,OAArF,QACA,OACD,CACD,KAAKJ,KAAL,GACD,C,QAEO6C,U,GAAR,sBAAqB,CACnB,IAAMzD,KAAK,GAAG,KAAKA,KAAnB,CACA,IAAMD,OAAO,GAAG,KAAKD,aAAL,EAAhB,CAFmB,qBAGoC,KAAKoE,QAAL,EAHpC,CAGXC,UAHW,kBAGXA,UAHW,wCAGCC,UAHD,CAGCA,UAHD,sCAGc,EAAEC,MAAM,EAAE,KAAV,EAHd,yBAInB,IAAM7D,aAAa,GAAGR,KAAK,CAACsE,QAAN,IAAkBtE,KAAK,CAACQ,aAA9C,CACA,IAAM+D,KAAK,GAAG,KAAKC,WAAL,CAAiBhE,aAAjB,EAAgC2D,UAAhC,EAA4CpE,OAA5C,CAAd,CAEA,oBACE,6BAAC,wBAAD,6BAAiBqE,UAAjB,IAA6B,gBAAgB,EAAE,KAAK9D,gBAApD,KACGiE,KADH,CADF,CAKD,C,QAEOC,W,GAAR,qBACEhE,aADF,EAEE2D,UAFF,EAGEpE,OAHF,EAIE,CACA,oBACE,6BAAC,4BAAD,2BAAe,WAAW,EAAE,KAAKL,WAAjC,IAAkD,KAAKM,KAAvD,gBACE,6BAAC,YAAD,2BACE,aAAa,EAAEQ,aADjB,EAEE,MAAM,MAFR,EAGE,SAAS,MAHX,EAIE,QAAQ,EAAC,MAJX,EAKE,MAAM,EAAE,KAAKtB,KAAL,CAAWC,MALrB,EAME,iBAAiB,EAAE,KAAKa,KAAL,CAAWyE,iBANhC,EAOE,SAAS,EAAE,KAAKC,YAAL,EAPb,EAQE,WAAW,EAAE,KAAK1E,KAAL,CAAWgB,OAAX,KAAuB,aARtC,EASE,MAAM,EAAE,KAAKhB,KAAL,CAAW2E,MATrB,EAUE,OAAO,EAAE,KAAK3E,KAAL,CAAW4E,OAVtB,EAWE,gCAAgC,MAXlC,EAYE,GAAG,EAAE,KAAKjF,QAZZ,IAaMwE,UAbN,GAeGpE,OAfH,CADF,CADF,CAqBD,C,QAMO2E,Y,GAAR,wBAAuB,CACrB,IAAI,CAAC,KAAKlF,SAAV,EAAqB,CACnB,IAAM4C,gBAAgB,GAAG,KAAKpC,KAAL,CAAWoC,gBAApC,CACA,IAAMyC,KAAK,GAAGzC,gBAAgB,CAAC0C,OAAjB,CAAyB,KAAK9E,KAAL,CAAWqC,GAApC,CAAd,CACA,IAAIwC,KAAK,KAAK,CAAC,CAAf,EAAkB,CAChB,MAAM,IAAIE,KAAJ,CAAU,6DAA6D3C,gBAAgB,CAAC4C,IAAjB,CAAsB,IAAtB,CAAvE,CAAN,CACD,CAED,KAAKxF,SAAL,aAAqB4C,gBAAgB,CAAC6C,KAAjB,CAAuBJ,KAAvB,CAArB,EAAuDzC,gBAAgB,CAAC6C,KAAjB,CAAuB,CAAvB,EAA0BJ,KAA1B,CAAvD,EACD,CAED,OAAO,KAAKrF,SAAZ,CACD,C,QAEO0E,Q,GAAR,oBAGE,CACA,IAAMlE,KAAK,GAAG,KAAKA,KAAnB,CACA,IAAMkF,UAAU,GAAG,CAAC,CAAClF,KAAK,CAACsE,QAAR,IAAoBtE,KAAK,CAACkF,UAA7C,CACA,QAAQlF,KAAK,CAACgB,OAAd,GACE,KAAK,QAAL,CACE,OAAO,EACLoD,UAAU,EAAE,EACVC,MAAM,EAAE,IADE,EAEVc,cAAc,EAAE,KAAK1D,wBAFX,EADP,EAKL0C,UAAU,EAAE,EACVhF,MAAM,EAAE,IADE,EAEV+F,UAAU,EAAVA,UAFU,EALP,EAAP,CAWF,KAAK,QAAL,CACE,OAAO,EACLf,UAAU,EAAE,EACVhF,MAAM,EAAE,KADE,EAEV+F,UAAU,EAAVA,UAFU,EADP,EAAP,CAOF,KAAK,aAAL,CACA,KAAK,OAAL,CACE,OAAO,EACLf,UAAU,EAAE,EACViB,YAAY,EAAE,KAAKvE,gBADT,EAEVwE,YAAY,EAAE,KAAK/D,gBAFT,EAGV4D,UAAU,EAAVA,UAHU,EADP,EAAP,CAOF,KAAK,QAAL,CACE,OAAO,EACLf,UAAU,EAAE,EACVe,UAAU,EAAVA,UADU,EADP,EAAP,CAKF,KAAK,OAAL,CACE,OAAO,EACLd,UAAU,EAAE,EACVC,MAAM,EAAE,KAAKnF,KAAL,CAAWC,MADT,EAEVgG,cAAc,EAAE,KAAK1D,wBAFX,EADP,EAKL0C,UAAU,EAAE,EACVmB,OAAO,EAAE,KAAK9D,WADJ,EAEV0D,UAAU,EAAVA,UAFU,EALP,EAAP,CAWF,KAAK,OAAL,CACE,OAAO,EACLf,UAAU,EAAE,EACVoB,OAAO,EAAE,KAAK3D,WADJ,EAEV4D,MAAM,EAAE,KAAK3D,UAFH,EAGVqD,UAAU,EAAVA,UAHU,EADP,EAAP,CAQF,KAAK,aAAL,CACE,OAAO,EACLd,UAAU,EAAE,EACVC,MAAM,EAAE,KAAKnF,KAAL,CAAWC,MADT,EAEVgG,cAAc,EAAE,KAAK1D,wBAFX,EADP,EAKL0C,UAAU,EAAE,EACVoB,OAAO,EAAE,KAAK3D,WADJ,EAEV4D,MAAM,EAAE,KAAK3D,UAFH,EAGVuD,YAAY,EAAE,KAAKvE,gBAHT,EAIVwE,YAAY,EAAE,KAAK/D,gBAJT,EAKV4D,UAAU,EAAVA,UALU,EALP,EAAP,CAcF,QACE,MAAM,IAAIH,KAAJ,CAAU,gCAAgC/E,KAAK,CAACgB,OAAhD,CAAN,CAzEJ,CA2ED,C,QAMOE,iB,GAAR,6BAA4B,CAC1B,IAAI,KAAK5B,YAAT,EAAuB,CACrBmG,YAAY,CAAC,KAAKnG,YAAN,CAAZ,CACA,KAAKA,YAAL,GAAoB,IAApB,CACD,CACF,C,QA4COoC,qB,GAAR,+BAA8BZ,KAA9B,EAA4C,CAC1C,IAAI,KAAKvB,cAAL,IAAuBuB,KAAK,CAACG,MAAN,YAAwByE,OAAnD,EAA4D,CAC1D,OAAO,CAAC,yDAAgC5E,KAAK,CAACG,MAAtC,EAA8C,KAAK1B,cAAnD,CAAR,CACD,CAED,OAAO,IAAP,CACD,C,kBA5V0BK,eAAM+F,a,WACnBC,mB,GAAsB,S,UAEtBC,S,GAAY,EACxBvB,QADwB,oBACftE,KADe,EACM8F,QADN,EACoCC,aADpC,EAC2D,CACjF,IAAMzB,QAAQ,GAAGtE,KAAK,CAAC8F,QAAD,CAAtB,CACA,sBACExB,QAAQ,IAAItE,KAAK,CAACQ,aADpB,QAEMuF,aAFN,0EAEwFA,aAFxF,wBAIA,sBACE,EAAEC,KAAK,CAACC,OAAN,CAAc3B,QAAd,KAA2BtE,KAAK,CAACkF,UAAN,KAAqB,KAAlD,CADF,QAEMa,aAFN,4HAID,CAXuB,E,UAcZG,Y,GAAe,EAC3B7D,GAAG,EAAE8D,sBADsB,EAE3BnF,OAAO,EAAE,OAFkB,EAG3BoB,gBAAgB,EAAErD,SAHS,EAI3B0F,iBAAiB,EAAE2B,6BAJQ,EAK3BlB,UAAU,EAAE,KALe,EAM3BmB,yBAAyB,EAAE,KANA,E,UASfhF,K,GAAQ,G,UACPwC,0B,GAA+C,CAAC,OAAD,EAAU,aAAV,EAAyB,OAAzB,EAAkC,aAAlC,C","sourcesContent":["import React from 'react';\nimport warning from 'warning';\nimport isEqual from 'lodash.isequal';\n\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport { DefaultPosition, Popup, PopupProps, PopupPositionsType } from '../../internal/Popup';\nimport { RenderLayer, RenderLayerProps } from '../../internal/RenderLayer';\nimport { CrossIcon } from '../../internal/icons/CrossIcon';\nimport { Nullable } from '../../typings/utility-types';\nimport { MouseEventType } from '../../typings/event-types';\nimport { containsTargetOrRenderContainer } from '../../lib/listenFocusOutside';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { isTestEnv } from '../../lib/currentEnvironment';\nimport { CommonProps, CommonWrapper } from '../../internal/CommonWrapper';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { InstanceWithAnchorElement } from '../../lib/InstanceWithAnchorElement';\n\nimport { styles } from './Tooltip.styles';\n\nexport type TooltipTrigger =\n /** Наведение на children и на тултип */\n | 'hover'\n /** Клик на children */\n | 'click'\n /** Фокус на children */\n | 'focus'\n /** Наведение на children и на тултип и фокус на children */\n | 'hover&focus'\n /** Просто открыт */\n | 'opened'\n /** Просто закрыт */\n | 'closed'\n /** Наведение ТОЛЬКО на children, а не на тултип */\n | 'hoverAnchor'\n /** Управление через публичные функции show и hide */\n | 'manual';\n\nexport interface TooltipProps extends CommonProps {\n /**\n * Относительно какого элемента позиционировать тултип\n */\n anchorElement?: HTMLElement;\n\n /**\n * Если не указан `anchorElement` то тултип будет позиционироваться\n * относительно дочерних элементов\n */\n children?: React.ReactNode;\n\n className?: string;\n\n /**\n * Показывать крестик для закрытия тултипа. По-умолчанию крестик\n * показывается если проп *trigger* не `hover` и не `focus`.\n */\n closeButton?: boolean;\n\n /**\n * Функция, которая возвращает содержимое тултипа.\n *\n * Если эта функция вернула `null`, то тултип не показывается.\n */\n render?: Nullable<() => React.ReactNode>;\n\n /**\n * Значение по умолчанию: `\"top left\"`.\n */\n pos: PopupPositionsType;\n\n /**\n * Триггер открытия тултипа\n * ```ts\n * type TooltipTrigger =\n * | 'hover'\n * | 'click'\n * | 'focus'\n * | 'hover&focus'\n * | 'opened'\n * | 'closed'\n * | 'hoverAnchor'\n * | 'manual';\n * ```\n */\n trigger: TooltipTrigger;\n\n /**\n * Хэндлер, вызываемый при клике по крестику\n */\n onCloseClick?: React.MouseEventHandler<HTMLElement>;\n\n /**\n * Хэндлер, вызываемый при клике по крестику или\n * снаружи тултипа\n */\n onCloseRequest?: () => void;\n\n /**\n * Хэндлер, вызываемый при закрытии тултипа\n */\n onClose?: () => void;\n\n /**\n * Хэндлер, вызываемый при открытии тултипа\n */\n onOpen?: () => void;\n\n /**\n * Список позиций, которые тултип будет занимать.\n * Если положение тултипа в определенной позиции\n * будет выходить за край экрана, то будет выбрана\n * следующая позиция. Обязательно должен включать\n * позицию указанную в `pos`\n */\n allowedPositions: PopupPositionsType[];\n\n /**\n * Флаг отключения анимации.\n * @default false\n */\n disableAnimations: boolean;\n\n /**\n * Явно указывает, что вложенные элементы должны быть обёрнуты в `<span/>`. <br/> Используется для корректного позиционирования тултипа при двух и более вложенных элементах.\n *\n * _Примечание_: при **двух и более** вложенных элементах обёртка будет добавлена автоматически.\n */\n useWrapper: boolean;\n}\n\nexport interface TooltipState {\n opened: boolean;\n focused: boolean;\n}\n\nconst Positions: PopupPositionsType[] = [\n 'right bottom',\n 'right middle',\n 'right top',\n 'top right',\n 'top center',\n 'top left',\n 'left top',\n 'left middle',\n 'left bottom',\n 'bottom left',\n 'bottom center',\n 'bottom right',\n];\n\n@rootNode\nexport class Tooltip extends React.PureComponent<TooltipProps, TooltipState> implements InstanceWithAnchorElement {\n public static __KONTUR_REACT_UI__ = 'Tooltip';\n\n public static propTypes = {\n children(props: TooltipProps, propName: keyof TooltipProps, componentName: string) {\n const children = props[propName];\n warning(\n children || props.anchorElement,\n `[${componentName}]: you must provide either 'children' or 'anchorElement' prop for ${componentName} to work properly`,\n );\n warning(\n !(Array.isArray(children) && props.useWrapper === false),\n `[${componentName}]: you provided multiple children, but useWrapper={false} - forcing wrapper <span/> for positioning to work correctly`,\n );\n },\n };\n\n public static defaultProps = {\n pos: DefaultPosition,\n trigger: 'hover',\n allowedPositions: Positions,\n disableAnimations: isTestEnv,\n useWrapper: false,\n closeOnChildrenMouseLeave: false,\n };\n\n public static delay = 100;\n private static triggersWithoutCloseButton: TooltipTrigger[] = ['hover', 'hoverAnchor', 'focus', 'hover&focus'];\n\n public state: TooltipState = { opened: false, focused: false };\n private theme!: Theme;\n private hoverTimeout: Nullable<number> = null;\n private contentElement: Nullable<HTMLElement> = null;\n private positions: Nullable<PopupPositionsType[]> = null;\n private clickedOutside = true;\n private setRootNode!: TSetRootNode;\n\n private popupRef = React.createRef<Popup>();\n public componentDidUpdate(prevProps: TooltipProps) {\n if (this.props.trigger === 'closed' && this.state.opened) {\n this.close();\n }\n\n const { allowedPositions, pos } = this.props;\n const posChanged = prevProps.pos !== pos;\n const allowedChanged = !isEqual(prevProps.allowedPositions, allowedPositions);\n\n if (posChanged || allowedChanged) {\n this.positions = null;\n }\n }\n\n public componentWillUnmount() {\n this.clearHoverTimeout();\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return (\n <ThemeContext.Provider\n value={ThemeFactory.create(\n {\n popupPinOffset: theme.tooltipPinOffset,\n popupMargin: theme.tooltipMargin,\n popupBorder: theme.tooltipBorder,\n popupBorderRadius: theme.tooltipBorderRadius,\n popupPinSize: theme.tooltipPinSize,\n popupPinOffsetX: theme.tooltipPinOffsetX,\n popupPinOffsetY: theme.tooltipPinOffsetY,\n },\n theme,\n )}\n >\n {this.renderMain()}\n </ThemeContext.Provider>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n public renderContent = () => {\n const content = this.props.render ? this.props.render() : null;\n if (content == null) {\n return null;\n }\n\n return (\n <div ref={this.refContent} className={styles.tooltipContent(this.theme)}>\n {content}\n {this.renderCloseButton()}\n </div>\n );\n };\n\n public renderCloseButton() {\n const hasCross =\n this.props.closeButton === undefined\n ? !Tooltip.triggersWithoutCloseButton.includes(this.props.trigger)\n : this.props.closeButton;\n\n if (!hasCross) {\n return null;\n }\n\n return (\n <div className={styles.cross(this.theme)} onClick={this.handleCloseButtonClick}>\n <CrossIcon />\n </div>\n );\n }\n\n public getAnchorElement = (): Nullable<HTMLElement> => {\n return this.popupRef.current?.anchorElement;\n };\n\n /**\n * Программно открывает тултип.\n * <p>Не действует если проп *trigger* `'opened'` или `'closed'`.</p>\n * @public\n */\n public show() {\n if (this.state.opened) return;\n if (this.props.trigger === 'opened' || this.props.trigger === 'closed') {\n warning(true, `Function 'show' is not supported with trigger specified '${this.props.trigger}'`);\n return;\n }\n this.open();\n }\n\n /**\n * Программно закрывает тултип.\n * <p>Не действует если проп *trigger* `'opened'` или `'closed'`.</p>\n * @public\n */\n public hide() {\n if (this.props.trigger === 'opened' || this.props.trigger === 'closed') {\n warning(true, `Function 'hide' is not supported with trigger specified '${this.props.trigger}'`);\n return;\n }\n this.close();\n }\n\n private renderMain() {\n const props = this.props;\n const content = this.renderContent();\n const { popupProps, layerProps = { active: false } } = this.getProps();\n const anchorElement = props.children || props.anchorElement;\n const popup = this.renderPopup(anchorElement, popupProps, content);\n\n return (\n <RenderLayer {...layerProps} getAnchorElement={this.getAnchorElement}>\n {popup}\n </RenderLayer>\n );\n }\n\n private renderPopup(\n anchorElement: React.ReactNode | HTMLElement,\n popupProps: Partial<PopupProps>,\n content: JSX.Element | null,\n ) {\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <Popup\n anchorElement={anchorElement}\n hasPin\n hasShadow\n maxWidth=\"none\"\n opened={this.state.opened}\n disableAnimations={this.props.disableAnimations}\n positions={this.getPositions()}\n ignoreHover={this.props.trigger === 'hoverAnchor'}\n onOpen={this.props.onOpen}\n onClose={this.props.onClose}\n tryPreserveFirstRenderedPosition\n ref={this.popupRef}\n {...popupProps}\n >\n {content}\n </Popup>\n </CommonWrapper>\n );\n }\n\n private refContent = (node: HTMLElement | null) => {\n this.contentElement = node;\n };\n\n private getPositions() {\n if (!this.positions) {\n const allowedPositions = this.props.allowedPositions;\n const index = allowedPositions.indexOf(this.props.pos);\n if (index === -1) {\n throw new Error('Unexpected position passed to Tooltip. Expected one of: ' + allowedPositions.join(', '));\n }\n\n this.positions = [...allowedPositions.slice(index), ...allowedPositions.slice(0, index)];\n }\n\n return this.positions;\n }\n\n private getProps(): {\n layerProps?: Partial<RenderLayerProps>;\n popupProps: Partial<PopupProps>;\n } {\n const props = this.props;\n const useWrapper = !!props.children && props.useWrapper;\n switch (props.trigger) {\n case 'opened':\n return {\n layerProps: {\n active: true,\n onClickOutside: this.handleClickOutsideAnchor,\n },\n popupProps: {\n opened: true,\n useWrapper,\n },\n };\n\n case 'closed':\n return {\n popupProps: {\n opened: false,\n useWrapper,\n },\n };\n\n case 'hoverAnchor':\n case 'hover':\n return {\n popupProps: {\n onMouseEnter: this.handleMouseEnter,\n onMouseLeave: this.handleMouseLeave,\n useWrapper,\n },\n };\n case 'manual':\n return {\n popupProps: {\n useWrapper,\n },\n };\n case 'click':\n return {\n layerProps: {\n active: this.state.opened,\n onClickOutside: this.handleClickOutsideAnchor,\n },\n popupProps: {\n onClick: this.handleClick,\n useWrapper,\n },\n };\n\n case 'focus':\n return {\n popupProps: {\n onFocus: this.handleFocus,\n onBlur: this.handleBlur,\n useWrapper,\n },\n };\n\n case 'hover&focus':\n return {\n layerProps: {\n active: this.state.opened,\n onClickOutside: this.handleClickOutsideAnchor,\n },\n popupProps: {\n onFocus: this.handleFocus,\n onBlur: this.handleBlur,\n onMouseEnter: this.handleMouseEnter,\n onMouseLeave: this.handleMouseLeave,\n useWrapper,\n },\n };\n\n default:\n throw new Error('Unknown trigger specified: ' + props.trigger);\n }\n }\n\n private open = () => this.setState({ opened: true });\n\n private close = () => this.setState({ opened: false });\n\n private clearHoverTimeout() {\n if (this.hoverTimeout) {\n clearTimeout(this.hoverTimeout);\n this.hoverTimeout = null;\n }\n }\n\n private handleMouseEnter = (event: MouseEventType) => {\n const isHoverAnchor = this.props.trigger === 'hoverAnchor';\n if (isHoverAnchor && event.target === this.contentElement) {\n return;\n }\n\n this.clearHoverTimeout();\n\n this.hoverTimeout = window.setTimeout(this.open, Tooltip.delay);\n };\n\n private handleMouseLeave = (event: MouseEventType) => {\n if (\n (this.props.trigger === 'hover&focus' && this.state.focused) ||\n (this.props.trigger === 'hover' && event.relatedTarget === this.contentElement)\n ) {\n return;\n }\n\n this.clearHoverTimeout();\n\n if (this.props.trigger === 'hoverAnchor') {\n this.close();\n } else {\n this.hoverTimeout = window.setTimeout(this.close, Tooltip.delay);\n }\n };\n\n private handleClick = () => {\n this.open();\n };\n\n private handleClickOutsideAnchor = (event: Event) => {\n this.clickedOutside = this.isClickOutsideContent(event);\n if (this.clickedOutside) {\n if (this.props.onCloseRequest) {\n this.props.onCloseRequest();\n }\n this.close();\n }\n };\n\n private isClickOutsideContent(event: Event) {\n if (this.contentElement && event.target instanceof Element) {\n return !containsTargetOrRenderContainer(event.target)(this.contentElement);\n }\n\n return true;\n }\n\n private handleFocus = () => {\n this.setState({ focused: true });\n this.open();\n };\n\n private handleBlur = () => {\n if (this.props.trigger === 'hover&focus' && this.clickedOutside) {\n this.close();\n }\n\n if (this.props.trigger === 'focus') {\n this.close();\n }\n\n this.clickedOutside = true;\n this.setState({ focused: false });\n };\n\n private handleCloseButtonClick = (event: React.MouseEvent<HTMLElement>) => {\n event.stopPropagation();\n\n if (this.props.onCloseClick) {\n this.props.onCloseClick(event);\n }\n\n if (event.defaultPrevented) {\n return;\n }\n\n if (this.props.onCloseRequest) {\n this.props.onCloseRequest();\n }\n\n this.close();\n };\n}\n"]}
@@ -270,7 +270,7 @@ class AnchorTooltipExample extends React.Component {
270
270
  return (
271
271
  <>
272
272
  {this.state.anchor ? (
273
- <Tooltip anchorElement={this.state.anchor} render={() => 'Hello React'} trigger="opened" />
273
+ <Tooltip anchorElement={this.state.anchor} render={() => 'Hello React'} trigger="hover" />
274
274
  ) : null}
275
275
  <div style={containerStyle}>
276
276
  {this.state.blocks.map(({ top, left }, i) => (
@@ -1,5 +1,5 @@
1
- import { Theme } from '../../lib/theming/Theme';
2
- export declare const styles: {
3
- cross(t: Theme): string;
4
- tooltipContent(t: Theme): string;
5
- };
1
+ import { Theme } from '../../lib/theming/Theme';
2
+ export declare const styles: {
3
+ cross(t: Theme): string;
4
+ tooltipContent(t: Theme): string;
5
+ };
@@ -1 +1 @@
1
- export * from './Tooltip';
1
+ export * from './Tooltip';