@jetbrains/ring-ui-built 6.0.31 → 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 (225) hide show
  1. package/components/_helpers/_rollupPluginBabelHelpers.js +1 -567
  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/tab-trap/tab-trap.js +122 -153
  191. package/components/table/cell.js +14 -26
  192. package/components/table/disable-hover-hoc.js +33 -51
  193. package/components/table/header-cell.js +64 -89
  194. package/components/table/header.js +104 -132
  195. package/components/table/multitable.js +107 -125
  196. package/components/table/row-with-focus-sensor.js +25 -69
  197. package/components/table/row.js +175 -216
  198. package/components/table/selection-adapter.js +1 -3
  199. package/components/table/selection-shortcuts-hoc.js +180 -181
  200. package/components/table/selection.js +156 -226
  201. package/components/table/smart-table.js +50 -88
  202. package/components/table/table.js +289 -358
  203. package/components/tabs/collapsible-more.js +46 -79
  204. package/components/tabs/collapsible-tab.js +31 -38
  205. package/components/tabs/collapsible-tabs.js +88 -153
  206. package/components/tabs/custom-item.js +4 -2
  207. package/components/tabs/dumb-tabs.js +74 -117
  208. package/components/tabs/smart-tabs.js +29 -69
  209. package/components/tabs/tab-link.js +1 -5
  210. package/components/tabs/tab.js +19 -31
  211. package/components/tabs/tabs.js +0 -31
  212. package/components/tag/tag.js +133 -173
  213. package/components/tags-input/tags-input.js +329 -427
  214. package/components/tags-list/tags-list.js +57 -78
  215. package/components/text/text.js +28 -39
  216. package/components/toggle/toggle.js +56 -70
  217. package/components/tooltip/tooltip.js +146 -190
  218. package/components/user-agreement/service.js +228 -371
  219. package/components/user-agreement/toolbox.eula.js +160 -1
  220. package/components/user-agreement/user-agreement.js +85 -120
  221. package/components/user-card/card.js +0 -29
  222. package/components/user-card/smart-user-card-tooltip.js +51 -111
  223. package/components/user-card/tooltip.js +47 -84
  224. package/components/user-card/user-card.js +0 -29
  225. package/package.json +1 -1
@@ -1,10 +1,4 @@
1
- import { _ as _defineProperty, b as _createClass, f as _classCallCheck } from '../_helpers/_rollupPluginBabelHelpers.js';
2
- import 'core-js/modules/es.array.index-of.js';
3
- import 'core-js/modules/es.array.map.js';
4
- import 'core-js/modules/es.object.to-string.js';
5
- import 'core-js/modules/es.promise.js';
6
1
  import PermissionCache from './permissions__cache.js';
7
- import 'core-js/modules/es.array.reduce.js';
8
2
 
9
3
  /**
10
4
  * <code>
@@ -30,26 +24,20 @@ import 'core-js/modules/es.array.reduce.js';
30
24
  * <code>serviceId</code> if provided then permissions only for the service are loaded.
31
25
  * @constructor
32
26
  */
33
- var Permissions = /*#__PURE__*/function () {
34
- function Permissions(auth) {
35
- var _this = this;
36
- var config = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
37
- _classCallCheck(this, Permissions);
38
- _defineProperty(this, "query", void 0);
39
- _defineProperty(this, "namesConverter", void 0);
40
- _defineProperty(this, "_auth", void 0);
41
- _defineProperty(this, "_datasource", void 0);
42
- _defineProperty(this, "_promise", void 0);
43
- _defineProperty(this, "_subscribed", void 0);
44
- _defineProperty(this, "_permissionCache", void 0);
45
- _defineProperty(this, "_defaultDatasource", function (query) {
46
- return _this._auth.http.get(Permissions.API_PERMISSION_CACHE_PATH, {
47
- query: {
48
- fields: 'permission/key,global,projects(id)',
49
- query
50
- }
51
- });
52
- });
27
+ class Permissions {
28
+ /**
29
+ * @const {string}
30
+ */
31
+ static API_PERMISSION_CACHE_PATH = 'permissions/cache';
32
+ query;
33
+ namesConverter;
34
+ _auth;
35
+ _datasource;
36
+ _promise;
37
+ _subscribed;
38
+ _permissionCache;
39
+ constructor(auth) {
40
+ let config = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
53
41
  this.query = Permissions.getPermissionQuery(config.services);
54
42
  this.namesConverter = config.prefix ? Permissions.getDefaultNamesConverter(config.prefix) : config.namesConverter;
55
43
  if (!auth) {
@@ -61,160 +49,127 @@ var Permissions = /*#__PURE__*/function () {
61
49
  this._subscribed = false;
62
50
  this._permissionCache = new PermissionCache(null, this.namesConverter);
63
51
  }
64
- return _createClass(Permissions, [{
65
- key: "set",
66
- value: function set(cachedPermissions) {
67
- this._permissionCache.set(cachedPermissions);
68
- this._setCache(Promise.resolve(this._permissionCache));
69
- return this._permissionCache;
70
- }
71
- }, {
72
- key: "get",
73
- value: function get() {
74
- return this._permissionCache.get();
75
- }
76
- }, {
77
- key: "_setCache",
78
- value: function _setCache(value) {
79
- this._promise = value;
52
+ _defaultDatasource = query => this._auth.http.get(Permissions.API_PERMISSION_CACHE_PATH, {
53
+ query: {
54
+ fields: 'permission/key,global,projects(id)',
55
+ query
80
56
  }
81
- }, {
82
- key: "_getCache",
83
- value: function _getCache() {
84
- return this._promise;
85
- }
86
- }, {
87
- key: "_resetCache",
88
- value: function _resetCache() {
89
- this._setCache(null);
90
- }
91
- /**
92
- * Loads logged-in user permissions.
93
- * @param {object?} options
94
- * @return {Promise.<Permissions>} promise that is resolved when the permissions are loaded
95
- */
96
- }, {
97
- key: "load",
98
- value: function load(options) {
99
- var _this2 = this;
100
- if (this._subscribed === false) {
101
- this._auth.addListener('userChange', function () {
102
- _this2.reload();
103
- });
104
- this._subscribed = true;
105
- }
106
- var cache = this._getCache();
107
- if (!hasCacheControl('NO_CACHE', options) && cache) {
108
- return cache;
57
+ });
58
+ /**
59
+ * Returns function, which cuts off prefix from server-side permission name
60
+ *
61
+ * @param {string} prefix
62
+ * @returns {Function}
63
+ */
64
+ static getDefaultNamesConverter(prefix) {
65
+ return storedName => {
66
+ if (storedName.indexOf(prefix) !== 0) {
67
+ return storedName;
68
+ } else {
69
+ return storedName.substr(prefix.length);
109
70
  }
110
- if (hasCacheControl('NO_STORE', options)) {
111
- return this._loadPermissions().then(function (cachedPermissions) {
112
- return new PermissionCache(cachedPermissions, _this2.namesConverter);
113
- });
114
- }
115
- var permissions = this._loadPermissions().then(function (cachedPermissions) {
116
- return _this2.set(cachedPermissions);
117
- });
118
- this._setCache(permissions);
119
- return permissions;
120
- function hasCacheControl(value, _options) {
121
- if (_options && _options.cacheControl) {
122
- return _options.cacheControl[value];
123
- }
124
- return false;
125
- }
126
- }
127
- }, {
128
- key: "_loadPermissions",
129
- value: function _loadPermissions() {
130
- return this._datasource(this.query);
131
- }
132
- /**
133
- * Reloads permission cache from server
134
- * @returns {Promise.<Permissions>} promise that is resolved when the permissions are reloaded
135
- */
136
- }, {
137
- key: "reload",
138
- value: function reload() {
139
- this._resetCache();
140
- return this.load();
71
+ };
72
+ }
73
+ static getPermissionQuery(services) {
74
+ if (!services || !services.length) {
75
+ return undefined;
141
76
  }
142
- /**
143
- * Waits till the permission cache is loaded then checks if the current user has the
144
- * given permissions in the project with the given id.
145
- *
146
- * @param {string} permissions space separated list of permissions
147
- * @param {string=} projectId optional projectId. If absent the method checks
148
- * if the given permission is granted in any project.
149
- *
150
- * @return {Promise.<boolean>}
151
- */
152
- }, {
153
- key: "check",
154
- value: function check(permissions, projectId) {
155
- return this.load().then(function (permissionCache) {
156
- return permissionCache.has(permissions, projectId);
77
+ return services.map(service => `service:{${service}}`).join(' or ');
78
+ }
79
+ set(cachedPermissions) {
80
+ this._permissionCache.set(cachedPermissions);
81
+ this._setCache(Promise.resolve(this._permissionCache));
82
+ return this._permissionCache;
83
+ }
84
+ get() {
85
+ return this._permissionCache.get();
86
+ }
87
+ _setCache(value) {
88
+ this._promise = value;
89
+ }
90
+ _getCache() {
91
+ return this._promise;
92
+ }
93
+ _resetCache() {
94
+ this._setCache(null);
95
+ }
96
+ /**
97
+ * Loads logged-in user permissions.
98
+ * @param {object?} options
99
+ * @return {Promise.<Permissions>} promise that is resolved when the permissions are loaded
100
+ */
101
+ load(options) {
102
+ if (this._subscribed === false) {
103
+ this._auth.addListener('userChange', () => {
104
+ this.reload();
157
105
  });
106
+ this._subscribed = true;
158
107
  }
159
- /**
160
- * Binds a property with the name <code>propertyName</code> of the <code>object</code>
161
- * to a boolean value that is true if user has the permissions and false if she doesn't.
162
- *
163
- * @example
164
- * <code>
165
- * userPermissions.bindVariable($scope, 'canReadRole', 'role-read')
166
- * </code>
167
- *
168
- * @param {object} object an object which property should be bound
169
- * @param {string} propertyName a name of a property to bind
170
- * @param {string} permissions space separated list of permissions
171
- * @param {string=} projectId optional projectId. If absent the method checks
172
- * if the given permissions are granted in any project.
173
- *
174
- * @return {Promise.<boolean>}
175
- */
176
- }, {
177
- key: "bindVariable",
178
- value: function bindVariable(object, propertyName, permissions, projectId) {
179
- object[propertyName] = false;
180
- return this.check(permissions, projectId).then(function (permitted) {
181
- object[propertyName] = permitted;
182
- return permitted;
183
- });
108
+ const cache = this._getCache();
109
+ if (!hasCacheControl('NO_CACHE', options) && cache) {
110
+ return cache;
184
111
  }
185
- }], [{
186
- key: "getDefaultNamesConverter",
187
- value:
188
- /**
189
- * Returns function, which cuts off prefix from server-side permission name
190
- *
191
- * @param {string} prefix
192
- * @returns {Function}
193
- */
194
- function getDefaultNamesConverter(prefix) {
195
- return function (storedName) {
196
- if (storedName.indexOf(prefix) !== 0) {
197
- return storedName;
198
- } else {
199
- return storedName.substr(prefix.length);
200
- }
201
- };
112
+ if (hasCacheControl('NO_STORE', options)) {
113
+ return this._loadPermissions().then(cachedPermissions => new PermissionCache(cachedPermissions, this.namesConverter));
202
114
  }
203
- }, {
204
- key: "getPermissionQuery",
205
- value: function getPermissionQuery(services) {
206
- if (!services || !services.length) {
207
- return undefined;
115
+ const permissions = this._loadPermissions().then(cachedPermissions => this.set(cachedPermissions));
116
+ this._setCache(permissions);
117
+ return permissions;
118
+ function hasCacheControl(value, _options) {
119
+ if (_options && _options.cacheControl) {
120
+ return _options.cacheControl[value];
208
121
  }
209
- return services.map(function (service) {
210
- return "service:{".concat(service, "}");
211
- }).join(' or ');
122
+ return false;
212
123
  }
213
- }]);
214
- }();
215
- /**
216
- * @const {string}
217
- */
218
- _defineProperty(Permissions, "API_PERMISSION_CACHE_PATH", 'permissions/cache');
124
+ }
125
+ _loadPermissions() {
126
+ return this._datasource(this.query);
127
+ }
128
+ /**
129
+ * Reloads permission cache from server
130
+ * @returns {Promise.<Permissions>} promise that is resolved when the permissions are reloaded
131
+ */
132
+ reload() {
133
+ this._resetCache();
134
+ return this.load();
135
+ }
136
+ /**
137
+ * Waits till the permission cache is loaded then checks if the current user has the
138
+ * given permissions in the project with the given id.
139
+ *
140
+ * @param {string} permissions space separated list of permissions
141
+ * @param {string=} projectId optional projectId. If absent the method checks
142
+ * if the given permission is granted in any project.
143
+ *
144
+ * @return {Promise.<boolean>}
145
+ */
146
+ check(permissions, projectId) {
147
+ return this.load().then(permissionCache => permissionCache.has(permissions, projectId));
148
+ }
149
+ /**
150
+ * Binds a property with the name <code>propertyName</code> of the <code>object</code>
151
+ * to a boolean value that is true if user has the permissions and false if she doesn't.
152
+ *
153
+ * @example
154
+ * <code>
155
+ * userPermissions.bindVariable($scope, 'canReadRole', 'role-read')
156
+ * </code>
157
+ *
158
+ * @param {object} object an object which property should be bound
159
+ * @param {string} propertyName a name of a property to bind
160
+ * @param {string} permissions space separated list of permissions
161
+ * @param {string=} projectId optional projectId. If absent the method checks
162
+ * if the given permissions are granted in any project.
163
+ *
164
+ * @return {Promise.<boolean>}
165
+ */
166
+ bindVariable(object, propertyName, permissions, projectId) {
167
+ object[propertyName] = false;
168
+ return this.check(permissions, projectId).then(permitted => {
169
+ object[propertyName] = permitted;
170
+ return permitted;
171
+ });
172
+ }
173
+ }
219
174
 
220
175
  export { Permissions as default };