Update React to 17 and related packages (#2370)

* Update React to 17

* Update types for React 17

* Update references in useEffect cleanup functions

* Update react-error-boundary

* Update react-inlinesvg

* Update Apollo Client and Upload Link

* Update apollo-upload-client types

* Fix comment about csstypes

* Downgrade apollo-client version due to log-in bug

* Add missing apollo link

* Update package-lock version

* Fix button type

* Fix datagrid test after react update

* Fix polish language letter bug
This commit is contained in:
Dawid 2022-10-24 11:49:11 +02:00 committed by GitHub
parent 4b46b4891c
commit 158188002a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
20 changed files with 432 additions and 358 deletions

5
csstypes.d.ts vendored Normal file
View file

@ -0,0 +1,5 @@
// Workaround. Since there is small difference between loaded package of csstype (React one vs MUI),
// we had to explicitly point which csstype we want to use.
declare module "csstype" {
export * from "node_modules/csstype";
}

File diff suppressed because one or more lines are too long

610
package-lock.json generated
View file

@ -1,6 +1,6 @@
{ {
"name": "saleor-dashboard", "name": "saleor-dashboard",
"version": "3.7.0-dev", "version": "3.8.0-dev",
"lockfileVersion": 1, "lockfileVersion": 1,
"requires": true, "requires": true,
"dependencies": { "dependencies": {
@ -23,94 +23,26 @@
"zen-observable-ts": "~1.1.0" "zen-observable-ts": "~1.1.0"
}, },
"dependencies": { "dependencies": {
"@types/zen-observable": {
"version": "0.8.3",
"resolved": "https://registry.npmjs.org/@types/zen-observable/-/zen-observable-0.8.3.tgz",
"integrity": "sha512-fbF6oTd4sGGy0xjHPKAt+eS2CrxJ3+6gQ3FGcBoIJR2TLAyCkCyI8JqZNy+FeON0AhVgNJoUumVoZQjBFUqHkw=="
},
"@wry/context": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/@wry/context/-/context-0.6.1.tgz",
"integrity": "sha512-LOmVnY1iTU2D8tv4Xf6MVMZZ+juIJ87Kt/plMijjN20NMAXGmH4u8bS1t0uT74cZ5gwpocYueV58YwyI8y+GKw==",
"requires": {
"tslib": "^2.3.0"
}
},
"@wry/equality": {
"version": "0.5.2",
"resolved": "https://registry.npmjs.org/@wry/equality/-/equality-0.5.2.tgz",
"integrity": "sha512-oVMxbUXL48EV/C0/M7gLVsoK6qRHPS85x8zECofEZOVvxGmIPLA9o5Z27cc2PoAyZz1S2VoM2A7FLAnpfGlneA==",
"requires": {
"tslib": "^2.3.0"
}
},
"graphql-tag": { "graphql-tag": {
"version": "2.12.5", "version": "2.12.6",
"resolved": "https://registry.npmjs.org/graphql-tag/-/graphql-tag-2.12.5.tgz", "resolved": "https://registry.npmjs.org/graphql-tag/-/graphql-tag-2.12.6.tgz",
"integrity": "sha512-5xNhP4063d16Pz3HBtKprutsPrmHZi5IdUGOWRxA2B6VF7BIRGOHZ5WQvDmJXZuPcBg7rYwaFxvQYjqkSdR3TQ==", "integrity": "sha512-FdSNcu2QQcWnM2VNvSCCDCVS5PpPqpzgFT8+GXzqJuoDd0CBncxCY278u4mhRO7tMgo2JjgJA5aZ+nWSQ/Z+xg==",
"requires": { "requires": {
"tslib": "^2.1.0" "tslib": "^2.1.0"
} }
}, },
"optimism": {
"version": "0.16.1",
"resolved": "https://registry.npmjs.org/optimism/-/optimism-0.16.1.tgz",
"integrity": "sha512-64i+Uw3otrndfq5kaoGNoY7pvOhSsjFEN4bdEFh80MWVk/dbgJfMv7VFDeCT8LxNAlEVhQmdVEbfE7X2nWNIIg==",
"requires": {
"@wry/context": "^0.6.0",
"@wry/trie": "^0.3.0"
}
},
"symbol-observable": { "symbol-observable": {
"version": "4.0.0", "version": "4.0.0",
"resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-4.0.0.tgz", "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-4.0.0.tgz",
"integrity": "sha512-b19dMThMV4HVFynSAM1++gBHAbk2Tc/osgLIBZMKsyqh34jb2e8Os7T6ZW/Bt3pJFdBTd2JwAnAAEQV7rSNvcQ==" "integrity": "sha512-b19dMThMV4HVFynSAM1++gBHAbk2Tc/osgLIBZMKsyqh34jb2e8Os7T6ZW/Bt3pJFdBTd2JwAnAAEQV7rSNvcQ=="
}, },
"ts-invariant": {
"version": "0.9.3",
"resolved": "https://registry.npmjs.org/ts-invariant/-/ts-invariant-0.9.3.tgz",
"integrity": "sha512-HinBlTbFslQI0OHP07JLsSXPibSegec6r9ai5xxq/qHYCsIQbzpymLpDhAUsnXcSrDEcd0L62L8vsOEdzM0qlA==",
"requires": {
"tslib": "^2.1.0"
}
},
"tslib": { "tslib": {
"version": "2.3.1", "version": "2.4.0",
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
"integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==" "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ=="
},
"zen-observable-ts": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/zen-observable-ts/-/zen-observable-ts-1.1.0.tgz",
"integrity": "sha512-1h4zlLSqI2cRLPJUHJFL8bCWHhkpuXkF+dbGkRaWjgDIG26DmzyshUMrdV/rL3UnR+mhaX4fRq8LPouq0MYYIA==",
"requires": {
"@types/zen-observable": "0.8.3",
"zen-observable": "0.8.15"
}
} }
} }
}, },
"@apollo/react-common": {
"version": "3.1.4",
"resolved": "https://registry.npmjs.org/@apollo/react-common/-/react-common-3.1.4.tgz",
"integrity": "sha512-X5Kyro73bthWSCBJUC5XYQqMnG0dLWuDZmVkzog9dynovhfiVCV4kPSdgSIkqnb++cwCzOVuQ4rDKVwo2XRzQA==",
"dev": true,
"requires": {
"ts-invariant": "^0.4.4",
"tslib": "^1.10.0"
}
},
"@apollo/react-testing": {
"version": "3.1.4",
"resolved": "https://registry.npmjs.org/@apollo/react-testing/-/react-testing-3.1.4.tgz",
"integrity": "sha512-1eKjN36UfIAnBVmfLbl12vQ/eCjTqYdaU95chGIQzT2uHd5BnasJu0z+MwXBrEs57A9WY9mFvLZxdjzQJXaacA==",
"dev": true,
"requires": {
"@apollo/react-common": "^3.1.4",
"fast-json-stable-stringify": "^2.0.0",
"tslib": "^1.10.0"
}
},
"@ardatan/fetch-event-source": { "@ardatan/fetch-event-source": {
"version": "2.0.2", "version": "2.0.2",
"resolved": "https://registry.npmjs.org/@ardatan/fetch-event-source/-/fetch-event-source-2.0.2.tgz", "resolved": "https://registry.npmjs.org/@ardatan/fetch-event-source/-/fetch-event-source-2.0.2.tgz",
@ -4106,9 +4038,9 @@
} }
}, },
"@graphql-typed-document-node/core": { "@graphql-typed-document-node/core": {
"version": "3.1.0", "version": "3.1.1",
"resolved": "https://registry.npmjs.org/@graphql-typed-document-node/core/-/core-3.1.0.tgz", "resolved": "https://registry.npmjs.org/@graphql-typed-document-node/core/-/core-3.1.1.tgz",
"integrity": "sha512-wYn6r8zVZyQJ6rQaALBEln5B1pzxb9shV5Ef97kTvn6yVGrqyXVnDqnU24MXnFubR+rZjBY9NWuxX3FB2sTsjg==" "integrity": "sha512-NQ17ii0rK1b34VZonlmT2QMJFI70m0TRwbknO/ihlbatXyaktDhN/98vBiUU6kNBPljqGqyIrl2T4nY2RpFANg=="
}, },
"@hapi/address": { "@hapi/address": {
"version": "2.1.4", "version": "2.1.4",
@ -5583,6 +5515,17 @@
"integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=",
"dev": true "dev": true
}, },
"react": {
"version": "16.14.0",
"resolved": "https://registry.npmjs.org/react/-/react-16.14.0.tgz",
"integrity": "sha512-0X2CImDkJGApiAlcf0ODKIneSwBPhqJawOa5wCtKbu7ZECrmS26NvtSILynQ66cgkT/RJ4LidJOc3bUESwmU8g==",
"dev": true,
"requires": {
"loose-envify": "^1.1.0",
"object-assign": "^4.1.1",
"prop-types": "^15.6.2"
}
},
"semver": { "semver": {
"version": "6.3.0", "version": "6.3.0",
"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
@ -5689,6 +5632,29 @@
"resolved": "https://registry.npmjs.org/popper.js/-/popper.js-1.16.1.tgz", "resolved": "https://registry.npmjs.org/popper.js/-/popper.js-1.16.1.tgz",
"integrity": "sha512-Wb4p1J4zyFTbM+u6WuO4XstYx4Ky9Cewe4DWrel7B0w6VVICvPwdOpotjzcf6eD8TsckVnIMNONQyPIUFOUbCQ==", "integrity": "sha512-Wb4p1J4zyFTbM+u6WuO4XstYx4Ky9Cewe4DWrel7B0w6VVICvPwdOpotjzcf6eD8TsckVnIMNONQyPIUFOUbCQ==",
"dev": true "dev": true
},
"react": {
"version": "16.14.0",
"resolved": "https://registry.npmjs.org/react/-/react-16.14.0.tgz",
"integrity": "sha512-0X2CImDkJGApiAlcf0ODKIneSwBPhqJawOa5wCtKbu7ZECrmS26NvtSILynQ66cgkT/RJ4LidJOc3bUESwmU8g==",
"dev": true,
"requires": {
"loose-envify": "^1.1.0",
"object-assign": "^4.1.1",
"prop-types": "^15.6.2"
}
},
"react-dom": {
"version": "16.14.0",
"resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.14.0.tgz",
"integrity": "sha512-1gCeQXDLoIqMgqD3IO2Ah9bnf0w9kzhwN5q4FGnHZ67hBm9yePzB5JJAIQCc8x3pFnNlwFq4RidZggNAAkzWWw==",
"dev": true,
"requires": {
"loose-envify": "^1.1.0",
"object-assign": "^4.1.1",
"prop-types": "^15.6.2",
"scheduler": "^0.19.1"
}
} }
} }
}, },
@ -6131,6 +6097,29 @@
"integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=",
"dev": true "dev": true
}, },
"react": {
"version": "16.14.0",
"resolved": "https://registry.npmjs.org/react/-/react-16.14.0.tgz",
"integrity": "sha512-0X2CImDkJGApiAlcf0ODKIneSwBPhqJawOa5wCtKbu7ZECrmS26NvtSILynQ66cgkT/RJ4LidJOc3bUESwmU8g==",
"dev": true,
"requires": {
"loose-envify": "^1.1.0",
"object-assign": "^4.1.1",
"prop-types": "^15.6.2"
}
},
"react-dom": {
"version": "16.14.0",
"resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.14.0.tgz",
"integrity": "sha512-1gCeQXDLoIqMgqD3IO2Ah9bnf0w9kzhwN5q4FGnHZ67hBm9yePzB5JJAIQCc8x3pFnNlwFq4RidZggNAAkzWWw==",
"dev": true,
"requires": {
"loose-envify": "^1.1.0",
"object-assign": "^4.1.1",
"prop-types": "^15.6.2",
"scheduler": "^0.19.1"
}
},
"regenerator-runtime": { "regenerator-runtime": {
"version": "0.13.7", "version": "0.13.7",
"resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz", "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz",
@ -6302,6 +6291,25 @@
"@babel/runtime": "^7.4.2", "@babel/runtime": "^7.4.2",
"@types/react": "^16.8.22", "@types/react": "^16.8.22",
"@types/react-test-renderer": "^16.8.2" "@types/react-test-renderer": "^16.8.2"
},
"dependencies": {
"@types/react": {
"version": "16.14.32",
"resolved": "https://registry.npmjs.org/@types/react/-/react-16.14.32.tgz",
"integrity": "sha512-hvEy4vGVADbtj/U6+CA5SRC5QFIjdxD7JslAie8EuAYZwhYY9bgforpXNyF1VFzhnkEOesDy1278t1wdjN74cw==",
"dev": true,
"requires": {
"@types/prop-types": "*",
"@types/scheduler": "*",
"csstype": "^3.0.2"
}
},
"csstype": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.1.tgz",
"integrity": "sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==",
"dev": true
}
} }
}, },
"@tootallnate/once": { "@tootallnate/once": {
@ -6316,6 +6324,17 @@
"integrity": "sha512-/+CRPXpBDpo2RK9C68N3b2cOvO0Cf5B9aPijHsoDQTHivnGSObdOF2BRQOYjojWTDy6nQvMjmqRXIxH55VjxxA==", "integrity": "sha512-/+CRPXpBDpo2RK9C68N3b2cOvO0Cf5B9aPijHsoDQTHivnGSObdOF2BRQOYjojWTDy6nQvMjmqRXIxH55VjxxA==",
"dev": true "dev": true
}, },
"@types/apollo-upload-client": {
"version": "17.0.0",
"resolved": "https://registry.npmjs.org/@types/apollo-upload-client/-/apollo-upload-client-17.0.0.tgz",
"integrity": "sha512-S1HUj9g+wn0fM29vLsnD87hTW2h2k/ELlTTJ+mUHTnF6oxmm46KkqxrzFPR7u2rQBjjSiKQEaXLqBn76s8bzBg==",
"dev": true,
"requires": {
"@apollo/client": "^3.0.0",
"@types/extract-files": "*",
"graphql": "14 - 16"
}
},
"@types/asap": { "@types/asap": {
"version": "2.0.0", "version": "2.0.0",
"resolved": "https://registry.npmjs.org/@types/asap/-/asap-2.0.0.tgz", "resolved": "https://registry.npmjs.org/@types/asap/-/asap-2.0.0.tgz",
@ -6431,6 +6450,12 @@
"integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==", "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==",
"dev": true "dev": true
}, },
"@types/extract-files": {
"version": "8.1.1",
"resolved": "https://registry.npmjs.org/@types/extract-files/-/extract-files-8.1.1.tgz",
"integrity": "sha512-dMJJqBqyhsfJKuK7p7HyyNmki7qj1AlwhUKWx6KrU7i1K2T2SPsUsSUTWFmr/sEM1q8rfR8j5IyUmYrDbrhfjQ==",
"dev": true
},
"@types/faker": { "@types/faker": {
"version": "5.5.1", "version": "5.5.1",
"resolved": "https://registry.npmjs.org/@types/faker/-/faker-5.5.1.tgz", "resolved": "https://registry.npmjs.org/@types/faker/-/faker-5.5.1.tgz",
@ -6712,9 +6737,9 @@
} }
}, },
"@types/react": { "@types/react": {
"version": "16.14.5", "version": "17.0.50",
"resolved": "https://registry.npmjs.org/@types/react/-/react-16.14.5.tgz", "resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.50.tgz",
"integrity": "sha512-YRRv9DNZhaVTVRh9Wmmit7Y0UFhEVqXqCSw3uazRWMxa2x85hWQZ5BN24i7GXZbaclaLXEcodEeIHsjBA8eAMw==", "integrity": "sha512-ZCBHzpDb5skMnc1zFXAXnL3l1FAdi+xZvwxK+PkglMmBrwjpp9nKaWuEvrGnSifCJmBFGxZOOFuwC6KH/s0NuA==",
"requires": { "requires": {
"@types/prop-types": "*", "@types/prop-types": "*",
"@types/scheduler": "*", "@types/scheduler": "*",
@ -6722,19 +6747,19 @@
}, },
"dependencies": { "dependencies": {
"csstype": { "csstype": {
"version": "3.0.7", "version": "3.1.1",
"resolved": "https://registry.npmjs.org/csstype/-/csstype-3.0.7.tgz", "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.1.tgz",
"integrity": "sha512-KxnUB0ZMlnUWCsx2Z8MUsr6qV6ja1w9ArPErJaJaF8a5SOWoHLIszeCTKGRGRgtLgYrs1E8CHkNSP1VZTTPc9g==" "integrity": "sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw=="
} }
} }
}, },
"@types/react-dom": { "@types/react-dom": {
"version": "16.9.12", "version": "17.0.17",
"resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-16.9.12.tgz", "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-17.0.17.tgz",
"integrity": "sha512-i7NPZZpPte3jtVOoW+eLB7G/jsX5OM6GqQnH+lC0nq0rqwlK0x8WcMEvYDgFWqWhWMlTltTimzdMax6wYfZssA==", "integrity": "sha512-VjnqEmqGnasQKV0CWLevqMTXBYG9GbwuE6x3VetERLh0cq2LTptFE73MrQi2S7GkKXCf2GgwItB/melLnxfnsg==",
"dev": true, "dev": true,
"requires": { "requires": {
"@types/react": "^16" "@types/react": "^17"
} }
}, },
"@types/react-dropzone": { "@types/react-dropzone": {
@ -6849,6 +6874,25 @@
"dev": true, "dev": true,
"requires": { "requires": {
"@types/react": "^16" "@types/react": "^16"
},
"dependencies": {
"@types/react": {
"version": "16.14.32",
"resolved": "https://registry.npmjs.org/@types/react/-/react-16.14.32.tgz",
"integrity": "sha512-hvEy4vGVADbtj/U6+CA5SRC5QFIjdxD7JslAie8EuAYZwhYY9bgforpXNyF1VFzhnkEOesDy1278t1wdjN74cw==",
"dev": true,
"requires": {
"@types/prop-types": "*",
"@types/scheduler": "*",
"csstype": "^3.0.2"
}
},
"csstype": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.1.tgz",
"integrity": "sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==",
"dev": true
}
} }
}, },
"@types/react-textarea-autosize": { "@types/react-textarea-autosize": {
@ -6897,9 +6941,9 @@
} }
}, },
"@types/scheduler": { "@types/scheduler": {
"version": "0.16.1", "version": "0.16.2",
"resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.1.tgz", "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.2.tgz",
"integrity": "sha512-EaCxbanVeyxDRTQBkdLb3Bvl/HK7PBK6UJjsSixB0iHKoWxE5uu2Q/DgtpOhPIojN0Zl1whvOd7PoHs2P0s5eA==" "integrity": "sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew=="
}, },
"@types/semver-compare": { "@types/semver-compare": {
"version": "1.0.1", "version": "1.0.1",
@ -7092,6 +7136,11 @@
"@types/node": "*" "@types/node": "*"
} }
}, },
"@types/zen-observable": {
"version": "0.8.3",
"resolved": "https://registry.npmjs.org/@types/zen-observable/-/zen-observable-0.8.3.tgz",
"integrity": "sha512-fbF6oTd4sGGy0xjHPKAt+eS2CrxJ3+6gQ3FGcBoIJR2TLAyCkCyI8JqZNy+FeON0AhVgNJoUumVoZQjBFUqHkw=="
},
"@typescript-eslint/eslint-plugin": { "@typescript-eslint/eslint-plugin": {
"version": "4.31.0", "version": "4.31.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.31.0.tgz", "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.31.0.tgz",
@ -7728,26 +7777,98 @@
"@xtuc/long": "4.2.2" "@xtuc/long": "4.2.2"
} }
}, },
"@wry/equality": { "@wojtekmaj/enzyme-adapter-react-17": {
"version": "0.1.11", "version": "0.6.7",
"resolved": "https://registry.npmjs.org/@wry/equality/-/equality-0.1.11.tgz", "resolved": "https://registry.npmjs.org/@wojtekmaj/enzyme-adapter-react-17/-/enzyme-adapter-react-17-0.6.7.tgz",
"integrity": "sha512-mwEVBDUVODlsQQ5dfuLUS5/Tf7jqUKyhKYHmVi4fPB6bDMOfWvUPJmKgS1Z7Za/sOI3vzWt4+O7yCiL/70MogA==", "integrity": "sha512-B+byiwi/T1bx5hcj9wc0fUL5Hlb5giSXJzcnEfJVl2j6dGV2NJfcxDBYX0WWwIxlzNiFz8kAvlkFWI2y/nscZQ==",
"dev": true,
"requires": { "requires": {
"tslib": "^1.9.3" "@wojtekmaj/enzyme-adapter-utils": "^0.1.4",
"enzyme-shallow-equal": "^1.0.0",
"has": "^1.0.0",
"prop-types": "^15.7.0",
"react-is": "^17.0.0",
"react-test-renderer": "^17.0.0"
},
"dependencies": {
"react-test-renderer": {
"version": "17.0.2",
"resolved": "https://registry.npmjs.org/react-test-renderer/-/react-test-renderer-17.0.2.tgz",
"integrity": "sha512-yaQ9cB89c17PUb0x6UfWRs7kQCorVdHlutU1boVPEsB8IDZH6n9tHxMacc3y0JoXOJUsZb/t/Mb8FUWMKaM7iQ==",
"dev": true,
"requires": {
"object-assign": "^4.1.1",
"react-is": "^17.0.2",
"react-shallow-renderer": "^16.13.1",
"scheduler": "^0.20.2"
}
},
"scheduler": {
"version": "0.20.2",
"resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.20.2.tgz",
"integrity": "sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ==",
"dev": true,
"requires": {
"loose-envify": "^1.1.0",
"object-assign": "^4.1.1"
}
}
} }
}, },
"@wry/trie": { "@wojtekmaj/enzyme-adapter-utils": {
"version": "0.3.1", "version": "0.1.4",
"resolved": "https://registry.npmjs.org/@wry/trie/-/trie-0.3.1.tgz", "resolved": "https://registry.npmjs.org/@wojtekmaj/enzyme-adapter-utils/-/enzyme-adapter-utils-0.1.4.tgz",
"integrity": "sha512-WwB53ikYudh9pIorgxrkHKrQZcCqNM/Q/bDzZBffEaGUKGuHrRb3zZUT9Sh2qw9yogC7SsdRmQ1ER0pqvd3bfw==", "integrity": "sha512-ARGIQSIIv3oBia1m5Ihn1VU0FGmft6KPe39SBKTb8p7LSXO23YI4kNtc4M/cKoIY7P+IYdrZcgMObvedyjoSQA==",
"dev": true,
"requires": {
"function.prototype.name": "^1.1.0",
"has": "^1.0.0",
"object.fromentries": "^2.0.0",
"prop-types": "^15.7.0"
}
},
"@wry/context": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/@wry/context/-/context-0.6.1.tgz",
"integrity": "sha512-LOmVnY1iTU2D8tv4Xf6MVMZZ+juIJ87Kt/plMijjN20NMAXGmH4u8bS1t0uT74cZ5gwpocYueV58YwyI8y+GKw==",
"requires": { "requires": {
"tslib": "^2.3.0" "tslib": "^2.3.0"
}, },
"dependencies": { "dependencies": {
"tslib": { "tslib": {
"version": "2.3.1", "version": "2.4.0",
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
"integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==" "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ=="
}
}
},
"@wry/equality": {
"version": "0.5.3",
"resolved": "https://registry.npmjs.org/@wry/equality/-/equality-0.5.3.tgz",
"integrity": "sha512-avR+UXdSrsF2v8vIqIgmeTY0UR91UT+IyablCyKe/uk22uOJ8fusKZnH9JH9e1/EtLeNJBtagNmL3eJdnOV53g==",
"requires": {
"tslib": "^2.3.0"
},
"dependencies": {
"tslib": {
"version": "2.4.0",
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
"integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ=="
}
}
},
"@wry/trie": {
"version": "0.3.2",
"resolved": "https://registry.npmjs.org/@wry/trie/-/trie-0.3.2.tgz",
"integrity": "sha512-yRTyhWSls2OY/pYLfwff867r8ekooZ4UI+/gxot5Wj8EFwSf2rG+n+Mo/6LoLQm1TKA4GRj2+LCpbfS937dClQ==",
"requires": {
"tslib": "^2.3.0"
},
"dependencies": {
"tslib": {
"version": "2.4.0",
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
"integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ=="
} }
} }
}, },
@ -7874,31 +7995,6 @@
"symbol.prototype.description": "^1.0.0" "symbol.prototype.description": "^1.0.0"
} }
}, },
"airbnb-prop-types": {
"version": "2.16.0",
"resolved": "https://registry.npmjs.org/airbnb-prop-types/-/airbnb-prop-types-2.16.0.tgz",
"integrity": "sha512-7WHOFolP/6cS96PhKNrslCLMYAI8yB1Pp6u6XmxozQOiZbsI5ycglZr5cHhBFfuRcQQjzCMith5ZPZdYiJCxUg==",
"dev": true,
"requires": {
"array.prototype.find": "^2.1.1",
"function.prototype.name": "^1.1.2",
"is-regex": "^1.1.0",
"object-is": "^1.1.2",
"object.assign": "^4.1.0",
"object.entries": "^1.1.2",
"prop-types": "^15.7.2",
"prop-types-exact": "^1.2.0",
"react-is": "^16.13.1"
},
"dependencies": {
"react-is": {
"version": "16.13.1",
"resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz",
"integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==",
"dev": true
}
}
},
"ajv": { "ajv": {
"version": "6.12.6", "version": "6.12.6",
"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
@ -8134,46 +8230,12 @@
} }
} }
}, },
"apollo-link": {
"version": "1.2.14",
"resolved": "https://registry.npmjs.org/apollo-link/-/apollo-link-1.2.14.tgz",
"integrity": "sha512-p67CMEFP7kOG1JZ0ZkYZwRDa369w5PIjtMjvrQd/HnIV8FRsHRqLqK+oAZQnFa1DDdZtOtHTi+aMIW6EatC2jg==",
"requires": {
"apollo-utilities": "^1.3.0",
"ts-invariant": "^0.4.0",
"tslib": "^1.9.3",
"zen-observable-ts": "^0.8.21"
}
},
"apollo-link-http-common": {
"version": "0.2.16",
"resolved": "https://registry.npmjs.org/apollo-link-http-common/-/apollo-link-http-common-0.2.16.tgz",
"integrity": "sha512-2tIhOIrnaF4UbQHf7kjeQA/EmSorB7+HyJIIrUjJOKBgnXwuexi8aMecRlqTIDWcyVXCeqLhUnztMa6bOH/jTg==",
"requires": {
"apollo-link": "^1.2.14",
"ts-invariant": "^0.4.0",
"tslib": "^1.9.3"
}
},
"apollo-upload-client": { "apollo-upload-client": {
"version": "9.1.0", "version": "17.0.0",
"resolved": "https://registry.npmjs.org/apollo-upload-client/-/apollo-upload-client-9.1.0.tgz", "resolved": "https://registry.npmjs.org/apollo-upload-client/-/apollo-upload-client-17.0.0.tgz",
"integrity": "sha512-ZN5gsbBjImEZTWWTUHpCEGDasnoBGbaODpznQ5EawyNHceuFYSNJbbft+ZZ841vZAcj9XZdKUKoaLBlMZ/r7nw==", "integrity": "sha512-pue33bWVbdlXAGFPkgz53TTmxVMrKeQr0mdRcftNY+PoHIdbGZD0hoaXHvO6OePJAkFz7OiCFUf98p1G/9+Ykw==",
"requires": { "requires": {
"apollo-link": "^1.2.3", "extract-files": "^11.0.0"
"apollo-link-http-common": "^0.2.5",
"extract-files": "^4.0.0"
}
},
"apollo-utilities": {
"version": "1.3.4",
"resolved": "https://registry.npmjs.org/apollo-utilities/-/apollo-utilities-1.3.4.tgz",
"integrity": "sha512-pk2hiWrCXMAy2fRPwEyhvka+mqwzeP60Jr1tRYi5xru+3ko94HI9o6lK0CT33/w4RDlxWchmdhDCrvdr+pHCig==",
"requires": {
"@wry/equality": "^0.1.2",
"fast-json-stable-stringify": "^2.0.0",
"ts-invariant": "^0.4.0",
"tslib": "^1.10.0"
} }
}, },
"app-root-dir": { "app-root-dir": {
@ -8327,16 +8389,6 @@
"integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=",
"dev": true "dev": true
}, },
"array.prototype.find": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/array.prototype.find/-/array.prototype.find-2.1.1.tgz",
"integrity": "sha512-mi+MYNJYLTx2eNYy+Yh6raoQacCsNeeMUaspFPh9Y141lFSsWxxB8V9mM2ye+eqiRs917J6/pJ4M9ZPzenWckA==",
"dev": true,
"requires": {
"define-properties": "^1.1.3",
"es-abstract": "^1.17.4"
}
},
"array.prototype.flat": { "array.prototype.flat": {
"version": "1.2.4", "version": "1.2.4",
"resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.2.4.tgz", "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.2.4.tgz",
@ -13500,60 +13552,6 @@
"string.prototype.trim": "^1.2.1" "string.prototype.trim": "^1.2.1"
} }
}, },
"enzyme-adapter-react-16": {
"version": "1.15.6",
"resolved": "https://registry.npmjs.org/enzyme-adapter-react-16/-/enzyme-adapter-react-16-1.15.6.tgz",
"integrity": "sha512-yFlVJCXh8T+mcQo8M6my9sPgeGzj85HSHi6Apgf1Cvq/7EL/J9+1JoJmJsRxZgyTvPMAqOEpRSu/Ii/ZpyOk0g==",
"dev": true,
"requires": {
"enzyme-adapter-utils": "^1.14.0",
"enzyme-shallow-equal": "^1.0.4",
"has": "^1.0.3",
"object.assign": "^4.1.2",
"object.values": "^1.1.2",
"prop-types": "^15.7.2",
"react-is": "^16.13.1",
"react-test-renderer": "^16.0.0-0",
"semver": "^5.7.0"
},
"dependencies": {
"react-is": {
"version": "16.13.1",
"resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz",
"integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==",
"dev": true
},
"semver": {
"version": "5.7.1",
"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
"integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
"dev": true
}
}
},
"enzyme-adapter-utils": {
"version": "1.14.0",
"resolved": "https://registry.npmjs.org/enzyme-adapter-utils/-/enzyme-adapter-utils-1.14.0.tgz",
"integrity": "sha512-F/z/7SeLt+reKFcb7597IThpDp0bmzcH1E9Oabqv+o01cID2/YInlqHbFl7HzWBl4h3OdZYedtwNDOmSKkk0bg==",
"dev": true,
"requires": {
"airbnb-prop-types": "^2.16.0",
"function.prototype.name": "^1.1.3",
"has": "^1.0.3",
"object.assign": "^4.1.2",
"object.fromentries": "^2.0.3",
"prop-types": "^15.7.2",
"semver": "^5.7.1"
},
"dependencies": {
"semver": {
"version": "5.7.1",
"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
"integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
"dev": true
}
}
},
"enzyme-shallow-equal": { "enzyme-shallow-equal": {
"version": "1.0.4", "version": "1.0.4",
"resolved": "https://registry.npmjs.org/enzyme-shallow-equal/-/enzyme-shallow-equal-1.0.4.tgz", "resolved": "https://registry.npmjs.org/enzyme-shallow-equal/-/enzyme-shallow-equal-1.0.4.tgz",
@ -15326,9 +15324,9 @@
} }
}, },
"extract-files": { "extract-files": {
"version": "4.1.0", "version": "11.0.0",
"resolved": "https://registry.npmjs.org/extract-files/-/extract-files-4.1.0.tgz", "resolved": "https://registry.npmjs.org/extract-files/-/extract-files-11.0.0.tgz",
"integrity": "sha512-2gjdb3dVzr1ie9+K8pupPTnsNkK4qmzbTFOIxghiWoh6nCTajGCGC72ZNYX0nBWy5IOq1FXfRVgvkkLqqE4sdw==" "integrity": "sha512-FuoE1qtbJ4bBVvv94CC7s0oTnKUGvQs+Rjf1L2SJFfS+HTVVjhPFtehPdQ0JiGPqVNfSSZvL5yzHHQq2Z4WNhQ=="
}, },
"extract-zip": { "extract-zip": {
"version": "2.0.1", "version": "2.0.1",
@ -15386,7 +15384,8 @@
"fast-json-stable-stringify": { "fast-json-stable-stringify": {
"version": "2.1.0", "version": "2.1.0",
"resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
"integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
"dev": true
}, },
"fast-levenshtein": { "fast-levenshtein": {
"version": "2.0.6", "version": "2.0.6",
@ -16210,6 +16209,29 @@
"react": "^16.3.0", "react": "^16.3.0",
"react-display-name": "^0.2.0", "react-display-name": "^0.2.0",
"react-dom": "^16.3.0" "react-dom": "^16.3.0"
},
"dependencies": {
"react": {
"version": "16.14.0",
"resolved": "https://registry.npmjs.org/react/-/react-16.14.0.tgz",
"integrity": "sha512-0X2CImDkJGApiAlcf0ODKIneSwBPhqJawOa5wCtKbu7ZECrmS26NvtSILynQ66cgkT/RJ4LidJOc3bUESwmU8g==",
"requires": {
"loose-envify": "^1.1.0",
"object-assign": "^4.1.1",
"prop-types": "^15.6.2"
}
},
"react-dom": {
"version": "16.14.0",
"resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.14.0.tgz",
"integrity": "sha512-1gCeQXDLoIqMgqD3IO2Ah9bnf0w9kzhwN5q4FGnHZ67hBm9yePzB5JJAIQCc8x3pFnNlwFq4RidZggNAAkzWWw==",
"requires": {
"loose-envify": "^1.1.0",
"object-assign": "^4.1.1",
"prop-types": "^15.6.2",
"scheduler": "^0.19.1"
}
}
} }
}, },
"fs-extra": { "fs-extra": {
@ -22736,12 +22758,6 @@
} }
} }
}, },
"mock-apollo-client": {
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/mock-apollo-client/-/mock-apollo-client-0.4.0.tgz",
"integrity": "sha512-cHznpkX8uUClkWWJMpgdDWzEgjacM85xt69S9gPLrssM8Vahas0QmEJkFUycrRQyBkaqxvRe58Bg3a5pOvj2zA==",
"dev": true
},
"mock-fs": { "mock-fs": {
"version": "4.13.0", "version": "4.13.0",
"resolved": "https://registry.npmjs.org/mock-fs/-/mock-fs-4.13.0.tgz", "resolved": "https://registry.npmjs.org/mock-fs/-/mock-fs-4.13.0.tgz",
@ -23493,6 +23509,15 @@
} }
} }
}, },
"optimism": {
"version": "0.16.1",
"resolved": "https://registry.npmjs.org/optimism/-/optimism-0.16.1.tgz",
"integrity": "sha512-64i+Uw3otrndfq5kaoGNoY7pvOhSsjFEN4bdEFh80MWVk/dbgJfMv7VFDeCT8LxNAlEVhQmdVEbfE7X2nWNIIg==",
"requires": {
"@wry/context": "^0.6.0",
"@wry/trie": "^0.3.0"
}
},
"optionator": { "optionator": {
"version": "0.8.3", "version": "0.8.3",
"resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz",
@ -24704,17 +24729,6 @@
} }
} }
}, },
"prop-types-exact": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/prop-types-exact/-/prop-types-exact-1.2.0.tgz",
"integrity": "sha512-K+Tk3Kd9V0odiXFP9fwDHUYRyvK3Nun3GVyPapSIs5OBkITAm15W0CPFD/YKTkMUAbc0b9CUwRQp2ybiBIq+eA==",
"dev": true,
"requires": {
"has": "^1.0.3",
"object.assign": "^4.1.0",
"reflect.ownkeys": "^0.2.0"
}
},
"propagate": { "propagate": {
"version": "2.0.1", "version": "2.0.1",
"resolved": "https://registry.npmjs.org/propagate/-/propagate-2.0.1.tgz", "resolved": "https://registry.npmjs.org/propagate/-/propagate-2.0.1.tgz",
@ -25011,13 +25025,12 @@
} }
}, },
"react": { "react": {
"version": "16.14.0", "version": "17.0.2",
"resolved": "https://registry.npmjs.org/react/-/react-16.14.0.tgz", "resolved": "https://registry.npmjs.org/react/-/react-17.0.2.tgz",
"integrity": "sha512-0X2CImDkJGApiAlcf0ODKIneSwBPhqJawOa5wCtKbu7ZECrmS26NvtSILynQ66cgkT/RJ4LidJOc3bUESwmU8g==", "integrity": "sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA==",
"requires": { "requires": {
"loose-envify": "^1.1.0", "loose-envify": "^1.1.0",
"object-assign": "^4.1.1", "object-assign": "^4.1.1"
"prop-types": "^15.6.2"
} }
}, },
"react-clientside-effect": { "react-clientside-effect": {
@ -25545,14 +25558,24 @@
} }
}, },
"react-dom": { "react-dom": {
"version": "16.14.0", "version": "17.0.2",
"resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.14.0.tgz", "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-17.0.2.tgz",
"integrity": "sha512-1gCeQXDLoIqMgqD3IO2Ah9bnf0w9kzhwN5q4FGnHZ67hBm9yePzB5JJAIQCc8x3pFnNlwFq4RidZggNAAkzWWw==", "integrity": "sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA==",
"requires": { "requires": {
"loose-envify": "^1.1.0", "loose-envify": "^1.1.0",
"object-assign": "^4.1.1", "object-assign": "^4.1.1",
"prop-types": "^15.6.2", "scheduler": "^0.20.2"
"scheduler": "^0.19.1" },
"dependencies": {
"scheduler": {
"version": "0.20.2",
"resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.20.2.tgz",
"integrity": "sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ==",
"requires": {
"loose-envify": "^1.1.0",
"object-assign": "^4.1.1"
}
}
} }
}, },
"react-draggable": { "react-draggable": {
@ -25609,9 +25632,12 @@
} }
}, },
"react-error-boundary": { "react-error-boundary": {
"version": "1.2.5", "version": "3.1.4",
"resolved": "https://registry.npmjs.org/react-error-boundary/-/react-error-boundary-1.2.5.tgz", "resolved": "https://registry.npmjs.org/react-error-boundary/-/react-error-boundary-3.1.4.tgz",
"integrity": "sha512-5CPSeLJA2igJNppAgFRwnTL9aK3ojenk65enNzhVyoxYNbHpIJXnChUO7+4vPhkncRA9wvQMXq6Azp2XeXd+iQ==" "integrity": "sha512-uM9uPzZJTF6wRQORmSrvOIgt4lJ9MC1sNgEOj2XGsDTRE4kmpWxg7ENK9EWNKJRMAOY9z0MuF4yIfl6gp4sotA==",
"requires": {
"@babel/runtime": "^7.12.5"
}
}, },
"react-error-overlay": { "react-error-overlay": {
"version": "6.0.9", "version": "6.0.9",
@ -25705,19 +25731,12 @@
} }
}, },
"react-inlinesvg": { "react-inlinesvg": {
"version": "2.2.2", "version": "3.0.1",
"resolved": "https://registry.npmjs.org/react-inlinesvg/-/react-inlinesvg-2.2.2.tgz", "resolved": "https://registry.npmjs.org/react-inlinesvg/-/react-inlinesvg-3.0.1.tgz",
"integrity": "sha512-5uXTB0yL9LiRLbN5FhTnL1IK9mLg93kspY2HnKUftzoJDEqZrlscuZxzXStbMBZpNyO359U7QDspM3AqUYUrog==", "integrity": "sha512-cBfoyfseNI2PkDA7ZKIlDoHq0eMfpoC3DhKBQNC+/X1M4ZQB+aXW+YiNPUDDDKXUsGDUIZWWiZWNFeauDIVdoA==",
"requires": { "requires": {
"exenv": "^1.2.2", "exenv": "^1.2.2",
"react-from-dom": "^0.5.1" "react-from-dom": "^0.6.2"
},
"dependencies": {
"react-from-dom": {
"version": "0.5.1",
"resolved": "https://registry.npmjs.org/react-from-dom/-/react-from-dom-0.5.1.tgz",
"integrity": "sha512-ki6OGVgSjDCF0Gt4SMl2cUNBA9ZB8g59bwv9ZiSEXQ37Cw9ZGY0s7EgfPFQYDvaiVx22jto7/dYgQeS+Qw1Mfw=="
}
} }
}, },
"react-intl": { "react-intl": {
@ -25916,6 +25935,16 @@
"tiny-warning": "^1.0.0" "tiny-warning": "^1.0.0"
} }
}, },
"react-shallow-renderer": {
"version": "16.15.0",
"resolved": "https://registry.npmjs.org/react-shallow-renderer/-/react-shallow-renderer-16.15.0.tgz",
"integrity": "sha512-oScf2FqQ9LFVQgA73vr86xl2NaOIX73rh+YFqcOp68CWj56tSfgtGKrEbyhCj0rSijyG9M1CYprTh39fBi5hzA==",
"dev": true,
"requires": {
"object-assign": "^4.1.1",
"react-is": "^16.12.0 || ^17.0.0 || ^18.0.0"
}
},
"react-sizeme": { "react-sizeme": {
"version": "2.6.12", "version": "2.6.12",
"resolved": "https://registry.npmjs.org/react-sizeme/-/react-sizeme-2.6.12.tgz", "resolved": "https://registry.npmjs.org/react-sizeme/-/react-sizeme-2.6.12.tgz",
@ -26351,12 +26380,6 @@
"symbol-observable": "^1.2.0" "symbol-observable": "^1.2.0"
} }
}, },
"reflect.ownkeys": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/reflect.ownkeys/-/reflect.ownkeys-0.2.0.tgz",
"integrity": "sha1-dJrO7H8/34tj+SegSAnpDFwLNGA=",
"dev": true
},
"refractor": { "refractor": {
"version": "2.10.1", "version": "2.10.1",
"resolved": "https://registry.npmjs.org/refractor/-/refractor-2.10.1.tgz", "resolved": "https://registry.npmjs.org/refractor/-/refractor-2.10.1.tgz",
@ -30237,11 +30260,18 @@
"dev": true "dev": true
}, },
"ts-invariant": { "ts-invariant": {
"version": "0.4.4", "version": "0.9.4",
"resolved": "https://registry.npmjs.org/ts-invariant/-/ts-invariant-0.4.4.tgz", "resolved": "https://registry.npmjs.org/ts-invariant/-/ts-invariant-0.9.4.tgz",
"integrity": "sha512-uEtWkFM/sdZvRNNDL3Ehu4WVpwaulhwQszV8mrtcdeE8nN00BV9mAmQ88RkrBhFgl9gMgvjJLAQcZbnPXI9mlA==", "integrity": "sha512-63jtX/ZSwnUNi/WhXjnK8kz4cHHpYS60AnmA6ixz17l7E12a5puCWFlNpkne5Rl0J8TBPVHpGjsj4fxs8ObVLQ==",
"requires": { "requires": {
"tslib": "^1.9.3" "tslib": "^2.1.0"
},
"dependencies": {
"tslib": {
"version": "2.4.0",
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
"integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ=="
}
} }
}, },
"ts-jest": { "ts-jest": {
@ -32852,12 +32882,12 @@
"integrity": "sha512-PQ2PC7R9rslx84ndNBZB/Dkv8V8fZEpk83RLgXtYd0fwUgEjseMn1Dgajh2x6S8QbZAFa9p2qVCEuYZNgve0dQ==" "integrity": "sha512-PQ2PC7R9rslx84ndNBZB/Dkv8V8fZEpk83RLgXtYd0fwUgEjseMn1Dgajh2x6S8QbZAFa9p2qVCEuYZNgve0dQ=="
}, },
"zen-observable-ts": { "zen-observable-ts": {
"version": "0.8.21", "version": "1.1.0",
"resolved": "https://registry.npmjs.org/zen-observable-ts/-/zen-observable-ts-0.8.21.tgz", "resolved": "https://registry.npmjs.org/zen-observable-ts/-/zen-observable-ts-1.1.0.tgz",
"integrity": "sha512-Yj3yXweRc8LdRMrCC8nIc4kkjWecPAUVh0TI0OUrWXx6aX790vLcDlWca6I4vsyCGH3LpWxq0dJRcMOFoVqmeg==", "integrity": "sha512-1h4zlLSqI2cRLPJUHJFL8bCWHhkpuXkF+dbGkRaWjgDIG26DmzyshUMrdV/rL3UnR+mhaX4fRq8LPouq0MYYIA==",
"requires": { "requires": {
"tslib": "^1.9.3", "@types/zen-observable": "0.8.3",
"zen-observable": "^0.8.0" "zen-observable": "0.8.15"
} }
} }
} }

View file

@ -17,7 +17,7 @@
"npm": ">=6.11.0 <7" "npm": ">=6.11.0 <7"
}, },
"dependencies": { "dependencies": {
"@apollo/client": "^3.4.15", "@apollo/client": "3.4.15",
"@editorjs/editorjs": "^2.24.3", "@editorjs/editorjs": "^2.24.3",
"@editorjs/header": "^2.6.2", "@editorjs/header": "^2.6.2",
"@editorjs/image": "^2.6.2", "@editorjs/image": "^2.6.2",
@ -37,7 +37,7 @@
"@uiw/react-color-hue": "0.0.34", "@uiw/react-color-hue": "0.0.34",
"@uiw/react-color-material": "^0.1.0", "@uiw/react-color-material": "^0.1.0",
"@uiw/react-color-saturation": "0.0.34", "@uiw/react-color-saturation": "0.0.34",
"apollo-upload-client": "^9.1.0", "apollo-upload-client": "^17.0.0",
"classnames": "^2.2.6", "classnames": "^2.2.6",
"color-convert": "^2.0.1", "color-convert": "^2.0.1",
"crc-32": "^1.2.0", "crc-32": "^1.2.0",
@ -61,16 +61,16 @@
"marked": "^4.0.17", "marked": "^4.0.17",
"moment-timezone": "^0.5.32", "moment-timezone": "^0.5.32",
"qs": "^6.9.0", "qs": "^6.9.0",
"react": "^16.12.0", "react": "^17.0.2",
"react-dom": "^16.9.0", "react-dom": "^17.0.2",
"react-draggable": "^4.4.5", "react-draggable": "^4.4.5",
"react-dropzone": "^11.2.4", "react-dropzone": "^11.2.4",
"react-editor-js": "^2.0.6", "react-editor-js": "^2.0.6",
"react-error-boundary": "^1.2.5", "react-error-boundary": "^3.1.4",
"react-gtm-module": "^2.0.11", "react-gtm-module": "^2.0.11",
"react-helmet": "^6.1.0", "react-helmet": "^6.1.0",
"react-infinite-scroll-component": "^6.1.0", "react-infinite-scroll-component": "^6.1.0",
"react-inlinesvg": "^2.1.1", "react-inlinesvg": "^3.0.1",
"react-intl": "^5.21.2", "react-intl": "^5.21.2",
"react-jss": "^10.0.0", "react-jss": "^10.0.0",
"react-markdown": "^4.3.1", "react-markdown": "^4.3.1",
@ -86,7 +86,6 @@
"use-react-router": "^1.0.7" "use-react-router": "^1.0.7"
}, },
"devDependencies": { "devDependencies": {
"@apollo/react-testing": "^3.1.4",
"@babel/cli": "^7.5.5", "@babel/cli": "^7.5.5",
"@babel/core": "^7.7.7", "@babel/core": "^7.7.7",
"@babel/plugin-proposal-class-properties": "^7.5.0", "@babel/plugin-proposal-class-properties": "^7.5.0",
@ -119,6 +118,7 @@
"@storybook/addon-storyshots": "^5.2.8", "@storybook/addon-storyshots": "^5.2.8",
"@storybook/react": "^5.1.9", "@storybook/react": "^5.1.9",
"@testing-library/react-hooks": "^1.1.0", "@testing-library/react-hooks": "^1.1.0",
"@types/apollo-upload-client": "^17.0.0",
"@types/classnames": "^2.2.9", "@types/classnames": "^2.2.9",
"@types/color-convert": "^2.0.0", "@types/color-convert": "^2.0.0",
"@types/enzyme": "^3.10.8", "@types/enzyme": "^3.10.8",
@ -128,8 +128,8 @@
"@types/lodash-es": "^4.17.3", "@types/lodash-es": "^4.17.3",
"@types/pollyjs__adapter-node-http": "^2.0.1", "@types/pollyjs__adapter-node-http": "^2.0.1",
"@types/pollyjs__persister-fs": "^2.0.1", "@types/pollyjs__persister-fs": "^2.0.1",
"@types/react": "^16.9.16", "@types/react": "^17.0.50",
"@types/react-dom": "^16.8.5", "@types/react-dom": "^17.0.17",
"@types/react-dropzone": "^4.2.2", "@types/react-dropzone": "^4.2.2",
"@types/react-helmet": "^5.0.8", "@types/react-helmet": "^5.0.8",
"@types/react-infinite-scroller": "^1.2.1", "@types/react-infinite-scroller": "^1.2.1",
@ -145,6 +145,7 @@
"@types/webappsec-credential-management": "^0.5.1", "@types/webappsec-credential-management": "^0.5.1",
"@typescript-eslint/eslint-plugin": "^4.16.1", "@typescript-eslint/eslint-plugin": "^4.16.1",
"@typescript-eslint/parser": "^4.16.1", "@typescript-eslint/parser": "^4.16.1",
"@wojtekmaj/enzyme-adapter-react-17": "^0.6.7",
"babel-core": "^7.0.0-bridge.0", "babel-core": "^7.0.0-bridge.0",
"babel-jest": "^23.6.0", "babel-jest": "^23.6.0",
"babel-loader": "^8.0.6", "babel-loader": "^8.0.6",
@ -157,7 +158,6 @@
"cypress-timings": "^1.0.0", "cypress-timings": "^1.0.0",
"dotenv": "^10.0.0", "dotenv": "^10.0.0",
"enzyme": "^3.11.0", "enzyme": "^3.11.0",
"enzyme-adapter-react-16": "^1.15.5",
"enzyme-to-json": "^3.6.1", "enzyme-to-json": "^3.6.1",
"esbuild-loader": "^2.18.0", "esbuild-loader": "^2.18.0",
"eslint": "^7.4.0", "eslint": "^7.4.0",
@ -186,7 +186,6 @@
"mochawesome": "^7.0.1", "mochawesome": "^7.0.1",
"mochawesome-merge": "^4.2.1", "mochawesome-merge": "^4.2.1",
"mochawesome-report-generator": "^6.0.1", "mochawesome-report-generator": "^6.0.1",
"mock-apollo-client": "^0.4.0",
"prettier": "^1.19.1", "prettier": "^1.19.1",
"react-test-renderer": "^16.12.0", "react-test-renderer": "^16.12.0",
"regenerator-runtime": "^0.11.1", "regenerator-runtime": "^0.11.1",

View file

@ -1,4 +1,4 @@
import { MockedResponse } from "@apollo/react-testing"; import { MockedResponse } from "@apollo/client/testing";
import { extensionList } from "./queries"; import { extensionList } from "./queries";

View file

@ -1,7 +1,6 @@
import { LinearProgress, useMediaQuery } from "@material-ui/core"; import { LinearProgress, useMediaQuery } from "@material-ui/core";
import { useUser } from "@saleor/auth"; import { useUser } from "@saleor/auth";
import useAppState from "@saleor/hooks/useAppState"; import useAppState from "@saleor/hooks/useAppState";
import useNavigator from "@saleor/hooks/useNavigator";
import { import {
makeStyles, makeStyles,
SaleorTheme, SaleorTheme,
@ -18,7 +17,6 @@ import { useIntl } from "react-intl";
import useRouter from "use-react-router"; import useRouter from "use-react-router";
import Container from "../Container"; import Container from "../Container";
import ErrorPage from "../ErrorPage";
import Navigator from "../Navigator"; import Navigator from "../Navigator";
import NavigatorButton from "../NavigatorButton/NavigatorButton"; import NavigatorButton from "../NavigatorButton/NavigatorButton";
import UserChip from "../UserChip"; import UserChip from "../UserChip";
@ -132,9 +130,8 @@ const AppLayout: React.FC<AppLayoutProps> = ({
const { anchor: appActionAnchor } = useActionBar(); const { anchor: appActionAnchor } = useActionBar();
const appHeaderAnchor = useBacklink(); const appHeaderAnchor = useBacklink();
const { logout, user } = useUser(); const { logout, user } = useUser();
const navigate = useNavigator();
const intl = useIntl(); const intl = useIntl();
const [appState, dispatchAppState] = useAppState(); const [appState] = useAppState();
const { location } = useRouter(); const { location } = useRouter();
const [isNavigatorVisible, setNavigatorVisibility] = React.useState(false); const [isNavigatorVisible, setNavigatorVisibility] = React.useState(false);
const isMdUp = useMediaQuery((theme: SaleorTheme) => const isMdUp = useMediaQuery((theme: SaleorTheme) =>
@ -152,21 +149,6 @@ const AppLayout: React.FC<AppLayoutProps> = ({
isMenuActive(location.pathname, menuItem), isMenuActive(location.pathname, menuItem),
)?.id; )?.id;
const reloadWindow = () => {
window.location.reload();
};
const handleErrorBack = () => {
navigate("/", { replace: true });
dispatchAppState({
payload: {
error: null,
},
type: "displayError",
});
reloadWindow();
};
const toggleTheme = () => setTheme(isDarkTheme(themeType) ? "light" : "dark"); const toggleTheme = () => setTheme(isDarkTheme(themeType) ? "light" : "dark");
return ( return (
@ -234,15 +216,7 @@ const AppLayout: React.FC<AppLayoutProps> = ({
[classes.viewMargins]: !fullSize, [classes.viewMargins]: !fullSize,
})} })}
> >
{appState.error {children}
? appState.error.type === "unhandled" && (
<ErrorPage
id={appState.error.id}
onBack={handleErrorBack}
onRefresh={() => window.location.reload()}
/>
)
: children}
</main> </main>
</div> </div>
<div className={classes.appAction} ref={appActionAnchor} /> <div className={classes.appAction} ref={appActionAnchor} />

View file

@ -26,7 +26,7 @@ export interface ColumnPickerProps
defaultColumns: string[]; defaultColumns: string[];
initialColumns: Choice[]; initialColumns: Choice[];
initialOpen?: boolean; initialOpen?: boolean;
IconButtonProps?: IconButtonProps; IconButtonProps?: Omit<IconButtonProps, "ref">;
query: string; query: string;
onSave: (columns: string[]) => void; onSave: (columns: string[]) => void;
} }

View file

@ -1,5 +1,7 @@
import notFoundImage from "@assets/images/what.svg"; import notFoundImage from "@assets/images/what.svg";
import { Typography } from "@material-ui/core"; import { Typography } from "@material-ui/core";
import useAppState from "@saleor/hooks/useAppState";
import useNavigator from "@saleor/hooks/useNavigator";
import { Button } from "@saleor/macaw-ui"; import { Button } from "@saleor/macaw-ui";
import React from "react"; import React from "react";
import SVG from "react-inlinesvg"; import SVG from "react-inlinesvg";
@ -9,13 +11,28 @@ import messages from "./messages";
import useStyles from "./styles"; import useStyles from "./styles";
export interface ErrorPageProps { export interface ErrorPageProps {
id?: string | null;
onBack: () => void; onBack: () => void;
onRefresh: () => void; onRefresh: () => void;
} }
const ErrorPage: React.FC<ErrorPageProps> = ({ onBack, onRefresh, id }) => { const ErrorPage: React.FC<ErrorPageProps> = ({ onBack, onRefresh }) => {
const classes = useStyles(); const classes = useStyles();
const navigate = useNavigator();
const [appState, dispatchAppState] = useAppState();
const handleOnBack = () => {
navigate("/", { replace: true });
dispatchAppState({
payload: {
error: null,
},
type: "displayError",
});
onBack();
};
const errorTrackingId =
appState.error?.type === "unhandled" ? appState.error.id : null;
return ( return (
<div className={classes.root}> <div className={classes.root}>
@ -29,7 +46,7 @@ const ErrorPage: React.FC<ErrorPageProps> = ({ onBack, onRefresh, id }) => {
<Typography> <Typography>
<FormattedMessage {...messages.content} /> <FormattedMessage {...messages.content} />
</Typography> </Typography>
{!!id && ( {!!errorTrackingId && (
<div> <div>
<Typography <Typography
variant="caption" variant="caption"
@ -38,12 +55,12 @@ const ErrorPage: React.FC<ErrorPageProps> = ({ onBack, onRefresh, id }) => {
> >
Error ID Error ID
</Typography> </Typography>
<Typography variant="body1">{id}</Typography> <Typography variant="body1">{errorTrackingId}</Typography>
</div> </div>
)} )}
</div> </div>
<div className={classes.buttonContainer}> <div className={classes.buttonContainer}>
<Button variant="primary" onClick={onBack}> <Button variant="primary" onClick={handleOnBack}>
<FormattedMessage {...messages.btnDashboard} /> <FormattedMessage {...messages.btnDashboard} />
</Button> </Button>
<div className={classes.conjunction}> <div className={classes.conjunction}>

View file

@ -1,7 +1,7 @@
import useForm from "@saleor/hooks/useForm"; import useForm from "@saleor/hooks/useForm";
import Wrapper from "@test/wrapper"; import Wrapper from "@test/wrapper";
import Adapter from "@wojtekmaj/enzyme-adapter-react-17";
import { configure, mount } from "enzyme"; import { configure, mount } from "enzyme";
import Adapter from "enzyme-adapter-react-16";
import React from "react"; import React from "react";
import { props } from "./fixtures"; import { props } from "./fixtures";

View file

@ -41,7 +41,7 @@ const MetadataCard: React.FC<MetadataCardProps> = ({
const intl = useIntl(); const intl = useIntl();
const loaded = React.useRef(false); const loaded = React.useRef(false);
const [expanded, setExpanded] = React.useState(true); const [expanded, setExpanded] = React.useState(true);
const classes = useStyles({}); const classes = useStyles();
useEffect(() => { useEffect(() => {
if (data !== undefined) { if (data !== undefined) {

View file

@ -66,12 +66,15 @@ function useQuickSearch(
useEffect(() => { useEffect(() => {
setQuery(""); setQuery("");
const inputInstance = input.current;
if (mode !== "default" && input.current) { if (mode !== "default" && input.current) {
input.current.addEventListener("keyup", handleBack); inputInstance.addEventListener("keyup", handleBack);
return () => { return () => {
if (input.current) { if (inputInstance) {
input.current.removeEventListener("keyup", handleBack); inputInstance.removeEventListener("keyup", handleBack);
} }
}; };
} }

View file

@ -42,7 +42,7 @@ export interface AvatarProps {
thumbnail?: string; thumbnail?: string;
alignRight?: boolean; alignRight?: boolean;
avatarProps?: string; avatarProps?: string;
children?: React.ReactNode | React.ReactNodeArray; children?: React.ReactNode | React.ReactNode[];
badge?: React.ReactNode; badge?: React.ReactNode;
} }

View file

@ -19,7 +19,9 @@ const useStyles = makeStyles(
{ name: "TableCellAvatar" }, { name: "TableCellAvatar" },
); );
interface TableCellAvatarProps extends AvatarProps, TableCellProps { interface TableCellAvatarProps
extends TableCellProps,
Omit<AvatarProps, "children"> {
className?: string; className?: string;
} }

View file

@ -6,7 +6,7 @@ import ControlledCheckbox from "../ControlledCheckbox";
import { useTypeDeleteWarningDialogStyles as useStyles } from "./styles"; import { useTypeDeleteWarningDialogStyles as useStyles } from "./styles";
interface DeleteWarningDialogConsentContentProps { interface DeleteWarningDialogConsentContentProps {
description: string | React.ReactNode[]; description: string | React.ReactNode[] | readonly React.ReactNode[];
consentLabel: string; consentLabel: string;
isConsentChecked: boolean; isConsentChecked: boolean;
onConsentChange: (value: boolean) => void; onConsentChange: (value: boolean) => void;

View file

@ -1,7 +1,6 @@
// DON'T TOUCH THIS // DON'T TOUCH THIS
// These are separate clients and do not share configs between themselves // These are separate clients and do not share configs between themselves
import { ApolloClient, InMemoryCache } from "@apollo/client"; import { ApolloClient, ApolloLink, InMemoryCache } from "@apollo/client";
import { ApolloLink } from "@apollo/client/link/core";
import { createFetch, createSaleorClient } from "@saleor/sdk"; import { createFetch, createSaleorClient } from "@saleor/sdk";
import { createUploadLink } from "apollo-upload-client"; import { createUploadLink } from "apollo-upload-client";

View file

@ -28,16 +28,18 @@ function useElementScroll(anchor: MutableRefObject<HTMLElement>): Position {
const [scroll, setScroll] = useState(getPosition(anchor.current)); const [scroll, setScroll] = useState(getPosition(anchor.current));
useEffect(() => { useEffect(() => {
if (!!anchor.current) { const anchorInstance = anchor.current;
if (!!anchorInstance) {
const handleScroll = throttle( const handleScroll = throttle(
() => setScroll(getPosition(anchor.current)), () => setScroll(getPosition(anchorInstance)),
100, 100,
); );
anchor.current.addEventListener("scroll", handleScroll); anchorInstance.addEventListener("scroll", handleScroll);
return () => { return () => {
if (!!anchor.current) { if (!!anchorInstance) {
anchor.current.removeEventListener("scroll", handleScroll); anchorInstance.removeEventListener("scroll", handleScroll);
} }
}; };
} }

View file

@ -6,7 +6,7 @@ import { ThemeProvider } from "@saleor/macaw-ui";
import { SaleorProvider } from "@saleor/sdk"; import { SaleorProvider } from "@saleor/sdk";
import React from "react"; import React from "react";
import { render } from "react-dom"; import { render } from "react-dom";
import ErrorBoundary from "react-error-boundary"; import { ErrorBoundary } from "react-error-boundary";
import TagManager from "react-gtm-module"; import TagManager from "react-gtm-module";
import { useIntl } from "react-intl"; import { useIntl } from "react-intl";
import { BrowserRouter, Route, Switch } from "react-router-dom"; import { BrowserRouter, Route, Switch } from "react-router-dom";
@ -30,6 +30,7 @@ import useAppChannel, {
AppChannelProvider, AppChannelProvider,
} from "./components/AppLayout/AppChannelContext"; } from "./components/AppLayout/AppChannelContext";
import { DateProvider } from "./components/Date"; import { DateProvider } from "./components/Date";
import ErrorPage from "./components/ErrorPage";
import ExitFormDialogProvider from "./components/Form/ExitFormDialogProvider"; import ExitFormDialogProvider from "./components/Form/ExitFormDialogProvider";
import { LocaleProvider } from "./components/Locale"; import { LocaleProvider } from "./components/Locale";
import MessageManagerProvider from "./components/messages"; import MessageManagerProvider from "./components/messages";
@ -143,6 +144,12 @@ const Routes: React.FC = () => {
type: "displayError", type: "displayError",
}); });
}} }}
fallbackRender={({ resetErrorBoundary }) => (
<ErrorPage
onBack={resetErrorBoundary}
onRefresh={() => window.location.reload()}
/>
)}
> >
<Switch> <Switch>
<SectionRoute exact path="/" component={HomePage} /> <SectionRoute exact path="/" component={HomePage} />

View file

@ -14,7 +14,7 @@ import ProductUpdatePage, { ProductUpdatePageProps } from "./ProductUpdatePage";
const product = productFixture(placeholderImage); const product = productFixture(placeholderImage);
import * as _useNavigator from "@saleor/hooks/useNavigator"; import * as _useNavigator from "@saleor/hooks/useNavigator";
import Adapter from "enzyme-adapter-react-16"; import Adapter from "@wojtekmaj/enzyme-adapter-react-17";
import { act } from "react-dom/test-utils"; import { act } from "react-dom/test-utils";
import { MemoryRouter } from "react-router-dom"; import { MemoryRouter } from "react-router-dom";
@ -24,7 +24,17 @@ const onSubmit = jest.fn();
const useNavigator = jest.spyOn(_useNavigator, "default"); const useNavigator = jest.spyOn(_useNavigator, "default");
jest.mock("@saleor/components/RichTextEditor/RichTextEditor"); jest.mock("@saleor/components/RichTextEditor/RichTextEditor");
jest.mock("@saleor/utils/richText/useRichText"); jest.mock("@saleor/utils/richText/useRichText");
jest.mock("@glideapps/glide-data-grid"); /**
* Mocking glide library. We do want to test only if page renders, grid itself has dedicated tests.
*/
jest.mock("@glideapps/glide-data-grid", () => {
const { forwardRef } = jest.requireActual("react");
return {
...jest.requireActual("@glideapps/glide-data-grid"),
__esModule: true,
default: forwardRef((_: any, ref: any) => <div ref={ref} />),
};
});
(global as any).document.createRange = () => ({ (global as any).document.createRange = () => ({
// eslint-disable-next-line // eslint-disable-next-line

View file

@ -1,8 +1,8 @@
import createGenerateClassName from "@material-ui/styles/createGenerateClassName"; import createGenerateClassName from "@material-ui/styles/createGenerateClassName";
import initStoryshots from "@storybook/addon-storyshots"; import initStoryshots from "@storybook/addon-storyshots";
import Adapter from "@wojtekmaj/enzyme-adapter-react-17";
// tslint:disable no-submodule-imports // tslint:disable no-submodule-imports
import { configure, render } from "enzyme"; import { configure, render } from "enzyme";
import Adapter from "enzyme-adapter-react-16";
import toJSON from "enzyme-to-json"; import toJSON from "enzyme-to-json";
import { mockRandomForEach } from "jest-mock-random"; import { mockRandomForEach } from "jest-mock-random";
import React from "react"; import React from "react";

View file

@ -1,9 +1,29 @@
import ErrorPage, { ErrorPageProps } from "@saleor/components/ErrorPage"; import ErrorPage, { ErrorPageProps } from "@saleor/components/ErrorPage";
import {
AppStateContext,
AppStateContextType,
} from "@saleor/containers/AppState";
import { initialAppState } from "@saleor/containers/AppState/state";
import { storiesOf } from "@storybook/react"; import { storiesOf } from "@storybook/react";
import React from "react"; import React from "react";
import Decorator from "../../Decorator"; import Decorator from "../../Decorator";
const initialAppStateFixture: AppStateContextType = [
initialAppState,
() => undefined,
];
const errorAppStateFixture: AppStateContextType = [
{
error: {
id: "LS5E4RahA4Dc+mNICEUKXPaVkOR1ChT=",
type: "unhandled",
},
loading: false,
},
() => undefined,
];
const props: Omit<ErrorPageProps, "classes"> = { const props: Omit<ErrorPageProps, "classes"> = {
onBack: () => undefined, onBack: () => undefined,
onRefresh: () => undefined, onRefresh: () => undefined,
@ -11,7 +31,13 @@ const props: Omit<ErrorPageProps, "classes"> = {
storiesOf("Views / Error page", module) storiesOf("Views / Error page", module)
.addDecorator(Decorator) .addDecorator(Decorator)
.add("default", () => <ErrorPage {...props} />) .add("default", () => (
<AppStateContext.Provider value={initialAppStateFixture}>
<ErrorPage {...props} />
</AppStateContext.Provider>
))
.add("with error id", () => ( .add("with error id", () => (
<ErrorPage {...props} id="LS5E4RahA4Dc+mNICEUKXPaVkOR1ChT=" /> <AppStateContext.Provider value={errorAppStateFixture}>
<ErrorPage {...props} />
</AppStateContext.Provider>
)); ));