@jetbrains/ring-ui 5.0.156 → 5.0.157

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 (295) hide show
  1. package/dist/_helpers/_rollupPluginBabelHelpers.js +642 -1
  2. package/dist/_helpers/anchor.js +6 -7
  3. package/dist/_helpers/button__classes.js +16 -28
  4. package/dist/_helpers/card.js +107 -95
  5. package/dist/_helpers/dialog__body-scroll-preventer.js +20 -11
  6. package/dist/_helpers/footer.js +29 -34
  7. package/dist/_helpers/query-assist__suggestions.js +91 -74
  8. package/dist/_helpers/select__filter.js +71 -48
  9. package/dist/_helpers/services-link.js +41 -29
  10. package/dist/_helpers/sidebar.js +103 -99
  11. package/dist/_helpers/theme.js +42 -35
  12. package/dist/_helpers/title.js +71 -57
  13. package/dist/alert/alert.js +199 -158
  14. package/dist/alert/container.js +43 -32
  15. package/dist/alert-service/alert-service.js +172 -104
  16. package/dist/analytics/analytics.js +92 -68
  17. package/dist/analytics/analytics__custom-plugin.js +84 -60
  18. package/dist/analytics/analytics__fus-plugin.js +28 -15
  19. package/dist/analytics/analytics__ga-plugin.js +60 -43
  20. package/dist/analytics/analytics__plugin-utils.js +28 -22
  21. package/dist/auth/auth.js +36 -4
  22. package/dist/auth/auth__core.js +1458 -732
  23. package/dist/auth/background-flow.js +129 -87
  24. package/dist/auth/down-notification.js +75 -30
  25. package/dist/auth/iframe-flow.js +136 -75
  26. package/dist/auth/landing.js +90 -30
  27. package/dist/auth/request-builder.js +82 -46
  28. package/dist/auth/response-parser.js +119 -86
  29. package/dist/auth/storage.js +333 -171
  30. package/dist/auth/token-validator.js +244 -137
  31. package/dist/auth/window-flow.js +136 -92
  32. package/dist/auth-dialog/auth-dialog.js +176 -114
  33. package/dist/auth-dialog-service/auth-dialog-service.js +32 -7
  34. package/dist/auth-ng/auth-ng.js +70 -34
  35. package/dist/auth-ng/auth-ng.mock.js +6 -6
  36. package/dist/autofocus-ng/autofocus-ng.js +23 -8
  37. package/dist/avatar/avatar-example-datauri.js +1 -23
  38. package/dist/avatar/avatar.js +155 -119
  39. package/dist/avatar/fallback-avatar.js +41 -22
  40. package/dist/avatar-editor-ng/avatar-editor-ng.js +56 -23
  41. package/dist/avatar-editor-ng/avatar-editor-ng__template.js +1 -28
  42. package/dist/avatar-ng/avatar-ng.js +23 -1
  43. package/dist/badge/badge.js +43 -35
  44. package/dist/badge-ng/badge-ng.js +13 -1
  45. package/dist/breadcrumb-ng/breadcrumb-ng.js +15 -29
  46. package/dist/button/button.js +111 -87
  47. package/dist/button/button__classes.js +1 -0
  48. package/dist/button-group/button-group.js +35 -19
  49. package/dist/button-group/caption.js +22 -14
  50. package/dist/button-group-ng/button-group-ng.js +13 -7
  51. package/dist/button-ng/button-ng.js +154 -133
  52. package/dist/button-set/button-set.js +34 -20
  53. package/dist/button-set-ng/button-set-ng.js +2 -2
  54. package/dist/button-toolbar/button-toolbar.js +33 -19
  55. package/dist/button-toolbar-ng/button-toolbar-ng.js +5 -3
  56. package/dist/caret/caret.js +225 -188
  57. package/dist/checkbox/checkbox.js +104 -76
  58. package/dist/checkbox-ng/checkbox-ng.js +18 -27
  59. package/dist/clipboard/clipboard-fallback.js +10 -10
  60. package/dist/clipboard/clipboard.js +131 -34
  61. package/dist/code/code.js +168 -92
  62. package/dist/compiler-ng/compiler-ng.js +18 -15
  63. package/dist/confirm/confirm.js +108 -66
  64. package/dist/confirm-ng/confirm-ng.js +33 -4
  65. package/dist/confirm-service/confirm-service.js +66 -42
  66. package/dist/content-layout/content-layout.js +64 -43
  67. package/dist/content-layout/sidebar.js +1 -0
  68. package/dist/contenteditable/contenteditable.js +61 -50
  69. package/dist/control-label/control-label.js +11 -15
  70. package/dist/data-list/data-list.js +184 -128
  71. package/dist/data-list/data-list.mock.js +11 -2
  72. package/dist/data-list/item.js +174 -143
  73. package/dist/data-list/selection.js +139 -76
  74. package/dist/data-list/title.js +13 -1
  75. package/dist/data-list-ng/data-list-ng.js +31 -1
  76. package/dist/date-picker/consts.js +18 -15
  77. package/dist/date-picker/date-input.js +147 -115
  78. package/dist/date-picker/date-picker.js +285 -228
  79. package/dist/date-picker/date-popup.js +397 -356
  80. package/dist/date-picker/day.js +98 -84
  81. package/dist/date-picker/month-names.js +64 -43
  82. package/dist/date-picker/month-slider.js +74 -51
  83. package/dist/date-picker/month.js +21 -15
  84. package/dist/date-picker/months.js +48 -43
  85. package/dist/date-picker/weekdays.js +18 -12
  86. package/dist/date-picker/years.js +109 -84
  87. package/dist/dialog/dialog.js +189 -141
  88. package/dist/dialog/dialog__body-scroll-preventer.js +5 -0
  89. package/dist/dialog-ng/dialog-ng.js +401 -287
  90. package/dist/dialog-ng/dialog-ng__template.js +1 -70
  91. package/dist/docked-panel-ng/docked-panel-ng.js +33 -18
  92. package/dist/dropdown/anchor.js +10 -0
  93. package/dist/dropdown/dropdown.js +214 -182
  94. package/dist/dropdown-menu/dropdown-menu.js +102 -72
  95. package/dist/editable-heading/editable-heading.js +100 -58
  96. package/dist/error-bubble/error-bubble.js +64 -31
  97. package/dist/error-message/error-message.js +61 -38
  98. package/dist/error-message-ng/error-message-ng.js +11 -22
  99. package/dist/footer/footer.js +11 -1
  100. package/dist/footer-ng/footer-ng.js +64 -36
  101. package/dist/form-ng/form-ng.js +66 -56
  102. package/dist/global/angular-component-factory.js +76 -53
  103. package/dist/global/compose.js +10 -1
  104. package/dist/global/composeRefs.js +12 -7
  105. package/dist/global/controls-height.js +2 -2
  106. package/dist/global/create-stateful-context.js +19 -19
  107. package/dist/global/data-tests.js +15 -7
  108. package/dist/global/dom.js +95 -53
  109. package/dist/global/focus-sensor-hoc.js +134 -122
  110. package/dist/global/fuzzy-highlight.js +41 -27
  111. package/dist/global/get-event-key.js +8 -8
  112. package/dist/global/get-uid.js +8 -4
  113. package/dist/global/inject-styles.js +15 -10
  114. package/dist/global/linear-function.js +2 -2
  115. package/dist/global/listeners.js +53 -27
  116. package/dist/global/memoize.js +13 -6
  117. package/dist/global/normalize-indent.js +51 -19
  118. package/dist/global/promise-with-timeout.js +8 -6
  119. package/dist/global/prop-types.js +5 -3
  120. package/dist/global/react-dom-renderer.js +47 -28
  121. package/dist/global/react-render-adapter.js +19 -13
  122. package/dist/global/rerender-hoc.js +41 -16
  123. package/dist/global/ring-angular-component.js +20 -10
  124. package/dist/global/schedule-raf.js +6 -5
  125. package/dist/global/sniffer.js +1 -1
  126. package/dist/global/theme.js +24 -0
  127. package/dist/global/trivial-template-tag.js +10 -3
  128. package/dist/global/typescript-utils.js +6 -2
  129. package/dist/global/url.js +27 -21
  130. package/dist/global/use-event-callback.js +4 -6
  131. package/dist/grid/col.js +55 -35
  132. package/dist/grid/grid.js +36 -17
  133. package/dist/grid/row.js +48 -35
  134. package/dist/group/group.js +27 -17
  135. package/dist/group-ng/group-ng.js +2 -2
  136. package/dist/header/header.js +80 -33
  137. package/dist/header/logo.js +39 -20
  138. package/dist/header/profile.js +188 -150
  139. package/dist/header/services-link.js +9 -0
  140. package/dist/header/services.js +118 -73
  141. package/dist/header/smart-profile.js +207 -111
  142. package/dist/header/smart-services.js +115 -62
  143. package/dist/header/tray-icon.js +38 -21
  144. package/dist/header/tray.js +34 -21
  145. package/dist/heading/heading.js +25 -26
  146. package/dist/heading-ng/heading-ng.js +11 -1
  147. package/dist/http/http.js +368 -215
  148. package/dist/http/http.mock.js +104 -49
  149. package/dist/hub-source/hub-source.js +191 -83
  150. package/dist/hub-source/hub-source__user.js +45 -11
  151. package/dist/hub-source/hub-source__users-groups.js +67 -37
  152. package/dist/i18n/i18n-context.js +14 -10
  153. package/dist/i18n/i18n.js +11 -7
  154. package/dist/icon/icon.js +94 -76
  155. package/dist/icon/icon__svg.js +31 -24
  156. package/dist/icon/index.js +9 -0
  157. package/dist/icon-ng/icon-ng.js +27 -15
  158. package/dist/input/input.js +184 -145
  159. package/dist/input-ng/input-ng.js +96 -118
  160. package/dist/island/adaptive-island-hoc.js +45 -30
  161. package/dist/island/content.js +130 -115
  162. package/dist/island/header.js +69 -56
  163. package/dist/island/island.js +40 -28
  164. package/dist/island-legacy/content-legacy.js +27 -17
  165. package/dist/island-legacy/header-legacy.js +29 -19
  166. package/dist/island-legacy/island-legacy.js +27 -17
  167. package/dist/island-ng/island-content-ng.js +17 -26
  168. package/dist/island-ng/island-header-ng.js +9 -12
  169. package/dist/island-ng/island-ng-class-fixer.js +3 -0
  170. package/dist/island-ng/island-ng.js +6 -10
  171. package/dist/link/clickableLink.js +61 -44
  172. package/dist/link/link.js +85 -74
  173. package/dist/link-ng/link-ng.js +3 -5
  174. package/dist/list/consts.js +1 -1
  175. package/dist/list/list.js +696 -602
  176. package/dist/list/list__custom.js +61 -44
  177. package/dist/list/list__hint.js +21 -10
  178. package/dist/list/list__item.js +167 -129
  179. package/dist/list/list__link.js +54 -37
  180. package/dist/list/list__separator.js +24 -14
  181. package/dist/list/list__title.js +32 -22
  182. package/dist/list/list__users-groups-source.js +131 -54
  183. package/dist/loader/loader.js +78 -43
  184. package/dist/loader/loader__core.js +257 -189
  185. package/dist/loader-inline/loader-inline.js +37 -23
  186. package/dist/loader-inline-ng/loader-inline-ng.js +2 -2
  187. package/dist/loader-ng/loader-ng.js +46 -19
  188. package/dist/loader-screen/loader-screen.js +48 -25
  189. package/dist/loader-screen-ng/loader-screen-ng.js +46 -30
  190. package/dist/login-dialog/login-dialog.js +162 -111
  191. package/dist/login-dialog/service.js +35 -7
  192. package/dist/markdown/code.js +31 -9
  193. package/dist/markdown/heading.js +3 -5
  194. package/dist/markdown/link.js +13 -6
  195. package/dist/markdown/markdown.js +66 -33
  196. package/dist/message/message.js +157 -125
  197. package/dist/message-bundle-ng/message-bundle-ng.js +128 -44
  198. package/dist/old-browsers-message/old-browsers-message.js +19 -11
  199. package/dist/old-browsers-message/old-browsers-message__stop.js +8 -0
  200. package/dist/old-browsers-message/white-list.js +16 -9
  201. package/dist/pager/pager.js +275 -210
  202. package/dist/pager-ng/pager-ng.js +36 -1
  203. package/dist/panel/panel.js +27 -17
  204. package/dist/panel-ng/panel-ng.js +14 -1
  205. package/dist/permissions/permissions.js +173 -127
  206. package/dist/permissions/permissions__cache.js +225 -194
  207. package/dist/permissions-ng/permissions-ng.js +86 -35
  208. package/dist/place-under-ng/place-under-ng.js +68 -45
  209. package/dist/popup/popup.consts.js +1 -1
  210. package/dist/popup/popup.js +342 -280
  211. package/dist/popup/popup.target.js +8 -9
  212. package/dist/popup/position.js +153 -153
  213. package/dist/popup-menu/popup-menu.js +86 -44
  214. package/dist/progress-bar/progress-bar.js +97 -80
  215. package/dist/progress-bar-ng/progress-bar-ng.js +11 -1
  216. package/dist/promised-click-ng/promised-click-ng.js +92 -58
  217. package/dist/proxy-attrs/proxy-attrs.js +18 -9
  218. package/dist/query-assist/query-assist.js +903 -832
  219. package/dist/query-assist/query-assist__suggestions.js +33 -1
  220. package/dist/query-assist-ng/query-assist-ng.js +38 -1
  221. package/dist/radio/radio.js +36 -19
  222. package/dist/radio/radio__item.js +71 -52
  223. package/dist/radio-ng/radio-ng.js +14 -25
  224. package/dist/save-field-ng/save-field-ng.js +86 -52
  225. package/dist/save-field-ng/save-field-ng__template.js +1 -32
  226. package/dist/select/select.js +937 -835
  227. package/dist/select/select__filter.js +33 -0
  228. package/dist/select/select__popup.js +472 -359
  229. package/dist/select-ng/select-ng.js +125 -74
  230. package/dist/select-ng/select-ng__lazy.js +101 -50
  231. package/dist/select-ng/select-ng__options.js +107 -81
  232. package/dist/shortcuts/core.js +218 -166
  233. package/dist/shortcuts/shortcut-title.js +11 -6
  234. package/dist/shortcuts/shortcuts-hoc.js +47 -19
  235. package/dist/shortcuts/shortcuts.js +77 -50
  236. package/dist/shortcuts-hint-ng/shortcuts-hint-ng.js +104 -53
  237. package/dist/shortcuts-hint-ng/shortcuts-hint-ng__template.js +1 -48
  238. package/dist/shortcuts-ng/shortcuts-ng.js +86 -51
  239. package/dist/sidebar-ng/sidebar-ng.js +53 -22
  240. package/dist/sidebar-ng/sidebar-ng__button-template.js +1 -18
  241. package/dist/sidebar-ng/sidebar-ng__template.js +1 -10
  242. package/dist/storage/storage.js +35 -4
  243. package/dist/storage/storage__fallback.js +224 -149
  244. package/dist/storage/storage__local.js +156 -90
  245. package/dist/tab-trap/tab-trap.js +157 -122
  246. package/dist/table/cell.js +28 -14
  247. package/dist/table/disable-hover-hoc.js +53 -33
  248. package/dist/table/header-cell.js +87 -64
  249. package/dist/table/header.js +126 -98
  250. package/dist/table/multitable.js +127 -107
  251. package/dist/table/row-with-focus-sensor.js +73 -25
  252. package/dist/table/row.js +208 -170
  253. package/dist/table/selection-adapter.js +3 -1
  254. package/dist/table/selection-shortcuts-hoc.js +184 -181
  255. package/dist/table/selection.js +228 -156
  256. package/dist/table/smart-table.js +93 -51
  257. package/dist/table/table.js +348 -281
  258. package/dist/table-legacy-ng/table-legacy-ng.js +117 -102
  259. package/dist/table-legacy-ng/table-legacy-ng__pager.js +42 -10
  260. package/dist/table-legacy-ng/table-legacy-ng__selection-navigate-actions.js +92 -69
  261. package/dist/table-legacy-ng/table-legacy-ng__selection.js +169 -119
  262. package/dist/table-legacy-ng/table-legacy-ng__toolbar.js +36 -21
  263. package/dist/table-ng/smart-table-ng.js +31 -1
  264. package/dist/table-ng/table-ng.js +31 -1
  265. package/dist/tabs/collapsible-more.js +87 -50
  266. package/dist/tabs/collapsible-tab.js +45 -38
  267. package/dist/tabs/collapsible-tabs.js +161 -94
  268. package/dist/tabs/custom-item.js +2 -4
  269. package/dist/tabs/dumb-tabs.js +122 -75
  270. package/dist/tabs/smart-tabs.js +75 -29
  271. package/dist/tabs/tab-link.js +29 -19
  272. package/dist/tabs/tab.js +33 -19
  273. package/dist/tabs/tabs.js +35 -0
  274. package/dist/tabs-ng/tabs-ng.js +38 -24
  275. package/dist/tabs-ng/tabs-ng__template.js +1 -38
  276. package/dist/tag/tag.js +170 -133
  277. package/dist/tags-input/tags-input.js +428 -327
  278. package/dist/tags-input-ng/tags-input-ng.js +37 -1
  279. package/dist/tags-list/tags-list.js +80 -56
  280. package/dist/template-ng/template-ng.js +50 -39
  281. package/dist/text/text.js +38 -28
  282. package/dist/title-ng/title-ng.js +28 -23
  283. package/dist/toggle/toggle.js +72 -56
  284. package/dist/toggle-ng/toggle-ng.js +14 -1
  285. package/dist/tooltip/tooltip.js +192 -146
  286. package/dist/tooltip-ng/tooltip-ng.js +51 -25
  287. package/dist/user-agreement/service.js +374 -227
  288. package/dist/user-agreement/toolbox.eula.js +1 -160
  289. package/dist/user-agreement/user-agreement.js +128 -86
  290. package/dist/user-card/card.js +32 -0
  291. package/dist/user-card/smart-user-card-tooltip.js +116 -51
  292. package/dist/user-card/tooltip.js +90 -48
  293. package/dist/user-card/user-card.js +32 -0
  294. package/dist/user-card-ng/user-card-ng.js +34 -2
  295. package/package.json +2 -2
@@ -1,15 +1,14 @@
1
- import { _ as _extends } from '../_helpers/_rollupPluginBabelHelpers.js';
1
+ import { h as _objectWithoutProperties, i as _extends } from '../_helpers/_rollupPluginBabelHelpers.js';
2
2
  import React, { createContext, forwardRef } from 'react';
3
3
  import PropTypes from 'prop-types';
4
4
 
5
- const PopupTargetContext = /*#__PURE__*/createContext(undefined);
6
- const PopupTarget = /*#__PURE__*/forwardRef(function PopupTarget(_ref, ref) {
7
- let {
8
- id,
9
- children,
10
- ...restProps
11
- } = _ref;
12
- const target = /*#__PURE__*/React.createElement("div", _extends({}, restProps, {
5
+ var _excluded = ["id", "children"];
6
+ var PopupTargetContext = /*#__PURE__*/createContext(undefined);
7
+ var PopupTarget = /*#__PURE__*/forwardRef(function PopupTarget(_ref, ref) {
8
+ var id = _ref.id,
9
+ children = _ref.children,
10
+ restProps = _objectWithoutProperties(_ref, _excluded);
11
+ var target = /*#__PURE__*/React.createElement("div", _extends({}, restProps, {
13
12
  "data-portaltarget": id,
14
13
  ref: ref
15
14
  }), typeof children !== 'function' && children);
@@ -1,5 +1,23 @@
1
+ import { a as _objectSpread2, c as _defineProperty } from '../_helpers/_rollupPluginBabelHelpers.js';
2
+ import 'core-js/modules/es.array.includes.js';
3
+ import 'core-js/modules/es.string.includes.js';
4
+ import 'core-js/modules/es.array.sort.js';
5
+ import 'core-js/modules/es.array.map.js';
6
+ import 'core-js/modules/es.array.filter.js';
7
+ import 'core-js/modules/es.object.to-string.js';
8
+ import 'core-js/modules/es.array.concat.js';
1
9
  import { getRect, isMounted, getDocumentScrollTop, getDocumentScrollLeft, getWindowHeight } from '../global/dom.js';
2
10
  import { MaxHeight, Dimension, MinWidth, Directions } from './popup.consts.js';
11
+ import 'core-js/modules/es.object.assign.js';
12
+ import 'core-js/modules/web.dom-collections.for-each.js';
13
+ import 'core-js/modules/es.regexp.exec.js';
14
+ import 'core-js/modules/es.string.split.js';
15
+ import 'core-js/modules/es.object.entries.js';
16
+ import 'core-js/modules/es.object.keys.js';
17
+ import 'core-js/modules/es.array.iterator.js';
18
+ import 'core-js/modules/es.set.js';
19
+ import 'core-js/modules/es.string.iterator.js';
20
+ import 'core-js/modules/web.dom-collections.iterator.js';
3
21
 
4
22
  function getScrollingCoordinates(container) {
5
23
  if (container !== null) {
@@ -14,118 +32,102 @@ function getScrollingCoordinates(container) {
14
32
  };
15
33
  }
16
34
  function getPositionStyles(popup, anchorRect, anchorLeft, anchorTop, offset) {
17
- const popupWidth = popup.offsetWidth;
18
- const popupHeight = popup.offsetHeight;
19
- const anchorBottom = anchorTop + anchorRect.height;
20
- const anchorRight = anchorLeft + anchorRect.width;
21
- const popupLeft = anchorLeft - popupWidth;
22
- const popupTop = anchorTop - popupHeight;
23
- const popupRightToLeft = anchorRight - popupWidth;
24
- const popupHorizontalCenter = anchorLeft + anchorRect.width / 2 - popupWidth / 2;
25
- const popupVerticalCenter = anchorTop + anchorRect.height / 2 - popupHeight / 2;
26
- const popupBottomToTop = anchorBottom - popupHeight;
27
- return {
28
- [Directions.BOTTOM_RIGHT]: {
29
- left: anchorLeft,
30
- top: anchorBottom + offset
31
- },
32
- [Directions.BOTTOM_LEFT]: {
33
- left: popupRightToLeft,
34
- top: anchorBottom + offset
35
- },
36
- [Directions.BOTTOM_CENTER]: {
37
- left: popupHorizontalCenter,
38
- top: anchorBottom + offset
39
- },
40
- [Directions.TOP_RIGHT]: {
41
- left: anchorLeft,
42
- top: popupTop - offset
43
- },
44
- [Directions.TOP_LEFT]: {
45
- left: popupRightToLeft,
46
- top: popupTop - offset
47
- },
48
- [Directions.TOP_CENTER]: {
49
- left: popupHorizontalCenter,
50
- top: popupTop - offset
51
- },
52
- [Directions.LEFT_BOTTOM]: {
53
- left: popupLeft - offset,
54
- top: anchorTop
55
- },
56
- [Directions.LEFT_TOP]: {
57
- left: popupLeft - offset,
58
- top: popupBottomToTop
59
- },
60
- [Directions.LEFT_CENTER]: {
61
- left: popupLeft - offset,
62
- top: popupVerticalCenter
63
- },
64
- [Directions.RIGHT_BOTTOM]: {
65
- left: anchorRight + offset,
66
- top: anchorTop
67
- },
68
- [Directions.RIGHT_TOP]: {
69
- left: anchorRight + offset,
70
- top: popupBottomToTop
71
- },
72
- [Directions.RIGHT_CENTER]: {
73
- left: anchorRight + offset,
74
- top: popupVerticalCenter
75
- }
76
- };
35
+ var _ref;
36
+ var popupWidth = popup.offsetWidth;
37
+ var popupHeight = popup.offsetHeight;
38
+ var anchorBottom = anchorTop + anchorRect.height;
39
+ var anchorRight = anchorLeft + anchorRect.width;
40
+ var popupLeft = anchorLeft - popupWidth;
41
+ var popupTop = anchorTop - popupHeight;
42
+ var popupRightToLeft = anchorRight - popupWidth;
43
+ var popupHorizontalCenter = anchorLeft + anchorRect.width / 2 - popupWidth / 2;
44
+ var popupVerticalCenter = anchorTop + anchorRect.height / 2 - popupHeight / 2;
45
+ var popupBottomToTop = anchorBottom - popupHeight;
46
+ return _ref = {}, _defineProperty(_ref, Directions.BOTTOM_RIGHT, {
47
+ left: anchorLeft,
48
+ top: anchorBottom + offset
49
+ }), _defineProperty(_ref, Directions.BOTTOM_LEFT, {
50
+ left: popupRightToLeft,
51
+ top: anchorBottom + offset
52
+ }), _defineProperty(_ref, Directions.BOTTOM_CENTER, {
53
+ left: popupHorizontalCenter,
54
+ top: anchorBottom + offset
55
+ }), _defineProperty(_ref, Directions.TOP_RIGHT, {
56
+ left: anchorLeft,
57
+ top: popupTop - offset
58
+ }), _defineProperty(_ref, Directions.TOP_LEFT, {
59
+ left: popupRightToLeft,
60
+ top: popupTop - offset
61
+ }), _defineProperty(_ref, Directions.TOP_CENTER, {
62
+ left: popupHorizontalCenter,
63
+ top: popupTop - offset
64
+ }), _defineProperty(_ref, Directions.LEFT_BOTTOM, {
65
+ left: popupLeft - offset,
66
+ top: anchorTop
67
+ }), _defineProperty(_ref, Directions.LEFT_TOP, {
68
+ left: popupLeft - offset,
69
+ top: popupBottomToTop
70
+ }), _defineProperty(_ref, Directions.LEFT_CENTER, {
71
+ left: popupLeft - offset,
72
+ top: popupVerticalCenter
73
+ }), _defineProperty(_ref, Directions.RIGHT_BOTTOM, {
74
+ left: anchorRight + offset,
75
+ top: anchorTop
76
+ }), _defineProperty(_ref, Directions.RIGHT_TOP, {
77
+ left: anchorRight + offset,
78
+ top: popupBottomToTop
79
+ }), _defineProperty(_ref, Directions.RIGHT_CENTER, {
80
+ left: anchorRight + offset,
81
+ top: popupVerticalCenter
82
+ }), _ref;
77
83
  }
78
84
  function verticalOverflow(styles, scrollingCoordinates, attrs) {
79
- const containerHeight = attrs.container !== null ? attrs.container.clientHeight : getWindowHeight();
80
- const viewportMinX = scrollingCoordinates.top + attrs.sidePadding;
81
- const viewportMaxX = scrollingCoordinates.top + containerHeight - attrs.sidePadding;
82
- const topOverflow = Math.max(viewportMinX - styles.top, 0);
83
- const popupHeight = attrs.popup.clientHeight;
84
- const verticalDiff = styles.top + popupHeight - viewportMaxX;
85
- const bottomOverflow = Math.max(verticalDiff, 0);
85
+ var containerHeight = attrs.container !== null ? attrs.container.clientHeight : getWindowHeight();
86
+ var viewportMinX = scrollingCoordinates.top + attrs.sidePadding;
87
+ var viewportMaxX = scrollingCoordinates.top + containerHeight - attrs.sidePadding;
88
+ var topOverflow = Math.max(viewportMinX - styles.top, 0);
89
+ var popupHeight = attrs.popup.clientHeight;
90
+ var verticalDiff = styles.top + popupHeight - viewportMaxX;
91
+ var bottomOverflow = Math.max(verticalDiff, 0);
86
92
  return topOverflow + bottomOverflow;
87
93
  }
88
94
  function horizontalOverflow(styles, scrollingCoordinates, attrs) {
89
- const containerWidth = attrs.container !== null ? attrs.container.clientWidth : window.innerWidth;
90
- const viewportMinY = scrollingCoordinates.left + attrs.sidePadding;
91
- const viewportMaxY = scrollingCoordinates.left + containerWidth - attrs.sidePadding;
92
- const leftOverflow = Math.max(viewportMinY - styles.left, 0);
93
- const popupWidth = attrs.popup.clientWidth;
94
- const horizontalDiff = styles.left + popupWidth - viewportMaxY;
95
- const rightOverflow = Math.max(horizontalDiff, 0);
95
+ var containerWidth = attrs.container !== null ? attrs.container.clientWidth : window.innerWidth;
96
+ var viewportMinY = scrollingCoordinates.left + attrs.sidePadding;
97
+ var viewportMaxY = scrollingCoordinates.left + containerWidth - attrs.sidePadding;
98
+ var leftOverflow = Math.max(viewportMinY - styles.left, 0);
99
+ var popupWidth = attrs.popup.clientWidth;
100
+ var horizontalDiff = styles.left + popupWidth - viewportMaxY;
101
+ var rightOverflow = Math.max(horizontalDiff, 0);
96
102
  return leftOverflow + rightOverflow;
97
103
  }
98
- const positionPropKeys = ['directions', 'autoPositioning', 'autoCorrectTopOverflow', 'sidePadding', 'top', 'left', 'offset', 'maxHeight', 'minWidth'];
99
- const defaultcontainerRect = {
104
+ var positionPropKeys = ['directions', 'autoPositioning', 'autoCorrectTopOverflow', 'sidePadding', 'top', 'left', 'offset', 'maxHeight', 'minWidth'];
105
+ var defaultcontainerRect = {
100
106
  top: 0,
101
107
  left: 0
102
108
  };
103
- function handleTopOffScreen(_ref) {
104
- let {
105
- sidePadding,
106
- styles,
107
- anchorRect,
108
- maxHeight,
109
- popupScrollHeight,
110
- direction,
111
- scroll
112
- } = _ref;
113
- const BORDER_COMPENSATION = 1;
114
- const {
115
- TOP_LEFT,
116
- TOP_RIGHT,
117
- TOP_CENTER,
118
- RIGHT_TOP,
119
- LEFT_TOP
120
- } = Directions;
121
- const openedToTop = direction != null && [TOP_LEFT, TOP_RIGHT, TOP_CENTER, RIGHT_TOP, LEFT_TOP].includes(direction);
109
+ function handleTopOffScreen(_ref2) {
110
+ var sidePadding = _ref2.sidePadding,
111
+ styles = _ref2.styles,
112
+ anchorRect = _ref2.anchorRect,
113
+ maxHeight = _ref2.maxHeight,
114
+ popupScrollHeight = _ref2.popupScrollHeight,
115
+ direction = _ref2.direction,
116
+ scroll = _ref2.scroll;
117
+ var BORDER_COMPENSATION = 1;
118
+ var TOP_LEFT = Directions.TOP_LEFT,
119
+ TOP_RIGHT = Directions.TOP_RIGHT,
120
+ TOP_CENTER = Directions.TOP_CENTER,
121
+ RIGHT_TOP = Directions.RIGHT_TOP,
122
+ LEFT_TOP = Directions.LEFT_TOP;
123
+ var openedToTop = direction != null && [TOP_LEFT, TOP_RIGHT, TOP_CENTER, RIGHT_TOP, LEFT_TOP].includes(direction);
122
124
  if (!openedToTop) {
123
125
  return styles;
124
126
  }
125
- const isAttachedToAnchorTop = direction != null && [TOP_LEFT, TOP_CENTER, TOP_RIGHT].includes(direction);
126
- const attachingPointY = isAttachedToAnchorTop ? anchorRect.top : anchorRect.bottom;
127
- const effectiveHeight = maxHeight && typeof maxHeight === 'number' ? Math.min(popupScrollHeight, maxHeight) : popupScrollHeight;
128
- const hypotheticalTop = attachingPointY - effectiveHeight;
127
+ var isAttachedToAnchorTop = direction != null && [TOP_LEFT, TOP_CENTER, TOP_RIGHT].includes(direction);
128
+ var attachingPointY = isAttachedToAnchorTop ? anchorRect.top : anchorRect.bottom;
129
+ var effectiveHeight = maxHeight && typeof maxHeight === 'number' ? Math.min(popupScrollHeight, maxHeight) : popupScrollHeight;
130
+ var hypotheticalTop = attachingPointY - effectiveHeight;
129
131
  if (hypotheticalTop <= sidePadding) {
130
132
  styles.top = sidePadding + scroll.top;
131
133
  styles.maxHeight = attachingPointY - sidePadding + BORDER_COMPENSATION;
@@ -133,17 +135,17 @@ function handleTopOffScreen(_ref) {
133
135
  return styles;
134
136
  }
135
137
  function maxHeightForDirection(direction, anchorNode, containerNode) {
136
- const container = containerNode || document.documentElement;
137
- const domRect = anchorNode.getBoundingClientRect();
138
- const containerRect = container.getBoundingClientRect();
139
- const topMaxHeight = Math.max(domRect.top - containerRect.top, 0);
140
- const containerHeight = Math.max(containerRect.height,
138
+ var container = containerNode || document.documentElement;
139
+ var domRect = anchorNode.getBoundingClientRect();
140
+ var containerRect = container.getBoundingClientRect();
141
+ var topMaxHeight = Math.max(domRect.top - containerRect.top, 0);
142
+ var containerHeight = Math.max(containerRect.height,
141
143
  // XXX
142
144
  // If container is the document element
143
145
  // then we check client height too because we may have situation when
144
146
  // "height" from "getBoundingClientRect" less then "clientHeight".
145
147
  container === document.documentElement ? container.clientHeight : 0);
146
- const bottomMaxHeight = Math.max(containerHeight - (topMaxHeight + domRect.height), 0);
148
+ var bottomMaxHeight = Math.max(containerHeight - (topMaxHeight + domRect.height), 0);
147
149
  switch (direction) {
148
150
  case Directions.TOP_LEFT:
149
151
  case Directions.TOP_CENTER:
@@ -167,62 +169,60 @@ function maxHeightForDirection(direction, anchorNode, containerNode) {
167
169
  }
168
170
  }
169
171
  function position(attrs) {
170
- const {
171
- popup,
172
- anchor,
173
- container,
174
- directions,
175
- autoPositioning,
176
- sidePadding,
177
- top,
178
- left,
179
- offset,
180
- maxHeight,
181
- minWidth,
182
- autoCorrectTopOverflow = true
183
- } = attrs;
184
- let styles = {
172
+ var popup = attrs.popup,
173
+ anchor = attrs.anchor,
174
+ container = attrs.container,
175
+ directions = attrs.directions,
176
+ autoPositioning = attrs.autoPositioning,
177
+ sidePadding = attrs.sidePadding,
178
+ top = attrs.top,
179
+ left = attrs.left,
180
+ offset = attrs.offset,
181
+ maxHeight = attrs.maxHeight,
182
+ minWidth = attrs.minWidth,
183
+ _attrs$autoCorrectTop = attrs.autoCorrectTopOverflow,
184
+ autoCorrectTopOverflow = _attrs$autoCorrectTop === void 0 ? true : _attrs$autoCorrectTop;
185
+ var styles = {
185
186
  top: 0,
186
187
  left: 0
187
188
  };
188
- let chosenDirection = null;
189
- const containerRect = container !== null ? getRect(container) : defaultcontainerRect;
190
- const defaultAnchor = container !== null ? container : document.body;
191
- const anchorRect = getRect(isMounted(anchor) ? anchor : defaultAnchor);
192
- const scroll = getScrollingCoordinates(container);
193
- const anchorLeft = anchorRect.left + scroll.left + left - containerRect.left;
194
- const anchorTop = anchorRect.top + scroll.top + top - containerRect.top;
189
+ var chosenDirection = null;
190
+ var containerRect = container !== null ? getRect(container) : defaultcontainerRect;
191
+ var defaultAnchor = container !== null ? container : document.body;
192
+ var anchorRect = getRect(isMounted(anchor) ? anchor : defaultAnchor);
193
+ var scroll = getScrollingCoordinates(container);
194
+ var anchorLeft = anchorRect.left + scroll.left + left - containerRect.left;
195
+ var anchorTop = anchorRect.top + scroll.top + top - containerRect.top;
195
196
  if (popup) {
196
- const overflowAttrs = {
197
- ...attrs,
198
- popup
199
- };
200
- const directionsMatrix = getPositionStyles(popup, anchorRect, anchorLeft, anchorTop, offset);
197
+ var overflowAttrs = _objectSpread2(_objectSpread2({}, attrs), {}, {
198
+ popup: popup
199
+ });
200
+ var directionsMatrix = getPositionStyles(popup, anchorRect, anchorLeft, anchorTop, offset);
201
201
  if (!autoPositioning || directions.length === 1) {
202
202
  styles = directionsMatrix[directions[0]];
203
203
  chosenDirection = directions[0];
204
204
  } else {
205
- const sortedByIncreasingOverflow = directions.
205
+ var sortedByIncreasingOverflow = directions.
206
206
  // Fall back to the first option
207
- concat(directions[0]).filter(direction => directionsMatrix[direction]).map(direction => ({
208
- styles: directionsMatrix[direction],
209
- direction
210
- })).sort((_ref2, _ref3) => {
211
- let {
212
- styles: stylesA
213
- } = _ref2;
214
- let {
215
- styles: stylesB
216
- } = _ref3;
217
- const overflowA = verticalOverflow(stylesA, scroll, overflowAttrs) + horizontalOverflow(stylesA, scroll, overflowAttrs);
218
- const overflowB = verticalOverflow(stylesB, scroll, overflowAttrs) + horizontalOverflow(stylesB, scroll, overflowAttrs);
207
+ concat(directions[0]).filter(function (direction) {
208
+ return directionsMatrix[direction];
209
+ }).map(function (direction) {
210
+ return {
211
+ styles: directionsMatrix[direction],
212
+ direction: direction
213
+ };
214
+ }).sort(function (_ref3, _ref4) {
215
+ var stylesA = _ref3.styles;
216
+ var stylesB = _ref4.styles;
217
+ var overflowA = verticalOverflow(stylesA, scroll, overflowAttrs) + horizontalOverflow(stylesA, scroll, overflowAttrs);
218
+ var overflowB = verticalOverflow(stylesB, scroll, overflowAttrs) + horizontalOverflow(stylesB, scroll, overflowAttrs);
219
219
  return overflowA - overflowB;
220
220
  });
221
221
  styles = sortedByIncreasingOverflow[0].styles;
222
222
  chosenDirection = sortedByIncreasingOverflow[0].direction;
223
223
  }
224
224
  // because of the anchor negative margin top and left also may become negative
225
- ['left', 'top'].forEach(key => {
225
+ ['left', 'top'].forEach(function (key) {
226
226
  if (styles[key] < 0) {
227
227
  styles[key] = 0;
228
228
  }
@@ -237,13 +237,13 @@ function position(attrs) {
237
237
  if (autoCorrectTopOverflow) {
238
238
  var _popup$scrollHeight;
239
239
  styles = handleTopOffScreen({
240
- sidePadding,
241
- styles,
242
- anchorRect,
243
- maxHeight,
240
+ sidePadding: sidePadding,
241
+ styles: styles,
242
+ anchorRect: anchorRect,
243
+ maxHeight: maxHeight,
244
244
  direction: chosenDirection,
245
- popupScrollHeight: (_popup$scrollHeight = popup?.scrollHeight) !== null && _popup$scrollHeight !== void 0 ? _popup$scrollHeight : 0,
246
- scroll
245
+ popupScrollHeight: (_popup$scrollHeight = popup === null || popup === void 0 ? void 0 : popup.scrollHeight) !== null && _popup$scrollHeight !== void 0 ? _popup$scrollHeight : 0,
246
+ scroll: scroll
247
247
  });
248
248
  }
249
249
  if (minWidth === MinWidth.TARGET || minWidth === 'target') {
@@ -252,7 +252,7 @@ function position(attrs) {
252
252
  styles.minWidth = anchorRect.width < minWidth ? minWidth : anchorRect.width;
253
253
  }
254
254
  return {
255
- styles,
255
+ styles: styles,
256
256
  direction: chosenDirection
257
257
  };
258
258
  }
@@ -1,23 +1,51 @@
1
- import { _ as _extends } from '../_helpers/_rollupPluginBabelHelpers.js';
1
+ import { h as _objectWithoutProperties, c as _defineProperty, a as _objectSpread2, j as _inherits, k as _createSuper, b as _classCallCheck, m as _assertThisInitialized, _ as _createClass, i as _extends } from '../_helpers/_rollupPluginBabelHelpers.js';
2
+ import 'core-js/modules/es.array.concat.js';
3
+ import 'core-js/modules/es.parse-float.js';
2
4
  import React from 'react';
3
5
  import PropTypes from 'prop-types';
4
6
  import Popup from '../popup/popup.js';
5
7
  import List from '../list/list.js';
8
+ import 'core-js/modules/es.object.to-string.js';
9
+ import 'core-js/modules/web.dom-collections.for-each.js';
10
+ import 'core-js/modules/es.object.entries.js';
11
+ import 'core-js/modules/es.regexp.to-string.js';
12
+ import 'core-js/modules/es.regexp.exec.js';
13
+ import 'core-js/modules/es.string.replace.js';
6
14
  import 'react-dom';
7
15
  import 'classnames';
8
16
  import '../global/get-uid.js';
9
17
  import '../global/schedule-raf.js';
10
18
  import '../global/dom.js';
19
+ import 'core-js/modules/es.object.assign.js';
20
+ import 'core-js/modules/es.array.filter.js';
21
+ import 'core-js/modules/es.string.split.js';
22
+ import 'core-js/modules/es.object.keys.js';
23
+ import 'core-js/modules/es.array.iterator.js';
24
+ import 'core-js/modules/es.set.js';
25
+ import 'core-js/modules/es.string.iterator.js';
26
+ import 'core-js/modules/web.dom-collections.iterator.js';
11
27
  import '../shortcuts/shortcuts.js';
28
+ import 'core-js/modules/es.array.map.js';
12
29
  import '../shortcuts/core.js';
30
+ import 'core-js/modules/es.array.includes.js';
31
+ import 'core-js/modules/es.string.includes.js';
32
+ import 'core-js/modules/es.array.slice.js';
33
+ import 'core-js/modules/es.array.splice.js';
34
+ import 'core-js/modules/es.string.match.js';
35
+ import 'core-js/modules/es.array.find-index.js';
13
36
  import 'combokeys';
14
37
  import '../global/sniffer.js';
15
38
  import 'sniffr';
16
39
  import '../global/data-tests.js';
40
+ import 'core-js/modules/es.array.reduce.js';
17
41
  import '../tab-trap/tab-trap.js';
18
42
  import '../popup/position.js';
43
+ import 'core-js/modules/es.array.sort.js';
19
44
  import '../popup/popup.consts.js';
20
45
  import '../popup/popup.target.js';
46
+ import 'core-js/modules/es.symbol.js';
47
+ import 'core-js/modules/es.symbol.description.js';
48
+ import 'core-js/modules/es.array.find.js';
21
49
  import 'react-virtualized/dist/es/List';
22
50
  import 'react-virtualized/dist/es/AutoSizer';
23
51
  import 'react-virtualized/dist/es/WindowScroller';
@@ -25,6 +53,8 @@ import 'react-virtualized/dist/es/CellMeasurer';
25
53
  import 'util-deprecate';
26
54
  import 'memoize-one';
27
55
  import '../global/memoize.js';
56
+ import 'core-js/modules/es.map.js';
57
+ import 'core-js/modules/es.weak-map.js';
28
58
  import '../global/create-stateful-context.js';
29
59
  import '../list/list__link.js';
30
60
  import '../link/link.js';
@@ -32,9 +62,12 @@ import '../link/clickableLink.js';
32
62
  import '../_helpers/link.js';
33
63
  import '../_helpers/list.js';
34
64
  import '../list/list__item.js';
65
+ import 'core-js/modules/es.number.constructor.js';
66
+ import 'core-js/modules/es.array.index-of.js';
35
67
  import '../avatar/avatar.js';
36
68
  import '../global/url.js';
37
69
  import '../avatar/fallback-avatar.js';
70
+ import 'core-js/modules/es.array.from.js';
38
71
  import '../checkbox/checkbox.js';
39
72
  import '@jetbrains/icons/checkmark-14px';
40
73
  import '@jetbrains/icons/remove-14px';
@@ -42,6 +75,7 @@ import '../icon/icon.js';
42
75
  import '../icon/icon__constants.js';
43
76
  import '../_helpers/icon.js';
44
77
  import '../icon/icon__svg.js';
78
+ import 'core-js/modules/es.string.starts-with.js';
45
79
  import '../global/prop-types.js';
46
80
  import '../global/composeRefs.js';
47
81
  import '../_helpers/checkbox.js';
@@ -52,54 +86,62 @@ import '../list/list__separator.js';
52
86
  import '../list/list__hint.js';
53
87
  import '../list/consts.js';
54
88
 
55
- const {
56
- children,
57
- ...popupPropTypes
58
- } = Popup.propTypes || {};
89
+ var _excluded = ["className"];
90
+ var _ref = Popup.propTypes || {};
91
+ _ref.children;
92
+ var popupPropTypes = _objectWithoutProperties(_ref, ["children"]);
59
93
  /**
60
94
  * @name Popup Menu
61
95
  */
62
- class PopupMenu extends Popup {
63
- static isItemType = List.isItemType;
64
- static ListProps = List.ListProps;
65
- static defaultProps = {
66
- ...List.defaultProps,
67
- ...Popup.defaultProps,
68
- renderOptimization: false,
69
- closeOnSelect: false
70
- };
71
- onSelect = (item, event) => {
72
- if (this.props.closeOnSelect) {
73
- this._onCloseAttempt(event);
96
+ var PopupMenu = /*#__PURE__*/function (_Popup) {
97
+ _inherits(PopupMenu, _Popup);
98
+ var _super = _createSuper(PopupMenu);
99
+ function PopupMenu() {
100
+ var _this;
101
+ _classCallCheck(this, PopupMenu);
102
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
103
+ args[_key] = arguments[_key];
74
104
  }
75
- this.props.onSelect(item, event);
76
- };
77
- list;
78
- listRef = el => {
79
- this.list = el;
80
- };
81
- /** @override */
82
- getInternalContent() {
83
- const {
84
- className,
85
- ...props
86
- } = this.props;
87
- return /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(List, _extends({
88
- ref: this.listRef
89
- }, props, {
90
- maxHeight: this.popup && parseFloat(this.popup.style.maxHeight),
91
- shortcuts: this.shouldUseShortcuts(),
92
- onSelect: this.onSelect
93
- })));
105
+ _this = _super.call.apply(_super, [this].concat(args));
106
+ _defineProperty(_assertThisInitialized(_this), "onSelect", function (item, event) {
107
+ if (_this.props.closeOnSelect) {
108
+ _this._onCloseAttempt(event);
109
+ }
110
+ _this.props.onSelect(item, event);
111
+ });
112
+ _defineProperty(_assertThisInitialized(_this), "list", void 0);
113
+ _defineProperty(_assertThisInitialized(_this), "listRef", function (el) {
114
+ _this.list = el;
115
+ });
116
+ return _this;
94
117
  }
95
- }
96
- PopupMenu.propTypes = {
97
- ...popupPropTypes,
98
- ...List.propTypes,
118
+ _createClass(PopupMenu, [{
119
+ key: "getInternalContent",
120
+ value: /** @override */
121
+ function getInternalContent() {
122
+ var _this$props = this.props;
123
+ _this$props.className;
124
+ var props = _objectWithoutProperties(_this$props, _excluded);
125
+ return /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(List, _extends({
126
+ ref: this.listRef
127
+ }, props, {
128
+ maxHeight: this.popup && parseFloat(this.popup.style.maxHeight),
129
+ shortcuts: this.shouldUseShortcuts(),
130
+ onSelect: this.onSelect
131
+ })));
132
+ }
133
+ }]);
134
+ return PopupMenu;
135
+ }(Popup);
136
+ _defineProperty(PopupMenu, "isItemType", List.isItemType);
137
+ _defineProperty(PopupMenu, "ListProps", List.ListProps);
138
+ _defineProperty(PopupMenu, "defaultProps", _objectSpread2(_objectSpread2(_objectSpread2({}, List.defaultProps), Popup.defaultProps), {}, {
139
+ renderOptimization: false,
140
+ closeOnSelect: false
141
+ }));
142
+ PopupMenu.propTypes = _objectSpread2(_objectSpread2(_objectSpread2({}, popupPropTypes), List.propTypes), {}, {
99
143
  closeOnSelect: PropTypes.bool
100
- };
101
- const {
102
- ListProps
103
- } = List;
144
+ });
145
+ var ListProps = List.ListProps;
104
146
 
105
147
  export { ListProps, PopupMenu as default };