@skbkontur/react-ui 3.12.0 → 3.12.3-popup-fix

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 (821) hide show
  1. package/CHANGELOG.md +34 -0
  2. package/cjs/components/Autocomplete/Autocomplete.d.ts +113 -113
  3. package/cjs/components/Autocomplete/index.d.ts +1 -1
  4. package/cjs/components/Button/Button.d.ts +161 -161
  5. package/cjs/components/Button/Button.mixins.d.ts +6 -6
  6. package/cjs/components/Button/Button.styles.d.ts +68 -68
  7. package/cjs/components/Button/Corners.d.ts +6 -6
  8. package/cjs/components/Button/index.d.ts +1 -1
  9. package/cjs/components/Center/Center.d.ts +25 -25
  10. package/cjs/components/Center/Center.styles.d.ts +7 -7
  11. package/cjs/components/Center/index.d.ts +1 -1
  12. package/cjs/components/Checkbox/Checkbox.d.ts +96 -96
  13. package/cjs/components/Checkbox/Checkbox.styles.d.ts +22 -22
  14. package/cjs/components/Checkbox/index.d.ts +1 -1
  15. package/cjs/components/ComboBox/ComboBox.d.ts +184 -184
  16. package/cjs/components/ComboBox/index.d.ts +1 -1
  17. package/cjs/components/CurrencyInput/CurrencyHelper.d.ts +35 -35
  18. package/cjs/components/CurrencyInput/CurrencyInput.d.ts +106 -106
  19. package/cjs/components/CurrencyInput/CurrencyInputHelper.d.ts +20 -20
  20. package/cjs/components/CurrencyInput/CurrencyInputKeyboardActions.d.ts +18 -18
  21. package/cjs/components/CurrencyInput/CursorHelper.d.ts +10 -10
  22. package/cjs/components/CurrencyInput/SelectionHelper.d.ts +11 -11
  23. package/cjs/components/CurrencyInput/constants.d.ts +2 -2
  24. package/cjs/components/CurrencyInput/index.d.ts +1 -1
  25. package/cjs/components/CurrencyLabel/CurrencyLabel.d.ts +24 -24
  26. package/cjs/components/CurrencyLabel/index.d.ts +1 -1
  27. package/cjs/components/DateInput/DateFragmentsView.d.ts +20 -20
  28. package/cjs/components/DateInput/DateFragmentsView.styles.d.ts +7 -7
  29. package/cjs/components/DateInput/DateInput.d.ts +107 -107
  30. package/cjs/components/DateInput/DateInput.styles.d.ts +10 -10
  31. package/cjs/components/DateInput/ViewDateInputValidateChecks.d.ts +10 -10
  32. package/cjs/components/DateInput/helpers/DateInputKeyboardActions.d.ts +21 -21
  33. package/cjs/components/DateInput/helpers/InternalDateMediator.d.ts +26 -26
  34. package/cjs/components/DateInput/helpers/SelectionHelpers.d.ts +2 -2
  35. package/cjs/components/DateInput/helpers/inputNumber.d.ts +5 -5
  36. package/cjs/components/DateInput/index.d.ts +1 -1
  37. package/cjs/components/DatePicker/DatePicker.d.ts +131 -134
  38. package/cjs/components/DatePicker/DatePicker.js +14 -9
  39. package/cjs/components/DatePicker/DatePicker.js.map +1 -1
  40. package/cjs/components/DatePicker/DatePicker.styles.d.ts +3 -3
  41. package/cjs/components/DatePicker/DatePickerHelpers.d.ts +2 -2
  42. package/cjs/components/DatePicker/Picker.d.ts +33 -33
  43. package/cjs/components/DatePicker/Picker.styles.d.ts +5 -5
  44. package/cjs/components/DatePicker/index.d.ts +1 -1
  45. package/cjs/components/DatePicker/locale/index.d.ts +4 -4
  46. package/cjs/components/DatePicker/locale/locales/en.d.ts +2 -2
  47. package/cjs/components/DatePicker/locale/locales/ru.d.ts +2 -2
  48. package/cjs/components/DatePicker/locale/types.d.ts +5 -5
  49. package/cjs/components/Dropdown/Dropdown.d.ts +124 -124
  50. package/cjs/components/Dropdown/index.d.ts +1 -1
  51. package/cjs/components/DropdownMenu/DropdownMenu.d.ts +65 -65
  52. package/cjs/components/DropdownMenu/index.d.ts +1 -1
  53. package/cjs/components/FxInput/FxInput.d.ts +50 -50
  54. package/cjs/components/FxInput/index.d.ts +1 -1
  55. package/cjs/components/Gapped/Gapped.d.ts +58 -58
  56. package/cjs/components/Gapped/index.d.ts +1 -1
  57. package/cjs/components/Group/Group.d.ts +14 -14
  58. package/cjs/components/Group/Group.styles.d.ts +8 -8
  59. package/cjs/components/Group/index.d.ts +1 -1
  60. package/cjs/components/Hint/Hint.d.ts +85 -81
  61. package/cjs/components/Hint/Hint.js +9 -1
  62. package/cjs/components/Hint/Hint.js.map +1 -1
  63. package/cjs/components/Hint/Hint.styles.d.ts +5 -5
  64. package/cjs/components/Hint/index.d.ts +1 -1
  65. package/cjs/components/Input/Input.d.ts +157 -157
  66. package/cjs/components/Input/Input.styles.d.ts +42 -42
  67. package/cjs/components/Input/index.d.ts +1 -1
  68. package/cjs/components/Kebab/Kebab.d.ts +71 -71
  69. package/cjs/components/Kebab/Kebab.styles.d.ts +12 -12
  70. package/cjs/components/Kebab/index.d.ts +1 -1
  71. package/cjs/components/Link/Link.d.ts +72 -72
  72. package/cjs/components/Link/Link.mixins.d.ts +3 -3
  73. package/cjs/components/Link/Link.styles.d.ts +15 -15
  74. package/cjs/components/Link/index.d.ts +1 -1
  75. package/cjs/components/Loader/Loader.d.ts +100 -100
  76. package/cjs/components/Loader/Loader.styles.d.ts +8 -8
  77. package/cjs/components/Loader/index.d.ts +1 -1
  78. package/cjs/components/MenuHeader/MenuHeader.d.ts +20 -20
  79. package/cjs/components/MenuHeader/MenuHeader.styles.d.ts +5 -5
  80. package/cjs/components/MenuHeader/index.d.ts +1 -1
  81. package/cjs/components/MenuItem/MenuItem.d.ts +94 -94
  82. package/cjs/components/MenuItem/MenuItem.styles.d.ts +13 -13
  83. package/cjs/components/MenuItem/index.d.ts +1 -1
  84. package/cjs/components/MenuSeparator/MenuSeparator.d.ts +12 -12
  85. package/cjs/components/MenuSeparator/MenuSeparator.styles.d.ts +4 -4
  86. package/cjs/components/MenuSeparator/index.d.ts +1 -1
  87. package/cjs/components/Modal/Modal.d.ts +87 -87
  88. package/cjs/components/Modal/Modal.styles.d.ts +26 -26
  89. package/cjs/components/Modal/ModalBody.d.ts +21 -21
  90. package/cjs/components/Modal/ModalClose.d.ts +2 -2
  91. package/cjs/components/Modal/ModalContext.d.ts +15 -15
  92. package/cjs/components/Modal/ModalFooter.d.ts +21 -21
  93. package/cjs/components/Modal/ModalHeader.d.ts +17 -17
  94. package/cjs/components/Modal/index.d.ts +4 -4
  95. package/cjs/components/Paging/NavigationHelper.d.ts +7 -7
  96. package/cjs/components/Paging/Paging.d.ts +90 -90
  97. package/cjs/components/Paging/Paging.styles.d.ts +16 -16
  98. package/cjs/components/Paging/PagingHelper.d.ts +2 -2
  99. package/cjs/components/Paging/index.d.ts +1 -1
  100. package/cjs/components/Paging/locale/index.d.ts +4 -4
  101. package/cjs/components/Paging/locale/locales/en.d.ts +2 -2
  102. package/cjs/components/Paging/locale/locales/ru.d.ts +2 -2
  103. package/cjs/components/Paging/locale/types.d.ts +3 -3
  104. package/cjs/components/PasswordInput/PasswordInput.d.ts +49 -49
  105. package/cjs/components/PasswordInput/PasswordInput.styles.d.ts +10 -10
  106. package/cjs/components/PasswordInput/index.d.ts +1 -1
  107. package/cjs/components/Radio/Radio.d.ts +77 -77
  108. package/cjs/components/Radio/Radio.styles.d.ts +19 -19
  109. package/cjs/components/Radio/index.d.ts +1 -1
  110. package/cjs/components/RadioGroup/Prevent.d.ts +8 -8
  111. package/cjs/components/RadioGroup/RadioGroup.d.ts +117 -117
  112. package/cjs/components/RadioGroup/RadioGroup.styles.d.ts +7 -7
  113. package/cjs/components/RadioGroup/RadioGroupContext.d.ts +10 -10
  114. package/cjs/components/RadioGroup/index.d.ts +1 -1
  115. package/cjs/components/ScrollContainer/ScrollBar.d.ts +37 -37
  116. package/cjs/components/ScrollContainer/ScrollContainer.constants.d.ts +23 -23
  117. package/cjs/components/ScrollContainer/ScrollContainer.d.ts +84 -84
  118. package/cjs/components/ScrollContainer/ScrollContainer.helpers.d.ts +10 -10
  119. package/cjs/components/ScrollContainer/ScrollContainer.styles.d.ts +17 -17
  120. package/cjs/components/ScrollContainer/index.d.ts +1 -1
  121. package/cjs/components/Select/Item.d.ts +7 -7
  122. package/cjs/components/Select/Select.d.ts +179 -179
  123. package/cjs/components/Select/Select.styles.d.ts +17 -17
  124. package/cjs/components/Select/index.d.ts +1 -1
  125. package/cjs/components/Select/locale/index.d.ts +4 -4
  126. package/cjs/components/Select/locale/locales/en.d.ts +2 -2
  127. package/cjs/components/Select/locale/locales/ru.d.ts +2 -2
  128. package/cjs/components/Select/locale/types.d.ts +4 -4
  129. package/cjs/components/Select/selectTheme.d.ts +3 -3
  130. package/cjs/components/SidePage/SidePage.d.ts +109 -109
  131. package/cjs/components/SidePage/SidePage.styles.d.ts +37 -37
  132. package/cjs/components/SidePage/SidePageBody.d.ts +19 -19
  133. package/cjs/components/SidePage/SidePageContainer.d.ts +15 -15
  134. package/cjs/components/SidePage/SidePageContext.d.ts +17 -17
  135. package/cjs/components/SidePage/SidePageFooter.d.ts +36 -36
  136. package/cjs/components/SidePage/SidePageHeader.d.ts +44 -44
  137. package/cjs/components/SidePage/index.d.ts +5 -5
  138. package/cjs/components/Spinner/Spinner.d.ts +56 -56
  139. package/cjs/components/Spinner/Spinner.styles.d.ts +12 -12
  140. package/cjs/components/Spinner/SpinnerFallbackAnimation.d.ts +25 -25
  141. package/cjs/components/Spinner/index.d.ts +1 -1
  142. package/cjs/components/Spinner/locale/index.d.ts +4 -4
  143. package/cjs/components/Spinner/locale/locales/en.d.ts +2 -2
  144. package/cjs/components/Spinner/locale/locales/ru.d.ts +2 -2
  145. package/cjs/components/Spinner/locale/types.d.ts +4 -4
  146. package/cjs/components/Sticky/Sticky.d.ts +59 -59
  147. package/cjs/components/Sticky/Sticky.styles.d.ts +7 -7
  148. package/cjs/components/Sticky/index.d.ts +1 -1
  149. package/cjs/components/Switcher/Switcher.d.ts +56 -56
  150. package/cjs/components/Switcher/Switcher.styles.d.ts +10 -10
  151. package/cjs/components/Switcher/index.d.ts +1 -1
  152. package/cjs/components/Switcher/switcherTheme.d.ts +2 -2
  153. package/cjs/components/Tabs/Indicator.d.ts +28 -28
  154. package/cjs/components/Tabs/Indicator.styles.d.ts +8 -8
  155. package/cjs/components/Tabs/Tab.d.ts +121 -121
  156. package/cjs/components/Tabs/Tab.styles.d.ts +27 -27
  157. package/cjs/components/Tabs/Tabs.d.ts +62 -62
  158. package/cjs/components/Tabs/Tabs.styles.d.ts +5 -5
  159. package/cjs/components/Tabs/TabsContext.d.ts +14 -14
  160. package/cjs/components/Tabs/index.d.ts +2 -2
  161. package/cjs/components/Textarea/Textarea.d.ts +185 -185
  162. package/cjs/components/Textarea/Textarea.styles.d.ts +15 -15
  163. package/cjs/components/Textarea/TextareaCounter.d.ts +13 -13
  164. package/cjs/components/Textarea/TextareaHelpers.d.ts +11 -11
  165. package/cjs/components/Textarea/index.d.ts +1 -1
  166. package/cjs/components/Toast/Toast.d.ts +58 -58
  167. package/cjs/components/Toast/Toast.styles.d.ts +6 -6
  168. package/cjs/components/Toast/ToastStatic.d.ts +8 -8
  169. package/cjs/components/Toast/ToastView.d.ts +38 -38
  170. package/cjs/components/Toast/ToastView.styles.d.ts +8 -8
  171. package/cjs/components/Toast/index.d.ts +1 -1
  172. package/cjs/components/Toggle/Toggle.d.ts +107 -107
  173. package/cjs/components/Toggle/Toggle.styles.d.ts +30 -30
  174. package/cjs/components/Toggle/index.d.ts +1 -1
  175. package/cjs/components/Token/Token.d.ts +36 -36
  176. package/cjs/components/Token/Token.styles.d.ts +29 -29
  177. package/cjs/components/Token/index.d.ts +1 -1
  178. package/cjs/components/TokenInput/TextWidthHelper.d.ts +18 -18
  179. package/cjs/components/TokenInput/TokenInput.d.ts +194 -194
  180. package/cjs/components/TokenInput/TokenInput.styles.d.ts +15 -15
  181. package/cjs/components/TokenInput/TokenInputMenu.d.ts +18 -18
  182. package/cjs/components/TokenInput/TokenInputReducer.d.ts +25 -25
  183. package/cjs/components/TokenInput/index.d.ts +1 -1
  184. package/cjs/components/TokenInput/locale/index.d.ts +4 -4
  185. package/cjs/components/TokenInput/locale/locales/en.d.ts +2 -2
  186. package/cjs/components/TokenInput/locale/locales/ru.d.ts +2 -2
  187. package/cjs/components/TokenInput/locale/types.d.ts +4 -4
  188. package/cjs/components/Tooltip/Tooltip.d.ts +162 -160
  189. package/cjs/components/Tooltip/Tooltip.js +10 -7
  190. package/cjs/components/Tooltip/Tooltip.js.map +1 -1
  191. package/cjs/components/Tooltip/Tooltip.md +1 -1
  192. package/cjs/components/Tooltip/Tooltip.styles.d.ts +5 -5
  193. package/cjs/components/Tooltip/index.d.ts +1 -1
  194. package/cjs/components/TooltipMenu/TooltipMenu.d.ts +65 -65
  195. package/cjs/components/TooltipMenu/index.d.ts +1 -1
  196. package/cjs/index.d.ts +49 -49
  197. package/cjs/internal/BGRuler.d.ts +30 -30
  198. package/cjs/internal/Calendar/Calendar.d.ts +66 -66
  199. package/cjs/internal/Calendar/Calendar.styles.d.ts +5 -5
  200. package/cjs/internal/Calendar/CalendarDateShape.d.ts +14 -14
  201. package/cjs/internal/Calendar/CalendarScrollEvents.d.ts +4 -4
  202. package/cjs/internal/Calendar/CalendarUtils.d.ts +19 -19
  203. package/cjs/internal/Calendar/DayCellView.d.ts +13 -13
  204. package/cjs/internal/Calendar/DayCellView.styles.d.ts +7 -7
  205. package/cjs/internal/Calendar/DayCellViewModel.d.ts +8 -8
  206. package/cjs/internal/Calendar/Month.d.ts +33 -33
  207. package/cjs/internal/Calendar/MonthView.d.ts +21 -21
  208. package/cjs/internal/Calendar/MonthView.styles.d.ts +9 -9
  209. package/cjs/internal/Calendar/MonthViewModel.d.ts +14 -14
  210. package/cjs/internal/Calendar/config.d.ts +9 -9
  211. package/cjs/internal/Calendar/index.d.ts +2 -2
  212. package/cjs/internal/CommonWrapper/CommonWrapper.d.ts +32 -31
  213. package/cjs/internal/CommonWrapper/CommonWrapper.js +17 -3
  214. package/cjs/internal/CommonWrapper/CommonWrapper.js.map +1 -1
  215. package/cjs/internal/CommonWrapper/index.d.ts +1 -1
  216. package/cjs/internal/ComponentCombinator.d.ts +25 -25
  217. package/cjs/internal/ComponentTable.d.ts +21 -21
  218. package/cjs/internal/CustomComboBox/ComboBoxMenu.d.ts +31 -31
  219. package/cjs/internal/CustomComboBox/ComboBoxView.d.ts +90 -90
  220. package/cjs/internal/CustomComboBox/CustomComboBox.d.ts +136 -136
  221. package/cjs/internal/CustomComboBox/CustomComboBox.styles.d.ts +5 -5
  222. package/cjs/internal/CustomComboBox/CustomComboBoxReducer.d.ts +71 -71
  223. package/cjs/internal/CustomComboBox/CustomComboBoxTypes.d.ts +6 -6
  224. package/cjs/internal/CustomComboBox/index.d.ts +2 -2
  225. package/cjs/internal/CustomComboBox/locale/index.d.ts +4 -4
  226. package/cjs/internal/CustomComboBox/locale/locales/en.d.ts +2 -2
  227. package/cjs/internal/CustomComboBox/locale/locales/ru.d.ts +2 -2
  228. package/cjs/internal/CustomComboBox/locale/types.d.ts +5 -5
  229. package/cjs/internal/DateSelect/DateSelect.d.ts +93 -93
  230. package/cjs/internal/DateSelect/DateSelect.styles.d.ts +19 -19
  231. package/cjs/internal/DateSelect/index.d.ts +1 -1
  232. package/cjs/internal/DropdownContainer/DropdownContainer.d.ts +44 -44
  233. package/cjs/internal/DropdownContainer/DropdownContainer.js +15 -13
  234. package/cjs/internal/DropdownContainer/DropdownContainer.js.map +1 -1
  235. package/cjs/internal/DropdownContainer/DropdownContainer.styles.d.ts +3 -3
  236. package/cjs/internal/DropdownContainer/index.d.ts +1 -1
  237. package/cjs/internal/FocusTrap/FocusTrap.d.ts +17 -17
  238. package/cjs/internal/FocusTrap/index.d.ts +1 -1
  239. package/cjs/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.d.ts +14 -14
  240. package/cjs/internal/HideBodyVerticalScroll/index.d.ts +1 -1
  241. package/cjs/internal/IgnoreLayerClick/IgnoreLayerClick.d.ts +8 -8
  242. package/cjs/internal/IgnoreLayerClick/index.d.ts +1 -1
  243. package/cjs/internal/InputLikeText/HiddenInput.d.ts +13 -13
  244. package/cjs/internal/InputLikeText/InputLikeText.d.ts +73 -73
  245. package/cjs/internal/InputLikeText/InputLikeText.styles.d.ts +7 -7
  246. package/cjs/internal/InputLikeText/index.d.ts +1 -1
  247. package/cjs/internal/InternalMenu/InternalMenu.d.ts +63 -63
  248. package/cjs/internal/InternalMenu/InternalMenu.styles.d.ts +9 -9
  249. package/cjs/internal/InternalMenu/index.d.ts +1 -1
  250. package/cjs/internal/InternalMenu/isActiveElement.d.ts +3 -3
  251. package/cjs/internal/MaskCharLowLine/MaskCharLowLine.d.ts +9 -9
  252. package/cjs/internal/MaskCharLowLine/MaskCharLowLine.styles.d.ts +3 -3
  253. package/cjs/internal/MaskCharLowLine/index.d.ts +1 -1
  254. package/cjs/internal/MaskedInput/MaskedInput.d.ts +40 -40
  255. package/cjs/internal/MaskedInput/MaskedInput.styles.d.ts +6 -6
  256. package/cjs/internal/MaskedInput/index.d.ts +1 -1
  257. package/cjs/internal/Menu/Menu.d.ts +65 -65
  258. package/cjs/internal/Menu/Menu.styles.d.ts +9 -9
  259. package/cjs/internal/Menu/index.d.ts +1 -1
  260. package/cjs/internal/Menu/isActiveElement.d.ts +3 -3
  261. package/cjs/internal/NativeDateInput/NativeDateInput.d.ts +23 -23
  262. package/cjs/internal/NativeDateInput/NativeDateInput.styles.d.ts +3 -3
  263. package/cjs/internal/NativeDateInput/index.d.ts +1 -1
  264. package/cjs/internal/NativeDateInput/utils.d.ts +7 -7
  265. package/cjs/internal/PerformanceMetrics/PerformanceMetrics.d.ts +7 -7
  266. package/cjs/internal/Popup/Popup.d.ts +161 -162
  267. package/cjs/internal/Popup/Popup.js +14 -11
  268. package/cjs/internal/Popup/Popup.js.map +1 -1
  269. package/cjs/internal/Popup/Popup.styles.d.ts +16 -16
  270. package/cjs/internal/Popup/PopupHelper.d.ts +26 -26
  271. package/cjs/internal/Popup/PopupPin.d.ts +56 -56
  272. package/cjs/internal/Popup/PopupPin.styles.d.ts +3 -3
  273. package/cjs/internal/Popup/index.d.ts +1 -1
  274. package/cjs/internal/Popup/types.d.ts +1 -1
  275. package/cjs/internal/PopupMenu/PopupMenu.d.ts +85 -85
  276. package/cjs/internal/PopupMenu/PopupMenu.styles.d.ts +4 -4
  277. package/cjs/internal/PopupMenu/index.d.ts +1 -1
  278. package/cjs/internal/PopupMenu/validatePositions.d.ts +2 -2
  279. package/cjs/internal/RenderContainer/RenderContainer.d.ts +16 -16
  280. package/cjs/internal/RenderContainer/RenderContainer.js +9 -0
  281. package/cjs/internal/RenderContainer/RenderContainer.js.map +1 -1
  282. package/cjs/internal/RenderContainer/RenderContainerTypes.d.ts +12 -11
  283. package/cjs/internal/RenderContainer/RenderInnerContainer.d.ts +13 -13
  284. package/cjs/internal/RenderContainer/index.d.ts +1 -1
  285. package/cjs/internal/RenderLayer/RenderLayer.d.ts +29 -29
  286. package/cjs/internal/RenderLayer/index.d.ts +1 -1
  287. package/cjs/internal/ResizeDetector/ResizeDetector.d.ts +12 -12
  288. package/cjs/internal/ResizeDetector/ResizeDetector.styles.d.ts +5 -5
  289. package/cjs/internal/ResizeDetector/index.d.ts +1 -1
  290. package/cjs/internal/ThemePlayground/AnotherInputsPlayground.d.ts +13 -13
  291. package/cjs/internal/ThemePlayground/CheckboxPlayground.d.ts +1 -1
  292. package/cjs/internal/ThemePlayground/ComponentsGroup.d.ts +10 -10
  293. package/cjs/internal/ThemePlayground/CurrencyInputPlayground.d.ts +11 -11
  294. package/cjs/internal/ThemePlayground/FxInputPlayground.d.ts +10 -10
  295. package/cjs/internal/ThemePlayground/HintPlayground.d.ts +6 -6
  296. package/cjs/internal/ThemePlayground/PagingPlayground.d.ts +10 -10
  297. package/cjs/internal/ThemePlayground/Playground.d.ts +31 -31
  298. package/cjs/internal/ThemePlayground/Playground.styles.d.ts +23 -23
  299. package/cjs/internal/ThemePlayground/RadioPlayground.d.ts +1 -1
  300. package/cjs/internal/ThemePlayground/SelectPlayground.d.ts +12 -12
  301. package/cjs/internal/ThemePlayground/ShowcaseGroup.d.ts +5 -5
  302. package/cjs/internal/ThemePlayground/SwitcherPlayground.d.ts +15 -15
  303. package/cjs/internal/ThemePlayground/ThemeContextPlayground.d.ts +51 -51
  304. package/cjs/internal/ThemePlayground/ThemeEditor.d.ts +39 -39
  305. package/cjs/internal/ThemePlayground/TogglePlayground.d.ts +9 -9
  306. package/cjs/internal/ThemePlayground/TokenInputPlayground.d.ts +7 -7
  307. package/cjs/internal/ThemePlayground/VariableValue.d.ts +45 -45
  308. package/cjs/internal/ThemePlayground/constants.d.ts +18 -18
  309. package/cjs/internal/ThemePlayground/darkTheme.d.ts +255 -255
  310. package/cjs/internal/ThemePlayground/helpers.d.ts +2 -2
  311. package/cjs/internal/ThemeShowcase/ThemeShowcase.d.ts +22 -22
  312. package/cjs/internal/ThemeShowcase/ThemeShowcase.styles.d.ts +24 -24
  313. package/cjs/internal/ThemeShowcase/VariablesCollector.d.ts +22 -22
  314. package/cjs/internal/ZIndex/ZIndex.d.ts +36 -36
  315. package/cjs/internal/ZIndex/ZIndexStorage.d.ts +18 -18
  316. package/cjs/internal/ZIndex/index.d.ts +1 -1
  317. package/cjs/internal/icons/16px/icon.styles.d.ts +4 -4
  318. package/cjs/internal/icons/16px/index.d.ts +22 -22
  319. package/cjs/internal/icons/20px/Icon.d.ts +30 -30
  320. package/cjs/internal/icons/20px/icon.styles.d.ts +4 -4
  321. package/cjs/internal/icons/20px/index.d.ts +2 -2
  322. package/cjs/internal/icons/20px/svg.d.ts +14 -14
  323. package/cjs/internal/icons/CloudIcon.d.ts +1 -1
  324. package/cjs/internal/icons/CrossIcon.d.ts +1 -1
  325. package/cjs/internal/icons/SpinnerIcon.d.ts +26 -26
  326. package/cjs/internal/icons/SpinnerIcon.styles.d.ts +4 -4
  327. package/cjs/internal/themes/DefaultTheme.d.ts +766 -766
  328. package/cjs/internal/themes/FlatTheme.d.ts +132 -132
  329. package/cjs/internal/themes/Theme8px.d.ts +271 -271
  330. package/cjs/lib/ConditionalHandler.d.ts +11 -11
  331. package/cjs/lib/InstanceWithAnchorElement.d.ts +5 -0
  332. package/cjs/lib/InstanceWithAnchorElement.js +9 -0
  333. package/cjs/lib/InstanceWithAnchorElement.js.map +1 -0
  334. package/cjs/lib/LayoutEvents.d.ts +4 -4
  335. package/cjs/lib/ModalStack.d.ts +14 -14
  336. package/cjs/lib/SSRSafe.d.ts +4 -4
  337. package/cjs/lib/Supports.d.ts +1 -1
  338. package/cjs/lib/Upgrades.d.ts +6 -6
  339. package/cjs/lib/animation/index.d.ts +6 -6
  340. package/cjs/lib/animation/presets.d.ts +18 -18
  341. package/cjs/lib/animation/stepper.d.ts +1 -1
  342. package/cjs/lib/callChildRef/callChildRef.d.ts +3 -3
  343. package/cjs/lib/client.d.ts +16 -16
  344. package/cjs/lib/createPropsGetter.d.ts +2 -2
  345. package/cjs/lib/currentEnvironment.d.ts +3 -3
  346. package/cjs/lib/date/InternalDate.d.ts +58 -58
  347. package/cjs/lib/date/InternalDateCalculator.d.ts +6 -6
  348. package/cjs/lib/date/InternalDateGetter.d.ts +15 -15
  349. package/cjs/lib/date/InternalDateSetter.d.ts +6 -6
  350. package/cjs/lib/date/InternalDateTransformer.d.ts +12 -12
  351. package/cjs/lib/date/InternalDateValidator.d.ts +12 -12
  352. package/cjs/lib/date/constants.d.ts +28 -28
  353. package/cjs/lib/date/localeSets.d.ts +5 -5
  354. package/cjs/lib/date/types.d.ts +90 -90
  355. package/cjs/lib/dom/getScrollWidth.d.ts +1 -1
  356. package/cjs/lib/dom/tabbableHelpers.d.ts +16 -16
  357. package/cjs/lib/events/MouseDrag.d.ts +58 -58
  358. package/cjs/lib/events/fixClickFocusIE.d.ts +1 -1
  359. package/cjs/lib/events/fixFirefoxModifiedClickOnLabel.d.ts +2 -2
  360. package/cjs/lib/events/keyListener.d.ts +7 -7
  361. package/cjs/lib/events/keyboard/KeyboardEventCodes.d.ts +30 -30
  362. package/cjs/lib/events/keyboard/KeyboardMapKeys.d.ts +6 -6
  363. package/cjs/lib/events/keyboard/extractCode.d.ts +3 -3
  364. package/cjs/lib/events/keyboard/identifiers.d.ts +48 -48
  365. package/cjs/lib/events/stopPropagation.d.ts +1 -1
  366. package/cjs/lib/events/tabListener.d.ts +1 -1
  367. package/cjs/lib/extractKeyboardAction.d.ts +13 -13
  368. package/cjs/lib/filterProps.d.ts +12 -12
  369. package/cjs/lib/forwardRefAndName.d.ts +5 -5
  370. package/cjs/lib/getDisplayName.d.ts +3 -3
  371. package/cjs/lib/listenFocusOutside.d.ts +8 -8
  372. package/cjs/lib/locale/LocaleContext.d.ts +7 -7
  373. package/cjs/lib/locale/LocaleHelper.d.ts +9 -9
  374. package/cjs/lib/locale/constants.d.ts +2 -2
  375. package/cjs/lib/locale/decorators.d.ts +36 -36
  376. package/cjs/lib/locale/index.d.ts +3 -3
  377. package/cjs/lib/locale/types.d.ts +19 -19
  378. package/cjs/lib/memo.d.ts +1 -1
  379. package/cjs/lib/net/fetch.d.ts +13 -13
  380. package/cjs/lib/polyfillPlaceholder.d.ts +1 -1
  381. package/cjs/lib/reactGetTextContent.d.ts +2 -2
  382. package/cjs/lib/rootNode/getRootNode.d.ts +3 -3
  383. package/cjs/lib/rootNode/getRootNode.js +5 -4
  384. package/cjs/lib/rootNode/getRootNode.js.map +1 -1
  385. package/cjs/lib/rootNode/index.d.ts +2 -2
  386. package/cjs/lib/rootNode/rootNodeDecorator.d.ts +47 -33
  387. package/cjs/lib/rootNode/rootNodeDecorator.js +39 -4
  388. package/cjs/lib/rootNode/rootNodeDecorator.js.map +1 -1
  389. package/cjs/lib/styles/ColorFactory.d.ts +11 -11
  390. package/cjs/lib/styles/ColorFunctions.d.ts +11 -11
  391. package/cjs/lib/styles/ColorHelpers.d.ts +20 -20
  392. package/cjs/lib/styles/ColorKeywords.d.ts +150 -150
  393. package/cjs/lib/styles/ColorObject.d.ts +52 -52
  394. package/cjs/lib/styles/DimensionFunctions.d.ts +1 -1
  395. package/cjs/lib/styles/HoldSelectionColor.d.ts +1 -1
  396. package/cjs/lib/styles/Mixins.d.ts +2 -2
  397. package/cjs/lib/taskWithDelayAndMinimalDuration.d.ts +21 -21
  398. package/cjs/lib/theming/AnimationKeyframes.d.ts +9 -9
  399. package/cjs/lib/theming/Emotion.d.ts +15 -15
  400. package/cjs/lib/theming/Theme.d.ts +3 -3
  401. package/cjs/lib/theming/ThemeContext.d.ts +2 -2
  402. package/cjs/lib/theming/ThemeFactory.d.ts +8 -8
  403. package/cjs/lib/theming/ThemeHelpers.d.ts +11 -11
  404. package/cjs/lib/theming/themes/DefaultTheme.d.ts +1 -1
  405. package/cjs/lib/theming/themes/DefaultThemeOld.d.ts +1 -1
  406. package/cjs/lib/theming/themes/FlatTheme.d.ts +1 -1
  407. package/cjs/lib/theming/themes/FlatThemeOld.d.ts +1 -1
  408. package/cjs/lib/theming/useTheme.d.ts +1 -1
  409. package/cjs/lib/utils.d.ts +63 -63
  410. package/cjs/lib/withClassWrapper.d.ts +71 -71
  411. package/components/Autocomplete/Autocomplete.d.ts +113 -113
  412. package/components/Autocomplete/index.d.ts +1 -1
  413. package/components/Button/Button.d.ts +161 -161
  414. package/components/Button/Button.mixins.d.ts +6 -6
  415. package/components/Button/Button.styles.d.ts +68 -68
  416. package/components/Button/Corners.d.ts +6 -6
  417. package/components/Button/index.d.ts +1 -1
  418. package/components/Center/Center.d.ts +25 -25
  419. package/components/Center/Center.styles.d.ts +7 -7
  420. package/components/Center/index.d.ts +1 -1
  421. package/components/Checkbox/Checkbox.d.ts +96 -96
  422. package/components/Checkbox/Checkbox.styles.d.ts +22 -22
  423. package/components/Checkbox/index.d.ts +1 -1
  424. package/components/ComboBox/ComboBox.d.ts +184 -184
  425. package/components/ComboBox/index.d.ts +1 -1
  426. package/components/CurrencyInput/CurrencyHelper.d.ts +35 -35
  427. package/components/CurrencyInput/CurrencyInput.d.ts +106 -106
  428. package/components/CurrencyInput/CurrencyInputHelper.d.ts +20 -20
  429. package/components/CurrencyInput/CurrencyInputKeyboardActions.d.ts +18 -18
  430. package/components/CurrencyInput/CursorHelper.d.ts +10 -10
  431. package/components/CurrencyInput/SelectionHelper.d.ts +11 -11
  432. package/components/CurrencyInput/constants.d.ts +2 -2
  433. package/components/CurrencyInput/index.d.ts +1 -1
  434. package/components/CurrencyLabel/CurrencyLabel.d.ts +24 -24
  435. package/components/CurrencyLabel/index.d.ts +1 -1
  436. package/components/DateInput/DateFragmentsView.d.ts +20 -20
  437. package/components/DateInput/DateFragmentsView.styles.d.ts +7 -7
  438. package/components/DateInput/DateInput.d.ts +107 -107
  439. package/components/DateInput/DateInput.styles.d.ts +10 -10
  440. package/components/DateInput/ViewDateInputValidateChecks.d.ts +10 -10
  441. package/components/DateInput/helpers/DateInputKeyboardActions.d.ts +21 -21
  442. package/components/DateInput/helpers/InternalDateMediator.d.ts +26 -26
  443. package/components/DateInput/helpers/SelectionHelpers.d.ts +2 -2
  444. package/components/DateInput/helpers/inputNumber.d.ts +5 -5
  445. package/components/DateInput/index.d.ts +1 -1
  446. package/components/DatePicker/DatePicker/DatePicker.js +19 -15
  447. package/components/DatePicker/DatePicker/DatePicker.js.map +1 -1
  448. package/components/DatePicker/DatePicker.d.ts +131 -134
  449. package/components/DatePicker/DatePicker.styles.d.ts +3 -3
  450. package/components/DatePicker/DatePickerHelpers.d.ts +2 -2
  451. package/components/DatePicker/Picker.d.ts +33 -33
  452. package/components/DatePicker/Picker.styles.d.ts +5 -5
  453. package/components/DatePicker/index.d.ts +1 -1
  454. package/components/DatePicker/locale/index.d.ts +4 -4
  455. package/components/DatePicker/locale/locales/en.d.ts +2 -2
  456. package/components/DatePicker/locale/locales/ru.d.ts +2 -2
  457. package/components/DatePicker/locale/types.d.ts +5 -5
  458. package/components/Dropdown/Dropdown.d.ts +124 -124
  459. package/components/Dropdown/index.d.ts +1 -1
  460. package/components/DropdownMenu/DropdownMenu.d.ts +65 -65
  461. package/components/DropdownMenu/index.d.ts +1 -1
  462. package/components/FxInput/FxInput.d.ts +50 -50
  463. package/components/FxInput/index.d.ts +1 -1
  464. package/components/Gapped/Gapped.d.ts +58 -58
  465. package/components/Gapped/index.d.ts +1 -1
  466. package/components/Group/Group.d.ts +14 -14
  467. package/components/Group/Group.styles.d.ts +8 -8
  468. package/components/Group/index.d.ts +1 -1
  469. package/components/Hint/Hint/Hint.js +9 -1
  470. package/components/Hint/Hint/Hint.js.map +1 -1
  471. package/components/Hint/Hint.d.ts +85 -81
  472. package/components/Hint/Hint.styles.d.ts +5 -5
  473. package/components/Hint/index.d.ts +1 -1
  474. package/components/Input/Input.d.ts +157 -157
  475. package/components/Input/Input.styles.d.ts +42 -42
  476. package/components/Input/index.d.ts +1 -1
  477. package/components/Kebab/Kebab.d.ts +71 -71
  478. package/components/Kebab/Kebab.styles.d.ts +12 -12
  479. package/components/Kebab/index.d.ts +1 -1
  480. package/components/Link/Link.d.ts +72 -72
  481. package/components/Link/Link.mixins.d.ts +3 -3
  482. package/components/Link/Link.styles.d.ts +15 -15
  483. package/components/Link/index.d.ts +1 -1
  484. package/components/Loader/Loader.d.ts +100 -100
  485. package/components/Loader/Loader.styles.d.ts +8 -8
  486. package/components/Loader/index.d.ts +1 -1
  487. package/components/MenuHeader/MenuHeader.d.ts +20 -20
  488. package/components/MenuHeader/MenuHeader.styles.d.ts +5 -5
  489. package/components/MenuHeader/index.d.ts +1 -1
  490. package/components/MenuItem/MenuItem.d.ts +94 -94
  491. package/components/MenuItem/MenuItem.styles.d.ts +13 -13
  492. package/components/MenuItem/index.d.ts +1 -1
  493. package/components/MenuSeparator/MenuSeparator.d.ts +12 -12
  494. package/components/MenuSeparator/MenuSeparator.styles.d.ts +4 -4
  495. package/components/MenuSeparator/index.d.ts +1 -1
  496. package/components/Modal/Modal.d.ts +87 -87
  497. package/components/Modal/Modal.styles.d.ts +26 -26
  498. package/components/Modal/ModalBody.d.ts +21 -21
  499. package/components/Modal/ModalClose.d.ts +2 -2
  500. package/components/Modal/ModalContext.d.ts +15 -15
  501. package/components/Modal/ModalFooter.d.ts +21 -21
  502. package/components/Modal/ModalHeader.d.ts +17 -17
  503. package/components/Modal/index.d.ts +4 -4
  504. package/components/Paging/NavigationHelper.d.ts +7 -7
  505. package/components/Paging/Paging.d.ts +90 -90
  506. package/components/Paging/Paging.styles.d.ts +16 -16
  507. package/components/Paging/PagingHelper.d.ts +2 -2
  508. package/components/Paging/index.d.ts +1 -1
  509. package/components/Paging/locale/index.d.ts +4 -4
  510. package/components/Paging/locale/locales/en.d.ts +2 -2
  511. package/components/Paging/locale/locales/ru.d.ts +2 -2
  512. package/components/Paging/locale/types.d.ts +3 -3
  513. package/components/PasswordInput/PasswordInput.d.ts +49 -49
  514. package/components/PasswordInput/PasswordInput.styles.d.ts +10 -10
  515. package/components/PasswordInput/index.d.ts +1 -1
  516. package/components/Radio/Radio.d.ts +77 -77
  517. package/components/Radio/Radio.styles.d.ts +19 -19
  518. package/components/Radio/index.d.ts +1 -1
  519. package/components/RadioGroup/Prevent.d.ts +8 -8
  520. package/components/RadioGroup/RadioGroup.d.ts +117 -117
  521. package/components/RadioGroup/RadioGroup.styles.d.ts +7 -7
  522. package/components/RadioGroup/RadioGroupContext.d.ts +10 -10
  523. package/components/RadioGroup/index.d.ts +1 -1
  524. package/components/ScrollContainer/ScrollBar.d.ts +37 -37
  525. package/components/ScrollContainer/ScrollContainer.constants.d.ts +23 -23
  526. package/components/ScrollContainer/ScrollContainer.d.ts +84 -84
  527. package/components/ScrollContainer/ScrollContainer.helpers.d.ts +10 -10
  528. package/components/ScrollContainer/ScrollContainer.styles.d.ts +17 -17
  529. package/components/ScrollContainer/index.d.ts +1 -1
  530. package/components/Select/Item.d.ts +7 -7
  531. package/components/Select/Select.d.ts +179 -179
  532. package/components/Select/Select.styles.d.ts +17 -17
  533. package/components/Select/index.d.ts +1 -1
  534. package/components/Select/locale/index.d.ts +4 -4
  535. package/components/Select/locale/locales/en.d.ts +2 -2
  536. package/components/Select/locale/locales/ru.d.ts +2 -2
  537. package/components/Select/locale/types.d.ts +4 -4
  538. package/components/Select/selectTheme.d.ts +3 -3
  539. package/components/SidePage/SidePage.d.ts +109 -109
  540. package/components/SidePage/SidePage.styles.d.ts +37 -37
  541. package/components/SidePage/SidePageBody.d.ts +19 -19
  542. package/components/SidePage/SidePageContainer.d.ts +15 -15
  543. package/components/SidePage/SidePageContext.d.ts +17 -17
  544. package/components/SidePage/SidePageFooter.d.ts +36 -36
  545. package/components/SidePage/SidePageHeader.d.ts +44 -44
  546. package/components/SidePage/index.d.ts +5 -5
  547. package/components/Spinner/Spinner.d.ts +56 -56
  548. package/components/Spinner/Spinner.styles.d.ts +12 -12
  549. package/components/Spinner/SpinnerFallbackAnimation.d.ts +25 -25
  550. package/components/Spinner/index.d.ts +1 -1
  551. package/components/Spinner/locale/index.d.ts +4 -4
  552. package/components/Spinner/locale/locales/en.d.ts +2 -2
  553. package/components/Spinner/locale/locales/ru.d.ts +2 -2
  554. package/components/Spinner/locale/types.d.ts +4 -4
  555. package/components/Sticky/Sticky.d.ts +59 -59
  556. package/components/Sticky/Sticky.styles.d.ts +7 -7
  557. package/components/Sticky/index.d.ts +1 -1
  558. package/components/Switcher/Switcher.d.ts +56 -56
  559. package/components/Switcher/Switcher.styles.d.ts +10 -10
  560. package/components/Switcher/index.d.ts +1 -1
  561. package/components/Switcher/switcherTheme.d.ts +2 -2
  562. package/components/Tabs/Indicator.d.ts +28 -28
  563. package/components/Tabs/Indicator.styles.d.ts +8 -8
  564. package/components/Tabs/Tab.d.ts +121 -121
  565. package/components/Tabs/Tab.styles.d.ts +27 -27
  566. package/components/Tabs/Tabs.d.ts +62 -62
  567. package/components/Tabs/Tabs.styles.d.ts +5 -5
  568. package/components/Tabs/TabsContext.d.ts +14 -14
  569. package/components/Tabs/index.d.ts +2 -2
  570. package/components/Textarea/Textarea.d.ts +185 -185
  571. package/components/Textarea/Textarea.styles.d.ts +15 -15
  572. package/components/Textarea/TextareaCounter.d.ts +13 -13
  573. package/components/Textarea/TextareaHelpers.d.ts +11 -11
  574. package/components/Textarea/index.d.ts +1 -1
  575. package/components/Toast/Toast.d.ts +58 -58
  576. package/components/Toast/Toast.styles.d.ts +6 -6
  577. package/components/Toast/ToastStatic.d.ts +8 -8
  578. package/components/Toast/ToastView.d.ts +38 -38
  579. package/components/Toast/ToastView.styles.d.ts +8 -8
  580. package/components/Toast/index.d.ts +1 -1
  581. package/components/Toggle/Toggle.d.ts +107 -107
  582. package/components/Toggle/Toggle.styles.d.ts +30 -30
  583. package/components/Toggle/index.d.ts +1 -1
  584. package/components/Token/Token.d.ts +36 -36
  585. package/components/Token/Token.styles.d.ts +29 -29
  586. package/components/Token/index.d.ts +1 -1
  587. package/components/TokenInput/TextWidthHelper.d.ts +18 -18
  588. package/components/TokenInput/TokenInput.d.ts +194 -194
  589. package/components/TokenInput/TokenInput.styles.d.ts +15 -15
  590. package/components/TokenInput/TokenInputMenu.d.ts +18 -18
  591. package/components/TokenInput/TokenInputReducer.d.ts +25 -25
  592. package/components/TokenInput/index.d.ts +1 -1
  593. package/components/TokenInput/locale/index.d.ts +4 -4
  594. package/components/TokenInput/locale/locales/en.d.ts +2 -2
  595. package/components/TokenInput/locale/locales/ru.d.ts +2 -2
  596. package/components/TokenInput/locale/types.d.ts +4 -4
  597. package/components/Tooltip/Tooltip/Tooltip.js +11 -8
  598. package/components/Tooltip/Tooltip/Tooltip.js.map +1 -1
  599. package/components/Tooltip/Tooltip.d.ts +162 -160
  600. package/components/Tooltip/Tooltip.md +1 -1
  601. package/components/Tooltip/Tooltip.styles.d.ts +5 -5
  602. package/components/Tooltip/index.d.ts +1 -1
  603. package/components/TooltipMenu/TooltipMenu.d.ts +65 -65
  604. package/components/TooltipMenu/index.d.ts +1 -1
  605. package/index.d.ts +49 -49
  606. package/internal/BGRuler.d.ts +30 -30
  607. package/internal/Calendar/Calendar.d.ts +66 -66
  608. package/internal/Calendar/Calendar.styles.d.ts +5 -5
  609. package/internal/Calendar/CalendarDateShape.d.ts +14 -14
  610. package/internal/Calendar/CalendarScrollEvents.d.ts +4 -4
  611. package/internal/Calendar/CalendarUtils.d.ts +19 -19
  612. package/internal/Calendar/DayCellView.d.ts +13 -13
  613. package/internal/Calendar/DayCellView.styles.d.ts +7 -7
  614. package/internal/Calendar/DayCellViewModel.d.ts +8 -8
  615. package/internal/Calendar/Month.d.ts +33 -33
  616. package/internal/Calendar/MonthView.d.ts +21 -21
  617. package/internal/Calendar/MonthView.styles.d.ts +9 -9
  618. package/internal/Calendar/MonthViewModel.d.ts +14 -14
  619. package/internal/Calendar/config.d.ts +9 -9
  620. package/internal/Calendar/index.d.ts +2 -2
  621. package/internal/CommonWrapper/CommonWrapper/CommonWrapper.js +19 -4
  622. package/internal/CommonWrapper/CommonWrapper/CommonWrapper.js.map +1 -1
  623. package/internal/CommonWrapper/CommonWrapper.d.ts +32 -31
  624. package/internal/CommonWrapper/index.d.ts +1 -1
  625. package/internal/ComponentCombinator.d.ts +25 -25
  626. package/internal/ComponentTable.d.ts +21 -21
  627. package/internal/CustomComboBox/ComboBoxMenu.d.ts +31 -31
  628. package/internal/CustomComboBox/ComboBoxView.d.ts +90 -90
  629. package/internal/CustomComboBox/CustomComboBox.d.ts +136 -136
  630. package/internal/CustomComboBox/CustomComboBox.styles.d.ts +5 -5
  631. package/internal/CustomComboBox/CustomComboBoxReducer.d.ts +71 -71
  632. package/internal/CustomComboBox/CustomComboBoxTypes.d.ts +6 -6
  633. package/internal/CustomComboBox/index.d.ts +2 -2
  634. package/internal/CustomComboBox/locale/index.d.ts +4 -4
  635. package/internal/CustomComboBox/locale/locales/en.d.ts +2 -2
  636. package/internal/CustomComboBox/locale/locales/ru.d.ts +2 -2
  637. package/internal/CustomComboBox/locale/types.d.ts +5 -5
  638. package/internal/DateSelect/DateSelect.d.ts +93 -93
  639. package/internal/DateSelect/DateSelect.styles.d.ts +19 -19
  640. package/internal/DateSelect/index.d.ts +1 -1
  641. package/internal/DropdownContainer/DropdownContainer/DropdownContainer.js +18 -21
  642. package/internal/DropdownContainer/DropdownContainer/DropdownContainer.js.map +1 -1
  643. package/internal/DropdownContainer/DropdownContainer.d.ts +44 -44
  644. package/internal/DropdownContainer/DropdownContainer.styles.d.ts +3 -3
  645. package/internal/DropdownContainer/index.d.ts +1 -1
  646. package/internal/FocusTrap/FocusTrap.d.ts +17 -17
  647. package/internal/FocusTrap/index.d.ts +1 -1
  648. package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.d.ts +14 -14
  649. package/internal/HideBodyVerticalScroll/index.d.ts +1 -1
  650. package/internal/IgnoreLayerClick/IgnoreLayerClick.d.ts +8 -8
  651. package/internal/IgnoreLayerClick/index.d.ts +1 -1
  652. package/internal/InputLikeText/HiddenInput.d.ts +13 -13
  653. package/internal/InputLikeText/InputLikeText.d.ts +73 -73
  654. package/internal/InputLikeText/InputLikeText.styles.d.ts +7 -7
  655. package/internal/InputLikeText/index.d.ts +1 -1
  656. package/internal/InternalMenu/InternalMenu.d.ts +63 -63
  657. package/internal/InternalMenu/InternalMenu.styles.d.ts +9 -9
  658. package/internal/InternalMenu/index.d.ts +1 -1
  659. package/internal/InternalMenu/isActiveElement.d.ts +3 -3
  660. package/internal/MaskCharLowLine/MaskCharLowLine.d.ts +9 -9
  661. package/internal/MaskCharLowLine/MaskCharLowLine.styles.d.ts +3 -3
  662. package/internal/MaskCharLowLine/index.d.ts +1 -1
  663. package/internal/MaskedInput/MaskedInput.d.ts +40 -40
  664. package/internal/MaskedInput/MaskedInput.styles.d.ts +6 -6
  665. package/internal/MaskedInput/index.d.ts +1 -1
  666. package/internal/Menu/Menu.d.ts +65 -65
  667. package/internal/Menu/Menu.styles.d.ts +9 -9
  668. package/internal/Menu/index.d.ts +1 -1
  669. package/internal/Menu/isActiveElement.d.ts +3 -3
  670. package/internal/NativeDateInput/NativeDateInput.d.ts +23 -23
  671. package/internal/NativeDateInput/NativeDateInput.styles.d.ts +3 -3
  672. package/internal/NativeDateInput/index.d.ts +1 -1
  673. package/internal/NativeDateInput/utils.d.ts +7 -7
  674. package/internal/PerformanceMetrics/PerformanceMetrics.d.ts +7 -7
  675. package/internal/Popup/Popup/Popup.js +18 -18
  676. package/internal/Popup/Popup/Popup.js.map +1 -1
  677. package/internal/Popup/Popup.d.ts +161 -162
  678. package/internal/Popup/Popup.styles.d.ts +16 -16
  679. package/internal/Popup/PopupHelper.d.ts +26 -26
  680. package/internal/Popup/PopupPin.d.ts +56 -56
  681. package/internal/Popup/PopupPin.styles.d.ts +3 -3
  682. package/internal/Popup/index.d.ts +1 -1
  683. package/internal/Popup/types.d.ts +1 -1
  684. package/internal/PopupMenu/PopupMenu.d.ts +85 -85
  685. package/internal/PopupMenu/PopupMenu.styles.d.ts +4 -4
  686. package/internal/PopupMenu/index.d.ts +1 -1
  687. package/internal/PopupMenu/validatePositions.d.ts +2 -2
  688. package/internal/RenderContainer/RenderContainer/RenderContainer.js +9 -0
  689. package/internal/RenderContainer/RenderContainer/RenderContainer.js.map +1 -1
  690. package/internal/RenderContainer/RenderContainer.d.ts +16 -16
  691. package/internal/RenderContainer/RenderContainerTypes.d.ts +12 -11
  692. package/internal/RenderContainer/RenderInnerContainer.d.ts +13 -13
  693. package/internal/RenderContainer/index.d.ts +1 -1
  694. package/internal/RenderLayer/RenderLayer.d.ts +29 -29
  695. package/internal/RenderLayer/index.d.ts +1 -1
  696. package/internal/ResizeDetector/ResizeDetector.d.ts +12 -12
  697. package/internal/ResizeDetector/ResizeDetector.styles.d.ts +5 -5
  698. package/internal/ResizeDetector/index.d.ts +1 -1
  699. package/internal/ThemePlayground/AnotherInputsPlayground.d.ts +13 -13
  700. package/internal/ThemePlayground/CheckboxPlayground.d.ts +1 -1
  701. package/internal/ThemePlayground/ComponentsGroup.d.ts +10 -10
  702. package/internal/ThemePlayground/CurrencyInputPlayground.d.ts +11 -11
  703. package/internal/ThemePlayground/FxInputPlayground.d.ts +10 -10
  704. package/internal/ThemePlayground/HintPlayground.d.ts +6 -6
  705. package/internal/ThemePlayground/PagingPlayground.d.ts +10 -10
  706. package/internal/ThemePlayground/Playground.d.ts +31 -31
  707. package/internal/ThemePlayground/Playground.styles.d.ts +23 -23
  708. package/internal/ThemePlayground/RadioPlayground.d.ts +1 -1
  709. package/internal/ThemePlayground/SelectPlayground.d.ts +12 -12
  710. package/internal/ThemePlayground/ShowcaseGroup.d.ts +5 -5
  711. package/internal/ThemePlayground/SwitcherPlayground.d.ts +15 -15
  712. package/internal/ThemePlayground/ThemeContextPlayground.d.ts +51 -51
  713. package/internal/ThemePlayground/ThemeEditor.d.ts +39 -39
  714. package/internal/ThemePlayground/TogglePlayground.d.ts +9 -9
  715. package/internal/ThemePlayground/TokenInputPlayground.d.ts +7 -7
  716. package/internal/ThemePlayground/VariableValue.d.ts +45 -45
  717. package/internal/ThemePlayground/constants.d.ts +18 -18
  718. package/internal/ThemePlayground/darkTheme.d.ts +255 -255
  719. package/internal/ThemePlayground/helpers.d.ts +2 -2
  720. package/internal/ThemeShowcase/ThemeShowcase.d.ts +22 -22
  721. package/internal/ThemeShowcase/ThemeShowcase.styles.d.ts +24 -24
  722. package/internal/ThemeShowcase/VariablesCollector.d.ts +22 -22
  723. package/internal/ZIndex/ZIndex.d.ts +36 -36
  724. package/internal/ZIndex/ZIndexStorage.d.ts +18 -18
  725. package/internal/ZIndex/index.d.ts +1 -1
  726. package/internal/icons/16px/icon.styles.d.ts +4 -4
  727. package/internal/icons/16px/index.d.ts +22 -22
  728. package/internal/icons/20px/Icon.d.ts +30 -30
  729. package/internal/icons/20px/icon.styles.d.ts +4 -4
  730. package/internal/icons/20px/index.d.ts +2 -2
  731. package/internal/icons/20px/svg.d.ts +14 -14
  732. package/internal/icons/CloudIcon.d.ts +1 -1
  733. package/internal/icons/CrossIcon.d.ts +1 -1
  734. package/internal/icons/SpinnerIcon.d.ts +26 -26
  735. package/internal/icons/SpinnerIcon.styles.d.ts +4 -4
  736. package/internal/themes/DefaultTheme.d.ts +766 -766
  737. package/internal/themes/FlatTheme.d.ts +132 -132
  738. package/internal/themes/Theme8px.d.ts +271 -271
  739. package/lib/ConditionalHandler.d.ts +11 -11
  740. package/lib/InstanceWithAnchorElement/InstanceWithAnchorElement.js +3 -0
  741. package/lib/InstanceWithAnchorElement/InstanceWithAnchorElement.js.map +1 -0
  742. package/lib/InstanceWithAnchorElement/package.json +6 -0
  743. package/lib/InstanceWithAnchorElement.d.ts +5 -0
  744. package/lib/LayoutEvents.d.ts +4 -4
  745. package/lib/ModalStack.d.ts +14 -14
  746. package/lib/SSRSafe.d.ts +4 -4
  747. package/lib/Supports.d.ts +1 -1
  748. package/lib/Upgrades.d.ts +6 -6
  749. package/lib/animation/index.d.ts +6 -6
  750. package/lib/animation/presets.d.ts +18 -18
  751. package/lib/animation/stepper.d.ts +1 -1
  752. package/lib/callChildRef/callChildRef.d.ts +3 -3
  753. package/lib/client.d.ts +16 -16
  754. package/lib/createPropsGetter.d.ts +2 -2
  755. package/lib/currentEnvironment.d.ts +3 -3
  756. package/lib/date/InternalDate.d.ts +58 -58
  757. package/lib/date/InternalDateCalculator.d.ts +6 -6
  758. package/lib/date/InternalDateGetter.d.ts +15 -15
  759. package/lib/date/InternalDateSetter.d.ts +6 -6
  760. package/lib/date/InternalDateTransformer.d.ts +12 -12
  761. package/lib/date/InternalDateValidator.d.ts +12 -12
  762. package/lib/date/constants.d.ts +28 -28
  763. package/lib/date/localeSets.d.ts +5 -5
  764. package/lib/date/types.d.ts +90 -90
  765. package/lib/dom/getScrollWidth.d.ts +1 -1
  766. package/lib/dom/tabbableHelpers.d.ts +16 -16
  767. package/lib/events/MouseDrag.d.ts +58 -58
  768. package/lib/events/fixClickFocusIE.d.ts +1 -1
  769. package/lib/events/fixFirefoxModifiedClickOnLabel.d.ts +2 -2
  770. package/lib/events/keyListener.d.ts +7 -7
  771. package/lib/events/keyboard/KeyboardEventCodes.d.ts +30 -30
  772. package/lib/events/keyboard/KeyboardMapKeys.d.ts +6 -6
  773. package/lib/events/keyboard/extractCode.d.ts +3 -3
  774. package/lib/events/keyboard/identifiers.d.ts +48 -48
  775. package/lib/events/stopPropagation.d.ts +1 -1
  776. package/lib/events/tabListener.d.ts +1 -1
  777. package/lib/extractKeyboardAction.d.ts +13 -13
  778. package/lib/filterProps.d.ts +12 -12
  779. package/lib/forwardRefAndName.d.ts +5 -5
  780. package/lib/getDisplayName.d.ts +3 -3
  781. package/lib/listenFocusOutside.d.ts +8 -8
  782. package/lib/locale/LocaleContext.d.ts +7 -7
  783. package/lib/locale/LocaleHelper.d.ts +9 -9
  784. package/lib/locale/constants.d.ts +2 -2
  785. package/lib/locale/decorators.d.ts +36 -36
  786. package/lib/locale/index.d.ts +3 -3
  787. package/lib/locale/types.d.ts +19 -19
  788. package/lib/memo.d.ts +1 -1
  789. package/lib/net/fetch.d.ts +13 -13
  790. package/lib/polyfillPlaceholder.d.ts +1 -1
  791. package/lib/reactGetTextContent.d.ts +2 -2
  792. package/lib/rootNode/getRootNode/getRootNode.js +3 -4
  793. package/lib/rootNode/getRootNode/getRootNode.js.map +1 -1
  794. package/lib/rootNode/getRootNode.d.ts +3 -3
  795. package/lib/rootNode/index.d.ts +2 -2
  796. package/lib/rootNode/rootNodeDecorator/rootNodeDecorator.js +24 -3
  797. package/lib/rootNode/rootNodeDecorator/rootNodeDecorator.js.map +1 -1
  798. package/lib/rootNode/rootNodeDecorator.d.ts +47 -33
  799. package/lib/styles/ColorFactory.d.ts +11 -11
  800. package/lib/styles/ColorFunctions.d.ts +11 -11
  801. package/lib/styles/ColorHelpers.d.ts +20 -20
  802. package/lib/styles/ColorKeywords.d.ts +150 -150
  803. package/lib/styles/ColorObject.d.ts +52 -52
  804. package/lib/styles/DimensionFunctions.d.ts +1 -1
  805. package/lib/styles/HoldSelectionColor.d.ts +1 -1
  806. package/lib/styles/Mixins.d.ts +2 -2
  807. package/lib/taskWithDelayAndMinimalDuration.d.ts +21 -21
  808. package/lib/theming/AnimationKeyframes.d.ts +9 -9
  809. package/lib/theming/Emotion.d.ts +15 -15
  810. package/lib/theming/Theme.d.ts +3 -3
  811. package/lib/theming/ThemeContext.d.ts +2 -2
  812. package/lib/theming/ThemeFactory.d.ts +8 -8
  813. package/lib/theming/ThemeHelpers.d.ts +11 -11
  814. package/lib/theming/themes/DefaultTheme.d.ts +1 -1
  815. package/lib/theming/themes/DefaultThemeOld.d.ts +1 -1
  816. package/lib/theming/themes/FlatTheme.d.ts +1 -1
  817. package/lib/theming/themes/FlatThemeOld.d.ts +1 -1
  818. package/lib/theming/useTheme.d.ts +1 -1
  819. package/lib/utils.d.ts +63 -63
  820. package/lib/withClassWrapper.d.ts +71 -71
  821. package/package.json +2 -5
@@ -1 +1 @@
1
- {"version":3,"sources":["Popup.tsx"],"names":["POPUP_BORDER_DEFAULT_COLOR","TRANSITION_TIMEOUT","enter","exit","PopupPositions","DefaultPosition","DUMMY_LOCATION","position","coordinates","top","left","Popup","rootNode","state","location","props","opened","theme","layoutEventsToken","locationUpdateId","lastPopupElement","anchorElement","setRootNode","refForTransition","React","createRef","renderContainerRef","childInstance","updateAnchorElement","handleMouseEnter","event","onMouseEnter","handleMouseLeave","onMouseLeave","handleClick","onClick","handleFocus","onFocus","handleBlur","onBlur","calculateWidth","width","includes","offsetWidth","parseFloat","resetLocation","cancelDelayedUpdateLocation","setState","refPopupElement","element","handleLayoutEvent","updateLocation","popupElement","getLocation","locationEquals","componentDidMount","LayoutEvents","addListener","getDerivedStateFromProps","componentDidUpdate","prevProps","prevState","hadNoLocation","hasLocation","wasClosed","onOpen","onClose","delayUpdateLocation","componentWillUnmount","removeEventListeners","remove","render","renderMain","useWrapper","anchor","isValidElement","anchorWithRef","cloneElement","ref","instance","originalRef","renderContent","childDomNode","addEventListeners","addEventListener","removeEventListener","backgroundColor","disableAnimations","maxWidth","hasShadow","ignoreHover","children","renderChildren","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","Math","abs","positions","tryPreserveFirstRenderedPosition","anchorRect","getElementAbsoluteRect","popupRect","getCoordinates","isFullyVisible","canBecomeVisible","canBecomeFullyVisible","getPinnedPopupOffset","test","anchorSize","height","max","marginFromProps","margin","isNaN","popupMargin","popupOffset","getHorizontalPosition","getVerticalPosition","Error","pinOffset","popupPinOffset","popupPinOffsetY","popupPinOffsetX","Component","__KONTUR_REACT_UI__","propTypes","PropTypes","oneOfType","HTMLElement","node","isRequired","string","func","bool","number","array","defaultProps","isTestEnv"],"mappings":"6cAAA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,uC;;AAEA,IAAMA,0BAA0B,GAAG,aAAnC;AACA,IAAMC,kBAAkB,GAAG,EAAEC,KAAK,EAAE,CAAT,EAAYC,IAAI,EAAE,GAAlB,EAA3B;;AAEO,IAAMC,cAAc,GAAG;AAC5B,UAD4B;AAE5B,YAF4B;AAG5B,WAH4B;AAI5B,WAJ4B;AAK5B,cAL4B;AAM5B,cAN4B;AAO5B,cAP4B;AAQ5B,eAR4B;AAS5B,aAT4B;AAU5B,aAV4B;AAW5B,aAX4B;AAY5B,UAZ4B,CAAvB,C;;AAcA,IAAMC,eAAe,GAAGD,cAAc,CAAC,CAAD,CAAtC,C;;;;AAIP,IAAME,cAA6B,GAAG;AACpCC,EAAAA,QAAQ,EAAEF,eAD0B;AAEpCG,EAAAA,WAAW,EAAE;AACXC,IAAAA,GAAG,EAAE,CAAC,IADK;AAEXC,IAAAA,IAAI,EAAE,CAAC,IAFI,EAFuB,EAAtC,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgEaC,K,OADZC,kB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4EQC,IAAAA,K,GAAoB,EAAEC,QAAQ,EAAE,MAAKC,KAAL,CAAWC,MAAX,GAAoBV,cAApB,GAAqC,IAAjD,E;AACnBW,IAAAA,K;AACAC,IAAAA,iB;AACAC,IAAAA,gB,GAAqC,I;AACrCC,IAAAA,gB;AACAC,IAAAA,a,GAAuC,I;AACvCC,IAAAA,W;AACAC,IAAAA,gB,gBAAmBC,eAAMC,SAAN,E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiGnBC,IAAAA,kB,GAAqB,UAACC,aAAD,EAAkD;AAC7E,YAAKC,mBAAL,CAAyBD,aAAzB;AACD,K;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkCOE,IAAAA,gB,GAAmB,UAACC,KAAD,EAA2B;AACpD,UAAI,MAAKf,KAAL,CAAWgB,YAAf,EAA6B;AAC3B,cAAKhB,KAAL,CAAWgB,YAAX,CAAwBD,KAAxB;AACD;AACF,K;;AAEOE,IAAAA,gB,GAAmB,UAACF,KAAD,EAA2B;AACpD,UAAI,MAAKf,KAAL,CAAWkB,YAAf,EAA6B;AAC3B,cAAKlB,KAAL,CAAWkB,YAAX,CAAwBH,KAAxB;AACD;AACF,K;;AAEOI,IAAAA,W,GAAc,UAACJ,KAAD,EAA2B;AAC/C,UAAI,MAAKf,KAAL,CAAWoB,OAAf,EAAwB;AACtB,cAAKpB,KAAL,CAAWoB,OAAX,CAAmBL,KAAnB;AACD;AACF,K;;AAEOM,IAAAA,W,GAAc,UAACN,KAAD,EAA2B;AAC/C,UAAI,MAAKf,KAAL,CAAWsB,OAAf,EAAwB;AACtB,cAAKtB,KAAL,CAAWsB,OAAX,CAAmBP,KAAnB;AACD;AACF,K;;AAEOQ,IAAAA,U,GAAa,UAACR,KAAD,EAA2B;AAC9C,UAAI,MAAKf,KAAL,CAAWwB,MAAf,EAAuB;AACrB,cAAKxB,KAAL,CAAWwB,MAAX,CAAkBT,KAAlB;AACD;AACF,K;;AAEOU,IAAAA,c,GAAiB,UAACC,KAAD,EAAgC;AACvD,UAAI,OAAOA,KAAP,KAAiB,QAAjB,IAA6BA,KAAK,CAACC,QAAN,CAAe,GAAf,CAAjC,EAAsD;AACpD,eAAO,MAAKrB,aAAL,GAAsB,MAAKA,aAAL,CAAmBsB,WAAnB,GAAiCC,UAAU,CAACH,KAAD,CAA5C,GAAuD,GAA5E,GAAkF,CAAzF;AACD;AACD,aAAOA,KAAP;AACD,K;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+DOI,IAAAA,a,GAAgB,YAAM;AAC5B,YAAKC,2BAAL;AACA,YAAKjC,KAAL,CAAWC,QAAX,KAAwB,IAAxB,IAAgC,MAAKiC,QAAL,CAAc,EAAEjC,QAAQ,EAAE,IAAZ,EAAd,CAAhC;AACD,K;;;;;;AAMOkC,IAAAA,e,GAAkB,UAACC,OAAD,EAAoC;AAC5D,YAAK7B,gBAAL,GAAwB6B,OAAxB;AACD,K;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6BOC,IAAAA,iB,GAAoB,YAAM;AAChC,UAAI,CAAC,MAAKrC,KAAL,CAAWC,QAAhB,EAA0B;AACxB;AACD;AACD,YAAKqC,cAAL;AACD,K;;;;;;;;;;;;;;AAcOA,IAAAA,c,GAAiB,YAAM;AAC7B,UAAMC,YAAY,GAAG,MAAKhC,gBAA1B;;AAEA,UAAI,CAACgC,YAAL,EAAmB;AACjB;AACD;;AAED,UAAMtC,QAAQ,GAAG,MAAKuC,WAAL,CAAiBD,YAAjB,EAA+B,MAAKvC,KAAL,CAAWC,QAA1C,CAAjB;AACA,UAAI,CAAC,MAAKwC,cAAL,CAAoB,MAAKzC,KAAL,CAAWC,QAA/B,EAAyCA,QAAzC,CAAL,EAAyD;AACvD,cAAKiC,QAAL,CAAc,EAAEjC,QAAQ,EAARA,QAAF,EAAd;AACD;AACF,K,mDA3SMyC,iB,GAAP,6BAA2B,CACzB,KAAKJ,cAAL,GACA,KAAKjC,iBAAL,GAAyBsC,YAAY,CAACC,WAAb,CAAyB,KAAKP,iBAA9B,CAAzB,CACD,C,OAEaQ,wB,GAAd,kCAAuC3C,KAAvC,EAAoEF,KAApE,EAAuF,CACrF;AACJ;AACA,OACI,IAAIE,KAAK,CAACC,MAAV,EAAkB,CAChB,IAAI,CAACH,KAAK,CAACC,QAAX,EAAqB,CACnB,OAAO,EAAEA,QAAQ,EAAER,cAAZ,EAAP,CACD,CACF,CAJD,MAIO,IAAIO,KAAK,CAACC,QAAV,EAAoB,CACzB,OAAO,EAAEA,QAAQ,EAAER,cAAZ,EAAP,CACD,CACD,OAAOO,KAAP,CACD,C,QAEM8C,kB,GAAP,4BAA0BC,SAA1B,EAAiDC,SAAjD,EAAwE,CACtE,IAAMC,aAAa,GAAGD,SAAS,CAAC/C,QAAV,KAAuBR,cAA7C,CACA,IAAMyD,WAAW,GAAG,KAAKlD,KAAL,CAAWC,QAAX,KAAwBR,cAA5C,CACA,IAAM0D,SAAS,GAAGJ,SAAS,CAAC5C,MAAV,IAAoB,CAAC,KAAKD,KAAL,CAAWC,MAAlD,CAEA,IAAI8C,aAAa,IAAIC,WAAjB,IAAgC,KAAKhD,KAAL,CAAWkD,MAA/C,EAAuD,CACrD,KAAKlD,KAAL,CAAWkD,MAAX,GACD,CACD,IAAID,SAAS,IAAI,CAACD,WAAd,IAA6B,KAAKhD,KAAL,CAAWmD,OAA5C,EAAqD,CACnD,KAAKnD,KAAL,CAAWmD,OAAX,GACD,CACD,IAAI,KAAKnD,KAAL,CAAWC,MAAf,EAAuB,CACrB,KAAKmD,mBAAL,GACD,CACF,C,QAEMC,oB,GAAP,gCAA8B,CAC5B,KAAKtB,2BAAL,GACA,KAAKuB,oBAAL,CAA0B,KAAKhD,aAA/B,EACA,IAAI,KAAKH,iBAAT,EAA4B,CAC1B,KAAKA,iBAAL,CAAuBoD,MAAvB,GACA,KAAKpD,iBAAL,GAAyB,IAAzB,CACD,CACD,IAAI,KAAKL,KAAL,CAAWC,QAAX,IAAuB,KAAKC,KAAL,CAAWmD,OAAtC,EAA+C,CAC7C,KAAKnD,KAAL,CAAWmD,OAAX,GACD,CACF,C,QAEMK,M,GAAP,kBAAgB,mBACd,oBACE,6BAAC,0BAAD,CAAc,QAAd,QACG,UAACtD,KAAD,EAAW,CACV,MAAI,CAACA,KAAL,GAAaA,KAAb,CACA,OAAO,MAAI,CAACuD,UAAL,EAAP,CACD,CAJH,CADF,CAQD,C,QAEOA,U,GAAR,sBAAqB,uBACX1D,QADW,GACE,KAAKD,KADP,CACXC,QADW,mBAEmB,KAAKC,KAFxB,CAEXM,aAFW,eAEXA,aAFW,CAEIoD,UAFJ,eAEIA,UAFJ,CAInB,IAAIC,MAAiC,GAAG,IAAxC,CACA,IAAI,4BAAcrD,aAAd,CAAJ,EAAkC,CAChC,KAAKO,mBAAL,CAAyBP,aAAzB,EACD,CAFD,MAEO,kBAAIG,eAAMmD,cAAN,CAAqBtD,aAArB,CAAJ,EAAyC,CAC9CqD,MAAM,GAAGD,UAAU,gBAAG,2CAAOpD,aAAP,CAAH,GAAkCA,aAArD,CACD,CAFM,MAEA,CACLqD,MAAM,gBAAG,2CAAOrD,aAAP,CAAT,CACD,CAED,IAAMuD,aAAa,GACjBF,MAAM,iBAAIlD,eAAMmD,cAAN,CAAqBD,MAArB,CAAV,IAA0C,6BAAiBA,MAAjB,CAA1C,gBACIlD,eAAMqD,YAAN,CAAmBH,MAAnB,EAA2B,EACzBI,GAAG,EAAE,aAACC,QAAD,EAA6C,aAChD,MAAI,CAACnD,mBAAL,CAAyBmD,QAAzB,EACA,IAAMC,WAAW,cAAIN,MAAJ,qBAAG,QAAsCI,GAA1D,CACAE,WAAW,IAAI,gCAAaA,WAAb,EAA0BD,QAA1B,CAAf,CACD,CALwB,EAA3B,CADJ,GAQI,IATN,CAbmB,CAwBnB;AACA;AACA;AACA;AACA;AAEA,wBACE,6BAAC,gCAAD,IAAiB,MAAM,EAAEH,aAAa,IAAIF,MAA1C,EAAkD,GAAG,EAAEE,aAAa,GAAG,IAAH,GAAU,KAAKlD,kBAAnF,IACGZ,QAAQ,IAAI,KAAKmE,aAAL,CAAmBnE,QAAnB,CADf,CADF,CAKD,C,QAMOc,mB,GAAR,6BAA4BD,aAA5B,EAA0E,CACxE,IAAMuD,YAAY,GAAG,2BAAYvD,aAAZ,CAArB,CACA,IAAMN,aAAa,GAAG,KAAKA,aAA3B,CAEA,IAAI6D,YAAY,KAAK7D,aAArB,EAAoC,CAClC,KAAKgD,oBAAL,CAA0BhD,aAA1B,EACA,KAAKA,aAAL,GAAqB6D,YAArB,CACA,KAAKC,iBAAL,CAAuBD,YAAvB,EACA,KAAK5D,WAAL,CAAiB4D,YAAjB,EACD,CACF,C,QAEOC,iB,GAAR,2BAA0BlC,OAA1B,EAA0D,CACxD,IAAIA,OAAO,IAAI,4BAAcA,OAAd,CAAf,EAAuC,CACrCA,OAAO,CAACmC,gBAAR,CAAyB,YAAzB,EAAuC,KAAKvD,gBAA5C,EACAoB,OAAO,CAACmC,gBAAR,CAAyB,YAAzB,EAAuC,KAAKpD,gBAA5C,EACAiB,OAAO,CAACmC,gBAAR,CAAyB,OAAzB,EAAkC,KAAKlD,WAAvC,EACAe,OAAO,CAACmC,gBAAR,CAAyB,SAAzB,EAAoC,KAAKhD,WAAzC,EACAa,OAAO,CAACmC,gBAAR,CAAyB,UAAzB,EAAqC,KAAK9C,UAA1C,EACD,CACF,C,QAEO+B,oB,GAAR,8BAA6BpB,OAA7B,EAA6D,CAC3D,IAAIA,OAAO,IAAI,4BAAcA,OAAd,CAAf,EAAuC,CACrCA,OAAO,CAACoC,mBAAR,CAA4B,YAA5B,EAA0C,KAAKxD,gBAA/C,EACAoB,OAAO,CAACoC,mBAAR,CAA4B,YAA5B,EAA0C,KAAKrD,gBAA/C,EACAiB,OAAO,CAACoC,mBAAR,CAA4B,OAA5B,EAAqC,KAAKnD,WAA1C,EACAe,OAAO,CAACoC,mBAAR,CAA4B,SAA5B,EAAuC,KAAKjD,WAA5C,EACAa,OAAO,CAACoC,mBAAR,CAA4B,UAA5B,EAAwC,KAAK/C,UAA7C,EACD,CACF,C,QAuCO2C,a,GAAR,uBAAsBnE,QAAtB,EAA+C,sCACmD,KAAKC,KADxD,CACrCuE,eADqC,gBACrCA,eADqC,CACpBC,iBADoB,gBACpBA,iBADoB,CACDC,QADC,gBACDA,QADC,CACSC,SADT,gBACSA,SADT,CACoBC,WADpB,gBACoBA,WADpB,CACiC1E,MADjC,gBACiCA,MADjC,CACyCyB,KADzC,gBACyCA,KADzC,CAE7C,IAAMkD,QAAQ,GAAG,KAAKC,cAAL,EAAjB,CAF6C,4BAIvBC,yBAAYC,iBAAZ,CAA8BhF,QAAQ,CAACP,QAAvC,CAJuB,CAIrCwF,SAJqC,yBAIrCA,SAJqC,CAK7C,IAAMC,SAA8B,8BAAQlF,QAAQ,CAACN,WAAjB,IAA8BgF,QAAQ,EAARA,QAA9B,GAApC,CAEA,IAAMS,oBAAoB,GAAGC,kBAAUC,cAAV,IAAoBC,gBAAjD,CAEA,oBACE,6BAAC,gCAAD,IACE,OAAO,EAAEnG,kBADX,EAEE,MAAM,EAAE,CAACsF,iBAFX,EAGE,EAAE,EAAEc,OAAO,CAACrF,MAAM,IAAI2E,QAAX,CAHb,EAIE,YAAY,MAJd,EAKE,aAAa,MALf,EAME,KAAK,EAAE,CAACJ,iBANV,EAOE,IAAI,EAAE,CAACA,iBAPT,EAQE,QAAQ,EAAE,KAAK1C,aARjB,EASE,OAAO,EAAE,KAAKtB,gBAThB,IAWG,UAACV,KAAD,2CACC,6BAAC,4BAAD,EAAmB,MAAI,CAACE,KAAxB,eACE,6BAAC,cAAD,IACE,UAAU,EAAE,MAAI,CAACiC,eADnB,EAEE,QAAQ,EAAE,OAFZ,EAGE,SAAS,EAAE,mEACRsD,cAAOC,KAAP,CAAa,MAAI,CAACtF,KAAlB,CADQ,IACmB,IADnB,YAERqF,cAAOE,MAAP,CAAc,MAAI,CAACvF,KAAnB,CAFQ,IAEoBwE,SAAS,IAAI,CAACQ,oBAFlC,YAGRK,cAAOG,cAAP,CAAsB,MAAI,CAACxF,KAA3B,CAHQ,IAG4BwE,SAAS,IAAIQ,oBAHzC,YAIRK,cAAOI,gBAAP,EAJQ,IAIoBhB,WAJpB,cAKLH,iBAAiB,GACjB,EADiB,oBAGde,oCAA2BP,SAA3B,EAA+D,MAAI,CAAC9E,KAApE,CAHc,IAG+D,IAH/D,OAIdqF,cAAOK,eAAP,EAJc,IAIa9F,KAAK,KAAK,UAJvB,OAKdyF,cAAOM,qBAAP,EALc,IAKmB/F,KAAK,KAAK,SAL7B,OAMdyF,cAAOO,cAAP,EANc,IAMYhG,KAAK,KAAK,SANtB,OALZ,EAHb,EAiBE,KAAK,EAAEmF,SAjBT,EAkBE,YAAY,EAAE,MAAI,CAACnE,gBAlBrB,EAmBE,YAAY,EAAE,MAAI,CAACG,gBAnBrB,iBAqBE,sCAAK,SAAS,EAAEsE,cAAOQ,OAAP,CAAe,MAAI,CAAC7F,KAApB,CAAhB,EAA4C,YAAU,cAAtD,EAAsE,GAAG,EAAE,MAAI,CAACM,gBAAhF,iBACE,sCACE,SAAS,EAAE+E,cAAOS,YAAP,CAAoB,MAAI,CAAC9F,KAAzB,CADb,EAEE,KAAK,EAAE,EAAEqE,eAAe,EAAfA,eAAF,EAAmB7C,KAAK,EAAE,MAAI,CAACD,cAAL,CAAoBC,KAApB,CAA1B,EAFT,EAGE,YAAU,mBAHZ,IAKGkD,QALH,CADF,CArBF,EA8BG,MAAI,CAACqB,SAAL,CAAelG,QAAQ,CAACP,QAAxB,CA9BH,CADF,CADD,EAXH,CADF,CAkDD,C,QAOOqF,c,GAAR,0BAAyB,CACvB,OAAO,uBAAW,KAAK7E,KAAL,CAAW4E,QAAtB,IAAkC,KAAK5E,KAAL,CAAW4E,QAAX,EAAlC,GAA0D,KAAK5E,KAAL,CAAW4E,QAA5E,CACD,C,QAMOqB,S,GAAR,mBAAkBC,YAAlB,EAAyD,CACvD;AACJ;AACA;AACA;AACA,OACI,IAAMC,oBAAoB,GAAG,KAAKjG,KAAL,CAAWkG,gBAAX,KAAgCnH,0BAA7D,CACA,IAAMoH,SAAS,GAAGlB,kBAAUgB,oBAAV,GAAiC,qBAAjC,GAAyD,KAAKjG,KAAL,CAAWkG,gBAAtF,CAPuD,mBASM,KAAKpG,KATX,CAS/CsG,OAT+C,gBAS/CA,OAT+C,CAStC5B,SATsC,gBAStCA,SATsC,CAS3BH,eAT2B,gBAS3BA,eAT2B,CASVgC,WATU,gBASVA,WATU,CAUvD,IAAM/G,QAAQ,GAAGsF,yBAAYC,iBAAZ,CAA8BmB,YAA9B,CAAjB,CAEA,OACE,KAAKlG,KAAL,CAAWwG,MAAX,iBACE,6BAAC,kBAAD,IACE,YAAY,EAAE,KAAKnG,gBADrB,EAEE,aAAa,EAAE6F,YAFjB,EAGE,IAAI,EAAEI,OAAO,IAAIG,QAAQ,CAAC,KAAKvG,KAAL,CAAWwG,YAAZ,CAH3B,EAIE,MAAM,EAAE,KAAKC,YAAL,CAAkBnH,QAAQ,CAACoH,KAA3B,CAJV,EAKE,WAAW,EAAElC,SAAS,GAAG,CAAH,GAAO,CAL/B,EAME,eAAe,EAAEH,eAAe,IAAI,KAAKrE,KAAL,CAAW2G,eANjD,EAOE,WAAW,EAAEN,WAAW,IAAIF,SAP9B,GAFJ,CAaD,C,QASOjD,mB,GAAR,+BAA8B,CAC5B,KAAKrB,2BAAL,GACA,KAAK3B,gBAAL,GAAwB,kBAAI,KAAKgC,cAAT,CAAxB,CACD,C,QAEOL,2B,GAAR,uCAAsC,CACpC,IAAI,KAAK3B,gBAAT,EAA2B,CACzB0G,aAAIC,MAAJ,CAAW,KAAK3G,gBAAhB,EACA,KAAKA,gBAAL,GAAwB,IAAxB,CACD,CACF,C,QAeOmC,c,GAAR,wBAAuByE,CAAvB,EAAmDC,CAAnD,EAA+E,CAC7E,IAAID,CAAC,KAAKC,CAAV,EAAa,CACX,OAAO,IAAP,CACD,CAED,IAAID,CAAC,IAAI,IAAL,IAAaC,CAAC,IAAI,IAAtB,EAA4B,CAC1B,OAAO,KAAP,CACD,CAED,IAAI,CAAC9B,cAAD,IAAW,CAACC,cAAhB,EAAwB;AACtB;AACE4B,QAAAA,CAAC,CAACvH,WAAF,CAAcE,IAAd,KAAuBsH,CAAC,CAACxH,WAAF,CAAcE,IAArC;AACAqH,QAAAA,CAAC,CAACvH,WAAF,CAAcC,GAAd,KAAsBuH,CAAC,CAACxH,WAAF,CAAcC,GADpC;AAEAsH,QAAAA,CAAC,CAACxH,QAAF,KAAeyH,CAAC,CAACzH,QAHnB;;AAKD;;AAED;AACA;;AAEA;AACEwH,MAAAA,CAAC,CAACxH,QAAF,KAAeyH,CAAC,CAACzH,QAAjB;AACA0H,MAAAA,IAAI,CAACC,GAAL,CAASH,CAAC,CAACvH,WAAF,CAAcC,GAAd,GAAoBuH,CAAC,CAACxH,WAAF,CAAcC,GAA3C,KAAmD,CADnD;AAEAwH,MAAAA,IAAI,CAACC,GAAL,CAASH,CAAC,CAACvH,WAAF,CAAcE,IAAd,GAAqBsH,CAAC,CAACxH,WAAF,CAAcE,IAA5C,KAAqD,CAHvD;;AAKD,G;;AAEO2C,EAAAA,W,GAAR,qBAAoBD,YAApB,EAA+CtC,QAA/C,EAAmF;AACzB,SAAKC,KADoB,CACzEoH,SADyE,gBACzEA,SADyE,CAC9DC,gCAD8D,gBAC9DA,gCAD8D;AAEjF,QAAM/G,aAAa,GAAG,KAAKA,aAA3B;;AAEA;AACEA,IAAAA,aAAa,IAAI,4BAAcA,aAAd,CADnB;AAEE,kEAFF;;;AAKA,QAAI,EAAEA,aAAa,IAAI,4BAAcA,aAAd,CAAnB,CAAJ,EAAsD;AACpD,aAAOP,QAAP;AACD;;AAED,QAAMuH,UAAU,GAAGxC,yBAAYyC,sBAAZ,CAAmCjH,aAAnC,CAAnB;AACA,QAAMkH,SAAS,GAAG1C,yBAAYyC,sBAAZ,CAAmClF,YAAnC,CAAlB;;AAEA,QAAI7C,QAAJ;AACA,QAAIC,WAAJ;;AAEA,QAAIM,QAAQ,IAAIA,QAAQ,KAAKR,cAAzB,IAA2CQ,QAAQ,CAACP,QAAxD,EAAkE;AAChEA,MAAAA,QAAQ,GAAGO,QAAQ,CAACP,QAApB;AACAC,MAAAA,WAAW,GAAG,KAAKgI,cAAL,CAAoBH,UAApB,EAAgCE,SAAhC,EAA2ChI,QAA3C,CAAd;;AAEA,UAAMkI,cAAc,GAAG5C,yBAAY4C,cAAZ,CAA2BjI,WAA3B,EAAwC+H,SAAxC,CAAvB;AACA,UAAMG,gBAAgB,GAAG,CAACD,cAAD,IAAmB5C,yBAAY8C,qBAAZ,CAAkCpI,QAAlC,EAA4CC,WAA5C,CAA5C;;AAEA;AACE;AACA;AACC4H,MAAAA,gCAAgC,KAAKK,cAAc,IAAIC,gBAAvB,CAAjC;AACA;AACA;AACCD,MAAAA,cAAc,IAAIlI,QAAQ,KAAK4H,SAAS,CAAC,CAAD,CAN3C;AAOE;AACA;AACA,eAAO,EAAE3H,WAAW,EAAXA,WAAF,EAAeD,QAAQ,EAARA,QAAf,EAAP;AACD;AACF;;AAED,yDAAiB4H,SAAjB,wCAA4B,CAAvB5H,QAAuB;AAC1BC,MAAAA,WAAW,GAAG,KAAKgI,cAAL,CAAoBH,UAApB,EAAgCE,SAAhC,EAA2ChI,QAA3C,CAAd;AACA,UAAIsF,yBAAY4C,cAAZ,CAA2BjI,WAA3B,EAAwC+H,SAAxC,CAAJ,EAAwD;AACtD,eAAO,EAAE/H,WAAW,EAAXA,WAAF,EAAeD,QAAQ,EAARA,QAAf,EAAP;AACD;AACF;;AAEDA,IAAAA,QAAQ,GAAG4H,SAAS,CAAC,CAAD,CAApB;AACA3H,IAAAA,WAAW,GAAG,KAAKgI,cAAL,CAAoBH,UAApB,EAAgCE,SAAhC,EAA2ChI,QAA3C,CAAd;AACA,WAAO,EAAEC,WAAW,EAAXA,WAAF,EAAeD,QAAQ,EAARA,QAAf,EAAP;AACD,G;;AAEOqI,EAAAA,oB,GAAR,8BAA6BP,UAA7B,EAA+C9H,QAA/C,EAAyE;AACvE,QAAI,CAAC,KAAKQ,KAAL,CAAWwG,MAAZ,IAAsB,gBAAgBsB,IAAhB,CAAqBtI,QAAQ,CAACoH,KAA9B,CAA1B,EAAgE;AAC9D,aAAO,CAAP;AACD;;AAED,QAAMmB,UAAU,GAAG,aAAaD,IAAb,CAAkBtI,QAAQ,CAACwF,SAA3B,IAAwCsC,UAAU,CAAC5F,KAAnD,GAA2D4F,UAAU,CAACU,MAAzF,CALuE;;AAO/D1B,IAAAA,OAP+D,GAOnD,KAAKtG,KAP8C,CAO/DsG,OAP+D;;AASvE,WAAOY,IAAI,CAACe,GAAL;AACL,KADK;AAEL,SAAKtB,YAAL,CAAkBnH,QAAQ,CAACoH,KAA3B,KAAqCN,OAAO,IAAIG,QAAQ,CAAC,KAAKvG,KAAL,CAAWwG,YAAZ,CAAxD,IAAqFqB,UAAU,GAAG,CAF7F,CAAP;;AAID,G;;AAEON,EAAAA,c,GAAR,wBAAuBH,UAAvB,EAAyCE,SAAzC,EAA0DtB,YAA1D,EAAgF;AAC9DgC,IAAAA,eAD8D,GAC1C,KAAKlI,KADqC,CACtEmI,MADsE;AAE9E,QAAMA,MAAM;AACV,8BAAcD,eAAd,KAAkC,CAACE,KAAK,CAACF,eAAD,CAAxC;AACIA,IAAAA,eADJ;AAEIzB,IAAAA,QAAQ,CAAC,KAAKvG,KAAL,CAAWmI,WAAZ,CAAR,IAAoC,CAH1C;AAIA,QAAM7I,QAAQ,GAAGsF,yBAAYC,iBAAZ,CAA8BmB,YAA9B,CAAjB;AACA,QAAMoC,WAAW,GAAG,KAAKtI,KAAL,CAAWsI,WAAX,GAAyB,KAAKT,oBAAL,CAA0BP,UAA1B,EAAsC9H,QAAtC,CAA7C;;AAEA,YAAQA,QAAQ,CAACwF,SAAjB;AACE,WAAK,KAAL;AACE,eAAO;AACLtF,UAAAA,GAAG,EAAE4H,UAAU,CAAC5H,GAAX,GAAiB8H,SAAS,CAACQ,MAA3B,GAAoCG,MADpC;AAELxI,UAAAA,IAAI,EAAE,KAAK4I,qBAAL,CAA2BjB,UAA3B,EAAuCE,SAAvC,EAAkDhI,QAAQ,CAACoH,KAA3D,EAAkE0B,WAAlE,CAFD,EAAP;;AAIF,WAAK,QAAL;AACE,eAAO;AACL5I,UAAAA,GAAG,EAAE4H,UAAU,CAAC5H,GAAX,GAAiB4H,UAAU,CAACU,MAA5B,GAAqCG,MADrC;AAELxI,UAAAA,IAAI,EAAE,KAAK4I,qBAAL,CAA2BjB,UAA3B,EAAuCE,SAAvC,EAAkDhI,QAAQ,CAACoH,KAA3D,EAAkE0B,WAAlE,CAFD,EAAP;;AAIF,WAAK,MAAL;AACE,eAAO;AACL5I,UAAAA,GAAG,EAAE,KAAK8I,mBAAL,CAAyBlB,UAAzB,EAAqCE,SAArC,EAAgDhI,QAAQ,CAACoH,KAAzD,EAAgE0B,WAAhE,CADA;AAEL3I,UAAAA,IAAI,EAAE2H,UAAU,CAAC3H,IAAX,GAAkB6H,SAAS,CAAC9F,KAA5B,GAAoCyG,MAFrC,EAAP;;AAIF,WAAK,OAAL;AACE,eAAO;AACLzI,UAAAA,GAAG,EAAE,KAAK8I,mBAAL,CAAyBlB,UAAzB,EAAqCE,SAArC,EAAgDhI,QAAQ,CAACoH,KAAzD,EAAgE0B,WAAhE,CADA;AAEL3I,UAAAA,IAAI,EAAE2H,UAAU,CAAC3H,IAAX,GAAkB2H,UAAU,CAAC5F,KAA7B,GAAqCyG,MAFtC,EAAP;;AAIF;AACE,cAAM,IAAIM,KAAJ,4BAAmCjJ,QAAQ,CAACwF,SAA5C,OAAN,CAtBJ;;AAwBD,G;;AAEO2B,EAAAA,Y,GAAR,sBAAqBC,KAArB,EAAoC;AAC1B8B,IAAAA,SAD0B,GACZ,KAAK1I,KADO,CAC1B0I,SAD0B;;AAGlC,YAAQ9B,KAAR;AACE,WAAK,KAAL;AACA,WAAK,QAAL;AACE,eAAO8B,SAAS,IAAIjC,QAAQ,CAAC,KAAKvG,KAAL,CAAWyI,cAAZ,CAArB,IAAoDlC,QAAQ,CAAC,KAAKvG,KAAL,CAAW0I,eAAZ,CAAnE;AACF,WAAK,MAAL;AACA,WAAK,OAAL;AACE,eAAOF,SAAS,IAAIjC,QAAQ,CAAC,KAAKvG,KAAL,CAAWyI,cAAZ,CAArB,IAAoDlC,QAAQ,CAAC,KAAKvG,KAAL,CAAW2I,eAAZ,CAAnE;AACF,WAAK,QAAL;AACA,WAAK,QAAL;AACE,eAAO,CAAP;AACF;AACE,cAAM,IAAIJ,KAAJ,wBAA+B7B,KAA/B,OAAN,CAXJ;;AAaD,G;;AAEO2B,EAAAA,qB,GAAR,+BAA8BjB,UAA9B,EAAgDE,SAAhD,EAAiEZ,KAAjE,EAAgF0B,WAAhF,EAAqG;AACnG,YAAQ1B,KAAR;AACE,WAAK,MAAL;AACE,eAAOU,UAAU,CAAC3H,IAAX,GAAkB2I,WAAzB;AACF,WAAK,QAAL;AACE,eAAOhB,UAAU,CAAC3H,IAAX,GAAkB,CAAC6H,SAAS,CAAC9F,KAAV,GAAkB4F,UAAU,CAAC5F,KAA9B,IAAuC,CAAhE;AACF,WAAK,OAAL;AACE,eAAO4F,UAAU,CAAC3H,IAAX,IAAmB6H,SAAS,CAAC9F,KAAV,GAAkB4F,UAAU,CAAC5F,KAAhD,IAAyD4G,WAAhE;AACF;AACE,cAAM,IAAIG,KAAJ,wBAA+B7B,KAA/B,OAAN,CARJ;;AAUD,G;;AAEO4B,EAAAA,mB,GAAR,6BAA4BlB,UAA5B,EAA8CE,SAA9C,EAA+DZ,KAA/D,EAA8E0B,WAA9E,EAAmG;AACjG,YAAQ1B,KAAR;AACE,WAAK,KAAL;AACE,eAAOU,UAAU,CAAC5H,GAAX,GAAiB4I,WAAxB;AACF,WAAK,QAAL;AACE,eAAOhB,UAAU,CAAC5H,GAAX,GAAiB,CAAC8H,SAAS,CAACQ,MAAV,GAAmBV,UAAU,CAACU,MAA/B,IAAyC,CAAjE;AACF,WAAK,QAAL;AACE,eAAOV,UAAU,CAAC5H,GAAX,IAAkB8H,SAAS,CAACQ,MAAV,GAAmBV,UAAU,CAACU,MAAhD,IAA0DM,WAAjE;AACF;AACE,cAAM,IAAIG,KAAJ,wBAA+B7B,KAA/B,OAAN,CARJ;;AAUD,G,gBA3iBwBnG,eAAMqI,S,WACjBC,mB,GAAsB,O,UAEtBC,S,GAAY,EACxB;AACJ;AACA,KACI1I,aAAa,EAAE2I,mBAAUC,SAAV,CAAoB,CAAC,sCAAwB,oBAAMC,WAAN,EAAxB,CAAD,EAA6CF,mBAAUG,IAAvD,CAApB,EAAkFC,UAJzE,EAMxB;AACJ;AACA,KACI9E,eAAe,EAAE0E,mBAAUK,MATH,EAWxB1E,QAAQ,EAAEqE,mBAAUC,SAAV,CAAoB,CAACD,mBAAUG,IAAX,EAAiBH,mBAAUM,IAA3B,CAApB,CAXc,EAaxB;AACJ;AACA,KACI/C,MAAM,EAAEyC,mBAAUO,IAhBM,EAkBxB;AACJ;AACA,KACI9E,SAAS,EAAEuE,mBAAUO,IArBG,EAuBxB;AACJ;AACA,KACIrB,MAAM,EAAEc,mBAAUQ,MA1BM,EA4BxB;AACJ;AACA,KACIxJ,MAAM,EAAEgJ,mBAAUO,IA/BM,EAiCxB;AACJ;AACA,KACId,SAAS,EAAEO,mBAAUQ,MApCG,EAsCxB;AACJ;AACA;AACA;AACA,KACInD,OAAO,EAAE2C,mBAAUQ,MA3CK,EA6CxB;AACJ;AACA,KACInB,WAAW,EAAEW,mBAAUQ,MAhDC,EAkDxB;AACJ;AACA;AACA,KACIrC,SAAS,EAAE6B,mBAAUS,KAtDG,EAwDxB;AACJ;AACA,KACI/E,WAAW,EAAEsE,mBAAUO,IA3DC,E,UA8DZG,Y,GAAe,EAC3BrB,WAAW,EAAE,CADc,EAE3B9B,MAAM,EAAE,KAFmB,EAG3B9B,SAAS,EAAE,KAHgB,EAI3BF,iBAAiB,EAAEoF,6BAJQ,EAK3BlG,UAAU,EAAE,KALe,EAM3BiB,WAAW,EAAE,KANc,EAO3BjD,KAAK,EAAE,MAPoB,E","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Transition } from 'react-transition-group';\nimport raf from 'raf';\nimport warning from 'warning';\n\nimport { Nullable } from '../../typings/utility-types';\nimport * as LayoutEvents from '../../lib/LayoutEvents';\nimport { ZIndex } from '../ZIndex';\nimport { RenderContainer } from '../RenderContainer';\nimport { FocusEventType, MouseEventType } from '../../typings/event-types';\nimport { isFunction, isNonNullable, isRefableElement } from '../../lib/utils';\nimport { isIE11, isEdge, isSafari } from '../../lib/client';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { isHTMLElement, safePropTypesInstanceOf } from '../../lib/SSRSafe';\nimport { isTestEnv } from '../../lib/currentEnvironment';\nimport { CommonProps, CommonWrapper } from '../CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { getRootNode, rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { callChildRef } from '../../lib/callChildRef/callChildRef';\n\nimport { PopupPin } from './PopupPin';\nimport { Offset, PopupHelper, PositionObject, Rect } from './PopupHelper';\nimport { styles } from './Popup.styles';\n\nconst POPUP_BORDER_DEFAULT_COLOR = 'transparent';\nconst TRANSITION_TIMEOUT = { enter: 0, exit: 200 };\n\nexport const PopupPositions = [\n 'top left',\n 'top center',\n 'top right',\n 'right top',\n 'right middle',\n 'right bottom',\n 'bottom right',\n 'bottom center',\n 'bottom left',\n 'left bottom',\n 'left middle',\n 'left top',\n] as const;\nexport const DefaultPosition = PopupPositions[0];\n\nexport type PopupPositionsType = typeof PopupPositions[number];\n\nconst DUMMY_LOCATION: PopupLocation = {\n position: DefaultPosition,\n coordinates: {\n top: -9999,\n left: -9999,\n },\n};\n\nexport interface PopupHandlerProps {\n onMouseEnter?: (event: MouseEventType) => void;\n onMouseLeave?: (event: MouseEventType) => void;\n onClick?: (event: MouseEventType) => void;\n onFocus?: (event: FocusEventType) => void;\n onBlur?: (event: FocusEventType) => void;\n onOpen?: () => void;\n onClose?: () => void;\n}\n\nexport interface PopupProps extends CommonProps, PopupHandlerProps {\n anchorElement: React.ReactNode | HTMLElement;\n backgroundColor?: React.CSSProperties['backgroundColor'];\n borderColor?: React.CSSProperties['borderColor'];\n children: React.ReactNode | (() => React.ReactNode);\n hasPin: boolean;\n hasShadow: boolean;\n disableAnimations: boolean;\n margin?: number;\n maxWidth?: number | string;\n opened: boolean;\n pinOffset?: number;\n pinSize?: number;\n popupOffset: number;\n positions: Readonly<PopupPositionsType[]>;\n /**\n * Явно указывает, что вложенные элементы должны быть обёрнуты в `<span/>`. <br/> Используется для корректного позиционирования тултипа при двух и более вложенных элементах.\n *\n * _Примечание_: при **двух и более** вложенных элементах обёртка будет добавлена автоматически.\n */\n useWrapper: boolean;\n ignoreHover: boolean;\n width: React.CSSProperties['width'];\n /**\n * При очередном рендере пытаться сохранить первоначальную позицию попапа\n * (в числе числе, когда он выходит за пределы экрана, но может быть проскролен в него).\n *\n * Нужен только для Tooltip. В остальных случаях позиция перестраивается автоматически.\n * @see https://github.com/skbkontur/retail-ui/pull/1195\n */\n tryPreserveFirstRenderedPosition?: boolean;\n}\n\ninterface PopupLocation {\n coordinates: {\n left: number;\n top: number;\n };\n position: PopupPositionsType;\n}\n\nexport interface PopupState {\n location: Nullable<PopupLocation>;\n}\n\n@rootNode\nexport class Popup extends React.Component<PopupProps, PopupState> {\n public static __KONTUR_REACT_UI__ = 'Popup';\n\n public static propTypes = {\n /**\n * Ссылка (ref) на элемент или React компонент, для которого рисуется попап\n */\n anchorElement: PropTypes.oneOfType([safePropTypesInstanceOf(() => HTMLElement), PropTypes.node]).isRequired,\n\n /**\n * Фон попапа и пина\n */\n backgroundColor: PropTypes.string,\n\n children: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),\n\n /**\n * Показывать ли пин\n */\n hasPin: PropTypes.bool,\n\n /**\n * Применять ли box-shadow на попапе. При false отключает границу на пине\n */\n hasShadow: PropTypes.bool,\n\n /**\n * Отступ попапа от элемента\n */\n margin: PropTypes.number,\n\n /**\n * Показан или скрыт попап\n */\n opened: PropTypes.bool,\n\n /**\n * Смещение пина от края попапа. Край задаётся в пропе position вторым словом\n */\n pinOffset: PropTypes.number,\n\n /**\n * Сторона пина без учёта границы.\n * Пин представляет собой равносторонний треугольник, высота от попапа\n * до \"носика\" пина будет соответствовать формуле (size* √3)/2\n */\n pinSize: PropTypes.number,\n\n /**\n * смещение попапа относительно родительского элемента\n */\n popupOffset: PropTypes.number,\n\n /**\n * С какой стороны показывать попап и край попапа,\n * на котором будет отображаться пин\n */\n positions: PropTypes.array,\n\n /**\n * Игнорировать ли события hover/click\n */\n ignoreHover: PropTypes.bool,\n };\n\n public static defaultProps = {\n popupOffset: 0,\n hasPin: false,\n hasShadow: false,\n disableAnimations: isTestEnv,\n useWrapper: false,\n ignoreHover: false,\n width: 'auto',\n };\n\n public state: PopupState = { location: this.props.opened ? DUMMY_LOCATION : null };\n private theme!: Theme;\n private layoutEventsToken: Nullable<ReturnType<typeof LayoutEvents.addListener>>;\n private locationUpdateId: Nullable<number> = null;\n private lastPopupElement: Nullable<HTMLElement>;\n private anchorElement: Nullable<HTMLElement> = null;\n private setRootNode!: TSetRootNode;\n private refForTransition = React.createRef<HTMLDivElement>();\n\n public componentDidMount() {\n this.updateLocation();\n this.layoutEventsToken = LayoutEvents.addListener(this.handleLayoutEvent);\n }\n\n public static getDerivedStateFromProps(props: Readonly<PopupProps>, state: PopupState) {\n /**\n * Delaying updateLocation to ensure it happens after props update\n */\n if (props.opened) {\n if (!state.location) {\n return { location: DUMMY_LOCATION };\n }\n } else if (state.location) {\n return { location: DUMMY_LOCATION };\n }\n return state;\n }\n\n public componentDidUpdate(prevProps: PopupProps, prevState: PopupState) {\n const hadNoLocation = prevState.location === DUMMY_LOCATION;\n const hasLocation = this.state.location !== DUMMY_LOCATION;\n const wasClosed = prevProps.opened && !this.props.opened;\n\n if (hadNoLocation && hasLocation && this.props.onOpen) {\n this.props.onOpen();\n }\n if (wasClosed && !hasLocation && this.props.onClose) {\n this.props.onClose();\n }\n if (this.props.opened) {\n this.delayUpdateLocation();\n }\n }\n\n public componentWillUnmount() {\n this.cancelDelayedUpdateLocation();\n this.removeEventListeners(this.anchorElement);\n if (this.layoutEventsToken) {\n this.layoutEventsToken.remove();\n this.layoutEventsToken = null;\n }\n if (this.state.location && this.props.onClose) {\n this.props.onClose();\n }\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private renderMain() {\n const { location } = this.state;\n const { anchorElement, useWrapper } = this.props;\n\n let anchor: Nullable<React.ReactNode> = null;\n if (isHTMLElement(anchorElement)) {\n this.updateAnchorElement(anchorElement);\n } else if (React.isValidElement(anchorElement)) {\n anchor = useWrapper ? <span>{anchorElement}</span> : anchorElement;\n } else {\n anchor = <span>{anchorElement}</span>;\n }\n\n const anchorWithRef =\n anchor && React.isValidElement(anchor) && isRefableElement(anchor)\n ? React.cloneElement(anchor, {\n ref: (instance: Nullable<React.ReactInstance>) => {\n this.updateAnchorElement(instance);\n const originalRef = (anchor as React.RefAttributes<any>)?.ref;\n originalRef && callChildRef(originalRef, instance);\n },\n })\n : null;\n\n // we need to get anchor's DOM node\n // so we either set our own ref on it via cloning\n // or relay on findDOMNode (inside getRootNode)\n // which should be called with RenderContainer's ref\n // in the case when the anchor is not refable\n\n return (\n <RenderContainer anchor={anchorWithRef || anchor} ref={anchorWithRef ? null : this.renderContainerRef}>\n {location && this.renderContent(location)}\n </RenderContainer>\n );\n }\n\n private renderContainerRef = (childInstance: Nullable<React.ReactInstance>) => {\n this.updateAnchorElement(childInstance);\n };\n\n private updateAnchorElement(childInstance: Nullable<React.ReactInstance>) {\n const childDomNode = getRootNode(childInstance);\n const anchorElement = this.anchorElement;\n\n if (childDomNode !== anchorElement) {\n this.removeEventListeners(anchorElement);\n this.anchorElement = childDomNode;\n this.addEventListeners(childDomNode);\n this.setRootNode(childDomNode);\n }\n }\n\n private addEventListeners(element: Nullable<HTMLElement>) {\n if (element && isHTMLElement(element)) {\n element.addEventListener('mouseenter', this.handleMouseEnter);\n element.addEventListener('mouseleave', this.handleMouseLeave);\n element.addEventListener('click', this.handleClick);\n element.addEventListener('focusin', this.handleFocus as EventListener);\n element.addEventListener('focusout', this.handleBlur as EventListener);\n }\n }\n\n private removeEventListeners(element: Nullable<HTMLElement>) {\n if (element && isHTMLElement(element)) {\n element.removeEventListener('mouseenter', this.handleMouseEnter);\n element.removeEventListener('mouseleave', this.handleMouseLeave);\n element.removeEventListener('click', this.handleClick);\n element.removeEventListener('focusin', this.handleFocus as EventListener);\n element.removeEventListener('focusout', this.handleBlur as EventListener);\n }\n }\n\n private handleMouseEnter = (event: MouseEventType) => {\n if (this.props.onMouseEnter) {\n this.props.onMouseEnter(event);\n }\n };\n\n private handleMouseLeave = (event: MouseEventType) => {\n if (this.props.onMouseLeave) {\n this.props.onMouseLeave(event);\n }\n };\n\n private handleClick = (event: MouseEventType) => {\n if (this.props.onClick) {\n this.props.onClick(event);\n }\n };\n\n private handleFocus = (event: FocusEventType) => {\n if (this.props.onFocus) {\n this.props.onFocus(event);\n }\n };\n\n private handleBlur = (event: FocusEventType) => {\n if (this.props.onBlur) {\n this.props.onBlur(event);\n }\n };\n\n private calculateWidth = (width: PopupProps['width']) => {\n if (typeof width === 'string' && width.includes('%')) {\n return this.anchorElement ? (this.anchorElement.offsetWidth * parseFloat(width)) / 100 : 0;\n }\n return width;\n };\n\n private renderContent(location: PopupLocation) {\n const { backgroundColor, disableAnimations, maxWidth, hasShadow, ignoreHover, opened, width } = this.props;\n const children = this.renderChildren();\n\n const { direction } = PopupHelper.getPositionObject(location.position);\n const rootStyle: React.CSSProperties = { ...location.coordinates, maxWidth };\n\n const shouldFallbackShadow = isIE11 || isEdge || isSafari;\n\n return (\n <Transition\n timeout={TRANSITION_TIMEOUT}\n appear={!disableAnimations}\n in={Boolean(opened && children)}\n mountOnEnter\n unmountOnExit\n enter={!disableAnimations}\n exit={!disableAnimations}\n onExited={this.resetLocation}\n nodeRef={this.refForTransition}\n >\n {(state: string) => (\n <CommonWrapper {...this.props}>\n <ZIndex\n wrapperRef={this.refPopupElement}\n priority={'Popup'}\n className={cx({\n [styles.popup(this.theme)]: true,\n [styles.shadow(this.theme)]: hasShadow && !shouldFallbackShadow,\n [styles.shadowFallback(this.theme)]: hasShadow && shouldFallbackShadow,\n [styles.popupIgnoreHover()]: ignoreHover,\n ...(disableAnimations\n ? {}\n : {\n [styles[`transition-enter-${direction}` as keyof typeof styles](this.theme)]: true,\n [styles.transitionEnter()]: state === 'entering',\n [styles.transitionEnterActive()]: state === 'entered',\n [styles.transitionExit()]: state === 'exiting',\n }),\n })}\n style={rootStyle}\n onMouseEnter={this.handleMouseEnter}\n onMouseLeave={this.handleMouseLeave}\n >\n <div className={styles.content(this.theme)} data-tid={'PopupContent'} ref={this.refForTransition}>\n <div\n className={styles.contentInner(this.theme)}\n style={{ backgroundColor, width: this.calculateWidth(width) }}\n data-tid={'PopupContentInner'}\n >\n {children}\n </div>\n </div>\n {this.renderPin(location.position)}\n </ZIndex>\n </CommonWrapper>\n )}\n </Transition>\n );\n }\n\n private resetLocation = () => {\n this.cancelDelayedUpdateLocation();\n this.state.location !== null && this.setState({ location: null });\n };\n\n private renderChildren() {\n return isFunction(this.props.children) ? this.props.children() : this.props.children;\n }\n\n private refPopupElement = (element: Nullable<HTMLElement>) => {\n this.lastPopupElement = element;\n };\n\n private renderPin(positionName: string): React.ReactNode {\n /**\n * Box-shadow does not appear under the pin. Borders are used instead.\n * In non-ie browsers drop-shadow filter is used. It is applying\n * shadow to the pin too.\n */\n const isDefaultBorderColor = this.theme.popupBorderColor === POPUP_BORDER_DEFAULT_COLOR;\n const pinBorder = isIE11 && isDefaultBorderColor ? 'rgba(0, 0, 0, 0.09)' : this.theme.popupBorderColor;\n\n const { pinSize, hasShadow, backgroundColor, borderColor } = this.props;\n const position = PopupHelper.getPositionObject(positionName);\n\n return (\n this.props.hasPin && (\n <PopupPin\n popupElement={this.lastPopupElement}\n popupPosition={positionName}\n size={pinSize || parseInt(this.theme.popupPinSize)}\n offset={this.getPinOffset(position.align)}\n borderWidth={hasShadow ? 1 : 0}\n backgroundColor={backgroundColor || this.theme.popupBackground}\n borderColor={borderColor || pinBorder}\n />\n )\n );\n }\n\n private handleLayoutEvent = () => {\n if (!this.state.location) {\n return;\n }\n this.updateLocation();\n };\n\n private delayUpdateLocation() {\n this.cancelDelayedUpdateLocation();\n this.locationUpdateId = raf(this.updateLocation);\n }\n\n private cancelDelayedUpdateLocation() {\n if (this.locationUpdateId) {\n raf.cancel(this.locationUpdateId);\n this.locationUpdateId = null;\n }\n }\n\n private updateLocation = () => {\n const popupElement = this.lastPopupElement;\n\n if (!popupElement) {\n return;\n }\n\n const location = this.getLocation(popupElement, this.state.location);\n if (!this.locationEquals(this.state.location, location)) {\n this.setState({ location });\n }\n };\n\n private locationEquals(x: Nullable<PopupLocation>, y: Nullable<PopupLocation>) {\n if (x === y) {\n return true;\n }\n\n if (x == null || y == null) {\n return false;\n }\n\n if (!isIE11 && !isEdge) {\n return (\n x.coordinates.left === y.coordinates.left &&\n x.coordinates.top === y.coordinates.top &&\n x.position === y.position\n );\n }\n\n // Для ie/edge обновляем позицию только при разнице минимум в 1. Иначе есть вероятность\n // уйти в бесконечный ререндер\n\n return (\n x.position === y.position &&\n Math.abs(x.coordinates.top - y.coordinates.top) <= 1 &&\n Math.abs(x.coordinates.left - y.coordinates.left) <= 1\n );\n }\n\n private getLocation(popupElement: HTMLElement, location?: Nullable<PopupLocation>) {\n const { positions, tryPreserveFirstRenderedPosition } = this.props;\n const anchorElement = this.anchorElement;\n\n warning(\n anchorElement && isHTMLElement(anchorElement),\n 'Anchor element is not defined or not instance of HTMLElement',\n );\n\n if (!(anchorElement && isHTMLElement(anchorElement))) {\n return location;\n }\n\n const anchorRect = PopupHelper.getElementAbsoluteRect(anchorElement);\n const popupRect = PopupHelper.getElementAbsoluteRect(popupElement);\n\n let position: PopupPositionsType;\n let coordinates: Offset;\n\n if (location && location !== DUMMY_LOCATION && location.position) {\n position = location.position;\n coordinates = this.getCoordinates(anchorRect, popupRect, position);\n\n const isFullyVisible = PopupHelper.isFullyVisible(coordinates, popupRect);\n const canBecomeVisible = !isFullyVisible && PopupHelper.canBecomeFullyVisible(position, coordinates);\n\n if (\n // если нужно сохранить первоначальную позицию и Попап целиком\n // находится в пределах вьюпорта (или может быть проскроллен в него)\n (tryPreserveFirstRenderedPosition && (isFullyVisible || canBecomeVisible)) ||\n // если Попап целиком во вьюпорте и в самой приоритетной позиции\n // (иначе нужно попытаться позицию сменить)\n (isFullyVisible && position === positions[0])\n ) {\n // сохраняем текущую позицию\n return { coordinates, position };\n }\n }\n\n for (position of positions) {\n coordinates = this.getCoordinates(anchorRect, popupRect, position);\n if (PopupHelper.isFullyVisible(coordinates, popupRect)) {\n return { coordinates, position };\n }\n }\n\n position = positions[0];\n coordinates = this.getCoordinates(anchorRect, popupRect, position);\n return { coordinates, position };\n }\n\n private getPinnedPopupOffset(anchorRect: Rect, position: PositionObject) {\n if (!this.props.hasPin || /center|middle/.test(position.align)) {\n return 0;\n }\n\n const anchorSize = /top|bottom/.test(position.direction) ? anchorRect.width : anchorRect.height;\n\n const { pinSize } = this.props;\n\n return Math.max(\n 0,\n this.getPinOffset(position.align) + (pinSize || parseInt(this.theme.popupPinSize)) - anchorSize / 2,\n );\n }\n\n private getCoordinates(anchorRect: Rect, popupRect: Rect, positionName: string) {\n const { margin: marginFromProps } = this.props;\n const margin =\n isNonNullable(marginFromProps) && !isNaN(marginFromProps)\n ? marginFromProps\n : parseInt(this.theme.popupMargin) || 0;\n const position = PopupHelper.getPositionObject(positionName);\n const popupOffset = this.props.popupOffset + this.getPinnedPopupOffset(anchorRect, position);\n\n switch (position.direction) {\n case 'top':\n return {\n top: anchorRect.top - popupRect.height - margin,\n left: this.getHorizontalPosition(anchorRect, popupRect, position.align, popupOffset),\n };\n case 'bottom':\n return {\n top: anchorRect.top + anchorRect.height + margin,\n left: this.getHorizontalPosition(anchorRect, popupRect, position.align, popupOffset),\n };\n case 'left':\n return {\n top: this.getVerticalPosition(anchorRect, popupRect, position.align, popupOffset),\n left: anchorRect.left - popupRect.width - margin,\n };\n case 'right':\n return {\n top: this.getVerticalPosition(anchorRect, popupRect, position.align, popupOffset),\n left: anchorRect.left + anchorRect.width + margin,\n };\n default:\n throw new Error(`Unexpected direction '${position.direction}'`);\n }\n }\n\n private getPinOffset(align: string) {\n const { pinOffset } = this.props;\n\n switch (align) {\n case 'top':\n case 'bottom':\n return pinOffset || parseInt(this.theme.popupPinOffset) || parseInt(this.theme.popupPinOffsetY);\n case 'left':\n case 'right':\n return pinOffset || parseInt(this.theme.popupPinOffset) || parseInt(this.theme.popupPinOffsetX);\n case 'center':\n case 'middle':\n return 0;\n default:\n throw new Error(`Unexpected align '${align}'`);\n }\n }\n\n private getHorizontalPosition(anchorRect: Rect, popupRect: Rect, align: string, popupOffset: number) {\n switch (align) {\n case 'left':\n return anchorRect.left - popupOffset;\n case 'center':\n return anchorRect.left - (popupRect.width - anchorRect.width) / 2;\n case 'right':\n return anchorRect.left - (popupRect.width - anchorRect.width) + popupOffset;\n default:\n throw new Error(`Unexpected align '${align}'`);\n }\n }\n\n private getVerticalPosition(anchorRect: Rect, popupRect: Rect, align: string, popupOffset: number) {\n switch (align) {\n case 'top':\n return anchorRect.top - popupOffset;\n case 'middle':\n return anchorRect.top - (popupRect.height - anchorRect.height) / 2;\n case 'bottom':\n return anchorRect.top - (popupRect.height - anchorRect.height) + popupOffset;\n default:\n throw new Error(`Unexpected align '${align}'`);\n }\n }\n}\n"]}
1
+ {"version":3,"sources":["Popup.tsx"],"names":["POPUP_BORDER_DEFAULT_COLOR","TRANSITION_TIMEOUT","enter","exit","PopupPositions","DefaultPosition","DUMMY_LOCATION","position","coordinates","top","left","Popup","rootNode","state","location","props","opened","theme","layoutEventsToken","locationUpdateId","lastPopupElement","setRootNode","refForTransition","React","createRef","anchorElement","updateAnchorElement","instance","childDomNode","getAnchorElement","removeEventListeners","addEventListeners","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","wasClosed","onOpen","onClose","delayUpdateLocation","componentWillUnmount","remove","render","renderMain","useWrapper","anchor","isValidElement","anchorWithRef","cloneElement","ref","originalRef","canGetAnchorNode","renderContent","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","Math","abs","positions","tryPreserveFirstRenderedPosition","anchorRect","getElementAbsoluteRect","popupRect","getCoordinates","isFullyVisible","canBecomeVisible","canBecomeFullyVisible","getPinnedPopupOffset","test","anchorSize","height","max","marginFromProps","margin","isNaN","popupMargin","popupOffset","getHorizontalPosition","getVerticalPosition","Error","pinOffset","popupPinOffset","popupPinOffsetY","popupPinOffsetX","Component","__KONTUR_REACT_UI__","propTypes","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, isRefableElement } from '../../lib/utils';\nimport { isIE11, isEdge, isSafari } from '../../lib/client';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { isHTMLElement, safePropTypesInstanceOf } from '../../lib/SSRSafe';\nimport { isTestEnv } from '../../lib/currentEnvironment';\nimport { CommonProps, CommonWrapper } from '../CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { getRootNode, rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { callChildRef } from '../../lib/callChildRef/callChildRef';\nimport { isInstanceWithAnchorElement } from '../../lib/InstanceWithAnchorElement';\n\nimport { PopupPin } from './PopupPin';\nimport { Offset, PopupHelper, PositionObject, Rect } from './PopupHelper';\nimport { styles } from './Popup.styles';\n\nconst POPUP_BORDER_DEFAULT_COLOR = 'transparent';\nconst TRANSITION_TIMEOUT = { enter: 0, exit: 200 };\n\nexport const PopupPositions = [\n 'top left',\n 'top center',\n 'top right',\n 'right top',\n 'right middle',\n 'right bottom',\n 'bottom right',\n 'bottom center',\n 'bottom left',\n 'left bottom',\n 'left middle',\n 'left top',\n] as const;\nexport const DefaultPosition = PopupPositions[0];\n\nexport type PopupPositionsType = typeof PopupPositions[number];\n\nconst DUMMY_LOCATION: PopupLocation = {\n position: DefaultPosition,\n coordinates: {\n top: -9999,\n left: -9999,\n },\n};\n\nexport interface PopupHandlerProps {\n onMouseEnter?: (event: MouseEventType) => void;\n onMouseLeave?: (event: MouseEventType) => void;\n onClick?: (event: MouseEventType) => void;\n onFocus?: (event: FocusEventType) => void;\n onBlur?: (event: FocusEventType) => void;\n onOpen?: () => void;\n onClose?: () => void;\n}\n\nexport interface PopupProps extends CommonProps, PopupHandlerProps {\n anchorElement: React.ReactNode | HTMLElement;\n backgroundColor?: React.CSSProperties['backgroundColor'];\n borderColor?: React.CSSProperties['borderColor'];\n children: React.ReactNode | (() => React.ReactNode);\n hasPin: boolean;\n hasShadow: boolean;\n disableAnimations: boolean;\n margin?: number;\n maxWidth?: number | string;\n opened: boolean;\n pinOffset?: number;\n pinSize?: number;\n popupOffset: number;\n positions: Readonly<PopupPositionsType[]>;\n /**\n * Явно указывает, что вложенные элементы должны быть обёрнуты в `<span/>`. <br/> Используется для корректного позиционирования тултипа при двух и более вложенных элементах.\n *\n * _Примечание_: при **двух и более** вложенных элементах обёртка будет добавлена автоматически.\n */\n useWrapper: boolean;\n ignoreHover: boolean;\n width: React.CSSProperties['width'];\n /**\n * При очередном рендере пытаться сохранить первоначальную позицию попапа\n * (в числе числе, когда он выходит за пределы экрана, но может быть проскролен в него).\n *\n * Нужен только для Tooltip. В остальных случаях позиция перестраивается автоматически.\n * @see https://github.com/skbkontur/retail-ui/pull/1195\n */\n tryPreserveFirstRenderedPosition?: boolean;\n}\n\ninterface PopupLocation {\n coordinates: {\n left: number;\n top: number;\n };\n position: PopupPositionsType;\n}\n\nexport interface PopupState {\n location: Nullable<PopupLocation>;\n}\n\n@rootNode\nexport class Popup extends React.Component<PopupProps, PopupState> {\n public static __KONTUR_REACT_UI__ = 'Popup';\n\n public static propTypes = {\n /**\n * Ссылка (ref) на элемент или React компонент, для которого рисуется попап\n */\n anchorElement: PropTypes.oneOfType([safePropTypesInstanceOf(() => HTMLElement), PropTypes.node]).isRequired,\n\n /**\n * Фон попапа и пина\n */\n backgroundColor: PropTypes.string,\n\n children: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),\n\n /**\n * Показывать ли пин\n */\n hasPin: PropTypes.bool,\n\n /**\n * Применять ли box-shadow на попапе. При false отключает границу на пине\n */\n hasShadow: PropTypes.bool,\n\n /**\n * Отступ попапа от элемента\n */\n margin: PropTypes.number,\n\n /**\n * Показан или скрыт попап\n */\n opened: PropTypes.bool,\n\n /**\n * Смещение пина от края попапа. Край задаётся в пропе position вторым словом\n */\n pinOffset: PropTypes.number,\n\n /**\n * Сторона пина без учёта границы.\n * Пин представляет собой равносторонний треугольник, высота от попапа\n * до \"носика\" пина будет соответствовать формуле (size* √3)/2\n */\n pinSize: PropTypes.number,\n\n /**\n * смещение попапа относительно родительского элемента\n */\n popupOffset: PropTypes.number,\n\n /**\n * С какой стороны показывать попап и край попапа,\n * на котором будет отображаться пин\n */\n positions: PropTypes.array,\n\n /**\n * Игнорировать ли события hover/click\n */\n ignoreHover: PropTypes.bool,\n };\n\n public static defaultProps = {\n popupOffset: 0,\n hasPin: false,\n hasShadow: false,\n disableAnimations: isTestEnv,\n useWrapper: false,\n ignoreHover: false,\n width: 'auto',\n };\n\n public state: PopupState = { location: this.props.opened ? DUMMY_LOCATION : null };\n private theme!: Theme;\n private layoutEventsToken: Nullable<ReturnType<typeof LayoutEvents.addListener>>;\n private locationUpdateId: Nullable<number> = null;\n private lastPopupElement: Nullable<HTMLElement>;\n private setRootNode!: TSetRootNode;\n private refForTransition = React.createRef<HTMLDivElement>();\n\n public anchorElement: Nullable<HTMLElement> = null;\n\n public componentDidMount() {\n this.updateLocation();\n this.layoutEventsToken = LayoutEvents.addListener(this.handleLayoutEvent);\n }\n\n public static getDerivedStateFromProps(props: Readonly<PopupProps>, state: PopupState) {\n /**\n * Delaying updateLocation to ensure it happens after props update\n */\n if (props.opened) {\n if (!state.location) {\n return { location: DUMMY_LOCATION };\n }\n } else if (state.location) {\n return { location: DUMMY_LOCATION };\n }\n return state;\n }\n\n public componentDidUpdate(prevProps: PopupProps, prevState: PopupState) {\n const hadNoLocation = prevState.location === DUMMY_LOCATION;\n const hasLocation = this.state.location !== DUMMY_LOCATION;\n const wasClosed = prevProps.opened && !this.props.opened;\n\n if (this.props.opened && hadNoLocation && hasLocation && this.props.onOpen) {\n this.props.onOpen();\n }\n if (wasClosed && !hasLocation && this.props.onClose) {\n this.props.onClose();\n }\n if (this.props.opened) {\n this.delayUpdateLocation();\n }\n }\n\n public componentWillUnmount() {\n this.cancelDelayedUpdateLocation();\n this.removeEventListeners(this.anchorElement);\n if (this.layoutEventsToken) {\n this.layoutEventsToken.remove();\n this.layoutEventsToken = null;\n }\n if (this.state.location && this.props.onClose) {\n this.props.onClose();\n }\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private renderMain() {\n const { location } = this.state;\n const { anchorElement, useWrapper } = this.props;\n\n let anchor: Nullable<React.ReactNode> = null;\n if (isHTMLElement(anchorElement)) {\n this.updateAnchorElement(anchorElement);\n } else if (React.isValidElement(anchorElement)) {\n anchor = useWrapper ? <span>{anchorElement}</span> : anchorElement;\n } else {\n anchor = <span>{anchorElement}</span>;\n }\n\n const anchorWithRef =\n anchor && React.isValidElement(anchor) && isRefableElement(anchor)\n ? React.cloneElement(anchor, {\n ref: (instance: Nullable<React.ReactInstance>) => {\n this.updateAnchorElement(instance);\n const originalRef = (anchor as React.RefAttributes<any>)?.ref;\n originalRef && callChildRef(originalRef, instance);\n },\n })\n : null;\n\n // we need to get anchor's DOM node\n // so we either set our own ref on it via cloning\n // or relay on findDOMNode (inside getRootNode)\n // which should be called within updateAnchorElement\n // in the case when the anchor is not refable\n\n const canGetAnchorNode = !!anchorWithRef || isHTMLElement(anchorElement);\n\n return (\n <RenderContainer\n anchor={anchorWithRef || anchor}\n containerRef={this.setRootNode}\n ref={canGetAnchorNode ? null : this.updateAnchorElement}\n >\n {location && this.renderContent(location)}\n </RenderContainer>\n );\n }\n\n private updateAnchorElement = (instance: Nullable<React.ReactInstance>) => {\n const childDomNode = isInstanceWithAnchorElement(instance) ? instance.getAnchorElement() : getRootNode(instance);\n const anchorElement = this.anchorElement;\n\n if (childDomNode !== anchorElement) {\n this.removeEventListeners(anchorElement);\n this.anchorElement = childDomNode;\n this.addEventListeners(childDomNode);\n }\n };\n\n private addEventListeners(element: Nullable<HTMLElement>) {\n if (element && isHTMLElement(element)) {\n element.addEventListener('mouseenter', this.handleMouseEnter);\n element.addEventListener('mouseleave', this.handleMouseLeave);\n element.addEventListener('click', this.handleClick);\n element.addEventListener('focusin', this.handleFocus as EventListener);\n element.addEventListener('focusout', this.handleBlur as EventListener);\n }\n }\n\n private removeEventListeners(element: Nullable<HTMLElement>) {\n if (element && isHTMLElement(element)) {\n element.removeEventListener('mouseenter', this.handleMouseEnter);\n element.removeEventListener('mouseleave', this.handleMouseLeave);\n element.removeEventListener('click', this.handleClick);\n element.removeEventListener('focusin', this.handleFocus as EventListener);\n element.removeEventListener('focusout', this.handleBlur as EventListener);\n }\n }\n\n private handleMouseEnter = (event: MouseEventType) => {\n if (this.props.onMouseEnter) {\n this.props.onMouseEnter(event);\n }\n };\n\n private handleMouseLeave = (event: MouseEventType) => {\n if (this.props.onMouseLeave) {\n this.props.onMouseLeave(event);\n }\n };\n\n private handleClick = (event: MouseEventType) => {\n if (this.props.onClick) {\n this.props.onClick(event);\n }\n };\n\n private handleFocus = (event: FocusEventType) => {\n if (this.props.onFocus) {\n this.props.onFocus(event);\n }\n };\n\n private handleBlur = (event: FocusEventType) => {\n if (this.props.onBlur) {\n this.props.onBlur(event);\n }\n };\n\n private calculateWidth = (width: PopupProps['width']) => {\n if (typeof width === 'string' && width.includes('%')) {\n return this.anchorElement ? (this.anchorElement.offsetWidth * parseFloat(width)) / 100 : 0;\n }\n return width;\n };\n\n private renderContent(location: PopupLocation) {\n const { backgroundColor, disableAnimations, maxWidth, hasShadow, ignoreHover, opened, width } = this.props;\n const children = this.renderChildren();\n\n const { direction } = PopupHelper.getPositionObject(location.position);\n const rootStyle: React.CSSProperties = { ...location.coordinates, maxWidth };\n\n const shouldFallbackShadow = isIE11 || isEdge || isSafari;\n\n return (\n <Transition\n timeout={TRANSITION_TIMEOUT}\n appear={!disableAnimations}\n in={Boolean(opened && children)}\n mountOnEnter\n unmountOnExit\n enter={!disableAnimations}\n exit={!disableAnimations}\n onExited={this.resetLocation}\n nodeRef={this.refForTransition}\n >\n {(state: string) => (\n <CommonWrapper {...this.props}>\n <ZIndex\n wrapperRef={this.refPopupElement}\n priority={'Popup'}\n className={cx({\n [styles.popup(this.theme)]: true,\n [styles.shadow(this.theme)]: hasShadow && !shouldFallbackShadow,\n [styles.shadowFallback(this.theme)]: hasShadow && shouldFallbackShadow,\n [styles.popupIgnoreHover()]: ignoreHover,\n ...(disableAnimations\n ? {}\n : {\n [styles[`transition-enter-${direction}` as keyof typeof styles](this.theme)]: true,\n [styles.transitionEnter()]: state === 'entering',\n [styles.transitionEnterActive()]: state === 'entered',\n [styles.transitionExit()]: state === 'exiting',\n }),\n })}\n style={rootStyle}\n onMouseEnter={this.handleMouseEnter}\n onMouseLeave={this.handleMouseLeave}\n >\n <div className={styles.content(this.theme)} data-tid={'PopupContent'} ref={this.refForTransition}>\n <div\n className={styles.contentInner(this.theme)}\n style={{ backgroundColor, width: this.calculateWidth(width) }}\n data-tid={'PopupContentInner'}\n >\n {children}\n </div>\n </div>\n {this.renderPin(location.position)}\n </ZIndex>\n </CommonWrapper>\n )}\n </Transition>\n );\n }\n\n private resetLocation = () => {\n this.cancelDelayedUpdateLocation();\n this.state.location !== null && this.setState({ location: null });\n };\n\n private renderChildren() {\n return isFunction(this.props.children) ? this.props.children() : this.props.children;\n }\n\n private refPopupElement = (element: Nullable<HTMLElement>) => {\n this.lastPopupElement = element;\n };\n\n private renderPin(positionName: string): React.ReactNode {\n /**\n * Box-shadow does not appear under the pin. Borders are used instead.\n * In non-ie browsers drop-shadow filter is used. It is applying\n * shadow to the pin too.\n */\n const isDefaultBorderColor = this.theme.popupBorderColor === POPUP_BORDER_DEFAULT_COLOR;\n const pinBorder = isIE11 && isDefaultBorderColor ? 'rgba(0, 0, 0, 0.09)' : this.theme.popupBorderColor;\n\n const { pinSize, hasShadow, backgroundColor, borderColor } = this.props;\n const position = PopupHelper.getPositionObject(positionName);\n\n return (\n this.props.hasPin && (\n <PopupPin\n popupElement={this.lastPopupElement}\n popupPosition={positionName}\n size={pinSize || parseInt(this.theme.popupPinSize)}\n offset={this.getPinOffset(position.align)}\n borderWidth={hasShadow ? 1 : 0}\n backgroundColor={backgroundColor || this.theme.popupBackground}\n borderColor={borderColor || pinBorder}\n />\n )\n );\n }\n\n private handleLayoutEvent = () => {\n if (!this.state.location) {\n return;\n }\n this.updateLocation();\n };\n\n private delayUpdateLocation() {\n this.cancelDelayedUpdateLocation();\n this.locationUpdateId = raf(this.updateLocation);\n }\n\n private cancelDelayedUpdateLocation() {\n if (this.locationUpdateId) {\n raf.cancel(this.locationUpdateId);\n this.locationUpdateId = null;\n }\n }\n\n private updateLocation = () => {\n const popupElement = this.lastPopupElement;\n\n if (!popupElement) {\n return;\n }\n\n const location = this.getLocation(popupElement, this.state.location);\n if (!this.locationEquals(this.state.location, location)) {\n this.setState({ location });\n }\n };\n\n private locationEquals(x: Nullable<PopupLocation>, y: Nullable<PopupLocation>) {\n if (x === y) {\n return true;\n }\n\n if (x == null || y == null) {\n return false;\n }\n\n if (!isIE11 && !isEdge) {\n return (\n x.coordinates.left === y.coordinates.left &&\n x.coordinates.top === y.coordinates.top &&\n x.position === y.position\n );\n }\n\n // Для ie/edge обновляем позицию только при разнице минимум в 1. Иначе есть вероятность\n // уйти в бесконечный ререндер\n\n return (\n x.position === y.position &&\n Math.abs(x.coordinates.top - y.coordinates.top) <= 1 &&\n Math.abs(x.coordinates.left - y.coordinates.left) <= 1\n );\n }\n\n private getLocation(popupElement: HTMLElement, location?: Nullable<PopupLocation>) {\n const { positions, tryPreserveFirstRenderedPosition } = this.props;\n const anchorElement = this.anchorElement;\n\n warning(\n anchorElement && isHTMLElement(anchorElement),\n 'Anchor element is not defined or not instance of HTMLElement',\n );\n\n if (!(anchorElement && isHTMLElement(anchorElement))) {\n return location;\n }\n\n const anchorRect = PopupHelper.getElementAbsoluteRect(anchorElement);\n const popupRect = PopupHelper.getElementAbsoluteRect(popupElement);\n\n let position: PopupPositionsType;\n let coordinates: Offset;\n\n if (location && location !== DUMMY_LOCATION && location.position) {\n position = location.position;\n coordinates = this.getCoordinates(anchorRect, popupRect, position);\n\n const isFullyVisible = PopupHelper.isFullyVisible(coordinates, popupRect);\n const canBecomeVisible = !isFullyVisible && PopupHelper.canBecomeFullyVisible(position, coordinates);\n\n if (\n // если нужно сохранить первоначальную позицию и Попап целиком\n // находится в пределах вьюпорта (или может быть проскроллен в него)\n (tryPreserveFirstRenderedPosition && (isFullyVisible || canBecomeVisible)) ||\n // если Попап целиком во вьюпорте и в самой приоритетной позиции\n // (иначе нужно попытаться позицию сменить)\n (isFullyVisible && position === positions[0])\n ) {\n // сохраняем текущую позицию\n return { coordinates, position };\n }\n }\n\n for (position of positions) {\n coordinates = this.getCoordinates(anchorRect, popupRect, position);\n if (PopupHelper.isFullyVisible(coordinates, popupRect)) {\n return { coordinates, position };\n }\n }\n\n position = positions[0];\n coordinates = this.getCoordinates(anchorRect, popupRect, position);\n return { coordinates, position };\n }\n\n private getPinnedPopupOffset(anchorRect: Rect, position: PositionObject) {\n if (!this.props.hasPin || /center|middle/.test(position.align)) {\n return 0;\n }\n\n const anchorSize = /top|bottom/.test(position.direction) ? anchorRect.width : anchorRect.height;\n\n const { pinSize } = this.props;\n\n return Math.max(\n 0,\n this.getPinOffset(position.align) + (pinSize || parseInt(this.theme.popupPinSize)) - anchorSize / 2,\n );\n }\n\n private getCoordinates(anchorRect: Rect, popupRect: Rect, positionName: string) {\n const { margin: marginFromProps } = this.props;\n const margin =\n isNonNullable(marginFromProps) && !isNaN(marginFromProps)\n ? marginFromProps\n : parseInt(this.theme.popupMargin) || 0;\n const position = PopupHelper.getPositionObject(positionName);\n const popupOffset = this.props.popupOffset + this.getPinnedPopupOffset(anchorRect, position);\n\n switch (position.direction) {\n case 'top':\n return {\n top: anchorRect.top - popupRect.height - margin,\n left: this.getHorizontalPosition(anchorRect, popupRect, position.align, popupOffset),\n };\n case 'bottom':\n return {\n top: anchorRect.top + anchorRect.height + margin,\n left: this.getHorizontalPosition(anchorRect, popupRect, position.align, popupOffset),\n };\n case 'left':\n return {\n top: this.getVerticalPosition(anchorRect, popupRect, position.align, popupOffset),\n left: anchorRect.left - popupRect.width - margin,\n };\n case 'right':\n return {\n top: this.getVerticalPosition(anchorRect, popupRect, position.align, popupOffset),\n left: anchorRect.left + anchorRect.width + margin,\n };\n default:\n throw new Error(`Unexpected direction '${position.direction}'`);\n }\n }\n\n private getPinOffset(align: string) {\n const { pinOffset } = this.props;\n\n switch (align) {\n case 'top':\n case 'bottom':\n return pinOffset || parseInt(this.theme.popupPinOffset) || parseInt(this.theme.popupPinOffsetY);\n case 'left':\n case 'right':\n return pinOffset || parseInt(this.theme.popupPinOffset) || parseInt(this.theme.popupPinOffsetX);\n case 'center':\n case 'middle':\n return 0;\n default:\n throw new Error(`Unexpected align '${align}'`);\n }\n }\n\n private getHorizontalPosition(anchorRect: Rect, popupRect: Rect, align: string, popupOffset: number) {\n switch (align) {\n case 'left':\n return anchorRect.left - popupOffset;\n case 'center':\n return anchorRect.left - (popupRect.width - anchorRect.width) / 2;\n case 'right':\n return anchorRect.left - (popupRect.width - anchorRect.width) + popupOffset;\n default:\n throw new Error(`Unexpected align '${align}'`);\n }\n }\n\n private getVerticalPosition(anchorRect: Rect, popupRect: Rect, align: string, popupOffset: number) {\n switch (align) {\n case 'top':\n return anchorRect.top - popupOffset;\n case 'middle':\n return anchorRect.top - (popupRect.height - anchorRect.height) / 2;\n case 'bottom':\n return anchorRect.top - (popupRect.height - anchorRect.height) + popupOffset;\n default:\n throw new Error(`Unexpected align '${align}'`);\n }\n }\n}\n"]}
@@ -1,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 { PopupPositionsType } 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: PopupPositionsType, 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 { PopupPositionsType } 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: PopupPositionsType, 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 +1 @@
1
- export type { PopupPositionsType } from './Popup';
1
+ export type { PopupPositionsType } from './Popup';
@@ -1,85 +1,85 @@
1
- import React from 'react';
2
- import { PopupPositionsType } 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?: PopupPositionsType[];
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: ("top left" | "top center" | "top right" | "right top" | "right middle" | "right bottom" | "bottom right" | "bottom center" | "bottom left" | "left bottom" | "left middle" | "left top")[];
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 {};
1
+ import React from 'react';
2
+ import { PopupPositionsType } 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?: PopupPositionsType[];
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: ("top left" | "top center" | "top right" | "right top" | "right middle" | "right bottom" | "bottom right" | "bottom center" | "bottom left" | "left bottom" | "left middle" | "left top")[];
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 {};
@@ -1,4 +1,4 @@
1
- export declare const styles: {
2
- caption(): string;
3
- container(): string;
4
- };
1
+ export declare const styles: {
2
+ caption(): string;
3
+ container(): string;
4
+ };
@@ -1 +1 @@
1
- export * from './PopupMenu';
1
+ export * from './PopupMenu';
@@ -1,2 +1,2 @@
1
- import { PopupPositionsType } from '../Popup';
2
- export declare const isValidPositions: (positions: PopupPositionsType[]) => boolean;
1
+ import { PopupPositionsType } from '../Popup';
2
+ export declare const isValidPositions: (positions: PopupPositionsType[]) => boolean;