Skip to content

Commit 7b96414

Browse files
committed
fix all lint errors
1 parent 5d3e2f3 commit 7b96414

File tree

16 files changed

+52
-48
lines changed

16 files changed

+52
-48
lines changed

packages/@react-aria/autocomplete/src/useAutocomplete.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
import {AriaLabelingProps, BaseEvent, DOMProps, FocusableElement, FocusEvents, KeyboardEvents, Node, RefObject, ValueBase} from '@react-types/shared';
1414
import {AriaTextFieldProps} from '@react-aria/textfield';
1515
import {AutocompleteProps, AutocompleteState} from '@react-stately/autocomplete';
16-
import {CLEAR_FOCUS_EVENT, FOCUS_EVENT, getActiveElement, getOwnerDocument, isAndroid, isCtrlKeyPressed, isIOS, mergeProps, mergeRefs, useEffectEvent, useEvent, useId, useLabels, useObjectRef} from '@react-aria/utils';
16+
import {CLEAR_FOCUS_EVENT, FOCUS_EVENT, getActiveElement, getOwnerDocument, isAndroid, isCtrlKeyPressed, isIOS, mergeProps, mergeRefs, useEvent, useId, useLabels, useObjectRef, useStableCallback} from '@react-aria/utils';
1717
import {dispatchVirtualBlur, dispatchVirtualFocus, getVirtuallyFocusedElement, moveVirtualFocus} from '@react-aria/focus';
1818
import {getInteractionModality} from '@react-aria/interactions';
1919
// @ts-ignore
@@ -106,7 +106,7 @@ export function useAutocomplete<T>(props: AriaAutocompleteOptions<T>, state: Aut
106106
return () => clearTimeout(timeout.current);
107107
}, []);
108108

109-
let updateActiveDescendant = useEffectEvent((e: Event) => {
109+
let updateActiveDescendant = useStableCallback((e: Event) => {
110110
// Ensure input is focused if the user clicks on the collection directly.
111111
if (!e.isTrusted && shouldUseVirtualFocus && inputRef.current && getActiveElement(getOwnerDocument(inputRef.current)) !== inputRef.current) {
112112
inputRef.current.focus();
@@ -165,7 +165,7 @@ export function useAutocomplete<T>(props: AriaAutocompleteOptions<T>, state: Aut
165165
// Make sure to memo so that React doesn't keep registering a new event listeners on every rerender of the wrapped collection
166166
let mergedCollectionRef = useObjectRef(useMemo(() => mergeRefs(collectionRef, callbackRef), [collectionRef, callbackRef]));
167167

168-
let focusFirstItem = useEffectEvent(() => {
168+
let focusFirstItem = useStableCallback(() => {
169169
delayNextActiveDescendant.current = true;
170170
collectionRef.current?.dispatchEvent(
171171
new CustomEvent(FOCUS_EVENT, {
@@ -178,7 +178,7 @@ export function useAutocomplete<T>(props: AriaAutocompleteOptions<T>, state: Aut
178178
);
179179
});
180180

181-
let clearVirtualFocus = useEffectEvent((clearFocusKey?: boolean) => {
181+
let clearVirtualFocus = useStableCallback((clearFocusKey?: boolean) => {
182182
moveVirtualFocus(getActiveElement());
183183
queuedActiveDescendant.current = null;
184184
state.setFocusedNodeId(null);
@@ -321,7 +321,7 @@ export function useAutocomplete<T>(props: AriaAutocompleteOptions<T>, state: Aut
321321
}
322322
};
323323

324-
let onKeyUpCapture = useEffectEvent((e) => {
324+
let onKeyUpCapture = useStableCallback((e) => {
325325
// Dispatch simulated key up events for things like triggering links in listbox
326326
// Make sure to stop the propagation of the input keyup event so that the simulated keyup/down pair
327327
// is detected by usePress instead of the original keyup originating from the input

packages/@react-aria/grid/src/useGridSelectionAnnouncement.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,9 @@ import {Collection, Key, Node, Selection} from '@react-types/shared';
1515
// @ts-ignore
1616
import intlMessages from '../intl/*.json';
1717
import {SelectionManager} from '@react-stately/selection';
18-
import {useEffectEvent, useUpdateEffect} from '@react-aria/utils';
1918
import {useLocalizedStringFormatter} from '@react-aria/i18n';
2019
import {useRef} from 'react';
20+
import {useStableCallback, useUpdateEffect} from '@react-aria/utils';
2121

2222
export interface GridSelectionAnnouncementProps {
2323
/**
@@ -46,7 +46,7 @@ export function useGridSelectionAnnouncement<T>(props: GridSelectionAnnouncement
4646
// We do this using an ARIA live region.
4747
let selection = state.selectionManager.rawSelection;
4848
let lastSelection = useRef(selection);
49-
let announceSelectionChange = useEffectEvent(() => {
49+
let announceSelectionChange = useStableCallback(() => {
5050
if (!state.selectionManager.isFocused || selection === lastSelection.current) {
5151
lastSelection.current = selection;
5252

packages/@react-aria/interactions/src/useMove.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
import {disableTextSelection, restoreTextSelection} from './textSelection';
1414
import {DOMAttributes, MoveEvents, PointerType} from '@react-types/shared';
1515
import React, {useMemo, useRef} from 'react';
16-
import {useEffectEvent, useGlobalListeners} from '@react-aria/utils';
16+
import {useGlobalListeners, useStableCallback} from '@react-aria/utils';
1717

1818
export interface MoveResult {
1919
/** Props to spread on the target element. */
@@ -43,7 +43,7 @@ export function useMove(props: MoveEvents): MoveResult {
4343

4444
let {addGlobalListener, removeGlobalListener} = useGlobalListeners();
4545

46-
let move = useEffectEvent((originalEvent: EventBase, pointerType: PointerType, deltaX: number, deltaY: number) => {
46+
let move = useStableCallback((originalEvent: EventBase, pointerType: PointerType, deltaX: number, deltaY: number) => {
4747
if (deltaX === 0 && deltaY === 0) {
4848
return;
4949
}
@@ -71,7 +71,7 @@ export function useMove(props: MoveEvents): MoveResult {
7171
});
7272
});
7373

74-
let end = useEffectEvent((originalEvent: EventBase, pointerType: PointerType) => {
74+
let end = useStableCallback((originalEvent: EventBase, pointerType: PointerType) => {
7575
restoreTextSelection();
7676
if (state.current.didMove) {
7777
onMoveEnd?.({

packages/@react-aria/interactions/src/usePress.ts

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,8 @@ import {
2727
mergeProps,
2828
nodeContains,
2929
openLink,
30-
useEffectEvent,
3130
useGlobalListeners,
31+
useStableCallback,
3232
useSyncRef
3333
} from '@react-aria/utils';
3434
import {createSyntheticEvent, preventFocus, setEventTarget} from './utils';
@@ -197,7 +197,7 @@ export function usePress(props: PressHookProps): PressResult {
197197

198198
let {addGlobalListener, removeAllGlobalListeners} = useGlobalListeners();
199199

200-
let triggerPressStart = useEffectEvent((originalEvent: EventBase, pointerType: PointerType) => {
200+
let triggerPressStart = useStableCallback((originalEvent: EventBase, pointerType: PointerType) => {
201201
let state = ref.current;
202202
if (isDisabled || state.didFirePressStart) {
203203
return false;
@@ -221,7 +221,7 @@ export function usePress(props: PressHookProps): PressResult {
221221
return shouldStopPropagation;
222222
});
223223

224-
let triggerPressEnd = useEffectEvent((originalEvent: EventBase, pointerType: PointerType, wasPressed = true) => {
224+
let triggerPressEnd = useStableCallback((originalEvent: EventBase, pointerType: PointerType, wasPressed = true) => {
225225
let state = ref.current;
226226
if (!state.didFirePressStart) {
227227
return false;
@@ -253,7 +253,7 @@ export function usePress(props: PressHookProps): PressResult {
253253
return shouldStopPropagation;
254254
});
255255

256-
let triggerPressUp = useEffectEvent((originalEvent: EventBase, pointerType: PointerType) => {
256+
let triggerPressUp = useStableCallback((originalEvent: EventBase, pointerType: PointerType) => {
257257
let state = ref.current;
258258
if (isDisabled) {
259259
return false;
@@ -270,7 +270,7 @@ export function usePress(props: PressHookProps): PressResult {
270270
return true;
271271
});
272272

273-
let cancel = useEffectEvent((e: EventBase) => {
273+
let cancel = useStableCallback((e: EventBase) => {
274274
let state = ref.current;
275275
if (state.isPressed && state.target) {
276276
if (state.didFirePressStart && state.pointerType != null) {
@@ -291,21 +291,21 @@ export function usePress(props: PressHookProps): PressResult {
291291
}
292292
});
293293

294-
let cancelOnPointerExit = useEffectEvent((e: EventBase) => {
294+
let cancelOnPointerExit = useStableCallback((e: EventBase) => {
295295
if (shouldCancelOnPointerExit) {
296296
cancel(e);
297297
}
298298
});
299299

300-
let triggerClick = useEffectEvent((e: RMouseEvent<FocusableElement>) => {
300+
let triggerClick = useStableCallback((e: RMouseEvent<FocusableElement>) => {
301301
if (isDisabled) {
302302
return;
303303
}
304304

305305
onClick?.(e);
306306
});
307307

308-
let triggerSyntheticClick = useEffectEvent((e: KeyboardEvent | TouchEvent, target: FocusableElement) => {
308+
let triggerSyntheticClick = useStableCallback((e: KeyboardEvent | TouchEvent, target: FocusableElement) => {
309309
if (isDisabled) {
310310
return;
311311
}

packages/@react-aria/interactions/src/utils.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
*/
1212

1313
import {FocusableElement} from '@react-types/shared';
14-
import {focusWithoutScrolling, getOwnerWindow, isFocusable, useEffectEvent, useLayoutEffect} from '@react-aria/utils';
14+
import {focusWithoutScrolling, getOwnerWindow, isFocusable, useLayoutEffect, useStableCallback} from '@react-aria/utils';
1515
import {FocusEvent as ReactFocusEvent, SyntheticEvent, useCallback, useRef} from 'react';
1616

1717
// Turn a native event into a React synthetic event.
@@ -48,7 +48,7 @@ export function useSyntheticBlurEvent<Target extends Element = Element>(onBlur:
4848
};
4949
}, []);
5050

51-
let dispatchBlur = useEffectEvent((e: ReactFocusEvent<Target>) => {
51+
let dispatchBlur = useStableCallback((e: ReactFocusEvent<Target>) => {
5252
onBlur?.(e);
5353
});
5454

packages/@react-aria/menu/src/useSubmenuTrigger.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ import {AriaMenuItemProps} from './useMenuItem';
1414
import {AriaMenuOptions} from './useMenu';
1515
import type {AriaPopoverProps, OverlayProps} from '@react-aria/overlays';
1616
import {FocusableElement, FocusStrategy, KeyboardEvent, Node, PressEvent, RefObject} from '@react-types/shared';
17-
import {focusWithoutScrolling, useEffectEvent, useEvent, useId, useLayoutEffect} from '@react-aria/utils';
17+
import {focusWithoutScrolling, useEvent, useId, useLayoutEffect, useStableCallback} from '@react-aria/utils';
1818
import type {SubmenuTriggerState} from '@react-stately/menu';
1919
import {useCallback, useRef} from 'react';
2020
import {useLocale} from '@react-aria/i18n';
@@ -81,12 +81,12 @@ export function useSubmenuTrigger<T>(props: AriaSubmenuTriggerProps, state: Subm
8181
}
8282
}, [openTimeout]);
8383

84-
let onSubmenuOpen = useEffectEvent((focusStrategy?: FocusStrategy) => {
84+
let onSubmenuOpen = useStableCallback((focusStrategy?: FocusStrategy) => {
8585
cancelOpenTimeout();
8686
state.open(focusStrategy);
8787
});
8888

89-
let onSubmenuClose = useEffectEvent(() => {
89+
let onSubmenuClose = useStableCallback(() => {
9090
cancelOpenTimeout();
9191
state.close();
9292
});

packages/@react-aria/selection/src/useSelectableCollection.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
* governing permissions and limitations under the License.
1111
*/
1212

13-
import {CLEAR_FOCUS_EVENT, FOCUS_EVENT, focusWithoutScrolling, getActiveElement, isCtrlKeyPressed, isTabbable, mergeProps, scrollIntoView, scrollIntoViewport, useEffectEvent, useEvent, useRouter, useUpdateLayoutEffect} from '@react-aria/utils';
13+
import {CLEAR_FOCUS_EVENT, FOCUS_EVENT, focusWithoutScrolling, getActiveElement, isCtrlKeyPressed, isTabbable, mergeProps, scrollIntoView, scrollIntoViewport, useEvent, useRouter, useStableCallback, useUpdateLayoutEffect} from '@react-aria/utils';
1414
import {dispatchVirtualFocus, getFocusableTreeWalker, moveVirtualFocus} from '@react-aria/focus';
1515
import {DOMAttributes, FocusableElement, FocusStrategy, Key, KeyboardDelegate, RefObject} from '@react-types/shared';
1616
import {flushSync} from 'react-dom';
@@ -416,7 +416,7 @@ export function useSelectableCollection(options: AriaSelectableCollectionOptions
416416
}
417417
});
418418

419-
let updateActiveDescendant = useEffectEvent(() => {
419+
let updateActiveDescendant = useStableCallback(() => {
420420
let keyToFocus = delegate.getFirstKey?.() ?? null;
421421

422422
// If no focusable items exist in the list, make sure to clear any activedescendant that may still exist and move focus back to
@@ -447,7 +447,7 @@ export function useSelectableCollection(options: AriaSelectableCollectionOptions
447447

448448
}, [manager.collection, updateActiveDescendant]);
449449

450-
let resetFocusFirstFlag = useEffectEvent(() => {
450+
let resetFocusFirstFlag = useStableCallback(() => {
451451
// If user causes the focused key to change in any other way, clear shouldVirtualFocusFirst so we don't
452452
// accidentally move focus from under them. Skip this if the collection was empty because we might be in a load
453453
// state and will still want to focus the first item after load

packages/@react-aria/spinbutton/src/useSpinButton.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ import {DOMAttributes, InputBase, RangeInputBase, Validation, ValueBase} from '@
1616
// @ts-ignore
1717
import intlMessages from '../intl/*.json';
1818
import {useCallback, useEffect, useRef} from 'react';
19-
import {useEffectEvent, useGlobalListeners} from '@react-aria/utils';
19+
import {useGlobalListeners, useStableCallback} from '@react-aria/utils';
2020
import {useLocalizedStringFormatter} from '@react-aria/i18n';
2121

2222

@@ -153,7 +153,7 @@ export function useSpinButton(
153153
prevTouchPosition.current = touchPosition;
154154
}, []);
155155

156-
const onIncrementPressStart = useEffectEvent(
156+
const onIncrementPressStart = useStableCallback(
157157
(initialStepDelay: number) => {
158158
clearAsync();
159159
isSpinning.current = true;
@@ -170,7 +170,7 @@ export function useSpinButton(
170170
}
171171
);
172172

173-
const onDecrementPressStart = useEffectEvent(
173+
const onDecrementPressStart = useStableCallback(
174174
(initialStepDelay: number) => {
175175
clearAsync();
176176
isSpinning.current = true;

packages/@react-aria/table/src/useTableColumnResize.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ import {getColumnHeaderId} from './utils';
1818
import {GridNode} from '@react-types/grid';
1919
// @ts-ignore
2020
import intlMessages from '../intl/*.json';
21-
import {mergeProps, useDescription, useEffectEvent, useId} from '@react-aria/utils';
21+
import {mergeProps, useDescription, useId, useStableCallback} from '@react-aria/utils';
2222
import {TableColumnResizeState} from '@react-stately/table';
2323
import {useLocale, useLocalizedStringFormatter} from '@react-aria/i18n';
2424
import {useVisuallyHidden} from '@react-aria/visually-hidden';
@@ -88,7 +88,7 @@ export function useTableColumnResize<T>(props: AriaTableColumnResizeProps<T>, st
8888
}
8989
});
9090

91-
let startResize = useEffectEvent((item) => {
91+
let startResize = useStableCallback((item) => {
9292
if (!isResizingRef.current) {
9393
lastSize.current = state.updateResizedColumns(item.key, state.getColumnWidth(item.key));
9494
state.startResize(item.key);
@@ -98,13 +98,13 @@ export function useTableColumnResize<T>(props: AriaTableColumnResizeProps<T>, st
9898
isResizingRef.current = true;
9999
});
100100

101-
let resize = useEffectEvent((item, newWidth) => {
101+
let resize = useStableCallback((item, newWidth) => {
102102
let sizes = state.updateResizedColumns(item.key, newWidth);
103103
onResize?.(sizes);
104104
lastSize.current = sizes;
105105
});
106106

107-
let endResize = useEffectEvent((item) => {
107+
let endResize = useStableCallback((item) => {
108108
if (isResizingRef.current) {
109109
if (lastSize.current == null) {
110110
lastSize.current = state.updateResizedColumns(item.key, state.getColumnWidth(item.key));

packages/@react-aria/toast/src/useToastRegion.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
*/
1212

1313
import {AriaLabelingProps, DOMAttributes, FocusableElement, RefObject} from '@react-types/shared';
14-
import {focusWithoutScrolling, mergeProps, useEffectEvent, useLayoutEffect} from '@react-aria/utils';
14+
import {focusWithoutScrolling, mergeProps, useLayoutEffect, useStableCallback} from '@react-aria/utils';
1515
import {getInteractionModality, useFocusWithin, useHover} from '@react-aria/interactions';
1616
// @ts-ignore
1717
import intlMessages from '../intl/*.json';
@@ -46,7 +46,7 @@ export function useToastRegion<T>(props: AriaToastRegionProps, state: ToastState
4646

4747
let isHovered = useRef(false);
4848
let isFocused = useRef(false);
49-
let updateTimers = useEffectEvent(() => {
49+
let updateTimers = useStableCallback(() => {
5050
if (isHovered.current || isFocused.current) {
5151
state.pauseAll();
5252
} else {

0 commit comments

Comments
 (0)