Skip to content

Commit 04d6279

Browse files
authored
fix: remove react hook eslint rule suppressions (#22003)
1 parent 54509f5 commit 04d6279

3 files changed

Lines changed: 16 additions & 23 deletions

File tree

packages/react/src/components/TreeView/TreeNode.tsx

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -290,10 +290,8 @@ const TreeNode = React.forwardRef<HTMLElement, TreeNodeProps>(
290290
const enableTreeviewControllable = useFeatureFlag(
291291
'enable-treeview-controllable'
292292
);
293-
294-
// eslint-disable-next-line react-hooks/rules-of-hooks -- https://github.com/carbon-design-system/carbon/issues/20452
295-
const { current: id } = useRef(nodeId || useId());
296-
293+
const generatedId = useId();
294+
const { current: id } = useRef(nodeId ?? generatedId);
297295
const controllableExpandedState = useControllableState({
298296
value: isExpanded,
299297
onChange: onToggle as ControlledOnToggle,

packages/react/src/components/TreeView/TreeView.tsx

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -93,9 +93,8 @@ const TreeView: TreeViewComponent = ({
9393
const enableTreeviewControllable = useFeatureFlag(
9494
'enable-treeview-controllable'
9595
);
96-
97-
// eslint-disable-next-line react-hooks/rules-of-hooks -- https://github.com/carbon-design-system/carbon/issues/20452
98-
const { current: treeId } = useRef(rest.id || useId());
96+
const generatedId = useId();
97+
const { current: treeId } = useRef(rest.id ?? generatedId);
9998
const prefix = usePrefix();
10099
const treeClasses = classNames(className, `${prefix}--tree`, {
101100
// eslint-disable-next-line @typescript-eslint/ban-ts-comment -- https://github.com/carbon-design-system/carbon/issues/20452

packages/react/src/internal/useOutsideClick.ts

Lines changed: 12 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -19,21 +19,17 @@ export const useOutsideClick = <T extends HTMLElement | null>(
1919
savedCallback.current = callback;
2020
}, [callback]);
2121

22-
// We conditionally guard the `useEvent` hook for SSR. `canUseDOM` can be
23-
// treated as a constant as it will be false when executed in a Node.js
24-
// environment and true when executed in the browser
25-
if (canUseDOM) {
26-
// eslint-disable-next-line react-hooks/rules-of-hooks
27-
useWindowEvent('click', (event) => {
28-
const { target } = event;
22+
useWindowEvent('click', (event) => {
23+
if (!canUseDOM) return;
2924

30-
if (
31-
target instanceof Node &&
32-
ref.current &&
33-
!ref.current.contains(target)
34-
) {
35-
savedCallback.current(event);
36-
}
37-
});
38-
}
25+
const { target } = event;
26+
27+
if (
28+
target instanceof Node &&
29+
ref.current &&
30+
!ref.current.contains(target)
31+
) {
32+
savedCallback.current(event);
33+
}
34+
});
3935
};

0 commit comments

Comments
 (0)