@jetbrains/ring-ui 5.0.156 → 5.0.158

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 (304) hide show
  1. package/components/control-label/control-label.css +1 -1
  2. package/components/control-label/control-label.d.ts +1 -1
  3. package/components/control-label/control-label.js +2 -2
  4. package/components/select/select__popup.d.ts +36 -0
  5. package/components/select/select__popup.js +7 -1
  6. package/dist/_helpers/_rollupPluginBabelHelpers.js +642 -1
  7. package/dist/_helpers/anchor.js +6 -7
  8. package/dist/_helpers/button__classes.js +16 -28
  9. package/dist/_helpers/card.js +107 -95
  10. package/dist/_helpers/control-label.js +1 -1
  11. package/dist/_helpers/dialog__body-scroll-preventer.js +20 -11
  12. package/dist/_helpers/footer.js +29 -34
  13. package/dist/_helpers/query-assist__suggestions.js +91 -74
  14. package/dist/_helpers/select__filter.js +71 -48
  15. package/dist/_helpers/services-link.js +41 -29
  16. package/dist/_helpers/sidebar.js +103 -99
  17. package/dist/_helpers/theme.js +42 -35
  18. package/dist/_helpers/title.js +71 -57
  19. package/dist/alert/alert.js +199 -158
  20. package/dist/alert/container.js +43 -32
  21. package/dist/alert-service/alert-service.js +172 -104
  22. package/dist/analytics/analytics.js +92 -68
  23. package/dist/analytics/analytics__custom-plugin.js +84 -60
  24. package/dist/analytics/analytics__fus-plugin.js +28 -15
  25. package/dist/analytics/analytics__ga-plugin.js +60 -43
  26. package/dist/analytics/analytics__plugin-utils.js +28 -22
  27. package/dist/auth/auth.js +36 -4
  28. package/dist/auth/auth__core.js +1458 -732
  29. package/dist/auth/background-flow.js +129 -87
  30. package/dist/auth/down-notification.js +75 -30
  31. package/dist/auth/iframe-flow.js +136 -75
  32. package/dist/auth/landing.js +90 -30
  33. package/dist/auth/request-builder.js +82 -46
  34. package/dist/auth/response-parser.js +119 -86
  35. package/dist/auth/storage.js +333 -171
  36. package/dist/auth/token-validator.js +244 -137
  37. package/dist/auth/window-flow.js +136 -92
  38. package/dist/auth-dialog/auth-dialog.js +176 -114
  39. package/dist/auth-dialog-service/auth-dialog-service.js +32 -7
  40. package/dist/auth-ng/auth-ng.js +70 -34
  41. package/dist/auth-ng/auth-ng.mock.js +6 -6
  42. package/dist/autofocus-ng/autofocus-ng.js +23 -8
  43. package/dist/avatar/avatar-example-datauri.js +1 -23
  44. package/dist/avatar/avatar.js +155 -119
  45. package/dist/avatar/fallback-avatar.js +41 -22
  46. package/dist/avatar-editor-ng/avatar-editor-ng.js +56 -23
  47. package/dist/avatar-editor-ng/avatar-editor-ng__template.js +1 -28
  48. package/dist/avatar-ng/avatar-ng.js +23 -1
  49. package/dist/badge/badge.js +43 -35
  50. package/dist/badge-ng/badge-ng.js +13 -1
  51. package/dist/breadcrumb-ng/breadcrumb-ng.js +15 -29
  52. package/dist/button/button.js +111 -87
  53. package/dist/button/button__classes.js +1 -0
  54. package/dist/button-group/button-group.js +35 -19
  55. package/dist/button-group/caption.js +22 -14
  56. package/dist/button-group-ng/button-group-ng.js +13 -7
  57. package/dist/button-ng/button-ng.js +154 -133
  58. package/dist/button-set/button-set.js +34 -20
  59. package/dist/button-set-ng/button-set-ng.js +2 -2
  60. package/dist/button-toolbar/button-toolbar.js +33 -19
  61. package/dist/button-toolbar-ng/button-toolbar-ng.js +5 -3
  62. package/dist/caret/caret.js +225 -188
  63. package/dist/checkbox/checkbox.js +104 -76
  64. package/dist/checkbox-ng/checkbox-ng.js +18 -27
  65. package/dist/clipboard/clipboard-fallback.js +10 -10
  66. package/dist/clipboard/clipboard.js +131 -34
  67. package/dist/code/code.js +168 -92
  68. package/dist/compiler-ng/compiler-ng.js +18 -15
  69. package/dist/confirm/confirm.js +108 -66
  70. package/dist/confirm-ng/confirm-ng.js +33 -4
  71. package/dist/confirm-service/confirm-service.js +66 -42
  72. package/dist/content-layout/content-layout.js +64 -43
  73. package/dist/content-layout/sidebar.js +1 -0
  74. package/dist/contenteditable/contenteditable.js +61 -50
  75. package/dist/control-label/control-label.d.ts +1 -1
  76. package/dist/control-label/control-label.js +12 -16
  77. package/dist/data-list/data-list.js +184 -128
  78. package/dist/data-list/data-list.mock.js +11 -2
  79. package/dist/data-list/item.js +174 -143
  80. package/dist/data-list/selection.js +139 -76
  81. package/dist/data-list/title.js +13 -1
  82. package/dist/data-list-ng/data-list-ng.js +31 -1
  83. package/dist/date-picker/consts.js +18 -15
  84. package/dist/date-picker/date-input.js +147 -115
  85. package/dist/date-picker/date-picker.js +285 -228
  86. package/dist/date-picker/date-popup.js +397 -356
  87. package/dist/date-picker/day.js +98 -84
  88. package/dist/date-picker/month-names.js +64 -43
  89. package/dist/date-picker/month-slider.js +74 -51
  90. package/dist/date-picker/month.js +21 -15
  91. package/dist/date-picker/months.js +48 -43
  92. package/dist/date-picker/weekdays.js +18 -12
  93. package/dist/date-picker/years.js +109 -84
  94. package/dist/dialog/dialog.js +189 -141
  95. package/dist/dialog/dialog__body-scroll-preventer.js +5 -0
  96. package/dist/dialog-ng/dialog-ng.js +401 -287
  97. package/dist/dialog-ng/dialog-ng__template.js +1 -70
  98. package/dist/docked-panel-ng/docked-panel-ng.js +33 -18
  99. package/dist/dropdown/anchor.js +10 -0
  100. package/dist/dropdown/dropdown.js +214 -182
  101. package/dist/dropdown-menu/dropdown-menu.js +102 -72
  102. package/dist/editable-heading/editable-heading.js +100 -58
  103. package/dist/error-bubble/error-bubble.js +64 -31
  104. package/dist/error-message/error-message.js +61 -38
  105. package/dist/error-message-ng/error-message-ng.js +11 -22
  106. package/dist/footer/footer.js +11 -1
  107. package/dist/footer-ng/footer-ng.js +64 -36
  108. package/dist/form-ng/form-ng.js +66 -56
  109. package/dist/global/angular-component-factory.js +76 -53
  110. package/dist/global/compose.js +10 -1
  111. package/dist/global/composeRefs.js +12 -7
  112. package/dist/global/controls-height.js +2 -2
  113. package/dist/global/create-stateful-context.js +19 -19
  114. package/dist/global/data-tests.js +15 -7
  115. package/dist/global/dom.js +95 -53
  116. package/dist/global/focus-sensor-hoc.js +134 -122
  117. package/dist/global/fuzzy-highlight.js +41 -27
  118. package/dist/global/get-event-key.js +8 -8
  119. package/dist/global/get-uid.js +8 -4
  120. package/dist/global/inject-styles.js +15 -10
  121. package/dist/global/linear-function.js +2 -2
  122. package/dist/global/listeners.js +53 -27
  123. package/dist/global/memoize.js +13 -6
  124. package/dist/global/normalize-indent.js +51 -19
  125. package/dist/global/promise-with-timeout.js +8 -6
  126. package/dist/global/prop-types.js +5 -3
  127. package/dist/global/react-dom-renderer.js +47 -28
  128. package/dist/global/react-render-adapter.js +19 -13
  129. package/dist/global/rerender-hoc.js +41 -16
  130. package/dist/global/ring-angular-component.js +20 -10
  131. package/dist/global/schedule-raf.js +6 -5
  132. package/dist/global/sniffer.js +1 -1
  133. package/dist/global/theme.js +24 -0
  134. package/dist/global/trivial-template-tag.js +10 -3
  135. package/dist/global/typescript-utils.js +6 -2
  136. package/dist/global/url.js +27 -21
  137. package/dist/global/use-event-callback.js +4 -6
  138. package/dist/grid/col.js +55 -35
  139. package/dist/grid/grid.js +36 -17
  140. package/dist/grid/row.js +48 -35
  141. package/dist/group/group.js +27 -17
  142. package/dist/group-ng/group-ng.js +2 -2
  143. package/dist/header/header.js +80 -33
  144. package/dist/header/logo.js +39 -20
  145. package/dist/header/profile.js +188 -150
  146. package/dist/header/services-link.js +9 -0
  147. package/dist/header/services.js +118 -73
  148. package/dist/header/smart-profile.js +207 -111
  149. package/dist/header/smart-services.js +115 -62
  150. package/dist/header/tray-icon.js +38 -21
  151. package/dist/header/tray.js +34 -21
  152. package/dist/heading/heading.js +25 -26
  153. package/dist/heading-ng/heading-ng.js +11 -1
  154. package/dist/http/http.js +368 -215
  155. package/dist/http/http.mock.js +104 -49
  156. package/dist/hub-source/hub-source.js +191 -83
  157. package/dist/hub-source/hub-source__user.js +45 -11
  158. package/dist/hub-source/hub-source__users-groups.js +67 -37
  159. package/dist/i18n/i18n-context.js +14 -10
  160. package/dist/i18n/i18n.js +11 -7
  161. package/dist/icon/icon.js +94 -76
  162. package/dist/icon/icon__svg.js +31 -24
  163. package/dist/icon/index.js +9 -0
  164. package/dist/icon-ng/icon-ng.js +27 -15
  165. package/dist/input/input.js +184 -145
  166. package/dist/input-ng/input-ng.js +96 -118
  167. package/dist/island/adaptive-island-hoc.js +45 -30
  168. package/dist/island/content.js +130 -115
  169. package/dist/island/header.js +69 -56
  170. package/dist/island/island.js +40 -28
  171. package/dist/island-legacy/content-legacy.js +27 -17
  172. package/dist/island-legacy/header-legacy.js +29 -19
  173. package/dist/island-legacy/island-legacy.js +27 -17
  174. package/dist/island-ng/island-content-ng.js +17 -26
  175. package/dist/island-ng/island-header-ng.js +9 -12
  176. package/dist/island-ng/island-ng-class-fixer.js +3 -0
  177. package/dist/island-ng/island-ng.js +6 -10
  178. package/dist/link/clickableLink.js +61 -44
  179. package/dist/link/link.js +85 -74
  180. package/dist/link-ng/link-ng.js +3 -5
  181. package/dist/list/consts.js +1 -1
  182. package/dist/list/list.js +696 -602
  183. package/dist/list/list__custom.js +61 -44
  184. package/dist/list/list__hint.js +21 -10
  185. package/dist/list/list__item.js +167 -129
  186. package/dist/list/list__link.js +54 -37
  187. package/dist/list/list__separator.js +24 -14
  188. package/dist/list/list__title.js +32 -22
  189. package/dist/list/list__users-groups-source.js +131 -54
  190. package/dist/loader/loader.js +78 -43
  191. package/dist/loader/loader__core.js +257 -189
  192. package/dist/loader-inline/loader-inline.js +37 -23
  193. package/dist/loader-inline-ng/loader-inline-ng.js +2 -2
  194. package/dist/loader-ng/loader-ng.js +46 -19
  195. package/dist/loader-screen/loader-screen.js +48 -25
  196. package/dist/loader-screen-ng/loader-screen-ng.js +46 -30
  197. package/dist/login-dialog/login-dialog.js +162 -111
  198. package/dist/login-dialog/service.js +35 -7
  199. package/dist/markdown/code.js +31 -9
  200. package/dist/markdown/heading.js +3 -5
  201. package/dist/markdown/link.js +13 -6
  202. package/dist/markdown/markdown.js +66 -33
  203. package/dist/message/message.js +157 -125
  204. package/dist/message-bundle-ng/message-bundle-ng.js +128 -44
  205. package/dist/old-browsers-message/old-browsers-message.js +19 -11
  206. package/dist/old-browsers-message/old-browsers-message__stop.js +8 -0
  207. package/dist/old-browsers-message/white-list.js +16 -9
  208. package/dist/pager/pager.js +275 -210
  209. package/dist/pager-ng/pager-ng.js +36 -1
  210. package/dist/panel/panel.js +27 -17
  211. package/dist/panel-ng/panel-ng.js +14 -1
  212. package/dist/permissions/permissions.js +173 -127
  213. package/dist/permissions/permissions__cache.js +225 -194
  214. package/dist/permissions-ng/permissions-ng.js +86 -35
  215. package/dist/place-under-ng/place-under-ng.js +68 -45
  216. package/dist/popup/popup.consts.js +1 -1
  217. package/dist/popup/popup.js +342 -280
  218. package/dist/popup/popup.target.js +8 -9
  219. package/dist/popup/position.js +153 -153
  220. package/dist/popup-menu/popup-menu.js +86 -44
  221. package/dist/progress-bar/progress-bar.js +97 -80
  222. package/dist/progress-bar-ng/progress-bar-ng.js +11 -1
  223. package/dist/promised-click-ng/promised-click-ng.js +92 -58
  224. package/dist/proxy-attrs/proxy-attrs.js +18 -9
  225. package/dist/query-assist/query-assist.js +903 -832
  226. package/dist/query-assist/query-assist__suggestions.js +33 -1
  227. package/dist/query-assist-ng/query-assist-ng.js +38 -1
  228. package/dist/radio/radio.js +36 -19
  229. package/dist/radio/radio__item.js +71 -52
  230. package/dist/radio-ng/radio-ng.js +14 -25
  231. package/dist/save-field-ng/save-field-ng.js +86 -52
  232. package/dist/save-field-ng/save-field-ng__template.js +1 -32
  233. package/dist/select/select.js +937 -835
  234. package/dist/select/select__filter.js +33 -0
  235. package/dist/select/select__popup.d.ts +36 -0
  236. package/dist/select/select__popup.js +480 -358
  237. package/dist/select-ng/select-ng.js +125 -74
  238. package/dist/select-ng/select-ng__lazy.js +101 -50
  239. package/dist/select-ng/select-ng__options.js +107 -81
  240. package/dist/shortcuts/core.js +218 -166
  241. package/dist/shortcuts/shortcut-title.js +11 -6
  242. package/dist/shortcuts/shortcuts-hoc.js +47 -19
  243. package/dist/shortcuts/shortcuts.js +77 -50
  244. package/dist/shortcuts-hint-ng/shortcuts-hint-ng.js +104 -53
  245. package/dist/shortcuts-hint-ng/shortcuts-hint-ng__template.js +1 -48
  246. package/dist/shortcuts-ng/shortcuts-ng.js +86 -51
  247. package/dist/sidebar-ng/sidebar-ng.js +53 -22
  248. package/dist/sidebar-ng/sidebar-ng__button-template.js +1 -18
  249. package/dist/sidebar-ng/sidebar-ng__template.js +1 -10
  250. package/dist/storage/storage.js +35 -4
  251. package/dist/storage/storage__fallback.js +224 -149
  252. package/dist/storage/storage__local.js +156 -90
  253. package/dist/style.css +1 -1
  254. package/dist/tab-trap/tab-trap.js +157 -122
  255. package/dist/table/cell.js +28 -14
  256. package/dist/table/disable-hover-hoc.js +53 -33
  257. package/dist/table/header-cell.js +87 -64
  258. package/dist/table/header.js +126 -98
  259. package/dist/table/multitable.js +127 -107
  260. package/dist/table/row-with-focus-sensor.js +73 -25
  261. package/dist/table/row.js +208 -170
  262. package/dist/table/selection-adapter.js +3 -1
  263. package/dist/table/selection-shortcuts-hoc.js +184 -181
  264. package/dist/table/selection.js +228 -156
  265. package/dist/table/smart-table.js +93 -51
  266. package/dist/table/table.js +348 -281
  267. package/dist/table-legacy-ng/table-legacy-ng.js +117 -102
  268. package/dist/table-legacy-ng/table-legacy-ng__pager.js +42 -10
  269. package/dist/table-legacy-ng/table-legacy-ng__selection-navigate-actions.js +92 -69
  270. package/dist/table-legacy-ng/table-legacy-ng__selection.js +169 -119
  271. package/dist/table-legacy-ng/table-legacy-ng__toolbar.js +36 -21
  272. package/dist/table-ng/smart-table-ng.js +31 -1
  273. package/dist/table-ng/table-ng.js +31 -1
  274. package/dist/tabs/collapsible-more.js +87 -50
  275. package/dist/tabs/collapsible-tab.js +45 -38
  276. package/dist/tabs/collapsible-tabs.js +161 -94
  277. package/dist/tabs/custom-item.js +2 -4
  278. package/dist/tabs/dumb-tabs.js +122 -75
  279. package/dist/tabs/smart-tabs.js +75 -29
  280. package/dist/tabs/tab-link.js +29 -19
  281. package/dist/tabs/tab.js +33 -19
  282. package/dist/tabs/tabs.js +35 -0
  283. package/dist/tabs-ng/tabs-ng.js +38 -24
  284. package/dist/tabs-ng/tabs-ng__template.js +1 -38
  285. package/dist/tag/tag.js +170 -133
  286. package/dist/tags-input/tags-input.js +428 -327
  287. package/dist/tags-input-ng/tags-input-ng.js +37 -1
  288. package/dist/tags-list/tags-list.js +80 -56
  289. package/dist/template-ng/template-ng.js +50 -39
  290. package/dist/text/text.js +38 -28
  291. package/dist/title-ng/title-ng.js +28 -23
  292. package/dist/toggle/toggle.js +72 -56
  293. package/dist/toggle-ng/toggle-ng.js +14 -1
  294. package/dist/tooltip/tooltip.js +192 -146
  295. package/dist/tooltip-ng/tooltip-ng.js +51 -25
  296. package/dist/user-agreement/service.js +374 -227
  297. package/dist/user-agreement/toolbox.eula.js +1 -160
  298. package/dist/user-agreement/user-agreement.js +128 -86
  299. package/dist/user-card/card.js +32 -0
  300. package/dist/user-card/smart-user-card-tooltip.js +116 -51
  301. package/dist/user-card/tooltip.js +90 -48
  302. package/dist/user-card/user-card.js +32 -0
  303. package/dist/user-card-ng/user-card-ng.js +34 -2
  304. package/package.json +8 -8
@@ -1,3 +1,9 @@
1
+ import { _ as _createClass, b as _classCallCheck, c as _defineProperty, e as _asyncToGenerator, a as _objectSpread2, f as _regeneratorRuntime, l as _slicedToArray } from '../_helpers/_rollupPluginBabelHelpers.js';
2
+ import 'core-js/modules/es.array.iterator.js';
3
+ import 'core-js/modules/es.object.to-string.js';
4
+ import 'core-js/modules/es.promise.js';
5
+ import 'core-js/modules/es.string.iterator.js';
6
+ import 'core-js/modules/web.dom-collections.iterator.js';
1
7
  import React from 'react';
2
8
  import { render, unmountComponentAtNode } from '../global/react-render-adapter.js';
3
9
  import ActualStorage from '../storage/storage.js';
@@ -7,10 +13,15 @@ import Alert from '../alert/alert.js';
7
13
  import Group from '../group/group.js';
8
14
  import { ControlsHeightContext, getGlobalControlsHeight } from '../global/controls-height.js';
9
15
  import UserAgreement from './user-agreement.js';
16
+ import 'core-js/modules/es.weak-map.js';
10
17
  import 'react-dom';
11
18
  import '../storage/storage__local.js';
12
- import '../_helpers/_rollupPluginBabelHelpers.js';
19
+ import 'core-js/modules/es.array.map.js';
20
+ import 'core-js/modules/es.array.filter.js';
21
+ import 'core-js/modules/es.array.concat.js';
13
22
  import '../global/get-uid.js';
23
+ import 'core-js/modules/es.regexp.to-string.js';
24
+ import 'core-js/modules/es.object.values.js';
14
25
  import 'classnames';
15
26
  import 'prop-types';
16
27
  import '@jetbrains/icons/exception';
@@ -22,11 +33,22 @@ import 'util-deprecate';
22
33
  import '../icon/icon__constants.js';
23
34
  import '../_helpers/icon.js';
24
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';
25
39
  import '../global/memoize.js';
40
+ import 'core-js/modules/es.map.js';
26
41
  import '../loader-inline/loader-inline.js';
27
42
  import '../global/data-tests.js';
43
+ import 'core-js/modules/es.array.reduce.js';
44
+ import 'core-js/modules/es.object.entries.js';
28
45
  import '../_helpers/loader-inline.js';
29
46
  import '../global/dom.js';
47
+ import 'core-js/modules/es.object.assign.js';
48
+ import 'core-js/modules/web.dom-collections.for-each.js';
49
+ import 'core-js/modules/es.string.split.js';
50
+ import 'core-js/modules/es.object.keys.js';
51
+ import 'core-js/modules/es.set.js';
30
52
  import '../button/button.js';
31
53
  import '@jetbrains/icons/chevron-10px';
32
54
  import '../link/clickableLink.js';
@@ -37,14 +59,23 @@ import '../popup/popup.js';
37
59
  import '../global/schedule-raf.js';
38
60
  import '../shortcuts/shortcuts.js';
39
61
  import '../shortcuts/core.js';
62
+ import 'core-js/modules/es.array.includes.js';
63
+ import 'core-js/modules/es.string.includes.js';
64
+ import 'core-js/modules/es.array.slice.js';
65
+ import 'core-js/modules/es.array.splice.js';
66
+ import 'core-js/modules/es.string.match.js';
67
+ import 'core-js/modules/es.array.find-index.js';
40
68
  import 'combokeys';
41
69
  import '../global/sniffer.js';
42
70
  import 'sniffr';
43
71
  import '../tab-trap/tab-trap.js';
44
72
  import '../popup/position.js';
73
+ import 'core-js/modules/es.array.sort.js';
45
74
  import '../popup/popup.consts.js';
46
75
  import '../alert/container.js';
47
76
  import '../storage/storage__fallback.js';
77
+ import 'core-js/modules/es.reflect.delete-property.js';
78
+ import 'core-js/modules/es.array.index-of.js';
48
79
  import 'deep-equal';
49
80
  import '../_helpers/link.js';
50
81
  import '../_helpers/group.js';
@@ -65,8 +96,10 @@ import 'react-markdown';
65
96
  import 'remark-breaks';
66
97
  import 'remark-gfm';
67
98
  import '../global/normalize-indent.js';
99
+ import 'core-js/modules/es.array.reverse.js';
68
100
  import '../global/trivial-template-tag.js';
69
101
  import '../markdown/code.js';
102
+ import 'core-js/modules/es.array.find.js';
70
103
  import '../code/code.js';
71
104
  import 'highlight.js/lib/core';
72
105
  import '../markdown/link.js';
@@ -75,285 +108,399 @@ import '../heading/heading.js';
75
108
  import '../i18n/i18n-context.js';
76
109
  import '../i18n/i18n.js';
77
110
 
78
- const GUEST_SESSION_KEY = 'end-user-agreement-consent';
79
- const ONE_HOUR = 60 * 60 * 1000; // eslint-disable-line @typescript-eslint/no-magic-numbers
80
- const storageKey = 'userAgreementKey';
81
- const showMessage = 'userAgreementShow';
82
- const hideMessage = 'userAgreementHide';
83
- const DEFAULT_CONSENT = {
111
+ var GUEST_SESSION_KEY = 'end-user-agreement-consent';
112
+ var ONE_HOUR = 60 * 60 * 1000; // eslint-disable-line @typescript-eslint/no-magic-numbers
113
+ var storageKey = 'userAgreementKey';
114
+ var showMessage = 'userAgreementShow';
115
+ var hideMessage = 'userAgreementHide';
116
+ var DEFAULT_CONSENT = {
84
117
  accepted: false,
85
118
  majorVersion: 0,
86
119
  minorVersion: 0
87
120
  };
88
- const DEFAULT_AGREEMENT = {
121
+ var DEFAULT_AGREEMENT = {
89
122
  enabled: false,
90
123
  majorVersion: 0,
91
124
  minorVersion: 0,
92
125
  requiredForREST: false,
93
126
  text: ''
94
127
  };
95
- class UserAgreementService {
96
- config;
97
- constructor(config) {
98
- if (!config) {
99
- throw new Error('Please pass a config to UserAgreementService');
100
- }
101
- if (!config.getUserAgreement) {
102
- throw new Error('Please pass a "getUserAgreement" option to UserAgreementService');
103
- }
104
- if (!config.getUserConsent) {
105
- throw new Error('Please pass a "getUserConsent" option to UserAgreementService');
106
- }
107
- if (!config.setUserConsent) {
108
- throw new Error('Please pass a "setUserConsent" option to UserAgreementService');
109
- }
110
- this.config = config;
111
- this.interval = config.interval || this.interval;
112
- }
113
- _dialogPromise = null;
114
- _alertPromise = null;
115
- tabId = Math.random();
116
- interval = ONE_HOUR;
117
- container = document.createElement('div');
118
- storage = new ActualStorage();
119
- checkingPromise = null;
120
- guest = false;
121
- userAgreement = DEFAULT_AGREEMENT;
122
- userConsent = DEFAULT_CONSENT;
123
- intervalId;
124
- startChecking = () => {
125
- this.intervalId = window.setInterval(this.checkConsentAndShowDialog, this.interval);
126
- window.addEventListener('storage', this.onStorageEvent);
127
- this.checkConsentAndShowDialog();
128
- };
129
- stopChecking = () => {
130
- clearInterval(this.intervalId);
131
- window.removeEventListener('storage', this.onStorageEvent);
132
- this.hideDialog();
133
- };
134
- onStorageEvent = event => {
128
+ var UserAgreementService = /*#__PURE__*/_createClass(function UserAgreementService(config) {
129
+ var _this = this;
130
+ _classCallCheck(this, UserAgreementService);
131
+ _defineProperty(this, "config", void 0);
132
+ _defineProperty(this, "_dialogPromise", null);
133
+ _defineProperty(this, "_alertPromise", null);
134
+ _defineProperty(this, "tabId", Math.random());
135
+ _defineProperty(this, "interval", ONE_HOUR);
136
+ _defineProperty(this, "container", document.createElement('div'));
137
+ _defineProperty(this, "storage", new ActualStorage());
138
+ _defineProperty(this, "checkingPromise", null);
139
+ _defineProperty(this, "guest", false);
140
+ _defineProperty(this, "userAgreement", DEFAULT_AGREEMENT);
141
+ _defineProperty(this, "userConsent", DEFAULT_CONSENT);
142
+ _defineProperty(this, "intervalId", void 0);
143
+ _defineProperty(this, "startChecking", function () {
144
+ _this.intervalId = window.setInterval(_this.checkConsentAndShowDialog, _this.interval);
145
+ window.addEventListener('storage', _this.onStorageEvent);
146
+ _this.checkConsentAndShowDialog();
147
+ });
148
+ _defineProperty(this, "stopChecking", function () {
149
+ clearInterval(_this.intervalId);
150
+ window.removeEventListener('storage', _this.onStorageEvent);
151
+ _this.hideDialog();
152
+ });
153
+ _defineProperty(this, "onStorageEvent", function (event) {
135
154
  if (event.key === storageKey && event.newValue != null) {
136
- const {
137
- tabId,
138
- command
139
- } = JSON.parse(event.newValue);
140
- if (tabId !== this.tabId) {
155
+ var _JSON$parse = JSON.parse(event.newValue),
156
+ tabId = _JSON$parse.tabId,
157
+ command = _JSON$parse.command;
158
+ if (tabId !== _this.tabId) {
141
159
  if (command === showMessage) {
142
- this.checkConsentAndShowDialog(true);
160
+ _this.checkConsentAndShowDialog(true);
143
161
  } else if (command === hideMessage) {
144
- this.hideDialogAndAlert(true);
162
+ _this.hideDialogAndAlert(true);
145
163
  }
146
164
  }
147
165
  }
148
- };
149
- _notifyAboutShowing = () => {
166
+ });
167
+ _defineProperty(this, "_notifyAboutShowing", function () {
150
168
  localStorage.setItem(storageKey, JSON.stringify({
151
169
  command: showMessage,
152
- tabId: this.tabId
170
+ tabId: _this.tabId
153
171
  }));
154
- };
155
- _notifyAboutHiding = () => {
172
+ });
173
+ _defineProperty(this, "_notifyAboutHiding", function () {
156
174
  localStorage.setItem(storageKey, JSON.stringify({
157
175
  command: hideMessage,
158
- tabId: this.tabId
176
+ tabId: _this.tabId
159
177
  }));
160
- };
161
- getUserAgreement = async () => {
162
- this.userAgreement = (await this.config.getUserAgreement()) || DEFAULT_AGREEMENT;
163
- return this.userAgreement;
164
- };
165
- getUserConsent = async () => {
166
- const {
167
- guest,
168
- endUserAgreementConsent
169
- } = await this.config.getUserConsent();
170
- this.guest = guest;
171
- if (guest) {
172
- this.userConsent = (await this.storage.get(GUEST_SESSION_KEY)) || this.userConsent;
173
- } else {
174
- this.userConsent = endUserAgreementConsent || this.userConsent;
175
- }
176
- return this.userConsent;
177
- };
178
- checkConsentAndShowDialog = async withoutNotifications => {
179
- if (await this.checkConsent()) {
180
- return this.hideDialogAndAlert(withoutNotifications);
181
- } else {
182
- return this.showDialogOrAlert(withoutNotifications);
183
- }
184
- };
185
- checkConsent = async () => {
186
- if (!this.checkingPromise) {
187
- this.checkingPromise = Promise.all([this.getUserAgreement(), this.getUserConsent()]);
188
- }
189
- const [userAgreement, userConsent] = await this.checkingPromise;
190
- this.checkingPromise = null;
191
- const {
192
- enabled,
193
- majorVersion: actualVersion
194
- } = userAgreement;
195
- const {
196
- accepted,
197
- majorVersion: acceptedVersion
198
- } = userConsent;
199
- return !enabled || accepted && actualVersion === acceptedVersion;
200
- };
201
- alertKey;
202
- showAlert = withoutNotifications => {
203
- if (this._alertPromise) {
204
- return this._alertPromise;
178
+ });
179
+ _defineProperty(this, "getUserAgreement", /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
180
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
181
+ while (1) switch (_context.prev = _context.next) {
182
+ case 0:
183
+ _context.next = 2;
184
+ return _this.config.getUserAgreement();
185
+ case 2:
186
+ _context.t0 = _context.sent;
187
+ if (_context.t0) {
188
+ _context.next = 5;
189
+ break;
190
+ }
191
+ _context.t0 = DEFAULT_AGREEMENT;
192
+ case 5:
193
+ _this.userAgreement = _context.t0;
194
+ return _context.abrupt("return", _this.userAgreement);
195
+ case 7:
196
+ case "end":
197
+ return _context.stop();
198
+ }
199
+ }, _callee);
200
+ })));
201
+ _defineProperty(this, "getUserConsent", /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
202
+ var _yield$_this$config$g, guest, endUserAgreementConsent;
203
+ return _regeneratorRuntime().wrap(function _callee2$(_context2) {
204
+ while (1) switch (_context2.prev = _context2.next) {
205
+ case 0:
206
+ _context2.next = 2;
207
+ return _this.config.getUserConsent();
208
+ case 2:
209
+ _yield$_this$config$g = _context2.sent;
210
+ guest = _yield$_this$config$g.guest;
211
+ endUserAgreementConsent = _yield$_this$config$g.endUserAgreementConsent;
212
+ _this.guest = guest;
213
+ if (!guest) {
214
+ _context2.next = 15;
215
+ break;
216
+ }
217
+ _context2.next = 9;
218
+ return _this.storage.get(GUEST_SESSION_KEY);
219
+ case 9:
220
+ _context2.t0 = _context2.sent;
221
+ if (_context2.t0) {
222
+ _context2.next = 12;
223
+ break;
224
+ }
225
+ _context2.t0 = _this.userConsent;
226
+ case 12:
227
+ _this.userConsent = _context2.t0;
228
+ _context2.next = 16;
229
+ break;
230
+ case 15:
231
+ _this.userConsent = endUserAgreementConsent || _this.userConsent;
232
+ case 16:
233
+ return _context2.abrupt("return", _this.userConsent);
234
+ case 17:
235
+ case "end":
236
+ return _context2.stop();
237
+ }
238
+ }, _callee2);
239
+ })));
240
+ _defineProperty(this, "checkConsentAndShowDialog", /*#__PURE__*/function () {
241
+ var _ref3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(withoutNotifications) {
242
+ return _regeneratorRuntime().wrap(function _callee3$(_context3) {
243
+ while (1) switch (_context3.prev = _context3.next) {
244
+ case 0:
245
+ _context3.next = 2;
246
+ return _this.checkConsent();
247
+ case 2:
248
+ if (!_context3.sent) {
249
+ _context3.next = 6;
250
+ break;
251
+ }
252
+ return _context3.abrupt("return", _this.hideDialogAndAlert(withoutNotifications));
253
+ case 6:
254
+ return _context3.abrupt("return", _this.showDialogOrAlert(withoutNotifications));
255
+ case 7:
256
+ case "end":
257
+ return _context3.stop();
258
+ }
259
+ }, _callee3);
260
+ }));
261
+ return function (_x) {
262
+ return _ref3.apply(this, arguments);
263
+ };
264
+ }());
265
+ _defineProperty(this, "checkConsent", /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4() {
266
+ var _yield$_this$checking, _yield$_this$checking2, userAgreement, userConsent, enabled, actualVersion, accepted, acceptedVersion;
267
+ return _regeneratorRuntime().wrap(function _callee4$(_context4) {
268
+ while (1) switch (_context4.prev = _context4.next) {
269
+ case 0:
270
+ if (!_this.checkingPromise) {
271
+ _this.checkingPromise = Promise.all([_this.getUserAgreement(), _this.getUserConsent()]);
272
+ }
273
+ _context4.next = 3;
274
+ return _this.checkingPromise;
275
+ case 3:
276
+ _yield$_this$checking = _context4.sent;
277
+ _yield$_this$checking2 = _slicedToArray(_yield$_this$checking, 2);
278
+ userAgreement = _yield$_this$checking2[0];
279
+ userConsent = _yield$_this$checking2[1];
280
+ _this.checkingPromise = null;
281
+ enabled = userAgreement.enabled, actualVersion = userAgreement.majorVersion;
282
+ accepted = userConsent.accepted, acceptedVersion = userConsent.majorVersion;
283
+ return _context4.abrupt("return", !enabled || accepted && actualVersion === acceptedVersion);
284
+ case 11:
285
+ case "end":
286
+ return _context4.stop();
287
+ }
288
+ }, _callee4);
289
+ })));
290
+ _defineProperty(this, "alertKey", void 0);
291
+ _defineProperty(this, "showAlert", function (withoutNotifications) {
292
+ if (_this._alertPromise) {
293
+ return _this._alertPromise;
205
294
  }
206
- this._alertPromise = new Promise((resolve, reject) => {
207
- const {
208
- userAgreement,
209
- reviewNow,
210
- remindLater
211
- } = this.config.translations || {};
212
- const onRemind = () => {
213
- this.hideDialogAndAlert(withoutNotifications);
295
+ _this._alertPromise = new Promise(function (resolve, reject) {
296
+ var _ref5 = _this.config.translations || {},
297
+ userAgreement = _ref5.userAgreement,
298
+ reviewNow = _ref5.reviewNow,
299
+ remindLater = _ref5.remindLater;
300
+ var onRemind = function onRemind() {
301
+ _this.hideDialogAndAlert(withoutNotifications);
214
302
  reject('Postponed');
215
303
  };
216
- const onReview = async () => {
217
- await this.showDialog(true, false, {
218
- onRemindLater: onRemind
219
- });
220
- this.hideAlert(withoutNotifications);
221
- resolve();
222
- };
223
- const message = /*#__PURE__*/React.createElement(Group, null, /*#__PURE__*/React.createElement("span", null, userAgreement || 'User Agreement'), /*#__PURE__*/React.createElement(Link, {
304
+ var onReview = /*#__PURE__*/function () {
305
+ var _ref6 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee5() {
306
+ return _regeneratorRuntime().wrap(function _callee5$(_context5) {
307
+ while (1) switch (_context5.prev = _context5.next) {
308
+ case 0:
309
+ _context5.next = 2;
310
+ return _this.showDialog(true, false, {
311
+ onRemindLater: onRemind
312
+ });
313
+ case 2:
314
+ _this.hideAlert(withoutNotifications);
315
+ resolve();
316
+ case 4:
317
+ case "end":
318
+ return _context5.stop();
319
+ }
320
+ }, _callee5);
321
+ }));
322
+ return function onReview() {
323
+ return _ref6.apply(this, arguments);
324
+ };
325
+ }();
326
+ var message = /*#__PURE__*/React.createElement(Group, null, /*#__PURE__*/React.createElement("span", null, userAgreement || 'User Agreement'), /*#__PURE__*/React.createElement(Link, {
224
327
  onClick: onReview,
225
328
  "data-test": "review"
226
329
  }, reviewNow || 'Review now'), /*#__PURE__*/React.createElement(Link, {
227
330
  onClick: onRemind,
228
331
  "data-test": "later"
229
332
  }, remindLater || 'Remind me later'));
230
- this.alertKey = alertService.addAlert(message, Alert.Type.WARNING, 0, {
333
+ _this.alertKey = alertService.addAlert(message, Alert.Type.WARNING, 0, {
231
334
  closeable: false
232
335
  });
233
336
  });
234
337
  if (!withoutNotifications) {
235
- this._notifyAboutShowing();
338
+ _this._notifyAboutShowing();
236
339
  }
237
- return this._alertPromise;
238
- };
239
- hideAlert = withoutNotifications => {
240
- const {
241
- onRemindLater
242
- } = this.config;
243
- alertService.remove(this.alertKey);
244
- this.alertKey = null;
245
- this._alertPromise = null;
340
+ return _this._alertPromise;
341
+ });
342
+ _defineProperty(this, "hideAlert", function (withoutNotifications) {
343
+ var onRemindLater = _this.config.onRemindLater;
344
+ alertService.remove(_this.alertKey);
345
+ _this.alertKey = null;
346
+ _this._alertPromise = null;
246
347
  if (onRemindLater) {
247
348
  onRemindLater();
248
349
  }
249
350
  if (!withoutNotifications) {
250
- this._notifyAboutHiding();
351
+ _this._notifyAboutHiding();
251
352
  }
252
- };
253
- showDialog = (() => {
254
- var _this = this;
255
- return function (withoutNotifications) {
256
- let preview = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
257
- let restOptions = arguments.length > 2 ? arguments[2] : undefined;
258
- const {
259
- translations,
260
- onDialogShow
261
- } = _this.config;
262
- const {
263
- text
264
- } = _this.userAgreement;
265
- const show = true;
266
- if (!_this._dialogPromise) {
267
- _this._dialogPromise = new Promise((resolve, reject) => {
268
- const onAccept = async () => {
269
- await _this.onAccept();
270
- resolve();
271
- };
272
- const onDecline = async () => {
273
- await _this.onDecline();
274
- reject();
353
+ });
354
+ _defineProperty(this, "showDialog", function (withoutNotifications) {
355
+ var preview = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
356
+ var restOptions = arguments.length > 2 ? arguments[2] : undefined;
357
+ var _this$config = _this.config,
358
+ translations = _this$config.translations,
359
+ onDialogShow = _this$config.onDialogShow;
360
+ var text = _this.userAgreement.text;
361
+ var show = true;
362
+ if (!_this._dialogPromise) {
363
+ _this._dialogPromise = new Promise(function (resolve, reject) {
364
+ var onAccept = /*#__PURE__*/function () {
365
+ var _ref7 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee6() {
366
+ return _regeneratorRuntime().wrap(function _callee6$(_context6) {
367
+ while (1) switch (_context6.prev = _context6.next) {
368
+ case 0:
369
+ _context6.next = 2;
370
+ return _this.onAccept();
371
+ case 2:
372
+ resolve();
373
+ case 3:
374
+ case "end":
375
+ return _context6.stop();
376
+ }
377
+ }, _callee6);
378
+ }));
379
+ return function onAccept() {
380
+ return _ref7.apply(this, arguments);
275
381
  };
276
- const onClose = _this.hideDialogAndAlert;
277
- const props = {
278
- text,
279
- show,
280
- onAccept,
281
- onDecline,
282
- onClose,
283
- translations,
284
- preview,
285
- ...restOptions
382
+ }();
383
+ var onDecline = /*#__PURE__*/function () {
384
+ var _ref8 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee7() {
385
+ return _regeneratorRuntime().wrap(function _callee7$(_context7) {
386
+ while (1) switch (_context7.prev = _context7.next) {
387
+ case 0:
388
+ _context7.next = 2;
389
+ return _this.onDecline();
390
+ case 2:
391
+ reject();
392
+ case 3:
393
+ case "end":
394
+ return _context7.stop();
395
+ }
396
+ }, _callee7);
397
+ }));
398
+ return function onDecline() {
399
+ return _ref8.apply(this, arguments);
286
400
  };
287
- render( /*#__PURE__*/React.createElement(ControlsHeightContext.Provider, {
288
- value: getGlobalControlsHeight()
289
- }, /*#__PURE__*/React.createElement(UserAgreement, props)), _this.container);
290
- if (onDialogShow) {
291
- onDialogShow();
292
- }
293
- });
294
- if (!withoutNotifications) {
295
- _this._notifyAboutShowing();
401
+ }();
402
+ var onClose = _this.hideDialogAndAlert;
403
+ var props = _objectSpread2({
404
+ text: text,
405
+ show: show,
406
+ onAccept: onAccept,
407
+ onDecline: onDecline,
408
+ onClose: onClose,
409
+ translations: translations,
410
+ preview: preview
411
+ }, restOptions);
412
+ render( /*#__PURE__*/React.createElement(ControlsHeightContext.Provider, {
413
+ value: getGlobalControlsHeight()
414
+ }, /*#__PURE__*/React.createElement(UserAgreement, props)), _this.container);
415
+ if (onDialogShow) {
416
+ onDialogShow();
296
417
  }
418
+ });
419
+ if (!withoutNotifications) {
420
+ _this._notifyAboutShowing();
297
421
  }
298
- return _this._dialogPromise;
299
- };
300
- })();
301
- hideDialog = withoutNotifications => {
302
- const {
303
- onDialogHide
304
- } = this.config;
305
- unmountComponentAtNode(this.container);
422
+ }
423
+ return _this._dialogPromise;
424
+ });
425
+ _defineProperty(this, "hideDialog", function (withoutNotifications) {
426
+ var onDialogHide = _this.config.onDialogHide;
427
+ unmountComponentAtNode(_this.container);
306
428
  if (onDialogHide) {
307
429
  onDialogHide();
308
- this._dialogPromise = null;
430
+ _this._dialogPromise = null;
309
431
  if (!withoutNotifications) {
310
- this._notifyAboutHiding();
432
+ _this._notifyAboutHiding();
311
433
  }
312
434
  }
313
- };
314
- showDialogOrAlert = (withoutNotifications, preview, restOptions) => {
315
- if (this.guest && !this.userAgreement.requiredForREST) {
316
- return this.showAlert(withoutNotifications);
317
- }
318
- return this.showDialog(withoutNotifications, preview, restOptions);
319
- };
320
- hideDialogAndAlert = withoutNotifications => {
321
- this.hideAlert(withoutNotifications);
322
- this.hideDialog(withoutNotifications);
323
- };
324
- onAccept = async () => {
325
- const {
326
- setUserConsent,
327
- onAccept
328
- } = this.config;
329
- if (this.guest) {
330
- const {
331
- majorVersion,
332
- minorVersion
333
- } = this.userAgreement;
334
- this.userConsent = {
335
- majorVersion,
336
- minorVersion,
337
- accepted: true
338
- };
339
- await this.storage.set(GUEST_SESSION_KEY, this.userConsent);
340
- } else {
341
- this.userConsent = await setUserConsent();
342
- }
343
- this.hideDialog();
344
- if (onAccept) {
345
- onAccept();
435
+ });
436
+ _defineProperty(this, "showDialogOrAlert", function (withoutNotifications, preview, restOptions) {
437
+ if (_this.guest && !_this.userAgreement.requiredForREST) {
438
+ return _this.showAlert(withoutNotifications);
346
439
  }
347
- };
348
- onDecline = () => {
349
- const {
350
- onDecline
351
- } = this.config;
352
- this.hideDialog();
440
+ return _this.showDialog(withoutNotifications, preview, restOptions);
441
+ });
442
+ _defineProperty(this, "hideDialogAndAlert", function (withoutNotifications) {
443
+ _this.hideAlert(withoutNotifications);
444
+ _this.hideDialog(withoutNotifications);
445
+ });
446
+ _defineProperty(this, "onAccept", /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee8() {
447
+ var _this$config2, setUserConsent, onAccept, _this$userAgreement, majorVersion, minorVersion;
448
+ return _regeneratorRuntime().wrap(function _callee8$(_context8) {
449
+ while (1) switch (_context8.prev = _context8.next) {
450
+ case 0:
451
+ _this$config2 = _this.config, setUserConsent = _this$config2.setUserConsent, onAccept = _this$config2.onAccept;
452
+ if (!_this.guest) {
453
+ _context8.next = 8;
454
+ break;
455
+ }
456
+ _this$userAgreement = _this.userAgreement, majorVersion = _this$userAgreement.majorVersion, minorVersion = _this$userAgreement.minorVersion;
457
+ _this.userConsent = {
458
+ majorVersion: majorVersion,
459
+ minorVersion: minorVersion,
460
+ accepted: true
461
+ };
462
+ _context8.next = 6;
463
+ return _this.storage.set(GUEST_SESSION_KEY, _this.userConsent);
464
+ case 6:
465
+ _context8.next = 11;
466
+ break;
467
+ case 8:
468
+ _context8.next = 10;
469
+ return setUserConsent();
470
+ case 10:
471
+ _this.userConsent = _context8.sent;
472
+ case 11:
473
+ _this.hideDialog();
474
+ if (onAccept) {
475
+ onAccept();
476
+ }
477
+ case 13:
478
+ case "end":
479
+ return _context8.stop();
480
+ }
481
+ }, _callee8);
482
+ })));
483
+ _defineProperty(this, "onDecline", function () {
484
+ var onDecline = _this.config.onDecline;
485
+ _this.hideDialog();
353
486
  if (onDecline) {
354
487
  onDecline();
355
488
  }
356
- };
357
- }
489
+ });
490
+ if (!config) {
491
+ throw new Error('Please pass a config to UserAgreementService');
492
+ }
493
+ if (!config.getUserAgreement) {
494
+ throw new Error('Please pass a "getUserAgreement" option to UserAgreementService');
495
+ }
496
+ if (!config.getUserConsent) {
497
+ throw new Error('Please pass a "getUserConsent" option to UserAgreementService');
498
+ }
499
+ if (!config.setUserConsent) {
500
+ throw new Error('Please pass a "setUserConsent" option to UserAgreementService');
501
+ }
502
+ this.config = config;
503
+ this.interval = config.interval || this.interval;
504
+ });
358
505
 
359
506
  export { UserAgreementService as default, hideMessage, showMessage };