@jetbrains/ring-ui 5.0.156 → 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 (295) hide show
  1. package/dist/_helpers/_rollupPluginBabelHelpers.js +642 -1
  2. package/dist/_helpers/anchor.js +6 -7
  3. package/dist/_helpers/button__classes.js +16 -28
  4. package/dist/_helpers/card.js +107 -95
  5. package/dist/_helpers/dialog__body-scroll-preventer.js +20 -11
  6. package/dist/_helpers/footer.js +29 -34
  7. package/dist/_helpers/query-assist__suggestions.js +91 -74
  8. package/dist/_helpers/select__filter.js +71 -48
  9. package/dist/_helpers/services-link.js +41 -29
  10. package/dist/_helpers/sidebar.js +103 -99
  11. package/dist/_helpers/theme.js +42 -35
  12. package/dist/_helpers/title.js +71 -57
  13. package/dist/alert/alert.js +199 -158
  14. package/dist/alert/container.js +43 -32
  15. package/dist/alert-service/alert-service.js +172 -104
  16. package/dist/analytics/analytics.js +92 -68
  17. package/dist/analytics/analytics__custom-plugin.js +84 -60
  18. package/dist/analytics/analytics__fus-plugin.js +28 -15
  19. package/dist/analytics/analytics__ga-plugin.js +60 -43
  20. package/dist/analytics/analytics__plugin-utils.js +28 -22
  21. package/dist/auth/auth.js +36 -4
  22. package/dist/auth/auth__core.js +1458 -732
  23. package/dist/auth/background-flow.js +129 -87
  24. package/dist/auth/down-notification.js +75 -30
  25. package/dist/auth/iframe-flow.js +136 -75
  26. package/dist/auth/landing.js +90 -30
  27. package/dist/auth/request-builder.js +82 -46
  28. package/dist/auth/response-parser.js +119 -86
  29. package/dist/auth/storage.js +333 -171
  30. package/dist/auth/token-validator.js +244 -137
  31. package/dist/auth/window-flow.js +136 -92
  32. package/dist/auth-dialog/auth-dialog.js +176 -114
  33. package/dist/auth-dialog-service/auth-dialog-service.js +32 -7
  34. package/dist/auth-ng/auth-ng.js +70 -34
  35. package/dist/auth-ng/auth-ng.mock.js +6 -6
  36. package/dist/autofocus-ng/autofocus-ng.js +23 -8
  37. package/dist/avatar/avatar-example-datauri.js +1 -23
  38. package/dist/avatar/avatar.js +155 -119
  39. package/dist/avatar/fallback-avatar.js +41 -22
  40. package/dist/avatar-editor-ng/avatar-editor-ng.js +56 -23
  41. package/dist/avatar-editor-ng/avatar-editor-ng__template.js +1 -28
  42. package/dist/avatar-ng/avatar-ng.js +23 -1
  43. package/dist/badge/badge.js +43 -35
  44. package/dist/badge-ng/badge-ng.js +13 -1
  45. package/dist/breadcrumb-ng/breadcrumb-ng.js +15 -29
  46. package/dist/button/button.js +111 -87
  47. package/dist/button/button__classes.js +1 -0
  48. package/dist/button-group/button-group.js +35 -19
  49. package/dist/button-group/caption.js +22 -14
  50. package/dist/button-group-ng/button-group-ng.js +13 -7
  51. package/dist/button-ng/button-ng.js +154 -133
  52. package/dist/button-set/button-set.js +34 -20
  53. package/dist/button-set-ng/button-set-ng.js +2 -2
  54. package/dist/button-toolbar/button-toolbar.js +33 -19
  55. package/dist/button-toolbar-ng/button-toolbar-ng.js +5 -3
  56. package/dist/caret/caret.js +225 -188
  57. package/dist/checkbox/checkbox.js +104 -76
  58. package/dist/checkbox-ng/checkbox-ng.js +18 -27
  59. package/dist/clipboard/clipboard-fallback.js +10 -10
  60. package/dist/clipboard/clipboard.js +131 -34
  61. package/dist/code/code.js +168 -92
  62. package/dist/compiler-ng/compiler-ng.js +18 -15
  63. package/dist/confirm/confirm.js +108 -66
  64. package/dist/confirm-ng/confirm-ng.js +33 -4
  65. package/dist/confirm-service/confirm-service.js +66 -42
  66. package/dist/content-layout/content-layout.js +64 -43
  67. package/dist/content-layout/sidebar.js +1 -0
  68. package/dist/contenteditable/contenteditable.js +61 -50
  69. package/dist/control-label/control-label.js +11 -15
  70. package/dist/data-list/data-list.js +184 -128
  71. package/dist/data-list/data-list.mock.js +11 -2
  72. package/dist/data-list/item.js +174 -143
  73. package/dist/data-list/selection.js +139 -76
  74. package/dist/data-list/title.js +13 -1
  75. package/dist/data-list-ng/data-list-ng.js +31 -1
  76. package/dist/date-picker/consts.js +18 -15
  77. package/dist/date-picker/date-input.js +147 -115
  78. package/dist/date-picker/date-picker.js +285 -228
  79. package/dist/date-picker/date-popup.js +397 -356
  80. package/dist/date-picker/day.js +98 -84
  81. package/dist/date-picker/month-names.js +64 -43
  82. package/dist/date-picker/month-slider.js +74 -51
  83. package/dist/date-picker/month.js +21 -15
  84. package/dist/date-picker/months.js +48 -43
  85. package/dist/date-picker/weekdays.js +18 -12
  86. package/dist/date-picker/years.js +109 -84
  87. package/dist/dialog/dialog.js +189 -141
  88. package/dist/dialog/dialog__body-scroll-preventer.js +5 -0
  89. package/dist/dialog-ng/dialog-ng.js +401 -287
  90. package/dist/dialog-ng/dialog-ng__template.js +1 -70
  91. package/dist/docked-panel-ng/docked-panel-ng.js +33 -18
  92. package/dist/dropdown/anchor.js +10 -0
  93. package/dist/dropdown/dropdown.js +214 -182
  94. package/dist/dropdown-menu/dropdown-menu.js +102 -72
  95. package/dist/editable-heading/editable-heading.js +100 -58
  96. package/dist/error-bubble/error-bubble.js +64 -31
  97. package/dist/error-message/error-message.js +61 -38
  98. package/dist/error-message-ng/error-message-ng.js +11 -22
  99. package/dist/footer/footer.js +11 -1
  100. package/dist/footer-ng/footer-ng.js +64 -36
  101. package/dist/form-ng/form-ng.js +66 -56
  102. package/dist/global/angular-component-factory.js +76 -53
  103. package/dist/global/compose.js +10 -1
  104. package/dist/global/composeRefs.js +12 -7
  105. package/dist/global/controls-height.js +2 -2
  106. package/dist/global/create-stateful-context.js +19 -19
  107. package/dist/global/data-tests.js +15 -7
  108. package/dist/global/dom.js +95 -53
  109. package/dist/global/focus-sensor-hoc.js +134 -122
  110. package/dist/global/fuzzy-highlight.js +41 -27
  111. package/dist/global/get-event-key.js +8 -8
  112. package/dist/global/get-uid.js +8 -4
  113. package/dist/global/inject-styles.js +15 -10
  114. package/dist/global/linear-function.js +2 -2
  115. package/dist/global/listeners.js +53 -27
  116. package/dist/global/memoize.js +13 -6
  117. package/dist/global/normalize-indent.js +51 -19
  118. package/dist/global/promise-with-timeout.js +8 -6
  119. package/dist/global/prop-types.js +5 -3
  120. package/dist/global/react-dom-renderer.js +47 -28
  121. package/dist/global/react-render-adapter.js +19 -13
  122. package/dist/global/rerender-hoc.js +41 -16
  123. package/dist/global/ring-angular-component.js +20 -10
  124. package/dist/global/schedule-raf.js +6 -5
  125. package/dist/global/sniffer.js +1 -1
  126. package/dist/global/theme.js +24 -0
  127. package/dist/global/trivial-template-tag.js +10 -3
  128. package/dist/global/typescript-utils.js +6 -2
  129. package/dist/global/url.js +27 -21
  130. package/dist/global/use-event-callback.js +4 -6
  131. package/dist/grid/col.js +55 -35
  132. package/dist/grid/grid.js +36 -17
  133. package/dist/grid/row.js +48 -35
  134. package/dist/group/group.js +27 -17
  135. package/dist/group-ng/group-ng.js +2 -2
  136. package/dist/header/header.js +80 -33
  137. package/dist/header/logo.js +39 -20
  138. package/dist/header/profile.js +188 -150
  139. package/dist/header/services-link.js +9 -0
  140. package/dist/header/services.js +118 -73
  141. package/dist/header/smart-profile.js +207 -111
  142. package/dist/header/smart-services.js +115 -62
  143. package/dist/header/tray-icon.js +38 -21
  144. package/dist/header/tray.js +34 -21
  145. package/dist/heading/heading.js +25 -26
  146. package/dist/heading-ng/heading-ng.js +11 -1
  147. package/dist/http/http.js +368 -215
  148. package/dist/http/http.mock.js +104 -49
  149. package/dist/hub-source/hub-source.js +191 -83
  150. package/dist/hub-source/hub-source__user.js +45 -11
  151. package/dist/hub-source/hub-source__users-groups.js +67 -37
  152. package/dist/i18n/i18n-context.js +14 -10
  153. package/dist/i18n/i18n.js +11 -7
  154. package/dist/icon/icon.js +94 -76
  155. package/dist/icon/icon__svg.js +31 -24
  156. package/dist/icon/index.js +9 -0
  157. package/dist/icon-ng/icon-ng.js +27 -15
  158. package/dist/input/input.js +184 -145
  159. package/dist/input-ng/input-ng.js +96 -118
  160. package/dist/island/adaptive-island-hoc.js +45 -30
  161. package/dist/island/content.js +130 -115
  162. package/dist/island/header.js +69 -56
  163. package/dist/island/island.js +40 -28
  164. package/dist/island-legacy/content-legacy.js +27 -17
  165. package/dist/island-legacy/header-legacy.js +29 -19
  166. package/dist/island-legacy/island-legacy.js +27 -17
  167. package/dist/island-ng/island-content-ng.js +17 -26
  168. package/dist/island-ng/island-header-ng.js +9 -12
  169. package/dist/island-ng/island-ng-class-fixer.js +3 -0
  170. package/dist/island-ng/island-ng.js +6 -10
  171. package/dist/link/clickableLink.js +61 -44
  172. package/dist/link/link.js +85 -74
  173. package/dist/link-ng/link-ng.js +3 -5
  174. package/dist/list/consts.js +1 -1
  175. package/dist/list/list.js +696 -602
  176. package/dist/list/list__custom.js +61 -44
  177. package/dist/list/list__hint.js +21 -10
  178. package/dist/list/list__item.js +167 -129
  179. package/dist/list/list__link.js +54 -37
  180. package/dist/list/list__separator.js +24 -14
  181. package/dist/list/list__title.js +32 -22
  182. package/dist/list/list__users-groups-source.js +131 -54
  183. package/dist/loader/loader.js +78 -43
  184. package/dist/loader/loader__core.js +257 -189
  185. package/dist/loader-inline/loader-inline.js +37 -23
  186. package/dist/loader-inline-ng/loader-inline-ng.js +2 -2
  187. package/dist/loader-ng/loader-ng.js +46 -19
  188. package/dist/loader-screen/loader-screen.js +48 -25
  189. package/dist/loader-screen-ng/loader-screen-ng.js +46 -30
  190. package/dist/login-dialog/login-dialog.js +162 -111
  191. package/dist/login-dialog/service.js +35 -7
  192. package/dist/markdown/code.js +31 -9
  193. package/dist/markdown/heading.js +3 -5
  194. package/dist/markdown/link.js +13 -6
  195. package/dist/markdown/markdown.js +66 -33
  196. package/dist/message/message.js +157 -125
  197. package/dist/message-bundle-ng/message-bundle-ng.js +128 -44
  198. package/dist/old-browsers-message/old-browsers-message.js +19 -11
  199. package/dist/old-browsers-message/old-browsers-message__stop.js +8 -0
  200. package/dist/old-browsers-message/white-list.js +16 -9
  201. package/dist/pager/pager.js +275 -210
  202. package/dist/pager-ng/pager-ng.js +36 -1
  203. package/dist/panel/panel.js +27 -17
  204. package/dist/panel-ng/panel-ng.js +14 -1
  205. package/dist/permissions/permissions.js +173 -127
  206. package/dist/permissions/permissions__cache.js +225 -194
  207. package/dist/permissions-ng/permissions-ng.js +86 -35
  208. package/dist/place-under-ng/place-under-ng.js +68 -45
  209. package/dist/popup/popup.consts.js +1 -1
  210. package/dist/popup/popup.js +342 -280
  211. package/dist/popup/popup.target.js +8 -9
  212. package/dist/popup/position.js +153 -153
  213. package/dist/popup-menu/popup-menu.js +86 -44
  214. package/dist/progress-bar/progress-bar.js +97 -80
  215. package/dist/progress-bar-ng/progress-bar-ng.js +11 -1
  216. package/dist/promised-click-ng/promised-click-ng.js +92 -58
  217. package/dist/proxy-attrs/proxy-attrs.js +18 -9
  218. package/dist/query-assist/query-assist.js +903 -832
  219. package/dist/query-assist/query-assist__suggestions.js +33 -1
  220. package/dist/query-assist-ng/query-assist-ng.js +38 -1
  221. package/dist/radio/radio.js +36 -19
  222. package/dist/radio/radio__item.js +71 -52
  223. package/dist/radio-ng/radio-ng.js +14 -25
  224. package/dist/save-field-ng/save-field-ng.js +86 -52
  225. package/dist/save-field-ng/save-field-ng__template.js +1 -32
  226. package/dist/select/select.js +937 -835
  227. package/dist/select/select__filter.js +33 -0
  228. package/dist/select/select__popup.js +472 -359
  229. package/dist/select-ng/select-ng.js +125 -74
  230. package/dist/select-ng/select-ng__lazy.js +101 -50
  231. package/dist/select-ng/select-ng__options.js +107 -81
  232. package/dist/shortcuts/core.js +218 -166
  233. package/dist/shortcuts/shortcut-title.js +11 -6
  234. package/dist/shortcuts/shortcuts-hoc.js +47 -19
  235. package/dist/shortcuts/shortcuts.js +77 -50
  236. package/dist/shortcuts-hint-ng/shortcuts-hint-ng.js +104 -53
  237. package/dist/shortcuts-hint-ng/shortcuts-hint-ng__template.js +1 -48
  238. package/dist/shortcuts-ng/shortcuts-ng.js +86 -51
  239. package/dist/sidebar-ng/sidebar-ng.js +53 -22
  240. package/dist/sidebar-ng/sidebar-ng__button-template.js +1 -18
  241. package/dist/sidebar-ng/sidebar-ng__template.js +1 -10
  242. package/dist/storage/storage.js +35 -4
  243. package/dist/storage/storage__fallback.js +224 -149
  244. package/dist/storage/storage__local.js +156 -90
  245. package/dist/tab-trap/tab-trap.js +157 -122
  246. package/dist/table/cell.js +28 -14
  247. package/dist/table/disable-hover-hoc.js +53 -33
  248. package/dist/table/header-cell.js +87 -64
  249. package/dist/table/header.js +126 -98
  250. package/dist/table/multitable.js +127 -107
  251. package/dist/table/row-with-focus-sensor.js +73 -25
  252. package/dist/table/row.js +208 -170
  253. package/dist/table/selection-adapter.js +3 -1
  254. package/dist/table/selection-shortcuts-hoc.js +184 -181
  255. package/dist/table/selection.js +228 -156
  256. package/dist/table/smart-table.js +93 -51
  257. package/dist/table/table.js +348 -281
  258. package/dist/table-legacy-ng/table-legacy-ng.js +117 -102
  259. package/dist/table-legacy-ng/table-legacy-ng__pager.js +42 -10
  260. package/dist/table-legacy-ng/table-legacy-ng__selection-navigate-actions.js +92 -69
  261. package/dist/table-legacy-ng/table-legacy-ng__selection.js +169 -119
  262. package/dist/table-legacy-ng/table-legacy-ng__toolbar.js +36 -21
  263. package/dist/table-ng/smart-table-ng.js +31 -1
  264. package/dist/table-ng/table-ng.js +31 -1
  265. package/dist/tabs/collapsible-more.js +87 -50
  266. package/dist/tabs/collapsible-tab.js +45 -38
  267. package/dist/tabs/collapsible-tabs.js +161 -94
  268. package/dist/tabs/custom-item.js +2 -4
  269. package/dist/tabs/dumb-tabs.js +122 -75
  270. package/dist/tabs/smart-tabs.js +75 -29
  271. package/dist/tabs/tab-link.js +29 -19
  272. package/dist/tabs/tab.js +33 -19
  273. package/dist/tabs/tabs.js +35 -0
  274. package/dist/tabs-ng/tabs-ng.js +38 -24
  275. package/dist/tabs-ng/tabs-ng__template.js +1 -38
  276. package/dist/tag/tag.js +170 -133
  277. package/dist/tags-input/tags-input.js +428 -327
  278. package/dist/tags-input-ng/tags-input-ng.js +37 -1
  279. package/dist/tags-list/tags-list.js +80 -56
  280. package/dist/template-ng/template-ng.js +50 -39
  281. package/dist/text/text.js +38 -28
  282. package/dist/title-ng/title-ng.js +28 -23
  283. package/dist/toggle/toggle.js +72 -56
  284. package/dist/toggle-ng/toggle-ng.js +14 -1
  285. package/dist/tooltip/tooltip.js +192 -146
  286. package/dist/tooltip-ng/tooltip-ng.js +51 -25
  287. package/dist/user-agreement/service.js +374 -227
  288. package/dist/user-agreement/toolbox.eula.js +1 -160
  289. package/dist/user-agreement/user-agreement.js +128 -86
  290. package/dist/user-card/card.js +32 -0
  291. package/dist/user-card/smart-user-card-tooltip.js +116 -51
  292. package/dist/user-card/tooltip.js +90 -48
  293. package/dist/user-card/user-card.js +32 -0
  294. package/dist/user-card-ng/user-card-ng.js +34 -2
  295. package/package.json +2 -2
@@ -5,23 +5,23 @@
5
5
  */
6
6
  function AuthProviderMock() {
7
7
  this.$get = ['$q', function get($q) {
8
- const promise = $q.resolve([]);
8
+ var promise = $q.resolve([]);
9
9
  return {
10
10
  auth: {
11
- addListener() {},
12
- getAPIPath() {
11
+ addListener: function addListener() {},
12
+ getAPIPath: function getAPIPath() {
13
13
  return '/';
14
14
  },
15
- requestToken() {
15
+ requestToken: function requestToken() {
16
16
  return promise;
17
17
  },
18
18
  http: {
19
- get() {
19
+ get: function get() {
20
20
  return promise;
21
21
  }
22
22
  }
23
23
  },
24
- promise
24
+ promise: promise
25
25
  };
26
26
  }];
27
27
  }
@@ -1,13 +1,26 @@
1
1
  import angular from 'angular';
2
2
  import { FOCUSABLE_ELEMENTS } from '../tab-trap/tab-trap.js';
3
3
  import '../_helpers/_rollupPluginBabelHelpers.js';
4
+ import 'core-js/modules/es.array.concat.js';
5
+ import 'core-js/modules/es.array.filter.js';
6
+ import 'core-js/modules/es.object.to-string.js';
4
7
  import 'react';
5
8
  import 'prop-types';
6
9
  import '../global/dom.js';
10
+ import 'core-js/modules/es.object.assign.js';
11
+ import 'core-js/modules/web.dom-collections.for-each.js';
12
+ import 'core-js/modules/es.regexp.exec.js';
13
+ import 'core-js/modules/es.string.split.js';
14
+ import 'core-js/modules/es.object.entries.js';
15
+ import 'core-js/modules/es.object.keys.js';
16
+ import 'core-js/modules/es.array.iterator.js';
17
+ import 'core-js/modules/es.set.js';
18
+ import 'core-js/modules/es.string.iterator.js';
19
+ import 'core-js/modules/web.dom-collections.iterator.js';
7
20
 
8
- const angularModule = angular.module('Ring.autofocus', []);
9
- const RING_SELECT_SELECTOR = '[data-test*=ring-select__focus]';
10
- const RING_SELECT = 'rg-select';
21
+ var angularModule = angular.module('Ring.autofocus', []);
22
+ var RING_SELECT_SELECTOR = '[data-test*=ring-select__focus]';
23
+ var RING_SELECT = 'rg-select';
11
24
  angularModule.directive('rgAutofocus', function rgAutofocusDirective() {
12
25
  /**
13
26
  * Focuses on element itself if it has "focus" method.
@@ -26,16 +39,18 @@ angularModule.directive('rgAutofocus', function rgAutofocusDirective() {
26
39
  element.focus();
27
40
  return;
28
41
  }
29
- const focusableChild = element.querySelector(FOCUSABLE_ELEMENTS);
42
+ var focusableChild = element.querySelector(FOCUSABLE_ELEMENTS);
30
43
  if (focusableChild && focusableChild.focus) {
31
44
  focusableChild.focus();
32
45
  }
33
46
  }
34
- return (scope, iElement, iAttrs) => {
35
- const element = iElement[0];
36
- scope.$watch(iAttrs.rgAutofocus, newValue => {
47
+ return function (scope, iElement, iAttrs) {
48
+ var element = iElement[0];
49
+ scope.$watch(iAttrs.rgAutofocus, function (newValue) {
37
50
  if (newValue) {
38
- scope.$evalAsync(() => focusOnElement(element));
51
+ scope.$evalAsync(function () {
52
+ return focusOnElement(element);
53
+ });
39
54
  }
40
55
  });
41
56
  };
@@ -1,26 +1,4 @@
1
1
  // Taken from https://hub.jetbrains.com/api/rest/avatar/default?username=Jet%20Brains&dpr=2&size=56
2
- const avatarDataUri = `data:image/svg+xml,${encodeURIComponent(`
3
- <svg viewBox="0 0 40 40" xmlns="http://www.w3.org/2000/svg">
4
- <defs>
5
- <linearGradient id="gradient" x1="0" y1="0" x2="0" y2="1">
6
- <stop stop-color="#D50F6B" offset="0"/>
7
- <stop stop-color="#E73AE8" offset="1"/>
8
- </linearGradient>
9
- </defs>
10
- <g>
11
- <rect fill="url(#gradient)"
12
- x="0" y="0" width="40" height="40"
13
- rx="3" ry="3"/>
14
- <text x="5" y="19"
15
- font-family="Arial, Helvetica, sans-serif"
16
- font-size="15px"
17
- letter-spacing="1"
18
- fill="#FFFFFF">
19
- <tspan>JB</tspan>
20
- <tspan x="6" y="28">_</tspan>
21
- </text>
22
- </g>
23
- </svg>
24
- `)}`;
2
+ var avatarDataUri = "data:image/svg+xml,".concat(encodeURIComponent("\n<svg viewBox=\"0 0 40 40\" xmlns=\"http://www.w3.org/2000/svg\">\n <defs>\n <linearGradient id=\"gradient\" x1=\"0\" y1=\"0\" x2=\"0\" y2=\"1\">\n <stop stop-color=\"#D50F6B\" offset=\"0\"/>\n <stop stop-color=\"#E73AE8\" offset=\"1\"/>\n </linearGradient>\n </defs>\n <g>\n <rect fill=\"url(#gradient)\"\n x=\"0\" y=\"0\" width=\"40\" height=\"40\"\n rx=\"3\" ry=\"3\"/>\n <text x=\"5\" y=\"19\"\n font-family=\"Arial, Helvetica, sans-serif\"\n font-size=\"15px\"\n letter-spacing=\"1\"\n fill=\"#FFFFFF\">\n <tspan>JB</tspan>\n <tspan x=\"6\" y=\"28\">_</tspan>\n </text>\n </g>\n</svg>\n"));
25
3
 
26
4
  export { avatarDataUri };
@@ -1,14 +1,36 @@
1
- import { _ as _extends } from '../_helpers/_rollupPluginBabelHelpers.js';
1
+ import { c as _defineProperty, j as _inherits, k as _createSuper, b as _classCallCheck, m as _assertThisInitialized, _ as _createClass, h as _objectWithoutProperties, a as _objectSpread2, i as _extends, l as _slicedToArray } from '../_helpers/_rollupPluginBabelHelpers.js';
2
+ import 'core-js/modules/es.array.concat.js';
2
3
  import React, { PureComponent } from 'react';
3
4
  import PropTypes from 'prop-types';
4
5
  import classNames from 'classnames';
5
6
  import { isDataURI, parseQueryString, encodeURL } from '../global/url.js';
6
7
  import { getPixelRatio } from '../global/dom.js';
7
8
  import FallbackAvatar from './fallback-avatar.js';
9
+ import 'core-js/modules/es.regexp.exec.js';
10
+ import 'core-js/modules/es.string.match.js';
11
+ import 'core-js/modules/es.array.index-of.js';
12
+ import 'core-js/modules/es.string.replace.js';
13
+ import 'core-js/modules/es.object.assign.js';
14
+ import 'core-js/modules/es.object.to-string.js';
15
+ import 'core-js/modules/web.dom-collections.for-each.js';
16
+ import 'core-js/modules/es.array.filter.js';
17
+ import 'core-js/modules/es.string.split.js';
18
+ import 'core-js/modules/es.object.entries.js';
19
+ import 'core-js/modules/es.object.keys.js';
20
+ import 'core-js/modules/es.array.iterator.js';
21
+ import 'core-js/modules/es.set.js';
22
+ import 'core-js/modules/es.string.iterator.js';
23
+ import 'core-js/modules/web.dom-collections.iterator.js';
24
+ import 'core-js/modules/es.array.map.js';
25
+ import 'core-js/modules/es.number.constructor.js';
26
+ import 'core-js/modules/es.array.from.js';
27
+ import 'core-js/modules/es.array.slice.js';
8
28
  import '../global/get-uid.js';
29
+ import 'core-js/modules/es.regexp.to-string.js';
9
30
 
10
31
  var modules_61ca8c75 = {"light":"light_rui_2ac4","avatar":"avatar_rui_a03e","subavatar":"subavatar_rui_a03e","empty":"empty_rui_a03e"};
11
32
 
33
+ var _excluded = ["size", "url", "dpr", "style", "round", "subavatar", "subavatarSize", "username", "skipParams"];
12
34
  /**
13
35
  * @name Avatar
14
36
  */
@@ -23,126 +45,140 @@ var Size;
23
45
  Size[Size["Size48"] = 48] = "Size48";
24
46
  Size[Size["Size56"] = 56] = "Size56";
25
47
  })(Size || (Size = {}));
26
- class Avatar extends PureComponent {
27
- static propTypes = {
28
- dpr: PropTypes.number,
29
- className: PropTypes.string,
30
- size: PropTypes.number,
31
- style: PropTypes.object,
32
- url: PropTypes.string,
33
- round: PropTypes.bool,
34
- subavatar: PropTypes.string,
35
- subavatarSize: PropTypes.number,
36
- username: PropTypes.string,
37
- skipParams: PropTypes.bool
38
- };
39
- static defaultProps = {
40
- dpr: getPixelRatio(),
41
- size: Size.Size20,
42
- subavatarSize: Size.Size20 / 2,
43
- style: {}
44
- };
45
- state = {
46
- errorUrl: ''
47
- };
48
- handleError = () => {
49
- this.setState({
50
- errorUrl: this.props.url
51
- });
52
- };
53
- handleSuccess = () => {
54
- this.setState({
48
+ var Avatar = /*#__PURE__*/function (_PureComponent) {
49
+ _inherits(Avatar, _PureComponent);
50
+ var _super = _createSuper(Avatar);
51
+ function Avatar() {
52
+ var _this;
53
+ _classCallCheck(this, Avatar);
54
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
55
+ args[_key] = arguments[_key];
56
+ }
57
+ _this = _super.call.apply(_super, [this].concat(args));
58
+ _defineProperty(_assertThisInitialized(_this), "state", {
55
59
  errorUrl: ''
56
60
  });
57
- };
58
- render() {
59
- const {
60
- size,
61
- url,
62
- dpr,
63
- style,
64
- round,
65
- subavatar,
66
- subavatarSize,
67
- username,
68
- skipParams,
69
- ...restProps
70
- } = this.props;
71
- const sizeString = `${size}px`;
72
- const subavatarSizeString = `${subavatarSize}px`;
73
- const borderRadius = size <= Size.Size18 ? 'var(--ring-border-radius-small)' : 'var(--ring-border-radius)';
74
- const styleObj = {
75
- borderRadius: round ? '50%' : borderRadius,
76
- height: sizeString,
77
- width: sizeString,
78
- ...style
79
- };
80
- const styleObjGroup = {
81
- borderRadius: '2px',
82
- height: subavatarSizeString,
83
- width: subavatarSizeString,
84
- ...style
85
- };
86
- if (!url || this.state.errorUrl === url) {
87
- return /*#__PURE__*/React.createElement("span", _extends({}, restProps, {
88
- "data-test": "avatar",
89
- className: classNames(modules_61ca8c75.avatar, this.props.className, {
90
- [modules_61ca8c75.empty]: username == null
91
- }),
92
- style: styleObj
93
- }), username != null && /*#__PURE__*/React.createElement(FallbackAvatar, {
94
- size: size,
95
- round: round,
96
- username: username
97
- }));
98
- }
99
- let src = url;
100
- if (!skipParams && !isDataURI(url)) {
101
- const [urlStart, query] = url.split('?');
102
- const queryParams = {
103
- ...parseQueryString(query),
104
- dpr,
105
- size
106
- };
107
- src = encodeURL(urlStart, queryParams);
108
- }
109
- let subavatarSrc = null;
110
- if (subavatar && !isDataURI(subavatar)) {
111
- const [urlStart, query] = subavatar.split('?');
112
- const queryParams = {
113
- ...parseQueryString(query),
114
- dpr,
115
- subavatarSizeString
116
- };
117
- subavatarSrc = skipParams ? subavatar : encodeURL(urlStart, queryParams);
118
- return /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("img", _extends({}, restProps, {
119
- onError: this.handleError,
120
- onLoad: this.handleSuccess,
121
- className: classNames(modules_61ca8c75.avatar, this.props.className),
122
- style: styleObj,
123
- src: src,
124
- alt: "User avatar"
125
- })), /*#__PURE__*/React.createElement("img", _extends({}, restProps, {
126
- "data-test": "avatar",
127
- onError: this.handleError,
128
- onLoad: this.handleSuccess,
129
- className: classNames(modules_61ca8c75.subavatar),
130
- style: styleObjGroup,
131
- src: subavatarSrc,
132
- alt: "Subavatar"
133
- })));
134
- } else {
135
- return /*#__PURE__*/React.createElement("img", _extends({}, restProps, {
136
- "data-test": "avatar",
137
- onError: this.handleError,
138
- onLoad: this.handleSuccess,
139
- className: classNames(modules_61ca8c75.avatar, this.props.className),
140
- style: styleObj,
141
- src: src,
142
- alt: "User avatar"
143
- }));
144
- }
61
+ _defineProperty(_assertThisInitialized(_this), "handleError", function () {
62
+ _this.setState({
63
+ errorUrl: _this.props.url
64
+ });
65
+ });
66
+ _defineProperty(_assertThisInitialized(_this), "handleSuccess", function () {
67
+ _this.setState({
68
+ errorUrl: ''
69
+ });
70
+ });
71
+ return _this;
145
72
  }
146
- }
73
+ _createClass(Avatar, [{
74
+ key: "render",
75
+ value: function render() {
76
+ var _this$props = this.props,
77
+ size = _this$props.size,
78
+ url = _this$props.url,
79
+ dpr = _this$props.dpr,
80
+ style = _this$props.style,
81
+ round = _this$props.round,
82
+ subavatar = _this$props.subavatar,
83
+ subavatarSize = _this$props.subavatarSize,
84
+ username = _this$props.username,
85
+ skipParams = _this$props.skipParams,
86
+ restProps = _objectWithoutProperties(_this$props, _excluded);
87
+ var sizeString = "".concat(size, "px");
88
+ var subavatarSizeString = "".concat(subavatarSize, "px");
89
+ var borderRadius = size <= Size.Size18 ? 'var(--ring-border-radius-small)' : 'var(--ring-border-radius)';
90
+ var styleObj = _objectSpread2({
91
+ borderRadius: round ? '50%' : borderRadius,
92
+ height: sizeString,
93
+ width: sizeString
94
+ }, style);
95
+ var styleObjGroup = _objectSpread2({
96
+ borderRadius: '2px',
97
+ height: subavatarSizeString,
98
+ width: subavatarSizeString
99
+ }, style);
100
+ if (!url || this.state.errorUrl === url) {
101
+ return /*#__PURE__*/React.createElement("span", _extends({}, restProps, {
102
+ "data-test": "avatar",
103
+ className: classNames(modules_61ca8c75.avatar, this.props.className, _defineProperty({}, modules_61ca8c75.empty, username == null)),
104
+ style: styleObj
105
+ }), username != null && /*#__PURE__*/React.createElement(FallbackAvatar, {
106
+ size: size,
107
+ round: round,
108
+ username: username
109
+ }));
110
+ }
111
+ var src = url;
112
+ if (!skipParams && !isDataURI(url)) {
113
+ var _url$split = url.split('?'),
114
+ _url$split2 = _slicedToArray(_url$split, 2),
115
+ urlStart = _url$split2[0],
116
+ query = _url$split2[1];
117
+ var queryParams = _objectSpread2(_objectSpread2({}, parseQueryString(query)), {}, {
118
+ dpr: dpr,
119
+ size: size
120
+ });
121
+ src = encodeURL(urlStart, queryParams);
122
+ }
123
+ var subavatarSrc = null;
124
+ if (subavatar && !isDataURI(subavatar)) {
125
+ var _subavatar$split = subavatar.split('?'),
126
+ _subavatar$split2 = _slicedToArray(_subavatar$split, 2),
127
+ _urlStart = _subavatar$split2[0],
128
+ _query = _subavatar$split2[1];
129
+ var _queryParams = _objectSpread2(_objectSpread2({}, parseQueryString(_query)), {}, {
130
+ dpr: dpr,
131
+ subavatarSizeString: subavatarSizeString
132
+ });
133
+ subavatarSrc = skipParams ? subavatar : encodeURL(_urlStart, _queryParams);
134
+ return /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("img", _extends({}, restProps, {
135
+ onError: this.handleError,
136
+ onLoad: this.handleSuccess,
137
+ className: classNames(modules_61ca8c75.avatar, this.props.className),
138
+ style: styleObj,
139
+ src: src,
140
+ alt: "User avatar"
141
+ })), /*#__PURE__*/React.createElement("img", _extends({}, restProps, {
142
+ "data-test": "avatar",
143
+ onError: this.handleError,
144
+ onLoad: this.handleSuccess,
145
+ className: classNames(modules_61ca8c75.subavatar),
146
+ style: styleObjGroup,
147
+ src: subavatarSrc,
148
+ alt: "Subavatar"
149
+ })));
150
+ } else {
151
+ return /*#__PURE__*/React.createElement("img", _extends({}, restProps, {
152
+ "data-test": "avatar",
153
+ onError: this.handleError,
154
+ onLoad: this.handleSuccess,
155
+ className: classNames(modules_61ca8c75.avatar, this.props.className),
156
+ style: styleObj,
157
+ src: src,
158
+ alt: "User avatar"
159
+ }));
160
+ }
161
+ }
162
+ }]);
163
+ return Avatar;
164
+ }(PureComponent);
165
+ _defineProperty(Avatar, "propTypes", {
166
+ dpr: PropTypes.number,
167
+ className: PropTypes.string,
168
+ size: PropTypes.number,
169
+ style: PropTypes.object,
170
+ url: PropTypes.string,
171
+ round: PropTypes.bool,
172
+ subavatar: PropTypes.string,
173
+ subavatarSize: PropTypes.number,
174
+ username: PropTypes.string,
175
+ skipParams: PropTypes.bool
176
+ });
177
+ _defineProperty(Avatar, "defaultProps", {
178
+ dpr: getPixelRatio(),
179
+ size: Size.Size20,
180
+ subavatarSize: Size.Size20 / 2,
181
+ style: {}
182
+ });
147
183
 
148
184
  export { Size, Avatar as default };
@@ -1,9 +1,22 @@
1
+ import { l as _slicedToArray, g as _toConsumableArray } from '../_helpers/_rollupPluginBabelHelpers.js';
2
+ import 'core-js/modules/es.array.map.js';
3
+ import 'core-js/modules/es.object.keys.js';
4
+ import 'core-js/modules/es.number.constructor.js';
5
+ import 'core-js/modules/es.array.filter.js';
6
+ import 'core-js/modules/es.object.to-string.js';
7
+ import 'core-js/modules/es.regexp.exec.js';
8
+ import 'core-js/modules/es.string.split.js';
9
+ import 'core-js/modules/es.array.from.js';
10
+ import 'core-js/modules/es.string.iterator.js';
11
+ import 'core-js/modules/es.array.slice.js';
12
+ import 'core-js/modules/es.array.concat.js';
1
13
  import React, { useMemo } from 'react';
2
14
  import PropTypes from 'prop-types';
3
15
  import getUID from '../global/get-uid.js';
16
+ import 'core-js/modules/es.regexp.to-string.js';
4
17
 
5
- const colorPairs = [['#60A800', '#D5CA00'], ['#21D370', '#03E9E1'], ['#3BA1FF', '#36E97D'], ['#00C243', '#00FFFF'], ['#4BE098', '#627FFF'], ['#168BFA', '#26F7C7'], ['#9D4CFF', '#39D3C3'], ['#0A81F6', '#0ACFF6'], ['#765AF8', '#5A91F8'], ['#9E54FF', '#0ACFF6'], ['#B345F1', '#669DFF'], ['#765AF8', '#C059EE'], ['#9039D0', '#C239D0'], ['#9F2AFF', '#FD56FD'], ['#AB3AF2', '#E40568'], ['#9F2AFF', '#E9A80B'], ['#D50F6B', '#E73AE8'], ['#ED5502', '#E73AE8'], ['#ED358C', '#DBED18'], ['#ED358C', '#F9902E'], ['#FF7500', '#FFCA00']];
6
- const Sizes = {
18
+ var colorPairs = [['#60A800', '#D5CA00'], ['#21D370', '#03E9E1'], ['#3BA1FF', '#36E97D'], ['#00C243', '#00FFFF'], ['#4BE098', '#627FFF'], ['#168BFA', '#26F7C7'], ['#9D4CFF', '#39D3C3'], ['#0A81F6', '#0ACFF6'], ['#765AF8', '#5A91F8'], ['#9E54FF', '#0ACFF6'], ['#B345F1', '#669DFF'], ['#765AF8', '#C059EE'], ['#9039D0', '#C239D0'], ['#9F2AFF', '#FD56FD'], ['#AB3AF2', '#E40568'], ['#9F2AFF', '#E9A80B'], ['#D50F6B', '#E73AE8'], ['#ED5502', '#E73AE8'], ['#ED358C', '#DBED18'], ['#ED358C', '#F9902E'], ['#FF7500', '#FFCA00']];
19
+ var Sizes = {
7
20
  18: {
8
21
  radius: 2,
9
22
  text: {
@@ -52,45 +65,51 @@ const Sizes = {
52
65
  }
53
66
  }
54
67
  };
55
- const sizeKeys = Object.keys(Sizes).map(Number);
68
+ var sizeKeys = Object.keys(Sizes).map(Number);
56
69
  function extractLetters(name) {
57
- const names = name.split(/[\s._]+/).filter(Boolean).map(word => Array.from(word));
70
+ var names = name.split(/[\s._]+/).filter(Boolean).map(function (word) {
71
+ return Array.from(word);
72
+ });
58
73
  if (names.length >= 2) {
59
74
  return names[0][0].toUpperCase() + names[1][0].toUpperCase();
60
75
  } else if (names.length === 1) {
61
76
  if (names[0].length >= 2) {
62
77
  return names[0].slice(0, 2).join('').toUpperCase();
63
78
  } else {
64
- return `${names[0][0].toUpperCase()}X`;
79
+ return "".concat(names[0][0].toUpperCase(), "X");
65
80
  }
66
81
  } else {
67
82
  return 'XX';
68
83
  }
69
84
  }
70
85
  // https://gist.github.com/hyamamoto/fd435505d29ebfa3d9716fd2be8d42f0#gistcomment-2775538
71
- const BASE = 32;
86
+ var BASE = 32;
72
87
  function hashCode(s) {
73
- let h = 0;
74
- for (let i = 0; i < s.length; i++) {
88
+ var h = 0;
89
+ for (var i = 0; i < s.length; i++) {
75
90
  h = Math.imul(BASE - 1, h) + s.charCodeAt(i) | 0;
76
91
  }
77
92
  return h;
78
93
  }
79
94
  function FallbackAvatar(_ref) {
80
- let {
81
- username,
82
- size,
83
- round
84
- } = _ref;
85
- const hash = Math.abs(hashCode(username.toLowerCase()));
86
- const [fromColor, toColor] = colorPairs[hash % colorPairs.length];
87
- const possibleSizeKeys = sizeKeys.filter(key => key >= size);
88
- const sizeKey = possibleSizeKeys.length > 0 ? Math.min(...possibleSizeKeys) : Math.max(...sizeKeys);
89
- const sizes = Sizes[sizeKey];
90
- const radius = round ? '50%' : sizes.radius;
91
- const gradientId = useMemo(() => getUID('gradient-'), []);
95
+ var username = _ref.username,
96
+ size = _ref.size,
97
+ round = _ref.round;
98
+ var hash = Math.abs(hashCode(username.toLowerCase()));
99
+ var _colorPairs = _slicedToArray(colorPairs[hash % colorPairs.length], 2),
100
+ fromColor = _colorPairs[0],
101
+ toColor = _colorPairs[1];
102
+ var possibleSizeKeys = sizeKeys.filter(function (key) {
103
+ return key >= size;
104
+ });
105
+ var sizeKey = possibleSizeKeys.length > 0 ? Math.min.apply(Math, _toConsumableArray(possibleSizeKeys)) : Math.max.apply(Math, _toConsumableArray(sizeKeys));
106
+ var sizes = Sizes[sizeKey];
107
+ var radius = round ? '50%' : sizes.radius;
108
+ var gradientId = useMemo(function () {
109
+ return getUID('gradient-');
110
+ }, []);
92
111
  return /*#__PURE__*/React.createElement("svg", {
93
- viewBox: `0 0 ${sizeKey} ${sizeKey}`,
112
+ viewBox: "0 0 ".concat(sizeKey, " ").concat(sizeKey),
94
113
  xmlns: "http://www.w3.org/2000/svg"
95
114
  }, /*#__PURE__*/React.createElement("defs", null, /*#__PURE__*/React.createElement("linearGradient", {
96
115
  id: gradientId,
@@ -105,7 +124,7 @@ function FallbackAvatar(_ref) {
105
124
  stopColor: toColor,
106
125
  offset: "1"
107
126
  }))), /*#__PURE__*/React.createElement("g", null, /*#__PURE__*/React.createElement("rect", {
108
- fill: `url(#${gradientId})`,
127
+ fill: "url(#".concat(gradientId, ")"),
109
128
  x: "0",
110
129
  y: "0",
111
130
  width: sizeKey,