@jetbrains/ring-ui-built 7.0.66 → 7.0.70

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 (231) hide show
  1. package/components/_helpers/anchor.js +12 -17
  2. package/components/_helpers/avatar-info.js +4 -5
  3. package/components/_helpers/button.classes.js +20 -21
  4. package/components/_helpers/caption.js +3 -3
  5. package/components/_helpers/card.js +26 -32
  6. package/components/_helpers/dialog-body-scroll-preventer.js +1 -2
  7. package/components/_helpers/icon-svg.js +9 -12
  8. package/components/_helpers/input.js +78 -86
  9. package/components/_helpers/loader-core.js +260 -0
  10. package/components/_helpers/query-assist-suggestions.js +0 -1
  11. package/components/_helpers/select-filter.js +19 -26
  12. package/components/_helpers/services-link.js +9 -12
  13. package/components/_helpers/sidebar.js +36 -44
  14. package/components/_helpers/tab-link.js +9 -11
  15. package/components/_helpers/theme.js +20 -24
  16. package/components/_helpers/title.js +12 -17
  17. package/components/alert/alert.js +41 -49
  18. package/components/alert/container.js +9 -12
  19. package/components/alert-service/alert-service.js +23 -32
  20. package/components/analytics/analytics-custom-plugin.js +12 -17
  21. package/components/analytics/analytics.js +1 -3
  22. package/components/auth/auth-core.js +128 -170
  23. package/components/auth/auth.js +3 -10
  24. package/components/auth/background-flow.js +5 -8
  25. package/components/auth/down-notification.js +9 -17
  26. package/components/auth/iframe-flow.js +13 -19
  27. package/components/auth/request-builder.js +4 -9
  28. package/components/auth/response-parser.js +9 -12
  29. package/components/auth/storage.js +12 -18
  30. package/components/auth/token-validator.js +19 -30
  31. package/components/auth/window-flow.js +22 -27
  32. package/components/auth-dialog/auth-dialog.js +40 -48
  33. package/components/auth-dialog-service/auth-dialog-service.js +10 -13
  34. package/components/avatar/avatar.figma.js +6 -6
  35. package/components/avatar/avatar.js +58 -59
  36. package/components/avatar/fallback-avatar.js +8 -11
  37. package/components/avatar-stack/avatar-stack.figma.js +10 -11
  38. package/components/avatar-stack/avatar-stack.js +25 -31
  39. package/components/banner/banner.js +0 -6
  40. package/components/breadcrumbs/breadcrumbs.figma.js +8 -6
  41. package/components/breadcrumbs/breadcrumbs.js +4 -5
  42. package/components/button/button.figma.js +15 -10
  43. package/components/button/button.js +59 -64
  44. package/components/button-group/button-group.js +11 -15
  45. package/components/button-group/caption.js +0 -1
  46. package/components/button-set/button-set.js +9 -12
  47. package/components/button-toolbar/button-toolbar.js +8 -11
  48. package/components/caret/caret.js +20 -28
  49. package/components/checkbox/checkbox-group.figma.js +8 -10
  50. package/components/checkbox/checkbox.figma.js +5 -5
  51. package/components/checkbox/checkbox.js +27 -35
  52. package/components/clipboard/clipboard-fallback.js +3 -3
  53. package/components/clipboard/clipboard.js +3 -16
  54. package/components/code/code.js +8 -14
  55. package/components/collapse/collapse-content.js +10 -15
  56. package/components/collapse/collapse-control.js +5 -7
  57. package/components/collapse/collapse.js +9 -11
  58. package/components/collapse/utils.js +1 -1
  59. package/components/confirm/confirm.js +17 -26
  60. package/components/confirm-service/confirm-service.js +30 -31
  61. package/components/content-layout/content-layout.js +21 -28
  62. package/components/content-layout/sidebar.js +0 -2
  63. package/components/contenteditable/contenteditable.js +23 -28
  64. package/components/control-help/control-help.js +8 -10
  65. package/components/control-label/control-label.js +12 -17
  66. package/components/data-list/data-list.js +57 -65
  67. package/components/data-list/data-list.mock.js +0 -4
  68. package/components/data-list/item.js +65 -72
  69. package/components/data-list/selection.js +11 -19
  70. package/components/data-list/title.js +0 -4
  71. package/components/date-picker/consts.js +3 -4
  72. package/components/date-picker/date-input.js +25 -33
  73. package/components/date-picker/date-picker.js +179 -193
  74. package/components/date-picker/date-popup.js +135 -127
  75. package/components/date-picker/day.d.ts +1 -1
  76. package/components/date-picker/day.js +24 -30
  77. package/components/date-picker/month-names.js +7 -12
  78. package/components/date-picker/month-slider.js +16 -22
  79. package/components/date-picker/month.js +3 -5
  80. package/components/date-picker/months.js +6 -6
  81. package/components/date-picker/weekdays.js +0 -1
  82. package/components/date-picker/years.js +20 -26
  83. package/components/dialog/dialog-body-scroll-preventer.js +0 -1
  84. package/components/dialog/dialog.js +73 -83
  85. package/components/dropdown/anchor.js +0 -4
  86. package/components/dropdown/dropdown.js +98 -114
  87. package/components/dropdown-menu/dropdown-menu.js +80 -79
  88. package/components/editable-heading/editable-heading.js +48 -54
  89. package/components/error-bubble/error-bubble.figma.js +4 -4
  90. package/components/error-bubble/error-bubble.js +9 -13
  91. package/components/error-message/error-message.js +1 -6
  92. package/components/footer/footer.js +11 -15
  93. package/components/global/compose-refs.js +1 -4
  94. package/components/global/compose.js +1 -4
  95. package/components/global/configuration.js +3 -3
  96. package/components/global/controls-height.js +0 -1
  97. package/components/global/create-stateful-context.js +10 -14
  98. package/components/global/data-tests.js +2 -10
  99. package/components/global/dom.js +6 -19
  100. package/components/global/focus-sensor-hoc.js +74 -87
  101. package/components/global/fuzzy-highlight.js +3 -8
  102. package/components/global/get-uid.js +1 -1
  103. package/components/global/inject-styles.js +5 -6
  104. package/components/global/listeners.js +2 -11
  105. package/components/global/memoize.js +0 -2
  106. package/components/global/normalize-indent.js +2 -6
  107. package/components/global/promise-with-timeout.js +4 -5
  108. package/components/global/react-dom-renderer.js +4 -9
  109. package/components/global/rerender-hoc.js +8 -11
  110. package/components/global/schedule-raf.js +1 -2
  111. package/components/global/theme.js +0 -5
  112. package/components/global/trivial-template-tag.js +1 -6
  113. package/components/global/url.js +2 -6
  114. package/components/global/use-event-callback.js +2 -3
  115. package/components/grid/col.js +7 -18
  116. package/components/grid/grid.js +9 -14
  117. package/components/grid/row.js +7 -11
  118. package/components/group/group.js +9 -12
  119. package/components/header/header-icon.js +8 -13
  120. package/components/header/header.js +16 -27
  121. package/components/header/links.js +7 -10
  122. package/components/header/logo.js +12 -16
  123. package/components/header/profile.js +73 -83
  124. package/components/header/services-link.js +0 -2
  125. package/components/header/services.js +32 -43
  126. package/components/header/smart-profile.js +44 -59
  127. package/components/header/smart-services.js +33 -45
  128. package/components/header/tray.js +8 -10
  129. package/components/heading/heading.js +27 -27
  130. package/components/http/http.js +120 -125
  131. package/components/http/http.mock.js +6 -10
  132. package/components/hub-source/hub-source-user.js +6 -13
  133. package/components/hub-source/hub-source-users-groups.js +8 -12
  134. package/components/hub-source/hub-source.js +8 -10
  135. package/components/i18n/i18n-context.js +4 -7
  136. package/components/i18n/i18n.js +5 -5
  137. package/components/icon/icon-svg.js +0 -4
  138. package/components/icon/icon.js +28 -32
  139. package/components/icon/index.js +0 -4
  140. package/components/input/input.figma.js +8 -8
  141. package/components/input/input.js +0 -4
  142. package/components/island/adaptive-island-hoc.js +19 -23
  143. package/components/island/content.js +70 -75
  144. package/components/island/header.js +21 -21
  145. package/components/island/island.js +11 -14
  146. package/components/link/clickable-link.js +30 -37
  147. package/components/link/link.js +27 -29
  148. package/components/list/list-custom.js +6 -11
  149. package/components/list/list-item.js +49 -56
  150. package/components/list/list-separator.js +0 -1
  151. package/components/list/list-title.js +0 -1
  152. package/components/list/list-users-groups-source.js +14 -22
  153. package/components/list/list.classes.js +8 -9
  154. package/components/list/list.js +387 -404
  155. package/components/loader/loader-core.js +2 -265
  156. package/components/loader/loader.d.ts +8 -0
  157. package/components/loader/loader.js +43 -29
  158. package/components/loader-inline/loader-inline.js +9 -12
  159. package/components/loader-screen/loader-screen.js +10 -14
  160. package/components/login-dialog/login-dialog.js +46 -54
  161. package/components/login-dialog/service.js +13 -15
  162. package/components/message/message.js +65 -79
  163. package/components/old-browsers-message/old-browsers-message-stop.js +0 -3
  164. package/components/old-browsers-message/old-browsers-message.js +1 -4
  165. package/components/old-browsers-message/white-list.js +5 -7
  166. package/components/pager/pager.js +73 -88
  167. package/components/panel/panel.js +9 -12
  168. package/components/permissions/permissions-cache.js +6 -8
  169. package/components/permissions/permissions.js +19 -21
  170. package/components/popup/popup.js +136 -145
  171. package/components/popup/popup.target.js +8 -10
  172. package/components/popup/position-css.js +19 -27
  173. package/components/popup/position.js +22 -28
  174. package/components/popup-menu/popup-menu.js +27 -37
  175. package/components/progress-bar/progress-bar.js +26 -32
  176. package/components/query-assist/query-assist-suggestions.js +0 -6
  177. package/components/query-assist/query-assist.js +432 -468
  178. package/components/radio/radio-item.js +30 -40
  179. package/components/radio/radio.js +6 -10
  180. package/components/scrollable-section/scrollable-section.js +7 -10
  181. package/components/select/select-filter.js +0 -6
  182. package/components/select/select-popup.js +155 -174
  183. package/components/select/select.js +464 -479
  184. package/components/shortcuts/core.js +40 -45
  185. package/components/shortcuts/shortcut-title.js +0 -1
  186. package/components/shortcuts/shortcuts-hoc.js +9 -15
  187. package/components/shortcuts/shortcuts.js +3 -5
  188. package/components/slider/slider.js +53 -66
  189. package/components/slider/slider.utils.js +1 -4
  190. package/components/storage/storage-local.js +2 -8
  191. package/components/storage/storage.js +0 -5
  192. package/components/style.css +1 -1
  193. package/components/tab-trap/tab-trap.js +21 -30
  194. package/components/table/cell.js +3 -4
  195. package/components/table/disable-hover-hoc.js +24 -28
  196. package/components/table/header-cell.js +30 -38
  197. package/components/table/header.js +20 -28
  198. package/components/table/multitable.js +81 -101
  199. package/components/table/row-with-focus-sensor.js +17 -28
  200. package/components/table/row.js +89 -99
  201. package/components/table/selection-adapter.js +0 -2
  202. package/components/table/selection-shortcuts-hoc.js +159 -161
  203. package/components/table/selection.js +23 -31
  204. package/components/table/simple-table.js +16 -22
  205. package/components/table/smart-table.js +19 -26
  206. package/components/table/table.js +137 -146
  207. package/components/tabs/collapsible-more.js +34 -47
  208. package/components/tabs/collapsible-tab.js +28 -33
  209. package/components/tabs/collapsible-tabs.js +16 -24
  210. package/components/tabs/custom-item.js +3 -6
  211. package/components/tabs/dumb-tabs.js +48 -64
  212. package/components/tabs/smart-tabs.js +14 -23
  213. package/components/tabs/tab-link.js +0 -2
  214. package/components/tabs/tab.js +0 -1
  215. package/components/tabs/tabs.js +0 -7
  216. package/components/tag/tag.js +30 -35
  217. package/components/tags-input/tags-input.js +192 -218
  218. package/components/tags-list/tags-list.js +26 -31
  219. package/components/text/text.js +16 -19
  220. package/components/toggle/toggle.js +19 -23
  221. package/components/tooltip/tooltip.js +110 -121
  222. package/components/upload/upload.js +19 -28
  223. package/components/user-agreement/service.js +247 -252
  224. package/components/user-agreement/toolbox.eula.js +160 -1
  225. package/components/user-agreement/user-agreement.js +23 -32
  226. package/components/user-card/card.js +0 -5
  227. package/components/user-card/smart-user-card-tooltip.js +41 -50
  228. package/components/user-card/tooltip.js +32 -38
  229. package/components/user-card/user-card.js +0 -5
  230. package/package.json +9 -3
  231. package/components/_helpers/_rollupPluginBabelHelpers.js +0 -72
@@ -1,4 +1,3 @@
1
- import { a as _objectWithoutProperties, b as _objectSpread2 } from '../_helpers/_rollupPluginBabelHelpers.js';
2
1
  import { jsx } from 'react/jsx-runtime';
3
2
  import { memo, useMemo } from 'react';
4
3
  import classNames from 'classnames';
@@ -9,10 +8,7 @@ import { A as Anchor } from '../_helpers/anchor.js';
9
8
  import { s as styles } from '../_helpers/tab-link.js';
10
9
  import getTabTitles from './collapsible-tab.js';
11
10
  import { CustomItem } from './custom-item.js';
12
- import 'core-js/modules/web.dom-collections.iterator.js';
13
11
  import '../popup/popup.js';
14
- import 'core-js/modules/es.regexp.exec.js';
15
- import 'core-js/modules/es.string.replace.js';
16
12
  import 'react-dom';
17
13
  import '../global/get-uid.js';
18
14
  import '../global/schedule-raf.js';
@@ -26,12 +22,9 @@ import '../global/data-tests.js';
26
22
  import '../tab-trap/tab-trap.js';
27
23
  import '../global/configuration.js';
28
24
  import '../popup/position.js';
29
- import 'core-js/modules/es.array.sort.js';
30
25
  import '../popup/popup.target.js';
31
26
  import '../popup/position-css.js';
32
27
  import '../list/list.js';
33
- import 'core-js/modules/es.symbol.description.js';
34
- import 'core-js/modules/es.string.trim.js';
35
28
  import 'react-virtualized/dist/es/List';
36
29
  import 'react-virtualized/dist/es/AutoSizer';
37
30
  import 'react-virtualized/dist/es/WindowScroller';
@@ -72,34 +65,31 @@ import '@jetbrains/icons/chevron-12px-down';
72
65
  import '../global/controls-height.js';
73
66
  import '../_helpers/button.classes.js';
74
67
 
75
- const _excluded = ["hasActiveChildren", "moreClassName", "moreActiveClassName"];
76
- const AnchorLink = _ref => {
77
- let {
78
- hasActiveChildren,
79
- moreClassName,
80
- moreActiveClassName
81
- } = _ref,
82
- restProps = _objectWithoutProperties(_ref, _excluded);
68
+ const AnchorLink = ({
69
+ hasActiveChildren,
70
+ moreClassName,
71
+ moreActiveClassName,
72
+ ...restProps
73
+ }) => {
83
74
  const classnames = classNames(styles.title, hasActiveChildren && styles.selected, hasActiveChildren && moreActiveClassName, moreClassName);
84
- return jsx(Anchor, _objectSpread2(_objectSpread2({
75
+ return jsx(Anchor, {
85
76
  title: 'More',
86
- className: classnames
87
- }, restProps), {}, {
77
+ className: classnames,
78
+ ...restProps,
88
79
  children: 'More'
89
- }));
80
+ });
90
81
  };
91
82
  const morePopupDirections = [Directions.BOTTOM_CENTER, Directions.BOTTOM_LEFT, Directions.BOTTOM_RIGHT];
92
- const MoreButton = /*#__PURE__*/memo(_ref2 => {
93
- let {
94
- items,
95
- selected,
96
- onSelect,
97
- moreClassName,
98
- moreActiveClassName,
99
- morePopupClassName,
100
- morePopupItemClassName,
101
- morePopupBeforeEnd
102
- } = _ref2;
83
+ const MoreButton = /*#__PURE__*/memo(({
84
+ items,
85
+ selected,
86
+ onSelect,
87
+ moreClassName,
88
+ moreActiveClassName,
89
+ morePopupClassName,
90
+ morePopupItemClassName,
91
+ morePopupBeforeEnd
92
+ }) => {
103
93
  const onSelectHandler = useMemo(() => onSelect ? listItem => {
104
94
  if (listItem.disabled === true || listItem.custom === true) {
105
95
  return;
@@ -159,23 +149,20 @@ const MoreButton = /*#__PURE__*/memo(_ref2 => {
159
149
  });
160
150
  });
161
151
  MoreButton.displayName = 'MoreButton';
162
- const FakeMoreButton = /*#__PURE__*/memo(_ref3 => {
163
- let {
164
- moreClassName,
165
- moreActiveClassName,
166
- hasActiveChildren
167
- } = _ref3;
168
- return jsx("div", {
169
- className: classNames(styles.moreButton, styles.title),
170
- children: jsx(AnchorLink, {
171
- moreClassName: moreClassName,
172
- moreActiveClassName: moreActiveClassName,
173
- hasActiveChildren: hasActiveChildren,
174
- tabIndex: -1,
175
- disabled: true
176
- })
177
- });
178
- });
152
+ const FakeMoreButton = /*#__PURE__*/memo(({
153
+ moreClassName,
154
+ moreActiveClassName,
155
+ hasActiveChildren
156
+ }) => jsx("div", {
157
+ className: classNames(styles.moreButton, styles.title),
158
+ children: jsx(AnchorLink, {
159
+ moreClassName: moreClassName,
160
+ moreActiveClassName: moreActiveClassName,
161
+ hasActiveChildren: hasActiveChildren,
162
+ tabIndex: -1,
163
+ disabled: true
164
+ })
165
+ }));
179
166
  FakeMoreButton.displayName = 'FakeMoreButton';
180
167
 
181
168
  export { AnchorLink, FakeMoreButton, MoreButton };
@@ -1,4 +1,3 @@
1
- import { a as _objectWithoutProperties, b as _objectSpread2 } from '../_helpers/_rollupPluginBabelHelpers.js';
2
1
  import { jsx } from 'react/jsx-runtime';
3
2
  import * as React from 'react';
4
3
  import classNames from 'classnames';
@@ -6,19 +5,16 @@ import { s as styles, T as TabLink } from '../_helpers/tab-link.js';
6
5
  import { CustomItem } from './custom-item.js';
7
6
  import '../link/link.js';
8
7
  import '../global/data-tests.js';
9
- import 'core-js/modules/web.dom-collections.iterator.js';
10
8
  import '../link/clickable-link.js';
11
9
  import '../_helpers/link.js';
12
10
 
13
- const _excluded = ["items", "selected", "collapsed", "onSelect"];
14
- const TabTitle = /*#__PURE__*/React.memo(function TabTitle(_ref) {
15
- let {
16
- selected,
17
- child,
18
- handleSelect,
19
- collapsed = false,
20
- tabIndex
21
- } = _ref;
11
+ const TabTitle = /*#__PURE__*/React.memo(function TabTitle({
12
+ selected,
13
+ child,
14
+ handleSelect,
15
+ collapsed = false,
16
+ tabIndex
17
+ }) {
22
18
  if (child === null || typeof child !== 'object' || child.type === CustomItem) {
23
19
  return child;
24
20
  }
@@ -39,7 +35,7 @@ const TabTitle = /*#__PURE__*/React.memo(function TabTitle(_ref) {
39
35
  [collapsedClassName !== null && collapsedClassName !== void 0 ? collapsedClassName : '']: collapsed,
40
36
  [collapsedActiveClassName !== null && collapsedActiveClassName !== void 0 ? collapsedActiveClassName : '']: collapsed && selected
41
37
  });
42
- return jsx(TabLink, _objectSpread2({
38
+ return jsx(TabLink, {
43
39
  title: title,
44
40
  isSelected: selected,
45
41
  active: true,
@@ -48,27 +44,26 @@ const TabTitle = /*#__PURE__*/React.memo(function TabTitle(_ref) {
48
44
  disabled: disabled,
49
45
  onPlainLeftClick: handleSelect,
50
46
  tabIndex: tabIndex,
51
- collapsed: collapsed
52
- }, titleProps));
53
- });
54
- const getTabTitles = _ref2 => {
55
- let {
56
- items,
57
- selected = '0',
58
- collapsed,
59
- onSelect = () => undefined
60
- } = _ref2,
61
- props = _objectWithoutProperties(_ref2, _excluded);
62
- return items.map((tab, index) => {
63
- const key = tab.props.id || String(index);
64
- const isSelected = selected === key;
65
- return jsx(TabTitle, _objectSpread2({
66
- handleSelect: onSelect(key),
67
- selected: isSelected,
68
- child: tab,
69
- collapsed: collapsed
70
- }, props), key);
47
+ collapsed: collapsed,
48
+ ...titleProps
71
49
  });
72
- };
50
+ });
51
+ const getTabTitles = ({
52
+ items,
53
+ selected = '0',
54
+ collapsed,
55
+ onSelect = () => undefined,
56
+ ...props
57
+ }) => items.map((tab, index) => {
58
+ const key = tab.props.id || String(index);
59
+ const isSelected = selected === key;
60
+ return jsx(TabTitle, {
61
+ handleSelect: onSelect(key),
62
+ selected: isSelected,
63
+ child: tab,
64
+ collapsed: collapsed,
65
+ ...props
66
+ }, key);
67
+ });
73
68
 
74
69
  export { getTabTitles as default };
@@ -1,6 +1,3 @@
1
- import 'core-js/modules/es.regexp.exec.js';
2
- import 'core-js/modules/es.string.replace.js';
3
- import 'core-js/modules/web.dom-collections.iterator.js';
4
1
  import { jsxs, jsx } from 'react/jsx-runtime';
5
2
  import { memo, useState, useRef, useMemo, useCallback, useEffect } from 'react';
6
3
  import classNames from 'classnames';
@@ -8,7 +5,6 @@ import fastdom from 'fastdom';
8
5
  import { s as styles } from '../_helpers/tab-link.js';
9
6
  import { MoreButton, FakeMoreButton } from './collapsible-more.js';
10
7
  import getTabTitles from './collapsible-tab.js';
11
- import '../_helpers/_rollupPluginBabelHelpers.js';
12
8
  import '../link/link.js';
13
9
  import '../global/data-tests.js';
14
10
  import '../link/clickable-link.js';
@@ -28,12 +24,9 @@ import 'sniffr';
28
24
  import '../tab-trap/tab-trap.js';
29
25
  import '../global/configuration.js';
30
26
  import '../popup/position.js';
31
- import 'core-js/modules/es.array.sort.js';
32
27
  import '../popup/popup.target.js';
33
28
  import '../popup/position-css.js';
34
29
  import '../list/list.js';
35
- import 'core-js/modules/es.symbol.description.js';
36
- import 'core-js/modules/es.string.trim.js';
37
30
  import 'react-virtualized/dist/es/List';
38
31
  import 'react-virtualized/dist/es/AutoSizer';
39
32
  import 'react-virtualized/dist/es/WindowScroller';
@@ -76,19 +69,18 @@ import './custom-item.js';
76
69
 
77
70
  const DEFAULT_DEBOUNCE_INTERVAL = 100;
78
71
  const MEASURE_TOLERANCE = 0.5;
79
- const CollapsibleTabs = _ref => {
80
- let {
81
- children,
82
- selected,
83
- onSelect,
84
- onLastVisibleIndexChange,
85
- moreClassName,
86
- moreActiveClassName,
87
- morePopupClassName,
88
- morePopupBeforeEnd,
89
- morePopupItemClassName,
90
- initialVisibleItems
91
- } = _ref;
72
+ const CollapsibleTabs = ({
73
+ children,
74
+ selected,
75
+ onSelect,
76
+ onLastVisibleIndexChange,
77
+ moreClassName,
78
+ moreActiveClassName,
79
+ morePopupClassName,
80
+ morePopupBeforeEnd,
81
+ morePopupItemClassName,
82
+ initialVisibleItems
83
+ }) => {
92
84
  const [sizes, setSizes] = useState({
93
85
  tabs: [],
94
86
  more: undefined
@@ -173,7 +165,7 @@ const CollapsibleTabs = _ref => {
173
165
  const newLastVisibleIndex = tabsToRender.length - 1;
174
166
  if (elements.lastVisibleIndex !== newLastVisibleIndex) {
175
167
  setLastVisibleIndex(newLastVisibleIndex);
176
- onLastVisibleIndexChange === null || onLastVisibleIndexChange === void 0 || onLastVisibleIndexChange(newLastVisibleIndex);
168
+ onLastVisibleIndexChange?.(newLastVisibleIndex);
177
169
  }
178
170
  }, [children, elements.lastVisibleIndex, elements.sizes, onLastVisibleIndexChange, selectedIndex]);
179
171
  // Prepare list of visible and hidden elements
@@ -195,7 +187,7 @@ const CollapsibleTabs = _ref => {
195
187
  });
196
188
  if (selectedIndex > ((_elements$lastVisible2 = elements.lastVisibleIndex) !== null && _elements$lastVisible2 !== void 0 ? _elements$lastVisible2 : 0)) {
197
189
  const selectedItem = children.find(tab => !tab.props.alwaysHidden && tab.props.id === selected);
198
- if (selectedItem) {
190
+ if (selectedItem !== null && selectedItem !== undefined) {
199
191
  res.visible.push(selectedItem);
200
192
  }
201
193
  }
@@ -225,9 +217,9 @@ const CollapsibleTabs = _ref => {
225
217
  const measureTask = fastdom.measure(() => {
226
218
  var _container$children, _moreButton$offsetWid;
227
219
  const container = measureRef.current;
228
- const descendants = [...((_container$children = container === null || container === void 0 ? void 0 : container.children) !== null && _container$children !== void 0 ? _container$children : [])];
220
+ const descendants = [...((_container$children = container?.children) !== null && _container$children !== void 0 ? _container$children : [])];
229
221
  const moreButton = descendants.pop();
230
- let moreButtonWidth = (_moreButton$offsetWid = moreButton === null || moreButton === void 0 ? void 0 : moreButton.offsetWidth) !== null && _moreButton$offsetWid !== void 0 ? _moreButton$offsetWid : 0;
222
+ let moreButtonWidth = (_moreButton$offsetWid = moreButton?.offsetWidth) !== null && _moreButton$offsetWid !== void 0 ? _moreButton$offsetWid : 0;
231
223
  const {
232
224
  marginLeft: moreButtonMarginLeft = '0',
233
225
  marginRight: moreButtonMarginRight = '0'
@@ -1,8 +1,5 @@
1
- const CustomItem = _ref => {
2
- let {
3
- children
4
- } = _ref;
5
- return children;
6
- };
1
+ const CustomItem = ({
2
+ children
3
+ }) => children;
7
4
 
8
5
  export { CustomItem };
@@ -1,5 +1,3 @@
1
- import { _ as _defineProperty, b as _objectSpread2, a as _objectWithoutProperties } from '../_helpers/_rollupPluginBabelHelpers.js';
2
- import 'core-js/modules/web.dom-collections.iterator.js';
3
1
  import { jsx, jsxs } from 'react/jsx-runtime';
4
2
  import * as React from 'react';
5
3
  import { PureComponent } from 'react';
@@ -12,8 +10,6 @@ import { CustomItem } from './custom-item.js';
12
10
  import '../link/link.js';
13
11
  import '../link/clickable-link.js';
14
12
  import '../_helpers/link.js';
15
- import 'core-js/modules/es.regexp.exec.js';
16
- import 'core-js/modules/es.string.replace.js';
17
13
  import 'fastdom';
18
14
  import './collapsible-more.js';
19
15
  import '../popup/popup.consts.js';
@@ -31,12 +27,9 @@ import 'sniffr';
31
27
  import '../tab-trap/tab-trap.js';
32
28
  import '../global/configuration.js';
33
29
  import '../popup/position.js';
34
- import 'core-js/modules/es.array.sort.js';
35
30
  import '../popup/popup.target.js';
36
31
  import '../popup/position-css.js';
37
32
  import '../list/list.js';
38
- import 'core-js/modules/es.symbol.description.js';
39
- import 'core-js/modules/es.string.trim.js';
40
33
  import 'react-virtualized/dist/es/List';
41
34
  import 'react-virtualized/dist/es/AutoSizer';
42
35
  import 'react-virtualized/dist/es/WindowScroller';
@@ -76,78 +69,69 @@ import '../global/controls-height.js';
76
69
  import '../_helpers/button.classes.js';
77
70
  import './collapsible-tab.js';
78
71
 
79
- const _excluded = ["className", "tabContainerClassName", "children", "selected", "autoCollapse", "data-test", "onSelect"];
80
72
  class Tabs extends PureComponent {
81
- constructor() {
82
- super(...arguments);
83
- _defineProperty(this, "handleSelect", memoize(key => () => {
84
- var _this$props$onSelect, _this$props;
85
- return (_this$props$onSelect = (_this$props = this.props).onSelect) === null || _this$props$onSelect === void 0 ? void 0 : _this$props$onSelect.call(_this$props, key);
86
- }));
87
- _defineProperty(this, "getTabTitle", (child, i) => {
88
- if (child === null || typeof child !== 'object' || child.type === CustomItem) {
89
- return child;
90
- }
91
- const {
92
- selected,
93
- onSelect
94
- } = this.props;
95
- const {
96
- title,
97
- titleProps,
98
- id,
99
- disabled,
100
- href,
101
- className,
102
- activeClassName
103
- } = child.props;
104
- const key = id || String(i);
105
- const isSelected = key === selected;
106
- const titleClasses = classNames(styles.title, className, isSelected && activeClassName, {
107
- [styles.selected]: isSelected
108
- });
109
- return jsx(TabLink, _objectSpread2({
110
- title: title,
111
- isSelected: isSelected,
112
- href: href,
113
- className: titleClasses,
114
- disabled: disabled,
115
- onPlainLeftClick: onSelect ? this.handleSelect(key) : undefined
116
- }, titleProps), key);
73
+ handleSelect = memoize(key => () => this.props.onSelect?.(key));
74
+ getTabTitle = (child, i) => {
75
+ if (child === null || typeof child !== 'object' || child.type === CustomItem) {
76
+ return child;
77
+ }
78
+ const {
79
+ selected,
80
+ onSelect
81
+ } = this.props;
82
+ const {
83
+ title,
84
+ titleProps,
85
+ id,
86
+ disabled,
87
+ href,
88
+ className,
89
+ activeClassName
90
+ } = child.props;
91
+ const key = id || String(i);
92
+ const isSelected = key === selected;
93
+ const titleClasses = classNames(styles.title, className, isSelected && activeClassName, {
94
+ [styles.selected]: isSelected
117
95
  });
118
- }
96
+ return jsx(TabLink, {
97
+ title: title,
98
+ isSelected: isSelected,
99
+ href: href,
100
+ className: titleClasses,
101
+ disabled: disabled,
102
+ onPlainLeftClick: onSelect ? this.handleSelect(key) : undefined,
103
+ ...titleProps
104
+ }, key);
105
+ };
119
106
  render() {
120
- const _this$props2 = this.props,
121
- {
122
- className,
123
- tabContainerClassName,
124
- children,
125
- selected,
126
- autoCollapse,
127
- 'data-test': dataTest,
128
- onSelect
129
- } = _this$props2,
130
- restProps = _objectWithoutProperties(_this$props2, _excluded);
107
+ const {
108
+ className,
109
+ tabContainerClassName,
110
+ children,
111
+ selected,
112
+ autoCollapse,
113
+ 'data-test': dataTest,
114
+ onSelect,
115
+ ...restProps
116
+ } = this.props;
131
117
  const classes = classNames(styles.tabs, className);
132
118
  const childrenArray = React.Children.toArray(children).filter(Boolean);
133
119
  return jsxs("div", {
134
120
  className: classes,
135
121
  "data-test": joinDataTestAttributes('ring-dumb-tabs', dataTest),
136
- children: [autoCollapse === true ? jsx(CollapsibleTabs, _objectSpread2(_objectSpread2({}, restProps), {}, {
122
+ children: [autoCollapse === true ? jsx(CollapsibleTabs, {
123
+ ...restProps,
137
124
  onSelect: onSelect ? this.handleSelect : undefined,
138
125
  selected: selected,
139
126
  children: childrenArray
140
- })) : jsx("div", {
127
+ }) : jsx("div", {
141
128
  className: styles.titles,
142
129
  children: childrenArray.map(this.getTabTitle)
143
130
  }), jsx("div", {
144
131
  className: classNames(tabContainerClassName),
145
- children: childrenArray.find((_ref, i) => {
146
- let {
147
- props
148
- } = _ref;
149
- return (props.id || String(i)) === selected;
150
- })
132
+ children: childrenArray.find(({
133
+ props
134
+ }, i) => (props.id || String(i)) === selected)
151
135
  })]
152
136
  });
153
137
  }
@@ -1,9 +1,7 @@
1
- import { _ as _defineProperty, a as _objectWithoutProperties, b as _objectSpread2 } from '../_helpers/_rollupPluginBabelHelpers.js';
2
1
  import { jsx } from 'react/jsx-runtime';
3
2
  import { PureComponent } from 'react';
4
3
  import joinDataTestAttributes from '../global/data-tests.js';
5
4
  import Tabs from './dumb-tabs.js';
6
- import 'core-js/modules/web.dom-collections.iterator.js';
7
5
  import 'classnames';
8
6
  import '../global/memoize.js';
9
7
  import '../_helpers/tab-link.js';
@@ -11,8 +9,6 @@ import '../link/link.js';
11
9
  import '../link/clickable-link.js';
12
10
  import '../_helpers/link.js';
13
11
  import './collapsible-tabs.js';
14
- import 'core-js/modules/es.regexp.exec.js';
15
- import 'core-js/modules/es.string.replace.js';
16
12
  import 'fastdom';
17
13
  import './collapsible-more.js';
18
14
  import '../popup/popup.consts.js';
@@ -30,12 +26,9 @@ import 'sniffr';
30
26
  import '../tab-trap/tab-trap.js';
31
27
  import '../global/configuration.js';
32
28
  import '../popup/position.js';
33
- import 'core-js/modules/es.array.sort.js';
34
29
  import '../popup/popup.target.js';
35
30
  import '../popup/position-css.js';
36
31
  import '../list/list.js';
37
- import 'core-js/modules/es.symbol.description.js';
38
- import 'core-js/modules/es.string.trim.js';
39
32
  import 'react-virtualized/dist/es/List';
40
33
  import 'react-virtualized/dist/es/AutoSizer';
41
34
  import 'react-virtualized/dist/es/WindowScroller';
@@ -76,33 +69,31 @@ import '../_helpers/button.classes.js';
76
69
  import './collapsible-tab.js';
77
70
  import './custom-item.js';
78
71
 
79
- const _excluded = ["children", "initSelected", "data-test"];
80
72
  class SmartTabs extends PureComponent {
81
73
  constructor(props) {
82
74
  super(props);
83
- _defineProperty(this, "state", void 0);
84
- _defineProperty(this, "handleSelect", selected => this.setState({
85
- selected
86
- }));
87
75
  this.state = {
88
76
  selected: this.props.initSelected || Array.isArray(this.props.children) && this.props.children[0].props.id || '0'
89
77
  };
90
78
  }
79
+ state;
80
+ handleSelect = selected => this.setState({
81
+ selected
82
+ });
91
83
  render() {
92
- const _this$props = this.props,
93
- {
94
- children,
95
- initSelected,
96
- 'data-test': dataTest
97
- } = _this$props,
98
- restProps = _objectWithoutProperties(_this$props, _excluded);
99
- return jsx(Tabs, _objectSpread2(_objectSpread2({
84
+ const {
85
+ children,
86
+ initSelected,
87
+ 'data-test': dataTest,
88
+ ...restProps
89
+ } = this.props;
90
+ return jsx(Tabs, {
100
91
  "data-test": joinDataTestAttributes('ring-smart-tabs', dataTest),
101
92
  selected: this.state.selected,
102
- onSelect: this.handleSelect
103
- }, restProps), {}, {
93
+ onSelect: this.handleSelect,
94
+ ...restProps,
104
95
  children: children
105
- }));
96
+ });
106
97
  }
107
98
  }
108
99
 
@@ -1,10 +1,8 @@
1
- import '../_helpers/_rollupPluginBabelHelpers.js';
2
1
  import 'react/jsx-runtime';
3
2
  import 'react';
4
3
  import '../link/link.js';
5
4
  export { T as default } from '../_helpers/tab-link.js';
6
5
  import 'classnames';
7
6
  import '../global/data-tests.js';
8
- import 'core-js/modules/web.dom-collections.iterator.js';
9
7
  import '../link/clickable-link.js';
10
8
  import '../_helpers/link.js';
@@ -2,7 +2,6 @@ import { jsx } from 'react/jsx-runtime';
2
2
  import { PureComponent } from 'react';
3
3
  import classNames from 'classnames';
4
4
  import joinDataTestAttributes from '../global/data-tests.js';
5
- import 'core-js/modules/web.dom-collections.iterator.js';
6
5
 
7
6
  class Tab extends PureComponent {
8
7
  render() {
@@ -2,8 +2,6 @@ export { CustomItem } from './custom-item.js';
2
2
  export { default as Tabs } from './dumb-tabs.js';
3
3
  export { default as SmartTabs } from './smart-tabs.js';
4
4
  export { default as Tab } from './tab.js';
5
- import '../_helpers/_rollupPluginBabelHelpers.js';
6
- import 'core-js/modules/web.dom-collections.iterator.js';
7
5
  import 'react/jsx-runtime';
8
6
  import 'react';
9
7
  import 'classnames';
@@ -14,8 +12,6 @@ import '../link/link.js';
14
12
  import '../link/clickable-link.js';
15
13
  import '../_helpers/link.js';
16
14
  import './collapsible-tabs.js';
17
- import 'core-js/modules/es.regexp.exec.js';
18
- import 'core-js/modules/es.string.replace.js';
19
15
  import 'fastdom';
20
16
  import './collapsible-more.js';
21
17
  import '../popup/popup.consts.js';
@@ -33,12 +29,9 @@ import 'sniffr';
33
29
  import '../tab-trap/tab-trap.js';
34
30
  import '../global/configuration.js';
35
31
  import '../popup/position.js';
36
- import 'core-js/modules/es.array.sort.js';
37
32
  import '../popup/popup.target.js';
38
33
  import '../popup/position-css.js';
39
34
  import '../list/list.js';
40
- import 'core-js/modules/es.symbol.description.js';
41
- import 'core-js/modules/es.string.trim.js';
42
35
  import 'react-virtualized/dist/es/List';
43
36
  import 'react-virtualized/dist/es/AutoSizer';
44
37
  import 'react-virtualized/dist/es/WindowScroller';