@jetbrains/ring-ui-built 7.0.72 → 7.0.73

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 (287) hide show
  1. package/components/_helpers/anchor.js +55 -13
  2. package/components/_helpers/avatar-info.js +44 -11
  3. package/components/_helpers/caption.js +2 -2
  4. package/components/_helpers/card.js +21 -21
  5. package/components/_helpers/icon-svg.js +75 -17
  6. package/components/_helpers/input.js +13 -13
  7. package/components/_helpers/query-assist-suggestions.js +5 -5
  8. package/components/_helpers/select-filter.js +5 -5
  9. package/components/_helpers/services-link.js +5 -5
  10. package/components/_helpers/sidebar.js +6 -6
  11. package/components/_helpers/tab-link.js +69 -17
  12. package/components/_helpers/theme.js +231 -54
  13. package/components/_helpers/title.js +5 -5
  14. package/components/alert/alert.d.ts +1 -1
  15. package/components/alert/alert.js +12 -10
  16. package/components/alert/container.js +4 -4
  17. package/components/alert-service/alert-service.d.ts +1 -1
  18. package/components/alert-service/alert-service.js +5 -4
  19. package/components/auth/auth-core.js +8 -8
  20. package/components/auth/auth.js +3 -2
  21. package/components/auth/down-notification.js +61 -17
  22. package/components/auth/iframe-flow.js +7 -6
  23. package/components/auth/storage.js +3 -2
  24. package/components/auth/token-validator.js +1 -1
  25. package/components/auth/window-flow.js +2 -2
  26. package/components/auth-dialog/auth-dialog.d.ts +1 -1
  27. package/components/auth-dialog/auth-dialog.js +15 -14
  28. package/components/auth-dialog-service/auth-dialog-service.js +4 -6
  29. package/components/avatar/avatar-info.d.ts +1 -1
  30. package/components/avatar/avatar-info.js +3 -2
  31. package/components/avatar/avatar.d.ts +1 -1
  32. package/components/avatar/avatar.js +16 -15
  33. package/components/avatar/fallback-avatar.d.ts +1 -1
  34. package/components/avatar/fallback-avatar.js +183 -59
  35. package/components/avatar-stack/avatar-stack.d.ts +1 -1
  36. package/components/avatar-stack/avatar-stack.js +115 -29
  37. package/components/banner/banner.d.ts +1 -1
  38. package/components/banner/banner.js +11 -10
  39. package/components/breadcrumbs/breadcrumbs.d.ts +1 -1
  40. package/components/breadcrumbs/breadcrumbs.js +3 -2
  41. package/components/button/button.d.ts +1 -1
  42. package/components/button/button.js +11 -10
  43. package/components/button-group/button-group.d.ts +1 -1
  44. package/components/button-group/button-group.js +6 -8
  45. package/components/button-group/caption.d.ts +1 -1
  46. package/components/button-group/caption.js +1 -1
  47. package/components/button-set/button-set.d.ts +1 -1
  48. package/components/button-set/button-set.js +2 -5
  49. package/components/button-toolbar/button-toolbar.d.ts +1 -1
  50. package/components/button-toolbar/button-toolbar.js +2 -5
  51. package/components/checkbox/checkbox.d.ts +1 -1
  52. package/components/checkbox/checkbox.js +12 -17
  53. package/components/clipboard/clipboard.js +2 -1
  54. package/components/code/code.d.ts +1 -1
  55. package/components/code/code.js +5 -5
  56. package/components/collapse/collapse-content.js +161 -77
  57. package/components/collapse/collapse-control.js +69 -22
  58. package/components/collapse/collapse.js +83 -31
  59. package/components/confirm/confirm.d.ts +1 -1
  60. package/components/confirm/confirm.js +11 -13
  61. package/components/confirm-service/confirm-service.js +4 -3
  62. package/components/content-layout/content-layout.d.ts +1 -1
  63. package/components/content-layout/content-layout.js +4 -7
  64. package/components/content-layout/sidebar.d.ts +1 -1
  65. package/components/content-layout/sidebar.js +1 -1
  66. package/components/contenteditable/contenteditable.d.ts +2 -2
  67. package/components/contenteditable/contenteditable.js +50 -14
  68. package/components/control-help/control-help.d.ts +1 -1
  69. package/components/control-help/control-help.js +45 -9
  70. package/components/control-label/control-label.js +62 -13
  71. package/components/data-list/data-list.d.ts +1 -1
  72. package/components/data-list/data-list.js +10 -9
  73. package/components/data-list/data-list.mock.d.ts +1 -1
  74. package/components/data-list/data-list.mock.js +79 -78
  75. package/components/data-list/item.d.ts +2 -2
  76. package/components/data-list/item.js +18 -17
  77. package/components/data-list/title.d.ts +1 -1
  78. package/components/data-list/title.js +2 -1
  79. package/components/date-picker/consts.js +1 -1
  80. package/components/date-picker/date-input.d.ts +1 -1
  81. package/components/date-picker/date-input.js +4 -3
  82. package/components/date-picker/date-picker.d.ts +1 -1
  83. package/components/date-picker/date-picker.js +97 -31
  84. package/components/date-picker/date-popup.d.ts +1 -1
  85. package/components/date-picker/date-popup.js +11 -10
  86. package/components/date-picker/day.d.ts +1 -1
  87. package/components/date-picker/day.js +4 -3
  88. package/components/date-picker/month-names.d.ts +1 -1
  89. package/components/date-picker/month-names.js +98 -22
  90. package/components/date-picker/month-slider.d.ts +1 -1
  91. package/components/date-picker/month-slider.js +4 -4
  92. package/components/date-picker/month.d.ts +1 -1
  93. package/components/date-picker/month.js +79 -18
  94. package/components/date-picker/months.d.ts +1 -1
  95. package/components/date-picker/months.js +163 -53
  96. package/components/date-picker/weekdays.d.ts +1 -1
  97. package/components/date-picker/weekdays.js +56 -16
  98. package/components/date-picker/years.d.ts +1 -1
  99. package/components/date-picker/years.js +5 -5
  100. package/components/dialog/dialog.d.ts +1 -1
  101. package/components/dialog/dialog.js +21 -23
  102. package/components/dropdown/anchor.d.ts +1 -1
  103. package/components/dropdown/anchor.js +2 -1
  104. package/components/dropdown/dropdown.d.ts +1 -1
  105. package/components/dropdown/dropdown.js +7 -8
  106. package/components/dropdown-menu/dropdown-menu.js +299 -83
  107. package/components/editable-heading/editable-heading.d.ts +2 -2
  108. package/components/editable-heading/editable-heading.js +523 -174
  109. package/components/error-bubble/error-bubble.d.ts +1 -1
  110. package/components/error-bubble/error-bubble.js +7 -9
  111. package/components/error-message/error-message.d.ts +1 -1
  112. package/components/error-message/error-message.js +8 -10
  113. package/components/footer/footer.js +205 -61
  114. package/components/global/create-stateful-context.d.ts +1 -1
  115. package/components/global/create-stateful-context.js +73 -18
  116. package/components/global/focus-sensor-hoc.js +2 -2
  117. package/components/global/get-uid.js +1 -1
  118. package/components/global/react-dom-renderer.d.ts +1 -1
  119. package/components/global/react-dom-renderer.js +2 -2
  120. package/components/global/rerender-hoc.js +23 -6
  121. package/components/global/theme.js +3 -2
  122. package/components/global/use-event-callback.js +37 -13
  123. package/components/grid/col.d.ts +1 -1
  124. package/components/grid/col.js +3 -3
  125. package/components/grid/grid.d.ts +1 -1
  126. package/components/grid/grid.js +3 -6
  127. package/components/grid/row.d.ts +1 -1
  128. package/components/grid/row.js +3 -3
  129. package/components/group/group.d.ts +1 -1
  130. package/components/group/group.js +3 -6
  131. package/components/header/header-icon.d.ts +1 -1
  132. package/components/header/header-icon.js +3 -2
  133. package/components/header/header.d.ts +1 -1
  134. package/components/header/header.js +7 -12
  135. package/components/header/links.d.ts +1 -1
  136. package/components/header/links.js +45 -10
  137. package/components/header/logo.d.ts +1 -1
  138. package/components/header/logo.js +4 -3
  139. package/components/header/profile.js +17 -16
  140. package/components/header/services-link.d.ts +1 -1
  141. package/components/header/services-link.js +1 -1
  142. package/components/header/services.d.ts +1 -1
  143. package/components/header/services.js +35 -16
  144. package/components/header/smart-profile.d.ts +1 -1
  145. package/components/header/smart-profile.js +6 -5
  146. package/components/header/smart-services.d.ts +1 -1
  147. package/components/header/smart-services.js +3 -2
  148. package/components/header/tray.d.ts +1 -1
  149. package/components/header/tray.js +3 -3
  150. package/components/heading/heading.js +188 -44
  151. package/components/i18n/i18n-context.js +51 -13
  152. package/components/icon/icon-svg.d.ts +1 -1
  153. package/components/icon/icon-svg.js +2 -1
  154. package/components/icon/icon.d.ts +1 -1
  155. package/components/icon/icon.js +6 -5
  156. package/components/icon/index.js +2 -1
  157. package/components/input/input.d.ts +1 -1
  158. package/components/input/input.js +2 -1
  159. package/components/island/adaptive-island-hoc.js +4 -4
  160. package/components/island/content.d.ts +1 -1
  161. package/components/island/content.js +36 -17
  162. package/components/island/header.d.ts +1 -1
  163. package/components/island/header.js +32 -14
  164. package/components/island/island.d.ts +1 -1
  165. package/components/island/island.js +3 -5
  166. package/components/link/clickable-link.d.ts +1 -1
  167. package/components/link/clickable-link.js +2 -2
  168. package/components/link/link.js +4 -4
  169. package/components/list/list-custom.d.ts +1 -1
  170. package/components/list/list-custom.js +2 -2
  171. package/components/list/list-hint.d.ts +1 -1
  172. package/components/list/list-hint.js +3 -7
  173. package/components/list/list-item.d.ts +1 -1
  174. package/components/list/list-item.js +23 -26
  175. package/components/list/list-separator.d.ts +1 -1
  176. package/components/list/list-separator.js +3 -3
  177. package/components/list/list-title.d.ts +1 -1
  178. package/components/list/list-title.js +7 -7
  179. package/components/list/list-users-groups-source.js +6 -5
  180. package/components/list/list.d.ts +6 -6
  181. package/components/list/list.js +33 -31
  182. package/components/loader/loader.d.ts +1 -1
  183. package/components/loader/loader.js +8 -14
  184. package/components/loader-inline/loader-inline.d.ts +1 -1
  185. package/components/loader-inline/loader-inline.js +4 -7
  186. package/components/loader-screen/loader-screen.d.ts +1 -1
  187. package/components/loader-screen/loader-screen.js +3 -6
  188. package/components/login-dialog/login-dialog.d.ts +1 -1
  189. package/components/login-dialog/login-dialog.js +10 -9
  190. package/components/login-dialog/service.js +4 -3
  191. package/components/markdown/markdown.d.ts +1 -1
  192. package/components/markdown/markdown.js +3 -6
  193. package/components/message/message.d.ts +1 -1
  194. package/components/message/message.js +13 -15
  195. package/components/old-browsers-message/white-list.js +2 -2
  196. package/components/pager/pager.d.ts +5 -5
  197. package/components/pager/pager.js +28 -27
  198. package/components/panel/panel.d.ts +1 -1
  199. package/components/panel/panel.js +3 -6
  200. package/components/popup/popup.d.ts +2 -2
  201. package/components/popup/popup.js +14 -11
  202. package/components/popup/popup.target.js +68 -16
  203. package/components/popup-menu/popup-menu.d.ts +1 -1
  204. package/components/popup-menu/popup-menu.js +7 -9
  205. package/components/progress-bar/progress-bar.d.ts +1 -1
  206. package/components/progress-bar/progress-bar.js +4 -7
  207. package/components/query-assist/query-assist-suggestions.d.ts +1 -1
  208. package/components/query-assist/query-assist-suggestions.js +5 -4
  209. package/components/query-assist/query-assist.d.ts +2 -2
  210. package/components/query-assist/query-assist.js +37 -34
  211. package/components/radio/radio-item.d.ts +1 -1
  212. package/components/radio/radio-item.js +40 -20
  213. package/components/radio/radio.d.ts +1 -1
  214. package/components/radio/radio.js +3 -5
  215. package/components/scrollable-section/scrollable-section.d.ts +1 -1
  216. package/components/scrollable-section/scrollable-section.js +100 -38
  217. package/components/select/select-filter.d.ts +1 -1
  218. package/components/select/select-filter.js +5 -4
  219. package/components/select/select-popup.d.ts +7 -7
  220. package/components/select/select-popup.js +26 -25
  221. package/components/select/select.d.ts +3 -3
  222. package/components/select/select.js +52 -52
  223. package/components/shortcuts/shortcuts-hoc.js +3 -3
  224. package/components/slider/slider.js +591 -196
  225. package/components/storage/storage-local.js +2 -1
  226. package/components/storage/storage.js +2 -1
  227. package/components/style.css +1 -1
  228. package/components/tab-trap/tab-trap.js +247 -102
  229. package/components/table/cell.d.ts +1 -1
  230. package/components/table/cell.js +2 -2
  231. package/components/table/disable-hover-hoc.js +3 -3
  232. package/components/table/header-cell.d.ts +1 -1
  233. package/components/table/header-cell.js +7 -6
  234. package/components/table/header.d.ts +2 -2
  235. package/components/table/header.js +14 -13
  236. package/components/table/multitable.d.ts +1 -1
  237. package/components/table/multitable.js +3 -3
  238. package/components/table/row-with-focus-sensor.d.ts +1 -1
  239. package/components/table/row-with-focus-sensor.js +3 -2
  240. package/components/table/row.d.ts +1 -1
  241. package/components/table/row.js +51 -24
  242. package/components/table/selection-shortcuts-hoc.js +2 -2
  243. package/components/table/simple-table.d.ts +1 -1
  244. package/components/table/simple-table.js +4 -3
  245. package/components/table/smart-table.d.ts +1 -1
  246. package/components/table/smart-table.js +4 -3
  247. package/components/table/table.d.ts +2 -2
  248. package/components/table/table.js +21 -23
  249. package/components/tabs/collapsible-more.d.ts +3 -3
  250. package/components/tabs/collapsible-more.js +253 -83
  251. package/components/tabs/collapsible-tab.d.ts +1 -1
  252. package/components/tabs/collapsible-tab.js +4 -3
  253. package/components/tabs/collapsible-tabs.d.ts +2 -2
  254. package/components/tabs/collapsible-tabs.js +450 -188
  255. package/components/tabs/dumb-tabs.d.ts +2 -2
  256. package/components/tabs/dumb-tabs.js +10 -9
  257. package/components/tabs/smart-tabs.d.ts +1 -1
  258. package/components/tabs/smart-tabs.js +6 -5
  259. package/components/tabs/tab-link.d.ts +1 -1
  260. package/components/tabs/tab-link.js +2 -1
  261. package/components/tabs/tab.d.ts +1 -1
  262. package/components/tabs/tab.js +2 -2
  263. package/components/tabs/tabs.js +5 -4
  264. package/components/tag/tag.d.ts +5 -5
  265. package/components/tag/tag.js +14 -13
  266. package/components/tags-input/tags-input.d.ts +1 -1
  267. package/components/tags-input/tags-input.js +10 -9
  268. package/components/tags-list/tags-list.d.ts +2 -2
  269. package/components/tags-list/tags-list.js +4 -3
  270. package/components/text/text.d.ts +1 -1
  271. package/components/text/text.js +2 -2
  272. package/components/toggle/toggle.d.ts +1 -1
  273. package/components/toggle/toggle.js +12 -11
  274. package/components/tooltip/tooltip.d.ts +1 -1
  275. package/components/tooltip/tooltip.js +7 -6
  276. package/components/upload/upload.js +10 -9
  277. package/components/user-agreement/service.js +11 -10
  278. package/components/user-agreement/user-agreement.d.ts +1 -1
  279. package/components/user-agreement/user-agreement.js +19 -18
  280. package/components/user-card/card.d.ts +1 -1
  281. package/components/user-card/card.js +3 -2
  282. package/components/user-card/smart-user-card-tooltip.d.ts +2 -2
  283. package/components/user-card/smart-user-card-tooltip.js +7 -6
  284. package/components/user-card/tooltip.d.ts +2 -2
  285. package/components/user-card/tooltip.js +7 -6
  286. package/components/user-card/user-card.js +4 -3
  287. package/package.json +3 -9
@@ -1,14 +1,11 @@
1
- import { jsxs, jsx } from 'react/jsx-runtime';
2
- import { memo, useState, useRef, useMemo, useCallback, useEffect } from 'react';
1
+ import { c } from 'react-compiler-runtime';
2
+ import { memo, useState, useRef, useEffect } from 'react';
3
3
  import classNames from 'classnames';
4
4
  import fastdom from 'fastdom';
5
- import { s as styles } from '../_helpers/tab-link.js';
6
5
  import { MoreButton, FakeMoreButton } from './collapsible-more.js';
7
6
  import getTabTitles from './collapsible-tab.js';
8
- import '../link/link.js';
9
- import '../global/data-tests.js';
10
- import '../link/clickable-link.js';
11
- import '../_helpers/link.js';
7
+ import { s as styles } from '../_helpers/tab-link.js';
8
+ import { jsxs, jsx } from 'react/jsx-runtime';
12
9
  import '../popup/popup.consts.js';
13
10
  import '../popup-menu/popup-menu.js';
14
11
  import '../popup/popup.js';
@@ -21,6 +18,7 @@ import '../shortcuts/core.js';
21
18
  import 'combokeys';
22
19
  import '../global/sniffer.js';
23
20
  import 'sniffr';
21
+ import '../global/data-tests.js';
24
22
  import '../tab-trap/tab-trap.js';
25
23
  import '../global/configuration.js';
26
24
  import '../popup/position.js';
@@ -38,9 +36,9 @@ import '../global/create-stateful-context.js';
38
36
  import '../list/list-item.js';
39
37
  import '../avatar/avatar.js';
40
38
  import '../global/url.js';
41
- import '../_helpers/avatar-info.js';
42
- import '../avatar/avatar-size.js';
43
39
  import '../avatar/fallback-avatar.js';
40
+ import '../avatar/avatar-size.js';
41
+ import '../_helpers/avatar-info.js';
44
42
  import '../checkbox/checkbox.js';
45
43
  import '@jetbrains/icons/checkmark-12px';
46
44
  import '@jetbrains/icons/remove-12px';
@@ -49,9 +47,12 @@ import '../icon/icon.constants.js';
49
47
  import '../_helpers/icon-svg.js';
50
48
  import '../global/compose-refs.js';
51
49
  import '../control-help/control-help.js';
52
- import '../_helpers/list.js';
50
+ import '../link/link.js';
51
+ import '../link/clickable-link.js';
52
+ import '../_helpers/link.js';
53
53
  import '../list/consts.js';
54
54
  import '../list/list.classes.js';
55
+ import '../_helpers/list.js';
55
56
  import '../list/list-custom.js';
56
57
  import '../global/get-event-key.js';
57
58
  import '../list/list-title.js';
@@ -69,208 +70,354 @@ import './custom-item.js';
69
70
 
70
71
  const DEFAULT_DEBOUNCE_INTERVAL = 100;
71
72
  const MEASURE_TOLERANCE = 0.5;
72
- const CollapsibleTabs = ({
73
- children,
74
- selected,
75
- onSelect,
76
- onLastVisibleIndexChange,
77
- moreClassName,
78
- moreActiveClassName,
79
- morePopupClassName,
80
- morePopupBeforeEnd,
81
- morePopupItemClassName,
82
- initialVisibleItems
83
- }) => {
84
- const [sizes, setSizes] = useState({
85
- tabs: [],
86
- more: undefined
87
- });
73
+ const CollapsibleTabs = t0 => {
74
+ const $ = c(95);
75
+ if ($[0] !== "6ffc4825a5b596b5bfb1565535f99c10b4bc6c1a0592195789805a8953ab9acd") {
76
+ for (let $i = 0; $i < 95; $i += 1) {
77
+ $[$i] = Symbol.for("react.memo_cache_sentinel");
78
+ }
79
+ $[0] = "6ffc4825a5b596b5bfb1565535f99c10b4bc6c1a0592195789805a8953ab9acd";
80
+ }
81
+ const {
82
+ children,
83
+ selected,
84
+ onSelect,
85
+ onLastVisibleIndexChange,
86
+ moreClassName,
87
+ moreActiveClassName,
88
+ morePopupClassName,
89
+ morePopupBeforeEnd,
90
+ morePopupItemClassName,
91
+ initialVisibleItems
92
+ } = t0;
93
+ let t1;
94
+ if ($[1] === Symbol.for("react.memo_cache_sentinel")) {
95
+ t1 = {
96
+ tabs: [],
97
+ more: undefined
98
+ };
99
+ $[1] = t1;
100
+ } else {
101
+ t1 = $[1];
102
+ }
103
+ const [sizes, setSizes] = useState(t1);
88
104
  const [lastVisibleIndex, setLastVisibleIndex] = useState(null);
89
- const elements = {
90
- sizes,
91
- lastVisibleIndex
92
- };
93
- const [preparedElements, setPreparedElements] = useState({
94
- visible: [],
95
- hidden: []
96
- });
105
+ let t2;
106
+ if ($[2] !== lastVisibleIndex || $[3] !== sizes) {
107
+ t2 = {
108
+ sizes,
109
+ lastVisibleIndex
110
+ };
111
+ $[2] = lastVisibleIndex;
112
+ $[3] = sizes;
113
+ $[4] = t2;
114
+ } else {
115
+ t2 = $[4];
116
+ }
117
+ const elements = t2;
118
+ let t3;
119
+ if ($[5] === Symbol.for("react.memo_cache_sentinel")) {
120
+ t3 = {
121
+ visible: [],
122
+ hidden: []
123
+ };
124
+ $[5] = t3;
125
+ } else {
126
+ t3 = $[5];
127
+ }
128
+ const [preparedElements, setPreparedElements] = useState(t3);
97
129
  const measureRef = useRef(null);
98
- const selectedIndex = useMemo(() => {
130
+ let t4;
131
+ if ($[6] !== children || $[7] !== selected) {
99
132
  var _children$filter$find;
100
- 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;
101
- }, [children, selected]);
102
- const visibleElements = useMemo(() => {
133
+ t4 = (_children$filter$find = children.filter(_temp).findIndex(tab_0 => tab_0.props.id === selected)) !== null && _children$filter$find !== void 0 ? _children$filter$find : null;
134
+ $[6] = children;
135
+ $[7] = selected;
136
+ $[8] = t4;
137
+ } else {
138
+ t4 = $[8];
139
+ }
140
+ const selectedIndex = t4;
141
+ let t5;
142
+ if ($[9] !== children || $[10] !== initialVisibleItems || $[11] !== onSelect || $[12] !== preparedElements.ready || $[13] !== preparedElements.visible || $[14] !== selected) {
103
143
  let items;
104
144
  if (preparedElements.ready) {
105
145
  items = preparedElements.visible;
106
146
  } else {
107
- items = initialVisibleItems ? children.filter(item => item.props.alwaysHidden !== true).slice(0, initialVisibleItems) : [];
147
+ items = initialVisibleItems ? children.filter(_temp2).slice(0, initialVisibleItems) : [];
108
148
  }
109
- return getTabTitles({
149
+ t5 = getTabTitles({
110
150
  items,
111
151
  selected,
112
152
  onSelect
113
153
  });
114
- }, [initialVisibleItems, children, preparedElements.ready, preparedElements.visible, onSelect, selected]);
115
- const hiddenElements = useMemo(() => {
154
+ $[9] = children;
155
+ $[10] = initialVisibleItems;
156
+ $[11] = onSelect;
157
+ $[12] = preparedElements.ready;
158
+ $[13] = preparedElements.visible;
159
+ $[14] = selected;
160
+ $[15] = t5;
161
+ } else {
162
+ t5 = $[15];
163
+ }
164
+ const visibleElements = t5;
165
+ let t6;
166
+ bb0: {
116
167
  if (preparedElements.ready) {
117
- return preparedElements.hidden;
168
+ t6 = preparedElements.hidden;
169
+ break bb0;
118
170
  }
119
171
  if (initialVisibleItems) {
120
- return children.filter(item => !visibleElements.some(visibleItem => visibleItem.props.child === item));
121
- }
122
- return [];
123
- }, [children, preparedElements.hidden, preparedElements.ready, visibleElements, initialVisibleItems]);
124
- const adjustTabs = useCallback(entry => {
125
- const containerWidth = entry.contentRect.width;
126
- const {
127
- tabs: tabsSizes,
128
- more = 0
129
- } = elements.sizes;
130
- let renderMore = children.some(tab => tab.props.alwaysHidden);
131
- const tabsToRender = [];
132
- let filledWidth = renderMore ? more !== null && more !== void 0 ? more : 0 : 0;
133
- for (let i = 0; i < tabsSizes.length; i++) {
134
- if (filledWidth + tabsSizes[i] < containerWidth + MEASURE_TOLERANCE) {
135
- filledWidth += tabsSizes[i];
136
- tabsToRender.push(tabsSizes[i]);
137
- } else {
138
- break;
139
- }
140
- }
141
- if (tabsToRender.length < tabsSizes.length && !renderMore) {
142
- for (let i = tabsToRender.length - 1; i >= 0; i--) {
143
- if (filledWidth + more < containerWidth + MEASURE_TOLERANCE) {
144
- filledWidth += more;
145
- renderMore = true;
146
- break;
172
+ let t7;
173
+ if ($[16] !== children || $[17] !== visibleElements) {
174
+ let t8;
175
+ if ($[19] !== visibleElements) {
176
+ t8 = item_0 => !visibleElements.some(visibleItem => visibleItem.props.child === item_0);
177
+ $[19] = visibleElements;
178
+ $[20] = t8;
147
179
  } else {
148
- filledWidth -= tabsToRender[i];
149
- tabsToRender.pop();
180
+ t8 = $[20];
150
181
  }
182
+ t7 = children.filter(t8);
183
+ $[16] = children;
184
+ $[17] = visibleElements;
185
+ $[18] = t7;
186
+ } else {
187
+ t7 = $[18];
151
188
  }
189
+ t6 = t7;
190
+ break bb0;
152
191
  }
153
- if (selectedIndex > tabsToRender.length - 1) {
154
- const selectedWidth = tabsSizes[selectedIndex];
155
- for (let i = tabsToRender.length - 1; i >= 0; i--) {
156
- if (filledWidth + selectedWidth < containerWidth + MEASURE_TOLERANCE) {
157
- filledWidth += selectedWidth;
158
- break;
192
+ let t7;
193
+ if ($[21] === Symbol.for("react.memo_cache_sentinel")) {
194
+ t7 = [];
195
+ $[21] = t7;
196
+ } else {
197
+ t7 = $[21];
198
+ }
199
+ t6 = t7;
200
+ }
201
+ const hiddenElements = t6;
202
+ let t7;
203
+ if ($[22] !== children || $[23] !== elements.lastVisibleIndex || $[24] !== elements.sizes || $[25] !== onLastVisibleIndexChange || $[26] !== selectedIndex) {
204
+ t7 = entry => {
205
+ const containerWidth = entry.contentRect.width;
206
+ const {
207
+ tabs: tabsSizes,
208
+ more: t8
209
+ } = elements.sizes;
210
+ const more = t8 === undefined ? 0 : t8;
211
+ const renderMore = children.some(_temp3);
212
+ const tabsToRender = [];
213
+ let filledWidth = renderMore ? more !== null && more !== void 0 ? more : 0 : 0;
214
+ for (let i = 0; i < tabsSizes.length; i++) {
215
+ if (filledWidth + tabsSizes[i] < containerWidth + MEASURE_TOLERANCE) {
216
+ filledWidth = filledWidth + tabsSizes[i];
217
+ tabsToRender.push(tabsSizes[i]);
159
218
  } else {
160
- filledWidth -= tabsToRender[i];
161
- tabsToRender.pop();
219
+ break;
162
220
  }
163
221
  }
164
- }
165
- const newLastVisibleIndex = tabsToRender.length - 1;
166
- if (elements.lastVisibleIndex !== newLastVisibleIndex) {
167
- setLastVisibleIndex(newLastVisibleIndex);
168
- onLastVisibleIndexChange?.(newLastVisibleIndex);
169
- }
170
- }, [children, elements.lastVisibleIndex, elements.sizes, onLastVisibleIndexChange, selectedIndex]);
171
- // Prepare list of visible and hidden elements
172
- useEffect(() => {
173
- const timeout = setTimeout(() => {
174
- var _elements$lastVisible2;
175
- const res = children.reduce((accumulator, tab) => {
176
- var _elements$lastVisible;
177
- if (tab.props.alwaysHidden !== true && accumulator.visible.length - 1 < ((_elements$lastVisible = elements.lastVisibleIndex) !== null && _elements$lastVisible !== void 0 ? _elements$lastVisible : 0)) {
178
- accumulator.visible.push(tab);
179
- } else {
180
- accumulator.hidden.push(tab);
222
+ if (tabsToRender.length < tabsSizes.length && !renderMore) {
223
+ for (let i_0 = tabsToRender.length - 1; i_0 >= 0; i_0--) {
224
+ if (filledWidth + more < containerWidth + MEASURE_TOLERANCE) {
225
+ filledWidth = filledWidth + more;
226
+ break;
227
+ } else {
228
+ filledWidth = filledWidth - tabsToRender[i_0];
229
+ tabsToRender.pop();
230
+ }
181
231
  }
182
- return accumulator;
183
- }, {
184
- visible: [],
185
- hidden: [],
186
- ready: elements.lastVisibleIndex !== null
187
- });
188
- if (selectedIndex > ((_elements$lastVisible2 = elements.lastVisibleIndex) !== null && _elements$lastVisible2 !== void 0 ? _elements$lastVisible2 : 0)) {
189
- const selectedItem = children.find(tab => !tab.props.alwaysHidden && tab.props.id === selected);
190
- if (selectedItem !== null && selectedItem !== undefined) {
191
- res.visible.push(selectedItem);
232
+ }
233
+ if (selectedIndex > tabsToRender.length - 1) {
234
+ const selectedWidth = tabsSizes[selectedIndex];
235
+ for (let i_1 = tabsToRender.length - 1; i_1 >= 0; i_1--) {
236
+ if (filledWidth + selectedWidth < containerWidth + MEASURE_TOLERANCE) {
237
+ break;
238
+ } else {
239
+ filledWidth = filledWidth - tabsToRender[i_1];
240
+ tabsToRender.pop();
241
+ }
192
242
  }
193
243
  }
194
- const allVisibleTheSame = res.visible.length === preparedElements.visible.length && res.visible.every((item, index) => item === preparedElements.visible[index]);
195
- const allHiddenTheSame = res.hidden.length === preparedElements.hidden.length && res.hidden.every((item, index) => item === preparedElements.hidden[index]);
196
- if (!allVisibleTheSame || !allHiddenTheSame || preparedElements.ready !== res.ready) {
197
- fastdom.mutate(() => setPreparedElements(res));
244
+ const newLastVisibleIndex = tabsToRender.length - 1;
245
+ if (elements.lastVisibleIndex !== newLastVisibleIndex) {
246
+ setLastVisibleIndex(newLastVisibleIndex);
247
+ onLastVisibleIndexChange?.(newLastVisibleIndex);
198
248
  }
199
- }, DEFAULT_DEBOUNCE_INTERVAL);
200
- return () => {
201
- clearTimeout(timeout);
202
249
  };
203
- }, [children, elements.lastVisibleIndex, preparedElements, selected, selectedIndex]);
204
- // Get list of all possibly visible elements to render in a measure container
205
- const childrenToMeasure = useMemo(() => {
206
- const items = children.filter(tab => tab.props.alwaysHidden !== true);
207
- return getTabTitles({
208
- items,
250
+ $[22] = children;
251
+ $[23] = elements.lastVisibleIndex;
252
+ $[24] = elements.sizes;
253
+ $[25] = onLastVisibleIndexChange;
254
+ $[26] = selectedIndex;
255
+ $[27] = t7;
256
+ } else {
257
+ t7 = $[27];
258
+ }
259
+ const adjustTabs = t7;
260
+ let t8;
261
+ if ($[28] !== children || $[29] !== elements.lastVisibleIndex || $[30] !== preparedElements.hidden || $[31] !== preparedElements.ready || $[32] !== preparedElements.visible || $[33] !== selected || $[34] !== selectedIndex) {
262
+ t8 = () => {
263
+ const timeout = setTimeout(() => {
264
+ var _elements$lastVisible2;
265
+ const res = children.reduce((accumulator, tab_2) => {
266
+ var _elements$lastVisible;
267
+ if (tab_2.props.alwaysHidden !== true && accumulator.visible.length - 1 < ((_elements$lastVisible = elements.lastVisibleIndex) !== null && _elements$lastVisible !== void 0 ? _elements$lastVisible : 0)) {
268
+ accumulator.visible.push(tab_2);
269
+ } else {
270
+ accumulator.hidden.push(tab_2);
271
+ }
272
+ return accumulator;
273
+ }, {
274
+ visible: [],
275
+ hidden: [],
276
+ ready: elements.lastVisibleIndex !== null
277
+ });
278
+ if (selectedIndex > ((_elements$lastVisible2 = elements.lastVisibleIndex) !== null && _elements$lastVisible2 !== void 0 ? _elements$lastVisible2 : 0)) {
279
+ const selectedItem = children.find(tab_3 => !tab_3.props.alwaysHidden && tab_3.props.id === selected);
280
+ if (selectedItem !== null && selectedItem !== undefined) {
281
+ res.visible.push(selectedItem);
282
+ }
283
+ }
284
+ const allVisibleTheSame = res.visible.length === preparedElements.visible.length && res.visible.every((item_1, index) => item_1 === preparedElements.visible[index]);
285
+ const allHiddenTheSame = res.hidden.length === preparedElements.hidden.length && res.hidden.every((item_2, index_0) => item_2 === preparedElements.hidden[index_0]);
286
+ if (!allVisibleTheSame || !allHiddenTheSame || preparedElements.ready !== res.ready) {
287
+ fastdom.mutate(() => setPreparedElements(res));
288
+ }
289
+ }, DEFAULT_DEBOUNCE_INTERVAL);
290
+ return () => {
291
+ clearTimeout(timeout);
292
+ };
293
+ };
294
+ $[28] = children;
295
+ $[29] = elements.lastVisibleIndex;
296
+ $[30] = preparedElements.hidden;
297
+ $[31] = preparedElements.ready;
298
+ $[32] = preparedElements.visible;
299
+ $[33] = selected;
300
+ $[34] = selectedIndex;
301
+ $[35] = t8;
302
+ } else {
303
+ t8 = $[35];
304
+ }
305
+ let t9;
306
+ if ($[36] !== children || $[37] !== elements.lastVisibleIndex || $[38] !== preparedElements || $[39] !== selected || $[40] !== selectedIndex) {
307
+ t9 = [children, elements.lastVisibleIndex, preparedElements, selected, selectedIndex];
308
+ $[36] = children;
309
+ $[37] = elements.lastVisibleIndex;
310
+ $[38] = preparedElements;
311
+ $[39] = selected;
312
+ $[40] = selectedIndex;
313
+ $[41] = t9;
314
+ } else {
315
+ t9 = $[41];
316
+ }
317
+ useEffect(t8, t9);
318
+ let t10;
319
+ if ($[42] !== children) {
320
+ const items_0 = children.filter(_temp4);
321
+ t10 = getTabTitles({
322
+ items: items_0,
209
323
  tabIndex: -1
210
324
  });
211
- }, [children]);
212
- // Initial measure for tabs and more button sizes
213
- useEffect(() => {
214
- if (measureRef.current === null) {
215
- return undefined;
216
- }
217
- const measureTask = fastdom.measure(() => {
218
- var _container$children, _moreButton$offsetWid;
219
- const container = measureRef.current;
220
- const descendants = [...((_container$children = container?.children) !== null && _container$children !== void 0 ? _container$children : [])];
221
- const moreButton = descendants.pop();
222
- let moreButtonWidth = (_moreButton$offsetWid = moreButton?.offsetWidth) !== null && _moreButton$offsetWid !== void 0 ? _moreButton$offsetWid : 0;
223
- const {
224
- marginLeft: moreButtonMarginLeft = '0',
225
- marginRight: moreButtonMarginRight = '0'
226
- } = moreButton ? getComputedStyle(moreButton) : {};
227
- moreButtonWidth += +moreButtonMarginLeft.replace('px', '') + +moreButtonMarginRight.replace('px', '');
228
- const tabsWidth = descendants.map(node => {
325
+ $[42] = children;
326
+ $[43] = t10;
327
+ } else {
328
+ t10 = $[43];
329
+ }
330
+ const childrenToMeasure = t10;
331
+ let t11;
332
+ if ($[44] !== elements.sizes.more || $[45] !== elements.sizes.tabs) {
333
+ t11 = () => {
334
+ if (measureRef.current === null) {
335
+ return;
336
+ }
337
+ const measureTask = fastdom.measure(() => {
338
+ var _container$children, _moreButton$offsetWid;
339
+ const container = measureRef.current;
340
+ const descendants = [...((_container$children = container?.children) !== null && _container$children !== void 0 ? _container$children : [])];
341
+ const moreButton = descendants.pop();
342
+ let moreButtonWidth = (_moreButton$offsetWid = moreButton?.offsetWidth) !== null && _moreButton$offsetWid !== void 0 ? _moreButton$offsetWid : 0;
229
343
  const {
230
- marginLeft,
231
- marginRight
232
- } = getComputedStyle(node);
233
- const width = node.getBoundingClientRect().width;
234
- return width + +marginLeft.replace('px', '') + +marginRight.replace('px', '');
344
+ marginLeft: t12,
345
+ marginRight: t13
346
+ } = moreButton ? getComputedStyle(moreButton) : {};
347
+ const moreButtonMarginLeft = t12 === undefined ? "0" : t12;
348
+ const moreButtonMarginRight = t13 === undefined ? "0" : t13;
349
+ moreButtonWidth = moreButtonWidth + (+moreButtonMarginLeft.replace("px", "") + +moreButtonMarginRight.replace("px", ""));
350
+ const tabsWidth = descendants.map(_temp5);
351
+ const newSummaryWidth = tabsWidth.reduce(_temp6, 0);
352
+ const oldSummaryWidth = elements.sizes.tabs.reduce(_temp7, 0);
353
+ if (elements.sizes.more !== moreButtonWidth || newSummaryWidth !== oldSummaryWidth) {
354
+ fastdom.mutate(() => setSizes({
355
+ more: moreButtonWidth,
356
+ tabs: tabsWidth
357
+ }));
358
+ }
235
359
  });
236
- const newSummaryWidth = tabsWidth.reduce((acc, curr) => acc + curr, 0);
237
- const oldSummaryWidth = elements.sizes.tabs.reduce((acc, curr) => acc + curr, 0);
238
- if (elements.sizes.more !== moreButtonWidth || newSummaryWidth !== oldSummaryWidth) {
239
- fastdom.mutate(() => setSizes({
240
- more: moreButtonWidth,
241
- tabs: tabsWidth
242
- }));
243
- }
244
- });
245
- return () => {
246
- fastdom.clear(measureTask);
247
- };
248
- }, [children, elements.sizes.more, elements.sizes.tabs]);
249
- // Start observers to listen resizing and mutation
250
- useEffect(() => {
251
- if (measureRef.current === null) {
252
- return undefined;
253
- }
254
- let measureTask = () => {};
255
- const resizeObserver = new ResizeObserver(entries => {
256
- entries.forEach(entry => {
360
+ return () => {
257
361
  fastdom.clear(measureTask);
258
- measureTask = fastdom.mutate(() => adjustTabs(entry));
362
+ };
363
+ };
364
+ $[44] = elements.sizes.more;
365
+ $[45] = elements.sizes.tabs;
366
+ $[46] = t11;
367
+ } else {
368
+ t11 = $[46];
369
+ }
370
+ let t12;
371
+ if ($[47] !== children || $[48] !== elements.sizes.more || $[49] !== elements.sizes.tabs) {
372
+ t12 = [children, elements.sizes.more, elements.sizes.tabs];
373
+ $[47] = children;
374
+ $[48] = elements.sizes.more;
375
+ $[49] = elements.sizes.tabs;
376
+ $[50] = t12;
377
+ } else {
378
+ t12 = $[50];
379
+ }
380
+ useEffect(t11, t12);
381
+ let t13;
382
+ let t14;
383
+ if ($[51] !== adjustTabs) {
384
+ t13 = () => {
385
+ if (measureRef.current === null) {
386
+ return;
387
+ }
388
+ let measureTask_0 = _temp8;
389
+ const resizeObserver = new ResizeObserver(entries => {
390
+ entries.forEach(entry_0 => {
391
+ fastdom.clear(measureTask_0);
392
+ measureTask_0 = fastdom.mutate(() => adjustTabs(entry_0));
393
+ });
259
394
  });
260
- });
261
- resizeObserver.observe(measureRef.current);
262
- return () => {
263
- fastdom.clear(measureTask);
264
- resizeObserver.disconnect();
395
+ resizeObserver.observe(measureRef.current);
396
+ return () => {
397
+ fastdom.clear(measureTask_0);
398
+ resizeObserver.disconnect();
399
+ };
265
400
  };
266
- }, [adjustTabs]);
401
+ t14 = [adjustTabs];
402
+ $[51] = adjustTabs;
403
+ $[52] = t13;
404
+ $[53] = t14;
405
+ } else {
406
+ t13 = $[52];
407
+ t14 = $[53];
408
+ }
409
+ useEffect(t13, t14);
267
410
  const isAdjusted = elements.lastVisibleIndex !== null && preparedElements.ready || initialVisibleItems;
268
- const className = classNames(styles.titles, styles.autoCollapse, isAdjusted && styles.adjusted);
269
- return jsxs("div", {
270
- className: styles.autoCollapseContainer,
271
- children: [jsxs("div", {
272
- className: classNames(className, styles.rendered),
273
- children: [visibleElements, jsx(MoreButton, {
411
+ let t15;
412
+ let t16;
413
+ let t17;
414
+ let t18;
415
+ if ($[54] !== hiddenElements || $[55] !== isAdjusted || $[56] !== moreActiveClassName || $[57] !== moreClassName || $[58] !== morePopupBeforeEnd || $[59] !== morePopupClassName || $[60] !== morePopupItemClassName || $[61] !== onSelect || $[62] !== selected || $[63] !== visibleElements) {
416
+ const className = classNames(styles.titles, styles.autoCollapse, isAdjusted && styles.adjusted);
417
+ t17 = styles.autoCollapseContainer;
418
+ let t19;
419
+ if ($[68] !== hiddenElements || $[69] !== moreActiveClassName || $[70] !== moreClassName || $[71] !== morePopupBeforeEnd || $[72] !== morePopupClassName || $[73] !== morePopupItemClassName || $[74] !== onSelect || $[75] !== selected) {
420
+ t19 = /*#__PURE__*/jsx(MoreButton, {
274
421
  moreClassName: moreClassName,
275
422
  moreActiveClassName: moreActiveClassName,
276
423
  morePopupClassName: morePopupClassName,
@@ -279,18 +426,133 @@ const CollapsibleTabs = ({
279
426
  items: hiddenElements,
280
427
  selected: selected,
281
428
  onSelect: onSelect
282
- })]
283
- }), jsxs("div", {
284
- ref: measureRef,
285
- className: classNames(className, styles.measure),
286
- children: [childrenToMeasure, jsx(FakeMoreButton, {
287
- hasActiveChildren: hiddenElements.some(item => item.props.alwaysHidden && item.props.id === selected),
288
- moreClassName: moreClassName,
289
- moreActiveClassName: moreActiveClassName
290
- })]
291
- })]
292
- });
429
+ });
430
+ $[68] = hiddenElements;
431
+ $[69] = moreActiveClassName;
432
+ $[70] = moreClassName;
433
+ $[71] = morePopupBeforeEnd;
434
+ $[72] = morePopupClassName;
435
+ $[73] = morePopupItemClassName;
436
+ $[74] = onSelect;
437
+ $[75] = selected;
438
+ $[76] = t19;
439
+ } else {
440
+ t19 = $[76];
441
+ }
442
+ t18 = /*#__PURE__*/jsxs("div", {
443
+ className: classNames(className, styles.rendered),
444
+ children: [visibleElements, t19]
445
+ });
446
+ t15 = measureRef;
447
+ t16 = classNames(className, styles.measure);
448
+ $[54] = hiddenElements;
449
+ $[55] = isAdjusted;
450
+ $[56] = moreActiveClassName;
451
+ $[57] = moreClassName;
452
+ $[58] = morePopupBeforeEnd;
453
+ $[59] = morePopupClassName;
454
+ $[60] = morePopupItemClassName;
455
+ $[61] = onSelect;
456
+ $[62] = selected;
457
+ $[63] = visibleElements;
458
+ $[64] = t15;
459
+ $[65] = t16;
460
+ $[66] = t17;
461
+ $[67] = t18;
462
+ } else {
463
+ t15 = $[64];
464
+ t16 = $[65];
465
+ t17 = $[66];
466
+ t18 = $[67];
467
+ }
468
+ let t19;
469
+ if ($[77] !== hiddenElements || $[78] !== selected) {
470
+ let t20;
471
+ if ($[80] !== selected) {
472
+ t20 = item_3 => item_3.props.alwaysHidden && item_3.props.id === selected;
473
+ $[80] = selected;
474
+ $[81] = t20;
475
+ } else {
476
+ t20 = $[81];
477
+ }
478
+ t19 = hiddenElements.some(t20);
479
+ $[77] = hiddenElements;
480
+ $[78] = selected;
481
+ $[79] = t19;
482
+ } else {
483
+ t19 = $[79];
484
+ }
485
+ let t20;
486
+ if ($[82] !== moreActiveClassName || $[83] !== moreClassName || $[84] !== t19) {
487
+ t20 = /*#__PURE__*/jsx(FakeMoreButton, {
488
+ hasActiveChildren: t19,
489
+ moreClassName: moreClassName,
490
+ moreActiveClassName: moreActiveClassName
491
+ });
492
+ $[82] = moreActiveClassName;
493
+ $[83] = moreClassName;
494
+ $[84] = t19;
495
+ $[85] = t20;
496
+ } else {
497
+ t20 = $[85];
498
+ }
499
+ let t21;
500
+ if ($[86] !== childrenToMeasure || $[87] !== t15 || $[88] !== t16 || $[89] !== t20) {
501
+ t21 = /*#__PURE__*/jsxs("div", {
502
+ ref: t15,
503
+ className: t16,
504
+ children: [childrenToMeasure, t20]
505
+ });
506
+ $[86] = childrenToMeasure;
507
+ $[87] = t15;
508
+ $[88] = t16;
509
+ $[89] = t20;
510
+ $[90] = t21;
511
+ } else {
512
+ t21 = $[90];
513
+ }
514
+ let t22;
515
+ if ($[91] !== t17 || $[92] !== t18 || $[93] !== t21) {
516
+ t22 = /*#__PURE__*/jsxs("div", {
517
+ className: t17,
518
+ children: [t18, t21]
519
+ });
520
+ $[91] = t17;
521
+ $[92] = t18;
522
+ $[93] = t21;
523
+ $[94] = t22;
524
+ } else {
525
+ t22 = $[94];
526
+ }
527
+ return t22;
293
528
  };
294
529
  var CollapsibleTabs$1 = /*#__PURE__*/memo(CollapsibleTabs);
530
+ function _temp(tab) {
531
+ return tab.props.alwaysHidden !== true;
532
+ }
533
+ function _temp2(item) {
534
+ return item.props.alwaysHidden !== true;
535
+ }
536
+ function _temp3(tab_1) {
537
+ return tab_1.props.alwaysHidden;
538
+ }
539
+ function _temp4(tab_4) {
540
+ return tab_4.props.alwaysHidden !== true;
541
+ }
542
+ function _temp5(node) {
543
+ const {
544
+ marginLeft,
545
+ marginRight
546
+ } = getComputedStyle(node);
547
+ const width = node.getBoundingClientRect().width;
548
+ return width + +marginLeft.replace("px", "") + +marginRight.replace("px", "");
549
+ }
550
+ function _temp6(acc, curr) {
551
+ return acc + curr;
552
+ }
553
+ function _temp7(acc_0, curr_0) {
554
+ return acc_0 + curr_0;
555
+ }
556
+ function _temp8() {}
295
557
 
296
558
  export { CollapsibleTabs, CollapsibleTabs$1 as default };