@jetbrains/ring-ui 5.0.155 → 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 (299) hide show
  1. package/components/checkbox/checkbox.css +1 -1
  2. package/components/global/variables_dark.css +2 -2
  3. package/components/radio/radio.css +1 -1
  4. package/dist/_helpers/_rollupPluginBabelHelpers.js +642 -1
  5. package/dist/_helpers/anchor.js +6 -7
  6. package/dist/_helpers/button__classes.js +16 -28
  7. package/dist/_helpers/card.js +107 -95
  8. package/dist/_helpers/dialog__body-scroll-preventer.js +20 -11
  9. package/dist/_helpers/footer.js +29 -34
  10. package/dist/_helpers/query-assist__suggestions.js +91 -74
  11. package/dist/_helpers/select__filter.js +71 -48
  12. package/dist/_helpers/services-link.js +41 -29
  13. package/dist/_helpers/sidebar.js +103 -99
  14. package/dist/_helpers/theme.js +42 -35
  15. package/dist/_helpers/title.js +71 -57
  16. package/dist/alert/alert.js +199 -158
  17. package/dist/alert/container.js +43 -32
  18. package/dist/alert-service/alert-service.js +172 -104
  19. package/dist/analytics/analytics.js +92 -68
  20. package/dist/analytics/analytics__custom-plugin.js +84 -60
  21. package/dist/analytics/analytics__fus-plugin.js +28 -15
  22. package/dist/analytics/analytics__ga-plugin.js +60 -43
  23. package/dist/analytics/analytics__plugin-utils.js +28 -22
  24. package/dist/auth/auth.js +36 -4
  25. package/dist/auth/auth__core.js +1458 -732
  26. package/dist/auth/background-flow.js +129 -87
  27. package/dist/auth/down-notification.js +75 -30
  28. package/dist/auth/iframe-flow.js +136 -75
  29. package/dist/auth/landing.js +90 -30
  30. package/dist/auth/request-builder.js +82 -46
  31. package/dist/auth/response-parser.js +119 -86
  32. package/dist/auth/storage.js +333 -171
  33. package/dist/auth/token-validator.js +244 -137
  34. package/dist/auth/window-flow.js +136 -92
  35. package/dist/auth-dialog/auth-dialog.js +176 -114
  36. package/dist/auth-dialog-service/auth-dialog-service.js +32 -7
  37. package/dist/auth-ng/auth-ng.js +70 -34
  38. package/dist/auth-ng/auth-ng.mock.js +6 -6
  39. package/dist/autofocus-ng/autofocus-ng.js +23 -8
  40. package/dist/avatar/avatar-example-datauri.js +1 -23
  41. package/dist/avatar/avatar.js +155 -119
  42. package/dist/avatar/fallback-avatar.js +41 -22
  43. package/dist/avatar-editor-ng/avatar-editor-ng.js +56 -23
  44. package/dist/avatar-editor-ng/avatar-editor-ng__template.js +1 -28
  45. package/dist/avatar-ng/avatar-ng.js +23 -1
  46. package/dist/badge/badge.js +43 -35
  47. package/dist/badge-ng/badge-ng.js +13 -1
  48. package/dist/breadcrumb-ng/breadcrumb-ng.js +15 -29
  49. package/dist/button/button.js +111 -87
  50. package/dist/button/button__classes.js +1 -0
  51. package/dist/button-group/button-group.js +35 -19
  52. package/dist/button-group/caption.js +22 -14
  53. package/dist/button-group-ng/button-group-ng.js +13 -7
  54. package/dist/button-ng/button-ng.js +154 -133
  55. package/dist/button-set/button-set.js +34 -20
  56. package/dist/button-set-ng/button-set-ng.js +2 -2
  57. package/dist/button-toolbar/button-toolbar.js +33 -19
  58. package/dist/button-toolbar-ng/button-toolbar-ng.js +5 -3
  59. package/dist/caret/caret.js +225 -188
  60. package/dist/checkbox/checkbox.js +104 -76
  61. package/dist/checkbox-ng/checkbox-ng.js +18 -27
  62. package/dist/clipboard/clipboard-fallback.js +10 -10
  63. package/dist/clipboard/clipboard.js +131 -34
  64. package/dist/code/code.js +168 -92
  65. package/dist/compiler-ng/compiler-ng.js +18 -15
  66. package/dist/confirm/confirm.js +108 -66
  67. package/dist/confirm-ng/confirm-ng.js +33 -4
  68. package/dist/confirm-service/confirm-service.js +66 -42
  69. package/dist/content-layout/content-layout.js +64 -43
  70. package/dist/content-layout/sidebar.js +1 -0
  71. package/dist/contenteditable/contenteditable.js +61 -50
  72. package/dist/control-label/control-label.js +11 -15
  73. package/dist/data-list/data-list.js +184 -128
  74. package/dist/data-list/data-list.mock.js +11 -2
  75. package/dist/data-list/item.js +174 -143
  76. package/dist/data-list/selection.js +139 -76
  77. package/dist/data-list/title.js +13 -1
  78. package/dist/data-list-ng/data-list-ng.js +31 -1
  79. package/dist/date-picker/consts.js +18 -15
  80. package/dist/date-picker/date-input.js +147 -115
  81. package/dist/date-picker/date-picker.js +285 -228
  82. package/dist/date-picker/date-popup.js +397 -356
  83. package/dist/date-picker/day.js +98 -84
  84. package/dist/date-picker/month-names.js +64 -43
  85. package/dist/date-picker/month-slider.js +74 -51
  86. package/dist/date-picker/month.js +21 -15
  87. package/dist/date-picker/months.js +48 -43
  88. package/dist/date-picker/weekdays.js +18 -12
  89. package/dist/date-picker/years.js +109 -84
  90. package/dist/dialog/dialog.js +189 -141
  91. package/dist/dialog/dialog__body-scroll-preventer.js +5 -0
  92. package/dist/dialog-ng/dialog-ng.js +401 -287
  93. package/dist/dialog-ng/dialog-ng__template.js +1 -70
  94. package/dist/docked-panel-ng/docked-panel-ng.js +33 -18
  95. package/dist/dropdown/anchor.js +10 -0
  96. package/dist/dropdown/dropdown.js +214 -182
  97. package/dist/dropdown-menu/dropdown-menu.js +102 -72
  98. package/dist/editable-heading/editable-heading.js +100 -58
  99. package/dist/error-bubble/error-bubble.js +64 -31
  100. package/dist/error-message/error-message.js +61 -38
  101. package/dist/error-message-ng/error-message-ng.js +11 -22
  102. package/dist/footer/footer.js +11 -1
  103. package/dist/footer-ng/footer-ng.js +64 -36
  104. package/dist/form-ng/form-ng.js +66 -56
  105. package/dist/global/angular-component-factory.js +76 -53
  106. package/dist/global/compose.js +10 -1
  107. package/dist/global/composeRefs.js +12 -7
  108. package/dist/global/controls-height.js +2 -2
  109. package/dist/global/create-stateful-context.js +19 -19
  110. package/dist/global/data-tests.js +15 -7
  111. package/dist/global/dom.js +95 -53
  112. package/dist/global/focus-sensor-hoc.js +134 -122
  113. package/dist/global/fuzzy-highlight.js +41 -27
  114. package/dist/global/get-event-key.js +8 -8
  115. package/dist/global/get-uid.js +8 -4
  116. package/dist/global/inject-styles.js +15 -10
  117. package/dist/global/linear-function.js +2 -2
  118. package/dist/global/listeners.js +53 -27
  119. package/dist/global/memoize.js +13 -6
  120. package/dist/global/normalize-indent.js +51 -19
  121. package/dist/global/promise-with-timeout.js +8 -6
  122. package/dist/global/prop-types.js +5 -3
  123. package/dist/global/react-dom-renderer.js +47 -28
  124. package/dist/global/react-render-adapter.js +19 -13
  125. package/dist/global/rerender-hoc.js +41 -16
  126. package/dist/global/ring-angular-component.js +20 -10
  127. package/dist/global/schedule-raf.js +6 -5
  128. package/dist/global/sniffer.js +1 -1
  129. package/dist/global/theme.js +24 -0
  130. package/dist/global/trivial-template-tag.js +10 -3
  131. package/dist/global/typescript-utils.js +6 -2
  132. package/dist/global/url.js +27 -21
  133. package/dist/global/use-event-callback.js +4 -6
  134. package/dist/grid/col.js +55 -35
  135. package/dist/grid/grid.js +36 -17
  136. package/dist/grid/row.js +48 -35
  137. package/dist/group/group.js +27 -17
  138. package/dist/group-ng/group-ng.js +2 -2
  139. package/dist/header/header.js +80 -33
  140. package/dist/header/logo.js +39 -20
  141. package/dist/header/profile.js +188 -150
  142. package/dist/header/services-link.js +9 -0
  143. package/dist/header/services.js +118 -73
  144. package/dist/header/smart-profile.js +207 -111
  145. package/dist/header/smart-services.js +115 -62
  146. package/dist/header/tray-icon.js +38 -21
  147. package/dist/header/tray.js +34 -21
  148. package/dist/heading/heading.js +25 -26
  149. package/dist/heading-ng/heading-ng.js +11 -1
  150. package/dist/http/http.js +368 -215
  151. package/dist/http/http.mock.js +104 -49
  152. package/dist/hub-source/hub-source.js +191 -83
  153. package/dist/hub-source/hub-source__user.js +45 -11
  154. package/dist/hub-source/hub-source__users-groups.js +67 -37
  155. package/dist/i18n/i18n-context.js +14 -10
  156. package/dist/i18n/i18n.js +11 -7
  157. package/dist/icon/icon.js +94 -76
  158. package/dist/icon/icon__svg.js +31 -24
  159. package/dist/icon/index.js +9 -0
  160. package/dist/icon-ng/icon-ng.js +27 -15
  161. package/dist/input/input.js +184 -145
  162. package/dist/input-ng/input-ng.js +96 -118
  163. package/dist/island/adaptive-island-hoc.js +45 -30
  164. package/dist/island/content.js +130 -115
  165. package/dist/island/header.js +69 -56
  166. package/dist/island/island.js +40 -28
  167. package/dist/island-legacy/content-legacy.js +27 -17
  168. package/dist/island-legacy/header-legacy.js +29 -19
  169. package/dist/island-legacy/island-legacy.js +27 -17
  170. package/dist/island-ng/island-content-ng.js +17 -26
  171. package/dist/island-ng/island-header-ng.js +9 -12
  172. package/dist/island-ng/island-ng-class-fixer.js +3 -0
  173. package/dist/island-ng/island-ng.js +6 -10
  174. package/dist/link/clickableLink.js +61 -44
  175. package/dist/link/link.js +85 -74
  176. package/dist/link-ng/link-ng.js +3 -5
  177. package/dist/list/consts.js +1 -1
  178. package/dist/list/list.js +696 -602
  179. package/dist/list/list__custom.js +61 -44
  180. package/dist/list/list__hint.js +21 -10
  181. package/dist/list/list__item.js +167 -129
  182. package/dist/list/list__link.js +54 -37
  183. package/dist/list/list__separator.js +24 -14
  184. package/dist/list/list__title.js +32 -22
  185. package/dist/list/list__users-groups-source.js +131 -54
  186. package/dist/loader/loader.js +78 -43
  187. package/dist/loader/loader__core.js +257 -189
  188. package/dist/loader-inline/loader-inline.js +37 -23
  189. package/dist/loader-inline-ng/loader-inline-ng.js +2 -2
  190. package/dist/loader-ng/loader-ng.js +46 -19
  191. package/dist/loader-screen/loader-screen.js +48 -25
  192. package/dist/loader-screen-ng/loader-screen-ng.js +46 -30
  193. package/dist/login-dialog/login-dialog.js +162 -111
  194. package/dist/login-dialog/service.js +35 -7
  195. package/dist/markdown/code.js +31 -9
  196. package/dist/markdown/heading.js +3 -5
  197. package/dist/markdown/link.js +13 -6
  198. package/dist/markdown/markdown.js +66 -33
  199. package/dist/message/message.js +157 -125
  200. package/dist/message-bundle-ng/message-bundle-ng.js +128 -44
  201. package/dist/old-browsers-message/old-browsers-message.js +19 -11
  202. package/dist/old-browsers-message/old-browsers-message__stop.js +8 -0
  203. package/dist/old-browsers-message/white-list.js +16 -9
  204. package/dist/pager/pager.js +275 -210
  205. package/dist/pager-ng/pager-ng.js +36 -1
  206. package/dist/panel/panel.js +27 -17
  207. package/dist/panel-ng/panel-ng.js +14 -1
  208. package/dist/permissions/permissions.js +173 -127
  209. package/dist/permissions/permissions__cache.js +225 -194
  210. package/dist/permissions-ng/permissions-ng.js +86 -35
  211. package/dist/place-under-ng/place-under-ng.js +68 -45
  212. package/dist/popup/popup.consts.js +1 -1
  213. package/dist/popup/popup.js +342 -280
  214. package/dist/popup/popup.target.js +8 -9
  215. package/dist/popup/position.js +153 -153
  216. package/dist/popup-menu/popup-menu.js +86 -44
  217. package/dist/progress-bar/progress-bar.js +97 -80
  218. package/dist/progress-bar-ng/progress-bar-ng.js +11 -1
  219. package/dist/promised-click-ng/promised-click-ng.js +92 -58
  220. package/dist/proxy-attrs/proxy-attrs.js +18 -9
  221. package/dist/query-assist/query-assist.js +903 -832
  222. package/dist/query-assist/query-assist__suggestions.js +33 -1
  223. package/dist/query-assist-ng/query-assist-ng.js +38 -1
  224. package/dist/radio/radio.js +36 -19
  225. package/dist/radio/radio__item.js +71 -52
  226. package/dist/radio-ng/radio-ng.js +14 -25
  227. package/dist/save-field-ng/save-field-ng.js +86 -52
  228. package/dist/save-field-ng/save-field-ng__template.js +1 -32
  229. package/dist/select/select.js +937 -835
  230. package/dist/select/select__filter.js +33 -0
  231. package/dist/select/select__popup.js +472 -359
  232. package/dist/select-ng/select-ng.js +125 -74
  233. package/dist/select-ng/select-ng__lazy.js +101 -50
  234. package/dist/select-ng/select-ng__options.js +107 -81
  235. package/dist/shortcuts/core.js +218 -166
  236. package/dist/shortcuts/shortcut-title.js +11 -6
  237. package/dist/shortcuts/shortcuts-hoc.js +47 -19
  238. package/dist/shortcuts/shortcuts.js +77 -50
  239. package/dist/shortcuts-hint-ng/shortcuts-hint-ng.js +104 -53
  240. package/dist/shortcuts-hint-ng/shortcuts-hint-ng__template.js +1 -48
  241. package/dist/shortcuts-ng/shortcuts-ng.js +86 -51
  242. package/dist/sidebar-ng/sidebar-ng.js +53 -22
  243. package/dist/sidebar-ng/sidebar-ng__button-template.js +1 -18
  244. package/dist/sidebar-ng/sidebar-ng__template.js +1 -10
  245. package/dist/storage/storage.js +35 -4
  246. package/dist/storage/storage__fallback.js +224 -149
  247. package/dist/storage/storage__local.js +156 -90
  248. package/dist/style.css +1 -1
  249. package/dist/tab-trap/tab-trap.js +157 -122
  250. package/dist/table/cell.js +28 -14
  251. package/dist/table/disable-hover-hoc.js +53 -33
  252. package/dist/table/header-cell.js +87 -64
  253. package/dist/table/header.js +126 -98
  254. package/dist/table/multitable.js +127 -107
  255. package/dist/table/row-with-focus-sensor.js +73 -25
  256. package/dist/table/row.js +208 -170
  257. package/dist/table/selection-adapter.js +3 -1
  258. package/dist/table/selection-shortcuts-hoc.js +184 -181
  259. package/dist/table/selection.js +228 -156
  260. package/dist/table/smart-table.js +93 -51
  261. package/dist/table/table.js +348 -281
  262. package/dist/table-legacy-ng/table-legacy-ng.js +117 -102
  263. package/dist/table-legacy-ng/table-legacy-ng__pager.js +42 -10
  264. package/dist/table-legacy-ng/table-legacy-ng__selection-navigate-actions.js +92 -69
  265. package/dist/table-legacy-ng/table-legacy-ng__selection.js +169 -119
  266. package/dist/table-legacy-ng/table-legacy-ng__toolbar.js +36 -21
  267. package/dist/table-ng/smart-table-ng.js +31 -1
  268. package/dist/table-ng/table-ng.js +31 -1
  269. package/dist/tabs/collapsible-more.js +87 -50
  270. package/dist/tabs/collapsible-tab.js +45 -38
  271. package/dist/tabs/collapsible-tabs.js +161 -94
  272. package/dist/tabs/custom-item.js +2 -4
  273. package/dist/tabs/dumb-tabs.js +122 -75
  274. package/dist/tabs/smart-tabs.js +75 -29
  275. package/dist/tabs/tab-link.js +29 -19
  276. package/dist/tabs/tab.js +33 -19
  277. package/dist/tabs/tabs.js +35 -0
  278. package/dist/tabs-ng/tabs-ng.js +38 -24
  279. package/dist/tabs-ng/tabs-ng__template.js +1 -38
  280. package/dist/tag/tag.js +170 -133
  281. package/dist/tags-input/tags-input.js +428 -327
  282. package/dist/tags-input-ng/tags-input-ng.js +37 -1
  283. package/dist/tags-list/tags-list.js +80 -56
  284. package/dist/template-ng/template-ng.js +50 -39
  285. package/dist/text/text.js +38 -28
  286. package/dist/title-ng/title-ng.js +28 -23
  287. package/dist/toggle/toggle.js +72 -56
  288. package/dist/toggle-ng/toggle-ng.js +14 -1
  289. package/dist/tooltip/tooltip.js +192 -146
  290. package/dist/tooltip-ng/tooltip-ng.js +51 -25
  291. package/dist/user-agreement/service.js +374 -227
  292. package/dist/user-agreement/toolbox.eula.js +1 -160
  293. package/dist/user-agreement/user-agreement.js +128 -86
  294. package/dist/user-card/card.js +32 -0
  295. package/dist/user-card/smart-user-card-tooltip.js +116 -51
  296. package/dist/user-card/tooltip.js +90 -48
  297. package/dist/user-card/user-card.js +32 -0
  298. package/dist/user-card-ng/user-card-ng.js +34 -2
  299. package/package.json +13 -13
@@ -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 };