@jetbrains/ring-ui-built 6.0.30 → 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 (226) hide show
  1. package/components/_helpers/_rollupPluginBabelHelpers.js +7 -629
  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/style.css +1 -1
  191. package/components/tab-trap/tab-trap.js +122 -153
  192. package/components/table/cell.js +14 -26
  193. package/components/table/disable-hover-hoc.js +33 -51
  194. package/components/table/header-cell.js +64 -89
  195. package/components/table/header.js +104 -132
  196. package/components/table/multitable.js +107 -125
  197. package/components/table/row-with-focus-sensor.js +25 -69
  198. package/components/table/row.js +175 -216
  199. package/components/table/selection-adapter.js +1 -3
  200. package/components/table/selection-shortcuts-hoc.js +180 -181
  201. package/components/table/selection.js +156 -226
  202. package/components/table/smart-table.js +50 -88
  203. package/components/table/table.js +289 -358
  204. package/components/tabs/collapsible-more.js +46 -79
  205. package/components/tabs/collapsible-tab.js +31 -38
  206. package/components/tabs/collapsible-tabs.js +88 -153
  207. package/components/tabs/custom-item.js +4 -2
  208. package/components/tabs/dumb-tabs.js +74 -117
  209. package/components/tabs/smart-tabs.js +29 -69
  210. package/components/tabs/tab-link.js +1 -5
  211. package/components/tabs/tab.js +19 -31
  212. package/components/tabs/tabs.js +0 -31
  213. package/components/tag/tag.js +133 -173
  214. package/components/tags-input/tags-input.js +329 -427
  215. package/components/tags-list/tags-list.js +57 -78
  216. package/components/text/text.js +28 -39
  217. package/components/toggle/toggle.js +56 -70
  218. package/components/tooltip/tooltip.js +146 -190
  219. package/components/user-agreement/service.js +228 -371
  220. package/components/user-agreement/toolbox.eula.js +160 -1
  221. package/components/user-agreement/user-agreement.js +85 -120
  222. package/components/user-card/card.js +0 -29
  223. package/components/user-card/smart-user-card-tooltip.js +51 -111
  224. package/components/user-card/tooltip.js +47 -84
  225. package/components/user-card/user-card.js +0 -29
  226. package/package.json +1 -1
@@ -1,6 +1,4 @@
1
- import { _ as _defineProperty, a as _inherits, b as _createClass, e as _extends, f as _classCallCheck, g as _callSuper } from '../_helpers/_rollupPluginBabelHelpers.js';
2
- import 'core-js/modules/es.array.concat.js';
3
- import 'core-js/modules/es.array.map.js';
1
+ import { _ as _extends } from '../_helpers/_rollupPluginBabelHelpers.js';
4
2
  import React, { PureComponent } from 'react';
5
3
  import PropTypes from 'prop-types';
6
4
  import classNames from 'classnames';
@@ -14,143 +12,117 @@ import '../icon/icon.js';
14
12
  import 'util-deprecate';
15
13
  import '../icon/icon__constants.js';
16
14
  import '../_helpers/icon__svg.js';
17
- import 'core-js/modules/es.regexp.exec.js';
18
- import 'core-js/modules/es.string.replace.js';
19
- import 'core-js/modules/es.string.starts-with.js';
20
15
  import '../global/memoize.js';
21
- import 'core-js/modules/es.array.iterator.js';
22
- import 'core-js/modules/es.map.js';
23
- import 'core-js/modules/es.object.to-string.js';
24
- import 'core-js/modules/es.weak-map.js';
25
- import 'core-js/modules/web.dom-collections.iterator.js';
26
16
  import '../global/prop-types.js';
27
17
  import '../global/composeRefs.js';
28
- import 'core-js/modules/web.dom-collections.for-each.js';
29
- import 'core-js/modules/es.regexp.to-string.js';
30
18
  import '@jetbrains/icons/unsorted-10px';
31
19
  import '@jetbrains/icons/chevron-10px';
32
20
  import '../global/data-tests.js';
33
- import 'core-js/modules/es.array.reduce.js';
34
- import 'core-js/modules/es.object.entries.js';
35
21
 
36
- var Header = /*#__PURE__*/function (_PureComponent) {
37
- function Header() {
38
- var _this;
39
- _classCallCheck(this, Header);
40
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
41
- args[_key] = arguments[_key];
42
- }
43
- _this = _callSuper(this, Header, [].concat(args));
44
- _defineProperty(_this, "id", getUID('table-header-'));
45
- _defineProperty(_this, "onCheckboxFocus", function (event) {
46
- event.currentTarget.blur();
22
+ class Header extends PureComponent {
23
+ static propTypes = {
24
+ caption: PropTypes.string,
25
+ selectable: PropTypes.bool,
26
+ draggable: PropTypes.bool,
27
+ checked: PropTypes.bool,
28
+ checkboxDisabled: PropTypes.bool,
29
+ sticky: PropTypes.bool,
30
+ topStickOffset: PropTypes.string,
31
+ onCheckboxChange: PropTypes.func,
32
+ columns: PropTypes.array.isRequired,
33
+ onSort: PropTypes.func,
34
+ sortKey: PropTypes.string,
35
+ sortOrder: PropTypes.bool
36
+ };
37
+ static defaultProps = {
38
+ selectable: true,
39
+ draggable: false,
40
+ checked: true,
41
+ sticky: true,
42
+ topStickOffset: '0px',
43
+ onSort: () => {},
44
+ onCheckboxChange: () => {},
45
+ sortKey: 'id',
46
+ sortOrder: true
47
+ };
48
+ id = getUID('table-header-');
49
+ onCheckboxFocus = event => {
50
+ event.currentTarget.blur();
51
+ };
52
+ createCells() {
53
+ let widths = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
54
+ const {
55
+ selectable,
56
+ draggable,
57
+ columns,
58
+ checked,
59
+ checkboxDisabled,
60
+ onCheckboxChange,
61
+ onSort,
62
+ sortKey,
63
+ sortOrder
64
+ } = this.props;
65
+ const metaColumnClasses = classNames(modules_1db4bbca.metaColumn, modules_1db4bbca.headerMetaColumn);
66
+ const metaColumn = /*#__PURE__*/React.createElement("div", {
67
+ className: metaColumnClasses
68
+ }, selectable && /*#__PURE__*/React.createElement(Checkbox, {
69
+ "aria-labelledby": this.id,
70
+ disabled: checkboxDisabled,
71
+ checked: checked,
72
+ onChange: onCheckboxChange,
73
+ onFocus: this.onCheckboxFocus
74
+ }));
75
+ let colSpan = 0;
76
+ return columns.map((column, index) => {
77
+ const columnStyle = widths[index] ? {
78
+ width: widths[index]
79
+ } : undefined;
80
+ const props = {
81
+ column,
82
+ onSort,
83
+ sortKey,
84
+ sortOrder,
85
+ style: columnStyle
86
+ };
87
+ colSpan += column.colSpan || 1;
88
+ if (colSpan > (this.props.maxColSpan || Infinity)) {
89
+ return null;
90
+ }
91
+ return /*#__PURE__*/React.createElement(HeaderCell, _extends({
92
+ key: column.id,
93
+ "data-test": column.id,
94
+ colSpan: column.colSpan
95
+ }, props), index === 0 && (draggable || selectable) && metaColumn);
47
96
  });
48
- return _this;
49
97
  }
50
- _inherits(Header, _PureComponent);
51
- return _createClass(Header, [{
52
- key: "createCells",
53
- value: function createCells() {
54
- var _this2 = this;
55
- var widths = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
56
- var _this$props = this.props,
57
- selectable = _this$props.selectable,
58
- draggable = _this$props.draggable,
59
- columns = _this$props.columns,
60
- checked = _this$props.checked,
61
- checkboxDisabled = _this$props.checkboxDisabled,
62
- onCheckboxChange = _this$props.onCheckboxChange,
63
- onSort = _this$props.onSort,
64
- sortKey = _this$props.sortKey,
65
- sortOrder = _this$props.sortOrder;
66
- var metaColumnClasses = classNames(modules_1db4bbca.metaColumn, modules_1db4bbca.headerMetaColumn);
67
- var metaColumn = /*#__PURE__*/React.createElement("div", {
68
- className: metaColumnClasses
69
- }, selectable && /*#__PURE__*/React.createElement(Checkbox, {
70
- "aria-labelledby": this.id,
71
- disabled: checkboxDisabled,
72
- checked: checked,
73
- onChange: onCheckboxChange,
74
- onFocus: this.onCheckboxFocus
75
- }));
76
- var colSpan = 0;
77
- return columns.map(function (column, index) {
78
- var columnStyle = widths[index] ? {
79
- width: widths[index]
80
- } : undefined;
81
- var props = {
82
- column,
83
- onSort,
84
- sortKey,
85
- sortOrder,
86
- style: columnStyle
87
- };
88
- colSpan += column.colSpan || 1;
89
- if (colSpan > (_this2.props.maxColSpan || Infinity)) {
90
- return null;
91
- }
92
- return /*#__PURE__*/React.createElement(HeaderCell, _extends({
93
- key: column.id,
94
- "data-test": column.id,
95
- colSpan: column.colSpan
96
- }, props), index === 0 && (draggable || selectable) && metaColumn);
97
- });
98
- }
99
- }, {
100
- key: "render",
101
- value: function render() {
102
- var _this$props2 = this.props,
103
- caption = _this$props2.caption,
104
- sticky = _this$props2.sticky,
105
- topStickOffset = _this$props2.topStickOffset;
106
- var regularCells = this.createCells();
107
- return /*#__PURE__*/React.createElement("thead", {
108
- id: this.id,
109
- "data-test": "ring-table-header",
110
- style: {
111
- top: topStickOffset
112
- },
113
- className: classNames({
114
- [modules_1db4bbca.tableHead]: true,
115
- [modules_1db4bbca.subHeaderSticky]: sticky
116
- })
117
- }, caption && /*#__PURE__*/React.createElement("tr", {
118
- "data-test": "ring-table-header-row"
119
- }, /*#__PURE__*/React.createElement("th", {
120
- className: classNames(modules_1db4bbca.headerCell, modules_1db4bbca.caption),
121
- colSpan: regularCells.length + 1,
122
- "data-test": "ring-table-header-cell"
123
- }, caption)), /*#__PURE__*/React.createElement("tr", {
124
- className: modules_1db4bbca.subHeader,
125
- "data-test": "ring-table-header-row"
126
- }, regularCells));
127
- }
128
- }]);
129
- }(PureComponent);
130
- _defineProperty(Header, "propTypes", {
131
- caption: PropTypes.string,
132
- selectable: PropTypes.bool,
133
- draggable: PropTypes.bool,
134
- checked: PropTypes.bool,
135
- checkboxDisabled: PropTypes.bool,
136
- sticky: PropTypes.bool,
137
- topStickOffset: PropTypes.string,
138
- onCheckboxChange: PropTypes.func,
139
- columns: PropTypes.array.isRequired,
140
- onSort: PropTypes.func,
141
- sortKey: PropTypes.string,
142
- sortOrder: PropTypes.bool
143
- });
144
- _defineProperty(Header, "defaultProps", {
145
- selectable: true,
146
- draggable: false,
147
- checked: true,
148
- sticky: true,
149
- topStickOffset: '0px',
150
- onSort: function onSort() {},
151
- onCheckboxChange: function onCheckboxChange() {},
152
- sortKey: 'id',
153
- sortOrder: true
154
- });
98
+ render() {
99
+ const {
100
+ caption,
101
+ sticky,
102
+ topStickOffset
103
+ } = this.props;
104
+ const regularCells = this.createCells();
105
+ return /*#__PURE__*/React.createElement("thead", {
106
+ id: this.id,
107
+ "data-test": "ring-table-header",
108
+ style: {
109
+ top: topStickOffset
110
+ },
111
+ className: classNames({
112
+ [modules_1db4bbca.tableHead]: true,
113
+ [modules_1db4bbca.subHeaderSticky]: sticky
114
+ })
115
+ }, caption && /*#__PURE__*/React.createElement("tr", {
116
+ "data-test": "ring-table-header-row"
117
+ }, /*#__PURE__*/React.createElement("th", {
118
+ className: classNames(modules_1db4bbca.headerCell, modules_1db4bbca.caption),
119
+ colSpan: regularCells.length + 1,
120
+ "data-test": "ring-table-header-cell"
121
+ }, caption)), /*#__PURE__*/React.createElement("tr", {
122
+ className: modules_1db4bbca.subHeader,
123
+ "data-test": "ring-table-header-row"
124
+ }, regularCells));
125
+ }
126
+ }
155
127
 
156
128
  export { Header as default };
@@ -1,138 +1,120 @@
1
- import { _ as _defineProperty, a as _inherits, b as _createClass, f as _classCallCheck, g as _callSuper } 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.array.find-index.js';
5
- import 'core-js/modules/es.array.includes.js';
6
- import 'core-js/modules/es.array.map.js';
7
- import 'core-js/modules/es.object.to-string.js';
8
- import 'core-js/modules/es.string.includes.js';
9
- import 'core-js/modules/web.dom-collections.for-each.js';
10
- import React, { Children, cloneElement, PureComponent } from 'react';
1
+ import React, { PureComponent, Children, cloneElement } from 'react';
11
2
  import PropTypes from 'prop-types';
12
3
 
13
- var MultiTable = /*#__PURE__*/function (_PureComponent) {
14
- function MultiTable() {
15
- var _this;
16
- _classCallCheck(this, MultiTable);
17
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
18
- args[_key] = arguments[_key];
4
+ class MultiTable extends PureComponent {
5
+ static propTypes = {
6
+ children: PropTypes.any.isRequired
7
+ };
8
+ componentDidUpdate(prevProps) {
9
+ if (prevProps.children) {
10
+ const prevSelections = prevProps.children.map(element => element.props.selection);
11
+ const prevFocusedIndex = prevSelections.findIndex(selection => selection.getFocused());
12
+ const prevFocused = prevSelections[prevFocusedIndex];
13
+ const currentSelections = this.props.children.map(element => element.props.selection);
14
+ const currentFocused = currentSelections.filter(selection => selection.getFocused());
15
+ if (currentFocused.includes(prevFocused)) {
16
+ prevProps.children[prevFocusedIndex].props.onSelect?.(prevFocused.resetFocus());
17
+ }
19
18
  }
20
- _this = _callSuper(this, MultiTable, [].concat(args));
21
- _defineProperty(_this, "onUpPress", function () {
22
- var tables = _this.props.children;
23
- var tableIndex = tables.findIndex(function (_ref) {
24
- var selection = _ref.props.selection;
25
- return selection.getFocused();
26
- });
27
- var currentTable = tables[tableIndex].props;
28
- var prevTable = tables[tableIndex - 1] ? tables[tableIndex - 1].props : null;
29
- var newSelection = currentTable.selection.moveUp();
30
- if (newSelection) {
31
- var _currentTable$onSelec;
32
- (_currentTable$onSelec = currentTable.onSelect) === null || _currentTable$onSelec === void 0 || _currentTable$onSelec.call(currentTable, newSelection);
33
- } else if (prevTable) {
34
- var _currentTable$onSelec2;
35
- (_currentTable$onSelec2 = currentTable.onSelect) === null || _currentTable$onSelec2 === void 0 || _currentTable$onSelec2.call(currentTable, currentTable.selection.resetFocus());
36
- newSelection = prevTable.selection.moveUp();
37
- if (newSelection) {
38
- var _prevTable$onSelect;
39
- (_prevTable$onSelect = prevTable.onSelect) === null || _prevTable$onSelect === void 0 || _prevTable$onSelect.call(prevTable, newSelection);
19
+ }
20
+ onUpPress = () => {
21
+ const {
22
+ children: tables
23
+ } = this.props;
24
+ const tableIndex = tables.findIndex(_ref => {
25
+ let {
26
+ props: {
27
+ selection
40
28
  }
41
- }
42
- return false;
29
+ } = _ref;
30
+ return selection.getFocused();
43
31
  });
44
- _defineProperty(_this, "onDownPress", function () {
45
- var tables = _this.props.children;
46
- var tableIndex = tables.findIndex(function (_ref2) {
47
- var selection = _ref2.props.selection;
48
- return selection.getFocused();
49
- });
50
- var currentTable = tables[tableIndex].props;
51
- var nextTable = tables[tableIndex + 1] ? tables[tableIndex + 1].props : null;
52
- var newSelection = currentTable.selection.moveDown();
32
+ const currentTable = tables[tableIndex].props;
33
+ const prevTable = tables[tableIndex - 1] ? tables[tableIndex - 1].props : null;
34
+ let newSelection = currentTable.selection.moveUp();
35
+ if (newSelection) {
36
+ currentTable.onSelect?.(newSelection);
37
+ } else if (prevTable) {
38
+ currentTable.onSelect?.(currentTable.selection.resetFocus());
39
+ newSelection = prevTable.selection.moveUp();
53
40
  if (newSelection) {
54
- var _currentTable$onSelec3;
55
- (_currentTable$onSelec3 = currentTable.onSelect) === null || _currentTable$onSelec3 === void 0 || _currentTable$onSelec3.call(currentTable, newSelection);
56
- } else if (nextTable) {
57
- var _currentTable$onSelec4;
58
- (_currentTable$onSelec4 = currentTable.onSelect) === null || _currentTable$onSelec4 === void 0 || _currentTable$onSelec4.call(currentTable, currentTable.selection.resetFocus());
59
- newSelection = nextTable.selection.moveDown();
60
- if (newSelection) {
61
- var _nextTable$onSelect;
62
- (_nextTable$onSelect = nextTable.onSelect) === null || _nextTable$onSelect === void 0 || _nextTable$onSelect.call(nextTable, newSelection);
63
- }
41
+ prevTable.onSelect?.(newSelection);
64
42
  }
65
- return false;
66
- });
67
- _defineProperty(_this, "onEscPress", function () {
68
- var children = _this.props.children;
69
- Children.forEach(children, function (_ref3) {
70
- var _ref3$props = _ref3.props,
71
- selection = _ref3$props.selection,
72
- onSelect = _ref3$props.onSelect;
73
- onSelect(selection.reset());
74
- });
43
+ }
44
+ return false;
45
+ };
46
+ onDownPress = () => {
47
+ const {
48
+ children: tables
49
+ } = this.props;
50
+ const tableIndex = tables.findIndex(_ref2 => {
51
+ let {
52
+ props: {
53
+ selection
54
+ }
55
+ } = _ref2;
56
+ return selection.getFocused();
75
57
  });
76
- _defineProperty(_this, "onCmdAPress", function () {
77
- var children = _this.props.children;
78
- Children.forEach(children, function (_ref4) {
79
- var _ref4$props = _ref4.props,
80
- selection = _ref4$props.selection,
81
- onSelect = _ref4$props.onSelect;
82
- onSelect(selection.selectAll());
83
- });
84
- return false;
58
+ const currentTable = tables[tableIndex].props;
59
+ const nextTable = tables[tableIndex + 1] ? tables[tableIndex + 1].props : null;
60
+ let newSelection = currentTable.selection.moveDown();
61
+ if (newSelection) {
62
+ currentTable.onSelect?.(newSelection);
63
+ } else if (nextTable) {
64
+ currentTable.onSelect?.(currentTable.selection.resetFocus());
65
+ newSelection = nextTable.selection.moveDown();
66
+ if (newSelection) {
67
+ nextTable.onSelect?.(newSelection);
68
+ }
69
+ }
70
+ return false;
71
+ };
72
+ onEscPress = () => {
73
+ const {
74
+ children
75
+ } = this.props;
76
+ Children.forEach(children, _ref3 => {
77
+ let {
78
+ props: {
79
+ selection,
80
+ onSelect
81
+ }
82
+ } = _ref3;
83
+ onSelect(selection.reset());
85
84
  });
86
- _defineProperty(_this, "shortcuts", {
87
- up: _this.onUpPress,
88
- down: _this.onDownPress,
89
- esc: _this.onEscPress,
90
- 'command+a': _this.onCmdAPress,
91
- 'ctrl+a': _this.onCmdAPress
85
+ };
86
+ onCmdAPress = () => {
87
+ const {
88
+ children
89
+ } = this.props;
90
+ Children.forEach(children, _ref4 => {
91
+ let {
92
+ props: {
93
+ selection,
94
+ onSelect
95
+ }
96
+ } = _ref4;
97
+ onSelect(selection.selectAll());
92
98
  });
93
- return _this;
99
+ return false;
100
+ };
101
+ shortcuts = {
102
+ up: this.onUpPress,
103
+ down: this.onDownPress,
104
+ esc: this.onEscPress,
105
+ 'command+a': this.onCmdAPress,
106
+ 'ctrl+a': this.onCmdAPress
107
+ };
108
+ render() {
109
+ return /*#__PURE__*/React.createElement("div", {
110
+ "data-test": "ring-multitable"
111
+ }, Children.map(this.props.children, child => {
112
+ const props = {
113
+ shortcuts: this.shortcuts
114
+ };
115
+ return /*#__PURE__*/cloneElement(child, props);
116
+ }));
94
117
  }
95
- _inherits(MultiTable, _PureComponent);
96
- return _createClass(MultiTable, [{
97
- key: "componentDidUpdate",
98
- value: function componentDidUpdate(prevProps) {
99
- if (prevProps.children) {
100
- var prevSelections = prevProps.children.map(function (element) {
101
- return element.props.selection;
102
- });
103
- var prevFocusedIndex = prevSelections.findIndex(function (selection) {
104
- return selection.getFocused();
105
- });
106
- var prevFocused = prevSelections[prevFocusedIndex];
107
- var currentSelections = this.props.children.map(function (element) {
108
- return element.props.selection;
109
- });
110
- var currentFocused = currentSelections.filter(function (selection) {
111
- return selection.getFocused();
112
- });
113
- if (currentFocused.includes(prevFocused)) {
114
- var _prevProps$children$p, _prevProps$children$p2;
115
- (_prevProps$children$p = (_prevProps$children$p2 = prevProps.children[prevFocusedIndex].props).onSelect) === null || _prevProps$children$p === void 0 || _prevProps$children$p.call(_prevProps$children$p2, prevFocused.resetFocus());
116
- }
117
- }
118
- }
119
- }, {
120
- key: "render",
121
- value: function render() {
122
- var _this2 = this;
123
- return /*#__PURE__*/React.createElement("div", {
124
- "data-test": "ring-multitable"
125
- }, Children.map(this.props.children, function (child) {
126
- var props = {
127
- shortcuts: _this2.shortcuts
128
- };
129
- return /*#__PURE__*/cloneElement(child, props);
130
- }));
131
- }
132
- }]);
133
- }(PureComponent);
134
- _defineProperty(MultiTable, "propTypes", {
135
- children: PropTypes.any.isRequired
136
- });
118
+ }
137
119
 
138
120
  export { MultiTable as default };
@@ -1,14 +1,10 @@
1
- import { a as _inherits, b as _createClass, e as _extends, f as _classCallCheck, g as _callSuper, _ as _defineProperty } from '../_helpers/_rollupPluginBabelHelpers.js';
2
- import 'core-js/modules/es.array.concat.js';
1
+ import { _ as _extends } from '../_helpers/_rollupPluginBabelHelpers.js';
3
2
  import React, { PureComponent } from 'react';
4
3
  import focusSensorHOC from '../global/focus-sensor-hoc.js';
5
4
  import Row from './row.js';
6
5
  import 'prop-types';
7
6
  import '../global/prop-types.js';
8
7
  import '../global/composeRefs.js';
9
- import 'core-js/modules/es.object.to-string.js';
10
- import 'core-js/modules/web.dom-collections.for-each.js';
11
- import 'core-js/modules/es.array.map.js';
12
8
  import 'classnames';
13
9
  import '@jetbrains/icons/chevron-right';
14
10
  import '@jetbrains/icons/chevron-down';
@@ -20,14 +16,7 @@ import '../icon/icon.js';
20
16
  import 'util-deprecate';
21
17
  import '../icon/icon__constants.js';
22
18
  import '../_helpers/icon__svg.js';
23
- import 'core-js/modules/es.regexp.exec.js';
24
- import 'core-js/modules/es.string.replace.js';
25
- import 'core-js/modules/es.string.starts-with.js';
26
19
  import '../global/memoize.js';
27
- import 'core-js/modules/es.array.iterator.js';
28
- import 'core-js/modules/es.map.js';
29
- import 'core-js/modules/es.weak-map.js';
30
- import 'core-js/modules/web.dom-collections.iterator.js';
31
20
  import '../button/button.js';
32
21
  import '@jetbrains/icons/chevron-10px';
33
22
  import '../link/clickableLink.js';
@@ -35,81 +24,48 @@ import '../global/controls-height.js';
35
24
  import '../_helpers/button__classes.js';
36
25
  import '../tooltip/tooltip.js';
37
26
  import '../popup/popup.js';
38
- import 'core-js/modules/es.object.entries.js';
39
- import 'core-js/modules/es.regexp.to-string.js';
40
27
  import 'react-dom';
41
28
  import '../global/get-uid.js';
42
29
  import '../global/schedule-raf.js';
43
30
  import '../global/dom.js';
44
- import 'core-js/modules/es.array.filter.js';
45
- import 'core-js/modules/es.object.assign.js';
46
- import 'core-js/modules/es.set.js';
47
- import 'core-js/modules/es.string.split.js';
48
31
  import '../shortcuts/shortcuts.js';
49
32
  import '../shortcuts/core.js';
50
- import 'core-js/modules/es.array.find-index.js';
51
- import 'core-js/modules/es.array.includes.js';
52
- import 'core-js/modules/es.array.slice.js';
53
- import 'core-js/modules/es.array.splice.js';
54
- import 'core-js/modules/es.string.includes.js';
55
- import 'core-js/modules/es.string.match.js';
56
33
  import 'combokeys';
57
34
  import '../global/sniffer.js';
58
35
  import 'sniffr';
59
36
  import '../global/data-tests.js';
60
- import 'core-js/modules/es.array.reduce.js';
61
37
  import '../tab-trap/tab-trap.js';
62
38
  import '../popup/position.js';
63
- import 'core-js/modules/es.array.sort.js';
64
39
  import '../popup/popup.consts.js';
65
40
  import '../popup/popup.target.js';
66
41
  import './cell.js';
67
42
  import '../_helpers/table.js';
68
43
 
69
- var getContainer = function getContainer() {
70
- return focusSensorHOC(Row);
71
- };
72
- var RowWithFocusSensorCallbacks = /*#__PURE__*/function (_PureComponent) {
73
- function RowWithFocusSensorCallbacks() {
74
- var _this;
75
- _classCallCheck(this, RowWithFocusSensorCallbacks);
76
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
77
- args[_key] = arguments[_key];
78
- }
79
- _this = _callSuper(this, RowWithFocusSensorCallbacks, [].concat(args));
80
- // https://stackoverflow.com/a/53882322/6304152
81
- _defineProperty(_this, "RowWithFocusSensor", getContainer());
82
- _defineProperty(_this, "onFocus", function () {
83
- var _this$props$onFocus, _this$props;
84
- (_this$props$onFocus = (_this$props = _this.props).onFocus) === null || _this$props$onFocus === void 0 || _this$props$onFocus.call(_this$props, _this.props.item);
85
- });
86
- _defineProperty(_this, "onSelect", function (item, selected) {
87
- var _this$props$onSelect, _this$props2;
88
- (_this$props$onSelect = (_this$props2 = _this.props).onSelect) === null || _this$props$onSelect === void 0 || _this$props$onSelect.call(_this$props2, item, selected);
89
- });
90
- _defineProperty(_this, "onCollapse", function () {
91
- var _this$props$onCollaps, _this$props3;
92
- (_this$props$onCollaps = (_this$props3 = _this.props).onCollapse) === null || _this$props$onCollaps === void 0 || _this$props$onCollaps.call(_this$props3, _this.props.item);
93
- });
94
- _defineProperty(_this, "onExpand", function () {
95
- var _this$props$onExpand, _this$props4;
96
- (_this$props$onExpand = (_this$props4 = _this.props).onExpand) === null || _this$props$onExpand === void 0 || _this$props$onExpand.call(_this$props4, _this.props.item);
97
- });
98
- return _this;
44
+ const getContainer = () => focusSensorHOC(Row);
45
+ class RowWithFocusSensorCallbacks extends PureComponent {
46
+ // https://stackoverflow.com/a/53882322/6304152
47
+ RowWithFocusSensor = getContainer();
48
+ onFocus = () => {
49
+ this.props.onFocus?.(this.props.item);
50
+ };
51
+ onSelect = (item, selected) => {
52
+ this.props.onSelect?.(item, selected);
53
+ };
54
+ onCollapse = () => {
55
+ this.props.onCollapse?.(this.props.item);
56
+ };
57
+ onExpand = () => {
58
+ this.props.onExpand?.(this.props.item);
59
+ };
60
+ render() {
61
+ return /*#__PURE__*/React.createElement(this.RowWithFocusSensor, _extends({}, this.props, {
62
+ onFocus: this.onFocus,
63
+ onSelect: this.onSelect,
64
+ onCollapse: this.onCollapse,
65
+ onExpand: this.onExpand
66
+ }));
99
67
  }
100
- _inherits(RowWithFocusSensorCallbacks, _PureComponent);
101
- return _createClass(RowWithFocusSensorCallbacks, [{
102
- key: "render",
103
- value: function render() {
104
- return /*#__PURE__*/React.createElement(this.RowWithFocusSensor, _extends({}, this.props, {
105
- onFocus: this.onFocus,
106
- onSelect: this.onSelect,
107
- onCollapse: this.onCollapse,
108
- onExpand: this.onExpand
109
- }));
110
- }
111
- }]);
112
- }(PureComponent);
68
+ }
113
69
  RowWithFocusSensorCallbacks.propTypes = Row.propTypes;
114
70
 
115
71
  export { RowWithFocusSensorCallbacks as default };