@skbkontur/react-ui 3.9.3 → 3.10.0-beta.1

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 (1049) hide show
  1. package/README.md +57 -0
  2. package/cjs/components/Autocomplete/Autocomplete.d.ts +113 -112
  3. package/cjs/components/Autocomplete/Autocomplete.js +11 -5
  4. package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
  5. package/cjs/components/Autocomplete/index.d.ts +1 -1
  6. package/cjs/components/Button/Button.d.ts +161 -160
  7. package/cjs/components/Button/Button.js +7 -3
  8. package/cjs/components/Button/Button.js.map +1 -1
  9. package/cjs/components/Button/Button.mixins.d.ts +6 -6
  10. package/cjs/components/Button/Button.styles.d.ts +67 -67
  11. package/cjs/components/Button/Corners.d.ts +6 -6
  12. package/cjs/components/Button/index.d.ts +1 -1
  13. package/cjs/components/Center/Center.d.ts +25 -24
  14. package/cjs/components/Center/Center.js +10 -3
  15. package/cjs/components/Center/Center.js.map +1 -1
  16. package/cjs/components/Center/Center.styles.d.ts +7 -7
  17. package/cjs/components/Center/index.d.ts +1 -1
  18. package/cjs/components/Checkbox/Checkbox.d.ts +96 -95
  19. package/cjs/components/Checkbox/Checkbox.js +11 -4
  20. package/cjs/components/Checkbox/Checkbox.js.map +1 -1
  21. package/cjs/components/Checkbox/Checkbox.styles.d.ts +22 -22
  22. package/cjs/components/Checkbox/index.d.ts +1 -1
  23. package/cjs/components/ComboBox/ComboBox.d.ts +184 -182
  24. package/cjs/components/ComboBox/ComboBox.js +100 -70
  25. package/cjs/components/ComboBox/ComboBox.js.map +1 -1
  26. package/cjs/components/ComboBox/index.d.ts +1 -1
  27. package/cjs/components/CurrencyInput/CurrencyHelper.d.ts +35 -35
  28. package/cjs/components/CurrencyInput/CurrencyInput.d.ts +106 -106
  29. package/cjs/components/CurrencyInput/CurrencyInput.js +7 -4
  30. package/cjs/components/CurrencyInput/CurrencyInput.js.map +1 -1
  31. package/cjs/components/CurrencyInput/CurrencyInputHelper.d.ts +20 -20
  32. package/cjs/components/CurrencyInput/CurrencyInputKeyboardActions.d.ts +18 -18
  33. package/cjs/components/CurrencyInput/CursorHelper.d.ts +10 -10
  34. package/cjs/components/CurrencyInput/SelectionHelper.d.ts +11 -11
  35. package/cjs/components/CurrencyInput/constants.d.ts +2 -2
  36. package/cjs/components/CurrencyInput/index.d.ts +1 -1
  37. package/cjs/components/CurrencyLabel/CurrencyLabel.d.ts +24 -24
  38. package/cjs/components/CurrencyLabel/index.d.ts +1 -1
  39. package/cjs/components/DateInput/DateFragmentsView.d.ts +20 -20
  40. package/cjs/components/DateInput/DateFragmentsView.styles.d.ts +7 -7
  41. package/cjs/components/DateInput/DateInput.d.ts +107 -106
  42. package/cjs/components/DateInput/DateInput.js +6 -3
  43. package/cjs/components/DateInput/DateInput.js.map +1 -1
  44. package/cjs/components/DateInput/DateInput.styles.d.ts +10 -10
  45. package/cjs/components/DateInput/ViewDateInputValidateChecks.d.ts +10 -10
  46. package/cjs/components/DateInput/helpers/DateInputKeyboardActions.d.ts +21 -21
  47. package/cjs/components/DateInput/helpers/InternalDateMediator.d.ts +26 -26
  48. package/cjs/components/DateInput/helpers/SelectionHelpers.d.ts +2 -2
  49. package/cjs/components/DateInput/helpers/inputNumber.d.ts +5 -5
  50. package/cjs/components/DateInput/index.d.ts +1 -1
  51. package/cjs/components/DatePicker/DatePicker.d.ts +134 -132
  52. package/cjs/components/DatePicker/DatePicker.js +17 -7
  53. package/cjs/components/DatePicker/DatePicker.js.map +1 -1
  54. package/cjs/components/DatePicker/DatePicker.styles.d.ts +3 -3
  55. package/cjs/components/DatePicker/DatePickerHelpers.d.ts +2 -2
  56. package/cjs/components/DatePicker/Picker.d.ts +33 -33
  57. package/cjs/components/DatePicker/Picker.styles.d.ts +5 -5
  58. package/cjs/components/DatePicker/index.d.ts +1 -1
  59. package/cjs/components/DatePicker/locale/index.d.ts +4 -4
  60. package/cjs/components/DatePicker/locale/locales/en.d.ts +2 -2
  61. package/cjs/components/DatePicker/locale/locales/ru.d.ts +2 -2
  62. package/cjs/components/DatePicker/locale/types.d.ts +5 -5
  63. package/cjs/components/Dropdown/Dropdown.d.ts +124 -123
  64. package/cjs/components/Dropdown/Dropdown.js +11 -4
  65. package/cjs/components/Dropdown/Dropdown.js.map +1 -1
  66. package/cjs/components/Dropdown/index.d.ts +1 -1
  67. package/cjs/components/DropdownMenu/DropdownMenu.d.ts +65 -64
  68. package/cjs/components/DropdownMenu/DropdownMenu.js +7 -4
  69. package/cjs/components/DropdownMenu/DropdownMenu.js.map +1 -1
  70. package/cjs/components/DropdownMenu/index.d.ts +1 -1
  71. package/cjs/components/FxInput/FxInput.d.ts +50 -49
  72. package/cjs/components/FxInput/FxInput.js +9 -2
  73. package/cjs/components/FxInput/FxInput.js.map +1 -1
  74. package/cjs/components/FxInput/index.d.ts +1 -1
  75. package/cjs/components/Gapped/Gapped.d.ts +58 -56
  76. package/cjs/components/Gapped/Gapped.js +22 -14
  77. package/cjs/components/Gapped/Gapped.js.map +1 -1
  78. package/cjs/components/Gapped/index.d.ts +1 -1
  79. package/cjs/components/Group/Group.d.ts +14 -13
  80. package/cjs/components/Group/Group.js +10 -7
  81. package/cjs/components/Group/Group.js.map +1 -1
  82. package/cjs/components/Group/Group.styles.d.ts +8 -8
  83. package/cjs/components/Group/index.d.ts +1 -1
  84. package/cjs/components/Hint/Hint.d.ts +80 -79
  85. package/cjs/components/Hint/Hint.js +7 -4
  86. package/cjs/components/Hint/Hint.js.map +1 -1
  87. package/cjs/components/Hint/Hint.styles.d.ts +5 -5
  88. package/cjs/components/Hint/index.d.ts +1 -1
  89. package/cjs/components/Input/Input.d.ts +157 -154
  90. package/cjs/components/Input/Input.js +13 -5
  91. package/cjs/components/Input/Input.js.map +1 -1
  92. package/cjs/components/Input/Input.styles.d.ts +42 -42
  93. package/cjs/components/Input/index.d.ts +1 -1
  94. package/cjs/components/Kebab/Kebab.d.ts +71 -70
  95. package/cjs/components/Kebab/Kebab.js +8 -5
  96. package/cjs/components/Kebab/Kebab.js.map +1 -1
  97. package/cjs/components/Kebab/Kebab.styles.d.ts +12 -12
  98. package/cjs/components/Kebab/index.d.ts +1 -1
  99. package/cjs/components/Link/Link.d.ts +72 -71
  100. package/cjs/components/Link/Link.js +11 -3
  101. package/cjs/components/Link/Link.js.map +1 -1
  102. package/cjs/components/Link/Link.mixins.d.ts +3 -3
  103. package/cjs/components/Link/Link.styles.d.ts +15 -15
  104. package/cjs/components/Link/index.d.ts +1 -1
  105. package/cjs/components/Loader/Loader.d.ts +100 -99
  106. package/cjs/components/Loader/Loader.js +11 -7
  107. package/cjs/components/Loader/Loader.js.map +1 -1
  108. package/cjs/components/Loader/Loader.styles.d.ts +8 -8
  109. package/cjs/components/Loader/index.d.ts +1 -1
  110. package/cjs/components/MenuHeader/MenuHeader.d.ts +20 -20
  111. package/cjs/components/MenuHeader/MenuHeader.styles.d.ts +5 -5
  112. package/cjs/components/MenuHeader/index.d.ts +1 -1
  113. package/cjs/components/MenuItem/MenuItem.d.ts +94 -93
  114. package/cjs/components/MenuItem/MenuItem.js +13 -7
  115. package/cjs/components/MenuItem/MenuItem.js.map +1 -1
  116. package/cjs/components/MenuItem/MenuItem.styles.d.ts +13 -13
  117. package/cjs/components/MenuItem/index.d.ts +1 -1
  118. package/cjs/components/MenuSeparator/MenuSeparator.d.ts +12 -12
  119. package/cjs/components/MenuSeparator/MenuSeparator.styles.d.ts +4 -4
  120. package/cjs/components/MenuSeparator/index.d.ts +1 -1
  121. package/cjs/components/Modal/Modal.d.ts +87 -87
  122. package/cjs/components/Modal/Modal.styles.d.ts +26 -26
  123. package/cjs/components/Modal/ModalBody.d.ts +21 -20
  124. package/cjs/components/Modal/ModalBody.js +9 -6
  125. package/cjs/components/Modal/ModalBody.js.map +1 -1
  126. package/cjs/components/Modal/ModalClose.d.ts +2 -2
  127. package/cjs/components/Modal/ModalContext.d.ts +15 -15
  128. package/cjs/components/Modal/ModalFooter.d.ts +21 -21
  129. package/cjs/components/Modal/ModalHeader.d.ts +17 -17
  130. package/cjs/components/Modal/index.d.ts +4 -4
  131. package/cjs/components/Paging/NavigationHelper.d.ts +7 -7
  132. package/cjs/components/Paging/Paging.d.ts +90 -90
  133. package/cjs/components/Paging/Paging.js +6 -5
  134. package/cjs/components/Paging/Paging.js.map +1 -1
  135. package/cjs/components/Paging/Paging.styles.d.ts +16 -16
  136. package/cjs/components/Paging/PagingHelper.d.ts +2 -2
  137. package/cjs/components/Paging/index.d.ts +1 -1
  138. package/cjs/components/Paging/locale/index.d.ts +4 -4
  139. package/cjs/components/Paging/locale/locales/en.d.ts +2 -2
  140. package/cjs/components/Paging/locale/locales/ru.d.ts +2 -2
  141. package/cjs/components/Paging/locale/types.d.ts +3 -3
  142. package/cjs/components/PasswordInput/PasswordInput.d.ts +49 -48
  143. package/cjs/components/PasswordInput/PasswordInput.js +13 -6
  144. package/cjs/components/PasswordInput/PasswordInput.js.map +1 -1
  145. package/cjs/components/PasswordInput/PasswordInput.styles.d.ts +10 -10
  146. package/cjs/components/PasswordInput/index.d.ts +1 -1
  147. package/cjs/components/Radio/Radio.d.ts +77 -82
  148. package/cjs/components/Radio/Radio.js +11 -10
  149. package/cjs/components/Radio/Radio.js.map +1 -1
  150. package/cjs/components/Radio/Radio.styles.d.ts +19 -19
  151. package/cjs/components/Radio/index.d.ts +1 -1
  152. package/cjs/components/RadioGroup/Prevent.d.ts +8 -8
  153. package/cjs/components/RadioGroup/RadioGroup.d.ts +117 -132
  154. package/cjs/components/RadioGroup/RadioGroup.js +25 -29
  155. package/cjs/components/RadioGroup/RadioGroup.js.map +1 -1
  156. package/cjs/components/RadioGroup/RadioGroup.styles.d.ts +7 -7
  157. package/cjs/components/RadioGroup/RadioGroupContext.d.ts +10 -0
  158. package/cjs/components/RadioGroup/RadioGroupContext.js +21 -0
  159. package/cjs/components/RadioGroup/RadioGroupContext.js.map +1 -0
  160. package/cjs/components/RadioGroup/index.d.ts +1 -1
  161. package/cjs/components/ScrollContainer/ScrollBar.d.ts +37 -37
  162. package/cjs/components/ScrollContainer/ScrollContainer.constants.d.ts +23 -23
  163. package/cjs/components/ScrollContainer/ScrollContainer.d.ts +84 -83
  164. package/cjs/components/ScrollContainer/ScrollContainer.helpers.d.ts +10 -10
  165. package/cjs/components/ScrollContainer/ScrollContainer.js +8 -5
  166. package/cjs/components/ScrollContainer/ScrollContainer.js.map +1 -1
  167. package/cjs/components/ScrollContainer/ScrollContainer.styles.d.ts +16 -16
  168. package/cjs/components/ScrollContainer/index.d.ts +1 -1
  169. package/cjs/components/Select/Item.d.ts +7 -7
  170. package/cjs/components/Select/Select.d.ts +179 -178
  171. package/cjs/components/Select/Select.js +6 -4
  172. package/cjs/components/Select/Select.js.map +1 -1
  173. package/cjs/components/Select/Select.styles.d.ts +17 -17
  174. package/cjs/components/Select/index.d.ts +1 -1
  175. package/cjs/components/Select/locale/index.d.ts +4 -4
  176. package/cjs/components/Select/locale/locales/en.d.ts +2 -2
  177. package/cjs/components/Select/locale/locales/ru.d.ts +2 -2
  178. package/cjs/components/Select/locale/types.d.ts +4 -4
  179. package/cjs/components/Select/selectTheme.d.ts +3 -3
  180. package/cjs/components/SidePage/SidePage.d.ts +104 -104
  181. package/cjs/components/SidePage/SidePage.styles.d.ts +37 -37
  182. package/cjs/components/SidePage/SidePageBody.d.ts +19 -18
  183. package/cjs/components/SidePage/SidePageBody.js +9 -6
  184. package/cjs/components/SidePage/SidePageBody.js.map +1 -1
  185. package/cjs/components/SidePage/SidePageContainer.d.ts +15 -14
  186. package/cjs/components/SidePage/SidePageContainer.js +9 -6
  187. package/cjs/components/SidePage/SidePageContainer.js.map +1 -1
  188. package/cjs/components/SidePage/SidePageContext.d.ts +15 -15
  189. package/cjs/components/SidePage/SidePageFooter.d.ts +36 -37
  190. package/cjs/components/SidePage/SidePageFooter.js +11 -12
  191. package/cjs/components/SidePage/SidePageFooter.js.map +1 -1
  192. package/cjs/components/SidePage/SidePageHeader.d.ts +41 -40
  193. package/cjs/components/SidePage/SidePageHeader.js +6 -3
  194. package/cjs/components/SidePage/SidePageHeader.js.map +1 -1
  195. package/cjs/components/SidePage/index.d.ts +5 -5
  196. package/cjs/components/Spinner/Spinner.d.ts +48 -47
  197. package/cjs/components/Spinner/Spinner.js +8 -5
  198. package/cjs/components/Spinner/Spinner.js.map +1 -1
  199. package/cjs/components/Spinner/Spinner.styles.d.ts +11 -11
  200. package/cjs/components/Spinner/SpinnerFallbackAnimation.d.ts +25 -25
  201. package/cjs/components/Spinner/index.d.ts +1 -1
  202. package/cjs/components/Spinner/locale/index.d.ts +4 -4
  203. package/cjs/components/Spinner/locale/locales/en.d.ts +2 -2
  204. package/cjs/components/Spinner/locale/locales/ru.d.ts +2 -2
  205. package/cjs/components/Spinner/locale/types.d.ts +4 -4
  206. package/cjs/components/Sticky/Sticky.d.ts +54 -53
  207. package/cjs/components/Sticky/Sticky.js +8 -5
  208. package/cjs/components/Sticky/Sticky.js.map +1 -1
  209. package/cjs/components/Sticky/Sticky.styles.d.ts +7 -7
  210. package/cjs/components/Sticky/index.d.ts +1 -1
  211. package/cjs/components/Switcher/Switcher.d.ts +56 -55
  212. package/cjs/components/Switcher/Switcher.js +6 -3
  213. package/cjs/components/Switcher/Switcher.js.map +1 -1
  214. package/cjs/components/Switcher/Switcher.styles.d.ts +10 -10
  215. package/cjs/components/Switcher/index.d.ts +1 -1
  216. package/cjs/components/Switcher/switcherTheme.d.ts +2 -2
  217. package/cjs/components/Tabs/Indicator.d.ts +28 -27
  218. package/cjs/components/Tabs/Indicator.js +16 -15
  219. package/cjs/components/Tabs/Indicator.js.map +1 -1
  220. package/cjs/components/Tabs/Indicator.styles.d.ts +8 -8
  221. package/cjs/components/Tabs/Tab.d.ts +121 -120
  222. package/cjs/components/Tabs/Tab.js +13 -9
  223. package/cjs/components/Tabs/Tab.js.map +1 -1
  224. package/cjs/components/Tabs/Tab.styles.d.ts +27 -27
  225. package/cjs/components/Tabs/Tabs.d.ts +62 -61
  226. package/cjs/components/Tabs/Tabs.js +9 -9
  227. package/cjs/components/Tabs/Tabs.js.map +1 -1
  228. package/cjs/components/Tabs/Tabs.styles.d.ts +5 -5
  229. package/cjs/components/Tabs/TabsContext.d.ts +14 -14
  230. package/cjs/components/Tabs/index.d.ts +2 -2
  231. package/cjs/components/Textarea/Textarea.d.ts +185 -184
  232. package/cjs/components/Textarea/Textarea.js +12 -5
  233. package/cjs/components/Textarea/Textarea.js.map +1 -1
  234. package/cjs/components/Textarea/Textarea.styles.d.ts +15 -15
  235. package/cjs/components/Textarea/TextareaCounter.d.ts +13 -13
  236. package/cjs/components/Textarea/TextareaHelpers.d.ts +11 -11
  237. package/cjs/components/Textarea/index.d.ts +1 -1
  238. package/cjs/components/Toast/Toast.d.ts +56 -55
  239. package/cjs/components/Toast/Toast.js +7 -4
  240. package/cjs/components/Toast/Toast.js.map +1 -1
  241. package/cjs/components/Toast/Toast.styles.d.ts +6 -6
  242. package/cjs/components/Toast/ToastStatic.d.ts +8 -8
  243. package/cjs/components/Toast/ToastView.d.ts +38 -37
  244. package/cjs/components/Toast/ToastView.js +8 -5
  245. package/cjs/components/Toast/ToastView.js.map +1 -1
  246. package/cjs/components/Toast/ToastView.styles.d.ts +8 -8
  247. package/cjs/components/Toast/index.d.ts +1 -1
  248. package/cjs/components/Toggle/Toggle.d.ts +107 -106
  249. package/cjs/components/Toggle/Toggle.js +9 -6
  250. package/cjs/components/Toggle/Toggle.js.map +1 -1
  251. package/cjs/components/Toggle/Toggle.styles.d.ts +30 -30
  252. package/cjs/components/Toggle/index.d.ts +1 -1
  253. package/cjs/components/Token/Token.d.ts +36 -35
  254. package/cjs/components/Token/Token.js +7 -4
  255. package/cjs/components/Token/Token.js.map +1 -1
  256. package/cjs/components/Token/Token.styles.d.ts +29 -29
  257. package/cjs/components/Token/index.d.ts +1 -1
  258. package/cjs/components/TokenInput/TextWidthHelper.d.ts +18 -18
  259. package/cjs/components/TokenInput/TokenInput.d.ts +194 -193
  260. package/cjs/components/TokenInput/TokenInput.js +9 -7
  261. package/cjs/components/TokenInput/TokenInput.js.map +1 -1
  262. package/cjs/components/TokenInput/TokenInput.styles.d.ts +15 -15
  263. package/cjs/components/TokenInput/TokenInputMenu.d.ts +18 -18
  264. package/cjs/components/TokenInput/TokenInputReducer.d.ts +25 -25
  265. package/cjs/components/TokenInput/index.d.ts +1 -1
  266. package/cjs/components/TokenInput/locale/index.d.ts +4 -4
  267. package/cjs/components/TokenInput/locale/locales/en.d.ts +2 -2
  268. package/cjs/components/TokenInput/locale/locales/ru.d.ts +2 -2
  269. package/cjs/components/TokenInput/locale/types.d.ts +4 -4
  270. package/cjs/components/Tooltip/Tooltip.d.ts +173 -171
  271. package/cjs/components/Tooltip/Tooltip.js +16 -5
  272. package/cjs/components/Tooltip/Tooltip.js.map +1 -1
  273. package/cjs/components/Tooltip/Tooltip.styles.d.ts +5 -5
  274. package/cjs/components/Tooltip/index.d.ts +1 -1
  275. package/cjs/components/TooltipMenu/TooltipMenu.d.ts +65 -64
  276. package/cjs/components/TooltipMenu/TooltipMenu.js +8 -5
  277. package/cjs/components/TooltipMenu/TooltipMenu.js.map +1 -1
  278. package/cjs/components/TooltipMenu/index.d.ts +1 -1
  279. package/cjs/index.d.ts +48 -48
  280. package/cjs/internal/BGRuler.d.ts +30 -30
  281. package/cjs/internal/Calendar/Calendar.d.ts +66 -66
  282. package/cjs/internal/Calendar/Calendar.styles.d.ts +5 -5
  283. package/cjs/internal/Calendar/CalendarDateShape.d.ts +14 -14
  284. package/cjs/internal/Calendar/CalendarScrollEvents.d.ts +4 -4
  285. package/cjs/internal/Calendar/CalendarUtils.d.ts +19 -19
  286. package/cjs/internal/Calendar/DayCellView.d.ts +13 -13
  287. package/cjs/internal/Calendar/DayCellView.styles.d.ts +7 -7
  288. package/cjs/internal/Calendar/DayCellViewModel.d.ts +8 -8
  289. package/cjs/internal/Calendar/Month.d.ts +33 -33
  290. package/cjs/internal/Calendar/MonthView.d.ts +21 -21
  291. package/cjs/internal/Calendar/MonthView.styles.d.ts +9 -9
  292. package/cjs/internal/Calendar/MonthViewModel.d.ts +14 -14
  293. package/cjs/internal/Calendar/config.d.ts +9 -9
  294. package/cjs/internal/Calendar/index.d.ts +2 -2
  295. package/cjs/internal/CommonWrapper/CommonWrapper.d.ts +30 -23
  296. package/cjs/internal/CommonWrapper/CommonWrapper.js +40 -15
  297. package/cjs/internal/CommonWrapper/CommonWrapper.js.map +1 -1
  298. package/cjs/internal/CommonWrapper/index.d.ts +1 -1
  299. package/cjs/internal/ComponentCombinator.d.ts +25 -25
  300. package/cjs/internal/ComponentTable.d.ts +21 -21
  301. package/cjs/internal/CustomComboBox/ComboBoxMenu.d.ts +31 -31
  302. package/cjs/internal/CustomComboBox/ComboBoxMenu.js +3 -2
  303. package/cjs/internal/CustomComboBox/ComboBoxMenu.js.map +1 -1
  304. package/cjs/internal/CustomComboBox/ComboBoxView.d.ts +90 -87
  305. package/cjs/internal/CustomComboBox/ComboBoxView.js +15 -5
  306. package/cjs/internal/CustomComboBox/ComboBoxView.js.map +1 -1
  307. package/cjs/internal/CustomComboBox/CustomComboBox.d.ts +136 -135
  308. package/cjs/internal/CustomComboBox/CustomComboBox.js +8 -5
  309. package/cjs/internal/CustomComboBox/CustomComboBox.js.map +1 -1
  310. package/cjs/internal/CustomComboBox/CustomComboBox.styles.d.ts +5 -5
  311. package/cjs/internal/CustomComboBox/CustomComboBoxReducer.d.ts +71 -71
  312. package/cjs/internal/CustomComboBox/CustomComboBoxTypes.d.ts +6 -6
  313. package/cjs/internal/CustomComboBox/index.d.ts +2 -2
  314. package/cjs/internal/CustomComboBox/locale/index.d.ts +4 -4
  315. package/cjs/internal/CustomComboBox/locale/locales/en.d.ts +2 -2
  316. package/cjs/internal/CustomComboBox/locale/locales/ru.d.ts +2 -2
  317. package/cjs/internal/CustomComboBox/locale/types.d.ts +5 -5
  318. package/cjs/internal/DateSelect/DateSelect.d.ts +93 -93
  319. package/cjs/internal/DateSelect/DateSelect.js +3 -3
  320. package/cjs/internal/DateSelect/DateSelect.js.map +1 -1
  321. package/cjs/internal/DateSelect/DateSelect.styles.d.ts +19 -19
  322. package/cjs/internal/DateSelect/index.d.ts +1 -1
  323. package/cjs/internal/DropdownContainer/DropdownContainer.d.ts +43 -46
  324. package/cjs/internal/DropdownContainer/DropdownContainer.js +8 -13
  325. package/cjs/internal/DropdownContainer/DropdownContainer.js.map +1 -1
  326. package/cjs/internal/DropdownContainer/index.d.ts +1 -1
  327. package/cjs/internal/FocusTrap/FocusTrap.d.ts +17 -16
  328. package/cjs/internal/FocusTrap/FocusTrap.js +12 -9
  329. package/cjs/internal/FocusTrap/FocusTrap.js.map +1 -1
  330. package/cjs/internal/FocusTrap/index.d.ts +1 -1
  331. package/cjs/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.d.ts +14 -14
  332. package/cjs/internal/HideBodyVerticalScroll/index.d.ts +1 -1
  333. package/cjs/internal/IgnoreLayerClick/IgnoreLayerClick.d.ts +8 -8
  334. package/cjs/internal/IgnoreLayerClick/IgnoreLayerClick.js +12 -4
  335. package/cjs/internal/IgnoreLayerClick/IgnoreLayerClick.js.map +1 -1
  336. package/cjs/internal/IgnoreLayerClick/index.d.ts +1 -1
  337. package/cjs/internal/InputLikeText/HiddenInput.d.ts +13 -13
  338. package/cjs/internal/InputLikeText/InputLikeText.d.ts +73 -72
  339. package/cjs/internal/InputLikeText/InputLikeText.js +10 -3
  340. package/cjs/internal/InputLikeText/InputLikeText.js.map +1 -1
  341. package/cjs/internal/InputLikeText/InputLikeText.styles.d.ts +7 -7
  342. package/cjs/internal/InputLikeText/index.d.ts +1 -1
  343. package/cjs/internal/InternalMenu/InternalMenu.d.ts +63 -64
  344. package/cjs/internal/InternalMenu/InternalMenu.js +16 -22
  345. package/cjs/internal/InternalMenu/InternalMenu.js.map +1 -1
  346. package/cjs/internal/InternalMenu/InternalMenu.styles.d.ts +9 -9
  347. package/cjs/internal/InternalMenu/index.d.ts +1 -1
  348. package/cjs/internal/InternalMenu/isActiveElement.d.ts +3 -3
  349. package/cjs/internal/MaskCharLowLine/MaskCharLowLine.d.ts +9 -9
  350. package/cjs/internal/MaskCharLowLine/MaskCharLowLine.styles.d.ts +3 -3
  351. package/cjs/internal/MaskCharLowLine/index.d.ts +1 -1
  352. package/cjs/internal/MaskedInput/MaskedInput.d.ts +40 -40
  353. package/cjs/internal/MaskedInput/MaskedInput.js +3 -3
  354. package/cjs/internal/MaskedInput/MaskedInput.js.map +1 -1
  355. package/cjs/internal/MaskedInput/MaskedInput.styles.d.ts +6 -6
  356. package/cjs/internal/MaskedInput/index.d.ts +1 -1
  357. package/cjs/internal/Menu/Menu.d.ts +63 -62
  358. package/cjs/internal/Menu/Menu.js +9 -6
  359. package/cjs/internal/Menu/Menu.js.map +1 -1
  360. package/cjs/internal/Menu/Menu.styles.d.ts +6 -6
  361. package/cjs/internal/Menu/index.d.ts +1 -1
  362. package/cjs/internal/Menu/isActiveElement.d.ts +3 -3
  363. package/cjs/internal/NativeDateInput/NativeDateInput.d.ts +23 -23
  364. package/cjs/internal/NativeDateInput/NativeDateInput.styles.d.ts +3 -3
  365. package/cjs/internal/NativeDateInput/index.d.ts +1 -1
  366. package/cjs/internal/NativeDateInput/utils.d.ts +7 -7
  367. package/cjs/internal/PerformanceMetrics/PerformanceMetrics.d.ts +7 -7
  368. package/cjs/internal/Popup/Popup.d.ts +161 -161
  369. package/cjs/internal/Popup/Popup.js +23 -22
  370. package/cjs/internal/Popup/Popup.js.map +1 -1
  371. package/cjs/internal/Popup/Popup.styles.d.ts +16 -16
  372. package/cjs/internal/Popup/PopupHelper.d.ts +26 -26
  373. package/cjs/internal/Popup/PopupPin.d.ts +56 -56
  374. package/cjs/internal/Popup/PopupPin.styles.d.ts +3 -3
  375. package/cjs/internal/Popup/index.d.ts +1 -1
  376. package/cjs/internal/PopupMenu/PopupMenu.d.ts +85 -84
  377. package/cjs/internal/PopupMenu/PopupMenu.js +7 -4
  378. package/cjs/internal/PopupMenu/PopupMenu.js.map +1 -1
  379. package/cjs/internal/PopupMenu/PopupMenu.styles.d.ts +4 -4
  380. package/cjs/internal/PopupMenu/PopupMenuPositions.d.ts +2 -2
  381. package/cjs/internal/PopupMenu/index.d.ts +1 -1
  382. package/cjs/internal/PopupMenu/validatePositions.d.ts +2 -2
  383. package/cjs/internal/RenderContainer/RenderContainer.d.ts +17 -16
  384. package/cjs/internal/RenderContainer/RenderContainer.js +17 -6
  385. package/cjs/internal/RenderContainer/RenderContainer.js.map +1 -1
  386. package/cjs/internal/RenderContainer/RenderContainerTypes.d.ts +11 -11
  387. package/cjs/internal/RenderContainer/RenderInnerContainer.d.ts +14 -13
  388. package/cjs/internal/RenderContainer/RenderInnerContainer.js +9 -4
  389. package/cjs/internal/RenderContainer/RenderInnerContainer.js.map +1 -1
  390. package/cjs/internal/RenderContainer/index.d.ts +1 -1
  391. package/cjs/internal/RenderLayer/RenderLayer.d.ts +29 -27
  392. package/cjs/internal/RenderLayer/RenderLayer.js +13 -7
  393. package/cjs/internal/RenderLayer/RenderLayer.js.map +1 -1
  394. package/cjs/internal/RenderLayer/index.d.ts +1 -1
  395. package/cjs/internal/ResizeDetector/ResizeDetector.d.ts +12 -12
  396. package/cjs/internal/ResizeDetector/ResizeDetector.styles.d.ts +5 -5
  397. package/cjs/internal/ResizeDetector/index.d.ts +1 -1
  398. package/cjs/internal/ThemePlayground/AnotherInputsPlayground.d.ts +13 -13
  399. package/cjs/internal/ThemePlayground/CheckboxPlayground.d.ts +1 -1
  400. package/cjs/internal/ThemePlayground/ComponentsGroup.d.ts +10 -10
  401. package/cjs/internal/ThemePlayground/CurrencyInputPlayground.d.ts +11 -11
  402. package/cjs/internal/ThemePlayground/FxInputPlayground.d.ts +10 -10
  403. package/cjs/internal/ThemePlayground/HintPlayground.d.ts +6 -6
  404. package/cjs/internal/ThemePlayground/PagingPlayground.d.ts +10 -10
  405. package/cjs/internal/ThemePlayground/Playground.d.ts +31 -31
  406. package/cjs/internal/ThemePlayground/Playground.styles.d.ts +23 -23
  407. package/cjs/internal/ThemePlayground/RadioPlayground.d.ts +1 -1
  408. package/cjs/internal/ThemePlayground/SelectPlayground.d.ts +12 -12
  409. package/cjs/internal/ThemePlayground/ShowcaseGroup.d.ts +5 -5
  410. package/cjs/internal/ThemePlayground/SwitcherPlayground.d.ts +15 -15
  411. package/cjs/internal/ThemePlayground/ThemeContextPlayground.d.ts +51 -51
  412. package/cjs/internal/ThemePlayground/ThemeEditor.d.ts +39 -39
  413. package/cjs/internal/ThemePlayground/TogglePlayground.d.ts +9 -9
  414. package/cjs/internal/ThemePlayground/TokenInputPlayground.d.ts +7 -7
  415. package/cjs/internal/ThemePlayground/VariableValue.d.ts +45 -45
  416. package/cjs/internal/ThemePlayground/constants.d.ts +18 -18
  417. package/cjs/internal/ThemePlayground/darkTheme.d.ts +255 -255
  418. package/cjs/internal/ThemePlayground/helpers.d.ts +2 -2
  419. package/cjs/internal/ThemeShowcase/ThemeShowcase.d.ts +22 -22
  420. package/cjs/internal/ThemeShowcase/ThemeShowcase.js +20 -19
  421. package/cjs/internal/ThemeShowcase/ThemeShowcase.js.map +1 -1
  422. package/cjs/internal/ThemeShowcase/ThemeShowcase.styles.d.ts +24 -24
  423. package/cjs/internal/ThemeShowcase/VariablesCollector.d.ts +22 -22
  424. package/cjs/internal/ZIndex/ZIndex.d.ts +34 -34
  425. package/cjs/internal/ZIndex/ZIndexStorage.d.ts +18 -18
  426. package/cjs/internal/ZIndex/index.d.ts +1 -1
  427. package/cjs/internal/icons/16px/icon.styles.d.ts +4 -4
  428. package/cjs/internal/icons/16px/index.d.ts +22 -21
  429. package/cjs/internal/icons/16px/index.js +108 -51
  430. package/cjs/internal/icons/16px/index.js.map +1 -1
  431. package/cjs/internal/icons/20px/Icon.d.ts +30 -30
  432. package/cjs/internal/icons/20px/icon.styles.d.ts +4 -4
  433. package/cjs/internal/icons/20px/index.d.ts +2 -2
  434. package/cjs/internal/icons/20px/svg.d.ts +14 -14
  435. package/cjs/internal/icons/CloudIcon.d.ts +1 -1
  436. package/cjs/internal/icons/CrossIcon.d.ts +1 -1
  437. package/cjs/internal/icons/SpinnerIcon.d.ts +23 -23
  438. package/cjs/internal/icons/SpinnerIcon.styles.d.ts +4 -4
  439. package/cjs/internal/themes/DefaultTheme.d.ts +766 -766
  440. package/cjs/internal/themes/FlatTheme.d.ts +132 -132
  441. package/cjs/internal/themes/Theme8px.d.ts +271 -271
  442. package/cjs/lib/ConditionalHandler.d.ts +11 -11
  443. package/cjs/lib/LayoutEvents.d.ts +4 -4
  444. package/cjs/lib/ModalStack.d.ts +14 -14
  445. package/cjs/lib/SSRSafe.d.ts +4 -4
  446. package/cjs/lib/Supports.d.ts +1 -1
  447. package/cjs/lib/Upgrades.d.ts +6 -6
  448. package/cjs/lib/animation/index.d.ts +6 -6
  449. package/cjs/lib/animation/presets.d.ts +18 -18
  450. package/cjs/lib/animation/stepper.d.ts +1 -1
  451. package/cjs/lib/client.d.ts +16 -16
  452. package/cjs/lib/createPropsGetter.d.ts +2 -2
  453. package/cjs/lib/currentEnvironment.d.ts +3 -3
  454. package/cjs/lib/date/InternalDate.d.ts +58 -58
  455. package/cjs/lib/date/InternalDateCalculator.d.ts +6 -6
  456. package/cjs/lib/date/InternalDateGetter.d.ts +15 -15
  457. package/cjs/lib/date/InternalDateSetter.d.ts +6 -6
  458. package/cjs/lib/date/InternalDateTransformer.d.ts +12 -12
  459. package/cjs/lib/date/InternalDateValidator.d.ts +12 -12
  460. package/cjs/lib/date/constants.d.ts +28 -28
  461. package/cjs/lib/date/localeSets.d.ts +5 -5
  462. package/cjs/lib/date/types.d.ts +90 -90
  463. package/cjs/lib/dom/getScrollWidth.d.ts +1 -1
  464. package/cjs/lib/dom/tabbableHelpers.d.ts +16 -16
  465. package/cjs/lib/events/MouseDrag.d.ts +58 -58
  466. package/cjs/lib/events/fixClickFocusIE.d.ts +1 -1
  467. package/cjs/lib/events/fixFirefoxModifiedClickOnLabel.d.ts +2 -2
  468. package/cjs/lib/events/keyListener.d.ts +7 -7
  469. package/cjs/lib/events/keyboard/KeyboardEventCodes.d.ts +30 -30
  470. package/cjs/lib/events/keyboard/KeyboardMapKeys.d.ts +6 -6
  471. package/cjs/lib/events/keyboard/extractCode.d.ts +3 -3
  472. package/cjs/lib/events/keyboard/identifiers.d.ts +48 -48
  473. package/cjs/lib/events/stopPropagation.d.ts +1 -1
  474. package/cjs/lib/events/tabListener.d.ts +1 -1
  475. package/cjs/lib/extractKeyboardAction.d.ts +13 -13
  476. package/cjs/lib/filterProps.d.ts +12 -12
  477. package/cjs/lib/forwardRefAndName.d.ts +5 -5
  478. package/cjs/lib/getDisplayName.d.ts +3 -3
  479. package/cjs/lib/listenFocusOutside.d.ts +8 -8
  480. package/cjs/lib/locale/LocaleContext.d.ts +7 -7
  481. package/cjs/lib/locale/LocaleHelper.d.ts +9 -9
  482. package/cjs/lib/locale/constants.d.ts +2 -2
  483. package/cjs/lib/locale/decorators.d.ts +36 -36
  484. package/cjs/lib/locale/index.d.ts +3 -3
  485. package/cjs/lib/locale/types.d.ts +19 -19
  486. package/cjs/lib/memo.d.ts +1 -1
  487. package/cjs/lib/net/fetch.d.ts +13 -13
  488. package/cjs/lib/polyfillPlaceholder.d.ts +1 -1
  489. package/cjs/lib/reactGetTextContent.d.ts +2 -2
  490. package/cjs/lib/rootNode/getRootNode.d.ts +3 -0
  491. package/cjs/lib/rootNode/getRootNode.js +22 -0
  492. package/cjs/lib/rootNode/getRootNode.js.map +1 -0
  493. package/cjs/lib/rootNode/index.d.ts +2 -0
  494. package/cjs/lib/rootNode/index.js +2 -0
  495. package/cjs/lib/rootNode/index.js.map +1 -0
  496. package/cjs/lib/rootNode/rootNodeDecorator.d.ts +33 -0
  497. package/cjs/lib/rootNode/rootNodeDecorator.js +31 -0
  498. package/cjs/lib/rootNode/rootNodeDecorator.js.map +1 -0
  499. package/cjs/lib/styles/ColorFactory.d.ts +11 -11
  500. package/cjs/lib/styles/ColorFunctions.d.ts +11 -11
  501. package/cjs/lib/styles/ColorHelpers.d.ts +20 -20
  502. package/cjs/lib/styles/ColorKeywords.d.ts +150 -150
  503. package/cjs/lib/styles/ColorObject.d.ts +52 -52
  504. package/cjs/lib/styles/DimensionFunctions.d.ts +1 -1
  505. package/cjs/lib/styles/HoldSelectionColor.d.ts +1 -1
  506. package/cjs/lib/styles/Mixins.d.ts +2 -2
  507. package/cjs/lib/taskWithDelayAndMinimalDuration.d.ts +21 -21
  508. package/cjs/lib/theming/AnimationKeyframes.d.ts +9 -9
  509. package/cjs/lib/theming/Emotion.d.ts +15 -15
  510. package/cjs/lib/theming/Emotion.js +1 -0
  511. package/cjs/lib/theming/Emotion.js.map +1 -1
  512. package/cjs/lib/theming/Theme.d.ts +3 -3
  513. package/cjs/lib/theming/ThemeContext.d.ts +2 -2
  514. package/cjs/lib/theming/ThemeFactory.d.ts +8 -8
  515. package/cjs/lib/theming/ThemeHelpers.d.ts +11 -11
  516. package/cjs/lib/theming/themes/DefaultTheme.d.ts +1 -1
  517. package/cjs/lib/theming/themes/DefaultThemeOld.d.ts +1 -1
  518. package/cjs/lib/theming/themes/FlatTheme.d.ts +1 -1
  519. package/cjs/lib/theming/themes/FlatThemeOld.d.ts +1 -1
  520. package/cjs/lib/utils.d.ts +28 -28
  521. package/cjs/lib/withClassWrapper.d.ts +71 -68
  522. package/cjs/lib/withClassWrapper.js.map +1 -1
  523. package/components/Autocomplete/Autocomplete/Autocomplete.js +19 -16
  524. package/components/Autocomplete/Autocomplete/Autocomplete.js.map +1 -1
  525. package/components/Autocomplete/Autocomplete.d.ts +113 -112
  526. package/components/Autocomplete/index.d.ts +1 -1
  527. package/components/Button/Button/Button.js +15 -12
  528. package/components/Button/Button/Button.js.map +1 -1
  529. package/components/Button/Button.d.ts +161 -160
  530. package/components/Button/Button.mixins.d.ts +6 -6
  531. package/components/Button/Button.styles.d.ts +67 -67
  532. package/components/Button/Corners.d.ts +6 -6
  533. package/components/Button/index.d.ts +1 -1
  534. package/components/Center/Center/Center.js +14 -9
  535. package/components/Center/Center/Center.js.map +1 -1
  536. package/components/Center/Center.d.ts +25 -24
  537. package/components/Center/Center.styles.d.ts +7 -7
  538. package/components/Center/index.d.ts +1 -1
  539. package/components/Checkbox/Checkbox/Checkbox.js +16 -10
  540. package/components/Checkbox/Checkbox/Checkbox.js.map +1 -1
  541. package/components/Checkbox/Checkbox.d.ts +96 -95
  542. package/components/Checkbox/Checkbox.styles.d.ts +22 -22
  543. package/components/Checkbox/index.d.ts +1 -1
  544. package/components/ComboBox/ComboBox/ComboBox.js +38 -32
  545. package/components/ComboBox/ComboBox/ComboBox.js.map +1 -1
  546. package/components/ComboBox/ComboBox.d.ts +184 -182
  547. package/components/ComboBox/index.d.ts +1 -1
  548. package/components/CurrencyInput/CurrencyHelper.d.ts +35 -35
  549. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js +29 -27
  550. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js.map +1 -1
  551. package/components/CurrencyInput/CurrencyInput.d.ts +106 -106
  552. package/components/CurrencyInput/CurrencyInputHelper.d.ts +20 -20
  553. package/components/CurrencyInput/CurrencyInputKeyboardActions.d.ts +18 -18
  554. package/components/CurrencyInput/CursorHelper.d.ts +10 -10
  555. package/components/CurrencyInput/SelectionHelper.d.ts +11 -11
  556. package/components/CurrencyInput/constants.d.ts +2 -2
  557. package/components/CurrencyInput/index.d.ts +1 -1
  558. package/components/CurrencyLabel/CurrencyLabel.d.ts +24 -24
  559. package/components/CurrencyLabel/index.d.ts +1 -1
  560. package/components/DateInput/DateFragmentsView.d.ts +20 -20
  561. package/components/DateInput/DateFragmentsView.styles.d.ts +7 -7
  562. package/components/DateInput/DateInput/DateInput.js +7 -3
  563. package/components/DateInput/DateInput/DateInput.js.map +1 -1
  564. package/components/DateInput/DateInput.d.ts +107 -106
  565. package/components/DateInput/DateInput.styles.d.ts +10 -10
  566. package/components/DateInput/ViewDateInputValidateChecks.d.ts +10 -10
  567. package/components/DateInput/helpers/DateInputKeyboardActions.d.ts +21 -21
  568. package/components/DateInput/helpers/InternalDateMediator.d.ts +26 -26
  569. package/components/DateInput/helpers/SelectionHelpers.d.ts +2 -2
  570. package/components/DateInput/helpers/inputNumber.d.ts +5 -5
  571. package/components/DateInput/index.d.ts +1 -1
  572. package/components/DatePicker/DatePicker/DatePicker.js +29 -22
  573. package/components/DatePicker/DatePicker/DatePicker.js.map +1 -1
  574. package/components/DatePicker/DatePicker.d.ts +134 -132
  575. package/components/DatePicker/DatePicker.styles.d.ts +3 -3
  576. package/components/DatePicker/DatePickerHelpers.d.ts +2 -2
  577. package/components/DatePicker/Picker.d.ts +33 -33
  578. package/components/DatePicker/Picker.styles.d.ts +5 -5
  579. package/components/DatePicker/index.d.ts +1 -1
  580. package/components/DatePicker/locale/index.d.ts +4 -4
  581. package/components/DatePicker/locale/locales/en.d.ts +2 -2
  582. package/components/DatePicker/locale/locales/ru.d.ts +2 -2
  583. package/components/DatePicker/locale/types.d.ts +5 -5
  584. package/components/Dropdown/Dropdown/Dropdown.js +15 -13
  585. package/components/Dropdown/Dropdown/Dropdown.js.map +1 -1
  586. package/components/Dropdown/Dropdown.d.ts +124 -123
  587. package/components/Dropdown/index.d.ts +1 -1
  588. package/components/DropdownMenu/DropdownMenu/DropdownMenu.js +15 -9
  589. package/components/DropdownMenu/DropdownMenu/DropdownMenu.js.map +1 -1
  590. package/components/DropdownMenu/DropdownMenu.d.ts +65 -64
  591. package/components/DropdownMenu/index.d.ts +1 -1
  592. package/components/FxInput/FxInput/FxInput.js +13 -9
  593. package/components/FxInput/FxInput/FxInput.js.map +1 -1
  594. package/components/FxInput/FxInput.d.ts +50 -49
  595. package/components/FxInput/index.d.ts +1 -1
  596. package/components/Gapped/Gapped/Gapped.js +24 -21
  597. package/components/Gapped/Gapped/Gapped.js.map +1 -1
  598. package/components/Gapped/Gapped.d.ts +58 -56
  599. package/components/Gapped/index.d.ts +1 -1
  600. package/components/Group/Group/Group.js +22 -9
  601. package/components/Group/Group/Group.js.map +1 -1
  602. package/components/Group/Group.d.ts +14 -13
  603. package/components/Group/Group.styles.d.ts +8 -8
  604. package/components/Group/index.d.ts +1 -1
  605. package/components/Hint/Hint/Hint.js +18 -12
  606. package/components/Hint/Hint/Hint.js.map +1 -1
  607. package/components/Hint/Hint.d.ts +80 -79
  608. package/components/Hint/Hint.styles.d.ts +5 -5
  609. package/components/Hint/index.d.ts +1 -1
  610. package/components/Input/Input/Input.js +21 -14
  611. package/components/Input/Input/Input.js.map +1 -1
  612. package/components/Input/Input.d.ts +157 -154
  613. package/components/Input/Input.styles.d.ts +42 -42
  614. package/components/Input/index.d.ts +1 -1
  615. package/components/Kebab/Kebab/Kebab.js +12 -7
  616. package/components/Kebab/Kebab/Kebab.js.map +1 -1
  617. package/components/Kebab/Kebab.d.ts +71 -70
  618. package/components/Kebab/Kebab.styles.d.ts +12 -12
  619. package/components/Kebab/index.d.ts +1 -1
  620. package/components/Link/Link/Link.js +15 -11
  621. package/components/Link/Link/Link.js.map +1 -1
  622. package/components/Link/Link.d.ts +72 -71
  623. package/components/Link/Link.mixins.d.ts +3 -3
  624. package/components/Link/Link.styles.d.ts +15 -15
  625. package/components/Link/index.d.ts +1 -1
  626. package/components/Loader/Loader/Loader.js +19 -13
  627. package/components/Loader/Loader/Loader.js.map +1 -1
  628. package/components/Loader/Loader.d.ts +100 -99
  629. package/components/Loader/Loader.styles.d.ts +8 -8
  630. package/components/Loader/index.d.ts +1 -1
  631. package/components/MenuHeader/MenuHeader.d.ts +20 -20
  632. package/components/MenuHeader/MenuHeader.styles.d.ts +5 -5
  633. package/components/MenuHeader/index.d.ts +1 -1
  634. package/components/MenuItem/MenuItem/MenuItem.js +21 -14
  635. package/components/MenuItem/MenuItem/MenuItem.js.map +1 -1
  636. package/components/MenuItem/MenuItem.d.ts +94 -93
  637. package/components/MenuItem/MenuItem.styles.d.ts +13 -13
  638. package/components/MenuItem/index.d.ts +1 -1
  639. package/components/MenuSeparator/MenuSeparator.d.ts +12 -12
  640. package/components/MenuSeparator/MenuSeparator.styles.d.ts +4 -4
  641. package/components/MenuSeparator/index.d.ts +1 -1
  642. package/components/Modal/Modal.d.ts +87 -87
  643. package/components/Modal/Modal.styles.d.ts +26 -26
  644. package/components/Modal/ModalBody/ModalBody.js +16 -10
  645. package/components/Modal/ModalBody/ModalBody.js.map +1 -1
  646. package/components/Modal/ModalBody.d.ts +21 -20
  647. package/components/Modal/ModalClose.d.ts +2 -2
  648. package/components/Modal/ModalContext.d.ts +15 -15
  649. package/components/Modal/ModalFooter.d.ts +21 -21
  650. package/components/Modal/ModalHeader.d.ts +17 -17
  651. package/components/Modal/index.d.ts +4 -4
  652. package/components/Paging/NavigationHelper.d.ts +7 -7
  653. package/components/Paging/Paging/Paging.js +17 -14
  654. package/components/Paging/Paging/Paging.js.map +1 -1
  655. package/components/Paging/Paging.d.ts +90 -90
  656. package/components/Paging/Paging.styles.d.ts +16 -16
  657. package/components/Paging/PagingHelper.d.ts +2 -2
  658. package/components/Paging/index.d.ts +1 -1
  659. package/components/Paging/locale/index.d.ts +4 -4
  660. package/components/Paging/locale/locales/en.d.ts +2 -2
  661. package/components/Paging/locale/locales/ru.d.ts +2 -2
  662. package/components/Paging/locale/types.d.ts +3 -3
  663. package/components/PasswordInput/PasswordInput/PasswordInput.js +18 -14
  664. package/components/PasswordInput/PasswordInput/PasswordInput.js.map +1 -1
  665. package/components/PasswordInput/PasswordInput.d.ts +49 -48
  666. package/components/PasswordInput/PasswordInput.styles.d.ts +10 -10
  667. package/components/PasswordInput/index.d.ts +1 -1
  668. package/components/Radio/Radio/Radio.js +17 -19
  669. package/components/Radio/Radio/Radio.js.map +1 -1
  670. package/components/Radio/Radio.d.ts +77 -82
  671. package/components/Radio/Radio.styles.d.ts +19 -19
  672. package/components/Radio/index.d.ts +1 -1
  673. package/components/RadioGroup/Prevent.d.ts +8 -8
  674. package/components/RadioGroup/RadioGroup/RadioGroup.js +36 -29
  675. package/components/RadioGroup/RadioGroup/RadioGroup.js.map +1 -1
  676. package/components/RadioGroup/RadioGroup.d.ts +117 -132
  677. package/components/RadioGroup/RadioGroup.styles.d.ts +7 -7
  678. package/components/RadioGroup/RadioGroupContext/RadioGroupContext.js +12 -0
  679. package/components/RadioGroup/RadioGroupContext/RadioGroupContext.js.map +1 -0
  680. package/components/RadioGroup/RadioGroupContext/package.json +6 -0
  681. package/components/RadioGroup/RadioGroupContext.d.ts +10 -0
  682. package/components/RadioGroup/index.d.ts +1 -1
  683. package/components/ScrollContainer/ScrollBar.d.ts +37 -37
  684. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js +13 -8
  685. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js.map +1 -1
  686. package/components/ScrollContainer/ScrollContainer.constants.d.ts +23 -23
  687. package/components/ScrollContainer/ScrollContainer.d.ts +84 -83
  688. package/components/ScrollContainer/ScrollContainer.helpers.d.ts +10 -10
  689. package/components/ScrollContainer/ScrollContainer.styles.d.ts +16 -16
  690. package/components/ScrollContainer/index.d.ts +1 -1
  691. package/components/Select/Item.d.ts +7 -7
  692. package/components/Select/Select/Select.js +8 -5
  693. package/components/Select/Select/Select.js.map +1 -1
  694. package/components/Select/Select.d.ts +179 -178
  695. package/components/Select/Select.styles.d.ts +17 -17
  696. package/components/Select/index.d.ts +1 -1
  697. package/components/Select/locale/index.d.ts +4 -4
  698. package/components/Select/locale/locales/en.d.ts +2 -2
  699. package/components/Select/locale/locales/ru.d.ts +2 -2
  700. package/components/Select/locale/types.d.ts +4 -4
  701. package/components/Select/selectTheme.d.ts +3 -3
  702. package/components/SidePage/SidePage.d.ts +104 -104
  703. package/components/SidePage/SidePage.styles.d.ts +37 -37
  704. package/components/SidePage/SidePageBody/SidePageBody.js +16 -10
  705. package/components/SidePage/SidePageBody/SidePageBody.js.map +1 -1
  706. package/components/SidePage/SidePageBody.d.ts +19 -18
  707. package/components/SidePage/SidePageContainer/SidePageContainer.js +16 -9
  708. package/components/SidePage/SidePageContainer/SidePageContainer.js.map +1 -1
  709. package/components/SidePage/SidePageContainer.d.ts +15 -14
  710. package/components/SidePage/SidePageContext.d.ts +15 -15
  711. package/components/SidePage/SidePageFooter/SidePageFooter.js +22 -19
  712. package/components/SidePage/SidePageFooter/SidePageFooter.js.map +1 -1
  713. package/components/SidePage/SidePageFooter.d.ts +36 -37
  714. package/components/SidePage/SidePageHeader/SidePageHeader.js +15 -10
  715. package/components/SidePage/SidePageHeader/SidePageHeader.js.map +1 -1
  716. package/components/SidePage/SidePageHeader.d.ts +41 -40
  717. package/components/SidePage/index.d.ts +5 -5
  718. package/components/Spinner/Spinner/Spinner.js +8 -3
  719. package/components/Spinner/Spinner/Spinner.js.map +1 -1
  720. package/components/Spinner/Spinner.d.ts +48 -47
  721. package/components/Spinner/Spinner.styles.d.ts +11 -11
  722. package/components/Spinner/SpinnerFallbackAnimation.d.ts +25 -25
  723. package/components/Spinner/index.d.ts +1 -1
  724. package/components/Spinner/locale/index.d.ts +4 -4
  725. package/components/Spinner/locale/locales/en.d.ts +2 -2
  726. package/components/Spinner/locale/locales/ru.d.ts +2 -2
  727. package/components/Spinner/locale/types.d.ts +4 -4
  728. package/components/Sticky/Sticky/Sticky.js +13 -8
  729. package/components/Sticky/Sticky/Sticky.js.map +1 -1
  730. package/components/Sticky/Sticky.d.ts +54 -53
  731. package/components/Sticky/Sticky.styles.d.ts +7 -7
  732. package/components/Sticky/index.d.ts +1 -1
  733. package/components/Switcher/Switcher/Switcher.js +11 -6
  734. package/components/Switcher/Switcher/Switcher.js.map +1 -1
  735. package/components/Switcher/Switcher.d.ts +56 -55
  736. package/components/Switcher/Switcher.styles.d.ts +10 -10
  737. package/components/Switcher/index.d.ts +1 -1
  738. package/components/Switcher/switcherTheme.d.ts +2 -2
  739. package/components/Tabs/Indicator/Indicator.js +16 -14
  740. package/components/Tabs/Indicator/Indicator.js.map +1 -1
  741. package/components/Tabs/Indicator.d.ts +28 -27
  742. package/components/Tabs/Indicator.styles.d.ts +8 -8
  743. package/components/Tabs/Tab/Tab.js +31 -34
  744. package/components/Tabs/Tab/Tab.js.map +1 -1
  745. package/components/Tabs/Tab.d.ts +121 -120
  746. package/components/Tabs/Tab.styles.d.ts +27 -27
  747. package/components/Tabs/Tabs/Tabs.js +20 -20
  748. package/components/Tabs/Tabs/Tabs.js.map +1 -1
  749. package/components/Tabs/Tabs.d.ts +62 -61
  750. package/components/Tabs/Tabs.styles.d.ts +5 -5
  751. package/components/Tabs/TabsContext.d.ts +14 -14
  752. package/components/Tabs/index.d.ts +2 -2
  753. package/components/Textarea/Textarea/Textarea.js +21 -17
  754. package/components/Textarea/Textarea/Textarea.js.map +1 -1
  755. package/components/Textarea/Textarea.d.ts +185 -184
  756. package/components/Textarea/Textarea.styles.d.ts +15 -15
  757. package/components/Textarea/TextareaCounter.d.ts +13 -13
  758. package/components/Textarea/TextareaHelpers.d.ts +11 -11
  759. package/components/Textarea/index.d.ts +1 -1
  760. package/components/Toast/Toast/Toast.js +19 -13
  761. package/components/Toast/Toast/Toast.js.map +1 -1
  762. package/components/Toast/Toast.d.ts +56 -55
  763. package/components/Toast/Toast.styles.d.ts +6 -6
  764. package/components/Toast/ToastStatic.d.ts +8 -8
  765. package/components/Toast/ToastView/ToastView.js +10 -5
  766. package/components/Toast/ToastView/ToastView.js.map +1 -1
  767. package/components/Toast/ToastView.d.ts +38 -37
  768. package/components/Toast/ToastView.styles.d.ts +8 -8
  769. package/components/Toast/index.d.ts +1 -1
  770. package/components/Toggle/Toggle/Toggle.js +16 -11
  771. package/components/Toggle/Toggle/Toggle.js.map +1 -1
  772. package/components/Toggle/Toggle.d.ts +107 -106
  773. package/components/Toggle/Toggle.styles.d.ts +30 -30
  774. package/components/Toggle/index.d.ts +1 -1
  775. package/components/Token/Token/Token.js +11 -4
  776. package/components/Token/Token/Token.js.map +1 -1
  777. package/components/Token/Token.d.ts +36 -35
  778. package/components/Token/Token.styles.d.ts +29 -29
  779. package/components/Token/index.d.ts +1 -1
  780. package/components/TokenInput/TextWidthHelper.d.ts +18 -18
  781. package/components/TokenInput/TokenInput/TokenInput.js +11 -5
  782. package/components/TokenInput/TokenInput/TokenInput.js.map +1 -1
  783. package/components/TokenInput/TokenInput.d.ts +194 -193
  784. package/components/TokenInput/TokenInput.styles.d.ts +15 -15
  785. package/components/TokenInput/TokenInputMenu.d.ts +18 -18
  786. package/components/TokenInput/TokenInputReducer.d.ts +25 -25
  787. package/components/TokenInput/index.d.ts +1 -1
  788. package/components/TokenInput/locale/index.d.ts +4 -4
  789. package/components/TokenInput/locale/locales/en.d.ts +2 -2
  790. package/components/TokenInput/locale/locales/ru.d.ts +2 -2
  791. package/components/TokenInput/locale/types.d.ts +4 -4
  792. package/components/Tooltip/Tooltip/Tooltip.js +24 -15
  793. package/components/Tooltip/Tooltip/Tooltip.js.map +1 -1
  794. package/components/Tooltip/Tooltip.d.ts +173 -171
  795. package/components/Tooltip/Tooltip.styles.d.ts +5 -5
  796. package/components/Tooltip/index.d.ts +1 -1
  797. package/components/TooltipMenu/TooltipMenu/TooltipMenu.js +23 -17
  798. package/components/TooltipMenu/TooltipMenu/TooltipMenu.js.map +1 -1
  799. package/components/TooltipMenu/TooltipMenu.d.ts +65 -64
  800. package/components/TooltipMenu/index.d.ts +1 -1
  801. package/index.d.ts +48 -48
  802. package/internal/BGRuler.d.ts +30 -30
  803. package/internal/Calendar/Calendar.d.ts +66 -66
  804. package/internal/Calendar/Calendar.styles.d.ts +5 -5
  805. package/internal/Calendar/CalendarDateShape.d.ts +14 -14
  806. package/internal/Calendar/CalendarScrollEvents.d.ts +4 -4
  807. package/internal/Calendar/CalendarUtils.d.ts +19 -19
  808. package/internal/Calendar/DayCellView.d.ts +13 -13
  809. package/internal/Calendar/DayCellView.styles.d.ts +7 -7
  810. package/internal/Calendar/DayCellViewModel.d.ts +8 -8
  811. package/internal/Calendar/Month.d.ts +33 -33
  812. package/internal/Calendar/MonthView.d.ts +21 -21
  813. package/internal/Calendar/MonthView.styles.d.ts +9 -9
  814. package/internal/Calendar/MonthViewModel.d.ts +14 -14
  815. package/internal/Calendar/config.d.ts +9 -9
  816. package/internal/Calendar/index.d.ts +2 -2
  817. package/internal/CommonWrapper/CommonWrapper/CommonWrapper.js +36 -7
  818. package/internal/CommonWrapper/CommonWrapper/CommonWrapper.js.map +1 -1
  819. package/internal/CommonWrapper/CommonWrapper.d.ts +30 -23
  820. package/internal/CommonWrapper/index.d.ts +1 -1
  821. package/internal/ComponentCombinator.d.ts +25 -25
  822. package/internal/ComponentTable.d.ts +21 -21
  823. package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js +5 -3
  824. package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js.map +1 -1
  825. package/internal/CustomComboBox/ComboBoxMenu.d.ts +31 -31
  826. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js +23 -13
  827. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js.map +1 -1
  828. package/internal/CustomComboBox/ComboBoxView.d.ts +90 -87
  829. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js +12 -4
  830. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js.map +1 -1
  831. package/internal/CustomComboBox/CustomComboBox.d.ts +136 -135
  832. package/internal/CustomComboBox/CustomComboBox.styles.d.ts +5 -5
  833. package/internal/CustomComboBox/CustomComboBoxReducer.d.ts +71 -71
  834. package/internal/CustomComboBox/CustomComboBoxTypes.d.ts +6 -6
  835. package/internal/CustomComboBox/index.d.ts +2 -2
  836. package/internal/CustomComboBox/locale/index.d.ts +4 -4
  837. package/internal/CustomComboBox/locale/locales/en.d.ts +2 -2
  838. package/internal/CustomComboBox/locale/locales/ru.d.ts +2 -2
  839. package/internal/CustomComboBox/locale/types.d.ts +5 -5
  840. package/internal/DateSelect/DateSelect/DateSelect.js +5 -5
  841. package/internal/DateSelect/DateSelect/DateSelect.js.map +1 -1
  842. package/internal/DateSelect/DateSelect.d.ts +93 -93
  843. package/internal/DateSelect/DateSelect.styles.d.ts +19 -19
  844. package/internal/DateSelect/index.d.ts +1 -1
  845. package/internal/DropdownContainer/DropdownContainer/DropdownContainer.js +11 -15
  846. package/internal/DropdownContainer/DropdownContainer/DropdownContainer.js.map +1 -1
  847. package/internal/DropdownContainer/DropdownContainer.d.ts +43 -46
  848. package/internal/DropdownContainer/index.d.ts +1 -1
  849. package/internal/FocusTrap/FocusTrap/FocusTrap.js +17 -9
  850. package/internal/FocusTrap/FocusTrap/FocusTrap.js.map +1 -1
  851. package/internal/FocusTrap/FocusTrap.d.ts +17 -16
  852. package/internal/FocusTrap/index.d.ts +1 -1
  853. package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.d.ts +14 -14
  854. package/internal/HideBodyVerticalScroll/index.d.ts +1 -1
  855. package/internal/IgnoreLayerClick/IgnoreLayerClick/IgnoreLayerClick.js +13 -7
  856. package/internal/IgnoreLayerClick/IgnoreLayerClick/IgnoreLayerClick.js.map +1 -1
  857. package/internal/IgnoreLayerClick/IgnoreLayerClick.d.ts +8 -8
  858. package/internal/IgnoreLayerClick/index.d.ts +1 -1
  859. package/internal/InputLikeText/HiddenInput.d.ts +13 -13
  860. package/internal/InputLikeText/InputLikeText/InputLikeText.js +11 -6
  861. package/internal/InputLikeText/InputLikeText/InputLikeText.js.map +1 -1
  862. package/internal/InputLikeText/InputLikeText.d.ts +73 -72
  863. package/internal/InputLikeText/InputLikeText.styles.d.ts +7 -7
  864. package/internal/InputLikeText/index.d.ts +1 -1
  865. package/internal/InternalMenu/InternalMenu/InternalMenu.js +24 -25
  866. package/internal/InternalMenu/InternalMenu/InternalMenu.js.map +1 -1
  867. package/internal/InternalMenu/InternalMenu.d.ts +63 -64
  868. package/internal/InternalMenu/InternalMenu.styles.d.ts +9 -9
  869. package/internal/InternalMenu/index.d.ts +1 -1
  870. package/internal/InternalMenu/isActiveElement.d.ts +3 -3
  871. package/internal/MaskCharLowLine/MaskCharLowLine.d.ts +9 -9
  872. package/internal/MaskCharLowLine/MaskCharLowLine.styles.d.ts +3 -3
  873. package/internal/MaskCharLowLine/index.d.ts +1 -1
  874. package/internal/MaskedInput/MaskedInput/MaskedInput.js +7 -7
  875. package/internal/MaskedInput/MaskedInput/MaskedInput.js.map +1 -1
  876. package/internal/MaskedInput/MaskedInput.d.ts +40 -40
  877. package/internal/MaskedInput/MaskedInput.styles.d.ts +6 -6
  878. package/internal/MaskedInput/index.d.ts +1 -1
  879. package/internal/Menu/Menu/Menu.js +11 -8
  880. package/internal/Menu/Menu/Menu.js.map +1 -1
  881. package/internal/Menu/Menu.d.ts +63 -62
  882. package/internal/Menu/Menu.styles.d.ts +6 -6
  883. package/internal/Menu/index.d.ts +1 -1
  884. package/internal/Menu/isActiveElement.d.ts +3 -3
  885. package/internal/NativeDateInput/NativeDateInput.d.ts +23 -23
  886. package/internal/NativeDateInput/NativeDateInput.styles.d.ts +3 -3
  887. package/internal/NativeDateInput/index.d.ts +1 -1
  888. package/internal/NativeDateInput/utils.d.ts +7 -7
  889. package/internal/PerformanceMetrics/PerformanceMetrics.d.ts +7 -7
  890. package/internal/Popup/Popup/Popup.js +61 -61
  891. package/internal/Popup/Popup/Popup.js.map +1 -1
  892. package/internal/Popup/Popup.d.ts +161 -161
  893. package/internal/Popup/Popup.styles.d.ts +16 -16
  894. package/internal/Popup/PopupHelper.d.ts +26 -26
  895. package/internal/Popup/PopupPin.d.ts +56 -56
  896. package/internal/Popup/PopupPin.styles.d.ts +3 -3
  897. package/internal/Popup/index.d.ts +1 -1
  898. package/internal/PopupMenu/PopupMenu/PopupMenu.js +12 -7
  899. package/internal/PopupMenu/PopupMenu/PopupMenu.js.map +1 -1
  900. package/internal/PopupMenu/PopupMenu.d.ts +85 -84
  901. package/internal/PopupMenu/PopupMenu.styles.d.ts +4 -4
  902. package/internal/PopupMenu/PopupMenuPositions.d.ts +2 -2
  903. package/internal/PopupMenu/index.d.ts +1 -1
  904. package/internal/PopupMenu/validatePositions.d.ts +2 -2
  905. package/internal/RenderContainer/RenderContainer/RenderContainer.js +13 -8
  906. package/internal/RenderContainer/RenderContainer/RenderContainer.js.map +1 -1
  907. package/internal/RenderContainer/RenderContainer.d.ts +17 -16
  908. package/internal/RenderContainer/RenderContainerTypes.d.ts +11 -11
  909. package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js +20 -6
  910. package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js.map +1 -1
  911. package/internal/RenderContainer/RenderInnerContainer.d.ts +14 -13
  912. package/internal/RenderContainer/index.d.ts +1 -1
  913. package/internal/RenderLayer/RenderLayer/RenderLayer.js +20 -18
  914. package/internal/RenderLayer/RenderLayer/RenderLayer.js.map +1 -1
  915. package/internal/RenderLayer/RenderLayer.d.ts +29 -27
  916. package/internal/RenderLayer/index.d.ts +1 -1
  917. package/internal/ResizeDetector/ResizeDetector.d.ts +12 -12
  918. package/internal/ResizeDetector/ResizeDetector.styles.d.ts +5 -5
  919. package/internal/ResizeDetector/index.d.ts +1 -1
  920. package/internal/ThemePlayground/AnotherInputsPlayground.d.ts +13 -13
  921. package/internal/ThemePlayground/CheckboxPlayground.d.ts +1 -1
  922. package/internal/ThemePlayground/ComponentsGroup.d.ts +10 -10
  923. package/internal/ThemePlayground/CurrencyInputPlayground.d.ts +11 -11
  924. package/internal/ThemePlayground/FxInputPlayground.d.ts +10 -10
  925. package/internal/ThemePlayground/HintPlayground.d.ts +6 -6
  926. package/internal/ThemePlayground/PagingPlayground.d.ts +10 -10
  927. package/internal/ThemePlayground/Playground.d.ts +31 -31
  928. package/internal/ThemePlayground/Playground.styles.d.ts +23 -23
  929. package/internal/ThemePlayground/RadioPlayground.d.ts +1 -1
  930. package/internal/ThemePlayground/SelectPlayground.d.ts +12 -12
  931. package/internal/ThemePlayground/ShowcaseGroup.d.ts +5 -5
  932. package/internal/ThemePlayground/SwitcherPlayground.d.ts +15 -15
  933. package/internal/ThemePlayground/ThemeContextPlayground.d.ts +51 -51
  934. package/internal/ThemePlayground/ThemeEditor.d.ts +39 -39
  935. package/internal/ThemePlayground/TogglePlayground.d.ts +9 -9
  936. package/internal/ThemePlayground/TokenInputPlayground.d.ts +7 -7
  937. package/internal/ThemePlayground/VariableValue.d.ts +45 -45
  938. package/internal/ThemePlayground/constants.d.ts +18 -18
  939. package/internal/ThemePlayground/darkTheme.d.ts +255 -255
  940. package/internal/ThemePlayground/helpers.d.ts +2 -2
  941. package/internal/ThemeShowcase/ThemeShowcase/ThemeShowcase.js +35 -43
  942. package/internal/ThemeShowcase/ThemeShowcase/ThemeShowcase.js.map +1 -1
  943. package/internal/ThemeShowcase/ThemeShowcase.d.ts +22 -22
  944. package/internal/ThemeShowcase/ThemeShowcase.styles.d.ts +24 -24
  945. package/internal/ThemeShowcase/VariablesCollector.d.ts +22 -22
  946. package/internal/ZIndex/ZIndex.d.ts +34 -34
  947. package/internal/ZIndex/ZIndexStorage.d.ts +18 -18
  948. package/internal/ZIndex/index.d.ts +1 -1
  949. package/internal/icons/16px/icon.styles.d.ts +4 -4
  950. package/internal/icons/16px/index/index.js +83 -51
  951. package/internal/icons/16px/index/index.js.map +1 -1
  952. package/internal/icons/16px/index.d.ts +22 -21
  953. package/internal/icons/20px/Icon.d.ts +30 -30
  954. package/internal/icons/20px/icon.styles.d.ts +4 -4
  955. package/internal/icons/20px/index.d.ts +2 -2
  956. package/internal/icons/20px/svg.d.ts +14 -14
  957. package/internal/icons/CloudIcon.d.ts +1 -1
  958. package/internal/icons/CrossIcon.d.ts +1 -1
  959. package/internal/icons/SpinnerIcon.d.ts +23 -23
  960. package/internal/icons/SpinnerIcon.styles.d.ts +4 -4
  961. package/internal/themes/DefaultTheme.d.ts +766 -766
  962. package/internal/themes/FlatTheme.d.ts +132 -132
  963. package/internal/themes/Theme8px.d.ts +271 -271
  964. package/lib/ConditionalHandler.d.ts +11 -11
  965. package/lib/LayoutEvents.d.ts +4 -4
  966. package/lib/ModalStack.d.ts +14 -14
  967. package/lib/SSRSafe.d.ts +4 -4
  968. package/lib/Supports.d.ts +1 -1
  969. package/lib/Upgrades.d.ts +6 -6
  970. package/lib/animation/index.d.ts +6 -6
  971. package/lib/animation/presets.d.ts +18 -18
  972. package/lib/animation/stepper.d.ts +1 -1
  973. package/lib/client.d.ts +16 -16
  974. package/lib/createPropsGetter.d.ts +2 -2
  975. package/lib/currentEnvironment.d.ts +3 -3
  976. package/lib/date/InternalDate.d.ts +58 -58
  977. package/lib/date/InternalDateCalculator.d.ts +6 -6
  978. package/lib/date/InternalDateGetter.d.ts +15 -15
  979. package/lib/date/InternalDateSetter.d.ts +6 -6
  980. package/lib/date/InternalDateTransformer.d.ts +12 -12
  981. package/lib/date/InternalDateValidator.d.ts +12 -12
  982. package/lib/date/constants.d.ts +28 -28
  983. package/lib/date/localeSets.d.ts +5 -5
  984. package/lib/date/types.d.ts +90 -90
  985. package/lib/dom/getScrollWidth.d.ts +1 -1
  986. package/lib/dom/tabbableHelpers.d.ts +16 -16
  987. package/lib/events/MouseDrag.d.ts +58 -58
  988. package/lib/events/fixClickFocusIE.d.ts +1 -1
  989. package/lib/events/fixFirefoxModifiedClickOnLabel.d.ts +2 -2
  990. package/lib/events/keyListener.d.ts +7 -7
  991. package/lib/events/keyboard/KeyboardEventCodes.d.ts +30 -30
  992. package/lib/events/keyboard/KeyboardMapKeys.d.ts +6 -6
  993. package/lib/events/keyboard/extractCode.d.ts +3 -3
  994. package/lib/events/keyboard/identifiers.d.ts +48 -48
  995. package/lib/events/stopPropagation.d.ts +1 -1
  996. package/lib/events/tabListener.d.ts +1 -1
  997. package/lib/extractKeyboardAction.d.ts +13 -13
  998. package/lib/filterProps.d.ts +12 -12
  999. package/lib/forwardRefAndName.d.ts +5 -5
  1000. package/lib/getDisplayName.d.ts +3 -3
  1001. package/lib/listenFocusOutside.d.ts +8 -8
  1002. package/lib/locale/LocaleContext.d.ts +7 -7
  1003. package/lib/locale/LocaleHelper.d.ts +9 -9
  1004. package/lib/locale/constants.d.ts +2 -2
  1005. package/lib/locale/decorators.d.ts +36 -36
  1006. package/lib/locale/index.d.ts +3 -3
  1007. package/lib/locale/types.d.ts +19 -19
  1008. package/lib/memo.d.ts +1 -1
  1009. package/lib/net/fetch.d.ts +13 -13
  1010. package/lib/polyfillPlaceholder.d.ts +1 -1
  1011. package/lib/reactGetTextContent.d.ts +2 -2
  1012. package/lib/rootNode/getRootNode/getRootNode.js +20 -0
  1013. package/lib/rootNode/getRootNode/getRootNode.js.map +1 -0
  1014. package/lib/rootNode/getRootNode/package.json +6 -0
  1015. package/lib/rootNode/getRootNode.d.ts +3 -0
  1016. package/lib/rootNode/index/index.js +2 -0
  1017. package/lib/rootNode/index/index.js.map +1 -0
  1018. package/lib/rootNode/index/package.json +6 -0
  1019. package/lib/rootNode/index.d.ts +2 -0
  1020. package/lib/rootNode/package.json +6 -0
  1021. package/lib/rootNode/rootNodeDecorator/package.json +6 -0
  1022. package/lib/rootNode/rootNodeDecorator/rootNodeDecorator.js +37 -0
  1023. package/lib/rootNode/rootNodeDecorator/rootNodeDecorator.js.map +1 -0
  1024. package/lib/rootNode/rootNodeDecorator.d.ts +33 -0
  1025. package/lib/styles/ColorFactory.d.ts +11 -11
  1026. package/lib/styles/ColorFunctions.d.ts +11 -11
  1027. package/lib/styles/ColorHelpers.d.ts +20 -20
  1028. package/lib/styles/ColorKeywords.d.ts +150 -150
  1029. package/lib/styles/ColorObject.d.ts +52 -52
  1030. package/lib/styles/DimensionFunctions.d.ts +1 -1
  1031. package/lib/styles/HoldSelectionColor.d.ts +1 -1
  1032. package/lib/styles/Mixins.d.ts +2 -2
  1033. package/lib/taskWithDelayAndMinimalDuration.d.ts +21 -21
  1034. package/lib/theming/AnimationKeyframes.d.ts +9 -9
  1035. package/lib/theming/Emotion/Emotion.js +1 -0
  1036. package/lib/theming/Emotion/Emotion.js.map +1 -1
  1037. package/lib/theming/Emotion.d.ts +15 -15
  1038. package/lib/theming/Theme.d.ts +3 -3
  1039. package/lib/theming/ThemeContext.d.ts +2 -2
  1040. package/lib/theming/ThemeFactory.d.ts +8 -8
  1041. package/lib/theming/ThemeHelpers.d.ts +11 -11
  1042. package/lib/theming/themes/DefaultTheme.d.ts +1 -1
  1043. package/lib/theming/themes/DefaultThemeOld.d.ts +1 -1
  1044. package/lib/theming/themes/FlatTheme.d.ts +1 -1
  1045. package/lib/theming/themes/FlatThemeOld.d.ts +1 -1
  1046. package/lib/utils.d.ts +28 -28
  1047. package/lib/withClassWrapper/withClassWrapper.js.map +1 -1
  1048. package/lib/withClassWrapper.d.ts +71 -68
  1049. package/package.json +2 -5
@@ -1 +1 @@
1
- {"version":3,"sources":["Popup.tsx"],"names":["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","LayoutEvents","addListener","UNSAFE_componentWillReceiveProps","nextProps","delayUpdateLocation","componentDidUpdate","prevProps","prevState","hadNoLocation","hasLocation","onOpen","onClose","componentWillUnmount","removeEventListeners","remove","render","renderMain","useWrapper","child","React","isValidElement","undefined","renderContent","addEventListeners","addEventListener","removeEventListener","backgroundColor","disableAnimations","maxWidth","hasShadow","ignoreHover","children","renderChildren","PopupHelper","getPositionObject","direction","rootStyle","shouldFallbackShadow","isIE11","isEdge","isSafari","Boolean","styles","popup","shadow","shadowFallback","popupIgnoreHover","transitionEnter","transitionEnterActive","transitionExit","content","contentInner","renderPin","positionName","isDefaultBorderColor","popupBorderColor","pinBorder","pinSize","borderColor","hasPin","parseInt","popupPinSize","getPinOffset","align","popupBackground","raf","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","PropTypes","oneOfType","HTMLElement","node","isRequired","string","func","bool","number","array","defaultProps","isTestEnv"],"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 }\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 if (hadNoLocation && hasLocation && this.props.onOpen) {\n this.props.onOpen();\n }\n if (!hadNoLocation && !this.state.location && 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":["POPUP_BORDER_DEFAULT_COLOR","TRANSITION_TIMEOUT","enter","exit","DUMMY_LOCATION","position","coordinates","top","left","PopupPositions","Popup","rootNode","state","location","props","opened","theme","layoutEventsToken","locationUpdateId","lastPopupElement","anchorElement","setRootNode","refForTransition","React","createRef","childRef","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","LayoutEvents","addListener","getDerivedStateFromProps","componentDidUpdate","prevProps","prevState","hadNoLocation","hasLocation","onOpen","onClose","delayUpdateLocation","componentWillUnmount","removeEventListeners","remove","render","renderMain","useWrapper","child","isValidElement","childWithRef","cloneElement","ref","instance","childAsAny","renderContent","childDomNode","addEventListeners","addEventListener","removeEventListener","backgroundColor","disableAnimations","maxWidth","hasShadow","ignoreHover","children","renderChildren","PopupHelper","getPositionObject","direction","rootStyle","shouldFallbackShadow","isIE11","isEdge","isSafari","Boolean","styles","popup","shadow","shadowFallback","popupIgnoreHover","transitionEnter","transitionEnterActive","transitionExit","content","contentInner","renderPin","positionName","isDefaultBorderColor","popupBorderColor","pinBorder","pinSize","borderColor","hasPin","parseInt","popupPinSize","getPinOffset","align","popupBackground","raf","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","PureComponent","__KONTUR_REACT_UI__","propTypes","PropTypes","oneOfType","HTMLElement","node","isRequired","string","func","bool","number","array","defaultProps","isTestEnv"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Transition } from 'react-transition-group';\nimport raf from 'raf';\nimport warning from 'warning';\n\nimport { 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';\nimport { getRootNode, rootNode, TSetRootNode } from '../../lib/rootNode';\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\n@rootNode\nexport class Popup extends React.PureComponent<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 static getDerivedStateFromProps(props: 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 }\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 if (hadNoLocation && hasLocation && this.props.onOpen) {\n this.props.onOpen();\n }\n if (!hadNoLocation && !this.state.location && this.props.onClose) {\n this.props.onClose();\n }\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 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 const childWithRef = child\n ? React.cloneElement(child as JSX.Element, {\n ref: (instance: Nullable<React.ReactInstance>) => {\n this.childRef(instance);\n this.setRootNode(instance);\n const childAsAny = child as any;\n if (childAsAny && childAsAny.ref && typeof childAsAny.ref === 'function') {\n childAsAny.ref(instance);\n }\n },\n })\n : null;\n\n return <RenderContainer anchor={childWithRef}>{location && this.renderContent(location)}</RenderContainer>;\n }\n\n private childRef = (childInstance: Nullable<React.ReactInstance>) => {\n childInstance && 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 }\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.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 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,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,26 +1,26 @@
1
- import { PopupPosition } from './Popup';
2
- export interface Rect {
3
- top: number;
4
- left: number;
5
- width: number;
6
- height: number;
7
- }
8
- export interface Offset {
9
- top: number;
10
- left: number;
11
- }
12
- export interface PositionObject {
13
- direction: string;
14
- align: string;
15
- }
16
- declare function getPositionObject(position: string): PositionObject;
17
- declare function getElementAbsoluteRect(element: HTMLElement): Rect;
18
- declare function isAbsoluteRectFullyVisible(coordinates: Offset, popupRect: Rect): boolean;
19
- declare function canBecomeFullyVisible(positionName: PopupPosition, coordinates: Offset): boolean;
20
- export declare const PopupHelper: {
21
- getPositionObject: typeof getPositionObject;
22
- getElementAbsoluteRect: typeof getElementAbsoluteRect;
23
- isFullyVisible: typeof isAbsoluteRectFullyVisible;
24
- canBecomeFullyVisible: typeof canBecomeFullyVisible;
25
- };
26
- export {};
1
+ import { PopupPosition } from './Popup';
2
+ export interface Rect {
3
+ top: number;
4
+ left: number;
5
+ width: number;
6
+ height: number;
7
+ }
8
+ export interface Offset {
9
+ top: number;
10
+ left: number;
11
+ }
12
+ export interface PositionObject {
13
+ direction: string;
14
+ align: string;
15
+ }
16
+ declare function getPositionObject(position: string): PositionObject;
17
+ declare function getElementAbsoluteRect(element: HTMLElement): Rect;
18
+ declare function isAbsoluteRectFullyVisible(coordinates: Offset, popupRect: Rect): boolean;
19
+ declare function canBecomeFullyVisible(positionName: PopupPosition, coordinates: Offset): boolean;
20
+ export declare const PopupHelper: {
21
+ getPositionObject: typeof getPositionObject;
22
+ getElementAbsoluteRect: typeof getElementAbsoluteRect;
23
+ isFullyVisible: typeof isAbsoluteRectFullyVisible;
24
+ canBecomeFullyVisible: typeof canBecomeFullyVisible;
25
+ };
26
+ export {};
@@ -1,56 +1,56 @@
1
- import React from 'react';
2
- import PropTypes from 'prop-types';
3
- import { Nullable } from '../../typings/utility-types';
4
- interface Props {
5
- backgroundColor: string;
6
- borderColor: string;
7
- borderWidth: number;
8
- offset: number;
9
- popupElement: Nullable<HTMLElement>;
10
- popupPosition: string;
11
- size: number;
12
- }
13
- export declare class PopupPin extends React.Component<Props> {
14
- static __KONTUR_REACT_UI__: string;
15
- static propTypes: {
16
- /**
17
- * Цвет фон пина
18
- */
19
- backgroundColor: PropTypes.Requireable<string>;
20
- /**
21
- * Цвет границы пина
22
- */
23
- borderColor: PropTypes.Requireable<string>;
24
- /**
25
- * Ширина границы пина
26
- */
27
- borderWidth: PropTypes.Requireable<number>;
28
- /**
29
- * Смещение пина от края попапа. Край задаётся в пропе position вторым словом
30
- */
31
- offset: PropTypes.Requireable<number>;
32
- /**
33
- * Ссылка на попап
34
- */
35
- popupElement: PropTypes.Requireable<any>;
36
- /**
37
- * Позиция поапа, по которой будет вычеслено положение пина
38
- */
39
- popupPosition: PropTypes.Requireable<string>;
40
- /**
41
- * Сторона пина без учёта границы.
42
- * Пин представляет собой равносторонний треугольник, высота от попапа
43
- * до "носика" пина будет соответствовать формуле (size* √3)/2
44
- */
45
- size: PropTypes.Requireable<number>;
46
- };
47
- render(): JSX.Element | null;
48
- private getPopupOppositeDirection;
49
- private getWrapperStyle;
50
- private getOuterStyle;
51
- private getInnerStyle;
52
- private getPinOptions;
53
- private getPinTopCoordinate;
54
- private getPinLeftCoordinate;
55
- }
56
- export {};
1
+ import React from 'react';
2
+ import PropTypes from 'prop-types';
3
+ import { Nullable } from '../../typings/utility-types';
4
+ interface Props {
5
+ backgroundColor: string;
6
+ borderColor: string;
7
+ borderWidth: number;
8
+ offset: number;
9
+ popupElement: Nullable<HTMLElement>;
10
+ popupPosition: string;
11
+ size: number;
12
+ }
13
+ export declare class PopupPin extends React.Component<Props> {
14
+ static __KONTUR_REACT_UI__: string;
15
+ static propTypes: {
16
+ /**
17
+ * Цвет фон пина
18
+ */
19
+ backgroundColor: PropTypes.Requireable<string>;
20
+ /**
21
+ * Цвет границы пина
22
+ */
23
+ borderColor: PropTypes.Requireable<string>;
24
+ /**
25
+ * Ширина границы пина
26
+ */
27
+ borderWidth: PropTypes.Requireable<number>;
28
+ /**
29
+ * Смещение пина от края попапа. Край задаётся в пропе position вторым словом
30
+ */
31
+ offset: PropTypes.Requireable<number>;
32
+ /**
33
+ * Ссылка на попап
34
+ */
35
+ popupElement: PropTypes.Requireable<any>;
36
+ /**
37
+ * Позиция поапа, по которой будет вычеслено положение пина
38
+ */
39
+ popupPosition: PropTypes.Requireable<string>;
40
+ /**
41
+ * Сторона пина без учёта границы.
42
+ * Пин представляет собой равносторонний треугольник, высота от попапа
43
+ * до "носика" пина будет соответствовать формуле (size* √3)/2
44
+ */
45
+ size: PropTypes.Requireable<number>;
46
+ };
47
+ render(): JSX.Element | null;
48
+ private getPopupOppositeDirection;
49
+ private getWrapperStyle;
50
+ private getOuterStyle;
51
+ private getInnerStyle;
52
+ private getPinOptions;
53
+ private getPinTopCoordinate;
54
+ private getPinLeftCoordinate;
55
+ }
56
+ export {};
@@ -1,3 +1,3 @@
1
- export declare const styles: {
2
- wrapper(): string;
3
- };
1
+ export declare const styles: {
2
+ wrapper(): string;
3
+ };
@@ -1 +1 @@
1
- export * from './Popup';
1
+ export * from './Popup';
@@ -1,84 +1,85 @@
1
- import React from 'react';
2
- import { PopupPosition } from '../Popup';
3
- import { CommonProps } from '../../internal/CommonWrapper';
4
- export interface PopupMenuCaptionProps {
5
- opened: boolean;
6
- openMenu: (firstItemShouldBeSelected?: boolean) => void;
7
- closeMenu: (restoreFocus?: boolean) => void;
8
- toggleMenu: () => void;
9
- }
10
- export interface PopupMenuProps extends CommonProps {
11
- children?: React.ReactNode;
12
- /** Максимальная высота меню */
13
- menuMaxHeight?: number | string;
14
- /** Ширина меню */
15
- menuWidth?: number | string;
16
- /** Ширина контейнера и caption */
17
- width?: React.CSSProperties['width'];
18
- /**
19
- * Элемент или функция возвращающая элемент,
20
- * если передана, используется вместо ```caption```,
21
- * в таком случае управлять открытием и закрытием меню
22
- * придется в этой функции
23
- */
24
- caption: React.ReactNode | ((props: PopupMenuCaptionProps) => React.ReactNode);
25
- header?: React.ReactNode;
26
- footer?: React.ReactNode;
27
- /** Массив разрешенных положений меню относительно caption'а. */
28
- positions?: PopupPosition[];
29
- /** Колбэк, вызываемый после открытия/закрытия меню */
30
- onChangeMenuState?: (isOpened: boolean, restoreFocus: boolean) => void;
31
- /** Пропсы, передающиеся в Popup */
32
- popupHasPin?: boolean;
33
- popupMargin?: number;
34
- popupPinOffset?: number;
35
- type?: 'dropdown' | 'tooltip';
36
- disableAnimations: boolean;
37
- }
38
- interface PopupMenuState {
39
- menuVisible: boolean;
40
- firstItemShouldBeSelected?: boolean;
41
- }
42
- export declare const PopupMenuType: {
43
- Dropdown: string;
44
- Tooltip: string;
45
- };
46
- export declare class PopupMenu extends React.Component<PopupMenuProps, PopupMenuState> {
47
- static __KONTUR_REACT_UI__: string;
48
- static defaultProps: {
49
- positions: PopupPosition[];
50
- type: string;
51
- popupHasPin: boolean;
52
- disableAnimations: boolean;
53
- };
54
- static Type: {
55
- Dropdown: string;
56
- Tooltip: string;
57
- };
58
- state: {
59
- menuVisible: boolean;
60
- firstItemShouldBeSelected: boolean;
61
- };
62
- private captionWrapper;
63
- private savedFocusableElement;
64
- private menu;
65
- render(): JSX.Element;
66
- open: () => void;
67
- close: () => void;
68
- private refInternalMenu;
69
- private handleOpen;
70
- private renderCaption;
71
- private hideMenuWithoutFocusing;
72
- private getPositions;
73
- private showMenu;
74
- private hideMenu;
75
- private toggleMenu;
76
- private handleCaptionClick;
77
- private handleCaptionKeyDown;
78
- private handleKeyDown;
79
- private saveFocus;
80
- private restoreFocus;
81
- private handleChangeMenuVisible;
82
- private handleItemSelection;
83
- }
84
- export {};
1
+ import React from 'react';
2
+ import { PopupPosition } from '../Popup';
3
+ import { CommonProps } from '../../internal/CommonWrapper';
4
+ export interface PopupMenuCaptionProps {
5
+ opened: boolean;
6
+ openMenu: (firstItemShouldBeSelected?: boolean) => void;
7
+ closeMenu: (restoreFocus?: boolean) => void;
8
+ toggleMenu: () => void;
9
+ }
10
+ export interface PopupMenuProps extends CommonProps {
11
+ children?: React.ReactNode;
12
+ /** Максимальная высота меню */
13
+ menuMaxHeight?: number | string;
14
+ /** Ширина меню */
15
+ menuWidth?: number | string;
16
+ /** Ширина контейнера и caption */
17
+ width?: React.CSSProperties['width'];
18
+ /**
19
+ * Элемент или функция возвращающая элемент,
20
+ * если передана, используется вместо ```caption```,
21
+ * в таком случае управлять открытием и закрытием меню
22
+ * придется в этой функции
23
+ */
24
+ caption: React.ReactNode | ((props: PopupMenuCaptionProps) => React.ReactNode);
25
+ header?: React.ReactNode;
26
+ footer?: React.ReactNode;
27
+ /** Массив разрешенных положений меню относительно caption'а. */
28
+ positions?: PopupPosition[];
29
+ /** Колбэк, вызываемый после открытия/закрытия меню */
30
+ onChangeMenuState?: (isOpened: boolean, restoreFocus: boolean) => void;
31
+ /** Пропсы, передающиеся в Popup */
32
+ popupHasPin?: boolean;
33
+ popupMargin?: number;
34
+ popupPinOffset?: number;
35
+ type?: 'dropdown' | 'tooltip';
36
+ disableAnimations: boolean;
37
+ }
38
+ interface PopupMenuState {
39
+ menuVisible: boolean;
40
+ firstItemShouldBeSelected?: boolean;
41
+ }
42
+ export declare const PopupMenuType: {
43
+ Dropdown: string;
44
+ Tooltip: string;
45
+ };
46
+ export declare class PopupMenu extends React.Component<PopupMenuProps, PopupMenuState> {
47
+ static __KONTUR_REACT_UI__: string;
48
+ static defaultProps: {
49
+ positions: PopupPosition[];
50
+ type: string;
51
+ popupHasPin: boolean;
52
+ disableAnimations: boolean;
53
+ };
54
+ static Type: {
55
+ Dropdown: string;
56
+ Tooltip: string;
57
+ };
58
+ state: {
59
+ menuVisible: boolean;
60
+ firstItemShouldBeSelected: boolean;
61
+ };
62
+ private captionWrapper;
63
+ private savedFocusableElement;
64
+ private menu;
65
+ private setRootNode;
66
+ render(): JSX.Element;
67
+ open: () => void;
68
+ close: () => void;
69
+ private refInternalMenu;
70
+ private handleOpen;
71
+ private renderCaption;
72
+ private hideMenuWithoutFocusing;
73
+ private getPositions;
74
+ private showMenu;
75
+ private hideMenu;
76
+ private toggleMenu;
77
+ private handleCaptionClick;
78
+ private handleCaptionKeyDown;
79
+ private handleKeyDown;
80
+ private saveFocus;
81
+ private restoreFocus;
82
+ private handleChangeMenuVisible;
83
+ private handleItemSelection;
84
+ }
85
+ export {};