@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,60 +1,42 @@
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.includes.js';
1
+ import { _ as _extends } from '../_helpers/_rollupPluginBabelHelpers.js';
4
2
  import React, { PureComponent } from 'react';
5
3
 
6
4
  function disableHoverHOC(ComposedComponent) {
7
- var _DisableHover;
8
- return _DisableHover = /*#__PURE__*/function (_PureComponent) {
9
- function DisableHover() {
10
- var _this;
11
- _classCallCheck(this, DisableHover);
12
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
13
- args[_key] = arguments[_key];
14
- }
15
- _this = _callSuper(this, DisableHover, [].concat(args));
16
- _defineProperty(_this, "state", {
17
- disabledHover: false
18
- });
19
- _defineProperty(_this, "onMouseMove", function () {
20
- if (_this.state.disabledHover) {
21
- _this.setState({
22
- disabledHover: false
23
- });
24
- }
25
- });
26
- _defineProperty(_this, "onKeyDown", function (e) {
27
- var metaKeys = [16, 17, 18, 19, 20, 91]; // eslint-disable-line @typescript-eslint/no-magic-numbers
28
- if (!_this.state.disabledHover && !metaKeys.includes(e.keyCode)) {
29
- _this.setState({
30
- disabledHover: true
31
- });
32
- }
33
- });
34
- return _this;
5
+ return class DisableHover extends PureComponent {
6
+ static propTypes = ComposedComponent.propTypes;
7
+ static defaultProps = ComposedComponent.defaultProps;
8
+ state = {
9
+ disabledHover: false
10
+ };
11
+ componentDidMount() {
12
+ document.addEventListener('mousemove', this.onMouseMove);
13
+ document.addEventListener('keydown', this.onKeyDown, true);
35
14
  }
36
- _inherits(DisableHover, _PureComponent);
37
- return _createClass(DisableHover, [{
38
- key: "componentDidMount",
39
- value: function componentDidMount() {
40
- document.addEventListener('mousemove', this.onMouseMove);
41
- document.addEventListener('keydown', this.onKeyDown, true);
42
- }
43
- }, {
44
- key: "componentWillUnmount",
45
- value: function componentWillUnmount() {
46
- document.removeEventListener('mousemove', this.onMouseMove);
47
- document.removeEventListener('keydown', this.onKeyDown, true);
15
+ componentWillUnmount() {
16
+ document.removeEventListener('mousemove', this.onMouseMove);
17
+ document.removeEventListener('keydown', this.onKeyDown, true);
18
+ }
19
+ onMouseMove = () => {
20
+ if (this.state.disabledHover) {
21
+ this.setState({
22
+ disabledHover: false
23
+ });
48
24
  }
49
- }, {
50
- key: "render",
51
- value: function render() {
52
- return /*#__PURE__*/React.createElement(ComposedComponent, _extends({}, this.props, {
53
- disabledHover: this.state.disabledHover
54
- }));
25
+ };
26
+ onKeyDown = e => {
27
+ const metaKeys = [16, 17, 18, 19, 20, 91]; // eslint-disable-line @typescript-eslint/no-magic-numbers
28
+ if (!this.state.disabledHover && !metaKeys.includes(e.keyCode)) {
29
+ this.setState({
30
+ disabledHover: true
31
+ });
55
32
  }
56
- }]);
57
- }(PureComponent), _defineProperty(_DisableHover, "propTypes", ComposedComponent.propTypes), _defineProperty(_DisableHover, "defaultProps", ComposedComponent.defaultProps), _DisableHover;
33
+ };
34
+ render() {
35
+ return /*#__PURE__*/React.createElement(ComposedComponent, _extends({}, this.props, {
36
+ disabledHover: this.state.disabledHover
37
+ }));
38
+ }
39
+ };
58
40
  }
59
41
 
60
42
  export { disableHoverHOC as default };
@@ -1,5 +1,4 @@
1
- import { _ as _defineProperty, a as _inherits, b as _createClass, c as _objectWithoutProperties, e as _extends, f as _classCallCheck, g as _callSuper } 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 PropTypes from 'prop-types';
5
4
  import classNames from 'classnames';
@@ -11,97 +10,73 @@ import { m as modules_1db4bbca } from '../_helpers/table.js';
11
10
  import 'util-deprecate';
12
11
  import '../icon/icon__constants.js';
13
12
  import '../_helpers/icon__svg.js';
14
- import 'core-js/modules/es.regexp.exec.js';
15
- import 'core-js/modules/es.string.replace.js';
16
- import 'core-js/modules/es.string.starts-with.js';
17
13
  import '../global/memoize.js';
18
- import 'core-js/modules/es.array.iterator.js';
19
- import 'core-js/modules/es.map.js';
20
- import 'core-js/modules/es.object.to-string.js';
21
- import 'core-js/modules/es.weak-map.js';
22
- import 'core-js/modules/web.dom-collections.iterator.js';
23
- import 'core-js/modules/es.array.reduce.js';
24
- import 'core-js/modules/es.object.entries.js';
25
14
 
26
- var _excluded = ["className", "column", "onSort", "sortKey", "sortOrder", "data-test"];
27
- var HeaderCell = /*#__PURE__*/function (_PureComponent) {
28
- function HeaderCell() {
29
- var _this;
30
- _classCallCheck(this, HeaderCell);
31
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
32
- args[_key] = arguments[_key];
15
+ class HeaderCell extends PureComponent {
16
+ static propTypes = {
17
+ children: PropTypes.any,
18
+ className: PropTypes.string,
19
+ column: PropTypes.object.isRequired,
20
+ onSort: PropTypes.func,
21
+ sortKey: PropTypes.string,
22
+ sortOrder: PropTypes.bool,
23
+ 'data-test': PropTypes.string
24
+ };
25
+ static defaultProps = {
26
+ onSort: () => {}
27
+ };
28
+ sortable;
29
+ sorted;
30
+ onClick = () => {
31
+ if (this.sortable) {
32
+ const {
33
+ column,
34
+ onSort,
35
+ sortOrder
36
+ } = this.props;
37
+ onSort({
38
+ column,
39
+ order: !(this.sorted && sortOrder)
40
+ });
33
41
  }
34
- _this = _callSuper(this, HeaderCell, [].concat(args));
35
- _defineProperty(_this, "sortable", void 0);
36
- _defineProperty(_this, "sorted", void 0);
37
- _defineProperty(_this, "onClick", function () {
38
- if (_this.sortable) {
39
- var _this$props = _this.props,
40
- column = _this$props.column,
41
- onSort = _this$props.onSort,
42
- sortOrder = _this$props.sortOrder;
43
- onSort({
44
- column,
45
- order: !(_this.sorted && sortOrder)
46
- });
47
- }
42
+ };
43
+ onChildrenClick(e) {
44
+ e.stopPropagation();
45
+ }
46
+ render() {
47
+ const {
48
+ className,
49
+ column,
50
+ onSort,
51
+ sortKey,
52
+ sortOrder,
53
+ 'data-test': dataTest,
54
+ ...restProps
55
+ } = this.props;
56
+ this.sortable = column.sortable === true;
57
+ this.sorted = sortKey === column.id;
58
+ const glyph = this.sorted ? chevronDown : sortableIcon;
59
+ const classes = classNames(className, column.headerClassName, {
60
+ [modules_1db4bbca.headerCell]: true,
61
+ [modules_1db4bbca.headerCellSortable]: this.sortable,
62
+ [modules_1db4bbca.headerCellSorted]: this.sorted,
63
+ [modules_1db4bbca.sortedUp]: sortOrder && this.sorted,
64
+ [modules_1db4bbca.cellRight]: column.rightAlign
48
65
  });
49
- return _this;
66
+ return /*#__PURE__*/React.createElement("th", _extends({}, restProps, {
67
+ className: classes,
68
+ onClick: this.onClick,
69
+ "data-test": joinDataTestAttributes('ring-table-header-cell', dataTest)
70
+ }), /*#__PURE__*/React.createElement("span", {
71
+ onClick: this.onChildrenClick,
72
+ role: "presentation"
73
+ }, this.props.children), column.getHeaderValue ? column.getHeaderValue() : column.title, this.sortable && /*#__PURE__*/React.createElement("span", {
74
+ className: modules_1db4bbca.sorter
75
+ }, /*#__PURE__*/React.createElement(Icon, {
76
+ glyph: glyph,
77
+ className: modules_1db4bbca.icon
78
+ })));
50
79
  }
51
- _inherits(HeaderCell, _PureComponent);
52
- return _createClass(HeaderCell, [{
53
- key: "onChildrenClick",
54
- value: function onChildrenClick(e) {
55
- e.stopPropagation();
56
- }
57
- }, {
58
- key: "render",
59
- value: function render() {
60
- var _this$props2 = this.props,
61
- className = _this$props2.className,
62
- column = _this$props2.column;
63
- _this$props2.onSort;
64
- var sortKey = _this$props2.sortKey,
65
- sortOrder = _this$props2.sortOrder,
66
- dataTest = _this$props2['data-test'],
67
- restProps = _objectWithoutProperties(_this$props2, _excluded);
68
- this.sortable = column.sortable === true;
69
- this.sorted = sortKey === column.id;
70
- var glyph = this.sorted ? chevronDown : sortableIcon;
71
- var classes = classNames(className, column.headerClassName, {
72
- [modules_1db4bbca.headerCell]: true,
73
- [modules_1db4bbca.headerCellSortable]: this.sortable,
74
- [modules_1db4bbca.headerCellSorted]: this.sorted,
75
- [modules_1db4bbca.sortedUp]: sortOrder && this.sorted,
76
- [modules_1db4bbca.cellRight]: column.rightAlign
77
- });
78
- return /*#__PURE__*/React.createElement("th", _extends({}, restProps, {
79
- className: classes,
80
- onClick: this.onClick,
81
- "data-test": joinDataTestAttributes('ring-table-header-cell', dataTest)
82
- }), /*#__PURE__*/React.createElement("span", {
83
- onClick: this.onChildrenClick,
84
- role: "presentation"
85
- }, this.props.children), column.getHeaderValue ? column.getHeaderValue() : column.title, this.sortable && /*#__PURE__*/React.createElement("span", {
86
- className: modules_1db4bbca.sorter
87
- }, /*#__PURE__*/React.createElement(Icon, {
88
- glyph: glyph,
89
- className: modules_1db4bbca.icon
90
- })));
91
- }
92
- }]);
93
- }(PureComponent);
94
- _defineProperty(HeaderCell, "propTypes", {
95
- children: PropTypes.any,
96
- className: PropTypes.string,
97
- column: PropTypes.object.isRequired,
98
- onSort: PropTypes.func,
99
- sortKey: PropTypes.string,
100
- sortOrder: PropTypes.bool,
101
- 'data-test': PropTypes.string
102
- });
103
- _defineProperty(HeaderCell, "defaultProps", {
104
- onSort: function onSort() {}
105
- });
80
+ }
106
81
 
107
82
  export { HeaderCell as default };
@@ -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 };