@jetbrains/ring-ui-built 7.0.0-beta.1 → 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 (241) 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/header.js +1 -1
  8. package/components/_helpers/icon__svg.js +27 -23
  9. package/components/_helpers/input.js +150 -171
  10. package/components/_helpers/query-assist__suggestions.js +78 -93
  11. package/components/_helpers/select__filter.js +56 -67
  12. package/components/_helpers/services-link.js +23 -29
  13. package/components/_helpers/sidebar.js +91 -93
  14. package/components/_helpers/tab-link.js +8 -6
  15. package/components/_helpers/theme.js +55 -51
  16. package/components/_helpers/title.js +59 -69
  17. package/components/alert/alert.js +112 -156
  18. package/components/alert/container.js +32 -39
  19. package/components/alert-service/alert-service.js +104 -161
  20. package/components/analytics/analytics.js +12 -20
  21. package/components/analytics/analytics__custom-plugin.js +52 -68
  22. package/components/auth/auth.js +2 -27
  23. package/components/auth/auth__core.d.ts +1 -1
  24. package/components/auth/auth__core.js +742 -1428
  25. package/components/auth/background-flow.js +84 -121
  26. package/components/auth/down-notification.js +31 -69
  27. package/components/auth/iframe-flow.js +70 -123
  28. package/components/auth/request-builder.js +46 -77
  29. package/components/auth/response-parser.js +84 -112
  30. package/components/auth/storage.js +160 -318
  31. package/components/auth/token-validator.js +132 -227
  32. package/components/auth/window-flow.js +84 -121
  33. package/components/auth-dialog/auth-dialog.js +99 -150
  34. package/components/auth-dialog-service/auth-dialog-service.js +6 -26
  35. package/components/avatar/avatar-example-datauri.js +1 -1
  36. package/components/avatar/avatar.js +94 -123
  37. package/components/avatar/fallback-avatar.js +20 -34
  38. package/components/badge/badge.js +32 -38
  39. package/components/breadcrumbs/breadcrumbs.js +13 -17
  40. package/components/button/button.js +67 -80
  41. package/components/button-group/button-group.js +27 -36
  42. package/components/button-set/button-set.js +19 -27
  43. package/components/button-toolbar/button-toolbar.js +17 -25
  44. package/components/caret/caret.js +184 -211
  45. package/components/checkbox/checkbox.js +69 -86
  46. package/components/clipboard/clipboard-fallback.js +7 -7
  47. package/components/clipboard/clipboard.js +36 -128
  48. package/components/code/code.js +83 -151
  49. package/components/collapse/collapse-content.js +42 -60
  50. package/components/collapse/collapse-context.js +2 -2
  51. package/components/collapse/collapse-control.js +12 -12
  52. package/components/collapse/collapse.js +12 -17
  53. package/components/collapse/consts.js +4 -4
  54. package/components/collapse/utils.js +1 -3
  55. package/components/confirm/confirm.js +57 -87
  56. package/components/confirm-service/confirm-service.js +23 -44
  57. package/components/content-layout/content-layout.js +41 -56
  58. package/components/content-layout/sidebar.js +1 -1
  59. package/components/contenteditable/contenteditable.js +38 -46
  60. package/components/control-help/control-help.js +5 -3
  61. package/components/control-label/control-label.js +9 -8
  62. package/components/data-list/data-list.js +113 -156
  63. package/components/data-list/data-list.mock.js +3 -5
  64. package/components/data-list/item.js +120 -140
  65. package/components/data-list/selection.js +77 -135
  66. package/components/data-list/title.js +2 -10
  67. package/components/date-picker/consts.js +16 -22
  68. package/components/date-picker/date-input.js +99 -124
  69. package/components/date-picker/date-picker.js +140 -184
  70. package/components/date-picker/date-popup.js +280 -327
  71. package/components/date-picker/day.js +71 -94
  72. package/components/date-picker/month-names.js +41 -59
  73. package/components/date-picker/month-slider.js +42 -61
  74. package/components/date-picker/month.js +17 -24
  75. package/components/date-picker/months.js +44 -49
  76. package/components/date-picker/weekdays.js +12 -21
  77. package/components/date-picker/years.js +77 -98
  78. package/components/dialog/dialog.js +151 -187
  79. package/components/dialog/dialog__body-scroll-preventer.js +0 -3
  80. package/components/dropdown/anchor.js +0 -6
  81. package/components/dropdown/dropdown.js +134 -154
  82. package/components/dropdown-menu/dropdown-menu.js +59 -87
  83. package/components/editable-heading/editable-heading.js +69 -116
  84. package/components/error-bubble/error-bubble.js +29 -54
  85. package/components/error-message/error-message.js +34 -49
  86. package/components/footer/footer.js +27 -28
  87. package/components/global/compose.js +1 -8
  88. package/components/global/composeRefs.d.ts +0 -3
  89. package/components/global/composeRefs.js +8 -15
  90. package/components/global/controls-height.js +2 -2
  91. package/components/global/create-stateful-context.js +14 -13
  92. package/components/global/data-tests.js +7 -12
  93. package/components/global/dom.js +49 -82
  94. package/components/global/focus-sensor-hoc.js +99 -106
  95. package/components/global/fuzzy-highlight.js +23 -34
  96. package/components/global/get-event-key.js +8 -8
  97. package/components/global/get-uid.js +3 -7
  98. package/components/global/inject-styles.js +7 -14
  99. package/components/global/listeners.js +28 -47
  100. package/components/global/memoize.js +6 -10
  101. package/components/global/normalize-indent.js +19 -46
  102. package/components/global/promise-with-timeout.js +6 -8
  103. package/components/global/prop-types.js +3 -5
  104. package/components/global/react-dom-renderer.js +29 -40
  105. package/components/global/rerender-hoc.js +16 -32
  106. package/components/global/schedule-raf.js +4 -4
  107. package/components/global/sniffer.js +1 -1
  108. package/components/global/theme.d.ts +3 -0
  109. package/components/global/theme.js +2 -19
  110. package/components/global/trivial-template-tag.js +4 -9
  111. package/components/global/typescript-utils.js +2 -6
  112. package/components/global/url.js +20 -23
  113. package/components/global/use-event-callback.js +7 -4
  114. package/components/grid/col.js +27 -39
  115. package/components/grid/grid.js +18 -27
  116. package/components/grid/row.js +23 -30
  117. package/components/group/group.js +16 -22
  118. package/components/header/header-icon.js +19 -31
  119. package/components/header/header.d.ts +0 -1
  120. package/components/header/header.js +30 -64
  121. package/components/header/links.d.ts +2 -0
  122. package/components/header/links.js +20 -0
  123. package/components/header/logo.js +15 -26
  124. package/components/header/profile.js +124 -150
  125. package/components/header/services-link.js +1 -3
  126. package/components/header/services.js +64 -97
  127. package/components/header/smart-profile.js +101 -178
  128. package/components/header/smart-services.js +55 -90
  129. package/components/header/tray.js +21 -30
  130. package/components/heading/heading.js +21 -20
  131. package/components/http/http.js +162 -319
  132. package/components/http/http.mock.js +50 -98
  133. package/components/hub-source/hub-source.js +77 -182
  134. package/components/hub-source/hub-source__user.js +9 -37
  135. package/components/hub-source/hub-source__users-groups.js +34 -60
  136. package/components/i18n/i18n-context.js +7 -8
  137. package/components/i18n/i18n.js +3 -6
  138. package/components/icon/icon.js +60 -74
  139. package/components/icon/icon__svg.js +0 -5
  140. package/components/icon/index.js +0 -5
  141. package/components/input/input.js +1 -11
  142. package/components/island/adaptive-island-hoc.js +29 -37
  143. package/components/island/content.js +100 -110
  144. package/components/island/header.js +56 -66
  145. package/components/island/island.js +25 -33
  146. package/components/island-legacy/content-legacy.js +16 -22
  147. package/components/island-legacy/header-legacy.js +19 -25
  148. package/components/island-legacy/island-legacy.js +16 -22
  149. package/components/link/clickableLink.js +33 -42
  150. package/components/link/link.js +47 -55
  151. package/components/list/consts.js +2 -2
  152. package/components/list/list.js +399 -486
  153. package/components/list/list__custom.js +51 -61
  154. package/components/list/list__hint.js +9 -17
  155. package/components/list/list__item.js +147 -178
  156. package/components/list/list__link.js +38 -47
  157. package/components/list/list__separator.js +15 -24
  158. package/components/list/list__title.js +25 -34
  159. package/components/list/list__users-groups-source.js +55 -121
  160. package/components/loader/loader.js +38 -60
  161. package/components/loader/loader__core.js +123 -184
  162. package/components/loader-inline/loader-inline.js +24 -32
  163. package/components/loader-screen/loader-screen.js +24 -40
  164. package/components/login-dialog/login-dialog.js +81 -121
  165. package/components/login-dialog/service.js +6 -29
  166. package/components/markdown/markdown.js +16 -24
  167. package/components/message/message.js +170 -201
  168. package/components/old-browsers-message/old-browsers-message.js +11 -14
  169. package/components/old-browsers-message/old-browsers-message__stop.js +1 -4
  170. package/components/old-browsers-message/white-list.js +8 -13
  171. package/components/pager/pager.js +212 -257
  172. package/components/panel/panel.js +16 -22
  173. package/components/permissions/permissions.js +118 -161
  174. package/components/permissions/permissions__cache.js +191 -218
  175. package/components/popup/popup.consts.js +1 -1
  176. package/components/popup/popup.js +237 -288
  177. package/components/popup/popup.target.js +9 -7
  178. package/components/popup/position.js +94 -101
  179. package/components/popup-menu/popup-menu.js +33 -67
  180. package/components/progress-bar/progress-bar.js +57 -68
  181. package/components/query-assist/query-assist.js +583 -652
  182. package/components/query-assist/query-assist__suggestions.js +2 -26
  183. package/components/radio/radio.js +15 -27
  184. package/components/radio/radio__item.js +52 -62
  185. package/components/scrollable-section/scrollable-section.js +53 -0
  186. package/components/select/select.js +701 -796
  187. package/components/select/select__filter.js +1 -26
  188. package/components/select/select__popup.js +316 -413
  189. package/components/shortcuts/core.js +147 -195
  190. package/components/shortcuts/shortcut-title.js +6 -10
  191. package/components/shortcuts/shortcuts-hoc.js +23 -41
  192. package/components/shortcuts/shortcuts.js +41 -64
  193. package/components/slider/slider.js +93 -112
  194. package/components/slider/slider.utils.js +16 -23
  195. package/components/storage/storage.js +3 -27
  196. package/components/storage/storage__fallback.js +137 -210
  197. package/components/storage/storage__local.js +89 -147
  198. package/components/style.css +1 -1
  199. package/components/tab-trap/tab-trap.js +35 -53
  200. package/components/table/cell.js +11 -21
  201. package/components/table/disable-hover-hoc.js +27 -42
  202. package/components/table/header-cell.js +59 -75
  203. package/components/table/header.js +89 -110
  204. package/components/table/multitable.js +83 -89
  205. package/components/table/row-with-focus-sensor.js +25 -57
  206. package/components/table/row.js +169 -200
  207. package/components/table/selection-adapter.js +2 -2
  208. package/components/table/selection-shortcuts-hoc.js +108 -113
  209. package/components/table/selection.js +150 -217
  210. package/components/table/simple-table.js +19 -55
  211. package/components/table/smart-table.js +42 -76
  212. package/components/table/table.js +267 -327
  213. package/components/tabs/collapsible-more.js +47 -73
  214. package/components/tabs/collapsible-tab.js +32 -36
  215. package/components/tabs/collapsible-tabs.js +89 -148
  216. package/components/tabs/custom-item.js +4 -2
  217. package/components/tabs/dumb-tabs.js +60 -92
  218. package/components/tabs/smart-tabs.js +29 -61
  219. package/components/tabs/tab-link.js +1 -3
  220. package/components/tabs/tab.js +15 -24
  221. package/components/tabs/tabs.js +1 -26
  222. package/components/tag/tag.d.ts +0 -2
  223. package/components/tag/tag.js +120 -162
  224. package/components/tags-input/tags-input.js +222 -304
  225. package/components/tags-list/tags-list.js +45 -61
  226. package/components/text/text.js +28 -37
  227. package/components/toggle/toggle.js +51 -61
  228. package/components/tooltip/tooltip.js +109 -141
  229. package/components/user-agreement/service.js +259 -400
  230. package/components/user-agreement/user-agreement.js +80 -108
  231. package/components/user-card/card.js +1 -25
  232. package/components/user-card/smart-user-card-tooltip.js +52 -103
  233. package/components/user-card/tooltip.js +35 -65
  234. package/components/user-card/user-card.js +1 -25
  235. package/package.json +1 -1
  236. package/components/global/react-render-adapter.d.ts +0 -1
  237. package/components/global/react-render-adapter.js +0 -6
  238. package/components/header/scrollable-section.js +0 -47
  239. package/components/header/tray-icon.d.ts +0 -1
  240. package/components/header/tray-icon.js +0 -26
  241. /package/components/{header → scrollable-section}/scrollable-section.d.ts +0 -0
@@ -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,