@skbkontur/react-ui 0.0.0-8824ede9eb → 0.0.0-8ea1692541

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 (708) hide show
  1. package/CHANGELOG.md +58 -0
  2. package/cjs/components/Autocomplete/Autocomplete.d.ts +9 -17
  3. package/cjs/components/Autocomplete/Autocomplete.js +13 -7
  4. package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
  5. package/cjs/components/Button/Button.d.ts +4 -5
  6. package/cjs/components/Button/Button.js +8 -3
  7. package/cjs/components/Button/Button.js.map +1 -1
  8. package/cjs/components/Button/Button.mixins.js +1 -1
  9. package/cjs/components/Button/Button.mixins.js.map +1 -1
  10. package/cjs/components/Button/Button.styles.js +18 -18
  11. package/cjs/components/Button/Button.styles.js.map +1 -1
  12. package/cjs/components/Center/Center.d.ts +4 -3
  13. package/cjs/components/Center/Center.js +9 -3
  14. package/cjs/components/Center/Center.js.map +1 -1
  15. package/cjs/components/Checkbox/Checkbox.js +4 -2
  16. package/cjs/components/Checkbox/Checkbox.js.map +1 -1
  17. package/cjs/components/Checkbox/Checkbox.md +48 -0
  18. package/cjs/components/Checkbox/Checkbox.styles.d.ts +1 -1
  19. package/cjs/components/Checkbox/Checkbox.styles.js +1 -1
  20. package/cjs/components/Checkbox/Checkbox.styles.js.map +1 -1
  21. package/cjs/components/ComboBox/ComboBox.d.ts +8 -13
  22. package/cjs/components/ComboBox/ComboBox.js +12 -2
  23. package/cjs/components/ComboBox/ComboBox.js.map +1 -1
  24. package/cjs/components/CurrencyInput/CurrencyInput.d.ts +6 -9
  25. package/cjs/components/CurrencyInput/CurrencyInput.js +25 -10
  26. package/cjs/components/CurrencyInput/CurrencyInput.js.map +1 -1
  27. package/cjs/components/CurrencyInput/CurrencyInputKeyboardActions.d.ts +3 -1
  28. package/cjs/components/CurrencyInput/CurrencyInputKeyboardActions.js +14 -2
  29. package/cjs/components/CurrencyInput/CurrencyInputKeyboardActions.js.map +1 -1
  30. package/cjs/components/CurrencyLabel/CurrencyLabel.d.ts +3 -9
  31. package/cjs/components/CurrencyLabel/CurrencyLabel.js +15 -15
  32. package/cjs/components/CurrencyLabel/CurrencyLabel.js.map +1 -1
  33. package/cjs/components/DateInput/DateFragmentsView.d.ts +1 -1
  34. package/cjs/components/DateInput/DateFragmentsView.js +10 -1
  35. package/cjs/components/DateInput/DateFragmentsView.js.map +1 -1
  36. package/cjs/components/DateInput/DateInput.d.ts +9 -12
  37. package/cjs/components/DateInput/DateInput.js +11 -3
  38. package/cjs/components/DateInput/DateInput.js.map +1 -1
  39. package/cjs/components/DateInput/helpers/DateInputKeyboardActions.js +1 -2
  40. package/cjs/components/DateInput/helpers/DateInputKeyboardActions.js.map +1 -1
  41. package/cjs/components/DateInput/helpers/SelectionHelpers.js +2 -2
  42. package/cjs/components/DateInput/helpers/SelectionHelpers.js.map +1 -1
  43. package/cjs/components/DatePicker/DatePicker.d.ts +7 -9
  44. package/cjs/components/DatePicker/DatePicker.js +23 -9
  45. package/cjs/components/DatePicker/DatePicker.js.map +1 -1
  46. package/cjs/components/DatePicker/Picker.js +5 -1
  47. package/cjs/components/DatePicker/Picker.js.map +1 -1
  48. package/cjs/components/DropdownMenu/DropdownMenu.d.ts +5 -5
  49. package/cjs/components/DropdownMenu/DropdownMenu.js +9 -3
  50. package/cjs/components/DropdownMenu/DropdownMenu.js.map +1 -1
  51. package/cjs/components/FileUploader/FileUploader.js +2 -2
  52. package/cjs/components/FileUploader/FileUploader.js.map +1 -1
  53. package/cjs/components/FileUploader/FileUploader.md +8 -1
  54. package/cjs/components/FxInput/FxInput.d.ts +6 -6
  55. package/cjs/components/FxInput/FxInput.js +16 -11
  56. package/cjs/components/FxInput/FxInput.js.map +1 -1
  57. package/cjs/components/Gapped/Gapped.d.ts +7 -8
  58. package/cjs/components/Gapped/Gapped.js +12 -6
  59. package/cjs/components/Gapped/Gapped.js.map +1 -1
  60. package/cjs/components/GlobalLoader/GlobalLoader.d.ts +7 -14
  61. package/cjs/components/GlobalLoader/GlobalLoader.js +13 -9
  62. package/cjs/components/GlobalLoader/GlobalLoader.js.map +1 -1
  63. package/cjs/components/GlobalLoader/GlobalLoaderView.d.ts +2 -2
  64. package/cjs/components/GlobalLoader/GlobalLoaderView.js.map +1 -1
  65. package/cjs/components/Hint/Hint.d.ts +8 -12
  66. package/cjs/components/Hint/Hint.js +15 -5
  67. package/cjs/components/Hint/Hint.js.map +1 -1
  68. package/cjs/components/Hint/Hint.md +14 -0
  69. package/cjs/components/Input/Input.d.ts +4 -3
  70. package/cjs/components/Input/Input.js +10 -5
  71. package/cjs/components/Input/Input.js.map +1 -1
  72. package/cjs/components/Input/Input.md +5 -1
  73. package/cjs/components/Kebab/Kebab.d.ts +8 -15
  74. package/cjs/components/Kebab/Kebab.js +14 -5
  75. package/cjs/components/Kebab/Kebab.js.map +1 -1
  76. package/cjs/components/Link/Link.d.ts +5 -7
  77. package/cjs/components/Link/Link.js +12 -5
  78. package/cjs/components/Link/Link.js.map +1 -1
  79. package/cjs/components/Loader/Loader.d.ts +9 -5
  80. package/cjs/components/Loader/Loader.js +15 -4
  81. package/cjs/components/Loader/Loader.js.map +1 -1
  82. package/cjs/components/Loader/__stories__/LoaderAndButton.js +6 -0
  83. package/cjs/components/Loader/__stories__/LoaderAndButton.js.map +1 -1
  84. package/cjs/components/MenuItem/MenuItem.js +3 -1
  85. package/cjs/components/MenuItem/MenuItem.js.map +1 -1
  86. package/cjs/components/Modal/Modal.d.ts +4 -3
  87. package/cjs/components/Modal/Modal.js +9 -4
  88. package/cjs/components/Modal/Modal.js.map +1 -1
  89. package/cjs/components/Modal/Modal.styles.d.ts +2 -2
  90. package/cjs/components/Modal/Modal.styles.js +2 -2
  91. package/cjs/components/Modal/Modal.styles.js.map +1 -1
  92. package/cjs/components/Modal/ModalBody.js +2 -2
  93. package/cjs/components/Modal/ModalBody.js.map +1 -1
  94. package/cjs/components/Modal/ModalFooter.js +1 -1
  95. package/cjs/components/Modal/ModalFooter.js.map +1 -1
  96. package/cjs/components/Modal/ModalHeader.js +1 -1
  97. package/cjs/components/Modal/ModalHeader.js.map +1 -1
  98. package/cjs/components/Paging/Paging.d.ts +7 -10
  99. package/cjs/components/Paging/Paging.js +16 -6
  100. package/cjs/components/Paging/Paging.js.map +1 -1
  101. package/cjs/components/Paging/PagingDefaultComponent.d.ts +3 -3
  102. package/cjs/components/Paging/PagingDefaultComponent.js.map +1 -1
  103. package/cjs/components/PasswordInput/PasswordInput.d.ts +4 -3
  104. package/cjs/components/PasswordInput/PasswordInput.js +14 -7
  105. package/cjs/components/PasswordInput/PasswordInput.js.map +1 -1
  106. package/cjs/components/Radio/Radio.d.ts +4 -3
  107. package/cjs/components/Radio/Radio.js +11 -4
  108. package/cjs/components/Radio/Radio.js.map +1 -1
  109. package/cjs/components/RadioGroup/RadioGroup.d.ts +2 -4
  110. package/cjs/components/RadioGroup/RadioGroup.js +4 -2
  111. package/cjs/components/RadioGroup/RadioGroup.js.map +1 -1
  112. package/cjs/components/ResponsiveLayout/ResponsiveLayoutEvents.js +2 -2
  113. package/cjs/components/ResponsiveLayout/ResponsiveLayoutEvents.js.map +1 -1
  114. package/cjs/components/ScrollContainer/ScrollContainer.d.ts +7 -8
  115. package/cjs/components/ScrollContainer/ScrollContainer.helpers.js +4 -4
  116. package/cjs/components/ScrollContainer/ScrollContainer.helpers.js.map +1 -1
  117. package/cjs/components/ScrollContainer/ScrollContainer.js +12 -6
  118. package/cjs/components/ScrollContainer/ScrollContainer.js.map +1 -1
  119. package/cjs/components/Select/Item.d.ts +4 -2
  120. package/cjs/components/Select/Item.js +3 -0
  121. package/cjs/components/Select/Item.js.map +1 -1
  122. package/cjs/components/Select/Select.d.ts +3 -12
  123. package/cjs/components/Select/Select.js +8 -1
  124. package/cjs/components/Select/Select.js.map +1 -1
  125. package/cjs/components/Select/Select.styles.js +4 -4
  126. package/cjs/components/Select/Select.styles.js.map +1 -1
  127. package/cjs/components/SidePage/SidePage.d.ts +5 -6
  128. package/cjs/components/SidePage/SidePage.js +8 -1
  129. package/cjs/components/SidePage/SidePage.js.map +1 -1
  130. package/cjs/components/SidePage/SidePageFooter.d.ts +6 -4
  131. package/cjs/components/SidePage/SidePageFooter.js +4 -0
  132. package/cjs/components/SidePage/SidePageFooter.js.map +1 -1
  133. package/cjs/components/Spinner/Spinner.d.ts +4 -2
  134. package/cjs/components/Spinner/Spinner.js +10 -4
  135. package/cjs/components/Spinner/Spinner.js.map +1 -1
  136. package/cjs/components/Spinner/Spinner.styles.d.ts +1 -1
  137. package/cjs/components/Spinner/Spinner.styles.js +7 -7
  138. package/cjs/components/Spinner/Spinner.styles.js.map +1 -1
  139. package/cjs/components/Sticky/Sticky.d.ts +5 -4
  140. package/cjs/components/Sticky/Sticky.js +9 -2
  141. package/cjs/components/Sticky/Sticky.js.map +1 -1
  142. package/cjs/components/Tabs/Indicator.d.ts +1 -1
  143. package/cjs/components/Tabs/Indicator.js +1 -1
  144. package/cjs/components/Tabs/Indicator.js.map +1 -1
  145. package/cjs/components/Tabs/Tab.d.ts +4 -4
  146. package/cjs/components/Tabs/Tab.js +11 -13
  147. package/cjs/components/Tabs/Tab.js.map +1 -1
  148. package/cjs/components/Tabs/Tabs.d.ts +4 -4
  149. package/cjs/components/Tabs/Tabs.js +12 -3
  150. package/cjs/components/Tabs/Tabs.js.map +1 -1
  151. package/cjs/components/Textarea/Textarea.d.ts +8 -10
  152. package/cjs/components/Textarea/Textarea.js +13 -7
  153. package/cjs/components/Textarea/Textarea.js.map +1 -1
  154. package/cjs/components/Textarea/TextareaCounter.d.ts +2 -2
  155. package/cjs/components/Textarea/TextareaCounter.js.map +1 -1
  156. package/cjs/components/Toast/Toast.js +1 -1
  157. package/cjs/components/Toast/Toast.js.map +1 -1
  158. package/cjs/components/Toggle/Toggle.d.ts +5 -6
  159. package/cjs/components/Toggle/Toggle.js +10 -4
  160. package/cjs/components/Toggle/Toggle.js.map +1 -1
  161. package/cjs/components/TokenInput/TokenInput.d.ts +19 -16
  162. package/cjs/components/TokenInput/TokenInput.js +76 -59
  163. package/cjs/components/TokenInput/TokenInput.js.map +1 -1
  164. package/cjs/components/TokenInput/TokenInputMenu.d.ts +2 -1
  165. package/cjs/components/TokenInput/TokenInputMenu.js +1 -1
  166. package/cjs/components/TokenInput/TokenInputMenu.js.map +1 -1
  167. package/cjs/components/Tooltip/Tooltip.d.ts +13 -19
  168. package/cjs/components/Tooltip/Tooltip.js +27 -24
  169. package/cjs/components/Tooltip/Tooltip.js.map +1 -1
  170. package/cjs/components/TooltipMenu/TooltipMenu.d.ts +6 -5
  171. package/cjs/components/TooltipMenu/TooltipMenu.js +11 -5
  172. package/cjs/components/TooltipMenu/TooltipMenu.js.map +1 -1
  173. package/cjs/hooks/useEffectWithoutInitCall.d.ts +2 -2
  174. package/cjs/hooks/useEffectWithoutInitCall.js +2 -2
  175. package/cjs/hooks/useEffectWithoutInitCall.js.map +1 -1
  176. package/cjs/hooks/useMemoObject.d.ts +2 -1
  177. package/cjs/hooks/useMemoObject.js +2 -0
  178. package/cjs/hooks/useMemoObject.js.map +1 -1
  179. package/cjs/internal/BGRuler.d.ts +13 -15
  180. package/cjs/internal/BGRuler.js +16 -8
  181. package/cjs/internal/BGRuler.js.map +1 -1
  182. package/cjs/internal/Calendar/Calendar.d.ts +4 -13
  183. package/cjs/internal/Calendar/Calendar.js +10 -5
  184. package/cjs/internal/Calendar/Calendar.js.map +1 -1
  185. package/cjs/internal/Calendar/DayCellView.styles.js +1 -1
  186. package/cjs/internal/Calendar/DayCellView.styles.js.map +1 -1
  187. package/cjs/internal/Calendar/Month.js +16 -11
  188. package/cjs/internal/Calendar/Month.js.map +1 -1
  189. package/cjs/internal/Calendar/MonthViewModel.d.ts +1 -1
  190. package/cjs/internal/Calendar/config.d.ts +1 -8
  191. package/cjs/internal/CommonWrapper/CommonWrapper.d.ts +1 -1
  192. package/cjs/internal/CommonWrapper/CommonWrapper.js +5 -4
  193. package/cjs/internal/CommonWrapper/CommonWrapper.js.map +1 -1
  194. package/cjs/internal/ComponentCombinator.d.ts +6 -8
  195. package/cjs/internal/ComponentCombinator.js +6 -2
  196. package/cjs/internal/ComponentCombinator.js.map +1 -1
  197. package/cjs/internal/ComponentTable.d.ts +7 -8
  198. package/cjs/internal/ComponentTable.js +14 -3
  199. package/cjs/internal/ComponentTable.js.map +1 -1
  200. package/cjs/internal/CustomComboBox/ComboBoxMenu.d.ts +6 -6
  201. package/cjs/internal/CustomComboBox/ComboBoxMenu.js +14 -8
  202. package/cjs/internal/CustomComboBox/ComboBoxMenu.js.map +1 -1
  203. package/cjs/internal/CustomComboBox/ComboBoxView.d.ts +4 -12
  204. package/cjs/internal/CustomComboBox/ComboBoxView.js +18 -10
  205. package/cjs/internal/CustomComboBox/ComboBoxView.js.map +1 -1
  206. package/cjs/internal/CustomComboBox/CustomComboBoxReducer.js +4 -5
  207. package/cjs/internal/CustomComboBox/CustomComboBoxReducer.js.map +1 -1
  208. package/cjs/internal/DataTids/DataTids.d.ts +5 -5
  209. package/cjs/internal/DataTids/DataTids.js +4 -0
  210. package/cjs/internal/DataTids/DataTids.js.map +1 -1
  211. package/cjs/internal/DateSelect/DateSelect.d.ts +4 -6
  212. package/cjs/internal/DateSelect/DateSelect.js +16 -10
  213. package/cjs/internal/DateSelect/DateSelect.js.map +1 -1
  214. package/cjs/internal/DropdownContainer/DropdownContainer.d.ts +4 -7
  215. package/cjs/internal/DropdownContainer/DropdownContainer.js +8 -5
  216. package/cjs/internal/DropdownContainer/DropdownContainer.js.map +1 -1
  217. package/cjs/internal/FileUploaderControl/withFileUploaderControlProvider.d.ts +1 -1
  218. package/cjs/internal/FileUploaderControl/withFileUploaderControlProvider.js.map +1 -1
  219. package/cjs/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.js +2 -1
  220. package/cjs/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.js.map +1 -1
  221. package/cjs/internal/InputLikeText/InputLikeText.d.ts +4 -3
  222. package/cjs/internal/InputLikeText/InputLikeText.js +11 -4
  223. package/cjs/internal/InputLikeText/InputLikeText.js.map +1 -1
  224. package/cjs/internal/InternalMenu/InternalMenu.d.ts +3 -9
  225. package/cjs/internal/InternalMenu/InternalMenu.js +36 -14
  226. package/cjs/internal/InternalMenu/InternalMenu.js.map +1 -1
  227. package/cjs/internal/InternalMenu/InternalMenu.styles.js +2 -1
  228. package/cjs/internal/InternalMenu/InternalMenu.styles.js.map +1 -1
  229. package/cjs/internal/MaskedInput/MaskedInput.d.ts +5 -2
  230. package/cjs/internal/MaskedInput/MaskedInput.js +20 -7
  231. package/cjs/internal/MaskedInput/MaskedInput.js.map +1 -1
  232. package/cjs/internal/Menu/Menu.d.ts +4 -7
  233. package/cjs/internal/Menu/Menu.js +14 -4
  234. package/cjs/internal/Menu/Menu.js.map +1 -1
  235. package/cjs/internal/MobilePopup/MobilePopup.js +1 -1
  236. package/cjs/internal/MobilePopup/MobilePopup.js.map +1 -1
  237. package/cjs/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.js +1 -1
  238. package/cjs/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.js.map +1 -1
  239. package/cjs/internal/PerformanceMetrics/PerformanceMetrics.js.map +1 -1
  240. package/cjs/internal/Popup/Popup.d.ts +11 -17
  241. package/cjs/internal/Popup/Popup.js +38 -19
  242. package/cjs/internal/Popup/Popup.js.map +1 -1
  243. package/cjs/internal/Popup/PopupHelper.d.ts +1 -1
  244. package/cjs/internal/Popup/PopupHelper.js.map +1 -1
  245. package/cjs/internal/Popup/PopupPin.d.ts +1 -1
  246. package/cjs/internal/Popup/PopupPin.js.map +1 -1
  247. package/cjs/internal/PopupMenu/PopupMenu.d.ts +8 -11
  248. package/cjs/internal/PopupMenu/PopupMenu.js +8 -1
  249. package/cjs/internal/PopupMenu/PopupMenu.js.map +1 -1
  250. package/cjs/internal/RenderLayer/RenderLayer.d.ts +6 -4
  251. package/cjs/internal/RenderLayer/RenderLayer.js +15 -4
  252. package/cjs/internal/RenderLayer/RenderLayer.js.map +1 -1
  253. package/cjs/internal/ThemePlayground/AnotherInputsPlayground.d.ts +11 -6
  254. package/cjs/internal/ThemePlayground/AnotherInputsPlayground.js +7 -0
  255. package/cjs/internal/ThemePlayground/AnotherInputsPlayground.js.map +1 -1
  256. package/cjs/internal/ThemePlayground/CurrencyInputPlayground.d.ts +7 -6
  257. package/cjs/internal/ThemePlayground/CurrencyInputPlayground.js +2 -3
  258. package/cjs/internal/ThemePlayground/CurrencyInputPlayground.js.map +1 -1
  259. package/cjs/internal/ThemePlayground/FxInputPlayground.d.ts +6 -4
  260. package/cjs/internal/ThemePlayground/FxInputPlayground.js +5 -5
  261. package/cjs/internal/ThemePlayground/FxInputPlayground.js.map +1 -1
  262. package/cjs/internal/ThemePlayground/HintPlayground.d.ts +1 -1
  263. package/cjs/internal/ThemePlayground/HintPlayground.js.map +1 -1
  264. package/cjs/internal/ThemePlayground/PagingPlayground.d.ts +6 -6
  265. package/cjs/internal/ThemePlayground/PagingPlayground.js +5 -2
  266. package/cjs/internal/ThemePlayground/PagingPlayground.js.map +1 -1
  267. package/cjs/internal/ThemePlayground/Playground.d.ts +1 -1
  268. package/cjs/internal/ThemePlayground/Playground.js.map +1 -1
  269. package/cjs/internal/ThemePlayground/SelectPlayground.d.ts +9 -6
  270. package/cjs/internal/ThemePlayground/SelectPlayground.js +6 -0
  271. package/cjs/internal/ThemePlayground/SelectPlayground.js.map +1 -1
  272. package/cjs/internal/ThemePlayground/SizesGroup.d.ts +2 -2
  273. package/cjs/internal/ThemePlayground/SizesGroup.js +2 -0
  274. package/cjs/internal/ThemePlayground/SizesGroup.js.map +1 -1
  275. package/cjs/internal/ThemePlayground/SwitcherPlayground.d.ts +9 -8
  276. package/cjs/internal/ThemePlayground/SwitcherPlayground.js +6 -1
  277. package/cjs/internal/ThemePlayground/SwitcherPlayground.js.map +1 -1
  278. package/cjs/internal/ThemePlayground/ThemeContextPlayground.js +14 -4
  279. package/cjs/internal/ThemePlayground/ThemeContextPlayground.js.map +1 -1
  280. package/cjs/internal/ThemePlayground/ThemeEditor.d.ts +1 -4
  281. package/cjs/internal/ThemePlayground/ThemeEditor.js.map +1 -1
  282. package/cjs/internal/ThemePlayground/TogglePlayground.d.ts +2 -7
  283. package/cjs/internal/ThemePlayground/TogglePlayground.js +4 -10
  284. package/cjs/internal/ThemePlayground/TogglePlayground.js.map +1 -1
  285. package/cjs/internal/ThemePlayground/TokenInputPlayground.d.ts +6 -4
  286. package/cjs/internal/ThemePlayground/TokenInputPlayground.js +3 -0
  287. package/cjs/internal/ThemePlayground/TokenInputPlayground.js.map +1 -1
  288. package/cjs/internal/ThemePlayground/VariableValue.d.ts +6 -8
  289. package/cjs/internal/ThemePlayground/VariableValue.js +6 -1
  290. package/cjs/internal/ThemePlayground/VariableValue.js.map +1 -1
  291. package/cjs/internal/ThemePlayground/helpers.d.ts +1 -1
  292. package/cjs/internal/ThemePlayground/helpers.js +4 -2
  293. package/cjs/internal/ThemePlayground/helpers.js.map +1 -1
  294. package/cjs/internal/ThemeShowcase/ThemeShowcase.js.map +1 -1
  295. package/cjs/internal/ZIndex/ZIndex.d.ts +7 -11
  296. package/cjs/internal/ZIndex/ZIndex.js +7 -7
  297. package/cjs/internal/ZIndex/ZIndex.js.map +1 -1
  298. package/cjs/internal/themes/DefaultTheme.js +1 -1
  299. package/cjs/internal/themes/DefaultTheme.js.map +1 -1
  300. package/cjs/lib/ConditionalHandler.js.map +1 -1
  301. package/cjs/lib/InstanceWithAnchorElement.d.ts +1 -1
  302. package/cjs/lib/InstanceWithAnchorElement.js.map +1 -1
  303. package/cjs/lib/ModalStack.js +2 -2
  304. package/cjs/lib/ModalStack.js.map +1 -1
  305. package/cjs/lib/SSRSafe.d.ts +2 -1
  306. package/cjs/lib/SSRSafe.js +9 -1
  307. package/cjs/lib/SSRSafe.js.map +1 -1
  308. package/cjs/lib/animation/index.js +1 -0
  309. package/cjs/lib/animation/index.js.map +1 -1
  310. package/cjs/lib/callChildRef/callChildRef.js +1 -1
  311. package/cjs/lib/callChildRef/callChildRef.js.map +1 -1
  312. package/cjs/lib/createPropsGetter.d.ts +2 -1
  313. package/cjs/lib/createPropsGetter.js +3 -0
  314. package/cjs/lib/createPropsGetter.js.map +1 -1
  315. package/cjs/lib/date/InternalDateCalculator.d.ts +1 -1
  316. package/cjs/lib/date/InternalDateCalculator.js +1 -1
  317. package/cjs/lib/date/InternalDateCalculator.js.map +1 -1
  318. package/cjs/lib/date/InternalDateValidator.d.ts +1 -1
  319. package/cjs/lib/date/InternalDateValidator.js +9 -2
  320. package/cjs/lib/date/InternalDateValidator.js.map +1 -1
  321. package/cjs/lib/extractKeyboardAction.d.ts +1 -1
  322. package/cjs/lib/extractKeyboardAction.js.map +1 -1
  323. package/cjs/lib/filterProps.js +0 -1
  324. package/cjs/lib/filterProps.js.map +1 -1
  325. package/cjs/lib/listenFocusOutside.d.ts +1 -1
  326. package/cjs/lib/listenFocusOutside.js.map +1 -1
  327. package/cjs/lib/locale/useLocaleForControl.d.ts +1 -1
  328. package/cjs/lib/locale/useLocaleForControl.js.map +1 -1
  329. package/cjs/lib/memo.d.ts +3 -1
  330. package/cjs/lib/memo.js +3 -3
  331. package/cjs/lib/memo.js.map +1 -1
  332. package/cjs/lib/net/fetch.js +2 -2
  333. package/cjs/lib/net/fetch.js.map +1 -1
  334. package/cjs/lib/reactGetTextContent.js +0 -1
  335. package/cjs/lib/reactGetTextContent.js.map +1 -1
  336. package/cjs/lib/rootNode/getRootNode.d.ts +3 -3
  337. package/cjs/lib/rootNode/getRootNode.js +7 -7
  338. package/cjs/lib/rootNode/getRootNode.js.map +1 -1
  339. package/cjs/lib/rootNode/rootNodeDecorator.d.ts +9 -9
  340. package/cjs/lib/rootNode/rootNodeDecorator.js.map +1 -1
  341. package/cjs/lib/styles/ColorFactory.js +2 -2
  342. package/cjs/lib/styles/ColorFactory.js.map +1 -1
  343. package/cjs/lib/styles/ColorFunctions.js.map +1 -1
  344. package/cjs/lib/theming/AnimationKeyframes.d.ts +3 -5
  345. package/cjs/lib/theming/AnimationKeyframes.js +8 -22
  346. package/cjs/lib/theming/AnimationKeyframes.js.map +1 -1
  347. package/cjs/lib/theming/Emotion.js +1 -0
  348. package/cjs/lib/theming/Emotion.js.map +1 -1
  349. package/cjs/lib/theming/ThemeFactory.d.ts +1 -1
  350. package/cjs/lib/theming/ThemeFactory.js +3 -1
  351. package/cjs/lib/theming/ThemeFactory.js.map +1 -1
  352. package/cjs/lib/theming/ThemeHelpers.d.ts +2 -2
  353. package/cjs/lib/theming/ThemeHelpers.js +1 -1
  354. package/cjs/lib/theming/ThemeHelpers.js.map +1 -1
  355. package/cjs/lib/utils.d.ts +3 -1
  356. package/cjs/lib/utils.js +5 -2
  357. package/cjs/lib/utils.js.map +1 -1
  358. package/cjs/lib/withClassWrapper.js +1 -4
  359. package/cjs/lib/withClassWrapper.js.map +1 -1
  360. package/cjs/typings/event-types.d.ts +2 -2
  361. package/components/Autocomplete/Autocomplete/Autocomplete.js +26 -13
  362. package/components/Autocomplete/Autocomplete/Autocomplete.js.map +1 -1
  363. package/components/Autocomplete/Autocomplete.d.ts +9 -17
  364. package/components/Button/Button/Button.js +11 -5
  365. package/components/Button/Button/Button.js.map +1 -1
  366. package/components/Button/Button.d.ts +4 -5
  367. package/components/Button/Button.mixins/Button.mixins.js +1 -1
  368. package/components/Button/Button.mixins/Button.mixins.js.map +1 -1
  369. package/components/Button/Button.styles/Button.styles.js +18 -18
  370. package/components/Button/Button.styles/Button.styles.js.map +1 -1
  371. package/components/Center/Center/Center.js +7 -5
  372. package/components/Center/Center/Center.js.map +1 -1
  373. package/components/Center/Center.d.ts +4 -3
  374. package/components/Checkbox/Checkbox/Checkbox.js +5 -2
  375. package/components/Checkbox/Checkbox/Checkbox.js.map +1 -1
  376. package/components/Checkbox/Checkbox.md +48 -0
  377. package/components/Checkbox/Checkbox.styles/Checkbox.styles.js +1 -1
  378. package/components/Checkbox/Checkbox.styles/Checkbox.styles.js.map +1 -1
  379. package/components/Checkbox/Checkbox.styles.d.ts +1 -1
  380. package/components/ComboBox/ComboBox/ComboBox.js +3 -1
  381. package/components/ComboBox/ComboBox/ComboBox.js.map +1 -1
  382. package/components/ComboBox/ComboBox.d.ts +8 -13
  383. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js +36 -21
  384. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js.map +1 -1
  385. package/components/CurrencyInput/CurrencyInput.d.ts +6 -9
  386. package/components/CurrencyInput/CurrencyInputKeyboardActions/CurrencyInputKeyboardActions.js +4 -2
  387. package/components/CurrencyInput/CurrencyInputKeyboardActions/CurrencyInputKeyboardActions.js.map +1 -1
  388. package/components/CurrencyInput/CurrencyInputKeyboardActions.d.ts +3 -1
  389. package/components/CurrencyLabel/CurrencyLabel/CurrencyLabel.js +21 -15
  390. package/components/CurrencyLabel/CurrencyLabel/CurrencyLabel.js.map +1 -1
  391. package/components/CurrencyLabel/CurrencyLabel.d.ts +3 -9
  392. package/components/DateInput/DateFragmentsView/DateFragmentsView.js +11 -1
  393. package/components/DateInput/DateFragmentsView/DateFragmentsView.js.map +1 -1
  394. package/components/DateInput/DateFragmentsView.d.ts +1 -1
  395. package/components/DateInput/DateInput/DateInput.js +18 -5
  396. package/components/DateInput/DateInput/DateInput.js.map +1 -1
  397. package/components/DateInput/DateInput.d.ts +9 -12
  398. package/components/DateInput/helpers/DateInputKeyboardActions/DateInputKeyboardActions.js +0 -1
  399. package/components/DateInput/helpers/DateInputKeyboardActions/DateInputKeyboardActions.js.map +1 -1
  400. package/components/DateInput/helpers/SelectionHelpers/SelectionHelpers.js +2 -2
  401. package/components/DateInput/helpers/SelectionHelpers/SelectionHelpers.js.map +1 -1
  402. package/components/DatePicker/DatePicker/DatePicker.js +25 -21
  403. package/components/DatePicker/DatePicker/DatePicker.js.map +1 -1
  404. package/components/DatePicker/DatePicker.d.ts +7 -9
  405. package/components/DatePicker/Picker/Picker.js +5 -1
  406. package/components/DatePicker/Picker/Picker.js.map +1 -1
  407. package/components/DropdownMenu/DropdownMenu/DropdownMenu.js +8 -2
  408. package/components/DropdownMenu/DropdownMenu/DropdownMenu.js.map +1 -1
  409. package/components/DropdownMenu/DropdownMenu.d.ts +5 -5
  410. package/components/FileUploader/FileUploader/FileUploader.js +2 -2
  411. package/components/FileUploader/FileUploader/FileUploader.js.map +1 -1
  412. package/components/FileUploader/FileUploader.md +8 -1
  413. package/components/FxInput/FxInput/FxInput.js +15 -10
  414. package/components/FxInput/FxInput/FxInput.js.map +1 -1
  415. package/components/FxInput/FxInput.d.ts +6 -6
  416. package/components/Gapped/Gapped/Gapped.js +17 -8
  417. package/components/Gapped/Gapped/Gapped.js.map +1 -1
  418. package/components/Gapped/Gapped.d.ts +7 -8
  419. package/components/GlobalLoader/GlobalLoader/GlobalLoader.js +35 -16
  420. package/components/GlobalLoader/GlobalLoader/GlobalLoader.js.map +1 -1
  421. package/components/GlobalLoader/GlobalLoader.d.ts +7 -14
  422. package/components/GlobalLoader/GlobalLoaderView/GlobalLoaderView.js.map +1 -1
  423. package/components/GlobalLoader/GlobalLoaderView.d.ts +2 -2
  424. package/components/Hint/Hint/Hint.js +30 -18
  425. package/components/Hint/Hint/Hint.js.map +1 -1
  426. package/components/Hint/Hint.d.ts +8 -12
  427. package/components/Hint/Hint.md +14 -0
  428. package/components/Input/Input/Input.js +13 -8
  429. package/components/Input/Input/Input.js.map +1 -1
  430. package/components/Input/Input.d.ts +4 -3
  431. package/components/Input/Input.md +5 -1
  432. package/components/Kebab/Kebab/Kebab.js +19 -8
  433. package/components/Kebab/Kebab/Kebab.js.map +1 -1
  434. package/components/Kebab/Kebab.d.ts +8 -15
  435. package/components/Link/Link/Link.js +10 -7
  436. package/components/Link/Link/Link.js.map +1 -1
  437. package/components/Link/Link.d.ts +5 -7
  438. package/components/Loader/Loader/Loader.js +22 -17
  439. package/components/Loader/Loader/Loader.js.map +1 -1
  440. package/components/Loader/Loader.d.ts +9 -5
  441. package/components/Loader/__stories__/LoaderAndButton/LoaderAndButton.js.map +1 -1
  442. package/components/MenuItem/MenuItem/MenuItem.js +4 -1
  443. package/components/MenuItem/MenuItem/MenuItem.js.map +1 -1
  444. package/components/Modal/Modal/Modal.js +5 -3
  445. package/components/Modal/Modal/Modal.js.map +1 -1
  446. package/components/Modal/Modal.d.ts +4 -3
  447. package/components/Modal/Modal.styles/Modal.styles.js +2 -2
  448. package/components/Modal/Modal.styles/Modal.styles.js.map +1 -1
  449. package/components/Modal/Modal.styles.d.ts +2 -2
  450. package/components/Modal/ModalBody/ModalBody.js +2 -2
  451. package/components/Modal/ModalBody/ModalBody.js.map +1 -1
  452. package/components/Modal/ModalFooter/ModalFooter.js +2 -2
  453. package/components/Modal/ModalFooter/ModalFooter.js.map +1 -1
  454. package/components/Modal/ModalHeader/ModalHeader.js +2 -2
  455. package/components/Modal/ModalHeader/ModalHeader.js.map +1 -1
  456. package/components/Paging/Paging/Paging.js +25 -15
  457. package/components/Paging/Paging/Paging.js.map +1 -1
  458. package/components/Paging/Paging.d.ts +7 -10
  459. package/components/Paging/PagingDefaultComponent/PagingDefaultComponent.js.map +1 -1
  460. package/components/Paging/PagingDefaultComponent.d.ts +3 -3
  461. package/components/PasswordInput/PasswordInput/PasswordInput.js +14 -13
  462. package/components/PasswordInput/PasswordInput/PasswordInput.js.map +1 -1
  463. package/components/PasswordInput/PasswordInput.d.ts +4 -3
  464. package/components/Radio/Radio/Radio.js +11 -6
  465. package/components/Radio/Radio/Radio.js.map +1 -1
  466. package/components/Radio/Radio.d.ts +4 -3
  467. package/components/RadioGroup/RadioGroup/RadioGroup.js +10 -10
  468. package/components/RadioGroup/RadioGroup/RadioGroup.js.map +1 -1
  469. package/components/RadioGroup/RadioGroup.d.ts +2 -4
  470. package/components/ResponsiveLayout/ResponsiveLayoutEvents/ResponsiveLayoutEvents.js +3 -1
  471. package/components/ResponsiveLayout/ResponsiveLayoutEvents/ResponsiveLayoutEvents.js.map +1 -1
  472. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js +11 -7
  473. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js.map +1 -1
  474. package/components/ScrollContainer/ScrollContainer.d.ts +7 -8
  475. package/components/ScrollContainer/ScrollContainer.helpers/ScrollContainer.helpers.js +4 -4
  476. package/components/ScrollContainer/ScrollContainer.helpers/ScrollContainer.helpers.js.map +1 -1
  477. package/components/Select/Item/Item.js.map +1 -1
  478. package/components/Select/Item.d.ts +4 -2
  479. package/components/Select/Select/Select.js +4 -3
  480. package/components/Select/Select/Select.js.map +1 -1
  481. package/components/Select/Select.d.ts +3 -12
  482. package/components/Select/Select.styles/Select.styles.js +4 -4
  483. package/components/Select/Select.styles/Select.styles.js.map +1 -1
  484. package/components/SidePage/SidePage/SidePage.js +14 -9
  485. package/components/SidePage/SidePage/SidePage.js.map +1 -1
  486. package/components/SidePage/SidePage.d.ts +5 -6
  487. package/components/SidePage/SidePageFooter/SidePageFooter.js.map +1 -1
  488. package/components/SidePage/SidePageFooter.d.ts +6 -4
  489. package/components/Spinner/Spinner/Spinner.js +8 -6
  490. package/components/Spinner/Spinner/Spinner.js.map +1 -1
  491. package/components/Spinner/Spinner.d.ts +4 -2
  492. package/components/Spinner/Spinner.styles/Spinner.styles.js +3 -3
  493. package/components/Spinner/Spinner.styles/Spinner.styles.js.map +1 -1
  494. package/components/Spinner/Spinner.styles.d.ts +1 -1
  495. package/components/Sticky/Sticky/Sticky.js +7 -4
  496. package/components/Sticky/Sticky/Sticky.js.map +1 -1
  497. package/components/Sticky/Sticky.d.ts +5 -4
  498. package/components/Tabs/Indicator/Indicator.js +1 -1
  499. package/components/Tabs/Indicator/Indicator.js.map +1 -1
  500. package/components/Tabs/Indicator.d.ts +1 -1
  501. package/components/Tabs/Tab/Tab.js +15 -7
  502. package/components/Tabs/Tab/Tab.js.map +1 -1
  503. package/components/Tabs/Tab.d.ts +4 -4
  504. package/components/Tabs/Tabs/Tabs.js +10 -8
  505. package/components/Tabs/Tabs/Tabs.js.map +1 -1
  506. package/components/Tabs/Tabs.d.ts +4 -4
  507. package/components/Textarea/Textarea/Textarea.js +23 -15
  508. package/components/Textarea/Textarea/Textarea.js.map +1 -1
  509. package/components/Textarea/Textarea.d.ts +8 -10
  510. package/components/Textarea/TextareaCounter/TextareaCounter.js.map +1 -1
  511. package/components/Textarea/TextareaCounter.d.ts +2 -2
  512. package/components/Toast/Toast/Toast.js +1 -1
  513. package/components/Toast/Toast/Toast.js.map +1 -1
  514. package/components/Toggle/Toggle/Toggle.js +12 -7
  515. package/components/Toggle/Toggle/Toggle.js.map +1 -1
  516. package/components/Toggle/Toggle.d.ts +5 -6
  517. package/components/TokenInput/TokenInput/TokenInput.js +107 -77
  518. package/components/TokenInput/TokenInput/TokenInput.js.map +1 -1
  519. package/components/TokenInput/TokenInput.d.ts +19 -16
  520. package/components/TokenInput/TokenInputMenu/TokenInputMenu.js +1 -1
  521. package/components/TokenInput/TokenInputMenu/TokenInputMenu.js.map +1 -1
  522. package/components/TokenInput/TokenInputMenu.d.ts +2 -1
  523. package/components/Tooltip/Tooltip/Tooltip.js +60 -47
  524. package/components/Tooltip/Tooltip/Tooltip.js.map +1 -1
  525. package/components/Tooltip/Tooltip.d.ts +13 -19
  526. package/components/TooltipMenu/TooltipMenu/TooltipMenu.js +15 -13
  527. package/components/TooltipMenu/TooltipMenu/TooltipMenu.js.map +1 -1
  528. package/components/TooltipMenu/TooltipMenu.d.ts +6 -5
  529. package/hooks/useEffectWithoutInitCall/useEffectWithoutInitCall.js +2 -2
  530. package/hooks/useEffectWithoutInitCall/useEffectWithoutInitCall.js.map +1 -1
  531. package/hooks/useEffectWithoutInitCall.d.ts +2 -2
  532. package/hooks/useMemoObject/useMemoObject.js.map +1 -1
  533. package/hooks/useMemoObject.d.ts +2 -1
  534. package/internal/BGRuler/BGRuler.js +11 -6
  535. package/internal/BGRuler/BGRuler.js.map +1 -1
  536. package/internal/BGRuler.d.ts +13 -15
  537. package/internal/Calendar/Calendar/Calendar.js +11 -5
  538. package/internal/Calendar/Calendar/Calendar.js.map +1 -1
  539. package/internal/Calendar/Calendar.d.ts +4 -13
  540. package/internal/Calendar/DayCellView.styles/DayCellView.styles.js +1 -1
  541. package/internal/Calendar/DayCellView.styles/DayCellView.styles.js.map +1 -1
  542. package/internal/Calendar/Month/Month.js +20 -11
  543. package/internal/Calendar/Month/Month.js.map +1 -1
  544. package/internal/Calendar/MonthViewModel.d.ts +1 -1
  545. package/internal/Calendar/config.d.ts +1 -8
  546. package/internal/CommonWrapper/CommonWrapper/CommonWrapper.js +3 -2
  547. package/internal/CommonWrapper/CommonWrapper/CommonWrapper.js.map +1 -1
  548. package/internal/CommonWrapper/CommonWrapper.d.ts +1 -1
  549. package/internal/ComponentCombinator/ComponentCombinator.js +8 -5
  550. package/internal/ComponentCombinator/ComponentCombinator.js.map +1 -1
  551. package/internal/ComponentCombinator.d.ts +6 -8
  552. package/internal/ComponentTable/ComponentTable.js +16 -4
  553. package/internal/ComponentTable/ComponentTable.js.map +1 -1
  554. package/internal/ComponentTable.d.ts +7 -8
  555. package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js +18 -19
  556. package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js.map +1 -1
  557. package/internal/CustomComboBox/ComboBoxMenu.d.ts +6 -6
  558. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js +21 -10
  559. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js.map +1 -1
  560. package/internal/CustomComboBox/ComboBoxView.d.ts +4 -12
  561. package/internal/CustomComboBox/CustomComboBoxReducer/CustomComboBoxReducer.js +4 -5
  562. package/internal/CustomComboBox/CustomComboBoxReducer/CustomComboBoxReducer.js.map +1 -1
  563. package/internal/DataTids/DataTids/DataTids.js.map +1 -1
  564. package/internal/DataTids/DataTids.d.ts +5 -5
  565. package/internal/DateSelect/DateSelect/DateSelect.js +15 -12
  566. package/internal/DateSelect/DateSelect/DateSelect.js.map +1 -1
  567. package/internal/DateSelect/DateSelect.d.ts +4 -6
  568. package/internal/DropdownContainer/DropdownContainer/DropdownContainer.js +6 -10
  569. package/internal/DropdownContainer/DropdownContainer/DropdownContainer.js.map +1 -1
  570. package/internal/DropdownContainer/DropdownContainer.d.ts +4 -7
  571. package/internal/FileUploaderControl/withFileUploaderControlProvider/withFileUploaderControlProvider.js.map +1 -1
  572. package/internal/FileUploaderControl/withFileUploaderControlProvider.d.ts +1 -1
  573. package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll/HideBodyVerticalScroll.js +2 -1
  574. package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll/HideBodyVerticalScroll.js.map +1 -1
  575. package/internal/InputLikeText/InputLikeText/InputLikeText.js +9 -4
  576. package/internal/InputLikeText/InputLikeText/InputLikeText.js.map +1 -1
  577. package/internal/InputLikeText/InputLikeText.d.ts +4 -3
  578. package/internal/InternalMenu/InternalMenu/InternalMenu.js +38 -17
  579. package/internal/InternalMenu/InternalMenu/InternalMenu.js.map +1 -1
  580. package/internal/InternalMenu/InternalMenu.d.ts +3 -9
  581. package/internal/InternalMenu/InternalMenu.styles/InternalMenu.styles.js +1 -1
  582. package/internal/InternalMenu/InternalMenu.styles/InternalMenu.styles.js.map +1 -1
  583. package/internal/MaskedInput/MaskedInput/MaskedInput.js +16 -7
  584. package/internal/MaskedInput/MaskedInput/MaskedInput.js.map +1 -1
  585. package/internal/MaskedInput/MaskedInput.d.ts +5 -2
  586. package/internal/Menu/Menu/Menu.js +16 -4
  587. package/internal/Menu/Menu/Menu.js.map +1 -1
  588. package/internal/Menu/Menu.d.ts +4 -7
  589. package/internal/MobilePopup/MobilePopup/MobilePopup.js +1 -1
  590. package/internal/MobilePopup/MobilePopup/MobilePopup.js.map +1 -1
  591. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader/MobilePopupHeader.js +1 -1
  592. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader/MobilePopupHeader.js.map +1 -1
  593. package/internal/PerformanceMetrics/PerformanceMetrics/PerformanceMetrics.js.map +1 -1
  594. package/internal/Popup/Popup/Popup.js +52 -35
  595. package/internal/Popup/Popup/Popup.js.map +1 -1
  596. package/internal/Popup/Popup.d.ts +11 -17
  597. package/internal/Popup/PopupHelper/PopupHelper.js.map +1 -1
  598. package/internal/Popup/PopupHelper.d.ts +1 -1
  599. package/internal/Popup/PopupPin/PopupPin.js.map +1 -1
  600. package/internal/Popup/PopupPin.d.ts +1 -1
  601. package/internal/PopupMenu/PopupMenu/PopupMenu.js +12 -4
  602. package/internal/PopupMenu/PopupMenu/PopupMenu.js.map +1 -1
  603. package/internal/PopupMenu/PopupMenu.d.ts +8 -11
  604. package/internal/RenderLayer/RenderLayer/RenderLayer.js +18 -11
  605. package/internal/RenderLayer/RenderLayer/RenderLayer.js.map +1 -1
  606. package/internal/RenderLayer/RenderLayer.d.ts +6 -4
  607. package/internal/ThemePlayground/AnotherInputsPlayground/AnotherInputsPlayground.js.map +1 -1
  608. package/internal/ThemePlayground/AnotherInputsPlayground.d.ts +11 -6
  609. package/internal/ThemePlayground/CurrencyInputPlayground/CurrencyInputPlayground.js.map +1 -1
  610. package/internal/ThemePlayground/CurrencyInputPlayground.d.ts +7 -6
  611. package/internal/ThemePlayground/FxInputPlayground/FxInputPlayground.js +10 -6
  612. package/internal/ThemePlayground/FxInputPlayground/FxInputPlayground.js.map +1 -1
  613. package/internal/ThemePlayground/FxInputPlayground.d.ts +6 -4
  614. package/internal/ThemePlayground/HintPlayground/HintPlayground.js.map +1 -1
  615. package/internal/ThemePlayground/HintPlayground.d.ts +1 -1
  616. package/internal/ThemePlayground/PagingPlayground/PagingPlayground.js +2 -2
  617. package/internal/ThemePlayground/PagingPlayground/PagingPlayground.js.map +1 -1
  618. package/internal/ThemePlayground/PagingPlayground.d.ts +6 -6
  619. package/internal/ThemePlayground/Playground/Playground.js.map +1 -1
  620. package/internal/ThemePlayground/Playground.d.ts +1 -1
  621. package/internal/ThemePlayground/SelectPlayground/SelectPlayground.js.map +1 -1
  622. package/internal/ThemePlayground/SelectPlayground.d.ts +9 -6
  623. package/internal/ThemePlayground/SizesGroup/SizesGroup.js.map +1 -1
  624. package/internal/ThemePlayground/SizesGroup.d.ts +2 -2
  625. package/internal/ThemePlayground/SwitcherPlayground/SwitcherPlayground.js.map +1 -1
  626. package/internal/ThemePlayground/SwitcherPlayground.d.ts +9 -8
  627. package/internal/ThemePlayground/ThemeContextPlayground/ThemeContextPlayground.js +13 -3
  628. package/internal/ThemePlayground/ThemeContextPlayground/ThemeContextPlayground.js.map +1 -1
  629. package/internal/ThemePlayground/ThemeEditor/ThemeEditor.js.map +1 -1
  630. package/internal/ThemePlayground/ThemeEditor.d.ts +1 -4
  631. package/internal/ThemePlayground/TogglePlayground/TogglePlayground.js +5 -17
  632. package/internal/ThemePlayground/TogglePlayground/TogglePlayground.js.map +1 -1
  633. package/internal/ThemePlayground/TogglePlayground.d.ts +2 -7
  634. package/internal/ThemePlayground/TokenInputPlayground/TokenInputPlayground.js.map +1 -1
  635. package/internal/ThemePlayground/TokenInputPlayground.d.ts +6 -4
  636. package/internal/ThemePlayground/VariableValue/VariableValue.js +4 -2
  637. package/internal/ThemePlayground/VariableValue/VariableValue.js.map +1 -1
  638. package/internal/ThemePlayground/VariableValue.d.ts +6 -8
  639. package/internal/ThemePlayground/helpers/helpers.js +0 -1
  640. package/internal/ThemePlayground/helpers/helpers.js.map +1 -1
  641. package/internal/ThemePlayground/helpers.d.ts +1 -1
  642. package/internal/ThemeShowcase/ThemeShowcase/ThemeShowcase.js.map +1 -1
  643. package/internal/ZIndex/ZIndex/ZIndex.js +21 -16
  644. package/internal/ZIndex/ZIndex/ZIndex.js.map +1 -1
  645. package/internal/ZIndex/ZIndex.d.ts +7 -11
  646. package/internal/themes/DefaultTheme/DefaultTheme.js +6 -6
  647. package/internal/themes/DefaultTheme/DefaultTheme.js.map +1 -1
  648. package/lib/ConditionalHandler/ConditionalHandler.js.map +1 -1
  649. package/lib/InstanceWithAnchorElement/InstanceWithAnchorElement.js.map +1 -1
  650. package/lib/InstanceWithAnchorElement.d.ts +1 -1
  651. package/lib/ModalStack/ModalStack.js +2 -2
  652. package/lib/ModalStack/ModalStack.js.map +1 -1
  653. package/lib/SSRSafe/SSRSafe.js +7 -0
  654. package/lib/SSRSafe/SSRSafe.js.map +1 -1
  655. package/lib/SSRSafe.d.ts +2 -1
  656. package/lib/animation/index/index.js +1 -1
  657. package/lib/animation/index/index.js.map +1 -1
  658. package/lib/callChildRef/callChildRef/callChildRef.js +1 -1
  659. package/lib/callChildRef/callChildRef/callChildRef.js.map +1 -1
  660. package/lib/createPropsGetter/createPropsGetter.js +1 -0
  661. package/lib/createPropsGetter/createPropsGetter.js.map +1 -1
  662. package/lib/createPropsGetter.d.ts +2 -1
  663. package/lib/date/InternalDateCalculator/InternalDateCalculator.js +1 -2
  664. package/lib/date/InternalDateCalculator/InternalDateCalculator.js.map +1 -1
  665. package/lib/date/InternalDateCalculator.d.ts +1 -1
  666. package/lib/date/InternalDateValidator/InternalDateValidator.js +8 -2
  667. package/lib/date/InternalDateValidator/InternalDateValidator.js.map +1 -1
  668. package/lib/date/InternalDateValidator.d.ts +1 -1
  669. package/lib/extractKeyboardAction/extractKeyboardAction.js.map +1 -1
  670. package/lib/extractKeyboardAction.d.ts +1 -1
  671. package/lib/filterProps/filterProps.js +0 -1
  672. package/lib/filterProps/filterProps.js.map +1 -1
  673. package/lib/listenFocusOutside/listenFocusOutside.js.map +1 -1
  674. package/lib/listenFocusOutside.d.ts +1 -1
  675. package/lib/locale/useLocaleForControl/useLocaleForControl.js.map +1 -1
  676. package/lib/locale/useLocaleForControl.d.ts +1 -1
  677. package/lib/memo/memo.js +2 -4
  678. package/lib/memo/memo.js.map +1 -1
  679. package/lib/memo.d.ts +3 -1
  680. package/lib/net/fetch/fetch.js +2 -2
  681. package/lib/net/fetch/fetch.js.map +1 -1
  682. package/lib/reactGetTextContent/reactGetTextContent.js +0 -1
  683. package/lib/reactGetTextContent/reactGetTextContent.js.map +1 -1
  684. package/lib/rootNode/getRootNode/getRootNode.js +8 -8
  685. package/lib/rootNode/getRootNode/getRootNode.js.map +1 -1
  686. package/lib/rootNode/getRootNode.d.ts +3 -3
  687. package/lib/rootNode/rootNodeDecorator/rootNodeDecorator.js.map +1 -1
  688. package/lib/rootNode/rootNodeDecorator.d.ts +9 -9
  689. package/lib/styles/ColorFactory/ColorFactory.js +3 -1
  690. package/lib/styles/ColorFactory/ColorFactory.js.map +1 -1
  691. package/lib/styles/ColorFunctions/ColorFunctions.js.map +1 -1
  692. package/lib/theming/AnimationKeyframes/AnimationKeyframes.js +8 -14
  693. package/lib/theming/AnimationKeyframes/AnimationKeyframes.js.map +1 -1
  694. package/lib/theming/AnimationKeyframes.d.ts +3 -5
  695. package/lib/theming/Emotion/Emotion.js.map +1 -1
  696. package/lib/theming/ThemeFactory/ThemeFactory.js +4 -1
  697. package/lib/theming/ThemeFactory/ThemeFactory.js.map +1 -1
  698. package/lib/theming/ThemeFactory.d.ts +1 -1
  699. package/lib/theming/ThemeHelpers/ThemeHelpers.js +1 -1
  700. package/lib/theming/ThemeHelpers/ThemeHelpers.js.map +1 -1
  701. package/lib/theming/ThemeHelpers.d.ts +2 -2
  702. package/lib/utils/utils.js +2 -2
  703. package/lib/utils/utils.js.map +1 -1
  704. package/lib/utils.d.ts +3 -1
  705. package/lib/withClassWrapper/withClassWrapper.js +1 -4
  706. package/lib/withClassWrapper/withClassWrapper.js.map +1 -1
  707. package/package.json +3 -3
  708. package/typings/event-types.d.ts +2 -2
@@ -17,6 +17,7 @@ var _CommonWrapper = require("../../internal/CommonWrapper");
17
17
  var _decorator = require("../ResponsiveLayout/decorator");
18
18
  var _rootNode = require("../../lib/rootNode");
19
19
 
20
+ var _createPropsGetter = require("../../lib/createPropsGetter");
20
21
 
21
22
  var _Tooltip = require("./Tooltip.styles");var _class, _class2, _temp;
22
23
 
@@ -157,6 +158,10 @@ var Positions = [
157
158
 
158
159
 
159
160
 
161
+
162
+
163
+
164
+
160
165
  Tooltip = (0, _rootNode.rootNode)(_class = (0, _decorator.responsiveLayout)(_class = (_temp = _class2 = /*#__PURE__*/function (_React$PureComponent) {(0, _inheritsLoose2.default)(Tooltip, _React$PureComponent);function Tooltip() {var _this;for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {args[_key] = arguments[_key];}_this = _React$PureComponent.call.apply(_React$PureComponent, [this].concat(args)) || this;_this.
161
166
 
162
167
 
@@ -184,6 +189,7 @@ Tooltip = (0, _rootNode.rootNode)(_class = (0, _decorator.responsiveLayout)(_cla
184
189
 
185
190
 
186
191
 
192
+ getProps = (0, _createPropsGetter.createPropsGetter)(Tooltip.defaultProps);_this.
187
193
 
188
194
 
189
195
 
@@ -240,7 +246,6 @@ Tooltip = (0, _rootNode.rootNode)(_class = (0, _decorator.responsiveLayout)(_cla
240
246
 
241
247
 
242
248
 
243
-
244
249
 
245
250
 
246
251
  renderContent = function () {
@@ -351,12 +356,16 @@ Tooltip = (0, _rootNode.rootNode)(_class = (0, _decorator.responsiveLayout)(_cla
351
356
 
352
357
 
353
358
 
359
+
360
+
361
+
354
362
 
355
363
 
356
364
 
357
365
 
358
366
  mobileCloseHandler = function () {
359
- if (_this.props.trigger === 'manual' || _this.props.trigger === 'closed' || _this.props.trigger === 'opened') {
367
+ var trigger = _this.getProps().trigger;
368
+ if (trigger === 'manual' || trigger === 'closed' || trigger === 'opened') {
360
369
  return;
361
370
  }
362
371
 
@@ -463,6 +472,7 @@ Tooltip = (0, _rootNode.rootNode)(_class = (0, _decorator.responsiveLayout)(_cla
463
472
 
464
473
 
465
474
 
475
+
466
476
 
467
477
 
468
478
  open = function () {return _this.setState({ opened: true });};_this.
@@ -477,7 +487,7 @@ Tooltip = (0, _rootNode.rootNode)(_class = (0, _decorator.responsiveLayout)(_cla
477
487
 
478
488
 
479
489
  handleMouseEnter = function (event) {
480
- var isHoverAnchor = _this.props.trigger === 'hoverAnchor';
490
+ var isHoverAnchor = _this.getProps().trigger === 'hoverAnchor';
481
491
  if (isHoverAnchor && event.target === _this.contentElement) {
482
492
  return;
483
493
  }
@@ -491,17 +501,17 @@ Tooltip = (0, _rootNode.rootNode)(_class = (0, _decorator.responsiveLayout)(_cla
491
501
  if (_this.isMobileLayout) {
492
502
  return;
493
503
  }
494
-
504
+ var trigger = _this.getProps().trigger;
495
505
  if (
496
- _this.props.trigger === 'hover&focus' && _this.state.focused ||
497
- _this.props.trigger === 'hover' && event.relatedTarget === _this.contentElement)
506
+ trigger === 'hover&focus' && _this.state.focused ||
507
+ trigger === 'hover' && event.relatedTarget === _this.contentElement)
498
508
  {
499
509
  return;
500
510
  }
501
511
 
502
512
  _this.clearHoverTimeout();
503
513
 
504
- if (_this.props.trigger === 'hoverAnchor') {
514
+ if (trigger === 'hoverAnchor') {
505
515
  _this.close();
506
516
  } else {
507
517
  _this.hoverTimeout = window.setTimeout(_this.close, Tooltip.delay);
@@ -512,11 +522,11 @@ Tooltip = (0, _rootNode.rootNode)(_class = (0, _decorator.responsiveLayout)(_cla
512
522
  _this.open();
513
523
  };_this.
514
524
 
515
- handleClickOutside = function (event) {
516
- _this.clickedOutside = _this.isClickOutsideContent(event) && _this.isClickOutsideAnchor(event);
525
+ handleClickOutsideAnchor = function (event) {
526
+ _this.clickedOutside = _this.isClickOutsideContent(event);
517
527
  if (_this.clickedOutside) {
518
528
  if (_this.props.onCloseRequest) {
519
- _this.props.onCloseRequest();
529
+ _this.props.onCloseRequest(event);
520
530
  }
521
531
  _this.close();
522
532
  }
@@ -530,25 +540,18 @@ Tooltip = (0, _rootNode.rootNode)(_class = (0, _decorator.responsiveLayout)(_cla
530
540
 
531
541
 
532
542
 
533
-
534
-
535
-
536
-
537
-
538
-
539
-
540
-
541
543
  handleFocus = function () {
542
544
  _this.setState({ focused: true });
543
545
  _this.open();
544
546
  };_this.
545
547
 
546
548
  handleBlur = function () {
547
- if (_this.props.trigger === 'hover&focus' && _this.clickedOutside) {
549
+ var trigger = _this.getProps().trigger;
550
+ if (trigger === 'hover&focus' && _this.clickedOutside) {
548
551
  _this.close();
549
552
  }
550
553
 
551
- if (_this.props.trigger === 'focus') {
554
+ if (trigger === 'focus') {
552
555
  _this.close();
553
556
  }
554
557
 
@@ -568,16 +571,16 @@ Tooltip = (0, _rootNode.rootNode)(_class = (0, _decorator.responsiveLayout)(_cla
568
571
  }
569
572
 
570
573
  if (_this.props.onCloseRequest) {
571
- _this.props.onCloseRequest();
574
+ _this.props.onCloseRequest(event);
572
575
  }
573
576
 
574
577
  _this.close();
575
- };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 || this.isMobileLayout) {return null;}return /*#__PURE__*/_react.default.createElement("div", { className: _Tooltip.styles.cross(this.theme), onClick: this.handleCloseButtonClick }, /*#__PURE__*/_react.default.createElement(_CrossIcon.CrossIcon, null));}; /**
578
+ };return _this;}var _proto = Tooltip.prototype;_proto.componentDidUpdate = function componentDidUpdate(prevProps) {var _this$getProps = this.getProps(),trigger = _this$getProps.trigger,allowedPositions = _this$getProps.allowedPositions,pos = _this$getProps.pos;if (trigger === 'closed' && this.state.opened) {this.close();}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.getProps().trigger) : this.props.closeButton;if (!hasCross || this.isMobileLayout) {return null;}return /*#__PURE__*/_react.default.createElement("div", { className: _Tooltip.styles.cross(this.theme), onClick: this.handleCloseButtonClick }, /*#__PURE__*/_react.default.createElement(_CrossIcon.CrossIcon, null));}; /**
576
579
  * Программно открывает тултип.
577
580
  * <p>Не действует если проп *trigger* `'opened'` или `'closed'`.</p>
578
581
  * @public
579
- */_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();} /**
582
+ */_proto.show = function show() {if (this.state.opened) {return;}var trigger = this.getProps().trigger;if (trigger === 'opened' || trigger === 'closed') {(0, _warning.default)(true, "Function 'show' is not supported with trigger specified '" + trigger + "'");return;}this.open();} /**
580
583
  * Программно закрывает тултип.
581
584
  * <p>Не действует если проп *trigger* `'opened'` или `'closed'`.</p>
582
585
  * @public
583
- */;_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);if (this.isMobileLayout) {return popup;}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)({ "data-tid": TooltipDataTids.root, 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, mobileOnCloseRequest: this.mobileCloseHandler, 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 (this.props.trigger) {case 'opened':return { layerProps: { active: true, onClickOutside: this.handleClickOutside }, 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.handleClickOutside }, 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.handleClickOutside }, 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) {return this.isClickOutside(event, this.contentElement);};_proto.isClickOutsideAnchor = function isClickOutsideAnchor(event) {return this.isClickOutside(event, this.getAnchorElement());};_proto.isClickOutside = function isClickOutside(event, target) {if (target && event.target instanceof Element) {return !(0, _listenFocusOutside.containsTargetOrRenderContainer)(event.target)(target);}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) || _class;exports.Tooltip = Tooltip;
586
+ */;_proto.hide = function hide() {var trigger = this.getProps().trigger;if (trigger === 'opened' || trigger === 'closed') {(0, _warning.default)(true, "Function 'hide' is not supported with trigger specified '" + trigger + "'");return;}this.close();};_proto.renderMain = function renderMain() {var props = this.props;var content = this.renderContent();var _this$getPopupAndLaye = this.getPopupAndLayerProps(),popupProps = _this$getPopupAndLaye.popupProps,_this$getPopupAndLaye2 = _this$getPopupAndLaye.layerProps,layerProps = _this$getPopupAndLaye2 === void 0 ? { active: false } : _this$getPopupAndLaye2;var anchorElement = props.children || props.anchorElement;var popup = this.renderPopup(anchorElement, popupProps, content);if (this.isMobileLayout) {return popup;}return /*#__PURE__*/_react.default.createElement(_RenderLayer.RenderLayer, (0, _extends2.default)({}, layerProps, { getAnchorElement: this.getAnchorElement }), popup);};_proto.renderPopup = function renderPopup(anchorElement, popupProps, content) {var _this$getProps2 = this.getProps(),disableAnimations = _this$getProps2.disableAnimations,trigger = _this$getProps2.trigger;return /*#__PURE__*/_react.default.createElement(_CommonWrapper.CommonWrapper, (0, _extends2.default)({ rootNodeRef: this.setRootNode }, this.props), /*#__PURE__*/_react.default.createElement(_Popup.Popup, (0, _extends2.default)({ "data-tid": TooltipDataTids.root, anchorElement: anchorElement, hasPin: true, hasShadow: true, maxWidth: "none", opened: this.state.opened, disableAnimations: disableAnimations, positions: this.getPositions(), ignoreHover: trigger === 'hoverAnchor', onOpen: this.props.onOpen, onClose: this.props.onClose, mobileOnCloseRequest: this.mobileCloseHandler, tryPreserveFirstRenderedPosition: true, ref: this.popupRef }, popupProps), content));};_proto.getPositions = function getPositions() {if (!this.positions) {var _this$getProps3 = this.getProps(),allowedPositions = _this$getProps3.allowedPositions,pos = _this$getProps3.pos;var index = allowedPositions.indexOf(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.getPopupAndLayerProps = function getPopupAndLayerProps() {var props = this.props;var useWrapper = !!props.children && this.getProps().useWrapper;var trigger = this.getProps().trigger;switch (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: ' + 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 }, _class2.delay = 100, _class2.triggersWithoutCloseButton = ['hover', 'hoverAnchor', 'focus', 'hover&focus'], _temp)) || _class) || _class;exports.Tooltip = Tooltip;
@@ -1 +1 @@
1
- {"version":3,"sources":["Tooltip.tsx"],"names":["TooltipDataTids","root","content","Positions","Tooltip","rootNode","responsiveLayout","state","opened","focused","hoverTimeout","contentElement","positions","clickedOutside","popupRef","React","createRef","renderContent","props","render","refContent","styles","tooltipContent","theme","renderCloseButton","getAnchorElement","current","anchorElement","mobileCloseHandler","trigger","close","node","open","setState","handleMouseEnter","event","isHoverAnchor","target","clearHoverTimeout","window","setTimeout","delay","handleMouseLeave","isMobileLayout","relatedTarget","handleClick","handleClickOutside","isClickOutsideContent","isClickOutsideAnchor","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","setRootNode","disableAnimations","getPositions","onOpen","onClose","index","indexOf","Error","join","slice","useWrapper","onClickOutside","onMouseEnter","onMouseLeave","onClick","onFocus","onBlur","clearTimeout","isClickOutside","Element","PureComponent","__KONTUR_REACT_UI__","propTypes","propName","componentName","Array","isArray","defaultProps","DefaultPosition","isTestEnv","closeOnChildrenMouseLeave"],"mappings":"+VAAA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;AACA;AACA;;;AAGA,2C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqHO,IAAMA,eAAe,GAAG;AAC7BC,EAAAA,IAAI,EAAE,eADuB;AAE7BC,EAAAA,OAAO,EAAE,kBAFoB,EAAxB,C;;;AAKP,IAAMC,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;;;;;AAiBaC,O,OAFZC,kB,eACAC,2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgCQC,IAAAA,K,GAAsB,EAAEC,MAAM,EAAE,KAAV,EAAiBC,OAAO,EAAE,KAA1B,E;;AAErBC,IAAAA,Y,GAAiC,I;AACjCC,IAAAA,c,GAAwC,I;AACxCC,IAAAA,S,GAA4C,I;AAC5CC,IAAAA,c,GAAiB,I;;;AAGjBC,IAAAA,Q,gBAAWC,eAAMC,SAAN,E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+CZC,IAAAA,a,GAAgB,YAAM;AAC3B,UAAMf,OAAO,GAAG,MAAKgB,KAAL,CAAWC,MAAX,GAAoB,MAAKD,KAAL,CAAWC,MAAX,EAApB,GAA0C,IAA1D;AACA,UAAI,uBAAWjB,OAAX,CAAJ,EAAyB;AACvB,eAAO,IAAP;AACD;;AAED;AACE,8CAAK,GAAG,EAAE,MAAKkB,UAAf,EAA2B,SAAS,EAAEC,gBAAOC,cAAP,CAAsB,MAAKC,KAA3B,CAAtC,EAAyE,YAAUvB,eAAe,CAACE,OAAnG;AACGA,QAAAA,OADH;AAEG,cAAKsB,iBAAL,EAFH,CADF;;;AAMD,K;;;;;;;;;;;;;;;;;;;AAmBMC,IAAAA,gB,GAAmB,YAA6B;AACrD,sCAAO,MAAKX,QAAL,CAAcY,OAArB,qBAAO,sBAAuBC,aAA9B;AACD,K;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+EOC,IAAAA,kB,GAAqB,YAAM;AACjC,UAAI,MAAKV,KAAL,CAAWW,OAAX,KAAuB,QAAvB,IAAmC,MAAKX,KAAL,CAAWW,OAAX,KAAuB,QAA1D,IAAsE,MAAKX,KAAL,CAAWW,OAAX,KAAuB,QAAjG,EAA2G;AACzG;AACD;;AAED,YAAKC,KAAL;AACD,K;;AAEOV,IAAAA,U,GAAa,UAACW,IAAD,EAA8B;AACjD,YAAKpB,cAAL,GAAsBoB,IAAtB;AACD,K;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoGOC,IAAAA,I,GAAO,oBAAM,MAAKC,QAAL,CAAc,EAAEzB,MAAM,EAAE,IAAV,EAAd,CAAN,E;;AAEPsB,IAAAA,K,GAAQ,oBAAM,MAAKG,QAAL,CAAc,EAAEzB,MAAM,EAAE,KAAV,EAAd,CAAN,E;;;;;;;;;AASR0B,IAAAA,gB,GAAmB,UAACC,KAAD,EAA2B;AACpD,UAAMC,aAAa,GAAG,MAAKlB,KAAL,CAAWW,OAAX,KAAuB,aAA7C;AACA,UAAIO,aAAa,IAAID,KAAK,CAACE,MAAN,KAAiB,MAAK1B,cAA3C,EAA2D;AACzD;AACD;;AAED,YAAK2B,iBAAL;;AAEA,YAAK5B,YAAL,GAAoB6B,MAAM,CAACC,UAAP,CAAkB,MAAKR,IAAvB,EAA6B5B,OAAO,CAACqC,KAArC,CAApB;AACD,K;;AAEOC,IAAAA,gB,GAAmB,UAACP,KAAD,EAA2B;AACpD,UAAI,MAAKQ,cAAT,EAAyB;AACvB;AACD;;AAED;AACG,YAAKzB,KAAL,CAAWW,OAAX,KAAuB,aAAvB,IAAwC,MAAKtB,KAAL,CAAWE,OAApD;AACC,YAAKS,KAAL,CAAWW,OAAX,KAAuB,OAAvB,IAAkCM,KAAK,CAACS,aAAN,KAAwB,MAAKjC,cAFlE;AAGE;AACA;AACD;;AAED,YAAK2B,iBAAL;;AAEA,UAAI,MAAKpB,KAAL,CAAWW,OAAX,KAAuB,aAA3B,EAA0C;AACxC,cAAKC,KAAL;AACD,OAFD,MAEO;AACL,cAAKpB,YAAL,GAAoB6B,MAAM,CAACC,UAAP,CAAkB,MAAKV,KAAvB,EAA8B1B,OAAO,CAACqC,KAAtC,CAApB;AACD;AACF,K;;AAEOI,IAAAA,W,GAAc,YAAM;AAC1B,YAAKb,IAAL;AACD,K;;AAEOc,IAAAA,kB,GAAqB,UAACX,KAAD,EAAkB;AAC7C,YAAKtB,cAAL,GAAsB,MAAKkC,qBAAL,CAA2BZ,KAA3B,KAAqC,MAAKa,oBAAL,CAA0Bb,KAA1B,CAA3D;AACA,UAAI,MAAKtB,cAAT,EAAyB;AACvB,YAAI,MAAKK,KAAL,CAAW+B,cAAf,EAA+B;AAC7B,gBAAK/B,KAAL,CAAW+B,cAAX;AACD;AACD,cAAKnB,KAAL;AACD;AACF,K;;;;;;;;;;;;;;;;;;AAkBOoB,IAAAA,W,GAAc,YAAM;AAC1B,YAAKjB,QAAL,CAAc,EAAExB,OAAO,EAAE,IAAX,EAAd;AACA,YAAKuB,IAAL;AACD,K;;AAEOmB,IAAAA,U,GAAa,YAAM;AACzB,UAAI,MAAKjC,KAAL,CAAWW,OAAX,KAAuB,aAAvB,IAAwC,MAAKhB,cAAjD,EAAiE;AAC/D,cAAKiB,KAAL;AACD;;AAED,UAAI,MAAKZ,KAAL,CAAWW,OAAX,KAAuB,OAA3B,EAAoC;AAClC,cAAKC,KAAL;AACD;;AAED,YAAKjB,cAAL,GAAsB,IAAtB;AACA,YAAKoB,QAAL,CAAc,EAAExB,OAAO,EAAE,KAAX,EAAd;AACD,K;;AAEO2C,IAAAA,sB,GAAyB,UAACjB,KAAD,EAA0C;AACzEA,MAAAA,KAAK,CAACkB,eAAN;;AAEA,UAAI,MAAKnC,KAAL,CAAWoC,YAAf,EAA6B;AAC3B,cAAKpC,KAAL,CAAWoC,YAAX,CAAwBnB,KAAxB;AACD;;AAED,UAAIA,KAAK,CAACoB,gBAAV,EAA4B;AAC1B;AACD;;AAED,UAAI,MAAKrC,KAAL,CAAW+B,cAAf,EAA+B;AAC7B,cAAK/B,KAAL,CAAW+B,cAAX;AACD;;AAED,YAAKnB,KAAL;AACD,K,qDAvXM0B,kB,GAAP,4BAA0BC,SAA1B,EAAmD,CACjD,IAAI,KAAKvC,KAAL,CAAWW,OAAX,KAAuB,QAAvB,IAAmC,KAAKtB,KAAL,CAAWC,MAAlD,EAA0D,CACxD,KAAKsB,KAAL,GACD,CAED,kBAAkC,KAAKZ,KAAvC,CAAQwC,gBAAR,eAAQA,gBAAR,CAA0BC,GAA1B,eAA0BA,GAA1B,CACA,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,KAAKjD,SAAL,GAAiB,IAAjB,CACD,CACF,C,QAEMkD,oB,GAAP,gCAA8B,CAC5B,KAAKxB,iBAAL,GACD,C,QAEMnB,M,GAAP,kBAAgB,mBACd,oBACE,6BAAC,0BAAD,CAAc,QAAd,QACG,UAACI,KAAD,EAAW,CACV,MAAI,CAACA,KAAL,GAAaA,KAAb,CACA,oBACE,6BAAC,0BAAD,CAAc,QAAd,IACE,KAAK,EAAEwC,2BAAaC,MAAb,CACL,EACEC,cAAc,EAAE1C,KAAK,CAAC2C,gBADxB,EAEEC,WAAW,EAAE5C,KAAK,CAAC6C,aAFrB,EAGEC,WAAW,EAAE9C,KAAK,CAAC+C,aAHrB,EAIEC,iBAAiB,EAAEhD,KAAK,CAACiD,mBAJ3B,EAKEC,YAAY,EAAElD,KAAK,CAACmD,cALtB,EAMEC,eAAe,EAAEpD,KAAK,CAACqD,iBANzB,EAOEC,eAAe,EAAEtD,KAAK,CAACuD,iBAPzB,EADK,EAULvD,KAVK,CADT,IAcG,MAAI,CAACwD,UAAL,EAdH,CADF,CAkBD,CArBH,CADF,CAyBD,C,QAgBMvD,iB,GAAP,6BAA2B,CACzB,IAAMwD,QAAQ,GACZ,KAAK9D,KAAL,CAAW+D,WAAX,KAA2BC,SAA3B,GACI,CAAC9E,OAAO,CAAC+E,0BAAR,CAAmCC,QAAnC,CAA4C,KAAKlE,KAAL,CAAWW,OAAvD,CADL,GAEI,KAAKX,KAAL,CAAW+D,WAHjB,CAKA,IAAI,CAACD,QAAD,IAAa,KAAKrC,cAAtB,EAAsC,CACpC,OAAO,IAAP,CACD,CAED,oBACE,sCAAK,SAAS,EAAEtB,gBAAOgE,KAAP,CAAa,KAAK9D,KAAlB,CAAhB,EAA0C,OAAO,EAAE,KAAK6B,sBAAxD,iBACE,6BAAC,oBAAD,OADF,CADF,CAKD,C,EAMD;AACF;AACA;AACA;AACA,K,OACSkC,I,GAAP,gBAAc,CACZ,IAAI,KAAK/E,KAAL,CAAWC,MAAf,EAAuB,CACrB,OACD,CACD,IAAI,KAAKU,KAAL,CAAWW,OAAX,KAAuB,QAAvB,IAAmC,KAAKX,KAAL,CAAWW,OAAX,KAAuB,QAA9D,EAAwE,CACtE,sBAAQ,IAAR,gEAA0E,KAAKX,KAAL,CAAWW,OAArF,QACA,OACD,CACD,KAAKG,IAAL,GACD,C,CAED;AACF;AACA;AACA;AACA,K,QACSuD,I,GAAP,gBAAc,CACZ,IAAI,KAAKrE,KAAL,CAAWW,OAAX,KAAuB,QAAvB,IAAmC,KAAKX,KAAL,CAAWW,OAAX,KAAuB,QAA9D,EAAwE,CACtE,sBAAQ,IAAR,gEAA0E,KAAKX,KAAL,CAAWW,OAArF,QACA,OACD,CACD,KAAKC,KAAL,GACD,C,QAEOiD,U,GAAR,sBAAqB,CACnB,IAAM7D,KAAK,GAAG,KAAKA,KAAnB,CACA,IAAMhB,OAAO,GAAG,KAAKe,aAAL,EAAhB,CACA,qBAAuD,KAAKuE,QAAL,EAAvD,CAAQC,UAAR,kBAAQA,UAAR,wCAAoBC,UAApB,CAAoBA,UAApB,sCAAiC,EAAEC,MAAM,EAAE,KAAV,EAAjC,yBACA,IAAMhE,aAAa,GAAGT,KAAK,CAAC0E,QAAN,IAAkB1E,KAAK,CAACS,aAA9C,CACA,IAAMkE,KAAK,GAAG,KAAKC,WAAL,CAAiBnE,aAAjB,EAAgC8D,UAAhC,EAA4CvF,OAA5C,CAAd,CAEA,IAAI,KAAKyC,cAAT,EAAyB,CACvB,OAAOkD,KAAP,CACD,CAED,oBACE,6BAAC,wBAAD,6BAAiBH,UAAjB,IAA6B,gBAAgB,EAAE,KAAKjE,gBAApD,KACGoE,KADH,CADF,CAKD,C,QAEOC,W,GAAR,qBACEnE,aADF,EAEE8D,UAFF,EAGEvF,OAHF,EAIE,CACA,oBACE,6BAAC,4BAAD,2BAAe,WAAW,EAAE,KAAK6F,WAAjC,IAAkD,KAAK7E,KAAvD,gBACE,6BAAC,YAAD,2BACE,YAAUlB,eAAe,CAACC,IAD5B,EAEE,aAAa,EAAE0B,aAFjB,EAGE,MAAM,MAHR,EAIE,SAAS,MAJX,EAKE,QAAQ,EAAC,MALX,EAME,MAAM,EAAE,KAAKpB,KAAL,CAAWC,MANrB,EAOE,iBAAiB,EAAE,KAAKU,KAAL,CAAW8E,iBAPhC,EAQE,SAAS,EAAE,KAAKC,YAAL,EARb,EASE,WAAW,EAAE,KAAK/E,KAAL,CAAWW,OAAX,KAAuB,aATtC,EAUE,MAAM,EAAE,KAAKX,KAAL,CAAWgF,MAVrB,EAWE,OAAO,EAAE,KAAKhF,KAAL,CAAWiF,OAXtB,EAYE,oBAAoB,EAAE,KAAKvE,kBAZ7B,EAaE,gCAAgC,MAblC,EAcE,GAAG,EAAE,KAAKd,QAdZ,IAeM2E,UAfN,GAiBGvF,OAjBH,CADF,CADF,CAuBD,C,QAcO+F,Y,GAAR,wBAAuB,CACrB,IAAI,CAAC,KAAKrF,SAAV,EAAqB,CACnB,IAAM8C,gBAAgB,GAAG,KAAKxC,KAAL,CAAWwC,gBAApC,CACA,IAAM0C,KAAK,GAAG1C,gBAAgB,CAAC2C,OAAjB,CAAyB,KAAKnF,KAAL,CAAWyC,GAApC,CAAd,CACA,IAAIyC,KAAK,KAAK,CAAC,CAAf,EAAkB,CAChB,MAAM,IAAIE,KAAJ,CAAU,6DAA6D5C,gBAAgB,CAAC6C,IAAjB,CAAsB,IAAtB,CAAvE,CAAN,CACD,CAED,KAAK3F,SAAL,aAAqB8C,gBAAgB,CAAC8C,KAAjB,CAAuBJ,KAAvB,CAArB,EAAuD1C,gBAAgB,CAAC8C,KAAjB,CAAuB,CAAvB,EAA0BJ,KAA1B,CAAvD,EACD,CAED,OAAO,KAAKxF,SAAZ,CACD,C,QAEO4E,Q,GAAR,oBAGE,CACA,IAAMtE,KAAK,GAAG,KAAKA,KAAnB,CACA,IAAMuF,UAAU,GAAG,CAAC,CAACvF,KAAK,CAAC0E,QAAR,IAAoB1E,KAAK,CAACuF,UAA7C,CAEA,QAAQ,KAAKvF,KAAL,CAAWW,OAAnB,GACE,KAAK,QAAL,CACE,OAAO,EACL6D,UAAU,EAAE,EACVC,MAAM,EAAE,IADE,EAEVe,cAAc,EAAE,KAAK5D,kBAFX,EADP,EAKL2C,UAAU,EAAE,EACVjF,MAAM,EAAE,IADE,EAEViG,UAAU,EAAVA,UAFU,EALP,EAAP,CAWF,KAAK,QAAL,CACE,OAAO,EACLhB,UAAU,EAAE,EACVjF,MAAM,EAAE,KADE,EAEViG,UAAU,EAAVA,UAFU,EADP,EAAP,CAOF,KAAK,aAAL,CACA,KAAK,OAAL,CACE,OAAO,EACLhB,UAAU,EAAE,EACVkB,YAAY,EAAE,KAAKzE,gBADT,EAEV0E,YAAY,EAAE,KAAKlE,gBAFT,EAGV+D,UAAU,EAAVA,UAHU,EADP,EAAP,CAOF,KAAK,QAAL,CACE,OAAO,EACLhB,UAAU,EAAE,EACVgB,UAAU,EAAVA,UADU,EADP,EAAP,CAKF,KAAK,OAAL,CACE,OAAO,EACLf,UAAU,EAAE,EACVC,MAAM,EAAE,KAAKpF,KAAL,CAAWC,MADT,EAEVkG,cAAc,EAAE,KAAK5D,kBAFX,EADP,EAKL2C,UAAU,EAAE,EACVoB,OAAO,EAAE,KAAKhE,WADJ,EAEV4D,UAAU,EAAVA,UAFU,EALP,EAAP,CAWF,KAAK,OAAL,CACE,OAAO,EACLhB,UAAU,EAAE,EACVqB,OAAO,EAAE,KAAK5D,WADJ,EAEV6D,MAAM,EAAE,KAAK5D,UAFH,EAGVsD,UAAU,EAAVA,UAHU,EADP,EAAP,CAQF,KAAK,aAAL,CACE,OAAO,EACLf,UAAU,EAAE,EACVC,MAAM,EAAE,KAAKpF,KAAL,CAAWC,MADT,EAEVkG,cAAc,EAAE,KAAK5D,kBAFX,EADP,EAKL2C,UAAU,EAAE,EACVqB,OAAO,EAAE,KAAK5D,WADJ,EAEV6D,MAAM,EAAE,KAAK5D,UAFH,EAGVwD,YAAY,EAAE,KAAKzE,gBAHT,EAIV0E,YAAY,EAAE,KAAKlE,gBAJT,EAKV+D,UAAU,EAAVA,UALU,EALP,EAAP,CAcF,QACE,MAAM,IAAIH,KAAJ,CAAU,gCAAgCpF,KAAK,CAACW,OAAhD,CAAN,CAzEJ,CA2ED,C,QAMOS,iB,GAAR,6BAA4B,CAC1B,IAAI,KAAK5B,YAAT,EAAuB,CACrBsG,YAAY,CAAC,KAAKtG,YAAN,CAAZ,CACA,KAAKA,YAAL,GAAoB,IAApB,CACD,CACF,C,QAgDOqC,qB,GAAR,+BAA8BZ,KAA9B,EAA4C,CAC1C,OAAO,KAAK8E,cAAL,CAAoB9E,KAApB,EAA2B,KAAKxB,cAAhC,CAAP,CACD,C,QAEOqC,oB,GAAR,8BAA6Bb,KAA7B,EAA2C,CACzC,OAAO,KAAK8E,cAAL,CAAoB9E,KAApB,EAA2B,KAAKV,gBAAL,EAA3B,CAAP,CACD,C,QAEOwF,c,GAAR,wBAAuB9E,KAAvB,EAAqCE,MAArC,EAAoE,CAClE,IAAIA,MAAM,IAAIF,KAAK,CAACE,MAAN,YAAwB6E,OAAtC,EAA+C,CAC7C,OAAO,CAAC,yDAAgC/E,KAAK,CAACE,MAAtC,EAA8CA,MAA9C,CAAR,CACD,CAED,OAAO,IAAP,CACD,C,kBA3X0BtB,eAAMoG,a,WACnBC,mB,GAAsB,S,UAItBC,S,GAAY,EACxBzB,QADwB,oBACf1E,KADe,EACMoG,QADN,EACoCC,aADpC,EAC2D,CACjF,IAAM3B,QAAQ,GAAG1E,KAAK,CAACoG,QAAD,CAAtB,CACA,sBACE1B,QAAQ,IAAI1E,KAAK,CAACS,aADpB,QAEM4F,aAFN,0EAEwFA,aAFxF,wBAIA,sBACE,EAAEC,KAAK,CAACC,OAAN,CAAc7B,QAAd,KAA2B1E,KAAK,CAACuF,UAAN,KAAqB,KAAlD,CADF,QAEMc,aAFN,4HAID,CAXuB,E,UAcZG,Y,GAAe,EAC3B/D,GAAG,EAAEgE,sBADsB,EAE3B9F,OAAO,EAAE,OAFkB,EAG3B6B,gBAAgB,EAAEvD,SAHS,EAI3B6F,iBAAiB,EAAE4B,6BAJQ,EAK3BnB,UAAU,EAAE,KALe,EAM3BoB,yBAAyB,EAAE,KANA,E,UASfpF,K,GAAQ,G,UACP0C,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 { isNullable } from '../../lib/utils';\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 { responsiveLayout } from '../ResponsiveLayout/decorator';\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\nexport const TooltipDataTids = {\n root: 'Tooltip__root',\n content: 'Tooltip__content',\n} as const;\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\n@responsiveLayout\nexport class Tooltip extends React.PureComponent<TooltipProps, TooltipState> implements InstanceWithAnchorElement {\n public static __KONTUR_REACT_UI__ = 'Tooltip';\n\n private isMobileLayout!: boolean;\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 (isNullable(content)) {\n return null;\n }\n\n return (\n <div ref={this.refContent} className={styles.tooltipContent(this.theme)} data-tid={TooltipDataTids.content}>\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 || this.isMobileLayout) {\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) {\n return;\n }\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 if (this.isMobileLayout) {\n return popup;\n }\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 data-tid={TooltipDataTids.root}\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 mobileOnCloseRequest={this.mobileCloseHandler}\n tryPreserveFirstRenderedPosition\n ref={this.popupRef}\n {...popupProps}\n >\n {content}\n </Popup>\n </CommonWrapper>\n );\n }\n\n private mobileCloseHandler = () => {\n if (this.props.trigger === 'manual' || this.props.trigger === 'closed' || this.props.trigger === 'opened') {\n return;\n }\n\n this.close();\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\n switch (this.props.trigger) {\n case 'opened':\n return {\n layerProps: {\n active: true,\n onClickOutside: this.handleClickOutside,\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.handleClickOutside,\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.handleClickOutside,\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 (this.isMobileLayout) {\n return;\n }\n\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 handleClickOutside = (event: Event) => {\n this.clickedOutside = this.isClickOutsideContent(event) && this.isClickOutsideAnchor(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 return this.isClickOutside(event, this.contentElement);\n }\n\n private isClickOutsideAnchor(event: Event) {\n return this.isClickOutside(event, this.getAnchorElement());\n }\n\n private isClickOutside(event: Event, target: Nullable<HTMLElement>) {\n if (target && event.target instanceof Element) {\n return !containsTargetOrRenderContainer(event.target)(target);\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":["TooltipDataTids","root","content","Positions","Tooltip","rootNode","responsiveLayout","getProps","defaultProps","state","opened","focused","hoverTimeout","contentElement","positions","clickedOutside","popupRef","React","createRef","renderContent","props","render","refContent","styles","tooltipContent","theme","renderCloseButton","getAnchorElement","current","anchorElement","mobileCloseHandler","trigger","close","node","open","setState","handleMouseEnter","event","isHoverAnchor","target","clearHoverTimeout","window","setTimeout","delay","handleMouseLeave","isMobileLayout","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","getPopupAndLayerProps","popupProps","layerProps","active","children","popup","renderPopup","disableAnimations","setRootNode","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","DefaultPosition","isTestEnv"],"mappings":"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","sourcesContent":["import React from 'react';\nimport warning from 'warning';\nimport isEqual from 'lodash.isequal';\n\nimport { isNullable } from '../../lib/utils';\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 { responsiveLayout } from '../ResponsiveLayout/decorator';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { InstanceWithAnchorElement } from '../../lib/InstanceWithAnchorElement';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\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?: (event?: Event | React.MouseEvent) => 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\nexport const TooltipDataTids = {\n root: 'Tooltip__root',\n content: 'Tooltip__content',\n} as const;\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\ntype DefaultProps = Required<\n Pick<TooltipProps, 'pos' | 'trigger' | 'allowedPositions' | 'disableAnimations' | 'useWrapper'>\n>;\n\n@rootNode\n@responsiveLayout\nexport class Tooltip extends React.PureComponent<TooltipProps, TooltipState> implements InstanceWithAnchorElement {\n public static __KONTUR_REACT_UI__ = 'Tooltip';\n\n private isMobileLayout!: boolean;\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: DefaultProps = {\n pos: DefaultPosition,\n trigger: 'hover',\n allowedPositions: Positions,\n disableAnimations: isTestEnv,\n useWrapper: false,\n };\n\n private getProps = createPropsGetter(Tooltip.defaultProps);\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 const { trigger, allowedPositions, pos } = this.getProps();\n if (trigger === 'closed' && this.state.opened) {\n this.close();\n }\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 (isNullable(content)) {\n return null;\n }\n\n return (\n <div ref={this.refContent} className={styles.tooltipContent(this.theme)} data-tid={TooltipDataTids.content}>\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.getProps().trigger)\n : this.props.closeButton;\n\n if (!hasCross || this.isMobileLayout) {\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<Element> => {\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) {\n return;\n }\n const trigger = this.getProps().trigger;\n if (trigger === 'opened' || trigger === 'closed') {\n warning(true, `Function 'show' is not supported with trigger specified '${trigger}'`);\n return;\n }\n this.open();\n }\n\n /**\n * Программно закрывает тултип.\n * <p>Не действует если проп *trigger* `'opened'` или `'closed'`.</p>\n * @public\n */\n public hide() {\n const trigger = this.getProps().trigger;\n if (trigger === 'opened' || trigger === 'closed') {\n warning(true, `Function 'hide' is not supported with trigger specified '${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.getPopupAndLayerProps();\n const anchorElement = props.children || props.anchorElement;\n const popup = this.renderPopup(anchorElement, popupProps, content);\n\n if (this.isMobileLayout) {\n return popup;\n }\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 const { disableAnimations, trigger } = this.getProps();\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <Popup\n data-tid={TooltipDataTids.root}\n anchorElement={anchorElement}\n hasPin\n hasShadow\n maxWidth=\"none\"\n opened={this.state.opened}\n disableAnimations={disableAnimations}\n positions={this.getPositions()}\n ignoreHover={trigger === 'hoverAnchor'}\n onOpen={this.props.onOpen}\n onClose={this.props.onClose}\n mobileOnCloseRequest={this.mobileCloseHandler}\n tryPreserveFirstRenderedPosition\n ref={this.popupRef}\n {...popupProps}\n >\n {content}\n </Popup>\n </CommonWrapper>\n );\n }\n\n private mobileCloseHandler = () => {\n const trigger = this.getProps().trigger;\n if (trigger === 'manual' || trigger === 'closed' || trigger === 'opened') {\n return;\n }\n\n this.close();\n };\n\n private refContent = (node: HTMLElement | null) => {\n this.contentElement = node;\n };\n\n private getPositions() {\n if (!this.positions) {\n const { allowedPositions, pos } = this.getProps();\n const index = allowedPositions.indexOf(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 getPopupAndLayerProps(): {\n layerProps?: Partial<RenderLayerProps>;\n popupProps: Partial<PopupProps>;\n } {\n const props = this.props;\n const useWrapper = !!props.children && this.getProps().useWrapper;\n const trigger = this.getProps().trigger;\n\n switch (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: ' + 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.getProps().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 (this.isMobileLayout) {\n return;\n }\n const trigger = this.getProps().trigger;\n if (\n (trigger === 'hover&focus' && this.state.focused) ||\n (trigger === 'hover' && event.relatedTarget === this.contentElement)\n ) {\n return;\n }\n\n this.clearHoverTimeout();\n\n if (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(event);\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 const trigger = this.getProps().trigger;\n if (trigger === 'hover&focus' && this.clickedOutside) {\n this.close();\n }\n\n if (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(event);\n }\n\n this.close();\n };\n}\n"]}
@@ -4,7 +4,7 @@ import { MenuItemProps } from '../MenuItem';
4
4
  import { MenuHeaderProps } from '../MenuHeader';
5
5
  import { PopupPositionsType } from '../../internal/Popup';
6
6
  import { CommonProps } from '../../internal/CommonWrapper';
7
- export declare type TooltipMenuChildType = React.ReactElement<MenuItemProps | {} | MenuHeaderProps>;
7
+ export declare type TooltipMenuChildType = React.ReactElement<MenuItemProps | unknown | MenuHeaderProps>;
8
8
  export interface TooltipMenuProps extends CommonProps, Pick<PopupMenuProps, 'onOpen' | 'onClose'> {
9
9
  children?: TooltipMenuChildType | TooltipMenuChildType[];
10
10
  /** Максимальная высота меню */
@@ -40,11 +40,12 @@ export interface TooltipMenuProps extends CommonProps, Pick<PopupMenuProps, 'onO
40
40
  /**
41
41
  * Не показывать анимацию
42
42
  */
43
- disableAnimations: boolean;
43
+ disableAnimations?: boolean;
44
44
  }
45
45
  export declare const TooltipMenuDataTids: {
46
46
  readonly root: "TooltipMenu__root";
47
47
  };
48
+ declare type DefaultProps = Required<Pick<TooltipMenuProps, 'disableAnimations'>>;
48
49
  /**
49
50
  * Меню, раскрывающееся по клику на переданный в `caption` элемент.
50
51
  *
@@ -59,10 +60,10 @@ export declare const TooltipMenuDataTids: {
59
60
  export declare class TooltipMenu extends React.Component<TooltipMenuProps> {
60
61
  static __KONTUR_REACT_UI__: string;
61
62
  private setRootNode;
62
- static defaultProps: {
63
- disableAnimations: boolean;
64
- };
63
+ static defaultProps: DefaultProps;
64
+ private getProps;
65
65
  constructor(props: TooltipMenuProps);
66
66
  render(): JSX.Element;
67
67
  renderMain(): JSX.Element | null;
68
68
  }
69
+ export {};
@@ -8,7 +8,8 @@ var _currentEnvironment = require("../../lib/currentEnvironment");
8
8
 
9
9
 
10
10
  var _CommonWrapper = require("../../internal/CommonWrapper");
11
- var _rootNode = require("../../lib/rootNode");var _class, _class2, _temp;
11
+ var _rootNode = require("../../lib/rootNode");
12
+ var _createPropsGetter = require("../../lib/createPropsGetter");var _class, _class2, _temp;
12
13
 
13
14
 
14
15
 
@@ -51,7 +52,9 @@ var _rootNode = require("../../lib/rootNode");var _class, _class2, _temp;
51
52
 
52
53
 
53
54
  var TooltipMenuDataTids = {
54
- root: 'TooltipMenu__root' };
55
+ root: 'TooltipMenu__root' };exports.TooltipMenuDataTids = TooltipMenuDataTids;
56
+
57
+
55
58
 
56
59
 
57
60
  /**
@@ -64,7 +67,7 @@ var TooltipMenuDataTids = {
64
67
  * Если меню должно раскрываться только в одну сторону - массив `positions` должен содержать только один элемент: сторону, в которую должно открываться меню.
65
68
  *
66
69
  * Если массив `positions` не передан (или передан пустой массив), будут использованы всевозможные значения.
67
- */exports.TooltipMenuDataTids = TooltipMenuDataTids;var
70
+ */var
68
71
 
69
72
  TooltipMenu = (0, _rootNode.rootNode)(_class = (_temp = _class2 = /*#__PURE__*/function (_React$Component) {(0, _inheritsLoose2.default)(TooltipMenu, _React$Component);
70
73
 
@@ -73,8 +76,11 @@ TooltipMenu = (0, _rootNode.rootNode)(_class = (_temp = _class2 = /*#__PURE__*/f
73
76
 
74
77
 
75
78
 
79
+
80
+
81
+
76
82
  function TooltipMenu(props) {var _this;
77
- _this = _React$Component.call(this, props) || this;
83
+ _this = _React$Component.call(this, props) || this;_this.getProps = (0, _createPropsGetter.createPropsGetter)(TooltipMenu.defaultProps);
78
84
 
79
85
  if (!props.caption && !_currentEnvironment.isProductionEnv) {
80
86
  throw new Error('Prop "caption" is required!!!');
@@ -122,7 +128,7 @@ TooltipMenu = (0, _rootNode.rootNode)(_class = (_temp = _class2 = /*#__PURE__*/f
122
128
  onOpen: this.props.onOpen,
123
129
  onClose: this.props.onClose,
124
130
  popupHasPin: true,
125
- disableAnimations: this.props.disableAnimations },
131
+ disableAnimations: this.getProps().disableAnimations },
126
132
 
127
133
  this.props.children)));
128
134
 
@@ -1 +1 @@
1
- {"version":3,"sources":["TooltipMenu.tsx"],"names":["TooltipMenuDataTids","root","TooltipMenu","rootNode","props","caption","isProductionEnv","Error","render","theme","ThemeFactory","create","popupPinOffset","tooltipMenuPinOffset","popupMargin","tooltipMenuMargin","popupPinSize","tooltipMenuPinSize","renderMain","setRootNode","menuMaxHeight","menuWidth","header","footer","positions","onOpen","onClose","disableAnimations","children","React","Component","__KONTUR_REACT_UI__","defaultProps","isTestEnv"],"mappings":"uWAAA;;AAEA;AACA;AACA;;AAEA;;;AAGA;AACA,8C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0CO,IAAMA,mBAAmB,GAAG;AACjCC,EAAAA,IAAI,EAAE,mBAD2B,EAA5B;;;AAIP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,G;;AAEaC,W,OADZC,kB;;;;;;;AAQC,uBAAYC,KAAZ,EAAqC;AACnC,wCAAMA,KAAN;;AAEA,QAAI,CAACA,KAAK,CAACC,OAAP,IAAkB,CAACC,mCAAvB,EAAwC;AACtC,YAAM,IAAIC,KAAJ,CAAU,+BAAV,CAAN;AACD,KALkC;AAMpC,G;;AAEMC,EAAAA,M,GAAP,kBAAgB;AACd;AACE,mCAAC,0BAAD,CAAc,QAAd;AACG,gBAACC,KAAD,EAAW;AACV;AACE,uCAAC,0BAAD,CAAc,QAAd;AACE,YAAA,KAAK,EAAEC,2BAAaC,MAAb;AACL;AACEC,cAAAA,cAAc,EAAEH,KAAK,CAACI,oBADxB;AAEEC,cAAAA,WAAW,EAAEL,KAAK,CAACM,iBAFrB;AAGEC,cAAAA,YAAY,EAAEP,KAAK,CAACQ,kBAHtB,EADK;;AAMLR,YAAAA,KANK,CADT;;;AAUG,UAAA,MAAI,CAACS,UAAL,EAVH,CADF;;;AAcD,OAhBH,CADF;;;AAoBD,G;;AAEMA,EAAAA,U,GAAP,sBAAoB;AAClB,QAAI,CAAC,KAAKd,KAAL,CAAWC,OAAhB,EAAyB;AACvB,aAAO,IAAP;AACD;;AAED;AACE,mCAAC,4BAAD,2BAAe,WAAW,EAAE,KAAKc,WAAjC,IAAkD,KAAKf,KAAvD;AACE,mCAAC,oBAAD;AACE,oBAAUJ,mBAAmB,CAACC,IADhC;AAEE,QAAA,aAAa,EAAE,KAAKG,KAAL,CAAWgB,aAF5B;AAGE,QAAA,SAAS,EAAE,KAAKhB,KAAL,CAAWiB,SAHxB;AAIE,QAAA,OAAO,EAAE,KAAKjB,KAAL,CAAWC,OAJtB;AAKE,QAAA,MAAM,EAAE,KAAKD,KAAL,CAAWkB,MALrB;AAME,QAAA,MAAM,EAAE,KAAKlB,KAAL,CAAWmB,MANrB;AAOE,QAAA,SAAS,EAAE,KAAKnB,KAAL,CAAWoB,SAPxB;AAQE,QAAA,MAAM,EAAE,KAAKpB,KAAL,CAAWqB,MARrB;AASE,QAAA,OAAO,EAAE,KAAKrB,KAAL,CAAWsB,OATtB;AAUE,QAAA,WAAW,MAVb;AAWE,QAAA,iBAAiB,EAAE,KAAKtB,KAAL,CAAWuB,iBAXhC;;AAaG,WAAKvB,KAAL,CAAWwB,QAbd,CADF,CADF;;;;AAmBD,G,sBA9D8BC,eAAMC,S,WACvBC,mB,GAAsB,a,UAGtBC,Y,GAAe,EAC3BL,iBAAiB,EAAEM,6BADQ,E","sourcesContent":["import React from 'react';\n\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { PopupMenu, PopupMenuProps } from '../../internal/PopupMenu';\nimport { MenuItemProps } from '../MenuItem';\nimport { isProductionEnv, isTestEnv } from '../../lib/currentEnvironment';\nimport { MenuHeaderProps } from '../MenuHeader';\nimport { PopupPositionsType } from '../../internal/Popup';\nimport { CommonProps, CommonWrapper } from '../../internal/CommonWrapper';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\n\nexport type TooltipMenuChildType = React.ReactElement<MenuItemProps | {} | MenuHeaderProps>;\n\nexport interface TooltipMenuProps extends CommonProps, Pick<PopupMenuProps, 'onOpen' | 'onClose'> {\n children?: TooltipMenuChildType | TooltipMenuChildType[];\n /** Максимальная высота меню */\n menuMaxHeight?: number | string;\n /** Ширина меню */\n menuWidth?: number | string;\n /**\n * Элемент или функция возвращающая элемент,\n * если передана, используется вместо `caption`,\n * в таком случае управлять открытием и закрытием меню\n * придется в этой функции\n */\n caption: PopupMenuProps['caption'];\n /**\n * Произвольный элемент, который будет отрендерен в шапке меню.\n *\n * _Примечание_: контрол [`MenuHeader`](#/Components/MenuHeader) передаётся только в `children` меню-контролов. Не стоит передавать `MenuHeader` в `header`.\n */\n header?: React.ReactNode;\n /**\n * Произвольный элемент, который будет отрендерен в подвале меню.\n *\n * Перед элементом переданным в `footer` будет отрендерен [`MenuSeparator`](#/Components/MenuSeparator).\n */\n footer?: React.ReactNode;\n /** Список позиций доступных для расположения выпадашки относительно `caption`.\n *\n * Если во всех позициях выпадашка вылезает за пределы `viewport`, будет использована первая из этого списка.\n *\n * **Возможные значения**: `top left`, `top center`, `top right`, `right top`, `right middle`, `right bottom`, `bottom left`, `bottom center`, `bottom right`, `left top`, `left middle`, `left bottom`\n */\n positions?: PopupPositionsType[];\n /**\n * Не показывать анимацию\n */\n disableAnimations: boolean;\n}\n\nexport const TooltipMenuDataTids = {\n root: 'TooltipMenu__root',\n} as const;\n\n/**\n * Меню, раскрывающееся по клику на переданный в `caption` элемент.\n *\n * Положение меню задаётся с помощью массива `positions` и работает так:\n * первое значение в массиве - дефолтная позиция, меню раскроется на этой позиции, если оно не будет выходить за пределы `viewport`,\n * если раскрыться в дефолтной позиции не получится - будет использована следующая позиция, и так далее, пока не будет достигнут конец массива. Если все положения из списка будут выходить за пределы `viewport`, в качестве положения будет использовано первое значение в массиве.\n *\n * Если меню должно раскрываться только в одну сторону - массив `positions` должен содержать только один элемент: сторону, в которую должно открываться меню.\n *\n * Если массив `positions` не передан (или передан пустой массив), будут использованы всевозможные значения.\n */\n@rootNode\nexport class TooltipMenu extends React.Component<TooltipMenuProps> {\n public static __KONTUR_REACT_UI__ = 'TooltipMenu';\n private setRootNode!: TSetRootNode;\n\n public static defaultProps = {\n disableAnimations: isTestEnv,\n };\n constructor(props: TooltipMenuProps) {\n super(props);\n\n if (!props.caption && !isProductionEnv) {\n throw new Error('Prop \"caption\" is required!!!');\n }\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n return (\n <ThemeContext.Provider\n value={ThemeFactory.create(\n {\n popupPinOffset: theme.tooltipMenuPinOffset,\n popupMargin: theme.tooltipMenuMargin,\n popupPinSize: theme.tooltipMenuPinSize,\n },\n theme,\n )}\n >\n {this.renderMain()}\n </ThemeContext.Provider>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n public renderMain() {\n if (!this.props.caption) {\n return null;\n }\n\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <PopupMenu\n data-tid={TooltipMenuDataTids.root}\n menuMaxHeight={this.props.menuMaxHeight}\n menuWidth={this.props.menuWidth}\n caption={this.props.caption}\n header={this.props.header}\n footer={this.props.footer}\n positions={this.props.positions}\n onOpen={this.props.onOpen}\n onClose={this.props.onClose}\n popupHasPin\n disableAnimations={this.props.disableAnimations}\n >\n {this.props.children}\n </PopupMenu>\n </CommonWrapper>\n );\n }\n}\n"]}
1
+ {"version":3,"sources":["TooltipMenu.tsx"],"names":["TooltipMenuDataTids","root","TooltipMenu","rootNode","props","getProps","defaultProps","caption","isProductionEnv","Error","render","theme","ThemeFactory","create","popupPinOffset","tooltipMenuPinOffset","popupMargin","tooltipMenuMargin","popupPinSize","tooltipMenuPinSize","renderMain","setRootNode","menuMaxHeight","menuWidth","header","footer","positions","onOpen","onClose","disableAnimations","children","React","Component","__KONTUR_REACT_UI__","isTestEnv"],"mappings":"uWAAA;;AAEA;AACA;AACA;;AAEA;;;AAGA;AACA;AACA,gE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0CO,IAAMA,mBAAmB,GAAG;AACjCC,EAAAA,IAAI,EAAE,mBAD2B,EAA5B,C;;;;;AAMP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,G;;AAEaC,W,OADZC,kB;;;;;;;;;;AAWC,uBAAYC,KAAZ,EAAqC;AACnC,wCAAMA,KAAN,UADmC,MAF7BC,QAE6B,GAFlB,0CAAkBH,WAAW,CAACI,YAA9B,CAEkB;;AAGnC,QAAI,CAACF,KAAK,CAACG,OAAP,IAAkB,CAACC,mCAAvB,EAAwC;AACtC,YAAM,IAAIC,KAAJ,CAAU,+BAAV,CAAN;AACD,KALkC;AAMpC,G;;AAEMC,EAAAA,M,GAAP,kBAAgB;AACd;AACE,mCAAC,0BAAD,CAAc,QAAd;AACG,gBAACC,KAAD,EAAW;AACV;AACE,uCAAC,0BAAD,CAAc,QAAd;AACE,YAAA,KAAK,EAAEC,2BAAaC,MAAb;AACL;AACEC,cAAAA,cAAc,EAAEH,KAAK,CAACI,oBADxB;AAEEC,cAAAA,WAAW,EAAEL,KAAK,CAACM,iBAFrB;AAGEC,cAAAA,YAAY,EAAEP,KAAK,CAACQ,kBAHtB,EADK;;AAMLR,YAAAA,KANK,CADT;;;AAUG,UAAA,MAAI,CAACS,UAAL,EAVH,CADF;;;AAcD,OAhBH,CADF;;;AAoBD,G;;AAEMA,EAAAA,U,GAAP,sBAAoB;AAClB,QAAI,CAAC,KAAKhB,KAAL,CAAWG,OAAhB,EAAyB;AACvB,aAAO,IAAP;AACD;;AAED;AACE,mCAAC,4BAAD,2BAAe,WAAW,EAAE,KAAKc,WAAjC,IAAkD,KAAKjB,KAAvD;AACE,mCAAC,oBAAD;AACE,oBAAUJ,mBAAmB,CAACC,IADhC;AAEE,QAAA,aAAa,EAAE,KAAKG,KAAL,CAAWkB,aAF5B;AAGE,QAAA,SAAS,EAAE,KAAKlB,KAAL,CAAWmB,SAHxB;AAIE,QAAA,OAAO,EAAE,KAAKnB,KAAL,CAAWG,OAJtB;AAKE,QAAA,MAAM,EAAE,KAAKH,KAAL,CAAWoB,MALrB;AAME,QAAA,MAAM,EAAE,KAAKpB,KAAL,CAAWqB,MANrB;AAOE,QAAA,SAAS,EAAE,KAAKrB,KAAL,CAAWsB,SAPxB;AAQE,QAAA,MAAM,EAAE,KAAKtB,KAAL,CAAWuB,MARrB;AASE,QAAA,OAAO,EAAE,KAAKvB,KAAL,CAAWwB,OATtB;AAUE,QAAA,WAAW,MAVb;AAWE,QAAA,iBAAiB,EAAE,KAAKvB,QAAL,GAAgBwB,iBAXrC;;AAaG,WAAKzB,KAAL,CAAW0B,QAbd,CADF,CADF;;;;AAmBD,G,sBAjE8BC,eAAMC,S,WACvBC,mB,GAAsB,a,UAGtB3B,Y,GAA6B,EACzCuB,iBAAiB,EAAEK,6BADsB,E","sourcesContent":["import React from 'react';\n\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { PopupMenu, PopupMenuProps } from '../../internal/PopupMenu';\nimport { MenuItemProps } from '../MenuItem';\nimport { isProductionEnv, isTestEnv } from '../../lib/currentEnvironment';\nimport { MenuHeaderProps } from '../MenuHeader';\nimport { PopupPositionsType } from '../../internal/Popup';\nimport { CommonProps, CommonWrapper } from '../../internal/CommonWrapper';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\n\nexport type TooltipMenuChildType = React.ReactElement<MenuItemProps | unknown | MenuHeaderProps>;\n\nexport interface TooltipMenuProps extends CommonProps, Pick<PopupMenuProps, 'onOpen' | 'onClose'> {\n children?: TooltipMenuChildType | TooltipMenuChildType[];\n /** Максимальная высота меню */\n menuMaxHeight?: number | string;\n /** Ширина меню */\n menuWidth?: number | string;\n /**\n * Элемент или функция возвращающая элемент,\n * если передана, используется вместо `caption`,\n * в таком случае управлять открытием и закрытием меню\n * придется в этой функции\n */\n caption: PopupMenuProps['caption'];\n /**\n * Произвольный элемент, который будет отрендерен в шапке меню.\n *\n * _Примечание_: контрол [`MenuHeader`](#/Components/MenuHeader) передаётся только в `children` меню-контролов. Не стоит передавать `MenuHeader` в `header`.\n */\n header?: React.ReactNode;\n /**\n * Произвольный элемент, который будет отрендерен в подвале меню.\n *\n * Перед элементом переданным в `footer` будет отрендерен [`MenuSeparator`](#/Components/MenuSeparator).\n */\n footer?: React.ReactNode;\n /** Список позиций доступных для расположения выпадашки относительно `caption`.\n *\n * Если во всех позициях выпадашка вылезает за пределы `viewport`, будет использована первая из этого списка.\n *\n * **Возможные значения**: `top left`, `top center`, `top right`, `right top`, `right middle`, `right bottom`, `bottom left`, `bottom center`, `bottom right`, `left top`, `left middle`, `left bottom`\n */\n positions?: PopupPositionsType[];\n /**\n * Не показывать анимацию\n */\n disableAnimations?: boolean;\n}\n\nexport const TooltipMenuDataTids = {\n root: 'TooltipMenu__root',\n} as const;\n\ntype DefaultProps = Required<Pick<TooltipMenuProps, 'disableAnimations'>>;\n\n/**\n * Меню, раскрывающееся по клику на переданный в `caption` элемент.\n *\n * Положение меню задаётся с помощью массива `positions` и работает так:\n * первое значение в массиве - дефолтная позиция, меню раскроется на этой позиции, если оно не будет выходить за пределы `viewport`,\n * если раскрыться в дефолтной позиции не получится - будет использована следующая позиция, и так далее, пока не будет достигнут конец массива. Если все положения из списка будут выходить за пределы `viewport`, в качестве положения будет использовано первое значение в массиве.\n *\n * Если меню должно раскрываться только в одну сторону - массив `positions` должен содержать только один элемент: сторону, в которую должно открываться меню.\n *\n * Если массив `positions` не передан (или передан пустой массив), будут использованы всевозможные значения.\n */\n@rootNode\nexport class TooltipMenu extends React.Component<TooltipMenuProps> {\n public static __KONTUR_REACT_UI__ = 'TooltipMenu';\n private setRootNode!: TSetRootNode;\n\n public static defaultProps: DefaultProps = {\n disableAnimations: isTestEnv,\n };\n\n private getProps = createPropsGetter(TooltipMenu.defaultProps);\n\n constructor(props: TooltipMenuProps) {\n super(props);\n\n if (!props.caption && !isProductionEnv) {\n throw new Error('Prop \"caption\" is required!!!');\n }\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n return (\n <ThemeContext.Provider\n value={ThemeFactory.create(\n {\n popupPinOffset: theme.tooltipMenuPinOffset,\n popupMargin: theme.tooltipMenuMargin,\n popupPinSize: theme.tooltipMenuPinSize,\n },\n theme,\n )}\n >\n {this.renderMain()}\n </ThemeContext.Provider>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n public renderMain() {\n if (!this.props.caption) {\n return null;\n }\n\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <PopupMenu\n data-tid={TooltipMenuDataTids.root}\n menuMaxHeight={this.props.menuMaxHeight}\n menuWidth={this.props.menuWidth}\n caption={this.props.caption}\n header={this.props.header}\n footer={this.props.footer}\n positions={this.props.positions}\n onOpen={this.props.onOpen}\n onClose={this.props.onClose}\n popupHasPin\n disableAnimations={this.getProps().disableAnimations}\n >\n {this.props.children}\n </PopupMenu>\n </CommonWrapper>\n );\n }\n}\n"]}
@@ -1,2 +1,2 @@
1
- import React from 'react';
2
- export declare const useEffectWithoutInitCall: (effect: () => void, deps: React.DependencyList) => void;
1
+ import { DependencyList } from 'react';
2
+ export declare const useEffectWithoutInitCall: (effect: () => void, deps: DependencyList) => void;
@@ -1,9 +1,9 @@
1
- "use strict";exports.__esModule = true;exports.useEffectWithoutInitCall = void 0;var _react = _interopRequireWildcard(require("react"));function _getRequireWildcardCache(nodeInterop) {if (typeof WeakMap !== "function") return null;var cacheBabelInterop = new WeakMap();var cacheNodeInterop = new WeakMap();return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) {return nodeInterop ? cacheNodeInterop : cacheBabelInterop;})(nodeInterop);}function _interopRequireWildcard(obj, nodeInterop) {if (!nodeInterop && obj && obj.__esModule) {return obj;}if (obj === null || typeof obj !== "object" && typeof obj !== "function") {return { default: obj };}var cache = _getRequireWildcardCache(nodeInterop);if (cache && cache.has(obj)) {return cache.get(obj);}var newObj = {};var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;for (var key in obj) {if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;if (desc && (desc.get || desc.set)) {Object.defineProperty(newObj, key, desc);} else {newObj[key] = obj[key];}}}newObj.default = obj;if (cache) {cache.set(obj, newObj);}return newObj;}
1
+ "use strict";exports.__esModule = true;exports.useEffectWithoutInitCall = void 0;var _react = require("react");
2
2
 
3
3
  var useEffectWithoutInitCall = function useEffectWithoutInitCall(effect, deps) {
4
4
  var isInitialRenderRef = (0, _react.useRef)(true);
5
5
 
6
- _react.default.useEffect(function () {
6
+ (0, _react.useEffect)(function () {
7
7
  if (isInitialRenderRef.current) {
8
8
  isInitialRenderRef.current = false;
9
9
  } else {
@@ -1 +1 @@
1
- {"version":3,"sources":["useEffectWithoutInitCall.ts"],"names":["useEffectWithoutInitCall","effect","deps","isInitialRenderRef","React","useEffect","current"],"mappings":"iFAAA,uD;;AAEO,IAAMA,wBAAwB,GAAG,SAA3BA,wBAA2B,CAACC,MAAD,EAAqBC,IAArB,EAA8C;AACpF,MAAMC,kBAAkB,GAAG,mBAAO,IAAP,CAA3B;;AAEAC,iBAAMC,SAAN,CAAgB,YAAM;AACpB,QAAIF,kBAAkB,CAACG,OAAvB,EAAgC;AAC9BH,MAAAA,kBAAkB,CAACG,OAAnB,GAA6B,KAA7B;AACD,KAFD,MAEO;AACLL,MAAAA,MAAM;AACP;AACF,GAND,EAMGC,IANH;AAOD,CAVM,C","sourcesContent":["import React, { DependencyList, useRef } from 'react';\n\nexport const useEffectWithoutInitCall = (effect: () => void, deps: DependencyList) => {\n const isInitialRenderRef = useRef(true);\n\n React.useEffect(() => {\n if (isInitialRenderRef.current) {\n isInitialRenderRef.current = false;\n } else {\n effect();\n }\n }, deps);\n};\n"]}
1
+ {"version":3,"sources":["useEffectWithoutInitCall.ts"],"names":["useEffectWithoutInitCall","effect","deps","isInitialRenderRef","current"],"mappings":"iFAAA;;AAEO,IAAMA,wBAAwB,GAAG,SAA3BA,wBAA2B,CAACC,MAAD,EAAqBC,IAArB,EAA8C;AACpF,MAAMC,kBAAkB,GAAG,mBAAO,IAAP,CAA3B;;AAEA,wBAAU,YAAM;AACd,QAAIA,kBAAkB,CAACC,OAAvB,EAAgC;AAC9BD,MAAAA,kBAAkB,CAACC,OAAnB,GAA6B,KAA7B;AACD,KAFD,MAEO;AACLH,MAAAA,MAAM;AACP;AACF,GAND,EAMGC,IANH;AAOD,CAVM,C","sourcesContent":["import { useEffect, DependencyList, useRef } from 'react';\n\nexport const useEffectWithoutInitCall = (effect: () => void, deps: DependencyList) => {\n const isInitialRenderRef = useRef(true);\n\n useEffect(() => {\n if (isInitialRenderRef.current) {\n isInitialRenderRef.current = false;\n } else {\n effect();\n }\n }, deps);\n};\n"]}
@@ -1 +1,2 @@
1
- export declare const useMemoObject: <TObject extends object>(objectValue: TObject) => TObject;
1
+ import { AnyObject } from '../lib/utils';
2
+ export declare const useMemoObject: <TObject extends AnyObject>(objectValue: TObject) => TObject;
@@ -1,5 +1,7 @@
1
1
  "use strict";exports.__esModule = true;exports.useMemoObject = void 0;var _react = require("react");
2
2
 
3
+
4
+
3
5
  var useMemoObject = function useMemoObject(objectValue) {
4
6
  return (0, _react.useMemo)(function () {return objectValue;}, Object.values(objectValue));
5
7
  };exports.useMemoObject = useMemoObject;
@@ -1 +1 @@
1
- {"version":3,"sources":["useMemoObject.ts"],"names":["useMemoObject","objectValue","Object","values"],"mappings":"sEAAA;;AAEO,IAAMA,aAAa,GAAG,SAAhBA,aAAgB,CAAyBC,WAAzB,EAAkD;AAC7E,SAAO,oBAAiB,oBAAMA,WAAN,EAAjB,EAAoCC,MAAM,CAACC,MAAP,CAAcF,WAAd,CAApC,CAAP;AACD,CAFM,C","sourcesContent":["import { useMemo } from 'react';\n\nexport const useMemoObject = <TObject extends object>(objectValue: TObject) => {\n return useMemo<TObject>(() => objectValue, Object.values(objectValue));\n};\n"]}
1
+ {"version":3,"sources":["useMemoObject.ts"],"names":["useMemoObject","objectValue","Object","values"],"mappings":"sEAAA;;;;AAIO,IAAMA,aAAa,GAAG,SAAhBA,aAAgB,CAA4BC,WAA5B,EAAqD;AAChF,SAAO,oBAAiB,oBAAMA,WAAN,EAAjB,EAAoCC,MAAM,CAACC,MAAP,CAAcF,WAAd,CAApC,CAAP;AACD,CAFM,C","sourcesContent":["import { useMemo } from 'react';\n\nimport { AnyObject } from '../lib/utils';\n\nexport const useMemoObject = <TObject extends AnyObject>(objectValue: TObject) => {\n return useMemo<TObject>(() => objectValue, Object.values(objectValue));\n};\n"]}
@@ -1,11 +1,5 @@
1
1
  import React from 'react';
2
- /**
3
- * Компонент рисует пиксельную линейку на заднем фоне.
4
- * Помогает контролировать размеры элементов при скриншотном тестировании.
5
- *
6
- * @see FxInput/__stories__/FxInput.stories.tsx
7
- */
8
- export declare class BGRuler extends React.Component<{
2
+ export interface BGRulerProps {
9
3
  width?: string | number;
10
4
  height?: string | number;
11
5
  top?: string | number;
@@ -13,14 +7,17 @@ export declare class BGRuler extends React.Component<{
13
7
  right?: string | number;
14
8
  left?: string | number;
15
9
  color?: string;
16
- }> {
17
- static defaultProps: {
18
- height: number;
19
- top: number;
20
- left: number;
21
- right: number;
22
- color: string;
23
- };
10
+ }
11
+ declare type DefaultProps = Required<Pick<BGRulerProps, 'height' | 'top' | 'left' | 'right' | 'color'>>;
12
+ /**
13
+ * Компонент рисует пиксельную линейку на заднем фоне.
14
+ * Помогает контролировать размеры элементов при скриншотном тестировании.
15
+ *
16
+ * @see FxInput/__stories__/FxInput.stories.tsx
17
+ */
18
+ export declare class BGRuler extends React.Component<BGRulerProps> {
19
+ static defaultProps: DefaultProps;
20
+ private getProps;
24
21
  private iframe;
25
22
  componentDidMount: () => void;
26
23
  componentWillUnmount: () => void;
@@ -28,3 +25,4 @@ export declare class BGRuler extends React.Component<{
28
25
  render(): JSX.Element;
29
26
  private iframeRef;
30
27
  }
28
+ export {};