@skbkontur/react-ui 4.7.0 → 4.8.0-revert-datatids

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 (1197) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/cjs/components/Autocomplete/Autocomplete.d.ts +116 -119
  3. package/cjs/components/Autocomplete/Autocomplete.js +2 -11
  4. package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
  5. package/cjs/components/Autocomplete/Autocomplete.styles.d.ts +4 -4
  6. package/cjs/components/Autocomplete/index.d.ts +1 -1
  7. package/cjs/components/Button/Button.d.ts +157 -160
  8. package/cjs/components/Button/Button.js +3 -7
  9. package/cjs/components/Button/Button.js.map +1 -1
  10. package/cjs/components/Button/Button.mixins.d.ts +6 -6
  11. package/cjs/components/Button/Button.styles.d.ts +72 -72
  12. package/cjs/components/Button/index.d.ts +1 -1
  13. package/cjs/components/Center/Center.d.ts +26 -29
  14. package/cjs/components/Center/Center.js +2 -7
  15. package/cjs/components/Center/Center.js.map +1 -1
  16. package/cjs/components/Center/Center.styles.d.ts +7 -7
  17. package/cjs/components/Center/index.d.ts +1 -1
  18. package/cjs/components/Checkbox/Checkbox.d.ts +101 -104
  19. package/cjs/components/Checkbox/Checkbox.js +2 -8
  20. package/cjs/components/Checkbox/Checkbox.js.map +1 -1
  21. package/cjs/components/Checkbox/Checkbox.styles.d.ts +24 -24
  22. package/cjs/components/Checkbox/index.d.ts +1 -1
  23. package/cjs/components/ComboBox/ComboBox.d.ts +194 -194
  24. package/cjs/components/ComboBox/index.d.ts +1 -1
  25. package/cjs/components/CurrencyInput/CurrencyHelper.d.ts +35 -35
  26. package/cjs/components/CurrencyInput/CurrencyInput.d.ts +103 -106
  27. package/cjs/components/CurrencyInput/CurrencyInput.js +7 -9
  28. package/cjs/components/CurrencyInput/CurrencyInput.js.map +1 -1
  29. package/cjs/components/CurrencyInput/CurrencyInput.md +13 -0
  30. package/cjs/components/CurrencyInput/CurrencyInputHelper.d.ts +20 -20
  31. package/cjs/components/CurrencyInput/CurrencyInputKeyboardActions.d.ts +20 -20
  32. package/cjs/components/CurrencyInput/CursorHelper.d.ts +10 -10
  33. package/cjs/components/CurrencyInput/SelectionHelper.d.ts +11 -11
  34. package/cjs/components/CurrencyInput/constants.d.ts +5 -5
  35. package/cjs/components/CurrencyInput/index.d.ts +1 -1
  36. package/cjs/components/CurrencyLabel/CurrencyLabel.d.ts +20 -23
  37. package/cjs/components/CurrencyLabel/CurrencyLabel.js +2 -6
  38. package/cjs/components/CurrencyLabel/CurrencyLabel.js.map +1 -1
  39. package/cjs/components/CurrencyLabel/index.d.ts +1 -1
  40. package/cjs/components/DateInput/DateFragmentsView.d.ts +20 -20
  41. package/cjs/components/DateInput/DateFragmentsView.styles.d.ts +7 -7
  42. package/cjs/components/DateInput/DateInput.d.ts +104 -104
  43. package/cjs/components/DateInput/DateInput.styles.d.ts +10 -10
  44. package/cjs/components/DateInput/ViewDateInputValidateChecks.d.ts +10 -10
  45. package/cjs/components/DateInput/helpers/DateInputKeyboardActions.d.ts +21 -21
  46. package/cjs/components/DateInput/helpers/InternalDateMediator.d.ts +26 -26
  47. package/cjs/components/DateInput/helpers/SelectionHelpers.d.ts +2 -2
  48. package/cjs/components/DateInput/helpers/inputNumber.d.ts +5 -5
  49. package/cjs/components/DateInput/index.d.ts +1 -1
  50. package/cjs/components/DatePicker/DatePicker.d.ts +129 -134
  51. package/cjs/components/DatePicker/DatePicker.js +3 -14
  52. package/cjs/components/DatePicker/DatePicker.js.map +1 -1
  53. package/cjs/components/DatePicker/DatePicker.styles.d.ts +3 -3
  54. package/cjs/components/DatePicker/DatePickerHelpers.d.ts +2 -2
  55. package/cjs/components/DatePicker/Picker.d.ts +33 -33
  56. package/cjs/components/DatePicker/Picker.js +2 -7
  57. package/cjs/components/DatePicker/Picker.js.map +1 -1
  58. package/cjs/components/DatePicker/Picker.styles.d.ts +5 -5
  59. package/cjs/components/DatePicker/index.d.ts +1 -1
  60. package/cjs/components/DatePicker/locale/index.d.ts +4 -4
  61. package/cjs/components/DatePicker/locale/locales/en.d.ts +2 -2
  62. package/cjs/components/DatePicker/locale/locales/ru.d.ts +2 -2
  63. package/cjs/components/DatePicker/locale/types.d.ts +5 -5
  64. package/cjs/components/Dropdown/Dropdown.d.ts +125 -128
  65. package/cjs/components/Dropdown/Dropdown.js +2 -7
  66. package/cjs/components/Dropdown/Dropdown.js.map +1 -1
  67. package/cjs/components/Dropdown/index.d.ts +1 -1
  68. package/cjs/components/DropdownMenu/DropdownMenu.d.ts +62 -62
  69. package/cjs/components/DropdownMenu/index.d.ts +1 -1
  70. package/cjs/components/FileUploader/FileUploader.d.ts +51 -56
  71. package/cjs/components/FileUploader/FileUploader.js +4 -15
  72. package/cjs/components/FileUploader/FileUploader.js.map +1 -1
  73. package/cjs/components/FileUploader/FileUploader.mixins.d.ts +1 -1
  74. package/cjs/components/FileUploader/FileUploader.styles.d.ts +33 -33
  75. package/cjs/components/FileUploader/index.d.ts +5 -5
  76. package/cjs/components/FileUploader/locale/index.d.ts +4 -4
  77. package/cjs/components/FileUploader/locale/locales/en.d.ts +2 -2
  78. package/cjs/components/FileUploader/locale/locales/ru.d.ts +2 -2
  79. package/cjs/components/FileUploader/locale/types.d.ts +6 -6
  80. package/cjs/components/FxInput/FxInput.d.ts +50 -53
  81. package/cjs/components/FxInput/FxInput.js +2 -6
  82. package/cjs/components/FxInput/FxInput.js.map +1 -1
  83. package/cjs/components/FxInput/index.d.ts +1 -1
  84. package/cjs/components/Gapped/Gapped.d.ts +56 -60
  85. package/cjs/components/Gapped/Gapped.js +3 -8
  86. package/cjs/components/Gapped/Gapped.js.map +1 -1
  87. package/cjs/components/Gapped/index.d.ts +1 -1
  88. package/cjs/components/GlobalLoader/GlobalLoader.d.ts +103 -106
  89. package/cjs/components/GlobalLoader/GlobalLoader.js +2 -6
  90. package/cjs/components/GlobalLoader/GlobalLoader.js.map +1 -1
  91. package/cjs/components/GlobalLoader/GlobalLoaderView.d.ts +13 -13
  92. package/cjs/components/GlobalLoader/GlobalLoaderView.styles.d.ts +16 -16
  93. package/cjs/components/GlobalLoader/index.d.ts +1 -1
  94. package/cjs/components/GlobalLoader/useParams.d.ts +22 -22
  95. package/cjs/components/Group/Group.d.ts +14 -17
  96. package/cjs/components/Group/Group.js +3 -7
  97. package/cjs/components/Group/Group.js.map +1 -1
  98. package/cjs/components/Group/Group.styles.d.ts +8 -8
  99. package/cjs/components/Group/index.d.ts +1 -1
  100. package/cjs/components/Hint/Hint.d.ts +85 -85
  101. package/cjs/components/Hint/Hint.styles.d.ts +6 -6
  102. package/cjs/components/Hint/index.d.ts +1 -1
  103. package/cjs/components/Input/Input.d.ts +154 -157
  104. package/cjs/components/Input/Input.js +2 -6
  105. package/cjs/components/Input/Input.js.map +1 -1
  106. package/cjs/components/Input/Input.styles.d.ts +43 -43
  107. package/cjs/components/Input/index.d.ts +1 -1
  108. package/cjs/components/Kebab/Kebab.d.ts +53 -53
  109. package/cjs/components/Kebab/Kebab.styles.d.ts +12 -12
  110. package/cjs/components/Kebab/index.d.ts +1 -1
  111. package/cjs/components/Link/Link.d.ts +70 -73
  112. package/cjs/components/Link/Link.js +2 -6
  113. package/cjs/components/Link/Link.js.map +1 -1
  114. package/cjs/components/Link/Link.mixins.d.ts +3 -3
  115. package/cjs/components/Link/Link.styles.d.ts +15 -15
  116. package/cjs/components/Link/index.d.ts +1 -1
  117. package/cjs/components/Loader/Loader.d.ts +113 -117
  118. package/cjs/components/Loader/Loader.js +2 -7
  119. package/cjs/components/Loader/Loader.js.map +1 -1
  120. package/cjs/components/Loader/Loader.styles.d.ts +8 -8
  121. package/cjs/components/Loader/index.d.ts +1 -1
  122. package/cjs/components/MenuHeader/MenuHeader.d.ts +20 -23
  123. package/cjs/components/MenuHeader/MenuHeader.js +2 -7
  124. package/cjs/components/MenuHeader/MenuHeader.js.map +1 -1
  125. package/cjs/components/MenuHeader/MenuHeader.styles.d.ts +5 -5
  126. package/cjs/components/MenuHeader/index.d.ts +1 -1
  127. package/cjs/components/MenuItem/MenuItem.d.ts +107 -105
  128. package/cjs/components/MenuItem/MenuItem.js +48 -27
  129. package/cjs/components/MenuItem/MenuItem.js.map +1 -1
  130. package/cjs/components/MenuItem/MenuItem.styles.d.ts +15 -14
  131. package/cjs/components/MenuItem/MenuItem.styles.js +7 -3
  132. package/cjs/components/MenuItem/MenuItem.styles.js.map +1 -1
  133. package/cjs/components/MenuItem/index.d.ts +1 -1
  134. package/cjs/components/MenuSeparator/MenuSeparator.d.ts +12 -15
  135. package/cjs/components/MenuSeparator/MenuSeparator.js +3 -7
  136. package/cjs/components/MenuSeparator/MenuSeparator.js.map +1 -1
  137. package/cjs/components/MenuSeparator/MenuSeparator.styles.d.ts +4 -4
  138. package/cjs/components/MenuSeparator/index.d.ts +1 -1
  139. package/cjs/components/Modal/Modal.d.ts +89 -94
  140. package/cjs/components/Modal/Modal.js +2 -8
  141. package/cjs/components/Modal/Modal.js.map +1 -1
  142. package/cjs/components/Modal/Modal.styles.d.ts +40 -40
  143. package/cjs/components/Modal/ModalBody.d.ts +23 -23
  144. package/cjs/components/Modal/ModalClose.d.ts +2 -2
  145. package/cjs/components/Modal/ModalClose.js +2 -3
  146. package/cjs/components/Modal/ModalClose.js.map +1 -1
  147. package/cjs/components/Modal/ModalContext.d.ts +16 -16
  148. package/cjs/components/Modal/ModalFooter.d.ts +21 -24
  149. package/cjs/components/Modal/ModalFooter.js +2 -7
  150. package/cjs/components/Modal/ModalFooter.js.map +1 -1
  151. package/cjs/components/Modal/ModalHeader.d.ts +17 -20
  152. package/cjs/components/Modal/ModalHeader.js +2 -8
  153. package/cjs/components/Modal/ModalHeader.js.map +1 -1
  154. package/cjs/components/Modal/index.d.ts +4 -4
  155. package/cjs/components/Paging/NavigationHelper.d.ts +7 -7
  156. package/cjs/components/Paging/Paging.d.ts +97 -104
  157. package/cjs/components/Paging/Paging.js +7 -15
  158. package/cjs/components/Paging/Paging.js.map +1 -1
  159. package/cjs/components/Paging/Paging.styles.d.ts +20 -20
  160. package/cjs/components/Paging/PagingDefaultComponent.d.ts +9 -9
  161. package/cjs/components/Paging/PagingHelper.d.ts +2 -2
  162. package/cjs/components/Paging/index.d.ts +1 -1
  163. package/cjs/components/Paging/locale/index.d.ts +4 -4
  164. package/cjs/components/Paging/locale/locales/en.d.ts +2 -2
  165. package/cjs/components/Paging/locale/locales/ru.d.ts +2 -2
  166. package/cjs/components/Paging/locale/types.d.ts +3 -3
  167. package/cjs/components/PasswordInput/PasswordInput.d.ts +52 -57
  168. package/cjs/components/PasswordInput/PasswordInput.js +4 -12
  169. package/cjs/components/PasswordInput/PasswordInput.js.map +1 -1
  170. package/cjs/components/PasswordInput/PasswordInput.styles.d.ts +10 -10
  171. package/cjs/components/PasswordInput/PasswordInputIcon.d.ts +3 -3
  172. package/cjs/components/PasswordInput/index.d.ts +1 -1
  173. package/cjs/components/Radio/Radio.d.ts +78 -81
  174. package/cjs/components/Radio/Radio.js +2 -6
  175. package/cjs/components/Radio/Radio.js.map +1 -1
  176. package/cjs/components/Radio/Radio.styles.d.ts +21 -21
  177. package/cjs/components/Radio/index.d.ts +1 -1
  178. package/cjs/components/RadioGroup/Prevent.d.ts +8 -8
  179. package/cjs/components/RadioGroup/RadioGroup.d.ts +121 -124
  180. package/cjs/components/RadioGroup/RadioGroup.js +2 -6
  181. package/cjs/components/RadioGroup/RadioGroup.js.map +1 -1
  182. package/cjs/components/RadioGroup/RadioGroup.styles.d.ts +7 -7
  183. package/cjs/components/RadioGroup/RadioGroupContext.d.ts +10 -10
  184. package/cjs/components/RadioGroup/index.d.ts +1 -1
  185. package/cjs/components/ResponsiveLayout/ResponsiveLayout.d.ts +12 -12
  186. package/cjs/components/ResponsiveLayout/ResponsiveLayoutEvents.d.ts +11 -11
  187. package/cjs/components/ResponsiveLayout/decorator.d.ts +33 -33
  188. package/cjs/components/ResponsiveLayout/index.d.ts +3 -3
  189. package/cjs/components/ResponsiveLayout/types.d.ts +11 -11
  190. package/cjs/components/ResponsiveLayout/useResponsiveLayout.d.ts +2 -2
  191. package/cjs/components/ScrollContainer/ScrollBar.d.ts +37 -37
  192. package/cjs/components/ScrollContainer/ScrollContainer.constants.d.ts +23 -23
  193. package/cjs/components/ScrollContainer/ScrollContainer.d.ts +87 -91
  194. package/cjs/components/ScrollContainer/ScrollContainer.helpers.d.ts +10 -10
  195. package/cjs/components/ScrollContainer/ScrollContainer.js +4 -14
  196. package/cjs/components/ScrollContainer/ScrollContainer.js.map +1 -1
  197. package/cjs/components/ScrollContainer/ScrollContainer.styles.d.ts +17 -17
  198. package/cjs/components/ScrollContainer/index.d.ts +1 -1
  199. package/cjs/components/Select/Item.d.ts +9 -9
  200. package/cjs/components/Select/Select.d.ts +182 -185
  201. package/cjs/components/Select/Select.js +3 -11
  202. package/cjs/components/Select/Select.js.map +1 -1
  203. package/cjs/components/Select/Select.styles.d.ts +18 -18
  204. package/cjs/components/Select/index.d.ts +1 -1
  205. package/cjs/components/Select/locale/index.d.ts +4 -4
  206. package/cjs/components/Select/locale/locales/en.d.ts +2 -2
  207. package/cjs/components/Select/locale/locales/ru.d.ts +2 -2
  208. package/cjs/components/Select/locale/types.d.ts +4 -4
  209. package/cjs/components/Select/selectTheme.d.ts +3 -3
  210. package/cjs/components/SidePage/SidePage.d.ts +111 -115
  211. package/cjs/components/SidePage/SidePage.js +2 -7
  212. package/cjs/components/SidePage/SidePage.js.map +1 -1
  213. package/cjs/components/SidePage/SidePage.styles.d.ts +48 -48
  214. package/cjs/components/SidePage/SidePageBody.d.ts +20 -23
  215. package/cjs/components/SidePage/SidePageBody.js +3 -10
  216. package/cjs/components/SidePage/SidePageBody.js.map +1 -1
  217. package/cjs/components/SidePage/SidePageContainer.d.ts +16 -19
  218. package/cjs/components/SidePage/SidePageContainer.js +2 -7
  219. package/cjs/components/SidePage/SidePageContainer.js.map +1 -1
  220. package/cjs/components/SidePage/SidePageContext.d.ts +17 -17
  221. package/cjs/components/SidePage/SidePageFooter.d.ts +41 -44
  222. package/cjs/components/SidePage/SidePageFooter.js +3 -11
  223. package/cjs/components/SidePage/SidePageFooter.js.map +1 -1
  224. package/cjs/components/SidePage/SidePageHeader.d.ts +44 -48
  225. package/cjs/components/SidePage/SidePageHeader.js +4 -9
  226. package/cjs/components/SidePage/SidePageHeader.js.map +1 -1
  227. package/cjs/components/SidePage/index.d.ts +5 -5
  228. package/cjs/components/Spinner/Spinner.d.ts +67 -70
  229. package/cjs/components/Spinner/Spinner.js +2 -6
  230. package/cjs/components/Spinner/Spinner.js.map +1 -1
  231. package/cjs/components/Spinner/Spinner.styles.d.ts +13 -13
  232. package/cjs/components/Spinner/SpinnerFallbackAnimation.d.ts +25 -25
  233. package/cjs/components/Spinner/index.d.ts +1 -1
  234. package/cjs/components/Spinner/locale/index.d.ts +4 -4
  235. package/cjs/components/Spinner/locale/locales/en.d.ts +2 -2
  236. package/cjs/components/Spinner/locale/locales/ru.d.ts +2 -2
  237. package/cjs/components/Spinner/locale/types.d.ts +4 -4
  238. package/cjs/components/Sticky/Sticky.d.ts +60 -63
  239. package/cjs/components/Sticky/Sticky.js +3 -7
  240. package/cjs/components/Sticky/Sticky.js.map +1 -1
  241. package/cjs/components/Sticky/Sticky.styles.d.ts +7 -7
  242. package/cjs/components/Sticky/index.d.ts +1 -1
  243. package/cjs/components/Switcher/Switcher.d.ts +58 -60
  244. package/cjs/components/Switcher/Switcher.js +6 -9
  245. package/cjs/components/Switcher/Switcher.js.map +1 -1
  246. package/cjs/components/Switcher/Switcher.styles.d.ts +11 -11
  247. package/cjs/components/Switcher/index.d.ts +1 -1
  248. package/cjs/components/Switcher/switcherTheme.d.ts +2 -2
  249. package/cjs/components/Tabs/Indicator.d.ts +28 -28
  250. package/cjs/components/Tabs/Indicator.js +2 -4
  251. package/cjs/components/Tabs/Indicator.js.map +1 -1
  252. package/cjs/components/Tabs/Indicator.styles.d.ts +8 -8
  253. package/cjs/components/Tabs/Tab.d.ts +121 -124
  254. package/cjs/components/Tabs/Tab.js +2 -7
  255. package/cjs/components/Tabs/Tab.js.map +1 -1
  256. package/cjs/components/Tabs/Tab.styles.d.ts +27 -27
  257. package/cjs/components/Tabs/Tabs.d.ts +64 -68
  258. package/cjs/components/Tabs/Tabs.js +2 -11
  259. package/cjs/components/Tabs/Tabs.js.map +1 -1
  260. package/cjs/components/Tabs/Tabs.styles.d.ts +5 -5
  261. package/cjs/components/Tabs/TabsContext.d.ts +14 -14
  262. package/cjs/components/Tabs/index.d.ts +2 -2
  263. package/cjs/components/Textarea/Textarea.d.ts +183 -187
  264. package/cjs/components/Textarea/Textarea.js +2 -7
  265. package/cjs/components/Textarea/Textarea.js.map +1 -1
  266. package/cjs/components/Textarea/Textarea.styles.d.ts +15 -15
  267. package/cjs/components/Textarea/TextareaCounter.d.ts +12 -12
  268. package/cjs/components/Textarea/TextareaCounter.js +6 -6
  269. package/cjs/components/Textarea/TextareaCounter.js.map +1 -1
  270. package/cjs/components/Textarea/TextareaHelpers.d.ts +11 -11
  271. package/cjs/components/Textarea/index.d.ts +1 -1
  272. package/cjs/components/Toast/Toast.d.ts +58 -64
  273. package/cjs/components/Toast/Toast.js +2 -9
  274. package/cjs/components/Toast/Toast.js.map +1 -1
  275. package/cjs/components/Toast/Toast.styles.d.ts +6 -6
  276. package/cjs/components/Toast/ToastStatic.d.ts +8 -8
  277. package/cjs/components/Toast/ToastStatic.js +1 -1
  278. package/cjs/components/Toast/ToastStatic.js.map +1 -1
  279. package/cjs/components/Toast/ToastView.d.ts +38 -38
  280. package/cjs/components/Toast/ToastView.js +4 -5
  281. package/cjs/components/Toast/ToastView.js.map +1 -1
  282. package/cjs/components/Toast/ToastView.styles.d.ts +8 -8
  283. package/cjs/components/Toast/index.d.ts +1 -1
  284. package/cjs/components/Toggle/Toggle.d.ts +106 -109
  285. package/cjs/components/Toggle/Toggle.js +2 -6
  286. package/cjs/components/Toggle/Toggle.js.map +1 -1
  287. package/cjs/components/Toggle/Toggle.styles.d.ts +30 -30
  288. package/cjs/components/Toggle/index.d.ts +1 -1
  289. package/cjs/components/Token/Token.d.ts +36 -39
  290. package/cjs/components/Token/Token.js +3 -8
  291. package/cjs/components/Token/Token.js.map +1 -1
  292. package/cjs/components/Token/Token.styles.d.ts +29 -29
  293. package/cjs/components/Token/index.d.ts +1 -1
  294. package/cjs/components/TokenInput/TextWidthHelper.d.ts +18 -18
  295. package/cjs/components/TokenInput/TokenInput.d.ts +210 -214
  296. package/cjs/components/TokenInput/TokenInput.js +2 -7
  297. package/cjs/components/TokenInput/TokenInput.js.map +1 -1
  298. package/cjs/components/TokenInput/TokenInput.styles.d.ts +15 -15
  299. package/cjs/components/TokenInput/TokenInputMenu.d.ts +19 -19
  300. package/cjs/components/TokenInput/TokenInputMenu.js +3 -4
  301. package/cjs/components/TokenInput/TokenInputMenu.js.map +1 -1
  302. package/cjs/components/TokenInput/TokenInputReducer.d.ts +25 -25
  303. package/cjs/components/TokenInput/index.d.ts +1 -1
  304. package/cjs/components/TokenInput/locale/index.d.ts +4 -4
  305. package/cjs/components/TokenInput/locale/locales/en.d.ts +2 -2
  306. package/cjs/components/TokenInput/locale/locales/ru.d.ts +2 -2
  307. package/cjs/components/TokenInput/locale/types.d.ts +4 -4
  308. package/cjs/components/Tooltip/Tooltip.d.ts +160 -164
  309. package/cjs/components/Tooltip/Tooltip.js +3 -9
  310. package/cjs/components/Tooltip/Tooltip.js.map +1 -1
  311. package/cjs/components/Tooltip/Tooltip.styles.d.ts +5 -5
  312. package/cjs/components/Tooltip/index.d.ts +1 -1
  313. package/cjs/components/TooltipMenu/TooltipMenu.d.ts +66 -69
  314. package/cjs/components/TooltipMenu/TooltipMenu.js +1 -6
  315. package/cjs/components/TooltipMenu/TooltipMenu.js.map +1 -1
  316. package/cjs/components/TooltipMenu/index.d.ts +1 -1
  317. package/cjs/hooks/useDrop.d.ts +11 -11
  318. package/cjs/hooks/useEffectWithoutInitCall.d.ts +2 -2
  319. package/cjs/hooks/useMemoObject.d.ts +2 -2
  320. package/cjs/index.d.ts +54 -54
  321. package/cjs/internal/BGRuler.d.ts +28 -28
  322. package/cjs/internal/Calendar/Calendar.d.ts +57 -63
  323. package/cjs/internal/Calendar/Calendar.js +2 -9
  324. package/cjs/internal/Calendar/Calendar.js.map +1 -1
  325. package/cjs/internal/Calendar/Calendar.styles.d.ts +5 -5
  326. package/cjs/internal/Calendar/CalendarDateShape.d.ts +14 -14
  327. package/cjs/internal/Calendar/CalendarScrollEvents.d.ts +4 -4
  328. package/cjs/internal/Calendar/CalendarUtils.d.ts +19 -19
  329. package/cjs/internal/Calendar/DayCellView.d.ts +13 -13
  330. package/cjs/internal/Calendar/DayCellView.styles.d.ts +7 -7
  331. package/cjs/internal/Calendar/DayCellViewModel.d.ts +8 -8
  332. package/cjs/internal/Calendar/Month.d.ts +33 -33
  333. package/cjs/internal/Calendar/MonthView.d.ts +21 -21
  334. package/cjs/internal/Calendar/MonthView.js +4 -5
  335. package/cjs/internal/Calendar/MonthView.js.map +1 -1
  336. package/cjs/internal/Calendar/MonthView.styles.d.ts +10 -10
  337. package/cjs/internal/Calendar/MonthViewModel.d.ts +14 -14
  338. package/cjs/internal/Calendar/config.d.ts +2 -2
  339. package/cjs/internal/Calendar/index.d.ts +2 -2
  340. package/cjs/internal/CommonWrapper/CommonWrapper.d.ts +33 -33
  341. package/cjs/internal/CommonWrapper/index.d.ts +1 -1
  342. package/cjs/internal/ComponentCombinator.d.ts +23 -23
  343. package/cjs/internal/ComponentTable.d.ts +22 -22
  344. package/cjs/internal/CustomComboBox/ComboBoxMenu.d.ts +33 -40
  345. package/cjs/internal/CustomComboBox/ComboBoxMenu.js +4 -22
  346. package/cjs/internal/CustomComboBox/ComboBoxMenu.js.map +1 -1
  347. package/cjs/internal/CustomComboBox/ComboBoxView.d.ts +95 -95
  348. package/cjs/internal/CustomComboBox/ComboBoxView.js +2 -4
  349. package/cjs/internal/CustomComboBox/ComboBoxView.js.map +1 -1
  350. package/cjs/internal/CustomComboBox/CustomComboBox.d.ts +138 -141
  351. package/cjs/internal/CustomComboBox/CustomComboBox.js +2 -6
  352. package/cjs/internal/CustomComboBox/CustomComboBox.js.map +1 -1
  353. package/cjs/internal/CustomComboBox/CustomComboBox.styles.d.ts +5 -5
  354. package/cjs/internal/CustomComboBox/CustomComboBoxReducer.d.ts +71 -71
  355. package/cjs/internal/CustomComboBox/CustomComboBoxTypes.d.ts +6 -6
  356. package/cjs/internal/CustomComboBox/index.d.ts +2 -2
  357. package/cjs/internal/CustomComboBox/locale/index.d.ts +4 -4
  358. package/cjs/internal/CustomComboBox/locale/locales/en.d.ts +2 -2
  359. package/cjs/internal/CustomComboBox/locale/locales/ru.d.ts +2 -2
  360. package/cjs/internal/CustomComboBox/locale/types.d.ts +5 -5
  361. package/cjs/internal/DateSelect/DateSelect.d.ts +91 -95
  362. package/cjs/internal/DateSelect/DateSelect.js +3 -8
  363. package/cjs/internal/DateSelect/DateSelect.js.map +1 -1
  364. package/cjs/internal/DateSelect/DateSelect.styles.d.ts +19 -19
  365. package/cjs/internal/DateSelect/index.d.ts +1 -1
  366. package/cjs/internal/DropdownContainer/DropdownContainer.d.ts +41 -41
  367. package/cjs/internal/DropdownContainer/DropdownContainer.styles.d.ts +3 -3
  368. package/cjs/internal/DropdownContainer/index.d.ts +1 -1
  369. package/cjs/internal/FileUploaderControl/FileUploaderControlContext.d.ts +14 -14
  370. package/cjs/internal/FileUploaderControl/FileUploaderControlProvider.d.ts +14 -14
  371. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.d.ts +15 -22
  372. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.js +6 -14
  373. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.js.map +1 -1
  374. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.styles.d.ts +18 -18
  375. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.d.ts +12 -15
  376. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.js +2 -6
  377. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.js.map +1 -1
  378. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.styles.d.ts +8 -8
  379. package/cjs/internal/FileUploaderControl/FileUploaderFileValidationResult.d.ts +7 -7
  380. package/cjs/internal/FileUploaderControl/fileUtils.d.ts +14 -14
  381. package/cjs/internal/FileUploaderControl/hooks/useControlLocale.d.ts +1 -1
  382. package/cjs/internal/FileUploaderControl/hooks/useFileUploaderSize.d.ts +2 -2
  383. package/cjs/internal/FileUploaderControl/hooks/useUpload.d.ts +3 -3
  384. package/cjs/internal/FileUploaderControl/withFileUploaderControlProvider.d.ts +3 -3
  385. package/cjs/internal/FocusTrap/FocusTrap.d.ts +17 -17
  386. package/cjs/internal/FocusTrap/index.d.ts +1 -1
  387. package/cjs/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.d.ts +14 -14
  388. package/cjs/internal/HideBodyVerticalScroll/index.d.ts +1 -1
  389. package/cjs/internal/IgnoreLayerClick/IgnoreLayerClick.d.ts +8 -8
  390. package/cjs/internal/IgnoreLayerClick/index.d.ts +1 -1
  391. package/cjs/internal/InputLikeText/HiddenInput.d.ts +13 -13
  392. package/cjs/internal/InputLikeText/InputLikeText.d.ts +74 -78
  393. package/cjs/internal/InputLikeText/InputLikeText.js +4 -10
  394. package/cjs/internal/InputLikeText/InputLikeText.js.map +1 -1
  395. package/cjs/internal/InputLikeText/InputLikeText.styles.d.ts +7 -7
  396. package/cjs/internal/InputLikeText/index.d.ts +1 -1
  397. package/cjs/internal/InternalMenu/InternalMenu.d.ts +63 -66
  398. package/cjs/internal/InternalMenu/InternalMenu.js +3 -8
  399. package/cjs/internal/InternalMenu/InternalMenu.js.map +1 -1
  400. package/cjs/internal/InternalMenu/InternalMenu.styles.d.ts +10 -10
  401. package/cjs/internal/InternalMenu/addIconPaddingIfPartOfMenu.d.ts +2 -2
  402. package/cjs/internal/InternalMenu/index.d.ts +1 -1
  403. package/cjs/internal/InternalMenu/isActiveElement.d.ts +3 -3
  404. package/cjs/internal/MaskCharLowLine/MaskCharLowLine.d.ts +9 -9
  405. package/cjs/internal/MaskCharLowLine/MaskCharLowLine.styles.d.ts +3 -3
  406. package/cjs/internal/MaskCharLowLine/index.d.ts +1 -1
  407. package/cjs/internal/MaskedInput/MaskedInput.d.ts +43 -46
  408. package/cjs/internal/MaskedInput/MaskedInput.js +3 -7
  409. package/cjs/internal/MaskedInput/MaskedInput.js.map +1 -1
  410. package/cjs/internal/MaskedInput/MaskedInput.styles.d.ts +6 -6
  411. package/cjs/internal/MaskedInput/index.d.ts +1 -1
  412. package/cjs/internal/Menu/Menu.d.ts +67 -70
  413. package/cjs/internal/Menu/Menu.js +3 -8
  414. package/cjs/internal/Menu/Menu.js.map +1 -1
  415. package/cjs/internal/Menu/Menu.styles.d.ts +9 -9
  416. package/cjs/internal/Menu/index.d.ts +1 -1
  417. package/cjs/internal/Menu/isActiveElement.d.ts +3 -3
  418. package/cjs/internal/MobilePopup/MobilePopup.d.ts +34 -38
  419. package/cjs/internal/MobilePopup/MobilePopup.js +3 -10
  420. package/cjs/internal/MobilePopup/MobilePopup.js.map +1 -1
  421. package/cjs/internal/MobilePopup/MobilePopup.styles.d.ts +10 -10
  422. package/cjs/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.d.ts +15 -15
  423. package/cjs/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.styles.d.ts +10 -10
  424. package/cjs/internal/MobilePopup/MobilePopupHeader/index.d.ts +1 -1
  425. package/cjs/internal/MobilePopup/index.d.ts +1 -1
  426. package/cjs/internal/NativeDateInput/NativeDateInput.d.ts +23 -23
  427. package/cjs/internal/NativeDateInput/NativeDateInput.styles.d.ts +3 -3
  428. package/cjs/internal/NativeDateInput/index.d.ts +1 -1
  429. package/cjs/internal/NativeDateInput/utils.d.ts +7 -7
  430. package/cjs/internal/PerformanceMetrics/PerformanceMetrics.d.ts +7 -7
  431. package/cjs/internal/Popup/Popup.d.ts +166 -171
  432. package/cjs/internal/Popup/Popup.js +4 -10
  433. package/cjs/internal/Popup/Popup.js.map +1 -1
  434. package/cjs/internal/Popup/Popup.styles.d.ts +16 -16
  435. package/cjs/internal/Popup/PopupHelper.d.ts +26 -26
  436. package/cjs/internal/Popup/PopupPin.d.ts +56 -56
  437. package/cjs/internal/Popup/PopupPin.js +1 -2
  438. package/cjs/internal/Popup/PopupPin.js.map +1 -1
  439. package/cjs/internal/Popup/PopupPin.styles.d.ts +3 -3
  440. package/cjs/internal/Popup/index.d.ts +1 -1
  441. package/cjs/internal/Popup/types.d.ts +2 -2
  442. package/cjs/internal/PopupMenu/PopupMenu.d.ts +87 -91
  443. package/cjs/internal/PopupMenu/PopupMenu.js +4 -9
  444. package/cjs/internal/PopupMenu/PopupMenu.js.map +1 -1
  445. package/cjs/internal/PopupMenu/PopupMenu.styles.d.ts +4 -4
  446. package/cjs/internal/PopupMenu/index.d.ts +1 -1
  447. package/cjs/internal/PopupMenu/validatePositions.d.ts +2 -2
  448. package/cjs/internal/RenderContainer/RenderContainer.d.ts +16 -16
  449. package/cjs/internal/RenderContainer/RenderContainerTypes.d.ts +13 -13
  450. package/cjs/internal/RenderContainer/RenderInnerContainer.d.ts +21 -21
  451. package/cjs/internal/RenderContainer/index.d.ts +1 -1
  452. package/cjs/internal/RenderLayer/RenderLayer.d.ts +31 -31
  453. package/cjs/internal/RenderLayer/index.d.ts +1 -1
  454. package/cjs/internal/ResizeDetector/ResizeDetector.d.ts +13 -13
  455. package/cjs/internal/ResizeDetector/ResizeDetector.styles.d.ts +6 -6
  456. package/cjs/internal/ResizeDetector/index.d.ts +1 -1
  457. package/cjs/internal/TextWidthHelper/TextWidthHelper.d.ts +15 -15
  458. package/cjs/internal/TextWidthHelper/TextWidthHelper.styles.d.ts +4 -4
  459. package/cjs/internal/ThemePlayground/AnotherInputsPlayground.d.ts +18 -18
  460. package/cjs/internal/ThemePlayground/CheckboxPlayground.d.ts +1 -1
  461. package/cjs/internal/ThemePlayground/ComponentsGroup.d.ts +10 -10
  462. package/cjs/internal/ThemePlayground/CurrencyInputPlayground.d.ts +12 -12
  463. package/cjs/internal/ThemePlayground/FxInputPlayground.d.ts +12 -12
  464. package/cjs/internal/ThemePlayground/HintPlayground.d.ts +6 -6
  465. package/cjs/internal/ThemePlayground/PagingPlayground.d.ts +10 -10
  466. package/cjs/internal/ThemePlayground/Playground.d.ts +30 -30
  467. package/cjs/internal/ThemePlayground/Playground.styles.d.ts +23 -23
  468. package/cjs/internal/ThemePlayground/RadioPlayground.d.ts +1 -1
  469. package/cjs/internal/ThemePlayground/SelectPlayground.d.ts +15 -15
  470. package/cjs/internal/ThemePlayground/ShowcaseGroup.d.ts +5 -5
  471. package/cjs/internal/ThemePlayground/SizesGroup.d.ts +4 -4
  472. package/cjs/internal/ThemePlayground/SwitcherPlayground.d.ts +16 -16
  473. package/cjs/internal/ThemePlayground/ThemeContextPlayground.d.ts +53 -53
  474. package/cjs/internal/ThemePlayground/ThemeEditor.d.ts +36 -36
  475. package/cjs/internal/ThemePlayground/TogglePlayground.d.ts +4 -4
  476. package/cjs/internal/ThemePlayground/TokenInputPlayground.d.ts +9 -9
  477. package/cjs/internal/ThemePlayground/VariableValue.d.ts +43 -43
  478. package/cjs/internal/ThemePlayground/constants.d.ts +19 -19
  479. package/cjs/internal/ThemePlayground/darkTheme.d.ts +269 -269
  480. package/cjs/internal/ThemePlayground/helpers.d.ts +2 -2
  481. package/cjs/internal/ThemeShowcase/ThemeShowcase.d.ts +22 -22
  482. package/cjs/internal/ThemeShowcase/ThemeShowcase.styles.d.ts +27 -27
  483. package/cjs/internal/ThemeShowcase/VariablesCollector.d.ts +22 -22
  484. package/cjs/internal/ZIndex/ZIndex.d.ts +46 -46
  485. package/cjs/internal/ZIndex/ZIndexStorage.d.ts +21 -21
  486. package/cjs/internal/ZIndex/index.d.ts +1 -1
  487. package/cjs/internal/icons/16px/icon.styles.d.ts +4 -4
  488. package/cjs/internal/icons/16px/index.d.ts +25 -25
  489. package/cjs/internal/icons/20px/Icon.d.ts +30 -30
  490. package/cjs/internal/icons/20px/icon.styles.d.ts +4 -4
  491. package/cjs/internal/icons/20px/index.d.ts +2 -2
  492. package/cjs/internal/icons/20px/svg.d.ts +14 -14
  493. package/cjs/internal/icons/CloudIcon.d.ts +1 -1
  494. package/cjs/internal/icons/CrossIcon.d.ts +1 -1
  495. package/cjs/internal/icons/SpinnerIcon.d.ts +27 -27
  496. package/cjs/internal/icons/SpinnerIcon.styles.d.ts +6 -6
  497. package/cjs/internal/themes/DarkTheme.d.ts +138 -138
  498. package/cjs/internal/themes/DefaultTheme.d.ts +897 -896
  499. package/cjs/internal/themes/DefaultTheme.js +3 -2
  500. package/cjs/internal/themes/DefaultTheme.js.map +1 -1
  501. package/cjs/internal/themes/NotFlat.d.ts +133 -133
  502. package/cjs/internal/themes/OldColors.d.ts +116 -116
  503. package/cjs/internal/themes/Theme2022.d.ts +66 -66
  504. package/cjs/internal/themes/Theme2022Dark.d.ts +5 -5
  505. package/cjs/lib/ConditionalHandler.d.ts +12 -12
  506. package/cjs/lib/InstanceWithAnchorElement.d.ts +5 -5
  507. package/cjs/lib/LayoutEvents.d.ts +4 -4
  508. package/cjs/lib/ModalStack.d.ts +14 -14
  509. package/cjs/lib/SSRSafe.d.ts +6 -6
  510. package/cjs/lib/Supports.d.ts +1 -1
  511. package/cjs/lib/Upgrades.d.ts +6 -6
  512. package/cjs/lib/animation/index.d.ts +6 -6
  513. package/cjs/lib/animation/presets.d.ts +18 -18
  514. package/cjs/lib/animation/stepper.d.ts +1 -1
  515. package/cjs/lib/callChildRef/callChildRef.d.ts +3 -3
  516. package/cjs/lib/client.d.ts +16 -16
  517. package/cjs/lib/createPropsGetter.d.ts +3 -3
  518. package/cjs/lib/currentEnvironment.d.ts +3 -3
  519. package/cjs/lib/date/InternalDate.d.ts +58 -58
  520. package/cjs/lib/date/InternalDateCalculator.d.ts +6 -6
  521. package/cjs/lib/date/InternalDateGetter.d.ts +15 -15
  522. package/cjs/lib/date/InternalDateSetter.d.ts +6 -6
  523. package/cjs/lib/date/InternalDateTransformer.d.ts +12 -12
  524. package/cjs/lib/date/InternalDateValidator.d.ts +12 -12
  525. package/cjs/lib/date/constants.d.ts +28 -28
  526. package/cjs/lib/date/localeSets.d.ts +5 -5
  527. package/cjs/lib/date/types.d.ts +94 -94
  528. package/cjs/lib/dom/getDOMRect.d.ts +11 -11
  529. package/cjs/lib/dom/getScrollWidth.d.ts +1 -1
  530. package/cjs/lib/dom/tabbableHelpers.d.ts +16 -16
  531. package/cjs/lib/events/MouseDrag.d.ts +58 -58
  532. package/cjs/lib/events/fixClickFocusIE.d.ts +1 -1
  533. package/cjs/lib/events/fixFirefoxModifiedClickOnLabel.d.ts +2 -2
  534. package/cjs/lib/events/keyListener.d.ts +7 -7
  535. package/cjs/lib/events/keyboard/KeyboardEventCodes.d.ts +30 -30
  536. package/cjs/lib/events/keyboard/KeyboardMapKeys.d.ts +7 -7
  537. package/cjs/lib/events/keyboard/extractCode.d.ts +3 -3
  538. package/cjs/lib/events/keyboard/identifiers.d.ts +48 -48
  539. package/cjs/lib/events/stopPropagation.d.ts +1 -1
  540. package/cjs/lib/events/tabListener.d.ts +1 -1
  541. package/cjs/lib/extractKeyboardAction.d.ts +13 -13
  542. package/cjs/lib/filterProps.d.ts +12 -12
  543. package/cjs/lib/forwardRefAndName.d.ts +5 -5
  544. package/cjs/lib/getDisplayName.d.ts +3 -3
  545. package/cjs/lib/listenFocusOutside.d.ts +8 -8
  546. package/cjs/lib/locale/LocaleContext.d.ts +7 -7
  547. package/cjs/lib/locale/LocaleHelper.d.ts +9 -9
  548. package/cjs/lib/locale/constants.d.ts +2 -2
  549. package/cjs/lib/locale/decorators.d.ts +36 -36
  550. package/cjs/lib/locale/index.d.ts +3 -3
  551. package/cjs/lib/locale/types.d.ts +21 -21
  552. package/cjs/lib/locale/useLocaleForControl.d.ts +3 -3
  553. package/cjs/lib/memo.d.ts +3 -3
  554. package/cjs/lib/needsPolyfillPlaceholder.d.ts +6 -6
  555. package/cjs/lib/net/fetch.d.ts +13 -13
  556. package/cjs/lib/reactGetTextContent.d.ts +2 -2
  557. package/cjs/lib/rootNode/getRootNode.d.ts +12 -12
  558. package/cjs/lib/rootNode/index.d.ts +2 -2
  559. package/cjs/lib/rootNode/rootNodeDecorator.d.ts +52 -52
  560. package/cjs/lib/stringUtils.d.ts +1 -1
  561. package/cjs/lib/styles/ColorFactory.d.ts +11 -11
  562. package/cjs/lib/styles/ColorFunctions.d.ts +11 -11
  563. package/cjs/lib/styles/ColorHelpers.d.ts +21 -21
  564. package/cjs/lib/styles/ColorKeywords.d.ts +150 -150
  565. package/cjs/lib/styles/ColorObject.d.ts +52 -52
  566. package/cjs/lib/styles/DimensionFunctions.d.ts +1 -1
  567. package/cjs/lib/styles/HoldSelectionColor.d.ts +1 -1
  568. package/cjs/lib/styles/Mixins.d.ts +2 -2
  569. package/cjs/lib/styles/getLabGrotesqueBaselineCompensation.d.ts +1 -1
  570. package/cjs/lib/taskWithDelayAndMinimalDuration.d.ts +21 -21
  571. package/cjs/lib/theming/AnimationKeyframes.d.ts +7 -7
  572. package/cjs/lib/theming/Emotion.d.ts +15 -15
  573. package/cjs/lib/theming/Theme.d.ts +3 -3
  574. package/cjs/lib/theming/ThemeContext.d.ts +2 -2
  575. package/cjs/lib/theming/ThemeFactory.d.ts +7 -7
  576. package/cjs/lib/theming/ThemeHelpers.d.ts +6 -6
  577. package/cjs/lib/theming/themes/DarkTheme.d.ts +1 -1
  578. package/cjs/lib/theming/themes/DefaultTheme.d.ts +1 -1
  579. package/cjs/lib/theming/themes/DefaultTheme8pxOld.d.ts +1 -1
  580. package/cjs/lib/theming/themes/DefaultThemeMobile.d.ts +3 -3
  581. package/cjs/lib/theming/themes/FlatTheme8pxOld.d.ts +1 -1
  582. package/cjs/lib/theming/themes/Theme2022.d.ts +1 -1
  583. package/cjs/lib/theming/themes/Theme2022Dark.d.ts +1 -1
  584. package/cjs/lib/theming/useTheme.d.ts +1 -1
  585. package/cjs/lib/uidUtils.d.ts +1 -1
  586. package/cjs/lib/utils.d.ts +80 -80
  587. package/cjs/lib/withClassWrapper.d.ts +71 -71
  588. package/components/Autocomplete/Autocomplete/Autocomplete.js +0 -4
  589. package/components/Autocomplete/Autocomplete/Autocomplete.js.map +1 -1
  590. package/components/Autocomplete/Autocomplete.d.ts +116 -119
  591. package/components/Autocomplete/Autocomplete.styles.d.ts +4 -4
  592. package/components/Autocomplete/index.d.ts +1 -1
  593. package/components/Button/Button/Button.js +0 -4
  594. package/components/Button/Button/Button.js.map +1 -1
  595. package/components/Button/Button.d.ts +157 -160
  596. package/components/Button/Button.mixins.d.ts +6 -6
  597. package/components/Button/Button.styles.d.ts +72 -72
  598. package/components/Button/index.d.ts +1 -1
  599. package/components/Center/Center/Center.js +1 -6
  600. package/components/Center/Center/Center.js.map +1 -1
  601. package/components/Center/Center.d.ts +26 -29
  602. package/components/Center/Center.styles.d.ts +7 -7
  603. package/components/Center/index.d.ts +1 -1
  604. package/components/Checkbox/Checkbox/Checkbox.js +0 -4
  605. package/components/Checkbox/Checkbox/Checkbox.js.map +1 -1
  606. package/components/Checkbox/Checkbox.d.ts +101 -104
  607. package/components/Checkbox/Checkbox.styles.d.ts +24 -24
  608. package/components/Checkbox/index.d.ts +1 -1
  609. package/components/ComboBox/ComboBox.d.ts +194 -194
  610. package/components/ComboBox/index.d.ts +1 -1
  611. package/components/CurrencyInput/CurrencyHelper.d.ts +35 -35
  612. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js +8 -7
  613. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js.map +1 -1
  614. package/components/CurrencyInput/CurrencyInput.d.ts +103 -106
  615. package/components/CurrencyInput/CurrencyInput.md +13 -0
  616. package/components/CurrencyInput/CurrencyInputHelper.d.ts +20 -20
  617. package/components/CurrencyInput/CurrencyInputKeyboardActions.d.ts +20 -20
  618. package/components/CurrencyInput/CursorHelper.d.ts +10 -10
  619. package/components/CurrencyInput/SelectionHelper.d.ts +11 -11
  620. package/components/CurrencyInput/constants.d.ts +5 -5
  621. package/components/CurrencyInput/index.d.ts +1 -1
  622. package/components/CurrencyLabel/CurrencyLabel/CurrencyLabel.js +1 -6
  623. package/components/CurrencyLabel/CurrencyLabel/CurrencyLabel.js.map +1 -1
  624. package/components/CurrencyLabel/CurrencyLabel.d.ts +20 -23
  625. package/components/CurrencyLabel/index.d.ts +1 -1
  626. package/components/DateInput/DateFragmentsView.d.ts +20 -20
  627. package/components/DateInput/DateFragmentsView.styles.d.ts +7 -7
  628. package/components/DateInput/DateInput.d.ts +104 -104
  629. package/components/DateInput/DateInput.styles.d.ts +10 -10
  630. package/components/DateInput/ViewDateInputValidateChecks.d.ts +10 -10
  631. package/components/DateInput/helpers/DateInputKeyboardActions.d.ts +21 -21
  632. package/components/DateInput/helpers/InternalDateMediator.d.ts +26 -26
  633. package/components/DateInput/helpers/SelectionHelpers.d.ts +2 -2
  634. package/components/DateInput/helpers/inputNumber.d.ts +5 -5
  635. package/components/DateInput/index.d.ts +1 -1
  636. package/components/DatePicker/DatePicker/DatePicker.js +0 -6
  637. package/components/DatePicker/DatePicker/DatePicker.js.map +1 -1
  638. package/components/DatePicker/DatePicker.d.ts +129 -134
  639. package/components/DatePicker/DatePicker.styles.d.ts +3 -3
  640. package/components/DatePicker/DatePickerHelpers.d.ts +2 -2
  641. package/components/DatePicker/Picker/Picker.js +1 -3
  642. package/components/DatePicker/Picker/Picker.js.map +1 -1
  643. package/components/DatePicker/Picker.d.ts +33 -33
  644. package/components/DatePicker/Picker.styles.d.ts +5 -5
  645. package/components/DatePicker/index.d.ts +1 -1
  646. package/components/DatePicker/locale/index.d.ts +4 -4
  647. package/components/DatePicker/locale/locales/en.d.ts +2 -2
  648. package/components/DatePicker/locale/locales/ru.d.ts +2 -2
  649. package/components/DatePicker/locale/types.d.ts +5 -5
  650. package/components/Dropdown/Dropdown/Dropdown.js +5 -9
  651. package/components/Dropdown/Dropdown/Dropdown.js.map +1 -1
  652. package/components/Dropdown/Dropdown.d.ts +125 -128
  653. package/components/Dropdown/index.d.ts +1 -1
  654. package/components/DropdownMenu/DropdownMenu.d.ts +62 -62
  655. package/components/DropdownMenu/index.d.ts +1 -1
  656. package/components/FileUploader/FileUploader/FileUploader.js +2 -9
  657. package/components/FileUploader/FileUploader/FileUploader.js.map +1 -1
  658. package/components/FileUploader/FileUploader.d.ts +51 -56
  659. package/components/FileUploader/FileUploader.mixins.d.ts +1 -1
  660. package/components/FileUploader/FileUploader.styles.d.ts +33 -33
  661. package/components/FileUploader/index.d.ts +5 -5
  662. package/components/FileUploader/locale/index.d.ts +4 -4
  663. package/components/FileUploader/locale/locales/en.d.ts +2 -2
  664. package/components/FileUploader/locale/locales/ru.d.ts +2 -2
  665. package/components/FileUploader/locale/types.d.ts +6 -6
  666. package/components/FxInput/FxInput/FxInput.js +0 -4
  667. package/components/FxInput/FxInput/FxInput.js.map +1 -1
  668. package/components/FxInput/FxInput.d.ts +50 -53
  669. package/components/FxInput/index.d.ts +1 -1
  670. package/components/Gapped/Gapped/Gapped.js +1 -8
  671. package/components/Gapped/Gapped/Gapped.js.map +1 -1
  672. package/components/Gapped/Gapped.d.ts +56 -60
  673. package/components/Gapped/index.d.ts +1 -1
  674. package/components/GlobalLoader/GlobalLoader/GlobalLoader.js +1 -4
  675. package/components/GlobalLoader/GlobalLoader/GlobalLoader.js.map +1 -1
  676. package/components/GlobalLoader/GlobalLoader.d.ts +103 -106
  677. package/components/GlobalLoader/GlobalLoaderView.d.ts +13 -13
  678. package/components/GlobalLoader/GlobalLoaderView.styles.d.ts +16 -16
  679. package/components/GlobalLoader/index.d.ts +1 -1
  680. package/components/GlobalLoader/useParams.d.ts +22 -22
  681. package/components/Group/Group/Group.js +0 -4
  682. package/components/Group/Group/Group.js.map +1 -1
  683. package/components/Group/Group.d.ts +14 -17
  684. package/components/Group/Group.styles.d.ts +8 -8
  685. package/components/Group/index.d.ts +1 -1
  686. package/components/Hint/Hint.d.ts +85 -85
  687. package/components/Hint/Hint.styles.d.ts +6 -6
  688. package/components/Hint/index.d.ts +1 -1
  689. package/components/Input/Input/Input.js +1 -6
  690. package/components/Input/Input/Input.js.map +1 -1
  691. package/components/Input/Input.d.ts +154 -157
  692. package/components/Input/Input.styles.d.ts +43 -43
  693. package/components/Input/index.d.ts +1 -1
  694. package/components/Kebab/Kebab.d.ts +53 -53
  695. package/components/Kebab/Kebab.styles.d.ts +12 -12
  696. package/components/Kebab/index.d.ts +1 -1
  697. package/components/Link/Link/Link.js +1 -6
  698. package/components/Link/Link/Link.js.map +1 -1
  699. package/components/Link/Link.d.ts +70 -73
  700. package/components/Link/Link.mixins.d.ts +3 -3
  701. package/components/Link/Link.styles.d.ts +15 -15
  702. package/components/Link/index.d.ts +1 -1
  703. package/components/Loader/Loader/Loader.js +2 -6
  704. package/components/Loader/Loader/Loader.js.map +1 -1
  705. package/components/Loader/Loader.d.ts +113 -117
  706. package/components/Loader/Loader.styles.d.ts +8 -8
  707. package/components/Loader/index.d.ts +1 -1
  708. package/components/MenuHeader/MenuHeader/MenuHeader.js +0 -4
  709. package/components/MenuHeader/MenuHeader/MenuHeader.js.map +1 -1
  710. package/components/MenuHeader/MenuHeader.d.ts +20 -23
  711. package/components/MenuHeader/MenuHeader.styles.d.ts +5 -5
  712. package/components/MenuHeader/index.d.ts +1 -1
  713. package/components/MenuItem/MenuItem/MenuItem.js +37 -18
  714. package/components/MenuItem/MenuItem/MenuItem.js.map +1 -1
  715. package/components/MenuItem/MenuItem.d.ts +107 -105
  716. package/components/MenuItem/MenuItem.styles/MenuItem.styles.js +5 -2
  717. package/components/MenuItem/MenuItem.styles/MenuItem.styles.js.map +1 -1
  718. package/components/MenuItem/MenuItem.styles.d.ts +15 -14
  719. package/components/MenuItem/index.d.ts +1 -1
  720. package/components/MenuSeparator/MenuSeparator/MenuSeparator.js +0 -4
  721. package/components/MenuSeparator/MenuSeparator/MenuSeparator.js.map +1 -1
  722. package/components/MenuSeparator/MenuSeparator.d.ts +12 -15
  723. package/components/MenuSeparator/MenuSeparator.styles.d.ts +4 -4
  724. package/components/MenuSeparator/index.d.ts +1 -1
  725. package/components/Modal/Modal/Modal.js +2 -7
  726. package/components/Modal/Modal/Modal.js.map +1 -1
  727. package/components/Modal/Modal.d.ts +89 -94
  728. package/components/Modal/Modal.styles.d.ts +40 -40
  729. package/components/Modal/ModalBody.d.ts +23 -23
  730. package/components/Modal/ModalClose/ModalClose.js +1 -2
  731. package/components/Modal/ModalClose/ModalClose.js.map +1 -1
  732. package/components/Modal/ModalClose.d.ts +2 -2
  733. package/components/Modal/ModalContext.d.ts +16 -16
  734. package/components/Modal/ModalFooter/ModalFooter.js +0 -4
  735. package/components/Modal/ModalFooter/ModalFooter.js.map +1 -1
  736. package/components/Modal/ModalFooter.d.ts +21 -24
  737. package/components/Modal/ModalHeader/ModalHeader.js +0 -4
  738. package/components/Modal/ModalHeader/ModalHeader.js.map +1 -1
  739. package/components/Modal/ModalHeader.d.ts +17 -20
  740. package/components/Modal/index.d.ts +4 -4
  741. package/components/Paging/NavigationHelper.d.ts +7 -7
  742. package/components/Paging/Paging/Paging.js +5 -12
  743. package/components/Paging/Paging/Paging.js.map +1 -1
  744. package/components/Paging/Paging.d.ts +97 -104
  745. package/components/Paging/Paging.styles.d.ts +20 -20
  746. package/components/Paging/PagingDefaultComponent.d.ts +9 -9
  747. package/components/Paging/PagingHelper.d.ts +2 -2
  748. package/components/Paging/index.d.ts +1 -1
  749. package/components/Paging/locale/index.d.ts +4 -4
  750. package/components/Paging/locale/locales/en.d.ts +2 -2
  751. package/components/Paging/locale/locales/ru.d.ts +2 -2
  752. package/components/Paging/locale/types.d.ts +3 -3
  753. package/components/PasswordInput/PasswordInput/PasswordInput.js +2 -8
  754. package/components/PasswordInput/PasswordInput/PasswordInput.js.map +1 -1
  755. package/components/PasswordInput/PasswordInput.d.ts +52 -57
  756. package/components/PasswordInput/PasswordInput.styles.d.ts +10 -10
  757. package/components/PasswordInput/PasswordInputIcon.d.ts +3 -3
  758. package/components/PasswordInput/index.d.ts +1 -1
  759. package/components/Radio/Radio/Radio.js +1 -6
  760. package/components/Radio/Radio/Radio.js.map +1 -1
  761. package/components/Radio/Radio.d.ts +78 -81
  762. package/components/Radio/Radio.styles.d.ts +21 -21
  763. package/components/Radio/index.d.ts +1 -1
  764. package/components/RadioGroup/Prevent.d.ts +8 -8
  765. package/components/RadioGroup/RadioGroup/RadioGroup.js +0 -4
  766. package/components/RadioGroup/RadioGroup/RadioGroup.js.map +1 -1
  767. package/components/RadioGroup/RadioGroup.d.ts +121 -124
  768. package/components/RadioGroup/RadioGroup.styles.d.ts +7 -7
  769. package/components/RadioGroup/RadioGroupContext.d.ts +10 -10
  770. package/components/RadioGroup/index.d.ts +1 -1
  771. package/components/ResponsiveLayout/ResponsiveLayout.d.ts +12 -12
  772. package/components/ResponsiveLayout/ResponsiveLayoutEvents.d.ts +11 -11
  773. package/components/ResponsiveLayout/decorator.d.ts +33 -33
  774. package/components/ResponsiveLayout/index.d.ts +3 -3
  775. package/components/ResponsiveLayout/types.d.ts +11 -11
  776. package/components/ResponsiveLayout/useResponsiveLayout.d.ts +2 -2
  777. package/components/ScrollContainer/ScrollBar.d.ts +37 -37
  778. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js +1 -6
  779. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js.map +1 -1
  780. package/components/ScrollContainer/ScrollContainer.constants.d.ts +23 -23
  781. package/components/ScrollContainer/ScrollContainer.d.ts +87 -91
  782. package/components/ScrollContainer/ScrollContainer.helpers.d.ts +10 -10
  783. package/components/ScrollContainer/ScrollContainer.styles.d.ts +17 -17
  784. package/components/ScrollContainer/index.d.ts +1 -1
  785. package/components/Select/Item.d.ts +9 -9
  786. package/components/Select/Select/Select.js +0 -4
  787. package/components/Select/Select/Select.js.map +1 -1
  788. package/components/Select/Select.d.ts +182 -185
  789. package/components/Select/Select.styles.d.ts +18 -18
  790. package/components/Select/index.d.ts +1 -1
  791. package/components/Select/locale/index.d.ts +4 -4
  792. package/components/Select/locale/locales/en.d.ts +2 -2
  793. package/components/Select/locale/locales/ru.d.ts +2 -2
  794. package/components/Select/locale/types.d.ts +4 -4
  795. package/components/Select/selectTheme.d.ts +3 -3
  796. package/components/SidePage/SidePage/SidePage.js +2 -6
  797. package/components/SidePage/SidePage/SidePage.js.map +1 -1
  798. package/components/SidePage/SidePage.d.ts +111 -115
  799. package/components/SidePage/SidePage.styles.d.ts +48 -48
  800. package/components/SidePage/SidePageBody/SidePageBody.js +6 -10
  801. package/components/SidePage/SidePageBody/SidePageBody.js.map +1 -1
  802. package/components/SidePage/SidePageBody.d.ts +20 -23
  803. package/components/SidePage/SidePageContainer/SidePageContainer.js +6 -10
  804. package/components/SidePage/SidePageContainer/SidePageContainer.js.map +1 -1
  805. package/components/SidePage/SidePageContainer.d.ts +16 -19
  806. package/components/SidePage/SidePageContext.d.ts +17 -17
  807. package/components/SidePage/SidePageFooter/SidePageFooter.js +6 -10
  808. package/components/SidePage/SidePageFooter/SidePageFooter.js.map +1 -1
  809. package/components/SidePage/SidePageFooter.d.ts +41 -44
  810. package/components/SidePage/SidePageHeader/SidePageHeader.js +7 -12
  811. package/components/SidePage/SidePageHeader/SidePageHeader.js.map +1 -1
  812. package/components/SidePage/SidePageHeader.d.ts +44 -48
  813. package/components/SidePage/index.d.ts +5 -5
  814. package/components/Spinner/Spinner/Spinner.js +0 -4
  815. package/components/Spinner/Spinner/Spinner.js.map +1 -1
  816. package/components/Spinner/Spinner.d.ts +67 -70
  817. package/components/Spinner/Spinner.styles.d.ts +13 -13
  818. package/components/Spinner/SpinnerFallbackAnimation.d.ts +25 -25
  819. package/components/Spinner/index.d.ts +1 -1
  820. package/components/Spinner/locale/index.d.ts +4 -4
  821. package/components/Spinner/locale/locales/en.d.ts +2 -2
  822. package/components/Spinner/locale/locales/ru.d.ts +2 -2
  823. package/components/Spinner/locale/types.d.ts +4 -4
  824. package/components/Sticky/Sticky/Sticky.js +0 -4
  825. package/components/Sticky/Sticky/Sticky.js.map +1 -1
  826. package/components/Sticky/Sticky.d.ts +60 -63
  827. package/components/Sticky/Sticky.styles.d.ts +7 -7
  828. package/components/Sticky/index.d.ts +1 -1
  829. package/components/Switcher/Switcher/Switcher.js +4 -7
  830. package/components/Switcher/Switcher/Switcher.js.map +1 -1
  831. package/components/Switcher/Switcher.d.ts +58 -60
  832. package/components/Switcher/Switcher.styles.d.ts +11 -11
  833. package/components/Switcher/index.d.ts +1 -1
  834. package/components/Switcher/switcherTheme.d.ts +2 -2
  835. package/components/Tabs/Indicator/Indicator.js +0 -2
  836. package/components/Tabs/Indicator/Indicator.js.map +1 -1
  837. package/components/Tabs/Indicator.d.ts +28 -28
  838. package/components/Tabs/Indicator.styles.d.ts +8 -8
  839. package/components/Tabs/Tab/Tab.js +0 -4
  840. package/components/Tabs/Tab/Tab.js.map +1 -1
  841. package/components/Tabs/Tab.d.ts +121 -124
  842. package/components/Tabs/Tab.styles.d.ts +27 -27
  843. package/components/Tabs/Tabs/Tabs.js +0 -5
  844. package/components/Tabs/Tabs/Tabs.js.map +1 -1
  845. package/components/Tabs/Tabs.d.ts +64 -68
  846. package/components/Tabs/Tabs.styles.d.ts +5 -5
  847. package/components/Tabs/TabsContext.d.ts +14 -14
  848. package/components/Tabs/index.d.ts +2 -2
  849. package/components/Textarea/Textarea/Textarea.js +1 -7
  850. package/components/Textarea/Textarea/Textarea.js.map +1 -1
  851. package/components/Textarea/Textarea.d.ts +183 -187
  852. package/components/Textarea/Textarea.styles.d.ts +15 -15
  853. package/components/Textarea/TextareaCounter/TextareaCounter.js +0 -2
  854. package/components/Textarea/TextareaCounter/TextareaCounter.js.map +1 -1
  855. package/components/Textarea/TextareaCounter.d.ts +12 -12
  856. package/components/Textarea/TextareaHelpers.d.ts +11 -11
  857. package/components/Textarea/index.d.ts +1 -1
  858. package/components/Toast/Toast/Toast.js +10 -16
  859. package/components/Toast/Toast/Toast.js.map +1 -1
  860. package/components/Toast/Toast.d.ts +58 -64
  861. package/components/Toast/Toast.styles.d.ts +6 -6
  862. package/components/Toast/ToastStatic/ToastStatic.js +2 -2
  863. package/components/Toast/ToastStatic/ToastStatic.js.map +1 -1
  864. package/components/Toast/ToastStatic.d.ts +8 -8
  865. package/components/Toast/ToastView/ToastView.js +3 -4
  866. package/components/Toast/ToastView/ToastView.js.map +1 -1
  867. package/components/Toast/ToastView.d.ts +38 -38
  868. package/components/Toast/ToastView.styles.d.ts +8 -8
  869. package/components/Toast/index.d.ts +1 -1
  870. package/components/Toggle/Toggle/Toggle.js +0 -4
  871. package/components/Toggle/Toggle/Toggle.js.map +1 -1
  872. package/components/Toggle/Toggle.d.ts +106 -109
  873. package/components/Toggle/Toggle.styles.d.ts +30 -30
  874. package/components/Toggle/index.d.ts +1 -1
  875. package/components/Token/Token/Token.js +0 -4
  876. package/components/Token/Token/Token.js.map +1 -1
  877. package/components/Token/Token.d.ts +36 -39
  878. package/components/Token/Token.styles.d.ts +29 -29
  879. package/components/Token/index.d.ts +1 -1
  880. package/components/TokenInput/TextWidthHelper.d.ts +18 -18
  881. package/components/TokenInput/TokenInput/TokenInput.js +0 -5
  882. package/components/TokenInput/TokenInput/TokenInput.js.map +1 -1
  883. package/components/TokenInput/TokenInput.d.ts +210 -214
  884. package/components/TokenInput/TokenInput.styles.d.ts +15 -15
  885. package/components/TokenInput/TokenInputMenu/TokenInputMenu.js +0 -2
  886. package/components/TokenInput/TokenInputMenu/TokenInputMenu.js.map +1 -1
  887. package/components/TokenInput/TokenInputMenu.d.ts +19 -19
  888. package/components/TokenInput/TokenInputReducer.d.ts +25 -25
  889. package/components/TokenInput/index.d.ts +1 -1
  890. package/components/TokenInput/locale/index.d.ts +4 -4
  891. package/components/TokenInput/locale/locales/en.d.ts +2 -2
  892. package/components/TokenInput/locale/locales/ru.d.ts +2 -2
  893. package/components/TokenInput/locale/types.d.ts +4 -4
  894. package/components/Tooltip/Tooltip/Tooltip.js +1 -7
  895. package/components/Tooltip/Tooltip/Tooltip.js.map +1 -1
  896. package/components/Tooltip/Tooltip.d.ts +160 -164
  897. package/components/Tooltip/Tooltip.styles.d.ts +5 -5
  898. package/components/Tooltip/index.d.ts +1 -1
  899. package/components/TooltipMenu/TooltipMenu/TooltipMenu.js +0 -4
  900. package/components/TooltipMenu/TooltipMenu/TooltipMenu.js.map +1 -1
  901. package/components/TooltipMenu/TooltipMenu.d.ts +66 -69
  902. package/components/TooltipMenu/index.d.ts +1 -1
  903. package/hooks/useDrop.d.ts +11 -11
  904. package/hooks/useEffectWithoutInitCall.d.ts +2 -2
  905. package/hooks/useMemoObject.d.ts +2 -2
  906. package/index.d.ts +54 -54
  907. package/internal/BGRuler.d.ts +28 -28
  908. package/internal/Calendar/Calendar/Calendar.js +1 -7
  909. package/internal/Calendar/Calendar/Calendar.js.map +1 -1
  910. package/internal/Calendar/Calendar.d.ts +57 -63
  911. package/internal/Calendar/Calendar.styles.d.ts +5 -5
  912. package/internal/Calendar/CalendarDateShape.d.ts +14 -14
  913. package/internal/Calendar/CalendarScrollEvents.d.ts +4 -4
  914. package/internal/Calendar/CalendarUtils.d.ts +19 -19
  915. package/internal/Calendar/DayCellView.d.ts +13 -13
  916. package/internal/Calendar/DayCellView.styles.d.ts +7 -7
  917. package/internal/Calendar/DayCellViewModel.d.ts +8 -8
  918. package/internal/Calendar/Month.d.ts +33 -33
  919. package/internal/Calendar/MonthView/MonthView.js +3 -4
  920. package/internal/Calendar/MonthView/MonthView.js.map +1 -1
  921. package/internal/Calendar/MonthView.d.ts +21 -21
  922. package/internal/Calendar/MonthView.styles.d.ts +10 -10
  923. package/internal/Calendar/MonthViewModel.d.ts +14 -14
  924. package/internal/Calendar/config.d.ts +2 -2
  925. package/internal/Calendar/index.d.ts +2 -2
  926. package/internal/CommonWrapper/CommonWrapper.d.ts +33 -33
  927. package/internal/CommonWrapper/index.d.ts +1 -1
  928. package/internal/ComponentCombinator.d.ts +23 -23
  929. package/internal/ComponentTable.d.ts +22 -22
  930. package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js +5 -12
  931. package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js.map +1 -1
  932. package/internal/CustomComboBox/ComboBoxMenu.d.ts +33 -40
  933. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js +0 -2
  934. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js.map +1 -1
  935. package/internal/CustomComboBox/ComboBoxView.d.ts +95 -95
  936. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js +0 -3
  937. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js.map +1 -1
  938. package/internal/CustomComboBox/CustomComboBox.d.ts +138 -141
  939. package/internal/CustomComboBox/CustomComboBox.styles.d.ts +5 -5
  940. package/internal/CustomComboBox/CustomComboBoxReducer.d.ts +71 -71
  941. package/internal/CustomComboBox/CustomComboBoxTypes.d.ts +6 -6
  942. package/internal/CustomComboBox/index.d.ts +2 -2
  943. package/internal/CustomComboBox/locale/index.d.ts +4 -4
  944. package/internal/CustomComboBox/locale/locales/en.d.ts +2 -2
  945. package/internal/CustomComboBox/locale/locales/ru.d.ts +2 -2
  946. package/internal/CustomComboBox/locale/types.d.ts +5 -5
  947. package/internal/DateSelect/DateSelect/DateSelect.js +2 -6
  948. package/internal/DateSelect/DateSelect/DateSelect.js.map +1 -1
  949. package/internal/DateSelect/DateSelect.d.ts +91 -95
  950. package/internal/DateSelect/DateSelect.styles.d.ts +19 -19
  951. package/internal/DateSelect/index.d.ts +1 -1
  952. package/internal/DropdownContainer/DropdownContainer.d.ts +41 -41
  953. package/internal/DropdownContainer/DropdownContainer.styles.d.ts +3 -3
  954. package/internal/DropdownContainer/index.d.ts +1 -1
  955. package/internal/FileUploaderControl/FileUploaderControlContext.d.ts +14 -14
  956. package/internal/FileUploaderControl/FileUploaderControlProvider.d.ts +14 -14
  957. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile/FileUploaderFile.js +5 -12
  958. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile/FileUploaderFile.js.map +1 -1
  959. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.d.ts +15 -22
  960. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.styles.d.ts +18 -18
  961. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList/FileUploaderFileList.js +1 -4
  962. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList/FileUploaderFileList.js.map +1 -1
  963. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.d.ts +12 -15
  964. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.styles.d.ts +8 -8
  965. package/internal/FileUploaderControl/FileUploaderFileValidationResult.d.ts +7 -7
  966. package/internal/FileUploaderControl/fileUtils.d.ts +14 -14
  967. package/internal/FileUploaderControl/hooks/useControlLocale.d.ts +1 -1
  968. package/internal/FileUploaderControl/hooks/useFileUploaderSize.d.ts +2 -2
  969. package/internal/FileUploaderControl/hooks/useUpload.d.ts +3 -3
  970. package/internal/FileUploaderControl/withFileUploaderControlProvider.d.ts +3 -3
  971. package/internal/FocusTrap/FocusTrap.d.ts +17 -17
  972. package/internal/FocusTrap/index.d.ts +1 -1
  973. package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.d.ts +14 -14
  974. package/internal/HideBodyVerticalScroll/index.d.ts +1 -1
  975. package/internal/IgnoreLayerClick/IgnoreLayerClick.d.ts +8 -8
  976. package/internal/IgnoreLayerClick/index.d.ts +1 -1
  977. package/internal/InputLikeText/HiddenInput.d.ts +13 -13
  978. package/internal/InputLikeText/InputLikeText/InputLikeText.js +2 -8
  979. package/internal/InputLikeText/InputLikeText/InputLikeText.js.map +1 -1
  980. package/internal/InputLikeText/InputLikeText.d.ts +74 -78
  981. package/internal/InputLikeText/InputLikeText.styles.d.ts +7 -7
  982. package/internal/InputLikeText/index.d.ts +1 -1
  983. package/internal/InternalMenu/InternalMenu/InternalMenu.js +0 -4
  984. package/internal/InternalMenu/InternalMenu/InternalMenu.js.map +1 -1
  985. package/internal/InternalMenu/InternalMenu.d.ts +63 -66
  986. package/internal/InternalMenu/InternalMenu.styles.d.ts +10 -10
  987. package/internal/InternalMenu/addIconPaddingIfPartOfMenu.d.ts +2 -2
  988. package/internal/InternalMenu/index.d.ts +1 -1
  989. package/internal/InternalMenu/isActiveElement.d.ts +3 -3
  990. package/internal/MaskCharLowLine/MaskCharLowLine.d.ts +9 -9
  991. package/internal/MaskCharLowLine/MaskCharLowLine.styles.d.ts +3 -3
  992. package/internal/MaskCharLowLine/index.d.ts +1 -1
  993. package/internal/MaskedInput/MaskedInput/MaskedInput.js +0 -4
  994. package/internal/MaskedInput/MaskedInput/MaskedInput.js.map +1 -1
  995. package/internal/MaskedInput/MaskedInput.d.ts +43 -46
  996. package/internal/MaskedInput/MaskedInput.styles.d.ts +6 -6
  997. package/internal/MaskedInput/index.d.ts +1 -1
  998. package/internal/Menu/Menu/Menu.js +0 -4
  999. package/internal/Menu/Menu/Menu.js.map +1 -1
  1000. package/internal/Menu/Menu.d.ts +67 -70
  1001. package/internal/Menu/Menu.styles.d.ts +9 -9
  1002. package/internal/Menu/index.d.ts +1 -1
  1003. package/internal/Menu/isActiveElement.d.ts +3 -3
  1004. package/internal/MobilePopup/MobilePopup/MobilePopup.js +0 -6
  1005. package/internal/MobilePopup/MobilePopup/MobilePopup.js.map +1 -1
  1006. package/internal/MobilePopup/MobilePopup.d.ts +34 -38
  1007. package/internal/MobilePopup/MobilePopup.styles.d.ts +10 -10
  1008. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.d.ts +15 -15
  1009. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.styles.d.ts +10 -10
  1010. package/internal/MobilePopup/MobilePopupHeader/index.d.ts +1 -1
  1011. package/internal/MobilePopup/index.d.ts +1 -1
  1012. package/internal/NativeDateInput/NativeDateInput.d.ts +23 -23
  1013. package/internal/NativeDateInput/NativeDateInput.styles.d.ts +3 -3
  1014. package/internal/NativeDateInput/index.d.ts +1 -1
  1015. package/internal/NativeDateInput/utils.d.ts +7 -7
  1016. package/internal/PerformanceMetrics/PerformanceMetrics.d.ts +7 -7
  1017. package/internal/Popup/Popup/Popup.js +2 -7
  1018. package/internal/Popup/Popup/Popup.js.map +1 -1
  1019. package/internal/Popup/Popup.d.ts +166 -171
  1020. package/internal/Popup/Popup.styles.d.ts +16 -16
  1021. package/internal/Popup/PopupHelper.d.ts +26 -26
  1022. package/internal/Popup/PopupPin/PopupPin.js +0 -2
  1023. package/internal/Popup/PopupPin/PopupPin.js.map +1 -1
  1024. package/internal/Popup/PopupPin.d.ts +56 -56
  1025. package/internal/Popup/PopupPin.styles.d.ts +3 -3
  1026. package/internal/Popup/index.d.ts +1 -1
  1027. package/internal/Popup/types.d.ts +2 -2
  1028. package/internal/PopupMenu/PopupMenu/PopupMenu.js +2 -7
  1029. package/internal/PopupMenu/PopupMenu/PopupMenu.js.map +1 -1
  1030. package/internal/PopupMenu/PopupMenu.d.ts +87 -91
  1031. package/internal/PopupMenu/PopupMenu.styles.d.ts +4 -4
  1032. package/internal/PopupMenu/index.d.ts +1 -1
  1033. package/internal/PopupMenu/validatePositions.d.ts +2 -2
  1034. package/internal/RenderContainer/RenderContainer.d.ts +16 -16
  1035. package/internal/RenderContainer/RenderContainerTypes.d.ts +13 -13
  1036. package/internal/RenderContainer/RenderInnerContainer.d.ts +21 -21
  1037. package/internal/RenderContainer/index.d.ts +1 -1
  1038. package/internal/RenderLayer/RenderLayer.d.ts +31 -31
  1039. package/internal/RenderLayer/index.d.ts +1 -1
  1040. package/internal/ResizeDetector/ResizeDetector.d.ts +13 -13
  1041. package/internal/ResizeDetector/ResizeDetector.styles.d.ts +6 -6
  1042. package/internal/ResizeDetector/index.d.ts +1 -1
  1043. package/internal/TextWidthHelper/TextWidthHelper.d.ts +15 -15
  1044. package/internal/TextWidthHelper/TextWidthHelper.styles.d.ts +4 -4
  1045. package/internal/ThemePlayground/AnotherInputsPlayground.d.ts +18 -18
  1046. package/internal/ThemePlayground/CheckboxPlayground.d.ts +1 -1
  1047. package/internal/ThemePlayground/ComponentsGroup.d.ts +10 -10
  1048. package/internal/ThemePlayground/CurrencyInputPlayground.d.ts +12 -12
  1049. package/internal/ThemePlayground/FxInputPlayground.d.ts +12 -12
  1050. package/internal/ThemePlayground/HintPlayground.d.ts +6 -6
  1051. package/internal/ThemePlayground/PagingPlayground.d.ts +10 -10
  1052. package/internal/ThemePlayground/Playground.d.ts +30 -30
  1053. package/internal/ThemePlayground/Playground.styles.d.ts +23 -23
  1054. package/internal/ThemePlayground/RadioPlayground.d.ts +1 -1
  1055. package/internal/ThemePlayground/SelectPlayground.d.ts +15 -15
  1056. package/internal/ThemePlayground/ShowcaseGroup.d.ts +5 -5
  1057. package/internal/ThemePlayground/SizesGroup.d.ts +4 -4
  1058. package/internal/ThemePlayground/SwitcherPlayground.d.ts +16 -16
  1059. package/internal/ThemePlayground/ThemeContextPlayground.d.ts +53 -53
  1060. package/internal/ThemePlayground/ThemeEditor.d.ts +36 -36
  1061. package/internal/ThemePlayground/TogglePlayground.d.ts +4 -4
  1062. package/internal/ThemePlayground/TokenInputPlayground.d.ts +9 -9
  1063. package/internal/ThemePlayground/VariableValue.d.ts +43 -43
  1064. package/internal/ThemePlayground/constants.d.ts +19 -19
  1065. package/internal/ThemePlayground/darkTheme.d.ts +269 -269
  1066. package/internal/ThemePlayground/helpers.d.ts +2 -2
  1067. package/internal/ThemeShowcase/ThemeShowcase.d.ts +22 -22
  1068. package/internal/ThemeShowcase/ThemeShowcase.styles.d.ts +27 -27
  1069. package/internal/ThemeShowcase/VariablesCollector.d.ts +22 -22
  1070. package/internal/ZIndex/ZIndex.d.ts +46 -46
  1071. package/internal/ZIndex/ZIndexStorage.d.ts +21 -21
  1072. package/internal/ZIndex/index.d.ts +1 -1
  1073. package/internal/icons/16px/icon.styles.d.ts +4 -4
  1074. package/internal/icons/16px/index.d.ts +25 -25
  1075. package/internal/icons/20px/Icon.d.ts +30 -30
  1076. package/internal/icons/20px/icon.styles.d.ts +4 -4
  1077. package/internal/icons/20px/index.d.ts +2 -2
  1078. package/internal/icons/20px/svg.d.ts +14 -14
  1079. package/internal/icons/CloudIcon.d.ts +1 -1
  1080. package/internal/icons/CrossIcon.d.ts +1 -1
  1081. package/internal/icons/SpinnerIcon.d.ts +27 -27
  1082. package/internal/icons/SpinnerIcon.styles.d.ts +6 -6
  1083. package/internal/themes/DarkTheme.d.ts +138 -138
  1084. package/internal/themes/DefaultTheme/DefaultTheme.js +2 -1
  1085. package/internal/themes/DefaultTheme/DefaultTheme.js.map +1 -1
  1086. package/internal/themes/DefaultTheme.d.ts +897 -896
  1087. package/internal/themes/NotFlat.d.ts +133 -133
  1088. package/internal/themes/OldColors.d.ts +116 -116
  1089. package/internal/themes/Theme2022.d.ts +66 -66
  1090. package/internal/themes/Theme2022Dark.d.ts +5 -5
  1091. package/lib/ConditionalHandler.d.ts +12 -12
  1092. package/lib/InstanceWithAnchorElement.d.ts +5 -5
  1093. package/lib/LayoutEvents.d.ts +4 -4
  1094. package/lib/ModalStack.d.ts +14 -14
  1095. package/lib/SSRSafe.d.ts +6 -6
  1096. package/lib/Supports.d.ts +1 -1
  1097. package/lib/Upgrades.d.ts +6 -6
  1098. package/lib/animation/index.d.ts +6 -6
  1099. package/lib/animation/presets.d.ts +18 -18
  1100. package/lib/animation/stepper.d.ts +1 -1
  1101. package/lib/callChildRef/callChildRef.d.ts +3 -3
  1102. package/lib/client.d.ts +16 -16
  1103. package/lib/createPropsGetter.d.ts +3 -3
  1104. package/lib/currentEnvironment.d.ts +3 -3
  1105. package/lib/date/InternalDate.d.ts +58 -58
  1106. package/lib/date/InternalDateCalculator.d.ts +6 -6
  1107. package/lib/date/InternalDateGetter.d.ts +15 -15
  1108. package/lib/date/InternalDateSetter.d.ts +6 -6
  1109. package/lib/date/InternalDateTransformer.d.ts +12 -12
  1110. package/lib/date/InternalDateValidator.d.ts +12 -12
  1111. package/lib/date/constants.d.ts +28 -28
  1112. package/lib/date/localeSets.d.ts +5 -5
  1113. package/lib/date/types.d.ts +94 -94
  1114. package/lib/dom/getDOMRect.d.ts +11 -11
  1115. package/lib/dom/getScrollWidth.d.ts +1 -1
  1116. package/lib/dom/tabbableHelpers.d.ts +16 -16
  1117. package/lib/events/MouseDrag.d.ts +58 -58
  1118. package/lib/events/fixClickFocusIE.d.ts +1 -1
  1119. package/lib/events/fixFirefoxModifiedClickOnLabel.d.ts +2 -2
  1120. package/lib/events/keyListener.d.ts +7 -7
  1121. package/lib/events/keyboard/KeyboardEventCodes.d.ts +30 -30
  1122. package/lib/events/keyboard/KeyboardMapKeys.d.ts +7 -7
  1123. package/lib/events/keyboard/extractCode.d.ts +3 -3
  1124. package/lib/events/keyboard/identifiers.d.ts +48 -48
  1125. package/lib/events/stopPropagation.d.ts +1 -1
  1126. package/lib/events/tabListener.d.ts +1 -1
  1127. package/lib/extractKeyboardAction.d.ts +13 -13
  1128. package/lib/filterProps.d.ts +12 -12
  1129. package/lib/forwardRefAndName.d.ts +5 -5
  1130. package/lib/getDisplayName.d.ts +3 -3
  1131. package/lib/listenFocusOutside.d.ts +8 -8
  1132. package/lib/locale/LocaleContext.d.ts +7 -7
  1133. package/lib/locale/LocaleHelper.d.ts +9 -9
  1134. package/lib/locale/constants.d.ts +2 -2
  1135. package/lib/locale/decorators.d.ts +36 -36
  1136. package/lib/locale/index.d.ts +3 -3
  1137. package/lib/locale/types.d.ts +21 -21
  1138. package/lib/locale/useLocaleForControl.d.ts +3 -3
  1139. package/lib/memo.d.ts +3 -3
  1140. package/lib/needsPolyfillPlaceholder.d.ts +6 -6
  1141. package/lib/net/fetch.d.ts +13 -13
  1142. package/lib/reactGetTextContent.d.ts +2 -2
  1143. package/lib/rootNode/getRootNode.d.ts +12 -12
  1144. package/lib/rootNode/index.d.ts +2 -2
  1145. package/lib/rootNode/rootNodeDecorator.d.ts +52 -52
  1146. package/lib/stringUtils.d.ts +1 -1
  1147. package/lib/styles/ColorFactory.d.ts +11 -11
  1148. package/lib/styles/ColorFunctions.d.ts +11 -11
  1149. package/lib/styles/ColorHelpers.d.ts +21 -21
  1150. package/lib/styles/ColorKeywords.d.ts +150 -150
  1151. package/lib/styles/ColorObject.d.ts +52 -52
  1152. package/lib/styles/DimensionFunctions.d.ts +1 -1
  1153. package/lib/styles/HoldSelectionColor.d.ts +1 -1
  1154. package/lib/styles/Mixins.d.ts +2 -2
  1155. package/lib/styles/getLabGrotesqueBaselineCompensation.d.ts +1 -1
  1156. package/lib/taskWithDelayAndMinimalDuration.d.ts +21 -21
  1157. package/lib/theming/AnimationKeyframes.d.ts +7 -7
  1158. package/lib/theming/Emotion.d.ts +15 -15
  1159. package/lib/theming/Theme.d.ts +3 -3
  1160. package/lib/theming/ThemeContext.d.ts +2 -2
  1161. package/lib/theming/ThemeFactory.d.ts +7 -7
  1162. package/lib/theming/ThemeHelpers.d.ts +6 -6
  1163. package/lib/theming/themes/DarkTheme.d.ts +1 -1
  1164. package/lib/theming/themes/DefaultTheme.d.ts +1 -1
  1165. package/lib/theming/themes/DefaultTheme8pxOld.d.ts +1 -1
  1166. package/lib/theming/themes/DefaultThemeMobile.d.ts +3 -3
  1167. package/lib/theming/themes/FlatTheme8pxOld.d.ts +1 -1
  1168. package/lib/theming/themes/Theme2022.d.ts +1 -1
  1169. package/lib/theming/themes/Theme2022Dark.d.ts +1 -1
  1170. package/lib/theming/useTheme.d.ts +1 -1
  1171. package/lib/uidUtils.d.ts +1 -1
  1172. package/lib/utils.d.ts +80 -80
  1173. package/lib/withClassWrapper.d.ts +71 -71
  1174. package/package.json +2 -5
  1175. package/cjs/internal/DataTids/DATATIDS.md +0 -12
  1176. package/cjs/internal/DataTids/DataTids.d.ts +0 -12
  1177. package/cjs/internal/DataTids/DataTids.js +0 -50
  1178. package/cjs/internal/DataTids/DataTids.js.map +0 -1
  1179. package/cjs/internal/DataTids/DataTids.styles.d.ts +0 -7
  1180. package/cjs/internal/DataTids/DataTids.styles.js +0 -41
  1181. package/cjs/internal/DataTids/DataTids.styles.js.map +0 -1
  1182. package/cjs/internal/DataTids/componentsDataTids.d.ts +0 -5
  1183. package/cjs/internal/DataTids/componentsDataTids.js +0 -16
  1184. package/cjs/internal/DataTids/componentsDataTids.js.map +0 -1
  1185. package/internal/DataTids/DATATIDS.md +0 -12
  1186. package/internal/DataTids/DataTids/DataTids.js +0 -69
  1187. package/internal/DataTids/DataTids/DataTids.js.map +0 -1
  1188. package/internal/DataTids/DataTids/package.json +0 -6
  1189. package/internal/DataTids/DataTids.d.ts +0 -12
  1190. package/internal/DataTids/DataTids.styles/DataTids.styles.js +0 -22
  1191. package/internal/DataTids/DataTids.styles/DataTids.styles.js.map +0 -1
  1192. package/internal/DataTids/DataTids.styles/package.json +0 -6
  1193. package/internal/DataTids/DataTids.styles.d.ts +0 -7
  1194. package/internal/DataTids/componentsDataTids/componentsDataTids.js +0 -14
  1195. package/internal/DataTids/componentsDataTids/componentsDataTids.js.map +0 -1
  1196. package/internal/DataTids/componentsDataTids/package.json +0 -6
  1197. package/internal/DataTids/componentsDataTids.d.ts +0 -5
@@ -1,171 +1,166 @@
1
- import React from 'react';
2
- import PropTypes from 'prop-types';
3
- import { Nullable } from '../../typings/utility-types';
4
- import { FocusEventType, MouseEventType } from '../../typings/event-types';
5
- import { CommonProps } from '../CommonWrapper';
6
- export declare const PopupPositions: readonly ["top left", "top center", "top right", "right top", "right middle", "right bottom", "bottom right", "bottom center", "bottom left", "left bottom", "left middle", "left top"];
7
- export declare const DefaultPosition: "top left";
8
- export declare type PopupPositionsType = typeof PopupPositions[number];
9
- export declare const DUMMY_LOCATION: PopupLocation;
10
- export interface PopupHandlerProps {
11
- onMouseEnter?: (event: MouseEventType) => void;
12
- onMouseLeave?: (event: MouseEventType) => void;
13
- onClick?: (event: MouseEventType) => void;
14
- onFocus?: (event: FocusEventType) => void;
15
- onBlur?: (event: FocusEventType) => void;
16
- onOpen?: () => void;
17
- onClose?: () => void;
18
- }
19
- export interface PopupProps extends CommonProps, PopupHandlerProps {
20
- anchorElement: React.ReactNode | HTMLElement;
21
- backgroundColor?: React.CSSProperties['backgroundColor'];
22
- borderColor?: React.CSSProperties['borderColor'];
23
- children: React.ReactNode | (() => React.ReactNode);
24
- hasPin?: boolean;
25
- hasShadow?: boolean;
26
- disableAnimations?: boolean;
27
- margin?: number;
28
- maxWidth?: number | string;
29
- opened: boolean;
30
- pinOffset?: number;
31
- pinSize?: number;
32
- popupOffset?: number;
33
- positions: Readonly<PopupPositionsType[]>;
34
- /**
35
- * Явно указывает, что вложенные элементы должны быть обёрнуты в `<span/>`. <br/> Используется для корректного позиционирования тултипа при двух и более вложенных элементах.
36
- *
37
- * _Примечание_: при **двух и более** вложенных элементах обёртка будет добавлена автоматически.
38
- */
39
- useWrapper?: boolean;
40
- ignoreHover?: boolean;
41
- width?: React.CSSProperties['width'];
42
- /**
43
- * При очередном рендере пытаться сохранить первоначальную позицию попапа
44
- * (в числе числе, когда он выходит за пределы экрана, но может быть проскролен в него).
45
- *
46
- * Нужен только для Tooltip. В остальных случаях позиция перестраивается автоматически.
47
- * @see https://github.com/skbkontur/retail-ui/pull/1195
48
- */
49
- tryPreserveFirstRenderedPosition?: boolean;
50
- withoutMobile?: boolean;
51
- mobileOnCloseRequest?: () => void;
52
- /**
53
- * Возвращает текущую позицию попапа
54
- */
55
- onPositionChange?: (pos: PopupPositionsType) => void;
56
- }
57
- interface PopupLocation {
58
- coordinates: {
59
- left: number;
60
- top: number;
61
- };
62
- position: PopupPositionsType;
63
- }
64
- export interface PopupState {
65
- location: Nullable<PopupLocation>;
66
- }
67
- export declare const PopupDataTids: {
68
- readonly content: "PopupContent";
69
- readonly contentInner: "PopupContentInner";
70
- readonly popupPin: "PopupPin__root";
71
- };
72
- declare type DefaultProps = Required<Pick<PopupProps, 'popupOffset' | 'hasPin' | 'hasShadow' | 'disableAnimations' | 'useWrapper' | 'ignoreHover' | 'width'>>;
73
- export declare class Popup extends React.Component<PopupProps, PopupState> {
74
- static __KONTUR_REACT_UI__: string;
75
- static propTypes: {
76
- /**
77
- * Ссылка (ref) на элемент или React компонент, для которого рисуется попап
78
- */
79
- anchorElement: PropTypes.Validator<string | number | boolean | {} | PropTypes.ReactElementLike | PropTypes.ReactNodeArray>;
80
- /**
81
- * Фон попапа и пина
82
- */
83
- backgroundColor: PropTypes.Requireable<string>;
84
- children: PropTypes.Requireable<string | number | boolean | {} | PropTypes.ReactElementLike | PropTypes.ReactNodeArray>;
85
- /**
86
- * Показывать ли пин
87
- */
88
- hasPin: PropTypes.Requireable<boolean>;
89
- /**
90
- * Применять ли box-shadow на попапе. При false отключает границу на пине
91
- */
92
- hasShadow: PropTypes.Requireable<boolean>;
93
- /**
94
- * Отступ попапа от элемента
95
- */
96
- margin: PropTypes.Requireable<number>;
97
- /**
98
- * Показан или скрыт попап
99
- */
100
- opened: PropTypes.Requireable<boolean>;
101
- /**
102
- * Смещение пина от края попапа. Край задаётся в пропе position вторым словом
103
- */
104
- pinOffset: PropTypes.Requireable<number>;
105
- /**
106
- * Сторона пина без учёта границы.
107
- * Пин представляет собой равносторонний треугольник, высота от попапа
108
- * до "носика" пина будет соответствовать формуле (size* √3)/2
109
- */
110
- pinSize: PropTypes.Requireable<number>;
111
- /**
112
- * смещение попапа относительно родительского элемента
113
- */
114
- popupOffset: PropTypes.Requireable<number>;
115
- /**
116
- * С какой стороны показывать попап и край попапа,
117
- * на котором будет отображаться пин
118
- */
119
- positions: PropTypes.Requireable<any[]>;
120
- /**
121
- * Игнорировать ли события hover/click
122
- */
123
- ignoreHover: PropTypes.Requireable<boolean>;
124
- };
125
- static defaultProps: DefaultProps;
126
- private getProps;
127
- static readonly defaultRootNode: null;
128
- state: PopupState;
129
- private theme;
130
- private layoutEventsToken;
131
- private locationUpdateId;
132
- private lastPopupElement;
133
- private isMobileLayout;
134
- private setRootNode;
135
- private refForTransition;
136
- anchorElement: Nullable<Element>;
137
- componentDidMount(): void;
138
- static getDerivedStateFromProps(props: Readonly<PopupProps>, state: PopupState): PopupState;
139
- componentDidUpdate(prevProps: PopupProps, prevState: PopupState): void;
140
- componentWillUnmount(): void;
141
- render(): JSX.Element;
142
- private renderMobile;
143
- private renderMain;
144
- private updateAnchorElement;
145
- private addEventListeners;
146
- private removeEventListeners;
147
- private handleMouseEnter;
148
- private handleMouseLeave;
149
- private handleClick;
150
- private handleFocus;
151
- private handleBlur;
152
- private calculateWidth;
153
- private content;
154
- private renderContent;
155
- private resetLocation;
156
- private renderChildren;
157
- private refPopupElement;
158
- private renderPin;
159
- private handleLayoutEvent;
160
- private delayUpdateLocation;
161
- private cancelDelayedUpdateLocation;
162
- private updateLocation;
163
- private locationEquals;
164
- private getLocation;
165
- private getPinnedPopupOffset;
166
- private getCoordinates;
167
- private getPinOffset;
168
- private getHorizontalPosition;
169
- private getVerticalPosition;
170
- }
171
- export {};
1
+ import React from 'react';
2
+ import PropTypes from 'prop-types';
3
+ import { Nullable } from '../../typings/utility-types';
4
+ import { FocusEventType, MouseEventType } from '../../typings/event-types';
5
+ import { CommonProps } from '../CommonWrapper';
6
+ export declare const PopupPositions: readonly ["top left", "top center", "top right", "right top", "right middle", "right bottom", "bottom right", "bottom center", "bottom left", "left bottom", "left middle", "left top"];
7
+ export declare const DefaultPosition: "top left";
8
+ export declare type PopupPositionsType = typeof PopupPositions[number];
9
+ export declare const DUMMY_LOCATION: PopupLocation;
10
+ export interface PopupHandlerProps {
11
+ onMouseEnter?: (event: MouseEventType) => void;
12
+ onMouseLeave?: (event: MouseEventType) => void;
13
+ onClick?: (event: MouseEventType) => void;
14
+ onFocus?: (event: FocusEventType) => void;
15
+ onBlur?: (event: FocusEventType) => void;
16
+ onOpen?: () => void;
17
+ onClose?: () => void;
18
+ }
19
+ export interface PopupProps extends CommonProps, PopupHandlerProps {
20
+ anchorElement: React.ReactNode | HTMLElement;
21
+ backgroundColor?: React.CSSProperties['backgroundColor'];
22
+ borderColor?: React.CSSProperties['borderColor'];
23
+ children: React.ReactNode | (() => React.ReactNode);
24
+ hasPin?: boolean;
25
+ hasShadow?: boolean;
26
+ disableAnimations?: boolean;
27
+ margin?: number;
28
+ maxWidth?: number | string;
29
+ opened: boolean;
30
+ pinOffset?: number;
31
+ pinSize?: number;
32
+ popupOffset?: number;
33
+ positions: Readonly<PopupPositionsType[]>;
34
+ /**
35
+ * Явно указывает, что вложенные элементы должны быть обёрнуты в `<span/>`. <br/> Используется для корректного позиционирования тултипа при двух и более вложенных элементах.
36
+ *
37
+ * _Примечание_: при **двух и более** вложенных элементах обёртка будет добавлена автоматически.
38
+ */
39
+ useWrapper?: boolean;
40
+ ignoreHover?: boolean;
41
+ width?: React.CSSProperties['width'];
42
+ /**
43
+ * При очередном рендере пытаться сохранить первоначальную позицию попапа
44
+ * (в числе числе, когда он выходит за пределы экрана, но может быть проскролен в него).
45
+ *
46
+ * Нужен только для Tooltip. В остальных случаях позиция перестраивается автоматически.
47
+ * @see https://github.com/skbkontur/retail-ui/pull/1195
48
+ */
49
+ tryPreserveFirstRenderedPosition?: boolean;
50
+ withoutMobile?: boolean;
51
+ mobileOnCloseRequest?: () => void;
52
+ /**
53
+ * Возвращает текущую позицию попапа
54
+ */
55
+ onPositionChange?: (pos: PopupPositionsType) => void;
56
+ }
57
+ interface PopupLocation {
58
+ coordinates: {
59
+ left: number;
60
+ top: number;
61
+ };
62
+ position: PopupPositionsType;
63
+ }
64
+ export interface PopupState {
65
+ location: Nullable<PopupLocation>;
66
+ }
67
+ declare type DefaultProps = Required<Pick<PopupProps, 'popupOffset' | 'hasPin' | 'hasShadow' | 'disableAnimations' | 'useWrapper' | 'ignoreHover' | 'width'>>;
68
+ export declare class Popup extends React.Component<PopupProps, PopupState> {
69
+ static __KONTUR_REACT_UI__: string;
70
+ static propTypes: {
71
+ /**
72
+ * Ссылка (ref) на элемент или React компонент, для которого рисуется попап
73
+ */
74
+ anchorElement: PropTypes.Validator<string | number | boolean | {} | PropTypes.ReactElementLike | PropTypes.ReactNodeArray>;
75
+ /**
76
+ * Фон попапа и пина
77
+ */
78
+ backgroundColor: PropTypes.Requireable<string>;
79
+ children: PropTypes.Requireable<string | number | boolean | {} | PropTypes.ReactElementLike | PropTypes.ReactNodeArray>;
80
+ /**
81
+ * Показывать ли пин
82
+ */
83
+ hasPin: PropTypes.Requireable<boolean>;
84
+ /**
85
+ * Применять ли box-shadow на попапе. При false отключает границу на пине
86
+ */
87
+ hasShadow: PropTypes.Requireable<boolean>;
88
+ /**
89
+ * Отступ попапа от элемента
90
+ */
91
+ margin: PropTypes.Requireable<number>;
92
+ /**
93
+ * Показан или скрыт попап
94
+ */
95
+ opened: PropTypes.Requireable<boolean>;
96
+ /**
97
+ * Смещение пина от края попапа. Край задаётся в пропе position вторым словом
98
+ */
99
+ pinOffset: PropTypes.Requireable<number>;
100
+ /**
101
+ * Сторона пина без учёта границы.
102
+ * Пин представляет собой равносторонний треугольник, высота от попапа
103
+ * до "носика" пина будет соответствовать формуле (size* √3)/2
104
+ */
105
+ pinSize: PropTypes.Requireable<number>;
106
+ /**
107
+ * смещение попапа относительно родительского элемента
108
+ */
109
+ popupOffset: PropTypes.Requireable<number>;
110
+ /**
111
+ * С какой стороны показывать попап и край попапа,
112
+ * на котором будет отображаться пин
113
+ */
114
+ positions: PropTypes.Requireable<any[]>;
115
+ /**
116
+ * Игнорировать ли события hover/click
117
+ */
118
+ ignoreHover: PropTypes.Requireable<boolean>;
119
+ };
120
+ static defaultProps: DefaultProps;
121
+ private getProps;
122
+ static readonly defaultRootNode: null;
123
+ state: PopupState;
124
+ private theme;
125
+ private layoutEventsToken;
126
+ private locationUpdateId;
127
+ private lastPopupElement;
128
+ private isMobileLayout;
129
+ private setRootNode;
130
+ private refForTransition;
131
+ anchorElement: Nullable<Element>;
132
+ componentDidMount(): void;
133
+ static getDerivedStateFromProps(props: Readonly<PopupProps>, state: PopupState): PopupState;
134
+ componentDidUpdate(prevProps: PopupProps, prevState: PopupState): void;
135
+ componentWillUnmount(): void;
136
+ render(): JSX.Element;
137
+ private renderMobile;
138
+ private renderMain;
139
+ private updateAnchorElement;
140
+ private addEventListeners;
141
+ private removeEventListeners;
142
+ private handleMouseEnter;
143
+ private handleMouseLeave;
144
+ private handleClick;
145
+ private handleFocus;
146
+ private handleBlur;
147
+ private calculateWidth;
148
+ private content;
149
+ private renderContent;
150
+ private resetLocation;
151
+ private renderChildren;
152
+ private refPopupElement;
153
+ private renderPin;
154
+ private handleLayoutEvent;
155
+ private delayUpdateLocation;
156
+ private cancelDelayedUpdateLocation;
157
+ private updateLocation;
158
+ private locationEquals;
159
+ private getLocation;
160
+ private getPinnedPopupOffset;
161
+ private getCoordinates;
162
+ private getPinOffset;
163
+ private getHorizontalPosition;
164
+ private getVerticalPosition;
165
+ }
166
+ export {};
@@ -1,4 +1,4 @@
1
- "use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");exports.__esModule = true;exports.PopupPositions = exports.PopupDataTids = exports.Popup = exports.DefaultPosition = exports.DUMMY_LOCATION = void 0;var _extends3 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));var _react = _interopRequireDefault(require("react"));
1
+ "use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");exports.__esModule = true;exports.PopupPositions = exports.Popup = exports.DefaultPosition = exports.DUMMY_LOCATION = void 0;var _extends3 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));var _react = _interopRequireDefault(require("react"));
2
2
  var _propTypes = _interopRequireDefault(require("prop-types"));
3
3
  var _reactTransitionGroup = require("react-transition-group");
4
4
  var _raf = _interopRequireDefault(require("raf"));
@@ -54,7 +54,7 @@ var DUMMY_LOCATION = {
54
54
  position: DefaultPosition,
55
55
  coordinates: {
56
56
  top: -9999,
57
- left: -9999 } };exports.DUMMY_LOCATION = DUMMY_LOCATION;
57
+ left: -9999 } };exports.DUMMY_LOCATION = DUMMY_LOCATION;var
58
58
 
59
59
 
60
60
 
@@ -117,12 +117,6 @@ var DUMMY_LOCATION = {
117
117
 
118
118
 
119
119
 
120
-
121
-
122
- var PopupDataTids = {
123
- content: 'PopupContent',
124
- contentInner: 'PopupContentInner',
125
- popupPin: 'PopupPin__root' };exports.PopupDataTids = PopupDataTids;var
126
120
 
127
121
 
128
122
 
@@ -420,11 +414,11 @@ Popup = (0, _decorator.responsiveLayout)(_class = (0, _rootNode.rootNode)(_class
420
414
  var width = _this.getProps().width;
421
415
 
422
416
  return /*#__PURE__*/(
423
- _react.default.createElement("div", { className: _Popup.styles.content(_this.theme), "data-tid": PopupDataTids.content, ref: _this.refForTransition }, /*#__PURE__*/
417
+ _react.default.createElement("div", { className: _Popup.styles.content(_this.theme), "data-tid": 'PopupContent', ref: _this.refForTransition }, /*#__PURE__*/
424
418
  _react.default.createElement("div", {
425
419
  className: _Popup.styles.contentInner(_this.theme),
426
420
  style: { backgroundColor: backgroundColor, width: _this.calculateWidth(width) },
427
- "data-tid": PopupDataTids.contentInner },
421
+ "data-tid": 'PopupContentInner' },
428
422
 
429
423
  children)));
430
424
 
@@ -1 +1 @@
1
- {"version":3,"sources":["Popup.tsx"],"names":["POPUP_BORDER_DEFAULT_COLOR","TRANSITION_TIMEOUT","enter","exit","PopupPositions","DefaultPosition","DUMMY_LOCATION","position","coordinates","top","left","PopupDataTids","content","contentInner","popupPin","Popup","responsiveLayout","rootNode","getProps","defaultProps","state","location","props","opened","locationUpdateId","refForTransition","React","createRef","anchorElement","updateAnchorElement","instance","childDomNode","getAnchorElement","removeEventListeners","addEventListeners","handleMouseEnter","event","onMouseEnter","handleMouseLeave","onMouseLeave","handleClick","onClick","handleFocus","onFocus","handleBlur","onBlur","calculateWidth","width","includes","anchorWidth","Math","floor","parseFloat","children","backgroundColor","styles","theme","resetLocation","cancelDelayedUpdateLocation","setState","refPopupElement","element","lastPopupElement","handleLayoutEvent","updateLocation","popupElement","getLocation","onPositionChange","locationEquals","componentDidMount","layoutEventsToken","LayoutEvents","addListener","getDerivedStateFromProps","componentDidUpdate","prevProps","prevState","hadNoLocation","hasLocation","wasClosed","isMobileLayout","onOpen","onClose","delayUpdateLocation","componentWillUnmount","remove","render","renderMain","renderMobile","renderChildren","mobileOnCloseRequest","useWrapper","anchor","isValidElement","anchorWithRef","cloneElement","ref","originalRef","canGetAnchorNode","withoutMobile","renderContent","addEventListener","removeEventListener","maxWidth","hasShadow","disableAnimations","ignoreHover","PopupHelper","getPositionObject","direction","rootStyle","shouldFallbackShadow","isIE11","isEdge","isSafari","Boolean","setRootNode","popup","shadow","shadowFallback","popupIgnoreHover","transitionEnter","transitionEnterActive","transitionExit","renderPin","positionName","isDefaultBorderColor","popupBorderColor","pinBorder","pinSize","borderColor","hasPin","parseInt","popupPinSize","getPinOffset","align","popupBackground","raf","cancel","x","y","abs","positions","tryPreserveFirstRenderedPosition","anchorRect","getElementAbsoluteRect","popupRect","getCoordinates","isFullyVisible","canBecomeVisible","canBecomeFullyVisible","getPinnedPopupOffset","test","anchorSize","height","max","marginFromProps","margin","isNaN","popupMargin","popupOffset","getHorizontalPosition","getVerticalPosition","Error","pinOffset","popupPinOffset","popupPinOffsetY","popupPinOffsetX","Component","__KONTUR_REACT_UI__","propTypes","PropTypes","oneOfType","HTMLElement","node","isRequired","string","func","bool","number","array","isTestEnv","defaultRootNode"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Transition } from 'react-transition-group';\nimport raf from 'raf';\nimport warning from 'warning';\n\nimport { getDOMRect } from '../../lib/dom/getDOMRect';\nimport { Nullable } from '../../typings/utility-types';\nimport * as LayoutEvents from '../../lib/LayoutEvents';\nimport { ZIndex } from '../ZIndex';\nimport { RenderContainer } from '../RenderContainer';\nimport { FocusEventType, MouseEventType } from '../../typings/event-types';\nimport { isFunction, isNonNullable, isNullable, isRefableElement } from '../../lib/utils';\nimport { isIE11, isEdge, isSafari } from '../../lib/client';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { isElement, safePropTypesInstanceOf } from '../../lib/SSRSafe';\nimport { isTestEnv } from '../../lib/currentEnvironment';\nimport { CommonProps, CommonWrapper } from '../CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { responsiveLayout } from '../../components/ResponsiveLayout/decorator';\nimport { MobilePopup } from '../MobilePopup';\nimport { getRootNode, rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { callChildRef } from '../../lib/callChildRef/callChildRef';\nimport { isInstanceWithAnchorElement } from '../../lib/InstanceWithAnchorElement';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\n\nimport { PopupPin } from './PopupPin';\nimport { Offset, PopupHelper, PositionObject, Rect } from './PopupHelper';\nimport { styles } from './Popup.styles';\n\nconst POPUP_BORDER_DEFAULT_COLOR = 'transparent';\nconst TRANSITION_TIMEOUT = { enter: 0, exit: 200 };\n\nexport const PopupPositions = [\n 'top left',\n 'top center',\n 'top right',\n 'right top',\n 'right middle',\n 'right bottom',\n 'bottom right',\n 'bottom center',\n 'bottom left',\n 'left bottom',\n 'left middle',\n 'left top',\n] as const;\nexport const DefaultPosition = PopupPositions[0];\n\nexport type PopupPositionsType = typeof PopupPositions[number];\n\nexport const DUMMY_LOCATION: PopupLocation = {\n position: DefaultPosition,\n coordinates: {\n top: -9999,\n left: -9999,\n },\n};\n\nexport interface PopupHandlerProps {\n onMouseEnter?: (event: MouseEventType) => void;\n onMouseLeave?: (event: MouseEventType) => void;\n onClick?: (event: MouseEventType) => void;\n onFocus?: (event: FocusEventType) => void;\n onBlur?: (event: FocusEventType) => void;\n onOpen?: () => void;\n onClose?: () => void;\n}\n\nexport interface PopupProps extends CommonProps, PopupHandlerProps {\n anchorElement: React.ReactNode | HTMLElement;\n backgroundColor?: React.CSSProperties['backgroundColor'];\n borderColor?: React.CSSProperties['borderColor'];\n children: React.ReactNode | (() => React.ReactNode);\n hasPin?: boolean;\n hasShadow?: boolean;\n disableAnimations?: boolean;\n margin?: number;\n maxWidth?: number | string;\n opened: boolean;\n pinOffset?: number;\n pinSize?: number;\n popupOffset?: number;\n positions: Readonly<PopupPositionsType[]>;\n /**\n * Явно указывает, что вложенные элементы должны быть обёрнуты в `<span/>`. <br/> Используется для корректного позиционирования тултипа при двух и более вложенных элементах.\n *\n * _Примечание_: при **двух и более** вложенных элементах обёртка будет добавлена автоматически.\n */\n useWrapper?: boolean;\n ignoreHover?: boolean;\n width?: React.CSSProperties['width'];\n /**\n * При очередном рендере пытаться сохранить первоначальную позицию попапа\n * (в числе числе, когда он выходит за пределы экрана, но может быть проскролен в него).\n *\n * Нужен только для Tooltip. В остальных случаях позиция перестраивается автоматически.\n * @see https://github.com/skbkontur/retail-ui/pull/1195\n */\n tryPreserveFirstRenderedPosition?: boolean;\n withoutMobile?: boolean;\n mobileOnCloseRequest?: () => void;\n /**\n * Возвращает текущую позицию попапа\n */\n onPositionChange?: (pos: PopupPositionsType) => void;\n}\n\ninterface PopupLocation {\n coordinates: {\n left: number;\n top: number;\n };\n position: PopupPositionsType;\n}\n\nexport interface PopupState {\n location: Nullable<PopupLocation>;\n}\n\nexport const PopupDataTids = {\n content: 'PopupContent',\n contentInner: 'PopupContentInner',\n popupPin: 'PopupPin__root',\n} as const;\n\ntype DefaultProps = Required<\n Pick<\n PopupProps,\n 'popupOffset' | 'hasPin' | 'hasShadow' | 'disableAnimations' | 'useWrapper' | 'ignoreHover' | 'width'\n >\n>;\n\n@responsiveLayout\n@rootNode\nexport class Popup extends React.Component<PopupProps, PopupState> {\n public static __KONTUR_REACT_UI__ = 'Popup';\n\n public static propTypes = {\n /**\n * Ссылка (ref) на элемент или React компонент, для которого рисуется попап\n */\n anchorElement: PropTypes.oneOfType([safePropTypesInstanceOf(() => HTMLElement), PropTypes.node]).isRequired,\n\n /**\n * Фон попапа и пина\n */\n backgroundColor: PropTypes.string,\n\n children: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),\n\n /**\n * Показывать ли пин\n */\n hasPin: PropTypes.bool,\n\n /**\n * Применять ли box-shadow на попапе. При false отключает границу на пине\n */\n hasShadow: PropTypes.bool,\n\n /**\n * Отступ попапа от элемента\n */\n margin: PropTypes.number,\n\n /**\n * Показан или скрыт попап\n */\n opened: PropTypes.bool,\n\n /**\n * Смещение пина от края попапа. Край задаётся в пропе position вторым словом\n */\n pinOffset: PropTypes.number,\n\n /**\n * Сторона пина без учёта границы.\n * Пин представляет собой равносторонний треугольник, высота от попапа\n * до \"носика\" пина будет соответствовать формуле (size* √3)/2\n */\n pinSize: PropTypes.number,\n\n /**\n * смещение попапа относительно родительского элемента\n */\n popupOffset: PropTypes.number,\n\n /**\n * С какой стороны показывать попап и край попапа,\n * на котором будет отображаться пин\n */\n positions: PropTypes.array,\n\n /**\n * Игнорировать ли события hover/click\n */\n ignoreHover: PropTypes.bool,\n };\n\n public static defaultProps: DefaultProps = {\n popupOffset: 0,\n hasPin: false,\n hasShadow: false,\n disableAnimations: isTestEnv,\n useWrapper: false,\n ignoreHover: false,\n width: 'auto',\n };\n\n private getProps = createPropsGetter(Popup.defaultProps);\n\n // see #2873 and #2895\n public static readonly defaultRootNode = null;\n\n public state: PopupState = { location: this.props.opened ? DUMMY_LOCATION : null };\n private theme!: Theme;\n private layoutEventsToken: Nullable<ReturnType<typeof LayoutEvents.addListener>>;\n private locationUpdateId: Nullable<number> = null;\n private lastPopupElement: Nullable<Element>;\n private isMobileLayout!: boolean;\n private setRootNode!: TSetRootNode;\n private refForTransition = React.createRef<HTMLDivElement>();\n\n public anchorElement: Nullable<Element> = null;\n\n public componentDidMount() {\n this.updateLocation();\n this.layoutEventsToken = LayoutEvents.addListener(this.handleLayoutEvent);\n }\n\n public static getDerivedStateFromProps(props: Readonly<PopupProps>, state: PopupState) {\n /**\n * Delaying updateLocation to ensure it happens after props update\n */\n if (props.opened) {\n if (!state.location) {\n return { location: DUMMY_LOCATION };\n }\n } else if (state.location) {\n return { location: DUMMY_LOCATION };\n }\n return state;\n }\n\n public componentDidUpdate(prevProps: PopupProps, prevState: PopupState) {\n const hadNoLocation = prevState.location === DUMMY_LOCATION;\n const hasLocation = this.state.location !== DUMMY_LOCATION;\n const wasClosed = prevProps.opened && !this.props.opened;\n\n if (this.isMobileLayout && prevState.location === null && this.state.location === null) {\n this.setState({ location: DUMMY_LOCATION });\n }\n\n if (this.props.opened && hadNoLocation && hasLocation && this.props.onOpen) {\n this.props.onOpen();\n }\n if (wasClosed && !hasLocation && this.props.onClose) {\n this.props.onClose();\n }\n if (this.props.opened) {\n this.delayUpdateLocation();\n }\n }\n\n public componentWillUnmount() {\n this.cancelDelayedUpdateLocation();\n this.removeEventListeners(this.anchorElement);\n if (this.layoutEventsToken) {\n this.layoutEventsToken.remove();\n this.layoutEventsToken = null;\n }\n if (this.state.location && this.props.onClose) {\n this.props.onClose();\n }\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private renderMobile() {\n const { opened } = this.props;\n const children = this.renderChildren();\n\n return children ? (\n <MobilePopup opened={opened} withoutRenderContainer onCloseRequest={this.props.mobileOnCloseRequest}>\n {this.content(children)}\n </MobilePopup>\n ) : null;\n }\n\n private renderMain() {\n const { location } = this.state;\n const { anchorElement } = this.props;\n const useWrapper = this.getProps().useWrapper;\n\n let anchor: Nullable<React.ReactNode> = null;\n if (isElement(anchorElement)) {\n this.updateAnchorElement(anchorElement);\n } else if (React.isValidElement(anchorElement)) {\n anchor = useWrapper ? <span>{anchorElement}</span> : anchorElement;\n } else {\n anchor = <span>{anchorElement}</span>;\n }\n\n const anchorWithRef =\n anchor && React.isValidElement(anchor) && isRefableElement(anchor)\n ? React.cloneElement(anchor, {\n ref: (instance: Nullable<React.ReactInstance>) => {\n this.updateAnchorElement(instance);\n const originalRef = (anchor as React.RefAttributes<any>)?.ref;\n originalRef && callChildRef(originalRef, instance);\n },\n })\n : null;\n\n // we need to get anchor's DOM node\n // so we either set our own ref on it via cloning\n // or relay on findDOMNode (inside getRootNode)\n // which should be called within updateAnchorElement\n // in the case when the anchor is not refable\n\n const canGetAnchorNode = !!anchorWithRef || isElement(anchorElement);\n\n return (\n <RenderContainer anchor={anchorWithRef || anchor} ref={canGetAnchorNode ? null : this.updateAnchorElement}>\n {this.isMobileLayout && !this.props.withoutMobile\n ? this.renderMobile()\n : location && this.renderContent(location)}\n </RenderContainer>\n );\n }\n\n private updateAnchorElement = (instance: Nullable<React.ReactInstance>) => {\n const childDomNode = isInstanceWithAnchorElement(instance) ? instance.getAnchorElement() : getRootNode(instance);\n const anchorElement = this.anchorElement;\n\n if (childDomNode !== anchorElement) {\n this.removeEventListeners(anchorElement);\n this.anchorElement = childDomNode;\n this.addEventListeners(childDomNode);\n }\n };\n\n private addEventListeners(element: Nullable<Element>) {\n if (element && isElement(element)) {\n // @ts-expect-error: Type ElementEventMap is missing events: https://github.com/skbkontur/retail-ui/pull/2946#discussion_r931072657\n element.addEventListener('mouseenter', this.handleMouseEnter);\n // @ts-expect-error: See the comment above\n element.addEventListener('mouseleave', this.handleMouseLeave);\n // @ts-expect-error: See the comment above\n element.addEventListener('click', this.handleClick);\n element.addEventListener('focusin', this.handleFocus as EventListener);\n element.addEventListener('focusout', this.handleBlur as EventListener);\n }\n }\n\n private removeEventListeners(element: Nullable<Element>) {\n if (element && isElement(element)) {\n // @ts-expect-error: Type ElementEventMap is missing events: https://github.com/skbkontur/retail-ui/pull/2946#discussion_r931072657\n element.removeEventListener('mouseenter', this.handleMouseEnter);\n // @ts-expect-error: See the comment above\n element.removeEventListener('mouseleave', this.handleMouseLeave);\n // @ts-expect-error: See the comment above\n element.removeEventListener('click', this.handleClick);\n element.removeEventListener('focusin', this.handleFocus as EventListener);\n element.removeEventListener('focusout', this.handleBlur as EventListener);\n }\n }\n\n private handleMouseEnter = (event: MouseEventType) => {\n if (this.props.onMouseEnter) {\n this.props.onMouseEnter(event);\n }\n };\n\n private handleMouseLeave = (event: MouseEventType) => {\n if (this.props.onMouseLeave) {\n this.props.onMouseLeave(event);\n }\n };\n\n private handleClick = (event: MouseEventType) => {\n if (this.props.onClick) {\n this.props.onClick(event);\n }\n };\n\n private handleFocus = (event: FocusEventType) => {\n if (this.props.onFocus) {\n this.props.onFocus(event);\n }\n };\n\n private handleBlur = (event: FocusEventType) => {\n if (this.props.onBlur) {\n this.props.onBlur(event);\n }\n };\n\n private calculateWidth = (width: PopupProps['width']) => {\n if (typeof width === 'string' && width.includes('%')) {\n const anchorWidth = Math.floor(getDOMRect(this.anchorElement).width);\n return this.anchorElement ? (anchorWidth * parseFloat(width)) / 100 : 0;\n }\n return width;\n };\n\n private content = (children: React.ReactNode) => {\n const { backgroundColor } = this.props;\n const width = this.getProps().width;\n\n return (\n <div className={styles.content(this.theme)} data-tid={PopupDataTids.content} ref={this.refForTransition}>\n <div\n className={styles.contentInner(this.theme)}\n style={{ backgroundColor, width: this.calculateWidth(width) }}\n data-tid={PopupDataTids.contentInner}\n >\n {children}\n </div>\n </div>\n );\n };\n\n private renderContent(location: PopupLocation) {\n const { maxWidth, opened } = this.props;\n const { hasShadow, disableAnimations, ignoreHover } = this.getProps();\n const children = this.renderChildren();\n\n const { direction } = PopupHelper.getPositionObject(location.position);\n const rootStyle: React.CSSProperties = { ...location.coordinates, maxWidth };\n\n const shouldFallbackShadow = isIE11 || isEdge || isSafari;\n\n return (\n <Transition\n timeout={TRANSITION_TIMEOUT}\n appear={!disableAnimations}\n in={Boolean(opened && children)}\n mountOnEnter\n unmountOnExit\n enter={!disableAnimations}\n exit={!disableAnimations}\n onExited={this.resetLocation}\n nodeRef={this.refForTransition}\n >\n {(state: string) => (\n <CommonWrapper {...this.props} rootNodeRef={this.setRootNode}>\n <ZIndex\n data-tid={'Popup__root'}\n wrapperRef={this.refPopupElement}\n priority={'Popup'}\n className={cx({\n [styles.popup(this.theme)]: true,\n [styles.shadow(this.theme)]: hasShadow && !shouldFallbackShadow,\n [styles.shadowFallback(this.theme)]: hasShadow && shouldFallbackShadow,\n [styles.popupIgnoreHover()]: ignoreHover,\n ...(disableAnimations\n ? {}\n : {\n [styles[`transition-enter-${direction}` as keyof typeof styles](this.theme)]: true,\n [styles.transitionEnter()]: state === 'entering',\n [styles.transitionEnterActive()]: state === 'entered',\n [styles.transitionExit()]: state === 'exiting',\n }),\n })}\n style={rootStyle}\n onMouseEnter={this.handleMouseEnter}\n onMouseLeave={this.handleMouseLeave}\n >\n {this.content(children)}\n {!this.isMobileLayout && this.renderPin(location.position)}\n </ZIndex>\n </CommonWrapper>\n )}\n </Transition>\n );\n }\n\n private resetLocation = () => {\n this.cancelDelayedUpdateLocation();\n this.state.location !== null && this.setState({ location: null });\n };\n\n private renderChildren() {\n return isFunction(this.props.children) ? this.props.children() : this.props.children;\n }\n\n private refPopupElement = (element: Nullable<Element>) => {\n this.lastPopupElement = element;\n };\n\n private renderPin(positionName: string): React.ReactNode {\n /**\n * Box-shadow does not appear under the pin. Borders are used instead.\n * In non-ie browsers drop-shadow filter is used. It is applying\n * shadow to the pin too.\n */\n const isDefaultBorderColor = this.theme.popupBorderColor === POPUP_BORDER_DEFAULT_COLOR;\n const pinBorder = isIE11 && isDefaultBorderColor ? 'rgba(0, 0, 0, 0.09)' : this.theme.popupBorderColor;\n\n const { pinSize, backgroundColor, borderColor } = this.props;\n const { hasShadow, hasPin } = this.getProps();\n const position = PopupHelper.getPositionObject(positionName);\n\n return (\n hasPin && (\n <PopupPin\n popupElement={this.lastPopupElement}\n popupPosition={positionName}\n size={pinSize || parseInt(this.theme.popupPinSize)}\n offset={this.getPinOffset(position.align)}\n borderWidth={hasShadow ? 1 : 0}\n backgroundColor={backgroundColor || this.theme.popupBackground}\n borderColor={borderColor || pinBorder}\n />\n )\n );\n }\n\n private handleLayoutEvent = () => {\n if (!this.state.location) {\n return;\n }\n this.updateLocation();\n };\n\n private delayUpdateLocation() {\n this.cancelDelayedUpdateLocation();\n this.locationUpdateId = raf(this.updateLocation);\n }\n\n private cancelDelayedUpdateLocation() {\n if (this.locationUpdateId) {\n raf.cancel(this.locationUpdateId);\n this.locationUpdateId = null;\n }\n }\n\n private updateLocation = () => {\n const popupElement = this.lastPopupElement;\n\n if (!popupElement) {\n return;\n }\n\n const location = this.getLocation(popupElement, this.state.location);\n if (location) {\n this.props.onPositionChange?.(location?.position);\n }\n\n if (!this.locationEquals(this.state.location, location)) {\n this.setState({ location });\n }\n };\n\n private locationEquals(x: Nullable<PopupLocation>, y: Nullable<PopupLocation>) {\n if (x === y) {\n return true;\n }\n\n if (isNullable(x) || isNullable(y)) {\n return false;\n }\n\n if (!isIE11 && !isEdge) {\n return (\n x.coordinates.left === y.coordinates.left &&\n x.coordinates.top === y.coordinates.top &&\n x.position === y.position\n );\n }\n\n // Для ie/edge обновляем позицию только при разнице минимум в 1. Иначе есть вероятность\n // уйти в бесконечный ререндер\n\n return (\n x.position === y.position &&\n Math.abs(x.coordinates.top - y.coordinates.top) <= 1 &&\n Math.abs(x.coordinates.left - y.coordinates.left) <= 1\n );\n }\n\n private getLocation(popupElement: Element, location?: Nullable<PopupLocation>) {\n const { positions, tryPreserveFirstRenderedPosition } = this.props;\n const anchorElement = this.anchorElement;\n\n warning(anchorElement && isElement(anchorElement), 'Anchor element is not defined or not instance of Element');\n\n if (!(anchorElement && isElement(anchorElement))) {\n return location;\n }\n\n const anchorRect = PopupHelper.getElementAbsoluteRect(anchorElement);\n const popupRect = PopupHelper.getElementAbsoluteRect(popupElement);\n\n let position: PopupPositionsType;\n let coordinates: Offset;\n\n if (location && location !== DUMMY_LOCATION && location.position) {\n position = location.position;\n coordinates = this.getCoordinates(anchorRect, popupRect, position);\n\n const isFullyVisible = PopupHelper.isFullyVisible(coordinates, popupRect);\n const canBecomeVisible = !isFullyVisible && PopupHelper.canBecomeFullyVisible(position, coordinates);\n\n if (\n // если нужно сохранить первоначальную позицию и Попап целиком\n // находится в пределах вьюпорта (или может быть проскроллен в него)\n (tryPreserveFirstRenderedPosition && (isFullyVisible || canBecomeVisible)) ||\n // если Попап целиком во вьюпорте и в самой приоритетной позиции\n // (иначе нужно попытаться позицию сменить)\n (isFullyVisible && position === positions[0])\n ) {\n // сохраняем текущую позицию\n return { coordinates, position };\n }\n }\n\n for (position of positions) {\n coordinates = this.getCoordinates(anchorRect, popupRect, position);\n if (PopupHelper.isFullyVisible(coordinates, popupRect)) {\n return { coordinates, position };\n }\n }\n\n position = positions[0];\n coordinates = this.getCoordinates(anchorRect, popupRect, position);\n return { coordinates, position };\n }\n\n private getPinnedPopupOffset(anchorRect: Rect, position: PositionObject) {\n if (!this.getProps().hasPin || /center|middle/.test(position.align)) {\n return 0;\n }\n\n const anchorSize = /top|bottom/.test(position.direction) ? anchorRect.width : anchorRect.height;\n\n const { pinSize } = this.props;\n\n return Math.max(\n 0,\n this.getPinOffset(position.align) + (pinSize || parseInt(this.theme.popupPinSize)) - anchorSize / 2,\n );\n }\n\n private getCoordinates(anchorRect: Rect, popupRect: Rect, positionName: string) {\n const { margin: marginFromProps } = this.props;\n const margin =\n isNonNullable(marginFromProps) && !isNaN(marginFromProps)\n ? marginFromProps\n : parseInt(this.theme.popupMargin) || 0;\n const position = PopupHelper.getPositionObject(positionName);\n const popupOffset = this.getProps().popupOffset + this.getPinnedPopupOffset(anchorRect, position);\n\n switch (position.direction) {\n case 'top':\n return {\n top: anchorRect.top - popupRect.height - margin,\n left: this.getHorizontalPosition(anchorRect, popupRect, position.align, popupOffset),\n };\n case 'bottom':\n return {\n top: anchorRect.top + anchorRect.height + margin,\n left: this.getHorizontalPosition(anchorRect, popupRect, position.align, popupOffset),\n };\n case 'left':\n return {\n top: this.getVerticalPosition(anchorRect, popupRect, position.align, popupOffset),\n left: anchorRect.left - popupRect.width - margin,\n };\n case 'right':\n return {\n top: this.getVerticalPosition(anchorRect, popupRect, position.align, popupOffset),\n left: anchorRect.left + anchorRect.width + margin,\n };\n default:\n throw new Error(`Unexpected direction '${position.direction}'`);\n }\n }\n\n private getPinOffset(align: string) {\n const { pinOffset } = this.props;\n\n switch (align) {\n case 'top':\n case 'bottom':\n return pinOffset || parseInt(this.theme.popupPinOffset) || parseInt(this.theme.popupPinOffsetY);\n case 'left':\n case 'right':\n return pinOffset || parseInt(this.theme.popupPinOffset) || parseInt(this.theme.popupPinOffsetX);\n case 'center':\n case 'middle':\n return 0;\n default:\n throw new Error(`Unexpected align '${align}'`);\n }\n }\n\n private getHorizontalPosition(anchorRect: Rect, popupRect: Rect, align: string, popupOffset: number) {\n switch (align) {\n case 'left':\n return anchorRect.left - popupOffset;\n case 'center':\n return anchorRect.left - (popupRect.width - anchorRect.width) / 2;\n case 'right':\n return anchorRect.left - (popupRect.width - anchorRect.width) + popupOffset;\n default:\n throw new Error(`Unexpected align '${align}'`);\n }\n }\n\n private getVerticalPosition(anchorRect: Rect, popupRect: Rect, align: string, popupOffset: number) {\n switch (align) {\n case 'top':\n return anchorRect.top - popupOffset;\n case 'middle':\n return anchorRect.top - (popupRect.height - anchorRect.height) / 2;\n case 'bottom':\n return anchorRect.top - (popupRect.height - anchorRect.height) + popupOffset;\n default:\n throw new Error(`Unexpected align '${align}'`);\n }\n }\n}\n"]}
1
+ {"version":3,"sources":["Popup.tsx"],"names":["POPUP_BORDER_DEFAULT_COLOR","TRANSITION_TIMEOUT","enter","exit","PopupPositions","DefaultPosition","DUMMY_LOCATION","position","coordinates","top","left","Popup","responsiveLayout","rootNode","getProps","defaultProps","state","location","props","opened","locationUpdateId","refForTransition","React","createRef","anchorElement","updateAnchorElement","instance","childDomNode","getAnchorElement","removeEventListeners","addEventListeners","handleMouseEnter","event","onMouseEnter","handleMouseLeave","onMouseLeave","handleClick","onClick","handleFocus","onFocus","handleBlur","onBlur","calculateWidth","width","includes","anchorWidth","Math","floor","parseFloat","content","children","backgroundColor","styles","theme","contentInner","resetLocation","cancelDelayedUpdateLocation","setState","refPopupElement","element","lastPopupElement","handleLayoutEvent","updateLocation","popupElement","getLocation","onPositionChange","locationEquals","componentDidMount","layoutEventsToken","LayoutEvents","addListener","getDerivedStateFromProps","componentDidUpdate","prevProps","prevState","hadNoLocation","hasLocation","wasClosed","isMobileLayout","onOpen","onClose","delayUpdateLocation","componentWillUnmount","remove","render","renderMain","renderMobile","renderChildren","mobileOnCloseRequest","useWrapper","anchor","isValidElement","anchorWithRef","cloneElement","ref","originalRef","canGetAnchorNode","withoutMobile","renderContent","addEventListener","removeEventListener","maxWidth","hasShadow","disableAnimations","ignoreHover","PopupHelper","getPositionObject","direction","rootStyle","shouldFallbackShadow","isIE11","isEdge","isSafari","Boolean","setRootNode","popup","shadow","shadowFallback","popupIgnoreHover","transitionEnter","transitionEnterActive","transitionExit","renderPin","positionName","isDefaultBorderColor","popupBorderColor","pinBorder","pinSize","borderColor","hasPin","parseInt","popupPinSize","getPinOffset","align","popupBackground","raf","cancel","x","y","abs","positions","tryPreserveFirstRenderedPosition","anchorRect","getElementAbsoluteRect","popupRect","getCoordinates","isFullyVisible","canBecomeVisible","canBecomeFullyVisible","getPinnedPopupOffset","test","anchorSize","height","max","marginFromProps","margin","isNaN","popupMargin","popupOffset","getHorizontalPosition","getVerticalPosition","Error","pinOffset","popupPinOffset","popupPinOffsetY","popupPinOffsetX","Component","__KONTUR_REACT_UI__","propTypes","PropTypes","oneOfType","HTMLElement","node","isRequired","string","func","bool","number","array","isTestEnv","defaultRootNode"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Transition } from 'react-transition-group';\nimport raf from 'raf';\nimport warning from 'warning';\n\nimport { getDOMRect } from '../../lib/dom/getDOMRect';\nimport { Nullable } from '../../typings/utility-types';\nimport * as LayoutEvents from '../../lib/LayoutEvents';\nimport { ZIndex } from '../ZIndex';\nimport { RenderContainer } from '../RenderContainer';\nimport { FocusEventType, MouseEventType } from '../../typings/event-types';\nimport { isFunction, isNonNullable, isNullable, isRefableElement } from '../../lib/utils';\nimport { isIE11, isEdge, isSafari } from '../../lib/client';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { isElement, safePropTypesInstanceOf } from '../../lib/SSRSafe';\nimport { isTestEnv } from '../../lib/currentEnvironment';\nimport { CommonProps, CommonWrapper } from '../CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { responsiveLayout } from '../../components/ResponsiveLayout/decorator';\nimport { MobilePopup } from '../MobilePopup';\nimport { getRootNode, rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { callChildRef } from '../../lib/callChildRef/callChildRef';\nimport { isInstanceWithAnchorElement } from '../../lib/InstanceWithAnchorElement';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\n\nimport { PopupPin } from './PopupPin';\nimport { Offset, PopupHelper, PositionObject, Rect } from './PopupHelper';\nimport { styles } from './Popup.styles';\n\nconst POPUP_BORDER_DEFAULT_COLOR = 'transparent';\nconst TRANSITION_TIMEOUT = { enter: 0, exit: 200 };\n\nexport const PopupPositions = [\n 'top left',\n 'top center',\n 'top right',\n 'right top',\n 'right middle',\n 'right bottom',\n 'bottom right',\n 'bottom center',\n 'bottom left',\n 'left bottom',\n 'left middle',\n 'left top',\n] as const;\nexport const DefaultPosition = PopupPositions[0];\n\nexport type PopupPositionsType = typeof PopupPositions[number];\n\nexport const DUMMY_LOCATION: PopupLocation = {\n position: DefaultPosition,\n coordinates: {\n top: -9999,\n left: -9999,\n },\n};\n\nexport interface PopupHandlerProps {\n onMouseEnter?: (event: MouseEventType) => void;\n onMouseLeave?: (event: MouseEventType) => void;\n onClick?: (event: MouseEventType) => void;\n onFocus?: (event: FocusEventType) => void;\n onBlur?: (event: FocusEventType) => void;\n onOpen?: () => void;\n onClose?: () => void;\n}\n\nexport interface PopupProps extends CommonProps, PopupHandlerProps {\n anchorElement: React.ReactNode | HTMLElement;\n backgroundColor?: React.CSSProperties['backgroundColor'];\n borderColor?: React.CSSProperties['borderColor'];\n children: React.ReactNode | (() => React.ReactNode);\n hasPin?: boolean;\n hasShadow?: boolean;\n disableAnimations?: boolean;\n margin?: number;\n maxWidth?: number | string;\n opened: boolean;\n pinOffset?: number;\n pinSize?: number;\n popupOffset?: number;\n positions: Readonly<PopupPositionsType[]>;\n /**\n * Явно указывает, что вложенные элементы должны быть обёрнуты в `<span/>`. <br/> Используется для корректного позиционирования тултипа при двух и более вложенных элементах.\n *\n * _Примечание_: при **двух и более** вложенных элементах обёртка будет добавлена автоматически.\n */\n useWrapper?: boolean;\n ignoreHover?: boolean;\n width?: React.CSSProperties['width'];\n /**\n * При очередном рендере пытаться сохранить первоначальную позицию попапа\n * (в числе числе, когда он выходит за пределы экрана, но может быть проскролен в него).\n *\n * Нужен только для Tooltip. В остальных случаях позиция перестраивается автоматически.\n * @see https://github.com/skbkontur/retail-ui/pull/1195\n */\n tryPreserveFirstRenderedPosition?: boolean;\n withoutMobile?: boolean;\n mobileOnCloseRequest?: () => void;\n /**\n * Возвращает текущую позицию попапа\n */\n onPositionChange?: (pos: PopupPositionsType) => void;\n}\n\ninterface PopupLocation {\n coordinates: {\n left: number;\n top: number;\n };\n position: PopupPositionsType;\n}\n\nexport interface PopupState {\n location: Nullable<PopupLocation>;\n}\n\ntype DefaultProps = Required<\n Pick<\n PopupProps,\n 'popupOffset' | 'hasPin' | 'hasShadow' | 'disableAnimations' | 'useWrapper' | 'ignoreHover' | 'width'\n >\n>;\n\n@responsiveLayout\n@rootNode\nexport class Popup extends React.Component<PopupProps, PopupState> {\n public static __KONTUR_REACT_UI__ = 'Popup';\n\n public static propTypes = {\n /**\n * Ссылка (ref) на элемент или React компонент, для которого рисуется попап\n */\n anchorElement: PropTypes.oneOfType([safePropTypesInstanceOf(() => HTMLElement), PropTypes.node]).isRequired,\n\n /**\n * Фон попапа и пина\n */\n backgroundColor: PropTypes.string,\n\n children: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),\n\n /**\n * Показывать ли пин\n */\n hasPin: PropTypes.bool,\n\n /**\n * Применять ли box-shadow на попапе. При false отключает границу на пине\n */\n hasShadow: PropTypes.bool,\n\n /**\n * Отступ попапа от элемента\n */\n margin: PropTypes.number,\n\n /**\n * Показан или скрыт попап\n */\n opened: PropTypes.bool,\n\n /**\n * Смещение пина от края попапа. Край задаётся в пропе position вторым словом\n */\n pinOffset: PropTypes.number,\n\n /**\n * Сторона пина без учёта границы.\n * Пин представляет собой равносторонний треугольник, высота от попапа\n * до \"носика\" пина будет соответствовать формуле (size* √3)/2\n */\n pinSize: PropTypes.number,\n\n /**\n * смещение попапа относительно родительского элемента\n */\n popupOffset: PropTypes.number,\n\n /**\n * С какой стороны показывать попап и край попапа,\n * на котором будет отображаться пин\n */\n positions: PropTypes.array,\n\n /**\n * Игнорировать ли события hover/click\n */\n ignoreHover: PropTypes.bool,\n };\n\n public static defaultProps: DefaultProps = {\n popupOffset: 0,\n hasPin: false,\n hasShadow: false,\n disableAnimations: isTestEnv,\n useWrapper: false,\n ignoreHover: false,\n width: 'auto',\n };\n\n private getProps = createPropsGetter(Popup.defaultProps);\n\n // see #2873 and #2895\n public static readonly defaultRootNode = null;\n\n public state: PopupState = { location: this.props.opened ? DUMMY_LOCATION : null };\n private theme!: Theme;\n private layoutEventsToken: Nullable<ReturnType<typeof LayoutEvents.addListener>>;\n private locationUpdateId: Nullable<number> = null;\n private lastPopupElement: Nullable<Element>;\n private isMobileLayout!: boolean;\n private setRootNode!: TSetRootNode;\n private refForTransition = React.createRef<HTMLDivElement>();\n\n public anchorElement: Nullable<Element> = null;\n\n public componentDidMount() {\n this.updateLocation();\n this.layoutEventsToken = LayoutEvents.addListener(this.handleLayoutEvent);\n }\n\n public static getDerivedStateFromProps(props: Readonly<PopupProps>, state: PopupState) {\n /**\n * Delaying updateLocation to ensure it happens after props update\n */\n if (props.opened) {\n if (!state.location) {\n return { location: DUMMY_LOCATION };\n }\n } else if (state.location) {\n return { location: DUMMY_LOCATION };\n }\n return state;\n }\n\n public componentDidUpdate(prevProps: PopupProps, prevState: PopupState) {\n const hadNoLocation = prevState.location === DUMMY_LOCATION;\n const hasLocation = this.state.location !== DUMMY_LOCATION;\n const wasClosed = prevProps.opened && !this.props.opened;\n\n if (this.isMobileLayout && prevState.location === null && this.state.location === null) {\n this.setState({ location: DUMMY_LOCATION });\n }\n\n if (this.props.opened && hadNoLocation && hasLocation && this.props.onOpen) {\n this.props.onOpen();\n }\n if (wasClosed && !hasLocation && this.props.onClose) {\n this.props.onClose();\n }\n if (this.props.opened) {\n this.delayUpdateLocation();\n }\n }\n\n public componentWillUnmount() {\n this.cancelDelayedUpdateLocation();\n this.removeEventListeners(this.anchorElement);\n if (this.layoutEventsToken) {\n this.layoutEventsToken.remove();\n this.layoutEventsToken = null;\n }\n if (this.state.location && this.props.onClose) {\n this.props.onClose();\n }\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private renderMobile() {\n const { opened } = this.props;\n const children = this.renderChildren();\n\n return children ? (\n <MobilePopup opened={opened} withoutRenderContainer onCloseRequest={this.props.mobileOnCloseRequest}>\n {this.content(children)}\n </MobilePopup>\n ) : null;\n }\n\n private renderMain() {\n const { location } = this.state;\n const { anchorElement } = this.props;\n const useWrapper = this.getProps().useWrapper;\n\n let anchor: Nullable<React.ReactNode> = null;\n if (isElement(anchorElement)) {\n this.updateAnchorElement(anchorElement);\n } else if (React.isValidElement(anchorElement)) {\n anchor = useWrapper ? <span>{anchorElement}</span> : anchorElement;\n } else {\n anchor = <span>{anchorElement}</span>;\n }\n\n const anchorWithRef =\n anchor && React.isValidElement(anchor) && isRefableElement(anchor)\n ? React.cloneElement(anchor, {\n ref: (instance: Nullable<React.ReactInstance>) => {\n this.updateAnchorElement(instance);\n const originalRef = (anchor as React.RefAttributes<any>)?.ref;\n originalRef && callChildRef(originalRef, instance);\n },\n })\n : null;\n\n // we need to get anchor's DOM node\n // so we either set our own ref on it via cloning\n // or relay on findDOMNode (inside getRootNode)\n // which should be called within updateAnchorElement\n // in the case when the anchor is not refable\n\n const canGetAnchorNode = !!anchorWithRef || isElement(anchorElement);\n\n return (\n <RenderContainer anchor={anchorWithRef || anchor} ref={canGetAnchorNode ? null : this.updateAnchorElement}>\n {this.isMobileLayout && !this.props.withoutMobile\n ? this.renderMobile()\n : location && this.renderContent(location)}\n </RenderContainer>\n );\n }\n\n private updateAnchorElement = (instance: Nullable<React.ReactInstance>) => {\n const childDomNode = isInstanceWithAnchorElement(instance) ? instance.getAnchorElement() : getRootNode(instance);\n const anchorElement = this.anchorElement;\n\n if (childDomNode !== anchorElement) {\n this.removeEventListeners(anchorElement);\n this.anchorElement = childDomNode;\n this.addEventListeners(childDomNode);\n }\n };\n\n private addEventListeners(element: Nullable<Element>) {\n if (element && isElement(element)) {\n // @ts-expect-error: Type ElementEventMap is missing events: https://github.com/skbkontur/retail-ui/pull/2946#discussion_r931072657\n element.addEventListener('mouseenter', this.handleMouseEnter);\n // @ts-expect-error: See the comment above\n element.addEventListener('mouseleave', this.handleMouseLeave);\n // @ts-expect-error: See the comment above\n element.addEventListener('click', this.handleClick);\n element.addEventListener('focusin', this.handleFocus as EventListener);\n element.addEventListener('focusout', this.handleBlur as EventListener);\n }\n }\n\n private removeEventListeners(element: Nullable<Element>) {\n if (element && isElement(element)) {\n // @ts-expect-error: Type ElementEventMap is missing events: https://github.com/skbkontur/retail-ui/pull/2946#discussion_r931072657\n element.removeEventListener('mouseenter', this.handleMouseEnter);\n // @ts-expect-error: See the comment above\n element.removeEventListener('mouseleave', this.handleMouseLeave);\n // @ts-expect-error: See the comment above\n element.removeEventListener('click', this.handleClick);\n element.removeEventListener('focusin', this.handleFocus as EventListener);\n element.removeEventListener('focusout', this.handleBlur as EventListener);\n }\n }\n\n private handleMouseEnter = (event: MouseEventType) => {\n if (this.props.onMouseEnter) {\n this.props.onMouseEnter(event);\n }\n };\n\n private handleMouseLeave = (event: MouseEventType) => {\n if (this.props.onMouseLeave) {\n this.props.onMouseLeave(event);\n }\n };\n\n private handleClick = (event: MouseEventType) => {\n if (this.props.onClick) {\n this.props.onClick(event);\n }\n };\n\n private handleFocus = (event: FocusEventType) => {\n if (this.props.onFocus) {\n this.props.onFocus(event);\n }\n };\n\n private handleBlur = (event: FocusEventType) => {\n if (this.props.onBlur) {\n this.props.onBlur(event);\n }\n };\n\n private calculateWidth = (width: PopupProps['width']) => {\n if (typeof width === 'string' && width.includes('%')) {\n const anchorWidth = Math.floor(getDOMRect(this.anchorElement).width);\n return this.anchorElement ? (anchorWidth * parseFloat(width)) / 100 : 0;\n }\n return width;\n };\n\n private content = (children: React.ReactNode) => {\n const { backgroundColor } = this.props;\n const width = this.getProps().width;\n\n return (\n <div className={styles.content(this.theme)} data-tid={'PopupContent'} ref={this.refForTransition}>\n <div\n className={styles.contentInner(this.theme)}\n style={{ backgroundColor, width: this.calculateWidth(width) }}\n data-tid={'PopupContentInner'}\n >\n {children}\n </div>\n </div>\n );\n };\n\n private renderContent(location: PopupLocation) {\n const { maxWidth, opened } = this.props;\n const { hasShadow, disableAnimations, ignoreHover } = this.getProps();\n const children = this.renderChildren();\n\n const { direction } = PopupHelper.getPositionObject(location.position);\n const rootStyle: React.CSSProperties = { ...location.coordinates, maxWidth };\n\n const shouldFallbackShadow = isIE11 || isEdge || isSafari;\n\n return (\n <Transition\n timeout={TRANSITION_TIMEOUT}\n appear={!disableAnimations}\n in={Boolean(opened && children)}\n mountOnEnter\n unmountOnExit\n enter={!disableAnimations}\n exit={!disableAnimations}\n onExited={this.resetLocation}\n nodeRef={this.refForTransition}\n >\n {(state: string) => (\n <CommonWrapper {...this.props} rootNodeRef={this.setRootNode}>\n <ZIndex\n data-tid={'Popup__root'}\n wrapperRef={this.refPopupElement}\n priority={'Popup'}\n className={cx({\n [styles.popup(this.theme)]: true,\n [styles.shadow(this.theme)]: hasShadow && !shouldFallbackShadow,\n [styles.shadowFallback(this.theme)]: hasShadow && shouldFallbackShadow,\n [styles.popupIgnoreHover()]: ignoreHover,\n ...(disableAnimations\n ? {}\n : {\n [styles[`transition-enter-${direction}` as keyof typeof styles](this.theme)]: true,\n [styles.transitionEnter()]: state === 'entering',\n [styles.transitionEnterActive()]: state === 'entered',\n [styles.transitionExit()]: state === 'exiting',\n }),\n })}\n style={rootStyle}\n onMouseEnter={this.handleMouseEnter}\n onMouseLeave={this.handleMouseLeave}\n >\n {this.content(children)}\n {!this.isMobileLayout && this.renderPin(location.position)}\n </ZIndex>\n </CommonWrapper>\n )}\n </Transition>\n );\n }\n\n private resetLocation = () => {\n this.cancelDelayedUpdateLocation();\n this.state.location !== null && this.setState({ location: null });\n };\n\n private renderChildren() {\n return isFunction(this.props.children) ? this.props.children() : this.props.children;\n }\n\n private refPopupElement = (element: Nullable<Element>) => {\n this.lastPopupElement = element;\n };\n\n private renderPin(positionName: string): React.ReactNode {\n /**\n * Box-shadow does not appear under the pin. Borders are used instead.\n * In non-ie browsers drop-shadow filter is used. It is applying\n * shadow to the pin too.\n */\n const isDefaultBorderColor = this.theme.popupBorderColor === POPUP_BORDER_DEFAULT_COLOR;\n const pinBorder = isIE11 && isDefaultBorderColor ? 'rgba(0, 0, 0, 0.09)' : this.theme.popupBorderColor;\n\n const { pinSize, backgroundColor, borderColor } = this.props;\n const { hasShadow, hasPin } = this.getProps();\n const position = PopupHelper.getPositionObject(positionName);\n\n return (\n hasPin && (\n <PopupPin\n popupElement={this.lastPopupElement}\n popupPosition={positionName}\n size={pinSize || parseInt(this.theme.popupPinSize)}\n offset={this.getPinOffset(position.align)}\n borderWidth={hasShadow ? 1 : 0}\n backgroundColor={backgroundColor || this.theme.popupBackground}\n borderColor={borderColor || pinBorder}\n />\n )\n );\n }\n\n private handleLayoutEvent = () => {\n if (!this.state.location) {\n return;\n }\n this.updateLocation();\n };\n\n private delayUpdateLocation() {\n this.cancelDelayedUpdateLocation();\n this.locationUpdateId = raf(this.updateLocation);\n }\n\n private cancelDelayedUpdateLocation() {\n if (this.locationUpdateId) {\n raf.cancel(this.locationUpdateId);\n this.locationUpdateId = null;\n }\n }\n\n private updateLocation = () => {\n const popupElement = this.lastPopupElement;\n\n if (!popupElement) {\n return;\n }\n\n const location = this.getLocation(popupElement, this.state.location);\n if (location) {\n this.props.onPositionChange?.(location?.position);\n }\n\n if (!this.locationEquals(this.state.location, location)) {\n this.setState({ location });\n }\n };\n\n private locationEquals(x: Nullable<PopupLocation>, y: Nullable<PopupLocation>) {\n if (x === y) {\n return true;\n }\n\n if (isNullable(x) || isNullable(y)) {\n return false;\n }\n\n if (!isIE11 && !isEdge) {\n return (\n x.coordinates.left === y.coordinates.left &&\n x.coordinates.top === y.coordinates.top &&\n x.position === y.position\n );\n }\n\n // Для ie/edge обновляем позицию только при разнице минимум в 1. Иначе есть вероятность\n // уйти в бесконечный ререндер\n\n return (\n x.position === y.position &&\n Math.abs(x.coordinates.top - y.coordinates.top) <= 1 &&\n Math.abs(x.coordinates.left - y.coordinates.left) <= 1\n );\n }\n\n private getLocation(popupElement: Element, location?: Nullable<PopupLocation>) {\n const { positions, tryPreserveFirstRenderedPosition } = this.props;\n const anchorElement = this.anchorElement;\n\n warning(anchorElement && isElement(anchorElement), 'Anchor element is not defined or not instance of Element');\n\n if (!(anchorElement && isElement(anchorElement))) {\n return location;\n }\n\n const anchorRect = PopupHelper.getElementAbsoluteRect(anchorElement);\n const popupRect = PopupHelper.getElementAbsoluteRect(popupElement);\n\n let position: PopupPositionsType;\n let coordinates: Offset;\n\n if (location && location !== DUMMY_LOCATION && location.position) {\n position = location.position;\n coordinates = this.getCoordinates(anchorRect, popupRect, position);\n\n const isFullyVisible = PopupHelper.isFullyVisible(coordinates, popupRect);\n const canBecomeVisible = !isFullyVisible && PopupHelper.canBecomeFullyVisible(position, coordinates);\n\n if (\n // если нужно сохранить первоначальную позицию и Попап целиком\n // находится в пределах вьюпорта (или может быть проскроллен в него)\n (tryPreserveFirstRenderedPosition && (isFullyVisible || canBecomeVisible)) ||\n // если Попап целиком во вьюпорте и в самой приоритетной позиции\n // (иначе нужно попытаться позицию сменить)\n (isFullyVisible && position === positions[0])\n ) {\n // сохраняем текущую позицию\n return { coordinates, position };\n }\n }\n\n for (position of positions) {\n coordinates = this.getCoordinates(anchorRect, popupRect, position);\n if (PopupHelper.isFullyVisible(coordinates, popupRect)) {\n return { coordinates, position };\n }\n }\n\n position = positions[0];\n coordinates = this.getCoordinates(anchorRect, popupRect, position);\n return { coordinates, position };\n }\n\n private getPinnedPopupOffset(anchorRect: Rect, position: PositionObject) {\n if (!this.getProps().hasPin || /center|middle/.test(position.align)) {\n return 0;\n }\n\n const anchorSize = /top|bottom/.test(position.direction) ? anchorRect.width : anchorRect.height;\n\n const { pinSize } = this.props;\n\n return Math.max(\n 0,\n this.getPinOffset(position.align) + (pinSize || parseInt(this.theme.popupPinSize)) - anchorSize / 2,\n );\n }\n\n private getCoordinates(anchorRect: Rect, popupRect: Rect, positionName: string) {\n const { margin: marginFromProps } = this.props;\n const margin =\n isNonNullable(marginFromProps) && !isNaN(marginFromProps)\n ? marginFromProps\n : parseInt(this.theme.popupMargin) || 0;\n const position = PopupHelper.getPositionObject(positionName);\n const popupOffset = this.getProps().popupOffset + this.getPinnedPopupOffset(anchorRect, position);\n\n switch (position.direction) {\n case 'top':\n return {\n top: anchorRect.top - popupRect.height - margin,\n left: this.getHorizontalPosition(anchorRect, popupRect, position.align, popupOffset),\n };\n case 'bottom':\n return {\n top: anchorRect.top + anchorRect.height + margin,\n left: this.getHorizontalPosition(anchorRect, popupRect, position.align, popupOffset),\n };\n case 'left':\n return {\n top: this.getVerticalPosition(anchorRect, popupRect, position.align, popupOffset),\n left: anchorRect.left - popupRect.width - margin,\n };\n case 'right':\n return {\n top: this.getVerticalPosition(anchorRect, popupRect, position.align, popupOffset),\n left: anchorRect.left + anchorRect.width + margin,\n };\n default:\n throw new Error(`Unexpected direction '${position.direction}'`);\n }\n }\n\n private getPinOffset(align: string) {\n const { pinOffset } = this.props;\n\n switch (align) {\n case 'top':\n case 'bottom':\n return pinOffset || parseInt(this.theme.popupPinOffset) || parseInt(this.theme.popupPinOffsetY);\n case 'left':\n case 'right':\n return pinOffset || parseInt(this.theme.popupPinOffset) || parseInt(this.theme.popupPinOffsetX);\n case 'center':\n case 'middle':\n return 0;\n default:\n throw new Error(`Unexpected align '${align}'`);\n }\n }\n\n private getHorizontalPosition(anchorRect: Rect, popupRect: Rect, align: string, popupOffset: number) {\n switch (align) {\n case 'left':\n return anchorRect.left - popupOffset;\n case 'center':\n return anchorRect.left - (popupRect.width - anchorRect.width) / 2;\n case 'right':\n return anchorRect.left - (popupRect.width - anchorRect.width) + popupOffset;\n default:\n throw new Error(`Unexpected align '${align}'`);\n }\n }\n\n private getVerticalPosition(anchorRect: Rect, popupRect: Rect, align: string, popupOffset: number) {\n switch (align) {\n case 'top':\n return anchorRect.top - popupOffset;\n case 'middle':\n return anchorRect.top - (popupRect.height - anchorRect.height) / 2;\n case 'bottom':\n return anchorRect.top - (popupRect.height - anchorRect.height) + popupOffset;\n default:\n throw new Error(`Unexpected align '${align}'`);\n }\n }\n}\n"]}