@jetbrains/ring-ui-built 7.0.27 → 7.0.28

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.
@@ -32,13 +32,6 @@ import 'combokeys';
32
32
  import '../global/sniffer.js';
33
33
  import 'sniffr';
34
34
  import '../global/create-stateful-context.js';
35
- import '../list/list__link.js';
36
- import '../link/link.js';
37
- import '../link/clickableLink.js';
38
- import '../_helpers/link.js';
39
- import '../list/list__classes.js';
40
- import '../list/consts.js';
41
- import '../_helpers/list.js';
42
35
  import '../list/list__item.js';
43
36
  import '../checkbox/checkbox.js';
44
37
  import '@jetbrains/icons/checkmark-12px';
@@ -50,6 +43,12 @@ import 'core-js/modules/es.string.replace.js';
50
43
  import 'core-js/modules/es.string.starts-with.js';
51
44
  import '../global/composeRefs.js';
52
45
  import '../control-help/control-help.js';
46
+ import '../link/link.js';
47
+ import '../link/clickableLink.js';
48
+ import '../_helpers/link.js';
49
+ import '../_helpers/list.js';
50
+ import '../list/consts.js';
51
+ import '../list/list__classes.js';
53
52
  import '../global/url.js';
54
53
  import '../_helpers/avatar-info.js';
55
54
  import '../avatar/fallback-avatar.js';
@@ -32,13 +32,6 @@ import 'combokeys';
32
32
  import '../global/sniffer.js';
33
33
  import 'sniffr';
34
34
  import '../global/create-stateful-context.js';
35
- import '../list/list__link.js';
36
- import '../link/link.js';
37
- import '../link/clickableLink.js';
38
- import '../_helpers/link.js';
39
- import '../list/list__classes.js';
40
- import '../list/consts.js';
41
- import '../_helpers/list.js';
42
35
  import '../list/list__item.js';
43
36
  import '../avatar/avatar.js';
44
37
  import '../global/url.js';
@@ -56,6 +49,12 @@ import '../_helpers/icon__svg.js';
56
49
  import 'core-js/modules/es.string.starts-with.js';
57
50
  import '../global/composeRefs.js';
58
51
  import '../control-help/control-help.js';
52
+ import '../link/link.js';
53
+ import '../link/clickableLink.js';
54
+ import '../_helpers/link.js';
55
+ import '../_helpers/list.js';
56
+ import '../list/consts.js';
57
+ import '../list/list__classes.js';
59
58
  import '../list/list__custom.js';
60
59
  import '../global/get-event-key.js';
61
60
  import '../list/list__title.js';
@@ -62,18 +62,17 @@ import 'react-virtualized/dist/es/WindowScroller';
62
62
  import 'react-virtualized/dist/es/CellMeasurer';
63
63
  import 'memoize-one';
64
64
  import '../global/create-stateful-context.js';
65
- import '../list/list__link.js';
66
- import '../link/link.js';
67
- import '../_helpers/link.js';
68
- import '../list/list__classes.js';
69
- import '../list/consts.js';
70
- import '../_helpers/list.js';
71
65
  import '../list/list__item.js';
72
66
  import '../checkbox/checkbox.js';
73
67
  import '@jetbrains/icons/checkmark-12px';
74
68
  import '@jetbrains/icons/remove-12px';
75
69
  import '../global/composeRefs.js';
76
70
  import '../control-help/control-help.js';
71
+ import '../link/link.js';
72
+ import '../_helpers/link.js';
73
+ import '../_helpers/list.js';
74
+ import '../list/consts.js';
75
+ import '../list/list__classes.js';
77
76
  import '../list/list__custom.js';
78
77
  import '../global/get-event-key.js';
79
78
  import '../list/list__title.js';
@@ -50,18 +50,17 @@ import 'combokeys';
50
50
  import '../global/sniffer.js';
51
51
  import 'sniffr';
52
52
  import '../global/create-stateful-context.js';
53
- import '../list/list__link.js';
54
- import '../link/link.js';
55
- import '../_helpers/link.js';
56
- import '../list/list__classes.js';
57
- import '../list/consts.js';
58
- import '../_helpers/list.js';
59
53
  import '../list/list__item.js';
60
54
  import '../checkbox/checkbox.js';
61
55
  import '@jetbrains/icons/checkmark-12px';
62
56
  import '@jetbrains/icons/remove-12px';
63
57
  import '../global/composeRefs.js';
64
58
  import '../control-help/control-help.js';
59
+ import '../link/link.js';
60
+ import '../_helpers/link.js';
61
+ import '../_helpers/list.js';
62
+ import '../list/consts.js';
63
+ import '../list/list__classes.js';
65
64
  import '../list/list__custom.js';
66
65
  import '../global/get-event-key.js';
67
66
  import '../list/list__title.js';
@@ -74,16 +74,15 @@ import 'react-virtualized/dist/es/WindowScroller';
74
74
  import 'react-virtualized/dist/es/CellMeasurer';
75
75
  import 'memoize-one';
76
76
  import '../global/create-stateful-context.js';
77
- import '../list/list__link.js';
78
- import '../list/list__classes.js';
79
- import '../list/consts.js';
80
- import '../_helpers/list.js';
81
77
  import '../list/list__item.js';
82
78
  import '../checkbox/checkbox.js';
83
79
  import '@jetbrains/icons/checkmark-12px';
84
80
  import '@jetbrains/icons/remove-12px';
85
81
  import '../global/composeRefs.js';
86
82
  import '../control-help/control-help.js';
83
+ import '../_helpers/list.js';
84
+ import '../list/consts.js';
85
+ import '../list/list__classes.js';
87
86
  import '../list/list__custom.js';
88
87
  import '../global/get-event-key.js';
89
88
  import '../list/list__title.js';
@@ -19,7 +19,6 @@ import memoize from '../global/memoize.js';
19
19
  import { preventDefault } from '../global/dom.js';
20
20
  import Shortcuts from '../shortcuts/shortcuts.js';
21
21
  import createStatefulContext from '../global/create-stateful-context.js';
22
- import ListLink from './list__link.js';
23
22
  import ListItem from './list__item.js';
24
23
  import ListCustom from './list__custom.js';
25
24
  import ListTitle from './list__title.js';
@@ -36,10 +35,6 @@ import 'core-js/modules/es.string.match.js';
36
35
  import 'combokeys';
37
36
  import '../global/sniffer.js';
38
37
  import 'sniffr';
39
- import '../link/link.js';
40
- import '../link/clickableLink.js';
41
- import '../_helpers/link.js';
42
- import './list__classes.js';
43
38
  import '../avatar/avatar.js';
44
39
  import '../global/url.js';
45
40
  import 'core-js/modules/es.string.replace.js';
@@ -55,6 +50,10 @@ import '../_helpers/icon__svg.js';
55
50
  import 'core-js/modules/es.string.starts-with.js';
56
51
  import '../global/composeRefs.js';
57
52
  import '../control-help/control-help.js';
53
+ import '../link/link.js';
54
+ import '../link/clickableLink.js';
55
+ import '../_helpers/link.js';
56
+ import './list__classes.js';
58
57
  import '../global/get-event-key.js';
59
58
 
60
59
  const _excluded = ["selectedLabel", "originalModel"];
@@ -327,9 +326,6 @@ class List extends Component {
327
326
  itemProps.isFirst = isFirst;
328
327
  break;
329
328
  case Type.LINK:
330
- ItemComponent = ListLink;
331
- this.addItemDataTestToProp(itemProps);
332
- break;
333
329
  case Type.ITEM:
334
330
  ItemComponent = ListItem;
335
331
  this.addItemDataTestToProp(itemProps);
@@ -1,7 +1,7 @@
1
- import { _ as _defineProperty } from '../_helpers/_rollupPluginBabelHelpers.js';
1
+ import { _ as _defineProperty, a as _objectWithoutProperties, b as _objectSpread2 } from '../_helpers/_rollupPluginBabelHelpers.js';
2
2
  import 'core-js/modules/es.symbol.description.js';
3
3
  import 'core-js/modules/web.dom-collections.iterator.js';
4
- import { jsx, jsxs } from 'react/jsx-runtime';
4
+ import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
5
5
  import { PureComponent } from 'react';
6
6
  import classNames from 'classnames';
7
7
  import joinDataTestAttributes from '../global/data-tests.js';
@@ -9,7 +9,9 @@ import Avatar from '../avatar/avatar.js';
9
9
  import Checkbox from '../checkbox/checkbox.js';
10
10
  import Icon from '../icon/icon.js';
11
11
  import getUID from '../global/get-uid.js';
12
+ import Link, { linkHOC } from '../link/link.js';
12
13
  import { s as styles } from '../_helpers/list.js';
14
+ import { Type } from './consts.js';
13
15
  import { getListClasses } from './list__classes.js';
14
16
  import { Size } from '../avatar/avatar-size.js';
15
17
  import 'core-js/modules/es.string.includes.js';
@@ -34,8 +36,10 @@ import '../control-help/control-help.js';
34
36
  import '../icon/icon__constants.js';
35
37
  import '../_helpers/icon__svg.js';
36
38
  import 'core-js/modules/es.string.starts-with.js';
37
- import './consts.js';
39
+ import '../link/clickableLink.js';
40
+ import '../_helpers/link.js';
38
41
 
42
+ const _excluded = ["disabled", "checkbox", "avatar", "subavatar", "glyph", "icon", "rightGlyph", "description", "label", "title", "details", "hover", "level", "onCheckboxChange", "rightNodes", "leftNodes", "showGeneratedAvatar", "username", "labelWrapper", "rgItemType", "scrolling", "data-test", "className", "url", "LinkComponent", "compact", "hoverClassName", "children"];
39
43
  /**
40
44
  * @constructor
41
45
  * @extends {ReactComponent}
@@ -51,32 +55,38 @@ class ListItem extends PureComponent {
51
55
  _defineProperty(this, "_isString", val => typeof val === 'string' || val instanceof String);
52
56
  }
53
57
  render() {
54
- const {
55
- disabled,
56
- checkbox,
57
- avatar,
58
- subavatar,
59
- glyph,
60
- icon,
61
- rightGlyph,
62
- description,
63
- label,
64
- title,
65
- details,
66
- hover,
67
- level,
68
- tabIndex,
69
- onClick,
70
- onCheckboxChange,
71
- onMouseOver,
72
- onMouseDown,
73
- onMouseUp,
74
- rightNodes,
75
- leftNodes,
76
- showGeneratedAvatar,
77
- username,
78
- labelWrapper
79
- } = this.props;
58
+ const _this$props = this.props,
59
+ {
60
+ disabled,
61
+ checkbox,
62
+ avatar,
63
+ subavatar,
64
+ glyph,
65
+ icon,
66
+ rightGlyph,
67
+ description,
68
+ label,
69
+ title,
70
+ details,
71
+ hover,
72
+ level,
73
+ onCheckboxChange,
74
+ rightNodes,
75
+ leftNodes,
76
+ showGeneratedAvatar,
77
+ username,
78
+ labelWrapper,
79
+ rgItemType,
80
+ scrolling,
81
+ 'data-test': dataTest,
82
+ className,
83
+ url,
84
+ LinkComponent,
85
+ compact,
86
+ hoverClassName,
87
+ children
88
+ } = _this$props,
89
+ restProps = _objectWithoutProperties(_this$props, _excluded);
80
90
  const checkable = checkbox !== undefined;
81
91
  const shouldShowGeneratedAvatar = showGeneratedAvatar && username != null;
82
92
  const hasLeftNodes = leftNodes || glyph || avatar || shouldShowGeneratedAvatar;
@@ -98,41 +108,25 @@ class ListItem extends PureComponent {
98
108
  // label can also be an element, use empty string in this case
99
109
  computedTitle = this._isString(label) ? label : '';
100
110
  }
101
- const dataTest = joinDataTestAttributes({
102
- 'ring-list-item': (this.props['data-test'] || '').indexOf('ring-list-item') === -1,
111
+ const isLink = rgItemType === Type.LINK;
112
+ const combinedDataTest = joinDataTestAttributes({
113
+ 'ring-list-item': (dataTest || '').indexOf('ring-list-item') === -1,
103
114
  'ring-list-item-action': !disabled,
104
- 'ring-list-item-selected': checkbox
105
- }, this.props['data-test']);
115
+ 'ring-list-item-selected': checkbox,
116
+ 'ring-list-link': isLink
117
+ }, dataTest);
106
118
  const labelElement = jsx("span", {
107
119
  className: styles.label,
108
120
  title: computedTitle,
109
121
  "data-test": "ring-list-item-label",
110
- children: label
122
+ children: label !== null && label !== undefined ? label : children
111
123
  });
112
- return jsxs("div", {
113
- className: styles.itemContainer,
114
- "data-test": dataTest,
115
- children: [showCheckbox && jsx("div", {
116
- className: styles.checkboxContainer,
117
- children: jsx(Checkbox, {
118
- "aria-labelledby": this.id,
119
- checked: checkbox,
120
- disabled: disabled,
121
- onChange: onCheckboxChange,
122
- onClick: this.stopBubbling
123
- })
124
- }), jsxs("button", {
125
- id: this.id,
126
- type: "button",
127
- tabIndex: tabIndex,
128
- onClick: onClick,
129
- onMouseOver: onMouseOver,
130
- onMouseDown: onMouseDown,
131
- onFocus: onMouseOver,
132
- onMouseUp: onMouseUp,
133
- className: classes,
134
- style: style,
135
- disabled: disabled,
124
+ const commonProps = _objectSpread2(_objectSpread2({}, restProps), {}, {
125
+ id: this.id,
126
+ className: classes,
127
+ style,
128
+ disabled,
129
+ children: jsxs(Fragment, {
136
130
  children: [jsxs("div", {
137
131
  className: styles.top,
138
132
  onMouseOut: this.stopBubbling,
@@ -173,7 +167,26 @@ class ListItem extends PureComponent {
173
167
  className: detailsClasses,
174
168
  children: details
175
169
  })]
176
- })]
170
+ })
171
+ });
172
+ const LinkComponentToUse = LinkComponent ? linkHOC(LinkComponent) : Link;
173
+ return jsxs("div", {
174
+ className: styles.itemContainer,
175
+ "data-test": combinedDataTest,
176
+ children: [showCheckbox && jsx("div", {
177
+ className: styles.checkboxContainer,
178
+ children: jsx(Checkbox, {
179
+ "aria-labelledby": this.id,
180
+ checked: checkbox,
181
+ disabled: disabled,
182
+ onChange: onCheckboxChange,
183
+ onClick: this.stopBubbling
184
+ })
185
+ }), isLink ? jsx(LinkComponentToUse, _objectSpread2({
186
+ pseudo: !restProps.href
187
+ }, commonProps)) : jsx("button", _objectSpread2({
188
+ type: "button"
189
+ }, commonProps))]
177
190
  });
178
191
  }
179
192
  }
@@ -33,13 +33,6 @@ import 'combokeys';
33
33
  import '../global/sniffer.js';
34
34
  import 'sniffr';
35
35
  import '../global/create-stateful-context.js';
36
- import './list__link.js';
37
- import '../link/link.js';
38
- import '../link/clickableLink.js';
39
- import '../_helpers/link.js';
40
- import './list__classes.js';
41
- import './consts.js';
42
- import '../_helpers/list.js';
43
36
  import './list__item.js';
44
37
  import '../avatar/avatar.js';
45
38
  import '../global/url.js';
@@ -56,6 +49,12 @@ import '../_helpers/icon__svg.js';
56
49
  import 'core-js/modules/es.string.starts-with.js';
57
50
  import '../global/composeRefs.js';
58
51
  import '../control-help/control-help.js';
52
+ import '../link/link.js';
53
+ import '../link/clickableLink.js';
54
+ import '../_helpers/link.js';
55
+ import '../_helpers/list.js';
56
+ import './consts.js';
57
+ import './list__classes.js';
59
58
  import './list__custom.js';
60
59
  import '../global/get-event-key.js';
61
60
  import './list__title.js';
@@ -68,16 +68,15 @@ import 'react-virtualized/dist/es/WindowScroller';
68
68
  import 'react-virtualized/dist/es/CellMeasurer';
69
69
  import 'memoize-one';
70
70
  import '../global/create-stateful-context.js';
71
- import '../list/list__link.js';
72
- import '../list/list__classes.js';
73
- import '../list/consts.js';
74
- import '../_helpers/list.js';
75
- import '../_helpers/link.js';
76
71
  import '../list/list__item.js';
77
72
  import '../checkbox/checkbox.js';
78
73
  import '@jetbrains/icons/checkmark-12px';
79
74
  import '@jetbrains/icons/remove-12px';
80
75
  import '../global/composeRefs.js';
76
+ import '../_helpers/list.js';
77
+ import '../list/consts.js';
78
+ import '../list/list__classes.js';
79
+ import '../_helpers/link.js';
81
80
  import '../list/list__custom.js';
82
81
  import '../global/get-event-key.js';
83
82
  import '../list/list__title.js';
@@ -38,13 +38,6 @@ import 'memoize-one';
38
38
  import '../global/memoize.js';
39
39
  import 'core-js/modules/es.weak-map.js';
40
40
  import '../global/create-stateful-context.js';
41
- import '../list/list__link.js';
42
- import '../link/link.js';
43
- import '../link/clickableLink.js';
44
- import '../_helpers/link.js';
45
- import '../list/list__classes.js';
46
- import '../list/consts.js';
47
- import '../_helpers/list.js';
48
41
  import '../list/list__item.js';
49
42
  import '../avatar/avatar.js';
50
43
  import '../global/url.js';
@@ -60,6 +53,12 @@ import '../_helpers/icon__svg.js';
60
53
  import 'core-js/modules/es.string.starts-with.js';
61
54
  import '../global/composeRefs.js';
62
55
  import '../control-help/control-help.js';
56
+ import '../link/link.js';
57
+ import '../link/clickableLink.js';
58
+ import '../_helpers/link.js';
59
+ import '../_helpers/list.js';
60
+ import '../list/consts.js';
61
+ import '../list/list__classes.js';
63
62
  import '../list/list__custom.js';
64
63
  import '../global/get-event-key.js';
65
64
  import '../list/list__title.js';
@@ -50,13 +50,6 @@ import 'memoize-one';
50
50
  import '../global/memoize.js';
51
51
  import 'core-js/modules/es.weak-map.js';
52
52
  import '../global/create-stateful-context.js';
53
- import '../list/list__link.js';
54
- import '../link/link.js';
55
- import '../link/clickableLink.js';
56
- import '../_helpers/link.js';
57
- import '../list/list__classes.js';
58
- import '../list/consts.js';
59
- import '../_helpers/list.js';
60
53
  import '../list/list__item.js';
61
54
  import '../avatar/avatar.js';
62
55
  import '../global/url.js';
@@ -69,6 +62,12 @@ import '@jetbrains/icons/checkmark-12px';
69
62
  import '@jetbrains/icons/remove-12px';
70
63
  import '../global/composeRefs.js';
71
64
  import '../control-help/control-help.js';
65
+ import '../link/link.js';
66
+ import '../link/clickableLink.js';
67
+ import '../_helpers/link.js';
68
+ import '../_helpers/list.js';
69
+ import '../list/consts.js';
70
+ import '../list/list__classes.js';
72
71
  import '../icon/icon__constants.js';
73
72
  import '../_helpers/icon__svg.js';
74
73
  import 'core-js/modules/es.string.starts-with.js';
@@ -30,13 +30,6 @@ import 'combokeys';
30
30
  import '../global/sniffer.js';
31
31
  import 'sniffr';
32
32
  import '../global/create-stateful-context.js';
33
- import '../list/list__link.js';
34
- import '../link/link.js';
35
- import '../link/clickableLink.js';
36
- import '../_helpers/link.js';
37
- import '../list/list__classes.js';
38
- import '../list/consts.js';
39
- import '../_helpers/list.js';
40
33
  import '../list/list__item.js';
41
34
  import '../avatar/avatar.js';
42
35
  import '../global/url.js';
@@ -53,6 +46,12 @@ import '../_helpers/icon__svg.js';
53
46
  import 'core-js/modules/es.string.starts-with.js';
54
47
  import '../global/composeRefs.js';
55
48
  import '../control-help/control-help.js';
49
+ import '../link/link.js';
50
+ import '../link/clickableLink.js';
51
+ import '../_helpers/link.js';
52
+ import '../_helpers/list.js';
53
+ import '../list/consts.js';
54
+ import '../list/list__classes.js';
56
55
  import '../list/list__custom.js';
57
56
  import '../global/get-event-key.js';
58
57
  import '../list/list__title.js';
@@ -64,17 +64,16 @@ import 'react-virtualized/dist/es/WindowScroller';
64
64
  import 'react-virtualized/dist/es/CellMeasurer';
65
65
  import 'memoize-one';
66
66
  import '../global/create-stateful-context.js';
67
- import '../list/list__link.js';
68
- import '../link/link.js';
69
- import '../_helpers/link.js';
70
- import '../list/list__classes.js';
71
- import '../list/consts.js';
72
- import '../_helpers/list.js';
73
67
  import '../list/list__item.js';
74
68
  import '../checkbox/checkbox.js';
75
69
  import '@jetbrains/icons/checkmark-12px';
76
70
  import '@jetbrains/icons/remove-12px';
77
71
  import '../control-help/control-help.js';
72
+ import '../link/link.js';
73
+ import '../_helpers/link.js';
74
+ import '../_helpers/list.js';
75
+ import '../list/consts.js';
76
+ import '../list/list__classes.js';
78
77
  import '../list/list__custom.js';
79
78
  import '../global/get-event-key.js';
80
79
  import '../list/list__title.js';
@@ -47,12 +47,6 @@ import '../shortcuts/core.js';
47
47
  import 'core-js/modules/es.string.match.js';
48
48
  import 'combokeys';
49
49
  import '../global/create-stateful-context.js';
50
- import '../list/list__link.js';
51
- import '../link/link.js';
52
- import '../_helpers/link.js';
53
- import '../list/list__classes.js';
54
- import '../list/consts.js';
55
- import '../_helpers/list.js';
56
50
  import '../list/list__item.js';
57
51
  import '../avatar/avatar.js';
58
52
  import '../global/url.js';
@@ -62,6 +56,11 @@ import '../avatar/fallback-avatar.js';
62
56
  import '../checkbox/checkbox.js';
63
57
  import '@jetbrains/icons/checkmark-12px';
64
58
  import '@jetbrains/icons/remove-12px';
59
+ import '../link/link.js';
60
+ import '../_helpers/link.js';
61
+ import '../_helpers/list.js';
62
+ import '../list/consts.js';
63
+ import '../list/list__classes.js';
65
64
  import '../list/list__custom.js';
66
65
  import '../global/get-event-key.js';
67
66
  import '../list/list__title.js';
@@ -46,13 +46,6 @@ import 'react-virtualized/dist/es/AutoSizer';
46
46
  import 'react-virtualized/dist/es/WindowScroller';
47
47
  import 'react-virtualized/dist/es/CellMeasurer';
48
48
  import '../global/create-stateful-context.js';
49
- import '../list/list__link.js';
50
- import '../link/link.js';
51
- import '../link/clickableLink.js';
52
- import '../_helpers/link.js';
53
- import '../list/list__classes.js';
54
- import '../list/consts.js';
55
- import '../_helpers/list.js';
56
49
  import '../list/list__item.js';
57
50
  import '../avatar/avatar.js';
58
51
  import '../global/url.js';
@@ -64,6 +57,12 @@ import '../checkbox/checkbox.js';
64
57
  import '@jetbrains/icons/checkmark-12px';
65
58
  import '@jetbrains/icons/remove-12px';
66
59
  import '../control-help/control-help.js';
60
+ import '../link/link.js';
61
+ import '../link/clickableLink.js';
62
+ import '../_helpers/link.js';
63
+ import '../_helpers/list.js';
64
+ import '../list/consts.js';
65
+ import '../list/list__classes.js';
67
66
  import '../list/list__custom.js';
68
67
  import '../global/get-event-key.js';
69
68
  import '../list/list__title.js';