@jetbrains/ring-ui-built 6.0.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 (441) hide show
  1. package/LICENSE.txt +202 -0
  2. package/README.md +103 -0
  3. package/components/_helpers/_rollupPluginBabelHelpers.js +648 -0
  4. package/components/_helpers/anchor.js +31 -0
  5. package/components/_helpers/badge.js +3 -0
  6. package/components/_helpers/button__classes.js +34 -0
  7. package/components/_helpers/caption.js +31 -0
  8. package/components/_helpers/card.js +132 -0
  9. package/components/_helpers/date-picker.js +3 -0
  10. package/components/_helpers/dialog__body-scroll-preventer.js +54 -0
  11. package/components/_helpers/grid.js +3 -0
  12. package/components/_helpers/header.js +3 -0
  13. package/components/_helpers/heading.js +3 -0
  14. package/components/_helpers/icon__svg.js +75 -0
  15. package/components/_helpers/input.js +235 -0
  16. package/components/_helpers/island.js +3 -0
  17. package/components/_helpers/link.js +3 -0
  18. package/components/_helpers/list.js +3 -0
  19. package/components/_helpers/query-assist__suggestions.js +102 -0
  20. package/components/_helpers/select__filter.js +94 -0
  21. package/components/_helpers/services-link.js +48 -0
  22. package/components/_helpers/sidebar.js +123 -0
  23. package/components/_helpers/tab-link.js +34 -0
  24. package/components/_helpers/table.js +3 -0
  25. package/components/_helpers/theme.js +95 -0
  26. package/components/_helpers/title.js +103 -0
  27. package/components/alert/alert.d.ts +113 -0
  28. package/components/alert/alert.js +294 -0
  29. package/components/alert/container.d.ts +15 -0
  30. package/components/alert/container.js +52 -0
  31. package/components/alert-service/alert-service.d.ts +36 -0
  32. package/components/alert-service/alert-service.js +220 -0
  33. package/components/analytics/analytics.d.ts +18 -0
  34. package/components/analytics/analytics.js +31 -0
  35. package/components/analytics/analytics__custom-plugin.d.ts +28 -0
  36. package/components/analytics/analytics__custom-plugin.js +89 -0
  37. package/components/auth/auth.d.ts +3 -0
  38. package/components/auth/auth.js +133 -0
  39. package/components/auth/auth__core.d.ts +236 -0
  40. package/components/auth/auth__core.js +1653 -0
  41. package/components/auth/background-flow.d.ts +31 -0
  42. package/components/auth/background-flow.js +147 -0
  43. package/components/auth/down-notification.d.ts +15 -0
  44. package/components/auth/down-notification.js +157 -0
  45. package/components/auth/iframe-flow.d.ts +20 -0
  46. package/components/auth/iframe-flow.js +196 -0
  47. package/components/auth/request-builder.d.ts +48 -0
  48. package/components/auth/request-builder.js +104 -0
  49. package/components/auth/response-parser.d.ts +70 -0
  50. package/components/auth/response-parser.js +138 -0
  51. package/components/auth/storage.d.ts +112 -0
  52. package/components/auth/storage.js +429 -0
  53. package/components/auth/token-validator.d.ts +93 -0
  54. package/components/auth/token-validator.js +269 -0
  55. package/components/auth/window-flow.d.ts +26 -0
  56. package/components/auth/window-flow.js +154 -0
  57. package/components/auth-dialog/auth-dialog.d.ts +60 -0
  58. package/components/auth-dialog/auth-dialog.js +221 -0
  59. package/components/auth-dialog-service/auth-dialog-service.d.ts +6 -0
  60. package/components/auth-dialog-service/auth-dialog-service.js +92 -0
  61. package/components/avatar/avatar-example-datauri.d.ts +1 -0
  62. package/components/avatar/avatar-example-datauri.js +4 -0
  63. package/components/avatar/avatar.d.ts +52 -0
  64. package/components/avatar/avatar.js +183 -0
  65. package/components/avatar/fallback-avatar.d.ts +17 -0
  66. package/components/avatar/fallback-avatar.js +151 -0
  67. package/components/badge/badge.d.ts +24 -0
  68. package/components/badge/badge.js +59 -0
  69. package/components/button/button.d.ts +67 -0
  70. package/components/button/button.js +131 -0
  71. package/components/button/button__classes.d.ts +2 -0
  72. package/components/button/button__classes.js +2 -0
  73. package/components/button-group/button-group.d.ts +18 -0
  74. package/components/button-group/button-group.js +48 -0
  75. package/components/button-group/caption.d.ts +8 -0
  76. package/components/button-group/caption.js +5 -0
  77. package/components/button-set/button-set.d.ts +16 -0
  78. package/components/button-set/button-set.js +47 -0
  79. package/components/button-toolbar/button-toolbar.d.ts +16 -0
  80. package/components/button-toolbar/button-toolbar.js +46 -0
  81. package/components/caret/caret.d.ts +66 -0
  82. package/components/caret/caret.js +259 -0
  83. package/components/checkbox/checkbox.d.ts +45 -0
  84. package/components/checkbox/checkbox.js +130 -0
  85. package/components/clipboard/clipboard-fallback.d.ts +2 -0
  86. package/components/clipboard/clipboard-fallback.js +42 -0
  87. package/components/clipboard/clipboard.d.ts +5 -0
  88. package/components/clipboard/clipboard.js +185 -0
  89. package/components/code/code.d.ts +44 -0
  90. package/components/code/code.js +191 -0
  91. package/components/confirm/confirm.d.ts +48 -0
  92. package/components/confirm/confirm.js +153 -0
  93. package/components/confirm-service/confirm-service.d.ts +21 -0
  94. package/components/confirm-service/confirm-service.js +141 -0
  95. package/components/content-layout/content-layout.d.ts +26 -0
  96. package/components/content-layout/content-layout.js +79 -0
  97. package/components/content-layout/sidebar.d.ts +31 -0
  98. package/components/content-layout/sidebar.js +7 -0
  99. package/components/contenteditable/contenteditable.d.ts +47 -0
  100. package/components/contenteditable/contenteditable.js +84 -0
  101. package/components/control-label/control-label.d.ts +11 -0
  102. package/components/control-label/control-label.js +36 -0
  103. package/components/data-list/data-list.d.ts +85 -0
  104. package/components/data-list/data-list.js +251 -0
  105. package/components/data-list/data-list.mock.d.ts +16 -0
  106. package/components/data-list/data-list.mock.js +192 -0
  107. package/components/data-list/item.d.ts +50 -0
  108. package/components/data-list/item.js +235 -0
  109. package/components/data-list/selection.d.ts +16 -0
  110. package/components/data-list/selection.js +148 -0
  111. package/components/data-list/title.d.ts +26 -0
  112. package/components/data-list/title.js +28 -0
  113. package/components/date-picker/consts.d.ts +98 -0
  114. package/components/date-picker/consts.js +46 -0
  115. package/components/date-picker/date-input.d.ts +47 -0
  116. package/components/date-picker/date-input.js +177 -0
  117. package/components/date-picker/date-picker.d.ts +77 -0
  118. package/components/date-picker/date-picker.js +404 -0
  119. package/components/date-picker/date-popup.d.ts +55 -0
  120. package/components/date-picker/date-popup.js +488 -0
  121. package/components/date-picker/day.d.ts +30 -0
  122. package/components/date-picker/day.js +133 -0
  123. package/components/date-picker/formats.d.ts +2 -0
  124. package/components/date-picker/formats.js +3 -0
  125. package/components/date-picker/month-names.d.ts +13 -0
  126. package/components/date-picker/month-names.js +110 -0
  127. package/components/date-picker/month-slider.d.ts +29 -0
  128. package/components/date-picker/month-slider.js +93 -0
  129. package/components/date-picker/month.d.ts +14 -0
  130. package/components/date-picker/month.js +58 -0
  131. package/components/date-picker/months.d.ts +11 -0
  132. package/components/date-picker/months.js +133 -0
  133. package/components/date-picker/weekdays.d.ts +13 -0
  134. package/components/date-picker/weekdays.js +39 -0
  135. package/components/date-picker/years.d.ts +25 -0
  136. package/components/date-picker/years.js +134 -0
  137. package/components/dialog/dialog.d.ts +64 -0
  138. package/components/dialog/dialog.js +240 -0
  139. package/components/dialog/dialog__body-scroll-preventer.d.ts +9 -0
  140. package/components/dialog/dialog__body-scroll-preventer.js +6 -0
  141. package/components/dropdown/anchor.d.ts +11 -0
  142. package/components/dropdown/anchor.js +24 -0
  143. package/components/dropdown/dropdown.d.ts +87 -0
  144. package/components/dropdown/dropdown.js +247 -0
  145. package/components/dropdown-menu/dropdown-menu.d.ts +36 -0
  146. package/components/dropdown-menu/dropdown-menu.js +199 -0
  147. package/components/editable-heading/editable-heading.d.ts +32 -0
  148. package/components/editable-heading/editable-heading.js +276 -0
  149. package/components/error-bubble/error-bubble.d.ts +18 -0
  150. package/components/error-bubble/error-bubble.js +88 -0
  151. package/components/error-message/error-message.d.ts +27 -0
  152. package/components/error-message/error-message.js +78 -0
  153. package/components/footer/footer.d.ts +28 -0
  154. package/components/footer/footer.js +118 -0
  155. package/components/global/compose.d.ts +7 -0
  156. package/components/global/compose.js +17 -0
  157. package/components/global/composeRefs.d.ts +3 -0
  158. package/components/global/composeRefs.js +19 -0
  159. package/components/global/controls-height.d.ts +9 -0
  160. package/components/global/controls-height.js +19 -0
  161. package/components/global/create-stateful-context.d.ts +27 -0
  162. package/components/global/create-stateful-context.js +49 -0
  163. package/components/global/data-tests.d.ts +3 -0
  164. package/components/global/data-tests.js +30 -0
  165. package/components/global/dom.d.ts +37 -0
  166. package/components/global/dom.js +151 -0
  167. package/components/global/focus-sensor-hoc.d.ts +19 -0
  168. package/components/global/focus-sensor-hoc.js +165 -0
  169. package/components/global/fuzzy-highlight.d.ts +11 -0
  170. package/components/global/fuzzy-highlight.js +90 -0
  171. package/components/global/get-event-key.d.ts +2 -0
  172. package/components/global/get-event-key.js +101 -0
  173. package/components/global/get-uid.d.ts +1 -0
  174. package/components/global/get-uid.js +22 -0
  175. package/components/global/inject-styles.d.ts +3 -0
  176. package/components/global/inject-styles.js +22 -0
  177. package/components/global/linear-function.d.ts +6 -0
  178. package/components/global/linear-function.js +15 -0
  179. package/components/global/listeners.d.ts +8 -0
  180. package/components/global/listeners.js +58 -0
  181. package/components/global/memoize.d.ts +1 -0
  182. package/components/global/memoize.js +23 -0
  183. package/components/global/normalize-indent.d.ts +1 -0
  184. package/components/global/normalize-indent.js +60 -0
  185. package/components/global/promise-with-timeout.d.ts +5 -0
  186. package/components/global/promise-with-timeout.js +19 -0
  187. package/components/global/prop-types.d.ts +4 -0
  188. package/components/global/prop-types.js +9 -0
  189. package/components/global/react-dom-renderer.d.ts +16 -0
  190. package/components/global/react-dom-renderer.js +54 -0
  191. package/components/global/react-render-adapter.d.ts +1 -0
  192. package/components/global/react-render-adapter.js +6 -0
  193. package/components/global/rerender-hoc.d.ts +10 -0
  194. package/components/global/rerender-hoc.js +46 -0
  195. package/components/global/schedule-raf.d.ts +1 -0
  196. package/components/global/schedule-raf.js +28 -0
  197. package/components/global/sniffer.d.ts +3 -0
  198. package/components/global/sniffer.js +6 -0
  199. package/components/global/theme.d.ts +21 -0
  200. package/components/global/theme.js +42 -0
  201. package/components/global/trivial-template-tag.d.ts +1 -0
  202. package/components/global/trivial-template-tag.js +21 -0
  203. package/components/global/typescript-utils.d.ts +2 -0
  204. package/components/global/typescript-utils.js +8 -0
  205. package/components/global/url.d.ts +57 -0
  206. package/components/global/url.js +142 -0
  207. package/components/global/use-event-callback.d.ts +1 -0
  208. package/components/global/use-event-callback.js +17 -0
  209. package/components/global/variables.d.ts +89 -0
  210. package/components/global/variables.js +1 -0
  211. package/components/grid/col.d.ts +31 -0
  212. package/components/grid/col.js +80 -0
  213. package/components/grid/grid.d.ts +14 -0
  214. package/components/grid/grid.js +46 -0
  215. package/components/grid/row.d.ts +40 -0
  216. package/components/grid/row.js +75 -0
  217. package/components/group/group.d.ts +12 -0
  218. package/components/group/group.js +39 -0
  219. package/components/header/header.d.ts +34 -0
  220. package/components/header/header.js +189 -0
  221. package/components/header/logo.d.ts +14 -0
  222. package/components/header/logo.js +51 -0
  223. package/components/header/profile.d.ts +75 -0
  224. package/components/header/profile.js +258 -0
  225. package/components/header/services-link.d.ts +25 -0
  226. package/components/header/services-link.js +13 -0
  227. package/components/header/services.d.ts +33 -0
  228. package/components/header/services.js +174 -0
  229. package/components/header/smart-profile.d.ts +36 -0
  230. package/components/header/smart-profile.js +303 -0
  231. package/components/header/smart-services.d.ts +26 -0
  232. package/components/header/smart-services.js +192 -0
  233. package/components/header/tray-icon.d.ts +32 -0
  234. package/components/header/tray-icon.js +57 -0
  235. package/components/header/tray.d.ts +9 -0
  236. package/components/header/tray.js +41 -0
  237. package/components/heading/heading.d.ts +25 -0
  238. package/components/heading/heading.js +69 -0
  239. package/components/http/http.d.ts +61 -0
  240. package/components/http/http.js +386 -0
  241. package/components/http/http.mock.d.ts +20 -0
  242. package/components/http/http.mock.js +113 -0
  243. package/components/hub-source/hub-source.d.ts +44 -0
  244. package/components/hub-source/hub-source.js +217 -0
  245. package/components/hub-source/hub-source__user.d.ts +4 -0
  246. package/components/hub-source/hub-source__user.js +60 -0
  247. package/components/hub-source/hub-source__users-groups.d.ts +24 -0
  248. package/components/hub-source/hub-source__users-groups.js +86 -0
  249. package/components/i18n/i18n-context.d.ts +13 -0
  250. package/components/i18n/i18n-context.js +27 -0
  251. package/components/i18n/i18n.d.ts +59 -0
  252. package/components/i18n/i18n.js +139 -0
  253. package/components/icon/icon.d.ts +43 -0
  254. package/components/icon/icon.js +109 -0
  255. package/components/icon/icon__constants.d.ts +30 -0
  256. package/components/icon/icon__constants.js +34 -0
  257. package/components/icon/icon__svg.d.ts +15 -0
  258. package/components/icon/icon__svg.js +14 -0
  259. package/components/icon/index.d.ts +2 -0
  260. package/components/icon/index.js +17 -0
  261. package/components/input/input.d.ts +77 -0
  262. package/components/input/input.js +35 -0
  263. package/components/island/adaptive-island-hoc.d.ts +61 -0
  264. package/components/island/adaptive-island-hoc.js +53 -0
  265. package/components/island/content.d.ts +43 -0
  266. package/components/island/content.js +151 -0
  267. package/components/island/header.d.ts +8 -0
  268. package/components/island/header.js +100 -0
  269. package/components/island/island.d.ts +78 -0
  270. package/components/island/island.js +60 -0
  271. package/components/island-legacy/content-legacy.d.ts +10 -0
  272. package/components/island-legacy/content-legacy.js +34 -0
  273. package/components/island-legacy/header-legacy.d.ts +10 -0
  274. package/components/island-legacy/header-legacy.js +36 -0
  275. package/components/island-legacy/island-legacy.d.ts +12 -0
  276. package/components/island-legacy/island-legacy.js +36 -0
  277. package/components/link/clickableLink.d.ts +20 -0
  278. package/components/link/clickableLink.js +69 -0
  279. package/components/link/link.d.ts +138 -0
  280. package/components/link/link.js +86 -0
  281. package/components/list/consts.d.ts +77 -0
  282. package/components/list/consts.js +27 -0
  283. package/components/list/list.d.ts +205 -0
  284. package/components/list/list.js +802 -0
  285. package/components/list/list__custom.d.ts +6 -0
  286. package/components/list/list__custom.js +92 -0
  287. package/components/list/list__hint.d.ts +15 -0
  288. package/components/list/list__hint.js +33 -0
  289. package/components/list/list__item.d.ts +8 -0
  290. package/components/list/list__item.js +237 -0
  291. package/components/list/list__link.d.ts +9 -0
  292. package/components/list/list__link.js +76 -0
  293. package/components/list/list__separator.d.ts +5 -0
  294. package/components/list/list__separator.js +39 -0
  295. package/components/list/list__title.d.ts +5 -0
  296. package/components/list/list__title.js +48 -0
  297. package/components/list/list__users-groups-source.d.ts +27 -0
  298. package/components/list/list__users-groups-source.js +195 -0
  299. package/components/loader/loader.d.ts +28 -0
  300. package/components/loader/loader.js +93 -0
  301. package/components/loader/loader__core.d.ts +75 -0
  302. package/components/loader/loader__core.js +327 -0
  303. package/components/loader-inline/loader-inline.d.ts +18 -0
  304. package/components/loader-inline/loader-inline.js +50 -0
  305. package/components/loader-screen/loader-screen.d.ts +17 -0
  306. package/components/loader-screen/loader-screen.js +64 -0
  307. package/components/login-dialog/login-dialog.d.ts +47 -0
  308. package/components/login-dialog/login-dialog.js +216 -0
  309. package/components/login-dialog/service.d.ts +2 -0
  310. package/components/login-dialog/service.js +98 -0
  311. package/components/markdown/markdown.d.ts +12 -0
  312. package/components/markdown/markdown.js +43 -0
  313. package/components/message/message.d.ts +55 -0
  314. package/components/message/message.js +267 -0
  315. package/components/old-browsers-message/old-browsers-message.d.ts +2 -0
  316. package/components/old-browsers-message/old-browsers-message.js +92 -0
  317. package/components/old-browsers-message/old-browsers-message__stop.d.ts +1 -0
  318. package/components/old-browsers-message/old-browsers-message__stop.js +11 -0
  319. package/components/old-browsers-message/white-list.d.ts +2 -0
  320. package/components/old-browsers-message/white-list.js +37 -0
  321. package/components/pager/pager.d.ts +78 -0
  322. package/components/pager/pager.js +390 -0
  323. package/components/panel/panel.d.ts +12 -0
  324. package/components/panel/panel.js +39 -0
  325. package/components/permissions/permissions.d.ts +111 -0
  326. package/components/permissions/permissions.js +221 -0
  327. package/components/permissions/permissions__cache.d.ts +93 -0
  328. package/components/permissions/permissions__cache.js +257 -0
  329. package/components/popup/popup.consts.d.ts +37 -0
  330. package/components/popup/popup.consts.js +44 -0
  331. package/components/popup/popup.d.ts +147 -0
  332. package/components/popup/popup.js +424 -0
  333. package/components/popup/popup.target.d.ts +7 -0
  334. package/components/popup/popup.target.js +24 -0
  335. package/components/popup/position.d.ts +30 -0
  336. package/components/popup/position.js +271 -0
  337. package/components/popup-menu/popup-menu.d.ts +80 -0
  338. package/components/popup-menu/popup-menu.js +141 -0
  339. package/components/progress-bar/progress-bar.d.ts +64 -0
  340. package/components/progress-bar/progress-bar.js +120 -0
  341. package/components/query-assist/query-assist.d.ts +306 -0
  342. package/components/query-assist/query-assist.js +1098 -0
  343. package/components/query-assist/query-assist__suggestions.d.ts +29 -0
  344. package/components/query-assist/query-assist__suggestions.js +75 -0
  345. package/components/radio/radio.d.ts +18 -0
  346. package/components/radio/radio.js +48 -0
  347. package/components/radio/radio__item.d.ts +28 -0
  348. package/components/radio/radio__item.js +88 -0
  349. package/components/select/select.d.ts +276 -0
  350. package/components/select/select.js +1310 -0
  351. package/components/select/select__filter.d.ts +19 -0
  352. package/components/select/select__filter.js +85 -0
  353. package/components/select/select__popup.d.ts +166 -0
  354. package/components/select/select__popup.js +631 -0
  355. package/components/shortcuts/core.d.ts +74 -0
  356. package/components/shortcuts/core.js +249 -0
  357. package/components/shortcuts/shortcut-title.d.ts +1 -0
  358. package/components/shortcuts/shortcut-title.js +56 -0
  359. package/components/shortcuts/shortcuts-hoc.d.ts +65 -0
  360. package/components/shortcuts/shortcuts-hoc.js +61 -0
  361. package/components/shortcuts/shortcuts.d.ts +28 -0
  362. package/components/shortcuts/shortcuts.js +92 -0
  363. package/components/storage/storage.d.ts +18 -0
  364. package/components/storage/storage.js +92 -0
  365. package/components/storage/storage__fallback.d.ts +79 -0
  366. package/components/storage/storage__fallback.js +254 -0
  367. package/components/storage/storage__local.d.ts +38 -0
  368. package/components/storage/storage__local.js +217 -0
  369. package/components/style.css +1 -0
  370. package/components/tab-trap/tab-trap.d.ts +43 -0
  371. package/components/tab-trap/tab-trap.js +180 -0
  372. package/components/table/cell.d.ts +13 -0
  373. package/components/table/cell.js +37 -0
  374. package/components/table/disable-hover-hoc.d.ts +64 -0
  375. package/components/table/disable-hover-hoc.js +62 -0
  376. package/components/table/header-cell.d.ts +43 -0
  377. package/components/table/header-cell.js +109 -0
  378. package/components/table/header.d.ts +56 -0
  379. package/components/table/header.js +151 -0
  380. package/components/table/multitable.d.ts +25 -0
  381. package/components/table/multitable.js +140 -0
  382. package/components/table/row-with-focus-sensor.d.ts +18 -0
  383. package/components/table/row-with-focus-sensor.js +117 -0
  384. package/components/table/row.d.ts +59 -0
  385. package/components/table/row.js +299 -0
  386. package/components/table/selection-adapter.d.ts +5 -0
  387. package/components/table/selection-adapter.js +14 -0
  388. package/components/table/selection-shortcuts-hoc.d.ts +17 -0
  389. package/components/table/selection-shortcuts-hoc.js +205 -0
  390. package/components/table/selection.d.ts +47 -0
  391. package/components/table/selection.js +257 -0
  392. package/components/table/smart-table.d.ts +64 -0
  393. package/components/table/smart-table.js +149 -0
  394. package/components/table/table.d.ts +159 -0
  395. package/components/table/table.js +463 -0
  396. package/components/tabs/collapsible-more.d.ts +29 -0
  397. package/components/tabs/collapsible-more.js +222 -0
  398. package/components/tabs/collapsible-tab.d.ts +16 -0
  399. package/components/tabs/collapsible-tab.js +88 -0
  400. package/components/tabs/collapsible-tabs.d.ts +43 -0
  401. package/components/tabs/collapsible-tabs.js +354 -0
  402. package/components/tabs/custom-item.d.ts +9 -0
  403. package/components/tabs/custom-item.js +11 -0
  404. package/components/tabs/dumb-tabs.d.ts +35 -0
  405. package/components/tabs/dumb-tabs.js +189 -0
  406. package/components/tabs/smart-tabs.d.ts +20 -0
  407. package/components/tabs/smart-tabs.js +141 -0
  408. package/components/tabs/tab-link.d.ts +18 -0
  409. package/components/tabs/tab-link.js +13 -0
  410. package/components/tabs/tab.d.ts +27 -0
  411. package/components/tabs/tab.js +41 -0
  412. package/components/tabs/tabs.d.ts +7 -0
  413. package/components/tabs/tabs.js +99 -0
  414. package/components/tag/tag.d.ts +64 -0
  415. package/components/tag/tag.js +213 -0
  416. package/components/tags-input/tags-input.d.ts +138 -0
  417. package/components/tags-input/tags-input.js +534 -0
  418. package/components/tags-list/tags-list.d.ts +46 -0
  419. package/components/tags-list/tags-list.js +102 -0
  420. package/components/text/text.d.ts +23 -0
  421. package/components/text/text.js +57 -0
  422. package/components/toggle/toggle.d.ts +39 -0
  423. package/components/toggle/toggle.js +86 -0
  424. package/components/tooltip/tooltip.d.ts +65 -0
  425. package/components/tooltip/tooltip.js +229 -0
  426. package/components/user-agreement/service.d.ts +69 -0
  427. package/components/user-agreement/service.js +487 -0
  428. package/components/user-agreement/toolbox.eula.d.ts +2 -0
  429. package/components/user-agreement/toolbox.eula.js +3 -0
  430. package/components/user-agreement/user-agreement.d.ts +60 -0
  431. package/components/user-agreement/user-agreement.js +172 -0
  432. package/components/user-card/card.d.ts +70 -0
  433. package/components/user-card/card.js +80 -0
  434. package/components/user-card/smart-user-card-tooltip.d.ts +20 -0
  435. package/components/user-card/smart-user-card-tooltip.js +172 -0
  436. package/components/user-card/tooltip.d.ts +36 -0
  437. package/components/user-card/tooltip.js +144 -0
  438. package/components/user-card/user-card.d.ts +11 -0
  439. package/components/user-card/user-card.js +85 -0
  440. package/package.json +118 -0
  441. package/typings.d.ts +43 -0
@@ -0,0 +1,429 @@
1
+ import { d as _createClass, c as _classCallCheck, _ as _defineProperty, h as _asyncToGenerator, i as _regeneratorRuntime } from '../_helpers/_rollupPluginBabelHelpers.js';
2
+ import 'core-js/modules/es.array.index-of.js';
3
+ import 'core-js/modules/es.array.filter.js';
4
+ import 'core-js/modules/es.object.to-string.js';
5
+ import 'core-js/modules/es.array.reduce.js';
6
+ import 'core-js/modules/es.array.sort.js';
7
+ import 'core-js/modules/es.array.map.js';
8
+ import 'core-js/modules/es.array.iterator.js';
9
+ import 'core-js/modules/es.promise.js';
10
+ import 'core-js/modules/web.dom-collections.iterator.js';
11
+ import ActualStorage from '../storage/storage.js';
12
+ import '../storage/storage__local.js';
13
+ import '../alert-service/alert-service.js';
14
+ import 'core-js/modules/es.array.concat.js';
15
+ import 'react';
16
+ import 'react-dom/client';
17
+ import '../global/get-uid.js';
18
+ import 'core-js/modules/es.regexp.to-string.js';
19
+ import '../alert/alert.js';
20
+ import 'core-js/modules/es.object.values.js';
21
+ import 'classnames';
22
+ import 'prop-types';
23
+ import '@jetbrains/icons/exception';
24
+ import '@jetbrains/icons/checkmark';
25
+ import '@jetbrains/icons/warning';
26
+ import '@jetbrains/icons/close';
27
+ import '../icon/icon.js';
28
+ import 'util-deprecate';
29
+ import '../icon/icon__constants.js';
30
+ import '../_helpers/icon__svg.js';
31
+ import 'core-js/modules/es.regexp.exec.js';
32
+ import 'core-js/modules/es.string.replace.js';
33
+ import 'core-js/modules/es.string.starts-with.js';
34
+ import '../global/memoize.js';
35
+ import 'core-js/modules/es.map.js';
36
+ import 'core-js/modules/es.weak-map.js';
37
+ import '../loader-inline/loader-inline.js';
38
+ import '../global/data-tests.js';
39
+ import 'core-js/modules/es.object.entries.js';
40
+ import '../global/dom.js';
41
+ import 'core-js/modules/es.object.assign.js';
42
+ import 'core-js/modules/web.dom-collections.for-each.js';
43
+ import 'core-js/modules/es.string.split.js';
44
+ import 'core-js/modules/es.set.js';
45
+ import '../button/button.js';
46
+ import '@jetbrains/icons/chevron-10px';
47
+ import '../link/clickableLink.js';
48
+ import '../global/controls-height.js';
49
+ import '../_helpers/button__classes.js';
50
+ import '../_helpers/theme.js';
51
+ import 'react-dom';
52
+ import '../popup/popup.target.js';
53
+ import '../popup/popup.js';
54
+ import '../global/schedule-raf.js';
55
+ import '../shortcuts/shortcuts.js';
56
+ import '../shortcuts/core.js';
57
+ import 'core-js/modules/es.array.includes.js';
58
+ import 'core-js/modules/es.string.includes.js';
59
+ import 'core-js/modules/es.array.slice.js';
60
+ import 'core-js/modules/es.array.splice.js';
61
+ import 'core-js/modules/es.string.match.js';
62
+ import 'core-js/modules/es.array.find-index.js';
63
+ import 'combokeys';
64
+ import '../global/sniffer.js';
65
+ import 'sniffr';
66
+ import '../tab-trap/tab-trap.js';
67
+ import '../popup/position.js';
68
+ import '../popup/popup.consts.js';
69
+ import '../alert/container.js';
70
+ import '../storage/storage__fallback.js';
71
+ import 'core-js/modules/es.reflect.delete-property.js';
72
+ import 'deep-equal';
73
+
74
+ /**
75
+ * @typedef {Object} StoredToken
76
+ * @property {string} accessToken
77
+ * @property {string[]} scopes
78
+ * @property {number} expires
79
+ */
80
+ /**
81
+ * @typedef {Object} StoredState
82
+ * @property {Date} created
83
+ * @property {string} restoreLocation
84
+ * @property {string[]} scopes
85
+ */
86
+ var DEFAULT_STATE_QUOTA = 102400; // 100 kb ~~ 200 tabs with a large list of scopes
87
+ // eslint-disable-next-line @typescript-eslint/no-magic-numbers
88
+ var DEFAULT_STATE_TTL = 1000 * 60 * 60 * 24; // nobody will need auth state after a day
89
+ var UPDATE_USER_TIMEOUT = 1000;
90
+ var AuthStorage = /*#__PURE__*/function () {
91
+ /**
92
+ * Custom storage for Auth
93
+ * @param {{stateKeyPrefix: string, tokenKey: string, onTokenRemove: Function}} config
94
+ */
95
+ function AuthStorage(config) {
96
+ _classCallCheck(this, AuthStorage);
97
+ _defineProperty(this, "messagePrefix", void 0);
98
+ _defineProperty(this, "stateKeyPrefix", void 0);
99
+ _defineProperty(this, "tokenKey", void 0);
100
+ _defineProperty(this, "userKey", void 0);
101
+ _defineProperty(this, "stateTTL", void 0);
102
+ _defineProperty(this, "stateQuota", void 0);
103
+ _defineProperty(this, "_lastMessage", void 0);
104
+ _defineProperty(this, "_stateStorage", void 0);
105
+ _defineProperty(this, "_tokenStorage", void 0);
106
+ _defineProperty(this, "_messagesStorage", void 0);
107
+ _defineProperty(this, "_currentUserStorage", void 0);
108
+ this.messagePrefix = config.messagePrefix || '';
109
+ this.stateKeyPrefix = config.stateKeyPrefix || '';
110
+ this.tokenKey = config.tokenKey || '';
111
+ this.userKey = config.userKey || 'user-key';
112
+ this.stateTTL = config.stateTTL || DEFAULT_STATE_TTL;
113
+ this._lastMessage = null;
114
+ var StorageConstructor = config.storage || ActualStorage;
115
+ this.stateQuota = Math.min(config.stateQuota || DEFAULT_STATE_QUOTA, StorageConstructor.QUOTA || Infinity);
116
+ this._stateStorage = new StorageConstructor({
117
+ cookieName: 'ring-state'
118
+ });
119
+ this._tokenStorage = new StorageConstructor({
120
+ cookieName: 'ring-token'
121
+ });
122
+ this._messagesStorage = new StorageConstructor({
123
+ cookieName: 'ring-message'
124
+ });
125
+ this._currentUserStorage = new StorageConstructor({
126
+ cookieName: 'ring-user'
127
+ });
128
+ }
129
+ /**
130
+ * Add token change listener
131
+ * @param {function(string)} fn Token change listener
132
+ * @return {function()} remove listener function
133
+ */
134
+ _createClass(AuthStorage, [{
135
+ key: "onTokenChange",
136
+ value: function onTokenChange(fn) {
137
+ return this._tokenStorage.on(this.tokenKey, fn);
138
+ }
139
+ /**
140
+ * Add state change listener
141
+ * @param {string} stateKey State key
142
+ * @param {function(string)} fn State change listener
143
+ * @return {function()} remove listener function
144
+ */
145
+ }, {
146
+ key: "onStateChange",
147
+ value: function onStateChange(stateKey, fn) {
148
+ return this._stateStorage.on(this.stateKeyPrefix + stateKey, fn);
149
+ }
150
+ /**
151
+ * Add state change listener
152
+ * @param {string} key State key
153
+ * @param {function(string)} fn State change listener
154
+ * @return {function()} remove listener function
155
+ */
156
+ }, {
157
+ key: "onMessage",
158
+ value: function onMessage(key, fn) {
159
+ return this._messagesStorage.on(this.messagePrefix + key, function (message) {
160
+ return fn(message);
161
+ });
162
+ }
163
+ }, {
164
+ key: "sendMessage",
165
+ value: function sendMessage(key) {
166
+ var message = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
167
+ this._lastMessage = message;
168
+ this._messagesStorage.set(this.messagePrefix + key, message);
169
+ }
170
+ /**
171
+ * Save authentication request state.
172
+ *
173
+ * @param {string} id Unique state identifier
174
+ * @param {StoredState} state State to store
175
+ * @param {boolean=} dontCleanAndRetryOnFail If falsy then remove all stored states and try again to save state
176
+ */
177
+ }, {
178
+ key: "saveState",
179
+ value: (function () {
180
+ var _saveState = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(id, state, dontCleanAndRetryOnFail) {
181
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
182
+ while (1) switch (_context.prev = _context.next) {
183
+ case 0:
184
+ state.created = Date.now();
185
+ _context.prev = 1;
186
+ _context.next = 4;
187
+ return this._stateStorage.set(this.stateKeyPrefix + id, state);
188
+ case 4:
189
+ _context.next = 15;
190
+ break;
191
+ case 6:
192
+ _context.prev = 6;
193
+ _context.t0 = _context["catch"](1);
194
+ if (dontCleanAndRetryOnFail) {
195
+ _context.next = 14;
196
+ break;
197
+ }
198
+ _context.next = 11;
199
+ return this.cleanStates();
200
+ case 11:
201
+ return _context.abrupt("return", this.saveState(id, state, true));
202
+ case 14:
203
+ throw _context.t0;
204
+ case 15:
205
+ return _context.abrupt("return", undefined);
206
+ case 16:
207
+ case "end":
208
+ return _context.stop();
209
+ }
210
+ }, _callee, this, [[1, 6]]);
211
+ }));
212
+ function saveState(_x, _x2, _x3) {
213
+ return _saveState.apply(this, arguments);
214
+ }
215
+ return saveState;
216
+ }()
217
+ /**
218
+ * Remove all stored states
219
+ *
220
+ * @return {Promise} promise that is resolved when OLD states [and some selected] are removed
221
+ */
222
+ )
223
+ }, {
224
+ key: "cleanStates",
225
+ value: (function () {
226
+ var _cleanStates = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(removeStateId) {
227
+ var _this = this;
228
+ var now, removalResult, currentStates, stateStorageSize, removalPromises;
229
+ return _regeneratorRuntime().wrap(function _callee2$(_context2) {
230
+ while (1) switch (_context2.prev = _context2.next) {
231
+ case 0:
232
+ now = Date.now();
233
+ _context2.next = 3;
234
+ return this._stateStorage.each(function (key, value) {
235
+ if (value == null) {
236
+ return undefined;
237
+ }
238
+ // Remove requested state
239
+ if (key === _this.stateKeyPrefix + removeStateId) {
240
+ return _this._stateStorage.remove(key);
241
+ }
242
+ if (key.indexOf(_this.stateKeyPrefix) === 0) {
243
+ var _state$created;
244
+ // Clean old states
245
+ var state = value;
246
+ var created = (_state$created = state.created) !== null && _state$created !== void 0 ? _state$created : Date.now();
247
+ if (created + _this.stateTTL < now) {
248
+ return _this._stateStorage.remove(key);
249
+ }
250
+ // Data to clean up due quota
251
+ return {
252
+ key,
253
+ created,
254
+ size: JSON.stringify(state).length
255
+ };
256
+ }
257
+ return undefined;
258
+ });
259
+ case 3:
260
+ removalResult = _context2.sent;
261
+ currentStates = removalResult.filter(function (state) {
262
+ return state != null;
263
+ });
264
+ stateStorageSize = currentStates.reduce(function (overallSize, state) {
265
+ return state.size + overallSize;
266
+ }, 0);
267
+ if (!(stateStorageSize > this.stateQuota)) {
268
+ _context2.next = 10;
269
+ break;
270
+ }
271
+ currentStates.sort(function (a, b) {
272
+ return a.created - b.created;
273
+ });
274
+ removalPromises = currentStates.filter(function (state) {
275
+ if (stateStorageSize > _this.stateQuota) {
276
+ stateStorageSize -= state.size;
277
+ return true;
278
+ }
279
+ return false;
280
+ }).map(function (state) {
281
+ return _this._stateStorage.remove(state.key);
282
+ });
283
+ return _context2.abrupt("return", removalPromises.length && Promise.all(removalPromises));
284
+ case 10:
285
+ return _context2.abrupt("return", undefined);
286
+ case 11:
287
+ case "end":
288
+ return _context2.stop();
289
+ }
290
+ }, _callee2, this);
291
+ }));
292
+ function cleanStates(_x4) {
293
+ return _cleanStates.apply(this, arguments);
294
+ }
295
+ return cleanStates;
296
+ }()
297
+ /**
298
+ * Get state by id and remove stored states from the storage.
299
+ *
300
+ * @param {string} id unique state identifier
301
+ * @return {Promise.<StoredState>}
302
+ */
303
+ )
304
+ }, {
305
+ key: "getState",
306
+ value: (function () {
307
+ var _getState = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(id) {
308
+ var result;
309
+ return _regeneratorRuntime().wrap(function _callee3$(_context3) {
310
+ while (1) switch (_context3.prev = _context3.next) {
311
+ case 0:
312
+ _context3.prev = 0;
313
+ _context3.next = 3;
314
+ return this._stateStorage.get(this.stateKeyPrefix + id);
315
+ case 3:
316
+ result = _context3.sent;
317
+ _context3.next = 6;
318
+ return this.cleanStates(id);
319
+ case 6:
320
+ return _context3.abrupt("return", result);
321
+ case 9:
322
+ _context3.prev = 9;
323
+ _context3.t0 = _context3["catch"](0);
324
+ _context3.next = 13;
325
+ return this.cleanStates(id);
326
+ case 13:
327
+ throw _context3.t0;
328
+ case 14:
329
+ case "end":
330
+ return _context3.stop();
331
+ }
332
+ }, _callee3, this, [[0, 9]]);
333
+ }));
334
+ function getState(_x5) {
335
+ return _getState.apply(this, arguments);
336
+ }
337
+ return getState;
338
+ }()
339
+ /**
340
+ * @param {StoredToken} token
341
+ * @return {Promise} promise that is resolved when the token is saved
342
+ */
343
+ )
344
+ }, {
345
+ key: "saveToken",
346
+ value: function saveToken(token) {
347
+ return this._tokenStorage.set(this.tokenKey, token);
348
+ }
349
+ /**
350
+ * @return {Promise.<StoredToken>} promise that is resolved to the stored token
351
+ */
352
+ }, {
353
+ key: "getToken",
354
+ value: function getToken() {
355
+ return this._tokenStorage.get(this.tokenKey);
356
+ }
357
+ /**
358
+ * Remove stored token if any.
359
+ * @return {Promise} promise that is resolved when the token is wiped.
360
+ */
361
+ }, {
362
+ key: "wipeToken",
363
+ value: function wipeToken() {
364
+ return this._tokenStorage.remove(this.tokenKey);
365
+ }
366
+ /**
367
+ * @param {function} loadUser user loader
368
+ * @return {Promise.<object>>} promise that is resolved to stored current user
369
+ */
370
+ }, {
371
+ key: "getCachedUser",
372
+ value: (function () {
373
+ var _getCachedUser = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4(loadUser) {
374
+ var _this2 = this;
375
+ var user, loadAndCache;
376
+ return _regeneratorRuntime().wrap(function _callee4$(_context4) {
377
+ while (1) switch (_context4.prev = _context4.next) {
378
+ case 0:
379
+ _context4.next = 2;
380
+ return this._currentUserStorage.get(this.userKey);
381
+ case 2:
382
+ user = _context4.sent;
383
+ loadAndCache = function loadAndCache() {
384
+ return loadUser().then(function (response) {
385
+ _this2._currentUserStorage.set(_this2.userKey, response);
386
+ return response;
387
+ });
388
+ };
389
+ if (!(user && user.id)) {
390
+ _context4.next = 9;
391
+ break;
392
+ }
393
+ setTimeout(loadAndCache, UPDATE_USER_TIMEOUT);
394
+ return _context4.abrupt("return", user);
395
+ case 9:
396
+ return _context4.abrupt("return", loadAndCache());
397
+ case 10:
398
+ case "end":
399
+ return _context4.stop();
400
+ }
401
+ }, _callee4, this);
402
+ }));
403
+ function getCachedUser(_x6) {
404
+ return _getCachedUser.apply(this, arguments);
405
+ }
406
+ return getCachedUser;
407
+ }()
408
+ /**
409
+ * Remove cached user if any
410
+ */
411
+ )
412
+ }, {
413
+ key: "wipeCachedCurrentUser",
414
+ value: function wipeCachedCurrentUser() {
415
+ return this._currentUserStorage.remove(this.userKey);
416
+ }
417
+ /**
418
+ * Wipes cache if user has changed
419
+ */
420
+ }, {
421
+ key: "onUserChanged",
422
+ value: function onUserChanged() {
423
+ this.wipeCachedCurrentUser();
424
+ }
425
+ }]);
426
+ return AuthStorage;
427
+ }();
428
+
429
+ export { AuthStorage as default };
@@ -0,0 +1,93 @@
1
+ import ExtendableError from 'es6-error';
2
+ import AuthStorage, { StoredToken } from './storage';
3
+ export interface TokenValidatorConfig {
4
+ scope: string[];
5
+ optionalScopes?: readonly string[] | null | undefined;
6
+ }
7
+ export declare class TokenValidationError extends ExtendableError {
8
+ cause: Error | undefined;
9
+ authRedirect: true;
10
+ constructor(message: string, cause?: Error);
11
+ }
12
+ export default class TokenValidator {
13
+ private _getUser;
14
+ private _config;
15
+ private _storage;
16
+ constructor(config: TokenValidatorConfig, getUser: (accessToken: string) => Promise<void>, storage: AuthStorage);
17
+ /**
18
+ * Returns epoch - seconds since 1970.
19
+ * Used for calculation of expire times.
20
+ * @return {number} epoch, seconds since 1970
21
+ * @private
22
+ */
23
+ static _epoch(): number;
24
+ /**
25
+ * @const {number}
26
+ */
27
+ static DEFAULT_REFRESH_BEFORE: number;
28
+ /**
29
+ * Error class for auth token validation
30
+ *
31
+ * @param {string} message Error message
32
+ * @param {Error=} cause Error that caused this error
33
+ */
34
+ static TokenValidationError: typeof TokenValidationError;
35
+ /**
36
+ * Check token validity against all conditions.
37
+ * @returns {Promise.<string>}
38
+ */
39
+ validateTokenLocally(): Promise<string>;
40
+ /**
41
+ * Check token validity against all conditions.
42
+ * @returns {Promise.<string>}
43
+ */
44
+ validateToken(): Promise<string>;
45
+ /**
46
+ * Check if there is a token
47
+ * @param {StoredToken} storedToken
48
+ * @return {Promise.<StoredToken>}
49
+ * @private
50
+ */
51
+ private static _validateExistence;
52
+ /**
53
+ * Check expiration
54
+ * @param {StoredToken} storedToken
55
+ * @return {Promise.<StoredToken>}
56
+ * @private
57
+ */
58
+ private static _validateExpiration;
59
+ /**
60
+ * Check scopes
61
+ * @param {StoredToken} storedToken
62
+ * @return {Promise.<StoredToken>}
63
+ * @private
64
+ */
65
+ private _validateScopes;
66
+ /**
67
+ * Check by error code if token should be refreshed
68
+ * @param {string} error
69
+ * @return {boolean}
70
+ */
71
+ static shouldRefreshToken(error: string | undefined): boolean;
72
+ /**
73
+ * Check scopes
74
+ * @param {StoredToken} storedToken
75
+ * @return {Promise.<StoredToken>}
76
+ * @private
77
+ */
78
+ _validateAgainstUser(storedToken: StoredToken): Promise<void>;
79
+ /**
80
+ * Token Validator function
81
+ * @typedef {(function(StoredToken): Promise<StoredToken>)} TokenValidator
82
+ */
83
+ /**
84
+ * Gets stored token and applies provided validators
85
+ * @param {TokenValidator[]} validators An array of validation
86
+ * functions to check the stored token against.
87
+ * @return {Promise.<string>} promise that is resolved to access token if the stored token is valid. If it is
88
+ * invalid then the promise is rejected. If invalid token should be re-requested then rejection object will
89
+ * have {authRedirect: true}.
90
+ * @private
91
+ */
92
+ _getValidatedToken(validators: ((token: StoredToken) => void | Promise<void>)[]): Promise<string>;
93
+ }