@jetbrains/ring-ui-built 6.0.30 → 6.0.32

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