@jetbrains/ring-ui 4.2.4 → 4.2.5

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 (315) hide show
  1. package/package.json +2 -2
  2. package/dist/_helpers/_rollupPluginBabelHelpers.js +0 -34
  3. package/dist/_helpers/anchor.js +0 -33
  4. package/dist/_helpers/badge.js +0 -3
  5. package/dist/_helpers/button-group.js +0 -3
  6. package/dist/_helpers/button-set.js +0 -3
  7. package/dist/_helpers/button-toolbar.js +0 -3
  8. package/dist/_helpers/button__classes.js +0 -39
  9. package/dist/_helpers/card.js +0 -75
  10. package/dist/_helpers/checkbox.js +0 -3
  11. package/dist/_helpers/date-picker.js +0 -3
  12. package/dist/_helpers/dialog__body-scroll-preventer.js +0 -58
  13. package/dist/_helpers/error-message.js +0 -3
  14. package/dist/_helpers/footer.js +0 -121
  15. package/dist/_helpers/grid.js +0 -3
  16. package/dist/_helpers/group.js +0 -3
  17. package/dist/_helpers/header.js +0 -3
  18. package/dist/_helpers/icon.js +0 -3
  19. package/dist/_helpers/inject-styles.js +0 -22
  20. package/dist/_helpers/input.js +0 -3
  21. package/dist/_helpers/island.js +0 -3
  22. package/dist/_helpers/link.js +0 -3
  23. package/dist/_helpers/list.js +0 -3
  24. package/dist/_helpers/loader-screen.js +0 -3
  25. package/dist/_helpers/panel.js +0 -3
  26. package/dist/_helpers/query-assist__suggestions.js +0 -95
  27. package/dist/_helpers/radio.js +0 -3
  28. package/dist/_helpers/select__filter.js +0 -77
  29. package/dist/_helpers/services-link.js +0 -40
  30. package/dist/_helpers/sidebar.js +0 -126
  31. package/dist/_helpers/table.js +0 -3
  32. package/dist/_helpers/tabs.js +0 -3
  33. package/dist/_helpers/title.js +0 -100
  34. package/dist/alert/alert.js +0 -262
  35. package/dist/alert/container.js +0 -48
  36. package/dist/alert-service/alert-service.js +0 -173
  37. package/dist/analytics/analytics.js +0 -118
  38. package/dist/analytics/analytics__custom-plugin.js +0 -128
  39. package/dist/analytics/analytics__fus-plugin.js +0 -102
  40. package/dist/analytics/analytics__ga-plugin.js +0 -75
  41. package/dist/analytics/analytics__plugin-utils.js +0 -80
  42. package/dist/analytics-ng/analytics-ng.js +0 -95
  43. package/dist/auth/auth.js +0 -96
  44. package/dist/auth/auth__core.js +0 -1059
  45. package/dist/auth/background-flow.js +0 -123
  46. package/dist/auth/down-notification.js +0 -117
  47. package/dist/auth/iframe-flow.js +0 -153
  48. package/dist/auth/landing-entry.js +0 -5
  49. package/dist/auth/landing.js +0 -90
  50. package/dist/auth/request-builder.js +0 -76
  51. package/dist/auth/response-parser.js +0 -118
  52. package/dist/auth/storage.js +0 -283
  53. package/dist/auth/token-validator.js +0 -178
  54. package/dist/auth/window-flow.js +0 -134
  55. package/dist/auth-dialog/auth-dialog.js +0 -180
  56. package/dist/auth-dialog-service/auth-dialog-service.js +0 -71
  57. package/dist/auth-ng/auth-ng.js +0 -206
  58. package/dist/auth-ng/auth-ng.mock.js +0 -33
  59. package/dist/autofocus-ng/autofocus-ng.js +0 -51
  60. package/dist/avatar/avatar-example-datauri.js +0 -4
  61. package/dist/avatar/avatar.js +0 -163
  62. package/dist/avatar/fallback-avatar.js +0 -142
  63. package/dist/avatar-editor-ng/avatar-editor-ng.js +0 -167
  64. package/dist/avatar-editor-ng/avatar-editor-ng__template.js +0 -3
  65. package/dist/avatar-ng/avatar-ng.js +0 -21
  66. package/dist/badge/badge.js +0 -51
  67. package/dist/badge-ng/badge-ng.js +0 -18
  68. package/dist/breadcrumb-ng/breadcrumb-ng.js +0 -37
  69. package/dist/button/button.js +0 -125
  70. package/dist/button/button__classes.js +0 -5
  71. package/dist/button-group/button-group.js +0 -30
  72. package/dist/button-group/caption.js +0 -24
  73. package/dist/button-group-ng/button-group-ng.js +0 -39
  74. package/dist/button-ng/button-ng.js +0 -217
  75. package/dist/button-set/button-set.js +0 -26
  76. package/dist/button-set-ng/button-set-ng.js +0 -19
  77. package/dist/button-toolbar/button-toolbar.js +0 -29
  78. package/dist/button-toolbar-ng/button-toolbar-ng.js +0 -24
  79. package/dist/caret/caret.js +0 -266
  80. package/dist/checkbox/checkbox.js +0 -110
  81. package/dist/checkbox-ng/checkbox-ng.js +0 -38
  82. package/dist/code/code.js +0 -137
  83. package/dist/compiler-ng/compiler-ng.js +0 -53
  84. package/dist/confirm/confirm.js +0 -127
  85. package/dist/confirm-ng/confirm-ng.js +0 -69
  86. package/dist/confirm-service/confirm-service.js +0 -117
  87. package/dist/content-layout/content-layout.js +0 -66
  88. package/dist/content-layout/sidebar.js +0 -7
  89. package/dist/contenteditable/contenteditable.js +0 -78
  90. package/dist/data-list/data-list.js +0 -208
  91. package/dist/data-list/data-list.mock.js +0 -191
  92. package/dist/data-list/item.js +0 -229
  93. package/dist/data-list/selection.js +0 -102
  94. package/dist/data-list/title.js +0 -20
  95. package/dist/data-list-ng/data-list-ng.js +0 -62
  96. package/dist/date-picker/consts.js +0 -69
  97. package/dist/date-picker/date-input.js +0 -175
  98. package/dist/date-picker/date-picker.js +0 -367
  99. package/dist/date-picker/date-popup.js +0 -483
  100. package/dist/date-picker/day.js +0 -120
  101. package/dist/date-picker/formats.js +0 -3
  102. package/dist/date-picker/month-names.js +0 -100
  103. package/dist/date-picker/month-slider.js +0 -84
  104. package/dist/date-picker/month.js +0 -55
  105. package/dist/date-picker/months.js +0 -122
  106. package/dist/date-picker/weekdays.js +0 -32
  107. package/dist/date-picker/years.js +0 -110
  108. package/dist/dialog/dialog.js +0 -202
  109. package/dist/dialog/dialog__body-scroll-preventer.js +0 -3
  110. package/dist/dialog-ng/dialog-ng.js +0 -604
  111. package/dist/dialog-ng/dialog-ng__template.js +0 -3
  112. package/dist/docked-panel-ng/docked-panel-ng.js +0 -171
  113. package/dist/dropdown/anchor.js +0 -19
  114. package/dist/dropdown/dropdown.js +0 -236
  115. package/dist/dropdown-menu/dropdown-menu.js +0 -177
  116. package/dist/error-bubble/error-bubble.js +0 -59
  117. package/dist/error-message/error-message.js +0 -57
  118. package/dist/error-message-ng/error-message-ng.js +0 -35
  119. package/dist/footer/footer.js +0 -12
  120. package/dist/footer-ng/footer-ng.js +0 -64
  121. package/dist/form-ng/form-ng.js +0 -167
  122. package/dist/global/angular-component-factory.js +0 -84
  123. package/dist/global/compose.js +0 -9
  124. package/dist/global/composeRefs.js +0 -15
  125. package/dist/global/conic-gradient.js +0 -35
  126. package/dist/global/create-stateful-context.js +0 -55
  127. package/dist/global/data-tests.js +0 -24
  128. package/dist/global/dom.js +0 -125
  129. package/dist/global/focus-sensor-hoc.js +0 -146
  130. package/dist/global/fuzzy-highlight.js +0 -67
  131. package/dist/global/get-event-key.js +0 -111
  132. package/dist/global/get-uid.js +0 -15
  133. package/dist/global/inject-styles.js +0 -15
  134. package/dist/global/linear-function.js +0 -17
  135. package/dist/global/listeners.js +0 -44
  136. package/dist/global/memoize.js +0 -20
  137. package/dist/global/normalize-indent.js +0 -30
  138. package/dist/global/promise-with-timeout.js +0 -17
  139. package/dist/global/radial-gradient-mask.js +0 -38
  140. package/dist/global/react-dom-renderer.js +0 -46
  141. package/dist/global/react-render-adapter.js +0 -41
  142. package/dist/global/rerender-hoc.js +0 -55
  143. package/dist/global/ring-angular-component.js +0 -24
  144. package/dist/global/schedule-raf.js +0 -31
  145. package/dist/global/sniffer.js +0 -6
  146. package/dist/global/supports-css.js +0 -22
  147. package/dist/global/theme.js +0 -54
  148. package/dist/global/trivial-template-tag.js +0 -17
  149. package/dist/global/url.js +0 -165
  150. package/dist/global/variables_dark.js +0 -57
  151. package/dist/grid/col.js +0 -60
  152. package/dist/grid/grid.js +0 -33
  153. package/dist/grid/row.js +0 -64
  154. package/dist/group/group.js +0 -31
  155. package/dist/group-ng/group-ng.js +0 -11
  156. package/dist/header/header.js +0 -150
  157. package/dist/header/logo.js +0 -40
  158. package/dist/header/profile.js +0 -219
  159. package/dist/header/services-link.js +0 -12
  160. package/dist/header/services.js +0 -138
  161. package/dist/header/smart-profile.js +0 -233
  162. package/dist/header/smart-services.js +0 -163
  163. package/dist/header/tray-icon.js +0 -47
  164. package/dist/header/tray.js +0 -31
  165. package/dist/heading/heading.js +0 -73
  166. package/dist/http/http.js +0 -218
  167. package/dist/http/http.mock.js +0 -67
  168. package/dist/hub-source/hub-source.js +0 -130
  169. package/dist/hub-source/hub-source__user.js +0 -30
  170. package/dist/hub-source/hub-source__users-groups.js +0 -63
  171. package/dist/icon/icon.js +0 -105
  172. package/dist/icon/icon__constants.js +0 -33
  173. package/dist/icon/icon__svg.js +0 -83
  174. package/dist/icon/index.js +0 -12
  175. package/dist/icon-ng/icon-ng.js +0 -91
  176. package/dist/input/input.js +0 -230
  177. package/dist/input-ng/input-ng.js +0 -111
  178. package/dist/island/adaptive-island-hoc.js +0 -48
  179. package/dist/island/content.js +0 -160
  180. package/dist/island/header.js +0 -84
  181. package/dist/island/island.js +0 -51
  182. package/dist/island-legacy/content-legacy.js +0 -26
  183. package/dist/island-legacy/header-legacy.js +0 -28
  184. package/dist/island-legacy/island-legacy.js +0 -28
  185. package/dist/island-ng/island-content-ng.js +0 -42
  186. package/dist/island-ng/island-header-ng.js +0 -26
  187. package/dist/island-ng/island-ng-class-fixer.js +0 -11
  188. package/dist/island-ng/island-ng.js +0 -25
  189. package/dist/link/clickableLink.js +0 -64
  190. package/dist/link/link.js +0 -115
  191. package/dist/link-ng/link-ng.js +0 -22
  192. package/dist/list/consts.js +0 -26
  193. package/dist/list/list.js +0 -818
  194. package/dist/list/list__custom.js +0 -86
  195. package/dist/list/list__hint.js +0 -26
  196. package/dist/list/list__item.js +0 -206
  197. package/dist/list/list__link.js +0 -65
  198. package/dist/list/list__separator.js +0 -30
  199. package/dist/list/list__title.js +0 -39
  200. package/dist/list/list__users-groups-source.js +0 -130
  201. package/dist/loader/loader.js +0 -71
  202. package/dist/loader/loader__core.js +0 -273
  203. package/dist/loader-inline/inject-styles.js +0 -13
  204. package/dist/loader-inline/loader-inline.js +0 -58
  205. package/dist/loader-inline-ng/loader-inline-ng.js +0 -44
  206. package/dist/loader-ng/loader-ng.js +0 -44
  207. package/dist/loader-screen/loader-screen.js +0 -44
  208. package/dist/loader-screen-ng/loader-screen-ng.js +0 -95
  209. package/dist/login-dialog/login-dialog.js +0 -188
  210. package/dist/login-dialog/service.js +0 -72
  211. package/dist/markdown/code.js +0 -31
  212. package/dist/markdown/heading.js +0 -23
  213. package/dist/markdown/link.js +0 -31
  214. package/dist/markdown/markdown.js +0 -74
  215. package/dist/message/message.js +0 -235
  216. package/dist/message-bundle-ng/message-bundle-ng.js +0 -111
  217. package/dist/old-browsers-message/old-browsers-message.js +0 -101
  218. package/dist/old-browsers-message/old-browsers-message__stop.js +0 -5
  219. package/dist/old-browsers-message/white-list.js +0 -34
  220. package/dist/pager/pager.js +0 -365
  221. package/dist/pager-ng/pager-ng.js +0 -100
  222. package/dist/panel/panel.js +0 -31
  223. package/dist/panel-ng/panel-ng.js +0 -17
  224. package/dist/permissions/permissions.js +0 -200
  225. package/dist/permissions/permissions__cache.js +0 -272
  226. package/dist/permissions-ng/permissions-ng.js +0 -277
  227. package/dist/place-under-ng/place-under-ng.js +0 -158
  228. package/dist/popup/popup.consts.js +0 -41
  229. package/dist/popup/popup.js +0 -396
  230. package/dist/popup/popup.target.js +0 -26
  231. package/dist/popup/position.js +0 -280
  232. package/dist/popup-menu/popup-menu.js +0 -117
  233. package/dist/progress-bar/progress-bar.js +0 -114
  234. package/dist/progress-bar-ng/progress-bar-ng.js +0 -17
  235. package/dist/promised-click-ng/promised-click-ng.js +0 -128
  236. package/dist/proxy-attrs/proxy-attrs.js +0 -21
  237. package/dist/query-assist/query-assist.js +0 -1096
  238. package/dist/query-assist/query-assist__suggestions.js +0 -49
  239. package/dist/query-assist-ng/query-assist-ng.js +0 -86
  240. package/dist/radio/radio.js +0 -42
  241. package/dist/radio/radio__item.js +0 -78
  242. package/dist/radio-ng/radio-ng.js +0 -47
  243. package/dist/save-field-ng/save-field-ng.js +0 -337
  244. package/dist/save-field-ng/save-field-ng__template.js +0 -3
  245. package/dist/select/select.js +0 -1357
  246. package/dist/select/select__filter.js +0 -56
  247. package/dist/select/select__popup.js +0 -553
  248. package/dist/select-ng/select-ng.js +0 -637
  249. package/dist/select-ng/select-ng__lazy.js +0 -169
  250. package/dist/select-ng/select-ng__options.js +0 -145
  251. package/dist/shortcuts/core.js +0 -245
  252. package/dist/shortcuts/shortcut-title.js +0 -51
  253. package/dist/shortcuts/shortcuts-hoc.js +0 -42
  254. package/dist/shortcuts/shortcuts.js +0 -72
  255. package/dist/shortcuts-hint-ng/shortcuts-hint-ng.js +0 -123
  256. package/dist/shortcuts-hint-ng/shortcuts-hint-ng__template.js +0 -3
  257. package/dist/shortcuts-ng/shortcuts-ng.js +0 -262
  258. package/dist/sidebar-ng/sidebar-ng.js +0 -113
  259. package/dist/sidebar-ng/sidebar-ng__button-template.js +0 -3
  260. package/dist/sidebar-ng/sidebar-ng__template.js +0 -3
  261. package/dist/storage/storage.js +0 -59
  262. package/dist/storage/storage__fallback.js +0 -215
  263. package/dist/storage/storage__local.js +0 -154
  264. package/dist/style.css +0 -1
  265. package/dist/tab-trap/tab-trap.js +0 -177
  266. package/dist/table/cell.js +0 -26
  267. package/dist/table/disable-hover-hoc.js +0 -54
  268. package/dist/table/header-cell.js +0 -92
  269. package/dist/table/header.js +0 -193
  270. package/dist/table/multitable.js +0 -141
  271. package/dist/table/row-with-focus-sensor.js +0 -83
  272. package/dist/table/row.js +0 -273
  273. package/dist/table/selection-adapter.js +0 -16
  274. package/dist/table/selection-shortcuts-hoc.js +0 -215
  275. package/dist/table/selection.js +0 -223
  276. package/dist/table/smart-table.js +0 -125
  277. package/dist/table/table.js +0 -406
  278. package/dist/table-legacy-ng/table-legacy-ng.js +0 -468
  279. package/dist/table-legacy-ng/table-legacy-ng__pager.js +0 -120
  280. package/dist/table-legacy-ng/table-legacy-ng__selection-navigate-actions.js +0 -123
  281. package/dist/table-legacy-ng/table-legacy-ng__selection.js +0 -179
  282. package/dist/table-legacy-ng/table-legacy-ng__toolbar.js +0 -57
  283. package/dist/table-ng/smart-table-ng.js +0 -68
  284. package/dist/table-ng/table-ng.js +0 -67
  285. package/dist/tabs/collapsible-more.js +0 -198
  286. package/dist/tabs/collapsible-tab.js +0 -91
  287. package/dist/tabs/collapsible-tabs.js +0 -362
  288. package/dist/tabs/custom-item.js +0 -13
  289. package/dist/tabs/dumb-tabs.js +0 -164
  290. package/dist/tabs/smart-tabs.js +0 -106
  291. package/dist/tabs/tab-link.js +0 -42
  292. package/dist/tabs/tab.js +0 -33
  293. package/dist/tabs/tabs.js +0 -71
  294. package/dist/tabs-ng/tabs-ng.js +0 -194
  295. package/dist/tabs-ng/tabs-ng__template.js +0 -3
  296. package/dist/tag/tag.js +0 -197
  297. package/dist/tags-input/tags-input.js +0 -482
  298. package/dist/tags-input-ng/tags-input-ng.js +0 -93
  299. package/dist/tags-list/tags-list.js +0 -95
  300. package/dist/template-ng/template-ng.js +0 -71
  301. package/dist/text/text.js +0 -36
  302. package/dist/theme-ng/theme-ng.js +0 -45
  303. package/dist/title-ng/title-ng.js +0 -114
  304. package/dist/toggle/toggle.js +0 -78
  305. package/dist/toggle-ng/toggle-ng.js +0 -18
  306. package/dist/tooltip/tooltip.js +0 -209
  307. package/dist/tooltip-ng/tooltip-ng.js +0 -104
  308. package/dist/user-agreement/service.js +0 -412
  309. package/dist/user-agreement/toolbox.eula.js +0 -3
  310. package/dist/user-agreement/user-agreement.js +0 -169
  311. package/dist/user-card/card.js +0 -19
  312. package/dist/user-card/smart-user-card-tooltip.js +0 -114
  313. package/dist/user-card/tooltip.js +0 -95
  314. package/dist/user-card/user-card.js +0 -51
  315. package/dist/user-card-ng/user-card-ng.js +0 -62
@@ -1,100 +0,0 @@
1
- import angularComponentFactory from '../global/angular-component-factory.js';
2
- import Pager$1 from '../pager/pager.js';
3
- import '../_helpers/_rollupPluginBabelHelpers.js';
4
- import 'core-js/modules/web.dom-collections.iterator.js';
5
- import 'angular';
6
- import 'react';
7
- import '../global/react-render-adapter.js';
8
- import 'react-dom';
9
- import '../global/ring-angular-component.js';
10
- import '../global/react-dom-renderer.js';
11
- import 'prop-types';
12
- import 'classnames';
13
- import '@jetbrains/icons/chevron-left';
14
- import '@jetbrains/icons/chevron-right';
15
- import '../button/button.js';
16
- import 'focus-visible';
17
- import '@jetbrains/icons/chevron-10px';
18
- import '../icon/icon.js';
19
- import 'util-deprecate';
20
- import '../icon/icon__constants.js';
21
- import '../_helpers/icon.js';
22
- import '../icon/icon__svg.js';
23
- import 'core-js/modules/es.string.replace.js';
24
- import '../global/memoize.js';
25
- import '../global/theme.js';
26
- import '../link/clickableLink.js';
27
- import '../_helpers/button__classes.js';
28
- import '../button-group/button-group.js';
29
- import '../button-group/caption.js';
30
- import '../_helpers/button-group.js';
31
- import '../button-toolbar/button-toolbar.js';
32
- import '../_helpers/button-toolbar.js';
33
- import '../select/select.js';
34
- import '@jetbrains/icons/close';
35
- import 'deep-equal';
36
- import '../dropdown/dropdown.js';
37
- import '../global/data-tests.js';
38
- import '../_helpers/anchor.js';
39
- import '../avatar/avatar.js';
40
- import '../global/url.js';
41
- import '../global/dom.js';
42
- import '../avatar/fallback-avatar.js';
43
- import '../global/get-uid.js';
44
- import '../popup/popup.js';
45
- import '../global/schedule-raf.js';
46
- import '../shortcuts/shortcuts.js';
47
- import '../shortcuts/core.js';
48
- import 'combokeys';
49
- import '../global/sniffer.js';
50
- import 'sniffr';
51
- import '../tab-trap/tab-trap.js';
52
- import '../popup/position.js';
53
- import '../popup/popup.consts.js';
54
- import '../popup/popup.target.js';
55
- import '../list/list.js';
56
- import 'react-virtualized/dist/es/List';
57
- import 'react-virtualized/dist/es/AutoSizer';
58
- import 'react-virtualized/dist/es/WindowScroller';
59
- import 'react-virtualized/dist/es/CellMeasurer';
60
- import 'memoize-one';
61
- import '../global/create-stateful-context.js';
62
- import '../list/list__link.js';
63
- import '../link/link.js';
64
- import '../_helpers/link.js';
65
- import '../_helpers/list.js';
66
- import '../list/list__item.js';
67
- import '../checkbox/checkbox.js';
68
- import '@jetbrains/icons/checkmark';
69
- import '@jetbrains/icons/remove-10px';
70
- import '../_helpers/checkbox.js';
71
- import '../list/list__custom.js';
72
- import '../global/get-event-key.js';
73
- import '../list/list__title.js';
74
- import '../list/list__separator.js';
75
- import '../list/list__hint.js';
76
- import '../list/consts.js';
77
- import '../input/input.js';
78
- import '../_helpers/input.js';
79
- import '../global/rerender-hoc.js';
80
- import '../global/composeRefs.js';
81
- import '../global/fuzzy-highlight.js';
82
- import '../select/select__popup.js';
83
- import '@jetbrains/icons/search';
84
- import '../loader-inline/loader-inline.js';
85
- import '../_helpers/inject-styles.js';
86
- import '../global/conic-gradient.js';
87
- import 'conic-gradient';
88
- import '../global/supports-css.js';
89
- import '../global/inject-styles.js';
90
- import '../global/radial-gradient-mask.js';
91
- import '../shortcuts/shortcuts-hoc.js';
92
- import '../tags-list/tags-list.js';
93
- import '../tag/tag.js';
94
- import '../caret/caret.js';
95
- import '../text/text.js';
96
- import '../_helpers/select__filter.js';
97
-
98
- var Pager = angularComponentFactory(Pager$1, 'Pager').name;
99
-
100
- export { Pager as default };
@@ -1,31 +0,0 @@
1
- import { _ as _defineProperty, a as _extends } from '../_helpers/_rollupPluginBabelHelpers.js';
2
- import React, { PureComponent } from 'react';
3
- import PropTypes from 'prop-types';
4
- import classNames from 'classnames';
5
- import { m as modules_cf670408 } from '../_helpers/panel.js';
6
-
7
- /**
8
- * @name Panel
9
- */
10
-
11
- class Panel extends PureComponent {
12
- render() {
13
- const {
14
- className,
15
- children,
16
- ...props
17
- } = this.props;
18
- const classes = classNames(modules_cf670408.panel, className);
19
- return /*#__PURE__*/React.createElement("div", _extends({}, props, {
20
- className: classes
21
- }), children);
22
- }
23
-
24
- }
25
-
26
- _defineProperty(Panel, "propTypes", {
27
- className: PropTypes.string,
28
- children: PropTypes.node
29
- });
30
-
31
- export { Panel as default };
@@ -1,17 +0,0 @@
1
- import angular from 'angular';
2
- import { m as modules_cf670408 } from '../_helpers/panel.js';
3
- import { addClasses } from '../global/dom.js';
4
- import '../_helpers/_rollupPluginBabelHelpers.js';
5
- import 'core-js/modules/web.dom-collections.iterator.js';
6
-
7
- const angularModule = angular.module('Ring.panel', []);
8
- angularModule.directive('rgPanel', function rgEqualValueDirective() {
9
- return {
10
- link: function link(scope, iElement) {
11
- addClasses(iElement[0].classList, modules_cf670408.panel);
12
- }
13
- };
14
- });
15
- var panelNg = angularModule.name;
16
-
17
- export { panelNg as default };
@@ -1,200 +0,0 @@
1
- import { _ as _defineProperty } from '../_helpers/_rollupPluginBabelHelpers.js';
2
- import PermissionCache from './permissions__cache.js';
3
-
4
- /**
5
- * <code>
6
- * const permissions = new Permissions(auth, {prefix: 'jetbrains.jetpass.', services: [auth.serviceId]})
7
- * permissions.load().then(function (p) {
8
- * const canReadUser = p.has('read-user');
9
- * ...
10
- * });
11
- *
12
- * permissions.check('read-user').then(function(canReadUser) {
13
- * ...
14
- * });
15
- * </code>
16
- *
17
- * @param {Auth} auth instance of well configured Auth object
18
- * @param {{
19
- * prefix: string?,
20
- * namesConverter: function?
21
- * serviceId: string?
22
- * }=} config permissions loaded configuration.
23
- * <code>prefix</code> if provided then this prefix is removed from the permissions names.
24
- * <code>namesConverter</code> if provided it maps permission names used on server-side to client-side permission names. It is used only if prefix is undefined.
25
- * <code>serviceId</code> if provided then permissions only for the service are loaded.
26
- * @constructor
27
- */
28
-
29
- class Permissions {
30
- /**
31
- * @const {string}
32
- */
33
- constructor(auth) {
34
- let config = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
35
-
36
- _defineProperty(this, "_defaultDatasource", query => this._auth.http.get(Permissions.API_PERMISSION_CACHE_PATH, {
37
- query: {
38
- fields: 'permission/key,global,projects(id)',
39
- query
40
- }
41
- }));
42
-
43
- this.query = Permissions.getPermissionQuery(config.services);
44
- this.namesConverter = config.prefix ? Permissions.getDefaultNamesConverter(config.prefix) : config.namesConverter;
45
-
46
- if (!auth) {
47
- throw new Error('Parameter auth is required');
48
- }
49
-
50
- this._auth = auth;
51
- this._datasource = config.datasource || this._defaultDatasource;
52
- this._promise = null;
53
- this._subscribed = false;
54
- this._permissionCache = new PermissionCache(null, this.namesConverter);
55
- }
56
-
57
- /**
58
- * Returns function, which cuts off prefix from server-side permission name
59
- *
60
- * @param {string} prefix
61
- * @returns {Function}
62
- */
63
- static getDefaultNamesConverter(prefix) {
64
- return storedName => {
65
- if (storedName.indexOf(prefix) !== 0) {
66
- return storedName;
67
- } else {
68
- return storedName.substr(prefix.length);
69
- }
70
- };
71
- }
72
-
73
- static getPermissionQuery(services) {
74
- if (!services || !services.length) {
75
- return undefined;
76
- }
77
-
78
- return services.map(service => "service:{".concat(service, "}")).join(' or ');
79
- }
80
-
81
- set(cachedPermissions) {
82
- this._permissionCache.set(cachedPermissions);
83
-
84
- this._setCache(Promise.resolve(this._permissionCache));
85
-
86
- return this._permissionCache;
87
- }
88
-
89
- get() {
90
- return this._permissionCache.get();
91
- }
92
-
93
- _setCache(value) {
94
- this._promise = value;
95
- return value;
96
- }
97
-
98
- _getCache() {
99
- return this._promise;
100
- }
101
-
102
- _resetCache() {
103
- this._setCache(null);
104
- }
105
- /**
106
- * Loads logged-in user permissions.
107
- * @param {object?} options
108
- * @return {Promise.<Permissions>} promise that is resolved when the permissions are loaded
109
- */
110
-
111
-
112
- load(options) {
113
- if (this._subscribed === false) {
114
- this._auth.addListener('userChange', () => {
115
- this.reload();
116
- });
117
-
118
- this._subscribed = true;
119
- }
120
-
121
- if (!hasCacheControl('NO_CACHE', options) && this._getCache()) {
122
- return this._getCache();
123
- }
124
-
125
- if (hasCacheControl('NO_STORE', options)) {
126
- return this._loadPermissions().then(cachedPermissions => new PermissionCache(cachedPermissions, this.namesConverter));
127
- }
128
-
129
- return this._setCache(this._loadPermissions().then(cachedPermissions => this.set(cachedPermissions)));
130
-
131
- function hasCacheControl(value, _options) {
132
- if (_options && _options.cacheControl) {
133
- return _options.cacheControl[value];
134
- }
135
-
136
- return false;
137
- }
138
- }
139
-
140
- _loadPermissions() {
141
- return this._datasource(this.query);
142
- }
143
- /**
144
- * Reloads permission cache from server
145
- * @returns {Promise.<Permissions>} promise that is resolved when the permissions are reloaded
146
- */
147
-
148
-
149
- reload() {
150
- this._resetCache();
151
-
152
- return this.load();
153
- }
154
- /**
155
- * Waits till the permission cache is loaded then checks if the current user has the
156
- * given permissions in the project with the given id.
157
- *
158
- * @param {string} permissions space separated list of permissions
159
- * @param {string=} projectId optional projectId. If absent the method checks
160
- * if the given permission is granted in any project.
161
- *
162
- * @return {Promise.<boolean>}
163
- */
164
-
165
-
166
- check(permissions, projectId) {
167
- return this.load().then(permissionCache => permissionCache.has(permissions, projectId));
168
- }
169
- /**
170
- * Binds a property with the name <code>propertyName</code> of the <code>object</code>
171
- * to a boolean value that is true if user has the permissions and false if she doesn't.
172
- *
173
- * @example
174
- * <code>
175
- * userPermissions.bindVariable($scope, 'canReadRole', 'role-read')
176
- * </code>
177
- *
178
- * @param {object} object an object which property should be bound
179
- * @param {string} propertyName a name of a property to bind
180
- * @param {string} permissions space separated list of permissions
181
- * @param {string=} projectId optional projectId. If absent the method checks
182
- * if the given permissions are granted in any project.
183
- *
184
- * @return {Promise.<boolean>}
185
- */
186
-
187
-
188
- bindVariable(object, propertyName, permissions, projectId) {
189
- object[propertyName] = false;
190
- return this.check(permissions, projectId).then(permitted => {
191
- object[propertyName] = permitted;
192
- return permitted;
193
- });
194
- }
195
-
196
- }
197
-
198
- _defineProperty(Permissions, "API_PERMISSION_CACHE_PATH", 'permissions/cache');
199
-
200
- export { Permissions as default };
@@ -1,272 +0,0 @@
1
- import { _ as _defineProperty } from '../_helpers/_rollupPluginBabelHelpers.js';
2
-
3
- /**
4
- * Converts an array of cached permissions to a a map of a permission key
5
- * to the respective cached permission.
6
- *
7
- * @param { {
8
- * permission: {key: string},
9
- * global: boolean?,
10
- * projects: {id: string}[]?
11
- * }[] } permissions
12
- * @param {function} namesConverter a function, which maps a server-side permission name to client-side permission name
13
- * @return {object} permission cache
14
- * @private
15
- */
16
- class PermissionCache {
17
- /**
18
- * Convert an array of projects to a set of project ids.
19
- *
20
- * @param {object[]=} projects
21
- * @return {object} a set of project ids
22
- * @private
23
- */
24
- static _toProjectIdSet(projects) {
25
- let projectIdSet = null;
26
-
27
- if (projects) {
28
- projectIdSet = {};
29
-
30
- for (let i = 0; i < projects.length; i++) {
31
- projectIdSet[projects[i].id] = true;
32
- }
33
- }
34
-
35
- return projectIdSet;
36
- }
37
-
38
- constructor(permissions, namesConverter) {
39
- this.namesConverter = namesConverter || (key => key);
40
-
41
- this.set(permissions);
42
- }
43
-
44
- set(permissions) {
45
- const permissionCache = (permissions || []).reduce((_permissionCache, permission) => {
46
- const key = this.namesConverter(permission.permission.key);
47
-
48
- if (key) {
49
- _permissionCache[key] = {
50
- global: permission.global,
51
- projectIdSet: this.constructor._toProjectIdSet(permission.projects)
52
- };
53
- }
54
-
55
- return _permissionCache;
56
- }, {});
57
- this._permissions = permissions;
58
- this.permissionCache = permissionCache;
59
- return this;
60
- }
61
-
62
- get() {
63
- return this._permissions;
64
- }
65
- /**
66
- * Checks if the current user has the given permissions in the project with the given id.
67
- *
68
- * @param {string} permissions space separated list of permissions
69
- * @param {string=} projectId optional projectId. If absent the method checks
70
- * if the given permission is granted in any project.
71
- *
72
- * @return {boolean}
73
- */
74
-
75
-
76
- has(permissions, projectId) {
77
- const lexems = this.lex(permissions);
78
-
79
- if (lexems.length === 0) {
80
- return true;
81
- }
82
-
83
- try {
84
- return this.or(lexems, projectId);
85
- } catch (e) {
86
- return false;
87
- }
88
- }
89
- /**
90
- * Lexes permission query string to an array of lexems.
91
- *
92
- * @param {string} query
93
- * @return {string[]}
94
- */
95
-
96
-
97
- lex(query) {
98
- const lexems = [];
99
-
100
- if (query) {
101
- let currentIdentifier = '';
102
-
103
- for (let i = 0; i < query.length; i++) {
104
- switch (query.charAt(i)) {
105
- case ' ':
106
- case '\t':
107
- case '\n':
108
- case '\r':
109
- // Finish current token
110
- if (currentIdentifier) {
111
- lexems.push(currentIdentifier);
112
- currentIdentifier = '';
113
- } // Skip space
114
-
115
-
116
- break;
117
-
118
- case '(':
119
- case ')':
120
- case '&':
121
- case '|':
122
- case '!':
123
- // Finish current token
124
- if (currentIdentifier) {
125
- lexems.push(currentIdentifier);
126
- currentIdentifier = '';
127
- } // Append operator
128
-
129
-
130
- lexems.push(query.charAt(i));
131
- break;
132
-
133
- default:
134
- currentIdentifier += query.charAt(i);
135
- break;
136
- }
137
- }
138
-
139
- if (currentIdentifier) {
140
- lexems.push(currentIdentifier);
141
- }
142
- }
143
-
144
- return lexems;
145
- }
146
- /*
147
- or -> and ( '|' and )*
148
- and -> not ( '&'? not )*
149
- not -> '!'* term
150
- term -> '(' or ')' | permission
151
- permission -> [^()&|!\s]+
152
- */
153
-
154
- /**
155
- * @param {string[]} lexems
156
- * @param {string=} projectId
157
- * @return {boolean}
158
- */
159
-
160
-
161
- or(lexems, projectId) {
162
- let result = this.and(lexems, projectId);
163
-
164
- while (lexems.length > 0 && lexems[0] !== ')') {
165
- if (lexems.shift() !== '|') {
166
- throw new Error('Operator \'|\' was expected');
167
- }
168
-
169
- result = this.and(lexems, projectId) || result;
170
- }
171
-
172
- return result;
173
- }
174
- /**
175
- * @param {string[]} lexems
176
- * @param {string=} projectId
177
- * @return {boolean}
178
- */
179
-
180
-
181
- and(lexems, projectId) {
182
- let result = this.not(lexems, projectId);
183
-
184
- while (lexems.length > 0 && lexems[0] !== ')' && lexems[0] !== '|') {
185
- // Expect optional '&'
186
- if (lexems[0] === '&') {
187
- lexems.shift();
188
- }
189
-
190
- result = this.not(lexems, projectId) && result;
191
- }
192
-
193
- return result;
194
- }
195
- /**
196
- * @param {string[]} lexems
197
- * @param {string=} projectId
198
- * @return {boolean}
199
- */
200
-
201
-
202
- not(lexems, projectId) {
203
- let notCounter = 0;
204
-
205
- while (lexems.length > 0 && lexems[0] === '!') {
206
- ++notCounter;
207
- lexems.shift();
208
- }
209
-
210
- const result = this.term(lexems, projectId);
211
- return notCounter % 2 === 0 ? result : !result;
212
- }
213
- /**
214
- * @param {string[]} lexems
215
- * @param {string=} projectId
216
- * @return {boolean}
217
- */
218
-
219
-
220
- term(lexems, projectId) {
221
- if (lexems.length === 0) {
222
- throw new Error('Operand was expected');
223
- }
224
-
225
- const t = lexems.shift();
226
- let result; // Nested parenthesized expression
227
-
228
- if (t === '(') {
229
- result = this.or(lexems, projectId); // Expect ')'
230
-
231
- if (lexems.shift() !== ')') {
232
- throw new Error('Operator \')\' was expected');
233
- }
234
- } else {
235
- result = this.testPermission(t, projectId);
236
- }
237
-
238
- return result;
239
- }
240
- /**
241
- * @param {string} permissionName
242
- * @param {string=} projectId
243
- * @return {boolean}
244
- */
245
-
246
-
247
- testPermission(permissionName, projectId) {
248
- const permissionCache = this.permissionCache;
249
- const cachedPermission = permissionCache[permissionName] || permissionCache[this.namesConverter(permissionName)]; // Hasn't the permission in any project
250
-
251
- if (!cachedPermission) {
252
- return false;
253
- } // The permission is global or is given in the global project
254
-
255
-
256
- if (cachedPermission.global) {
257
- return true;
258
- }
259
-
260
- if (projectId) {
261
- // if projectId is specified check that the permission is given in the project
262
- return cachedPermission.projectIdSet && projectId in cachedPermission.projectIdSet;
263
- } else {
264
- return true;
265
- }
266
- }
267
-
268
- }
269
-
270
- _defineProperty(PermissionCache, "GLOBAL_PROJECT_ID", 'global');
271
-
272
- export { PermissionCache as default };