Skip to content

Commit c2de371

Browse files
committed
chore(v8): handle issues with React 18 in v8
1 parent 4822170 commit c2de371

File tree

205 files changed

+981
-910
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

205 files changed

+981
-910
lines changed

packages/react-hooks/src/useMergedRefs.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@ export type RefObjectFunction<T> = React.RefObject<T> & ((value: T) => void);
1212
* @param refs - Refs to collectively update with one ref value.
1313
* @returns A function with an attached "current" prop, so that it can be treated like a RefObject.
1414
*/
15+
16+
// React 18 migration: replace Ref with LegactRef
1517
export function useMergedRefs<T>(...refs: (React.Ref<T> | undefined)[]): RefObjectFunction<T> {
1618
const mergedCallback: RefObjectFunction<T> = React.useCallback(
1719
(value: T) => {

packages/react/etc/react.api.md

Lines changed: 194 additions & 172 deletions
Large diffs are not rendered by default.

packages/react/src/components/Announced/Announced.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import { AnnouncedBase } from './Announced.base';
44
import { getStyles } from './Announced.styles';
55
import type { IAnnouncedProps, IAnnouncedStyles } from './Announced.types';
66

7-
export const Announced: React.FunctionComponent<IAnnouncedProps> = styled<IAnnouncedProps, {}, IAnnouncedStyles>(
7+
export const Announced: React.FunctionComponent<React.PropsWithChildren<IAnnouncedProps>> = styled<IAnnouncedProps, {}, IAnnouncedStyles>(
88
AnnouncedBase,
99
getStyles,
1010
undefined,

packages/react/src/components/Autofill/Autofill.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ export class Autofill extends React.Component<IAutofillProps, IAutofillState> im
3434
};
3535
// need to check WindowContext to get the provided document
3636
public static contextType = WindowContext;
37+
public context: React.ContextType<typeof WindowContext>;
3738

3839
private _inputElement = React.createRef<HTMLInputElement>();
3940
private _autoFillEnabled = true;
@@ -106,7 +107,7 @@ export class Autofill extends React.Component<IAutofillProps, IAutofillState> im
106107
return;
107108
}
108109

109-
const document = this.context?.window.document || getDocument(this._inputElement.current);
110+
const document = this.context?.window?.document || getDocument(this._inputElement.current);
110111
const isFocused = this._inputElement.current && this._inputElement.current === document?.activeElement;
111112

112113
if (

packages/react/src/components/Breadcrumb/Breadcrumb.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import { BreadcrumbBase } from './Breadcrumb.base';
44
import { getStyles } from './Breadcrumb.styles';
55
import type { IBreadcrumbProps, IBreadcrumbStyleProps, IBreadcrumbStyles } from './Breadcrumb.types';
66

7-
export const Breadcrumb: React.FunctionComponent<IBreadcrumbProps> = styled<
7+
export const Breadcrumb: React.FunctionComponent<React.PropsWithChildren<IBreadcrumbProps>> = styled<
88
IBreadcrumbProps,
99
IBreadcrumbStyleProps,
1010
IBreadcrumbStyles

packages/react/src/components/Calendar/Calendar.base.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -154,7 +154,7 @@ function useFocusLogic({ componentRef }: ICalendarProps, isDayPickerVisible: boo
154154
return [dayPicker, monthPicker, focusOnNextUpdate] as const;
155155
}
156156

157-
export const CalendarBase: React.FunctionComponent<ICalendarProps> = React.forwardRef<HTMLDivElement, ICalendarProps>(
157+
export const CalendarBase: React.FunctionComponent<React.PropsWithChildren<ICalendarProps>> = React.forwardRef<HTMLDivElement, ICalendarProps>(
158158
(propsWithoutDefaults, forwardedRef) => {
159159
const props = getPropsWithDefaults(DEFAULT_PROPS, propsWithoutDefaults);
160160

packages/react/src/components/Calendar/Calendar.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,6 @@ import { CalendarBase } from './Calendar.base';
44
import { styles } from './Calendar.styles';
55
import type { ICalendarProps } from './Calendar.types';
66

7-
export const Calendar: React.FunctionComponent<ICalendarProps> = styled(CalendarBase, styles, undefined, {
7+
export const Calendar: React.FunctionComponent<React.PropsWithChildren<ICalendarProps>> = styled(CalendarBase, styles, undefined, {
88
scope: 'Calendar',
99
});

packages/react/src/components/Calendar/CalendarDay/CalendarDay.base.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import type { ICalendarDayGrid } from '../../CalendarDayGrid/CalendarDayGrid.typ
1010

1111
const getClassNames = classNamesFunction<ICalendarDayStyleProps, ICalendarDayStyles>();
1212

13-
export const CalendarDayBase: React.FunctionComponent<ICalendarDayProps> = props => {
13+
export const CalendarDayBase: React.FunctionComponent<React.PropsWithChildren<ICalendarDayProps>> = props => {
1414
const dayGrid = React.useRef<ICalendarDayGrid>(null);
1515

1616
React.useImperativeHandle(

packages/react/src/components/Calendar/CalendarDay/CalendarDay.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,6 @@ import { styles } from './CalendarDay.styles';
44
import { styled } from '../../../Utilities';
55
import type { ICalendarDayProps } from './CalendarDay.types';
66

7-
export const CalendarDay: React.FunctionComponent<ICalendarDayProps> = styled(CalendarDayBase, styles, undefined, {
7+
export const CalendarDay: React.FunctionComponent<React.PropsWithChildren<ICalendarDayProps>> = styled(CalendarDayBase, styles, undefined, {
88
scope: 'CalendarDay',
99
});

packages/react/src/components/Calendar/CalendarMonth/CalendarMonth.base.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ function useFocusLogic({ componentRef }: ICalendarMonthProps) {
7171
return [navigatedMonthRef, calendarYearRef, focusOnNextUpdate] as const;
7272
}
7373

74-
export const CalendarMonthBase: React.FunctionComponent<ICalendarMonthProps> = propsWithoutDefaults => {
74+
export const CalendarMonthBase: React.FunctionComponent<React.PropsWithChildren<ICalendarMonthProps>> = propsWithoutDefaults => {
7575
const props = getPropsWithDefaults(DEFAULT_PROPS, propsWithoutDefaults);
7676
const [navigatedMonthRef, calendarYearRef, focusOnNextUpdate] = useFocusLogic(props);
7777
const [isYearPickerVisible, setIsYearPickerVisible] = React.useState(false);

0 commit comments

Comments
 (0)