@jetbrains/ring-ui-built 6.0.32 → 6.0.33

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