diff --git a/package.json b/package.json index ea0e539de6..8d4367c600 100644 --- a/package.json +++ b/package.json @@ -152,12 +152,12 @@ "process": "^0.11.10", "qs": "^6.9.1", "qs-middleware": "^1.0.3", - "react": "^17.0.2", + "react": "^18.0.0", "react-animate-height": "^2.0.20", "react-beautiful-dnd": "^13.0.0", "react-datepicker": "^3.3.0", "react-diff-viewer": "^3.1.1", - "react-dom": "^17.0.2", + "react-dom": "^18.0.0", "react-helmet": "^6.1.0", "react-router-dom": "^5.1.2", "react-router-navigation-prompt": "^1.8.11", @@ -186,7 +186,7 @@ "devDependencies": { "@release-it/conventional-changelog": "^2.0.0", "@testing-library/jest-dom": "^5.11.4", - "@testing-library/react": "^11.0.4", + "@testing-library/react": "^13.0.1", "@trbl/eslint-config": "^1.2.4", "@types/asap": "^2.0.0", "@types/babel__core": "^7.1.12", diff --git a/src/admin/components/elements/Button/types.ts b/src/admin/components/elements/Button/types.ts index 2ddce72171..3512c5c848 100644 --- a/src/admin/components/elements/Button/types.ts +++ b/src/admin/components/elements/Button/types.ts @@ -1,4 +1,4 @@ -import { MouseEvent } from 'react'; +import React, { MouseEvent } from 'react'; export type Props = { className?: string, diff --git a/src/admin/components/elements/Pill/types.ts b/src/admin/components/elements/Pill/types.ts index 8010655e78..a4b045e785 100644 --- a/src/admin/components/elements/Pill/types.ts +++ b/src/admin/components/elements/Pill/types.ts @@ -1,4 +1,5 @@ export type Props = { + children?: React.ReactNode, className?: string, to?: string, icon?: React.ReactNode, diff --git a/src/admin/components/elements/StepNav/index.tsx b/src/admin/components/elements/StepNav/index.tsx index c16ac8afa1..497acacfdc 100644 --- a/src/admin/components/elements/StepNav/index.tsx +++ b/src/admin/components/elements/StepNav/index.tsx @@ -9,7 +9,7 @@ import './index.scss'; const Context = createContext({} as ContextType); -const StepNavProvider: React.FC = ({ children }) => { +const StepNavProvider: React.FC<{children?: React.ReactNode}> = ({ children }) => { const [stepNav, setStepNav] = useState([]); return ( diff --git a/src/admin/components/forms/FieldTypeGutter/context.tsx b/src/admin/components/forms/FieldTypeGutter/context.tsx index cea8ac0fda..6e6fd55bbf 100644 --- a/src/admin/components/forms/FieldTypeGutter/context.tsx +++ b/src/admin/components/forms/FieldTypeGutter/context.tsx @@ -4,7 +4,7 @@ import { useWindowInfo } from '@faceless-ui/window-info'; const context = createContext(false); const { Provider } = context; -export const NegativeFieldGutterProvider: React.FC<{allow?: boolean}> = ({ children, allow }) => { +export const NegativeFieldGutterProvider: React.FC<{allow?: boolean, children?: React.ReactNode}> = ({ children, allow }) => { const { breakpoints: { m: midBreak } } = useWindowInfo(); return ( diff --git a/src/admin/components/forms/FieldTypeGutter/types.ts b/src/admin/components/forms/FieldTypeGutter/types.ts index 9f6ce76159..cccf9c2206 100644 --- a/src/admin/components/forms/FieldTypeGutter/types.ts +++ b/src/admin/components/forms/FieldTypeGutter/types.ts @@ -1,3 +1,4 @@ +import React from 'react'; import { DraggableProvidedDragHandleProps } from 'react-beautiful-dnd'; export type Props = { @@ -5,4 +6,5 @@ export type Props = { verticalAlignment?: 'top' | 'center' | 'sticky' dragHandleProps?: DraggableProvidedDragHandleProps className?: string + children?: React.ReactNode } diff --git a/src/admin/components/forms/Form/types.ts b/src/admin/components/forms/Form/types.ts index 2c2ef60e18..98d0638dbe 100644 --- a/src/admin/components/forms/Form/types.ts +++ b/src/admin/components/forms/Form/types.ts @@ -1,3 +1,4 @@ +import React from 'react'; import { Field as FieldConfig, Condition, Validate } from '../../../../fields/config/types'; export type Field = { @@ -39,6 +40,7 @@ export type Props = { waitForAutocomplete?: boolean log?: boolean validationOperation?: 'create' | 'update' + children?: React.ReactNode } export type SubmitOptions = { diff --git a/src/admin/components/forms/field-types/RichText/RichText.tsx b/src/admin/components/forms/field-types/RichText/RichText.tsx index b76a3bd5d1..ded230d7d0 100644 --- a/src/admin/components/forms/field-types/RichText/RichText.tsx +++ b/src/admin/components/forms/field-types/RichText/RichText.tsx @@ -3,7 +3,6 @@ import isHotkey from 'is-hotkey'; import { createEditor, Transforms, Node, Element as SlateElement, Text, BaseEditor } from 'slate'; import { ReactEditor, Editable, withReact, Slate } from 'slate-react'; import { HistoryEditor, withHistory } from 'slate-history'; -import { options } from 'joi'; import { richText } from '../../../../../fields/validations'; import useField from '../../useField'; import withCondition from '../../withCondition'; diff --git a/src/admin/components/forms/field-types/RichText/elements/types.ts b/src/admin/components/forms/field-types/RichText/elements/types.ts index 836ce8a5d5..a1cff922fa 100644 --- a/src/admin/components/forms/field-types/RichText/elements/types.ts +++ b/src/admin/components/forms/field-types/RichText/elements/types.ts @@ -2,4 +2,5 @@ export type ButtonProps = { format: string onClick?: (e: React.MouseEvent) => void className?: string + children?: React.ReactNode } diff --git a/src/admin/components/templates/Default/types.ts b/src/admin/components/templates/Default/types.ts index 8f2da3ac4b..a1b3349c92 100644 --- a/src/admin/components/templates/Default/types.ts +++ b/src/admin/components/templates/Default/types.ts @@ -1,3 +1,6 @@ +import React from 'react'; + export type Props = { - className?: string, + className?: string + children?: React.ReactNode }; diff --git a/src/admin/components/templates/Minimal/types.ts b/src/admin/components/templates/Minimal/types.ts index 43b37a1af5..3cd1559cb3 100644 --- a/src/admin/components/templates/Minimal/types.ts +++ b/src/admin/components/templates/Minimal/types.ts @@ -4,4 +4,5 @@ export type Props = { className?: string, width?: 'normal' | 'wide' style?: React.CSSProperties + children?: React.ReactNode }; diff --git a/src/admin/components/utilities/CustomProvider/index.tsx b/src/admin/components/utilities/CustomProvider/index.tsx index 1e4817b272..b07dc1a253 100644 --- a/src/admin/components/utilities/CustomProvider/index.tsx +++ b/src/admin/components/utilities/CustomProvider/index.tsx @@ -21,7 +21,7 @@ const NestProviders = ({ providers, children }) => { ); }; -export const CustomProvider: React.FC<{ children }> = ({ children }) => { +export const CustomProvider: React.FC<{ children: React.ReactNode }> = ({ children }) => { const config = useConfig(); const { diff --git a/src/admin/components/utilities/DocumentInfo/types.ts b/src/admin/components/utilities/DocumentInfo/types.ts index e21f4d21c3..f5fafd0f11 100644 --- a/src/admin/components/utilities/DocumentInfo/types.ts +++ b/src/admin/components/utilities/DocumentInfo/types.ts @@ -1,3 +1,4 @@ +import React from 'react'; import { SanitizedCollectionConfig, TypeWithID, TypeWithTimestamps } from '../../../../collections/config/types'; import { SanitizedGlobalConfig } from '../../../../globals/config/types'; import { PaginatedDocs } from '../../../../mongoose/types'; @@ -21,4 +22,5 @@ export type Props = { collection?: SanitizedCollectionConfig global?: SanitizedGlobalConfig id?: string | number + children?: React.ReactNode } diff --git a/src/admin/components/utilities/Locale/index.tsx b/src/admin/components/utilities/Locale/index.tsx index b52921fad0..bb2867c5fe 100644 --- a/src/admin/components/utilities/Locale/index.tsx +++ b/src/admin/components/utilities/Locale/index.tsx @@ -7,7 +7,7 @@ import { useSearchParams } from '../SearchParams'; const Context = createContext(''); -export const LocaleProvider: React.FC = ({ children }) => { +export const LocaleProvider: React.FC<{ children?: React.ReactNode }> = ({ children }) => { const { localization } = useConfig(); const { user } = useAuth(); const defaultLocale = (localization && localization.defaultLocale) ? localization.defaultLocale : 'en'; diff --git a/src/admin/components/utilities/Preferences/index.tsx b/src/admin/components/utilities/Preferences/index.tsx index 1a3a023869..d8aef0ec0a 100644 --- a/src/admin/components/utilities/Preferences/index.tsx +++ b/src/admin/components/utilities/Preferences/index.tsx @@ -17,7 +17,7 @@ const requestOptions = (value) => ({ }, }); -export const PreferencesProvider: React.FC = ({ children }) => { +export const PreferencesProvider: React.FC<{children?: React.ReactNode}> = ({ children }) => { const contextRef = useRef({} as PreferencesContext); const preferencesRef = useRef({}); const config = useConfig(); diff --git a/src/admin/components/utilities/SearchParams/index.tsx b/src/admin/components/utilities/SearchParams/index.tsx index 6b6062f1bd..e083ba54f3 100644 --- a/src/admin/components/utilities/SearchParams/index.tsx +++ b/src/admin/components/utilities/SearchParams/index.tsx @@ -4,7 +4,7 @@ import qs from 'qs'; const Context = createContext({}); -export const SearchParamsProvider: React.FC = ({ children }) => { +export const SearchParamsProvider: React.FC<{children?: React.ReactNode}> = ({ children }) => { const location = useLocation(); const params = qs.parse( diff --git a/src/admin/components/views/Version/RenderFieldsToDiff/Label/index.tsx b/src/admin/components/views/Version/RenderFieldsToDiff/Label/index.tsx index c4572488e2..147b13198d 100644 --- a/src/admin/components/views/Version/RenderFieldsToDiff/Label/index.tsx +++ b/src/admin/components/views/Version/RenderFieldsToDiff/Label/index.tsx @@ -4,7 +4,7 @@ import './index.scss'; const baseClass = 'field-diff-label'; -const Label: React.FC = ({ children }) => ( +const Label: React.FC<{children?: React.ReactNode}> = ({ children }) => (