From 8262e8c9d9adacbd7f701f512d0a8a5e3d9bbbee Mon Sep 17 00:00:00 2001
From: Jacques
Date: Mon, 8 Feb 2021 09:05:48 +0200
Subject: [PATCH] feat: add button,email,date widgets
feat: include widgets
Revert
test: updates tests
---
packages/antd/package-lock.json | 14 +-
packages/antd/package.json | 4 +-
packages/bootstrap-4/package-lock.json | 2 +-
packages/bootstrap-4/package.json | 4 +-
packages/core/package-lock.json | 2 +-
packages/core/package.json | 2 +-
packages/fluent-ui/package-lock.json | 200 +++++++++++++++++-
packages/fluent-ui/package.json | 4 +-
packages/material-ui/package-lock.json | 2 +-
packages/material-ui/package.json | 4 +-
packages/playground/package-lock.json | 2 +-
packages/playground/package.json | 14 +-
packages/semantic-ui/package-lock.json | 76 +++++++
.../src/DateTimeWidget/DateTimeWidget.js | 65 ++++++
.../semantic-ui/src/DateTimeWidget/index.js | 2 +
.../semantic-ui/src/DateWidget/DateWidget.js | 63 ++++++
packages/semantic-ui/src/DateWidget/index.js | 2 +
.../src/EmailWidget/EmailWidget.js | 82 +++++++
packages/semantic-ui/src/EmailWidget/index.js | 2 +
.../src/SubmitButton/SubmitButton.js | 4 +
.../semantic-ui/src/SubmitButton/index.js | 2 +
packages/semantic-ui/src/Theme/Theme.js | 3 +
.../semantic-ui/src/URLWidget/URLWidget.js | 64 ++++++
packages/semantic-ui/src/URLWidget/index.js | 2 +
packages/semantic-ui/src/Widgets/Widgets.js | 9 +-
.../test/__snapshots__/Array.test.js.snap | 55 +++--
.../test/__snapshots__/Form.test.js.snap | 171 +++++++--------
.../test/__snapshots__/Object.test.js.snap | 17 +-
28 files changed, 722 insertions(+), 151 deletions(-)
create mode 100644 packages/semantic-ui/src/DateTimeWidget/DateTimeWidget.js
create mode 100644 packages/semantic-ui/src/DateTimeWidget/index.js
create mode 100644 packages/semantic-ui/src/DateWidget/DateWidget.js
create mode 100644 packages/semantic-ui/src/DateWidget/index.js
create mode 100644 packages/semantic-ui/src/EmailWidget/EmailWidget.js
create mode 100644 packages/semantic-ui/src/EmailWidget/index.js
create mode 100644 packages/semantic-ui/src/SubmitButton/SubmitButton.js
create mode 100644 packages/semantic-ui/src/SubmitButton/index.js
create mode 100644 packages/semantic-ui/src/URLWidget/URLWidget.js
create mode 100644 packages/semantic-ui/src/URLWidget/index.js
diff --git a/packages/antd/package-lock.json b/packages/antd/package-lock.json
index eed5cfbbbc..2a95c06e99 100644
--- a/packages/antd/package-lock.json
+++ b/packages/antd/package-lock.json
@@ -1,6 +1,6 @@
{
"name": "@rjsf/antd",
- "version": "2.5.0",
+ "version": "2.4.2",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
@@ -3885,9 +3885,9 @@
}
},
"@rjsf/core": {
- "version": "2.5.0",
- "resolved": "https://registry.npmjs.org/@rjsf/core/-/core-2.5.0.tgz",
- "integrity": "sha512-ug+Oon21LrhRQD6GiT0M3rheRF1c01NohyCeR7ePh+UaxgsFO43LOPOOBbnHq+MUGtuaBisFd2rRuHn7TNk7pA==",
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/@rjsf/core/-/core-2.4.0.tgz",
+ "integrity": "sha512-8zlydBkGldOxGXFEwNGFa1gzTxpcxaYn7ofegcu8XHJ7IKMCfpnU3ABg+H3eml1KZCX3FODmj1tHFJKuTmfynw==",
"dev": true,
"requires": {
"@babel/runtime-corejs2": "^7.8.7",
@@ -3980,9 +3980,9 @@
}
},
"@types/json-schema": {
- "version": "7.0.7",
- "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.7.tgz",
- "integrity": "sha512-cxWFQVseBm6O9Gbw1IWb8r6OS4OhSt3hPZLkFApLjM8TEXROBuQGLAH2i2gZpcXdLBIrpXuTDhH7Vbm1iXmNGA==",
+ "version": "7.0.6",
+ "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.6.tgz",
+ "integrity": "sha512-3c+yGKvVP5Y9TYBEibGNR+kLtijnj7mYrXRg+WpFb2X9xm04g/DXYkfg4hmzJQosc9snFNUPkbYIhu+KAm6jJw==",
"dev": true
},
"@types/json5": {
diff --git a/packages/antd/package.json b/packages/antd/package.json
index e000bfdeb1..f2976337d9 100644
--- a/packages/antd/package.json
+++ b/packages/antd/package.json
@@ -1,6 +1,6 @@
{
"name": "@rjsf/antd",
- "version": "2.5.0",
+ "version": "2.4.2",
"description": "Ant Design theme, fields and widgets for react-jsonschema-form",
"main": "dist/cjs/index.js",
"module": "dist/es/index.js",
@@ -45,7 +45,7 @@
"@babel/preset-react": "^7.0.0",
"@babel/register": "^7.4.4",
"@babel/runtime-corejs2": "^7.10.3",
- "@rjsf/core": "^2.5.0",
+ "@rjsf/core": "^2.4.2",
"antd": "^4.0.0",
"atob": "^2.0.3",
"babel-eslint": "^10.0.1",
diff --git a/packages/bootstrap-4/package-lock.json b/packages/bootstrap-4/package-lock.json
index 015054d085..96f02b6660 100644
--- a/packages/bootstrap-4/package-lock.json
+++ b/packages/bootstrap-4/package-lock.json
@@ -1,6 +1,6 @@
{
"name": "@rjsf/bootstrap-4",
- "version": "2.5.0",
+ "version": "2.4.2",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
diff --git a/packages/bootstrap-4/package.json b/packages/bootstrap-4/package.json
index 3422fb6e58..d955acbe76 100644
--- a/packages/bootstrap-4/package.json
+++ b/packages/bootstrap-4/package.json
@@ -1,6 +1,6 @@
{
"name": "@rjsf/bootstrap-4",
- "version": "2.5.0",
+ "version": "2.4.2",
"main": "dist/index.js",
"module": "dist/bootstrap-4.esm.js",
"typings": "dist/index.d.ts",
@@ -26,7 +26,7 @@
"@babel/plugin-transform-runtime": "^7.5.5",
"@babel/preset-env": "^7.5.5",
"@babel/preset-react": "^7.0.0",
- "@rjsf/core": "^2.5.0",
+ "@rjsf/core": "^2.4.2",
"@types/jest": "^24.0.15",
"@types/json-schema": "^7.0.3",
"@types/react": "^16.9.23",
diff --git a/packages/core/package-lock.json b/packages/core/package-lock.json
index f37b6cc497..6f22426adf 100644
--- a/packages/core/package-lock.json
+++ b/packages/core/package-lock.json
@@ -1,6 +1,6 @@
{
"name": "@rjsf/core",
- "version": "2.5.0",
+ "version": "2.4.2",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
diff --git a/packages/core/package.json b/packages/core/package.json
index d9a093eab0..48d0f964e0 100644
--- a/packages/core/package.json
+++ b/packages/core/package.json
@@ -1,6 +1,6 @@
{
"name": "@rjsf/core",
- "version": "2.5.0",
+ "version": "2.4.2",
"description": "A simple React component capable of building HTML forms out of a JSON schema.",
"scripts": {
"build": "npm run dist:build:umd && npm run build:cjs && npm run build:es && npm run build:es:lib",
diff --git a/packages/fluent-ui/package-lock.json b/packages/fluent-ui/package-lock.json
index fb23b311b7..4f3c876eb6 100644
--- a/packages/fluent-ui/package-lock.json
+++ b/packages/fluent-ui/package-lock.json
@@ -1,6 +1,6 @@
{
"name": "@rjsf/fluent-ui",
- "version": "2.5.0",
+ "version": "2.4.2",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
@@ -1319,6 +1319,24 @@
"regenerator-runtime": "^0.13.2"
}
},
+ "@babel/runtime-corejs2": {
+ "version": "7.12.5",
+ "resolved": "https://registry.npmjs.org/@babel/runtime-corejs2/-/runtime-corejs2-7.12.5.tgz",
+ "integrity": "sha512-kt5YpZ7F5A05LOgQuaMXXmcxakK/qttf5C/E1BJPA3Kf5PanbjPzDoXN+PIslUnjUxpuKblCsXyP0QfMiqyKqA==",
+ "dev": true,
+ "requires": {
+ "core-js": "^2.6.5",
+ "regenerator-runtime": "^0.13.4"
+ },
+ "dependencies": {
+ "regenerator-runtime": {
+ "version": "0.13.7",
+ "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz",
+ "integrity": "sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew==",
+ "dev": true
+ }
+ }
+ },
"@babel/runtime-corejs3": {
"version": "7.9.2",
"resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.9.2.tgz",
@@ -1776,6 +1794,33 @@
"integrity": "sha512-Zhu/rW6XwkQC9ZXt7IWxDpMAyYIyNsT5ZF0gMfFDXnZCKNPm9GZca8HV5AYB1X6gvPGiz8gV60I+o9+KSH+aTw==",
"dev": true
},
+ "@rjsf/core": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/@rjsf/core/-/core-2.4.0.tgz",
+ "integrity": "sha512-8zlydBkGldOxGXFEwNGFa1gzTxpcxaYn7ofegcu8XHJ7IKMCfpnU3ABg+H3eml1KZCX3FODmj1tHFJKuTmfynw==",
+ "dev": true,
+ "requires": {
+ "@babel/runtime-corejs2": "^7.8.7",
+ "@types/json-schema": "^7.0.4",
+ "ajv": "^6.7.0",
+ "core-js": "^2.5.7",
+ "json-schema-merge-allof": "^0.6.0",
+ "jsonpointer": "^4.0.1",
+ "lodash": "^4.17.15",
+ "prop-types": "^15.7.2",
+ "react-app-polyfill": "^1.0.4",
+ "react-is": "^16.9.0",
+ "shortid": "^2.2.14"
+ },
+ "dependencies": {
+ "@types/json-schema": {
+ "version": "7.0.6",
+ "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.6.tgz",
+ "integrity": "sha512-3c+yGKvVP5Y9TYBEibGNR+kLtijnj7mYrXRg+WpFb2X9xm04g/DXYkfg4hmzJQosc9snFNUPkbYIhu+KAm6jJw==",
+ "dev": true
+ }
+ }
+ },
"@rollup/plugin-commonjs": {
"version": "11.0.2",
"resolved": "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-11.0.2.tgz",
@@ -2457,6 +2502,12 @@
"es-abstract": "^1.17.0-next.1"
}
},
+ "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",
@@ -3387,6 +3438,29 @@
"integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==",
"dev": true
},
+ "compute-gcd": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/compute-gcd/-/compute-gcd-1.2.1.tgz",
+ "integrity": "sha512-TwMbxBNz0l71+8Sc4czv13h4kEqnchV9igQZBi6QUaz09dnz13juGnnaWWJTRsP3brxOoxeB4SA2WELLw1hCtg==",
+ "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.2",
+ "resolved": "https://registry.npmjs.org/compute-lcm/-/compute-lcm-1.1.2.tgz",
+ "integrity": "sha512-OFNPdQAXnQhDSKioX8/XYT6sdUlXwpeMjfd6ApxMJfyZ4GxmLR1xvMERctlYhlHwIiz6CSpBc2+qYKjHGZw4TQ==",
+ "dev": true,
+ "requires": {
+ "compute-gcd": "^1.2.1",
+ "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",
@@ -6693,6 +6767,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",
@@ -6729,6 +6823,12 @@
"graceful-fs": "^4.1.6"
}
},
+ "jsonpointer": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-4.1.0.tgz",
+ "integrity": "sha512-CXcRvMyTlnR53xMcKnuMzfCA5i/nfblTnnr74CZb6C4vG39eu6w51t7nKmU5MfLfbTgGItliNyjO/ciNPDqClg==",
+ "dev": true
+ },
"jsprim": {
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz",
@@ -7230,6 +7330,12 @@
"dev": true,
"optional": true
},
+ "nanoid": {
+ "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": {
"version": "1.2.13",
"resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz",
@@ -7863,6 +7969,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.2",
"resolved": "https://registry.npmjs.org/prompts/-/prompts-2.3.2.tgz",
@@ -7912,6 +8027,15 @@
"integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==",
"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"
+ }
+ },
"react": {
"version": "16.13.1",
"resolved": "https://registry.npmjs.org/react/-/react-16.13.1.tgz",
@@ -7923,6 +8047,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.8.1",
+ "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.8.1.tgz",
+ "integrity": "sha512-9Id2xHY1W7m8hCl8NkhQn5CufmF/WuR30BTRewvCXc1aZd3kMECwNZ69ndLbekKfakw9Rf2Xyc+QR6E7Gg+obg==",
+ "dev": true
+ }
+ }
+ },
"react-dom": {
"version": "16.13.0",
"resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.13.0.tgz",
@@ -8567,6 +8713,15 @@
"integrity": "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==",
"dev": true
},
+ "shortid": {
+ "version": "2.2.16",
+ "resolved": "https://registry.npmjs.org/shortid/-/shortid-2.2.16.tgz",
+ "integrity": "sha512-Ugt+GIZqvGXCIItnsL+lvFJOiN7RYqlGy7QE41O3YC1xbNSeDGIRO7xg2JJXIAj1cAGnOeC1r7/T9pgrtQbv4g==",
+ "dev": true,
+ "requires": {
+ "nanoid": "^2.1.0"
+ }
+ },
"side-channel": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.2.tgz",
@@ -9691,6 +9846,43 @@
"spdx-expression-parse": "^3.0.0"
}
},
+ "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",
@@ -9744,6 +9936,12 @@
"iconv-lite": "0.4.24"
}
},
+ "whatwg-fetch": {
+ "version": "3.5.0",
+ "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.5.0.tgz",
+ "integrity": "sha512-jXkLtsR42xhXg7akoDKvKWE40eJeI+2KZqcp2h3NsOrRnDvtWX36KcKl30dy+hxECivdk2BVUHVNrPtoMBUx6A==",
+ "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/fluent-ui/package.json b/packages/fluent-ui/package.json
index 2e32aac05c..789362110d 100644
--- a/packages/fluent-ui/package.json
+++ b/packages/fluent-ui/package.json
@@ -1,6 +1,6 @@
{
"name": "@rjsf/fluent-ui",
- "version": "2.5.0",
+ "version": "2.4.2",
"main": "dist/index.js",
"module": "dist/fluent-ui.esm.js",
"typings": "dist/index.d.ts",
@@ -29,7 +29,7 @@
"@fluentui/react": "^7.114.2",
"@material-ui/core": "^4.2.0",
"@material-ui/icons": "^4.2.1",
- "@rjsf/core": "^2.5.0",
+ "@rjsf/core": "^2.4.2",
"@types/jest": "^24.0.15",
"@types/json-schema": "^7.0.3",
"@types/lodash": "^4.14.152",
diff --git a/packages/material-ui/package-lock.json b/packages/material-ui/package-lock.json
index c0169b2fda..8f667d2ff4 100644
--- a/packages/material-ui/package-lock.json
+++ b/packages/material-ui/package-lock.json
@@ -1,6 +1,6 @@
{
"name": "@rjsf/material-ui",
- "version": "2.5.0",
+ "version": "2.4.2",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
diff --git a/packages/material-ui/package.json b/packages/material-ui/package.json
index 08e206fcea..3d6ed5f641 100644
--- a/packages/material-ui/package.json
+++ b/packages/material-ui/package.json
@@ -1,6 +1,6 @@
{
"name": "@rjsf/material-ui",
- "version": "2.5.0",
+ "version": "2.4.2",
"main": "dist/index.js",
"module": "dist/material-ui.esm.js",
"typings": "dist/index.d.ts",
@@ -29,7 +29,7 @@
"@babel/preset-react": "^7.0.0",
"@material-ui/core": "^4.2.0",
"@material-ui/icons": "^4.2.1",
- "@rjsf/core": "^2.5.0",
+ "@rjsf/core": "^2.4.2",
"@types/jest": "^24.0.15",
"@types/json-schema": "^7.0.3",
"@types/react": "^16.9.23",
diff --git a/packages/playground/package-lock.json b/packages/playground/package-lock.json
index d6308de1a2..2bb6e76f3b 100644
--- a/packages/playground/package-lock.json
+++ b/packages/playground/package-lock.json
@@ -1,6 +1,6 @@
{
"name": "@rjsf/playground",
- "version": "2.5.0",
+ "version": "2.4.1",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
diff --git a/packages/playground/package.json b/packages/playground/package.json
index 5d0d3c863b..510d4cb114 100644
--- a/packages/playground/package.json
+++ b/packages/playground/package.json
@@ -1,6 +1,6 @@
{
"name": "@rjsf/playground",
- "version": "2.5.0",
+ "version": "2.4.1",
"description": "rjsf playground",
"private": true,
"scripts": {
@@ -41,12 +41,12 @@
"@babel/runtime-corejs2": "^7.4.5",
"@fluentui/react": "^7.121.5",
"@material-ui/core": "^4.9.4",
- "@rjsf/antd": "^2.5.0",
- "@rjsf/bootstrap-4": "^2.5.0",
- "@rjsf/core": "^2.5.0",
- "@rjsf/fluent-ui": "^2.5.0",
- "@rjsf/material-ui": "^2.5.0",
- "@rjsf/semantic-ui": "^2.5.0",
+ "@rjsf/antd": "^2.4.1",
+ "@rjsf/bootstrap-4": "^2.4.1",
+ "@rjsf/core": "^2.4.1",
+ "@rjsf/fluent-ui": "^2.4.1",
+ "@rjsf/material-ui": "^2.4.1",
+ "@rjsf/semantic-ui": "^2.4.1",
"ajv": "^6.7.0",
"antd": "^4.3.5",
"core-js": "^2.5.7",
diff --git a/packages/semantic-ui/package-lock.json b/packages/semantic-ui/package-lock.json
index cd83e1e61f..3c045adbeb 100644
--- a/packages/semantic-ui/package-lock.json
+++ b/packages/semantic-ui/package-lock.json
@@ -3744,6 +3744,51 @@
"fastq": "^1.6.0"
}
},
+ "@rjsf/core": {
+ "version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/@rjsf/core/-/core-2.4.2.tgz",
+ "integrity": "sha512-3EHpGiWryCx8kNv5TcKwnVtKlq08s2QvQTlwCF3pELqK9YQoa7SEsFQtZzU03wWk7o0Wvuig4BhJJKU8Dc2c5A==",
+ "dev": true,
+ "requires": {
+ "@babel/runtime-corejs2": "^7.8.7",
+ "@types/json-schema": "^7.0.4",
+ "ajv": "^6.7.0",
+ "core-js": "^2.5.7",
+ "json-schema-merge-allof": "^0.6.0",
+ "jsonpointer": "^4.0.1",
+ "lodash": "^4.17.15",
+ "prop-types": "^15.7.2",
+ "react-app-polyfill": "^1.0.4",
+ "react-is": "^16.9.0",
+ "shortid": "^2.2.14"
+ },
+ "dependencies": {
+ "ajv": {
+ "version": "6.12.6",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
+ "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
+ "dev": true,
+ "requires": {
+ "fast-deep-equal": "^3.1.1",
+ "fast-json-stable-stringify": "^2.0.0",
+ "json-schema-traverse": "^0.4.1",
+ "uri-js": "^4.2.2"
+ }
+ },
+ "fast-deep-equal": {
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
+ "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
+ "dev": true
+ },
+ "json-schema-traverse": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
+ "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
+ "dev": true
+ }
+ }
+ },
"@samverschueren/stream-to-observable": {
"version": "0.3.0",
"resolved": "https://registry.npmjs.org/@samverschueren/stream-to-observable/-/stream-to-observable-0.3.0.tgz",
@@ -16833,6 +16878,37 @@
"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.8.3",
+ "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.8.3.tgz",
+ "integrity": "sha512-KPYXeVZYemC2TkNEkX/01I+7yd+nX3KddKwZ1Ww7SKWdI2wQprSgLmrTddT8nw92AjEklTsPBoSdQBhbI1bQ6Q==",
+ "dev": true
+ },
+ "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"
+ }
+ }
+ }
+ },
"react-codemirror2": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/react-codemirror2/-/react-codemirror2-4.3.0.tgz",
diff --git a/packages/semantic-ui/src/DateTimeWidget/DateTimeWidget.js b/packages/semantic-ui/src/DateTimeWidget/DateTimeWidget.js
new file mode 100644
index 0000000000..429cae9143
--- /dev/null
+++ b/packages/semantic-ui/src/DateTimeWidget/DateTimeWidget.js
@@ -0,0 +1,65 @@
+/* eslint-disable react/prop-types */
+import React from "react";
+import { utils } from "@rjsf/core";
+import { getSemanticProps } from "../util";
+import { Form } from "semantic-ui-react";
+
+const { localToUTC, utcToLocal, getDisplayLabel } = utils;
+
+function DateTimeWidget(props) {
+ const {
+ id,
+ required,
+ readonly,
+ disabled,
+ name,
+ label,
+ schema,
+ uiSchema,
+ value,
+ onChange,
+ onBlur,
+ onFocus,
+ autofocus,
+ options,
+ formContext,
+ } = props;
+ const semanticProps = getSemanticProps({ formContext, options });
+ const _onChange = ({ target: { value } }) => onChange && onChange(localToUTC(value));
+ const _onBlur = () => onBlur && onBlur(id, value);
+ const _onFocus = () => onFocus && onFocus(id, value);
+ const dateValue = utcToLocal(value);
+ const displayLabel = getDisplayLabel(
+ schema,
+ uiSchema
+ /* TODO: , rootSchema */
+ );
+ return (
+
+ );
+}
+
+DateTimeWidget.defaultProps = {
+ options: {
+ semantic: {
+ fluid: true,
+ inverted: false,
+ },
+ },
+};
+
+export default DateTimeWidget;
diff --git a/packages/semantic-ui/src/DateTimeWidget/index.js b/packages/semantic-ui/src/DateTimeWidget/index.js
new file mode 100644
index 0000000000..0db366167f
--- /dev/null
+++ b/packages/semantic-ui/src/DateTimeWidget/index.js
@@ -0,0 +1,2 @@
+export { default } from './DateTimeWidget';
+export * from './DateTimeWidget';
diff --git a/packages/semantic-ui/src/DateWidget/DateWidget.js b/packages/semantic-ui/src/DateWidget/DateWidget.js
new file mode 100644
index 0000000000..7da21c6bb0
--- /dev/null
+++ b/packages/semantic-ui/src/DateWidget/DateWidget.js
@@ -0,0 +1,63 @@
+/* eslint-disable react/prop-types */
+import React from "react";
+import { getSemanticProps } from "../util";
+import { Form } from "semantic-ui-react";
+import { utils } from "@rjsf/core";
+
+const { getDisplayLabel } = utils;
+function DateWidget(props) {
+ const {
+ id,
+ required,
+ readonly,
+ disabled,
+ name,
+ label,
+ value,
+ onChange,
+ onBlur,
+ onFocus,
+ autofocus,
+ options,
+ formContext,
+ schema,
+ uiSchema,
+ } = props;
+ const semanticProps = getSemanticProps({ formContext, options });
+ const _onChange = ({ target: { value } }) => onChange && onChange(value);
+ const _onBlur = () => onBlur && onBlur(id, value);
+ const _onFocus = () => onFocus && onFocus(id, value);
+ const displayLabel = getDisplayLabel(
+ schema,
+ uiSchema
+ /* TODO: , rootSchema */
+ );
+ return (
+
+ );
+}
+
+DateWidget.defaultProps = {
+ options: {
+ semantic: {
+ fluid: true,
+ inverted: false,
+ },
+ },
+};
+
+export default DateWidget;
diff --git a/packages/semantic-ui/src/DateWidget/index.js b/packages/semantic-ui/src/DateWidget/index.js
new file mode 100644
index 0000000000..923b0077fb
--- /dev/null
+++ b/packages/semantic-ui/src/DateWidget/index.js
@@ -0,0 +1,2 @@
+export { default } from './DateWidget';
+export * from './DateWidget';
diff --git a/packages/semantic-ui/src/EmailWidget/EmailWidget.js b/packages/semantic-ui/src/EmailWidget/EmailWidget.js
new file mode 100644
index 0000000000..e7caa0e8c4
--- /dev/null
+++ b/packages/semantic-ui/src/EmailWidget/EmailWidget.js
@@ -0,0 +1,82 @@
+import React from "react";
+import PropTypes from "prop-types";
+import { Form } from "semantic-ui-react";
+import { getSemanticProps } from "../util";
+import { utils } from "@rjsf/core";
+
+const { getDisplayLabel } = utils;
+function EmailWidget(props) {
+ const {
+ id,
+ required,
+ readonly,
+ disabled,
+ name,
+ label,
+ schema,
+ uiSchema,
+ value,
+ onChange,
+ onBlur,
+ onFocus,
+ autofocus,
+ options,
+ formContext,
+ } = props;
+ const semanticProps = getSemanticProps({ formContext, options });
+ // eslint-disable-next-line no-shadow
+ const _onChange = ({ target: { value } }) =>
+ onChange(value === "" ? options.emptyValue : value);
+ const _onBlur = () => onBlur && onBlur(id, value);
+ const _onFocus = () => onFocus && onFocus(id, value);
+ const displayLabel = getDisplayLabel(
+ schema,
+ uiSchema
+ /* TODO: , rootSchema */
+ );
+ return (
+
+ );
+}
+
+EmailWidget.defaultProps = {
+ options: {
+ semantic: {
+ fluid: true,
+ inverted: false,
+ },
+ },
+};
+
+
+
+
+EmailWidget.defaultProps = {
+ options: {
+ semantic: {
+ fluid: true,
+ inverted: false,
+ },
+ },
+};
+
+
+EmailWidget.propTypes = {
+ options: PropTypes.object,
+};
+
+export default EmailWidget;
diff --git a/packages/semantic-ui/src/EmailWidget/index.js b/packages/semantic-ui/src/EmailWidget/index.js
new file mode 100644
index 0000000000..c48979eea8
--- /dev/null
+++ b/packages/semantic-ui/src/EmailWidget/index.js
@@ -0,0 +1,2 @@
+export { default } from './EmailWidget';
+export * from './EmailWidget';
diff --git a/packages/semantic-ui/src/SubmitButton/SubmitButton.js b/packages/semantic-ui/src/SubmitButton/SubmitButton.js
new file mode 100644
index 0000000000..afab81e7fb
--- /dev/null
+++ b/packages/semantic-ui/src/SubmitButton/SubmitButton.js
@@ -0,0 +1,4 @@
+import React from "react";
+import { Button } from "semantic-ui-react";
+export default () => ();
+
diff --git a/packages/semantic-ui/src/SubmitButton/index.js b/packages/semantic-ui/src/SubmitButton/index.js
new file mode 100644
index 0000000000..f676497ba2
--- /dev/null
+++ b/packages/semantic-ui/src/SubmitButton/index.js
@@ -0,0 +1,2 @@
+export { default } from './SubmitButton';
+export * from './SubmitButton';
diff --git a/packages/semantic-ui/src/Theme/Theme.js b/packages/semantic-ui/src/Theme/Theme.js
index f57f686eeb..d086674893 100644
--- a/packages/semantic-ui/src/Theme/Theme.js
+++ b/packages/semantic-ui/src/Theme/Theme.js
@@ -1,5 +1,7 @@
+import React from 'react';
import { utils } from '@rjsf/core';
import { Form as SuiForm } from "semantic-ui-react";
+import SubmitButton from '../SubmitButton';
import ArrayFieldTemplate from "../ArrayFieldTemplate";
import ErrorList from "../ErrorList";
import Fields from "../Fields";
@@ -17,6 +19,7 @@ const Theme = {
ObjectFieldTemplate,
tagName: SuiForm,
widgets: { ...widgets, ...Widgets },
+ children: React.createElement(SubmitButton)
};
export default Theme;
diff --git a/packages/semantic-ui/src/URLWidget/URLWidget.js b/packages/semantic-ui/src/URLWidget/URLWidget.js
new file mode 100644
index 0000000000..eed540190b
--- /dev/null
+++ b/packages/semantic-ui/src/URLWidget/URLWidget.js
@@ -0,0 +1,64 @@
+import React from "react";
+import { Form } from "semantic-ui-react";
+import { getSemanticProps } from "../util";
+import { utils } from "@rjsf/core";
+
+const { getDisplayLabel } = utils;
+function URLWidget(props) {
+ const {
+ id,
+ name,
+ label,
+ value,
+ required,
+ readonly,
+ disabled,
+ onChange,
+ onBlur,
+ onFocus,
+ autofocus,
+ options,
+ schema,
+ uiSchema,
+ formContext,
+ } = props;
+ const semanticProps = getSemanticProps({ formContext, options });
+ // eslint-disable-next-line no-shadow
+ const _onChange = ({ target: { value } }) =>
+ onChange(value === "" ? options.emptyValue : value);
+ const _onBlur = () => onBlur && onBlur(id, value);
+ const _onFocus = () => onFocus && onFocus(id, value);
+ const displayLabel = getDisplayLabel(
+ schema,
+ uiSchema
+ /* TODO: , rootSchema */
+ );
+ return (
+
+ );
+}
+
+URLWidget.defaultProps = {
+ options: {
+ semantic: {
+ fluid: true,
+ inverted: false,
+ },
+ },
+};
+
+export default URLWidget;
diff --git a/packages/semantic-ui/src/URLWidget/index.js b/packages/semantic-ui/src/URLWidget/index.js
new file mode 100644
index 0000000000..65d5258635
--- /dev/null
+++ b/packages/semantic-ui/src/URLWidget/index.js
@@ -0,0 +1,2 @@
+export { default } from './URLWidget';
+export * from './URLWidget';
diff --git a/packages/semantic-ui/src/Widgets/Widgets.js b/packages/semantic-ui/src/Widgets/Widgets.js
index b375ed1061..93847482b5 100644
--- a/packages/semantic-ui/src/Widgets/Widgets.js
+++ b/packages/semantic-ui/src/Widgets/Widgets.js
@@ -7,11 +7,18 @@ import SelectWidget from "../SelectWidget/SelectWidget";
import TextareaWidget from "../TextareaWidget/TextareaWidget";
import TextWidget from "../TextWidget/TextWidget";
import UpDownWidget from "../UpDownWidget/UpDownWidget";
-
+import DateWidget from "../DateWidget/DateWidget";
+import DateTimeWidget from "../DateTimeWidget/DateTimeWidget";
+import EmailWidget from "../EmailWidget/EmailWidget";
+import URLWidget from "../URLWidget/URLWidget";
export default {
CheckboxWidget,
CheckboxesWidget,
+ DateWidget,
+ DateTimeWidget,
PasswordWidget,
+ EmailWidget,
+ URLWidget,
RadioWidget,
RangeWidget,
SelectWidget,
diff --git a/packages/semantic-ui/test/__snapshots__/Array.test.js.snap b/packages/semantic-ui/test/__snapshots__/Array.test.js.snap
index df8969db9a..9f1721e71d 100644
--- a/packages/semantic-ui/test/__snapshots__/Array.test.js.snap
+++ b/packages/semantic-ui/test/__snapshots__/Array.test.js.snap
@@ -40,14 +40,13 @@ exports[`array fields array 1`] = `
-
-
-
+
`;
@@ -64,6 +63,7 @@ exports[`array fields checkboxes 1`] = `
className="field"
>
-
-
-
+
`;
@@ -208,6 +202,7 @@ exports[`array fields fixed array 1`] = `
className="ui fluid input"
>
-
-
-
+
`;
diff --git a/packages/semantic-ui/test/__snapshots__/Form.test.js.snap b/packages/semantic-ui/test/__snapshots__/Form.test.js.snap
index 3728051b95..5dc3de1c99 100644
--- a/packages/semantic-ui/test/__snapshots__/Form.test.js.snap
+++ b/packages/semantic-ui/test/__snapshots__/Form.test.js.snap
@@ -9,14 +9,13 @@ exports[`single fields null field 1`] = `
-
-
-
+
`;
@@ -36,6 +35,7 @@ exports[`single fields number field 1`] = `
className="ui fluid input"
>
-
-
-
+
`;
@@ -82,14 +81,13 @@ exports[`single fields string field format data-url 1`] = `
-
-
-
+
`;
@@ -102,30 +100,33 @@ exports[`single fields string field format email 1`] = `
-
-
-
+
`;
@@ -138,30 +139,33 @@ exports[`single fields string field format uri 1`] = `
-
-
-
+
`;
@@ -181,6 +185,7 @@ exports[`single fields string field regular 1`] = `
className="ui fluid input"
>
-
-
-
+
`;
@@ -237,13 +241,12 @@ exports[`single fields unsupported field 1`] = `
-
-
-
+
`;
diff --git a/packages/semantic-ui/test/__snapshots__/Object.test.js.snap b/packages/semantic-ui/test/__snapshots__/Object.test.js.snap
index 86f8cfd3aa..3b0245e026 100644
--- a/packages/semantic-ui/test/__snapshots__/Object.test.js.snap
+++ b/packages/semantic-ui/test/__snapshots__/Object.test.js.snap
@@ -24,6 +24,7 @@ exports[`object fields object 1`] = `
className="ui fluid input"
>
-
-
-
+
`;