@jetbrains/ring-ui 4.1.1 → 4.1.2

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 (314) hide show
  1. package/dist/_helpers/_rollupPluginBabelHelpers.js +34 -0
  2. package/dist/_helpers/anchor.js +32 -0
  3. package/dist/_helpers/badge.js +3 -0
  4. package/dist/_helpers/button-group.js +3 -0
  5. package/dist/_helpers/button-set.js +3 -0
  6. package/dist/_helpers/button-toolbar.js +3 -0
  7. package/dist/_helpers/button__classes.js +39 -0
  8. package/dist/_helpers/card.js +75 -0
  9. package/dist/_helpers/checkbox.js +3 -0
  10. package/dist/_helpers/date-picker.js +3 -0
  11. package/dist/_helpers/dialog__body-scroll-preventer.js +57 -0
  12. package/dist/_helpers/error-message.js +3 -0
  13. package/dist/_helpers/footer.js +121 -0
  14. package/dist/_helpers/grid.js +3 -0
  15. package/dist/_helpers/group.js +3 -0
  16. package/dist/_helpers/header.js +3 -0
  17. package/dist/_helpers/icon.js +3 -0
  18. package/dist/_helpers/inject-styles.js +22 -0
  19. package/dist/_helpers/input.js +3 -0
  20. package/dist/_helpers/island.js +3 -0
  21. package/dist/_helpers/link.js +3 -0
  22. package/dist/_helpers/list.js +3 -0
  23. package/dist/_helpers/loader-screen.js +3 -0
  24. package/dist/_helpers/panel.js +3 -0
  25. package/dist/_helpers/query-assist__suggestions.js +95 -0
  26. package/dist/_helpers/radio.js +3 -0
  27. package/dist/_helpers/select__filter.js +76 -0
  28. package/dist/_helpers/services-link.js +40 -0
  29. package/dist/_helpers/sidebar.js +125 -0
  30. package/dist/_helpers/table.js +3 -0
  31. package/dist/_helpers/tabs.js +3 -0
  32. package/dist/_helpers/title.js +99 -0
  33. package/dist/alert/alert.js +260 -0
  34. package/dist/alert/container.js +48 -0
  35. package/dist/alert-service/alert-service.js +170 -0
  36. package/dist/analytics/analytics.js +116 -0
  37. package/dist/analytics/analytics__custom-plugin.js +127 -0
  38. package/dist/analytics/analytics__fus-plugin.js +101 -0
  39. package/dist/analytics/analytics__ga-plugin.js +66 -0
  40. package/dist/analytics/analytics__plugin-utils.js +79 -0
  41. package/dist/analytics-ng/analytics-ng.js +94 -0
  42. package/dist/auth/auth.js +93 -0
  43. package/dist/auth/auth__core.js +1025 -0
  44. package/dist/auth/background-flow.js +122 -0
  45. package/dist/auth/down-notification.js +114 -0
  46. package/dist/auth/iframe-flow.js +150 -0
  47. package/dist/auth/landing-entry.js +5 -0
  48. package/dist/auth/landing.js +87 -0
  49. package/dist/auth/request-builder.js +75 -0
  50. package/dist/auth/response-parser.js +117 -0
  51. package/dist/auth/storage.js +280 -0
  52. package/dist/auth/token-validator.js +176 -0
  53. package/dist/auth/window-flow.js +133 -0
  54. package/dist/auth-dialog/auth-dialog.js +134 -0
  55. package/dist/auth-dialog-service/auth-dialog-service.js +68 -0
  56. package/dist/auth-ng/auth-ng.js +203 -0
  57. package/dist/auth-ng/auth-ng.mock.js +33 -0
  58. package/dist/autofocus-ng/autofocus-ng.js +50 -0
  59. package/dist/avatar/avatar-example-datauri.js +26 -0
  60. package/dist/avatar/avatar.js +161 -0
  61. package/dist/avatar/fallback-avatar.js +141 -0
  62. package/dist/avatar-editor-ng/avatar-editor-ng.js +164 -0
  63. package/dist/avatar-editor-ng/avatar-editor-ng__template.js +30 -0
  64. package/dist/avatar-ng/avatar-ng.js +18 -0
  65. package/dist/badge/badge.js +50 -0
  66. package/dist/badge-ng/badge-ng.js +16 -0
  67. package/dist/breadcrumb-ng/breadcrumb-ng.js +61 -0
  68. package/dist/button/button.js +123 -0
  69. package/dist/button/button__classes.js +5 -0
  70. package/dist/button-group/button-group.js +30 -0
  71. package/dist/button-group/caption.js +24 -0
  72. package/dist/button-group-ng/button-group-ng.js +38 -0
  73. package/dist/button-ng/button-ng.js +223 -0
  74. package/dist/button-set/button-set.js +26 -0
  75. package/dist/button-set-ng/button-set-ng.js +19 -0
  76. package/dist/button-toolbar/button-toolbar.js +29 -0
  77. package/dist/button-toolbar-ng/button-toolbar-ng.js +23 -0
  78. package/dist/caret/caret.js +264 -0
  79. package/dist/checkbox/checkbox.js +108 -0
  80. package/dist/checkbox-ng/checkbox-ng.js +55 -0
  81. package/dist/code/code.js +136 -0
  82. package/dist/compiler-ng/compiler-ng.js +53 -0
  83. package/dist/confirm/confirm.js +125 -0
  84. package/dist/confirm-ng/confirm-ng.js +66 -0
  85. package/dist/confirm-service/confirm-service.js +114 -0
  86. package/dist/content-layout/content-layout.js +65 -0
  87. package/dist/content-layout/sidebar.js +6 -0
  88. package/dist/contenteditable/contenteditable.js +78 -0
  89. package/dist/data-list/data-list.js +206 -0
  90. package/dist/data-list/data-list.mock.js +190 -0
  91. package/dist/data-list/item.js +227 -0
  92. package/dist/data-list/selection.js +101 -0
  93. package/dist/data-list/title.js +18 -0
  94. package/dist/data-list-ng/data-list-ng.js +59 -0
  95. package/dist/date-picker/consts.js +69 -0
  96. package/dist/date-picker/date-input.js +173 -0
  97. package/dist/date-picker/date-picker.js +365 -0
  98. package/dist/date-picker/date-popup.js +482 -0
  99. package/dist/date-picker/day.js +119 -0
  100. package/dist/date-picker/formats.js +3 -0
  101. package/dist/date-picker/month-names.js +99 -0
  102. package/dist/date-picker/month-slider.js +83 -0
  103. package/dist/date-picker/month.js +54 -0
  104. package/dist/date-picker/months.js +121 -0
  105. package/dist/date-picker/weekdays.js +32 -0
  106. package/dist/date-picker/years.js +109 -0
  107. package/dist/dialog/dialog.js +200 -0
  108. package/dist/dialog/dialog__body-scroll-preventer.js +2 -0
  109. package/dist/dialog-ng/dialog-ng.js +601 -0
  110. package/dist/dialog-ng/dialog-ng__template.js +71 -0
  111. package/dist/docked-panel-ng/docked-panel-ng.js +170 -0
  112. package/dist/dropdown/anchor.js +17 -0
  113. package/dist/dropdown/dropdown.js +234 -0
  114. package/dist/dropdown-menu/dropdown-menu.js +175 -0
  115. package/dist/error-bubble/error-bubble.js +57 -0
  116. package/dist/error-message/error-message.js +55 -0
  117. package/dist/error-message-ng/error-message-ng.js +53 -0
  118. package/dist/footer/footer.js +11 -0
  119. package/dist/footer-ng/footer-ng.js +75 -0
  120. package/dist/form-ng/form-ng.js +169 -0
  121. package/dist/global/angular-component-factory.js +82 -0
  122. package/dist/global/compose.js +9 -0
  123. package/dist/global/composeRefs.js +15 -0
  124. package/dist/global/conic-gradient.js +35 -0
  125. package/dist/global/create-stateful-context.js +54 -0
  126. package/dist/global/data-tests.js +22 -0
  127. package/dist/global/dom.js +124 -0
  128. package/dist/global/focus-sensor-hoc.js +145 -0
  129. package/dist/global/fuzzy-highlight.js +67 -0
  130. package/dist/global/get-event-key.js +111 -0
  131. package/dist/global/get-uid.js +15 -0
  132. package/dist/global/inject-styles.js +17 -0
  133. package/dist/global/linear-function.js +17 -0
  134. package/dist/global/listeners.js +42 -0
  135. package/dist/global/memoize.js +18 -0
  136. package/dist/global/normalize-indent.js +28 -0
  137. package/dist/global/promise-with-timeout.js +13 -0
  138. package/dist/global/radial-gradient-mask.js +49 -0
  139. package/dist/global/react-dom-renderer.js +45 -0
  140. package/dist/global/rerender-hoc.js +51 -0
  141. package/dist/global/ring-angular-component.js +24 -0
  142. package/dist/global/schedule-raf.js +31 -0
  143. package/dist/global/sniffer.js +6 -0
  144. package/dist/global/supports-css.js +20 -0
  145. package/dist/global/theme.js +54 -0
  146. package/dist/global/trivial-template-tag.js +15 -0
  147. package/dist/global/url.js +163 -0
  148. package/dist/global/variables_dark.js +57 -0
  149. package/dist/grid/col.js +60 -0
  150. package/dist/grid/grid.js +33 -0
  151. package/dist/grid/row.js +64 -0
  152. package/dist/group/group.js +31 -0
  153. package/dist/group-ng/group-ng.js +11 -0
  154. package/dist/header/header.js +147 -0
  155. package/dist/header/logo.js +38 -0
  156. package/dist/header/profile.js +217 -0
  157. package/dist/header/services-link.js +11 -0
  158. package/dist/header/services.js +136 -0
  159. package/dist/header/smart-profile.js +230 -0
  160. package/dist/header/smart-services.js +160 -0
  161. package/dist/header/tray-icon.js +45 -0
  162. package/dist/header/tray.js +31 -0
  163. package/dist/heading/heading.js +73 -0
  164. package/dist/http/http.js +216 -0
  165. package/dist/http/http.mock.js +65 -0
  166. package/dist/hub-source/hub-source.js +130 -0
  167. package/dist/hub-source/hub-source__user.js +28 -0
  168. package/dist/hub-source/hub-source__users-groups.js +62 -0
  169. package/dist/icon/icon.js +105 -0
  170. package/dist/icon/icon__constants.js +33 -0
  171. package/dist/icon/icon__svg.js +81 -0
  172. package/dist/icon/index.js +10 -0
  173. package/dist/icon-ng/icon-ng.js +89 -0
  174. package/dist/input/input.js +228 -0
  175. package/dist/input-ng/input-ng.js +166 -0
  176. package/dist/island/adaptive-island-hoc.js +47 -0
  177. package/dist/island/content.js +156 -0
  178. package/dist/island/header.js +83 -0
  179. package/dist/island/island.js +50 -0
  180. package/dist/island-legacy/content-legacy.js +26 -0
  181. package/dist/island-legacy/header-legacy.js +28 -0
  182. package/dist/island-legacy/island-legacy.js +28 -0
  183. package/dist/island-ng/island-content-ng.js +56 -0
  184. package/dist/island-ng/island-header-ng.js +32 -0
  185. package/dist/island-ng/island-ng-class-fixer.js +9 -0
  186. package/dist/island-ng/island-ng.js +31 -0
  187. package/dist/link/clickableLink.js +63 -0
  188. package/dist/link/link.js +114 -0
  189. package/dist/link-ng/link-ng.js +25 -0
  190. package/dist/list/consts.js +26 -0
  191. package/dist/list/list.js +812 -0
  192. package/dist/list/list__custom.js +85 -0
  193. package/dist/list/list__hint.js +26 -0
  194. package/dist/list/list__item.js +204 -0
  195. package/dist/list/list__link.js +64 -0
  196. package/dist/list/list__separator.js +30 -0
  197. package/dist/list/list__title.js +39 -0
  198. package/dist/list/list__users-groups-source.js +128 -0
  199. package/dist/loader/loader.js +70 -0
  200. package/dist/loader/loader__core.js +272 -0
  201. package/dist/loader-inline/inject-styles.js +11 -0
  202. package/dist/loader-inline/loader-inline.js +56 -0
  203. package/dist/loader-inline-ng/loader-inline-ng.js +42 -0
  204. package/dist/loader-ng/loader-ng.js +43 -0
  205. package/dist/loader-screen/loader-screen.js +43 -0
  206. package/dist/loader-screen-ng/loader-screen-ng.js +99 -0
  207. package/dist/login-dialog/login-dialog.js +186 -0
  208. package/dist/login-dialog/service.js +69 -0
  209. package/dist/markdown/code.js +30 -0
  210. package/dist/markdown/heading.js +23 -0
  211. package/dist/markdown/link.js +30 -0
  212. package/dist/markdown/markdown.js +73 -0
  213. package/dist/message/message.js +233 -0
  214. package/dist/message-bundle-ng/message-bundle-ng.js +111 -0
  215. package/dist/old-browsers-message/old-browsers-message.js +100 -0
  216. package/dist/old-browsers-message/old-browsers-message__stop.js +4 -0
  217. package/dist/old-browsers-message/white-list.js +33 -0
  218. package/dist/pager/pager.js +361 -0
  219. package/dist/pager-ng/pager-ng.js +96 -0
  220. package/dist/panel/panel.js +31 -0
  221. package/dist/panel-ng/panel-ng.js +16 -0
  222. package/dist/permissions/permissions.js +200 -0
  223. package/dist/permissions/permissions__cache.js +272 -0
  224. package/dist/permissions-ng/permissions-ng.js +274 -0
  225. package/dist/place-under-ng/place-under-ng.js +157 -0
  226. package/dist/popup/popup.consts.js +41 -0
  227. package/dist/popup/popup.js +389 -0
  228. package/dist/popup/popup.target.js +26 -0
  229. package/dist/popup/position.js +279 -0
  230. package/dist/popup-menu/popup-menu.js +115 -0
  231. package/dist/progress-bar/progress-bar.js +113 -0
  232. package/dist/progress-bar-ng/progress-bar-ng.js +15 -0
  233. package/dist/promised-click-ng/promised-click-ng.js +126 -0
  234. package/dist/proxy-attrs/proxy-attrs.js +19 -0
  235. package/dist/query-assist/query-assist.js +1092 -0
  236. package/dist/query-assist/query-assist__suggestions.js +47 -0
  237. package/dist/query-assist-ng/query-assist-ng.js +82 -0
  238. package/dist/radio/radio.js +41 -0
  239. package/dist/radio/radio__item.js +77 -0
  240. package/dist/radio-ng/radio-ng.js +63 -0
  241. package/dist/save-field-ng/save-field-ng.js +335 -0
  242. package/dist/save-field-ng/save-field-ng__template.js +34 -0
  243. package/dist/select/select.js +1336 -0
  244. package/dist/select/select__filter.js +54 -0
  245. package/dist/select/select__popup.js +546 -0
  246. package/dist/select-ng/select-ng.js +621 -0
  247. package/dist/select-ng/select-ng__lazy.js +150 -0
  248. package/dist/select-ng/select-ng__options.js +145 -0
  249. package/dist/shortcuts/core.js +245 -0
  250. package/dist/shortcuts/shortcut-title.js +51 -0
  251. package/dist/shortcuts/shortcuts-hoc.js +41 -0
  252. package/dist/shortcuts/shortcuts.js +72 -0
  253. package/dist/shortcuts-hint-ng/shortcuts-hint-ng.js +120 -0
  254. package/dist/shortcuts-hint-ng/shortcuts-hint-ng__template.js +50 -0
  255. package/dist/shortcuts-ng/shortcuts-ng.js +261 -0
  256. package/dist/sidebar-ng/sidebar-ng.js +111 -0
  257. package/dist/sidebar-ng/sidebar-ng__button-template.js +20 -0
  258. package/dist/sidebar-ng/sidebar-ng__template.js +12 -0
  259. package/dist/storage/storage.js +56 -0
  260. package/dist/storage/storage__fallback.js +214 -0
  261. package/dist/storage/storage__local.js +151 -0
  262. package/dist/style.css +1 -0
  263. package/dist/tab-trap/tab-trap.js +176 -0
  264. package/dist/table/cell.js +25 -0
  265. package/dist/table/disable-hover-hoc.js +53 -0
  266. package/dist/table/header-cell.js +90 -0
  267. package/dist/table/header.js +191 -0
  268. package/dist/table/multitable.js +140 -0
  269. package/dist/table/row-with-focus-sensor.js +81 -0
  270. package/dist/table/row.js +271 -0
  271. package/dist/table/selection-adapter.js +14 -0
  272. package/dist/table/selection-shortcuts-hoc.js +214 -0
  273. package/dist/table/selection.js +221 -0
  274. package/dist/table/smart-table.js +119 -0
  275. package/dist/table/table.js +404 -0
  276. package/dist/table-legacy-ng/table-legacy-ng.js +501 -0
  277. package/dist/table-legacy-ng/table-legacy-ng__pager.js +122 -0
  278. package/dist/table-legacy-ng/table-legacy-ng__selection-navigate-actions.js +123 -0
  279. package/dist/table-legacy-ng/table-legacy-ng__selection.js +179 -0
  280. package/dist/table-legacy-ng/table-legacy-ng__toolbar.js +56 -0
  281. package/dist/table-ng/smart-table-ng.js +65 -0
  282. package/dist/table-ng/table-ng.js +64 -0
  283. package/dist/tabs/collapsible-more.js +196 -0
  284. package/dist/tabs/collapsible-tab.js +90 -0
  285. package/dist/tabs/collapsible-tabs.js +360 -0
  286. package/dist/tabs/custom-item.js +13 -0
  287. package/dist/tabs/dumb-tabs.js +161 -0
  288. package/dist/tabs/smart-tabs.js +104 -0
  289. package/dist/tabs/tab-link.js +41 -0
  290. package/dist/tabs/tab.js +32 -0
  291. package/dist/tabs/tabs.js +69 -0
  292. package/dist/tabs-ng/tabs-ng.js +193 -0
  293. package/dist/tabs-ng/tabs-ng__template.js +40 -0
  294. package/dist/tag/tag.js +196 -0
  295. package/dist/tags-input/tags-input.js +478 -0
  296. package/dist/tags-input-ng/tags-input-ng.js +89 -0
  297. package/dist/tags-list/tags-list.js +93 -0
  298. package/dist/template-ng/template-ng.js +70 -0
  299. package/dist/text/text.js +36 -0
  300. package/dist/theme-ng/theme-ng.js +44 -0
  301. package/dist/title-ng/title-ng.js +114 -0
  302. package/dist/toggle/toggle.js +77 -0
  303. package/dist/toggle-ng/toggle-ng.js +16 -0
  304. package/dist/tooltip/tooltip.js +207 -0
  305. package/dist/tooltip-ng/tooltip-ng.js +98 -0
  306. package/dist/user-agreement/service.js +409 -0
  307. package/dist/user-agreement/toolbox.eula.js +162 -0
  308. package/dist/user-agreement/user-agreement.js +167 -0
  309. package/dist/user-card/card.js +17 -0
  310. package/dist/user-card/smart-user-card-tooltip.js +112 -0
  311. package/dist/user-card/tooltip.js +93 -0
  312. package/dist/user-card/user-card.js +49 -0
  313. package/dist/user-card-ng/user-card-ng.js +59 -0
  314. package/package.json +2 -2
@@ -0,0 +1,20 @@
1
+ import memoize from './memoize.js';
2
+
3
+ var supportsCss = memoize(declaration => {
4
+ const [property, value] = declaration.split(': ');
5
+ const camelCaseProperty = property.replace(/-(\w)/g, (_, letter) => letter.toUpperCase());
6
+ const div = document.createElement('div');
7
+
8
+ if (div.style[camelCaseProperty] === undefined) {
9
+ return false;
10
+ }
11
+
12
+ if (value) {
13
+ div.style[camelCaseProperty] = value;
14
+ return Boolean(div.style[camelCaseProperty]);
15
+ }
16
+
17
+ return true;
18
+ });
19
+
20
+ export { supportsCss as default };
@@ -0,0 +1,54 @@
1
+ import { a as _extends } from '../_helpers/_rollupPluginBabelHelpers.js';
2
+ import React, { createContext, memo, forwardRef } from 'react';
3
+
4
+ const Theme = {
5
+ LIGHT: 'light',
6
+ DARK: 'dark'
7
+ };
8
+ const ThemeContext = /*#__PURE__*/createContext(null);
9
+
10
+ const getDisplayName = Component => {
11
+ var _ref, _Component$name;
12
+
13
+ return typeof Component === 'string' ? Component : (_ref = (_Component$name = Component.name) !== null && _Component$name !== void 0 ? _Component$name : Component.displayName) !== null && _ref !== void 0 ? _ref : 'Component';
14
+ };
15
+
16
+ const withTheme = function () {
17
+ let defaultTheme = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : Theme.LIGHT;
18
+ return ComposedComponent => {
19
+ const WithTheme = /*#__PURE__*/memo( /*#__PURE__*/forwardRef(function WithTheme(_ref2, ref) {
20
+ let {
21
+ theme,
22
+ ...restProps
23
+ } = _ref2;
24
+ return /*#__PURE__*/React.createElement(ThemeContext.Consumer, null, contextTheme => {
25
+ const usedTheme = theme || contextTheme || defaultTheme;
26
+ return /*#__PURE__*/React.createElement(ThemeContext.Provider, {
27
+ value: usedTheme
28
+ }, /*#__PURE__*/React.createElement(ComposedComponent, _extends({
29
+ ref: ref
30
+ }, restProps, {
31
+ theme: usedTheme
32
+ })));
33
+ });
34
+ }));
35
+ Object.assign(WithTheme, ComposedComponent);
36
+ WithTheme.propTypes = ComposedComponent.propTypes;
37
+ WithTheme.displayName = `withTheme(${getDisplayName(ComposedComponent)})`;
38
+ return WithTheme;
39
+ };
40
+ };
41
+
42
+ function applyTheme(params) {
43
+ if (!params || !params.element || !params.currentTheme) {
44
+ return;
45
+ }
46
+
47
+ if (params.prevTheme) {
48
+ params.element.classList.remove(params.prevTheme);
49
+ }
50
+
51
+ params.element.classList.add(params.currentTheme);
52
+ }
53
+
54
+ export { ThemeContext, applyTheme, Theme as default, withTheme };
@@ -0,0 +1,15 @@
1
+ const TWO = 2;
2
+ function trivialTemplateTag(f) {
3
+ return function (strings) {
4
+ const chunks = [...strings]; // insert the interpolations where they belong to
5
+
6
+ for (var _len = arguments.length, interpolations = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
7
+ interpolations[_key - 1] = arguments[_key];
8
+ }
9
+
10
+ interpolations.forEach((value, i) => chunks.splice(TWO * i + 1, 0, value));
11
+ return f(chunks.join(''));
12
+ };
13
+ }
14
+
15
+ export { trivialTemplateTag as default };
@@ -0,0 +1,163 @@
1
+ /**
2
+ * @description Provides a set of utilities for URL manipulation.
3
+ */
4
+
5
+ /**
6
+ * @const {RegExp}
7
+ */
8
+ const ORIGIN_PATTERN = /^[a-z]+:\/\/[^/]+/i;
9
+ /**
10
+ * @const {RegExp}
11
+ */
12
+
13
+ const ABSOLUTE_URL_PATTERN = /^[a-z]+:\/\//i;
14
+ /**
15
+ * @const {RegExp}
16
+ */
17
+
18
+ const ENDING_SLASH_PATTERN = /\/$/;
19
+ /**
20
+ * Get URI from the <base> tag
21
+ * @return {string|undefined} base URI
22
+ */
23
+
24
+ function getBaseURI() {
25
+ const baseElement = document.getElementsByTagName('base')[0];
26
+ return baseElement ? baseElement.href : undefined;
27
+ }
28
+ /**
29
+ * Get absolute URI from the <base> tag
30
+ * @return {string} absolute base URI
31
+ */
32
+
33
+ function getAbsoluteBaseURL() {
34
+ const baseUrl = getBaseURI();
35
+ const host = `${window.location.protocol}//${window.location.host}`;
36
+ let uri;
37
+
38
+ if (baseUrl) {
39
+ uri = ABSOLUTE_URL_PATTERN.test(baseUrl) ? baseUrl : host + baseUrl;
40
+ } else {
41
+ uri = host;
42
+ }
43
+
44
+ return uri;
45
+ }
46
+ /**
47
+ * Get origin from the URL
48
+ * @param {string} url URL to extract origin from
49
+ * @returns {string|undefined} origin
50
+ */
51
+
52
+ function getOrigin(url) {
53
+ const matches = url.match(ORIGIN_PATTERN);
54
+
55
+ if (matches) {
56
+ return matches[0];
57
+ }
58
+
59
+ return undefined;
60
+ }
61
+ /**
62
+ * Get absolute URI from current page
63
+ * @return {string} absolute URL of current page
64
+ */
65
+
66
+ function getAbsoluteURL() {
67
+ return window.location.href.split('#')[0];
68
+ }
69
+ /**
70
+ * Fixes the URL
71
+ * If the URL is relative and the page contains a <base> TAG, the URL will be converted to absolute
72
+ * <base href="/">: some/path => /some/path
73
+ * @param {string} url URL to fix
74
+ * @param {Function} baseURIGetter a function that returns base URI
75
+ * @return {string} fixed URL
76
+ */
77
+
78
+ function fixUrl(url) {
79
+ let baseURIGetter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : getBaseURI;
80
+
81
+ if (url.indexOf('http://') === -1 && url.indexOf('https://') === -1 && url.indexOf('/') !== 0) {
82
+ const baseUrl = baseURIGetter();
83
+
84
+ if (baseUrl) {
85
+ return baseUrl + url;
86
+ }
87
+ }
88
+
89
+ return url;
90
+ }
91
+ function joinBaseURLAndPath(baseUrl, path) {
92
+ if (!baseUrl || path.indexOf('http://') !== -1 || path.indexOf('https://') !== -1) {
93
+ return path;
94
+ }
95
+
96
+ return baseUrl + path;
97
+ }
98
+ /**
99
+ * Parses a queryString into an object.
100
+ * ```
101
+ * parseQueryString("access_token=2YotnFZFEjr1zCsicMWpAA&state=xyz&token_type=example&expires_in=3600");
102
+ * // is {access_token: "2YotnFZFEjr1zCsicMWpAA", state: "xyz", token_type: "example", expires_in: "3600"}
103
+ * ```
104
+ * @param {string} queryString query parameter string to parse
105
+ * @return {AuthResponse} object with query parameters map
106
+ */
107
+
108
+ function parseQueryString(queryString) {
109
+ if (queryString == null) {
110
+ return {};
111
+ }
112
+
113
+ const queryParameterPairRE = /([^&;=]+)=?([^&;]*)/g;
114
+ const FIRST_PAIR_ELEMENT = 1;
115
+ const SECOND_PAIR_ELEMENT = 2;
116
+ const urlParams = {};
117
+
118
+ function decode(s) {
119
+ return decodeURIComponent(s.replace(/\+/g, ' '));
120
+ }
121
+
122
+ let matchedQueryPair;
123
+
124
+ while ((matchedQueryPair = queryParameterPairRE.exec(queryString)) != null) {
125
+ urlParams[decode(matchedQueryPair[FIRST_PAIR_ELEMENT])] = decode(matchedQueryPair[SECOND_PAIR_ELEMENT]);
126
+ }
127
+
128
+ return urlParams;
129
+ }
130
+
131
+ function customEncodeURIComponent(str) {
132
+ const commaRE = /%2C/g;
133
+ return encodeURIComponent(str).replace(commaRE, ',');
134
+ }
135
+ /**
136
+ * Takes a URL as input and a params object.
137
+ * Each property in the params is added to the URL as query string parameters
138
+ * @param {string} url URL to add parameters to
139
+ * @param {Object} params parameters to add
140
+ * @returns {string} encoded URL
141
+ */
142
+
143
+
144
+ function encodeURL(url, params) {
145
+ const equalsSign = '=';
146
+ const firstSeparator = url.indexOf('?') === -1 ? '?' : '&';
147
+ let res = url;
148
+ let k;
149
+ let i = 0;
150
+
151
+ for (k in params) {
152
+ if (params.hasOwnProperty(k) && params[k] != null) {
153
+ res += (i++ === 0 ? firstSeparator : '&') + customEncodeURIComponent(k) + equalsSign + customEncodeURIComponent(params[k]);
154
+ }
155
+ }
156
+
157
+ return res;
158
+ }
159
+ function isDataURI(uri) {
160
+ return uri.indexOf('data:') === 0;
161
+ }
162
+
163
+ export { ENDING_SLASH_PATTERN, encodeURL, fixUrl, getAbsoluteBaseURL, getAbsoluteURL, getBaseURI, getOrigin, isDataURI, joinBaseURLAndPath, parseQueryString };
@@ -0,0 +1,57 @@
1
+ var variables_dark = {
2
+ '--ring-line-color': '#475159',
3
+ '--ring-borders-color': '#406380',
4
+ '--ring-icon-color': '#80929d',
5
+ '--ring-icon-secondary-color': '#80929d',
6
+ '--ring-border-disabled-color': '#475159',
7
+ '--ring-border-hover-color': '#70b1e6',
8
+ '--ring-icon-error-color': '#c22731',
9
+ '--ring-icon-warning-color': '#cc8b00',
10
+ '--ring-icon-success-color': '#1c8c32',
11
+ '--ring-popup-border-components': '0, 42, 76',
12
+ '--ring-popup-border-color': 'rgba(var(--ring-popup-border-components), 0.1)',
13
+ '--ring-popup-shadow-color': 'rgba(var(--ring-popup-border-components), 0.15)',
14
+ '--ring-message-shadow-color': 'rgba(var(--ring-popup-border-components), 0.3)',
15
+ '--ring-pinned-shadow-color': '#000',
16
+
17
+ /* Text */
18
+ '--ring-hint-color': '#80929d',
19
+ '--ring-link-color': '#70b1e6',
20
+ '--ring-error-color': '#db5860',
21
+ '--ring-warning-color': '#eda200',
22
+ '--ring-success-color': '#59a869',
23
+ '--ring-text-color': '#bbb',
24
+ '--ring-heading-color': 'var(--ring-text-color)',
25
+ '--ring-secondary-color': '#80929d',
26
+ '--ring-disabled-color': '#80929d',
27
+
28
+ /* Background */
29
+ '--ring-content-background-color': '#23272b',
30
+ '--ring-popup-background-color': '#111314',
31
+ '--ring-sidebar-background-color': '#28343d',
32
+ '--ring-selected-background-color': '#062640',
33
+ '--ring-hover-background-color': '#0b1a26',
34
+ '--ring-message-background-color': 'var(--ring-popup-background-color)',
35
+ '--ring-navigation-background-color': '#111314',
36
+ '--ring-tag-background-color': '#3e4d59',
37
+ '--ring-removed-background-color': '#8f5247',
38
+ '--ring-warning-background-color': '#593d01',
39
+ '--ring-added-background-color': '#365947',
40
+
41
+ /* Code */
42
+ '--ring-code-background-color': '#2b2b2b',
43
+ '--ring-code-color': '#a9b7c6',
44
+ '--ring-code-meta-color': '#bbb529',
45
+ '--ring-code-keyword-color': '#cc7832',
46
+ '--ring-code-tag-background-color': '#2b2b2b',
47
+ '--ring-code-tag-color': '#e8BF6a',
48
+ '--ring-code-tag-font-weight': 'normal',
49
+ '--ring-code-field-color': '#9876aa',
50
+ '--ring-code-attribute-color': '#bababa',
51
+ '--ring-code-number-color': '#6897bb',
52
+ '--ring-code-string-color': '#6a8759',
53
+ '--ring-code-addition-color': '#447152',
54
+ '--ring-code-deletion-color': '#656e76'
55
+ };
56
+
57
+ export { variables_dark as default };
@@ -0,0 +1,60 @@
1
+ import { _ as _defineProperty } from '../_helpers/_rollupPluginBabelHelpers.js';
2
+ import React, { Component } from 'react';
3
+ import PropTypes from 'prop-types';
4
+ import classNames from 'classnames';
5
+ import { m as modules_855170c0 } from '../_helpers/grid.js';
6
+
7
+ const ModifierType = PropTypes.oneOfType([PropTypes.number, PropTypes.bool]);
8
+ const classMap = {
9
+ xs: 'col-xs',
10
+ sm: 'col-sm',
11
+ md: 'col-md',
12
+ lg: 'col-lg',
13
+ xsOffset: 'col-xs-offset',
14
+ smOffset: 'col-sm-offset',
15
+ mdOffset: 'col-md-offset',
16
+ lgOffset: 'col-lg-offset'
17
+ };
18
+ /**
19
+ * Converts props like "xs=9 xsOffset={2}" to classes "col-xs-9 col-xs-offset-2"
20
+ * @param {Object} props incoming props
21
+ * @returns {Array} result classnames
22
+ */
23
+
24
+ function getClassNames(props) {
25
+ return Object.keys(props).filter(key => classMap[key]).map(key => modules_855170c0[Number.isInteger(props[key]) ? `${classMap[key]}-${props[key]}` : classMap[key]]);
26
+ }
27
+
28
+ class Col extends Component {
29
+ render() {
30
+ const {
31
+ children,
32
+ className,
33
+ reverse,
34
+ ...restProps
35
+ } = this.props;
36
+ const classes = classNames(modules_855170c0.col, className, getClassNames(restProps), {
37
+ [modules_855170c0.reverse]: reverse
38
+ });
39
+ return /*#__PURE__*/React.createElement("div", {
40
+ className: classes
41
+ }, children);
42
+ }
43
+
44
+ }
45
+
46
+ _defineProperty(Col, "propTypes", {
47
+ xs: ModifierType,
48
+ sm: ModifierType,
49
+ md: ModifierType,
50
+ lg: ModifierType,
51
+ xsOffset: PropTypes.number,
52
+ smOffset: PropTypes.number,
53
+ mdOffset: PropTypes.number,
54
+ lgOffset: PropTypes.number,
55
+ reverse: PropTypes.bool,
56
+ className: PropTypes.string,
57
+ children: PropTypes.node
58
+ });
59
+
60
+ export { Col as default };
@@ -0,0 +1,33 @@
1
+ import { _ as _defineProperty, a as _extends } from '../_helpers/_rollupPluginBabelHelpers.js';
2
+ import React, { Component } from 'react';
3
+ import PropTypes from 'prop-types';
4
+ import classNames from 'classnames';
5
+ import { m as modules_855170c0 } from '../_helpers/grid.js';
6
+ export { default as Row } from './row.js';
7
+ export { default as Col } from './col.js';
8
+
9
+ /**
10
+ * @name Grid
11
+ */
12
+
13
+ class Grid extends Component {
14
+ render() {
15
+ const {
16
+ children,
17
+ className,
18
+ ...restProps
19
+ } = this.props;
20
+ const classes = classNames(modules_855170c0['container-fluid'], className);
21
+ return /*#__PURE__*/React.createElement("div", _extends({}, restProps, {
22
+ className: classes
23
+ }), children);
24
+ }
25
+
26
+ }
27
+
28
+ _defineProperty(Grid, "propTypes", {
29
+ className: PropTypes.string,
30
+ children: PropTypes.node
31
+ });
32
+
33
+ export { Grid };
@@ -0,0 +1,64 @@
1
+ import { _ as _defineProperty } from '../_helpers/_rollupPluginBabelHelpers.js';
2
+ import React, { Component } from 'react';
3
+ import PropTypes from 'prop-types';
4
+ import classNames from 'classnames';
5
+ import { m as modules_855170c0 } from '../_helpers/grid.js';
6
+
7
+ const ModifierType = PropTypes.oneOf(['xs', 'sm', 'md', 'lg']);
8
+ const modifierKeys = ['start', 'center', 'end', // text-align, justify-content
9
+ 'around', 'between', // justify-content
10
+ 'top', 'middle', 'baseline', 'bottom', // align-items
11
+ 'first', 'last' // order
12
+ ];
13
+ /**
14
+ * Converts xs="middle" to class "middle-xs"
15
+ * @param {Object} props incoming props
16
+ * @returns {Array} result modifier classes
17
+ */
18
+
19
+ function getModifierClassNames(props) {
20
+ return modifierKeys.reduce((result, key) => {
21
+ if (props[key]) {
22
+ return result.concat(modules_855170c0[`${key}-${props[key]}`]);
23
+ }
24
+
25
+ return result;
26
+ }, []);
27
+ }
28
+
29
+ class Row extends Component {
30
+ render() {
31
+ const {
32
+ children,
33
+ className,
34
+ reverse,
35
+ ...restProps
36
+ } = this.props;
37
+ const classes = classNames(className, modules_855170c0.row, getModifierClassNames(restProps), {
38
+ [modules_855170c0.reverse]: reverse
39
+ });
40
+ return /*#__PURE__*/React.createElement("div", {
41
+ className: classes
42
+ }, children);
43
+ }
44
+
45
+ }
46
+
47
+ _defineProperty(Row, "propTypes", {
48
+ reverse: PropTypes.bool,
49
+ start: ModifierType,
50
+ center: ModifierType,
51
+ end: ModifierType,
52
+ top: ModifierType,
53
+ middle: ModifierType,
54
+ baseline: ModifierType,
55
+ bottom: ModifierType,
56
+ around: ModifierType,
57
+ between: ModifierType,
58
+ first: ModifierType,
59
+ last: ModifierType,
60
+ className: PropTypes.string,
61
+ children: PropTypes.node
62
+ });
63
+
64
+ export { Row as default };
@@ -0,0 +1,31 @@
1
+ import { _ as _defineProperty, a as _extends } from '../_helpers/_rollupPluginBabelHelpers.js';
2
+ import React, { Component } from 'react';
3
+ import PropTypes from 'prop-types';
4
+ import classNames from 'classnames';
5
+ import { m as modules_d9da30c7 } from '../_helpers/group.js';
6
+
7
+ /**
8
+ * @name Group
9
+ */
10
+
11
+ class Group extends Component {
12
+ render() {
13
+ const {
14
+ children,
15
+ className,
16
+ ...restProps
17
+ } = this.props;
18
+ const classes = classNames(modules_d9da30c7.group, className);
19
+ return /*#__PURE__*/React.createElement("span", _extends({}, restProps, {
20
+ className: classes
21
+ }), children);
22
+ }
23
+
24
+ }
25
+
26
+ _defineProperty(Group, "propTypes", {
27
+ children: PropTypes.node,
28
+ className: PropTypes.string
29
+ });
30
+
31
+ export { Group as default };
@@ -0,0 +1,11 @@
1
+ import angular from 'angular';
2
+ import { m as modules_d9da30c7 } from '../_helpers/group.js';
3
+
4
+ const angularModule = angular.module('Ring.group', []);
5
+ angularModule.component('rgGroup', {
6
+ transclude: true,
7
+ template: `<span ng-transclude class="${modules_d9da30c7.group}"></span>`
8
+ });
9
+ var groupNg = angularModule.name;
10
+
11
+ export { groupNg as default };
@@ -0,0 +1,147 @@
1
+ import { _ as _defineProperty, a as _extends } from '../_helpers/_rollupPluginBabelHelpers.js';
2
+ import React, { Component } from 'react';
3
+ import PropTypes from 'prop-types';
4
+ import classNames from 'classnames';
5
+ import compose from '../global/compose.js';
6
+ import Theme, { withTheme } from '../global/theme.js';
7
+ import { m as modules_47759f5e } from '../_helpers/header.js';
8
+ export { default as Logo } from './logo.js';
9
+ export { default as Tray } from './tray.js';
10
+ export { default as TrayIcon } from './tray-icon.js';
11
+ export { default as Profile } from './profile.js';
12
+ export { default as SmartProfile } from './smart-profile.js';
13
+ export { default as Services } from './services.js';
14
+ export { default as SmartServices } from './smart-services.js';
15
+ import '../icon/icon.js';
16
+ import 'util-deprecate';
17
+ import '../icon/icon__constants.js';
18
+ import '../_helpers/icon.js';
19
+ import '../icon/icon__svg.js';
20
+ import '../global/memoize.js';
21
+ import '../button/button.js';
22
+ import 'focus-visible';
23
+ import '@jetbrains/icons/chevron-10px';
24
+ import '../link/clickableLink.js';
25
+ import '../_helpers/button__classes.js';
26
+ import '../avatar/avatar.js';
27
+ import '../global/url.js';
28
+ import '../global/dom.js';
29
+ import '../avatar/fallback-avatar.js';
30
+ import '../global/get-uid.js';
31
+ import '../dropdown-menu/dropdown-menu.js';
32
+ import '../list/list.js';
33
+ import 'react-virtualized/dist/es/List';
34
+ import 'react-virtualized/dist/es/AutoSizer';
35
+ import 'react-virtualized/dist/es/WindowScroller';
36
+ import 'react-virtualized/dist/es/CellMeasurer';
37
+ import 'memoize-one';
38
+ import '../global/data-tests.js';
39
+ import '../global/schedule-raf.js';
40
+ import '../shortcuts/shortcuts.js';
41
+ import '../shortcuts/core.js';
42
+ import 'combokeys';
43
+ import '../global/sniffer.js';
44
+ import 'sniffr';
45
+ import '../global/create-stateful-context.js';
46
+ import '../list/list__link.js';
47
+ import '../link/link.js';
48
+ import '../_helpers/link.js';
49
+ import '../_helpers/list.js';
50
+ import '../list/list__item.js';
51
+ import '../checkbox/checkbox.js';
52
+ import '@jetbrains/icons/checkmark';
53
+ import '@jetbrains/icons/remove-10px';
54
+ import '../_helpers/checkbox.js';
55
+ import '../list/list__custom.js';
56
+ import '../global/get-event-key.js';
57
+ import '../list/list__title.js';
58
+ import '../list/list__separator.js';
59
+ import '../list/list__hint.js';
60
+ import '../list/consts.js';
61
+ import '../dropdown/dropdown.js';
62
+ import '../_helpers/anchor.js';
63
+ import '../popup-menu/popup-menu.js';
64
+ import '../popup/popup.js';
65
+ import 'react-dom';
66
+ import '../tab-trap/tab-trap.js';
67
+ import '../popup/position.js';
68
+ import '../popup/popup.consts.js';
69
+ import '../popup/popup.target.js';
70
+ import '../auth/auth.js';
71
+ import '../auth/window-flow.js';
72
+ import '../auth/response-parser.js';
73
+ import 'es6-error';
74
+ import '../auth/down-notification.js';
75
+ import '../alert-service/alert-service.js';
76
+ import '../alert/alert.js';
77
+ import '@jetbrains/icons/exception';
78
+ import '@jetbrains/icons/warning';
79
+ import '@jetbrains/icons/close';
80
+ import '../loader-inline/loader-inline.js';
81
+ import '../_helpers/inject-styles.js';
82
+ import '../global/conic-gradient.js';
83
+ import 'conic-gradient';
84
+ import '../global/supports-css.js';
85
+ import '../global/inject-styles.js';
86
+ import '../global/radial-gradient-mask.js';
87
+ import '../alert/container.js';
88
+ import '../group/group.js';
89
+ import '../_helpers/group.js';
90
+ import '../auth/auth__core.js';
91
+ import '../global/listeners.js';
92
+ import '../http/http.js';
93
+ import '../global/promise-with-timeout.js';
94
+ import '../auth/storage.js';
95
+ import '../storage/storage.js';
96
+ import '../storage/storage__local.js';
97
+ import '../storage/storage__fallback.js';
98
+ import 'deep-equal';
99
+ import '../auth/request-builder.js';
100
+ import 'simply-uuid';
101
+ import '../auth/background-flow.js';
102
+ import '../auth/token-validator.js';
103
+ import '@jetbrains/icons/services-20px';
104
+ import '../_helpers/services-link.js';
105
+
106
+ /**
107
+ * @name Header
108
+ */
109
+
110
+ /**
111
+ * Displays a configurable page header. See available presentation options in the knobs panel.
112
+ */
113
+
114
+ class Header extends Component {
115
+ render() {
116
+ const {
117
+ children,
118
+ className,
119
+ spaced,
120
+ theme,
121
+ ...restProps
122
+ } = this.props;
123
+ const classes = classNames(modules_47759f5e.header, modules_47759f5e[theme], className, {
124
+ [modules_47759f5e.headerSpaced]: spaced
125
+ });
126
+ return /*#__PURE__*/React.createElement("header", _extends({}, restProps, {
127
+ className: classes
128
+ }), children);
129
+ }
130
+
131
+ }
132
+
133
+ _defineProperty(Header, "propTypes", {
134
+ theme: PropTypes.oneOf(['light', 'dark']),
135
+ className: PropTypes.string,
136
+ children: PropTypes.node,
137
+ spaced: PropTypes.bool
138
+ });
139
+
140
+ _defineProperty(Header, "defaultProps", {
141
+ spaced: true
142
+ });
143
+
144
+ var header = withTheme(Theme.DARK)(Header);
145
+ const RerenderableHeader = compose(withTheme(Theme.DARK))(Header);
146
+
147
+ export { RerenderableHeader, header as default };