Skip to content

Commit 384b69b

Browse files
committed
Fix some ts-ignores
1 parent 5b44ff4 commit 384b69b

File tree

3 files changed

+9
-10
lines changed

3 files changed

+9
-10
lines changed

packages/@react-spectrum/menu/src/ContextualHelpTrigger.tsx

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

1313
import {classNames, SlotProvider, unwrapDOMRef, useIsMobileDevice} from '@react-spectrum/utils';
14+
import {DOMRefValue, ItemProps, Key} from '@react-types/shared';
1415
import {FocusScope} from '@react-aria/focus';
1516
import {getInteractionModality} from '@react-aria/interactions';
1617
import helpStyles from '@adobe/spectrum-css-temp/components/contextualhelp/vars.css';
17-
import {ItemProps, Key} from '@react-types/shared';
1818
import {Popover} from '@react-spectrum/overlays';
1919
import React, {JSX, ReactElement, useEffect, useRef, useState} from 'react';
2020
import ReactDOM from 'react-dom';
@@ -41,7 +41,7 @@ function ContextualHelpTrigger(props: InternalMenuDialogTriggerProps): ReactElem
4141
let {isUnavailable = false, targetKey} = props;
4242

4343
let triggerRef = useRef<HTMLLIElement>(null);
44-
let popoverRef = useRef(null);
44+
let popoverRef = useRef<DOMRefValue<HTMLDivElement> | null>(null);
4545
let {popoverContainer, trayContainerRef, rootMenuTriggerState, menu: parentMenuRef, state} = useMenuStateContext()!;
4646
let submenuTriggerState = useSubmenuTriggerState({triggerKey: targetKey}, {...rootMenuTriggerState!, ...state});
4747
let submenuRef = unwrapDOMRef(popoverRef);
@@ -85,8 +85,7 @@ function ContextualHelpTrigger(props: InternalMenuDialogTriggerProps): ReactElem
8585
let [, content] = props.children as [ReactElement, ReactElement];
8686

8787
let onBlurWithin = (e) => {
88-
// @ts-ignore - TODO refs strike again
89-
if (e.relatedTarget && popoverRef.current && (!popoverRef.current.UNSAFE_getDOMNode().contains(e.relatedTarget) && !(e.relatedTarget === triggerRef.current && getInteractionModality() === 'pointer'))) {
88+
if (e.relatedTarget && popoverRef.current && (!popoverRef.current.UNSAFE_getDOMNode()?.contains(e.relatedTarget) && !(e.relatedTarget === triggerRef.current && getInteractionModality() === 'pointer'))) {
9089
if (submenuTriggerState.isOpen) {
9190
submenuTriggerState.close();
9291
}

packages/@react-spectrum/tree/src/TreeView.tsx

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -332,8 +332,7 @@ const expandButton = style<ExpandableRowChevronProps>({
332332
});
333333

334334
function ExpandableRowChevron(props: ExpandableRowChevronProps) {
335-
let expandButtonRef = useRef<HTMLSpanElement>(null);
336-
// @ts-ignore - not sure how to type this or convert to a button (it fails a test if i convert)
335+
let expandButtonRef = useRef(null);
337336
let [fullProps, ref] = useContextProps({...props, slot: 'chevron'}, expandButtonRef, ButtonContext);
338337
let {isExpanded, isDisabled} = fullProps;
339338
let {direction} = useLocale();

packages/@react-stately/data/src/useTreeData.ts

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -184,14 +184,14 @@ export function useTreeData<T extends object>(options: TreeOptions<T>): TreeData
184184
children = children.filter(c => c !== node);
185185
}
186186

187-
// @ts-ignore what is happening here, why can newNode be null and why do we allow it?
188-
copy.children = children.map(child => {
187+
copy.children = children?.map(child => {
189188
if (child === node) {
190-
return newNode;
189+
// newNode cannot be null here due to the above filter.
190+
return newNode!;
191191
}
192192

193193
return child;
194-
});
194+
}) ?? null;
195195

196196
map.set(copy.key, copy);
197197

@@ -206,6 +206,7 @@ export function useTreeData<T extends object>(options: TreeOptions<T>): TreeData
206206
return {
207207
items: items.map(item => {
208208
if (item === node) {
209+
// newNode cannot be null here due to the above filter.
209210
return newNode!;
210211
}
211212

0 commit comments

Comments
 (0)