@skbkontur/react-ui 0.0.0-6dd088a035 → 0.0.0-70dd810c5c

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 (708) hide show
  1. package/CHANGELOG.md +129 -0
  2. package/README.md +7 -7
  3. package/cjs/components/Autocomplete/Autocomplete.d.ts +6 -23
  4. package/cjs/components/Autocomplete/Autocomplete.js +49 -46
  5. package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
  6. package/cjs/components/Button/Button.d.ts +2 -0
  7. package/cjs/components/Button/Button.js +32 -4
  8. package/cjs/components/Button/Button.js.map +1 -1
  9. package/cjs/components/Button/Button.styles.d.ts +6 -0
  10. package/cjs/components/Button/Button.styles.js +109 -76
  11. package/cjs/components/Button/Button.styles.js.map +1 -1
  12. package/cjs/components/Calendar/Calendar.d.ts +2 -0
  13. package/cjs/components/Calendar/Calendar.js +1 -0
  14. package/cjs/components/Calendar/Calendar.js.map +1 -1
  15. package/cjs/components/Calendar/CalendarDay.js +18 -2
  16. package/cjs/components/Calendar/CalendarDay.js.map +1 -1
  17. package/cjs/components/Calendar/DayCellView.js +7 -15
  18. package/cjs/components/Calendar/DayCellView.js.map +1 -1
  19. package/cjs/components/Center/Center.d.ts +2 -0
  20. package/cjs/components/Center/Center.js +1 -0
  21. package/cjs/components/Center/Center.js.map +1 -1
  22. package/cjs/components/Checkbox/Checkbox.d.ts +2 -12
  23. package/cjs/components/Checkbox/Checkbox.js +2 -14
  24. package/cjs/components/Checkbox/Checkbox.js.map +1 -1
  25. package/cjs/components/ComboBox/ComboBox.d.ts +2 -0
  26. package/cjs/components/ComboBox/ComboBox.js +1 -0
  27. package/cjs/components/ComboBox/ComboBox.js.map +1 -1
  28. package/cjs/components/ComboBox/ComboBox.md +2 -2
  29. package/cjs/components/CurrencyInput/CurrencyInput.d.ts +6 -24
  30. package/cjs/components/CurrencyInput/CurrencyInput.js +5 -28
  31. package/cjs/components/CurrencyInput/CurrencyInput.js.map +1 -1
  32. package/cjs/components/CurrencyInput/constants.js +1 -2
  33. package/cjs/components/CurrencyInput/constants.js.map +1 -1
  34. package/cjs/components/CurrencyLabel/CurrencyLabel.js +21 -28
  35. package/cjs/components/CurrencyLabel/CurrencyLabel.js.map +1 -1
  36. package/cjs/components/DateInput/DateInput.d.ts +2 -0
  37. package/cjs/components/DateInput/DateInput.js +20 -11
  38. package/cjs/components/DateInput/DateInput.js.map +1 -1
  39. package/cjs/components/DateInput/helpers/InternalDateMediator.d.ts +1 -1
  40. package/cjs/components/DateInput/helpers/InternalDateMediator.js +10 -1
  41. package/cjs/components/DateInput/helpers/InternalDateMediator.js.map +1 -1
  42. package/cjs/components/DatePicker/DatePicker.d.ts +6 -33
  43. package/cjs/components/DatePicker/DatePicker.js +6 -60
  44. package/cjs/components/DatePicker/DatePicker.js.map +1 -1
  45. package/cjs/components/DateRangePicker/DateRangePicker.d.ts +3 -1
  46. package/cjs/components/DateRangePicker/DateRangePicker.js +61 -23
  47. package/cjs/components/DateRangePicker/DateRangePicker.js.map +1 -1
  48. package/cjs/components/DateRangePicker/DateRangePicker.styles.d.ts +0 -1
  49. package/cjs/components/DateRangePicker/DateRangePicker.styles.js +13 -18
  50. package/cjs/components/DateRangePicker/DateRangePicker.styles.js.map +1 -1
  51. package/cjs/components/DateRangePicker/DateRangePickerInput.js +4 -8
  52. package/cjs/components/DateRangePicker/DateRangePickerInput.js.map +1 -1
  53. package/cjs/components/DateRangePicker/helpers/validateDateRangePicker.js +17 -17
  54. package/cjs/components/DateRangePicker/helpers/validateDateRangePicker.js.map +1 -1
  55. package/cjs/components/Dropdown/Dropdown.d.ts +2 -47
  56. package/cjs/components/Dropdown/Dropdown.js +2 -82
  57. package/cjs/components/Dropdown/Dropdown.js.map +1 -1
  58. package/cjs/components/DropdownMenu/DropdownMenu.d.ts +4 -2
  59. package/cjs/components/DropdownMenu/DropdownMenu.js +1 -0
  60. package/cjs/components/DropdownMenu/DropdownMenu.js.map +1 -1
  61. package/cjs/components/DropdownMenu/DropdownMenu.md +8 -8
  62. package/cjs/components/FileUploader/FileUploader.js +26 -10
  63. package/cjs/components/FileUploader/FileUploader.js.map +1 -1
  64. package/cjs/components/FxInput/FxInput.d.ts +3 -6
  65. package/cjs/components/FxInput/FxInput.js +2 -7
  66. package/cjs/components/FxInput/FxInput.js.map +1 -1
  67. package/cjs/components/Gapped/Gapped.d.ts +2 -15
  68. package/cjs/components/Gapped/Gapped.js +1 -24
  69. package/cjs/components/Gapped/Gapped.js.map +1 -1
  70. package/cjs/components/GlobalLoader/GlobalLoader.d.ts +2 -0
  71. package/cjs/components/GlobalLoader/GlobalLoader.js +1 -0
  72. package/cjs/components/GlobalLoader/GlobalLoader.js.map +1 -1
  73. package/cjs/components/Group/Group.d.ts +5 -4
  74. package/cjs/components/Group/Group.js +91 -40
  75. package/cjs/components/Group/Group.js.map +1 -1
  76. package/cjs/components/Group/Group.md +4 -4
  77. package/cjs/components/Group/Group.styles.d.ts +1 -0
  78. package/cjs/components/Group/Group.styles.js +12 -6
  79. package/cjs/components/Group/Group.styles.js.map +1 -1
  80. package/cjs/components/Hint/Hint.d.ts +2 -0
  81. package/cjs/components/Hint/Hint.js +5 -4
  82. package/cjs/components/Hint/Hint.js.map +1 -1
  83. package/cjs/components/Input/Input.d.ts +2 -0
  84. package/cjs/components/Input/Input.js +1 -0
  85. package/cjs/components/Input/Input.js.map +1 -1
  86. package/cjs/components/Input/Input.md +4 -5
  87. package/cjs/components/Kebab/Kebab.d.ts +2 -1
  88. package/cjs/components/Kebab/Kebab.js +2 -26
  89. package/cjs/components/Kebab/Kebab.js.map +1 -1
  90. package/cjs/components/Kebab/Kebab.md +32 -32
  91. package/cjs/components/Link/Link.d.ts +2 -0
  92. package/cjs/components/Link/Link.js +6 -0
  93. package/cjs/components/Link/Link.js.map +1 -1
  94. package/cjs/components/Link/Link.mixins.js +1 -2
  95. package/cjs/components/Link/Link.mixins.js.map +1 -1
  96. package/cjs/components/Link/Link.styles.js +3 -2
  97. package/cjs/components/Link/Link.styles.js.map +1 -1
  98. package/cjs/components/Loader/Loader.d.ts +6 -36
  99. package/cjs/components/Loader/Loader.js +3 -57
  100. package/cjs/components/Loader/Loader.js.map +1 -1
  101. package/cjs/components/MaskedInput/MaskedInput.d.ts +1 -0
  102. package/cjs/components/MaskedInput/MaskedInput.js +17 -1
  103. package/cjs/components/MaskedInput/MaskedInput.js.map +1 -1
  104. package/cjs/components/MenuItem/MenuItem.d.ts +2 -12
  105. package/cjs/components/MenuItem/MenuItem.js +2 -22
  106. package/cjs/components/MenuItem/MenuItem.js.map +1 -1
  107. package/cjs/components/MenuItem/MenuItem.md +6 -6
  108. package/cjs/components/MiniModal/MiniModal.styles.d.ts +1 -0
  109. package/cjs/components/MiniModal/MiniModal.styles.js +14 -7
  110. package/cjs/components/MiniModal/MiniModal.styles.js.map +1 -1
  111. package/cjs/components/MiniModal/MiniModalBody.js +17 -2
  112. package/cjs/components/MiniModal/MiniModalBody.js.map +1 -1
  113. package/cjs/components/Modal/Modal.js +4 -2
  114. package/cjs/components/Modal/Modal.js.map +1 -1
  115. package/cjs/components/Modal/Modal.styles.d.ts +2 -1
  116. package/cjs/components/Modal/Modal.styles.js +40 -32
  117. package/cjs/components/Modal/Modal.styles.js.map +1 -1
  118. package/cjs/components/Modal/ModalBody.d.ts +2 -0
  119. package/cjs/components/Modal/ModalBody.js +1 -0
  120. package/cjs/components/Modal/ModalBody.js.map +1 -1
  121. package/cjs/components/Modal/ModalHeader.d.ts +5 -0
  122. package/cjs/components/Modal/ModalHeader.js +8 -1
  123. package/cjs/components/Modal/ModalHeader.js.map +1 -1
  124. package/cjs/components/Modal/ModalSeparator.js +1 -1
  125. package/cjs/components/Modal/ModalSeparator.js.map +1 -1
  126. package/cjs/components/Paging/DotsIcon.d.ts +3 -0
  127. package/cjs/components/Paging/DotsIcon.js +13 -0
  128. package/cjs/components/Paging/DotsIcon.js.map +1 -0
  129. package/cjs/components/Paging/ForwardIcon.d.ts +3 -0
  130. package/cjs/components/Paging/ForwardIcon.js +13 -1
  131. package/cjs/components/Paging/ForwardIcon.js.map +1 -1
  132. package/cjs/components/Paging/NavigationHelper.d.ts +3 -2
  133. package/cjs/components/Paging/NavigationHelper.js +8 -6
  134. package/cjs/components/Paging/NavigationHelper.js.map +1 -1
  135. package/cjs/components/Paging/Paging.d.ts +13 -2
  136. package/cjs/components/Paging/Paging.js +120 -50
  137. package/cjs/components/Paging/Paging.js.map +1 -1
  138. package/cjs/components/Paging/Paging.styles.d.ts +24 -1
  139. package/cjs/components/Paging/Paging.styles.js +151 -22
  140. package/cjs/components/Paging/Paging.styles.js.map +1 -1
  141. package/cjs/components/Paging/PagingHelper.d.ts +1 -1
  142. package/cjs/components/Paging/PagingHelper.js +18 -11
  143. package/cjs/components/Paging/PagingHelper.js.map +1 -1
  144. package/cjs/components/PasswordInput/PasswordInput.d.ts +2 -7
  145. package/cjs/components/PasswordInput/PasswordInput.js +2 -11
  146. package/cjs/components/PasswordInput/PasswordInput.js.map +1 -1
  147. package/cjs/components/Radio/Radio.d.ts +2 -0
  148. package/cjs/components/Radio/Radio.js +1 -0
  149. package/cjs/components/Radio/Radio.js.map +1 -1
  150. package/cjs/components/RadioGroup/RadioGroup.d.ts +2 -0
  151. package/cjs/components/RadioGroup/RadioGroup.js +2 -1
  152. package/cjs/components/RadioGroup/RadioGroup.js.map +1 -1
  153. package/cjs/components/RadioGroup/RadioGroup.styles.d.ts +1 -1
  154. package/cjs/components/RadioGroup/RadioGroup.styles.js +1 -1
  155. package/cjs/components/RadioGroup/RadioGroup.styles.js.map +1 -1
  156. package/cjs/components/ScrollContainer/ScrollContainer.d.ts +2 -9
  157. package/cjs/components/ScrollContainer/ScrollContainer.js +2 -11
  158. package/cjs/components/ScrollContainer/ScrollContainer.js.map +1 -1
  159. package/cjs/components/Select/Select.d.ts +5 -0
  160. package/cjs/components/Select/Select.js +5 -1
  161. package/cjs/components/Select/Select.js.map +1 -1
  162. package/cjs/components/Select/Select.md +3 -3
  163. package/cjs/components/SidePage/SidePage.js +1 -1
  164. package/cjs/components/SidePage/SidePage.js.map +1 -1
  165. package/cjs/components/SidePage/SidePage.styles.d.ts +3 -1
  166. package/cjs/components/SidePage/SidePage.styles.js +52 -38
  167. package/cjs/components/SidePage/SidePage.styles.js.map +1 -1
  168. package/cjs/components/SidePage/SidePageBody.d.ts +2 -0
  169. package/cjs/components/SidePage/SidePageBody.js +1 -0
  170. package/cjs/components/SidePage/SidePageBody.js.map +1 -1
  171. package/cjs/components/SidePage/SidePageContainer.d.ts +2 -0
  172. package/cjs/components/SidePage/SidePageContainer.js +1 -0
  173. package/cjs/components/SidePage/SidePageContainer.js.map +1 -1
  174. package/cjs/components/SidePage/SidePageFooter.d.ts +2 -0
  175. package/cjs/components/SidePage/SidePageFooter.js +1 -0
  176. package/cjs/components/SidePage/SidePageFooter.js.map +1 -1
  177. package/cjs/components/SidePage/SidePageHeader.d.ts +12 -2
  178. package/cjs/components/SidePage/SidePageHeader.js +63 -19
  179. package/cjs/components/SidePage/SidePageHeader.js.map +1 -1
  180. package/cjs/components/SingleToast/SingleToast.d.ts +3 -3
  181. package/cjs/components/SingleToast/SingleToast.js.map +1 -1
  182. package/cjs/components/Spinner/Spinner.d.ts +2 -18
  183. package/cjs/components/Spinner/Spinner.js +2 -32
  184. package/cjs/components/Spinner/Spinner.js.map +1 -1
  185. package/cjs/components/Sticky/Sticky.d.ts +5 -13
  186. package/cjs/components/Sticky/Sticky.js +12 -18
  187. package/cjs/components/Sticky/Sticky.js.map +1 -1
  188. package/cjs/components/Switcher/Switcher.d.ts +6 -21
  189. package/cjs/components/Switcher/Switcher.js +11 -20
  190. package/cjs/components/Switcher/Switcher.js.map +1 -1
  191. package/cjs/components/Switcher/Switcher.styles.d.ts +1 -0
  192. package/cjs/components/Switcher/Switcher.styles.js +17 -9
  193. package/cjs/components/Switcher/Switcher.styles.js.map +1 -1
  194. package/cjs/components/Tabs/Indicator.d.ts +2 -0
  195. package/cjs/components/Tabs/Indicator.js +1 -0
  196. package/cjs/components/Tabs/Indicator.js.map +1 -1
  197. package/cjs/components/Tabs/Tab.d.ts +2 -0
  198. package/cjs/components/Tabs/Tab.js +1 -0
  199. package/cjs/components/Tabs/Tab.js.map +1 -1
  200. package/cjs/components/Tabs/Tabs.d.ts +2 -0
  201. package/cjs/components/Tabs/Tabs.js +1 -0
  202. package/cjs/components/Tabs/Tabs.js.map +1 -1
  203. package/cjs/components/Textarea/Textarea.d.ts +2 -44
  204. package/cjs/components/Textarea/Textarea.js +16 -68
  205. package/cjs/components/Textarea/Textarea.js.map +1 -1
  206. package/cjs/components/Textarea/TextareaCounter.js +2 -13
  207. package/cjs/components/Textarea/TextareaCounter.js.map +1 -1
  208. package/cjs/components/Toast/Toast.d.ts +6 -2
  209. package/cjs/components/Toast/Toast.js +12 -2
  210. package/cjs/components/Toast/Toast.js.map +1 -1
  211. package/cjs/components/Toast/ToastView.d.ts +2 -14
  212. package/cjs/components/Toast/ToastView.js +3 -22
  213. package/cjs/components/Toast/ToastView.js.map +1 -1
  214. package/cjs/components/Toggle/Toggle.d.ts +3 -10
  215. package/cjs/components/Toggle/Toggle.js +6 -13
  216. package/cjs/components/Toggle/Toggle.js.map +1 -1
  217. package/cjs/components/Token/Token.d.ts +2 -0
  218. package/cjs/components/Token/Token.js +1 -0
  219. package/cjs/components/Token/Token.js.map +1 -1
  220. package/cjs/components/Token/Token.md +0 -83
  221. package/cjs/components/TokenInput/TokenInput.d.ts +4 -2
  222. package/cjs/components/TokenInput/TokenInput.js +3 -1
  223. package/cjs/components/TokenInput/TokenInput.js.map +1 -1
  224. package/cjs/components/TokenInput/TokenInput.md +2 -33
  225. package/cjs/components/TokenInput/TokenInputMenu.d.ts +12 -3
  226. package/cjs/components/TokenInput/TokenInputMenu.js +23 -1
  227. package/cjs/components/TokenInput/TokenInputMenu.js.map +1 -1
  228. package/cjs/components/Tooltip/Tooltip.d.ts +14 -9
  229. package/cjs/components/Tooltip/Tooltip.js +95 -13
  230. package/cjs/components/Tooltip/Tooltip.js.map +1 -1
  231. package/cjs/components/Tooltip/Tooltip.md +8 -8
  232. package/cjs/components/Tooltip/Tooltip.styles.d.ts +7 -1
  233. package/cjs/components/Tooltip/Tooltip.styles.js +50 -12
  234. package/cjs/components/Tooltip/Tooltip.styles.js.map +1 -1
  235. package/cjs/components/TooltipMenu/TooltipMenu.d.ts +4 -2
  236. package/cjs/components/TooltipMenu/TooltipMenu.js +1 -0
  237. package/cjs/components/TooltipMenu/TooltipMenu.js.map +1 -1
  238. package/cjs/components/TooltipMenu/TooltipMenu.md +12 -12
  239. package/cjs/components/__stories__/iframe.creevey.mts +124 -0
  240. package/cjs/components/__stories__/iframeStoriesImplementation.js +73 -0
  241. package/cjs/components/__stories__/iframeStoriesImplementation.js.map +1 -0
  242. package/cjs/index.d.ts +1 -0
  243. package/cjs/index.js.map +1 -1
  244. package/cjs/internal/CommonWrapper/CommonWrapper.d.ts +2 -0
  245. package/cjs/internal/CommonWrapper/CommonWrapper.js +1 -0
  246. package/cjs/internal/CommonWrapper/CommonWrapper.js.map +1 -1
  247. package/cjs/internal/ComponentTable.js +2 -3
  248. package/cjs/internal/ComponentTable.js.map +1 -1
  249. package/cjs/internal/CustomComboBox/ComboBoxView.d.ts +2 -0
  250. package/cjs/internal/CustomComboBox/ComboBoxView.js +3 -1
  251. package/cjs/internal/CustomComboBox/ComboBoxView.js.map +1 -1
  252. package/cjs/internal/CustomComboBox/CustomComboBox.d.ts +2 -0
  253. package/cjs/internal/CustomComboBox/CustomComboBox.js +1 -0
  254. package/cjs/internal/CustomComboBox/CustomComboBox.js.map +1 -1
  255. package/cjs/internal/DateSelect/DateSelect.d.ts +0 -10
  256. package/cjs/internal/DateSelect/DateSelect.js +12 -18
  257. package/cjs/internal/DateSelect/DateSelect.js.map +1 -1
  258. package/cjs/internal/FocusTrap/FocusTrap.d.ts +2 -0
  259. package/cjs/internal/FocusTrap/FocusTrap.js +1 -0
  260. package/cjs/internal/FocusTrap/FocusTrap.js.map +1 -1
  261. package/cjs/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.d.ts +7 -3
  262. package/cjs/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.js +36 -13
  263. package/cjs/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.js.map +1 -1
  264. package/cjs/internal/IgnoreLayerClick/IgnoreLayerClick.js +1 -0
  265. package/cjs/internal/IgnoreLayerClick/IgnoreLayerClick.js.map +1 -1
  266. package/cjs/internal/InputLikeText/InputLikeText.d.ts +2 -0
  267. package/cjs/internal/InputLikeText/InputLikeText.js +1 -0
  268. package/cjs/internal/InputLikeText/InputLikeText.js.map +1 -1
  269. package/cjs/internal/Menu/Menu.d.ts +2 -0
  270. package/cjs/internal/Menu/Menu.js +1 -0
  271. package/cjs/internal/Menu/Menu.js.map +1 -1
  272. package/cjs/internal/MobilePopup/MobilePopup.d.ts +2 -0
  273. package/cjs/internal/MobilePopup/MobilePopup.js +1 -0
  274. package/cjs/internal/MobilePopup/MobilePopup.js.map +1 -1
  275. package/cjs/internal/Popup/Popup.d.ts +43 -60
  276. package/cjs/internal/Popup/Popup.js +41 -81
  277. package/cjs/internal/Popup/Popup.js.map +1 -1
  278. package/cjs/internal/Popup/PopupPin.d.ts +23 -33
  279. package/cjs/internal/Popup/PopupPin.js +2 -35
  280. package/cjs/internal/Popup/PopupPin.js.map +1 -1
  281. package/cjs/internal/Popup/PopupPinNew.d.ts +31 -0
  282. package/cjs/internal/Popup/PopupPinNew.js +180 -0
  283. package/cjs/internal/Popup/PopupPinNew.js.map +1 -0
  284. package/cjs/internal/Popup/PopupPinNew.styles.d.ts +7 -0
  285. package/cjs/internal/Popup/PopupPinNew.styles.js +33 -0
  286. package/cjs/internal/Popup/PopupPinNew.styles.js.map +1 -0
  287. package/cjs/internal/PopupMenu/PopupMenu.d.ts +2 -0
  288. package/cjs/internal/PopupMenu/PopupMenu.js +1 -0
  289. package/cjs/internal/PopupMenu/PopupMenu.js.map +1 -1
  290. package/cjs/internal/RenderContainer/RenderInnerContainer.d.ts +0 -6
  291. package/cjs/internal/RenderContainer/RenderInnerContainer.js +0 -9
  292. package/cjs/internal/RenderContainer/RenderInnerContainer.js.map +1 -1
  293. package/cjs/internal/RenderLayer/RenderLayer.d.ts +2 -3
  294. package/cjs/internal/RenderLayer/RenderLayer.js +3 -12
  295. package/cjs/internal/RenderLayer/RenderLayer.js.map +1 -1
  296. package/cjs/internal/ThemePlayground/Playground.js +16 -16
  297. package/cjs/internal/ThemePlayground/Playground.js.map +1 -1
  298. package/cjs/internal/ThemePlayground/Playground.styles.js +5 -8
  299. package/cjs/internal/ThemePlayground/Playground.styles.js.map +1 -1
  300. package/cjs/internal/ThemePlayground/ShowcaseGroup.js +12 -1
  301. package/cjs/internal/ThemePlayground/ShowcaseGroup.js.map +1 -1
  302. package/cjs/internal/ThemePlayground/SizesGroup.js +4 -4
  303. package/cjs/internal/ThemePlayground/SizesGroup.js.map +1 -1
  304. package/cjs/internal/ThemePlayground/ThemeContextPlayground.js +1 -1
  305. package/cjs/internal/ThemePlayground/ThemeContextPlayground.js.map +1 -1
  306. package/cjs/internal/ThemePlayground/VariableValue.js +4 -4
  307. package/cjs/internal/ThemePlayground/VariableValue.js.map +1 -1
  308. package/cjs/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  309. package/cjs/internal/ZIndex/ZIndex.d.ts +3 -3
  310. package/cjs/internal/ZIndex/ZIndex.js +5 -1
  311. package/cjs/internal/ZIndex/ZIndex.js.map +1 -1
  312. package/cjs/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular.d.ts +2 -0
  313. package/cjs/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular.js +16 -0
  314. package/cjs/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular.js.map +1 -0
  315. package/cjs/internal/themes/BasicTheme.d.ts +114 -20
  316. package/cjs/internal/themes/BasicTheme.js +152 -19
  317. package/cjs/internal/themes/BasicTheme.js.map +1 -1
  318. package/cjs/internal/themes/DarkTheme5_2.js +1 -1
  319. package/cjs/internal/themes/DarkTheme5_2.js.map +1 -1
  320. package/cjs/internal/themes/DarkTheme5_3.d.ts +1 -0
  321. package/cjs/internal/themes/DarkTheme5_3.js +13 -0
  322. package/cjs/internal/themes/DarkTheme5_3.js.map +1 -0
  323. package/cjs/internal/themes/LightTheme5_3.d.ts +1 -0
  324. package/cjs/internal/themes/LightTheme5_3.js +13 -0
  325. package/cjs/internal/themes/LightTheme5_3.js.map +1 -0
  326. package/cjs/lib/date/InternalDateGetter.d.ts +1 -1
  327. package/cjs/lib/date/InternalDateGetter.js +8 -1
  328. package/cjs/lib/date/InternalDateGetter.js.map +1 -1
  329. package/cjs/lib/delay.mts +3 -0
  330. package/cjs/lib/events/keyListener.d.ts +7 -0
  331. package/cjs/lib/events/keyListener.js +21 -2
  332. package/cjs/lib/events/keyListener.js.map +1 -1
  333. package/cjs/lib/featureFlagsContext/FeatureFlagsHelpers.d.ts +9 -2
  334. package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.d.ts +9 -2
  335. package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.js +16 -2
  336. package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.js.map +1 -1
  337. package/cjs/lib/forwardRefAndName.d.ts +1 -1
  338. package/cjs/lib/forwardRefAndName.js +0 -1
  339. package/cjs/lib/forwardRefAndName.js.map +1 -1
  340. package/cjs/lib/getMenuPositions.d.ts +21 -1
  341. package/cjs/lib/getMenuPositions.js +45 -8
  342. package/cjs/lib/getMenuPositions.js.map +1 -1
  343. package/cjs/lib/globalObject.d.ts +18 -0
  344. package/cjs/lib/globalObject.js +45 -0
  345. package/cjs/lib/globalObject.js.map +1 -0
  346. package/cjs/lib/rootNode/rootNodeDecorator.d.ts +2 -1
  347. package/cjs/lib/rootNode/rootNodeDecorator.js +1 -0
  348. package/cjs/lib/rootNode/rootNodeDecorator.js.map +1 -1
  349. package/cjs/lib/theming/ThemeVersions.d.ts +1 -1
  350. package/cjs/lib/theming/ThemeVersions.js.map +1 -1
  351. package/cjs/lib/theming/themes/DarkTheme.d.ts +1 -0
  352. package/cjs/lib/theming/themes/DarkTheme.js +4 -2
  353. package/cjs/lib/theming/themes/DarkTheme.js.map +1 -1
  354. package/cjs/lib/theming/themes/LightTheme.d.ts +1 -0
  355. package/cjs/lib/theming/themes/LightTheme.js +4 -2
  356. package/cjs/lib/theming/themes/LightTheme.js.map +1 -1
  357. package/cjs/lib/utils.d.ts +4 -0
  358. package/cjs/lib/utils.js +5 -1
  359. package/cjs/lib/utils.js.map +1 -1
  360. package/components/Autocomplete/Autocomplete/Autocomplete.js +49 -45
  361. package/components/Autocomplete/Autocomplete/Autocomplete.js.map +1 -1
  362. package/components/Autocomplete/Autocomplete.d.ts +6 -23
  363. package/components/Button/Button/Button.js +29 -7
  364. package/components/Button/Button/Button.js.map +1 -1
  365. package/components/Button/Button.d.ts +2 -0
  366. package/components/Button/Button.styles/Button.styles.js +79 -61
  367. package/components/Button/Button.styles/Button.styles.js.map +1 -1
  368. package/components/Button/Button.styles.d.ts +6 -0
  369. package/components/Calendar/Calendar/Calendar.js.map +1 -1
  370. package/components/Calendar/Calendar.d.ts +2 -0
  371. package/components/Calendar/CalendarDay/CalendarDay.js +9 -2
  372. package/components/Calendar/CalendarDay/CalendarDay.js.map +1 -1
  373. package/components/Calendar/DayCellView/DayCellView.js +6 -10
  374. package/components/Calendar/DayCellView/DayCellView.js.map +1 -1
  375. package/components/Center/Center/Center.js.map +1 -1
  376. package/components/Center/Center.d.ts +2 -0
  377. package/components/Checkbox/Checkbox/Checkbox.js +0 -11
  378. package/components/Checkbox/Checkbox/Checkbox.js.map +1 -1
  379. package/components/Checkbox/Checkbox.d.ts +2 -12
  380. package/components/ComboBox/ComboBox/ComboBox.js.map +1 -1
  381. package/components/ComboBox/ComboBox.d.ts +2 -0
  382. package/components/ComboBox/ComboBox.md +2 -2
  383. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js +12 -36
  384. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js.map +1 -1
  385. package/components/CurrencyInput/CurrencyInput.d.ts +6 -24
  386. package/components/CurrencyInput/constants/constants.js +0 -1
  387. package/components/CurrencyInput/constants/constants.js.map +1 -1
  388. package/components/CurrencyLabel/CurrencyLabel/CurrencyLabel.js +10 -22
  389. package/components/CurrencyLabel/CurrencyLabel/CurrencyLabel.js.map +1 -1
  390. package/components/DateInput/DateInput/DateInput.js +14 -11
  391. package/components/DateInput/DateInput/DateInput.js.map +1 -1
  392. package/components/DateInput/DateInput.d.ts +2 -0
  393. package/components/DateInput/helpers/InternalDateMediator/InternalDateMediator.js +2 -2
  394. package/components/DateInput/helpers/InternalDateMediator/InternalDateMediator.js.map +1 -1
  395. package/components/DateInput/helpers/InternalDateMediator.d.ts +1 -1
  396. package/components/DatePicker/DatePicker/DatePicker.js +1 -32
  397. package/components/DatePicker/DatePicker/DatePicker.js.map +1 -1
  398. package/components/DatePicker/DatePicker.d.ts +6 -33
  399. package/components/DateRangePicker/DateRangePicker/DateRangePicker.js +41 -22
  400. package/components/DateRangePicker/DateRangePicker/DateRangePicker.js.map +1 -1
  401. package/components/DateRangePicker/DateRangePicker.d.ts +3 -1
  402. package/components/DateRangePicker/DateRangePicker.styles/DateRangePicker.styles.js +12 -15
  403. package/components/DateRangePicker/DateRangePicker.styles/DateRangePicker.styles.js.map +1 -1
  404. package/components/DateRangePicker/DateRangePicker.styles.d.ts +0 -1
  405. package/components/DateRangePicker/DateRangePickerInput/DateRangePickerInput.js +5 -8
  406. package/components/DateRangePicker/DateRangePickerInput/DateRangePickerInput.js.map +1 -1
  407. package/components/DateRangePicker/helpers/validateDateRangePicker/validateDateRangePicker.js +16 -15
  408. package/components/DateRangePicker/helpers/validateDateRangePicker/validateDateRangePicker.js.map +1 -1
  409. package/components/Dropdown/Dropdown/Dropdown.js +1 -47
  410. package/components/Dropdown/Dropdown/Dropdown.js.map +1 -1
  411. package/components/Dropdown/Dropdown.d.ts +2 -47
  412. package/components/DropdownMenu/DropdownMenu/DropdownMenu.js.map +1 -1
  413. package/components/DropdownMenu/DropdownMenu.d.ts +4 -2
  414. package/components/DropdownMenu/DropdownMenu.md +8 -8
  415. package/components/FileUploader/FileUploader/FileUploader.js +19 -8
  416. package/components/FileUploader/FileUploader/FileUploader.js.map +1 -1
  417. package/components/FxInput/FxInput/FxInput.js +1 -5
  418. package/components/FxInput/FxInput/FxInput.js.map +1 -1
  419. package/components/FxInput/FxInput.d.ts +3 -6
  420. package/components/Gapped/Gapped/Gapped.js +1 -15
  421. package/components/Gapped/Gapped/Gapped.js.map +1 -1
  422. package/components/Gapped/Gapped.d.ts +2 -15
  423. package/components/GlobalLoader/GlobalLoader/GlobalLoader.js.map +1 -1
  424. package/components/GlobalLoader/GlobalLoader.d.ts +2 -0
  425. package/components/Group/Group/Group.js +64 -28
  426. package/components/Group/Group/Group.js.map +1 -1
  427. package/components/Group/Group.d.ts +5 -4
  428. package/components/Group/Group.md +4 -4
  429. package/components/Group/Group.styles/Group.styles.js +9 -6
  430. package/components/Group/Group.styles/Group.styles.js.map +1 -1
  431. package/components/Group/Group.styles.d.ts +1 -0
  432. package/components/Hint/Hint/Hint.js +5 -5
  433. package/components/Hint/Hint/Hint.js.map +1 -1
  434. package/components/Hint/Hint.d.ts +2 -0
  435. package/components/Input/Input/Input.js.map +1 -1
  436. package/components/Input/Input.d.ts +2 -0
  437. package/components/Input/Input.md +4 -5
  438. package/components/Kebab/Kebab/Kebab.js +2 -20
  439. package/components/Kebab/Kebab/Kebab.js.map +1 -1
  440. package/components/Kebab/Kebab.d.ts +2 -1
  441. package/components/Kebab/Kebab.md +32 -32
  442. package/components/Link/Link/Link.js +4 -0
  443. package/components/Link/Link/Link.js.map +1 -1
  444. package/components/Link/Link.d.ts +2 -0
  445. package/components/Link/Link.mixins/Link.mixins.js +1 -1
  446. package/components/Link/Link.mixins/Link.mixins.js.map +1 -1
  447. package/components/Link/Link.styles/Link.styles.js +1 -1
  448. package/components/Link/Link.styles/Link.styles.js.map +1 -1
  449. package/components/Loader/Loader/Loader.js +0 -33
  450. package/components/Loader/Loader/Loader.js.map +1 -1
  451. package/components/Loader/Loader.d.ts +6 -36
  452. package/components/MaskedInput/MaskedInput/MaskedInput.js +14 -0
  453. package/components/MaskedInput/MaskedInput/MaskedInput.js.map +1 -1
  454. package/components/MaskedInput/MaskedInput.d.ts +1 -0
  455. package/components/MenuItem/MenuItem/MenuItem.js +1 -12
  456. package/components/MenuItem/MenuItem/MenuItem.js.map +1 -1
  457. package/components/MenuItem/MenuItem.d.ts +2 -12
  458. package/components/MenuItem/MenuItem.md +6 -6
  459. package/components/MiniModal/MiniModal.styles/MiniModal.styles.js +10 -7
  460. package/components/MiniModal/MiniModal.styles/MiniModal.styles.js.map +1 -1
  461. package/components/MiniModal/MiniModal.styles.d.ts +1 -0
  462. package/components/MiniModal/MiniModalBody/MiniModalBody.js +13 -5
  463. package/components/MiniModal/MiniModalBody/MiniModalBody.js.map +1 -1
  464. package/components/Modal/Modal/Modal.js +3 -1
  465. package/components/Modal/Modal/Modal.js.map +1 -1
  466. package/components/Modal/Modal.styles/Modal.styles.js +32 -29
  467. package/components/Modal/Modal.styles/Modal.styles.js.map +1 -1
  468. package/components/Modal/Modal.styles.d.ts +2 -1
  469. package/components/Modal/ModalBody/ModalBody.js.map +1 -1
  470. package/components/Modal/ModalBody.d.ts +2 -0
  471. package/components/Modal/ModalHeader/ModalHeader.js +3 -1
  472. package/components/Modal/ModalHeader/ModalHeader.js.map +1 -1
  473. package/components/Modal/ModalHeader.d.ts +5 -0
  474. package/components/Modal/ModalSeparator/ModalSeparator.js +1 -1
  475. package/components/Modal/ModalSeparator/ModalSeparator.js.map +1 -1
  476. package/components/Paging/DotsIcon/DotsIcon.js +14 -0
  477. package/components/Paging/DotsIcon/DotsIcon.js.map +1 -0
  478. package/components/Paging/DotsIcon/package.json +6 -0
  479. package/components/Paging/DotsIcon.d.ts +3 -0
  480. package/components/Paging/ForwardIcon/ForwardIcon.js +15 -1
  481. package/components/Paging/ForwardIcon/ForwardIcon.js.map +1 -1
  482. package/components/Paging/ForwardIcon.d.ts +3 -0
  483. package/components/Paging/NavigationHelper/NavigationHelper.js +9 -8
  484. package/components/Paging/NavigationHelper/NavigationHelper.js.map +1 -1
  485. package/components/Paging/NavigationHelper.d.ts +3 -2
  486. package/components/Paging/Paging/Paging.js +96 -47
  487. package/components/Paging/Paging/Paging.js.map +1 -1
  488. package/components/Paging/Paging.d.ts +13 -2
  489. package/components/Paging/Paging.styles/Paging.styles.js +77 -16
  490. package/components/Paging/Paging.styles/Paging.styles.js.map +1 -1
  491. package/components/Paging/Paging.styles.d.ts +24 -1
  492. package/components/Paging/PagingHelper/PagingHelper.js +16 -8
  493. package/components/Paging/PagingHelper/PagingHelper.js.map +1 -1
  494. package/components/Paging/PagingHelper.d.ts +1 -1
  495. package/components/PasswordInput/PasswordInput/PasswordInput.js +1 -7
  496. package/components/PasswordInput/PasswordInput/PasswordInput.js.map +1 -1
  497. package/components/PasswordInput/PasswordInput.d.ts +2 -7
  498. package/components/Radio/Radio/Radio.js.map +1 -1
  499. package/components/Radio/Radio.d.ts +2 -0
  500. package/components/RadioGroup/RadioGroup/RadioGroup.js +1 -1
  501. package/components/RadioGroup/RadioGroup/RadioGroup.js.map +1 -1
  502. package/components/RadioGroup/RadioGroup.d.ts +2 -0
  503. package/components/RadioGroup/RadioGroup.styles/RadioGroup.styles.js +1 -1
  504. package/components/RadioGroup/RadioGroup.styles/RadioGroup.styles.js.map +1 -1
  505. package/components/RadioGroup/RadioGroup.styles.d.ts +1 -1
  506. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js +1 -9
  507. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js.map +1 -1
  508. package/components/ScrollContainer/ScrollContainer.d.ts +2 -9
  509. package/components/Select/Select/Select.js +3 -2
  510. package/components/Select/Select/Select.js.map +1 -1
  511. package/components/Select/Select.d.ts +5 -0
  512. package/components/Select/Select.md +3 -3
  513. package/components/SidePage/SidePage/SidePage.js +1 -1
  514. package/components/SidePage/SidePage/SidePage.js.map +1 -1
  515. package/components/SidePage/SidePage.styles/SidePage.styles.js +41 -35
  516. package/components/SidePage/SidePage.styles/SidePage.styles.js.map +1 -1
  517. package/components/SidePage/SidePage.styles.d.ts +3 -1
  518. package/components/SidePage/SidePageBody/SidePageBody.js.map +1 -1
  519. package/components/SidePage/SidePageBody.d.ts +2 -0
  520. package/components/SidePage/SidePageContainer/SidePageContainer.js.map +1 -1
  521. package/components/SidePage/SidePageContainer.d.ts +2 -0
  522. package/components/SidePage/SidePageFooter/SidePageFooter.js.map +1 -1
  523. package/components/SidePage/SidePageFooter.d.ts +2 -0
  524. package/components/SidePage/SidePageHeader/SidePageHeader.js +62 -35
  525. package/components/SidePage/SidePageHeader/SidePageHeader.js.map +1 -1
  526. package/components/SidePage/SidePageHeader.d.ts +12 -2
  527. package/components/SingleToast/SingleToast/SingleToast.js.map +1 -1
  528. package/components/SingleToast/SingleToast.d.ts +3 -3
  529. package/components/Spinner/Spinner/Spinner.js +1 -18
  530. package/components/Spinner/Spinner/Spinner.js.map +1 -1
  531. package/components/Spinner/Spinner.d.ts +2 -18
  532. package/components/Sticky/Sticky/Sticky.js +10 -14
  533. package/components/Sticky/Sticky/Sticky.js.map +1 -1
  534. package/components/Sticky/Sticky.d.ts +5 -13
  535. package/components/Switcher/Switcher/Switcher.js +19 -16
  536. package/components/Switcher/Switcher/Switcher.js.map +1 -1
  537. package/components/Switcher/Switcher.d.ts +6 -21
  538. package/components/Switcher/Switcher.styles/Switcher.styles.js +12 -9
  539. package/components/Switcher/Switcher.styles/Switcher.styles.js.map +1 -1
  540. package/components/Switcher/Switcher.styles.d.ts +1 -0
  541. package/components/Tabs/Indicator/Indicator.js.map +1 -1
  542. package/components/Tabs/Indicator.d.ts +2 -0
  543. package/components/Tabs/Tab/Tab.js.map +1 -1
  544. package/components/Tabs/Tab.d.ts +2 -0
  545. package/components/Tabs/Tabs/Tabs.js.map +1 -1
  546. package/components/Tabs/Tabs.d.ts +2 -0
  547. package/components/Textarea/Textarea/Textarea.js +10 -51
  548. package/components/Textarea/Textarea/Textarea.js.map +1 -1
  549. package/components/Textarea/Textarea.d.ts +2 -44
  550. package/components/Textarea/TextareaCounter/TextareaCounter.js +1 -11
  551. package/components/Textarea/TextareaCounter/TextareaCounter.js.map +1 -1
  552. package/components/Toast/Toast/Toast.js +6 -8
  553. package/components/Toast/Toast/Toast.js.map +1 -1
  554. package/components/Toast/Toast.d.ts +6 -2
  555. package/components/Toast/ToastView/ToastView.js +3 -17
  556. package/components/Toast/ToastView/ToastView.js.map +1 -1
  557. package/components/Toast/ToastView.d.ts +2 -14
  558. package/components/Toggle/Toggle/Toggle.js +7 -14
  559. package/components/Toggle/Toggle/Toggle.js.map +1 -1
  560. package/components/Toggle/Toggle.d.ts +3 -10
  561. package/components/Token/Token/Token.js.map +1 -1
  562. package/components/Token/Token.d.ts +2 -0
  563. package/components/Token/Token.md +0 -83
  564. package/components/TokenInput/TokenInput/TokenInput.js +2 -1
  565. package/components/TokenInput/TokenInput/TokenInput.js.map +1 -1
  566. package/components/TokenInput/TokenInput.d.ts +4 -2
  567. package/components/TokenInput/TokenInput.md +2 -33
  568. package/components/TokenInput/TokenInputMenu/TokenInputMenu.js +16 -6
  569. package/components/TokenInput/TokenInputMenu/TokenInputMenu.js.map +1 -1
  570. package/components/TokenInput/TokenInputMenu.d.ts +12 -3
  571. package/components/Tooltip/Tooltip/Tooltip.js +67 -20
  572. package/components/Tooltip/Tooltip/Tooltip.js.map +1 -1
  573. package/components/Tooltip/Tooltip.d.ts +14 -9
  574. package/components/Tooltip/Tooltip.md +8 -8
  575. package/components/Tooltip/Tooltip.styles/Tooltip.styles.js +22 -4
  576. package/components/Tooltip/Tooltip.styles/Tooltip.styles.js.map +1 -1
  577. package/components/Tooltip/Tooltip.styles.d.ts +7 -1
  578. package/components/TooltipMenu/TooltipMenu/TooltipMenu.js.map +1 -1
  579. package/components/TooltipMenu/TooltipMenu.d.ts +4 -2
  580. package/components/TooltipMenu/TooltipMenu.md +12 -12
  581. package/components/__stories__/iframe.creevey.mts +124 -0
  582. package/components/__stories__/iframeStoriesImplementation/iframeStoriesImplementation.js +90 -0
  583. package/components/__stories__/iframeStoriesImplementation/iframeStoriesImplementation.js.map +1 -0
  584. package/components/__stories__/iframeStoriesImplementation/package.json +6 -0
  585. package/index.d.ts +1 -0
  586. package/index.js +1 -0
  587. package/index.js.map +1 -1
  588. package/internal/CommonWrapper/CommonWrapper/CommonWrapper.js.map +1 -1
  589. package/internal/CommonWrapper/CommonWrapper.d.ts +2 -0
  590. package/internal/ComponentTable/ComponentTable.js +0 -2
  591. package/internal/ComponentTable/ComponentTable.js.map +1 -1
  592. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js +2 -0
  593. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js.map +1 -1
  594. package/internal/CustomComboBox/ComboBoxView.d.ts +2 -0
  595. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js.map +1 -1
  596. package/internal/CustomComboBox/CustomComboBox.d.ts +2 -0
  597. package/internal/DateSelect/DateSelect/DateSelect.js +3 -10
  598. package/internal/DateSelect/DateSelect/DateSelect.js.map +1 -1
  599. package/internal/DateSelect/DateSelect.d.ts +0 -10
  600. package/internal/FocusTrap/FocusTrap/FocusTrap.js.map +1 -1
  601. package/internal/FocusTrap/FocusTrap.d.ts +2 -0
  602. package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll/HideBodyVerticalScroll.js +46 -17
  603. package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll/HideBodyVerticalScroll.js.map +1 -1
  604. package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.d.ts +7 -3
  605. package/internal/IgnoreLayerClick/IgnoreLayerClick/IgnoreLayerClick.js.map +1 -1
  606. package/internal/InputLikeText/InputLikeText/InputLikeText.js.map +1 -1
  607. package/internal/InputLikeText/InputLikeText.d.ts +2 -0
  608. package/internal/Menu/Menu/Menu.js.map +1 -1
  609. package/internal/Menu/Menu.d.ts +2 -0
  610. package/internal/MobilePopup/MobilePopup/MobilePopup.js.map +1 -1
  611. package/internal/MobilePopup/MobilePopup.d.ts +2 -0
  612. package/internal/Popup/Popup/Popup.js +23 -69
  613. package/internal/Popup/Popup/Popup.js.map +1 -1
  614. package/internal/Popup/Popup.d.ts +43 -60
  615. package/internal/Popup/PopupPin/PopupPin.js +1 -34
  616. package/internal/Popup/PopupPin/PopupPin.js.map +1 -1
  617. package/internal/Popup/PopupPin.d.ts +23 -33
  618. package/internal/Popup/PopupPinNew/PopupPinNew.js +146 -0
  619. package/internal/Popup/PopupPinNew/PopupPinNew.js.map +1 -0
  620. package/internal/Popup/PopupPinNew/package.json +6 -0
  621. package/internal/Popup/PopupPinNew.d.ts +31 -0
  622. package/internal/Popup/PopupPinNew.styles/PopupPinNew.styles.js +20 -0
  623. package/internal/Popup/PopupPinNew.styles/PopupPinNew.styles.js.map +1 -0
  624. package/internal/Popup/PopupPinNew.styles/package.json +6 -0
  625. package/internal/Popup/PopupPinNew.styles.d.ts +7 -0
  626. package/internal/PopupMenu/PopupMenu/PopupMenu.js.map +1 -1
  627. package/internal/PopupMenu/PopupMenu.d.ts +2 -0
  628. package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js +0 -8
  629. package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js.map +1 -1
  630. package/internal/RenderContainer/RenderInnerContainer.d.ts +0 -6
  631. package/internal/RenderLayer/RenderLayer/RenderLayer.js +3 -11
  632. package/internal/RenderLayer/RenderLayer/RenderLayer.js.map +1 -1
  633. package/internal/RenderLayer/RenderLayer.d.ts +2 -3
  634. package/internal/ThemePlayground/Playground/Playground.js +17 -16
  635. package/internal/ThemePlayground/Playground/Playground.js.map +1 -1
  636. package/internal/ThemePlayground/Playground.styles/Playground.styles.js +4 -4
  637. package/internal/ThemePlayground/Playground.styles/Playground.styles.js.map +1 -1
  638. package/internal/ThemePlayground/ShowcaseGroup/ShowcaseGroup.js +6 -1
  639. package/internal/ThemePlayground/ShowcaseGroup/ShowcaseGroup.js.map +1 -1
  640. package/internal/ThemePlayground/SizesGroup/SizesGroup.js +4 -4
  641. package/internal/ThemePlayground/SizesGroup/SizesGroup.js.map +1 -1
  642. package/internal/ThemePlayground/ThemeContextPlayground/ThemeContextPlayground.js +2 -2
  643. package/internal/ThemePlayground/ThemeContextPlayground/ThemeContextPlayground.js.map +1 -1
  644. package/internal/ThemePlayground/VariableValue/VariableValue.js +4 -4
  645. package/internal/ThemePlayground/VariableValue/VariableValue.js.map +1 -1
  646. package/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  647. package/internal/ZIndex/ZIndex/ZIndex.js +8 -10
  648. package/internal/ZIndex/ZIndex/ZIndex.js.map +1 -1
  649. package/internal/ZIndex/ZIndex.d.ts +3 -3
  650. package/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular/UiMenuDots3HIcon16Regular.js +21 -0
  651. package/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular/UiMenuDots3HIcon16Regular.js.map +1 -0
  652. package/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular/package.json +6 -0
  653. package/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular.d.ts +2 -0
  654. package/internal/themes/BasicTheme/BasicTheme.js +172 -26
  655. package/internal/themes/BasicTheme/BasicTheme.js.map +1 -1
  656. package/internal/themes/BasicTheme.d.ts +114 -20
  657. package/internal/themes/DarkTheme5_2/DarkTheme5_2.js +3 -3
  658. package/internal/themes/DarkTheme5_2/DarkTheme5_2.js.map +1 -1
  659. package/internal/themes/DarkTheme5_3/DarkTheme5_3.js +16 -0
  660. package/internal/themes/DarkTheme5_3/DarkTheme5_3.js.map +1 -0
  661. package/internal/themes/DarkTheme5_3/package.json +6 -0
  662. package/internal/themes/DarkTheme5_3.d.ts +1 -0
  663. package/internal/themes/LightTheme5_3/LightTheme5_3.js +16 -0
  664. package/internal/themes/LightTheme5_3/LightTheme5_3.js.map +1 -0
  665. package/internal/themes/LightTheme5_3/package.json +6 -0
  666. package/internal/themes/LightTheme5_3.d.ts +1 -0
  667. package/lib/date/InternalDateGetter/InternalDateGetter.js +4 -1
  668. package/lib/date/InternalDateGetter/InternalDateGetter.js.map +1 -1
  669. package/lib/date/InternalDateGetter.d.ts +1 -1
  670. package/lib/delay.d.mts +1 -0
  671. package/lib/delay.mts +3 -0
  672. package/lib/events/keyListener/keyListener.js +17 -1
  673. package/lib/events/keyListener/keyListener.js.map +1 -1
  674. package/lib/events/keyListener.d.ts +7 -0
  675. package/lib/featureFlagsContext/FeatureFlagsHelpers.d.ts +9 -2
  676. package/lib/featureFlagsContext/ReactUIFeatureFlagsContext/ReactUIFeatureFlagsContext.js +9 -2
  677. package/lib/featureFlagsContext/ReactUIFeatureFlagsContext/ReactUIFeatureFlagsContext.js.map +1 -1
  678. package/lib/featureFlagsContext/ReactUIFeatureFlagsContext.d.ts +9 -2
  679. package/lib/forwardRefAndName/forwardRefAndName.js.map +1 -1
  680. package/lib/forwardRefAndName.d.ts +1 -1
  681. package/lib/getMenuPositions/getMenuPositions.js +33 -4
  682. package/lib/getMenuPositions/getMenuPositions.js.map +1 -1
  683. package/lib/getMenuPositions.d.ts +21 -1
  684. package/lib/globalObject/globalObject.js +20 -0
  685. package/lib/globalObject/globalObject.js.map +1 -0
  686. package/lib/globalObject/package.json +6 -0
  687. package/lib/globalObject.d.ts +18 -0
  688. package/lib/rootNode/rootNodeDecorator/rootNodeDecorator.js.map +1 -1
  689. package/lib/rootNode/rootNodeDecorator.d.ts +2 -1
  690. package/lib/theming/ThemeVersions/ThemeVersions.js.map +1 -1
  691. package/lib/theming/ThemeVersions.d.ts +1 -1
  692. package/lib/theming/themes/DarkTheme/DarkTheme.js +3 -1
  693. package/lib/theming/themes/DarkTheme/DarkTheme.js.map +1 -1
  694. package/lib/theming/themes/DarkTheme.d.ts +1 -0
  695. package/lib/theming/themes/LightTheme/LightTheme.js +3 -1
  696. package/lib/theming/themes/LightTheme/LightTheme.js.map +1 -1
  697. package/lib/theming/themes/LightTheme.d.ts +1 -0
  698. package/lib/utils/utils.js +2 -0
  699. package/lib/utils/utils.js.map +1 -1
  700. package/lib/utils.d.ts +4 -0
  701. package/package.json +16 -18
  702. package/cjs/lib/SSRSafe.d.ts +0 -2
  703. package/cjs/lib/SSRSafe.js +0 -5
  704. package/cjs/lib/SSRSafe.js.map +0 -1
  705. package/lib/SSRSafe/SSRSafe.js +0 -4
  706. package/lib/SSRSafe/SSRSafe.js.map +0 -1
  707. package/lib/SSRSafe/package.json +0 -6
  708. package/lib/SSRSafe.d.ts +0 -2
@@ -1,6 +1,5 @@
1
1
  "use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;exports.__esModule = true;exports.PopupPositions = exports.PopupPinnablePositions = exports.PopupNonPinnablePositions = exports.PopupIds = exports.PopupDataTids = exports.Popup = exports.DefaultPosition = exports.DUMMY_LOCATION = void 0;var _createForOfIteratorHelperLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/createForOfIteratorHelperLoose"));var _extends3 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));
2
2
  var _react = _interopRequireDefault(require("react"));
3
- var _propTypes = _interopRequireDefault(require("prop-types"));
4
3
  var _reactTransitionGroup = require("react-transition-group");
5
4
  var _warning = _interopRequireDefault(require("warning"));
6
5
  var _globalObject = require("@skbkontur/global-object");
@@ -16,7 +15,6 @@ var _utils = require("../../lib/utils");
16
15
  var _client = require("../../lib/client");
17
16
  var _ThemeContext = require("../../lib/theming/ThemeContext");
18
17
 
19
- var _SSRSafe = require("../../lib/SSRSafe");
20
18
  var _currentEnvironment = require("../../lib/currentEnvironment");
21
19
 
22
20
  var _CommonWrapper = require("../CommonWrapper");
@@ -33,10 +31,11 @@ var _featureFlagsContext = require("../../lib/featureFlagsContext");
33
31
  var _mergeRefs = require("../../lib/mergeRefs");
34
32
  var _getVisualStateDataAttributes = require("../CommonWrapper/utils/getVisualStateDataAttributes");
35
33
 
36
- var _PopupPin = require("./PopupPin");
34
+ var _PopupPinNew = require("./PopupPinNew");
37
35
 
38
36
  var _PopupHelper = require("./PopupHelper");
39
- var _Popup2 = require("./Popup.styles");var _class, _Popup;
37
+ var _Popup2 = require("./Popup.styles");
38
+ var _PopupPin = require("./PopupPin");var _class, _Popup;
40
39
 
41
40
  var POPUP_BORDER_DEFAULT_COLOR = 'transparent';
42
41
  var TRANSITION_TIMEOUT = { enter: 0, exit: 200 };
@@ -71,7 +70,8 @@ var DUMMY_LOCATION = exports.DUMMY_LOCATION = {
71
70
  coordinates: {
72
71
  top: -9999,
73
72
  left: -9999
74
- }
73
+ },
74
+ isFullyVisible: false
75
75
  };
76
76
 
77
77
 
@@ -143,48 +143,6 @@ var DUMMY_LOCATION = exports.DUMMY_LOCATION = {
143
143
 
144
144
 
145
145
 
146
- var PopupDataTids = exports.PopupDataTids = {
147
- root: 'Popup__root',
148
- content: 'PopupContent',
149
- contentInner: 'PopupContentInner',
150
- popupPin: 'PopupPin__root'
151
- };
152
-
153
- var PopupIds = exports.PopupIds = {
154
- root: PopupDataTids.root
155
- };var
156
-
157
-
158
-
159
-
160
-
161
-
162
-
163
-
164
-
165
-
166
-
167
-
168
-
169
-
170
-
171
-
172
-
173
-
174
- Popup = exports.Popup = (0, _decorator.responsiveLayout)(_class = (0, _rootNode.rootNode)(_class = (_Popup = /*#__PURE__*/function (_React$Component) {function Popup() {var _this;for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {args[_key] = arguments[_key];}_this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;_this.
175
-
176
-
177
-
178
-
179
-
180
-
181
-
182
-
183
-
184
-
185
-
186
-
187
-
188
146
 
189
147
 
190
148
 
@@ -225,7 +183,16 @@ Popup = exports.Popup = (0, _decorator.responsiveLayout)(_class = (0, _rootNode.
225
183
 
226
184
 
227
185
 
186
+ var PopupDataTids = exports.PopupDataTids = {
187
+ root: 'Popup__root',
188
+ content: 'PopupContent',
189
+ contentInner: 'PopupContentInner',
190
+ popupPin: 'PopupPin__root'
191
+ };
228
192
 
193
+ var PopupIds = exports.PopupIds = {
194
+ root: PopupDataTids.root
195
+ };var
229
196
 
230
197
 
231
198
 
@@ -244,6 +211,7 @@ Popup = exports.Popup = (0, _decorator.responsiveLayout)(_class = (0, _rootNode.
244
211
 
245
212
 
246
213
 
214
+ Popup = exports.Popup = (0, _decorator.responsiveLayout)(_class = (0, _rootNode.rootNode)(_class = (_Popup = /*#__PURE__*/function (_React$Component) {function Popup() {var _this;for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {args[_key] = arguments[_key];}_this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;_this.
247
215
 
248
216
 
249
217
 
@@ -272,6 +240,7 @@ Popup = exports.Popup = (0, _decorator.responsiveLayout)(_class = (0, _rootNode.
272
240
 
273
241
 
274
242
 
243
+
275
244
  refForTransition = /*#__PURE__*/_react.default.createRef();_this.
276
245
  hasAnchorElementListeners = false;_this.
277
246
  rootId = PopupIds.root + (0, _utils.getRandomID)();_this.
@@ -629,6 +598,15 @@ Popup = exports.Popup = (0, _decorator.responsiveLayout)(_class = (0, _rootNode.
629
598
 
630
599
 
631
600
 
601
+
602
+
603
+
604
+
605
+
606
+
607
+
608
+
609
+
632
610
 
633
611
 
634
612
 
@@ -667,7 +645,7 @@ Popup = exports.Popup = (0, _decorator.responsiveLayout)(_class = (0, _rootNode.
667
645
 
668
646
  var location = _this.getLocation(popupContentElement, _this.state.location);
669
647
  if (location) {
670
- _this.props.onPositionChange == null || _this.props.onPositionChange(location == null ? void 0 : location.position);
648
+ _this.props.onPositionChange == null || _this.props.onPositionChange(location.position, location.isFullyVisible);
671
649
  }
672
650
 
673
651
  if (!_this.locationEquals(_this.state.location, location)) {
@@ -784,6 +762,7 @@ Popup = exports.Popup = (0, _decorator.responsiveLayout)(_class = (0, _rootNode.
784
762
 
785
763
 
786
764
 
765
+
787
766
 
788
767
 
789
768
  getRelativeShift = function () {
@@ -815,14 +794,14 @@ Popup = exports.Popup = (0, _decorator.responsiveLayout)(_class = (0, _rootNode.
815
794
  element.addEventListener('click', this.handleClick);element.addEventListener('focusin', this.handleFocus);element.addEventListener('focusout', this.handleBlur);this.hasAnchorElementListeners = true;}};_proto.removeEventListeners = function removeEventListeners(element) {if (element && (0, _isInstanceOf.isInstanceOf)(element, _globalObject.globalObject.Element)) {// @ts-expect-error: Type ElementEventMap is missing events: https://github.com/skbkontur/retail-ui/pull/2946#discussion_r931072657
816
795
  element.removeEventListener('mouseenter', this.handleMouseEnter); // @ts-expect-error: See the comment above
817
796
  element.removeEventListener('mouseleave', this.handleMouseLeave); // @ts-expect-error: See the comment above
818
- element.removeEventListener('click', this.handleClick);element.removeEventListener('focusin', this.handleFocus);element.removeEventListener('focusout', this.handleBlur);this.hasAnchorElementListeners = false;}};_proto.renderContent = function renderContent(location) {var _this4 = this;var _this$props = this.props,maxWidth = _this$props.maxWidth,opened = _this$props.opened;var _this$getProps2 = this.getProps(),hasShadow = _this$getProps2.hasShadow,disableAnimations = _this$getProps2.disableAnimations,ignoreHover = _this$getProps2.ignoreHover;var children = this.renderChildren();var relativeShift = this.getRelativeShift();var _PopupHelper$getPosit = _PopupHelper.PopupHelper.getPositionObject(location.position),direction = _PopupHelper$getPosit.direction;var rootStyle = { maxWidth: maxWidth, top: location.coordinates.top + relativeShift.top, left: location.coordinates.left + relativeShift.left };return /*#__PURE__*/_react.default.createElement(_reactTransitionGroup.Transition, { timeout: TRANSITION_TIMEOUT, appear: !disableAnimations, in: Boolean(opened && children), mountOnEnter: true, unmountOnExit: true, enter: !disableAnimations, exit: !disableAnimations, onExited: this.resetLocation, nodeRef: this.refForTransition }, function (state) {var _this4$props$id, _extends2, _ref;return /*#__PURE__*/_react.default.createElement(_CommonWrapper.CommonWrapper, (0, _extends3.default)({}, _this4.props, { rootNodeRef: _this4.setRootNode }, _this4.prepareDataVisualState()), /*#__PURE__*/_react.default.createElement(_ZIndex.ZIndex, { id: (_this4$props$id = _this4.props.id) != null ? _this4$props$id : _this4.rootId, "data-tid": PopupDataTids.root, priority: _this4.props.priority, className: (0, _Emotion.cx)((0, _extends3.default)((_extends2 = {}, _extends2[_Popup2.styles.popup(_this4.theme)] = true, _extends2[_Popup2.styles.shadow(_this4.theme)] = hasShadow, _extends2[_Popup2.styles.popupIgnoreHover()] = ignoreHover, _extends2), disableAnimations ? {} : (_ref = {}, _ref[_Popup2.styles["transition-enter-" + direction](_this4.theme)] = true, _ref[_Popup2.styles.transitionEnter()] = state === 'entering', _ref[_Popup2.styles.transitionEnterActive()] = state === 'entered', _ref[_Popup2.styles.transitionExit()] = state === 'exiting', _ref))), style: rootStyle, onMouseEnter: _this4.handleMouseEnter, onMouseLeave: _this4.handleMouseLeave }, _this4.content(children), (!_this4.isMobileLayout || _this4.props.withoutMobile) && _this4.renderPin(location.position)));});};_proto.renderChildren = function renderChildren() {return (0, _utils.isFunction)(this.props.children) ? this.props.children() : this.props.children;};_proto.renderPin = function renderPin(positionName) {var isDefaultBorderColor = this.theme.popupBorderColor === POPUP_BORDER_DEFAULT_COLOR;var pinBorder = _client.isIE11 && isDefaultBorderColor ? 'rgba(0, 0, 0, 0.09)' : this.theme.popupBorderColor;var _this$props2 = this.props,pinSize = _this$props2.pinSize,backgroundColor = _this$props2.backgroundColor,borderColor = _this$props2.borderColor;var _this$getProps3 = this.getProps(),hasShadow = _this$getProps3.hasShadow,hasPin = _this$getProps3.hasPin;var position = _PopupHelper.PopupHelper.getPositionObject(positionName);return hasPin && !PopupNonPinnablePositions.includes(positionName) && /*#__PURE__*/_react.default.createElement(_PopupPin.PopupPin, { popupElement: this.lastPopupContentElement, popupPosition: positionName, size: pinSize || parseInt(this.theme.popupPinSize), offset: this.getPinOffset(position.align), borderWidth: hasShadow ? 1 : 0, backgroundColor: backgroundColor || this.theme.popupBackground, borderColor: borderColor || pinBorder });};_proto.delayUpdateLocation = function delayUpdateLocation() {this.cancelDelayedUpdateLocation();this.locationUpdateId = _globalObject.globalObject.requestAnimationFrame == null ? void 0 : _globalObject.globalObject.requestAnimationFrame(this.updateLocation);};_proto.cancelDelayedUpdateLocation = function cancelDelayedUpdateLocation() {if (this.locationUpdateId) {_globalObject.globalObject.cancelAnimationFrame == null || _globalObject.globalObject.cancelAnimationFrame(this.locationUpdateId);this.locationUpdateId = null;}};_proto.locationEquals = function locationEquals(x, y) {if (x === y) {return true;}if ((0, _utils.isNullable)(x) || (0, _utils.isNullable)(y)) {return false;}if (!_client.isIE11 && !_client.isEdge) {return x.coordinates.left === y.coordinates.left && x.coordinates.top === y.coordinates.top && x.position === y.position;} // Для ie/edge обновляем позицию только при разнице минимум в 1. Иначе есть вероятность
797
+ element.removeEventListener('click', this.handleClick);element.removeEventListener('focusin', this.handleFocus);element.removeEventListener('focusout', this.handleBlur);this.hasAnchorElementListeners = false;}};_proto.renderContent = function renderContent(location) {var _this4 = this;var _this$props = this.props,maxWidth = _this$props.maxWidth,opened = _this$props.opened;var _this$getProps2 = this.getProps(),hasShadow = _this$getProps2.hasShadow,disableAnimations = _this$getProps2.disableAnimations,ignoreHover = _this$getProps2.ignoreHover;var children = this.renderChildren();var relativeShift = this.getRelativeShift();var _PopupHelper$getPosit = _PopupHelper.PopupHelper.getPositionObject(location.position),direction = _PopupHelper$getPosit.direction;var rootStyle = { maxWidth: maxWidth, top: location.coordinates.top + relativeShift.top, left: location.coordinates.left + relativeShift.left };return /*#__PURE__*/_react.default.createElement(_reactTransitionGroup.Transition, { timeout: TRANSITION_TIMEOUT, appear: !disableAnimations, in: Boolean(opened && children), mountOnEnter: true, unmountOnExit: true, enter: !disableAnimations, exit: !disableAnimations, onExited: this.resetLocation, nodeRef: this.refForTransition }, function (state) {var _this4$props$id, _extends2, _ref;return /*#__PURE__*/_react.default.createElement(_CommonWrapper.CommonWrapper, (0, _extends3.default)({}, _this4.props, { rootNodeRef: _this4.setRootNode }, _this4.prepareDataVisualState()), /*#__PURE__*/_react.default.createElement(_ZIndex.ZIndex, { id: (_this4$props$id = _this4.props.id) != null ? _this4$props$id : _this4.rootId, "data-tid": PopupDataTids.root, priority: _this4.props.priority, className: (0, _Emotion.cx)((0, _extends3.default)((_extends2 = {}, _extends2[_Popup2.styles.popup(_this4.theme)] = true, _extends2[_Popup2.styles.shadow(_this4.theme)] = hasShadow, _extends2[_Popup2.styles.popupIgnoreHover()] = ignoreHover, _extends2), disableAnimations ? {} : (_ref = {}, _ref[_Popup2.styles["transition-enter-" + direction](_this4.theme)] = true, _ref[_Popup2.styles.transitionEnter()] = state === 'entering', _ref[_Popup2.styles.transitionEnterActive()] = state === 'entered', _ref[_Popup2.styles.transitionExit()] = state === 'exiting', _ref))), style: rootStyle, onMouseEnter: _this4.handleMouseEnter, onMouseLeave: _this4.handleMouseLeave }, _this4.content(children), (!_this4.isMobileLayout || _this4.props.withoutMobile) && _this4.renderPin(location.position)));});};_proto.renderChildren = function renderChildren() {return (0, _utils.isFunction)(this.props.children) ? this.props.children() : this.props.children;};_proto.renderPin = function renderPin(positionName) {var isDefaultBorderColor = this.theme.popupBorderColor === POPUP_BORDER_DEFAULT_COLOR;var pinBorder = _client.isIE11 && isDefaultBorderColor ? 'rgba(0, 0, 0, 0.09)' : this.theme.popupBorderColor;var _this$props2 = this.props,pinSize = _this$props2.pinSize,backgroundColor = _this$props2.backgroundColor,borderColor = _this$props2.borderColor;var _this$getProps3 = this.getProps(),hasShadow = _this$getProps3.hasShadow,hasPin = _this$getProps3.hasPin;var position = _PopupHelper.PopupHelper.getPositionObject(positionName);return hasPin && !PopupNonPinnablePositions.includes(positionName) && (this.featureFlags.popupFixPinTearing ? /*#__PURE__*/_react.default.createElement(_PopupPinNew.PopupPinNew, { popupElement: this.lastPopupContentElement, popupPosition: positionName, size: pinSize || parseInt(this.theme.popupPinSize), offset: this.getPinOffset(position.align), backgroundColor: backgroundColor || this.theme.popupBackground }) : /*#__PURE__*/_react.default.createElement(_PopupPin.PopupPin, { popupElement: this.lastPopupContentElement, popupPosition: positionName, size: pinSize || parseInt(this.theme.popupPinSize), offset: this.getPinOffset(position.align), borderWidth: hasShadow ? 1 : 0, backgroundColor: backgroundColor || this.theme.popupBackground, borderColor: borderColor || pinBorder }));};_proto.delayUpdateLocation = function delayUpdateLocation() {this.cancelDelayedUpdateLocation();this.locationUpdateId = _globalObject.globalObject.requestAnimationFrame == null ? void 0 : _globalObject.globalObject.requestAnimationFrame(this.updateLocation);};_proto.cancelDelayedUpdateLocation = function cancelDelayedUpdateLocation() {if (this.locationUpdateId) {_globalObject.globalObject.cancelAnimationFrame == null || _globalObject.globalObject.cancelAnimationFrame(this.locationUpdateId);this.locationUpdateId = null;}};_proto.locationEquals = function locationEquals(x, y) {if (x === y) {return true;}if ((0, _utils.isNullable)(x) || (0, _utils.isNullable)(y)) {return false;}if (!_client.isIE11 && !_client.isEdge) {return x.coordinates.left === y.coordinates.left && x.coordinates.top === y.coordinates.top && x.position === y.position;} // Для ie/edge обновляем позицию только при разнице минимум в 1. Иначе есть вероятность
819
798
  // уйти в бесконечный ререндер
820
799
  return x.position === y.position && Math.abs(x.coordinates.top - y.coordinates.top) <= 1 && Math.abs(x.coordinates.left - y.coordinates.left) <= 1;};_proto.reorderPropsPositionsWithPriorityPos = function reorderPropsPositionsWithPriorityPos() {var positions = this.props.positions ? this.props.positions : PopupPinnablePositions;var pos_ = '';if (this.props.pos) {pos_ = this.props.pos;} else {pos_ = positions[0];}var index = positions.findIndex(function (position) {return position.startsWith(pos_);});if (index === -1) {(0, _warning.default)(false, 'Unexpected position ' + pos_ + ' passed to Popup. Expected one of: ' + positions.join(', '));return positions;}return [].concat(positions.slice(index), positions.slice(0, index));};_proto.getLocation = function getLocation(popupElement, location) {var _this$getProps4 = this.getProps(),tryPreserveFirstRenderedPosition = _this$getProps4.tryPreserveFirstRenderedPosition;var positions = this.reorderPropsPositionsWithPriorityPos();var anchorElement = this.anchorElement;(0, _warning.default)(anchorElement && (0, _isInstanceOf.isInstanceOf)(anchorElement, _globalObject.globalObject.Element), 'Anchor element is not defined or not instance of Element');if (!(anchorElement && (0, _isInstanceOf.isInstanceOf)(anchorElement, _globalObject.globalObject.Element))) {return location;}var anchorRect = _PopupHelper.PopupHelper.getElementAbsoluteRect(anchorElement);var popupRect = _PopupHelper.PopupHelper.getElementAbsoluteRect(popupElement);var position;var coordinates;if (location && location !== DUMMY_LOCATION && location.position) {position = location.position;coordinates = this.getCoordinates(anchorRect, popupRect, position);var isFullyVisible = _PopupHelper.PopupHelper.isFullyVisible(coordinates, popupRect);var canBecomeVisible = !isFullyVisible && _PopupHelper.PopupHelper.canBecomeFullyVisible(position, coordinates);if ( // если нужно сохранить первоначальную позицию и Попап целиком
821
800
  // находится в пределах вьюпорта (или может быть проскроллен в него)
822
801
  tryPreserveFirstRenderedPosition && (isFullyVisible || canBecomeVisible) || // если Попап целиком во вьюпорте и в самой приоритетной позиции
823
802
  // (иначе нужно попытаться позицию сменить)
824
803
  isFullyVisible && position === positions[0]) {// сохраняем текущую позицию
825
- return { coordinates: coordinates, position: position };}}for (var _iterator = (0, _createForOfIteratorHelperLoose2.default)(positions), _step; !(_step = _iterator()).done;) {position = _step.value;coordinates = this.getCoordinates(anchorRect, popupRect, position);if (_PopupHelper.PopupHelper.isFullyVisible(coordinates, popupRect)) {return { coordinates: coordinates, position: position };}}position = positions[0];coordinates = this.getCoordinates(anchorRect, popupRect, position);return { coordinates: coordinates, position: position };};_proto.getPinnedPopupOffset = function getPinnedPopupOffset(anchorRect, position) {if (!this.getProps().hasPin || /center|middle/.test(position.align)) {return 0;}var anchorSize = /top|bottom/.test(position.direction) ? anchorRect.width : anchorRect.height;var pinSize = this.props.pinSize;return Math.max(0, this.getPinOffset(position.align) + (pinSize || parseInt(this.theme.popupPinSize)) - anchorSize / 2);};_proto.getCoordinates = function getCoordinates(anchorRect, popupRect, positionName) {var marginFromProps = this.props.margin;var margin = (0, _utils.isNonNullable)(marginFromProps) && !isNaN(marginFromProps) ? marginFromProps : parseInt(this.theme.popupMargin) || 0;var position = _PopupHelper.PopupHelper.getPositionObject(positionName);var popupOffset = this.getProps().popupOffset + this.getPinnedPopupOffset(anchorRect, position);switch (position.direction) {case 'top':return { top: anchorRect.top - popupRect.height - margin, left: this.getHorizontalPosition(anchorRect, popupRect, position.align, popupOffset) };case 'middle':return { top: anchorRect.top + anchorRect.height / 2 - popupRect.height / 2, left: this.getHorizontalPosition(anchorRect, popupRect, position.align, popupOffset)
804
+ return { coordinates: coordinates, position: position, isFullyVisible: true };}}for (var _iterator = (0, _createForOfIteratorHelperLoose2.default)(positions), _step; !(_step = _iterator()).done;) {position = _step.value;coordinates = this.getCoordinates(anchorRect, popupRect, position);if (_PopupHelper.PopupHelper.isFullyVisible(coordinates, popupRect)) {return { coordinates: coordinates, position: position, isFullyVisible: true };}}position = positions[0];coordinates = this.getCoordinates(anchorRect, popupRect, position);return { coordinates: coordinates, position: position, isFullyVisible: false };};_proto.getPinnedPopupOffset = function getPinnedPopupOffset(anchorRect, position) {if (!this.getProps().hasPin || /center|middle/.test(position.align)) {return 0;}var anchorSize = /top|bottom/.test(position.direction) ? anchorRect.width : anchorRect.height;var pinSize = this.props.pinSize;return Math.max(0, this.getPinOffset(position.align) + (pinSize || parseInt(this.theme.popupPinSize)) - anchorSize / 2);};_proto.getCoordinates = function getCoordinates(anchorRect, popupRect, positionName) {var marginFromProps = this.props.margin;var margin = (0, _utils.isNonNullable)(marginFromProps) && !isNaN(marginFromProps) ? marginFromProps : parseInt(this.theme.popupMargin) || 0;var position = _PopupHelper.PopupHelper.getPositionObject(positionName);var popupOffset = this.getProps().popupOffset + this.getPinnedPopupOffset(anchorRect, position);switch (position.direction) {case 'top':return { top: anchorRect.top - popupRect.height - margin, left: this.getHorizontalPosition(anchorRect, popupRect, position.align, popupOffset) };case 'middle':return { top: anchorRect.top + anchorRect.height / 2 - popupRect.height / 2, left: this.getHorizontalPosition(anchorRect, popupRect, position.align, popupOffset)
826
805
  };
827
806
  case 'bottom':
828
807
  return {
@@ -886,34 +865,15 @@ Popup = exports.Popup = (0, _decorator.responsiveLayout)(_class = (0, _rootNode.
886
865
  default:
887
866
  throw new Error("Unexpected align '" + align + "'");
888
867
  }
889
- };return Popup;}(_react.default.Component), _Popup.__KONTUR_REACT_UI__ = 'Popup', _Popup.displayName = 'Popup', _Popup.propTypes = { /**
890
- * Ссылка (ref) на элемент или React компонент, для которого рисуется попап
891
- */anchorElement: _propTypes.default.oneOfType([(0, _SSRSafe.safePropTypesInstanceOf)(_globalObject.globalObject.HTMLElement), _propTypes.default.node]).isRequired, /**
892
- * Фон попапа и пина
893
- */backgroundColor: _propTypes.default.string, children: _propTypes.default.oneOfType([_propTypes.default.node, _propTypes.default.func]), /**
894
- * Показывать ли пин
895
- */hasPin: _propTypes.default.bool, /**
896
- * Применять ли box-shadow на попапе. При false отключает границу на пине
897
- */hasShadow: _propTypes.default.bool, /**
898
- * Отступ попапа от элемента
899
- */margin: _propTypes.default.number, /**
900
- * Показан или скрыт попап
901
- */opened: _propTypes.default.bool, /**
902
- * Смещение пина от края попапа. Край задаётся в пропе position вторым словом
903
- */pinOffset: _propTypes.default.number, /**
904
- * Сторона пина без учёта границы.
905
- * Пин представляет собой равносторонний треугольник, высота от попапа
906
- * до "носика" пина будет соответствовать формуле (size* √3)/2
907
- */pinSize: _propTypes.default.number, /**
908
- * смещение попапа относительно родительского элемента
909
- */popupOffset: _propTypes.default.number, /**
910
- * С какой стороны показывать попап и край попапа,
911
- * на котором будет отображаться пин
912
- */positions: _propTypes.default.array, /**
913
- * Приоритетная позиция попапа
914
- */pos: _propTypes.default.string, /**
915
- * Отключает использование портала
916
- */disablePortal: _propTypes.default.bool, /**
917
- * Игнорировать ли события hover/click
918
- */ignoreHover: _propTypes.default.bool }, _Popup.defaultProps = { popupOffset: 0, hasPin: false, hasShadow: false, disableAnimations: _currentEnvironment.isTestEnv, useWrapper: false, ignoreHover: false, disablePortal: false, width: 'auto', priority: _ZIndex.ZIndex.priorities.Popup }, _Popup.defaultRootNode = null, _Popup)) || _class) || _class; // Нужно, чтобы получать по рефу dom-элемент, в который зарендерится anchor
919
- var EmptyWrapper = /*#__PURE__*/function (_React$Component2) {function EmptyWrapper() {return _React$Component2.apply(this, arguments) || this;}(0, _inheritsLoose2.default)(EmptyWrapper, _React$Component2);var _proto2 = EmptyWrapper.prototype;_proto2.render = function render() {return this.props.children;};return EmptyWrapper;}(_react.default.Component);
868
+ };return Popup;}(_react.default.Component), _Popup.__KONTUR_REACT_UI__ = 'Popup', _Popup.displayName = 'Popup', _Popup.defaultProps = { popupOffset: 0, hasPin: false, hasShadow: false, disableAnimations: _currentEnvironment.isTestEnv, useWrapper: false, ignoreHover: false, disablePortal: false, width: 'auto', priority: _ZIndex.ZIndex.priorities.Popup }, _Popup.defaultRootNode = null, _Popup)) || _class) || _class;
869
+
870
+
871
+ // Нужно, чтобы получать по рефу dom-элемент, в который зарендерится anchor
872
+ var
873
+
874
+
875
+
876
+ EmptyWrapper = /*#__PURE__*/function (_React$Component2) {function EmptyWrapper() {return _React$Component2.apply(this, arguments) || this;}(0, _inheritsLoose2.default)(EmptyWrapper, _React$Component2);var _proto2 = EmptyWrapper.prototype;_proto2.
877
+ render = function render() {
878
+ return this.props.children;
879
+ };return EmptyWrapper;}(_react.default.Component);
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_propTypes","_reactTransitionGroup","_warning","_globalObject","_getDOMRect","LayoutEvents","_interopRequireWildcard","_ZIndex","_RenderContainer","_utils","_client","_ThemeContext","_SSRSafe","_currentEnvironment","_CommonWrapper","_Emotion","_decorator","_MobilePopup","_rootNode","_InstanceWithAnchorElement","_createPropsGetter","_isInstanceOf","_featureFlagsContext","_mergeRefs","_getVisualStateDataAttributes","_PopupPin","_PopupHelper","_Popup2","_class","_Popup","POPUP_BORDER_DEFAULT_COLOR","TRANSITION_TIMEOUT","enter","exit","PopupNonPinnablePositions","exports","PopupPinnablePositions","PopupPositions","concat","DefaultPosition","DUMMY_LOCATION","position","coordinates","top","left","PopupDataTids","root","content","contentInner","popupPin","PopupIds","Popup","responsiveLayout","rootNode","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","getProps","createPropsGetter","defaultProps","state","location","props","opened","locationUpdateId","refForTransition","React","createRef","hasAnchorElementListeners","rootId","getRandomID","anchorElement","absoluteParent","renderInPortal","anchor","ref","default","createElement","RenderContainer","isMobileLayout","withoutMobile","renderMobile","renderContent","renderWithoutPortal","EmptyWrapper","updateAbsoluteElement","className","styles","updateAnchorElement","instance","childDomNode","isInstanceWithAnchorElement","getAnchorElement","getRootNode","removeEventListeners","addEventListeners","handleMouseEnter","event","onMouseEnter","handleMouseLeave","onMouseLeave","handleClick","onClick","handleFocus","onFocus","handleBlur","onBlur","calculateWidth","width","includes","anchorWidth","getDOMRect","replace","percent","parseFloat","children","backgroundColor","_this$getProps","minWidth","theme","mergeRefs","refPopupContentElement","style","prepareDataVisualState","_this$state$location","_getVisualStateDataAt","attrName","getVisualStateDataAttributes","resetLocation","cancelDelayedUpdateLocation","setState","element","lastPopupContentElement","handleLayoutEvent","updateLocation","popupContentElement","getLocation","onPositionChange","locationEquals","getRelativeShift","_this2","disablePortal","rect","PopupHelper","getElementAbsoluteRect","_inheritsLoose2","_proto","prototype","componentDidMount","layoutEventsToken","addListener","getDerivedStateFromProps","componentDidUpdate","prevProps","prevState","hadNoLocation","hasLocation","wasClosed","onOpen","onClose","delayUpdateLocation","componentWillUnmount","remove","render","_this3","ReactUIFeatureFlagsContext","Consumer","flags","featureFlags","getFullReactUIFlagsContext","ThemeContext","renderMain","renderChildren","CommonWrapper","rootNodeRef","setRootNode","MobilePopup","withoutRenderContainer","onCloseRequest","mobileOnCloseRequest","_anchor","useWrapper","isInstanceOf","globalObject","Element","isValidElement","anchorWithRef","isRefableElement","cloneElement","canGetAnchorNode","renderRef","renderAnchor","addEventListener","removeEventListener","_this4","_this$props","maxWidth","_this$getProps2","hasShadow","disableAnimations","ignoreHover","relativeShift","_PopupHelper$getPosit","getPositionObject","direction","rootStyle","Transition","timeout","appear","in","Boolean","mountOnEnter","unmountOnExit","onExited","nodeRef","_this4$props$id","_extends2","_ref","_extends3","ZIndex","id","priority","cx","popup","shadow","popupIgnoreHover","transitionEnter","transitionEnterActive","transitionExit","renderPin","isFunction","positionName","isDefaultBorderColor","popupBorderColor","pinBorder","isIE11","_this$props2","pinSize","borderColor","_this$getProps3","hasPin","PopupPin","popupElement","popupPosition","size","parseInt","popupPinSize","offset","getPinOffset","align","borderWidth","popupBackground","requestAnimationFrame","cancelAnimationFrame","x","y","isNullable","isEdge","Math","abs","reorderPropsPositionsWithPriorityPos","positions","pos_","pos","index","findIndex","startsWith","warning","join","slice","_this$getProps4","tryPreserveFirstRenderedPosition","anchorRect","popupRect","getCoordinates","isFullyVisible","canBecomeVisible","canBecomeFullyVisible","_iterator","_createForOfIteratorHelperLoose2","_step","done","value","getPinnedPopupOffset","test","anchorSize","height","max","marginFromProps","margin","isNonNullable","isNaN","popupMargin","popupOffset","getHorizontalPosition","getVerticalPosition","Error","pinOffset","popupPinOffsetY","popupPinOffsetX","Component","__KONTUR_REACT_UI__","displayName","propTypes","PropTypes","oneOfType","safePropTypesInstanceOf","HTMLElement","node","isRequired","string","func","bool","number","array","isTestEnv","priorities","defaultRootNode","_React$Component2","_proto2"],"sources":["Popup.tsx"],"sourcesContent":["import type { HTMLAttributes, LegacyRef } from 'react';\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { Transition } from 'react-transition-group';\nimport warning from 'warning';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport { getDOMRect } from '../../lib/dom/getDOMRect';\nimport type { Nullable } from '../../typings/utility-types';\nimport * as LayoutEvents from '../../lib/LayoutEvents';\nimport type { Priority } from '../ZIndex';\nimport { ZIndex } from '../ZIndex';\nimport { RenderContainer } from '../RenderContainer';\nimport type { FocusEventType, MouseEventType } from '../../typings/event-types';\nimport { getRandomID, isFunction, isNonNullable, isNullable, isRefableElement } from '../../lib/utils';\nimport { isIE11, isEdge } from '../../lib/client';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport type { Theme } from '../../lib/theming/Theme';\nimport { safePropTypesInstanceOf } from '../../lib/SSRSafe';\nimport { isTestEnv } from '../../lib/currentEnvironment';\nimport type { CommonProps } from '../CommonWrapper';\nimport { CommonWrapper } from '../CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { responsiveLayout } from '../../components/ResponsiveLayout/decorator';\nimport { MobilePopup } from '../MobilePopup';\nimport type { TSetRootNode } from '../../lib/rootNode';\nimport { getRootNode, rootNode } from '../../lib/rootNode';\nimport { isInstanceWithAnchorElement } from '../../lib/InstanceWithAnchorElement';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { isInstanceOf } from '../../lib/isInstanceOf';\nimport type { ReactUIFeatureFlags } from '../../lib/featureFlagsContext';\nimport { getFullReactUIFlagsContext, ReactUIFeatureFlagsContext } from '../../lib/featureFlagsContext';\nimport { mergeRefs } from '../../lib/mergeRefs';\nimport { getVisualStateDataAttributes } from '../CommonWrapper/utils/getVisualStateDataAttributes';\n\nimport { PopupPin } from './PopupPin';\nimport type { Offset, PositionObject, Rect } from './PopupHelper';\nimport { PopupHelper } from './PopupHelper';\nimport { styles } from './Popup.styles';\n\nconst POPUP_BORDER_DEFAULT_COLOR = 'transparent';\nconst TRANSITION_TIMEOUT = { enter: 0, exit: 200 };\n\nexport const PopupNonPinnablePositions = ['middle center', 'middle left', 'middle right'];\n\nexport const PopupPinnablePositions = [\n 'top center',\n 'top left',\n 'top right',\n 'bottom center',\n 'bottom left',\n 'bottom right',\n 'left middle',\n 'left top',\n 'left bottom',\n 'right middle',\n 'right top',\n 'right bottom',\n];\n\nexport const PopupPositions = [...PopupPinnablePositions, ...PopupNonPinnablePositions] as const;\n\nexport const DefaultPosition = PopupPositions[0];\n\nexport type PopupPositionsType = (typeof PopupPositions)[number];\nexport type PopupPinnablePositionsType = (typeof PopupPinnablePositions)[number];\nexport type ShortPopupPositionsType = 'top' | 'bottom' | 'left' | 'right';\n\nexport const DUMMY_LOCATION: PopupLocation = {\n position: DefaultPosition,\n coordinates: {\n top: -9999,\n left: -9999,\n },\n};\n\nexport interface PopupHandlerProps {\n onMouseEnter?: (event: MouseEventType) => void;\n onMouseLeave?: (event: MouseEventType) => void;\n onClick?: (event: MouseEventType) => void;\n onFocus?: (event: FocusEventType) => void;\n onBlur?: (event: FocusEventType) => void;\n onOpen?: () => void;\n onClose?: () => void;\n}\n\nexport interface PopupProps\n extends Omit<CommonProps, 'children'>,\n PopupHandlerProps,\n Pick<HTMLAttributes<HTMLDivElement>, 'id'> {\n anchorElement: React.ReactNode | Element;\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 priority?: Priority;\n positions?: Readonly<PopupPositionsType[]>;\n pos?: PopupPositionsType | ShortPopupPositionsType;\n /**\n * Явно указывает, что вложенные элементы должны быть обёрнуты в `<span/>`. <br/> Используется для корректного позиционирования тултипа при двух и более вложенных элементах.\n *\n * _Примечание_: при **двух и более** вложенных элементах обёртка будет добавлена автоматически.\n */\n useWrapper?: boolean;\n ignoreHover?: boolean;\n width?: React.CSSProperties['width'];\n minWidth?: React.CSSProperties['minWidth'];\n /**\n * При очередном рендере пытаться сохранить первоначальную позицию попапа\n * (в том числе, когда он выходит за пределы экрана, но может быть проскролен в него).\n *\n * Нужен только для Tooltip. В остальных случаях позиция перестраивается автоматически.\n * @see https://github.com/skbkontur/retail-ui/pull/1195\n */\n tryPreserveFirstRenderedPosition?: boolean;\n withoutMobile?: boolean;\n /** @ignore */\n disablePortal?: boolean;\n mobileOnCloseRequest?: () => void;\n /**\n * Возвращает текущую позицию попапа\n */\n onPositionChange?: (pos: PopupPositionsType) => void;\n}\n\ninterface PopupLocation {\n coordinates: {\n left: number;\n top: number;\n };\n position: PopupPositionsType;\n}\n\nexport interface PopupState {\n location: Nullable<PopupLocation>;\n}\n\nexport const PopupDataTids = {\n root: 'Popup__root',\n content: 'PopupContent',\n contentInner: 'PopupContentInner',\n popupPin: 'PopupPin__root',\n} as const;\n\nexport const PopupIds = {\n root: PopupDataTids.root,\n};\n\ntype DefaultProps = Required<\n Pick<\n PopupProps,\n | 'popupOffset'\n | 'hasPin'\n | 'hasShadow'\n | 'disablePortal'\n | 'disableAnimations'\n | 'useWrapper'\n | 'ignoreHover'\n | 'width'\n | 'priority'\n >\n>;\n\n@responsiveLayout\n@rootNode\nexport class Popup extends React.Component<PopupProps, PopupState> {\n public static __KONTUR_REACT_UI__ = 'Popup';\n public static displayName = 'Popup';\n\n public static propTypes = {\n /**\n * Ссылка (ref) на элемент или React компонент, для которого рисуется попап\n */\n anchorElement: PropTypes.oneOfType([safePropTypesInstanceOf(globalObject.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 * Приоритетная позиция попапа\n */\n pos: PropTypes.string,\n\n /**\n * Отключает использование портала\n */\n disablePortal: PropTypes.bool,\n\n /**\n * Игнорировать ли события hover/click\n */\n ignoreHover: PropTypes.bool,\n };\n\n public static defaultProps: DefaultProps = {\n popupOffset: 0,\n hasPin: false,\n hasShadow: false,\n disableAnimations: isTestEnv,\n useWrapper: false,\n ignoreHover: false,\n disablePortal: false,\n width: 'auto',\n priority: ZIndex.priorities.Popup,\n };\n\n private getProps = createPropsGetter(Popup.defaultProps);\n\n // see #2873 and #2895\n public static readonly defaultRootNode = null;\n\n public state: PopupState = { location: this.props.opened ? DUMMY_LOCATION : null };\n private theme!: Theme;\n public featureFlags!: ReactUIFeatureFlags;\n private layoutEventsToken: Nullable<ReturnType<typeof LayoutEvents.addListener>>;\n private locationUpdateId: Nullable<number> = null;\n private lastPopupContentElement: Nullable<Element>;\n private isMobileLayout!: boolean;\n private setRootNode!: TSetRootNode;\n private refForTransition = React.createRef<HTMLDivElement>();\n private hasAnchorElementListeners = false;\n private rootId = PopupIds.root + getRandomID();\n\n public anchorElement: Nullable<Element> = null;\n private absoluteParent: Nullable<HTMLDivElement> = null;\n\n public componentDidMount() {\n this.updateLocation();\n this.layoutEventsToken = LayoutEvents.addListener(this.handleLayoutEvent);\n\n if (!this.hasAnchorElementListeners) {\n this.addEventListeners(this.anchorElement);\n }\n }\n\n public static getDerivedStateFromProps(props: Readonly<PopupProps>, state: PopupState) {\n /**\n * Delaying updateLocation to ensure it happens after props update\n */\n if (props.opened) {\n if (!state.location) {\n return { location: DUMMY_LOCATION };\n }\n } else if (state.location) {\n return { location: DUMMY_LOCATION };\n }\n return state;\n }\n\n public componentDidUpdate(prevProps: PopupProps, prevState: PopupState) {\n const hadNoLocation = prevState.location === DUMMY_LOCATION;\n const hasLocation = this.state.location !== DUMMY_LOCATION;\n const wasClosed = prevProps.opened && !this.props.opened;\n\n if (this.isMobileLayout && prevState.location === null && this.state.location === null) {\n this.setState({ location: DUMMY_LOCATION });\n }\n\n if (this.props.opened && hadNoLocation && hasLocation && this.props.onOpen) {\n this.props.onOpen();\n }\n if (wasClosed && !hasLocation && this.props.onClose) {\n this.props.onClose();\n }\n if (this.props.opened) {\n this.delayUpdateLocation();\n }\n }\n\n public componentWillUnmount() {\n this.cancelDelayedUpdateLocation();\n if (this.hasAnchorElementListeners) {\n this.removeEventListeners(this.anchorElement);\n }\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 <ReactUIFeatureFlagsContext.Consumer>\n {(flags) => {\n this.featureFlags = getFullReactUIFlagsContext(flags);\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }}\n </ReactUIFeatureFlagsContext.Consumer>\n );\n }\n\n private renderMobile() {\n const { opened } = this.props;\n const children = this.renderChildren();\n\n return children ? (\n <CommonWrapper rootNodeRef={this.setRootNode}>\n <MobilePopup opened={opened} withoutRenderContainer onCloseRequest={this.props.mobileOnCloseRequest}>\n {this.content(children)}\n </MobilePopup>\n </CommonWrapper>\n ) : null;\n }\n\n private renderMain() {\n const { anchorElement } = this.props;\n const useWrapper = this.getProps().useWrapper;\n\n let anchor: Nullable<React.ReactNode> = null;\n if (isInstanceOf(anchorElement, globalObject.Element)) {\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: mergeRefs(\n (anchor as React.RefAttributes<typeof anchor>)?.ref as React.RefCallback<any>,\n this.updateAnchorElement,\n ),\n } as { ref: (instance: Nullable<React.ReactInstance>) => void })\n : null;\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 || isInstanceOf(anchorElement, globalObject.Element);\n const renderRef = canGetAnchorNode ? null : this.updateAnchorElement;\n const renderAnchor = anchorWithRef || anchor;\n\n return this.props.disablePortal\n ? this.renderWithoutPortal(renderAnchor, renderRef)\n : this.renderInPortal(renderAnchor, renderRef);\n }\n\n private renderInPortal = (anchor: React.ReactNode, ref: null | LegacyRef<RenderContainer>) => {\n const { location } = this.state;\n\n return (\n <RenderContainer anchor={anchor} ref={ref}>\n {this.isMobileLayout && !this.props.withoutMobile\n ? this.renderMobile()\n : location && this.renderContent(location)}\n </RenderContainer>\n );\n };\n\n private renderWithoutPortal = (anchor: React.ReactNode, ref: null | LegacyRef<EmptyWrapper>) => {\n const { location } = this.state;\n\n return (\n <EmptyWrapper ref={ref}>\n {anchor}\n {location && (\n <div ref={this.updateAbsoluteElement} className={styles.absoluteParent()}>\n {this.renderContent(location)}\n </div>\n )}\n </EmptyWrapper>\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 updateAbsoluteElement = (instance: HTMLDivElement) => {\n this.absoluteParent = instance;\n };\n\n private addEventListeners(element: Nullable<Element>) {\n if (element && isInstanceOf(element, globalObject.Element)) {\n // @ts-expect-error: Type ElementEventMap is missing events: https://github.com/skbkontur/retail-ui/pull/2946#discussion_r931072657\n element.addEventListener('mouseenter', this.handleMouseEnter);\n // @ts-expect-error: See the comment above\n element.addEventListener('mouseleave', this.handleMouseLeave);\n // @ts-expect-error: See the comment above\n element.addEventListener('click', this.handleClick);\n element.addEventListener('focusin', this.handleFocus as EventListener);\n element.addEventListener('focusout', this.handleBlur as EventListener);\n\n this.hasAnchorElementListeners = true;\n }\n }\n\n private removeEventListeners(element: Nullable<Element>) {\n if (element && isInstanceOf(element, globalObject.Element)) {\n // @ts-expect-error: Type ElementEventMap is missing events: https://github.com/skbkontur/retail-ui/pull/2946#discussion_r931072657\n element.removeEventListener('mouseenter', this.handleMouseEnter);\n // @ts-expect-error: See the comment above\n element.removeEventListener('mouseleave', this.handleMouseLeave);\n // @ts-expect-error: See the comment above\n element.removeEventListener('click', this.handleClick);\n element.removeEventListener('focusin', this.handleFocus as EventListener);\n element.removeEventListener('focusout', this.handleBlur as EventListener);\n\n this.hasAnchorElementListeners = false;\n }\n }\n\n private handleMouseEnter = (event: MouseEventType) => {\n if (this.props.onMouseEnter) {\n this.props.onMouseEnter(event);\n }\n };\n\n private handleMouseLeave = (event: MouseEventType) => {\n if (this.props.onMouseLeave) {\n this.props.onMouseLeave(event);\n }\n };\n\n private handleClick = (event: MouseEventType) => {\n if (this.props.onClick) {\n this.props.onClick(event);\n }\n };\n\n private handleFocus = (event: FocusEventType) => {\n if (this.props.onFocus) {\n this.props.onFocus(event);\n }\n };\n\n private handleBlur = (event: FocusEventType) => {\n if (this.props.onBlur) {\n this.props.onBlur(event);\n }\n };\n\n private calculateWidth = (width: PopupProps['width']) => {\n if (typeof width === 'string' && width.includes('%')) {\n const anchorWidth = getDOMRect(this.anchorElement).width;\n\n return width.replace(/(\\d)+%/g, (percent: string) => `${(anchorWidth * parseFloat(percent)) / 100}px`);\n }\n return width;\n };\n\n private content = (children: React.ReactNode) => {\n const { backgroundColor } = this.props;\n const { width, minWidth } = this.getProps();\n\n return (\n <div\n className={styles.content(this.theme)}\n data-tid={PopupDataTids.content}\n ref={mergeRefs(this.refForTransition, this.refPopupContentElement)}\n >\n <div\n className={styles.contentInner(this.theme)}\n style={{ backgroundColor, width: this.calculateWidth(width), minWidth: this.calculateWidth(minWidth) }}\n data-tid={PopupDataTids.contentInner}\n >\n {children}\n </div>\n </div>\n );\n };\n\n private renderContent(location: PopupLocation) {\n const { maxWidth, opened } = this.props;\n const { hasShadow, disableAnimations, ignoreHover } = this.getProps();\n const children = this.renderChildren();\n\n const relativeShift = this.getRelativeShift();\n const { direction } = PopupHelper.getPositionObject(location.position);\n const rootStyle: React.CSSProperties = {\n maxWidth,\n top: location.coordinates.top + relativeShift.top,\n left: location.coordinates.left + relativeShift.left,\n };\n\n return (\n <Transition\n timeout={TRANSITION_TIMEOUT}\n appear={!disableAnimations}\n in={Boolean(opened && children)}\n mountOnEnter\n unmountOnExit\n enter={!disableAnimations}\n exit={!disableAnimations}\n onExited={this.resetLocation}\n nodeRef={this.refForTransition}\n >\n {(state: string) => (\n <CommonWrapper {...this.props} rootNodeRef={this.setRootNode} {...this.prepareDataVisualState()}>\n <ZIndex\n id={this.props.id ?? this.rootId}\n data-tid={PopupDataTids.root}\n priority={this.props.priority}\n className={cx({\n [styles.popup(this.theme)]: true,\n [styles.shadow(this.theme)]: hasShadow,\n [styles.popupIgnoreHover()]: ignoreHover,\n ...(disableAnimations\n ? {}\n : {\n [styles[`transition-enter-${direction}` as keyof typeof styles](this.theme)]: true,\n [styles.transitionEnter()]: state === 'entering',\n [styles.transitionEnterActive()]: state === 'entered',\n [styles.transitionExit()]: state === 'exiting',\n }),\n })}\n style={rootStyle}\n onMouseEnter={this.handleMouseEnter}\n onMouseLeave={this.handleMouseLeave}\n >\n {this.content(children)}\n {(!this.isMobileLayout || this.props.withoutMobile) && this.renderPin(location.position)}\n </ZIndex>\n </CommonWrapper>\n )}\n </Transition>\n );\n }\n\n private prepareDataVisualState = () => {\n const position = this.state.location?.position;\n if (position) {\n const attrName = `position-` + position.replace(' ', '-');\n return getVisualStateDataAttributes({ [attrName]: true });\n }\n return {};\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 refPopupContentElement = (element: HTMLDivElement) => {\n this.lastPopupContentElement = element;\n };\n\n private renderPin(positionName: string): React.ReactNode {\n const isDefaultBorderColor = this.theme.popupBorderColor === POPUP_BORDER_DEFAULT_COLOR;\n const pinBorder = isIE11 && isDefaultBorderColor ? 'rgba(0, 0, 0, 0.09)' : this.theme.popupBorderColor;\n\n const { pinSize, backgroundColor, borderColor } = this.props;\n const { hasShadow, hasPin } = this.getProps();\n const position = PopupHelper.getPositionObject(positionName);\n\n return (\n hasPin &&\n !PopupNonPinnablePositions.includes(positionName) && (\n <PopupPin\n popupElement={this.lastPopupContentElement}\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 = globalObject.requestAnimationFrame?.(this.updateLocation);\n }\n\n private cancelDelayedUpdateLocation() {\n if (this.locationUpdateId) {\n globalObject.cancelAnimationFrame?.(this.locationUpdateId);\n this.locationUpdateId = null;\n }\n }\n\n private updateLocation = () => {\n const popupContentElement = this.lastPopupContentElement;\n\n if (!popupContentElement) {\n return;\n }\n\n const location = this.getLocation(popupContentElement, this.state.location);\n if (location) {\n this.props.onPositionChange?.(location?.position);\n }\n\n if (!this.locationEquals(this.state.location, location)) {\n this.setState({ location });\n }\n };\n\n private locationEquals(x: Nullable<PopupLocation>, y: Nullable<PopupLocation>) {\n if (x === y) {\n return true;\n }\n\n if (isNullable(x) || isNullable(y)) {\n return false;\n }\n\n if (!isIE11 && !isEdge) {\n return (\n x.coordinates.left === y.coordinates.left &&\n x.coordinates.top === y.coordinates.top &&\n x.position === y.position\n );\n }\n\n // Для ie/edge обновляем позицию только при разнице минимум в 1. Иначе есть вероятность\n // уйти в бесконечный ререндер\n\n return (\n x.position === y.position &&\n Math.abs(x.coordinates.top - y.coordinates.top) <= 1 &&\n Math.abs(x.coordinates.left - y.coordinates.left) <= 1\n );\n }\n\n private reorderPropsPositionsWithPriorityPos() {\n const positions = this.props.positions ? this.props.positions : PopupPinnablePositions;\n let pos_ = '';\n if (this.props.pos) {\n pos_ = this.props.pos;\n } else {\n pos_ = positions[0];\n }\n const index = positions.findIndex((position) => position.startsWith(pos_));\n if (index === -1) {\n warning(false, 'Unexpected position ' + pos_ + ' passed to Popup. Expected one of: ' + positions.join(', '));\n return positions;\n }\n return [...positions.slice(index), ...positions.slice(0, index)];\n }\n\n private getLocation(popupElement: Element, location?: Nullable<PopupLocation>) {\n const { tryPreserveFirstRenderedPosition } = this.getProps();\n const positions = this.reorderPropsPositionsWithPriorityPos();\n\n const anchorElement = this.anchorElement;\n\n warning(\n anchorElement && isInstanceOf(anchorElement, globalObject.Element),\n 'Anchor element is not defined or not instance of Element',\n );\n\n if (!(anchorElement && isInstanceOf(anchorElement, globalObject.Element))) {\n return location;\n }\n\n const anchorRect = PopupHelper.getElementAbsoluteRect(anchorElement);\n const popupRect = PopupHelper.getElementAbsoluteRect(popupElement);\n\n let position: PopupPositionsType;\n let coordinates: Offset;\n\n if (location && location !== DUMMY_LOCATION && location.position) {\n position = location.position;\n coordinates = this.getCoordinates(anchorRect, popupRect, position);\n\n const isFullyVisible = PopupHelper.isFullyVisible(coordinates, popupRect);\n const canBecomeVisible = !isFullyVisible && PopupHelper.canBecomeFullyVisible(position, coordinates);\n\n if (\n // если нужно сохранить первоначальную позицию и Попап целиком\n // находится в пределах вьюпорта (или может быть проскроллен в него)\n (tryPreserveFirstRenderedPosition && (isFullyVisible || canBecomeVisible)) ||\n // если Попап целиком во вьюпорте и в самой приоритетной позиции\n // (иначе нужно попытаться позицию сменить)\n (isFullyVisible && position === positions[0])\n ) {\n // сохраняем текущую позицию\n return { coordinates, position };\n }\n }\n\n for (position of positions) {\n coordinates = this.getCoordinates(anchorRect, popupRect, position);\n if (PopupHelper.isFullyVisible(coordinates, popupRect)) {\n return { coordinates, position };\n }\n }\n\n position = positions[0];\n coordinates = this.getCoordinates(anchorRect, popupRect, position);\n return { coordinates, position };\n }\n\n private getPinnedPopupOffset(anchorRect: Rect, position: PositionObject) {\n if (!this.getProps().hasPin || /center|middle/.test(position.align)) {\n return 0;\n }\n\n const anchorSize = /top|bottom/.test(position.direction) ? anchorRect.width : anchorRect.height;\n\n const { pinSize } = this.props;\n\n return Math.max(\n 0,\n this.getPinOffset(position.align) + (pinSize || parseInt(this.theme.popupPinSize)) - anchorSize / 2,\n );\n }\n\n private getRelativeShift = () => {\n const { absoluteParent } = this;\n\n if (!this.props.disablePortal || !absoluteParent) {\n return {\n top: 0,\n left: 0,\n };\n }\n\n const rect = PopupHelper.getElementAbsoluteRect(absoluteParent);\n\n return {\n top: -rect.top,\n left: -rect.left,\n };\n };\n\n private getCoordinates(anchorRect: Rect, popupRect: Rect, positionName: string) {\n const { margin: marginFromProps } = this.props;\n const margin =\n isNonNullable(marginFromProps) && !isNaN(marginFromProps)\n ? marginFromProps\n : parseInt(this.theme.popupMargin) || 0;\n const position = PopupHelper.getPositionObject(positionName);\n const popupOffset = this.getProps().popupOffset + this.getPinnedPopupOffset(anchorRect, position);\n\n switch (position.direction) {\n case 'top':\n return {\n top: anchorRect.top - popupRect.height - margin,\n left: this.getHorizontalPosition(anchorRect, popupRect, position.align, popupOffset),\n };\n case 'middle':\n return {\n top: anchorRect.top + anchorRect.height / 2 - popupRect.height / 2,\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.popupPinOffsetY);\n case 'left':\n case 'right':\n return pinOffset || 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\n// Нужно, чтобы получать по рефу dom-элемент, в который зарендерится anchor\ntype EmptyWrapperProps = Readonly<{\n children: React.ReactNode;\n}>;\n\nclass EmptyWrapper extends React.Component<EmptyWrapperProps> {\n public render() {\n return this.props.children;\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactTransitionGroup","_warning","_globalObject","_getDOMRect","LayoutEvents","_interopRequireWildcard","_ZIndex","_RenderContainer","_utils","_client","_ThemeContext","_currentEnvironment","_CommonWrapper","_Emotion","_decorator","_MobilePopup","_rootNode","_InstanceWithAnchorElement","_createPropsGetter","_isInstanceOf","_featureFlagsContext","_mergeRefs","_getVisualStateDataAttributes","_PopupPinNew","_PopupHelper","_Popup2","_PopupPin","_class","_Popup","POPUP_BORDER_DEFAULT_COLOR","TRANSITION_TIMEOUT","enter","exit","PopupNonPinnablePositions","exports","PopupPinnablePositions","PopupPositions","concat","DefaultPosition","DUMMY_LOCATION","position","coordinates","top","left","isFullyVisible","PopupDataTids","root","content","contentInner","popupPin","PopupIds","Popup","responsiveLayout","rootNode","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","getProps","createPropsGetter","defaultProps","state","location","props","opened","locationUpdateId","refForTransition","React","createRef","hasAnchorElementListeners","rootId","getRandomID","anchorElement","absoluteParent","renderInPortal","anchor","ref","default","createElement","RenderContainer","isMobileLayout","withoutMobile","renderMobile","renderContent","renderWithoutPortal","EmptyWrapper","updateAbsoluteElement","className","styles","updateAnchorElement","instance","childDomNode","isInstanceWithAnchorElement","getAnchorElement","getRootNode","removeEventListeners","addEventListeners","handleMouseEnter","event","onMouseEnter","handleMouseLeave","onMouseLeave","handleClick","onClick","handleFocus","onFocus","handleBlur","onBlur","calculateWidth","width","includes","anchorWidth","getDOMRect","replace","percent","parseFloat","children","backgroundColor","_this$getProps","minWidth","theme","mergeRefs","refPopupContentElement","style","prepareDataVisualState","_this$state$location","_getVisualStateDataAt","attrName","getVisualStateDataAttributes","resetLocation","cancelDelayedUpdateLocation","setState","element","lastPopupContentElement","handleLayoutEvent","updateLocation","popupContentElement","getLocation","onPositionChange","locationEquals","getRelativeShift","_this2","disablePortal","rect","PopupHelper","getElementAbsoluteRect","_inheritsLoose2","_proto","prototype","componentDidMount","layoutEventsToken","addListener","getDerivedStateFromProps","componentDidUpdate","prevProps","prevState","hadNoLocation","hasLocation","wasClosed","onOpen","onClose","delayUpdateLocation","componentWillUnmount","remove","render","_this3","ReactUIFeatureFlagsContext","Consumer","flags","featureFlags","getFullReactUIFlagsContext","ThemeContext","renderMain","renderChildren","CommonWrapper","rootNodeRef","setRootNode","MobilePopup","withoutRenderContainer","onCloseRequest","mobileOnCloseRequest","_anchor","useWrapper","isInstanceOf","globalObject","Element","isValidElement","anchorWithRef","isRefableElement","cloneElement","canGetAnchorNode","renderRef","renderAnchor","addEventListener","removeEventListener","_this4","_this$props","maxWidth","_this$getProps2","hasShadow","disableAnimations","ignoreHover","relativeShift","_PopupHelper$getPosit","getPositionObject","direction","rootStyle","Transition","timeout","appear","in","Boolean","mountOnEnter","unmountOnExit","onExited","nodeRef","_this4$props$id","_extends2","_ref","_extends3","ZIndex","id","priority","cx","popup","shadow","popupIgnoreHover","transitionEnter","transitionEnterActive","transitionExit","renderPin","isFunction","positionName","isDefaultBorderColor","popupBorderColor","pinBorder","isIE11","_this$props2","pinSize","borderColor","_this$getProps3","hasPin","popupFixPinTearing","PopupPinNew","popupElement","popupPosition","size","parseInt","popupPinSize","offset","getPinOffset","align","popupBackground","PopupPin","borderWidth","requestAnimationFrame","cancelAnimationFrame","x","y","isNullable","isEdge","Math","abs","reorderPropsPositionsWithPriorityPos","positions","pos_","pos","index","findIndex","startsWith","warning","join","slice","_this$getProps4","tryPreserveFirstRenderedPosition","anchorRect","popupRect","getCoordinates","canBecomeVisible","canBecomeFullyVisible","_iterator","_createForOfIteratorHelperLoose2","_step","done","value","getPinnedPopupOffset","test","anchorSize","height","max","marginFromProps","margin","isNonNullable","isNaN","popupMargin","popupOffset","getHorizontalPosition","getVerticalPosition","Error","pinOffset","popupPinOffsetY","popupPinOffsetX","Component","__KONTUR_REACT_UI__","displayName","isTestEnv","priorities","defaultRootNode","_React$Component2","_proto2"],"sources":["Popup.tsx"],"sourcesContent":["import type { HTMLAttributes, LegacyRef } from 'react';\nimport React from 'react';\nimport { Transition } from 'react-transition-group';\nimport warning from 'warning';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport { getDOMRect } from '../../lib/dom/getDOMRect';\nimport type { Nullable } from '../../typings/utility-types';\nimport * as LayoutEvents from '../../lib/LayoutEvents';\nimport type { Priority } from '../ZIndex';\nimport { ZIndex } from '../ZIndex';\nimport { RenderContainer } from '../RenderContainer';\nimport type { FocusEventType, MouseEventType } from '../../typings/event-types';\nimport { getRandomID, isFunction, isNonNullable, isNullable, isRefableElement } from '../../lib/utils';\nimport { isIE11, isEdge } from '../../lib/client';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport type { Theme } from '../../lib/theming/Theme';\nimport { isTestEnv } from '../../lib/currentEnvironment';\nimport type { CommonProps } from '../CommonWrapper';\nimport { CommonWrapper } from '../CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { responsiveLayout } from '../../components/ResponsiveLayout/decorator';\nimport { MobilePopup } from '../MobilePopup';\nimport type { TGetRootNode, TSetRootNode } from '../../lib/rootNode';\nimport { getRootNode, rootNode } from '../../lib/rootNode';\nimport { isInstanceWithAnchorElement } from '../../lib/InstanceWithAnchorElement';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { isInstanceOf } from '../../lib/isInstanceOf';\nimport type { ReactUIFeatureFlags } from '../../lib/featureFlagsContext';\nimport { getFullReactUIFlagsContext, ReactUIFeatureFlagsContext } from '../../lib/featureFlagsContext';\nimport { mergeRefs } from '../../lib/mergeRefs';\nimport { getVisualStateDataAttributes } from '../CommonWrapper/utils/getVisualStateDataAttributes';\n\nimport { PopupPinNew } from './PopupPinNew';\nimport type { Offset, PositionObject, Rect } from './PopupHelper';\nimport { PopupHelper } from './PopupHelper';\nimport { styles } from './Popup.styles';\nimport { PopupPin } from './PopupPin';\n\nconst POPUP_BORDER_DEFAULT_COLOR = 'transparent';\nconst TRANSITION_TIMEOUT = { enter: 0, exit: 200 };\n\nexport const PopupNonPinnablePositions = ['middle center', 'middle left', 'middle right'];\n\nexport const PopupPinnablePositions = [\n 'top center',\n 'top left',\n 'top right',\n 'bottom center',\n 'bottom left',\n 'bottom right',\n 'left middle',\n 'left top',\n 'left bottom',\n 'right middle',\n 'right top',\n 'right bottom',\n];\n\nexport const PopupPositions = [...PopupPinnablePositions, ...PopupNonPinnablePositions] as const;\n\nexport const DefaultPosition = PopupPositions[0];\n\nexport type PopupPositionsType = (typeof PopupPositions)[number];\nexport type PopupPinnablePositionsType = (typeof PopupPinnablePositions)[number];\nexport type ShortPopupPositionsType = 'top' | 'bottom' | 'left' | 'right';\n\nexport const DUMMY_LOCATION: PopupLocation = {\n position: DefaultPosition,\n coordinates: {\n top: -9999,\n left: -9999,\n },\n isFullyVisible: false,\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\n extends Omit<CommonProps, 'children'>,\n PopupHandlerProps,\n Pick<HTMLAttributes<HTMLDivElement>, 'id'> {\n /**\n * Ссылка (ref) на элемент или React компонент, для которого рисуется попап\n */\n anchorElement: React.ReactNode | Element;\n /**\n * Фон попапа и пина\n */\n backgroundColor?: React.CSSProperties['backgroundColor'];\n borderColor?: React.CSSProperties['borderColor'];\n children: React.ReactNode | (() => React.ReactNode);\n /**\n * Показывать ли пин\n */\n hasPin?: boolean;\n /**\n * Применять ли box-shadow на попапе. При false отключает границу на пине\n */\n hasShadow?: boolean;\n disableAnimations?: boolean;\n /**\n * Отступ попапа от элемента\n */\n margin?: number;\n maxWidth?: number | string;\n /**\n * Показан или скрыт попап\n */\n opened: boolean;\n /**\n * Смещение пина от края попапа. Край задаётся в пропе position вторым словом\n */\n pinOffset?: number;\n /**\n * Сторона пина без учёта границы.\n * Пин представляет собой равносторонний треугольник, высота от попапа\n * до \"носика\" пина будет соответствовать формуле (size* √3)/2\n */\n pinSize?: number;\n /**\n * смещение попапа относительно родительского элемента\n */\n popupOffset?: number;\n priority?: Priority;\n /**\n * С какой стороны показывать попап и край попапа,\n * на котором будет отображаться пин\n */\n positions?: Readonly<PopupPositionsType[]>;\n /**\n * Приоритетная позиция попапа\n */\n pos?: PopupPositionsType | ShortPopupPositionsType;\n /**\n * Явно указывает, что вложенные элементы должны быть обёрнуты в `<span/>`. <br/> Используется для корректного позиционирования тултипа при двух и более вложенных элементах.\n *\n * _Примечание_: при **двух и более** вложенных элементах обёртка будет добавлена автоматически.\n */\n useWrapper?: boolean;\n /**\n * Игнорировать ли события hover/click\n */\n ignoreHover?: boolean;\n width?: React.CSSProperties['width'];\n minWidth?: React.CSSProperties['minWidth'];\n /**\n * При очередном рендере пытаться сохранить первоначальную позицию попапа\n * (в том числе, когда он выходит за пределы экрана, но может быть проскролен в него).\n *\n * Нужен только для Tooltip. В остальных случаях позиция перестраивается автоматически.\n * @see https://github.com/skbkontur/retail-ui/pull/1195\n */\n tryPreserveFirstRenderedPosition?: boolean;\n withoutMobile?: boolean;\n /** @ignore */\n disablePortal?: boolean;\n mobileOnCloseRequest?: () => void;\n /**\n * Возвращает текущую позицию попапа\n */\n onPositionChange?: (pos: PopupPositionsType, isFullyVisible: boolean) => void;\n}\n\ninterface PopupLocation {\n coordinates: {\n left: number;\n top: number;\n };\n position: PopupPositionsType;\n isFullyVisible: boolean;\n}\n\nexport interface PopupState {\n location: Nullable<PopupLocation>;\n}\n\nexport const PopupDataTids = {\n root: 'Popup__root',\n content: 'PopupContent',\n contentInner: 'PopupContentInner',\n popupPin: 'PopupPin__root',\n} as const;\n\nexport const PopupIds = {\n root: PopupDataTids.root,\n};\n\ntype DefaultProps = Required<\n Pick<\n PopupProps,\n | 'popupOffset'\n | 'hasPin'\n | 'hasShadow'\n | 'disablePortal'\n | 'disableAnimations'\n | 'useWrapper'\n | 'ignoreHover'\n | 'width'\n | 'priority'\n >\n>;\n\n@responsiveLayout\n@rootNode\nexport class Popup extends React.Component<PopupProps, PopupState> {\n public static __KONTUR_REACT_UI__ = 'Popup';\n public static displayName = 'Popup';\n\n public static defaultProps: DefaultProps = {\n popupOffset: 0,\n hasPin: false,\n hasShadow: false,\n disableAnimations: isTestEnv,\n useWrapper: false,\n ignoreHover: false,\n disablePortal: false,\n width: 'auto',\n priority: ZIndex.priorities.Popup,\n };\n\n private getProps = createPropsGetter(Popup.defaultProps);\n\n // see #2873 and #2895\n public static readonly defaultRootNode = null;\n\n public state: PopupState = { location: this.props.opened ? DUMMY_LOCATION : null };\n private theme!: Theme;\n public featureFlags!: ReactUIFeatureFlags;\n private layoutEventsToken: Nullable<ReturnType<typeof LayoutEvents.addListener>>;\n private locationUpdateId: Nullable<number> = null;\n private lastPopupContentElement: Nullable<Element>;\n private isMobileLayout!: boolean;\n public getRootNode!: TGetRootNode;\n private setRootNode!: TSetRootNode;\n private refForTransition = React.createRef<HTMLDivElement>();\n private hasAnchorElementListeners = false;\n private rootId = PopupIds.root + getRandomID();\n\n public anchorElement: Nullable<Element> = null;\n private absoluteParent: Nullable<HTMLDivElement> = null;\n\n public componentDidMount() {\n this.updateLocation();\n this.layoutEventsToken = LayoutEvents.addListener(this.handleLayoutEvent);\n\n if (!this.hasAnchorElementListeners) {\n this.addEventListeners(this.anchorElement);\n }\n }\n\n public static getDerivedStateFromProps(props: Readonly<PopupProps>, state: PopupState) {\n /**\n * Delaying updateLocation to ensure it happens after props update\n */\n if (props.opened) {\n if (!state.location) {\n return { location: DUMMY_LOCATION };\n }\n } else if (state.location) {\n return { location: DUMMY_LOCATION };\n }\n return state;\n }\n\n public componentDidUpdate(prevProps: PopupProps, prevState: PopupState) {\n const hadNoLocation = prevState.location === DUMMY_LOCATION;\n const hasLocation = this.state.location !== DUMMY_LOCATION;\n const wasClosed = prevProps.opened && !this.props.opened;\n\n if (this.isMobileLayout && prevState.location === null && this.state.location === null) {\n this.setState({ location: DUMMY_LOCATION });\n }\n\n if (this.props.opened && hadNoLocation && hasLocation && this.props.onOpen) {\n this.props.onOpen();\n }\n if (wasClosed && !hasLocation && this.props.onClose) {\n this.props.onClose();\n }\n if (this.props.opened) {\n this.delayUpdateLocation();\n }\n }\n\n public componentWillUnmount() {\n this.cancelDelayedUpdateLocation();\n if (this.hasAnchorElementListeners) {\n this.removeEventListeners(this.anchorElement);\n }\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 <ReactUIFeatureFlagsContext.Consumer>\n {(flags) => {\n this.featureFlags = getFullReactUIFlagsContext(flags);\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }}\n </ReactUIFeatureFlagsContext.Consumer>\n );\n }\n\n private renderMobile() {\n const { opened } = this.props;\n const children = this.renderChildren();\n\n return children ? (\n <CommonWrapper rootNodeRef={this.setRootNode}>\n <MobilePopup opened={opened} withoutRenderContainer onCloseRequest={this.props.mobileOnCloseRequest}>\n {this.content(children)}\n </MobilePopup>\n </CommonWrapper>\n ) : null;\n }\n\n private renderMain() {\n const { anchorElement } = this.props;\n const useWrapper = this.getProps().useWrapper;\n\n let anchor: Nullable<React.ReactNode> = null;\n if (isInstanceOf(anchorElement, globalObject.Element)) {\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: mergeRefs(\n (anchor as React.RefAttributes<typeof anchor>)?.ref as React.RefCallback<any>,\n this.updateAnchorElement,\n ),\n } as { ref: (instance: Nullable<React.ReactInstance>) => void })\n : null;\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 || isInstanceOf(anchorElement, globalObject.Element);\n const renderRef = canGetAnchorNode ? null : this.updateAnchorElement;\n const renderAnchor = anchorWithRef || anchor;\n\n return this.props.disablePortal\n ? this.renderWithoutPortal(renderAnchor, renderRef)\n : this.renderInPortal(renderAnchor, renderRef);\n }\n\n private renderInPortal = (anchor: React.ReactNode, ref: null | LegacyRef<RenderContainer>) => {\n const { location } = this.state;\n\n return (\n <RenderContainer anchor={anchor} ref={ref}>\n {this.isMobileLayout && !this.props.withoutMobile\n ? this.renderMobile()\n : location && this.renderContent(location)}\n </RenderContainer>\n );\n };\n\n private renderWithoutPortal = (anchor: React.ReactNode, ref: null | LegacyRef<EmptyWrapper>) => {\n const { location } = this.state;\n\n return (\n <EmptyWrapper ref={ref}>\n {anchor}\n {location && (\n <div ref={this.updateAbsoluteElement} className={styles.absoluteParent()}>\n {this.renderContent(location)}\n </div>\n )}\n </EmptyWrapper>\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 updateAbsoluteElement = (instance: HTMLDivElement) => {\n this.absoluteParent = instance;\n };\n\n private addEventListeners(element: Nullable<Element>) {\n if (element && isInstanceOf(element, globalObject.Element)) {\n // @ts-expect-error: Type ElementEventMap is missing events: https://github.com/skbkontur/retail-ui/pull/2946#discussion_r931072657\n element.addEventListener('mouseenter', this.handleMouseEnter);\n // @ts-expect-error: See the comment above\n element.addEventListener('mouseleave', this.handleMouseLeave);\n // @ts-expect-error: See the comment above\n element.addEventListener('click', this.handleClick);\n element.addEventListener('focusin', this.handleFocus as EventListener);\n element.addEventListener('focusout', this.handleBlur as EventListener);\n\n this.hasAnchorElementListeners = true;\n }\n }\n\n private removeEventListeners(element: Nullable<Element>) {\n if (element && isInstanceOf(element, globalObject.Element)) {\n // @ts-expect-error: Type ElementEventMap is missing events: https://github.com/skbkontur/retail-ui/pull/2946#discussion_r931072657\n element.removeEventListener('mouseenter', this.handleMouseEnter);\n // @ts-expect-error: See the comment above\n element.removeEventListener('mouseleave', this.handleMouseLeave);\n // @ts-expect-error: See the comment above\n element.removeEventListener('click', this.handleClick);\n element.removeEventListener('focusin', this.handleFocus as EventListener);\n element.removeEventListener('focusout', this.handleBlur as EventListener);\n\n this.hasAnchorElementListeners = false;\n }\n }\n\n private handleMouseEnter = (event: MouseEventType) => {\n if (this.props.onMouseEnter) {\n this.props.onMouseEnter(event);\n }\n };\n\n private handleMouseLeave = (event: MouseEventType) => {\n if (this.props.onMouseLeave) {\n this.props.onMouseLeave(event);\n }\n };\n\n private handleClick = (event: MouseEventType) => {\n if (this.props.onClick) {\n this.props.onClick(event);\n }\n };\n\n private handleFocus = (event: FocusEventType) => {\n if (this.props.onFocus) {\n this.props.onFocus(event);\n }\n };\n\n private handleBlur = (event: FocusEventType) => {\n if (this.props.onBlur) {\n this.props.onBlur(event);\n }\n };\n\n private calculateWidth = (width: PopupProps['width']) => {\n if (typeof width === 'string' && width.includes('%')) {\n const anchorWidth = getDOMRect(this.anchorElement).width;\n\n return width.replace(/(\\d)+%/g, (percent: string) => `${(anchorWidth * parseFloat(percent)) / 100}px`);\n }\n return width;\n };\n\n private content = (children: React.ReactNode) => {\n const { backgroundColor } = this.props;\n const { width, minWidth } = this.getProps();\n\n return (\n <div\n className={styles.content(this.theme)}\n data-tid={PopupDataTids.content}\n ref={mergeRefs(this.refForTransition, this.refPopupContentElement)}\n >\n <div\n className={styles.contentInner(this.theme)}\n style={{ backgroundColor, width: this.calculateWidth(width), minWidth: this.calculateWidth(minWidth) }}\n data-tid={PopupDataTids.contentInner}\n >\n {children}\n </div>\n </div>\n );\n };\n\n private renderContent(location: PopupLocation) {\n const { maxWidth, opened } = this.props;\n const { hasShadow, disableAnimations, ignoreHover } = this.getProps();\n const children = this.renderChildren();\n\n const relativeShift = this.getRelativeShift();\n const { direction } = PopupHelper.getPositionObject(location.position);\n const rootStyle: React.CSSProperties = {\n maxWidth,\n top: location.coordinates.top + relativeShift.top,\n left: location.coordinates.left + relativeShift.left,\n };\n\n return (\n <Transition\n timeout={TRANSITION_TIMEOUT}\n appear={!disableAnimations}\n in={Boolean(opened && children)}\n mountOnEnter\n unmountOnExit\n enter={!disableAnimations}\n exit={!disableAnimations}\n onExited={this.resetLocation}\n nodeRef={this.refForTransition}\n >\n {(state: string) => (\n <CommonWrapper {...this.props} rootNodeRef={this.setRootNode} {...this.prepareDataVisualState()}>\n <ZIndex\n id={this.props.id ?? this.rootId}\n data-tid={PopupDataTids.root}\n priority={this.props.priority}\n className={cx({\n [styles.popup(this.theme)]: true,\n [styles.shadow(this.theme)]: hasShadow,\n [styles.popupIgnoreHover()]: ignoreHover,\n ...(disableAnimations\n ? {}\n : {\n [styles[`transition-enter-${direction}` as keyof typeof styles](this.theme)]: true,\n [styles.transitionEnter()]: state === 'entering',\n [styles.transitionEnterActive()]: state === 'entered',\n [styles.transitionExit()]: state === 'exiting',\n }),\n })}\n style={rootStyle}\n onMouseEnter={this.handleMouseEnter}\n onMouseLeave={this.handleMouseLeave}\n >\n {this.content(children)}\n {(!this.isMobileLayout || this.props.withoutMobile) && this.renderPin(location.position)}\n </ZIndex>\n </CommonWrapper>\n )}\n </Transition>\n );\n }\n\n private prepareDataVisualState = () => {\n const position = this.state.location?.position;\n if (position) {\n const attrName = `position-` + position.replace(' ', '-');\n return getVisualStateDataAttributes({ [attrName]: true });\n }\n return {};\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 refPopupContentElement = (element: HTMLDivElement) => {\n this.lastPopupContentElement = element;\n };\n\n private renderPin(positionName: string): React.ReactNode {\n const isDefaultBorderColor = this.theme.popupBorderColor === POPUP_BORDER_DEFAULT_COLOR;\n const pinBorder = isIE11 && isDefaultBorderColor ? 'rgba(0, 0, 0, 0.09)' : this.theme.popupBorderColor;\n\n const { pinSize, backgroundColor, borderColor } = this.props;\n const { hasShadow, hasPin } = this.getProps();\n const position = PopupHelper.getPositionObject(positionName);\n\n return (\n hasPin &&\n !PopupNonPinnablePositions.includes(positionName) &&\n (this.featureFlags.popupFixPinTearing ? (\n <PopupPinNew\n popupElement={this.lastPopupContentElement}\n popupPosition={positionName}\n size={pinSize || parseInt(this.theme.popupPinSize)}\n offset={this.getPinOffset(position.align)}\n backgroundColor={backgroundColor || this.theme.popupBackground}\n />\n ) : (\n <PopupPin\n popupElement={this.lastPopupContentElement}\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 = globalObject.requestAnimationFrame?.(this.updateLocation);\n }\n\n private cancelDelayedUpdateLocation() {\n if (this.locationUpdateId) {\n globalObject.cancelAnimationFrame?.(this.locationUpdateId);\n this.locationUpdateId = null;\n }\n }\n\n private updateLocation = () => {\n const popupContentElement = this.lastPopupContentElement;\n\n if (!popupContentElement) {\n return;\n }\n\n const location = this.getLocation(popupContentElement, this.state.location);\n if (location) {\n this.props.onPositionChange?.(location.position, location.isFullyVisible);\n }\n\n if (!this.locationEquals(this.state.location, location)) {\n this.setState({ location });\n }\n };\n\n private locationEquals(x: Nullable<PopupLocation>, y: Nullable<PopupLocation>) {\n if (x === y) {\n return true;\n }\n\n if (isNullable(x) || isNullable(y)) {\n return false;\n }\n\n if (!isIE11 && !isEdge) {\n return (\n x.coordinates.left === y.coordinates.left &&\n x.coordinates.top === y.coordinates.top &&\n x.position === y.position\n );\n }\n\n // Для ie/edge обновляем позицию только при разнице минимум в 1. Иначе есть вероятность\n // уйти в бесконечный ререндер\n\n return (\n x.position === y.position &&\n Math.abs(x.coordinates.top - y.coordinates.top) <= 1 &&\n Math.abs(x.coordinates.left - y.coordinates.left) <= 1\n );\n }\n\n private reorderPropsPositionsWithPriorityPos() {\n const positions = this.props.positions ? this.props.positions : PopupPinnablePositions;\n let pos_ = '';\n if (this.props.pos) {\n pos_ = this.props.pos;\n } else {\n pos_ = positions[0];\n }\n const index = positions.findIndex((position) => position.startsWith(pos_));\n if (index === -1) {\n warning(false, 'Unexpected position ' + pos_ + ' passed to Popup. Expected one of: ' + positions.join(', '));\n return positions;\n }\n return [...positions.slice(index), ...positions.slice(0, index)];\n }\n\n private getLocation(popupElement: Element, location?: Nullable<PopupLocation>): Nullable<PopupLocation> {\n const { tryPreserveFirstRenderedPosition } = this.getProps();\n const positions = this.reorderPropsPositionsWithPriorityPos();\n\n const anchorElement = this.anchorElement;\n\n warning(\n anchorElement && isInstanceOf(anchorElement, globalObject.Element),\n 'Anchor element is not defined or not instance of Element',\n );\n\n if (!(anchorElement && isInstanceOf(anchorElement, globalObject.Element))) {\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, isFullyVisible: true };\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, isFullyVisible: true };\n }\n }\n\n position = positions[0];\n coordinates = this.getCoordinates(anchorRect, popupRect, position);\n\n return { coordinates, position, isFullyVisible: false };\n }\n\n private getPinnedPopupOffset(anchorRect: Rect, position: PositionObject) {\n if (!this.getProps().hasPin || /center|middle/.test(position.align)) {\n return 0;\n }\n\n const anchorSize = /top|bottom/.test(position.direction) ? anchorRect.width : anchorRect.height;\n\n const { pinSize } = this.props;\n\n return Math.max(\n 0,\n this.getPinOffset(position.align) + (pinSize || parseInt(this.theme.popupPinSize)) - anchorSize / 2,\n );\n }\n\n private getRelativeShift = () => {\n const { absoluteParent } = this;\n\n if (!this.props.disablePortal || !absoluteParent) {\n return {\n top: 0,\n left: 0,\n };\n }\n\n const rect = PopupHelper.getElementAbsoluteRect(absoluteParent);\n\n return {\n top: -rect.top,\n left: -rect.left,\n };\n };\n\n private getCoordinates(anchorRect: Rect, popupRect: Rect, positionName: string) {\n const { margin: marginFromProps } = this.props;\n const margin =\n isNonNullable(marginFromProps) && !isNaN(marginFromProps)\n ? marginFromProps\n : parseInt(this.theme.popupMargin) || 0;\n const position = PopupHelper.getPositionObject(positionName);\n const popupOffset = this.getProps().popupOffset + this.getPinnedPopupOffset(anchorRect, position);\n\n switch (position.direction) {\n case 'top':\n return {\n top: anchorRect.top - popupRect.height - margin,\n left: this.getHorizontalPosition(anchorRect, popupRect, position.align, popupOffset),\n };\n case 'middle':\n return {\n top: anchorRect.top + anchorRect.height / 2 - popupRect.height / 2,\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.popupPinOffsetY);\n case 'left':\n case 'right':\n return pinOffset || 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\n// Нужно, чтобы получать по рефу dom-элемент, в который зарендерится anchor\ntype EmptyWrapperProps = Readonly<{\n children: React.ReactNode;\n}>;\n\nclass EmptyWrapper extends React.Component<EmptyWrapperProps> {\n public render() {\n return this.props.children;\n }\n}\n"],"mappings":"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","ignoreList":[]}