@jetbrains/ring-ui-built 7.0.124 → 8.0.0-beta.10

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 (262) hide show
  1. package/components/_helpers/anchor.js +1 -1
  2. package/components/_helpers/avatar-info.js +3 -5
  3. package/components/_helpers/caption.js +1 -1
  4. package/components/_helpers/icon-svg.js +37 -52
  5. package/components/_helpers/legacy-table.js +3 -0
  6. package/components/_helpers/tab-link.js +1 -1
  7. package/components/_helpers/table.js +2 -2
  8. package/components/_helpers/theme.js +49 -37
  9. package/components/alert/alert-actions.js +1 -1
  10. package/components/alert/alert-heading.js +1 -1
  11. package/components/alert/alert.js +2 -2
  12. package/components/alert-service/alert-service.js +2 -2
  13. package/components/auth/auth-core.js +2 -2
  14. package/components/auth/auth.js +2 -2
  15. package/components/auth/down-notification.js +2 -2
  16. package/components/auth/iframe-flow.js +1 -1
  17. package/components/auth/storage.js +2 -2
  18. package/components/auth-dialog/auth-dialog.js +2 -2
  19. package/components/auth-dialog-service/auth-dialog-service.js +2 -2
  20. package/components/avatar/avatar-info.js +1 -1
  21. package/components/avatar/avatar-size.d.ts +0 -4
  22. package/components/avatar/avatar-size.js +0 -4
  23. package/components/avatar/avatar.js +1 -8
  24. package/components/avatar/fallback-avatar.js +3 -48
  25. package/components/avatar-stack/avatar-stack.js +5 -5
  26. package/components/banner/banner.js +2 -2
  27. package/components/button/button.d.ts +0 -4
  28. package/components/button/button.js +4 -10
  29. package/components/button-group/button-group.js +1 -1
  30. package/components/button-toolbar/button-toolbar.js +1 -1
  31. package/components/checkbox/checkbox.d.ts +1 -1
  32. package/components/checkbox/checkbox.js +1 -2
  33. package/components/clipboard/clipboard.js +2 -2
  34. package/components/collapse/collapse-content.js +35 -43
  35. package/components/collapse/collapse-context.d.ts +1 -0
  36. package/components/collapse/collapse-context.js +1 -0
  37. package/components/collapse/collapse-control.js +5 -5
  38. package/components/collapse/collapse.js +34 -25
  39. package/components/collapsible-group/collapsible-group.d.ts +5 -1
  40. package/components/collapsible-group/collapsible-group.js +80 -98
  41. package/components/components/util-stories.js +63 -1
  42. package/components/confirm/confirm.js +2 -2
  43. package/components/confirm-service/confirm-service.js +4 -4
  44. package/components/contenteditable/contenteditable.js +4 -5
  45. package/components/control-help/control-help.js +1 -1
  46. package/components/control-label/control-label.js +1 -1
  47. package/components/data-list/data-list.d.ts +4 -4
  48. package/components/data-list/data-list.js +5 -5
  49. package/components/data-list/data-list.mock.d.ts +1 -1
  50. package/components/data-list/data-list.mock.js +2 -2
  51. package/components/data-list/item.d.ts +1 -1
  52. package/components/data-list/item.js +3 -3
  53. package/components/data-list/selection.d.ts +1 -1
  54. package/components/data-list/selection.js +2 -2
  55. package/components/data-list/title.js +1 -2
  56. package/components/date-picker/date-input.js +2 -2
  57. package/components/date-picker/date-picker.js +2 -3
  58. package/components/date-picker/date-popup.js +4 -5
  59. package/components/date-picker/month-names.js +1 -1
  60. package/components/date-picker/month-slider.js +1 -1
  61. package/components/date-picker/month.d.ts +0 -2
  62. package/components/date-picker/month.js +17 -18
  63. package/components/date-picker/months.js +43 -36
  64. package/components/date-picker/use-scroll-behavior.js +45 -45
  65. package/components/date-picker/weekdays.js +1 -1
  66. package/components/date-picker/years.js +61 -55
  67. package/components/dialog/dialog.d.ts +2 -2
  68. package/components/dialog/dialog.js +5 -5
  69. package/components/dropdown/anchor.js +3 -3
  70. package/components/dropdown/dropdown.js +3 -3
  71. package/components/dropdown-menu/dropdown-menu.d.ts +4 -4
  72. package/components/dropdown-menu/dropdown-menu.js +63 -58
  73. package/components/editable-heading/editable-heading.d.ts +1 -2
  74. package/components/editable-heading/editable-heading.js +14 -13
  75. package/components/error-bubble/error-bubble.js +1 -1
  76. package/components/error-message/error-message.js +1 -2
  77. package/components/footer/footer.js +1 -1
  78. package/components/global/compose-refs.d.ts +2 -1
  79. package/components/global/compose-refs.js +44 -8
  80. package/components/global/configuration.d.ts +0 -5
  81. package/components/global/configuration.js +2 -10
  82. package/components/global/controls-height.js +1 -1
  83. package/components/global/create-stateful-context.js +11 -11
  84. package/components/global/focus-sensor-hoc.js +1 -0
  85. package/components/global/focus-with-temporary-tabindex.d.ts +11 -0
  86. package/components/global/focus-with-temporary-tabindex.js +23 -0
  87. package/components/global/intersection-observer-context.d.ts +46 -0
  88. package/components/global/intersection-observer-context.js +138 -0
  89. package/components/global/is-within-interactive-element.d.ts +6 -0
  90. package/components/global/is-within-interactive-element.js +11 -0
  91. package/components/global/is-within-navigable-element.d.ts +6 -0
  92. package/components/global/is-within-navigable-element.js +11 -0
  93. package/components/global/parse-css-duration.d.ts +5 -0
  94. package/components/global/parse-css-duration.js +14 -0
  95. package/components/global/rerender-hoc.d.ts +4 -2
  96. package/components/global/rerender-hoc.js +11 -24
  97. package/components/global/schedule-with-cleanup.d.ts +12 -0
  98. package/components/global/schedule-with-cleanup.js +36 -0
  99. package/components/{table/selection.d.ts → global/table-selection.d.ts} +15 -15
  100. package/components/{table/selection.js → global/table-selection.js} +5 -5
  101. package/components/global/theme.d.ts +4 -3
  102. package/components/global/theme.js +1 -1
  103. package/components/global/variables.interface.d.ts +0 -4
  104. package/components/header/header-icon.js +3 -3
  105. package/components/header/header.js +3 -3
  106. package/components/header/links.js +1 -1
  107. package/components/header/logo.js +1 -2
  108. package/components/header/profile.js +5 -5
  109. package/components/header/services.js +3 -3
  110. package/components/header/smart-profile.js +3 -3
  111. package/components/header/smart-services.js +3 -3
  112. package/components/heading/heading.js +1 -1
  113. package/components/i18n/i18n-context.js +4 -4
  114. package/components/icon/icon-svg.js +1 -2
  115. package/components/icon/icon.d.ts +0 -1
  116. package/components/icon/icon.js +2 -6
  117. package/components/icon/index.js +1 -2
  118. package/components/input/input.d.ts +1 -1
  119. package/components/input/input.js +3 -3
  120. package/components/internal/reorder-animation-context.js +159 -0
  121. package/components/internal/reorder-handle.js +750 -0
  122. package/components/internal/reorder-layout-context.js +141 -0
  123. package/components/internal/table-header.js +685 -0
  124. package/components/internal/virtualization.js +368 -0
  125. package/components/island/adaptive-island-hoc.js +3 -3
  126. package/components/island/content.d.ts +7 -2
  127. package/components/island/content.js +27 -18
  128. package/components/island/header.js +1 -1
  129. package/components/island/island.js +1 -1
  130. package/components/{table → legacy-table}/cell.js +1 -1
  131. package/components/{table → legacy-table}/header-cell.js +2 -3
  132. package/components/{table → legacy-table}/header.js +2 -3
  133. package/components/{table → legacy-table}/multitable.d.ts +1 -1
  134. package/components/{table → legacy-table}/row-with-focus-sensor.js +3 -3
  135. package/components/{table → legacy-table}/row.d.ts +1 -1
  136. package/components/{table → legacy-table}/row.js +5 -5
  137. package/components/legacy-table/selection-adapter.d.ts +6 -0
  138. package/components/{table → legacy-table}/selection-shortcuts-hoc.d.ts +5 -5
  139. package/components/{table → legacy-table}/simple-table.d.ts +2 -2
  140. package/components/{table → legacy-table}/simple-table.js +5 -5
  141. package/components/{table → legacy-table}/smart-table.d.ts +5 -5
  142. package/components/{table → legacy-table}/smart-table.js +6 -6
  143. package/components/legacy-table/table.d.ts +109 -0
  144. package/components/legacy-table/table.js +369 -0
  145. package/components/list/consts.d.ts +0 -1
  146. package/components/list/consts.js +0 -1
  147. package/components/list/list-item.js +3 -5
  148. package/components/list/list-users-groups-source.js +1 -2
  149. package/components/list/list.d.ts +0 -4
  150. package/components/list/list.js +1 -2
  151. package/components/login-dialog/login-dialog.js +3 -3
  152. package/components/login-dialog/service.js +2 -2
  153. package/components/message/message.js +1 -1
  154. package/components/pager/pager.js +3 -3
  155. package/components/popup/popup.js +1 -1
  156. package/components/popup/popup.target.d.ts +3 -2
  157. package/components/popup/popup.target.js +32 -28
  158. package/components/popup-menu/popup-menu.js +1 -1
  159. package/components/query-assist/query-assist-suggestions.js +1 -2
  160. package/components/query-assist/query-assist.d.ts +3 -1
  161. package/components/query-assist/query-assist.js +2 -2
  162. package/components/radio/radio-item.d.ts +3 -3
  163. package/components/radio/radio-item.js +33 -19
  164. package/components/radio/radio.d.ts +2 -2
  165. package/components/radio/radio.js +2 -2
  166. package/components/scrollable-section/scrollable-section.js +1 -1
  167. package/components/select/chevron-button.js +3 -3
  168. package/components/select/select-filter.js +3 -3
  169. package/components/select/select-popup.d.ts +3 -2
  170. package/components/select/select-popup.js +9 -4
  171. package/components/select/select.d.ts +6 -2
  172. package/components/select/select.js +5 -4
  173. package/components/selection-toolbar/selection-toolbar.d.ts +11 -0
  174. package/components/selection-toolbar/selection-toolbar.js +200 -0
  175. package/components/slider/slider.js +100 -97
  176. package/components/storage/storage-local.js +2 -2
  177. package/components/storage/storage.js +2 -2
  178. package/components/style.css +1 -1
  179. package/components/tab-trap/tab-trap.d.ts +3 -3
  180. package/components/tab-trap/tab-trap.js +83 -80
  181. package/components/table/default-item-renderer.d.ts +55 -0
  182. package/components/table/default-item-renderer.js +240 -0
  183. package/components/table/internal/reorder-animation-context.d.ts +21 -0
  184. package/components/table/internal/reorder-handle.d.ts +9 -0
  185. package/components/table/internal/reorder-layout-context.d.ts +16 -0
  186. package/components/table/internal/table-header.d.ts +1 -0
  187. package/components/table/internal/virtualization.d.ts +41 -0
  188. package/components/table/item-virtualization.d.ts +37 -0
  189. package/components/table/item-virtualization.js +73 -0
  190. package/components/table/reorder-animation.d.ts +37 -0
  191. package/components/table/reorder-animation.js +18 -0
  192. package/components/table/reorder-item-layout.d.ts +32 -0
  193. package/components/table/reorder-item-layout.js +57 -0
  194. package/components/table/table-const.d.ts +10 -0
  195. package/components/table/table-const.js +13 -0
  196. package/components/table/table-primitives.d.ts +64 -0
  197. package/components/table/table-primitives.js +180 -0
  198. package/components/table/table-props.d.ts +304 -0
  199. package/components/table/table-props.js +1 -0
  200. package/components/table/table.d.ts +231 -107
  201. package/components/table/table.js +351 -346
  202. package/components/tabs/collapsible-more.js +1 -1
  203. package/components/tabs/collapsible-tab.js +1 -1
  204. package/components/tabs/collapsible-tabs.js +1 -1
  205. package/components/tabs/dumb-tabs.js +1 -1
  206. package/components/tabs/smart-tabs.js +1 -1
  207. package/components/tabs/tab-link.js +1 -1
  208. package/components/tabs/tabs.js +1 -1
  209. package/components/tag/tag.js +1 -1
  210. package/components/tags-input/tags-input.d.ts +3 -1
  211. package/components/tags-input/tags-input.js +4 -4
  212. package/components/tags-list/tags-list.js +2 -2
  213. package/components/toggle/toggle.js +1 -1
  214. package/components/tooltip/tooltip.d.ts +2 -1
  215. package/components/tooltip/tooltip.js +5 -3
  216. package/components/upload/upload.d.ts +4 -3
  217. package/components/upload/upload.js +7 -30
  218. package/components/user-agreement/service.js +3 -3
  219. package/components/user-agreement/user-agreement.js +2 -2
  220. package/components/user-card/card.js +4 -4
  221. package/components/user-card/smart-user-card-tooltip.js +3 -3
  222. package/components/user-card/tooltip.js +3 -3
  223. package/components/user-card/user-card.js +5 -5
  224. package/components/util-stories.d.ts +26 -0
  225. package/package.json +8 -9
  226. package/components/__mocks__/old-browsers-message.js +0 -3
  227. package/components/_helpers/grid.js +0 -3
  228. package/components/_helpers/sidebar.js +0 -110
  229. package/components/content-layout/content-layout.d.ts +0 -20
  230. package/components/content-layout/content-layout.js +0 -50
  231. package/components/content-layout/sidebar.d.ts +0 -26
  232. package/components/content-layout/sidebar.js +0 -5
  233. package/components/date-picker/use-intersection-observer.d.ts +0 -6
  234. package/components/date-picker/use-intersection-observer.js +0 -93
  235. package/components/expand/collapsible-group.d.ts +0 -8
  236. package/components/expand/collapsible-group.js +0 -52
  237. package/components/global/composeRefs.d.ts +0 -6
  238. package/components/global/composeRefs.js +0 -9
  239. package/components/global/use-event-callback.d.ts +0 -4
  240. package/components/global/use-event-callback.js +0 -49
  241. package/components/grid/col.d.ts +0 -16
  242. package/components/grid/col.js +0 -63
  243. package/components/grid/grid.d.ts +0 -13
  244. package/components/grid/grid.js +0 -27
  245. package/components/grid/row.d.ts +0 -21
  246. package/components/grid/row.js +0 -72
  247. package/components/old-browsers-message/old-browsers-message-stop.d.ts +0 -1
  248. package/components/old-browsers-message/old-browsers-message-stop.js +0 -5
  249. package/components/old-browsers-message/old-browsers-message.d.ts +0 -5
  250. package/components/old-browsers-message/old-browsers-message.js +0 -89
  251. package/components/old-browsers-message/white-list.d.ts +0 -2
  252. package/components/old-browsers-message/white-list.js +0 -30
  253. package/components/table/selection-adapter.d.ts +0 -6
  254. /package/components/{table → legacy-table}/cell.d.ts +0 -0
  255. /package/components/{table → legacy-table}/disable-hover-hoc.d.ts +0 -0
  256. /package/components/{table → legacy-table}/disable-hover-hoc.js +0 -0
  257. /package/components/{table → legacy-table}/header-cell.d.ts +0 -0
  258. /package/components/{table → legacy-table}/header.d.ts +0 -0
  259. /package/components/{table → legacy-table}/multitable.js +0 -0
  260. /package/components/{table → legacy-table}/row-with-focus-sensor.d.ts +0 -0
  261. /package/components/{table → legacy-table}/selection-adapter.js +0 -0
  262. /package/components/{table → legacy-table}/selection-shortcuts-hoc.js +0 -0
@@ -43,10 +43,6 @@ export interface ListProps<T = unknown> {
43
43
  maxHeight?: number | null | undefined;
44
44
  activeIndex?: number | null | undefined;
45
45
  useMouseUp?: boolean | null | undefined;
46
- /**
47
- * @deprecated No longer used. Visibility is detected automatically via IntersectionObserver. Will be removed in Ring UI 8.0.
48
- */
49
- visible?: boolean | null | undefined;
50
46
  disableMoveOverflow?: boolean | null | undefined;
51
47
  compact?: boolean | null | undefined;
52
48
  disableScrollToActive?: boolean | null | undefined;
@@ -26,7 +26,7 @@ import '../shortcuts/core.js';
26
26
  import 'combokeys';
27
27
  import '../global/sniffer.js';
28
28
  import 'sniffr';
29
- import 'react-compiler-runtime';
29
+ import 'react/compiler-runtime';
30
30
  import '../avatar/avatar.js';
31
31
  import '../global/url.js';
32
32
  import '../avatar/fallback-avatar.js';
@@ -38,7 +38,6 @@ import '@jetbrains/icons/remove-12px';
38
38
  import '../icon/icon.js';
39
39
  import '../icon/icon.constants.js';
40
40
  import '../_helpers/icon-svg.js';
41
- import '../global/configuration.js';
42
41
  import '../global/compose-refs.js';
43
42
  import '../control-help/control-help.js';
44
43
  import '../link/link.js';
@@ -3,7 +3,7 @@ import Dialog from '../dialog/dialog.js';
3
3
  import 'classnames';
4
4
  import { jsxs, jsx } from 'react/jsx-runtime';
5
5
  import '../_helpers/island.js';
6
- import 'react-compiler-runtime';
6
+ import 'react/compiler-runtime';
7
7
  import ContentWrapper from '../island/content.js';
8
8
  import LoaderScreen from '../loader-screen/loader-screen.js';
9
9
  import { HUB_AUTH_PAGE_OPENED } from '../auth/background-flow.js';
@@ -28,14 +28,14 @@ import '../global/dom.js';
28
28
  import '../button/button.js';
29
29
  import '@jetbrains/icons/chevron-down';
30
30
  import '@jetbrains/icons/chevron-12px-down';
31
- import 'util-deprecate';
32
31
  import '../icon/icon.js';
32
+ import 'util-deprecate';
33
33
  import '../icon/icon.constants.js';
34
34
  import '../_helpers/icon-svg.js';
35
- import '../global/configuration.js';
36
35
  import '../global/memoize.js';
37
36
  import '../link/clickable-link.js';
38
37
  import '../global/controls-height.js';
38
+ import '../global/configuration.js';
39
39
  import '../_helpers/button.classes.js';
40
40
  import '../popup/popup.target.js';
41
41
  import '../popup/popup.js';
@@ -15,7 +15,7 @@ import '../island/adaptive-island-hoc.js';
15
15
  import '../global/linear-function.js';
16
16
  import '../_helpers/island.js';
17
17
  import '../island/header.js';
18
- import 'react-compiler-runtime';
18
+ import 'react/compiler-runtime';
19
19
  import '../island/content.js';
20
20
  import 'element-resize-detector';
21
21
  import '../global/schedule-raf.js';
@@ -58,7 +58,7 @@ const reactRoot = createRoot(containerElement);
58
58
  * Renders LoginDialog into virtual node to skip maintaining container
59
59
  */
60
60
  function renderLoginDialog(props) {
61
- reactRoot.render(/*#__PURE__*/jsx(ControlsHeightContext.Provider, {
61
+ reactRoot.render(/*#__PURE__*/jsx(ControlsHeightContext, {
62
62
  value: getGlobalControlsHeight(),
63
63
  children: /*#__PURE__*/jsx(LoginDialog, {
64
64
  ...props
@@ -20,7 +20,7 @@ import '../global/sniffer.js';
20
20
  import 'sniffr';
21
21
  import '../global/data-tests.js';
22
22
  import '../tab-trap/tab-trap.js';
23
- import 'react-compiler-runtime';
23
+ import 'react/compiler-runtime';
24
24
  import '../global/configuration.js';
25
25
  import '../popup/position.js';
26
26
  import '../popup/popup.target.js';
@@ -13,14 +13,14 @@ import { I18nContext } from '../i18n/i18n-context.js';
13
13
  import { jsx, jsxs } from 'react/jsx-runtime';
14
14
  import '@jetbrains/icons/chevron-down';
15
15
  import '@jetbrains/icons/chevron-12px-down';
16
- import 'util-deprecate';
17
16
  import '../link/clickable-link.js';
18
17
  import '../global/controls-height.js';
18
+ import 'util-deprecate';
19
19
  import '../global/configuration.js';
20
20
  import '../_helpers/button.classes.js';
21
21
  import '../icon/icon.constants.js';
22
22
  import '../_helpers/icon-svg.js';
23
- import 'react-compiler-runtime';
23
+ import 'react/compiler-runtime';
24
24
  import '../global/data-tests.js';
25
25
  import '../control-label/control-label.js';
26
26
  import '../control-help/control-help.js';
@@ -30,7 +30,6 @@ import 'dequal';
30
30
  import '../global/typescript-utils.js';
31
31
  import '../_helpers/anchor.js';
32
32
  import '../avatar/avatar.js';
33
- import 'core-js/modules/es.array.includes.js';
34
33
  import '../global/url.js';
35
34
  import '../global/dom.js';
36
35
  import '../avatar/fallback-avatar.js';
@@ -42,6 +41,7 @@ import 'react-dom';
42
41
  import '../global/schedule-raf.js';
43
42
  import '../shortcuts/shortcuts.js';
44
43
  import '../shortcuts/core.js';
44
+ import 'core-js/modules/es.array.includes.js';
45
45
  import 'combokeys';
46
46
  import '../global/sniffer.js';
47
47
  import 'sniffr';
@@ -19,7 +19,7 @@ import 'core-js/modules/es.array.includes.js';
19
19
  import 'combokeys';
20
20
  import '../global/sniffer.js';
21
21
  import 'sniffr';
22
- import 'react-compiler-runtime';
22
+ import 'react/compiler-runtime';
23
23
 
24
24
  var styles = {"popup":"ring-popup-popup ring-global-font","cssAnchoredPopup":"ring-popup-cssAnchoredPopup","largeBorderRadius":"ring-popup-largeBorderRadius","hidden":"ring-popup-hidden","showing":"ring-popup-showing","attached":"ring-popup-attached"};
25
25
 
@@ -1,13 +1,14 @@
1
- import { type HTMLAttributes, type ReactNode } from 'react';
1
+ import { type HTMLAttributes, type Ref, type ReactNode } from 'react';
2
2
  interface ComplexConfig {
3
3
  target: string | Element | undefined;
4
4
  cssPositioning?: boolean;
5
5
  }
6
6
  export declare const PopupTargetContext: import("react").Context<string | Element | ComplexConfig | undefined>;
7
7
  export interface PopupTargetProps extends Omit<HTMLAttributes<HTMLDivElement>, 'children'> {
8
+ ref?: Ref<HTMLDivElement>;
8
9
  id: string;
9
10
  children: ReactNode | ((target: ReactNode) => ReactNode);
10
11
  }
11
12
  export declare function normalizePopupTarget(value: string | Element | undefined | ComplexConfig): string | Element | undefined;
12
- export declare const PopupTarget: import("react").ForwardRefExoticComponent<PopupTargetProps & import("react").RefAttributes<HTMLDivElement>>;
13
+ export declare function PopupTarget({ ref, id, children, ...restProps }: PopupTargetProps): import("react").JSX.Element;
13
14
  export {};
@@ -1,24 +1,26 @@
1
- import { c } from 'react-compiler-runtime';
2
- import { createContext, forwardRef } from 'react';
1
+ import { c } from 'react/compiler-runtime';
2
+ import { createContext } from 'react';
3
3
  import { jsx } from 'react/jsx-runtime';
4
4
 
5
5
  const PopupTargetContext = /*#__PURE__*/createContext(undefined);
6
6
  function normalizePopupTarget(value) {
7
7
  return typeof value === 'string' || value instanceof Element ? value : value?.target;
8
8
  }
9
- const PopupTarget = /*#__PURE__*/forwardRef(function PopupTarget(t0, ref) {
10
- const $ = c(16);
11
- if ($[0] !== "724a89f31414a8bb7f140dd9ee815319e22fb903301463ca38bb9ce1c09b0c07") {
12
- for (let $i = 0; $i < 16; $i += 1) {
9
+ function PopupTarget(t0) {
10
+ const $ = c(17);
11
+ if ($[0] !== "7699156479625bee795d2e20de6b2a333ee08e426b86af6e54a6a359d82ff1bc") {
12
+ for (let $i = 0; $i < 17; $i += 1) {
13
13
  $[$i] = Symbol.for("react.memo_cache_sentinel");
14
14
  }
15
- $[0] = "724a89f31414a8bb7f140dd9ee815319e22fb903301463ca38bb9ce1c09b0c07";
15
+ $[0] = "7699156479625bee795d2e20de6b2a333ee08e426b86af6e54a6a359d82ff1bc";
16
16
  }
17
17
  let children;
18
18
  let id;
19
+ let ref;
19
20
  let restProps;
20
21
  if ($[1] !== t0) {
21
22
  ({
23
+ ref,
22
24
  id,
23
25
  children,
24
26
  ...restProps
@@ -26,52 +28,54 @@ const PopupTarget = /*#__PURE__*/forwardRef(function PopupTarget(t0, ref) {
26
28
  $[1] = t0;
27
29
  $[2] = children;
28
30
  $[3] = id;
29
- $[4] = restProps;
31
+ $[4] = ref;
32
+ $[5] = restProps;
30
33
  } else {
31
34
  children = $[2];
32
35
  id = $[3];
33
- restProps = $[4];
36
+ ref = $[4];
37
+ restProps = $[5];
34
38
  }
35
39
  const t1 = typeof children !== "function" && children;
36
40
  let t2;
37
- if ($[5] !== id || $[6] !== ref || $[7] !== restProps || $[8] !== t1) {
41
+ if ($[6] !== id || $[7] !== ref || $[8] !== restProps || $[9] !== t1) {
38
42
  t2 = /*#__PURE__*/jsx("div", {
39
43
  ...restProps,
40
44
  "data-portaltarget": id,
41
45
  ref: ref,
42
46
  children: t1
43
47
  });
44
- $[5] = id;
45
- $[6] = ref;
46
- $[7] = restProps;
47
- $[8] = t1;
48
- $[9] = t2;
48
+ $[6] = id;
49
+ $[7] = ref;
50
+ $[8] = restProps;
51
+ $[9] = t1;
52
+ $[10] = t2;
49
53
  } else {
50
- t2 = $[9];
54
+ t2 = $[10];
51
55
  }
52
56
  const target = t2;
53
57
  let t3;
54
- if ($[10] !== children || $[11] !== target) {
58
+ if ($[11] !== children || $[12] !== target) {
55
59
  t3 = typeof children === "function" ? children(target) : target;
56
- $[10] = children;
57
- $[11] = target;
58
- $[12] = t3;
60
+ $[11] = children;
61
+ $[12] = target;
62
+ $[13] = t3;
59
63
  } else {
60
- t3 = $[12];
64
+ t3 = $[13];
61
65
  }
62
66
  let t4;
63
- if ($[13] !== id || $[14] !== t3) {
64
- t4 = /*#__PURE__*/jsx(PopupTargetContext.Provider, {
67
+ if ($[14] !== id || $[15] !== t3) {
68
+ t4 = /*#__PURE__*/jsx(PopupTargetContext, {
65
69
  value: id,
66
70
  children: t3
67
71
  });
68
- $[13] = id;
69
- $[14] = t3;
70
- $[15] = t4;
72
+ $[14] = id;
73
+ $[15] = t3;
74
+ $[16] = t4;
71
75
  } else {
72
- t4 = $[15];
76
+ t4 = $[16];
73
77
  }
74
78
  return t4;
75
- });
79
+ }
76
80
 
77
81
  export { PopupTarget, PopupTargetContext, normalizePopupTarget };
@@ -15,7 +15,7 @@ import '../global/sniffer.js';
15
15
  import 'sniffr';
16
16
  import '../global/data-tests.js';
17
17
  import '../tab-trap/tab-trap.js';
18
- import 'react-compiler-runtime';
18
+ import 'react/compiler-runtime';
19
19
  import '../global/configuration.js';
20
20
  import '../popup/position.js';
21
21
  import '../popup/popup.consts.js';
@@ -21,7 +21,7 @@ import 'combokeys';
21
21
  import '../global/sniffer.js';
22
22
  import 'sniffr';
23
23
  import '../global/create-stateful-context.js';
24
- import 'react-compiler-runtime';
24
+ import 'react/compiler-runtime';
25
25
  import '../list/list-item.js';
26
26
  import '../avatar/avatar.js';
27
27
  import '../global/url.js';
@@ -34,7 +34,6 @@ import '@jetbrains/icons/remove-12px';
34
34
  import '../icon/icon.js';
35
35
  import '../icon/icon.constants.js';
36
36
  import '../_helpers/icon-svg.js';
37
- import '../global/configuration.js';
38
37
  import '../global/compose-refs.js';
39
38
  import '../control-help/control-help.js';
40
39
  import '../link/link.js';
@@ -285,5 +285,7 @@ export default class QueryAssist extends Component<QueryAssistProps> {
285
285
  render(): React.JSX.Element;
286
286
  }
287
287
  export type QueryAssistAttrs = React.JSX.LibraryManagedAttributes<typeof QueryAssist, QueryAssistProps>;
288
- export declare const RerenderableQueryAssist: React.ForwardRefExoticComponent<QueryAssistProps & React.RefAttributes<QueryAssist>>;
288
+ export declare const RerenderableQueryAssist: ({ ref, ...props }: QueryAssistProps & {
289
+ ref?: React.Ref<QueryAssist> | undefined;
290
+ }) => React.JSX.Element;
289
291
  export {};
@@ -22,7 +22,7 @@ import { I18nContext } from '../i18n/i18n-context.js';
22
22
  import { Q as QueryAssistSuggestions, s as styles } from '../_helpers/query-assist-suggestions.js';
23
23
  import { jsx, jsxs } from 'react/jsx-runtime';
24
24
  import { ControlsHeight } from '../global/configuration.js';
25
- import 'react-compiler-runtime';
25
+ import 'react/compiler-runtime';
26
26
  import 'react-dom/server';
27
27
  import '../popup/popup.js';
28
28
  import 'react-dom';
@@ -841,7 +841,7 @@ class QueryAssist extends Component {
841
841
  [styles.hugePlaceholder]: huge,
842
842
  [styles.withoutGlass]: !glass || !renderLoader && huge
843
843
  });
844
- return /*#__PURE__*/jsx(ControlsHeightContext.Provider, {
844
+ return /*#__PURE__*/jsx(ControlsHeightContext, {
845
845
  value: ControlsHeight.M,
846
846
  children: /*#__PURE__*/jsx(I18nContext.Consumer, {
847
847
  children: ({
@@ -1,4 +1,4 @@
1
- import { Component, type InputHTMLAttributes, type ReactNode } from 'react';
1
+ import { Component, type Ref, type InputHTMLAttributes, type ReactNode } from 'react';
2
2
  export interface RadioProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'onChange'> {
3
3
  value?: string | undefined;
4
4
  onChange?: ((value: string) => void) | null | undefined;
@@ -17,7 +17,7 @@ export declare class RadioItemInner extends Component<RadioItemInnerProps> {
17
17
  render(): import("react").JSX.Element;
18
18
  }
19
19
  export interface RadioItemProps extends RadioItemInnerProps {
20
+ ref?: Ref<RadioItemInner>;
20
21
  value: string;
21
22
  }
22
- declare const RadioItem: import("react").ForwardRefExoticComponent<RadioItemProps & import("react").RefAttributes<RadioItemInner>>;
23
- export default RadioItem;
23
+ export default function RadioItem({ ref, ...props }: RadioItemProps): import("react").JSX.Element;
@@ -1,10 +1,10 @@
1
- import { c } from 'react-compiler-runtime';
2
- import { createContext, Component, forwardRef } from 'react';
1
+ import { c } from 'react/compiler-runtime';
2
+ import { createContext, Component } from 'react';
3
3
  import classNames from 'classnames';
4
4
  import getUID from '../global/get-uid.js';
5
5
  import ControlHelp from '../control-help/control-help.js';
6
6
  import joinDataTestAttributes from '../global/data-tests.js';
7
- import { jsxs, jsx } from 'react/jsx-runtime';
7
+ import { jsx, jsxs } from 'react/jsx-runtime';
8
8
 
9
9
  var styles = {"radio":"ring-radio-radio","circle":"ring-radio-circle","input":"ring-radio-input","focus":"ring-radio-focus","label":"ring-radio-label"};
10
10
 
@@ -50,23 +50,37 @@ class RadioItemInner extends Component {
50
50
  });
51
51
  }
52
52
  }
53
- const RadioItem = /*#__PURE__*/forwardRef(function RadioItem(props, ref) {
54
- const $ = c(4);
55
- if ($[0] !== "cfe03c1b4de5e5b7c05d995f87f6f21e4f959ab43be4b51105412c45322d9b72") {
56
- for (let $i = 0; $i < 4; $i += 1) {
53
+ function RadioItem(t0) {
54
+ const $ = c(7);
55
+ if ($[0] !== "76a59b10a53963fdea791fd3fd6af13dc3cda49b18cdc493b183559c143d5694") {
56
+ for (let $i = 0; $i < 7; $i += 1) {
57
57
  $[$i] = Symbol.for("react.memo_cache_sentinel");
58
58
  }
59
- $[0] = "cfe03c1b4de5e5b7c05d995f87f6f21e4f959ab43be4b51105412c45322d9b72";
59
+ $[0] = "76a59b10a53963fdea791fd3fd6af13dc3cda49b18cdc493b183559c143d5694";
60
60
  }
61
- let t0;
62
- if ($[1] !== props || $[2] !== ref) {
63
- t0 = /*#__PURE__*/jsx(RadioContext.Consumer, {
64
- children: t1 => {
61
+ let props;
62
+ let ref;
63
+ if ($[1] !== t0) {
64
+ ({
65
+ ref,
66
+ ...props
67
+ } = t0);
68
+ $[1] = t0;
69
+ $[2] = props;
70
+ $[3] = ref;
71
+ } else {
72
+ props = $[2];
73
+ ref = $[3];
74
+ }
75
+ let t1;
76
+ if ($[4] !== props || $[5] !== ref) {
77
+ t1 = /*#__PURE__*/jsx(RadioContext.Consumer, {
78
+ children: t2 => {
65
79
  const {
66
80
  value,
67
81
  onChange,
68
82
  ...restContext
69
- } = t1;
83
+ } = t2;
70
84
  return /*#__PURE__*/jsx(RadioItemInner, {
71
85
  ref: ref,
72
86
  ...restContext,
@@ -76,13 +90,13 @@ const RadioItem = /*#__PURE__*/forwardRef(function RadioItem(props, ref) {
76
90
  });
77
91
  }
78
92
  });
79
- $[1] = props;
80
- $[2] = ref;
81
- $[3] = t0;
93
+ $[4] = props;
94
+ $[5] = ref;
95
+ $[6] = t1;
82
96
  } else {
83
- t0 = $[3];
97
+ t1 = $[6];
84
98
  }
85
- return t0;
86
- });
99
+ return t1;
100
+ }
87
101
 
88
102
  export { RadioContext, RadioItemInner, RadioItem as default };
@@ -1,10 +1,10 @@
1
1
  import { Component } from 'react';
2
- import { type RadioProps } from './radio-item';
2
+ import RadioItem, { type RadioProps } from './radio-item';
3
3
  /**
4
4
  * @name Radio
5
5
  */
6
6
  export default class Radio extends Component<RadioProps> {
7
- static Item: import("react").ForwardRefExoticComponent<import("./radio-item").RadioItemProps & import("react").RefAttributes<import("./radio-item").RadioItemInner>>;
7
+ static Item: typeof RadioItem;
8
8
  uid: string;
9
9
  render(): import("react").JSX.Element;
10
10
  }
@@ -2,7 +2,7 @@ import { Component } from 'react';
2
2
  import getUID from '../global/get-uid.js';
3
3
  import RadioItem, { RadioContext } from './radio-item.js';
4
4
  import { jsx } from 'react/jsx-runtime';
5
- import 'react-compiler-runtime';
5
+ import 'react/compiler-runtime';
6
6
  import 'classnames';
7
7
  import '../control-help/control-help.js';
8
8
  import '../global/data-tests.js';
@@ -11,7 +11,7 @@ class Radio extends Component {
11
11
  static Item = RadioItem;
12
12
  uid = getUID('ring-radio-');
13
13
  render() {
14
- return /*#__PURE__*/jsx(RadioContext.Provider, {
14
+ return /*#__PURE__*/jsx(RadioContext, {
15
15
  value: {
16
16
  name: this.uid,
17
17
  ...this.props
@@ -1,4 +1,4 @@
1
- import { c } from 'react-compiler-runtime';
1
+ import { c } from 'react/compiler-runtime';
2
2
  import { useState, useRef, useEffect } from 'react';
3
3
  import classNames from 'classnames';
4
4
  import { jsx } from 'react/jsx-runtime';
@@ -1,18 +1,18 @@
1
- import { c } from 'react-compiler-runtime';
1
+ import { c } from 'react/compiler-runtime';
2
2
  import chevronDownIcon from '@jetbrains/icons/chevron-down';
3
3
  import classNames from 'classnames';
4
4
  import { Button } from '../button/button.js';
5
5
  import { jsx } from 'react/jsx-runtime';
6
6
  import 'react';
7
7
  import '@jetbrains/icons/chevron-12px-down';
8
- import 'util-deprecate';
9
8
  import '../icon/icon.js';
9
+ import 'util-deprecate';
10
10
  import '../icon/icon.constants.js';
11
11
  import '../_helpers/icon-svg.js';
12
- import '../global/configuration.js';
13
12
  import '../global/memoize.js';
14
13
  import '../link/clickable-link.js';
15
14
  import '../global/controls-height.js';
15
+ import '../global/configuration.js';
16
16
  import '../_helpers/button.classes.js';
17
17
 
18
18
  var styles = {"chevronButton":"ring-chevron-button-chevronButton","chevronIcon":"ring-chevron-button-chevronIcon"};
@@ -10,15 +10,15 @@ import '@jetbrains/icons/close-12px';
10
10
  import '../button/button.js';
11
11
  import '@jetbrains/icons/chevron-down';
12
12
  import '@jetbrains/icons/chevron-12px-down';
13
- import 'util-deprecate';
14
13
  import '../icon/icon.js';
14
+ import 'util-deprecate';
15
15
  import '../icon/icon.constants.js';
16
16
  import '../_helpers/icon-svg.js';
17
- import 'react-compiler-runtime';
18
- import '../global/configuration.js';
17
+ import 'react/compiler-runtime';
19
18
  import '../global/memoize.js';
20
19
  import '../link/clickable-link.js';
21
20
  import '../global/controls-height.js';
21
+ import '../global/configuration.js';
22
22
  import '../_helpers/button.classes.js';
23
23
  import '../global/get-uid.js';
24
24
  import '../global/compose-refs.js';
@@ -4,7 +4,7 @@
4
4
  import { type ComponentType, type CSSProperties, PureComponent, type ReactNode, type Ref, type SyntheticEvent } from 'react';
5
5
  import * as React from 'react';
6
6
  import { type IconType } from '../icon/icon';
7
- import Popup from '../popup/popup';
7
+ import Popup, { type PopupAttrs } from '../popup/popup';
8
8
  import { type Directions } from '../popup/position';
9
9
  import List, { type SelectHandlerParams } from '../list/list';
10
10
  import Caret from '../caret/caret';
@@ -60,6 +60,7 @@ export interface SelectPopupProps<T = unknown> {
60
60
  ringPopupTarget: string | null;
61
61
  onSelectAll: (isSelectAll: boolean) => void;
62
62
  onEmptyPopupEnter: (e: KeyboardEvent) => void;
63
+ popupProps?: Partial<PopupAttrs> | undefined;
63
64
  className?: string | null | undefined;
64
65
  compact?: boolean | null | undefined;
65
66
  dir?: 'ltr' | 'rtl' | undefined;
@@ -127,7 +128,7 @@ export default class SelectPopup<T = unknown> extends PureComponent<SelectPopupP
127
128
  list?: List<T> | null;
128
129
  listRef: (el: List<T> | null) => void;
129
130
  filterRef: (el: HTMLInputElement | null) => void;
130
- composedFilterRef: import("memoize-one").MemoizedFn<(...refs: (Ref<HTMLInputElement> | undefined)[]) => (value: T_1 | null) => void>;
131
+ composedFilterRef: import("memoize-one").MemoizedFn<(...refs: (Ref<HTMLInputElement> | undefined)[]) => (value: T_1 | null) => () => void>;
131
132
  shortcutsScope: string;
132
133
  shortcutsMap: {
133
134
  tab: (event: Event) => void;
@@ -26,7 +26,7 @@ import { ControlsHeight } from '../global/configuration.js';
26
26
  import 'util-deprecate';
27
27
  import '../icon/icon.constants.js';
28
28
  import '../_helpers/icon-svg.js';
29
- import 'react-compiler-runtime';
29
+ import 'react/compiler-runtime';
30
30
  import 'react-dom';
31
31
  import '../global/schedule-raf.js';
32
32
  import '../global/data-tests.js';
@@ -446,9 +446,10 @@ class SelectPopup extends PureComponent {
446
446
  offset,
447
447
  style,
448
448
  dir,
449
- filter
449
+ filter,
450
+ popupProps
450
451
  } = this.props;
451
- const classes = classNames(styles.popup, className);
452
+ const classes = classNames(styles.popup, className, popupProps?.className);
452
453
  return /*#__PURE__*/jsx(PopupTargetContext.Consumer, {
453
454
  children: ringPopupTarget => {
454
455
  const filterWithTags = this.getFilterWithTags();
@@ -457,6 +458,7 @@ class SelectPopup extends PureComponent {
457
458
  const bottomLine = this.getBottomLine();
458
459
  const hasContent = filterWithTags || selectAll || list || bottomLine || toolbar || topbar;
459
460
  return /*#__PURE__*/jsx(Popup, {
461
+ ...popupProps,
460
462
  trapFocus: false,
461
463
  ref: this.popupRef,
462
464
  hidden: hidden || !hasContent,
@@ -474,7 +476,10 @@ class SelectPopup extends PureComponent {
474
476
  onMouseDown: this.mouseDownHandler,
475
477
  target: this.props.ringPopupTarget,
476
478
  autoCorrectTopOverflow: false,
477
- style: style,
479
+ style: {
480
+ ...popupProps?.style,
481
+ ...style
482
+ },
478
483
  largeBorderRadius: true,
479
484
  children: /*#__PURE__*/jsxs("div", {
480
485
  dir: dir,
@@ -1,5 +1,6 @@
1
1
  import { type ButtonHTMLAttributes, Component, type ComponentType, type CSSProperties, type HTMLAttributes, type ReactNode, type Ref, type RefCallback, type SyntheticEvent } from 'react';
2
2
  import * as React from 'react';
3
+ import { type PopupAttrs } from '../popup/popup';
3
4
  import { type SelectHandlerParams } from '../list/list';
4
5
  import { Size } from '../input/input';
5
6
  import { type LabelType } from '../control-label/control-label';
@@ -99,6 +100,7 @@ export interface BaseSelectProps<T = unknown> {
99
100
  getInitial?: (() => string) | null | undefined;
100
101
  minWidth?: number | undefined;
101
102
  popupClassName?: string | null | undefined;
103
+ popupProps?: Partial<PopupAttrs> | undefined;
102
104
  popupStyle?: CSSProperties | undefined;
103
105
  top?: number | undefined;
104
106
  left?: number | undefined;
@@ -264,7 +266,7 @@ export default class Select<T = unknown> extends Component<SelectProps<T>, Selec
264
266
  private _getAvatar;
265
267
  filter?: HTMLInputElement | null;
266
268
  filterRef: (el: HTMLInputElement | null) => void;
267
- composedFilterRef: import("memoize-one").MemoizedFn<(...refs: (Ref<HTMLInputElement> | undefined)[]) => (value: T_1 | null) => void>;
269
+ composedFilterRef: import("memoize-one").MemoizedFn<(...refs: (Ref<HTMLInputElement> | undefined)[]) => (value: T_1 | null) => () => void>;
268
270
  getShortcutsMap(): {
269
271
  enter: () => true | undefined;
270
272
  esc: (event: KeyboardEvent) => boolean | undefined;
@@ -282,5 +284,7 @@ export default class Select<T = unknown> extends Component<SelectProps<T>, Selec
282
284
  export type SingleSelectAttrs<T = unknown> = React.JSX.LibraryManagedAttributes<typeof Select, SingleSelectProps<T>>;
283
285
  export type MultipleSelectAttrs<T = unknown> = React.JSX.LibraryManagedAttributes<typeof Select, MultipleSelectProps<T>>;
284
286
  export type SelectAttrs<T = unknown> = React.JSX.LibraryManagedAttributes<typeof Select, SelectProps<T>>;
285
- export declare const RerenderableSelect: React.ForwardRefExoticComponent<Omit<any, "ref"> & React.RefAttributes<any>>;
287
+ export declare const RerenderableSelect: ({ ref, ...props }: Omit<any, "ref"> & {
288
+ ref?: Ref<any> | undefined;
289
+ }) => React.JSX.Element;
286
290
  export {};
@@ -24,9 +24,7 @@ import SelectPopup from './select-popup.js';
24
24
  import ChevronButton from './chevron-button.js';
25
25
  import { ControlsHeight } from '../global/configuration.js';
26
26
  import { Size as Size$1 } from '../avatar/avatar-size.js';
27
- import 'react-compiler-runtime';
28
- import 'core-js/modules/es.array.includes.js';
29
- import 'util-deprecate';
27
+ import 'react/compiler-runtime';
30
28
  import '../global/url.js';
31
29
  import '../global/dom.js';
32
30
  import '../avatar/fallback-avatar.js';
@@ -35,6 +33,7 @@ import 'react-dom';
35
33
  import '../global/schedule-raf.js';
36
34
  import '../tab-trap/tab-trap.js';
37
35
  import '../popup/position.js';
36
+ import 'core-js/modules/es.array.includes.js';
38
37
  import '../popup/popup.consts.js';
39
38
  import '../popup/popup.target.js';
40
39
  import '../popup/position-css.js';
@@ -47,6 +46,7 @@ import 'react-virtualized/dist/es/List';
47
46
  import 'react-virtualized/dist/es/AutoSizer';
48
47
  import 'react-virtualized/dist/es/WindowScroller';
49
48
  import 'react-virtualized/dist/es/CellMeasurer';
49
+ import 'util-deprecate';
50
50
  import 'memoize-one';
51
51
  import '../global/create-stateful-context.js';
52
52
  import '../list/list-item.js';
@@ -102,7 +102,7 @@ const getStyle = memoize(iconsLength => ({
102
102
  }));
103
103
  const isInputMode = type => type === Type.INPUT || type === Type.INPUT_WITHOUT_CONTROLS;
104
104
  function getLowerCaseLabel(item) {
105
- if (List.isItemType(List.ListProps.Type.SEPARATOR, item) || List.isItemType(List.ListProps.Type.HINT, item) || typeof item.label !== 'string') {
105
+ if (List.isItemType(List.ListProps.Type.SEPARATOR, item) || typeof item.label !== 'string') {
106
106
  return null;
107
107
  }
108
108
  return item.label.toLowerCase();
@@ -585,6 +585,7 @@ class Select extends Component {
585
585
  maxHeight: this.props.maxHeight,
586
586
  minWidth: this.props.minWidth,
587
587
  directions: this.props.directions,
588
+ popupProps: this.props.popupProps,
588
589
  className: this.props.popupClassName,
589
590
  style: this.props.popupStyle,
590
591
  top: this.props.top,