@jetbrains/ring-ui 5.1.1 → 6.0.1-beta.0

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 (702) hide show
  1. package/README.md +1 -6
  2. package/components/alert/alert.d.ts +1 -1
  3. package/components/alert/container.css +3 -0
  4. package/components/alert-service/alert-service.d.ts +2 -2
  5. package/components/analytics/analytics.d.ts +21 -7
  6. package/components/analytics/analytics.js +19 -24
  7. package/components/analytics/analytics__custom-plugin.d.ts +6 -16
  8. package/components/analytics/analytics__custom-plugin.js +12 -52
  9. package/components/analytics/analytics__fus-plugin.d.ts +15 -25
  10. package/components/analytics/analytics__fus-plugin.js +15 -73
  11. package/components/analytics/analytics__ga-plugin.d.ts +13 -3
  12. package/components/analytics/analytics__ga-plugin.js +35 -5
  13. package/components/analytics/analytics__plugin-utils.d.ts +16 -0
  14. package/components/analytics/analytics__plugin-utils.js +26 -1
  15. package/components/auth/auth__core.d.ts +5 -4
  16. package/components/auth/auth__core.js +44 -27
  17. package/components/auth-dialog/auth-dialog.d.ts +2 -2
  18. package/components/auth-dialog/auth-dialog.js +3 -1
  19. package/components/auth-dialog-service/auth-dialog-service.js +4 -1
  20. package/components/avatar/avatar.d.ts +3 -3
  21. package/components/avatar/fallback-avatar.d.ts +2 -2
  22. package/components/avatar/fallback-avatar.js +2 -1
  23. package/components/avatar-editor-ng/avatar-editor-ng.css +1 -1
  24. package/components/badge/badge.d.ts +2 -2
  25. package/components/button/button.css +7 -7
  26. package/components/button/button.d.ts +3 -4
  27. package/components/button/button.js +0 -1
  28. package/components/button-group/button-group.css +2 -2
  29. package/components/button-group/button-group.d.ts +2 -2
  30. package/components/button-group/caption.d.ts +2 -2
  31. package/components/button-ng/button-ng.examples.js +2 -2
  32. package/components/button-ng/button-ng.js +1 -1
  33. package/components/button-set/button-set.d.ts +2 -2
  34. package/components/button-toolbar/button-toolbar.d.ts +2 -2
  35. package/components/checkbox/checkbox.css +2 -2
  36. package/components/checkbox/checkbox.d.ts +2 -2
  37. package/components/code/code.d.ts +1 -1
  38. package/components/confirm/confirm.d.ts +1 -1
  39. package/components/confirm/confirm.js +3 -3
  40. package/components/confirm-ng/confirm-ng.examples.js +1 -1
  41. package/components/confirm-service/confirm-service.js +2 -2
  42. package/components/content-layout/content-layout.d.ts +2 -2
  43. package/components/content-layout/sidebar.d.ts +2 -2
  44. package/components/contenteditable/contenteditable.d.ts +3 -3
  45. package/components/control-label/control-label.css +23 -0
  46. package/components/control-label/control-label.d.ts +11 -0
  47. package/components/control-label/control-label.js +22 -0
  48. package/components/data-list/data-list.css +2 -1
  49. package/components/data-list/data-list.d.ts +3 -3
  50. package/components/data-list/data-list.mock.d.ts +2 -2
  51. package/components/data-list/item.d.ts +3 -3
  52. package/components/data-list/title.d.ts +1 -1
  53. package/components/date-picker/consts.d.ts +5 -5
  54. package/components/date-picker/date-input.d.ts +3 -12
  55. package/components/date-picker/date-input.js +9 -15
  56. package/components/date-picker/date-picker.css +1 -1
  57. package/components/date-picker/date-picker.d.ts +8 -6
  58. package/components/date-picker/date-picker.js +9 -15
  59. package/components/date-picker/date-popup.d.ts +1 -1
  60. package/components/date-picker/date-popup.js +2 -1
  61. package/components/date-picker/day.d.ts +2 -2
  62. package/components/date-picker/month-names.d.ts +2 -2
  63. package/components/date-picker/month-names.js +2 -2
  64. package/components/date-picker/month-slider.d.ts +2 -2
  65. package/components/date-picker/month.d.ts +2 -2
  66. package/components/date-picker/months.d.ts +2 -2
  67. package/components/date-picker/months.js +46 -29
  68. package/components/date-picker/weekdays.d.ts +2 -2
  69. package/components/date-picker/years.d.ts +6 -2
  70. package/components/date-picker/years.js +26 -14
  71. package/components/dialog/dialog.css +1 -1
  72. package/components/dialog/dialog.d.ts +4 -16
  73. package/components/dialog/dialog.js +4 -2
  74. package/components/dialog-ng/dialog-ng.examples.js +1 -1
  75. package/components/dialog-ng/dialog-ng.js +4 -5
  76. package/components/dropdown/anchor.d.ts +1 -1
  77. package/components/dropdown/dropdown.d.ts +8 -1
  78. package/components/editable-heading/editable-heading.css +20 -7
  79. package/components/editable-heading/editable-heading.d.ts +2 -2
  80. package/components/editable-heading/editable-heading.js +39 -12
  81. package/components/error-bubble/error-bubble.d.ts +2 -2
  82. package/components/error-message/error-message.d.ts +2 -2
  83. package/components/footer/footer.js +1 -0
  84. package/components/form/form.examples.js +1 -0
  85. package/components/global/angular-component-factory.js +13 -7
  86. package/components/global/angular-component-factory.test.js +30 -10
  87. package/components/global/controls-height.d.ts +2 -0
  88. package/components/global/controls-height.js +8 -0
  89. package/components/global/create-stateful-context.d.ts +1 -1
  90. package/components/global/focus-sensor-hoc.d.ts +1 -0
  91. package/components/global/focus-sensor-hoc.js +5 -4
  92. package/components/global/react-dom-renderer.d.ts +4 -4
  93. package/components/global/react-dom-renderer.js +5 -5
  94. package/components/global/react-render-adapter.js +19 -31
  95. package/components/global/ring-angular-component.js +1 -3
  96. package/components/global/ring-angular-component.test.js +2 -1
  97. package/components/global/use-event-callback.d.ts +1 -0
  98. package/components/global/use-event-callback.js +14 -0
  99. package/components/global/variables_dark.css +2 -2
  100. package/components/grid/col.d.ts +2 -2
  101. package/components/grid/grid.d.ts +2 -2
  102. package/components/grid/row.d.ts +2 -2
  103. package/components/group/group.d.ts +2 -2
  104. package/components/header/header.d.ts +2 -2
  105. package/components/header/logo.d.ts +2 -2
  106. package/components/header/profile.d.ts +4 -2
  107. package/components/header/profile.js +15 -11
  108. package/components/header/services-link.d.ts +2 -2
  109. package/components/header/services.d.ts +2 -2
  110. package/components/header/smart-profile.d.ts +2 -2
  111. package/components/header/smart-services.d.ts +2 -2
  112. package/components/header/tray-icon.d.ts +2 -2
  113. package/components/header/tray.d.ts +2 -2
  114. package/components/heading/heading.css +8 -8
  115. package/components/http/http.d.ts +16 -6
  116. package/components/http/http.js +26 -0
  117. package/components/hub-source/hub-source__users-groups.d.ts +1 -1
  118. package/components/i18n/README.md +46 -0
  119. package/components/i18n/i18n-context.d.ts +13 -0
  120. package/components/i18n/i18n-context.js +14 -0
  121. package/components/i18n/i18n.d.ts +59 -0
  122. package/components/i18n/i18n.js +26 -0
  123. package/components/i18n/messages.json +53 -0
  124. package/components/icon/icon.d.ts +3 -3
  125. package/components/icon/icon__svg.d.ts +1 -1
  126. package/components/input/input-legacy.css +3 -3
  127. package/components/input/input.css +8 -21
  128. package/components/input/input.d.ts +7 -1
  129. package/components/input/input.js +18 -14
  130. package/components/input-ng/input-ng.examples.js +3 -1
  131. package/components/input-ng/input-ng.js +3 -2
  132. package/components/input-size/input-size.examples.js +1 -0
  133. package/components/island/adaptive-island-hoc.d.ts +2 -2
  134. package/components/island/content.d.ts +1 -1
  135. package/components/island/header.d.ts +2 -2
  136. package/components/island/island.css +1 -1
  137. package/components/island/island.d.ts +3 -3
  138. package/components/island-legacy/content-legacy.d.ts +2 -2
  139. package/components/island-legacy/header-legacy.d.ts +2 -2
  140. package/components/island-legacy/island-legacy.d.ts +2 -2
  141. package/components/island-ng/island-ng.js +3 -3
  142. package/components/link/clickableLink.d.ts +1 -1
  143. package/components/link/link.css +1 -1
  144. package/components/link/link.d.ts +8 -9
  145. package/components/link/link.js +0 -1
  146. package/components/list/consts.js +3 -0
  147. package/components/list/list.css +2 -2
  148. package/components/list/list.d.ts +7 -7
  149. package/components/list/list.js +4 -1
  150. package/components/list/list__custom.d.ts +1 -1
  151. package/components/list/list__hint.d.ts +2 -2
  152. package/components/list/list__item.d.ts +2 -2
  153. package/components/list/list__link.d.ts +2 -2
  154. package/components/list/list__separator.d.ts +2 -2
  155. package/components/list/list__title.d.ts +2 -2
  156. package/components/loader/loader.d.ts +2 -2
  157. package/components/loader-inline/loader-inline.d.ts +2 -2
  158. package/components/loader-ng/loader-ng.js +1 -1
  159. package/components/loader-screen/loader-screen.d.ts +2 -2
  160. package/components/login-dialog/login-dialog.d.ts +2 -2
  161. package/components/login-dialog/service.js +4 -1
  162. package/components/markdown/code.d.ts +2 -2
  163. package/components/markdown/heading.d.ts +2 -2
  164. package/components/markdown/link.d.ts +2 -2
  165. package/components/markdown/markdown.d.ts +2 -2
  166. package/components/message/message.d.ts +3 -7
  167. package/components/message/message.js +17 -16
  168. package/components/pager/pager.d.ts +8 -13
  169. package/components/pager/pager.js +12 -14
  170. package/components/panel/panel.css +1 -1
  171. package/components/panel/panel.d.ts +2 -2
  172. package/components/popup/popup.d.ts +2 -2
  173. package/components/popup/popup.js +1 -1
  174. package/components/popup/position.d.ts +1 -1
  175. package/components/popup/position.js +43 -33
  176. package/components/popup-menu/popup-menu.d.ts +2 -2
  177. package/components/progress-bar/progress-bar.d.ts +2 -2
  178. package/components/promised-click-ng/promised-click-ng.js +1 -1
  179. package/components/query-assist/query-assist.css +16 -11
  180. package/components/query-assist/query-assist.d.ts +3 -7
  181. package/components/query-assist/query-assist.js +50 -31
  182. package/components/query-assist/query-assist__suggestions.d.ts +2 -2
  183. package/components/radio/radio.css +1 -1
  184. package/components/radio/radio.d.ts +1 -1
  185. package/components/radio/radio__item.d.ts +1 -1
  186. package/components/select/select-popup.css +2 -2
  187. package/components/select/select.css +9 -5
  188. package/components/select/select.d.ts +20 -9
  189. package/components/select/select.js +47 -23
  190. package/components/select/select__filter.d.ts +2 -3
  191. package/components/select/select__filter.js +4 -2
  192. package/components/select/select__popup.d.ts +48 -8
  193. package/components/select/select__popup.js +29 -8
  194. package/components/shortcuts/shortcuts-hoc.d.ts +2 -2
  195. package/components/shortcuts/shortcuts.d.ts +1 -1
  196. package/components/shortcuts-hint-ng/shortcuts-hint-ng.js +1 -2
  197. package/components/sidebar-ng/sidebar-ng.js +1 -2
  198. package/components/tab-trap/tab-trap.d.ts +1 -1
  199. package/components/table/cell.d.ts +2 -2
  200. package/components/table/disable-hover-hoc.d.ts +2 -2
  201. package/components/table/header-cell.d.ts +2 -2
  202. package/components/table/header.d.ts +3 -14
  203. package/components/table/header.js +5 -49
  204. package/components/table/multitable.d.ts +2 -2
  205. package/components/table/row-with-focus-sensor.d.ts +1 -1
  206. package/components/table/row.d.ts +2 -1
  207. package/components/table/row.js +4 -3
  208. package/components/table/smart-table.d.ts +3 -1
  209. package/components/table/table.css +9 -26
  210. package/components/table/table.d.ts +6 -4
  211. package/components/table/table.js +5 -3
  212. package/components/tabs/collapsible-more.d.ts +3 -3
  213. package/components/tabs/collapsible-tab.d.ts +1 -1
  214. package/components/tabs/collapsible-tabs.d.ts +2 -2
  215. package/components/tabs/dumb-tabs.d.ts +5 -3
  216. package/components/tabs/dumb-tabs.js +3 -2
  217. package/components/tabs/smart-tabs.d.ts +2 -2
  218. package/components/tabs/tab-link.d.ts +1 -1
  219. package/components/tabs/tab.d.ts +2 -2
  220. package/components/tabs/tab.js +3 -3
  221. package/components/tabs/tabs.css +4 -1
  222. package/components/tag/tag.css +3 -3
  223. package/components/tag/tag.d.ts +5 -5
  224. package/components/tags-input/tags-input.css +1 -1
  225. package/components/tags-input/tags-input.d.ts +9 -4
  226. package/components/tags-input/tags-input.js +7 -7
  227. package/components/tags-list/tags-list.d.ts +2 -2
  228. package/components/template-ng/template-ng.js +1 -2
  229. package/components/text/text.css +12 -0
  230. package/components/text/text.d.ts +8 -2
  231. package/components/text/text.js +12 -2
  232. package/components/toggle/toggle.css +1 -1
  233. package/components/toggle/toggle.d.ts +2 -2
  234. package/components/tooltip/tooltip.d.ts +1 -1
  235. package/components/user-agreement/service.js +4 -1
  236. package/components/user-agreement/user-agreement.d.ts +3 -11
  237. package/components/user-agreement/user-agreement.js +31 -30
  238. package/components/user-card/card.d.ts +22 -21
  239. package/components/user-card/card.js +29 -29
  240. package/components/user-card/smart-user-card-tooltip.d.ts +3 -3
  241. package/components/user-card/tooltip.d.ts +11 -6
  242. package/components/user-card/tooltip.js +1 -1
  243. package/components/user-card/user-card.css +10 -1
  244. package/dist/_helpers/_rollupPluginBabelHelpers.js +614 -1
  245. package/dist/_helpers/anchor.js +7 -8
  246. package/dist/_helpers/badge.js +1 -1
  247. package/dist/_helpers/button-group.js +1 -1
  248. package/dist/_helpers/button-set.js +1 -1
  249. package/dist/_helpers/button-toolbar.js +1 -1
  250. package/dist/_helpers/button__classes.js +17 -29
  251. package/dist/_helpers/card.js +100 -91
  252. package/dist/_helpers/checkbox.js +1 -1
  253. package/dist/_helpers/control-label.js +3 -0
  254. package/dist/_helpers/date-picker.js +1 -1
  255. package/dist/_helpers/dialog__body-scroll-preventer.js +21 -12
  256. package/dist/_helpers/error-message.js +1 -1
  257. package/dist/_helpers/footer.js +31 -35
  258. package/dist/_helpers/grid.js +1 -1
  259. package/dist/_helpers/group.js +1 -1
  260. package/dist/_helpers/header.js +1 -1
  261. package/dist/_helpers/icon.js +1 -1
  262. package/dist/_helpers/input.js +1 -1
  263. package/dist/_helpers/island.js +1 -1
  264. package/dist/_helpers/link.js +1 -1
  265. package/dist/_helpers/list.js +1 -1
  266. package/dist/_helpers/loader-inline.js +1 -1
  267. package/dist/_helpers/loader-screen.js +1 -1
  268. package/dist/_helpers/panel.js +1 -1
  269. package/dist/_helpers/query-assist__suggestions.js +92 -75
  270. package/dist/_helpers/radio.js +1 -1
  271. package/dist/_helpers/select__filter.js +69 -42
  272. package/dist/_helpers/services-link.js +33 -21
  273. package/dist/_helpers/sidebar.js +87 -86
  274. package/dist/_helpers/table.js +1 -1
  275. package/dist/_helpers/tabs.js +1 -1
  276. package/dist/_helpers/theme.js +43 -36
  277. package/dist/_helpers/title.js +66 -56
  278. package/dist/alert/alert.d.ts +1 -1
  279. package/dist/alert/alert.js +164 -127
  280. package/dist/alert/container.js +40 -29
  281. package/dist/alert-service/alert-service.d.ts +2 -2
  282. package/dist/alert-service/alert-service.js +169 -103
  283. package/dist/analytics/analytics.d.ts +21 -7
  284. package/dist/analytics/analytics.js +90 -71
  285. package/dist/analytics/analytics__custom-plugin.d.ts +6 -16
  286. package/dist/analytics/analytics__custom-plugin.js +74 -87
  287. package/dist/analytics/analytics__fus-plugin.d.ts +15 -25
  288. package/dist/analytics/analytics__fus-plugin.js +31 -89
  289. package/dist/analytics/analytics__ga-plugin.d.ts +13 -3
  290. package/dist/analytics/analytics__ga-plugin.js +76 -25
  291. package/dist/analytics/analytics__plugin-utils.d.ts +16 -0
  292. package/dist/analytics/analytics__plugin-utils.js +52 -21
  293. package/dist/auth/auth.js +39 -5
  294. package/dist/auth/auth__core.d.ts +5 -4
  295. package/dist/auth/auth__core.js +1459 -719
  296. package/dist/auth/background-flow.js +125 -84
  297. package/dist/auth/down-notification.js +76 -32
  298. package/dist/auth/iframe-flow.js +129 -69
  299. package/dist/auth/landing.js +93 -31
  300. package/dist/auth/request-builder.js +79 -45
  301. package/dist/auth/response-parser.js +117 -85
  302. package/dist/auth/storage.js +322 -161
  303. package/dist/auth/token-validator.js +239 -128
  304. package/dist/auth/window-flow.js +126 -83
  305. package/dist/auth-dialog/auth-dialog.d.ts +2 -2
  306. package/dist/auth-dialog/auth-dialog.js +152 -94
  307. package/dist/auth-dialog-service/auth-dialog-service.js +36 -10
  308. package/dist/auth-ng/auth-ng.js +73 -35
  309. package/dist/auth-ng/auth-ng.mock.js +6 -6
  310. package/dist/autofocus-ng/autofocus-ng.js +23 -8
  311. package/dist/avatar/avatar-example-datauri.js +1 -23
  312. package/dist/avatar/avatar.d.ts +3 -3
  313. package/dist/avatar/avatar.js +132 -99
  314. package/dist/avatar/fallback-avatar.d.ts +2 -2
  315. package/dist/avatar/fallback-avatar.js +44 -24
  316. package/dist/avatar-editor-ng/avatar-editor-ng.js +57 -25
  317. package/dist/avatar-editor-ng/avatar-editor-ng__template.js +1 -28
  318. package/dist/avatar-ng/avatar-ng.js +22 -0
  319. package/dist/badge/badge.d.ts +2 -2
  320. package/dist/badge/badge.js +34 -26
  321. package/dist/badge-ng/badge-ng.js +12 -0
  322. package/dist/breadcrumb-ng/breadcrumb-ng.js +17 -32
  323. package/dist/button/button.d.ts +3 -4
  324. package/dist/button/button.js +89 -69
  325. package/dist/button/button__classes.js +1 -0
  326. package/dist/button-group/button-group.d.ts +2 -2
  327. package/dist/button-group/button-group.js +31 -15
  328. package/dist/button-group/caption.d.ts +2 -2
  329. package/dist/button-group/caption.js +19 -11
  330. package/dist/button-group-ng/button-group-ng.js +13 -7
  331. package/dist/button-ng/button-ng.js +132 -112
  332. package/dist/button-set/button-set.d.ts +2 -2
  333. package/dist/button-set/button-set.js +29 -15
  334. package/dist/button-set-ng/button-set-ng.js +2 -2
  335. package/dist/button-toolbar/button-toolbar.d.ts +2 -2
  336. package/dist/button-toolbar/button-toolbar.js +28 -14
  337. package/dist/button-toolbar-ng/button-toolbar-ng.js +5 -3
  338. package/dist/caret/caret.js +223 -188
  339. package/dist/checkbox/checkbox.d.ts +2 -2
  340. package/dist/checkbox/checkbox.js +83 -58
  341. package/dist/checkbox-ng/checkbox-ng.js +18 -28
  342. package/dist/clipboard/clipboard-fallback.js +10 -10
  343. package/dist/clipboard/clipboard.js +131 -35
  344. package/dist/code/code.d.ts +1 -1
  345. package/dist/code/code.js +153 -81
  346. package/dist/compiler-ng/compiler-ng.js +18 -15
  347. package/dist/confirm/confirm.d.ts +1 -1
  348. package/dist/confirm/confirm.js +85 -47
  349. package/dist/confirm-ng/confirm-ng.js +34 -6
  350. package/dist/confirm-service/confirm-service.js +67 -44
  351. package/dist/content-layout/content-layout.d.ts +2 -2
  352. package/dist/content-layout/content-layout.js +53 -35
  353. package/dist/content-layout/sidebar.d.ts +2 -2
  354. package/dist/content-layout/sidebar.js +1 -0
  355. package/dist/contenteditable/contenteditable.d.ts +3 -3
  356. package/dist/contenteditable/contenteditable.js +54 -43
  357. package/dist/control-label/control-label.d.ts +11 -0
  358. package/dist/control-label/control-label.js +31 -0
  359. package/dist/data-list/data-list.d.ts +3 -3
  360. package/dist/data-list/data-list.js +164 -114
  361. package/dist/data-list/data-list.mock.d.ts +2 -2
  362. package/dist/data-list/data-list.mock.js +11 -3
  363. package/dist/data-list/item.d.ts +3 -3
  364. package/dist/data-list/item.js +140 -113
  365. package/dist/data-list/selection.js +139 -77
  366. package/dist/data-list/title.d.ts +1 -1
  367. package/dist/data-list/title.js +12 -0
  368. package/dist/data-list-ng/data-list-ng.js +30 -1
  369. package/dist/date-picker/consts.d.ts +5 -5
  370. package/dist/date-picker/consts.js +18 -15
  371. package/dist/date-picker/date-input.d.ts +3 -12
  372. package/dist/date-picker/date-input.js +131 -107
  373. package/dist/date-picker/date-picker.d.ts +8 -6
  374. package/dist/date-picker/date-picker.js +214 -160
  375. package/dist/date-picker/date-popup.d.ts +1 -1
  376. package/dist/date-picker/date-popup.js +340 -297
  377. package/dist/date-picker/day.d.ts +2 -2
  378. package/dist/date-picker/day.js +78 -68
  379. package/dist/date-picker/month-names.d.ts +2 -2
  380. package/dist/date-picker/month-names.js +59 -41
  381. package/dist/date-picker/month-slider.d.ts +2 -2
  382. package/dist/date-picker/month-slider.js +59 -40
  383. package/dist/date-picker/month.d.ts +2 -2
  384. package/dist/date-picker/month.js +21 -15
  385. package/dist/date-picker/months.d.ts +2 -2
  386. package/dist/date-picker/months.js +80 -56
  387. package/dist/date-picker/weekdays.d.ts +2 -2
  388. package/dist/date-picker/weekdays.js +18 -12
  389. package/dist/date-picker/years.d.ts +6 -2
  390. package/dist/date-picker/years.js +102 -66
  391. package/dist/dialog/dialog.d.ts +4 -16
  392. package/dist/dialog/dialog.js +148 -98
  393. package/dist/dialog/dialog__body-scroll-preventer.js +5 -0
  394. package/dist/dialog-ng/dialog-ng.js +404 -291
  395. package/dist/dialog-ng/dialog-ng__template.js +1 -70
  396. package/dist/docked-panel-ng/docked-panel-ng.js +33 -19
  397. package/dist/dropdown/anchor.d.ts +1 -1
  398. package/dist/dropdown/anchor.js +10 -1
  399. package/dist/dropdown/dropdown.d.ts +8 -1
  400. package/dist/dropdown/dropdown.js +158 -130
  401. package/dist/dropdown-menu/dropdown-menu.js +102 -73
  402. package/dist/editable-heading/editable-heading.d.ts +2 -2
  403. package/dist/editable-heading/editable-heading.js +133 -62
  404. package/dist/error-bubble/error-bubble.d.ts +2 -2
  405. package/dist/error-bubble/error-bubble.js +60 -27
  406. package/dist/error-message/error-message.d.ts +2 -2
  407. package/dist/error-message/error-message.js +52 -29
  408. package/dist/error-message-ng/error-message-ng.js +12 -24
  409. package/dist/footer/footer.js +11 -2
  410. package/dist/footer-ng/footer-ng.js +52 -27
  411. package/dist/form-ng/form-ng.js +67 -57
  412. package/dist/global/angular-component-factory.js +78 -50
  413. package/dist/global/compose.js +10 -1
  414. package/dist/global/composeRefs.js +12 -7
  415. package/dist/global/controls-height.d.ts +2 -0
  416. package/dist/global/controls-height.js +10 -2
  417. package/dist/global/create-stateful-context.d.ts +1 -1
  418. package/dist/global/create-stateful-context.js +19 -19
  419. package/dist/global/data-tests.js +15 -7
  420. package/dist/global/dom.js +93 -55
  421. package/dist/global/focus-sensor-hoc.d.ts +1 -0
  422. package/dist/global/focus-sensor-hoc.js +118 -102
  423. package/dist/global/fuzzy-highlight.js +41 -27
  424. package/dist/global/get-event-key.js +8 -8
  425. package/dist/global/get-uid.js +8 -4
  426. package/dist/global/inject-styles.js +15 -10
  427. package/dist/global/linear-function.js +2 -2
  428. package/dist/global/listeners.js +50 -28
  429. package/dist/global/memoize.js +13 -6
  430. package/dist/global/normalize-indent.js +51 -19
  431. package/dist/global/promise-with-timeout.js +8 -6
  432. package/dist/global/prop-types.js +5 -3
  433. package/dist/global/react-dom-renderer.d.ts +4 -4
  434. package/dist/global/react-dom-renderer.js +44 -28
  435. package/dist/global/react-render-adapter.js +21 -15
  436. package/dist/global/rerender-hoc.js +40 -19
  437. package/dist/global/ring-angular-component.js +18 -10
  438. package/dist/global/schedule-raf.js +6 -5
  439. package/dist/global/sniffer.js +1 -1
  440. package/dist/global/theme.js +24 -0
  441. package/dist/global/trivial-template-tag.js +10 -3
  442. package/dist/global/typescript-utils.js +6 -2
  443. package/dist/global/url.js +27 -21
  444. package/dist/global/use-event-callback.d.ts +1 -0
  445. package/dist/global/use-event-callback.js +17 -0
  446. package/dist/grid/col.d.ts +2 -2
  447. package/dist/grid/col.js +42 -23
  448. package/dist/grid/grid.d.ts +2 -2
  449. package/dist/grid/grid.js +32 -13
  450. package/dist/grid/row.d.ts +2 -2
  451. package/dist/grid/row.js +32 -20
  452. package/dist/group/group.d.ts +2 -2
  453. package/dist/group/group.js +23 -13
  454. package/dist/group-ng/group-ng.js +2 -2
  455. package/dist/header/header.d.ts +2 -2
  456. package/dist/header/header.js +75 -25
  457. package/dist/header/logo.d.ts +2 -2
  458. package/dist/header/logo.js +31 -12
  459. package/dist/header/profile.d.ts +4 -2
  460. package/dist/header/profile.js +154 -105
  461. package/dist/header/services-link.d.ts +2 -2
  462. package/dist/header/services-link.js +9 -1
  463. package/dist/header/services.d.ts +2 -2
  464. package/dist/header/services.js +104 -63
  465. package/dist/header/smart-profile.d.ts +2 -2
  466. package/dist/header/smart-profile.js +194 -98
  467. package/dist/header/smart-services.d.ts +2 -2
  468. package/dist/header/smart-services.js +104 -52
  469. package/dist/header/tray-icon.d.ts +2 -2
  470. package/dist/header/tray-icon.js +36 -20
  471. package/dist/header/tray.d.ts +2 -2
  472. package/dist/header/tray.js +30 -17
  473. package/dist/heading/heading.js +26 -27
  474. package/dist/heading-ng/heading-ng.js +10 -0
  475. package/dist/http/http.d.ts +16 -6
  476. package/dist/http/http.js +357 -170
  477. package/dist/http/http.mock.js +105 -50
  478. package/dist/hub-source/hub-source.js +183 -77
  479. package/dist/hub-source/hub-source__user.js +45 -12
  480. package/dist/hub-source/hub-source__users-groups.d.ts +1 -1
  481. package/dist/hub-source/hub-source__users-groups.js +63 -34
  482. package/dist/i18n/i18n-context.d.ts +13 -0
  483. package/dist/i18n/i18n-context.js +28 -0
  484. package/dist/i18n/i18n.d.ts +59 -0
  485. package/dist/i18n/i18n.js +140 -0
  486. package/dist/icon/icon.d.ts +3 -3
  487. package/dist/icon/icon.js +77 -59
  488. package/dist/icon/icon__svg.d.ts +1 -1
  489. package/dist/icon/icon__svg.js +31 -24
  490. package/dist/icon/index.js +9 -0
  491. package/dist/icon-ng/icon-ng.js +27 -16
  492. package/dist/input/input.d.ts +7 -1
  493. package/dist/input/input.js +178 -131
  494. package/dist/input-ng/input-ng.js +77 -99
  495. package/dist/island/adaptive-island-hoc.d.ts +2 -2
  496. package/dist/island/adaptive-island-hoc.js +38 -27
  497. package/dist/island/content.d.ts +1 -1
  498. package/dist/island/content.js +104 -92
  499. package/dist/island/header.d.ts +2 -2
  500. package/dist/island/header.js +60 -47
  501. package/dist/island/island.d.ts +3 -3
  502. package/dist/island/island.js +33 -21
  503. package/dist/island-legacy/content-legacy.d.ts +2 -2
  504. package/dist/island-legacy/content-legacy.js +23 -13
  505. package/dist/island-legacy/header-legacy.d.ts +2 -2
  506. package/dist/island-legacy/header-legacy.js +25 -15
  507. package/dist/island-legacy/island-legacy.d.ts +2 -2
  508. package/dist/island-legacy/island-legacy.js +23 -13
  509. package/dist/island-ng/island-content-ng.js +17 -26
  510. package/dist/island-ng/island-header-ng.js +9 -12
  511. package/dist/island-ng/island-ng-class-fixer.js +3 -0
  512. package/dist/island-ng/island-ng.js +6 -10
  513. package/dist/link/clickableLink.d.ts +1 -1
  514. package/dist/link/clickableLink.js +43 -29
  515. package/dist/link/link.d.ts +8 -9
  516. package/dist/link/link.js +72 -62
  517. package/dist/link-ng/link-ng.js +5 -7
  518. package/dist/list/consts.js +4 -1
  519. package/dist/list/list.d.ts +7 -7
  520. package/dist/list/list.js +499 -402
  521. package/dist/list/list__custom.d.ts +1 -1
  522. package/dist/list/list__custom.js +60 -47
  523. package/dist/list/list__hint.d.ts +2 -2
  524. package/dist/list/list__hint.js +18 -8
  525. package/dist/list/list__item.d.ts +2 -2
  526. package/dist/list/list__item.js +167 -132
  527. package/dist/list/list__link.d.ts +2 -2
  528. package/dist/list/list__link.js +54 -38
  529. package/dist/list/list__separator.d.ts +2 -2
  530. package/dist/list/list__separator.js +24 -14
  531. package/dist/list/list__title.d.ts +2 -2
  532. package/dist/list/list__title.js +32 -22
  533. package/dist/list/list__users-groups-source.js +130 -54
  534. package/dist/loader/loader.d.ts +2 -2
  535. package/dist/loader/loader.js +66 -34
  536. package/dist/loader/loader__core.js +197 -129
  537. package/dist/loader-inline/loader-inline.d.ts +2 -2
  538. package/dist/loader-inline/loader-inline.js +32 -18
  539. package/dist/loader-inline-ng/loader-inline-ng.js +2 -2
  540. package/dist/loader-ng/loader-ng.js +44 -18
  541. package/dist/loader-screen/loader-screen.d.ts +2 -2
  542. package/dist/loader-screen/loader-screen.js +43 -20
  543. package/dist/loader-screen-ng/loader-screen-ng.js +45 -30
  544. package/dist/login-dialog/login-dialog.d.ts +2 -2
  545. package/dist/login-dialog/login-dialog.js +125 -78
  546. package/dist/login-dialog/service.js +39 -10
  547. package/dist/markdown/code.d.ts +2 -2
  548. package/dist/markdown/code.js +30 -9
  549. package/dist/markdown/heading.d.ts +2 -2
  550. package/dist/markdown/heading.js +3 -5
  551. package/dist/markdown/link.d.ts +2 -2
  552. package/dist/markdown/link.js +13 -7
  553. package/dist/markdown/markdown.d.ts +2 -2
  554. package/dist/markdown/markdown.js +67 -35
  555. package/dist/message/message.d.ts +3 -7
  556. package/dist/message/message.js +153 -119
  557. package/dist/message-bundle-ng/message-bundle-ng.js +130 -46
  558. package/dist/old-browsers-message/old-browsers-message.js +19 -11
  559. package/dist/old-browsers-message/old-browsers-message__stop.js +8 -0
  560. package/dist/old-browsers-message/white-list.js +17 -10
  561. package/dist/pager/pager.d.ts +8 -13
  562. package/dist/pager/pager.js +259 -188
  563. package/dist/pager-ng/pager-ng.js +39 -2
  564. package/dist/panel/panel.d.ts +2 -2
  565. package/dist/panel/panel.js +23 -13
  566. package/dist/panel-ng/panel-ng.js +13 -1
  567. package/dist/permissions/permissions.js +166 -122
  568. package/dist/permissions/permissions__cache.js +220 -191
  569. package/dist/permissions-ng/permissions-ng.js +89 -36
  570. package/dist/place-under-ng/place-under-ng.js +67 -45
  571. package/dist/popup/popup.consts.js +1 -1
  572. package/dist/popup/popup.d.ts +2 -2
  573. package/dist/popup/popup.js +299 -236
  574. package/dist/popup/popup.target.js +8 -9
  575. package/dist/popup/position.d.ts +1 -1
  576. package/dist/popup/position.js +175 -154
  577. package/dist/popup-menu/popup-menu.d.ts +2 -2
  578. package/dist/popup-menu/popup-menu.js +80 -42
  579. package/dist/progress-bar/progress-bar.d.ts +2 -2
  580. package/dist/progress-bar/progress-bar.js +66 -52
  581. package/dist/progress-bar-ng/progress-bar-ng.js +10 -0
  582. package/dist/promised-click-ng/promised-click-ng.js +93 -60
  583. package/dist/proxy-attrs/proxy-attrs.js +18 -9
  584. package/dist/query-assist/query-assist.d.ts +3 -7
  585. package/dist/query-assist/query-assist.js +677 -567
  586. package/dist/query-assist/query-assist__suggestions.d.ts +2 -2
  587. package/dist/query-assist/query-assist__suggestions.js +33 -2
  588. package/dist/query-assist-ng/query-assist-ng.js +41 -2
  589. package/dist/radio/radio.d.ts +1 -1
  590. package/dist/radio/radio.js +28 -14
  591. package/dist/radio/radio__item.d.ts +1 -1
  592. package/dist/radio/radio__item.js +60 -44
  593. package/dist/radio-ng/radio-ng.js +14 -25
  594. package/dist/save-field-ng/save-field-ng.js +90 -56
  595. package/dist/save-field-ng/save-field-ng__template.js +1 -32
  596. package/dist/select/select.d.ts +20 -9
  597. package/dist/select/select.js +831 -699
  598. package/dist/select/select__filter.d.ts +2 -3
  599. package/dist/select/select__filter.js +37 -2
  600. package/dist/select/select__popup.d.ts +48 -8
  601. package/dist/select/select__popup.js +430 -293
  602. package/dist/select-ng/select-ng.js +130 -77
  603. package/dist/select-ng/select-ng__lazy.js +104 -51
  604. package/dist/select-ng/select-ng__options.js +93 -68
  605. package/dist/shortcuts/core.js +197 -146
  606. package/dist/shortcuts/shortcut-title.js +11 -6
  607. package/dist/shortcuts/shortcuts-hoc.d.ts +2 -2
  608. package/dist/shortcuts/shortcuts-hoc.js +43 -19
  609. package/dist/shortcuts/shortcuts.d.ts +1 -1
  610. package/dist/shortcuts/shortcuts.js +69 -43
  611. package/dist/shortcuts-hint-ng/shortcuts-hint-ng.js +109 -58
  612. package/dist/shortcuts-hint-ng/shortcuts-hint-ng__template.js +1 -48
  613. package/dist/shortcuts-ng/shortcuts-ng.js +110 -76
  614. package/dist/sidebar-ng/sidebar-ng.js +55 -25
  615. package/dist/sidebar-ng/sidebar-ng__button-template.js +1 -18
  616. package/dist/sidebar-ng/sidebar-ng__template.js +1 -10
  617. package/dist/storage/storage.js +34 -4
  618. package/dist/storage/storage__fallback.js +217 -143
  619. package/dist/storage/storage__local.js +155 -90
  620. package/dist/style.css +1 -1
  621. package/dist/tab-trap/tab-trap.d.ts +1 -1
  622. package/dist/tab-trap/tab-trap.js +117 -84
  623. package/dist/table/cell.d.ts +2 -2
  624. package/dist/table/cell.js +23 -9
  625. package/dist/table/disable-hover-hoc.d.ts +2 -2
  626. package/dist/table/disable-hover-hoc.js +44 -26
  627. package/dist/table/header-cell.d.ts +2 -2
  628. package/dist/table/header-cell.js +74 -54
  629. package/dist/table/header.d.ts +3 -14
  630. package/dist/table/header.js +102 -131
  631. package/dist/table/multitable.d.ts +2 -2
  632. package/dist/table/multitable.js +102 -86
  633. package/dist/table/row-with-focus-sensor.d.ts +1 -1
  634. package/dist/table/row-with-focus-sensor.js +69 -24
  635. package/dist/table/row.d.ts +2 -1
  636. package/dist/table/row.js +191 -155
  637. package/dist/table/selection-adapter.js +3 -1
  638. package/dist/table/selection-shortcuts-hoc.js +132 -131
  639. package/dist/table/selection.js +220 -150
  640. package/dist/table/smart-table.d.ts +3 -1
  641. package/dist/table/smart-table.js +87 -50
  642. package/dist/table/table.d.ts +6 -4
  643. package/dist/table/table.js +311 -247
  644. package/dist/table-legacy-ng/table-legacy-ng.js +120 -103
  645. package/dist/table-legacy-ng/table-legacy-ng__pager.js +46 -12
  646. package/dist/table-legacy-ng/table-legacy-ng__selection-navigate-actions.js +92 -69
  647. package/dist/table-legacy-ng/table-legacy-ng__selection.js +167 -119
  648. package/dist/table-legacy-ng/table-legacy-ng__toolbar.js +35 -21
  649. package/dist/table-ng/smart-table-ng.js +30 -2
  650. package/dist/table-ng/table-ng.js +30 -2
  651. package/dist/tabs/collapsible-more.d.ts +3 -3
  652. package/dist/tabs/collapsible-more.js +92 -56
  653. package/dist/tabs/collapsible-tab.d.ts +1 -1
  654. package/dist/tabs/collapsible-tab.js +45 -39
  655. package/dist/tabs/collapsible-tabs.d.ts +2 -2
  656. package/dist/tabs/collapsible-tabs.js +161 -95
  657. package/dist/tabs/custom-item.js +2 -4
  658. package/dist/tabs/dumb-tabs.d.ts +5 -3
  659. package/dist/tabs/dumb-tabs.js +101 -56
  660. package/dist/tabs/smart-tabs.d.ts +2 -2
  661. package/dist/tabs/smart-tabs.js +70 -25
  662. package/dist/tabs/tab-link.d.ts +1 -1
  663. package/dist/tabs/tab-link.js +29 -20
  664. package/dist/tabs/tab.d.ts +2 -2
  665. package/dist/tabs/tab.js +26 -15
  666. package/dist/tabs/tabs.js +35 -1
  667. package/dist/tabs-ng/tabs-ng.js +38 -24
  668. package/dist/tabs-ng/tabs-ng__template.js +1 -38
  669. package/dist/tag/tag.d.ts +5 -5
  670. package/dist/tag/tag.js +146 -113
  671. package/dist/tags-input/tags-input.d.ts +9 -4
  672. package/dist/tags-input/tags-input.js +327 -220
  673. package/dist/tags-input-ng/tags-input-ng.js +40 -2
  674. package/dist/tags-list/tags-list.d.ts +2 -2
  675. package/dist/tags-list/tags-list.js +61 -38
  676. package/dist/template-ng/template-ng.js +45 -35
  677. package/dist/text/text.d.ts +8 -2
  678. package/dist/text/text.js +38 -17
  679. package/dist/title-ng/title-ng.js +28 -23
  680. package/dist/toggle/toggle.d.ts +2 -2
  681. package/dist/toggle/toggle.js +55 -39
  682. package/dist/toggle-ng/toggle-ng.js +13 -0
  683. package/dist/tooltip/tooltip.d.ts +1 -1
  684. package/dist/tooltip/tooltip.js +145 -102
  685. package/dist/tooltip-ng/tooltip-ng.js +51 -25
  686. package/dist/user-agreement/service.js +411 -259
  687. package/dist/user-agreement/toolbox.eula.js +1 -160
  688. package/dist/user-agreement/user-agreement.d.ts +3 -11
  689. package/dist/user-agreement/user-agreement.js +106 -68
  690. package/dist/user-card/card.d.ts +22 -21
  691. package/dist/user-card/card.js +34 -1
  692. package/dist/user-card/smart-user-card-tooltip.d.ts +3 -3
  693. package/dist/user-card/smart-user-card-tooltip.js +139 -76
  694. package/dist/user-card/tooltip.d.ts +11 -6
  695. package/dist/user-card/tooltip.js +75 -32
  696. package/dist/user-card/user-card.js +34 -1
  697. package/dist/user-card-ng/user-card-ng.js +39 -6
  698. package/package.json +86 -82
  699. package/components/input/input-label.d.ts +0 -10
  700. package/components/input/input-label.js +0 -18
  701. package/dist/input/input-label.d.ts +0 -10
  702. package/dist/input/input-label.js +0 -27
@@ -1,12 +1,27 @@
1
- import { _ as _defineProperty } from '../_helpers/_rollupPluginBabelHelpers.js';
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/es.string.iterator.js';
11
+ import 'core-js/modules/web.dom-collections.iterator.js';
2
12
  import ActualStorage from '../storage/storage.js';
3
13
  import '../storage/storage__local.js';
14
+ import 'core-js/modules/es.object.keys.js';
4
15
  import '../alert-service/alert-service.js';
16
+ import 'core-js/modules/es.array.concat.js';
5
17
  import 'react';
6
18
  import '../global/react-render-adapter.js';
19
+ import 'core-js/modules/es.weak-map.js';
7
20
  import 'react-dom';
8
21
  import '../global/get-uid.js';
22
+ import 'core-js/modules/es.regexp.to-string.js';
9
23
  import '../alert/alert.js';
24
+ import 'core-js/modules/es.object.values.js';
10
25
  import 'classnames';
11
26
  import 'prop-types';
12
27
  import '@jetbrains/icons/exception';
@@ -18,13 +33,21 @@ import 'util-deprecate';
18
33
  import '../icon/icon__constants.js';
19
34
  import '../_helpers/icon.js';
20
35
  import '../icon/icon__svg.js';
36
+ import 'core-js/modules/es.regexp.exec.js';
37
+ import 'core-js/modules/es.string.replace.js';
38
+ import 'core-js/modules/es.string.starts-with.js';
21
39
  import '../global/memoize.js';
40
+ import 'core-js/modules/es.map.js';
22
41
  import '../loader-inline/loader-inline.js';
23
42
  import '../global/data-tests.js';
43
+ import 'core-js/modules/es.object.entries.js';
24
44
  import '../_helpers/loader-inline.js';
25
45
  import '../global/dom.js';
46
+ import 'core-js/modules/es.object.assign.js';
47
+ import 'core-js/modules/web.dom-collections.for-each.js';
48
+ import 'core-js/modules/es.string.split.js';
49
+ import 'core-js/modules/es.set.js';
26
50
  import '../button/button.js';
27
- import 'focus-visible';
28
51
  import '@jetbrains/icons/chevron-10px';
29
52
  import '../link/clickableLink.js';
30
53
  import '../global/controls-height.js';
@@ -35,6 +58,12 @@ import '../popup/popup.js';
35
58
  import '../global/schedule-raf.js';
36
59
  import '../shortcuts/shortcuts.js';
37
60
  import '../shortcuts/core.js';
61
+ import 'core-js/modules/es.array.includes.js';
62
+ import 'core-js/modules/es.string.includes.js';
63
+ import 'core-js/modules/es.array.slice.js';
64
+ import 'core-js/modules/es.array.splice.js';
65
+ import 'core-js/modules/es.string.match.js';
66
+ import 'core-js/modules/es.array.find-index.js';
38
67
  import 'combokeys';
39
68
  import '../global/sniffer.js';
40
69
  import 'sniffr';
@@ -43,6 +72,7 @@ import '../popup/position.js';
43
72
  import '../popup/popup.consts.js';
44
73
  import '../alert/container.js';
45
74
  import '../storage/storage__fallback.js';
75
+ import 'core-js/modules/es.reflect.delete-property.js';
46
76
  import 'deep-equal';
47
77
 
48
78
  /**
@@ -57,16 +87,17 @@ import 'deep-equal';
57
87
  * @property {string} restoreLocation
58
88
  * @property {string[]} scopes
59
89
  */
60
- const DEFAULT_STATE_QUOTA = 102400; // 100 kb ~~ 200 tabs with a large list of scopes
90
+ var DEFAULT_STATE_QUOTA = 102400; // 100 kb ~~ 200 tabs with a large list of scopes
61
91
  // eslint-disable-next-line @typescript-eslint/no-magic-numbers
62
- const DEFAULT_STATE_TTL = 1000 * 60 * 60 * 24; // nobody will need auth state after a day
63
- const UPDATE_USER_TIMEOUT = 1000;
64
- class AuthStorage {
92
+ var DEFAULT_STATE_TTL = 1000 * 60 * 60 * 24; // nobody will need auth state after a day
93
+ var UPDATE_USER_TIMEOUT = 1000;
94
+ var AuthStorage = /*#__PURE__*/function () {
65
95
  /**
66
96
  * Custom storage for Auth
67
97
  * @param {{stateKeyPrefix: string, tokenKey: string, onTokenRemove: Function}} config
68
98
  */
69
- constructor(config) {
99
+ function AuthStorage(config) {
100
+ _classCallCheck(this, AuthStorage);
70
101
  _defineProperty(this, "messagePrefix", void 0);
71
102
  _defineProperty(this, "stateKeyPrefix", void 0);
72
103
  _defineProperty(this, "tokenKey", void 0);
@@ -84,7 +115,7 @@ class AuthStorage {
84
115
  this.userKey = config.userKey || 'user-key';
85
116
  this.stateTTL = config.stateTTL || DEFAULT_STATE_TTL;
86
117
  this._lastMessage = null;
87
- const StorageConstructor = config.storage || ActualStorage;
118
+ var StorageConstructor = config.storage || ActualStorage;
88
119
  this.stateQuota = Math.min(config.stateQuota || DEFAULT_STATE_QUOTA, StorageConstructor.QUOTA || Infinity);
89
120
  this._stateStorage = new StorageConstructor({
90
121
  cookieName: 'ring-state'
@@ -104,165 +135,295 @@ class AuthStorage {
104
135
  * @param {function(string)} fn Token change listener
105
136
  * @return {function()} remove listener function
106
137
  */
107
- onTokenChange(fn) {
108
- return this._tokenStorage.on(this.tokenKey, fn);
109
- }
110
- /**
111
- * Add state change listener
112
- * @param {string} stateKey State key
113
- * @param {function(string)} fn State change listener
114
- * @return {function()} remove listener function
115
- */
116
- onStateChange(stateKey, fn) {
117
- return this._stateStorage.on(this.stateKeyPrefix + stateKey, fn);
118
- }
119
- /**
120
- * Add state change listener
121
- * @param {string} key State key
122
- * @param {function(string)} fn State change listener
123
- * @return {function()} remove listener function
124
- */
125
- onMessage(key, fn) {
126
- return this._messagesStorage.on(this.messagePrefix + key, message => fn(message));
127
- }
128
- sendMessage(key) {
129
- let message = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
130
- this._lastMessage = message;
131
- this._messagesStorage.set(this.messagePrefix + key, message);
132
- }
133
- /**
134
- * Save authentication request state.
135
- *
136
- * @param {string} id Unique state identifier
137
- * @param {StoredState} state State to store
138
- * @param {boolean=} dontCleanAndRetryOnFail If falsy then remove all stored states and try again to save state
139
- */
140
- async saveState(id, state, dontCleanAndRetryOnFail) {
141
- state.created = Date.now();
142
- try {
143
- await this._stateStorage.set(this.stateKeyPrefix + id, state);
144
- } catch (e) {
145
- if (!dontCleanAndRetryOnFail) {
146
- await this.cleanStates();
147
- return this.saveState(id, state, true);
148
- } else {
149
- throw e;
150
- }
138
+ _createClass(AuthStorage, [{
139
+ key: "onTokenChange",
140
+ value: function onTokenChange(fn) {
141
+ return this._tokenStorage.on(this.tokenKey, fn);
151
142
  }
152
- return undefined;
153
- }
154
- /**
155
- * Remove all stored states
156
- *
157
- * @return {Promise} promise that is resolved when OLD states [and some selected] are removed
158
- */
159
- async cleanStates(removeStateId) {
160
- const now = Date.now();
161
- const removalResult = await this._stateStorage.each((key, value) => {
162
- if (value == null) {
163
- return undefined;
143
+ /**
144
+ * Add state change listener
145
+ * @param {string} stateKey State key
146
+ * @param {function(string)} fn State change listener
147
+ * @return {function()} remove listener function
148
+ */
149
+ }, {
150
+ key: "onStateChange",
151
+ value: function onStateChange(stateKey, fn) {
152
+ return this._stateStorage.on(this.stateKeyPrefix + stateKey, fn);
153
+ }
154
+ /**
155
+ * Add state change listener
156
+ * @param {string} key State key
157
+ * @param {function(string)} fn State change listener
158
+ * @return {function()} remove listener function
159
+ */
160
+ }, {
161
+ key: "onMessage",
162
+ value: function onMessage(key, fn) {
163
+ return this._messagesStorage.on(this.messagePrefix + key, function (message) {
164
+ return fn(message);
165
+ });
166
+ }
167
+ }, {
168
+ key: "sendMessage",
169
+ value: function sendMessage(key) {
170
+ var message = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
171
+ this._lastMessage = message;
172
+ this._messagesStorage.set(this.messagePrefix + key, message);
173
+ }
174
+ /**
175
+ * Save authentication request state.
176
+ *
177
+ * @param {string} id Unique state identifier
178
+ * @param {StoredState} state State to store
179
+ * @param {boolean=} dontCleanAndRetryOnFail If falsy then remove all stored states and try again to save state
180
+ */
181
+ }, {
182
+ key: "saveState",
183
+ value: function () {
184
+ var _saveState = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(id, state, dontCleanAndRetryOnFail) {
185
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
186
+ while (1) switch (_context.prev = _context.next) {
187
+ case 0:
188
+ state.created = Date.now();
189
+ _context.prev = 1;
190
+ _context.next = 4;
191
+ return this._stateStorage.set(this.stateKeyPrefix + id, state);
192
+ case 4:
193
+ _context.next = 15;
194
+ break;
195
+ case 6:
196
+ _context.prev = 6;
197
+ _context.t0 = _context["catch"](1);
198
+ if (dontCleanAndRetryOnFail) {
199
+ _context.next = 14;
200
+ break;
201
+ }
202
+ _context.next = 11;
203
+ return this.cleanStates();
204
+ case 11:
205
+ return _context.abrupt("return", this.saveState(id, state, true));
206
+ case 14:
207
+ throw _context.t0;
208
+ case 15:
209
+ return _context.abrupt("return", undefined);
210
+ case 16:
211
+ case "end":
212
+ return _context.stop();
213
+ }
214
+ }, _callee, this, [[1, 6]]);
215
+ }));
216
+ function saveState(_x, _x2, _x3) {
217
+ return _saveState.apply(this, arguments);
164
218
  }
165
- // Remove requested state
166
- if (key === this.stateKeyPrefix + removeStateId) {
167
- return this._stateStorage.remove(key);
219
+ return saveState;
220
+ }()
221
+ /**
222
+ * Remove all stored states
223
+ *
224
+ * @return {Promise} promise that is resolved when OLD states [and some selected] are removed
225
+ */
226
+ }, {
227
+ key: "cleanStates",
228
+ value: function () {
229
+ var _cleanStates = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(removeStateId) {
230
+ var _this = this;
231
+ var now, removalResult, currentStates, stateStorageSize, removalPromises;
232
+ return _regeneratorRuntime().wrap(function _callee2$(_context2) {
233
+ while (1) switch (_context2.prev = _context2.next) {
234
+ case 0:
235
+ now = Date.now();
236
+ _context2.next = 3;
237
+ return this._stateStorage.each(function (key, value) {
238
+ if (value == null) {
239
+ return undefined;
240
+ }
241
+ // Remove requested state
242
+ if (key === _this.stateKeyPrefix + removeStateId) {
243
+ return _this._stateStorage.remove(key);
244
+ }
245
+ if (key.indexOf(_this.stateKeyPrefix) === 0) {
246
+ var _state$created;
247
+ // Clean old states
248
+ var state = value;
249
+ var created = (_state$created = state.created) !== null && _state$created !== void 0 ? _state$created : Date.now();
250
+ if (created + _this.stateTTL < now) {
251
+ return _this._stateStorage.remove(key);
252
+ }
253
+ // Data to clean up due quota
254
+ return {
255
+ key: key,
256
+ created: created,
257
+ size: JSON.stringify(state).length
258
+ };
259
+ }
260
+ return undefined;
261
+ });
262
+ case 3:
263
+ removalResult = _context2.sent;
264
+ currentStates = removalResult.filter(function (state) {
265
+ return state != null;
266
+ });
267
+ stateStorageSize = currentStates.reduce(function (overallSize, state) {
268
+ return state.size + overallSize;
269
+ }, 0);
270
+ if (!(stateStorageSize > this.stateQuota)) {
271
+ _context2.next = 10;
272
+ break;
273
+ }
274
+ currentStates.sort(function (a, b) {
275
+ return a.created - b.created;
276
+ });
277
+ removalPromises = currentStates.filter(function (state) {
278
+ if (stateStorageSize > _this.stateQuota) {
279
+ stateStorageSize -= state.size;
280
+ return true;
281
+ }
282
+ return false;
283
+ }).map(function (state) {
284
+ return _this._stateStorage.remove(state.key);
285
+ });
286
+ return _context2.abrupt("return", removalPromises.length && Promise.all(removalPromises));
287
+ case 10:
288
+ return _context2.abrupt("return", undefined);
289
+ case 11:
290
+ case "end":
291
+ return _context2.stop();
292
+ }
293
+ }, _callee2, this);
294
+ }));
295
+ function cleanStates(_x4) {
296
+ return _cleanStates.apply(this, arguments);
168
297
  }
169
- if (key.indexOf(this.stateKeyPrefix) === 0) {
170
- var _state$created;
171
- // Clean old states
172
- const state = value;
173
- const created = (_state$created = state.created) !== null && _state$created !== void 0 ? _state$created : Date.now();
174
- if (created + this.stateTTL < now) {
175
- return this._stateStorage.remove(key);
176
- }
177
- // Data to clean up due quota
178
- return {
179
- key,
180
- created,
181
- size: JSON.stringify(state).length
182
- };
298
+ return cleanStates;
299
+ }()
300
+ /**
301
+ * Get state by id and remove stored states from the storage.
302
+ *
303
+ * @param {string} id unique state identifier
304
+ * @return {Promise.<StoredState>}
305
+ */
306
+ }, {
307
+ key: "getState",
308
+ value: function () {
309
+ var _getState = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(id) {
310
+ var result;
311
+ return _regeneratorRuntime().wrap(function _callee3$(_context3) {
312
+ while (1) switch (_context3.prev = _context3.next) {
313
+ case 0:
314
+ _context3.prev = 0;
315
+ _context3.next = 3;
316
+ return this._stateStorage.get(this.stateKeyPrefix + id);
317
+ case 3:
318
+ result = _context3.sent;
319
+ _context3.next = 6;
320
+ return this.cleanStates(id);
321
+ case 6:
322
+ return _context3.abrupt("return", result);
323
+ case 9:
324
+ _context3.prev = 9;
325
+ _context3.t0 = _context3["catch"](0);
326
+ _context3.next = 13;
327
+ return this.cleanStates(id);
328
+ case 13:
329
+ throw _context3.t0;
330
+ case 14:
331
+ case "end":
332
+ return _context3.stop();
333
+ }
334
+ }, _callee3, this, [[0, 9]]);
335
+ }));
336
+ function getState(_x5) {
337
+ return _getState.apply(this, arguments);
183
338
  }
184
- return undefined;
185
- });
186
- const currentStates = removalResult.filter(state => state != null);
187
- let stateStorageSize = currentStates.reduce((overallSize, state) => state.size + overallSize, 0);
188
- if (stateStorageSize > this.stateQuota) {
189
- currentStates.sort((a, b) => a.created - b.created);
190
- const removalPromises = currentStates.filter(state => {
191
- if (stateStorageSize > this.stateQuota) {
192
- stateStorageSize -= state.size;
193
- return true;
194
- }
195
- return false;
196
- }).map(state => this._stateStorage.remove(state.key));
197
- return removalPromises.length && Promise.all(removalPromises);
339
+ return getState;
340
+ }()
341
+ /**
342
+ * @param {StoredToken} token
343
+ * @return {Promise} promise that is resolved when the token is saved
344
+ */
345
+ }, {
346
+ key: "saveToken",
347
+ value: function saveToken(token) {
348
+ return this._tokenStorage.set(this.tokenKey, token);
198
349
  }
199
- return undefined;
200
- }
201
- /**
202
- * Get state by id and remove stored states from the storage.
203
- *
204
- * @param {string} id unique state identifier
205
- * @return {Promise.<StoredState>}
206
- */
207
- async getState(id) {
208
- try {
209
- const result = await this._stateStorage.get(this.stateKeyPrefix + id);
210
- await this.cleanStates(id);
211
- return result;
212
- } catch (e) {
213
- await this.cleanStates(id);
214
- throw e;
350
+ /**
351
+ * @return {Promise.<StoredToken>} promise that is resolved to the stored token
352
+ */
353
+ }, {
354
+ key: "getToken",
355
+ value: function getToken() {
356
+ return this._tokenStorage.get(this.tokenKey);
215
357
  }
216
- }
217
- /**
218
- * @param {StoredToken} token
219
- * @return {Promise} promise that is resolved when the token is saved
220
- */
221
- saveToken(token) {
222
- return this._tokenStorage.set(this.tokenKey, token);
223
- }
224
- /**
225
- * @return {Promise.<StoredToken>} promise that is resolved to the stored token
226
- */
227
- getToken() {
228
- return this._tokenStorage.get(this.tokenKey);
229
- }
230
- /**
231
- * Remove stored token if any.
232
- * @return {Promise} promise that is resolved when the token is wiped.
233
- */
234
- wipeToken() {
235
- return this._tokenStorage.remove(this.tokenKey);
236
- }
237
- /**
238
- * @param {function} loadUser user loader
239
- * @return {Promise.<object>>} promise that is resolved to stored current user
240
- */
241
- async getCachedUser(loadUser) {
242
- const user = await this._currentUserStorage.get(this.userKey);
243
- const loadAndCache = () => loadUser().then(response => {
244
- this._currentUserStorage.set(this.userKey, response);
245
- return response;
246
- });
247
- if (user && user.id) {
248
- setTimeout(loadAndCache, UPDATE_USER_TIMEOUT);
249
- return user;
250
- } else {
251
- return loadAndCache();
358
+ /**
359
+ * Remove stored token if any.
360
+ * @return {Promise} promise that is resolved when the token is wiped.
361
+ */
362
+ }, {
363
+ key: "wipeToken",
364
+ value: function wipeToken() {
365
+ return this._tokenStorage.remove(this.tokenKey);
252
366
  }
253
- }
254
- /**
255
- * Remove cached user if any
256
- */
257
- wipeCachedCurrentUser() {
258
- return this._currentUserStorage.remove(this.userKey);
259
- }
260
- /**
261
- * Wipes cache if user has changed
262
- */
263
- onUserChanged() {
264
- this.wipeCachedCurrentUser();
265
- }
266
- }
367
+ /**
368
+ * @param {function} loadUser user loader
369
+ * @return {Promise.<object>>} promise that is resolved to stored current user
370
+ */
371
+ }, {
372
+ key: "getCachedUser",
373
+ value: function () {
374
+ var _getCachedUser = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4(loadUser) {
375
+ var _this2 = this;
376
+ var user, loadAndCache;
377
+ return _regeneratorRuntime().wrap(function _callee4$(_context4) {
378
+ while (1) switch (_context4.prev = _context4.next) {
379
+ case 0:
380
+ _context4.next = 2;
381
+ return this._currentUserStorage.get(this.userKey);
382
+ case 2:
383
+ user = _context4.sent;
384
+ loadAndCache = function loadAndCache() {
385
+ return loadUser().then(function (response) {
386
+ _this2._currentUserStorage.set(_this2.userKey, response);
387
+ return response;
388
+ });
389
+ };
390
+ if (!(user && user.id)) {
391
+ _context4.next = 9;
392
+ break;
393
+ }
394
+ setTimeout(loadAndCache, UPDATE_USER_TIMEOUT);
395
+ return _context4.abrupt("return", user);
396
+ case 9:
397
+ return _context4.abrupt("return", loadAndCache());
398
+ case 10:
399
+ case "end":
400
+ return _context4.stop();
401
+ }
402
+ }, _callee4, this);
403
+ }));
404
+ function getCachedUser(_x6) {
405
+ return _getCachedUser.apply(this, arguments);
406
+ }
407
+ return getCachedUser;
408
+ }()
409
+ /**
410
+ * Remove cached user if any
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
+ }();
267
428
 
268
429
  export { AuthStorage as default };