@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,9 +1,4 @@
1
- import { _ as _defineProperty, a as _inherits, b as _createClass, c as _objectWithoutProperties, e as _extends, k as _toConsumableArray, f as _classCallCheck, g as _callSuper } 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.map.js';
5
- import 'core-js/modules/es.array.sort.js';
6
- import 'core-js/modules/es.object.to-string.js';
1
+ import { _ as _extends } from '../_helpers/_rollupPluginBabelHelpers.js';
7
2
  import React, { PureComponent } from 'react';
8
3
  import PropTypes from 'prop-types';
9
4
  import servicesIcon from '@jetbrains/icons/services-20px';
@@ -14,8 +9,6 @@ import { T as Theme, m as modules_59717246 } from '../_helpers/theme.js';
14
9
  import TrayIcon from './tray-icon.js';
15
10
  import { S as ServicesLink, m as modules_74a7bf8b } from '../_helpers/services-link.js';
16
11
  import '../global/data-tests.js';
17
- import 'core-js/modules/es.array.reduce.js';
18
- import 'core-js/modules/es.object.entries.js';
19
12
  import '../global/typescript-utils.js';
20
13
  import '../_helpers/anchor.js';
21
14
  import '@jetbrains/icons/chevron-10px';
@@ -23,35 +16,17 @@ import '../icon/icon.js';
23
16
  import 'util-deprecate';
24
17
  import '../icon/icon__constants.js';
25
18
  import '../_helpers/icon__svg.js';
26
- import 'core-js/modules/es.regexp.exec.js';
27
- import 'core-js/modules/es.string.replace.js';
28
- import 'core-js/modules/es.string.starts-with.js';
29
19
  import '../global/memoize.js';
30
- import 'core-js/modules/es.array.iterator.js';
31
- import 'core-js/modules/es.map.js';
32
- import 'core-js/modules/es.weak-map.js';
33
- import 'core-js/modules/web.dom-collections.iterator.js';
34
20
  import '../button/button.js';
35
21
  import '../link/clickableLink.js';
36
22
  import '../global/controls-height.js';
37
23
  import '../_helpers/button__classes.js';
38
- import 'core-js/modules/es.regexp.to-string.js';
39
- import 'core-js/modules/web.dom-collections.for-each.js';
40
24
  import 'react-dom';
41
25
  import '../global/get-uid.js';
42
26
  import '../global/schedule-raf.js';
43
27
  import '../global/dom.js';
44
- import 'core-js/modules/es.object.assign.js';
45
- import 'core-js/modules/es.set.js';
46
- import 'core-js/modules/es.string.split.js';
47
28
  import '../shortcuts/shortcuts.js';
48
29
  import '../shortcuts/core.js';
49
- import 'core-js/modules/es.array.find-index.js';
50
- import 'core-js/modules/es.array.includes.js';
51
- import 'core-js/modules/es.array.slice.js';
52
- import 'core-js/modules/es.array.splice.js';
53
- import 'core-js/modules/es.string.includes.js';
54
- import 'core-js/modules/es.string.match.js';
55
30
  import 'combokeys';
56
31
  import '../global/sniffer.js';
57
32
  import 'sniffr';
@@ -63,10 +38,11 @@ import '../_helpers/header.js';
63
38
  import '../link/link.js';
64
39
  import '../_helpers/link.js';
65
40
 
66
- var _excluded = ["clientId", "loading", "services", "initShown", "theme"];
67
- var makeAnchor = function makeAnchor(loading) {
68
- var Anchor = function Anchor(_ref) {
69
- var active = _ref.active;
41
+ const makeAnchor = loading => {
42
+ const Anchor = _ref => {
43
+ let {
44
+ active
45
+ } = _ref;
70
46
  return /*#__PURE__*/React.createElement(TrayIcon, {
71
47
  loader: loading,
72
48
  active: active,
@@ -79,94 +55,75 @@ var makeAnchor = function makeAnchor(loading) {
79
55
  };
80
56
  return Anchor;
81
57
  };
82
- var Services = /*#__PURE__*/function (_PureComponent) {
83
- function Services() {
84
- var _this;
85
- _classCallCheck(this, Services);
86
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
87
- args[_key] = arguments[_key];
58
+ class Services extends PureComponent {
59
+ static sort = (a, b) => {
60
+ const aApplicationName = a.applicationName || '';
61
+ const bApplicationName = b.applicationName || '';
62
+ return aApplicationName.localeCompare(bApplicationName) || a.name.localeCompare(b.name);
63
+ };
64
+ static propTypes = {
65
+ className: PropTypes.string,
66
+ clientId: PropTypes.string,
67
+ initShown: PropTypes.bool,
68
+ loading: PropTypes.bool,
69
+ onClick: PropTypes.func,
70
+ services: PropTypes.arrayOf(ServicesLink.propTypes.service)
71
+ };
72
+ static defaultProps = {
73
+ theme: Theme.DARK
74
+ };
75
+ static Link = ServicesLink;
76
+ serviceIsActive = service => service.id === this.props.clientId;
77
+ render() {
78
+ const {
79
+ clientId,
80
+ loading,
81
+ services,
82
+ initShown,
83
+ theme,
84
+ ...props
85
+ } = this.props;
86
+ if (!services) {
87
+ return /*#__PURE__*/React.createElement(TrayIcon, _extends({}, props, {
88
+ loader: loading,
89
+ active: loading,
90
+ icon: servicesIcon,
91
+ "aria-label": "Services"
92
+ }));
88
93
  }
89
- _this = _callSuper(this, Services, [].concat(args));
90
- _defineProperty(_this, "serviceIsActive", function (service) {
91
- return service.id === _this.props.clientId;
92
- });
93
- return _this;
94
- }
95
- _inherits(Services, _PureComponent);
96
- return _createClass(Services, [{
97
- key: "render",
98
- value: function render() {
99
- var _this2 = this;
100
- var _this$props = this.props;
101
- _this$props.clientId;
102
- var loading = _this$props.loading,
103
- services = _this$props.services,
104
- initShown = _this$props.initShown,
105
- theme = _this$props.theme,
106
- props = _objectWithoutProperties(_this$props, _excluded);
107
- if (!services) {
108
- return /*#__PURE__*/React.createElement(TrayIcon, _extends({}, props, {
109
- loader: loading,
110
- active: loading,
111
- icon: servicesIcon,
112
- "aria-label": "Services"
113
- }));
114
- }
115
- var sortedServices = _toConsumableArray(services).sort(Services.sort);
116
- var servicesWithIcons = sortedServices.filter(function (service) {
117
- return service.iconUrl && service.homeUrl;
94
+ const sortedServices = [...services].sort(Services.sort);
95
+ const servicesWithIcons = sortedServices.filter(service => service.iconUrl && service.homeUrl);
96
+ const servicesWithOutIcons = sortedServices.filter(service => !service.iconUrl && service.homeUrl);
97
+ const separatorIsRequired = servicesWithIcons.length !== 0 && servicesWithOutIcons.length !== 0;
98
+ return /*#__PURE__*/React.createElement(Dropdown, _extends({}, props, {
99
+ anchor: makeAnchor(loading),
100
+ initShown: initShown
101
+ }), /*#__PURE__*/React.createElement(Popup, {
102
+ className: classNames(modules_74a7bf8b.services, {
103
+ [modules_59717246.dark]: theme === Theme.DARK
104
+ }),
105
+ top: -3
106
+ }, servicesWithIcons.map(service => {
107
+ const isActive = this.serviceIsActive(service);
108
+ return /*#__PURE__*/React.createElement(Services.Link, {
109
+ active: isActive,
110
+ className: isActive ? modules_74a7bf8b.activeItem : modules_74a7bf8b.item,
111
+ key: service.id,
112
+ service: service
118
113
  });
119
- var servicesWithOutIcons = sortedServices.filter(function (service) {
120
- return !service.iconUrl && service.homeUrl;
114
+ }), separatorIsRequired && /*#__PURE__*/React.createElement("div", {
115
+ className: modules_74a7bf8b.line,
116
+ key: "separator"
117
+ }), servicesWithOutIcons.map(service => {
118
+ const isActive = this.serviceIsActive(service);
119
+ return /*#__PURE__*/React.createElement(Services.Link, {
120
+ active: isActive,
121
+ className: isActive ? modules_74a7bf8b.activeItemStacked : modules_74a7bf8b.itemStacked,
122
+ key: service.id,
123
+ service: service
121
124
  });
122
- var separatorIsRequired = servicesWithIcons.length !== 0 && servicesWithOutIcons.length !== 0;
123
- return /*#__PURE__*/React.createElement(Dropdown, _extends({}, props, {
124
- anchor: makeAnchor(loading),
125
- initShown: initShown
126
- }), /*#__PURE__*/React.createElement(Popup, {
127
- className: classNames(modules_74a7bf8b.services, {
128
- [modules_59717246.dark]: theme === Theme.DARK
129
- }),
130
- top: -3
131
- }, servicesWithIcons.map(function (service) {
132
- var isActive = _this2.serviceIsActive(service);
133
- return /*#__PURE__*/React.createElement(Services.Link, {
134
- active: isActive,
135
- className: isActive ? modules_74a7bf8b.activeItem : modules_74a7bf8b.item,
136
- key: service.id,
137
- service: service
138
- });
139
- }), separatorIsRequired && /*#__PURE__*/React.createElement("div", {
140
- className: modules_74a7bf8b.line,
141
- key: "separator"
142
- }), servicesWithOutIcons.map(function (service) {
143
- var isActive = _this2.serviceIsActive(service);
144
- return /*#__PURE__*/React.createElement(Services.Link, {
145
- active: isActive,
146
- className: isActive ? modules_74a7bf8b.activeItemStacked : modules_74a7bf8b.itemStacked,
147
- key: service.id,
148
- service: service
149
- });
150
- })));
151
- }
152
- }]);
153
- }(PureComponent);
154
- _defineProperty(Services, "sort", function (a, b) {
155
- var aApplicationName = a.applicationName || '';
156
- var bApplicationName = b.applicationName || '';
157
- return aApplicationName.localeCompare(bApplicationName) || a.name.localeCompare(b.name);
158
- });
159
- _defineProperty(Services, "propTypes", {
160
- className: PropTypes.string,
161
- clientId: PropTypes.string,
162
- initShown: PropTypes.bool,
163
- loading: PropTypes.bool,
164
- onClick: PropTypes.func,
165
- services: PropTypes.arrayOf(ServicesLink.propTypes.service)
166
- });
167
- _defineProperty(Services, "defaultProps", {
168
- theme: Theme.DARK
169
- });
170
- _defineProperty(Services, "Link", ServicesLink);
125
+ })));
126
+ }
127
+ }
171
128
 
172
129
  export { Services as default };
@@ -1,5 +1,4 @@
1
- import { _ as _defineProperty, a as _inherits, b as _createClass, c as _objectWithoutProperties, e as _extends, f as _classCallCheck, g as _callSuper, h as _asyncToGenerator, i as _regeneratorRuntime } 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, { PureComponent } from 'react';
4
3
  import PropTypes from 'prop-types';
5
4
  import '../auth/auth.js';
@@ -7,21 +6,11 @@ import alertService from '../alert-service/alert-service.js';
7
6
  import Profile from './profile.js';
8
7
  import Auth, { USER_CHANGED_EVENT, LOGOUT_POSTPONED_EVENT, USER_CHANGE_POSTPONED_EVENT } from '../auth/auth__core.js';
9
8
  import '../auth/window-flow.js';
10
- import 'core-js/modules/es.object.to-string.js';
11
- import 'core-js/modules/es.promise.js';
12
9
  import '../auth/response-parser.js';
13
- import 'core-js/modules/es.array.index-of.js';
14
- import 'core-js/modules/es.regexp.exec.js';
15
- import 'core-js/modules/es.regexp.to-string.js';
16
- import 'core-js/modules/es.string.replace.js';
17
- import 'core-js/modules/web.dom-collections.for-each.js';
18
10
  import 'es6-error';
19
11
  import '../global/url.js';
20
- import 'core-js/modules/es.string.match.js';
21
12
  import '../auth/down-notification.js';
22
- import 'core-js/modules/es.array.filter.js';
23
13
  import '../alert/alert.js';
24
- import 'core-js/modules/es.object.values.js';
25
14
  import 'classnames';
26
15
  import '@jetbrains/icons/exception';
27
16
  import '@jetbrains/icons/checkmark';
@@ -31,20 +20,10 @@ import '../icon/icon.js';
31
20
  import 'util-deprecate';
32
21
  import '../icon/icon__constants.js';
33
22
  import '../_helpers/icon__svg.js';
34
- import 'core-js/modules/es.string.starts-with.js';
35
23
  import '../global/memoize.js';
36
- import 'core-js/modules/es.array.iterator.js';
37
- import 'core-js/modules/es.map.js';
38
- import 'core-js/modules/es.weak-map.js';
39
- import 'core-js/modules/web.dom-collections.iterator.js';
40
24
  import '../loader-inline/loader-inline.js';
41
25
  import '../global/data-tests.js';
42
- import 'core-js/modules/es.array.reduce.js';
43
- import 'core-js/modules/es.object.entries.js';
44
26
  import '../global/dom.js';
45
- import 'core-js/modules/es.object.assign.js';
46
- import 'core-js/modules/es.set.js';
47
- import 'core-js/modules/es.string.split.js';
48
27
  import '../button/button.js';
49
28
  import '@jetbrains/icons/chevron-10px';
50
29
  import '../link/clickableLink.js';
@@ -57,32 +36,20 @@ import '../popup/popup.js';
57
36
  import '../global/get-uid.js';
58
37
  import '../global/schedule-raf.js';
59
38
  import '../shortcuts/shortcuts.js';
60
- import 'core-js/modules/es.array.map.js';
61
39
  import '../shortcuts/core.js';
62
- import 'core-js/modules/es.array.find-index.js';
63
- import 'core-js/modules/es.array.includes.js';
64
- import 'core-js/modules/es.array.slice.js';
65
- import 'core-js/modules/es.array.splice.js';
66
- import 'core-js/modules/es.string.includes.js';
67
40
  import 'combokeys';
68
41
  import '../global/sniffer.js';
69
42
  import 'sniffr';
70
43
  import '../tab-trap/tab-trap.js';
71
44
  import '../popup/position.js';
72
- import 'core-js/modules/es.array.sort.js';
73
45
  import '../popup/popup.consts.js';
74
46
  import '../alert/container.js';
75
47
  import '../link/link.js';
76
48
  import '../_helpers/link.js';
77
49
  import '../group/group.js';
78
50
  import 'react-dom/client';
79
- import 'core-js/modules/es.string.search.js';
80
- import 'core-js/modules/web.url.js';
81
- import 'core-js/modules/web.url.to-json.js';
82
- import 'core-js/modules/web.url-search-params.js';
83
51
  import '../global/listeners.js';
84
52
  import '../http/http.js';
85
- import 'core-js/modules/es.reflect.delete-property.js';
86
53
  import '../global/promise-with-timeout.js';
87
54
  import '../i18n/i18n.js';
88
55
  import '../auth/storage.js';
@@ -96,12 +63,8 @@ import '../auth/background-flow.js';
96
63
  import '../auth/token-validator.js';
97
64
  import '../avatar/avatar.js';
98
65
  import '../avatar/fallback-avatar.js';
99
- import 'core-js/modules/es.array.from.js';
100
66
  import '../dropdown-menu/dropdown-menu.js';
101
67
  import '../list/list.js';
102
- import 'core-js/modules/es.symbol.js';
103
- import 'core-js/modules/es.symbol.description.js';
104
- import 'core-js/modules/es.array.find.js';
105
68
  import 'react-virtualized/dist/es/List';
106
69
  import 'react-virtualized/dist/es/AutoSizer';
107
70
  import 'react-virtualized/dist/es/WindowScroller';
@@ -129,174 +92,119 @@ import '../popup-menu/popup-menu.js';
129
92
  import '../i18n/i18n-context.js';
130
93
  import '../_helpers/header.js';
131
94
 
132
- var _excluded = ["auth", "profileUrl"];
133
- var CERTIFICATE_MISMATCH_HEADER = 'x-client-certificate-token-mismatch';
134
- var SmartProfile = /*#__PURE__*/function (_PureComponent) {
135
- function SmartProfile() {
136
- var _this;
137
- _classCallCheck(this, SmartProfile);
138
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
139
- args[_key] = arguments[_key];
140
- }
141
- _this = _callSuper(this, SmartProfile, [].concat(args));
142
- _defineProperty(_this, "state", {
143
- user: null,
144
- size: Profile.defaultProps.size,
145
- isLogoutPostponed: false,
146
- isUserChangePostponed: false
147
- });
148
- _defineProperty(_this, "login", /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
149
- return _regeneratorRuntime().wrap(function _callee$(_context) {
150
- while (1) switch (_context.prev = _context.next) {
151
- case 0:
152
- _this.setState({
153
- loading: true
154
- });
155
- _context.prev = 1;
156
- _context.next = 4;
157
- return _this.props.auth.login();
158
- case 4:
159
- _context.next = 8;
160
- break;
161
- case 6:
162
- _context.prev = 6;
163
- _context.t0 = _context["catch"](1);
164
- case 8:
165
- _context.prev = 8;
166
- _this.setState({
167
- loading: false
168
- });
169
- return _context.finish(8);
170
- case 11:
171
- case "end":
172
- return _context.stop();
173
- }
174
- }, _callee, null, [[1, 6, 8, 11]]);
175
- })));
176
- _defineProperty(_this, "logout", function () {
177
- return _this.props.auth.logout();
178
- });
179
- _defineProperty(_this, "switchUser", function () {
180
- return _this.props.auth.switchUser();
181
- });
182
- _defineProperty(_this, "onRevertPostponement", function () {
183
- if (_this.state.isLogoutPostponed) {
184
- _this.props.auth.login();
185
- }
186
- if (_this.state.isUserChangePostponed) {
187
- _this.props.auth.updateUser();
188
- }
189
- });
190
- return _this;
95
+ const CERTIFICATE_MISMATCH_HEADER = 'x-client-certificate-token-mismatch';
96
+ class SmartProfile extends PureComponent {
97
+ static propTypes = {
98
+ auth: PropTypes.instanceOf(Auth).isRequired,
99
+ className: PropTypes.string,
100
+ translations: PropTypes.object,
101
+ profileUrl: PropTypes.string,
102
+ size: Profile.propTypes.size,
103
+ round: Profile.propTypes.round
104
+ };
105
+ state = {
106
+ user: null,
107
+ size: Profile.defaultProps.size,
108
+ isLogoutPostponed: false,
109
+ isUserChangePostponed: false
110
+ };
111
+ componentDidMount() {
112
+ this.requestUser();
191
113
  }
192
- _inherits(SmartProfile, _PureComponent);
193
- return _createClass(SmartProfile, [{
194
- key: "componentDidMount",
195
- value: function componentDidMount() {
196
- this.requestUser();
114
+ static Size = Profile.Size;
115
+ login = async () => {
116
+ this.setState({
117
+ loading: true
118
+ });
119
+ try {
120
+ await this.props.auth.login();
121
+ } catch (err) {
122
+ // do nothing
123
+ } finally {
124
+ this.setState({
125
+ loading: false
126
+ });
197
127
  }
198
- }, {
199
- key: "requestUser",
200
- value: function () {
201
- var _requestUser = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
202
- var _this2 = this;
203
- var auth, user;
204
- return _regeneratorRuntime().wrap(function _callee2$(_context2) {
205
- while (1) switch (_context2.prev = _context2.next) {
206
- case 0:
207
- _context2.prev = 0;
208
- auth = this.props.auth;
209
- _context2.next = 4;
210
- return auth.requestUser();
211
- case 4:
212
- user = _context2.sent;
213
- this.checkUserCertificateMismatch(user);
214
- this.setState({
215
- user
216
- });
217
- auth.addListener(USER_CHANGED_EVENT, function (newUser) {
218
- _this2.setState({
219
- user: newUser,
220
- isLogoutPostponed: false,
221
- isUserChangePostponed: false
222
- });
223
- });
224
- auth.addListener(LOGOUT_POSTPONED_EVENT, function () {
225
- _this2.setState({
226
- isLogoutPostponed: true
227
- });
228
- });
229
- auth.addListener(USER_CHANGE_POSTPONED_EVENT, function () {
230
- _this2.setState({
231
- isUserChangePostponed: true
232
- });
233
- });
234
- _context2.next = 14;
235
- break;
236
- case 12:
237
- _context2.prev = 12;
238
- _context2.t0 = _context2["catch"](0);
239
- case 14:
240
- case "end":
241
- return _context2.stop();
242
- }
243
- }, _callee2, this, [[0, 12]]);
244
- }));
245
- function requestUser() {
246
- return _requestUser.apply(this, arguments);
247
- }
248
- return requestUser;
249
- }()
250
- }, {
251
- key: "checkUserCertificateMismatch",
252
- value: function checkUserCertificateMismatch(user) {
253
- var _userMeta$headers;
254
- var _this$props = this.props,
255
- auth = _this$props.auth,
256
- translations = _this$props.translations;
257
- var userMeta = auth.http.getMetaForResponse(user);
258
- if (userMeta !== null && userMeta !== void 0 && (_userMeta$headers = userMeta.headers) !== null && _userMeta$headers !== void 0 && _userMeta$headers.has(CERTIFICATE_MISMATCH_HEADER)) {
259
- var message = (translations === null || translations === void 0 ? void 0 : translations.certificateMismatch) || "You are authenticated as ".concat(user.login || user.name, ". To authenticate with the client certificate for your account, log out, then click the \"Log in with certificate\" option on the login page.");
260
- alertService.warning(message, 0);
261
- }
128
+ };
129
+ logout = () => this.props.auth.logout();
130
+ switchUser = () => this.props.auth.switchUser();
131
+ onRevertPostponement = () => {
132
+ if (this.state.isLogoutPostponed) {
133
+ this.props.auth.login();
262
134
  }
263
- }, {
264
- key: "render",
265
- value: function render() {
266
- var _this$state = this.state,
267
- user = _this$state.user,
268
- loading = _this$state.loading,
269
- isLogoutPostponed = _this$state.isLogoutPostponed,
270
- isUserChangePostponed = _this$state.isUserChangePostponed;
271
- var _this$props2 = this.props,
272
- auth = _this$props2.auth,
273
- profileUrl = _this$props2.profileUrl,
274
- props = _objectWithoutProperties(_this$props2, _excluded);
275
- var url = profileUrl || (user ? "".concat(auth.config.serverUri, "users/").concat(user.id) : '');
276
- return /*#__PURE__*/React.createElement(Profile, _extends({
277
- onLogin: this.login,
278
- onLogout: this.logout,
279
- onSwitchUser: this.switchUser,
280
- loading: loading,
281
- user: user,
282
- profileUrl: url,
283
- showApplyChangedUser: isUserChangePostponed,
284
- showLogIn: isLogoutPostponed,
285
- showLogOut: !isLogoutPostponed,
286
- showSwitchUser: auth._canShowDialogs() && !isLogoutPostponed && !isUserChangePostponed,
287
- onRevertPostponement: this.onRevertPostponement
288
- }, props));
135
+ if (this.state.isUserChangePostponed) {
136
+ this.props.auth.updateUser();
289
137
  }
290
- }]);
291
- }(PureComponent);
292
- _defineProperty(SmartProfile, "propTypes", {
293
- auth: PropTypes.instanceOf(Auth).isRequired,
294
- className: PropTypes.string,
295
- translations: PropTypes.object,
296
- profileUrl: PropTypes.string,
297
- size: Profile.propTypes.size,
298
- round: Profile.propTypes.round
299
- });
300
- _defineProperty(SmartProfile, "Size", Profile.Size);
138
+ };
139
+ async requestUser() {
140
+ try {
141
+ const {
142
+ auth
143
+ } = this.props;
144
+ const user = await auth.requestUser();
145
+ this.checkUserCertificateMismatch(user);
146
+ this.setState({
147
+ user
148
+ });
149
+ auth.addListener(USER_CHANGED_EVENT, newUser => {
150
+ this.setState({
151
+ user: newUser,
152
+ isLogoutPostponed: false,
153
+ isUserChangePostponed: false
154
+ });
155
+ });
156
+ auth.addListener(LOGOUT_POSTPONED_EVENT, () => {
157
+ this.setState({
158
+ isLogoutPostponed: true
159
+ });
160
+ });
161
+ auth.addListener(USER_CHANGE_POSTPONED_EVENT, () => {
162
+ this.setState({
163
+ isUserChangePostponed: true
164
+ });
165
+ });
166
+ } catch (e) {
167
+ // noop
168
+ }
169
+ }
170
+ checkUserCertificateMismatch(user) {
171
+ const {
172
+ auth,
173
+ translations
174
+ } = this.props;
175
+ const userMeta = auth.http.getMetaForResponse(user);
176
+ if (userMeta?.headers?.has(CERTIFICATE_MISMATCH_HEADER)) {
177
+ const message = translations?.certificateMismatch || `You are authenticated as ${user.login || user.name}. To authenticate with the client certificate for your account, log out, then click the "Log in with certificate" option on the login page.`;
178
+ alertService.warning(message, 0);
179
+ }
180
+ }
181
+ render() {
182
+ const {
183
+ user,
184
+ loading,
185
+ isLogoutPostponed,
186
+ isUserChangePostponed
187
+ } = this.state;
188
+ const {
189
+ auth,
190
+ profileUrl,
191
+ ...props
192
+ } = this.props;
193
+ const url = profileUrl || (user ? `${auth.config.serverUri}users/${user.id}` : '');
194
+ return /*#__PURE__*/React.createElement(Profile, _extends({
195
+ onLogin: this.login,
196
+ onLogout: this.logout,
197
+ onSwitchUser: this.switchUser,
198
+ loading: loading,
199
+ user: user,
200
+ profileUrl: url,
201
+ showApplyChangedUser: isUserChangePostponed,
202
+ showLogIn: isLogoutPostponed,
203
+ showLogOut: !isLogoutPostponed,
204
+ showSwitchUser: auth._canShowDialogs() && !isLogoutPostponed && !isUserChangePostponed,
205
+ onRevertPostponement: this.onRevertPostponement
206
+ }, props));
207
+ }
208
+ }
301
209
 
302
210
  export { SmartProfile as default };