@jetbrains/ring-ui 5.1.13 → 5.1.14

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.
@@ -56,7 +56,7 @@ export type ListDataItem<T = unknown> = T & Partial<Omit<LinkProps, 'onClick' |
56
56
  originalModel?: never;
57
57
  LinkComponent?: ComponentType<ClickableLinkProps> | string | null | undefined;
58
58
  template?: ReactNode | ((props: ListDataItemProps<T>) => ReactNode);
59
- wrapper?: (children: ReactNode) => ReactElement;
59
+ labelWrapper?: (children: ReactNode) => ReactElement;
60
60
  custom?: boolean | null | undefined;
61
61
  onClick?: ((item: ListDataItem<T>, event: Event | SyntheticEvent) => void) | null | undefined;
62
62
  onMouseUp?: ((item: ListDataItem<T>, event: Event | SyntheticEvent) => void) | null | undefined;
@@ -481,12 +481,7 @@ export default class List extends Component {
481
481
  default:
482
482
  throw new Error(`Unknown menu element type: ${itemProps.rgItemType}`);
483
483
  }
484
- if (itemProps.wrapper) {
485
- el = itemProps.wrapper(<ItemComponent {...itemProps}/>);
486
- }
487
- else {
488
- el = <ItemComponent {...itemProps}/>;
489
- }
484
+ el = <ItemComponent {...itemProps}/>;
490
485
  }
491
486
  return parent
492
487
  ? (<CellMeasurer cache={this._cache} key={itemKey} parent={parent} rowIndex={index} columnIndex={0}>
@@ -20,7 +20,7 @@ export default class ListItem extends PureComponent {
20
20
  stopBubbling = (e) => e.stopPropagation();
21
21
  _isString = (val) => typeof val === 'string' || val instanceof String;
22
22
  render() {
23
- const { scrolling, className, disabled, checkbox, avatar, subavatar, glyph, icon, rightGlyph, description, label, title, details, hover, rgItemType, level, tabIndex, compact, onClick, onCheckboxChange, onMouseOver, onMouseDown, onMouseUp, rightNodes, leftNodes, showGeneratedAvatar, username, ...restProps } = this.props;
23
+ const { scrolling, className, disabled, checkbox, avatar, subavatar, glyph, icon, rightGlyph, description, label, title, details, hover, rgItemType, level, tabIndex, compact, onClick, onCheckboxChange, onMouseOver, onMouseDown, onMouseUp, rightNodes, leftNodes, showGeneratedAvatar, username, labelWrapper, ...restProps } = this.props;
24
24
  const checkable = checkbox !== undefined;
25
25
  const shouldShowGeneratedAvatar = showGeneratedAvatar && username != null;
26
26
  const hasLeftNodes = leftNodes || glyph || avatar || shouldShowGeneratedAvatar;
@@ -56,6 +56,7 @@ export default class ListItem extends PureComponent {
56
56
  'ring-list-item-action': !disabled,
57
57
  'ring-list-item-selected': checkbox
58
58
  }, restProps['data-test']);
59
+ const labelElement = (<span className={styles.label} title={computedTitle} data-test="ring-list-item-label">{label}</span>);
59
60
  return (<div className={styles.itemContainer} data-test={dataTest}>
60
61
  {showCheckbox && (<div className={styles.checkboxContainer}>
61
62
  <Checkbox aria-labelledby={this.id} checked={checkbox} disabled={disabled} onChange={onCheckboxChange} onClick={this.stopBubbling}/>
@@ -68,7 +69,7 @@ export default class ListItem extends PureComponent {
68
69
  {(avatar || shouldShowGeneratedAvatar) && (<Avatar className={styles.avatar} url={avatar} size={AvatarSize.Size20} subavatar={subavatar} username={username}/>)}
69
70
  </div>)}
70
71
 
71
- <span className={styles.label} title={computedTitle} data-test="ring-list-item-label">{label}</span>
72
+ {labelWrapper ? labelWrapper(labelElement) : labelElement}
72
73
 
73
74
  {description && (<span className={styles.description} data-test="ring-list-item-description">{description}</span>)}
74
75
 
@@ -56,7 +56,7 @@ export type ListDataItem<T = unknown> = T & Partial<Omit<LinkProps, 'onClick' |
56
56
  originalModel?: never;
57
57
  LinkComponent?: ComponentType<ClickableLinkProps> | string | null | undefined;
58
58
  template?: ReactNode | ((props: ListDataItemProps<T>) => ReactNode);
59
- wrapper?: (children: ReactNode) => ReactElement;
59
+ labelWrapper?: (children: ReactNode) => ReactElement;
60
60
  custom?: boolean | null | undefined;
61
61
  onClick?: ((item: ListDataItem<T>, event: Event | SyntheticEvent) => void) | null | undefined;
62
62
  onMouseUp?: ((item: ListDataItem<T>, event: Event | SyntheticEvent) => void) | null | undefined;
package/dist/list/list.js CHANGED
@@ -419,11 +419,7 @@ var List = /*#__PURE__*/function (_Component) {
419
419
  default:
420
420
  throw new Error("Unknown menu element type: ".concat(itemProps.rgItemType));
421
421
  }
422
- if (itemProps.wrapper) {
423
- el = itemProps.wrapper( /*#__PURE__*/React.createElement(ItemComponent, itemProps));
424
- } else {
425
- el = /*#__PURE__*/React.createElement(ItemComponent, itemProps);
426
- }
422
+ el = /*#__PURE__*/React.createElement(ItemComponent, itemProps);
427
423
  }
428
424
  return parent ? /*#__PURE__*/React.createElement(CellMeasurer, {
429
425
  cache: _this._cache,
@@ -51,7 +51,7 @@ import 'core-js/modules/es.weak-map.js';
51
51
 
52
52
  var modules_5b0fb3e8 = {"unit":"8px","footer-height":"64px","breakpoint-small":"640px","breakpoint-middle":"960px","breakpoint-large":"1200px","extra-small-screen-media":"(max-width: 639px)","small-screen-media":"(min-width: 640px) and (max-width: 959px)","middle-screen-media":"(min-width: 960px) and (max-width: 1199px)","large-screen-media":"(min-width: 1200px)","clearfix":"clearfix_rui_8bff","font":"font_rui_8bff","font-lower":"font-lower_rui_8bff font_rui_8bff","font-smaller":"font-smaller_rui_8bff font-lower_rui_8bff font_rui_8bff","font-smaller-lower":"font-smaller-lower_rui_8bff font-smaller_rui_8bff font-lower_rui_8bff font_rui_8bff","font-larger-lower":"font-larger-lower_rui_8bff font-lower_rui_8bff font_rui_8bff","font-larger":"font-larger_rui_8bff font-larger-lower_rui_8bff font-lower_rui_8bff font_rui_8bff","thin-font":"thin-font_rui_8bff","monospace-font":"monospace-font_rui_8bff","ellipsis":"ellipsis_rui_8bff","resetButton":"resetButton_rui_8bff"};
53
53
 
54
- var _excluded = ["scrolling", "className", "disabled", "checkbox", "avatar", "subavatar", "glyph", "icon", "rightGlyph", "description", "label", "title", "details", "hover", "rgItemType", "level", "tabIndex", "compact", "onClick", "onCheckboxChange", "onMouseOver", "onMouseDown", "onMouseUp", "rightNodes", "leftNodes", "showGeneratedAvatar", "username"];
54
+ var _excluded = ["scrolling", "className", "disabled", "checkbox", "avatar", "subavatar", "glyph", "icon", "rightGlyph", "description", "label", "title", "details", "hover", "rgItemType", "level", "tabIndex", "compact", "onClick", "onCheckboxChange", "onMouseOver", "onMouseDown", "onMouseUp", "rightNodes", "leftNodes", "showGeneratedAvatar", "username", "labelWrapper"];
55
55
  /**
56
56
  * @constructor
57
57
  * @extends {ReactComponent}
@@ -110,6 +110,7 @@ var ListItem = /*#__PURE__*/function (_PureComponent) {
110
110
  leftNodes = _this$props.leftNodes,
111
111
  showGeneratedAvatar = _this$props.showGeneratedAvatar,
112
112
  username = _this$props.username,
113
+ labelWrapper = _this$props.labelWrapper,
113
114
  restProps = _objectWithoutProperties(_this$props, _excluded);
114
115
  var checkable = checkbox !== undefined;
115
116
  var shouldShowGeneratedAvatar = showGeneratedAvatar && username != null;
@@ -134,6 +135,11 @@ var ListItem = /*#__PURE__*/function (_PureComponent) {
134
135
  'ring-list-item-action': !disabled,
135
136
  'ring-list-item-selected': checkbox
136
137
  }, restProps['data-test']);
138
+ var labelElement = /*#__PURE__*/React.createElement("span", {
139
+ className: modules_3b67a421.label,
140
+ title: computedTitle,
141
+ "data-test": "ring-list-item-label"
142
+ }, label);
137
143
  return /*#__PURE__*/React.createElement("div", {
138
144
  className: modules_3b67a421.itemContainer,
139
145
  "data-test": dataTest
@@ -172,11 +178,7 @@ var ListItem = /*#__PURE__*/function (_PureComponent) {
172
178
  size: Size.Size20,
173
179
  subavatar: subavatar,
174
180
  username: username
175
- })), /*#__PURE__*/React.createElement("span", {
176
- className: modules_3b67a421.label,
177
- title: computedTitle,
178
- "data-test": "ring-list-item-label"
179
- }, label), description && /*#__PURE__*/React.createElement("span", {
181
+ })), labelWrapper ? labelWrapper(labelElement) : labelElement, description && /*#__PURE__*/React.createElement("span", {
180
182
  className: modules_3b67a421.description,
181
183
  "data-test": "ring-list-item-description"
182
184
  }, description), /*#__PURE__*/React.createElement("div", {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jetbrains/ring-ui",
3
- "version": "5.1.13",
3
+ "version": "5.1.14",
4
4
  "description": "JetBrains UI library",
5
5
  "author": "JetBrains",
6
6
  "license": "Apache-2.0",
@@ -97,7 +97,7 @@
97
97
  "@storybook/preview-api": "7.4.5",
98
98
  "@storybook/react": "7.5.2",
99
99
  "@storybook/source-loader": "7.5.1",
100
- "@storybook/theming": "7.5.1",
100
+ "@storybook/theming": "7.5.2",
101
101
  "@testing-library/react": "^14.0.0",
102
102
  "@testing-library/user-event": "^14.5.1",
103
103
  "@types/chai": "^4.3.9",