@primer/react 38.1.0-rc.6118e2738 → 38.1.0-rc.63925902f

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 (151) hide show
  1. package/CHANGELOG.md +23 -1
  2. package/README.md +16 -11
  3. package/dist/ActionBar/ActionBar.d.ts +70 -0
  4. package/dist/ActionBar/ActionBar.d.ts.map +1 -1
  5. package/dist/ActionBar/ActionBar.js +536 -160
  6. package/dist/ActionBar/index.d.ts +17 -1
  7. package/dist/ActionBar/index.d.ts.map +1 -1
  8. package/dist/ActionBar/index.js +3 -2
  9. package/dist/ActionList/ActionList-46e9c2db.css +2 -0
  10. package/dist/ActionList/ActionList-46e9c2db.css.map +1 -0
  11. package/dist/ActionList/ActionList.module.css.js +1 -1
  12. package/dist/ActionList/Item.d.ts.map +1 -1
  13. package/dist/ActionList/Item.js +3 -1
  14. package/dist/ActionList/List.d.ts.map +1 -1
  15. package/dist/ActionMenu/ActionMenu.js +1 -1
  16. package/dist/AnchoredOverlay/AnchoredOverlay.d.ts +1 -0
  17. package/dist/AnchoredOverlay/AnchoredOverlay.d.ts.map +1 -1
  18. package/dist/AnchoredOverlay/AnchoredOverlay.js +13 -1
  19. package/dist/Autocomplete/AutocompleteInput.d.ts.map +1 -1
  20. package/dist/Autocomplete/AutocompleteInput.js +0 -1
  21. package/dist/Autocomplete/AutocompleteMenu.js +334 -124
  22. package/dist/Avatar/Avatar.js +31 -23
  23. package/dist/Banner/Banner.d.ts.map +1 -1
  24. package/dist/Banner/Banner.js +0 -1
  25. package/dist/BaseStyles.d.ts +2 -2
  26. package/dist/BaseStyles.d.ts.map +1 -1
  27. package/dist/Breadcrumbs/Breadcrumbs.d.ts.map +1 -1
  28. package/dist/Breadcrumbs/Breadcrumbs.js +1 -0
  29. package/dist/Button/ButtonBase.d.ts.map +1 -1
  30. package/dist/Button/ButtonBase.js +0 -1
  31. package/dist/Checkbox/Checkbox.d.ts.map +1 -1
  32. package/dist/DataTable/Pagination.js +296 -87
  33. package/dist/DataTable/Table.d.ts +13 -13
  34. package/dist/DataTable/Table.d.ts.map +1 -1
  35. package/dist/Dialog/Dialog.js +1 -1
  36. package/dist/FilteredActionList/FilteredActionList-f6c2dc7a.css +1 -1
  37. package/dist/FilteredActionList/FilteredActionList-f6c2dc7a.css.map +1 -1
  38. package/dist/FilteredActionList/FilteredActionList.d.ts +1 -0
  39. package/dist/FilteredActionList/FilteredActionList.d.ts.map +1 -1
  40. package/dist/FilteredActionList/FilteredActionListLoaders.d.ts +1 -0
  41. package/dist/FilteredActionList/FilteredActionListLoaders.d.ts.map +1 -1
  42. package/dist/FilteredActionList/useAnnouncements.d.ts.map +1 -1
  43. package/dist/FilteredActionList/useAnnouncements.js +1 -0
  44. package/dist/Heading/Heading.d.ts.map +1 -1
  45. package/dist/Heading/Heading.js +0 -1
  46. package/dist/LabelGroup/LabelGroup.d.ts.map +1 -1
  47. package/dist/LabelGroup/LabelGroup.js +1 -0
  48. package/dist/Link/Link-968346ff.css +2 -0
  49. package/dist/Link/Link-968346ff.css.map +1 -0
  50. package/dist/Link/Link.d.ts +0 -2
  51. package/dist/Link/Link.d.ts.map +1 -1
  52. package/dist/Link/Link.js +0 -3
  53. package/dist/Link/Link.module.css.js +1 -1
  54. package/dist/PageHeader/PageHeader-9f4a690a.css +2 -0
  55. package/dist/PageHeader/PageHeader-9f4a690a.css.map +1 -0
  56. package/dist/PageHeader/PageHeader.d.ts.map +1 -1
  57. package/dist/PageHeader/PageHeader.js +24 -16
  58. package/dist/PageHeader/PageHeader.module.css.js +1 -1
  59. package/dist/PageLayout/PageLayout-28a244f7.css +2 -0
  60. package/dist/PageLayout/PageLayout-28a244f7.css.map +1 -0
  61. package/dist/PageLayout/PageLayout.d.ts.map +1 -1
  62. package/dist/PageLayout/PageLayout.js +535 -448
  63. package/dist/PageLayout/PageLayout.module.css.js +1 -1
  64. package/dist/Portal/Portal.d.ts.map +1 -1
  65. package/dist/Portal/Portal.js +0 -1
  66. package/dist/SelectPanel/SelectPanel.d.ts +1 -1
  67. package/dist/SelectPanel/SelectPanel.d.ts.map +1 -1
  68. package/dist/SelectPanel/SelectPanel.js +0 -1
  69. package/dist/SkeletonAvatar/SkeletonAvatar.js +31 -23
  70. package/dist/ThemeProvider.d.ts.map +1 -1
  71. package/dist/ThemeProvider.js +1 -0
  72. package/dist/Timeline/Timeline-116393ee.css +2 -0
  73. package/dist/Timeline/Timeline-116393ee.css.map +1 -0
  74. package/dist/Timeline/Timeline.module.css.js +1 -1
  75. package/dist/ToggleSwitch/ToggleSwitch.d.ts.map +1 -1
  76. package/dist/Token/IssueLabelToken.js +280 -57
  77. package/dist/Token/_RemoveTokenButton.d.ts +1 -1
  78. package/dist/Token/_RemoveTokenButton.d.ts.map +1 -1
  79. package/dist/Token/_RemoveTokenButton.js +4 -3
  80. package/dist/TooltipV2/Tooltip.d.ts.map +1 -1
  81. package/dist/TooltipV2/Tooltip.js +28 -25
  82. package/dist/TreeView/TreeView.d.ts.map +1 -1
  83. package/dist/TreeView/TreeView.js +5 -1
  84. package/dist/UnderlineNav/UnderlineNav.d.ts.map +1 -1
  85. package/dist/UnderlineNav/UnderlineNav.js +0 -1
  86. package/dist/deprecated/ActionList/Divider.d.ts +1 -0
  87. package/dist/deprecated/ActionList/Divider.d.ts.map +1 -1
  88. package/dist/deprecated/ActionList/Group.d.ts +1 -0
  89. package/dist/deprecated/ActionList/Group.d.ts.map +1 -1
  90. package/dist/deprecated/ActionList/Header.d.ts +1 -0
  91. package/dist/deprecated/ActionList/Header.d.ts.map +1 -1
  92. package/dist/deprecated/ActionList/List.d.ts.map +1 -1
  93. package/dist/deprecated/ActionMenu.d.ts +2 -1
  94. package/dist/deprecated/ActionMenu.d.ts.map +1 -1
  95. package/dist/deprecated/utils/create-slots.d.ts.map +1 -1
  96. package/dist/experimental/SelectPanel2/SelectPanel.d.ts.map +1 -1
  97. package/dist/experimental/SelectPanel2/SelectPanel.js +4 -2
  98. package/dist/experimental/Tabs/Tabs.d.ts +127 -0
  99. package/dist/experimental/Tabs/Tabs.d.ts.map +1 -0
  100. package/dist/experimental/Tabs/Tabs.js +317 -0
  101. package/dist/experimental/Tabs/index.d.ts +3 -0
  102. package/dist/experimental/Tabs/index.d.ts.map +1 -0
  103. package/dist/experimental/index.d.ts +1 -0
  104. package/dist/experimental/index.d.ts.map +1 -1
  105. package/dist/experimental/index.js +1 -0
  106. package/dist/hooks/useAnchoredPosition.d.ts.map +1 -1
  107. package/dist/hooks/useAnchoredPosition.js +0 -1
  108. package/dist/hooks/useControllableState.d.ts.map +1 -1
  109. package/dist/hooks/useControllableState.js +2 -0
  110. package/dist/hooks/useFocusTrap.d.ts.map +1 -1
  111. package/dist/hooks/useFocusTrap.js +0 -1
  112. package/dist/hooks/useFocusZone.d.ts.map +1 -1
  113. package/dist/hooks/useFocusZone.js +0 -1
  114. package/dist/hooks/useIsMacOS.d.ts.map +1 -1
  115. package/dist/hooks/useIsMacOS.js +3 -1
  116. package/dist/hooks/{useMediaUnsafeSSR.d.ts → useMedia.d.ts} +6 -9
  117. package/dist/hooks/useMedia.d.ts.map +1 -0
  118. package/dist/hooks/{useMediaUnsafeSSR.js → useMedia.js} +14 -29
  119. package/dist/hooks/useMenuInitialFocus.d.ts.map +1 -1
  120. package/dist/hooks/useMenuInitialFocus.js +0 -1
  121. package/dist/hooks/useOnEscapePress.d.ts.map +1 -1
  122. package/dist/hooks/useOnEscapePress.js +0 -1
  123. package/dist/hooks/useRenderForcingRef.d.ts.map +1 -1
  124. package/dist/hooks/useRenderForcingRef.js +37 -7
  125. package/dist/hooks/useResizeObserver.d.ts.map +1 -1
  126. package/dist/hooks/useResizeObserver.js +0 -1
  127. package/dist/hooks/useResponsiveValue.d.ts +0 -2
  128. package/dist/hooks/useResponsiveValue.d.ts.map +1 -1
  129. package/dist/hooks/useResponsiveValue.js +5 -9
  130. package/dist/hooks/useSafeTimeout.d.ts.map +1 -1
  131. package/dist/hooks/useSafeTimeout.js +0 -1
  132. package/dist/hooks/useScrollFlash.d.ts.map +1 -1
  133. package/dist/internal/components/ValidationAnimationContainer.d.ts.map +1 -1
  134. package/dist/internal/hooks/useFocus.d.ts.map +1 -1
  135. package/dist/internal/hooks/useMergedRefs.d.ts.map +1 -1
  136. package/dist/internal/hooks/useMergedRefs.js +0 -1
  137. package/dist/utils/polymorphic.d.ts +1 -0
  138. package/dist/utils/polymorphic.d.ts.map +1 -1
  139. package/generated/components.json +32 -7
  140. package/package.json +8 -8
  141. package/dist/ActionList/ActionList-167cf6c7.css +0 -2
  142. package/dist/ActionList/ActionList-167cf6c7.css.map +0 -1
  143. package/dist/Link/Link-e01bdaee.css +0 -2
  144. package/dist/Link/Link-e01bdaee.css.map +0 -1
  145. package/dist/PageHeader/PageHeader-4e1d8fee.css +0 -2
  146. package/dist/PageHeader/PageHeader-4e1d8fee.css.map +0 -1
  147. package/dist/PageLayout/PageLayout-1849f083.css +0 -2
  148. package/dist/PageLayout/PageLayout-1849f083.css.map +0 -1
  149. package/dist/Timeline/Timeline-e8e88a13.css +0 -2
  150. package/dist/Timeline/Timeline-e8e88a13.css.map +0 -1
  151. package/dist/hooks/useMediaUnsafeSSR.d.ts.map +0 -1
@@ -0,0 +1,317 @@
1
+ import { c } from 'react-compiler-runtime';
2
+ import React, { useId, createContext, useContext } from 'react';
3
+ import useIsomorphicLayoutEffect from '../../utils/useIsomorphicLayoutEffect.js';
4
+ import { useControllableState } from '../../hooks/useControllableState.js';
5
+ import { jsx } from 'react/jsx-runtime';
6
+ import { useProvidedRefOrCreate } from '../../hooks/useProvidedRefOrCreate.js';
7
+
8
+ /**
9
+ * The Tabs component provides the base structure for a tabbed interface, without providing any formal requirement on DOM structure or styling.
10
+ * It manages the state of the selected tab, handles tab ordering/selection and provides context to its child components to ensure an accessible experience.
11
+ *
12
+ * This is intended to be used in conjunction with the `useTab`, `useTabList`, and `useTabPanel` hooks to build a fully accessible tabs component.
13
+ * The `Tab`, `TabList`, and `TabPanel` components are provided for convenience to showcase the API & implementation.
14
+ */
15
+ function Tabs(props) {
16
+ var _props$defaultValue;
17
+ const $ = c(13);
18
+ const {
19
+ children,
20
+ onValueChange
21
+ } = props;
22
+ const groupId = useId();
23
+ const t0 = (_props$defaultValue = props.defaultValue) !== null && _props$defaultValue !== void 0 ? _props$defaultValue : props.value;
24
+ let t1;
25
+ if ($[0] !== props.value || $[1] !== t0) {
26
+ t1 = {
27
+ name: "tab-selection",
28
+ defaultValue: t0,
29
+ value: props.value
30
+ };
31
+ $[0] = props.value;
32
+ $[1] = t0;
33
+ $[2] = t1;
34
+ } else {
35
+ t1 = $[2];
36
+ }
37
+ const [selectedValue, setSelectedValue] = useControllableState(t1);
38
+ const savedOnValueChange = React.useRef(onValueChange);
39
+ let t2;
40
+ if ($[3] !== groupId || $[4] !== selectedValue || $[5] !== setSelectedValue) {
41
+ t2 = {
42
+ groupId,
43
+ selectedValue,
44
+ selectTab(value) {
45
+ var _savedOnValueChange$c;
46
+ setSelectedValue(value);
47
+ (_savedOnValueChange$c = savedOnValueChange.current) === null || _savedOnValueChange$c === void 0 ? void 0 : _savedOnValueChange$c.call(savedOnValueChange, {
48
+ value
49
+ });
50
+ }
51
+ };
52
+ $[3] = groupId;
53
+ $[4] = selectedValue;
54
+ $[5] = setSelectedValue;
55
+ $[6] = t2;
56
+ } else {
57
+ t2 = $[6];
58
+ }
59
+ const contextValue = t2;
60
+ let t3;
61
+ let t4;
62
+ if ($[7] !== onValueChange) {
63
+ t3 = () => {
64
+ savedOnValueChange.current = onValueChange;
65
+ };
66
+ t4 = [onValueChange];
67
+ $[7] = onValueChange;
68
+ $[8] = t3;
69
+ $[9] = t4;
70
+ } else {
71
+ t3 = $[8];
72
+ t4 = $[9];
73
+ }
74
+ useIsomorphicLayoutEffect(t3, t4);
75
+ let t5;
76
+ if ($[10] !== children || $[11] !== contextValue) {
77
+ t5 = /*#__PURE__*/jsx(TabsContext.Provider, {
78
+ value: contextValue,
79
+ children: children
80
+ });
81
+ $[10] = children;
82
+ $[11] = contextValue;
83
+ $[12] = t5;
84
+ } else {
85
+ t5 = $[12];
86
+ }
87
+ return t5;
88
+ }
89
+ function useTabList(props) {
90
+ const $ = c(9);
91
+ const {
92
+ "aria-label": ariaLabel,
93
+ "aria-labelledby": ariaLabelledby,
94
+ "aria-orientation": ariaOrientation
95
+ } = props;
96
+ const ref = useProvidedRefOrCreate(props.ref);
97
+ let t0;
98
+ if ($[0] !== ariaOrientation || $[1] !== ref) {
99
+ t0 = event => {
100
+ const {
101
+ current: tablist
102
+ } = ref;
103
+ if (tablist === null) {
104
+ return;
105
+ }
106
+ const tabs = getFocusableTabs(tablist);
107
+ const isVertical = ariaOrientation === "vertical";
108
+ const nextKey = isVertical ? "ArrowDown" : "ArrowRight";
109
+ const prevKey = isVertical ? "ArrowUp" : "ArrowLeft";
110
+ if (event.key === nextKey || event.key === prevKey || event.key === "Home" || event.key === "End") {
111
+ event.preventDefault();
112
+ event.stopPropagation();
113
+ }
114
+ if (event.key === nextKey) {
115
+ const selectedTabIndex = tabs.findIndex(_temp);
116
+ if (selectedTabIndex === -1) {
117
+ return;
118
+ }
119
+ const nextTabIndex = (selectedTabIndex + 1) % tabs.length;
120
+ tabs[nextTabIndex].focus();
121
+ } else {
122
+ if (event.key === prevKey) {
123
+ const selectedTabIndex_0 = tabs.findIndex(_temp2);
124
+ if (selectedTabIndex_0 === -1) {
125
+ return;
126
+ }
127
+ const nextTabIndex_0 = (tabs.length + selectedTabIndex_0 - 1) % tabs.length;
128
+ tabs[nextTabIndex_0].focus();
129
+ } else {
130
+ if (event.key === "Home") {
131
+ if (tabs[0]) {
132
+ tabs[0].focus();
133
+ }
134
+ } else {
135
+ if (event.key === "End") {
136
+ if (tabs.length > 0) {
137
+ tabs[tabs.length - 1].focus();
138
+ }
139
+ }
140
+ }
141
+ }
142
+ }
143
+ };
144
+ $[0] = ariaOrientation;
145
+ $[1] = ref;
146
+ $[2] = t0;
147
+ } else {
148
+ t0 = $[2];
149
+ }
150
+ const onKeyDown = t0;
151
+ const t1 = ariaOrientation !== null && ariaOrientation !== void 0 ? ariaOrientation : "horizontal";
152
+ let t2;
153
+ if ($[3] !== ariaLabel || $[4] !== ariaLabelledby || $[5] !== onKeyDown || $[6] !== ref || $[7] !== t1) {
154
+ t2 = {
155
+ tabListProps: {
156
+ ref,
157
+ "aria-label": ariaLabel,
158
+ "aria-labelledby": ariaLabelledby,
159
+ "aria-orientation": t1,
160
+ role: "tablist",
161
+ onKeyDown
162
+ }
163
+ };
164
+ $[3] = ariaLabel;
165
+ $[4] = ariaLabelledby;
166
+ $[5] = onKeyDown;
167
+ $[6] = ref;
168
+ $[7] = t1;
169
+ $[8] = t2;
170
+ } else {
171
+ t2 = $[8];
172
+ }
173
+ return t2;
174
+ }
175
+ function _temp2(tab_0) {
176
+ return tab_0.getAttribute("aria-selected") === "true";
177
+ }
178
+ function _temp(tab) {
179
+ return tab.getAttribute("aria-selected") === "true";
180
+ }
181
+ function getFocusableTabs(tablist) {
182
+ return Array.from(tablist.querySelectorAll('[role="tab"]:not([aria-disabled])'));
183
+ }
184
+ /**
185
+ * A custom hook that provides the props needed for a tab component.
186
+ * The props returned should be spread onto the component (typically a button) with the `role=tab`, under a `tablist`.
187
+ */
188
+ function useTab(props) {
189
+ const $ = c(21);
190
+ const {
191
+ disabled,
192
+ value
193
+ } = props;
194
+ const tabs = useTabs();
195
+ const selected = tabs.selectedValue === value;
196
+ const id = `${tabs.groupId}-tab-${value}`;
197
+ const panelId = `${tabs.groupId}-panel-${value}`;
198
+ let t0;
199
+ if ($[0] !== tabs || $[1] !== value) {
200
+ t0 = function onKeyDown(event) {
201
+ if (event.key === " " || event.key === "Enter") {
202
+ tabs.selectTab(value);
203
+ }
204
+ };
205
+ $[0] = tabs;
206
+ $[1] = value;
207
+ $[2] = t0;
208
+ } else {
209
+ t0 = $[2];
210
+ }
211
+ const onKeyDown = t0;
212
+ let t1;
213
+ if ($[3] !== disabled || $[4] !== tabs || $[5] !== value) {
214
+ t1 = function onMouseDown(event_0) {
215
+ if (!disabled && event_0.button === 0 && event_0.ctrlKey === false) {
216
+ tabs.selectTab(value);
217
+ } else {
218
+ event_0.preventDefault();
219
+ }
220
+ };
221
+ $[3] = disabled;
222
+ $[4] = tabs;
223
+ $[5] = value;
224
+ $[6] = t1;
225
+ } else {
226
+ t1 = $[6];
227
+ }
228
+ const onMouseDown = t1;
229
+ let t2;
230
+ if ($[7] !== disabled || $[8] !== selected || $[9] !== tabs || $[10] !== value) {
231
+ t2 = function onFocus() {
232
+ if (!selected && !disabled) {
233
+ tabs.selectTab(value);
234
+ }
235
+ };
236
+ $[7] = disabled;
237
+ $[8] = selected;
238
+ $[9] = tabs;
239
+ $[10] = value;
240
+ $[11] = t2;
241
+ } else {
242
+ t2 = $[11];
243
+ }
244
+ const onFocus = t2;
245
+ const t3 = disabled ? true : undefined;
246
+ const t4 = selected ? 0 : -1;
247
+ let t5;
248
+ if ($[12] !== id || $[13] !== onFocus || $[14] !== onKeyDown || $[15] !== onMouseDown || $[16] !== panelId || $[17] !== selected || $[18] !== t3 || $[19] !== t4) {
249
+ t5 = {
250
+ tabProps: {
251
+ "aria-disabled": t3,
252
+ "aria-controls": panelId,
253
+ "aria-selected": selected,
254
+ onKeyDown,
255
+ onMouseDown,
256
+ onFocus,
257
+ id,
258
+ role: "tab",
259
+ tabIndex: t4
260
+ }
261
+ };
262
+ $[12] = id;
263
+ $[13] = onFocus;
264
+ $[14] = onKeyDown;
265
+ $[15] = onMouseDown;
266
+ $[16] = panelId;
267
+ $[17] = selected;
268
+ $[18] = t3;
269
+ $[19] = t4;
270
+ $[20] = t5;
271
+ } else {
272
+ t5 = $[20];
273
+ }
274
+ return t5;
275
+ }
276
+ /** Utility hook for tab panels */
277
+ function useTabPanel(props) {
278
+ const $ = c(5);
279
+ const {
280
+ value
281
+ } = props;
282
+ const tabs = useTabs();
283
+ const id = `${tabs.groupId}-panel-${value}`;
284
+ const tabId = `${tabs.groupId}-tab-${value}`;
285
+ const t0 = tabs.selectedValue === value ? "" : undefined;
286
+ const t1 = tabs.selectedValue !== value;
287
+ let t2;
288
+ if ($[0] !== id || $[1] !== t0 || $[2] !== t1 || $[3] !== tabId) {
289
+ t2 = {
290
+ tabPanelProps: {
291
+ "aria-labelledby": tabId,
292
+ "data-selected": t0,
293
+ id,
294
+ hidden: t1,
295
+ role: "tabpanel"
296
+ }
297
+ };
298
+ $[0] = id;
299
+ $[1] = t0;
300
+ $[2] = t1;
301
+ $[3] = tabId;
302
+ $[4] = t2;
303
+ } else {
304
+ t2 = $[4];
305
+ }
306
+ return t2;
307
+ }
308
+ const TabsContext = /*#__PURE__*/createContext(null);
309
+ function useTabs() {
310
+ const context = useContext(TabsContext);
311
+ if (context) {
312
+ return context;
313
+ }
314
+ throw new Error("Component must be used within a <Tabs> component");
315
+ }
316
+
317
+ export { Tabs, useTab, useTabList, useTabPanel };
@@ -0,0 +1,3 @@
1
+ export { Tabs, useTab, useTabList, useTabPanel } from './Tabs';
2
+ export type { TabsProps, TabListProps, TabProps, TabPanelProps } from './Tabs';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/experimental/Tabs/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW,EAAC,MAAM,QAAQ,CAAA;AAC5D,YAAY,EAAC,SAAS,EAAE,YAAY,EAAE,QAAQ,EAAE,aAAa,EAAC,MAAM,QAAQ,CAAA"}
@@ -45,4 +45,5 @@ export type { FilteredActionListProps } from '../FilteredActionList';
45
45
  export { IssueLabel } from './IssueLabel';
46
46
  export type { IssueLabelProps } from './IssueLabel';
47
47
  export * from '../KeybindingHint';
48
+ export * from './Tabs';
48
49
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/experimental/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/experimental/index.ts"],"names":[],"mappings":"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"}
@@ -29,3 +29,4 @@ export { useOverflow } from '../hooks/useOverflow.js';
29
29
  export { useSlots } from '../hooks/useSlots.js';
30
30
  export { SelectPanel } from './SelectPanel2/SelectPanel.js';
31
31
  export { KeybindingHint, getAccessibleKeybindingHintString } from '../KeybindingHint/KeybindingHint.js';
32
+ export { Tabs, useTab, useTabList, useTabPanel } from './Tabs/Tabs.js';
@@ -1 +1 @@
1
- {"version":3,"file":"useAnchoredPosition.d.ts","sourceRoot":"","sources":["../../src/hooks/useAnchoredPosition.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAC,cAAc,EAAE,gBAAgB,EAAC,MAAM,mBAAmB,CAAA;AAKvE,MAAM,WAAW,4BAA6B,SAAQ,OAAO,CAAC,gBAAgB,CAAC;IAC7E,kBAAkB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;IAC7C,gBAAgB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;IAC3C,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,cAAc,GAAG,SAAS,KAAK,IAAI,CAAA;CAClE;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,CAAC,EAAE,4BAA4B,EACvC,YAAY,GAAE,KAAK,CAAC,cAAmB,GACtC;IACD,kBAAkB,EAAE,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;IAC5C,gBAAgB,EAAE,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;IAC1C,QAAQ,EAAE,cAAc,GAAG,SAAS,CAAA;CACrC,CA8EA"}
1
+ {"version":3,"file":"useAnchoredPosition.d.ts","sourceRoot":"","sources":["../../src/hooks/useAnchoredPosition.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAC,cAAc,EAAE,gBAAgB,EAAC,MAAM,mBAAmB,CAAA;AAKvE,MAAM,WAAW,4BAA6B,SAAQ,OAAO,CAAC,gBAAgB,CAAC;IAC7E,kBAAkB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;IAC7C,gBAAgB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;IAC3C,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,cAAc,GAAG,SAAS,KAAK,IAAI,CAAA;CAClE;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,CAAC,EAAE,4BAA4B,EACvC,YAAY,GAAE,KAAK,CAAC,cAAmB,GACtC;IACD,kBAAkB,EAAE,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;IAC5C,gBAAgB,EAAE,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;IAC1C,QAAQ,EAAE,cAAc,GAAG,SAAS,CAAA;CACrC,CA6EA"}
@@ -67,7 +67,6 @@ function useAnchoredPosition(settings, dependencies = []) {
67
67
  }
68
68
  setPrevHeight((_floatingElementRef$c5 = floatingElementRef.current) === null || _floatingElementRef$c5 === void 0 ? void 0 : _floatingElementRef$c5.clientHeight);
69
69
  },
70
- // eslint-disable-next-line react-compiler/react-compiler
71
70
  // eslint-disable-next-line react-hooks/exhaustive-deps
72
71
  [floatingElementRef, anchorElementRef, ...dependencies]);
73
72
  useIsomorphicLayoutEffect(() => {
@@ -1 +1 @@
1
- {"version":3,"file":"useControllableState.d.ts","sourceRoot":"","sources":["../../src/hooks/useControllableState.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,KAAK,wBAAwB,CAAC,CAAC,IAAI;IACjC;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;IACb;;;SAGK;IACL,YAAY,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAA;IAC3B;;OAEG;IACH,KAAK,CAAC,EAAE,CAAC,CAAA;IACT;;;;OAIG;IACH,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAA;CAC9B,CAAA;AAED;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,EACtC,IAAe,EACf,YAAY,EACZ,KAAK,EACL,QAAQ,GACT,EAAE,wBAAwB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAmE5E"}
1
+ {"version":3,"file":"useControllableState.d.ts","sourceRoot":"","sources":["../../src/hooks/useControllableState.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,KAAK,wBAAwB,CAAC,CAAC,IAAI;IACjC;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;IACb;;;SAGK;IACL,YAAY,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAA;IAC3B;;OAEG;IACH,KAAK,CAAC,EAAE,CAAC,CAAA;IACT;;;;OAIG;IACH,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAA;CAC9B,CAAA;AAED;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,EACtC,IAAe,EACf,YAAY,EACZ,KAAK,EACL,QAAQ,GACT,EAAE,wBAAwB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAoE5E"}
@@ -51,6 +51,8 @@ function useControllableState({
51
51
  process.env.NODE_ENV !== "production" ? warning(true, 'A component is changing a controlled %s component to be uncontrolled. ' + 'This is likely caused by the value changing to an undefined value ' + 'from a defined one. Decide between using a controlled or ' + 'uncontrolled value for the lifetime of the component. ' + 'More info: https://reactjs.org/link/controlled-components', name) : void 0;
52
52
  }
53
53
  }, [name, value]);
54
+
55
+ // eslint-disable-next-line react-hooks/refs
54
56
  if (controlled.current === true) {
55
57
  return [value, setState];
56
58
  }
@@ -1 +1 @@
1
- {"version":3,"file":"useFocusTrap.d.ts","sourceRoot":"","sources":["../../src/hooks/useFocusTrap.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,MAAM,WAAW,qBAAqB;IACpC;;;OAGG;IACH,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAA;IAE3C;;;OAGG;IACH,eAAe,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAA;IAE9C;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;IAElB;;;OAGG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAA;IAE/B;;;;;OAKG;IACH,cAAc,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAA;CAC9C;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAC1B,QAAQ,CAAC,EAAE,qBAAqB,EAChC,YAAY,GAAE,KAAK,CAAC,cAAmB,GACtC;IAAC,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IAAC,eAAe,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAA;CAAC,CA4C7F"}
1
+ {"version":3,"file":"useFocusTrap.d.ts","sourceRoot":"","sources":["../../src/hooks/useFocusTrap.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,MAAM,WAAW,qBAAqB;IACpC;;;OAGG;IACH,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAA;IAE3C;;;OAGG;IACH,eAAe,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAA;IAE9C;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;IAElB;;;OAGG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAA;IAE/B;;;;;OAKG;IACH,cAAc,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAA;CAC9C;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAC1B,QAAQ,CAAC,EAAE,qBAAqB,EAChC,YAAY,GAAE,KAAK,CAAC,cAAmB,GACtC;IAAC,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IAAC,eAAe,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAA;CAAC,CA2C7F"}
@@ -45,7 +45,6 @@ function useFocusTrap(settings, dependencies = []) {
45
45
  }
46
46
  }
47
47
  },
48
- // eslint-disable-next-line react-compiler/react-compiler
49
48
  // eslint-disable-next-line react-hooks/exhaustive-deps
50
49
  [containerRef, initialFocusRef, disabled, ...dependencies]);
51
50
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"useFocusZone.d.ts","sourceRoot":"","sources":["../../src/hooks/useFocusZone.ts"],"names":[],"mappings":"AAAA,OAAO,KAAkB,MAAM,OAAO,CAAA;AAEtC,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,mBAAmB,CAAA;AAExD,OAAO,EAAC,SAAS,EAAC,MAAM,mBAAmB,CAAA;AAC3C,YAAY,EAAC,SAAS,EAAC,MAAM,mBAAmB,CAAA;AAEhD,MAAM,WAAW,qBAAsB,SAAQ,IAAI,CAAC,iBAAiB,EAAE,yBAAyB,CAAC;IAC/F;;;OAGG;IACH,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAA;IAE3C;;;OAGG;IACH,qBAAqB,CAAC,EAAE,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAA;IAE9D;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED,wBAAgB,YAAY,CAC1B,QAAQ,GAAE,qBAA0B,EACpC,YAAY,GAAE,KAAK,CAAC,cAAmB,GACtC;IAAC,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IAAC,0BAA0B,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAA;CAAC,CAqCxG"}
1
+ {"version":3,"file":"useFocusZone.d.ts","sourceRoot":"","sources":["../../src/hooks/useFocusZone.ts"],"names":[],"mappings":"AAAA,OAAO,KAAkB,MAAM,OAAO,CAAA;AAEtC,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,mBAAmB,CAAA;AAExD,OAAO,EAAC,SAAS,EAAC,MAAM,mBAAmB,CAAA;AAC3C,YAAY,EAAC,SAAS,EAAC,MAAM,mBAAmB,CAAA;AAEhD,MAAM,WAAW,qBAAsB,SAAQ,IAAI,CAAC,iBAAiB,EAAE,yBAAyB,CAAC;IAC/F;;;OAGG;IACH,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAA;IAE3C;;;OAGG;IACH,qBAAqB,CAAC,EAAE,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAA;IAE9D;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED,wBAAgB,YAAY,CAC1B,QAAQ,GAAE,qBAA0B,EACpC,YAAY,GAAE,KAAK,CAAC,cAAmB,GACtC;IAAC,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IAAC,0BAA0B,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAA;CAAC,CAoCxG"}
@@ -29,7 +29,6 @@ function useFocusZone(settings = {}, dependencies = []) {
29
29
  }
30
30
  }
31
31
  },
32
- // eslint-disable-next-line react-compiler/react-compiler
33
32
  // eslint-disable-next-line react-hooks/exhaustive-deps
34
33
  [disabled, ...dependencies]);
35
34
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"useIsMacOS.d.ts","sourceRoot":"","sources":["../../src/hooks/useIsMacOS.ts"],"names":[],"mappings":"AAGA;;;;GAIG;AACH,wBAAgB,UAAU,YAMzB"}
1
+ {"version":3,"file":"useIsMacOS.d.ts","sourceRoot":"","sources":["../../src/hooks/useIsMacOS.ts"],"names":[],"mappings":"AAIA;;;;GAIG;AACH,wBAAgB,UAAU,YASzB"}
@@ -14,7 +14,9 @@ function useIsMacOS() {
14
14
  let t0;
15
15
  let t1;
16
16
  if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
17
- t0 = () => setIsMacOS(isMacOS());
17
+ t0 = () => {
18
+ setIsMacOS(isMacOS());
19
+ };
18
20
  t1 = [];
19
21
  $[0] = t0;
20
22
  $[1] = t1;
@@ -1,21 +1,18 @@
1
1
  import React from 'react';
2
2
  /**
3
- * `useMediaUnsafeSSR` will use the given `mediaQueryString` with `matchMedia` to
3
+ * `useMedia` will use the given `mediaQueryString` with `matchMedia` to
4
4
  * determine if the document matches the media query string.
5
5
  *
6
- * If `MatchMedia` is used as an ancestor, `useMediaUnsafeSSR` will instead use the
6
+ * If `MatchMedia` is used as an ancestor, `useMedia` will instead use the
7
7
  * value of the media query string, if available
8
8
  *
9
- * Warning: If rendering on the server, and no `defaultState` is provided,
10
- * this could cause a hydration mismatch between server and client.
11
- *
12
9
  * @example
13
10
  * function Example() {
14
- * const coarsePointer = useMediaUnsafeSSR('(pointer: coarse)');
11
+ * const coarsePointer = useMedia('(pointer: coarse)');
15
12
  * // ...
16
13
  * }
17
14
  */
18
- export declare function useMediaUnsafeSSR(mediaQueryString: string, defaultState?: boolean): boolean;
15
+ export declare function useMedia(mediaQueryString: string, defaultState?: boolean): boolean;
19
16
  type MediaQueryFeatures = {
20
17
  [key: string]: boolean | undefined;
21
18
  };
@@ -25,7 +22,7 @@ type MatchMediaProps = {
25
22
  };
26
23
  /**
27
24
  * Use `MatchMedia` to emulate media conditions by passing in feature
28
- * queries to the `features` prop. If a component uses `useMediaUnsafeSSR` with the
25
+ * queries to the `features` prop. If a component uses `useMedia` with the
29
26
  * feature passed in to `MatchMedia` it will force its value to match what is
30
27
  * provided to `MatchMedia`
31
28
  *
@@ -39,4 +36,4 @@ type MatchMediaProps = {
39
36
  */
40
37
  export declare function MatchMedia({ children, features }: MatchMediaProps): React.JSX.Element;
41
38
  export {};
42
- //# sourceMappingURL=useMediaUnsafeSSR.d.ts.map
39
+ //# sourceMappingURL=useMedia.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useMedia.d.ts","sourceRoot":"","sources":["../../src/hooks/useMedia.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAuD,MAAM,OAAO,CAAA;AAI3E;;;;;;;;;;;;GAYG;AACH,wBAAgB,QAAQ,CAAC,gBAAgB,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,OAAO,WAmExE;AAED,KAAK,kBAAkB,GAAG;IACxB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAAA;CACnC,CAAA;AAOD,KAAK,eAAe,GAAG;IACrB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,QAAQ,CAAC,EAAE,kBAAkB,CAAA;CAC9B,CAAA;AAID;;;;;;;;;;;;;GAaG;AACH,wBAAgB,UAAU,CAAC,EAAC,QAAQ,EAAE,QAA0B,EAAC,EAAE,eAAe,qBAGjF"}
@@ -2,8 +2,8 @@ import { c } from 'react-compiler-runtime';
2
2
  import React, { useContext, createContext, useEffect } from 'react';
3
3
  import 'react/jsx-runtime';
4
4
 
5
- function useMediaUnsafeSSR(mediaQueryString, defaultState) {
6
- const $ = c(12);
5
+ function useMedia(mediaQueryString, defaultState) {
6
+ const $ = c(8);
7
7
  const features = useContext(MatchMediaContext);
8
8
  let t0;
9
9
  if ($[0] !== defaultState || $[1] !== features || $[2] !== mediaQueryString) {
@@ -23,28 +23,13 @@ function useMediaUnsafeSSR(mediaQueryString, defaultState) {
23
23
  t0 = $[3];
24
24
  }
25
25
  const [matches, setMatches] = React.useState(t0);
26
+ if (features[mediaQueryString] !== undefined && matches !== features[mediaQueryString]) {
27
+ setMatches(features[mediaQueryString]);
28
+ }
26
29
  let t1;
27
30
  let t2;
28
31
  if ($[4] !== features || $[5] !== mediaQueryString) {
29
32
  t1 = () => {
30
- if (features[mediaQueryString] !== undefined) {
31
- setMatches(features[mediaQueryString]);
32
- }
33
- };
34
- t2 = [features, mediaQueryString];
35
- $[4] = features;
36
- $[5] = mediaQueryString;
37
- $[6] = t1;
38
- $[7] = t2;
39
- } else {
40
- t1 = $[6];
41
- t2 = $[7];
42
- }
43
- useEffect(t1, t2);
44
- let t3;
45
- let t4;
46
- if ($[8] !== features || $[9] !== mediaQueryString) {
47
- t3 = () => {
48
33
  if (features[mediaQueryString] !== undefined) {
49
34
  return;
50
35
  }
@@ -66,16 +51,16 @@ function useMediaUnsafeSSR(mediaQueryString, defaultState) {
66
51
  }
67
52
  };
68
53
  };
69
- t4 = [features, mediaQueryString];
70
- $[8] = features;
71
- $[9] = mediaQueryString;
72
- $[10] = t3;
73
- $[11] = t4;
54
+ t2 = [features, mediaQueryString];
55
+ $[4] = features;
56
+ $[5] = mediaQueryString;
57
+ $[6] = t1;
58
+ $[7] = t2;
74
59
  } else {
75
- t3 = $[10];
76
- t4 = $[11];
60
+ t1 = $[6];
61
+ t2 = $[7];
77
62
  }
78
- useEffect(t3, t4);
63
+ useEffect(t1, t2);
79
64
  return matches;
80
65
  }
81
66
  // Used to keep track of overrides to specific media query features, this should
@@ -83,4 +68,4 @@ function useMediaUnsafeSSR(mediaQueryString, defaultState) {
83
68
  // unavailable through devtools
84
69
  const MatchMediaContext = /*#__PURE__*/createContext({});
85
70
 
86
- export { useMediaUnsafeSSR };
71
+ export { useMedia };
@@ -1 +1 @@
1
- {"version":3,"file":"useMenuInitialFocus.d.ts","sourceRoot":"","sources":["../../src/hooks/useMenuInitialFocus.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,eAAO,MAAM,mBAAmB,GAC9B,MAAM,OAAO,EACb,eAAe,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,EAC3C,YAAY,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,SAuEzC,CAAA"}
1
+ {"version":3,"file":"useMenuInitialFocus.d.ts","sourceRoot":"","sources":["../../src/hooks/useMenuInitialFocus.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,eAAO,MAAM,mBAAmB,GAC9B,MAAM,OAAO,EACb,eAAe,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,EAC3C,YAAY,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,SAsEzC,CAAA"}
@@ -58,7 +58,6 @@ const useMenuInitialFocus = (open, containerRef, anchorRef) => {
58
58
  },
59
59
  // we don't want containerRef in dependencies
60
60
  // because re-renders to containerRef while it's open should not fire initialMenuFocus
61
- // eslint-disable-next-line react-compiler/react-compiler
62
61
  // eslint-disable-next-line react-hooks/exhaustive-deps
63
62
  [open, openingGesture, anchorRef]);
64
63
  };
@@ -1 +1 @@
1
- {"version":3,"file":"useOnEscapePress.d.ts","sourceRoot":"","sources":["../../src/hooks/useOnEscapePress.ts"],"names":[],"mappings":"AA+BA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,gBAAgB,GAC3B,UAAU,CAAC,CAAC,EAAE,aAAa,KAAK,IAAI,EACpC,uBAAsB,KAAK,CAAC,cAA2B,KACtD,IA0BF,CAAA"}
1
+ {"version":3,"file":"useOnEscapePress.d.ts","sourceRoot":"","sources":["../../src/hooks/useOnEscapePress.ts"],"names":[],"mappings":"AA+BA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,gBAAgB,GAC3B,UAAU,CAAC,CAAC,EAAE,aAAa,KAAK,IAAI,EACpC,uBAAsB,KAAK,CAAC,cAA2B,KACtD,IAyBF,CAAA"}
@@ -46,7 +46,6 @@ let handlerId = 0;
46
46
  * memoized. See `React.useCallback` for more info on memoization.
47
47
  */
48
48
  const useOnEscapePress = (onEscape, callbackDependencies = [onEscape]) => {
49
- // eslint-disable-next-line react-compiler/react-compiler
50
49
  // eslint-disable-next-line react-hooks/exhaustive-deps
51
50
  const escapeCallback = useCallback(onEscape, callbackDependencies);
52
51
  const handler = useCallback(event => {
@@ -1 +1 @@
1
- {"version":3,"file":"useRenderForcingRef.d.ts","sourceRoot":"","sources":["../../src/hooks/useRenderForcingRef.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAmB,SAAS,EAAC,MAAM,OAAO,CAAA;AAGtD;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,IAAI,uCAMzC,IAAI,GAAG,IAAI,WAOvB"}
1
+ {"version":3,"file":"useRenderForcingRef.d.ts","sourceRoot":"","sources":["../../src/hooks/useRenderForcingRef.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAmB,SAAS,EAAC,MAAM,OAAO,CAAA;AAGtD;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,IAAI,uCAKzC,IAAI,GAAG,IAAI,WAYvB"}
@@ -1,4 +1,5 @@
1
- import { useState, useRef, useCallback } from 'react';
1
+ import { c } from 'react-compiler-runtime';
2
+ import { useState, useRef, useEffect } from 'react';
2
3
 
3
4
  /**
4
5
  * There are certain situations where a ref might be set after the current render cycle for a
@@ -7,14 +8,43 @@ import { useState, useRef, useCallback } from 'react';
7
8
  * @type TRef The type of the RefObject which should be created.
8
9
  */
9
10
  function useRenderForcingRef(value) {
11
+ const $ = c(5);
10
12
  const [refCurrent, setRefCurrent] = useState(value || null);
11
13
  const ref = useRef(null);
12
- ref.current = refCurrent;
13
- const setRef = useCallback(newRef => {
14
- ref.current = newRef;
15
- setRefCurrent(newRef);
16
- }, [ref]);
17
- return [ref, setRef];
14
+ let t0;
15
+ if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
16
+ t0 = newRef => {
17
+ ref.current = newRef;
18
+ setRefCurrent(newRef);
19
+ };
20
+ $[0] = t0;
21
+ } else {
22
+ t0 = $[0];
23
+ }
24
+ const setRef = t0;
25
+ let t1;
26
+ let t2;
27
+ if ($[1] !== refCurrent) {
28
+ t1 = () => {
29
+ ref.current = refCurrent;
30
+ };
31
+ t2 = [refCurrent];
32
+ $[1] = refCurrent;
33
+ $[2] = t1;
34
+ $[3] = t2;
35
+ } else {
36
+ t1 = $[2];
37
+ t2 = $[3];
38
+ }
39
+ useEffect(t1, t2);
40
+ let t3;
41
+ if ($[4] === Symbol.for("react.memo_cache_sentinel")) {
42
+ t3 = [ref, setRef];
43
+ $[4] = t3;
44
+ } else {
45
+ t3 = $[4];
46
+ }
47
+ return t3;
18
48
  }
19
49
 
20
50
  export { useRenderForcingRef };
@@ -1 +1 @@
1
- {"version":3,"file":"useResizeObserver.d.ts","sourceRoot":"","sources":["../../src/hooks/useResizeObserver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,OAAO,CAAA;AAKpC,MAAM,MAAM,sBAAsB,GAAG,CAAC,OAAO,EAAE,mBAAmB,EAAE,KAAK,IAAI,CAAA;AAE7E,MAAM,WAAW,mBAAmB;IAClC,WAAW,EAAE,eAAe,CAAA;CAC7B;AAED,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,WAAW,EACrD,QAAQ,EAAE,sBAAsB,EAChC,MAAM,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,EACrB,SAAS,GAAE,OAAO,EAAO,QAiD1B"}
1
+ {"version":3,"file":"useResizeObserver.d.ts","sourceRoot":"","sources":["../../src/hooks/useResizeObserver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,OAAO,CAAA;AAKpC,MAAM,MAAM,sBAAsB,GAAG,CAAC,OAAO,EAAE,mBAAmB,EAAE,KAAK,IAAI,CAAA;AAE7E,MAAM,WAAW,mBAAmB;IAClC,WAAW,EAAE,eAAe,CAAA;CAC7B;AAED,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,WAAW,EACrD,QAAQ,EAAE,sBAAsB,EAChC,MAAM,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,EACrB,SAAS,GAAE,OAAO,EAAO,QAgD1B"}
@@ -39,7 +39,6 @@ function useResizeObserver(callback, target, depsArray = []) {
39
39
  };
40
40
  }
41
41
 
42
- // eslint-disable-next-line react-compiler/react-compiler
43
42
  // eslint-disable-next-line react-hooks/exhaustive-deps
44
43
  }, [target === null || target === void 0 ? void 0 : target.current, ...depsArray]);
45
44
  }