From ec33b7a0417ded5b18959a8c26f1cb0757f52a60 Mon Sep 17 00:00:00 2001 From: Heath Chiavettone Date: Thu, 7 Jul 2022 18:33:08 -0700 Subject: [PATCH] - Fixed a few more things found while finishing up the themes conversion --- packages/core/index.d.ts | 500 -------------------------- packages/core/package-lock.json | 32 +- packages/core/package.json | 10 +- packages/core/src/components/Form.tsx | 2 +- packages/core/src/withTheme.tsx | 2 +- 5 files changed, 23 insertions(+), 523 deletions(-) delete mode 100644 packages/core/index.d.ts diff --git a/packages/core/index.d.ts b/packages/core/index.d.ts deleted file mode 100644 index e4957d79f3..0000000000 --- a/packages/core/index.d.ts +++ /dev/null @@ -1,500 +0,0 @@ -// Originally from https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/types/@rjsf/core/index.d.ts - -declare module '@rjsf/core' { - import * as React from 'react'; - import { JSONSchema7, JSONSchema7Definition, JSONSchema7Type, JSONSchema7TypeName } from 'json-schema'; - - type ErrorSchema = { - [k: string]: ErrorSchema; - }; - - export interface FormProps { - acceptcharset?: string; - action?: string; - additionalMetaSchemas?: ReadonlyArray; - ArrayFieldTemplate?: React.FunctionComponent; - autoComplete?: string; - autocomplete?: string; // deprecated - children?: React.ReactNode; - className?: string; - customFormats?: { [k: string]: string | RegExp | ((data: string) => boolean) }; - disabled?: boolean; - readonly?: boolean; - hideError?: boolean; - enctype?: string; - extraErrors?: any; - ErrorList?: React.FunctionComponent; - fields?: { [name: string]: Field }; - FieldTemplate?: React.FunctionComponent; - formContext?: any; - formData?: T; - id?: string; - idPrefix?: string; - idSeparator?: string; - liveOmit?: boolean; - liveValidate?: boolean; - method?: string; - name?: string; - noHtml5Validate?: boolean; - noValidate?: boolean; - ObjectFieldTemplate?: React.FunctionComponent; - omitExtraData?: boolean; - onBlur?: (id: string, value: any) => void; - onChange?: (e: IChangeEvent, es?: ErrorSchema) => any; - onError?: (e: any) => any; - onFocus?: (id: string, value: any) => void; - onSubmit?: (e: ISubmitEvent, nativeEvent: React.FormEvent) => any; - schema: JSONSchema7; - showErrorList?: boolean; - tagName?: keyof JSX.IntrinsicElements | React.ComponentType; - target?: string; - transformErrors?: (errors: AjvError[]) => AjvError[]; - uiSchema?: UiSchema; - validate?: (formData: T, errors: FormValidation) => FormValidation; - widgets?: { [name: string]: Widget }; - /** - * WARNING: This exists for internal react-jsonschema-form purposes only. No guarantees of backwards - * compatibility. Use ONLY if you know what you are doing - */ - _internalFormWrapper?: React.ElementType; - } - - export default class Form extends React.Component> { - validate: ( - formData: T, - schema?: FormProps['schema'], - additionalMetaSchemas?: FormProps['additionalMetaSchemas'], - customFormats?: FormProps['customFormats'], - ) => { errors: AjvError[]; errorSchema: ErrorSchema }; - onChange: (formData: T, newErrorSchema: ErrorSchema) => void; - onBlur: (id: string, value: any) => void; - submit: () => void; - } - - export type UISchemaSubmitButtonOptions = { - submitText: string; - norender: boolean; - props: { - disabled?:boolean; - className?:string; - [name: string]: any; - }; - } - - export type UiSchema = { - 'ui:field'?: Field | string; - 'ui:widget'?: Widget | string; - 'ui:options'?: { [key: string]: boolean | number | string | object | any[] | null }; - 'ui:order'?: string[]; - 'ui:FieldTemplate'?: React.FunctionComponent; - 'ui:ArrayFieldTemplate'?: React.FunctionComponent; - 'ui:ObjectFieldTemplate'?: React.FunctionComponent; - [name: string]: any; - 'ui:submitButtonOptions'?: UISchemaSubmitButtonOptions; - }; - - export type FieldId = { - $id: string; - }; - - export type IdSchema = { - [key in keyof T]: IdSchema; - } & - FieldId; - - export type FieldPath = { - $name: string; - }; - - export type PathSchema = { - [key in keyof T]: PathSchema; - } & - FieldPath; - - export interface WidgetProps - extends Pick< - React.HTMLAttributes, - Exclude, 'onBlur' | 'onFocus'> - > { - id: string; - schema: JSONSchema7; - uiSchema: UiSchema; - value: any; - required: boolean; - disabled: boolean; - readonly: boolean; - autofocus: boolean; - placeholder: string; - onChange: (value: any) => void; - options: NonNullable; - formContext: any; - onBlur: (id: string, value: any) => void; - onFocus: (id: string, value: any) => void; - label: string; - multiple: boolean; - rawErrors: string[]; - registry: Registry; - [prop: string]: any; // Allow for other props - } - - export type Widget = React.FunctionComponent | React.ComponentClass; - - export interface Registry { - fields: { [name: string]: Field }; - widgets: { [name: string]: Widget }; - definitions: { [name: string]: any }; - formContext: any; - rootSchema: JSONSchema7; - } - - export interface FieldProps - extends Pick, Exclude, 'onBlur' | 'onFocus'>> { - schema: JSONSchema7; - uiSchema: UiSchema; - idSchema: IdSchema; - formData: T; - errorSchema: ErrorSchema; - onChange: (e: IChangeEvent | any, es?: ErrorSchema) => any; - onBlur: (id: string, value: any) => void; - onFocus: (id: string, value: any) => void; - registry: Registry; - formContext: any; - autofocus: boolean; - disabled: boolean; - readonly: boolean; - required: boolean; - name: string; - [prop: string]: any; // Allow for other props - } - - export type Field = React.FunctionComponent | React.ComponentClass; - - export type FieldTemplateProps = { - id: string; - classNames: string; - label: string; - description: React.ReactElement; - rawDescription: string; - children: React.ReactElement; - errors: React.ReactElement; - rawErrors: string[]; - help: React.ReactElement; - rawHelp: string; - hidden: boolean; - required: boolean; - readonly: boolean; - disabled: boolean; - displayLabel: boolean; - fields: Field[]; - schema: JSONSchema7; - uiSchema: UiSchema; - formContext: any; - formData: T; - onChange: (value: T) => void; - onKeyChange: (value: string) => () => void; - onDropPropertyClick: (value: string) => () => void; - registry: Registry; - }; - - export type ArrayFieldTemplateProps = { - DescriptionField: React.FunctionComponent<{ id: string; description: string | React.ReactElement }>; - TitleField: React.FunctionComponent<{ id: string; title: string; required: boolean }>; - canAdd: boolean; - className: string; - disabled: boolean; - idSchema: IdSchema; - items: { - children: React.ReactElement; - className: string; - disabled: boolean; - hasMoveDown: boolean; - hasMoveUp: boolean; - hasRemove: boolean; - hasToolbar: boolean; - index: number; - onAddIndexClick: (index: number) => (event?: any) => void; - onDropIndexClick: (index: number) => (event?: any) => void; - onReorderClick: (index: number, newIndex: number) => (event?: any) => void; - readonly: boolean; - key: string; - }[]; - onAddClick: (event?: any) => void; - readonly: boolean; - required: boolean; - schema: JSONSchema7; - uiSchema: UiSchema; - title: string; - formContext: any; - formData: T; - registry: Registry; - }; - - export type ObjectFieldTemplateProps = { - DescriptionField: React.FunctionComponent<{ id: string; description: string | React.ReactElement }>; - TitleField: React.FunctionComponent<{ id: string; title: string; required: boolean }>; - title: string; - description: string; - disabled: boolean; - properties: { - content: React.ReactElement; - name: string; - disabled: boolean; - readonly: boolean; - hidden: boolean; - }[]; - onAddClick: (schema: JSONSchema7) => () => void; - readonly: boolean; - required: boolean; - schema: JSONSchema7; - uiSchema: UiSchema; - idSchema: IdSchema; - formData: T; - formContext: any; - registry: Registry; - }; - - export type AjvError = { - message: string; - name: string; - params: any; - property: string; - stack: string; - }; - - export type ErrorListProps = { - errorSchema: FormValidation; - errors: AjvError[]; - formContext: any; - schema: JSONSchema7; - uiSchema: UiSchema; - }; - - export interface IChangeEvent { - edit: boolean; - formData: T; - errors: AjvError[]; - errorSchema: FormValidation; - idSchema: IdSchema; - schema: JSONSchema7; - uiSchema: UiSchema; - status?: string; - } - - export type ISubmitEvent = IChangeEvent; - - export type FieldError = string; - - type FieldValidation = { - __errors: FieldError[]; - addError: (message: string) => void; - }; - - type FormValidation = FieldValidation & { - [fieldName: string]: FieldValidation; - }; - - type FormSubmit = { - formData: T; - }; - - export type ThemeProps = Omit, 'schema'>; - - export function withTheme( - themeProps: ThemeProps, - ): React.ComponentClass> | React.FunctionComponent>; - - export type AddButtonProps = { - className: string; - onClick: (e: React.MouseEvent) => void; - disabled: boolean; - }; - - export module utils { - - export const ADDITIONAL_PROPERTY_FLAG: string; - - export function canExpand(schema: JSONSchema7, uiSchema: UiSchema, formData: any): boolean; - - export function getDefaultRegistry(): Registry; - - export function getSchemaType(schema: JSONSchema7): string; - - export function getWidget( - schema: JSONSchema7, - widget: Widget | string, - registeredWidgets?: { [name: string]: Widget }, - ): Widget; - - export function hasWidget( - schema: JSONSchema7, - widget: Widget | string, - registeredWidgets?: { [name: string]: Widget }, - ): boolean; - - export function computeDefaults( - schema: JSONSchema7, - parentDefaults: JSONSchema7['default'][], - definitions: Registry['definitions'], - rawFormData?: T, - includeUndefinedValues?: boolean, - ): JSONSchema7['default'][]; - - export function getDefaultFormState( - schema: JSONSchema7, - formData: T, - definitions?: Registry['definitions'], - includeUndefinedValues?: boolean, - ): T | JSONSchema7['default'][]; - - export function getUiOptions(uiSchema: UiSchema): UiSchema['ui:options']; - - export function getSubmitButtonOptions(uiSchema: UiSchema): UISchemaSubmitButtonOptions; - - export function getDisplayLabel(schema: JSONSchema7, uiSchema: UiSchema, rootSchema?: JSONSchema7): boolean; - - export function isObject(thing: any): boolean; - - export function mergeObjects(obj1: object, obj2: object, concatArrays?: boolean): object; - - export function asNumber(value: string | null): number | string | undefined | null; - - export function orderProperties(properties: [], order: []): []; - - export function isConstant(schema: JSONSchema7): boolean; - - export function toConstant(schema: JSONSchema7): JSONSchema7Type | JSONSchema7['const']; - - export function isSelect(_schema: JSONSchema7, definitions?: Registry['definitions']): boolean; - - export function isMultiSelect(schema: JSONSchema7, definitions?: Registry['definitions']): boolean; - - export function isFilesArray( - schema: JSONSchema7, - uiSchema: UiSchema, - definitions?: Registry['definitions'], - ): boolean; - - export function isFixedItems(schema: JSONSchema7): boolean; - - export function allowAdditionalItems(schema: JSONSchema7): boolean; - - export function optionsList(schema: JSONSchema7): { - schema?: JSONSchema7Definition; - label: string; - value: string; - }[]; - - export function guessType(value: any): JSONSchema7TypeName; - - export function stubExistingAdditionalProperties( - schema: JSONSchema7, - definitions?: Registry['definitions'], - formData?: T, - ): JSONSchema7; - - export function resolveSchema( - schema: JSONSchema7Definition, - definitions?: Registry['definitions'], - formData?: T, - ): JSONSchema7; - - export function retrieveSchema( - schema: JSONSchema7Definition, - definitions?: Registry['definitions'], - formData?: T, - ): JSONSchema7; - - export function deepEquals(a: T, b: T): boolean; - - export function shouldRender(comp: React.Component, nextProps: any, nextState: any): boolean; - - export function toIdSchema( - schema: JSONSchema7Definition, - id: string, - definitions: Registry['definitions'], - formData?: T, - idPrefix?: string, - idSeparator?: string, - ): IdSchema | IdSchema[]; - - export function toPathSchema( - schema: JSONSchema7Definition, - name: string | undefined, - definitions: Registry['definitions'], - formData?: T, - ): PathSchema | PathSchema[]; - - export interface DateObject { - year: number; - month: number; - day: number; - hour: number; - minute: number; - second: number; - } - - export function parseDateString(dateString: string, includeTime?: boolean): DateObject; - - export function toDateString(dateObject: DateObject, time?: boolean): string; - - export function utcToLocal(jsonDate: string): string; - - export function localToUTC(dateString: string): Date; - - export function pad(num: number, size: number): string; - - export function setState(instance: React.Component, state: any, callback: Function): void; - - export function dataURItoBlob(dataURI: string): { name: string; blob: Blob }; - - export interface IRangeSpec { - min?: number; - max?: number; - step?: number; - } - - export function rangeSpec(schema: JSONSchema7): IRangeSpec; - - export function getMatchingOption( - formData: any, - options: JSONSchema7[], - definitions: Registry['definitions'], - ): number; - - export function schemaRequiresTrueValue(schema: JSONSchema7): boolean; - } -} - -declare module '@rjsf/core/lib/components/fields/SchemaField' { - import { JSONSchema7 } from 'json-schema'; - import { FieldProps, UiSchema, IdSchema, FormValidation } from '@rjsf/core'; - - export type SchemaFieldProps = Pick< - FieldProps, - 'schema' | 'uiSchema' | 'idSchema' | 'formData' | 'errorSchema' | 'registry' | 'formContext' - >; - - export default class SchemaField extends React.Component {} -} - -declare module '@rjsf/core/lib/components/fields/ObjectField' { - import { FieldProps } from '@rjsf/core'; - - export type ObjectFieldProps = FieldProps; - - export default class ObjectField extends React.Component {} -} - -declare module '@rjsf/core/lib/validate' { - import { JSONSchema7Definition } from 'json-schema'; - import { AjvError, ErrorSchema, FormProps } from '@rjsf/core'; - - export default function validateFormData( - formData: T, - schema: JSONSchema7Definition, - customValidate?: FormProps['validate'], - transformErrors?: FormProps['transformErrors'], - additionalMetaSchemas?: FormProps['additionalMetaSchemas'], - customFormats?: FormProps['customFormats'], - ): { errors: AjvError[]; errorSchema: ErrorSchema }; -} diff --git a/packages/core/package-lock.json b/packages/core/package-lock.json index 4646b5dd5b..bf4b32a371 100644 --- a/packages/core/package-lock.json +++ b/packages/core/package-lock.json @@ -6048,7 +6048,7 @@ "array-flatten": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", "dev": true }, "array-includes": { @@ -6143,7 +6143,7 @@ "ast-types-flow": { "version": "0.0.7", "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz", - "integrity": "sha1-9wtzXGvKGlycItmCw+Oef+ujva0=", + "integrity": "sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag==", "dev": true }, "astral-regex": { @@ -8261,7 +8261,7 @@ "cookie-signature": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=", + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==", "dev": true }, "copy-descriptor": { @@ -8804,7 +8804,7 @@ "ee-first": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", "dev": true }, "electron-to-chromium": { @@ -8834,7 +8834,7 @@ "encodeurl": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", "dev": true }, "end-of-stream": { @@ -8949,7 +8949,7 @@ "escape-html": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", "dev": true }, "escape-string-regexp": { @@ -9554,7 +9554,7 @@ "etag": { "version": "1.8.1", "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", "dev": true }, "exec-sh": { @@ -10193,7 +10193,7 @@ "fresh": { "version": "0.5.2", "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", "dev": true }, "fs-extra": { @@ -13770,7 +13770,7 @@ "language-tags": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.5.tgz", - "integrity": "sha1-0yHbxNowuovzAk4ED6XBRmH5GTo=", + "integrity": "sha512-qJhlO9cGXi6hBGKoxEG/sKZDAHD5Hnu9Hs4WbOY3pCWXDhw0N8x1NenNzm2EnNLkLkk7J2SdxAkDSbb6ftT+UQ==", "dev": true, "requires": { "language-subtag-registry": "~0.3.2" @@ -14334,7 +14334,7 @@ "media-typer": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", "dev": true }, "mem": { @@ -14361,7 +14361,7 @@ "merge-descriptors": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", - "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=", + "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==", "dev": true }, "merge-stream": { @@ -14379,7 +14379,7 @@ "methods": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", "dev": true }, "micromatch": { @@ -16245,7 +16245,7 @@ "path-to-regexp": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=", + "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==", "dev": true }, "path-type": { @@ -21297,7 +21297,7 @@ "unpipe": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", "dev": true }, "unset-value": { @@ -21400,7 +21400,7 @@ "utils-merge": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", "dev": true }, "uuid": { @@ -21456,7 +21456,7 @@ "vary": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", "dev": true }, "vendors": { diff --git a/packages/core/package.json b/packages/core/package.json index 416ac29365..86ca9fdd40 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -3,7 +3,8 @@ "version": "4.2.0", "description": "A simple React component capable of building HTML forms out of a JSON schema.", "scripts": { - "build": "rimraf dist && tsdx build --format cjs,es && cross-env NODE_ENV=production BABEL_ENV=umd webpack --config webpack.config.dist.js", + "build-umd": "cross-env NODE_ENV=production BABEL_ENV=umd webpack --config webpack.config.dist.js", + "build": "rimraf dist && tsdx build --format cjs,es && npm run build-umd", "cs-check": "prettier -l \"{src,test}/**/*.js\"", "cs-format": "prettier \"{src,test}/**/*.js\" --write", "lint": "eslint src test", @@ -24,11 +25,10 @@ }, "main": "dist/index.js", "module": "dist/core.esm.js", - "typings": "index.d.ts", + "typings": "dist/index.d.ts", "files": [ "dist", - "lib", - "index.d.ts" + "lib" ], "engineStrict": false, "engines": { @@ -54,8 +54,8 @@ "@babel/preset-env": "^7.4.5", "@babel/preset-react": "^7.0.0", "@babel/register": "^7.4.4", + "@rjsf/utils": "^4.2.0", "@rjsf/validator-ajv6": "^4.2.0", - "@types/json-schema": "^7.0.7", "@types/lodash": "^4.14.182", "@types/react": "^17.0.39", "@types/react-dom": "^17.0.11", diff --git a/packages/core/src/components/Form.tsx b/packages/core/src/components/Form.tsx index 14e5ee8538..a4a41830ca 100644 --- a/packages/core/src/components/Form.tsx +++ b/packages/core/src/components/Form.tsx @@ -72,7 +72,7 @@ export interface FormProps { transformErrors?: ErrorTransformer; formContext?: F; omitExtraData?: boolean; - extraErrors: ErrorSchema; + extraErrors?: ErrorSchema; idPrefix?: string; idSeparator?: string; } diff --git a/packages/core/src/withTheme.tsx b/packages/core/src/withTheme.tsx index 69982b7229..933658fd2b 100644 --- a/packages/core/src/withTheme.tsx +++ b/packages/core/src/withTheme.tsx @@ -8,7 +8,7 @@ export type WithThemeProps = { widgets: RegistryWidgetsType; } & Pick< FormProps, - 'ArrayFieldTemplate' | 'ObjectFieldTemplate' | 'FieldTemplate' | 'ErrorList' + 'ArrayFieldTemplate' | 'ObjectFieldTemplate' | 'FieldTemplate' | 'ErrorList' | '_internalFormWrapper' > export default function withTheme(themeProps: WithThemeProps) {