Skip to content

Commit 9152bac

Browse files
committed
TypeScript: Make scope argument required
1 parent f592ac3 commit 9152bac

File tree

3 files changed

+13
-8
lines changed

3 files changed

+13
-8
lines changed

packages/focusvisible/src/FocusVisibleContainer.spec.tsx

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,10 @@ describe('FocusVisibleContainer', () => {
3535

3636
expect(() => {
3737
const ErrorExample = () => {
38+
/* eslint-disable @typescript-eslint/ban-ts-ignore */
39+
// @ts-ignore
3840
useFocusVisible();
41+
/* eslint-enable @typescript-eslint/ban-ts-ignore */
3942

4043
return <div>test</div>;
4144
};

packages/focusvisible/src/FocusVisibleContainer.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import PropTypes from 'prop-types';
1010

1111
import { useFocusVisible, IUseFocusVisibleProps } from './useFocusVisible';
1212

13-
export interface IFocusVisibleContainerProps extends IUseFocusVisibleProps {
13+
export interface IFocusVisibleContainerProps extends Omit<IUseFocusVisibleProps, 'scope'> {
1414
render?: (options: { ref: React.RefObject<HTMLDivElement> }) => React.ReactNode;
1515
children?: (options: { ref: React.RefObject<HTMLDivElement> }) => React.ReactNode;
1616
}

packages/focusvisible/src/useFocusVisible.ts

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -29,18 +29,20 @@ const INPUT_TYPES_WHITE_LIST: Record<string, boolean> = {
2929
};
3030

3131
export interface IUseFocusVisibleProps {
32-
scope?: React.RefObject<HTMLElement | null>;
32+
scope: React.RefObject<HTMLElement | null>;
3333
relativeDocument?: any;
3434
className?: string;
3535
dataAttribute?: string;
3636
}
3737

38-
export function useFocusVisible({
39-
scope,
40-
relativeDocument = document,
41-
className = 'garden-focus-visible',
42-
dataAttribute = 'data-garden-focus-visible'
43-
}: IUseFocusVisibleProps = {}): void {
38+
export function useFocusVisible(
39+
{
40+
scope,
41+
relativeDocument = document,
42+
className = 'garden-focus-visible',
43+
dataAttribute = 'data-garden-focus-visible'
44+
}: IUseFocusVisibleProps = {} as any
45+
): void {
4446
if (!scope) {
4547
throw new Error('Error: the useFocusVisible() hook requires a "scope" property');
4648
}

0 commit comments

Comments
 (0)