@jetbrains/ring-ui-built 7.0.115 → 8.0.0-beta.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (189) hide show
  1. package/components/_helpers/anchor.js +1 -1
  2. package/components/_helpers/avatar-info.js +1 -1
  3. package/components/_helpers/icon-svg.js +1 -1
  4. package/components/_helpers/legacy-table.js +3 -0
  5. package/components/_helpers/tab-link.js +1 -1
  6. package/components/_helpers/table.js +2 -2
  7. package/components/_helpers/theme.js +49 -37
  8. package/components/alert/alert.js +1 -1
  9. package/components/alert-service/alert-service.js +1 -1
  10. package/components/auth/auth-core.js +1 -1
  11. package/components/auth/auth.js +1 -1
  12. package/components/auth/down-notification.js +1 -1
  13. package/components/auth/iframe-flow.js +1 -1
  14. package/components/auth/storage.js +1 -1
  15. package/components/auth-dialog/auth-dialog.js +1 -1
  16. package/components/auth-dialog-service/auth-dialog-service.js +2 -2
  17. package/components/avatar/avatar-info.js +1 -1
  18. package/components/avatar/avatar.js +1 -1
  19. package/components/avatar/fallback-avatar.js +1 -1
  20. package/components/avatar-stack/avatar-stack.js +1 -1
  21. package/components/banner/banner.js +1 -1
  22. package/components/button/button.js +1 -1
  23. package/components/button-group/button-group.js +1 -1
  24. package/components/checkbox/checkbox.js +1 -1
  25. package/components/clipboard/clipboard.js +1 -1
  26. package/components/collapse/collapse-content.js +5 -5
  27. package/components/collapse/collapse-control.js +5 -5
  28. package/components/collapse/collapse.js +4 -4
  29. package/components/confirm/confirm.js +1 -1
  30. package/components/confirm-service/confirm-service.js +2 -2
  31. package/components/contenteditable/contenteditable.js +1 -1
  32. package/components/control-help/control-help.js +1 -1
  33. package/components/control-label/control-label.js +1 -1
  34. package/components/data-list/data-list.d.ts +4 -4
  35. package/components/data-list/data-list.js +3 -3
  36. package/components/data-list/data-list.mock.d.ts +1 -1
  37. package/components/data-list/data-list.mock.js +1 -1
  38. package/components/data-list/item.d.ts +1 -1
  39. package/components/data-list/item.js +1 -1
  40. package/components/data-list/selection.d.ts +1 -1
  41. package/components/data-list/selection.js +2 -2
  42. package/components/data-list/title.js +1 -1
  43. package/components/date-picker/date-input.js +1 -1
  44. package/components/date-picker/date-picker.js +2 -3
  45. package/components/date-picker/date-popup.js +2 -3
  46. package/components/date-picker/month-names.js +1 -1
  47. package/components/date-picker/month-slider.js +1 -1
  48. package/components/date-picker/month.d.ts +0 -2
  49. package/components/date-picker/month.js +17 -18
  50. package/components/date-picker/months.js +43 -35
  51. package/components/date-picker/use-intersection-observer.js +1 -1
  52. package/components/date-picker/use-scroll-behavior.js +45 -44
  53. package/components/date-picker/weekdays.js +1 -1
  54. package/components/date-picker/years.js +61 -54
  55. package/components/dialog/dialog.d.ts +2 -2
  56. package/components/dialog/dialog.js +3 -3
  57. package/components/dropdown/anchor.js +1 -1
  58. package/components/dropdown/dropdown.js +1 -1
  59. package/components/dropdown-menu/dropdown-menu.d.ts +4 -4
  60. package/components/dropdown-menu/dropdown-menu.js +62 -57
  61. package/components/editable-heading/editable-heading.d.ts +1 -2
  62. package/components/editable-heading/editable-heading.js +13 -12
  63. package/components/error-bubble/error-bubble.js +1 -1
  64. package/components/error-message/error-message.js +1 -1
  65. package/components/expand/collapsible-group.d.ts +5 -1
  66. package/components/expand/collapsible-group.js +15 -14
  67. package/components/footer/footer.js +1 -1
  68. package/components/global/create-stateful-context.js +11 -11
  69. package/components/global/intersection-observer-context.d.ts +26 -0
  70. package/components/global/intersection-observer-context.js +140 -0
  71. package/components/global/rerender-hoc.d.ts +4 -2
  72. package/components/global/rerender-hoc.js +10 -24
  73. package/components/{table/selection.d.ts → global/table-selection.d.ts} +15 -15
  74. package/components/{table/selection.js → global/table-selection.js} +4 -4
  75. package/components/global/theme.d.ts +4 -3
  76. package/components/global/theme.js +1 -1
  77. package/components/header/header-icon.js +1 -1
  78. package/components/header/header.js +1 -1
  79. package/components/header/links.js +1 -1
  80. package/components/header/logo.js +1 -1
  81. package/components/header/profile.js +1 -1
  82. package/components/header/services.js +1 -1
  83. package/components/header/smart-profile.js +1 -1
  84. package/components/header/smart-services.js +1 -1
  85. package/components/heading/heading.js +1 -1
  86. package/components/i18n/i18n-context.js +4 -4
  87. package/components/icon/icon-svg.js +1 -1
  88. package/components/icon/icon.js +1 -1
  89. package/components/icon/index.js +1 -1
  90. package/components/input/input.js +1 -1
  91. package/components/island/adaptive-island-hoc.js +3 -3
  92. package/components/island/content.d.ts +7 -2
  93. package/components/island/content.js +27 -18
  94. package/components/island/header.js +1 -1
  95. package/components/island/island.js +1 -1
  96. package/components/{table → legacy-table}/cell.js +1 -1
  97. package/components/{table → legacy-table}/header-cell.js +4 -4
  98. package/components/{table → legacy-table}/header.js +2 -2
  99. package/components/{table → legacy-table}/multitable.d.ts +1 -1
  100. package/components/{table → legacy-table}/row-with-focus-sensor.js +2 -2
  101. package/components/{table → legacy-table}/row.js +4 -4
  102. package/components/legacy-table/selection-adapter.d.ts +6 -0
  103. package/components/{table → legacy-table}/selection-shortcuts-hoc.d.ts +5 -5
  104. package/components/{table → legacy-table}/simple-table.d.ts +2 -2
  105. package/components/{table → legacy-table}/simple-table.js +4 -4
  106. package/components/{table → legacy-table}/smart-table.d.ts +5 -5
  107. package/components/{table → legacy-table}/smart-table.js +5 -5
  108. package/components/legacy-table/table.d.ts +109 -0
  109. package/components/legacy-table/table.js +369 -0
  110. package/components/list/list-item.js +1 -1
  111. package/components/list/list-users-groups-source.js +1 -1
  112. package/components/list/list.js +1 -1
  113. package/components/login-dialog/login-dialog.js +1 -1
  114. package/components/login-dialog/service.js +2 -2
  115. package/components/message/message.js +1 -1
  116. package/components/old-browsers-message/white-list.js +2 -2
  117. package/components/pager/pager.js +1 -1
  118. package/components/popup/popup.js +1 -1
  119. package/components/popup/popup.target.d.ts +3 -2
  120. package/components/popup/popup.target.js +32 -28
  121. package/components/popup-menu/popup-menu.js +1 -1
  122. package/components/query-assist/query-assist-suggestions.js +1 -1
  123. package/components/query-assist/query-assist.d.ts +3 -1
  124. package/components/query-assist/query-assist.js +2 -2
  125. package/components/radio/radio-item.d.ts +3 -3
  126. package/components/radio/radio-item.js +32 -18
  127. package/components/radio/radio.d.ts +2 -2
  128. package/components/radio/radio.js +2 -2
  129. package/components/scrollable-section/scrollable-section.js +1 -1
  130. package/components/select/chevron-button.js +1 -1
  131. package/components/select/select-filter.js +1 -1
  132. package/components/select/select-popup.js +1 -1
  133. package/components/select/select.d.ts +3 -1
  134. package/components/select/select.js +1 -1
  135. package/components/slider/slider.js +100 -96
  136. package/components/storage/storage-local.js +1 -1
  137. package/components/storage/storage.js +1 -1
  138. package/components/style.css +1 -1
  139. package/components/tab-trap/tab-trap.d.ts +3 -3
  140. package/components/tab-trap/tab-trap.js +83 -80
  141. package/components/table/default-item-renderer.d.ts +36 -0
  142. package/components/table/default-item-renderer.js +182 -0
  143. package/components/table/table-component.d.ts +80 -0
  144. package/components/table/table-component.js +290 -0
  145. package/components/table/table-const.d.ts +8 -0
  146. package/components/table/table-const.js +11 -0
  147. package/components/table/table-primitives.d.ts +28 -0
  148. package/components/table/table-primitives.js +323 -0
  149. package/components/table/table-row-focus.d.ts +4 -0
  150. package/components/table/table-row-focus.js +41 -0
  151. package/components/table/table-virtualize.d.ts +32 -0
  152. package/components/table/table-virtualize.js +329 -0
  153. package/components/table/table.d.ts +206 -104
  154. package/components/table/table.js +19 -362
  155. package/components/tabs/collapsible-more.js +1 -1
  156. package/components/tabs/collapsible-tab.js +1 -1
  157. package/components/tabs/collapsible-tabs.js +1 -1
  158. package/components/tabs/dumb-tabs.js +1 -1
  159. package/components/tabs/smart-tabs.js +1 -1
  160. package/components/tabs/tab-link.js +1 -1
  161. package/components/tabs/tabs.js +1 -1
  162. package/components/tag/tag.js +1 -1
  163. package/components/tags-input/tags-input.d.ts +3 -1
  164. package/components/tags-input/tags-input.js +1 -1
  165. package/components/tags-list/tags-list.js +1 -1
  166. package/components/toggle/toggle.js +1 -1
  167. package/components/tooltip/tooltip.js +2 -2
  168. package/components/upload/upload.d.ts +4 -3
  169. package/components/upload/upload.js +7 -29
  170. package/components/user-agreement/service.js +2 -2
  171. package/components/user-agreement/user-agreement.js +1 -1
  172. package/components/user-card/card.js +1 -1
  173. package/components/user-card/smart-user-card-tooltip.js +1 -1
  174. package/components/user-card/tooltip.js +1 -1
  175. package/components/user-card/user-card.js +1 -1
  176. package/package.json +6 -6
  177. package/components/global/use-event-callback.d.ts +0 -1
  178. package/components/global/use-event-callback.js +0 -44
  179. package/components/table/selection-adapter.d.ts +0 -6
  180. /package/components/{table → legacy-table}/cell.d.ts +0 -0
  181. /package/components/{table → legacy-table}/disable-hover-hoc.d.ts +0 -0
  182. /package/components/{table → legacy-table}/disable-hover-hoc.js +0 -0
  183. /package/components/{table → legacy-table}/header-cell.d.ts +0 -0
  184. /package/components/{table → legacy-table}/header.d.ts +0 -0
  185. /package/components/{table → legacy-table}/multitable.js +0 -0
  186. /package/components/{table → legacy-table}/row-with-focus-sensor.d.ts +0 -0
  187. /package/components/{table → legacy-table}/row.d.ts +0 -0
  188. /package/components/{table → legacy-table}/selection-adapter.js +0 -0
  189. /package/components/{table → legacy-table}/selection-shortcuts-hoc.js +0 -0
@@ -1,6 +1,6 @@
1
1
  import { PureComponent } from 'react';
2
2
  import * as React from 'react';
3
- import TabTrap, { type TabTrapProps } from '../tab-trap/tab-trap';
3
+ import { type TabTrapObject, type TabTrapProps } from '../tab-trap/tab-trap';
4
4
  import type { ShortcutsScopeOptions } from '../shortcuts/core';
5
5
  export interface DialogProps extends Partial<TabTrapProps> {
6
6
  show: boolean;
@@ -43,7 +43,7 @@ export default class Dialog extends PureComponent<DialogProps> {
43
43
  esc: (event: KeyboardEvent) => void;
44
44
  };
45
45
  dialog?: HTMLElement | null;
46
- dialogRef: (tabTrap: TabTrap | null) => void;
46
+ dialogRef: (tabTrapObj: TabTrapObject | null) => void;
47
47
  nativeDialog: React.RefObject<HTMLDialogElement | null>;
48
48
  render(): false | React.JSX.Element;
49
49
  }
@@ -16,7 +16,7 @@ import '../island/adaptive-island-hoc.js';
16
16
  import '../global/linear-function.js';
17
17
  import '../_helpers/island.js';
18
18
  import '../island/header.js';
19
- import 'react-compiler-runtime';
19
+ import 'react/compiler-runtime';
20
20
  import '../island/content.js';
21
21
  import 'element-resize-detector';
22
22
  import '../global/schedule-raf.js';
@@ -139,8 +139,8 @@ class Dialog extends PureComponent {
139
139
  };
140
140
  };
141
141
  dialog;
142
- dialogRef = tabTrap => {
143
- this.dialog = tabTrap && tabTrap.node;
142
+ dialogRef = tabTrapObj => {
143
+ this.dialog = tabTrapObj && tabTrapObj.node;
144
144
  };
145
145
  nativeDialog = /*#__PURE__*/createRef();
146
146
  render() {
@@ -1,4 +1,4 @@
1
- import 'react-compiler-runtime';
1
+ import 'react/compiler-runtime';
2
2
  import 'react';
3
3
  import 'classnames';
4
4
  import '../button/button.js';
@@ -4,7 +4,7 @@ import joinDataTestAttributes from '../global/data-tests.js';
4
4
  import { isArray } from '../global/typescript-utils.js';
5
5
  import { s as styles, A as Anchor } from '../_helpers/anchor.js';
6
6
  import { jsxs, jsx } from 'react/jsx-runtime';
7
- import 'react-compiler-runtime';
7
+ import 'react/compiler-runtime';
8
8
  import '../button/button.js';
9
9
  import '@jetbrains/icons/chevron-down';
10
10
  import '@jetbrains/icons/chevron-12px-down';
@@ -1,4 +1,4 @@
1
- import { type ReactElement, type HTMLAttributes, type SyntheticEvent, type Ref, type ReactNode } from 'react';
1
+ import { type ReactElement, type HTMLAttributes, type SyntheticEvent, type ReactNode } from 'react';
2
2
  import { type SelectHandlerParams } from '../list/list';
3
3
  import { type AnchorProps, type DropdownAttrs, type DropdownChildrenFunction } from '../dropdown/dropdown';
4
4
  import PopupMenu, { type PopupMenuAttrs } from '../popup-menu/popup-menu';
@@ -10,6 +10,7 @@ export interface DropdownAnchorWrapperProps extends AnchorProps {
10
10
  }
11
11
  type OnSelectHandler<T> = ((item: ListDataItem<T>, event: Event | SyntheticEvent, params?: SelectHandlerParams) => void) | undefined;
12
12
  export interface DropdownMenuProps<T = unknown> extends Omit<DropdownAttrs, 'anchor' | 'onSelect' | 'children'> {
13
+ ref?: React.Ref<PopupMenu<T> | null>;
13
14
  anchor: ReactElement | ReactNode[] | string | ((props: AnchorProps, ariaProps: HTMLAttributes<HTMLElement>) => ReactElement | null);
14
15
  data?: readonly ListDataItem<T>[] | undefined;
15
16
  ariaLabel?: string | null | undefined;
@@ -17,9 +18,8 @@ export interface DropdownMenuProps<T = unknown> extends Omit<DropdownAttrs, 'anc
17
18
  menuProps?: PopupMenuAttrs<T> | null | undefined;
18
19
  children?: DropdownChildrenFunction;
19
20
  }
20
- declare const _default: (<T = unknown>(props: DropdownMenuProps<T> & {
21
- ref?: Ref<PopupMenu>;
22
- }) => ReactElement | null) & {
21
+ declare function DropdownMenu<T = unknown>({ ref, id, anchor, ariaLabel, data, onSelect, menuProps, children, ...restDropdownProps }: DropdownMenuProps<T>): import("react").JSX.Element;
22
+ declare const _default: typeof DropdownMenu & {
23
23
  ListProps: {
24
24
  Type: typeof import("../list/consts").Type;
25
25
  Dimension: {
@@ -1,5 +1,5 @@
1
- import { c } from 'react-compiler-runtime';
2
- import { forwardRef, useState, cloneElement } from 'react';
1
+ import { c } from 'react/compiler-runtime';
2
+ import { useState, cloneElement } from 'react';
3
3
  import List, { ActiveItemContext } from '../list/list.js';
4
4
  import Dropdown from '../dropdown/dropdown.js';
5
5
  import PopupMenu from '../popup-menu/popup-menu.js';
@@ -68,11 +68,11 @@ import '../_helpers/theme.js';
68
68
  const defaultAriaLabel = 'Dropdown menu';
69
69
  function DropdownAnchorWrapper(t0) {
70
70
  const $ = c(4);
71
- if ($[0] !== "76518a978b8f0a4a0d9a0c10c7ca40e440513efe8e405524337b2d1b406bee02") {
71
+ if ($[0] !== "4128e61ebe660e719aaf538d00491953fbdf42de520c353af40602765f42bd6b") {
72
72
  for (let $i = 0; $i < 4; $i += 1) {
73
73
  $[$i] = Symbol.for("react.memo_cache_sentinel");
74
74
  }
75
- $[0] = "76518a978b8f0a4a0d9a0c10c7ca40e440513efe8e405524337b2d1b406bee02";
75
+ $[0] = "4128e61ebe660e719aaf538d00491953fbdf42de520c353af40602765f42bd6b";
76
76
  }
77
77
  let t1;
78
78
  let t2;
@@ -159,13 +159,13 @@ function renderDropdownMenuChildren({
159
159
  ...popupMenuProps
160
160
  });
161
161
  }
162
- const DropdownMenu = /*#__PURE__*/forwardRef(function DropdownMenu(t0, forwardedRef) {
163
- const $ = c(35);
164
- if ($[0] !== "76518a978b8f0a4a0d9a0c10c7ca40e440513efe8e405524337b2d1b406bee02") {
165
- for (let $i = 0; $i < 35; $i += 1) {
162
+ function DropdownMenu(t0) {
163
+ const $ = c(36);
164
+ if ($[0] !== "4128e61ebe660e719aaf538d00491953fbdf42de520c353af40602765f42bd6b") {
165
+ for (let $i = 0; $i < 36; $i += 1) {
166
166
  $[$i] = Symbol.for("react.memo_cache_sentinel");
167
167
  }
168
- $[0] = "76518a978b8f0a4a0d9a0c10c7ca40e440513efe8e405524337b2d1b406bee02";
168
+ $[0] = "4128e61ebe660e719aaf538d00491953fbdf42de520c353af40602765f42bd6b";
169
169
  }
170
170
  let anchor;
171
171
  let ariaLabel;
@@ -174,9 +174,11 @@ const DropdownMenu = /*#__PURE__*/forwardRef(function DropdownMenu(t0, forwarded
174
174
  let id;
175
175
  let menuProps;
176
176
  let onSelect;
177
+ let ref;
177
178
  let restDropdownProps;
178
179
  if ($[1] !== t0) {
179
180
  ({
181
+ ref,
180
182
  id,
181
183
  anchor,
182
184
  ariaLabel,
@@ -194,7 +196,8 @@ const DropdownMenu = /*#__PURE__*/forwardRef(function DropdownMenu(t0, forwarded
194
196
  $[6] = id;
195
197
  $[7] = menuProps;
196
198
  $[8] = onSelect;
197
- $[9] = restDropdownProps;
199
+ $[9] = ref;
200
+ $[10] = restDropdownProps;
198
201
  } else {
199
202
  anchor = $[2];
200
203
  ariaLabel = $[3];
@@ -203,20 +206,22 @@ const DropdownMenu = /*#__PURE__*/forwardRef(function DropdownMenu(t0, forwarded
203
206
  id = $[6];
204
207
  menuProps = $[7];
205
208
  onSelect = $[8];
206
- restDropdownProps = $[9];
209
+ ref = $[9];
210
+ restDropdownProps = $[10];
207
211
  }
208
212
  const [uid] = useState(_temp);
209
213
  const listId = id || uid;
214
+ const t1 = ariaLabel || defaultAriaLabel;
210
215
  let T0;
211
216
  let T1;
212
- let t1;
213
217
  let t2;
214
218
  let t3;
215
- if ($[10] !== anchor || $[11] !== ariaLabel || $[12] !== children || $[13] !== data || $[14] !== forwardedRef || $[15] !== listId || $[16] !== menuProps || $[17] !== onSelect || $[18] !== restDropdownProps) {
219
+ let t4;
220
+ if ($[11] !== anchor || $[12] !== children || $[13] !== data || $[14] !== listId || $[15] !== menuProps || $[16] !== onSelect || $[17] !== ref || $[18] !== restDropdownProps || $[19] !== t1) {
216
221
  const popupMenuProps = {
217
- ref: forwardedRef,
222
+ ref,
218
223
  id: listId,
219
- ariaLabel: ariaLabel || defaultAriaLabel,
224
+ ariaLabel: t1,
220
225
  closeOnSelect: true,
221
226
  activateFirstItem: false,
222
227
  data,
@@ -225,13 +230,13 @@ const DropdownMenu = /*#__PURE__*/forwardRef(function DropdownMenu(t0, forwarded
225
230
  };
226
231
  T1 = ActiveItemContext.Provider;
227
232
  T0 = Dropdown;
228
- if ($[24] !== anchor || $[25] !== listId) {
229
- t1 = t4 => {
233
+ if ($[25] !== anchor || $[26] !== listId) {
234
+ t2 = t5 => {
230
235
  const {
231
236
  pinned,
232
237
  active,
233
238
  ...restAnchorProps
234
- } = t4;
239
+ } = t5;
235
240
  return /*#__PURE__*/jsx(ActiveItemContext.ValueContext.Consumer, {
236
241
  children: activeItemId => /*#__PURE__*/jsx(DropdownAnchorWrapper, {
237
242
  anchor: anchor,
@@ -243,71 +248,71 @@ const DropdownMenu = /*#__PURE__*/forwardRef(function DropdownMenu(t0, forwarded
243
248
  })
244
249
  });
245
250
  };
246
- $[24] = anchor;
247
- $[25] = listId;
248
- $[26] = t1;
251
+ $[25] = anchor;
252
+ $[26] = listId;
253
+ $[27] = t2;
249
254
  } else {
250
- t1 = $[26];
255
+ t2 = $[27];
251
256
  }
252
- t2 = restDropdownProps;
253
- t3 = renderDropdownMenuChildren({
257
+ t3 = restDropdownProps;
258
+ t4 = renderDropdownMenuChildren({
254
259
  children,
255
260
  popupMenuProps
256
261
  });
257
- $[10] = anchor;
258
- $[11] = ariaLabel;
262
+ $[11] = anchor;
259
263
  $[12] = children;
260
264
  $[13] = data;
261
- $[14] = forwardedRef;
262
- $[15] = listId;
263
- $[16] = menuProps;
264
- $[17] = onSelect;
265
+ $[14] = listId;
266
+ $[15] = menuProps;
267
+ $[16] = onSelect;
268
+ $[17] = ref;
265
269
  $[18] = restDropdownProps;
266
- $[19] = T0;
267
- $[20] = T1;
268
- $[21] = t1;
270
+ $[19] = t1;
271
+ $[20] = T0;
272
+ $[21] = T1;
269
273
  $[22] = t2;
270
274
  $[23] = t3;
275
+ $[24] = t4;
271
276
  } else {
272
- T0 = $[19];
273
- T1 = $[20];
274
- t1 = $[21];
277
+ T0 = $[20];
278
+ T1 = $[21];
275
279
  t2 = $[22];
276
280
  t3 = $[23];
281
+ t4 = $[24];
277
282
  }
278
- let t4;
279
- if ($[27] !== T0 || $[28] !== t1 || $[29] !== t2 || $[30] !== t3) {
280
- t4 = /*#__PURE__*/jsx(T0, {
281
- anchor: t1,
282
- ...t2,
283
- children: t3
283
+ let t5;
284
+ if ($[28] !== T0 || $[29] !== t2 || $[30] !== t3 || $[31] !== t4) {
285
+ t5 = /*#__PURE__*/jsx(T0, {
286
+ anchor: t2,
287
+ ...t3,
288
+ children: t4
284
289
  });
285
- $[27] = T0;
286
- $[28] = t1;
290
+ $[28] = T0;
287
291
  $[29] = t2;
288
292
  $[30] = t3;
289
293
  $[31] = t4;
294
+ $[32] = t5;
290
295
  } else {
291
- t4 = $[31];
296
+ t5 = $[32];
292
297
  }
293
- let t5;
294
- if ($[32] !== T1 || $[33] !== t4) {
295
- t5 = /*#__PURE__*/jsx(T1, {
296
- children: t4
298
+ let t6;
299
+ if ($[33] !== T1 || $[34] !== t5) {
300
+ t6 = /*#__PURE__*/jsx(T1, {
301
+ children: t5
297
302
  });
298
- $[32] = T1;
299
- $[33] = t4;
303
+ $[33] = T1;
300
304
  $[34] = t5;
305
+ $[35] = t6;
301
306
  } else {
302
- t5 = $[34];
307
+ t6 = $[35];
303
308
  }
304
- return t5;
305
- });
306
- var DropdownMenu$1 = Object.assign(DropdownMenu, {
307
- ListProps: List.ListProps
308
- });
309
+ return t6;
310
+ }
309
311
  function _temp() {
310
312
  return getUID("dropdown-menu-list");
311
313
  }
314
+ var DropdownMenu$1 = Object.assign(DropdownMenu, {
315
+ ListProps: List.ListProps
316
+ });
312
317
 
313
318
  export { DropdownMenu$1 as default };
@@ -29,5 +29,4 @@ export type EditableHeadingProps = Omit<InputHTMLAttributes<HTMLInputElement | H
29
29
  translations?: EditableHeadingTranslations;
30
30
  };
31
31
  export declare const EditableHeading: (props: EditableHeadingProps) => React.JSX.Element;
32
- declare const _default: React.MemoExoticComponent<(props: EditableHeadingProps) => React.JSX.Element>;
33
- export default _default;
32
+ export default EditableHeading;
@@ -1,13 +1,12 @@
1
- import { c } from 'react-compiler-runtime';
1
+ import { c } from 'react/compiler-runtime';
2
2
  import * as React from 'react';
3
- import { useEffect } from 'react';
3
+ import { useEffectEvent, useEffect } from 'react';
4
4
  import classNames from 'classnames';
5
5
  import Heading, { Levels } from '../heading/heading.js';
6
6
  import { Button } from '../button/button.js';
7
7
  import { S as Size, i as inputStyles } from '../_helpers/input.js';
8
8
  import getUID from '../global/get-uid.js';
9
9
  import Shortcuts from '../shortcuts/shortcuts.js';
10
- import useEventCallback from '../global/use-event-callback.js';
11
10
  import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
12
11
  import 'util-deprecate';
13
12
  import '../_helpers/heading.js';
@@ -40,11 +39,11 @@ function noop() {}
40
39
  // eslint-disable-next-line complexity
41
40
  const EditableHeading = props => {
42
41
  const $ = c(129);
43
- if ($[0] !== "3ac267c2661a712752bc17aadc2ab1fd112b0978580f58998a2e6034e2034a23") {
42
+ if ($[0] !== "7f58f2f72c51c33966552a21e4710894a686c3e1d3b939c62cf38b6b9080fa58") {
44
43
  for (let $i = 0; $i < 129; $i += 1) {
45
44
  $[$i] = Symbol.for("react.memo_cache_sentinel");
46
45
  }
47
- $[0] = "3ac267c2661a712752bc17aadc2ab1fd112b0978580f58998a2e6034e2034a23";
46
+ $[0] = "7f58f2f72c51c33966552a21e4710894a686c3e1d3b939c62cf38b6b9080fa58";
48
47
  }
49
48
  let children;
50
49
  let className;
@@ -326,7 +325,7 @@ const EditableHeading = props => {
326
325
  } else {
327
326
  t25 = $[62];
328
327
  }
329
- const onMouseMove = useEventCallback(t25);
328
+ const onMouseMove = useEffectEvent(t25);
330
329
  let t26;
331
330
  if ($[63] !== disabled || $[64] !== isInSelectionMode || $[65] !== isMouseDown || $[66] !== onEdit) {
332
331
  t26 = () => {
@@ -344,7 +343,7 @@ const EditableHeading = props => {
344
343
  } else {
345
344
  t26 = $[67];
346
345
  }
347
- const onMouseUp = useEventCallback(t26);
346
+ const onMouseUp = useEffectEvent(t26);
348
347
  let t27;
349
348
  if ($[68] !== checkValue || $[69] !== onFocus) {
350
349
  t27 = e => {
@@ -399,7 +398,6 @@ const EditableHeading = props => {
399
398
  }
400
399
  const onInputBlur = t30;
401
400
  let t31;
402
- let t32;
403
401
  if ($[78] !== onMouseMove || $[79] !== onMouseUp) {
404
402
  t31 = () => {
405
403
  window.addEventListener("mousemove", onMouseMove);
@@ -409,13 +407,17 @@ const EditableHeading = props => {
409
407
  window.removeEventListener("mouseup", onMouseUp);
410
408
  };
411
409
  };
412
- t32 = [onMouseMove, onMouseUp];
413
410
  $[78] = onMouseMove;
414
411
  $[79] = onMouseUp;
415
412
  $[80] = t31;
416
- $[81] = t32;
417
413
  } else {
418
414
  t31 = $[80];
415
+ }
416
+ let t32;
417
+ if ($[81] === Symbol.for("react.memo_cache_sentinel")) {
418
+ t32 = [];
419
+ $[81] = t32;
420
+ } else {
419
421
  t32 = $[81];
420
422
  }
421
423
  useEffect(t31, t32);
@@ -572,7 +574,6 @@ const EditableHeading = props => {
572
574
  }
573
575
  return t38;
574
576
  };
575
- var editableHeading = /*#__PURE__*/React.memo(EditableHeading);
576
577
  function _temp() {
577
578
  return null;
578
579
  }
@@ -588,4 +589,4 @@ function _temp2(el) {
588
589
  el.style.height = `${el.scrollHeight - parseFloat(paddingTop) - parseFloat(paddingBottom)}px`;
589
590
  }
590
591
 
591
- export { EditableHeading, Levels, Size, editableHeading as default };
592
+ export { EditableHeading, Levels, Size, EditableHeading as default };
@@ -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.target.js';
@@ -6,7 +6,7 @@ import joinDataTestAttributes from '../global/data-tests.js';
6
6
  import { jsxs, jsx } from 'react/jsx-runtime';
7
7
  import 'util-deprecate';
8
8
  import '../_helpers/icon-svg.js';
9
- import 'react-compiler-runtime';
9
+ import 'react/compiler-runtime';
10
10
  import '../global/memoize.js';
11
11
 
12
12
  var styles = {"errorMessage":"ring-error-message-errorMessage","title":"ring-error-message-title","description":"ring-error-message-description","content":"ring-error-message-content","icon":"ring-error-message-icon"};
@@ -1,5 +1,6 @@
1
1
  import React from 'react';
2
2
  export interface CollapsibleGroupProps {
3
+ ref?: React.Ref<HTMLDivElement>;
3
4
  avatar?: React.ReactNode;
4
5
  title: React.ReactNode;
5
6
  subtitle?: React.ReactNode;
@@ -12,5 +13,8 @@ export interface CollapsibleGroupProps {
12
13
  interactive?: boolean;
13
14
  'data-test'?: string | null | undefined;
14
15
  }
15
- declare const CollapsibleGroup: React.ForwardRefExoticComponent<CollapsibleGroupProps & React.RefAttributes<HTMLDivElement>>;
16
+ declare const CollapsibleGroup: {
17
+ ({ ref, avatar, title, subtitle, children, className, defaultExpanded, expanded, onChange, disableAnimation, interactive, "data-test": dataTest, }: CollapsibleGroupProps): React.JSX.Element;
18
+ displayName: string;
19
+ };
16
20
  export default CollapsibleGroup;
@@ -1,5 +1,5 @@
1
- import { c } from 'react-compiler-runtime';
2
- import { forwardRef, useState, useContext } from 'react';
1
+ import { c } from 'react/compiler-runtime';
2
+ import { useState, use } from 'react';
3
3
  import classNames from 'classnames';
4
4
  import chevronRightIcon from '@jetbrains/icons/chevron-12px-right';
5
5
  import chevron12pxDown from '@jetbrains/icons/chevron-12px-down';
@@ -21,11 +21,11 @@ var styles = {"expand":"ring-collapsible-group-expand","collapseRoot":"ring-coll
21
21
 
22
22
  function CollapsibleGroupHeaderContent(t0) {
23
23
  const $ = c(16);
24
- if ($[0] !== "248ebb691e89143680b26b525c22d5d37f19214f4f7f322680c1c724fd0796c3") {
24
+ if ($[0] !== "0b0104270833ca27f2118e72fd68547a84ef5bf33921c0d276e95941f6f80768") {
25
25
  for (let $i = 0; $i < 16; $i += 1) {
26
26
  $[$i] = Symbol.for("react.memo_cache_sentinel");
27
27
  }
28
- $[0] = "248ebb691e89143680b26b525c22d5d37f19214f4f7f322680c1c724fd0796c3";
28
+ $[0] = "0b0104270833ca27f2118e72fd68547a84ef5bf33921c0d276e95941f6f80768";
29
29
  }
30
30
  const {
31
31
  avatar,
@@ -34,7 +34,7 @@ function CollapsibleGroupHeaderContent(t0) {
34
34
  } = t0;
35
35
  const {
36
36
  collapsed
37
- } = useContext(CollapseContext);
37
+ } = use(CollapseContext);
38
38
  let t1;
39
39
  if ($[1] !== titleContent) {
40
40
  t1 = /*#__PURE__*/jsx("span", {
@@ -120,11 +120,11 @@ function CollapsibleGroupHeaderContent(t0) {
120
120
  }
121
121
  function CollapsibleGroupHeader(t0) {
122
122
  const $ = c(16);
123
- if ($[0] !== "248ebb691e89143680b26b525c22d5d37f19214f4f7f322680c1c724fd0796c3") {
123
+ if ($[0] !== "0b0104270833ca27f2118e72fd68547a84ef5bf33921c0d276e95941f6f80768") {
124
124
  for (let $i = 0; $i < 16; $i += 1) {
125
125
  $[$i] = Symbol.for("react.memo_cache_sentinel");
126
126
  }
127
- $[0] = "248ebb691e89143680b26b525c22d5d37f19214f4f7f322680c1c724fd0796c3";
127
+ $[0] = "0b0104270833ca27f2118e72fd68547a84ef5bf33921c0d276e95941f6f80768";
128
128
  }
129
129
  let avatar;
130
130
  let buttonProps;
@@ -152,7 +152,7 @@ function CollapsibleGroupHeader(t0) {
152
152
  setCollapsed,
153
153
  collapsed,
154
154
  id
155
- } = useContext(CollapseContext);
155
+ } = use(CollapseContext);
156
156
  const t1 = `collapse-content-${id}`;
157
157
  const t2 = !collapsed;
158
158
  let t3;
@@ -193,11 +193,11 @@ function CollapsibleGroupHeader(t0) {
193
193
  }
194
194
  function CollapsibleGroupHeaderStatic(t0) {
195
195
  const $ = c(5);
196
- if ($[0] !== "248ebb691e89143680b26b525c22d5d37f19214f4f7f322680c1c724fd0796c3") {
196
+ if ($[0] !== "0b0104270833ca27f2118e72fd68547a84ef5bf33921c0d276e95941f6f80768") {
197
197
  for (let $i = 0; $i < 5; $i += 1) {
198
198
  $[$i] = Symbol.for("react.memo_cache_sentinel");
199
199
  }
200
- $[0] = "248ebb691e89143680b26b525c22d5d37f19214f4f7f322680c1c724fd0796c3";
200
+ $[0] = "0b0104270833ca27f2118e72fd68547a84ef5bf33921c0d276e95941f6f80768";
201
201
  }
202
202
  const {
203
203
  avatar,
@@ -223,15 +223,16 @@ function CollapsibleGroupHeaderStatic(t0) {
223
223
  }
224
224
  return t1;
225
225
  }
226
- const CollapsibleGroup = /*#__PURE__*/forwardRef((t0, ref) => {
226
+ const CollapsibleGroup = t0 => {
227
227
  const $ = c(29);
228
- if ($[0] !== "248ebb691e89143680b26b525c22d5d37f19214f4f7f322680c1c724fd0796c3") {
228
+ if ($[0] !== "0b0104270833ca27f2118e72fd68547a84ef5bf33921c0d276e95941f6f80768") {
229
229
  for (let $i = 0; $i < 29; $i += 1) {
230
230
  $[$i] = Symbol.for("react.memo_cache_sentinel");
231
231
  }
232
- $[0] = "248ebb691e89143680b26b525c22d5d37f19214f4f7f322680c1c724fd0796c3";
232
+ $[0] = "0b0104270833ca27f2118e72fd68547a84ef5bf33921c0d276e95941f6f80768";
233
233
  }
234
234
  const {
235
+ ref,
235
236
  avatar,
236
237
  title,
237
238
  subtitle,
@@ -374,7 +375,7 @@ const CollapsibleGroup = /*#__PURE__*/forwardRef((t0, ref) => {
374
375
  t14 = $[28];
375
376
  }
376
377
  return t14;
377
- });
378
+ };
378
379
  CollapsibleGroup.displayName = 'CollapsibleGroup';
379
380
  function _temp() {}
380
381
 
@@ -1,4 +1,4 @@
1
- import { c } from 'react-compiler-runtime';
1
+ import { c } from 'react/compiler-runtime';
2
2
  import { memo, isValidElement } from 'react';
3
3
  import classNames from 'classnames';
4
4
  import Link from '../link/link.js';
@@ -1,5 +1,5 @@
1
- import { c } from 'react-compiler-runtime';
2
- import { memo, createContext, useState, useContext, useEffect } from 'react';
1
+ import { c } from 'react/compiler-runtime';
2
+ import { memo, createContext, useState, use, useEffect } from 'react';
3
3
  import { jsx } from 'react/jsx-runtime';
4
4
 
5
5
  function createStatefulContext(initialValue, name = '') {
@@ -7,11 +7,11 @@ function createStatefulContext(initialValue, name = '') {
7
7
  const UpdateContext = /*#__PURE__*/createContext(() => {});
8
8
  function Provider(t0) {
9
9
  const $ = c(6);
10
- if ($[0] !== "576d375e78a62076caf2193d98749eebdfd60d1ce7b219f4ea1f080358177a6e") {
10
+ if ($[0] !== "c32a3d1ce094187d9e31020169cf0e12fc089d2172bbc5ca2c801f434f79cb38") {
11
11
  for (let $i = 0; $i < 6; $i += 1) {
12
12
  $[$i] = Symbol.for("react.memo_cache_sentinel");
13
13
  }
14
- $[0] = "576d375e78a62076caf2193d98749eebdfd60d1ce7b219f4ea1f080358177a6e";
14
+ $[0] = "c32a3d1ce094187d9e31020169cf0e12fc089d2172bbc5ca2c801f434f79cb38";
15
15
  }
16
16
  const {
17
17
  children
@@ -19,7 +19,7 @@ function createStatefulContext(initialValue, name = '') {
19
19
  const [value, update] = useState(initialValue);
20
20
  let t1;
21
21
  if ($[1] !== children) {
22
- t1 = /*#__PURE__*/jsx(UpdateContext.Provider, {
22
+ t1 = /*#__PURE__*/jsx(UpdateContext, {
23
23
  value: update,
24
24
  children: children
25
25
  });
@@ -30,7 +30,7 @@ function createStatefulContext(initialValue, name = '') {
30
30
  }
31
31
  let t2;
32
32
  if ($[3] !== t1 || $[4] !== value) {
33
- t2 = /*#__PURE__*/jsx(ValueContext.Provider, {
33
+ t2 = /*#__PURE__*/jsx(ValueContext, {
34
34
  value: value,
35
35
  children: t1
36
36
  });
@@ -45,13 +45,13 @@ function createStatefulContext(initialValue, name = '') {
45
45
  Provider.displayName = `${name}Provider`;
46
46
  function useUpdate(value, skipUpdate) {
47
47
  const $ = c(6);
48
- if ($[0] !== "576d375e78a62076caf2193d98749eebdfd60d1ce7b219f4ea1f080358177a6e") {
48
+ if ($[0] !== "c32a3d1ce094187d9e31020169cf0e12fc089d2172bbc5ca2c801f434f79cb38") {
49
49
  for (let $i = 0; $i < 6; $i += 1) {
50
50
  $[$i] = Symbol.for("react.memo_cache_sentinel");
51
51
  }
52
- $[0] = "576d375e78a62076caf2193d98749eebdfd60d1ce7b219f4ea1f080358177a6e";
52
+ $[0] = "c32a3d1ce094187d9e31020169cf0e12fc089d2172bbc5ca2c801f434f79cb38";
53
53
  }
54
- const update = useContext(UpdateContext);
54
+ const update = use(UpdateContext);
55
55
  let t0;
56
56
  let t1;
57
57
  if ($[1] !== skipUpdate || $[2] !== update || $[3] !== value) {
@@ -74,11 +74,11 @@ function createStatefulContext(initialValue, name = '') {
74
74
  }
75
75
  function Updater(t0) {
76
76
  const $ = c(1);
77
- if ($[0] !== "576d375e78a62076caf2193d98749eebdfd60d1ce7b219f4ea1f080358177a6e") {
77
+ if ($[0] !== "c32a3d1ce094187d9e31020169cf0e12fc089d2172bbc5ca2c801f434f79cb38") {
78
78
  for (let $i = 0; $i < 1; $i += 1) {
79
79
  $[$i] = Symbol.for("react.memo_cache_sentinel");
80
80
  }
81
- $[0] = "576d375e78a62076caf2193d98749eebdfd60d1ce7b219f4ea1f080358177a6e";
81
+ $[0] = "c32a3d1ce094187d9e31020169cf0e12fc089d2172bbc5ca2c801f434f79cb38";
82
82
  }
83
83
  const {
84
84
  value,
@@ -0,0 +1,26 @@
1
+ import { type RefObject } from 'react';
2
+ /**
3
+ * Usage:
4
+ *
5
+ * ```tsx
6
+ * <IntersectionObserverContext value={useIntersectionObserverHandle()}>
7
+ * <YourComponent />
8
+ * </IntersectionObserverContext>
9
+ *
10
+ * function YourComponent() {
11
+ * // Contains the current isIntersecting value
12
+ * const isIntersecting = useIsIntersecting(elementRef);
13
+ * // Or, to get updates instead:
14
+ * useIsIntersectingListener(elementRef, newIsIntersecting => {
15
+ * // ...
16
+ * })
17
+ * }
18
+ * ```
19
+ */
20
+ export declare const IntersectionObserverContext: import("react").Context<IntersectionObserverHandle | null>;
21
+ export declare function useIntersectionObserverHandle(rootRef?: RefObject<HTMLElement | null>, rootMargin?: number, scrollMargin?: number): IntersectionObserverHandle | null;
22
+ export interface IntersectionObserverHandle {
23
+ observe(element: Element, setIsIntersecting: (isIntersecting: boolean) => void): () => void;
24
+ }
25
+ export declare function useIsIntersecting(elementRef: RefObject<Element | null>): boolean;
26
+ export declare function useIsIntersectingListener(elementRef: RefObject<Element | null>, onChange: (isIntersecting: boolean) => void): void;