diff --git a/azure-pipelines.yml b/azure-pipelines.yml
index 60ddd38025..dc77b4fa1f 100644
--- a/azure-pipelines.yml
+++ b/azure-pipelines.yml
@@ -22,10 +22,11 @@ jobs:
displayName: 'Install Node.js'
- script: |
npm install
- npm test
+ npm run bootstrap
+ npm run build
+ npm run test
npm run lint
npm run cs-check
- npm run dist
displayName: 'npm install and build'
- job: Docs
steps:
@@ -37,4 +38,4 @@ jobs:
- script: |
pip install mkdocs==1.0.4
mkdocs build --clean
- displayName: 'build docs'
\ No newline at end of file
+ displayName: 'build docs'
diff --git a/docs/advanced-customization.md b/docs/advanced-customization.md
index 82c66e34d4..33f6ecb91a 100644
--- a/docs/advanced-customization.md
+++ b/docs/advanced-customization.md
@@ -550,7 +550,7 @@ You can provide your own implementation of the `SchemaField` base React componen
To proceed so, pass a `fields` object having a `SchemaField` property to your `Form` component; here's a rather silly example wrapping the standard `SchemaField` lib component:
```jsx
-import SchemaField from "react-jsonschema-form/lib/components/fields/SchemaField";
+import SchemaField from "@rjsf/core/lib/components/fields/SchemaField";
const CustomSchemaField = function(props) {
return (
diff --git a/docs/contributing.md b/docs/contributing.md
index f0801da7d9..cefba423ad 100644
--- a/docs/contributing.md
+++ b/docs/contributing.md
@@ -2,11 +2,23 @@
### Development server
-When developing a package, to run the playground with your latest changes, cd to the package directory and then run `npm start`. For example, to run the playground, run:
+When developing a package, first run from the root-level directory:
+
+```bash
+lerna bootstrap
+```
+
+Then, go to the package directory and then run `npm start` to live-recompile the files for that package. For example, to edit the core package:
```bash
cd packages/core
-npm install
+npm start
+```
+
+Finally, to run the playground, go to the playground directory and run `npm start` in another terminal.
+
+```bash
+cd packages/playground
npm start
```
@@ -38,28 +50,13 @@ npm test
Code coverage reports are currently available only for the `@rjsf/core` package. They are generated using [nyc](https://github.com/istanbuljs/nyc) each time the `npm test-coverage` script is run.
The full report can be seen by opening `./coverage/lcov-report/index.html`.
-### Notes on the local playground
-
-The playground located in `packages/playground` contains code that is published as the `@rjsf/playground` package. This package is used by the local playgrounds in packages such as `packages/core`, so that when you run `npm start` from `packages/core`, it will run the playground component from `@rjsf/playground` but with the local changes to react-jsonschema-form.
-
-Note that when doing local development in a package such as `packages/core`, making changes to `packages/playground` will not affect the local playground that is run from `packages/core`. This should be fine in most cases for development, unless you need to update and test the default playground examples. In this case, you could use `npm link` to use the latest changes both from the playground and your package. As an example, to do this when developing locally on `packages/core`, you can run:
-
-```bash
-cd packages/playground
-npm run build:lib
-npm link
-cd ../core
-npm link @rjsf/playground
-npm start
-```
-
-After the above is run, you will have a playground that has both your local changes to `packages/core` and `packages/playground`. Note that while the `packages/core` changes will live reload, the `packages/playground` changes will not -- you will need to run `npm run build:lib` from `packages/playground` each time you update a playground example.
### Releasing
To release, run:
```bash
+lerna build
lerna version
lerna publish
git push --tags origin master
@@ -73,7 +70,7 @@ Docs are automatically released using [Read The Docs](https://readthedocs.org/)
#### Releasing the playground
-Note that publishing the `@rjsf/playground` package will update the version of the playground used in the local development playgrounds for packages such as `@rjsf/core`, etc. However, in order to publish the latest playground to [https://rjsf-team.github.io/react-jsonschema-form/](https://rjsf-team.github.io/react-jsonschema-form/) after a new rjsf release, run:
+In order to publish the latest playground to [https://rjsf-team.github.io/react-jsonschema-form/](https://rjsf-team.github.io/react-jsonschema-form/) after a new rjsf release, run:
```bash
cd packages/playground
diff --git a/docs/index.md b/docs/index.md
index b40710e45e..faf0b0c667 100644
--- a/docs/index.md
+++ b/docs/index.md
@@ -57,7 +57,7 @@ const {default: Form} = JSONSchemaForm;
import React, { Component } from "react";
import { render } from "react-dom";
-import Form from "react-jsonschema-form";
+import Form from "@rjsf/core";
const schema = {
title: "Todo",
diff --git a/docs/theme-customization.md b/docs/theme-customization.md
index 7bdb1f6b75..fceb9c81c1 100644
--- a/docs/theme-customization.md
+++ b/docs/theme-customization.md
@@ -7,10 +7,11 @@ The `withTheme` component provides an easy way to extend the functionality of re
```jsx
import React, { Component } from 'react';
-import { withTheme } from 'react-jsonschema-form';
-import Bootstrap4Theme from 'react-jsonschema-form-theme-bs4';
+import { withTheme } from '@rjsf/core';
-const ThemedForm = withTheme(Bootstrap4Theme);
+const theme = { widgets: {test: () =>
test
} };
+
+const ThemedForm = withTheme(theme);
class Demo extends Component {
render() {
return
diff --git a/netlify.toml b/netlify.toml
index 0e0eab8766..6f12bcf10a 100644
--- a/netlify.toml
+++ b/netlify.toml
@@ -1,7 +1,7 @@
[build]
- base = "packages/playground"
- publish = "build"
- command = "npm run build:playground"
+ base = ""
+ publish = "packages/playground/build"
+ command = "npm run bootstrap && npm run build"
[build.environment]
SHOW_NETLIFY_BADGE = "true"
diff --git a/package.json b/package.json
index 106db8006a..60a9134882 100644
--- a/package.json
+++ b/package.json
@@ -12,7 +12,8 @@
"lint": "lerna run lint",
"cs-check": "lerna run cs-check",
"cs-format": "lerna run cs-format",
- "dist": "lerna run dist"
+ "build": "lerna run --stream build",
+ "start": "lerna run start --stream --parallel"
},
"dependencies": {
"prettier": "^1.18.2",
diff --git a/packages/core/.babelrc b/packages/core/.babelrc
deleted file mode 100644
index 0d11e9ccbb..0000000000
--- a/packages/core/.babelrc
+++ /dev/null
@@ -1,23 +0,0 @@
-{
- "presets": [
- "@babel/preset-react",
- "@babel/preset-env"
- ],
- "plugins": [
- "@babel/plugin-proposal-object-rest-spread",
- "@babel/plugin-proposal-class-properties",
- [
- "@babel/plugin-transform-runtime",
- {
- "corejs": 2
- }
- ]
- ],
- "env": {
- "development": {
- "plugins": [
- "@babel/plugin-transform-react-jsx"
- ]
- }
- }
-}
diff --git a/packages/core/babel.config.js b/packages/core/babel.config.js
new file mode 100644
index 0000000000..fa91642aeb
--- /dev/null
+++ b/packages/core/babel.config.js
@@ -0,0 +1,44 @@
+const BABEL_ENV = process.env.BABEL_ENV;
+
+const defaultPlugins = [
+ '@babel/plugin-proposal-class-properties',
+ '@babel/plugin-proposal-object-rest-spread',
+ '@babel/plugin-proposal-optional-chaining',
+ // IE 11 support
+ '@babel/plugin-transform-object-assign'
+];
+
+module.exports = {
+ presets: [
+ [
+ "@babel/preset-env",
+ {
+ modules: ["cjs", "test"].includes(BABEL_ENV) ? "commonjs" : false,
+ targets:
+ BABEL_ENV === "test" ? { node: "current" } : { browsers: "defaults" },
+ },
+ ],
+ "@babel/preset-react",
+ ],
+ env: {
+ cjs: {
+ plugins: defaultPlugins,
+ ignore: ['test/**/*.js']
+ },
+ umd: {
+ plugins: defaultPlugins,
+ ignore: ['test/**/*.js']
+ },
+ es: {
+ plugins: [
+ ...defaultPlugins,
+ ['@babel/plugin-transform-runtime', { useESModules: true, corejs: 2 }]
+ ],
+ ignore: ['test/**/*.js']
+ },
+ test: {
+ plugins: defaultPlugins,
+ ignore: []
+ }
+ },
+};
diff --git a/packages/core/devServer.js b/packages/core/devServer.js
deleted file mode 100644
index 032a8a401b..0000000000
--- a/packages/core/devServer.js
+++ /dev/null
@@ -1,37 +0,0 @@
-const path = require("path");
-const express = require("express");
-const webpack = require("webpack");
-
-const server = process.env.RJSF_DEV_SERVER || "localhost:8080";
-const splitServer = server.split(":");
-const host = splitServer[0];
-const port = splitServer[1];
-const env = "dev";
-
-const webpackConfig = require("./webpack.config." + env);
-const compiler = webpack(webpackConfig);
-const app = express();
-
-app.use(require("webpack-dev-middleware")(compiler, {
- publicPath: webpackConfig.output.publicPath,
- noInfo: true
-}));
-
-app.use(require("webpack-hot-middleware")(compiler));
-
-app.get("/favicon.ico", function(req, res) {
- res.status(204).end();
-});
-
-app.get("/", function(req, res) {
- res.sendFile(path.join(__dirname, "playground", "index.html"));
-});
-
-app.listen(port, host, function(err) {
- if (err) {
- console.log(err);
- return;
- }
-
- console.log(`Listening at http://${server}`);
-});
diff --git a/packages/core/index.d.ts b/packages/core/index.d.ts
new file mode 100644
index 0000000000..913e8bdda3
--- /dev/null
+++ b/packages/core/index.d.ts
@@ -0,0 +1,436 @@
+// 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 { JSONSchema6, JSONSchema6Type } from 'json-schema';
+
+ type ErrorSchema = {
+ [k: string]: ErrorSchema;
+ };
+
+ export interface FormProps {
+ schema: JSONSchema6;
+ disabled?: boolean;
+ uiSchema?: UiSchema;
+ formData?: T;
+ formContext?: any;
+ widgets?: { [name: string]: Widget };
+ fields?: { [name: string]: Field };
+ noValidate?: boolean;
+ noHtml5Validate?: boolean;
+ showErrorList?: boolean;
+ ErrorList?: React.StatelessComponent;
+ validate?: (formData: T, errors: FormValidation) => FormValidation;
+ onBlur?: (id: string, value: boolean | number | string | null) => void;
+ onChange?: (e: IChangeEvent, es?: ErrorSchema) => any;
+ onError?: (e: any) => any;
+ onSubmit?: (e: ISubmitEvent) => any;
+ liveValidate?: boolean;
+ FieldTemplate?: React.StatelessComponent;
+ ArrayFieldTemplate?: React.StatelessComponent;
+ ObjectFieldTemplate?: React.StatelessComponent;
+ safeRenderCompletion?: boolean;
+ transformErrors?: (errors: AjvError[]) => AjvError[];
+ idPrefix?: string;
+ additionalMetaSchemas?: ReadonlyArray;
+ customFormats?: { [k: string]: string | RegExp | ((data: string) => boolean) };
+ // HTML Attributes
+ id?: string;
+ className?: string;
+ name?: string;
+ method?: string;
+ target?: string;
+ action?: string;
+ autocomplete?: string;
+ enctype?: string;
+ acceptcharset?: string;
+ omitExtraData?: boolean;
+ liveOmit?: boolean;
+ tagName?: keyof JSX.IntrinsicElements | React.ComponentType;
+ }
+
+ 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: boolean | number | string | null) => void;
+ submit: () => void;
+ }
+
+ 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.StatelessComponent;
+ 'ui:ArrayFieldTemplate'?: React.StatelessComponent;
+ 'ui:ObjectFieldTemplate'?: React.StatelessComponent;
+ [name: string]: any;
+ };
+
+ 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: JSONSchema6;
+ value: any;
+ required: boolean;
+ disabled: boolean;
+ readonly: boolean;
+ autofocus: boolean;
+ onChange: (value: any) => void;
+ options: { [key: string]: boolean | number | string | object | null };
+ formContext: any;
+ onBlur: (id: string, value: boolean | number | string | null) => void;
+ onFocus: (id: string, value: boolean | number | string | null) => void;
+ label: string;
+ multiple: boolean;
+ }
+
+ export type Widget = React.StatelessComponent | React.ComponentClass;
+
+ export interface FieldProps
+ extends Pick, Exclude, 'onBlur'>> {
+ schema: JSONSchema6;
+ uiSchema: UiSchema;
+ idSchema: IdSchema;
+ formData: T;
+ errorSchema: ErrorSchema;
+ onChange: (e: IChangeEvent | any, es?: ErrorSchema) => any;
+ onBlur: (id: string, value: boolean | number | string | null) => void;
+ registry: {
+ fields: { [name: string]: Field };
+ widgets: { [name: string]: Widget };
+ definitions: { [name: string]: any };
+ formContext: any;
+ };
+ formContext: any;
+ autofocus: boolean;
+ disabled: boolean;
+ readonly: boolean;
+ required: boolean;
+ name: string;
+ [prop: string]: any;
+ }
+
+ export type Field = React.StatelessComponent | 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: JSONSchema6;
+ uiSchema: UiSchema;
+ formContext: any;
+ };
+
+ export type ArrayFieldTemplateProps = {
+ DescriptionField: React.StatelessComponent<{ id: string; description: string | React.ReactElement }>;
+ TitleField: React.StatelessComponent<{ 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;
+ onDropIndexClick: (index: number) => (event: any) => void;
+ onReorderClick: (index: number, newIndex: number) => (event: any) => void;
+ readonly: boolean;
+ key: string;
+ }[];
+ onAddClick: (event: any) => (event: any) => void;
+ readonly: boolean;
+ required: boolean;
+ schema: JSONSchema6;
+ uiSchema: UiSchema;
+ title: string;
+ formContext: any;
+ formData: T;
+ registry: FieldProps['registry'];
+ };
+
+ export type ObjectFieldTemplateProps = {
+ DescriptionField: React.StatelessComponent<{ id: string; description: string | React.ReactElement }>;
+ TitleField: React.StatelessComponent<{ id: string; title: string; required: boolean }>;
+ title: string;
+ description: string;
+ properties: {
+ content: React.ReactElement;
+ name: string;
+ disabled: boolean;
+ readonly: boolean;
+ }[];
+ required: boolean;
+ schema: JSONSchema6;
+ uiSchema: UiSchema;
+ idSchema: IdSchema;
+ formData: T;
+ formContext: any;
+ };
+
+ export type AjvError = {
+ message: string;
+ name: string;
+ params: any;
+ property: string;
+ stack: string;
+ };
+
+ export type ErrorListProps = {
+ errorSchema: FormValidation;
+ errors: AjvError[];
+ formContext: any;
+ schema: JSONSchema6;
+ uiSchema: UiSchema;
+ };
+
+ export interface IChangeEvent {
+ edit: boolean;
+ formData: T;
+ errors: AjvError[];
+ errorSchema: FormValidation;
+ idSchema: IdSchema;
+ schema: JSONSchema6;
+ 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.StatelessComponent>;
+
+ export type AddButtonProps = {
+ className: string;
+ onClick: (e: React.MouseEvent) => void;
+ disabled: boolean;
+ };
+}
+
+declare module '@rjsf/core/lib/components/fields/SchemaField' {
+ import { JSONSchema6 } 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/utils' {
+ import { JSONSchema6, JSONSchema6Definition, JSONSchema6Type, JSONSchema6TypeName } from 'json-schema';
+ import { FieldProps, UiSchema, IdSchema, PathSchema, Widget } from '@rjsf/core';
+
+ export const ADDITIONAL_PROPERTY_FLAG: string;
+
+ export function getDefaultRegistry(): FieldProps['registry'];
+
+ export function getSchemaType(schema: JSONSchema6): string;
+
+ export function getWidget(
+ schema: JSONSchema6,
+ widget: Widget,
+ registeredWidgets?: { [name: string]: Widget },
+ ): Widget | Error;
+
+ export function hasWidget(
+ schema: JSONSchema6,
+ widget: Widget,
+ registeredWidgets?: { [name: string]: Widget },
+ ): boolean;
+
+ export function computeDefaults(
+ schema: JSONSchema6,
+ parentDefaults: JSONSchema6['default'][],
+ definitions: FieldProps['registry']['definitions'],
+ rawFormData?: T,
+ includeUndefinedValues?: boolean,
+ ): JSONSchema6['default'][];
+
+ export function getDefaultFormState(
+ schema: JSONSchema6,
+ formData: T,
+ definitions?: FieldProps['registry']['definitions'],
+ includeUndefinedValues?: boolean,
+ ): T | JSONSchema6['default'][];
+
+ export function getUiOptions(uiSchema: UiSchema): UiSchema['ui:options'];
+
+ 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: JSONSchema6): boolean;
+
+ export function toConstant(schema: JSONSchema6): JSONSchema6Type | JSONSchema6['const'] | Error;
+
+ export function isSelect(_schema: JSONSchema6, definitions?: FieldProps['registry']['definitions']): boolean;
+
+ export function isMultiSelect(schema: JSONSchema6, definitions?: FieldProps['registry']['definitions']): boolean;
+
+ export function isFilesArray(
+ schema: JSONSchema6,
+ uiSchema: UiSchema,
+ definitions?: FieldProps['registry']['definitions'],
+ ): boolean;
+
+ export function isFixedItems(schema: JSONSchema6): boolean;
+
+ export function allowAdditionalItems(schema: JSONSchema6): boolean;
+
+ export function optionsList(schema: JSONSchema6): { label: string; value: string }[];
+
+ export function guessType(value: any): JSONSchema6TypeName;
+
+ export function stubExistingAdditionalProperties(
+ schema: JSONSchema6,
+ definitions?: FieldProps['registry']['definitions'],
+ formData?: T,
+ ): JSONSchema6;
+
+ export function resolveSchema(
+ schema: JSONSchema6Definition,
+ definitions?: FieldProps['registry']['definitions'],
+ formData?: T,
+ ): JSONSchema6;
+
+ export function retrieveSchema(
+ schema: JSONSchema6Definition,
+ definitions?: FieldProps['registry']['definitions'],
+ formData?: T,
+ ): JSONSchema6;
+
+ export function deepEquals(a: T, b: T): boolean;
+
+ export function shouldRender(comp: React.Component, nextProps: any, nextState: any): boolean;
+
+ export function toIdSchema(
+ schema: JSONSchema6Definition,
+ id: string,
+ definitions: FieldProps['registry']['definitions'],
+ formData?: T,
+ idPredix?: string,
+ ): IdSchema | IdSchema[];
+
+ export function toPathSchema(
+ schema: JSONSchema6Definition,
+ name: string | undefined,
+ definitions: FieldProps['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 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: JSONSchema6): IRangeSpec;
+
+ export function getMatchingOption(
+ formData: any,
+ options: JSONSchema6[],
+ definitions: FieldProps['registry']['definitions'],
+ ): number;
+}
+
+declare module '@rjsf/core/lib/validate' {
+ import { JSONSchema6Definition } from 'json-schema';
+ import { AjvError, ErrorSchema, FormProps } from '@rjsf/core';
+
+ export default function validateFormData(
+ formData: T,
+ schema: JSONSchema6Definition,
+ customValidate?: FormProps['validate'],
+ transformErrors?: FormProps['transformErrors'],
+ additionalMetaSchemas?: FormProps['additionalMetaSchemas'],
+ customFormats?: FormProps['customFormats'],
+ ): { errors: AjvError[]; errorSchema: ErrorSchema };
+}
\ No newline at end of file
diff --git a/packages/core/netlify.toml b/packages/core/netlify.toml
deleted file mode 100644
index 5efd3d1543..0000000000
--- a/packages/core/netlify.toml
+++ /dev/null
@@ -1,2 +0,0 @@
-[build.environment]
- SHOW_NETLIFY_BADGE = "true"
diff --git a/packages/core/package-lock.json b/packages/core/package-lock.json
index 80c48b4e1f..53f704635b 100644
--- a/packages/core/package-lock.json
+++ b/packages/core/package-lock.json
@@ -1904,6 +1904,24 @@
"@babel/plugin-syntax-optional-catch-binding": "^7.2.0"
}
},
+ "@babel/plugin-proposal-optional-chaining": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.8.3.tgz",
+ "integrity": "sha512-QIoIR9abkVn+seDE3OjA08jWcs3eZ9+wJCKSRgo3WdEU2csFYgdScb+8qHB3+WXsGJD55u+5hWCISI7ejXS+kg==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.8.3",
+ "@babel/plugin-syntax-optional-chaining": "^7.8.0"
+ },
+ "dependencies": {
+ "@babel/helper-plugin-utils": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz",
+ "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==",
+ "dev": true
+ }
+ }
+ },
"@babel/plugin-proposal-unicode-property-regex": {
"version": "7.4.4",
"resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.4.4.tgz",
@@ -1997,6 +2015,23 @@
"@babel/helper-plugin-utils": "^7.0.0"
}
},
+ "@babel/plugin-syntax-optional-chaining": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz",
+ "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.8.0"
+ },
+ "dependencies": {
+ "@babel/helper-plugin-utils": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz",
+ "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==",
+ "dev": true
+ }
+ }
+ },
"@babel/plugin-transform-arrow-functions": {
"version": "7.2.0",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.2.0.tgz",
@@ -2269,6 +2304,23 @@
"@babel/helper-plugin-utils": "^7.0.0"
}
},
+ "@babel/plugin-transform-object-assign": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-assign/-/plugin-transform-object-assign-7.8.3.tgz",
+ "integrity": "sha512-i3LuN8tPDqUCRFu3dkzF2r1Nx0jp4scxtm7JxtIqI9he9Vk20YD+/zshdzR9JLsoBMlJlNR82a62vQExNEVx/Q==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.8.3"
+ },
+ "dependencies": {
+ "@babel/helper-plugin-utils": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz",
+ "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==",
+ "dev": true
+ }
+ }
+ },
"@babel/plugin-transform-object-super": {
"version": "7.2.0",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.2.0.tgz",
@@ -2744,33 +2796,27 @@
}
}
},
- "@babel/runtime": {
- "version": "7.8.4",
- "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.8.4.tgz",
- "integrity": "sha512-neAp3zt80trRVBI1x0azq6c57aNBqYZH8KhMm3TaB7wEI5Q4A2SHfBHE8w9gOhI/lrqxtEbXZgQIrHP+wvSGwQ==",
- "dev": true,
- "requires": {
- "regenerator-runtime": "^0.13.2"
- }
- },
"@babel/runtime-corejs2": {
- "version": "7.4.5",
- "resolved": "https://registry.npmjs.org/@babel/runtime-corejs2/-/runtime-corejs2-7.4.5.tgz",
- "integrity": "sha512-5yLuwzvIDecKwYMzJtiarky4Fb5643H3Ao5jwX0HrMR5oM5mn2iHH9wSZonxwNK0oAjAFUQAiOd4jT7/9Y2jMQ==",
+ "version": "7.8.7",
+ "resolved": "https://registry.npmjs.org/@babel/runtime-corejs2/-/runtime-corejs2-7.8.7.tgz",
+ "integrity": "sha512-R8zbPiv25S0pGfMqAr55dRRxWB8vUeo3wicI4g9PFVBKmsy/9wmQUV1AaYW/kxRHUhx42TTh6F0+QO+4pwfYWg==",
+ "dev": true,
"requires": {
"core-js": "^2.6.5",
- "regenerator-runtime": "^0.13.2"
+ "regenerator-runtime": "^0.13.4"
},
"dependencies": {
"core-js": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.9.tgz",
- "integrity": "sha512-HOpZf6eXmnl7la+cUdMnLvUxKNqLUzJvgIziQ0DiF3JwSImNphIqdGqzj6hIKyX04MmV0poclQ7+wjWvxQyR2A=="
+ "version": "2.6.11",
+ "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.11.tgz",
+ "integrity": "sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg==",
+ "dev": true
},
"regenerator-runtime": {
- "version": "0.13.2",
- "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.2.tgz",
- "integrity": "sha512-S/TQAZJO+D3m9xeN1WTI8dLKBBiRgXBlTJvbWjCThHWZj9EvHK70Ff50/tYj2J/fvBY6JtFVwRuazHN2E7M9BA=="
+ "version": "0.13.4",
+ "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.4.tgz",
+ "integrity": "sha512-plpwicqEzfEyTQohIKktWigcLzmNStMGwbOUbykx51/29Z3JOGYldaaNGK7ngNXV+UcoqvIMmloZ48Sr74sd+g==",
+ "dev": true
}
}
},
@@ -2850,84 +2896,6 @@
}
}
},
- "@emotion/hash": {
- "version": "0.7.4",
- "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.7.4.tgz",
- "integrity": "sha512-fxfMSBMX3tlIbKUdtGKxqB1fyrH6gVrX39Gsv3y8lRYKUqlgDt3UMqQyGnR1bQMa2B8aGnhLZokZgg8vT0Le+A==",
- "dev": true
- },
- "@material-ui/core": {
- "version": "4.9.4",
- "resolved": "https://registry.npmjs.org/@material-ui/core/-/core-4.9.4.tgz",
- "integrity": "sha512-1wqm3jBC8mGpVHu0wVOYBX7LUzkPsWxkkTtKSn0Hz66T6TDJkke72mkSIL7akNdjnxy+bRc2Vi6NiJ4YutkDcw==",
- "dev": true,
- "requires": {
- "@babel/runtime": "^7.4.4",
- "@material-ui/styles": "^4.9.0",
- "@material-ui/system": "^4.9.3",
- "@material-ui/types": "^5.0.0",
- "@material-ui/utils": "^4.7.1",
- "@types/react-transition-group": "^4.2.0",
- "clsx": "^1.0.2",
- "hoist-non-react-statics": "^3.3.2",
- "popper.js": "^1.14.1",
- "prop-types": "^15.7.2",
- "react-is": "^16.8.0",
- "react-transition-group": "^4.3.0"
- }
- },
- "@material-ui/styles": {
- "version": "4.9.0",
- "resolved": "https://registry.npmjs.org/@material-ui/styles/-/styles-4.9.0.tgz",
- "integrity": "sha512-nJHum4RqYBPWsjL/9JET8Z02FZ9gSizlg/7LWVFpIthNzpK6OQ5OSRR4T4x9/p+wK3t1qNn3b1uI4XpnZaPxOA==",
- "dev": true,
- "requires": {
- "@babel/runtime": "^7.4.4",
- "@emotion/hash": "^0.7.4",
- "@material-ui/types": "^5.0.0",
- "@material-ui/utils": "^4.7.1",
- "clsx": "^1.0.2",
- "csstype": "^2.5.2",
- "hoist-non-react-statics": "^3.2.1",
- "jss": "^10.0.3",
- "jss-plugin-camel-case": "^10.0.3",
- "jss-plugin-default-unit": "^10.0.3",
- "jss-plugin-global": "^10.0.3",
- "jss-plugin-nested": "^10.0.3",
- "jss-plugin-props-sort": "^10.0.3",
- "jss-plugin-rule-value-function": "^10.0.3",
- "jss-plugin-vendor-prefixer": "^10.0.3",
- "prop-types": "^15.7.2"
- }
- },
- "@material-ui/system": {
- "version": "4.9.3",
- "resolved": "https://registry.npmjs.org/@material-ui/system/-/system-4.9.3.tgz",
- "integrity": "sha512-DBGsTKYrLlFpHG8BUp0X6ZpvaOzef+GhSwn/8DwVTXUdHitphaPQoL9xucrI8X9MTBo//El+7nylko7lo7eJIw==",
- "dev": true,
- "requires": {
- "@babel/runtime": "^7.4.4",
- "@material-ui/utils": "^4.7.1",
- "prop-types": "^15.7.2"
- }
- },
- "@material-ui/types": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/@material-ui/types/-/types-5.0.0.tgz",
- "integrity": "sha512-UeH2BuKkwDndtMSS0qgx1kCzSMw+ydtj0xx/XbFtxNSTlXydKwzs5gVW5ZKsFlAkwoOOQ9TIsyoCC8hq18tOwg==",
- "dev": true
- },
- "@material-ui/utils": {
- "version": "4.7.1",
- "resolved": "https://registry.npmjs.org/@material-ui/utils/-/utils-4.7.1.tgz",
- "integrity": "sha512-+ux0SlLdlehvzCk2zdQ3KiS3/ylWvuo/JwAGhvb8dFVvwR21K28z0PU9OQW2PGogrMEdvX3miEI5tGxTwwWiwQ==",
- "dev": true,
- "requires": {
- "@babel/runtime": "^7.4.4",
- "prop-types": "^15.7.2",
- "react-is": "^16.8.0"
- }
- },
"@nodelib/fs.scandir": {
"version": "2.1.3",
"resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.3.tgz",
@@ -2954,29 +2922,6 @@
"fastq": "^1.6.0"
}
},
- "@rjsf/playground": {
- "version": "2.0.0-alpha.2.2",
- "resolved": "https://registry.npmjs.org/@rjsf/playground/-/playground-2.0.0-alpha.2.2.tgz",
- "integrity": "sha512-cCIQdN2dtjXbbAiG3mKavRsQWYsDH1E3fygA/Ej4IZzPdpGerNWqQUVEpxrw9179cGC/cht7JqXKTtyrtFozow==",
- "dev": true,
- "requires": {
- "@babel/runtime-corejs2": "^7.4.5",
- "@material-ui/core": "^4.9.4",
- "ajv": "^6.7.0",
- "core-js": "^2.5.7",
- "json-schema-merge-allof": "^0.6.0",
- "jss": "^10.0.3",
- "lodash": "^4.17.15",
- "prop-types": "^15.7.2",
- "react-app-polyfill": "^1.0.4",
- "react-bootstrap": "^0.33.1",
- "react-frame-component": "^4.1.1",
- "react-is": "^16.9.0",
- "react-jsonschema-form": "^2.0.0-alpha.1",
- "rjsf-material-ui": "^0.3.9",
- "shortid": "^2.2.14"
- }
- },
"@samverschueren/stream-to-observable": {
"version": "0.3.0",
"resolved": "https://registry.npmjs.org/@samverschueren/stream-to-observable/-/stream-to-observable-0.3.0.tgz",
@@ -3053,6 +2998,11 @@
"@types/node": "*"
}
},
+ "@types/json-schema": {
+ "version": "7.0.4",
+ "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.4.tgz",
+ "integrity": "sha512-8+KAKzEvSUdeo+kmqnKrqgeE+LcA0tjYWFY7RPProVYwnqDjukzO+3b6dLD56rYX5TdWejnEOLJYOIeh4CXKuA=="
+ },
"@types/minimatch": {
"version": "3.0.3",
"resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz",
@@ -3081,15 +3031,6 @@
"csstype": "^2.2.0"
}
},
- "@types/react-transition-group": {
- "version": "4.2.4",
- "resolved": "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-4.2.4.tgz",
- "integrity": "sha512-8DMUaDqh0S70TjkqU0DxOu80tFUiiaS9rxkWip/nb7gtvAsbqOXm02UCmR8zdcjWujgeYPiPNTVpVpKzUDotwA==",
- "dev": true,
- "requires": {
- "@types/react": "*"
- }
- },
"@types/tapable": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/@types/tapable/-/tapable-1.0.4.tgz",
@@ -4198,6 +4139,12 @@
"integrity": "sha1-r6uWJikQp/M8GaV3WCXGnzTjUMo=",
"dev": true
},
+ "camelcase": {
+ "version": "5.3.1",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
+ "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
+ "dev": true
+ },
"caniuse-api": {
"version": "1.6.1",
"resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-1.6.1.tgz",
@@ -4327,12 +4274,6 @@
}
}
},
- "classnames": {
- "version": "2.2.6",
- "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.2.6.tgz",
- "integrity": "sha512-JR/iSQOSt+LQIWwrwEzJ9uk0xfN3mTVYMwt1Ir5mUcSN6pU+V4zQFFaJsclJbPuAUQH+yfWef6tm7l1quW3C8Q==",
- "dev": true
- },
"clean-stack": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz",
@@ -4392,18 +4333,77 @@
"integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=",
"dev": true
},
+ "cliui": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz",
+ "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==",
+ "dev": true,
+ "requires": {
+ "string-width": "^3.1.0",
+ "strip-ansi": "^5.2.0",
+ "wrap-ansi": "^5.1.0"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
+ "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
+ "dev": true
+ },
+ "ansi-styles": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
+ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+ "dev": true,
+ "requires": {
+ "color-convert": "^1.9.0"
+ }
+ },
+ "emoji-regex": {
+ "version": "7.0.3",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz",
+ "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==",
+ "dev": true
+ },
+ "string-width": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
+ "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
+ "dev": true,
+ "requires": {
+ "emoji-regex": "^7.0.1",
+ "is-fullwidth-code-point": "^2.0.0",
+ "strip-ansi": "^5.1.0"
+ }
+ },
+ "strip-ansi": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
+ "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^4.1.0"
+ }
+ },
+ "wrap-ansi": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz",
+ "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^3.2.0",
+ "string-width": "^3.0.0",
+ "strip-ansi": "^5.0.0"
+ }
+ }
+ }
+ },
"clone": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz",
"integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=",
"dev": true
},
- "clsx": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/clsx/-/clsx-1.1.0.tgz",
- "integrity": "sha512-3avwM37fSK5oP6M5rQ9CNe99lwxhXDOeSWVPAOYF6OazUTgZCMb0yWlJpmdD74REy1gkEaFiub2ULv4fq9GUhA==",
- "dev": true
- },
"co": {
"version": "4.6.0",
"resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz",
@@ -4568,6 +4568,104 @@
"typedarray": "^0.0.6"
}
},
+ "concurrently": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/concurrently/-/concurrently-5.1.0.tgz",
+ "integrity": "sha512-9ViZMu3OOCID3rBgU31mjBftro2chOop0G2u1olq1OuwRBVRw/GxHTg80TVJBUTJfoswMmEUeuOg1g1yu1X2dA==",
+ "dev": true,
+ "requires": {
+ "chalk": "^2.4.2",
+ "date-fns": "^2.0.1",
+ "lodash": "^4.17.15",
+ "read-pkg": "^4.0.1",
+ "rxjs": "^6.5.2",
+ "spawn-command": "^0.0.2-1",
+ "supports-color": "^6.1.0",
+ "tree-kill": "^1.2.2",
+ "yargs": "^13.3.0"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
+ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+ "dev": true,
+ "requires": {
+ "color-convert": "^1.9.0"
+ }
+ },
+ "chalk": {
+ "version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
+ "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^3.2.1",
+ "escape-string-regexp": "^1.0.5",
+ "supports-color": "^5.3.0"
+ },
+ "dependencies": {
+ "supports-color": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
+ }
+ }
+ },
+ "date-fns": {
+ "version": "2.10.0",
+ "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.10.0.tgz",
+ "integrity": "sha512-EhfEKevYGWhWlZbNeplfhIU/+N+x0iCIx7VzKlXma2EdQyznVlZhCptXUY+BegNpPW2kjdx15Rvq503YcXXrcA==",
+ "dev": true
+ },
+ "has-flag": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
+ "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
+ "dev": true
+ },
+ "parse-json": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz",
+ "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=",
+ "dev": true,
+ "requires": {
+ "error-ex": "^1.3.1",
+ "json-parse-better-errors": "^1.0.1"
+ }
+ },
+ "pify": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
+ "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
+ "dev": true
+ },
+ "read-pkg": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-4.0.1.tgz",
+ "integrity": "sha1-ljYlN48+HE1IyFhytabsfV0JMjc=",
+ "dev": true,
+ "requires": {
+ "normalize-package-data": "^2.3.2",
+ "parse-json": "^4.0.0",
+ "pify": "^3.0.0"
+ }
+ },
+ "supports-color": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
+ "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
+ }
+ }
+ },
"console-browserify": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz",
@@ -4872,16 +4970,6 @@
"fastparse": "^1.1.1"
}
},
- "css-vendor": {
- "version": "2.0.7",
- "resolved": "https://registry.npmjs.org/css-vendor/-/css-vendor-2.0.7.tgz",
- "integrity": "sha512-VS9Rjt79+p7M0WkPqcAza4Yq1ZHrsHrwf7hPL/bjQB+c1lwmAI+1FXxYTYt818D/50fFVflw0XKleiBN5RITkg==",
- "dev": true,
- "requires": {
- "@babel/runtime": "^7.6.2",
- "is-in-browser": "^1.0.2"
- }
- },
"cssesc": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/cssesc/-/cssesc-0.1.0.tgz",
@@ -5197,24 +5285,6 @@
"esutils": "^2.0.2"
}
},
- "dom-helpers": {
- "version": "5.1.3",
- "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.1.3.tgz",
- "integrity": "sha512-nZD1OtwfWGRBWlpANxacBEZrEuLa16o1nh7YopFWeoF68Zt8GGEmzHu6Xv4F3XaFIC+YXtTLrzgqKxFgLEe4jw==",
- "dev": true,
- "requires": {
- "@babel/runtime": "^7.6.3",
- "csstype": "^2.6.7"
- },
- "dependencies": {
- "csstype": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.9.tgz",
- "integrity": "sha512-xz39Sb4+OaTsULgUERcCk+TJj8ylkL4aSVDQiX/ksxbELSqwkgt4d4RD7fovIdgJGSuNYqwZEiVjYY5l0ask+Q==",
- "dev": true
- }
- }
- },
"dom-walk": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.1.tgz",
@@ -7175,15 +7245,6 @@
"minimalistic-crypto-utils": "^1.0.1"
}
},
- "hoist-non-react-statics": {
- "version": "3.3.2",
- "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz",
- "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==",
- "dev": true,
- "requires": {
- "react-is": "^16.7.0"
- }
- },
"hosted-git-info": {
"version": "2.6.0",
"resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.6.0.tgz",
@@ -7260,12 +7321,6 @@
}
}
},
- "hyphenate-style-name": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/hyphenate-style-name/-/hyphenate-style-name-1.0.3.tgz",
- "integrity": "sha512-EcuixamT82oplpoJ2XU4pDtKGWQ7b00CD9f1ug9IaQ3p1bkHMiKCZ9ut9QDI6qsa6cpUuB+A/I+zLtdNK4n2DQ==",
- "dev": true
- },
"iconv-lite": {
"version": "0.4.23",
"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz",
@@ -7658,12 +7713,6 @@
"is-extglob": "^2.1.1"
}
},
- "is-in-browser": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/is-in-browser/-/is-in-browser-1.1.3.tgz",
- "integrity": "sha1-Vv9NtoOgeMYILrldrX3GLh0E+DU=",
- "dev": true
- },
"is-number": {
"version": "7.0.0",
"resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
@@ -7984,91 +8033,6 @@
"verror": "1.10.0"
}
},
- "jss": {
- "version": "10.0.4",
- "resolved": "https://registry.npmjs.org/jss/-/jss-10.0.4.tgz",
- "integrity": "sha512-GqHmeDK83qbqMAVjxyPfN1qJVTKZne533a9bdCrllZukUM8npG/k+JumEPI86IIB5ifaZAHG2HAsUziyxOiooQ==",
- "dev": true,
- "requires": {
- "@babel/runtime": "^7.3.1",
- "csstype": "^2.6.5",
- "is-in-browser": "^1.1.3",
- "tiny-warning": "^1.0.2"
- }
- },
- "jss-plugin-camel-case": {
- "version": "10.0.4",
- "resolved": "https://registry.npmjs.org/jss-plugin-camel-case/-/jss-plugin-camel-case-10.0.4.tgz",
- "integrity": "sha512-+wnqxJsyfUnOn0LxVg3GgZBSjfBCrjxwx7LFxwVTUih0ceGaXKZoieheNOaTo5EM4w8bt1nbb8XonpQCj67C6A==",
- "dev": true,
- "requires": {
- "@babel/runtime": "^7.3.1",
- "hyphenate-style-name": "^1.0.3",
- "jss": "10.0.4"
- }
- },
- "jss-plugin-default-unit": {
- "version": "10.0.4",
- "resolved": "https://registry.npmjs.org/jss-plugin-default-unit/-/jss-plugin-default-unit-10.0.4.tgz",
- "integrity": "sha512-T0mhL/Ogp/quvod/jAHEqKvptLDxq7Cj3a+7zRuqK8HxUYkftptN89wJElZC3rshhNKiogkEYhCWenpJdFvTBg==",
- "dev": true,
- "requires": {
- "@babel/runtime": "^7.3.1",
- "jss": "10.0.4"
- }
- },
- "jss-plugin-global": {
- "version": "10.0.4",
- "resolved": "https://registry.npmjs.org/jss-plugin-global/-/jss-plugin-global-10.0.4.tgz",
- "integrity": "sha512-N8n9/GHENZce+sqE4UYiZiJtI+t+erT/BypHOrNYAfIoNEj7OYsOEKfIo2P0GpLB3QyDAYf5eo9XNdZ8veEkUA==",
- "dev": true,
- "requires": {
- "@babel/runtime": "^7.3.1",
- "jss": "10.0.4"
- }
- },
- "jss-plugin-nested": {
- "version": "10.0.4",
- "resolved": "https://registry.npmjs.org/jss-plugin-nested/-/jss-plugin-nested-10.0.4.tgz",
- "integrity": "sha512-QM21BKVt8LDeoRfowvAMh/s+/89VYrreIIE6ch4pvw0oAXDWw1iorUPlqLZ7uCO3UL0uFtQhJq3QMLN6Lr1v0A==",
- "dev": true,
- "requires": {
- "@babel/runtime": "^7.3.1",
- "jss": "10.0.4",
- "tiny-warning": "^1.0.2"
- }
- },
- "jss-plugin-props-sort": {
- "version": "10.0.4",
- "resolved": "https://registry.npmjs.org/jss-plugin-props-sort/-/jss-plugin-props-sort-10.0.4.tgz",
- "integrity": "sha512-WoETdOCjGskuin/OMt2uEdDPLZF3vfQuHXF+XUHGJrq0BAapoyGQDcv37SeReDlkRAbVXkEZPsIMvYrgHSHFiA==",
- "dev": true,
- "requires": {
- "@babel/runtime": "^7.3.1",
- "jss": "10.0.4"
- }
- },
- "jss-plugin-rule-value-function": {
- "version": "10.0.4",
- "resolved": "https://registry.npmjs.org/jss-plugin-rule-value-function/-/jss-plugin-rule-value-function-10.0.4.tgz",
- "integrity": "sha512-0hrzOSWRF5ABJGaHrlnHbYZjU877Ofzfh2id3uLtBvemGQLHI+ldoL8/+6iPSRa7M8z8Ngfg2vfYhKjUA5gA0g==",
- "dev": true,
- "requires": {
- "@babel/runtime": "^7.3.1",
- "jss": "10.0.4"
- }
- },
- "jss-plugin-vendor-prefixer": {
- "version": "10.0.4",
- "resolved": "https://registry.npmjs.org/jss-plugin-vendor-prefixer/-/jss-plugin-vendor-prefixer-10.0.4.tgz",
- "integrity": "sha512-4JgEbcrdeMda1qvxTm1CnxFJAWVV++VLpP46HNTrfH7VhVlvUpihnUNs2gAlKuRT/XSBuiWeLAkrTqF4NVrPig==",
- "dev": true,
- "requires": {
- "@babel/runtime": "^7.3.1",
- "css-vendor": "^2.0.7",
- "jss": "10.0.4"
- }
- },
"jsx-ast-utils": {
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-1.4.1.tgz",
@@ -8081,12 +8045,6 @@
"integrity": "sha512-FrLwOgm+iXrPV+5zDU6Jqu4gCRXbWEQg2O3SKONsWE4w7AXFRkryS53bpWdaL9cNol+AmR3AEYz6kn+o0fCPnw==",
"dev": true
},
- "keycode": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/keycode/-/keycode-2.2.0.tgz",
- "integrity": "sha1-PQr1bce4uOXLqNCpfxByBO7CKwQ=",
- "dev": true
- },
"kind-of": {
"version": "3.2.2",
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
@@ -10797,12 +10755,6 @@
"integrity": "sha512-ARhBOdzS3e41FbkW/XWrTEtukqqLoK5+Z/4UeDaLuSW+39JPeFgs4gCGqsrJHVZX0fUrx//4OF0K1CUGwlIFow==",
"dev": true
},
- "popper.js": {
- "version": "1.16.1",
- "resolved": "https://registry.npmjs.org/popper.js/-/popper.js-1.16.1.tgz",
- "integrity": "sha512-Wb4p1J4zyFTbM+u6WuO4XstYx4Ky9Cewe4DWrel7B0w6VVICvPwdOpotjzcf6eD8TsckVnIMNONQyPIUFOUbCQ==",
- "dev": true
- },
"posix-character-classes": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz",
@@ -11491,27 +11443,6 @@
}
}
},
- "prop-types-extra": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/prop-types-extra/-/prop-types-extra-1.1.1.tgz",
- "integrity": "sha512-59+AHNnHYCdiC+vMwY52WmvP5dM3QLeoumYuEyceQDi9aEhtwN9zIQ2ZNo25sMyXnbh32h+P1ezDsUpUH3JAew==",
- "dev": true,
- "requires": {
- "react-is": "^16.3.2",
- "warning": "^4.0.0"
- },
- "dependencies": {
- "warning": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/warning/-/warning-4.0.3.tgz",
- "integrity": "sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==",
- "dev": true,
- "requires": {
- "loose-envify": "^1.0.0"
- }
- }
- }
- },
"proxy-addr": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.3.tgz",
@@ -11776,58 +11707,6 @@
}
}
},
- "react-bootstrap": {
- "version": "0.33.1",
- "resolved": "https://registry.npmjs.org/react-bootstrap/-/react-bootstrap-0.33.1.tgz",
- "integrity": "sha512-qWTRravSds87P8WC82tETy2yIso8qDqlIm0czsrduCaYAFtHuyLu0XDbUlfLXeRzqgwm5sRk2wRaTNoiVkk/YQ==",
- "dev": true,
- "requires": {
- "@babel/runtime-corejs2": "^7.0.0",
- "classnames": "^2.2.5",
- "dom-helpers": "^3.2.0",
- "invariant": "^2.2.4",
- "keycode": "^2.2.0",
- "prop-types": "^15.6.1",
- "prop-types-extra": "^1.0.1",
- "react-overlays": "^0.9.0",
- "react-prop-types": "^0.4.0",
- "react-transition-group": "^2.0.0",
- "uncontrollable": "^7.0.2",
- "warning": "^3.0.0"
- },
- "dependencies": {
- "dom-helpers": {
- "version": "3.4.0",
- "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-3.4.0.tgz",
- "integrity": "sha512-LnuPJ+dwqKDIyotW1VzmOZ5TONUN7CwkCR5hrgawTUbkBGYdeoNLZo6nNfGkCrjtE1nXXaj7iMMpDa8/d9WoIA==",
- "dev": true,
- "requires": {
- "@babel/runtime": "^7.1.2"
- }
- },
- "loose-envify": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
- "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
- "dev": true,
- "requires": {
- "js-tokens": "^3.0.0 || ^4.0.0"
- }
- },
- "react-transition-group": {
- "version": "2.9.0",
- "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-2.9.0.tgz",
- "integrity": "sha512-+HzNTCHpeQyl4MJ/bdE0u6XRMe9+XG/+aL4mCxVN4DnPBQ0/5bfHWPDuOZUzYdMj94daZaZdCCc1Dzt9R/xSSg==",
- "dev": true,
- "requires": {
- "dom-helpers": "^3.4.0",
- "loose-envify": "^1.4.0",
- "prop-types": "^15.6.2",
- "react-lifecycles-compat": "^3.0.4"
- }
- }
- }
- },
"react-codemirror2": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/react-codemirror2/-/react-codemirror2-4.3.0.tgz",
@@ -11876,38 +11755,11 @@
}
}
},
- "react-frame-component": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/react-frame-component/-/react-frame-component-4.1.1.tgz",
- "integrity": "sha512-NfJp90AvYA1R6+uSYafQ+n+UM2HjHqi4WGHeprVXa6quU9d8o6ZFRzQ36uemY82dlkZFzf2jigFx6E4UzNFajA==",
- "dev": true
- },
"react-is": {
"version": "16.9.0",
"resolved": "https://registry.npmjs.org/react-is/-/react-is-16.9.0.tgz",
"integrity": "sha512-tJBzzzIgnnRfEm046qRcURvwQnZVXmuCbscxUO5RWrGTXpon2d4c8mI0D8WE6ydVIm29JiLB6+RslkIvym9Rjw=="
},
- "react-jsonschema-form": {
- "version": "2.0.0-alpha.1",
- "resolved": "https://registry.npmjs.org/react-jsonschema-form/-/react-jsonschema-form-2.0.0-alpha.1.tgz",
- "integrity": "sha512-AYpV2/dKMSNwddzrBCJjuGdbZ5jd6mD17f3tq3dzWXiK1lwb0H485u80VlKuiyvTosaMjwWtyvXhO7jXtUu7oA==",
- "dev": true,
- "requires": {
- "@babel/runtime-corejs2": "^7.4.5",
- "ajv": "^6.7.0",
- "core-js": "^2.5.7",
- "lodash": "^4.17.15",
- "prop-types": "^15.7.2",
- "react-is": "^16.9.0",
- "shortid": "^2.2.14"
- }
- },
- "react-lifecycles-compat": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz",
- "integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==",
- "dev": true
- },
"react-monaco-editor": {
"version": "0.26.2",
"resolved": "https://registry.npmjs.org/react-monaco-editor/-/react-monaco-editor-0.26.2.tgz",
@@ -11941,52 +11793,6 @@
}
}
},
- "react-overlays": {
- "version": "0.9.1",
- "resolved": "https://registry.npmjs.org/react-overlays/-/react-overlays-0.9.1.tgz",
- "integrity": "sha512-b0asy/zHtRd0i2+2/uNxe3YVprF3bRT1guyr791DORjCzE/HSBMog+ul83CdtKQ1kZ+pLnxWCu5W3BMysFhHdQ==",
- "dev": true,
- "requires": {
- "classnames": "^2.2.5",
- "dom-helpers": "^3.2.1",
- "prop-types": "^15.5.10",
- "prop-types-extra": "^1.0.1",
- "react-transition-group": "^2.2.1",
- "warning": "^3.0.0"
- },
- "dependencies": {
- "dom-helpers": {
- "version": "3.4.0",
- "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-3.4.0.tgz",
- "integrity": "sha512-LnuPJ+dwqKDIyotW1VzmOZ5TONUN7CwkCR5hrgawTUbkBGYdeoNLZo6nNfGkCrjtE1nXXaj7iMMpDa8/d9WoIA==",
- "dev": true,
- "requires": {
- "@babel/runtime": "^7.1.2"
- }
- },
- "loose-envify": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
- "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
- "dev": true,
- "requires": {
- "js-tokens": "^3.0.0 || ^4.0.0"
- }
- },
- "react-transition-group": {
- "version": "2.9.0",
- "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-2.9.0.tgz",
- "integrity": "sha512-+HzNTCHpeQyl4MJ/bdE0u6XRMe9+XG/+aL4mCxVN4DnPBQ0/5bfHWPDuOZUzYdMj94daZaZdCCc1Dzt9R/xSSg==",
- "dev": true,
- "requires": {
- "dom-helpers": "^3.4.0",
- "loose-envify": "^1.4.0",
- "prop-types": "^15.6.2",
- "react-lifecycles-compat": "^3.0.4"
- }
- }
- }
- },
"react-portal": {
"version": "4.2.0",
"resolved": "https://registry.npmjs.org/react-portal/-/react-portal-4.2.0.tgz",
@@ -11996,15 +11802,6 @@
"prop-types": "^15.5.8"
}
},
- "react-prop-types": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/react-prop-types/-/react-prop-types-0.4.0.tgz",
- "integrity": "sha1-+ZsL+0AGkpya8gUefBQUpcdbk9A=",
- "dev": true,
- "requires": {
- "warning": "^3.0.0"
- }
- },
"react-proxy": {
"version": "1.1.8",
"resolved": "https://registry.npmjs.org/react-proxy/-/react-proxy-1.1.8.tgz",
@@ -12031,29 +11828,6 @@
"react-proxy": "^1.1.7"
}
},
- "react-transition-group": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.3.0.tgz",
- "integrity": "sha512-1qRV1ZuVSdxPlPf4O8t7inxUGpdyO5zG9IoNfJxSO0ImU2A1YWkEQvFPuIPZmMLkg5hYs7vv5mMOyfgSkvAwvw==",
- "dev": true,
- "requires": {
- "@babel/runtime": "^7.5.5",
- "dom-helpers": "^5.0.1",
- "loose-envify": "^1.4.0",
- "prop-types": "^15.6.2"
- },
- "dependencies": {
- "loose-envify": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
- "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
- "dev": true,
- "requires": {
- "js-tokens": "^3.0.0 || ^4.0.0"
- }
- }
- }
- },
"read-pkg": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz",
@@ -12373,12 +12147,6 @@
"inherits": "^2.0.1"
}
},
- "rjsf-material-ui": {
- "version": "0.3.9",
- "resolved": "https://registry.npmjs.org/rjsf-material-ui/-/rjsf-material-ui-0.3.9.tgz",
- "integrity": "sha512-DARQdyHCO/7WG1Pxs2f0V5Yx2tTtktOaxExZPdcL8II3oQsrZEMTmSUCFbzT860to2UNCWkbrIsrHnMJH/O98g==",
- "dev": true
- },
"run-async": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz",
@@ -12813,6 +12581,12 @@
}
}
},
+ "spawn-command": {
+ "version": "0.0.2-1",
+ "resolved": "https://registry.npmjs.org/spawn-command/-/spawn-command-0.0.2-1.tgz",
+ "integrity": "sha1-YvXpRmmBwbeW3Fkpk34RycaSG9A=",
+ "dev": true
+ },
"spdx-correct": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.0.0.tgz",
@@ -13241,12 +13015,6 @@
"setimmediate": "^1.0.4"
}
},
- "tiny-warning": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/tiny-warning/-/tiny-warning-1.0.3.tgz",
- "integrity": "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==",
- "dev": true
- },
"tmp": {
"version": "0.0.33",
"resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz",
@@ -13325,6 +13093,12 @@
"integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=",
"dev": true
},
+ "tree-kill": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz",
+ "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==",
+ "dev": true
+ },
"trim-right": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz",
@@ -13484,30 +13258,6 @@
}
}
},
- "uncontrollable": {
- "version": "7.1.1",
- "resolved": "https://registry.npmjs.org/uncontrollable/-/uncontrollable-7.1.1.tgz",
- "integrity": "sha512-EcPYhot3uWTS3w00R32R2+vS8Vr53tttrvMj/yA1uYRhf8hbTG2GyugGqWDY0qIskxn0uTTojVd6wPYW9ZEf8Q==",
- "dev": true,
- "requires": {
- "@babel/runtime": "^7.6.3",
- "@types/react": "^16.9.11",
- "invariant": "^2.2.4",
- "react-lifecycles-compat": "^3.0.4"
- },
- "dependencies": {
- "@types/react": {
- "version": "16.9.23",
- "resolved": "https://registry.npmjs.org/@types/react/-/react-16.9.23.tgz",
- "integrity": "sha512-SsGVT4E7L2wLN3tPYLiF20hmZTPGuzaayVunfgXzUn1x4uHVsKH6QDJQ/TdpHqwsTLd4CwrmQ2vOgxN7gE24gw==",
- "dev": true,
- "requires": {
- "@types/prop-types": "*",
- "csstype": "^2.2.0"
- }
- }
- }
- },
"unicode-canonical-property-names-ecmascript": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz",
@@ -13802,15 +13552,6 @@
"indexof": "0.0.1"
}
},
- "warning": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/warning/-/warning-3.0.0.tgz",
- "integrity": "sha1-MuU3fLVy3kqwR1O9+IIcAe1gW3w=",
- "dev": true,
- "requires": {
- "loose-envify": "^1.0.0"
- }
- },
"watchpack": {
"version": "1.6.0",
"resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.6.0.tgz",
@@ -14902,6 +14643,12 @@
"isexe": "^2.0.0"
}
},
+ "which-module": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz",
+ "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=",
+ "dev": true
+ },
"wordwrap": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz",
@@ -14999,6 +14746,135 @@
"resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz",
"integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=",
"dev": true
+ },
+ "yargs": {
+ "version": "13.3.0",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.0.tgz",
+ "integrity": "sha512-2eehun/8ALW8TLoIl7MVaRUrg+yCnenu8B4kBlRxj3GJGDKU1Og7sMXPNm1BYyM1DOJmTZ4YeN/Nwxv+8XJsUA==",
+ "dev": true,
+ "requires": {
+ "cliui": "^5.0.0",
+ "find-up": "^3.0.0",
+ "get-caller-file": "^2.0.1",
+ "require-directory": "^2.1.1",
+ "require-main-filename": "^2.0.0",
+ "set-blocking": "^2.0.0",
+ "string-width": "^3.0.0",
+ "which-module": "^2.0.0",
+ "y18n": "^4.0.0",
+ "yargs-parser": "^13.1.1"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
+ "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
+ "dev": true
+ },
+ "emoji-regex": {
+ "version": "7.0.3",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz",
+ "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==",
+ "dev": true
+ },
+ "find-up": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz",
+ "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==",
+ "dev": true,
+ "requires": {
+ "locate-path": "^3.0.0"
+ }
+ },
+ "get-caller-file": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
+ "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
+ "dev": true
+ },
+ "locate-path": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz",
+ "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==",
+ "dev": true,
+ "requires": {
+ "p-locate": "^3.0.0",
+ "path-exists": "^3.0.0"
+ }
+ },
+ "p-limit": {
+ "version": "2.2.2",
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.2.tgz",
+ "integrity": "sha512-WGR+xHecKTr7EbUEhyLSh5Dube9JtdiG78ufaeLxTgpudf/20KqyMioIUZJAezlTIi6evxuoUs9YXc11cU+yzQ==",
+ "dev": true,
+ "requires": {
+ "p-try": "^2.0.0"
+ }
+ },
+ "p-locate": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz",
+ "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==",
+ "dev": true,
+ "requires": {
+ "p-limit": "^2.0.0"
+ }
+ },
+ "p-try": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
+ "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
+ "dev": true
+ },
+ "path-exists": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
+ "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=",
+ "dev": true
+ },
+ "require-main-filename": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz",
+ "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==",
+ "dev": true
+ },
+ "string-width": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
+ "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
+ "dev": true,
+ "requires": {
+ "emoji-regex": "^7.0.1",
+ "is-fullwidth-code-point": "^2.0.0",
+ "strip-ansi": "^5.1.0"
+ }
+ },
+ "strip-ansi": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
+ "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^4.1.0"
+ }
+ },
+ "y18n": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz",
+ "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==",
+ "dev": true
+ }
+ }
+ },
+ "yargs-parser": {
+ "version": "13.1.1",
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.1.tgz",
+ "integrity": "sha512-oVAVsHz6uFrg3XQheFII8ESO2ssAf9luWuAd6Wexsu4F3OtIW0o8IribPXYrD4WC24LWtPrJlGy87y5udK+dxQ==",
+ "dev": true,
+ "requires": {
+ "camelcase": "^5.0.0",
+ "decamelize": "^1.2.0"
+ }
}
}
}
diff --git a/packages/core/package.json b/packages/core/package.json
index 7cf6799a66..71eddaaa94 100644
--- a/packages/core/package.json
+++ b/packages/core/package.json
@@ -3,32 +3,35 @@
"version": "2.0.0-alpha.2",
"description": "A simple React component capable of building HTML forms out of a JSON schema.",
"scripts": {
- "build:lib": "rimraf lib && cross-env NODE_ENV=production babel -d lib/ src/",
- "build:dist": "rimraf dist && cross-env NODE_ENV=production webpack --config webpack.config.dist.js",
- "cs-check": "prettier -l \"{playground,src,test}/**/*.js\"",
- "cs-format": "prettier \"{playground,src,test}/**/*.js\" --write",
- "dist": "npm run build:lib && npm run build:dist",
- "lint": "eslint src test playground",
+ "build": "npm run dist:build:umd && npm run build:cjs && npm run build:es && npm run dist:build:es:lib",
+ "build:cjs": "cross-env NODE_ENV=production BABEL_ENV=cjs babel --extensions \".js,.jsx,.ts,.tsx\" ./src --out-dir ./dist/cjs",
+ "build:es": "cross-env NODE_ENV=production BABEL_ENV=es babel --extensions \".js,.jsx,.ts,.tsx\" ./src --out-dir ./dist/es",
+ "dist:build:es:lib": "cross-env NODE_ENV=production BABEL_ENV=es babel --extensions \".js,.jsx,.ts,.tsx\" ./src --out-dir ./lib",
+ "dist:build:umd": "rimraf dist && cross-env NODE_ENV=production BABEL_ENV=umd webpack --config webpack.config.dist.js",
+ "cs-check": "prettier -l \"{src,test}/**/*.js\"",
+ "cs-format": "prettier \"{src,test}/**/*.js\" --write",
+ "lint": "eslint src test",
"precommit": "lint-staged",
- "publish-to-npm": "npm run dist && npm publish",
- "preversion": "npm run build:playground && npm run dist && npm run cs-check && npm run lint",
- "start": "node devServer.js",
+ "publish-to-npm": "npm run build && npm publish",
+ "preversion": "npm run build && npm run cs-check && npm run lint",
+ "start": "concurrently \"npm:build:* -- --watch\"",
"tdd": "cross-env NODE_ENV=test mocha --require @babel/register --watch --require ./test/setup-jsdom.js test/**/*_test.js",
"test": "cross-env NODE_ENV=test mocha --require @babel/register --require ./test/setup-jsdom.js test/**/*_test.js",
"test-coverage": "cross-env NODE_ENV=test nyc --reporter=lcov mocha --require @babel/register --require ./test/setup-jsdom.js test/**/*_test.js",
"test-debug": "cross-env NODE_ENV=test mocha --require @babel/register --require ./test/setup-jsdom.js --debug-brk --inspect test/Form_test.js"
},
"lint-staged": {
- "{playground,src,test}/**/*.js": [
+ "{src,test}/**/*.js": [
"eslint --fix",
"prettier --write",
"git add"
]
},
- "main": "lib/index.js",
+ "main": "dist/cjs/index.js",
+ "module": "dist/es/index.js",
+ "typings": "index.d.ts",
"files": [
- "dist",
- "lib"
+ "dist"
],
"engineStrict": false,
"engines": {
@@ -39,7 +42,7 @@
"react": ">=16"
},
"dependencies": {
- "@babel/runtime-corejs2": "^7.4.5",
+ "@types/json-schema": "^7.0.4",
"ajv": "^6.7.0",
"core-js": "^2.5.7",
"json-schema-merge-allof": "^0.6.0",
@@ -55,17 +58,20 @@
"@babel/core": "^7.4.5",
"@babel/plugin-proposal-class-properties": "^7.4.4",
"@babel/plugin-proposal-object-rest-spread": "^7.4.4",
+ "@babel/plugin-proposal-optional-chaining": "^7.8.3",
+ "@babel/plugin-transform-object-assign": "^7.8.3",
"@babel/plugin-transform-react-jsx": "^7.3.0",
"@babel/plugin-transform-runtime": "^7.4.4",
"@babel/preset-env": "^7.4.5",
"@babel/preset-react": "^7.0.0",
"@babel/register": "^7.4.4",
- "@rjsf/playground": "^2.0.0-alpha.2.2",
+ "@babel/runtime-corejs2": "^7.8.7",
"atob": "^2.0.3",
"babel-eslint": "^10.0.1",
"babel-loader": "^8.0.6",
"chai": "^3.3.0",
"codemirror": "^5.30.0",
+ "concurrently": "^5.1.0",
"create-react-ref": "^0.1.0",
"cross-env": "^2.0.1",
"css-loader": "^0.23.1",
@@ -123,5 +129,6 @@
"homepage": "https://github.com/mozilla-services/react-jsonschema-form#readme",
"publishConfig": {
"access": "public"
- }
+ },
+ "types": "index.d.ts"
}
diff --git a/packages/core/playground/app.js b/packages/core/playground/app.js
deleted file mode 100644
index dcfa814bc4..0000000000
--- a/packages/core/playground/app.js
+++ /dev/null
@@ -1,13 +0,0 @@
-import React from "react";
-import { render } from "react-dom";
-import Playground from "@rjsf/playground";
-
-const themes = {
- default: {
- stylesheet:
- "//maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css",
- theme: {},
- },
-};
-
-render( , document.getElementById("app"));
diff --git a/packages/core/playground/index.html b/packages/core/playground/index.html
deleted file mode 100644
index ad4914bba9..0000000000
--- a/packages/core/playground/index.html
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-
-
-
-
- react-jsonschema-form playground
-
-
-
-
-
-
-
diff --git a/packages/core/webpack.config.dev.js b/packages/core/webpack.config.dev.js
deleted file mode 100644
index e8d51567f1..0000000000
--- a/packages/core/webpack.config.dev.js
+++ /dev/null
@@ -1,58 +0,0 @@
-var path = require("path");
-var webpack = require("webpack");
-const MonacoWebpackPlugin = require('monaco-editor-webpack-plugin');
-
-module.exports = {
- mode: "development",
- devtool: "source-map",
- entry: [
- "webpack-hot-middleware/client?reload=true",
- "./playground/app"
- ],
- output: {
- path: path.join(__dirname, "build"),
- filename: "bundle.js",
- publicPath: "/static/"
- },
- plugins: [
- new MonacoWebpackPlugin({
- languages: ['json']
- }),
- new webpack.HotModuleReplacementPlugin(),
- ],
- resolve: {
- symlinks: false,
- alias: {
- react: path.resolve('./node_modules/react'),
- 'react-dom': path.resolve('./node_modules/react-dom')
- }
- },
- module: {
- rules: [
- {
- test: /\.jsx?$/,
- use: [
- "babel-loader",
- ],
- include: [
- path.join(__dirname, "src"),
- path.join(__dirname, "playground"),
- path.join(__dirname, "node_modules", "codemirror", "mode", "javascript"),
- ]
- },
- {
- test: /\.css$/,
- use: [
- "style-loader",
- "css-loader",
- ],
- include: [
- path.join(__dirname, "css"),
- path.join(__dirname, "playground"),
- path.join(__dirname, "node_modules", "monaco-editor"),
- path.join(__dirname, "node_modules", "@rjsf/playground", "node_modules", "monaco-editor"),
- ],
- },
- ]
- }
-};
diff --git a/packages/material-ui/.gitignore b/packages/material-ui/.gitignore
new file mode 100644
index 0000000000..5e53b67c9a
--- /dev/null
+++ b/packages/material-ui/.gitignore
@@ -0,0 +1 @@
+.rts2_**
\ No newline at end of file
diff --git a/packages/material-ui/README.md b/packages/material-ui/README.md
index e03084b347..f801576660 100644
--- a/packages/material-ui/README.md
+++ b/packages/material-ui/README.md
@@ -1,25 +1,3 @@
-
-
-
-
-
-[![Build Status][build-shield]][build-url]
-[![npm][npm-shield]][npm-url]
-[![npm downloads][npm-dl-shield]][npm-dl-url]
-[![Contributors][contributors-shield]][contributors-url]
-[![MIT License][license-shield]][license-url]
-
@@ -27,37 +5,22 @@
-
rjsf-material-ui
+ @rjsf/material-ui
Material-UI theme, fields and widgets for react-jsonschema-form
.
- Explore the docs »
+ Explore the docs »
- View Playground
+ View Playground
·
- Report Bug
+ Report Bug
·
- Request Feature
+ Request Feature
-
-
-## Table of Contents
-
-- [About the Project](#about-the-project)
- - [Built With](#built-with)
-- [Getting Started](#getting-started)
- - [Prerequisites](#prerequisites)
- - [Installation](#installation)
-- [Usage](#usage)
-- [Roadmap](#roadmap)
-- [Contributing](#contributing)
-- [License](#license)
-- [Contact](#contact)
-
## About The Project
@@ -80,60 +43,32 @@ Exports `material-ui` theme, fields and widgets for `react-jsonschema-form`.
- `@material-ui/core >= 4.2.0` ([in 4.2.0, the `slider` component was added to the core](https://github.com/mui-org/material-ui/pull/16416))
- `@material-ui/icons`
-- `react-jsonschema-form >= 1.6.0` ([in 1.6.0, the `withTheme` HOC was added](https://github.com/mozilla-services/react-jsonschema-form/pull/1226))
+- `@rjsf/core >= 2.0.0`
```sh
-yarn add @material-ui/core @material-ui/icons react-jsonschema-form
+yarn add @material-ui/core @material-ui/icons @rjsf/core
```
### Installation
```sh
-yarn add rjsf-material-ui
+yarn add @rjsf/material-ui
```
-
-
## Usage
```javascript
-import { withTheme } from 'react-jsonschema-form';
-import { Theme as MuiTheme } from 'rjsf-material-ui';
-
-const Form = withTheme(MuiTheme);
+import Form from '@rjsf/material-ui';
```
or
```javascript
-import MuiForm from 'rjsf-material-ui';
-```
-
-
-
-## Roadmap
+import { withTheme } from '@rjsf/core';
+import { Theme as MuiTheme } from '@rjsf/material-ui';
-See the [open issues](https://cybertec-postgresql.github.io/rjsf-material-ui/issues) for a list of proposed features (and known issues).
-
-
-
-## Contributing
-
-Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are **greatly appreciated**.
-
-1. Fork the Project
-2. Create your Feature Branch (`git checkout -b feature/AmazingFeature`)
-3. Commit your Changes (`git commit -m 'Add some AmazingFeature'`)
-4. Push to the Branch (`git push origin feature/AmazingFeature`)
-5. Open a Pull Request
-
-
-
-## Contact
-
-Cybertec TEAM - [@postgressupport](https://twitter.com/postgressupport) - office@cybertec.at - https://www.cybertec-postgresql.com
-
-Project Link: [https://cybertec-postgresql.github.io/rjsf-material-ui](https://cybertec-postgresql.github.io/rjsf-material-ui)
+const Form = withTheme(MuiTheme);
+```
@@ -148,4 +83,4 @@ Project Link: [https://cybertec-postgresql.github.io/rjsf-material-ui](https://c
[npm-url]: https://www.npmjs.com/package/rjsf-material-ui
[npm-dl-shield]: https://img.shields.io/npm/dm/rjsf-material-ui.svg?style=flat-square
[npm-dl-url]: https://www.npmjs.com/package/rjsf-material-ui
-[product-screenshot]: https://raw.githubusercontent.com/cybertec-postgresql/rjsf-material-ui/master/screenshot.png
+[product-screenshot]: https://raw.githubusercontent.com/cybertec-postgresql/rjsf-material-ui/master/screenshot.png
\ No newline at end of file
diff --git a/packages/material-ui/package-lock.json b/packages/material-ui/package-lock.json
index cd556ef34f..ee5bec109a 100644
--- a/packages/material-ui/package-lock.json
+++ b/packages/material-ui/package-lock.json
@@ -1330,6 +1330,23 @@
"react-is": "^16.8.6"
}
},
+ "@rjsf/core": {
+ "version": "2.0.0-alpha.2",
+ "resolved": "https://registry.npmjs.org/@rjsf/core/-/core-2.0.0-alpha.2.tgz",
+ "integrity": "sha512-GtciK9Qn4wAm4mvfakvumfW7NJyYZi7r6mjC+6JY2aAxpbIWsOHD2bzo3dhMI6ql5D1QCplUqFMy0vo6OHxXUQ==",
+ "dev": true,
+ "requires": {
+ "@babel/runtime-corejs2": "^7.4.5",
+ "ajv": "^6.7.0",
+ "core-js": "^2.5.7",
+ "json-schema-merge-allof": "^0.6.0",
+ "lodash": "^4.17.15",
+ "prop-types": "^15.7.2",
+ "react-app-polyfill": "^1.0.4",
+ "react-is": "^16.9.0",
+ "shortid": "^2.2.14"
+ }
+ },
"@rollup/plugin-commonjs": {
"version": "11.0.2",
"resolved": "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-11.0.2.tgz",
@@ -1563,9 +1580,9 @@
"dev": true
},
"@types/react": {
- "version": "16.9.11",
- "resolved": "https://registry.npmjs.org/@types/react/-/react-16.9.11.tgz",
- "integrity": "sha1-cOC3rXkFinhC8lzPKZmAcHatoSA=",
+ "version": "16.9.23",
+ "resolved": "https://registry.npmjs.org/@types/react/-/react-16.9.23.tgz",
+ "integrity": "sha512-SsGVT4E7L2wLN3tPYLiF20hmZTPGuzaayVunfgXzUn1x4uHVsKH6QDJQ/TdpHqwsTLd4CwrmQ2vOgxN7gE24gw==",
"dev": true,
"requires": {
"@types/prop-types": "*",
@@ -1573,21 +1590,11 @@
}
},
"@types/react-dom": {
- "version": "16.9.3",
- "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-16.9.3.tgz",
- "integrity": "sha512-FUuZKXPr9qlzUT9lhuzrZgLjH63TvNn28Ch3MvKG4B+F52zQtO8DtE0Opbncy3xaucNZM2WIPfuNTgkbKx5Brg==",
- "dev": true,
- "requires": {
- "@types/react": "*"
- }
- },
- "@types/react-jsonschema-form": {
- "version": "1.6.5",
- "resolved": "https://registry.npmjs.org/@types/react-jsonschema-form/-/react-jsonschema-form-1.6.5.tgz",
- "integrity": "sha512-cE7dHz00jp0OzplQlP4p/3460jJLdXskXh45O0m7thnqqbilxPi77P7fOEeVxmbSHEA4tSRqLK/9cbHuthdhKA==",
+ "version": "16.9.5",
+ "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-16.9.5.tgz",
+ "integrity": "sha512-BX6RQ8s9D+2/gDhxrj8OW+YD4R+8hj7FEM/OJHGNR0KipE1h1mSsf39YeyC81qafkq+N3rU3h3RFbLSwE5VqUg==",
"dev": true,
"requires": {
- "@types/json-schema": "*",
"@types/react": "*"
}
},
@@ -2131,6 +2138,12 @@
"integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=",
"dev": true
},
+ "asap": {
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz",
+ "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=",
+ "dev": true
+ },
"asn1": {
"version": "0.2.4",
"resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz",
@@ -3354,6 +3367,29 @@
"integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==",
"dev": true
},
+ "compute-gcd": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/compute-gcd/-/compute-gcd-1.2.0.tgz",
+ "integrity": "sha1-/B7eW2UAHpUCJlAvRlQ4Y+T+oQ4=",
+ "dev": true,
+ "requires": {
+ "validate.io-array": "^1.0.3",
+ "validate.io-function": "^1.0.2",
+ "validate.io-integer-array": "^1.0.0"
+ }
+ },
+ "compute-lcm": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/compute-lcm/-/compute-lcm-1.1.0.tgz",
+ "integrity": "sha1-q9ltBAtBsKFm+JlEtci3xRHiGtU=",
+ "dev": true,
+ "requires": {
+ "compute-gcd": "^1.2.0",
+ "validate.io-array": "^1.0.3",
+ "validate.io-function": "^1.0.2",
+ "validate.io-integer-array": "^1.0.0"
+ }
+ },
"concat-map": {
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
@@ -7167,6 +7203,26 @@
"integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=",
"dev": true
},
+ "json-schema-compare": {
+ "version": "0.2.2",
+ "resolved": "https://registry.npmjs.org/json-schema-compare/-/json-schema-compare-0.2.2.tgz",
+ "integrity": "sha512-c4WYmDKyJXhs7WWvAWm3uIYnfyWFoIp+JEoX34rctVvEkMYCPGhXtvmFFXiffBbxfZsvQ0RNnV5H7GvDF5HCqQ==",
+ "dev": true,
+ "requires": {
+ "lodash": "^4.17.4"
+ }
+ },
+ "json-schema-merge-allof": {
+ "version": "0.6.0",
+ "resolved": "https://registry.npmjs.org/json-schema-merge-allof/-/json-schema-merge-allof-0.6.0.tgz",
+ "integrity": "sha512-LEw4VMQVRceOPLuGRWcxW5orTTiR9ZAtqTAe4rQUjNADTeR81bezBVFa0MqIwp0YmHIM1KkhSjZM7o+IQhaPbQ==",
+ "dev": true,
+ "requires": {
+ "compute-lcm": "^1.1.0",
+ "json-schema-compare": "^0.2.2",
+ "lodash": "^4.17.4"
+ }
+ },
"json-schema-traverse": {
"version": "0.4.1",
"resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
@@ -8159,9 +8215,9 @@
"optional": true
},
"nanoid": {
- "version": "2.1.6",
- "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-2.1.6.tgz",
- "integrity": "sha1-BmVBj2kuVM9E801AEHYfMkCgMxQ=",
+ "version": "2.1.11",
+ "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-2.1.11.tgz",
+ "integrity": "sha512-s/snB+WGm6uwi0WjsZdaVcuf3KJXlfGl2LcxgwkEwJF0D/BWzVWAZW/XY4bFaiR7s0Jk3FPvlnepg1H1b1UwlA==",
"dev": true
},
"nanomatch": {
@@ -9420,6 +9476,15 @@
}
}
},
+ "promise": {
+ "version": "8.1.0",
+ "resolved": "https://registry.npmjs.org/promise/-/promise-8.1.0.tgz",
+ "integrity": "sha512-W04AqnILOL/sPRXziNicCjSNRruLAuIHEOVBazepu0545DDNGYHz7ar9ZgZ1fMU8/MA4mVxp5rkBWRi6OXIy3Q==",
+ "dev": true,
+ "requires": {
+ "asap": "~2.0.6"
+ }
+ },
"prompts": {
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/prompts/-/prompts-2.3.1.tgz",
@@ -9481,6 +9546,15 @@
"integrity": "sha1-Q2CxfGETatOAeDl/8RQW4Ybc+7g=",
"dev": true
},
+ "raf": {
+ "version": "3.4.1",
+ "resolved": "https://registry.npmjs.org/raf/-/raf-3.4.1.tgz",
+ "integrity": "sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==",
+ "dev": true,
+ "requires": {
+ "performance-now": "^2.1.0"
+ }
+ },
"rc": {
"version": "1.2.8",
"resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz",
@@ -9504,6 +9578,28 @@
"prop-types": "^15.6.2"
}
},
+ "react-app-polyfill": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/react-app-polyfill/-/react-app-polyfill-1.0.6.tgz",
+ "integrity": "sha512-OfBnObtnGgLGfweORmdZbyEz+3dgVePQBb3zipiaDsMHV1NpWm0rDFYIVXFV/AK+x4VIIfWHhrdMIeoTLyRr2g==",
+ "dev": true,
+ "requires": {
+ "core-js": "^3.5.0",
+ "object-assign": "^4.1.1",
+ "promise": "^8.0.3",
+ "raf": "^3.4.1",
+ "regenerator-runtime": "^0.13.3",
+ "whatwg-fetch": "^3.0.0"
+ },
+ "dependencies": {
+ "core-js": {
+ "version": "3.6.4",
+ "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.6.4.tgz",
+ "integrity": "sha512-4paDGScNgZP2IXXilaffL9X7968RuvwlkK3xWtZRVqgd8SYNiVKRJvkFd1aqqEuPfN7E68ZHEp9hDj6lHj4Hyw==",
+ "dev": true
+ }
+ }
+ },
"react-dom": {
"version": "16.11.0",
"resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.11.0.tgz",
@@ -9522,28 +9618,6 @@
"integrity": "sha1-uF3+zUitHORp/1WKiCyo6DE5KPo=",
"dev": true
},
- "react-jsonschema-form": {
- "version": "1.8.0",
- "resolved": "https://registry.npmjs.org/react-jsonschema-form/-/react-jsonschema-form-1.8.0.tgz",
- "integrity": "sha1-eRHVB0Yo1TANgsjczbsNZqUVcT4=",
- "dev": true,
- "requires": {
- "@babel/runtime-corejs2": "^7.4.5",
- "ajv": "^6.7.0",
- "core-js": "^2.5.7",
- "lodash": "^4.17.15",
- "prop-types": "^15.5.8",
- "react-is": "^16.8.4",
- "react-lifecycles-compat": "^3.0.4",
- "shortid": "^2.2.14"
- }
- },
- "react-lifecycles-compat": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz",
- "integrity": "sha1-TxonOv38jzSIqMUWv9p4+HI1I2I=",
- "dev": true
- },
"react-transition-group": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.3.0.tgz",
@@ -11779,6 +11853,43 @@
"builtins": "^1.0.3"
}
},
+ "validate.io-array": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/validate.io-array/-/validate.io-array-1.0.6.tgz",
+ "integrity": "sha1-W1osr9j4uFq7L4hroVPy2Tond00=",
+ "dev": true
+ },
+ "validate.io-function": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/validate.io-function/-/validate.io-function-1.0.2.tgz",
+ "integrity": "sha1-NDoZgC7TsZaCaceA5VjpNBHAutc=",
+ "dev": true
+ },
+ "validate.io-integer": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/validate.io-integer/-/validate.io-integer-1.0.5.tgz",
+ "integrity": "sha1-FoSWSAuVviJH7EQ/IjPeT4mHgGg=",
+ "dev": true,
+ "requires": {
+ "validate.io-number": "^1.0.3"
+ }
+ },
+ "validate.io-integer-array": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/validate.io-integer-array/-/validate.io-integer-array-1.0.0.tgz",
+ "integrity": "sha1-LKveAzKTpry+Bj/q/pHq9GsToIk=",
+ "dev": true,
+ "requires": {
+ "validate.io-array": "^1.0.3",
+ "validate.io-integer": "^1.0.4"
+ }
+ },
+ "validate.io-number": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/validate.io-number/-/validate.io-number-1.0.3.tgz",
+ "integrity": "sha1-9j/+2iSL8opnqNSODjtGGhZluvg=",
+ "dev": true
+ },
"verror": {
"version": "1.10.0",
"resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
@@ -11832,6 +11943,12 @@
"iconv-lite": "0.4.24"
}
},
+ "whatwg-fetch": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.0.0.tgz",
+ "integrity": "sha512-9GSJUgz1D4MfyKU7KRqwOjXCXTqWdFNvEr7eUBYchQiVc744mqK/MzXPNR2WsPkmkOa4ywfg8C2n8h+13Bey1Q==",
+ "dev": true
+ },
"whatwg-mimetype": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz",
diff --git a/packages/material-ui/package.json b/packages/material-ui/package.json
index c4b6c026bf..9606c9d1f3 100644
--- a/packages/material-ui/package.json
+++ b/packages/material-ui/package.json
@@ -20,7 +20,7 @@
"@material-ui/core": "^4.2.0",
"@material-ui/icons": "^4.2.1",
"react": ">=16",
- "react-jsonschema-form": "^1.6.1"
+ "@rjsf/core": "^2.0.0-alpha.2"
},
"devDependencies": {
"@babel/core": "^7.0.0-0",
@@ -31,16 +31,15 @@
"@babel/preset-react": "^7.0.0",
"@material-ui/core": "^4.2.0",
"@material-ui/icons": "^4.2.1",
+ "@rjsf/core": "^2.0.0-alpha.2",
"@types/jest": "^24.0.15",
"@types/json-schema": "^7.0.3",
- "@types/react": "^16.8.23",
- "@types/react-dom": "^16.8.4",
- "@types/react-jsonschema-form": "^1.6.2",
+ "@types/react": "^16.9.23",
+ "@types/react-dom": "^16.9.5",
"np": "^5.0.3",
"npm-run-all": "^4.1.5",
"react": "^16.8.6",
"react-dom": "^16.8.6",
- "react-jsonschema-form": "^1.6.1",
"rimraf": "^2.6.3",
"tsdx": "^0.12.3",
"tslib": "^1.10.0",
diff --git a/packages/material-ui/src/AddButton/AddButton.tsx b/packages/material-ui/src/AddButton/AddButton.tsx
index fe7db54fc3..0070da0f8e 100644
--- a/packages/material-ui/src/AddButton/AddButton.tsx
+++ b/packages/material-ui/src/AddButton/AddButton.tsx
@@ -1,6 +1,6 @@
import React from 'react';
-import { AddButtonProps } from 'react-jsonschema-form';
+import { AddButtonProps } from '@rjsf/core';
import Button from '@material-ui/core/Button';
import AddIcon from '@material-ui/icons/Add';
diff --git a/packages/material-ui/src/ArrayFieldTemplate/ArrayFieldTemplate.tsx b/packages/material-ui/src/ArrayFieldTemplate/ArrayFieldTemplate.tsx
index da721de12c..418159299d 100644
--- a/packages/material-ui/src/ArrayFieldTemplate/ArrayFieldTemplate.tsx
+++ b/packages/material-ui/src/ArrayFieldTemplate/ArrayFieldTemplate.tsx
@@ -3,13 +3,13 @@ import React from 'react';
import {
isMultiSelect,
getDefaultRegistry,
-} from 'react-jsonschema-form/lib/utils';
+} from '@rjsf/core/lib/utils';
import Box from '@material-ui/core/Box';
import Grid from '@material-ui/core/Grid';
import Paper from '@material-ui/core/Paper';
-import { ArrayFieldTemplateProps, IdSchema } from 'react-jsonschema-form';
+import { ArrayFieldTemplateProps, IdSchema } from '@rjsf/core';
import AddButton from '../AddButton/AddButton';
import IconButton from '../IconButton/IconButton';
diff --git a/packages/material-ui/src/CheckboxWidget/CheckboxWidget.tsx b/packages/material-ui/src/CheckboxWidget/CheckboxWidget.tsx
index 9bd06bf3dc..b1431c217f 100644
--- a/packages/material-ui/src/CheckboxWidget/CheckboxWidget.tsx
+++ b/packages/material-ui/src/CheckboxWidget/CheckboxWidget.tsx
@@ -4,7 +4,7 @@ import Checkbox from '@material-ui/core/Checkbox';
import FormControl from '@material-ui/core/FormControl';
import FormControlLabel from '@material-ui/core/FormControlLabel';
-import { WidgetProps } from 'react-jsonschema-form';
+import { WidgetProps } from '@rjsf/core';
const CheckboxWidget = (props: WidgetProps) => {
const {
diff --git a/packages/material-ui/src/CheckboxesWidget/CheckboxesWidget.tsx b/packages/material-ui/src/CheckboxesWidget/CheckboxesWidget.tsx
index 728556e660..3e07c4b090 100644
--- a/packages/material-ui/src/CheckboxesWidget/CheckboxesWidget.tsx
+++ b/packages/material-ui/src/CheckboxesWidget/CheckboxesWidget.tsx
@@ -6,7 +6,7 @@ import FormGroup from '@material-ui/core/FormGroup';
import FormControlLabel from '@material-ui/core/FormControlLabel';
import Checkbox from '@material-ui/core/Checkbox';
-import { WidgetProps } from 'react-jsonschema-form';
+import { WidgetProps } from '@rjsf/core';
const selectValue = (value: any, selected: any, all: any) => {
const at = all.indexOf(value);
diff --git a/packages/material-ui/src/DescriptionField/DescriptionField.tsx b/packages/material-ui/src/DescriptionField/DescriptionField.tsx
index 985ce6d9a5..67e7223954 100644
--- a/packages/material-ui/src/DescriptionField/DescriptionField.tsx
+++ b/packages/material-ui/src/DescriptionField/DescriptionField.tsx
@@ -1,6 +1,6 @@
import React from 'react';
-import { FieldProps } from 'react-jsonschema-form';
+import { FieldProps } from '@rjsf/core';
import { makeStyles } from '@material-ui/styles';
import Typography from '@material-ui/core/Typography';
diff --git a/packages/material-ui/src/ErrorList/ErrorList.tsx b/packages/material-ui/src/ErrorList/ErrorList.tsx
index af8b623bd6..5b5948b9b4 100644
--- a/packages/material-ui/src/ErrorList/ErrorList.tsx
+++ b/packages/material-ui/src/ErrorList/ErrorList.tsx
@@ -9,12 +9,12 @@ import ErrorIcon from '@material-ui/icons/Error';
import ListItemText from '@material-ui/core/ListItemText';
import Paper from '@material-ui/core/Paper';
-import { ErrorListProps } from 'react-jsonschema-form';
+import { ErrorListProps } from '@rjsf/core';
const ErrorList = ({ errors }: ErrorListProps) => (
-
+
Errors
diff --git a/packages/material-ui/src/FieldTemplate/FieldTemplate.tsx b/packages/material-ui/src/FieldTemplate/FieldTemplate.tsx
index 93f23e932c..3ef61d2785 100644
--- a/packages/material-ui/src/FieldTemplate/FieldTemplate.tsx
+++ b/packages/material-ui/src/FieldTemplate/FieldTemplate.tsx
@@ -1,6 +1,6 @@
import React from 'react';
-import { FieldTemplateProps } from 'react-jsonschema-form';
+import { FieldTemplateProps } from '@rjsf/core';
import FormControl from '@material-ui/core/FormControl';
import FormHelperText from '@material-ui/core/FormHelperText';
diff --git a/packages/material-ui/src/MuiForm/MuiForm.tsx b/packages/material-ui/src/MuiForm/MuiForm.tsx
index 14ff491bfa..3ec526b0a2 100644
--- a/packages/material-ui/src/MuiForm/MuiForm.tsx
+++ b/packages/material-ui/src/MuiForm/MuiForm.tsx
@@ -1,7 +1,8 @@
-import { withTheme } from 'react-jsonschema-form';
+import { withTheme, FormProps } from '@rjsf/core';
import Theme from '../Theme';
+import { StatelessComponent } from 'react';
-const MuiForm = withTheme(Theme);
+const MuiForm: React.ComponentClass> | StatelessComponent> = withTheme(Theme);
export default MuiForm;
diff --git a/packages/material-ui/src/ObjectFieldTemplate/ObjectFieldTemplate.tsx b/packages/material-ui/src/ObjectFieldTemplate/ObjectFieldTemplate.tsx
index 0093d892a2..97aaa312af 100644
--- a/packages/material-ui/src/ObjectFieldTemplate/ObjectFieldTemplate.tsx
+++ b/packages/material-ui/src/ObjectFieldTemplate/ObjectFieldTemplate.tsx
@@ -3,7 +3,7 @@ import React from 'react';
import Grid from '@material-ui/core/Grid';
import { makeStyles } from '@material-ui/styles';
-import { ObjectFieldTemplateProps } from 'react-jsonschema-form';
+import { ObjectFieldTemplateProps } from '@rjsf/core';
const useStyles = makeStyles({
root: {
diff --git a/packages/material-ui/src/PasswordWidget/PasswordWidget.tsx b/packages/material-ui/src/PasswordWidget/PasswordWidget.tsx
index 71c9e5d4ec..2b8d5abfdb 100644
--- a/packages/material-ui/src/PasswordWidget/PasswordWidget.tsx
+++ b/packages/material-ui/src/PasswordWidget/PasswordWidget.tsx
@@ -4,7 +4,7 @@ import FormControl from '@material-ui/core/FormControl';
import Input from '@material-ui/core/Input';
import InputLabel from '@material-ui/core/InputLabel';
-import { WidgetProps } from 'react-jsonschema-form';
+import { WidgetProps } from '@rjsf/core';
const PasswordWidget = ({
id,
diff --git a/packages/material-ui/src/RadioWidget/RadioWidget.tsx b/packages/material-ui/src/RadioWidget/RadioWidget.tsx
index ef0088bc22..5ec6aea697 100644
--- a/packages/material-ui/src/RadioWidget/RadioWidget.tsx
+++ b/packages/material-ui/src/RadioWidget/RadioWidget.tsx
@@ -6,7 +6,7 @@ import FormLabel from '@material-ui/core/FormLabel';
import Radio from '@material-ui/core/Radio';
import RadioGroup from '@material-ui/core/RadioGroup';
-import { WidgetProps } from 'react-jsonschema-form';
+import { WidgetProps } from '@rjsf/core';
const RadioWidget = ({
id,
diff --git a/packages/material-ui/src/RangeWidget/RangeWidget.tsx b/packages/material-ui/src/RangeWidget/RangeWidget.tsx
index 9f067af91c..9e30233c09 100644
--- a/packages/material-ui/src/RangeWidget/RangeWidget.tsx
+++ b/packages/material-ui/src/RangeWidget/RangeWidget.tsx
@@ -5,8 +5,8 @@ import Grid from '@material-ui/core/Grid';
import Slider from '@material-ui/core/Slider';
import FormLabel from '@material-ui/core/FormLabel';
-import { rangeSpec } from 'react-jsonschema-form/lib/utils';
-import { WidgetProps } from 'react-jsonschema-form';
+import { rangeSpec } from '@rjsf/core/lib/utils';
+import { WidgetProps } from '@rjsf/core';
const RangeWidget = ({
value,
diff --git a/packages/material-ui/src/SelectWidget/SelectWidget.tsx b/packages/material-ui/src/SelectWidget/SelectWidget.tsx
index df19934e74..efa5f6b97c 100644
--- a/packages/material-ui/src/SelectWidget/SelectWidget.tsx
+++ b/packages/material-ui/src/SelectWidget/SelectWidget.tsx
@@ -5,8 +5,8 @@ import MenuItem from '@material-ui/core/MenuItem';
import Select from '@material-ui/core/Select';
import InputLabel from '@material-ui/core/InputLabel';
-// import { WidgetProps } from 'react-jsonschema-form';
-import { asNumber, guessType } from 'react-jsonschema-form/lib/utils';
+import { WidgetProps } from '@rjsf/core';
+import { asNumber, guessType } from '@rjsf/core/lib/utils';
const nums = new Set(['number', 'integer']);
@@ -54,7 +54,7 @@ const SelectWidget = ({
onChange,
onBlur,
onFocus,
-}: any) => {
+}: WidgetProps) => {
const { enumOptions, enumDisabled } = options;
const emptyValue = multiple ? [] : '';
diff --git a/packages/material-ui/src/TextWidget/TextWidget.tsx b/packages/material-ui/src/TextWidget/TextWidget.tsx
index c4b7125b25..09a41d4e77 100644
--- a/packages/material-ui/src/TextWidget/TextWidget.tsx
+++ b/packages/material-ui/src/TextWidget/TextWidget.tsx
@@ -3,7 +3,7 @@ import React from 'react';
import FormControl from '@material-ui/core/FormControl';
import TextField from '@material-ui/core/TextField';
-import { WidgetProps } from 'react-jsonschema-form';
+import { WidgetProps } from '@rjsf/core';
const TextWidget = ({
id,
diff --git a/packages/material-ui/src/TextareaWidget/TextareaWidget.tsx b/packages/material-ui/src/TextareaWidget/TextareaWidget.tsx
index d02e684940..c764ef9213 100644
--- a/packages/material-ui/src/TextareaWidget/TextareaWidget.tsx
+++ b/packages/material-ui/src/TextareaWidget/TextareaWidget.tsx
@@ -1,6 +1,6 @@
import React from 'react';
-import { WidgetProps } from 'react-jsonschema-form';
+import { WidgetProps } from '@rjsf/core';
import FormControl from '@material-ui/core/FormControl';
import TextField from '@material-ui/core/TextField';
diff --git a/packages/material-ui/src/Theme/Theme.ts b/packages/material-ui/src/Theme/Theme.ts
index 3667ced848..22d7021d8a 100644
--- a/packages/material-ui/src/Theme/Theme.ts
+++ b/packages/material-ui/src/Theme/Theme.ts
@@ -5,8 +5,8 @@ import FieldTemplate from '../FieldTemplate';
import ObjectFieldTemplate from '../ObjectFieldTemplate';
import Widgets from '../Widgets';
-import { ThemeProps } from 'react-jsonschema-form';
-import { getDefaultRegistry } from 'react-jsonschema-form/lib/utils';
+import { ThemeProps } from '@rjsf/core';
+import { getDefaultRegistry } from '@rjsf/core/lib/utils';
const { fields, widgets } = getDefaultRegistry();
diff --git a/packages/material-ui/src/TitleField/TitleField.tsx b/packages/material-ui/src/TitleField/TitleField.tsx
index 3b466cf81a..b437abda23 100644
--- a/packages/material-ui/src/TitleField/TitleField.tsx
+++ b/packages/material-ui/src/TitleField/TitleField.tsx
@@ -1,6 +1,6 @@
import React from 'react';
-import { FieldProps } from 'react-jsonschema-form';
+import { FieldProps } from '@rjsf/core';
import Box from '@material-ui/core/Box';
import Divider from '@material-ui/core/Divider';
diff --git a/packages/material-ui/src/UpDownWidget/UpDownWidget.tsx b/packages/material-ui/src/UpDownWidget/UpDownWidget.tsx
index 9105d59fdb..d29ad7d513 100644
--- a/packages/material-ui/src/UpDownWidget/UpDownWidget.tsx
+++ b/packages/material-ui/src/UpDownWidget/UpDownWidget.tsx
@@ -4,7 +4,7 @@ import FormControl from '@material-ui/core/FormControl';
import Input from '@material-ui/core/Input';
import InputLabel from '@material-ui/core/InputLabel';
-import { WidgetProps } from 'react-jsonschema-form';
+import { WidgetProps } from '@rjsf/core';
const UpDownWidget = ({
id,
diff --git a/packages/playground/playground/index.html b/packages/playground/index.html
similarity index 97%
rename from packages/playground/playground/index.html
rename to packages/playground/index.html
index 4c122a603e..2c1bd357e7 100644
--- a/packages/playground/playground/index.html
+++ b/packages/playground/index.html
@@ -10,4 +10,4 @@
-