@jetbrains/ring-ui-built 7.0.0-beta.2 → 7.0.0-beta.3

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 (236) hide show
  1. package/components/_helpers/_rollupPluginBabelHelpers.js +1 -504
  2. package/components/_helpers/anchor.js +7 -5
  3. package/components/_helpers/button__classes.js +15 -13
  4. package/components/_helpers/caption.js +11 -17
  5. package/components/_helpers/card.js +92 -96
  6. package/components/_helpers/dialog__body-scroll-preventer.js +10 -17
  7. package/components/_helpers/icon__svg.js +27 -23
  8. package/components/_helpers/input.js +150 -171
  9. package/components/_helpers/query-assist__suggestions.js +78 -93
  10. package/components/_helpers/select__filter.js +56 -67
  11. package/components/_helpers/services-link.js +23 -29
  12. package/components/_helpers/sidebar.js +91 -93
  13. package/components/_helpers/tab-link.js +8 -6
  14. package/components/_helpers/theme.js +41 -50
  15. package/components/_helpers/title.js +59 -69
  16. package/components/alert/alert.js +112 -156
  17. package/components/alert/container.js +32 -39
  18. package/components/alert-service/alert-service.js +104 -161
  19. package/components/analytics/analytics.js +12 -20
  20. package/components/analytics/analytics__custom-plugin.js +52 -68
  21. package/components/auth/auth.js +2 -27
  22. package/components/auth/auth__core.d.ts +1 -1
  23. package/components/auth/auth__core.js +742 -1428
  24. package/components/auth/background-flow.js +84 -121
  25. package/components/auth/down-notification.js +31 -69
  26. package/components/auth/iframe-flow.js +70 -123
  27. package/components/auth/request-builder.js +46 -77
  28. package/components/auth/response-parser.js +84 -112
  29. package/components/auth/storage.js +160 -318
  30. package/components/auth/token-validator.js +132 -227
  31. package/components/auth/window-flow.js +84 -121
  32. package/components/auth-dialog/auth-dialog.js +99 -150
  33. package/components/auth-dialog-service/auth-dialog-service.js +6 -26
  34. package/components/avatar/avatar-example-datauri.js +1 -1
  35. package/components/avatar/avatar.js +94 -123
  36. package/components/avatar/fallback-avatar.js +20 -34
  37. package/components/badge/badge.js +32 -38
  38. package/components/breadcrumbs/breadcrumbs.js +13 -17
  39. package/components/button/button.js +67 -80
  40. package/components/button-group/button-group.js +27 -36
  41. package/components/button-set/button-set.js +19 -27
  42. package/components/button-toolbar/button-toolbar.js +17 -25
  43. package/components/caret/caret.js +184 -211
  44. package/components/checkbox/checkbox.js +69 -86
  45. package/components/clipboard/clipboard-fallback.js +7 -7
  46. package/components/clipboard/clipboard.js +36 -128
  47. package/components/code/code.js +83 -151
  48. package/components/collapse/collapse-content.js +42 -60
  49. package/components/collapse/collapse-context.js +2 -2
  50. package/components/collapse/collapse-control.js +12 -12
  51. package/components/collapse/collapse.js +12 -17
  52. package/components/collapse/consts.js +4 -4
  53. package/components/collapse/utils.js +1 -3
  54. package/components/confirm/confirm.js +57 -87
  55. package/components/confirm-service/confirm-service.js +23 -44
  56. package/components/content-layout/content-layout.js +41 -56
  57. package/components/content-layout/sidebar.js +1 -1
  58. package/components/contenteditable/contenteditable.js +38 -46
  59. package/components/control-help/control-help.js +5 -3
  60. package/components/control-label/control-label.js +9 -8
  61. package/components/data-list/data-list.js +113 -156
  62. package/components/data-list/data-list.mock.js +3 -5
  63. package/components/data-list/item.js +120 -140
  64. package/components/data-list/selection.js +77 -135
  65. package/components/data-list/title.js +2 -10
  66. package/components/date-picker/consts.js +16 -22
  67. package/components/date-picker/date-input.js +99 -124
  68. package/components/date-picker/date-picker.js +140 -184
  69. package/components/date-picker/date-popup.js +280 -327
  70. package/components/date-picker/day.js +71 -94
  71. package/components/date-picker/month-names.js +41 -59
  72. package/components/date-picker/month-slider.js +42 -61
  73. package/components/date-picker/month.js +17 -24
  74. package/components/date-picker/months.js +44 -49
  75. package/components/date-picker/weekdays.js +12 -21
  76. package/components/date-picker/years.js +77 -98
  77. package/components/dialog/dialog.js +151 -187
  78. package/components/dialog/dialog__body-scroll-preventer.js +0 -3
  79. package/components/dropdown/anchor.js +0 -6
  80. package/components/dropdown/dropdown.js +134 -154
  81. package/components/dropdown-menu/dropdown-menu.js +59 -87
  82. package/components/editable-heading/editable-heading.js +69 -116
  83. package/components/error-bubble/error-bubble.js +29 -54
  84. package/components/error-message/error-message.js +34 -49
  85. package/components/footer/footer.js +27 -28
  86. package/components/global/compose.js +1 -8
  87. package/components/global/composeRefs.d.ts +0 -3
  88. package/components/global/composeRefs.js +8 -15
  89. package/components/global/controls-height.js +2 -2
  90. package/components/global/create-stateful-context.js +14 -13
  91. package/components/global/data-tests.js +7 -12
  92. package/components/global/dom.js +49 -82
  93. package/components/global/focus-sensor-hoc.js +99 -106
  94. package/components/global/fuzzy-highlight.js +23 -34
  95. package/components/global/get-event-key.js +8 -8
  96. package/components/global/get-uid.js +3 -7
  97. package/components/global/inject-styles.js +7 -14
  98. package/components/global/listeners.js +28 -47
  99. package/components/global/memoize.js +6 -10
  100. package/components/global/normalize-indent.js +19 -46
  101. package/components/global/promise-with-timeout.js +6 -8
  102. package/components/global/prop-types.js +3 -5
  103. package/components/global/react-dom-renderer.js +29 -40
  104. package/components/global/rerender-hoc.js +16 -32
  105. package/components/global/schedule-raf.js +4 -4
  106. package/components/global/sniffer.js +1 -1
  107. package/components/global/theme.js +1 -18
  108. package/components/global/trivial-template-tag.js +4 -9
  109. package/components/global/typescript-utils.js +2 -6
  110. package/components/global/url.js +20 -23
  111. package/components/global/use-event-callback.js +7 -4
  112. package/components/grid/col.js +27 -39
  113. package/components/grid/grid.js +18 -27
  114. package/components/grid/row.js +23 -30
  115. package/components/group/group.js +16 -22
  116. package/components/header/header-icon.js +19 -31
  117. package/components/header/header.d.ts +0 -1
  118. package/components/header/header.js +30 -64
  119. package/components/header/links.js +6 -3
  120. package/components/header/logo.js +15 -26
  121. package/components/header/profile.js +124 -150
  122. package/components/header/services-link.js +1 -3
  123. package/components/header/services.js +64 -97
  124. package/components/header/smart-profile.js +101 -178
  125. package/components/header/smart-services.js +55 -90
  126. package/components/header/tray.js +21 -30
  127. package/components/heading/heading.js +21 -20
  128. package/components/http/http.js +162 -319
  129. package/components/http/http.mock.js +50 -98
  130. package/components/hub-source/hub-source.js +77 -182
  131. package/components/hub-source/hub-source__user.js +9 -37
  132. package/components/hub-source/hub-source__users-groups.js +34 -60
  133. package/components/i18n/i18n-context.js +7 -8
  134. package/components/i18n/i18n.js +3 -6
  135. package/components/icon/icon.js +60 -74
  136. package/components/icon/icon__svg.js +0 -5
  137. package/components/icon/index.js +0 -5
  138. package/components/input/input.js +1 -11
  139. package/components/island/adaptive-island-hoc.js +29 -37
  140. package/components/island/content.js +100 -110
  141. package/components/island/header.js +56 -66
  142. package/components/island/island.js +25 -33
  143. package/components/island-legacy/content-legacy.js +16 -22
  144. package/components/island-legacy/header-legacy.js +19 -25
  145. package/components/island-legacy/island-legacy.js +16 -22
  146. package/components/link/clickableLink.js +33 -42
  147. package/components/link/link.js +47 -55
  148. package/components/list/consts.js +2 -2
  149. package/components/list/list.js +399 -486
  150. package/components/list/list__custom.js +51 -61
  151. package/components/list/list__hint.js +9 -17
  152. package/components/list/list__item.js +147 -178
  153. package/components/list/list__link.js +38 -47
  154. package/components/list/list__separator.js +15 -24
  155. package/components/list/list__title.js +25 -34
  156. package/components/list/list__users-groups-source.js +55 -121
  157. package/components/loader/loader.js +38 -60
  158. package/components/loader/loader__core.js +123 -184
  159. package/components/loader-inline/loader-inline.js +24 -32
  160. package/components/loader-screen/loader-screen.js +24 -40
  161. package/components/login-dialog/login-dialog.js +81 -121
  162. package/components/login-dialog/service.js +6 -29
  163. package/components/markdown/markdown.js +16 -24
  164. package/components/message/message.js +170 -201
  165. package/components/old-browsers-message/old-browsers-message.js +11 -14
  166. package/components/old-browsers-message/old-browsers-message__stop.js +1 -4
  167. package/components/old-browsers-message/white-list.js +8 -13
  168. package/components/pager/pager.js +212 -257
  169. package/components/panel/panel.js +16 -22
  170. package/components/permissions/permissions.js +118 -161
  171. package/components/permissions/permissions__cache.js +191 -218
  172. package/components/popup/popup.consts.js +1 -1
  173. package/components/popup/popup.js +237 -288
  174. package/components/popup/popup.target.js +9 -7
  175. package/components/popup/position.js +94 -101
  176. package/components/popup-menu/popup-menu.js +33 -67
  177. package/components/progress-bar/progress-bar.js +57 -68
  178. package/components/query-assist/query-assist.js +583 -652
  179. package/components/query-assist/query-assist__suggestions.js +2 -26
  180. package/components/radio/radio.js +15 -27
  181. package/components/radio/radio__item.js +52 -62
  182. package/components/scrollable-section/scrollable-section.js +22 -32
  183. package/components/select/select.js +693 -793
  184. package/components/select/select__filter.js +1 -26
  185. package/components/select/select__popup.js +316 -413
  186. package/components/shortcuts/core.js +147 -195
  187. package/components/shortcuts/shortcut-title.js +6 -10
  188. package/components/shortcuts/shortcuts-hoc.js +23 -41
  189. package/components/shortcuts/shortcuts.js +41 -64
  190. package/components/slider/slider.js +93 -112
  191. package/components/slider/slider.utils.js +16 -23
  192. package/components/storage/storage.js +3 -27
  193. package/components/storage/storage__fallback.js +137 -210
  194. package/components/storage/storage__local.js +89 -147
  195. package/components/style.css +1 -1
  196. package/components/tab-trap/tab-trap.js +35 -53
  197. package/components/table/cell.js +11 -21
  198. package/components/table/disable-hover-hoc.js +27 -42
  199. package/components/table/header-cell.js +59 -75
  200. package/components/table/header.js +89 -110
  201. package/components/table/multitable.js +83 -89
  202. package/components/table/row-with-focus-sensor.js +25 -57
  203. package/components/table/row.js +169 -200
  204. package/components/table/selection-adapter.js +2 -2
  205. package/components/table/selection-shortcuts-hoc.js +108 -113
  206. package/components/table/selection.js +150 -217
  207. package/components/table/simple-table.js +19 -55
  208. package/components/table/smart-table.js +42 -76
  209. package/components/table/table.js +267 -327
  210. package/components/tabs/collapsible-more.js +47 -73
  211. package/components/tabs/collapsible-tab.js +32 -36
  212. package/components/tabs/collapsible-tabs.js +89 -148
  213. package/components/tabs/custom-item.js +4 -2
  214. package/components/tabs/dumb-tabs.js +60 -92
  215. package/components/tabs/smart-tabs.js +29 -61
  216. package/components/tabs/tab-link.js +1 -3
  217. package/components/tabs/tab.js +15 -24
  218. package/components/tabs/tabs.js +1 -26
  219. package/components/tag/tag.d.ts +0 -2
  220. package/components/tag/tag.js +120 -162
  221. package/components/tags-input/tags-input.js +222 -304
  222. package/components/tags-list/tags-list.js +45 -61
  223. package/components/text/text.js +28 -37
  224. package/components/toggle/toggle.js +51 -61
  225. package/components/tooltip/tooltip.js +109 -141
  226. package/components/user-agreement/service.js +259 -400
  227. package/components/user-agreement/user-agreement.js +80 -108
  228. package/components/user-card/card.js +1 -25
  229. package/components/user-card/smart-user-card-tooltip.js +52 -103
  230. package/components/user-card/tooltip.js +35 -65
  231. package/components/user-card/user-card.js +1 -25
  232. package/package.json +1 -1
  233. package/components/global/react-render-adapter.d.ts +0 -1
  234. package/components/global/react-render-adapter.js +0 -6
  235. package/components/header/tray-icon.d.ts +0 -1
  236. package/components/header/tray-icon.js +0 -26
@@ -1,14 +1,7 @@
1
- import { i as _slicedToArray, j as _toConsumableArray } from '../_helpers/_rollupPluginBabelHelpers.js';
2
- import 'core-js/modules/es.array.filter.js';
3
- import 'core-js/modules/es.array.find.js';
4
- import 'core-js/modules/es.array.find-index.js';
5
- import 'core-js/modules/es.array.map.js';
6
1
  import 'core-js/modules/es.array.reduce.js';
7
- import 'core-js/modules/es.array.slice.js';
8
- import 'core-js/modules/es.object.to-string.js';
9
2
  import 'core-js/modules/es.regexp.exec.js';
10
3
  import 'core-js/modules/es.string.replace.js';
11
- import 'core-js/modules/web.dom-collections.for-each.js';
4
+ import 'core-js/modules/web.dom-collections.iterator.js';
12
5
  import { memo, useState, useRef, useMemo, useCallback, useEffect } from 'react';
13
6
  import PropTypes from 'prop-types';
14
7
  import classNames from 'classnames';
@@ -17,32 +10,21 @@ import { m as modules_02138f4a } from '../_helpers/tab-link.js';
17
10
  import { MoreButton, FakeMoreButton } from './collapsible-more.js';
18
11
  import getTabTitles from './collapsible-tab.js';
19
12
  import { jsxs, jsx } from 'react/jsx-runtime';
13
+ import '../_helpers/_rollupPluginBabelHelpers.js';
20
14
  import '../link/link.js';
21
15
  import '../global/data-tests.js';
22
- import 'core-js/modules/es.array.concat.js';
23
- import 'core-js/modules/es.object.entries.js';
24
16
  import '../link/clickableLink.js';
25
17
  import '../_helpers/link.js';
26
18
  import '@jetbrains/icons/chevron-10px';
27
19
  import '../popup/popup.consts.js';
28
20
  import '../popup-menu/popup-menu.js';
29
21
  import '../popup/popup.js';
30
- import 'core-js/modules/es.regexp.to-string.js';
31
22
  import 'react-dom';
32
23
  import '../global/get-uid.js';
33
24
  import '../global/schedule-raf.js';
34
25
  import '../global/dom.js';
35
- import 'core-js/modules/es.array.iterator.js';
36
- import 'core-js/modules/es.object.assign.js';
37
- import 'core-js/modules/es.set.js';
38
- import 'core-js/modules/es.string.split.js';
39
- import 'core-js/modules/web.dom-collections.iterator.js';
40
26
  import '../shortcuts/shortcuts.js';
41
27
  import '../shortcuts/core.js';
42
- import 'core-js/modules/es.array.includes.js';
43
- import 'core-js/modules/es.array.splice.js';
44
- import 'core-js/modules/es.string.includes.js';
45
- import 'core-js/modules/es.string.match.js';
46
28
  import 'combokeys';
47
29
  import '../global/sniffer.js';
48
30
  import 'sniffr';
@@ -51,7 +33,6 @@ import '../popup/position.js';
51
33
  import 'core-js/modules/es.array.sort.js';
52
34
  import '../popup/popup.target.js';
53
35
  import '../list/list.js';
54
- import 'core-js/modules/es.symbol.js';
55
36
  import 'core-js/modules/es.symbol.description.js';
56
37
  import 'react-virtualized/dist/es/List';
57
38
  import 'react-virtualized/dist/es/AutoSizer';
@@ -60,24 +41,19 @@ import 'react-virtualized/dist/es/CellMeasurer';
60
41
  import 'util-deprecate';
61
42
  import 'memoize-one';
62
43
  import '../global/memoize.js';
63
- import 'core-js/modules/es.map.js';
64
- import 'core-js/modules/es.weak-map.js';
65
44
  import '../global/create-stateful-context.js';
66
45
  import '../list/list__link.js';
67
46
  import '../_helpers/list.js';
68
47
  import '../list/list__item.js';
69
- import 'core-js/modules/es.array.index-of.js';
70
48
  import '../avatar/avatar.js';
71
49
  import '../global/url.js';
72
50
  import '../avatar/fallback-avatar.js';
73
- import 'core-js/modules/es.array.from.js';
74
51
  import '../checkbox/checkbox.js';
75
52
  import '@jetbrains/icons/checkmark-12px';
76
53
  import '@jetbrains/icons/remove-12px';
77
54
  import '../icon/icon.js';
78
55
  import '../icon/icon__constants.js';
79
56
  import '../_helpers/icon__svg.js';
80
- import 'core-js/modules/es.string.starts-with.js';
81
57
  import '../global/prop-types.js';
82
58
  import '../global/composeRefs.js';
83
59
  import '../control-help/control-help.js';
@@ -96,57 +72,44 @@ import '../global/controls-height.js';
96
72
  import '../_helpers/button__classes.js';
97
73
  import './custom-item.js';
98
74
 
99
- var DEFAULT_DEBOUNCE_INTERVAL = 100;
100
- var MEASURE_TOLERANCE = 0.5;
101
- var CollapsibleTabs = function CollapsibleTabs(_ref) {
102
- var children = _ref.children,
103
- selected = _ref.selected,
104
- onSelect = _ref.onSelect,
105
- moreClassName = _ref.moreClassName,
106
- moreActiveClassName = _ref.moreActiveClassName,
107
- morePopupClassName = _ref.morePopupClassName,
108
- morePopupBeforeEnd = _ref.morePopupBeforeEnd,
109
- morePopupItemClassName = _ref.morePopupItemClassName,
110
- initialVisibleItems = _ref.initialVisibleItems;
111
- var _useState = useState({
112
- tabs: [],
113
- more: undefined
114
- }),
115
- _useState2 = _slicedToArray(_useState, 2),
116
- sizes = _useState2[0],
117
- setSizes = _useState2[1];
118
- var _useState3 = useState(null),
119
- _useState4 = _slicedToArray(_useState3, 2),
120
- lastVisibleIndex = _useState4[0],
121
- setLastVisibleIndex = _useState4[1];
122
- var elements = {
75
+ const DEFAULT_DEBOUNCE_INTERVAL = 100;
76
+ const MEASURE_TOLERANCE = 0.5;
77
+ const CollapsibleTabs = _ref => {
78
+ let {
79
+ children,
80
+ selected,
81
+ onSelect,
82
+ moreClassName,
83
+ moreActiveClassName,
84
+ morePopupClassName,
85
+ morePopupBeforeEnd,
86
+ morePopupItemClassName,
87
+ initialVisibleItems
88
+ } = _ref;
89
+ const [sizes, setSizes] = useState({
90
+ tabs: [],
91
+ more: undefined
92
+ });
93
+ const [lastVisibleIndex, setLastVisibleIndex] = useState(null);
94
+ const elements = {
123
95
  sizes,
124
96
  lastVisibleIndex
125
97
  };
126
- var _useState5 = useState({
127
- visible: [],
128
- hidden: []
129
- }),
130
- _useState6 = _slicedToArray(_useState5, 2),
131
- preparedElements = _useState6[0],
132
- setPreparedElements = _useState6[1];
133
- var measureRef = useRef(null);
134
- var selectedIndex = useMemo(function () {
98
+ const [preparedElements, setPreparedElements] = useState({
99
+ visible: [],
100
+ hidden: []
101
+ });
102
+ const measureRef = useRef(null);
103
+ const selectedIndex = useMemo(() => {
135
104
  var _children$filter$find;
136
- return (_children$filter$find = children.filter(function (tab) {
137
- return tab.props.alwaysHidden !== true;
138
- }).findIndex(function (tab) {
139
- return tab.props.id === selected;
140
- })) !== null && _children$filter$find !== void 0 ? _children$filter$find : null;
105
+ return (_children$filter$find = children.filter(tab => tab.props.alwaysHidden !== true).findIndex(tab => tab.props.id === selected)) !== null && _children$filter$find !== void 0 ? _children$filter$find : null;
141
106
  }, [children, selected]);
142
- var visibleElements = useMemo(function () {
143
- var items;
107
+ const visibleElements = useMemo(() => {
108
+ let items;
144
109
  if (preparedElements.ready) {
145
110
  items = preparedElements.visible;
146
111
  } else {
147
- items = initialVisibleItems ? children.filter(function (item) {
148
- return item.props.alwaysHidden !== true;
149
- }).slice(0, initialVisibleItems) : [];
112
+ items = initialVisibleItems ? children.filter(item => item.props.alwaysHidden !== true).slice(0, initialVisibleItems) : [];
150
113
  }
151
114
  return getTabTitles({
152
115
  items,
@@ -154,18 +117,16 @@ var CollapsibleTabs = function CollapsibleTabs(_ref) {
154
117
  onSelect
155
118
  });
156
119
  }, [initialVisibleItems, children, preparedElements.ready, preparedElements.visible, onSelect, selected]);
157
- var adjustTabs = useCallback(function (entry) {
158
- var containerWidth = entry.contentRect.width;
159
- var _elements$sizes = elements.sizes,
160
- tabsSizes = _elements$sizes.tabs,
161
- _elements$sizes$more = _elements$sizes.more,
162
- more = _elements$sizes$more === void 0 ? 0 : _elements$sizes$more;
163
- var renderMore = children.some(function (tab) {
164
- return tab.props.alwaysHidden;
165
- });
166
- var tabsToRender = [];
167
- var filledWidth = renderMore ? more !== null && more !== void 0 ? more : 0 : 0;
168
- for (var i = 0; i < tabsSizes.length; i++) {
120
+ const adjustTabs = useCallback(entry => {
121
+ const containerWidth = entry.contentRect.width;
122
+ const {
123
+ tabs: tabsSizes,
124
+ more = 0
125
+ } = elements.sizes;
126
+ let renderMore = children.some(tab => tab.props.alwaysHidden);
127
+ const tabsToRender = [];
128
+ let filledWidth = renderMore ? more !== null && more !== void 0 ? more : 0 : 0;
129
+ for (let i = 0; i < tabsSizes.length; i++) {
169
130
  if (filledWidth + tabsSizes[i] < containerWidth + MEASURE_TOLERANCE) {
170
131
  filledWidth += tabsSizes[i];
171
132
  tabsToRender.push(tabsSizes[i]);
@@ -174,25 +135,25 @@ var CollapsibleTabs = function CollapsibleTabs(_ref) {
174
135
  }
175
136
  }
176
137
  if (tabsToRender.length < tabsSizes.length && !renderMore) {
177
- for (var _i = tabsToRender.length - 1; _i >= 0; _i--) {
138
+ for (let i = tabsToRender.length - 1; i >= 0; i--) {
178
139
  if (filledWidth + more < containerWidth + MEASURE_TOLERANCE) {
179
140
  filledWidth += more;
180
141
  renderMore = true;
181
142
  break;
182
143
  } else {
183
- filledWidth -= tabsToRender[_i];
144
+ filledWidth -= tabsToRender[i];
184
145
  tabsToRender.pop();
185
146
  }
186
147
  }
187
148
  }
188
149
  if (selectedIndex > tabsToRender.length - 1) {
189
- var selectedWidth = tabsSizes[selectedIndex];
190
- for (var _i2 = tabsToRender.length - 1; _i2 >= 0; _i2--) {
150
+ const selectedWidth = tabsSizes[selectedIndex];
151
+ for (let i = tabsToRender.length - 1; i >= 0; i--) {
191
152
  if (filledWidth + selectedWidth < containerWidth + MEASURE_TOLERANCE) {
192
153
  filledWidth += selectedWidth;
193
154
  break;
194
155
  } else {
195
- filledWidth -= tabsToRender[_i2];
156
+ filledWidth -= tabsToRender[i];
196
157
  tabsToRender.pop();
197
158
  }
198
159
  }
@@ -202,10 +163,10 @@ var CollapsibleTabs = function CollapsibleTabs(_ref) {
202
163
  }
203
164
  }, [children, elements.lastVisibleIndex, elements.sizes, selectedIndex]);
204
165
  // Prepare list of visible and hidden elements
205
- useEffect(function () {
206
- var timeout = setTimeout(function () {
166
+ useEffect(() => {
167
+ const timeout = setTimeout(() => {
207
168
  var _elements$lastVisible2;
208
- var res = children.reduce(function (accumulator, tab) {
169
+ const res = children.reduce((accumulator, tab) => {
209
170
  var _elements$lastVisible;
210
171
  if (tab.props.alwaysHidden !== true && accumulator.visible.length - 1 < ((_elements$lastVisible = elements.lastVisibleIndex) !== null && _elements$lastVisible !== void 0 ? _elements$lastVisible : 0)) {
211
172
  accumulator.visible.push(tab);
@@ -219,104 +180,86 @@ var CollapsibleTabs = function CollapsibleTabs(_ref) {
219
180
  ready: elements.lastVisibleIndex !== null
220
181
  });
221
182
  if (selectedIndex > ((_elements$lastVisible2 = elements.lastVisibleIndex) !== null && _elements$lastVisible2 !== void 0 ? _elements$lastVisible2 : 0)) {
222
- var selectedItem = children.find(function (tab) {
223
- return !tab.props.alwaysHidden && tab.props.id === selected;
224
- });
183
+ const selectedItem = children.find(tab => !tab.props.alwaysHidden && tab.props.id === selected);
225
184
  if (selectedItem != null) {
226
185
  res.visible.push(selectedItem);
227
186
  }
228
187
  }
229
- var allVisibleTheSame = res.visible.length === preparedElements.visible.length && res.visible.every(function (item, index) {
230
- return item === preparedElements.visible[index];
231
- });
232
- var allHiddenTheSame = res.hidden.length === preparedElements.hidden.length && res.hidden.every(function (item, index) {
233
- return item === preparedElements.hidden[index];
234
- });
188
+ const allVisibleTheSame = res.visible.length === preparedElements.visible.length && res.visible.every((item, index) => item === preparedElements.visible[index]);
189
+ const allHiddenTheSame = res.hidden.length === preparedElements.hidden.length && res.hidden.every((item, index) => item === preparedElements.hidden[index]);
235
190
  if (!allVisibleTheSame || !allHiddenTheSame || preparedElements.ready !== res.ready) {
236
- fastdom.mutate(function () {
237
- return setPreparedElements(res);
238
- });
191
+ fastdom.mutate(() => setPreparedElements(res));
239
192
  }
240
193
  }, DEFAULT_DEBOUNCE_INTERVAL);
241
- return function () {
194
+ return () => {
242
195
  clearTimeout(timeout);
243
196
  };
244
197
  }, [children, elements.lastVisibleIndex, preparedElements, selected, selectedIndex]);
245
198
  // Get list of all possibly visible elements to render in a measure container
246
- var childrenToMeasure = useMemo(function () {
247
- var items = children.filter(function (tab) {
248
- return tab.props.alwaysHidden !== true;
249
- });
199
+ const childrenToMeasure = useMemo(() => {
200
+ const items = children.filter(tab => tab.props.alwaysHidden !== true);
250
201
  return getTabTitles({
251
202
  items,
252
203
  tabIndex: -1
253
204
  });
254
205
  }, [children]);
255
206
  // Initial measure for tabs and more button sizes
256
- useEffect(function () {
207
+ useEffect(() => {
257
208
  if (measureRef.current == null) {
258
209
  return undefined;
259
210
  }
260
- var measureTask = fastdom.measure(function () {
211
+ const measureTask = fastdom.measure(() => {
261
212
  var _container$children, _moreButton$offsetWid;
262
- var container = measureRef.current;
263
- var descendants = _toConsumableArray((_container$children = container === null || container === void 0 ? void 0 : container.children) !== null && _container$children !== void 0 ? _container$children : []);
264
- var moreButton = descendants.pop();
265
- var moreButtonWidth = (_moreButton$offsetWid = moreButton === null || moreButton === void 0 ? void 0 : moreButton.offsetWidth) !== null && _moreButton$offsetWid !== void 0 ? _moreButton$offsetWid : 0;
266
- var _ref2 = moreButton ? getComputedStyle(moreButton) : {},
267
- _ref2$marginLeft = _ref2.marginLeft,
268
- moreButtonMarginLeft = _ref2$marginLeft === void 0 ? '0' : _ref2$marginLeft,
269
- _ref2$marginRight = _ref2.marginRight,
270
- moreButtonMarginRight = _ref2$marginRight === void 0 ? '0' : _ref2$marginRight;
213
+ const container = measureRef.current;
214
+ const descendants = [...((_container$children = container === null || container === void 0 ? void 0 : container.children) !== null && _container$children !== void 0 ? _container$children : [])];
215
+ const moreButton = descendants.pop();
216
+ let moreButtonWidth = (_moreButton$offsetWid = moreButton === null || moreButton === void 0 ? void 0 : moreButton.offsetWidth) !== null && _moreButton$offsetWid !== void 0 ? _moreButton$offsetWid : 0;
217
+ const {
218
+ marginLeft: moreButtonMarginLeft = '0',
219
+ marginRight: moreButtonMarginRight = '0'
220
+ } = moreButton ? getComputedStyle(moreButton) : {};
271
221
  moreButtonWidth += +moreButtonMarginLeft.replace('px', '') + +moreButtonMarginRight.replace('px', '');
272
- var tabsWidth = descendants.map(function (node) {
273
- var _getComputedStyle = getComputedStyle(node),
274
- marginLeft = _getComputedStyle.marginLeft,
275
- marginRight = _getComputedStyle.marginRight;
276
- var width = node.getBoundingClientRect().width;
222
+ const tabsWidth = descendants.map(node => {
223
+ const {
224
+ marginLeft,
225
+ marginRight
226
+ } = getComputedStyle(node);
227
+ const width = node.getBoundingClientRect().width;
277
228
  return width + +marginLeft.replace('px', '') + +marginRight.replace('px', '');
278
229
  });
279
- var newSummaryWidth = tabsWidth.reduce(function (acc, curr) {
280
- return acc + curr;
281
- }, 0);
282
- var oldSummaryWidth = elements.sizes.tabs.reduce(function (acc, curr) {
283
- return acc + curr;
284
- }, 0);
230
+ const newSummaryWidth = tabsWidth.reduce((acc, curr) => acc + curr, 0);
231
+ const oldSummaryWidth = elements.sizes.tabs.reduce((acc, curr) => acc + curr, 0);
285
232
  if (elements.sizes.more !== moreButtonWidth || newSummaryWidth !== oldSummaryWidth) {
286
- fastdom.mutate(function () {
287
- return setSizes({
288
- more: moreButtonWidth,
289
- tabs: tabsWidth
290
- });
291
- });
233
+ fastdom.mutate(() => setSizes({
234
+ more: moreButtonWidth,
235
+ tabs: tabsWidth
236
+ }));
292
237
  }
293
238
  });
294
- return function () {
239
+ return () => {
295
240
  fastdom.clear(measureTask);
296
241
  };
297
242
  }, [children, elements.sizes.more, elements.sizes.tabs]);
298
243
  // Start observers to listen resizing and mutation
299
- useEffect(function () {
244
+ useEffect(() => {
300
245
  if (measureRef.current === null) {
301
246
  return undefined;
302
247
  }
303
- var measureTask = function measureTask() {};
304
- var resizeObserver = new ResizeObserver(function (entries) {
305
- entries.forEach(function (entry) {
248
+ let measureTask = () => {};
249
+ const resizeObserver = new ResizeObserver(entries => {
250
+ entries.forEach(entry => {
306
251
  fastdom.clear(measureTask);
307
- measureTask = fastdom.mutate(function () {
308
- return adjustTabs(entry);
309
- });
252
+ measureTask = fastdom.mutate(() => adjustTabs(entry));
310
253
  });
311
254
  });
312
255
  resizeObserver.observe(measureRef.current);
313
- return function () {
256
+ return () => {
314
257
  fastdom.clear(measureTask);
315
258
  resizeObserver.disconnect();
316
259
  };
317
260
  }, [adjustTabs]);
318
- var isAdjusted = elements.lastVisibleIndex !== null && preparedElements.ready === true || initialVisibleItems;
319
- var className = classNames(modules_02138f4a.titles, modules_02138f4a.autoCollapse, isAdjusted && modules_02138f4a.adjusted);
261
+ const isAdjusted = elements.lastVisibleIndex !== null && preparedElements.ready === true || initialVisibleItems;
262
+ const className = classNames(modules_02138f4a.titles, modules_02138f4a.autoCollapse, isAdjusted && modules_02138f4a.adjusted);
320
263
  return /*#__PURE__*/jsxs("div", {
321
264
  className: modules_02138f4a.autoCollapseContainer,
322
265
  children: [/*#__PURE__*/jsxs("div", {
@@ -335,9 +278,7 @@ var CollapsibleTabs = function CollapsibleTabs(_ref) {
335
278
  ref: measureRef,
336
279
  className: classNames(className, modules_02138f4a.measure),
337
280
  children: [childrenToMeasure, /*#__PURE__*/jsx(FakeMoreButton, {
338
- hasActiveChildren: preparedElements.hidden.some(function (item) {
339
- return item.props.alwaysHidden && item.props.id === selected;
340
- }),
281
+ hasActiveChildren: preparedElements.hidden.some(item => item.props.alwaysHidden && item.props.id === selected),
341
282
  moreClassName: moreClassName,
342
283
  moreActiveClassName: moreActiveClassName
343
284
  })]
@@ -1,7 +1,9 @@
1
1
  import PropTypes from 'prop-types';
2
2
 
3
- var CustomItem = function CustomItem(_ref) {
4
- var children = _ref.children;
3
+ const CustomItem = _ref => {
4
+ let {
5
+ children
6
+ } = _ref;
5
7
  return children;
6
8
  };
7
9
  CustomItem.propTypes = {
@@ -1,10 +1,5 @@
1
- import { _ as _defineProperty, a as _inherits, b as _createClass, c as _objectWithoutProperties, d as _objectSpread2, e as _classCallCheck, f as _callSuper } from '../_helpers/_rollupPluginBabelHelpers.js';
2
- import 'core-js/modules/es.array.concat.js';
3
- import 'core-js/modules/es.array.filter.js';
4
- import 'core-js/modules/es.array.find.js';
5
- import 'core-js/modules/es.array.map.js';
6
- import 'core-js/modules/es.object.to-string.js';
7
- import 'core-js/modules/es.promise.js';
1
+ import { _ as _defineProperty, b as _objectSpread2, a as _objectWithoutProperties } from '../_helpers/_rollupPluginBabelHelpers.js';
2
+ import 'core-js/modules/web.dom-collections.iterator.js';
8
3
  import * as React from 'react';
9
4
  import { PureComponent } from 'react';
10
5
  import PropTypes from 'prop-types';
@@ -14,41 +9,25 @@ import joinDataTestAttributes from '../global/data-tests.js';
14
9
  import { m as modules_02138f4a, T as TabLink } from '../_helpers/tab-link.js';
15
10
  import CollapsibleTabs from './collapsible-tabs.js';
16
11
  import { CustomItem } from './custom-item.js';
17
- import { jsxs, jsx } from 'react/jsx-runtime';
18
- import 'core-js/modules/es.array.iterator.js';
19
- import 'core-js/modules/es.map.js';
20
- import 'core-js/modules/es.weak-map.js';
21
- import 'core-js/modules/web.dom-collections.iterator.js';
12
+ import { jsx, jsxs } from 'react/jsx-runtime';
22
13
  import 'core-js/modules/es.array.reduce.js';
23
- import 'core-js/modules/es.object.entries.js';
24
14
  import '../link/link.js';
25
15
  import '../link/clickableLink.js';
26
16
  import '../_helpers/link.js';
27
- import 'core-js/modules/es.array.find-index.js';
28
- import 'core-js/modules/es.array.slice.js';
29
17
  import 'core-js/modules/es.regexp.exec.js';
30
18
  import 'core-js/modules/es.string.replace.js';
31
- import 'core-js/modules/web.dom-collections.for-each.js';
32
19
  import 'fastdom';
33
20
  import './collapsible-more.js';
34
21
  import '@jetbrains/icons/chevron-10px';
35
22
  import '../popup/popup.consts.js';
36
23
  import '../popup-menu/popup-menu.js';
37
24
  import '../popup/popup.js';
38
- import 'core-js/modules/es.regexp.to-string.js';
39
25
  import 'react-dom';
40
26
  import '../global/get-uid.js';
41
27
  import '../global/schedule-raf.js';
42
28
  import '../global/dom.js';
43
- import 'core-js/modules/es.object.assign.js';
44
- import 'core-js/modules/es.set.js';
45
- import 'core-js/modules/es.string.split.js';
46
29
  import '../shortcuts/shortcuts.js';
47
30
  import '../shortcuts/core.js';
48
- import 'core-js/modules/es.array.includes.js';
49
- import 'core-js/modules/es.array.splice.js';
50
- import 'core-js/modules/es.string.includes.js';
51
- import 'core-js/modules/es.string.match.js';
52
31
  import 'combokeys';
53
32
  import '../global/sniffer.js';
54
33
  import 'sniffr';
@@ -57,7 +36,6 @@ import '../popup/position.js';
57
36
  import 'core-js/modules/es.array.sort.js';
58
37
  import '../popup/popup.target.js';
59
38
  import '../list/list.js';
60
- import 'core-js/modules/es.symbol.js';
61
39
  import 'core-js/modules/es.symbol.description.js';
62
40
  import 'react-virtualized/dist/es/List';
63
41
  import 'react-virtualized/dist/es/AutoSizer';
@@ -69,18 +47,15 @@ import '../global/create-stateful-context.js';
69
47
  import '../list/list__link.js';
70
48
  import '../_helpers/list.js';
71
49
  import '../list/list__item.js';
72
- import 'core-js/modules/es.array.index-of.js';
73
50
  import '../avatar/avatar.js';
74
51
  import '../global/url.js';
75
52
  import '../avatar/fallback-avatar.js';
76
- import 'core-js/modules/es.array.from.js';
77
53
  import '../checkbox/checkbox.js';
78
54
  import '@jetbrains/icons/checkmark-12px';
79
55
  import '@jetbrains/icons/remove-12px';
80
56
  import '../icon/icon.js';
81
57
  import '../icon/icon__constants.js';
82
58
  import '../_helpers/icon__svg.js';
83
- import 'core-js/modules/es.string.starts-with.js';
84
59
  import '../global/prop-types.js';
85
60
  import '../global/composeRefs.js';
86
61
  import '../control-help/control-help.js';
@@ -99,36 +74,30 @@ import '../global/controls-height.js';
99
74
  import '../_helpers/button__classes.js';
100
75
  import './collapsible-tab.js';
101
76
 
102
- var _excluded = ["className", "tabContainerClassName", "children", "selected", "autoCollapse", "data-test"];
103
- var Tabs = /*#__PURE__*/function (_PureComponent) {
104
- function Tabs() {
105
- var _this;
106
- _classCallCheck(this, Tabs);
107
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
108
- args[_key] = arguments[_key];
109
- }
110
- _this = _callSuper(this, Tabs, [].concat(args));
111
- _defineProperty(_this, "handleSelect", memoize(function (key) {
112
- return function () {
113
- return _this.props.onSelect(key);
114
- };
115
- }));
116
- _defineProperty(_this, "getTabTitle", function (child, i) {
77
+ const _excluded = ["className", "tabContainerClassName", "children", "selected", "autoCollapse", "data-test"];
78
+ class Tabs extends PureComponent {
79
+ constructor() {
80
+ super(...arguments);
81
+ _defineProperty(this, "handleSelect", memoize(key => () => this.props.onSelect(key)));
82
+ _defineProperty(this, "getTabTitle", (child, i) => {
117
83
  if (child == null || typeof child !== 'object' || child.type === CustomItem) {
118
84
  return child;
119
85
  }
120
- var selected = _this.props.selected;
121
- var _child$props = child.props,
122
- title = _child$props.title,
123
- titleProps = _child$props.titleProps,
124
- id = _child$props.id,
125
- disabled = _child$props.disabled,
126
- href = _child$props.href,
127
- className = _child$props.className,
128
- activeClassName = _child$props.activeClassName;
129
- var key = id || String(i);
130
- var isSelected = key === selected;
131
- var titleClasses = classNames(modules_02138f4a.title, className, isSelected && activeClassName, {
86
+ const {
87
+ selected
88
+ } = this.props;
89
+ const {
90
+ title,
91
+ titleProps,
92
+ id,
93
+ disabled,
94
+ href,
95
+ className,
96
+ activeClassName
97
+ } = child.props;
98
+ const key = id || String(i);
99
+ const isSelected = key === selected;
100
+ const titleClasses = classNames(modules_02138f4a.title, className, isSelected && activeClassName, {
132
101
  [modules_02138f4a.selected]: isSelected
133
102
  });
134
103
  return /*#__PURE__*/jsx(TabLink, _objectSpread2({
@@ -137,46 +106,45 @@ var Tabs = /*#__PURE__*/function (_PureComponent) {
137
106
  href: href,
138
107
  className: titleClasses,
139
108
  disabled: disabled,
140
- onPlainLeftClick: _this.handleSelect(key)
109
+ onPlainLeftClick: this.handleSelect(key)
141
110
  }, titleProps), key);
142
111
  });
143
- return _this;
144
112
  }
145
- _inherits(Tabs, _PureComponent);
146
- return _createClass(Tabs, [{
147
- key: "render",
148
- value: function render() {
149
- var _this$props = this.props,
150
- className = _this$props.className,
151
- tabContainerClassName = _this$props.tabContainerClassName,
152
- children = _this$props.children,
153
- selected = _this$props.selected,
154
- autoCollapse = _this$props.autoCollapse,
155
- dataTest = _this$props['data-test'],
156
- restProps = _objectWithoutProperties(_this$props, _excluded);
157
- var classes = classNames(modules_02138f4a.tabs, className);
158
- var childrenArray = React.Children.toArray(children).filter(Boolean);
159
- return /*#__PURE__*/jsxs("div", {
160
- className: classes,
161
- "data-test": joinDataTestAttributes('ring-dumb-tabs', dataTest),
162
- children: [autoCollapse === true ? /*#__PURE__*/jsx(CollapsibleTabs, _objectSpread2(_objectSpread2({}, restProps), {}, {
163
- onSelect: this.handleSelect,
164
- selected: selected,
165
- children: childrenArray
166
- })) : /*#__PURE__*/jsx("div", {
167
- className: modules_02138f4a.titles,
168
- children: childrenArray.map(this.getTabTitle)
169
- }), /*#__PURE__*/jsx("div", {
170
- className: classNames(tabContainerClassName),
171
- children: childrenArray.find(function (_ref, i) {
172
- var props = _ref.props;
173
- return (props.id || String(i)) === selected;
174
- })
175
- })]
176
- });
177
- }
178
- }]);
179
- }(PureComponent);
113
+ render() {
114
+ const _this$props = this.props,
115
+ {
116
+ className,
117
+ tabContainerClassName,
118
+ children,
119
+ selected,
120
+ autoCollapse,
121
+ 'data-test': dataTest
122
+ } = _this$props,
123
+ restProps = _objectWithoutProperties(_this$props, _excluded);
124
+ const classes = classNames(modules_02138f4a.tabs, className);
125
+ const childrenArray = React.Children.toArray(children).filter(Boolean);
126
+ return /*#__PURE__*/jsxs("div", {
127
+ className: classes,
128
+ "data-test": joinDataTestAttributes('ring-dumb-tabs', dataTest),
129
+ children: [autoCollapse === true ? /*#__PURE__*/jsx(CollapsibleTabs, _objectSpread2(_objectSpread2({}, restProps), {}, {
130
+ onSelect: this.handleSelect,
131
+ selected: selected,
132
+ children: childrenArray
133
+ })) : /*#__PURE__*/jsx("div", {
134
+ className: modules_02138f4a.titles,
135
+ children: childrenArray.map(this.getTabTitle)
136
+ }), /*#__PURE__*/jsx("div", {
137
+ className: classNames(tabContainerClassName),
138
+ children: childrenArray.find((_ref, i) => {
139
+ let {
140
+ props
141
+ } = _ref;
142
+ return (props.id || String(i)) === selected;
143
+ })
144
+ })]
145
+ });
146
+ }
147
+ }
180
148
  _defineProperty(Tabs, "propTypes", {
181
149
  selected: PropTypes.string,
182
150
  className: PropTypes.string,