@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
@@ -1,4 +1,5 @@
1
1
  import React from 'react';
2
+ import type { TGetRootNode } from '../../lib/rootNode';
2
3
  export interface GlobalLoaderProps {
3
4
  /** Устанавливает задержку в миллисекундах до появления лоадера. */
4
5
  delayBeforeShow?: number;
@@ -50,6 +51,7 @@ type DefaultProps = Required<Pick<GlobalLoaderProps, 'expectedResponseTime' | 'd
50
51
  export declare class GlobalLoader extends React.Component<GlobalLoaderProps, GlobalLoaderState> {
51
52
  static __KONTUR_REACT_UI__: string;
52
53
  static displayName: string;
54
+ getRootNode: TGetRootNode;
53
55
  private setRootNode;
54
56
  private getProps;
55
57
  private readonly startTask;
@@ -2,12 +2,12 @@ import _inheritsLoose from "@babel/runtime/helpers/esm/inheritsLoose";
2
2
  import _extends from "@babel/runtime/helpers/esm/extends";
3
3
  var _class, _Group;
4
4
  import React from 'react';
5
- import PropTypes from 'prop-types';
6
5
  import { isIE11, isEdge } from "../../../lib/client";
7
6
  import { CommonWrapper } from "../../../internal/CommonWrapper";
8
7
  import { cx } from "../../../lib/theming/Emotion";
9
8
  import { rootNode } from "../../../lib/rootNode";
10
- import { isButton, isAutocomplete, isCurrencyInput, isDropdown, isDropdownMenu, isFxInput, isInput, isPasswordInput, isSelect } from "../../../lib/utils";
9
+ import { isButton, isAutocomplete, isCurrencyInput, isDropdown, isDropdownMenu, isFxInput, isInput, isPasswordInput, isSelect, isTooltip, isHint } from "../../../lib/utils";
10
+ import { getFullReactUIFlagsContext, ReactUIFeatureFlagsContext } from "../../../lib/featureFlagsContext";
11
11
  import { styles } from "../Group.styles";
12
12
  var getFirstChild = function getFirstChild(children) {
13
13
  if (!Array.isArray(children)) {
@@ -42,8 +42,8 @@ export var getButtonCorners = function getButtonCorners(isFirstChild, isLastChil
42
42
  borderRadius: 0
43
43
  };
44
44
  };
45
- var tryPassCorners = function tryPassCorners(child, firstChild, lastChild) {
46
- var corners = getButtonCorners(child === firstChild, child === lastChild);
45
+ var tryPassCorners = function tryPassCorners(child, isFirstChild, isLastChild) {
46
+ var corners = getButtonCorners(isFirstChild, isLastChild);
47
47
  if (isButton(child) || isInput(child) || isFxInput(child) || isAutocomplete(child) || isPasswordInput(child) || isCurrencyInput(child) || isSelect(child) || isDropdown(child) || isDropdownMenu(child)) {
48
48
  return /*#__PURE__*/React.cloneElement(child, {
49
49
  corners: _extends({}, corners, child.props.corners)
@@ -51,6 +51,9 @@ var tryPassCorners = function tryPassCorners(child, firstChild, lastChild) {
51
51
  }
52
52
  return child;
53
53
  };
54
+ var hasWidthInPercent = function hasWidthInPercent(child) {
55
+ return String(child.props.width).includes('%');
56
+ };
54
57
  export var GroupDataTids = {
55
58
  root: 'Group__root'
56
59
  };
@@ -62,47 +65,80 @@ export var GroupDataTids = {
62
65
  */
63
66
  export var Group = rootNode(_class = (_Group = /*#__PURE__*/function (_React$Component) {
64
67
  function Group() {
65
- return _React$Component.apply(this, arguments) || this;
68
+ var _this;
69
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
70
+ args[_key] = arguments[_key];
71
+ }
72
+ _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;
73
+ _this.renderChild = function (child, isFirstChild, isLastChild, isWidthInPercent) {
74
+ var _cx, _cx2;
75
+ return /*#__PURE__*/(
76
+
77
+ React.createElement("div", {
78
+ className: cx((_cx = {}, _cx[styles.fixed()] = !isWidthInPercent, _cx[styles.stretch()] = isWidthInPercent, _cx[styles.stretchFallback()] = Boolean(isWidthInPercent && _this.props.width && (isIE11 || isEdge)), _cx))
79
+ }, /*#__PURE__*/
80
+
81
+ React.createElement("div", {
82
+ className: cx((_cx2 = {}, _cx2[styles.item()] = true, _cx2[styles.itemFirst()] = isFirstChild, _cx2))
83
+ }, tryPassCorners(child, isFirstChild, isLastChild)))
84
+ );
85
+ };
86
+ return _this;
66
87
  }
67
88
  _inheritsLoose(Group, _React$Component);
68
89
  var _proto = Group.prototype;
69
90
  _proto.render = function render() {
70
- var _this = this;
91
+ var _this2 = this;
71
92
  var style = {
72
93
  width: this.props.width
73
94
  };
74
95
  var childrenArray = React.Children.toArray(this.props.children);
75
96
  var firstChild = getFirstChild(childrenArray);
76
97
  var lastChild = getLastChild(childrenArray);
77
- return /*#__PURE__*/(
78
- React.createElement(CommonWrapper, _extends({
79
- rootNodeRef: this.setRootNode
80
- }, this.props), /*#__PURE__*/
81
- React.createElement("span", {
98
+ return /*#__PURE__*/React.createElement(ReactUIFeatureFlagsContext.Consumer, null, function (flags) {
99
+ _this2.featureFlags = getFullReactUIFlagsContext(flags);
100
+ return /*#__PURE__*/React.createElement(CommonWrapper, _extends({
101
+ rootNodeRef: _this2.setRootNode
102
+ }, _this2.props), /*#__PURE__*/React.createElement("span", {
82
103
  "data-tid": GroupDataTids.root,
83
104
  className: styles.root(),
84
105
  style: style
85
106
  }, React.Children.map(childrenArray, function (child) {
86
- var _cx, _cx2;
87
107
  if (!child || ! /*#__PURE__*/React.isValidElement(child)) {
88
108
  return null;
89
109
  }
90
- var isWidthInPercent = Boolean(child.props.width && child.props.width.toString().includes('%'));
91
- var modifiedChild = tryPassCorners(child, firstChild, lastChild);
92
110
  var isFirstChild = child === firstChild;
93
- return /*#__PURE__*/(
94
- React.createElement("div", {
95
- className: cx((_cx = {}, _cx[styles.fixed()] = !isWidthInPercent, _cx[styles.stretch()] = isWidthInPercent, _cx[styles.stretchFallback()] = Boolean(isWidthInPercent && _this.props.width && (isIE11 || isEdge)), _cx))
96
- }, /*#__PURE__*/
97
-
98
- React.createElement("div", {
99
- className: cx((_cx2 = {}, _cx2[styles.item()] = true, _cx2[styles.itemFirst()] = isFirstChild, _cx2))
100
- }, modifiedChild))
101
- );
102
- })))
103
- );
111
+ var isLastChild = child === lastChild;
112
+ if (_this2.featureFlags.groupAddHintAndTooltipSupport && (isHint(child) || isTooltip(child))) {
113
+ return _this2.renderWrappedChildren(child, isFirstChild, isLastChild);
114
+ }
115
+ return _this2.renderChild(child, isFirstChild, isLastChild, hasWidthInPercent(child));
116
+ })));
117
+ });
118
+ };
119
+ _proto.renderWrappedChildren = function renderWrappedChildren(parent, isParentFirst, isParentLast) {
120
+ var _this3 = this,
121
+ _cx3;
122
+ var shouldStretchParent = false;
123
+ var nestedChildren = React.Children.toArray(parent.props.children);
124
+ var modifiedChildren = nestedChildren.map(function (nestedChild, index) {
125
+ if (!nestedChild || ! /*#__PURE__*/React.isValidElement(nestedChild)) {
126
+ return null;
127
+ }
128
+ var isFirstChild = isParentFirst && index === 0;
129
+ var isLastChild = isParentLast && index === nestedChildren.length - 1;
130
+ if (hasWidthInPercent(nestedChild)) {
131
+ shouldStretchParent = true;
132
+ }
133
+ return _this3.renderChild(nestedChild, isFirstChild, isLastChild, hasWidthInPercent(nestedChild));
134
+ });
135
+ var wrappedChildren = /*#__PURE__*/
136
+ React.createElement("div", {
137
+ className: cx(styles.wrappedChildren(), (_cx3 = {}, _cx3[styles.stretch()] = shouldStretchParent, _cx3))
138
+ }, modifiedChildren);
139
+ return /*#__PURE__*/React.cloneElement(parent, {
140
+ children: wrappedChildren
141
+ });
104
142
  };
105
143
  return Group;
106
- }(React.Component), _Group.__KONTUR_REACT_UI__ = 'Group', _Group.displayName = 'Group', _Group.propTypes = {
107
- width: PropTypes.oneOfType([PropTypes.number, PropTypes.string])
108
- }, _Group)) || _class;
144
+ }(React.Component), _Group.__KONTUR_REACT_UI__ = 'Group', _Group.displayName = 'Group', _Group)) || _class;
@@ -1 +1 @@
1
- {"version":3,"names":["React","PropTypes","isIE11","isEdge","CommonWrapper","cx","rootNode","isButton","isAutocomplete","isCurrencyInput","isDropdown","isDropdownMenu","isFxInput","isInput","isPasswordInput","isSelect","styles","getFirstChild","children","Array","isArray","getLastChild","numberOfChildren","Children","count","getButtonCorners","isFirstChild","isLastChild","borderTopRightRadius","borderBottomRightRadius","borderTopLeftRadius","borderBottomLeftRadius","borderRadius","tryPassCorners","child","firstChild","lastChild","corners","cloneElement","_extends","props","GroupDataTids","root","Group","_class","_Group","_React$Component","apply","arguments","_inheritsLoose","_proto","prototype","render","_this","style","width","childrenArray","toArray","createElement","rootNodeRef","setRootNode","className","map","_cx","_cx2","isValidElement","isWidthInPercent","Boolean","toString","includes","modifiedChild","fixed","stretch","stretchFallback","item","itemFirst","Component","__KONTUR_REACT_UI__","displayName","propTypes","oneOfType","number","string"],"sources":["Group.tsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { isIE11, isEdge } from '../../lib/client';\nimport type { CommonProps } from '../../internal/CommonWrapper';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport type { TSetRootNode } from '../../lib/rootNode';\nimport { rootNode } from '../../lib/rootNode';\nimport {\n isButton,\n isAutocomplete,\n isCurrencyInput,\n isDropdown,\n isDropdownMenu,\n isFxInput,\n isInput,\n isPasswordInput,\n isSelect,\n} from '../../lib/utils';\n\nimport { styles } from './Group.styles';\n\nexport interface GroupProps extends CommonProps {\n /** Задает длину компонента Group. */\n width?: React.CSSProperties['width'];\n}\n\ninterface GroupChildProps {\n width?: React.CSSProperties['width'];\n corners?: number;\n}\n\nconst getFirstChild = (children: React.ReactNode) => {\n if (!Array.isArray(children)) {\n return children;\n }\n\n return children?.[0] as React.ReactNode;\n};\n\nconst getLastChild = (children: React.ReactNode) => {\n if (!Array.isArray(children)) {\n return children;\n }\n\n const numberOfChildren = React.Children.count(children);\n\n return children?.[numberOfChildren - 1] as React.ReactNode;\n};\n\nexport const getButtonCorners = (isFirstChild: boolean, isLastChild: boolean): React.CSSProperties => {\n if (isFirstChild && isLastChild) {\n return {};\n }\n\n if (isFirstChild) {\n return {\n borderTopRightRadius: 0,\n borderBottomRightRadius: 0,\n };\n }\n\n if (isLastChild) {\n return {\n borderTopLeftRadius: 0,\n borderBottomLeftRadius: 0,\n };\n }\n\n return {\n borderRadius: 0,\n };\n};\n\nconst tryPassCorners = (child: React.ReactNode, firstChild: React.ReactNode, lastChild: React.ReactNode) => {\n const corners = getButtonCorners(child === firstChild, child === lastChild);\n\n if (\n isButton(child) ||\n isInput(child) ||\n isFxInput(child) ||\n isAutocomplete(child) ||\n isPasswordInput(child) ||\n isCurrencyInput(child) ||\n isSelect(child) ||\n isDropdown(child) ||\n isDropdownMenu(child)\n ) {\n return React.cloneElement<(typeof child)['props']>(child, { corners: { ...corners, ...child.props.corners } });\n }\n\n return child;\n};\n\nexport const GroupDataTids = {\n root: 'Group__root',\n} as const;\n\n/**\n * Компонент `Group` используется для создания логически сгруппированных элементов, выровненных по горизонтали.\n *\n * Длина контейнера настраивается с помощью пропа `width`.\n */\n@rootNode\nexport class Group extends React.Component<GroupProps> {\n public static __KONTUR_REACT_UI__ = 'Group';\n public static displayName = 'Group';\n\n private setRootNode!: TSetRootNode;\n\n public static propTypes = {\n width: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n };\n\n public render() {\n const style: React.CSSProperties = {\n width: this.props.width,\n };\n\n const childrenArray = React.Children.toArray(this.props.children);\n const firstChild = getFirstChild(childrenArray);\n const lastChild = getLastChild(childrenArray);\n\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <span data-tid={GroupDataTids.root} className={styles.root()} style={style}>\n {React.Children.map(childrenArray, (child) => {\n if (!child || !React.isValidElement<GroupChildProps>(child)) {\n return null;\n }\n\n const isWidthInPercent = Boolean(child.props.width && child.props.width.toString().includes('%'));\n\n const modifiedChild = tryPassCorners(child, firstChild, lastChild);\n\n const isFirstChild = child === firstChild;\n\n return (\n <div\n className={cx({\n [styles.fixed()]: !isWidthInPercent,\n [styles.stretch()]: isWidthInPercent,\n [styles.stretchFallback()]: Boolean(isWidthInPercent && this.props.width && (isIE11 || isEdge)),\n })}\n >\n <div\n className={cx({\n [styles.item()]: true,\n [styles.itemFirst()]: isFirstChild,\n })}\n >\n {modifiedChild}\n </div>\n </div>\n );\n })}\n </span>\n </CommonWrapper>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","isIE11","isEdge","CommonWrapper","cx","rootNode","isButton","isAutocomplete","isCurrencyInput","isDropdown","isDropdownMenu","isFxInput","isInput","isPasswordInput","isSelect","isTooltip","isHint","getFullReactUIFlagsContext","ReactUIFeatureFlagsContext","styles","getFirstChild","children","Array","isArray","getLastChild","numberOfChildren","Children","count","getButtonCorners","isFirstChild","isLastChild","borderTopRightRadius","borderBottomRightRadius","borderTopLeftRadius","borderBottomLeftRadius","borderRadius","tryPassCorners","child","corners","cloneElement","_extends","props","hasWidthInPercent","String","width","includes","GroupDataTids","root","Group","_class","_Group","_React$Component","_this","_len","arguments","length","args","_key","call","apply","concat","renderChild","isWidthInPercent","_cx","_cx2","createElement","className","fixed","stretch","stretchFallback","Boolean","item","itemFirst","_inheritsLoose","_proto","prototype","render","_this2","style","childrenArray","toArray","firstChild","lastChild","Consumer","flags","featureFlags","rootNodeRef","setRootNode","map","isValidElement","groupAddHintAndTooltipSupport","renderWrappedChildren","parent","isParentFirst","isParentLast","_this3","_cx3","shouldStretchParent","nestedChildren","modifiedChildren","nestedChild","index","wrappedChildren","Component","__KONTUR_REACT_UI__","displayName"],"sources":["Group.tsx"],"sourcesContent":["import React from 'react';\n\nimport { isIE11, isEdge } from '../../lib/client';\nimport type { CommonProps } from '../../internal/CommonWrapper';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport type { TGetRootNode, TSetRootNode } from '../../lib/rootNode';\nimport { rootNode } from '../../lib/rootNode';\nimport {\n isButton,\n isAutocomplete,\n isCurrencyInput,\n isDropdown,\n isDropdownMenu,\n isFxInput,\n isInput,\n isPasswordInput,\n isSelect,\n isTooltip,\n isHint,\n} from '../../lib/utils';\nimport type { ReactUIFeatureFlags } from '../../lib/featureFlagsContext';\nimport { getFullReactUIFlagsContext, ReactUIFeatureFlagsContext } from '../../lib/featureFlagsContext';\n\nimport { styles } from './Group.styles';\n\nexport interface GroupProps extends CommonProps {\n /** Задает длину компонента Group. */\n width?: React.CSSProperties['width'];\n}\n\ninterface GroupChildProps extends CommonProps {\n width?: React.CSSProperties['width'];\n corners?: number;\n}\n\nconst getFirstChild = (children: React.ReactNode) => {\n if (!Array.isArray(children)) {\n return children;\n }\n\n return children?.[0] as React.ReactNode;\n};\n\nconst getLastChild = (children: React.ReactNode) => {\n if (!Array.isArray(children)) {\n return children;\n }\n\n const numberOfChildren = React.Children.count(children);\n\n return children?.[numberOfChildren - 1] as React.ReactNode;\n};\n\nexport const getButtonCorners = (isFirstChild: boolean, isLastChild: boolean): React.CSSProperties => {\n if (isFirstChild && isLastChild) {\n return {};\n }\n\n if (isFirstChild) {\n return {\n borderTopRightRadius: 0,\n borderBottomRightRadius: 0,\n };\n }\n\n if (isLastChild) {\n return {\n borderTopLeftRadius: 0,\n borderBottomLeftRadius: 0,\n };\n }\n\n return {\n borderRadius: 0,\n };\n};\n\nconst tryPassCorners = (child: React.ReactNode, isFirstChild: boolean, isLastChild: boolean) => {\n const corners = getButtonCorners(isFirstChild, isLastChild);\n\n if (\n isButton(child) ||\n isInput(child) ||\n isFxInput(child) ||\n isAutocomplete(child) ||\n isPasswordInput(child) ||\n isCurrencyInput(child) ||\n isSelect(child) ||\n isDropdown(child) ||\n isDropdownMenu(child)\n ) {\n return React.cloneElement<(typeof child)['props']>(child, { corners: { ...corners, ...child.props.corners } });\n }\n\n return child;\n};\n\nconst hasWidthInPercent = (child: React.ReactElement<GroupChildProps>) => String(child.props.width).includes('%');\n\nexport const GroupDataTids = {\n root: 'Group__root',\n} as const;\n\n/**\n * Компонент `Group` используется для создания логически сгруппированных элементов, выровненных по горизонтали.\n *\n * Длина контейнера настраивается с помощью пропа `width`.\n */\n@rootNode\nexport class Group extends React.Component<GroupProps> {\n public static __KONTUR_REACT_UI__ = 'Group';\n public static displayName = 'Group';\n\n public getRootNode!: TGetRootNode;\n private setRootNode!: TSetRootNode;\n private featureFlags!: ReactUIFeatureFlags;\n\n public render() {\n const style: React.CSSProperties = {\n width: this.props.width,\n };\n\n const childrenArray = React.Children.toArray(this.props.children);\n const firstChild = getFirstChild(childrenArray);\n const lastChild = getLastChild(childrenArray);\n\n return (\n <ReactUIFeatureFlagsContext.Consumer>\n {(flags) => {\n this.featureFlags = getFullReactUIFlagsContext(flags);\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <span data-tid={GroupDataTids.root} className={styles.root()} style={style}>\n {React.Children.map(childrenArray, (child) => {\n if (!child || !React.isValidElement<GroupChildProps>(child)) {\n return null;\n }\n\n const isFirstChild = child === firstChild;\n const isLastChild = child === lastChild;\n\n if (this.featureFlags.groupAddHintAndTooltipSupport && (isHint(child) || isTooltip(child))) {\n return this.renderWrappedChildren(child, isFirstChild, isLastChild);\n }\n\n return this.renderChild(child, isFirstChild, isLastChild, hasWidthInPercent(child));\n })}\n </span>\n </CommonWrapper>\n );\n }}\n </ReactUIFeatureFlagsContext.Consumer>\n );\n }\n\n private renderChild = (\n child: React.ReactNode,\n isFirstChild: boolean,\n isLastChild: boolean,\n isWidthInPercent: boolean,\n ) => (\n <div\n className={cx({\n [styles.fixed()]: !isWidthInPercent,\n [styles.stretch()]: isWidthInPercent,\n [styles.stretchFallback()]: Boolean(isWidthInPercent && this.props.width && (isIE11 || isEdge)),\n })}\n >\n <div\n className={cx({\n [styles.item()]: true,\n [styles.itemFirst()]: isFirstChild,\n })}\n >\n {tryPassCorners(child, isFirstChild, isLastChild)}\n </div>\n </div>\n );\n\n private renderWrappedChildren(\n parent: React.ReactElement<GroupChildProps>,\n isParentFirst: boolean,\n isParentLast: boolean,\n ): React.ReactNode {\n let shouldStretchParent = false;\n const nestedChildren = React.Children.toArray(parent.props.children);\n\n const modifiedChildren = nestedChildren.map((nestedChild, index) => {\n if (!nestedChild || !React.isValidElement<GroupChildProps>(nestedChild)) {\n return null;\n }\n\n const isFirstChild = isParentFirst && index === 0;\n const isLastChild = isParentLast && index === nestedChildren.length - 1;\n if (hasWidthInPercent(nestedChild)) {\n shouldStretchParent = true;\n }\n\n return this.renderChild(nestedChild, isFirstChild, isLastChild, hasWidthInPercent(nestedChild));\n });\n\n const wrappedChildren = (\n <div className={cx(styles.wrappedChildren(), { [styles.stretch()]: shouldStretchParent })}>\n {modifiedChildren}\n </div>\n );\n\n return React.cloneElement<GroupChildProps>(parent, {\n children: wrappedChildren,\n });\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
- import PropTypes from 'prop-types';
3
2
  import type { CommonProps } from '../../internal/CommonWrapper';
3
+ import type { TGetRootNode } from '../../lib/rootNode';
4
4
  export interface GroupProps extends CommonProps {
5
5
  /** Задает длину компонента Group. */
6
6
  width?: React.CSSProperties['width'];
@@ -17,9 +17,10 @@ export declare const GroupDataTids: {
17
17
  export declare class Group extends React.Component<GroupProps> {
18
18
  static __KONTUR_REACT_UI__: string;
19
19
  static displayName: string;
20
+ getRootNode: TGetRootNode;
20
21
  private setRootNode;
21
- static propTypes: {
22
- width: PropTypes.Requireable<NonNullable<string | number | null | undefined>>;
23
- };
22
+ private featureFlags;
24
23
  render(): React.JSX.Element;
24
+ private renderChild;
25
+ private renderWrappedChildren;
25
26
  }
@@ -1,23 +1,26 @@
1
1
  import _taggedTemplateLiteralLoose from "@babel/runtime/helpers/esm/taggedTemplateLiteralLoose";
2
- var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6;
2
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7;
3
3
  import { css, memoizeStyle } from "../../../lib/theming/Emotion";
4
4
  export var styles = memoizeStyle({
5
5
  root: function root() {
6
6
  return css(_templateObject || (_templateObject = _taggedTemplateLiteralLoose(["\n display: inline-flex;\n line-height: normal;\n "])));
7
7
  },
8
+ wrappedChildren: function wrappedChildren() {
9
+ return css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteralLoose(["\n display: flex;\n "])));
10
+ },
8
11
  fixed: function fixed() {
9
- return css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteralLoose(["\n flex-shrink: 0;\n display: inline-block;\n "])));
12
+ return css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteralLoose(["\n flex-shrink: 0;\n display: inline-block;\n "])));
10
13
  },
11
14
  stretch: function stretch() {
12
- return css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteralLoose(["\n flex-grow: 1;\n flex-shrink: 1;\n "])));
15
+ return css(_templateObject4 || (_templateObject4 = _taggedTemplateLiteralLoose(["\n flex-grow: 1;\n flex-shrink: 1;\n "])));
13
16
  },
14
17
  stretchFallback: function stretchFallback() {
15
- return css(_templateObject4 || (_templateObject4 = _taggedTemplateLiteralLoose(["\n flex-basis: 100%;\n "])));
18
+ return css(_templateObject5 || (_templateObject5 = _taggedTemplateLiteralLoose(["\n flex-basis: 100%;\n "])));
16
19
  },
17
20
  item: function item() {
18
- return css(_templateObject5 || (_templateObject5 = _taggedTemplateLiteralLoose(["\n margin-left: -1px;\n "])));
21
+ return css(_templateObject6 || (_templateObject6 = _taggedTemplateLiteralLoose(["\n margin-left: -1px;\n "])));
19
22
  },
20
23
  itemFirst: function itemFirst() {
21
- return css(_templateObject6 || (_templateObject6 = _taggedTemplateLiteralLoose(["\n margin-left: 0;\n "])));
24
+ return css(_templateObject7 || (_templateObject7 = _taggedTemplateLiteralLoose(["\n margin-left: 0;\n "])));
22
25
  }
23
26
  });
@@ -1 +1 @@
1
- {"version":3,"names":["css","memoizeStyle","styles","root","_templateObject","_taggedTemplateLiteralLoose","fixed","_templateObject2","stretch","_templateObject3","stretchFallback","_templateObject4","item","_templateObject5","itemFirst","_templateObject6"],"sources":["Group.styles.ts"],"sourcesContent":["import { css, memoizeStyle } from '../../lib/theming/Emotion';\n\nexport const styles = memoizeStyle({\n root() {\n return css`\n display: inline-flex;\n line-height: normal;\n `;\n },\n\n fixed() {\n return css`\n flex-shrink: 0;\n display: inline-block;\n `;\n },\n\n stretch() {\n return css`\n flex-grow: 1;\n flex-shrink: 1;\n `;\n },\n\n stretchFallback() {\n return css`\n flex-basis: 100%;\n `;\n },\n\n item() {\n return css`\n margin-left: -1px;\n `;\n },\n\n itemFirst() {\n return css`\n margin-left: 0;\n `;\n },\n});\n"],"mappings":"8MAAA,SAASA,GAAG,EAAEC,YAAY,QAAQ,2BAA2B;;AAE7D,OAAO,IAAMC,MAAM,GAAGD,YAAY,CAAC;EACjCE,IAAI,WAAAA,KAAA,EAAG;IACL,OAAOH,GAAG,CAAAI,eAAA,KAAAA,eAAA,GAAAC,2BAAA;;;;EAIZ,CAAC;;EAEDC,KAAK,WAAAA,MAAA,EAAG;IACN,OAAON,GAAG,CAAAO,gBAAA,KAAAA,gBAAA,GAAAF,2BAAA;;;;EAIZ,CAAC;;EAEDG,OAAO,WAAAA,QAAA,EAAG;IACR,OAAOR,GAAG,CAAAS,gBAAA,KAAAA,gBAAA,GAAAJ,2BAAA;;;;EAIZ,CAAC;;EAEDK,eAAe,WAAAA,gBAAA,EAAG;IAChB,OAAOV,GAAG,CAAAW,gBAAA,KAAAA,gBAAA,GAAAN,2BAAA;;;EAGZ,CAAC;;EAEDO,IAAI,WAAAA,KAAA,EAAG;IACL,OAAOZ,GAAG,CAAAa,gBAAA,KAAAA,gBAAA,GAAAR,2BAAA;;;EAGZ,CAAC;;EAEDS,SAAS,WAAAA,UAAA,EAAG;IACV,OAAOd,GAAG,CAAAe,gBAAA,KAAAA,gBAAA,GAAAV,2BAAA;;;EAGZ;AACF,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["css","memoizeStyle","styles","root","_templateObject","_taggedTemplateLiteralLoose","wrappedChildren","_templateObject2","fixed","_templateObject3","stretch","_templateObject4","stretchFallback","_templateObject5","item","_templateObject6","itemFirst","_templateObject7"],"sources":["Group.styles.ts"],"sourcesContent":["import { css, memoizeStyle } from '../../lib/theming/Emotion';\n\nexport const styles = memoizeStyle({\n root() {\n return css`\n display: inline-flex;\n line-height: normal;\n `;\n },\n\n wrappedChildren() {\n return css`\n display: flex;\n `;\n },\n\n fixed() {\n return css`\n flex-shrink: 0;\n display: inline-block;\n `;\n },\n\n stretch() {\n return css`\n flex-grow: 1;\n flex-shrink: 1;\n `;\n },\n\n stretchFallback() {\n return css`\n flex-basis: 100%;\n `;\n },\n\n item() {\n return css`\n margin-left: -1px;\n `;\n },\n\n itemFirst() {\n return css`\n margin-left: 0;\n `;\n },\n});\n"],"mappings":"gOAAA,SAASA,GAAG,EAAEC,YAAY,QAAQ,2BAA2B;;AAE7D,OAAO,IAAMC,MAAM,GAAGD,YAAY,CAAC;EACjCE,IAAI,WAAAA,KAAA,EAAG;IACL,OAAOH,GAAG,CAAAI,eAAA,KAAAA,eAAA,GAAAC,2BAAA;;;;EAIZ,CAAC;;EAEDC,eAAe,WAAAA,gBAAA,EAAG;IAChB,OAAON,GAAG,CAAAO,gBAAA,KAAAA,gBAAA,GAAAF,2BAAA;;;EAGZ,CAAC;;EAEDG,KAAK,WAAAA,MAAA,EAAG;IACN,OAAOR,GAAG,CAAAS,gBAAA,KAAAA,gBAAA,GAAAJ,2BAAA;;;;EAIZ,CAAC;;EAEDK,OAAO,WAAAA,QAAA,EAAG;IACR,OAAOV,GAAG,CAAAW,gBAAA,KAAAA,gBAAA,GAAAN,2BAAA;;;;EAIZ,CAAC;;EAEDO,eAAe,WAAAA,gBAAA,EAAG;IAChB,OAAOZ,GAAG,CAAAa,gBAAA,KAAAA,gBAAA,GAAAR,2BAAA;;;EAGZ,CAAC;;EAEDS,IAAI,WAAAA,KAAA,EAAG;IACL,OAAOd,GAAG,CAAAe,gBAAA,KAAAA,gBAAA,GAAAV,2BAAA;;;EAGZ,CAAC;;EAEDW,SAAS,WAAAA,UAAA,EAAG;IACV,OAAOhB,GAAG,CAAAiB,gBAAA,KAAAA,gBAAA,GAAAZ,2BAAA;;;EAGZ;AACF,CAAC,CAAC","ignoreList":[]}
@@ -1,5 +1,6 @@
1
1
  export declare const styles: {
2
2
  root(): string;
3
+ wrappedChildren(): string;
3
4
  fixed(): string;
4
5
  stretch(): string;
5
6
  stretchFallback(): string;
@@ -1 +1 @@
1
- {"version":3,"names":["React","globalObject","ThemeContext","ThemeFactory","DUMMY_LOCATION","Popup","isTestEnv","CommonWrapper","cx","rootNode","createPropsGetter","styles","HINT_BORDER_COLOR","Hint","_class","_Hint","_React$PureComponent","_this","_len","arguments","length","args","Array","_key","call","apply","concat","getProps","defaultProps","state","opened","manual","position","popupRef","createRef","getAnchorElement","_this$popupRef$curren","current","anchorElement","getPositions","props","allowedPositions","handleMouseEnter","e","timer","setTimeout","open","onMouseEnter","handleMouseLeave","clearTimeout","setState","onMouseLeave","_inheritsLoose","_proto","prototype","getAllowedPositions","componentDidUpdate","prevProps","_this$getProps","componentWillUnmount","render","_this2","createElement","Consumer","theme","Provider","value","create","popupMargin","hintMargin","popupBorder","hintBorder","popupBorderRadius","hintBorderRadius","renderMain","_this3","_this$getProps2","disableAnimations","useWrapper","_extends","rootNodeRef","setRootNode","hasPin","children","positions","pos","backgroundColor","hintBgColor","borderColor","onPositionChange","ref","withoutMobile","renderContent","_cx","text","_this$getProps3","maxWidth","centerAlignPositions","className","content","contentCenter","includes","style","PureComponent","__KONTUR_REACT_UI__","displayName"],"sources":["Hint.tsx"],"sourcesContent":["import React from 'react';\nimport type { SafeTimer } from '@skbkontur/global-object';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport type { Theme } from '../../lib/theming/Theme';\nimport type { PopupPinnablePositionsType, ShortPopupPositionsType } from '../../internal/Popup';\nimport { DUMMY_LOCATION, Popup } from '../../internal/Popup';\nimport type { Nullable } from '../../typings/utility-types';\nimport type { MouseEventType } from '../../typings/event-types';\nimport { isTestEnv } from '../../lib/currentEnvironment';\nimport type { CommonProps } from '../../internal/CommonWrapper';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport type { TSetRootNode } from '../../lib/rootNode';\nimport { rootNode } from '../../lib/rootNode';\nimport type { InstanceWithAnchorElement } from '../../lib/InstanceWithAnchorElement';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\n\nimport { styles } from './Hint.styles';\n\nconst HINT_BORDER_COLOR = 'transparent';\n\nexport interface HintProps extends CommonProps {\n /** @ignore */\n children?: React.ReactNode;\n\n /** Переводит отображение подсказки в _\"ручной режим\"_.\n В _\"ручном режиме\"_ подсказку можно активировать только задав значение пропу `opened`. */\n manual?: boolean;\n\n /** Задает максимальную ширину подсказки. */\n maxWidth?: React.CSSProperties['maxWidth'];\n\n /** Задает функцию, которая вызывается при наведении мышкой (событие `onmouseenter`). */\n onMouseEnter?: (event: MouseEventType) => void;\n\n /** Задает функцию, которая вызывается при уходе мышки с объекта (событие `onmouseleave`). */\n onMouseLeave?: (event: MouseEventType) => void;\n\n /** Открывает подсказку. Работает только при `manual=true`. */\n opened?: boolean;\n\n /** Задает приоритетное расположение подсказки относительно текста. */\n pos?: ShortPopupPositionsType | PopupPinnablePositionsType;\n\n /** Задает текст подсказки. */\n text: React.ReactNode;\n\n /** Задает список позиций, которые будет занимать хинт. Если положение хинта в определенной позиции будет выходить за край экрана, то будет выбрана следующая позиция. Обязательно должен включать позицию указанную в `pos`. */\n allowedPositions?: PopupPinnablePositionsType[];\n\n /** Отключает анимацию. */\n disableAnimations?: boolean;\n\n /** Явно указывает, что вложенные элементы должны быть обёрнуты в `<span/>`.\n * Используется для корректного позиционирования хинта при двух и более вложенных элементах.\n * _Примечание_: при **двух и более** вложенных элементах обёртка будет добавлена автоматически. */\n useWrapper?: boolean;\n}\n\nexport interface HintState {\n opened: boolean;\n position: PopupPinnablePositionsType;\n}\n\ntype DefaultProps = Required<Pick<HintProps, 'manual' | 'opened' | 'maxWidth' | 'disableAnimations' | 'useWrapper'>>;\n\n/**\n * Всплывающая подсказка `Hint`.\n * По умолчанию отображается при наведении на элемент, но можно задать другие условия отображения.\n *\n * Для подсказки, всплывающей по клику используйте Tooltip.\n */\n@rootNode\nexport class Hint extends React.PureComponent<HintProps, HintState> implements InstanceWithAnchorElement {\n public static __KONTUR_REACT_UI__ = 'Hint';\n public static displayName = 'Hint';\n\n public static defaultProps: DefaultProps = {\n manual: false,\n opened: false,\n maxWidth: 200,\n disableAnimations: isTestEnv,\n useWrapper: false,\n };\n\n private getProps = createPropsGetter(Hint.defaultProps);\n\n public state: HintState = {\n opened: this.getProps().manual ? !!this.getProps().opened : false,\n position: DUMMY_LOCATION.position,\n };\n\n private timer: SafeTimer;\n private theme!: Theme;\n private setRootNode!: TSetRootNode;\n\n private popupRef = React.createRef<Popup>();\n\n public getAllowedPositions() {\n return this.props.allowedPositions;\n }\n\n public componentDidUpdate(prevProps: HintProps) {\n const { opened, manual } = this.getProps();\n if (!manual) {\n return;\n }\n if (this.timer) {\n globalObject.clearTimeout(this.timer);\n this.timer = null;\n }\n if (opened !== prevProps.opened) {\n this.setState({ opened: !!opened });\n }\n }\n\n public componentWillUnmount() {\n if (this.timer) {\n globalObject.clearTimeout(this.timer);\n this.timer = null;\n }\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return (\n <ThemeContext.Provider\n value={ThemeFactory.create(\n {\n popupMargin: theme.hintMargin,\n popupBorder: theme.hintBorder,\n popupBorderRadius: theme.hintBorderRadius,\n },\n this.theme,\n )}\n >\n {this.renderMain()}\n </ThemeContext.Provider>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n public renderMain() {\n const { disableAnimations, useWrapper } = this.getProps();\n\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <Popup\n hasPin={false}\n opened={this.state.opened}\n anchorElement={this.props.children}\n positions={this.getPositions()}\n pos={this.props.pos}\n backgroundColor={this.theme.hintBgColor}\n borderColor={HINT_BORDER_COLOR}\n onPositionChange={(position) => this.setState({ position })}\n disableAnimations={disableAnimations}\n onMouseEnter={this.handleMouseEnter}\n onMouseLeave={this.handleMouseLeave}\n useWrapper={useWrapper}\n ref={this.popupRef}\n withoutMobile\n >\n {this.renderContent()}\n </Popup>\n </CommonWrapper>\n );\n }\n\n public getAnchorElement = (): Nullable<Element> => {\n return this.popupRef.current?.anchorElement;\n };\n\n private renderContent() {\n if (!this.props.text) {\n return null;\n }\n\n const { maxWidth } = this.getProps();\n const centerAlignPositions = ['top', 'top center', 'bottom', 'bottom center'];\n const className = cx({\n [styles.content(this.theme)]: true,\n [styles.contentCenter(this.theme)]: centerAlignPositions.includes(this.state.position),\n });\n return (\n <div className={className} style={{ maxWidth }}>\n {this.props.text}\n </div>\n );\n }\n\n private getPositions = (): PopupPinnablePositionsType[] | undefined => {\n return this.props.allowedPositions;\n };\n\n private handleMouseEnter = (e: MouseEventType) => {\n if (!this.getProps().manual && !this.timer) {\n this.timer = globalObject.setTimeout(this.open, 400);\n }\n\n if (this.props.onMouseEnter) {\n this.props.onMouseEnter(e);\n }\n };\n\n private handleMouseLeave = (e: MouseEventType) => {\n if (!this.getProps().manual && this.timer) {\n globalObject.clearTimeout(this.timer);\n this.timer = null;\n this.setState({ opened: false });\n }\n\n if (this.props.onMouseLeave) {\n this.props.onMouseLeave(e);\n }\n };\n\n private open = () => {\n this.setState({ opened: true });\n };\n}\n"],"mappings":"kJAAA,OAAOA,KAAK,MAAM,OAAO;;AAEzB,SAASC,YAAY,QAAQ,0BAA0B;;AAEvD,SAASC,YAAY,QAAQ,gCAAgC;AAC7D,SAASC,YAAY,QAAQ,gCAAgC;;;AAG7D,SAASC,cAAc,EAAEC,KAAK,QAAQ,sBAAsB;;;AAG5D,SAASC,SAAS,QAAQ,8BAA8B;;AAExD,SAASC,aAAa,QAAQ,8BAA8B;AAC5D,SAASC,EAAE,QAAQ,2BAA2B;;AAE9C,SAASC,QAAQ,QAAQ,oBAAoB;;AAE7C,SAASC,iBAAiB,QAAQ,6BAA6B;;AAE/D,SAASC,MAAM,QAAQ,eAAe;;AAEtC,IAAMC,iBAAiB,GAAG,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+CvC;AACA;AACA;AACA;AACA;AACA;AACA;AACaC,IAAI,GADhBJ,QAAQ,CAAAK,MAAA,IAAAC,KAAA,0BAAAC,oBAAA,YAAAH,KAAA,OAAAI,KAAA,UAAAC,IAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAC,IAAA,OAAAC,KAAA,CAAAJ,IAAA,GAAAK,IAAA,MAAAA,IAAA,GAAAL,IAAA,EAAAK,IAAA,KAAAF,IAAA,CAAAE,IAAA,IAAAJ,SAAA,CAAAI,IAAA,GAAAN,KAAA,GAAAD,oBAAA,CAAAQ,IAAA,CAAAC,KAAA,CAAAT,oBAAA,SAAAU,MAAA,CAAAL,IAAA,WAAAJ,KAAA;;;;;;;;;;;;IAaCU,QAAQ,GAAGjB,iBAAiB,CAACG,IAAI,CAACe,YAAY,CAAC,CAAAX,KAAA;;IAEhDY,KAAK,GAAc;MACxBC,MAAM,EAAEb,KAAA,CAAKU,QAAQ,CAAC,CAAC,CAACI,MAAM,GAAG,CAAC,CAACd,KAAA,CAAKU,QAAQ,CAAC,CAAC,CAACG,MAAM,GAAG,KAAK;MACjEE,QAAQ,EAAE5B,cAAc,CAAC4B;IAC3B,CAAC,CAAAf,KAAA;;;;;;IAMOgB,QAAQ,gBAAGjC,KAAK,CAACkC,SAAS,CAAQ,CAAC,CAAAjB,KAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA8EpCkB,gBAAgB,GAAG,YAAyB,KAAAC,qBAAA;MACjD,QAAAA,qBAAA,GAAOnB,KAAA,CAAKgB,QAAQ,CAACI,OAAO,qBAArBD,qBAAA,CAAuBE,aAAa;IAC7C,CAAC,CAAArB,KAAA;;;;;;;;;;;;;;;;;;;;IAoBOsB,YAAY,GAAG,YAAgD;MACrE,OAAOtB,KAAA,CAAKuB,KAAK,CAACC,gBAAgB;IACpC,CAAC,CAAAxB,KAAA;;IAEOyB,gBAAgB,GAAG,UAACC,CAAiB,EAAK;MAChD,IAAI,CAAC1B,KAAA,CAAKU,QAAQ,CAAC,CAAC,CAACI,MAAM,IAAI,CAACd,KAAA,CAAK2B,KAAK,EAAE;QAC1C3B,KAAA,CAAK2B,KAAK,GAAG3C,YAAY,CAAC4C,UAAU,CAAC5B,KAAA,CAAK6B,IAAI,EAAE,GAAG,CAAC;MACtD;;MAEA,IAAI7B,KAAA,CAAKuB,KAAK,CAACO,YAAY,EAAE;QAC3B9B,KAAA,CAAKuB,KAAK,CAACO,YAAY,CAACJ,CAAC,CAAC;MAC5B;IACF,CAAC,CAAA1B,KAAA;;IAEO+B,gBAAgB,GAAG,UAACL,CAAiB,EAAK;MAChD,IAAI,CAAC1B,KAAA,CAAKU,QAAQ,CAAC,CAAC,CAACI,MAAM,IAAId,KAAA,CAAK2B,KAAK,EAAE;QACzC3C,YAAY,CAACgD,YAAY,CAAChC,KAAA,CAAK2B,KAAK,CAAC;QACrC3B,KAAA,CAAK2B,KAAK,GAAG,IAAI;QACjB3B,KAAA,CAAKiC,QAAQ,CAAC,EAAEpB,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;MAClC;;MAEA,IAAIb,KAAA,CAAKuB,KAAK,CAACW,YAAY,EAAE;QAC3BlC,KAAA,CAAKuB,KAAK,CAACW,YAAY,CAACR,CAAC,CAAC;MAC5B;IACF,CAAC,CAAA1B,KAAA;;IAEO6B,IAAI,GAAG,YAAM;MACnB7B,KAAA,CAAKiC,QAAQ,CAAC,EAAEpB,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;IACjC,CAAC,QAAAb,KAAA,EAAAmC,cAAA,CAAAvC,IAAA,EAAAG,oBAAA,MAAAqC,MAAA,GAAAxC,IAAA,CAAAyC,SAAA,CAAAD,MAAA,CA9HME,mBAAmB,GAA1B,SAAAA,oBAAA,EAA6B,CAC3B,OAAO,IAAI,CAACf,KAAK,CAACC,gBAAgB,CACpC,CAAC,CAAAY,MAAA,CAEMG,kBAAkB,GAAzB,SAAAA,mBAA0BC,SAAoB,EAAE,CAC9C,IAAAC,cAAA,GAA2B,IAAI,CAAC/B,QAAQ,CAAC,CAAC,CAAlCG,MAAM,GAAA4B,cAAA,CAAN5B,MAAM,CAAEC,MAAM,GAAA2B,cAAA,CAAN3B,MAAM,CACtB,IAAI,CAACA,MAAM,EAAE,CACX,OACF,CACA,IAAI,IAAI,CAACa,KAAK,EAAE,CACd3C,YAAY,CAACgD,YAAY,CAAC,IAAI,CAACL,KAAK,CAAC,CACrC,IAAI,CAACA,KAAK,GAAG,IAAI,CACnB,CACA,IAAId,MAAM,KAAK2B,SAAS,CAAC3B,MAAM,EAAE,CAC/B,IAAI,CAACoB,QAAQ,CAAC,EAAEpB,MAAM,EAAE,CAAC,CAACA,MAAM,CAAC,CAAC,CAAC,CACrC,CACF,CAAC,CAAAuB,MAAA,CAEMM,oBAAoB,GAA3B,SAAAA,qBAAA,EAA8B,CAC5B,IAAI,IAAI,CAACf,KAAK,EAAE,CACd3C,YAAY,CAACgD,YAAY,CAAC,IAAI,CAACL,KAAK,CAAC,CACrC,IAAI,CAACA,KAAK,GAAG,IAAI,CACnB,CACF,CAAC,CAAAS,MAAA,CAEMO,MAAM,GAAb,SAAAA,OAAA,EAAgB,KAAAC,MAAA,QACd,oBACE7D,KAAA,CAAA8D,aAAA,CAAC5D,YAAY,CAAC6D,QAAQ,QACnB,UAACC,KAAK,EAAK,CACVH,MAAI,CAACG,KAAK,GAAGA,KAAK,CAClB,oBACEhE,KAAA,CAAA8D,aAAA,CAAC5D,YAAY,CAAC+D,QAAQ,IACpBC,KAAK,EAAE/D,YAAY,CAACgE,MAAM,CACxB,EACEC,WAAW,EAAEJ,KAAK,CAACK,UAAU,EAC7BC,WAAW,EAAEN,KAAK,CAACO,UAAU,EAC7BC,iBAAiB,EAAER,KAAK,CAACS,gBAAgB,CAC3C,CAAC,EACDZ,MAAI,CAACG,KACP,CAAE,IAEDH,MAAI,CAACa,UAAU,CAAC,CACI,CAAC,CAE5B,CACqB,CAAC,CAE5B,CAAC,CAAArB,MAAA,CAEMqB,UAAU,GAAjB,SAAAA,WAAA,EAAoB,KAAAC,MAAA,QAClB,IAAAC,eAAA,GAA0C,IAAI,CAACjD,QAAQ,CAAC,CAAC,CAAjDkD,iBAAiB,GAAAD,eAAA,CAAjBC,iBAAiB,CAAEC,UAAU,GAAAF,eAAA,CAAVE,UAAU,CAErC,oBACE9E,KAAA,CAAA8D,aAAA,CAACvD,aAAa,EAAAwE,QAAA,GAACC,WAAW,EAAE,IAAI,CAACC,WAAY,IAAK,IAAI,CAACzC,KAAK,gBAC1DxC,KAAA,CAAA8D,aAAA,CAACzD,KAAK,IACJ6E,MAAM,EAAE,KAAM,EACdpD,MAAM,EAAE,IAAI,CAACD,KAAK,CAACC,MAAO,EAC1BQ,aAAa,EAAE,IAAI,CAACE,KAAK,CAAC2C,QAAS,EACnCC,SAAS,EAAE,IAAI,CAAC7C,YAAY,CAAC,CAAE,EAC/B8C,GAAG,EAAE,IAAI,CAAC7C,KAAK,CAAC6C,GAAI,EACpBC,eAAe,EAAE,IAAI,CAACtB,KAAK,CAACuB,WAAY,EACxCC,WAAW,EAAE5E,iBAAkB,EAC/B6E,gBAAgB,EAAE,SAAAA,iBAACzD,QAAQ,UAAK2C,MAAI,CAACzB,QAAQ,CAAC,EAAElB,QAAQ,EAARA,QAAQ,CAAC,CAAC,CAAC,EAAC,EAC5D6C,iBAAiB,EAAEA,iBAAkB,EACrC9B,YAAY,EAAE,IAAI,CAACL,gBAAiB,EACpCS,YAAY,EAAE,IAAI,CAACH,gBAAiB,EACpC8B,UAAU,EAAEA,UAAW,EACvBY,GAAG,EAAE,IAAI,CAACzD,QAAS,EACnB0D,aAAa,UAEZ,IAAI,CAACC,aAAa,CAAC,CACf,CACM,CAAC,CAEpB,CAAC,CAAAvC,MAAA,CAMOuC,aAAa,GAArB,SAAAA,cAAA,EAAwB,KAAAC,GAAA,CACtB,IAAI,CAAC,IAAI,CAACrD,KAAK,CAACsD,IAAI,EAAE,CACpB,OAAO,IAAI,CACb,CAEA,IAAAC,eAAA,GAAqB,IAAI,CAACpE,QAAQ,CAAC,CAAC,CAA5BqE,QAAQ,GAAAD,eAAA,CAARC,QAAQ,CAChB,IAAMC,oBAAoB,GAAG,CAAC,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,eAAe,CAAC,CAC7E,IAAMC,SAAS,GAAG1F,EAAE,EAAAqF,GAAA,OAAAA,GAAA,CACjBlF,MAAM,CAACwF,OAAO,CAAC,IAAI,CAACnC,KAAK,CAAC,IAAG,IAAI,EAAA6B,GAAA,CACjClF,MAAM,CAACyF,aAAa,CAAC,IAAI,CAACpC,KAAK,CAAC,IAAGiC,oBAAoB,CAACI,QAAQ,CAAC,IAAI,CAACxE,KAAK,CAACG,QAAQ,CAAC,EAAA6D,GAAA,CACvF,CAAC,CACF,oBACE7F,KAAA,CAAA8D,aAAA,UAAKoC,SAAS,EAAEA,SAAU,EAACI,KAAK,EAAE,EAAEN,QAAQ,EAARA,QAAQ,CAAC,CAAE,IAC5C,IAAI,CAACxD,KAAK,CAACsD,IACT,CAAC,CAEV,CAAC,QAAAjF,IAAA,GAzHuBb,KAAK,CAACuG,aAAa,GAAAxF,KAAA,CAC7ByF,mBAAmB,GAAG,MAAM,EAAAzF,KAAA,CAC5B0F,WAAW,GAAG,MAAM,EAAA1F,KAAA,CAEpBa,YAAY,GAAiB,EACzCG,MAAM,EAAE,KAAK,EACbD,MAAM,EAAE,KAAK,EACbkE,QAAQ,EAAE,GAAG,EACbnB,iBAAiB,EAAEvE,SAAS,EAC5BwE,UAAU,EAAE,KAAK,CACnB,CAAC,EAAA/D,KAAA,MAAAD,MAAA","ignoreList":[]}
1
+ {"version":3,"names":["React","globalObject","ThemeContext","ThemeFactory","DUMMY_LOCATION","Popup","isTestEnv","CommonWrapper","cx","rootNode","createPropsGetter","styles","HINT_BORDER_COLOR","Hint","_class","_Hint","_React$PureComponent","_this","_len","arguments","length","args","Array","_key","call","apply","concat","getProps","defaultProps","state","opened","manual","position","popupRef","createRef","getAnchorElement","_this$popupRef$curren","current","anchorElement","getPositions","props","allowedPositions","handleMouseEnter","e","timer","setTimeout","open","onMouseEnter","handleMouseLeave","clearTimeout","setState","onMouseLeave","_inheritsLoose","_proto","prototype","getAllowedPositions","componentDidUpdate","prevProps","_this$getProps","componentWillUnmount","render","_this2","createElement","Consumer","theme","Provider","value","create","popupMargin","hintMargin","popupBorder","hintBorder","popupBorderRadius","hintBorderRadius","renderMain","_this3","_this$getProps2","disableAnimations","useWrapper","_extends","rootNodeRef","setRootNode","hasPin","children","positions","pos","backgroundColor","hintBgColor","borderColor","onPositionChange","ref","withoutMobile","renderContent","_cx","text","_this$getProps3","maxWidth","centerAlignPositions","className","content","contentCenter","includes","style","PureComponent","__KONTUR_REACT_UI__","displayName"],"sources":["Hint.tsx"],"sourcesContent":["import React from 'react';\nimport type { SafeTimer } from '@skbkontur/global-object';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport type { Theme } from '../../lib/theming/Theme';\nimport type { PopupPinnablePositionsType, ShortPopupPositionsType } from '../../internal/Popup';\nimport { DUMMY_LOCATION, Popup } from '../../internal/Popup';\nimport type { Nullable } from '../../typings/utility-types';\nimport type { MouseEventType } from '../../typings/event-types';\nimport { isTestEnv } from '../../lib/currentEnvironment';\nimport type { CommonProps } from '../../internal/CommonWrapper';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport type { TGetRootNode, TSetRootNode } from '../../lib/rootNode';\nimport { rootNode } from '../../lib/rootNode';\nimport type { InstanceWithAnchorElement } from '../../lib/InstanceWithAnchorElement';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\n\nimport { styles } from './Hint.styles';\n\nconst HINT_BORDER_COLOR = 'transparent';\n\nexport interface HintProps extends CommonProps {\n /** @ignore */\n children?: React.ReactNode;\n\n /** Переводит отображение подсказки в _\"ручной режим\"_.\n В _\"ручном режиме\"_ подсказку можно активировать только задав значение пропу `opened`. */\n manual?: boolean;\n\n /** Задает максимальную ширину подсказки. */\n maxWidth?: React.CSSProperties['maxWidth'];\n\n /** Задает функцию, которая вызывается при наведении мышкой (событие `onmouseenter`). */\n onMouseEnter?: (event: MouseEventType) => void;\n\n /** Задает функцию, которая вызывается при уходе мышки с объекта (событие `onmouseleave`). */\n onMouseLeave?: (event: MouseEventType) => void;\n\n /** Открывает подсказку. Работает только при `manual=true`. */\n opened?: boolean;\n\n /** Задает приоритетное расположение подсказки относительно текста. */\n pos?: ShortPopupPositionsType | PopupPinnablePositionsType;\n\n /** Задает текст подсказки. */\n text: React.ReactNode;\n\n /** Задает список позиций, которые будет занимать хинт. Если положение хинта в определенной позиции будет выходить за край экрана, то будет выбрана следующая позиция. Обязательно должен включать позицию указанную в `pos`. */\n allowedPositions?: PopupPinnablePositionsType[];\n\n /** Отключает анимацию. */\n disableAnimations?: boolean;\n\n /** Явно указывает, что вложенные элементы должны быть обёрнуты в `<span/>`.\n * Используется для корректного позиционирования хинта при двух и более вложенных элементах.\n * _Примечание_: при **двух и более** вложенных элементах обёртка будет добавлена автоматически. */\n useWrapper?: boolean;\n}\n\nexport interface HintState {\n opened: boolean;\n position: PopupPinnablePositionsType;\n}\n\ntype DefaultProps = Required<Pick<HintProps, 'manual' | 'opened' | 'maxWidth' | 'disableAnimations' | 'useWrapper'>>;\n\n/**\n * Всплывающая подсказка `Hint`.\n * По умолчанию отображается при наведении на элемент, но можно задать другие условия отображения.\n *\n * Для подсказки, всплывающей по клику используйте Tooltip.\n */\n@rootNode\nexport class Hint extends React.PureComponent<HintProps, HintState> implements InstanceWithAnchorElement {\n public static __KONTUR_REACT_UI__ = 'Hint';\n public static displayName = 'Hint';\n\n public static defaultProps: DefaultProps = {\n manual: false,\n opened: false,\n maxWidth: 200,\n disableAnimations: isTestEnv,\n useWrapper: false,\n };\n\n private getProps = createPropsGetter(Hint.defaultProps);\n\n public state: HintState = {\n opened: this.getProps().manual ? !!this.getProps().opened : false,\n position: DUMMY_LOCATION.position,\n };\n\n private timer: SafeTimer;\n private theme!: Theme;\n public getRootNode!: TGetRootNode;\n private setRootNode!: TSetRootNode;\n\n private popupRef = React.createRef<Popup>();\n\n public getAllowedPositions() {\n return this.props.allowedPositions;\n }\n\n public componentDidUpdate(prevProps: HintProps) {\n const { opened, manual } = this.getProps();\n if (!manual) {\n return;\n }\n if (this.timer) {\n globalObject.clearTimeout(this.timer);\n this.timer = null;\n }\n if (opened !== prevProps.opened) {\n this.setState({ opened: !!opened });\n }\n }\n\n public componentWillUnmount() {\n if (this.timer) {\n globalObject.clearTimeout(this.timer);\n this.timer = null;\n }\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return (\n <ThemeContext.Provider\n value={ThemeFactory.create(\n {\n popupMargin: theme.hintMargin,\n popupBorder: theme.hintBorder,\n popupBorderRadius: theme.hintBorderRadius,\n },\n this.theme,\n )}\n >\n {this.renderMain()}\n </ThemeContext.Provider>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n public renderMain() {\n const { disableAnimations, useWrapper } = this.getProps();\n\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <Popup\n hasPin={false}\n opened={this.state.opened}\n anchorElement={this.props.children}\n positions={this.getPositions()}\n pos={this.props.pos}\n backgroundColor={this.theme.hintBgColor}\n borderColor={HINT_BORDER_COLOR}\n onPositionChange={(position) => this.setState({ position })}\n disableAnimations={disableAnimations}\n onMouseEnter={this.handleMouseEnter}\n onMouseLeave={this.handleMouseLeave}\n useWrapper={useWrapper}\n ref={this.popupRef}\n withoutMobile\n >\n {this.renderContent()}\n </Popup>\n </CommonWrapper>\n );\n }\n\n public getAnchorElement = (): Nullable<Element> => {\n return this.popupRef.current?.anchorElement;\n };\n\n private renderContent() {\n if (!this.props.text) {\n return null;\n }\n\n const { maxWidth } = this.getProps();\n const centerAlignPositions = ['top', 'top center', 'bottom', 'bottom center'];\n const className = cx({\n [styles.content(this.theme)]: true,\n [styles.contentCenter(this.theme)]: centerAlignPositions.includes(this.state.position),\n });\n return (\n <div className={className} style={{ maxWidth }}>\n {this.props.text}\n </div>\n );\n }\n\n private getPositions = (): PopupPinnablePositionsType[] | undefined => {\n return this.props.allowedPositions;\n };\n\n private handleMouseEnter = (e: MouseEventType) => {\n if (!this.getProps().manual && !this.timer) {\n this.timer = globalObject.setTimeout(this.open, 400);\n }\n\n if (this.props.onMouseEnter) {\n this.props.onMouseEnter(e);\n }\n };\n\n private handleMouseLeave = (e: MouseEventType) => {\n if (!this.getProps().manual && this.timer) {\n globalObject.clearTimeout(this.timer);\n this.timer = null;\n this.setState({ opened: false });\n }\n\n if (this.props.onMouseLeave) {\n this.props.onMouseLeave(e);\n }\n };\n\n private open = () => {\n this.setState({ opened: true });\n };\n}\n"],"mappings":"kJAAA,OAAOA,KAAK,MAAM,OAAO;;AAEzB,SAASC,YAAY,QAAQ,0BAA0B;;AAEvD,SAASC,YAAY,QAAQ,gCAAgC;AAC7D,SAASC,YAAY,QAAQ,gCAAgC;;;AAG7D,SAASC,cAAc,EAAEC,KAAK,QAAQ,sBAAsB;;;AAG5D,SAASC,SAAS,QAAQ,8BAA8B;;AAExD,SAASC,aAAa,QAAQ,8BAA8B;AAC5D,SAASC,EAAE,QAAQ,2BAA2B;;AAE9C,SAASC,QAAQ,QAAQ,oBAAoB;;AAE7C,SAASC,iBAAiB,QAAQ,6BAA6B;;AAE/D,SAASC,MAAM,QAAQ,eAAe;;AAEtC,IAAMC,iBAAiB,GAAG,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+CvC;AACA;AACA;AACA;AACA;AACA;AACA;AACaC,IAAI,GADhBJ,QAAQ,CAAAK,MAAA,IAAAC,KAAA,0BAAAC,oBAAA,YAAAH,KAAA,OAAAI,KAAA,UAAAC,IAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAC,IAAA,OAAAC,KAAA,CAAAJ,IAAA,GAAAK,IAAA,MAAAA,IAAA,GAAAL,IAAA,EAAAK,IAAA,KAAAF,IAAA,CAAAE,IAAA,IAAAJ,SAAA,CAAAI,IAAA,GAAAN,KAAA,GAAAD,oBAAA,CAAAQ,IAAA,CAAAC,KAAA,CAAAT,oBAAA,SAAAU,MAAA,CAAAL,IAAA,WAAAJ,KAAA;;;;;;;;;;;;IAaCU,QAAQ,GAAGjB,iBAAiB,CAACG,IAAI,CAACe,YAAY,CAAC,CAAAX,KAAA;;IAEhDY,KAAK,GAAc;MACxBC,MAAM,EAAEb,KAAA,CAAKU,QAAQ,CAAC,CAAC,CAACI,MAAM,GAAG,CAAC,CAACd,KAAA,CAAKU,QAAQ,CAAC,CAAC,CAACG,MAAM,GAAG,KAAK;MACjEE,QAAQ,EAAE5B,cAAc,CAAC4B;IAC3B,CAAC,CAAAf,KAAA;;;;;;;IAOOgB,QAAQ,gBAAGjC,KAAK,CAACkC,SAAS,CAAQ,CAAC,CAAAjB,KAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA8EpCkB,gBAAgB,GAAG,YAAyB,KAAAC,qBAAA;MACjD,QAAAA,qBAAA,GAAOnB,KAAA,CAAKgB,QAAQ,CAACI,OAAO,qBAArBD,qBAAA,CAAuBE,aAAa;IAC7C,CAAC,CAAArB,KAAA;;;;;;;;;;;;;;;;;;;;IAoBOsB,YAAY,GAAG,YAAgD;MACrE,OAAOtB,KAAA,CAAKuB,KAAK,CAACC,gBAAgB;IACpC,CAAC,CAAAxB,KAAA;;IAEOyB,gBAAgB,GAAG,UAACC,CAAiB,EAAK;MAChD,IAAI,CAAC1B,KAAA,CAAKU,QAAQ,CAAC,CAAC,CAACI,MAAM,IAAI,CAACd,KAAA,CAAK2B,KAAK,EAAE;QAC1C3B,KAAA,CAAK2B,KAAK,GAAG3C,YAAY,CAAC4C,UAAU,CAAC5B,KAAA,CAAK6B,IAAI,EAAE,GAAG,CAAC;MACtD;;MAEA,IAAI7B,KAAA,CAAKuB,KAAK,CAACO,YAAY,EAAE;QAC3B9B,KAAA,CAAKuB,KAAK,CAACO,YAAY,CAACJ,CAAC,CAAC;MAC5B;IACF,CAAC,CAAA1B,KAAA;;IAEO+B,gBAAgB,GAAG,UAACL,CAAiB,EAAK;MAChD,IAAI,CAAC1B,KAAA,CAAKU,QAAQ,CAAC,CAAC,CAACI,MAAM,IAAId,KAAA,CAAK2B,KAAK,EAAE;QACzC3C,YAAY,CAACgD,YAAY,CAAChC,KAAA,CAAK2B,KAAK,CAAC;QACrC3B,KAAA,CAAK2B,KAAK,GAAG,IAAI;QACjB3B,KAAA,CAAKiC,QAAQ,CAAC,EAAEpB,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;MAClC;;MAEA,IAAIb,KAAA,CAAKuB,KAAK,CAACW,YAAY,EAAE;QAC3BlC,KAAA,CAAKuB,KAAK,CAACW,YAAY,CAACR,CAAC,CAAC;MAC5B;IACF,CAAC,CAAA1B,KAAA;;IAEO6B,IAAI,GAAG,YAAM;MACnB7B,KAAA,CAAKiC,QAAQ,CAAC,EAAEpB,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;IACjC,CAAC,QAAAb,KAAA,EAAAmC,cAAA,CAAAvC,IAAA,EAAAG,oBAAA,MAAAqC,MAAA,GAAAxC,IAAA,CAAAyC,SAAA,CAAAD,MAAA,CA9HME,mBAAmB,GAA1B,SAAAA,oBAAA,EAA6B,CAC3B,OAAO,IAAI,CAACf,KAAK,CAACC,gBAAgB,CACpC,CAAC,CAAAY,MAAA,CAEMG,kBAAkB,GAAzB,SAAAA,mBAA0BC,SAAoB,EAAE,CAC9C,IAAAC,cAAA,GAA2B,IAAI,CAAC/B,QAAQ,CAAC,CAAC,CAAlCG,MAAM,GAAA4B,cAAA,CAAN5B,MAAM,CAAEC,MAAM,GAAA2B,cAAA,CAAN3B,MAAM,CACtB,IAAI,CAACA,MAAM,EAAE,CACX,OACF,CACA,IAAI,IAAI,CAACa,KAAK,EAAE,CACd3C,YAAY,CAACgD,YAAY,CAAC,IAAI,CAACL,KAAK,CAAC,CACrC,IAAI,CAACA,KAAK,GAAG,IAAI,CACnB,CACA,IAAId,MAAM,KAAK2B,SAAS,CAAC3B,MAAM,EAAE,CAC/B,IAAI,CAACoB,QAAQ,CAAC,EAAEpB,MAAM,EAAE,CAAC,CAACA,MAAM,CAAC,CAAC,CAAC,CACrC,CACF,CAAC,CAAAuB,MAAA,CAEMM,oBAAoB,GAA3B,SAAAA,qBAAA,EAA8B,CAC5B,IAAI,IAAI,CAACf,KAAK,EAAE,CACd3C,YAAY,CAACgD,YAAY,CAAC,IAAI,CAACL,KAAK,CAAC,CACrC,IAAI,CAACA,KAAK,GAAG,IAAI,CACnB,CACF,CAAC,CAAAS,MAAA,CAEMO,MAAM,GAAb,SAAAA,OAAA,EAAgB,KAAAC,MAAA,QACd,oBACE7D,KAAA,CAAA8D,aAAA,CAAC5D,YAAY,CAAC6D,QAAQ,QACnB,UAACC,KAAK,EAAK,CACVH,MAAI,CAACG,KAAK,GAAGA,KAAK,CAClB,oBACEhE,KAAA,CAAA8D,aAAA,CAAC5D,YAAY,CAAC+D,QAAQ,IACpBC,KAAK,EAAE/D,YAAY,CAACgE,MAAM,CACxB,EACEC,WAAW,EAAEJ,KAAK,CAACK,UAAU,EAC7BC,WAAW,EAAEN,KAAK,CAACO,UAAU,EAC7BC,iBAAiB,EAAER,KAAK,CAACS,gBAAgB,CAC3C,CAAC,EACDZ,MAAI,CAACG,KACP,CAAE,IAEDH,MAAI,CAACa,UAAU,CAAC,CACI,CAAC,CAE5B,CACqB,CAAC,CAE5B,CAAC,CAAArB,MAAA,CAEMqB,UAAU,GAAjB,SAAAA,WAAA,EAAoB,KAAAC,MAAA,QAClB,IAAAC,eAAA,GAA0C,IAAI,CAACjD,QAAQ,CAAC,CAAC,CAAjDkD,iBAAiB,GAAAD,eAAA,CAAjBC,iBAAiB,CAAEC,UAAU,GAAAF,eAAA,CAAVE,UAAU,CAErC,oBACE9E,KAAA,CAAA8D,aAAA,CAACvD,aAAa,EAAAwE,QAAA,GAACC,WAAW,EAAE,IAAI,CAACC,WAAY,IAAK,IAAI,CAACzC,KAAK,gBAC1DxC,KAAA,CAAA8D,aAAA,CAACzD,KAAK,IACJ6E,MAAM,EAAE,KAAM,EACdpD,MAAM,EAAE,IAAI,CAACD,KAAK,CAACC,MAAO,EAC1BQ,aAAa,EAAE,IAAI,CAACE,KAAK,CAAC2C,QAAS,EACnCC,SAAS,EAAE,IAAI,CAAC7C,YAAY,CAAC,CAAE,EAC/B8C,GAAG,EAAE,IAAI,CAAC7C,KAAK,CAAC6C,GAAI,EACpBC,eAAe,EAAE,IAAI,CAACtB,KAAK,CAACuB,WAAY,EACxCC,WAAW,EAAE5E,iBAAkB,EAC/B6E,gBAAgB,EAAE,SAAAA,iBAACzD,QAAQ,UAAK2C,MAAI,CAACzB,QAAQ,CAAC,EAAElB,QAAQ,EAARA,QAAQ,CAAC,CAAC,CAAC,EAAC,EAC5D6C,iBAAiB,EAAEA,iBAAkB,EACrC9B,YAAY,EAAE,IAAI,CAACL,gBAAiB,EACpCS,YAAY,EAAE,IAAI,CAACH,gBAAiB,EACpC8B,UAAU,EAAEA,UAAW,EACvBY,GAAG,EAAE,IAAI,CAACzD,QAAS,EACnB0D,aAAa,UAEZ,IAAI,CAACC,aAAa,CAAC,CACf,CACM,CAAC,CAEpB,CAAC,CAAAvC,MAAA,CAMOuC,aAAa,GAArB,SAAAA,cAAA,EAAwB,KAAAC,GAAA,CACtB,IAAI,CAAC,IAAI,CAACrD,KAAK,CAACsD,IAAI,EAAE,CACpB,OAAO,IAAI,CACb,CAEA,IAAAC,eAAA,GAAqB,IAAI,CAACpE,QAAQ,CAAC,CAAC,CAA5BqE,QAAQ,GAAAD,eAAA,CAARC,QAAQ,CAChB,IAAMC,oBAAoB,GAAG,CAAC,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,eAAe,CAAC,CAC7E,IAAMC,SAAS,GAAG1F,EAAE,EAAAqF,GAAA,OAAAA,GAAA,CACjBlF,MAAM,CAACwF,OAAO,CAAC,IAAI,CAACnC,KAAK,CAAC,IAAG,IAAI,EAAA6B,GAAA,CACjClF,MAAM,CAACyF,aAAa,CAAC,IAAI,CAACpC,KAAK,CAAC,IAAGiC,oBAAoB,CAACI,QAAQ,CAAC,IAAI,CAACxE,KAAK,CAACG,QAAQ,CAAC,EAAA6D,GAAA,CACvF,CAAC,CACF,oBACE7F,KAAA,CAAA8D,aAAA,UAAKoC,SAAS,EAAEA,SAAU,EAACI,KAAK,EAAE,EAAEN,QAAQ,EAARA,QAAQ,CAAC,CAAE,IAC5C,IAAI,CAACxD,KAAK,CAACsD,IACT,CAAC,CAEV,CAAC,QAAAjF,IAAA,GA1HuBb,KAAK,CAACuG,aAAa,GAAAxF,KAAA,CAC7ByF,mBAAmB,GAAG,MAAM,EAAAzF,KAAA,CAC5B0F,WAAW,GAAG,MAAM,EAAA1F,KAAA,CAEpBa,YAAY,GAAiB,EACzCG,MAAM,EAAE,KAAK,EACbD,MAAM,EAAE,KAAK,EACbkE,QAAQ,EAAE,GAAG,EACbnB,iBAAiB,EAAEvE,SAAS,EAC5BwE,UAAU,EAAE,KAAK,CACnB,CAAC,EAAA/D,KAAA,MAAAD,MAAA","ignoreList":[]}
@@ -3,6 +3,7 @@ import type { PopupPinnablePositionsType, ShortPopupPositionsType } from '../../
3
3
  import type { Nullable } from '../../typings/utility-types';
4
4
  import type { MouseEventType } from '../../typings/event-types';
5
5
  import type { CommonProps } from '../../internal/CommonWrapper';
6
+ import type { TGetRootNode } from '../../lib/rootNode';
6
7
  import type { InstanceWithAnchorElement } from '../../lib/InstanceWithAnchorElement';
7
8
  export interface HintProps extends CommonProps {
8
9
  /** @ignore */
@@ -50,6 +51,7 @@ export declare class Hint extends React.PureComponent<HintProps, HintState> impl
50
51
  state: HintState;
51
52
  private timer;
52
53
  private theme;
54
+ getRootNode: TGetRootNode;
53
55
  private setRootNode;
54
56
  private popupRef;
55
57
  getAllowedPositions(): string[] | undefined;
@@ -5,7 +5,7 @@ import _inheritsLoose from "@babel/runtime/helpers/esm/inheritsLoose";
5
5
  var _excluded = ["onMouseEnter", "onMouseLeave", "onMouseOver", "onKeyDown", "onKeyPress", "onValueChange", "width", "error", "role", "warning", "leftIcon", "rightIcon", "borderless", "value", "align", "type", "mask", "maskChar", "alwaysShowMask", "size", "placeholder", "selectAllOnFocus", "disabled", "onUnexpectedInput", "prefix", "suffix", "formatChars", "corners", "aria-describedby", "aria-controls", "aria-label", "element", "showClearIcon"];
6
6
  var _class, _Input; // TODO: Enable this rule in functional components.
7
7
  import invariant from 'invariant';
8
- import React from 'react';
8
+ import React, { createRef } from 'react';
9
9
  import warning from 'warning';
10
10
  import { globalObject } from '@skbkontur/global-object';
11
11
  import { isEdge, isIE11 } from "../../../lib/client";
@@ -20,6 +20,8 @@ import { createPropsGetter } from "../../../lib/createPropsGetter";
20
20
  import { FocusControlWrapper } from "../../../internal/FocusControlWrapper";
21
21
  import { ClearCrossIcon } from "../../../internal/ClearCrossIcon/ClearCrossIcon";
22
22
  import { catchUnreachableWarning } from "../../../lib/typeGuards";
23
+ import { blink as _blink } from "../../../lib/blink";
24
+ import { withSize } from "../../../lib/size/SizeDecorator";
23
25
  import { styles } from "../Input.styles";
24
26
  import { InputLayout } from "../InputLayout/InputLayout";
25
27
  import { PolyfillPlaceholder } from "../InputLayout/PolyfillPlaceholder";
@@ -79,7 +81,7 @@ export var InputDataTids = {
79
81
  *
80
82
  * Интерфейс пропсов наследуется от `React.InputHTMLAttributes<HTMLInputElement>`.
81
83
  */
82
- export var Input = rootNode(_class = (_Input = /*#__PURE__*/function (_React$Component) {
84
+ export var Input = rootNode(_class = withSize(_class = (_Input = /*#__PURE__*/function (_React$Component) {
83
85
  function Input() {
84
86
  var _this;
85
87
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
@@ -89,6 +91,7 @@ export var Input = rootNode(_class = (_Input = /*#__PURE__*/function (_React$Com
89
91
  _this.getProps = createPropsGetter(Input.defaultProps);
90
92
  _this.selectAllId = null;
91
93
  _this.input = null;
94
+ _this.labelRef = /*#__PURE__*/createRef();
92
95
  _this.getClearCrossShowed = function (_ref2) {
93
96
  var _this$input;
94
97
  var focused = _ref2.focused,
@@ -106,7 +109,6 @@ export var Input = rootNode(_class = (_Input = /*#__PURE__*/function (_React$Com
106
109
  };
107
110
  _this.state = {
108
111
  needsPolyfillPlaceholder: needsPolyfillPlaceholder,
109
- blinking: false,
110
112
  focused: false,
111
113
  hovered: false,
112
114
  clearCrossShowed: _this.getClearCrossShowed({
@@ -138,21 +140,6 @@ export var Input = rootNode(_class = (_Input = /*#__PURE__*/function (_React$Com
138
140
  _this.selectAllId = null;
139
141
  }
140
142
  };
141
- _this.cancelBlink = function (callback) {
142
- if (_this.blinkTimeout) {
143
- globalObject.clearTimeout(_this.blinkTimeout);
144
- _this.blinkTimeout = 0;
145
- if (_this.state.blinking) {
146
- _this.setState({
147
- blinking: false
148
- }, callback);
149
- return;
150
- }
151
- }
152
- if (callback) {
153
- callback();
154
- }
155
- };
156
143
  _this.getInput = function (inputProps) {
157
144
  if (_this.props.element) {
158
145
  return /*#__PURE__*/React.cloneElement(_this.props.element, inputProps);
@@ -196,18 +183,17 @@ export var Input = rootNode(_class = (_Input = /*#__PURE__*/function (_React$Com
196
183
  element = props.element,
197
184
  showClearIcon = props.showClearIcon,
198
185
  rest = _objectWithoutPropertiesLoose(props, _excluded);
199
- var _this$state = _this.state,
200
- blinking = _this$state.blinking,
201
- focused = _this$state.focused;
186
+ var focused = _this.state.focused;
202
187
  var labelProps = {
203
- className: cx(styles.root(_this.theme), _this.getSizeClassName(), (_cx = {}, _cx[styles.focus(_this.theme)] = focused && !warning && !error, _cx[styles.hovering(_this.theme)] = !focused && !disabled && !warning && !error && !borderless, _cx[styles.blink(_this.theme)] = blinking, _cx[styles.borderless()] = borderless && !focused, _cx[styles.disabled(_this.theme)] = disabled, _cx[styles.warning(_this.theme)] = warning, _cx[styles.error(_this.theme)] = error, _cx[styles.focusFallback(_this.theme)] = focused && (isIE11 || isEdge), _cx[styles.warningFallback(_this.theme)] = warning && (isIE11 || isEdge), _cx[styles.errorFallback(_this.theme)] = error && (isIE11 || isEdge), _cx)),
188
+ className: cx(styles.root(_this.theme), _this.getSizeClassName(), (_cx = {}, _cx[styles.focus(_this.theme)] = focused && !warning && !error, _cx[styles.hovering(_this.theme)] = !focused && !disabled && !warning && !error && !borderless, _cx[styles.borderless()] = borderless && !focused, _cx[styles.disabled(_this.theme)] = disabled, _cx[styles.warning(_this.theme)] = warning, _cx[styles.error(_this.theme)] = error, _cx[styles.focusFallback(_this.theme)] = focused && (isIE11 || isEdge), _cx[styles.warningFallback(_this.theme)] = warning && (isIE11 || isEdge), _cx[styles.errorFallback(_this.theme)] = error && (isIE11 || isEdge), _cx)),
204
189
  'aria-controls': ariaControls,
205
190
  style: _extends({
206
191
  width: width
207
192
  }, corners),
208
193
  onMouseEnter: _this.handleMouseEnter,
209
194
  onMouseLeave: _this.handleMouseLeave,
210
- onMouseOver: onMouseOver
195
+ onMouseOver: onMouseOver,
196
+ ref: _this.labelRef
211
197
  };
212
198
  var inputProps = _extends({}, rest, {
213
199
  className: cx(styles.input(_this.theme), (_cx2 = {}, _cx2[styles.inputFocus(_this.theme)] = focused, _cx2[styles.inputDisabled(_this.theme)] = disabled, _cx2)),
@@ -236,7 +222,7 @@ export var Input = rootNode(_class = (_Input = /*#__PURE__*/function (_React$Com
236
222
  return _this.state.clearCrossShowed ? /*#__PURE__*/
237
223
  React.createElement(ClearCrossIcon, {
238
224
  "data-tid": InputDataTids.clearCross,
239
- size: size,
225
+ size: _this.size,
240
226
  onClick: _this.handleClearInput
241
227
  }) : rightIcon;
242
228
  };
@@ -250,7 +236,7 @@ export var Input = rootNode(_class = (_Input = /*#__PURE__*/function (_React$Com
250
236
  context: {
251
237
  disabled: Boolean(disabled),
252
238
  focused: focused,
253
- size: size
239
+ size: _this.size
254
240
  }
255
241
  }, input, _this.state.needsPolyfillPlaceholder && /*#__PURE__*/
256
242
  React.createElement(PolyfillPlaceholder, {
@@ -412,9 +398,6 @@ export var Input = rootNode(_class = (_Input = /*#__PURE__*/function (_React$Com
412
398
  }
413
399
  };
414
400
  _proto.componentWillUnmount = function componentWillUnmount() {
415
- if (this.blinkTimeout) {
416
- globalObject.clearTimeout(this.blinkTimeout);
417
- }
418
401
  this.cancelDelayedSelectAll();
419
402
  } /**
420
403
  * @public
@@ -437,20 +420,9 @@ export var Input = rootNode(_class = (_Input = /*#__PURE__*/function (_React$Com
437
420
  * @public
438
421
  */;
439
422
  _proto.blink = function blink() {
440
- var _this2 = this;
441
- if (this.blinkTimeout) {
442
- this.cancelBlink(function () {
443
- // trigger reflow to restart animation
444
- // @see https://css-tricks.com/restart-css-animation/#article-header-id-0
445
- void (_this2.input && _this2.input.offsetWidth);
446
- _this2.blink();
447
- });
448
- return;
449
- }
450
- this.setState({
451
- blinking: true
452
- }, function () {
453
- _this2.blinkTimeout = globalObject.setTimeout(_this2.cancelBlink, 150);
423
+ _blink({
424
+ el: this.labelRef.current,
425
+ blinkColor: this.theme.inputBlinkColor
454
426
  });
455
427
  } /**
456
428
  * @public
@@ -460,7 +432,7 @@ export var Input = rootNode(_class = (_Input = /*#__PURE__*/function (_React$Com
460
432
  _proto.setSelectionRange = function setSelectionRange(start, end) {
461
433
  var _globalObject$documen,
462
434
  _this$props$value,
463
- _this3 = this; // https://github.com/facebook/react/issues/7769
435
+ _this2 = this; // https://github.com/facebook/react/issues/7769
464
436
  // https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/setSelectionRange
465
437
  if (!selectionAllowedTypes.includes(this.getProps().type)) {
466
438
  warning(false, selectionErrorMessage(this.getProps().type));
@@ -474,8 +446,8 @@ export var Input = rootNode(_class = (_Input = /*#__PURE__*/function (_React$Com
474
446
  }
475
447
  if (this.props.mask && this.props.value && ((_this$props$value = this.props.value) == null ? void 0 : _this$props$value.length) < this.props.mask.length) {
476
448
  globalObject.setTimeout(function () {
477
- var _this3$input;
478
- (_this3$input = _this3.input) == null || _this3$input.setSelectionRange(start, end);
449
+ var _this2$input;
450
+ (_this2$input = _this2.input) == null || _this2$input.setSelectionRange(start, end);
479
451
  }, 150);
480
452
  } else {
481
453
  var _this$input2;
@@ -483,12 +455,12 @@ export var Input = rootNode(_class = (_Input = /*#__PURE__*/function (_React$Com
483
455
  }
484
456
  };
485
457
  _proto.render = function render() {
486
- var _this4 = this;
458
+ var _this3 = this;
487
459
  return /*#__PURE__*/React.createElement(ThemeContext.Consumer, null, function (theme) {
488
- _this4.theme = theme;
460
+ _this3.theme = theme;
489
461
  return /*#__PURE__*/React.createElement(CommonWrapper, _extends({
490
- rootNodeRef: _this4.setRootNode
491
- }, _this4.getProps()), _this4.renderMain);
462
+ rootNodeRef: _this3.setRootNode
463
+ }, _this3.getProps()), _this3.renderMain);
492
464
  });
493
465
  };
494
466
  _proto.renderMaskedInput = function renderMaskedInput(inputProps, mask) {
@@ -504,7 +476,7 @@ export var Input = rootNode(_class = (_Input = /*#__PURE__*/function (_React$Com
504
476
  };
505
477
  _proto.getSizeClassName = function getSizeClassName() {
506
478
  var _cx3, _cx4, _cx5;
507
- switch (this.getProps().size) {
479
+ switch (this.size) {
508
480
  case 'large':
509
481
  return cx((_cx3 = {}, _cx3[styles.sizeLarge(this.theme)] = true, _cx3[styles.sizeLargeFallback(this.theme)] = isIE11 || isEdge, _cx3));
510
482
  case 'medium':
@@ -530,7 +502,6 @@ export var Input = rootNode(_class = (_Input = /*#__PURE__*/function (_React$Com
530
502
  }
531
503
  }]);
532
504
  }(React.Component), _Input.__KONTUR_REACT_UI__ = 'Input', _Input.displayName = 'Input', _Input.defaultProps = {
533
- size: 'small',
534
505
  type: 'text',
535
506
  showClearIcon: 'never'
536
- }, _Input)) || _class;
507
+ }, _Input)) || _class) || _class;