@jetbrains/ring-ui 5.1.12 → 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.
@@ -1,4 +1,5 @@
1
1
  import React, { ComponentType, ReactNode, SyntheticEvent } from 'react';
2
+ import { ReactElement } from 'react-markdown/lib/react-markdown';
2
3
  import { LinkProps } from '../link/link';
3
4
  import { IconType, Size } from '../icon/icon';
4
5
  import { ClickableLinkProps } from '../link/clickableLink';
@@ -55,6 +56,7 @@ export type ListDataItem<T = unknown> = T & Partial<Omit<LinkProps, 'onClick' |
55
56
  originalModel?: never;
56
57
  LinkComponent?: ComponentType<ClickableLinkProps> | string | null | undefined;
57
58
  template?: ReactNode | ((props: ListDataItemProps<T>) => ReactNode);
59
+ labelWrapper?: (children: ReactNode) => ReactElement;
58
60
  custom?: boolean | null | undefined;
59
61
  onClick?: ((item: ListDataItem<T>, event: Event | SyntheticEvent) => void) | null | undefined;
60
62
  onMouseUp?: ((item: ListDataItem<T>, event: Event | SyntheticEvent) => void) | null | undefined;
@@ -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
 
@@ -1,4 +1,5 @@
1
1
  import React, { ComponentType, ReactNode, SyntheticEvent } from 'react';
2
+ import { ReactElement } from 'react-markdown/lib/react-markdown';
2
3
  import { LinkProps } from '../link/link';
3
4
  import { IconType, Size } from '../icon/icon';
4
5
  import { ClickableLinkProps } from '../link/clickableLink';
@@ -55,6 +56,7 @@ export type ListDataItem<T = unknown> = T & Partial<Omit<LinkProps, 'onClick' |
55
56
  originalModel?: never;
56
57
  LinkComponent?: ComponentType<ClickableLinkProps> | string | null | undefined;
57
58
  template?: ReactNode | ((props: ListDataItemProps<T>) => ReactNode);
59
+ labelWrapper?: (children: ReactNode) => ReactElement;
58
60
  custom?: boolean | null | undefined;
59
61
  onClick?: ((item: ListDataItem<T>, event: Event | SyntheticEvent) => void) | null | undefined;
60
62
  onMouseUp?: ((item: ListDataItem<T>, event: Event | SyntheticEvent) => void) | null | undefined;
@@ -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.12",
3
+ "version": "5.1.14",
4
4
  "description": "JetBrains UI library",
5
5
  "author": "JetBrains",
6
6
  "license": "Apache-2.0",
@@ -84,20 +84,20 @@
84
84
  "@rollup/plugin-babel": "^6.0.4",
85
85
  "@rollup/plugin-json": "^6.0.1",
86
86
  "@rollup/plugin-node-resolve": "^15.2.3",
87
- "@rollup/plugin-replace": "^5.0.4",
87
+ "@rollup/plugin-replace": "^5.0.5",
88
88
  "@storybook/addon-a11y": "7.5.1",
89
- "@storybook/addon-docs": "7.5.1",
90
- "@storybook/addon-essentials": "7.5.1",
89
+ "@storybook/addon-docs": "7.5.2",
90
+ "@storybook/addon-essentials": "7.5.2",
91
91
  "@storybook/addon-storyshots": "7.4.5",
92
- "@storybook/addon-storyshots-puppeteer": "7.5.1",
93
- "@storybook/addon-storysource": "7.5.1",
94
- "@storybook/addons": "7.5.1",
92
+ "@storybook/addon-storyshots-puppeteer": "7.5.2",
93
+ "@storybook/addon-storysource": "7.5.2",
94
+ "@storybook/addons": "7.5.2",
95
95
  "@storybook/html": "7.4.5",
96
96
  "@storybook/html-webpack5": "^7.5.1",
97
97
  "@storybook/preview-api": "7.4.5",
98
- "@storybook/react": "7.5.1",
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",
@@ -110,15 +110,15 @@
110
110
  "@types/sinon": "^10.0.20",
111
111
  "@types/sinon-chai": "^3.2.11",
112
112
  "@typescript-eslint/eslint-plugin": "^6.9.0",
113
- "@typescript-eslint/parser": "^6.8.0",
113
+ "@typescript-eslint/parser": "^6.9.1",
114
114
  "@wojtekmaj/enzyme-adapter-react-17": "^0.8.0",
115
- "acorn": "^8.10.0",
115
+ "acorn": "^8.11.2",
116
116
  "angular": "^1.8.3",
117
117
  "angular-mocks": "^1.8.3",
118
118
  "angular-route": "^1.8.3",
119
119
  "babel-plugin-react-docgen": "^4.2.1",
120
120
  "babel-plugin-require-context-hook": "^1.0.0",
121
- "caniuse-lite": "^1.0.30001554",
121
+ "caniuse-lite": "^1.0.30001559",
122
122
  "chai": "^4.3.10",
123
123
  "chai-as-promised": "^7.1.1",
124
124
  "chai-dom": "^1.10.0",
@@ -165,10 +165,10 @@
165
165
  "rollup": "^3.29.4",
166
166
  "rollup-plugin-clear": "^2.0.7",
167
167
  "rollup-plugin-styles": "^4.0.0",
168
- "sinon": "^17.0.0",
168
+ "sinon": "^17.0.1",
169
169
  "sinon-chai": "^3.7.0",
170
170
  "storage-mock": "^2.1.0",
171
- "storybook": "^7.5.1",
171
+ "storybook": "^7.5.2",
172
172
  "storybook-addon-themes": "^6.1.0",
173
173
  "storybook-zeplin": "^2.0.2",
174
174
  "stylelint": "^15.11.0",
@@ -205,7 +205,7 @@
205
205
  "@babel/preset-typescript": "^7.23.2",
206
206
  "@jetbrains/babel-preset-jetbrains": "^2.3.2",
207
207
  "@jetbrains/icons": "^3.22.0",
208
- "@jetbrains/logos": "^2.2.22",
208
+ "@jetbrains/logos": "^2.2.23",
209
209
  "@jetbrains/postcss-require-hover": "^0.1.2",
210
210
  "@types/combokeys": "^2.4.8",
211
211
  "@types/deep-equal": "^1.0.3",
@@ -244,7 +244,7 @@
244
244
  "postcss-font-family-system-ui": "^5.0.0",
245
245
  "postcss-loader": "^7.3.3",
246
246
  "postcss-modules-values-replace": "^4.1.0",
247
- "postcss-preset-env": "^9.2.0",
247
+ "postcss-preset-env": "^9.3.0",
248
248
  "prop-types": "^15.8.1",
249
249
  "react-markdown": "^8.0.7",
250
250
  "react-movable": "^3.0.4",
@@ -254,7 +254,7 @@
254
254
  "remark-gfm": "^3.0.1",
255
255
  "scrollbar-width": "^3.1.1",
256
256
  "simply-uuid": "^1.0.1",
257
- "sniffr": "^1.2.0",
257
+ "sniffr": "^1.2.1",
258
258
  "style-inject": "^0.3.0",
259
259
  "style-loader": "~3.3.3",
260
260
  "url-loader": "^4.1.1",