@jetbrains/ring-ui 5.0.137 → 5.0.138

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 (86) hide show
  1. package/components/auth/auth__core.d.ts +1 -1
  2. package/components/auth/auth__core.js +21 -26
  3. package/components/auth-dialog/auth-dialog.js +3 -1
  4. package/components/date-picker/date-input.js +3 -1
  5. package/components/editable-heading/editable-heading.css +7 -3
  6. package/components/editable-heading/editable-heading.js +29 -8
  7. package/components/global/react-render-adapter.js +16 -31
  8. package/components/header/profile.d.ts +54 -1
  9. package/components/header/profile.js +15 -11
  10. package/components/i18n/README.md +3 -0
  11. package/components/i18n/i18n-context.d.ts +54 -0
  12. package/components/i18n/i18n-context.js +3 -0
  13. package/components/i18n/i18n.d.ts +56 -0
  14. package/components/i18n/i18n.js +8 -0
  15. package/components/i18n/messages.json +53 -0
  16. package/components/input/input.d.ts +1 -4
  17. package/components/input/input.js +16 -16
  18. package/components/message/message.d.ts +1 -5
  19. package/components/message/message.js +15 -16
  20. package/components/pager/pager.d.ts +54 -8
  21. package/components/pager/pager.js +10 -12
  22. package/components/query-assist/query-assist.d.ts +1 -5
  23. package/components/query-assist/query-assist.js +30 -29
  24. package/components/select/select.d.ts +2 -4
  25. package/components/select/select.js +14 -11
  26. package/components/select/select__filter.d.ts +0 -1
  27. package/components/select/select__filter.js +4 -2
  28. package/components/user-agreement/user-agreement.d.ts +1 -9
  29. package/components/user-agreement/user-agreement.js +31 -30
  30. package/components/user-card/card.d.ts +65 -13
  31. package/components/user-card/card.js +19 -22
  32. package/dist/_helpers/card.js +19 -28
  33. package/dist/_helpers/select__filter.js +14 -10
  34. package/dist/auth/auth.js +1 -0
  35. package/dist/auth/auth__core.d.ts +1 -1
  36. package/dist/auth/auth__core.js +19 -27
  37. package/dist/auth/landing.js +1 -0
  38. package/dist/auth-dialog/auth-dialog.js +1 -1
  39. package/dist/auth-ng/auth-ng.js +1 -0
  40. package/dist/date-picker/date-input.js +3 -1
  41. package/dist/date-picker/date-picker.js +2 -0
  42. package/dist/date-picker/date-popup.js +2 -0
  43. package/dist/editable-heading/editable-heading.js +32 -9
  44. package/dist/global/react-render-adapter.js +0 -2
  45. package/dist/header/header.js +2 -0
  46. package/dist/header/profile.d.ts +54 -1
  47. package/dist/header/profile.js +22 -15
  48. package/dist/header/smart-profile.js +2 -0
  49. package/dist/header/smart-services.js +1 -0
  50. package/dist/i18n/i18n-context.d.ts +54 -0
  51. package/dist/i18n/i18n-context.js +6 -0
  52. package/dist/i18n/i18n.d.ts +56 -0
  53. package/dist/i18n/i18n.js +114 -0
  54. package/dist/input/input.d.ts +1 -4
  55. package/dist/input/input.js +6 -7
  56. package/dist/message/message.d.ts +1 -5
  57. package/dist/message/message.js +5 -7
  58. package/dist/pager/pager.d.ts +54 -8
  59. package/dist/pager/pager.js +19 -15
  60. package/dist/pager-ng/pager-ng.js +2 -0
  61. package/dist/permissions-ng/permissions-ng.js +1 -0
  62. package/dist/query-assist/query-assist.d.ts +1 -5
  63. package/dist/query-assist/query-assist.js +22 -19
  64. package/dist/query-assist-ng/query-assist-ng.js +2 -0
  65. package/dist/select/select.d.ts +2 -4
  66. package/dist/select/select.js +49 -45
  67. package/dist/select/select__filter.d.ts +0 -1
  68. package/dist/select/select__filter.js +2 -0
  69. package/dist/select/select__popup.js +2 -0
  70. package/dist/select-ng/select-ng.js +2 -0
  71. package/dist/select-ng/select-ng__lazy.js +2 -0
  72. package/dist/style.css +1 -1
  73. package/dist/table-legacy-ng/table-legacy-ng.js +2 -0
  74. package/dist/table-legacy-ng/table-legacy-ng__pager.js +2 -0
  75. package/dist/tags-input/tags-input.js +2 -0
  76. package/dist/tags-input-ng/tags-input-ng.js +2 -0
  77. package/dist/user-agreement/service.js +2 -0
  78. package/dist/user-agreement/user-agreement.d.ts +1 -9
  79. package/dist/user-agreement/user-agreement.js +11 -17
  80. package/dist/user-card/card.d.ts +65 -13
  81. package/dist/user-card/card.js +2 -0
  82. package/dist/user-card/smart-user-card-tooltip.js +2 -0
  83. package/dist/user-card/tooltip.js +2 -0
  84. package/dist/user-card/user-card.js +2 -0
  85. package/dist/user-card-ng/user-card-ng.js +2 -0
  86. package/package.json +22 -22
@@ -11,6 +11,7 @@ import Select from '../select/select.js';
11
11
  import memoize from '../global/memoize.js';
12
12
  import Link from '../link/link.js';
13
13
  import Icon from '../icon/icon.js';
14
+ import { I18nContext } from '../i18n/i18n-context.js';
14
15
  import '@jetbrains/icons/chevron-10px';
15
16
  import '../link/clickableLink.js';
16
17
  import '../global/controls-height.js';
@@ -72,6 +73,7 @@ import '../list/consts.js';
72
73
  import '../input/input.js';
73
74
  import '../_helpers/input.js';
74
75
  import '../input/input-label.js';
76
+ import '../i18n/i18n.js';
75
77
  import '../global/rerender-hoc.js';
76
78
  import '../global/react-render-adapter.js';
77
79
  import '../global/fuzzy-highlight.js';
@@ -98,27 +100,25 @@ class Pager extends PureComponent {
98
100
  disablePageSizeSelector: false,
99
101
  openTotal: false,
100
102
  canLoadLastPageWithOpenTotal: false,
101
- translations: {
102
- perPage: 'per page',
103
- firstPage: 'First page',
104
- lastPage: 'Last page',
105
- nextPage: 'Next page',
106
- previousPage: 'Previous'
107
- },
108
103
  loader: false,
109
104
  loaderNavigation: false,
110
105
  onPageSizeChange: () => {},
111
106
  onLoadPage: () => {}
112
107
  };
108
+ static contextType = I18nContext;
113
109
  getSelectOptions() {
114
110
  const {
115
111
  pageSize,
116
112
  pageSizes
117
113
  } = this.props;
118
- const data = pageSizes.map(size => ({
119
- key: size,
120
- label: `${size} ${this.props.translations.perPage}`
121
- }));
114
+ const messages = this.context;
115
+ const data = pageSizes.map(size => {
116
+ var _this$props$translati;
117
+ return {
118
+ key: size,
119
+ label: `${size} ${((_this$props$translati = this.props.translations) !== null && _this$props$translati !== void 0 ? _this$props$translati : messages).perPage}`
120
+ };
121
+ });
122
122
  const selected = data.find(it => it.key === pageSize);
123
123
  return {
124
124
  selected,
@@ -207,6 +207,8 @@ class Pager extends PureComponent {
207
207
  }));
208
208
  }
209
209
  getPagerLinks() {
210
+ var _this$props$translati2, _this$props$translati3;
211
+ const messages = this.context;
210
212
  const prevLinkAvailable = this.props.currentPage !== 1;
211
213
  const nextLinkAvailable = this.props.openTotal || this.props.currentPage !== this.getTotalPages();
212
214
  const nextIcon = /*#__PURE__*/React.createElement(Icon, {
@@ -217,8 +219,8 @@ class Pager extends PureComponent {
217
219
  glyph: chevronLeftIcon,
218
220
  key: "icon"
219
221
  });
220
- const prevText = this.props.translations.previousPage;
221
- const nextText = this.props.translations.nextPage;
222
+ const prevText = ((_this$props$translati2 = this.props.translations) !== null && _this$props$translati2 !== void 0 ? _this$props$translati2 : messages).previousPage;
223
+ const nextText = ((_this$props$translati3 = this.props.translations) !== null && _this$props$translati3 !== void 0 ? _this$props$translati3 : messages).nextPage;
222
224
  const nextLinkContent = WrapText => [/*#__PURE__*/React.createElement("span", {
223
225
  key: "text"
224
226
  }, /*#__PURE__*/React.createElement(WrapText, null, nextText)), nextIcon];
@@ -257,11 +259,13 @@ class Pager extends PureComponent {
257
259
  return this.props.hrefFunc(page, pageSize);
258
260
  }
259
261
  getPagerContent() {
262
+ var _this$props$translati4, _this$props$translati5;
260
263
  const {
261
264
  currentPage,
262
265
  visiblePagesLimit
263
266
  } = this.props;
264
267
  const totalPages = this.getTotalPages();
268
+ const messages = this.context;
265
269
  if (totalPages < this.props.currentPage) {
266
270
  this.props.onPageChange?.(totalPages);
267
271
  }
@@ -291,10 +295,10 @@ class Pager extends PureComponent {
291
295
  buttons.push(this.getButton(i, i, i, i === currentPage));
292
296
  }
293
297
  const lastPageButtonAvailable = end < totalPages && !this.props.openTotal || this.props.openTotal && this.props.canLoadLastPageWithOpenTotal;
294
- return /*#__PURE__*/React.createElement("div", null, this.getPagerLinks(), /*#__PURE__*/React.createElement(ButtonToolbar, null, start > 1 && this.getButton(1, this.props.translations.firstPage), /*#__PURE__*/React.createElement(ButtonGroup, null, start > 1 && this.getButton(start - 1, '...'), buttons, end < totalPages && this.getButton(end + 1, '...'), end === totalPages && this.props.openTotal && /*#__PURE__*/React.createElement(Button, _extends({
298
+ return /*#__PURE__*/React.createElement("div", null, this.getPagerLinks(), /*#__PURE__*/React.createElement(ButtonToolbar, null, start > 1 && this.getButton(1, ((_this$props$translati4 = this.props.translations) !== null && _this$props$translati4 !== void 0 ? _this$props$translati4 : messages).firstPage), /*#__PURE__*/React.createElement(ButtonGroup, null, start > 1 && this.getButton(start - 1, '...'), buttons, end < totalPages && this.getButton(end + 1, '...'), end === totalPages && this.props.openTotal && /*#__PURE__*/React.createElement(Button, _extends({
295
299
  href: this.generateHref(end + 1),
296
300
  disabled: this.props.loader
297
- }, this.getClickProps(this.handleLoadMore(end + 1))), '...')), lastPageButtonAvailable && this.getButton(this.props.openTotal ? -1 : totalPages, this.props.translations.lastPage)), this.getPageSizeSelector());
301
+ }, this.getClickProps(this.handleLoadMore(end + 1))), '...')), lastPageButtonAvailable && this.getButton(this.props.openTotal ? -1 : totalPages, ((_this$props$translati5 = this.props.translations) !== null && _this$props$translati5 !== void 0 ? _this$props$translati5 : messages).lastPage)), this.getPageSizeSelector());
298
302
  }
299
303
  render() {
300
304
  const classes = classNames(modules_1a5f0d42.pager, this.props.className);
@@ -76,6 +76,8 @@ import '../list/list__separator.js';
76
76
  import '../list/list__hint.js';
77
77
  import '../list/consts.js';
78
78
  import '../input/input.js';
79
+ import '../i18n/i18n-context.js';
80
+ import '../i18n/i18n.js';
79
81
  import '../_helpers/input.js';
80
82
  import '../input/input-label.js';
81
83
  import '../global/rerender-hoc.js';
@@ -57,6 +57,7 @@ import '../auth/auth__core.js';
57
57
  import '../global/listeners.js';
58
58
  import '../http/http.js';
59
59
  import '../global/promise-with-timeout.js';
60
+ import '../i18n/i18n.js';
60
61
  import '../auth/storage.js';
61
62
  import '../storage/storage.js';
62
63
  import '../storage/storage__local.js';
@@ -40,7 +40,7 @@ export interface QueryAssistProps {
40
40
  onApplySuggestion: (suggestion: QueryAssistSuggestion, change: QueryAssistChange) => void;
41
41
  onClear: () => void;
42
42
  onFocusChange: (change: FocusChange) => void;
43
- translations: QueryAssistTranslations;
43
+ translations?: QueryAssistTranslations | null | undefined;
44
44
  autoOpen?: boolean | null | undefined | 'force';
45
45
  caret?: number | null | undefined;
46
46
  clear?: boolean | null | undefined;
@@ -226,10 +226,6 @@ export default class QueryAssist extends Component<QueryAssistProps> {
226
226
  onClear: typeof noop;
227
227
  onFocusChange: typeof noop;
228
228
  size: Size;
229
- translations: {
230
- searchTitle: string;
231
- clearTitle: string;
232
- };
233
229
  };
234
230
  static getDerivedStateFromProps({ query }: QueryAssistProps, { prevQuery }: QueryAssistState): Partial<QueryAssistState>;
235
231
  constructor(props: QueryAssistProps);
@@ -19,6 +19,7 @@ import Icon from '../icon/icon.js';
19
19
  import { ControlsHeightContext, ControlsHeight } from '../global/controls-height.js';
20
20
  import { Size } from '../input/input.js';
21
21
  import { m as modules_88cfaf40 } from '../_helpers/input.js';
22
+ import { I18nContext } from '../i18n/i18n-context.js';
22
23
  import { Q as QueryAssistSuggestions, m as modules_da7ab055 } from '../_helpers/query-assist__suggestions.js';
23
24
  import '../_helpers/_rollupPluginBabelHelpers.js';
24
25
  import 'react-dom/server';
@@ -71,6 +72,7 @@ import '../global/react-render-adapter.js';
71
72
  import '@jetbrains/icons/chevron-10px';
72
73
  import '../_helpers/button__classes.js';
73
74
  import '../input/input-label.js';
75
+ import '../i18n/i18n.js';
74
76
 
75
77
  const POPUP_COMPENSATION = PopupMenu.ListProps.Dimension.ITEM_PADDING + PopupMenu.PopupProps.Dimension.BORDER_WIDTH;
76
78
  const ngModelStateField = 'query';
@@ -216,11 +218,7 @@ class QueryAssist extends Component {
216
218
  onApplySuggestion: noop,
217
219
  onClear: noop,
218
220
  onFocusChange: noop,
219
- size: Size.L,
220
- translations: {
221
- searchTitle: 'Search',
222
- clearTitle: 'Clear search input'
223
- }
221
+ size: Size.L
224
222
  };
225
223
  static getDerivedStateFromProps(_ref, _ref2) {
226
224
  let {
@@ -872,14 +870,18 @@ class QueryAssist extends Component {
872
870
  const actions = [...(this.props.actions || [])];
873
871
  const renderClear = this.props.clear && !!this.state.query;
874
872
  if (renderClear) {
875
- actions.push( /*#__PURE__*/React.createElement(Button, {
876
- icon: closeIcon,
877
- key: 'clearAction',
878
- className: modules_da7ab055.clear,
879
- title: this.props.translations.clearTitle,
880
- ref: this.clearRef,
881
- onClick: this.clearQuery,
882
- "data-test": "query-assist-clear-icon"
873
+ actions.push( /*#__PURE__*/React.createElement(I18nContext.Consumer, {
874
+ key: 'clearAction'
875
+ }, messages => {
876
+ var _this$props$translati;
877
+ return /*#__PURE__*/React.createElement(Button, {
878
+ icon: closeIcon,
879
+ className: modules_da7ab055.clear,
880
+ title: ((_this$props$translati = this.props.translations) !== null && _this$props$translati !== void 0 ? _this$props$translati : messages).clearTitle,
881
+ ref: this.clearRef,
882
+ onClick: this.clearQuery,
883
+ "data-test": "query-assist-clear-icon"
884
+ });
883
885
  }));
884
886
  }
885
887
  return actions;
@@ -891,7 +893,8 @@ class QueryAssist extends Component {
891
893
  className,
892
894
  useCustomItemRender,
893
895
  huge,
894
- size
896
+ size,
897
+ translations
895
898
  } = this.props;
896
899
  const renderPlaceholder = !!this.props.placeholder && this.state.placeholderEnabled;
897
900
  const renderLoader = this.props.loader !== false && this.state.loading;
@@ -916,7 +919,7 @@ class QueryAssist extends Component {
916
919
  });
917
920
  return /*#__PURE__*/React.createElement(ControlsHeightContext.Provider, {
918
921
  value: ControlsHeight.M
919
- }, /*#__PURE__*/React.createElement("div", {
922
+ }, /*#__PURE__*/React.createElement(I18nContext.Consumer, null, messages => /*#__PURE__*/React.createElement("div", {
920
923
  "data-test": joinDataTestAttributes('ring-query-assist', dataTest),
921
924
  className: containerClasses,
922
925
  role: "presentation",
@@ -927,7 +930,7 @@ class QueryAssist extends Component {
927
930
  }), renderGlass && !huge && /*#__PURE__*/React.createElement(Icon, {
928
931
  glyph: searchIcon,
929
932
  className: modules_da7ab055.icon,
930
- title: this.props.translations.searchTitle,
933
+ title: (translations !== null && translations !== void 0 ? translations : messages).searchTitle,
931
934
  ref: this.glassRef,
932
935
  "data-test": "query-assist-search-icon"
933
936
  }), renderLoader && /*#__PURE__*/React.createElement("div", {
@@ -937,7 +940,7 @@ class QueryAssist extends Component {
937
940
  }),
938
941
  ref: this.loaderRef
939
942
  }, /*#__PURE__*/React.createElement(LoaderInline, null)), /*#__PURE__*/React.createElement(ContentEditable, {
940
- "aria-label": this.props.translations.searchTitle,
943
+ "aria-label": (translations !== null && translations !== void 0 ? translations : messages).searchTitle,
941
944
  className: inputClasses,
942
945
  "data-test": "ring-query-assist-input",
943
946
  inputRef: this.inputRef,
@@ -990,11 +993,11 @@ class QueryAssist extends Component {
990
993
  }, /*#__PURE__*/React.createElement(Icon, {
991
994
  glyph: searchIcon,
992
995
  className: modules_da7ab055.rightSearchIcon,
993
- title: this.props.translations.searchTitle,
996
+ title: (translations !== null && translations !== void 0 ? translations : messages).searchTitle,
994
997
  onClick: this.handleApply,
995
998
  ref: this.glassRef,
996
999
  "data-test": "query-assist-search-icon"
997
- }))));
1000
+ })))));
998
1001
  }
999
1002
  }
1000
1003
  const RerenderableQueryAssist = rerenderHOC(QueryAssist);
@@ -73,6 +73,8 @@ import '@jetbrains/icons/chevron-10px';
73
73
  import '../global/controls-height.js';
74
74
  import '../_helpers/button__classes.js';
75
75
  import '../input/input.js';
76
+ import '../i18n/i18n-context.js';
77
+ import '../i18n/i18n.js';
76
78
  import '../_helpers/input.js';
77
79
  import '../input/input-label.js';
78
80
  import '../_helpers/query-assist__suggestions.js';
@@ -54,8 +54,8 @@ export interface BaseSelectProps<T = unknown> {
54
54
  clear: boolean;
55
55
  loading: boolean;
56
56
  disabled: boolean;
57
- loadingMessage: string;
58
- notFoundMessage: string;
57
+ loadingMessage?: string;
58
+ notFoundMessage?: string;
59
59
  type: Type;
60
60
  size: Size;
61
61
  hideSelected: boolean;
@@ -155,8 +155,6 @@ export default class Select<T = unknown> extends Component<SelectProps<T>, Selec
155
155
  clear: boolean;
156
156
  loading: boolean;
157
157
  disabled: boolean;
158
- loadingMessage: string;
159
- notFoundMessage: string;
160
158
  type: Type;
161
159
  size: Size;
162
160
  targetElement: null;
@@ -18,6 +18,7 @@ import getUID from '../global/get-uid.js';
18
18
  import rerenderHOC from '../global/rerender-hoc.js';
19
19
  import fuzzyHighlight from '../global/fuzzy-highlight.js';
20
20
  import memoize from '../global/memoize.js';
21
+ import { I18nContext } from '../i18n/i18n-context.js';
21
22
  import { isArray } from '../global/typescript-utils.js';
22
23
  import { ControlsHeightContext, ControlsHeight } from '../global/controls-height.js';
23
24
  import { m as modules_88cfaf40 } from '../_helpers/input.js';
@@ -68,6 +69,7 @@ import '../list/list__separator.js';
68
69
  import '../list/list__hint.js';
69
70
  import '../list/consts.js';
70
71
  import '../global/react-render-adapter.js';
72
+ import '../i18n/i18n.js';
71
73
  import '@jetbrains/icons/search';
72
74
  import '../loader-inline/loader-inline.js';
73
75
  import '../_helpers/loader-inline.js';
@@ -238,8 +240,6 @@ class Select extends Component {
238
240
  clear: false,
239
241
  loading: false,
240
242
  disabled: false,
241
- loadingMessage: 'Loading...',
242
- notFoundMessage: 'No options found',
243
243
  type: Type.BUTTON,
244
244
  size: Size.M,
245
245
  targetElement: null,
@@ -511,49 +511,53 @@ class Select extends Component {
511
511
  shownData
512
512
  } = this.state;
513
513
  const _shownData = this._prependResetOption(shownData);
514
- let message;
515
- if (this.props.loading) {
516
- message = this.props.loadingMessage;
517
- } else if (!shownData.length) {
518
- message = this.props.notFoundMessage;
519
- }
520
- return /*#__PURE__*/React.createElement(SelectPopup, {
521
- data: _shownData,
522
- message: message,
523
- toolbar: showPopup && this.getToolbar(),
524
- loading: this.props.loading,
525
- activeIndex: this.state.selectedIndex,
526
- hidden: !showPopup,
527
- ref: this.popupRef,
528
- maxHeight: this.props.maxHeight,
529
- minWidth: this.props.minWidth,
530
- directions: this.props.directions,
531
- className: this.props.popupClassName,
532
- style: this.props.popupStyle,
533
- top: this.props.top,
534
- left: this.props.left,
535
- filter: this.isInputMode() ? false : this.props.filter // disable popup filter in INPUT mode
536
- ,
537
- multiple: this.props.multiple,
538
- filterValue: this.state.filterValue,
539
- anchorElement: anchorElement,
540
- onCloseAttempt: this._onCloseAttempt,
541
- onSelect: this._listSelectHandler,
542
- onSelectAll: this._listSelectAllHandler,
543
- onFilter: this._filterChangeHandler,
544
- onClear: this.clearFilter,
545
- onLoadMore: this.props.onLoadMore,
546
- isInputMode: this.isInputMode(),
547
- selected: this.state.selected,
548
- tags: this.props.tags,
549
- compact: this.props.compact,
550
- renderOptimization: this.props.renderOptimization,
551
- ringPopupTarget: this.props.ringPopupTarget,
552
- disableMoveOverflow: this.props.disableMoveOverflow,
553
- disableScrollToActive: this.props.disableScrollToActive,
554
- dir: this.props.dir,
555
- onEmptyPopupEnter: this.onEmptyPopupEnter,
556
- listId: this.listId
514
+ return /*#__PURE__*/React.createElement(I18nContext.Consumer, null, messages => {
515
+ let message;
516
+ if (this.props.loading) {
517
+ var _this$props$loadingMe;
518
+ message = (_this$props$loadingMe = this.props.loadingMessage) !== null && _this$props$loadingMe !== void 0 ? _this$props$loadingMe : messages.loading;
519
+ } else if (!shownData.length) {
520
+ var _this$props$notFoundM;
521
+ message = (_this$props$notFoundM = this.props.notFoundMessage) !== null && _this$props$notFoundM !== void 0 ? _this$props$notFoundM : messages.noOptionsFound;
522
+ }
523
+ return /*#__PURE__*/React.createElement(SelectPopup, {
524
+ data: _shownData,
525
+ message: message,
526
+ toolbar: showPopup && this.getToolbar(),
527
+ loading: this.props.loading,
528
+ activeIndex: this.state.selectedIndex,
529
+ hidden: !showPopup,
530
+ ref: this.popupRef,
531
+ maxHeight: this.props.maxHeight,
532
+ minWidth: this.props.minWidth,
533
+ directions: this.props.directions,
534
+ className: this.props.popupClassName,
535
+ style: this.props.popupStyle,
536
+ top: this.props.top,
537
+ left: this.props.left,
538
+ filter: this.isInputMode() ? false : this.props.filter // disable popup filter in INPUT mode
539
+ ,
540
+ multiple: this.props.multiple,
541
+ filterValue: this.state.filterValue,
542
+ anchorElement: anchorElement,
543
+ onCloseAttempt: this._onCloseAttempt,
544
+ onSelect: this._listSelectHandler,
545
+ onSelectAll: this._listSelectAllHandler,
546
+ onFilter: this._filterChangeHandler,
547
+ onClear: this.clearFilter,
548
+ onLoadMore: this.props.onLoadMore,
549
+ isInputMode: this.isInputMode(),
550
+ selected: this.state.selected,
551
+ tags: this.props.tags,
552
+ compact: this.props.compact,
553
+ renderOptimization: this.props.renderOptimization,
554
+ ringPopupTarget: this.props.ringPopupTarget,
555
+ disableMoveOverflow: this.props.disableMoveOverflow,
556
+ disableScrollToActive: this.props.disableScrollToActive,
557
+ dir: this.props.dir,
558
+ onEmptyPopupEnter: this.onEmptyPopupEnter,
559
+ listId: this.listId
560
+ });
557
561
  });
558
562
  }
559
563
  _showPopup() {
@@ -7,7 +7,6 @@ type SelectFilterProps = InputAttrs & {
7
7
  };
8
8
  export default class SelectFilter extends Component<SelectFilterProps> {
9
9
  static defaultProps: {
10
- placeholder: string;
11
10
  inputRef: typeof noop;
12
11
  };
13
12
  componentWillUnmount(): void;
@@ -5,6 +5,7 @@ import 'classnames';
5
5
  import '../input/input.js';
6
6
  import '../global/sniffer.js';
7
7
  import '../list/list.js';
8
+ import '../i18n/i18n-context.js';
8
9
  export { S as default } from '../_helpers/select__filter.js';
9
10
  import '@jetbrains/icons/close-12px';
10
11
  import '../global/prop-types.js';
@@ -23,6 +24,7 @@ import '../global/get-uid.js';
23
24
  import '../global/composeRefs.js';
24
25
  import '../_helpers/input.js';
25
26
  import '../input/input-label.js';
27
+ import '../i18n/i18n.js';
26
28
  import 'sniffr';
27
29
  import 'react-virtualized/dist/es/List';
28
30
  import 'react-virtualized/dist/es/AutoSizer';
@@ -66,6 +66,8 @@ import '@jetbrains/icons/close-12px';
66
66
  import '@jetbrains/icons/chevron-10px';
67
67
  import '../_helpers/button__classes.js';
68
68
  import '../input/input.js';
69
+ import '../i18n/i18n-context.js';
70
+ import '../i18n/i18n.js';
69
71
  import '../_helpers/input.js';
70
72
  import '../input/input-label.js';
71
73
 
@@ -68,6 +68,8 @@ import '../list/list__separator.js';
68
68
  import '../list/list__hint.js';
69
69
  import '../list/consts.js';
70
70
  import '../input/input.js';
71
+ import '../i18n/i18n-context.js';
72
+ import '../i18n/i18n.js';
71
73
  import '../_helpers/input.js';
72
74
  import '../input/input-label.js';
73
75
  import '../global/rerender-hoc.js';
@@ -65,6 +65,8 @@ import '../list/list__separator.js';
65
65
  import '../list/list__hint.js';
66
66
  import '../list/consts.js';
67
67
  import '../input/input.js';
68
+ import '../i18n/i18n-context.js';
69
+ import '../i18n/i18n.js';
68
70
  import '../_helpers/input.js';
69
71
  import '../input/input-label.js';
70
72
  import '../global/rerender-hoc.js';