@skbkontur/react-ui 0.0.0-6dd088a035 → 0.0.0-70dd810c5c

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 +129 -0
  2. package/README.md +7 -7
  3. package/cjs/components/Autocomplete/Autocomplete.d.ts +6 -23
  4. package/cjs/components/Autocomplete/Autocomplete.js +49 -46
  5. package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
  6. package/cjs/components/Button/Button.d.ts +2 -0
  7. package/cjs/components/Button/Button.js +32 -4
  8. package/cjs/components/Button/Button.js.map +1 -1
  9. package/cjs/components/Button/Button.styles.d.ts +6 -0
  10. package/cjs/components/Button/Button.styles.js +109 -76
  11. package/cjs/components/Button/Button.styles.js.map +1 -1
  12. package/cjs/components/Calendar/Calendar.d.ts +2 -0
  13. package/cjs/components/Calendar/Calendar.js +1 -0
  14. package/cjs/components/Calendar/Calendar.js.map +1 -1
  15. package/cjs/components/Calendar/CalendarDay.js +18 -2
  16. package/cjs/components/Calendar/CalendarDay.js.map +1 -1
  17. package/cjs/components/Calendar/DayCellView.js +7 -15
  18. package/cjs/components/Calendar/DayCellView.js.map +1 -1
  19. package/cjs/components/Center/Center.d.ts +2 -0
  20. package/cjs/components/Center/Center.js +1 -0
  21. package/cjs/components/Center/Center.js.map +1 -1
  22. package/cjs/components/Checkbox/Checkbox.d.ts +2 -12
  23. package/cjs/components/Checkbox/Checkbox.js +2 -14
  24. package/cjs/components/Checkbox/Checkbox.js.map +1 -1
  25. package/cjs/components/ComboBox/ComboBox.d.ts +2 -0
  26. package/cjs/components/ComboBox/ComboBox.js +1 -0
  27. package/cjs/components/ComboBox/ComboBox.js.map +1 -1
  28. package/cjs/components/ComboBox/ComboBox.md +2 -2
  29. package/cjs/components/CurrencyInput/CurrencyInput.d.ts +6 -24
  30. package/cjs/components/CurrencyInput/CurrencyInput.js +5 -28
  31. package/cjs/components/CurrencyInput/CurrencyInput.js.map +1 -1
  32. package/cjs/components/CurrencyInput/constants.js +1 -2
  33. package/cjs/components/CurrencyInput/constants.js.map +1 -1
  34. package/cjs/components/CurrencyLabel/CurrencyLabel.js +21 -28
  35. package/cjs/components/CurrencyLabel/CurrencyLabel.js.map +1 -1
  36. package/cjs/components/DateInput/DateInput.d.ts +2 -0
  37. package/cjs/components/DateInput/DateInput.js +20 -11
  38. package/cjs/components/DateInput/DateInput.js.map +1 -1
  39. package/cjs/components/DateInput/helpers/InternalDateMediator.d.ts +1 -1
  40. package/cjs/components/DateInput/helpers/InternalDateMediator.js +10 -1
  41. package/cjs/components/DateInput/helpers/InternalDateMediator.js.map +1 -1
  42. package/cjs/components/DatePicker/DatePicker.d.ts +6 -33
  43. package/cjs/components/DatePicker/DatePicker.js +6 -60
  44. package/cjs/components/DatePicker/DatePicker.js.map +1 -1
  45. package/cjs/components/DateRangePicker/DateRangePicker.d.ts +3 -1
  46. package/cjs/components/DateRangePicker/DateRangePicker.js +61 -23
  47. package/cjs/components/DateRangePicker/DateRangePicker.js.map +1 -1
  48. package/cjs/components/DateRangePicker/DateRangePicker.styles.d.ts +0 -1
  49. package/cjs/components/DateRangePicker/DateRangePicker.styles.js +13 -18
  50. package/cjs/components/DateRangePicker/DateRangePicker.styles.js.map +1 -1
  51. package/cjs/components/DateRangePicker/DateRangePickerInput.js +4 -8
  52. package/cjs/components/DateRangePicker/DateRangePickerInput.js.map +1 -1
  53. package/cjs/components/DateRangePicker/helpers/validateDateRangePicker.js +17 -17
  54. package/cjs/components/DateRangePicker/helpers/validateDateRangePicker.js.map +1 -1
  55. package/cjs/components/Dropdown/Dropdown.d.ts +2 -47
  56. package/cjs/components/Dropdown/Dropdown.js +2 -82
  57. package/cjs/components/Dropdown/Dropdown.js.map +1 -1
  58. package/cjs/components/DropdownMenu/DropdownMenu.d.ts +4 -2
  59. package/cjs/components/DropdownMenu/DropdownMenu.js +1 -0
  60. package/cjs/components/DropdownMenu/DropdownMenu.js.map +1 -1
  61. package/cjs/components/DropdownMenu/DropdownMenu.md +8 -8
  62. package/cjs/components/FileUploader/FileUploader.js +26 -10
  63. package/cjs/components/FileUploader/FileUploader.js.map +1 -1
  64. package/cjs/components/FxInput/FxInput.d.ts +3 -6
  65. package/cjs/components/FxInput/FxInput.js +2 -7
  66. package/cjs/components/FxInput/FxInput.js.map +1 -1
  67. package/cjs/components/Gapped/Gapped.d.ts +2 -15
  68. package/cjs/components/Gapped/Gapped.js +1 -24
  69. package/cjs/components/Gapped/Gapped.js.map +1 -1
  70. package/cjs/components/GlobalLoader/GlobalLoader.d.ts +2 -0
  71. package/cjs/components/GlobalLoader/GlobalLoader.js +1 -0
  72. package/cjs/components/GlobalLoader/GlobalLoader.js.map +1 -1
  73. package/cjs/components/Group/Group.d.ts +5 -4
  74. package/cjs/components/Group/Group.js +91 -40
  75. package/cjs/components/Group/Group.js.map +1 -1
  76. package/cjs/components/Group/Group.md +4 -4
  77. package/cjs/components/Group/Group.styles.d.ts +1 -0
  78. package/cjs/components/Group/Group.styles.js +12 -6
  79. package/cjs/components/Group/Group.styles.js.map +1 -1
  80. package/cjs/components/Hint/Hint.d.ts +2 -0
  81. package/cjs/components/Hint/Hint.js +5 -4
  82. package/cjs/components/Hint/Hint.js.map +1 -1
  83. package/cjs/components/Input/Input.d.ts +2 -0
  84. package/cjs/components/Input/Input.js +1 -0
  85. package/cjs/components/Input/Input.js.map +1 -1
  86. package/cjs/components/Input/Input.md +4 -5
  87. package/cjs/components/Kebab/Kebab.d.ts +2 -1
  88. package/cjs/components/Kebab/Kebab.js +2 -26
  89. package/cjs/components/Kebab/Kebab.js.map +1 -1
  90. package/cjs/components/Kebab/Kebab.md +32 -32
  91. package/cjs/components/Link/Link.d.ts +2 -0
  92. package/cjs/components/Link/Link.js +6 -0
  93. package/cjs/components/Link/Link.js.map +1 -1
  94. package/cjs/components/Link/Link.mixins.js +1 -2
  95. package/cjs/components/Link/Link.mixins.js.map +1 -1
  96. package/cjs/components/Link/Link.styles.js +3 -2
  97. package/cjs/components/Link/Link.styles.js.map +1 -1
  98. package/cjs/components/Loader/Loader.d.ts +6 -36
  99. package/cjs/components/Loader/Loader.js +3 -57
  100. package/cjs/components/Loader/Loader.js.map +1 -1
  101. package/cjs/components/MaskedInput/MaskedInput.d.ts +1 -0
  102. package/cjs/components/MaskedInput/MaskedInput.js +17 -1
  103. package/cjs/components/MaskedInput/MaskedInput.js.map +1 -1
  104. package/cjs/components/MenuItem/MenuItem.d.ts +2 -12
  105. package/cjs/components/MenuItem/MenuItem.js +2 -22
  106. package/cjs/components/MenuItem/MenuItem.js.map +1 -1
  107. package/cjs/components/MenuItem/MenuItem.md +6 -6
  108. package/cjs/components/MiniModal/MiniModal.styles.d.ts +1 -0
  109. package/cjs/components/MiniModal/MiniModal.styles.js +14 -7
  110. package/cjs/components/MiniModal/MiniModal.styles.js.map +1 -1
  111. package/cjs/components/MiniModal/MiniModalBody.js +17 -2
  112. package/cjs/components/MiniModal/MiniModalBody.js.map +1 -1
  113. package/cjs/components/Modal/Modal.js +4 -2
  114. package/cjs/components/Modal/Modal.js.map +1 -1
  115. package/cjs/components/Modal/Modal.styles.d.ts +2 -1
  116. package/cjs/components/Modal/Modal.styles.js +40 -32
  117. package/cjs/components/Modal/Modal.styles.js.map +1 -1
  118. package/cjs/components/Modal/ModalBody.d.ts +2 -0
  119. package/cjs/components/Modal/ModalBody.js +1 -0
  120. package/cjs/components/Modal/ModalBody.js.map +1 -1
  121. package/cjs/components/Modal/ModalHeader.d.ts +5 -0
  122. package/cjs/components/Modal/ModalHeader.js +8 -1
  123. package/cjs/components/Modal/ModalHeader.js.map +1 -1
  124. package/cjs/components/Modal/ModalSeparator.js +1 -1
  125. package/cjs/components/Modal/ModalSeparator.js.map +1 -1
  126. package/cjs/components/Paging/DotsIcon.d.ts +3 -0
  127. package/cjs/components/Paging/DotsIcon.js +13 -0
  128. package/cjs/components/Paging/DotsIcon.js.map +1 -0
  129. package/cjs/components/Paging/ForwardIcon.d.ts +3 -0
  130. package/cjs/components/Paging/ForwardIcon.js +13 -1
  131. package/cjs/components/Paging/ForwardIcon.js.map +1 -1
  132. package/cjs/components/Paging/NavigationHelper.d.ts +3 -2
  133. package/cjs/components/Paging/NavigationHelper.js +8 -6
  134. package/cjs/components/Paging/NavigationHelper.js.map +1 -1
  135. package/cjs/components/Paging/Paging.d.ts +13 -2
  136. package/cjs/components/Paging/Paging.js +120 -50
  137. package/cjs/components/Paging/Paging.js.map +1 -1
  138. package/cjs/components/Paging/Paging.styles.d.ts +24 -1
  139. package/cjs/components/Paging/Paging.styles.js +151 -22
  140. package/cjs/components/Paging/Paging.styles.js.map +1 -1
  141. package/cjs/components/Paging/PagingHelper.d.ts +1 -1
  142. package/cjs/components/Paging/PagingHelper.js +18 -11
  143. package/cjs/components/Paging/PagingHelper.js.map +1 -1
  144. package/cjs/components/PasswordInput/PasswordInput.d.ts +2 -7
  145. package/cjs/components/PasswordInput/PasswordInput.js +2 -11
  146. package/cjs/components/PasswordInput/PasswordInput.js.map +1 -1
  147. package/cjs/components/Radio/Radio.d.ts +2 -0
  148. package/cjs/components/Radio/Radio.js +1 -0
  149. package/cjs/components/Radio/Radio.js.map +1 -1
  150. package/cjs/components/RadioGroup/RadioGroup.d.ts +2 -0
  151. package/cjs/components/RadioGroup/RadioGroup.js +2 -1
  152. package/cjs/components/RadioGroup/RadioGroup.js.map +1 -1
  153. package/cjs/components/RadioGroup/RadioGroup.styles.d.ts +1 -1
  154. package/cjs/components/RadioGroup/RadioGroup.styles.js +1 -1
  155. package/cjs/components/RadioGroup/RadioGroup.styles.js.map +1 -1
  156. package/cjs/components/ScrollContainer/ScrollContainer.d.ts +2 -9
  157. package/cjs/components/ScrollContainer/ScrollContainer.js +2 -11
  158. package/cjs/components/ScrollContainer/ScrollContainer.js.map +1 -1
  159. package/cjs/components/Select/Select.d.ts +5 -0
  160. package/cjs/components/Select/Select.js +5 -1
  161. package/cjs/components/Select/Select.js.map +1 -1
  162. package/cjs/components/Select/Select.md +3 -3
  163. package/cjs/components/SidePage/SidePage.js +1 -1
  164. package/cjs/components/SidePage/SidePage.js.map +1 -1
  165. package/cjs/components/SidePage/SidePage.styles.d.ts +3 -1
  166. package/cjs/components/SidePage/SidePage.styles.js +52 -38
  167. package/cjs/components/SidePage/SidePage.styles.js.map +1 -1
  168. package/cjs/components/SidePage/SidePageBody.d.ts +2 -0
  169. package/cjs/components/SidePage/SidePageBody.js +1 -0
  170. package/cjs/components/SidePage/SidePageBody.js.map +1 -1
  171. package/cjs/components/SidePage/SidePageContainer.d.ts +2 -0
  172. package/cjs/components/SidePage/SidePageContainer.js +1 -0
  173. package/cjs/components/SidePage/SidePageContainer.js.map +1 -1
  174. package/cjs/components/SidePage/SidePageFooter.d.ts +2 -0
  175. package/cjs/components/SidePage/SidePageFooter.js +1 -0
  176. package/cjs/components/SidePage/SidePageFooter.js.map +1 -1
  177. package/cjs/components/SidePage/SidePageHeader.d.ts +12 -2
  178. package/cjs/components/SidePage/SidePageHeader.js +63 -19
  179. package/cjs/components/SidePage/SidePageHeader.js.map +1 -1
  180. package/cjs/components/SingleToast/SingleToast.d.ts +3 -3
  181. package/cjs/components/SingleToast/SingleToast.js.map +1 -1
  182. package/cjs/components/Spinner/Spinner.d.ts +2 -18
  183. package/cjs/components/Spinner/Spinner.js +2 -32
  184. package/cjs/components/Spinner/Spinner.js.map +1 -1
  185. package/cjs/components/Sticky/Sticky.d.ts +5 -13
  186. package/cjs/components/Sticky/Sticky.js +12 -18
  187. package/cjs/components/Sticky/Sticky.js.map +1 -1
  188. package/cjs/components/Switcher/Switcher.d.ts +6 -21
  189. package/cjs/components/Switcher/Switcher.js +11 -20
  190. package/cjs/components/Switcher/Switcher.js.map +1 -1
  191. package/cjs/components/Switcher/Switcher.styles.d.ts +1 -0
  192. package/cjs/components/Switcher/Switcher.styles.js +17 -9
  193. package/cjs/components/Switcher/Switcher.styles.js.map +1 -1
  194. package/cjs/components/Tabs/Indicator.d.ts +2 -0
  195. package/cjs/components/Tabs/Indicator.js +1 -0
  196. package/cjs/components/Tabs/Indicator.js.map +1 -1
  197. package/cjs/components/Tabs/Tab.d.ts +2 -0
  198. package/cjs/components/Tabs/Tab.js +1 -0
  199. package/cjs/components/Tabs/Tab.js.map +1 -1
  200. package/cjs/components/Tabs/Tabs.d.ts +2 -0
  201. package/cjs/components/Tabs/Tabs.js +1 -0
  202. package/cjs/components/Tabs/Tabs.js.map +1 -1
  203. package/cjs/components/Textarea/Textarea.d.ts +2 -44
  204. package/cjs/components/Textarea/Textarea.js +16 -68
  205. package/cjs/components/Textarea/Textarea.js.map +1 -1
  206. package/cjs/components/Textarea/TextareaCounter.js +2 -13
  207. package/cjs/components/Textarea/TextareaCounter.js.map +1 -1
  208. package/cjs/components/Toast/Toast.d.ts +6 -2
  209. package/cjs/components/Toast/Toast.js +12 -2
  210. package/cjs/components/Toast/Toast.js.map +1 -1
  211. package/cjs/components/Toast/ToastView.d.ts +2 -14
  212. package/cjs/components/Toast/ToastView.js +3 -22
  213. package/cjs/components/Toast/ToastView.js.map +1 -1
  214. package/cjs/components/Toggle/Toggle.d.ts +3 -10
  215. package/cjs/components/Toggle/Toggle.js +6 -13
  216. package/cjs/components/Toggle/Toggle.js.map +1 -1
  217. package/cjs/components/Token/Token.d.ts +2 -0
  218. package/cjs/components/Token/Token.js +1 -0
  219. package/cjs/components/Token/Token.js.map +1 -1
  220. package/cjs/components/Token/Token.md +0 -83
  221. package/cjs/components/TokenInput/TokenInput.d.ts +4 -2
  222. package/cjs/components/TokenInput/TokenInput.js +3 -1
  223. package/cjs/components/TokenInput/TokenInput.js.map +1 -1
  224. package/cjs/components/TokenInput/TokenInput.md +2 -33
  225. package/cjs/components/TokenInput/TokenInputMenu.d.ts +12 -3
  226. package/cjs/components/TokenInput/TokenInputMenu.js +23 -1
  227. package/cjs/components/TokenInput/TokenInputMenu.js.map +1 -1
  228. package/cjs/components/Tooltip/Tooltip.d.ts +14 -9
  229. package/cjs/components/Tooltip/Tooltip.js +95 -13
  230. package/cjs/components/Tooltip/Tooltip.js.map +1 -1
  231. package/cjs/components/Tooltip/Tooltip.md +8 -8
  232. package/cjs/components/Tooltip/Tooltip.styles.d.ts +7 -1
  233. package/cjs/components/Tooltip/Tooltip.styles.js +50 -12
  234. package/cjs/components/Tooltip/Tooltip.styles.js.map +1 -1
  235. package/cjs/components/TooltipMenu/TooltipMenu.d.ts +4 -2
  236. package/cjs/components/TooltipMenu/TooltipMenu.js +1 -0
  237. package/cjs/components/TooltipMenu/TooltipMenu.js.map +1 -1
  238. package/cjs/components/TooltipMenu/TooltipMenu.md +12 -12
  239. package/cjs/components/__stories__/iframe.creevey.mts +124 -0
  240. package/cjs/components/__stories__/iframeStoriesImplementation.js +73 -0
  241. package/cjs/components/__stories__/iframeStoriesImplementation.js.map +1 -0
  242. package/cjs/index.d.ts +1 -0
  243. package/cjs/index.js.map +1 -1
  244. package/cjs/internal/CommonWrapper/CommonWrapper.d.ts +2 -0
  245. package/cjs/internal/CommonWrapper/CommonWrapper.js +1 -0
  246. package/cjs/internal/CommonWrapper/CommonWrapper.js.map +1 -1
  247. package/cjs/internal/ComponentTable.js +2 -3
  248. package/cjs/internal/ComponentTable.js.map +1 -1
  249. package/cjs/internal/CustomComboBox/ComboBoxView.d.ts +2 -0
  250. package/cjs/internal/CustomComboBox/ComboBoxView.js +3 -1
  251. package/cjs/internal/CustomComboBox/ComboBoxView.js.map +1 -1
  252. package/cjs/internal/CustomComboBox/CustomComboBox.d.ts +2 -0
  253. package/cjs/internal/CustomComboBox/CustomComboBox.js +1 -0
  254. package/cjs/internal/CustomComboBox/CustomComboBox.js.map +1 -1
  255. package/cjs/internal/DateSelect/DateSelect.d.ts +0 -10
  256. package/cjs/internal/DateSelect/DateSelect.js +12 -18
  257. package/cjs/internal/DateSelect/DateSelect.js.map +1 -1
  258. package/cjs/internal/FocusTrap/FocusTrap.d.ts +2 -0
  259. package/cjs/internal/FocusTrap/FocusTrap.js +1 -0
  260. package/cjs/internal/FocusTrap/FocusTrap.js.map +1 -1
  261. package/cjs/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.d.ts +7 -3
  262. package/cjs/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.js +36 -13
  263. package/cjs/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.js.map +1 -1
  264. package/cjs/internal/IgnoreLayerClick/IgnoreLayerClick.js +1 -0
  265. package/cjs/internal/IgnoreLayerClick/IgnoreLayerClick.js.map +1 -1
  266. package/cjs/internal/InputLikeText/InputLikeText.d.ts +2 -0
  267. package/cjs/internal/InputLikeText/InputLikeText.js +1 -0
  268. package/cjs/internal/InputLikeText/InputLikeText.js.map +1 -1
  269. package/cjs/internal/Menu/Menu.d.ts +2 -0
  270. package/cjs/internal/Menu/Menu.js +1 -0
  271. package/cjs/internal/Menu/Menu.js.map +1 -1
  272. package/cjs/internal/MobilePopup/MobilePopup.d.ts +2 -0
  273. package/cjs/internal/MobilePopup/MobilePopup.js +1 -0
  274. package/cjs/internal/MobilePopup/MobilePopup.js.map +1 -1
  275. package/cjs/internal/Popup/Popup.d.ts +43 -60
  276. package/cjs/internal/Popup/Popup.js +41 -81
  277. package/cjs/internal/Popup/Popup.js.map +1 -1
  278. package/cjs/internal/Popup/PopupPin.d.ts +23 -33
  279. package/cjs/internal/Popup/PopupPin.js +2 -35
  280. package/cjs/internal/Popup/PopupPin.js.map +1 -1
  281. package/cjs/internal/Popup/PopupPinNew.d.ts +31 -0
  282. package/cjs/internal/Popup/PopupPinNew.js +180 -0
  283. package/cjs/internal/Popup/PopupPinNew.js.map +1 -0
  284. package/cjs/internal/Popup/PopupPinNew.styles.d.ts +7 -0
  285. package/cjs/internal/Popup/PopupPinNew.styles.js +33 -0
  286. package/cjs/internal/Popup/PopupPinNew.styles.js.map +1 -0
  287. package/cjs/internal/PopupMenu/PopupMenu.d.ts +2 -0
  288. package/cjs/internal/PopupMenu/PopupMenu.js +1 -0
  289. package/cjs/internal/PopupMenu/PopupMenu.js.map +1 -1
  290. package/cjs/internal/RenderContainer/RenderInnerContainer.d.ts +0 -6
  291. package/cjs/internal/RenderContainer/RenderInnerContainer.js +0 -9
  292. package/cjs/internal/RenderContainer/RenderInnerContainer.js.map +1 -1
  293. package/cjs/internal/RenderLayer/RenderLayer.d.ts +2 -3
  294. package/cjs/internal/RenderLayer/RenderLayer.js +3 -12
  295. package/cjs/internal/RenderLayer/RenderLayer.js.map +1 -1
  296. package/cjs/internal/ThemePlayground/Playground.js +16 -16
  297. package/cjs/internal/ThemePlayground/Playground.js.map +1 -1
  298. package/cjs/internal/ThemePlayground/Playground.styles.js +5 -8
  299. package/cjs/internal/ThemePlayground/Playground.styles.js.map +1 -1
  300. package/cjs/internal/ThemePlayground/ShowcaseGroup.js +12 -1
  301. package/cjs/internal/ThemePlayground/ShowcaseGroup.js.map +1 -1
  302. package/cjs/internal/ThemePlayground/SizesGroup.js +4 -4
  303. package/cjs/internal/ThemePlayground/SizesGroup.js.map +1 -1
  304. package/cjs/internal/ThemePlayground/ThemeContextPlayground.js +1 -1
  305. package/cjs/internal/ThemePlayground/ThemeContextPlayground.js.map +1 -1
  306. package/cjs/internal/ThemePlayground/VariableValue.js +4 -4
  307. package/cjs/internal/ThemePlayground/VariableValue.js.map +1 -1
  308. package/cjs/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  309. package/cjs/internal/ZIndex/ZIndex.d.ts +3 -3
  310. package/cjs/internal/ZIndex/ZIndex.js +5 -1
  311. package/cjs/internal/ZIndex/ZIndex.js.map +1 -1
  312. package/cjs/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular.d.ts +2 -0
  313. package/cjs/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular.js +16 -0
  314. package/cjs/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular.js.map +1 -0
  315. package/cjs/internal/themes/BasicTheme.d.ts +114 -20
  316. package/cjs/internal/themes/BasicTheme.js +152 -19
  317. package/cjs/internal/themes/BasicTheme.js.map +1 -1
  318. package/cjs/internal/themes/DarkTheme5_2.js +1 -1
  319. package/cjs/internal/themes/DarkTheme5_2.js.map +1 -1
  320. package/cjs/internal/themes/DarkTheme5_3.d.ts +1 -0
  321. package/cjs/internal/themes/DarkTheme5_3.js +13 -0
  322. package/cjs/internal/themes/DarkTheme5_3.js.map +1 -0
  323. package/cjs/internal/themes/LightTheme5_3.d.ts +1 -0
  324. package/cjs/internal/themes/LightTheme5_3.js +13 -0
  325. package/cjs/internal/themes/LightTheme5_3.js.map +1 -0
  326. package/cjs/lib/date/InternalDateGetter.d.ts +1 -1
  327. package/cjs/lib/date/InternalDateGetter.js +8 -1
  328. package/cjs/lib/date/InternalDateGetter.js.map +1 -1
  329. package/cjs/lib/delay.mts +3 -0
  330. package/cjs/lib/events/keyListener.d.ts +7 -0
  331. package/cjs/lib/events/keyListener.js +21 -2
  332. package/cjs/lib/events/keyListener.js.map +1 -1
  333. package/cjs/lib/featureFlagsContext/FeatureFlagsHelpers.d.ts +9 -2
  334. package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.d.ts +9 -2
  335. package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.js +16 -2
  336. package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.js.map +1 -1
  337. package/cjs/lib/forwardRefAndName.d.ts +1 -1
  338. package/cjs/lib/forwardRefAndName.js +0 -1
  339. package/cjs/lib/forwardRefAndName.js.map +1 -1
  340. package/cjs/lib/getMenuPositions.d.ts +21 -1
  341. package/cjs/lib/getMenuPositions.js +45 -8
  342. package/cjs/lib/getMenuPositions.js.map +1 -1
  343. package/cjs/lib/globalObject.d.ts +18 -0
  344. package/cjs/lib/globalObject.js +45 -0
  345. package/cjs/lib/globalObject.js.map +1 -0
  346. package/cjs/lib/rootNode/rootNodeDecorator.d.ts +2 -1
  347. package/cjs/lib/rootNode/rootNodeDecorator.js +1 -0
  348. package/cjs/lib/rootNode/rootNodeDecorator.js.map +1 -1
  349. package/cjs/lib/theming/ThemeVersions.d.ts +1 -1
  350. package/cjs/lib/theming/ThemeVersions.js.map +1 -1
  351. package/cjs/lib/theming/themes/DarkTheme.d.ts +1 -0
  352. package/cjs/lib/theming/themes/DarkTheme.js +4 -2
  353. package/cjs/lib/theming/themes/DarkTheme.js.map +1 -1
  354. package/cjs/lib/theming/themes/LightTheme.d.ts +1 -0
  355. package/cjs/lib/theming/themes/LightTheme.js +4 -2
  356. package/cjs/lib/theming/themes/LightTheme.js.map +1 -1
  357. package/cjs/lib/utils.d.ts +4 -0
  358. package/cjs/lib/utils.js +5 -1
  359. package/cjs/lib/utils.js.map +1 -1
  360. package/components/Autocomplete/Autocomplete/Autocomplete.js +49 -45
  361. package/components/Autocomplete/Autocomplete/Autocomplete.js.map +1 -1
  362. package/components/Autocomplete/Autocomplete.d.ts +6 -23
  363. package/components/Button/Button/Button.js +29 -7
  364. package/components/Button/Button/Button.js.map +1 -1
  365. package/components/Button/Button.d.ts +2 -0
  366. package/components/Button/Button.styles/Button.styles.js +79 -61
  367. package/components/Button/Button.styles/Button.styles.js.map +1 -1
  368. package/components/Button/Button.styles.d.ts +6 -0
  369. package/components/Calendar/Calendar/Calendar.js.map +1 -1
  370. package/components/Calendar/Calendar.d.ts +2 -0
  371. package/components/Calendar/CalendarDay/CalendarDay.js +9 -2
  372. package/components/Calendar/CalendarDay/CalendarDay.js.map +1 -1
  373. package/components/Calendar/DayCellView/DayCellView.js +6 -10
  374. package/components/Calendar/DayCellView/DayCellView.js.map +1 -1
  375. package/components/Center/Center/Center.js.map +1 -1
  376. package/components/Center/Center.d.ts +2 -0
  377. package/components/Checkbox/Checkbox/Checkbox.js +0 -11
  378. package/components/Checkbox/Checkbox/Checkbox.js.map +1 -1
  379. package/components/Checkbox/Checkbox.d.ts +2 -12
  380. package/components/ComboBox/ComboBox/ComboBox.js.map +1 -1
  381. package/components/ComboBox/ComboBox.d.ts +2 -0
  382. package/components/ComboBox/ComboBox.md +2 -2
  383. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js +12 -36
  384. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js.map +1 -1
  385. package/components/CurrencyInput/CurrencyInput.d.ts +6 -24
  386. package/components/CurrencyInput/constants/constants.js +0 -1
  387. package/components/CurrencyInput/constants/constants.js.map +1 -1
  388. package/components/CurrencyLabel/CurrencyLabel/CurrencyLabel.js +10 -22
  389. package/components/CurrencyLabel/CurrencyLabel/CurrencyLabel.js.map +1 -1
  390. package/components/DateInput/DateInput/DateInput.js +14 -11
  391. package/components/DateInput/DateInput/DateInput.js.map +1 -1
  392. package/components/DateInput/DateInput.d.ts +2 -0
  393. package/components/DateInput/helpers/InternalDateMediator/InternalDateMediator.js +2 -2
  394. package/components/DateInput/helpers/InternalDateMediator/InternalDateMediator.js.map +1 -1
  395. package/components/DateInput/helpers/InternalDateMediator.d.ts +1 -1
  396. package/components/DatePicker/DatePicker/DatePicker.js +1 -32
  397. package/components/DatePicker/DatePicker/DatePicker.js.map +1 -1
  398. package/components/DatePicker/DatePicker.d.ts +6 -33
  399. package/components/DateRangePicker/DateRangePicker/DateRangePicker.js +41 -22
  400. package/components/DateRangePicker/DateRangePicker/DateRangePicker.js.map +1 -1
  401. package/components/DateRangePicker/DateRangePicker.d.ts +3 -1
  402. package/components/DateRangePicker/DateRangePicker.styles/DateRangePicker.styles.js +12 -15
  403. package/components/DateRangePicker/DateRangePicker.styles/DateRangePicker.styles.js.map +1 -1
  404. package/components/DateRangePicker/DateRangePicker.styles.d.ts +0 -1
  405. package/components/DateRangePicker/DateRangePickerInput/DateRangePickerInput.js +5 -8
  406. package/components/DateRangePicker/DateRangePickerInput/DateRangePickerInput.js.map +1 -1
  407. package/components/DateRangePicker/helpers/validateDateRangePicker/validateDateRangePicker.js +16 -15
  408. package/components/DateRangePicker/helpers/validateDateRangePicker/validateDateRangePicker.js.map +1 -1
  409. package/components/Dropdown/Dropdown/Dropdown.js +1 -47
  410. package/components/Dropdown/Dropdown/Dropdown.js.map +1 -1
  411. package/components/Dropdown/Dropdown.d.ts +2 -47
  412. package/components/DropdownMenu/DropdownMenu/DropdownMenu.js.map +1 -1
  413. package/components/DropdownMenu/DropdownMenu.d.ts +4 -2
  414. package/components/DropdownMenu/DropdownMenu.md +8 -8
  415. package/components/FileUploader/FileUploader/FileUploader.js +19 -8
  416. package/components/FileUploader/FileUploader/FileUploader.js.map +1 -1
  417. package/components/FxInput/FxInput/FxInput.js +1 -5
  418. package/components/FxInput/FxInput/FxInput.js.map +1 -1
  419. package/components/FxInput/FxInput.d.ts +3 -6
  420. package/components/Gapped/Gapped/Gapped.js +1 -15
  421. package/components/Gapped/Gapped/Gapped.js.map +1 -1
  422. package/components/Gapped/Gapped.d.ts +2 -15
  423. package/components/GlobalLoader/GlobalLoader/GlobalLoader.js.map +1 -1
  424. package/components/GlobalLoader/GlobalLoader.d.ts +2 -0
  425. package/components/Group/Group/Group.js +64 -28
  426. package/components/Group/Group/Group.js.map +1 -1
  427. package/components/Group/Group.d.ts +5 -4
  428. package/components/Group/Group.md +4 -4
  429. package/components/Group/Group.styles/Group.styles.js +9 -6
  430. package/components/Group/Group.styles/Group.styles.js.map +1 -1
  431. package/components/Group/Group.styles.d.ts +1 -0
  432. package/components/Hint/Hint/Hint.js +5 -5
  433. package/components/Hint/Hint/Hint.js.map +1 -1
  434. package/components/Hint/Hint.d.ts +2 -0
  435. package/components/Input/Input/Input.js.map +1 -1
  436. package/components/Input/Input.d.ts +2 -0
  437. package/components/Input/Input.md +4 -5
  438. package/components/Kebab/Kebab/Kebab.js +2 -20
  439. package/components/Kebab/Kebab/Kebab.js.map +1 -1
  440. package/components/Kebab/Kebab.d.ts +2 -1
  441. package/components/Kebab/Kebab.md +32 -32
  442. package/components/Link/Link/Link.js +4 -0
  443. package/components/Link/Link/Link.js.map +1 -1
  444. package/components/Link/Link.d.ts +2 -0
  445. package/components/Link/Link.mixins/Link.mixins.js +1 -1
  446. package/components/Link/Link.mixins/Link.mixins.js.map +1 -1
  447. package/components/Link/Link.styles/Link.styles.js +1 -1
  448. package/components/Link/Link.styles/Link.styles.js.map +1 -1
  449. package/components/Loader/Loader/Loader.js +0 -33
  450. package/components/Loader/Loader/Loader.js.map +1 -1
  451. package/components/Loader/Loader.d.ts +6 -36
  452. package/components/MaskedInput/MaskedInput/MaskedInput.js +14 -0
  453. package/components/MaskedInput/MaskedInput/MaskedInput.js.map +1 -1
  454. package/components/MaskedInput/MaskedInput.d.ts +1 -0
  455. package/components/MenuItem/MenuItem/MenuItem.js +1 -12
  456. package/components/MenuItem/MenuItem/MenuItem.js.map +1 -1
  457. package/components/MenuItem/MenuItem.d.ts +2 -12
  458. package/components/MenuItem/MenuItem.md +6 -6
  459. package/components/MiniModal/MiniModal.styles/MiniModal.styles.js +10 -7
  460. package/components/MiniModal/MiniModal.styles/MiniModal.styles.js.map +1 -1
  461. package/components/MiniModal/MiniModal.styles.d.ts +1 -0
  462. package/components/MiniModal/MiniModalBody/MiniModalBody.js +13 -5
  463. package/components/MiniModal/MiniModalBody/MiniModalBody.js.map +1 -1
  464. package/components/Modal/Modal/Modal.js +3 -1
  465. package/components/Modal/Modal/Modal.js.map +1 -1
  466. package/components/Modal/Modal.styles/Modal.styles.js +32 -29
  467. package/components/Modal/Modal.styles/Modal.styles.js.map +1 -1
  468. package/components/Modal/Modal.styles.d.ts +2 -1
  469. package/components/Modal/ModalBody/ModalBody.js.map +1 -1
  470. package/components/Modal/ModalBody.d.ts +2 -0
  471. package/components/Modal/ModalHeader/ModalHeader.js +3 -1
  472. package/components/Modal/ModalHeader/ModalHeader.js.map +1 -1
  473. package/components/Modal/ModalHeader.d.ts +5 -0
  474. package/components/Modal/ModalSeparator/ModalSeparator.js +1 -1
  475. package/components/Modal/ModalSeparator/ModalSeparator.js.map +1 -1
  476. package/components/Paging/DotsIcon/DotsIcon.js +14 -0
  477. package/components/Paging/DotsIcon/DotsIcon.js.map +1 -0
  478. package/components/Paging/DotsIcon/package.json +6 -0
  479. package/components/Paging/DotsIcon.d.ts +3 -0
  480. package/components/Paging/ForwardIcon/ForwardIcon.js +15 -1
  481. package/components/Paging/ForwardIcon/ForwardIcon.js.map +1 -1
  482. package/components/Paging/ForwardIcon.d.ts +3 -0
  483. package/components/Paging/NavigationHelper/NavigationHelper.js +9 -8
  484. package/components/Paging/NavigationHelper/NavigationHelper.js.map +1 -1
  485. package/components/Paging/NavigationHelper.d.ts +3 -2
  486. package/components/Paging/Paging/Paging.js +96 -47
  487. package/components/Paging/Paging/Paging.js.map +1 -1
  488. package/components/Paging/Paging.d.ts +13 -2
  489. package/components/Paging/Paging.styles/Paging.styles.js +77 -16
  490. package/components/Paging/Paging.styles/Paging.styles.js.map +1 -1
  491. package/components/Paging/Paging.styles.d.ts +24 -1
  492. package/components/Paging/PagingHelper/PagingHelper.js +16 -8
  493. package/components/Paging/PagingHelper/PagingHelper.js.map +1 -1
  494. package/components/Paging/PagingHelper.d.ts +1 -1
  495. package/components/PasswordInput/PasswordInput/PasswordInput.js +1 -7
  496. package/components/PasswordInput/PasswordInput/PasswordInput.js.map +1 -1
  497. package/components/PasswordInput/PasswordInput.d.ts +2 -7
  498. package/components/Radio/Radio/Radio.js.map +1 -1
  499. package/components/Radio/Radio.d.ts +2 -0
  500. package/components/RadioGroup/RadioGroup/RadioGroup.js +1 -1
  501. package/components/RadioGroup/RadioGroup/RadioGroup.js.map +1 -1
  502. package/components/RadioGroup/RadioGroup.d.ts +2 -0
  503. package/components/RadioGroup/RadioGroup.styles/RadioGroup.styles.js +1 -1
  504. package/components/RadioGroup/RadioGroup.styles/RadioGroup.styles.js.map +1 -1
  505. package/components/RadioGroup/RadioGroup.styles.d.ts +1 -1
  506. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js +1 -9
  507. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js.map +1 -1
  508. package/components/ScrollContainer/ScrollContainer.d.ts +2 -9
  509. package/components/Select/Select/Select.js +3 -2
  510. package/components/Select/Select/Select.js.map +1 -1
  511. package/components/Select/Select.d.ts +5 -0
  512. package/components/Select/Select.md +3 -3
  513. package/components/SidePage/SidePage/SidePage.js +1 -1
  514. package/components/SidePage/SidePage/SidePage.js.map +1 -1
  515. package/components/SidePage/SidePage.styles/SidePage.styles.js +41 -35
  516. package/components/SidePage/SidePage.styles/SidePage.styles.js.map +1 -1
  517. package/components/SidePage/SidePage.styles.d.ts +3 -1
  518. package/components/SidePage/SidePageBody/SidePageBody.js.map +1 -1
  519. package/components/SidePage/SidePageBody.d.ts +2 -0
  520. package/components/SidePage/SidePageContainer/SidePageContainer.js.map +1 -1
  521. package/components/SidePage/SidePageContainer.d.ts +2 -0
  522. package/components/SidePage/SidePageFooter/SidePageFooter.js.map +1 -1
  523. package/components/SidePage/SidePageFooter.d.ts +2 -0
  524. package/components/SidePage/SidePageHeader/SidePageHeader.js +62 -35
  525. package/components/SidePage/SidePageHeader/SidePageHeader.js.map +1 -1
  526. package/components/SidePage/SidePageHeader.d.ts +12 -2
  527. package/components/SingleToast/SingleToast/SingleToast.js.map +1 -1
  528. package/components/SingleToast/SingleToast.d.ts +3 -3
  529. package/components/Spinner/Spinner/Spinner.js +1 -18
  530. package/components/Spinner/Spinner/Spinner.js.map +1 -1
  531. package/components/Spinner/Spinner.d.ts +2 -18
  532. package/components/Sticky/Sticky/Sticky.js +10 -14
  533. package/components/Sticky/Sticky/Sticky.js.map +1 -1
  534. package/components/Sticky/Sticky.d.ts +5 -13
  535. package/components/Switcher/Switcher/Switcher.js +19 -16
  536. package/components/Switcher/Switcher/Switcher.js.map +1 -1
  537. package/components/Switcher/Switcher.d.ts +6 -21
  538. package/components/Switcher/Switcher.styles/Switcher.styles.js +12 -9
  539. package/components/Switcher/Switcher.styles/Switcher.styles.js.map +1 -1
  540. package/components/Switcher/Switcher.styles.d.ts +1 -0
  541. package/components/Tabs/Indicator/Indicator.js.map +1 -1
  542. package/components/Tabs/Indicator.d.ts +2 -0
  543. package/components/Tabs/Tab/Tab.js.map +1 -1
  544. package/components/Tabs/Tab.d.ts +2 -0
  545. package/components/Tabs/Tabs/Tabs.js.map +1 -1
  546. package/components/Tabs/Tabs.d.ts +2 -0
  547. package/components/Textarea/Textarea/Textarea.js +10 -51
  548. package/components/Textarea/Textarea/Textarea.js.map +1 -1
  549. package/components/Textarea/Textarea.d.ts +2 -44
  550. package/components/Textarea/TextareaCounter/TextareaCounter.js +1 -11
  551. package/components/Textarea/TextareaCounter/TextareaCounter.js.map +1 -1
  552. package/components/Toast/Toast/Toast.js +6 -8
  553. package/components/Toast/Toast/Toast.js.map +1 -1
  554. package/components/Toast/Toast.d.ts +6 -2
  555. package/components/Toast/ToastView/ToastView.js +3 -17
  556. package/components/Toast/ToastView/ToastView.js.map +1 -1
  557. package/components/Toast/ToastView.d.ts +2 -14
  558. package/components/Toggle/Toggle/Toggle.js +7 -14
  559. package/components/Toggle/Toggle/Toggle.js.map +1 -1
  560. package/components/Toggle/Toggle.d.ts +3 -10
  561. package/components/Token/Token/Token.js.map +1 -1
  562. package/components/Token/Token.d.ts +2 -0
  563. package/components/Token/Token.md +0 -83
  564. package/components/TokenInput/TokenInput/TokenInput.js +2 -1
  565. package/components/TokenInput/TokenInput/TokenInput.js.map +1 -1
  566. package/components/TokenInput/TokenInput.d.ts +4 -2
  567. package/components/TokenInput/TokenInput.md +2 -33
  568. package/components/TokenInput/TokenInputMenu/TokenInputMenu.js +16 -6
  569. package/components/TokenInput/TokenInputMenu/TokenInputMenu.js.map +1 -1
  570. package/components/TokenInput/TokenInputMenu.d.ts +12 -3
  571. package/components/Tooltip/Tooltip/Tooltip.js +67 -20
  572. package/components/Tooltip/Tooltip/Tooltip.js.map +1 -1
  573. package/components/Tooltip/Tooltip.d.ts +14 -9
  574. package/components/Tooltip/Tooltip.md +8 -8
  575. package/components/Tooltip/Tooltip.styles/Tooltip.styles.js +22 -4
  576. package/components/Tooltip/Tooltip.styles/Tooltip.styles.js.map +1 -1
  577. package/components/Tooltip/Tooltip.styles.d.ts +7 -1
  578. package/components/TooltipMenu/TooltipMenu/TooltipMenu.js.map +1 -1
  579. package/components/TooltipMenu/TooltipMenu.d.ts +4 -2
  580. package/components/TooltipMenu/TooltipMenu.md +12 -12
  581. package/components/__stories__/iframe.creevey.mts +124 -0
  582. package/components/__stories__/iframeStoriesImplementation/iframeStoriesImplementation.js +90 -0
  583. package/components/__stories__/iframeStoriesImplementation/iframeStoriesImplementation.js.map +1 -0
  584. package/components/__stories__/iframeStoriesImplementation/package.json +6 -0
  585. package/index.d.ts +1 -0
  586. package/index.js +1 -0
  587. package/index.js.map +1 -1
  588. package/internal/CommonWrapper/CommonWrapper/CommonWrapper.js.map +1 -1
  589. package/internal/CommonWrapper/CommonWrapper.d.ts +2 -0
  590. package/internal/ComponentTable/ComponentTable.js +0 -2
  591. package/internal/ComponentTable/ComponentTable.js.map +1 -1
  592. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js +2 -0
  593. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js.map +1 -1
  594. package/internal/CustomComboBox/ComboBoxView.d.ts +2 -0
  595. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js.map +1 -1
  596. package/internal/CustomComboBox/CustomComboBox.d.ts +2 -0
  597. package/internal/DateSelect/DateSelect/DateSelect.js +3 -10
  598. package/internal/DateSelect/DateSelect/DateSelect.js.map +1 -1
  599. package/internal/DateSelect/DateSelect.d.ts +0 -10
  600. package/internal/FocusTrap/FocusTrap/FocusTrap.js.map +1 -1
  601. package/internal/FocusTrap/FocusTrap.d.ts +2 -0
  602. package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll/HideBodyVerticalScroll.js +46 -17
  603. package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll/HideBodyVerticalScroll.js.map +1 -1
  604. package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.d.ts +7 -3
  605. package/internal/IgnoreLayerClick/IgnoreLayerClick/IgnoreLayerClick.js.map +1 -1
  606. package/internal/InputLikeText/InputLikeText/InputLikeText.js.map +1 -1
  607. package/internal/InputLikeText/InputLikeText.d.ts +2 -0
  608. package/internal/Menu/Menu/Menu.js.map +1 -1
  609. package/internal/Menu/Menu.d.ts +2 -0
  610. package/internal/MobilePopup/MobilePopup/MobilePopup.js.map +1 -1
  611. package/internal/MobilePopup/MobilePopup.d.ts +2 -0
  612. package/internal/Popup/Popup/Popup.js +23 -69
  613. package/internal/Popup/Popup/Popup.js.map +1 -1
  614. package/internal/Popup/Popup.d.ts +43 -60
  615. package/internal/Popup/PopupPin/PopupPin.js +1 -34
  616. package/internal/Popup/PopupPin/PopupPin.js.map +1 -1
  617. package/internal/Popup/PopupPin.d.ts +23 -33
  618. package/internal/Popup/PopupPinNew/PopupPinNew.js +146 -0
  619. package/internal/Popup/PopupPinNew/PopupPinNew.js.map +1 -0
  620. package/internal/Popup/PopupPinNew/package.json +6 -0
  621. package/internal/Popup/PopupPinNew.d.ts +31 -0
  622. package/internal/Popup/PopupPinNew.styles/PopupPinNew.styles.js +20 -0
  623. package/internal/Popup/PopupPinNew.styles/PopupPinNew.styles.js.map +1 -0
  624. package/internal/Popup/PopupPinNew.styles/package.json +6 -0
  625. package/internal/Popup/PopupPinNew.styles.d.ts +7 -0
  626. package/internal/PopupMenu/PopupMenu/PopupMenu.js.map +1 -1
  627. package/internal/PopupMenu/PopupMenu.d.ts +2 -0
  628. package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js +0 -8
  629. package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js.map +1 -1
  630. package/internal/RenderContainer/RenderInnerContainer.d.ts +0 -6
  631. package/internal/RenderLayer/RenderLayer/RenderLayer.js +3 -11
  632. package/internal/RenderLayer/RenderLayer/RenderLayer.js.map +1 -1
  633. package/internal/RenderLayer/RenderLayer.d.ts +2 -3
  634. package/internal/ThemePlayground/Playground/Playground.js +17 -16
  635. package/internal/ThemePlayground/Playground/Playground.js.map +1 -1
  636. package/internal/ThemePlayground/Playground.styles/Playground.styles.js +4 -4
  637. package/internal/ThemePlayground/Playground.styles/Playground.styles.js.map +1 -1
  638. package/internal/ThemePlayground/ShowcaseGroup/ShowcaseGroup.js +6 -1
  639. package/internal/ThemePlayground/ShowcaseGroup/ShowcaseGroup.js.map +1 -1
  640. package/internal/ThemePlayground/SizesGroup/SizesGroup.js +4 -4
  641. package/internal/ThemePlayground/SizesGroup/SizesGroup.js.map +1 -1
  642. package/internal/ThemePlayground/ThemeContextPlayground/ThemeContextPlayground.js +2 -2
  643. package/internal/ThemePlayground/ThemeContextPlayground/ThemeContextPlayground.js.map +1 -1
  644. package/internal/ThemePlayground/VariableValue/VariableValue.js +4 -4
  645. package/internal/ThemePlayground/VariableValue/VariableValue.js.map +1 -1
  646. package/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  647. package/internal/ZIndex/ZIndex/ZIndex.js +8 -10
  648. package/internal/ZIndex/ZIndex/ZIndex.js.map +1 -1
  649. package/internal/ZIndex/ZIndex.d.ts +3 -3
  650. package/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular/UiMenuDots3HIcon16Regular.js +21 -0
  651. package/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular/UiMenuDots3HIcon16Regular.js.map +1 -0
  652. package/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular/package.json +6 -0
  653. package/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular.d.ts +2 -0
  654. package/internal/themes/BasicTheme/BasicTheme.js +172 -26
  655. package/internal/themes/BasicTheme/BasicTheme.js.map +1 -1
  656. package/internal/themes/BasicTheme.d.ts +114 -20
  657. package/internal/themes/DarkTheme5_2/DarkTheme5_2.js +3 -3
  658. package/internal/themes/DarkTheme5_2/DarkTheme5_2.js.map +1 -1
  659. package/internal/themes/DarkTheme5_3/DarkTheme5_3.js +16 -0
  660. package/internal/themes/DarkTheme5_3/DarkTheme5_3.js.map +1 -0
  661. package/internal/themes/DarkTheme5_3/package.json +6 -0
  662. package/internal/themes/DarkTheme5_3.d.ts +1 -0
  663. package/internal/themes/LightTheme5_3/LightTheme5_3.js +16 -0
  664. package/internal/themes/LightTheme5_3/LightTheme5_3.js.map +1 -0
  665. package/internal/themes/LightTheme5_3/package.json +6 -0
  666. package/internal/themes/LightTheme5_3.d.ts +1 -0
  667. package/lib/date/InternalDateGetter/InternalDateGetter.js +4 -1
  668. package/lib/date/InternalDateGetter/InternalDateGetter.js.map +1 -1
  669. package/lib/date/InternalDateGetter.d.ts +1 -1
  670. package/lib/delay.d.mts +1 -0
  671. package/lib/delay.mts +3 -0
  672. package/lib/events/keyListener/keyListener.js +17 -1
  673. package/lib/events/keyListener/keyListener.js.map +1 -1
  674. package/lib/events/keyListener.d.ts +7 -0
  675. package/lib/featureFlagsContext/FeatureFlagsHelpers.d.ts +9 -2
  676. package/lib/featureFlagsContext/ReactUIFeatureFlagsContext/ReactUIFeatureFlagsContext.js +9 -2
  677. package/lib/featureFlagsContext/ReactUIFeatureFlagsContext/ReactUIFeatureFlagsContext.js.map +1 -1
  678. package/lib/featureFlagsContext/ReactUIFeatureFlagsContext.d.ts +9 -2
  679. package/lib/forwardRefAndName/forwardRefAndName.js.map +1 -1
  680. package/lib/forwardRefAndName.d.ts +1 -1
  681. package/lib/getMenuPositions/getMenuPositions.js +33 -4
  682. package/lib/getMenuPositions/getMenuPositions.js.map +1 -1
  683. package/lib/getMenuPositions.d.ts +21 -1
  684. package/lib/globalObject/globalObject.js +20 -0
  685. package/lib/globalObject/globalObject.js.map +1 -0
  686. package/lib/globalObject/package.json +6 -0
  687. package/lib/globalObject.d.ts +18 -0
  688. package/lib/rootNode/rootNodeDecorator/rootNodeDecorator.js.map +1 -1
  689. package/lib/rootNode/rootNodeDecorator.d.ts +2 -1
  690. package/lib/theming/ThemeVersions/ThemeVersions.js.map +1 -1
  691. package/lib/theming/ThemeVersions.d.ts +1 -1
  692. package/lib/theming/themes/DarkTheme/DarkTheme.js +3 -1
  693. package/lib/theming/themes/DarkTheme/DarkTheme.js.map +1 -1
  694. package/lib/theming/themes/DarkTheme.d.ts +1 -0
  695. package/lib/theming/themes/LightTheme/LightTheme.js +3 -1
  696. package/lib/theming/themes/LightTheme/LightTheme.js.map +1 -1
  697. package/lib/theming/themes/LightTheme.d.ts +1 -0
  698. package/lib/utils/utils.js +2 -0
  699. package/lib/utils/utils.js.map +1 -1
  700. package/lib/utils.d.ts +4 -0
  701. package/package.json +16 -18
  702. package/cjs/lib/SSRSafe.d.ts +0 -2
  703. package/cjs/lib/SSRSafe.js +0 -5
  704. package/cjs/lib/SSRSafe.js.map +0 -1
  705. package/lib/SSRSafe/SSRSafe.js +0 -4
  706. package/lib/SSRSafe/SSRSafe.js.map +0 -1
  707. package/lib/SSRSafe/package.json +0 -6
  708. package/lib/SSRSafe.d.ts +0 -2
@@ -1 +1 @@
1
- {"version":3,"names":["React","ThemeFactory","Popup","ComboBoxMenu","ThemeContext","TokenInputDataTids","TokenInputMenu","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","menu","getMenuRef","getPopupMargin","paddingY","parseInt","theme","tokenInputPaddingYSmall","outlineWidth","controlOutlineWidth","marginY","tokenMarginYSmall","menuRef","node","_inheritsLoose","_proto","prototype","render","_this2","createElement","Consumer","Provider","value","create","popupMargin","popupBackground","tokenInputMenuPopupBg","renderMain","getPopupMarginSize","t","props","size","tokenInputPopupMarginLarge","tokenInputPopupMarginMedium","tokenInputPopupMarginSmall","_this$props","loading","maxMenuHeight","renderTotalCount","totalCount","opened","items","renderNotFound","renderItem","onValueChange","renderAddButton","anchorElement","menuWidth","menuAlign","id","popupMenuId","tokenInputMenu","positions","popupOffset","tokenInputPopupOffset","margin","hasShadow","width","withoutMobile","hasMargin","refMenu","Component","__KONTUR_REACT_UI__","displayName"],"sources":["TokenInputMenu.tsx"],"sourcesContent":["import React from 'react';\n\nimport type { HTMLProps } from '../../typings/html';\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport type { PopupProps } from '../../internal/Popup';\nimport { Popup } from '../../internal/Popup';\nimport type { ComboBoxMenuProps } from '../../internal/CustomComboBox';\nimport { ComboBoxMenu } from '../../internal/CustomComboBox';\nimport type { Menu } from '../../internal/Menu';\nimport type { Theme } from '../../lib/theming/Theme';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport type { TokenSize } from '../Token';\n\nimport type { TokenInputMenuAlign, TokenInputProps } from './TokenInput';\nimport { TokenInputDataTids } from './TokenInput';\n\nexport interface TokenInputMenuProps<T> extends ComboBoxMenuProps<T> {\n anchorElement: PopupProps['anchorElement'];\n /** Задает шинину выпадающего меню. */\n menuWidth: TokenInputProps<string>['menuWidth'];\n /** Задает выравнивание выпадающего меню. */\n menuAlign: TokenInputMenuAlign;\n /** Задает id выпадающему меню.\n Полезно при реализации a11y. Например, помогает связать aria-controls с выпадающим меню. */\n popupMenuId?: HTMLProps['id'];\n /** Задает размер контрола. */\n size?: TokenSize;\n}\n\nexport class TokenInputMenu<T = string> extends React.Component<TokenInputMenuProps<T>> {\n public static __KONTUR_REACT_UI__ = 'TokenInputMenu';\n public static displayName = 'TokenInputMenu';\n\n private theme!: Theme;\n\n private menu: Menu | null = null;\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 popupMargin: this.getPopupMargin() + 'px',\n popupBackground: this.theme.tokenInputMenuPopupBg,\n },\n theme,\n )}\n >\n {this.renderMain()}\n </ThemeContext.Provider>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n public getMenuRef = (): any | null => this.menu;\n\n private getPopupMarginSize(t: Theme) {\n switch (this.props.size) {\n case 'large':\n return t.tokenInputPopupMarginLarge;\n case 'medium':\n return t.tokenInputPopupMarginMedium;\n case 'small':\n default:\n return t.tokenInputPopupMarginSmall;\n }\n }\n\n private renderMain() {\n const {\n loading,\n maxMenuHeight,\n renderTotalCount,\n totalCount,\n opened,\n items,\n renderNotFound,\n renderItem,\n onValueChange,\n renderAddButton,\n anchorElement,\n menuWidth,\n menuAlign,\n } = this.props;\n\n return (\n <Popup\n id={this.props.popupMenuId}\n data-tid={TokenInputDataTids.tokenInputMenu}\n opened={!!opened}\n positions={['bottom left', 'top left']}\n anchorElement={anchorElement}\n popupOffset={\n menuAlign === 'left'\n ? parseInt(this.theme.tokenInputPopupOffset)\n : 8 + parseInt(this.theme.tokenInputPopupOffset)\n }\n margin={menuAlign === 'left' ? 1 : parseInt(this.getPopupMarginSize(this.theme))}\n hasShadow\n width={menuAlign === 'cursor' ? 'auto' : menuWidth}\n withoutMobile\n >\n <ComboBoxMenu\n size={this.props.size}\n items={items}\n loading={loading}\n hasMargin={false}\n maxMenuHeight={maxMenuHeight}\n onValueChange={onValueChange}\n opened={opened}\n refMenu={this.menuRef}\n renderTotalCount={renderTotalCount}\n renderItem={renderItem}\n renderNotFound={renderNotFound}\n totalCount={totalCount}\n renderAddButton={renderAddButton}\n />\n </Popup>\n );\n }\n\n private getPopupMargin = (): number => {\n const paddingY = parseInt(this.theme.tokenInputPaddingYSmall, 10) || 0;\n const outlineWidth = parseInt(this.theme.controlOutlineWidth, 10) || 0;\n const marginY = parseInt(this.theme.tokenMarginYSmall, 10) || 0;\n\n return paddingY + outlineWidth + marginY;\n };\n\n private menuRef = (node: any) => (this.menu = node);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","ThemeFactory","Popup","ComboBoxMenu","ThemeContext","TokenInputDataTids","TokenInputMenu","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","state","menu","getMenuRef","handleMenuPositionChange","_","isFullyVisible","forceMenuLeftAlign","props","menuAlign","setState","getPopupMargin","paddingY","parseInt","theme","tokenInputPaddingYSmall","outlineWidth","controlOutlineWidth","marginY","tokenMarginYSmall","menuRef","node","_inheritsLoose","_proto","prototype","render","_this2","createElement","Consumer","Provider","value","create","popupMargin","popupBackground","tokenInputMenuPopupBg","renderMain","getPopupMarginSize","t","size","tokenInputPopupMarginLarge","tokenInputPopupMarginMedium","tokenInputPopupMarginSmall","_this$props","loading","maxMenuHeight","renderTotalCount","totalCount","opened","items","renderNotFound","renderItem","onValueChange","renderAddButton","anchorElementForCursor","anchorElementRoot","menuWidth","id","popupMenuId","tokenInputMenu","positions","anchorElement","popupOffset","tokenInputPopupOffset","margin","hasShadow","width","withoutMobile","onPositionChange","hasMargin","refMenu","Component","__KONTUR_REACT_UI__","displayName"],"sources":["TokenInputMenu.tsx"],"sourcesContent":["import React from 'react';\n\nimport type { HTMLProps } from '../../typings/html';\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport type { PopupPositionsType, PopupProps } from '../../internal/Popup';\nimport { Popup } from '../../internal/Popup';\nimport type { ComboBoxMenuProps } from '../../internal/CustomComboBox';\nimport { ComboBoxMenu } from '../../internal/CustomComboBox';\nimport type { Menu } from '../../internal/Menu';\nimport type { Theme } from '../../lib/theming/Theme';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport type { TokenSize } from '../Token';\n\nimport type { TokenInputMenuAlign, TokenInputProps } from './TokenInput';\nimport { TokenInputDataTids } from './TokenInput';\n\nexport interface TokenInputMenuProps<T> extends ComboBoxMenuProps<T> {\n /** html-элемент от которого будет позиционировано Menu в случае menuAlign cursor */\n anchorElementForCursor: PopupProps['anchorElement'];\n /** html-элемент от которого будет позиционировано Menu в случае menuAlign left */\n anchorElementRoot: PopupProps['anchorElement'];\n /** Задает ширину выпадающего меню. */\n menuWidth: TokenInputProps<string>['menuWidth'];\n /** Задает выравнивание выпадающего меню. */\n menuAlign: TokenInputMenuAlign;\n /** Задает id выпадающему меню.\n Полезно при реализации a11y. Например, помогает связать aria-controls с выпадающим меню. */\n popupMenuId?: HTMLProps['id'];\n /** Задает размер контрола. */\n size?: TokenSize;\n}\n\ninterface TokenInputMenuState {\n forceMenuLeftAlign?: boolean;\n}\n\nexport class TokenInputMenu<T = string> extends React.Component<TokenInputMenuProps<T>, TokenInputMenuState> {\n public static __KONTUR_REACT_UI__ = 'TokenInputMenu';\n public static displayName = 'TokenInputMenu';\n\n public state: TokenInputMenuState = {};\n\n private theme!: Theme;\n\n private menu: Menu | null = null;\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 popupMargin: this.getPopupMargin() + 'px',\n popupBackground: this.theme.tokenInputMenuPopupBg,\n },\n theme,\n )}\n >\n {this.renderMain()}\n </ThemeContext.Provider>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n public getMenuRef = (): any | null => this.menu;\n\n private getPopupMarginSize(t: Theme) {\n switch (this.props.size) {\n case 'large':\n return t.tokenInputPopupMarginLarge;\n case 'medium':\n return t.tokenInputPopupMarginMedium;\n case 'small':\n default:\n return t.tokenInputPopupMarginSmall;\n }\n }\n\n private renderMain() {\n const {\n loading,\n maxMenuHeight,\n renderTotalCount,\n totalCount,\n opened,\n items,\n renderNotFound,\n renderItem,\n onValueChange,\n renderAddButton,\n anchorElementForCursor,\n anchorElementRoot,\n menuWidth,\n } = this.props;\n\n const menuAlign = this.state.forceMenuLeftAlign ? 'left' : this.props.menuAlign;\n\n return (\n <Popup\n id={this.props.popupMenuId}\n data-tid={TokenInputDataTids.tokenInputMenu}\n opened={!!opened}\n positions={\n menuAlign === 'cursor'\n ? ['bottom left', 'top left']\n : ['bottom left', 'top left', 'bottom right', 'top right']\n }\n anchorElement={menuAlign === 'cursor' ? anchorElementForCursor : anchorElementRoot}\n popupOffset={\n menuAlign === 'left'\n ? parseInt(this.theme.tokenInputPopupOffset)\n : 8 + parseInt(this.theme.tokenInputPopupOffset)\n }\n margin={menuAlign === 'left' ? 1 : parseInt(this.getPopupMarginSize(this.theme))}\n hasShadow\n width={menuAlign === 'cursor' ? 'auto' : menuWidth}\n withoutMobile\n onPositionChange={this.handleMenuPositionChange}\n >\n <ComboBoxMenu\n size={this.props.size}\n items={items}\n loading={loading}\n hasMargin={false}\n maxMenuHeight={maxMenuHeight}\n onValueChange={onValueChange}\n opened={opened}\n refMenu={this.menuRef}\n renderTotalCount={renderTotalCount}\n renderItem={renderItem}\n renderNotFound={renderNotFound}\n totalCount={totalCount}\n renderAddButton={renderAddButton}\n />\n </Popup>\n );\n }\n\n private handleMenuPositionChange = (_: PopupPositionsType, isFullyVisible: boolean) => {\n if (!this.state.forceMenuLeftAlign && !isFullyVisible && this.props.menuAlign === 'cursor') {\n this.setState({ forceMenuLeftAlign: true });\n }\n };\n\n private getPopupMargin = (): number => {\n const paddingY = parseInt(this.theme.tokenInputPaddingYSmall, 10) || 0;\n const outlineWidth = parseInt(this.theme.controlOutlineWidth, 10) || 0;\n const marginY = parseInt(this.theme.tokenMarginYSmall, 10) || 0;\n\n return paddingY + outlineWidth + marginY;\n };\n\n private menuRef = (node: any) => (this.menu = node);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -5,8 +5,11 @@ import type { ComboBoxMenuProps } from '../../internal/CustomComboBox';
5
5
  import type { TokenSize } from '../Token';
6
6
  import type { TokenInputMenuAlign, TokenInputProps } from './TokenInput';
7
7
  export interface TokenInputMenuProps<T> extends ComboBoxMenuProps<T> {
8
- anchorElement: PopupProps['anchorElement'];
9
- /** Задает шинину выпадающего меню. */
8
+ /** html-элемент от которого будет позиционировано Menu в случае menuAlign cursor */
9
+ anchorElementForCursor: PopupProps['anchorElement'];
10
+ /** html-элемент от которого будет позиционировано Menu в случае menuAlign left */
11
+ anchorElementRoot: PopupProps['anchorElement'];
12
+ /** Задает ширину выпадающего меню. */
10
13
  menuWidth: TokenInputProps<string>['menuWidth'];
11
14
  /** Задает выравнивание выпадающего меню. */
12
15
  menuAlign: TokenInputMenuAlign;
@@ -16,15 +19,21 @@ export interface TokenInputMenuProps<T> extends ComboBoxMenuProps<T> {
16
19
  /** Задает размер контрола. */
17
20
  size?: TokenSize;
18
21
  }
19
- export declare class TokenInputMenu<T = string> extends React.Component<TokenInputMenuProps<T>> {
22
+ interface TokenInputMenuState {
23
+ forceMenuLeftAlign?: boolean;
24
+ }
25
+ export declare class TokenInputMenu<T = string> extends React.Component<TokenInputMenuProps<T>, TokenInputMenuState> {
20
26
  static __KONTUR_REACT_UI__: string;
21
27
  static displayName: string;
28
+ state: TokenInputMenuState;
22
29
  private theme;
23
30
  private menu;
24
31
  render(): React.JSX.Element;
25
32
  getMenuRef: () => any | null;
26
33
  private getPopupMarginSize;
27
34
  private renderMain;
35
+ private handleMenuPositionChange;
28
36
  private getPopupMargin;
29
37
  private menuRef;
30
38
  }
39
+ export {};
@@ -17,6 +17,7 @@ import { createPropsGetter } from "../../../lib/createPropsGetter";
17
17
  import { CloseButtonIcon } from "../../../internal/CloseButtonIcon/CloseButtonIcon";
18
18
  import { isInstanceOf } from "../../../lib/isInstanceOf";
19
19
  import { getFullReactUIFlagsContext, ReactUIFeatureFlagsContext } from "../../../lib/featureFlagsContext";
20
+ import { cx } from "../../../lib/theming/Emotion";
20
21
  import { styles } from "../Tooltip.styles";
21
22
  var DEFAULT_DELAY = 100;
22
23
  export var TooltipDataTids = {
@@ -27,12 +28,10 @@ export var TooltipDataTids = {
27
28
  var OldPositions = ['right bottom', 'right middle', 'right top', 'top right', 'top center', 'top left', 'left top', 'left middle', 'left bottom', 'bottom left', 'bottom center', 'bottom right'];
28
29
 
29
30
  /**
30
- * `Tooltip` — это подсказка, которую пользователь открывает сам, кликом по элементу.
31
+ * `Tooltip` — это подсказка, которая объясняет состояние контрола или даёт контекстную справку.
31
32
  *
32
- * `Tooltip` используется для коротких поясняющих текстов, если необходимо дать разъяснение к деталям интерфейса, упомянутой информации или помочь с заполнением полей.
33
- * Если эти подробности не нужны постоянно, но могут помочь пользователю в момент когда он испытывает трудности.
34
- *
35
- * Для подсказки, всплывающей по наведению используйте Hint.
33
+ * Открывается по клику, фокусом на элемент или по наведению. В отличие от `Hint`, `Tooltip` может содержать
34
+ * изображения, кнопки, ссылки и прочие интерактивные элементы.
36
35
  */
37
36
  export var Tooltip = rootNode(_class = (_Tooltip = /*#__PURE__*/function (_React$PureComponent) {
38
37
  function Tooltip() {
@@ -57,7 +56,7 @@ export var Tooltip = rootNode(_class = (_Tooltip = /*#__PURE__*/function (_React
57
56
  return /*#__PURE__*/(
58
57
  React.createElement("div", {
59
58
  ref: _this.refContent,
60
- className: styles.tooltipContent(_this.theme),
59
+ className: cx(styles.tooltipContent(_this.theme), _this.sizeVariables.contentStyle),
61
60
  "data-tid": TooltipDataTids.content
62
61
  }, content, _this.renderCloseButton())
63
62
  );
@@ -146,16 +145,68 @@ export var Tooltip = rootNode(_class = (_Tooltip = /*#__PURE__*/function (_React
146
145
  }
147
146
  _this.close();
148
147
  };
148
+ _this.getSizeVariables = function () {
149
+ switch (_this.props.size) {
150
+ case 'small':
151
+ return {
152
+ closeButtonStyle: styles.closeButtonSmall(_this.theme),
153
+ contentStyle: styles.tooltipContentSmall(_this.theme),
154
+ borderRadius: _this.theme.tooltipBorderRadiusSmall,
155
+ pinSize: _this.theme.tooltipPinSizeSmall,
156
+ pinOffsetX: _this.theme.tooltipPinOffsetXSmall,
157
+ pinOffsetY: _this.theme.tooltipPinOffsetYSmall,
158
+ margin: _this.theme.tooltipMarginSmall
159
+ };
160
+ case 'medium':
161
+ return {
162
+ closeButtonStyle: styles.closeButtonMedium(_this.theme),
163
+ contentStyle: styles.tooltipContentMedium(_this.theme),
164
+ borderRadius: _this.theme.tooltipBorderRadiusMedium,
165
+ pinSize: _this.theme.tooltipPinSizeMedium,
166
+ pinOffsetX: _this.theme.tooltipPinOffsetXMedium,
167
+ pinOffsetY: _this.theme.tooltipPinOffsetYMedium,
168
+ margin: _this.theme.tooltipMarginMedium
169
+ };
170
+ case 'large':
171
+ return {
172
+ closeButtonStyle: styles.closeButtonLarge(_this.theme),
173
+ contentStyle: styles.tooltipContentLarge(_this.theme),
174
+ borderRadius: _this.theme.tooltipBorderRadiusLarge,
175
+ pinSize: _this.theme.tooltipPinSizeLarge,
176
+ pinOffsetX: _this.theme.tooltipPinOffsetXLarge,
177
+ pinOffsetY: _this.theme.tooltipPinOffsetYLarge,
178
+ margin: _this.theme.tooltipMarginLarge
179
+ };
180
+ default:
181
+ console.error("Can't get size variables: invalid value in size prop '" + _this.props.size + "'. Returning default");
182
+ return {
183
+ closeButtonStyle: styles.closeButtonSmall(_this.theme),
184
+ contentStyle: styles.tooltipContentSmall(_this.theme),
185
+ borderRadius: _this.theme.tooltipBorderRadiusSmall,
186
+ pinSize: _this.theme.tooltipPinSizeSmall,
187
+ pinOffsetX: _this.theme.tooltipPinOffsetXSmall,
188
+ pinOffsetY: _this.theme.tooltipPinOffsetYSmall,
189
+ margin: _this.theme.tooltipMarginSmall
190
+ };
191
+ }
192
+ };
149
193
  return _this;
150
194
  }
151
195
  _inheritsLoose(Tooltip, _React$PureComponent);
152
196
  var _proto = Tooltip.prototype;
197
+ _proto.validateProps = function validateProps(props) {
198
+ warning(props.children || props.anchorElement, "[Tooltip]: you must provide either 'children' or 'anchorElement' prop for Tooltip to work properly");
199
+ };
153
200
  _proto.getAllowedPositions = function getAllowedPositions() {
154
201
  return this.props.allowedPositions ? this.props.allowedPositions : OldPositions;
155
202
  };
203
+ _proto.componentDidMount = function componentDidMount() {
204
+ this.validateProps(this.getProps());
205
+ };
156
206
  _proto.componentDidUpdate = function componentDidUpdate() {
157
207
  var _this$getProps = this.getProps(),
158
208
  trigger = _this$getProps.trigger;
209
+ this.validateProps(this.getProps());
159
210
  if (trigger === 'closed' && this.state.opened) {
160
211
  this.close();
161
212
  }
@@ -169,15 +220,16 @@ export var Tooltip = rootNode(_class = (_Tooltip = /*#__PURE__*/function (_React
169
220
  _this2.featureFlags = getFullReactUIFlagsContext(flags);
170
221
  return /*#__PURE__*/React.createElement(ThemeContext.Consumer, null, function (theme) {
171
222
  _this2.theme = theme;
223
+ _this2.sizeVariables = _this2.getSizeVariables();
172
224
  return /*#__PURE__*/React.createElement(ThemeContext.Provider, {
173
225
  value: ThemeFactory.create({
174
- popupMargin: theme.tooltipMargin,
226
+ popupBackground: theme.tooltipBg,
175
227
  popupBorder: theme.tooltipBorder,
176
- popupBorderRadius: theme.tooltipBorderRadius,
177
- popupPinSize: theme.tooltipPinSize,
178
- popupPinOffsetX: theme.tooltipPinOffsetX,
179
- popupPinOffsetY: theme.tooltipPinOffsetY,
180
- popupBackground: theme.tooltipBg
228
+ popupBorderRadius: _this2.sizeVariables.borderRadius,
229
+ popupPinSize: _this2.sizeVariables.pinSize,
230
+ popupPinOffsetX: _this2.sizeVariables.pinOffsetX,
231
+ popupPinOffsetY: _this2.sizeVariables.pinOffsetY,
232
+ popupMargin: _this2.sizeVariables.margin
181
233
  }, theme)
182
234
  }, _this2.renderMain());
183
235
  });
@@ -195,7 +247,7 @@ export var Tooltip = rootNode(_class = (_Tooltip = /*#__PURE__*/function (_React
195
247
  colorHover: this.theme.tooltipCloseBtnHoverColor
196
248
  });
197
249
  return /*#__PURE__*/React.createElement("div", {
198
- className: styles.cross(this.theme),
250
+ className: cx(styles.closeButton(this.theme), this.sizeVariables.closeButtonStyle),
199
251
  onClick: this.handleCloseButtonClick,
200
252
  "data-tid": TooltipDataTids.crossIcon
201
253
  }, icon);
@@ -354,13 +406,8 @@ export var Tooltip = rootNode(_class = (_Tooltip = /*#__PURE__*/function (_React
354
406
  return true;
355
407
  };
356
408
  return Tooltip;
357
- }(React.PureComponent), _Tooltip.__KONTUR_REACT_UI__ = 'Tooltip', _Tooltip.displayName = 'Tooltip', _Tooltip.propTypes = {
358
- children: function children(props, propName, componentName) {
359
- var children = props[propName];
360
- warning(children || props.anchorElement, "[" + componentName + "]: you must provide either 'children' or 'anchorElement' prop for " + componentName + " to work properly");
361
- warning(!(Array.isArray(children) && props.useWrapper === false), "[" + componentName + "]: you provided multiple children, but useWrapper={false} - forcing wrapper <span/> for positioning to work correctly");
362
- }
363
- }, _Tooltip.defaultProps = {
409
+ }(React.PureComponent), _Tooltip.__KONTUR_REACT_UI__ = 'Tooltip', _Tooltip.displayName = 'Tooltip', _Tooltip.defaultProps = {
410
+ size: 'small',
364
411
  trigger: 'hover',
365
412
  disableAnimations: isTestEnv,
366
413
  useWrapper: false,
@@ -1 +1 @@
1
- {"version":3,"names":["React","warning","globalObject","isNullable","ThemeFactory","Popup","RenderLayer","containsTargetOrRenderContainer","ThemeContext","isTestEnv","CommonWrapper","rootNode","createPropsGetter","CloseButtonIcon","isInstanceOf","getFullReactUIFlagsContext","ReactUIFeatureFlagsContext","styles","DEFAULT_DELAY","TooltipDataTids","root","content","crossIcon","OldPositions","Tooltip","_class","_Tooltip","_React$PureComponent","_this","_len","arguments","length","args","Array","_key","call","apply","concat","getProps","defaultProps","state","opened","focused","contentElement","clickedOutside","popupRef","createRef","renderContent","props","render","createElement","ref","refContent","className","tooltipContent","theme","renderCloseButton","getAnchorElement","_this$popupRef$curren","current","anchorElement","getPositions","allowedPositions","node","open","setState","close","handleMouseEnter","event","isHoverAnchor","trigger","target","clearHoverTimeout","hoverTimeout","setTimeout","delayBeforeShow","handleMouseLeave","relatedTarget","delay","handleClick","handleClickOutsideAnchor","isClickOutsideContent","onCloseRequest","handleFocus","handleBlur","handleCloseButtonClick","stopPropagation","onCloseClick","defaultPrevented","_inheritsLoose","_proto","prototype","getAllowedPositions","componentDidUpdate","_this$getProps","componentWillUnmount","_this2","Consumer","flags","featureFlags","Provider","value","create","popupMargin","tooltipMargin","popupBorder","tooltipBorder","popupBorderRadius","tooltipBorderRadius","popupPinSize","tooltipPinSize","popupPinOffsetX","tooltipPinOffsetX","popupPinOffsetY","tooltipPinOffsetY","popupBackground","tooltipBg","renderMain","hasCross","closeButton","undefined","triggersWithoutCloseButton","includes","icon","tabbable","side","parseInt","tooltipCloseBtnSide","color","tooltipCloseBtnColor","colorHover","tooltipCloseBtnHoverColor","cross","onClick","show","hide","_this$getPopupAndLaye","getPopupAndLayerProps","popupProps","_this$getPopupAndLaye2","layerProps","active","children","popup","renderPopup","_extends","_this$getProps2","disableAnimations","rootNodeRef","setRootNode","hasPin","hasShadow","maxWidth","positions","pos","ignoreHover","onOpen","onClose","tryPreserveFirstRenderedPosition","withoutMobile","useWrapper","onClickOutside","onMouseEnter","onMouseLeave","onFocus","onBlur","Error","clearTimeout","Element","PureComponent","__KONTUR_REACT_UI__","displayName","propTypes","propName","componentName","isArray"],"sources":["Tooltip.tsx"],"sourcesContent":["import React from 'react';\nimport warning from 'warning';\nimport type { SafeTimer } from '@skbkontur/global-object';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport { isNullable } from '../../lib/utils';\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport type { PopupProps, PopupPositionsType, ShortPopupPositionsType } from '../../internal/Popup';\nimport { Popup } from '../../internal/Popup';\nimport type { RenderLayerProps } from '../../internal/RenderLayer';\nimport { RenderLayer } from '../../internal/RenderLayer';\nimport type { Nullable } from '../../typings/utility-types';\nimport type { MouseEventType } from '../../typings/event-types';\nimport { containsTargetOrRenderContainer } from '../../lib/listenFocusOutside';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport type { Theme } from '../../lib/theming/Theme';\nimport { isTestEnv } from '../../lib/currentEnvironment';\nimport type { CommonProps } from '../../internal/CommonWrapper';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\nimport type { TSetRootNode } from '../../lib/rootNode';\nimport { rootNode } from '../../lib/rootNode';\nimport type { InstanceWithAnchorElement } from '../../lib/InstanceWithAnchorElement';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { CloseButtonIcon } from '../../internal/CloseButtonIcon/CloseButtonIcon';\nimport { isInstanceOf } from '../../lib/isInstanceOf';\nimport type { ReactUIFeatureFlags } from '../../lib/featureFlagsContext';\nimport { getFullReactUIFlagsContext, ReactUIFeatureFlagsContext } from '../../lib/featureFlagsContext';\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 anchorElement?: HTMLElement;\n /** @ignore */\n children?: React.ReactNode;\n /** Задает HTML-атрибут class. */\n className?: string;\n /** Отображает крестик для закрытия тултипа. По-умолчанию крестик виден, если проп *trigger* не равен `hover` или `focus`. */\n closeButton?: boolean;\n /** Задает функцию, которая возвращает содержимое тултипа. Если функция вернула `null`, то тултип не показывается. */\n render?: Nullable<() => React.ReactNode>;\n /** Задает приоритетное расположение подсказки относительно текста. */\n pos?: ShortPopupPositionsType | PopupPositionsType;\n /** Задает триггер открытия тултипа. */\n trigger?: TooltipTrigger;\n /** Задает хендлер, который вызывается при клике по крестику. */\n onCloseClick?: React.MouseEventHandler<HTMLElement>;\n /** Задает хендлер, который вызывается при клике по крестику или снаружи тултипа. */\n onCloseRequest?: (event?: Event | React.MouseEvent) => void;\n /** Задает хендлер, который вызывается при закрытии тултипа. */\n onClose?: () => void;\n /** Задает хендлер, который вызывается при открытии тултипа. */\n onOpen?: () => void;\n /** Задает список позиций, которые тултип будет занимать.\n * Если положение тултипа в определенной позиции будет выходить за край экрана, то будет выбрана следующая позиция.\n * Обязательно должен включать позицию указанную в `pos`. */\n allowedPositions?: PopupPositionsType[];\n /** Отключает анимацию.\n * @default false */\n disableAnimations?: boolean;\n /** Явно указывает, что вложенные элементы должны быть обёрнуты в `<span/>`.\n * Используется для корректного позиционирования тултипа при двух и более вложенных элементах.\n * _Примечание_: при **двух и более** вложенных элементах обёртка будет добавлена автоматически. */\n useWrapper?: boolean;\n /** Устанавливает задержку в миллисекундах до появления лоадера. */\n delayBeforeShow?: number;\n}\n\nconst DEFAULT_DELAY = 100;\n\nexport interface TooltipState {\n opened: boolean;\n focused: boolean;\n}\n\nexport const TooltipDataTids = {\n root: 'Tooltip__root',\n content: 'Tooltip__content',\n crossIcon: 'Tooltip__crossIcon',\n} as const;\n\nconst OldPositions: 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<Pick<TooltipProps, 'trigger' | 'disableAnimations' | 'useWrapper' | 'delayBeforeShow'>>;\n\n/**\n * `Tooltip` — это подсказка, которую пользователь открывает сам, кликом по элементу.\n *\n * `Tooltip` используется для коротких поясняющих текстов, если необходимо дать разъяснение к деталям интерфейса, упомянутой информации или помочь с заполнением полей.\n * Если эти подробности не нужны постоянно, но могут помочь пользователю в момент когда он испытывает трудности.\n *\n * Для подсказки, всплывающей по наведению используйте Hint.\n */\n@rootNode\nexport class Tooltip extends React.PureComponent<TooltipProps, TooltipState> implements InstanceWithAnchorElement {\n public static __KONTUR_REACT_UI__ = 'Tooltip';\n public static displayName = 'Tooltip';\n\n public static propTypes = {\n children(props: TooltipProps, propName: keyof TooltipProps, componentName: string) {\n const children = props[propName];\n warning(\n children || props.anchorElement,\n `[${componentName}]: you must provide either 'children' or 'anchorElement' prop for ${componentName} to work properly`,\n );\n warning(\n !(Array.isArray(children) && props.useWrapper === false),\n `[${componentName}]: you provided multiple children, but useWrapper={false} - forcing wrapper <span/> for positioning to work correctly`,\n );\n },\n };\n\n public static defaultProps: DefaultProps = {\n trigger: 'hover',\n disableAnimations: isTestEnv,\n useWrapper: false,\n delayBeforeShow: DEFAULT_DELAY,\n };\n\n private getProps = createPropsGetter(Tooltip.defaultProps);\n\n public static delay = DEFAULT_DELAY;\n private static triggersWithoutCloseButton: TooltipTrigger[] = ['hover', 'hoverAnchor', 'focus', 'hover&focus'];\n\n public state: TooltipState = { opened: false, focused: false };\n private theme!: Theme;\n public featureFlags!: ReactUIFeatureFlags;\n private hoverTimeout: SafeTimer;\n private contentElement: Nullable<HTMLElement> = null;\n private clickedOutside = true;\n private setRootNode!: TSetRootNode;\n\n private popupRef = React.createRef<Popup>();\n\n public getAllowedPositions() {\n return this.props.allowedPositions ? this.props.allowedPositions : OldPositions;\n }\n\n public componentDidUpdate() {\n const { trigger } = this.getProps();\n if (trigger === 'closed' && this.state.opened) {\n this.close();\n }\n }\n\n public componentWillUnmount() {\n this.clearHoverTimeout();\n }\n\n public render() {\n return (\n <ReactUIFeatureFlagsContext.Consumer>\n {(flags) => {\n this.featureFlags = getFullReactUIFlagsContext(flags);\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return (\n <ThemeContext.Provider\n value={ThemeFactory.create(\n {\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 popupBackground: theme.tooltipBg,\n },\n theme,\n )}\n >\n {this.renderMain()}\n </ThemeContext.Provider>\n );\n }}\n </ThemeContext.Consumer>\n );\n }}\n </ReactUIFeatureFlagsContext.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) {\n return null;\n }\n\n const icon = (\n <CloseButtonIcon\n tabbable={false}\n side={parseInt(this.theme.tooltipCloseBtnSide)}\n color={this.theme.tooltipCloseBtnColor}\n colorHover={this.theme.tooltipCloseBtnHoverColor}\n />\n );\n\n return (\n <div\n className={styles.cross(this.theme)}\n onClick={this.handleCloseButtonClick}\n data-tid={TooltipDataTids.crossIcon}\n >\n {icon}\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 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 pos={this.props.pos}\n ignoreHover={trigger === 'hoverAnchor'}\n onOpen={this.props.onOpen}\n onClose={this.props.onClose}\n tryPreserveFirstRenderedPosition\n ref={this.popupRef}\n withoutMobile\n {...popupProps}\n >\n {content}\n </Popup>\n </CommonWrapper>\n );\n }\n\n private getPositions = (): PopupPositionsType[] | undefined => {\n return this.props.allowedPositions;\n };\n\n private refContent = (node: HTMLElement | null) => {\n this.contentElement = node;\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 globalObject.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 this.hoverTimeout = globalObject.setTimeout(this.open, this.getProps().delayBeforeShow);\n };\n\n private handleMouseLeave = (event: MouseEventType) => {\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 = globalObject.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 && isInstanceOf(event.target, globalObject.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"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","warning","globalObject","isNullable","ThemeFactory","Popup","RenderLayer","containsTargetOrRenderContainer","ThemeContext","isTestEnv","CommonWrapper","rootNode","createPropsGetter","CloseButtonIcon","isInstanceOf","getFullReactUIFlagsContext","ReactUIFeatureFlagsContext","cx","styles","DEFAULT_DELAY","TooltipDataTids","root","content","crossIcon","OldPositions","Tooltip","_class","_Tooltip","_React$PureComponent","_this","_len","arguments","length","args","Array","_key","call","apply","concat","getProps","defaultProps","state","opened","focused","contentElement","clickedOutside","popupRef","createRef","renderContent","props","render","createElement","ref","refContent","className","tooltipContent","theme","sizeVariables","contentStyle","renderCloseButton","getAnchorElement","_this$popupRef$curren","current","anchorElement","getPositions","allowedPositions","node","open","setState","close","handleMouseEnter","event","isHoverAnchor","trigger","target","clearHoverTimeout","hoverTimeout","setTimeout","delayBeforeShow","handleMouseLeave","relatedTarget","delay","handleClick","handleClickOutsideAnchor","isClickOutsideContent","onCloseRequest","handleFocus","handleBlur","handleCloseButtonClick","stopPropagation","onCloseClick","defaultPrevented","getSizeVariables","size","closeButtonStyle","closeButtonSmall","tooltipContentSmall","borderRadius","tooltipBorderRadiusSmall","pinSize","tooltipPinSizeSmall","pinOffsetX","tooltipPinOffsetXSmall","pinOffsetY","tooltipPinOffsetYSmall","margin","tooltipMarginSmall","closeButtonMedium","tooltipContentMedium","tooltipBorderRadiusMedium","tooltipPinSizeMedium","tooltipPinOffsetXMedium","tooltipPinOffsetYMedium","tooltipMarginMedium","closeButtonLarge","tooltipContentLarge","tooltipBorderRadiusLarge","tooltipPinSizeLarge","tooltipPinOffsetXLarge","tooltipPinOffsetYLarge","tooltipMarginLarge","console","error","_inheritsLoose","_proto","prototype","validateProps","children","getAllowedPositions","componentDidMount","componentDidUpdate","_this$getProps","componentWillUnmount","_this2","Consumer","flags","featureFlags","Provider","value","create","popupBackground","tooltipBg","popupBorder","tooltipBorder","popupBorderRadius","popupPinSize","popupPinOffsetX","popupPinOffsetY","popupMargin","renderMain","hasCross","closeButton","undefined","triggersWithoutCloseButton","includes","icon","tabbable","side","parseInt","tooltipCloseBtnSide","color","tooltipCloseBtnColor","colorHover","tooltipCloseBtnHoverColor","onClick","show","hide","_this$getPopupAndLaye","getPopupAndLayerProps","popupProps","_this$getPopupAndLaye2","layerProps","active","popup","renderPopup","_extends","_this$getProps2","disableAnimations","rootNodeRef","setRootNode","hasPin","hasShadow","maxWidth","positions","pos","ignoreHover","onOpen","onClose","tryPreserveFirstRenderedPosition","withoutMobile","useWrapper","onClickOutside","onMouseEnter","onMouseLeave","onFocus","onBlur","Error","clearTimeout","Element","PureComponent","__KONTUR_REACT_UI__","displayName"],"sources":["Tooltip.tsx"],"sourcesContent":["import React from 'react';\nimport warning from 'warning';\nimport type { SafeTimer } from '@skbkontur/global-object';\nimport { globalObject } from '@skbkontur/global-object';\nimport type { SizeProp } from 'react-ui/lib/types/props';\n\nimport { isNullable } from '../../lib/utils';\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport type { PopupProps, PopupPositionsType, ShortPopupPositionsType } from '../../internal/Popup';\nimport { Popup } from '../../internal/Popup';\nimport type { RenderLayerProps } from '../../internal/RenderLayer';\nimport { RenderLayer } from '../../internal/RenderLayer';\nimport type { Nullable } from '../../typings/utility-types';\nimport type { MouseEventType } from '../../typings/event-types';\nimport { containsTargetOrRenderContainer } from '../../lib/listenFocusOutside';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport type { Theme } from '../../lib/theming/Theme';\nimport { isTestEnv } from '../../lib/currentEnvironment';\nimport type { CommonProps } from '../../internal/CommonWrapper';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\nimport type { TGetRootNode, TSetRootNode } from '../../lib/rootNode';\nimport { rootNode } from '../../lib/rootNode';\nimport type { InstanceWithAnchorElement } from '../../lib/InstanceWithAnchorElement';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { CloseButtonIcon } from '../../internal/CloseButtonIcon/CloseButtonIcon';\nimport { isInstanceOf } from '../../lib/isInstanceOf';\nimport type { ReactUIFeatureFlags } from '../../lib/featureFlagsContext';\nimport { getFullReactUIFlagsContext, ReactUIFeatureFlagsContext } from '../../lib/featureFlagsContext';\nimport { cx } from '../../lib/theming/Emotion';\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 anchorElement?: HTMLElement;\n\n /** @ignore */\n children?: React.ReactNode;\n\n /** Задает HTML-атрибут class. */\n className?: string;\n\n /** Отображает крестик для закрытия тултипа. По-умолчанию крестик виден, если проп *trigger* не равен `hover` или `focus`. */\n closeButton?: boolean;\n\n /** Задает функцию, которая возвращает содержимое тултипа. Если функция вернула `null`, то тултип не показывается. */\n render?: Nullable<() => React.ReactNode>;\n\n /** Задает приоритетное расположение подсказки относительно текста. */\n pos?: ShortPopupPositionsType | PopupPositionsType;\n\n /** Задает размер тултипа.\n * @default 'small' */\n size?: SizeProp;\n\n /** Задает триггер открытия тултипа. */\n trigger?: TooltipTrigger;\n\n /** Задает хендлер, который вызывается при клике по крестику. */\n onCloseClick?: React.MouseEventHandler<HTMLElement>;\n\n /** Задает хендлер, который вызывается при клике по крестику или снаружи тултипа. */\n onCloseRequest?: (event?: Event | React.MouseEvent) => void;\n\n /** Задает хендлер, который вызывается при закрытии тултипа. */\n onClose?: () => void;\n\n /** Задает хендлер, который вызывается при открытии тултипа. */\n onOpen?: () => void;\n\n /** Задает список позиций, которые тултип будет занимать.\n * Если положение тултипа в определенной позиции будет выходить за край экрана, то будет выбрана следующая позиция.\n * Обязательно должен включать позицию указанную в `pos`. */\n allowedPositions?: PopupPositionsType[];\n\n /** Отключает анимацию.\n * @default false */\n disableAnimations?: boolean;\n\n /** Явно указывает, что вложенные элементы должны быть обёрнуты в `<span/>`.\n * Используется для корректного позиционирования тултипа при двух и более вложенных элементах.\n * _Примечание_: при **двух и более** вложенных элементах обёртка будет добавлена автоматически. */\n useWrapper?: boolean;\n\n /** Устанавливает задержку в миллисекундах до появления лоадера. */\n delayBeforeShow?: number;\n}\n\nconst DEFAULT_DELAY = 100;\n\nexport interface TooltipState {\n opened: boolean;\n focused: boolean;\n}\n\nexport const TooltipDataTids = {\n root: 'Tooltip__root',\n content: 'Tooltip__content',\n crossIcon: 'Tooltip__crossIcon',\n} as const;\n\nconst OldPositions: 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\ninterface TooltipSizeVariables {\n closeButtonStyle: string;\n contentStyle: string;\n borderRadius: string;\n pinSize: string;\n pinOffsetX: string;\n pinOffsetY: string;\n margin: string;\n}\n\ntype DefaultProps = Required<\n Pick<TooltipProps, 'size' | 'trigger' | 'disableAnimations' | 'useWrapper' | 'delayBeforeShow'>\n>;\n\n/**\n * `Tooltip` — это подсказка, которая объясняет состояние контрола или даёт контекстную справку.\n *\n * Открывается по клику, фокусом на элемент или по наведению. В отличие от `Hint`, `Tooltip` может содержать\n * изображения, кнопки, ссылки и прочие интерактивные элементы.\n */\n@rootNode\nexport class Tooltip extends React.PureComponent<TooltipProps, TooltipState> implements InstanceWithAnchorElement {\n public static __KONTUR_REACT_UI__ = 'Tooltip';\n public static displayName = 'Tooltip';\n\n public static defaultProps: DefaultProps = {\n size: 'small',\n trigger: 'hover',\n disableAnimations: isTestEnv,\n useWrapper: false,\n delayBeforeShow: DEFAULT_DELAY,\n };\n\n private getProps = createPropsGetter(Tooltip.defaultProps);\n private validateProps(props: TooltipProps): void {\n warning(\n props.children || props.anchorElement,\n `[Tooltip]: you must provide either 'children' or 'anchorElement' prop for Tooltip to work properly`,\n );\n }\n\n public static delay = DEFAULT_DELAY;\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 sizeVariables!: TooltipSizeVariables;\n public featureFlags!: ReactUIFeatureFlags;\n private hoverTimeout: SafeTimer;\n private contentElement: Nullable<HTMLElement> = null;\n private clickedOutside = true;\n public getRootNode!: TGetRootNode;\n private setRootNode!: TSetRootNode;\n\n private popupRef = React.createRef<Popup>();\n\n public getAllowedPositions() {\n return this.props.allowedPositions ? this.props.allowedPositions : OldPositions;\n }\n\n public componentDidMount(): void {\n this.validateProps(this.getProps());\n }\n\n public componentDidUpdate() {\n const { trigger } = this.getProps();\n\n this.validateProps(this.getProps());\n if (trigger === 'closed' && this.state.opened) {\n this.close();\n }\n }\n\n public componentWillUnmount() {\n this.clearHoverTimeout();\n }\n\n public render() {\n return (\n <ReactUIFeatureFlagsContext.Consumer>\n {(flags) => {\n this.featureFlags = getFullReactUIFlagsContext(flags);\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n this.sizeVariables = this.getSizeVariables();\n return (\n <ThemeContext.Provider\n value={ThemeFactory.create(\n {\n popupBackground: theme.tooltipBg,\n popupBorder: theme.tooltipBorder,\n popupBorderRadius: this.sizeVariables.borderRadius,\n popupPinSize: this.sizeVariables.pinSize,\n popupPinOffsetX: this.sizeVariables.pinOffsetX,\n popupPinOffsetY: this.sizeVariables.pinOffsetY,\n popupMargin: this.sizeVariables.margin,\n },\n theme,\n )}\n >\n {this.renderMain()}\n </ThemeContext.Provider>\n );\n }}\n </ThemeContext.Consumer>\n );\n }}\n </ReactUIFeatureFlagsContext.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\n ref={this.refContent}\n className={cx(styles.tooltipContent(this.theme), this.sizeVariables.contentStyle)}\n data-tid={TooltipDataTids.content}\n >\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) {\n return null;\n }\n\n const icon = (\n <CloseButtonIcon\n tabbable={false}\n side={parseInt(this.theme.tooltipCloseBtnSide)}\n color={this.theme.tooltipCloseBtnColor}\n colorHover={this.theme.tooltipCloseBtnHoverColor}\n />\n );\n\n return (\n <div\n className={cx(styles.closeButton(this.theme), this.sizeVariables.closeButtonStyle)}\n onClick={this.handleCloseButtonClick}\n data-tid={TooltipDataTids.crossIcon}\n >\n {icon}\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 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 pos={this.props.pos}\n ignoreHover={trigger === 'hoverAnchor'}\n onOpen={this.props.onOpen}\n onClose={this.props.onClose}\n tryPreserveFirstRenderedPosition\n ref={this.popupRef}\n withoutMobile\n {...popupProps}\n >\n {content}\n </Popup>\n </CommonWrapper>\n );\n }\n\n private getPositions = (): PopupPositionsType[] | undefined => {\n return this.props.allowedPositions;\n };\n\n private refContent = (node: HTMLElement | null) => {\n this.contentElement = node;\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 globalObject.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 this.hoverTimeout = globalObject.setTimeout(this.open, this.getProps().delayBeforeShow);\n };\n\n private handleMouseLeave = (event: MouseEventType) => {\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 = globalObject.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 && isInstanceOf(event.target, globalObject.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 private getSizeVariables = (): TooltipSizeVariables => {\n switch (this.props.size) {\n case 'small':\n return {\n closeButtonStyle: styles.closeButtonSmall(this.theme),\n contentStyle: styles.tooltipContentSmall(this.theme),\n borderRadius: this.theme.tooltipBorderRadiusSmall,\n pinSize: this.theme.tooltipPinSizeSmall,\n pinOffsetX: this.theme.tooltipPinOffsetXSmall,\n pinOffsetY: this.theme.tooltipPinOffsetYSmall,\n margin: this.theme.tooltipMarginSmall,\n };\n case 'medium':\n return {\n closeButtonStyle: styles.closeButtonMedium(this.theme),\n contentStyle: styles.tooltipContentMedium(this.theme),\n borderRadius: this.theme.tooltipBorderRadiusMedium,\n pinSize: this.theme.tooltipPinSizeMedium,\n pinOffsetX: this.theme.tooltipPinOffsetXMedium,\n pinOffsetY: this.theme.tooltipPinOffsetYMedium,\n margin: this.theme.tooltipMarginMedium,\n };\n case 'large':\n return {\n closeButtonStyle: styles.closeButtonLarge(this.theme),\n contentStyle: styles.tooltipContentLarge(this.theme),\n borderRadius: this.theme.tooltipBorderRadiusLarge,\n pinSize: this.theme.tooltipPinSizeLarge,\n pinOffsetX: this.theme.tooltipPinOffsetXLarge,\n pinOffsetY: this.theme.tooltipPinOffsetYLarge,\n margin: this.theme.tooltipMarginLarge,\n };\n default:\n console.error(`Can't get size variables: invalid value in size prop '${this.props.size}'. Returning default`);\n return {\n closeButtonStyle: styles.closeButtonSmall(this.theme),\n contentStyle: styles.tooltipContentSmall(this.theme),\n borderRadius: this.theme.tooltipBorderRadiusSmall,\n pinSize: this.theme.tooltipPinSizeSmall,\n pinOffsetX: this.theme.tooltipPinOffsetXSmall,\n pinOffsetY: this.theme.tooltipPinOffsetYSmall,\n margin: this.theme.tooltipMarginSmall,\n };\n }\n };\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,7 +1,9 @@
1
1
  import React from 'react';
2
+ import type { SizeProp } from 'react-ui/lib/types/props';
2
3
  import type { PopupPositionsType, ShortPopupPositionsType } from '../../internal/Popup';
3
4
  import type { Nullable } from '../../typings/utility-types';
4
5
  import type { CommonProps } from '../../internal/CommonWrapper';
6
+ import type { TGetRootNode } from '../../lib/rootNode';
5
7
  import type { InstanceWithAnchorElement } from '../../lib/InstanceWithAnchorElement';
6
8
  import type { ReactUIFeatureFlags } from '../../lib/featureFlagsContext';
7
9
  export type TooltipTrigger =
@@ -34,6 +36,9 @@ export interface TooltipProps extends CommonProps {
34
36
  render?: Nullable<() => React.ReactNode>;
35
37
  /** Задает приоритетное расположение подсказки относительно текста. */
36
38
  pos?: ShortPopupPositionsType | PopupPositionsType;
39
+ /** Задает размер тултипа.
40
+ * @default 'small' */
41
+ size?: SizeProp;
37
42
  /** Задает триггер открытия тултипа. */
38
43
  trigger?: TooltipTrigger;
39
44
  /** Задает хендлер, который вызывается при клике по крестику. */
@@ -67,34 +72,33 @@ export declare const TooltipDataTids: {
67
72
  readonly content: "Tooltip__content";
68
73
  readonly crossIcon: "Tooltip__crossIcon";
69
74
  };
70
- type DefaultProps = Required<Pick<TooltipProps, 'trigger' | 'disableAnimations' | 'useWrapper' | 'delayBeforeShow'>>;
75
+ type DefaultProps = Required<Pick<TooltipProps, 'size' | 'trigger' | 'disableAnimations' | 'useWrapper' | 'delayBeforeShow'>>;
71
76
  /**
72
- * `Tooltip` — это подсказка, которую пользователь открывает сам, кликом по элементу.
77
+ * `Tooltip` — это подсказка, которая объясняет состояние контрола или даёт контекстную справку.
73
78
  *
74
- * `Tooltip` используется для коротких поясняющих текстов, если необходимо дать разъяснение к деталям интерфейса, упомянутой информации или помочь с заполнением полей.
75
- * Если эти подробности не нужны постоянно, но могут помочь пользователю в момент когда он испытывает трудности.
76
- *
77
- * Для подсказки, всплывающей по наведению используйте Hint.
79
+ * Открывается по клику, фокусом на элемент или по наведению. В отличие от `Hint`, `Tooltip` может содержать
80
+ * изображения, кнопки, ссылки и прочие интерактивные элементы.
78
81
  */
79
82
  export declare class Tooltip extends React.PureComponent<TooltipProps, TooltipState> implements InstanceWithAnchorElement {
80
83
  static __KONTUR_REACT_UI__: string;
81
84
  static displayName: string;
82
- static propTypes: {
83
- children(props: TooltipProps, propName: keyof TooltipProps, componentName: string): void;
84
- };
85
85
  static defaultProps: DefaultProps;
86
86
  private getProps;
87
+ private validateProps;
87
88
  static delay: number;
88
89
  private static triggersWithoutCloseButton;
89
90
  state: TooltipState;
90
91
  private theme;
92
+ private sizeVariables;
91
93
  featureFlags: ReactUIFeatureFlags;
92
94
  private hoverTimeout;
93
95
  private contentElement;
94
96
  private clickedOutside;
97
+ getRootNode: TGetRootNode;
95
98
  private setRootNode;
96
99
  private popupRef;
97
100
  getAllowedPositions(): string[];
101
+ componentDidMount(): void;
98
102
  componentDidUpdate(): void;
99
103
  componentWillUnmount(): void;
100
104
  render(): React.JSX.Element;
@@ -129,5 +133,6 @@ export declare class Tooltip extends React.PureComponent<TooltipProps, TooltipSt
129
133
  private handleFocus;
130
134
  private handleBlur;
131
135
  private handleCloseButtonClick;
136
+ private getSizeVariables;
132
137
  }
133
138
  export {};
@@ -2,9 +2,9 @@
2
2
  Отступы в тултипе подобраны так, чтобы базовая линия текста со шрифтом Segoe UI в тултипе совпадала с базовой линией стандартных контролов
3
3
 
4
4
  ```jsx harmony
5
- import SearchIcon from '@skbkontur/react-icons/Search';
6
- import MenuIcon from '@skbkontur/react-icons/Menu';
7
- import HelpDotIcon from '@skbkontur/react-icons/HelpDot';
5
+ import { SearchLoupeIcon16Regular } from '@skbkontur/icons/icons/SearchLoupeIcon/SearchLoupeIcon16Regular';
6
+ import { UiMenuBars3HIcon16Regular } from '@skbkontur/icons/icons/UiMenuBars3HIcon/UiMenuBars3HIcon16Regular';
7
+ import { QuestionCircleIcon16Regular } from '@skbkontur/icons/icons/QuestionCircleIcon/QuestionCircleIcon16Regular';
8
8
  import { Button, Gapped, Input, Select, Tooltip } from '@skbkontur/react-ui';
9
9
 
10
10
  const [size, setSize] = React.useState('small');
@@ -29,15 +29,15 @@ const render = () => (
29
29
  <Select width={120} value={size} items={['small', 'medium', 'large']} onValueChange={setSize} size={size} />
30
30
  </Gapped>
31
31
  <Tooltip render={render} pos="right top">
32
- <Input size={size} leftIcon={<SearchIcon />} width={170} />
32
+ <Input size={size} leftIcon={<SearchLoupeIcon16Regular />} width={170} />
33
33
  </Tooltip>
34
34
  <Tooltip render={render} pos="right top">
35
- <Button size={size} icon={<MenuIcon />}>
35
+ <Button size={size} icon={<UiMenuBars3HIcon16Regular />}>
36
36
  Menu
37
37
  </Button>
38
38
  </Tooltip>
39
39
  <Tooltip render={render} pos="right top">
40
- <HelpDotIcon />
40
+ <QuestionCircleIcon16Regular />
41
41
  </Tooltip>
42
42
  </Gapped>
43
43
  </div>;
@@ -300,7 +300,7 @@ class AnchorTooltipExample extends React.Component {
300
300
  У тултипа можно переопределить задержку перед его появлением. Скрытие же происходит с задержкой по умолчанию.
301
301
 
302
302
  ```jsx harmony
303
- import HelpDotIcon from '@skbkontur/react-icons/HelpDot';
303
+ import { QuestionCircleIcon16Regular } from '@skbkontur/icons/icons/QuestionCircleIcon/QuestionCircleIcon16Regular';
304
304
  import { Input, Gapped, Tooltip } from '@skbkontur/react-ui';
305
305
 
306
306
  const [delay, setDelay] = React.useState(100);
@@ -315,7 +315,7 @@ const render = () => (
315
315
  <Gapped vertical>
316
316
  <Gapped>Show delay: <Input value={delay} onValueChange={setDelay} /></Gapped>
317
317
  <Tooltip render={render} delayBeforeShow={delay} pos="right top">
318
- <HelpDotIcon />
318
+ <QuestionCircleIcon16Regular />
319
319
  </Tooltip>
320
320
  </Gapped>
321
321
  </div>;
@@ -1,11 +1,29 @@
1
1
  import _taggedTemplateLiteralLoose from "@babel/runtime/helpers/esm/taggedTemplateLiteralLoose";
2
- var _templateObject, _templateObject2;
2
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8;
3
3
  import { css, memoizeStyle } from "../../../lib/theming/Emotion";
4
4
  export var styles = memoizeStyle({
5
- cross: function cross(t) {
6
- return css(_templateObject || (_templateObject = _taggedTemplateLiteralLoose(["\n color: ", ";\n cursor: pointer;\n height: ", ";\n line-height: 0;\n padding: ", ";\n position: absolute;\n right: 0;\n top: 0;\n width: ", ";\n box-sizing: content-box;\n\n &:hover {\n color: ", ";\n }\n "])), t.tooltipCloseBtnColor, t.tooltipCloseBtnSide, t.tooltipCloseBtnPadding, t.tooltipCloseBtnSide, t.tooltipCloseBtnHoverColor);
5
+ closeButton: function closeButton(t) {
6
+ return css(_templateObject || (_templateObject = _taggedTemplateLiteralLoose(["\n position: absolute;\n box-sizing: content-box;\n right: 0;\n top: 0;\n width: ", ";\n height: ", ";\n color: ", ";\n cursor: pointer;\n line-height: 0;\n\n &:hover {\n color: ", ";\n }\n "])), t.tooltipCloseBtnSide, t.tooltipCloseBtnSide, t.tooltipCloseBtnColor, t.tooltipCloseBtnHoverColor);
7
+ },
8
+ closeButtonSmall: function closeButtonSmall(t) {
9
+ return css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteralLoose(["\n padding: ", ";\n "])), t.tooltipCloseBtnPaddingSmall);
10
+ },
11
+ closeButtonMedium: function closeButtonMedium(t) {
12
+ return css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteralLoose(["\n padding: ", ";\n "])), t.tooltipCloseBtnPaddingMedium);
13
+ },
14
+ closeButtonLarge: function closeButtonLarge(t) {
15
+ return css(_templateObject4 || (_templateObject4 = _taggedTemplateLiteralLoose(["\n padding: ", ";\n "])), t.tooltipCloseBtnPaddingLarge);
7
16
  },
8
17
  tooltipContent: function tooltipContent(t) {
9
- return css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteralLoose(["\n color: ", ";\n padding: ", " ", ";\n position: relative;\n font-size: ", ";\n line-height: ", ";\n "])), t.tooltipTextColor, t.tooltipPaddingY, t.tooltipPaddingX, t.tooltipFontSize, t.tooltipLineHeight);
18
+ return css(_templateObject5 || (_templateObject5 = _taggedTemplateLiteralLoose(["\n position: relative;\n color: ", ";\n "])), t.tooltipTextColor);
19
+ },
20
+ tooltipContentSmall: function tooltipContentSmall(t) {
21
+ return css(_templateObject6 || (_templateObject6 = _taggedTemplateLiteralLoose(["\n padding: ", " ", ";\n font-size: ", ";\n line-height: ", ";\n "])), t.tooltipPaddingYSmall, t.tooltipPaddingXSmall, t.tooltipFontSizeSmall, t.tooltipLineHeightSmall);
22
+ },
23
+ tooltipContentMedium: function tooltipContentMedium(t) {
24
+ return css(_templateObject7 || (_templateObject7 = _taggedTemplateLiteralLoose(["\n padding: ", " ", ";\n font-size: ", ";\n line-height: ", ";\n "])), t.tooltipPaddingYMedium, t.tooltipPaddingXMedium, t.tooltipFontSizeMedium, t.tooltipLineHeightMedium);
25
+ },
26
+ tooltipContentLarge: function tooltipContentLarge(t) {
27
+ return css(_templateObject8 || (_templateObject8 = _taggedTemplateLiteralLoose(["\n padding: ", " ", ";\n font-size: ", ";\n line-height: ", ";\n "])), t.tooltipPaddingYLarge, t.tooltipPaddingXLarge, t.tooltipFontSizeLarge, t.tooltipLineHeightLarge);
10
28
  }
11
29
  });
@@ -1 +1 @@
1
- {"version":3,"names":["css","memoizeStyle","styles","cross","t","_templateObject","_taggedTemplateLiteralLoose","tooltipCloseBtnColor","tooltipCloseBtnSide","tooltipCloseBtnPadding","tooltipCloseBtnHoverColor","tooltipContent","_templateObject2","tooltipTextColor","tooltipPaddingY","tooltipPaddingX","tooltipFontSize","tooltipLineHeight"],"sources":["Tooltip.styles.ts"],"sourcesContent":["import { css, memoizeStyle } from '../../lib/theming/Emotion';\nimport type { Theme } from '../../lib/theming/Theme';\n\nexport const styles = memoizeStyle({\n cross(t: Theme) {\n return css`\n color: ${t.tooltipCloseBtnColor};\n cursor: pointer;\n height: ${t.tooltipCloseBtnSide};\n line-height: 0;\n padding: ${t.tooltipCloseBtnPadding};\n position: absolute;\n right: 0;\n top: 0;\n width: ${t.tooltipCloseBtnSide};\n box-sizing: content-box;\n\n &:hover {\n color: ${t.tooltipCloseBtnHoverColor};\n }\n `;\n },\n\n tooltipContent(t: Theme) {\n return css`\n color: ${t.tooltipTextColor};\n padding: ${t.tooltipPaddingY} ${t.tooltipPaddingX};\n position: relative;\n font-size: ${t.tooltipFontSize};\n line-height: ${t.tooltipLineHeight};\n `;\n },\n});\n"],"mappings":"sIAAA,SAASA,GAAG,EAAEC,YAAY,QAAQ,2BAA2B;;;AAG7D,OAAO,IAAMC,MAAM,GAAGD,YAAY,CAAC;EACjCE,KAAK,WAAAA,MAACC,CAAQ,EAAE;IACd,OAAOJ,GAAG,CAAAK,eAAA,KAAAA,eAAA,GAAAC,2BAAA;IACCF,CAAC,CAACG,oBAAoB;;IAErBH,CAAC,CAACI,mBAAmB;;IAEpBJ,CAAC,CAACK,sBAAsB;;;;IAI1BL,CAAC,CAACI,mBAAmB;;;;IAInBJ,CAAC,CAACM,yBAAyB;;;EAG1C,CAAC;;EAEDC,cAAc,WAAAA,eAACP,CAAQ,EAAE;IACvB,OAAOJ,GAAG,CAAAY,gBAAA,KAAAA,gBAAA,GAAAN,2BAAA;IACCF,CAAC,CAACS,gBAAgB;IAChBT,CAAC,CAACU,eAAe,EAAIV,CAAC,CAACW,eAAe;;IAEpCX,CAAC,CAACY,eAAe;IACfZ,CAAC,CAACa,iBAAiB;;EAEtC;AACF,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["css","memoizeStyle","styles","closeButton","t","_templateObject","_taggedTemplateLiteralLoose","tooltipCloseBtnSide","tooltipCloseBtnColor","tooltipCloseBtnHoverColor","closeButtonSmall","_templateObject2","tooltipCloseBtnPaddingSmall","closeButtonMedium","_templateObject3","tooltipCloseBtnPaddingMedium","closeButtonLarge","_templateObject4","tooltipCloseBtnPaddingLarge","tooltipContent","_templateObject5","tooltipTextColor","tooltipContentSmall","_templateObject6","tooltipPaddingYSmall","tooltipPaddingXSmall","tooltipFontSizeSmall","tooltipLineHeightSmall","tooltipContentMedium","_templateObject7","tooltipPaddingYMedium","tooltipPaddingXMedium","tooltipFontSizeMedium","tooltipLineHeightMedium","tooltipContentLarge","_templateObject8","tooltipPaddingYLarge","tooltipPaddingXLarge","tooltipFontSizeLarge","tooltipLineHeightLarge"],"sources":["Tooltip.styles.ts"],"sourcesContent":["import { css, memoizeStyle } from '../../lib/theming/Emotion';\nimport type { Theme } from '../../lib/theming/Theme';\n\nexport const styles = memoizeStyle({\n closeButton(t: Theme) {\n return css`\n position: absolute;\n box-sizing: content-box;\n right: 0;\n top: 0;\n width: ${t.tooltipCloseBtnSide};\n height: ${t.tooltipCloseBtnSide};\n color: ${t.tooltipCloseBtnColor};\n cursor: pointer;\n line-height: 0;\n\n &:hover {\n color: ${t.tooltipCloseBtnHoverColor};\n }\n `;\n },\n\n closeButtonSmall(t: Theme) {\n return css`\n padding: ${t.tooltipCloseBtnPaddingSmall};\n `;\n },\n\n closeButtonMedium(t: Theme) {\n return css`\n padding: ${t.tooltipCloseBtnPaddingMedium};\n `;\n },\n\n closeButtonLarge(t: Theme) {\n return css`\n padding: ${t.tooltipCloseBtnPaddingLarge};\n `;\n },\n\n tooltipContent(t: Theme) {\n return css`\n position: relative;\n color: ${t.tooltipTextColor};\n `;\n },\n\n tooltipContentSmall(t: Theme) {\n return css`\n padding: ${t.tooltipPaddingYSmall} ${t.tooltipPaddingXSmall};\n font-size: ${t.tooltipFontSizeSmall};\n line-height: ${t.tooltipLineHeightSmall};\n `;\n },\n\n tooltipContentMedium(t: Theme) {\n return css`\n padding: ${t.tooltipPaddingYMedium} ${t.tooltipPaddingXMedium};\n font-size: ${t.tooltipFontSizeMedium};\n line-height: ${t.tooltipLineHeightMedium};\n `;\n },\n\n tooltipContentLarge(t: Theme) {\n return css`\n padding: ${t.tooltipPaddingYLarge} ${t.tooltipPaddingXLarge};\n font-size: ${t.tooltipFontSizeLarge};\n line-height: ${t.tooltipLineHeightLarge};\n `;\n },\n});\n"],"mappings":"kPAAA,SAASA,GAAG,EAAEC,YAAY,QAAQ,2BAA2B;;;AAG7D,OAAO,IAAMC,MAAM,GAAGD,YAAY,CAAC;EACjCE,WAAW,WAAAA,YAACC,CAAQ,EAAE;IACpB,OAAOJ,GAAG,CAAAK,eAAA,KAAAA,eAAA,GAAAC,2BAAA;;;;;IAKCF,CAAC,CAACG,mBAAmB;IACpBH,CAAC,CAACG,mBAAmB;IACtBH,CAAC,CAACI,oBAAoB;;;;;IAKpBJ,CAAC,CAACK,yBAAyB;;;EAG1C,CAAC;;EAEDC,gBAAgB,WAAAA,iBAACN,CAAQ,EAAE;IACzB,OAAOJ,GAAG,CAAAW,gBAAA,KAAAA,gBAAA,GAAAL,2BAAA;IACGF,CAAC,CAACQ,2BAA2B;;EAE5C,CAAC;;EAEDC,iBAAiB,WAAAA,kBAACT,CAAQ,EAAE;IAC1B,OAAOJ,GAAG,CAAAc,gBAAA,KAAAA,gBAAA,GAAAR,2BAAA;IACGF,CAAC,CAACW,4BAA4B;;EAE7C,CAAC;;EAEDC,gBAAgB,WAAAA,iBAACZ,CAAQ,EAAE;IACzB,OAAOJ,GAAG,CAAAiB,gBAAA,KAAAA,gBAAA,GAAAX,2BAAA;IACGF,CAAC,CAACc,2BAA2B;;EAE5C,CAAC;;EAEDC,cAAc,WAAAA,eAACf,CAAQ,EAAE;IACvB,OAAOJ,GAAG,CAAAoB,gBAAA,KAAAA,gBAAA,GAAAd,2BAAA;;IAECF,CAAC,CAACiB,gBAAgB;;EAE/B,CAAC;;EAEDC,mBAAmB,WAAAA,oBAAClB,CAAQ,EAAE;IAC5B,OAAOJ,GAAG,CAAAuB,gBAAA,KAAAA,gBAAA,GAAAjB,2BAAA;IACGF,CAAC,CAACoB,oBAAoB,EAAIpB,CAAC,CAACqB,oBAAoB;IAC9CrB,CAAC,CAACsB,oBAAoB;IACpBtB,CAAC,CAACuB,sBAAsB;;EAE3C,CAAC;;EAEDC,oBAAoB,WAAAA,qBAACxB,CAAQ,EAAE;IAC7B,OAAOJ,GAAG,CAAA6B,gBAAA,KAAAA,gBAAA,GAAAvB,2BAAA;IACGF,CAAC,CAAC0B,qBAAqB,EAAI1B,CAAC,CAAC2B,qBAAqB;IAChD3B,CAAC,CAAC4B,qBAAqB;IACrB5B,CAAC,CAAC6B,uBAAuB;;EAE5C,CAAC;;EAEDC,mBAAmB,WAAAA,oBAAC9B,CAAQ,EAAE;IAC5B,OAAOJ,GAAG,CAAAmC,gBAAA,KAAAA,gBAAA,GAAA7B,2BAAA;IACGF,CAAC,CAACgC,oBAAoB,EAAIhC,CAAC,CAACiC,oBAAoB;IAC9CjC,CAAC,CAACkC,oBAAoB;IACpBlC,CAAC,CAACmC,sBAAsB;;EAE3C;AACF,CAAC,CAAC","ignoreList":[]}