@jetbrains/ring-ui 5.0.156 → 5.0.157

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 (295) hide show
  1. package/dist/_helpers/_rollupPluginBabelHelpers.js +642 -1
  2. package/dist/_helpers/anchor.js +6 -7
  3. package/dist/_helpers/button__classes.js +16 -28
  4. package/dist/_helpers/card.js +107 -95
  5. package/dist/_helpers/dialog__body-scroll-preventer.js +20 -11
  6. package/dist/_helpers/footer.js +29 -34
  7. package/dist/_helpers/query-assist__suggestions.js +91 -74
  8. package/dist/_helpers/select__filter.js +71 -48
  9. package/dist/_helpers/services-link.js +41 -29
  10. package/dist/_helpers/sidebar.js +103 -99
  11. package/dist/_helpers/theme.js +42 -35
  12. package/dist/_helpers/title.js +71 -57
  13. package/dist/alert/alert.js +199 -158
  14. package/dist/alert/container.js +43 -32
  15. package/dist/alert-service/alert-service.js +172 -104
  16. package/dist/analytics/analytics.js +92 -68
  17. package/dist/analytics/analytics__custom-plugin.js +84 -60
  18. package/dist/analytics/analytics__fus-plugin.js +28 -15
  19. package/dist/analytics/analytics__ga-plugin.js +60 -43
  20. package/dist/analytics/analytics__plugin-utils.js +28 -22
  21. package/dist/auth/auth.js +36 -4
  22. package/dist/auth/auth__core.js +1458 -732
  23. package/dist/auth/background-flow.js +129 -87
  24. package/dist/auth/down-notification.js +75 -30
  25. package/dist/auth/iframe-flow.js +136 -75
  26. package/dist/auth/landing.js +90 -30
  27. package/dist/auth/request-builder.js +82 -46
  28. package/dist/auth/response-parser.js +119 -86
  29. package/dist/auth/storage.js +333 -171
  30. package/dist/auth/token-validator.js +244 -137
  31. package/dist/auth/window-flow.js +136 -92
  32. package/dist/auth-dialog/auth-dialog.js +176 -114
  33. package/dist/auth-dialog-service/auth-dialog-service.js +32 -7
  34. package/dist/auth-ng/auth-ng.js +70 -34
  35. package/dist/auth-ng/auth-ng.mock.js +6 -6
  36. package/dist/autofocus-ng/autofocus-ng.js +23 -8
  37. package/dist/avatar/avatar-example-datauri.js +1 -23
  38. package/dist/avatar/avatar.js +155 -119
  39. package/dist/avatar/fallback-avatar.js +41 -22
  40. package/dist/avatar-editor-ng/avatar-editor-ng.js +56 -23
  41. package/dist/avatar-editor-ng/avatar-editor-ng__template.js +1 -28
  42. package/dist/avatar-ng/avatar-ng.js +23 -1
  43. package/dist/badge/badge.js +43 -35
  44. package/dist/badge-ng/badge-ng.js +13 -1
  45. package/dist/breadcrumb-ng/breadcrumb-ng.js +15 -29
  46. package/dist/button/button.js +111 -87
  47. package/dist/button/button__classes.js +1 -0
  48. package/dist/button-group/button-group.js +35 -19
  49. package/dist/button-group/caption.js +22 -14
  50. package/dist/button-group-ng/button-group-ng.js +13 -7
  51. package/dist/button-ng/button-ng.js +154 -133
  52. package/dist/button-set/button-set.js +34 -20
  53. package/dist/button-set-ng/button-set-ng.js +2 -2
  54. package/dist/button-toolbar/button-toolbar.js +33 -19
  55. package/dist/button-toolbar-ng/button-toolbar-ng.js +5 -3
  56. package/dist/caret/caret.js +225 -188
  57. package/dist/checkbox/checkbox.js +104 -76
  58. package/dist/checkbox-ng/checkbox-ng.js +18 -27
  59. package/dist/clipboard/clipboard-fallback.js +10 -10
  60. package/dist/clipboard/clipboard.js +131 -34
  61. package/dist/code/code.js +168 -92
  62. package/dist/compiler-ng/compiler-ng.js +18 -15
  63. package/dist/confirm/confirm.js +108 -66
  64. package/dist/confirm-ng/confirm-ng.js +33 -4
  65. package/dist/confirm-service/confirm-service.js +66 -42
  66. package/dist/content-layout/content-layout.js +64 -43
  67. package/dist/content-layout/sidebar.js +1 -0
  68. package/dist/contenteditable/contenteditable.js +61 -50
  69. package/dist/control-label/control-label.js +11 -15
  70. package/dist/data-list/data-list.js +184 -128
  71. package/dist/data-list/data-list.mock.js +11 -2
  72. package/dist/data-list/item.js +174 -143
  73. package/dist/data-list/selection.js +139 -76
  74. package/dist/data-list/title.js +13 -1
  75. package/dist/data-list-ng/data-list-ng.js +31 -1
  76. package/dist/date-picker/consts.js +18 -15
  77. package/dist/date-picker/date-input.js +147 -115
  78. package/dist/date-picker/date-picker.js +285 -228
  79. package/dist/date-picker/date-popup.js +397 -356
  80. package/dist/date-picker/day.js +98 -84
  81. package/dist/date-picker/month-names.js +64 -43
  82. package/dist/date-picker/month-slider.js +74 -51
  83. package/dist/date-picker/month.js +21 -15
  84. package/dist/date-picker/months.js +48 -43
  85. package/dist/date-picker/weekdays.js +18 -12
  86. package/dist/date-picker/years.js +109 -84
  87. package/dist/dialog/dialog.js +189 -141
  88. package/dist/dialog/dialog__body-scroll-preventer.js +5 -0
  89. package/dist/dialog-ng/dialog-ng.js +401 -287
  90. package/dist/dialog-ng/dialog-ng__template.js +1 -70
  91. package/dist/docked-panel-ng/docked-panel-ng.js +33 -18
  92. package/dist/dropdown/anchor.js +10 -0
  93. package/dist/dropdown/dropdown.js +214 -182
  94. package/dist/dropdown-menu/dropdown-menu.js +102 -72
  95. package/dist/editable-heading/editable-heading.js +100 -58
  96. package/dist/error-bubble/error-bubble.js +64 -31
  97. package/dist/error-message/error-message.js +61 -38
  98. package/dist/error-message-ng/error-message-ng.js +11 -22
  99. package/dist/footer/footer.js +11 -1
  100. package/dist/footer-ng/footer-ng.js +64 -36
  101. package/dist/form-ng/form-ng.js +66 -56
  102. package/dist/global/angular-component-factory.js +76 -53
  103. package/dist/global/compose.js +10 -1
  104. package/dist/global/composeRefs.js +12 -7
  105. package/dist/global/controls-height.js +2 -2
  106. package/dist/global/create-stateful-context.js +19 -19
  107. package/dist/global/data-tests.js +15 -7
  108. package/dist/global/dom.js +95 -53
  109. package/dist/global/focus-sensor-hoc.js +134 -122
  110. package/dist/global/fuzzy-highlight.js +41 -27
  111. package/dist/global/get-event-key.js +8 -8
  112. package/dist/global/get-uid.js +8 -4
  113. package/dist/global/inject-styles.js +15 -10
  114. package/dist/global/linear-function.js +2 -2
  115. package/dist/global/listeners.js +53 -27
  116. package/dist/global/memoize.js +13 -6
  117. package/dist/global/normalize-indent.js +51 -19
  118. package/dist/global/promise-with-timeout.js +8 -6
  119. package/dist/global/prop-types.js +5 -3
  120. package/dist/global/react-dom-renderer.js +47 -28
  121. package/dist/global/react-render-adapter.js +19 -13
  122. package/dist/global/rerender-hoc.js +41 -16
  123. package/dist/global/ring-angular-component.js +20 -10
  124. package/dist/global/schedule-raf.js +6 -5
  125. package/dist/global/sniffer.js +1 -1
  126. package/dist/global/theme.js +24 -0
  127. package/dist/global/trivial-template-tag.js +10 -3
  128. package/dist/global/typescript-utils.js +6 -2
  129. package/dist/global/url.js +27 -21
  130. package/dist/global/use-event-callback.js +4 -6
  131. package/dist/grid/col.js +55 -35
  132. package/dist/grid/grid.js +36 -17
  133. package/dist/grid/row.js +48 -35
  134. package/dist/group/group.js +27 -17
  135. package/dist/group-ng/group-ng.js +2 -2
  136. package/dist/header/header.js +80 -33
  137. package/dist/header/logo.js +39 -20
  138. package/dist/header/profile.js +188 -150
  139. package/dist/header/services-link.js +9 -0
  140. package/dist/header/services.js +118 -73
  141. package/dist/header/smart-profile.js +207 -111
  142. package/dist/header/smart-services.js +115 -62
  143. package/dist/header/tray-icon.js +38 -21
  144. package/dist/header/tray.js +34 -21
  145. package/dist/heading/heading.js +25 -26
  146. package/dist/heading-ng/heading-ng.js +11 -1
  147. package/dist/http/http.js +368 -215
  148. package/dist/http/http.mock.js +104 -49
  149. package/dist/hub-source/hub-source.js +191 -83
  150. package/dist/hub-source/hub-source__user.js +45 -11
  151. package/dist/hub-source/hub-source__users-groups.js +67 -37
  152. package/dist/i18n/i18n-context.js +14 -10
  153. package/dist/i18n/i18n.js +11 -7
  154. package/dist/icon/icon.js +94 -76
  155. package/dist/icon/icon__svg.js +31 -24
  156. package/dist/icon/index.js +9 -0
  157. package/dist/icon-ng/icon-ng.js +27 -15
  158. package/dist/input/input.js +184 -145
  159. package/dist/input-ng/input-ng.js +96 -118
  160. package/dist/island/adaptive-island-hoc.js +45 -30
  161. package/dist/island/content.js +130 -115
  162. package/dist/island/header.js +69 -56
  163. package/dist/island/island.js +40 -28
  164. package/dist/island-legacy/content-legacy.js +27 -17
  165. package/dist/island-legacy/header-legacy.js +29 -19
  166. package/dist/island-legacy/island-legacy.js +27 -17
  167. package/dist/island-ng/island-content-ng.js +17 -26
  168. package/dist/island-ng/island-header-ng.js +9 -12
  169. package/dist/island-ng/island-ng-class-fixer.js +3 -0
  170. package/dist/island-ng/island-ng.js +6 -10
  171. package/dist/link/clickableLink.js +61 -44
  172. package/dist/link/link.js +85 -74
  173. package/dist/link-ng/link-ng.js +3 -5
  174. package/dist/list/consts.js +1 -1
  175. package/dist/list/list.js +696 -602
  176. package/dist/list/list__custom.js +61 -44
  177. package/dist/list/list__hint.js +21 -10
  178. package/dist/list/list__item.js +167 -129
  179. package/dist/list/list__link.js +54 -37
  180. package/dist/list/list__separator.js +24 -14
  181. package/dist/list/list__title.js +32 -22
  182. package/dist/list/list__users-groups-source.js +131 -54
  183. package/dist/loader/loader.js +78 -43
  184. package/dist/loader/loader__core.js +257 -189
  185. package/dist/loader-inline/loader-inline.js +37 -23
  186. package/dist/loader-inline-ng/loader-inline-ng.js +2 -2
  187. package/dist/loader-ng/loader-ng.js +46 -19
  188. package/dist/loader-screen/loader-screen.js +48 -25
  189. package/dist/loader-screen-ng/loader-screen-ng.js +46 -30
  190. package/dist/login-dialog/login-dialog.js +162 -111
  191. package/dist/login-dialog/service.js +35 -7
  192. package/dist/markdown/code.js +31 -9
  193. package/dist/markdown/heading.js +3 -5
  194. package/dist/markdown/link.js +13 -6
  195. package/dist/markdown/markdown.js +66 -33
  196. package/dist/message/message.js +157 -125
  197. package/dist/message-bundle-ng/message-bundle-ng.js +128 -44
  198. package/dist/old-browsers-message/old-browsers-message.js +19 -11
  199. package/dist/old-browsers-message/old-browsers-message__stop.js +8 -0
  200. package/dist/old-browsers-message/white-list.js +16 -9
  201. package/dist/pager/pager.js +275 -210
  202. package/dist/pager-ng/pager-ng.js +36 -1
  203. package/dist/panel/panel.js +27 -17
  204. package/dist/panel-ng/panel-ng.js +14 -1
  205. package/dist/permissions/permissions.js +173 -127
  206. package/dist/permissions/permissions__cache.js +225 -194
  207. package/dist/permissions-ng/permissions-ng.js +86 -35
  208. package/dist/place-under-ng/place-under-ng.js +68 -45
  209. package/dist/popup/popup.consts.js +1 -1
  210. package/dist/popup/popup.js +342 -280
  211. package/dist/popup/popup.target.js +8 -9
  212. package/dist/popup/position.js +153 -153
  213. package/dist/popup-menu/popup-menu.js +86 -44
  214. package/dist/progress-bar/progress-bar.js +97 -80
  215. package/dist/progress-bar-ng/progress-bar-ng.js +11 -1
  216. package/dist/promised-click-ng/promised-click-ng.js +92 -58
  217. package/dist/proxy-attrs/proxy-attrs.js +18 -9
  218. package/dist/query-assist/query-assist.js +903 -832
  219. package/dist/query-assist/query-assist__suggestions.js +33 -1
  220. package/dist/query-assist-ng/query-assist-ng.js +38 -1
  221. package/dist/radio/radio.js +36 -19
  222. package/dist/radio/radio__item.js +71 -52
  223. package/dist/radio-ng/radio-ng.js +14 -25
  224. package/dist/save-field-ng/save-field-ng.js +86 -52
  225. package/dist/save-field-ng/save-field-ng__template.js +1 -32
  226. package/dist/select/select.js +937 -835
  227. package/dist/select/select__filter.js +33 -0
  228. package/dist/select/select__popup.js +472 -359
  229. package/dist/select-ng/select-ng.js +125 -74
  230. package/dist/select-ng/select-ng__lazy.js +101 -50
  231. package/dist/select-ng/select-ng__options.js +107 -81
  232. package/dist/shortcuts/core.js +218 -166
  233. package/dist/shortcuts/shortcut-title.js +11 -6
  234. package/dist/shortcuts/shortcuts-hoc.js +47 -19
  235. package/dist/shortcuts/shortcuts.js +77 -50
  236. package/dist/shortcuts-hint-ng/shortcuts-hint-ng.js +104 -53
  237. package/dist/shortcuts-hint-ng/shortcuts-hint-ng__template.js +1 -48
  238. package/dist/shortcuts-ng/shortcuts-ng.js +86 -51
  239. package/dist/sidebar-ng/sidebar-ng.js +53 -22
  240. package/dist/sidebar-ng/sidebar-ng__button-template.js +1 -18
  241. package/dist/sidebar-ng/sidebar-ng__template.js +1 -10
  242. package/dist/storage/storage.js +35 -4
  243. package/dist/storage/storage__fallback.js +224 -149
  244. package/dist/storage/storage__local.js +156 -90
  245. package/dist/tab-trap/tab-trap.js +157 -122
  246. package/dist/table/cell.js +28 -14
  247. package/dist/table/disable-hover-hoc.js +53 -33
  248. package/dist/table/header-cell.js +87 -64
  249. package/dist/table/header.js +126 -98
  250. package/dist/table/multitable.js +127 -107
  251. package/dist/table/row-with-focus-sensor.js +73 -25
  252. package/dist/table/row.js +208 -170
  253. package/dist/table/selection-adapter.js +3 -1
  254. package/dist/table/selection-shortcuts-hoc.js +184 -181
  255. package/dist/table/selection.js +228 -156
  256. package/dist/table/smart-table.js +93 -51
  257. package/dist/table/table.js +348 -281
  258. package/dist/table-legacy-ng/table-legacy-ng.js +117 -102
  259. package/dist/table-legacy-ng/table-legacy-ng__pager.js +42 -10
  260. package/dist/table-legacy-ng/table-legacy-ng__selection-navigate-actions.js +92 -69
  261. package/dist/table-legacy-ng/table-legacy-ng__selection.js +169 -119
  262. package/dist/table-legacy-ng/table-legacy-ng__toolbar.js +36 -21
  263. package/dist/table-ng/smart-table-ng.js +31 -1
  264. package/dist/table-ng/table-ng.js +31 -1
  265. package/dist/tabs/collapsible-more.js +87 -50
  266. package/dist/tabs/collapsible-tab.js +45 -38
  267. package/dist/tabs/collapsible-tabs.js +161 -94
  268. package/dist/tabs/custom-item.js +2 -4
  269. package/dist/tabs/dumb-tabs.js +122 -75
  270. package/dist/tabs/smart-tabs.js +75 -29
  271. package/dist/tabs/tab-link.js +29 -19
  272. package/dist/tabs/tab.js +33 -19
  273. package/dist/tabs/tabs.js +35 -0
  274. package/dist/tabs-ng/tabs-ng.js +38 -24
  275. package/dist/tabs-ng/tabs-ng__template.js +1 -38
  276. package/dist/tag/tag.js +170 -133
  277. package/dist/tags-input/tags-input.js +428 -327
  278. package/dist/tags-input-ng/tags-input-ng.js +37 -1
  279. package/dist/tags-list/tags-list.js +80 -56
  280. package/dist/template-ng/template-ng.js +50 -39
  281. package/dist/text/text.js +38 -28
  282. package/dist/title-ng/title-ng.js +28 -23
  283. package/dist/toggle/toggle.js +72 -56
  284. package/dist/toggle-ng/toggle-ng.js +14 -1
  285. package/dist/tooltip/tooltip.js +192 -146
  286. package/dist/tooltip-ng/tooltip-ng.js +51 -25
  287. package/dist/user-agreement/service.js +374 -227
  288. package/dist/user-agreement/toolbox.eula.js +1 -160
  289. package/dist/user-agreement/user-agreement.js +128 -86
  290. package/dist/user-card/card.js +32 -0
  291. package/dist/user-card/smart-user-card-tooltip.js +116 -51
  292. package/dist/user-card/tooltip.js +90 -48
  293. package/dist/user-card/user-card.js +32 -0
  294. package/dist/user-card-ng/user-card-ng.js +34 -2
  295. package/package.json +2 -2
@@ -1,10 +1,21 @@
1
+ import { _ as _createClass, b as _classCallCheck, c as _defineProperty, e as _asyncToGenerator, f as _regeneratorRuntime } from '../_helpers/_rollupPluginBabelHelpers.js';
2
+ import 'core-js/modules/es.object.to-string.js';
3
+ import 'core-js/modules/es.promise.js';
4
+ import 'core-js/modules/es.array.iterator.js';
5
+ import 'core-js/modules/es.string.iterator.js';
6
+ import 'core-js/modules/web.dom-collections.iterator.js';
1
7
  import alertService from '../alert-service/alert-service.js';
2
- import '../_helpers/_rollupPluginBabelHelpers.js';
8
+ import 'core-js/modules/es.array.map.js';
9
+ import 'core-js/modules/es.array.filter.js';
10
+ import 'core-js/modules/es.array.concat.js';
3
11
  import 'react';
4
12
  import '../global/react-render-adapter.js';
13
+ import 'core-js/modules/es.weak-map.js';
5
14
  import 'react-dom';
6
15
  import '../global/get-uid.js';
16
+ import 'core-js/modules/es.regexp.to-string.js';
7
17
  import '../alert/alert.js';
18
+ import 'core-js/modules/es.object.values.js';
8
19
  import 'classnames';
9
20
  import 'prop-types';
10
21
  import '@jetbrains/icons/exception';
@@ -16,11 +27,22 @@ import 'util-deprecate';
16
27
  import '../icon/icon__constants.js';
17
28
  import '../_helpers/icon.js';
18
29
  import '../icon/icon__svg.js';
30
+ import 'core-js/modules/es.regexp.exec.js';
31
+ import 'core-js/modules/es.string.replace.js';
32
+ import 'core-js/modules/es.string.starts-with.js';
19
33
  import '../global/memoize.js';
34
+ import 'core-js/modules/es.map.js';
20
35
  import '../loader-inline/loader-inline.js';
21
36
  import '../global/data-tests.js';
37
+ import 'core-js/modules/es.array.reduce.js';
38
+ import 'core-js/modules/es.object.entries.js';
22
39
  import '../_helpers/loader-inline.js';
23
40
  import '../global/dom.js';
41
+ import 'core-js/modules/es.object.assign.js';
42
+ import 'core-js/modules/web.dom-collections.for-each.js';
43
+ import 'core-js/modules/es.string.split.js';
44
+ import 'core-js/modules/es.object.keys.js';
45
+ import 'core-js/modules/es.set.js';
24
46
  import '../button/button.js';
25
47
  import '@jetbrains/icons/chevron-10px';
26
48
  import '../link/clickableLink.js';
@@ -32,11 +54,18 @@ import '../popup/popup.js';
32
54
  import '../global/schedule-raf.js';
33
55
  import '../shortcuts/shortcuts.js';
34
56
  import '../shortcuts/core.js';
57
+ import 'core-js/modules/es.array.includes.js';
58
+ import 'core-js/modules/es.string.includes.js';
59
+ import 'core-js/modules/es.array.slice.js';
60
+ import 'core-js/modules/es.array.splice.js';
61
+ import 'core-js/modules/es.string.match.js';
62
+ import 'core-js/modules/es.array.find-index.js';
35
63
  import 'combokeys';
36
64
  import '../global/sniffer.js';
37
65
  import 'sniffr';
38
66
  import '../tab-trap/tab-trap.js';
39
67
  import '../popup/position.js';
68
+ import 'core-js/modules/es.array.sort.js';
40
69
  import '../popup/popup.consts.js';
41
70
  import '../alert/container.js';
42
71
 
@@ -45,111 +74,148 @@ import '../alert/container.js';
45
74
  * @param {{type: string}} config Set to "session" to use sessionStorage
46
75
  * @constructor
47
76
  */
48
- class LocalStorage {
49
- static async safePromise(resolver) {
50
- try {
51
- return await new Promise(resolver);
52
- } catch (e) {
53
- if (e instanceof Error && e.name === 'NS_ERROR_FILE_CORRUPTED') {
54
- alertService.error('Sorry, it looks like your browser storage is corrupted. ' + 'Please clear your storage by going to Tools -> Clear Recent History -> Cookies' + ' and setting time range to "Everything". This will remove the corrupted browser storage across all sites.');
55
- }
56
- throw e;
57
- }
58
- }
59
- storageType;
60
- constructor() {
61
- let config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
77
+ var LocalStorage = /*#__PURE__*/function () {
78
+ function LocalStorage() {
79
+ var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
80
+ _classCallCheck(this, LocalStorage);
81
+ _defineProperty(this, "storageType", void 0);
62
82
  this.storageType = config.type === 'session' ? 'sessionStorage' : 'localStorage';
63
83
  }
64
84
  /**
65
85
  * @param {string} name
66
86
  * @return {Promise}
67
87
  */
68
- get(name) {
69
- return LocalStorage.safePromise(resolve => {
70
- const value = window[this.storageType].getItem(name);
71
- if (value != null) {
72
- try {
73
- resolve(JSON.parse(value));
74
- } catch (e) {
88
+ _createClass(LocalStorage, [{
89
+ key: "get",
90
+ value: function get(name) {
91
+ var _this = this;
92
+ return LocalStorage.safePromise(function (resolve) {
93
+ var value = window[_this.storageType].getItem(name);
94
+ if (value != null) {
95
+ try {
96
+ resolve(JSON.parse(value));
97
+ } catch (e) {
98
+ resolve(value);
99
+ }
100
+ } else {
75
101
  resolve(value);
76
102
  }
77
- } else {
103
+ });
104
+ }
105
+ /**
106
+ * @param {string} name
107
+ * @param {object} value
108
+ * @return {Promise}
109
+ */
110
+ }, {
111
+ key: "set",
112
+ value: function set(name, value) {
113
+ var _this2 = this;
114
+ return LocalStorage.safePromise(function (resolve) {
115
+ window[_this2.storageType].setItem(name, JSON.stringify(value));
78
116
  resolve(value);
79
- }
80
- });
81
- }
82
- /**
83
- * @param {string} name
84
- * @param {object} value
85
- * @return {Promise}
86
- */
87
- set(name, value) {
88
- return LocalStorage.safePromise(resolve => {
89
- window[this.storageType].setItem(name, JSON.stringify(value));
90
- resolve(value);
91
- });
92
- }
93
- /**
94
- * @param {string} name
95
- * @return {Promise}
96
- */
97
- remove(name) {
98
- const storageType = this.storageType;
99
- return LocalStorage.safePromise(resolve => {
100
- if (window[storageType].hasOwnProperty(name)) {
101
- window[storageType].removeItem(name);
102
- }
103
- resolve();
104
- });
105
- }
106
- /**
107
- * @param callback
108
- * @return {Promise}s
109
- */
110
- each(callback) {
111
- const storageType = this.storageType;
112
- return LocalStorage.safePromise(resolve => {
113
- const promises = [];
114
- for (const item in window[storageType]) {
115
- if (window[storageType].hasOwnProperty(item)) {
116
- const value = window[storageType].getItem(item);
117
- let resolvedValue = null;
118
- if (value != null) {
119
- try {
120
- resolvedValue = JSON.parse(value);
121
- } catch (e) {
122
- resolvedValue = value;
117
+ });
118
+ }
119
+ /**
120
+ * @param {string} name
121
+ * @return {Promise}
122
+ */
123
+ }, {
124
+ key: "remove",
125
+ value: function remove(name) {
126
+ var storageType = this.storageType;
127
+ return LocalStorage.safePromise(function (resolve) {
128
+ if (window[storageType].hasOwnProperty(name)) {
129
+ window[storageType].removeItem(name);
130
+ }
131
+ resolve();
132
+ });
133
+ }
134
+ /**
135
+ * @param callback
136
+ * @return {Promise}s
137
+ */
138
+ }, {
139
+ key: "each",
140
+ value: function each(callback) {
141
+ var storageType = this.storageType;
142
+ return LocalStorage.safePromise(function (resolve) {
143
+ var promises = [];
144
+ for (var item in window[storageType]) {
145
+ if (window[storageType].hasOwnProperty(item)) {
146
+ var value = window[storageType].getItem(item);
147
+ var resolvedValue = null;
148
+ if (value != null) {
149
+ try {
150
+ resolvedValue = JSON.parse(value);
151
+ } catch (e) {
152
+ resolvedValue = value;
153
+ }
123
154
  }
155
+ promises.push(Promise.resolve(callback(item, resolvedValue)));
124
156
  }
125
- promises.push(Promise.resolve(callback(item, resolvedValue)));
126
157
  }
127
- }
128
- resolve(Promise.all(promises));
129
- });
130
- }
131
- /**
132
- * @param {string} name
133
- * @param {Function} callback
134
- * @return {Function}
135
- */
136
- on(name, callback) {
137
- function handleStorage(e) {
138
- if (e.key === name) {
139
- if (e.newValue != null) {
140
- try {
141
- callback(JSON.parse(e.newValue));
142
- } catch (err) {
158
+ resolve(Promise.all(promises));
159
+ });
160
+ }
161
+ /**
162
+ * @param {string} name
163
+ * @param {Function} callback
164
+ * @return {Function}
165
+ */
166
+ }, {
167
+ key: "on",
168
+ value: function on(name, callback) {
169
+ function handleStorage(e) {
170
+ if (e.key === name) {
171
+ if (e.newValue != null) {
172
+ try {
173
+ callback(JSON.parse(e.newValue));
174
+ } catch (err) {
175
+ callback(e.newValue);
176
+ }
177
+ } else {
143
178
  callback(e.newValue);
144
179
  }
145
- } else {
146
- callback(e.newValue);
147
180
  }
148
181
  }
182
+ window.addEventListener('storage', handleStorage, false);
183
+ return function () {
184
+ return window.removeEventListener('storage', handleStorage, false);
185
+ };
149
186
  }
150
- window.addEventListener('storage', handleStorage, false);
151
- return () => window.removeEventListener('storage', handleStorage, false);
152
- }
153
- }
187
+ }], [{
188
+ key: "safePromise",
189
+ value: function () {
190
+ var _safePromise = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(resolver) {
191
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
192
+ while (1) switch (_context.prev = _context.next) {
193
+ case 0:
194
+ _context.prev = 0;
195
+ _context.next = 3;
196
+ return new Promise(resolver);
197
+ case 3:
198
+ return _context.abrupt("return", _context.sent);
199
+ case 6:
200
+ _context.prev = 6;
201
+ _context.t0 = _context["catch"](0);
202
+ if (_context.t0 instanceof Error && _context.t0.name === 'NS_ERROR_FILE_CORRUPTED') {
203
+ alertService.error('Sorry, it looks like your browser storage is corrupted. ' + 'Please clear your storage by going to Tools -> Clear Recent History -> Cookies' + ' and setting time range to "Everything". This will remove the corrupted browser storage across all sites.');
204
+ }
205
+ throw _context.t0;
206
+ case 10:
207
+ case "end":
208
+ return _context.stop();
209
+ }
210
+ }, _callee, null, [[0, 6]]);
211
+ }));
212
+ function safePromise(_x) {
213
+ return _safePromise.apply(this, arguments);
214
+ }
215
+ return safePromise;
216
+ }()
217
+ }]);
218
+ return LocalStorage;
219
+ }();
154
220
 
155
221
  export { LocalStorage as default };
@@ -1,147 +1,182 @@
1
- import { _ as _extends } from '../_helpers/_rollupPluginBabelHelpers.js';
1
+ import { c as _defineProperty, j as _inherits, k as _createSuper, b as _classCallCheck, m as _assertThisInitialized, g as _toConsumableArray, _ as _createClass, h as _objectWithoutProperties, i as _extends } from '../_helpers/_rollupPluginBabelHelpers.js';
2
+ import 'core-js/modules/es.array.concat.js';
3
+ import 'core-js/modules/es.array.filter.js';
4
+ import 'core-js/modules/es.object.to-string.js';
2
5
  import React, { Component } from 'react';
3
6
  import PropTypes from 'prop-types';
4
7
  import { isNodeInVisiblePartOfPage } from '../global/dom.js';
8
+ import 'core-js/modules/es.object.assign.js';
9
+ import 'core-js/modules/web.dom-collections.for-each.js';
10
+ import 'core-js/modules/es.regexp.exec.js';
11
+ import 'core-js/modules/es.string.split.js';
12
+ import 'core-js/modules/es.object.entries.js';
13
+ import 'core-js/modules/es.object.keys.js';
14
+ import 'core-js/modules/es.array.iterator.js';
15
+ import 'core-js/modules/es.set.js';
16
+ import 'core-js/modules/es.string.iterator.js';
17
+ import 'core-js/modules/web.dom-collections.iterator.js';
5
18
 
6
19
  var modules_6dce58ae = {"light":"light_rui_2ac4","trapButton":"trapButton_rui_3588"};
7
20
 
8
- const FOCUSABLE_ELEMENTS = 'input, button, select, textarea, a[href], *[tabindex]:not([data-trap-button]):not([data-scrollable-container])';
21
+ var _excluded = ["children", "trapDisabled", "autoFocusFirst", "focusBackOnClose", "focusBackOnExit"];
22
+ var FOCUSABLE_ELEMENTS = 'input, button, select, textarea, a[href], *[tabindex]:not([data-trap-button]):not([data-scrollable-container])';
9
23
  /**
10
24
  * @name TabTrap
11
25
  */
12
- class TabTrap extends Component {
13
- static propTypes = {
14
- children: PropTypes.node.isRequired,
15
- trapDisabled: PropTypes.bool,
16
- autoFocusFirst: PropTypes.bool,
17
- focusBackOnClose: PropTypes.bool,
18
- focusBackOnExit: PropTypes.bool
19
- };
20
- static defaultProps = {
21
- trapDisabled: false,
22
- autoFocusFirst: true,
23
- focusBackOnClose: true,
24
- focusBackOnExit: false
25
- };
26
- componentDidMount() {
27
- this.previousFocusedNode = document.activeElement;
28
- if (this.props.autoFocusFirst) {
29
- this.focusFirst();
30
- } else if (!this.props.trapDisabled && (!this.node || !this.node.contains(this.previousFocusedNode))) {
31
- this.trapWithoutFocus = true;
32
- this.trapButtonNode?.focus();
26
+ var TabTrap = /*#__PURE__*/function (_Component) {
27
+ _inherits(TabTrap, _Component);
28
+ var _super = _createSuper(TabTrap);
29
+ function TabTrap() {
30
+ var _this;
31
+ _classCallCheck(this, TabTrap);
32
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
33
+ args[_key] = arguments[_key];
33
34
  }
34
- }
35
- componentWillUnmount() {
36
- if (this.props.focusBackOnClose) {
37
- this.restoreFocus();
38
- }
39
- }
40
- previousFocusedNode;
41
- trapWithoutFocus;
42
- restoreFocus = () => {
43
- const {
44
- previousFocusedNode
45
- } = this;
46
- if (previousFocusedNode instanceof HTMLElement && previousFocusedNode.focus && isNodeInVisiblePartOfPage(previousFocusedNode)) {
47
- previousFocusedNode.focus({
48
- preventScroll: true
49
- });
50
- }
51
- };
52
- node;
53
- containerRef = node => {
54
- if (!node) {
55
- return;
56
- }
57
- this.node = node;
58
- };
59
- focusElement = (() => {
60
- var _this = this;
61
- return function () {
62
- let first = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
63
- const {
64
- node
65
- } = _this;
35
+ _this = _super.call.apply(_super, [this].concat(args));
36
+ _defineProperty(_assertThisInitialized(_this), "previousFocusedNode", void 0);
37
+ _defineProperty(_assertThisInitialized(_this), "trapWithoutFocus", void 0);
38
+ _defineProperty(_assertThisInitialized(_this), "restoreFocus", function () {
39
+ var _assertThisInitialize = _assertThisInitialized(_this),
40
+ previousFocusedNode = _assertThisInitialize.previousFocusedNode;
41
+ if (previousFocusedNode instanceof HTMLElement && previousFocusedNode.focus && isNodeInVisiblePartOfPage(previousFocusedNode)) {
42
+ previousFocusedNode.focus({
43
+ preventScroll: true
44
+ });
45
+ }
46
+ });
47
+ _defineProperty(_assertThisInitialized(_this), "node", void 0);
48
+ _defineProperty(_assertThisInitialized(_this), "containerRef", function (node) {
49
+ if (!node) {
50
+ return;
51
+ }
52
+ _this.node = node;
53
+ });
54
+ _defineProperty(_assertThisInitialized(_this), "focusElement", function () {
55
+ var first = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
56
+ var _assertThisInitialize2 = _assertThisInitialized(_this),
57
+ node = _assertThisInitialize2.node;
66
58
  if (!node) {
67
59
  return;
68
60
  }
69
- const tabables = [...node.querySelectorAll(FOCUSABLE_ELEMENTS)].filter(item => item.tabIndex >= 0);
70
- const toBeFocused = first ? tabables[0] : tabables[tabables.length - 1];
61
+ var tabables = _toConsumableArray(node.querySelectorAll(FOCUSABLE_ELEMENTS)).filter(function (item) {
62
+ return item.tabIndex >= 0;
63
+ });
64
+ var toBeFocused = first ? tabables[0] : tabables[tabables.length - 1];
71
65
  if (toBeFocused) {
72
66
  toBeFocused.focus();
73
67
  }
74
- };
75
- })();
76
- focusFirst = () => this.focusElement(true);
77
- focusLast = () => this.focusElement(false);
78
- focusLastIfEnabled = event => {
79
- if (this.trapWithoutFocus) {
80
- return;
68
+ });
69
+ _defineProperty(_assertThisInitialized(_this), "focusFirst", function () {
70
+ return _this.focusElement(true);
71
+ });
72
+ _defineProperty(_assertThisInitialized(_this), "focusLast", function () {
73
+ return _this.focusElement(false);
74
+ });
75
+ _defineProperty(_assertThisInitialized(_this), "focusLastIfEnabled", function (event) {
76
+ if (_this.trapWithoutFocus) {
77
+ return;
78
+ }
79
+ if (_this.props.focusBackOnExit) {
80
+ var prevFocused = event.nativeEvent.relatedTarget;
81
+ if (prevFocused != null && _this.node != null && prevFocused instanceof Element && _this.node.contains(prevFocused)) {
82
+ _this.restoreFocus();
83
+ }
84
+ } else {
85
+ _this.focusLast();
86
+ }
87
+ });
88
+ _defineProperty(_assertThisInitialized(_this), "handleBlurIfWithoutFocus", function (event) {
89
+ var _this$node;
90
+ if (!_this.trapWithoutFocus) {
91
+ return;
92
+ }
93
+ _this.trapWithoutFocus = false;
94
+ var newFocused = event.nativeEvent.relatedTarget;
95
+ if (!newFocused) {
96
+ return;
97
+ }
98
+ if (newFocused instanceof Element && (_this$node = _this.node) !== null && _this$node !== void 0 && _this$node.contains(newFocused)) {
99
+ return;
100
+ }
101
+ _this.focusLast();
102
+ });
103
+ _defineProperty(_assertThisInitialized(_this), "trapButtonNode", void 0);
104
+ _defineProperty(_assertThisInitialized(_this), "trapButtonRef", function (node) {
105
+ if (!node) {
106
+ return;
107
+ }
108
+ _this.trapButtonNode = node;
109
+ });
110
+ return _this;
111
+ }
112
+ _createClass(TabTrap, [{
113
+ key: "componentDidMount",
114
+ value: function componentDidMount() {
115
+ this.previousFocusedNode = document.activeElement;
116
+ if (this.props.autoFocusFirst) {
117
+ this.focusFirst();
118
+ } else if (!this.props.trapDisabled && (!this.node || !this.node.contains(this.previousFocusedNode))) {
119
+ var _this$trapButtonNode;
120
+ this.trapWithoutFocus = true;
121
+ (_this$trapButtonNode = this.trapButtonNode) === null || _this$trapButtonNode === void 0 ? void 0 : _this$trapButtonNode.focus();
122
+ }
81
123
  }
82
- if (this.props.focusBackOnExit) {
83
- const prevFocused = event.nativeEvent.relatedTarget;
84
- if (prevFocused != null && this.node != null && prevFocused instanceof Element && this.node.contains(prevFocused)) {
124
+ }, {
125
+ key: "componentWillUnmount",
126
+ value: function componentWillUnmount() {
127
+ if (this.props.focusBackOnClose) {
85
128
  this.restoreFocus();
86
129
  }
87
- } else {
88
- this.focusLast();
89
- }
90
- };
91
- handleBlurIfWithoutFocus = event => {
92
- if (!this.trapWithoutFocus) {
93
- return;
94
- }
95
- this.trapWithoutFocus = false;
96
- const newFocused = event.nativeEvent.relatedTarget;
97
- if (!newFocused) {
98
- return;
99
- }
100
- if (newFocused instanceof Element && this.node?.contains(newFocused)) {
101
- return;
102
130
  }
103
- this.focusLast();
104
- };
105
- trapButtonNode;
106
- trapButtonRef = node => {
107
- if (!node) {
108
- return;
109
- }
110
- this.trapButtonNode = node;
111
- };
112
- render() {
113
- const {
114
- children,
115
- trapDisabled,
116
- autoFocusFirst,
117
- focusBackOnClose,
118
- focusBackOnExit,
119
- ...restProps
120
- } = this.props;
121
- if (trapDisabled) {
131
+ }, {
132
+ key: "render",
133
+ value: function render() {
134
+ var _this$props = this.props,
135
+ children = _this$props.children,
136
+ trapDisabled = _this$props.trapDisabled;
137
+ _this$props.autoFocusFirst;
138
+ _this$props.focusBackOnClose;
139
+ var focusBackOnExit = _this$props.focusBackOnExit,
140
+ restProps = _objectWithoutProperties(_this$props, _excluded);
141
+ if (trapDisabled) {
142
+ return /*#__PURE__*/React.createElement("div", _extends({
143
+ ref: this.containerRef
144
+ }, restProps), children);
145
+ }
122
146
  return /*#__PURE__*/React.createElement("div", _extends({
123
147
  ref: this.containerRef
124
- }, restProps), children);
148
+ }, restProps), /*#__PURE__*/React.createElement("div", {
149
+ // It never actually stays focused
150
+ // eslint-disable-next-line jsx-a11y/no-noninteractive-tabindex
151
+ tabIndex: 0,
152
+ ref: this.trapButtonRef,
153
+ className: modules_6dce58ae.trapButton,
154
+ onFocus: this.focusLastIfEnabled,
155
+ onBlur: this.handleBlurIfWithoutFocus,
156
+ "data-trap-button": true
157
+ }), children, /*#__PURE__*/React.createElement("div", {
158
+ // It never actually stays focused
159
+ // eslint-disable-next-line jsx-a11y/no-noninteractive-tabindex
160
+ tabIndex: 0,
161
+ onFocus: focusBackOnExit ? this.restoreFocus : this.focusFirst,
162
+ "data-trap-button": true
163
+ }));
125
164
  }
126
- return /*#__PURE__*/React.createElement("div", _extends({
127
- ref: this.containerRef
128
- }, restProps), /*#__PURE__*/React.createElement("div", {
129
- // It never actually stays focused
130
- // eslint-disable-next-line jsx-a11y/no-noninteractive-tabindex
131
- tabIndex: 0,
132
- ref: this.trapButtonRef,
133
- className: modules_6dce58ae.trapButton,
134
- onFocus: this.focusLastIfEnabled,
135
- onBlur: this.handleBlurIfWithoutFocus,
136
- "data-trap-button": true
137
- }), children, /*#__PURE__*/React.createElement("div", {
138
- // It never actually stays focused
139
- // eslint-disable-next-line jsx-a11y/no-noninteractive-tabindex
140
- tabIndex: 0,
141
- onFocus: focusBackOnExit ? this.restoreFocus : this.focusFirst,
142
- "data-trap-button": true
143
- }));
144
- }
145
- }
165
+ }]);
166
+ return TabTrap;
167
+ }(Component);
168
+ _defineProperty(TabTrap, "propTypes", {
169
+ children: PropTypes.node.isRequired,
170
+ trapDisabled: PropTypes.bool,
171
+ autoFocusFirst: PropTypes.bool,
172
+ focusBackOnClose: PropTypes.bool,
173
+ focusBackOnExit: PropTypes.bool
174
+ });
175
+ _defineProperty(TabTrap, "defaultProps", {
176
+ trapDisabled: false,
177
+ autoFocusFirst: true,
178
+ focusBackOnClose: true,
179
+ focusBackOnExit: false
180
+ });
146
181
 
147
182
  export { FOCUSABLE_ELEMENTS, TabTrap as default };
@@ -1,23 +1,37 @@
1
- import { _ as _extends } from '../_helpers/_rollupPluginBabelHelpers.js';
1
+ import { c as _defineProperty, j as _inherits, k as _createSuper, b as _classCallCheck, _ as _createClass, i as _extends } from '../_helpers/_rollupPluginBabelHelpers.js';
2
2
  import React, { PureComponent } from 'react';
3
3
  import PropTypes from 'prop-types';
4
4
  import classNames from 'classnames';
5
5
  import joinDataTestAttributes from '../global/data-tests.js';
6
6
  import { m as modules_1db4bbca } from '../_helpers/table.js';
7
+ import 'core-js/modules/es.array.reduce.js';
8
+ import 'core-js/modules/es.object.to-string.js';
9
+ import 'core-js/modules/es.object.entries.js';
10
+ import 'core-js/modules/es.array.concat.js';
7
11
 
8
- class Cell extends PureComponent {
9
- static propTypes = {
10
- children: PropTypes.any,
11
- className: PropTypes.string,
12
- 'data-test': PropTypes.string
13
- };
14
- render() {
15
- const classes = classNames(modules_1db4bbca.cell, this.props.className);
16
- return /*#__PURE__*/React.createElement("td", _extends({}, this.props, {
17
- className: classes,
18
- "data-test": joinDataTestAttributes('ring-table-cell', this.props['data-test'])
19
- }), this.props.children);
12
+ var Cell = /*#__PURE__*/function (_PureComponent) {
13
+ _inherits(Cell, _PureComponent);
14
+ var _super = _createSuper(Cell);
15
+ function Cell() {
16
+ _classCallCheck(this, Cell);
17
+ return _super.apply(this, arguments);
20
18
  }
21
- }
19
+ _createClass(Cell, [{
20
+ key: "render",
21
+ value: function render() {
22
+ var classes = classNames(modules_1db4bbca.cell, this.props.className);
23
+ return /*#__PURE__*/React.createElement("td", _extends({}, this.props, {
24
+ className: classes,
25
+ "data-test": joinDataTestAttributes('ring-table-cell', this.props['data-test'])
26
+ }), this.props.children);
27
+ }
28
+ }]);
29
+ return Cell;
30
+ }(PureComponent);
31
+ _defineProperty(Cell, "propTypes", {
32
+ children: PropTypes.any,
33
+ className: PropTypes.string,
34
+ 'data-test': PropTypes.string
35
+ });
22
36
 
23
37
  export { Cell as default };