@skbkontur/react-ui 3.9.4 → 3.10.0-fileuploader.3

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 (1329) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/README.md +57 -0
  3. package/cjs/components/Autocomplete/Autocomplete.d.ts +113 -112
  4. package/cjs/components/Autocomplete/Autocomplete.js +11 -5
  5. package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
  6. package/cjs/components/Autocomplete/index.d.ts +1 -1
  7. package/cjs/components/Button/Button.d.ts +161 -160
  8. package/cjs/components/Button/Button.js +9 -4
  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 +68 -67
  12. package/cjs/components/Button/Button.styles.js +38 -28
  13. package/cjs/components/Button/Button.styles.js.map +1 -1
  14. package/cjs/components/Button/Corners.d.ts +6 -6
  15. package/cjs/components/Button/index.d.ts +1 -1
  16. package/cjs/components/Center/Center.d.ts +25 -24
  17. package/cjs/components/Center/Center.js +10 -3
  18. package/cjs/components/Center/Center.js.map +1 -1
  19. package/cjs/components/Center/Center.styles.d.ts +7 -7
  20. package/cjs/components/Center/index.d.ts +1 -1
  21. package/cjs/components/Checkbox/Checkbox.d.ts +96 -95
  22. package/cjs/components/Checkbox/Checkbox.js +10 -4
  23. package/cjs/components/Checkbox/Checkbox.js.map +1 -1
  24. package/cjs/components/Checkbox/Checkbox.styles.d.ts +22 -22
  25. package/cjs/components/Checkbox/index.d.ts +1 -1
  26. package/cjs/components/ComboBox/ComboBox.d.ts +184 -182
  27. package/cjs/components/ComboBox/ComboBox.js +100 -70
  28. package/cjs/components/ComboBox/ComboBox.js.map +1 -1
  29. package/cjs/components/ComboBox/index.d.ts +1 -1
  30. package/cjs/components/CurrencyInput/CurrencyHelper.d.ts +35 -35
  31. package/cjs/components/CurrencyInput/CurrencyInput.d.ts +106 -106
  32. package/cjs/components/CurrencyInput/CurrencyInput.js +7 -4
  33. package/cjs/components/CurrencyInput/CurrencyInput.js.map +1 -1
  34. package/cjs/components/CurrencyInput/CurrencyInputHelper.d.ts +20 -20
  35. package/cjs/components/CurrencyInput/CurrencyInputKeyboardActions.d.ts +18 -18
  36. package/cjs/components/CurrencyInput/CursorHelper.d.ts +10 -10
  37. package/cjs/components/CurrencyInput/SelectionHelper.d.ts +11 -11
  38. package/cjs/components/CurrencyInput/constants.d.ts +2 -2
  39. package/cjs/components/CurrencyInput/index.d.ts +1 -1
  40. package/cjs/components/CurrencyLabel/CurrencyLabel.d.ts +24 -24
  41. package/cjs/components/CurrencyLabel/index.d.ts +1 -1
  42. package/cjs/components/DateInput/DateFragmentsView.d.ts +20 -20
  43. package/cjs/components/DateInput/DateFragmentsView.styles.d.ts +7 -7
  44. package/cjs/components/DateInput/DateInput.d.ts +107 -106
  45. package/cjs/components/DateInput/DateInput.js +6 -3
  46. package/cjs/components/DateInput/DateInput.js.map +1 -1
  47. package/cjs/components/DateInput/DateInput.styles.d.ts +10 -10
  48. package/cjs/components/DateInput/ViewDateInputValidateChecks.d.ts +10 -10
  49. package/cjs/components/DateInput/helpers/DateInputKeyboardActions.d.ts +21 -21
  50. package/cjs/components/DateInput/helpers/InternalDateMediator.d.ts +26 -26
  51. package/cjs/components/DateInput/helpers/SelectionHelpers.d.ts +2 -2
  52. package/cjs/components/DateInput/helpers/inputNumber.d.ts +5 -5
  53. package/cjs/components/DateInput/index.d.ts +1 -1
  54. package/cjs/components/DatePicker/DatePicker.d.ts +134 -132
  55. package/cjs/components/DatePicker/DatePicker.js +17 -7
  56. package/cjs/components/DatePicker/DatePicker.js.map +1 -1
  57. package/cjs/components/DatePicker/DatePicker.styles.d.ts +3 -3
  58. package/cjs/components/DatePicker/DatePickerHelpers.d.ts +2 -2
  59. package/cjs/components/DatePicker/Picker.d.ts +33 -33
  60. package/cjs/components/DatePicker/Picker.styles.d.ts +5 -5
  61. package/cjs/components/DatePicker/index.d.ts +1 -1
  62. package/cjs/components/DatePicker/locale/index.d.ts +4 -4
  63. package/cjs/components/DatePicker/locale/locales/en.d.ts +2 -2
  64. package/cjs/components/DatePicker/locale/locales/ru.d.ts +2 -2
  65. package/cjs/components/DatePicker/locale/types.d.ts +5 -5
  66. package/cjs/components/Dropdown/Dropdown.d.ts +124 -123
  67. package/cjs/components/Dropdown/Dropdown.js +11 -4
  68. package/cjs/components/Dropdown/Dropdown.js.map +1 -1
  69. package/cjs/components/Dropdown/index.d.ts +1 -1
  70. package/cjs/components/DropdownMenu/DropdownMenu.d.ts +65 -64
  71. package/cjs/components/DropdownMenu/DropdownMenu.js +7 -4
  72. package/cjs/components/DropdownMenu/DropdownMenu.js.map +1 -1
  73. package/cjs/components/DropdownMenu/index.d.ts +1 -1
  74. package/cjs/components/FileUploader/FileUploader.d.ts +42 -0
  75. package/cjs/components/FileUploader/FileUploader.js +283 -0
  76. package/cjs/components/FileUploader/FileUploader.js.map +1 -0
  77. package/cjs/components/FileUploader/FileUploader.md +67 -0
  78. package/cjs/components/FileUploader/FileUploader.styles.d.ts +21 -0
  79. package/cjs/components/FileUploader/FileUploader.styles.js +167 -0
  80. package/cjs/components/FileUploader/FileUploader.styles.js.map +1 -0
  81. package/cjs/components/FileUploader/index.d.ts +4 -0
  82. package/cjs/components/FileUploader/index.js +4 -0
  83. package/cjs/components/FileUploader/index.js.map +1 -0
  84. package/cjs/components/FileUploader/locale/index.d.ts +4 -0
  85. package/cjs/components/FileUploader/locale/index.js +11 -0
  86. package/cjs/components/FileUploader/locale/index.js.map +1 -0
  87. package/cjs/components/FileUploader/locale/locales/en.d.ts +2 -0
  88. package/cjs/components/FileUploader/locale/locales/en.js +7 -0
  89. package/cjs/components/FileUploader/locale/locales/en.js.map +1 -0
  90. package/cjs/components/FileUploader/locale/locales/ru.d.ts +2 -0
  91. package/cjs/components/FileUploader/locale/locales/ru.js +7 -0
  92. package/cjs/components/FileUploader/locale/locales/ru.js.map +1 -0
  93. package/cjs/components/FileUploader/locale/types.d.ts +6 -0
  94. package/cjs/components/FileUploader/locale/types.js +1 -0
  95. package/cjs/components/FileUploader/locale/types.js.map +1 -0
  96. package/cjs/components/FxInput/FxInput.d.ts +50 -49
  97. package/cjs/components/FxInput/FxInput.js +9 -2
  98. package/cjs/components/FxInput/FxInput.js.map +1 -1
  99. package/cjs/components/FxInput/index.d.ts +1 -1
  100. package/cjs/components/Gapped/Gapped.d.ts +58 -57
  101. package/cjs/components/Gapped/Gapped.js +8 -5
  102. package/cjs/components/Gapped/Gapped.js.map +1 -1
  103. package/cjs/components/Gapped/index.d.ts +1 -1
  104. package/cjs/components/Group/Group.d.ts +14 -13
  105. package/cjs/components/Group/Group.js +10 -7
  106. package/cjs/components/Group/Group.js.map +1 -1
  107. package/cjs/components/Group/Group.styles.d.ts +8 -8
  108. package/cjs/components/Group/index.d.ts +1 -1
  109. package/cjs/components/Hint/Hint.d.ts +81 -79
  110. package/cjs/components/Hint/Hint.js +7 -20
  111. package/cjs/components/Hint/Hint.js.map +1 -1
  112. package/cjs/components/Hint/Hint.styles.d.ts +5 -5
  113. package/cjs/components/Hint/index.d.ts +1 -1
  114. package/cjs/components/Input/Input.d.ts +157 -154
  115. package/cjs/components/Input/Input.js +13 -5
  116. package/cjs/components/Input/Input.js.map +1 -1
  117. package/cjs/components/Input/Input.styles.d.ts +42 -42
  118. package/cjs/components/Input/index.d.ts +1 -1
  119. package/cjs/components/Kebab/Kebab.d.ts +71 -70
  120. package/cjs/components/Kebab/Kebab.js +8 -5
  121. package/cjs/components/Kebab/Kebab.js.map +1 -1
  122. package/cjs/components/Kebab/Kebab.styles.d.ts +12 -12
  123. package/cjs/components/Kebab/index.d.ts +1 -1
  124. package/cjs/components/Link/Link.d.ts +72 -71
  125. package/cjs/components/Link/Link.js +11 -3
  126. package/cjs/components/Link/Link.js.map +1 -1
  127. package/cjs/components/Link/Link.mixins.d.ts +3 -3
  128. package/cjs/components/Link/Link.styles.d.ts +15 -15
  129. package/cjs/components/Link/index.d.ts +1 -1
  130. package/cjs/components/Loader/Loader.d.ts +100 -99
  131. package/cjs/components/Loader/Loader.js +9 -6
  132. package/cjs/components/Loader/Loader.js.map +1 -1
  133. package/cjs/components/Loader/Loader.styles.d.ts +8 -8
  134. package/cjs/components/Loader/index.d.ts +1 -1
  135. package/cjs/components/MenuHeader/MenuHeader.d.ts +20 -20
  136. package/cjs/components/MenuHeader/MenuHeader.styles.d.ts +5 -5
  137. package/cjs/components/MenuHeader/index.d.ts +1 -1
  138. package/cjs/components/MenuItem/MenuItem.d.ts +94 -93
  139. package/cjs/components/MenuItem/MenuItem.js +11 -8
  140. package/cjs/components/MenuItem/MenuItem.js.map +1 -1
  141. package/cjs/components/MenuItem/MenuItem.styles.d.ts +13 -13
  142. package/cjs/components/MenuItem/index.d.ts +1 -1
  143. package/cjs/components/MenuSeparator/MenuSeparator.d.ts +12 -12
  144. package/cjs/components/MenuSeparator/MenuSeparator.styles.d.ts +4 -4
  145. package/cjs/components/MenuSeparator/index.d.ts +1 -1
  146. package/cjs/components/Modal/Modal.d.ts +87 -87
  147. package/cjs/components/Modal/Modal.js +1 -1
  148. package/cjs/components/Modal/Modal.js.map +1 -1
  149. package/cjs/components/Modal/Modal.styles.d.ts +26 -26
  150. package/cjs/components/Modal/ModalBody.d.ts +21 -20
  151. package/cjs/components/Modal/ModalBody.js +9 -6
  152. package/cjs/components/Modal/ModalBody.js.map +1 -1
  153. package/cjs/components/Modal/ModalClose.d.ts +2 -2
  154. package/cjs/components/Modal/ModalContext.d.ts +15 -15
  155. package/cjs/components/Modal/ModalFooter.d.ts +21 -21
  156. package/cjs/components/Modal/ModalHeader.d.ts +17 -17
  157. package/cjs/components/Modal/index.d.ts +4 -4
  158. package/cjs/components/Paging/NavigationHelper.d.ts +7 -7
  159. package/cjs/components/Paging/Paging.d.ts +90 -90
  160. package/cjs/components/Paging/Paging.js +6 -5
  161. package/cjs/components/Paging/Paging.js.map +1 -1
  162. package/cjs/components/Paging/Paging.styles.d.ts +16 -16
  163. package/cjs/components/Paging/PagingHelper.d.ts +2 -2
  164. package/cjs/components/Paging/index.d.ts +1 -1
  165. package/cjs/components/Paging/locale/index.d.ts +4 -4
  166. package/cjs/components/Paging/locale/locales/en.d.ts +2 -2
  167. package/cjs/components/Paging/locale/locales/ru.d.ts +2 -2
  168. package/cjs/components/Paging/locale/types.d.ts +3 -3
  169. package/cjs/components/PasswordInput/PasswordInput.d.ts +49 -48
  170. package/cjs/components/PasswordInput/PasswordInput.js +13 -6
  171. package/cjs/components/PasswordInput/PasswordInput.js.map +1 -1
  172. package/cjs/components/PasswordInput/PasswordInput.styles.d.ts +10 -10
  173. package/cjs/components/PasswordInput/index.d.ts +1 -1
  174. package/cjs/components/Radio/Radio.d.ts +77 -82
  175. package/cjs/components/Radio/Radio.js +11 -10
  176. package/cjs/components/Radio/Radio.js.map +1 -1
  177. package/cjs/components/Radio/Radio.styles.d.ts +19 -19
  178. package/cjs/components/Radio/index.d.ts +1 -1
  179. package/cjs/components/RadioGroup/Prevent.d.ts +8 -8
  180. package/cjs/components/RadioGroup/RadioGroup.d.ts +117 -131
  181. package/cjs/components/RadioGroup/RadioGroup.js +16 -19
  182. package/cjs/components/RadioGroup/RadioGroup.js.map +1 -1
  183. package/cjs/components/RadioGroup/RadioGroup.styles.d.ts +7 -7
  184. package/cjs/components/RadioGroup/RadioGroupContext.d.ts +10 -0
  185. package/cjs/components/RadioGroup/RadioGroupContext.js +21 -0
  186. package/cjs/components/RadioGroup/RadioGroupContext.js.map +1 -0
  187. package/cjs/components/RadioGroup/index.d.ts +1 -1
  188. package/cjs/components/ScrollContainer/ScrollBar.d.ts +37 -37
  189. package/cjs/components/ScrollContainer/ScrollContainer.constants.d.ts +23 -23
  190. package/cjs/components/ScrollContainer/ScrollContainer.d.ts +84 -83
  191. package/cjs/components/ScrollContainer/ScrollContainer.helpers.d.ts +10 -10
  192. package/cjs/components/ScrollContainer/ScrollContainer.js +8 -5
  193. package/cjs/components/ScrollContainer/ScrollContainer.js.map +1 -1
  194. package/cjs/components/ScrollContainer/ScrollContainer.styles.d.ts +16 -16
  195. package/cjs/components/ScrollContainer/index.d.ts +1 -1
  196. package/cjs/components/Select/Item.d.ts +7 -7
  197. package/cjs/components/Select/Select.d.ts +179 -178
  198. package/cjs/components/Select/Select.js +6 -4
  199. package/cjs/components/Select/Select.js.map +1 -1
  200. package/cjs/components/Select/Select.styles.d.ts +17 -17
  201. package/cjs/components/Select/index.d.ts +1 -1
  202. package/cjs/components/Select/locale/index.d.ts +4 -4
  203. package/cjs/components/Select/locale/locales/en.d.ts +2 -2
  204. package/cjs/components/Select/locale/locales/ru.d.ts +2 -2
  205. package/cjs/components/Select/locale/types.d.ts +4 -4
  206. package/cjs/components/Select/selectTheme.d.ts +3 -3
  207. package/cjs/components/SidePage/SidePage.d.ts +105 -104
  208. package/cjs/components/SidePage/SidePage.js +4 -1
  209. package/cjs/components/SidePage/SidePage.js.map +1 -1
  210. package/cjs/components/SidePage/SidePage.styles.d.ts +37 -37
  211. package/cjs/components/SidePage/SidePageBody.d.ts +19 -18
  212. package/cjs/components/SidePage/SidePageBody.js +9 -6
  213. package/cjs/components/SidePage/SidePageBody.js.map +1 -1
  214. package/cjs/components/SidePage/SidePageContainer.d.ts +15 -14
  215. package/cjs/components/SidePage/SidePageContainer.js +9 -6
  216. package/cjs/components/SidePage/SidePageContainer.js.map +1 -1
  217. package/cjs/components/SidePage/SidePageContext.d.ts +15 -15
  218. package/cjs/components/SidePage/SidePageFooter.d.ts +36 -37
  219. package/cjs/components/SidePage/SidePageFooter.js +11 -12
  220. package/cjs/components/SidePage/SidePageFooter.js.map +1 -1
  221. package/cjs/components/SidePage/SidePageHeader.d.ts +41 -40
  222. package/cjs/components/SidePage/SidePageHeader.js +6 -3
  223. package/cjs/components/SidePage/SidePageHeader.js.map +1 -1
  224. package/cjs/components/SidePage/index.d.ts +5 -5
  225. package/cjs/components/Spinner/Spinner.d.ts +56 -47
  226. package/cjs/components/Spinner/Spinner.js +29 -8
  227. package/cjs/components/Spinner/Spinner.js.map +1 -1
  228. package/cjs/components/Spinner/Spinner.md +1 -0
  229. package/cjs/components/Spinner/Spinner.styles.d.ts +12 -11
  230. package/cjs/components/Spinner/Spinner.styles.js +13 -10
  231. package/cjs/components/Spinner/Spinner.styles.js.map +1 -1
  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 +54 -53
  239. package/cjs/components/Sticky/Sticky.js +8 -5
  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 +56 -55
  244. package/cjs/components/Switcher/Switcher.js +6 -3
  245. package/cjs/components/Switcher/Switcher.js.map +1 -1
  246. package/cjs/components/Switcher/Switcher.styles.d.ts +10 -10
  247. package/cjs/components/Switcher/Switcher.styles.js +4 -2
  248. package/cjs/components/Switcher/Switcher.styles.js.map +1 -1
  249. package/cjs/components/Switcher/index.d.ts +1 -1
  250. package/cjs/components/Switcher/switcherTheme.d.ts +2 -2
  251. package/cjs/components/Tabs/Indicator.d.ts +28 -27
  252. package/cjs/components/Tabs/Indicator.js +16 -15
  253. package/cjs/components/Tabs/Indicator.js.map +1 -1
  254. package/cjs/components/Tabs/Indicator.styles.d.ts +8 -8
  255. package/cjs/components/Tabs/Tab.d.ts +121 -120
  256. package/cjs/components/Tabs/Tab.js +13 -9
  257. package/cjs/components/Tabs/Tab.js.map +1 -1
  258. package/cjs/components/Tabs/Tab.styles.d.ts +27 -27
  259. package/cjs/components/Tabs/Tabs.d.ts +62 -61
  260. package/cjs/components/Tabs/Tabs.js +9 -9
  261. package/cjs/components/Tabs/Tabs.js.map +1 -1
  262. package/cjs/components/Tabs/Tabs.styles.d.ts +5 -5
  263. package/cjs/components/Tabs/TabsContext.d.ts +14 -14
  264. package/cjs/components/Tabs/index.d.ts +2 -2
  265. package/cjs/components/Textarea/Textarea.d.ts +185 -184
  266. package/cjs/components/Textarea/Textarea.js +12 -5
  267. package/cjs/components/Textarea/Textarea.js.map +1 -1
  268. package/cjs/components/Textarea/Textarea.styles.d.ts +15 -15
  269. package/cjs/components/Textarea/TextareaCounter.d.ts +13 -13
  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 -55
  273. package/cjs/components/Toast/Toast.js +15 -4
  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/ToastView.d.ts +38 -37
  278. package/cjs/components/Toast/ToastView.js +8 -5
  279. package/cjs/components/Toast/ToastView.js.map +1 -1
  280. package/cjs/components/Toast/ToastView.styles.d.ts +8 -8
  281. package/cjs/components/Toast/index.d.ts +1 -1
  282. package/cjs/components/Toggle/Toggle.d.ts +107 -106
  283. package/cjs/components/Toggle/Toggle.js +9 -6
  284. package/cjs/components/Toggle/Toggle.js.map +1 -1
  285. package/cjs/components/Toggle/Toggle.styles.d.ts +30 -30
  286. package/cjs/components/Toggle/index.d.ts +1 -1
  287. package/cjs/components/Token/Token.d.ts +36 -35
  288. package/cjs/components/Token/Token.js +7 -4
  289. package/cjs/components/Token/Token.js.map +1 -1
  290. package/cjs/components/Token/Token.styles.d.ts +29 -29
  291. package/cjs/components/Token/index.d.ts +1 -1
  292. package/cjs/components/TokenInput/TextWidthHelper.d.ts +18 -18
  293. package/cjs/components/TokenInput/TokenInput.d.ts +194 -193
  294. package/cjs/components/TokenInput/TokenInput.js +11 -8
  295. package/cjs/components/TokenInput/TokenInput.js.map +1 -1
  296. package/cjs/components/TokenInput/TokenInput.styles.d.ts +15 -15
  297. package/cjs/components/TokenInput/TokenInputMenu.d.ts +18 -18
  298. package/cjs/components/TokenInput/TokenInputReducer.d.ts +25 -25
  299. package/cjs/components/TokenInput/index.d.ts +1 -1
  300. package/cjs/components/TokenInput/locale/index.d.ts +4 -4
  301. package/cjs/components/TokenInput/locale/locales/en.d.ts +2 -2
  302. package/cjs/components/TokenInput/locale/locales/ru.d.ts +2 -2
  303. package/cjs/components/TokenInput/locale/types.d.ts +4 -4
  304. package/cjs/components/Tooltip/Tooltip.d.ts +160 -171
  305. package/cjs/components/Tooltip/Tooltip.js +28 -30
  306. package/cjs/components/Tooltip/Tooltip.js.map +1 -1
  307. package/cjs/components/Tooltip/Tooltip.styles.d.ts +5 -5
  308. package/cjs/components/Tooltip/index.d.ts +1 -1
  309. package/cjs/components/TooltipMenu/TooltipMenu.d.ts +65 -64
  310. package/cjs/components/TooltipMenu/TooltipMenu.js +8 -5
  311. package/cjs/components/TooltipMenu/TooltipMenu.js.map +1 -1
  312. package/cjs/components/TooltipMenu/index.d.ts +1 -1
  313. package/cjs/hooks/useDrop.d.ts +11 -0
  314. package/cjs/hooks/useDrop.js +75 -0
  315. package/cjs/hooks/useDrop.js.map +1 -0
  316. package/cjs/hooks/useEffectWithoutInitCall.d.ts +2 -0
  317. package/cjs/hooks/useEffectWithoutInitCall.js +13 -0
  318. package/cjs/hooks/useEffectWithoutInitCall.js.map +1 -0
  319. package/cjs/hooks/useMemoObject.d.ts +1 -0
  320. package/cjs/hooks/useMemoObject.js +5 -0
  321. package/cjs/hooks/useMemoObject.js.map +1 -0
  322. package/cjs/index.d.ts +50 -48
  323. package/cjs/index.js +3 -1
  324. package/cjs/index.js.map +1 -1
  325. package/cjs/internal/BGRuler.d.ts +30 -30
  326. package/cjs/internal/Calendar/Calendar.d.ts +66 -66
  327. package/cjs/internal/Calendar/Calendar.styles.d.ts +5 -5
  328. package/cjs/internal/Calendar/CalendarDateShape.d.ts +14 -14
  329. package/cjs/internal/Calendar/CalendarScrollEvents.d.ts +4 -4
  330. package/cjs/internal/Calendar/CalendarUtils.d.ts +19 -19
  331. package/cjs/internal/Calendar/DayCellView.d.ts +13 -13
  332. package/cjs/internal/Calendar/DayCellView.styles.d.ts +7 -7
  333. package/cjs/internal/Calendar/DayCellViewModel.d.ts +8 -8
  334. package/cjs/internal/Calendar/Month.d.ts +33 -33
  335. package/cjs/internal/Calendar/MonthView.d.ts +21 -21
  336. package/cjs/internal/Calendar/MonthView.styles.d.ts +9 -9
  337. package/cjs/internal/Calendar/MonthViewModel.d.ts +14 -14
  338. package/cjs/internal/Calendar/config.d.ts +9 -9
  339. package/cjs/internal/Calendar/index.d.ts +2 -2
  340. package/cjs/internal/CommonWrapper/CommonWrapper.d.ts +31 -23
  341. package/cjs/internal/CommonWrapper/CommonWrapper.js +38 -15
  342. package/cjs/internal/CommonWrapper/CommonWrapper.js.map +1 -1
  343. package/cjs/internal/CommonWrapper/index.d.ts +1 -1
  344. package/cjs/internal/ComponentCombinator.d.ts +25 -25
  345. package/cjs/internal/ComponentTable.d.ts +21 -21
  346. package/cjs/internal/CustomComboBox/ComboBoxMenu.d.ts +31 -31
  347. package/cjs/internal/CustomComboBox/ComboBoxMenu.js +3 -2
  348. package/cjs/internal/CustomComboBox/ComboBoxMenu.js.map +1 -1
  349. package/cjs/internal/CustomComboBox/ComboBoxView.d.ts +90 -87
  350. package/cjs/internal/CustomComboBox/ComboBoxView.js +15 -5
  351. package/cjs/internal/CustomComboBox/ComboBoxView.js.map +1 -1
  352. package/cjs/internal/CustomComboBox/CustomComboBox.d.ts +136 -135
  353. package/cjs/internal/CustomComboBox/CustomComboBox.js +8 -5
  354. package/cjs/internal/CustomComboBox/CustomComboBox.js.map +1 -1
  355. package/cjs/internal/CustomComboBox/CustomComboBox.styles.d.ts +5 -5
  356. package/cjs/internal/CustomComboBox/CustomComboBoxReducer.d.ts +71 -71
  357. package/cjs/internal/CustomComboBox/CustomComboBoxTypes.d.ts +6 -6
  358. package/cjs/internal/CustomComboBox/index.d.ts +2 -2
  359. package/cjs/internal/CustomComboBox/locale/index.d.ts +4 -4
  360. package/cjs/internal/CustomComboBox/locale/locales/en.d.ts +2 -2
  361. package/cjs/internal/CustomComboBox/locale/locales/ru.d.ts +2 -2
  362. package/cjs/internal/CustomComboBox/locale/types.d.ts +5 -5
  363. package/cjs/internal/DateSelect/DateSelect.d.ts +93 -93
  364. package/cjs/internal/DateSelect/DateSelect.js +3 -3
  365. package/cjs/internal/DateSelect/DateSelect.js.map +1 -1
  366. package/cjs/internal/DateSelect/DateSelect.styles.d.ts +19 -19
  367. package/cjs/internal/DateSelect/index.d.ts +1 -1
  368. package/cjs/internal/DropdownContainer/DropdownContainer.d.ts +43 -46
  369. package/cjs/internal/DropdownContainer/DropdownContainer.js +8 -13
  370. package/cjs/internal/DropdownContainer/DropdownContainer.js.map +1 -1
  371. package/cjs/internal/DropdownContainer/index.d.ts +1 -1
  372. package/cjs/internal/FileUploaderControl/FileUploaderControlContext.d.ts +12 -0
  373. package/cjs/internal/FileUploaderControl/FileUploaderControlContext.js +16 -0
  374. package/cjs/internal/FileUploaderControl/FileUploaderControlContext.js.map +1 -0
  375. package/cjs/internal/FileUploaderControl/FileUploaderControlProvider.d.ts +14 -0
  376. package/cjs/internal/FileUploaderControl/FileUploaderControlProvider.js +106 -0
  377. package/cjs/internal/FileUploaderControl/FileUploaderControlProvider.js.map +1 -0
  378. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.d.ts +12 -0
  379. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.js +188 -0
  380. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.js.map +1 -0
  381. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.styles.d.ts +11 -0
  382. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.styles.js +68 -0
  383. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.styles.js.map +1 -0
  384. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.d.ts +10 -0
  385. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.js +30 -0
  386. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.js.map +1 -0
  387. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.styles.d.ts +5 -0
  388. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.styles.js +22 -0
  389. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.styles.js.map +1 -0
  390. package/cjs/internal/FileUploaderControl/FileUploaderFileValidationResult.d.ts +7 -0
  391. package/cjs/internal/FileUploaderControl/FileUploaderFileValidationResult.js +16 -0
  392. package/cjs/internal/FileUploaderControl/FileUploaderFileValidationResult.js.map +1 -0
  393. package/cjs/internal/FileUploaderControl/fileUtils.d.ts +14 -0
  394. package/cjs/internal/FileUploaderControl/fileUtils.js +26 -0
  395. package/cjs/internal/FileUploaderControl/fileUtils.js.map +1 -0
  396. package/cjs/internal/FileUploaderControl/hooks/useControlLocale.d.ts +1 -0
  397. package/cjs/internal/FileUploaderControl/hooks/useControlLocale.js +4 -0
  398. package/cjs/internal/FileUploaderControl/hooks/useControlLocale.js.map +1 -0
  399. package/cjs/internal/FileUploaderControl/hooks/useUpload.d.ts +3 -0
  400. package/cjs/internal/FileUploaderControl/hooks/useUpload.js +51 -0
  401. package/cjs/internal/FileUploaderControl/hooks/useUpload.js.map +1 -0
  402. package/cjs/internal/FileUploaderControl/withFileUploaderControlProvider.d.ts +3 -0
  403. package/cjs/internal/FileUploaderControl/withFileUploaderControlProvider.js +19 -0
  404. package/cjs/internal/FileUploaderControl/withFileUploaderControlProvider.js.map +1 -0
  405. package/cjs/internal/FocusTrap/FocusTrap.d.ts +17 -16
  406. package/cjs/internal/FocusTrap/FocusTrap.js +12 -9
  407. package/cjs/internal/FocusTrap/FocusTrap.js.map +1 -1
  408. package/cjs/internal/FocusTrap/index.d.ts +1 -1
  409. package/cjs/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.d.ts +14 -14
  410. package/cjs/internal/HideBodyVerticalScroll/index.d.ts +1 -1
  411. package/cjs/internal/IgnoreLayerClick/IgnoreLayerClick.d.ts +8 -8
  412. package/cjs/internal/IgnoreLayerClick/IgnoreLayerClick.js +12 -4
  413. package/cjs/internal/IgnoreLayerClick/IgnoreLayerClick.js.map +1 -1
  414. package/cjs/internal/IgnoreLayerClick/index.d.ts +1 -1
  415. package/cjs/internal/InputLikeText/HiddenInput.d.ts +13 -13
  416. package/cjs/internal/InputLikeText/InputLikeText.d.ts +73 -72
  417. package/cjs/internal/InputLikeText/InputLikeText.js +10 -3
  418. package/cjs/internal/InputLikeText/InputLikeText.js.map +1 -1
  419. package/cjs/internal/InputLikeText/InputLikeText.styles.d.ts +7 -7
  420. package/cjs/internal/InputLikeText/index.d.ts +1 -1
  421. package/cjs/internal/InternalMenu/InternalMenu.d.ts +63 -64
  422. package/cjs/internal/InternalMenu/InternalMenu.js +16 -22
  423. package/cjs/internal/InternalMenu/InternalMenu.js.map +1 -1
  424. package/cjs/internal/InternalMenu/InternalMenu.styles.d.ts +9 -9
  425. package/cjs/internal/InternalMenu/index.d.ts +1 -1
  426. package/cjs/internal/InternalMenu/isActiveElement.d.ts +3 -3
  427. package/cjs/internal/MaskCharLowLine/MaskCharLowLine.d.ts +9 -9
  428. package/cjs/internal/MaskCharLowLine/MaskCharLowLine.styles.d.ts +3 -3
  429. package/cjs/internal/MaskCharLowLine/index.d.ts +1 -1
  430. package/cjs/internal/MaskedInput/MaskedInput.d.ts +40 -40
  431. package/cjs/internal/MaskedInput/MaskedInput.js +3 -3
  432. package/cjs/internal/MaskedInput/MaskedInput.js.map +1 -1
  433. package/cjs/internal/MaskedInput/MaskedInput.styles.d.ts +6 -6
  434. package/cjs/internal/MaskedInput/index.d.ts +1 -1
  435. package/cjs/internal/Menu/Menu.d.ts +63 -62
  436. package/cjs/internal/Menu/Menu.js +9 -6
  437. package/cjs/internal/Menu/Menu.js.map +1 -1
  438. package/cjs/internal/Menu/Menu.styles.d.ts +6 -6
  439. package/cjs/internal/Menu/index.d.ts +1 -1
  440. package/cjs/internal/Menu/isActiveElement.d.ts +3 -3
  441. package/cjs/internal/NativeDateInput/NativeDateInput.d.ts +23 -23
  442. package/cjs/internal/NativeDateInput/NativeDateInput.styles.d.ts +3 -3
  443. package/cjs/internal/NativeDateInput/index.d.ts +1 -1
  444. package/cjs/internal/NativeDateInput/utils.d.ts +7 -7
  445. package/cjs/internal/PerformanceMetrics/PerformanceMetrics.d.ts +7 -7
  446. package/cjs/internal/Popup/Popup.d.ts +162 -161
  447. package/cjs/internal/Popup/Popup.js +61 -49
  448. package/cjs/internal/Popup/Popup.js.map +1 -1
  449. package/cjs/internal/Popup/Popup.styles.d.ts +16 -16
  450. package/cjs/internal/Popup/PopupHelper.d.ts +26 -26
  451. package/cjs/internal/Popup/PopupHelper.js.map +1 -1
  452. package/cjs/internal/Popup/PopupPin.d.ts +56 -56
  453. package/cjs/internal/Popup/PopupPin.styles.d.ts +3 -3
  454. package/cjs/internal/Popup/index.d.ts +1 -1
  455. package/cjs/internal/Popup/types.d.ts +1 -0
  456. package/cjs/internal/Popup/types.js +1 -0
  457. package/cjs/internal/Popup/types.js.map +1 -0
  458. package/cjs/internal/PopupMenu/PopupMenu.d.ts +85 -84
  459. package/cjs/internal/PopupMenu/PopupMenu.js +23 -6
  460. package/cjs/internal/PopupMenu/PopupMenu.js.map +1 -1
  461. package/cjs/internal/PopupMenu/PopupMenu.styles.d.ts +4 -4
  462. package/cjs/internal/PopupMenu/index.d.ts +1 -1
  463. package/cjs/internal/PopupMenu/validatePositions.d.ts +2 -2
  464. package/cjs/internal/PopupMenu/validatePositions.js +2 -4
  465. package/cjs/internal/PopupMenu/validatePositions.js.map +1 -1
  466. package/cjs/internal/RenderContainer/RenderContainer.d.ts +16 -16
  467. package/cjs/internal/RenderContainer/RenderContainer.js +2 -1
  468. package/cjs/internal/RenderContainer/RenderContainer.js.map +1 -1
  469. package/cjs/internal/RenderContainer/RenderContainerTypes.d.ts +11 -11
  470. package/cjs/internal/RenderContainer/RenderInnerContainer.d.ts +13 -13
  471. package/cjs/internal/RenderContainer/RenderInnerContainer.js +2 -3
  472. package/cjs/internal/RenderContainer/RenderInnerContainer.js.map +1 -1
  473. package/cjs/internal/RenderContainer/index.d.ts +1 -1
  474. package/cjs/internal/RenderLayer/RenderLayer.d.ts +29 -27
  475. package/cjs/internal/RenderLayer/RenderLayer.js +13 -7
  476. package/cjs/internal/RenderLayer/RenderLayer.js.map +1 -1
  477. package/cjs/internal/RenderLayer/index.d.ts +1 -1
  478. package/cjs/internal/ResizeDetector/ResizeDetector.d.ts +12 -12
  479. package/cjs/internal/ResizeDetector/ResizeDetector.styles.d.ts +5 -5
  480. package/cjs/internal/ResizeDetector/index.d.ts +1 -1
  481. package/cjs/internal/TextWidthHelper/TextWidthHelper.d.ts +15 -0
  482. package/cjs/internal/TextWidthHelper/TextWidthHelper.js +34 -0
  483. package/cjs/internal/TextWidthHelper/TextWidthHelper.js.map +1 -0
  484. package/cjs/internal/TextWidthHelper/TextWidthHelper.styles.d.ts +4 -0
  485. package/cjs/internal/TextWidthHelper/TextWidthHelper.styles.js +23 -0
  486. package/cjs/internal/TextWidthHelper/TextWidthHelper.styles.js.map +1 -0
  487. package/cjs/internal/ThemePlayground/AnotherInputsPlayground.d.ts +13 -13
  488. package/cjs/internal/ThemePlayground/CheckboxPlayground.d.ts +1 -1
  489. package/cjs/internal/ThemePlayground/ComponentsGroup.d.ts +10 -10
  490. package/cjs/internal/ThemePlayground/CurrencyInputPlayground.d.ts +11 -11
  491. package/cjs/internal/ThemePlayground/FxInputPlayground.d.ts +10 -10
  492. package/cjs/internal/ThemePlayground/HintPlayground.d.ts +6 -6
  493. package/cjs/internal/ThemePlayground/PagingPlayground.d.ts +10 -10
  494. package/cjs/internal/ThemePlayground/Playground.d.ts +32 -31
  495. package/cjs/internal/ThemePlayground/Playground.js +11 -1
  496. package/cjs/internal/ThemePlayground/Playground.js.map +1 -1
  497. package/cjs/internal/ThemePlayground/Playground.styles.d.ts +23 -23
  498. package/cjs/internal/ThemePlayground/RadioPlayground.d.ts +1 -1
  499. package/cjs/internal/ThemePlayground/SelectPlayground.d.ts +12 -12
  500. package/cjs/internal/ThemePlayground/ShowcaseGroup.d.ts +5 -5
  501. package/cjs/internal/ThemePlayground/SwitcherPlayground.d.ts +15 -15
  502. package/cjs/internal/ThemePlayground/ThemeContextPlayground.d.ts +51 -51
  503. package/cjs/internal/ThemePlayground/ThemeEditor.d.ts +39 -39
  504. package/cjs/internal/ThemePlayground/TogglePlayground.d.ts +9 -9
  505. package/cjs/internal/ThemePlayground/TokenInputPlayground.d.ts +7 -7
  506. package/cjs/internal/ThemePlayground/VariableValue.d.ts +45 -45
  507. package/cjs/internal/ThemePlayground/constants.d.ts +18 -18
  508. package/cjs/internal/ThemePlayground/darkTheme.d.ts +270 -255
  509. package/cjs/internal/ThemePlayground/darkTheme.js +25 -1
  510. package/cjs/internal/ThemePlayground/darkTheme.js.map +1 -1
  511. package/cjs/internal/ThemePlayground/helpers.d.ts +2 -2
  512. package/cjs/internal/ThemeShowcase/ThemeShowcase.d.ts +22 -22
  513. package/cjs/internal/ThemeShowcase/ThemeShowcase.js +20 -19
  514. package/cjs/internal/ThemeShowcase/ThemeShowcase.js.map +1 -1
  515. package/cjs/internal/ThemeShowcase/ThemeShowcase.styles.d.ts +24 -24
  516. package/cjs/internal/ThemeShowcase/VariablesCollector.d.ts +22 -22
  517. package/cjs/internal/ZIndex/ZIndex.d.ts +36 -34
  518. package/cjs/internal/ZIndex/ZIndex.js +45 -34
  519. package/cjs/internal/ZIndex/ZIndex.js.map +1 -1
  520. package/cjs/internal/ZIndex/ZIndexStorage.d.ts +18 -18
  521. package/cjs/internal/ZIndex/index.d.ts +1 -1
  522. package/cjs/internal/icons/16px/icon.styles.d.ts +4 -4
  523. package/cjs/internal/icons/16px/index.d.ts +25 -21
  524. package/cjs/internal/icons/16px/index.js +151 -52
  525. package/cjs/internal/icons/16px/index.js.map +1 -1
  526. package/cjs/internal/icons/20px/Icon.d.ts +30 -30
  527. package/cjs/internal/icons/20px/icon.styles.d.ts +4 -4
  528. package/cjs/internal/icons/20px/index.d.ts +2 -2
  529. package/cjs/internal/icons/20px/svg.d.ts +14 -14
  530. package/cjs/internal/icons/CloudIcon.d.ts +1 -1
  531. package/cjs/internal/icons/CrossIcon.d.ts +1 -1
  532. package/cjs/internal/icons/SpinnerIcon.d.ts +26 -23
  533. package/cjs/internal/icons/SpinnerIcon.js +5 -2
  534. package/cjs/internal/icons/SpinnerIcon.js.map +1 -1
  535. package/cjs/internal/icons/SpinnerIcon.styles.d.ts +4 -4
  536. package/cjs/internal/themes/DefaultTheme.d.ts +789 -766
  537. package/cjs/internal/themes/DefaultTheme.js +64 -1
  538. package/cjs/internal/themes/DefaultTheme.js.map +1 -1
  539. package/cjs/internal/themes/FlatTheme.d.ts +132 -132
  540. package/cjs/internal/themes/Theme8px.d.ts +271 -271
  541. package/cjs/lib/ConditionalHandler.d.ts +11 -11
  542. package/cjs/lib/LayoutEvents.d.ts +4 -4
  543. package/cjs/lib/ModalStack.d.ts +14 -14
  544. package/cjs/lib/ModalStack.js +16 -17
  545. package/cjs/lib/ModalStack.js.map +1 -1
  546. package/cjs/lib/SSRSafe.d.ts +4 -4
  547. package/cjs/lib/Supports.d.ts +1 -1
  548. package/cjs/lib/Upgrades.d.ts +6 -6
  549. package/cjs/lib/animation/index.d.ts +6 -6
  550. package/cjs/lib/animation/presets.d.ts +18 -18
  551. package/cjs/lib/animation/stepper.d.ts +1 -1
  552. package/cjs/lib/callChildRef/callChildRef.d.ts +3 -0
  553. package/cjs/lib/callChildRef/callChildRef.js +19 -0
  554. package/cjs/lib/callChildRef/callChildRef.js.map +1 -0
  555. package/cjs/lib/client.d.ts +16 -16
  556. package/cjs/lib/createPropsGetter.d.ts +2 -2
  557. package/cjs/lib/currentEnvironment.d.ts +3 -3
  558. package/cjs/lib/date/InternalDate.d.ts +58 -58
  559. package/cjs/lib/date/InternalDateCalculator.d.ts +6 -6
  560. package/cjs/lib/date/InternalDateGetter.d.ts +15 -15
  561. package/cjs/lib/date/InternalDateSetter.d.ts +6 -6
  562. package/cjs/lib/date/InternalDateTransformer.d.ts +12 -12
  563. package/cjs/lib/date/InternalDateValidator.d.ts +12 -12
  564. package/cjs/lib/date/constants.d.ts +28 -28
  565. package/cjs/lib/date/localeSets.d.ts +5 -5
  566. package/cjs/lib/date/types.d.ts +90 -90
  567. package/cjs/lib/dom/getScrollWidth.d.ts +1 -1
  568. package/cjs/lib/dom/tabbableHelpers.d.ts +16 -16
  569. package/cjs/lib/events/MouseDrag.d.ts +58 -58
  570. package/cjs/lib/events/fixClickFocusIE.d.ts +1 -1
  571. package/cjs/lib/events/fixFirefoxModifiedClickOnLabel.d.ts +2 -2
  572. package/cjs/lib/events/keyListener.d.ts +7 -7
  573. package/cjs/lib/events/keyboard/KeyboardEventCodes.d.ts +30 -30
  574. package/cjs/lib/events/keyboard/KeyboardMapKeys.d.ts +6 -6
  575. package/cjs/lib/events/keyboard/extractCode.d.ts +3 -3
  576. package/cjs/lib/events/keyboard/identifiers.d.ts +48 -48
  577. package/cjs/lib/events/stopPropagation.d.ts +1 -1
  578. package/cjs/lib/events/tabListener.d.ts +1 -1
  579. package/cjs/lib/extractKeyboardAction.d.ts +13 -13
  580. package/cjs/lib/filterProps.d.ts +12 -12
  581. package/cjs/lib/forwardRefAndName.d.ts +5 -5
  582. package/cjs/lib/getDisplayName.d.ts +3 -3
  583. package/cjs/lib/listenFocusOutside.d.ts +8 -8
  584. package/cjs/lib/locale/LocaleContext.d.ts +7 -7
  585. package/cjs/lib/locale/LocaleHelper.d.ts +9 -9
  586. package/cjs/lib/locale/constants.d.ts +2 -2
  587. package/cjs/lib/locale/decorators.d.ts +36 -36
  588. package/cjs/lib/locale/index.d.ts +3 -3
  589. package/cjs/lib/locale/types.d.ts +21 -19
  590. package/cjs/lib/locale/types.js +2 -0
  591. package/cjs/lib/locale/types.js.map +1 -1
  592. package/cjs/lib/locale/useLocaleForControl.d.ts +3 -0
  593. package/cjs/lib/locale/useLocaleForControl.js +14 -0
  594. package/cjs/lib/locale/useLocaleForControl.js.map +1 -0
  595. package/cjs/lib/memo.d.ts +1 -1
  596. package/cjs/lib/net/fetch.d.ts +13 -13
  597. package/cjs/lib/polyfillPlaceholder.d.ts +1 -1
  598. package/cjs/lib/reactGetTextContent.d.ts +2 -2
  599. package/cjs/lib/rootNode/getRootNode.d.ts +3 -0
  600. package/cjs/lib/rootNode/getRootNode.js +27 -0
  601. package/cjs/lib/rootNode/getRootNode.js.map +1 -0
  602. package/cjs/lib/rootNode/index.d.ts +2 -0
  603. package/cjs/lib/rootNode/index.js +2 -0
  604. package/cjs/lib/rootNode/index.js.map +1 -0
  605. package/cjs/lib/rootNode/rootNodeDecorator.d.ts +33 -0
  606. package/cjs/lib/rootNode/rootNodeDecorator.js +31 -0
  607. package/cjs/lib/rootNode/rootNodeDecorator.js.map +1 -0
  608. package/cjs/lib/stringUtils.d.ts +1 -0
  609. package/cjs/lib/stringUtils.js +13 -0
  610. package/cjs/lib/stringUtils.js.map +1 -0
  611. package/cjs/lib/styles/ColorFactory.d.ts +11 -11
  612. package/cjs/lib/styles/ColorFunctions.d.ts +11 -11
  613. package/cjs/lib/styles/ColorHelpers.d.ts +20 -20
  614. package/cjs/lib/styles/ColorKeywords.d.ts +150 -150
  615. package/cjs/lib/styles/ColorObject.d.ts +52 -52
  616. package/cjs/lib/styles/DimensionFunctions.d.ts +1 -1
  617. package/cjs/lib/styles/HoldSelectionColor.d.ts +1 -1
  618. package/cjs/lib/styles/Mixins.d.ts +2 -2
  619. package/cjs/lib/taskWithDelayAndMinimalDuration.d.ts +21 -21
  620. package/cjs/lib/theming/AnimationKeyframes.d.ts +9 -9
  621. package/cjs/lib/theming/AnimationKeyframes.js +1 -1
  622. package/cjs/lib/theming/AnimationKeyframes.js.map +1 -1
  623. package/cjs/lib/theming/Emotion.d.ts +15 -15
  624. package/cjs/lib/theming/Emotion.js +1 -0
  625. package/cjs/lib/theming/Emotion.js.map +1 -1
  626. package/cjs/lib/theming/Theme.d.ts +3 -3
  627. package/cjs/lib/theming/ThemeContext.d.ts +2 -2
  628. package/cjs/lib/theming/ThemeFactory.d.ts +8 -8
  629. package/cjs/lib/theming/ThemeHelpers.d.ts +11 -11
  630. package/cjs/lib/theming/themes/DefaultTheme.d.ts +1 -1
  631. package/cjs/lib/theming/themes/DefaultThemeOld.d.ts +1 -1
  632. package/cjs/lib/theming/themes/FlatTheme.d.ts +1 -1
  633. package/cjs/lib/theming/themes/FlatThemeOld.d.ts +1 -1
  634. package/cjs/lib/theming/useTheme.d.ts +1 -0
  635. package/cjs/lib/theming/useTheme.js +7 -0
  636. package/cjs/lib/theming/useTheme.js.map +1 -0
  637. package/cjs/lib/uidUtils.d.ts +1 -0
  638. package/cjs/lib/uidUtils.js +5 -0
  639. package/cjs/lib/uidUtils.js.map +1 -0
  640. package/cjs/lib/utils.d.ts +64 -28
  641. package/cjs/lib/utils.js +95 -4
  642. package/cjs/lib/utils.js.map +1 -1
  643. package/cjs/lib/withClassWrapper.d.ts +71 -71
  644. package/cjs/typings/html-props.d.ts +123 -0
  645. package/components/Autocomplete/Autocomplete/Autocomplete.js +19 -16
  646. package/components/Autocomplete/Autocomplete/Autocomplete.js.map +1 -1
  647. package/components/Autocomplete/Autocomplete.d.ts +113 -112
  648. package/components/Autocomplete/index.d.ts +1 -1
  649. package/components/Button/Button/Button.js +14 -15
  650. package/components/Button/Button/Button.js.map +1 -1
  651. package/components/Button/Button.d.ts +161 -160
  652. package/components/Button/Button.mixins.d.ts +6 -6
  653. package/components/Button/Button.styles/Button.styles.js +31 -28
  654. package/components/Button/Button.styles/Button.styles.js.map +1 -1
  655. package/components/Button/Button.styles.d.ts +68 -67
  656. package/components/Button/Corners.d.ts +6 -6
  657. package/components/Button/index.d.ts +1 -1
  658. package/components/Center/Center/Center.js +14 -9
  659. package/components/Center/Center/Center.js.map +1 -1
  660. package/components/Center/Center.d.ts +25 -24
  661. package/components/Center/Center.styles.d.ts +7 -7
  662. package/components/Center/index.d.ts +1 -1
  663. package/components/Checkbox/Checkbox/Checkbox.js +16 -10
  664. package/components/Checkbox/Checkbox/Checkbox.js.map +1 -1
  665. package/components/Checkbox/Checkbox.d.ts +96 -95
  666. package/components/Checkbox/Checkbox.styles.d.ts +22 -22
  667. package/components/Checkbox/index.d.ts +1 -1
  668. package/components/ComboBox/ComboBox/ComboBox.js +38 -32
  669. package/components/ComboBox/ComboBox/ComboBox.js.map +1 -1
  670. package/components/ComboBox/ComboBox.d.ts +184 -182
  671. package/components/ComboBox/index.d.ts +1 -1
  672. package/components/CurrencyInput/CurrencyHelper.d.ts +35 -35
  673. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js +29 -27
  674. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js.map +1 -1
  675. package/components/CurrencyInput/CurrencyInput.d.ts +106 -106
  676. package/components/CurrencyInput/CurrencyInputHelper.d.ts +20 -20
  677. package/components/CurrencyInput/CurrencyInputKeyboardActions.d.ts +18 -18
  678. package/components/CurrencyInput/CursorHelper.d.ts +10 -10
  679. package/components/CurrencyInput/SelectionHelper.d.ts +11 -11
  680. package/components/CurrencyInput/constants.d.ts +2 -2
  681. package/components/CurrencyInput/index.d.ts +1 -1
  682. package/components/CurrencyLabel/CurrencyLabel.d.ts +24 -24
  683. package/components/CurrencyLabel/index.d.ts +1 -1
  684. package/components/DateInput/DateFragmentsView.d.ts +20 -20
  685. package/components/DateInput/DateFragmentsView.styles.d.ts +7 -7
  686. package/components/DateInput/DateInput/DateInput.js +7 -3
  687. package/components/DateInput/DateInput/DateInput.js.map +1 -1
  688. package/components/DateInput/DateInput.d.ts +107 -106
  689. package/components/DateInput/DateInput.styles.d.ts +10 -10
  690. package/components/DateInput/ViewDateInputValidateChecks.d.ts +10 -10
  691. package/components/DateInput/helpers/DateInputKeyboardActions.d.ts +21 -21
  692. package/components/DateInput/helpers/InternalDateMediator.d.ts +26 -26
  693. package/components/DateInput/helpers/SelectionHelpers.d.ts +2 -2
  694. package/components/DateInput/helpers/inputNumber.d.ts +5 -5
  695. package/components/DateInput/index.d.ts +1 -1
  696. package/components/DatePicker/DatePicker/DatePicker.js +29 -22
  697. package/components/DatePicker/DatePicker/DatePicker.js.map +1 -1
  698. package/components/DatePicker/DatePicker.d.ts +134 -132
  699. package/components/DatePicker/DatePicker.styles.d.ts +3 -3
  700. package/components/DatePicker/DatePickerHelpers.d.ts +2 -2
  701. package/components/DatePicker/Picker.d.ts +33 -33
  702. package/components/DatePicker/Picker.styles.d.ts +5 -5
  703. package/components/DatePicker/index.d.ts +1 -1
  704. package/components/DatePicker/locale/index.d.ts +4 -4
  705. package/components/DatePicker/locale/locales/en.d.ts +2 -2
  706. package/components/DatePicker/locale/locales/ru.d.ts +2 -2
  707. package/components/DatePicker/locale/types.d.ts +5 -5
  708. package/components/Dropdown/Dropdown/Dropdown.js +15 -13
  709. package/components/Dropdown/Dropdown/Dropdown.js.map +1 -1
  710. package/components/Dropdown/Dropdown.d.ts +124 -123
  711. package/components/Dropdown/index.d.ts +1 -1
  712. package/components/DropdownMenu/DropdownMenu/DropdownMenu.js +15 -9
  713. package/components/DropdownMenu/DropdownMenu/DropdownMenu.js.map +1 -1
  714. package/components/DropdownMenu/DropdownMenu.d.ts +65 -64
  715. package/components/DropdownMenu/index.d.ts +1 -1
  716. package/components/FileUploader/FileUploader/FileUploader.js +270 -0
  717. package/components/FileUploader/FileUploader/FileUploader.js.map +1 -0
  718. package/components/FileUploader/FileUploader/package.json +6 -0
  719. package/components/FileUploader/FileUploader.d.ts +42 -0
  720. package/components/FileUploader/FileUploader.md +67 -0
  721. package/components/FileUploader/FileUploader.styles/FileUploader.styles.js +62 -0
  722. package/components/FileUploader/FileUploader.styles/FileUploader.styles.js.map +1 -0
  723. package/components/FileUploader/FileUploader.styles/package.json +6 -0
  724. package/components/FileUploader/FileUploader.styles.d.ts +21 -0
  725. package/components/FileUploader/index/index.js +3 -0
  726. package/components/FileUploader/index/index.js.map +1 -0
  727. package/components/FileUploader/index/package.json +6 -0
  728. package/components/FileUploader/index.d.ts +4 -0
  729. package/components/FileUploader/locale/index/index.js +8 -0
  730. package/components/FileUploader/locale/index/index.js.map +1 -0
  731. package/components/FileUploader/locale/index/package.json +6 -0
  732. package/components/FileUploader/locale/index.d.ts +4 -0
  733. package/components/FileUploader/locale/locales/en/en.js +6 -0
  734. package/components/FileUploader/locale/locales/en/en.js.map +1 -0
  735. package/components/FileUploader/locale/locales/en/package.json +6 -0
  736. package/components/FileUploader/locale/locales/en.d.ts +2 -0
  737. package/components/FileUploader/locale/locales/ru/package.json +6 -0
  738. package/components/FileUploader/locale/locales/ru/ru.js +6 -0
  739. package/components/FileUploader/locale/locales/ru/ru.js.map +1 -0
  740. package/components/FileUploader/locale/locales/ru.d.ts +2 -0
  741. package/components/FileUploader/locale/package.json +6 -0
  742. package/components/FileUploader/locale/types/package.json +6 -0
  743. package/components/FileUploader/locale/types/types.js +0 -0
  744. package/components/FileUploader/locale/types/types.js.map +1 -0
  745. package/components/FileUploader/locale/types.d.ts +6 -0
  746. package/components/FileUploader/package.json +6 -0
  747. package/components/FxInput/FxInput/FxInput.js +13 -9
  748. package/components/FxInput/FxInput/FxInput.js.map +1 -1
  749. package/components/FxInput/FxInput.d.ts +50 -49
  750. package/components/FxInput/index.d.ts +1 -1
  751. package/components/Gapped/Gapped/Gapped.js +15 -11
  752. package/components/Gapped/Gapped/Gapped.js.map +1 -1
  753. package/components/Gapped/Gapped.d.ts +58 -57
  754. package/components/Gapped/index.d.ts +1 -1
  755. package/components/Group/Group/Group.js +22 -9
  756. package/components/Group/Group/Group.js.map +1 -1
  757. package/components/Group/Group.d.ts +14 -13
  758. package/components/Group/Group.styles.d.ts +8 -8
  759. package/components/Group/index.d.ts +1 -1
  760. package/components/Hint/Hint/Hint.js +18 -12
  761. package/components/Hint/Hint/Hint.js.map +1 -1
  762. package/components/Hint/Hint.d.ts +81 -79
  763. package/components/Hint/Hint.styles.d.ts +5 -5
  764. package/components/Hint/index.d.ts +1 -1
  765. package/components/Input/Input/Input.js +21 -14
  766. package/components/Input/Input/Input.js.map +1 -1
  767. package/components/Input/Input.d.ts +157 -154
  768. package/components/Input/Input.styles.d.ts +42 -42
  769. package/components/Input/index.d.ts +1 -1
  770. package/components/Kebab/Kebab/Kebab.js +12 -7
  771. package/components/Kebab/Kebab/Kebab.js.map +1 -1
  772. package/components/Kebab/Kebab.d.ts +71 -70
  773. package/components/Kebab/Kebab.styles.d.ts +12 -12
  774. package/components/Kebab/index.d.ts +1 -1
  775. package/components/Link/Link/Link.js +15 -11
  776. package/components/Link/Link/Link.js.map +1 -1
  777. package/components/Link/Link.d.ts +72 -71
  778. package/components/Link/Link.mixins.d.ts +3 -3
  779. package/components/Link/Link.styles.d.ts +15 -15
  780. package/components/Link/index.d.ts +1 -1
  781. package/components/Loader/Loader/Loader.js +16 -11
  782. package/components/Loader/Loader/Loader.js.map +1 -1
  783. package/components/Loader/Loader.d.ts +100 -99
  784. package/components/Loader/Loader.styles.d.ts +8 -8
  785. package/components/Loader/index.d.ts +1 -1
  786. package/components/MenuHeader/MenuHeader.d.ts +20 -20
  787. package/components/MenuHeader/MenuHeader.styles.d.ts +5 -5
  788. package/components/MenuHeader/index.d.ts +1 -1
  789. package/components/MenuItem/MenuItem/MenuItem.js +19 -17
  790. package/components/MenuItem/MenuItem/MenuItem.js.map +1 -1
  791. package/components/MenuItem/MenuItem.d.ts +94 -93
  792. package/components/MenuItem/MenuItem.styles.d.ts +13 -13
  793. package/components/MenuItem/index.d.ts +1 -1
  794. package/components/MenuSeparator/MenuSeparator.d.ts +12 -12
  795. package/components/MenuSeparator/MenuSeparator.styles.d.ts +4 -4
  796. package/components/MenuSeparator/index.d.ts +1 -1
  797. package/components/Modal/Modal/Modal.js +1 -1
  798. package/components/Modal/Modal/Modal.js.map +1 -1
  799. package/components/Modal/Modal.d.ts +87 -87
  800. package/components/Modal/Modal.styles.d.ts +26 -26
  801. package/components/Modal/ModalBody/ModalBody.js +16 -10
  802. package/components/Modal/ModalBody/ModalBody.js.map +1 -1
  803. package/components/Modal/ModalBody.d.ts +21 -20
  804. package/components/Modal/ModalClose.d.ts +2 -2
  805. package/components/Modal/ModalContext.d.ts +15 -15
  806. package/components/Modal/ModalFooter.d.ts +21 -21
  807. package/components/Modal/ModalHeader.d.ts +17 -17
  808. package/components/Modal/index.d.ts +4 -4
  809. package/components/Paging/NavigationHelper.d.ts +7 -7
  810. package/components/Paging/Paging/Paging.js +17 -14
  811. package/components/Paging/Paging/Paging.js.map +1 -1
  812. package/components/Paging/Paging.d.ts +90 -90
  813. package/components/Paging/Paging.styles.d.ts +16 -16
  814. package/components/Paging/PagingHelper.d.ts +2 -2
  815. package/components/Paging/index.d.ts +1 -1
  816. package/components/Paging/locale/index.d.ts +4 -4
  817. package/components/Paging/locale/locales/en.d.ts +2 -2
  818. package/components/Paging/locale/locales/ru.d.ts +2 -2
  819. package/components/Paging/locale/types.d.ts +3 -3
  820. package/components/PasswordInput/PasswordInput/PasswordInput.js +18 -14
  821. package/components/PasswordInput/PasswordInput/PasswordInput.js.map +1 -1
  822. package/components/PasswordInput/PasswordInput.d.ts +49 -48
  823. package/components/PasswordInput/PasswordInput.styles.d.ts +10 -10
  824. package/components/PasswordInput/index.d.ts +1 -1
  825. package/components/Radio/Radio/Radio.js +17 -19
  826. package/components/Radio/Radio/Radio.js.map +1 -1
  827. package/components/Radio/Radio.d.ts +77 -82
  828. package/components/Radio/Radio.styles.d.ts +19 -19
  829. package/components/Radio/index.d.ts +1 -1
  830. package/components/RadioGroup/Prevent.d.ts +8 -8
  831. package/components/RadioGroup/RadioGroup/RadioGroup.js +35 -38
  832. package/components/RadioGroup/RadioGroup/RadioGroup.js.map +1 -1
  833. package/components/RadioGroup/RadioGroup.d.ts +117 -131
  834. package/components/RadioGroup/RadioGroup.styles.d.ts +7 -7
  835. package/components/RadioGroup/RadioGroupContext/RadioGroupContext.js +12 -0
  836. package/components/RadioGroup/RadioGroupContext/RadioGroupContext.js.map +1 -0
  837. package/components/RadioGroup/RadioGroupContext/package.json +6 -0
  838. package/components/RadioGroup/RadioGroupContext.d.ts +10 -0
  839. package/components/RadioGroup/index.d.ts +1 -1
  840. package/components/ScrollContainer/ScrollBar.d.ts +37 -37
  841. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js +13 -8
  842. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js.map +1 -1
  843. package/components/ScrollContainer/ScrollContainer.constants.d.ts +23 -23
  844. package/components/ScrollContainer/ScrollContainer.d.ts +84 -83
  845. package/components/ScrollContainer/ScrollContainer.helpers.d.ts +10 -10
  846. package/components/ScrollContainer/ScrollContainer.styles.d.ts +16 -16
  847. package/components/ScrollContainer/index.d.ts +1 -1
  848. package/components/Select/Item.d.ts +7 -7
  849. package/components/Select/Select/Select.js +8 -5
  850. package/components/Select/Select/Select.js.map +1 -1
  851. package/components/Select/Select.d.ts +179 -178
  852. package/components/Select/Select.styles.d.ts +17 -17
  853. package/components/Select/index.d.ts +1 -1
  854. package/components/Select/locale/index.d.ts +4 -4
  855. package/components/Select/locale/locales/en.d.ts +2 -2
  856. package/components/Select/locale/locales/ru.d.ts +2 -2
  857. package/components/Select/locale/types.d.ts +4 -4
  858. package/components/Select/selectTheme.d.ts +3 -3
  859. package/components/SidePage/SidePage/SidePage.js +6 -3
  860. package/components/SidePage/SidePage/SidePage.js.map +1 -1
  861. package/components/SidePage/SidePage.d.ts +105 -104
  862. package/components/SidePage/SidePage.styles.d.ts +37 -37
  863. package/components/SidePage/SidePageBody/SidePageBody.js +16 -10
  864. package/components/SidePage/SidePageBody/SidePageBody.js.map +1 -1
  865. package/components/SidePage/SidePageBody.d.ts +19 -18
  866. package/components/SidePage/SidePageContainer/SidePageContainer.js +16 -9
  867. package/components/SidePage/SidePageContainer/SidePageContainer.js.map +1 -1
  868. package/components/SidePage/SidePageContainer.d.ts +15 -14
  869. package/components/SidePage/SidePageContext.d.ts +15 -15
  870. package/components/SidePage/SidePageFooter/SidePageFooter.js +22 -19
  871. package/components/SidePage/SidePageFooter/SidePageFooter.js.map +1 -1
  872. package/components/SidePage/SidePageFooter.d.ts +36 -37
  873. package/components/SidePage/SidePageHeader/SidePageHeader.js +15 -10
  874. package/components/SidePage/SidePageHeader/SidePageHeader.js.map +1 -1
  875. package/components/SidePage/SidePageHeader.d.ts +41 -40
  876. package/components/SidePage/index.d.ts +5 -5
  877. package/components/Spinner/Spinner/Spinner.js +14 -6
  878. package/components/Spinner/Spinner/Spinner.js.map +1 -1
  879. package/components/Spinner/Spinner.d.ts +56 -47
  880. package/components/Spinner/Spinner.md +1 -0
  881. package/components/Spinner/Spinner.styles/Spinner.styles.js +12 -9
  882. package/components/Spinner/Spinner.styles/Spinner.styles.js.map +1 -1
  883. package/components/Spinner/Spinner.styles.d.ts +12 -11
  884. package/components/Spinner/SpinnerFallbackAnimation.d.ts +25 -25
  885. package/components/Spinner/index.d.ts +1 -1
  886. package/components/Spinner/locale/index.d.ts +4 -4
  887. package/components/Spinner/locale/locales/en.d.ts +2 -2
  888. package/components/Spinner/locale/locales/ru.d.ts +2 -2
  889. package/components/Spinner/locale/types.d.ts +4 -4
  890. package/components/Sticky/Sticky/Sticky.js +13 -8
  891. package/components/Sticky/Sticky/Sticky.js.map +1 -1
  892. package/components/Sticky/Sticky.d.ts +54 -53
  893. package/components/Sticky/Sticky.styles.d.ts +7 -7
  894. package/components/Sticky/index.d.ts +1 -1
  895. package/components/Switcher/Switcher/Switcher.js +11 -6
  896. package/components/Switcher/Switcher/Switcher.js.map +1 -1
  897. package/components/Switcher/Switcher.d.ts +56 -55
  898. package/components/Switcher/Switcher.styles/Switcher.styles.js +3 -1
  899. package/components/Switcher/Switcher.styles/Switcher.styles.js.map +1 -1
  900. package/components/Switcher/Switcher.styles.d.ts +10 -10
  901. package/components/Switcher/index.d.ts +1 -1
  902. package/components/Switcher/switcherTheme.d.ts +2 -2
  903. package/components/Tabs/Indicator/Indicator.js +16 -14
  904. package/components/Tabs/Indicator/Indicator.js.map +1 -1
  905. package/components/Tabs/Indicator.d.ts +28 -27
  906. package/components/Tabs/Indicator.styles.d.ts +8 -8
  907. package/components/Tabs/Tab/Tab.js +31 -34
  908. package/components/Tabs/Tab/Tab.js.map +1 -1
  909. package/components/Tabs/Tab.d.ts +121 -120
  910. package/components/Tabs/Tab.styles.d.ts +27 -27
  911. package/components/Tabs/Tabs/Tabs.js +20 -20
  912. package/components/Tabs/Tabs/Tabs.js.map +1 -1
  913. package/components/Tabs/Tabs.d.ts +62 -61
  914. package/components/Tabs/Tabs.styles.d.ts +5 -5
  915. package/components/Tabs/TabsContext.d.ts +14 -14
  916. package/components/Tabs/index.d.ts +2 -2
  917. package/components/Textarea/Textarea/Textarea.js +21 -17
  918. package/components/Textarea/Textarea/Textarea.js.map +1 -1
  919. package/components/Textarea/Textarea.d.ts +185 -184
  920. package/components/Textarea/Textarea.styles.d.ts +15 -15
  921. package/components/Textarea/TextareaCounter.d.ts +13 -13
  922. package/components/Textarea/TextareaHelpers.d.ts +11 -11
  923. package/components/Textarea/index.d.ts +1 -1
  924. package/components/Toast/Toast/Toast.js +29 -14
  925. package/components/Toast/Toast/Toast.js.map +1 -1
  926. package/components/Toast/Toast.d.ts +58 -55
  927. package/components/Toast/Toast.styles.d.ts +6 -6
  928. package/components/Toast/ToastStatic.d.ts +8 -8
  929. package/components/Toast/ToastView/ToastView.js +10 -5
  930. package/components/Toast/ToastView/ToastView.js.map +1 -1
  931. package/components/Toast/ToastView.d.ts +38 -37
  932. package/components/Toast/ToastView.styles.d.ts +8 -8
  933. package/components/Toast/index.d.ts +1 -1
  934. package/components/Toggle/Toggle/Toggle.js +16 -11
  935. package/components/Toggle/Toggle/Toggle.js.map +1 -1
  936. package/components/Toggle/Toggle.d.ts +107 -106
  937. package/components/Toggle/Toggle.styles.d.ts +30 -30
  938. package/components/Toggle/index.d.ts +1 -1
  939. package/components/Token/Token/Token.js +11 -4
  940. package/components/Token/Token/Token.js.map +1 -1
  941. package/components/Token/Token.d.ts +36 -35
  942. package/components/Token/Token.styles.d.ts +29 -29
  943. package/components/Token/index.d.ts +1 -1
  944. package/components/TokenInput/TextWidthHelper.d.ts +18 -18
  945. package/components/TokenInput/TokenInput/TokenInput.js +12 -6
  946. package/components/TokenInput/TokenInput/TokenInput.js.map +1 -1
  947. package/components/TokenInput/TokenInput.d.ts +194 -193
  948. package/components/TokenInput/TokenInput.styles.d.ts +15 -15
  949. package/components/TokenInput/TokenInputMenu.d.ts +18 -18
  950. package/components/TokenInput/TokenInputReducer.d.ts +25 -25
  951. package/components/TokenInput/index.d.ts +1 -1
  952. package/components/TokenInput/locale/index.d.ts +4 -4
  953. package/components/TokenInput/locale/locales/en.d.ts +2 -2
  954. package/components/TokenInput/locale/locales/ru.d.ts +2 -2
  955. package/components/TokenInput/locale/types.d.ts +4 -4
  956. package/components/Tooltip/Tooltip/Tooltip.js +26 -17
  957. package/components/Tooltip/Tooltip/Tooltip.js.map +1 -1
  958. package/components/Tooltip/Tooltip.d.ts +160 -171
  959. package/components/Tooltip/Tooltip.styles.d.ts +5 -5
  960. package/components/Tooltip/index.d.ts +1 -1
  961. package/components/TooltipMenu/TooltipMenu/TooltipMenu.js +23 -17
  962. package/components/TooltipMenu/TooltipMenu/TooltipMenu.js.map +1 -1
  963. package/components/TooltipMenu/TooltipMenu.d.ts +65 -64
  964. package/components/TooltipMenu/index.d.ts +1 -1
  965. package/hooks/useDrop/package.json +6 -0
  966. package/hooks/useDrop/useDrop.js +57 -0
  967. package/hooks/useDrop/useDrop.js.map +1 -0
  968. package/hooks/useDrop.d.ts +11 -0
  969. package/hooks/useEffectWithoutInitCall/package.json +6 -0
  970. package/hooks/useEffectWithoutInitCall/useEffectWithoutInitCall.js +11 -0
  971. package/hooks/useEffectWithoutInitCall/useEffectWithoutInitCall.js.map +1 -0
  972. package/hooks/useEffectWithoutInitCall.d.ts +2 -0
  973. package/hooks/useMemoObject/package.json +6 -0
  974. package/hooks/useMemoObject/useMemoObject.js +6 -0
  975. package/hooks/useMemoObject/useMemoObject.js.map +1 -0
  976. package/hooks/useMemoObject.d.ts +1 -0
  977. package/index.d.ts +50 -48
  978. package/index.js +3 -1
  979. package/index.js.map +1 -1
  980. package/internal/BGRuler.d.ts +30 -30
  981. package/internal/Calendar/Calendar.d.ts +66 -66
  982. package/internal/Calendar/Calendar.styles.d.ts +5 -5
  983. package/internal/Calendar/CalendarDateShape.d.ts +14 -14
  984. package/internal/Calendar/CalendarScrollEvents.d.ts +4 -4
  985. package/internal/Calendar/CalendarUtils.d.ts +19 -19
  986. package/internal/Calendar/DayCellView.d.ts +13 -13
  987. package/internal/Calendar/DayCellView.styles.d.ts +7 -7
  988. package/internal/Calendar/DayCellViewModel.d.ts +8 -8
  989. package/internal/Calendar/Month.d.ts +33 -33
  990. package/internal/Calendar/MonthView.d.ts +21 -21
  991. package/internal/Calendar/MonthView.styles.d.ts +9 -9
  992. package/internal/Calendar/MonthViewModel.d.ts +14 -14
  993. package/internal/Calendar/config.d.ts +9 -9
  994. package/internal/Calendar/index.d.ts +2 -2
  995. package/internal/CommonWrapper/CommonWrapper/CommonWrapper.js +37 -10
  996. package/internal/CommonWrapper/CommonWrapper/CommonWrapper.js.map +1 -1
  997. package/internal/CommonWrapper/CommonWrapper.d.ts +31 -23
  998. package/internal/CommonWrapper/index.d.ts +1 -1
  999. package/internal/ComponentCombinator.d.ts +25 -25
  1000. package/internal/ComponentTable.d.ts +21 -21
  1001. package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js +5 -3
  1002. package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js.map +1 -1
  1003. package/internal/CustomComboBox/ComboBoxMenu.d.ts +31 -31
  1004. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js +23 -13
  1005. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js.map +1 -1
  1006. package/internal/CustomComboBox/ComboBoxView.d.ts +90 -87
  1007. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js +12 -4
  1008. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js.map +1 -1
  1009. package/internal/CustomComboBox/CustomComboBox.d.ts +136 -135
  1010. package/internal/CustomComboBox/CustomComboBox.styles.d.ts +5 -5
  1011. package/internal/CustomComboBox/CustomComboBoxReducer.d.ts +71 -71
  1012. package/internal/CustomComboBox/CustomComboBoxTypes.d.ts +6 -6
  1013. package/internal/CustomComboBox/index.d.ts +2 -2
  1014. package/internal/CustomComboBox/locale/index.d.ts +4 -4
  1015. package/internal/CustomComboBox/locale/locales/en.d.ts +2 -2
  1016. package/internal/CustomComboBox/locale/locales/ru.d.ts +2 -2
  1017. package/internal/CustomComboBox/locale/types.d.ts +5 -5
  1018. package/internal/DateSelect/DateSelect/DateSelect.js +5 -5
  1019. package/internal/DateSelect/DateSelect/DateSelect.js.map +1 -1
  1020. package/internal/DateSelect/DateSelect.d.ts +93 -93
  1021. package/internal/DateSelect/DateSelect.styles.d.ts +19 -19
  1022. package/internal/DateSelect/index.d.ts +1 -1
  1023. package/internal/DropdownContainer/DropdownContainer/DropdownContainer.js +11 -15
  1024. package/internal/DropdownContainer/DropdownContainer/DropdownContainer.js.map +1 -1
  1025. package/internal/DropdownContainer/DropdownContainer.d.ts +43 -46
  1026. package/internal/DropdownContainer/index.d.ts +1 -1
  1027. package/internal/FileUploaderControl/FileUploaderControlContext/FileUploaderControlContext.js +2 -0
  1028. package/internal/FileUploaderControl/FileUploaderControlContext/FileUploaderControlContext.js.map +1 -0
  1029. package/internal/FileUploaderControl/FileUploaderControlContext/package.json +6 -0
  1030. package/internal/FileUploaderControl/FileUploaderControlContext.d.ts +12 -0
  1031. package/internal/FileUploaderControl/FileUploaderControlProvider/FileUploaderControlProvider.js +85 -0
  1032. package/internal/FileUploaderControl/FileUploaderControlProvider/FileUploaderControlProvider.js.map +1 -0
  1033. package/internal/FileUploaderControl/FileUploaderControlProvider/package.json +6 -0
  1034. package/internal/FileUploaderControl/FileUploaderControlProvider.d.ts +14 -0
  1035. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile/FileUploaderFile.js +179 -0
  1036. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile/FileUploaderFile.js.map +1 -0
  1037. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile/package.json +6 -0
  1038. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.d.ts +12 -0
  1039. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.styles/FileUploaderFile.styles.js +32 -0
  1040. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.styles/FileUploaderFile.styles.js.map +1 -0
  1041. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.styles/package.json +6 -0
  1042. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.styles.d.ts +11 -0
  1043. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList/FileUploaderFileList.js +27 -0
  1044. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList/FileUploaderFileList.js.map +1 -0
  1045. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList/package.json +6 -0
  1046. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.d.ts +10 -0
  1047. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.styles/FileUploaderFileList.styles.js +14 -0
  1048. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.styles/FileUploaderFileList.styles.js.map +1 -0
  1049. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.styles/package.json +6 -0
  1050. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.styles.d.ts +5 -0
  1051. package/internal/FileUploaderControl/FileUploaderFileValidationResult/FileUploaderFileValidationResult.js +18 -0
  1052. package/internal/FileUploaderControl/FileUploaderFileValidationResult/FileUploaderFileValidationResult.js.map +1 -0
  1053. package/internal/FileUploaderControl/FileUploaderFileValidationResult/package.json +6 -0
  1054. package/internal/FileUploaderControl/FileUploaderFileValidationResult.d.ts +7 -0
  1055. package/internal/FileUploaderControl/fileUtils/fileUtils.js +19 -0
  1056. package/internal/FileUploaderControl/fileUtils/fileUtils.js.map +1 -0
  1057. package/internal/FileUploaderControl/fileUtils/package.json +6 -0
  1058. package/internal/FileUploaderControl/fileUtils.d.ts +14 -0
  1059. package/internal/FileUploaderControl/hooks/useControlLocale/package.json +6 -0
  1060. package/internal/FileUploaderControl/hooks/useControlLocale/useControlLocale.js +5 -0
  1061. package/internal/FileUploaderControl/hooks/useControlLocale/useControlLocale.js.map +1 -0
  1062. package/internal/FileUploaderControl/hooks/useControlLocale.d.ts +1 -0
  1063. package/internal/FileUploaderControl/hooks/useUpload/package.json +6 -0
  1064. package/internal/FileUploaderControl/hooks/useUpload/useUpload.js +56 -0
  1065. package/internal/FileUploaderControl/hooks/useUpload/useUpload.js.map +1 -0
  1066. package/internal/FileUploaderControl/hooks/useUpload.d.ts +3 -0
  1067. package/internal/FileUploaderControl/withFileUploaderControlProvider/package.json +6 -0
  1068. package/internal/FileUploaderControl/withFileUploaderControlProvider/withFileUploaderControlProvider.js +16 -0
  1069. package/internal/FileUploaderControl/withFileUploaderControlProvider/withFileUploaderControlProvider.js.map +1 -0
  1070. package/internal/FileUploaderControl/withFileUploaderControlProvider.d.ts +3 -0
  1071. package/internal/FocusTrap/FocusTrap/FocusTrap.js +17 -9
  1072. package/internal/FocusTrap/FocusTrap/FocusTrap.js.map +1 -1
  1073. package/internal/FocusTrap/FocusTrap.d.ts +17 -16
  1074. package/internal/FocusTrap/index.d.ts +1 -1
  1075. package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.d.ts +14 -14
  1076. package/internal/HideBodyVerticalScroll/index.d.ts +1 -1
  1077. package/internal/IgnoreLayerClick/IgnoreLayerClick/IgnoreLayerClick.js +13 -7
  1078. package/internal/IgnoreLayerClick/IgnoreLayerClick/IgnoreLayerClick.js.map +1 -1
  1079. package/internal/IgnoreLayerClick/IgnoreLayerClick.d.ts +8 -8
  1080. package/internal/IgnoreLayerClick/index.d.ts +1 -1
  1081. package/internal/InputLikeText/HiddenInput.d.ts +13 -13
  1082. package/internal/InputLikeText/InputLikeText/InputLikeText.js +11 -6
  1083. package/internal/InputLikeText/InputLikeText/InputLikeText.js.map +1 -1
  1084. package/internal/InputLikeText/InputLikeText.d.ts +73 -72
  1085. package/internal/InputLikeText/InputLikeText.styles.d.ts +7 -7
  1086. package/internal/InputLikeText/index.d.ts +1 -1
  1087. package/internal/InternalMenu/InternalMenu/InternalMenu.js +24 -25
  1088. package/internal/InternalMenu/InternalMenu/InternalMenu.js.map +1 -1
  1089. package/internal/InternalMenu/InternalMenu.d.ts +63 -64
  1090. package/internal/InternalMenu/InternalMenu.styles.d.ts +9 -9
  1091. package/internal/InternalMenu/index.d.ts +1 -1
  1092. package/internal/InternalMenu/isActiveElement.d.ts +3 -3
  1093. package/internal/MaskCharLowLine/MaskCharLowLine.d.ts +9 -9
  1094. package/internal/MaskCharLowLine/MaskCharLowLine.styles.d.ts +3 -3
  1095. package/internal/MaskCharLowLine/index.d.ts +1 -1
  1096. package/internal/MaskedInput/MaskedInput/MaskedInput.js +7 -7
  1097. package/internal/MaskedInput/MaskedInput/MaskedInput.js.map +1 -1
  1098. package/internal/MaskedInput/MaskedInput.d.ts +40 -40
  1099. package/internal/MaskedInput/MaskedInput.styles.d.ts +6 -6
  1100. package/internal/MaskedInput/index.d.ts +1 -1
  1101. package/internal/Menu/Menu/Menu.js +11 -8
  1102. package/internal/Menu/Menu/Menu.js.map +1 -1
  1103. package/internal/Menu/Menu.d.ts +63 -62
  1104. package/internal/Menu/Menu.styles.d.ts +6 -6
  1105. package/internal/Menu/index.d.ts +1 -1
  1106. package/internal/Menu/isActiveElement.d.ts +3 -3
  1107. package/internal/NativeDateInput/NativeDateInput.d.ts +23 -23
  1108. package/internal/NativeDateInput/NativeDateInput.styles.d.ts +3 -3
  1109. package/internal/NativeDateInput/index.d.ts +1 -1
  1110. package/internal/NativeDateInput/utils.d.ts +7 -7
  1111. package/internal/PerformanceMetrics/PerformanceMetrics.d.ts +7 -7
  1112. package/internal/Popup/Popup/Popup.js +82 -70
  1113. package/internal/Popup/Popup/Popup.js.map +1 -1
  1114. package/internal/Popup/Popup.d.ts +162 -161
  1115. package/internal/Popup/Popup.styles.d.ts +16 -16
  1116. package/internal/Popup/PopupHelper/PopupHelper.js.map +1 -1
  1117. package/internal/Popup/PopupHelper.d.ts +26 -26
  1118. package/internal/Popup/PopupPin.d.ts +56 -56
  1119. package/internal/Popup/PopupPin.styles.d.ts +3 -3
  1120. package/internal/Popup/index.d.ts +1 -1
  1121. package/internal/Popup/types/package.json +6 -0
  1122. package/internal/Popup/types/types.js +0 -0
  1123. package/internal/Popup/types/types.js.map +1 -0
  1124. package/internal/Popup/types.d.ts +1 -0
  1125. package/internal/PopupMenu/PopupMenu/PopupMenu.js +15 -10
  1126. package/internal/PopupMenu/PopupMenu/PopupMenu.js.map +1 -1
  1127. package/internal/PopupMenu/PopupMenu.d.ts +85 -84
  1128. package/internal/PopupMenu/PopupMenu.styles.d.ts +4 -4
  1129. package/internal/PopupMenu/index.d.ts +1 -1
  1130. package/internal/PopupMenu/validatePositions/validatePositions.js +2 -2
  1131. package/internal/PopupMenu/validatePositions/validatePositions.js.map +1 -1
  1132. package/internal/PopupMenu/validatePositions.d.ts +2 -2
  1133. package/internal/RenderContainer/RenderContainer/RenderContainer.js +3 -1
  1134. package/internal/RenderContainer/RenderContainer/RenderContainer.js.map +1 -1
  1135. package/internal/RenderContainer/RenderContainer.d.ts +16 -16
  1136. package/internal/RenderContainer/RenderContainerTypes.d.ts +11 -11
  1137. package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js +2 -3
  1138. package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js.map +1 -1
  1139. package/internal/RenderContainer/RenderInnerContainer.d.ts +13 -13
  1140. package/internal/RenderContainer/index.d.ts +1 -1
  1141. package/internal/RenderLayer/RenderLayer/RenderLayer.js +20 -18
  1142. package/internal/RenderLayer/RenderLayer/RenderLayer.js.map +1 -1
  1143. package/internal/RenderLayer/RenderLayer.d.ts +29 -27
  1144. package/internal/RenderLayer/index.d.ts +1 -1
  1145. package/internal/ResizeDetector/ResizeDetector.d.ts +12 -12
  1146. package/internal/ResizeDetector/ResizeDetector.styles.d.ts +5 -5
  1147. package/internal/ResizeDetector/index.d.ts +1 -1
  1148. package/internal/TextWidthHelper/TextWidthHelper/TextWidthHelper.js +51 -0
  1149. package/internal/TextWidthHelper/TextWidthHelper/TextWidthHelper.js.map +1 -0
  1150. package/internal/TextWidthHelper/TextWidthHelper/package.json +6 -0
  1151. package/internal/TextWidthHelper/TextWidthHelper.d.ts +15 -0
  1152. package/internal/TextWidthHelper/TextWidthHelper.styles/TextWidthHelper.styles.js +14 -0
  1153. package/internal/TextWidthHelper/TextWidthHelper.styles/TextWidthHelper.styles.js.map +1 -0
  1154. package/internal/TextWidthHelper/TextWidthHelper.styles/package.json +6 -0
  1155. package/internal/TextWidthHelper/TextWidthHelper.styles.d.ts +4 -0
  1156. package/internal/ThemePlayground/AnotherInputsPlayground.d.ts +13 -13
  1157. package/internal/ThemePlayground/CheckboxPlayground.d.ts +1 -1
  1158. package/internal/ThemePlayground/ComponentsGroup.d.ts +10 -10
  1159. package/internal/ThemePlayground/CurrencyInputPlayground.d.ts +11 -11
  1160. package/internal/ThemePlayground/FxInputPlayground.d.ts +10 -10
  1161. package/internal/ThemePlayground/HintPlayground.d.ts +6 -6
  1162. package/internal/ThemePlayground/PagingPlayground.d.ts +10 -10
  1163. package/internal/ThemePlayground/Playground/Playground.js +11 -1
  1164. package/internal/ThemePlayground/Playground/Playground.js.map +1 -1
  1165. package/internal/ThemePlayground/Playground.d.ts +32 -31
  1166. package/internal/ThemePlayground/Playground.styles.d.ts +23 -23
  1167. package/internal/ThemePlayground/RadioPlayground.d.ts +1 -1
  1168. package/internal/ThemePlayground/SelectPlayground.d.ts +12 -12
  1169. package/internal/ThemePlayground/ShowcaseGroup.d.ts +5 -5
  1170. package/internal/ThemePlayground/SwitcherPlayground.d.ts +15 -15
  1171. package/internal/ThemePlayground/ThemeContextPlayground.d.ts +51 -51
  1172. package/internal/ThemePlayground/ThemeEditor.d.ts +39 -39
  1173. package/internal/ThemePlayground/TogglePlayground.d.ts +9 -9
  1174. package/internal/ThemePlayground/TokenInputPlayground.d.ts +7 -7
  1175. package/internal/ThemePlayground/VariableValue.d.ts +45 -45
  1176. package/internal/ThemePlayground/constants.d.ts +18 -18
  1177. package/internal/ThemePlayground/darkTheme/darkTheme.js +26 -1
  1178. package/internal/ThemePlayground/darkTheme/darkTheme.js.map +1 -1
  1179. package/internal/ThemePlayground/darkTheme.d.ts +270 -255
  1180. package/internal/ThemePlayground/helpers.d.ts +2 -2
  1181. package/internal/ThemeShowcase/ThemeShowcase/ThemeShowcase.js +35 -43
  1182. package/internal/ThemeShowcase/ThemeShowcase/ThemeShowcase.js.map +1 -1
  1183. package/internal/ThemeShowcase/ThemeShowcase.d.ts +22 -22
  1184. package/internal/ThemeShowcase/ThemeShowcase.styles.d.ts +24 -24
  1185. package/internal/ThemeShowcase/VariablesCollector.d.ts +22 -22
  1186. package/internal/ZIndex/ZIndex/ZIndex.js +20 -8
  1187. package/internal/ZIndex/ZIndex/ZIndex.js.map +1 -1
  1188. package/internal/ZIndex/ZIndex.d.ts +36 -34
  1189. package/internal/ZIndex/ZIndexStorage.d.ts +18 -18
  1190. package/internal/ZIndex/index.d.ts +1 -1
  1191. package/internal/icons/16px/icon.styles.d.ts +4 -4
  1192. package/internal/icons/16px/index/index.js +125 -51
  1193. package/internal/icons/16px/index/index.js.map +1 -1
  1194. package/internal/icons/16px/index.d.ts +25 -21
  1195. package/internal/icons/20px/Icon.d.ts +30 -30
  1196. package/internal/icons/20px/icon.styles.d.ts +4 -4
  1197. package/internal/icons/20px/index.d.ts +2 -2
  1198. package/internal/icons/20px/svg.d.ts +14 -14
  1199. package/internal/icons/CloudIcon.d.ts +1 -1
  1200. package/internal/icons/CrossIcon.d.ts +1 -1
  1201. package/internal/icons/SpinnerIcon/SpinnerIcon.js +5 -2
  1202. package/internal/icons/SpinnerIcon/SpinnerIcon.js.map +1 -1
  1203. package/internal/icons/SpinnerIcon.d.ts +26 -23
  1204. package/internal/icons/SpinnerIcon.styles.d.ts +4 -4
  1205. package/internal/themes/DefaultTheme/DefaultTheme.js +67 -0
  1206. package/internal/themes/DefaultTheme/DefaultTheme.js.map +1 -1
  1207. package/internal/themes/DefaultTheme.d.ts +789 -766
  1208. package/internal/themes/FlatTheme.d.ts +132 -132
  1209. package/internal/themes/Theme8px.d.ts +271 -271
  1210. package/lib/ConditionalHandler.d.ts +11 -11
  1211. package/lib/LayoutEvents.d.ts +4 -4
  1212. package/lib/ModalStack/ModalStack.js +9 -13
  1213. package/lib/ModalStack/ModalStack.js.map +1 -1
  1214. package/lib/ModalStack.d.ts +14 -14
  1215. package/lib/SSRSafe.d.ts +4 -4
  1216. package/lib/Supports.d.ts +1 -1
  1217. package/lib/Upgrades.d.ts +6 -6
  1218. package/lib/animation/index.d.ts +6 -6
  1219. package/lib/animation/presets.d.ts +18 -18
  1220. package/lib/animation/stepper.d.ts +1 -1
  1221. package/lib/callChildRef/callChildRef/callChildRef.js +14 -0
  1222. package/lib/callChildRef/callChildRef/callChildRef.js.map +1 -0
  1223. package/lib/callChildRef/callChildRef/package.json +6 -0
  1224. package/lib/callChildRef/callChildRef.d.ts +3 -0
  1225. package/lib/client.d.ts +16 -16
  1226. package/lib/createPropsGetter.d.ts +2 -2
  1227. package/lib/currentEnvironment.d.ts +3 -3
  1228. package/lib/date/InternalDate.d.ts +58 -58
  1229. package/lib/date/InternalDateCalculator.d.ts +6 -6
  1230. package/lib/date/InternalDateGetter.d.ts +15 -15
  1231. package/lib/date/InternalDateSetter.d.ts +6 -6
  1232. package/lib/date/InternalDateTransformer.d.ts +12 -12
  1233. package/lib/date/InternalDateValidator.d.ts +12 -12
  1234. package/lib/date/constants.d.ts +28 -28
  1235. package/lib/date/localeSets.d.ts +5 -5
  1236. package/lib/date/types.d.ts +90 -90
  1237. package/lib/dom/getScrollWidth.d.ts +1 -1
  1238. package/lib/dom/tabbableHelpers.d.ts +16 -16
  1239. package/lib/events/MouseDrag.d.ts +58 -58
  1240. package/lib/events/fixClickFocusIE.d.ts +1 -1
  1241. package/lib/events/fixFirefoxModifiedClickOnLabel.d.ts +2 -2
  1242. package/lib/events/keyListener.d.ts +7 -7
  1243. package/lib/events/keyboard/KeyboardEventCodes.d.ts +30 -30
  1244. package/lib/events/keyboard/KeyboardMapKeys.d.ts +6 -6
  1245. package/lib/events/keyboard/extractCode.d.ts +3 -3
  1246. package/lib/events/keyboard/identifiers.d.ts +48 -48
  1247. package/lib/events/stopPropagation.d.ts +1 -1
  1248. package/lib/events/tabListener.d.ts +1 -1
  1249. package/lib/extractKeyboardAction.d.ts +13 -13
  1250. package/lib/filterProps.d.ts +12 -12
  1251. package/lib/forwardRefAndName.d.ts +5 -5
  1252. package/lib/getDisplayName.d.ts +3 -3
  1253. package/lib/listenFocusOutside.d.ts +8 -8
  1254. package/lib/locale/LocaleContext.d.ts +7 -7
  1255. package/lib/locale/LocaleHelper.d.ts +9 -9
  1256. package/lib/locale/constants.d.ts +2 -2
  1257. package/lib/locale/decorators.d.ts +36 -36
  1258. package/lib/locale/index.d.ts +3 -3
  1259. package/lib/locale/types/types.js.map +1 -1
  1260. package/lib/locale/types.d.ts +21 -19
  1261. package/lib/locale/useLocaleForControl/package.json +6 -0
  1262. package/lib/locale/useLocaleForControl/useLocaleForControl.js +12 -0
  1263. package/lib/locale/useLocaleForControl/useLocaleForControl.js.map +1 -0
  1264. package/lib/locale/useLocaleForControl.d.ts +3 -0
  1265. package/lib/memo.d.ts +1 -1
  1266. package/lib/net/fetch.d.ts +13 -13
  1267. package/lib/polyfillPlaceholder.d.ts +1 -1
  1268. package/lib/reactGetTextContent.d.ts +2 -2
  1269. package/lib/rootNode/getRootNode/getRootNode.js +25 -0
  1270. package/lib/rootNode/getRootNode/getRootNode.js.map +1 -0
  1271. package/lib/rootNode/getRootNode/package.json +6 -0
  1272. package/lib/rootNode/getRootNode.d.ts +3 -0
  1273. package/lib/rootNode/index/index.js +2 -0
  1274. package/lib/rootNode/index/index.js.map +1 -0
  1275. package/lib/rootNode/index/package.json +6 -0
  1276. package/lib/rootNode/index.d.ts +2 -0
  1277. package/lib/rootNode/package.json +6 -0
  1278. package/lib/rootNode/rootNodeDecorator/package.json +6 -0
  1279. package/lib/rootNode/rootNodeDecorator/rootNodeDecorator.js +37 -0
  1280. package/lib/rootNode/rootNodeDecorator/rootNodeDecorator.js.map +1 -0
  1281. package/lib/rootNode/rootNodeDecorator.d.ts +33 -0
  1282. package/lib/stringUtils/package.json +6 -0
  1283. package/lib/stringUtils/stringUtils.js +12 -0
  1284. package/lib/stringUtils/stringUtils.js.map +1 -0
  1285. package/lib/stringUtils.d.ts +1 -0
  1286. package/lib/styles/ColorFactory.d.ts +11 -11
  1287. package/lib/styles/ColorFunctions.d.ts +11 -11
  1288. package/lib/styles/ColorHelpers.d.ts +20 -20
  1289. package/lib/styles/ColorKeywords.d.ts +150 -150
  1290. package/lib/styles/ColorObject.d.ts +52 -52
  1291. package/lib/styles/DimensionFunctions.d.ts +1 -1
  1292. package/lib/styles/HoldSelectionColor.d.ts +1 -1
  1293. package/lib/styles/Mixins.d.ts +2 -2
  1294. package/lib/taskWithDelayAndMinimalDuration.d.ts +21 -21
  1295. package/lib/theming/AnimationKeyframes/AnimationKeyframes.js +1 -1
  1296. package/lib/theming/AnimationKeyframes/AnimationKeyframes.js.map +1 -1
  1297. package/lib/theming/AnimationKeyframes.d.ts +9 -9
  1298. package/lib/theming/Emotion/Emotion.js +1 -0
  1299. package/lib/theming/Emotion/Emotion.js.map +1 -1
  1300. package/lib/theming/Emotion.d.ts +15 -15
  1301. package/lib/theming/Theme.d.ts +3 -3
  1302. package/lib/theming/ThemeContext.d.ts +2 -2
  1303. package/lib/theming/ThemeFactory.d.ts +8 -8
  1304. package/lib/theming/ThemeHelpers.d.ts +11 -11
  1305. package/lib/theming/themes/DefaultTheme.d.ts +1 -1
  1306. package/lib/theming/themes/DefaultThemeOld.d.ts +1 -1
  1307. package/lib/theming/themes/FlatTheme.d.ts +1 -1
  1308. package/lib/theming/themes/FlatThemeOld.d.ts +1 -1
  1309. package/lib/theming/useTheme/package.json +6 -0
  1310. package/lib/theming/useTheme/useTheme.js +5 -0
  1311. package/lib/theming/useTheme/useTheme.js.map +1 -0
  1312. package/lib/theming/useTheme.d.ts +1 -0
  1313. package/lib/uidUtils/package.json +6 -0
  1314. package/lib/uidUtils/uidUtils.js +4 -0
  1315. package/lib/uidUtils/uidUtils.js.map +1 -0
  1316. package/lib/uidUtils.d.ts +1 -0
  1317. package/lib/utils/utils.js +95 -1
  1318. package/lib/utils/utils.js.map +1 -1
  1319. package/lib/utils.d.ts +64 -28
  1320. package/lib/withClassWrapper.d.ts +71 -71
  1321. package/package.json +11 -5
  1322. package/typings/html-props.d.ts +123 -0
  1323. package/cjs/internal/PopupMenu/PopupMenuPositions.d.ts +0 -2
  1324. package/cjs/internal/PopupMenu/PopupMenuPositions.js +0 -15
  1325. package/cjs/internal/PopupMenu/PopupMenuPositions.js.map +0 -1
  1326. package/internal/PopupMenu/PopupMenuPositions/PopupMenuPositions.js +0 -1
  1327. package/internal/PopupMenu/PopupMenuPositions/PopupMenuPositions.js.map +0 -1
  1328. package/internal/PopupMenu/PopupMenuPositions/package.json +0 -6
  1329. package/internal/PopupMenu/PopupMenuPositions.d.ts +0 -2
@@ -1 +1 @@
1
- {"version":3,"sources":["Popup.tsx"],"names":["React","findDOMNode","PropTypes","Transition","raf","warning","LayoutEvents","ZIndex","RenderContainer","isFunction","isNonNullable","isIE11","isEdge","isSafari","ThemeContext","isHTMLElement","safePropTypesInstanceOf","isTestEnv","CommonWrapper","cx","PopupPin","PopupHelper","styles","POPUP_BORDER_DEFAULT_COLOR","TRANSITION_TIMEOUT","enter","exit","DUMMY_LOCATION","position","coordinates","top","left","PopupPositions","Popup","state","location","props","opened","theme","layoutEventsToken","locationUpdateId","lastPopupElement","anchorElement","anchorInstance","refAnchorElement","instance","element","extractElement","updateAnchorElement","handleMouseEnter","event","onMouseEnter","handleMouseLeave","onMouseLeave","handleClick","onClick","handleFocus","onFocus","handleBlur","onBlur","calculateWidth","width","includes","offsetWidth","parseFloat","resetLocation","cancelDelayedUpdateLocation","setState","refPopupElement","zIndex","handleLayoutEvent","updateLocation","popupElement","getLocation","locationEquals","componentDidMount","addListener","UNSAFE_componentWillReceiveProps","nextProps","delayUpdateLocation","componentDidUpdate","prevProps","prevState","hadNoLocation","hasLocation","wasClosed","onOpen","onClose","componentWillUnmount","removeEventListeners","remove","render","renderMain","useWrapper","child","isValidElement","undefined","renderContent","addEventListeners","addEventListener","removeEventListener","backgroundColor","disableAnimations","maxWidth","hasShadow","ignoreHover","children","renderChildren","getPositionObject","direction","rootStyle","shouldFallbackShadow","Boolean","popup","shadow","shadowFallback","popupIgnoreHover","transitionEnter","transitionEnterActive","transitionExit","content","contentInner","renderPin","positionName","isDefaultBorderColor","popupBorderColor","pinBorder","pinSize","borderColor","hasPin","parseInt","popupPinSize","getPinOffset","align","popupBackground","cancel","x","y","positions","tryPreserveFirstRenderedPosition","anchorRect","getElementAbsoluteRect","popupRect","getCoordinates","isFullyVisible","canBecomeVisible","canBecomeFullyVisible","getPinnedPopupOffset","test","anchorSize","height","Math","max","marginFromProps","margin","isNaN","popupMargin","popupOffset","getHorizontalPosition","getVerticalPosition","Error","pinOffset","popupPinOffset","popupPinOffsetY","popupPinOffsetX","Component","__KONTUR_REACT_UI__","propTypes","oneOfType","HTMLElement","node","isRequired","string","func","bool","number","array","defaultProps"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { findDOMNode } from 'react-dom';\nimport PropTypes from 'prop-types';\nimport { Transition } from 'react-transition-group';\nimport raf from 'raf';\nimport warning from 'warning';\n\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 } from '../../lib/utils';\nimport { isIE11, isEdge, isSafari } from '../../lib/client';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { isHTMLElement, safePropTypesInstanceOf } from '../../lib/SSRSafe';\nimport { isTestEnv } from '../../lib/currentEnvironment';\nimport { CommonProps, CommonWrapper } from '../CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\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\nconst DUMMY_LOCATION: PopupLocation = {\n position: 'top left',\n coordinates: {\n top: -9999,\n left: -9999,\n },\n};\n\nexport type PopupPosition =\n | 'top left'\n | 'top center'\n | 'top right'\n | 'right top'\n | 'right middle'\n | 'right bottom'\n | 'bottom left'\n | 'bottom center'\n | 'bottom right'\n | 'left top'\n | 'left middle'\n | 'left bottom';\n\nexport const PopupPositions: PopupPosition[] = [\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];\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: PopupPosition[];\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}\n\ninterface PopupLocation {\n coordinates: {\n left: number;\n top: number;\n };\n position: PopupPosition;\n}\n\nexport interface PopupState {\n location: Nullable<PopupLocation>;\n}\n\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 = {\n popupOffset: 0,\n hasPin: false,\n hasShadow: false,\n disableAnimations: isTestEnv,\n useWrapper: false,\n ignoreHover: false,\n width: 'auto',\n };\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<HTMLElement>;\n private anchorElement: Nullable<HTMLElement> = null;\n private anchorInstance: Nullable<React.ReactInstance>;\n\n public componentDidMount() {\n this.updateLocation();\n this.layoutEventsToken = LayoutEvents.addListener(this.handleLayoutEvent);\n }\n\n public UNSAFE_componentWillReceiveProps(nextProps: Readonly<PopupProps>) {\n /**\n * Delaying updateLocation to ensure it happens after props update\n */\n if (nextProps.opened) {\n if (!this.state.location) {\n this.setState({ location: DUMMY_LOCATION });\n }\n this.delayUpdateLocation();\n } else if (this.state.location) {\n this.setState({ location: DUMMY_LOCATION });\n }\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 (hadNoLocation && hasLocation && this.props.onOpen) {\n this.props.onOpen();\n }\n if (wasClosed && !hasLocation && this.props.onClose) {\n this.props.onClose();\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 renderMain() {\n const { location } = this.state;\n const { anchorElement, useWrapper } = this.props;\n\n let child: Nullable<React.ReactNode> = null;\n if (isHTMLElement(anchorElement)) {\n this.updateAnchorElement(anchorElement);\n } else if (React.isValidElement(anchorElement)) {\n child = useWrapper ? <span>{anchorElement}</span> : anchorElement;\n } else {\n child = <span>{anchorElement}</span>;\n }\n\n return (\n <RenderContainer anchor={child} ref={child ? this.refAnchorElement : undefined}>\n {location && this.renderContent(location)}\n </RenderContainer>\n );\n }\n\n private refAnchorElement = (instance: React.ReactInstance | null) => {\n this.anchorInstance = instance;\n const element = this.extractElement(instance);\n this.updateAnchorElement(element);\n this.anchorElement = element;\n };\n\n private extractElement(instance: React.ReactInstance | null) {\n if (!instance) {\n return null;\n }\n const element = findDOMNode(instance);\n return isHTMLElement(element) ? element : null;\n }\n\n private updateAnchorElement(element: HTMLElement | null) {\n const anchorElement = this.anchorElement;\n\n if (element !== anchorElement) {\n this.removeEventListeners(anchorElement);\n this.anchorElement = element;\n this.addEventListeners(element);\n }\n }\n\n private addEventListeners(element: Nullable<HTMLElement>) {\n if (element && isHTMLElement(element)) {\n element.addEventListener('mouseenter', this.handleMouseEnter);\n element.addEventListener('mouseleave', this.handleMouseLeave);\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<HTMLElement>) {\n if (element && isHTMLElement(element)) {\n element.removeEventListener('mouseenter', this.handleMouseEnter);\n element.removeEventListener('mouseleave', this.handleMouseLeave);\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 return this.anchorElement ? (this.anchorElement.offsetWidth * parseFloat(width)) / 100 : 0;\n }\n return width;\n };\n\n private renderContent(location: PopupLocation) {\n const { backgroundColor, disableAnimations, maxWidth, hasShadow, ignoreHover, opened, width } = this.props;\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 >\n {(state: string) => (\n <CommonWrapper {...this.props}>\n <ZIndex\n ref={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 <div className={styles.content(this.theme)} data-tid={'PopupContent'}>\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 {this.renderPin(location.position)}\n </ZIndex>\n </CommonWrapper>\n )}\n </Transition>\n );\n }\n\n private resetLocation = () => {\n this.cancelDelayedUpdateLocation();\n 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 = (zIndex: ZIndex | null) => {\n if (zIndex) {\n this.lastPopupElement = zIndex && (findDOMNode(zIndex) as HTMLElement);\n }\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, hasShadow, backgroundColor, borderColor } = this.props;\n const position = PopupHelper.getPositionObject(positionName);\n\n return (\n this.props.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 if (this.anchorInstance) {\n this.updateAnchorElement(this.extractElement(this.anchorInstance));\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 (!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 (x == null || y == null) {\n return false;\n }\n\n return (\n x.coordinates.left === y.coordinates.left && x.coordinates.top === y.coordinates.top && x.position === y.position\n );\n }\n\n private getLocation(popupElement: HTMLElement, location?: Nullable<PopupLocation>) {\n const { positions, tryPreserveFirstRenderedPosition } = this.props;\n const anchorElement = this.anchorElement;\n\n warning(\n anchorElement && isHTMLElement(anchorElement),\n 'Anchor element is not defined or not instance of HTMLElement',\n );\n\n if (!(anchorElement && isHTMLElement(anchorElement))) {\n return location;\n }\n\n const anchorRect = PopupHelper.getElementAbsoluteRect(anchorElement);\n const popupRect = PopupHelper.getElementAbsoluteRect(popupElement);\n\n let position: PopupPosition;\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.props.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.props.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":["React","PropTypes","Transition","raf","warning","LayoutEvents","ZIndex","RenderContainer","isFunction","isNonNullable","isRefableElement","isIE11","isEdge","isSafari","ThemeContext","isHTMLElement","safePropTypesInstanceOf","isTestEnv","CommonWrapper","cx","getRootNode","rootNode","callChildRef","PopupPin","PopupHelper","styles","POPUP_BORDER_DEFAULT_COLOR","TRANSITION_TIMEOUT","enter","exit","PopupPositions","DefaultPosition","DUMMY_LOCATION","position","coordinates","top","left","Popup","state","location","props","opened","theme","layoutEventsToken","locationUpdateId","lastPopupElement","anchorElement","setRootNode","refForTransition","createRef","renderContainerRef","childInstance","updateAnchorElement","handleMouseEnter","event","onMouseEnter","handleMouseLeave","onMouseLeave","handleClick","onClick","handleFocus","onFocus","handleBlur","onBlur","calculateWidth","width","includes","offsetWidth","parseFloat","resetLocation","cancelDelayedUpdateLocation","setState","refPopupElement","element","handleLayoutEvent","updateLocation","popupElement","getLocation","locationEquals","componentDidMount","addListener","getDerivedStateFromProps","componentDidUpdate","prevProps","prevState","hadNoLocation","hasLocation","wasClosed","onOpen","onClose","delayUpdateLocation","componentWillUnmount","removeEventListeners","remove","render","renderMain","useWrapper","anchor","isValidElement","anchorWithRef","cloneElement","ref","instance","originalRef","renderContent","childDomNode","addEventListeners","addEventListener","removeEventListener","backgroundColor","disableAnimations","maxWidth","hasShadow","ignoreHover","children","renderChildren","getPositionObject","direction","rootStyle","shouldFallbackShadow","Boolean","popup","shadow","shadowFallback","popupIgnoreHover","transitionEnter","transitionEnterActive","transitionExit","content","contentInner","renderPin","positionName","isDefaultBorderColor","popupBorderColor","pinBorder","pinSize","borderColor","hasPin","parseInt","popupPinSize","getPinOffset","align","popupBackground","cancel","x","y","Math","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","oneOfType","HTMLElement","node","isRequired","string","func","bool","number","array","defaultProps"],"mappings":"kzCAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,SAASC,UAAT,QAA2B,wBAA3B;AACA,OAAOC,GAAP,MAAgB,KAAhB;AACA,OAAOC,OAAP,MAAoB,SAApB;;;AAGA,OAAO,KAAKC,YAAZ,MAA8B,wBAA9B;AACA,SAASC,MAAT,QAAuB,WAAvB;AACA,SAASC,eAAT,QAAgC,oBAAhC;;AAEA,SAASC,UAAT,EAAqBC,aAArB,EAAoCC,gBAApC,QAA4D,iBAA5D;AACA,SAASC,MAAT,EAAiBC,MAAjB,EAAyBC,QAAzB,QAAyC,kBAAzC;AACA,SAASC,YAAT,QAA6B,gCAA7B;;AAEA,SAASC,aAAT,EAAwBC,uBAAxB,QAAuD,mBAAvD;AACA,SAASC,SAAT,QAA0B,8BAA1B;AACA,SAAsBC,aAAtB,QAA2C,kBAA3C;AACA,SAASC,EAAT,QAAmB,2BAAnB;AACA,SAASC,WAAT,EAAsBC,QAAtB,QAAoD,oBAApD;AACA,SAASC,YAAT,QAA6B,qCAA7B;;AAEA,SAASC,QAAT,QAAyB,YAAzB;AACA,SAAiBC,WAAjB,QAA0D,eAA1D;AACA,SAASC,MAAT,QAAuB,gBAAvB;;AAEA,IAAMC,0BAA0B,GAAG,aAAnC;AACA,IAAMC,kBAAkB,GAAG,EAAEC,KAAK,EAAE,CAAT,EAAYC,IAAI,EAAE,GAAlB,EAA3B;;AAEA,OAAO,IAAMC,cAAc,GAAG;AAC5B,UAD4B;AAE5B,YAF4B;AAG5B,WAH4B;AAI5B,WAJ4B;AAK5B,cAL4B;AAM5B,cAN4B;AAO5B,cAP4B;AAQ5B,eAR4B;AAS5B,aAT4B;AAU5B,aAV4B;AAW5B,aAX4B;AAY5B,UAZ4B,CAAvB;;AAcP,OAAO,IAAMC,eAAe,GAAGD,cAAc,CAAC,CAAD,CAAtC;;;;AAIP,IAAME,cAA6B,GAAG;AACpCC,EAAAA,QAAQ,EAAEF,eAD0B;AAEpCG,EAAAA,WAAW,EAAE;AACXC,IAAAA,GAAG,EAAE,CAAC,IADK;AAEXC,IAAAA,IAAI,EAAE,CAAC,IAFI,EAFuB,EAAtC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgEA,WAAaC,KAAb,GADChB,QACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2ESiB,IAAAA,KA3ET,GA2E6B,EAAEC,QAAQ,EAAE,MAAKC,KAAL,CAAWC,MAAX,GAAoBT,cAApB,GAAqC,IAAjD,EA3E7B;AA4EUU,IAAAA,KA5EV;AA6EUC,IAAAA,iBA7EV;AA8EUC,IAAAA,gBA9EV,GA8E+C,IA9E/C;AA+EUC,IAAAA,gBA/EV;AAgFUC,IAAAA,aAhFV,GAgFiD,IAhFjD;AAiFUC,IAAAA,WAjFV;AAkFUC,IAAAA,gBAlFV,gBAkF6BhD,KAAK,CAACiD,SAAN,EAlF7B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmLUC,IAAAA,kBAnLV,GAmL+B,UAACC,aAAD,EAAkD;AAC7E,YAAKC,mBAAL,CAAyBD,aAAzB;AACD,KArLH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuNUE,IAAAA,gBAvNV,GAuN6B,UAACC,KAAD,EAA2B;AACpD,UAAI,MAAKd,KAAL,CAAWe,YAAf,EAA6B;AAC3B,cAAKf,KAAL,CAAWe,YAAX,CAAwBD,KAAxB;AACD;AACF,KA3NH;;AA6NUE,IAAAA,gBA7NV,GA6N6B,UAACF,KAAD,EAA2B;AACpD,UAAI,MAAKd,KAAL,CAAWiB,YAAf,EAA6B;AAC3B,cAAKjB,KAAL,CAAWiB,YAAX,CAAwBH,KAAxB;AACD;AACF,KAjOH;;AAmOUI,IAAAA,WAnOV,GAmOwB,UAACJ,KAAD,EAA2B;AAC/C,UAAI,MAAKd,KAAL,CAAWmB,OAAf,EAAwB;AACtB,cAAKnB,KAAL,CAAWmB,OAAX,CAAmBL,KAAnB;AACD;AACF,KAvOH;;AAyOUM,IAAAA,WAzOV,GAyOwB,UAACN,KAAD,EAA2B;AAC/C,UAAI,MAAKd,KAAL,CAAWqB,OAAf,EAAwB;AACtB,cAAKrB,KAAL,CAAWqB,OAAX,CAAmBP,KAAnB;AACD;AACF,KA7OH;;AA+OUQ,IAAAA,UA/OV,GA+OuB,UAACR,KAAD,EAA2B;AAC9C,UAAI,MAAKd,KAAL,CAAWuB,MAAf,EAAuB;AACrB,cAAKvB,KAAL,CAAWuB,MAAX,CAAkBT,KAAlB;AACD;AACF,KAnPH;;AAqPUU,IAAAA,cArPV,GAqP2B,UAACC,KAAD,EAAgC;AACvD,UAAI,OAAOA,KAAP,KAAiB,QAAjB,IAA6BA,KAAK,CAACC,QAAN,CAAe,GAAf,CAAjC,EAAsD;AACpD,eAAO,MAAKpB,aAAL,GAAsB,MAAKA,aAAL,CAAmBqB,WAAnB,GAAiCC,UAAU,CAACH,KAAD,CAA5C,GAAuD,GAA5E,GAAkF,CAAzF;AACD;AACD,aAAOA,KAAP;AACD,KA1PH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyTUI,IAAAA,aAzTV,GAyT0B,YAAM;AAC5B,YAAKC,2BAAL;AACA,YAAKhC,KAAL,CAAWC,QAAX,KAAwB,IAAxB,IAAgC,MAAKgC,QAAL,CAAc,EAAEhC,QAAQ,EAAE,IAAZ,EAAd,CAAhC;AACD,KA5TH;;;;;;AAkUUiC,IAAAA,eAlUV,GAkU4B,UAACC,OAAD,EAAoC;AAC5D,YAAK5B,gBAAL,GAAwB4B,OAAxB;AACD,KApUH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiWUC,IAAAA,iBAjWV,GAiW8B,YAAM;AAChC,UAAI,CAAC,MAAKpC,KAAL,CAAWC,QAAhB,EAA0B;AACxB;AACD;AACD,YAAKoC,cAAL;AACD,KAtWH;;;;;;;;;;;;;;AAoXUA,IAAAA,cApXV,GAoX2B,YAAM;AAC7B,UAAMC,YAAY,GAAG,MAAK/B,gBAA1B;;AAEA,UAAI,CAAC+B,YAAL,EAAmB;AACjB;AACD;;AAED,UAAMrC,QAAQ,GAAG,MAAKsC,WAAL,CAAiBD,YAAjB,EAA+B,MAAKtC,KAAL,CAAWC,QAA1C,CAAjB;AACA,UAAI,CAAC,MAAKuC,cAAL,CAAoB,MAAKxC,KAAL,CAAWC,QAA/B,EAAyCA,QAAzC,CAAL,EAAyD;AACvD,cAAKgC,QAAL,CAAc,EAAEhC,QAAQ,EAARA,QAAF,EAAd;AACD;AACF,KA/XH,mDAoFSwC,iBApFT,GAoFE,6BAA2B,CACzB,KAAKJ,cAAL,GACA,KAAKhC,iBAAL,GAAyBtC,YAAY,CAAC2E,WAAb,CAAyB,KAAKN,iBAA9B,CAAzB,CACD,CAvFH,OAyFgBO,wBAzFhB,GAyFE,kCAAuCzC,KAAvC,EAAoEF,KAApE,EAAuF,CACrF;AACJ;AACA,OACI,IAAIE,KAAK,CAACC,MAAV,EAAkB,CAChB,IAAI,CAACH,KAAK,CAACC,QAAX,EAAqB,CACnB,OAAO,EAAEA,QAAQ,EAAEP,cAAZ,EAAP,CACD,CACF,CAJD,MAIO,IAAIM,KAAK,CAACC,QAAV,EAAoB,CACzB,OAAO,EAAEA,QAAQ,EAAEP,cAAZ,EAAP,CACD,CACD,OAAOM,KAAP,CACD,CArGH,QAuGS4C,kBAvGT,GAuGE,4BAA0BC,SAA1B,EAAiDC,SAAjD,EAAwE,CACtE,IAAMC,aAAa,GAAGD,SAAS,CAAC7C,QAAV,KAAuBP,cAA7C,CACA,IAAMsD,WAAW,GAAG,KAAKhD,KAAL,CAAWC,QAAX,KAAwBP,cAA5C,CACA,IAAMuD,SAAS,GAAGJ,SAAS,CAAC1C,MAAV,IAAoB,CAAC,KAAKD,KAAL,CAAWC,MAAlD,CAEA,IAAI4C,aAAa,IAAIC,WAAjB,IAAgC,KAAK9C,KAAL,CAAWgD,MAA/C,EAAuD,CACrD,KAAKhD,KAAL,CAAWgD,MAAX,GACD,CACD,IAAID,SAAS,IAAI,CAACD,WAAd,IAA6B,KAAK9C,KAAL,CAAWiD,OAA5C,EAAqD,CACnD,KAAKjD,KAAL,CAAWiD,OAAX,GACD,CACD,IAAI,KAAKjD,KAAL,CAAWC,MAAf,EAAuB,CACrB,KAAKiD,mBAAL,GACD,CACF,CArHH,QAuHSC,oBAvHT,GAuHE,gCAA8B,CAC5B,KAAKrB,2BAAL,GACA,KAAKsB,oBAAL,CAA0B,KAAK9C,aAA/B,EACA,IAAI,KAAKH,iBAAT,EAA4B,CAC1B,KAAKA,iBAAL,CAAuBkD,MAAvB,GACA,KAAKlD,iBAAL,GAAyB,IAAzB,CACD,CACD,IAAI,KAAKL,KAAL,CAAWC,QAAX,IAAuB,KAAKC,KAAL,CAAWiD,OAAtC,EAA+C,CAC7C,KAAKjD,KAAL,CAAWiD,OAAX,GACD,CACF,CAjIH,QAmISK,MAnIT,GAmIE,kBAAgB,mBACd,oBACE,oBAAC,YAAD,CAAc,QAAd,QACG,UAACpD,KAAD,EAAW,CACV,MAAI,CAACA,KAAL,GAAaA,KAAb,CACA,OAAO,MAAI,CAACqD,UAAL,EAAP,CACD,CAJH,CADF,CAQD,CA5IH,QA8IUA,UA9IV,GA8IE,sBAAqB,uBACXxD,QADW,GACE,KAAKD,KADP,CACXC,QADW,mBAEmB,KAAKC,KAFxB,CAEXM,aAFW,eAEXA,aAFW,CAEIkD,UAFJ,eAEIA,UAFJ,CAInB,IAAIC,MAAiC,GAAG,IAAxC,CACA,IAAIlF,aAAa,CAAC+B,aAAD,CAAjB,EAAkC,CAChC,KAAKM,mBAAL,CAAyBN,aAAzB,EACD,CAFD,MAEO,kBAAI9C,KAAK,CAACkG,cAAN,CAAqBpD,aAArB,CAAJ,EAAyC,CAC9CmD,MAAM,GAAGD,UAAU,gBAAG,kCAAOlD,aAAP,CAAH,GAAkCA,aAArD,CACD,CAFM,MAEA,CACLmD,MAAM,gBAAG,kCAAOnD,aAAP,CAAT,CACD,CAED,IAAMqD,aAAa,GACjBF,MAAM,iBAAIjG,KAAK,CAACkG,cAAN,CAAqBD,MAArB,CAAV,IAA0CvF,gBAAgB,CAACuF,MAAD,CAA1D,gBACIjG,KAAK,CAACoG,YAAN,CAAmBH,MAAnB,EAA2B,EACzBI,GAAG,EAAE,aAACC,QAAD,EAA6C,aAChD,MAAI,CAAClD,mBAAL,CAAyBkD,QAAzB,EACA,IAAMC,WAAW,cAAIN,MAAJ,qBAAG,QAAsCI,GAA1D,CACAE,WAAW,IAAIjF,YAAY,CAACiF,WAAD,EAAcD,QAAd,CAA3B,CACD,CALwB,EAA3B,CADJ,GAQI,IATN,CAbmB,CAwBnB;AACA;AACA;AACA;AACA;AAEA,wBACE,oBAAC,eAAD,IAAiB,MAAM,EAAEH,aAAa,IAAIF,MAA1C,EAAkD,GAAG,EAAEE,aAAa,GAAG,IAAH,GAAU,KAAKjD,kBAAnF,IACGX,QAAQ,IAAI,KAAKiE,aAAL,CAAmBjE,QAAnB,CADf,CADF,CAKD,CAjLH,QAuLUa,mBAvLV,GAuLE,6BAA4BD,aAA5B,EAA0E,CACxE,IAAMsD,YAAY,GAAGrF,WAAW,CAAC+B,aAAD,CAAhC,CACA,IAAML,aAAa,GAAG,KAAKA,aAA3B,CAEA,IAAI2D,YAAY,KAAK3D,aAArB,EAAoC,CAClC,KAAK8C,oBAAL,CAA0B9C,aAA1B,EACA,KAAKA,aAAL,GAAqB2D,YAArB,CACA,KAAKC,iBAAL,CAAuBD,YAAvB,EACA,KAAK1D,WAAL,CAAiB0D,YAAjB,EACD,CACF,CAjMH,QAmMUC,iBAnMV,GAmME,2BAA0BjC,OAA1B,EAA0D,CACxD,IAAIA,OAAO,IAAI1D,aAAa,CAAC0D,OAAD,CAA5B,EAAuC,CACrCA,OAAO,CAACkC,gBAAR,CAAyB,YAAzB,EAAuC,KAAKtD,gBAA5C,EACAoB,OAAO,CAACkC,gBAAR,CAAyB,YAAzB,EAAuC,KAAKnD,gBAA5C,EACAiB,OAAO,CAACkC,gBAAR,CAAyB,OAAzB,EAAkC,KAAKjD,WAAvC,EACAe,OAAO,CAACkC,gBAAR,CAAyB,SAAzB,EAAoC,KAAK/C,WAAzC,EACAa,OAAO,CAACkC,gBAAR,CAAyB,UAAzB,EAAqC,KAAK7C,UAA1C,EACD,CACF,CA3MH,QA6MU8B,oBA7MV,GA6ME,8BAA6BnB,OAA7B,EAA6D,CAC3D,IAAIA,OAAO,IAAI1D,aAAa,CAAC0D,OAAD,CAA5B,EAAuC,CACrCA,OAAO,CAACmC,mBAAR,CAA4B,YAA5B,EAA0C,KAAKvD,gBAA/C,EACAoB,OAAO,CAACmC,mBAAR,CAA4B,YAA5B,EAA0C,KAAKpD,gBAA/C,EACAiB,OAAO,CAACmC,mBAAR,CAA4B,OAA5B,EAAqC,KAAKlD,WAA1C,EACAe,OAAO,CAACmC,mBAAR,CAA4B,SAA5B,EAAuC,KAAKhD,WAA5C,EACAa,OAAO,CAACmC,mBAAR,CAA4B,UAA5B,EAAwC,KAAK9C,UAA7C,EACD,CACF,CArNH,QA4PU0C,aA5PV,GA4PE,uBAAsBjE,QAAtB,EAA+C,sCACmD,KAAKC,KADxD,CACrCqE,eADqC,gBACrCA,eADqC,CACpBC,iBADoB,gBACpBA,iBADoB,CACDC,QADC,gBACDA,QADC,CACSC,SADT,gBACSA,SADT,CACoBC,WADpB,gBACoBA,WADpB,CACiCxE,MADjC,gBACiCA,MADjC,CACyCwB,KADzC,gBACyCA,KADzC,CAE7C,IAAMiD,QAAQ,GAAG,KAAKC,cAAL,EAAjB,CAF6C,4BAIvB3F,WAAW,CAAC4F,iBAAZ,CAA8B7E,QAAQ,CAACN,QAAvC,CAJuB,CAIrCoF,SAJqC,yBAIrCA,SAJqC,CAK7C,IAAMC,SAA8B,gBAAQ/E,QAAQ,CAACL,WAAjB,IAA8B6E,QAAQ,EAARA,QAA9B,GAApC,CAEA,IAAMQ,oBAAoB,GAAG5G,MAAM,IAAIC,MAAV,IAAoBC,QAAjD,CAEA,oBACE,oBAAC,UAAD,IACE,OAAO,EAAEc,kBADX,EAEE,MAAM,EAAE,CAACmF,iBAFX,EAGE,MAAIU,OAAO,CAAC/E,MAAM,IAAIyE,QAAX,CAHb,EAIE,YAAY,MAJd,EAKE,aAAa,MALf,EAME,KAAK,EAAE,CAACJ,iBANV,EAOE,IAAI,EAAE,CAACA,iBAPT,EAQE,QAAQ,EAAE,KAAKzC,aARjB,EASE,OAAO,EAAE,KAAKrB,gBAThB,IAWG,UAACV,KAAD,2CACC,oBAAC,aAAD,EAAmB,MAAI,CAACE,KAAxB,eACE,oBAAC,MAAD,IACE,UAAU,EAAE,MAAI,CAACgC,eADnB,EAEE,QAAQ,EAAE,OAFZ,EAGE,SAAS,EAAErD,EAAE,qCACVM,MAAM,CAACgG,KAAP,CAAa,MAAI,CAAC/E,KAAlB,CADU,IACiB,IADjB,YAEVjB,MAAM,CAACiG,MAAP,CAAc,MAAI,CAAChF,KAAnB,CAFU,IAEkBsE,SAAS,IAAI,CAACO,oBAFhC,YAGV9F,MAAM,CAACkG,cAAP,CAAsB,MAAI,CAACjF,KAA3B,CAHU,IAG0BsE,SAAS,IAAIO,oBAHvC,YAIV9F,MAAM,CAACmG,gBAAP,EAJU,IAIkBX,WAJlB,cAKPH,iBAAiB,GACjB,EADiB,oBAGdrF,MAAM,uBAAqB4F,SAArB,CAAN,CAA+D,MAAI,CAAC3E,KAApE,CAHc,IAG+D,IAH/D,OAIdjB,MAAM,CAACoG,eAAP,EAJc,IAIavF,KAAK,KAAK,UAJvB,OAKdb,MAAM,CAACqG,qBAAP,EALc,IAKmBxF,KAAK,KAAK,SAL7B,OAMdb,MAAM,CAACsG,cAAP,EANc,IAMYzF,KAAK,KAAK,SANtB,OALV,EAHf,EAiBE,KAAK,EAAEgF,SAjBT,EAkBE,YAAY,EAAE,MAAI,CAACjE,gBAlBrB,EAmBE,YAAY,EAAE,MAAI,CAACG,gBAnBrB,iBAqBE,6BAAK,SAAS,EAAE/B,MAAM,CAACuG,OAAP,CAAe,MAAI,CAACtF,KAApB,CAAhB,EAA4C,YAAU,cAAtD,EAAsE,GAAG,EAAE,MAAI,CAACM,gBAAhF,iBACE,6BACE,SAAS,EAAEvB,MAAM,CAACwG,YAAP,CAAoB,MAAI,CAACvF,KAAzB,CADb,EAEE,KAAK,EAAE,EAAEmE,eAAe,EAAfA,eAAF,EAAmB5C,KAAK,EAAE,MAAI,CAACD,cAAL,CAAoBC,KAApB,CAA1B,EAFT,EAGE,YAAU,mBAHZ,IAKGiD,QALH,CADF,CArBF,EA8BG,MAAI,CAACgB,SAAL,CAAe3F,QAAQ,CAACN,QAAxB,CA9BH,CADF,CADD,EAXH,CADF,CAkDD,CAvTH,QA8TUkF,cA9TV,GA8TE,0BAAyB,CACvB,OAAO3G,UAAU,CAAC,KAAKgC,KAAL,CAAW0E,QAAZ,CAAV,GAAkC,KAAK1E,KAAL,CAAW0E,QAAX,EAAlC,GAA0D,KAAK1E,KAAL,CAAW0E,QAA5E,CACD,CAhUH,QAsUUgB,SAtUV,GAsUE,mBAAkBC,YAAlB,EAAyD,CACvD;AACJ;AACA;AACA;AACA,OACI,IAAMC,oBAAoB,GAAG,KAAK1F,KAAL,CAAW2F,gBAAX,KAAgC3G,0BAA7D,CACA,IAAM4G,SAAS,GAAG3H,MAAM,IAAIyH,oBAAV,GAAiC,qBAAjC,GAAyD,KAAK1F,KAAL,CAAW2F,gBAAtF,CAPuD,mBASM,KAAK7F,KATX,CAS/C+F,OAT+C,gBAS/CA,OAT+C,CAStCvB,SATsC,gBAStCA,SATsC,CAS3BH,eAT2B,gBAS3BA,eAT2B,CASV2B,WATU,gBASVA,WATU,CAUvD,IAAMvG,QAAQ,GAAGT,WAAW,CAAC4F,iBAAZ,CAA8Be,YAA9B,CAAjB,CAEA,OACE,KAAK3F,KAAL,CAAWiG,MAAX,iBACE,oBAAC,QAAD,IACE,YAAY,EAAE,KAAK5F,gBADrB,EAEE,aAAa,EAAEsF,YAFjB,EAGE,IAAI,EAAEI,OAAO,IAAIG,QAAQ,CAAC,KAAKhG,KAAL,CAAWiG,YAAZ,CAH3B,EAIE,MAAM,EAAE,KAAKC,YAAL,CAAkB3G,QAAQ,CAAC4G,KAA3B,CAJV,EAKE,WAAW,EAAE7B,SAAS,GAAG,CAAH,GAAO,CAL/B,EAME,eAAe,EAAEH,eAAe,IAAI,KAAKnE,KAAL,CAAWoG,eANjD,EAOE,WAAW,EAAEN,WAAW,IAAIF,SAP9B,GAFJ,CAaD,CA/VH,QAwWU5C,mBAxWV,GAwWE,+BAA8B,CAC5B,KAAKpB,2BAAL,GACA,KAAK1B,gBAAL,GAAwBzC,GAAG,CAAC,KAAKwE,cAAN,CAA3B,CACD,CA3WH,QA6WUL,2BA7WV,GA6WE,uCAAsC,CACpC,IAAI,KAAK1B,gBAAT,EAA2B,CACzBzC,GAAG,CAAC4I,MAAJ,CAAW,KAAKnG,gBAAhB,EACA,KAAKA,gBAAL,GAAwB,IAAxB,CACD,CACF,CAlXH,QAiYUkC,cAjYV,GAiYE,wBAAuBkE,CAAvB,EAAmDC,CAAnD,EAA+E,CAC7E,IAAID,CAAC,KAAKC,CAAV,EAAa,CACX,OAAO,IAAP,CACD,CAED,IAAID,CAAC,IAAI,IAAL,IAAaC,CAAC,IAAI,IAAtB,EAA4B,CAC1B,OAAO,KAAP,CACD,CAED,IAAI,CAACtI,MAAD,IAAW,CAACC,MAAhB,EAAwB;AACtB;AACEoI,QAAAA,CAAC,CAAC9G,WAAF,CAAcE,IAAd,KAAuB6G,CAAC,CAAC/G,WAAF,CAAcE,IAArC;AACA4G,QAAAA,CAAC,CAAC9G,WAAF,CAAcC,GAAd,KAAsB8G,CAAC,CAAC/G,WAAF,CAAcC,GADpC;AAEA6G,QAAAA,CAAC,CAAC/G,QAAF,KAAegH,CAAC,CAAChH,QAHnB;;AAKD;;AAED;AACA;;AAEA;AACE+G,MAAAA,CAAC,CAAC/G,QAAF,KAAegH,CAAC,CAAChH,QAAjB;AACAiH,MAAAA,IAAI,CAACC,GAAL,CAASH,CAAC,CAAC9G,WAAF,CAAcC,GAAd,GAAoB8G,CAAC,CAAC/G,WAAF,CAAcC,GAA3C,KAAmD,CADnD;AAEA+G,MAAAA,IAAI,CAACC,GAAL,CAASH,CAAC,CAAC9G,WAAF,CAAcE,IAAd,GAAqB6G,CAAC,CAAC/G,WAAF,CAAcE,IAA5C,KAAqD,CAHvD;;AAKD,GA1ZH;;AA4ZUyC,EAAAA,WA5ZV,GA4ZE,qBAAoBD,YAApB,EAA+CrC,QAA/C,EAAmF;AACzB,SAAKC,KADoB,CACzE4G,SADyE,gBACzEA,SADyE,CAC9DC,gCAD8D,gBAC9DA,gCAD8D;AAEjF,QAAMvG,aAAa,GAAG,KAAKA,aAA3B;;AAEA1C,IAAAA,OAAO;AACL0C,IAAAA,aAAa,IAAI/B,aAAa,CAAC+B,aAAD,CADzB;AAEL,kEAFK,CAAP;;;AAKA,QAAI,EAAEA,aAAa,IAAI/B,aAAa,CAAC+B,aAAD,CAAhC,CAAJ,EAAsD;AACpD,aAAOP,QAAP;AACD;;AAED,QAAM+G,UAAU,GAAG9H,WAAW,CAAC+H,sBAAZ,CAAmCzG,aAAnC,CAAnB;AACA,QAAM0G,SAAS,GAAGhI,WAAW,CAAC+H,sBAAZ,CAAmC3E,YAAnC,CAAlB;;AAEA,QAAI3C,QAAJ;AACA,QAAIC,WAAJ;;AAEA,QAAIK,QAAQ,IAAIA,QAAQ,KAAKP,cAAzB,IAA2CO,QAAQ,CAACN,QAAxD,EAAkE;AAChEA,MAAAA,QAAQ,GAAGM,QAAQ,CAACN,QAApB;AACAC,MAAAA,WAAW,GAAG,KAAKuH,cAAL,CAAoBH,UAApB,EAAgCE,SAAhC,EAA2CvH,QAA3C,CAAd;;AAEA,UAAMyH,cAAc,GAAGlI,WAAW,CAACkI,cAAZ,CAA2BxH,WAA3B,EAAwCsH,SAAxC,CAAvB;AACA,UAAMG,gBAAgB,GAAG,CAACD,cAAD,IAAmBlI,WAAW,CAACoI,qBAAZ,CAAkC3H,QAAlC,EAA4CC,WAA5C,CAA5C;;AAEA;AACE;AACA;AACCmH,MAAAA,gCAAgC,KAAKK,cAAc,IAAIC,gBAAvB,CAAjC;AACA;AACA;AACCD,MAAAA,cAAc,IAAIzH,QAAQ,KAAKmH,SAAS,CAAC,CAAD,CAN3C;AAOE;AACA;AACA,eAAO,EAAElH,WAAW,EAAXA,WAAF,EAAeD,QAAQ,EAARA,QAAf,EAAP;AACD;AACF;;AAED,yDAAiBmH,SAAjB,wCAA4B,CAAvBnH,QAAuB;AAC1BC,MAAAA,WAAW,GAAG,KAAKuH,cAAL,CAAoBH,UAApB,EAAgCE,SAAhC,EAA2CvH,QAA3C,CAAd;AACA,UAAIT,WAAW,CAACkI,cAAZ,CAA2BxH,WAA3B,EAAwCsH,SAAxC,CAAJ,EAAwD;AACtD,eAAO,EAAEtH,WAAW,EAAXA,WAAF,EAAeD,QAAQ,EAARA,QAAf,EAAP;AACD;AACF;;AAEDA,IAAAA,QAAQ,GAAGmH,SAAS,CAAC,CAAD,CAApB;AACAlH,IAAAA,WAAW,GAAG,KAAKuH,cAAL,CAAoBH,UAApB,EAAgCE,SAAhC,EAA2CvH,QAA3C,CAAd;AACA,WAAO,EAAEC,WAAW,EAAXA,WAAF,EAAeD,QAAQ,EAARA,QAAf,EAAP;AACD,GA7cH;;AA+cU4H,EAAAA,oBA/cV,GA+cE,8BAA6BP,UAA7B,EAA+CrH,QAA/C,EAAyE;AACvE,QAAI,CAAC,KAAKO,KAAL,CAAWiG,MAAZ,IAAsB,gBAAgBqB,IAAhB,CAAqB7H,QAAQ,CAAC4G,KAA9B,CAA1B,EAAgE;AAC9D,aAAO,CAAP;AACD;;AAED,QAAMkB,UAAU,GAAG,aAAaD,IAAb,CAAkB7H,QAAQ,CAACoF,SAA3B,IAAwCiC,UAAU,CAACrF,KAAnD,GAA2DqF,UAAU,CAACU,MAAzF,CALuE;;AAO/DzB,IAAAA,OAP+D,GAOnD,KAAK/F,KAP8C,CAO/D+F,OAP+D;;AASvE,WAAOW,IAAI,CAACe,GAAL;AACL,KADK;AAEL,SAAKrB,YAAL,CAAkB3G,QAAQ,CAAC4G,KAA3B,KAAqCN,OAAO,IAAIG,QAAQ,CAAC,KAAKhG,KAAL,CAAWiG,YAAZ,CAAxD,IAAqFoB,UAAU,GAAG,CAF7F,CAAP;;AAID,GA5dH;;AA8dUN,EAAAA,cA9dV,GA8dE,wBAAuBH,UAAvB,EAAyCE,SAAzC,EAA0DrB,YAA1D,EAAgF;AAC9D+B,IAAAA,eAD8D,GAC1C,KAAK1H,KADqC,CACtE2H,MADsE;AAE9E,QAAMA,MAAM;AACV1J,IAAAA,aAAa,CAACyJ,eAAD,CAAb,IAAkC,CAACE,KAAK,CAACF,eAAD,CAAxC;AACIA,IAAAA,eADJ;AAEIxB,IAAAA,QAAQ,CAAC,KAAKhG,KAAL,CAAW2H,WAAZ,CAAR,IAAoC,CAH1C;AAIA,QAAMpI,QAAQ,GAAGT,WAAW,CAAC4F,iBAAZ,CAA8Be,YAA9B,CAAjB;AACA,QAAMmC,WAAW,GAAG,KAAK9H,KAAL,CAAW8H,WAAX,GAAyB,KAAKT,oBAAL,CAA0BP,UAA1B,EAAsCrH,QAAtC,CAA7C;;AAEA,YAAQA,QAAQ,CAACoF,SAAjB;AACE,WAAK,KAAL;AACE,eAAO;AACLlF,UAAAA,GAAG,EAAEmH,UAAU,CAACnH,GAAX,GAAiBqH,SAAS,CAACQ,MAA3B,GAAoCG,MADpC;AAEL/H,UAAAA,IAAI,EAAE,KAAKmI,qBAAL,CAA2BjB,UAA3B,EAAuCE,SAAvC,EAAkDvH,QAAQ,CAAC4G,KAA3D,EAAkEyB,WAAlE,CAFD,EAAP;;AAIF,WAAK,QAAL;AACE,eAAO;AACLnI,UAAAA,GAAG,EAAEmH,UAAU,CAACnH,GAAX,GAAiBmH,UAAU,CAACU,MAA5B,GAAqCG,MADrC;AAEL/H,UAAAA,IAAI,EAAE,KAAKmI,qBAAL,CAA2BjB,UAA3B,EAAuCE,SAAvC,EAAkDvH,QAAQ,CAAC4G,KAA3D,EAAkEyB,WAAlE,CAFD,EAAP;;AAIF,WAAK,MAAL;AACE,eAAO;AACLnI,UAAAA,GAAG,EAAE,KAAKqI,mBAAL,CAAyBlB,UAAzB,EAAqCE,SAArC,EAAgDvH,QAAQ,CAAC4G,KAAzD,EAAgEyB,WAAhE,CADA;AAELlI,UAAAA,IAAI,EAAEkH,UAAU,CAAClH,IAAX,GAAkBoH,SAAS,CAACvF,KAA5B,GAAoCkG,MAFrC,EAAP;;AAIF,WAAK,OAAL;AACE,eAAO;AACLhI,UAAAA,GAAG,EAAE,KAAKqI,mBAAL,CAAyBlB,UAAzB,EAAqCE,SAArC,EAAgDvH,QAAQ,CAAC4G,KAAzD,EAAgEyB,WAAhE,CADA;AAELlI,UAAAA,IAAI,EAAEkH,UAAU,CAAClH,IAAX,GAAkBkH,UAAU,CAACrF,KAA7B,GAAqCkG,MAFtC,EAAP;;AAIF;AACE,cAAM,IAAIM,KAAJ,4BAAmCxI,QAAQ,CAACoF,SAA5C,OAAN,CAtBJ;;AAwBD,GA/fH;;AAigBUuB,EAAAA,YAjgBV,GAigBE,sBAAqBC,KAArB,EAAoC;AAC1B6B,IAAAA,SAD0B,GACZ,KAAKlI,KADO,CAC1BkI,SAD0B;;AAGlC,YAAQ7B,KAAR;AACE,WAAK,KAAL;AACA,WAAK,QAAL;AACE,eAAO6B,SAAS,IAAIhC,QAAQ,CAAC,KAAKhG,KAAL,CAAWiI,cAAZ,CAArB,IAAoDjC,QAAQ,CAAC,KAAKhG,KAAL,CAAWkI,eAAZ,CAAnE;AACF,WAAK,MAAL;AACA,WAAK,OAAL;AACE,eAAOF,SAAS,IAAIhC,QAAQ,CAAC,KAAKhG,KAAL,CAAWiI,cAAZ,CAArB,IAAoDjC,QAAQ,CAAC,KAAKhG,KAAL,CAAWmI,eAAZ,CAAnE;AACF,WAAK,QAAL;AACA,WAAK,QAAL;AACE,eAAO,CAAP;AACF;AACE,cAAM,IAAIJ,KAAJ,wBAA+B5B,KAA/B,OAAN,CAXJ;;AAaD,GAjhBH;;AAmhBU0B,EAAAA,qBAnhBV,GAmhBE,+BAA8BjB,UAA9B,EAAgDE,SAAhD,EAAiEX,KAAjE,EAAgFyB,WAAhF,EAAqG;AACnG,YAAQzB,KAAR;AACE,WAAK,MAAL;AACE,eAAOS,UAAU,CAAClH,IAAX,GAAkBkI,WAAzB;AACF,WAAK,QAAL;AACE,eAAOhB,UAAU,CAAClH,IAAX,GAAkB,CAACoH,SAAS,CAACvF,KAAV,GAAkBqF,UAAU,CAACrF,KAA9B,IAAuC,CAAhE;AACF,WAAK,OAAL;AACE,eAAOqF,UAAU,CAAClH,IAAX,IAAmBoH,SAAS,CAACvF,KAAV,GAAkBqF,UAAU,CAACrF,KAAhD,IAAyDqG,WAAhE;AACF;AACE,cAAM,IAAIG,KAAJ,wBAA+B5B,KAA/B,OAAN,CARJ;;AAUD,GA9hBH;;AAgiBU2B,EAAAA,mBAhiBV,GAgiBE,6BAA4BlB,UAA5B,EAA8CE,SAA9C,EAA+DX,KAA/D,EAA8EyB,WAA9E,EAAmG;AACjG,YAAQzB,KAAR;AACE,WAAK,KAAL;AACE,eAAOS,UAAU,CAACnH,GAAX,GAAiBmI,WAAxB;AACF,WAAK,QAAL;AACE,eAAOhB,UAAU,CAACnH,GAAX,GAAiB,CAACqH,SAAS,CAACQ,MAAV,GAAmBV,UAAU,CAACU,MAA/B,IAAyC,CAAjE;AACF,WAAK,QAAL;AACE,eAAOV,UAAU,CAACnH,GAAX,IAAkBqH,SAAS,CAACQ,MAAV,GAAmBV,UAAU,CAACU,MAAhD,IAA0DM,WAAjE;AACF;AACE,cAAM,IAAIG,KAAJ,wBAA+B5B,KAA/B,OAAN,CARJ;;AAUD,GA3iBH,gBAA2B7I,KAAK,CAAC8K,SAAjC,WACgBC,mBADhB,GACsC,OADtC,UAGgBC,SAHhB,GAG4B,EACxB;AACJ;AACA,KACIlI,aAAa,EAAE7C,SAAS,CAACgL,SAAV,CAAoB,CAACjK,uBAAuB,CAAC,oBAAMkK,WAAN,EAAD,CAAxB,EAA6CjL,SAAS,CAACkL,IAAvD,CAApB,EAAkFC,UAJzE,EAMxB;AACJ;AACA,KACIvE,eAAe,EAAE5G,SAAS,CAACoL,MATH,EAWxBnE,QAAQ,EAAEjH,SAAS,CAACgL,SAAV,CAAoB,CAAChL,SAAS,CAACkL,IAAX,EAAiBlL,SAAS,CAACqL,IAA3B,CAApB,CAXc,EAaxB;AACJ;AACA,KACI7C,MAAM,EAAExI,SAAS,CAACsL,IAhBM,EAkBxB;AACJ;AACA,KACIvE,SAAS,EAAE/G,SAAS,CAACsL,IArBG,EAuBxB;AACJ;AACA,KACIpB,MAAM,EAAElK,SAAS,CAACuL,MA1BM,EA4BxB;AACJ;AACA,KACI/I,MAAM,EAAExC,SAAS,CAACsL,IA/BM,EAiCxB;AACJ;AACA,KACIb,SAAS,EAAEzK,SAAS,CAACuL,MApCG,EAsCxB;AACJ;AACA;AACA;AACA,KACIjD,OAAO,EAAEtI,SAAS,CAACuL,MA3CK,EA6CxB;AACJ;AACA,KACIlB,WAAW,EAAErK,SAAS,CAACuL,MAhDC,EAkDxB;AACJ;AACA;AACA,KACIpC,SAAS,EAAEnJ,SAAS,CAACwL,KAtDG,EAwDxB;AACJ;AACA,KACIxE,WAAW,EAAEhH,SAAS,CAACsL,IA3DC,EAH5B,UAiEgBG,YAjEhB,GAiE+B,EAC3BpB,WAAW,EAAE,CADc,EAE3B7B,MAAM,EAAE,KAFmB,EAG3BzB,SAAS,EAAE,KAHgB,EAI3BF,iBAAiB,EAAE7F,SAJQ,EAK3B+E,UAAU,EAAE,KALe,EAM3BiB,WAAW,EAAE,KANc,EAO3BhD,KAAK,EAAE,MAPoB,EAjE/B","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 { 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, isRefableElement } from '../../lib/utils';\nimport { isIE11, isEdge, isSafari } from '../../lib/client';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { isHTMLElement, safePropTypesInstanceOf } from '../../lib/SSRSafe';\nimport { isTestEnv } from '../../lib/currentEnvironment';\nimport { CommonProps, CommonWrapper } from '../CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { getRootNode, rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { callChildRef } from '../../lib/callChildRef/callChildRef';\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\nconst 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}\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\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 = {\n popupOffset: 0,\n hasPin: false,\n hasShadow: false,\n disableAnimations: isTestEnv,\n useWrapper: false,\n ignoreHover: false,\n width: 'auto',\n };\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<HTMLElement>;\n private anchorElement: Nullable<HTMLElement> = null;\n private setRootNode!: TSetRootNode;\n private refForTransition = React.createRef<HTMLDivElement>();\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 (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 renderMain() {\n const { location } = this.state;\n const { anchorElement, useWrapper } = this.props;\n\n let anchor: Nullable<React.ReactNode> = null;\n if (isHTMLElement(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 with RenderContainer's ref\n // in the case when the anchor is not refable\n\n return (\n <RenderContainer anchor={anchorWithRef || anchor} ref={anchorWithRef ? null : this.renderContainerRef}>\n {location && this.renderContent(location)}\n </RenderContainer>\n );\n }\n\n private renderContainerRef = (childInstance: Nullable<React.ReactInstance>) => {\n this.updateAnchorElement(childInstance);\n };\n\n private updateAnchorElement(childInstance: Nullable<React.ReactInstance>) {\n const childDomNode = getRootNode(childInstance);\n const anchorElement = this.anchorElement;\n\n if (childDomNode !== anchorElement) {\n this.removeEventListeners(anchorElement);\n this.anchorElement = childDomNode;\n this.addEventListeners(childDomNode);\n this.setRootNode(childDomNode);\n }\n }\n\n private addEventListeners(element: Nullable<HTMLElement>) {\n if (element && isHTMLElement(element)) {\n element.addEventListener('mouseenter', this.handleMouseEnter);\n element.addEventListener('mouseleave', this.handleMouseLeave);\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<HTMLElement>) {\n if (element && isHTMLElement(element)) {\n element.removeEventListener('mouseenter', this.handleMouseEnter);\n element.removeEventListener('mouseleave', this.handleMouseLeave);\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 return this.anchorElement ? (this.anchorElement.offsetWidth * parseFloat(width)) / 100 : 0;\n }\n return width;\n };\n\n private renderContent(location: PopupLocation) {\n const { backgroundColor, disableAnimations, maxWidth, hasShadow, ignoreHover, opened, width } = this.props;\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}>\n <ZIndex\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 <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 {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<HTMLElement>) => {\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, hasShadow, backgroundColor, borderColor } = this.props;\n const position = PopupHelper.getPositionObject(positionName);\n\n return (\n this.props.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 (!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 (x == null || y == null) {\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: HTMLElement, location?: Nullable<PopupLocation>) {\n const { positions, tryPreserveFirstRenderedPosition } = this.props;\n const anchorElement = this.anchorElement;\n\n warning(\n anchorElement && isHTMLElement(anchorElement),\n 'Anchor element is not defined or not instance of HTMLElement',\n );\n\n if (!(anchorElement && isHTMLElement(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.props.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.props.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,161 +1,162 @@
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 type PopupPosition = 'top left' | 'top center' | 'top right' | 'right top' | 'right middle' | 'right bottom' | 'bottom left' | 'bottom center' | 'bottom right' | 'left top' | 'left middle' | 'left bottom';
7
- export declare const PopupPositions: PopupPosition[];
8
- export interface PopupHandlerProps {
9
- onMouseEnter?: (event: MouseEventType) => void;
10
- onMouseLeave?: (event: MouseEventType) => void;
11
- onClick?: (event: MouseEventType) => void;
12
- onFocus?: (event: FocusEventType) => void;
13
- onBlur?: (event: FocusEventType) => void;
14
- onOpen?: () => void;
15
- onClose?: () => void;
16
- }
17
- export interface PopupProps extends CommonProps, PopupHandlerProps {
18
- anchorElement: React.ReactNode | HTMLElement;
19
- backgroundColor?: React.CSSProperties['backgroundColor'];
20
- borderColor?: React.CSSProperties['borderColor'];
21
- children: React.ReactNode | (() => React.ReactNode);
22
- hasPin: boolean;
23
- hasShadow: boolean;
24
- disableAnimations: boolean;
25
- margin?: number;
26
- maxWidth?: number | string;
27
- opened: boolean;
28
- pinOffset?: number;
29
- pinSize?: number;
30
- popupOffset: number;
31
- positions: PopupPosition[];
32
- /**
33
- * Явно указывает, что вложенные элементы должны быть обёрнуты в `<span/>`. <br/> Используется для корректного позиционирования тултипа при двух и более вложенных элементах.
34
- *
35
- * _Примечание_: при **двух и более** вложенных элементах обёртка будет добавлена автоматически.
36
- */
37
- useWrapper: boolean;
38
- ignoreHover: boolean;
39
- width: React.CSSProperties['width'];
40
- /**
41
- * При очередном рендере пытаться сохранить первоначальную позицию попапа
42
- * числе числе, когда он выходит за пределы экрана, но может быть проскролен в него).
43
- *
44
- * Нужен только для Tooltip. В остальных случаях позиция перестраивается автоматически.
45
- * @see https://github.com/skbkontur/retail-ui/pull/1195
46
- */
47
- tryPreserveFirstRenderedPosition?: boolean;
48
- }
49
- interface PopupLocation {
50
- coordinates: {
51
- left: number;
52
- top: number;
53
- };
54
- position: PopupPosition;
55
- }
56
- export interface PopupState {
57
- location: Nullable<PopupLocation>;
58
- }
59
- export declare class Popup extends React.Component<PopupProps, PopupState> {
60
- static __KONTUR_REACT_UI__: string;
61
- static propTypes: {
62
- /**
63
- * Ссылка (ref) на элемент или React компонент, для которого рисуется попап
64
- */
65
- anchorElement: PropTypes.Validator<string | number | boolean | {} | PropTypes.ReactElementLike | PropTypes.ReactNodeArray>;
66
- /**
67
- * Фон попапа и пина
68
- */
69
- backgroundColor: PropTypes.Requireable<string>;
70
- children: PropTypes.Requireable<string | number | boolean | {} | PropTypes.ReactElementLike | PropTypes.ReactNodeArray>;
71
- /**
72
- * Показывать ли пин
73
- */
74
- hasPin: PropTypes.Requireable<boolean>;
75
- /**
76
- * Применять ли box-shadow на попапе. При false отключает границу на пине
77
- */
78
- hasShadow: PropTypes.Requireable<boolean>;
79
- /**
80
- * Отступ попапа от элемента
81
- */
82
- margin: PropTypes.Requireable<number>;
83
- /**
84
- * Показан или скрыт попап
85
- */
86
- opened: PropTypes.Requireable<boolean>;
87
- /**
88
- * Смещение пина от края попапа. Край задаётся в пропе position вторым словом
89
- */
90
- pinOffset: PropTypes.Requireable<number>;
91
- /**
92
- * Сторона пина без учёта границы.
93
- * Пин представляет собой равносторонний треугольник, высота от попапа
94
- * до "носика" пина будет соответствовать формуле (size* √3)/2
95
- */
96
- pinSize: PropTypes.Requireable<number>;
97
- /**
98
- * смещение попапа относительно родительского элемента
99
- */
100
- popupOffset: PropTypes.Requireable<number>;
101
- /**
102
- * С какой стороны показывать попап и край попапа,
103
- * на котором будет отображаться пин
104
- */
105
- positions: PropTypes.Requireable<any[]>;
106
- /**
107
- * Игнорировать ли события hover/click
108
- */
109
- ignoreHover: PropTypes.Requireable<boolean>;
110
- };
111
- static defaultProps: {
112
- popupOffset: number;
113
- hasPin: boolean;
114
- hasShadow: boolean;
115
- disableAnimations: boolean;
116
- useWrapper: boolean;
117
- ignoreHover: boolean;
118
- width: string;
119
- };
120
- state: PopupState;
121
- private theme;
122
- private layoutEventsToken;
123
- private locationUpdateId;
124
- private lastPopupElement;
125
- private anchorElement;
126
- private anchorInstance;
127
- componentDidMount(): void;
128
- UNSAFE_componentWillReceiveProps(nextProps: Readonly<PopupProps>): void;
129
- componentDidUpdate(prevProps: PopupProps, prevState: PopupState): void;
130
- componentWillUnmount(): void;
131
- render(): JSX.Element;
132
- private renderMain;
133
- private refAnchorElement;
134
- private extractElement;
135
- private updateAnchorElement;
136
- private addEventListeners;
137
- private removeEventListeners;
138
- private handleMouseEnter;
139
- private handleMouseLeave;
140
- private handleClick;
141
- private handleFocus;
142
- private handleBlur;
143
- private calculateWidth;
144
- private renderContent;
145
- private resetLocation;
146
- private renderChildren;
147
- private refPopupElement;
148
- private renderPin;
149
- private handleLayoutEvent;
150
- private delayUpdateLocation;
151
- private cancelDelayedUpdateLocation;
152
- private updateLocation;
153
- private locationEquals;
154
- private getLocation;
155
- private getPinnedPopupOffset;
156
- private getCoordinates;
157
- private getPinOffset;
158
- private getHorizontalPosition;
159
- private getVerticalPosition;
160
- }
161
- 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 interface PopupHandlerProps {
10
+ onMouseEnter?: (event: MouseEventType) => void;
11
+ onMouseLeave?: (event: MouseEventType) => void;
12
+ onClick?: (event: MouseEventType) => void;
13
+ onFocus?: (event: FocusEventType) => void;
14
+ onBlur?: (event: FocusEventType) => void;
15
+ onOpen?: () => void;
16
+ onClose?: () => void;
17
+ }
18
+ export interface PopupProps extends CommonProps, PopupHandlerProps {
19
+ anchorElement: React.ReactNode | HTMLElement;
20
+ backgroundColor?: React.CSSProperties['backgroundColor'];
21
+ borderColor?: React.CSSProperties['borderColor'];
22
+ children: React.ReactNode | (() => React.ReactNode);
23
+ hasPin: boolean;
24
+ hasShadow: boolean;
25
+ disableAnimations: boolean;
26
+ margin?: number;
27
+ maxWidth?: number | string;
28
+ opened: boolean;
29
+ pinOffset?: number;
30
+ pinSize?: number;
31
+ popupOffset: number;
32
+ positions: Readonly<PopupPositionsType[]>;
33
+ /**
34
+ * Явно указывает, что вложенные элементы должны быть обёрнуты в `<span/>`. <br/> Используется для корректного позиционирования тултипа при двух и более вложенных элементах.
35
+ *
36
+ * _Примечание_: при **двух и более** вложенных элементах обёртка будет добавлена автоматически.
37
+ */
38
+ useWrapper: boolean;
39
+ ignoreHover: boolean;
40
+ width: React.CSSProperties['width'];
41
+ /**
42
+ * При очередном рендере пытаться сохранить первоначальную позицию попапа
43
+ * (в числе числе, когда он выходит за пределы экрана, но может быть проскролен в него).
44
+ *
45
+ * Нужен только для Tooltip. В остальных случаях позиция перестраивается автоматически.
46
+ * @see https://github.com/skbkontur/retail-ui/pull/1195
47
+ */
48
+ tryPreserveFirstRenderedPosition?: boolean;
49
+ }
50
+ interface PopupLocation {
51
+ coordinates: {
52
+ left: number;
53
+ top: number;
54
+ };
55
+ position: PopupPositionsType;
56
+ }
57
+ export interface PopupState {
58
+ location: Nullable<PopupLocation>;
59
+ }
60
+ export declare class Popup extends React.Component<PopupProps, PopupState> {
61
+ static __KONTUR_REACT_UI__: string;
62
+ static propTypes: {
63
+ /**
64
+ * Ссылка (ref) на элемент или React компонент, для которого рисуется попап
65
+ */
66
+ anchorElement: PropTypes.Validator<string | number | boolean | {} | PropTypes.ReactElementLike | PropTypes.ReactNodeArray>;
67
+ /**
68
+ * Фон попапа и пина
69
+ */
70
+ backgroundColor: PropTypes.Requireable<string>;
71
+ children: PropTypes.Requireable<string | number | boolean | {} | PropTypes.ReactElementLike | PropTypes.ReactNodeArray>;
72
+ /**
73
+ * Показывать ли пин
74
+ */
75
+ hasPin: PropTypes.Requireable<boolean>;
76
+ /**
77
+ * Применять ли box-shadow на попапе. При false отключает границу на пине
78
+ */
79
+ hasShadow: PropTypes.Requireable<boolean>;
80
+ /**
81
+ * Отступ попапа от элемента
82
+ */
83
+ margin: PropTypes.Requireable<number>;
84
+ /**
85
+ * Показан или скрыт попап
86
+ */
87
+ opened: PropTypes.Requireable<boolean>;
88
+ /**
89
+ * Смещение пина от края попапа. Край задаётся в пропе position вторым словом
90
+ */
91
+ pinOffset: PropTypes.Requireable<number>;
92
+ /**
93
+ * Сторона пина без учёта границы.
94
+ * Пин представляет собой равносторонний треугольник, высота от попапа
95
+ * до "носика" пина будет соответствовать формуле (size* √3)/2
96
+ */
97
+ pinSize: PropTypes.Requireable<number>;
98
+ /**
99
+ * смещение попапа относительно родительского элемента
100
+ */
101
+ popupOffset: PropTypes.Requireable<number>;
102
+ /**
103
+ * С какой стороны показывать попап и край попапа,
104
+ * на котором будет отображаться пин
105
+ */
106
+ positions: PropTypes.Requireable<any[]>;
107
+ /**
108
+ * Игнорировать ли события hover/click
109
+ */
110
+ ignoreHover: PropTypes.Requireable<boolean>;
111
+ };
112
+ static defaultProps: {
113
+ popupOffset: number;
114
+ hasPin: boolean;
115
+ hasShadow: boolean;
116
+ disableAnimations: boolean;
117
+ useWrapper: boolean;
118
+ ignoreHover: boolean;
119
+ width: string;
120
+ };
121
+ state: PopupState;
122
+ private theme;
123
+ private layoutEventsToken;
124
+ private locationUpdateId;
125
+ private lastPopupElement;
126
+ private anchorElement;
127
+ private setRootNode;
128
+ private refForTransition;
129
+ componentDidMount(): void;
130
+ static getDerivedStateFromProps(props: Readonly<PopupProps>, state: PopupState): PopupState;
131
+ componentDidUpdate(prevProps: PopupProps, prevState: PopupState): void;
132
+ componentWillUnmount(): void;
133
+ render(): JSX.Element;
134
+ private renderMain;
135
+ private renderContainerRef;
136
+ private updateAnchorElement;
137
+ private addEventListeners;
138
+ private removeEventListeners;
139
+ private handleMouseEnter;
140
+ private handleMouseLeave;
141
+ private handleClick;
142
+ private handleFocus;
143
+ private handleBlur;
144
+ private calculateWidth;
145
+ private renderContent;
146
+ private resetLocation;
147
+ private renderChildren;
148
+ private refPopupElement;
149
+ private renderPin;
150
+ private handleLayoutEvent;
151
+ private delayUpdateLocation;
152
+ private cancelDelayedUpdateLocation;
153
+ private updateLocation;
154
+ private locationEquals;
155
+ private getLocation;
156
+ private getPinnedPopupOffset;
157
+ private getCoordinates;
158
+ private getPinOffset;
159
+ private getHorizontalPosition;
160
+ private getVerticalPosition;
161
+ }
162
+ export {};
@@ -1,16 +1,16 @@
1
- import { Theme } from '../../lib/theming/Theme';
2
- export declare const styles: {
3
- popup(t: Theme): string;
4
- popupIgnoreHover(): string;
5
- content(t: Theme): string;
6
- contentInner(t: Theme): string;
7
- shadow(t: Theme): string;
8
- shadowFallback(t: Theme): string;
9
- transitionEnter(): string;
10
- 'transition-enter-top'(): string;
11
- 'transition-enter-bottom'(): string;
12
- 'transition-enter-left'(): string;
13
- 'transition-enter-right'(): string;
14
- transitionEnterActive(): string;
15
- transitionExit(): string;
16
- };
1
+ import { Theme } from '../../lib/theming/Theme';
2
+ export declare const styles: {
3
+ popup(t: Theme): string;
4
+ popupIgnoreHover(): string;
5
+ content(t: Theme): string;
6
+ contentInner(t: Theme): string;
7
+ shadow(t: Theme): string;
8
+ shadowFallback(t: Theme): string;
9
+ transitionEnter(): string;
10
+ 'transition-enter-top'(): string;
11
+ 'transition-enter-bottom'(): string;
12
+ 'transition-enter-left'(): string;
13
+ 'transition-enter-right'(): string;
14
+ transitionEnterActive(): string;
15
+ transitionExit(): string;
16
+ };
@@ -1 +1 @@
1
- {"version":3,"sources":["PopupHelper.tsx"],"names":["getPositionObject","position","x","split","direction","align","getElementAbsoluteRect","element","rect","_getElementRelativeRect","convertRectToAbsolute","isAbsoluteRectFullyVisible","coordinates","popupRect","windowRelativeRect","_getWindowRelativeRect","windowAbsoluteRect","absoluteRect","top","left","height","width","_rectContainsRect","canBecomeFullyVisible","positionName","availableScrollDistances","getBoundingClientRect","right","bottom","_getViewProperty","clientWidth","window","innerWidth","clientHeight","innerHeight","offset","_getAbsoluteOffset","scrollTop","pageYOffset","scrollLeft","pageXOffset","clientTop","clientLeft","outerRect","innerRect","getProperty","views","document","documentElement","body","map","find","Boolean","PopupHelper","isFullyVisible"],"mappings":"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","sourcesContent":["import { PopupPosition } from './Popup';\n\nexport interface Rect {\n top: number;\n left: number;\n width: number;\n height: number;\n}\n\nexport interface Offset {\n top: number;\n left: number;\n}\n\nexport interface PositionObject {\n direction: string;\n align: string;\n}\n\nfunction getPositionObject(position: string): PositionObject {\n const x = position.split(' ');\n\n return {\n direction: x[0],\n align: x[1],\n };\n}\n\nfunction getElementAbsoluteRect(element: HTMLElement): Rect {\n const rect = _getElementRelativeRect(element);\n return convertRectToAbsolute(rect);\n}\n\nfunction isAbsoluteRectFullyVisible(coordinates: Offset, popupRect: Rect): boolean {\n const windowRelativeRect = _getWindowRelativeRect();\n const windowAbsoluteRect = convertRectToAbsolute(windowRelativeRect);\n const absoluteRect = {\n top: coordinates.top,\n left: coordinates.left,\n height: popupRect.height,\n width: popupRect.width,\n };\n\n return _rectContainsRect(windowAbsoluteRect, absoluteRect);\n}\n\n// Can become fully visible by scrolling into viewport\nfunction canBecomeFullyVisible(positionName: PopupPosition, coordinates: Offset) {\n const position = getPositionObject(positionName);\n\n if (position.direction === 'top') {\n const availableScrollDistances = convertRectToAbsolute(_getWindowRelativeRect());\n return coordinates.top + availableScrollDistances.top >= 0;\n }\n\n if (position.direction === 'left') {\n const availableScrollDistances = convertRectToAbsolute(_getWindowRelativeRect());\n return coordinates.left + availableScrollDistances.left >= 0;\n }\n\n // NOTE: for bottom/right cases browser will always expand document size\n return true;\n}\n\nfunction _getElementRelativeRect(element: HTMLElement) {\n const rect = element.getBoundingClientRect();\n\n return {\n top: rect.top,\n left: rect.left,\n width: rect.right - rect.left,\n height: rect.bottom - rect.top,\n };\n}\n\nfunction _getWindowRelativeRect(): Rect {\n return {\n top: 0,\n left: 0,\n width: _getViewProperty((x) => x.clientWidth) || window.innerWidth,\n height: _getViewProperty((x) => x.clientHeight) || window.innerHeight,\n };\n}\n\nfunction convertRectToAbsolute(rect: Rect): Rect {\n const offset = _getAbsoluteOffset();\n\n return {\n top: rect.top + offset.top,\n left: rect.left + offset.left,\n width: rect.width,\n height: rect.height,\n };\n}\n\nfunction _getAbsoluteOffset(): Offset {\n const scrollTop = window.pageYOffset || _getViewProperty((x) => x.scrollTop);\n const scrollLeft = window.pageXOffset || _getViewProperty((x) => x.scrollLeft);\n\n const clientTop = _getViewProperty((x) => x.clientTop);\n const clientLeft = _getViewProperty((x) => x.clientLeft);\n\n const top = scrollTop - clientTop;\n const left = scrollLeft - clientLeft;\n\n return {\n top,\n left,\n };\n}\n\nfunction _rectContainsRect(outerRect: Rect, innerRect: Rect): boolean {\n return (\n innerRect.top > outerRect.top &&\n innerRect.top + innerRect.height < outerRect.top + outerRect.height &&\n innerRect.left > outerRect.left &&\n innerRect.left + innerRect.width < outerRect.left + outerRect.width\n );\n}\n\nfunction _getViewProperty(getProperty: (e: HTMLElement) => number): number {\n const views = [document.documentElement, document.body];\n return views.map((x) => x && getProperty(x)).find(Boolean) || 0;\n}\n\nexport const PopupHelper = {\n getPositionObject,\n getElementAbsoluteRect,\n isFullyVisible: isAbsoluteRectFullyVisible,\n canBecomeFullyVisible,\n};\n"]}
1
+ {"version":3,"sources":["PopupHelper.tsx"],"names":["getPositionObject","position","x","split","direction","align","getElementAbsoluteRect","element","rect","_getElementRelativeRect","convertRectToAbsolute","isAbsoluteRectFullyVisible","coordinates","popupRect","windowRelativeRect","_getWindowRelativeRect","windowAbsoluteRect","absoluteRect","top","left","height","width","_rectContainsRect","canBecomeFullyVisible","positionName","availableScrollDistances","getBoundingClientRect","right","bottom","_getViewProperty","clientWidth","window","innerWidth","clientHeight","innerHeight","offset","_getAbsoluteOffset","scrollTop","pageYOffset","scrollLeft","pageXOffset","clientTop","clientLeft","outerRect","innerRect","getProperty","views","document","documentElement","body","map","find","Boolean","PopupHelper","isFullyVisible"],"mappings":"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","sourcesContent":["import { PopupPositionsType } from './Popup';\n\nexport interface Rect {\n top: number;\n left: number;\n width: number;\n height: number;\n}\n\nexport interface Offset {\n top: number;\n left: number;\n}\n\nexport interface PositionObject {\n direction: string;\n align: string;\n}\n\nfunction getPositionObject(position: string): PositionObject {\n const x = position.split(' ');\n\n return {\n direction: x[0],\n align: x[1],\n };\n}\n\nfunction getElementAbsoluteRect(element: HTMLElement): Rect {\n const rect = _getElementRelativeRect(element);\n return convertRectToAbsolute(rect);\n}\n\nfunction isAbsoluteRectFullyVisible(coordinates: Offset, popupRect: Rect): boolean {\n const windowRelativeRect = _getWindowRelativeRect();\n const windowAbsoluteRect = convertRectToAbsolute(windowRelativeRect);\n const absoluteRect = {\n top: coordinates.top,\n left: coordinates.left,\n height: popupRect.height,\n width: popupRect.width,\n };\n\n return _rectContainsRect(windowAbsoluteRect, absoluteRect);\n}\n\n// Can become fully visible by scrolling into viewport\nfunction canBecomeFullyVisible(positionName: PopupPositionsType, coordinates: Offset) {\n const position = getPositionObject(positionName);\n\n if (position.direction === 'top') {\n const availableScrollDistances = convertRectToAbsolute(_getWindowRelativeRect());\n return coordinates.top + availableScrollDistances.top >= 0;\n }\n\n if (position.direction === 'left') {\n const availableScrollDistances = convertRectToAbsolute(_getWindowRelativeRect());\n return coordinates.left + availableScrollDistances.left >= 0;\n }\n\n // NOTE: for bottom/right cases browser will always expand document size\n return true;\n}\n\nfunction _getElementRelativeRect(element: HTMLElement) {\n const rect = element.getBoundingClientRect();\n\n return {\n top: rect.top,\n left: rect.left,\n width: rect.right - rect.left,\n height: rect.bottom - rect.top,\n };\n}\n\nfunction _getWindowRelativeRect(): Rect {\n return {\n top: 0,\n left: 0,\n width: _getViewProperty((x) => x.clientWidth) || window.innerWidth,\n height: _getViewProperty((x) => x.clientHeight) || window.innerHeight,\n };\n}\n\nfunction convertRectToAbsolute(rect: Rect): Rect {\n const offset = _getAbsoluteOffset();\n\n return {\n top: rect.top + offset.top,\n left: rect.left + offset.left,\n width: rect.width,\n height: rect.height,\n };\n}\n\nfunction _getAbsoluteOffset(): Offset {\n const scrollTop = window.pageYOffset || _getViewProperty((x) => x.scrollTop);\n const scrollLeft = window.pageXOffset || _getViewProperty((x) => x.scrollLeft);\n\n const clientTop = _getViewProperty((x) => x.clientTop);\n const clientLeft = _getViewProperty((x) => x.clientLeft);\n\n const top = scrollTop - clientTop;\n const left = scrollLeft - clientLeft;\n\n return {\n top,\n left,\n };\n}\n\nfunction _rectContainsRect(outerRect: Rect, innerRect: Rect): boolean {\n return (\n innerRect.top > outerRect.top &&\n innerRect.top + innerRect.height < outerRect.top + outerRect.height &&\n innerRect.left > outerRect.left &&\n innerRect.left + innerRect.width < outerRect.left + outerRect.width\n );\n}\n\nfunction _getViewProperty(getProperty: (e: HTMLElement) => number): number {\n const views = [document.documentElement, document.body];\n return views.map((x) => x && getProperty(x)).find(Boolean) || 0;\n}\n\nexport const PopupHelper = {\n getPositionObject,\n getElementAbsoluteRect,\n isFullyVisible: isAbsoluteRectFullyVisible,\n canBecomeFullyVisible,\n};\n"]}