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 () => ( - + `; @@ -64,6 +63,7 @@ exports[`array fields checkboxes 1`] = ` className="field" >
-