@jetbrains/ring-ui 4.1.0-beta.9 → 4.1.1

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 (354) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/README.md +17 -15
  3. package/babel.config.js +3 -2
  4. package/components/alert/alert.js +9 -3
  5. package/components/alert/container.css +1 -1
  6. package/components/alert-service/alert-service.examples.css +18 -0
  7. package/components/alert-service/alert-service.examples.js +21 -0
  8. package/components/alert-service/alert-service.js +10 -3
  9. package/components/analytics/analytics__fus-plugin.js +1 -1
  10. package/components/auth/auth.test.js +14 -7
  11. package/components/auth/auth__core.js +64 -33
  12. package/components/auth-dialog/auth-dialog.js +1 -0
  13. package/components/avatar/avatar.css +4 -1
  14. package/components/avatar/avatar.examples.js +3 -2
  15. package/components/avatar/avatar.js +31 -6
  16. package/components/avatar/fallback-avatar.js +136 -0
  17. package/components/avatar-editor-ng/avatar-editor-ng.css +2 -2
  18. package/components/avatar-editor-ng/avatar-editor-ng.js +2 -1
  19. package/components/avatar-editor-ng/{avatar-editor-ng.html → avatar-editor-ng__template.js} +2 -2
  20. package/components/button/button.css +2 -2
  21. package/components/button/button.js +4 -1
  22. package/components/button-group/button-group.js +1 -1
  23. package/components/button-group/caption.js +1 -1
  24. package/components/button-ng/button-ng.js +1 -1
  25. package/components/button-set-ng/button-set-ng.js +3 -1
  26. package/components/checkbox/checkbox.css +1 -1
  27. package/components/code/code.js +1 -1
  28. package/components/confirm/confirm.js +1 -0
  29. package/components/confirm-service/confirm-service.js +5 -5
  30. package/components/content-layout/content-layout.css +1 -1
  31. package/components/data-list/data-list.css +1 -1
  32. package/components/date-picker/date-input.js +5 -4
  33. package/components/date-picker/date-picker.css +34 -22
  34. package/components/date-picker/date-picker.js +16 -14
  35. package/components/date-picker/date-popup.js +22 -7
  36. package/components/date-picker/month-names.js +8 -5
  37. package/components/date-picker/month.js +6 -2
  38. package/components/date-picker/weekdays.js +10 -2
  39. package/components/dialog/dialog.examples.js +3 -1
  40. package/components/dialog/dialog.js +5 -2
  41. package/components/dialog/dialog.test.js +1 -1
  42. package/components/dialog/dialog__body-scroll-preventer.js +2 -2
  43. package/components/dialog-ng/dialog-ng.js +7 -8
  44. package/components/dialog-ng/{dialog-ng.html → dialog-ng__template.js} +2 -2
  45. package/components/dropdown/dropdown.examples.js +36 -1
  46. package/components/dropdown-menu/dropdown-menu.examples.js +47 -0
  47. package/components/dropdown-menu/dropdown-menu.js +117 -0
  48. package/components/dropdown-menu/dropdown-menu.test.js +76 -0
  49. package/components/error-bubble/error-bubble-legacy.css +1 -1
  50. package/components/error-bubble/error-bubble.css +1 -1
  51. package/components/error-bubble/error-bubble.examples.js +1 -1
  52. package/components/error-page/error-page.css +2 -2
  53. package/components/footer-ng/footer-ng.js +13 -3
  54. package/components/form/form.css +2 -2
  55. package/components/form-ng/form-ng.js +3 -1
  56. package/components/global/global.css +1 -1
  57. package/components/global/theme.js +1 -1
  58. package/components/global/variables.css +8 -1
  59. package/components/grid/grid.css +10 -9
  60. package/components/header/header.css +1 -1
  61. package/components/header/header.examples.js +7 -8
  62. package/components/header/profile.js +10 -11
  63. package/components/http/http.js +1 -1
  64. package/components/icon/icon.css +5 -4
  65. package/components/island/island.css +4 -3
  66. package/components/island-legacy/island-legacy.css +3 -1
  67. package/components/list/list.js +6 -1
  68. package/components/list/list__custom.js +9 -3
  69. package/components/list/list__item.js +8 -2
  70. package/components/list/list__link.js +2 -1
  71. package/components/loader-inline/loader-inline.css +1 -1
  72. package/components/loader-screen/loader-screen.css +1 -1
  73. package/components/message/message.css +1 -1
  74. package/components/message/message.examples.js +8 -5
  75. package/components/pager/pager.js +5 -3
  76. package/components/permissions/permissions.js +1 -1
  77. package/components/progress-bar/progress-bar.css +1 -1
  78. package/components/progress-bar/progress-bar.examples.js +3 -3
  79. package/components/progress-bar/progress-bar.js +5 -2
  80. package/components/progress-bar/progress-bar.test.js +12 -13
  81. package/components/progress-bar-ng/progress-bar-ng.examples.js +3 -3
  82. package/components/query-assist/query-assist.css +13 -3
  83. package/components/query-assist/query-assist.examples.js +3 -1
  84. package/components/query-assist/query-assist.js +56 -12
  85. package/components/query-assist/query-assist.test.js +37 -5
  86. package/components/save-field-ng/save-field-ng.css +0 -3
  87. package/components/save-field-ng/save-field-ng.js +3 -1
  88. package/components/save-field-ng/{save-field-ng.html → save-field-ng__template.js} +2 -2
  89. package/components/select/select.css +12 -7
  90. package/components/select/select.examples.js +13 -0
  91. package/components/select/select.js +30 -43
  92. package/components/select/select.test.js +4 -5
  93. package/components/shortcuts-hint-ng/shortcuts-hint-ng.css +1 -1
  94. package/components/shortcuts-hint-ng/shortcuts-hint-ng.js +1 -1
  95. package/components/shortcuts-hint-ng/{shortcuts-hint-ng.html → shortcuts-hint-ng__template.js} +2 -2
  96. package/components/sidebar/sidebar.css +1 -0
  97. package/components/sidebar-ng/sidebar-ng.js +6 -2
  98. package/components/sidebar-ng/{sidebar-ng__button.html → sidebar-ng__button-template.js} +2 -2
  99. package/components/sidebar-ng/{sidebar-ng.html → sidebar-ng__template.js} +2 -2
  100. package/components/table/row.js +2 -1
  101. package/components/table/table.css +2 -1
  102. package/components/table-legacy/table-legacy.css +2 -2
  103. package/components/table-legacy/table-legacy__toolbar.css +2 -2
  104. package/components/table-legacy-ng/table-legacy-ng.js +38 -5
  105. package/components/table-legacy-ng/table-legacy-ng__pager.js +7 -1
  106. package/components/tabs/collapsible-tab.js +2 -2
  107. package/components/tabs/collapsible-tabs.js +4 -8
  108. package/components/tabs/tab-link.js +4 -2
  109. package/components/tabs/tabs.css +27 -0
  110. package/components/tabs-ng/tabs-ng.js +4 -2
  111. package/components/tabs-ng/{tabs-ng.html → tabs-ng__template.js} +6 -2
  112. package/components/tag/tag.css +5 -2
  113. package/components/tag/tag.examples.js +3 -0
  114. package/components/tag/tag.js +19 -16
  115. package/components/tags-input/tag-input.examples.js +1 -1
  116. package/components/tags-input/tags-input.js +5 -2
  117. package/components/template-ng/template-ng.js +1 -1
  118. package/components/tooltip/tooltip.js +7 -2
  119. package/components/user-agreement/user-agreement.css +1 -1
  120. package/components/user-agreement/user-agreement.examples.js +7 -4
  121. package/components/user-agreement/user-agreement.js +1 -0
  122. package/package.json +75 -78
  123. package/webpack.config.js +14 -10
  124. package/components/button-set-ng/button-set-ng.html +0 -1
  125. package/components/footer-ng/footer-ng.html +0 -13
  126. package/components/form-ng/form-ng__error-bubble.html +0 -3
  127. package/components/table-legacy-ng/table-legacy-ng.html +0 -4
  128. package/components/table-legacy-ng/table-legacy-ng__column.html +0 -12
  129. package/components/table-legacy-ng/table-legacy-ng__header.html +0 -4
  130. package/components/table-legacy-ng/table-legacy-ng__pager.html +0 -7
  131. package/components/table-legacy-ng/table-legacy-ng__row.html +0 -12
  132. package/components/table-legacy-ng/table-legacy-ng__title.html +0 -9
  133. package/dist/_helpers/_rollupPluginBabelHelpers.js +0 -127
  134. package/dist/_helpers/anchor.js +0 -33
  135. package/dist/_helpers/badge.js +0 -3
  136. package/dist/_helpers/button__classes.js +0 -39
  137. package/dist/_helpers/caption.js +0 -25
  138. package/dist/_helpers/card.js +0 -77
  139. package/dist/_helpers/date-picker.js +0 -3
  140. package/dist/_helpers/dialog__body-scroll-preventer.js +0 -56
  141. package/dist/_helpers/grid.js +0 -3
  142. package/dist/_helpers/header.js +0 -3
  143. package/dist/_helpers/icon__svg.js +0 -83
  144. package/dist/_helpers/inject-styles.js +0 -22
  145. package/dist/_helpers/island.js +0 -3
  146. package/dist/_helpers/list.js +0 -3
  147. package/dist/_helpers/query-assist__suggestions.js +0 -95
  148. package/dist/_helpers/select__filter.js +0 -78
  149. package/dist/_helpers/services-link.js +0 -42
  150. package/dist/_helpers/sidebar.js +0 -127
  151. package/dist/_helpers/table.js +0 -3
  152. package/dist/_helpers/tabs.js +0 -3
  153. package/dist/_helpers/title.js +0 -99
  154. package/dist/alert/alert.js +0 -254
  155. package/dist/alert/container.js +0 -50
  156. package/dist/alert-service/alert-service.js +0 -159
  157. package/dist/analytics/analytics.js +0 -116
  158. package/dist/analytics/analytics__custom-plugin.js +0 -127
  159. package/dist/analytics/analytics__fus-plugin.js +0 -101
  160. package/dist/analytics/analytics__ga-plugin.js +0 -66
  161. package/dist/analytics/analytics__plugin-utils.js +0 -79
  162. package/dist/auth/auth.js +0 -90
  163. package/dist/auth/auth__core.js +0 -987
  164. package/dist/auth/background-flow.js +0 -123
  165. package/dist/auth/down-notification.js +0 -111
  166. package/dist/auth/iframe-flow.js +0 -147
  167. package/dist/auth/landing-entry.js +0 -5
  168. package/dist/auth/landing.js +0 -84
  169. package/dist/auth/request-builder.js +0 -75
  170. package/dist/auth/response-parser.js +0 -117
  171. package/dist/auth/storage.js +0 -279
  172. package/dist/auth/token-validator.js +0 -176
  173. package/dist/auth/window-flow.js +0 -133
  174. package/dist/auth-dialog/auth-dialog.js +0 -132
  175. package/dist/auth-dialog-service/auth-dialog-service.js +0 -67
  176. package/dist/avatar/avatar-example-datauri.js +0 -26
  177. package/dist/avatar/avatar.js +0 -155
  178. package/dist/badge/badge.js +0 -52
  179. package/dist/button/button.js +0 -117
  180. package/dist/button/button__classes.js +0 -5
  181. package/dist/button-group/button-group.js +0 -30
  182. package/dist/button-group/caption.js +0 -5
  183. package/dist/button-set/button-set.js +0 -27
  184. package/dist/button-toolbar/button-toolbar.js +0 -30
  185. package/dist/caret/caret.js +0 -264
  186. package/dist/checkbox/checkbox.js +0 -110
  187. package/dist/confirm/confirm.js +0 -122
  188. package/dist/confirm-service/confirm-service.js +0 -112
  189. package/dist/content-layout/content-layout.js +0 -67
  190. package/dist/content-layout/sidebar.js +0 -6
  191. package/dist/contenteditable/contenteditable.js +0 -81
  192. package/dist/data-list/data-list.js +0 -203
  193. package/dist/data-list/data-list.mock.js +0 -190
  194. package/dist/data-list/item.js +0 -225
  195. package/dist/data-list/selection.js +0 -101
  196. package/dist/data-list/title.js +0 -16
  197. package/dist/date-picker/consts.js +0 -70
  198. package/dist/date-picker/date-input.js +0 -169
  199. package/dist/date-picker/date-picker.js +0 -356
  200. package/dist/date-picker/date-popup.js +0 -459
  201. package/dist/date-picker/day.js +0 -119
  202. package/dist/date-picker/formats.js +0 -3
  203. package/dist/date-picker/month-names.js +0 -92
  204. package/dist/date-picker/month-slider.js +0 -83
  205. package/dist/date-picker/month.js +0 -48
  206. package/dist/date-picker/months.js +0 -121
  207. package/dist/date-picker/weekdays.js +0 -24
  208. package/dist/date-picker/years.js +0 -109
  209. package/dist/dialog/dialog.js +0 -197
  210. package/dist/dialog/dialog__body-scroll-preventer.js +0 -2
  211. package/dist/dropdown/anchor.js +0 -16
  212. package/dist/dropdown/dropdown.js +0 -236
  213. package/dist/error-bubble/error-bubble.js +0 -59
  214. package/dist/error-message/error-message.js +0 -55
  215. package/dist/footer/footer.js +0 -127
  216. package/dist/global/angular-component-factory.js +0 -83
  217. package/dist/global/compose.js +0 -9
  218. package/dist/global/composeRefs.js +0 -15
  219. package/dist/global/conic-gradient.js +0 -37
  220. package/dist/global/create-stateful-context.js +0 -54
  221. package/dist/global/data-tests.js +0 -22
  222. package/dist/global/dom.js +0 -124
  223. package/dist/global/focus-sensor-hoc.js +0 -147
  224. package/dist/global/fuzzy-highlight.js +0 -67
  225. package/dist/global/get-event-key.js +0 -111
  226. package/dist/global/get-uid.js +0 -15
  227. package/dist/global/inject-styles.js +0 -17
  228. package/dist/global/linear-function.js +0 -18
  229. package/dist/global/listeners.js +0 -42
  230. package/dist/global/memoize.js +0 -18
  231. package/dist/global/normalize-indent.js +0 -28
  232. package/dist/global/promise-with-timeout.js +0 -13
  233. package/dist/global/radial-gradient-mask.js +0 -49
  234. package/dist/global/react-dom-renderer.js +0 -45
  235. package/dist/global/rerender-hoc.js +0 -53
  236. package/dist/global/ring-angular-component.js +0 -24
  237. package/dist/global/schedule-raf.js +0 -31
  238. package/dist/global/sniffer.js +0 -6
  239. package/dist/global/supports-css.js +0 -20
  240. package/dist/global/theme.js +0 -56
  241. package/dist/global/trivial-template-tag.js +0 -15
  242. package/dist/global/url.js +0 -163
  243. package/dist/global/variables_dark.js +0 -57
  244. package/dist/grid/col.js +0 -62
  245. package/dist/grid/grid.js +0 -35
  246. package/dist/grid/row.js +0 -66
  247. package/dist/group/group.js +0 -34
  248. package/dist/header/header.js +0 -144
  249. package/dist/header/logo.js +0 -39
  250. package/dist/header/profile.js +0 -212
  251. package/dist/header/services-link.js +0 -10
  252. package/dist/header/services.js +0 -135
  253. package/dist/header/smart-profile.js +0 -227
  254. package/dist/header/smart-services.js +0 -159
  255. package/dist/header/tray-icon.js +0 -45
  256. package/dist/header/tray.js +0 -33
  257. package/dist/heading/heading.js +0 -76
  258. package/dist/http/http.js +0 -216
  259. package/dist/http/http.mock.js +0 -65
  260. package/dist/hub-source/hub-source.js +0 -130
  261. package/dist/hub-source/hub-source__user.js +0 -28
  262. package/dist/hub-source/hub-source__users-groups.js +0 -62
  263. package/dist/icon/icon.js +0 -105
  264. package/dist/icon/icon__constants.js +0 -33
  265. package/dist/icon/icon__svg.js +0 -6
  266. package/dist/icon/index.js +0 -9
  267. package/dist/input/input.js +0 -231
  268. package/dist/island/adaptive-island-hoc.js +0 -48
  269. package/dist/island/content.js +0 -158
  270. package/dist/island/header.js +0 -85
  271. package/dist/island/island.js +0 -53
  272. package/dist/island-legacy/content-legacy.js +0 -28
  273. package/dist/island-legacy/header-legacy.js +0 -30
  274. package/dist/island-legacy/island-legacy.js +0 -30
  275. package/dist/link/clickableLink.js +0 -65
  276. package/dist/link/link.js +0 -118
  277. package/dist/list/consts.js +0 -26
  278. package/dist/list/list.js +0 -800
  279. package/dist/list/list__custom.js +0 -82
  280. package/dist/list/list__hint.js +0 -26
  281. package/dist/list/list__item.js +0 -197
  282. package/dist/list/list__link.js +0 -65
  283. package/dist/list/list__separator.js +0 -30
  284. package/dist/list/list__title.js +0 -39
  285. package/dist/list/list__users-groups-source.js +0 -124
  286. package/dist/loader/loader.js +0 -72
  287. package/dist/loader/loader__core.js +0 -272
  288. package/dist/loader-inline/inject-styles.js +0 -11
  289. package/dist/loader-inline/loader-inline.js +0 -58
  290. package/dist/loader-screen/loader-screen.js +0 -46
  291. package/dist/login-dialog/login-dialog.js +0 -184
  292. package/dist/login-dialog/service.js +0 -67
  293. package/dist/message/message.js +0 -232
  294. package/dist/old-browsers-message/old-browsers-message.js +0 -101
  295. package/dist/old-browsers-message/old-browsers-message__stop.js +0 -5
  296. package/dist/old-browsers-message/white-list.js +0 -34
  297. package/dist/pager/pager.js +0 -352
  298. package/dist/panel/panel.js +0 -34
  299. package/dist/permissions/permissions.js +0 -200
  300. package/dist/permissions/permissions__cache.js +0 -272
  301. package/dist/popup/popup.consts.js +0 -41
  302. package/dist/popup/popup.js +0 -389
  303. package/dist/popup/popup.target.js +0 -27
  304. package/dist/popup/position.js +0 -280
  305. package/dist/popup-menu/popup-menu.js +0 -108
  306. package/dist/progress-bar/progress-bar.js +0 -111
  307. package/dist/proxy-attrs/proxy-attrs.js +0 -19
  308. package/dist/query-assist/query-assist.js +0 -1023
  309. package/dist/query-assist/query-assist__suggestions.js +0 -43
  310. package/dist/radio/radio.js +0 -39
  311. package/dist/radio/radio__item.js +0 -82
  312. package/dist/select/select.js +0 -1335
  313. package/dist/select/select__filter.js +0 -49
  314. package/dist/select/select__popup.js +0 -541
  315. package/dist/shortcuts/core.js +0 -245
  316. package/dist/shortcuts/shortcut-title.js +0 -51
  317. package/dist/shortcuts/shortcuts-hoc.js +0 -43
  318. package/dist/shortcuts/shortcuts.js +0 -72
  319. package/dist/storage/storage.js +0 -55
  320. package/dist/storage/storage__fallback.js +0 -214
  321. package/dist/storage/storage__local.js +0 -150
  322. package/dist/style.css +0 -1
  323. package/dist/tab-trap/tab-trap.js +0 -178
  324. package/dist/table/cell.js +0 -25
  325. package/dist/table/disable-hover-hoc.js +0 -53
  326. package/dist/table/header-cell.js +0 -91
  327. package/dist/table/header.js +0 -189
  328. package/dist/table/multitable.js +0 -140
  329. package/dist/table/row-with-focus-sensor.js +0 -79
  330. package/dist/table/row.js +0 -270
  331. package/dist/table/selection-adapter.js +0 -14
  332. package/dist/table/selection-shortcuts-hoc.js +0 -212
  333. package/dist/table/selection.js +0 -221
  334. package/dist/table/smart-table.js +0 -113
  335. package/dist/table/table.js +0 -405
  336. package/dist/tabs/collapsible-more.js +0 -193
  337. package/dist/tabs/collapsible-tab.js +0 -90
  338. package/dist/tabs/collapsible-tabs.js +0 -361
  339. package/dist/tabs/custom-item.js +0 -13
  340. package/dist/tabs/dumb-tabs.js +0 -159
  341. package/dist/tabs/smart-tabs.js +0 -102
  342. package/dist/tabs/tab-link.js +0 -35
  343. package/dist/tabs/tab.js +0 -32
  344. package/dist/tabs/tabs.js +0 -65
  345. package/dist/tag/tag.js +0 -190
  346. package/dist/tags-input/tags-input.js +0 -474
  347. package/dist/tags-list/tags-list.js +0 -94
  348. package/dist/text/text.js +0 -38
  349. package/dist/toggle/toggle.js +0 -80
  350. package/dist/tooltip/tooltip.js +0 -205
  351. package/dist/user-card/card.js +0 -14
  352. package/dist/user-card/smart-user-card-tooltip.js +0 -112
  353. package/dist/user-card/tooltip.js +0 -91
  354. package/dist/user-card/user-card.js +0 -46
@@ -1,272 +0,0 @@
1
- import { _ as _defineProperty } from '../_helpers/_rollupPluginBabelHelpers.js';
2
- import { getPixelRatio } from '../global/dom.js';
3
-
4
- var modules_00b5ad26 = {"unit":"8px","canvas":"loader_canvas__2113523f","animate":"loader_animate__2113523f","rotation-keyframes":"loader_rotationKeyframes__2113523f","text":"loader_text__2113523f"};
5
-
6
- const INITIAL_TICKS = 100;
7
-
8
- class Particle {
9
- constructor(_ref) {
10
- let {
11
- x,
12
- y,
13
- radius,
14
- color
15
- } = _ref;
16
- this.radius = radius;
17
- this.x = x;
18
- this.y = y;
19
- this.color = color;
20
- this.decay = 0.01;
21
- this.life = 1;
22
- }
23
-
24
- step() {
25
- this.life -= this.decay;
26
- }
27
-
28
- isAlive() {
29
- return this.life >= 0;
30
- }
31
-
32
- draw(ctx) {
33
- const alpha = this.life >= 0 ? this.life : 0;
34
- ctx.fillStyle = `rgba(${this.color.r}, ${this.color.g}, ${this.color.b}, ${alpha})`;
35
- ctx.beginPath();
36
- ctx.arc(this.x + this.radius, this.y + this.radius, this.radius, 0, Math.PI * 2);
37
- ctx.fill();
38
- }
39
-
40
- }
41
-
42
- const DETERMINISTIC_VALUE = 0.5;
43
-
44
- function deterministic() {
45
- return DETERMINISTIC_VALUE;
46
- }
47
-
48
- class LoaderCore {
49
- static calculateGradient(startColor, stopColor, position) {
50
- const calculateChannelValue = (a, b) => a + Math.round((b - a) * position);
51
-
52
- return {
53
- r: calculateChannelValue(startColor.r, stopColor.r),
54
- g: calculateChannelValue(startColor.g, stopColor.g),
55
- b: calculateChannelValue(startColor.b, stopColor.b)
56
- };
57
- }
58
-
59
- constructor(containerNode, props) {
60
- this.props = Object.assign({}, LoaderCore.defaultProps, props);
61
- this.renderInNode(containerNode);
62
- this.initializeLoader();
63
- this.isRunning = !this.props.stop;
64
-
65
- if (this.isRunning) {
66
- this.startAnimation();
67
- } else {
68
- this.draw();
69
- }
70
- }
71
-
72
- static getPixelRatio() {
73
- return getPixelRatio();
74
- }
75
-
76
- setCanvasSize() {
77
- const pixelRatio = LoaderCore.getPixelRatio();
78
- const canvasSize = this.props.size * pixelRatio;
79
- this.canvas.width = canvasSize;
80
- this.canvas.height = canvasSize; //Fixate canvas physical size to avoid real size scaling
81
-
82
- this.canvas.style.width = `${this.props.size}px`;
83
- this.canvas.style.height = `${this.props.size}px`;
84
- this.ctx = this.canvas.getContext('2d');
85
- this.ctx.scale(pixelRatio, pixelRatio);
86
- }
87
-
88
- initializeLoader() {
89
- this.setCanvasSize();
90
- this.height = this.props.size;
91
- this.width = this.props.size;
92
- this.particles = []; //Configuration
93
-
94
- this.baseSpeed = 1.0;
95
- this.colorIndex = 0;
96
- this.maxRadius = 10;
97
- this.minRadius = 6;
98
- this.colorChangeTick = 40; //State
99
-
100
- this.x = 0;
101
- this.y = 0;
102
- this.radius = 8;
103
- this.hSpeed = 1.5;
104
- this.vSpeed = 0.5;
105
- this.radiusSpeed = 0.05;
106
- this.tick = 0;
107
- this.prepareInitialState(INITIAL_TICKS);
108
- }
109
-
110
- prepareInitialState(ticks) {
111
- for (let i = 0; i < ticks; i++) {
112
- this.step();
113
- }
114
- }
115
-
116
- handleLimits(coord, radius, speed, limit) {
117
- const randomFunc = this.props.deterministic ? deterministic : Math.random;
118
- const randomizedSpeedChange = randomFunc(this.baseSpeed) - this.baseSpeed / 2;
119
-
120
- if (coord + radius * 2 + this.baseSpeed >= limit) {
121
- return -(this.baseSpeed + randomizedSpeedChange);
122
- } else if (coord <= this.baseSpeed) {
123
- return this.baseSpeed + randomizedSpeedChange;
124
- }
125
-
126
- return speed;
127
- }
128
-
129
- calculateNextCoordinates() {
130
- this.x += this.hSpeed;
131
- this.y += this.vSpeed;
132
- this.hSpeed = this.handleLimits(this.x, this.radius, this.hSpeed, this.width);
133
- this.vSpeed = this.handleLimits(this.y, this.radius, this.vSpeed, this.height);
134
- }
135
-
136
- calculateNextRadius() {
137
- this.radius += this.radiusSpeed;
138
-
139
- if (this.radius > this.maxRadius || this.radius < this.minRadius) {
140
- this.radiusSpeed = -this.radiusSpeed;
141
- }
142
- }
143
-
144
- getNextColor() {
145
- const colors = this.props.colors;
146
- const currentColor = colors[this.colorIndex];
147
- const nextColor = colors[this.colorIndex + 1] || colors[0];
148
- return LoaderCore.calculateGradient(currentColor, nextColor, this.tick / this.colorChangeTick);
149
- }
150
-
151
- nextTick() {
152
- this.tick++;
153
-
154
- if (this.tick > this.colorChangeTick) {
155
- this.tick = 0;
156
- this.colorIndex++;
157
-
158
- if (this.colorIndex > this.props.colors.length - 1) {
159
- this.colorIndex = 0;
160
- }
161
- }
162
- }
163
-
164
- step() {
165
- this.nextTick();
166
- this.calculateNextCoordinates();
167
- this.calculateNextRadius();
168
- this.particles.forEach(particle => particle.step());
169
- this.particles.push(new Particle({
170
- x: this.x,
171
- y: this.y,
172
- radius: this.radius,
173
- color: this.getNextColor()
174
- }));
175
- }
176
-
177
- removeDeadParticles() {
178
- this.particles = this.particles.filter(it => it.isAlive());
179
- }
180
-
181
- draw() {
182
- this.ctx.clearRect(0, 0, this.width, this.height);
183
- this.removeDeadParticles();
184
- this.particles.forEach(particle => particle.draw(this.ctx));
185
- }
186
-
187
- loop() {
188
- this.step();
189
- this.draw();
190
-
191
- if (this.isRunning) {
192
- window.requestAnimationFrame(() => this.loop());
193
- }
194
- }
195
-
196
- updateMessage(text) {
197
- this.textNode.textContent = text || '';
198
- }
199
-
200
- stopAnimation() {
201
- this.isRunning = false;
202
- this.canvas.classList.remove(modules_00b5ad26.animate);
203
- }
204
-
205
- startAnimation() {
206
- this.isRunning = true;
207
- this.canvas.classList.add(modules_00b5ad26.animate);
208
- this.loop();
209
- }
210
-
211
- destroy() {
212
- this.isRunning = false;
213
- }
214
-
215
- renderInNode(node) {
216
- this.canvas = document.createElement('canvas');
217
- this.canvas.dataset.test = 'ring-loader';
218
- this.canvas.classList.add(modules_00b5ad26.canvas);
219
- this.textNode = document.createElement('div');
220
- this.textNode.dataset.test = 'ring-loader-text';
221
- this.textNode.classList.add(modules_00b5ad26.text);
222
- this.textNode.textContent = this.props.message ? this.props.message : '';
223
- node.appendChild(this.canvas);
224
- node.appendChild(this.textNode);
225
- return node;
226
- }
227
-
228
- }
229
-
230
- _defineProperty(LoaderCore, "defaultProps", {
231
- size: 64,
232
- stop: false,
233
- deterministic: false,
234
- colors: [{
235
- r: 215,
236
- g: 60,
237
- b: 234
238
- }, //#D73CEA
239
- {
240
- r: 145,
241
- g: 53,
242
- b: 224
243
- }, //#9135E0
244
- {
245
- r: 88,
246
- g: 72,
247
- b: 224
248
- }, //#5848F4
249
- {
250
- r: 37,
251
- g: 183,
252
- b: 255
253
- }, //#25B7FF
254
- {
255
- r: 89,
256
- g: 189,
257
- b: 0
258
- }, //#59BD00
259
- {
260
- r: 251,
261
- g: 172,
262
- b: 2
263
- }, //#FBAC02
264
- {
265
- r: 227,
266
- g: 37,
267
- b: 129
268
- } //#E32581
269
- ]
270
- });
271
-
272
- export default LoaderCore;
@@ -1,11 +0,0 @@
1
- import '../global/conic-gradient.js';
2
- import '../global/inject-styles.js';
3
- import '../global/memoize.js';
4
- import '../global/radial-gradient-mask.js';
5
- import '../global/theme.js';
6
- export { i as default } from '../_helpers/inject-styles.js';
7
- import '../_helpers/_rollupPluginBabelHelpers.js';
8
- import 'conic-gradient';
9
- import '../global/supports-css.js';
10
- import '../global/get-uid.js';
11
- import 'react';
@@ -1,58 +0,0 @@
1
- import { a as _objectWithoutProperties, b as _extends, _ as _defineProperty } from '../_helpers/_rollupPluginBabelHelpers.js';
2
- import React, { PureComponent } from 'react';
3
- import classNames from 'classnames';
4
- import PropTypes from 'prop-types';
5
- import Theme, { withTheme } from '../global/theme.js';
6
- import joinDataTestAttributes from '../global/data-tests.js';
7
- import { i as injectStyles, m as modules_e49a3529 } from '../_helpers/inject-styles.js';
8
- import '../global/conic-gradient.js';
9
- import 'conic-gradient';
10
- import '../global/memoize.js';
11
- import '../global/supports-css.js';
12
- import '../global/inject-styles.js';
13
- import '../global/radial-gradient-mask.js';
14
- import '../global/get-uid.js';
15
-
16
- /**
17
- * @name Loader Inline
18
- */
19
-
20
- class LoaderInline extends PureComponent {
21
- componentDidMount() {
22
- injectStyles();
23
- }
24
-
25
- render() {
26
- const _this$props = this.props,
27
- {
28
- className,
29
- theme,
30
- 'data-test': dataTest,
31
- children
32
- } = _this$props,
33
- restProps = _objectWithoutProperties(_this$props, ["className", "theme", "data-test", "children"]);
34
-
35
- const classes = classNames(modules_e49a3529.loader, className, `${modules_e49a3529.loader}_${theme}`);
36
- const loader = /*#__PURE__*/React.createElement("div", _extends({}, restProps, {
37
- "data-test": joinDataTestAttributes('ring-loader-inline', dataTest),
38
- className: classes
39
- }));
40
- return children ? /*#__PURE__*/React.createElement(React.Fragment, null, loader, /*#__PURE__*/React.createElement("span", {
41
- className: modules_e49a3529.children
42
- }, children)) : loader;
43
- }
44
-
45
- }
46
-
47
- _defineProperty(LoaderInline, "propTypes", {
48
- theme: PropTypes.oneOf(Object.values(Theme)),
49
- className: PropTypes.string,
50
- 'data-test': PropTypes.string,
51
- children: PropTypes.node
52
- });
53
-
54
- _defineProperty(LoaderInline, "Theme", Theme);
55
-
56
- var LoaderInline$1 = withTheme()(LoaderInline);
57
-
58
- export default LoaderInline$1;
@@ -1,46 +0,0 @@
1
- import { a as _objectWithoutProperties, b as _extends, _ as _defineProperty } from '../_helpers/_rollupPluginBabelHelpers.js';
2
- import React, { PureComponent } from 'react';
3
- import classNames from 'classnames';
4
- import PropTypes from 'prop-types';
5
- import Loader from '../loader/loader.js';
6
- import '../global/data-tests.js';
7
- import '../loader/loader__core.js';
8
- import '../global/dom.js';
9
-
10
- var modules_122a82e9 = {"loaderScreen":"loaderScreen_loaderScreen__58811ca6","loader":"loaderScreen_loader__58811ca6","loaderWithoutSpacing":"loaderScreen_loaderWithoutSpacing__58811ca6"};
11
-
12
- /**
13
- * @name Loader Screen
14
- */
15
-
16
- class LoaderScreen extends PureComponent {
17
- render() {
18
- const _this$props = this.props,
19
- {
20
- message,
21
- className,
22
- containerClassName
23
- } = _this$props,
24
- restProps = _objectWithoutProperties(_this$props, ["message", "className", "containerClassName"]);
25
-
26
- const containerClasses = classNames(containerClassName, modules_122a82e9.loaderScreen);
27
- const loaderClasses = classNames(className, modules_122a82e9.loader, {
28
- [modules_122a82e9.loaderWithoutSpacing]: !message
29
- });
30
- return /*#__PURE__*/React.createElement("div", {
31
- className: containerClasses
32
- }, /*#__PURE__*/React.createElement(Loader, _extends({}, restProps, {
33
- message: message,
34
- className: loaderClasses
35
- })));
36
- }
37
-
38
- }
39
-
40
- _defineProperty(LoaderScreen, "propTypes", {
41
- className: PropTypes.string,
42
- containerClassName: PropTypes.string,
43
- message: PropTypes.string
44
- });
45
-
46
- export default LoaderScreen;
@@ -1,184 +0,0 @@
1
- import { _ as _defineProperty } from '../_helpers/_rollupPluginBabelHelpers.js';
2
- import React, { Component } from 'react';
3
- import PropTypes from 'prop-types';
4
- import Dialog from '../dialog/dialog.js';
5
- import '../island/island.js';
6
- import LoaderScreen from '../loader-screen/loader-screen.js';
7
- import { HUB_AUTH_PAGE_OPENED } from '../auth/background-flow.js';
8
- import ContentWrapper from '../island/content.js';
9
- import 'react-dom';
10
- import 'classnames';
11
- import '@jetbrains/icons/close';
12
- import '../global/get-uid.js';
13
- import '../global/data-tests.js';
14
- import '../shortcuts/shortcuts.js';
15
- import '../shortcuts/core.js';
16
- import 'combokeys';
17
- import '../global/sniffer.js';
18
- import 'sniffr';
19
- import '../tab-trap/tab-trap.js';
20
- import '../global/dom.js';
21
- import '../button/button.js';
22
- import 'focus-visible';
23
- import '@jetbrains/icons/chevron-10px';
24
- import '../icon/icon.js';
25
- import 'util-deprecate';
26
- import '../icon/icon__constants.js';
27
- import '../_helpers/icon__svg.js';
28
- import '../global/memoize.js';
29
- import '../global/theme.js';
30
- import '../link/clickableLink.js';
31
- import '../_helpers/button__classes.js';
32
- import '../popup/popup.target.js';
33
- import '../_helpers/dialog__body-scroll-preventer.js';
34
- import 'scrollbar-width';
35
- import '../island/adaptive-island-hoc.js';
36
- import '../global/linear-function.js';
37
- import '../_helpers/island.js';
38
- import '../island/header.js';
39
- import 'element-resize-detector';
40
- import '../global/schedule-raf.js';
41
- import '../loader/loader.js';
42
- import '../loader/loader__core.js';
43
- import '../auth/response-parser.js';
44
- import 'es6-error';
45
- import '../global/url.js';
46
-
47
- var modules_45da1992 = {"unit":"8px","iFrame":"loginDialog_iFrame__ea283227","dialogContent":"loginDialog_dialogContent__ea283227","nonOpaqueLoader":"loginDialog_nonOpaqueLoader__ea283227","fallbackLinkContainer":"loginDialog_fallbackLinkContainer__ea283227"};
48
-
49
- const HUB_AUTH_PAGE_LOGIN_STARTED = 'HUB_AUTH_PAGE_LOGIN_STARTED';
50
- const HUB_AUTH_PAGE_LOGIN_DIMENSIONS = 'HUB_AUTH_PAGE_LOGIN_DIMENSIONS';
51
- const DEFAULT_HEIGHT = 517;
52
- const DEFAULT_WIDTH = 333;
53
- const DEFAULT_SHOW_FALLBACK_TIMEOUT = 5000;
54
- /**
55
- * @name Login Dialog
56
- */
57
-
58
- class LoginDialog extends Component {
59
- constructor() {
60
- super(...arguments);
61
-
62
- _defineProperty(this, "state", {
63
- loading: true,
64
- loggingIn: false,
65
- showFallbackLink: false,
66
- height: DEFAULT_HEIGHT,
67
- width: DEFAULT_WIDTH
68
- });
69
-
70
- _defineProperty(this, "onMessage", event => {
71
- const {
72
- data
73
- } = event;
74
-
75
- if (!data) {
76
- return;
77
- }
78
-
79
- if (data === HUB_AUTH_PAGE_OPENED) {
80
- clearTimeout(this.showFallbackTimout);
81
- this.setState({
82
- loading: false,
83
- loggingIn: false
84
- });
85
- return;
86
- }
87
-
88
- if (data === HUB_AUTH_PAGE_LOGIN_STARTED) {
89
- this.setState({
90
- loading: true,
91
- loggingIn: true
92
- });
93
- this.startFallbackCountdown();
94
- return;
95
- }
96
-
97
- if (data.message === HUB_AUTH_PAGE_LOGIN_DIMENSIONS) {
98
- this.setState({
99
- height: data.height,
100
- width: data.width
101
- });
102
- }
103
- });
104
- }
105
-
106
- componentDidMount() {
107
- window.addEventListener('message', this.onMessage);
108
- this.startFallbackCountdown();
109
- }
110
-
111
- componentWillUnmount() {
112
- window.removeEventListener('message', this.onMessage);
113
- }
114
-
115
- startFallbackCountdown() {
116
- this.showFallbackTimout = setTimeout(() => this.setState({
117
- showFallbackLink: true
118
- }), this.props.showFallbackTimeout);
119
- }
120
-
121
- render() {
122
- const {
123
- show,
124
- className,
125
- url,
126
- loadingMessage,
127
- renderFallbackLink,
128
- onCancel
129
- } = this.props;
130
- const {
131
- loading,
132
- height,
133
- width,
134
- loggingIn,
135
- showFallbackLink
136
- } = this.state;
137
- const iFrameStyle = {
138
- height,
139
- width
140
- };
141
- return /*#__PURE__*/React.createElement(Dialog, {
142
- "data-test": "ring-login-dialog",
143
- className: className,
144
- contentClassName: modules_45da1992.dialogContent,
145
- trapFocus: true,
146
- autoFocusFirst: false,
147
- show: show,
148
- showCloseButton: true,
149
- onCloseAttempt: onCancel
150
- }, /*#__PURE__*/React.createElement(ContentWrapper, null, /*#__PURE__*/React.createElement("iframe", {
151
- title: "Login dialog",
152
- style: iFrameStyle,
153
- src: url,
154
- className: modules_45da1992.iFrame,
155
- scrolling: "no"
156
- })), loading && /*#__PURE__*/React.createElement(LoaderScreen, {
157
- message: loadingMessage,
158
- containerClassName: modules_45da1992.nonOpaqueLoader
159
- }), showFallbackLink && /*#__PURE__*/React.createElement("div", {
160
- className: modules_45da1992.fallbackLinkContainer
161
- }, renderFallbackLink(loggingIn)));
162
- }
163
-
164
- }
165
-
166
- _defineProperty(LoginDialog, "propTypes", {
167
- show: PropTypes.bool,
168
- className: PropTypes.string,
169
- url: PropTypes.string,
170
- loader: PropTypes.bool,
171
- loadingMessage: PropTypes.string,
172
- showFallbackTimeout: PropTypes.number,
173
- renderFallbackLink: PropTypes.func,
174
- onCancel: PropTypes.func.isRequired
175
- });
176
-
177
- _defineProperty(LoginDialog, "defaultProps", {
178
- show: false,
179
- url: 'about:blank',
180
- renderFallbackLink: () => null,
181
- showFallbackTimeout: DEFAULT_SHOW_FALLBACK_TIMEOUT
182
- });
183
-
184
- export default LoginDialog;
@@ -1,67 +0,0 @@
1
- import { c as _objectSpread2 } from '../_helpers/_rollupPluginBabelHelpers.js';
2
- import React from 'react';
3
- import { unmountComponentAtNode, render } from 'react-dom';
4
- import LoginDialog from './login-dialog.js';
5
- import 'prop-types';
6
- import '../dialog/dialog.js';
7
- import 'classnames';
8
- import '@jetbrains/icons/close';
9
- import '../island/island.js';
10
- import '../global/data-tests.js';
11
- import '../island/adaptive-island-hoc.js';
12
- import '../global/linear-function.js';
13
- import '../_helpers/island.js';
14
- import '../island/header.js';
15
- import '../island/content.js';
16
- import 'element-resize-detector';
17
- import '../global/schedule-raf.js';
18
- import '../global/get-uid.js';
19
- import '../shortcuts/shortcuts.js';
20
- import '../shortcuts/core.js';
21
- import 'combokeys';
22
- import '../global/sniffer.js';
23
- import 'sniffr';
24
- import '../tab-trap/tab-trap.js';
25
- import '../global/dom.js';
26
- import '../button/button.js';
27
- import 'focus-visible';
28
- import '@jetbrains/icons/chevron-10px';
29
- import '../icon/icon.js';
30
- import 'util-deprecate';
31
- import '../icon/icon__constants.js';
32
- import '../_helpers/icon__svg.js';
33
- import '../global/memoize.js';
34
- import '../global/theme.js';
35
- import '../link/clickableLink.js';
36
- import '../_helpers/button__classes.js';
37
- import '../popup/popup.target.js';
38
- import '../_helpers/dialog__body-scroll-preventer.js';
39
- import 'scrollbar-width';
40
- import '../loader-screen/loader-screen.js';
41
- import '../loader/loader.js';
42
- import '../loader/loader__core.js';
43
- import '../auth/background-flow.js';
44
- import '../auth/response-parser.js';
45
- import 'es6-error';
46
- import '../global/url.js';
47
-
48
- const containerElement = document.createElement('div');
49
- /**
50
- * Renders LoginDialog into virtual node to skip maintaining container
51
- */
52
-
53
- function renderLoginDialog(props) {
54
- render( /*#__PURE__*/React.createElement(LoginDialog, props), containerElement);
55
- }
56
-
57
- function showAuthDialog() {
58
- let props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
59
- renderLoginDialog(_objectSpread2(_objectSpread2({}, props), {}, {
60
- show: true
61
- }));
62
- return () => {
63
- unmountComponentAtNode(containerElement);
64
- };
65
- }
66
-
67
- export default showAuthDialog;