@skbkontur/react-ui 0.0.0-dad43298ae → 0.0.0-db9f11da2a

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 (952) hide show
  1. package/CHANGELOG.md +280 -0
  2. package/README.md +7 -7
  3. package/cjs/components/Autocomplete/Autocomplete.d.ts +18 -26
  4. package/cjs/components/Autocomplete/Autocomplete.js +64 -46
  5. package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
  6. package/cjs/components/Button/Button.d.ts +4 -1
  7. package/cjs/components/Button/Button.js +47 -17
  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/Button/ButtonArrow.js +13 -14
  13. package/cjs/components/Button/ButtonArrow.js.map +1 -1
  14. package/cjs/components/Calendar/Calendar.d.ts +2 -0
  15. package/cjs/components/Calendar/Calendar.js +1 -0
  16. package/cjs/components/Calendar/Calendar.js.map +1 -1
  17. package/cjs/components/Calendar/CalendarDay.js +18 -2
  18. package/cjs/components/Calendar/CalendarDay.js.map +1 -1
  19. package/cjs/components/Calendar/DayCellView.js +7 -15
  20. package/cjs/components/Calendar/DayCellView.js.map +1 -1
  21. package/cjs/components/Center/Center.d.ts +2 -0
  22. package/cjs/components/Center/Center.js +1 -0
  23. package/cjs/components/Center/Center.js.map +1 -1
  24. package/cjs/components/Checkbox/Checkbox.d.ts +4 -16
  25. package/cjs/components/Checkbox/Checkbox.js +16 -32
  26. package/cjs/components/Checkbox/Checkbox.js.map +1 -1
  27. package/cjs/components/ComboBox/ComboBox.d.ts +22 -3
  28. package/cjs/components/ComboBox/ComboBox.js +26 -1
  29. package/cjs/components/ComboBox/ComboBox.js.map +1 -1
  30. package/cjs/components/CurrencyInput/CurrencyInput.d.ts +6 -24
  31. package/cjs/components/CurrencyInput/CurrencyInput.js +6 -25
  32. package/cjs/components/CurrencyInput/CurrencyInput.js.map +1 -1
  33. package/cjs/components/CurrencyInput/constants.js +1 -2
  34. package/cjs/components/CurrencyInput/constants.js.map +1 -1
  35. package/cjs/components/CurrencyLabel/CurrencyLabel.js +21 -28
  36. package/cjs/components/CurrencyLabel/CurrencyLabel.js.map +1 -1
  37. package/cjs/components/DateInput/DateInput.d.ts +6 -1
  38. package/cjs/components/DateInput/DateInput.js +45 -17
  39. package/cjs/components/DateInput/DateInput.js.map +1 -1
  40. package/cjs/components/DateInput/helpers/InternalDateMediator.d.ts +1 -1
  41. package/cjs/components/DateInput/helpers/InternalDateMediator.js +10 -1
  42. package/cjs/components/DateInput/helpers/InternalDateMediator.js.map +1 -1
  43. package/cjs/components/DatePicker/DatePicker.d.ts +6 -33
  44. package/cjs/components/DatePicker/DatePicker.js +6 -60
  45. package/cjs/components/DatePicker/DatePicker.js.map +1 -1
  46. package/cjs/components/DateRangePicker/DateRangePicker.d.ts +3 -1
  47. package/cjs/components/DateRangePicker/DateRangePicker.js +61 -23
  48. package/cjs/components/DateRangePicker/DateRangePicker.js.map +1 -1
  49. package/cjs/components/DateRangePicker/DateRangePicker.styles.d.ts +0 -1
  50. package/cjs/components/DateRangePicker/DateRangePicker.styles.js +13 -18
  51. package/cjs/components/DateRangePicker/DateRangePicker.styles.js.map +1 -1
  52. package/cjs/components/DateRangePicker/DateRangePickerInput.js +4 -8
  53. package/cjs/components/DateRangePicker/DateRangePickerInput.js.map +1 -1
  54. package/cjs/components/DateRangePicker/helpers/validateDateRangePicker.js +17 -17
  55. package/cjs/components/DateRangePicker/helpers/validateDateRangePicker.js.map +1 -1
  56. package/cjs/components/Dropdown/Dropdown.d.ts +2 -47
  57. package/cjs/components/Dropdown/Dropdown.js +2 -82
  58. package/cjs/components/Dropdown/Dropdown.js.map +1 -1
  59. package/cjs/components/DropdownMenu/DropdownMenu.d.ts +4 -2
  60. package/cjs/components/DropdownMenu/DropdownMenu.js +1 -0
  61. package/cjs/components/DropdownMenu/DropdownMenu.js.map +1 -1
  62. package/cjs/components/FileUploader/FileUploader.js +15 -2
  63. package/cjs/components/FileUploader/FileUploader.js.map +1 -1
  64. package/cjs/components/FxInput/FxInput.d.ts +13 -8
  65. package/cjs/components/FxInput/FxInput.js +137 -60
  66. package/cjs/components/FxInput/FxInput.js.map +1 -1
  67. package/cjs/components/FxInput/FxInputRestoreBtn.js +2 -3
  68. package/cjs/components/FxInput/FxInputRestoreBtn.js.map +1 -1
  69. package/cjs/components/Gapped/Gapped.d.ts +2 -15
  70. package/cjs/components/Gapped/Gapped.js +1 -24
  71. package/cjs/components/Gapped/Gapped.js.map +1 -1
  72. package/cjs/components/GlobalLoader/GlobalLoader.d.ts +2 -0
  73. package/cjs/components/GlobalLoader/GlobalLoader.js +1 -0
  74. package/cjs/components/GlobalLoader/GlobalLoader.js.map +1 -1
  75. package/cjs/components/Group/Group.d.ts +5 -4
  76. package/cjs/components/Group/Group.js +91 -40
  77. package/cjs/components/Group/Group.js.map +1 -1
  78. package/cjs/components/Group/Group.styles.d.ts +1 -0
  79. package/cjs/components/Group/Group.styles.js +12 -6
  80. package/cjs/components/Group/Group.styles.js.map +1 -1
  81. package/cjs/components/Hint/Hint.d.ts +2 -0
  82. package/cjs/components/Hint/Hint.js +1 -0
  83. package/cjs/components/Hint/Hint.js.map +1 -1
  84. package/cjs/components/Input/Input.d.ts +6 -5
  85. package/cjs/components/Input/Input.js +17 -47
  86. package/cjs/components/Input/Input.js.map +1 -1
  87. package/cjs/components/Input/Input.styles.d.ts +0 -1
  88. package/cjs/components/Input/Input.styles.js +8 -19
  89. package/cjs/components/Input/Input.styles.js.map +1 -1
  90. package/cjs/components/Input/InputLayout/InputLayout.d.ts +1 -0
  91. package/cjs/components/Input/InputLayout/InputLayout.js +4 -2
  92. package/cjs/components/Input/InputLayout/InputLayout.js.map +1 -1
  93. package/cjs/components/Kebab/Kebab.d.ts +4 -2
  94. package/cjs/components/Kebab/Kebab.js +9 -29
  95. package/cjs/components/Kebab/Kebab.js.map +1 -1
  96. package/cjs/components/Link/Link.d.ts +2 -0
  97. package/cjs/components/Link/Link.js +15 -1
  98. package/cjs/components/Link/Link.js.map +1 -1
  99. package/cjs/components/Link/Link.mixins.js +1 -2
  100. package/cjs/components/Link/Link.mixins.js.map +1 -1
  101. package/cjs/components/Link/Link.styles.js +3 -2
  102. package/cjs/components/Link/Link.styles.js.map +1 -1
  103. package/cjs/components/Loader/Loader.d.ts +7 -36
  104. package/cjs/components/Loader/Loader.js +6 -56
  105. package/cjs/components/Loader/Loader.js.map +1 -1
  106. package/cjs/components/MaskedInput/ColorableInputElement/ColorableInputElement.d.ts +1 -0
  107. package/cjs/components/MaskedInput/ColorableInputElement/ColorableInputElement.js +107 -78
  108. package/cjs/components/MaskedInput/ColorableInputElement/ColorableInputElement.js.map +1 -1
  109. package/cjs/components/MaskedInput/FixedIMaskInput.js +3 -2
  110. package/cjs/components/MaskedInput/FixedIMaskInput.js.map +1 -1
  111. package/cjs/components/MaskedInput/MaskedInput.d.ts +9 -0
  112. package/cjs/components/MaskedInput/MaskedInput.js +43 -4
  113. package/cjs/components/MaskedInput/MaskedInput.js.map +1 -1
  114. package/cjs/components/MenuItem/MenuItem.d.ts +2 -12
  115. package/cjs/components/MenuItem/MenuItem.js +2 -22
  116. package/cjs/components/MenuItem/MenuItem.js.map +1 -1
  117. package/cjs/components/MiniModal/MiniModal.styles.d.ts +1 -0
  118. package/cjs/components/MiniModal/MiniModal.styles.js +14 -7
  119. package/cjs/components/MiniModal/MiniModal.styles.js.map +1 -1
  120. package/cjs/components/MiniModal/MiniModalBody.js +17 -2
  121. package/cjs/components/MiniModal/MiniModalBody.js.map +1 -1
  122. package/cjs/components/Modal/Modal.styles.d.ts +2 -1
  123. package/cjs/components/Modal/Modal.styles.js +40 -32
  124. package/cjs/components/Modal/Modal.styles.js.map +1 -1
  125. package/cjs/components/Modal/ModalBody.d.ts +2 -0
  126. package/cjs/components/Modal/ModalBody.js +1 -0
  127. package/cjs/components/Modal/ModalBody.js.map +1 -1
  128. package/cjs/components/Modal/ModalHeader.d.ts +5 -0
  129. package/cjs/components/Modal/ModalHeader.js +8 -1
  130. package/cjs/components/Modal/ModalHeader.js.map +1 -1
  131. package/cjs/components/Modal/ModalSeparator.js +1 -1
  132. package/cjs/components/Modal/ModalSeparator.js.map +1 -1
  133. package/cjs/components/Paging/DotsIcon.d.ts +3 -0
  134. package/cjs/components/Paging/DotsIcon.js +13 -0
  135. package/cjs/components/Paging/DotsIcon.js.map +1 -0
  136. package/cjs/components/Paging/ForwardIcon.d.ts +3 -0
  137. package/cjs/components/Paging/ForwardIcon.js +13 -1
  138. package/cjs/components/Paging/ForwardIcon.js.map +1 -1
  139. package/cjs/components/Paging/NavigationHelper.d.ts +3 -2
  140. package/cjs/components/Paging/NavigationHelper.js +8 -6
  141. package/cjs/components/Paging/NavigationHelper.js.map +1 -1
  142. package/cjs/components/Paging/Paging.d.ts +13 -2
  143. package/cjs/components/Paging/Paging.js +120 -50
  144. package/cjs/components/Paging/Paging.js.map +1 -1
  145. package/cjs/components/Paging/Paging.styles.d.ts +24 -1
  146. package/cjs/components/Paging/Paging.styles.js +151 -22
  147. package/cjs/components/Paging/Paging.styles.js.map +1 -1
  148. package/cjs/components/Paging/PagingHelper.d.ts +1 -1
  149. package/cjs/components/Paging/PagingHelper.js +18 -11
  150. package/cjs/components/Paging/PagingHelper.js.map +1 -1
  151. package/cjs/components/PasswordInput/PasswordInput.d.ts +5 -12
  152. package/cjs/components/PasswordInput/PasswordInput.js +21 -32
  153. package/cjs/components/PasswordInput/PasswordInput.js.map +1 -1
  154. package/cjs/components/Radio/Radio.d.ts +4 -1
  155. package/cjs/components/Radio/Radio.js +7 -4
  156. package/cjs/components/Radio/Radio.js.map +1 -1
  157. package/cjs/components/RadioGroup/RadioGroup.d.ts +3 -0
  158. package/cjs/components/RadioGroup/RadioGroup.js +19 -1
  159. package/cjs/components/RadioGroup/RadioGroup.js.map +1 -1
  160. package/cjs/components/RadioGroup/RadioGroup.styles.d.ts +1 -0
  161. package/cjs/components/RadioGroup/RadioGroup.styles.js +10 -4
  162. package/cjs/components/RadioGroup/RadioGroup.styles.js.map +1 -1
  163. package/cjs/components/ScrollContainer/ScrollContainer.d.ts +2 -9
  164. package/cjs/components/ScrollContainer/ScrollContainer.js +2 -11
  165. package/cjs/components/ScrollContainer/ScrollContainer.js.map +1 -1
  166. package/cjs/components/Select/Select.d.ts +7 -1
  167. package/cjs/components/Select/Select.js +13 -6
  168. package/cjs/components/Select/Select.js.map +1 -1
  169. package/cjs/components/SidePage/SidePage.js +4 -2
  170. package/cjs/components/SidePage/SidePage.js.map +1 -1
  171. package/cjs/components/SidePage/SidePage.styles.d.ts +3 -1
  172. package/cjs/components/SidePage/SidePage.styles.js +52 -38
  173. package/cjs/components/SidePage/SidePage.styles.js.map +1 -1
  174. package/cjs/components/SidePage/SidePageBody.d.ts +2 -0
  175. package/cjs/components/SidePage/SidePageBody.js +1 -0
  176. package/cjs/components/SidePage/SidePageBody.js.map +1 -1
  177. package/cjs/components/SidePage/SidePageContainer.d.ts +2 -0
  178. package/cjs/components/SidePage/SidePageContainer.js +1 -0
  179. package/cjs/components/SidePage/SidePageContainer.js.map +1 -1
  180. package/cjs/components/SidePage/SidePageFooter.d.ts +2 -0
  181. package/cjs/components/SidePage/SidePageFooter.js +1 -0
  182. package/cjs/components/SidePage/SidePageFooter.js.map +1 -1
  183. package/cjs/components/SidePage/SidePageHeader.d.ts +12 -2
  184. package/cjs/components/SidePage/SidePageHeader.js +63 -19
  185. package/cjs/components/SidePage/SidePageHeader.js.map +1 -1
  186. package/cjs/components/SingleToast/SingleToast.d.ts +33 -3
  187. package/cjs/components/SingleToast/SingleToast.js +58 -3
  188. package/cjs/components/SingleToast/SingleToast.js.map +1 -1
  189. package/cjs/components/Spinner/Spinner.d.ts +2 -18
  190. package/cjs/components/Spinner/Spinner.js +2 -32
  191. package/cjs/components/Spinner/Spinner.js.map +1 -1
  192. package/cjs/components/Sticky/Sticky.d.ts +5 -13
  193. package/cjs/components/Sticky/Sticky.js +12 -18
  194. package/cjs/components/Sticky/Sticky.js.map +1 -1
  195. package/cjs/components/Switcher/Switcher.d.ts +6 -21
  196. package/cjs/components/Switcher/Switcher.js +11 -20
  197. package/cjs/components/Switcher/Switcher.js.map +1 -1
  198. package/cjs/components/Switcher/Switcher.styles.d.ts +1 -0
  199. package/cjs/components/Switcher/Switcher.styles.js +17 -9
  200. package/cjs/components/Switcher/Switcher.styles.js.map +1 -1
  201. package/cjs/components/Tabs/Indicator.d.ts +2 -0
  202. package/cjs/components/Tabs/Indicator.js +1 -0
  203. package/cjs/components/Tabs/Indicator.js.map +1 -1
  204. package/cjs/components/Tabs/Tab.d.ts +2 -0
  205. package/cjs/components/Tabs/Tab.js +1 -0
  206. package/cjs/components/Tabs/Tab.js.map +1 -1
  207. package/cjs/components/Tabs/Tabs.d.ts +2 -0
  208. package/cjs/components/Tabs/Tabs.js +1 -0
  209. package/cjs/components/Tabs/Tabs.js.map +1 -1
  210. package/cjs/components/Textarea/Textarea.d.ts +10 -46
  211. package/cjs/components/Textarea/Textarea.js +23 -60
  212. package/cjs/components/Textarea/Textarea.js.map +1 -1
  213. package/cjs/components/Textarea/Textarea.styles.js +3 -2
  214. package/cjs/components/Textarea/Textarea.styles.js.map +1 -1
  215. package/cjs/components/Textarea/TextareaCounter.js +2 -13
  216. package/cjs/components/Textarea/TextareaCounter.js.map +1 -1
  217. package/cjs/components/Toast/Toast.d.ts +62 -13
  218. package/cjs/components/Toast/Toast.js +119 -12
  219. package/cjs/components/Toast/Toast.js.map +1 -1
  220. package/cjs/components/Toast/ToastStatic.d.ts +3 -2
  221. package/cjs/components/Toast/ToastStatic.js.map +1 -1
  222. package/cjs/components/Toast/ToastView.d.ts +8 -16
  223. package/cjs/components/Toast/ToastView.js +19 -22
  224. package/cjs/components/Toast/ToastView.js.map +1 -1
  225. package/cjs/components/Toast/ToastView.styles.d.ts +4 -0
  226. package/cjs/components/Toast/ToastView.styles.js +43 -9
  227. package/cjs/components/Toast/ToastView.styles.js.map +1 -1
  228. package/cjs/components/Toggle/Toggle.d.ts +4 -11
  229. package/cjs/components/Toggle/Toggle.js +4 -14
  230. package/cjs/components/Toggle/Toggle.js.map +1 -1
  231. package/cjs/components/Token/Token.d.ts +2 -0
  232. package/cjs/components/Token/Token.js +1 -0
  233. package/cjs/components/Token/Token.js.map +1 -1
  234. package/cjs/components/TokenInput/TokenInput.d.ts +8 -3
  235. package/cjs/components/TokenInput/TokenInput.js +44 -30
  236. package/cjs/components/TokenInput/TokenInput.js.map +1 -1
  237. package/cjs/components/TokenInput/TokenInputMenu.d.ts +12 -3
  238. package/cjs/components/TokenInput/TokenInputMenu.js +23 -1
  239. package/cjs/components/TokenInput/TokenInputMenu.js.map +1 -1
  240. package/cjs/components/Tooltip/Tooltip.d.ts +14 -8
  241. package/cjs/components/Tooltip/Tooltip.js +102 -17
  242. package/cjs/components/Tooltip/Tooltip.js.map +1 -1
  243. package/cjs/components/Tooltip/Tooltip.styles.d.ts +7 -1
  244. package/cjs/components/Tooltip/Tooltip.styles.js +50 -12
  245. package/cjs/components/Tooltip/Tooltip.styles.js.map +1 -1
  246. package/cjs/components/TooltipMenu/TooltipMenu.d.ts +4 -2
  247. package/cjs/components/TooltipMenu/TooltipMenu.js +1 -0
  248. package/cjs/components/TooltipMenu/TooltipMenu.js.map +1 -1
  249. package/cjs/index.d.ts +2 -0
  250. package/cjs/index.js +1 -0
  251. package/cjs/index.js.map +1 -1
  252. package/cjs/internal/ClearCrossIcon/ClearCrossIcon.d.ts +1 -0
  253. package/cjs/internal/ClearCrossIcon/ClearCrossIcon.js +16 -7
  254. package/cjs/internal/ClearCrossIcon/ClearCrossIcon.js.map +1 -1
  255. package/cjs/internal/ClearCrossIcon/ClearCrossIcon.styles.d.ts +3 -0
  256. package/cjs/internal/ClearCrossIcon/ClearCrossIcon.styles.js +27 -9
  257. package/cjs/internal/ClearCrossIcon/ClearCrossIcon.styles.js.map +1 -1
  258. package/cjs/internal/CommonWrapper/CommonWrapper.d.ts +2 -0
  259. package/cjs/internal/CommonWrapper/CommonWrapper.js +1 -0
  260. package/cjs/internal/CommonWrapper/CommonWrapper.js.map +1 -1
  261. package/cjs/internal/ComponentTable.js +2 -3
  262. package/cjs/internal/ComponentTable.js.map +1 -1
  263. package/cjs/internal/CustomComboBox/ComboBoxView.d.ts +12 -4
  264. package/cjs/internal/CustomComboBox/ComboBoxView.js +50 -7
  265. package/cjs/internal/CustomComboBox/ComboBoxView.js.map +1 -1
  266. package/cjs/internal/CustomComboBox/CustomComboBox.d.ts +11 -4
  267. package/cjs/internal/CustomComboBox/CustomComboBox.js +20 -5
  268. package/cjs/internal/CustomComboBox/CustomComboBox.js.map +1 -1
  269. package/cjs/internal/CustomComboBox/getComboBoxTheme.d.ts +2 -1
  270. package/cjs/internal/CustomComboBox/getComboBoxTheme.js +10 -7
  271. package/cjs/internal/CustomComboBox/getComboBoxTheme.js.map +1 -1
  272. package/cjs/internal/DateSelect/DateSelect.d.ts +0 -10
  273. package/cjs/internal/DateSelect/DateSelect.js +13 -19
  274. package/cjs/internal/DateSelect/DateSelect.js.map +1 -1
  275. package/cjs/internal/FocusTrap/FocusTrap.d.ts +2 -0
  276. package/cjs/internal/FocusTrap/FocusTrap.js +1 -0
  277. package/cjs/internal/FocusTrap/FocusTrap.js.map +1 -1
  278. package/cjs/internal/IgnoreLayerClick/IgnoreLayerClick.js +1 -0
  279. package/cjs/internal/IgnoreLayerClick/IgnoreLayerClick.js.map +1 -1
  280. package/cjs/internal/InputLikeText/InputLikeText.d.ts +4 -3
  281. package/cjs/internal/InputLikeText/InputLikeText.js +13 -14
  282. package/cjs/internal/InputLikeText/InputLikeText.js.map +1 -1
  283. package/cjs/internal/InputLikeText/InputLikeText.styles.d.ts +1 -0
  284. package/cjs/internal/InputLikeText/InputLikeText.styles.js +12 -4
  285. package/cjs/internal/InputLikeText/InputLikeText.styles.js.map +1 -1
  286. package/cjs/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.d.ts +37 -0
  287. package/cjs/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.js +235 -0
  288. package/cjs/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.js.map +1 -0
  289. package/cjs/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles.d.ts +3 -0
  290. package/cjs/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles.js +10 -0
  291. package/cjs/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles.js.map +1 -0
  292. package/cjs/internal/Menu/Menu.d.ts +2 -0
  293. package/cjs/internal/Menu/Menu.js +1 -0
  294. package/cjs/internal/Menu/Menu.js.map +1 -1
  295. package/cjs/internal/MobilePopup/MobilePopup.d.ts +2 -0
  296. package/cjs/internal/MobilePopup/MobilePopup.js +1 -0
  297. package/cjs/internal/MobilePopup/MobilePopup.js.map +1 -1
  298. package/cjs/internal/Popup/Popup.d.ts +43 -60
  299. package/cjs/internal/Popup/Popup.js +41 -81
  300. package/cjs/internal/Popup/Popup.js.map +1 -1
  301. package/cjs/internal/Popup/PopupPin.d.ts +23 -33
  302. package/cjs/internal/Popup/PopupPin.js +2 -35
  303. package/cjs/internal/Popup/PopupPin.js.map +1 -1
  304. package/cjs/internal/Popup/PopupPinNew.d.ts +31 -0
  305. package/cjs/internal/Popup/PopupPinNew.js +180 -0
  306. package/cjs/internal/Popup/PopupPinNew.js.map +1 -0
  307. package/cjs/internal/Popup/PopupPinNew.styles.d.ts +7 -0
  308. package/cjs/internal/Popup/PopupPinNew.styles.js +33 -0
  309. package/cjs/internal/Popup/PopupPinNew.styles.js.map +1 -0
  310. package/cjs/internal/PopupMenu/PopupMenu.d.ts +2 -0
  311. package/cjs/internal/PopupMenu/PopupMenu.js +1 -0
  312. package/cjs/internal/PopupMenu/PopupMenu.js.map +1 -1
  313. package/cjs/internal/RenderContainer/RenderInnerContainer.d.ts +0 -6
  314. package/cjs/internal/RenderContainer/RenderInnerContainer.js +0 -9
  315. package/cjs/internal/RenderContainer/RenderInnerContainer.js.map +1 -1
  316. package/cjs/internal/RenderLayer/RenderLayer.d.ts +2 -3
  317. package/cjs/internal/RenderLayer/RenderLayer.js +3 -12
  318. package/cjs/internal/RenderLayer/RenderLayer.js.map +1 -1
  319. package/cjs/internal/ThemePlayground/Playground.js +20 -16
  320. package/cjs/internal/ThemePlayground/Playground.js.map +1 -1
  321. package/cjs/internal/ThemePlayground/Playground.styles.js +5 -8
  322. package/cjs/internal/ThemePlayground/Playground.styles.js.map +1 -1
  323. package/cjs/internal/ThemePlayground/ShowcaseGroup.js +12 -1
  324. package/cjs/internal/ThemePlayground/ShowcaseGroup.js.map +1 -1
  325. package/cjs/internal/ThemePlayground/SizesGroup.js +4 -4
  326. package/cjs/internal/ThemePlayground/SizesGroup.js.map +1 -1
  327. package/cjs/internal/ThemePlayground/ThemeContextPlayground.js +1 -1
  328. package/cjs/internal/ThemePlayground/ThemeContextPlayground.js.map +1 -1
  329. package/cjs/internal/ThemePlayground/VariableValue.js +4 -4
  330. package/cjs/internal/ThemePlayground/VariableValue.js.map +1 -1
  331. package/cjs/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  332. package/cjs/internal/ZIndex/ZIndex.d.ts +3 -3
  333. package/cjs/internal/ZIndex/ZIndex.js +5 -1
  334. package/cjs/internal/ZIndex/ZIndex.js.map +1 -1
  335. package/cjs/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular.d.ts +2 -0
  336. package/cjs/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular.js +16 -0
  337. package/cjs/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular.js.map +1 -0
  338. package/cjs/internal/themes/BasicTheme.d.ts +125 -20
  339. package/cjs/internal/themes/BasicTheme.js +172 -25
  340. package/cjs/internal/themes/BasicTheme.js.map +1 -1
  341. package/cjs/internal/themes/DarkTheme5_2.js +1 -1
  342. package/cjs/internal/themes/DarkTheme5_2.js.map +1 -1
  343. package/cjs/internal/themes/DarkTheme5_3.d.ts +1 -0
  344. package/cjs/internal/themes/DarkTheme5_3.js +13 -0
  345. package/cjs/internal/themes/DarkTheme5_3.js.map +1 -0
  346. package/cjs/internal/themes/DarkTheme5_4.d.ts +1 -0
  347. package/cjs/internal/themes/DarkTheme5_4.js +18 -0
  348. package/cjs/internal/themes/DarkTheme5_4.js.map +1 -0
  349. package/cjs/internal/themes/LightTheme5_3.d.ts +1 -0
  350. package/cjs/internal/themes/LightTheme5_3.js +13 -0
  351. package/cjs/internal/themes/LightTheme5_3.js.map +1 -0
  352. package/cjs/internal/themes/LightTheme5_4.d.ts +1 -0
  353. package/cjs/internal/themes/LightTheme5_4.js +18 -0
  354. package/cjs/internal/themes/LightTheme5_4.js.map +1 -0
  355. package/cjs/internal/themes/consts.d.ts +8 -0
  356. package/cjs/internal/themes/consts.js +8 -0
  357. package/cjs/internal/themes/consts.js.map +1 -0
  358. package/cjs/lib/__stories__/Blink.creevey.mts +90 -0
  359. package/cjs/lib/blink.d.ts +15 -0
  360. package/cjs/lib/blink.js +65 -0
  361. package/cjs/lib/blink.js.map +1 -0
  362. package/cjs/lib/date/InternalDateGetter.d.ts +1 -1
  363. package/cjs/lib/date/InternalDateGetter.js +8 -1
  364. package/cjs/lib/date/InternalDateGetter.js.map +1 -1
  365. package/cjs/lib/delay.mts +3 -0
  366. package/cjs/lib/featureFlagsContext/FeatureFlagsHelpers.d.ts +11 -0
  367. package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.d.ts +11 -0
  368. package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.js +23 -1
  369. package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.js.map +1 -1
  370. package/cjs/lib/forwardRefAndName.d.ts +1 -1
  371. package/cjs/lib/forwardRefAndName.js +0 -1
  372. package/cjs/lib/forwardRefAndName.js.map +1 -1
  373. package/cjs/lib/getMenuPositions.d.ts +21 -1
  374. package/cjs/lib/getMenuPositions.js +45 -8
  375. package/cjs/lib/getMenuPositions.js.map +1 -1
  376. package/cjs/lib/rootNode/rootNodeDecorator.d.ts +2 -1
  377. package/cjs/lib/rootNode/rootNodeDecorator.js +1 -0
  378. package/cjs/lib/rootNode/rootNodeDecorator.js.map +1 -1
  379. package/cjs/lib/size/SizeControlContext.d.ts +6 -0
  380. package/cjs/lib/size/SizeControlContext.js +16 -0
  381. package/cjs/lib/size/SizeControlContext.js.map +1 -0
  382. package/cjs/lib/size/SizeDecorator.d.ts +33 -0
  383. package/cjs/lib/size/SizeDecorator.js +41 -0
  384. package/cjs/lib/size/SizeDecorator.js.map +1 -0
  385. package/cjs/lib/size/constants.d.ts +2 -0
  386. package/cjs/lib/size/constants.js +3 -0
  387. package/cjs/lib/size/constants.js.map +1 -0
  388. package/cjs/lib/size/index.d.ts +1 -0
  389. package/cjs/lib/size/index.js +1 -0
  390. package/cjs/lib/size/index.js.map +1 -0
  391. package/cjs/lib/size/useSizeControl.d.ts +2 -0
  392. package/cjs/lib/size/useSizeControl.js +10 -0
  393. package/cjs/lib/size/useSizeControl.js.map +1 -0
  394. package/cjs/lib/theming/ThemeHelpers.d.ts +1 -1
  395. package/cjs/lib/theming/ThemeHelpers.js.map +1 -1
  396. package/cjs/lib/theming/ThemeVersions.d.ts +1 -1
  397. package/cjs/lib/theming/ThemeVersions.js.map +1 -1
  398. package/cjs/lib/theming/themes/DarkTheme.d.ts +2 -0
  399. package/cjs/lib/theming/themes/DarkTheme.js +6 -2
  400. package/cjs/lib/theming/themes/DarkTheme.js.map +1 -1
  401. package/cjs/lib/theming/themes/LightTheme.d.ts +2 -0
  402. package/cjs/lib/theming/themes/LightTheme.js +6 -2
  403. package/cjs/lib/theming/themes/LightTheme.js.map +1 -1
  404. package/cjs/lib/utils.d.ts +18 -1
  405. package/cjs/lib/utils.js +40 -4
  406. package/cjs/lib/utils.js.map +1 -1
  407. package/cjs/test-setup.d.ts +1 -0
  408. package/cjs/vitest.config.d.ts +2 -0
  409. package/components/Autocomplete/Autocomplete/Autocomplete.js +63 -51
  410. package/components/Autocomplete/Autocomplete/Autocomplete.js.map +1 -1
  411. package/components/Autocomplete/Autocomplete.d.ts +18 -26
  412. package/components/Button/Button/Button.js +45 -24
  413. package/components/Button/Button/Button.js.map +1 -1
  414. package/components/Button/Button.d.ts +4 -1
  415. package/components/Button/Button.styles/Button.styles.js +79 -61
  416. package/components/Button/Button.styles/Button.styles.js.map +1 -1
  417. package/components/Button/Button.styles.d.ts +6 -0
  418. package/components/Button/ButtonArrow/ButtonArrow.js +1 -3
  419. package/components/Button/ButtonArrow/ButtonArrow.js.map +1 -1
  420. package/components/Calendar/Calendar/Calendar.js.map +1 -1
  421. package/components/Calendar/Calendar.d.ts +2 -0
  422. package/components/Calendar/CalendarDay/CalendarDay.js +9 -2
  423. package/components/Calendar/CalendarDay/CalendarDay.js.map +1 -1
  424. package/components/Calendar/DayCellView/DayCellView.js +6 -10
  425. package/components/Calendar/DayCellView/DayCellView.js.map +1 -1
  426. package/components/Center/Center/Center.js.map +1 -1
  427. package/components/Center/Center.d.ts +2 -0
  428. package/components/Checkbox/Checkbox/Checkbox.js +12 -24
  429. package/components/Checkbox/Checkbox/Checkbox.js.map +1 -1
  430. package/components/Checkbox/Checkbox.d.ts +4 -16
  431. package/components/ComboBox/ComboBox/ComboBox.js +2 -1
  432. package/components/ComboBox/ComboBox/ComboBox.js.map +1 -1
  433. package/components/ComboBox/ComboBox.d.ts +22 -3
  434. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js +13 -36
  435. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js.map +1 -1
  436. package/components/CurrencyInput/CurrencyInput.d.ts +6 -24
  437. package/components/CurrencyInput/constants/constants.js +0 -1
  438. package/components/CurrencyInput/constants/constants.js.map +1 -1
  439. package/components/CurrencyLabel/CurrencyLabel/CurrencyLabel.js +10 -22
  440. package/components/CurrencyLabel/CurrencyLabel/CurrencyLabel.js.map +1 -1
  441. package/components/DateInput/DateInput/DateInput.js +34 -24
  442. package/components/DateInput/DateInput/DateInput.js.map +1 -1
  443. package/components/DateInput/DateInput.d.ts +6 -1
  444. package/components/DateInput/helpers/InternalDateMediator/InternalDateMediator.js +2 -2
  445. package/components/DateInput/helpers/InternalDateMediator/InternalDateMediator.js.map +1 -1
  446. package/components/DateInput/helpers/InternalDateMediator.d.ts +1 -1
  447. package/components/DatePicker/DatePicker/DatePicker.js +1 -32
  448. package/components/DatePicker/DatePicker/DatePicker.js.map +1 -1
  449. package/components/DatePicker/DatePicker.d.ts +6 -33
  450. package/components/DateRangePicker/DateRangePicker/DateRangePicker.js +41 -22
  451. package/components/DateRangePicker/DateRangePicker/DateRangePicker.js.map +1 -1
  452. package/components/DateRangePicker/DateRangePicker.d.ts +3 -1
  453. package/components/DateRangePicker/DateRangePicker.styles/DateRangePicker.styles.js +12 -15
  454. package/components/DateRangePicker/DateRangePicker.styles/DateRangePicker.styles.js.map +1 -1
  455. package/components/DateRangePicker/DateRangePicker.styles.d.ts +0 -1
  456. package/components/DateRangePicker/DateRangePickerInput/DateRangePickerInput.js +5 -8
  457. package/components/DateRangePicker/DateRangePickerInput/DateRangePickerInput.js.map +1 -1
  458. package/components/DateRangePicker/helpers/validateDateRangePicker/validateDateRangePicker.js +16 -15
  459. package/components/DateRangePicker/helpers/validateDateRangePicker/validateDateRangePicker.js.map +1 -1
  460. package/components/Dropdown/Dropdown/Dropdown.js +1 -47
  461. package/components/Dropdown/Dropdown/Dropdown.js.map +1 -1
  462. package/components/Dropdown/Dropdown.d.ts +2 -47
  463. package/components/DropdownMenu/DropdownMenu/DropdownMenu.js.map +1 -1
  464. package/components/DropdownMenu/DropdownMenu.d.ts +4 -2
  465. package/components/FileUploader/FileUploader/FileUploader.js +8 -2
  466. package/components/FileUploader/FileUploader/FileUploader.js.map +1 -1
  467. package/components/FxInput/FxInput/FxInput.js +122 -70
  468. package/components/FxInput/FxInput/FxInput.js.map +1 -1
  469. package/components/FxInput/FxInput.d.ts +13 -8
  470. package/components/FxInput/FxInputRestoreBtn/FxInputRestoreBtn.js +2 -2
  471. package/components/FxInput/FxInputRestoreBtn/FxInputRestoreBtn.js.map +1 -1
  472. package/components/Gapped/Gapped/Gapped.js +1 -15
  473. package/components/Gapped/Gapped/Gapped.js.map +1 -1
  474. package/components/Gapped/Gapped.d.ts +2 -15
  475. package/components/GlobalLoader/GlobalLoader/GlobalLoader.js.map +1 -1
  476. package/components/GlobalLoader/GlobalLoader.d.ts +2 -0
  477. package/components/Group/Group/Group.js +64 -28
  478. package/components/Group/Group/Group.js.map +1 -1
  479. package/components/Group/Group.d.ts +5 -4
  480. package/components/Group/Group.styles/Group.styles.js +9 -6
  481. package/components/Group/Group.styles/Group.styles.js.map +1 -1
  482. package/components/Group/Group.styles.d.ts +1 -0
  483. package/components/Hint/Hint/Hint.js.map +1 -1
  484. package/components/Hint/Hint.d.ts +2 -0
  485. package/components/Input/Input/Input.js +23 -52
  486. package/components/Input/Input/Input.js.map +1 -1
  487. package/components/Input/Input.d.ts +6 -5
  488. package/components/Input/Input.styles/Input.styles.js +9 -13
  489. package/components/Input/Input.styles/Input.styles.js.map +1 -1
  490. package/components/Input/Input.styles.d.ts +0 -1
  491. package/components/Input/InputLayout/InputLayout/InputLayout.js +5 -2
  492. package/components/Input/InputLayout/InputLayout/InputLayout.js.map +1 -1
  493. package/components/Input/InputLayout/InputLayout.d.ts +1 -0
  494. package/components/Kebab/Kebab/Kebab.js +8 -26
  495. package/components/Kebab/Kebab/Kebab.js.map +1 -1
  496. package/components/Kebab/Kebab.d.ts +4 -2
  497. package/components/Link/Link/Link.js +8 -1
  498. package/components/Link/Link/Link.js.map +1 -1
  499. package/components/Link/Link.d.ts +2 -0
  500. package/components/Link/Link.mixins/Link.mixins.js +1 -1
  501. package/components/Link/Link.mixins/Link.mixins.js.map +1 -1
  502. package/components/Link/Link.styles/Link.styles.js +1 -1
  503. package/components/Link/Link.styles/Link.styles.js.map +1 -1
  504. package/components/Loader/Loader/Loader.js +2 -34
  505. package/components/Loader/Loader/Loader.js.map +1 -1
  506. package/components/Loader/Loader.d.ts +7 -36
  507. package/components/MaskedInput/ColorableInputElement/ColorableInputElement/ColorableInputElement.js +81 -66
  508. package/components/MaskedInput/ColorableInputElement/ColorableInputElement/ColorableInputElement.js.map +1 -1
  509. package/components/MaskedInput/ColorableInputElement/ColorableInputElement.d.ts +1 -0
  510. package/components/MaskedInput/FixedIMaskInput/FixedIMaskInput.js +3 -2
  511. package/components/MaskedInput/FixedIMaskInput/FixedIMaskInput.js.map +1 -1
  512. package/components/MaskedInput/MaskedInput/MaskedInput.js +28 -2
  513. package/components/MaskedInput/MaskedInput/MaskedInput.js.map +1 -1
  514. package/components/MaskedInput/MaskedInput.d.ts +9 -0
  515. package/components/MenuItem/MenuItem/MenuItem.js +1 -12
  516. package/components/MenuItem/MenuItem/MenuItem.js.map +1 -1
  517. package/components/MenuItem/MenuItem.d.ts +2 -12
  518. package/components/MiniModal/MiniModal.styles/MiniModal.styles.js +10 -7
  519. package/components/MiniModal/MiniModal.styles/MiniModal.styles.js.map +1 -1
  520. package/components/MiniModal/MiniModal.styles.d.ts +1 -0
  521. package/components/MiniModal/MiniModalBody/MiniModalBody.js +13 -5
  522. package/components/MiniModal/MiniModalBody/MiniModalBody.js.map +1 -1
  523. package/components/Modal/Modal.styles/Modal.styles.js +32 -29
  524. package/components/Modal/Modal.styles/Modal.styles.js.map +1 -1
  525. package/components/Modal/Modal.styles.d.ts +2 -1
  526. package/components/Modal/ModalBody/ModalBody.js.map +1 -1
  527. package/components/Modal/ModalBody.d.ts +2 -0
  528. package/components/Modal/ModalHeader/ModalHeader.js +3 -1
  529. package/components/Modal/ModalHeader/ModalHeader.js.map +1 -1
  530. package/components/Modal/ModalHeader.d.ts +5 -0
  531. package/components/Modal/ModalSeparator/ModalSeparator.js +1 -1
  532. package/components/Modal/ModalSeparator/ModalSeparator.js.map +1 -1
  533. package/components/Paging/DotsIcon/DotsIcon.js +14 -0
  534. package/components/Paging/DotsIcon/DotsIcon.js.map +1 -0
  535. package/components/Paging/DotsIcon/package.json +6 -0
  536. package/components/Paging/DotsIcon.d.ts +3 -0
  537. package/components/Paging/ForwardIcon/ForwardIcon.js +15 -1
  538. package/components/Paging/ForwardIcon/ForwardIcon.js.map +1 -1
  539. package/components/Paging/ForwardIcon.d.ts +3 -0
  540. package/components/Paging/NavigationHelper/NavigationHelper.js +9 -8
  541. package/components/Paging/NavigationHelper/NavigationHelper.js.map +1 -1
  542. package/components/Paging/NavigationHelper.d.ts +3 -2
  543. package/components/Paging/Paging/Paging.js +96 -47
  544. package/components/Paging/Paging/Paging.js.map +1 -1
  545. package/components/Paging/Paging.d.ts +13 -2
  546. package/components/Paging/Paging.styles/Paging.styles.js +77 -16
  547. package/components/Paging/Paging.styles/Paging.styles.js.map +1 -1
  548. package/components/Paging/Paging.styles.d.ts +24 -1
  549. package/components/Paging/PagingHelper/PagingHelper.js +16 -8
  550. package/components/Paging/PagingHelper/PagingHelper.js.map +1 -1
  551. package/components/Paging/PagingHelper.d.ts +1 -1
  552. package/components/PasswordInput/PasswordInput/PasswordInput.js +13 -25
  553. package/components/PasswordInput/PasswordInput/PasswordInput.js.map +1 -1
  554. package/components/PasswordInput/PasswordInput.d.ts +5 -12
  555. package/components/Radio/Radio/Radio.js +7 -7
  556. package/components/Radio/Radio/Radio.js.map +1 -1
  557. package/components/Radio/Radio.d.ts +4 -1
  558. package/components/RadioGroup/RadioGroup/RadioGroup.js +23 -17
  559. package/components/RadioGroup/RadioGroup/RadioGroup.js.map +1 -1
  560. package/components/RadioGroup/RadioGroup.d.ts +3 -0
  561. package/components/RadioGroup/RadioGroup.styles/RadioGroup.styles.js +7 -4
  562. package/components/RadioGroup/RadioGroup.styles/RadioGroup.styles.js.map +1 -1
  563. package/components/RadioGroup/RadioGroup.styles.d.ts +1 -0
  564. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js +1 -9
  565. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js.map +1 -1
  566. package/components/ScrollContainer/ScrollContainer.d.ts +2 -9
  567. package/components/Select/Select/Select.js +17 -15
  568. package/components/Select/Select/Select.js.map +1 -1
  569. package/components/Select/Select.d.ts +7 -1
  570. package/components/SidePage/SidePage/SidePage.js +3 -3
  571. package/components/SidePage/SidePage/SidePage.js.map +1 -1
  572. package/components/SidePage/SidePage.styles/SidePage.styles.js +41 -35
  573. package/components/SidePage/SidePage.styles/SidePage.styles.js.map +1 -1
  574. package/components/SidePage/SidePage.styles.d.ts +3 -1
  575. package/components/SidePage/SidePageBody/SidePageBody.js.map +1 -1
  576. package/components/SidePage/SidePageBody.d.ts +2 -0
  577. package/components/SidePage/SidePageContainer/SidePageContainer.js.map +1 -1
  578. package/components/SidePage/SidePageContainer.d.ts +2 -0
  579. package/components/SidePage/SidePageFooter/SidePageFooter.js.map +1 -1
  580. package/components/SidePage/SidePageFooter.d.ts +2 -0
  581. package/components/SidePage/SidePageHeader/SidePageHeader.js +62 -35
  582. package/components/SidePage/SidePageHeader/SidePageHeader.js.map +1 -1
  583. package/components/SidePage/SidePageHeader.d.ts +12 -2
  584. package/components/SingleToast/SingleToast/SingleToast.js +37 -12
  585. package/components/SingleToast/SingleToast/SingleToast.js.map +1 -1
  586. package/components/SingleToast/SingleToast.d.ts +33 -3
  587. package/components/Spinner/Spinner/Spinner.js +1 -18
  588. package/components/Spinner/Spinner/Spinner.js.map +1 -1
  589. package/components/Spinner/Spinner.d.ts +2 -18
  590. package/components/Sticky/Sticky/Sticky.js +10 -14
  591. package/components/Sticky/Sticky/Sticky.js.map +1 -1
  592. package/components/Sticky/Sticky.d.ts +5 -13
  593. package/components/Switcher/Switcher/Switcher.js +19 -16
  594. package/components/Switcher/Switcher/Switcher.js.map +1 -1
  595. package/components/Switcher/Switcher.d.ts +6 -21
  596. package/components/Switcher/Switcher.styles/Switcher.styles.js +12 -9
  597. package/components/Switcher/Switcher.styles/Switcher.styles.js.map +1 -1
  598. package/components/Switcher/Switcher.styles.d.ts +1 -0
  599. package/components/Tabs/Indicator/Indicator.js.map +1 -1
  600. package/components/Tabs/Indicator.d.ts +2 -0
  601. package/components/Tabs/Tab/Tab.js.map +1 -1
  602. package/components/Tabs/Tab.d.ts +2 -0
  603. package/components/Tabs/Tabs/Tabs.js.map +1 -1
  604. package/components/Tabs/Tabs.d.ts +2 -0
  605. package/components/Textarea/Textarea/Textarea.js +19 -52
  606. package/components/Textarea/Textarea/Textarea.js.map +1 -1
  607. package/components/Textarea/Textarea.d.ts +10 -46
  608. package/components/Textarea/Textarea.styles/Textarea.styles.js +1 -1
  609. package/components/Textarea/Textarea.styles/Textarea.styles.js.map +1 -1
  610. package/components/Textarea/TextareaCounter/TextareaCounter.js +1 -11
  611. package/components/Textarea/TextareaCounter/TextareaCounter.js.map +1 -1
  612. package/components/Toast/Toast/Toast.js +93 -32
  613. package/components/Toast/Toast/Toast.js.map +1 -1
  614. package/components/Toast/Toast.d.ts +62 -13
  615. package/components/Toast/ToastStatic/ToastStatic.js.map +1 -1
  616. package/components/Toast/ToastStatic.d.ts +3 -2
  617. package/components/Toast/ToastView/ToastView.js +20 -22
  618. package/components/Toast/ToastView/ToastView.js.map +1 -1
  619. package/components/Toast/ToastView.d.ts +8 -16
  620. package/components/Toast/ToastView.styles/ToastView.styles.js +17 -5
  621. package/components/Toast/ToastView.styles/ToastView.styles.js.map +1 -1
  622. package/components/Toast/ToastView.styles.d.ts +4 -0
  623. package/components/Toggle/Toggle/Toggle.js +11 -20
  624. package/components/Toggle/Toggle/Toggle.js.map +1 -1
  625. package/components/Toggle/Toggle.d.ts +4 -11
  626. package/components/Token/Token/Token.js.map +1 -1
  627. package/components/Token/Token.d.ts +2 -0
  628. package/components/TokenInput/TokenInput/TokenInput.js +49 -43
  629. package/components/TokenInput/TokenInput/TokenInput.js.map +1 -1
  630. package/components/TokenInput/TokenInput.d.ts +8 -3
  631. package/components/TokenInput/TokenInputMenu/TokenInputMenu.js +16 -6
  632. package/components/TokenInput/TokenInputMenu/TokenInputMenu.js.map +1 -1
  633. package/components/TokenInput/TokenInputMenu.d.ts +12 -3
  634. package/components/Tooltip/Tooltip/Tooltip.js +77 -26
  635. package/components/Tooltip/Tooltip/Tooltip.js.map +1 -1
  636. package/components/Tooltip/Tooltip.d.ts +14 -8
  637. package/components/Tooltip/Tooltip.styles/Tooltip.styles.js +22 -4
  638. package/components/Tooltip/Tooltip.styles/Tooltip.styles.js.map +1 -1
  639. package/components/Tooltip/Tooltip.styles.d.ts +7 -1
  640. package/components/TooltipMenu/TooltipMenu/TooltipMenu.js.map +1 -1
  641. package/components/TooltipMenu/TooltipMenu.d.ts +4 -2
  642. package/index.d.ts +2 -0
  643. package/index.js +2 -0
  644. package/index.js.map +1 -1
  645. package/internal/ClearCrossIcon/ClearCrossIcon/ClearCrossIcon.js +21 -7
  646. package/internal/ClearCrossIcon/ClearCrossIcon/ClearCrossIcon.js.map +1 -1
  647. package/internal/ClearCrossIcon/ClearCrossIcon.d.ts +1 -0
  648. package/internal/ClearCrossIcon/ClearCrossIcon.styles/ClearCrossIcon.styles.js +14 -5
  649. package/internal/ClearCrossIcon/ClearCrossIcon.styles/ClearCrossIcon.styles.js.map +1 -1
  650. package/internal/ClearCrossIcon/ClearCrossIcon.styles.d.ts +3 -0
  651. package/internal/CommonWrapper/CommonWrapper/CommonWrapper.js.map +1 -1
  652. package/internal/CommonWrapper/CommonWrapper.d.ts +2 -0
  653. package/internal/ComponentTable/ComponentTable.js +0 -2
  654. package/internal/ComponentTable/ComponentTable.js.map +1 -1
  655. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js +72 -41
  656. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js.map +1 -1
  657. package/internal/CustomComboBox/ComboBoxView.d.ts +12 -4
  658. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js +13 -7
  659. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js.map +1 -1
  660. package/internal/CustomComboBox/CustomComboBox.d.ts +11 -4
  661. package/internal/CustomComboBox/getComboBoxTheme/getComboBoxTheme.js +5 -3
  662. package/internal/CustomComboBox/getComboBoxTheme/getComboBoxTheme.js.map +1 -1
  663. package/internal/CustomComboBox/getComboBoxTheme.d.ts +2 -1
  664. package/internal/DateSelect/DateSelect/DateSelect.js +4 -11
  665. package/internal/DateSelect/DateSelect/DateSelect.js.map +1 -1
  666. package/internal/DateSelect/DateSelect.d.ts +0 -10
  667. package/internal/FocusTrap/FocusTrap/FocusTrap.js.map +1 -1
  668. package/internal/FocusTrap/FocusTrap.d.ts +2 -0
  669. package/internal/IgnoreLayerClick/IgnoreLayerClick/IgnoreLayerClick.js.map +1 -1
  670. package/internal/InputLikeText/InputLikeText/InputLikeText.js +17 -28
  671. package/internal/InputLikeText/InputLikeText/InputLikeText.js.map +1 -1
  672. package/internal/InputLikeText/InputLikeText.d.ts +4 -3
  673. package/internal/InputLikeText/InputLikeText.styles/InputLikeText.styles.js +7 -4
  674. package/internal/InputLikeText/InputLikeText.styles/InputLikeText.styles.js.map +1 -1
  675. package/internal/InputLikeText/InputLikeText.styles.d.ts +1 -0
  676. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout/InternalTextareaWithLayout.js +249 -0
  677. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout/InternalTextareaWithLayout.js.map +1 -0
  678. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout/package.json +6 -0
  679. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.d.ts +37 -0
  680. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles/InternalTextareaWithLayout.styles.js +8 -0
  681. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles/InternalTextareaWithLayout.styles.js.map +1 -0
  682. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles/package.json +6 -0
  683. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles.d.ts +3 -0
  684. package/internal/Menu/Menu/Menu.js.map +1 -1
  685. package/internal/Menu/Menu.d.ts +2 -0
  686. package/internal/MobilePopup/MobilePopup/MobilePopup.js.map +1 -1
  687. package/internal/MobilePopup/MobilePopup.d.ts +2 -0
  688. package/internal/Popup/Popup/Popup.js +23 -69
  689. package/internal/Popup/Popup/Popup.js.map +1 -1
  690. package/internal/Popup/Popup.d.ts +43 -60
  691. package/internal/Popup/PopupPin/PopupPin.js +1 -34
  692. package/internal/Popup/PopupPin/PopupPin.js.map +1 -1
  693. package/internal/Popup/PopupPin.d.ts +23 -33
  694. package/internal/Popup/PopupPinNew/PopupPinNew.js +146 -0
  695. package/internal/Popup/PopupPinNew/PopupPinNew.js.map +1 -0
  696. package/internal/Popup/PopupPinNew/package.json +6 -0
  697. package/internal/Popup/PopupPinNew.d.ts +31 -0
  698. package/internal/Popup/PopupPinNew.styles/PopupPinNew.styles.js +20 -0
  699. package/internal/Popup/PopupPinNew.styles/PopupPinNew.styles.js.map +1 -0
  700. package/internal/Popup/PopupPinNew.styles/package.json +6 -0
  701. package/internal/Popup/PopupPinNew.styles.d.ts +7 -0
  702. package/internal/PopupMenu/PopupMenu/PopupMenu.js.map +1 -1
  703. package/internal/PopupMenu/PopupMenu.d.ts +2 -0
  704. package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js +0 -8
  705. package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js.map +1 -1
  706. package/internal/RenderContainer/RenderInnerContainer.d.ts +0 -6
  707. package/internal/RenderLayer/RenderLayer/RenderLayer.js +3 -11
  708. package/internal/RenderLayer/RenderLayer/RenderLayer.js.map +1 -1
  709. package/internal/RenderLayer/RenderLayer.d.ts +2 -3
  710. package/internal/ThemePlayground/Playground/Playground.js +21 -18
  711. package/internal/ThemePlayground/Playground/Playground.js.map +1 -1
  712. package/internal/ThemePlayground/Playground.styles/Playground.styles.js +4 -4
  713. package/internal/ThemePlayground/Playground.styles/Playground.styles.js.map +1 -1
  714. package/internal/ThemePlayground/ShowcaseGroup/ShowcaseGroup.js +6 -1
  715. package/internal/ThemePlayground/ShowcaseGroup/ShowcaseGroup.js.map +1 -1
  716. package/internal/ThemePlayground/SizesGroup/SizesGroup.js +4 -4
  717. package/internal/ThemePlayground/SizesGroup/SizesGroup.js.map +1 -1
  718. package/internal/ThemePlayground/ThemeContextPlayground/ThemeContextPlayground.js +2 -2
  719. package/internal/ThemePlayground/ThemeContextPlayground/ThemeContextPlayground.js.map +1 -1
  720. package/internal/ThemePlayground/VariableValue/VariableValue.js +4 -4
  721. package/internal/ThemePlayground/VariableValue/VariableValue.js.map +1 -1
  722. package/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  723. package/internal/ZIndex/ZIndex/ZIndex.js +8 -10
  724. package/internal/ZIndex/ZIndex/ZIndex.js.map +1 -1
  725. package/internal/ZIndex/ZIndex.d.ts +3 -3
  726. package/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular/UiMenuDots3HIcon16Regular.js +21 -0
  727. package/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular/UiMenuDots3HIcon16Regular.js.map +1 -0
  728. package/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular/package.json +6 -0
  729. package/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular.d.ts +2 -0
  730. package/internal/themes/BasicTheme/BasicTheme.js +185 -30
  731. package/internal/themes/BasicTheme/BasicTheme.js.map +1 -1
  732. package/internal/themes/BasicTheme.d.ts +125 -20
  733. package/internal/themes/DarkTheme5_2/DarkTheme5_2.js +3 -3
  734. package/internal/themes/DarkTheme5_2/DarkTheme5_2.js.map +1 -1
  735. package/internal/themes/DarkTheme5_3/DarkTheme5_3.js +16 -0
  736. package/internal/themes/DarkTheme5_3/DarkTheme5_3.js.map +1 -0
  737. package/internal/themes/DarkTheme5_3/package.json +6 -0
  738. package/internal/themes/DarkTheme5_3.d.ts +1 -0
  739. package/internal/themes/DarkTheme5_4/DarkTheme5_4.js +17 -0
  740. package/internal/themes/DarkTheme5_4/DarkTheme5_4.js.map +1 -0
  741. package/internal/themes/DarkTheme5_4/package.json +6 -0
  742. package/internal/themes/DarkTheme5_4.d.ts +1 -0
  743. package/internal/themes/LightTheme5_3/LightTheme5_3.js +16 -0
  744. package/internal/themes/LightTheme5_3/LightTheme5_3.js.map +1 -0
  745. package/internal/themes/LightTheme5_3/package.json +6 -0
  746. package/internal/themes/LightTheme5_3.d.ts +1 -0
  747. package/internal/themes/LightTheme5_4/LightTheme5_4.js +17 -0
  748. package/internal/themes/LightTheme5_4/LightTheme5_4.js.map +1 -0
  749. package/internal/themes/LightTheme5_4/package.json +6 -0
  750. package/internal/themes/LightTheme5_4.d.ts +1 -0
  751. package/internal/themes/consts/consts.js +9 -0
  752. package/internal/themes/consts/consts.js.map +1 -0
  753. package/internal/themes/consts/package.json +6 -0
  754. package/internal/themes/consts.d.ts +8 -0
  755. package/lib/__stories__/Blink.creevey.mts +90 -0
  756. package/lib/blink/blink.js +63 -0
  757. package/lib/blink/blink.js.map +1 -0
  758. package/lib/blink/package.json +6 -0
  759. package/lib/blink.d.ts +15 -0
  760. package/lib/date/InternalDateGetter/InternalDateGetter.js +4 -1
  761. package/lib/date/InternalDateGetter/InternalDateGetter.js.map +1 -1
  762. package/lib/date/InternalDateGetter.d.ts +1 -1
  763. package/lib/delay.d.mts +1 -0
  764. package/lib/delay.mts +3 -0
  765. package/lib/featureFlagsContext/FeatureFlagsHelpers.d.ts +11 -0
  766. package/lib/featureFlagsContext/ReactUIFeatureFlagsContext/ReactUIFeatureFlagsContext.js +12 -1
  767. package/lib/featureFlagsContext/ReactUIFeatureFlagsContext/ReactUIFeatureFlagsContext.js.map +1 -1
  768. package/lib/featureFlagsContext/ReactUIFeatureFlagsContext.d.ts +11 -0
  769. package/lib/forwardRefAndName/forwardRefAndName.js.map +1 -1
  770. package/lib/forwardRefAndName.d.ts +1 -1
  771. package/lib/getMenuPositions/getMenuPositions.js +33 -4
  772. package/lib/getMenuPositions/getMenuPositions.js.map +1 -1
  773. package/lib/getMenuPositions.d.ts +21 -1
  774. package/lib/rootNode/rootNodeDecorator/rootNodeDecorator.js.map +1 -1
  775. package/lib/rootNode/rootNodeDecorator.d.ts +2 -1
  776. package/lib/size/SizeControlContext/SizeControlContext.js +7 -0
  777. package/lib/size/SizeControlContext/SizeControlContext.js.map +1 -0
  778. package/lib/size/SizeControlContext/package.json +6 -0
  779. package/lib/size/SizeControlContext.d.ts +6 -0
  780. package/lib/size/SizeDecorator/SizeDecorator.js +41 -0
  781. package/lib/size/SizeDecorator/SizeDecorator.js.map +1 -0
  782. package/lib/size/SizeDecorator/package.json +6 -0
  783. package/lib/size/SizeDecorator.d.ts +33 -0
  784. package/lib/size/constants/constants.js +1 -0
  785. package/lib/size/constants/constants.js.map +1 -0
  786. package/lib/size/constants/package.json +6 -0
  787. package/lib/size/constants.d.ts +2 -0
  788. package/lib/size/index/index.js +1 -0
  789. package/lib/size/index/index.js.map +1 -0
  790. package/lib/size/index/package.json +6 -0
  791. package/lib/size/index.d.ts +1 -0
  792. package/lib/size/package.json +6 -0
  793. package/lib/size/useSizeControl/package.json +6 -0
  794. package/lib/size/useSizeControl/useSizeControl.js +7 -0
  795. package/lib/size/useSizeControl/useSizeControl.js.map +1 -0
  796. package/lib/size/useSizeControl.d.ts +2 -0
  797. package/lib/theming/ThemeHelpers/ThemeHelpers.js.map +1 -1
  798. package/lib/theming/ThemeHelpers.d.ts +1 -1
  799. package/lib/theming/ThemeVersions/ThemeVersions.js.map +1 -1
  800. package/lib/theming/ThemeVersions.d.ts +1 -1
  801. package/lib/theming/themes/DarkTheme/DarkTheme.js +5 -1
  802. package/lib/theming/themes/DarkTheme/DarkTheme.js.map +1 -1
  803. package/lib/theming/themes/DarkTheme.d.ts +2 -0
  804. package/lib/theming/themes/LightTheme/LightTheme.js +5 -1
  805. package/lib/theming/themes/LightTheme/LightTheme.js.map +1 -1
  806. package/lib/theming/themes/LightTheme.d.ts +2 -0
  807. package/lib/utils/utils.js +33 -2
  808. package/lib/utils/utils.js.map +1 -1
  809. package/lib/utils.d.ts +18 -1
  810. package/package.json +19 -36
  811. package/test-setup.d.ts +1 -0
  812. package/vitest.config.d.ts +2 -0
  813. package/cjs/components/Autocomplete/Autocomplete.md +0 -113
  814. package/cjs/components/Button/Button.md +0 -261
  815. package/cjs/components/Calendar/Calendar.md +0 -276
  816. package/cjs/components/Calendar/CalendarDay.md +0 -70
  817. package/cjs/components/Center/Center.md +0 -26
  818. package/cjs/components/Checkbox/Checkbox.md +0 -171
  819. package/cjs/components/ComboBox/ComboBox.md +0 -574
  820. package/cjs/components/CurrencyInput/CurrencyInput.md +0 -39
  821. package/cjs/components/CurrencyLabel/CurrencyLabel.md +0 -29
  822. package/cjs/components/DateInput/DateInput.md +0 -111
  823. package/cjs/components/DatePicker/DatePicker.md +0 -368
  824. package/cjs/components/Dropdown/Dropdown.md +0 -45
  825. package/cjs/components/DropdownMenu/DropdownMenu.md +0 -290
  826. package/cjs/components/FileUploader/FileUploader.md +0 -131
  827. package/cjs/components/FxInput/FxInput.md +0 -31
  828. package/cjs/components/Gapped/Gapped.md +0 -44
  829. package/cjs/components/GlobalLoader/GlobalLoader.md +0 -97
  830. package/cjs/components/Group/Group.md +0 -19
  831. package/cjs/components/Hint/Hint.md +0 -86
  832. package/cjs/components/Input/Input.md +0 -87
  833. package/cjs/components/Kebab/Kebab.md +0 -306
  834. package/cjs/components/Link/Link.md +0 -182
  835. package/cjs/components/Loader/Loader.md +0 -33
  836. package/cjs/components/MaskedInput/MaskedInput.md +0 -114
  837. package/cjs/components/MenuFooter/MenuFooter.md +0 -27
  838. package/cjs/components/MenuHeader/MenuHeader.md +0 -35
  839. package/cjs/components/MenuItem/MenuItem.md +0 -139
  840. package/cjs/components/MenuSeparator/MenuSeparator.md +0 -14
  841. package/cjs/components/MiniModal/MiniModal.md +0 -231
  842. package/cjs/components/Modal/Modal.md +0 -56
  843. package/cjs/components/Paging/Paging.md +0 -57
  844. package/cjs/components/PasswordInput/PasswordInput.md +0 -29
  845. package/cjs/components/Radio/Radio.md +0 -57
  846. package/cjs/components/RadioGroup/RadioGroup.md +0 -44
  847. package/cjs/components/ResponsiveLayout/ResponsiveLayout.md +0 -75
  848. package/cjs/components/ScrollContainer/ScrollContainer.md +0 -224
  849. package/cjs/components/Select/Select.md +0 -113
  850. package/cjs/components/SidePage/SidePage.md +0 -65
  851. package/cjs/components/SingleToast/SingleToast.md +0 -36
  852. package/cjs/components/Spinner/Spinner.md +0 -36
  853. package/cjs/components/Sticky/Sticky.md +0 -28
  854. package/cjs/components/Switcher/Switcher.md +0 -111
  855. package/cjs/components/Tabs/Tab.md +0 -73
  856. package/cjs/components/Tabs/Tabs.md +0 -54
  857. package/cjs/components/Textarea/Textarea.md +0 -58
  858. package/cjs/components/Toast/Toast.md +0 -69
  859. package/cjs/components/Toggle/Toggle.md +0 -110
  860. package/cjs/components/Token/Token.md +0 -131
  861. package/cjs/components/TokenInput/TokenInput.md +0 -308
  862. package/cjs/components/Tooltip/Tooltip.md +0 -322
  863. package/cjs/components/TooltipMenu/TooltipMenu.md +0 -241
  864. package/cjs/internal/DataTids/DATATIDS.md +0 -12
  865. package/cjs/internal/DataTids/DataTids.d.ts +0 -12
  866. package/cjs/internal/DataTids/DataTids.js +0 -50
  867. package/cjs/internal/DataTids/DataTids.js.map +0 -1
  868. package/cjs/internal/DataTids/DataTids.styles.d.ts +0 -7
  869. package/cjs/internal/DataTids/DataTids.styles.js +0 -42
  870. package/cjs/internal/DataTids/DataTids.styles.js.map +0 -1
  871. package/cjs/internal/DataTids/componentsDataTids.d.ts +0 -5
  872. package/cjs/internal/DataTids/componentsDataTids.js +0 -15
  873. package/cjs/internal/DataTids/componentsDataTids.js.map +0 -1
  874. package/cjs/internal/ThemePlayground/Playground.md +0 -7
  875. package/cjs/lib/SSRSafe.d.ts +0 -2
  876. package/cjs/lib/SSRSafe.js +0 -5
  877. package/cjs/lib/SSRSafe.js.map +0 -1
  878. package/cjs/lib/featureFlagsContext/FEATUREFLAGSCONTEXT.md +0 -64
  879. package/cjs/lib/locale/LOCALECONTEXT.md +0 -222
  880. package/cjs/lib/theming/ThemeContext.md +0 -265
  881. package/components/Autocomplete/Autocomplete.md +0 -113
  882. package/components/Button/Button.md +0 -261
  883. package/components/Calendar/Calendar.md +0 -276
  884. package/components/Calendar/CalendarDay.md +0 -70
  885. package/components/Center/Center.md +0 -26
  886. package/components/Checkbox/Checkbox.md +0 -171
  887. package/components/ComboBox/ComboBox.md +0 -574
  888. package/components/CurrencyInput/CurrencyInput.md +0 -39
  889. package/components/CurrencyLabel/CurrencyLabel.md +0 -29
  890. package/components/DateInput/DateInput.md +0 -111
  891. package/components/DatePicker/DatePicker.md +0 -368
  892. package/components/Dropdown/Dropdown.md +0 -45
  893. package/components/DropdownMenu/DropdownMenu.md +0 -290
  894. package/components/FileUploader/FileUploader.md +0 -131
  895. package/components/FxInput/FxInput.md +0 -31
  896. package/components/Gapped/Gapped.md +0 -44
  897. package/components/GlobalLoader/GlobalLoader.md +0 -97
  898. package/components/Group/Group.md +0 -19
  899. package/components/Hint/Hint.md +0 -86
  900. package/components/Input/Input.md +0 -87
  901. package/components/Kebab/Kebab.md +0 -306
  902. package/components/Link/Link.md +0 -182
  903. package/components/Loader/Loader.md +0 -33
  904. package/components/MaskedInput/MaskedInput.md +0 -114
  905. package/components/MenuFooter/MenuFooter.md +0 -27
  906. package/components/MenuHeader/MenuHeader.md +0 -35
  907. package/components/MenuItem/MenuItem.md +0 -139
  908. package/components/MenuSeparator/MenuSeparator.md +0 -14
  909. package/components/MiniModal/MiniModal.md +0 -231
  910. package/components/Modal/Modal.md +0 -56
  911. package/components/Paging/Paging.md +0 -57
  912. package/components/PasswordInput/PasswordInput.md +0 -29
  913. package/components/Radio/Radio.md +0 -57
  914. package/components/RadioGroup/RadioGroup.md +0 -44
  915. package/components/ResponsiveLayout/ResponsiveLayout.md +0 -75
  916. package/components/ScrollContainer/ScrollContainer.md +0 -224
  917. package/components/Select/Select.md +0 -113
  918. package/components/SidePage/SidePage.md +0 -65
  919. package/components/SingleToast/SingleToast.md +0 -36
  920. package/components/Spinner/Spinner.md +0 -36
  921. package/components/Sticky/Sticky.md +0 -28
  922. package/components/Switcher/Switcher.md +0 -111
  923. package/components/Tabs/Tab.md +0 -73
  924. package/components/Tabs/Tabs.md +0 -54
  925. package/components/Textarea/Textarea.md +0 -58
  926. package/components/Toast/Toast.md +0 -69
  927. package/components/Toggle/Toggle.md +0 -110
  928. package/components/Token/Token.md +0 -131
  929. package/components/TokenInput/TokenInput.md +0 -308
  930. package/components/Tooltip/Tooltip.md +0 -322
  931. package/components/TooltipMenu/TooltipMenu.md +0 -241
  932. package/internal/DataTids/DATATIDS.md +0 -12
  933. package/internal/DataTids/DataTids/DataTids.js +0 -69
  934. package/internal/DataTids/DataTids/DataTids.js.map +0 -1
  935. package/internal/DataTids/DataTids/package.json +0 -6
  936. package/internal/DataTids/DataTids.d.ts +0 -12
  937. package/internal/DataTids/DataTids.styles/DataTids.styles.js +0 -20
  938. package/internal/DataTids/DataTids.styles/DataTids.styles.js.map +0 -1
  939. package/internal/DataTids/DataTids.styles/package.json +0 -6
  940. package/internal/DataTids/DataTids.styles.d.ts +0 -7
  941. package/internal/DataTids/componentsDataTids/componentsDataTids.js +0 -12
  942. package/internal/DataTids/componentsDataTids/componentsDataTids.js.map +0 -1
  943. package/internal/DataTids/componentsDataTids/package.json +0 -6
  944. package/internal/DataTids/componentsDataTids.d.ts +0 -5
  945. package/internal/ThemePlayground/Playground.md +0 -7
  946. package/lib/SSRSafe/SSRSafe.js +0 -4
  947. package/lib/SSRSafe/SSRSafe.js.map +0 -1
  948. package/lib/SSRSafe/package.json +0 -6
  949. package/lib/SSRSafe.d.ts +0 -2
  950. package/lib/featureFlagsContext/FEATUREFLAGSCONTEXT.md +0 -64
  951. package/lib/locale/LOCALECONTEXT.md +0 -222
  952. package/lib/theming/ThemeContext.md +0 -265
@@ -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,9 @@ 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";
21
+ import { isThemeGTE } from "../../../lib/theming/ThemeHelpers";
22
+ import { withSize } from "../../../lib/size/SizeDecorator";
20
23
  import { styles } from "../Tooltip.styles";
21
24
  var DEFAULT_DELAY = 100;
22
25
  export var TooltipDataTids = {
@@ -24,17 +27,16 @@ export var TooltipDataTids = {
24
27
  content: 'Tooltip__content',
25
28
  crossIcon: 'Tooltip__crossIcon'
26
29
  };
27
- 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'];
30
+ var DefaultPositions = ['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
31
 
29
32
  /**
30
- * `Tooltip` — это подсказка, которую пользователь открывает сам, кликом по элементу.
33
+ * `Tooltip` — это подсказка, которая объясняет состояние контрола или даёт контекстную справку.
31
34
  *
32
- * `Tooltip` используется для коротких поясняющих текстов, если необходимо дать разъяснение к деталям интерфейса, упомянутой информации или помочь с заполнением полей.
33
- * Если эти подробности не нужны постоянно, но могут помочь пользователю в момент когда он испытывает трудности.
34
- *
35
- * Для подсказки, всплывающей по наведению используйте Hint.
35
+ * Открывается по клику, фокусом на элемент или по наведению. В отличие от `Hint`, `Tooltip` может содержать
36
+ * изображения, кнопки, ссылки и прочие интерактивные элементы.
36
37
  */
37
- export var Tooltip = rootNode(_class = (_Tooltip = /*#__PURE__*/function (_React$PureComponent) {
38
+
39
+ export var Tooltip = rootNode(_class = withSize(_class = (_Tooltip = /*#__PURE__*/function (_React$PureComponent) {
38
40
  function Tooltip() {
39
41
  var _this;
40
42
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
@@ -57,7 +59,7 @@ export var Tooltip = rootNode(_class = (_Tooltip = /*#__PURE__*/function (_React
57
59
  return /*#__PURE__*/(
58
60
  React.createElement("div", {
59
61
  ref: _this.refContent,
60
- className: styles.tooltipContent(_this.theme),
62
+ className: cx(styles.tooltipContent(_this.theme), _this.sizeVariables.contentStyle),
61
63
  "data-tid": TooltipDataTids.content
62
64
  }, content, _this.renderCloseButton())
63
65
  );
@@ -67,7 +69,9 @@ export var Tooltip = rootNode(_class = (_Tooltip = /*#__PURE__*/function (_React
67
69
  return (_this$popupRef$curren = _this.popupRef.current) == null ? void 0 : _this$popupRef$curren.anchorElement;
68
70
  };
69
71
  _this.getPositions = function () {
70
- return _this.props.allowedPositions;
72
+ return _this.props.allowedPositions ? _this.props.allowedPositions.filter(function (item) {
73
+ return DefaultPositions.includes(item);
74
+ }) : DefaultPositions;
71
75
  };
72
76
  _this.refContent = function (node) {
73
77
  _this.contentElement = node;
@@ -146,16 +150,68 @@ export var Tooltip = rootNode(_class = (_Tooltip = /*#__PURE__*/function (_React
146
150
  }
147
151
  _this.close();
148
152
  };
153
+ _this.getSizeVariables = function () {
154
+ switch (_this.size) {
155
+ case 'small':
156
+ return {
157
+ closeButtonStyle: styles.closeButtonSmall(_this.theme),
158
+ contentStyle: styles.tooltipContentSmall(_this.theme),
159
+ borderRadius: _this.theme.tooltipBorderRadiusSmall,
160
+ pinSize: _this.theme.tooltipPinSizeSmall,
161
+ pinOffsetX: _this.theme.tooltipPinOffsetXSmall,
162
+ pinOffsetY: _this.theme.tooltipPinOffsetYSmall,
163
+ margin: _this.theme.tooltipMarginSmall
164
+ };
165
+ case 'medium':
166
+ return {
167
+ closeButtonStyle: styles.closeButtonMedium(_this.theme),
168
+ contentStyle: styles.tooltipContentMedium(_this.theme),
169
+ borderRadius: _this.theme.tooltipBorderRadiusMedium,
170
+ pinSize: _this.theme.tooltipPinSizeMedium,
171
+ pinOffsetX: _this.theme.tooltipPinOffsetXMedium,
172
+ pinOffsetY: _this.theme.tooltipPinOffsetYMedium,
173
+ margin: _this.theme.tooltipMarginMedium
174
+ };
175
+ case 'large':
176
+ return {
177
+ closeButtonStyle: styles.closeButtonLarge(_this.theme),
178
+ contentStyle: styles.tooltipContentLarge(_this.theme),
179
+ borderRadius: _this.theme.tooltipBorderRadiusLarge,
180
+ pinSize: _this.theme.tooltipPinSizeLarge,
181
+ pinOffsetX: _this.theme.tooltipPinOffsetXLarge,
182
+ pinOffsetY: _this.theme.tooltipPinOffsetYLarge,
183
+ margin: _this.theme.tooltipMarginLarge
184
+ };
185
+ default:
186
+ console.error("Can't get size variables: invalid value in size prop '" + _this.size + "'. Returning default");
187
+ return {
188
+ closeButtonStyle: styles.closeButtonSmall(_this.theme),
189
+ contentStyle: styles.tooltipContentSmall(_this.theme),
190
+ borderRadius: _this.theme.tooltipBorderRadiusSmall,
191
+ pinSize: _this.theme.tooltipPinSizeSmall,
192
+ pinOffsetX: _this.theme.tooltipPinOffsetXSmall,
193
+ pinOffsetY: _this.theme.tooltipPinOffsetYSmall,
194
+ margin: _this.theme.tooltipMarginSmall
195
+ };
196
+ }
197
+ };
149
198
  return _this;
150
199
  }
151
200
  _inheritsLoose(Tooltip, _React$PureComponent);
152
201
  var _proto = Tooltip.prototype;
202
+ _proto.validateProps = function validateProps(props) {
203
+ warning(props.children || props.anchorElement, "[Tooltip]: you must provide either 'children' or 'anchorElement' prop for Tooltip to work properly");
204
+ };
153
205
  _proto.getAllowedPositions = function getAllowedPositions() {
154
- return this.props.allowedPositions ? this.props.allowedPositions : OldPositions;
206
+ return this.props.allowedPositions ? this.props.allowedPositions : DefaultPositions;
207
+ };
208
+ _proto.componentDidMount = function componentDidMount() {
209
+ this.validateProps(this.getProps());
155
210
  };
156
211
  _proto.componentDidUpdate = function componentDidUpdate() {
157
212
  var _this$getProps = this.getProps(),
158
213
  trigger = _this$getProps.trigger;
214
+ this.validateProps(this.getProps());
159
215
  if (trigger === 'closed' && this.state.opened) {
160
216
  this.close();
161
217
  }
@@ -169,15 +225,16 @@ export var Tooltip = rootNode(_class = (_Tooltip = /*#__PURE__*/function (_React
169
225
  _this2.featureFlags = getFullReactUIFlagsContext(flags);
170
226
  return /*#__PURE__*/React.createElement(ThemeContext.Consumer, null, function (theme) {
171
227
  _this2.theme = theme;
228
+ _this2.sizeVariables = _this2.getSizeVariables();
172
229
  return /*#__PURE__*/React.createElement(ThemeContext.Provider, {
173
230
  value: ThemeFactory.create({
174
- popupMargin: theme.tooltipMargin,
231
+ popupBackground: theme.tooltipBg,
175
232
  popupBorder: theme.tooltipBorder,
176
- popupBorderRadius: theme.tooltipBorderRadius,
177
- popupPinSize: theme.tooltipPinSize,
178
- popupPinOffsetX: theme.tooltipPinOffsetX,
179
- popupPinOffsetY: theme.tooltipPinOffsetY,
180
- popupBackground: theme.tooltipBg
233
+ popupBorderRadius: _this2.sizeVariables.borderRadius,
234
+ popupPinSize: _this2.sizeVariables.pinSize,
235
+ popupPinOffsetX: _this2.sizeVariables.pinOffsetX,
236
+ popupPinOffsetY: _this2.sizeVariables.pinOffsetY,
237
+ popupMargin: _this2.sizeVariables.margin
181
238
  }, theme)
182
239
  }, _this2.renderMain());
183
240
  });
@@ -195,7 +252,7 @@ export var Tooltip = rootNode(_class = (_Tooltip = /*#__PURE__*/function (_React
195
252
  colorHover: this.theme.tooltipCloseBtnHoverColor
196
253
  });
197
254
  return /*#__PURE__*/React.createElement("div", {
198
- className: styles.cross(this.theme),
255
+ className: cx(styles.closeButton(this.theme), this.sizeVariables.closeButtonStyle),
199
256
  onClick: this.handleCloseButtonClick,
200
257
  "data-tid": TooltipDataTids.crossIcon
201
258
  }, icon);
@@ -256,7 +313,7 @@ export var Tooltip = rootNode(_class = (_Tooltip = /*#__PURE__*/function (_React
256
313
  maxWidth: "none",
257
314
  opened: this.state.opened,
258
315
  disableAnimations: disableAnimations,
259
- positions: this.getPositions(),
316
+ positions: isThemeGTE(this.theme, '5.4') ? this.getPositions() : this.props.allowedPositions,
260
317
  pos: this.props.pos,
261
318
  ignoreHover: trigger === 'hoverAnchor',
262
319
  onOpen: this.props.onOpen,
@@ -354,15 +411,9 @@ export var Tooltip = rootNode(_class = (_Tooltip = /*#__PURE__*/function (_React
354
411
  return true;
355
412
  };
356
413
  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 = {
414
+ }(React.PureComponent), _Tooltip.__KONTUR_REACT_UI__ = 'Tooltip', _Tooltip.displayName = 'Tooltip', _Tooltip.defaultProps = {
364
415
  trigger: 'hover',
365
416
  disableAnimations: isTestEnv,
366
417
  useWrapper: false,
367
418
  delayBeforeShow: DEFAULT_DELAY
368
- }, _Tooltip.delay = DEFAULT_DELAY, _Tooltip.triggersWithoutCloseButton = ['hover', 'hoverAnchor', 'focus', 'hover&focus'], _Tooltip)) || _class;
419
+ }, _Tooltip.delay = DEFAULT_DELAY, _Tooltip.triggersWithoutCloseButton = ['hover', 'hoverAnchor', 'focus', 'hover&focus'], _Tooltip)) || _class) || _class;
@@ -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","isThemeGTE","withSize","styles","DEFAULT_DELAY","TooltipDataTids","root","content","crossIcon","DefaultPositions","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","filter","item","includes","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","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';\n\nimport type { SizeProp } from '../../lib/types/props';\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';\nimport { isThemeGTE } from '../../lib/theming/ThemeHelpers';\nimport { withSize } from '../../lib/size/SizeDecorator';\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 DefaultPositions: 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<Pick<TooltipProps, 'trigger' | 'disableAnimations' | 'useWrapper' | 'delayBeforeShow'>>;\n\n/**\n * `Tooltip` — это подсказка, которая объясняет состояние контрола или даёт контекстную справку.\n *\n * Открывается по клику, фокусом на элемент или по наведению. В отличие от `Hint`, `Tooltip` может содержать\n * изображения, кнопки, ссылки и прочие интерактивные элементы.\n */\n\n@rootNode\n@withSize\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 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 size!: SizeProp;\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 : DefaultPositions;\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={isThemeGTE(this.theme, '5.4') ? this.getPositions() : this.props.allowedPositions}\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[] =>\n this.props.allowedPositions\n ? this.props.allowedPositions.filter((item) => DefaultPositions.includes(item))\n : DefaultPositions;\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.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.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 '../../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
  /** Задает хендлер, который вызывается при клике по крестику. */
@@ -69,32 +74,32 @@ export declare const TooltipDataTids: {
69
74
  };
70
75
  type DefaultProps = Required<Pick<TooltipProps, '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 size;
93
+ private sizeVariables;
91
94
  featureFlags: ReactUIFeatureFlags;
92
95
  private hoverTimeout;
93
96
  private contentElement;
94
97
  private clickedOutside;
98
+ getRootNode: TGetRootNode;
95
99
  private setRootNode;
96
100
  private popupRef;
97
101
  getAllowedPositions(): string[];
102
+ componentDidMount(): void;
98
103
  componentDidUpdate(): void;
99
104
  componentWillUnmount(): void;
100
105
  render(): React.JSX.Element;
@@ -129,5 +134,6 @@ export declare class Tooltip extends React.PureComponent<TooltipProps, TooltipSt
129
134
  private handleFocus;
130
135
  private handleBlur;
131
136
  private handleCloseButtonClick;
137
+ private getSizeVariables;
132
138
  }
133
139
  export {};
@@ -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":[]}
@@ -1,5 +1,11 @@
1
1
  import type { Theme } from '../../lib/theming/Theme';
2
2
  export declare const styles: {
3
- cross(t: Theme): string;
3
+ closeButton(t: Theme): string;
4
+ closeButtonSmall(t: Theme): string;
5
+ closeButtonMedium(t: Theme): string;
6
+ closeButtonLarge(t: Theme): string;
4
7
  tooltipContent(t: Theme): string;
8
+ tooltipContentSmall(t: Theme): string;
9
+ tooltipContentMedium(t: Theme): string;
10
+ tooltipContentLarge(t: Theme): string;
5
11
  };
@@ -1 +1 @@
1
- {"version":3,"names":["React","ThemeFactory","ThemeContext","PopupMenu","isProductionEnv","isTestEnv","CommonWrapper","rootNode","createPropsGetter","TooltipMenuDataTids","root","TooltipMenu","_class","_TooltipMenu","_React$Component","props","_this","call","getProps","defaultProps","caption","Error","_inheritsLoose","_proto","prototype","render","_this2","createElement","Consumer","theme","Provider","value","create","popupPinOffsetX","tooltipMenuPinOffsetX","popupPinOffsetY","tooltipMenuPinOffsetY","popupMargin","tooltipMenuMargin","popupPinSize","tooltipMenuPinSize","renderMain","_this$getProps","disableAnimations","_extends","rootNodeRef","setRootNode","menuMaxHeight","menuWidth","header","footer","preventIconsOffset","positions","onOpen","onClose","popupHasPin","children","Component","__KONTUR_REACT_UI__","displayName"],"sources":["TooltipMenu.tsx"],"sourcesContent":["import type { AriaAttributes } from 'react';\nimport React from 'react';\n\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport type { PopupMenuProps } from '../../internal/PopupMenu';\nimport { PopupMenu } from '../../internal/PopupMenu';\nimport type { MenuItemProps } from '../MenuItem';\nimport { isProductionEnv, isTestEnv } from '../../lib/currentEnvironment';\nimport type { MenuHeaderProps } from '../MenuHeader';\nimport type { PopupPositionsType } from '../../internal/Popup';\nimport type { CommonProps } from '../../internal/CommonWrapper';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\nimport type { TSetRootNode } from '../../lib/rootNode';\nimport { rootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\n\nexport type TooltipMenuChildType = React.ReactElement<MenuItemProps | unknown | MenuHeaderProps>;\n\nexport interface TooltipMenuProps\n extends Pick<AriaAttributes, 'aria-label'>,\n CommonProps,\n Pick<PopupMenuProps, 'onOpen' | 'onClose' | 'preventIconsOffset'> {\n /** @ignore */\n children?: TooltipMenuChildType | TooltipMenuChildType[];\n /** Задает максимальную высоту меню. */\n menuMaxHeight?: number | string;\n /** Задает ширину меню. */\n menuWidth?: number | string;\n /** Задает элемент или функцию возвращающую элемент, которые используется вместо `caption`.\n * В случае функции, внутри нее необходимо управлять открытием и закрытием меню. */\n caption: PopupMenuProps['caption'];\n /** Задает элемент, который будет отрендерен в шапке меню.\n * _Примечание_: контрол [MenuHeader](#/Components/MenuHeader) передаётся только в `children` меню-контролов. Не стоит передавать `MenuHeader` в `header`. */\n header?: React.ReactNode;\n /** Задает элемент, который будет отрендерен в подвале меню.\n * Перед элементом переданным в `footer` будет отрендерен [MenuSeparator](#/Components/MenuSeparator). */\n footer?: React.ReactNode;\n /** Определяет список позиций, доступных для расположения выпадашки относительно caption.\n * Если во всех позициях выпадашка вылезает за пределы `viewport`, будет использована первая из этого списка. */\n positions?: PopupPositionsType[];\n /** Отключает анимацию. */\n disableAnimations?: boolean;\n}\n\nexport const TooltipMenuDataTids = {\n root: 'TooltipMenu__root',\n} as const;\n\ntype DefaultProps = Required<Pick<TooltipMenuProps, 'disableAnimations'>>;\n\n/**\n * Меню `TooltipMenu` раскрывается по клику на переданный в `caption` элемент.\n *\n * Положение меню задаётся с помощью массива `positions` и работает так:\n * первое значение в массиве - дефолтная позиция, меню раскроется на этой позиции, если оно не будет выходить за пределы `viewport`,\n * если раскрыться в дефолтной позиции не получится - будет использована следующая позиция, и так далее, пока не будет достигнут конец массива. Если все положения из списка будут выходить за пределы `viewport`, в качестве положения будет использовано первое значение в массиве.\n *\n * Если меню должно раскрываться только в одну сторону - массив `positions` должен содержать только один элемент: сторону, в которую должно открываться меню.\n *\n * Если массив `positions` не передан (или передан пустой массив), будут использованы всевозможные значения.\n */\n@rootNode\nexport class TooltipMenu extends React.Component<TooltipMenuProps> {\n public static __KONTUR_REACT_UI__ = 'TooltipMenu';\n public static displayName = 'TooltipMenu';\n\n private setRootNode!: TSetRootNode;\n\n public static defaultProps: DefaultProps = {\n disableAnimations: isTestEnv,\n };\n\n private getProps = createPropsGetter(TooltipMenu.defaultProps);\n\n constructor(props: TooltipMenuProps) {\n super(props);\n\n if (!props.caption && !isProductionEnv) {\n throw new Error('Prop \"caption\" is required!!!');\n }\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n return (\n <ThemeContext.Provider\n value={ThemeFactory.create(\n {\n popupPinOffsetX: theme.tooltipMenuPinOffsetX,\n popupPinOffsetY: theme.tooltipMenuPinOffsetY,\n popupMargin: theme.tooltipMenuMargin,\n popupPinSize: theme.tooltipMenuPinSize,\n },\n theme,\n )}\n >\n {this.renderMain()}\n </ThemeContext.Provider>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n public renderMain() {\n if (!this.props.caption) {\n return null;\n }\n\n const { disableAnimations } = this.getProps();\n\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <PopupMenu\n aria-label={this.props['aria-label']}\n data-tid={TooltipMenuDataTids.root}\n menuMaxHeight={this.props.menuMaxHeight}\n menuWidth={this.props.menuWidth}\n caption={this.props.caption}\n header={this.props.header}\n footer={this.props.footer}\n preventIconsOffset={this.props.preventIconsOffset}\n positions={this.props.positions}\n onOpen={this.props.onOpen}\n onClose={this.props.onClose}\n popupHasPin\n disableAnimations={disableAnimations}\n >\n {this.props.children}\n </PopupMenu>\n </CommonWrapper>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","ThemeFactory","ThemeContext","PopupMenu","isProductionEnv","isTestEnv","CommonWrapper","rootNode","createPropsGetter","TooltipMenuDataTids","root","TooltipMenu","_class","_TooltipMenu","_React$Component","props","_this","call","getProps","defaultProps","caption","Error","_inheritsLoose","_proto","prototype","render","_this2","createElement","Consumer","theme","Provider","value","create","popupPinOffsetX","tooltipMenuPinOffsetX","popupPinOffsetY","tooltipMenuPinOffsetY","popupMargin","tooltipMenuMargin","popupPinSize","tooltipMenuPinSize","renderMain","_this$getProps","disableAnimations","_extends","rootNodeRef","setRootNode","menuMaxHeight","menuWidth","header","footer","preventIconsOffset","positions","onOpen","onClose","popupHasPin","children","Component","__KONTUR_REACT_UI__","displayName"],"sources":["TooltipMenu.tsx"],"sourcesContent":["import type { AriaAttributes } from 'react';\nimport React from 'react';\n\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport type { PopupMenuProps } from '../../internal/PopupMenu';\nimport { PopupMenu } from '../../internal/PopupMenu';\nimport type { MenuItemProps } from '../MenuItem';\nimport { isProductionEnv, isTestEnv } from '../../lib/currentEnvironment';\nimport type { MenuHeaderProps } from '../MenuHeader';\nimport type { PopupPositionsType } from '../../internal/Popup';\nimport type { CommonProps } from '../../internal/CommonWrapper';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\nimport type { TGetRootNode, TSetRootNode } from '../../lib/rootNode';\nimport { rootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\n\nexport type TooltipMenuChildType = React.ReactElement<MenuItemProps | unknown | MenuHeaderProps>;\n\nexport interface TooltipMenuProps\n extends Pick<AriaAttributes, 'aria-label'>,\n CommonProps,\n Pick<PopupMenuProps, 'onOpen' | 'onClose' | 'preventIconsOffset'> {\n /** @ignore */\n children?: TooltipMenuChildType | TooltipMenuChildType[];\n /** Задает максимальную высоту меню. */\n menuMaxHeight?: number | string;\n /** Задает ширину меню. */\n menuWidth?: number | string;\n /** Задает элемент или функцию возвращающую элемент, которые используется вместо `caption`.\n * В случае функции, внутри нее необходимо управлять открытием и закрытием меню. */\n caption: PopupMenuProps['caption'];\n /** Задает элемент, который будет отрендерен в шапке меню.\n * _Примечание_: контрол MenuHeader передаётся только в `children` меню-контролов. Не стоит передавать `MenuHeader` в `header`. */\n header?: React.ReactNode;\n /** Задает элемент, который будет отрендерен в подвале меню.\n * Перед элементом переданным в `footer` будет отрендерен MenuSeparator. */\n footer?: React.ReactNode;\n /** Определяет список позиций, доступных для расположения выпадашки относительно caption.\n * Если во всех позициях выпадашка вылезает за пределы `viewport`, будет использована первая из этого списка. */\n positions?: PopupPositionsType[];\n /** Отключает анимацию. */\n disableAnimations?: boolean;\n}\n\nexport const TooltipMenuDataTids = {\n root: 'TooltipMenu__root',\n} as const;\n\ntype DefaultProps = Required<Pick<TooltipMenuProps, 'disableAnimations'>>;\n\n/**\n * Меню `TooltipMenu` раскрывается по клику на переданный в `caption` элемент.\n *\n * Положение меню задаётся с помощью массива `positions` и работает так:\n * первое значение в массиве - дефолтная позиция, меню раскроется на этой позиции, если оно не будет выходить за пределы `viewport`,\n * если раскрыться в дефолтной позиции не получится - будет использована следующая позиция, и так далее, пока не будет достигнут конец массива. Если все положения из списка будут выходить за пределы `viewport`, в качестве положения будет использовано первое значение в массиве.\n *\n * Если меню должно раскрываться только в одну сторону - массив `positions` должен содержать только один элемент: сторону, в которую должно открываться меню.\n *\n * Если массив `positions` не передан (или передан пустой массив), будут использованы всевозможные значения.\n */\n@rootNode\nexport class TooltipMenu extends React.Component<TooltipMenuProps> {\n public static __KONTUR_REACT_UI__ = 'TooltipMenu';\n public static displayName = 'TooltipMenu';\n\n public getRootNode!: TGetRootNode;\n private setRootNode!: TSetRootNode;\n\n public static defaultProps: DefaultProps = {\n disableAnimations: isTestEnv,\n };\n\n private getProps = createPropsGetter(TooltipMenu.defaultProps);\n\n constructor(props: TooltipMenuProps) {\n super(props);\n\n if (!props.caption && !isProductionEnv) {\n throw new Error('Prop \"caption\" is required!!!');\n }\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n return (\n <ThemeContext.Provider\n value={ThemeFactory.create(\n {\n popupPinOffsetX: theme.tooltipMenuPinOffsetX,\n popupPinOffsetY: theme.tooltipMenuPinOffsetY,\n popupMargin: theme.tooltipMenuMargin,\n popupPinSize: theme.tooltipMenuPinSize,\n },\n theme,\n )}\n >\n {this.renderMain()}\n </ThemeContext.Provider>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n public renderMain() {\n if (!this.props.caption) {\n return null;\n }\n\n const { disableAnimations } = this.getProps();\n\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <PopupMenu\n aria-label={this.props['aria-label']}\n data-tid={TooltipMenuDataTids.root}\n menuMaxHeight={this.props.menuMaxHeight}\n menuWidth={this.props.menuWidth}\n caption={this.props.caption}\n header={this.props.header}\n footer={this.props.footer}\n preventIconsOffset={this.props.preventIconsOffset}\n positions={this.props.positions}\n onOpen={this.props.onOpen}\n onClose={this.props.onClose}\n popupHasPin\n disableAnimations={disableAnimations}\n >\n {this.props.children}\n </PopupMenu>\n </CommonWrapper>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}