@jetbrains/ring-ui-built 6.0.31 → 6.0.32

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 (225) hide show
  1. package/components/_helpers/_rollupPluginBabelHelpers.js +1 -567
  2. package/components/_helpers/anchor.js +7 -6
  3. package/components/_helpers/button__classes.js +16 -14
  4. package/components/_helpers/caption.js +14 -20
  5. package/components/_helpers/card.js +95 -105
  6. package/components/_helpers/dialog__body-scroll-preventer.js +11 -19
  7. package/components/_helpers/icon__svg.js +22 -25
  8. package/components/_helpers/input.js +146 -177
  9. package/components/_helpers/query-assist__suggestions.js +74 -90
  10. package/components/_helpers/select__filter.js +48 -69
  11. package/components/_helpers/services-link.js +29 -37
  12. package/components/_helpers/sidebar.js +99 -107
  13. package/components/_helpers/tab-link.js +7 -7
  14. package/components/_helpers/theme.js +31 -40
  15. package/components/_helpers/title.js +57 -72
  16. package/components/alert/alert.js +150 -202
  17. package/components/alert/container.js +32 -41
  18. package/components/alert-service/alert-service.js +105 -170
  19. package/components/analytics/analytics.js +12 -22
  20. package/components/analytics/analytics__custom-plugin.js +54 -75
  21. package/components/auth/auth.js +4 -36
  22. package/components/auth/auth__core.js +746 -1471
  23. package/components/auth/background-flow.js +87 -127
  24. package/components/auth/down-notification.js +30 -73
  25. package/components/auth/iframe-flow.js +75 -133
  26. package/components/auth/request-builder.js +46 -82
  27. package/components/auth/response-parser.js +86 -116
  28. package/components/auth/storage.js +171 -334
  29. package/components/auth/token-validator.js +137 -242
  30. package/components/auth/window-flow.js +92 -134
  31. package/components/auth-dialog/auth-dialog.js +114 -172
  32. package/components/auth-dialog-service/auth-dialog-service.js +8 -31
  33. package/components/avatar/avatar-example-datauri.js +23 -1
  34. package/components/avatar/avatar.js +119 -152
  35. package/components/avatar/fallback-avatar.js +22 -38
  36. package/components/badge/badge.js +35 -45
  37. package/components/button/button.js +86 -107
  38. package/components/button-group/button-group.js +19 -33
  39. package/components/button-set/button-set.js +20 -32
  40. package/components/button-toolbar/button-toolbar.js +19 -31
  41. package/components/caret/caret.js +186 -220
  42. package/components/checkbox/checkbox.js +76 -101
  43. package/components/clipboard/clipboard-fallback.js +10 -10
  44. package/components/clipboard/clipboard.js +35 -132
  45. package/components/code/code.js +92 -166
  46. package/components/collapse/collapse-content.js +42 -64
  47. package/components/collapse/collapse-context.js +2 -2
  48. package/components/collapse/collapse-control.js +12 -14
  49. package/components/collapse/collapse.js +11 -17
  50. package/components/collapse/consts.js +4 -4
  51. package/components/collapse/utils.js +1 -3
  52. package/components/confirm/confirm.js +66 -104
  53. package/components/confirm-service/confirm-service.js +37 -59
  54. package/components/content-layout/content-layout.js +43 -64
  55. package/components/content-layout/sidebar.js +0 -1
  56. package/components/contenteditable/contenteditable.js +50 -59
  57. package/components/control-label/control-label.js +9 -9
  58. package/components/data-list/data-list.js +129 -182
  59. package/components/data-list/data-list.mock.js +2 -6
  60. package/components/data-list/item.js +143 -170
  61. package/components/data-list/selection.js +76 -136
  62. package/components/data-list/title.js +1 -12
  63. package/components/date-picker/consts.js +19 -26
  64. package/components/date-picker/date-input.js +113 -144
  65. package/components/date-picker/date-picker.js +227 -282
  66. package/components/date-picker/date-popup.js +350 -395
  67. package/components/date-picker/day.js +87 -116
  68. package/components/date-picker/month-names.js +43 -66
  69. package/components/date-picker/month-slider.js +51 -76
  70. package/components/date-picker/month.js +16 -25
  71. package/components/date-picker/months.js +43 -50
  72. package/components/date-picker/weekdays.js +12 -22
  73. package/components/date-picker/years.js +83 -110
  74. package/components/dialog/dialog.js +142 -190
  75. package/components/dialog/dialog__body-scroll-preventer.js +0 -4
  76. package/components/dropdown/anchor.js +0 -9
  77. package/components/dropdown/dropdown.js +182 -213
  78. package/components/dropdown-menu/dropdown-menu.js +71 -97
  79. package/components/editable-heading/editable-heading.js +75 -127
  80. package/components/error-bubble/error-bubble.js +31 -60
  81. package/components/error-message/error-message.js +39 -59
  82. package/components/footer/footer.js +27 -30
  83. package/components/global/compose.js +1 -10
  84. package/components/global/composeRefs.js +7 -12
  85. package/components/global/controls-height.js +2 -2
  86. package/components/global/create-stateful-context.js +15 -15
  87. package/components/global/data-tests.js +6 -14
  88. package/components/global/dom.js +47 -86
  89. package/components/global/focus-sensor-hoc.js +122 -132
  90. package/components/global/fuzzy-highlight.js +22 -36
  91. package/components/global/get-event-key.js +8 -8
  92. package/components/global/get-uid.js +4 -8
  93. package/components/global/inject-styles.js +10 -15
  94. package/components/global/listeners.js +27 -51
  95. package/components/global/memoize.js +6 -12
  96. package/components/global/normalize-indent.js +19 -50
  97. package/components/global/promise-with-timeout.js +6 -8
  98. package/components/global/prop-types.js +3 -5
  99. package/components/global/react-dom-renderer.js +28 -44
  100. package/components/global/react-render-adapter.js +1 -1
  101. package/components/global/rerender-hoc.js +12 -30
  102. package/components/global/schedule-raf.js +5 -6
  103. package/components/global/sniffer.js +1 -1
  104. package/components/global/theme.js +0 -22
  105. package/components/global/trivial-template-tag.js +3 -10
  106. package/components/global/typescript-utils.js +2 -6
  107. package/components/global/url.js +20 -26
  108. package/components/global/use-event-callback.js +6 -4
  109. package/components/grid/col.js +35 -52
  110. package/components/grid/grid.js +17 -31
  111. package/components/grid/row.js +35 -47
  112. package/components/group/group.js +17 -25
  113. package/components/header/header.js +33 -78
  114. package/components/header/logo.js +20 -36
  115. package/components/header/profile.js +166 -199
  116. package/components/header/services-link.js +0 -4
  117. package/components/header/services.js +73 -116
  118. package/components/header/smart-profile.js +111 -203
  119. package/components/header/smart-services.js +62 -113
  120. package/components/header/tray-icon.js +21 -37
  121. package/components/header/tray.js +21 -32
  122. package/components/heading/heading.js +24 -25
  123. package/components/http/http.d.ts +1 -3
  124. package/components/http/http.js +203 -353
  125. package/components/http/http.mock.js +49 -101
  126. package/components/hub-source/hub-source.js +83 -190
  127. package/components/hub-source/hub-source__user.js +11 -44
  128. package/components/hub-source/hub-source__users-groups.js +37 -65
  129. package/components/i18n/i18n-context.js +7 -10
  130. package/components/i18n/i18n.js +7 -10
  131. package/components/icon/icon.js +76 -93
  132. package/components/icon/icon__svg.js +0 -8
  133. package/components/icon/index.js +0 -8
  134. package/components/input/input.js +0 -13
  135. package/components/island/adaptive-island-hoc.js +30 -43
  136. package/components/island/content.js +115 -132
  137. package/components/island/header.js +57 -70
  138. package/components/island/island.js +28 -40
  139. package/components/island-legacy/content-legacy.js +17 -25
  140. package/components/island-legacy/header-legacy.js +19 -27
  141. package/components/island-legacy/island-legacy.js +17 -25
  142. package/components/link/clickableLink.js +44 -59
  143. package/components/link/link.js +57 -68
  144. package/components/list/consts.js +2 -2
  145. package/components/list/list.js +611 -698
  146. package/components/list/list__custom.js +44 -62
  147. package/components/list/list__hint.js +10 -19
  148. package/components/list/list__item.js +133 -174
  149. package/components/list/list__link.js +37 -50
  150. package/components/list/list__separator.js +14 -24
  151. package/components/list/list__title.js +22 -32
  152. package/components/list/list__users-groups-source.js +54 -126
  153. package/components/loader/loader.js +43 -74
  154. package/components/loader/loader__core.js +198 -263
  155. package/components/loader-inline/loader-inline.js +23 -35
  156. package/components/loader-screen/loader-screen.js +25 -46
  157. package/components/login-dialog/login-dialog.js +111 -158
  158. package/components/login-dialog/service.js +8 -34
  159. package/components/markdown/markdown.js +15 -23
  160. package/components/message/message.js +161 -203
  161. package/components/old-browsers-message/old-browsers-message.js +11 -18
  162. package/components/old-browsers-message/old-browsers-message__stop.js +0 -7
  163. package/components/old-browsers-message/white-list.js +8 -16
  164. package/components/pager/pager.js +212 -271
  165. package/components/panel/panel.js +17 -25
  166. package/components/permissions/permissions.js +127 -172
  167. package/components/permissions/permissions__cache.js +194 -224
  168. package/components/popup/popup.consts.js +1 -1
  169. package/components/popup/popup.js +284 -343
  170. package/components/popup/popup.target.js +9 -8
  171. package/components/popup/position.js +96 -106
  172. package/components/popup-menu/popup-menu.js +44 -80
  173. package/components/progress-bar/progress-bar.js +87 -104
  174. package/components/query-assist/query-assist.js +838 -916
  175. package/components/query-assist/query-assist__suggestions.js +1 -30
  176. package/components/radio/radio.js +19 -34
  177. package/components/radio/radio__item.js +52 -69
  178. package/components/select/select.js +852 -957
  179. package/components/select/select__filter.js +0 -30
  180. package/components/select/select__popup.js +373 -487
  181. package/components/shortcuts/core.js +166 -217
  182. package/components/shortcuts/shortcut-title.js +6 -11
  183. package/components/shortcuts/shortcuts-hoc.js +19 -45
  184. package/components/shortcuts/shortcuts.js +50 -75
  185. package/components/slider/slider.js +99 -122
  186. package/components/slider/slider.utils.js +14 -24
  187. package/components/storage/storage.js +4 -33
  188. package/components/storage/storage__fallback.js +149 -224
  189. package/components/storage/storage__local.js +90 -153
  190. package/components/tab-trap/tab-trap.js +122 -153
  191. package/components/table/cell.js +14 -26
  192. package/components/table/disable-hover-hoc.js +33 -51
  193. package/components/table/header-cell.js +64 -89
  194. package/components/table/header.js +104 -132
  195. package/components/table/multitable.js +107 -125
  196. package/components/table/row-with-focus-sensor.js +25 -69
  197. package/components/table/row.js +175 -216
  198. package/components/table/selection-adapter.js +1 -3
  199. package/components/table/selection-shortcuts-hoc.js +180 -181
  200. package/components/table/selection.js +156 -226
  201. package/components/table/smart-table.js +50 -88
  202. package/components/table/table.js +289 -358
  203. package/components/tabs/collapsible-more.js +46 -79
  204. package/components/tabs/collapsible-tab.js +31 -38
  205. package/components/tabs/collapsible-tabs.js +88 -153
  206. package/components/tabs/custom-item.js +4 -2
  207. package/components/tabs/dumb-tabs.js +74 -117
  208. package/components/tabs/smart-tabs.js +29 -69
  209. package/components/tabs/tab-link.js +1 -5
  210. package/components/tabs/tab.js +19 -31
  211. package/components/tabs/tabs.js +0 -31
  212. package/components/tag/tag.js +133 -173
  213. package/components/tags-input/tags-input.js +329 -427
  214. package/components/tags-list/tags-list.js +57 -78
  215. package/components/text/text.js +28 -39
  216. package/components/toggle/toggle.js +56 -70
  217. package/components/tooltip/tooltip.js +146 -190
  218. package/components/user-agreement/service.js +228 -371
  219. package/components/user-agreement/toolbox.eula.js +160 -1
  220. package/components/user-agreement/user-agreement.js +85 -120
  221. package/components/user-card/card.js +0 -29
  222. package/components/user-card/smart-user-card-tooltip.js +51 -111
  223. package/components/user-card/tooltip.js +47 -84
  224. package/components/user-card/user-card.js +0 -29
  225. package/package.json +1 -1
@@ -1,18 +1,9 @@
1
- import { b as _createClass, f as _classCallCheck, _ as _defineProperty, h as _asyncToGenerator, i as _regeneratorRuntime } 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/web.dom-collections.iterator.js';
6
1
  import alertService from '../alert-service/alert-service.js';
7
- import 'core-js/modules/es.array.concat.js';
8
- import 'core-js/modules/es.array.filter.js';
9
- import 'core-js/modules/es.array.map.js';
2
+ import '../_helpers/_rollupPluginBabelHelpers.js';
10
3
  import 'react';
11
4
  import 'react-dom/client';
12
5
  import '../global/get-uid.js';
13
- import 'core-js/modules/es.regexp.to-string.js';
14
6
  import '../alert/alert.js';
15
- import 'core-js/modules/es.object.values.js';
16
7
  import 'classnames';
17
8
  import 'prop-types';
18
9
  import '@jetbrains/icons/exception';
@@ -23,21 +14,10 @@ import '../icon/icon.js';
23
14
  import 'util-deprecate';
24
15
  import '../icon/icon__constants.js';
25
16
  import '../_helpers/icon__svg.js';
26
- import 'core-js/modules/es.regexp.exec.js';
27
- import 'core-js/modules/es.string.replace.js';
28
- import 'core-js/modules/es.string.starts-with.js';
29
17
  import '../global/memoize.js';
30
- import 'core-js/modules/es.map.js';
31
- import 'core-js/modules/es.weak-map.js';
32
18
  import '../loader-inline/loader-inline.js';
33
19
  import '../global/data-tests.js';
34
- import 'core-js/modules/es.array.reduce.js';
35
- import 'core-js/modules/es.object.entries.js';
36
20
  import '../global/dom.js';
37
- import 'core-js/modules/es.object.assign.js';
38
- import 'core-js/modules/es.set.js';
39
- import 'core-js/modules/es.string.split.js';
40
- import 'core-js/modules/web.dom-collections.for-each.js';
41
21
  import '../button/button.js';
42
22
  import '@jetbrains/icons/chevron-10px';
43
23
  import '../link/clickableLink.js';
@@ -50,18 +30,11 @@ import '../popup/popup.js';
50
30
  import '../global/schedule-raf.js';
51
31
  import '../shortcuts/shortcuts.js';
52
32
  import '../shortcuts/core.js';
53
- import 'core-js/modules/es.array.find-index.js';
54
- import 'core-js/modules/es.array.includes.js';
55
- import 'core-js/modules/es.array.slice.js';
56
- import 'core-js/modules/es.array.splice.js';
57
- import 'core-js/modules/es.string.includes.js';
58
- import 'core-js/modules/es.string.match.js';
59
33
  import 'combokeys';
60
34
  import '../global/sniffer.js';
61
35
  import 'sniffr';
62
36
  import '../tab-trap/tab-trap.js';
63
37
  import '../popup/position.js';
64
- import 'core-js/modules/es.array.sort.js';
65
38
  import '../popup/popup.consts.js';
66
39
  import '../alert/container.js';
67
40
 
@@ -70,147 +43,111 @@ import '../alert/container.js';
70
43
  * @param {{type: string}} config Set to "session" to use sessionStorage
71
44
  * @constructor
72
45
  */
73
- var LocalStorage = /*#__PURE__*/function () {
74
- function LocalStorage() {
75
- var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
76
- _classCallCheck(this, LocalStorage);
77
- _defineProperty(this, "storageType", void 0);
46
+ class LocalStorage {
47
+ static async safePromise(resolver) {
48
+ try {
49
+ return await new Promise(resolver);
50
+ } catch (e) {
51
+ if (e instanceof Error && e.name === 'NS_ERROR_FILE_CORRUPTED') {
52
+ 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.');
53
+ }
54
+ throw e;
55
+ }
56
+ }
57
+ storageType;
58
+ constructor() {
59
+ let config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
78
60
  this.storageType = config.type === 'session' ? 'sessionStorage' : 'localStorage';
79
61
  }
80
62
  /**
81
63
  * @param {string} name
82
64
  * @return {Promise}
83
65
  */
84
- return _createClass(LocalStorage, [{
85
- key: "get",
86
- value: function get(name) {
87
- var _this = this;
88
- return LocalStorage.safePromise(function (resolve) {
89
- var value = window[_this.storageType].getItem(name);
90
- if (value != null) {
91
- try {
92
- resolve(JSON.parse(value));
93
- } catch (e) {
94
- resolve(value);
95
- }
96
- } else {
66
+ get(name) {
67
+ return LocalStorage.safePromise(resolve => {
68
+ const value = window[this.storageType].getItem(name);
69
+ if (value != null) {
70
+ try {
71
+ resolve(JSON.parse(value));
72
+ } catch (e) {
97
73
  resolve(value);
98
74
  }
99
- });
100
- }
101
- /**
102
- * @param {string} name
103
- * @param {object} value
104
- * @return {Promise}
105
- */
106
- }, {
107
- key: "set",
108
- value: function set(name, value) {
109
- var _this2 = this;
110
- return LocalStorage.safePromise(function (resolve) {
111
- window[_this2.storageType].setItem(name, JSON.stringify(value));
75
+ } else {
112
76
  resolve(value);
113
- });
114
- }
115
- /**
116
- * @param {string} name
117
- * @return {Promise}
118
- */
119
- }, {
120
- key: "remove",
121
- value: function remove(name) {
122
- var storageType = this.storageType;
123
- return LocalStorage.safePromise(function (resolve) {
124
- if (window[storageType].hasOwnProperty(name)) {
125
- window[storageType].removeItem(name);
126
- }
127
- resolve();
128
- });
129
- }
130
- /**
131
- * @param callback
132
- * @return {Promise}s
133
- */
134
- }, {
135
- key: "each",
136
- value: function each(callback) {
137
- var storageType = this.storageType;
138
- return LocalStorage.safePromise(function (resolve) {
139
- var promises = [];
140
- for (var item in window[storageType]) {
141
- if (window[storageType].hasOwnProperty(item)) {
142
- var value = window[storageType].getItem(item);
143
- var resolvedValue = null;
144
- if (value != null) {
145
- try {
146
- resolvedValue = JSON.parse(value);
147
- } catch (e) {
148
- resolvedValue = value;
149
- }
77
+ }
78
+ });
79
+ }
80
+ /**
81
+ * @param {string} name
82
+ * @param {object} value
83
+ * @return {Promise}
84
+ */
85
+ set(name, value) {
86
+ return LocalStorage.safePromise(resolve => {
87
+ window[this.storageType].setItem(name, JSON.stringify(value));
88
+ resolve(value);
89
+ });
90
+ }
91
+ /**
92
+ * @param {string} name
93
+ * @return {Promise}
94
+ */
95
+ remove(name) {
96
+ const storageType = this.storageType;
97
+ return LocalStorage.safePromise(resolve => {
98
+ if (window[storageType].hasOwnProperty(name)) {
99
+ window[storageType].removeItem(name);
100
+ }
101
+ resolve();
102
+ });
103
+ }
104
+ /**
105
+ * @param callback
106
+ * @return {Promise}s
107
+ */
108
+ each(callback) {
109
+ const storageType = this.storageType;
110
+ return LocalStorage.safePromise(resolve => {
111
+ const promises = [];
112
+ for (const item in window[storageType]) {
113
+ if (window[storageType].hasOwnProperty(item)) {
114
+ const value = window[storageType].getItem(item);
115
+ let resolvedValue = null;
116
+ if (value != null) {
117
+ try {
118
+ resolvedValue = JSON.parse(value);
119
+ } catch (e) {
120
+ resolvedValue = value;
150
121
  }
151
- promises.push(Promise.resolve(callback(item, resolvedValue)));
152
122
  }
123
+ promises.push(Promise.resolve(callback(item, resolvedValue)));
153
124
  }
154
- resolve(Promise.all(promises));
155
- });
156
- }
157
- /**
158
- * @param {string} name
159
- * @param {Function} callback
160
- * @return {Function}
161
- */
162
- }, {
163
- key: "on",
164
- value: function on(name, callback) {
165
- function handleStorage(e) {
166
- if (e.key === name) {
167
- if (e.newValue != null) {
168
- try {
169
- callback(JSON.parse(e.newValue));
170
- } catch (err) {
171
- callback(e.newValue);
172
- }
173
- } else {
125
+ }
126
+ resolve(Promise.all(promises));
127
+ });
128
+ }
129
+ /**
130
+ * @param {string} name
131
+ * @param {Function} callback
132
+ * @return {Function}
133
+ */
134
+ on(name, callback) {
135
+ function handleStorage(e) {
136
+ if (e.key === name) {
137
+ if (e.newValue != null) {
138
+ try {
139
+ callback(JSON.parse(e.newValue));
140
+ } catch (err) {
174
141
  callback(e.newValue);
175
142
  }
143
+ } else {
144
+ callback(e.newValue);
176
145
  }
177
146
  }
178
- window.addEventListener('storage', handleStorage, false);
179
- return function () {
180
- return window.removeEventListener('storage', handleStorage, false);
181
- };
182
147
  }
183
- }], [{
184
- key: "safePromise",
185
- value: function () {
186
- var _safePromise = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(resolver) {
187
- return _regeneratorRuntime().wrap(function _callee$(_context) {
188
- while (1) switch (_context.prev = _context.next) {
189
- case 0:
190
- _context.prev = 0;
191
- _context.next = 3;
192
- return new Promise(resolver);
193
- case 3:
194
- return _context.abrupt("return", _context.sent);
195
- case 6:
196
- _context.prev = 6;
197
- _context.t0 = _context["catch"](0);
198
- if (_context.t0 instanceof Error && _context.t0.name === 'NS_ERROR_FILE_CORRUPTED') {
199
- 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.');
200
- }
201
- throw _context.t0;
202
- case 10:
203
- case "end":
204
- return _context.stop();
205
- }
206
- }, _callee, null, [[0, 6]]);
207
- }));
208
- function safePromise(_x) {
209
- return _safePromise.apply(this, arguments);
210
- }
211
- return safePromise;
212
- }()
213
- }]);
214
- }();
148
+ window.addEventListener('storage', handleStorage, false);
149
+ return () => window.removeEventListener('storage', handleStorage, false);
150
+ }
151
+ }
215
152
 
216
153
  export { LocalStorage as default };
@@ -1,178 +1,147 @@
1
- import { _ as _defineProperty, a as _inherits, b as _createClass, c as _objectWithoutProperties, e as _extends, f as _classCallCheck, g as _callSuper, k as _toConsumableArray } 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';
1
+ import { _ as _extends } from '../_helpers/_rollupPluginBabelHelpers.js';
5
2
  import React, { Component } from 'react';
6
3
  import PropTypes from 'prop-types';
7
4
  import { isNodeInVisiblePartOfPage } from '../global/dom.js';
8
- import 'core-js/modules/es.array.iterator.js';
9
- import 'core-js/modules/es.object.assign.js';
10
- import 'core-js/modules/es.object.entries.js';
11
- import 'core-js/modules/es.regexp.exec.js';
12
- import 'core-js/modules/es.set.js';
13
- import 'core-js/modules/es.string.split.js';
14
- import 'core-js/modules/web.dom-collections.for-each.js';
15
- import 'core-js/modules/web.dom-collections.iterator.js';
16
5
 
17
6
  var modules_6dce58ae = {"light":"light_rui_2ac4","trapButton":"trapButton_rui_11f0"};
18
7
 
19
- var _excluded = ["children", "trapDisabled", "autoFocusFirst", "focusBackOnClose", "focusBackOnExit"];
20
- var FOCUSABLE_ELEMENTS = 'input, button, select, textarea, a[href], *[tabindex]:not([data-trap-button]):not([data-scrollable-container])';
8
+ const FOCUSABLE_ELEMENTS = 'input, button, select, textarea, a[href], *[tabindex]:not([data-trap-button]):not([data-scrollable-container])';
21
9
  /**
22
10
  * @name TabTrap
23
11
  */
24
- var TabTrap = /*#__PURE__*/function (_Component) {
25
- function TabTrap() {
26
- var _this;
27
- _classCallCheck(this, TabTrap);
28
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
29
- args[_key] = arguments[_key];
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();
30
33
  }
31
- _this = _callSuper(this, TabTrap, [].concat(args));
32
- _defineProperty(_this, "previousFocusedNode", void 0);
33
- _defineProperty(_this, "trapWithoutFocus", void 0);
34
- _defineProperty(_this, "restoreFocus", function () {
35
- var _this2 = _this,
36
- previousFocusedNode = _this2.previousFocusedNode;
37
- if (previousFocusedNode instanceof HTMLElement && previousFocusedNode.focus && isNodeInVisiblePartOfPage(previousFocusedNode)) {
38
- previousFocusedNode.focus({
39
- preventScroll: true
40
- });
41
- }
42
- });
43
- _defineProperty(_this, "node", void 0);
44
- _defineProperty(_this, "containerRef", function (node) {
45
- if (!node) {
46
- return;
47
- }
48
- _this.node = node;
49
- });
50
- _defineProperty(_this, "focusElement", function () {
51
- var first = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
52
- var _this3 = _this,
53
- node = _this3.node;
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;
54
66
  if (!node) {
55
67
  return;
56
68
  }
57
- var tabables = _toConsumableArray(node.querySelectorAll(FOCUSABLE_ELEMENTS)).filter(function (item) {
58
- return item.tabIndex >= 0;
59
- });
60
- var toBeFocused = first ? tabables[0] : tabables[tabables.length - 1];
69
+ const tabables = [...node.querySelectorAll(FOCUSABLE_ELEMENTS)].filter(item => item.tabIndex >= 0);
70
+ const toBeFocused = first ? tabables[0] : tabables[tabables.length - 1];
61
71
  if (toBeFocused) {
62
72
  toBeFocused.focus();
63
73
  }
64
- });
65
- _defineProperty(_this, "focusFirst", function () {
66
- return _this.focusElement(true);
67
- });
68
- _defineProperty(_this, "focusLast", function () {
69
- return _this.focusElement(false);
70
- });
71
- _defineProperty(_this, "focusLastIfEnabled", function (event) {
72
- if (_this.trapWithoutFocus) {
73
- return;
74
- }
75
- if (_this.props.focusBackOnExit) {
76
- var prevFocused = event.nativeEvent.relatedTarget;
77
- if (prevFocused != null && _this.node != null && prevFocused instanceof Element && _this.node.contains(prevFocused)) {
78
- _this.restoreFocus();
79
- }
80
- } else {
81
- _this.focusLast();
82
- }
83
- });
84
- _defineProperty(_this, "handleBlurIfWithoutFocus", function (event) {
85
- var _this$node;
86
- if (!_this.trapWithoutFocus) {
87
- return;
88
- }
89
- _this.trapWithoutFocus = false;
90
- var newFocused = event.nativeEvent.relatedTarget;
91
- if (!newFocused) {
92
- return;
93
- }
94
- if (newFocused instanceof Element && (_this$node = _this.node) !== null && _this$node !== void 0 && _this$node.contains(newFocused)) {
95
- return;
96
- }
97
- _this.focusLast();
98
- });
99
- _defineProperty(_this, "trapButtonNode", void 0);
100
- _defineProperty(_this, "trapButtonRef", function (node) {
101
- if (!node) {
102
- return;
103
- }
104
- _this.trapButtonNode = node;
105
- });
106
- return _this;
107
- }
108
- _inherits(TabTrap, _Component);
109
- return _createClass(TabTrap, [{
110
- key: "componentDidMount",
111
- value: function componentDidMount() {
112
- this.previousFocusedNode = document.activeElement;
113
- if (this.props.autoFocusFirst) {
114
- this.focusFirst();
115
- } else if (!this.props.trapDisabled && (!this.node || !this.node.contains(this.previousFocusedNode))) {
116
- var _this$trapButtonNode;
117
- this.trapWithoutFocus = true;
118
- (_this$trapButtonNode = this.trapButtonNode) === null || _this$trapButtonNode === void 0 || _this$trapButtonNode.focus();
119
- }
74
+ };
75
+ })();
76
+ focusFirst = () => this.focusElement(true);
77
+ focusLast = () => this.focusElement(false);
78
+ focusLastIfEnabled = event => {
79
+ if (this.trapWithoutFocus) {
80
+ return;
120
81
  }
121
- }, {
122
- key: "componentWillUnmount",
123
- value: function componentWillUnmount() {
124
- if (this.props.focusBackOnClose) {
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)) {
125
85
  this.restoreFocus();
126
86
  }
87
+ } else {
88
+ this.focusLast();
127
89
  }
128
- }, {
129
- key: "render",
130
- value: function render() {
131
- var _this$props = this.props,
132
- children = _this$props.children,
133
- trapDisabled = _this$props.trapDisabled;
134
- _this$props.autoFocusFirst;
135
- _this$props.focusBackOnClose;
136
- var focusBackOnExit = _this$props.focusBackOnExit,
137
- restProps = _objectWithoutProperties(_this$props, _excluded);
138
- if (trapDisabled) {
139
- return /*#__PURE__*/React.createElement("div", _extends({
140
- ref: this.containerRef
141
- }, restProps), children);
142
- }
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
+ }
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) {
143
122
  return /*#__PURE__*/React.createElement("div", _extends({
144
123
  ref: this.containerRef
145
- }, restProps), /*#__PURE__*/React.createElement("div", {
146
- // It never actually stays focused
147
- // eslint-disable-next-line jsx-a11y/no-noninteractive-tabindex
148
- tabIndex: 0,
149
- ref: this.trapButtonRef,
150
- className: modules_6dce58ae.trapButton,
151
- onFocus: this.focusLastIfEnabled,
152
- onBlur: this.handleBlurIfWithoutFocus,
153
- "data-trap-button": true
154
- }), children, /*#__PURE__*/React.createElement("div", {
155
- // It never actually stays focused
156
- // eslint-disable-next-line jsx-a11y/no-noninteractive-tabindex
157
- tabIndex: 0,
158
- onFocus: focusBackOnExit ? this.restoreFocus : this.focusFirst,
159
- "data-trap-button": true
160
- }));
124
+ }, restProps), children);
161
125
  }
162
- }]);
163
- }(Component);
164
- _defineProperty(TabTrap, "propTypes", {
165
- children: PropTypes.node.isRequired,
166
- trapDisabled: PropTypes.bool,
167
- autoFocusFirst: PropTypes.bool,
168
- focusBackOnClose: PropTypes.bool,
169
- focusBackOnExit: PropTypes.bool
170
- });
171
- _defineProperty(TabTrap, "defaultProps", {
172
- trapDisabled: false,
173
- autoFocusFirst: true,
174
- focusBackOnClose: true,
175
- focusBackOnExit: false
176
- });
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
+ }
177
146
 
178
147
  export { FOCUSABLE_ELEMENTS, TabTrap as default };
@@ -1,35 +1,23 @@
1
- import { _ as _defineProperty, a as _inherits, b as _createClass, e as _extends, f as _classCallCheck, g as _callSuper } from '../_helpers/_rollupPluginBabelHelpers.js';
1
+ import { _ 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.concat.js';
8
- import 'core-js/modules/es.array.reduce.js';
9
- import 'core-js/modules/es.object.entries.js';
10
- import 'core-js/modules/es.object.to-string.js';
11
7
 
12
- var Cell = /*#__PURE__*/function (_PureComponent) {
13
- function Cell() {
14
- _classCallCheck(this, Cell);
15
- return _callSuper(this, Cell, arguments);
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);
16
20
  }
17
- _inherits(Cell, _PureComponent);
18
- return _createClass(Cell, [{
19
- key: "render",
20
- value: function render() {
21
- var classes = classNames(modules_1db4bbca.cell, this.props.className);
22
- return /*#__PURE__*/React.createElement("td", _extends({}, this.props, {
23
- className: classes,
24
- "data-test": joinDataTestAttributes('ring-table-cell', this.props['data-test'])
25
- }), this.props.children);
26
- }
27
- }]);
28
- }(PureComponent);
29
- _defineProperty(Cell, "propTypes", {
30
- children: PropTypes.any,
31
- className: PropTypes.string,
32
- 'data-test': PropTypes.string
33
- });
21
+ }
34
22
 
35
23
  export { Cell as default };